@bizdoc/core 1.16.9 → 1.16.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/system/{Microsoft_Azure.svg → Azure.svg} +0 -0
- package/assets/system/QAD.svg +12 -358
- package/assets/system/priority.svg +19 -0
- package/esm2020/lib/admin/configuration-designer/cube-axes-filter.component.mjs +2 -2
- package/esm2020/lib/admin/configuration-designer/declarations.mjs +108 -0
- package/esm2020/lib/admin/configuration-designer/designer-element.component.mjs +120 -223
- package/esm2020/lib/admin/configuration-designer/designer.base.mjs +23 -82
- package/esm2020/lib/admin/configuration-designer/designer.component.mjs +5 -3
- package/esm2020/lib/admin/configuration-designer/elements/action.component.mjs +3 -3
- package/esm2020/lib/admin/configuration-designer/elements/analysis-view.component.mjs +13 -12
- package/esm2020/lib/admin/configuration-designer/elements/analysis-widget.component.mjs +13 -12
- package/esm2020/lib/admin/configuration-designer/elements/cube.component.mjs +89 -75
- package/esm2020/lib/admin/configuration-designer/elements/documents-widget.component.mjs +4 -3
- package/esm2020/lib/admin/configuration-designer/elements/folder.component.mjs +3 -3
- package/esm2020/lib/admin/configuration-designer/elements/form.component.mjs +6 -5
- package/esm2020/lib/admin/configuration-designer/elements/guide.component.mjs +3 -3
- package/esm2020/lib/admin/configuration-designer/elements/report.component.mjs +3 -3
- package/esm2020/lib/admin/configuration-designer/elements/return-to-role-action.component.mjs +1 -1
- package/esm2020/lib/admin/configuration-designer/elements/role.component.mjs +6 -12
- package/esm2020/lib/admin/configuration-designer/elements/rule.component.mjs +3 -3
- package/esm2020/lib/admin/configuration-designer/elements/state.component.mjs +3 -3
- package/esm2020/lib/admin/configuration-designer/elements/tasks-report.component.mjs +1 -1
- package/esm2020/lib/admin/configuration-designer/elements/type.component.mjs +3 -3
- package/esm2020/lib/admin/configuration-designer/elements/utility.component.mjs +5 -11
- package/esm2020/lib/admin/configuration-designer/elements/view.component.mjs +3 -3
- package/esm2020/lib/admin/configuration-designer/elements/widget.component.mjs +3 -3
- package/esm2020/lib/core/translations.mjs +10 -4
- package/esm2020/lib/system.module.mjs +6 -6
- package/esm2020/public-api.mjs +2 -2
- package/fesm2015/bizdoc-core.mjs +468 -521
- package/fesm2015/bizdoc-core.mjs.map +1 -1
- package/fesm2020/bizdoc-core.mjs +463 -508
- package/fesm2020/bizdoc-core.mjs.map +1 -1
- package/lib/admin/configuration-designer/cube-axes-filter.component.d.ts +1 -1
- package/lib/admin/configuration-designer/declarations.d.ts +203 -0
- package/lib/admin/configuration-designer/designer-element.component.d.ts +45 -65
- package/lib/admin/configuration-designer/designer.base.d.ts +5 -197
- package/lib/admin/configuration-designer/designer.component.d.ts +1 -1
- package/lib/admin/configuration-designer/elements/analysis-view.component.d.ts +1 -1
- package/lib/admin/configuration-designer/elements/analysis-widget.component.d.ts +1 -1
- package/lib/admin/configuration-designer/elements/cube.component.d.ts +30 -26
- package/lib/admin/configuration-designer/elements/documents-widget.component.d.ts +2 -1
- package/lib/admin/configuration-designer/elements/folder.component.d.ts +2 -1
- package/lib/admin/configuration-designer/elements/form.component.d.ts +2 -1
- package/lib/admin/configuration-designer/elements/report.component.d.ts +2 -1
- package/lib/admin/configuration-designer/elements/return-to-role-action.component.d.ts +2 -1
- package/lib/admin/configuration-designer/elements/role.component.d.ts +2 -1
- package/lib/admin/configuration-designer/elements/rule.component.d.ts +1 -1
- package/lib/admin/configuration-designer/elements/tasks-report.component.d.ts +2 -1
- package/lib/admin/configuration-designer/elements/view.component.d.ts +1 -1
- package/lib/admin/configuration-designer/elements/widget.component.d.ts +3 -2
- package/lib/core/translations.d.ts +9 -3
- package/lib/system.module.d.ts +16 -16
- package/package.json +1 -1
- package/public-api.d.ts +2 -2
@@ -0,0 +1,108 @@
|
|
1
|
+
import { Injector } from "@angular/core";
|
2
|
+
import { isString } from "../../core/functions";
|
3
|
+
import { Subject } from "rxjs";
|
4
|
+
export const FAMILY_SVG = {
|
5
|
+
"Azure": `<svg width="34" height="34" viewBox="0 0 96 96" xmlns="http://www.w3.org/2000/svg">
|
6
|
+
<defs>
|
7
|
+
<linearGradient id="e399c19f-b68f-429d-b176-18c2117ff73c" x1="-1032.172" x2="-1059.213" y1="145.312" y2="65.426" gradientTransform="matrix(1 0 0 -1 1075 158)" gradientUnits="userSpaceOnUse">
|
8
|
+
<stop offset="0" stop-color="#114a8b"/>
|
9
|
+
<stop offset="1" stop-color="#0669bc"/>
|
10
|
+
</linearGradient>
|
11
|
+
<linearGradient id="ac2a6fc2-ca48-4327-9a3c-d4dcc3256e15" x1="-1023.725" x2="-1029.98" y1="108.083" y2="105.968" gradientTransform="matrix(1 0 0 -1 1075 158)" gradientUnits="userSpaceOnUse">
|
12
|
+
<stop offset="0" stop-opacity=".3"/>
|
13
|
+
<stop offset=".071" stop-opacity=".2"/>
|
14
|
+
<stop offset=".321" stop-opacity=".1"/>
|
15
|
+
<stop offset=".623" stop-opacity=".05"/>
|
16
|
+
<stop offset="1" stop-opacity="0"/>
|
17
|
+
</linearGradient>
|
18
|
+
<linearGradient id="a7fee970-a784-4bb1-af8d-63d18e5f7db9" x1="-1027.165" x2="-997.482" y1="147.642" y2="68.561" gradientTransform="matrix(1 0 0 -1 1075 158)" gradientUnits="userSpaceOnUse">
|
19
|
+
<stop offset="0" stop-color="#3ccbf4"/>
|
20
|
+
<stop offset="1" stop-color="#2892df"/>
|
21
|
+
</linearGradient>
|
22
|
+
</defs>
|
23
|
+
<path fill="url(#e399c19f-b68f-429d-b176-18c2117ff73c)" d="M33.338 6.544h26.038l-27.03 80.087a4.152 4.152 0 0 1-3.933 2.824H8.149a4.145 4.145 0 0 1-3.928-5.47L29.404 9.368a4.152 4.152 0 0 1 3.934-2.825z"/>
|
24
|
+
<path fill="#0078d4" d="M71.175 60.261h-41.29a1.911 1.911 0 0 0-1.305 3.309l26.532 24.764a4.171 4.171 0 0 0 2.846 1.121h23.38z"/>
|
25
|
+
<path fill="url(#ac2a6fc2-ca48-4327-9a3c-d4dcc3256e15)" d="M33.338 6.544a4.118 4.118 0 0 0-3.943 2.879L4.252 83.917a4.14 4.14 0 0 0 3.908 5.538h20.787a4.443 4.443 0 0 0 3.41-2.9l5.014-14.777 17.91 16.705a4.237 4.237 0 0 0 2.666.972H81.24L71.024 60.261l-29.781.007L59.47 6.544z"/>
|
26
|
+
<path fill="url(#a7fee970-a784-4bb1-af8d-63d18e5f7db9)" d="M66.595 9.364a4.145 4.145 0 0 0-3.928-2.82H33.648a4.146 4.146 0 0 1 3.928 2.82l25.184 74.62a4.146 4.146 0 0 1-3.928 5.472h29.02a4.146 4.146 0 0 0 3.927-5.472z"/>
|
27
|
+
</svg>`,
|
28
|
+
'SAP': '<svg xmlns="http://www.w3.org/2000/svg" width="92" height="34" viewBox="0 0 92 45"><linearGradient id="a" gradientUnits="userSpaceOnUse" x1="45.483" x2="45.483" y2="45.001"><stop offset="0" stop-color="#00AEEF"/><stop offset=".212" stop-color="#0097DC"/><stop offset=".519" stop-color="#007CC5"/><stop offset=".792" stop-color="#006CB8"/><stop offset="1" stop-color="#0066B3"/></linearGradient><path fill-rule="evenodd" clip-rule="evenodd" fill="url(#a)" d="M0 45h45.974L90.966 0H0v45"/><path fill-rule="evenodd" clip-rule="evenodd" fill="#fff" d="M53.984 9H45l.03 21.13-7.823-21.137H29.45l-6.678 17.653c-.71-4.492-5.354-6.042-9.008-7.203-2.413-.775-4.974-1.915-4.948-3.175.02-1.034 1.37-1.993 4.053-1.85 1.8.097 3.39.242 6.553 1.77l3.11-5.42C19.648 9.3 15.66 8.373 12.39 8.37h-.02c-3.813 0-6.988 1.235-8.956 3.27-1.372 1.42-2.112 3.226-2.142 5.223-.05 2.748.957 4.696 3.073 6.253 1.788 1.31 4.075 2.16 6.09 2.784 2.485.77 4.515 1.44 4.49 2.866-.02.52-.216 1.006-.59 1.398-.62.64-1.57.88-2.885.906-2.537.054-4.417-.345-7.413-2.116L1.27 34.444C4.263 36.146 7.44 37 11.05 37l.812-.006c3.142-.057 5.692-.81 7.718-2.44.116-.093.22-.187.328-.282l-.34 1.752 7.58-.024 1.36-3.482c1.43.488 3.056.758 4.782.758 1.682 0 3.264-.256 4.667-.716l.948 3.44 13.6.013.033-7.938h2.894c6.995 0 11.13-3.56 11.13-9.53C66.56 11.896 62.54 9 53.984 9zM33.29 27.062c-1.045 0-2.025-.182-2.868-.502l2.836-8.955h.055l2.79 8.98c-.84.3-1.797.477-2.814.477zm21.22-5.145h-1.974V14.7h1.975c2.63 0 4.73.876 4.73 3.562-.002 2.78-2.1 3.655-4.73 3.655"/><path fill="none" d="M0 0h92v45H0z"/></svg>',
|
29
|
+
'Mfg': `<svg height="34" viewBox="0 0 100 50" xmlns="http://www.w3.org/2000/svg">
|
30
|
+
<defs></defs>
|
31
|
+
<rect width="93" height="38" style="fill: rgb(216, 216, 216);"></rect>
|
32
|
+
<g transform="matrix(1, 0, 0, 1, 5, 6)">
|
33
|
+
<g>
|
34
|
+
<g>
|
35
|
+
<path fill="#FFFFFF" d="M41.1,1.8l13.1,20.5h-3.8L47,17.1H35.6l-3.1,5.2h-3.8L41.1,1.8z M37.2,14.5h8.1l-4.2-6.6L37.2,14.5z"></path>
|
36
|
+
<path fill="#FFFFFF" d="M59.3,2.5h9.3c8.8,0,12.7,5.2,12.7,9.9c0,5.1-4.8,9.9-12.6,9.9h-9.3V2.5z M62.7,19.7h5.4
|
37
|
+
c7.8,0,9.5-4.9,9.5-7.4c0-4-3-7.4-9.7-7.4h-5.3V19.7z"></path>
|
38
|
+
<path fill="#FFFFFF" d="M25.7,12.3c0-5.8-5.4-10.1-12.5-10.1C5.4,2.2,0,6.4,0,12.4c0,6,5.4,10.2,13.1,10.2c1.4,0,2.6-0.2,3.8-0.5
|
39
|
+
l3.3,2.6h5l-4.9-3.9C23.6,19,25.7,15.9,25.7,12.3z M13.1,20c-6.4,0-9.5-3.5-9.5-7.5c0-3,2.3-7.6,9.5-7.6c5.3,0,9.2,3.3,9.2,7.7
|
40
|
+
C22.1,16.5,18.4,20,13.1,20z"></path>
|
41
|
+
</g>
|
42
|
+
</g>
|
43
|
+
</g>
|
44
|
+
</svg>`,
|
45
|
+
'Priority': `<svg fill="none" height="60" viewBox="0 0 240 133" xmlns="http://www.w3.org/2000/svg">
|
46
|
+
<g>
|
47
|
+
<path d="M 0 0 L 240 0 L 240 80.47 L 0 80.47 L 0 0 Z" fill="#fff" style=""/>
|
48
|
+
<g transform="matrix(1, 0, 0, 1, -12.524841, -24.591444)">
|
49
|
+
<path d="M 177.748 50.673 L 173.642 50.673 L 173.642 55.022 L 177.748 55.022 L 177.748 50.673 Z" fill="#00aeef"/>
|
50
|
+
<path d="M 62.734 56.578 C 62.734 55.44 62.423 55.077 61.437 55.026 L 59.263 54.869 L 59.263 50.674 L 68.019 50.674 L 68.019 54.558 C 69.211 51.968 71.956 49.896 75.373 49.896 C 77.086 49.896 78.64 50.207 80.348 51.035 L 80.348 58.755 L 75.531 59.117 L 75.531 56.734 C 75.531 56.113 75.428 55.647 75.012 55.44 C 74.544 55.232 74.18 55.18 73.613 55.18 C 70.815 55.18 68.898 57.409 68.898 60.414 L 68.898 72.431 L 73.408 72.636 L 73.408 76.73 L 59.52 76.73 L 59.52 72.795 L 61.232 72.636 C 62.217 72.533 62.734 72.224 62.734 70.929 L 62.734 56.578 Z" fill="#000"/>
|
51
|
+
<path d="M 115.469 63.832 C 115.469 58.031 114.074 54.456 109.93 54.456 C 105.833 54.456 104.177 57.978 104.177 62.952 C 104.177 67.768 104.85 72.946 109.825 72.946 C 113.865 72.946 115.469 69.221 115.469 63.832 Z M 110.239 49.896 C 114.074 49.896 121.789 51.085 121.789 63.003 C 121.789 72.946 116.247 77.507 109.41 77.507 C 102.467 77.507 97.909 73.053 97.909 63.674 C 97.909 52.902 104.904 49.896 110.239 49.896 Z" fill="#000"/>
|
52
|
+
<path d="M 127.543 56.578 C 127.543 55.44 127.235 55.077 126.25 55.026 L 124.072 54.869 L 124.072 50.674 L 132.83 50.674 L 132.83 54.558 C 134.019 51.968 136.766 49.896 140.187 49.896 C 141.894 49.896 143.449 50.207 145.158 51.035 L 145.158 58.755 L 140.341 59.117 L 140.341 56.734 C 140.341 56.113 140.238 55.647 139.822 55.44 C 139.356 55.232 138.995 55.18 138.425 55.18 C 135.625 55.18 133.71 57.409 133.71 60.414 L 133.71 72.431 L 138.215 72.636 L 138.215 76.73 L 124.333 76.73 L 124.333 72.795 L 126.042 72.636 C 127.026 72.533 127.543 72.224 127.543 70.929 L 127.543 56.578 Z" fill="#000"/>
|
53
|
+
<path d="M 202.016 71.812 C 200.203 74.4 197.046 75.851 193.622 75.851 C 188.443 75.851 185.594 73.001 185.594 66.887 L 185.594 56.477 C 185.594 55.386 185.178 55.078 184.301 55.023 L 182.639 54.921 L 182.639 50.673 L 191.756 50.673 L 191.756 65.541 C 191.756 68.7 192.274 71.084 195.591 71.084 C 199.22 71.084 201.136 68.647 201.136 65.957 L 201.136 56.578 C 201.136 55.44 200.822 55.023 199.837 55.023 L 198.182 54.921 L 198.182 50.673 L 207.297 50.673 L 207.297 75.747 C 207.297 84.296 203 87.817 195.278 87.817 C 192.016 87.817 187.719 87.196 185.544 86.109 L 185.544 80.694 L 190.463 80.278 L 190.463 80.978 C 190.463 81.962 190.721 82.482 191.657 82.843 C 192.639 83.207 193.781 83.362 195.334 83.362 C 200.099 83.362 202.016 80.461 202.016 75.747 L 202.016 71.812 Z" fill="#000"/>
|
54
|
+
<path d="M 157.671 72.43 L 157.671 50.674 L 148.398 50.674 L 148.398 54.972 L 150.21 55.077 C 151.193 55.077 151.508 55.439 151.508 56.577 L 151.535 76.73 L 160.622 76.73 L 160.622 72.586 L 157.671 72.43 Z" fill="#000"/>
|
55
|
+
<path d="M 92.86 72.43 L 92.86 50.674 L 83.589 50.674 L 83.589 54.972 L 85.399 55.077 C 86.386 55.077 86.697 55.439 86.697 56.577 L 86.669 76.73 L 95.814 76.73 L 95.814 72.586 L 92.86 72.43 Z" fill="#000"/>
|
56
|
+
<path d="M 179.171 71.653 C 178.346 72.173 177.048 72.741 175.653 72.741 C 173.524 72.741 172.281 71.811 172.281 68.647 L 172.281 45.183 L 168.916 45.183 C 167.828 48.134 166.586 50.933 162.958 51.242 L 162.442 55.023 L 166.12 55.023 L 166.12 68.855 C 166.12 72.481 166.066 77.455 174.144 77.455 C 176.582 77.455 179.171 76.73 180.728 75.644 L 179.171 71.653 Z" fill="#000"/>
|
57
|
+
<path d="M 44.332 72.587 C 42.986 72.587 41.121 72.173 39.775 71.291 L 39.775 59.377 C 39.775 56.995 42.053 54.92 45.007 54.92 C 47.751 54.92 50.242 56.684 50.242 63.572 C 50.242 68.077 48.737 72.587 44.332 72.587 Z M 47.289 49.896 C 42.884 49.896 40.036 52.279 39.103 54.04 L 39.103 50.675 L 30.347 50.675 L 30.347 54.868 L 32.525 55.023 C 33.507 55.023 33.816 55.44 33.816 56.578 L 33.781 87.455 L 43.968 87.455 L 43.968 83.362 L 39.775 83.153 L 39.775 76.005 C 41.121 76.833 43.296 77.507 45.317 77.507 C 52.158 77.507 56.662 72.587 56.662 63.055 C 56.662 53.783 53.038 49.896 47.289 49.896 Z" fill="#000"/>
|
58
|
+
<path d="M 212.882 72.662 L 212.882 73.272 L 211.674 73.272 L 211.674 76.676 L 210.927 76.676 L 210.927 73.272 L 209.717 73.272 L 209.717 72.662 L 212.882 72.662 Z" fill="#000"/>
|
59
|
+
<path d="M 215.401 75.194 C 215.429 75.258 215.456 75.322 215.48 75.388 C 215.51 75.322 215.534 75.253 215.564 75.19 C 215.589 75.124 215.618 75.066 215.65 75.004 L 216.84 72.781 C 216.855 72.752 216.868 72.73 216.884 72.717 C 216.901 72.697 216.921 72.685 216.939 72.678 C 216.956 72.669 216.98 72.668 217.003 72.665 C 217.023 72.663 217.057 72.662 217.089 72.662 L 217.653 72.662 L 217.653 76.676 L 216.994 76.676 L 216.994 74.082 C 216.994 74.033 216.995 73.98 216.999 73.926 C 217.002 73.866 217.005 73.809 217.011 73.751 L 215.799 76.026 C 215.77 76.075 215.734 76.117 215.689 76.146 C 215.646 76.175 215.594 76.187 215.534 76.187 L 215.433 76.187 C 215.373 76.187 215.319 76.175 215.275 76.146 C 215.233 76.117 215.195 76.075 215.165 76.026 L 213.941 73.742 C 213.947 73.803 213.95 73.861 213.953 73.92 C 213.957 73.978 213.958 74.032 213.958 74.082 L 213.958 76.676 L 213.299 76.676 L 213.299 72.662 L 213.866 72.662 C 213.899 72.662 213.924 72.663 213.95 72.665 C 213.974 72.668 213.992 72.669 214.015 72.678 C 214.035 72.685 214.052 72.697 214.067 72.717 C 214.089 72.73 214.103 72.752 214.116 72.781 L 215.314 75.009 C 215.348 75.068 215.375 75.133 215.401 75.194 Z" fill="#000"/>
|
60
|
+
</g>
|
61
|
+
</g>
|
62
|
+
</svg>`
|
63
|
+
};
|
64
|
+
/** */
|
65
|
+
export class DesignerRef {
|
66
|
+
constructor(_designer, _element, mode) {
|
67
|
+
this._designer = _designer;
|
68
|
+
this._element = _element;
|
69
|
+
this.mode = mode;
|
70
|
+
this._unlock$ = new Subject();
|
71
|
+
this._state$ = new Subject();
|
72
|
+
}
|
73
|
+
get designer() { return this._designer; }
|
74
|
+
get model() { return this._element; }
|
75
|
+
get unlock() { return this._unlock$.asObservable(); }
|
76
|
+
get state() { return this._state$.asObservable(); }
|
77
|
+
create(element, template) {
|
78
|
+
const ref = new DesignerRef(this._designer, element, 'widget');
|
79
|
+
const injector = Injector.create([{
|
80
|
+
provide: DesignerRef, useValue: ref
|
81
|
+
}], this._element.injector);
|
82
|
+
element.template = template;
|
83
|
+
element.injector = injector;
|
84
|
+
return element;
|
85
|
+
}
|
86
|
+
}
|
87
|
+
export function clone(element) {
|
88
|
+
return JSON.parse(JSON.stringify(element));
|
89
|
+
}
|
90
|
+
export function arrayOf(val) {
|
91
|
+
if (!val)
|
92
|
+
return [];
|
93
|
+
if (isString(val))
|
94
|
+
return [val];
|
95
|
+
return val;
|
96
|
+
}
|
97
|
+
const NAME_CHAR = /[A-Z]+/g, NON_NAME_CHAR = /[^\w]+/g;
|
98
|
+
/**
|
99
|
+
*
|
100
|
+
* @param name
|
101
|
+
*/
|
102
|
+
export function programName(name) {
|
103
|
+
return name.
|
104
|
+
replace(' ', '-').
|
105
|
+
replace(NAME_CHAR, (c, i) => (i > 0 && name.charAt(i - 1) !== '-' ? '-' : '') + c.toLowerCase()).
|
106
|
+
replace(NON_NAME_CHAR, '_');
|
107
|
+
}
|
108
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjbGFyYXRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9hZG1pbi9jb25maWd1cmF0aW9uLWRlc2lnbmVyL2RlY2xhcmF0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR3pDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVoRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRztJQUN4QixPQUFPLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0FzQko7SUFDTCxLQUFLLEVBQUUsMGhEQUEwaEQ7SUFDamlELEtBQUssRUFBRTs7Ozs7Ozs7Ozs7Ozs7O09BZUY7SUFDTCxVQUFVLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7O09BaUJQO0NBQ04sQ0FBQztBQUNGLE1BQU07QUFDTixNQUFNLE9BQU8sV0FBVztJQUd0QixZQUFvQixTQUF3QixFQUNsQyxRQUFzQixFQUN2QixJQUFnQjtRQUZMLGNBQVMsR0FBVCxTQUFTLENBQWU7UUFDbEMsYUFBUSxHQUFSLFFBQVEsQ0FBYztRQUN2QixTQUFJLEdBQUosSUFBSSxDQUFZO1FBSnpCLGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBVyxDQUFDO1FBQ2xDLFlBQU8sR0FBRyxJQUFJLE9BQU8sRUFBTyxDQUFDO0lBR0EsQ0FBQztJQUM5QixJQUFJLFFBQVEsS0FBbUIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUN2RCxJQUFJLEtBQUssS0FBcUIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUNyRCxJQUFJLE1BQU0sS0FBSyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3JELElBQUksS0FBSyxLQUFLLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDbkQsTUFBTSxDQUFDLE9BQW9CLEVBQUUsUUFBaUI7UUFDNUMsTUFBTSxHQUFHLEdBQUcsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxPQUF1QixFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQy9FLE1BQU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDaEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsR0FBRzthQUNwQyxDQUFDLEVBQUcsSUFBSSxDQUFDLFFBQXlCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDN0MsT0FBd0IsQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQzdDLE9BQXdCLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUM5QyxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0NBQ0Y7QUFRRCxNQUFNLFVBQVUsS0FBSyxDQUFDLE9BQXFCO0lBQ3pDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7QUFDN0MsQ0FBQztBQUNELE1BQU0sVUFBVSxPQUFPLENBQUMsR0FBc0I7SUFDNUMsSUFBSSxDQUFDLEdBQUc7UUFBRSxPQUFPLEVBQUUsQ0FBQztJQUNwQixJQUFJLFFBQVEsQ0FBQyxHQUFHLENBQUM7UUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDaEMsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDO0FBRUQsTUFBTSxTQUFTLEdBQUcsU0FBUyxFQUN6QixhQUFhLEdBQUcsU0FBUyxDQUFDO0FBQzVCOzs7R0FHRztBQUNILE1BQU0sVUFBVSxXQUFXLENBQUMsSUFBWTtJQUN0QyxPQUFPLElBQUk7UUFDVCxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQztRQUNqQixPQUFPLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDaEcsT0FBTyxDQUFDLGFBQWEsRUFBRSxHQUFHLENBQUMsQ0FBQztBQUNoQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0b3IgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgU2NvcGVUeXBlIH0gZnJvbSBcIi4uLy4uL2NvcmUvY29uZmlndXJhdGlvblwiO1xyXG5pbXBvcnQgeyBpc1N0cmluZyB9IGZyb20gXCIuLi8uLi9jb3JlL2Z1bmN0aW9uc1wiO1xyXG5pbXBvcnQgeyBBeGVzTWFwLCBDaGFydFR5cGUsIEN1YmVGaWx0ZXIsIEZpZWxkSW5mbywgRm9sZGVyQ29sdW1uLCBHdWlkZVN0ZXAsIFBvc2l0aW9uUG9saWN5LCBWaWV3VHlwZSB9IGZyb20gXCIuLi8uLi9jb3JlL21vZGVsc1wiO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcclxuZXhwb3J0IGNvbnN0IEZBTUlMWV9TVkcgPSB7XHJcbiAgXCJBenVyZVwiOiBgPHN2ZyB3aWR0aD1cIjM0XCIgaGVpZ2h0PVwiMzRcIiB2aWV3Qm94PVwiMCAwIDk2IDk2XCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgPGRlZnM+XHJcbiAgICAgICAgPGxpbmVhckdyYWRpZW50IGlkPVwiZTM5OWMxOWYtYjY4Zi00MjlkLWIxNzYtMThjMjExN2ZmNzNjXCIgeDE9XCItMTAzMi4xNzJcIiB4Mj1cIi0xMDU5LjIxM1wiIHkxPVwiMTQ1LjMxMlwiIHkyPVwiNjUuNDI2XCIgZ3JhZGllbnRUcmFuc2Zvcm09XCJtYXRyaXgoMSAwIDAgLTEgMTA3NSAxNTgpXCIgZ3JhZGllbnRVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XHJcbiAgICAgICAgICAgIDxzdG9wIG9mZnNldD1cIjBcIiBzdG9wLWNvbG9yPVwiIzExNGE4YlwiLz5cclxuICAgICAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMVwiIHN0b3AtY29sb3I9XCIjMDY2OWJjXCIvPlxyXG4gICAgICAgIDwvbGluZWFyR3JhZGllbnQ+XHJcbiAgICAgICAgPGxpbmVhckdyYWRpZW50IGlkPVwiYWMyYTZmYzItY2E0OC00MzI3LTlhM2MtZDRkY2MzMjU2ZTE1XCIgeDE9XCItMTAyMy43MjVcIiB4Mj1cIi0xMDI5Ljk4XCIgeTE9XCIxMDguMDgzXCIgeTI9XCIxMDUuOTY4XCIgZ3JhZGllbnRUcmFuc2Zvcm09XCJtYXRyaXgoMSAwIDAgLTEgMTA3NSAxNTgpXCIgZ3JhZGllbnRVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XHJcbiAgICAgICAgICAgIDxzdG9wIG9mZnNldD1cIjBcIiBzdG9wLW9wYWNpdHk9XCIuM1wiLz5cclxuICAgICAgICAgICAgPHN0b3Agb2Zmc2V0PVwiLjA3MVwiIHN0b3Atb3BhY2l0eT1cIi4yXCIvPlxyXG4gICAgICAgICAgICA8c3RvcCBvZmZzZXQ9XCIuMzIxXCIgc3RvcC1vcGFjaXR5PVwiLjFcIi8+XHJcbiAgICAgICAgICAgIDxzdG9wIG9mZnNldD1cIi42MjNcIiBzdG9wLW9wYWNpdHk9XCIuMDVcIi8+XHJcbiAgICAgICAgICAgIDxzdG9wIG9mZnNldD1cIjFcIiBzdG9wLW9wYWNpdHk9XCIwXCIvPlxyXG4gICAgICAgIDwvbGluZWFyR3JhZGllbnQ+XHJcbiAgICAgICAgPGxpbmVhckdyYWRpZW50IGlkPVwiYTdmZWU5NzAtYTc4NC00YmIxLWFmOGQtNjNkMThlNWY3ZGI5XCIgeDE9XCItMTAyNy4xNjVcIiB4Mj1cIi05OTcuNDgyXCIgeTE9XCIxNDcuNjQyXCIgeTI9XCI2OC41NjFcIiBncmFkaWVudFRyYW5zZm9ybT1cIm1hdHJpeCgxIDAgMCAtMSAxMDc1IDE1OClcIiBncmFkaWVudFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cclxuICAgICAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMFwiIHN0b3AtY29sb3I9XCIjM2NjYmY0XCIvPlxyXG4gICAgICAgICAgICA8c3RvcCBvZmZzZXQ9XCIxXCIgc3RvcC1jb2xvcj1cIiMyODkyZGZcIi8+XHJcbiAgICAgICAgPC9saW5lYXJHcmFkaWVudD5cclxuICAgIDwvZGVmcz5cclxuICAgIDxwYXRoIGZpbGw9XCJ1cmwoI2UzOTljMTlmLWI2OGYtNDI5ZC1iMTc2LTE4YzIxMTdmZjczYylcIiBkPVwiTTMzLjMzOCA2LjU0NGgyNi4wMzhsLTI3LjAzIDgwLjA4N2E0LjE1MiA0LjE1MiAwIDAgMS0zLjkzMyAyLjgyNEg4LjE0OWE0LjE0NSA0LjE0NSAwIDAgMS0zLjkyOC01LjQ3TDI5LjQwNCA5LjM2OGE0LjE1MiA0LjE1MiAwIDAgMSAzLjkzNC0yLjgyNXpcIi8+XHJcbiAgICA8cGF0aCBmaWxsPVwiIzAwNzhkNFwiIGQ9XCJNNzEuMTc1IDYwLjI2MWgtNDEuMjlhMS45MTEgMS45MTEgMCAwIDAtMS4zMDUgMy4zMDlsMjYuNTMyIDI0Ljc2NGE0LjE3MSA0LjE3MSAwIDAgMCAyLjg0NiAxLjEyMWgyMy4zOHpcIi8+XHJcbiAgICA8cGF0aCBmaWxsPVwidXJsKCNhYzJhNmZjMi1jYTQ4LTQzMjctOWEzYy1kNGRjYzMyNTZlMTUpXCIgZD1cIk0zMy4zMzggNi41NDRhNC4xMTggNC4xMTggMCAwIDAtMy45NDMgMi44NzlMNC4yNTIgODMuOTE3YTQuMTQgNC4xNCAwIDAgMCAzLjkwOCA1LjUzOGgyMC43ODdhNC40NDMgNC40NDMgMCAwIDAgMy40MS0yLjlsNS4wMTQtMTQuNzc3IDE3LjkxIDE2LjcwNWE0LjIzNyA0LjIzNyAwIDAgMCAyLjY2Ni45NzJIODEuMjRMNzEuMDI0IDYwLjI2MWwtMjkuNzgxLjAwN0w1OS40NyA2LjU0NHpcIi8+XHJcbiAgICA8cGF0aCBmaWxsPVwidXJsKCNhN2ZlZTk3MC1hNzg0LTRiYjEtYWY4ZC02M2QxOGU1ZjdkYjkpXCIgZD1cIk02Ni41OTUgOS4zNjRhNC4xNDUgNC4xNDUgMCAwIDAtMy45MjgtMi44MkgzMy42NDhhNC4xNDYgNC4xNDYgMCAwIDEgMy45MjggMi44MmwyNS4xODQgNzQuNjJhNC4xNDYgNC4xNDYgMCAwIDEtMy45MjggNS40NzJoMjkuMDJhNC4xNDYgNC4xNDYgMCAwIDAgMy45MjctNS40NzJ6XCIvPlxyXG48L3N2Zz5gLFxyXG4gICdTQVAnOiAnPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCI5MlwiIGhlaWdodD1cIjM0XCIgdmlld0JveD1cIjAgMCA5MiA0NVwiPjxsaW5lYXJHcmFkaWVudCBpZD1cImFcIiBncmFkaWVudFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIiB4MT1cIjQ1LjQ4M1wiIHgyPVwiNDUuNDgzXCIgeTI9XCI0NS4wMDFcIj48c3RvcCBvZmZzZXQ9XCIwXCIgc3RvcC1jb2xvcj1cIiMwMEFFRUZcIi8+PHN0b3Agb2Zmc2V0PVwiLjIxMlwiIHN0b3AtY29sb3I9XCIjMDA5N0RDXCIvPjxzdG9wIG9mZnNldD1cIi41MTlcIiBzdG9wLWNvbG9yPVwiIzAwN0NDNVwiLz48c3RvcCBvZmZzZXQ9XCIuNzkyXCIgc3RvcC1jb2xvcj1cIiMwMDZDQjhcIi8+PHN0b3Agb2Zmc2V0PVwiMVwiIHN0b3AtY29sb3I9XCIjMDA2NkIzXCIvPjwvbGluZWFyR3JhZGllbnQ+PHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGNsaXAtcnVsZT1cImV2ZW5vZGRcIiBmaWxsPVwidXJsKCNhKVwiIGQ9XCJNMCA0NWg0NS45NzRMOTAuOTY2IDBIMHY0NVwiLz48cGF0aCBmaWxsLXJ1bGU9XCJldmVub2RkXCIgY2xpcC1ydWxlPVwiZXZlbm9kZFwiIGZpbGw9XCIjZmZmXCIgZD1cIk01My45ODQgOUg0NWwuMDMgMjEuMTMtNy44MjMtMjEuMTM3SDI5LjQ1bC02LjY3OCAxNy42NTNjLS43MS00LjQ5Mi01LjM1NC02LjA0Mi05LjAwOC03LjIwMy0yLjQxMy0uNzc1LTQuOTc0LTEuOTE1LTQuOTQ4LTMuMTc1LjAyLTEuMDM0IDEuMzctMS45OTMgNC4wNTMtMS44NSAxLjguMDk3IDMuMzkuMjQyIDYuNTUzIDEuNzdsMy4xMS01LjQyQzE5LjY0OCA5LjMgMTUuNjYgOC4zNzMgMTIuMzkgOC4zN2gtLjAyYy0zLjgxMyAwLTYuOTg4IDEuMjM1LTguOTU2IDMuMjctMS4zNzIgMS40Mi0yLjExMiAzLjIyNi0yLjE0MiA1LjIyMy0uMDUgMi43NDguOTU3IDQuNjk2IDMuMDczIDYuMjUzIDEuNzg4IDEuMzEgNC4wNzUgMi4xNiA2LjA5IDIuNzg0IDIuNDg1Ljc3IDQuNTE1IDEuNDQgNC40OSAyLjg2Ni0uMDIuNTItLjIxNiAxLjAwNi0uNTkgMS4zOTgtLjYyLjY0LTEuNTcuODgtMi44ODUuOTA2LTIuNTM3LjA1NC00LjQxNy0uMzQ1LTcuNDEzLTIuMTE2TDEuMjcgMzQuNDQ0QzQuMjYzIDM2LjE0NiA3LjQ0IDM3IDExLjA1IDM3bC44MTItLjAwNmMzLjE0Mi0uMDU3IDUuNjkyLS44MSA3LjcxOC0yLjQ0LjExNi0uMDkzLjIyLS4xODcuMzI4LS4yODJsLS4zNCAxLjc1MiA3LjU4LS4wMjQgMS4zNi0zLjQ4MmMxLjQzLjQ4OCAzLjA1Ni43NTggNC43ODIuNzU4IDEuNjgyIDAgMy4yNjQtLjI1NiA0LjY2Ny0uNzE2bC45NDggMy40NCAxMy42LjAxMy4wMzMtNy45MzhoMi44OTRjNi45OTUgMCAxMS4xMy0zLjU2IDExLjEzLTkuNTNDNjYuNTYgMTEuODk2IDYyLjU0IDkgNTMuOTg0IDl6TTMzLjI5IDI3LjA2MmMtMS4wNDUgMC0yLjAyNS0uMTgyLTIuODY4LS41MDJsMi44MzYtOC45NTVoLjA1NWwyLjc5IDguOThjLS44NC4zLTEuNzk3LjQ3Ny0yLjgxNC40Nzd6bTIxLjIyLTUuMTQ1aC0xLjk3NFYxNC43aDEuOTc1YzIuNjMgMCA0LjczLjg3NiA0LjczIDMuNTYyLS4wMDIgMi43OC0yLjEgMy42NTUtNC43MyAzLjY1NVwiLz48cGF0aCBmaWxsPVwibm9uZVwiIGQ9XCJNMCAwaDkydjQ1SDB6XCIvPjwvc3ZnPicsXHJcbiAgJ01mZyc6IGA8c3ZnIGhlaWdodD1cIjM0XCIgdmlld0JveD1cIjAgMCAxMDAgNTBcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgPGRlZnM+PC9kZWZzPlxyXG4gIDxyZWN0IHdpZHRoPVwiOTNcIiBoZWlnaHQ9XCIzOFwiIHN0eWxlPVwiZmlsbDogcmdiKDIxNiwgMjE2LCAyMTYpO1wiPjwvcmVjdD5cclxuICA8ZyB0cmFuc2Zvcm09XCJtYXRyaXgoMSwgMCwgMCwgMSwgNSwgNilcIj5cclxuICAgIDxnPlxyXG4gICAgICA8Zz5cclxuICAgICAgICA8cGF0aCBmaWxsPVwiI0ZGRkZGRlwiIGQ9XCJNNDEuMSwxLjhsMTMuMSwyMC41aC0zLjhMNDcsMTcuMUgzNS42bC0zLjEsNS4yaC0zLjhMNDEuMSwxLjh6IE0zNy4yLDE0LjVoOC4xbC00LjItNi42TDM3LjIsMTQuNXpcIj48L3BhdGg+XHJcbiAgICAgICAgPHBhdGggZmlsbD1cIiNGRkZGRkZcIiBkPVwiTTU5LjMsMi41aDkuM2M4LjgsMCwxMi43LDUuMiwxMi43LDkuOWMwLDUuMS00LjgsOS45LTEyLjYsOS45aC05LjNWMi41eiBNNjIuNywxOS43aDUuNFxyXG5cdFx0XHRcdGM3LjgsMCw5LjUtNC45LDkuNS03LjRjMC00LTMtNy40LTkuNy03LjRoLTUuM1YxOS43elwiPjwvcGF0aD5cclxuICAgICAgICA8cGF0aCBmaWxsPVwiI0ZGRkZGRlwiIGQ9XCJNMjUuNywxMi4zYzAtNS44LTUuNC0xMC4xLTEyLjUtMTAuMUM1LjQsMi4yLDAsNi40LDAsMTIuNGMwLDYsNS40LDEwLjIsMTMuMSwxMC4yYzEuNCwwLDIuNi0wLjIsMy44LTAuNVxyXG5cdFx0XHRcdGwzLjMsMi42aDVsLTQuOS0zLjlDMjMuNiwxOSwyNS43LDE1LjksMjUuNywxMi4zeiBNMTMuMSwyMGMtNi40LDAtOS41LTMuNS05LjUtNy41YzAtMywyLjMtNy42LDkuNS03LjZjNS4zLDAsOS4yLDMuMyw5LjIsNy43XHJcblx0XHRcdFx0QzIyLjEsMTYuNSwxOC40LDIwLDEzLjEsMjB6XCI+PC9wYXRoPlxyXG4gICAgICA8L2c+XHJcbiAgICA8L2c+XHJcbiAgPC9nPlxyXG48L3N2Zz5gLFxyXG4gICdQcmlvcml0eSc6IGA8c3ZnIGZpbGw9XCJub25lXCIgaGVpZ2h0PVwiNjBcIiB2aWV3Qm94PVwiMCAwIDI0MCAxMzNcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgPGc+XHJcbiAgICA8cGF0aCBkPVwiTSAwIDAgTCAyNDAgMCBMIDI0MCA4MC40NyBMIDAgODAuNDcgTCAwIDAgWlwiIGZpbGw9XCIjZmZmXCIgc3R5bGU9XCJcIi8+XHJcbiAgICA8ZyB0cmFuc2Zvcm09XCJtYXRyaXgoMSwgMCwgMCwgMSwgLTEyLjUyNDg0MSwgLTI0LjU5MTQ0NClcIj5cclxuICAgICAgPHBhdGggZD1cIk0gMTc3Ljc0OCA1MC42NzMgTCAxNzMuNjQyIDUwLjY3MyBMIDE3My42NDIgNTUuMDIyIEwgMTc3Ljc0OCA1NS4wMjIgTCAxNzcuNzQ4IDUwLjY3MyBaXCIgZmlsbD1cIiMwMGFlZWZcIi8+XHJcbiAgICAgIDxwYXRoIGQ9XCJNIDYyLjczNCA1Ni41NzggQyA2Mi43MzQgNTUuNDQgNjIuNDIzIDU1LjA3NyA2MS40MzcgNTUuMDI2IEwgNTkuMjYzIDU0Ljg2OSBMIDU5LjI2MyA1MC42NzQgTCA2OC4wMTkgNTAuNjc0IEwgNjguMDE5IDU0LjU1OCBDIDY5LjIxMSA1MS45NjggNzEuOTU2IDQ5Ljg5NiA3NS4zNzMgNDkuODk2IEMgNzcuMDg2IDQ5Ljg5NiA3OC42NCA1MC4yMDcgODAuMzQ4IDUxLjAzNSBMIDgwLjM0OCA1OC43NTUgTCA3NS41MzEgNTkuMTE3IEwgNzUuNTMxIDU2LjczNCBDIDc1LjUzMSA1Ni4xMTMgNzUuNDI4IDU1LjY0NyA3NS4wMTIgNTUuNDQgQyA3NC41NDQgNTUuMjMyIDc0LjE4IDU1LjE4IDczLjYxMyA1NS4xOCBDIDcwLjgxNSA1NS4xOCA2OC44OTggNTcuNDA5IDY4Ljg5OCA2MC40MTQgTCA2OC44OTggNzIuNDMxIEwgNzMuNDA4IDcyLjYzNiBMIDczLjQwOCA3Ni43MyBMIDU5LjUyIDc2LjczIEwgNTkuNTIgNzIuNzk1IEwgNjEuMjMyIDcyLjYzNiBDIDYyLjIxNyA3Mi41MzMgNjIuNzM0IDcyLjIyNCA2Mi43MzQgNzAuOTI5IEwgNjIuNzM0IDU2LjU3OCBaXCIgZmlsbD1cIiMwMDBcIi8+XHJcbiAgICAgIDxwYXRoIGQ9XCJNIDExNS40NjkgNjMuODMyIEMgMTE1LjQ2OSA1OC4wMzEgMTE0LjA3NCA1NC40NTYgMTA5LjkzIDU0LjQ1NiBDIDEwNS44MzMgNTQuNDU2IDEwNC4xNzcgNTcuOTc4IDEwNC4xNzcgNjIuOTUyIEMgMTA0LjE3NyA2Ny43NjggMTA0Ljg1IDcyLjk0NiAxMDkuODI1IDcyLjk0NiBDIDExMy44NjUgNzIuOTQ2IDExNS40NjkgNjkuMjIxIDExNS40NjkgNjMuODMyIFogTSAxMTAuMjM5IDQ5Ljg5NiBDIDExNC4wNzQgNDkuODk2IDEyMS43ODkgNTEuMDg1IDEyMS43ODkgNjMuMDAzIEMgMTIxLjc4OSA3Mi45NDYgMTE2LjI0NyA3Ny41MDcgMTA5LjQxIDc3LjUwNyBDIDEwMi40NjcgNzcuNTA3IDk3LjkwOSA3My4wNTMgOTcuOTA5IDYzLjY3NCBDIDk3LjkwOSA1Mi45MDIgMTA0LjkwNCA0OS44OTYgMTEwLjIzOSA0OS44OTYgWlwiIGZpbGw9XCIjMDAwXCIvPlxyXG4gICAgICA8cGF0aCBkPVwiTSAxMjcuNTQzIDU2LjU3OCBDIDEyNy41NDMgNTUuNDQgMTI3LjIzNSA1NS4wNzcgMTI2LjI1IDU1LjAyNiBMIDEyNC4wNzIgNTQuODY5IEwgMTI0LjA3MiA1MC42NzQgTCAxMzIuODMgNTAuNjc0IEwgMTMyLjgzIDU0LjU1OCBDIDEzNC4wMTkgNTEuOTY4IDEzNi43NjYgNDkuODk2IDE0MC4xODcgNDkuODk2IEMgMTQxLjg5NCA0OS44OTYgMTQzLjQ0OSA1MC4yMDcgMTQ1LjE1OCA1MS4wMzUgTCAxNDUuMTU4IDU4Ljc1NSBMIDE0MC4zNDEgNTkuMTE3IEwgMTQwLjM0MSA1Ni43MzQgQyAxNDAuMzQxIDU2LjExMyAxNDAuMjM4IDU1LjY0NyAxMzkuODIyIDU1LjQ0IEMgMTM5LjM1NiA1NS4yMzIgMTM4Ljk5NSA1NS4xOCAxMzguNDI1IDU1LjE4IEMgMTM1LjYyNSA1NS4xOCAxMzMuNzEgNTcuNDA5IDEzMy43MSA2MC40MTQgTCAxMzMuNzEgNzIuNDMxIEwgMTM4LjIxNSA3Mi42MzYgTCAxMzguMjE1IDc2LjczIEwgMTI0LjMzMyA3Ni43MyBMIDEyNC4zMzMgNzIuNzk1IEwgMTI2LjA0MiA3Mi42MzYgQyAxMjcuMDI2IDcyLjUzMyAxMjcuNTQzIDcyLjIyNCAxMjcuNTQzIDcwLjkyOSBMIDEyNy41NDMgNTYuNTc4IFpcIiBmaWxsPVwiIzAwMFwiLz5cclxuICAgICAgPHBhdGggZD1cIk0gMjAyLjAxNiA3MS44MTIgQyAyMDAuMjAzIDc0LjQgMTk3LjA0NiA3NS44NTEgMTkzLjYyMiA3NS44NTEgQyAxODguNDQzIDc1Ljg1MSAxODUuNTk0IDczLjAwMSAxODUuNTk0IDY2Ljg4NyBMIDE4NS41OTQgNTYuNDc3IEMgMTg1LjU5NCA1NS4zODYgMTg1LjE3OCA1NS4wNzggMTg0LjMwMSA1NS4wMjMgTCAxODIuNjM5IDU0LjkyMSBMIDE4Mi42MzkgNTAuNjczIEwgMTkxLjc1NiA1MC42NzMgTCAxOTEuNzU2IDY1LjU0MSBDIDE5MS43NTYgNjguNyAxOTIuMjc0IDcxLjA4NCAxOTUuNTkxIDcxLjA4NCBDIDE5OS4yMiA3MS4wODQgMjAxLjEzNiA2OC42NDcgMjAxLjEzNiA2NS45NTcgTCAyMDEuMTM2IDU2LjU3OCBDIDIwMS4xMzYgNTUuNDQgMjAwLjgyMiA1NS4wMjMgMTk5LjgzNyA1NS4wMjMgTCAxOTguMTgyIDU0LjkyMSBMIDE5OC4xODIgNTAuNjczIEwgMjA3LjI5NyA1MC42NzMgTCAyMDcuMjk3IDc1Ljc0NyBDIDIwNy4yOTcgODQuMjk2IDIwMyA4Ny44MTcgMTk1LjI3OCA4Ny44MTcgQyAxOTIuMDE2IDg3LjgxNyAxODcuNzE5IDg3LjE5NiAxODUuNTQ0IDg2LjEwOSBMIDE4NS41NDQgODAuNjk0IEwgMTkwLjQ2MyA4MC4yNzggTCAxOTAuNDYzIDgwLjk3OCBDIDE5MC40NjMgODEuOTYyIDE5MC43MjEgODIuNDgyIDE5MS42NTcgODIuODQzIEMgMTkyLjYzOSA4My4yMDcgMTkzLjc4MSA4My4zNjIgMTk1LjMzNCA4My4zNjIgQyAyMDAuMDk5IDgzLjM2MiAyMDIuMDE2IDgwLjQ2MSAyMDIuMDE2IDc1Ljc0NyBMIDIwMi4wMTYgNzEuODEyIFpcIiBmaWxsPVwiIzAwMFwiLz5cclxuICAgICAgPHBhdGggZD1cIk0gMTU3LjY3MSA3Mi40MyBMIDE1Ny42NzEgNTAuNjc0IEwgMTQ4LjM5OCA1MC42NzQgTCAxNDguMzk4IDU0Ljk3MiBMIDE1MC4yMSA1NS4wNzcgQyAxNTEuMTkzIDU1LjA3NyAxNTEuNTA4IDU1LjQzOSAxNTEuNTA4IDU2LjU3NyBMIDE1MS41MzUgNzYuNzMgTCAxNjAuNjIyIDc2LjczIEwgMTYwLjYyMiA3Mi41ODYgTCAxNTcuNjcxIDcyLjQzIFpcIiBmaWxsPVwiIzAwMFwiLz5cclxuICAgICAgPHBhdGggZD1cIk0gOTIuODYgNzIuNDMgTCA5Mi44NiA1MC42NzQgTCA4My41ODkgNTAuNjc0IEwgODMuNTg5IDU0Ljk3MiBMIDg1LjM5OSA1NS4wNzcgQyA4Ni4zODYgNTUuMDc3IDg2LjY5NyA1NS40MzkgODYuNjk3IDU2LjU3NyBMIDg2LjY2OSA3Ni43MyBMIDk1LjgxNCA3Ni43MyBMIDk1LjgxNCA3Mi41ODYgTCA5Mi44NiA3Mi40MyBaXCIgZmlsbD1cIiMwMDBcIi8+XHJcbiAgICAgIDxwYXRoIGQ9XCJNIDE3OS4xNzEgNzEuNjUzIEMgMTc4LjM0NiA3Mi4xNzMgMTc3LjA0OCA3Mi43NDEgMTc1LjY1MyA3Mi43NDEgQyAxNzMuNTI0IDcyLjc0MSAxNzIuMjgxIDcxLjgxMSAxNzIuMjgxIDY4LjY0NyBMIDE3Mi4yODEgNDUuMTgzIEwgMTY4LjkxNiA0NS4xODMgQyAxNjcuODI4IDQ4LjEzNCAxNjYuNTg2IDUwLjkzMyAxNjIuOTU4IDUxLjI0MiBMIDE2Mi40NDIgNTUuMDIzIEwgMTY2LjEyIDU1LjAyMyBMIDE2Ni4xMiA2OC44NTUgQyAxNjYuMTIgNzIuNDgxIDE2Ni4wNjYgNzcuNDU1IDE3NC4xNDQgNzcuNDU1IEMgMTc2LjU4MiA3Ny40NTUgMTc5LjE3MSA3Ni43MyAxODAuNzI4IDc1LjY0NCBMIDE3OS4xNzEgNzEuNjUzIFpcIiBmaWxsPVwiIzAwMFwiLz5cclxuICAgICAgPHBhdGggZD1cIk0gNDQuMzMyIDcyLjU4NyBDIDQyLjk4NiA3Mi41ODcgNDEuMTIxIDcyLjE3MyAzOS43NzUgNzEuMjkxIEwgMzkuNzc1IDU5LjM3NyBDIDM5Ljc3NSA1Ni45OTUgNDIuMDUzIDU0LjkyIDQ1LjAwNyA1NC45MiBDIDQ3Ljc1MSA1NC45MiA1MC4yNDIgNTYuNjg0IDUwLjI0MiA2My41NzIgQyA1MC4yNDIgNjguMDc3IDQ4LjczNyA3Mi41ODcgNDQuMzMyIDcyLjU4NyBaIE0gNDcuMjg5IDQ5Ljg5NiBDIDQyLjg4NCA0OS44OTYgNDAuMDM2IDUyLjI3OSAzOS4xMDMgNTQuMDQgTCAzOS4xMDMgNTAuNjc1IEwgMzAuMzQ3IDUwLjY3NSBMIDMwLjM0NyA1NC44NjggTCAzMi41MjUgNTUuMDIzIEMgMzMuNTA3IDU1LjAyMyAzMy44MTYgNTUuNDQgMzMuODE2IDU2LjU3OCBMIDMzLjc4MSA4Ny40NTUgTCA0My45NjggODcuNDU1IEwgNDMuOTY4IDgzLjM2MiBMIDM5Ljc3NSA4My4xNTMgTCAzOS43NzUgNzYuMDA1IEMgNDEuMTIxIDc2LjgzMyA0My4yOTYgNzcuNTA3IDQ1LjMxNyA3Ny41MDcgQyA1Mi4xNTggNzcuNTA3IDU2LjY2MiA3Mi41ODcgNTYuNjYyIDYzLjA1NSBDIDU2LjY2MiA1My43ODMgNTMuMDM4IDQ5Ljg5NiA0Ny4yODkgNDkuODk2IFpcIiBmaWxsPVwiIzAwMFwiLz5cclxuICAgICAgPHBhdGggZD1cIk0gMjEyLjg4MiA3Mi42NjIgTCAyMTIuODgyIDczLjI3MiBMIDIxMS42NzQgNzMuMjcyIEwgMjExLjY3NCA3Ni42NzYgTCAyMTAuOTI3IDc2LjY3NiBMIDIxMC45MjcgNzMuMjcyIEwgMjA5LjcxNyA3My4yNzIgTCAyMDkuNzE3IDcyLjY2MiBMIDIxMi44ODIgNzIuNjYyIFpcIiBmaWxsPVwiIzAwMFwiLz5cclxuICAgICAgPHBhdGggZD1cIk0gMjE1LjQwMSA3NS4xOTQgQyAyMTUuNDI5IDc1LjI1OCAyMTUuNDU2IDc1LjMyMiAyMTUuNDggNzUuMzg4IEMgMjE1LjUxIDc1LjMyMiAyMTUuNTM0IDc1LjI1MyAyMTUuNTY0IDc1LjE5IEMgMjE1LjU4OSA3NS4xMjQgMjE1LjYxOCA3NS4wNjYgMjE1LjY1IDc1LjAwNCBMIDIxNi44NCA3Mi43ODEgQyAyMTYuODU1IDcyLjc1MiAyMTYuODY4IDcyLjczIDIxNi44ODQgNzIuNzE3IEMgMjE2LjkwMSA3Mi42OTcgMjE2LjkyMSA3Mi42ODUgMjE2LjkzOSA3Mi42NzggQyAyMTYuOTU2IDcyLjY2OSAyMTYuOTggNzIuNjY4IDIxNy4wMDMgNzIuNjY1IEMgMjE3LjAyMyA3Mi42NjMgMjE3LjA1NyA3Mi42NjIgMjE3LjA4OSA3Mi42NjIgTCAyMTcuNjUzIDcyLjY2MiBMIDIxNy42NTMgNzYuNjc2IEwgMjE2Ljk5NCA3Ni42NzYgTCAyMTYuOTk0IDc0LjA4MiBDIDIxNi45OTQgNzQuMDMzIDIxNi45OTUgNzMuOTggMjE2Ljk5OSA3My45MjYgQyAyMTcuMDAyIDczLjg2NiAyMTcuMDA1IDczLjgwOSAyMTcuMDExIDczLjc1MSBMIDIxNS43OTkgNzYuMDI2IEMgMjE1Ljc3IDc2LjA3NSAyMTUuNzM0IDc2LjExNyAyMTUuNjg5IDc2LjE0NiBDIDIxNS42NDYgNzYuMTc1IDIxNS41OTQgNzYuMTg3IDIxNS41MzQgNzYuMTg3IEwgMjE1LjQzMyA3Ni4xODcgQyAyMTUuMzczIDc2LjE4NyAyMTUuMzE5IDc2LjE3NSAyMTUuMjc1IDc2LjE0NiBDIDIxNS4yMzMgNzYuMTE3IDIxNS4xOTUgNzYuMDc1IDIxNS4xNjUgNzYuMDI2IEwgMjEzLjk0MSA3My43NDIgQyAyMTMuOTQ3IDczLjgwMyAyMTMuOTUgNzMuODYxIDIxMy45NTMgNzMuOTIgQyAyMTMuOTU3IDczLjk3OCAyMTMuOTU4IDc0LjAzMiAyMTMuOTU4IDc0LjA4MiBMIDIxMy45NTggNzYuNjc2IEwgMjEzLjI5OSA3Ni42NzYgTCAyMTMuMjk5IDcyLjY2MiBMIDIxMy44NjYgNzIuNjYyIEMgMjEzLjg5OSA3Mi42NjIgMjEzLjkyNCA3Mi42NjMgMjEzLjk1IDcyLjY2NSBDIDIxMy45NzQgNzIuNjY4IDIxMy45OTIgNzIuNjY5IDIxNC4wMTUgNzIuNjc4IEMgMjE0LjAzNSA3Mi42ODUgMjE0LjA1MiA3Mi42OTcgMjE0LjA2NyA3Mi43MTcgQyAyMTQuMDg5IDcyLjczIDIxNC4xMDMgNzIuNzUyIDIxNC4xMTYgNzIuNzgxIEwgMjE1LjMxNCA3NS4wMDkgQyAyMTUuMzQ4IDc1LjA2OCAyMTUuMzc1IDc1LjEzMyAyMTUuNDAxIDc1LjE5NCBaXCIgZmlsbD1cIiMwMDBcIi8+XHJcbiAgICA8L2c+XHJcbiAgPC9nPlxyXG48L3N2Zz5gXHJcbn07XHJcbi8qKiAqL1xyXG5leHBvcnQgY2xhc3MgRGVzaWduZXJSZWY8TyA9IGFueT4ge1xyXG4gIF91bmxvY2skID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcclxuICBfc3RhdGUkID0gbmV3IFN1YmplY3Q8YW55PigpO1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2Rlc2lnbmVyOiBEZXNpZ25lck1vZGVsLFxyXG4gICAgcHJpdmF0ZSBfZWxlbWVudDogRWxlbWVudE1vZGVsLFxyXG4gICAgcHVibGljIG1vZGU6IERlc2lnbk1vZGUpIHsgfVxyXG4gIGdldCBkZXNpZ25lcigpOiBEZXNpZ25lckluZm8geyByZXR1cm4gdGhpcy5fZGVzaWduZXI7IH1cclxuICBnZXQgbW9kZWwoKTogRWxlbWVudEluZm88Tz4geyByZXR1cm4gdGhpcy5fZWxlbWVudDsgfVxyXG4gIGdldCB1bmxvY2soKSB7IHJldHVybiB0aGlzLl91bmxvY2skLmFzT2JzZXJ2YWJsZSgpOyB9XHJcbiAgZ2V0IHN0YXRlKCkgeyByZXR1cm4gdGhpcy5fc3RhdGUkLmFzT2JzZXJ2YWJsZSgpOyB9XHJcbiAgY3JlYXRlKGVsZW1lbnQ6IEVsZW1lbnRJbmZvLCB0ZW1wbGF0ZT86IHN0cmluZykge1xyXG4gICAgY29uc3QgcmVmID0gbmV3IERlc2lnbmVyUmVmKHRoaXMuX2Rlc2lnbmVyLCBlbGVtZW50IGFzIEVsZW1lbnRNb2RlbCwgJ3dpZGdldCcpO1xyXG4gICAgY29uc3QgaW5qZWN0b3IgPSBJbmplY3Rvci5jcmVhdGUoW3tcclxuICAgICAgcHJvdmlkZTogRGVzaWduZXJSZWYsIHVzZVZhbHVlOiByZWZcclxuICAgIH1dLCAodGhpcy5fZWxlbWVudCBhcyBFbGVtZW50TW9kZWwpLmluamVjdG9yKTtcclxuICAgIChlbGVtZW50IGFzIEVsZW1lbnRNb2RlbCkudGVtcGxhdGUgPSB0ZW1wbGF0ZTtcclxuICAgIChlbGVtZW50IGFzIEVsZW1lbnRNb2RlbCkuaW5qZWN0b3IgPSBpbmplY3RvcjtcclxuICAgIHJldHVybiBlbGVtZW50O1xyXG4gIH1cclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIERlc2lnbmVyRWxlbWVudENvbXBvbmVudDxUPiB7XHJcbiAgbW9kZWw6IEVsZW1lbnRJbmZvPFQ+O1xyXG4gIG1vZGU6IERlc2lnbk1vZGU7XHJcbiAgZm9ybTogRm9ybUdyb3VwO1xyXG4gIG9uQ29udGludWU/KCk7XHJcbn1cclxuZXhwb3J0IGRlY2xhcmUgdHlwZSBEZXNpZ25Nb2RlID0gJ2FkZCcgfCAnZWRpdCcgfCAnd2lkZ2V0JztcclxuZXhwb3J0IGZ1bmN0aW9uIGNsb25lKGVsZW1lbnQ6IEVsZW1lbnRNb2RlbCkge1xyXG4gIHJldHVybiBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGVsZW1lbnQpKTtcclxufVxyXG5leHBvcnQgZnVuY3Rpb24gYXJyYXlPZih2YWw6IHN0cmluZyB8IHN0cmluZ1tdKSB7XHJcbiAgaWYgKCF2YWwpIHJldHVybiBbXTtcclxuICBpZiAoaXNTdHJpbmcodmFsKSkgcmV0dXJuIFt2YWxdO1xyXG4gIHJldHVybiB2YWw7XHJcbn1cclxuXHJcbmNvbnN0IE5BTUVfQ0hBUiA9IC9bQS1aXSsvZyxcclxuICBOT05fTkFNRV9DSEFSID0gL1teXFx3XSsvZztcclxuLyoqXHJcbiAqIFxyXG4gKiBAcGFyYW0gbmFtZVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHByb2dyYW1OYW1lKG5hbWU6IHN0cmluZykge1xyXG4gIHJldHVybiBuYW1lLlxyXG4gICAgcmVwbGFjZSgnICcsICctJykuXHJcbiAgICByZXBsYWNlKE5BTUVfQ0hBUiwgKGMsIGkpID0+IChpID4gMCAmJiBuYW1lLmNoYXJBdChpIC0gMSkgIT09ICctJyA/ICctJyA6ICcnKSArIGMudG9Mb3dlckNhc2UoKSkuXHJcbiAgICByZXBsYWNlKE5PTl9OQU1FX0NIQVIsICdfJyk7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBEZXNpZ25lck1vZGVsIHtcclxuICB0eXBlczogRWxlbWVudE1vZGVsPGFueT5bXTtcclxuICB0VHlwZXM6IFRlbXBsYXRlSW5mb1tdO1xyXG4gIGd1aWRlczogRWxlbWVudE1vZGVsPGFueT5bXTtcclxuICByZXBvcnRzOiBFbGVtZW50TW9kZWw8YW55PltdO1xyXG4gIHRSZXBvcnRzOiBUZW1wbGF0ZUluZm9bXTtcclxuICBmb3JtczogRWxlbWVudE1vZGVsPGFueT5bXTtcclxuICB0Rm9ybXM6IFRlbXBsYXRlSW5mb1tdO1xyXG4gIGN1YmVzOiBFbGVtZW50TW9kZWw8YW55PltdO1xyXG4gIHRDdWJlczogVGVtcGxhdGVJbmZvW107XHJcbiAgdXRpbGl0aWVzOiBFbGVtZW50TW9kZWw8YW55PltdO1xyXG4gIHRVdGlsaXRpZXM6IFRlbXBsYXRlSW5mb1tdO1xyXG4gIGZvbGRlcnM6IEVsZW1lbnRNb2RlbDxhbnk+W107XHJcbiAgcm9sZXM6IEVsZW1lbnRNb2RlbDxhbnk+W107XHJcbiAgcnVsZXM6IEVsZW1lbnRNb2RlbDxhbnk+W107XHJcbiAgdFJ1bGVzOiBUZW1wbGF0ZUluZm9bXTtcclxuICB2aWV3czogRWxlbWVudE1vZGVsPGFueT5bXTtcclxuICB0Vmlld3M6IFRlbXBsYXRlSW5mb1tdO1xyXG4gIHdpZGdldHM6IEVsZW1lbnRNb2RlbDxhbnk+W107XHJcbiAgdFdpZGdldHM6IFRlbXBsYXRlSW5mb1tdO1xyXG4gIGFjdGlvbnM6IEVsZW1lbnRNb2RlbDxhbnk+W107XHJcbiAgdEFjdGlvbnM6IFRlbXBsYXRlSW5mb1tdO1xyXG4gIHN0YXRlczogRWxlbWVudE1vZGVsPGFueT5bXTtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIFRlbXBsYXRlSW5mbyB7XHJcbiAgdGVtcGxhdGU/OiBzdHJpbmc7XHJcbiAgdGl0bGU/OiBzdHJpbmc7XHJcbiAga2V5Pzogc3RyaW5nO1xyXG4gIGljb24/OiBzdHJpbmc7XHJcbiAgZmFtaWx5Pzogc3RyaW5nO1xyXG4gIGhlbHA/OiBzdHJpbmc7XHJcbiAgdHlwZT86IHN0cmluZztcclxuICBhcmd1bWVudHM/OiBGaWVsZEluZm9bXTtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIEVsZW1lbnRNb2RlbDxUID0gYW55PiB7XHJcbiAga2V5Pzogc3RyaW5nO1xyXG4gIGluamVjdG9yOiBJbmplY3RvcjtcclxuICBvcmRpbmFsPzogbnVtYmVyO1xyXG4gIGhlbHA/OiBzdHJpbmc7XHJcbiAgY29uZmlndXJhdGlvbkZpbGU/OiBzdHJpbmc7XHJcbiAgdGVtcGxhdGU/OiBzdHJpbmc7XHJcbiAgaWNvbj86IHN0cmluZztcclxuICByZXNvdXJjZT86IHN0cmluZztcclxuICBjb3B5T2Y/OiBzdHJpbmc7XHJcbiAgZmFtaWx5Pzogc3RyaW5nO1xyXG4gIHR5cGU/OiBzdHJpbmc7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIHRpdGxlOiBzdHJpbmc7XHJcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xyXG4gIGRyYWZ0PzogYm9vbGVhbjtcclxuICBlbXB0eT86IGJvb2xlYW47XHJcbiAgb3B0aW9ucz86IFQ7XHJcbiAgYXJndW1lbnRzPzogRmllbGRJbmZvW107XHJcbiAgcHJpdmlsZWdlcz86IFByaXZpbGVnZXNNb2RlbDtcclxuICBmaWx0ZXJzPzogQ3ViZUZpbHRlcjtcclxuICBjb2x1bW5zPzogRm9sZGVyQ29sdW1uW107XHJcbiAgYW5vbWFseT86IEFub21hbHlQb2xpY3k7XHJcbiAgdmVyYj86IHN0cmluZztcclxuICB5b3U/OiBzdHJpbmc7XHJcbiAgeW91TWFsZT86IHN0cmluZztcclxuICB5b3VGZW1hbGU/OiBzdHJpbmc7XHJcbiAgcGFzdD86IHN0cmluZztcclxuICBwYXN0TWFsZT86IHN0cmluZztcclxuICBwYXN0RmVtYWxlPzogc3RyaW5nO1xyXG4gIGFkamVjdGl2ZT86IHN0cmluZztcclxuICBsb2dnYWJsZT86IGJvb2xlYW47XHJcbiAgYWRqZWN0aXZlUGx1cmFsPzogc3RyaW5nO1xyXG4gIGFzc2lnbmFibGU/OiBib29sZWFuO1xyXG4gIHBvc2l0aW9uPzogUG9zaXRpb25Qb2xpY3k7XHJcbiAgbXVsdGlwbGU/OiBib29sZWFuO1xyXG4gIHNoYXBlPzogc3RyaW5nO1xyXG4gIGdyb3VwPzogbnVtYmVyO1xyXG4gIGRhdGFUeXBlPzogc3RyaW5nO1xyXG4gIHN0ZXBzPzogR3VpZGVTdGVwW107XHJcbiAgY3VycmVuY3lDb2RlPzogc3RyaW5nO1xyXG4gIGF4ZXM/OiBDdWJlQXhpc01vZGVsW107XHJcbiAgdmlld3M/OiBDdWJlVmlld01vZGVsW107XHJcbiAgaW5kaWNlcz86IEN1YmVJbmRleE1vZGVsW107XHJcbiAgc2NvcGU/OiBTY29wZVR5cGU7XHJcbiAgY29sb3I/OiBzdHJpbmc7XHJcbiAgYmFja2dyb3VuZENvbG9yPzogc3RyaW5nO1xyXG4gIHJ1bGVzPzogUGVybWlzc2lvbk1vZGVsW107XHJcbiAgcG9zaXRpb25zPzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmdbXSB9O1xyXG4gIHBhdHRlcm5zPzogUGF0dGVybk1vZGVsW107XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBDdWJlSW5kZXhNb2RlbCB7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIGFjY3VtdWxhdGU/OiBib29sZWFuO1xyXG4gIGhpZGRlbj86IGJvb2xlYW47XHJcbiAgdGl0bGU6IHN0cmluZztcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIEN1YmVWaWV3TW9kZWwge1xyXG4gIHByaXZpbGVnZXM/OiBQcml2aWxlZ2VzTW9kZWw7XHJcbiAgeEF4aXM6IHN0cmluZ1tdO1xyXG4gIHNlcmllcz86IHN0cmluZ1tdO1xyXG4gIGZpbHRlcnM/OiBBeGVzTWFwO1xyXG4gIGluZGljZXM/OiBzdHJpbmdbXTtcclxuICBpY29uPzogc3RyaW5nO1xyXG4gIGd1aWRlPzogc3RyaW5nO1xyXG4gIG5hbWU6IHN0cmluZztcclxuICB0aXRsZTogc3RyaW5nO1xyXG4gIHR5cGU6IFZpZXdUeXBlO1xyXG4gIGNoYXJ0VHlwZT86IENoYXJ0VHlwZTtcclxuICBpbmRpY2VzQ2hhcnRUeXBlPzogQ2hhcnRUeXBlO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgQ3ViZUF4aXNNb2RlbCB7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIHRpdGxlOiBzdHJpbmc7XHJcbiAgZGF0YVR5cGU6IHN0cmluZztcclxuICBoaWRkZW4/OiBib29sZWFuO1xyXG4gIGNvbWJpbmF0aW9uPzogYm9vbGVhbjtcclxuICBpbmRleGFibGU/OiBib29sZWFuO1xyXG4gIHNlbnNpdGl2ZT86IGJvb2xlYW47XHJcbiAgcmVzb3VyY2VUeXBlPzogc3RyaW5nO1xyXG4gIHNlbGVjdGlvbk1vZGU/OiAnU2luZ2xlJyB8ICdQYXR0ZXJuJyB8ICdNdWx0aXBsZScgfCAnU2VhcmNoJyB8ICdOb25lJztcclxuICBkZXNjZW5kZW50T2Y/OiBzdHJpbmc7XHJcbn1cclxuZXhwb3J0IHR5cGUgQW5vbWFseVBvbGljeSA9ICdQb3NpdGlvbnMnIHwgJ1JlY2lwaWVudHMnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBQYXR0ZXJuTW9kZWwge1xyXG4gIHRpdGxlOiBzdHJpbmc7XHJcbiAgcmVzb3VyY2VUeXBlPzogc3RyaW5nO1xyXG4gIGF4ZXM6IEF4ZXNNYXA7XHJcbiAgcnVsZT86IHN0cmluZztcclxuICByb2xlcz86IHN0cmluZ1tdO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgUGVybWlzc2lvbk1vZGVsIHtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgdGl0bGU6IHN0cmluZztcclxuICBydWxlPzogc3RyaW5nO1xyXG4gIHJvbGVzPzogc3RyaW5nW107XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBQcml2aWxlZ2VzTW9kZWwge1xyXG4gIHJ1bGU/OiBzdHJpbmc7XHJcbiAgcm9sZXM/OiBzdHJpbmdbXTtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIERlc2lnbmVySW5mbyB7XHJcbiAgdHlwZXM6IEVsZW1lbnRJbmZvW107XHJcbiAgZ3VpZGVzOiBFbGVtZW50SW5mb1tdO1xyXG4gIHJlcG9ydHM6IEVsZW1lbnRJbmZvW107XHJcbiAgdFJlcG9ydHM6IFRlbXBsYXRlSW5mb1tdO1xyXG4gIGZvcm1zOiBFbGVtZW50SW5mb1tdO1xyXG4gIGN1YmVzOiBFbGVtZW50SW5mb1tdO1xyXG4gIHV0aWxpdGllczogRWxlbWVudEluZm9bXTtcclxuICBmb2xkZXJzOiBFbGVtZW50SW5mb1tdO1xyXG4gIHJvbGVzOiBFbGVtZW50SW5mb1tdO1xyXG4gIHJ1bGVzOiBFbGVtZW50SW5mb1tdO1xyXG4gIHZpZXdzOiBFbGVtZW50SW5mb1tdO1xyXG4gIHdpZGdldHM6IEVsZW1lbnRJbmZvW107XHJcbiAgYWN0aW9uczogRWxlbWVudEluZm9bXTtcclxuICBzdGF0ZXM6IEVsZW1lbnRJbmZvW107XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBFbGVtZW50SW5mbzxUID0gYW55PiB7XHJcbiAgZmFtaWx5Pzogc3RyaW5nO1xyXG4gIHR5cGU/OiBzdHJpbmc7XHJcbiAga2V5Pzogc3RyaW5nO1xyXG4gIG5hbWU6IHN0cmluZztcclxuICB0aXRsZTogc3RyaW5nO1xyXG4gIGRpc2FibGVkPzogYm9vbGVhbjtcclxuICBkcmFmdD86IGJvb2xlYW47XHJcbiAgZW1wdHk/OiBib29sZWFuO1xyXG4gIG9wdGlvbnM/OiBUO1xyXG59XHJcbiJdfQ==
|