# Lesson_03_loops_flow_control_exceptions

### Python Training - Lesson 3 - loops, flow control and exceptions

Now that we have seen some basics in action, let's summarize what we should already know by this point:

• types and their methods
• classes and objects
• simple condition checks with "if"
• using imported libraries

## Theory level 2

In this lesson, we will do some more elaborate exercises, that need more than simple conditions and looping over a collection.

We will use the following constructs:

## Example interview task - "FizzBuzz"

Count from 0 to 100. Every three repetitions, print "Fizz". Every five repetitions, print "Buzz". When both of them should be printed, print "FizzBuzz".

### Breaking it down

Every 3 loop passes - print "Fizz" Every 5 loop passes - print "Buzz" Every 15 loop passes - print "FizzBuzz"

#### How to count from 0 to 100?

We have two basic loops.

##### - For

It will do exactly X repetition, no more, no less, will only do other amount when an error occurs or the loop is exited.

``````

In [1]:

for i in range(0,100):
pass

``````
##### - While

Will run until the condition is satisfied. Will stop on exception, or when loop is exited.

``````

In [3]:

i = 0
while i < 100:
i = i - 1

``````
``````

---------------------------------------------------------------------------
KeyboardInterrupt                         Traceback (most recent call last)
1 i = 0
2 while i < 100:
----> 3     i = i - 1

KeyboardInterrupt:

``````

#### How to do something "every N repetitions"

We can do it the lame way, with a counter. And we can do it the smart way, with dividing and the "remainder of dividing" (modulo).

``````

In [4]:

# The lame way.
i = 0
counter = 0
while i < 10:
counter += 1
if counter == 3:
print("We did something every 3-rd time")
counter = 0
i += 1

``````
``````

We did something every 3-rd time
We did something every 3-rd time
We did something every 3-rd time

``````
``````

In [5]:

# The smart way.
for i in range(0,10):
if i % 3 == 0:
print("We did something every 3-rd time")

``````
``````

We did something every 3-rd time
We did something every 3-rd time
We did something every 3-rd time
We did something every 3-rd time

``````

It's not exactly right, isn't it? Why are there 4 repetitions? It's because we start from 0. 0 divided by integer>0 gives always 0 remainder.

``````

In [6]:

0 % 3

``````
``````

Out[6]:

0

``````
``````

In [7]:

# The fixed smart way.
for i in range(1,11):
if i % 3 == 0:
print("We did something every 3-rd time")

``````
``````

We did something every 3-rd time
We did something every 3-rd time
We did something every 3-rd time

``````
``````

In [11]:

# The FizzBuzz
for i in range(1,101):
if i % 15 == 0:
print("FizzBuzz")
elif i % 5 == 0:
print("Buzz")
elif i % 3 == 0:
print("Fizz")

``````
``````

Fizz
Buzz
Fizz
Fizz
Buzz
Fizz
Fizz
Buzz
Fizz
Buzz
Fizz
Fizz
Buzz
Fizz
Fizz
Buzz
Fizz
Buzz
Fizz
Fizz
Buzz
Fizz
Fizz
Buzz
Fizz
Buzz
Fizz
Fizz
Buzz
Fizz
Fizz
Buzz
Fizz
Buzz
Fizz
Fizz
Buzz
Fizz
Fizz
Buzz
Fizz
Buzz
Fizz
Fizz
Buzz
Fizz
Fizz
Buzz
Fizz
Buzz
Fizz
Fizz
Buzz

``````

## Flow control

Sometimes, we do not want to do all loop iterations. Sometimes, we want to:

### continue - Skip this whole loop iteration, from this moment, and go to next loop iteration

``````

In [12]:

for i in range(0,4):
if i == 2:
continue
print(i)

``````
``````

0
1
3

``````

### break - Skip this whole loop iteration, from this moment, and do not do any more loop iterations

``````

In [13]:

for i in range(0,100):
if i == 2:
break
print(i)

``````
``````

0
1

``````

### return - skip this whole loop iteration, and exit this scope (for example, method), not doing any more iterations

``````

In [15]:

def print_a_lot_of_numbers_but_exit_on(number):
N = 1000
for i in range(0,N):
if i == number:
return i
print(i)
# Notice, how we return the last number. Otherwise, on 1000, it would return None automatically - Python feature.
return N

``````
``````

In [16]:

print_a_lot_of_numbers_but_exit_on(1)

``````
``````

0

Out[16]:

1

``````
``````

In [18]:

print_a_lot_of_numbers_but_exit_on(1000)

``````
``````

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999

Out[18]:

1000

``````

## Exceptions in flow control

Before we go to a more general approach, I will show you what role the exceptions play in flow control.

### raise Exception - skip this whole loop iteration, and exit this program!

``````

In [19]:

for i in range(0,100):
if i == 5:
raise Exception("I just hate the number 5. I'm out of here.")

``````
``````

---------------------------------------------------------------------------
Exception                                 Traceback (most recent call last)
<ipython-input-19-5a5610b12547> in <module>()
1 for i in range(0,100):
2     if i == 5:
----> 3         raise Exception("I just hate the number 5. I'm out of here.")

Exception: I just hate the number 5. I'm out of here.

``````

### catch Exception - ignore it, and go on as if nothing happened

``````

In [20]:

for i in range(0,10):
try:
if i == 5:
raise Exception("I hate fives.")
except Exception as error_message:
print("Stop hate! Just go on. Details: " + str(error_message))
print(i)

``````
``````

0
1
2
3
4
Stop hate! Just go on. Details: I hate fives.
5
6
7
8
9

``````

## Exceptions general purpose and definition

An exception is an event, which occurs during the execution of a program, that disrupts the normal flow of the program's instructions.

Anomalous or exceptional conditions requiring special processing – often changing the normal flow of program execution

### Types of exceptions

Exceptions come in hundreds of flavours, and you can also write your own kinds.

Exceptions main role is to signal that a terrible or unexpected situation happened, and there is just no way of going on with program flow.

Most popular Python exception types:

``````

In [21]:

# IndexError
a = [1,2,3]
print(a[4])

``````
``````

---------------------------------------------------------------------------
IndexError                                Traceback (most recent call last)
<ipython-input-21-5eb52abbf27b> in <module>()
1 # IndexError
2 a = [1,2,3]
----> 3 print(a[4])

IndexError: list index out of range

``````
``````

In [22]:

# KeyError
a = {"something": 1}
a["something_else"]

``````
``````

---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
<ipython-input-22-09ce33bc905f> in <module>()
1 # KeyError
2 a = {"something": 1}
----> 3 a["something_else"]

KeyError: 'something_else'

``````
``````

In [26]:

# ModuleNotFoundError

import whatever

``````
``````

---------------------------------------------------------------------------
ModuleNotFoundError                       Traceback (most recent call last)
<ipython-input-26-7f19704b0d42> in <module>()
1 # ModuleNotFoundError
2
----> 3 import whatever

ModuleNotFoundError: No module named 'whatever'

``````
``````

In [27]:

# NameError
print(for_sure_I_dont_exist)

``````
``````

---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-27-4d66efb7f57c> in <module>()
1 # NameError
----> 2 print(for_sure_I_dont_exist)

NameError: name 'for_sure_I_dont_exist' is not defined

``````
``````

In [28]:

# TypeError
int([a,a,a])

``````
``````

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-28-7b131e3eaa92> in <module>()
1 # TypeError
----> 2 int([a,a,a])

TypeError: int() argument must be a string, a bytes-like object or a number, not 'list'

``````
``````

In [29]:

# ValueError
int("a")

``````
``````

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-29-fcb19d035956> in <module>()
1 # ValueError
----> 2 int("a")

ValueError: invalid literal for int() with base 10: 'a'

``````

In most cases, you will see exceptions that result from mistakes in code, or unexpected behavior of external files, services, and all kinds of funny situations. It is not a rule of thumb, though.

## Exception handling

Why do we catch exceptions? So that the program can continue. We can catch many exception types in one try...catch statement, to behave differently. Observe:

``````

In [33]:

my_list = [1,2,"a",3,14,[1,3]]

for item in my_list:
try:
converted = int(item)
print(converted)
print(my_list[converted])
except TypeError:
print("Woops! Next time give my program the proper type!")
except ValueError:
print("Woops! Next time give me a proper value! I got: " + item)
except Exception as e:
print("Something else went wrong."
"Luckily I am catching all possible exceptions with this clause."
"Here are the details of what actually happened: " + str(e) +
" for item= " + str(item))

print("All those errors, but here we are, successfully ending our program as expected, in controlled fashion")

``````
``````

1
2
2
a
Woops! Next time give me a proper value! I got: a
3
3
14
Something else went wrong.Luckily I am catching all possible exceptions with this clause.Here are the details of what actually happened: list index out of range for item= 14
Woops! Next time give my program the proper type!
All those errors, but here we are, successfully ending our program as expected, in controlled fashion

``````

## Example covering all those functionalities

This example will show you how to control your program, that behaves accordingly to user input. You have no idea what the users will input, so you need to prepare for the worst.

Simple idea is to print out characters from the ASCII table, corresponding to numbers - as much as user desires. Requirements:

• skip words for inputs: 30, 60
• if the counter reaches 3000, stop printing new words
• print every 30th word
• skip every 150th letter
• take iterations amount from keyboard user input
• program raises Exception for values over 9000
``````

In [43]:

# Handle various user inputs.
main_counter = 0

while True:
iterations = input()
try:
iterations = int(iterations)
break
except ValueError:
iterations = 0

if iterations > 9000:
raise Exception("This value if over 9000! This program cannot handle such input. Exiting")

# Show the words.
while main_counter < iterations:
if main_counter == 3000:
break

if main_counter in [30,60]:
# Why is this here when it is also at the end?
main_counter += 1
continue

if main_counter % 30 == 0:
word = ""
for small_counter in range(200, 200 + main_counter):
if small_counter % 150 == 0:
continue
word += chr(small_counter)

print(word)

main_counter += 1

``````
``````

a
&
700

ÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂăĄąĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġ
ÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂăĄąĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥĦħĨĩĪīĭĮįİıĲĳĴĵĶķĸĹĺĻļĽľĿ
ÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂăĄąĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥĦħĨĩĪīĭĮįİıĲĳĴĵĶķĸĹĺĻļĽľĿŀŁłŃńŅņŇňŉŊŋŌōŎŏŐőŒœŔŕŖŗŘřŚśŜŝ
ÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂăĄąĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥĦħĨĩĪīĭĮįİıĲĳĴĵĶķĸĹĺĻļĽľĿŀŁłŃńŅņŇňŉŊŋŌōŎŏŐőŒœŔŕŖŗŘřŚśŜŝŞşŠšŢţŤťŦŧŨũŪūŬŭŮůŰűŲųŴŵŶŷŸŹźŻ
ÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂăĄąĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥĦħĨĩĪīĭĮįİıĲĳĴĵĶķĸĹĺĻļĽľĿŀŁłŃńŅņŇňŉŊŋŌōŎŏŐőŒœŔŕŖŗŘřŚśŜŝŞşŠšŢţŤťŦŧŨũŪūŬŭŮůŰűŲųŴŵŶŷŸŹźŻżŽžſƀƁƂƃƄƅƆƇƈƉƊƋƌƍƎƏƐƑƒƓƔƕƖƗƘƙ
ÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂăĄąĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥĦħĨĩĪīĭĮįİıĲĳĴĵĶķĸĹĺĻļĽľĿŀŁłŃńŅņŇňŉŊŋŌōŎŏŐőŒœŔŕŖŗŘřŚśŜŝŞşŠšŢţŤťŦŧŨũŪūŬŭŮůŰűŲųŴŵŶŷŸŹźŻżŽžſƀƁƂƃƄƅƆƇƈƉƊƋƌƍƎƏƐƑƒƓƔƕƖƗƘƙƚƛƜƝƞƟƠơƢƣƤƥƦƧƨƩƪƫƬƭƮƯưƱƲƳƴƵƶƷ
ÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂăĄąĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥĦħĨĩĪīĭĮįİıĲĳĴĵĶķĸĹĺĻļĽľĿŀŁłŃńŅņŇňŉŊŋŌōŎŏŐőŒœŔŕŖŗŘřŚśŜŝŞşŠšŢţŤťŦŧŨũŪūŬŭŮůŰűŲųŴŵŶŷŸŹźŻżŽžſƀƁƂƃƄƅƆƇƈƉƊƋƌƍƎƏƐƑƒƓƔƕƖƗƘƙƚƛƜƝƞƟƠơƢƣƤƥƦƧƨƩƪƫƬƭƮƯưƱƲƳƴƵƶƷƸƹƺƻƼƽƾƿǀǁǃǄǅǆǇǈǉǊǋǌǍǎǏǐǑǒǓǔǕ
ÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂăĄąĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥĦħĨĩĪīĭĮįİıĲĳĴĵĶķĸĹĺĻļĽľĿŀŁłŃńŅņŇňŉŊŋŌōŎŏŐőŒœŔŕŖŗŘřŚśŜŝŞşŠšŢţŤťŦŧŨũŪūŬŭŮůŰűŲųŴŵŶŷŸŹźŻżŽžſƀƁƂƃƄƅƆƇƈƉƊƋƌƍƎƏƐƑƒƓƔƕƖƗƘƙƚƛƜƝƞƟƠơƢƣƤƥƦƧƨƩƪƫƬƭƮƯưƱƲƳƴƵƶƷƸƹƺƻƼƽƾƿǀǁǃǄǅǆǇǈǉǊǋǌǍǎǏǐǑǒǓǔǕǖǗǘǙǚǛǜǝǞǟǠǡǢǣǤǥǦǧǨǩǪǫǬǭǮǯǰǱǲǳ
ÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂăĄąĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥĦħĨĩĪīĭĮįİıĲĳĴĵĶķĸĹĺĻļĽľĿŀŁłŃńŅņŇňŉŊŋŌōŎŏŐőŒœŔŕŖŗŘřŚśŜŝŞşŠšŢţŤťŦŧŨũŪūŬŭŮůŰűŲųŴŵŶŷŸŹźŻżŽžſƀƁƂƃƄƅƆƇƈƉƊƋƌƍƎƏƐƑƒƓƔƕƖƗƘƙƚƛƜƝƞƟƠơƢƣƤƥƦƧƨƩƪƫƬƭƮƯưƱƲƳƴƵƶƷƸƹƺƻƼƽƾƿǀǁǃǄǅǆǇǈǉǊǋǌǍǎǏǐǑǒǓǔǕǖǗǘǙǚǛǜǝǞǟǠǡǢǣǤǥǦǧǨǩǪǫǬǭǮǯǰǱǲǳǴǵǶǷǸǹǺǻǼǽǾǿȀȁȂȃȄȅȆȇȈȉȊȋȌȍȎȏȐȑ
ÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂăĄąĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥĦħĨĩĪīĭĮįİıĲĳĴĵĶķĸĹĺĻļĽľĿŀŁłŃńŅņŇňŉŊŋŌōŎŏŐőŒœŔŕŖŗŘřŚśŜŝŞşŠšŢţŤťŦŧŨũŪūŬŭŮůŰűŲųŴŵŶŷŸŹźŻżŽžſƀƁƂƃƄƅƆƇƈƉƊƋƌƍƎƏƐƑƒƓƔƕƖƗƘƙƚƛƜƝƞƟƠơƢƣƤƥƦƧƨƩƪƫƬƭƮƯưƱƲƳƴƵƶƷƸƹƺƻƼƽƾƿǀǁǃǄǅǆǇǈǉǊǋǌǍǎǏǐǑǒǓǔǕǖǗǘǙǚǛǜǝǞǟǠǡǢǣǤǥǦǧǨǩǪǫǬǭǮǯǰǱǲǳǴǵǶǷǸǹǺǻǼǽǾǿȀȁȂȃȄȅȆȇȈȉȊȋȌȍȎȏȐȑȒȓȔȕȖȗȘșȚțȜȝȞȟȠȡȢȣȤȥȦȧȨȩȪȫȬȭȮȯ
ÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂăĄąĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥĦħĨĩĪīĭĮįİıĲĳĴĵĶķĸĹĺĻļĽľĿŀŁłŃńŅņŇňŉŊŋŌōŎŏŐőŒœŔŕŖŗŘřŚśŜŝŞşŠšŢţŤťŦŧŨũŪūŬŭŮůŰűŲųŴŵŶŷŸŹźŻżŽžſƀƁƂƃƄƅƆƇƈƉƊƋƌƍƎƏƐƑƒƓƔƕƖƗƘƙƚƛƜƝƞƟƠơƢƣƤƥƦƧƨƩƪƫƬƭƮƯưƱƲƳƴƵƶƷƸƹƺƻƼƽƾƿǀǁǃǄǅǆǇǈǉǊǋǌǍǎǏǐǑǒǓǔǕǖǗǘǙǚǛǜǝǞǟǠǡǢǣǤǥǦǧǨǩǪǫǬǭǮǯǰǱǲǳǴǵǶǷǸǹǺǻǼǽǾǿȀȁȂȃȄȅȆȇȈȉȊȋȌȍȎȏȐȑȒȓȔȕȖȗȘșȚțȜȝȞȟȠȡȢȣȤȥȦȧȨȩȪȫȬȭȮȯȰȱȲȳȴȵȶȷȸȹȺȻȼȽȾȿɀɁɂɃɄɅɆɇɈɉɊɋɌɍ
ÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂăĄąĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥĦħĨĩĪīĭĮįİıĲĳĴĵĶķĸĹĺĻļĽľĿŀŁłŃńŅņŇňŉŊŋŌōŎŏŐőŒœŔŕŖŗŘřŚśŜŝŞşŠšŢţŤťŦŧŨũŪūŬŭŮůŰűŲųŴŵŶŷŸŹźŻżŽžſƀƁƂƃƄƅƆƇƈƉƊƋƌƍƎƏƐƑƒƓƔƕƖƗƘƙƚƛƜƝƞƟƠơƢƣƤƥƦƧƨƩƪƫƬƭƮƯưƱƲƳƴƵƶƷƸƹƺƻƼƽƾƿǀǁǃǄǅǆǇǈǉǊǋǌǍǎǏǐǑǒǓǔǕǖǗǘǙǚǛǜǝǞǟǠǡǢǣǤǥǦǧǨǩǪǫǬǭǮǯǰǱǲǳǴǵǶǷǸǹǺǻǼǽǾǿȀȁȂȃȄȅȆȇȈȉȊȋȌȍȎȏȐȑȒȓȔȕȖȗȘșȚțȜȝȞȟȠȡȢȣȤȥȦȧȨȩȪȫȬȭȮȯȰȱȲȳȴȵȶȷȸȹȺȻȼȽȾȿɀɁɂɃɄɅɆɇɈɉɊɋɌɍɎɏɐɑɒɓɔɕɖɗəɚɛɜɝɞɟɠɡɢɣɤɥɦɧɨɩɪɫ
ÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂăĄąĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥĦħĨĩĪīĭĮįİıĲĳĴĵĶķĸĹĺĻļĽľĿŀŁłŃńŅņŇňŉŊŋŌōŎŏŐőŒœŔŕŖŗŘřŚśŜŝŞşŠšŢţŤťŦŧŨũŪūŬŭŮůŰűŲųŴŵŶŷŸŹźŻżŽžſƀƁƂƃƄƅƆƇƈƉƊƋƌƍƎƏƐƑƒƓƔƕƖƗƘƙƚƛƜƝƞƟƠơƢƣƤƥƦƧƨƩƪƫƬƭƮƯưƱƲƳƴƵƶƷƸƹƺƻƼƽƾƿǀǁǃǄǅǆǇǈǉǊǋǌǍǎǏǐǑǒǓǔǕǖǗǘǙǚǛǜǝǞǟǠǡǢǣǤǥǦǧǨǩǪǫǬǭǮǯǰǱǲǳǴǵǶǷǸǹǺǻǼǽǾǿȀȁȂȃȄȅȆȇȈȉȊȋȌȍȎȏȐȑȒȓȔȕȖȗȘșȚțȜȝȞȟȠȡȢȣȤȥȦȧȨȩȪȫȬȭȮȯȰȱȲȳȴȵȶȷȸȹȺȻȼȽȾȿɀɁɂɃɄɅɆɇɈɉɊɋɌɍɎɏɐɑɒɓɔɕɖɗəɚɛɜɝɞɟɠɡɢɣɤɥɦɧɨɩɪɫɬɭɮɯɰɱɲɳɴɵɶɷɸɹɺɻɼɽɾɿʀʁʂʃʄʅʆʇʈʉ
ÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂăĄąĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥĦħĨĩĪīĭĮįİıĲĳĴĵĶķĸĹĺĻļĽľĿŀŁłŃńŅņŇňŉŊŋŌōŎŏŐőŒœŔŕŖŗŘřŚśŜŝŞşŠšŢţŤťŦŧŨũŪūŬŭŮůŰűŲųŴŵŶŷŸŹźŻżŽžſƀƁƂƃƄƅƆƇƈƉƊƋƌƍƎƏƐƑƒƓƔƕƖƗƘƙƚƛƜƝƞƟƠơƢƣƤƥƦƧƨƩƪƫƬƭƮƯưƱƲƳƴƵƶƷƸƹƺƻƼƽƾƿǀǁǃǄǅǆǇǈǉǊǋǌǍǎǏǐǑǒǓǔǕǖǗǘǙǚǛǜǝǞǟǠǡǢǣǤǥǦǧǨǩǪǫǬǭǮǯǰǱǲǳǴǵǶǷǸǹǺǻǼǽǾǿȀȁȂȃȄȅȆȇȈȉȊȋȌȍȎȏȐȑȒȓȔȕȖȗȘșȚțȜȝȞȟȠȡȢȣȤȥȦȧȨȩȪȫȬȭȮȯȰȱȲȳȴȵȶȷȸȹȺȻȼȽȾȿɀɁɂɃɄɅɆɇɈɉɊɋɌɍɎɏɐɑɒɓɔɕɖɗəɚɛɜɝɞɟɠɡɢɣɤɥɦɧɨɩɪɫɬɭɮɯɰɱɲɳɴɵɶɷɸɹɺɻɼɽɾɿʀʁʂʃʄʅʆʇʈʉʊʋʌʍʎʏʐʑʒʓʔʕʖʗʘʙʚʛʜʝʞʟʠʡʢʣʤʥʦʧ
ÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂăĄąĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥĦħĨĩĪīĭĮįİıĲĳĴĵĶķĸĹĺĻļĽľĿŀŁłŃńŅņŇňŉŊŋŌōŎŏŐőŒœŔŕŖŗŘřŚśŜŝŞşŠšŢţŤťŦŧŨũŪūŬŭŮůŰűŲųŴŵŶŷŸŹźŻżŽžſƀƁƂƃƄƅƆƇƈƉƊƋƌƍƎƏƐƑƒƓƔƕƖƗƘƙƚƛƜƝƞƟƠơƢƣƤƥƦƧƨƩƪƫƬƭƮƯưƱƲƳƴƵƶƷƸƹƺƻƼƽƾƿǀǁǃǄǅǆǇǈǉǊǋǌǍǎǏǐǑǒǓǔǕǖǗǘǙǚǛǜǝǞǟǠǡǢǣǤǥǦǧǨǩǪǫǬǭǮǯǰǱǲǳǴǵǶǷǸǹǺǻǼǽǾǿȀȁȂȃȄȅȆȇȈȉȊȋȌȍȎȏȐȑȒȓȔȕȖȗȘșȚțȜȝȞȟȠȡȢȣȤȥȦȧȨȩȪȫȬȭȮȯȰȱȲȳȴȵȶȷȸȹȺȻȼȽȾȿɀɁɂɃɄɅɆɇɈɉɊɋɌɍɎɏɐɑɒɓɔɕɖɗəɚɛɜɝɞɟɠɡɢɣɤɥɦɧɨɩɪɫɬɭɮɯɰɱɲɳɴɵɶɷɸɹɺɻɼɽɾɿʀʁʂʃʄʅʆʇʈʉʊʋʌʍʎʏʐʑʒʓʔʕʖʗʘʙʚʛʜʝʞʟʠʡʢʣʤʥʦʧʨʩʪʫʬʭʮʯʰʱʲʳʴʵʶʷʸʹʺʻʼʽʾʿˀˁ˂˃˄˅
ÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂăĄąĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥĦħĨĩĪīĭĮįİıĲĳĴĵĶķĸĹĺĻļĽľĿŀŁłŃńŅņŇňŉŊŋŌōŎŏŐőŒœŔŕŖŗŘřŚśŜŝŞşŠšŢţŤťŦŧŨũŪūŬŭŮůŰűŲųŴŵŶŷŸŹźŻżŽžſƀƁƂƃƄƅƆƇƈƉƊƋƌƍƎƏƐƑƒƓƔƕƖƗƘƙƚƛƜƝƞƟƠơƢƣƤƥƦƧƨƩƪƫƬƭƮƯưƱƲƳƴƵƶƷƸƹƺƻƼƽƾƿǀǁǃǄǅǆǇǈǉǊǋǌǍǎǏǐǑǒǓǔǕǖǗǘǙǚǛǜǝǞǟǠǡǢǣǤǥǦǧǨǩǪǫǬǭǮǯǰǱǲǳǴǵǶǷǸǹǺǻǼǽǾǿȀȁȂȃȄȅȆȇȈȉȊȋȌȍȎȏȐȑȒȓȔȕȖȗȘșȚțȜȝȞȟȠȡȢȣȤȥȦȧȨȩȪȫȬȭȮȯȰȱȲȳȴȵȶȷȸȹȺȻȼȽȾȿɀɁɂɃɄɅɆɇɈɉɊɋɌɍɎɏɐɑɒɓɔɕɖɗəɚɛɜɝɞɟɠɡɢɣɤɥɦɧɨɩɪɫɬɭɮɯɰɱɲɳɴɵɶɷɸɹɺɻɼɽɾɿʀʁʂʃʄʅʆʇʈʉʊʋʌʍʎʏʐʑʒʓʔʕʖʗʘʙʚʛʜʝʞʟʠʡʢʣʤʥʦʧʨʩʪʫʬʭʮʯʰʱʲʳʴʵʶʷʸʹʺʻʼʽʾʿˀˁ˂˃˄˅ˆˇˈˉˊˋˌˍˎˏːˑ˒˓˔˕˖˗˘˙˚˛˜˝˞˟ˠˡˢˣ
ÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂăĄąĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥĦħĨĩĪīĭĮįİıĲĳĴĵĶķĸĹĺĻļĽľĿŀŁłŃńŅņŇňŉŊŋŌōŎŏŐőŒœŔŕŖŗŘřŚśŜŝŞşŠšŢţŤťŦŧŨũŪūŬŭŮůŰűŲųŴŵŶŷŸŹźŻżŽžſƀƁƂƃƄƅƆƇƈƉƊƋƌƍƎƏƐƑƒƓƔƕƖƗƘƙƚƛƜƝƞƟƠơƢƣƤƥƦƧƨƩƪƫƬƭƮƯưƱƲƳƴƵƶƷƸƹƺƻƼƽƾƿǀǁǃǄǅǆǇǈǉǊǋǌǍǎǏǐǑǒǓǔǕǖǗǘǙǚǛǜǝǞǟǠǡǢǣǤǥǦǧǨǩǪǫǬǭǮǯǰǱǲǳǴǵǶǷǸǹǺǻǼǽǾǿȀȁȂȃȄȅȆȇȈȉȊȋȌȍȎȏȐȑȒȓȔȕȖȗȘșȚțȜȝȞȟȠȡȢȣȤȥȦȧȨȩȪȫȬȭȮȯȰȱȲȳȴȵȶȷȸȹȺȻȼȽȾȿɀɁɂɃɄɅɆɇɈɉɊɋɌɍɎɏɐɑɒɓɔɕɖɗəɚɛɜɝɞɟɠɡɢɣɤɥɦɧɨɩɪɫɬɭɮɯɰɱɲɳɴɵɶɷɸɹɺɻɼɽɾɿʀʁʂʃʄʅʆʇʈʉʊʋʌʍʎʏʐʑʒʓʔʕʖʗʘʙʚʛʜʝʞʟʠʡʢʣʤʥʦʧʨʩʪʫʬʭʮʯʰʱʲʳʴʵʶʷʸʹʺʻʼʽʾʿˀˁ˂˃˄˅ˆˇˈˉˊˋˌˍˎˏːˑ˒˓˔˕˖˗˘˙˚˛˜˝˞˟ˠˡˢˣˤ˥˦˧˨˩˪˫ˬ˭˯˰˱˲˳˴˵˶˷˸˹˺˻˼˽˾˿̀́
ÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂăĄąĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥĦħĨĩĪīĭĮįİıĲĳĴĵĶķĸĹĺĻļĽľĿŀŁłŃńŅņŇňŉŊŋŌōŎŏŐőŒœŔŕŖŗŘřŚśŜŝŞşŠšŢţŤťŦŧŨũŪūŬŭŮůŰűŲųŴŵŶŷŸŹźŻżŽžſƀƁƂƃƄƅƆƇƈƉƊƋƌƍƎƏƐƑƒƓƔƕƖƗƘƙƚƛƜƝƞƟƠơƢƣƤƥƦƧƨƩƪƫƬƭƮƯưƱƲƳƴƵƶƷƸƹƺƻƼƽƾƿǀǁǃǄǅǆǇǈǉǊǋǌǍǎǏǐǑǒǓǔǕǖǗǘǙǚǛǜǝǞǟǠǡǢǣǤǥǦǧǨǩǪǫǬǭǮǯǰǱǲǳǴǵǶǷǸǹǺǻǼǽǾǿȀȁȂȃȄȅȆȇȈȉȊȋȌȍȎȏȐȑȒȓȔȕȖȗȘșȚțȜȝȞȟȠȡȢȣȤȥȦȧȨȩȪȫȬȭȮȯȰȱȲȳȴȵȶȷȸȹȺȻȼȽȾȿɀɁɂɃɄɅɆɇɈɉɊɋɌɍɎɏɐɑɒɓɔɕɖɗəɚɛɜɝɞɟɠɡɢɣɤɥɦɧɨɩɪɫɬɭɮɯɰɱɲɳɴɵɶɷɸɹɺɻɼɽɾɿʀʁʂʃʄʅʆʇʈʉʊʋʌʍʎʏʐʑʒʓʔʕʖʗʘʙʚʛʜʝʞʟʠʡʢʣʤʥʦʧʨʩʪʫʬʭʮʯʰʱʲʳʴʵʶʷʸʹʺʻʼʽʾʿˀˁ˂˃˄˅ˆˇˈˉˊˋˌˍˎˏːˑ˒˓˔˕˖˗˘˙˚˛˜˝˞˟ˠˡˢˣˤ˥˦˧˨˩˪˫ˬ˭˯˰˱˲˳˴˵˶˷˸˹˺˻˼˽˾˿̛̖̗̘̙̜̝̞̟̀́̂̃̄̅̆̇̈̉̊̋̌̍̎̏̐̑̒̓̔̕̚
ÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂăĄąĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥĦħĨĩĪīĭĮįİıĲĳĴĵĶķĸĹĺĻļĽľĿŀŁłŃńŅņŇňŉŊŋŌōŎŏŐőŒœŔŕŖŗŘřŚśŜŝŞşŠšŢţŤťŦŧŨũŪūŬŭŮůŰűŲųŴŵŶŷŸŹźŻżŽžſƀƁƂƃƄƅƆƇƈƉƊƋƌƍƎƏƐƑƒƓƔƕƖƗƘƙƚƛƜƝƞƟƠơƢƣƤƥƦƧƨƩƪƫƬƭƮƯưƱƲƳƴƵƶƷƸƹƺƻƼƽƾƿǀǁǃǄǅǆǇǈǉǊǋǌǍǎǏǐǑǒǓǔǕǖǗǘǙǚǛǜǝǞǟǠǡǢǣǤǥǦǧǨǩǪǫǬǭǮǯǰǱǲǳǴǵǶǷǸǹǺǻǼǽǾǿȀȁȂȃȄȅȆȇȈȉȊȋȌȍȎȏȐȑȒȓȔȕȖȗȘșȚțȜȝȞȟȠȡȢȣȤȥȦȧȨȩȪȫȬȭȮȯȰȱȲȳȴȵȶȷȸȹȺȻȼȽȾȿɀɁɂɃɄɅɆɇɈɉɊɋɌɍɎɏɐɑɒɓɔɕɖɗəɚɛɜɝɞɟɠɡɢɣɤɥɦɧɨɩɪɫɬɭɮɯɰɱɲɳɴɵɶɷɸɹɺɻɼɽɾɿʀʁʂʃʄʅʆʇʈʉʊʋʌʍʎʏʐʑʒʓʔʕʖʗʘʙʚʛʜʝʞʟʠʡʢʣʤʥʦʧʨʩʪʫʬʭʮʯʰʱʲʳʴʵʶʷʸʹʺʻʼʽʾʿˀˁ˂˃˄˅ˆˇˈˉˊˋˌˍˎˏːˑ˒˓˔˕˖˗˘˙˚˛˜˝˞˟ˠˡˢˣˤ˥˦˧˨˩˪˫ˬ˭˯˰˱˲˳˴˵˶˷˸˹˺˻˼˽˾˿̴̵̶̷̸̡̢̧̨̛̖̗̘̙̜̝̞̟̠̣̤̥̦̩̪̫̬̭̮̯̰̱̲̳̹̺̻̼̀́̂̃̄̅̆̇̈̉̊̋̌̍̎̏̐̑̒̓̔̽̕̚
ÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂăĄąĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥĦħĨĩĪīĭĮįİıĲĳĴĵĶķĸĹĺĻļĽľĿŀŁłŃńŅņŇňŉŊŋŌōŎŏŐőŒœŔŕŖŗŘřŚśŜŝŞşŠšŢţŤťŦŧŨũŪūŬŭŮůŰűŲųŴŵŶŷŸŹźŻżŽžſƀƁƂƃƄƅƆƇƈƉƊƋƌƍƎƏƐƑƒƓƔƕƖƗƘƙƚƛƜƝƞƟƠơƢƣƤƥƦƧƨƩƪƫƬƭƮƯưƱƲƳƴƵƶƷƸƹƺƻƼƽƾƿǀǁǃǄǅǆǇǈǉǊǋǌǍǎǏǐǑǒǓǔǕǖǗǘǙǚǛǜǝǞǟǠǡǢǣǤǥǦǧǨǩǪǫǬǭǮǯǰǱǲǳǴǵǶǷǸǹǺǻǼǽǾǿȀȁȂȃȄȅȆȇȈȉȊȋȌȍȎȏȐȑȒȓȔȕȖȗȘșȚțȜȝȞȟȠȡȢȣȤȥȦȧȨȩȪȫȬȭȮȯȰȱȲȳȴȵȶȷȸȹȺȻȼȽȾȿɀɁɂɃɄɅɆɇɈɉɊɋɌɍɎɏɐɑɒɓɔɕɖɗəɚɛɜɝɞɟɠɡɢɣɤɥɦɧɨɩɪɫɬɭɮɯɰɱɲɳɴɵɶɷɸɹɺɻɼɽɾɿʀʁʂʃʄʅʆʇʈʉʊʋʌʍʎʏʐʑʒʓʔʕʖʗʘʙʚʛʜʝʞʟʠʡʢʣʤʥʦʧʨʩʪʫʬʭʮʯʰʱʲʳʴʵʶʷʸʹʺʻʼʽʾʿˀˁ˂˃˄˅ˆˇˈˉˊˋˌˍˎˏːˑ˒˓˔˕˖˗˘˙˚˛˜˝˞˟ˠˡˢˣˤ˥˦˧˨˩˪˫ˬ˭˯˰˱˲˳˴˵˶˷˸˹˺˻˼˽˾˿̴̵̶̷̸̡̢̧̨̛̖̗̘̙̜̝̞̟̠̣̤̥̦̩̪̫̬̭̮̯̰̱̲̳̹̺̻̼͇͈͉͍͎̀́̂̃̄̅̆̇̈̉̊̋̌̍̎̏̐̑̒̓̔̽̾̿̀́͂̓̈́͆͊͋͌̕̚ͅ͏͓͔͕͖͙͚͐͑͒͗͛͘
ÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂăĄąĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥĦħĨĩĪīĭĮįİıĲĳĴĵĶķĸĹĺĻļĽľĿŀŁłŃńŅņŇňŉŊŋŌōŎŏŐőŒœŔŕŖŗŘřŚśŜŝŞşŠšŢţŤťŦŧŨũŪūŬŭŮůŰűŲųŴŵŶŷŸŹźŻżŽžſƀƁƂƃƄƅƆƇƈƉƊƋƌƍƎƏƐƑƒƓƔƕƖƗƘƙƚƛƜƝƞƟƠơƢƣƤƥƦƧƨƩƪƫƬƭƮƯưƱƲƳƴƵƶƷƸƹƺƻƼƽƾƿǀǁǃǄǅǆǇǈǉǊǋǌǍǎǏǐǑǒǓǔǕǖǗǘǙǚǛǜǝǞǟǠǡǢǣǤǥǦǧǨǩǪǫǬǭǮǯǰǱǲǳǴǵǶǷǸǹǺǻǼǽǾǿȀȁȂȃȄȅȆȇȈȉȊȋȌȍȎȏȐȑȒȓȔȕȖȗȘșȚțȜȝȞȟȠȡȢȣȤȥȦȧȨȩȪȫȬȭȮȯȰȱȲȳȴȵȶȷȸȹȺȻȼȽȾȿɀɁɂɃɄɅɆɇɈɉɊɋɌɍɎɏɐɑɒɓɔɕɖɗəɚɛɜɝɞɟɠɡɢɣɤɥɦɧɨɩɪɫɬɭɮɯɰɱɲɳɴɵɶɷɸɹɺɻɼɽɾɿʀʁʂʃʄʅʆʇʈʉʊʋʌʍʎʏʐʑʒʓʔʕʖʗʘʙʚʛʜʝʞʟʠʡʢʣʤʥʦʧʨʩʪʫʬʭʮʯʰʱʲʳʴʵʶʷʸʹʺʻʼʽʾʿˀˁ˂˃˄˅ˆˇˈˉˊˋˌˍˎˏːˑ˒˓˔˕˖˗˘˙˚˛˜˝˞˟ˠˡˢˣˤ˥˦˧˨˩˪˫ˬ˭˯˰˱˲˳˴˵˶˷˸˹˺˻˼˽˾˿̴̵̶̷̸̡̢̧̨̛̖̗̘̙̜̝̞̟̠̣̤̥̦̩̪̫̬̭̮̯̰̱̲̳̹̺̻̼͇͈͉͍͎̀́̂̃̄̅̆̇̈̉̊̋̌̍̎̏̐̑̒̓̔̽̾̿̀́͂̓̈́͆͊͋͌̕̚ͅ͏͓͔͕͖͙͚͐͑͒͗͛ͣͤͥͦͧͨͩͪͫͬͭͮͯ͘͜͟͢͝͞͠͡ͰͱͲͳʹ͵Ͷͷ͸͹

``````
``````

In [42]:

print(chr(17110))

``````
``````

䋖

``````

## Example interview task - folder crawler

Task is to create a program, that will print out contents of a folder, recursively down the folder structure.

### Requirements

• use Python module "os"
• go down N floors of folders - it is an input parameter
• must accept absolute paths
``````

In [44]:

import os

def print_current_path(path, level):
print("level: {0}, path: {1}".format(level, path))

def folder_crawler(starting_path, level_limit, current_level=0):
if current_level > level_limit:
return

print_current_path(starting_path, current_level)

try:
contents = os.listdir(starting_path)

for item in contents:
item_path = os.path.join(starting_path, item)
print_current_path(item_path, current_level)
if os.path.isdir(item_path):
folder_crawler(item_path, level_limit, current_level + 1)
except PermissionError:
print("Permission denied. Skipping")

``````
``````

In [46]:

folder_crawler(r"C:\Users", 3)

``````
``````

level: 0, path: C:\Users
level: 3, path: C:\Users\adam\AppData\Local\Temporary Internet Files
level: 3, path: C:\Users\adam\AppData\Roaming\DAEMON Tools Lite
level: 3, path: C:\Users\adam\AppData\Roaming\Media Center Programs
level: 3, path: C:\Users\adam\AppData\Roaming\Visual Studio Setup
Permission denied. Skipping
Permission denied. Skipping
level: 2, path: C:\Users\adam\Desktop\New Text Document.txt
level: 2, path: C:\Users\adam\Documents\EasyBCD Backup (2017-10-15).bcd
level: 3, path: C:\Users\adam\Documents\My Games\Binding of Isaac Afterbirth+
level: 3, path: C:\Users\adam\Documents\My Games\Binding of Isaac Afterbirth+ Mods
Permission denied. Skipping
Permission denied. Skipping
Permission denied. Skipping
level: 3, path: C:\Users\adam\Documents\Native Instruments\Guitar Rig 5
level: 3, path: C:\Users\adam\Documents\Native Instruments\Service Center
level: 2, path: C:\Users\adam\Documents\Visual Studio 2017
level: 3, path: C:\Users\adam\Documents\Visual Studio 2017
level: 3, path: C:\Users\adam\Documents\Visual Studio 2017\ArchitectureExplorer
level: 3, path: C:\Users\adam\Documents\Visual Studio 2017\Backup Files
level: 3, path: C:\Users\adam\Documents\Visual Studio 2017\Code Snippets
level: 3, path: C:\Users\adam\Documents\Visual Studio 2017\StartPages
level: 3, path: C:\Users\adam\Documents\Visual Studio 2017\Templates
level: 3, path: C:\Users\adam\Favorites\Microsoft Websites\IE site on Microsoft.com.url
level: 3, path: C:\Users\adam\Favorites\Microsoft Websites\Microsoft At Home.url
level: 3, path: C:\Users\adam\Favorites\Microsoft Websites\Microsoft At Work.url
level: 3, path: C:\Users\adam\Favorites\Microsoft Websites\Microsoft Store.url
level: 3, path: C:\Users\adam\Favorites\MSN Websites\MSN Autos.url
level: 3, path: C:\Users\adam\Favorites\MSN Websites\MSN Entertainment.url
level: 3, path: C:\Users\adam\Favorites\MSN Websites\MSN Money.url
level: 3, path: C:\Users\adam\Favorites\MSN Websites\MSN Sports.url
level: 3, path: C:\Users\adam\Favorites\MSN Websites\MSNBC News.url
level: 2, path: C:\Users\adam\Favorites\The NeoSmart Files.url
level: 3, path: C:\Users\adam\Favorites\Windows Live\Get Windows Live.url
level: 3, path: C:\Users\adam\Favorites\Windows Live\Windows Live Gallery.url
level: 3, path: C:\Users\adam\Favorites\Windows Live\Windows Live Mail.url
level: 3, path: C:\Users\adam\Favorites\Windows Live\Windows Live Spaces.url
Permission denied. Skipping
Permission denied. Skipping
Permission denied. Skipping
Permission denied. Skipping
Permission denied. Skipping
Permission denied. Skipping
Permission denied. Skipping
Permission denied. Skipping
level: 0, path: C:\Users\All Users
level: 1, path: C:\Users\All Users
level: 1, path: C:\Users\All Users\Application Data
level: 2, path: C:\Users\All Users\Application Data
Permission denied. Skipping
level: 1, path: C:\Users\All Users\Battle.net
level: 2, path: C:\Users\All Users\Battle.net
level: 2, path: C:\Users\All Users\Battle.net\Agent
level: 3, path: C:\Users\All Users\Battle.net\Agent
level: 3, path: C:\Users\All Users\Battle.net\Agent\.patch.result
level: 3, path: C:\Users\All Users\Battle.net\Agent\.product.db
level: 3, path: C:\Users\All Users\Battle.net\Agent\Agent.5845
level: 3, path: C:\Users\All Users\Battle.net\Agent\Agent.5857
level: 3, path: C:\Users\All Users\Battle.net\Agent\Agent.dat
level: 3, path: C:\Users\All Users\Battle.net\Agent\Agent.exe
level: 3, path: C:\Users\All Users\Battle.net\Agent\Blizzard Uninstaller.exe
level: 3, path: C:\Users\All Users\Battle.net\Agent\BlizzardError.exe
level: 3, path: C:\Users\All Users\Battle.net\Agent\data
level: 3, path: C:\Users\All Users\Battle.net\Agent\Logs
level: 3, path: C:\Users\All Users\Battle.net\Agent\product.db
level: 2, path: C:\Users\All Users\Battle.net\Setup
level: 3, path: C:\Users\All Users\Battle.net\Setup
level: 3, path: C:\Users\All Users\Battle.net\Setup\battle.net
level: 3, path: C:\Users\All Users\Battle.net\Setup\bna
level: 3, path: C:\Users\All Users\Battle.net\Setup\diablo3
level: 3, path: C:\Users\All Users\Battle.net\Setup\s2
level: 2, path: C:\Users\All Users\Battle.net\Telemetry
level: 3, path: C:\Users\All Users\Battle.net\Telemetry
level: 3, path: C:\Users\All Users\Battle.net\Telemetry\Policies
level: 1, path: C:\Users\All Users\Blizzard Entertainment
level: 2, path: C:\Users\All Users\Blizzard Entertainment
level: 2, path: C:\Users\All Users\Blizzard Entertainment\Battle.net
level: 3, path: C:\Users\All Users\Blizzard Entertainment\Battle.net
level: 3, path: C:\Users\All Users\Blizzard Entertainment\Battle.net\Cache
level: 3, path: C:\Users\All Users\Blizzard Entertainment\Battle.net\index
level: 3, path: C:\Users\All Users\Blizzard Entertainment\Battle.net\sites
level: 2, path: C:\Users\All Users\Blizzard Entertainment\StarCraft II
level: 3, path: C:\Users\All Users\Blizzard Entertainment\StarCraft II
level: 3, path: C:\Users\All Users\Blizzard Entertainment\StarCraft II\Maps
level: 1, path: C:\Users\All Users\chocolatey
level: 2, path: C:\Users\All Users\chocolatey
level: 2, path: C:\Users\All Users\chocolatey\.chocolatey
level: 3, path: C:\Users\All Users\chocolatey\.chocolatey
level: 3, path: C:\Users\All Users\chocolatey\.chocolatey\docker-compose.1.16.1
level: 3, path: C:\Users\All Users\chocolatey\.chocolatey\docker-machine-vmwareworkstation.1.1.0
level: 3, path: C:\Users\All Users\chocolatey\.chocolatey\docker-machine.0.12.2
level: 3, path: C:\Users\All Users\chocolatey\.chocolatey\docker.17.09.0
level: 2, path: C:\Users\All Users\chocolatey\bin
level: 3, path: C:\Users\All Users\chocolatey\bin
level: 3, path: C:\Users\All Users\chocolatey\bin\choco.exe
level: 3, path: C:\Users\All Users\chocolatey\bin\chocolatey.exe
level: 3, path: C:\Users\All Users\chocolatey\bin\cinst.exe
level: 3, path: C:\Users\All Users\chocolatey\bin\clist.exe
level: 3, path: C:\Users\All Users\chocolatey\bin\cpack.exe
level: 3, path: C:\Users\All Users\chocolatey\bin\cpush.exe
level: 3, path: C:\Users\All Users\chocolatey\bin\cuninst.exe
level: 3, path: C:\Users\All Users\chocolatey\bin\cup.exe
level: 3, path: C:\Users\All Users\chocolatey\bin\cver.exe
level: 3, path: C:\Users\All Users\chocolatey\bin\docker-compose.exe
level: 3, path: C:\Users\All Users\chocolatey\bin\docker-machine-driver-vmwareworkstation.exe
level: 3, path: C:\Users\All Users\chocolatey\bin\docker-machine.exe
level: 3, path: C:\Users\All Users\chocolatey\bin\docker.exe
level: 3, path: C:\Users\All Users\chocolatey\bin\RefreshEnv.cmd
level: 3, path: C:\Users\All Users\chocolatey\bin\_processed.txt
level: 2, path: C:\Users\All Users\chocolatey\choco.exe
level: 2, path: C:\Users\All Users\chocolatey\choco.exe.ignore
level: 2, path: C:\Users\All Users\chocolatey\choco.exe.manifest
level: 2, path: C:\Users\All Users\chocolatey\config
level: 3, path: C:\Users\All Users\chocolatey\config
level: 3, path: C:\Users\All Users\chocolatey\config\chocolatey.config
level: 3, path: C:\Users\All Users\chocolatey\config\chocolatey.config.backup
level: 2, path: C:\Users\All Users\chocolatey\CREDITS.txt
level: 2, path: C:\Users\All Users\chocolatey\helpers
level: 3, path: C:\Users\All Users\chocolatey\helpers
level: 3, path: C:\Users\All Users\chocolatey\helpers\chocolateyInstaller.psm1
level: 3, path: C:\Users\All Users\chocolatey\helpers\chocolateyProfile.psm1
level: 3, path: C:\Users\All Users\chocolatey\helpers\chocolateyScriptRunner.ps1
level: 3, path: C:\Users\All Users\chocolatey\helpers\ChocolateyTabExpansion.ps1
level: 3, path: C:\Users\All Users\chocolatey\helpers\functions
level: 2, path: C:\Users\All Users\chocolatey\lib
level: 3, path: C:\Users\All Users\chocolatey\lib
level: 3, path: C:\Users\All Users\chocolatey\lib\chocolatey
level: 3, path: C:\Users\All Users\chocolatey\lib\docker
level: 3, path: C:\Users\All Users\chocolatey\lib\docker-compose
level: 3, path: C:\Users\All Users\chocolatey\lib\docker-machine
level: 3, path: C:\Users\All Users\chocolatey\lib\docker-machine-vmwareworkstation
level: 2, path: C:\Users\All Users\chocolatey\logs
level: 3, path: C:\Users\All Users\chocolatey\logs
level: 3, path: C:\Users\All Users\chocolatey\logs\choco.summary.log
level: 3, path: C:\Users\All Users\chocolatey\logs\chocolatey.log
level: 2, path: C:\Users\All Users\chocolatey\redirects
level: 3, path: C:\Users\All Users\chocolatey\redirects
level: 3, path: C:\Users\All Users\chocolatey\redirects\choco.exe
level: 3, path: C:\Users\All Users\chocolatey\redirects\choco.exe.ignore
level: 3, path: C:\Users\All Users\chocolatey\redirects\chocolatey.exe
level: 3, path: C:\Users\All Users\chocolatey\redirects\chocolatey.exe.ignore
level: 3, path: C:\Users\All Users\chocolatey\redirects\cinst.exe
level: 3, path: C:\Users\All Users\chocolatey\redirects\cinst.exe.ignore
level: 3, path: C:\Users\All Users\chocolatey\redirects\clist.exe
level: 3, path: C:\Users\All Users\chocolatey\redirects\clist.exe.ignore
level: 3, path: C:\Users\All Users\chocolatey\redirects\cpack.exe
level: 3, path: C:\Users\All Users\chocolatey\redirects\cpack.exe.ignore
level: 3, path: C:\Users\All Users\chocolatey\redirects\cpush.exe
level: 3, path: C:\Users\All Users\chocolatey\redirects\cpush.exe.ignore
level: 3, path: C:\Users\All Users\chocolatey\redirects\cuninst.exe
level: 3, path: C:\Users\All Users\chocolatey\redirects\cuninst.exe.ignore
level: 3, path: C:\Users\All Users\chocolatey\redirects\cup.exe
level: 3, path: C:\Users\All Users\chocolatey\redirects\cup.exe.ignore
level: 3, path: C:\Users\All Users\chocolatey\redirects\cver.exe
level: 3, path: C:\Users\All Users\chocolatey\redirects\cver.exe.ignore
level: 3, path: C:\Users\All Users\chocolatey\redirects\RefreshEnv.cmd
level: 2, path: C:\Users\All Users\chocolatey\tools
level: 3, path: C:\Users\All Users\chocolatey\tools
level: 3, path: C:\Users\All Users\chocolatey\tools\7z.dll
level: 3, path: C:\Users\All Users\chocolatey\tools\7z.dll.manifest
level: 3, path: C:\Users\All Users\chocolatey\tools\7z.exe
level: 3, path: C:\Users\All Users\chocolatey\tools\7z.exe.ignore
level: 3, path: C:\Users\All Users\chocolatey\tools\7z.exe.manifest
level: 3, path: C:\Users\All Users\chocolatey\tools\checksum.exe
level: 3, path: C:\Users\All Users\chocolatey\tools\checksum.exe.config
level: 3, path: C:\Users\All Users\chocolatey\tools\checksum.exe.ignore
level: 3, path: C:\Users\All Users\chocolatey\tools\detector.zip
level: 3, path: C:\Users\All Users\chocolatey\tools\shimgen.exe
level: 3, path: C:\Users\All Users\chocolatey\tools\shimgen.exe.ignore
level: 1, path: C:\Users\All Users\DAEMON Tools Lite
level: 2, path: C:\Users\All Users\DAEMON Tools Lite
level: 2, path: C:\Users\All Users\DAEMON Tools Lite\license.dat
level: 2, path: C:\Users\All Users\DAEMON Tools Lite\settings.ini
level: 1, path: C:\Users\All Users\Desktop
level: 2, path: C:\Users\All Users\Desktop
Permission denied. Skipping
level: 1, path: C:\Users\All Users\Documents
level: 2, path: C:\Users\All Users\Documents
Permission denied. Skipping
level: 1, path: C:\Users\All Users\Favorites
level: 2, path: C:\Users\All Users\Favorites
Permission denied. Skipping
level: 1, path: C:\Users\All Users\Foxit ContentPlatform
level: 2, path: C:\Users\All Users\Foxit ContentPlatform
level: 2, path: C:\Users\All Users\Foxit ContentPlatform\Progress.ini
level: 1, path: C:\Users\All Users\Foxit Software
level: 2, path: C:\Users\All Users\Foxit Software
level: 2, path: C:\Users\All Users\Foxit Software\Foxit Reader
level: 3, path: C:\Users\All Users\Foxit Software\Foxit Reader
level: 3, path: C:\Users\All Users\Foxit Software\Foxit Reader\FoxitConnectPDF
level: 1, path: C:\Users\All Users\Git
level: 2, path: C:\Users\All Users\Git
level: 2, path: C:\Users\All Users\Git\config
level: 1, path: C:\Users\All Users\Microsoft
level: 2, path: C:\Users\All Users\Microsoft
level: 2, path: C:\Users\All Users\Microsoft\Assistance
level: 3, path: C:\Users\All Users\Microsoft\Assistance
level: 3, path: C:\Users\All Users\Microsoft\Assistance\Client
level: 2, path: C:\Users\All Users\Microsoft\Crypto
level: 3, path: C:\Users\All Users\Microsoft\Crypto
level: 3, path: C:\Users\All Users\Microsoft\Crypto\DSS
level: 3, path: C:\Users\All Users\Microsoft\Crypto\Keys
level: 3, path: C:\Users\All Users\Microsoft\Crypto\RSA
level: 2, path: C:\Users\All Users\Microsoft\Device Stage
level: 3, path: C:\Users\All Users\Microsoft\Device Stage
level: 3, path: C:\Users\All Users\Microsoft\Device Stage\Device
level: 3, path: C:\Users\All Users\Microsoft\Device Stage\Task
level: 2, path: C:\Users\All Users\Microsoft\DeviceSync
level: 3, path: C:\Users\All Users\Microsoft\DeviceSync
level: 2, path: C:\Users\All Users\Microsoft\DRM
level: 3, path: C:\Users\All Users\Microsoft\DRM
level: 3, path: C:\Users\All Users\Microsoft\DRM\Server
level: 2, path: C:\Users\All Users\Microsoft\eHome
level: 3, path: C:\Users\All Users\Microsoft\eHome
level: 3, path: C:\Users\All Users\Microsoft\eHome\logs
level: 2, path: C:\Users\All Users\Microsoft\Event Viewer
level: 3, path: C:\Users\All Users\Microsoft\Event Viewer
level: 3, path: C:\Users\All Users\Microsoft\Event Viewer\Views
level: 2, path: C:\Users\All Users\Microsoft\IdentityCRL
level: 3, path: C:\Users\All Users\Microsoft\IdentityCRL
level: 3, path: C:\Users\All Users\Microsoft\IdentityCRL\ppcrlconfig.dll
level: 3, path: C:\Users\All Users\Microsoft\IdentityCRL\ppcrlui.dll
level: 2, path: C:\Users\All Users\Microsoft\IlsCache
level: 3, path: C:\Users\All Users\Microsoft\IlsCache
level: 3, path: C:\Users\All Users\Microsoft\IlsCache\ilrcache.xml
level: 3, path: C:\Users\All Users\Microsoft\IlsCache\imcrcache.xml
level: 2, path: C:\Users\All Users\Microsoft\Media Player
level: 3, path: C:\Users\All Users\Microsoft\Media Player
level: 2, path: C:\Users\All Users\Microsoft\MF
level: 3, path: C:\Users\All Users\Microsoft\MF
level: 3, path: C:\Users\All Users\Microsoft\MF\Active.GRL
level: 3, path: C:\Users\All Users\Microsoft\MF\Pending.GRL
level: 2, path: C:\Users\All Users\Microsoft\NetFramework
level: 3, path: C:\Users\All Users\Microsoft\NetFramework
level: 2, path: C:\Users\All Users\Microsoft\Network
level: 3, path: C:\Users\All Users\Microsoft\Network
level: 3, path: C:\Users\All Users\Microsoft\Network\Connections
level: 2, path: C:\Users\All Users\Microsoft\RAC
level: 3, path: C:\Users\All Users\Microsoft\RAC
level: 3, path: C:\Users\All Users\Microsoft\RAC\Outbound
level: 3, path: C:\Users\All Users\Microsoft\RAC\PublishedData
level: 3, path: C:\Users\All Users\Microsoft\RAC\StateData
level: 3, path: C:\Users\All Users\Microsoft\RAC\Temp
level: 2, path: C:\Users\All Users\Microsoft\Search
level: 3, path: C:\Users\All Users\Microsoft\Search
level: 3, path: C:\Users\All Users\Microsoft\Search\Data
level: 2, path: C:\Users\All Users\Microsoft\User Account Pictures
level: 3, path: C:\Users\All Users\Microsoft\User Account Pictures
level: 3, path: C:\Users\All Users\Microsoft\User Account Pictures\adam.dat
level: 3, path: C:\Users\All Users\Microsoft\User Account Pictures\Default Pictures
level: 3, path: C:\Users\All Users\Microsoft\User Account Pictures\guest.bmp
level: 3, path: C:\Users\All Users\Microsoft\User Account Pictures\user.bmp
level: 2, path: C:\Users\All Users\Microsoft\Vault
level: 3, path: C:\Users\All Users\Microsoft\Vault
level: 2, path: C:\Users\All Users\Microsoft\VisualStudio
level: 3, path: C:\Users\All Users\Microsoft\VisualStudio
level: 3, path: C:\Users\All Users\Microsoft\VisualStudio\Packages
level: 3, path: C:\Users\All Users\Microsoft\VisualStudio\Setup
level: 2, path: C:\Users\All Users\Microsoft\Windows
level: 3, path: C:\Users\All Users\Microsoft\Windows
level: 3, path: C:\Users\All Users\Microsoft\Windows\AIT
level: 3, path: C:\Users\All Users\Microsoft\Windows\Caches
level: 3, path: C:\Users\All Users\Microsoft\Windows\DRM
level: 3, path: C:\Users\All Users\Microsoft\Windows\GameExplorer
level: 3, path: C:\Users\All Users\Microsoft\Windows\Power Efficiency Diagnostics
level: 3, path: C:\Users\All Users\Microsoft\Windows\Ringtones
level: 3, path: C:\Users\All Users\Microsoft\Windows\Sqm
level: 3, path: C:\Users\All Users\Microsoft\Windows\Start Menu
level: 3, path: C:\Users\All Users\Microsoft\Windows\Templates
level: 3, path: C:\Users\All Users\Microsoft\Windows\WER
level: 2, path: C:\Users\All Users\Microsoft\Windows Defender
level: 3, path: C:\Users\All Users\Microsoft\Windows Defender
Permission denied. Skipping
level: 2, path: C:\Users\All Users\Microsoft\Windows NT
level: 3, path: C:\Users\All Users\Microsoft\Windows NT
level: 3, path: C:\Users\All Users\Microsoft\Windows NT\MSFax
level: 3, path: C:\Users\All Users\Microsoft\Windows NT\MSScan
level: 2, path: C:\Users\All Users\Microsoft\Wlansvc
level: 3, path: C:\Users\All Users\Microsoft\Wlansvc
level: 3, path: C:\Users\All Users\Microsoft\Wlansvc\Profiles
level: 2, path: C:\Users\All Users\Microsoft\WPD
level: 3, path: C:\Users\All Users\Microsoft\WPD
level: 2, path: C:\Users\All Users\Microsoft\WwanSvc
level: 3, path: C:\Users\All Users\Microsoft\WwanSvc
level: 3, path: C:\Users\All Users\Microsoft\WwanSvc\Profiles
level: 1, path: C:\Users\All Users\Native Instruments
level: 2, path: C:\Users\All Users\Native Instruments
level: 2, path: C:\Users\All Users\Native Instruments\Controller Editor
level: 3, path: C:\Users\All Users\Native Instruments\Controller Editor
level: 2, path: C:\Users\All Users\Native Instruments\Installer Log
level: 3, path: C:\Users\All Users\Native Instruments\Installer Log
level: 3, path: C:\Users\All Users\Native Instruments\Installer Log\Controller Editor 1.5.1.1124 Setup PC Log.ini
level: 3, path: C:\Users\All Users\Native Instruments\Installer Log\Guitar Rig 5 5.1.1.2673 Setup PC Log.ini
level: 3, path: C:\Users\All Users\Native Instruments\Installer Log\Guitar Rig Mobile IO Driver 3.0.0.625 Setup PC Log.ini
level: 1, path: C:\Users\All Users\ntuser.pol
level: 1, path: C:\Users\All Users\NVIDIA
level: 2, path: C:\Users\All Users\NVIDIA
level: 2, path: C:\Users\All Users\NVIDIA\NvStarted
level: 1, path: C:\Users\All Users\NVIDIA Corporation
level: 2, path: C:\Users\All Users\NVIDIA Corporation
level: 2, path: C:\Users\All Users\NVIDIA Corporation\Drs
level: 3, path: C:\Users\All Users\NVIDIA Corporation\Drs
level: 3, path: C:\Users\All Users\NVIDIA Corporation\Drs\nvAppTimestamps
level: 3, path: C:\Users\All Users\NVIDIA Corporation\Drs\nvdrsdb0.bin
level: 3, path: C:\Users\All Users\NVIDIA Corporation\Drs\nvdrsdb1.bin
level: 3, path: C:\Users\All Users\NVIDIA Corporation\Drs\nvdrssel.bin
level: 3, path: C:\Users\All Users\NVIDIA Corporation\Drs\nvdrswr.lk
level: 2, path: C:\Users\All Users\NVIDIA Corporation\NView
level: 3, path: C:\Users\All Users\NVIDIA Corporation\NView
level: 3, path: C:\Users\All Users\NVIDIA Corporation\NView\advanced.tvp
level: 3, path: C:\Users\All Users\NVIDIA Corporation\NView\cad.tvp
level: 3, path: C:\Users\All Users\NVIDIA Corporation\NView\dcc.tvp
level: 3, path: C:\Users\All Users\NVIDIA Corporation\NView\default.tvp
level: 3, path: C:\Users\All Users\NVIDIA Corporation\NView\finance.tvp
level: 1, path: C:\Users\All Users\OpenSubtitlesPlayer
level: 2, path: C:\Users\All Users\OpenSubtitlesPlayer
level: 2, path: C:\Users\All Users\OpenSubtitlesPlayer\FULLMode.all
level: 2, path: C:\Users\All Users\OpenSubtitlesPlayer\LIVE
level: 3, path: C:\Users\All Users\OpenSubtitlesPlayer\LIVE
level: 3, path: C:\Users\All Users\OpenSubtitlesPlayer\LIVE\ALLCodec
level: 3, path: C:\Users\All Users\OpenSubtitlesPlayer\LIVE\DOLBY
level: 3, path: C:\Users\All Users\OpenSubtitlesPlayer\LIVE\HAALI
level: 3, path: C:\Users\All Users\OpenSubtitlesPlayer\LIVE\L3
level: 3, path: C:\Users\All Users\OpenSubtitlesPlayer\LIVE\MPEG2
level: 3, path: C:\Users\All Users\OpenSubtitlesPlayer\LIVE\QUARTZ
level: 3, path: C:\Users\All Users\OpenSubtitlesPlayer\LIVE\rar
level: 2, path: C:\Users\All Users\OpenSubtitlesPlayer\Searchdir.dat
level: 1, path: C:\Users\All Users\Oracle
level: 2, path: C:\Users\All Users\Oracle
level: 2, path: C:\Users\All Users\Oracle\Java
level: 3, path: C:\Users\All Users\Oracle\Java
level: 3, path: C:\Users\All Users\Oracle\Java\.oracle_jre_usage
level: 3, path: C:\Users\All Users\Oracle\Java\installcache_x64
level: 3, path: C:\Users\All Users\Oracle\Java\java.settings.cfg
level: 3, path: C:\Users\All Users\Oracle\Java\javapath
level: 3, path: C:\Users\All Users\Oracle\Java\javapath_target_841765
level: 1, path: C:\Users\All Users\Package Cache
level: 2, path: C:\Users\All Users\Package Cache
level: 2, path: C:\Users\All Users\Package Cache\54050A5F8AE7F0C56E553F0090146C17A1D2BF8D
level: 3, path: C:\Users\All Users\Package Cache\54050A5F8AE7F0C56E553F0090146C17A1D2BF8D
level: 3, path: C:\Users\All Users\Package Cache\54050A5F8AE7F0C56E553F0090146C17A1D2BF8D\packages
level: 2, path: C:\Users\All Users\Package Cache\CEC09ABE2B23F0EFA16A4067F2F6738B3C1A1893
level: 3, path: C:\Users\All Users\Package Cache\CEC09ABE2B23F0EFA16A4067F2F6738B3C1A1893
level: 3, path: C:\Users\All Users\Package Cache\CEC09ABE2B23F0EFA16A4067F2F6738B3C1A1893\py.exe
level: 2, path: C:\Users\All Users\Package Cache\{0084DB64-F560-4F30-9FD6-147A641B859C}v3.6.2150.0
level: 3, path: C:\Users\All Users\Package Cache\{0084DB64-F560-4F30-9FD6-147A641B859C}v3.6.2150.0
level: 3, path: C:\Users\All Users\Package Cache\{0084DB64-F560-4F30-9FD6-147A641B859C}v3.6.2150.0\test_pdb.msi
level: 2, path: C:\Users\All Users\Package Cache\{029DA848-1A80-34D3-BFC1-A6447BFC8E7F}v14.11.25325
level: 3, path: C:\Users\All Users\Package Cache\{029DA848-1A80-34D3-BFC1-A6447BFC8E7F}v14.11.25325
level: 3, path: C:\Users\All Users\Package Cache\{029DA848-1A80-34D3-BFC1-A6447BFC8E7F}v14.11.25325\packages
level: 2, path: C:\Users\All Users\Package Cache\{13A4EE12-23EA-3371-91EE-EFB36DDFFF3E}v12.0.21005
level: 3, path: C:\Users\All Users\Package Cache\{13A4EE12-23EA-3371-91EE-EFB36DDFFF3E}v12.0.21005
level: 3, path: C:\Users\All Users\Package Cache\{13A4EE12-23EA-3371-91EE-EFB36DDFFF3E}v12.0.21005\packages
level: 2, path: C:\Users\All Users\Package Cache\{2636F1E4-2BC5-4B19-BFFD-A08F72598309}v3.6.6032.0
level: 3, path: C:\Users\All Users\Package Cache\{2636F1E4-2BC5-4B19-BFFD-A08F72598309}v3.6.6032.0
level: 3, path: C:\Users\All Users\Package Cache\{2636F1E4-2BC5-4B19-BFFD-A08F72598309}v3.6.6032.0\launcher.msi
level: 2, path: C:\Users\All Users\Package Cache\{348C0EFF-60B1-4E68-88B8-33D7DF70DFCF}v3.6.2150.0
level: 3, path: C:\Users\All Users\Package Cache\{348C0EFF-60B1-4E68-88B8-33D7DF70DFCF}v3.6.2150.0
level: 3, path: C:\Users\All Users\Package Cache\{348C0EFF-60B1-4E68-88B8-33D7DF70DFCF}v3.6.2150.0\exe.msi
level: 2, path: C:\Users\All Users\Package Cache\{404c9c27-8377-4fd1-b607-7ca635db4e49}
level: 3, path: C:\Users\All Users\Package Cache\{404c9c27-8377-4fd1-b607-7ca635db4e49}
level: 3, path: C:\Users\All Users\Package Cache\{404c9c27-8377-4fd1-b607-7ca635db4e49}\state.rsm
level: 3, path: C:\Users\All Users\Package Cache\{404c9c27-8377-4fd1-b607-7ca635db4e49}\VC_redist.x86.exe
level: 2, path: C:\Users\All Users\Package Cache\{433FD2E2-839C-4211-88B7-45C90F738842}v3.6.2150.0
level: 3, path: C:\Users\All Users\Package Cache\{433FD2E2-839C-4211-88B7-45C90F738842}v3.6.2150.0
level: 3, path: C:\Users\All Users\Package Cache\{433FD2E2-839C-4211-88B7-45C90F738842}v3.6.2150.0\test.msi
level: 2, path: C:\Users\All Users\Package Cache\{4542573C-6216-4584-BA90-72BAF7954404}v3.6.2150.0
level: 3, path: C:\Users\All Users\Package Cache\{4542573C-6216-4584-BA90-72BAF7954404}v3.6.2150.0
level: 3, path: C:\Users\All Users\Package Cache\{4542573C-6216-4584-BA90-72BAF7954404}v3.6.2150.0\core.msi
level: 2, path: C:\Users\All Users\Package Cache\{49C645E6-ED07-4A99-971D-C78DA6C4ACFE}v3.6.2150.0
level: 3, path: C:\Users\All Users\Package Cache\{49C645E6-ED07-4A99-971D-C78DA6C4ACFE}v3.6.2150.0
level: 3, path: C:\Users\All Users\Package Cache\{49C645E6-ED07-4A99-971D-C78DA6C4ACFE}v3.6.2150.0\exe_pdb.msi
level: 2, path: C:\Users\All Users\Package Cache\{568CD07E-0824-3EEB-AEC1-8FD51F3C85CF}v14.11.25325
level: 3, path: C:\Users\All Users\Package Cache\{568CD07E-0824-3EEB-AEC1-8FD51F3C85CF}v14.11.25325
level: 3, path: C:\Users\All Users\Package Cache\{568CD07E-0824-3EEB-AEC1-8FD51F3C85CF}v14.11.25325\packages
level: 2, path: C:\Users\All Users\Package Cache\{5FEE3F00-F984-49A6-880C-CDEB3A9DC308}v3.6.2150.0
level: 3, path: C:\Users\All Users\Package Cache\{5FEE3F00-F984-49A6-880C-CDEB3A9DC308}v3.6.2150.0
level: 3, path: C:\Users\All Users\Package Cache\{5FEE3F00-F984-49A6-880C-CDEB3A9DC308}v3.6.2150.0\path.msi
level: 2, path: C:\Users\All Users\Package Cache\{69E3E4A6-2A0F-4A32-9C2D-591EEC107289}v3.6.2150.0
level: 3, path: C:\Users\All Users\Package Cache\{69E3E4A6-2A0F-4A32-9C2D-591EEC107289}v3.6.2150.0
level: 3, path: C:\Users\All Users\Package Cache\{69E3E4A6-2A0F-4A32-9C2D-591EEC107289}v3.6.2150.0\dev.msi
level: 2, path: C:\Users\All Users\Package Cache\{6B2D61BA-C42D-4324-B23F-1D7B5A2808EF}v3.6.2150.0
level: 3, path: C:\Users\All Users\Package Cache\{6B2D61BA-C42D-4324-B23F-1D7B5A2808EF}v3.6.2150.0
level: 3, path: C:\Users\All Users\Package Cache\{6B2D61BA-C42D-4324-B23F-1D7B5A2808EF}v3.6.2150.0\pip.msi
level: 2, path: C:\Users\All Users\Package Cache\{6c6356fe-cbfa-4944-9bed-a9e99f45cb7a}
level: 3, path: C:\Users\All Users\Package Cache\{6c6356fe-cbfa-4944-9bed-a9e99f45cb7a}
level: 3, path: C:\Users\All Users\Package Cache\{6c6356fe-cbfa-4944-9bed-a9e99f45cb7a}\state.rsm
level: 3, path: C:\Users\All Users\Package Cache\{6c6356fe-cbfa-4944-9bed-a9e99f45cb7a}\VC_redist.x64.exe
level: 2, path: C:\Users\All Users\Package Cache\{77259715-4E95-461D-B7C0-5D94B821CFCA}v3.6.2150.0
level: 3, path: C:\Users\All Users\Package Cache\{77259715-4E95-461D-B7C0-5D94B821CFCA}v3.6.2150.0
level: 3, path: C:\Users\All Users\Package Cache\{77259715-4E95-461D-B7C0-5D94B821CFCA}v3.6.2150.0\core_pdb.msi
level: 2, path: C:\Users\All Users\Package Cache\{796410A7-1669-4FE4-8332-F684B61269E2}v3.6.2150.0
level: 3, path: C:\Users\All Users\Package Cache\{796410A7-1669-4FE4-8332-F684B61269E2}v3.6.2150.0
level: 3, path: C:\Users\All Users\Package Cache\{796410A7-1669-4FE4-8332-F684B61269E2}v3.6.2150.0\doc.msi
level: 2, path: C:\Users\All Users\Package Cache\{79B4337D-166F-4BC0-B67A-F73806CC730E}v3.6.2150.0
level: 3, path: C:\Users\All Users\Package Cache\{79B4337D-166F-4BC0-B67A-F73806CC730E}v3.6.2150.0
level: 3, path: C:\Users\All Users\Package Cache\{79B4337D-166F-4BC0-B67A-F73806CC730E}v3.6.2150.0\lib.msi
level: 2, path: C:\Users\All Users\Package Cache\{7f51bdb9-ee21-49ee-94d6-90afc321780e}
level: 3, path: C:\Users\All Users\Package Cache\{7f51bdb9-ee21-49ee-94d6-90afc321780e}
level: 3, path: C:\Users\All Users\Package Cache\{7f51bdb9-ee21-49ee-94d6-90afc321780e}\state.rsm
level: 3, path: C:\Users\All Users\Package Cache\{7f51bdb9-ee21-49ee-94d6-90afc321780e}\vcredist_x64.exe
level: 2, path: C:\Users\All Users\Package Cache\{929FBD26-9020-399B-9A7A-751D61F0B942}v12.0.21005
level: 3, path: C:\Users\All Users\Package Cache\{929FBD26-9020-399B-9A7A-751D61F0B942}v12.0.21005
level: 3, path: C:\Users\All Users\Package Cache\{929FBD26-9020-399B-9A7A-751D61F0B942}v12.0.21005\packages
level: 2, path: C:\Users\All Users\Package Cache\{93C956E0-8513-464B-A862-B26A0F59140F}v3.6.2150.0
level: 3, path: C:\Users\All Users\Package Cache\{93C956E0-8513-464B-A862-B26A0F59140F}v3.6.2150.0
level: 3, path: C:\Users\All Users\Package Cache\{93C956E0-8513-464B-A862-B26A0F59140F}v3.6.2150.0\lib_pdb.msi
level: 2, path: C:\Users\All Users\Package Cache\{9B79DE7E-E864-4758-8DFC-85DA43B19671}v3.6.2150.0
level: 3, path: C:\Users\All Users\Package Cache\{9B79DE7E-E864-4758-8DFC-85DA43B19671}v3.6.2150.0
level: 3, path: C:\Users\All Users\Package Cache\{9B79DE7E-E864-4758-8DFC-85DA43B19671}v3.6.2150.0\tools.msi
level: 2, path: C:\Users\All Users\Package Cache\{A749D8E6-B613-3BE3-8F5F-045C84EBA29B}v12.0.21005
level: 3, path: C:\Users\All Users\Package Cache\{A749D8E6-B613-3BE3-8F5F-045C84EBA29B}v12.0.21005
level: 3, path: C:\Users\All Users\Package Cache\{A749D8E6-B613-3BE3-8F5F-045C84EBA29B}v12.0.21005\packages
level: 2, path: C:\Users\All Users\Package Cache\{B0037450-526D-3448-A370-CACBD87769A0}v14.11.25325
level: 3, path: C:\Users\All Users\Package Cache\{B0037450-526D-3448-A370-CACBD87769A0}v14.11.25325
level: 3, path: C:\Users\All Users\Package Cache\{B0037450-526D-3448-A370-CACBD87769A0}v14.11.25325\packages
level: 2, path: C:\Users\All Users\Package Cache\{B13B3E11-1555-353F-A63A-8933EE104FBD}v14.11.25325
level: 3, path: C:\Users\All Users\Package Cache\{B13B3E11-1555-353F-A63A-8933EE104FBD}v14.11.25325
level: 3, path: C:\Users\All Users\Package Cache\{B13B3E11-1555-353F-A63A-8933EE104FBD}v14.11.25325\packages
level: 2, path: C:\Users\All Users\Package Cache\{C286663D-0309-4480-B282-AEF543D93814}v3.6.2150.0
level: 3, path: C:\Users\All Users\Package Cache\{C286663D-0309-4480-B282-AEF543D93814}v3.6.2150.0
level: 3, path: C:\Users\All Users\Package Cache\{C286663D-0309-4480-B282-AEF543D93814}v3.6.2150.0\tcltk_pdb.msi
level: 2, path: C:\Users\All Users\Package Cache\{ce085a78-074e-4823-8dc1-8a721b94b76d}
level: 3, path: C:\Users\All Users\Package Cache\{ce085a78-074e-4823-8dc1-8a721b94b76d}
level: 3, path: C:\Users\All Users\Package Cache\{ce085a78-074e-4823-8dc1-8a721b94b76d}\state.rsm
level: 3, path: C:\Users\All Users\Package Cache\{ce085a78-074e-4823-8dc1-8a721b94b76d}\vcredist_x86.exe
level: 2, path: C:\Users\All Users\Package Cache\{DF24AFFD-23AB-4A7D-A0E0-6410CE3B6B9D}v3.6.2150.0
level: 3, path: C:\Users\All Users\Package Cache\{DF24AFFD-23AB-4A7D-A0E0-6410CE3B6B9D}v3.6.2150.0
level: 3, path: C:\Users\All Users\Package Cache\{DF24AFFD-23AB-4A7D-A0E0-6410CE3B6B9D}v3.6.2150.0\tcltk.msi
level: 2, path: C:\Users\All Users\Package Cache\{F8CFEB22-A2E7-3971-9EDA-4B11EDEFC185}v12.0.21005
level: 3, path: C:\Users\All Users\Package Cache\{F8CFEB22-A2E7-3971-9EDA-4B11EDEFC185}v12.0.21005
level: 3, path: C:\Users\All Users\Package Cache\{F8CFEB22-A2E7-3971-9EDA-4B11EDEFC185}v12.0.21005\packages
level: 1, path: C:\Users\All Users\shimgen
level: 2, path: C:\Users\All Users\shimgen
level: 2, path: C:\Users\All Users\shimgen\generatedfiles
level: 3, path: C:\Users\All Users\shimgen\generatedfiles
level: 1, path: C:\Users\All Users\Start Menu
level: 2, path: C:\Users\All Users\Start Menu
Permission denied. Skipping
level: 1, path: C:\Users\All Users\Templates
level: 2, path: C:\Users\All Users\Templates
Permission denied. Skipping
level: 1, path: C:\Users\All Users\Unity
level: 2, path: C:\Users\All Users\Unity
level: 2, path: C:\Users\All Users\Unity\2017.1
level: 3, path: C:\Users\All Users\Unity\2017.1
level: 2, path: C:\Users\All Users\Unity\index-local.xml
level: 2, path: C:\Users\All Users\Unity\Unity_lic.ulf
level: 1, path: C:\Users\All Users\{30FA7941-4170-4C83-A9A8-FDF01C431704}
level: 2, path: C:\Users\All Users\{30FA7941-4170-4C83-A9A8-FDF01C431704}
level: 2, path: C:\Users\All Users\{30FA7941-4170-4C83-A9A8-FDF01C431704}\Controller Editor Setup PC.dat
level: 2, path: C:\Users\All Users\{30FA7941-4170-4C83-A9A8-FDF01C431704}\Controller Editor Setup PC.exe
level: 2, path: C:\Users\All Users\{30FA7941-4170-4C83-A9A8-FDF01C431704}\Controller Editor Setup PC.msi
level: 2, path: C:\Users\All Users\{30FA7941-4170-4C83-A9A8-FDF01C431704}\Controller Editor Setup PC.par
level: 2, path: C:\Users\All Users\{30FA7941-4170-4C83-A9A8-FDF01C431704}\Controller Editor Setup PC.res
level: 2, path: C:\Users\All Users\{30FA7941-4170-4C83-A9A8-FDF01C431704}\instance.dat
level: 2, path: C:\Users\All Users\{30FA7941-4170-4C83-A9A8-FDF01C431704}\mia.lib
level: 2, path: C:\Users\All Users\{B0CAD5CC-867E-473E-B55F-339F9635A45D}\Guitar Rig Mobile IO Setup PC.dat
level: 2, path: C:\Users\All Users\{B0CAD5CC-867E-473E-B55F-339F9635A45D}\Guitar Rig Mobile IO Setup PC.exe
level: 2, path: C:\Users\All Users\{B0CAD5CC-867E-473E-B55F-339F9635A45D}\Guitar Rig Mobile IO Setup PC.msi
level: 2, path: C:\Users\All Users\{B0CAD5CC-867E-473E-B55F-339F9635A45D}\Guitar Rig Mobile IO Setup PC.par
level: 2, path: C:\Users\All Users\{B0CAD5CC-867E-473E-B55F-339F9635A45D}\Guitar Rig Mobile IO Setup PC.res
level: 1, path: C:\Users\All Users\{B7072B15-6E80-42FF-A9AE-4E62AF2B2418}
level: 2, path: C:\Users\All Users\{B7072B15-6E80-42FF-A9AE-4E62AF2B2418}
level: 2, path: C:\Users\All Users\{B7072B15-6E80-42FF-A9AE-4E62AF2B2418}\Guitar Rig 5 Setup PC.dat
level: 2, path: C:\Users\All Users\{B7072B15-6E80-42FF-A9AE-4E62AF2B2418}\Guitar Rig 5 Setup PC.exe
level: 2, path: C:\Users\All Users\{B7072B15-6E80-42FF-A9AE-4E62AF2B2418}\Guitar Rig 5 Setup PC.msi
level: 2, path: C:\Users\All Users\{B7072B15-6E80-42FF-A9AE-4E62AF2B2418}\Guitar Rig 5 Setup PC.par
level: 2, path: C:\Users\All Users\{B7072B15-6E80-42FF-A9AE-4E62AF2B2418}\Guitar Rig 5 Setup PC.res
level: 2, path: C:\Users\All Users\{B7072B15-6E80-42FF-A9AE-4E62AF2B2418}\instance.dat
level: 2, path: C:\Users\All Users\{B7072B15-6E80-42FF-A9AE-4E62AF2B2418}\mia.lib
level: 0, path: C:\Users\Default
level: 1, path: C:\Users\Default
level: 1, path: C:\Users\Default\AppData
level: 2, path: C:\Users\Default\AppData
level: 2, path: C:\Users\Default\AppData\Local
level: 3, path: C:\Users\Default\AppData\Local
level: 3, path: C:\Users\Default\AppData\Local\Application Data
level: 3, path: C:\Users\Default\AppData\Local\History
level: 3, path: C:\Users\Default\AppData\Local\Microsoft
level: 3, path: C:\Users\Default\AppData\Local\Temp
level: 3, path: C:\Users\Default\AppData\Local\Temporary Internet Files
level: 2, path: C:\Users\Default\AppData\Roaming
level: 3, path: C:\Users\Default\AppData\Roaming
level: 3, path: C:\Users\Default\AppData\Roaming\Media Center Programs
level: 3, path: C:\Users\Default\AppData\Roaming\Microsoft
level: 1, path: C:\Users\Default\Application Data
level: 2, path: C:\Users\Default\Application Data
Permission denied. Skipping
Permission denied. Skipping
level: 1, path: C:\Users\Default\Desktop
level: 2, path: C:\Users\Default\Desktop
level: 1, path: C:\Users\Default\Documents
level: 2, path: C:\Users\Default\Documents
level: 2, path: C:\Users\Default\Documents\My Music
level: 3, path: C:\Users\Default\Documents\My Music
Permission denied. Skipping
level: 2, path: C:\Users\Default\Documents\My Pictures
level: 3, path: C:\Users\Default\Documents\My Pictures
Permission denied. Skipping
level: 2, path: C:\Users\Default\Documents\My Videos
level: 3, path: C:\Users\Default\Documents\My Videos
Permission denied. Skipping
level: 1, path: C:\Users\Default\Favorites
level: 2, path: C:\Users\Default\Favorites
level: 1, path: C:\Users\Default\Local Settings
level: 2, path: C:\Users\Default\Local Settings
Permission denied. Skipping
level: 1, path: C:\Users\Default\Music
level: 2, path: C:\Users\Default\Music
level: 1, path: C:\Users\Default\My Documents
level: 2, path: C:\Users\Default\My Documents
Permission denied. Skipping
level: 1, path: C:\Users\Default\NetHood
level: 2, path: C:\Users\Default\NetHood
Permission denied. Skipping
level: 1, path: C:\Users\Default\NTUSER.DAT
level: 1, path: C:\Users\Default\NTUSER.DAT.LOG
level: 1, path: C:\Users\Default\NTUSER.DAT.LOG1
level: 1, path: C:\Users\Default\NTUSER.DAT.LOG2
level: 1, path: C:\Users\Default\NTUSER.DAT{016888bd-6c6f-11de-8d1d-001e0bcde3ec}.TM.blf
level: 1, path: C:\Users\Default\NTUSER.DAT{016888bd-6c6f-11de-8d1d-001e0bcde3ec}.TMContainer00000000000000000001.regtrans-ms
level: 1, path: C:\Users\Default\NTUSER.DAT{016888bd-6c6f-11de-8d1d-001e0bcde3ec}.TMContainer00000000000000000002.regtrans-ms
level: 1, path: C:\Users\Default\Pictures
level: 2, path: C:\Users\Default\Pictures
level: 1, path: C:\Users\Default\PrintHood
level: 2, path: C:\Users\Default\PrintHood
Permission denied. Skipping
level: 1, path: C:\Users\Default\Recent
level: 2, path: C:\Users\Default\Recent
Permission denied. Skipping
level: 1, path: C:\Users\Default\Saved Games
level: 2, path: C:\Users\Default\Saved Games
level: 1, path: C:\Users\Default\SendTo
level: 2, path: C:\Users\Default\SendTo
Permission denied. Skipping
Permission denied. Skipping
level: 1, path: C:\Users\Default\Templates
level: 2, path: C:\Users\Default\Templates
Permission denied. Skipping
level: 1, path: C:\Users\Default\Videos
level: 2, path: C:\Users\Default\Videos
level: 0, path: C:\Users\Default User
level: 1, path: C:\Users\Default User
Permission denied. Skipping
level: 0, path: C:\Users\desktop.ini
level: 0, path: C:\Users\Public
level: 1, path: C:\Users\Public
level: 1, path: C:\Users\Public\Desktop
level: 2, path: C:\Users\Public\Desktop
level: 2, path: C:\Users\Public\Desktop\desktop.ini
level: 2, path: C:\Users\Public\Desktop\EasyBCD 2.3.lnk
level: 2, path: C:\Users\Public\Desktop\IntelliJ IDEA Community Edition 2017.2.5 x64.lnk
level: 2, path: C:\Users\Public\Desktop\JetBrains PyCharm Community Edition 2017.2.1 x64.lnk
level: 2, path: C:\Users\Public\Desktop\Unity 2017.1.1f1 (64-bit).lnk
level: 1, path: C:\Users\Public\desktop.ini
level: 1, path: C:\Users\Public\Documents
level: 2, path: C:\Users\Public\Documents
level: 2, path: C:\Users\Public\Documents\Daemon Tools Images
level: 3, path: C:\Users\Public\Documents\Daemon Tools Images
level: 2, path: C:\Users\Public\Documents\desktop.ini
level: 2, path: C:\Users\Public\Documents\My Music
level: 3, path: C:\Users\Public\Documents\My Music
Permission denied. Skipping
level: 2, path: C:\Users\Public\Documents\My Pictures
level: 3, path: C:\Users\Public\Documents\My Pictures
Permission denied. Skipping
level: 2, path: C:\Users\Public\Documents\My Videos
level: 3, path: C:\Users\Public\Documents\My Videos
Permission denied. Skipping
level: 2, path: C:\Users\Public\Documents\Python Scripts
level: 3, path: C:\Users\Public\Documents\Python Scripts
level: 1, path: C:\Users\Public\Favorites
level: 2, path: C:\Users\Public\Favorites
level: 1, path: C:\Users\Public\Foxit Software
level: 2, path: C:\Users\Public\Foxit Software
level: 2, path: C:\Users\Public\Foxit Software\Foxit Reader
level: 3, path: C:\Users\Public\Foxit Software\Foxit Reader
level: 3, path: C:\Users\Public\Foxit Software\Foxit Reader\ConnectedPDF
level: 3, path: C:\Users\Public\Foxit Software\Foxit Reader\StartPage 8.3.0
level: 1, path: C:\Users\Public\Libraries
level: 2, path: C:\Users\Public\Libraries
level: 2, path: C:\Users\Public\Libraries\desktop.ini
level: 2, path: C:\Users\Public\Libraries\RecordedTV.library-ms
level: 1, path: C:\Users\Public\Music
level: 2, path: C:\Users\Public\Music
level: 2, path: C:\Users\Public\Music\desktop.ini
level: 2, path: C:\Users\Public\Music\Sample Music
level: 3, path: C:\Users\Public\Music\Sample Music
level: 3, path: C:\Users\Public\Music\Sample Music\AlbumArt_{5FA05D35-A682-4AF6-96F7-0773E42D4D16}_Large.jpg
level: 3, path: C:\Users\Public\Music\Sample Music\AlbumArt_{5FA05D35-A682-4AF6-96F7-0773E42D4D16}_Small.jpg
level: 3, path: C:\Users\Public\Music\Sample Music\desktop.ini
level: 3, path: C:\Users\Public\Music\Sample Music\Kalimba.mp3
level: 3, path: C:\Users\Public\Music\Sample Music\Maid with the Flaxen Hair.mp3
level: 3, path: C:\Users\Public\Music\Sample Music\Sleep Away.mp3
level: 1, path: C:\Users\Public\Pictures
level: 2, path: C:\Users\Public\Pictures
level: 2, path: C:\Users\Public\Pictures\desktop.ini
level: 2, path: C:\Users\Public\Pictures\Sample Pictures
level: 3, path: C:\Users\Public\Pictures\Sample Pictures
level: 3, path: C:\Users\Public\Pictures\Sample Pictures\Chrysanthemum.jpg
level: 3, path: C:\Users\Public\Pictures\Sample Pictures\Desert.jpg
level: 3, path: C:\Users\Public\Pictures\Sample Pictures\desktop.ini
level: 3, path: C:\Users\Public\Pictures\Sample Pictures\Hydrangeas.jpg
level: 3, path: C:\Users\Public\Pictures\Sample Pictures\Jellyfish.jpg
level: 3, path: C:\Users\Public\Pictures\Sample Pictures\Koala.jpg
level: 3, path: C:\Users\Public\Pictures\Sample Pictures\Lighthouse.jpg
level: 3, path: C:\Users\Public\Pictures\Sample Pictures\Penguins.jpg
level: 3, path: C:\Users\Public\Pictures\Sample Pictures\Tulips.jpg
level: 1, path: C:\Users\Public\Recorded TV
level: 2, path: C:\Users\Public\Recorded TV
level: 2, path: C:\Users\Public\Recorded TV\desktop.ini
level: 2, path: C:\Users\Public\Recorded TV\Sample Media
level: 3, path: C:\Users\Public\Recorded TV\Sample Media
level: 3, path: C:\Users\Public\Recorded TV\Sample Media\desktop.ini
level: 3, path: C:\Users\Public\Recorded TV\Sample Media\win7_scenic-demoshort_raw.wtv
level: 1, path: C:\Users\Public\Videos
level: 2, path: C:\Users\Public\Videos
level: 2, path: C:\Users\Public\Videos\desktop.ini
level: 2, path: C:\Users\Public\Videos\Sample Videos
level: 3, path: C:\Users\Public\Videos\Sample Videos
level: 3, path: C:\Users\Public\Videos\Sample Videos\desktop.ini
level: 3, path: C:\Users\Public\Videos\Sample Videos\Wildlife.wmv

``````

## folder_crawler evolves into folder_spy!

``````

In [49]:

a = ["a", "d", "b", "c"]

for letter in a:
if letter == "d":
print("d was the number: " + str(a.index(letter)))

``````
``````

d was the number: 1

``````
``````

In [52]:

enumerate(a)

for index, letter in enumerate(a):
if letter == "d":
print(str(index))

``````
``````

1

``````
``````

In [55]:

a = ["a", "b", "c"]
b = [3342,4554,334]
dict(zip(a,b))

``````
``````

Out[55]:

{'a': 3342, 'b': 4554, 'c': 334}

``````
``````

In [56]:

dict(enumerate(a))

``````
``````

Out[56]:

{0: 'a', 1: 'b', 2: 'c'}

``````
``````

In [59]:

def bla():
return [1,2,3,4]

x, y, z, w = bla()
x

``````
``````

Out[59]:

1

``````
``````

In [60]:

x, y = (1,3)

``````
``````

In [61]:

print(y)

``````
``````

3

``````
``````

In [62]:

a = 7
b = 4

c = a
a = b
b = c

a, b = b, (a+12)

``````
``````

In [63]:

range(0,88)

``````
``````

Out[63]:

range(0, 88)

``````
``````

In [64]:

a = [1,2,3,4,5,6,7,8]
sum(a)

``````
``````

Out[64]:

36

``````
``````

In [65]:

return number + 30

``````
``````

In [66]:

print(new_list)

``````
``````

<map object at 0x03FFE290>

``````
``````

In [68]:

for i in new_list:
print(i)

``````
``````

31
32
33
34
35
36
37
38

``````
``````

In [72]:

def some_filter(x):
if x > 4:
return True
return False

new_list = filter(some_filter, a)

``````
``````

In [73]:

print(new_list)

``````
``````

<filter object at 0x040EB8F0>

``````
``````

In [74]:

for i in new_list:
print(i)

``````
``````

5
6
7
8

``````
``````

In [91]:

new_list = filter((lambda x: x > 4), a)

``````
``````

In [92]:

another_list = map((lambda  x: x + 30), a)

``````
``````

In [98]:

reduced_list = reduce((lambda x,a: a + x), a)

``````
``````

---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-98-366348c85164> in <module>()
----> 1 reduced_list = reduce((lambda x,a: a + x), a)

NameError: name 'reduce' is not defined

``````
``````

In [102]:

sum = 0
[x+1 for x in [1,2,1,1]  if x < 2]

``````
``````

Out[102]:

[2, 2, 2]

``````
``````

In [100]:

sum

``````
``````

Out[100]:

0

``````
``````

In [ ]:

``````