forked from PascalRiekenberg/LazProfiler
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathLazProfilerWindow.lfm
More file actions
538 lines (538 loc) · 30.3 KB
/
LazProfilerWindow.lfm
File metadata and controls
538 lines (538 loc) · 30.3 KB
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
object LazProfilerForm: TLazProfilerForm
Left = 488
Height = 201
Top = 163
Width = 605
Caption = 'Profiler'
ClientHeight = 201
ClientWidth = 605
Position = poScreenCenter
object PageControl: TPageControl
Left = 0
Height = 201
Top = 0
Width = 605
ActivePage = TabSheet2
Align = alClient
ParentFont = False
TabIndex = 1
TabOrder = 0
object TabSheet1: TTabSheet
Caption = 'Result'
ClientHeight = 168
ClientWidth = 595
ParentFont = False
object VST: TLazVirtualStringTree
Left = 0
Height = 168
Top = 0
Width = 595
Align = alClient
BorderStyle = bsNone
Colors.UnfocusedSelectionColor = clGradientActiveCaption
DefaultNodeHeight = 19
DefaultText = 'Node'
Header.AutoSizeIndex = 0
Header.Columns = <
item
CheckBox = True
MinWidth = 100
Position = 0
Text = 'Name'
Width = 437
end
item
MinWidth = 85
Position = 1
Text = 'Class'
Width = 100
end
item
MinWidth = 80
Position = 2
Text = 'Unit'
Width = 100
end
item
MinWidth = 110
Position = 3
Text = 'Package'
Width = 110
end
item
Alignment = taRightJustify
DefaultSortDirection = sdDescending
MinWidth = 60
Position = 4
Text = 'Count'
Width = 60
end
item
Alignment = taRightJustify
DefaultSortDirection = sdDescending
MinWidth = 65
Position = 5
Text = '% Net'
Width = 65
end
item
Alignment = taRightJustify
DefaultSortDirection = sdDescending
MinWidth = 60
Position = 6
Text = 'Σ Net'
Width = 60
end
item
Alignment = taRightJustify
DefaultSortDirection = sdDescending
MinWidth = 75
Position = 7
Text = '% Gross'
Width = 75
end
item
Alignment = taRightJustify
DefaultSortDirection = sdDescending
MinWidth = 70
Position = 8
Text = 'Σ Gross'
Width = 70
end
item
Alignment = taRightJustify
DefaultSortDirection = sdDescending
MinWidth = 65
Position = 9
Text = 'Ø Net'
Width = 65
end
item
Alignment = taRightJustify
DefaultSortDirection = sdDescending
MinWidth = 75
Position = 10
Text = 'Ø Gross'
Width = 75
end>
Header.Options = [hoColumnResize, hoDblClickResize, hoShowSortGlyphs, hoVisible]
Header.SortColumn = 0
Images = Icons
NodeDataSize = 4
ParentFont = False
TabOrder = 0
TreeOptions.AutoOptions = [toAutoDropExpand, toAutoScrollOnExpand, toAutoTristateTracking, toAutoDeleteMovedNodes, toAutoChangeScale]
TreeOptions.MiscOptions = [toCheckSupport, toFullRepaintOnResize, toInitOnSave, toToggleOnDblClick, toWheelPanning, toEditOnClick]
TreeOptions.PaintOptions = [toHideFocusRect, toShowDropmark, toShowTreeLines, toShowVertGridLines, toThemeAware, toUseBlendedImages, toStaticBackground]
TreeOptions.SelectionOptions = [toFullRowSelect]
OnBeforeCellPaint = VSTBeforeCellPaint
OnChecked = VSTChecked
OnCollapsed = VSTCollapsedExpanded
OnCompareNodes = VSTCompareNodes
OnDblClick = VSTDblClick
OnExpanded = VSTCollapsedExpanded
OnGetText = VSTGetText
OnGetImageIndex = VSTGetImageIndex
OnHeaderClick = VSTHeaderClick
OnInitChildren = VSTInitChildren
OnInitNode = VSTInitNode
OnResize = VSTResize
end
end
object TabSheet2: TTabSheet
Hint = 'Activates parsing of Sourcefiles'
Caption = 'Configuration'
ClientHeight = 168
ClientWidth = 595
ParentFont = False
object CBActive: TCheckBox
Left = 8
Height = 23
Top = 8
Width = 154
Caption = 'Activate LazProfiler'
TabOrder = 0
OnChange = CBActiveChange
end
object ErrorOutput: TMemo
Left = 10
Height = 123
Top = 39
Width = 580
Anchors = [akTop, akLeft, akRight, akBottom]
Color = clForm
ReadOnly = True
TabOrder = 1
OnChange = ErrorOutputChange
end
end
end
object Icons: TImageList
Scaled = True
Left = 372
Top = 133
Bitmap = {
4C7A090000001000000010000000670800000000000078DAE59A7B5054F715C7
17D8B03C04A16AD2688D638D4E1481451B4C22612A1190477C86340D8EC50758
63A7440D521F3C8A62A0659A66509A16666AC730631FD33FDAFF3A9352A3A609
C652216061883C94C702EEB20F586077F9F677EEDE5DEFDEBD77D905CDC4C96F
E63BFBE3DCF3F99DF33BBFF35B46AE0AC5D767D4EE0A845875AF0559EA762A13
BDE5C5836C17B3234DB53B829266CB0FB45DF56A0D395EB017ABAFBC782D6F79
93C9E4F2E90BAFD3E970E1C2056E5E555585898909AF79ABD58ACACA4A0C0D0D
714C676727CE9F3FEF356FB158505A5A0A8D46E3E4693D5FF2A7D8D5D5D5DCBC
A2A2026363633ED7CF6C36BB7C7ACBCF24C537602C2EBE52CA54316BB6E86370
F2710D17D6C7352459D2E9AB250F8B95AB0BF32B94E27DA98BCB1A2CAE9077CB
4F664F7C7EA5DC5C6A3F5ED6C3B99E38077EEDD9F0B3E92BD91A78DB130FA106
526733873B55FAB87C0724D5C52D4BA98DBB49A2B9D72014FEC9BF8BAD4BAD55
DB526AD520D19C6CF4CC13BAE5F7EAAC94BA383DCF99526B63F74AD9A4D8D4DA
B846D958E29CEAD497C43CADEDC837B9567D853101023E806C8EE7E42BE6D7EE
7D4697706ECD147B66E57DAC9B7FAB3E955CA73E2EB42594AFB190AF98FFD6EA
30DD8A6D4FE9147F728BF52027F68C7CC857CC872F0BD1911C3F2756AF8F6667
67667B9EA0B99C9F630486297524A16DE9A6450D2417BF70E617AED4491C01D9
269884BDD2C0CB3196F13E52FC475CA5150A1B531D93BF80F7E76D36DEE7EF32
2DF43A9381F73132F530758B6CBB67E860712C714EDE0EDA6B135387A8268FCB
A09C6FF2F225FFB9D42F8B49CF3374C7F6CAD8A4C6250FB1B89CFCFCFC6C01CA
60F0BEE2D1EC810F502A43AFA882162228F84904AA22DDEEBF5F40E435A95E53
2A838F337F2BCF5955410B2C81AAA7DDFAFF899084E6275431FFA1B8FEFE2117
290F3F7F25178FE2527CCA43151AA50B09DFEAC60747ECEF090A7FBDD369503D
B94215F49485B1D6C0C040E7FD0F8DFC912E6C51991B1FB6E8AC2E74E1C921A1
2D2864F9982A78A949EC4712F3114BEA75F3BF533F11B1BCCED92BA1E14913F3
16EC333B7DD833CE87F94AF01F3181C916B1B89ED51FFE610B0B2CF39FAEB1D0
9C6CDC33E613B9A45EF2FECF5FFCE10F22967C68B0AFC37D92FFB4D0463E33FC
02738925CEC9DB4B407B65F19A18DB21ACC9E33272B6AB237233A2AA4934F701
F5CB4D8FCAC9CD8CD230D6CA89E6CC46CF3C810733A36299FF35261CC888BAB1
3F332A5ECA26C5E66544157988E59213F98A79666FA0185EF0205F19BE9DE93A
EF739D316A4E429BDD478E6F98A97E023F395E787EAD24E1F979CBFB6213D8DB
3CC5E2736A93E2A5CE4FAE2652E7C7C593AEB5DB99F8D0BFF0D0138FEAFE7C2D
C6764553449AE2B36A12CDBD27E1B745D198C3A461B2F2A2790E3DF344A62A3E
8B657ED798C074235571235ECA26CD3616C9C772CD897CDDFEEDA1686CE063CC
C4934F830CDFCE749DF7B99EAE6854938436DE478E6F98A97E0FFCE4F807E7C7
7E6E2509CFCF5BDE179BC3CECEA6CD532C7A463E52BCD4F9C9D544EAFC68C8D4
DAED4C7CE85FC8F7C4A3BA3FBE0DE1DF97E96FB72D2D7DA8BF34869F1769F1D6
410DF6E70C20FFF020DE7F4F83CF3FEFE17CA486F6BE017FBC6CC6E9423D4E1C
1FC591421D720BB5D87D74186FEE1DC0AE1D779191D285F2B2110C0D8DBAB11F
5C30A1ACC488D277C7B1EDAF1358D865839F1E501880905E1B56FDD988D437EE
62736227F6EDE971AE41F9505C62CF5599F1FC0D1BC704B0C7F306A631AF6F1A
CA11FB3ADFFEE7385E49BB838DF1ED2CC71E582CF6FD9EFA991EE567C650593D
89F866207200C8FADB140ACF99907F6214AFFE4A8FD05EFBBAEBDFEE47C2860E
AC8B6EC5BF3FE9E26A45FB2D2F1BC37B5593A8FE8D0545172DF8658519A54546
141CD1E150DE1096FFCBCCF1AB2B8791C0E2ABD7B4E2F8B1BB2863752E38AA43
C96903DE3D3B86AA4A33C79E2D33E1D4093D0E9ED421E9030382FAA7E1A703BE
77E81E5E7ABE1D31ABBFC02B89B771989D51FE4F4650F8CE288A4F1A505A6CE4
E2E6971B11F3F12422EF58E1C76AA160B57CE62F067C3FE94B6C58771B51AB5A
B02EA60507D8F91E3CA0C14F0F8FE0D8DBF65C0A8E68915DA9E7388A19F1C514
D6D668B139B31B892F76607D4C1B9E5BD1CCD6B8C5620F62CF9BFD6C9D41FCF8
C010DECA1BC6A1DC21EC2AD1C29FB1E1B72DD8B2AF0FE9A95D487AB9132FACFF
1F973BF1492FB7E1FD5F6BF0DAF65EBC91750FBB7FD8873DD9FDDC7A59AC675E
2A1F414281066969DD6CAF9DDCBEE3D6B6F2B19B7134BF1737594F525F6D4DEF
C68E577BB1731BD3D65E6CDBDA83B41D3D484EB7C725765D741B56AF6C61FC2D
AC58DA846B57EF70FD73FAC408D757299BBE446A925D2FE4DE83AADB8A05FF30
21FE457BDC358C5DB5FC16562EFB2FDB6717F7AEC2FEBE6194EBC98D2C069D2D
F557744E2F77DEA19F8C63ADDA9E33C5253623B51D83833A973B406B504F529C
58D61BD18C7936B903DFDD781BCF3D6BDF2FE57C78DF1DC66A25EF20F533F564
E13B779194D8C69D6FD4CA5BD8C4EA4CB5A2FD3A72768C47F19D92F9879D106A
36FC2F9ACE73FA2A7871BE627EA6BD08FD3DE951F2E2BCE5784F7BF1360FB95C
66CBCF35FF875D7F4FBDE02DEF4B2F4AF5DFC3BA4B5FC5F8F4D846E3A74736C0
2731C6C9FBCAF27A98BC704C4F4F73BF17E8BB726A6A0A939393DC7BE0F1F171
EE5DB2D16894E56D369B93258EDE9D134B1CBD8B2756AFD7BBF1147378781835
35355C1C07EB8849ACC160E0D8D1D151379EE292FF993367505252C2F90AF375
B0F46E5FABD5BAF18E7C69EDECEC6C5CBE7CD9992FB16477B02323236E3CB114
ABACAC0CC5C5C59CAF305FE2EEDFBFCFB1F47E5ECC538DFAFAFAB8F7F642D611
9358AA0FB1F47F03C43CED559C6F5E5E9E8B881D1C1CC4C0C0801B2FAE2FC575
E44B7129A683EDEFEF77E367CAD7C139E4C2CFF1FECC65FC1F5692378A
}
BitmapAdv = {
4C69020000004C7A090000001800000018000000310F00000000000078DAED9C
095054471AC7474E87CB13A390359868442511C4DB188FC825B81A03D1986834
82D77A438C170A0878266EAE4D4056128F18AD94A98DA92D932D9310B32B6250
F142322AA208720FC72087C3B7DFD773F0E6CD7BC31B66483659BBEAAB79EF75
F7AFBFFEF7D75F3FCAF2C9648F8A39655FB843DCBE971CC094A5CC744CB1949F
7570A3A0E9C6487DC961B7257CB14275FFD8F09C760CFB773A829FFD793C9CD9
BFB65D6348E17F1D3B858DA19FC74CC7346BF285CC5A7C7EC93E9AF03FCF57A9
54505D5DCDAE8B8B8BADCA57ABD590989808050505EC3E2626C6600C4BF92929
29909494040F1F3E64F7274F9E84152B56405D5D9DC5FC6FBFFD16366DDA048D
8D8D069A1C3D7A149293932DE61F39728469D3D4D464C03F71E204AC5DBBD662
3E69427EC6C5C5E9C7387EFC384445454149498955F46F6E6E866DDBB6E9D777
DDBA7550585868D5F824FD2946A95456565A253E2F7EB95B92FD333EB85D7C73
EDD1C9FCFB2CBDE3BEF722EB08B647DC4F7D3D637FBCE911FB63C16371A79FEC
203668CD6A6308B0AD368609B6C5634860B79B6F09BBAD1893C6CE500AB1A5C4
98147E9FD88C772D89315331C37EB764C4F135C1E7F9FCF6C8F8C1DC98E7F32D
895F213DDB5873B3E38A1F0FA8FD0F1EB13F5CD4CD830C9FEDC5FB4A2DFB9EC5
FB8EB8C8E2FB417A5B23FF09F10DEAB664ECE808BEEEB956BB1DD6E41BB02D1C
43B3C612E268F3E9ADEDE17B6EFA69351B837CDE9CF189209BB7072D5A8FCDA7
DFB286DF92C6E800B67E0FC4FE38E1D15B90A684ECF77327B33677518ABF7D60
9ADF2741FB7CD55A3B16712CC2C11AEC8034FFC8C07DBE2A34E0998AEADACB9D
96EEEF1DB46F681E9749F742CFA8AD546E5C9CCC0EFBA5603FB59E93EA5B1F90
3274B17E4EFB86BD86CF6B39E3B404A4FA1E6F4B33D47836B66DE6F6C3674784
FAD133AA636D389A4DF9BBFF73A2FC54BF1BDCB94F49F39FD3D67CA98DE1BAF8
6588B59DB8C7E786D13AA6F99D435FE502FECBA98EDF9E18627CDF65FD1423DF
1A00011F1968049AB5F0DBAEF739D57F5B20777DD0B0CF43EA4B0C317EBF6077
8557702F18B9AEBF22F0439FB1D84F693817DF6AA367A9BED5C81E477DA82F31
C4F83D87B82A9C7B3BC2D3E11EFA3601A97EC97C5F3536544D75BA76D487FA12
C3141F7FA0979F9BC250EB3172645E68F5D92F879E71DB68FB98E477EDEFC2DA
687F0DD77EBBB7D7F8E4414046D7E6F4D51507175BD646FB6B98E77DBB7AF5F4
710332BA36EAEBAAEDEB6AAB3011CEAC0DDA2D813A2F6D1D68AFF9E596B64E0A
9F2C0FCD5B02DF5BDB565777C5047F2E9A8AD3B605ED084D5F80EFA0AD6BE13C
A7BEC16D6C797BB44F04FAC572EE37A0D5F1FC38A61D536AE1CF5BCC48D34116
1C31913CCDB8738AB4D211C9D5BA3D5A482D7DB5F6A8081777AD59BBE8F6845A
6BD65CDF8E8A4FA1FD9527F2CCDB0CAE1D5A8A56071DA31E6D31A7CD6B68B5BC
FC705C8266CF99C86FA6F61CD8D8D863FB4E2A2D43AC1CE1B143DB9AACADADC3
1C7B0757E82CEF05F60E6E606BD739C344F3833C6D4DF92FB7B3773EE7D8B927
63EBCCC1B1ABE8FB8F8D8DB38E5F2C909FA3F40B64E7B4CDC1B1BB5AC7A4311C
3BF778A8E1F7143DBF6C1D067E696BDF0F6C6CDDD1678741FC58E9D4C9E686BD
BD5B15D75F7B872ED57676F271E8B742EE32183A3BF98BF2ED9D27FDCBC17932
D8C97D4FB44ECA6549271B793D5B435B478E0EDDD5380FFDFB8FA37CB0C2A5DB
CB20EF122ECA97BBCD3EE3D47521747609F9DEB0A6BFA3AD5DAF537A9FED5D2E
51736E8BCE6E210AB7C712C0A547B428DFB9DBF2CBAEBD12D18779E7F8758E8E
FD03757CBBCEBD27F2EB9D7A2C5574F53C0C2E3DD78BF25D7B6DD7B4792C21D7
A8BFDBA4501DDFB94B40A0585FFA157D7FF33CCCDA74F53864F4FEE3DA63F90C
B9931738B98D876E3DE38DF605F5617D91D1269FECF1C379AE1E5FE8F38A8BFB
8670E7AE61E0DA63298E9F32433F2EB6A1B69C7EA2EF3F6E7D8FCCEDE67948A5
6FEB79B8A59BC7618CD5630E5DDCF784BBBAAF872E7D3E842EBD8F84D333AAA3
36BAF6D4B7FBE39FB5F1FE23DCAF8BC7FEFD5D3D0FB1FB2E1E87F78BF9213589
1ACD5BDC142E7D3E6FF7FB4FF7C70F4676F33CACE273E919D559E70833D0ACA5
BBE7E163E66821B574F338D097ECD16B8E705910E2E74E666D6E5C9CCC26326C
C8BCA8D02165685551613EAB2222226CADF2F21332687454A84F3672C1D07CB2
A9CE122D909386A6D632D5DA7BA367E668C6D382F9BA286CC879F477AC7E4EA1
CFF8E3F34CCE7C2469B678AACF706CFB33A75FC5A2509FA542FDE819D5511B4E
FB9F8921C6C7FA744E5B6564A84F9B7985DA505B4EBF7489FCF6F82F959FC79F
373756343165A8A3B68F547EBAB9F1C3ED2B856F6EFCB797DFAAF5E0687DBCE2
357F4D2CE1535912ECEDA5E3D3B5397D7F6D3ECEFFA0B97CEA6386FF4679458C
2F1067E9EDC90F7C7E7BF283A9BC1219E6334B77AFBD9694A7CCC8CF4266767E
FEB5CE1711CD2AC9CCD5E2B73EDFFF30FFFE253BEF4E66F5F71FFCD334447676
5EB02CAB2C48965585B62A4276CCD63A3E678E466E361AF02C9BEA2CD1225876
2E0D396A2D4FADB9377E668E665C2D38BE9E0F9465E9DF7F026599FE41B2B399
BA7AA99A4D959D1D1E223BF733875B1122CB5A2AD48F9E511DB5D1B5A7BEC410
E3639B740E5B192A3BD3E6FB0FB5A1B69C7EE912F966FB6F063F8F3F6F6EACD0
355F476D1FA9FC7473E387DB570ADFDCF86F2F5FA735C65F34271EA3F96B6209
5F5377C6ABD5F7335EE6F4FD0DF807DBC13F6806DF28AF88F105E22CBD3DF981
CF6F4F7E309557F0D9ACD6FBAC5952F39419F959C8CCCECFBFD6F922ACD9B94A
3273B5F8ADCF774B8AD8FF0BA9ACAC86DCDC5AF8FAAB3A786FAF12D6BF590E4B
224B60E1FC625812550C715B4AE1E0A7559093530A15154A68696991FC7F4EAE
5D2D8443075410BF4509D1AB2A61EDCA0A58F9977258BAA814A21694C0FCB945
F04AC43D9839FD0EBC3AEB0E242694C077A76EB4C96D6A6A867FFF5407BB77D4
C0E6F5D5CC36AEAB86B762AA20664D252C8EA980D763CA61E1C2FB30F7952298
F552214C9F7A1B42A6DC8299D3F2E18B63A5D0D8D824CAFEEACB07E8730D5A2D
24C6AB606BB20AC23F6B8081D9CD202F0190D568CC4609D033A7097C0ED54050
D43D080BBE0D81136FC20BCF2B6067720928ABEA8CF8FF41BF899D105707DB93
EA61E3FB0D30FE3472CB5AB946560DD0FBF403787E591104BD7013268CFD059E
1F93076FEFBC6FB01EA4F7AEED1ABF89FDF6AE061893A5069B6A136CCE181E27
55F0C28BB761E238058C199E07237CAF41D6D95BFA38A1B524ADB7A126BB773C
80BDEF36C290EB0076A8836305807FB61ADE38D000EB12EA60CD2625CC8F57C2
C8A37520BFD7A21903DB0D8D2F8549CF2960EC883CF07FF61AAC595100656555
2C06294E889F9850C7F8EFED6D82ED07D43035136052A61A12DF6F64F3DAB2B9
06D75A09AB575440E4D23218F475BD7E1E8F7F590B93C62B609C963F6EE43538
7BB69CC537C5E0068C936DA8FDCEE47AD8FB76037CF05E13FCEDFD661CAB11F6
EC7C0049092A88DD88FCB555B07A7905444595C0B0CF6AF5FCDEDFA834FE0FBF
0EFECF5C8341FD2FC18EA422781FF70EC537F9B515FD4BC239ECDA8E6BB0BB01
DED9D3C0D8C9E87BC2D63AD88873A4385DB9B41C42775441B7BC663D7FE07B15
4CFFD1FED761980FF29FBA847BE4066CC07DB96A5939EB47FDE336536CD641F2
36158E5FCFFC26F6964D3510BD5E09117FAD019F930FC0A950CDD696D8F29BCD
30F6F5BB183BBFC028FF5CF01D7215063E950313C75F85C5B8E7695FAEFA8B66
8C0D6F2A2176430D6A5D8BF3A9659AD0B8A3BE6900F9FD16A3F8715234C3B04D
25F0C2A49B306E14C54E2E3C33E82A0CF0CAC1B95C8185AF17B33DBF8CC6585E
0E6B712DDE8CAE647AADC77DBB2E5AB3773DAE3C34E076C298E99EDD086362EE
4340D02DA6FD18D47E186A3FE4E92BC8BF084F7B5D80A598AB289F44CEBFCFE6
B11CE382E6B27A39E61D5CC7D53826E9DD27A7556BF70B4DF03CE6B7D0D98530
35301FA64CC0BD85DA8CF0CB85A1A8CDA0A72EE31A5C86917E57203EB694E52A
CA270BE616B37116BF5182B9B294D9E285256C7EBD91A9E38FDE5901D3C30A60
6A503E04605E9838561337C37CAEA2EF97A13F6A3378C0258898F10B1C3850C5
F2E0CB98ABE6BCAC19E7F55735632D98578CD7C5306F4E118CFE40093E9F5683
CF3E254C595C04A1C80E42CD2966C68EB8CEF6ECB3DE57D8BAF6FBD34518F864
0E24C5DF834B98BF5FC31C4B7990C6097FF12E8E751766E378B323D0F0FAE599
77217CC61D98813E4F0BB90D5303B47E8FD3EC575AD3A143AE8037C62471470F
BF02BE832F416666193B1B92307F538E0D0BCE873F4F2D80E9A10530639AD690
49630787DF818099053079FA6D983CF916E6328DDFC37D35F1381875A1351D3C
2007BC3C2EC0A285F9505A5AC5F2DC77A71430332C9FE5D8A0C9372124E016FA
A8311A3708FDED754A05CEB94DE074AD09FC16DC617A9326E4B7869D0303FBE5
60CC5C84BEBDCFC389AF720D72E8D1CFCB58FEA61C4BF3A6789B8C46D713F0B9
F3A546FDFA7ACF2F606B497AD33E25BF89ED8DDAF7EF7B11F7CC5DA3F392CE1D
3A1BC68FCE43DFF2987F34FF31B8DF478FCC03A79C567EFFD7F2599CD05A92DE
A409F94DECF531773127D70A9E6174EED0D940F3A67DD26AB81F67DD02AF79B7
E189B9B7E1E961D7981E1427B496A4376912BBA910D7B3D6E4194CF3CA3A9B8F
F9FB0EE6D85CCC8397592E1CC874C8615AD0DEA1F826DF87629CD05AF2F56EAB
D0D9702EAB8CE5D857C2711DC65F63F964C01317D8BE0CC7BD93185FC8625017
2742E5B77CF70AFB7426089935F9BB2E7C6060FF8F7C319DC5F8E6AE8B10C75C
7BC4B78C6F6A4DA5F2A5ACB735E6626A3E8FF8C6FC8E5EDF3FEAFE929AF32CE1
5BD2F68FC4977A66B4E77CF9BD97CCE871B5996B4681550D997ABEB5D95A7BC4
97CE17FB5B80BEDF42DF1121A36F7DD07744E87B1C0D0D0DF0E0C10366F5F5F5
ECFB1CF4CD95DADA5A666DF1B96C1D97CF262E9F5D5353C3BE5523C6272E31F9
6CE2F2D93A2E9FAD542A05F9C426DE9E3D7B203535D52C3DB8ECAAAA2A233E57
8FF4F47498366D1AFBB60D71A5E8C165D33752F87CBE1EFBF7EF67637CFCF1C7
065C213671B9EC8A8A0A233E5F6BF277E5CA956C8C8C8C8C36F5E0B2CBCBCB8D
F87CADD3D2D218FBA38F3E32F299CFD67175ECB2B232233E373E4CB1C5F420AE
8E5D5A5A6AC4D7AD23F176EDDAC5D8E6E8A1E392D1B77BF87C6E7CF0639A6CD1
A24582C6651397ECFEFDFB46FCB6E2438CCF651397BEFD44C6E79B1B1F7C3D74
ECA2A222667CBEB9F1C1D783CB16E29BDA8B42F1C1D783CB16E24BD14388CDE7
0AF23BF87CEFC8F25FAEF635674C7A090000002000000020000000E814000000
00000078DAED9D077854D5B6C743423A9020201DA49784140202D222242181D0
092020484B28D24237A0A10651AF282A1712F18A04BE0B179F5794E753DF233C
BD4F4191400A849604125249EF65FE6FAD333361323993339329A877F6F7AD2F
67CEECB37F6BFFF7DA6BAF83DFE75858989BB9356C91336DA0AD1D9B69137BF4
258BB64F8B6F0C1F94E34A35353FAE1BCA075DF9FFD8E0A9BC4EFC24C8B183A9
F96505D906F541573E37351F6EEAE34313D75FDDE29E321FC6E64BF965E61B96
2F93C990909050F7393E3EDEA4FCE8E8681C3F7EBCEE736868286263634DC2BF
78F122A64F9F8E4B972ED5DD3B7CF830162C5880870F1F1A959F989888A0A020
9C3D7BB61EA7A6A606BB76ED424848080A0A0A8CC22F2D2DC5CB2FBF8CA8A828
D1B52E2F2FC7E6CD9BB167CF1EA3F0F3F3F305DDCF9D3B27CAAFAAAA12D8EBD7
AF379AFE5F7FFD35A64D9B8613274ED463575454203C3C1CF3E6CDC3EDDBB78D
1A7F9F7FFEB9E0C3850B17EAEE45444460EEDCB9427C9862FF9D3E7DBAC1FEBB
7AF5AA49F35F6A6AAAE8F59F31FFEA6B7F54BEB9999BB9D56F9D5EBF144E76E0
A9B177FE2F0433B10FF5D826F641946D221F1A651BD907ADD846F2412736DB8E
1FDE30B3F5CB174661EB101F34DE565DF8C6C817BAF860AC7CD1A80FA479637C
C935D43256457D503CAB896F28B6A80F2ACFEA14A37AEE51C5FE09AF77CF446C
49DF34AD8306DD4CC5D7A49B29F9A6A89774CA0346F041E73C60E833BA2979C0
803E98320F18846FC4BDA8CDB961925AB99173C364EF0A26CA7FBA9E1BE6666E
866C5E47BD1C2644BA1F61E36B53B2FD3EF65CE317E559EE17E901B609511E95
7E516EDB8DCDF53D36D4C337D2FD9E922B62993E916EC38DA1B55FA4E797BE91
1E32551E7F16BBC77D0DB526EA5AD79FEBE0E19A34D1774D741DB7713FB55F13
97332E367E91EE97FD4474F597D095BFF3175BA7280FD984488F33F4BDB514DF
FF63CFB30DE61CE991E213E5EEA9ED1CB82F3F23A24598A4EE911E3122CF95D1
FD89DAF2271C1BEAE37BCCBD587D1C1E5BEAD9D1112E31E33F7413DD5F138E79
2690864E8DE8EFC47DC49EE531796C29BEE7FA5E315E1B7A61CC9B03A11E030A
9371CE1359B7F77D35F4E7B1784C1E5B8ADF6F6E97985E933BC06D7977C15FDF
631E87FCA244C7ADF0891C325593D6FC8CCF51F7E33C068FD56B4A07F0D852FC
2EDE6D63DA0C6C896EE3DAD6F9DB98AE52EBC463F0583C268F2DC56F3FC439C6
CAC6122DBBD937F0D7F7A8BB1FC5758926AE6FA467D9B8638302D4F5E4B1784C
1E5B1B3EFDE1F70A8DFEF25AD78B0D5E9F8F3D8E69D253399EAEFCC6FA53EEDD
ABE4FB440DDEABEF78CAE6D4C3B1AEBFE25AB4B92D7B2E7CD0B2EE60E36B7DC7
53366B47ABBAFE8A6BD1E6DCD321DCA98703D8F85ADFF1545A5D7FC5B5A616AE
D22FDC00E389F5AF245BAF077FBD620C5DF8DFA9F4575A0A6F651DF81E64C922
E31CD3826F47F639994CE479F6BF45237C7BB22F449EE5CF17C86C742841780E
F7447C603DB78BF0D790958BF4CF24D3A7265CAB615CD57B651AFCDC64A01294
6B9E7F6A58138868FDA5E21943374F452C6A62A7910D35C12B08EFAB0A156EB5
01B5D6654D4E939D237334BF919ADB5388BF230A7330315B3DD72A73B2B19BA6
33C150B9BE31ADBFD470AEC98C9C7FA5CE35A973D2D05A6B1AD750E72FBFA39F
69A2AEA2EBD4AC99A54C31A6B516FC302DEB2FC973D2D2D21AB6B6CFC0C6C649
394E9816CF86EB7BAE366F6EE7636DE3546C67FF2C54CDDAD629A6897C6DF577
B2B66E916067DF0EEA6C6DF99696767B9A5257595939BC4F5ACBD499B6766D65
4FF8AD25F9CDADBBBF63D9BC232CAD5A43E14BA371AD496B5BBB3632F2E938CF
993FDB3BF686AD7D3FE9F72F7BCF8FACED06A3B9ED00B02F8ADB545FD87CA51E
D7565676B2865AB703AF01AF85301ECDD9BE85071C9D7C61D762B424DFC671FC
DF6C5B4C848DE338B02F6ACB3BA499658B07CD9AD9097C4B2BDB7A6C1B1BE732
9A73BDF77F5BFBFE318ECED3D1A24D30EC9D6648F2ED5A4DFFBB83F352EA3B1F
EC8B788CB4DE6C6DD3AE464DEB23A2E3D19C5BB60B45ABF611706CBD5292EFE0
BCF07C8BB63BE0D86613D8178D3AD977BD52175776CFFE4B533F7BA759314E1D
0FC3B973348DB95692EFF8CCEAEF5B75F890FC7D1BEC8BA67EB60EBD7FABD3DD
BEEB658DE3D19C99AD2DBF65FB8375FD5BB57FF37B8D3AB51C15A7E43BB4F2F9
4D9BF1F85A8AEFDC25BAAE3F5F6B9ED7B45B760EDDE1D072085AB65B1BA7EF78
A2FD3B47573A773E29FAFEDFA2CDC2BB0EADC6A245EB20B47A76F72DD1B1E859
F9183AF03B477FA7C217CCA9F3C99476DD4FD73B7F5AB50D4D69F1CC2B34F72D
70EA74E4AEEA77ED9E8BF6A0E792D5C769DDE9A416EFFF17ED9CBB9CFADCB9F3
2999FAF382FF2E6784F77FA7F67B535AB5DF05A78E47F8BB14F93FB69DB1A73E
5F347CF694AC75E7E80BF4ACD6EFFFED9EFB84E770AF810FA4A753C793DB9D3B
1E4971EE7C42792FC5B9CBC9354E9DA3CB1B6A772AF399CE279B5C13F21AD2B8
150DC78D569DA34CE4FB0A4DB1D384FF00E5401AFE53744D1A98D0E74B7EC6D0
4530C7A07327D25A333BAD4DD793467FFF1759936AA74ED1A67DFF277DC987D3
4E5D4E9EB3703B617EFF373793B6602F2FEBE04903370AE6E5656D4A76C8C401
63964F72B941068525054F76F533FA9C270CE8B83CD0E504F1642AEC2716E872
7EF154D7AEC6D09AC60E2546911AB348F41EF535D49A88685D37D7E0C92EDD1A
D144AF35D175DCC6FCD4654D1AD35A2AD6957B429F35099EE41A26125BA7964C
E9D749DB39705F7E467D1C1E5B921FE81A6E343E8DDD44BEBEFA37959F2E324E
FCB240576FF5E7F81E7F27D23FBDA97CBED677FFA98FA72B5F32AE25F68921F8
5271D5589C1A92AFB6D649AA5A8BC584B1F8C6E867E6FFFEF8FAC6957A9C6AC5
D7F2FC69CA3ED5E6FC09F7F66EBE3CD0751DF52F547BBE843941412E369AF8DA
3E6B88FA43973CAD4F4DA8CDB9A2CB3965E0FA53F49C3664FDA96FFE37461359
138369FD4778FF323773F3B2F8D57A82C5958D6C7C6D4AF6448B2B63FC2DAEDC
2083C292022C7E36FAFBFF048B5F3BFA5B5C3E413C990ABBCE022CAE9CF7B3B8
D2D5185A13379418456ACC22F17B97430DB526225AD7CDD5C7E2D76E8D68A2D7
9AE83A6E637EEAB2268D692D15EBCA3DA1CF9A04585C0E6B185B974FF95AFCA6
F5B9C67DF999865A5C96ACBFE8B97063F179ECA6F1F5D6BFA9FC749171E2FD2D
7EF16EF8DC2FDEF2EF1AF44F6F3AFF72B8BEFB4F7D3C5DF9D271DDF83E31045F
3AAE34C7A921F96A6B9DA4AAB5584C188B6F8C7E66FEEF91AF5F5C358C5369BE
B6E74F53F6A936E78FB7C5C5E6943FD651FF42B5E74B9813649160A389AFEDB3
86A83F74C9D3FAD484DA9D2BDA9F5306AE3F45CF6943D69FFAE67F6334913531
98D67F84F7AF3F5393FAFF68F2FF6FB8AAAA06B9B9C04FFF578ECF3E2DC6FE3D
79D8B42E07C14B32B164510656066760DBE62C1C7EEF31BEFBB618991995F44C
B5F06C531B3F5B525286BB776B885982D7B6E463C39AC758B73A176B56E66055
483682976561E9A24C2C5AF008F3E7A463F6CC344C9F928A393353B16F4F1662
AF95A3A8A854673FAAAB6B909D0DFCE36C19766E2FC0B68D05D8BAA9005B42F3
B169433E36AECB13FC58B58234589E8DA58BC987F98F306F763A664D7F886981
A998E4978CC009F7F15644161EA4CA043DB469E5E51548BA5983F70E1563C7B6
42ECDC5684D75F2B223F8AB07D7B214277166275780196EE2EC0DC8802CC88C8
4750582EE6ACCDC6EC6599087A291D33A63EC0E48064F88FBF8FF1A3EF62D1BC
14FCF863314A4BCB25D971D7AB10B18F986145D8F57A31F6849760CFAE5284ED
2FC1F28FCA30F2DB2AB4BD5F8BE679804591DC9A15008EA9B5E81E538EE187F2
E01FF20853A63DC0A409C9F0F3BE871747DE41A0FF5D7CFB8D661F58739EF701
62BF11568CDDC4DDB7A714FB22CAB0F9C37204FC67155A3F94D5313519FBD2E1
5F151819968D008A8509E3883FEA0E460EBB0D7F9F3BF821A6B8C15A707CF07A
BF4F9AF3BC991DB1AF14070E9663C3F14AB85FAB85652124D9AAE6145785E15B
32E1E79F8CF163EE60CCF0DB18E6750BB3A6DEC3BD7BF56392E39C632D6C6BA1
A039CFFBAD03E5D879B40A43AFD6D69F1FF9E140BE3E9B2C43E75BB5E8449A3D
9B548356A47FF3C7F57DE8F0DFA518B3F021C68FBD8B3123EE60B85712060F4A
C48EED69282C2CA99B3BEFB11DDB0A841813E6BEB70CEFBC55812D9F55A3D73D
C0265F3E9E0DAD79D77B32F87C5F8D90BF9663D39E12ACA7785CBCA71001478A
D0FB52056C339EAC51337ACE7D5736C6FBDD13F8238624C1CB2D912C013FFD58
54975B3EFB5B09B6D0FEDA4971BE6757090EEC2FC7BB6F57E2D0E12A6C3D5B8B
E17140BB47804B820CABA3AB70E04019F6523F5EAB6D9B0B104AFB71CDCA5CCC
DBF2183D2F56C04A45876E678A30665A32C60AFC5B027F50FF78BCBA32059595
55425E7B6D6B3EB66E7C32FF03FBCAF0179AFFE1435538F2610D0E7E5A8BC517
6AB1E64C35DEA5FB6FEE2F13FCDC1956886D9BE4FC57891FB2340B2F4416C231
A5A68EDF9ED660E4EC548C7DE136467829F8FDE2E1E1128794942A21A7725EE3
DC1246FB7DD71B9C5F69FDDF240DFE524939B50A1F1DAEC607EF57E1BD772BF1
36C564C4DE52ECA67E3B281F6CDD988FD0B58FF12AE5A265CBB3F0FCA745B07F
F82466DA7F47FCA054D2FF36860F26FE2039BF6F8FEB38F9592E4E523E5F4FB9
8CF3DAB62D05B4F7146B4031C03EB00E87DEA9A4F5A810D807F6CBB50FDF5944
BA156233F9BDFED55C04AFCE41E0BE3C74FAA552D8834A7ECF4F0A30263019A3
39FE893FD83511AE7DE304FE8635A988A0B3640DF9CE3975EB26B9066FEC2CC6
5E5A07D681D7E220E58037C978DECCE63DB2E3356253CC06BF4139F09D428CA2
33A2D3D52A58E53E893F9BB45A786ECD80F78B77318AF6FFF3836FC2D325012E
C4EF43FCE98149C4A5B324385BC8E71B37E409793E6C5B91A0C36E45FEDBBBBB
44E0B2E6E13B8AB0617F31661F2BC5B8336518F43F15681F5F0D9BECFAB9C992
62B0FBDF29F666A6C09BF2DFC8A14918EA7113EE031330A0771C7A778FA57C94
88E0A599C239F66A480ED6918E1BD7E709B1F81AADC50E8A47DE131CE76CBCDE
ACF9ACA85274B855039B1CF17C6845F73B7D43EBBE340DE35FA4BD47B1375C19
FB0312D0BFE70DF4EC1A4B9AC463E92B19C219BA827C58BD42EE43E8BAC7140F
79D842B1C57AF01EDBB6395F88355E6FDF93A5B0CA13CFBD2D6F56A377742146
07A7C3D7F73EC651EE1D353C49AE3DADBD8B22F67A77BB467EC462E5F20CE1FC
663F8269FFF0B9BE6655AEE0C7068AEBD0B579426C6C5AF75888738EB5F1942F
54F7B8EDA35A74F8B902FD4F1561D8EE1CF8BDF41001BEC9F0197B4FBEEF86DE
C210F74441FB8182F6D72916E3280EAE633BD52DF3E7A60BE7F792851958BE24
0B2B490B8E09DE539C57D6AECC15FEF267BEEF1D555C2FD776A4F3664C780E26
CF4BC3143AFB27D2D9EFF7A27CEEA3872529E23E01AEFDE3D04FD0FE3A86B8C5
C3C73B111F50CDC4750BD70E2FBFF408AF2CC810FC5846354530F912B2341B2B
C838B7F0E7658BB330EA68219AABC4798FF32508584267EE24399BCFBCF163EE
0A7B9E739E30F701F118D8473E772FF738F4EA164BF34911EA35AE99B86E9933
8BFD48C382B98FB070BEDC97C50BE5FEF05FFEBC687E06FC77E4A2FFD962F43B
43A6D03C20E8A150F34C18775F60B3EE2F90EE1CF3BCE75CFBF1DCAFA307C51D
E7BEEE1DAFE1C42739C8CCAC14EAB5E9A4DB0CF22368FA03C18FB9E4C7BC3969
425DB780D687D7683EDD7B29280DB3E6A52390E63B69613A0248F380190F10E0
FF64DE635FA0FDF63CC59CE74D3AEF12847C3FA0D70DF4A2B93FEF491AD0DCFB
51EC25275709B5C07EAA1503C977AE99A6097E3CC0CCA90FC917B9CD9E417F67
C8AF67516DC5DF73BF291353841A27C047B1DE546B8D25CD05F6E09BC259EB46
BA0FE87343C8376E0328E6FA5C17E6BEEC95FBC2F9C36720D7A993A956E47A6D
92DF7DAA9552302520055369FCA9C4A9B389A9C2FD8069A9183FE701C6053D80
3769E74D7EBF38FA8EB0DEACB9306F37255B9E6B39DF0C24F6739DAEA157D76B
B8447590B206E11AF920D5A95C2B72BDC63AFAFBDC17F6D044C1EE0B1640F7FC
E9B37B78369C7EAB80D3D50AB422EBFD560E468C939FAFCF7BC835771B486C45
9EEDD92596CE9C1B02B75B87DF28D7A6A0A0A0B85EFD75EB960C8B17A40AB522
D76B5C3371DDE2E37D17BEFC5761E3E9739F7772EBE59D8E5179F01A7B478873
8E35B7FE72CDFB2AD86E03E8FAB95841F7B12F24E2E6CDF206EF045C87708DCC
752AD78A5CAF093622498827CEA17C868D1E791B3D0FE6D4E3B73FF6186E236F
517E8917E29C63AD8F42739EB792EDEE7203FFF54DA1B0EE628D6B63AE91B94E
1D466B3882EA35AE195857FECBE7F730BAEEBE3FAB1EBFDD5F73316058A2B0BF
798F719C73ACF17AB3E64AF67F9CCB176ACDC61AFBC035F2ACA97785F8E53383
FF3E313A3F7D6FA3C7B207E8BE34155D97A4A2A7DF6DF4ED27CF2D7CAEF01E73
51C41AAFF7D89189F886E62DC57EB216D5428DCC752AD78AAEFD397FB0C9F51D
4879B43FE7D2BEA4736FD2B9873CA77AB9CBEB2ADEDF3C679E3BC75AD28D3254
5556EBFCFEC935F24F3F9608B5A2A76BBCA06DDF1EB1C4936BCC73E5738CCF12
CEE7BDBACAB99C5B962DBA8F18D291E35CDFF7608E97D4D44A9C3C914BE75F8A
50B7F8FBDC14CEEF7E3DE4FB9ACF92D52B92F129E554CE6BCADC22D5CCFF02A2
5D0BFC74063499A9F807AF7DD0C0CC7C33DFD8F1AD344D7C43EC0B4DE337D5CC
7C33FF8FC6D766BFE9C2D7676F1A5A0F5DB531F3FFBDF84F3BFECDF9E7F7CD6F
4A5D6268BE31EB32337F4693CEACA7FD5E666E7F8EF6F3FA613FFCBC61184C62
C46AC037155B6166BE992FC697FAB7C8DADA5AC1F877AFABABAB05E3DF7FAEAC
AC148C7F8F997F8F9AADACAC4CF8ED6AB69292121417173789CF5C259BB94A36
73956CE62AD9CC55B299AB64171515E9CC579FB33E6C5DF986D05BC92E2C2C14
4C1BBEAADE5F7DF5151E3F7EACD79C99CBBF8DCE26C557659F3F7F1E93274FC6
EAD5AB919393A3379B7FC75C8AAFAA776E6EAEC0661F56AC5881ACAC2C9DF556
72D9F2F2F224F9EA31C6F356F521232343AB398BB1791DB5E1ABAF757676769D
0FAB56AD426666A6D67A3357C9663DA5F862F1CDBAABF259036DF566AE92CD5A
4AF1D5634C951D121282F4F4F426B3B5E1ABB379BE4A765A5A9ACE7A2BD9BC86
6C527CD5F8FEE28B2FEA347FF4E85193E7CC5C9E0B9B145F7D6FB10F866273DC
4AF1B5CD27C1C1C18D9A526F25978DE3568AAF6D3ED186AFCE661DB5E1EB13DF
EA7A3357C9D686AF6F7C8BCD59D5A4F8627336145B1BBEA1F5D695FFD4EACFA7
FCFEF5EFDAFE1FB5089245
}
end
end