-
Notifications
You must be signed in to change notification settings - Fork 8
/
api_submission_tests.html
3079 lines (2904 loc) · 415 KB
/
api_submission_tests.html
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
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>Test Report</title>
<style>body {
font-family: Helvetica, Arial, sans-serif;
font-size: 12px;
/* do not increase min-width as some may use split screens */
min-width: 800px;
color: #999;
}
h1 {
font-size: 24px;
color: black;
}
h2 {
font-size: 16px;
color: black;
}
p {
color: black;
}
a {
color: #999;
}
table {
border-collapse: collapse;
}
/******************************
* SUMMARY INFORMATION
******************************/
#environment td {
padding: 5px;
border: 1px solid #E6E6E6;
}
#environment tr:nth-child(odd) {
background-color: #f6f6f6;
}
/******************************
* TEST RESULT COLORS
******************************/
span.passed,
.passed .col-result {
color: green;
}
span.skipped,
span.xfailed,
span.rerun,
.skipped .col-result,
.xfailed .col-result,
.rerun .col-result {
color: orange;
}
span.error,
span.failed,
span.xpassed,
.error .col-result,
.failed .col-result,
.xpassed .col-result {
color: red;
}
/******************************
* RESULTS TABLE
*
* 1. Table Layout
* 2. Extra
* 3. Sorting items
*
******************************/
/*------------------
* 1. Table Layout
*------------------*/
#results-table {
border: 1px solid #e6e6e6;
color: #999;
font-size: 12px;
width: 100%;
}
#results-table th,
#results-table td {
padding: 5px;
border: 1px solid #E6E6E6;
text-align: left;
}
#results-table th {
font-weight: bold;
}
/*------------------
* 2. Extra
*------------------*/
.log {
background-color: #e6e6e6;
border: 1px solid #e6e6e6;
color: black;
display: block;
font-family: "Courier New", Courier, monospace;
height: 230px;
overflow-y: scroll;
padding: 5px;
white-space: pre-wrap;
}
.log:only-child {
height: inherit;
}
div.image {
border: 1px solid #e6e6e6;
float: right;
height: 240px;
margin-left: 5px;
overflow: hidden;
width: 320px;
}
div.image img {
width: 320px;
}
div.video {
border: 1px solid #e6e6e6;
float: right;
height: 240px;
margin-left: 5px;
overflow: hidden;
width: 320px;
}
div.video video {
overflow: hidden;
width: 320px;
height: 240px;
}
.collapsed {
display: none;
}
.expander::after {
content: " (show details)";
color: #BBB;
font-style: italic;
cursor: pointer;
}
.collapser::after {
content: " (hide details)";
color: #BBB;
font-style: italic;
cursor: pointer;
}
/*------------------
* 3. Sorting items
*------------------*/
.sortable {
cursor: pointer;
}
.sort-icon {
font-size: 0px;
float: left;
margin-right: 5px;
margin-top: 5px;
/*triangle*/
width: 0;
height: 0;
border-left: 8px solid transparent;
border-right: 8px solid transparent;
}
.inactive .sort-icon {
/*finish triangle*/
border-top: 8px solid #E6E6E6;
}
.asc.active .sort-icon {
/*finish triangle*/
border-bottom: 8px solid #999;
}
.desc.active .sort-icon {
/*finish triangle*/
border-top: 8px solid #999;
}
</style></head>
<body onLoad="init()">
<script>/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
* You can obtain one at http://mozilla.org/MPL/2.0/. */
function toArray(iter) {
if (iter === null) {
return null;
}
return Array.prototype.slice.call(iter);
}
function find(selector, elem) { // eslint-disable-line no-redeclare
if (!elem) {
elem = document;
}
return elem.querySelector(selector);
}
function findAll(selector, elem) {
if (!elem) {
elem = document;
}
return toArray(elem.querySelectorAll(selector));
}
function sortColumn(elem) {
toggleSortStates(elem);
const colIndex = toArray(elem.parentNode.childNodes).indexOf(elem);
let key;
if (elem.classList.contains('result')) {
key = keyResult;
} else if (elem.classList.contains('links')) {
key = keyLink;
} else {
key = keyAlpha;
}
sortTable(elem, key(colIndex));
}
function showAllExtras() { // eslint-disable-line no-unused-vars
findAll('.col-result').forEach(showExtras);
}
function hideAllExtras() { // eslint-disable-line no-unused-vars
findAll('.col-result').forEach(hideExtras);
}
function showExtras(colresultElem) {
const extras = colresultElem.parentNode.nextElementSibling;
const expandcollapse = colresultElem.firstElementChild;
extras.classList.remove('collapsed');
expandcollapse.classList.remove('expander');
expandcollapse.classList.add('collapser');
}
function hideExtras(colresultElem) {
const extras = colresultElem.parentNode.nextElementSibling;
const expandcollapse = colresultElem.firstElementChild;
extras.classList.add('collapsed');
expandcollapse.classList.remove('collapser');
expandcollapse.classList.add('expander');
}
function showFilters() {
const filterItems = document.getElementsByClassName('filter');
for (let i = 0; i < filterItems.length; i++)
filterItems[i].hidden = false;
}
function addCollapse() {
// Add links for show/hide all
const resulttable = find('table#results-table');
const showhideall = document.createElement('p');
showhideall.innerHTML = '<a href="javascript:showAllExtras()">Show all details</a> / ' +
'<a href="javascript:hideAllExtras()">Hide all details</a>';
resulttable.parentElement.insertBefore(showhideall, resulttable);
// Add show/hide link to each result
findAll('.col-result').forEach(function(elem) {
const collapsed = getQueryParameter('collapsed') || 'Passed';
const extras = elem.parentNode.nextElementSibling;
const expandcollapse = document.createElement('span');
if (extras.classList.contains('collapsed')) {
expandcollapse.classList.add('expander');
} else if (collapsed.includes(elem.innerHTML)) {
extras.classList.add('collapsed');
expandcollapse.classList.add('expander');
} else {
expandcollapse.classList.add('collapser');
}
elem.appendChild(expandcollapse);
elem.addEventListener('click', function(event) {
if (event.currentTarget.parentNode.nextElementSibling.classList.contains('collapsed')) {
showExtras(event.currentTarget);
} else {
hideExtras(event.currentTarget);
}
});
});
}
function getQueryParameter(name) {
const match = RegExp('[?&]' + name + '=([^&]*)').exec(window.location.search);
return match && decodeURIComponent(match[1].replace(/\+/g, ' '));
}
function init () { // eslint-disable-line no-unused-vars
resetSortHeaders();
addCollapse();
showFilters();
sortColumn(find('.initial-sort'));
findAll('.sortable').forEach(function(elem) {
elem.addEventListener('click',
function() {
sortColumn(elem);
}, false);
});
}
function sortTable(clicked, keyFunc) {
const rows = findAll('.results-table-row');
const reversed = !clicked.classList.contains('asc');
const sortedRows = sort(rows, keyFunc, reversed);
/* Whole table is removed here because browsers acts much slower
* when appending existing elements.
*/
const thead = document.getElementById('results-table-head');
document.getElementById('results-table').remove();
const parent = document.createElement('table');
parent.id = 'results-table';
parent.appendChild(thead);
sortedRows.forEach(function(elem) {
parent.appendChild(elem);
});
document.getElementsByTagName('BODY')[0].appendChild(parent);
}
function sort(items, keyFunc, reversed) {
const sortArray = items.map(function(item, i) {
return [keyFunc(item), i];
});
sortArray.sort(function(a, b) {
const keyA = a[0];
const keyB = b[0];
if (keyA == keyB) return 0;
if (reversed) {
return keyA < keyB ? 1 : -1;
} else {
return keyA > keyB ? 1 : -1;
}
});
return sortArray.map(function(item) {
const index = item[1];
return items[index];
});
}
function keyAlpha(colIndex) {
return function(elem) {
return elem.childNodes[1].childNodes[colIndex].firstChild.data.toLowerCase();
};
}
function keyLink(colIndex) {
return function(elem) {
const dataCell = elem.childNodes[1].childNodes[colIndex].firstChild;
return dataCell == null ? '' : dataCell.innerText.toLowerCase();
};
}
function keyResult(colIndex) {
return function(elem) {
const strings = ['Error', 'Failed', 'Rerun', 'XFailed', 'XPassed',
'Skipped', 'Passed'];
return strings.indexOf(elem.childNodes[1].childNodes[colIndex].firstChild.data);
};
}
function resetSortHeaders() {
findAll('.sort-icon').forEach(function(elem) {
elem.parentNode.removeChild(elem);
});
findAll('.sortable').forEach(function(elem) {
const icon = document.createElement('div');
icon.className = 'sort-icon';
icon.textContent = 'vvv';
elem.insertBefore(icon, elem.firstChild);
elem.classList.remove('desc', 'active');
elem.classList.add('asc', 'inactive');
});
}
function toggleSortStates(elem) {
//if active, toggle between asc and desc
if (elem.classList.contains('active')) {
elem.classList.toggle('asc');
elem.classList.toggle('desc');
}
//if inactive, reset all other functions and add ascending active
if (elem.classList.contains('inactive')) {
resetSortHeaders();
elem.classList.remove('inactive');
elem.classList.add('active');
}
}
function isAllRowsHidden(value) {
return value.hidden == false;
}
function filterTable(elem) { // eslint-disable-line no-unused-vars
const outcomeAtt = 'data-test-result';
const outcome = elem.getAttribute(outcomeAtt);
const classOutcome = outcome + ' results-table-row';
const outcomeRows = document.getElementsByClassName(classOutcome);
for(let i = 0; i < outcomeRows.length; i++){
outcomeRows[i].hidden = !elem.checked;
}
const rows = findAll('.results-table-row').filter(isAllRowsHidden);
const allRowsHidden = rows.length == 0 ? true : false;
const notFoundMessage = document.getElementById('not-found-message');
notFoundMessage.hidden = !allRowsHidden;
}
</script>
<h1>api_submission_tests.html</h1>
<p>Report generated on 05-Dec-2024 at 14:28:43 by <a href="https://pypi.python.org/pypi/pytest-html">pytest-html</a> v3.1.1</p>
<h2>Summary</h2>
<p>182 tests ran in 966.18 seconds. </p>
<p class="filter" hidden="true">(Un)check the boxes to filter the results.</p><input checked="true" class="filter" data-test-result="passed" hidden="true" name="filter_checkbox" onChange="filterTable(this)" type="checkbox"/><span class="passed">180 passed</span>, <input checked="true" class="filter" data-test-result="skipped" hidden="true" name="filter_checkbox" onChange="filterTable(this)" type="checkbox"/><span class="skipped">2 skipped</span>, <input checked="true" class="filter" data-test-result="failed" hidden="true" name="filter_checkbox" onChange="filterTable(this)" type="checkbox"/><span class="failed">2 failed</span>, <input checked="true" class="filter" data-test-result="error" disabled="true" hidden="true" name="filter_checkbox" onChange="filterTable(this)" type="checkbox"/><span class="error">0 errors</span>, <input checked="true" class="filter" data-test-result="xfailed" disabled="true" hidden="true" name="filter_checkbox" onChange="filterTable(this)" type="checkbox"/><span class="xfailed">0 expected failures</span>, <input checked="true" class="filter" data-test-result="xpassed" disabled="true" hidden="true" name="filter_checkbox" onChange="filterTable(this)" type="checkbox"/><span class="xpassed">0 unexpected passes</span>, <input checked="true" class="filter" data-test-result="rerun" disabled="true" hidden="true" name="filter_checkbox" onChange="filterTable(this)" type="checkbox"/><span class="rerun">0 rerun</span>
<h2>Results</h2>
<table id="results-table">
<thead id="results-table-head">
<tr>
<th class="sortable result initial-sort" col="result">Result</th>
<th class="sortable" col="name">Test</th>
<th class="sortable" col="duration">Duration</th>
<th class="sortable links" col="links">Links</th></tr>
<tr hidden="true" id="not-found-message">
<th colspan="4">No results found. Try to check the filters</th></tr></thead>
<tbody class="failed results-table-row">
<tr>
<td class="col-result">Failed</td>
<td class="col-name">tests/api/test_addon_uploads.py::test_upload_addon_crx_archive</td>
<td class="col-duration">7.03</td>
<td class="col-links"><a class="text" href="data:text/plain;charset=utf-8;base64,MTczMzQwMDg5MDcwOQlnZWNrb2RyaXZlcglJTkZPCUxpc3RlbmluZyBvbiAxMjcuMC4wLjE6NTU3MjEKMTczMzQwMDg5MTIxMwlnZWNrb2RyaXZlcjo6Y2FwYWJpbGl0aWVzCURFQlVHCVRyeWluZyB0byByZWFkIGZpcmVmb3ggdmVyc2lvbiBmcm9tIGluaSBmaWxlcwoxNzMzNDAwODkxMjEzCWdlY2tvZHJpdmVyOjpjYXBhYmlsaXRpZXMJREVCVUcJVHJ5aW5nIHRvIHJlYWQgZmlyZWZveCB2ZXJzaW9uIGZyb20gYmluYXJ5CjE3MzM0MDA4OTEyMTMJZ2Vja29kcml2ZXI6OmNhcGFiaWxpdGllcwlERUJVRwlGYWlsZWQgdG8gZ2V0IGJpbmFyeSB2ZXJzaW9uCjE3MzM0MDA4OTEyNjEJbW96cnVubmVyOjpydW5uZXIJSU5GTwlSdW5uaW5nIGNvbW1hbmQ6IE1PWl9DUkFTSFJFUE9SVEVSPSIxIiBNT1pfQ1JBU0hSRVBPUlRFUl9OT19SRVBPUlQ9IjEiIE1PWl9DUkFTSFJFUE9SVEVSX1NIVVRET1dOPSIxIiBNT1pfTk9fUkVNT1RFPSIxIiAiL0FwcCAuLi4gcyIgImxvY2FsaG9zdCIgIi1mb3JlZ3JvdW5kIiAiLW5vLXJlbW90ZSIgIi1wcm9maWxlIiAiL3Zhci9mb2xkZXJzL3ZfLzZqZF9kNWtuN3NzMHY4aGQ5MmpxZ2x6ODAwMDBncS9UL3J1c3RfbW96cHJvZmlsZVg2N0J4NSIKMTczMzQwMDg5MTI2MwlnZWNrb2RyaXZlcjo6bWFyaW9uZXR0ZQlERUJVRwlXYWl0aW5nIDYwcyB0byBjb25uZWN0IHRvIGJyb3dzZXIgb24gMTI3LjAuMC4xCjE3MzM0MDA4OTEyNjMJZ2Vja29kcml2ZXI6Om1hcmlvbmV0dGUJVFJBQ0UJUmV0cnlpbmcgaW4gMTAwbXMKMTczMzQwMDg5MTM2OQlnZWNrb2RyaXZlcjo6bWFyaW9uZXR0ZQlUUkFDRQlSZXRyeWluZyBpbiAxMDBtcwoqKiogWW91IGFyZSBydW5uaW5nIGluIGhlYWRsZXNzIG1vZGUuCjE3MzM0MDA4OTE0NzQJZ2Vja29kcml2ZXI6Om1hcmlvbmV0dGUJVFJBQ0UJUmV0cnlpbmcgaW4gMTAwbXMKMTczMzQwMDg5MTU3OQlnZWNrb2RyaXZlcjo6bWFyaW9uZXR0ZQlUUkFDRQlSZXRyeWluZyBpbiAxMDBtcwpjb25zb2xlLndhcm46IHNlcnZpY2VzLnNldHRpbmdzOiBJZ25vcmluZyBwcmVmZXJlbmNlIG92ZXJyaWRlIG9mIHJlbW90ZSBzZXR0aW5ncyBzZXJ2ZXIKY29uc29sZS53YXJuOiBzZXJ2aWNlcy5zZXR0aW5nczogQWxsb3cgYnkgc2V0dGluZyBNT1pfUkVNT1RFX1NFVFRJTkdTX0RFVlRPT0xTPTEgaW4gdGhlIGVudmlyb25tZW50CjE3MzM0MDA4OTE2ODQJZ2Vja29kcml2ZXI6Om1hcmlvbmV0dGUJVFJBQ0UJUmV0cnlpbmcgaW4gMTAwbXMKMTczMzQwMDg5MTc0MglSZW1vdGVBZ2VudAlERUJVRwlTZXR0aW5nIHJlY29tbWVuZGVkIHByZWYgYXB6LmNvbnRlbnRfcmVzcG9uc2VfdGltZW91dCB0byA2MDAwMAoxNzMzNDAwODkxNzQyCVJlbW90ZUFnZW50CURFQlVHCVNldHRpbmcgcmVjb21tZW5kZWQgcHJlZiBicm93c2VyLmNvbnRlbnRibG9ja2luZy5pbnRyb0NvdW50IHRvIDk5CjE3MzM0MDA4OTE3NDIJUmVtb3RlQWdlbnQJREVCVUcJU2V0dGluZyByZWNvbW1lbmRlZCBwcmVmIGJyb3dzZXIuZG93bmxvYWQucGFuZWwuc2hvd24gdG8gdHJ1ZQoxNzMzNDAwODkxNzQyCVJlbW90ZUFnZW50CURFQlVHCVNldHRpbmcgcmVjb21tZW5kZWQgcHJlZiBicm93c2VyLm5ld3RhYnBhZ2UuYWN0aXZpdHktc3RyZWFtLmRpc2NvdmVyeXN0cmVhbS5yZWdpb24td2VhdGhlci1jb25maWcgdG8gCjE3MzM0MDA4OTE3NDIJUmVtb3RlQWdlbnQJREVCVUcJU2V0dGluZyByZWNvbW1lbmRlZCBwcmVmIGJyb3dzZXIubmV3dGFicGFnZS5hY3Rpdml0eS1zdHJlYW0ubmV3dGFiV2FsbHBhcGVycy5lbmFibGVkIHRvIGZhbHNlCjE3MzM0MDA4OTE3NDMJUmVtb3RlQWdlbnQJREVCVUcJU2V0dGluZyByZWNvbW1lbmRlZCBwcmVmIGJyb3dzZXIubmV3dGFicGFnZS5hY3Rpdml0eS1zdHJlYW0ubmV3dGFiV2FsbHBhcGVycy52Mi5lbmFibGVkIHRvIGZhbHNlCjE3MzM0MDA4OTE3NDMJUmVtb3RlQWdlbnQJREVCVUcJU2V0dGluZyByZWNvbW1lbmRlZCBwcmVmIGJyb3dzZXIubmV3dGFicGFnZS5hY3Rpdml0eS1zdHJlYW0uc2hvd1Nwb25zb3JlZFRvcFNpdGVzIHRvIGZhbHNlCjE3MzM0MDA4OTE3NDMJUmVtb3RlQWdlbnQJREVCVUcJU2V0dGluZyByZWNvbW1lbmRlZCBwcmVmIGJyb3dzZXIubmV3dGFicGFnZS5lbmFibGVkIHRvIGZhbHNlCjE3MzM0MDA4OTE3NDMJUmVtb3RlQWdlbnQJREVCVUcJU2V0dGluZyByZWNvbW1lbmRlZCBwcmVmIGJyb3dzZXIucGFnZXRodW1ibmFpbHMuY2FwdHVyaW5nX2Rpc2FibGVkIHRvIHRydWUKMTczMzQwMDg5MTc0MwlSZW1vdGVBZ2VudAlERUJVRwlTZXR0aW5nIHJlY29tbWVuZGVkIHByZWYgYnJvd3Nlci5yZWdpb24ubmV0d29yay51cmwgdG8gCjE3MzM0MDA4OTE3NDMJUmVtb3RlQWdlbnQJREVCVUcJU2V0dGluZyByZWNvbW1lbmRlZCBwcmVmIGJyb3dzZXIuc2FmZWJyb3dzaW5nLmJsb2NrZWRVUklzLmVuYWJsZWQgdG8gZmFsc2UKMTczMzQwMDg5MTc0NAlSZW1vdGVBZ2VudAlERUJVRwlTZXR0aW5nIHJlY29tbWVuZGVkIHByZWYgYnJvd3Nlci5zYWZlYnJvd3NpbmcuZG93bmxvYWRzLmVuYWJsZWQgdG8gZmFsc2UKMTczMzQwMDg5MTc0NAlSZW1vdGVBZ2VudAlERUJVRwlTZXR0aW5nIHJlY29tbWVuZGVkIHByZWYgYnJvd3Nlci5zYWZlYnJvd3NpbmcubWFsd2FyZS5lbmFibGVkIHRvIGZhbHNlCjE3MzM0MDA4OTE3NDQJUmVtb3RlQWdlbnQJREVCVUcJU2V0dGluZyByZWNvbW1lbmRlZCBwcmVmIGJyb3dzZXIuc2FmZWJyb3dzaW5nLnBoaXNoaW5nLmVuYWJsZWQgdG8gZmFsc2UKMTczMzQwMDg5MTc0NAlSZW1vdGVBZ2VudAlERUJVRwlTZXR0aW5nIHJlY29tbWVuZGVkIHByZWYgYnJvd3Nlci5zZWFyY2gudXBkYXRlIHRvIGZhbHNlCjE3MzM0MDA4OTE3NDQJUmVtb3RlQWdlbnQJREVCVUcJU2V0dGluZyByZWNvbW1lbmRlZCBwcmVmIGJyb3dzZXIuc3RhcnR1cC5jb3VsZFJlc3RvcmVTZXNzaW9uLmNvdW50IHRvIC0xCjE3MzM0MDA4OTE3NDQJUmVtb3RlQWdlbnQJREVCVUcJU2V0dGluZyByZWNvbW1lbmRlZCBwcmVmIGJyb3dzZXIudGFicy5yZW1vdGUudW5sb2FkRGVsYXlNcyB0byAwCjE3MzM0MDA4OTE3NDQJUmVtb3RlQWdlbnQJREVCVUcJU2V0dGluZyByZWNvbW1lbmRlZCBwcmVmIGJyb3dzZXIudGFicy51bmxvYWRPbkxvd01lbW9yeSB0byBmYWxzZQoxNzMzNDAwODkxNzQ0CVJlbW90ZUFnZW50CURFQlVHCVNldHRpbmcgcmVjb21tZW5kZWQgcHJlZiBicm93c2VyLnRhYnMud2Fybk9uQ2xvc2UgdG8gZmFsc2UKMTczMzQwMDg5MTc0NAlSZW1vdGVBZ2VudAlERUJVRwlTZXR0aW5nIHJlY29tbWVuZGVkIHByZWYgYnJvd3Nlci50YWJzLndhcm5PbkNsb3NlT3RoZXJUYWJzIHRvIGZhbHNlCjE3MzM0MDA4OTE3NDQJUmVtb3RlQWdlbnQJREVCVUcJU2V0dGluZyByZWNvbW1lbmRlZCBwcmVmIGJyb3dzZXIudGFicy53YXJuT25PcGVuIHRvIGZhbHNlCjE3MzM0MDA4OTE3NDUJUmVtb3RlQWdlbnQJREVCVUcJU2V0dGluZyByZWNvbW1lbmRlZCBwcmVmIGJyb3dzZXIudG9vbGJhcnMuYm9va21hcmtzLnZpc2liaWxpdHkgdG8gbmV2ZXIKMTczMzQwMDg5MTc0NQlSZW1vdGVBZ2VudAlERUJVRwlTZXR0aW5nIHJlY29tbWVuZGVkIHByZWYgYnJvd3Nlci50b3BzaXRlcy5jb250aWxlLmVuYWJsZWQgdG8gZmFsc2UKMTczMzQwMDg5MTc0NQlSZW1vdGVBZ2VudAlERUJVRwlTZXR0aW5nIHJlY29tbWVuZGVkIHByZWYgYnJvd3Nlci51c2VkT25XaW5kb3dzMTAuaW50cm9VUkwgdG8gCjE3MzM0MDA4OTE3NDUJUmVtb3RlQWdlbnQJREVCVUcJU2V0dGluZyByZWNvbW1lbmRlZCBwcmVmIGJyb3dzZXIudXJsYmFyLm1lcmluby5lbmRwb2ludFVSTCB0byAKMTczMzQwMDg5MTc0NQlSZW1vdGVBZ2VudAlERUJVRwlTZXR0aW5nIHJlY29tbWVuZGVkIHByZWYgYnJvd3Nlci51cmxiYXIuc3VnZ2VzdC5zZWFyY2hlcyB0byBmYWxzZQoxNzMzNDAwODkxNzQ1CVJlbW90ZUFnZW50CURFQlVHCVNldHRpbmcgcmVjb21tZW5kZWQgcHJlZiBkYXRhcmVwb3J0aW5nLnBvbGljeS5kYXRhU3VibWlzc2lvblBvbGljeUFjY2VwdGVkIHRvIGZhbHNlCjE3MzM0MDA4OTE3NDUJUmVtb3RlQWdlbnQJREVCVUcJU2V0dGluZyByZWNvbW1lbmRlZCBwcmVmIGRvbS5kaXNhYmxlX29wZW5fZHVyaW5nX2xvYWQgdG8gZmFsc2UKMTczMzQwMDg5MTc0NQlSZW1vdGVBZ2VudAlERUJVRwlTZXR0aW5nIHJlY29tbWVuZGVkIHByZWYgZG9tLmZpbGUuY3JlYXRlSW5DaGlsZCB0byB0cnVlCjE3MzM0MDA4OTE3NDUJUmVtb3RlQWdlbnQJREVCVUcJU2V0dGluZyByZWNvbW1lbmRlZCBwcmVmIGRvbS5pbnB1dF9ldmVudHMuc2VjdXJpdHkubWluTnVtVGlja3MgdG8gMAoxNzMzNDAwODkxNzQ1CVJlbW90ZUFnZW50CURFQlVHCVNldHRpbmcgcmVjb21tZW5kZWQgcHJlZiBkb20uaW5wdXRfZXZlbnRzLnNlY3VyaXR5Lm1pblRpbWVFbGFwc2VkSW5NUyB0byAwCjE3MzM0MDA4OTE3NDUJUmVtb3RlQWdlbnQJREVCVUcJU2V0dGluZyByZWNvbW1lbmRlZCBwcmVmIGRvbS5tYXhfY2hyb21lX3NjcmlwdF9ydW5fdGltZSB0byAwCjE3MzM0MDA4OTE3NDUJUmVtb3RlQWdlbnQJREVCVUcJU2V0dGluZyByZWNvbW1lbmRlZCBwcmVmIGRvbS5tYXhfc2NyaXB0X3J1bl90aW1lIHRvIDAKMTczMzQwMDg5MTc0NQlSZW1vdGVBZ2VudAlERUJVRwlTZXR0aW5nIHJlY29tbWVuZGVkIHByZWYgZG9tLm5hdmlnYXRpb24ubmF2aWdhdGlvblJhdGVMaW1pdC5jb3VudCB0byAwCjE3MzM0MDA4OTE3NDUJUmVtb3RlQWdlbnQJREVCVUcJU2V0dGluZyByZWNvbW1lbmRlZCBwcmVmIGRvbS5wdXNoLmNvbm5lY3Rpb24uZW5hYmxlZCB0byBmYWxzZQoxNzMzNDAwODkxNzQ1CVJlbW90ZUFnZW50CURFQlVHCVNldHRpbmcgcmVjb21tZW5kZWQgcHJlZiBkb20uc2NyZWVub3JpZW50YXRpb24uYWxsb3ctbG9jayB0byB0cnVlCjE3MzM0MDA4OTE3NDUJUmVtb3RlQWdlbnQJREVCVUcJU2V0dGluZyByZWNvbW1lbmRlZCBwcmVmIGRvbS5zdWNjZXNzaXZlX2RpYWxvZ190aW1lX2xpbWl0IHRvIDAKMTczMzQwMDg5MTc0NQlSZW1vdGVBZ2VudAlERUJVRwlTZXR0aW5nIHJlY29tbWVuZGVkIHByZWYgZXh0ZW5zaW9ucy5nZXRBZGRvbnMuY2FjaGUuZW5hYmxlZCB0byBmYWxzZQoxNzMzNDAwODkxNzQ1CVJlbW90ZUFnZW50CURFQlVHCVNldHRpbmcgcmVjb21tZW5kZWQgcHJlZiBleHRlbnNpb25zLmJsb2NrbGlzdC5kZXRhaWxzVVJMIHRvIGh0dHA6Ly8lKHNlcnZlcilzL2V4dGVuc2lvbnMtZHVtbXkvYmxvY2tsaXN0RGV0YWlsc1VSTAoxNzMzNDAwODkxNzQ1CVJlbW90ZUFnZW50CURFQlVHCVNldHRpbmcgcmVjb21tZW5kZWQgcHJlZiBleHRlbnNpb25zLmJsb2NrbGlzdC5pdGVtVVJMIHRvIGh0dHA6Ly8lKHNlcnZlcilzL2V4dGVuc2lvbnMtZHVtbXkvYmxvY2tsaXN0SXRlbVVSTAoxNzMzNDAwODkxNzQ1CVJlbW90ZUFnZW50CURFQlVHCVNldHRpbmcgcmVjb21tZW5kZWQgcHJlZiBleHRlbnNpb25zLmhvdGZpeC51cmwgdG8gaHR0cDovLyUoc2VydmVyKXMvZXh0ZW5zaW9ucy1kdW1teS9ob3RmaXhVUkwKMTczMzQwMDg5MTc0NQlSZW1vdGVBZ2VudAlERUJVRwlTZXR0aW5nIHJlY29tbWVuZGVkIHByZWYgZXh0ZW5zaW9ucy5zeXN0ZW1BZGRvbi51cGRhdGUuZW5hYmxlZCB0byBmYWxzZQoxNzMzNDAwODkxNzQ1CVJlbW90ZUFnZW50CURFQlVHCVNldHRpbmcgcmVjb21tZW5kZWQgcHJlZiBleHRlbnNpb25zLnVwZGF0ZS5iYWNrZ3JvdW5kLnVybCB0byBodHRwOi8vJShzZXJ2ZXIpcy9leHRlbnNpb25zLWR1bW15L3VwZGF0ZUJhY2tncm91bmRVUkwKMTczMzQwMDg5MTc0NQlSZW1vdGVBZ2VudAlERUJVRwlTZXR0aW5nIHJlY29tbWVuZGVkIHByZWYgZXh0ZW5zaW9ucy5nZXRBZGRvbnMuc2VhcmNoLmJyb3dzZVVSTCB0byBodHRwOi8vJShzZXJ2ZXIpcy9leHRlbnNpb25zLWR1bW15L3JlcG9zaXRvcnlCcm93c2VVUkwKMTczMzQwMDg5MTc0NQlSZW1vdGVBZ2VudAlERUJVRwlTZXR0aW5nIHJlY29tbWVuZGVkIHByZWYgZ2VvLnByb3ZpZGVyLm5ldHdvcmsudXJsIHRvIAoxNzMzNDAwODkxNzQ1CVJlbW90ZUFnZW50CURFQlVHCVNldHRpbmcgcmVjb21tZW5kZWQgcHJlZiBpZGVudGl0eS5meGFjY291bnRzLmF1dGgudXJpIHRvIGh0dHBzOi8ve3NlcnZlcn0vZHVtbXkvZnhhCjE3MzM0MDA4OTE3NDUJUmVtb3RlQWdlbnQJREVCVUcJU2V0dGluZyByZWNvbW1lbmRlZCBwcmVmIG5ldHdvcmsuY29ubmVjdGl2aXR5LXNlcnZpY2UuZW5hYmxlZCB0byBmYWxzZQoxNzMzNDAwODkxNzQ1CVJlbW90ZUFnZW50CURFQlVHCVNldHRpbmcgcmVjb21tZW5kZWQgcHJlZiBuZXR3b3JrLmh0dHAucGhpc2h5LXVzZXJwYXNzLWxlbmd0aCB0byAyNTUKMTczMzQwMDg5MTc0NQlSZW1vdGVBZ2VudAlERUJVRwlTZXR0aW5nIHJlY29tbWVuZGVkIHByZWYgbmV0d29yay5odHRwLnByb21wdC10ZW1wLXJlZGlyZWN0IHRvIGZhbHNlCjE3MzM0MDA4OTE3NDUJUmVtb3RlQWdlbnQJREVCVUcJU2V0dGluZyByZWNvbW1lbmRlZCBwcmVmIHByaXZhY3kudHJhY2tpbmdwcm90ZWN0aW9uLmVuYWJsZWQgdG8gZmFsc2UKMTczMzQwMDg5MTc0NQlSZW1vdGVBZ2VudAlERUJVRwlTZXR0aW5nIHJlY29tbWVuZGVkIHByZWYgcmVtb3RlLnByZWZzLnJlY29tbWVuZGVkLmFwcGxpZWQgdG8gdHJ1ZQoxNzMzNDAwODkxNzQ2CVJlbW90ZUFnZW50CURFQlVHCVNldHRpbmcgcmVjb21tZW5kZWQgcHJlZiBzZWN1cml0eS5maWxldXJpLnN0cmljdF9vcmlnaW5fcG9saWN5IHRvIGZhbHNlCjE3MzM0MDA4OTE3NDYJUmVtb3RlQWdlbnQJREVCVUcJU2V0dGluZyByZWNvbW1lbmRlZCBwcmVmIHNlY3VyaXR5Lm5vdGlmaWNhdGlvbl9lbmFibGVfZGVsYXkgdG8gMAoxNzMzNDAwODkxNzQ2CVJlbW90ZUFnZW50CURFQlVHCVNldHRpbmcgcmVjb21tZW5kZWQgcHJlZiBzZWN1cml0eS5yZW1vdGVfc2V0dGluZ3MuaW50ZXJtZWRpYXRlcy5lbmFibGVkIHRvIGZhbHNlCjE3MzM0MDA4OTE3NDYJUmVtb3RlQWdlbnQJREVCVUcJU2V0dGluZyByZWNvbW1lbmRlZCBwcmVmIHNpZ25vbi5hdXRvZmlsbEZvcm1zIHRvIGZhbHNlCjE3MzM0MDA4OTE3NDYJUmVtb3RlQWdlbnQJREVCVUcJU2V0dGluZyByZWNvbW1lbmRlZCBwcmVmIHNpZ25vbi5yZW1lbWJlclNpZ25vbnMgdG8gZmFsc2UKMTczMzQwMDg5MTc0NglSZW1vdGVBZ2VudAlERUJVRwlTZXR0aW5nIHJlY29tbWVuZGVkIHByZWYgdG9vbGtpdC50ZWxlbWV0cnkuc2VydmVyIHRvIGh0dHBzOi8vJShzZXJ2ZXIpcy90ZWxlbWV0cnktZHVtbXkvCjE3MzM0MDA4OTE3NDYJUmVtb3RlQWdlbnQJREVCVUcJU2V0dGluZyByZWNvbW1lbmRlZCBwcmVmIHdpZGdldC53aW5kb3dzLndpbmRvd19vY2NsdXNpb25fdHJhY2tpbmcuZW5hYmxlZCB0byBmYWxzZQoxNzMzNDAwODkxNzQ2CVJlbW90ZUFnZW50CURFQlVHCVdlYkRyaXZlciBCaURpIGVuYWJsZWQKMTczMzQwMDg5MTc0NglNYXJpb25ldHRlCUlORk8JTWFyaW9uZXR0ZSBlbmFibGVkCjE3MzM0MDA4OTE3OTAJZ2Vja29kcml2ZXI6Om1hcmlvbmV0dGUJVFJBQ0UJUmV0cnlpbmcgaW4gMTAwbXMKMTczMzQwMDg5MTg5NQlnZWNrb2RyaXZlcjo6bWFyaW9uZXR0ZQlUUkFDRQlSZXRyeWluZyBpbiAxMDBtcwoxNzMzNDAwODkyMDAwCWdlY2tvZHJpdmVyOjptYXJpb25ldHRlCVRSQUNFCVJldHJ5aW5nIGluIDEwMG1zCjE3MzM0MDA4OTIwMTYJTWFyaW9uZXR0ZQlUUkFDRQlSZWNlaXZlZCBvYnNlcnZlciBub3RpZmljYXRpb24gZmluYWwtdWktc3RhcnR1cAoxNzMzNDAwODkyMDE3CVJlbW90ZUFnZW50CVRSQUNFCVJlY2VpdmVkIG9ic2VydmVyIG5vdGlmaWNhdGlvbiBmaW5hbC11aS1zdGFydHVwCmNvbnNvbGUuZXJyb3I6ICJXYXJuaW5nOiB1bnJlY29nbml6ZWQgY29tbWFuZCBsaW5lIGZsYWciICItcmVtb3RlLWFsbG93LWhvc3RzIgoxNzMzNDAwODkyMTg0CU1hcmlvbmV0dGUJSU5GTwlMaXN0ZW5pbmcgb24gcG9ydCA1NTcyNwoxNzMzNDAwODkyMTg3CU1hcmlvbmV0dGUJREVCVUcJTWFyaW9uZXR0ZSBpcyBsaXN0ZW5pbmcKMTczMzQwMDg5MjE5OQlSZW1vdGVBZ2VudAlUUkFDRQlBdmFpbGFibGUgbG9jYWwgSVAgYWRkcmVzc2VzOiAxMjcuMC4wLjEsIFs6OjFdCjE3MzM0MDA4OTIyMDMJUmVtb3RlQWdlbnQJREVCVUcJU2V0dGluZyByZWNvbW1lbmRlZCBwcmVmIHBlcm1pc3Npb25zLmlzb2xhdGVCeS51c2VyQ29udGV4dCB0byB0cnVlCldlYkRyaXZlciBCaURpIGxpc3RlbmluZyBvbiB3czovLzEyNy4wLjAuMTo1NTcyMgoxNzMzNDAwODkyMjA5CU1hcmlvbmV0dGUJREVCVUcJQWNjZXB0ZWQgY29ubmVjdGlvbiAwIGZyb20gMTI3LjAuMC4xOjU1NzM3CjE3MzM0MDA4OTIzMTEJZ2Vja29kcml2ZXI6Om1hcmlvbmV0dGUJREVCVUcJQ29ubmVjdGlvbiB0byBNYXJpb25ldHRlIGVzdGFibGlzaGVkIG9uIDEyNy4wLjAuMTo1NTcyNy4KMTczMzQwMDg5MjMzMwlNYXJpb25ldHRlCURFQlVHCTAgLT4gWzAsMSwiV2ViRHJpdmVyOk5ld1Nlc3Npb24iLHsiYWNjZXB0SW5zZWN1cmVDZXJ0cyI6dHJ1ZSwiYnJvd3Nlck5hbWUiOiJmaXJlZm94IiwicGFnZUxvYWRTdHJhdGVneSI6Im5vcm1hbCJ9XQoxNzMzNDAwODkyMzM1CVJlbW90ZUFnZW50CVdBUk4JVExTIGNlcnRpZmljYXRlIGVycm9ycyB3aWxsIGJlIGlnbm9yZWQgZm9yIHRoaXMgc2Vzc2lvbgoxNzMzNDAwODkyMzM1CU1hcmlvbmV0dGUJREVCVUcJV2FpdGluZyBmb3IgaW5pdGlhbCBhcHBsaWNhdGlvbiB3aW5kb3cKY29uc29sZS5lcnJvcjogUG9saWNpZXM6IAogIEluc3RhbGxhdGlvbiBmYWlsZWQgLSBFUlJPUl9GSUxFX0FDQ0VTUyAtIHt1cmx9CmNvbnNvbGUuZXJyb3I6IFBvbGljaWVzOiAKICBJbnN0YWxsYXRpb24gZmFpbGVkIC0gRVJST1JfRklMRV9BQ0NFU1MgLSB7dXJsfQpbR0ZYMS1dOiBSZW5kZXJDb21wb3NpdG9yU1dHTCBmYWlsZWQgbWFwcGluZyBkZWZhdWx0IGZyYW1lYnVmZmVyLCBubyBkdAoxNzMzNDAwODkzNTIzCU1hcmlvbmV0dGUJVFJBQ0UJUmVjZWl2ZWQgb2JzZXJ2ZXIgbm90aWZpY2F0aW9uIGJyb3dzZXItaWRsZS1zdGFydHVwLXRhc2tzLWZpbmlzaGVkCjE3MzM0MDA4OTM1MjMJUmVtb3RlQWdlbnQJVFJBQ0UJUmVjZWl2ZWQgb2JzZXJ2ZXIgbm90aWZpY2F0aW9uIGJyb3dzZXItaWRsZS1zdGFydHVwLXRhc2tzLWZpbmlzaGVkCjE3MzM0MDA4OTM1MjcJUmVtb3RlQWdlbnQJVFJBQ0UJWzldIFByb2dyZXNzTGlzdGVuZXIgU3RhcnQ6IGV4cGVjdE5hdmlnYXRpb249ZmFsc2UgcmVzb2x2ZVdoZW5TdGFydGVkPWZhbHNlIHVubG9hZFRpbWVvdXQ9NTAwMCB3YWl0Rm9yRXhwbGljaXRTdGFydD1mYWxzZQoxNzMzNDAwODkzNTI3CVJlbW90ZUFnZW50CVRSQUNFCVs5XSBQcm9ncmVzc0xpc3RlbmVyIFNldHRpbmcgdW5sb2FkIHRpbWVyICg1MDAwbXMpCjE3MzM0MDA4OTM1MjcJUmVtb3RlQWdlbnQJVFJBQ0UJWzldIFdhaXQgZm9yIGluaXRpYWwgbmF2aWdhdGlvbjogaXNJbml0aWFsPWZhbHNlLCBpc0xvYWRpbmdEb2N1bWVudD1mYWxzZQoxNzMzNDAwODkzNTI3CVJlbW90ZUFnZW50CVRSQUNFCVs5XSBEb2N1bWVudCBhbHJlYWR5IGZpbmlzaGVkIGxvYWRpbmc6IGFib3V0OmJsYW5rCjE3MzM0MDA4OTM1MjcJUmVtb3RlQWdlbnQJVFJBQ0UJWzldIFByb2dyZXNzTGlzdGVuZXIgU3RvcDogaGFzIGVycm9yPWZhbHNlIHVybD1hYm91dDpibGFuawoxNzMzNDAwODkzNTM1CU1hcmlvbmV0dGUJREVCVUcJMCA8LSBbMSwxLG51bGwseyJzZXNzaW9uSWQiOiIwZmVjMjc1OC05MGU0LTQwNWUtOTBlMi05YWQyOGZiNDVkMjIiLCJjYXBhYmlsaXRpZXMiOnsiYWNjZXB0SW5zZWN1cmVDZXJ0cyI6dHJ1ZSwiYnJvd3Nlck5hbWUiOiJmaXJlZm94IiwiYnJvd3NlclZlcnNpb24iOiIxMzMuMCIsInBsYXRmb3JtTmFtZSI6Im1hYyIsInVuaGFuZGxlZFByb21wdEJlaGF2aW9yIjoiZGlzbWlzcyBhbmQgbm90aWZ5IiwidXNlckFnZW50IjoiTW96aWxsYS81LjAgKE1hY2ludG9zaDsgSW50ZWwgTWFjIE9TIFggMTAuMTU7IHJ2OjEzMy4wKSBHZWNrby8yMDEwMDEwMSBGaXJlZm94LzEzMy4wIiwibW96OmJ1aWxkSUQiOiIyMDI0MTEyMTE0MDUyNSIsIm1vejpoZWFkbGVzcyI6dHJ1ZSwibW96OnBsYXRmb3JtVmVyc2lvbiI6IjIzLjYuMCIsIm1vejpwcm9jZXNzSUQiOjYyNzI3LCJtb3o6cHJvZmlsZSI6Ii92YXIvZm9sZGVycy92Xy82amRfZDVrbjdzczB2OGhkOTJqcWdsejgwMDAwZ3EvVC9ydXN0X21venByb2ZpbGVYNjdCeDUiLCJtb3o6c2h1dGRvd25UaW1lb3V0Ijo2MDAwMCwicGFnZUxvYWRTdHJhdGVneSI6Im5vcm1hbCIsInRpbWVvdXRzIjp7ImltcGxpY2l0IjowLCJwYWdlTG9hZCI6MzAwMDAwLCJzY3JpcHQiOjMwMDAwfSwic2V0V2luZG93UmVjdCI6dHJ1ZSwic3RyaWN0RmlsZUludGVyYWN0YWJpbGl0eSI6ZmFsc2UsIm1vejphY2Nlc3NpYmlsaXR5Q2hlY2tzIjpmYWxzZSwibW96OndlYmRyaXZlckNsaWNrIjp0cnVlLCJtb3o6d2luZG93bGVzcyI6ZmFsc2UsInByb3h5Ijp7fX19XQoxNzMzNDAwODkzNTM5CXdlYmRyaXZlcjo6c2VydmVyCURFQlVHCTwtIDIwMCBPSyB7InZhbHVlIjp7InNlc3Npb25JZCI6IjBmZWMyNzU4LTkwZTQtNDA1ZS05MGUyLTlhZDI4ZmI0NWQyMiIsImNhcGFiaWxpdGllcyI6eyJhY2NlcHRJbnNlY3VyZUNlcnRzIjp0cnVlLCJicm93c2VyTmFtIC4uLiByIjoiZGlzbWlzcyBhbmQgbm90aWZ5IiwidXNlckFnZW50IjoiTW96aWxsYS81LjAgKE1hY2ludG9zaDsgSW50ZWwgTWFjIE9TIFggMTAuMTU7IHJ2OjEzMy4wKSBHZWNrby8yMDEwMDEwMSBGaXJlZm94LzEzMy4wIn19fQoxNzMzNDAwODkzNTQwCXdlYmRyaXZlcjo6c2VydmVyCURFQlVHCS0+IFBPU1QgL3Nlc3Npb24vMGZlYzI3NTgtOTBlNC00MDVlLTkwZTItOWFkMjhmYjQ1ZDIyL3dpbmRvdy9yZWN0IHsieCI6IG51bGwsICJ5IjogbnVsbCwgIndpZHRoIjogMTkyMCwgImhlaWdodCI6IDEwODB9CjE3MzM0MDA4OTM1NDEJTWFyaW9uZXR0ZQlERUJVRwkwIC0+IFswLDIsIldlYkRyaXZlcjpTZXRXaW5kb3dSZWN0Iix7ImhlaWdodCI6MTA4MCwid2lkdGgiOjE5MjB9XQoxNzMzNDAwODkzODAwCVJlbW90ZUFnZW50CVRSQUNFCVJlY2VpdmVkIERPTSBldmVudCByZXNpemUgZm9yIFtvYmplY3QgV2luZG93XQoxNzMzNDAwODkzODAwCU1hcmlvbmV0dGUJVFJBQ0UJUmVxdWVzdGVkIHdpbmRvdyBnZW9tZXRyeSBtYXRjaGVzCjE3MzM0MDA4OTM4MDEJTWFyaW9uZXR0ZQlERUJVRwkwIDwtIFsxLDIsbnVsbCx7IngiOjQsInkiOjQsIndpZHRoIjoxOTIwLCJoZWlnaHQiOjEwODB9XQoxNzMzNDAwODkzODAyCXdlYmRyaXZlcjo6c2VydmVyCURFQlVHCTwtIDIwMCBPSyB7InZhbHVlIjp7IngiOjQsInkiOjQsIndpZHRoIjoxOTIwLCJoZWlnaHQiOjEwODB9fQoxNzMzNDAwODkzODE3CXdlYmRyaXZlcjo6c2VydmVyCURFQlVHCS0+IFBPU1QgL3Nlc3Npb24vMGZlYzI3NTgtOTBlNC00MDVlLTkwZTItOWFkMjhmYjQ1ZDIyL3VybCB7InVybCI6ICJodHRwczovL2FkZG9ucy5hbGxpem9tLm9yZyJ9CjE3MzM0MDA4OTM4MTgJTWFyaW9uZXR0ZQlERUJVRwkwIC0+IFswLDMsIldlYkRyaXZlcjpOYXZpZ2F0ZSIseyJ1cmwiOiJodHRwczovL2FkZG9ucy5hbGxpem9tLm9yZyJ9XQoxNzMzNDAwODkzODIyCU1hcmlvbmV0dGUJVFJBQ0UJWzldIFJlY2VpdmVkIGV2ZW50IGJlZm9yZXVubG9hZCBmb3IgYWJvdXQ6YmxhbmsKMTczMzQwMDg5Mzk5NAlNYXJpb25ldHRlCVRSQUNFCVJlbW90ZW5lc3MgY2hhbmdlIGRldGVjdGVkLiBTZXQgbmV3IHRvcC1sZXZlbCBicm93c2luZyBjb250ZXh0IHRvIDExCjE3MzM0MDA4OTQwMDEJTWFyaW9uZXR0ZQlUUkFDRQlbMTFdIFJlY2VpdmVkIGV2ZW50IGJlZm9yZXVubG9hZCBmb3IgYWJvdXQ6YmxhbmsKMTczMzQwMDg5NDAwMwlNYXJpb25ldHRlCVRSQUNFCVsxMV0gUmVjZWl2ZWQgZXZlbnQgcGFnZWhpZGUgZm9yIGFib3V0OmJsYW5rCmNvbnNvbGUuaW5mbzogIiVzICVzIiAiW0dBXSIgIkdvb2dsZSBBbmFseXRpY3MgaXMgZW5hYmxlZCIgKHZvaWQgMCkKY29uc29sZS5pbmZvOiAiJXMgJXMiICJbR0E6IE9OXSIgInRyYWNraW5nU2VuZFdlYlZpdGFscyBpcyBlbmFibGVkIiAodm9pZCAwKQpjb25zb2xlLmluZm86ICIlcyAlczogJW8iICJbR0E6IE9OXSIgInNlbmRFdmVudCIgKHtldmVudEFjdGlvbjoicHJpbWFyeS1oZXJvLWltcHJlc3Npb24iLCBldmVudENhdGVnb3J5OiJBTU8gUHJpbWFyeSBIZXJvIEltcHJlc3Npb25zIiwgZXZlbnRMYWJlbDoiaHR0cHMtZXZlcnl3aGVyZUBlZmYub3JnIiwgZXZlbnRWYWx1ZToodm9pZCAwKSwgaGl0VHlwZToiZXZlbnQifSkKY29uc29sZS5pbmZvOiAiYWRkaW5nIGV2ZW50IGxpc3RlbmVyIGZvciBcIm9uRGlzYWJsZWRcIiIKY29uc29sZS5pbmZvOiAiYWRkaW5nIGV2ZW50IGxpc3RlbmVyIGZvciBcIm9uRW5hYmxlZFwiIgpjb25zb2xlLmluZm86ICJhZGRpbmcgZXZlbnQgbGlzdGVuZXIgZm9yIFwib25JbnN0YWxsaW5nXCIiCmNvbnNvbGUuaW5mbzogImFkZGluZyBldmVudCBsaXN0ZW5lciBmb3IgXCJvbkluc3RhbGxlZFwiIgpjb25zb2xlLmluZm86ICJhZGRpbmcgZXZlbnQgbGlzdGVuZXIgZm9yIFwib25Vbmluc3RhbGxpbmdcIiIKY29uc29sZS5pbmZvOiAiYWRkaW5nIGV2ZW50IGxpc3RlbmVyIGZvciBcIm9uVW5pbnN0YWxsZWRcIiIKY29uc29sZS5pbmZvOiAiYWRkaW5nIGV2ZW50IGxpc3RlbmVyIGZvciBcIm9uRW5hYmxpbmdcIiIKY29uc29sZS5pbmZvOiAiYWRkaW5nIGV2ZW50IGxpc3RlbmVyIGZvciBcIm9uRGlzYWJsaW5nXCIiCmNvbnNvbGUuaW5mbzogIkdsb2JhbCBjaGFuZ2UgZXZlbnQgbGlzdGVuZXJzIGhhdmUgYmVlbiBpbml0aWFsaXplZCIKMTczMzQwMDg5NDc1NQlNYXJpb25ldHRlCVRSQUNFCVsxMV0gUmVjZWl2ZWQgZXZlbnQgRE9NQ29udGVudExvYWRlZCBmb3IgaHR0cHM6Ly9hZGRvbnMuYWxsaXpvbS5vcmcvZW4tVVMvZmlyZWZveC8KMTczMzQwMDg5NDc2OQlNYXJpb25ldHRlCVRSQUNFCVsxMV0gUmVjZWl2ZWQgZXZlbnQgcGFnZXNob3cgZm9yIGh0dHBzOi8vYWRkb25zLmFsbGl6b20ub3JnL2VuLVVTL2ZpcmVmb3gvCjE3MzM0MDA4OTQ3NjkJTWFyaW9uZXR0ZQlERUJVRwkwIDwtIFsxLDMsbnVsbCx7InZhbHVlIjpudWxsfV0KMTczMzQwMDg5NDc3Mwl3ZWJkcml2ZXI6OnNlcnZlcglERUJVRwk8LSAyMDAgT0sgeyJ2YWx1ZSI6bnVsbH0KMTczMzQwMDg5NDc3NAl3ZWJkcml2ZXI6OnNlcnZlcglERUJVRwktPiBQT1NUIC9zZXNzaW9uLzBmZWMyNzU4LTkwZTQtNDA1ZS05MGUyLTlhZDI4ZmI0NWQyMi9lbGVtZW50IHsidXNpbmciOiAiY3NzIHNlbGVjdG9yIiwgInZhbHVlIjogIi5Mb2FkaW5nVGV4dCJ9CjE3MzM0MDA4OTQ3NzUJTWFyaW9uZXR0ZQlERUJVRwkwIC0+IFswLDQsIldlYkRyaXZlcjpGaW5kRWxlbWVudCIseyJ1c2luZyI6ImNzcyBzZWxlY3RvciIsInZhbHVlIjoiLkxvYWRpbmdUZXh0In1dCjE3MzM0MDA4OTQ4MTEJUmVtb3RlQWdlbnQJVFJBQ0UJV2ViRHJpdmVyUHJvY2Vzc0RhdGEgYWN0b3IgY3JlYXRlZCBmb3IgUElEIDYyNzMyCjE3MzM0MDA4OTQ4MTIJTWFyaW9uZXR0ZQlUUkFDRQlbMTFdIE1hcmlvbmV0dGVDb21tYW5kcyBhY3RvciBjcmVhdGVkIGZvciB3aW5kb3cgaWQgMTA3Mzc0MTgyNDEKMTczMzQwMDg5NDgzOQlNYXJpb25ldHRlCURFQlVHCTAgPC0gWzEsNCx7ImVycm9yIjoibm8gc3VjaCBlbGVtZW50IiwibWVzc2FnZSI6IlVuYWJsZSB0byBsb2NhdGUgZWxlbWVudDogLkxvYWRpbmdUZXh0Iiwic3RhY2t0cmFjZSI6IlJlbW90ZUVycm9yQGNocm9tZTovL3JlbW90ZS9jb250ZW50L3NoYXJlZC9SZW1vdGVFcnJvci5zeXMubWpzOjg6OFxuV2ViRHJpdmVyRXJyb3JAY2hyb21lOi8vcmVtb3RlL2NvbnRlbnQvc2hhcmVkL3dlYmRyaXZlci9FciAuLi4gY2hyb21lOi8vcmVtb3RlL2NvbnRlbnQvc2hhcmVkL3dlYmRyaXZlci9FcnJvcnMuc3lzLm1qczo1MTE6NVxuZG9tLmZpbmQvPC88QGNocm9tZTovL3JlbW90ZS9jb250ZW50L3NoYXJlZC9ET00uc3lzLm1qczoxMzY6MTZcbiJ9LG51bGxdCjE3MzM0MDA4OTQ4NDAJd2ViZHJpdmVyOjpzZXJ2ZXIJREVCVUcJPC0gNDA0IE5vdCBGb3VuZCB7InZhbHVlIjp7ImVycm9yIjoibm8gc3VjaCBlbGVtZW50IiwibWVzc2FnZSI6IlVuYWJsZSB0byBsb2NhdGUgZWxlbWVudDogLkxvYWRpbmdUZXh0Iiwic3RhY2t0cmFjZSI6IlJlbW90ZUUgLi4uIGU6Ly9yZW1vdGUvY29udGVudC9zaGFyZWQvd2ViZHJpdmVyL0Vycm9ycy5zeXMubWpzOjUxMTo1XG5kb20uZmluZC88LzxAY2hyb21lOi8vcmVtb3RlL2NvbnRlbnQvc2hhcmVkL0RPTS5zeXMubWpzOjEzNjoxNlxuIn19CjE3MzM0MDA4OTQ4NDAJd2ViZHJpdmVyOjpzZXJ2ZXIJREVCVUcJLT4gUE9TVCAvc2Vzc2lvbi8wZmVjMjc1OC05MGU0LTQwNWUtOTBlMi05YWQyOGZiNDVkMjIvZWxlbWVudCB7InVzaW5nIjogImNzcyBzZWxlY3RvciIsICJ2YWx1ZSI6ICIuTG9hZGluZ1RleHQifQoxNzMzNDAwODk0ODQxCU1hcmlvbmV0dGUJREVCVUcJMCAtPiBbMCw1LCJXZWJEcml2ZXI6RmluZEVsZW1lbnQiLHsidXNpbmciOiJjc3Mgc2VsZWN0b3IiLCJ2YWx1ZSI6Ii5Mb2FkaW5nVGV4dCJ9XQoxNzMzNDAwODk0ODQ0CU1hcmlvbmV0dGUJREVCVUcJMCA8LSBbMSw1LHsiZXJyb3IiOiJubyBzdWNoIGVsZW1lbnQiLCJtZXNzYWdlIjoiVW5hYmxlIHRvIGxvY2F0ZSBlbGVtZW50OiAuTG9hZGluZ1RleHQiLCJzdGFja3RyYWNlIjoiUmVtb3RlRXJyb3JAY2hyb21lOi8vcmVtb3RlL2NvbnRlbnQvc2hhcmVkL1JlbW90ZUVycm9yLnN5cy5tanM6ODo4XG5XZWJEcml2ZXJFcnJvckBjaHJvbWU6Ly9yZW1vdGUvY29udGVudC9zaGFyZWQvd2ViZHJpdmVyL0VyIC4uLiBjaHJvbWU6Ly9yZW1vdGUvY29udGVudC9zaGFyZWQvd2ViZHJpdmVyL0Vycm9ycy5zeXMubWpzOjUxMTo1XG5kb20uZmluZC88LzxAY2hyb21lOi8vcmVtb3RlL2NvbnRlbnQvc2hhcmVkL0RPTS5zeXMubWpzOjEzNjoxNlxuIn0sbnVsbF0KMTczMzQwMDg5NDg0Ngl3ZWJkcml2ZXI6OnNlcnZlcglERUJVRwk8LSA0MDQgTm90IEZvdW5kIHsidmFsdWUiOnsiZXJyb3IiOiJubyBzdWNoIGVsZW1lbnQiLCJtZXNzYWdlIjoiVW5hYmxlIHRvIGxvY2F0ZSBlbGVtZW50OiAuTG9hZGluZ1RleHQiLCJzdGFja3RyYWNlIjoiUmVtb3RlRSAuLi4gZTovL3JlbW90ZS9jb250ZW50L3NoYXJlZC93ZWJkcml2ZXIvRXJyb3JzLnN5cy5tanM6NTExOjVcbmRvbS5maW5kLzwvPEBjaHJvbWU6Ly9yZW1vdGUvY29udGVudC9zaGFyZWQvRE9NLnN5cy5tanM6MTM2OjE2XG4ifX0KMTczMzQwMDg5NDg0Nwl3ZWJkcml2ZXI6OnNlcnZlcglERUJVRwktPiBQT1NUIC9zZXNzaW9uLzBmZWMyNzU4LTkwZTQtNDA1ZS05MGUyLTlhZDI4ZmI0NWQyMi9lbGVtZW50IHsidXNpbmciOiAiY3NzIHNlbGVjdG9yIiwgInZhbHVlIjogIi5IZWFkZXIifQoxNzMzNDAwODk0ODQ3CU1hcmlvbmV0dGUJREVCVUcJMCAtPiBbMCw2LCJXZWJEcml2ZXI6RmluZEVsZW1lbnQiLHsidXNpbmciOiJjc3Mgc2VsZWN0b3IiLCJ2YWx1ZSI6Ii5IZWFkZXIifV0KMTczMzQwMDg5NDg1MQlNYXJpb25ldHRlCURFQlVHCTAgPC0gWzEsNixudWxsLHsidmFsdWUiOnsiZWxlbWVudC02MDY2LTExZTQtYTUyZS00ZjczNTQ2NmNlY2YiOiJkNjcxZGRjZi1hN2VkLTQxODAtYTFhZS1kMmM0ZWFjY2M5MWMifX1dCjE3MzM0MDA4OTQ4NTEJd2ViZHJpdmVyOjpzZXJ2ZXIJREVCVUcJPC0gMjAwIE9LIHsidmFsdWUiOnsiZWxlbWVudC02MDY2LTExZTQtYTUyZS00ZjczNTQ2NmNlY2YiOiJkNjcxZGRjZi1hN2VkLTQxODAtYTFhZS1kMmM0ZWFjY2M5MWMifX0KMTczMzQwMDg5NDg1Mgl3ZWJkcml2ZXI6OnNlcnZlcglERUJVRwktPiBQT1NUIC9zZXNzaW9uLzBmZWMyNzU4LTkwZTQtNDA1ZS05MGUyLTlhZDI4ZmI0NWQyMi9lbGVtZW50L2Q2NzFkZGNmLWE3ZWQtNDE4MC1hMWFlLWQyYzRlYWNjYzkxYy9lbGVtZW50IHsidXNpbmciOiAiY3NzIHNlbGVjdG9yIiwgInZhbHVlIjogIi5IZWFkZXItYXV0aGVudGljYXRlLWJ1dHRvbiIsICJpZCI6ICJkNjcxZGRjZi1hN2VkLTQxODAtYTFhZS1kMmM0ZWFjY2M5MWMifQoxNzMzNDAwODk0ODUzCU1hcmlvbmV0dGUJREVCVUcJMCAtPiBbMCw3LCJXZWJEcml2ZXI6RmluZEVsZW1lbnQiLHsiZWxlbWVudCI6ImQ2NzFkZGNmLWE3ZWQtNDE4MC1hMWFlLWQyYzRlYWNjYzkxYyIsInVzaW5nIjoiY3NzIHNlbGVjdG9yIiwidmFsdWUiOiIuSGVhZGVyLWF1dGhlbnRpY2F0ZS1idXR0b24ifV0KMTczMzQwMDg5NDg1NglNYXJpb25ldHRlCURFQlVHCTAgPC0gWzEsNyxudWxsLHsidmFsdWUiOnsiZWxlbWVudC02MDY2LTExZTQtYTUyZS00ZjczNTQ2NmNlY2YiOiI1NGJkMzU0YS00NjkwLTRkNDItOWE0ZC04NDgzZjgzNGIxODkifX1dCjE3MzM0MDA4OTQ4NTYJd2ViZHJpdmVyOjpzZXJ2ZXIJREVCVUcJPC0gMjAwIE9LIHsidmFsdWUiOnsiZWxlbWVudC02MDY2LTExZTQtYTUyZS00ZjczNTQ2NmNlY2YiOiI1NGJkMzU0YS00NjkwLTRkNDItOWE0ZC04NDgzZjgzNGIxODkifX0KMTczMzQwMDg5NDg1Nwl3ZWJkcml2ZXI6OnNlcnZlcglERUJVRwktPiBQT1NUIC9zZXNzaW9uLzBmZWMyNzU4LTkwZTQtNDA1ZS05MGUyLTlhZDI4ZmI0NWQyMi9lbGVtZW50LzU0YmQzNTRhLTQ2OTAtNGQ0Mi05YTRkLTg0ODNmODM0YjE4OS9jbGljayB7ImlkIjogIjU0YmQzNTRhLTQ2OTAtNGQ0Mi05YTRkLTg0ODNmODM0YjE4OSJ9CjE3MzM0MDA4OTQ4NTgJTWFyaW9uZXR0ZQlERUJVRwkwIC0+IFswLDgsIldlYkRyaXZlcjpFbGVtZW50Q2xpY2siLHsiaWQiOiI1NGJkMzU0YS00NjkwLTRkNDItOWE0ZC04NDgzZjgzNGIxODkifV0KMTczMzQwMDg5NDg4MglNYXJpb25ldHRlCVRSQUNFCVJlY2VpdmVkIERPTSBldmVudCBjbGljayBmb3IgaHR0cHM6Ly9hZGRvbnMuYWxsaXpvbS5vcmcvZW4tVVMvZmlyZWZveC8jbG9naW4KMTczMzQwMDg5NDg4MglNYXJpb25ldHRlCVRSQUNFCVsxMV0gUmVjZWl2ZWQgZXZlbnQgYmVmb3JldW5sb2FkIGZvciBodHRwczovL2FkZG9ucy5hbGxpem9tLm9yZy9lbi1VUy9maXJlZm94Lwpjb25zb2xlLmluZm86ICIlcyAlczogJW8iICJbR0E6IE9OXSIgInNlbmRXZWJWaXRhbFN0YXRzIiAoe2RlbHRhOjY4MSwgaWQ6InYzLTE3MzM0MDA4OTQ1MzktODYwMDM0OTY0NjgyMyIsIG5hbWU6IkxDUCIsIHZhbHVlOjY4MX0pCmNvbnNvbGUuaW5mbzogIiVzICVzOiAlbyIgIltHQTogT05dIiAic2VuZFdlYlZpdGFsU3RhdHMiICh7ZGVsdGE6MCwgaWQ6InYzLTE3MzM0MDA4OTQ1MzktMzA0MzcxNzU3NDE2NCIsIG5hbWU6IkZJRCIsIHZhbHVlOjB9KQpKYXZhU2NyaXB0IHdhcm5pbmc6IGh0dHBzOi8vYWRkb25zLmFsbGl6b20ub3JnL3N0YXRpYy1mcm9udGVuZC9hbW8tZDhmYjllNzI1NzRkZWMxOTFhM2MuanMsIGxpbmUgNzogU2NyaXB0IHRlcm1pbmF0ZWQgYnkgdGltZW91dCBhdDoKYUBodHRwczovL2FkZG9ucy5hbGxpem9tLm9yZy9zdGF0aWMtZnJvbnRlbmQvYW1vLWQ4ZmI5ZTcyNTc0ZGVjMTkxYTNjLmpzOjc6Mjg4NjUKU2kvPC88QGh0dHBzOi8vYWRkb25zLmFsbGl6b20ub3JnL3N0YXRpYy1mcm9udGVuZC9hbW8tZDhmYjllNzI1NzRkZWMxOTFhM2MuanM6NzoyODk1MwppaS88QGh0dHBzOi8vYWRkb25zLmFsbGl6b20ub3JnL3N0YXRpYy1mcm9udGVuZC9hbW8tZDhmYjllNzI1NzRkZWMxOTFhM2MuanM6NzoyNjIwNwp0QGh0dHBzOi8vYWRkb25zLmFsbGl6b20ub3JnL3N0YXRpYy1mcm9udGVuZC9hbW8tZDhmYjllNzI1NzRkZWMxOTFhM2MuanM6NzoyNjA3NwoKMTczMzQwMDg5NTY2OQlNYXJpb25ldHRlCVRSQUNFCVJlbW90ZW5lc3MgY2hhbmdlIGRldGVjdGVkLiBTZXQgbmV3IHRvcC1sZXZlbCBicm93c2luZyBjb250ZXh0IHRvIDEyCjE3MzM0MDA4OTU2ODIJTWFyaW9uZXR0ZQlUUkFDRQlbMTJdIFJlY2VpdmVkIGV2ZW50IGJlZm9yZXVubG9hZCBmb3IgYWJvdXQ6YmxhbmsKMTczMzQwMDg5NTY4MglNYXJpb25ldHRlCVRSQUNFCVsxMV0gTWFyaW9uZXR0ZUNvbW1hbmRzIGFjdG9yIGRlc3Ryb3llZCBmb3Igd2luZG93IGlkIDEwNzM3NDE4MjQxCjE3MzM0MDA4OTU2OTAJTWFyaW9uZXR0ZQlUUkFDRQlbMTJdIFJlY2VpdmVkIGV2ZW50IHBhZ2VoaWRlIGZvciBhYm91dDpibGFuawoxNzMzNDAwODk2MTIzCU1hcmlvbmV0dGUJVFJBQ0UJWzEyXSBSZWNlaXZlZCBldmVudCBET01Db250ZW50TG9hZGVkIGZvciBodHRwczovL2FjY291bnRzLmZpcmVmb3guY29tL2F1dGhvcml6YXRpb24/Y2xpZW50X2lkPTFlNWE3N2NmMDllNWI0YjUmc2NvcGU9cHJvZmlsZStvcGVuaWQmc3RhdGU9YzI2ZmI2NjdiZmI4MmU5MmY0YzAyMGRjYjhmYmFkNmJlODFhODJkYWExNWM2ODY1NjEwMmVlZDU0ODk2NjkzYSUzQUwyVnVMVlZUTDJacGNtVm1iM2d2JmFjY2Vzc190eXBlPW9mZmxpbmUKMTczMzQwMDg5NjEyNAlNYXJpb25ldHRlCVRSQUNFCVsxMl0gUmVjZWl2ZWQgZXZlbnQgcGFnZXNob3cgZm9yIGh0dHBzOi8vYWNjb3VudHMuZmlyZWZveC5jb20vYXV0aG9yaXphdGlvbj9jbGllbnRfaWQ9MWU1YTc3Y2YwOWU1YjRiNSZzY29wZT1wcm9maWxlK29wZW5pZCZzdGF0ZT1jMjZmYjY2N2JmYjgyZTkyZjRjMDIwZGNiOGZiYWQ2YmU4MWE4MmRhYTE1YzY4NjU2MTAyZWVkNTQ4OTY2OTNhJTNBTDJWdUxWVlRMMlpwY21WbWIzZ3YmYWNjZXNzX3R5cGU9b2ZmbGluZQoxNzMzNDAwODk2MTI0CU1hcmlvbmV0dGUJREVCVUcJMCA8LSBbMSw4LG51bGwseyJ2YWx1ZSI6bnVsbH1dCjE3MzM0MDA4OTYxMjUJd2ViZHJpdmVyOjpzZXJ2ZXIJREVCVUcJPC0gMjAwIE9LIHsidmFsdWUiOm51bGx9CmNvbnNvbGUuaW5mbzogInNlbnRyeS1jb25maWctYnVpbGRlciIgKHttc2c6IkNvbmZpZyBzZXR0aW5nIGZvciBzZW50cnkuZHNuIHNwZWNpZmllZCwgZW5hYmxpbmcgc2VudHJ5IGZvciBlbnYgcHJvZCEifSkKY29uc29sZS5pbmZvOiAic2VudHJ5LWNvbmZpZy1idWlsZGVyIiAoe21zZzoic2VudHJ5IHRhcmdldGluZzogcHJvZCJ9KQoxNzMzNDAwODk2MTM3CXdlYmRyaXZlcjo6c2VydmVyCURFQlVHCS0+IEdFVCAvc2Vzc2lvbi8wZmVjMjc1OC05MGU0LTQwNWUtOTBlMi05YWQyOGZiNDVkMjIvdXJsIAoxNzMzNDAwODk2MTM5CU1hcmlvbmV0dGUJREVCVUcJMCAtPiBbMCw5LCJXZWJEcml2ZXI6R2V0Q3VycmVudFVSTCIse31dCjE3MzM0MDA4OTYxMzkJTWFyaW9uZXR0ZQlERUJVRwkwIDwtIFsxLDksbnVsbCx7InZhbHVlIjoiaHR0cHM6Ly9hY2NvdW50cy5maXJlZm94LmNvbS9hdXRob3JpemF0aW9uP2NsaWVudF9pZD0xZTVhNzdjZjA5ZTViNGI1JnNjb3BlPXByb2ZpbGUrb3BlbmlkJnN0YXRlPWMyNmZiNjY3YmZiODJlOTJmNGMwMjBkY2I4ZmJhZDZiZTgxYTgyZGFhMTVjNjg2NTYxMDJlZWQ1NDg5NjY5M2ElM0FMMlZ1TFZWVEwyWnBjbVZtYjNndiZhY2Nlc3NfdHlwZT1vZmZsaW5lIn1dCjE3MzM0MDA4OTYxMzkJd2ViZHJpdmVyOjpzZXJ2ZXIJREVCVUcJPC0gMjAwIE9LIHsidmFsdWUiOiJodHRwczovL2FjY291bnRzLmZpcmVmb3guY29tL2F1dGhvcml6YXRpb24/Y2xpZW50X2lkPTFlNWE3N2NmMDllNWI0YjUmc2NvcGU9cHJvZmlsZStvcGVuaWQmc3RhdGU9YzI2ZmI2NjdiZmI4MmU5MmY0YzAyMGRjYjhmYmFkNmJlODFhODJkYWExNWM2ODY1NjEwMmVlZDU0ODk2NjkzYSUzQUwyVnVMVlZUTDJacGNtVm1iM2d2JmFjY2Vzc190eXBlPW9mZmxpbmUifQoxNzMzNDAwODk2MTQwCXdlYmRyaXZlcjo6c2VydmVyCURFQlVHCS0+IFBPU1QgL3Nlc3Npb24vMGZlYzI3NTgtOTBlNC00MDVlLTkwZTItOWFkMjhmYjQ1ZDIyL2VsZW1lbnQgeyJ1c2luZyI6ICJjc3Mgc2VsZWN0b3IiLCAidmFsdWUiOiAiW25hbWU9XCJlbWFpbFwiXSJ9CjE3MzM0MDA4OTYxNDAJTWFyaW9uZXR0ZQlERUJVRwkwIC0+IFswLDEwLCJXZWJEcml2ZXI6RmluZEVsZW1lbnQiLHsidXNpbmciOiJjc3Mgc2VsZWN0b3IiLCJ2YWx1ZSI6IltuYW1lPVwiZW1haWxcIl0ifV0KMTczMzQwMDg5NjE0MwlSZW1vdGVBZ2VudAlUUkFDRQlXZWJEcml2ZXJQcm9jZXNzRGF0YSBhY3RvciBjcmVhdGVkIGZvciBQSUQgNjI3MzMKMTczMzQwMDg5NjE0NQlNYXJpb25ldHRlCVRSQUNFCVsxMl0gTWFyaW9uZXR0ZUNvbW1hbmRzIGFjdG9yIGNyZWF0ZWQgZm9yIHdpbmRvdyBpZCAxMjg4NDkwMTg4OQoxNzMzNDAwODk2MTUwCU1hcmlvbmV0dGUJREVCVUcJMCA8LSBbMSwxMCx7ImVycm9yIjoibm8gc3VjaCBlbGVtZW50IiwibWVzc2FnZSI6IlVuYWJsZSB0byBsb2NhdGUgZWxlbWVudDogW25hbWU9XCJlbWFpbFwiXSIsInN0YWNrdHJhY2UiOiJSZW1vdGVFcnJvckBjaHJvbWU6Ly9yZW1vdGUvY29udGVudC9zaGFyZWQvUmVtb3RlRXJyb3Iuc3lzLm1qczo4OjhcbldlYkRyaXZlckVycm9yQGNocm9tZTovL3JlbW90ZS9jb250ZW50L3NoYXJlZC93ZWJkcml2ZXIvRXIgLi4uIGNocm9tZTovL3JlbW90ZS9jb250ZW50L3NoYXJlZC93ZWJkcml2ZXIvRXJyb3JzLnN5cy5tanM6NTExOjVcbmRvbS5maW5kLzwvPEBjaHJvbWU6Ly9yZW1vdGUvY29udGVudC9zaGFyZWQvRE9NLnN5cy5tanM6MTM2OjE2XG4ifSxudWxsXQoxNzMzNDAwODk2MTUxCXdlYmRyaXZlcjo6c2VydmVyCURFQlVHCTwtIDQwNCBOb3QgRm91bmQgeyJ2YWx1ZSI6eyJlcnJvciI6Im5vIHN1Y2ggZWxlbWVudCIsIm1lc3NhZ2UiOiJVbmFibGUgdG8gbG9jYXRlIGVsZW1lbnQ6IFtuYW1lPVwiZW1haWxcIl0iLCJzdGFja3RyYWNlIjoiUmVtIC4uLiBlOi8vcmVtb3RlL2NvbnRlbnQvc2hhcmVkL3dlYmRyaXZlci9FcnJvcnMuc3lzLm1qczo1MTE6NVxuZG9tLmZpbmQvPC88QGNocm9tZTovL3JlbW90ZS9jb250ZW50L3NoYXJlZC9ET00uc3lzLm1qczoxMzY6MTZcbiJ9fQoxNzMzNDAwODk2NjUzCXdlYmRyaXZlcjo6c2VydmVyCURFQlVHCS0+IFBPU1QgL3Nlc3Npb24vMGZlYzI3NTgtOTBlNC00MDVlLTkwZTItOWFkMjhmYjQ1ZDIyL2VsZW1lbnQgeyJ1c2luZyI6ICJjc3Mgc2VsZWN0b3IiLCAidmFsdWUiOiAiW25hbWU9XCJlbWFpbFwiXSJ9CjE3MzM0MDA4OTY2NTQJTWFyaW9uZXR0ZQlERUJVRwkwIC0+IFswLDExLCJXZWJEcml2ZXI6RmluZEVsZW1lbnQiLHsidXNpbmciOiJjc3Mgc2VsZWN0b3IiLCJ2YWx1ZSI6IltuYW1lPVwiZW1haWxcIl0ifV0KMTczMzQwMDg5NjY1NwlNYXJpb25ldHRlCURFQlVHCTAgPC0gWzEsMTEseyJlcnJvciI6Im5vIHN1Y2ggZWxlbWVudCIsIm1lc3NhZ2UiOiJVbmFibGUgdG8gbG9jYXRlIGVsZW1lbnQ6IFtuYW1lPVwiZW1haWxcIl0iLCJzdGFja3RyYWNlIjoiUmVtb3RlRXJyb3JAY2hyb21lOi8vcmVtb3RlL2NvbnRlbnQvc2hhcmVkL1JlbW90ZUVycm9yLnN5cy5tanM6ODo4XG5XZWJEcml2ZXJFcnJvckBjaHJvbWU6Ly9yZW1vdGUvY29udGVudC9zaGFyZWQvd2ViZHJpdmVyL0VyIC4uLiBjaHJvbWU6Ly9yZW1vdGUvY29udGVudC9zaGFyZWQvd2ViZHJpdmVyL0Vycm9ycy5zeXMubWpzOjUxMTo1XG5kb20uZmluZC88LzxAY2hyb21lOi8vcmVtb3RlL2NvbnRlbnQvc2hhcmVkL0RPTS5zeXMubWpzOjEzNjoxNlxuIn0sbnVsbF0KMTczMzQwMDg5NjY1Nwl3ZWJkcml2ZXI6OnNlcnZlcglERUJVRwk8LSA0MDQgTm90IEZvdW5kIHsidmFsdWUiOnsiZXJyb3IiOiJubyBzdWNoIGVsZW1lbnQiLCJtZXNzYWdlIjoiVW5hYmxlIHRvIGxvY2F0ZSBlbGVtZW50OiBbbmFtZT1cImVtYWlsXCJdIiwic3RhY2t0cmFjZSI6IlJlbSAuLi4gZTovL3JlbW90ZS9jb250ZW50L3NoYXJlZC93ZWJkcml2ZXIvRXJyb3JzLnN5cy5tanM6NTExOjVcbmRvbS5maW5kLzwvPEBjaHJvbWU6Ly9yZW1vdGUvY29udGVudC9zaGFyZWQvRE9NLnN5cy5tanM6MTM2OjE2XG4ifX0KY29uc29sZS5pbmZvOiAiKEdsZWFuLmNvcmUuVXBsb2FkLlBpbmdVcGxvYWRNYW5hZ2VyKSIgIlBpbmcgZGY4ZWUxMTktZDBjNS00NWU3LTgzZWEtMjZhYmJiNjJjYjY0IHN1Y2Nlc3NmdWxseSBzZW50IDIwMC4iCmNvbnNvbGUuaW5mbzogIihHbGVhbi5jb3JlLlVwbG9hZC5QaW5nVXBsb2FkTWFuYWdlcikiICJQaW5nIGQ3NjdkYTExLTBmMDMtNDE0Yi1iMGFkLTkxZWFiNGEyNDkwZiBzdWNjZXNzZnVsbHkgc2VudCAyMDAuIgpjb25zb2xlLmluZm86ICIoR2xlYW4uY29yZS5VcGxvYWQuUGluZ1VwbG9hZE1hbmFnZXIpIiAiUGluZyA2NDhlOWUzNi0xNTlhLTQ4MTgtYWFlMS0wYmU5MmRmOTM1NDggc3VjY2Vzc2Z1bGx5IHNlbnQgMjAwLiIKMTczMzQwMDg5NzE2Mwl3ZWJkcml2ZXI6OnNlcnZlcglERUJVRwktPiBQT1NUIC9zZXNzaW9uLzBmZWMyNzU4LTkwZTQtNDA1ZS05MGUyLTlhZDI4ZmI0NWQyMi9lbGVtZW50IHsidXNpbmciOiAiY3NzIHNlbGVjdG9yIiwgInZhbHVlIjogIltuYW1lPVwiZW1haWxcIl0ifQoxNzMzNDAwODk3MTY1CU1hcmlvbmV0dGUJREVCVUcJMCAtPiBbMCwxMiwiV2ViRHJpdmVyOkZpbmRFbGVtZW50Iix7InVzaW5nIjoiY3NzIHNlbGVjdG9yIiwidmFsdWUiOiJbbmFtZT1cImVtYWlsXCJdIn1dCjE3MzM0MDA4OTcxNjgJTWFyaW9uZXR0ZQlERUJVRwkwIDwtIFsxLDEyLG51bGwseyJ2YWx1ZSI6eyJlbGVtZW50LTYwNjYtMTFlNC1hNTJlLTRmNzM1NDY2Y2VjZiI6ImUzM2Q1OWEzLWI3YmEtNDQ1NS05ZmYyLTY2OTgxMzFjYjYyMSJ9fV0KMTczMzQwMDg5NzE2OQl3ZWJkcml2ZXI6OnNlcnZlcglERUJVRwk8LSAyMDAgT0sgeyJ2YWx1ZSI6eyJlbGVtZW50LTYwNjYtMTFlNC1hNTJlLTRmNzM1NDY2Y2VjZiI6ImUzM2Q1OWEzLWI3YmEtNDQ1NS05ZmYyLTY2OTgxMzFjYjYyMSJ9fQoxNzMzNDAwODk3MTcwCXdlYmRyaXZlcjo6c2VydmVyCURFQlVHCS0+IFBPU1QgL3Nlc3Npb24vMGZlYzI3NTgtOTBlNC00MDVlLTkwZTItOWFkMjhmYjQ1ZDIyL2V4ZWN1dGUvc3luYyB7InNjcmlwdCI6ICJyZXR1cm4gKGZ1bmN0aW9uKCl7cmV0dXJuIChmdW5jdGlvbigpe3ZhciBrPXRoIC4uLiB0cyk7fVxuKS5hcHBseShudWxsLCBhcmd1bWVudHMpOyIsICJhcmdzIjogW3siZWxlbWVudC02MDY2LTExZTQtYTUyZS00ZjczNTQ2NmNlY2YiOiAiZTMzZDU5YTMtYjdiYS00NDU1LTlmZjItNjY5ODEzMWNiNjIxIn1dfQoxNzMzNDAwODk3MTcyCU1hcmlvbmV0dGUJREVCVUcJMCAtPiBbMCwxMywiV2ViRHJpdmVyOkV4ZWN1dGVTY3JpcHQiLHsiYXJncyI6W3siZWxlbWVudC02MDY2LTExZTQtYTUyZS00ZjczNTQ2NmNlY2YiOiJlMzNkNTlhMy1iN2JhLTQ0NTUtOWZmMi02Njk4MTMxY2I2MjEifV0sInNjcmlwdCI6InJldHVybiAoZnVuY3Rpb24oKXtyZXR1cm4gKGZ1bmN0aW9uKCl7dmFyIGs9dGhpc3x8c2VsZjtmdW5jdGlvbiBhYShhKXtyZXR1cm5cInN0cmluZ1wiPT10eXBlb2YgYX1mdW5jdGlvbiBiYShhLGIpe2E9YS5zcGxpdChcIi5cIiAuLi4gaW5lZCc/d2luZG93Lm5hdmlnYXRvcjpudWxsLGRvY3VtZW50OnR5cGVvZiB3aW5kb3chPSd1bmRlZmluZWQnP3dpbmRvdy5kb2N1bWVudDpudWxsfSwgYXJndW1lbnRzKTt9XG4pLmFwcGx5KG51bGwsIGFyZ3VtZW50cyk7In1dCjE3MzM0MDA4OTcxODMJTWFyaW9uZXR0ZQlERUJVRwkwIDwtIFsxLDEzLG51bGwseyJ2YWx1ZSI6dHJ1ZX1dCjE3MzM0MDA4OTcxODMJd2ViZHJpdmVyOjpzZXJ2ZXIJREVCVUcJPC0gMjAwIE9LIHsidmFsdWUiOnRydWV9CjE3MzM0MDA4OTcyMDYJd2ViZHJpdmVyOjpzZXJ2ZXIJREVCVUcJLT4gUE9TVCAvc2Vzc2lvbi8wZmVjMjc1OC05MGU0LTQwNWUtOTBlMi05YWQyOGZiNDVkMjIvZWxlbWVudCB7InVzaW5nIjogImNzcyBzZWxlY3RvciIsICJ2YWx1ZSI6ICJbbmFtZT1cImVtYWlsXCJdIn0KMTczMzQwMDg5NzIwNwlNYXJpb25ldHRlCURFQlVHCTAgLT4gWzAsMTQsIldlYkRyaXZlcjpGaW5kRWxlbWVudCIseyJ1c2luZyI6ImNzcyBzZWxlY3RvciIsInZhbHVlIjoiW25hbWU9XCJlbWFpbFwiXSJ9XQoxNzMzNDAwODk3MjA4CU1hcmlvbmV0dGUJREVCVUcJMCA8LSBbMSwxNCxudWxsLHsidmFsdWUiOnsiZWxlbWVudC02MDY2LTExZTQtYTUyZS00ZjczNTQ2NmNlY2YiOiJlMzNkNTlhMy1iN2JhLTQ0NTUtOWZmMi02Njk4MTMxY2I2MjEifX1dCjE3MzM0MDA4OTcyMDgJd2ViZHJpdmVyOjpzZXJ2ZXIJREVCVUcJPC0gMjAwIE9LIHsidmFsdWUiOnsiZWxlbWVudC02MDY2LTExZTQtYTUyZS00ZjczNTQ2NmNlY2YiOiJlMzNkNTlhMy1iN2JhLTQ0NTUtOWZmMi02Njk4MTMxY2I2MjEifX0KMTczMzQwMDg5NzIwOQl3ZWJkcml2ZXI6OnNlcnZlcglERUJVRwktPiBQT1NUIC9zZXNzaW9uLzBmZWMyNzU4LTkwZTQtNDA1ZS05MGUyLTlhZDI4ZmI0NWQyMi9lbGVtZW50L2UzM2Q1OWEzLWI3YmEtNDQ1NS05ZmYyLTY2OTgxMzFjYjYyMS92YWx1ZSB7InRleHQiOiAiYXNjaGVrK3FhLSAuLi4gLSIsICJhIiwgInAiLCAiaSIsICJAIiwgIm0iLCAibyIsICJ6IiwgImkiLCAibCIsICJsIiwgImEiLCAiLiIsICJjIiwgIm8iLCAibSJdLCAiaWQiOiAiZTMzZDU5YTMtYjdiYS00NDU1LTlmZjItNjY5ODEzMWNiNjIxIn0KMTczMzQwMDg5NzIxMAlNYXJpb25ldHRlCURFQlVHCTAgLT4gWzAsMTUsIldlYkRyaXZlcjpFbGVtZW50U2VuZEtleXMiLHsiaWQiOiJlMzNkNTlhMy1iN2JhLTQ0NTUtOWZmMi02Njk4MTMxY2I2MjEiLCJ0ZXh0IjoiYXNjaGVrK3FhLWFwaUBtb3ppbGxhLmNvbSIsInZhbHVlIjpbImEiLCJzIiwiYyIsImgiLCJlIiwiayIsIisiLCJxIiwiYSIsIi0iLCJhIiwicCIsImkiLCJAIiwibSIsIm8iLCJ6IiwiaSIsImwiLCJsIiwiYSIsIi4iLCJjIiwibyIsIm0iXX1dCjE3MzM0MDA4OTcyOTEJTWFyaW9uZXR0ZQlERUJVRwkwIDwtIFsxLDE1LG51bGwseyJ2YWx1ZSI6bnVsbH1dCjE3MzM0MDA4OTcyOTEJd2ViZHJpdmVyOjpzZXJ2ZXIJREVCVUcJPC0gMjAwIE9LIHsidmFsdWUiOm51bGx9CjE3MzM0MDA4OTcyOTIJd2ViZHJpdmVyOjpzZXJ2ZXIJREVCVUcJLT4gUE9TVCAvc2Vzc2lvbi8wZmVjMjc1OC05MGU0LTQwNWUtOTBlMi05YWQyOGZiNDVkMjIvZWxlbWVudCB7InVzaW5nIjogImNzcyBzZWxlY3RvciIsICJ2YWx1ZSI6ICJbaWQ9XCJzdWJtaXQtYnRuXCJdIn0KMTczMzQwMDg5NzI5MglNYXJpb25ldHRlCURFQlVHCTAgLT4gWzAsMTYsIldlYkRyaXZlcjpGaW5kRWxlbWVudCIseyJ1c2luZyI6ImNzcyBzZWxlY3RvciIsInZhbHVlIjoiW2lkPVwic3VibWl0LWJ0blwiXSJ9XQoxNzMzNDAwODk3MjkzCU1hcmlvbmV0dGUJREVCVUcJMCA8LSBbMSwxNixudWxsLHsidmFsdWUiOnsiZWxlbWVudC02MDY2LTExZTQtYTUyZS00ZjczNTQ2NmNlY2YiOiJkMTFiNDVjNC1hYjMxLTQ2MWYtOGQwYy0wNGUxZWUyMDJlZTYifX1dCjE3MzM0MDA4OTcyOTMJd2ViZHJpdmVyOjpzZXJ2ZXIJREVCVUcJPC0gMjAwIE9LIHsidmFsdWUiOnsiZWxlbWVudC02MDY2LTExZTQtYTUyZS00ZjczNTQ2NmNlY2YiOiJkMTFiNDVjNC1hYjMxLTQ2MWYtOGQwYy0wNGUxZWUyMDJlZTYifX0KMTczMzQwMDg5NzI5NQl3ZWJkcml2ZXI6OnNlcnZlcglERUJVRwktPiBQT1NUIC9zZXNzaW9uLzBmZWMyNzU4LTkwZTQtNDA1ZS05MGUyLTlhZDI4ZmI0NWQyMi9leGVjdXRlL3N5bmMgeyJzY3JpcHQiOiAicmV0dXJuIChmdW5jdGlvbigpe3JldHVybiAoZnVuY3Rpb24oKXt2YXIgaz10aCAuLi4gdHMpO31cbikuYXBwbHkobnVsbCwgYXJndW1lbnRzKTsiLCAiYXJncyI6IFt7ImVsZW1lbnQtNjA2Ni0xMWU0LWE1MmUtNGY3MzU0NjZjZWNmIjogImQxMWI0NWM0LWFiMzEtNDYxZi04ZDBjLTA0ZTFlZTIwMmVlNiJ9XX0KMTczMzQwMDg5NzI5NQlNYXJpb25ldHRlCURFQlVHCTAgLT4gWzAsMTcsIldlYkRyaXZlcjpFeGVjdXRlU2NyaXB0Iix7ImFyZ3MiOlt7ImVsZW1lbnQtNjA2Ni0xMWU0LWE1MmUtNGY3MzU0NjZjZWNmIjoiZDExYjQ1YzQtYWIzMS00NjFmLThkMGMtMDRlMWVlMjAyZWU2In1dLCJzY3JpcHQiOiJyZXR1cm4gKGZ1bmN0aW9uKCl7cmV0dXJuIChmdW5jdGlvbigpe3ZhciBrPXRoaXN8fHNlbGY7ZnVuY3Rpb24gYWEoYSl7cmV0dXJuXCJzdHJpbmdcIj09dHlwZW9mIGF9ZnVuY3Rpb24gYmEoYSxiKXthPWEuc3BsaXQoXCIuXCIgLi4uIGluZWQnP3dpbmRvdy5uYXZpZ2F0b3I6bnVsbCxkb2N1bWVudDp0eXBlb2Ygd2luZG93IT0ndW5kZWZpbmVkJz93aW5kb3cuZG9jdW1lbnQ6bnVsbH0sIGFyZ3VtZW50cyk7fVxuKS5hcHBseShudWxsLCBhcmd1bWVudHMpOyJ9XQoxNzMzNDAwODk3MzAyCU1hcmlvbmV0dGUJREVCVUcJMCA8LSBbMSwxNyxudWxsLHsidmFsdWUiOnRydWV9XQoxNzMzNDAwODk3MzAyCXdlYmRyaXZlcjo6c2VydmVyCURFQlVHCTwtIDIwMCBPSyB7InZhbHVlIjp0cnVlfQoxNzMzNDAwODk3MzAyCXdlYmRyaXZlcjo6c2VydmVyCURFQlVHCS0+IEdFVCAvc2Vzc2lvbi8wZmVjMjc1OC05MGU0LTQwNWUtOTBlMi05YWQyOGZiNDVkMjIvZWxlbWVudC9kMTFiNDVjNC1hYjMxLTQ2MWYtOGQwYy0wNGUxZWUyMDJlZTYvZW5hYmxlZCAKMTczMzQwMDg5NzMwMwlNYXJpb25ldHRlCURFQlVHCTAgLT4gWzAsMTgsIldlYkRyaXZlcjpJc0VsZW1lbnRFbmFibGVkIix7ImlkIjoiZDExYjQ1YzQtYWIzMS00NjFmLThkMGMtMDRlMWVlMjAyZWU2In1dCjE3MzM0MDA4OTczMDQJTWFyaW9uZXR0ZQlERUJVRwkwIDwtIFsxLDE4LG51bGwseyJ2YWx1ZSI6dHJ1ZX1dCjE3MzM0MDA4OTczMDQJd2ViZHJpdmVyOjpzZXJ2ZXIJREVCVUcJPC0gMjAwIE9LIHsidmFsdWUiOnRydWV9CjE3MzM0MDA4OTczMDUJd2ViZHJpdmVyOjpzZXJ2ZXIJREVCVUcJLT4gUE9TVCAvc2Vzc2lvbi8wZmVjMjc1OC05MGU0LTQwNWUtOTBlMi05YWQyOGZiNDVkMjIvZWxlbWVudC9kMTFiNDVjNC1hYjMxLTQ2MWYtOGQwYy0wNGUxZWUyMDJlZTYvY2xpY2sgeyJpZCI6ICJkMTFiNDVjNC1hYjMxLTQ2MWYtOGQwYy0wNGUxZWUyMDJlZTYifQoxNzMzNDAwODk3MzA1CU1hcmlvbmV0dGUJREVCVUcJMCAtPiBbMCwxOSwiV2ViRHJpdmVyOkVsZW1lbnRDbGljayIseyJpZCI6ImQxMWI0NWM0LWFiMzEtNDYxZi04ZDBjLTA0ZTFlZTIwMmVlNiJ9XQoxNzMzNDAwODk3MzE2CU1hcmlvbmV0dGUJVFJBQ0UJUmVjZWl2ZWQgRE9NIGV2ZW50IGNsaWNrIGZvciBbb2JqZWN0IEhUTUxCdXR0b25FbGVtZW50XQoxNzMzNDAwODk3NTI1CU1hcmlvbmV0dGUJVFJBQ0UJQ2FuY2VsZWQgcGFnZSBsb2FkIGxpc3RlbmVyIGJlY2F1c2Ugbm8gbmF2aWdhdGlvbiBoYXMgYmVlbiBkZXRlY3RlZAoxNzMzNDAwODk3NTI1CU1hcmlvbmV0dGUJREVCVUcJMCA8LSBbMSwxOSxudWxsLHsidmFsdWUiOm51bGx9XQoxNzMzNDAwODk3NTI1CXdlYmRyaXZlcjo6c2VydmVyCURFQlVHCTwtIDIwMCBPSyB7InZhbHVlIjpudWxsfQoxNzMzNDAwODk3NTI2CXdlYmRyaXZlcjo6c2VydmVyCURFQlVHCS0+IFBPU1QgL3Nlc3Npb24vMGZlYzI3NTgtOTBlNC00MDVlLTkwZTItOWFkMjhmYjQ1ZDIyL2VsZW1lbnQgeyJ1c2luZyI6ICJjc3Mgc2VsZWN0b3IiLCAidmFsdWUiOiAiLnBiLTEifQoxNzMzNDAwODk3NTI3CU1hcmlvbmV0dGUJREVCVUcJMCAtPiBbMCwyMCwiV2ViRHJpdmVyOkZpbmRFbGVtZW50Iix7InVzaW5nIjoiY3NzIHNlbGVjdG9yIiwidmFsdWUiOiIucGItMSJ9XQoxNzMzNDAwODk3NTI4CU1hcmlvbmV0dGUJREVCVUcJMCA8LSBbMSwyMCx7ImVycm9yIjoibm8gc3VjaCBlbGVtZW50IiwibWVzc2FnZSI6IlVuYWJsZSB0byBsb2NhdGUgZWxlbWVudDogLnBiLTEiLCJzdGFja3RyYWNlIjoiUmVtb3RlRXJyb3JAY2hyb21lOi8vcmVtb3RlL2NvbnRlbnQvc2hhcmVkL1JlbW90ZUVycm9yLnN5cy5tanM6ODo4XG5XZWJEcml2ZXJFcnJvckBjaHJvbWU6Ly9yZW1vdGUvY29udGVudC9zaGFyZWQvd2ViZHJpdmVyL0VyIC4uLiBjaHJvbWU6Ly9yZW1vdGUvY29udGVudC9zaGFyZWQvd2ViZHJpdmVyL0Vycm9ycy5zeXMubWpzOjUxMTo1XG5kb20uZmluZC88LzxAY2hyb21lOi8vcmVtb3RlL2NvbnRlbnQvc2hhcmVkL0RPTS5zeXMubWpzOjEzNjoxNlxuIn0sbnVsbF0KMTczMzQwMDg5NzUyOAl3ZWJkcml2ZXI6OnNlcnZlcglERUJVRwk8LSA0MDQgTm90IEZvdW5kIHsidmFsdWUiOnsiZXJyb3IiOiJubyBzdWNoIGVsZW1lbnQiLCJtZXNzYWdlIjoiVW5hYmxlIHRvIGxvY2F0ZSBlbGVtZW50OiAucGItMSIsInN0YWNrdHJhY2UiOiJSZW1vdGVFcnJvckBjaCAuLi4gZTovL3JlbW90ZS9jb250ZW50L3NoYXJlZC93ZWJkcml2ZXIvRXJyb3JzLnN5cy5tanM6NTExOjVcbmRvbS5maW5kLzwvPEBjaHJvbWU6Ly9yZW1vdGUvY29udGVudC9zaGFyZWQvRE9NLnN5cy5tanM6MTM2OjE2XG4ifX0KMTczMzQwMDg5Nzk1MQlNYXJpb25ldHRlCVRSQUNFCVsxMl0gTWFyaW9uZXR0ZUNvbW1hbmRzIGFjdG9yIGRlc3Ryb3llZCBmb3Igd2luZG93IGlkIDEyODg0OTAxODg5CjE3MzM0MDA4OTgwMzQJd2ViZHJpdmVyOjpzZXJ2ZXIJREVCVUcJLT4gUE9TVCAvc2Vzc2lvbi8wZmVjMjc1OC05MGU0LTQwNWUtOTBlMi05YWQyOGZiNDVkMjIvZWxlbWVudCB7InVzaW5nIjogImNzcyBzZWxlY3RvciIsICJ2YWx1ZSI6ICIucGItMSJ9CjE3MzM0MDA4OTgwMzQJTWFyaW9uZXR0ZQlERUJVRwkwIC0+IFswLDIxLCJXZWJEcml2ZXI6RmluZEVsZW1lbnQiLHsidXNpbmciOiJjc3Mgc2VsZWN0b3IiLCJ2YWx1ZSI6Ii5wYi0xIn1dCjE3MzM0MDA4OTgwMzUJTWFyaW9uZXR0ZQlUUkFDRQlbMTJdIE1hcmlvbmV0dGVDb21tYW5kcyBhY3RvciBjcmVhdGVkIGZvciB3aW5kb3cgaWQgMTI4ODQ5MDE4OTAKMTczMzQwMDg5ODAzNglNYXJpb25ldHRlCURFQlVHCTAgPC0gWzEsMjEseyJlcnJvciI6Im5vIHN1Y2ggZWxlbWVudCIsIm1lc3NhZ2UiOiJVbmFibGUgdG8gbG9jYXRlIGVsZW1lbnQ6IC5wYi0xIiwic3RhY2t0cmFjZSI6IlJlbW90ZUVycm9yQGNocm9tZTovL3JlbW90ZS9jb250ZW50L3NoYXJlZC9SZW1vdGVFcnJvci5zeXMubWpzOjg6OFxuV2ViRHJpdmVyRXJyb3JAY2hyb21lOi8vcmVtb3RlL2NvbnRlbnQvc2hhcmVkL3dlYmRyaXZlci9FciAuLi4gY2hyb21lOi8vcmVtb3RlL2NvbnRlbnQvc2hhcmVkL3dlYmRyaXZlci9FcnJvcnMuc3lzLm1qczo1MTE6NVxuZG9tLmZpbmQvPC88QGNocm9tZTovL3JlbW90ZS9jb250ZW50L3NoYXJlZC9ET00uc3lzLm1qczoxMzY6MTZcbiJ9LG51bGxdCjE3MzM0MDA4OTgwMzYJd2ViZHJpdmVyOjpzZXJ2ZXIJREVCVUcJPC0gNDA0IE5vdCBGb3VuZCB7InZhbHVlIjp7ImVycm9yIjoibm8gc3VjaCBlbGVtZW50IiwibWVzc2FnZSI6IlVuYWJsZSB0byBsb2NhdGUgZWxlbWVudDogLnBiLTEiLCJzdGFja3RyYWNlIjoiUmVtb3RlRXJyb3JAY2ggLi4uIGU6Ly9yZW1vdGUvY29udGVudC9zaGFyZWQvd2ViZHJpdmVyL0Vycm9ycy5zeXMubWpzOjUxMTo1XG5kb20uZmluZC88LzxAY2hyb21lOi8vcmVtb3RlL2NvbnRlbnQvc2hhcmVkL0RPTS5zeXMubWpzOjEzNjoxNlxuIn19CmNvbnNvbGUuaW5mbzogInNlbnRyeS1jb25maWctYnVpbGRlciIgKHttc2c6IkNvbmZpZyBzZXR0aW5nIGZvciBzZW50cnkuZHNuIHNwZWNpZmllZCwgZW5hYmxpbmcgc2VudHJ5IGZvciBlbnYgcHJvZCEifSkKY29uc29sZS5pbmZvOiAic2VudHJ5LWNvbmZpZy1idWlsZGVyIiAoe21zZzoic2VudHJ5IHRhcmdldGluZzogcHJvZCJ9KQpjb25zb2xlLmVycm9yOiAiQW4gZXJyb3Igb2NjdXJyZWQhIEZvciBtb3JlIGRldGFpbHMsIHNlZSB0aGUgZnVsbCBlcnJvciB0ZXh0IGF0IGh0dHBzOi8vZ28uYXBvbGxvLmRldi9jL2VyciMlN0IlMjJ2ZXJzaW9uJTIyJTNBJTIyMy4xMS4xJTIyJTJDJTIybWVzc2FnZSUyMiUzQTEyJTJDJTIyYXJncyUyMiUzQSU1QiUyMmFjY291bnQlMjIlMkMlMjIlN0IlN0QlMjIlNUQlN0QiCjE3MzM0MDA4OTg1NDIJd2ViZHJpdmVyOjpzZXJ2ZXIJREVCVUcJLT4gUE9TVCAvc2Vzc2lvbi8wZmVjMjc1OC05MGU0LTQwNWUtOTBlMi05YWQyOGZiNDVkMjIvZWxlbWVudCB7InVzaW5nIjogImNzcyBzZWxlY3RvciIsICJ2YWx1ZSI6ICIucGItMSJ9CjE3MzM0MDA4OTg1NDMJTWFyaW9uZXR0ZQlERUJVRwkwIC0+IFswLDIyLCJXZWJEcml2ZXI6RmluZEVsZW1lbnQiLHsidXNpbmciOiJjc3Mgc2VsZWN0b3IiLCJ2YWx1ZSI6Ii5wYi0xIn1dCjE3MzM0MDA4OTg1NDUJTWFyaW9uZXR0ZQlERUJVRwkwIDwtIFsxLDIyLHsiZXJyb3IiOiJubyBzdWNoIGVsZW1lbnQiLCJtZXNzYWdlIjoiVW5hYmxlIHRvIGxvY2F0ZSBlbGVtZW50OiAucGItMSIsInN0YWNrdHJhY2UiOiJSZW1vdGVFcnJvckBjaHJvbWU6Ly9yZW1vdGUvY29udGVudC9zaGFyZWQvUmVtb3RlRXJyb3Iuc3lzLm1qczo4OjhcbldlYkRyaXZlckVycm9yQGNocm9tZTovL3JlbW90ZS9jb250ZW50L3NoYXJlZC93ZWJkcml2ZXIvRXIgLi4uIGNocm9tZTovL3JlbW90ZS9jb250ZW50L3NoYXJlZC93ZWJkcml2ZXIvRXJyb3JzLnN5cy5tanM6NTExOjVcbmRvbS5maW5kLzwvPEBjaHJvbWU6Ly9yZW1vdGUvY29udGVudC9zaGFyZWQvRE9NLnN5cy5tanM6MTM2OjE2XG4ifSxudWxsXQoxNzMzNDAwODk4NTQ2CXdlYmRyaXZlcjo6c2VydmVyCURFQlVHCTwtIDQwNCBOb3QgRm91bmQgeyJ2YWx1ZSI6eyJlcnJvciI6Im5vIHN1Y2ggZWxlbWVudCIsIm1lc3NhZ2UiOiJVbmFibGUgdG8gbG9jYXRlIGVsZW1lbnQ6IC5wYi0xIiwic3RhY2t0cmFjZSI6IlJlbW90ZUVycm9yQGNoIC4uLiBlOi8vcmVtb3RlL2NvbnRlbnQvc2hhcmVkL3dlYmRyaXZlci9FcnJvcnMuc3lzLm1qczo1MTE6NVxuZG9tLmZpbmQvPC88QGNocm9tZTovL3JlbW90ZS9jb250ZW50L3NoYXJlZC9ET00uc3lzLm1qczoxMzY6MTZcbiJ9fQpjb25zb2xlLmluZm86ICIoR2xlYW4uY29yZS5VcGxvYWQuUGluZ1VwbG9hZE1hbmFnZXIpIiAiUGluZyA3ZmIzZjU5Mi05MDYzLTRiMTktYmNlZC04OTUxNzc0OWQ5YmEgc3VjY2Vzc2Z1bGx5IHNlbnQgMjAwLiIKY29uc29sZS5pbmZvOiAiKEdsZWFuLmNvcmUuVXBsb2FkLlBpbmdVcGxvYWRNYW5hZ2VyKSIgIlBpbmcgMDAxMWU2MTAtMDZjNC00MzU4LTk3MTItZTE2MTJhZGZjYjQxIHN1Y2Nlc3NmdWxseSBzZW50IDIwMC4iCmNvbnNvbGUuaW5mbzogIihHbGVhbi5jb3JlLlVwbG9hZC5QaW5nVXBsb2FkTWFuYWdlcikiICJQaW5nIGMyY2I4Yjg5LWU1NDUtNDYwYS05ZDdiLWY2Njg5ZGMyM2YxYiBzdWNjZXNzZnVsbHkgc2VudCAyMDAuIgpjb25zb2xlLmluZm86ICIoR2xlYW4uY29yZS5VcGxvYWQuUGluZ1VwbG9hZE1hbmFnZXIpIiAiUGluZyBlNDRlN2VkOS03YWM5LTRjMmQtYjI2MS0wZTg5N2IwZjBmOWUgc3VjY2Vzc2Z1bGx5IHNlbnQgMjAwLiIKMTczMzQwMDg5OTA1Mgl3ZWJkcml2ZXI6OnNlcnZlcglERUJVRwktPiBQT1NUIC9zZXNzaW9uLzBmZWMyNzU4LTkwZTQtNDA1ZS05MGUyLTlhZDI4ZmI0NWQyMi9lbGVtZW50IHsidXNpbmciOiAiY3NzIHNlbGVjdG9yIiwgInZhbHVlIjogIi5wYi0xIn0KMTczMzQwMDg5OTA1MwlNYXJpb25ldHRlCURFQlVHCTAgLT4gWzAsMjMsIldlYkRyaXZlcjpGaW5kRWxlbWVudCIseyJ1c2luZyI6ImNzcyBzZWxlY3RvciIsInZhbHVlIjoiLnBiLTEifV0KMTczMzQwMDg5OTA1NQlNYXJpb25ldHRlCURFQlVHCTAgPC0gWzEsMjMsbnVsbCx7InZhbHVlIjp7ImVsZW1lbnQtNjA2Ni0xMWU0LWE1MmUtNGY3MzU0NjZjZWNmIjoiYWU1MDE2YTctNzUyNy00MTNiLThmZmMtNmJmZDhjMzQxNjM1In19XQoxNzMzNDAwODk5MDU1CXdlYmRyaXZlcjo6c2VydmVyCURFQlVHCTwtIDIwMCBPSyB7InZhbHVlIjp7ImVsZW1lbnQtNjA2Ni0xMWU0LWE1MmUtNGY3MzU0NjZjZWNmIjoiYWU1MDE2YTctNzUyNy00MTNiLThmZmMtNmJmZDhjMzQxNjM1In19CjE3MzM0MDA4OTkwNTcJd2ViZHJpdmVyOjpzZXJ2ZXIJREVCVUcJLT4gUE9TVCAvc2Vzc2lvbi8wZmVjMjc1OC05MGU0LTQwNWUtOTBlMi05YWQyOGZiNDVkMjIvZXhlY3V0ZS9zeW5jIHsic2NyaXB0IjogInJldHVybiAoZnVuY3Rpb24oKXtyZXR1cm4gKGZ1bmN0aW9uKCl7dmFyIGs9dGggLi4uIHRzKTt9XG4pLmFwcGx5KG51bGwsIGFyZ3VtZW50cyk7IiwgImFyZ3MiOiBbeyJlbGVtZW50LTYwNjYtMTFlNC1hNTJlLTRmNzM1NDY2Y2VjZiI6ICJhZTUwMTZhNy03NTI3LTQxM2ItOGZmYy02YmZkOGMzNDE2MzUifV19CjE3MzM0MDA4OTkwNTkJTWFyaW9uZXR0ZQlERUJVRwkwIC0+IFswLDI0LCJXZWJEcml2ZXI6RXhlY3V0ZVNjcmlwdCIseyJhcmdzIjpbeyJlbGVtZW50LTYwNjYtMTFlNC1hNTJlLTRmNzM1NDY2Y2VjZiI6ImFlNTAxNmE3LTc1MjctNDEzYi04ZmZjLTZiZmQ4YzM0MTYzNSJ9XSwic2NyaXB0IjoicmV0dXJuIChmdW5jdGlvbigpe3JldHVybiAoZnVuY3Rpb24oKXt2YXIgaz10aGlzfHxzZWxmO2Z1bmN0aW9uIGFhKGEpe3JldHVyblwic3RyaW5nXCI9PXR5cGVvZiBhfWZ1bmN0aW9uIGJhKGEsYil7YT1hLnNwbGl0KFwiLlwiIC4uLiBpbmVkJz93aW5kb3cubmF2aWdhdG9yOm51bGwsZG9jdW1lbnQ6dHlwZW9mIHdpbmRvdyE9J3VuZGVmaW5lZCc/d2luZG93LmRvY3VtZW50Om51bGx9LCBhcmd1bWVudHMpO31cbikuYXBwbHkobnVsbCwgYXJndW1lbnRzKTsifV0KMTczMzQwMDg5OTA3MwlNYXJpb25ldHRlCURFQlVHCTAgPC0gWzEsMjQsbnVsbCx7InZhbHVlIjp0cnVlfV0KMTczMzQwMDg5OTA3NAl3ZWJkcml2ZXI6OnNlcnZlcglERUJVRwk8LSAyMDAgT0sgeyJ2YWx1ZSI6dHJ1ZX0KMTczMzQwMDg5OTA3NQl3ZWJkcml2ZXI6OnNlcnZlcglERUJVRwktPiBHRVQgL3Nlc3Npb24vMGZlYzI3NTgtOTBlNC00MDVlLTkwZTItOWFkMjhmYjQ1ZDIyL2VsZW1lbnQvYWU1MDE2YTctNzUyNy00MTNiLThmZmMtNmJmZDhjMzQxNjM1L2VuYWJsZWQgCjE3MzM0MDA4OTkwNzUJTWFyaW9uZXR0ZQlERUJVRwkwIC0+IFswLDI1LCJXZWJEcml2ZXI6SXNFbGVtZW50RW5hYmxlZCIseyJpZCI6ImFlNTAxNmE3LTc1MjctNDEzYi04ZmZjLTZiZmQ4YzM0MTYzNSJ9XQoxNzMzNDAwODk5MDc4CU1hcmlvbmV0dGUJREVCVUcJMCA8LSBbMSwyNSxudWxsLHsidmFsdWUiOnRydWV9XQoxNzMzNDAwODk5MDc4CXdlYmRyaXZlcjo6c2VydmVyCURFQlVHCTwtIDIwMCBPSyB7InZhbHVlIjp0cnVlfQoxNzMzNDAwODk5MDc5CXdlYmRyaXZlcjo6c2VydmVyCURFQlVHCS0+IFBPU1QgL3Nlc3Npb24vMGZlYzI3NTgtOTBlNC00MDVlLTkwZTItOWFkMjhmYjQ1ZDIyL2VsZW1lbnQgeyJ1c2luZyI6ICJjc3Mgc2VsZWN0b3IiLCAidmFsdWUiOiAiLnBiLTEifQoxNzMzNDAwODk5MDc5CU1hcmlvbmV0dGUJREVCVUcJMCAtPiBbMCwyNiwiV2ViRHJpdmVyOkZpbmRFbGVtZW50Iix7InVzaW5nIjoiY3NzIHNlbGVjdG9yIiwidmFsdWUiOiIucGItMSJ9XQoxNzMzNDAwODk5MDgwCU1hcmlvbmV0dGUJREVCVUcJMCA8LSBbMSwyNixudWxsLHsidmFsdWUiOnsiZWxlbWVudC02MDY2LTExZTQtYTUyZS00ZjczNTQ2NmNlY2YiOiJhZTUwMTZhNy03NTI3LTQxM2ItOGZmYy02YmZkOGMzNDE2MzUifX1dCjE3MzM0MDA4OTkwODAJd2ViZHJpdmVyOjpzZXJ2ZXIJREVCVUcJPC0gMjAwIE9LIHsidmFsdWUiOnsiZWxlbWVudC02MDY2LTExZTQtYTUyZS00ZjczNTQ2NmNlY2YiOiJhZTUwMTZhNy03NTI3LTQxM2ItOGZmYy02YmZkOGMzNDE2MzUifX0KMTczMzQwMDg5OTA4MQl3ZWJkcml2ZXI6OnNlcnZlcglERUJVRwktPiBQT1NUIC9zZXNzaW9uLzBmZWMyNzU4LTkwZTQtNDA1ZS05MGUyLTlhZDI4ZmI0NWQyMi9lbGVtZW50L2FlNTAxNmE3LTc1MjctNDEzYi04ZmZjLTZiZmQ4YzM0MTYzNS92YWx1ZSB7InRleHQiOiAiNzYnNTFXNEZyeUI1IiwgInZhbHVlIjogWyI3IiwgIjYiLCAiJyIsICI1IiwgIjEiLCAiVyIsICI0IiwgIkYiLCAiciIsICJ5IiwgIkIiLCAiNSJdLCAiaWQiOiAiYWU1MDE2YTctNzUyNy00MTNiLThmZmMtNmJmZDhjMzQxNjM1In0KMTczMzQwMDg5OTA4MQlNYXJpb25ldHRlCURFQlVHCTAgLT4gWzAsMjcsIldlYkRyaXZlcjpFbGVtZW50U2VuZEtleXMiLHsiaWQiOiJhZTUwMTZhNy03NTI3LTQxM2ItOGZmYy02YmZkOGMzNDE2MzUiLCJ0ZXh0IjoiNzYnNTFXNEZyeUI1IiwidmFsdWUiOlsiNyIsIjYiLCInIiwiNSIsIjEiLCJXIiwiNCIsIkYiLCJyIiwieSIsIkIiLCI1Il19XQpjb25zb2xlLmluZm86ICIoR2xlYW4uY29yZS5VcGxvYWQuUGluZ1VwbG9hZE1hbmFnZXIpIiAiUGluZyBkNzlkYjNmYy1kOWY5LTRjZDUtODc5My0xYzQ2MTAyYjNkMTkgc3VjY2Vzc2Z1bGx5IHNlbnQgMjAwLiIKY29uc29sZS5pbmZvOiAiKEdsZWFuLmNvcmUuVXBsb2FkLlBpbmdVcGxvYWRNYW5hZ2VyKSIgIlBpbmcgOGQyMzY3MDQtMzU5Ni00ZjEwLTgxMmQtNmE5YTE3ZTdhOGViIHN1Y2Nlc3NmdWxseSBzZW50IDIwMC4iCjE3MzM0MDA4OTkxMjkJTWFyaW9uZXR0ZQlERUJVRwkwIDwtIFsxLDI3LG51bGwseyJ2YWx1ZSI6bnVsbH1dCjE3MzM0MDA4OTkxMzAJd2ViZHJpdmVyOjpzZXJ2ZXIJREVCVUcJPC0gMjAwIE9LIHsidmFsdWUiOm51bGx9CmNvbnNvbGUuZXJyb3I6ICJncmFwaFFMRXJyb3JzIiBbe21lc3NhZ2U6IkludmFsaWQgdG9rZW4iLCBsb2NhdGlvbnM6W3tsaW5lOjIsIGNvbHVtbjozfV0sIHBhdGg6WyJhY2NvdW50Il0sIGV4dGVuc2lvbnM6e2NvZGU6IlVOQVVUSEVOVElDQVRFRCIsIG9yaWdpbmFsRXJyb3I6e21lc3NhZ2U6IkludmFsaWQgdG9rZW4iLCBlcnJvcjoiVW5hdXRob3JpemVkIiwgc3RhdHVzQ29kZTo0MDF9fX1dCjE3MzM0MDA4OTkxMzAJd2ViZHJpdmVyOjpzZXJ2ZXIJREVCVUcJLT4gUE9TVCAvc2Vzc2lvbi8wZmVjMjc1OC05MGU0LTQwNWUtOTBlMi05YWQyOGZiNDVkMjIvZWxlbWVudCB7InVzaW5nIjogImNzcyBzZWxlY3RvciIsICJ2YWx1ZSI6ICIucGFzc3dvcmQuZW1wdHkifQoxNzMzNDAwODk5MTMxCU1hcmlvbmV0dGUJREVCVUcJMCAtPiBbMCwyOCwiV2ViRHJpdmVyOkZpbmRFbGVtZW50Iix7InVzaW5nIjoiY3NzIHNlbGVjdG9yIiwidmFsdWUiOiIucGFzc3dvcmQuZW1wdHkifV0KMTczMzQwMDg5OTE0MQlNYXJpb25ldHRlCURFQlVHCTAgPC0gWzEsMjgseyJlcnJvciI6Im5vIHN1Y2ggZWxlbWVudCIsIm1lc3NhZ2UiOiJVbmFibGUgdG8gbG9jYXRlIGVsZW1lbnQ6IC5wYXNzd29yZC5lbXB0eSIsInN0YWNrdHJhY2UiOiJSZW1vdGVFcnJvckBjaHJvbWU6Ly9yZW1vdGUvY29udGVudC9zaGFyZWQvUmVtb3RlRXJyb3Iuc3lzLm1qczo4OjhcbldlYkRyaXZlckVycm9yQGNocm9tZTovL3JlbW90ZS9jb250ZW50L3NoYXJlZC93ZWJkcml2ZXIvRXIgLi4uIGNocm9tZTovL3JlbW90ZS9jb250ZW50L3NoYXJlZC93ZWJkcml2ZXIvRXJyb3JzLnN5cy5tanM6NTExOjVcbmRvbS5maW5kLzwvPEBjaHJvbWU6Ly9yZW1vdGUvY29udGVudC9zaGFyZWQvRE9NLnN5cy5tanM6MTM2OjE2XG4ifSxudWxsXQoxNzMzNDAwODk5MTQxCXdlYmRyaXZlcjo6c2VydmVyCURFQlVHCTwtIDQwNCBOb3QgRm91bmQgeyJ2YWx1ZSI6eyJlcnJvciI6Im5vIHN1Y2ggZWxlbWVudCIsIm1lc3NhZ2UiOiJVbmFibGUgdG8gbG9jYXRlIGVsZW1lbnQ6IC5wYXNzd29yZC5lbXB0eSIsInN0YWNrdHJhY2UiOiJSZW1vIC4uLiBlOi8vcmVtb3RlL2NvbnRlbnQvc2hhcmVkL3dlYmRyaXZlci9FcnJvcnMuc3lzLm1qczo1MTE6NVxuZG9tLmZpbmQvPC88QGNocm9tZTovL3JlbW90ZS9jb250ZW50L3NoYXJlZC9ET00uc3lzLm1qczoxMzY6MTZcbiJ9fQoxNzMzNDAwODk5MTQyCXdlYmRyaXZlcjo6c2VydmVyCURFQlVHCS0+IFBPU1QgL3Nlc3Npb24vMGZlYzI3NTgtOTBlNC00MDVlLTkwZTItOWFkMjhmYjQ1ZDIyL2VsZW1lbnQgeyJ1c2luZyI6ICJjc3Mgc2VsZWN0b3IiLCAidmFsdWUiOiAiYnV0dG9uLmN0YS1wcmltYXJ5LmN0YS14bCJ9CjE3MzM0MDA4OTkxNDIJTWFyaW9uZXR0ZQlERUJVRwkwIC0+IFswLDI5LCJXZWJEcml2ZXI6RmluZEVsZW1lbnQiLHsidXNpbmciOiJjc3Mgc2VsZWN0b3IiLCJ2YWx1ZSI6ImJ1dHRvbi5jdGEtcHJpbWFyeS5jdGEteGwifV0KMTczMzQwMDg5OTE0MwlNYXJpb25ldHRlCURFQlVHCTAgPC0gWzEsMjksbnVsbCx7InZhbHVlIjp7ImVsZW1lbnQtNjA2Ni0xMWU0LWE1MmUtNGY3MzU0NjZjZWNmIjoiNTIxYzFlMmMtOGI5Ny00ZjM5LTg3YjktOTYzMjUzNGJjNjIxIn19XQoxNzMzNDAwODk5MTQzCXdlYmRyaXZlcjo6c2VydmVyCURFQlVHCTwtIDIwMCBPSyB7InZhbHVlIjp7ImVsZW1lbnQtNjA2Ni0xMWU0LWE1MmUtNGY3MzU0NjZjZWNmIjoiNTIxYzFlMmMtOGI5Ny00ZjM5LTg3YjktOTYzMjUzNGJjNjIxIn19CjE3MzM0MDA4OTkxNDQJd2ViZHJpdmVyOjpzZXJ2ZXIJREVCVUcJLT4gUE9TVCAvc2Vzc2lvbi8wZmVjMjc1OC05MGU0LTQwNWUtOTBlMi05YWQyOGZiNDVkMjIvZWxlbWVudC81MjFjMWUyYy04Yjk3LTRmMzktODdiOS05NjMyNTM0YmM2MjEvY2xpY2sgeyJpZCI6ICI1MjFjMWUyYy04Yjk3LTRmMzktODdiOS05NjMyNTM0YmM2MjEifQoxNzMzNDAwODk5MTQ0CU1hcmlvbmV0dGUJREVCVUcJMCAtPiBbMCwzMCwiV2ViRHJpdmVyOkVsZW1lbnRDbGljayIseyJpZCI6IjUyMWMxZTJjLThiOTctNGYzOS04N2I5LTk2MzI1MzRiYzYyMSJ9XQpjb25zb2xlLndhcm46IExvZ2luUmVjaXBlczogIkZhbGxpbmcgYmFjayB0byBhIHN5bmNocm9ub3VzIG1lc3NhZ2UgZm9yOiBodHRwczovL2FjY291bnRzLmZpcmVmb3guY29tLiIKMTczMzQwMDg5OTE1NglNYXJpb25ldHRlCVRSQUNFCVJlY2VpdmVkIERPTSBldmVudCBjbGljayBmb3IgW29iamVjdCBIVE1MQnV0dG9uRWxlbWVudF0KY29uc29sZS5pbmZvOiAiKEdsZWFuLmNvcmUuVXBsb2FkLlBpbmdVcGxvYWRNYW5hZ2VyKSIgIlBpbmcgZDI1MzFkN2UtNmViYS00MjdhLTg1NDctOWZmNjY5MjdlYWFjIHN1Y2Nlc3NmdWxseSBzZW50IDIwMC4iCmNvbnNvbGUuaW5mbzogIihHbGVhbi5jb3JlLlVwbG9hZC5QaW5nVXBsb2FkTWFuYWdlcikiICJQaW5nIDA2YzY1MTUwLTU1NWItNDRlNi1iOTRmLTU3MzU1MGU3MjdjZiBzdWNjZXNzZnVsbHkgc2VudCAyMDAuIgoxNzMzNDAwODk5Mzk0CU1hcmlvbmV0dGUJVFJBQ0UJQ2FuY2VsZWQgcGFnZSBsb2FkIGxpc3RlbmVyIGJlY2F1c2Ugbm8gbmF2aWdhdGlvbiBoYXMgYmVlbiBkZXRlY3RlZAoxNzMzNDAwODk5Mzk0CU1hcmlvbmV0dGUJREVCVUcJMCA8LSBbMSwzMCxudWxsLHsidmFsdWUiOm51bGx9XQoxNzMzNDAwODk5Mzk1CXdlYmRyaXZlcjo6c2VydmVyCURFQlVHCTwtIDIwMCBPSyB7InZhbHVlIjpudWxsfQoxNzMzNDAwODk5Mzk2CXdlYmRyaXZlcjo6c2VydmVyCURFQlVHCS0+IEdFVCAvc2Vzc2lvbi8wZmVjMjc1OC05MGU0LTQwNWUtOTBlMi05YWQyOGZiNDVkMjIvdXJsIAoxNzMzNDAwODk5Mzk2CU1hcmlvbmV0dGUJREVCVUcJMCAtPiBbMCwzMSwiV2ViRHJpdmVyOkdldEN1cnJlbnRVUkwiLHt9XQoxNzMzNDAwODk5Mzk2CU1hcmlvbmV0dGUJREVCVUcJMCA8LSBbMSwzMSxudWxsLHsidmFsdWUiOiJodHRwczovL2FjY291bnRzLmZpcmVmb3guY29tL29hdXRoL3NpZ25pbj9zaG93UmVhY3RBcHA9dHJ1ZSZkZXZpY2VJZD0zYmQ1ZTc2NDU0OTc0ZmZmYTczNTYxMTE3OGU5NTE2ZiZmbG93QmVnaW5UaW1lPTE3MzM0MDA4OSAuLi4gOTY2OTNhJTNBTDJWdUxWVlRMMlpwY21WbWIzZ3YmYWNjZXNzX3R5cGU9b2ZmbGluZSZlbWFpbD1hc2NoZWslMkJxYS1hcGklNDBtb3ppbGxhLmNvbSZoYXNMaW5rZWRBY2NvdW50PWZhbHNlJmhhc1Bhc3N3b3JkPXRydWUifV0KMTczMzQwMDg5OTM5Nwl3ZWJkcml2ZXI6OnNlcnZlcglERUJVRwk8LSAyMDAgT0sgeyJ2YWx1ZSI6Imh0dHBzOi8vYWNjb3VudHMuZmlyZWZveC5jb20vb2F1dGgvc2lnbmluP3Nob3dSZWFjdEFwcD10cnVlJmRldmljZUlkPTNiZDVlNzY0NTQ5NzRmZmZhNzM1NjExMTc4ZTk1MTZmJmZsbyAuLi4gNjkzYSUzQUwyVnVMVlZUTDJacGNtVm1iM2d2JmFjY2Vzc190eXBlPW9mZmxpbmUmZW1haWw9YXNjaGVrJTJCcWEtYXBpJTQwbW96aWxsYS5jb20maGFzTGlua2VkQWNjb3VudD1mYWxzZSZoYXNQYXNzd29yZD10cnVlIn0KMTczMzQwMDg5OTkwMAl3ZWJkcml2ZXI6OnNlcnZlcglERUJVRwktPiBHRVQgL3Nlc3Npb24vMGZlYzI3NTgtOTBlNC00MDVlLTkwZTItOWFkMjhmYjQ1ZDIyL3VybCAKMTczMzQwMDg5OTkwNQlNYXJpb25ldHRlCURFQlVHCTAgLT4gWzAsMzIsIldlYkRyaXZlcjpHZXRDdXJyZW50VVJMIix7fV0KMTczMzQwMDg5OTkwNglNYXJpb25ldHRlCURFQlVHCTAgPC0gWzEsMzIsbnVsbCx7InZhbHVlIjoiaHR0cHM6Ly9hY2NvdW50cy5maXJlZm94LmNvbS9vYXV0aC9zaWduaW4/c2hvd1JlYWN0QXBwPXRydWUmZGV2aWNlSWQ9M2JkNWU3NjQ1NDk3NGZmZmE3MzU2MTExNzhlOTUxNmYmZmxvd0JlZ2luVGltZT0xNzMzNDAwODkgLi4uIDk2NjkzYSUzQUwyVnVMVlZUTDJacGNtVm1iM2d2JmFjY2Vzc190eXBlPW9mZmxpbmUmZW1haWw9YXNjaGVrJTJCcWEtYXBpJTQwbW96aWxsYS5jb20maGFzTGlua2VkQWNjb3VudD1mYWxzZSZoYXNQYXNzd29yZD10cnVlIn1dCjE3MzM0MDA4OTk5MDcJd2ViZHJpdmVyOjpzZXJ2ZXIJREVCVUcJPC0gMjAwIE9LIHsidmFsdWUiOiJodHRwczovL2FjY291bnRzLmZpcmVmb3guY29tL29hdXRoL3NpZ25pbj9zaG93UmVhY3RBcHA9dHJ1ZSZkZXZpY2VJZD0zYmQ1ZTc2NDU0OTc0ZmZmYTczNTYxMTE3OGU5NTE2ZiZmbG8gLi4uIDY5M2ElM0FMMlZ1TFZWVEwyWnBjbVZtYjNndiZhY2Nlc3NfdHlwZT1vZmZsaW5lJmVtYWlsPWFzY2hlayUyQnFhLWFwaSU0MG1vemlsbGEuY29tJmhhc0xpbmtlZEFjY291bnQ9ZmFsc2UmaGFzUGFzc3dvcmQ9dHJ1ZSJ9CmNvbnNvbGUuaW5mbzogIihHbGVhbi5jb3JlLlVwbG9hZC5QaW5nVXBsb2FkTWFuYWdlcikiICJQaW5nIDk3ZDA2MWJjLWIxM2ItNDQzYi1hYzc5LTgwZjk5ZWU0NTFiNiBzdWNjZXNzZnVsbHkgc2VudCAyMDAuIgpjb25zb2xlLmluZm86ICIoR2xlYW4uY29yZS5VcGxvYWQuUGluZ1VwbG9hZE1hbmFnZXIpIiAiUGluZyBjNWJjMWQ4Yi0xMWM4LTQ2MzYtYjI5Yi1iZThlOTI3ZDZlMWMgc3VjY2Vzc2Z1bGx5IHNlbnQgMjAwLiIKY29uc29sZS53YXJuOiAiW0BmbHVlbnQvcmVhY3RdIEVycm9yOiBUaGUgaWQgXCJzaWduaW4tdG90cC1jb2RlLWhlYWRlclwiIGRpZCBub3QgbWF0Y2ggYW55IG1lc3NhZ2VzIGluIHRoZSBsb2NhbGl6YXRpb24gYnVuZGxlcy4iCmNvbnNvbGUuaW5mbzogIihHbGVhbi5jb3JlLlVwbG9hZC5QaW5nVXBsb2FkTWFuYWdlcikiICJQaW5nIGM5NTg2OTA5LTU5ODEtNGU5Yi1hMjFlLWY1N2UxOTQxNWExNiBzdWNjZXNzZnVsbHkgc2VudCAyMDAuIgpjb25zb2xlLmluZm86ICIoR2xlYW4uY29yZS5VcGxvYWQuUGluZ1VwbG9hZE1hbmFnZXIpIiAiUGluZyA0MTY1NzI4Yi1mM2U3LTQzNjUtOWM3Mi02ZjVmNjZmNjE4OTIgc3VjY2Vzc2Z1bGx5IHNlbnQgMjAwLiIKY29uc29sZS5pbmZvOiAiKEdsZWFuLmNvcmUuVXBsb2FkLlBpbmdVcGxvYWRNYW5hZ2VyKSIgIlBpbmcgOTAxMmZmZjEtNzQ2Yy00ZmRmLWJiMmMtOTZmOTM0ZGI5Yzc4IHN1Y2Nlc3NmdWxseSBzZW50IDIwMC4iCjE3MzM0MDA5MDA0MTEJd2ViZHJpdmVyOjpzZXJ2ZXIJREVCVUcJLT4gR0VUIC9zZXNzaW9uLzBmZWMyNzU4LTkwZTQtNDA1ZS05MGUyLTlhZDI4ZmI0NWQyMi91cmwgCjE3MzM0MDA5MDA0MTMJTWFyaW9uZXR0ZQlERUJVRwkwIC0+IFswLDMzLCJXZWJEcml2ZXI6R2V0Q3VycmVudFVSTCIse31dCjE3MzM0MDA5MDA0MTMJTWFyaW9uZXR0ZQlERUJVRwkwIDwtIFsxLDMzLG51bGwseyJ2YWx1ZSI6Imh0dHBzOi8vYWNjb3VudHMuZmlyZWZveC5jb20vc2lnbmluX3RvdHBfY29kZT9zaG93UmVhY3RBcHA9dHJ1ZSZkZXZpY2VJZD0zYmQ1ZTc2NDU0OTc0ZmZmYTczNTYxMTE3OGU5NTE2ZiZmbG93QmVnaW5UaW1lPTE3MzM0IC4uLiA5NjY5M2ElM0FMMlZ1TFZWVEwyWnBjbVZtYjNndiZhY2Nlc3NfdHlwZT1vZmZsaW5lJmVtYWlsPWFzY2hlayUyQnFhLWFwaSU0MG1vemlsbGEuY29tJmhhc0xpbmtlZEFjY291bnQ9ZmFsc2UmaGFzUGFzc3dvcmQ9dHJ1ZSJ9XQoxNzMzNDAwOTAwNDE0CXdlYmRyaXZlcjo6c2VydmVyCURFQlVHCTwtIDIwMCBPSyB7InZhbHVlIjoiaHR0cHM6Ly9hY2NvdW50cy5maXJlZm94LmNvbS9zaWduaW5fdG90cF9jb2RlP3Nob3dSZWFjdEFwcD10cnVlJmRldmljZUlkPTNiZDVlNzY0NTQ5NzRmZmZhNzM1NjExMTc4ZTk1MTZmIC4uLiA2OTNhJTNBTDJWdUxWVlRMMlpwY21WbWIzZ3YmYWNjZXNzX3R5cGU9b2ZmbGluZSZlbWFpbD1hc2NoZWslMkJxYS1hcGklNDBtb3ppbGxhLmNvbSZoYXNMaW5rZWRBY2NvdW50PWZhbHNlJmhhc1Bhc3N3b3JkPXRydWUifQoxNzMzNDAwOTAwNDE0CXdlYmRyaXZlcjo6c2VydmVyCURFQlVHCS0+IFBPU1QgL3Nlc3Npb24vMGZlYzI3NTgtOTBlNC00MDVlLTkwZTItOWFkMjhmYjQ1ZDIyL2VsZW1lbnQgeyJ1c2luZyI6ICJjc3Mgc2VsZWN0b3IiLCAidmFsdWUiOiAiLnBiLTEifQoxNzMzNDAwOTAwNDE1CU1hcmlvbmV0dGUJREVCVUcJMCAtPiBbMCwzNCwiV2ViRHJpdmVyOkZpbmRFbGVtZW50Iix7InVzaW5nIjoiY3NzIHNlbGVjdG9yIiwidmFsdWUiOiIucGItMSJ9XQoxNzMzNDAwOTAwNDE2CU1hcmlvbmV0dGUJREVCVUcJMCA8LSBbMSwzNCxudWxsLHsidmFsdWUiOnsiZWxlbWVudC02MDY2LTExZTQtYTUyZS00ZjczNTQ2NmNlY2YiOiJiOGZjMDM1My1jNzc4LTQ3NjMtYTFlZi03ZTM1MmIzMjdjODcifX1dCjE3MzM0MDA5MDA0MTYJd2ViZHJpdmVyOjpzZXJ2ZXIJREVCVUcJPC0gMjAwIE9LIHsidmFsdWUiOnsiZWxlbWVudC02MDY2LTExZTQtYTUyZS00ZjczNTQ2NmNlY2YiOiJiOGZjMDM1My1jNzc4LTQ3NjMtYTFlZi03ZTM1MmIzMjdjODcifX0KMTczMzQwMDkwMDQxOAl3ZWJkcml2ZXI6OnNlcnZlcglERUJVRwktPiBQT1NUIC9zZXNzaW9uLzBmZWMyNzU4LTkwZTQtNDA1ZS05MGUyLTlhZDI4ZmI0NWQyMi9leGVjdXRlL3N5bmMgeyJzY3JpcHQiOiAicmV0dXJuIChmdW5jdGlvbigpe3JldHVybiAoZnVuY3Rpb24oKXt2YXIgaz10aCAuLi4gdHMpO31cbikuYXBwbHkobnVsbCwgYXJndW1lbnRzKTsiLCAiYXJncyI6IFt7ImVsZW1lbnQtNjA2Ni0xMWU0LWE1MmUtNGY3MzU0NjZjZWNmIjogImI4ZmMwMzUzLWM3NzgtNDc2My1hMWVmLTdlMzUyYjMyN2M4NyJ9XX0KMTczMzQwMDkwMDQxOQlNYXJpb25ldHRlCURFQlVHCTAgLT4gWzAsMzUsIldlYkRyaXZlcjpFeGVjdXRlU2NyaXB0Iix7ImFyZ3MiOlt7ImVsZW1lbnQtNjA2Ni0xMWU0LWE1MmUtNGY3MzU0NjZjZWNmIjoiYjhmYzAzNTMtYzc3OC00NzYzLWExZWYtN2UzNTJiMzI3Yzg3In1dLCJzY3JpcHQiOiJyZXR1cm4gKGZ1bmN0aW9uKCl7cmV0dXJuIChmdW5jdGlvbigpe3ZhciBrPXRoaXN8fHNlbGY7ZnVuY3Rpb24gYWEoYSl7cmV0dXJuXCJzdHJpbmdcIj09dHlwZW9mIGF9ZnVuY3Rpb24gYmEoYSxiKXthPWEuc3BsaXQoXCIuXCIgLi4uIGluZWQnP3dpbmRvdy5uYXZpZ2F0b3I6bnVsbCxkb2N1bWVudDp0eXBlb2Ygd2luZG93IT0ndW5kZWZpbmVkJz93aW5kb3cuZG9jdW1lbnQ6bnVsbH0sIGFyZ3VtZW50cyk7fVxuKS5hcHBseShudWxsLCBhcmd1bWVudHMpOyJ9XQoxNzMzNDAwOTAwNDI2CU1hcmlvbmV0dGUJREVCVUcJMCA8LSBbMSwzNSxudWxsLHsidmFsdWUiOnRydWV9XQoxNzMzNDAwOTAwNDI3CXdlYmRyaXZlcjo6c2VydmVyCURFQlVHCTwtIDIwMCBPSyB7InZhbHVlIjp0cnVlfQoxNzMzNDAwOTMwNDM2CXdlYmRyaXZlcjo6c2VydmVyCURFQlVHCS0+IFBPU1QgL3Nlc3Npb24vMGZlYzI3NTgtOTBlNC00MDVlLTkwZTItOWFkMjhmYjQ1ZDIyL2VsZW1lbnQgeyJ1c2luZyI6ICJjc3Mgc2VsZWN0b3IiLCAidmFsdWUiOiAiLnBiLTEifQoxNzMzNDAwOTMwNDM5CU1hcmlvbmV0dGUJREVCVUcJMCAtPiBbMCwzNiwiV2ViRHJpdmVyOkZpbmRFbGVtZW50Iix7InVzaW5nIjoiY3NzIHNlbGVjdG9yIiwidmFsdWUiOiIucGItMSJ9XQoxNzMzNDAwOTMwNDU1CU1hcmlvbmV0dGUJREVCVUcJMCA8LSBbMSwzNixudWxsLHsidmFsdWUiOnsiZWxlbWVudC02MDY2LTExZTQtYTUyZS00ZjczNTQ2NmNlY2YiOiJiOGZjMDM1My1jNzc4LTQ3NjMtYTFlZi03ZTM1MmIzMjdjODcifX1dCjE3MzM0MDA5MzA0NTUJd2ViZHJpdmVyOjpzZXJ2ZXIJREVCVUcJPC0gMjAwIE9LIHsidmFsdWUiOnsiZWxlbWVudC02MDY2LTExZTQtYTUyZS00ZjczNTQ2NmNlY2YiOiJiOGZjMDM1My1jNzc4LTQ3NjMtYTFlZi03ZTM1MmIzMjdjODcifX0KMTczMzQwMDkzMDQ1Nwl3ZWJkcml2ZXI6OnNlcnZlcglERUJVRwktPiBQT1NUIC9zZXNzaW9uLzBmZWMyNzU4LTkwZTQtNDA1ZS05MGUyLTlhZDI4ZmI0NWQyMi9lbGVtZW50L2I4ZmMwMzUzLWM3NzgtNDc2My1hMWVmLTdlMzUyYjMyN2M4Ny92YWx1ZSB7InRleHQiOiAiNzM2NTg2IiwgInZhbHVlIjogWyI3IiwgIjMiLCAiNiIsICI1IiwgIjgiLCAiNiJdLCAiaWQiOiAiYjhmYzAzNTMtYzc3OC00NzYzLWExZWYtN2UzNTJiMzI3Yzg3In0KMTczMzQwMDkzMDQ1OAlNYXJpb25ldHRlCURFQlVHCTAgLT4gWzAsMzcsIldlYkRyaXZlcjpFbGVtZW50U2VuZEtleXMiLHsiaWQiOiJiOGZjMDM1My1jNzc4LTQ3NjMtYTFlZi03ZTM1MmIzMjdjODciLCJ0ZXh0IjoiNzM2NTg2IiwidmFsdWUiOlsiNyIsIjMiLCI2IiwiNSIsIjgiLCI2Il19XQoxNzMzNDAwOTMwNTI3CU1hcmlvbmV0dGUJREVCVUcJMCA8LSBbMSwzNyxudWxsLHsidmFsdWUiOm51bGx9XQoxNzMzNDAwOTMwNTI3CXdlYmRyaXZlcjo6c2VydmVyCURFQlVHCTwtIDIwMCBPSyB7InZhbHVlIjpudWxsfQoxNzMzNDAwOTMwNTI4CXdlYmRyaXZlcjo6c2VydmVyCURFQlVHCS0+IFBPU1QgL3Nlc3Npb24vMGZlYzI3NTgtOTBlNC00MDVlLTkwZTItOWFkMjhmYjQ1ZDIyL2VsZW1lbnQgeyJ1c2luZyI6ICJjc3Mgc2VsZWN0b3IiLCAidmFsdWUiOiAiLmN0YS1wcmltYXJ5In0KMTczMzQwMDkzMDUyOQlNYXJpb25ldHRlCURFQlVHCTAgLT4gWzAsMzgsIldlYkRyaXZlcjpGaW5kRWxlbWVudCIseyJ1c2luZyI6ImNzcyBzZWxlY3RvciIsInZhbHVlIjoiLmN0YS1wcmltYXJ5In1dCjE3MzM0MDA5MzA1MzAJTWFyaW9uZXR0ZQlERUJVRwkwIDwtIFsxLDM4LG51bGwseyJ2YWx1ZSI6eyJlbGVtZW50LTYwNjYtMTFlNC1hNTJlLTRmNzM1NDY2Y2VjZiI6ImFhMDhkZmFhLTNmMzctNDIyOS1hYjEyLTBjOTAwZmFkN2VkYyJ9fV0KMTczMzQwMDkzMDUzMAl3ZWJkcml2ZXI6OnNlcnZlcglERUJVRwk8LSAyMDAgT0sgeyJ2YWx1ZSI6eyJlbGVtZW50LTYwNjYtMTFlNC1hNTJlLTRmNzM1NDY2Y2VjZiI6ImFhMDhkZmFhLTNmMzctNDIyOS1hYjEyLTBjOTAwZmFkN2VkYyJ9fQoxNzMzNDAwOTMwNTMxCXdlYmRyaXZlcjo6c2VydmVyCURFQlVHCS0+IFBPU1QgL3Nlc3Npb24vMGZlYzI3NTgtOTBlNC00MDVlLTkwZTItOWFkMjhmYjQ1ZDIyL2VsZW1lbnQvYWEwOGRmYWEtM2YzNy00MjI5LWFiMTItMGM5MDBmYWQ3ZWRjL2NsaWNrIHsiaWQiOiAiYWEwOGRmYWEtM2YzNy00MjI5LWFiMTItMGM5MDBmYWQ3ZWRjIn0KMTczMzQwMDkzMDUzMQlNYXJpb25ldHRlCURFQlVHCTAgLT4gWzAsMzksIldlYkRyaXZlcjpFbGVtZW50Q2xpY2siLHsiaWQiOiJhYTA4ZGZhYS0zZjM3LTQyMjktYWIxMi0wYzkwMGZhZDdlZGMifV0KMTczMzQwMDkzMDU0NAlNYXJpb25ldHRlCVRSQUNFCVJlY2VpdmVkIERPTSBldmVudCBjbGljayBmb3IgW29iamVjdCBIVE1MQnV0dG9uRWxlbWVudF0KY29uc29sZS53YXJuOiAiW0BmbHVlbnQvcmVhY3RdIEVycm9yOiBUaGUgaWQgXCJzaWduaW4tdG90cC1jb2RlLWhlYWRlclwiIGRpZCBub3QgbWF0Y2ggYW55IG1lc3NhZ2VzIGluIHRoZSBsb2NhbGl6YXRpb24gYnVuZGxlcy4iCjE3MzM0MDA5MzA3ODAJTWFyaW9uZXR0ZQlUUkFDRQlDYW5jZWxlZCBwYWdlIGxvYWQgbGlzdGVuZXIgYmVjYXVzZSBubyBuYXZpZ2F0aW9uIGhhcyBiZWVuIGRldGVjdGVkCjE3MzM0MDA5MzA3ODEJTWFyaW9uZXR0ZQlERUJVRwkwIDwtIFsxLDM5LG51bGwseyJ2YWx1ZSI6bnVsbH1dCjE3MzM0MDA5MzA3ODEJd2ViZHJpdmVyOjpzZXJ2ZXIJREVCVUcJPC0gMjAwIE9LIHsidmFsdWUiOm51bGx9CmNvbnNvbGUud2FybjogIltAZmx1ZW50L3JlYWN0XSBFcnJvcjogVGhlIGlkIFwic2lnbmluLXRvdHAtY29kZS1oZWFkZXJcIiBkaWQgbm90IG1hdGNoIGFueSBtZXNzYWdlcyBpbiB0aGUgbG9jYWxpemF0aW9uIGJ1bmRsZXMuIgpjb25zb2xlLmluZm86ICIoR2xlYW4uY29yZS5VcGxvYWQuUGluZ1VwbG9hZE1hbmFnZXIpIiAiUGluZyAwYTg3ZGYwOS0xNTQ5LTQ2Y2MtODNhNy1kOWQ1NThiNjFhZTQgc3VjY2Vzc2Z1bGx5IHNlbnQgMjAwLiIKY29uc29sZS5pbmZvOiAiKEdsZWFuLmNvcmUuVXBsb2FkLlBpbmdVcGxvYWRNYW5hZ2VyKSIgIlBpbmcgYWNmZDAzYTMtOGQ3NS00MTM5LWE4NmQtZGI2YzkzZmJkNjNjIHN1Y2Nlc3NmdWxseSBzZW50IDIwMC4iCmNvbnNvbGUuaW5mbzogIihHbGVhbi5jb3JlLlVwbG9hZC5QaW5nVXBsb2FkTWFuYWdlcikiICJQaW5nIDMxMjFiNGNmLWY0ZjgtNGU4Zi1iNjE0LTdkMGI4YmE1MGQwNiBzdWNjZXNzZnVsbHkgc2VudCAyMDAuIgpjb25zb2xlLmluZm86ICIoR2xlYW4uY29yZS5VcGxvYWQuUGluZ1VwbG9hZE1hbmFnZXIpIiAiUGluZyAxZjhmODk0ZS05OWI0LTQ5YjQtYmE1Yi1lMTdkODIwNDRiZGIgc3VjY2Vzc2Z1bGx5IHNlbnQgMjAwLiIKMTczMzQwMDkzMzQ2NwlNYXJpb25ldHRlCVRSQUNFCVJlbW90ZW5lc3MgY2hhbmdlIGRldGVjdGVkLiBTZXQgbmV3IHRvcC1sZXZlbCBicm93c2luZyBjb250ZXh0IHRvIDEzCjE3MzM0MDA5MzM0NzEJTWFyaW9uZXR0ZQlUUkFDRQlbMTJdIE1hcmlvbmV0dGVDb21tYW5kcyBhY3RvciBkZXN0cm95ZWQgZm9yIHdpbmRvdyBpZCAxMjg4NDkwMTg5MApjb25zb2xlLmluZm86ICIlcyAlcyIgIltHQV0iICJHb29nbGUgQW5hbHl0aWNzIGlzIGVuYWJsZWQiICh2b2lkIDApCmNvbnNvbGUuaW5mbzogIiVzICVzIiAiW0dBOiBPTl0iICJ0cmFja2luZ1NlbmRXZWJWaXRhbHMgaXMgZW5hYmxlZCIgKHZvaWQgMCkKY29uc29sZS5pbmZvOiAiJXMgJXM6ICVvIiAiW0dBOiBPTl0iICJzZW5kRXZlbnQiICh7ZXZlbnRBY3Rpb246InByaW1hcnktaGVyby1pbXByZXNzaW9uIiwgZXZlbnRDYXRlZ29yeToiQU1PIFByaW1hcnkgSGVybyBJbXByZXNzaW9ucyIsIGV2ZW50TGFiZWw6Ins3YjFiZjBiNi1hMWI5LTQyYjAtYjc1ZC0yNTIwMzY0MzhiZGN9IiwgZXZlbnRWYWx1ZToodm9pZCAwKSwgaGl0VHlwZToiZXZlbnQifSkKY29uc29sZS5pbmZvOiAiYWRkaW5nIGV2ZW50IGxpc3RlbmVyIGZvciBcIm9uRGlzYWJsZWRcIiIKY29uc29sZS5pbmZvOiAiYWRkaW5nIGV2ZW50IGxpc3RlbmVyIGZvciBcIm9uRW5hYmxlZFwiIgpjb25zb2xlLmluZm86ICJhZGRpbmcgZXZlbnQgbGlzdGVuZXIgZm9yIFwib25JbnN0YWxsaW5nXCIiCmNvbnNvbGUuaW5mbzogImFkZGluZyBldmVudCBsaXN0ZW5lciBmb3IgXCJvbkluc3RhbGxlZFwiIgpjb25zb2xlLmluZm86ICJhZGRpbmcgZXZlbnQgbGlzdGVuZXIgZm9yIFwib25Vbmluc3RhbGxpbmdcIiIKY29uc29sZS5pbmZvOiAiYWRkaW5nIGV2ZW50IGxpc3RlbmVyIGZvciBcIm9uVW5pbnN0YWxsZWRcIiIKY29uc29sZS5pbmZvOiAiYWRkaW5nIGV2ZW50IGxpc3RlbmVyIGZvciBcIm9uRW5hYmxpbmdcIiIKY29uc29sZS5pbmZvOiAiYWRkaW5nIGV2ZW50IGxpc3RlbmVyIGZvciBcIm9uRGlzYWJsaW5nXCIiCmNvbnNvbGUuaW5mbzogIkdsb2JhbCBjaGFuZ2UgZXZlbnQgbGlzdGVuZXJzIGhhdmUgYmVlbiBpbml0aWFsaXplZCIKMTczMzQwMDkzNTc5MAl3ZWJkcml2ZXI6OnNlcnZlcglERUJVRwktPiBQT1NUIC9zZXNzaW9uLzBmZWMyNzU4LTkwZTQtNDA1ZS05MGUyLTlhZDI4ZmI0NWQyMi9lbGVtZW50IHsidXNpbmciOiAiY3NzIHNlbGVjdG9yIiwgInZhbHVlIjogIi50ZXh0LXhzIn0KMTczMzQwMDkzNTc5NAlNYXJpb25ldHRlCURFQlVHCTAgLT4gWzAsNDAsIldlYkRyaXZlcjpGaW5kRWxlbWVudCIseyJ1c2luZyI6ImNzcyBzZWxlY3RvciIsInZhbHVlIjoiLnRleHQteHMifV0KMTczMzQwMDkzNTgwMQlSZW1vdGVBZ2VudAlUUkFDRQlXZWJEcml2ZXJQcm9jZXNzRGF0YSBhY3RvciBjcmVhdGVkIGZvciBQSUQgNjI3MzQKMTczMzQwMDkzNTgwMwlNYXJpb25ldHRlCVRSQUNFCVsxM10gTWFyaW9uZXR0ZUNvbW1hbmRzIGFjdG9yIGNyZWF0ZWQgZm9yIHdpbmRvdyBpZCAxNTAzMjM4NTUzNwoxNzMzNDAwOTM1ODEzCU1hcmlvbmV0dGUJREVCVUcJMCA8LSBbMSw0MCx7ImVycm9yIjoibm8gc3VjaCBlbGVtZW50IiwibWVzc2FnZSI6IlVuYWJsZSB0byBsb2NhdGUgZWxlbWVudDogLnRleHQteHMiLCJzdGFja3RyYWNlIjoiUmVtb3RlRXJyb3JAY2hyb21lOi8vcmVtb3RlL2NvbnRlbnQvc2hhcmVkL1JlbW90ZUVycm9yLnN5cy5tanM6ODo4XG5XZWJEcml2ZXJFcnJvckBjaHJvbWU6Ly9yZW1vdGUvY29udGVudC9zaGFyZWQvd2ViZHJpdmVyL0VyIC4uLiBjaHJvbWU6Ly9yZW1vdGUvY29udGVudC9zaGFyZWQvd2ViZHJpdmVyL0Vycm9ycy5zeXMubWpzOjUxMTo1XG5kb20uZmluZC88LzxAY2hyb21lOi8vcmVtb3RlL2NvbnRlbnQvc2hhcmVkL0RPTS5zeXMubWpzOjEzNjoxNlxuIn0sbnVsbF0KMTczMzQwMDkzNTgxMwl3ZWJkcml2ZXI6OnNlcnZlcglERUJVRwk8LSA0MDQgTm90IEZvdW5kIHsidmFsdWUiOnsiZXJyb3IiOiJubyBzdWNoIGVsZW1lbnQiLCJtZXNzYWdlIjoiVW5hYmxlIHRvIGxvY2F0ZSBlbGVtZW50OiAudGV4dC14cyIsInN0YWNrdHJhY2UiOiJSZW1vdGVFcnJvciAuLi4gZTovL3JlbW90ZS9jb250ZW50L3NoYXJlZC93ZWJkcml2ZXIvRXJyb3JzLnN5cy5tanM6NTExOjVcbmRvbS5maW5kLzwvPEBjaHJvbWU6Ly9yZW1vdGUvY29udGVudC9zaGFyZWQvRE9NLnN5cy5tanM6MTM2OjE2XG4ifX0KMTczMzQwMDkzNTgxNQl3ZWJkcml2ZXI6OnNlcnZlcglERUJVRwktPiBHRVQgL3Nlc3Npb24vMGZlYzI3NTgtOTBlNC00MDVlLTkwZTItOWFkMjhmYjQ1ZDIyL3VybCAKMTczMzQwMDkzNTgxNQlNYXJpb25ldHRlCURFQlVHCTAgLT4gWzAsNDEsIldlYkRyaXZlcjpHZXRDdXJyZW50VVJMIix7fV0KMTczMzQwMDkzNTgxNglNYXJpb25ldHRlCURFQlVHCTAgPC0gWzEsNDEsbnVsbCx7InZhbHVlIjoiaHR0cHM6Ly9hZGRvbnMuYWxsaXpvbS5vcmcvZW4tVVMvZmlyZWZveC8ifV0KMTczMzQwMDkzNTgxNgl3ZWJkcml2ZXI6OnNlcnZlcglERUJVRwk8LSAyMDAgT0sgeyJ2YWx1ZSI6Imh0dHBzOi8vYWRkb25zLmFsbGl6b20ub3JnL2VuLVVTL2ZpcmVmb3gvIn0KMTczMzQwMDkzNTgxNwl3ZWJkcml2ZXI6OnNlcnZlcglERUJVRwktPiBHRVQgL3Nlc3Npb24vMGZlYzI3NTgtOTBlNC00MDVlLTkwZTItOWFkMjhmYjQ1ZDIyL3VybCAKMTczMzQwMDkzNTgxNwlNYXJpb25ldHRlCURFQlVHCTAgLT4gWzAsNDIsIldlYkRyaXZlcjpHZXRDdXJyZW50VVJMIix7fV0KMTczMzQwMDkzNTgxNwlNYXJpb25ldHRlCURFQlVHCTAgPC0gWzEsNDIsbnVsbCx7InZhbHVlIjoiaHR0cHM6Ly9hZGRvbnMuYWxsaXpvbS5vcmcvZW4tVVMvZmlyZWZveC8ifV0KMTczMzQwMDkzNTgxOAl3ZWJkcml2ZXI6OnNlcnZlcglERUJVRwk8LSAyMDAgT0sgeyJ2YWx1ZSI6Imh0dHBzOi8vYWRkb25zLmFsbGl6b20ub3JnL2VuLVVTL2ZpcmVmb3gvIn0KMTczMzQwMDkzNTk1MQl3ZWJkcml2ZXI6OnNlcnZlcglERUJVRwktPiBHRVQgL3Nlc3Npb24vMGZlYzI3NTgtOTBlNC00MDVlLTkwZTItOWFkMjhmYjQ1ZDIyL3VybCAKMTczMzQwMDkzNTk1NAlNYXJpb25ldHRlCURFQlVHCTAgLT4gWzAsNDMsIldlYkRyaXZlcjpHZXRDdXJyZW50VVJMIix7fV0KMTczMzQwMDkzNTk1NAlNYXJpb25ldHRlCURFQlVHCTAgPC0gWzEsNDMsbnVsbCx7InZhbHVlIjoiaHR0cHM6Ly9hZGRvbnMuYWxsaXpvbS5vcmcvZW4tVVMvZmlyZWZveC8ifV0KMTczMzQwMDkzNTk1NQl3ZWJkcml2ZXI6OnNlcnZlcglERUJVRwk8LSAyMDAgT0sgeyJ2YWx1ZSI6Imh0dHBzOi8vYWRkb25zLmFsbGl6b20ub3JnL2VuLVVTL2ZpcmVmb3gvIn0KMTczMzQwMDkzNTk1Ngl3ZWJkcml2ZXI6OnNlcnZlcglERUJVRwktPiBHRVQgL3Nlc3Npb24vMGZlYzI3NTgtOTBlNC00MDVlLTkwZTItOWFkMjhmYjQ1ZDIyL3VybCAKMTczMzQwMDkzNTk1NwlNYXJpb25ldHRlCURFQlVHCTAgLT4gWzAsNDQsIldlYkRyaXZlcjpHZXRDdXJyZW50VVJMIix7fV0KMTczMzQwMDkzNTk1NwlNYXJpb25ldHRlCURFQlVHCTAgPC0gWzEsNDQsbnVsbCx7InZhbHVlIjoiaHR0cHM6Ly9hZGRvbnMuYWxsaXpvbS5vcmcvZW4tVVMvZmlyZWZveC8ifV0KMTczMzQwMDkzNTk1Nwl3ZWJkcml2ZXI6OnNlcnZlcglERUJVRwk8LSAyMDAgT0sgeyJ2YWx1ZSI6Imh0dHBzOi8vYWRkb25zLmFsbGl6b20ub3JnL2VuLVVTL2ZpcmVmb3gvIn0KMTczMzQwMDkzNTk1OAl3ZWJkcml2ZXI6OnNlcnZlcglERUJVRwktPiBHRVQgL3Nlc3Npb24vMGZlYzI3NTgtOTBlNC00MDVlLTkwZTItOWFkMjhmYjQ1ZDIyL3VybCAKMTczMzQwMDkzNTk1OAlNYXJpb25ldHRlCURFQlVHCTAgLT4gWzAsNDUsIldlYkRyaXZlcjpHZXRDdXJyZW50VVJMIix7fV0KMTczMzQwMDkzNTk1OAlNYXJpb25ldHRlCURFQlVHCTAgPC0gWzEsNDUsbnVsbCx7InZhbHVlIjoiaHR0cHM6Ly9hZGRvbnMuYWxsaXpvbS5vcmcvZW4tVVMvZmlyZWZveC8ifV0KMTczMzQwMDkzNTk1OQl3ZWJkcml2ZXI6OnNlcnZlcglERUJVRwk8LSAyMDAgT0sgeyJ2YWx1ZSI6Imh0dHBzOi8vYWRkb25zLmFsbGl6b20ub3JnL2VuLVVTL2ZpcmVmb3gvIn0KMTczMzQwMDkzNTk1OQl3ZWJkcml2ZXI6OnNlcnZlcglERUJVRwktPiBHRVQgL3Nlc3Npb24vMGZlYzI3NTgtOTBlNC00MDVlLTkwZTItOWFkMjhmYjQ1ZDIyL2Nvb2tpZS9zZXNzaW9uaWQgCjE3MzM0MDA5MzU5NjEJTWFyaW9uZXR0ZQlERUJVRwkwIC0+IFswLDQ2LCJXZWJEcml2ZXI6R2V0Q29va2llcyIse31dCjE3MzM0MDA5MzU5NjUJTWFyaW9uZXR0ZQlERUJVRwkwIDwtIFsxLDQ2LG51bGwsW3sibmFtZSI6Il9nYXQiLCJ2YWx1ZSI6IjEiLCJwYXRoIjoiLyIsImRvbWFpbiI6Ii5hbGxpem9tLm9yZyIsInNlY3VyZSI6ZmFsc2UsImh0dHBPbmx5IjpmYWxzZSwiZXhwaXJ5IjoxNzMzNDAwOTU0LCJzYW1lU2l0ZSI6Ik5vbmUifSx7Im5hbWUiOiJzZXNzaW9uaWQiLCJ2YWx1ZSI6InhnanpwcmV3eHM3aThzZTNudms5aHd0cjkxenM5dWo4IiwicGF0aCI6Ii8iLCJkb21haW4iOiIuYWRkb25zLmFsbGl6b20ub3JnIiwic2VjdXJlIjp0cnVlLCJodHRwT25seSI6dHJ1ZSwiZXhwaXJ5IjoxNzM1OTkyOTMyLCJzYW1lU2l0ZSI6IkxheCJ9LHsibmFtZSI6Il9naWQiLCJ2YWx1ZSI6IkdBMS4yLjE4MjA4MDEwMC4xNzMzNDAwODk1IiwicGF0aCI6Ii8iLCJkb21haW4iOiIuYWxsaXpvbS5vcmciLCJzZWN1cmUiOmZhbHNlLCJodHRwT25seSI6ZmFsc2UsImV4cGlyeSI6MTczMzQ4NzMzMywic2FtZVNpdGUiOiJOb25lIn0seyJuYW1lIjoiX2dhIiwidmFsdWUiOiJHQTEuMS4xMzI2NTkxNzAuMTczMzQwMDg5NSIsInBhdGgiOiIvIiwiZG9tYWluIjoiLmFsbGl6b20ub3JnIiwic2VjdXJlIjpmYWxzZSwiaHR0cE9ubHkiOmZhbHNlLCJleHBpcnkiOjE3Njc5NjA5MzMsInNhbWVTaXRlIjoiTm9uZSJ9LHsibmFtZSI6Il9nYV9COUNZMUM5VkJDIiwidmFsdWUiOiJHUzEuMS4xNzMzNDAwODk0LjEuMS4xNzMzNDAwOTMzLjAuMC4wIiwicGF0aCI6Ii8iLCJkb21haW4iOiIuYWxsaXpvbS5vcmciLCJzZWN1cmUiOmZhbHNlLCJodHRwT25seSI6ZmFsc2UsImV4cGlyeSI6MTc2Nzk2MDkzMywic2FtZVNpdGUiOiJOb25lIn1dXQoxNzMzNDAwOTM1OTY1CXdlYmRyaXZlcjo6c2VydmVyCURFQlVHCTwtIDIwMCBPSyB7InZhbHVlIjp7Im5hbWUiOiJzZXNzaW9uaWQiLCJ2YWx1ZSI6InhnanpwcmV3eHM3aThzZTNudms5aHd0cjkxenM5dWo4IiwicGF0aCI6Ii8iLCJkb21haW4iOiIuYWRkb25zLmFsbGl6b20ub3JnIiwic2VjdXJlIjp0cnVlLCJodHRwT25seSI6dHJ1ZSwiZXhwaXJ5IjoxNzM1OTkyOTMyLCJzYW1lU2l0ZSI6IkxheCJ9fQoxNzMzNDAwOTM2MjYwCXdlYmRyaXZlcjo6c2VydmVyCURFQlVHCS0+IERFTEVURSAvc2Vzc2lvbi8wZmVjMjc1OC05MGU0LTQwNWUtOTBlMi05YWQyOGZiNDVkMjIgCjE3MzM0MDA5MzYyNjIJTWFyaW9uZXR0ZQlERUJVRwkwIC0+IFswLDQ3LCJNYXJpb25ldHRlOlF1aXQiLHsiZmxhZ3MiOlsiZUZvcmNlUXVpdCJdfV0KMTczMzQwMDkzNjI2NAlNYXJpb25ldHRlCUlORk8JU3RvcHBlZCBsaXN0ZW5pbmcgb24gcG9ydCA1NTcyNwoxNzMzNDAwOTM2MjcwCU1hcmlvbmV0dGUJVFJBQ0UJWzEzXSBNYXJpb25ldHRlQ29tbWFuZHMgYWN0b3IgZGVzdHJveWVkIGZvciB3aW5kb3cgaWQgMTUwMzIzODU1MzcKMTczMzQwMDkzNjYwNAlNYXJpb25ldHRlCVRSQUNFCVJlY2VpdmVkIG9ic2VydmVyIG5vdGlmaWNhdGlvbiBxdWl0LWFwcGxpY2F0aW9uCjE3MzM0MDA5MzY2MDUJTWFyaW9uZXR0ZQlUUkFDRQlSZWNlaXZlZCBvYnNlcnZlciBub3RpZmljYXRpb24gcXVpdC1hcHBsaWNhdGlvbgoxNzMzNDAwOTM2NjA1CVJlbW90ZUFnZW50CURFQlVHCVJlc2V0dGluZyByZWNvbW1lbmRlZCBwcmVmIGFwei5jb250ZW50X3Jlc3BvbnNlX3RpbWVvdXQKMTczMzQwMDkzNjYwNQlSZW1vdGVBZ2VudAlERUJVRwlSZXNldHRpbmcgcmVjb21tZW5kZWQgcHJlZiBicm93c2VyLmNvbnRlbnRibG9ja2luZy5pbnRyb0NvdW50CjE3MzM0MDA5MzY2MDUJUmVtb3RlQWdlbnQJREVCVUcJUmVzZXR0aW5nIHJlY29tbWVuZGVkIHByZWYgYnJvd3Nlci5kb3dubG9hZC5wYW5lbC5zaG93bgoxNzMzNDAwOTM2NjA1CVJlbW90ZUFnZW50CURFQlVHCVJlc2V0dGluZyByZWNvbW1lbmRlZCBwcmVmIGJyb3dzZXIubmV3dGFicGFnZS5hY3Rpdml0eS1zdHJlYW0uZGlzY292ZXJ5c3RyZWFtLnJlZ2lvbi13ZWF0aGVyLWNvbmZpZwoxNzMzNDAwOTM2NjA1CVJlbW90ZUFnZW50CURFQlVHCVJlc2V0dGluZyByZWNvbW1lbmRlZCBwcmVmIGJyb3dzZXIubmV3dGFicGFnZS5hY3Rpdml0eS1zdHJlYW0ubmV3dGFiV2FsbHBhcGVycy5lbmFibGVkCjE3MzM0MDA5MzY2MDUJUmVtb3RlQWdlbnQJREVCVUcJUmVzZXR0aW5nIHJlY29tbWVuZGVkIHByZWYgYnJvd3Nlci5uZXd0YWJwYWdlLmFjdGl2aXR5LXN0cmVhbS5uZXd0YWJXYWxscGFwZXJzLnYyLmVuYWJsZWQKMTczMzQwMDkzNjYwNQlSZW1vdGVBZ2VudAlERUJVRwlSZXNldHRpbmcgcmVjb21tZW5kZWQgcHJlZiBicm93c2VyLm5ld3RhYnBhZ2UuYWN0aXZpdHktc3RyZWFtLnNob3dTcG9uc29yZWRUb3BTaXRlcwoxNzMzNDAwOTM2NjA1CVJlbW90ZUFnZW50CURFQlVHCVJlc2V0dGluZyByZWNvbW1lbmRlZCBwcmVmIGJyb3dzZXIubmV3dGFicGFnZS5lbmFibGVkCjE3MzM0MDA5MzY2MDYJUmVtb3RlQWdlbnQJREVCVUcJUmVzZXR0aW5nIHJlY29tbWVuZGVkIHByZWYgYnJvd3Nlci5wYWdldGh1bWJuYWlscy5jYXB0dXJpbmdfZGlzYWJsZWQKMTczMzQwMDkzNjYwNglSZW1vdGVBZ2VudAlERUJVRwlSZXNldHRpbmcgcmVjb21tZW5kZWQgcHJlZiBicm93c2VyLnJlZ2lvbi5uZXR3b3JrLnVybAoxNzMzNDAwOTM2NjA2CVJlbW90ZUFnZW50CURFQlVHCVJlc2V0dGluZyByZWNvbW1lbmRlZCBwcmVmIGJyb3dzZXIuc2FmZWJyb3dzaW5nLmJsb2NrZWRVUklzLmVuYWJsZWQKMTczMzQwMDkzNjYxMQlSZW1vdGVBZ2VudAlERUJVRwlSZXNldHRpbmcgcmVjb21tZW5kZWQgcHJlZiBicm93c2VyLnNhZmVicm93c2luZy5kb3dubG9hZHMuZW5hYmxlZAoxNzMzNDAwOTM2NjE0CVJlbW90ZUFnZW50CURFQlVHCVJlc2V0dGluZyByZWNvbW1lbmRlZCBwcmVmIGJyb3dzZXIuc2FmZWJyb3dzaW5nLm1hbHdhcmUuZW5hYmxlZAoxNzMzNDAwOTM2NjE2CVJlbW90ZUFnZW50CURFQlVHCVJlc2V0dGluZyByZWNvbW1lbmRlZCBwcmVmIGJyb3dzZXIuc2FmZWJyb3dzaW5nLnBoaXNoaW5nLmVuYWJsZWQKMTczMzQwMDkzNjYxOQlSZW1vdGVBZ2VudAlERUJVRwlSZXNldHRpbmcgcmVjb21tZW5kZWQgcHJlZiBicm93c2VyLnNlYXJjaC51cGRhdGUKMTczMzQwMDkzNjYxOQlSZW1vdGVBZ2VudAlERUJVRwlSZXNldHRpbmcgcmVjb21tZW5kZWQgcHJlZiBicm93c2VyLnN0YXJ0dXAuY291bGRSZXN0b3JlU2Vzc2lvbi5jb3VudAoxNzMzNDAwOTM2NjE5CVJlbW90ZUFnZW50CURFQlVHCVJlc2V0dGluZyByZWNvbW1lbmRlZCBwcmVmIGJyb3dzZXIudGFicy5yZW1vdGUudW5sb2FkRGVsYXlNcwoxNzMzNDAwOTM2NjE5CVJlbW90ZUFnZW50CURFQlVHCVJlc2V0dGluZyByZWNvbW1lbmRlZCBwcmVmIGJyb3dzZXIudGFicy51bmxvYWRPbkxvd01lbW9yeQoxNzMzNDAwOTM2NjE5CVJlbW90ZUFnZW50CURFQlVHCVJlc2V0dGluZyByZWNvbW1lbmRlZCBwcmVmIGJyb3dzZXIudGFicy53YXJuT25DbG9zZQoxNzMzNDAwOTM2NjE5CVJlbW90ZUFnZW50CURFQlVHCVJlc2V0dGluZyByZWNvbW1lbmRlZCBwcmVmIGJyb3dzZXIudGFicy53YXJuT25DbG9zZU90aGVyVGFicwoxNzMzNDAwOTM2NjE5CVJlbW90ZUFnZW50CURFQlVHCVJlc2V0dGluZyByZWNvbW1lbmRlZCBwcmVmIGJyb3dzZXIudGFicy53YXJuT25PcGVuCjE3MzM0MDA5MzY2MTkJUmVtb3RlQWdlbnQJREVCVUcJUmVzZXR0aW5nIHJlY29tbWVuZGVkIHByZWYgYnJvd3Nlci50b29sYmFycy5ib29rbWFya3MudmlzaWJpbGl0eQoxNzMzNDAwOTM2NjE5CVJlbW90ZUFnZW50CURFQlVHCVJlc2V0dGluZyByZWNvbW1lbmRlZCBwcmVmIGJyb3dzZXIudG9wc2l0ZXMuY29udGlsZS5lbmFibGVkCjE3MzM0MDA5MzY2MTkJUmVtb3RlQWdlbnQJREVCVUcJUmVzZXR0aW5nIHJlY29tbWVuZGVkIHByZWYgYnJvd3Nlci51c2VkT25XaW5kb3dzMTAuaW50cm9VUkwKMTczMzQwMDkzNjYxOQlSZW1vdGVBZ2VudAlERUJVRwlSZXNldHRpbmcgcmVjb21tZW5kZWQgcHJlZiBicm93c2VyLnVybGJhci5tZXJpbm8uZW5kcG9pbnRVUkwKMTczMzQwMDkzNjYyMQlSZW1vdGVBZ2VudAlERUJVRwlSZXNldHRpbmcgcmVjb21tZW5kZWQgcHJlZiBicm93c2VyLnVybGJhci5zdWdnZXN0LnNlYXJjaGVzCjE3MzM0MDA5MzY2MjIJUmVtb3RlQWdlbnQJREVCVUcJUmVzZXR0aW5nIHJlY29tbWVuZGVkIHByZWYgZGF0YXJlcG9ydGluZy5wb2xpY3kuZGF0YVN1Ym1pc3Npb25Qb2xpY3lBY2NlcHRlZAoxNzMzNDAwOTM2NjIyCVJlbW90ZUFnZW50CURFQlVHCVJlc2V0dGluZyByZWNvbW1lbmRlZCBwcmVmIGRvbS5kaXNhYmxlX29wZW5fZHVyaW5nX2xvYWQKMTczMzQwMDkzNjYyMglSZW1vdGVBZ2VudAlERUJVRwlSZXNldHRpbmcgcmVjb21tZW5kZWQgcHJlZiBkb20uZmlsZS5jcmVhdGVJbkNoaWxkCjE3MzM0MDA5MzY2MjIJUmVtb3RlQWdlbnQJREVCVUcJUmVzZXR0aW5nIHJlY29tbWVuZGVkIHByZWYgZG9tLmlucHV0X2V2ZW50cy5zZWN1cml0eS5taW5OdW1UaWNrcwoxNzMzNDAwOTM2NjIyCVJlbW90ZUFnZW50CURFQlVHCVJlc2V0dGluZyByZWNvbW1lbmRlZCBwcmVmIGRvbS5pbnB1dF9ldmVudHMuc2VjdXJpdHkubWluVGltZUVsYXBzZWRJbk1TCjE3MzM0MDA5MzY2MjIJUmVtb3RlQWdlbnQJREVCVUcJUmVzZXR0aW5nIHJlY29tbWVuZGVkIHByZWYgZG9tLm1heF9jaHJvbWVfc2NyaXB0X3J1bl90aW1lCjE3MzM0MDA5MzY2MjIJUmVtb3RlQWdlbnQJREVCVUcJUmVzZXR0aW5nIHJlY29tbWVuZGVkIHByZWYgZG9tLm1heF9zY3JpcHRfcnVuX3RpbWUKMTczMzQwMDkzNjYyMwlSZW1vdGVBZ2VudAlERUJVRwlSZXNldHRpbmcgcmVjb21tZW5kZWQgcHJlZiBkb20ubmF2aWdhdGlvbi5uYXZpZ2F0aW9uUmF0ZUxpbWl0LmNvdW50CjE3MzM0MDA5MzY2MjMJUmVtb3RlQWdlbnQJREVCVUcJUmVzZXR0aW5nIHJlY29tbWVuZGVkIHByZWYgZG9tLnB1c2guY29ubmVjdGlvbi5lbmFibGVkCjE3MzM0MDA5MzY2MjMJUmVtb3RlQWdlbnQJREVCVUcJUmVzZXR0aW5nIHJlY29tbWVuZGVkIHByZWYgZG9tLnNjcmVlbm9yaWVudGF0aW9uLmFsbG93LWxvY2sKMTczMzQwMDkzNjYyMwlSZW1vdGVBZ2VudAlERUJVRwlSZXNldHRpbmcgcmVjb21tZW5kZWQgcHJlZiBkb20uc3VjY2Vzc2l2ZV9kaWFsb2dfdGltZV9saW1pdAoxNzMzNDAwOTM2NjIzCVJlbW90ZUFnZW50CURFQlVHCVJlc2V0dGluZyByZWNvbW1lbmRlZCBwcmVmIGV4dGVuc2lvbnMuZ2V0QWRkb25zLmNhY2hlLmVuYWJsZWQKMTczMzQwMDkzNjYyMwlSZW1vdGVBZ2VudAlERUJVRwlSZXNldHRpbmcgcmVjb21tZW5kZWQgcHJlZiBleHRlbnNpb25zLmJsb2NrbGlzdC5kZXRhaWxzVVJMCjE3MzM0MDA5MzY2MjMJUmVtb3RlQWdlbnQJREVCVUcJUmVzZXR0aW5nIHJlY29tbWVuZGVkIHByZWYgZXh0ZW5zaW9ucy5ibG9ja2xpc3QuaXRlbVVSTAoxNzMzNDAwOTM2NjIzCVJlbW90ZUFnZW50CURFQlVHCVJlc2V0dGluZyByZWNvbW1lbmRlZCBwcmVmIGV4dGVuc2lvbnMuaG90Zml4LnVybAoxNzMzNDAwOTM2NjIzCVJlbW90ZUFnZW50CURFQlVHCVJlc2V0dGluZyByZWNvbW1lbmRlZCBwcmVmIGV4dGVuc2lvbnMuc3lzdGVtQWRkb24udXBkYXRlLmVuYWJsZWQKMTczMzQwMDkzNjYyMwlSZW1vdGVBZ2VudAlERUJVRwlSZXNldHRpbmcgcmVjb21tZW5kZWQgcHJlZiBleHRlbnNpb25zLnVwZGF0ZS5iYWNrZ3JvdW5kLnVybAoxNzMzNDAwOTM2NjIzCVJlbW90ZUFnZW50CURFQlVHCVJlc2V0dGluZyByZWNvbW1lbmRlZCBwcmVmIGV4dGVuc2lvbnMuZ2V0QWRkb25zLnNlYXJjaC5icm93c2VVUkwKMTczMzQwMDkzNjYyNAlSZW1vdGVBZ2VudAlERUJVRwlSZXNldHRpbmcgcmVjb21tZW5kZWQgcHJlZiBnZW8ucHJvdmlkZXIubmV0d29yay51cmwKMTczMzQwMDkzNjYyNAlSZW1vdGVBZ2VudAlERUJVRwlSZXNldHRpbmcgcmVjb21tZW5kZWQgcHJlZiBpZGVudGl0eS5meGFjY291bnRzLmF1dGgudXJpCjE3MzM0MDA5MzY2MjQJUmVtb3RlQWdlbnQJREVCVUcJUmVzZXR0aW5nIHJlY29tbWVuZGVkIHByZWYgbmV0d29yay5jb25uZWN0aXZpdHktc2VydmljZS5lbmFibGVkCjE3MzM0MDA5MzY2MjQJUmVtb3RlQWdlbnQJREVCVUcJUmVzZXR0aW5nIHJlY29tbWVuZGVkIHByZWYgbmV0d29yay5odHRwLnBoaXNoeS11c2VycGFzcy1sZW5ndGgKMTczMzQwMDkzNjYyNAlSZW1vdGVBZ2VudAlERUJVRwlSZXNldHRpbmcgcmVjb21tZW5kZWQgcHJlZiBuZXR3b3JrLmh0dHAucHJvbXB0LXRlbXAtcmVkaXJlY3QKMTczMzQwMDkzNjYyNAlSZW1vdGVBZ2VudAlERUJVRwlSZXNldHRpbmcgcmVjb21tZW5kZWQgcHJlZiBwcml2YWN5LnRyYWNraW5ncHJvdGVjdGlvbi5lbmFibGVkCjE3MzM0MDA5MzY2MjQJUmVtb3RlQWdlbnQJREVCVUcJUmVzZXR0aW5nIHJlY29tbWVuZGVkIHByZWYgcmVtb3RlLnByZWZzLnJlY29tbWVuZGVkLmFwcGxpZWQKMTczMzQwMDkzNjYyNAlSZW1vdGVBZ2VudAlERUJVRwlSZXNldHRpbmcgcmVjb21tZW5kZWQgcHJlZiBzZWN1cml0eS5maWxldXJpLnN0cmljdF9vcmlnaW5fcG9saWN5CjE3MzM0MDA5MzY2MjQJUmVtb3RlQWdlbnQJREVCVUcJUmVzZXR0aW5nIHJlY29tbWVuZGVkIHByZWYgc2VjdXJpdHkubm90aWZpY2F0aW9uX2VuYWJsZV9kZWxheQoxNzMzNDAwOTM2NjI0CVJlbW90ZUFnZW50CURFQlVHCVJlc2V0dGluZyByZWNvbW1lbmRlZCBwcmVmIHNlY3VyaXR5LnJlbW90ZV9zZXR0aW5ncy5pbnRlcm1lZGlhdGVzLmVuYWJsZWQKMTczMzQwMDkzNjYyNAlSZW1vdGVBZ2VudAlERUJVRwlSZXNldHRpbmcgcmVjb21tZW5kZWQgcHJlZiBzaWdub24uYXV0b2ZpbGxGb3JtcwoxNzMzNDAwOTM2NjI1CVJlbW90ZUFnZW50CURFQlVHCVJlc2V0dGluZyByZWNvbW1lbmRlZCBwcmVmIHNpZ25vbi5yZW1lbWJlclNpZ25vbnMKMTczMzQwMDkzNjYyNQlSZW1vdGVBZ2VudAlERUJVRwlSZXNldHRpbmcgcmVjb21tZW5kZWQgcHJlZiB0b29sa2l0LnRlbGVtZXRyeS5zZXJ2ZXIKMTczMzQwMDkzNjYyNQlSZW1vdGVBZ2VudAlERUJVRwlSZXNldHRpbmcgcmVjb21tZW5kZWQgcHJlZiB3aWRnZXQud2luZG93cy53aW5kb3dfb2NjbHVzaW9uX3RyYWNraW5nLmVuYWJsZWQKMTczMzQwMDkzNjYyNQlSZW1vdGVBZ2VudAlERUJVRwlSZXNldHRpbmcgcmVjb21tZW5kZWQgcHJlZiBwZXJtaXNzaW9ucy5pc29sYXRlQnkudXNlckNvbnRleHQKMTczMzQwMDkzNjYyNQlSZW1vdGVBZ2VudAlUUkFDRQlSZWNlaXZlZCBvYnNlcnZlciBub3RpZmljYXRpb24gcXVpdC1hcHBsaWNhdGlvbgoxNzMzNDAwOTM2NjI2CU1hcmlvbmV0dGUJREVCVUcJTWFyaW9uZXR0ZSBzdG9wcGVkIGxpc3RlbmluZwoxNzMzNDAwOTM2NjI2CU1hcmlvbmV0dGUJREVCVUcJMCA8LSBbMSw0NyxudWxsLHsiY2F1c2UiOiJzaHV0ZG93biIsImZvcmNlZCI6ZmFsc2UsImluX2FwcCI6dHJ1ZX1dCmNvbnNvbGUuaW5mbzogIiVzICVzOiAlbyIgIltHQTogT05dIiAic2VuZFdlYlZpdGFsU3RhdHMiICh7ZGVsdGE6MTM3NSwgaWQ6InYzLTE3MzM0MDA5MzM2NzMtMTE4OTQ1MTg3NzM0OCIsIG5hbWU6IkxDUCIsIHZhbHVlOjEzNzV9KQoxNzMzNDAwOTM2NjQwCXdlYmRyaXZlcjo6c2VydmVyCURFQlVHCVRlYXJkb3duIHNlc3Npb24KMTczMzQwMDkzNjY0NQlNYXJpb25ldHRlCURFQlVHCUNsb3NlZCBjb25uZWN0aW9uIDAKMTczMzQwMDkzNjc0NQlnZWNrb2RyaXZlcjo6YnJvd3NlcglERUJVRwlCcm93c2VyIHByb2Nlc3Mgc3RvcHBlZDogZXhpdCBzdGF0dXM6IDAKMTczMzQwMDkzNjgzOQl3ZWJkcml2ZXI6OnNlcnZlcglERUJVRwk8LSAyMDAgT0sgeyJ2YWx1ZSI6bnVsbH0K" target="_blank">Driver Log</a> </td></tr>
<tr>
<td class="extra" colspan="4">
<div class="log">base_url = 'https://addons.allizom.org', session_auth = 'xgjzprewxs7i8se3nvk9hwtr91zs9uj8'<br/><br/> @pytest.mark.serial<br/> @pytest.mark.create_session("api_user")<br/> def test_upload_addon_crx_archive(base_url, session_auth):<br/> """Use a .crx file to upload an addon and make sure the submission is successful"""<br/> with open("sample-addons/crx_ext.crx", "rb") as file:<br/> upload = requests.post(<br/> url=f"{base_url}{_upload}",<br/> headers={"Authorization": f"Session {session_auth}"},<br/> files={"upload": file},<br/> data={"channel": "unlisted"},<br/> )<br/> time.sleep(5)<br/> upload.raise_for_status()<br/> uuid = upload.json()["uuid"]<br/> payload = payloads.listed_addon_minimal(uuid)<br/> create_addon = requests.post(<br/> url=f"{base_url}{_addon_create}",<br/> headers={<br/> "Authorization": f"Session {session_auth}",<br/> "Content-Type": "application/json",<br/> },<br/> data=json.dumps(payload),<br/> )<br/>> create_addon.raise_for_status()<br/><br/>tests/api/test_addon_uploads.py:100: <br/>_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ <br/><br/>self = <Response [400]><br/><br/> def raise_for_status(self):<br/> """Raises :class:`HTTPError`, if one occurred."""<br/> <br/> http_error_msg = ""<br/> if isinstance(self.reason, bytes):<br/> # We attempt to decode utf-8 first because some servers<br/> # choose to localize their reason strings. If the string<br/> # isn't utf-8, we fall back to iso-8859-1 for all other<br/> # encodings. (See PR #3538)<br/> try:<br/> reason = self.reason.decode("utf-8")<br/> except UnicodeDecodeError:<br/> reason = self.reason.decode("iso-8859-1")<br/> else:<br/> reason = self.reason<br/> <br/> if 400 <= self.status_code < 500:<br/> http_error_msg = (<br/> f"{self.status_code} Client Error: {reason} for url: {self.url}"<br/> )<br/> <br/> elif 500 <= self.status_code < 600:<br/> http_error_msg = (<br/> f"{self.status_code} Server Error: {reason} for url: {self.url}"<br/> )<br/> <br/> if http_error_msg:<br/>> raise HTTPError(http_error_msg, response=self)<br/><span class="error">E requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://addons.allizom.org/api/v5/addons/addon/</span><br/><br/>venv/lib/python3.11/site-packages/requests/models.py:1024: HTTPError<br/></div></td></tr></tbody>
<tbody class="failed results-table-row">
<tr>
<td class="col-result">Failed</td>
<td class="col-name">tests/api/test_api_versions_edit.py::test_edit_version_change_sources</td>
<td class="col-duration">1.14</td>
<td class="col-links"><a class="text" href="data:text/plain;charset=utf-8;base64,MTczMzQwMTYwMDgyNQlnZWNrb2RyaXZlcglJTkZPCUxpc3RlbmluZyBvbiAxMjcuMC4wLjE6NTY2NjYKMTczMzQwMTYwMTEwMQlnZWNrb2RyaXZlcjo6Y2FwYWJpbGl0aWVzCURFQlVHCVRyeWluZyB0byByZWFkIGZpcmVmb3ggdmVyc2lvbiBmcm9tIGluaSBmaWxlcwoxNzMzNDAxNjAxMTAyCWdlY2tvZHJpdmVyOjpjYXBhYmlsaXRpZXMJREVCVUcJVHJ5aW5nIHRvIHJlYWQgZmlyZWZveCB2ZXJzaW9uIGZyb20gYmluYXJ5CjE3MzM0MDE2MDExMDIJZ2Vja29kcml2ZXI6OmNhcGFiaWxpdGllcwlERUJVRwlGYWlsZWQgdG8gZ2V0IGJpbmFyeSB2ZXJzaW9uCjE3MzM0MDE2MDExNDAJbW96cnVubmVyOjpydW5uZXIJSU5GTwlSdW5uaW5nIGNvbW1hbmQ6IE1PWl9DUkFTSFJFUE9SVEVSPSIxIiBNT1pfQ1JBU0hSRVBPUlRFUl9OT19SRVBPUlQ9IjEiIE1PWl9DUkFTSFJFUE9SVEVSX1NIVVRET1dOPSIxIiBNT1pfTk9fUkVNT1RFPSIxIiAiL0FwcCAuLi4gcyIgImxvY2FsaG9zdCIgIi1mb3JlZ3JvdW5kIiAiLW5vLXJlbW90ZSIgIi1wcm9maWxlIiAiL3Zhci9mb2xkZXJzL3ZfLzZqZF9kNWtuN3NzMHY4aGQ5MmpxZ2x6ODAwMDBncS9UL3J1c3RfbW96cHJvZmlsZWdub09HYSIKMTczMzQwMTYwMTE0MQlnZWNrb2RyaXZlcjo6bWFyaW9uZXR0ZQlERUJVRwlXYWl0aW5nIDYwcyB0byBjb25uZWN0IHRvIGJyb3dzZXIgb24gMTI3LjAuMC4xCjE3MzM0MDE2MDExNDIJZ2Vja29kcml2ZXI6Om1hcmlvbmV0dGUJVFJBQ0UJUmV0cnlpbmcgaW4gMTAwbXMKMTczMzQwMTYwMTI1NAlnZWNrb2RyaXZlcjo6bWFyaW9uZXR0ZQlUUkFDRQlSZXRyeWluZyBpbiAxMDBtcwoxNzMzNDAxNjAxMzU2CWdlY2tvZHJpdmVyOjptYXJpb25ldHRlCVRSQUNFCVJldHJ5aW5nIGluIDEwMG1zCioqKiBZb3UgYXJlIHJ1bm5pbmcgaW4gaGVhZGxlc3MgbW9kZS4KMTczMzQwMTYwMTQ2NwlnZWNrb2RyaXZlcjo6bWFyaW9uZXR0ZQlUUkFDRQlSZXRyeWluZyBpbiAxMDBtcwoxNzMzNDAxNjAxNTcyCWdlY2tvZHJpdmVyOjptYXJpb25ldHRlCVRSQUNFCVJldHJ5aW5nIGluIDEwMG1zCmNvbnNvbGUud2Fybjogc2VydmljZXMuc2V0dGluZ3M6IElnbm9yaW5nIHByZWZlcmVuY2Ugb3ZlcnJpZGUgb2YgcmVtb3RlIHNldHRpbmdzIHNlcnZlcgpjb25zb2xlLndhcm46IHNlcnZpY2VzLnNldHRpbmdzOiBBbGxvdyBieSBzZXR0aW5nIE1PWl9SRU1PVEVfU0VUVElOR1NfREVWVE9PTFM9MSBpbiB0aGUgZW52aXJvbm1lbnQKMTczMzQwMTYwMTY4MglnZWNrb2RyaXZlcjo6bWFyaW9uZXR0ZQlUUkFDRQlSZXRyeWluZyBpbiAxMDBtcwoxNzMzNDAxNjAxNzcxCVJlbW90ZUFnZW50CURFQlVHCVNldHRpbmcgcmVjb21tZW5kZWQgcHJlZiBhcHouY29udGVudF9yZXNwb25zZV90aW1lb3V0IHRvIDYwMDAwCjE3MzM0MDE2MDE3NzEJUmVtb3RlQWdlbnQJREVCVUcJU2V0dGluZyByZWNvbW1lbmRlZCBwcmVmIGJyb3dzZXIuY29udGVudGJsb2NraW5nLmludHJvQ291bnQgdG8gOTkKMTczMzQwMTYwMTc3MQlSZW1vdGVBZ2VudAlERUJVRwlTZXR0aW5nIHJlY29tbWVuZGVkIHByZWYgYnJvd3Nlci5kb3dubG9hZC5wYW5lbC5zaG93biB0byB0cnVlCjE3MzM0MDE2MDE3NzIJUmVtb3RlQWdlbnQJREVCVUcJU2V0dGluZyByZWNvbW1lbmRlZCBwcmVmIGJyb3dzZXIubmV3dGFicGFnZS5hY3Rpdml0eS1zdHJlYW0uZGlzY292ZXJ5c3RyZWFtLnJlZ2lvbi13ZWF0aGVyLWNvbmZpZyB0byAKMTczMzQwMTYwMTc3MglSZW1vdGVBZ2VudAlERUJVRwlTZXR0aW5nIHJlY29tbWVuZGVkIHByZWYgYnJvd3Nlci5uZXd0YWJwYWdlLmFjdGl2aXR5LXN0cmVhbS5uZXd0YWJXYWxscGFwZXJzLmVuYWJsZWQgdG8gZmFsc2UKMTczMzQwMTYwMTc3MglSZW1vdGVBZ2VudAlERUJVRwlTZXR0aW5nIHJlY29tbWVuZGVkIHByZWYgYnJvd3Nlci5uZXd0YWJwYWdlLmFjdGl2aXR5LXN0cmVhbS5uZXd0YWJXYWxscGFwZXJzLnYyLmVuYWJsZWQgdG8gZmFsc2UKMTczMzQwMTYwMTc3MglSZW1vdGVBZ2VudAlERUJVRwlTZXR0aW5nIHJlY29tbWVuZGVkIHByZWYgYnJvd3Nlci5uZXd0YWJwYWdlLmFjdGl2aXR5LXN0cmVhbS5zaG93U3BvbnNvcmVkVG9wU2l0ZXMgdG8gZmFsc2UKMTczMzQwMTYwMTc3MglSZW1vdGVBZ2VudAlERUJVRwlTZXR0aW5nIHJlY29tbWVuZGVkIHByZWYgYnJvd3Nlci5uZXd0YWJwYWdlLmVuYWJsZWQgdG8gZmFsc2UKMTczMzQwMTYwMTc3MglSZW1vdGVBZ2VudAlERUJVRwlTZXR0aW5nIHJlY29tbWVuZGVkIHByZWYgYnJvd3Nlci5wYWdldGh1bWJuYWlscy5jYXB0dXJpbmdfZGlzYWJsZWQgdG8gdHJ1ZQoxNzMzNDAxNjAxNzcyCVJlbW90ZUFnZW50CURFQlVHCVNldHRpbmcgcmVjb21tZW5kZWQgcHJlZiBicm93c2VyLnJlZ2lvbi5uZXR3b3JrLnVybCB0byAKMTczMzQwMTYwMTc3MwlSZW1vdGVBZ2VudAlERUJVRwlTZXR0aW5nIHJlY29tbWVuZGVkIHByZWYgYnJvd3Nlci5zYWZlYnJvd3NpbmcuYmxvY2tlZFVSSXMuZW5hYmxlZCB0byBmYWxzZQoxNzMzNDAxNjAxNzczCVJlbW90ZUFnZW50CURFQlVHCVNldHRpbmcgcmVjb21tZW5kZWQgcHJlZiBicm93c2VyLnNhZmVicm93c2luZy5kb3dubG9hZHMuZW5hYmxlZCB0byBmYWxzZQoxNzMzNDAxNjAxNzc0CVJlbW90ZUFnZW50CURFQlVHCVNldHRpbmcgcmVjb21tZW5kZWQgcHJlZiBicm93c2VyLnNhZmVicm93c2luZy5tYWx3YXJlLmVuYWJsZWQgdG8gZmFsc2UKMTczMzQwMTYwMTc3NAlSZW1vdGVBZ2VudAlERUJVRwlTZXR0aW5nIHJlY29tbWVuZGVkIHByZWYgYnJvd3Nlci5zYWZlYnJvd3NpbmcucGhpc2hpbmcuZW5hYmxlZCB0byBmYWxzZQoxNzMzNDAxNjAxNzc0CVJlbW90ZUFnZW50CURFQlVHCVNldHRpbmcgcmVjb21tZW5kZWQgcHJlZiBicm93c2VyLnNlYXJjaC51cGRhdGUgdG8gZmFsc2UKMTczMzQwMTYwMTc3NAlSZW1vdGVBZ2VudAlERUJVRwlTZXR0aW5nIHJlY29tbWVuZGVkIHByZWYgYnJvd3Nlci5zdGFydHVwLmNvdWxkUmVzdG9yZVNlc3Npb24uY291bnQgdG8gLTEKMTczMzQwMTYwMTc3NAlSZW1vdGVBZ2VudAlERUJVRwlTZXR0aW5nIHJlY29tbWVuZGVkIHByZWYgYnJvd3Nlci50YWJzLnJlbW90ZS51bmxvYWREZWxheU1zIHRvIDAKMTczMzQwMTYwMTc3NAlSZW1vdGVBZ2VudAlERUJVRwlTZXR0aW5nIHJlY29tbWVuZGVkIHByZWYgYnJvd3Nlci50YWJzLnVubG9hZE9uTG93TWVtb3J5IHRvIGZhbHNlCjE3MzM0MDE2MDE3NzQJUmVtb3RlQWdlbnQJREVCVUcJU2V0dGluZyByZWNvbW1lbmRlZCBwcmVmIGJyb3dzZXIudGFicy53YXJuT25DbG9zZSB0byBmYWxzZQoxNzMzNDAxNjAxNzc0CVJlbW90ZUFnZW50CURFQlVHCVNldHRpbmcgcmVjb21tZW5kZWQgcHJlZiBicm93c2VyLnRhYnMud2Fybk9uQ2xvc2VPdGhlclRhYnMgdG8gZmFsc2UKMTczMzQwMTYwMTc3NAlSZW1vdGVBZ2VudAlERUJVRwlTZXR0aW5nIHJlY29tbWVuZGVkIHByZWYgYnJvd3Nlci50YWJzLndhcm5Pbk9wZW4gdG8gZmFsc2UKMTczMzQwMTYwMTc3NAlSZW1vdGVBZ2VudAlERUJVRwlTZXR0aW5nIHJlY29tbWVuZGVkIHByZWYgYnJvd3Nlci50b29sYmFycy5ib29rbWFya3MudmlzaWJpbGl0eSB0byBuZXZlcgoxNzMzNDAxNjAxNzc0CVJlbW90ZUFnZW50CURFQlVHCVNldHRpbmcgcmVjb21tZW5kZWQgcHJlZiBicm93c2VyLnRvcHNpdGVzLmNvbnRpbGUuZW5hYmxlZCB0byBmYWxzZQoxNzMzNDAxNjAxNzc0CVJlbW90ZUFnZW50CURFQlVHCVNldHRpbmcgcmVjb21tZW5kZWQgcHJlZiBicm93c2VyLnVzZWRPbldpbmRvd3MxMC5pbnRyb1VSTCB0byAKMTczMzQwMTYwMTc3NAlSZW1vdGVBZ2VudAlERUJVRwlTZXR0aW5nIHJlY29tbWVuZGVkIHByZWYgYnJvd3Nlci51cmxiYXIubWVyaW5vLmVuZHBvaW50VVJMIHRvIAoxNzMzNDAxNjAxNzc0CVJlbW90ZUFnZW50CURFQlVHCVNldHRpbmcgcmVjb21tZW5kZWQgcHJlZiBicm93c2VyLnVybGJhci5zdWdnZXN0LnNlYXJjaGVzIHRvIGZhbHNlCjE3MzM0MDE2MDE3NzQJUmVtb3RlQWdlbnQJREVCVUcJU2V0dGluZyByZWNvbW1lbmRlZCBwcmVmIGRhdGFyZXBvcnRpbmcucG9saWN5LmRhdGFTdWJtaXNzaW9uUG9saWN5QWNjZXB0ZWQgdG8gZmFsc2UKMTczMzQwMTYwMTc3NAlSZW1vdGVBZ2VudAlERUJVRwlTZXR0aW5nIHJlY29tbWVuZGVkIHByZWYgZG9tLmRpc2FibGVfb3Blbl9kdXJpbmdfbG9hZCB0byBmYWxzZQoxNzMzNDAxNjAxNzc0CVJlbW90ZUFnZW50CURFQlVHCVNldHRpbmcgcmVjb21tZW5kZWQgcHJlZiBkb20uZmlsZS5jcmVhdGVJbkNoaWxkIHRvIHRydWUKMTczMzQwMTYwMTc3NAlSZW1vdGVBZ2VudAlERUJVRwlTZXR0aW5nIHJlY29tbWVuZGVkIHByZWYgZG9tLmlucHV0X2V2ZW50cy5zZWN1cml0eS5taW5OdW1UaWNrcyB0byAwCjE3MzM0MDE2MDE3NzQJUmVtb3RlQWdlbnQJREVCVUcJU2V0dGluZyByZWNvbW1lbmRlZCBwcmVmIGRvbS5pbnB1dF9ldmVudHMuc2VjdXJpdHkubWluVGltZUVsYXBzZWRJbk1TIHRvIDAKMTczMzQwMTYwMTc3NAlSZW1vdGVBZ2VudAlERUJVRwlTZXR0aW5nIHJlY29tbWVuZGVkIHByZWYgZG9tLm1heF9jaHJvbWVfc2NyaXB0X3J1bl90aW1lIHRvIDAKMTczMzQwMTYwMTc3NAlSZW1vdGVBZ2VudAlERUJVRwlTZXR0aW5nIHJlY29tbWVuZGVkIHByZWYgZG9tLm1heF9zY3JpcHRfcnVuX3RpbWUgdG8gMAoxNzMzNDAxNjAxNzc0CVJlbW90ZUFnZW50CURFQlVHCVNldHRpbmcgcmVjb21tZW5kZWQgcHJlZiBkb20ubmF2aWdhdGlvbi5uYXZpZ2F0aW9uUmF0ZUxpbWl0LmNvdW50IHRvIDAKMTczMzQwMTYwMTc3NAlSZW1vdGVBZ2VudAlERUJVRwlTZXR0aW5nIHJlY29tbWVuZGVkIHByZWYgZG9tLnB1c2guY29ubmVjdGlvbi5lbmFibGVkIHRvIGZhbHNlCjE3MzM0MDE2MDE3NzQJUmVtb3RlQWdlbnQJREVCVUcJU2V0dGluZyByZWNvbW1lbmRlZCBwcmVmIGRvbS5zY3JlZW5vcmllbnRhdGlvbi5hbGxvdy1sb2NrIHRvIHRydWUKMTczMzQwMTYwMTc3NAlSZW1vdGVBZ2VudAlERUJVRwlTZXR0aW5nIHJlY29tbWVuZGVkIHByZWYgZG9tLnN1Y2Nlc3NpdmVfZGlhbG9nX3RpbWVfbGltaXQgdG8gMAoxNzMzNDAxNjAxNzc0CVJlbW90ZUFnZW50CURFQlVHCVNldHRpbmcgcmVjb21tZW5kZWQgcHJlZiBleHRlbnNpb25zLmdldEFkZG9ucy5jYWNoZS5lbmFibGVkIHRvIGZhbHNlCjE3MzM0MDE2MDE3NzQJUmVtb3RlQWdlbnQJREVCVUcJU2V0dGluZyByZWNvbW1lbmRlZCBwcmVmIGV4dGVuc2lvbnMuYmxvY2tsaXN0LmRldGFpbHNVUkwgdG8gaHR0cDovLyUoc2VydmVyKXMvZXh0ZW5zaW9ucy1kdW1teS9ibG9ja2xpc3REZXRhaWxzVVJMCjE3MzM0MDE2MDE3NzQJUmVtb3RlQWdlbnQJREVCVUcJU2V0dGluZyByZWNvbW1lbmRlZCBwcmVmIGV4dGVuc2lvbnMuYmxvY2tsaXN0Lml0ZW1VUkwgdG8gaHR0cDovLyUoc2VydmVyKXMvZXh0ZW5zaW9ucy1kdW1teS9ibG9ja2xpc3RJdGVtVVJMCjE3MzM0MDE2MDE3NzQJUmVtb3RlQWdlbnQJREVCVUcJU2V0dGluZyByZWNvbW1lbmRlZCBwcmVmIGV4dGVuc2lvbnMuaG90Zml4LnVybCB0byBodHRwOi8vJShzZXJ2ZXIpcy9leHRlbnNpb25zLWR1bW15L2hvdGZpeFVSTAoxNzMzNDAxNjAxNzc0CVJlbW90ZUFnZW50CURFQlVHCVNldHRpbmcgcmVjb21tZW5kZWQgcHJlZiBleHRlbnNpb25zLnN5c3RlbUFkZG9uLnVwZGF0ZS5lbmFibGVkIHRvIGZhbHNlCjE3MzM0MDE2MDE3NzQJUmVtb3RlQWdlbnQJREVCVUcJU2V0dGluZyByZWNvbW1lbmRlZCBwcmVmIGV4dGVuc2lvbnMudXBkYXRlLmJhY2tncm91bmQudXJsIHRvIGh0dHA6Ly8lKHNlcnZlcilzL2V4dGVuc2lvbnMtZHVtbXkvdXBkYXRlQmFja2dyb3VuZFVSTAoxNzMzNDAxNjAxNzc0CVJlbW90ZUFnZW50CURFQlVHCVNldHRpbmcgcmVjb21tZW5kZWQgcHJlZiBleHRlbnNpb25zLmdldEFkZG9ucy5zZWFyY2guYnJvd3NlVVJMIHRvIGh0dHA6Ly8lKHNlcnZlcilzL2V4dGVuc2lvbnMtZHVtbXkvcmVwb3NpdG9yeUJyb3dzZVVSTAoxNzMzNDAxNjAxNzc0CVJlbW90ZUFnZW50CURFQlVHCVNldHRpbmcgcmVjb21tZW5kZWQgcHJlZiBnZW8ucHJvdmlkZXIubmV0d29yay51cmwgdG8gCjE3MzM0MDE2MDE3NzQJUmVtb3RlQWdlbnQJREVCVUcJU2V0dGluZyByZWNvbW1lbmRlZCBwcmVmIGlkZW50aXR5LmZ4YWNjb3VudHMuYXV0aC51cmkgdG8gaHR0cHM6Ly97c2VydmVyfS9kdW1teS9meGEKMTczMzQwMTYwMTc3NAlSZW1vdGVBZ2VudAlERUJVRwlTZXR0aW5nIHJlY29tbWVuZGVkIHByZWYgbmV0d29yay5jb25uZWN0aXZpdHktc2VydmljZS5lbmFibGVkIHRvIGZhbHNlCjE3MzM0MDE2MDE3NzUJUmVtb3RlQWdlbnQJREVCVUcJU2V0dGluZyByZWNvbW1lbmRlZCBwcmVmIG5ldHdvcmsuaHR0cC5waGlzaHktdXNlcnBhc3MtbGVuZ3RoIHRvIDI1NQoxNzMzNDAxNjAxNzc1CVJlbW90ZUFnZW50CURFQlVHCVNldHRpbmcgcmVjb21tZW5kZWQgcHJlZiBuZXR3b3JrLmh0dHAucHJvbXB0LXRlbXAtcmVkaXJlY3QgdG8gZmFsc2UKMTczMzQwMTYwMTc3NQlSZW1vdGVBZ2VudAlERUJVRwlTZXR0aW5nIHJlY29tbWVuZGVkIHByZWYgcHJpdmFjeS50cmFja2luZ3Byb3RlY3Rpb24uZW5hYmxlZCB0byBmYWxzZQoxNzMzNDAxNjAxNzc1CVJlbW90ZUFnZW50CURFQlVHCVNldHRpbmcgcmVjb21tZW5kZWQgcHJlZiByZW1vdGUucHJlZnMucmVjb21tZW5kZWQuYXBwbGllZCB0byB0cnVlCjE3MzM0MDE2MDE3NzUJUmVtb3RlQWdlbnQJREVCVUcJU2V0dGluZyByZWNvbW1lbmRlZCBwcmVmIHNlY3VyaXR5LmZpbGV1cmkuc3RyaWN0X29yaWdpbl9wb2xpY3kgdG8gZmFsc2UKMTczMzQwMTYwMTc3NQlSZW1vdGVBZ2VudAlERUJVRwlTZXR0aW5nIHJlY29tbWVuZGVkIHByZWYgc2VjdXJpdHkubm90aWZpY2F0aW9uX2VuYWJsZV9kZWxheSB0byAwCjE3MzM0MDE2MDE3NzUJUmVtb3RlQWdlbnQJREVCVUcJU2V0dGluZyByZWNvbW1lbmRlZCBwcmVmIHNlY3VyaXR5LnJlbW90ZV9zZXR0aW5ncy5pbnRlcm1lZGlhdGVzLmVuYWJsZWQgdG8gZmFsc2UKMTczMzQwMTYwMTc3NQlSZW1vdGVBZ2VudAlERUJVRwlTZXR0aW5nIHJlY29tbWVuZGVkIHByZWYgc2lnbm9uLmF1dG9maWxsRm9ybXMgdG8gZmFsc2UKMTczMzQwMTYwMTc3NQlSZW1vdGVBZ2VudAlERUJVRwlTZXR0aW5nIHJlY29tbWVuZGVkIHByZWYgc2lnbm9uLnJlbWVtYmVyU2lnbm9ucyB0byBmYWxzZQoxNzMzNDAxNjAxNzc1CVJlbW90ZUFnZW50CURFQlVHCVNldHRpbmcgcmVjb21tZW5kZWQgcHJlZiB0b29sa2l0LnRlbGVtZXRyeS5zZXJ2ZXIgdG8gaHR0cHM6Ly8lKHNlcnZlcilzL3RlbGVtZXRyeS1kdW1teS8KMTczMzQwMTYwMTc3NQlSZW1vdGVBZ2VudAlERUJVRwlTZXR0aW5nIHJlY29tbWVuZGVkIHByZWYgd2lkZ2V0LndpbmRvd3Mud2luZG93X29jY2x1c2lvbl90cmFja2luZy5lbmFibGVkIHRvIGZhbHNlCjE3MzM0MDE2MDE3NzYJUmVtb3RlQWdlbnQJREVCVUcJV2ViRHJpdmVyIEJpRGkgZW5hYmxlZAoxNzMzNDAxNjAxNzc2CU1hcmlvbmV0dGUJSU5GTwlNYXJpb25ldHRlIGVuYWJsZWQKMTczMzQwMTYwMTc4OAlnZWNrb2RyaXZlcjo6bWFyaW9uZXR0ZQlUUkFDRQlSZXRyeWluZyBpbiAxMDBtcwoxNzMzNDAxNjAxODg5CWdlY2tvZHJpdmVyOjptYXJpb25ldHRlCVRSQUNFCVJldHJ5aW5nIGluIDEwMG1zCjE3MzM0MDE2MDIwMDAJZ2Vja29kcml2ZXI6Om1hcmlvbmV0dGUJVFJBQ0UJUmV0cnlpbmcgaW4gMTAwbXMKMTczMzQwMTYwMjA0OQlNYXJpb25ldHRlCVRSQUNFCVJlY2VpdmVkIG9ic2VydmVyIG5vdGlmaWNhdGlvbiBmaW5hbC11aS1zdGFydHVwCjE3MzM0MDE2MDIwNTAJUmVtb3RlQWdlbnQJVFJBQ0UJUmVjZWl2ZWQgb2JzZXJ2ZXIgbm90aWZpY2F0aW9uIGZpbmFsLXVpLXN0YXJ0dXAKY29uc29sZS5lcnJvcjogIldhcm5pbmc6IHVucmVjb2duaXplZCBjb21tYW5kIGxpbmUgZmxhZyIgIi1yZW1vdGUtYWxsb3ctaG9zdHMiCjE3MzM0MDE2MDIyMDgJTWFyaW9uZXR0ZQlJTkZPCUxpc3RlbmluZyBvbiBwb3J0IDU2NjcyCjE3MzM0MDE2MDIyMTEJTWFyaW9uZXR0ZQlERUJVRwlNYXJpb25ldHRlIGlzIGxpc3RlbmluZwoxNzMzNDAxNjAyMjI3CVJlbW90ZUFnZW50CVRSQUNFCUF2YWlsYWJsZSBsb2NhbCBJUCBhZGRyZXNzZXM6IDEyNy4wLjAuMSwgWzo6MV0KMTczMzQwMTYwMjIzMQlSZW1vdGVBZ2VudAlERUJVRwlTZXR0aW5nIHJlY29tbWVuZGVkIHByZWYgcGVybWlzc2lvbnMuaXNvbGF0ZUJ5LnVzZXJDb250ZXh0IHRvIHRydWUKV2ViRHJpdmVyIEJpRGkgbGlzdGVuaW5nIG9uIHdzOi8vMTI3LjAuMC4xOjU2NjY3CjE3MzM0MDE2MDIyMzcJTWFyaW9uZXR0ZQlERUJVRwlBY2NlcHRlZCBjb25uZWN0aW9uIDAgZnJvbSAxMjcuMC4wLjE6NTY2ODIKMTczMzQwMTYwMjI0MQlnZWNrb2RyaXZlcjo6bWFyaW9uZXR0ZQlERUJVRwlDb25uZWN0aW9uIHRvIE1hcmlvbmV0dGUgZXN0YWJsaXNoZWQgb24gMTI3LjAuMC4xOjU2NjcyLgoxNzMzNDAxNjAyMzY0CU1hcmlvbmV0dGUJREVCVUcJMCAtPiBbMCwxLCJXZWJEcml2ZXI6TmV3U2Vzc2lvbiIseyJhY2NlcHRJbnNlY3VyZUNlcnRzIjp0cnVlLCJicm93c2VyTmFtZSI6ImZpcmVmb3giLCJwYWdlTG9hZFN0cmF0ZWd5Ijoibm9ybWFsIn1dCjE3MzM0MDE2MDIzNjYJUmVtb3RlQWdlbnQJV0FSTglUTFMgY2VydGlmaWNhdGUgZXJyb3JzIHdpbGwgYmUgaWdub3JlZCBmb3IgdGhpcyBzZXNzaW9uCjE3MzM0MDE2MDIzNjYJTWFyaW9uZXR0ZQlERUJVRwlXYWl0aW5nIGZvciBpbml0aWFsIGFwcGxpY2F0aW9uIHdpbmRvdwpbR0ZYMS1dOiBSZW5kZXJDb21wb3NpdG9yU1dHTCBmYWlsZWQgbWFwcGluZyBkZWZhdWx0IGZyYW1lYnVmZmVyLCBubyBkdApjb25zb2xlLmVycm9yOiBQb2xpY2llczogCiAgSW5zdGFsbGF0aW9uIGZhaWxlZCAtIEVSUk9SX0ZJTEVfQUNDRVNTIC0ge3VybH0KMTczMzQwMTYwMzQ3MglNYXJpb25ldHRlCVRSQUNFCVJlY2VpdmVkIG9ic2VydmVyIG5vdGlmaWNhdGlvbiBicm93c2VyLWlkbGUtc3RhcnR1cC10YXNrcy1maW5pc2hlZAoxNzMzNDAxNjAzNDcyCVJlbW90ZUFnZW50CVRSQUNFCVJlY2VpdmVkIG9ic2VydmVyIG5vdGlmaWNhdGlvbiBicm93c2VyLWlkbGUtc3RhcnR1cC10YXNrcy1maW5pc2hlZAoxNzMzNDAxNjAzNDgwCVJlbW90ZUFnZW50CVRSQUNFCVs5XSBQcm9ncmVzc0xpc3RlbmVyIFN0YXJ0OiBleHBlY3ROYXZpZ2F0aW9uPWZhbHNlIHJlc29sdmVXaGVuU3RhcnRlZD1mYWxzZSB1bmxvYWRUaW1lb3V0PTUwMDAgd2FpdEZvckV4cGxpY2l0U3RhcnQ9ZmFsc2UKMTczMzQwMTYwMzQ4MAlSZW1vdGVBZ2VudAlUUkFDRQlbOV0gUHJvZ3Jlc3NMaXN0ZW5lciBTZXR0aW5nIHVubG9hZCB0aW1lciAoNTAwMG1zKQoxNzMzNDAxNjAzNDgwCVJlbW90ZUFnZW50CVRSQUNFCVs5XSBXYWl0IGZvciBpbml0aWFsIG5hdmlnYXRpb246IGlzSW5pdGlhbD1mYWxzZSwgaXNMb2FkaW5nRG9jdW1lbnQ9ZmFsc2UKMTczMzQwMTYwMzQ4MAlSZW1vdGVBZ2VudAlUUkFDRQlbOV0gRG9jdW1lbnQgYWxyZWFkeSBmaW5pc2hlZCBsb2FkaW5nOiBhYm91dDpibGFuawoxNzMzNDAxNjAzNDgwCVJlbW90ZUFnZW50CVRSQUNFCVs5XSBQcm9ncmVzc0xpc3RlbmVyIFN0b3A6IGhhcyBlcnJvcj1mYWxzZSB1cmw9YWJvdXQ6YmxhbmsKMTczMzQwMTYwMzQ4OQlNYXJpb25ldHRlCURFQlVHCTAgPC0gWzEsMSxudWxsLHsic2Vzc2lvbklkIjoiZDg0NTRlNmEtYzQyNi00NjYxLWI0ZTEtOTA1Y2MzNWI3YWJhIiwiY2FwYWJpbGl0aWVzIjp7ImFjY2VwdEluc2VjdXJlQ2VydHMiOnRydWUsImJyb3dzZXJOYW1lIjoiZmlyZWZveCIsImJyb3dzZXJWZXJzaW9uIjoiMTMzLjAiLCJwbGF0Zm9ybU5hbWUiOiJtYWMiLCJ1bmhhbmRsZWRQcm9tcHRCZWhhdmlvciI6ImRpc21pc3MgYW5kIG5vdGlmeSIsInVzZXJBZ2VudCI6Ik1vemlsbGEvNS4wIChNYWNpbnRvc2g7IEludGVsIE1hYyBPUyBYIDEwLjE1OyBydjoxMzMuMCkgR2Vja28vMjAxMDAxMDEgRmlyZWZveC8xMzMuMCIsIm1vejpidWlsZElEIjoiMjAyNDExMjExNDA1MjUiLCJtb3o6aGVhZGxlc3MiOnRydWUsIm1vejpwbGF0Zm9ybVZlcnNpb24iOiIyMy42LjAiLCJtb3o6cHJvY2Vzc0lEIjo3MTQwOCwibW96OnByb2ZpbGUiOiIvdmFyL2ZvbGRlcnMvdl8vNmpkX2Q1a243c3MwdjhoZDkyanFnbHo4MDAwMGdxL1QvcnVzdF9tb3pwcm9maWxlZ25vT0dhIiwibW96OnNodXRkb3duVGltZW91dCI6NjAwMDAsInBhZ2VMb2FkU3RyYXRlZ3kiOiJub3JtYWwiLCJ0aW1lb3V0cyI6eyJpbXBsaWNpdCI6MCwicGFnZUxvYWQiOjMwMDAwMCwic2NyaXB0IjozMDAwMH0sInNldFdpbmRvd1JlY3QiOnRydWUsInN0cmljdEZpbGVJbnRlcmFjdGFiaWxpdHkiOmZhbHNlLCJtb3o6YWNjZXNzaWJpbGl0eUNoZWNrcyI6ZmFsc2UsIm1vejp3ZWJkcml2ZXJDbGljayI6dHJ1ZSwibW96OndpbmRvd2xlc3MiOmZhbHNlLCJwcm94eSI6e319fV0KMTczMzQwMTYwMzQ5NQl3ZWJkcml2ZXI6OnNlcnZlcglERUJVRwk8LSAyMDAgT0sgeyJ2YWx1ZSI6eyJzZXNzaW9uSWQiOiJkODQ1NGU2YS1jNDI2LTQ2NjEtYjRlMS05MDVjYzM1YjdhYmEiLCJjYXBhYmlsaXRpZXMiOnsiYWNjZXB0SW5zZWN1cmVDZXJ0cyI6dHJ1ZSwiYnJvd3Nlck5hbSAuLi4gciI6ImRpc21pc3MgYW5kIG5vdGlmeSIsInVzZXJBZ2VudCI6Ik1vemlsbGEvNS4wIChNYWNpbnRvc2g7IEludGVsIE1hYyBPUyBYIDEwLjE1OyBydjoxMzMuMCkgR2Vja28vMjAxMDAxMDEgRmlyZWZveC8xMzMuMCJ9fX0KMTczMzQwMTYwMzUwMAl3ZWJkcml2ZXI6OnNlcnZlcglERUJVRwktPiBQT1NUIC9zZXNzaW9uL2Q4NDU0ZTZhLWM0MjYtNDY2MS1iNGUxLTkwNWNjMzViN2FiYS93aW5kb3cvcmVjdCB7IngiOiBudWxsLCAieSI6IG51bGwsICJ3aWR0aCI6IDE5MjAsICJoZWlnaHQiOiAxMDgwfQoxNzMzNDAxNjAzNTAxCU1hcmlvbmV0dGUJREVCVUcJMCAtPiBbMCwyLCJXZWJEcml2ZXI6U2V0V2luZG93UmVjdCIseyJoZWlnaHQiOjEwODAsIndpZHRoIjoxOTIwfV0KMTczMzQwMTYwMzc3MglSZW1vdGVBZ2VudAlUUkFDRQlSZWNlaXZlZCBET00gZXZlbnQgcmVzaXplIGZvciBbb2JqZWN0IFdpbmRvd10KMTczMzQwMTYwMzc3MglNYXJpb25ldHRlCVRSQUNFCVJlcXVlc3RlZCB3aW5kb3cgZ2VvbWV0cnkgbWF0Y2hlcwoxNzMzNDAxNjAzNzc0CU1hcmlvbmV0dGUJREVCVUcJMCA8LSBbMSwyLG51bGwseyJ4Ijo0LCJ5Ijo0LCJ3aWR0aCI6MTkyMCwiaGVpZ2h0IjoxMDgwfV0KMTczMzQwMTYwMzc3NAl3ZWJkcml2ZXI6OnNlcnZlcglERUJVRwk8LSAyMDAgT0sgeyJ2YWx1ZSI6eyJ4Ijo0LCJ5Ijo0LCJ3aWR0aCI6MTkyMCwiaGVpZ2h0IjoxMDgwfX0KMTczMzQwMTYwMzc3NQl3ZWJkcml2ZXI6OnNlcnZlcglERUJVRwktPiBQT1NUIC9zZXNzaW9uL2Q4NDU0ZTZhLWM0MjYtNDY2MS1iNGUxLTkwNWNjMzViN2FiYS91cmwgeyJ1cmwiOiAiaHR0cHM6Ly9hZGRvbnMuYWxsaXpvbS5vcmcifQoxNzMzNDAxNjAzNzc1CU1hcmlvbmV0dGUJREVCVUcJMCAtPiBbMCwzLCJXZWJEcml2ZXI6TmF2aWdhdGUiLHsidXJsIjoiaHR0cHM6Ly9hZGRvbnMuYWxsaXpvbS5vcmcifV0KMTczMzQwMTYwMzc3OAlNYXJpb25ldHRlCVRSQUNFCVs5XSBSZWNlaXZlZCBldmVudCBiZWZvcmV1bmxvYWQgZm9yIGFib3V0OmJsYW5rCjE3MzM0MDE2MDQyMDIJTWFyaW9uZXR0ZQlUUkFDRQlSZW1vdGVuZXNzIGNoYW5nZSBkZXRlY3RlZC4gU2V0IG5ldyB0b3AtbGV2ZWwgYnJvd3NpbmcgY29udGV4dCB0byAxMgoxNzMzNDAxNjA0MjEwCU1hcmlvbmV0dGUJVFJBQ0UJWzEyXSBSZWNlaXZlZCBldmVudCBiZWZvcmV1bmxvYWQgZm9yIGFib3V0OmJsYW5rCjE3MzM0MDE2MDQyMTMJTWFyaW9uZXR0ZQlUUkFDRQlbMTJdIFJlY2VpdmVkIGV2ZW50IHBhZ2VoaWRlIGZvciBhYm91dDpibGFuawpjb25zb2xlLmluZm86ICIlcyAlcyIgIltHQV0iICJHb29nbGUgQW5hbHl0aWNzIGlzIGVuYWJsZWQiICh2b2lkIDApCmNvbnNvbGUuaW5mbzogIiVzICVzIiAiW0dBOiBPTl0iICJ0cmFja2luZ1NlbmRXZWJWaXRhbHMgaXMgZW5hYmxlZCIgKHZvaWQgMCkKY29uc29sZS5pbmZvOiAiJXMgJXM6ICVvIiAiW0dBOiBPTl0iICJzZW5kRXZlbnQiICh7ZXZlbnRBY3Rpb246InByaW1hcnktaGVyby1pbXByZXNzaW9uIiwgZXZlbnRDYXRlZ29yeToiQU1PIFByaW1hcnkgSGVybyBJbXByZXNzaW9ucyIsIGV2ZW50TGFiZWw6Ins3YjFiZjBiNi1hMWI5LTQyYjAtYjc1ZC0yNTIwMzY0MzhiZGN9IiwgZXZlbnRWYWx1ZToodm9pZCAwKSwgaGl0VHlwZToiZXZlbnQifSkKY29uc29sZS5pbmZvOiAiYWRkaW5nIGV2ZW50IGxpc3RlbmVyIGZvciBcIm9uRGlzYWJsZWRcIiIKY29uc29sZS5pbmZvOiAiYWRkaW5nIGV2ZW50IGxpc3RlbmVyIGZvciBcIm9uRW5hYmxlZFwiIgpjb25zb2xlLmluZm86ICJhZGRpbmcgZXZlbnQgbGlzdGVuZXIgZm9yIFwib25JbnN0YWxsaW5nXCIiCmNvbnNvbGUuaW5mbzogImFkZGluZyBldmVudCBsaXN0ZW5lciBmb3IgXCJvbkluc3RhbGxlZFwiIgpjb25zb2xlLmluZm86ICJhZGRpbmcgZXZlbnQgbGlzdGVuZXIgZm9yIFwib25Vbmluc3RhbGxpbmdcIiIKY29uc29sZS5pbmZvOiAiYWRkaW5nIGV2ZW50IGxpc3RlbmVyIGZvciBcIm9uVW5pbnN0YWxsZWRcIiIKY29uc29sZS5pbmZvOiAiYWRkaW5nIGV2ZW50IGxpc3RlbmVyIGZvciBcIm9uRW5hYmxpbmdcIiIKY29uc29sZS5pbmZvOiAiYWRkaW5nIGV2ZW50IGxpc3RlbmVyIGZvciBcIm9uRGlzYWJsaW5nXCIiCmNvbnNvbGUuaW5mbzogIkdsb2JhbCBjaGFuZ2UgZXZlbnQgbGlzdGVuZXJzIGhhdmUgYmVlbiBpbml0aWFsaXplZCIKMTczMzQwMTYwNDgxMAlNYXJpb25ldHRlCVRSQUNFCVsxMl0gUmVjZWl2ZWQgZXZlbnQgRE9NQ29udGVudExvYWRlZCBmb3IgaHR0cHM6Ly9hZGRvbnMuYWxsaXpvbS5vcmcvZW4tVVMvZmlyZWZveC8KMTczMzQwMTYwNDgyMglNYXJpb25ldHRlCVRSQUNFCVsxMl0gUmVjZWl2ZWQgZXZlbnQgcGFnZXNob3cgZm9yIGh0dHBzOi8vYWRkb25zLmFsbGl6b20ub3JnL2VuLVVTL2ZpcmVmb3gvCjE3MzM0MDE2MDQ4MjMJTWFyaW9uZXR0ZQlERUJVRwkwIDwtIFsxLDMsbnVsbCx7InZhbHVlIjpudWxsfV0KMTczMzQwMTYwNDgyNgl3ZWJkcml2ZXI6OnNlcnZlcglERUJVRwk8LSAyMDAgT0sgeyJ2YWx1ZSI6bnVsbH0KMTczMzQwMTYwNDgyNwl3ZWJkcml2ZXI6OnNlcnZlcglERUJVRwktPiBQT1NUIC9zZXNzaW9uL2Q4NDU0ZTZhLWM0MjYtNDY2MS1iNGUxLTkwNWNjMzViN2FiYS9jb29raWUgeyJjb29raWUiOiB7Im5hbWUiOiAic2Vzc2lvbmlkIiwgInZhbHVlIjogImw2cjU4bTUxaTlqdDRucjQyY3pnMTZ5NXlzMjViMzgwIn19CjE3MzM0MDE2MDQ4MjgJTWFyaW9uZXR0ZQlERUJVRwkwIC0+IFswLDQsIldlYkRyaXZlcjpBZGRDb29raWUiLHsiY29va2llIjp7Imh0dHBPbmx5IjpmYWxzZSwibmFtZSI6InNlc3Npb25pZCIsInNlY3VyZSI6ZmFsc2UsInZhbHVlIjoibDZyNThtNTFpOWp0NG5yNDJjemcxNnk1eXMyNWIzODAifX1dCjE3MzM0MDE2MDQ4MjkJTWFyaW9uZXR0ZQlERUJVRwkwIDwtIFsxLDQsbnVsbCx7InZhbHVlIjpudWxsfV0KMTczMzQwMTYwNDgzMAl3ZWJkcml2ZXI6OnNlcnZlcglERUJVRwk8LSAyMDAgT0sgeyJ2YWx1ZSI6bnVsbH0KMTczMzQwMTYwNTg5Ngl3ZWJkcml2ZXI6OnNlcnZlcglERUJVRwktPiBERUxFVEUgL3Nlc3Npb24vZDg0NTRlNmEtYzQyNi00NjYxLWI0ZTEtOTA1Y2MzNWI3YWJhIAoxNzMzNDAxNjA1ODk3CU1hcmlvbmV0dGUJREVCVUcJMCAtPiBbMCw1LCJNYXJpb25ldHRlOlF1aXQiLHsiZmxhZ3MiOlsiZUZvcmNlUXVpdCJdfV0KMTczMzQwMTYwNTg5OAlNYXJpb25ldHRlCUlORk8JU3RvcHBlZCBsaXN0ZW5pbmcgb24gcG9ydCA1NjY3MgoxNzMzNDAxNjA2MjM1CU1hcmlvbmV0dGUJVFJBQ0UJUmVjZWl2ZWQgb2JzZXJ2ZXIgbm90aWZpY2F0aW9uIHF1aXQtYXBwbGljYXRpb24KMTczMzQwMTYwNjIzNwlNYXJpb25ldHRlCVRSQUNFCVJlY2VpdmVkIG9ic2VydmVyIG5vdGlmaWNhdGlvbiBxdWl0LWFwcGxpY2F0aW9uCjE3MzM0MDE2MDYyMzcJUmVtb3RlQWdlbnQJREVCVUcJUmVzZXR0aW5nIHJlY29tbWVuZGVkIHByZWYgYXB6LmNvbnRlbnRfcmVzcG9uc2VfdGltZW91dAoxNzMzNDAxNjA2MjM3CVJlbW90ZUFnZW50CURFQlVHCVJlc2V0dGluZyByZWNvbW1lbmRlZCBwcmVmIGJyb3dzZXIuY29udGVudGJsb2NraW5nLmludHJvQ291bnQKMTczMzQwMTYwNjIzOAlSZW1vdGVBZ2VudAlERUJVRwlSZXNldHRpbmcgcmVjb21tZW5kZWQgcHJlZiBicm93c2VyLmRvd25sb2FkLnBhbmVsLnNob3duCjE3MzM0MDE2MDYyMzgJUmVtb3RlQWdlbnQJREVCVUcJUmVzZXR0aW5nIHJlY29tbWVuZGVkIHByZWYgYnJvd3Nlci5uZXd0YWJwYWdlLmFjdGl2aXR5LXN0cmVhbS5kaXNjb3ZlcnlzdHJlYW0ucmVnaW9uLXdlYXRoZXItY29uZmlnCjE3MzM0MDE2MDYyMzgJUmVtb3RlQWdlbnQJREVCVUcJUmVzZXR0aW5nIHJlY29tbWVuZGVkIHByZWYgYnJvd3Nlci5uZXd0YWJwYWdlLmFjdGl2aXR5LXN0cmVhbS5uZXd0YWJXYWxscGFwZXJzLmVuYWJsZWQKMTczMzQwMTYwNjIzOAlSZW1vdGVBZ2VudAlERUJVRwlSZXNldHRpbmcgcmVjb21tZW5kZWQgcHJlZiBicm93c2VyLm5ld3RhYnBhZ2UuYWN0aXZpdHktc3RyZWFtLm5ld3RhYldhbGxwYXBlcnMudjIuZW5hYmxlZAoxNzMzNDAxNjA2MjM4CVJlbW90ZUFnZW50CURFQlVHCVJlc2V0dGluZyByZWNvbW1lbmRlZCBwcmVmIGJyb3dzZXIubmV3dGFicGFnZS5hY3Rpdml0eS1zdHJlYW0uc2hvd1Nwb25zb3JlZFRvcFNpdGVzCjE3MzM0MDE2MDYyMzgJUmVtb3RlQWdlbnQJREVCVUcJUmVzZXR0aW5nIHJlY29tbWVuZGVkIHByZWYgYnJvd3Nlci5uZXd0YWJwYWdlLmVuYWJsZWQKMTczMzQwMTYwNjI0MAlSZW1vdGVBZ2VudAlERUJVRwlSZXNldHRpbmcgcmVjb21tZW5kZWQgcHJlZiBicm93c2VyLnBhZ2V0aHVtYm5haWxzLmNhcHR1cmluZ19kaXNhYmxlZAoxNzMzNDAxNjA2MjQwCVJlbW90ZUFnZW50CURFQlVHCVJlc2V0dGluZyByZWNvbW1lbmRlZCBwcmVmIGJyb3dzZXIucmVnaW9uLm5ldHdvcmsudXJsCjE3MzM0MDE2MDYyNDAJUmVtb3RlQWdlbnQJREVCVUcJUmVzZXR0aW5nIHJlY29tbWVuZGVkIHByZWYgYnJvd3Nlci5zYWZlYnJvd3NpbmcuYmxvY2tlZFVSSXMuZW5hYmxlZAoxNzMzNDAxNjA2MjQyCVJlbW90ZUFnZW50CURFQlVHCVJlc2V0dGluZyByZWNvbW1lbmRlZCBwcmVmIGJyb3dzZXIuc2FmZWJyb3dzaW5nLmRvd25sb2Fkcy5lbmFibGVkCjE3MzM0MDE2MDYyNDUJUmVtb3RlQWdlbnQJREVCVUcJUmVzZXR0aW5nIHJlY29tbWVuZGVkIHByZWYgYnJvd3Nlci5zYWZlYnJvd3NpbmcubWFsd2FyZS5lbmFibGVkCjE3MzM0MDE2MDYyNDcJUmVtb3RlQWdlbnQJREVCVUcJUmVzZXR0aW5nIHJlY29tbWVuZGVkIHByZWYgYnJvd3Nlci5zYWZlYnJvd3NpbmcucGhpc2hpbmcuZW5hYmxlZAoxNzMzNDAxNjA2MjUwCVJlbW90ZUFnZW50CURFQlVHCVJlc2V0dGluZyByZWNvbW1lbmRlZCBwcmVmIGJyb3dzZXIuc2VhcmNoLnVwZGF0ZQoxNzMzNDAxNjA2MjUwCVJlbW90ZUFnZW50CURFQlVHCVJlc2V0dGluZyByZWNvbW1lbmRlZCBwcmVmIGJyb3dzZXIuc3RhcnR1cC5jb3VsZFJlc3RvcmVTZXNzaW9uLmNvdW50CjE3MzM0MDE2MDYyNTAJUmVtb3RlQWdlbnQJREVCVUcJUmVzZXR0aW5nIHJlY29tbWVuZGVkIHByZWYgYnJvd3Nlci50YWJzLnJlbW90ZS51bmxvYWREZWxheU1zCjE3MzM0MDE2MDYyNTAJUmVtb3RlQWdlbnQJREVCVUcJUmVzZXR0aW5nIHJlY29tbWVuZGVkIHByZWYgYnJvd3Nlci50YWJzLnVubG9hZE9uTG93TWVtb3J5CjE3MzM0MDE2MDYyNTAJUmVtb3RlQWdlbnQJREVCVUcJUmVzZXR0aW5nIHJlY29tbWVuZGVkIHByZWYgYnJvd3Nlci50YWJzLndhcm5PbkNsb3NlCjE3MzM0MDE2MDYyNTAJUmVtb3RlQWdlbnQJREVCVUcJUmVzZXR0aW5nIHJlY29tbWVuZGVkIHByZWYgYnJvd3Nlci50YWJzLndhcm5PbkNsb3NlT3RoZXJUYWJzCjE3MzM0MDE2MDYyNTAJUmVtb3RlQWdlbnQJREVCVUcJUmVzZXR0aW5nIHJlY29tbWVuZGVkIHByZWYgYnJvd3Nlci50YWJzLndhcm5Pbk9wZW4KMTczMzQwMTYwNjI1MAlSZW1vdGVBZ2VudAlERUJVRwlSZXNldHRpbmcgcmVjb21tZW5kZWQgcHJlZiBicm93c2VyLnRvb2xiYXJzLmJvb2ttYXJrcy52aXNpYmlsaXR5CjE3MzM0MDE2MDYyNTEJUmVtb3RlQWdlbnQJREVCVUcJUmVzZXR0aW5nIHJlY29tbWVuZGVkIHByZWYgYnJvd3Nlci50b3BzaXRlcy5jb250aWxlLmVuYWJsZWQKMTczMzQwMTYwNjI1MQlSZW1vdGVBZ2VudAlERUJVRwlSZXNldHRpbmcgcmVjb21tZW5kZWQgcHJlZiBicm93c2VyLnVzZWRPbldpbmRvd3MxMC5pbnRyb1VSTAoxNzMzNDAxNjA2MjUxCVJlbW90ZUFnZW50CURFQlVHCVJlc2V0dGluZyByZWNvbW1lbmRlZCBwcmVmIGJyb3dzZXIudXJsYmFyLm1lcmluby5lbmRwb2ludFVSTAoxNzMzNDAxNjA2MjUyCVJlbW90ZUFnZW50CURFQlVHCVJlc2V0dGluZyByZWNvbW1lbmRlZCBwcmVmIGJyb3dzZXIudXJsYmFyLnN1Z2dlc3Quc2VhcmNoZXMKMTczMzQwMTYwNjI1MwlSZW1vdGVBZ2VudAlERUJVRwlSZXNldHRpbmcgcmVjb21tZW5kZWQgcHJlZiBkYXRhcmVwb3J0aW5nLnBvbGljeS5kYXRhU3VibWlzc2lvblBvbGljeUFjY2VwdGVkCjE3MzM0MDE2MDYyNTMJUmVtb3RlQWdlbnQJREVCVUcJUmVzZXR0aW5nIHJlY29tbWVuZGVkIHByZWYgZG9tLmRpc2FibGVfb3Blbl9kdXJpbmdfbG9hZAoxNzMzNDAxNjA2MjUzCVJlbW90ZUFnZW50CURFQlVHCVJlc2V0dGluZyByZWNvbW1lbmRlZCBwcmVmIGRvbS5maWxlLmNyZWF0ZUluQ2hpbGQKMTczMzQwMTYwNjI1MwlSZW1vdGVBZ2VudAlERUJVRwlSZXNldHRpbmcgcmVjb21tZW5kZWQgcHJlZiBkb20uaW5wdXRfZXZlbnRzLnNlY3VyaXR5Lm1pbk51bVRpY2tzCjE3MzM0MDE2MDYyNTMJUmVtb3RlQWdlbnQJREVCVUcJUmVzZXR0aW5nIHJlY29tbWVuZGVkIHByZWYgZG9tLmlucHV0X2V2ZW50cy5zZWN1cml0eS5taW5UaW1lRWxhcHNlZEluTVMKMTczMzQwMTYwNjI1MwlSZW1vdGVBZ2VudAlERUJVRwlSZXNldHRpbmcgcmVjb21tZW5kZWQgcHJlZiBkb20ubWF4X2Nocm9tZV9zY3JpcHRfcnVuX3RpbWUKMTczMzQwMTYwNjI1MwlSZW1vdGVBZ2VudAlERUJVRwlSZXNldHRpbmcgcmVjb21tZW5kZWQgcHJlZiBkb20ubWF4X3NjcmlwdF9ydW5fdGltZQoxNzMzNDAxNjA2MjUzCVJlbW90ZUFnZW50CURFQlVHCVJlc2V0dGluZyByZWNvbW1lbmRlZCBwcmVmIGRvbS5uYXZpZ2F0aW9uLm5hdmlnYXRpb25SYXRlTGltaXQuY291bnQKMTczMzQwMTYwNjI1MwlSZW1vdGVBZ2VudAlERUJVRwlSZXNldHRpbmcgcmVjb21tZW5kZWQgcHJlZiBkb20ucHVzaC5jb25uZWN0aW9uLmVuYWJsZWQKMTczMzQwMTYwNjI1MwlSZW1vdGVBZ2VudAlERUJVRwlSZXNldHRpbmcgcmVjb21tZW5kZWQgcHJlZiBkb20uc2NyZWVub3JpZW50YXRpb24uYWxsb3ctbG9jawoxNzMzNDAxNjA2MjUzCVJlbW90ZUFnZW50CURFQlVHCVJlc2V0dGluZyByZWNvbW1lbmRlZCBwcmVmIGRvbS5zdWNjZXNzaXZlX2RpYWxvZ190aW1lX2xpbWl0CjE3MzM0MDE2MDYyNTQJUmVtb3RlQWdlbnQJREVCVUcJUmVzZXR0aW5nIHJlY29tbWVuZGVkIHByZWYgZXh0ZW5zaW9ucy5nZXRBZGRvbnMuY2FjaGUuZW5hYmxlZAoxNzMzNDAxNjA2MjU0CVJlbW90ZUFnZW50CURFQlVHCVJlc2V0dGluZyByZWNvbW1lbmRlZCBwcmVmIGV4dGVuc2lvbnMuYmxvY2tsaXN0LmRldGFpbHNVUkwKMTczMzQwMTYwNjI1NAlSZW1vdGVBZ2VudAlERUJVRwlSZXNldHRpbmcgcmVjb21tZW5kZWQgcHJlZiBleHRlbnNpb25zLmJsb2NrbGlzdC5pdGVtVVJMCjE3MzM0MDE2MDYyNTQJUmVtb3RlQWdlbnQJREVCVUcJUmVzZXR0aW5nIHJlY29tbWVuZGVkIHByZWYgZXh0ZW5zaW9ucy5ob3RmaXgudXJsCjE3MzM0MDE2MDYyNTQJUmVtb3RlQWdlbnQJREVCVUcJUmVzZXR0aW5nIHJlY29tbWVuZGVkIHByZWYgZXh0ZW5zaW9ucy5zeXN0ZW1BZGRvbi51cGRhdGUuZW5hYmxlZAoxNzMzNDAxNjA2MjU0CVJlbW90ZUFnZW50CURFQlVHCVJlc2V0dGluZyByZWNvbW1lbmRlZCBwcmVmIGV4dGVuc2lvbnMudXBkYXRlLmJhY2tncm91bmQudXJsCjE3MzM0MDE2MDYyNTQJUmVtb3RlQWdlbnQJREVCVUcJUmVzZXR0aW5nIHJlY29tbWVuZGVkIHByZWYgZXh0ZW5zaW9ucy5nZXRBZGRvbnMuc2VhcmNoLmJyb3dzZVVSTAoxNzMzNDAxNjA2MjU0CVJlbW90ZUFnZW50CURFQlVHCVJlc2V0dGluZyByZWNvbW1lbmRlZCBwcmVmIGdlby5wcm92aWRlci5uZXR3b3JrLnVybAoxNzMzNDAxNjA2MjU0CVJlbW90ZUFnZW50CURFQlVHCVJlc2V0dGluZyByZWNvbW1lbmRlZCBwcmVmIGlkZW50aXR5LmZ4YWNjb3VudHMuYXV0aC51cmkKMTczMzQwMTYwNjI1NAlSZW1vdGVBZ2VudAlERUJVRwlSZXNldHRpbmcgcmVjb21tZW5kZWQgcHJlZiBuZXR3b3JrLmNvbm5lY3Rpdml0eS1zZXJ2aWNlLmVuYWJsZWQKMTczMzQwMTYwNjI1NAlSZW1vdGVBZ2VudAlERUJVRwlSZXNldHRpbmcgcmVjb21tZW5kZWQgcHJlZiBuZXR3b3JrLmh0dHAucGhpc2h5LXVzZXJwYXNzLWxlbmd0aAoxNzMzNDAxNjA2MjU0CVJlbW90ZUFnZW50CURFQlVHCVJlc2V0dGluZyByZWNvbW1lbmRlZCBwcmVmIG5ldHdvcmsuaHR0cC5wcm9tcHQtdGVtcC1yZWRpcmVjdAoxNzMzNDAxNjA2MjU0CVJlbW90ZUFnZW50CURFQlVHCVJlc2V0dGluZyByZWNvbW1lbmRlZCBwcmVmIHByaXZhY3kudHJhY2tpbmdwcm90ZWN0aW9uLmVuYWJsZWQKMTczMzQwMTYwNjI1NAlSZW1vdGVBZ2VudAlERUJVRwlSZXNldHRpbmcgcmVjb21tZW5kZWQgcHJlZiByZW1vdGUucHJlZnMucmVjb21tZW5kZWQuYXBwbGllZAoxNzMzNDAxNjA2MjU0CVJlbW90ZUFnZW50CURFQlVHCVJlc2V0dGluZyByZWNvbW1lbmRlZCBwcmVmIHNlY3VyaXR5LmZpbGV1cmkuc3RyaWN0X29yaWdpbl9wb2xpY3kKMTczMzQwMTYwNjI1NAlSZW1vdGVBZ2VudAlERUJVRwlSZXNldHRpbmcgcmVjb21tZW5kZWQgcHJlZiBzZWN1cml0eS5ub3RpZmljYXRpb25fZW5hYmxlX2RlbGF5CjE3MzM0MDE2MDYyNTUJUmVtb3RlQWdlbnQJREVCVUcJUmVzZXR0aW5nIHJlY29tbWVuZGVkIHByZWYgc2VjdXJpdHkucmVtb3RlX3NldHRpbmdzLmludGVybWVkaWF0ZXMuZW5hYmxlZAoxNzMzNDAxNjA2MjU1CVJlbW90ZUFnZW50CURFQlVHCVJlc2V0dGluZyByZWNvbW1lbmRlZCBwcmVmIHNpZ25vbi5hdXRvZmlsbEZvcm1zCjE3MzM0MDE2MDYyNTUJUmVtb3RlQWdlbnQJREVCVUcJUmVzZXR0aW5nIHJlY29tbWVuZGVkIHByZWYgc2lnbm9uLnJlbWVtYmVyU2lnbm9ucwoxNzMzNDAxNjA2MjU1CVJlbW90ZUFnZW50CURFQlVHCVJlc2V0dGluZyByZWNvbW1lbmRlZCBwcmVmIHRvb2xraXQudGVsZW1ldHJ5LnNlcnZlcgoxNzMzNDAxNjA2MjU2CVJlbW90ZUFnZW50CURFQlVHCVJlc2V0dGluZyByZWNvbW1lbmRlZCBwcmVmIHdpZGdldC53aW5kb3dzLndpbmRvd19vY2NsdXNpb25fdHJhY2tpbmcuZW5hYmxlZAoxNzMzNDAxNjA2MjU2CVJlbW90ZUFnZW50CURFQlVHCVJlc2V0dGluZyByZWNvbW1lbmRlZCBwcmVmIHBlcm1pc3Npb25zLmlzb2xhdGVCeS51c2VyQ29udGV4dAoxNzMzNDAxNjA2MjU2CVJlbW90ZUFnZW50CVRSQUNFCVJlY2VpdmVkIG9ic2VydmVyIG5vdGlmaWNhdGlvbiBxdWl0LWFwcGxpY2F0aW9uCjE3MzM0MDE2MDYyNTcJTWFyaW9uZXR0ZQlERUJVRwlNYXJpb25ldHRlIHN0b3BwZWQgbGlzdGVuaW5nCjE3MzM0MDE2MDYyNTcJTWFyaW9uZXR0ZQlERUJVRwkwIDwtIFsxLDUsbnVsbCx7ImNhdXNlIjoic2h1dGRvd24iLCJmb3JjZWQiOmZhbHNlLCJpbl9hcHAiOnRydWV9XQpjb25zb2xlLmluZm86ICIlcyAlczogJW8iICJbR0E6IE9OXSIgInNlbmRXZWJWaXRhbFN0YXRzIiAoe2RlbHRhOjcyOCwgaWQ6InYzLTE3MzM0MDE2MDQ1OTUtMTgzMTEwNTk1OTA2OCIsIG5hbWU6IkxDUCIsIHZhbHVlOjcyOH0pCjE3MzM0MDE2MDYyNjkJd2ViZHJpdmVyOjpzZXJ2ZXIJREVCVUcJVGVhcmRvd24gc2Vzc2lvbgoxNzMzNDAxNjA2Mjc1CU1hcmlvbmV0dGUJREVCVUcJQ2xvc2VkIGNvbm5lY3Rpb24gMAoxNzMzNDAxNjA2NDg5CWdlY2tvZHJpdmVyOjpicm93c2VyCURFQlVHCUJyb3dzZXIgcHJvY2VzcyBzdG9wcGVkOiBleGl0IHN0YXR1czogMAoxNzMzNDAxNjA2NTY1CXdlYmRyaXZlcjo6c2VydmVyCURFQlVHCTwtIDIwMCBPSyB7InZhbHVlIjpudWxsfQo=" target="_blank">Driver Log</a> </td></tr>
<tr>
<td class="extra" colspan="4">
<div class="log">base_url = 'https://addons.allizom.org', session_auth = 'xgjzprewxs7i8se3nvk9hwtr91zs9uj8'<br/><br/> @pytest.mark.serial<br/> @pytest.mark.create_session("api_user")<br/> def test_edit_version_change_sources(base_url, session_auth):<br/> """Upload different source file for an existing version and make sure that changes were applied"""<br/> addon = payloads.edit_addon_details["slug"]<br/> request = requests.get(<br/> url=f"{base_url}{_addon_create}{addon}",<br/> headers={"Authorization": f"Session {session_auth}"},<br/> )<br/> print("Request addon create: " + f"{request.json()}")<br/> # get the version id of the version we want to edit<br/> version = request.json()["current_version"]["id"]<br/> get_old_source = requests.get(<br/> url=f"{base_url}{_addon_create}{addon}/versions/{version}/",<br/> headers={"Authorization": f"Session {session_auth}"},<br/> )<br/> print("get old source request: " + f"{get_old_source.json()}")<br/> # download the previous source code attached to the version<br/>> previous_source = requests.get(<br/> get_old_source.json()["source"], cookies={"sessionid": session_auth}, timeout=10<br/> )<br/><br/>tests/api/test_api_versions_edit.py:368: <br/>_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ <br/>venv/lib/python3.11/site-packages/requests/api.py:73: in get<br/> return request("get", url, params=params, **kwargs)<br/>venv/lib/python3.11/site-packages/requests/api.py:59: in request<br/> return session.request(method=method, url=url, **kwargs)<br/>venv/lib/python3.11/site-packages/requests/sessions.py:575: in request<br/> prep = self.prepare_request(req)<br/>venv/lib/python3.11/site-packages/requests/sessions.py:484: in prepare_request<br/> p.prepare(<br/>venv/lib/python3.11/site-packages/requests/models.py:367: in prepare<br/> self.prepare_url(url, params)<br/>_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ <br/><br/>self = <PreparedRequest [GET]>, url = 'None', params = OrderedDict()<br/><br/> def prepare_url(self, url, params):<br/> """Prepares the given HTTP URL."""<br/> #: Accept objects that have string representations.<br/> #: We're unable to blindly call unicode/str functions<br/> #: as this will include the bytestring indicator (b'')<br/> #: on python 3.x.<br/> #: https://github.com/psf/requests/pull/2238<br/> if isinstance(url, bytes):<br/> url = url.decode("utf8")<br/> else:<br/> url = str(url)<br/> <br/> # Remove leading whitespaces from url<br/> url = url.lstrip()<br/> <br/> # Don't do any URL preparation for non-HTTP schemes like `mailto`,<br/> # `data` etc to work around exceptions from `url_parse`, which<br/> # handles RFC 3986 only.<br/> if ":" in url and not url.lower().startswith("http"):<br/> self.url = url<br/> return<br/> <br/> # Support for unicode domain names and paths.<br/> try:<br/> scheme, auth, host, port, path, query, fragment = parse_url(url)<br/> except LocationParseError as e:<br/> raise InvalidURL(*e.args)<br/> <br/> if not scheme:<br/>> raise MissingSchema(<br/> f"Invalid URL {url!r}: No scheme supplied. "<br/> f"Perhaps you meant https://{url}?"<br/> )<br/><span class="error">E requests.exceptions.MissingSchema: Invalid URL 'None': No scheme supplied. Perhaps you meant https://None?</span><br/><br/>venv/lib/python3.11/site-packages/requests/models.py:438: MissingSchema<br/> ------------------------------Captured stdout call------------------------------ <br/>Request addon create: {'id': 2243870, 'authors': [{'id': 11688807, 'name': 'api_user', 'url': 'https://addons.allizom.org/en-US/firefox/user/11688807/', 'username': 'anonymous-c2f376812af322105f986b81fcbb5113', 'picture_url': None}], 'average_daily_users': 0, 'categories': ['download-management', 'appearance'], 'contributions_url': {'url': 'https://donate.mozilla.org?utm_content=product-page-contribute&utm_medium=referral&utm_source=addons.mozilla.org', 'outgoing': 'https://stage.outgoing.nonprod.webservices.mozgcp.net/v1/f1cf6c0546d990c493dfe88300ecb90786140a987ab52a05b54b3f45d174fb6f/https%3A//donate.mozilla.org%3Futm_content=product-page-contribute&utm_medium=referral&utm_source=addons.mozilla.org'}, 'created': '2024-12-05T12:23:03Z', 'current_version': {'id': 3728473, 'approval_notes': '', 'compatibility': {'firefox': {'min': '89.0', 'max': '100.*'}, 'android': {'min': '121.0a1', 'max': '*'}}, 'edit_url': 'https://addons.allizom.org/en-US/developers/addon/new_sluggish_slug/versions/3728473', 'file': {'id': 2346841, 'created': '2024-12-05T12:23:04Z', 'hash': 'sha256:ccb6eefd65eb49faf0e8baa2478f904bf83c8ed046212a8d3528ff2457f890d1', 'is_mozilla_signed_extension': False, 'size': 7539, 'status': 'public', 'url': 'https://addons.allizom.org/firefox/downloads/file/2346841/new_sluggish_slug-1.0.xpi', 'permissions': [], 'optional_permissions': [], 'host_permissions': []}, 'is_disabled': False, 'is_strict_compatibility_enabled': False, 'license': {'id': 6335, 'is_custom': True, 'name': {'de': 'DE Custom License Name', 'en-US': 'EN Custom License Name', 'fr': 'FR Custom License Name'}, 'slug': None, 'url': 'https://addons.allizom.org/en-US/firefox/addon/new_sluggish_slug/license/'}, 'release_notes': {'de': 'Edited DE Version notes added in API at addon creation time', 'en-US': 'Edited EN-US Version notes added in API at addon creation time', 'fr': 'Edited FR Version notes added in API at addon creation time', 'ro': 'Edited FR Version notes added in API at addon creation time'}, 'reviewed': '2024-12-05T12:25:34Z', 'version': '1.0', 'source': None}, 'default_locale': 'ro', 'description': {'de': 'Description in german edited', 'en-US': 'Description in en-US edited', 'fr': 'Description in french edited', 'ro': 'Description in romanian edited'}, 'developer_comments': {'de': 'Dev comments in german edited', 'en-US': 'Dev comments in en-US edited', 'fr': 'Dev comments in french edited', 'ro': 'Dev comments in romanian edited'}, 'edit_url': 'https://addons.allizom.org/en-US/developers/addon/new_sluggish_slug/edit', 'guid': '{f53104b3-bb38-4271-95c4-8226defc638e}', 'has_eula': False, 'has_privacy_policy': False, 'homepage': {'url': {'de': 'https://addons.edited-allizom.de', 'en-US': 'https://addons.edited-allizom.org', 'fr': 'https://addons.not-allizom.fr', 'ro': 'https://addons.not-allizom.ro'}, 'outgoing': {'de': 'https://stage.outgoing.nonprod.webservices.mozgcp.net/v1/53aaafb0f8b1a0b52d0b424f37ce29e5553e716997db97e34bc63e3a0b4640f7/https%3A//addons.edited-allizom.de', 'en-US': 'https://stage.outgoing.nonprod.webservices.mozgcp.net/v1/213920859936c3d0a6429814f05c08cf6290dbdd3b68298e5487de0b36c318ec/https%3A//addons.edited-allizom.org', 'fr': 'https://stage.outgoing.nonprod.webservices.mozgcp.net/v1/324619d551662c5e7ef32ae10be62dc5b34eeffcbc7370e7bd22558c765052d9/https%3A//addons.not-allizom.fr', 'ro': 'https://stage.outgoing.nonprod.webservices.mozgcp.net/v1/433e43eeaefacb74a396c8b12f9f0a347d4e0ae1a399b2375ae98fdbcc2712d4/https%3A//addons.not-allizom.ro'}}, 'icon_url': 'https://addons.allizom.org/user-media/addon_icons/2243/2243870-64.png?modified=588ce85c', 'icons': {'32': 'https://addons.allizom.org/user-media/addon_icons/2243/2243870-32.png?modified=588ce85c', '64': 'https://addons.allizom.org/user-media/addon_icons/2243/2243870-64.png?modified=588ce85c', '128': 'https://addons.allizom.org/user-media/addon_icons/2243/2243870-128.png?modified=588ce85c'}, 'is_disabled': False, 'is_experimental': False, 'last_updated': None, 'name': {'de': 'DE Name edited', 'en-US': 'EN-US Name edited', 'fr': 'FR Name edited', 'ro': 'RO Name edited'}, 'previews': [], 'promoted': None, 'ratings': {'average': 0.0, 'bayesian_average': 0.0, 'count': 0, 'text_count': 0}, 'ratings_url': 'https://addons.allizom.org/en-US/firefox/addon/new_sluggish_slug/reviews/', 'requires_payment': False, 'review_url': 'https://addons.allizom.org/en-US/reviewers/review/2243870', 'slug': 'new_sluggish_slug', 'status': 'public', 'summary': {'de': 'Summary, in german edited', 'en-US': 'Summary, in en-US edited', 'fr': 'Summary, in french edited', 'ro': 'Summary in romanian edited'}, 'support_email': {'de': '[email protected]', 'en-US': '[email protected]', 'fr': '[email protected]', 'ro': '[email protected]'}, 'support_url': {'url': {'de': 'https://donate.mozilla.org', 'en-US': 'https://donate.mozilla.org', 'fr': 'https://donate.mozilla.org', 'ro': 'https://donate.mozilla.org'}, 'outgoing': {'de': 'https://stage.outgoing.nonprod.webservices.mozgcp.net/v1/976346ccfb6e880f1539b54ccc43a9fea2cdd2bcf54790dfcd9a9dacd24b551a/https%3A//donate.mozilla.org', 'en-US': 'https://stage.outgoing.nonprod.webservices.mozgcp.net/v1/976346ccfb6e880f1539b54ccc43a9fea2cdd2bcf54790dfcd9a9dacd24b551a/https%3A//donate.mozilla.org', 'fr': 'https://stage.outgoing.nonprod.webservices.mozgcp.net/v1/976346ccfb6e880f1539b54ccc43a9fea2cdd2bcf54790dfcd9a9dacd24b551a/https%3A//donate.mozilla.org', 'ro': 'https://stage.outgoing.nonprod.webservices.mozgcp.net/v1/976346ccfb6e880f1539b54ccc43a9fea2cdd2bcf54790dfcd9a9dacd24b551a/https%3A//donate.mozilla.org'}}, 'tags': ['dndbeyond', 'download', 'duckduckgo', 'facebook', 'google', 'mp3', 'music', 'password manager', 'pinterest'], 'type': 'extension', 'url': 'https://addons.allizom.org/en-US/firefox/addon/new_sluggish_slug/', 'versions_url': 'https://addons.allizom.org/en-US/firefox/addon/new_sluggish_slug/versions/', 'weekly_downloads': 0, 'latest_unlisted_version': {'id': 3728475, 'approval_notes': '', 'compatibility': {'firefox': {'min': '58.0', 'max': '*'}}, 'edit_url': 'https://addons.allizom.org/en-US/developers/addon/new_sluggish_slug/versions/3728475', 'file': {'id': 2346843, 'created': '2024-12-05T12:27:15Z', 'hash': 'sha256:5f980206e19e2525dd2985612d128c263331a2c501a3700e37c66761eda1efda', 'is_mozilla_signed_extension': False, 'size': 229, 'status': 'unreviewed', 'url': 'https://addons.allizom.org/firefox/downloads/file/2346843/new_sluggish_slug-1.2.zip', 'permissions': [], 'optional_permissions': [], 'host_permissions': []}, 'is_disabled': False, 'is_strict_compatibility_enabled': False, 'license': None, 'release_notes': None, 'reviewed': None, 'version': '1.2', 'source': None}}
get old source request: {'id': 3728473, 'approval_notes': '', 'channel': 'listed', 'compatibility': {'firefox': {'min': '89.0', 'max': '100.*'}, 'android': {'min': '121.0a1', 'max': '*'}}, 'edit_url': 'https://addons.allizom.org/en-US/developers/addon/new_sluggish_slug/versions/3728473', 'file': {'id': 2346841, 'created': '2024-12-05T12:23:04Z', 'hash': 'sha256:ccb6eefd65eb49faf0e8baa2478f904bf83c8ed046212a8d3528ff2457f890d1', 'is_mozilla_signed_extension': False, 'size': 7539, 'status': 'public', 'url': 'https://addons.allizom.org/firefox/downloads/file/2346841/new_sluggish_slug-1.0.xpi', 'permissions': [], 'optional_permissions': [], 'host_permissions': []}, 'is_disabled': False, 'is_strict_compatibility_enabled': False, 'license': {'id': 6335, 'is_custom': True, 'name': {'de': 'DE Custom License Name', 'en-US': 'EN Custom License Name', 'fr': 'FR Custom License Name'}, 'slug': None, 'text': {'de': 'DE Custom License Text', 'en-US': 'EN Custom License Text', 'fr': 'FR Custom License Text'}, 'url': 'https://addons.allizom.org/en-US/firefox/addon/new_sluggish_slug/license/'}, 'release_notes': {'de': 'Edited DE Version notes added in API at addon creation time', 'en-US': 'Edited EN-US Version notes added in API at addon creation time', 'fr': 'Edited FR Version notes added in API at addon creation time', 'ro': 'Edited FR Version notes added in API at addon creation time'}, 'reviewed': '2024-12-05T12:25:34Z', 'source': None, 'version': '1.0'}
<br/></div></td></tr></tbody>
<tbody class="skipped results-table-row">
<tr>
<td class="col-result">Skipped</td>
<td class="col-name">tests/api/test_addon_abuse_report.py::test_abuse_report_unauthenticated_post[Desktop]</td>
<td class="col-duration">0.00</td>
<td class="col-links"></td></tr>
<tr>
<td class="extra" colspan="4">
<div class="log">('/Users/alexandru.schek/addons-release-tests/tests/api/test_addon_abuse_report.py', 12, 'Skipped: Skipped for the moment due to throttle in place, to be removed with next pr')<br/></div></td></tr></tbody>
<tbody class="skipped results-table-row">
<tr>
<td class="col-result">Skipped</td>
<td class="col-name">tests/api/test_addon_uploads.py::test_upload_addon_restricted_user[Desktop]</td>
<td class="col-duration">0.00</td>
<td class="col-links"></td></tr>
<tr>
<td class="extra" colspan="4">
<div class="log">('/Users/alexandru.schek/addons-release-tests/tests/api/test_addon_uploads.py', 1341, 'Skipped: skip, need to update the user')<br/></div></td></tr></tbody>
<tbody class="passed results-table-row">
<tr>
<td class="col-result">Passed</td>
<td class="col-name">tests/api/test_addon_abuse_report.py::test_abuse_report_authenticated[Desktop]</td>
<td class="col-duration">50.72</td>
<td class="col-links"></td></tr>
<tr>
<td class="extra" colspan="4">
<div class="log"> -----------------------------Captured stdout setup------------------------------ <br/>The "click continue button" event occurred.
<br/></div></td></tr></tbody>
<tbody class="passed results-table-row">
<tr>
<td class="col-result">Passed</td>
<td class="col-name">tests/api/test_addon_abuse_report.py::test_abuse_report_minimal_details[Desktop]</td>
<td class="col-duration">5.32</td>
<td class="col-links"></td></tr>
<tr>
<td class="extra" colspan="4">
<div class="empty log">No log output captured.</div></td></tr></tbody>
<tbody class="passed results-table-row">
<tr>
<td class="col-result">Passed</td>
<td class="col-name">tests/api/test_addon_abuse_report.py::test_addon_install_method_parameter[Desktop-Accepted value: link]</td>
<td class="col-duration">5.26</td>
<td class="col-links"></td></tr>
<tr>
<td class="extra" colspan="4">
<div class="empty log">No log output captured.</div></td></tr></tbody>
<tbody class="passed results-table-row">
<tr>
<td class="col-result">Passed</td>
<td class="col-name">tests/api/test_addon_abuse_report.py::test_addon_install_method_parameter[Desktop-Unsupported value: random_text]</td>
<td class="col-duration">5.19</td>
<td class="col-links"></td></tr>
<tr>
<td class="extra" colspan="4">
<div class="empty log">No log output captured.</div></td></tr></tbody>
<tbody class="passed results-table-row">
<tr>
<td class="col-result">Passed</td>
<td class="col-name">tests/api/test_addon_abuse_report.py::test_addon_install_source_parameter[Desktop-Accepted value: amo]</td>
<td class="col-duration">4.95</td>
<td class="col-links"></td></tr>
<tr>
<td class="extra" colspan="4">
<div class="empty log">No log output captured.</div></td></tr></tbody>
<tbody class="passed results-table-row">
<tr>
<td class="col-result">Passed</td>
<td class="col-name">tests/api/test_addon_abuse_report.py::test_addon_install_source_parameter[Desktop-Unsupported value: random_text]</td>
<td class="col-duration">5.10</td>
<td class="col-links"></td></tr>
<tr>
<td class="extra" colspan="4">
<div class="empty log">No log output captured.</div></td></tr></tbody>
<tbody class="passed results-table-row">
<tr>
<td class="col-result">Passed</td>
<td class="col-name">tests/api/test_addon_abuse_report.py::test_reason_parameter[Desktop-Accepted value: damage]</td>
<td class="col-duration">5.39</td>
<td class="col-links"></td></tr>
<tr>
<td class="extra" colspan="4">
<div class="empty log">No log output captured.</div></td></tr></tbody>
<tbody class="passed results-table-row">
<tr>
<td class="col-result">Passed</td>
<td class="col-name">tests/api/test_addon_abuse_report.py::test_reason_parameter[Desktop-Unsupported value: random_text]</td>
<td class="col-duration">5.55</td>
<td class="col-links"></td></tr>
<tr>
<td class="extra" colspan="4">
<div class="empty log">No log output captured.</div></td></tr></tbody>
<tbody class="passed results-table-row">
<tr>
<td class="col-result">Passed</td>
<td class="col-name">tests/api/test_addon_abuse_report.py::test_addon_signature_parameter[Desktop-Accepted value: curated_and_partner]</td>
<td class="col-duration">5.31</td>
<td class="col-links"></td></tr>
<tr>
<td class="extra" colspan="4">
<div class="empty log">No log output captured.</div></td></tr></tbody>
<tbody class="passed results-table-row">
<tr>
<td class="col-result">Passed</td>
<td class="col-name">tests/api/test_addon_abuse_report.py::test_addon_signature_parameter[Desktop-Unsupported value: random_text]</td>
<td class="col-duration">5.41</td>
<td class="col-links"></td></tr>
<tr>
<td class="extra" colspan="4">
<div class="empty log">No log output captured.</div></td></tr></tbody>
<tbody class="passed results-table-row">
<tr>
<td class="col-result">Passed</td>
<td class="col-name">tests/api/test_addon_abuse_report.py::test_report_entry_point_parameter[Desktop-Accepted value: unified_context_menu]</td>
<td class="col-duration">5.31</td>
<td class="col-links"></td></tr>
<tr>
<td class="extra" colspan="4">
<div class="empty log">No log output captured.</div></td></tr></tbody>
<tbody class="passed results-table-row">
<tr>
<td class="col-result">Passed</td>
<td class="col-name">tests/api/test_addon_abuse_report.py::test_report_entry_point_parameter[Desktop-Unsupported value: random_text]</td>
<td class="col-duration">5.19</td>
<td class="col-links"></td></tr>
<tr>
<td class="extra" colspan="4">
<div class="empty log">No log output captured.</div></td></tr></tbody>
<tbody class="passed results-table-row">
<tr>
<td class="col-result">Passed</td>
<td class="col-name">tests/api/test_addon_abuse_report.py::test_location_parameter[Desktop-Accepted value: both]</td>
<td class="col-duration">5.19</td>
<td class="col-links"></td></tr>
<tr>
<td class="extra" colspan="4">
<div class="empty log">No log output captured.</div></td></tr></tbody>
<tbody class="passed results-table-row">
<tr>
<td class="col-result">Passed</td>
<td class="col-name">tests/api/test_addon_abuse_report.py::test_location_parameter[Desktop-Unsupported value: random_text]</td>
<td class="col-duration">5.31</td>
<td class="col-links"></td></tr>
<tr>
<td class="extra" colspan="4">
<div class="empty log">No log output captured.</div></td></tr></tbody>
<tbody class="passed results-table-row">
<tr>
<td class="col-result">Passed</td>
<td class="col-name">tests/api/test_addon_uploads.py::test_unauthenticated_addon_upload</td>
<td class="col-duration">0.31</td>
<td class="col-links"></td></tr>
<tr>
<td class="extra" colspan="4">
<div class="empty log">No log output captured.</div></td></tr></tbody>
<tbody class="passed results-table-row">
<tr>
<td class="col-result">Passed</td>
<td class="col-name">tests/api/test_addon_uploads.py::test_upload_addon_without_dev_agreement[Desktop]</td>
<td class="col-duration">13.71</td>
<td class="col-links"></td></tr>
<tr>
<td class="extra" colspan="4">
<div class="log"> ------------------------------Captured stdout call------------------------------ <br/>The "click continue button" event occurred.
<br/></div></td></tr></tbody>
<tbody class="passed results-table-row">
<tr>
<td class="col-result">Passed</td>
<td class="col-name">tests/api/test_addon_uploads.py::test_bad_authentication_addon_upload[Desktop]</td>
<td class="col-duration">46.14</td>
<td class="col-links"></td></tr>
<tr>
<td class="extra" colspan="4">
<div class="log"> -----------------------------Captured stdout setup------------------------------ <br/>The "click continue button" event occurred.
<br/></div></td></tr></tbody>
<tbody class="passed results-table-row">
<tr>
<td class="col-result">Passed</td>
<td class="col-name">tests/api/test_addon_uploads.py::test_upload_addon_unsupported_file_types[Archive in "7z" format]</td>
<td class="col-duration">8.59</td>
<td class="col-links"></td></tr>
<tr>
<td class="extra" colspan="4">
<div class="empty log">No log output captured.</div></td></tr></tbody>
<tbody class="passed results-table-row">
<tr>
<td class="col-result">Passed</td>
<td class="col-name">tests/api/test_addon_uploads.py::test_upload_addon_unsupported_file_types[Archive in "tgz" format]</td>
<td class="col-duration">8.54</td>
<td class="col-links"></td></tr>
<tr>
<td class="extra" colspan="4">
<div class="empty log">No log output captured.</div></td></tr></tbody>
<tbody class="passed results-table-row">
<tr>
<td class="col-result">Passed</td>
<td class="col-name">tests/api/test_addon_uploads.py::test_upload_addon_unsupported_file_types[Archive in "tar.gz" format]</td>
<td class="col-duration">8.54</td>
<td class="col-links"></td></tr>
<tr>
<td class="extra" colspan="4">
<div class="empty log">No log output captured.</div></td></tr></tbody>
<tbody class="passed results-table-row">
<tr>
<td class="col-result">Passed</td>
<td class="col-name">tests/api/test_addon_uploads.py::test_upload_addon_unsupported_file_types[Non archive - JSON file]</td>
<td class="col-duration">8.62</td>
<td class="col-links"></td></tr>
<tr>
<td class="extra" colspan="4">
<div class="empty log">No log output captured.</div></td></tr></tbody>
<tbody class="passed results-table-row">
<tr>
<td class="col-result">Passed</td>
<td class="col-name">tests/api/test_addon_uploads.py::test_upload_addon_with_broken_archives[A "tar" compression renamed as "zip"]</td>
<td class="col-duration">8.79</td>
<td class="col-links"></td></tr>
<tr>
<td class="extra" colspan="4">
<div class="empty log">No log output captured.</div></td></tr></tbody>
<tbody class="passed results-table-row">
<tr>
<td class="col-result">Passed</td>
<td class="col-name">tests/api/test_addon_uploads.py::test_upload_addon_with_broken_archives[Corrupt archive]</td>
<td class="col-duration">8.59</td>
<td class="col-links"></td></tr>
<tr>
<td class="extra" colspan="4">
<div class="empty log">No log output captured.</div></td></tr></tbody>
<tbody class="passed results-table-row">
<tr>
<td class="col-result">Passed</td>
<td class="col-name">tests/api/test_addon_uploads.py::test_upload_unlisted_extension</td>
<td class="col-duration">8.29</td>
<td class="col-links"></td></tr>
<tr>
<td class="extra" colspan="4">
<div class="log"> ------------------------------Captured stdout call------------------------------ <br/>{
"uuid": "86ba76ab4f0c46d7b15d8e83ed3f4128",
"channel": "unlisted",
"processed": false,
"submitted": false,
"url": "https://addons.allizom.org/api/v5/addons/upload/86ba76ab4f0c46d7b15d8e83ed3f4128/",
"valid": false,
"validation": null,
"version": "1.0"
}
{
"id": 2243860,
"authors": [
{
"id": 11688807,
"name": "api_user",
"url": "https://addons.allizom.org/en-US/firefox/user/11688807/",
"username": "anonymous-c2f376812af322105f986b81fcbb5113",
"picture_url": null
}
],
"average_daily_users": 0,
"categories": [],
"contributions_url": "",
"created": "2024-12-05T12:16:42Z",
"current_version": null,
"default_locale": "en-US",
"description": null,
"developer_comments": null,
"edit_url": "https://addons.allizom.org/en-US/developers/addon/e12002f6d5b94d3e9dd8/edit",
"guid": "{1b0a6027-7e76-44b7-90db-0d4c3b1b94bd}",
"has_eula": false,
"has_privacy_policy": false,
"homepage": null,
"icon_url": "https://addons.allizom.org/static-server/img/addon-icons/default-64.d144b50f2bb8.png",
"icons": {
"32": "https://addons.allizom.org/static-server/img/addon-icons/default-32.2b26add4b394.png",
"64": "https://addons.allizom.org/static-server/img/addon-icons/default-64.d144b50f2bb8.png",
"128": "https://addons.allizom.org/static-server/img/addon-icons/default-128.452018499894.png"
},
"is_disabled": false,
"is_experimental": false,
"last_updated": null,
"name": {
"en-US": "Unlisted-addon-auto"
},
"previews": [],
"promoted": null,
"ratings": {
"average": 0.0,
"bayesian_average": 0.0,
"count": 0,
"text_count": 0
},
"ratings_url": "https://addons.allizom.org/en-US/firefox/addon/e12002f6d5b94d3e9dd8/reviews/",
"requires_payment": false,
"review_url": "https://addons.allizom.org/en-US/reviewers/review/2243860",
"slug": "e12002f6d5b94d3e9dd8",
"status": "incomplete",
"summary": {
"en-US": "A test extension from webext-generator."
},
"support_email": null,
"support_url": null,
"tags": [],
"type": "extension",
"url": "https://addons.allizom.org/en-US/firefox/addon/e12002f6d5b94d3e9dd8/",
"version": {
"id": 3728463,
"approval_notes": "",
"channel": "unlisted",
"compatibility": {
"firefox": {
"min": "58.0",
"max": "*"
}
},
"edit_url": "https://addons.allizom.org/en-US/developers/addon/e12002f6d5b94d3e9dd8/versions/3728463",
"file": {
"id": 2346831,
"created": "2024-12-05T12:16:42Z",
"hash": "sha256:b72d79dac8b9962f35fcdd22c0dd7a766a142f720c7947f8e7d7794e75e04bb2",
"is_mozilla_signed_extension": false,
"size": 233,
"status": "unreviewed",
"url": "https://addons.allizom.org/firefox/downloads/file/2346831/e12002f6d5b94d3e9dd8-1.0.zip",
"permissions": [],
"optional_permissions": [],
"host_permissions": []
},
"is_disabled": false,
"is_strict_compatibility_enabled": false,
"license": null,
"release_notes": null,
"reviewed": null,
"source": null,
"version": "1.0"
},
"versions_url": "https://addons.allizom.org/en-US/firefox/addon/e12002f6d5b94d3e9dd8/versions/",
"weekly_downloads": 0,
"latest_unlisted_version": {
"id": 3728463,
"approval_notes": "",
"compatibility": {
"firefox": {
"min": "58.0",
"max": "*"
}
},
"edit_url": "https://addons.allizom.org/en-US/developers/addon/e12002f6d5b94d3e9dd8/versions/3728463",
"file": {
"id": 2346831,
"created": "2024-12-05T12:16:42Z",
"hash": "sha256:b72d79dac8b9962f35fcdd22c0dd7a766a142f720c7947f8e7d7794e75e04bb2",
"is_mozilla_signed_extension": false,
"size": 233,
"status": "unreviewed",
"url": "https://addons.allizom.org/firefox/downloads/file/2346831/e12002f6d5b94d3e9dd8-1.0.zip",
"permissions": [],
"optional_permissions": [],
"host_permissions": []
},
"is_disabled": false,
"is_strict_compatibility_enabled": false,
"license": null,
"release_notes": null,
"reviewed": null,
"version": "1.0",
"source": null
}
}
<br/></div></td></tr></tbody>
<tbody class="passed results-table-row">
<tr>
<td class="col-result">Passed</td>
<td class="col-name">tests/api/test_addon_uploads.py::test_submit_extension_with_invalid_uuid_format</td>
<td class="col-duration">3.56</td>
<td class="col-links"></td></tr>
<tr>
<td class="extra" colspan="4">
<div class="log"> ------------------------------Captured stdout call------------------------------ <br/>For UUID "some-invalid-uuid": Response status is 400; {"version":{"upload":["“some-invalid-uuid” is not a valid UUID."]}}
For UUID "{'upload': 'd4ce752a971b4a5aafcd175122726431'}": Response status is 400; {"version":{"upload":["“{'upload': 'd4ce752a971b4a5aafcd175122726431'}” is not a valid UUID."]}}
For UUID "None": Response status is 400; {"version":{"upload":["This field may not be null."]}}
For UUID "": Response status is 400; {"version":{"upload":["This field may not be null."]}}
<br/></div></td></tr></tbody>
<tbody class="passed results-table-row">
<tr>
<td class="col-result">Passed</td>
<td class="col-name">tests/api/test_addon_uploads.py::test_submit_extension_with_incorrect_uuid</td>
<td class="col-duration">1.65</td>
<td class="col-links"></td></tr>
<tr>
<td class="extra" colspan="4">
<div class="log"> ------------------------------Captured stdout call------------------------------ <br/>For UUID "d4ce752a971b4a5aafcd175122726431": Response status is 400; {"version":{"upload":["Object with uuid=d4ce752a971b4a5aafcd175122726431 does not exist."]}}
For UUID "12345": Response status is 400; {"version":{"upload":["Object with uuid=12345 does not exist."]}}
<br/></div></td></tr></tbody>
<tbody class="passed results-table-row">
<tr>
<td class="col-result">Passed</td>
<td class="col-name">tests/api/test_addon_uploads.py::test_submit_xpi_with_trademark_restricted_user[Firefox in addon name]</td>
<td class="col-duration">6.95</td>
<td class="col-links"></td></tr>
<tr>
<td class="extra" colspan="4">
<div class="log"> ------------------------------Captured stdout call------------------------------ <br/>Manifest content: {'manifest_version': 2, 'version': '1.0', 'name': 'Firefox in addon name'}
<br/></div></td></tr></tbody>
<tbody class="passed results-table-row">
<tr>
<td class="col-result">Passed</td>
<td class="col-name">tests/api/test_addon_uploads.py::test_submit_xpi_with_trademark_restricted_user[Mozilla in addon name]</td>
<td class="col-duration">6.96</td>
<td class="col-links"></td></tr>
<tr>
<td class="extra" colspan="4">
<div class="log"> ------------------------------Captured stdout call------------------------------ <br/>Manifest content: {'manifest_version': 2, 'version': '1.0', 'name': 'Mozilla in addon name'}
<br/></div></td></tr></tbody>
<tbody class="passed results-table-row">
<tr>
<td class="col-result">Passed</td>
<td class="col-name">tests/api/test_addon_uploads.py::test_submit_addon_with_reserved_guid[[email protected]]</td>
<td class="col-duration">7.28</td>
<td class="col-links"></td></tr>
<tr>
<td class="extra" colspan="4">
<div class="log"> ------------------------------Captured stdout call------------------------------ <br/>Manifest content: {'manifest_version': 2, 'version': '1.0', 'name': 'Reserved guid', 'browser_specific_settings': {'gecko': {'id': '[email protected]'}}}
{'uuid': 'a4637995948f492cbca0b9954699eadf', 'channel': 'listed', 'processed': False, 'submitted': False, 'url': 'https://addons.allizom.org/api/v5/addons/upload/a4637995948f492cbca0b9954699eadf/', 'valid': False, 'validation': None, 'version': '1.0'}
<br/></div></td></tr></tbody>
<tbody class="passed results-table-row">
<tr>
<td class="col-result">Passed</td>
<td class="col-name">tests/api/test_addon_uploads.py::test_submit_addon_with_reserved_guid[[email protected]]</td>
<td class="col-duration">6.85</td>
<td class="col-links"></td></tr>
<tr>
<td class="extra" colspan="4">
<div class="log"> ------------------------------Captured stdout call------------------------------ <br/>Manifest content: {'manifest_version': 2, 'version': '1.0', 'name': 'Reserved guid', 'browser_specific_settings': {'gecko': {'id': '[email protected]'}}}
{'uuid': '3d3bbcc9a9094f9cbe023ffcada24673', 'channel': 'listed', 'processed': False, 'submitted': False, 'url': 'https://addons.allizom.org/api/v5/addons/upload/3d3bbcc9a9094f9cbe023ffcada24673/', 'valid': False, 'validation': None, 'version': '1.0'}
<br/></div></td></tr></tbody>
<tbody class="passed results-table-row">
<tr>
<td class="col-result">Passed</td>
<td class="col-name">tests/api/test_addon_uploads.py::test_submit_addon_with_reserved_guid[[email protected]]</td>
<td class="col-duration">6.90</td>
<td class="col-links"></td></tr>
<tr>
<td class="extra" colspan="4">
<div class="log"> ------------------------------Captured stdout call------------------------------ <br/>Manifest content: {'manifest_version': 2, 'version': '1.0', 'name': 'Reserved guid', 'browser_specific_settings': {'gecko': {'id': '[email protected]'}}}
{'uuid': '3962b6ff3a4741eca5bd97b1ffc43de6', 'channel': 'listed', 'processed': False, 'submitted': False, 'url': 'https://addons.allizom.org/api/v5/addons/upload/3962b6ff3a4741eca5bd97b1ffc43de6/', 'valid': False, 'validation': None, 'version': '1.0'}
<br/></div></td></tr></tbody>
<tbody class="passed results-table-row">
<tr>
<td class="col-result">Passed</td>
<td class="col-name">tests/api/test_addon_uploads.py::test_submit_addon_with_reserved_guid[[email protected]]</td>
<td class="col-duration">6.92</td>
<td class="col-links"></td></tr>
<tr>
<td class="extra" colspan="4">
<div class="log"> ------------------------------Captured stdout call------------------------------ <br/>Manifest content: {'manifest_version': 2, 'version': '1.0', 'name': 'Reserved guid', 'browser_specific_settings': {'gecko': {'id': '[email protected]'}}}
{'uuid': 'bd798e9cf6eb421e8094fa46ef2cd83b', 'channel': 'listed', 'processed': False, 'submitted': False, 'url': 'https://addons.allizom.org/api/v5/addons/upload/bd798e9cf6eb421e8094fa46ef2cd83b/', 'valid': False, 'validation': None, 'version': '1.0'}
<br/></div></td></tr></tbody>
<tbody class="passed results-table-row">
<tr>
<td class="col-result">Passed</td>
<td class="col-name">tests/api/test_addon_uploads.py::test_submit_addon_with_reserved_guid[[email protected]]</td>
<td class="col-duration">6.94</td>
<td class="col-links"></td></tr>
<tr>
<td class="extra" colspan="4">
<div class="log"> ------------------------------Captured stdout call------------------------------ <br/>Manifest content: {'manifest_version': 2, 'version': '1.0', 'name': 'Reserved guid', 'browser_specific_settings': {'gecko': {'id': '[email protected]'}}}
{'uuid': '88c3e208ea9247a19e1e106d4e22d1fa', 'channel': 'listed', 'processed': False, 'submitted': False, 'url': 'https://addons.allizom.org/api/v5/addons/upload/88c3e208ea9247a19e1e106d4e22d1fa/', 'valid': False, 'validation': None, 'version': '1.0'}
<br/></div></td></tr></tbody>
<tbody class="passed results-table-row">
<tr>
<td class="col-result">Passed</td>
<td class="col-name">tests/api/test_addon_uploads.py::test_submit_addon_with_reserved_guid[[email protected]]</td>
<td class="col-duration">6.87</td>
<td class="col-links"></td></tr>
<tr>
<td class="extra" colspan="4">
<div class="log"> ------------------------------Captured stdout call------------------------------ <br/>Manifest content: {'manifest_version': 2, 'version': '1.0', 'name': 'Reserved guid', 'browser_specific_settings': {'gecko': {'id': '[email protected]'}}}
{'uuid': '76f8dd96571449949196f615285bd14f', 'channel': 'listed', 'processed': False, 'submitted': False, 'url': 'https://addons.allizom.org/api/v5/addons/upload/76f8dd96571449949196f615285bd14f/', 'valid': False, 'validation': None, 'version': '1.0'}
<br/></div></td></tr></tbody>
<tbody class="passed results-table-row">
<tr>
<td class="col-result">Passed</td>
<td class="col-name">tests/api/test_addon_uploads.py::test_submit_addon_with_reserved_guid[[email protected]]</td>
<td class="col-duration">6.94</td>
<td class="col-links"></td></tr>
<tr>
<td class="extra" colspan="4">
<div class="log"> ------------------------------Captured stdout call------------------------------ <br/>Manifest content: {'manifest_version': 2, 'version': '1.0', 'name': 'Reserved guid', 'browser_specific_settings': {'gecko': {'id': '[email protected]'}}}
{'uuid': '329d37dfd9b84072aad18135a006beee', 'channel': 'listed', 'processed': False, 'submitted': False, 'url': 'https://addons.allizom.org/api/v5/addons/upload/329d37dfd9b84072aad18135a006beee/', 'valid': False, 'validation': None, 'version': '1.0'}
<br/></div></td></tr></tbody>
<tbody class="passed results-table-row">
<tr>
<td class="col-result">Passed</td>
<td class="col-name">tests/api/test_addon_uploads.py::test_submit_addon_with_reserved_guid[[email protected]]</td>
<td class="col-duration">7.06</td>
<td class="col-links"></td></tr>
<tr>
<td class="extra" colspan="4">
<div class="log"> ------------------------------Captured stdout call------------------------------ <br/>Manifest content: {'manifest_version': 2, 'version': '1.0', 'name': 'Reserved guid', 'browser_specific_settings': {'gecko': {'id': '[email protected]'}}}
{'uuid': '759e42b0fc3943b6b97561863c37b79e', 'channel': 'listed', 'processed': False, 'submitted': False, 'url': 'https://addons.allizom.org/api/v5/addons/upload/759e42b0fc3943b6b97561863c37b79e/', 'valid': False, 'validation': None, 'version': '1.0'}
<br/></div></td></tr></tbody>
<tbody class="passed results-table-row">
<tr>
<td class="col-result">Passed</td>
<td class="col-name">tests/api/test_addon_uploads.py::test_submit_addon_with_reserved_guid[[email protected]]</td>
<td class="col-duration">6.86</td>
<td class="col-links"></td></tr>
<tr>
<td class="extra" colspan="4">
<div class="log"> ------------------------------Captured stdout call------------------------------ <br/>Manifest content: {'manifest_version': 2, 'version': '1.0', 'name': 'Reserved guid', 'browser_specific_settings': {'gecko': {'id': '[email protected]'}}}
{'uuid': 'f6a28bdc56234c4e8592a502f63d50c5', 'channel': 'listed', 'processed': False, 'submitted': False, 'url': 'https://addons.allizom.org/api/v5/addons/upload/f6a28bdc56234c4e8592a502f63d50c5/', 'valid': False, 'validation': None, 'version': '1.0'}
<br/></div></td></tr></tbody>
<tbody class="passed results-table-row">
<tr>
<td class="col-result">Passed</td>
<td class="col-name">tests/api/test_addon_uploads.py::test_submit_addon_with_reserved_guid[reserved_guid@temporary-addon]</td>
<td class="col-duration">6.85</td>
<td class="col-links"></td></tr>
<tr>
<td class="extra" colspan="4">
<div class="log"> ------------------------------Captured stdout call------------------------------ <br/>Manifest content: {'manifest_version': 2, 'version': '1.0', 'name': 'Reserved guid', 'browser_specific_settings': {'gecko': {'id': 'reserved_guid@temporary-addon'}}}
{'uuid': '17dd4dc5415f4418a9b2c8d4a3407314', 'channel': 'listed', 'processed': False, 'submitted': False, 'url': 'https://addons.allizom.org/api/v5/addons/upload/17dd4dc5415f4418a9b2c8d4a3407314/', 'valid': False, 'validation': None, 'version': '1.0'}
<br/></div></td></tr></tbody>
<tbody class="passed results-table-row">
<tr>
<td class="col-result">Passed</td>
<td class="col-name">tests/api/test_addon_uploads.py::test_submit_addon_with_reserved_guid[[email protected]]</td>
<td class="col-duration">6.89</td>
<td class="col-links"></td></tr>
<tr>