-
Notifications
You must be signed in to change notification settings - Fork 0
/
style.css
718 lines (625 loc) · 68.9 KB
/
style.css
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
/*!
Theme Name: SteveR
Description: Description
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: stever
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready
stever is based on Underscores https://underscores.me/, (C) 2012-2017 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.
*/
.hidden {
display: none !important;
visibility: hidden; }
.entry-content .is-style-stever-list-indented {
margin-left: 1em; }
@media (max-width: 27.5em) {
.entry-content .is-style-stever-list-indented {
margin-left: 0; } }
.is-style-attention {
border-left: 3px solid #ffcc4d;
background: #f7f7f7;
padding: 1em; }
.is-style-attention p {
margin: 0.25em; }
.entry-content .is-style-extra-vertical-spacing > li {
margin-bottom: 1.5em; }
.entry-content .is-style-extra-vertical-spacing ul > li {
margin-top: 0.75em; }
.is-style-no-spacing-above {
margin-top: 0 !important; }
.margin-negative-top {
margin-top: -1em; }
.heading-hide .page-header {
display: none; }
.button-ghost,
.button-ghost:visited,
.button-ghost:active,
.button-ghost[type="submit"] {
font-size: 0.85em;
border: 3px solid #1468a0;
background: #ffffff;
color: #000000;
cursor: pointer;
transition: all 0.5s; }
.button-ghost:hover,
.button-ghost:visited:hover,
.button-ghost:active:hover,
.button-ghost[type="submit"]:hover {
border-color: #c2552e;
background: #ffffff;
color: #000000; }
.island {
margin: 0em -2em 2em -2em;
border-left: 1px solid #cccccc;
border-right: 1px solid #cccccc;
padding: 3em;
background: url("img/bg_gray.png");
position: relative; }
.island::before,
.island::after {
width: 100%;
height: 2em;
background: white;
background: linear-gradient(180deg, white 0%, rgba(255, 255, 255, 0) 100%);
display: block;
content: "";
position: absolute;
top: 0;
left: 0; }
.island::after {
top: auto;
bottom: 0;
background: white;
background: linear-gradient(0deg, white 0%, rgba(255, 255, 255, 0) 100%); }
.island iframe {
display: block;
border: 1px solid #cccccc;
width: 100%; }
html {
min-width: 320px; }
body {
background: #f7f7f7;
background: linear-gradient(90deg, #f7f7f7 20%, white 30%, white 70%, #f7f7f7 80%);
font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 16px; }
h1,
h2,
h3,
h4,
h5,
h6 {
font-family: "Lato", "Helvetica Neue", Helvetica, Arial, sans-serif;
color: #484848;
line-height: 1em;
margin: 0;
padding: 0;
font-weight: 900; }
h1 {
font-size: 2em; }
h2 {
font-size: 1.75em; }
h3 {
font-size: 1.5em; }
h4 {
font-size: 1.25em; }
p {
margin-bottom: 1em; }
a,
a:visited {
color: #c2552e;
transition: all 0.5s; }
a:hover,
a:active {
text-decoration: underline;
color: #1468a0; }
#main {
padding: 0.9375rem 0.9375rem 1.875rem 0.9375rem; }
@media (max-width: 40em) {
#main {
padding: 1em 0.25em; } }
code {
border: 1px solid #cccccc;
background-color: #f7f7f7; }
blockquote,
blockquote p {
color: #484848; }
blockquote {
margin: 0 0 1rem;
padding: 0.25em 0 0.25em 0.5em;
border-left: 3px solid #8b9b31; }
mark {
padding: 0 0.25em; }
.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6 {
margin: 2em 0 1em 0;
line-height: 1.35em; }
.entry-content ul {
margin-left: 0;
margin-bottom: 0.5em; }
.entry-content li {
margin-left: 1em; }
.entry-content li li {
margin-bottom: 0;
list-style-type: circle; }
.entry-content li li li {
list-style-type: disc; }
.entry-content li li li li {
list-style-type: circle; }
.entry-content li li li li li {
list-style-type: disc; }
.entry-content li .wp-block-gallery,
.entry-content li .wp-block-columns {
margin: 1em 0; }
.post,
.page {
margin-bottom: 0; }
.page-content,
.entry-content,
.entry-summary {
margin-top: 1em; }
p:last-child {
margin-bottom: 0; }
#content {
background-color: #ffffff;
border-radius: 3px;
border: 1px solid #cccccc;
margin-bottom: 4em; }
.blog article {
margin-bottom: 2em; }
figure {
margin-bottom: 1em; }
figcaption {
font-size: 0.8em; }
/* Header */
#masthead {
padding: 0;
position: relative; }
#site-branding {
position: relative;
padding: 0; }
#site-branding .custom-logo-link {
position: absolute;
max-width: 300px;
top: 1em;
left: 1em; }
#site-branding .custom-logo-link img {
transition: all 0.2s; }
#site-branding .custom-logo-link img:hover {
filter: drop-shadow(3px 3px 3px #999); }
#social-navigation {
background-color: #ffffff; }
#social-navigation #social-icons {
display: grid;
grid-template-columns: repeat(4, auto);
grid-gap: 0.5em;
margin: 0;
justify-content: right;
padding: 0.9375rem 1.875rem; }
#social-navigation #social-icons li {
list-style: none;
text-align: center;
font-size: 1.75em; }
#social-navigation #social-icons li:last-child {
margin-right: -0.25em; }
#social-navigation #social-icons a {
padding: 0 0.25em; }
#primary-menu {
display: grid;
grid-template-columns: repeat(3, auto);
justify-content: right;
list-style: none;
padding: 1.875rem;
margin: 0;
grid-gap: 1.25em;
font-size: 1.15em; }
#primary-menu .current-menu-item {
font-weight: bold; }
#primary-menu li + li a {
border-left: 2px solid #ccc;
padding-left: 1.25em; }
/* Page headings (H1s, buttons). */
.page-header,
.entry-header {
position: relative;
border-bottom: 1px solid #cccccc;
padding: 0.5em 0 1em 0;
margin-bottom: 2em; }
.page-header .button,
.entry-header .button {
position: absolute;
right: 0;
top: 0.5em; }
/* Hide home's H1. */
.home .page-header {
display: none; }
@media (max-width: 40em) {
#site-branding .custom-logo-link {
position: relative;
max-width: 100%;
width: 100%;
top: 0;
left: 0;
padding: 1em; }
#social-navigation #social-icons {
grid-gap: 2em;
justify-content: center; }
#social-navigation #social-icons li {
font-size: 2em; }
#social-navigation #social-icons li:last-child {
margin: 0; }
#primary-menu {
justify-content: center;
font-size: 1.25em; } }
@media (max-width: 27.5em) {
#social-navigation #social-icons li {
font-size: 2.25em; }
#primary-menu {
display: block;
font-size: 1.5em;
padding: 0; }
#primary-menu li {
padding: 0.9375rem;
border-top: 1px solid #ccc; }
#primary-menu li + li a {
padding: 0;
border: 0 none; } }
.site-info {
text-align: center;
background: #ffffff;
padding: 1em 0; }
/* 404 Page */
.error404 .page-content {
padding-right: 1em; }
.error404 .page-content p {
margin: 1em 0 2em 0; }
.error404 .page-content img {
display: block;
width: 60%;
margin: 4em auto 2em auto; }
.error404 .page-content .search-form label {
padding-right: 2em; }
.error404 .page-content .search-form .search-field {
padding-left: .75em;
margin: 0; }
.error404 .page-content .search-form .search-field::placeholder {
color: #000000; }
.error404 .page-content .search-form .search-field:focus::placeholder {
opacity: 0; }
.error404 .page-content .search-form .search-submit {
height: 100%; }
.error404 aside {
padding: .5em 0 0 1em;
border-left: 1px solid #cccccc; }
.error404 aside .all-pages {
margin-top: 1em; }
.error404 aside .all-pages ul {
list-style-type: none;
margin-left: 0; }
.error404 aside .all-pages ul.children {
margin-left: 1em; }
/* WP Admin Bar*/
#wpadminbar .quicklinks .ab-empty-item {
padding: 0 1.5em; }
#wpadminbar ul#wp-admin-bar-root-default > li a {
padding: 0 1.5em; }
#wpadminbar ul#wp-admin-bar-root-default li + li {
border-left: 1px dotted #666666; }
#wp-admin-bar-wp-logo,
#wp-admin-bar-comments,
#wp-admin-bar-my-account,
#wp-admin-bar-amf-close-admin-panel,
#wp-admin-bar-site-name .ab-sub-wrapper,
#wp-admin-bar-customize,
#wp-admin-bar-widgets {
display: none !important; }
#wp-admin-bar-updraft_admin_node,
#wp-admin-bar-SG_CachePress_Supercacher_Purge,
#wp-admin-bar-query-monitor {
background: #666666 !important;
border-left-color: #000000 !important;
float: right !important; }
#wp-admin-bar-view > .ab-item::before,
#wp-admin-bar-archive > .ab-item::before,
#wp-admin-bar-stever-quotes-editall > .ab-item::before {
content: "\f177";
font-size: 1.3em;
padding-top: 0.5em; }
#wp-admin-bar-epc_purge_menu > .ab-item::before {
content: "\f160";
padding-top: 0.3em; }
#wp-admin-bar-query-monitor > .ab-item::before {
content: "\f321";
padding-top: 0.3em; }
/* WP Admin Menu */
#menu-comments,
#menu-users,
#toplevel_page_gutenberg {
display: none; }
/* Interface Bar */
.interface-pinned-items button[aria-label="Yoast SEO"] {
display: none !important; }
.stever-map-page article {
position: relative; }
#stever-editmap {
position: absolute;
top: 0.5em;
right: 0;
margin: 0;
background-color: #f7f7f7; }
#stever-mapfilter {
padding: .25em .5em; }
/* Page-specific: Professional Development */
.sr-table-pro-dev .none-found {
background: #f7f7f7;
padding: 0.75em 1em;
font-style: italic;
border: 1px solid #000000; }
.sr-table-pro-dev .legend {
list-style: none;
margin-bottom: 2em; }
.sr-table-pro-dev .legend li {
cursor: pointer;
padding: 0.25em 0.5em;
margin-left: 5px; }
.sr-table-pro-dev .legend li:hover {
border-left: 5px solid #e1e2c7;
margin-left: 0;
color: black; }
.sr-table-pro-dev .legend li.active {
border-left: 5px solid #8b9b31;
background: #f3f3e9;
margin-left: 0;
font-weight: bold; }
.sr-table-pro-dev .legend .show-all {
border-left: 5px solid #5f6b7e;
margin-left: 0;
background: #f7f7f7; }
.sr-table-pro-dev .legend i {
width: 40px;
text-align: center;
padding-right: 1em; }
.post-type-archive-stever_quotes .entry-header {
border: 0 none; }
.post-type-archive-stever_quotes .entry-content {
margin: 2.5em 0; }
.post-type-archive-stever_quotes blockquote {
border-width: 5px;
padding-left: 1.25em;
background: white;
background: linear-gradient(90deg, rgba(255, 255, 255, 0) 10%, #F8F8F8 50%, rgba(255, 255, 255, 0) 90%);
margin-bottom: 0; }
.quotes-slideshow {
margin-top: 0 !important;
overflow: hidden;
height: 100%; }
.quotes-slideshow.fixate-admin-menu.folded {
margin: 0 !important; }
.quotes-slideshow body,
.quotes-slideshow .site {
height: 100%;
margin: 0;
padding: 0; }
.quotes-slideshow #wpadminbar,
.quotes-slideshow #masthead,
.quotes-slideshow .page-header,
.quotes-slideshow .site-footer,
.quotes-slideshow article {
display: none; }
.quotes-slideshow .site {
display: table;
width: 100%; }
.quotes-slideshow .site-content {
display: table-cell;
vertical-align: middle; }
.quotes-slideshow article.active {
display: block; }
.quotes-slideshow .quotes-progress-indicator {
height: 5px;
background: #cccccc;
position: absolute;
bottom: 0;
width: 100%;
left: 0; }
.quotes-slideshow .quotes-progress-indicator span {
width: 0%;
background: red;
height: 5px;
display: inline-block;
vertical-align: top; }
.quotes-slideshow blockquote {
padding: 1em 1.5em 1em 2em;
border-width: 1px;
background: transparent; }
.quotes-slideshow blockquote p {
font-size: 2.5em; }
.quotes-slideshow blockquote cite {
font-size: 2em;
margin-top: 1em; }
/* My Time at BU Page */
@keyframes ripple {
from {
transform: scale(0);
opacity: 1; }
to {
transform: scale(3.5);
opacity: 0; } }
.sr-bu-timeline .tpd-tooltip {
margin-left: 0.25em; }
.is-style-stever-timeline-heading h3 {
margin-top: 0; }
.is-style-stever-timeline-heading .timeline-legend h4 {
margin: 0;
padding: 0.4em 0;
border: 1px solid #cccccc;
text-align: center; }
.is-style-stever-timeline-heading .timeline-legend p {
margin: .25em 0 0 0;
padding: .25em 1em; }
@media (max-width: 48.75em) {
.is-style-stever-timeline-heading .wp-block-column:first-child {
flex-basis: 65% !important; }
.is-style-stever-timeline-heading .wp-block-column:last-child {
flex-basis: 35% !important;
padding-left: 2em;
margin-left: 0; } }
@media (max-width: 27.5em) {
.is-style-stever-timeline-heading .wp-block-column:first-child,
.is-style-stever-timeline-heading .wp-block-column:last-child {
flex-basis: 100% !important;
padding: 0; }
.is-style-stever-timeline-heading .wp-block-column:last-child {
margin: 2em 0; } }
.dev-me {
background: #8b9b31;
border: 2px solid #5b573d;
color: #ffffff;
font-weight: bold; }
.dev-direct {
background: #048ba8;
color: #ffffff;
font-weight: bold; }
.manager-direct {
background: #004777;
color: #ffffff;
font-weight: bold; }
.dev-other,
.manager-other {
font-weight: bold;
background: #f7f7f7; }
.dev-other {
border: 2px dotted #048ba8; }
.manager-other {
border: 2px dotted #004777; }
.dev-other span,
.manager-other span {
padding: 0 2.5em; }
.timeline {
overflow-x: scroll;
border: 1px solid #cccccc; }
.timeline table {
table-layout: fixed;
border-collapse: separate;
border-spacing: 0 1px;
margin-bottom: 1em; }
.timeline table td {
position: relative;
width: 100px;
padding: 5px; }
.timeline span {
position: sticky;
padding: 0 2em;
left: 0; }
.timeline thead .months {
font-size: .75em;
background-color: #618985;
color: #ffffff;
text-align: center; }
.timeline thead .months td {
padding: 10px; }
.timeline thead .months td + td {
border-left: 1px solid #b1ddda; }
.timeline thead .years {
font-size: .75em;
background: #b1ddda;
color: #000000; }
.timeline thead .years td {
padding-left: 1.5em; }
.timeline thead .years td + td {
border-left: 1px solid #618985; }
.timeline thead .years td span {
font-weight: bold;
left: 0.5em; }
.timeline tbody:before {
content: "\200C";
display: block;
line-height: 0.5em; }
.timeline tbody td {
border-radius: 5px; }
.timeline tbody i {
position: relative;
float: left;
margin: 4.5px 0 0 0.25em;
width: 15px;
height: 15px;
background: #ffffff;
border: 5px solid #000000;
border-radius: 50%;
cursor: pointer; }
.timeline tbody span + i {
float: right;
left: auto;
margin: 4.5px 0.25em 0 0; }
.timeline tbody i:before,
.timeline tbody i:after {
content: "";
position: absolute;
z-index: 2;
top: -5px;
left: -5px;
border: 1px solid #000000;
width: 15px;
height: 15px;
border-radius: 50%; }
.timeline tbody i:before {
animation: ripple 3s linear infinite; }
.timeline tbody i:after {
animation: ripple 3s linear infinite 0.75s; }
.timeline .extended-width {
width: 150px; }
/* Post-specific: The Power of Keeping Lists */
.post--keeping-lists table {
border: 1px solid #cccccc;
margin-bottom: 0; }
.post--keeping-lists thead {
border-bottom: 1px solid #cccccc; }
.post--keeping-lists td {
padding: 6px;
vertical-align: top; }
.post--keeping-lists table td + td,
.post--keeping-lists .wp-block-table.is-style-stripes th + th,
.post--keeping-lists .wp-block-table.is-style-stripes td + td {
border-left: 1px solid #cccccc; }
.post--keeping-lists .wp-block-pb-accordion-item {
margin-bottom: 2.5em; }
@media (max-width: 63.9375em) {
.post--keeping-lists figure.alignright {
float: none;
margin: 0 auto; } }
/*
* Debugging Breakpoints. Adds helper text at the bottom of the page when a page has 'sr-breakpoints' as a class.
*/
.sr-breakpoints.logged-in #page::before {
position: fixed;
z-index: 100;
bottom: 0;
left: 0;
width: 100%;
background: #000000;
color: #ffffff;
text-align: center;
padding: 0.5em 0; }
@media (min-width: 64em) {
.sr-breakpoints.logged-in #page::before {
content: "X-Large & up. min-width: 64em (~1024px)"; } }
@media (max-width: 87em) {
.sr-breakpoints.logged-in #page::before {
content: "Page-width & down. max-width: 87em (~1392px)"; } }
@media (max-width: 63.9375em) {
.sr-breakpoints.logged-in #page::before {
content: "Large & down. max-width: 63.9375em (~1023px)"; } }
@media (max-width: 48.75em) {
.sr-breakpoints.logged-in #page::before {
content: "Medium & down. max-width: 48.75em (~780px)"; } }
@media (max-width: 40em) {
.sr-breakpoints.logged-in #page::before {
content: "Small & down. max-width: 40em (~640px)"; } }
@media (max-width: 27.5em) {
.sr-breakpoints.logged-in #page::before {
content: "X-Small only. max-width: 27.5em (~440px)"; } }
/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlcyI6WyJzdHlsZS5zY3NzIiwicGFydGlhbHMvX192YXJpYWJsZXMuc2NzcyIsInBhcnRpYWxzL19oZWxwZXJzLnNjc3MiLCJwYXJ0aWFscy9fZWxlbWVudHMuc2NzcyIsInBhcnRpYWxzL19oZWFkZXIuc2NzcyIsInBhcnRpYWxzL19mb290ZXIuc2NzcyIsInBhcnRpYWxzL180MDQuc2NzcyIsInBhcnRpYWxzL193cGFkbWluYmFyLnNjc3MiLCJwYXJ0aWFscy9fbWFwcy5zY3NzIiwicGFydGlhbHMvX3RhYmxlcy5zY3NzIiwicGFydGlhbHMvX3F1b3Rlcy5zY3NzIiwicGFydGlhbHMvX3RpbWVsaW5lLWF0LWJ1LnNjc3MiLCJwYXJ0aWFscy9fcG9zdC1zcGVjaWZpY3Muc2NzcyIsInBhcnRpYWxzL19fYnJlYWtwb2ludHMtZGVidWdnaW5nLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLyohXHJcblRoZW1lIE5hbWU6IFN0ZXZlUlxyXG5EZXNjcmlwdGlvbjogRGVzY3JpcHRpb25cclxuVmVyc2lvbjogMS4wLjBcclxuTGljZW5zZTogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdjIgb3IgbGF0ZXJcclxuTGljZW5zZSBVUkk6IExJQ0VOU0VcclxuVGV4dCBEb21haW46IHN0ZXZlclxyXG5UYWdzOiBjdXN0b20tYmFja2dyb3VuZCwgY3VzdG9tLWxvZ28sIGN1c3RvbS1tZW51LCBmZWF0dXJlZC1pbWFnZXMsIHRocmVhZGVkLWNvbW1lbnRzLCB0cmFuc2xhdGlvbi1yZWFkeVxyXG5cclxuc3RldmVyIGlzIGJhc2VkIG9uIFVuZGVyc2NvcmVzIGh0dHBzOi8vdW5kZXJzY29yZXMubWUvLCAoQykgMjAxMi0yMDE3IEF1dG9tYXR0aWMsIEluYy5cclxuVW5kZXJzY29yZXMgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR1BMIHYyIG9yIGxhdGVyLlxyXG4qL1xyXG5cclxuQGltcG9ydCAncGFydGlhbHMvX3ZhcmlhYmxlcyc7XHJcbkBpbXBvcnQgJ3BhcnRpYWxzL2hlbHBlcnMnO1xyXG5AaW1wb3J0ICdwYXJ0aWFscy9lbGVtZW50cyc7XHJcbkBpbXBvcnQgJ3BhcnRpYWxzL2hlYWRlcic7XHJcbkBpbXBvcnQgJ3BhcnRpYWxzL2Zvb3Rlcic7XHJcbkBpbXBvcnQgJ3BhcnRpYWxzLzQwNCc7XHJcblxyXG5AaW1wb3J0ICdwYXJ0aWFscy93cGFkbWluYmFyJztcclxuQGltcG9ydCAncGFydGlhbHMvbWFwcyc7XHJcbkBpbXBvcnQgJ3BhcnRpYWxzL3RhYmxlcyc7XHJcbkBpbXBvcnQgJ3BhcnRpYWxzL3F1b3Rlcyc7XHJcbkBpbXBvcnQgJ3BhcnRpYWxzL3RpbWVsaW5lLWF0LWJ1JztcclxuXHJcbkBpbXBvcnQgJ3BhcnRpYWxzL3Bvc3Qtc3BlY2lmaWNzJztcclxuXHJcbkBpbXBvcnQgJ3BhcnRpYWxzL19icmVha3BvaW50cy1kZWJ1Z2dpbmcnOyIsIi8vIEN1c3RvbSBDb2xvcnNcclxuJGdyZWVuOiAjNmI3ZDA1O1xyXG4kZ3JlZW4tZGFyazogIzViNTczZDtcclxuJGdyZWVuLWxpZ2h0OiAjZTFlMmM3O1xyXG4kZ3JlZW4tbGlnaHRlc3Q6IGxpZ2h0ZW4oJGdyZWVuLWxpZ2h0LCAxMCUpO1xyXG4kZ3JlZW4tYnJpZ2h0OiAjOGI5YjMxOyAvLyBBQSB3L0xhcmdlIFRleHQ6IGh0dHBzOi8vYml0Lmx5LzJFblhpUGpcclxuJGJyb3duOiAjMzMyMDEyO1xyXG4kYnJvd24tbGlnaHQ6ICM5NmJjYzU7XHJcbiRyZWQ6ICNjMjU1MmU7XHJcbiRncmF5OiAjNWY2YjdlO1xyXG4kZ3JheS1saWdodDogI2Y3ZjdmNztcclxuJGdyYXktbWVkOiAjY2NjY2NjO1xyXG4kZ3JheS1kYXJrOiAjNjY2NjY2O1xyXG4kZ3JheS1kYXJrZXN0OiAjNDg0ODQ4O1xyXG4kYmx1ZTogIzE0NjhhMDtcclxuJHllbGxvdzogI2ZmY2M0ZDtcclxuXHJcbi8vIEZvciBUaW1lbGluZSBPbmx5XHJcbiR0ZWFsOiAjNjE4OTg1O1xyXG4kdGVhbC1saWdodDogI2IxZGRkYTtcclxuJHRpbWVsaW5lLW1lOiAkZ3JlZW4tYnJpZ2h0O1xyXG4kdGltZWxpbmUtZGV2OiAjMDQ4YmE4O1xyXG4kdGltZWxpbmUtbWFuYWdlcjogIzAwNDc3NztcclxuXHJcbi8vIEFjY2VudCBDb2xvcnNcclxuJGFjY2VudC1ncmVlbjogIzUxNjMyMjtcclxuJGFjY2VudC10ZWFsOiAjNDE2ZTgyO1xyXG4kYWNjZW50LXJlZDogIzgxNDUxOTtcclxuJGFjY2VudC1ibHVlOiAjM2Y1MDZjO1xyXG4kYWNjZW50LXRlYWwtbGlnaHQ6IGxpZ2h0ZW4oJGFjY2VudC10ZWFsLCAxMCUpO1xyXG4kYWNjZW50LXJlZC1saWdodDogbGlnaHRlbigkYWNjZW50LXJlZCwgMTAlKTtcclxuJGFjY2VudC1ibHVlLWxpZ2h0OiBsaWdodGVuKCRhY2NlbnQtYmx1ZSwgMTAlKTtcclxuJGFjY2VudC10ZWFsLWRhcms6IGRhcmtlbigkYWNjZW50LXRlYWwsIDEwJSk7XHJcbiRhY2NlbnQtcmVkLWRhcms6IGRhcmtlbigkYWNjZW50LXJlZCwgMTAlKTtcclxuJGFjY2VudC1ibHVlLWRhcms6IGRhcmtlbigkYWNjZW50LWJsdWUsIDEwJSk7XHJcblxyXG4vLyBcIlN0YW5kYXJkXCIgQ29sb3JzXHJcbiR3aGl0ZTogI2ZmZmZmZjtcclxuJGJsYWNrOiAjMDAwMDAwO1xyXG5cclxuLy8gRm9udHNcclxuJGZvbnRzLWNvcHk6IFwiUm9ib3RvXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcclxuJGZvbnRzLWhlYWRpbmdzOiBcIkxhdG9cIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xyXG4kZm9udHMtbW9ubzogXCJCNjEyIE1vbm9cIiwgbW9ub3NwYWNlO1xyXG4kZm9udHMtaWNvbjogXCJGb250IEF3ZXNvbWUgNSBGcmVlXCI7XHJcblxyXG4vLyBCcmVha3BvaW50c1xyXG4vLyBIVDogaHR0cHM6Ly9iaXQubHkvM2JlQ21kcVxyXG5AbWl4aW4gYnJlYWtwb2ludCgkc2l6ZSkge1xyXG4gIEBpZiAkc2l6ZSA9PSBcInhsXCIge1xyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSBpZiAkc2l6ZSA9PSBcInBcIiB7XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogODdlbSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9IEBlbHNlIGlmICRzaXplID09IFwibFwiIHtcclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSBpZiAkc2l6ZSA9PSBcIm1cIiB7XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDguNzVlbSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9IEBlbHNlIGlmICRzaXplID09IFwic1wiIHtcclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0MGVtKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH0gQGVsc2UgaWYgJHNpemUgPT0gXCJ4c1wiIHtcclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAyNy41ZW0pIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyBDb2x1bW5zIE92ZXJyaWRlIHRvIGZ1bGwtd2lkdGhcclxuQG1peGluIGNvbHVtbnMtZnVsbC1vdmVycmlkZSgpIHtcclxuICBmbGV4LWJhc2lzOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgbWFyZ2luLWxlZnQ6IDA7XHJcbn1cclxuIiwiLy8gVW5pdmVyc2FsICdoaWRkZW4nIENsYXNzXHJcbi5oaWRkZW4ge1xyXG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbn1cclxuXHJcbi8vIExpc3Q6IEluZGVudGVkO1xyXG4uZW50cnktY29udGVudCAuaXMtc3R5bGUtc3RldmVyLWxpc3QtaW5kZW50ZWQge1xyXG4gIG1hcmdpbi1sZWZ0OiAxZW07XHJcbn1cclxuQGluY2x1ZGUgYnJlYWtwb2ludCh4cykge1xyXG4gIC5lbnRyeS1jb250ZW50IC5pcy1zdHlsZS1zdGV2ZXItbGlzdC1pbmRlbnRlZCB7XHJcbiAgICBtYXJnaW4tbGVmdDogMDtcclxuICB9XHJcbn1cclxuXHJcbi8vIFF1b3RlIC0gQXR0ZW50aW9uLlxyXG4uaXMtc3R5bGUtYXR0ZW50aW9uIHtcclxuICBib3JkZXItbGVmdDogM3B4IHNvbGlkICR5ZWxsb3c7XHJcbiAgYmFja2dyb3VuZDogJGdyYXktbGlnaHQ7XHJcbiAgcGFkZGluZzogMWVtO1xyXG5cclxuICBwIHtcclxuICAgIG1hcmdpbjogMC4yNWVtO1xyXG4gIH1cclxufVxyXG5cclxuLy8gTGlzdCAtIEV4dHJhIFZlcnRpY2FsIFNwYWNpbmcuXHJcbi5lbnRyeS1jb250ZW50IC5pcy1zdHlsZS1leHRyYS12ZXJ0aWNhbC1zcGFjaW5nIHtcclxuICA+IGxpIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDEuNWVtO1xyXG4gIH1cclxuICB1bCA+IGxpIHtcclxuICAgIG1hcmdpbi10b3A6IDAuNzVlbTtcclxuICB9XHJcbn1cclxuXHJcbi8vIEhlYWRpbmcgLSBObyBWZXJ0aWNhbCBTcGFjaW5nIEFib3ZlLlxyXG4uaXMtc3R5bGUtbm8tc3BhY2luZy1hYm92ZSB7XHJcbiAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4vLyBOZWdhdGl2ZSB0b3AgbWFyZ2luXHJcbi5tYXJnaW4tbmVnYXRpdmUtdG9wIHtcclxuICBtYXJnaW4tdG9wOiAtMWVtO1xyXG59XHJcblxyXG4vLyBIaWRkZW4gUGFnZSBIZWFkZXJcclxuLmhlYWRpbmctaGlkZSAucGFnZS1oZWFkZXIge1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi8vIEJ1dHRvbjogR2hvc3RcclxuLmJ1dHRvbi1naG9zdCxcclxuLmJ1dHRvbi1naG9zdDp2aXNpdGVkLFxyXG4uYnV0dG9uLWdob3N0OmFjdGl2ZSxcclxuLmJ1dHRvbi1naG9zdFt0eXBlPVwic3VibWl0XCJdIHtcclxuICBmb250LXNpemU6IDAuODVlbTtcclxuICBib3JkZXI6IDNweCBzb2xpZCAkYmx1ZTtcclxuICBiYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiAgY29sb3I6ICRibGFjaztcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXM7XHJcbn1cclxuLmJ1dHRvbi1naG9zdDpob3ZlcixcclxuLmJ1dHRvbi1naG9zdDp2aXNpdGVkOmhvdmVyLFxyXG4uYnV0dG9uLWdob3N0OmFjdGl2ZTpob3ZlcixcclxuLmJ1dHRvbi1naG9zdFt0eXBlPVwic3VibWl0XCJdOmhvdmVyIHtcclxuICBib3JkZXItY29sb3I6ICRyZWQ7XHJcbiAgYmFja2dyb3VuZDogJHdoaXRlO1xyXG4gIGNvbG9yOiAkYmxhY2s7XHJcbn1cclxuXHJcbi8vIElzbGFuZCBDbGFzc1xyXG4uaXNsYW5kIHtcclxuICBtYXJnaW46IDBlbSAtMmVtIDJlbSAtMmVtO1xyXG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGdyYXktbWVkO1xyXG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRncmF5LW1lZDtcclxuICBwYWRkaW5nOiAzZW07XHJcbiAgYmFja2dyb3VuZDogdXJsKFwiaW1nL2JnX2dyYXkucG5nXCIpO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG4uaXNsYW5kOjpiZWZvcmUsXHJcbi5pc2xhbmQ6OmFmdGVyIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDJlbTtcclxuICBiYWNrZ3JvdW5kOiByZ2IoMjU1LCAyNTUsIDI1NSk7XHJcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxyXG4gICAgMTgwZGVnLFxyXG4gICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAxKSAwJSxcclxuICAgIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgMTAwJVxyXG4gICk7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgY29udGVudDogXCJcIjtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbn1cclxuLmlzbGFuZDo6YWZ0ZXIge1xyXG4gIHRvcDogYXV0bztcclxuICBib3R0b206IDA7XHJcbiAgYmFja2dyb3VuZDogcmdiKDI1NSwgMjU1LCAyNTUpO1xyXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcclxuICAgIDBkZWcsXHJcbiAgICByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpIDAlLFxyXG4gICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSAxMDAlXHJcbiAgKTtcclxufVxyXG4uaXNsYW5kIGlmcmFtZSB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgJGdyYXktbWVkO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcbiIsImh0bWwge1xyXG4gIG1pbi13aWR0aDogMzIwcHg7XHJcbn1cclxuXHJcbmJvZHkge1xyXG4gIGJhY2tncm91bmQ6IHJnYigyNDcsIDI0NywgMjQ3KTtcclxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXHJcbiAgICA5MGRlZyxcclxuICAgIHJnYmEoMjQ3LCAyNDcsIDI0NywgMSkgMjAlLFxyXG4gICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAxKSAzMCUsXHJcbiAgICByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpIDcwJSxcclxuICAgIHJnYmEoMjQ3LCAyNDcsIDI0NywgMSkgODAlXHJcbiAgKTtcclxuICBmb250LWZhbWlseTogJGZvbnRzLWNvcHk7XHJcbiAgZm9udC1zaXplOiAxNnB4O1xyXG59XHJcblxyXG5oMSxcclxuaDIsXHJcbmgzLFxyXG5oNCxcclxuaDUsXHJcbmg2IHtcclxuICBmb250LWZhbWlseTogJGZvbnRzLWhlYWRpbmdzO1xyXG4gIGNvbG9yOiAkZ3JheS1kYXJrZXN0O1xyXG4gIGxpbmUtaGVpZ2h0OiAxZW07XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgZm9udC13ZWlnaHQ6IDkwMDtcclxufVxyXG5cclxuaDEge1xyXG4gIGZvbnQtc2l6ZTogMmVtO1xyXG59XHJcblxyXG5oMiB7XHJcbiAgZm9udC1zaXplOiAxLjc1ZW07XHJcbn1cclxuXHJcbmgzIHtcclxuICBmb250LXNpemU6IDEuNWVtO1xyXG59XHJcblxyXG5oNCB7XHJcbiAgZm9udC1zaXplOiAxLjI1ZW07XHJcbn1cclxuXHJcbnAge1xyXG4gIG1hcmdpbi1ib3R0b206IDFlbTtcclxufVxyXG5cclxuYSxcclxuYTp2aXNpdGVkIHtcclxuICBjb2xvcjogJHJlZDtcclxuICB0cmFuc2l0aW9uOiBhbGwgMC41cztcclxufVxyXG5cclxuYTpob3ZlcixcclxuYTphY3RpdmUge1xyXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gIGNvbG9yOiAkYmx1ZTtcclxufVxyXG5cclxuI21haW4ge1xyXG4gIHBhZGRpbmc6IDAuOTM3NXJlbSAwLjkzNzVyZW0gMS44NzVyZW0gMC45Mzc1cmVtO1xyXG59XHJcblxyXG5AaW5jbHVkZSBicmVha3BvaW50KHMpIHtcclxuICAjbWFpbiB7XHJcbiAgICBwYWRkaW5nOiAxZW0gMC4yNWVtO1xyXG4gIH1cclxufVxyXG5cclxuY29kZSB7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgJGdyYXktbWVkO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRncmF5LWxpZ2h0O1xyXG59XHJcblxyXG5ibG9ja3F1b3RlLFxyXG5ibG9ja3F1b3RlIHAge1xyXG4gIGNvbG9yOiAkZ3JheS1kYXJrZXN0O1xyXG59XHJcblxyXG5ibG9ja3F1b3RlIHtcclxuICBtYXJnaW46IDAgMCAxcmVtO1xyXG4gIHBhZGRpbmc6IDAuMjVlbSAwIDAuMjVlbSAwLjVlbTtcclxuICBib3JkZXItbGVmdDogM3B4IHNvbGlkICRncmVlbi1icmlnaHQ7XHJcbn1cclxuXHJcbm1hcmsge1xyXG4gIHBhZGRpbmc6IDAgMC4yNWVtO1xyXG59XHJcblxyXG4uZW50cnktY29udGVudCBoMSxcclxuLmVudHJ5LWNvbnRlbnQgaDIsXHJcbi5lbnRyeS1jb250ZW50IGgzLFxyXG4uZW50cnktY29udGVudCBoNCxcclxuLmVudHJ5LWNvbnRlbnQgaDUsXHJcbi5lbnRyeS1jb250ZW50IGg2IHtcclxuICBtYXJnaW46IDJlbSAwIDFlbSAwO1xyXG4gIGxpbmUtaGVpZ2h0OiAxLjM1ZW07XHJcbn1cclxuXHJcbi5lbnRyeS1jb250ZW50IHVsIHtcclxuICBtYXJnaW4tbGVmdDogMDtcclxuICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcclxufVxyXG5cclxuLmVudHJ5LWNvbnRlbnQgbGkge1xyXG4gIG1hcmdpbi1sZWZ0OiAxZW07XHJcbiAgbGkge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIGxpc3Qtc3R5bGUtdHlwZTogY2lyY2xlO1xyXG5cclxuICAgIGxpIHtcclxuICAgICAgbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xyXG5cclxuICAgICAgbGkge1xyXG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogY2lyY2xlO1xyXG5cclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAud3AtYmxvY2stZ2FsbGVyeSxcclxuICAud3AtYmxvY2stY29sdW1ucyB7XHJcbiAgICBtYXJnaW46IDFlbSAwO1xyXG4gIH1cclxufVxyXG5cclxuLnBvc3QsXHJcbi5wYWdlIHtcclxuICBtYXJnaW4tYm90dG9tOiAwO1xyXG59XHJcblxyXG4ucGFnZS1jb250ZW50LFxyXG4uZW50cnktY29udGVudCxcclxuLmVudHJ5LXN1bW1hcnkge1xyXG4gIG1hcmdpbi10b3A6IDFlbTtcclxufVxyXG5cclxucDpsYXN0LWNoaWxkIHtcclxuICBtYXJnaW4tYm90dG9tOiAwO1xyXG59XHJcblxyXG4jY29udGVudCB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG4gIGJvcmRlci1yYWRpdXM6IDNweDtcclxuICBib3JkZXI6IDFweCBzb2xpZCAkZ3JheS1tZWQ7XHJcbiAgbWFyZ2luLWJvdHRvbTogNGVtO1xyXG59XHJcblxyXG4uYmxvZyBhcnRpY2xlIHtcclxuICBtYXJnaW4tYm90dG9tOiAyZW07XHJcbn1cclxuXHJcbmZpZ3VyZSB7XHJcbiAgbWFyZ2luLWJvdHRvbTogMWVtO1xyXG59XHJcblxyXG5maWdjYXB0aW9uIHtcclxuICBmb250LXNpemU6IDAuOGVtO1xyXG59XHJcbiIsIi8qIEhlYWRlciAqL1xyXG4jbWFzdGhlYWQge1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4jc2l0ZS1icmFuZGluZyB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHBhZGRpbmc6IDA7XHJcblxyXG4gIC5jdXN0b20tbG9nby1saW5rIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIG1heC13aWR0aDogMzAwcHg7XHJcbiAgICB0b3A6IDFlbTtcclxuICAgIGxlZnQ6IDFlbTtcclxuICAgIGltZyB7XHJcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzO1xyXG4gICAgfVxyXG4gICAgaW1nOmhvdmVyIHtcclxuICAgICAgZmlsdGVyOiBkcm9wLXNoYWRvdygzcHggM3B4IDNweCAjOTk5KTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbiNzb2NpYWwtbmF2aWdhdGlvbiB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG5cclxuICAjc29jaWFsLWljb25zIHtcclxuICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCBhdXRvKTtcclxuICAgIGdyaWQtZ2FwOiAwLjVlbTtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIGp1c3RpZnktY29udGVudDogcmlnaHQ7XHJcbiAgICBwYWRkaW5nOiAwLjkzNzVyZW0gMS44NzVyZW07XHJcblxyXG4gICAgbGkge1xyXG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgIGZvbnQtc2l6ZTogMS43NWVtO1xyXG5cclxuICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0wLjI1ZW07XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGEge1xyXG4gICAgICBwYWRkaW5nOiAwIDAuMjVlbTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbiNwcmltYXJ5LW1lbnUge1xyXG4gIGRpc3BsYXk6IGdyaWQ7XHJcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgYXV0byk7XHJcbiAganVzdGlmeS1jb250ZW50OiByaWdodDtcclxuICBsaXN0LXN0eWxlOiBub25lO1xyXG4gIHBhZGRpbmc6IDEuODc1cmVtO1xyXG4gIG1hcmdpbjogMDtcclxuICBncmlkLWdhcDogMS4yNWVtO1xyXG4gIGZvbnQtc2l6ZTogMS4xNWVtO1xyXG5cclxuICAuY3VycmVudC1tZW51LWl0ZW0ge1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgfVxyXG5cclxuICBsaSArIGxpIGEge1xyXG4gICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAjY2NjO1xyXG4gICAgcGFkZGluZy1sZWZ0OiAxLjI1ZW07XHJcbiAgfVxyXG59XHJcblxyXG4vKiBQYWdlIGhlYWRpbmdzIChIMXMsIGJ1dHRvbnMpLiAqL1xyXG4ucGFnZS1oZWFkZXIsXHJcbi5lbnRyeS1oZWFkZXIge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdyYXktbWVkO1xyXG4gIHBhZGRpbmc6IDAuNWVtIDAgMWVtIDA7XHJcbiAgbWFyZ2luLWJvdHRvbTogMmVtO1xyXG5cclxuICAuYnV0dG9uIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgdG9wOiAwLjVlbTtcclxuICB9XHJcbn1cclxuXHJcbi8qIEhpZGUgaG9tZSdzIEgxLiAqL1xyXG4uaG9tZSAucGFnZS1oZWFkZXIge1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi8vIEJyZWFrcG9pbnQ6IHNtYWxsXHJcbkBpbmNsdWRlIGJyZWFrcG9pbnQocykge1xyXG4gICNzaXRlLWJyYW5kaW5nIC5jdXN0b20tbG9nby1saW5rIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHBhZGRpbmc6IDFlbTtcclxuICB9XHJcblxyXG4gICNzb2NpYWwtbmF2aWdhdGlvbiB7XHJcbiAgICAjc29jaWFsLWljb25zIHtcclxuICAgICAgZ3JpZC1nYXA6IDJlbTtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgIGxpIHtcclxuICAgICAgICBmb250LXNpemU6IDJlbTtcclxuXHJcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICNwcmltYXJ5LW1lbnUge1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBmb250LXNpemU6IDEuMjVlbTtcclxuICB9XHJcbn1cclxuXHJcbi8vIEJyZWFrcG9pbnQ6IHgtc21hbGxcclxuQGluY2x1ZGUgYnJlYWtwb2ludCh4cykge1xyXG4gICNzb2NpYWwtbmF2aWdhdGlvbiB7XHJcbiAgICAjc29jaWFsLWljb25zIHtcclxuICAgICAgbGkge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMi4yNWVtO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAjcHJpbWFyeS1tZW51IHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgZm9udC1zaXplOiAxLjVlbTtcclxuICAgIHBhZGRpbmc6IDA7XHJcblxyXG4gICAgbGkge1xyXG4gICAgICBwYWRkaW5nOiAwLjkzNzVyZW07XHJcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjO1xyXG4gICAgfVxyXG4gICAgbGkgKyBsaSBhIHtcclxuICAgICAgcGFkZGluZzogMDtcclxuICAgICAgYm9yZGVyOiAwIG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvb3RlclxyXG4uc2l0ZS1pbmZvIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcclxuICAgIHBhZGRpbmc6IDFlbSAwO1xyXG59IiwiLyogNDA0IFBhZ2UgKi9cclxuLmVycm9yNDA0IHtcclxuXHQucGFnZS1jb250ZW50IHtcclxuXHRcdHBhZGRpbmctcmlnaHQ6IDFlbTtcclxuXHJcblx0XHRwIHtcclxuXHRcdFx0bWFyZ2luOiAxZW0gMCAyZW0gMDtcclxuXHRcdH1cclxuXHJcblx0XHRpbWcge1xyXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0d2lkdGg6IDYwJTtcclxuXHRcdFx0bWFyZ2luOiA0ZW0gYXV0byAyZW0gYXV0bztcclxuXHRcdH1cclxuXHRcdFxyXG5cdFx0LnNlYXJjaC1mb3JtIHtcclxuXHRcdFx0bGFiZWwge1xyXG5cdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDJlbTtcclxuXHRcdFx0fVxyXG5cdFx0XHQuc2VhcmNoLWZpZWxkIHtcclxuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IC43NWVtO1xyXG5cdFx0XHRcdG1hcmdpbjogMDtcclxuXHRcdFx0fVxyXG5cdFx0XHQuc2VhcmNoLWZpZWxkOjpwbGFjZWhvbGRlciB7XHJcblx0XHRcdFx0Y29sb3I6ICRibGFjaztcclxuXHRcdFx0fVxyXG5cdFx0XHQuc2VhcmNoLWZpZWxkOmZvY3VzOjpwbGFjZWhvbGRlciB7XHJcblx0XHRcdFx0b3BhY2l0eTogMDtcclxuXHRcdFx0fVxyXG5cdFx0XHQuc2VhcmNoLXN1Ym1pdCB7XHJcblx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cdGFzaWRlIHtcclxuXHRcdHBhZGRpbmc6IC41ZW0gMCAwIDFlbTtcclxuXHRcdGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGdyYXktbWVkO1xyXG5cclxuXHRcdC5hbGwtcGFnZXMge1xyXG5cdFx0XHRtYXJnaW4tdG9wOiAxZW07XHJcblx0XHR9XHJcblx0XHQuYWxsLXBhZ2VzIHVse1xyXG5cdFx0XHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcblx0XHRcdG1hcmdpbi1sZWZ0OiAwO1xyXG5cdFx0fVxyXG5cdFx0LmFsbC1wYWdlcyB1bC5jaGlsZHJlbiB7XHJcblx0XHRcdG1hcmdpbi1sZWZ0OiAxZW07XHJcblx0XHR9XHJcblx0fVxyXG59IiwiLyogV1AgQWRtaW4gQmFyKi9cclxuXHJcbi8vIEhpZGUgVW5uZWNlc3NhcnkgSXRlbXMgJiBBZGRpbmcgSWNvbnNcclxuI3dwYWRtaW5iYXIgLnF1aWNrbGlua3MgLmFiLWVtcHR5LWl0ZW0ge1xyXG4gIHBhZGRpbmc6IDAgMS41ZW07XHJcbn1cclxuI3dwYWRtaW5iYXIgdWwjd3AtYWRtaW4tYmFyLXJvb3QtZGVmYXVsdCA+IGxpIGEge1xyXG4gIHBhZGRpbmc6IDAgMS41ZW07XHJcbn1cclxuI3dwYWRtaW5iYXIgdWwjd3AtYWRtaW4tYmFyLXJvb3QtZGVmYXVsdCBsaSArIGxpIHtcclxuICBib3JkZXItbGVmdDogMXB4IGRvdHRlZCAkZ3JheS1kYXJrO1xyXG59XHJcbiN3cC1hZG1pbi1iYXItd3AtbG9nbyxcclxuI3dwLWFkbWluLWJhci1jb21tZW50cyxcclxuI3dwLWFkbWluLWJhci1teS1hY2NvdW50LFxyXG4jd3AtYWRtaW4tYmFyLWFtZi1jbG9zZS1hZG1pbi1wYW5lbCxcclxuI3dwLWFkbWluLWJhci1zaXRlLW5hbWUgLmFiLXN1Yi13cmFwcGVyLFxyXG4jd3AtYWRtaW4tYmFyLWN1c3RvbWl6ZSxcclxuI3dwLWFkbWluLWJhci13aWRnZXRzIHtcclxuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8vIE1ha2Ugc29tZSBwbHVnaW4gYnV0dG9ucyBncmF5ICYgZmxvYXRlZCByaWdodC5cclxuI3dwLWFkbWluLWJhci11cGRyYWZ0X2FkbWluX25vZGUsXHJcbiN3cC1hZG1pbi1iYXItU0dfQ2FjaGVQcmVzc19TdXBlcmNhY2hlcl9QdXJnZSxcclxuI3dwLWFkbWluLWJhci1xdWVyeS1tb25pdG9yIHtcclxuICBiYWNrZ3JvdW5kOiAkZ3JheS1kYXJrICFpbXBvcnRhbnQ7XHJcbiAgYm9yZGVyLWxlZnQtY29sb3I6ICRibGFjayAhaW1wb3J0YW50O1xyXG4gIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4vLyBcIlZpZXcgUGFnZVwiIGJ1dHRvbiBpY29uXHJcbiN3cC1hZG1pbi1iYXItdmlldyA+IC5hYi1pdGVtOjpiZWZvcmUsXHJcbiN3cC1hZG1pbi1iYXItYXJjaGl2ZSA+IC5hYi1pdGVtOjpiZWZvcmUsXHJcbiN3cC1hZG1pbi1iYXItc3RldmVyLXF1b3Rlcy1lZGl0YWxsID4gLmFiLWl0ZW06OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYxNzdcIjtcclxuICBmb250LXNpemU6IDEuM2VtO1xyXG4gIHBhZGRpbmctdG9wOiAwLjVlbTtcclxufVxyXG4vLyBcIkVuZHVyYW5jZSBDYWNoZVwiIGJ1dHRvbiBpY29uXHJcbiN3cC1hZG1pbi1iYXItZXBjX3B1cmdlX21lbnUgPiAuYWItaXRlbTo6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjE2MFwiO1xyXG4gIHBhZGRpbmctdG9wOiAwLjNlbTtcclxufVxyXG4vLyBcIlF1ZXJ5IE1vbml0b3JcIiBidXR0b24gaWNvblxyXG4jd3AtYWRtaW4tYmFyLXF1ZXJ5LW1vbml0b3IgPiAuYWItaXRlbTo6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZjMyMVwiO1xyXG4gIHBhZGRpbmctdG9wOiAwLjNlbTtcclxufVxyXG5cclxuLyogV1AgQWRtaW4gTWVudSAqL1xyXG4vLyBBZG1pbiBNZW51IEl0ZW1zOiBIaWRpbmcgVW5uZWNlc3NhcnkgT25lc1xyXG4jbWVudS1jb21tZW50cyxcclxuI21lbnUtdXNlcnMsXHJcbiN0b3BsZXZlbF9wYWdlX2d1dGVuYmVyZyB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLyogSW50ZXJmYWNlIEJhciAqL1xyXG4uaW50ZXJmYWNlLXBpbm5lZC1pdGVtcyBidXR0b25bYXJpYS1sYWJlbD1cIllvYXN0IFNFT1wiXSB7XHJcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG59XHJcbiIsIi8vIE1hcCBQYWdlc1xyXG4uc3RldmVyLW1hcC1wYWdlIGFydGljbGUge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG4jc3RldmVyLWVkaXRtYXAge1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR0b3A6IDAuNWVtO1xyXG5cdHJpZ2h0OiAwO1xyXG5cdG1hcmdpbjogMDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS1saWdodDtcclxufVxyXG5cclxuI3N0ZXZlci1tYXBmaWx0ZXIge1xyXG4gICAgcGFkZGluZzogLjI1ZW0gLjVlbTtcclxufSIsIi8qIFBhZ2Utc3BlY2lmaWM6IFByb2Zlc3Npb25hbCBEZXZlbG9wbWVudCAqL1xyXG4uc3ItdGFibGUtcHJvLWRldiB7XHJcbiAgLm5vbmUtZm91bmQge1xyXG4gICAgYmFja2dyb3VuZDogJGdyYXktbGlnaHQ7XHJcbiAgICBwYWRkaW5nOiAwLjc1ZW0gMWVtO1xyXG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGJsYWNrO1xyXG4gIH1cclxuICAubGVnZW5kIHtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyZW07XHJcblxyXG4gICAgbGkge1xyXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgIHBhZGRpbmc6IDAuMjVlbSAwLjVlbTtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcclxuXHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgJGdyZWVuLWxpZ2h0O1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgIGNvbG9yOiBibGFjaztcclxuICAgICAgfVxyXG4gICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCAkZ3JlZW4tYnJpZ2h0O1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRncmVlbi1saWdodGVzdDtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5zaG93LWFsbCB7XHJcbiAgICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgJGdyYXk7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkZ3JheS1saWdodDtcclxuICAgIH1cclxuXHJcbiAgICBpIHtcclxuICAgICAgd2lkdGg6IDQwcHg7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgcGFkZGluZy1yaWdodDogMWVtO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBRdW90ZXMgQXJjaGl2ZVxyXG4ucG9zdC10eXBlLWFyY2hpdmUtc3RldmVyX3F1b3RlcyB7XHJcblx0LmVudHJ5LWhlYWRlciB7XHJcblx0XHRib3JkZXI6IDAgbm9uZTtcclxuXHR9XHJcblx0LmVudHJ5LWNvbnRlbnQge1xyXG5cdFx0bWFyZ2luOiAyLjVlbSAwO1xyXG5cdH1cclxuXHRibG9ja3F1b3RlIHtcclxuXHRcdGJvcmRlci13aWR0aDogNXB4O1xyXG5cdFx0cGFkZGluZy1sZWZ0OiAxLjI1ZW07XHJcblx0XHRiYWNrZ3JvdW5kOiByZ2IoMjU1LDI1NSwyNTUpO1xyXG5cdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KCA5MGRlZywgXHJcblx0XHRcdHJnYmEoIDI1NSwgMjU1LCAyNTUsIDAgKSAxMCUsIFxyXG5cdFx0XHQjRjhGOEY4IDUwJSwgXHJcblx0XHRcdHJnYmEoIDI1NSwgMjU1LCAyNTUsIDAgKSA5MCUgKTtcclxuXHRcdG1hcmdpbi1ib3R0b206IDA7XHJcblx0fVxyXG59XHJcblxyXG4vLyBRdW90ZXMgQXJjaGl2ZSAoaW4gc2xpZGVob3cgbW9kZSlcclxuLnF1b3Rlcy1zbGlkZXNob3cge1xyXG5cdG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHRcclxuXHQmLmZpeGF0ZS1hZG1pbi1tZW51LmZvbGRlZCB7XHJcblx0XHRtYXJnaW46IDAgIWltcG9ydGFudDtcclxuXHR9XHJcblx0XHJcblx0Ym9keSxcclxuXHQuc2l0ZSB7XHJcblx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0XHRtYXJnaW46IDA7XHJcblx0XHRwYWRkaW5nOiAwO1xyXG5cdH1cclxuXHRcclxuXHQvLyBIaWRlIHBhZ2UgZWxlbWVudHMuXHJcblx0I3dwYWRtaW5iYXIsXHJcblx0I21hc3RoZWFkLFxyXG5cdC5wYWdlLWhlYWRlcixcclxuXHQuc2l0ZS1mb290ZXIsXHJcblx0YXJ0aWNsZXtcclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0fVxyXG5cdC5zaXRlIHtcclxuXHRcdGRpc3BsYXk6IHRhYmxlO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0fVxyXG5cdC5zaXRlLWNvbnRlbnQge1xyXG5cdFx0ZGlzcGxheTogdGFibGUtY2VsbDtcclxuXHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcblx0fVxyXG5cdFxyXG5cdGFydGljbGUuYWN0aXZlIHtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdH1cclxuXHRcclxuXHQucXVvdGVzLXByb2dyZXNzLWluZGljYXRvciB7XHJcblx0XHRoZWlnaHQ6IDVweDtcclxuXHRcdGJhY2tncm91bmQ6ICRncmF5LW1lZDtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdGJvdHRvbTogMDtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0bGVmdDogMDtcclxuXHRcdFxyXG5cdFx0c3BhbntcclxuXHRcdFx0d2lkdGg6IDAlO1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiByZWQ7XHJcblx0XHRcdGhlaWdodDogNXB4O1xyXG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRcdHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcblx0XHR9XHJcblx0fVxyXG5cdFxyXG5cdGJsb2NrcXVvdGUge1xyXG5cdFx0cGFkZGluZzogMWVtIDEuNWVtIDFlbSAyZW07XHJcblx0XHRib3JkZXItd2lkdGg6IDFweDtcclxuXHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG5cdFx0XHJcblx0XHRwIHtcclxuXHRcdFx0Zm9udC1zaXplOiAyLjVlbTtcclxuXHRcdH1cclxuXHRcdGNpdGUge1xyXG5cdFx0XHRmb250LXNpemU6IDJlbTtcclxuXHRcdFx0bWFyZ2luLXRvcDogMWVtO1xyXG5cdFx0fVxyXG5cdH1cclxufSIsIi8qIE15IFRpbWUgYXQgQlUgUGFnZSAqL1xyXG5cclxuLy8gUmlwcGxlIHRyYW5zZm9ybSBmb3IgdG9vbHRpcCBpbmRpY2F0b3JzLlxyXG5Aa2V5ZnJhbWVzIHJpcHBsZSB7XHJcblx0ZnJvbSB7XHJcblx0XHR0cmFuc2Zvcm06IHNjYWxlKCAwICk7XHJcblx0XHRvcGFjaXR5OiAxO1xyXG5cdH1cclxuXHR0byB7XHJcblx0XHR0cmFuc2Zvcm06IHNjYWxlKCAzLjUgKTtcclxuXHRcdG9wYWNpdHk6IDA7XHJcblx0fVxyXG59XHJcblxyXG4vLyBUb29sdGlwLlxyXG4uc3ItYnUtdGltZWxpbmUgLnRwZC10b29sdGlwIHtcclxuICBtYXJnaW4tbGVmdDogMC4yNWVtO1xyXG59XHJcblxyXG4vLyBIZWFkaW5nICYgTGVnZW5kXHJcbi5pcy1zdHlsZS1zdGV2ZXItdGltZWxpbmUtaGVhZGluZ3tcclxuXHRoMyB7XHJcblx0XHRtYXJnaW4tdG9wOiAwO1xyXG5cdH1cclxuXHQudGltZWxpbmUtbGVnZW5kIHtcclxuXHRcdGg0IHtcclxuXHRcdFx0bWFyZ2luOiAwO1xyXG5cdFx0XHRwYWRkaW5nOiAwLjRlbSAwO1xyXG5cdFx0XHRib3JkZXI6IDFweCBzb2xpZCAkZ3JheS1tZWQ7XHJcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdH1cclxuXHRcdHAge1xyXG5cdFx0XHRtYXJnaW46IC4yNWVtIDAgMCAwO1xyXG5cdFx0XHRwYWRkaW5nOiAuMjVlbSAxZW07XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbkBpbmNsdWRlIGJyZWFrcG9pbnQoIG0gKXtcclxuXHQuaXMtc3R5bGUtc3RldmVyLXRpbWVsaW5lLWhlYWRpbmcge1xyXG5cdFx0LndwLWJsb2NrLWNvbHVtbjpmaXJzdC1jaGlsZCB7XHJcblx0XHRcdGZsZXgtYmFzaXM6IDY1JSAhaW1wb3J0YW50O1xyXG5cdFx0fVxyXG5cdFx0LndwLWJsb2NrLWNvbHVtbjpsYXN0LWNoaWxkIHtcclxuXHRcdFx0ZmxleC1iYXNpczogMzUlICFpbXBvcnRhbnQ7XHJcblx0XHRcdHBhZGRpbmctbGVmdDogMmVtO1xyXG5cdFx0XHRtYXJnaW4tbGVmdDogMDtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuQGluY2x1ZGUgYnJlYWtwb2ludCggeHMgKXtcclxuXHQuaXMtc3R5bGUtc3RldmVyLXRpbWVsaW5lLWhlYWRpbmcge1xyXG5cdFx0LndwLWJsb2NrLWNvbHVtbjpmaXJzdC1jaGlsZCxcclxuXHRcdC53cC1ibG9jay1jb2x1bW46bGFzdC1jaGlsZCB7XHJcblx0XHRcdGZsZXgtYmFzaXM6IDEwMCUgIWltcG9ydGFudDtcclxuXHRcdFx0cGFkZGluZzogMDtcclxuXHRcdH1cclxuXHRcdC53cC1ibG9jay1jb2x1bW46bGFzdC1jaGlsZCB7XHJcblx0XHRcdG1hcmdpbjogMmVtIDA7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4vLyBQZW9wbGU6IExlZ2VuZCBhbmQgVGFibGUuXHJcbi5kZXYtbWUge1xyXG5cdGJhY2tncm91bmQ6ICR0aW1lbGluZS1tZTtcclxuXHRib3JkZXI6IDJweCBzb2xpZCAkZ3JlZW4tZGFyaztcclxuXHRjb2xvcjogJHdoaXRlO1xyXG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG59XHJcbi5kZXYtZGlyZWN0e1xyXG5cdGJhY2tncm91bmQ6ICR0aW1lbGluZS1kZXY7XHJcblx0Y29sb3I6ICR3aGl0ZTtcclxuXHRmb250LXdlaWdodDogYm9sZDtcclxufVxyXG4ubWFuYWdlci1kaXJlY3Qge1xyXG5cdGJhY2tncm91bmQ6ICR0aW1lbGluZS1tYW5hZ2VyO1xyXG5cdGNvbG9yOiAkd2hpdGU7XHJcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcbn1cclxuLmRldi1vdGhlcixcclxuLm1hbmFnZXItb3RoZXIge1xyXG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cdGJhY2tncm91bmQ6ICRncmF5LWxpZ2h0O1xyXG59XHJcbi5kZXYtb3RoZXIge1xyXG5cdGJvcmRlcjogMnB4IGRvdHRlZCAkdGltZWxpbmUtZGV2O1xyXG59XHJcbi5tYW5hZ2VyLW90aGVyIHtcclxuXHRib3JkZXI6IDJweCBkb3R0ZWQgJHRpbWVsaW5lLW1hbmFnZXI7XHJcbn1cclxuLmRldi1vdGhlciBzcGFuLFxyXG4ubWFuYWdlci1vdGhlciBzcGFuIHtcclxuXHRwYWRkaW5nOiAwIDIuNWVtO1xyXG59XHJcblxyXG4vLyBUYWJsZVxyXG4udGltZWxpbmUge1xyXG5cdG92ZXJmbG93LXg6IHNjcm9sbDtcclxuXHRib3JkZXI6IDFweCBzb2xpZCAkZ3JheS1tZWQ7XHJcblxyXG5cdHRhYmxlIHtcclxuXHRcdHRhYmxlLWxheW91dDogZml4ZWQ7XHJcblx0XHRib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlO1xyXG5cdFx0Ym9yZGVyLXNwYWNpbmc6IDAgMXB4O1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMWVtO1xyXG5cdFx0XHJcblx0XHR0ZCB7XHJcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0d2lkdGg6IDEwMHB4O1xyXG5cdFx0XHRwYWRkaW5nOiA1cHg7XHJcblx0XHR9XHJcbiAgICB9XHJcblx0XHJcblx0c3BhbiB7XHJcblx0XHRwb3NpdGlvbjogc3RpY2t5O1xyXG5cdFx0cGFkZGluZzogMCAyZW07XHJcblx0XHRsZWZ0OiAwO1xyXG5cdH1cclxuXHJcblx0dGhlYWQge1xyXG5cdFx0Lm1vbnRocyB7XHJcblx0XHRcdGZvbnQtc2l6ZTogLjc1ZW07XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR0ZWFsO1xyXG5cdFx0XHRjb2xvcjogJHdoaXRlO1xyXG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRcdFxyXG5cdFx0XHR0ZCB7XHJcblx0XHRcdFx0cGFkZGluZzogMTBweDtcclxuXHRcdFx0XHRcclxuXHRcdFx0XHQvLyBBbmQgdGhlIG5leHQgdGQuXHJcblx0XHRcdFx0JiArIHRkIHtcclxuXHRcdFx0XHRcdGJvcmRlci1sZWZ0OiAxcHggc29saWQgJHRlYWwtbGlnaHQ7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0LnllYXJzIHtcclxuXHRcdFx0Zm9udC1zaXplOiAuNzVlbTtcclxuXHRcdFx0YmFja2dyb3VuZDogJHRlYWwtbGlnaHQ7XHJcblx0XHRcdGNvbG9yOiAkYmxhY2s7XHJcblx0XHRcdFxyXG5cdFx0XHR0ZCB7XHJcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiAxLjVlbTtcclxuXHRcdFx0XHRcclxuXHRcdFx0XHQvLyBBbmQgdGhlIG5leHQgdGQuXHJcblx0XHRcdFx0JiArIHRkIHtcclxuXHRcdFx0XHRcdGJvcmRlci1sZWZ0OiAxcHggc29saWQgJHRlYWw7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdHNwYW4ge1xyXG5cdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcblx0XHRcdFx0XHRsZWZ0OiAwLjVlbTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdHRib2R5IHtcclxuXHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0Ly8gWmVyby1XaWR0aCBOb24tSm9pbmVyIGh0dHBzOi8vYml0Lmx5LzM1b2pMYVdcclxuXHRcdFx0Y29udGVudDogXCJcXDIwMENcIjtcclxuXHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiAwLjVlbTtcclxuXHRcdH1cclxuXHRcdFxyXG5cdFx0dGQge1xyXG5cdFx0XHRib3JkZXItcmFkaXVzOiA1cHg7XHJcblx0XHR9XHJcblx0XHRcclxuXHRcdC8vIFRvb2x0aXAgSW5kaWNhdG9yc1xyXG5cdFx0Ly8gRGVmYXVsdCBpcyBsZWZ0IChpbmRpY2F0b3IgdGhlbiBzcGFuKS5cclxuXHRcdGkge1xyXG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdGZsb2F0OiBsZWZ0O1xyXG5cdFx0XHRtYXJnaW46IDQuNXB4IDAgMCAwLjI1ZW07XHJcblx0XHRcdHdpZHRoOiAxNXB4O1xyXG5cdFx0XHRoZWlnaHQ6IDE1cHg7XHJcblx0XHRcdGJhY2tncm91bmQ6ICR3aGl0ZTtcclxuXHRcdFx0Ym9yZGVyOiA1cHggc29saWQgJGJsYWNrO1xyXG5cdFx0XHRib3JkZXItcmFkaXVzOiA1MCU7XHJcblx0XHRcdGN1cnNvcjogcG9pbnRlcjtcclxuXHRcdH1cclxuXHRcdC8vIE92ZXJyaWRlIGZvciB3aGVuIChzcGFuIHRoZW4gaW5kaWNhdG9yKS5cclxuXHRcdHNwYW4gKyBpIHtcclxuXHRcdFx0ZmxvYXQ6IHJpZ2h0O1xyXG5cdFx0XHRsZWZ0OiBhdXRvO1xyXG5cdFx0XHRtYXJnaW46IDQuNXB4IDAuMjVlbSAwIDA7XHJcblx0XHR9XHJcblx0XHRcclxuXHRcdGk6YmVmb3JlLFxyXG5cdFx0aTphZnRlciB7XHJcblx0XHRcdGNvbnRlbnQ6IFwiXCI7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0ei1pbmRleDogMjtcclxuXHRcdFx0dG9wOiAtNXB4O1xyXG5cdFx0XHRsZWZ0OiAtNXB4O1xyXG5cdFx0XHRib3JkZXI6IDFweCBzb2xpZCAkYmxhY2s7XHJcblx0XHRcdHdpZHRoOiAxNXB4O1xyXG5cdFx0XHRoZWlnaHQ6IDE1cHg7XHJcblx0XHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcclxuXHRcdH1cclxuXHRcdGk6YmVmb3JlIHtcclxuXHRcdFx0YW5pbWF0aW9uOiByaXBwbGUgM3MgbGluZWFyIGluZmluaXRlO1xyXG5cdFx0fVxyXG5cdFx0aTphZnRlciB7XHJcblx0XHRcdGFuaW1hdGlvbjogcmlwcGxlIDNzIGxpbmVhciBpbmZpbml0ZSAwLjc1cztcclxuXHRcdH1cclxuXHR9XHJcblx0Ly8gQWRkIHRoaXMgdG8gdGhlIFwiWFlaIE1vbnRoIC0gTm93XCIgdG8gZ2l2ZSBpdCBleHRyYSB3aWR0aC5cclxuXHQuZXh0ZW5kZWQtd2lkdGgge1xyXG5cdFx0d2lkdGg6IDE1MHB4O1xyXG5cdH1cclxufSIsIi8qIFBvc3Qtc3BlY2lmaWM6IFRoZSBQb3dlciBvZiBLZWVwaW5nIExpc3RzICovXHJcbi5wb3N0LS1rZWVwaW5nLWxpc3RzIHtcclxuXHR0YWJsZSB7XHJcblx0XHRib3JkZXI6IDFweCBzb2xpZCAkZ3JheS1tZWQ7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAwO1xyXG5cdH1cclxuXHR0aGVhZCB7XHJcblx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdyYXktbWVkO1xyXG5cdH1cclxuXHR0ZCB7XHJcblx0XHRwYWRkaW5nOiA2cHg7XHJcblx0XHR2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG5cdH1cclxuXHR0YWJsZSB0ZCt0ZCxcclxuXHQud3AtYmxvY2stdGFibGUuaXMtc3R5bGUtc3RyaXBlcyB0aCt0aCxcclxuXHQud3AtYmxvY2stdGFibGUuaXMtc3R5bGUtc3RyaXBlcyB0ZCt0ZCB7XHJcblx0XHRib3JkZXItbGVmdDogMXB4IHNvbGlkICRncmF5LW1lZDtcclxuXHR9XHJcblx0LndwLWJsb2NrLXBiLWFjY29yZGlvbi1pdGVtIHtcclxuXHRcdG1hcmdpbi1ib3R0b206IDIuNWVtO1xyXG5cdH1cclxuXHRcclxuXHRAaW5jbHVkZSBicmVha3BvaW50KCBsICkge1xyXG5cdFx0ZmlndXJlLmFsaWducmlnaHQge1xyXG5cdFx0XHRmbG9hdDogbm9uZTtcclxuXHRcdFx0bWFyZ2luOiAwIGF1dG87XHJcblx0XHR9XHJcblx0fVxyXG59IiwiLypcclxuICogRGVidWdnaW5nIEJyZWFrcG9pbnRzLiBBZGRzIGhlbHBlciB0ZXh0IGF0IHRoZSBib3R0b20gb2YgdGhlIHBhZ2Ugd2hlbiBhIHBhZ2UgaGFzICdzci1icmVha3BvaW50cycgYXMgYSBjbGFzcy5cclxuICovXHJcbi5zci1icmVha3BvaW50cy5sb2dnZWQtaW4gI3BhZ2U6OmJlZm9yZSB7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIHotaW5kZXg6IDEwMDtcclxuICBib3R0b206IDA7XHJcbiAgbGVmdDogMDtcclxuICB3aWR0aDogMTAwJTtcclxuICBiYWNrZ3JvdW5kOiAjMDAwMDAwO1xyXG4gIGNvbG9yOiAjZmZmZmZmO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBwYWRkaW5nOiAwLjVlbSAwO1xyXG5cclxuICBAaW5jbHVkZSBicmVha3BvaW50KHhsKSB7XHJcbiAgICBjb250ZW50OiBcIlgtTGFyZ2UgJiB1cC4gbWluLXdpZHRoOiA2NGVtICh+MTAyNHB4KVwiO1xyXG4gIH1cclxuICBAaW5jbHVkZSBicmVha3BvaW50KHApIHtcclxuICAgIGNvbnRlbnQ6IFwiUGFnZS13aWR0aCAmIGRvd24uIG1heC13aWR0aDogODdlbSAofjEzOTJweClcIjtcclxuICB9XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsKSB7XHJcbiAgICBjb250ZW50OiBcIkxhcmdlICYgZG93bi4gbWF4LXdpZHRoOiA2My45Mzc1ZW0gKH4xMDIzcHgpXCI7XHJcbiAgfVxyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobSkge1xyXG4gICAgY29udGVudDogXCJNZWRpdW0gJiBkb3duLiBtYXgtd2lkdGg6IDQ4Ljc1ZW0gKH43ODBweClcIjtcclxuICB9XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzKSB7XHJcbiAgICBjb250ZW50OiBcIlNtYWxsICYgZG93bi4gbWF4LXdpZHRoOiA0MGVtICh+NjQwcHgpXCI7XHJcbiAgfVxyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHMpIHtcclxuICAgIGNvbnRlbnQ6IFwiWC1TbWFsbCBvbmx5LiBtYXgtd2lkdGg6IDI3LjVlbSAofjQ0MHB4KVwiO1xyXG4gIH1cclxufVxyXG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0VBV0U7QUVWRixBQUFBLE9BQU8sQ0FBQztFQUNOLE9BQU8sRUFBRSxlQUFlO0VBQ3hCLFVBQVUsRUFBRSxNQUFNLEdBQ25COztBQUdELEFBQUEsY0FBYyxDQUFDLDhCQUE4QixDQUFDO0VBQzVDLFdBQVcsRUFBRSxHQUFHLEdBQ2pCOztBRDZERyxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU07RUMzRDNCLEFBQUEsY0FBYyxDQUFDLDhCQUE4QixDQUFDO0lBQzVDLFdBQVcsRUFBRSxDQUFDLEdBQ2Y7O0FBSUgsQUFBQSxtQkFBbUIsQ0FBQztFQUNsQixXQUFXLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0RIZixPQUFPO0VDSWQsVUFBVSxFRFRDLE9BQU87RUNVbEIsT0FBTyxFQUFFLEdBQUcsR0FLYjtFQVJELEFBS0UsbUJBTGlCLENBS2pCLENBQUMsQ0FBQztJQUNBLE1BQU0sRUFBRSxNQUFNLEdBQ2Y7O0FBSUgsQUFDRSxjQURZLENBQUMsZ0NBQWdDLEdBQzNDLEVBQUUsQ0FBQztFQUNILGFBQWEsRUFBRSxLQUFLLEdBQ3JCOztBQUhILEFBSUUsY0FKWSxDQUFDLGdDQUFnQyxDQUk3QyxFQUFF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 */