pdm-ui-kit 0.1.32 → 0.1.33
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/esm2020/lib/components/button-group/button-group.component.mjs +1 -7
- package/esm2020/lib/components/date-picker/date-picker.component.mjs +60 -6
- package/esm2020/lib/components/popover/popover.component.mjs +74 -10
- package/esm2020/lib/components/select/select.component.mjs +60 -7
- package/fesm2015/pdm-ui-kit.mjs +192 -24
- package/fesm2015/pdm-ui-kit.mjs.map +1 -1
- package/fesm2020/pdm-ui-kit.mjs +189 -24
- package/fesm2020/pdm-ui-kit.mjs.map +1 -1
- package/lib/components/date-picker/date-picker.component.d.ts +6 -0
- package/lib/components/popover/popover.component.d.ts +15 -4
- package/lib/components/select/select.component.d.ts +11 -2
- package/package.json +1 -1
|
@@ -54,7 +54,6 @@ export class PdmButtonGroupComponent {
|
|
|
54
54
|
'[&>pdm-button>button]:!rounded-none',
|
|
55
55
|
'[&>pdm-button:first-child>button]:!rounded-l-md',
|
|
56
56
|
'[&>pdm-button:last-child>button]:!rounded-r-md',
|
|
57
|
-
'[&>pdm-button:not(:first-child)>button]:!border-l-0',
|
|
58
57
|
'[&>pdm-input>div>input]:!rounded-none',
|
|
59
58
|
'[&>pdm-input:first-child>div>input]:!rounded-l-md',
|
|
60
59
|
'[&>pdm-input:last-child>div>input]:!rounded-r-md',
|
|
@@ -72,12 +71,10 @@ export class PdmButtonGroupComponent {
|
|
|
72
71
|
'[&>pdm-tooltip>span>pdm-button>button]:!rounded-none',
|
|
73
72
|
'[&>pdm-tooltip:first-child>span>pdm-button>button]:!rounded-l-md',
|
|
74
73
|
'[&>pdm-tooltip:last-child>span>pdm-button>button]:!rounded-r-md',
|
|
75
|
-
'[&>pdm-tooltip:not(:first-child)>span>pdm-button>button]:!border-l-0',
|
|
76
74
|
'[&>pdm-tooltip>span>pdm-button>button]:shadow-none',
|
|
77
75
|
'[&>pdm-tooltip>span>button]:!rounded-none',
|
|
78
76
|
'[&>pdm-tooltip:first-child>span>button]:!rounded-l-md',
|
|
79
77
|
'[&>pdm-tooltip:last-child>span>button]:!rounded-r-md',
|
|
80
|
-
'[&>pdm-tooltip:not(:first-child)>span>button]:!border-l-0',
|
|
81
78
|
'[&>pdm-tooltip>span>button]:shadow-none',
|
|
82
79
|
'[&>pdm-tooltip>span>pdm-input>div>input]:!rounded-none',
|
|
83
80
|
'[&>pdm-tooltip:first-child>span>pdm-input>div>input]:!rounded-l-md',
|
|
@@ -137,7 +134,6 @@ export class PdmButtonGroupComponent {
|
|
|
137
134
|
'[&>pdm-input>div>input]:bg-background',
|
|
138
135
|
'[&>pdm-input>div>input]:shadow-none',
|
|
139
136
|
'[&>pdm-button>button]:shadow-none',
|
|
140
|
-
'[&>pdm-button:not(:first-child)>button]:!border-t-0',
|
|
141
137
|
'[&>pdm-tooltip>span>*]:rounded-none',
|
|
142
138
|
'[&>pdm-tooltip:first-child>span>*]:rounded-t-md',
|
|
143
139
|
'[&>pdm-tooltip:last-child>span>*]:rounded-b-md',
|
|
@@ -145,12 +141,10 @@ export class PdmButtonGroupComponent {
|
|
|
145
141
|
'[&>pdm-tooltip>span>pdm-button>button]:!rounded-none',
|
|
146
142
|
'[&>pdm-tooltip:first-child>span>pdm-button>button]:!rounded-t-md',
|
|
147
143
|
'[&>pdm-tooltip:last-child>span>pdm-button>button]:!rounded-b-md',
|
|
148
|
-
'[&>pdm-tooltip:not(:first-child)>span>pdm-button>button]:!border-t-0',
|
|
149
144
|
'[&>pdm-tooltip>span>pdm-button>button]:shadow-none',
|
|
150
145
|
'[&>pdm-tooltip>span>button]:!rounded-none',
|
|
151
146
|
'[&>pdm-tooltip:first-child>span>button]:!rounded-t-md',
|
|
152
147
|
'[&>pdm-tooltip:last-child>span>button]:!rounded-b-md',
|
|
153
|
-
'[&>pdm-tooltip:not(:first-child)>span>button]:!border-t-0',
|
|
154
148
|
'[&>pdm-tooltip>span>button]:shadow-none',
|
|
155
149
|
'[&>pdm-tooltip>span>pdm-input>div>input]:!rounded-none',
|
|
156
150
|
'[&>pdm-tooltip:first-child>span>pdm-input>div>input]:!rounded-t-md',
|
|
@@ -210,4 +204,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
210
204
|
}], className: [{
|
|
211
205
|
type: Input
|
|
212
206
|
}] } });
|
|
213
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9idXR0b24tZ3JvdXAvYnV0dG9uLWdyb3VwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9idXR0b24tZ3JvdXAvYnV0dG9uLWdyb3VwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFVMUUsTUFBTSxPQUFPLHVCQUF1QjtJQUxwQztRQU1XLFlBQU8sR0FBMEIsU0FBUyxDQUFDO1FBRzNDLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFDakIsY0FBUyxHQUFHLEVBQUUsQ0FBQztLQWdNekI7SUE5TEMsSUFBSSxXQUFXO1FBQ2IsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksWUFBWSxDQUFDO1FBQ2hGLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLEtBQUssYUFBYSxJQUFJLG9CQUFvQixLQUFLLFVBQVUsQ0FBQztRQUN6RixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxLQUFLLE9BQU8sQ0FBQztRQUN6QyxNQUFNLFVBQVUsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxTQUFTLENBQUM7UUFDakUsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sS0FBSyxXQUFXLENBQUM7UUFFakQsTUFBTSxlQUFlLEdBQUcsVUFBVSxJQUFJLENBQUMsT0FBTztZQUM1QyxDQUFDLENBQUMsVUFBVTtnQkFDVixDQUFDLENBQUM7b0JBQ0Usb0JBQW9CO29CQUNwQixnQ0FBZ0M7b0JBQ2hDLCtCQUErQjtvQkFDL0Is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LFdBQVc7Z0JBQ1QsQ0FBQyxDQUFDLHdFQUF3RTtnQkFDMUUsQ0FBQyxDQUFDLEVBQUU7WUFDTixJQUFJLENBQUMsU0FBUztTQUNmLENBQUM7SUFDSixDQUFDOztvSEFwTVUsdUJBQXVCO3dHQUF2Qix1QkFBdUIsNExDVnBDLDhPQU9BOzJGREdhLHVCQUF1QjtrQkFMbkMsU0FBUzsrQkFDRSxrQkFBa0IsbUJBRVgsdUJBQXVCLENBQUMsTUFBTTs4QkFHdEMsT0FBTztzQkFBZixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgdHlwZSBQZG1CdXR0b25Hcm91cFZhcmlhbnQgPSAnZGVmYXVsdCcgfCAnZ3JvdXAnIHwgJ29yaWVudGF0aW9uJyB8ICdzZXBhcmF0b3InO1xuZXhwb3J0IHR5cGUgUGRtQnV0dG9uR3JvdXBPcmllbnRhdGlvbiA9ICdob3Jpem9udGFsJyB8ICd2ZXJ0aWNhbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3BkbS1idXR0b24tZ3JvdXAnLFxuICB0ZW1wbGF0ZVVybDogJy4vYnV0dG9uLWdyb3VwLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgUGRtQnV0dG9uR3JvdXBDb21wb25lbnQge1xuICBASW5wdXQoKSB2YXJpYW50OiBQZG1CdXR0b25Hcm91cFZhcmlhbnQgPSAnZGVmYXVsdCc7XG4gIEBJbnB1dCgpIG9yaWVudGF0aW9uPzogUGRtQnV0dG9uR3JvdXBPcmllbnRhdGlvbjtcbiAgQElucHV0KCkgZGlyZWN0aW9uPzogUGRtQnV0dG9uR3JvdXBPcmllbnRhdGlvbjtcbiAgQElucHV0KCkgc2VwYXJhdGVkID0gdHJ1ZTtcbiAgQElucHV0KCkgY2xhc3NOYW1lID0gJyc7XG5cbiAgZ2V0IHJvb3RDbGFzc2VzKCk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCBlZmZlY3RpdmVPcmllbnRhdGlvbiA9IHRoaXMub3JpZW50YXRpb24gPz8gdGhpcy5kaXJlY3Rpb24gPz8gJ2hvcml6b250YWwnO1xuICAgIGNvbnN0IGlzVmVydGljYWwgPSB0aGlzLnZhcmlhbnQgPT09ICdvcmllbnRhdGlvbicgfHwgZWZmZWN0aXZlT3JpZW50YXRpb24gPT09ICd2ZXJ0aWNhbCc7XG4gICAgY29uc3QgaXNHcm91cCA9IHRoaXMudmFyaWFudCA9PT0gJ2dyb3VwJztcbiAgICBjb25zdCBpc0F0dGFjaGVkID0gIXRoaXMuc2VwYXJhdGVkICYmIHRoaXMudmFyaWFudCAhPT0gJ2RlZmF1bHQnO1xuICAgIGNvbnN0IGlzU2VwYXJhdG9yID0gdGhpcy52YXJpYW50ID09PSAnc2VwYXJhdG9yJztcblxuICAgIGNvbnN0IGF0dGFjaGVkQ2xhc3NlcyA9IGlzQXR0YWNoZWQgJiYgIWlzR3JvdXBcbiAgICAgID8gaXNWZXJ0aWNhbFxuICAgICAgICA/IFtcbiAgICAgICAgICAgICdbJj4qXTpyb3VuZGVkLW5vbmUnLFxuICAgICAgICAgICAgJ1smPio6Zmlyc3QtY2hpbGRdOnJvdW5kZWQtdC1tZCcsXG4gICAgICAgICAgICAnWyY+KjpsYXN0LWNoaWxkXTpyb3VuZGVkLWItbWQnLFxuICAgICAgICAgICAgJ1smPio6bm90KDpmaXJzdC1jaGlsZCldOmJvcmRlci10LTAnLFxuICAgICAgICAgICAgJ1smPio6bm90KDpmaXJzdC1jaGlsZCldOi1tdC1weCdcbiAgICAgICAgICBdLmpvaW4oJyAnKVxuICAgICAgICA6IFtcbiAgICAgICAgICAgICdbJj4qXTpyb3VuZGVkLW5vbmUnLFxuICAgICAgICAgICAgJ1smPio6Zmlyc3QtY2hpbGRdOnJvdW5kZWQtbC1tZCcsXG4gICAgICAgICAgICAnWyY+KjpsYXN0LWNoaWxkXTpyb3VuZGVkLXItbWQnLFxuICAgICAgICAgICAgJ1smPio6bm90KDpmaXJzdC1jaGlsZCldOmJvcmRlci1sLTAnLFxuICAgICAgICAgICAgJ1smPio6bm90KDpmaXJzdC1jaGlsZCldOi1tbC1weCdcbiAgICAgICAgICBdLmpvaW4oJyAnKVxuICAgICAgOiAnJztcblxuICAgIGNvbnN0IGdyb3VwSG9yaXpvbnRhbENsYXNzZXMgPSBpc0dyb3VwICYmICFpc1ZlcnRpY2FsICYmICF0aGlzLnNlcGFyYXRlZFxuICAgICAgPyBbXG4gICAgICAgICAgJ1smPipdOnJvdW5kZWQtbm9uZScsXG4gICAgICAgICAgJ1smPio6Zmlyc3QtY2hpbGRdOnJvdW5kZWQtbC1tZCcsXG4gICAgICAgICAgJ1smPio6bGFzdC1jaGlsZF06cm91bmRlZC1yLW1kJyxcbiAgICAgICAgICAnWyY+Kjpub3QoOmZpcnN0LWNoaWxkKV06LW1sLXB4JyxcbiAgICAgICAgICAnWyY+Kjpub3QoOmZpcnN0LWNoaWxkKV06Ym9yZGVyLWwtMCcsXG4gICAgICAgICAgJ1smPnBkbS1idXR0b25dOmZsZXgnLFxuICAgICAgICAgICdbJj5wZG0tYnV0dG9uPmJ1dHRvbl06aC05JyxcbiAgICAgICAgICAnWyY+cGRtLWlucHV0XTpmbGV4LTEnLFxuICAgICAgICAgICdbJj5wZG0taW5wdXQ+ZGl2XTp3LWZ1bGwnLFxuICAgICAgICAgICdbJj5wZG0tc2VsZWN0PnNlbGVjdF06IXJvdW5kZWQtbm9uZScsXG4gICAgICAgICAgJ1smPnBkbS1zZWxlY3Q6Zmlyc3QtY2hpbGQ+c2VsZWN0XTohcm91bmRlZC1sLW1kJyxcbiAgICAgICAgICAnWyY+cGRtLXNlbGVjdDpsYXN0LWNoaWxkPnNlbGVjdF06IXJvdW5kZWQtci1tZCcsXG4gICAgICAgICAgJ1smPnBkbS1zZWxlY3Q+c2VsZWN0XTpzaGFkb3ctbm9uZScsXG4gICAgICAgICAgJ1smPnBkbS1zZWxlY3Q+ZGl2PmJ1dHRvbl06IXJvdW5kZWQtbm9uZScsXG4gICAgICAgICAgJ1smPnBkbS1zZWxlY3Q6Zmlyc3QtY2hpbGQ+ZGl2PmJ1dHRvbl06IXJvdW5kZWQtbC1tZCcsXG4gICAgICAgICAgJ1smPnBkbS1zZWxlY3Q6bGFzdC1jaGlsZD5kaXY+YnV0dG9uXTohcm91bmRlZC1yLW1kJyxcbiAgICAgICAgICAnWyY+cGRtLXNlbGVjdDpub3QoOmZpcnN0LWNoaWxkKT5kaXY+YnV0dG9uXTohcm91bmRlZC1sLW5vbmUnLFxuICAgICAgICAgICdbJj5wZG0tc2VsZWN0Om5vdCg6bGFzdC1jaGlsZCk+ZGl2PmJ1dHRvbl06IXJvdW5kZWQtci1ub25lJyxcbiAgICAgICAgICAnWyY+cGRtLXNlbGVjdD5kaXY+YnV0dG9uXTpzaGFkb3ctbm9uZScsXG4gICAgICAgICAgJ1smPnBkbS1idXR0b24+YnV0dG9uXTohcm91bmRlZC1ub25lJyxcbiAgICAgICAgICAnWyY+cGRtLWJ1dHRvbjpmaXJzdC1jaGlsZD5idXR0b25dOiFyb3VuZGVkLWwtbWQnLFxuICAgICAgICAgICdbJj5wZG0tYnV0dG9uOmxhc3QtY2hpbGQ+YnV0dG9uXTohcm91bmRlZC1yLW1kJyxcbiAgICAgICAgICAnWyY+cGRtLWJ1dHRvbjpub3QoOmZpcnN0LWNoaWxkKT5idXR0b25dOiFib3JkZXItbC0wJyxcbiAgICAgICAgICAnWyY+cGRtLWlucHV0PmRpdj5pbnB1dF06IXJvdW5kZWQtbm9uZScsXG4gICAgICAgICAgJ1smPnBkbS1pbnB1dDpmaXJzdC1jaGlsZD5kaXY+aW5wdXRdOiFyb3VuZGVkLWwtbWQnLFxuICAgICAgICAgICdbJj5wZG0taW5wdXQ6bGFzdC1jaGlsZD5kaXY+aW5wdXRdOiFyb3VuZGVkLXItbWQnLFxuICAgICAgICAgICdbJj5wZG0taW5wdXQtZ3JvdXA+ZGl2XTohcm91bmRlZC1ub25lJyxcbiAgICAgICAgICAnWyY+cGRtLWlucHV0LWdyb3VwOmZpcnN0LWNoaWxkPmRpdl06IXJvdW5kZWQtbC1tZCcsXG4gICAgICAgICAgJ1smPnBkbS1pbnB1dC1ncm91cDpsYXN0LWNoaWxkPmRpdl06IXJvdW5kZWQtci1tZCcsXG4gICAgICAgICAgJ1smPnBkbS1pbnB1dD5kaXY+aW5wdXRdOmJnLWJhY2tncm91bmQnLFxuICAgICAgICAgICdbJj5wZG0taW5wdXQ+ZGl2PmlucHV0XTpzaGFkb3ctbm9uZScsXG4gICAgICAgICAgJ1smPnBkbS1idXR0b24+YnV0dG9uXTpyb3VuZGVkLWwtbm9uZScsXG4gICAgICAgICAgJ1smPnBkbS1idXR0b24+YnV0dG9uXTpzaGFkb3ctbm9uZScsXG4gICAgICAgICAgJ1smPnBkbS10b29sdGlwPnNwYW4+Kl06cm91bmRlZC1ub25lJyxcbiAgICAgICAgICAnWyY+cGRtLXRvb2x0aXA6Zmlyc3QtY2hpbGQ+c3Bhbj4qXTpyb3VuZGVkLWwtbWQnLFxuICAgICAgICAgICdbJj5wZG0tdG9vbHRpcDpsYXN0LWNoaWxkPnNwYW4+Kl06cm91bmRlZC1yLW1kJyxcbiAgICAgICAgICAnWyY+cGRtLXRvb2x0aXA6bm90KDpmaXJzdC1jaGlsZCk+c3Bhbj4qXTpib3JkZXItbC0wJyxcbiAgICAgICAgICAnWyY+cGRtLXRvb2x0aXA+c3Bhbj5wZG0tYnV0dG9uPmJ1dHRvbl06IXJvdW5kZWQtbm9uZScsXG4gICAgICAgICAgJ1smPnBkbS10b29sdGlwOmZpcnN0LWNoaWxkPnNwYW4+cGRtLWJ1dHRvbj5idXR0b25dOiFyb3VuZGVkLWwtbWQnLFxuICAgICAgICAgICdbJj5wZG0tdG9vbHRpcDpsYXN0LWNoaWxkPnNwYW4+cGRtLWJ1dHRvbj5idXR0b25dOiFyb3VuZGVkLXItbWQnLFxuICAgICAgICAgICdbJj5wZG0tdG9vbHRpcDpub3QoOmZpcnN0LWNoaWxkKT5zcGFuPnBkbS1idXR0b24+YnV0dG9uXTohYm9yZGVyLWwtMCcsXG4gICAgICAgICAgJ1smPnBkbS10b29sdGlwPnNwYW4+cGRtLWJ1dHRvbj5idXR0b25dOnNoYWRvdy1ub25lJyxcbiAgICAgICAgICAnWyY+cGRtLXRvb2x0aXA+c3Bhbj5idXR0b25dOiFyb3VuZGVkLW5vbmUnLFxuICAgICAgICAgICdbJj5wZG0tdG9vbHRpcDpmaXJzdC1jaGlsZD5zcGFuPmJ1dHRvbl06IXJvdW5kZWQtbC1tZCcsXG4gICAgICAgICAgJ1smPnBkbS10b29sdGlwOmxhc3QtY2hpbGQ+c3Bhbj5idXR0b25dOiFyb3VuZGVkLXItbWQnLFxuICAgICAgICAgICdbJj5wZG0tdG9vbHRpcDpub3QoOmZpcnN0LWNoaWxkKT5zcGFuPmJ1dHRvbl06IWJvcmRlci1sLTAnLFxuICAgICAgICAgICdbJj5wZG0tdG9vbHRpcD5zcGFuPmJ1dHRvbl06c2hhZG93LW5vbmUnLFxuICAgICAgICAgICdbJj5wZG0tdG9vbHRpcD5zcGFuPnBkbS1pbnB1dD5kaXY+aW5wdXRdOiFyb3VuZGVkLW5vbmUnLFxuICAgICAgICAgICdbJj5wZG0tdG9vbHRpcDpmaXJzdC1jaGlsZD5zcGFuPnBkbS1pbnB1dD5kaXY+aW5wdXRdOiFyb3VuZGVkLWwtbWQnLFxuICAgICAgICAgICdbJj5wZG0tdG9vbHRpcDpsYXN0LWNoaWxkPnNwYW4+cGRtLWlucHV0PmRpdj5pbnB1dF06IXJvdW5kZWQtci1tZCcsXG4gICAgICAgICAgJ1smPnBkbS10b29sdGlwPnNwYW4+cGRtLWlucHV0PmRpdj5pbnB1dF06c2hhZG93LW5vbmUnLFxuICAgICAgICAgICdbJj5wZG0tdG9vbHRpcD5zcGFuPmlucHV0XTohcm91bmRlZC1ub25lJyxcbiAgICAgICAgICAnWyY+cGRtLXRvb2x0aXA6Zmlyc3QtY2hpbGQ+c3Bhbj5pbnB1dF06IXJvdW5kZWQtbC1tZCcsXG4gICAgICAgICAgJ1smPnBkbS10b29sdGlwOmxhc3QtY2hpbGQ+c3Bhbj5pbnB1dF06IXJvdW5kZWQtci1tZCcsXG4gICAgICAgICAgJ1smPnBkbS10b29sdGlwPnNwYW4+aW5wdXRdOnNoYWRvdy1ub25lJyxcbiAgICAgICAgICAnWyY+cGRtLXRvb2x0aXA+c3Bhbj5wZG0taW5wdXQtZ3JvdXA+ZGl2XTohcm91bmRlZC1ub25lJyxcbiAgICAgICAgICAnWyY+cGRtLXRvb2x0aXA6Zmlyc3QtY2hpbGQ+c3Bhbj5wZG0taW5wdXQtZ3JvdXA+ZGl2XTohcm91bmRlZC1sLW1kJyxcbiAgICAgICAgICAnWyY+cGRtLXRvb2x0aXA6bGFzdC1jaGlsZD5zcGFuPnBkbS1pbnB1dC1ncm91cD5kaXZdOiFyb3VuZGVkLXItbWQnLFxuICAgICAgICAgICdbJj5wZG0tdG9vbHRpcD5zcGFuPnBkbS1zZWxlY3Q+c2VsZWN0XTohcm91bmRlZC1ub25lJyxcbiAgICAgICAgICAnWyY+cGRtLXRvb2x0aXA6Zmlyc3QtY2hpbGQ+c3Bhbj5wZG0tc2VsZWN0PnNlbGVjdF06IXJvdW5kZWQtbC1tZCcsXG4gICAgICAgICAgJ1smPnBkbS10b29sdGlwOmxhc3QtY2hpbGQ+c3Bhbj5wZG0tc2VsZWN0PnNlbGVjdF06IXJvdW5kZWQtci1tZCcsXG4gICAgICAgICAgJ1smPnBkbS10b29sdGlwPnNwYW4+cGRtLXNlbGVjdD5zZWxlY3RdOnNoYWRvdy1ub25lJyxcbiAgICAgICAgICAnWyY+cGRtLXRvb2x0aXA+c3Bhbj5wZG0tc2VsZWN0PmRpdj5idXR0b25dOiFyb3VuZGVkLW5vbmUnLFxuICAgICAgICAgICdbJj5wZG0tdG9vbHRpcDpmaXJzdC1jaGlsZD5zcGFuPnBkbS1zZWxlY3Q+ZGl2PmJ1dHRvbl06IXJvdW5kZWQtbC1tZCcsXG4gICAgICAgICAgJ1smPnBkbS10b29sdGlwOmxhc3QtY2hpbGQ+c3Bhbj5wZG0tc2VsZWN0PmRpdj5idXR0b25dOiFyb3VuZGVkLXItbWQnLFxuICAgICAgICAgICdbJj5wZG0tdG9vbHRpcDpub3QoOmZpcnN0LWNoaWxkKT5zcGFuPnBkbS1zZWxlY3Q+ZGl2PmJ1dHRvbl06IXJvdW5kZWQtbC1ub25lJyxcbiAgICAgICAgICAnWyY+cGRtLXRvb2x0aXA6bm90KDpsYXN0LWNoaWxkKT5zcGFuPnBkbS1zZWxlY3Q+ZGl2PmJ1dHRvbl06IXJvdW5kZWQtci1ub25lJyxcbiAgICAgICAgICAnWyY+cGRtLXRvb2x0aXA+c3Bhbj5wZG0tc2VsZWN0PmRpdj5idXR0b25dOnNoYWRvdy1ub25lJyxcbiAgICAgICAgICAnWyY+cGRtLXRvb2x0aXA+c3Bhbj5zZWxlY3RdOiFyb3VuZGVkLW5vbmUnLFxuICAgICAgICAgICdbJj5wZG0tdG9vbHRpcDpmaXJzdC1jaGlsZD5zcGFuPnNlbGVjdF06IXJvdW5kZWQtbC1tZCcsXG4gICAgICAgICAgJ1smPnBkbS10b29sdGlwOmxhc3QtY2hpbGQ+c3Bhbj5zZWxlY3RdOiFyb3VuZGVkLXItbWQnLFxuICAgICAgICAgICdbJj5wZG0tdG9vbHRpcD5zcGFuPnNlbGVjdF06c2hhZG93LW5vbmUnXG4gICAgICAgIF0uam9pbignICcpXG4gICAgICA6ICcnO1xuXG4gICAgY29uc3QgZ3JvdXBWZXJ0aWNhbENsYXNzZXMgPSBpc0dyb3VwICYmIGlzVmVydGljYWwgJiYgIXRoaXMuc2VwYXJhdGVkXG4gICAgICA/IFtcbiAgICAgICAgICAnWyY+Kl06cm91bmRlZC1ub25lJyxcbiAgICAgICAgICAnWyY+KjpmaXJzdC1jaGlsZF06cm91bmRlZC10LW1kJyxcbiAgICAgICAgICAnWyY+KjpsYXN0LWNoaWxkXTpyb3VuZGVkLWItbWQnLFxuICAgICAgICAgICdbJj4qOm5vdCg6Zmlyc3QtY2hpbGQpXTotbXQtcHgnLFxuICAgICAgICAgICdbJj4qOm5vdCg6Zmlyc3QtY2hpbGQpXTpib3JkZXItdC0wJyxcbiAgICAgICAgICAnWyY+cGRtLWJ1dHRvbl06ZmxleCcsXG4gICAgICAgICAgJ1smPnBkbS1idXR0b24+YnV0dG9uXTpoLTknLFxuICAgICAgICAgICdbJj5wZG0tYnV0dG9uPmJ1dHRvbl06IXJvdW5kZWQtbm9uZScsXG4gICAgICAgICAgJ1smPnBkbS1idXR0b246Zmlyc3QtY2hpbGQ+YnV0dG9uXTohcm91bmRlZC10LW1kJyxcbiAgICAgICAgICAnWyY+cGRtLWJ1dHRvbjpsYXN0LWNoaWxkPmJ1dHRvbl06IXJvdW5kZWQtYi1tZCcsXG4gICAgICAgICAgJ1smPnBkbS1pbnB1dD5kaXY+aW5wdXRdOiFyb3VuZGVkLW5vbmUnLFxuICAgICAgICAgICdbJj5wZG0taW5wdXQ6Zmlyc3QtY2hpbGQ+ZGl2PmlucHV0XTohcm91bmRlZC10LW1kJyxcbiAgICAgICAgICAnWyY+cGRtLWlucHV0Omxhc3QtY2hpbGQ+ZGl2PmlucHV0XTohcm91bmRlZC1iLW1kJyxcbiAgICAgICAgICAnWyY+cGRtLWlucHV0LWdyb3VwPmRpdl06IXJvdW5kZWQtbm9uZScsXG4gICAgICAgICAgJ1smPnBkbS1pbnB1dC1ncm91cDpmaXJzdC1jaGlsZD5kaXZdOiFyb3VuZGVkLXQtbWQnLFxuICAgICAgICAgICdbJj5wZG0taW5wdXQtZ3JvdXA6bGFzdC1jaGlsZD5kaXZdOiFyb3VuZGVkLWItbWQnLFxuICAgICAgICAgICdbJj5wZG0tc2VsZWN0PnNlbGVjdF06IXJvdW5kZWQtbm9uZScsXG4gICAgICAgICAgJ1smPnBkbS1zZWxlY3Q6Zmlyc3QtY2hpbGQ+c2VsZWN0XTohcm91bmRlZC10LW1kJyxcbiAgICAgICAgICAnWyY+cGRtLXNlbGVjdDpsYXN0LWNoaWxkPnNlbGVjdF06IXJvdW5kZWQtYi1tZCcsXG4gICAgICAgICAgJ1smPnBkbS1zZWxlY3Q+c2VsZWN0XTpzaGFkb3ctbm9uZScsXG4gICAgICAgICAgJ1smPnBkbS1zZWxlY3Q+ZGl2PmJ1dHRvbl06IXJvdW5kZWQtbm9uZScsXG4gICAgICAgICAgJ1smPnBkbS1zZWxlY3Q6Zmlyc3QtY2hpbGQ+ZGl2PmJ1dHRvbl06IXJvdW5kZWQtdC1tZCcsXG4gICAgICAgICAgJ1smPnBkbS1zZWxlY3Q6bGFzdC1jaGlsZD5kaXY+YnV0dG9uXTohcm91bmRlZC1iLW1kJyxcbiAgICAgICAgICAnWyY+cGRtLXNlbGVjdDpub3QoOmZpcnN0LWNoaWxkKT5kaXY+YnV0dG9uXTohcm91bmRlZC10LW5vbmUnLFxuICAgICAgICAgICdbJj5wZG0tc2VsZWN0Om5vdCg6bGFzdC1jaGlsZCk+ZGl2PmJ1dHRvbl06IXJvdW5kZWQtYi1ub25lJyxcbiAgICAgICAgICAnWyY+cGRtLXNlbGVjdD5kaXY+YnV0dG9uXTpzaGFkb3ctbm9uZScsXG4gICAgICAgICAgJ1smPnBkbS1pbnB1dD5kaXY+aW5wdXRdOmJnLWJhY2tncm91bmQnLFxuICAgICAgICAgICdbJj5wZG0taW5wdXQ+ZGl2PmlucHV0XTpzaGFkb3ctbm9uZScsXG4gICAgICAgICAgJ1smPnBkbS1idXR0b24+YnV0dG9uXTpzaGFkb3ctbm9uZScsXG4gICAgICAgICAgJ1smPnBkbS1idXR0b246bm90KDpmaXJzdC1jaGlsZCk+YnV0dG9uXTohYm9yZGVyLXQtMCcsXG4gICAgICAgICAgJ1smPnBkbS10b29sdGlwPnNwYW4+Kl06cm91bmRlZC1ub25lJyxcbiAgICAgICAgICAnWyY+cGRtLXRvb2x0aXA6Zmlyc3QtY2hpbGQ+c3Bhbj4qXTpyb3VuZGVkLXQtbWQnLFxuICAgICAgICAgICdbJj5wZG0tdG9vbHRpcDpsYXN0LWNoaWxkPnNwYW4+Kl06cm91bmRlZC1iLW1kJyxcbiAgICAgICAgICAnWyY+cGRtLXRvb2x0aXA6bm90KDpmaXJzdC1jaGlsZCk+c3Bhbj4qXTpib3JkZXItdC0wJyxcbiAgICAgICAgICAnWyY+cGRtLXRvb2x0aXA+c3Bhbj5wZG0tYnV0dG9uPmJ1dHRvbl06IXJvdW5kZWQtbm9uZScsXG4gICAgICAgICAgJ1smPnBkbS10b29sdGlwOmZpcnN0LWNoaWxkPnNwYW4+cGRtLWJ1dHRvbj5idXR0b25dOiFyb3VuZGVkLXQtbWQnLFxuICAgICAgICAgICdbJj5wZG0tdG9vbHRpcDpsYXN0LWNoaWxkPnNwYW4+cGRtLWJ1dHRvbj5idXR0b25dOiFyb3VuZGVkLWItbWQnLFxuICAgICAgICAgICdbJj5wZG0tdG9vbHRpcDpub3QoOmZpcnN0LWNoaWxkKT5zcGFuPnBkbS1idXR0b24+YnV0dG9uXTohYm9yZGVyLXQtMCcsXG4gICAgICAgICAgJ1smPnBkbS10b29sdGlwPnNwYW4+cGRtLWJ1dHRvbj5idXR0b25dOnNoYWRvdy1ub25lJyxcbiAgICAgICAgICAnWyY+cGRtLXRvb2x0aXA+c3Bhbj5idXR0b25dOiFyb3VuZGVkLW5vbmUnLFxuICAgICAgICAgICdbJj5wZG0tdG9vbHRpcDpmaXJzdC1jaGlsZD5zcGFuPmJ1dHRvbl06IXJvdW5kZWQtdC1tZCcsXG4gICAgICAgICAgJ1smPnBkbS10b29sdGlwOmxhc3QtY2hpbGQ+c3Bhbj5idXR0b25dOiFyb3VuZGVkLWItbWQnLFxuICAgICAgICAgICdbJj5wZG0tdG9vbHRpcDpub3QoOmZpcnN0LWNoaWxkKT5zcGFuPmJ1dHRvbl06IWJvcmRlci10LTAnLFxuICAgICAgICAgICdbJj5wZG0tdG9vbHRpcD5zcGFuPmJ1dHRvbl06c2hhZG93LW5vbmUnLFxuICAgICAgICAgICdbJj5wZG0tdG9vbHRpcD5zcGFuPnBkbS1pbnB1dD5kaXY+aW5wdXRdOiFyb3VuZGVkLW5vbmUnLFxuICAgICAgICAgICdbJj5wZG0tdG9vbHRpcDpmaXJzdC1jaGlsZD5zcGFuPnBkbS1pbnB1dD5kaXY+aW5wdXRdOiFyb3VuZGVkLXQtbWQnLFxuICAgICAgICAgICdbJj5wZG0tdG9vbHRpcDpsYXN0LWNoaWxkPnNwYW4+cGRtLWlucHV0PmRpdj5pbnB1dF06IXJvdW5kZWQtYi1tZCcsXG4gICAgICAgICAgJ1smPnBkbS10b29sdGlwPnNwYW4+cGRtLWlucHV0PmRpdj5pbnB1dF06c2hhZG93LW5vbmUnLFxuICAgICAgICAgICdbJj5wZG0tdG9vbHRpcD5zcGFuPmlucHV0XTohcm91bmRlZC1ub25lJyxcbiAgICAgICAgICAnWyY+cGRtLXRvb2x0aXA6Zmlyc3QtY2hpbGQ+c3Bhbj5pbnB1dF06IXJvdW5kZWQtdC1tZCcsXG4gICAgICAgICAgJ1smPnBkbS10b29sdGlwOmxhc3QtY2hpbGQ+c3Bhbj5pbnB1dF06IXJvdW5kZWQtYi1tZCcsXG4gICAgICAgICAgJ1smPnBkbS10b29sdGlwPnNwYW4+aW5wdXRdOnNoYWRvdy1ub25lJyxcbiAgICAgICAgICAnWyY+cGRtLXRvb2x0aXA+c3Bhbj5wZG0taW5wdXQtZ3JvdXA+ZGl2XTohcm91bmRlZC1ub25lJyxcbiAgICAgICAgICAnWyY+cGRtLXRvb2x0aXA6Zmlyc3QtY2hpbGQ+c3Bhbj5wZG0taW5wdXQtZ3JvdXA+ZGl2XTohcm91bmRlZC10LW1kJyxcbiAgICAgICAgICAnWyY+cGRtLXRvb2x0aXA6bGFzdC1jaGlsZD5zcGFuPnBkbS1pbnB1dC1ncm91cD5kaXZdOiFyb3VuZGVkLWItbWQnLFxuICAgICAgICAgICdbJj5wZG0tdG9vbHRpcD5zcGFuPnBkbS1zZWxlY3Q+c2VsZWN0XTohcm91bmRlZC1ub25lJyxcbiAgICAgICAgICAnWyY+cGRtLXRvb2x0aXA6Zmlyc3QtY2hpbGQ+c3Bhbj5wZG0tc2VsZWN0PnNlbGVjdF06IXJvdW5kZWQtdC1tZCcsXG4gICAgICAgICAgJ1smPnBkbS10b29sdGlwOmxhc3QtY2hpbGQ+c3Bhbj5wZG0tc2VsZWN0PnNlbGVjdF06IXJvdW5kZWQtYi1tZCcsXG4gICAgICAgICAgJ1smPnBkbS10b29sdGlwPnNwYW4+cGRtLXNlbGVjdD5zZWxlY3RdOnNoYWRvdy1ub25lJyxcbiAgICAgICAgICAnWyY+cGRtLXRvb2x0aXA+c3Bhbj5wZG0tc2VsZWN0PmRpdj5idXR0b25dOiFyb3VuZGVkLW5vbmUnLFxuICAgICAgICAgICdbJj5wZG0tdG9vbHRpcDpmaXJzdC1jaGlsZD5zcGFuPnBkbS1zZWxlY3Q+ZGl2PmJ1dHRvbl06IXJvdW5kZWQtdC1tZCcsXG4gICAgICAgICAgJ1smPnBkbS10b29sdGlwOmxhc3QtY2hpbGQ+c3Bhbj5wZG0tc2VsZWN0PmRpdj5idXR0b25dOiFyb3VuZGVkLWItbWQnLFxuICAgICAgICAgICdbJj5wZG0tdG9vbHRpcDpub3QoOmZpcnN0LWNoaWxkKT5zcGFuPnBkbS1zZWxlY3Q+ZGl2PmJ1dHRvbl06IXJvdW5kZWQtdC1ub25lJyxcbiAgICAgICAgICAnWyY+cGRtLXRvb2x0aXA6bm90KDpsYXN0LWNoaWxkKT5zcGFuPnBkbS1zZWxlY3Q+ZGl2PmJ1dHRvbl06IXJvdW5kZWQtYi1ub25lJyxcbiAgICAgICAgICAnWyY+cGRtLXRvb2x0aXA+c3Bhbj5wZG0tc2VsZWN0PmRpdj5idXR0b25dOnNoYWRvdy1ub25lJyxcbiAgICAgICAgICAnWyY+cGRtLXRvb2x0aXA+c3Bhbj5zZWxlY3RdOiFyb3VuZGVkLW5vbmUnLFxuICAgICAgICAgICdbJj5wZG0tdG9vbHRpcDpmaXJzdC1jaGlsZD5zcGFuPnNlbGVjdF06IXJvdW5kZWQtdC1tZCcsXG4gICAgICAgICAgJ1smPnBkbS10b29sdGlwOmxhc3QtY2hpbGQ+c3Bhbj5zZWxlY3RdOiFyb3VuZGVkLWItbWQnLFxuICAgICAgICAgICdbJj5wZG0tdG9vbHRpcD5zcGFuPnNlbGVjdF06c2hhZG93LW5vbmUnXG4gICAgICAgIF0uam9pbignICcpXG4gICAgICA6ICcnO1xuXG4gICAgcmV0dXJuIFtcbiAgICAgICdpbmxpbmUtZmxleCB3LWZpdCcsXG4gICAgICBpc1ZlcnRpY2FsID8gJ2ZsZXgtY29sIGl0ZW1zLXN0cmV0Y2gnIDogJ2l0ZW1zLWNlbnRlcicsXG4gICAgICB0aGlzLnZhcmlhbnQgPT09ICdkZWZhdWx0JyB8fCB0aGlzLnNlcGFyYXRlZCA/ICdnYXAtMicgOiAnZ2FwLTAnLFxuICAgICAgaXNHcm91cCA/ICcqOmZvY3VzLXZpc2libGU6cmVsYXRpdmUgKjpmb2N1cy12aXNpYmxlOnotMTAnIDogJycsXG4gICAgICBhdHRhY2hlZENsYXNzZXMsXG4gICAgICBncm91cEhvcml6b250YWxDbGFzc2VzLFxuICAgICAgZ3JvdXBWZXJ0aWNhbENsYXNzZXMsXG4gICAgICBpc1NlcGFyYXRvclxuICAgICAgICA/ICdvdmVyZmxvdy1oaWRkZW4gcm91bmRlZC1tZCBib3JkZXIgYm9yZGVyLWJvcmRlciBiZy1zZWNvbmRhcnkgc2hhZG93LXNtJ1xuICAgICAgICA6ICcnLFxuICAgICAgdGhpcy5jbGFzc05hbWVcbiAgICBdO1xuICB9XG59XG4iLCI8ZGl2XG4gIHJvbGU9XCJncm91cFwiXG4gIFthdHRyLmFyaWEtb3JpZW50YXRpb25dPVwidmFyaWFudCA9PT0gJ29yaWVudGF0aW9uJyB8fCBvcmllbnRhdGlvbiA9PT0gJ3ZlcnRpY2FsJyB8fCBkaXJlY3Rpb24gPT09ICd2ZXJ0aWNhbCcgPyAndmVydGljYWwnIDogJ2hvcml6b250YWwnXCJcbiAgW25nQ2xhc3NdPVwicm9vdENsYXNzZXNcIlxuPlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L2Rpdj5cbiJdfQ==
|
|
207
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9idXR0b24tZ3JvdXAvYnV0dG9uLWdyb3VwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9idXR0b24tZ3JvdXAvYnV0dG9uLWdyb3VwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFVMUUsTUFBTSxPQUFPLHVCQUF1QjtJQUxwQztRQU1XLFlBQU8sR0FBMEIsU0FBUyxDQUFDO1FBRzNDLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFDakIsY0FBUyxHQUFHLEVBQUUsQ0FBQztLQTBMekI7SUF4TEMsSUFBSSxXQUFXO1FBQ2IsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksWUFBWSxDQUFDO1FBQ2hGLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLEtBQUssYUFBYSxJQUFJLG9CQUFvQixLQUFLLFVBQVUsQ0FBQztRQUN6RixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxLQUFLLE9BQU8sQ0FBQztRQUN6QyxNQUFNLFVBQVUsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxTQUFTLENBQUM7UUFDakUsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sS0FBSyxXQUFXLENBQUM7UUFFakQsTUFBTSxlQUFlLEdBQUcsVUFBVSxJQUFJLENBQUMsT0FBTztZQUM1QyxDQUFDLENBQUMsVUFBVTtnQkFDVixDQUFDLENBQUM7b0JBQ0Usb0JBQW9CO29CQUNwQixnQ0FBZ0M7b0JBQ2hDLCtCQUErQjtvQkFDL0Is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SixDQUFDOztvSEE5TFUsdUJBQXVCO3dHQUF2Qix1QkFBdUIsNExDVnBDLDhPQU9BOzJGREdhLHVCQUF1QjtrQkFMbkMsU0FBUzsrQkFDRSxrQkFBa0IsbUJBRVgsdUJBQXVCLENBQUMsTUFBTTs4QkFHdEMsT0FBTztzQkFBZixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgdHlwZSBQZG1CdXR0b25Hcm91cFZhcmlhbnQgPSAnZGVmYXVsdCcgfCAnZ3JvdXAnIHwgJ29yaWVudGF0aW9uJyB8ICdzZXBhcmF0b3InO1xuZXhwb3J0IHR5cGUgUGRtQnV0dG9uR3JvdXBPcmllbnRhdGlvbiA9ICdob3Jpem9udGFsJyB8ICd2ZXJ0aWNhbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3BkbS1idXR0b24tZ3JvdXAnLFxuICB0ZW1wbGF0ZVVybDogJy4vYnV0dG9uLWdyb3VwLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgUGRtQnV0dG9uR3JvdXBDb21wb25lbnQge1xuICBASW5wdXQoKSB2YXJpYW50OiBQZG1CdXR0b25Hcm91cFZhcmlhbnQgPSAnZGVmYXVsdCc7XG4gIEBJbnB1dCgpIG9yaWVudGF0aW9uPzogUGRtQnV0dG9uR3JvdXBPcmllbnRhdGlvbjtcbiAgQElucHV0KCkgZGlyZWN0aW9uPzogUGRtQnV0dG9uR3JvdXBPcmllbnRhdGlvbjtcbiAgQElucHV0KCkgc2VwYXJhdGVkID0gdHJ1ZTtcbiAgQElucHV0KCkgY2xhc3NOYW1lID0gJyc7XG5cbiAgZ2V0IHJvb3RDbGFzc2VzKCk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCBlZmZlY3RpdmVPcmllbnRhdGlvbiA9IHRoaXMub3JpZW50YXRpb24gPz8gdGhpcy5kaXJlY3Rpb24gPz8gJ2hvcml6b250YWwnO1xuICAgIGNvbnN0IGlzVmVydGljYWwgPSB0aGlzLnZhcmlhbnQgPT09ICdvcmllbnRhdGlvbicgfHwgZWZmZWN0aXZlT3JpZW50YXRpb24gPT09ICd2ZXJ0aWNhbCc7XG4gICAgY29uc3QgaXNHcm91cCA9IHRoaXMudmFyaWFudCA9PT0gJ2dyb3VwJztcbiAgICBjb25zdCBpc0F0dGFjaGVkID0gIXRoaXMuc2VwYXJhdGVkICYmIHRoaXMudmFyaWFudCAhPT0gJ2RlZmF1bHQnO1xuICAgIGNvbnN0IGlzU2VwYXJhdG9yID0gdGhpcy52YXJpYW50ID09PSAnc2VwYXJhdG9yJztcblxuICAgIGNvbnN0IGF0dGFjaGVkQ2xhc3NlcyA9IGlzQXR0YWNoZWQgJiYgIWlzR3JvdXBcbiAgICAgID8gaXNWZXJ0aWNhbFxuICAgICAgICA/IFtcbiAgICAgICAgICAgICdbJj4qXTpyb3VuZGVkLW5vbmUnLFxuICAgICAgICAgICAgJ1smPio6Zmlyc3QtY2hpbGRdOnJvdW5kZWQtdC1tZCcsXG4gICAgICAgICAgICAnWyY+KjpsYXN0LWNoaWxkXTpyb3VuZGVkLWItbWQnLFxuICAgICAgICAgICAgJ1smPio6bm90KDpmaXJzdC1jaGlsZCldOmJvcmRlci10LTAnLFxuICAgICAgICAgICAgJ1smPio6bm90KDpmaXJzdC1jaGlsZCldOi1tdC1weCdcbiAgICAgICAgICBdLmpvaW4oJyAnKVxuICAgICAgICA6IFtcbiAgICAgICAgICAgICdbJj4qXTpyb3VuZGVkLW5vbmUnLFxuICAgICAgICAgICAgJ1smPio6Zmlyc3QtY2hpbGRdOnJvdW5kZWQtbC1tZCcsXG4gICAgICAgICAgICAnWyY+KjpsYXN0LWNoaWxkXTpyb3VuZGVkLXItbWQnLFxuICAgICAgICAgICAgJ1smPio6bm90KDpmaXJzdC1jaGlsZCldOmJvcmRlci1sLTAnLFxuICAgICAgICAgICAgJ1smPio6bm90KDpmaXJzdC1jaGlsZCldOi1tbC1weCdcbiAgICAgICAgICBdLmpvaW4oJyAnKVxuICAgICAgOiAnJztcblxuICAgIGNvbnN0IGdyb3VwSG9yaXpvbnRhbENsYXNzZXMgPSBpc0dyb3VwICYmICFpc1ZlcnRpY2FsICYmICF0aGlzLnNlcGFyYXRlZFxuICAgICAgPyBbXG4gICAgICAgICAgJ1smPipdOnJvdW5kZWQtbm9uZScsXG4gICAgICAgICAgJ1smPio6Zmlyc3QtY2hpbGRdOnJvdW5kZWQtbC1tZCcsXG4gICAgICAgICAgJ1smPio6bGFzdC1jaGlsZF06cm91bmRlZC1yLW1kJyxcbiAgICAgICAgICAnWyY+Kjpub3QoOmZpcnN0LWNoaWxkKV06LW1sLXB4JyxcbiAgICAgICAgICAnWyY+Kjpub3QoOmZpcnN0LWNoaWxkKV06Ym9yZGVyLWwtMCcsXG4gICAgICAgICAgJ1smPnBkbS1idXR0b25dOmZsZXgnLFxuICAgICAgICAgICdbJj5wZG0tYnV0dG9uPmJ1dHRvbl06aC05JyxcbiAgICAgICAgICAnWyY+cGRtLWlucHV0XTpmbGV4LTEnLFxuICAgICAgICAgICdbJj5wZG0taW5wdXQ+ZGl2XTp3LWZ1bGwnLFxuICAgICAgICAgICdbJj5wZG0tc2VsZWN0PnNlbGVjdF06IXJvdW5kZWQtbm9uZScsXG4gICAgICAgICAgJ1smPnBkbS1zZWxlY3Q6Zmlyc3QtY2hpbGQ+c2VsZWN0XTohcm91bmRlZC1sLW1kJyxcbiAgICAgICAgICAnWyY+cGRtLXNlbGVjdDpsYXN0LWNoaWxkPnNlbGVjdF06IXJvdW5kZWQtci1tZCcsXG4gICAgICAgICAgJ1smPnBkbS1zZWxlY3Q+c2VsZWN0XTpzaGFkb3ctbm9uZScsXG4gICAgICAgICAgJ1smPnBkbS1zZWxlY3Q+ZGl2PmJ1dHRvbl06IXJvdW5kZWQtbm9uZScsXG4gICAgICAgICAgJ1smPnBkbS1zZWxlY3Q6Zmlyc3QtY2hpbGQ+ZGl2PmJ1dHRvbl06IXJvdW5kZWQtbC1tZCcsXG4gICAgICAgICAgJ1smPnBkbS1zZWxlY3Q6bGFzdC1jaGlsZD5kaXY+YnV0dG9uXTohcm91bmRlZC1yLW1kJyxcbiAgICAgICAgICAnWyY+cGRtLXNlbGVjdDpub3QoOmZpcnN0LWNoaWxkKT5kaXY+YnV0dG9uXTohcm91bmRlZC1sLW5vbmUnLFxuICAgICAgICAgICdbJj5wZG0tc2VsZWN0Om5vdCg6bGFzdC1jaGlsZCk+ZGl2PmJ1dHRvbl06IXJvdW5kZWQtci1ub25lJyxcbiAgICAgICAgICAnWyY+cGRtLXNlbGVjdD5kaXY+YnV0dG9uXTpzaGFkb3ctbm9uZScsXG4gICAgICAgICAgJ1smPnBkbS1idXR0b24+YnV0dG9uXTohcm91bmRlZC1ub25lJyxcbiAgICAgICAgICAnWyY+cGRtLWJ1dHRvbjpmaXJzdC1jaGlsZD5idXR0b25dOiFyb3VuZGVkLWwtbWQnLFxuICAgICAgICAgICdbJj5wZG0tYnV0dG9uOmxhc3QtY2hpbGQ+YnV0dG9uXTohcm91bmRlZC1yLW1kJyxcbiAgICAgICAgICAnWyY+cGRtLWlucHV0PmRpdj5pbnB1dF06IXJvdW5kZWQtbm9uZScsXG4gICAgICAgICAgJ1smPnBkbS1pbnB1dDpmaXJzdC1jaGlsZD5kaXY+aW5wdXRdOiFyb3VuZGVkLWwtbWQnLFxuICAgICAgICAgICdbJj5wZG0taW5wdXQ6bGFzdC1jaGlsZD5kaXY+aW5wdXRdOiFyb3VuZGVkLXItbWQnLFxuICAgICAgICAgICdbJj5wZG0taW5wdXQtZ3JvdXA+ZGl2XTohcm91bmRlZC1ub25lJyxcbiAgICAgICAgICAnWyY+cGRtLWlucHV0LWdyb3VwOmZpcnN0LWNoaWxkPmRpdl06IXJvdW5kZWQtbC1tZCcsXG4gICAgICAgICAgJ1smPnBkbS1pbnB1dC1ncm91cDpsYXN0LWNoaWxkPmRpdl06IXJvdW5kZWQtci1tZCcsXG4gICAgICAgICAgJ1smPnBkbS1pbnB1dD5kaXY+aW5wdXRdOmJnLWJhY2tncm91bmQnLFxuICAgICAgICAgICdbJj5wZG0taW5wdXQ+ZGl2PmlucHV0XTpzaGFkb3ctbm9uZScsXG4gICAgICAgICAgJ1smPnBkbS1idXR0b24+YnV0dG9uXTpyb3VuZGVkLWwtbm9uZScsXG4gICAgICAgICAgJ1smPnBkbS1idXR0b24+YnV0dG9uXTpzaGFkb3ctbm9uZScsXG4gICAgICAgICAgJ1smPnBkbS10b29sdGlwPnNwYW4+Kl06cm91bmRlZC1ub25lJyxcbiAgICAgICAgICAnWyY+cGRtLXRvb2x0aXA6Zmlyc3QtY2hpbGQ+c3Bhbj4qXTpyb3VuZGVkLWwtbWQnLFxuICAgICAgICAgICdbJj5wZG0tdG9vbHRpcDpsYXN0LWNoaWxkPnNwYW4+Kl06cm91bmRlZC1yLW1kJyxcbiAgICAgICAgICAnWyY+cGRtLXRvb2x0aXA6bm90KDpmaXJzdC1jaGlsZCk+c3Bhbj4qXTpib3JkZXItbC0wJyxcbiAgICAgICAgICAnWyY+cGRtLXRvb2x0aXA+c3Bhbj5wZG0tYnV0dG9uPmJ1dHRvbl06IXJvdW5kZWQtbm9uZScsXG4gICAgICAgICAgJ1smPnBkbS10b29sdGlwOmZpcnN0LWNoaWxkPnNwYW4+cGRtLWJ1dHRvbj5idXR0b25dOiFyb3VuZGVkLWwtbWQnLFxuICAgICAgICAgICdbJj5wZG0tdG9vbHRpcDpsYXN0LWNoaWxkPnNwYW4+cGRtLWJ1dHRvbj5idXR0b25dOiFyb3VuZGVkLXItbWQnLFxuICAgICAgICAgICdbJj5wZG0tdG9vbHRpcD5zcGFuPnBkbS1idXR0b24+YnV0dG9uXTpzaGFkb3ctbm9uZScsXG4gICAgICAgICAgJ1smPnBkbS10b29sdGlwPnNwYW4+YnV0dG9uXTohcm91bmRlZC1ub25lJyxcbiAgICAgICAgICAnWyY+cGRtLXRvb2x0aXA6Zmlyc3QtY2hpbGQ+c3Bhbj5idXR0b25dOiFyb3VuZGVkLWwtbWQnLFxuICAgICAgICAgICdbJj5wZG0tdG9vbHRpcDpsYXN0LWNoaWxkPnNwYW4+YnV0dG9uXTohcm91bmRlZC1yLW1kJyxcbiAgICAgICAgICAnWyY+cGRtLXRvb2x0aXA+c3Bhbj5idXR0b25dOnNoYWRvdy1ub25lJyxcbiAgICAgICAgICAnWyY+cGRtLXRvb2x0aXA+c3Bhbj5wZG0taW5wdXQ+ZGl2PmlucHV0XTohcm91bmRlZC1ub25lJyxcbiAgICAgICAgICAnWyY+cGRtLXRvb2x0aXA6Zmlyc3QtY2hpbGQ+c3Bhbj5wZG0taW5wdXQ+ZGl2PmlucHV0XTohcm91bmRlZC1sLW1kJyxcbiAgICAgICAgICAnWyY+cGRtLXRvb2x0aXA6bGFzdC1jaGlsZD5zcGFuPnBkbS1pbnB1dD5kaXY+aW5wdXRdOiFyb3VuZGVkLXItbWQnLFxuICAgICAgICAgICdbJj5wZG0tdG9vbHRpcD5zcGFuPnBkbS1pbnB1dD5kaXY+aW5wdXRdOnNoYWRvdy1ub25lJyxcbiAgICAgICAgICAnWyY+cGRtLXRvb2x0aXA+c3Bhbj5pbnB1dF06IXJvdW5kZWQtbm9uZScsXG4gICAgICAgICAgJ1smPnBkbS10b29sdGlwOmZpcnN0LWNoaWxkPnNwYW4+aW5wdXRdOiFyb3VuZGVkLWwtbWQnLFxuICAgICAgICAgICdbJj5wZG0tdG9vbHRpcDpsYXN0LWNoaWxkPnNwYW4+aW5wdXRdOiFyb3VuZGVkLXItbWQnLFxuICAgICAgICAgICdbJj5wZG0tdG9vbHRpcD5zcGFuPmlucHV0XTpzaGFkb3ctbm9uZScsXG4gICAgICAgICAgJ1smPnBkbS10b29sdGlwPnNwYW4+cGRtLWlucHV0LWdyb3VwPmRpdl06IXJvdW5kZWQtbm9uZScsXG4gICAgICAgICAgJ1smPnBkbS10b29sdGlwOmZpcnN0LWNoaWxkPnNwYW4+cGRtLWlucHV0LWdyb3VwPmRpdl06IXJvdW5kZWQtbC1tZCcsXG4gICAgICAgICAgJ1smPnBkbS10b29sdGlwOmxhc3QtY2hpbGQ+c3Bhbj5wZG0taW5wdXQtZ3JvdXA+ZGl2XTohcm91bmRlZC1yLW1kJyxcbiAgICAgICAgICAnWyY+cGRtLXRvb2x0aXA+c3Bhbj5wZG0tc2VsZWN0PnNlbGVjdF06IXJvdW5kZWQtbm9uZScsXG4gICAgICAgICAgJ1smPnBkbS10b29sdGlwOmZpcnN0LWNoaWxkPnNwYW4+cGRtLXNlbGVjdD5zZWxlY3RdOiFyb3VuZGVkLWwtbWQnLFxuICAgICAgICAgICdbJj5wZG0tdG9vbHRpcDpsYXN0LWNoaWxkPnNwYW4+cGRtLXNlbGVjdD5zZWxlY3RdOiFyb3VuZGVkLXItbWQnLFxuICAgICAgICAgICdbJj5wZG0tdG9vbHRpcD5zcGFuPnBkbS1zZWxlY3Q+c2VsZWN0XTpzaGFkb3ctbm9uZScsXG4gICAgICAgICAgJ1smPnBkbS10b29sdGlwPnNwYW4+cGRtLXNlbGVjdD5kaXY+YnV0dG9uXTohcm91bmRlZC1ub25lJyxcbiAgICAgICAgICAnWyY+cGRtLXRvb2x0aXA6Zmlyc3QtY2hpbGQ+c3Bhbj5wZG0tc2VsZWN0PmRpdj5idXR0b25dOiFyb3VuZGVkLWwtbWQnLFxuICAgICAgICAgICdbJj5wZG0tdG9vbHRpcDpsYXN0LWNoaWxkPnNwYW4+cGRtLXNlbGVjdD5kaXY+YnV0dG9uXTohcm91bmRlZC1yLW1kJyxcbiAgICAgICAgICAnWyY+cGRtLXRvb2x0aXA6bm90KDpmaXJzdC1jaGlsZCk+c3Bhbj5wZG0tc2VsZWN0PmRpdj5idXR0b25dOiFyb3VuZGVkLWwtbm9uZScsXG4gICAgICAgICAgJ1smPnBkbS10b29sdGlwOm5vdCg6bGFzdC1jaGlsZCk+c3Bhbj5wZG0tc2VsZWN0PmRpdj5idXR0b25dOiFyb3VuZGVkLXItbm9uZScsXG4gICAgICAgICAgJ1smPnBkbS10b29sdGlwPnNwYW4+cGRtLXNlbGVjdD5kaXY+YnV0dG9uXTpzaGFkb3ctbm9uZScsXG4gICAgICAgICAgJ1smPnBkbS10b29sdGlwPnNwYW4+c2VsZWN0XTohcm91bmRlZC1ub25lJyxcbiAgICAgICAgICAnWyY+cGRtLXRvb2x0aXA6Zmlyc3QtY2hpbGQ+c3Bhbj5zZWxlY3RdOiFyb3VuZGVkLWwtbWQnLFxuICAgICAgICAgICdbJj5wZG0tdG9vbHRpcDpsYXN0LWNoaWxkPnNwYW4+c2VsZWN0XTohcm91bmRlZC1yLW1kJyxcbiAgICAgICAgICAnWyY+cGRtLXRvb2x0aXA+c3Bhbj5zZWxlY3RdOnNoYWRvdy1ub25lJ1xuICAgICAgICBdLmpvaW4oJyAnKVxuICAgICAgOiAnJztcblxuICAgIGNvbnN0IGdyb3VwVmVydGljYWxDbGFzc2VzID0gaXNHcm91cCAmJiBpc1ZlcnRpY2FsICYmICF0aGlzLnNlcGFyYXRlZFxuICAgICAgPyBbXG4gICAgICAgICAgJ1smPipdOnJvdW5kZWQtbm9uZScsXG4gICAgICAgICAgJ1smPio6Zmlyc3QtY2hpbGRdOnJvdW5kZWQtdC1tZCcsXG4gICAgICAgICAgJ1smPio6bGFzdC1jaGlsZF06cm91bmRlZC1iLW1kJyxcbiAgICAgICAgICAnWyY+Kjpub3QoOmZpcnN0LWNoaWxkKV06LW10LXB4JyxcbiAgICAgICAgICAnWyY+Kjpub3QoOmZpcnN0LWNoaWxkKV06Ym9yZGVyLXQtMCcsXG4gICAgICAgICAgJ1smPnBkbS1idXR0b25dOmZsZXgnLFxuICAgICAgICAgICdbJj5wZG0tYnV0dG9uPmJ1dHRvbl06aC05JyxcbiAgICAgICAgICAnWyY+cGRtLWJ1dHRvbj5idXR0b25dOiFyb3VuZGVkLW5vbmUnLFxuICAgICAgICAgICdbJj5wZG0tYnV0dG9uOmZpcnN0LWNoaWxkPmJ1dHRvbl06IXJvdW5kZWQtdC1tZCcsXG4gICAgICAgICAgJ1smPnBkbS1idXR0b246bGFzdC1jaGlsZD5idXR0b25dOiFyb3VuZGVkLWItbWQnLFxuICAgICAgICAgICdbJj5wZG0taW5wdXQ+ZGl2PmlucHV0XTohcm91bmRlZC1ub25lJyxcbiAgICAgICAgICAnWyY+cGRtLWlucHV0OmZpcnN0LWNoaWxkPmRpdj5pbnB1dF06IXJvdW5kZWQtdC1tZCcsXG4gICAgICAgICAgJ1smPnBkbS1pbnB1dDpsYXN0LWNoaWxkPmRpdj5pbnB1dF06IXJvdW5kZWQtYi1tZCcsXG4gICAgICAgICAgJ1smPnBkbS1pbnB1dC1ncm91cD5kaXZdOiFyb3VuZGVkLW5vbmUnLFxuICAgICAgICAgICdbJj5wZG0taW5wdXQtZ3JvdXA6Zmlyc3QtY2hpbGQ+ZGl2XTohcm91bmRlZC10LW1kJyxcbiAgICAgICAgICAnWyY+cGRtLWlucHV0LWdyb3VwOmxhc3QtY2hpbGQ+ZGl2XTohcm91bmRlZC1iLW1kJyxcbiAgICAgICAgICAnWyY+cGRtLXNlbGVjdD5zZWxlY3RdOiFyb3VuZGVkLW5vbmUnLFxuICAgICAgICAgICdbJj5wZG0tc2VsZWN0OmZpcnN0LWNoaWxkPnNlbGVjdF06IXJvdW5kZWQtdC1tZCcsXG4gICAgICAgICAgJ1smPnBkbS1zZWxlY3Q6bGFzdC1jaGlsZD5zZWxlY3RdOiFyb3VuZGVkLWItbWQnLFxuICAgICAgICAgICdbJj5wZG0tc2VsZWN0PnNlbGVjdF06c2hhZG93LW5vbmUnLFxuICAgICAgICAgICdbJj5wZG0tc2VsZWN0PmRpdj5idXR0b25dOiFyb3VuZGVkLW5vbmUnLFxuICAgICAgICAgICdbJj5wZG0tc2VsZWN0OmZpcnN0LWNoaWxkPmRpdj5idXR0b25dOiFyb3VuZGVkLXQtbWQnLFxuICAgICAgICAgICdbJj5wZG0tc2VsZWN0Omxhc3QtY2hpbGQ+ZGl2PmJ1dHRvbl06IXJvdW5kZWQtYi1tZCcsXG4gICAgICAgICAgJ1smPnBkbS1zZWxlY3Q6bm90KDpmaXJzdC1jaGlsZCk+ZGl2PmJ1dHRvbl06IXJvdW5kZWQtdC1ub25lJyxcbiAgICAgICAgICAnWyY+cGRtLXNlbGVjdDpub3QoOmxhc3QtY2hpbGQpPmRpdj5idXR0b25dOiFyb3VuZGVkLWItbm9uZScsXG4gICAgICAgICAgJ1smPnBkbS1zZWxlY3Q+ZGl2PmJ1dHRvbl06c2hhZG93LW5vbmUnLFxuICAgICAgICAgICdbJj5wZG0taW5wdXQ+ZGl2PmlucHV0XTpiZy1iYWNrZ3JvdW5kJyxcbiAgICAgICAgICAnWyY+cGRtLWlucHV0PmRpdj5pbnB1dF06c2hhZG93LW5vbmUnLFxuICAgICAgICAgICdbJj5wZG0tYnV0dG9uPmJ1dHRvbl06c2hhZG93LW5vbmUnLFxuICAgICAgICAgICdbJj5wZG0tdG9vbHRpcD5zcGFuPipdOnJvdW5kZWQtbm9uZScsXG4gICAgICAgICAgJ1smPnBkbS10b29sdGlwOmZpcnN0LWNoaWxkPnNwYW4+Kl06cm91bmRlZC10LW1kJyxcbiAgICAgICAgICAnWyY+cGRtLXRvb2x0aXA6bGFzdC1jaGlsZD5zcGFuPipdOnJvdW5kZWQtYi1tZCcsXG4gICAgICAgICAgJ1smPnBkbS10b29sdGlwOm5vdCg6Zmlyc3QtY2hpbGQpPnNwYW4+Kl06Ym9yZGVyLXQtMCcsXG4gICAgICAgICAgJ1smPnBkbS10b29sdGlwPnNwYW4+cGRtLWJ1dHRvbj5idXR0b25dOiFyb3VuZGVkLW5vbmUnLFxuICAgICAgICAgICdbJj5wZG0tdG9vbHRpcDpmaXJzdC1jaGlsZD5zcGFuPnBkbS1idXR0b24+YnV0dG9uXTohcm91bmRlZC10LW1kJyxcbiAgICAgICAgICAnWyY+cGRtLXRvb2x0aXA6bGFzdC1jaGlsZD5zcGFuPnBkbS1idXR0b24+YnV0dG9uXTohcm91bmRlZC1iLW1kJyxcbiAgICAgICAgICAnWyY+cGRtLXRvb2x0aXA+c3Bhbj5wZG0tYnV0dG9uPmJ1dHRvbl06c2hhZG93LW5vbmUnLFxuICAgICAgICAgICdbJj5wZG0tdG9vbHRpcD5zcGFuPmJ1dHRvbl06IXJvdW5kZWQtbm9uZScsXG4gICAgICAgICAgJ1smPnBkbS10b29sdGlwOmZpcnN0LWNoaWxkPnNwYW4+YnV0dG9uXTohcm91bmRlZC10LW1kJyxcbiAgICAgICAgICAnWyY+cGRtLXRvb2x0aXA6bGFzdC1jaGlsZD5zcGFuPmJ1dHRvbl06IXJvdW5kZWQtYi1tZCcsXG4gICAgICAgICAgJ1smPnBkbS10b29sdGlwPnNwYW4+YnV0dG9uXTpzaGFkb3ctbm9uZScsXG4gICAgICAgICAgJ1smPnBkbS10b29sdGlwPnNwYW4+cGRtLWlucHV0PmRpdj5pbnB1dF06IXJvdW5kZWQtbm9uZScsXG4gICAgICAgICAgJ1smPnBkbS10b29sdGlwOmZpcnN0LWNoaWxkPnNwYW4+cGRtLWlucHV0PmRpdj5pbnB1dF06IXJvdW5kZWQtdC1tZCcsXG4gICAgICAgICAgJ1smPnBkbS10b29sdGlwOmxhc3QtY2hpbGQ+c3Bhbj5wZG0taW5wdXQ+ZGl2PmlucHV0XTohcm91bmRlZC1iLW1kJyxcbiAgICAgICAgICAnWyY+cGRtLXRvb2x0aXA+c3Bhbj5wZG0taW5wdXQ+ZGl2PmlucHV0XTpzaGFkb3ctbm9uZScsXG4gICAgICAgICAgJ1smPnBkbS10b29sdGlwPnNwYW4+aW5wdXRdOiFyb3VuZGVkLW5vbmUnLFxuICAgICAgICAgICdbJj5wZG0tdG9vbHRpcDpmaXJzdC1jaGlsZD5zcGFuPmlucHV0XTohcm91bmRlZC10LW1kJyxcbiAgICAgICAgICAnWyY+cGRtLXRvb2x0aXA6bGFzdC1jaGlsZD5zcGFuPmlucHV0XTohcm91bmRlZC1iLW1kJyxcbiAgICAgICAgICAnWyY+cGRtLXRvb2x0aXA+c3Bhbj5pbnB1dF06c2hhZG93LW5vbmUnLFxuICAgICAgICAgICdbJj5wZG0tdG9vbHRpcD5zcGFuPnBkbS1pbnB1dC1ncm91cD5kaXZdOiFyb3VuZGVkLW5vbmUnLFxuICAgICAgICAgICdbJj5wZG0tdG9vbHRpcDpmaXJzdC1jaGlsZD5zcGFuPnBkbS1pbnB1dC1ncm91cD5kaXZdOiFyb3VuZGVkLXQtbWQnLFxuICAgICAgICAgICdbJj5wZG0tdG9vbHRpcDpsYXN0LWNoaWxkPnNwYW4+cGRtLWlucHV0LWdyb3VwPmRpdl06IXJvdW5kZWQtYi1tZCcsXG4gICAgICAgICAgJ1smPnBkbS10b29sdGlwPnNwYW4+cGRtLXNlbGVjdD5zZWxlY3RdOiFyb3VuZGVkLW5vbmUnLFxuICAgICAgICAgICdbJj5wZG0tdG9vbHRpcDpmaXJzdC1jaGlsZD5zcGFuPnBkbS1zZWxlY3Q+c2VsZWN0XTohcm91bmRlZC10LW1kJyxcbiAgICAgICAgICAnWyY+cGRtLXRvb2x0aXA6bGFzdC1jaGlsZD5zcGFuPnBkbS1zZWxlY3Q+c2VsZWN0XTohcm91bmRlZC1iLW1kJyxcbiAgICAgICAgICAnWyY+cGRtLXRvb2x0aXA+c3Bhbj5wZG0tc2VsZWN0PnNlbGVjdF06c2hhZG93LW5vbmUnLFxuICAgICAgICAgICdbJj5wZG0tdG9vbHRpcD5zcGFuPnBkbS1zZWxlY3Q+ZGl2PmJ1dHRvbl06IXJvdW5kZWQtbm9uZScsXG4gICAgICAgICAgJ1smPnBkbS10b29sdGlwOmZpcnN0LWNoaWxkPnNwYW4+cGRtLXNlbGVjdD5kaXY+YnV0dG9uXTohcm91bmRlZC10LW1kJyxcbiAgICAgICAgICAnWyY+cGRtLXRvb2x0aXA6bGFzdC1jaGlsZD5zcGFuPnBkbS1zZWxlY3Q+ZGl2PmJ1dHRvbl06IXJvdW5kZWQtYi1tZCcsXG4gICAgICAgICAgJ1smPnBkbS10b29sdGlwOm5vdCg6Zmlyc3QtY2hpbGQpPnNwYW4+cGRtLXNlbGVjdD5kaXY+YnV0dG9uXTohcm91bmRlZC10LW5vbmUnLFxuICAgICAgICAgICdbJj5wZG0tdG9vbHRpcDpub3QoOmxhc3QtY2hpbGQpPnNwYW4+cGRtLXNlbGVjdD5kaXY+YnV0dG9uXTohcm91bmRlZC1iLW5vbmUnLFxuICAgICAgICAgICdbJj5wZG0tdG9vbHRpcD5zcGFuPnBkbS1zZWxlY3Q+ZGl2PmJ1dHRvbl06c2hhZG93LW5vbmUnLFxuICAgICAgICAgICdbJj5wZG0tdG9vbHRpcD5zcGFuPnNlbGVjdF06IXJvdW5kZWQtbm9uZScsXG4gICAgICAgICAgJ1smPnBkbS10b29sdGlwOmZpcnN0LWNoaWxkPnNwYW4+c2VsZWN0XTohcm91bmRlZC10LW1kJyxcbiAgICAgICAgICAnWyY+cGRtLXRvb2x0aXA6bGFzdC1jaGlsZD5zcGFuPnNlbGVjdF06IXJvdW5kZWQtYi1tZCcsXG4gICAgICAgICAgJ1smPnBkbS10b29sdGlwPnNwYW4+c2VsZWN0XTpzaGFkb3ctbm9uZSdcbiAgICAgICAgXS5qb2luKCcgJylcbiAgICAgIDogJyc7XG5cbiAgICByZXR1cm4gW1xuICAgICAgJ2lubGluZS1mbGV4IHctZml0JyxcbiAgICAgIGlzVmVydGljYWwgPyAnZmxleC1jb2wgaXRlbXMtc3RyZXRjaCcgOiAnaXRlbXMtY2VudGVyJyxcbiAgICAgIHRoaXMudmFyaWFudCA9PT0gJ2RlZmF1bHQnIHx8IHRoaXMuc2VwYXJhdGVkID8gJ2dhcC0yJyA6ICdnYXAtMCcsXG4gICAgICBpc0dyb3VwID8gJyo6Zm9jdXMtdmlzaWJsZTpyZWxhdGl2ZSAqOmZvY3VzLXZpc2libGU6ei0xMCcgOiAnJyxcbiAgICAgIGF0dGFjaGVkQ2xhc3NlcyxcbiAgICAgIGdyb3VwSG9yaXpvbnRhbENsYXNzZXMsXG4gICAgICBncm91cFZlcnRpY2FsQ2xhc3NlcyxcbiAgICAgIGlzU2VwYXJhdG9yXG4gICAgICAgID8gJ292ZXJmbG93LWhpZGRlbiByb3VuZGVkLW1kIGJvcmRlciBib3JkZXItYm9yZGVyIGJnLXNlY29uZGFyeSBzaGFkb3ctc20nXG4gICAgICAgIDogJycsXG4gICAgICB0aGlzLmNsYXNzTmFtZVxuICAgIF07XG4gIH1cbn1cbiIsIjxkaXZcbiAgcm9sZT1cImdyb3VwXCJcbiAgW2F0dHIuYXJpYS1vcmllbnRhdGlvbl09XCJ2YXJpYW50ID09PSAnb3JpZW50YXRpb24nIHx8IG9yaWVudGF0aW9uID09PSAndmVydGljYWwnIHx8IGRpcmVjdGlvbiA9PT0gJ3ZlcnRpY2FsJyA/ICd2ZXJ0aWNhbCcgOiAnaG9yaXpvbnRhbCdcIlxuICBbbmdDbGFzc109XCJyb290Q2xhc3Nlc1wiXG4+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvZGl2PlxuIl19
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, HostListener, Input, Output } from '@angular/core';
|
|
1
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, HostListener, Input, Output, ViewChild } from '@angular/core';
|
|
2
2
|
import { format as formatDateFns } from 'date-fns';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
import * as i1 from "@angular/common";
|
|
@@ -14,6 +14,7 @@ export class PdmDatePickerComponent {
|
|
|
14
14
|
this._open = false;
|
|
15
15
|
this.instanceId = `pdm-date-picker-${++nextDatePickerId}`;
|
|
16
16
|
this.triggerFocused = false;
|
|
17
|
+
this.panelPlacement = 'bottom';
|
|
17
18
|
this.id = '';
|
|
18
19
|
this.variant = 'single';
|
|
19
20
|
this.label = '';
|
|
@@ -43,6 +44,12 @@ export class PdmDatePickerComponent {
|
|
|
43
44
|
}
|
|
44
45
|
set open(value) {
|
|
45
46
|
this._open = !!value;
|
|
47
|
+
if (this._open) {
|
|
48
|
+
this.schedulePanelPlacementUpdate();
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
this.panelPlacement = 'bottom';
|
|
52
|
+
}
|
|
46
53
|
this.cdr.markForCheck();
|
|
47
54
|
}
|
|
48
55
|
get open() {
|
|
@@ -124,7 +131,9 @@ export class PdmDatePickerComponent {
|
|
|
124
131
|
}
|
|
125
132
|
get panelClasses() {
|
|
126
133
|
return [
|
|
127
|
-
|
|
134
|
+
this.panelPlacement === 'top'
|
|
135
|
+
? 'absolute bottom-full left-0 z-30 mb-2'
|
|
136
|
+
: 'absolute left-0 top-full z-30 mt-2',
|
|
128
137
|
this.panelClassName
|
|
129
138
|
];
|
|
130
139
|
}
|
|
@@ -188,14 +197,47 @@ export class PdmDatePickerComponent {
|
|
|
188
197
|
this.setOpen(false);
|
|
189
198
|
}
|
|
190
199
|
}
|
|
200
|
+
onViewportChange() {
|
|
201
|
+
this.updatePanelPlacement();
|
|
202
|
+
}
|
|
191
203
|
setOpen(nextOpen) {
|
|
192
204
|
if (this._open === nextOpen) {
|
|
193
205
|
return;
|
|
194
206
|
}
|
|
195
207
|
this._open = nextOpen;
|
|
196
208
|
this.openChange.emit(this._open);
|
|
209
|
+
if (this._open) {
|
|
210
|
+
this.schedulePanelPlacementUpdate();
|
|
211
|
+
}
|
|
212
|
+
else {
|
|
213
|
+
this.panelPlacement = 'bottom';
|
|
214
|
+
}
|
|
197
215
|
this.cdr.markForCheck();
|
|
198
216
|
}
|
|
217
|
+
schedulePanelPlacementUpdate() {
|
|
218
|
+
setTimeout(() => this.updatePanelPlacement());
|
|
219
|
+
}
|
|
220
|
+
updatePanelPlacement() {
|
|
221
|
+
if (!this._open) {
|
|
222
|
+
return;
|
|
223
|
+
}
|
|
224
|
+
const triggerEl = this.triggerRef?.nativeElement;
|
|
225
|
+
const panelEl = this.panelRef?.nativeElement;
|
|
226
|
+
if (!triggerEl || !panelEl || typeof window === 'undefined') {
|
|
227
|
+
return;
|
|
228
|
+
}
|
|
229
|
+
const viewportHeight = window.innerHeight;
|
|
230
|
+
const gap = 8;
|
|
231
|
+
const triggerRect = triggerEl.getBoundingClientRect();
|
|
232
|
+
const panelHeight = panelEl.offsetHeight;
|
|
233
|
+
const spaceBelow = Math.max(0, viewportHeight - triggerRect.bottom - gap);
|
|
234
|
+
const spaceAbove = Math.max(0, triggerRect.top - gap);
|
|
235
|
+
const nextPlacement = spaceBelow < panelHeight && spaceAbove > spaceBelow ? 'top' : 'bottom';
|
|
236
|
+
if (this.panelPlacement !== nextPlacement) {
|
|
237
|
+
this.panelPlacement = nextPlacement;
|
|
238
|
+
this.cdr.markForCheck();
|
|
239
|
+
}
|
|
240
|
+
}
|
|
199
241
|
formatDate(date) {
|
|
200
242
|
try {
|
|
201
243
|
return formatDateFns(date, this.format || 'MMM d, yyyy');
|
|
@@ -215,11 +257,17 @@ export class PdmDatePickerComponent {
|
|
|
215
257
|
}
|
|
216
258
|
}
|
|
217
259
|
PdmDatePickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmDatePickerComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
218
|
-
PdmDatePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: PdmDatePickerComponent, selector: "pdm-date-picker", inputs: { id: "id", variant: "variant", label: "label", labelClassName: "labelClassName", className: "className", triggerClassName: "triggerClassName", panelClassName: "panelClassName", placeholder: "placeholder", rangePlaceholder: "rangePlaceholder", format: "format", disabled: "disabled", readonly: "readonly", required: "required", invalid: "invalid", allowSameDayRange: "allowSameDayRange", closeOnSelect: "closeOnSelect", minDate: "minDate", maxDate: "maxDate", minYear: "minYear", maxYear: "maxYear", disabledDates: "disabledDates", isDateDisabled: "isDateDisabled", open: "open", value: "value", rangeValue: "rangeValue" }, outputs: { valueChange: "valueChange", rangeValueChange: "rangeValueChange", openChange: "openChange", monthChange: "monthChange" }, host: { listeners: { "document:keydown.escape": "onEscape()", "document:click": "onDocumentClick($event)" } }, ngImport: i0, template: "<div [ngClass]=\"rootClasses\">\n <pdm-label *ngIf=\"label\" [forId]=\"triggerId\" [required]=\"required\" [className]=\"labelClassName\">\n {{ label }}\n </pdm-label>\n\n <div class=\"relative inline-block w-full\">\n <button\n type=\"button\"\n [id]=\"triggerId\"\n [disabled]=\"disabled\"\n [attr.aria-expanded]=\"open\"\n [attr.aria-controls]=\"panelId\"\n [attr.aria-haspopup]=\"'dialog'\"\n [attr.aria-invalid]=\"invalid\"\n [ngClass]=\"triggerClasses\"\n [attr.title]=\"displayText\"\n (click)=\"toggleOpen()\"\n (focus)=\"onTriggerFocus()\"\n (blur)=\"onTriggerBlur()\"\n >\n <span class=\"flex h-5 w-5 shrink-0 items-center justify-center p-0.5 text-muted-foreground\" aria-hidden=\"true\">\n <svg viewBox=\"0 0 24 24\" class=\"h-4 w-4\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\">\n <path d=\"M8 2v4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\n <path d=\"M16 2v4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\n <rect x=\"3\" y=\"4.5\" width=\"18\" height=\"16.5\" rx=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></rect>\n <path d=\"M3 9.5h18\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\n </svg>\n </span>\n\n <span [ngClass]=\"textClasses\">{{ displayText }}</span>\n </button>\n\n <div *ngIf=\"open\" [id]=\"panelId\" [ngClass]=\"panelClasses\" role=\"dialog\" [attr.aria-labelledby]=\"label ? triggerId : null\">\n <pdm-calendar\n [variant]=\"resolvedVariant\"\n [value]=\"value\"\n [rangeValue]=\"rangeValue\"\n [readonly]=\"readonly\"\n [allowSameDayRange]=\"allowSameDayRange\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n [minYear]=\"minYear\"\n [maxYear]=\"maxYear\"\n [disabledDates]=\"disabledDates\"\n [isDateDisabled]=\"isDateDisabled\"\n (valueChange)=\"onCalendarValueChange($event)\"\n (rangeValueChange)=\"onCalendarRangeValueChange($event)\"\n (monthChange)=\"onCalendarMonthChange($event)\"\n ></pdm-calendar>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.PdmCalendarComponent, selector: "pdm-calendar", inputs: ["variant", "className", "disabledDates", "minDate", "maxDate", "minYear", "maxYear", "isDateDisabled", "allowSameDayRange", "readonly", "value", "rangeValue", "month"], outputs: ["valueChange", "rangeValueChange", "monthChange", "dateClick", "disabledDateClick"] }, { kind: "component", type: i3.PdmLabelComponent, selector: "pdm-label", inputs: ["forId", "required", "className"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
260
|
+
PdmDatePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: PdmDatePickerComponent, selector: "pdm-date-picker", inputs: { id: "id", variant: "variant", label: "label", labelClassName: "labelClassName", className: "className", triggerClassName: "triggerClassName", panelClassName: "panelClassName", placeholder: "placeholder", rangePlaceholder: "rangePlaceholder", format: "format", disabled: "disabled", readonly: "readonly", required: "required", invalid: "invalid", allowSameDayRange: "allowSameDayRange", closeOnSelect: "closeOnSelect", minDate: "minDate", maxDate: "maxDate", minYear: "minYear", maxYear: "maxYear", disabledDates: "disabledDates", isDateDisabled: "isDateDisabled", open: "open", value: "value", rangeValue: "rangeValue" }, outputs: { valueChange: "valueChange", rangeValueChange: "rangeValueChange", openChange: "openChange", monthChange: "monthChange" }, host: { listeners: { "document:keydown.escape": "onEscape()", "document:click": "onDocumentClick($event)", "window:resize": "onViewportChange()", "window:scroll": "onViewportChange()" } }, viewQueries: [{ propertyName: "triggerRef", first: true, predicate: ["triggerEl"], descendants: true }, { propertyName: "panelRef", first: true, predicate: ["panelEl"], descendants: true }], ngImport: i0, template: "<div [ngClass]=\"rootClasses\">\n <pdm-label *ngIf=\"label\" [forId]=\"triggerId\" [required]=\"required\" [className]=\"labelClassName\">\n {{ label }}\n </pdm-label>\n\n <div class=\"relative inline-block w-full\">\n <button\n #triggerEl\n type=\"button\"\n [id]=\"triggerId\"\n [disabled]=\"disabled\"\n [attr.aria-expanded]=\"open\"\n [attr.aria-controls]=\"panelId\"\n [attr.aria-haspopup]=\"'dialog'\"\n [attr.aria-invalid]=\"invalid\"\n [ngClass]=\"triggerClasses\"\n [attr.title]=\"displayText\"\n (click)=\"toggleOpen()\"\n (focus)=\"onTriggerFocus()\"\n (blur)=\"onTriggerBlur()\"\n >\n <span class=\"flex h-5 w-5 shrink-0 items-center justify-center p-0.5 text-muted-foreground\" aria-hidden=\"true\">\n <svg viewBox=\"0 0 24 24\" class=\"h-4 w-4\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\">\n <path d=\"M8 2v4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\n <path d=\"M16 2v4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\n <rect x=\"3\" y=\"4.5\" width=\"18\" height=\"16.5\" rx=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></rect>\n <path d=\"M3 9.5h18\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\n </svg>\n </span>\n\n <span [ngClass]=\"textClasses\">{{ displayText }}</span>\n </button>\n\n <div *ngIf=\"open\" #panelEl [id]=\"panelId\" [ngClass]=\"panelClasses\" role=\"dialog\" [attr.aria-labelledby]=\"label ? triggerId : null\">\n <pdm-calendar\n [variant]=\"resolvedVariant\"\n [value]=\"value\"\n [rangeValue]=\"rangeValue\"\n [readonly]=\"readonly\"\n [allowSameDayRange]=\"allowSameDayRange\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n [minYear]=\"minYear\"\n [maxYear]=\"maxYear\"\n [disabledDates]=\"disabledDates\"\n [isDateDisabled]=\"isDateDisabled\"\n (valueChange)=\"onCalendarValueChange($event)\"\n (rangeValueChange)=\"onCalendarRangeValueChange($event)\"\n (monthChange)=\"onCalendarMonthChange($event)\"\n ></pdm-calendar>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.PdmCalendarComponent, selector: "pdm-calendar", inputs: ["variant", "className", "disabledDates", "minDate", "maxDate", "minYear", "maxYear", "isDateDisabled", "allowSameDayRange", "readonly", "value", "rangeValue", "month"], outputs: ["valueChange", "rangeValueChange", "monthChange", "dateClick", "disabledDateClick"] }, { kind: "component", type: i3.PdmLabelComponent, selector: "pdm-label", inputs: ["forId", "required", "className"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
219
261
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmDatePickerComponent, decorators: [{
|
|
220
262
|
type: Component,
|
|
221
|
-
args: [{ selector: 'pdm-date-picker', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [ngClass]=\"rootClasses\">\n <pdm-label *ngIf=\"label\" [forId]=\"triggerId\" [required]=\"required\" [className]=\"labelClassName\">\n {{ label }}\n </pdm-label>\n\n <div class=\"relative inline-block w-full\">\n <button\n type=\"button\"\n [id]=\"triggerId\"\n [disabled]=\"disabled\"\n [attr.aria-expanded]=\"open\"\n [attr.aria-controls]=\"panelId\"\n [attr.aria-haspopup]=\"'dialog'\"\n [attr.aria-invalid]=\"invalid\"\n [ngClass]=\"triggerClasses\"\n [attr.title]=\"displayText\"\n (click)=\"toggleOpen()\"\n (focus)=\"onTriggerFocus()\"\n (blur)=\"onTriggerBlur()\"\n >\n <span class=\"flex h-5 w-5 shrink-0 items-center justify-center p-0.5 text-muted-foreground\" aria-hidden=\"true\">\n <svg viewBox=\"0 0 24 24\" class=\"h-4 w-4\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\">\n <path d=\"M8 2v4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\n <path d=\"M16 2v4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\n <rect x=\"3\" y=\"4.5\" width=\"18\" height=\"16.5\" rx=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></rect>\n <path d=\"M3 9.5h18\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\n </svg>\n </span>\n\n <span [ngClass]=\"textClasses\">{{ displayText }}</span>\n </button>\n\n <div *ngIf=\"open\" [id]=\"panelId\" [ngClass]=\"panelClasses\" role=\"dialog\" [attr.aria-labelledby]=\"label ? triggerId : null\">\n <pdm-calendar\n [variant]=\"resolvedVariant\"\n [value]=\"value\"\n [rangeValue]=\"rangeValue\"\n [readonly]=\"readonly\"\n [allowSameDayRange]=\"allowSameDayRange\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n [minYear]=\"minYear\"\n [maxYear]=\"maxYear\"\n [disabledDates]=\"disabledDates\"\n [isDateDisabled]=\"isDateDisabled\"\n (valueChange)=\"onCalendarValueChange($event)\"\n (rangeValueChange)=\"onCalendarRangeValueChange($event)\"\n (monthChange)=\"onCalendarMonthChange($event)\"\n ></pdm-calendar>\n </div>\n </div>\n</div>\n" }]
|
|
222
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: {
|
|
263
|
+
args: [{ selector: 'pdm-date-picker', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [ngClass]=\"rootClasses\">\n <pdm-label *ngIf=\"label\" [forId]=\"triggerId\" [required]=\"required\" [className]=\"labelClassName\">\n {{ label }}\n </pdm-label>\n\n <div class=\"relative inline-block w-full\">\n <button\n #triggerEl\n type=\"button\"\n [id]=\"triggerId\"\n [disabled]=\"disabled\"\n [attr.aria-expanded]=\"open\"\n [attr.aria-controls]=\"panelId\"\n [attr.aria-haspopup]=\"'dialog'\"\n [attr.aria-invalid]=\"invalid\"\n [ngClass]=\"triggerClasses\"\n [attr.title]=\"displayText\"\n (click)=\"toggleOpen()\"\n (focus)=\"onTriggerFocus()\"\n (blur)=\"onTriggerBlur()\"\n >\n <span class=\"flex h-5 w-5 shrink-0 items-center justify-center p-0.5 text-muted-foreground\" aria-hidden=\"true\">\n <svg viewBox=\"0 0 24 24\" class=\"h-4 w-4\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\">\n <path d=\"M8 2v4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\n <path d=\"M16 2v4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\n <rect x=\"3\" y=\"4.5\" width=\"18\" height=\"16.5\" rx=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></rect>\n <path d=\"M3 9.5h18\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\n </svg>\n </span>\n\n <span [ngClass]=\"textClasses\">{{ displayText }}</span>\n </button>\n\n <div *ngIf=\"open\" #panelEl [id]=\"panelId\" [ngClass]=\"panelClasses\" role=\"dialog\" [attr.aria-labelledby]=\"label ? triggerId : null\">\n <pdm-calendar\n [variant]=\"resolvedVariant\"\n [value]=\"value\"\n [rangeValue]=\"rangeValue\"\n [readonly]=\"readonly\"\n [allowSameDayRange]=\"allowSameDayRange\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n [minYear]=\"minYear\"\n [maxYear]=\"maxYear\"\n [disabledDates]=\"disabledDates\"\n [isDateDisabled]=\"isDateDisabled\"\n (valueChange)=\"onCalendarValueChange($event)\"\n (rangeValueChange)=\"onCalendarRangeValueChange($event)\"\n (monthChange)=\"onCalendarMonthChange($event)\"\n ></pdm-calendar>\n </div>\n </div>\n</div>\n" }]
|
|
264
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { triggerRef: [{
|
|
265
|
+
type: ViewChild,
|
|
266
|
+
args: ['triggerEl']
|
|
267
|
+
}], panelRef: [{
|
|
268
|
+
type: ViewChild,
|
|
269
|
+
args: ['panelEl']
|
|
270
|
+
}], id: [{
|
|
223
271
|
type: Input
|
|
224
272
|
}], variant: [{
|
|
225
273
|
type: Input
|
|
@@ -283,5 +331,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
283
331
|
}], onDocumentClick: [{
|
|
284
332
|
type: HostListener,
|
|
285
333
|
args: ['document:click', ['$event']]
|
|
334
|
+
}], onViewportChange: [{
|
|
335
|
+
type: HostListener,
|
|
336
|
+
args: ['window:resize']
|
|
337
|
+
}, {
|
|
338
|
+
type: HostListener,
|
|
339
|
+
args: ['window:scroll']
|
|
286
340
|
}] } });
|
|
287
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2RhdGUtcGlja2VyL2RhdGUtcGlja2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9kYXRlLXBpY2tlci9kYXRlLXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFFVCxZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE1BQU0sSUFBSSxhQUFhLEVBQUUsTUFBTSxVQUFVLENBQUM7Ozs7O0FBR25ELElBQUksZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDO0FBT3pCLE1BQU0sT0FBTyxzQkFBc0I7SUFRakMsWUFDbUIsVUFBbUMsRUFDbkMsR0FBc0I7UUFEdEIsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFDbkMsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFUakMsV0FBTSxHQUFnQixJQUFJLENBQUM7UUFDM0IsZ0JBQVcsR0FBNEIsSUFBSSxDQUFDO1FBQzVDLFVBQUssR0FBRyxLQUFLLENBQUM7UUFFTCxlQUFVLEdBQUcsbUJBQW1CLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQztRQUM5RCxtQkFBYyxHQUFHLEtBQUssQ0FBQztRQU90QixPQUFFLEdBQUcsRUFBRSxDQUFDO1FBQ1IsWUFBTyxHQUFnQyxRQUFRLENBQUM7UUFDaEQsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUNYLG1CQUFjLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLGNBQVMsR0FBRyxFQUFFLENBQUM7UUFDZixxQkFBZ0IsR0FBRyxFQUFFLENBQUM7UUFDdEIsbUJBQWMsR0FBRyxFQUFFLENBQUM7UUFDcEIsZ0JBQVcsR0FBRyxhQUFhLENB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RyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBRUksV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNO2dCQUdILElBQUk7c0JBRFAsS0FBSztnQkFVRixLQUFLO3NCQURSLEtBQUs7Z0JBVUYsVUFBVTtzQkFEYixLQUFLO2dCQXFKTixRQUFRO3NCQURQLFlBQVk7dUJBQUMseUJBQXlCO2dCQVF2QyxlQUFlO3NCQURkLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBPdXRwdXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmb3JtYXQgYXMgZm9ybWF0RGF0ZUZucyB9IGZyb20gJ2RhdGUtZm5zJztcbmltcG9ydCB7IFBkbUNhbGVuZGFyUmFuZ2UsIFBkbUNhbGVuZGFyVmFyaWFudCB9IGZyb20gJy4uL2NhbGVuZGFyL2NhbGVuZGFyLmNvbXBvbmVudCc7XG5cbmxldCBuZXh0RGF0ZVBpY2tlcklkID0gMDtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncGRtLWRhdGUtcGlja2VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGUtcGlja2VyLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgUGRtRGF0ZVBpY2tlckNvbXBvbmVudCB7XG4gIHByaXZhdGUgX3ZhbHVlOiBEYXRlIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgX3JhbmdlVmFsdWU6IFBkbUNhbGVuZGFyUmFuZ2UgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBfb3BlbiA9IGZhbHNlO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgaW5zdGFuY2VJZCA9IGBwZG0tZGF0ZS1waWNrZXItJHsrK25leHREYXRlUGlja2VySWR9YDtcbiAgcHJpdmF0ZSB0cmlnZ2VyRm9jdXNlZCA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgcHJpdmF0ZSByZWFkb25seSBjZHI6IENoYW5nZURldGVjdG9yUmVmXG4gICkge31cblxuICBASW5wdXQoKSBpZCA9ICcnO1xuICBASW5wdXQoKSB2YXJpYW50OiBQZG1DYWxlbmRhclZhcmlhbnQgfCBzdHJpbmcgPSAnc2luZ2xlJztcbiAgQElucHV0KCkgbGFiZWwgPSAnJztcbiAgQElucHV0KCkgbGFiZWxDbGFzc05hbWUgPSAnJztcbiAgQElucHV0KCkgY2xhc3NOYW1lID0gJyc7XG4gIEBJbnB1dCgpIHRyaWdnZXJDbGFzc05hbWUgPSAnJztcbiAgQElucHV0KCkgcGFuZWxDbGFzc05hbWUgPSAnJztcbiAgQElucHV0KCkgcGxhY2Vob2xkZXIgPSAnUGljayBhIGRhdGUnO1xuICBASW5wdXQoKSByYW5nZVBsYWNlaG9sZGVyID0gJ1BpY2sgYSBkYXRlIHJhbmdlJztcbiAgQElucHV0KCkgZm9ybWF0ID0gJ01NTSBkLCB5eXl5JztcbiAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgcmVhZG9ubHkgPSBmYWxzZTtcbiAgQElucHV0KCkgcmVxdWlyZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgaW52YWxpZCA9IGZhbHNlO1xuICBASW5wdXQoKSBhbGxvd1NhbWVEYXlSYW5nZSA9IHRydWU7XG4gIEBJbnB1dCgpIGNsb3NlT25TZWxlY3QgPSB0cnVlO1xuICBASW5wdXQoKSBtaW5EYXRlOiBEYXRlIHwgbnVsbCA9IG51bGw7XG4gIEBJbnB1dCgpIG1heERhdGU6IERhdGUgfCBudWxsID0gbnVsbDtcbiAgQElucHV0KCkgbWluWWVhcjogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG4gIEBJbnB1dCgpIG1heFllYXI6IG51bWJlciB8IG51bGwgPSBudWxsO1xuICBASW5wdXQoKSBkaXNhYmxlZERhdGVzOiBEYXRlW10gPSBbXTtcbiAgQElucHV0KCkgaXNEYXRlRGlzYWJsZWQ6ICgoZGF0ZTogRGF0ZSkgPT4gYm9vbGVhbikgfCBudWxsID0gbnVsbDtcblxuICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPERhdGUgfCBudWxsPigpO1xuICBAT3V0cHV0KCkgcmFuZ2VWYWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8UGRtQ2FsZW5kYXJSYW5nZSB8IG51bGw+KCk7XG4gIEBPdXRwdXQoKSBvcGVuQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICBAT3V0cHV0KCkgbW9udGhDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPERhdGU+KCk7XG5cbiAgQElucHV0KClcbiAgc2V0IG9wZW4odmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9vcGVuID0gISF2YWx1ZTtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuICBnZXQgb3BlbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fb3BlbjtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHNldCB2YWx1ZSh2YWx1ZTogRGF0ZSB8IG51bGwpIHtcbiAgICB0aGlzLl92YWx1ZSA9IHRoaXMubm9ybWFsaXplRGF0ZSh2YWx1ZSk7XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cbiAgZ2V0IHZhbHVlKCk6IERhdGUgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gIH1cblxuICBASW5wdXQoKVxuICBzZXQgcmFuZ2VWYWx1ZSh2YWx1ZTogUGRtQ2FsZW5kYXJSYW5nZSB8IG51bGwpIHtcbiAgICB0aGlzLl9yYW5nZVZhbHVlID0gdmFsdWVcbiAgICAgID8ge1xuICAgICAgICAgIHN0YXJ0OiB0aGlzLm5vcm1hbGl6ZURhdGUodmFsdWUuc3RhcnQpLFxuICAgICAgICAgIGVuZDogdGhpcy5ub3JtYWxpemVEYXRlKHZhbHVlLmVuZClcbiAgICAgICAgfVxuICAgICAgOiBudWxsO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG4gIGdldCByYW5nZVZhbHVlKCk6IFBkbUNhbGVuZGFyUmFuZ2UgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5fcmFuZ2VWYWx1ZTtcbiAgfVxuXG4gIGdldCByZXNvbHZlZFZhcmlhbnQoKTogUGRtQ2FsZW5kYXJWYXJpYW50IHtcbiAgICByZXR1cm4gdGhpcy52YXJpYW50ID09PSAncmFuZ2UnID8gJ3JhbmdlJyA6ICdzaW5nbGUnO1xuICB9XG5cbiAgZ2V0IHRyaWdnZXJJZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmlkIHx8IGAke3RoaXMuaW5zdGFuY2VJZH0tdHJpZ2dlcmA7XG4gIH1cblxuICBnZXQgcGFuZWxJZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLmlkIHx8IHRoaXMuaW5zdGFuY2VJZH0tcGFuZWxgO1xuICB9XG5cbiAgZ2V0IGhhc1NpbmdsZVZhbHVlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnJlc29sdmVkVmFyaWFudCA9PT0gJ3NpbmdsZScgJiYgISF0aGlzLl92YWx1ZTtcbiAgfVxuXG4gIGdldCBoYXNSYW5nZVZhbHVlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnJlc29sdmVkVmFyaWFudCA9PT0gJ3JhbmdlJyAmJiAhIXRoaXMuX3JhbmdlVmFsdWU/LnN0YXJ0O1xuICB9XG5cbiAgZ2V0IGRpc3BsYXlUZXh0KCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMucmVzb2x2ZWRWYXJpYW50ID09PSAnc2luZ2xlJykge1xuICAgICAgcmV0dXJuIHRoaXMuX3ZhbHVlID8gdGhpcy5mb3JtYXREYXRlKHRoaXMuX3ZhbHVlKSA6IHRoaXMucGxhY2Vob2xkZXI7XG4gICAgfVxuXG4gICAgY29uc3Qgc3RhcnQgPSB0aGlzLl9yYW5nZVZhbHVlPy5zdGFydCA/PyBudWxsO1xuICAgIGNvbnN0IGVuZCA9IHRoaXMuX3JhbmdlVmFsdWU/LmVuZCA/PyBudWxsO1xuXG4gICAgaWYgKCFzdGFydCkge1xuICAgICAgcmV0dXJuIHRoaXMucmFuZ2VQbGFjZWhvbGRlcjtcbiAgICB9XG5cbiAgICBpZiAoIWVuZCkge1xuICAgICAgcmV0dXJuIGAke3RoaXMuZm9ybWF0RGF0ZShzdGFydCl9IC1gO1xuICAgIH1cblxuICAgIHJldHVybiBgJHt0aGlzLmZvcm1hdERhdGUoc3RhcnQpfSAtICR7dGhpcy5mb3JtYXREYXRlKGVuZCl9YDtcbiAgfVxuXG4gIGdldCB0ZXh0Q2xhc3NlcygpOiBzdHJpbmdbXSB7XG4gICAgY29uc3QgaGFzVmFsdWUgPSB0aGlzLnJlc29sdmVkVmFyaWFudCA9PT0gJ3NpbmdsZScgPyB0aGlzLmhhc1NpbmdsZVZhbHVlIDogdGhpcy5oYXNSYW5nZVZhbHVlO1xuICAgIHJldHVybiBbXG4gICAgICAnbWluLXctMCBmbGV4LTEgdHJ1bmNhdGUgdGV4dC1sZWZ0IHRleHQtc20gbGVhZGluZy01JyxcbiAgICAgIGhhc1ZhbHVlID8gJ3RleHQtZm9yZWdyb3VuZCcgOiAndGV4dC1tdXRlZC1mb3JlZ3JvdW5kJ1xuICAgIF07XG4gIH1cblxuICBnZXQgcm9vdENsYXNzZXMoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiBbXG4gICAgICAnZ3JpZCBnYXAtMicsXG4gICAgICB0aGlzLnJlc29sdmVkVmFyaWFudCA9PT0gJ3JhbmdlJyA/ICd3LVsyODBweF0nIDogJ3ctWzE5N3B4XScsXG4gICAgICB0aGlzLmNsYXNzTmFtZVxuICAgIF07XG4gIH1cblxuICBnZXQgdHJpZ2dlckNsYXNzZXMoKTogc3RyaW5nW10ge1xuICAgIGNvbnN0IGZvY3VzU3R5bGUgPSB0aGlzLm9wZW4gfHwgdGhpcy50cmlnZ2VyRm9jdXNlZDtcblxuICAgIHJldHVybiBbXG4gICAgICAnYm9yZGVyLWlucHV0IGZvY3VzLXZpc2libGU6Ym9yZGVyLXJpbmcgZm9jdXMtdmlzaWJsZTpyaW5nLTIgZm9jdXMtdmlzaWJsZTpyaW5nLXJpbmcvNTAgYXJpYS1pbnZhbGlkOnJpbmctMiBhcmlhLWludmFsaWQ6cmluZy1kZXN0cnVjdGl2ZSBhcmlhLWludmFsaWQ6Ym9yZGVyLWRlc3RydWN0aXZlIHJlbGF0aXZlIGZsZXggdy1mdWxsIGFwcGVhcmFuY2Utbm9uZSBpdGVtcy1jZW50ZXIgZ2FwLTIgb3ZlcmZsb3ctaGlkZGVuIHJvdW5kZWQtbGcgYm9yZGVyIGJnLWJhY2tncm91bmQgcHgtMyBweS1bNy41cHhdIHRleHQtbGVmdCB0ZXh0LXNtIHNoYWRvdy1zbSBvdXRsaW5lLW5vbmUgdHJhbnNpdGlvbi1jb2xvcnMnLFxuICAgICAgJ21pbi1oLVszNnB4XSBkaXNhYmxlZDpwb2ludGVyLWV2ZW50cy1ub25lIGRpc2FibGVkOmN1cnNvci1ub3QtYWxsb3dlZCBkaXNhYmxlZDpvcGFjaXR5LTUwJyxcbiAgICAgIGZvY3VzU3R5bGVcbiAgICAgICAgPyAnYm9yZGVyLXJpbmcgcmluZy0yIHJpbmctcmluZy81MCdcbiAgICAgICAgOiAnJyxcbiAgICAgIHRoaXMuaW52YWxpZCA/ICdib3JkZXItZGVzdHJ1Y3RpdmUgcmluZy1kZXN0cnVjdGl2ZS8yMCcgOiAnJyxcbiAgICAgIHRoaXMudHJpZ2dlckNsYXNzTmFtZVxuICAgIF07XG4gIH1cblxuICBnZXQgcGFuZWxDbGFzc2VzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gW1xuICAgICAgJ2Fic29sdXRlIGxlZnQtMCB0b3AtZnVsbCB6LTMwIG10LTInLFxuICAgICAgdGhpcy5wYW5lbENsYXNzTmFtZVxuICAgIF07XG4gIH1cblxuICB0b2dnbGVPcGVuKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRpc2FibGVkIHx8IHRoaXMucmVhZG9ubHkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnNldE9wZW4oIXRoaXMub3Blbik7XG4gIH1cblxuICBvblRyaWdnZXJGb2N1cygpOiB2b2lkIHtcbiAgICB0aGlzLnRyaWdnZXJGb2N1c2VkID0gdHJ1ZTtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIG9uVHJpZ2dlckJsdXIoKTogdm9pZCB7XG4gICAgdGhpcy50cmlnZ2VyRm9jdXNlZCA9IGZhbHNlO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgb25DYWxlbmRhclZhbHVlQ2hhbmdlKHZhbHVlOiBEYXRlIHwgbnVsbCk6IHZvaWQge1xuICAgIHRoaXMuX3ZhbHVlID0gdGhpcy5ub3JtYWxpemVEYXRlKHZhbHVlKTtcbiAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodGhpcy5fdmFsdWUgPyB0aGlzLmNsb25lRGF0ZSh0aGlzLl92YWx1ZSkgOiBudWxsKTtcblxuICAgIGlmICh0aGlzLmNsb3NlT25TZWxlY3QgJiYgdGhpcy5fdmFsdWUpIHtcbiAgICAgIHRoaXMuc2V0T3BlbihmYWxzZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbiAgfVxuXG4gIG9uQ2FsZW5kYXJSYW5nZVZhbHVlQ2hhbmdlKHZhbHVlOiBQZG1DYWxlbmRhclJhbmdlIHwgbnVsbCk6IHZvaWQge1xuICAgIHRoaXMuX3JhbmdlVmFsdWUgPSB2YWx1ZVxuICAgICAgPyB7XG4gICAgICAgICAgc3RhcnQ6IHRoaXMubm9ybWFsaXplRGF0ZSh2YWx1ZS5zdGFydCksXG4gICAgICAgICAgZW5kOiB0aGlzLm5vcm1hbGl6ZURhdGUodmFsdWUuZW5kKVxuICAgICAgICB9XG4gICAgICA6IG51bGw7XG5cbiAgICB0aGlzLnJhbmdlVmFsdWVDaGFuZ2UuZW1pdChcbiAgICAgIHRoaXMuX3JhbmdlVmFsdWVcbiAgICAgICAgPyB7XG4gICAgICAgICAgICBzdGFydDogdGhpcy5fcmFuZ2VWYWx1ZS5zdGFydCA/IHRoaXMuY2xvbmVEYXRlKHRoaXMuX3JhbmdlVmFsdWUuc3RhcnQpIDogbnVsbCxcbiAgICAgICAgICAgIGVuZDogdGhpcy5fcmFuZ2VWYWx1ZS5lbmQgPyB0aGlzLmNsb25lRGF0ZSh0aGlzLl9yYW5nZVZhbHVlLmVuZCkgOiBudWxsXG4gICAgICAgICAgfVxuICAgICAgICA6IG51bGxcbiAgICApO1xuXG4gICAgaWYgKHRoaXMuY2xvc2VPblNlbGVjdCAmJiB0aGlzLl9yYW5nZVZhbHVlPy5zdGFydCAmJiB0aGlzLl9yYW5nZVZhbHVlPy5lbmQpIHtcbiAgICAgIHRoaXMuc2V0T3BlbihmYWxzZSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBvbkNhbGVuZGFyTW9udGhDaGFuZ2UobW9udGg6IERhdGUpOiB2b2lkIHtcbiAgICB0aGlzLm1vbnRoQ2hhbmdlLmVtaXQodGhpcy5jbG9uZURhdGUobW9udGgpKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmtleWRvd24uZXNjYXBlJylcbiAgb25Fc2NhcGUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMub3Blbikge1xuICAgICAgdGhpcy5zZXRPcGVuKGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDpjbGljaycsIFsnJGV2ZW50J10pXG4gIG9uRG9jdW1lbnRDbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5vcGVuKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIE5vZGUgfCBudWxsO1xuICAgIGlmICh0YXJnZXQgJiYgIXRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKHRhcmdldCkpIHtcbiAgICAgIHRoaXMuc2V0T3BlbihmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXRPcGVuKG5leHRPcGVuOiBib29sZWFuKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX29wZW4gPT09IG5leHRPcGVuKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fb3BlbiA9IG5leHRPcGVuO1xuICAgIHRoaXMub3BlbkNoYW5nZS5lbWl0KHRoaXMuX29wZW4pO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHJpdmF0ZSBmb3JtYXREYXRlKGRhdGU6IERhdGUpOiBzdHJpbmcge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gZm9ybWF0RGF0ZUZucyhkYXRlLCB0aGlzLmZvcm1hdCB8fCAnTU1NIGQsIHl5eXknKTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIHJldHVybiBmb3JtYXREYXRlRm5zKGRhdGUsICdNTU0gZCwgeXl5eScpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgbm9ybWFsaXplRGF0ZSh2YWx1ZTogRGF0ZSB8IG51bGwgfCB1bmRlZmluZWQpOiBEYXRlIHwgbnVsbCB7XG4gICAgaWYgKCEodmFsdWUgaW5zdGFuY2VvZiBEYXRlKSB8fCBOdW1iZXIuaXNOYU4odmFsdWUuZ2V0VGltZSgpKSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBEYXRlKHZhbHVlLmdldEZ1bGxZZWFyKCksIHZhbHVlLmdldE1vbnRoKCksIHZhbHVlLmdldERhdGUoKSk7XG4gIH1cblxuICBwcml2YXRlIGNsb25lRGF0ZShkYXRlOiBEYXRlKTogRGF0ZSB7XG4gICAgcmV0dXJuIG5ldyBEYXRlKGRhdGUuZ2V0RnVsbFllYXIoKSwgZGF0ZS5nZXRNb250aCgpLCBkYXRlLmdldERhdGUoKSk7XG4gIH1cbn1cbiIsIjxkaXYgW25nQ2xhc3NdPVwicm9vdENsYXNzZXNcIj5cbiAgPHBkbS1sYWJlbCAqbmdJZj1cImxhYmVsXCIgW2ZvcklkXT1cInRyaWdnZXJJZFwiIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiIFtjbGFzc05hbWVdPVwibGFiZWxDbGFzc05hbWVcIj5cbiAgICB7eyBsYWJlbCB9fVxuICA8L3BkbS1sYWJlbD5cblxuICA8ZGl2IGNsYXNzPVwicmVsYXRpdmUgaW5saW5lLWJsb2NrIHctZnVsbFwiPlxuICAgIDxidXR0b25cbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgW2lkXT1cInRyaWdnZXJJZFwiXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJvcGVuXCJcbiAgICAgIFthdHRyLmFyaWEtY29udHJvbHNdPVwicGFuZWxJZFwiXG4gICAgICBbYXR0ci5hcmlhLWhhc3BvcHVwXT1cIidkaWFsb2cnXCJcbiAgICAgIFthdHRyLmFyaWEtaW52YWxpZF09XCJpbnZhbGlkXCJcbiAgICAgIFtuZ0NsYXNzXT1cInRyaWdnZXJDbGFzc2VzXCJcbiAgICAgIFthdHRyLnRpdGxlXT1cImRpc3BsYXlUZXh0XCJcbiAgICAgIChjbGljayk9XCJ0b2dnbGVPcGVuKClcIlxuICAgICAgKGZvY3VzKT1cIm9uVHJpZ2dlckZvY3VzKClcIlxuICAgICAgKGJsdXIpPVwib25UcmlnZ2VyQmx1cigpXCJcbiAgICA+XG4gICAgICA8c3BhbiBjbGFzcz1cImZsZXggaC01IHctNSBzaHJpbmstMCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcC0wLjUgdGV4dC1tdXRlZC1mb3JlZ3JvdW5kXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XG4gICAgICAgIDxzdmcgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiaC00IHctNFwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMS44XCI+XG4gICAgICAgICAgPHBhdGggZD1cIk04IDJ2NFwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiPjwvcGF0aD5cbiAgICAgICAgICA8cGF0aCBkPVwiTTE2IDJ2NFwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiPjwvcGF0aD5cbiAgICAgICAgICA8cmVjdCB4PVwiM1wiIHk9XCI0LjVcIiB3aWR0aD1cIjE4XCIgaGVpZ2h0PVwiMTYuNVwiIHJ4PVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiPjwvcmVjdD5cbiAgICAgICAgICA8cGF0aCBkPVwiTTMgOS41aDE4XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCI+PC9wYXRoPlxuICAgICAgICA8L3N2Zz5cbiAgICAgIDwvc3Bhbj5cblxuICAgICAgPHNwYW4gW25nQ2xhc3NdPVwidGV4dENsYXNzZXNcIj57eyBkaXNwbGF5VGV4dCB9fTwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cblxuICAgIDxkaXYgKm5nSWY9XCJvcGVuXCIgW2lkXT1cInBhbmVsSWRcIiBbbmdDbGFzc109XCJwYW5lbENsYXNzZXNcIiByb2xlPVwiZGlhbG9nXCIgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImxhYmVsID8gdHJpZ2dlcklkIDogbnVsbFwiPlxuICAgICAgPHBkbS1jYWxlbmRhclxuICAgICAgICBbdmFyaWFudF09XCJyZXNvbHZlZFZhcmlhbnRcIlxuICAgICAgICBbdmFsdWVdPVwidmFsdWVcIlxuICAgICAgICBbcmFuZ2VWYWx1ZV09XCJyYW5nZVZhbHVlXCJcbiAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcbiAgICAgICAgW2FsbG93U2FtZURheVJhbmdlXT1cImFsbG93U2FtZURheVJhbmdlXCJcbiAgICAgICAgW21pbkRhdGVdPVwibWluRGF0ZVwiXG4gICAgICAgIFttYXhEYXRlXT1cIm1heERhdGVcIlxuICAgICAgICBbbWluWWVhcl09XCJtaW5ZZWFyXCJcbiAgICAgICAgW21heFllYXJdPVwibWF4WWVhclwiXG4gICAgICAgIFtkaXNhYmxlZERhdGVzXT1cImRpc2FibGVkRGF0ZXNcIlxuICAgICAgICBbaXNEYXRlRGlzYWJsZWRdPVwiaXNEYXRlRGlzYWJsZWRcIlxuICAgICAgICAodmFsdWVDaGFuZ2UpPVwib25DYWxlbmRhclZhbHVlQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAocmFuZ2VWYWx1ZUNoYW5nZSk9XCJvbkNhbGVuZGFyUmFuZ2VWYWx1ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgKG1vbnRoQ2hhbmdlKT1cIm9uQ2FsZW5kYXJNb250aENoYW5nZSgkZXZlbnQpXCJcbiAgICAgID48L3BkbS1jYWxlbmRhcj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
341
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2RhdGUtcGlja2VyL2RhdGUtcGlja2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9kYXRlLXBpY2tlci9kYXRlLXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFFVCxZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxNQUFNLElBQUksYUFBYSxFQUFFLE1BQU0sVUFBVSxDQUFDOzs7OztBQUduRCxJQUFJLGdCQUFnQixHQUFHLENBQUMsQ0FBQztBQU96QixNQUFNLE9BQU8sc0JBQXNCO0lBWWpDLFlBQ21CLFVBQW1DLEVBQ25DLEdBQXNCO1FBRHRCLGVBQVUsR0FBVixVQUFVLENBQXlCO1FBQ25DLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBYmpDLFdBQU0sR0FBZ0IsSUFBSSxDQUFDO1FBQzNCLGdCQUFXLEdBQTRCLElBQUksQ0FBQztRQUM1QyxVQUFLLEdBQUcsS0FBSyxDQUFDO1FBRUwsZUFBVSxHQUFHLG1CQUFtQixFQUFFLGdCQUFnQixFQUFFLENBQUM7UUFDOUQsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFDL0IsbUJBQWMsR0FBcUIsUUFBUSxDQUFDO1FBVW5DLE9BQUUsR0FBRyxFQUFFLENBQUM7UUFDUixZQUFPLEdBQWdDLFFBQVEsQ0FBQztRQUNoRCxVQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ1gsbUJBQWMsR0FBRyxFQUFFLENBQUM7UUFDcEIsY0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNmLHFCQUFnQixHQUFHLEVBQUUsQ0FBQztRQUN0QixtQkFBYyxH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UztnQkFPWCxFQUFFO3NCQUFWLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUVJLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csZ0JBQWdCO3NCQUF6QixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTTtnQkFHSCxJQUFJO3NCQURQLEtBQUs7Z0JBZUYsS0FBSztzQkFEUixLQUFLO2dCQVVGLFVBQVU7c0JBRGIsS0FBSztnQkF1Sk4sUUFBUTtzQkFEUCxZQUFZO3VCQUFDLHlCQUF5QjtnQkFRdkMsZUFBZTtzQkFEZCxZQUFZO3VCQUFDLGdCQUFnQixFQUFFLENBQUMsUUFBUSxDQUFDO2dCQWMxQyxnQkFBZ0I7c0JBRmYsWUFBWTt1QkFBQyxlQUFlOztzQkFDNUIsWUFBWTt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdExpc3RlbmVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmb3JtYXQgYXMgZm9ybWF0RGF0ZUZucyB9IGZyb20gJ2RhdGUtZm5zJztcbmltcG9ydCB7IFBkbUNhbGVuZGFyUmFuZ2UsIFBkbUNhbGVuZGFyVmFyaWFudCB9IGZyb20gJy4uL2NhbGVuZGFyL2NhbGVuZGFyLmNvbXBvbmVudCc7XG5cbmxldCBuZXh0RGF0ZVBpY2tlcklkID0gMDtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncGRtLWRhdGUtcGlja2VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGUtcGlja2VyLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgUGRtRGF0ZVBpY2tlckNvbXBvbmVudCB7XG4gIHByaXZhdGUgX3ZhbHVlOiBEYXRlIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgX3JhbmdlVmFsdWU6IFBkbUNhbGVuZGFyUmFuZ2UgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBfb3BlbiA9IGZhbHNlO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgaW5zdGFuY2VJZCA9IGBwZG0tZGF0ZS1waWNrZXItJHsrK25leHREYXRlUGlja2VySWR9YDtcbiAgcHJpdmF0ZSB0cmlnZ2VyRm9jdXNlZCA9IGZhbHNlO1xuICBwYW5lbFBsYWNlbWVudDogJ3RvcCcgfCAnYm90dG9tJyA9ICdib3R0b20nO1xuXG4gIEBWaWV3Q2hpbGQoJ3RyaWdnZXJFbCcpIHByaXZhdGUgdHJpZ2dlclJlZj86IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuICBAVmlld0NoaWxkKCdwYW5lbEVsJykgcHJpdmF0ZSBwYW5lbFJlZj86IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgcHJpdmF0ZSByZWFkb25seSBjZHI6IENoYW5nZURldGVjdG9yUmVmXG4gICkge31cblxuICBASW5wdXQoKSBpZCA9ICcnO1xuICBASW5wdXQoKSB2YXJpYW50OiBQZG1DYWxlbmRhclZhcmlhbnQgfCBzdHJpbmcgPSAnc2luZ2xlJztcbiAgQElucHV0KCkgbGFiZWwgPSAnJztcbiAgQElucHV0KCkgbGFiZWxDbGFzc05hbWUgPSAnJztcbiAgQElucHV0KCkgY2xhc3NOYW1lID0gJyc7XG4gIEBJbnB1dCgpIHRyaWdnZXJDbGFzc05hbWUgPSAnJztcbiAgQElucHV0KCkgcGFuZWxDbGFzc05hbWUgPSAnJztcbiAgQElucHV0KCkgcGxhY2Vob2xkZXIgPSAnUGljayBhIGRhdGUnO1xuICBASW5wdXQoKSByYW5nZVBsYWNlaG9sZGVyID0gJ1BpY2sgYSBkYXRlIHJhbmdlJztcbiAgQElucHV0KCkgZm9ybWF0ID0gJ01NTSBkLCB5eXl5JztcbiAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgcmVhZG9ubHkgPSBmYWxzZTtcbiAgQElucHV0KCkgcmVxdWlyZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgaW52YWxpZCA9IGZhbHNlO1xuICBASW5wdXQoKSBhbGxvd1NhbWVEYXlSYW5nZSA9IHRydWU7XG4gIEBJbnB1dCgpIGNsb3NlT25TZWxlY3QgPSB0cnVlO1xuICBASW5wdXQoKSBtaW5EYXRlOiBEYXRlIHwgbnVsbCA9IG51bGw7XG4gIEBJbnB1dCgpIG1heERhdGU6IERhdGUgfCBudWxsID0gbnVsbDtcbiAgQElucHV0KCkgbWluWWVhcjogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG4gIEBJbnB1dCgpIG1heFllYXI6IG51bWJlciB8IG51bGwgPSBudWxsO1xuICBASW5wdXQoKSBkaXNhYmxlZERhdGVzOiBEYXRlW10gPSBbXTtcbiAgQElucHV0KCkgaXNEYXRlRGlzYWJsZWQ6ICgoZGF0ZTogRGF0ZSkgPT4gYm9vbGVhbikgfCBudWxsID0gbnVsbDtcblxuICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPERhdGUgfCBudWxsPigpO1xuICBAT3V0cHV0KCkgcmFuZ2VWYWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8UGRtQ2FsZW5kYXJSYW5nZSB8IG51bGw+KCk7XG4gIEBPdXRwdXQoKSBvcGVuQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICBAT3V0cHV0KCkgbW9udGhDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPERhdGU+KCk7XG5cbiAgQElucHV0KClcbiAgc2V0IG9wZW4odmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9vcGVuID0gISF2YWx1ZTtcbiAgICBpZiAodGhpcy5fb3Blbikge1xuICAgICAgdGhpcy5zY2hlZHVsZVBhbmVsUGxhY2VtZW50VXBkYXRlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucGFuZWxQbGFjZW1lbnQgPSAnYm90dG9tJztcbiAgICB9XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cbiAgZ2V0IG9wZW4oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX29wZW47XG4gIH1cblxuICBASW5wdXQoKVxuICBzZXQgdmFsdWUodmFsdWU6IERhdGUgfCBudWxsKSB7XG4gICAgdGhpcy5fdmFsdWUgPSB0aGlzLm5vcm1hbGl6ZURhdGUodmFsdWUpO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG4gIGdldCB2YWx1ZSgpOiBEYXRlIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xuICB9XG5cbiAgQElucHV0KClcbiAgc2V0IHJhbmdlVmFsdWUodmFsdWU6IFBkbUNhbGVuZGFyUmFuZ2UgfCBudWxsKSB7XG4gICAgdGhpcy5fcmFuZ2VWYWx1ZSA9IHZhbHVlXG4gICAgICA/IHtcbiAgICAgICAgICBzdGFydDogdGhpcy5ub3JtYWxpemVEYXRlKHZhbHVlLnN0YXJ0KSxcbiAgICAgICAgICBlbmQ6IHRoaXMubm9ybWFsaXplRGF0ZSh2YWx1ZS5lbmQpXG4gICAgICAgIH1cbiAgICAgIDogbnVsbDtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuICBnZXQgcmFuZ2VWYWx1ZSgpOiBQZG1DYWxlbmRhclJhbmdlIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuX3JhbmdlVmFsdWU7XG4gIH1cblxuICBnZXQgcmVzb2x2ZWRWYXJpYW50KCk6IFBkbUNhbGVuZGFyVmFyaWFudCB7XG4gICAgcmV0dXJuIHRoaXMudmFyaWFudCA9PT0gJ3JhbmdlJyA/ICdyYW5nZScgOiAnc2luZ2xlJztcbiAgfVxuXG4gIGdldCB0cmlnZ2VySWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pZCB8fCBgJHt0aGlzLmluc3RhbmNlSWR9LXRyaWdnZXJgO1xuICB9XG5cbiAgZ2V0IHBhbmVsSWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5pZCB8fCB0aGlzLmluc3RhbmNlSWR9LXBhbmVsYDtcbiAgfVxuXG4gIGdldCBoYXNTaW5nbGVWYWx1ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5yZXNvbHZlZFZhcmlhbnQgPT09ICdzaW5nbGUnICYmICEhdGhpcy5fdmFsdWU7XG4gIH1cblxuICBnZXQgaGFzUmFuZ2VWYWx1ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5yZXNvbHZlZFZhcmlhbnQgPT09ICdyYW5nZScgJiYgISF0aGlzLl9yYW5nZVZhbHVlPy5zdGFydDtcbiAgfVxuXG4gIGdldCBkaXNwbGF5VGV4dCgpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLnJlc29sdmVkVmFyaWFudCA9PT0gJ3NpbmdsZScpIHtcbiAgICAgIHJldHVybiB0aGlzLl92YWx1ZSA/IHRoaXMuZm9ybWF0RGF0ZSh0aGlzLl92YWx1ZSkgOiB0aGlzLnBsYWNlaG9sZGVyO1xuICAgIH1cblxuICAgIGNvbnN0IHN0YXJ0ID0gdGhpcy5fcmFuZ2VWYWx1ZT8uc3RhcnQgPz8gbnVsbDtcbiAgICBjb25zdCBlbmQgPSB0aGlzLl9yYW5nZVZhbHVlPy5lbmQgPz8gbnVsbDtcblxuICAgIGlmICghc3RhcnQpIHtcbiAgICAgIHJldHVybiB0aGlzLnJhbmdlUGxhY2Vob2xkZXI7XG4gICAgfVxuXG4gICAgaWYgKCFlbmQpIHtcbiAgICAgIHJldHVybiBgJHt0aGlzLmZvcm1hdERhdGUoc3RhcnQpfSAtYDtcbiAgICB9XG5cbiAgICByZXR1cm4gYCR7dGhpcy5mb3JtYXREYXRlKHN0YXJ0KX0gLSAke3RoaXMuZm9ybWF0RGF0ZShlbmQpfWA7XG4gIH1cblxuICBnZXQgdGV4dENsYXNzZXMoKTogc3RyaW5nW10ge1xuICAgIGNvbnN0IGhhc1ZhbHVlID0gdGhpcy5yZXNvbHZlZFZhcmlhbnQgPT09ICdzaW5nbGUnID8gdGhpcy5oYXNTaW5nbGVWYWx1ZSA6IHRoaXMuaGFzUmFuZ2VWYWx1ZTtcbiAgICByZXR1cm4gW1xuICAgICAgJ21pbi13LTAgZmxleC0xIHRydW5jYXRlIHRleHQtbGVmdCB0ZXh0LXNtIGxlYWRpbmctNScsXG4gICAgICBoYXNWYWx1ZSA/ICd0ZXh0LWZvcmVncm91bmQnIDogJ3RleHQtbXV0ZWQtZm9yZWdyb3VuZCdcbiAgICBdO1xuICB9XG5cbiAgZ2V0IHJvb3RDbGFzc2VzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gW1xuICAgICAgJ2dyaWQgZ2FwLTInLFxuICAgICAgdGhpcy5yZXNvbHZlZFZhcmlhbnQgPT09ICdyYW5nZScgPyAndy1bMjgwcHhdJyA6ICd3LVsxOTdweF0nLFxuICAgICAgdGhpcy5jbGFzc05hbWVcbiAgICBdO1xuICB9XG5cbiAgZ2V0IHRyaWdnZXJDbGFzc2VzKCk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCBmb2N1c1N0eWxlID0gdGhpcy5vcGVuIHx8IHRoaXMudHJpZ2dlckZvY3VzZWQ7XG5cbiAgICByZXR1cm4gW1xuICAgICAgJ2JvcmRlci1pbnB1dCBmb2N1cy12aXNpYmxlOmJvcmRlci1yaW5nIGZvY3VzLXZpc2libGU6cmluZy0yIGZvY3VzLXZpc2libGU6cmluZy1yaW5nLzUwIGFyaWEtaW52YWxpZDpyaW5nLTIgYXJpYS1pbnZhbGlkOnJpbmctZGVzdHJ1Y3RpdmUgYXJpYS1pbnZhbGlkOmJvcmRlci1kZXN0cnVjdGl2ZSByZWxhdGl2ZSBmbGV4IHctZnVsbCBhcHBlYXJhbmNlLW5vbmUgaXRlbXMtY2VudGVyIGdhcC0yIG92ZXJmbG93LWhpZGRlbiByb3VuZGVkLWxnIGJvcmRlciBiZy1iYWNrZ3JvdW5kIHB4LTMgcHktWzcuNXB4XSB0ZXh0LWxlZnQgdGV4dC1zbSBzaGFkb3ctc20gb3V0bGluZS1ub25lIHRyYW5zaXRpb24tY29sb3JzJyxcbiAgICAgICdtaW4taC1bMzZweF0gZGlzYWJsZWQ6cG9pbnRlci1ldmVudHMtbm9uZSBkaXNhYmxlZDpjdXJzb3Itbm90LWFsbG93ZWQgZGlzYWJsZWQ6b3BhY2l0eS01MCcsXG4gICAgICBmb2N1c1N0eWxlXG4gICAgICAgID8gJ2JvcmRlci1yaW5nIHJpbmctMiByaW5nLXJpbmcvNTAnXG4gICAgICAgIDogJycsXG4gICAgICB0aGlzLmludmFsaWQgPyAnYm9yZGVyLWRlc3RydWN0aXZlIHJpbmctZGVzdHJ1Y3RpdmUvMjAnIDogJycsXG4gICAgICB0aGlzLnRyaWdnZXJDbGFzc05hbWVcbiAgICBdO1xuICB9XG5cbiAgZ2V0IHBhbmVsQ2xhc3NlcygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIHRoaXMucGFuZWxQbGFjZW1lbnQgPT09ICd0b3AnXG4gICAgICAgID8gJ2Fic29sdXRlIGJvdHRvbS1mdWxsIGxlZnQtMCB6LTMwIG1iLTInXG4gICAgICAgIDogJ2Fic29sdXRlIGxlZnQtMCB0b3AtZnVsbCB6LTMwIG10LTInLFxuICAgICAgdGhpcy5wYW5lbENsYXNzTmFtZVxuICAgIF07XG4gIH1cblxuICB0b2dnbGVPcGVuKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRpc2FibGVkIHx8IHRoaXMucmVhZG9ubHkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnNldE9wZW4oIXRoaXMub3Blbik7XG4gIH1cblxuICBvblRyaWdnZXJGb2N1cygpOiB2b2lkIHtcbiAgICB0aGlzLnRyaWdnZXJGb2N1c2VkID0gdHJ1ZTtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIG9uVHJpZ2dlckJsdXIoKTogdm9pZCB7XG4gICAgdGhpcy50cmlnZ2VyRm9jdXNlZCA9IGZhbHNlO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgb25DYWxlbmRhclZhbHVlQ2hhbmdlKHZhbHVlOiBEYXRlIHwgbnVsbCk6IHZvaWQge1xuICAgIHRoaXMuX3ZhbHVlID0gdGhpcy5ub3JtYWxpemVEYXRlKHZhbHVlKTtcbiAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodGhpcy5fdmFsdWUgPyB0aGlzLmNsb25lRGF0ZSh0aGlzLl92YWx1ZSkgOiBudWxsKTtcblxuICAgIGlmICh0aGlzLmNsb3NlT25TZWxlY3QgJiYgdGhpcy5fdmFsdWUpIHtcbiAgICAgIHRoaXMuc2V0T3BlbihmYWxzZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbiAgfVxuXG4gIG9uQ2FsZW5kYXJSYW5nZVZhbHVlQ2hhbmdlKHZhbHVlOiBQZG1DYWxlbmRhclJhbmdlIHwgbnVsbCk6IHZvaWQge1xuICAgIHRoaXMuX3JhbmdlVmFsdWUgPSB2YWx1ZVxuICAgICAgPyB7XG4gICAgICAgICAgc3RhcnQ6IHRoaXMubm9ybWFsaXplRGF0ZSh2YWx1ZS5zdGFydCksXG4gICAgICAgICAgZW5kOiB0aGlzLm5vcm1hbGl6ZURhdGUodmFsdWUuZW5kKVxuICAgICAgICB9XG4gICAgICA6IG51bGw7XG5cbiAgICB0aGlzLnJhbmdlVmFsdWVDaGFuZ2UuZW1pdChcbiAgICAgIHRoaXMuX3JhbmdlVmFsdWVcbiAgICAgICAgPyB7XG4gICAgICAgICAgICBzdGFydDogdGhpcy5fcmFuZ2VWYWx1ZS5zdGFydCA/IHRoaXMuY2xvbmVEYXRlKHRoaXMuX3JhbmdlVmFsdWUuc3RhcnQpIDogbnVsbCxcbiAgICAgICAgICAgIGVuZDogdGhpcy5fcmFuZ2VWYWx1ZS5lbmQgPyB0aGlzLmNsb25lRGF0ZSh0aGlzLl9yYW5nZVZhbHVlLmVuZCkgOiBudWxsXG4gICAgICAgICAgfVxuICAgICAgICA6IG51bGxcbiAgICApO1xuXG4gICAgaWYgKHRoaXMuY2xvc2VPblNlbGVjdCAmJiB0aGlzLl9yYW5nZVZhbHVlPy5zdGFydCAmJiB0aGlzLl9yYW5nZVZhbHVlPy5lbmQpIHtcbiAgICAgIHRoaXMuc2V0T3BlbihmYWxzZSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBvbkNhbGVuZGFyTW9udGhDaGFuZ2UobW9udGg6IERhdGUpOiB2b2lkIHtcbiAgICB0aGlzLm1vbnRoQ2hhbmdlLmVtaXQodGhpcy5jbG9uZURhdGUobW9udGgpKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmtleWRvd24uZXNjYXBlJylcbiAgb25Fc2NhcGUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMub3Blbikge1xuICAgICAgdGhpcy5zZXRPcGVuKGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDpjbGljaycsIFsnJGV2ZW50J10pXG4gIG9uRG9jdW1lbnRDbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5vcGVuKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIE5vZGUgfCBudWxsO1xuICAgIGlmICh0YXJnZXQgJiYgIXRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKHRhcmdldCkpIHtcbiAgICAgIHRoaXMuc2V0T3BlbihmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScpXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpzY3JvbGwnKVxuICBvblZpZXdwb3J0Q2hhbmdlKCk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlUGFuZWxQbGFjZW1lbnQoKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0T3BlbihuZXh0T3BlbjogYm9vbGVhbik6IHZvaWQge1xuICAgIGlmICh0aGlzLl9vcGVuID09PSBuZXh0T3Blbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX29wZW4gPSBuZXh0T3BlbjtcbiAgICB0aGlzLm9wZW5DaGFuZ2UuZW1pdCh0aGlzLl9vcGVuKTtcbiAgICBpZiAodGhpcy5fb3Blbikge1xuICAgICAgdGhpcy5zY2hlZHVsZVBhbmVsUGxhY2VtZW50VXBkYXRlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucGFuZWxQbGFjZW1lbnQgPSAnYm90dG9tJztcbiAgICB9XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwcml2YXRlIHNjaGVkdWxlUGFuZWxQbGFjZW1lbnRVcGRhdGUoKTogdm9pZCB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLnVwZGF0ZVBhbmVsUGxhY2VtZW50KCkpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVQYW5lbFBsYWNlbWVudCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX29wZW4pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCB0cmlnZ2VyRWwgPSB0aGlzLnRyaWdnZXJSZWY/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgY29uc3QgcGFuZWxFbCA9IHRoaXMucGFuZWxSZWY/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgaWYgKCF0cmlnZ2VyRWwgfHwgIXBhbmVsRWwgfHwgdHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCB2aWV3cG9ydEhlaWdodCA9IHdpbmRvdy5pbm5lckhlaWdodDtcbiAgICBjb25zdCBnYXAgPSA4O1xuICAgIGNvbnN0IHRyaWdnZXJSZWN0ID0gdHJpZ2dlckVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIGNvbnN0IHBhbmVsSGVpZ2h0ID0gcGFuZWxFbC5vZmZzZXRIZWlnaHQ7XG4gICAgY29uc3Qgc3BhY2VCZWxvdyA9IE1hdGgubWF4KDAsIHZpZXdwb3J0SGVpZ2h0IC0gdHJpZ2dlclJlY3QuYm90dG9tIC0gZ2FwKTtcbiAgICBjb25zdCBzcGFjZUFib3ZlID0gTWF0aC5tYXgoMCwgdHJpZ2dlclJlY3QudG9wIC0gZ2FwKTtcbiAgICBjb25zdCBuZXh0UGxhY2VtZW50OiAndG9wJyB8ICdib3R0b20nID1cbiAgICAgIHNwYWNlQmVsb3cgPCBwYW5lbEhlaWdodCAmJiBzcGFjZUFib3ZlID4gc3BhY2VCZWxvdyA/ICd0b3AnIDogJ2JvdHRvbSc7XG5cbiAgICBpZiAodGhpcy5wYW5lbFBsYWNlbWVudCAhPT0gbmV4dFBsYWNlbWVudCkge1xuICAgICAgdGhpcy5wYW5lbFBsYWNlbWVudCA9IG5leHRQbGFjZW1lbnQ7XG4gICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGZvcm1hdERhdGUoZGF0ZTogRGF0ZSk6IHN0cmluZyB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBmb3JtYXREYXRlRm5zKGRhdGUsIHRoaXMuZm9ybWF0IHx8ICdNTU0gZCwgeXl5eScpO1xuICAgIH0gY2F0Y2gge1xuICAgICAgcmV0dXJuIGZvcm1hdERhdGVGbnMoZGF0ZSwgJ01NTSBkLCB5eXl5Jyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBub3JtYWxpemVEYXRlKHZhbHVlOiBEYXRlIHwgbnVsbCB8IHVuZGVmaW5lZCk6IERhdGUgfCBudWxsIHtcbiAgICBpZiAoISh2YWx1ZSBpbnN0YW5jZW9mIERhdGUpIHx8IE51bWJlci5pc05hTih2YWx1ZS5nZXRUaW1lKCkpKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gbmV3IERhdGUodmFsdWUuZ2V0RnVsbFllYXIoKSwgdmFsdWUuZ2V0TW9udGgoKSwgdmFsdWUuZ2V0RGF0ZSgpKTtcbiAgfVxuXG4gIHByaXZhdGUgY2xvbmVEYXRlKGRhdGU6IERhdGUpOiBEYXRlIHtcbiAgICByZXR1cm4gbmV3IERhdGUoZGF0ZS5nZXRGdWxsWWVhcigpLCBkYXRlLmdldE1vbnRoKCksIGRhdGUuZ2V0RGF0ZSgpKTtcbiAgfVxufVxuIiwiPGRpdiBbbmdDbGFzc109XCJyb290Q2xhc3Nlc1wiPlxuICA8cGRtLWxhYmVsICpuZ0lmPVwibGFiZWxcIiBbZm9ySWRdPVwidHJpZ2dlcklkXCIgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCIgW2NsYXNzTmFtZV09XCJsYWJlbENsYXNzTmFtZVwiPlxuICAgIHt7IGxhYmVsIH19XG4gIDwvcGRtLWxhYmVsPlxuXG4gIDxkaXYgY2xhc3M9XCJyZWxhdGl2ZSBpbmxpbmUtYmxvY2sgdy1mdWxsXCI+XG4gICAgPGJ1dHRvblxuICAgICAgI3RyaWdnZXJFbFxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBbaWRdPVwidHJpZ2dlcklkXCJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cIm9wZW5cIlxuICAgICAgW2F0dHIuYXJpYS1jb250cm9sc109XCJwYW5lbElkXCJcbiAgICAgIFthdHRyLmFyaWEtaGFzcG9wdXBdPVwiJ2RpYWxvZydcIlxuICAgICAgW2F0dHIuYXJpYS1pbnZhbGlkXT1cImludmFsaWRcIlxuICAgICAgW25nQ2xhc3NdPVwidHJpZ2dlckNsYXNzZXNcIlxuICAgICAgW2F0dHIudGl0bGVdPVwiZGlzcGxheVRleHRcIlxuICAgICAgKGNsaWNrKT1cInRvZ2dsZU9wZW4oKVwiXG4gICAgICAoZm9jdXMpPVwib25UcmlnZ2VyRm9jdXMoKVwiXG4gICAgICAoYmx1cik9XCJvblRyaWdnZXJCbHVyKClcIlxuICAgID5cbiAgICAgIDxzcGFuIGNsYXNzPVwiZmxleCBoLTUgdy01IHNocmluay0wIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBwLTAuNSB0ZXh0LW11dGVkLWZvcmVncm91bmRcIiBhcmlhLWhpZGRlbj1cInRydWVcIj5cbiAgICAgICAgPHN2ZyB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJoLTQgdy00XCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2Utd2lkdGg9XCIxLjhcIj5cbiAgICAgICAgICA8cGF0aCBkPVwiTTggMnY0XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCI+PC9wYXRoPlxuICAgICAgICAgIDxwYXRoIGQ9XCJNMTYgMnY0XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCI+PC9wYXRoPlxuICAgICAgICAgIDxyZWN0IHg9XCIzXCIgeT1cIjQuNVwiIHdpZHRoPVwiMThcIiBoZWlnaHQ9XCIxNi41XCIgcng9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCI+PC9yZWN0PlxuICAgICAgICAgIDxwYXRoIGQ9XCJNMyA5LjVoMThcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIj48L3BhdGg+XG4gICAgICAgIDwvc3ZnPlxuICAgICAgPC9zcGFuPlxuXG4gICAgICA8c3BhbiBbbmdDbGFzc109XCJ0ZXh0Q2xhc3Nlc1wiPnt7IGRpc3BsYXlUZXh0IH19PC9zcGFuPlxuICAgIDwvYnV0dG9uPlxuXG4gICAgPGRpdiAqbmdJZj1cIm9wZW5cIiAjcGFuZWxFbCBbaWRdPVwicGFuZWxJZFwiIFtuZ0NsYXNzXT1cInBhbmVsQ2xhc3Nlc1wiIHJvbGU9XCJkaWFsb2dcIiBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwibGFiZWwgPyB0cmlnZ2VySWQgOiBudWxsXCI+XG4gICAgICA8cGRtLWNhbGVuZGFyXG4gICAgICAgIFt2YXJpYW50XT1cInJlc29sdmVkVmFyaWFudFwiXG4gICAgICAgIFt2YWx1ZV09XCJ2YWx1ZVwiXG4gICAgICAgIFtyYW5nZVZhbHVlXT1cInJhbmdlVmFsdWVcIlxuICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxuICAgICAgICBbYWxsb3dTYW1lRGF5UmFuZ2VdPVwiYWxsb3dTYW1lRGF5UmFuZ2VcIlxuICAgICAgICBbbWluRGF0ZV09XCJtaW5EYXRlXCJcbiAgICAgICAgW21heERhdGVdPVwibWF4RGF0ZVwiXG4gICAgICAgIFttaW5ZZWFyXT1cIm1pblllYXJcIlxuICAgICAgICBbbWF4WWVhcl09XCJtYXhZZWFyXCJcbiAgICAgICAgW2Rpc2FibGVkRGF0ZXNdPVwiZGlzYWJsZWREYXRlc1wiXG4gICAgICAgIFtpc0RhdGVEaXNhYmxlZF09XCJpc0RhdGVEaXNhYmxlZFwiXG4gICAgICAgICh2YWx1ZUNoYW5nZSk9XCJvbkNhbGVuZGFyVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgIChyYW5nZVZhbHVlQ2hhbmdlKT1cIm9uQ2FsZW5kYXJSYW5nZVZhbHVlQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAobW9udGhDaGFuZ2UpPVwib25DYWxlbmRhck1vbnRoQ2hhbmdlKCRldmVudClcIlxuICAgICAgPjwvcGRtLWNhbGVuZGFyPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -1,15 +1,38 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, HostListener, Input, Output } from '@angular/core';
|
|
1
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, HostListener, Input, Output, ViewChild } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
import * as i1 from "@angular/common";
|
|
4
4
|
export class PdmPopoverComponent {
|
|
5
|
-
constructor(elementRef) {
|
|
5
|
+
constructor(elementRef, cdr) {
|
|
6
6
|
this.elementRef = elementRef;
|
|
7
|
-
this.
|
|
7
|
+
this.cdr = cdr;
|
|
8
|
+
this._open = false;
|
|
8
9
|
this.triggerText = 'Open';
|
|
9
10
|
this.className = '';
|
|
10
11
|
this.panelClassName = '';
|
|
11
12
|
this.showTrigger = true;
|
|
12
13
|
this.openChange = new EventEmitter();
|
|
14
|
+
this.panelPlacement = 'bottom';
|
|
15
|
+
}
|
|
16
|
+
set open(value) {
|
|
17
|
+
this._open = !!value;
|
|
18
|
+
if (this._open) {
|
|
19
|
+
this.schedulePanelPlacementUpdate();
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
this.panelPlacement = 'bottom';
|
|
23
|
+
}
|
|
24
|
+
this.cdr.markForCheck();
|
|
25
|
+
}
|
|
26
|
+
get open() {
|
|
27
|
+
return this._open;
|
|
28
|
+
}
|
|
29
|
+
get panelClasses() {
|
|
30
|
+
return [
|
|
31
|
+
this.panelPlacement === 'top'
|
|
32
|
+
? 'absolute bottom-full left-0 z-30 mb-2 min-w-80 rounded-md border border-border bg-popover p-4 text-popover-foreground shadow-md'
|
|
33
|
+
: 'absolute left-0 top-full z-30 mt-2 min-w-80 rounded-md border border-border bg-popover p-4 text-popover-foreground shadow-md',
|
|
34
|
+
this.panelClassName
|
|
35
|
+
];
|
|
13
36
|
}
|
|
14
37
|
toggle() {
|
|
15
38
|
this.open = !this.open;
|
|
@@ -30,15 +53,39 @@ export class PdmPopoverComponent {
|
|
|
30
53
|
this.openChange.emit(false);
|
|
31
54
|
}
|
|
32
55
|
}
|
|
56
|
+
onViewportChange() {
|
|
57
|
+
this.updatePanelPlacement();
|
|
58
|
+
}
|
|
59
|
+
schedulePanelPlacementUpdate() {
|
|
60
|
+
setTimeout(() => this.updatePanelPlacement());
|
|
61
|
+
}
|
|
62
|
+
updatePanelPlacement() {
|
|
63
|
+
if (!this.open)
|
|
64
|
+
return;
|
|
65
|
+
const anchorEl = this.triggerRef?.nativeElement || this.anchorRef?.nativeElement;
|
|
66
|
+
const panelEl = this.panelRef?.nativeElement;
|
|
67
|
+
if (!anchorEl || !panelEl || typeof window === 'undefined') {
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
const viewportHeight = window.innerHeight;
|
|
71
|
+
const gap = 8;
|
|
72
|
+
const anchorRect = anchorEl.getBoundingClientRect();
|
|
73
|
+
const panelHeight = panelEl.offsetHeight;
|
|
74
|
+
const spaceBelow = Math.max(0, viewportHeight - anchorRect.bottom - gap);
|
|
75
|
+
const spaceAbove = Math.max(0, anchorRect.top - gap);
|
|
76
|
+
const nextPlacement = spaceBelow < panelHeight && spaceAbove > spaceBelow ? 'top' : 'bottom';
|
|
77
|
+
if (this.panelPlacement !== nextPlacement) {
|
|
78
|
+
this.panelPlacement = nextPlacement;
|
|
79
|
+
this.cdr.markForCheck();
|
|
80
|
+
}
|
|
81
|
+
}
|
|
33
82
|
}
|
|
34
|
-
PdmPopoverComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmPopoverComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
35
|
-
PdmPopoverComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: PdmPopoverComponent, selector: "pdm-popover", inputs: {
|
|
83
|
+
PdmPopoverComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmPopoverComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
84
|
+
PdmPopoverComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: PdmPopoverComponent, selector: "pdm-popover", inputs: { triggerText: "triggerText", className: "className", panelClassName: "panelClassName", showTrigger: "showTrigger", open: "open" }, outputs: { openChange: "openChange" }, host: { listeners: { "document:keydown.escape": "onEsc()", "document:click": "onDocumentClick($event)", "window:resize": "onViewportChange()", "window:scroll": "onViewportChange()" } }, viewQueries: [{ propertyName: "anchorRef", first: true, predicate: ["anchorEl"], descendants: true }, { propertyName: "triggerRef", first: true, predicate: ["triggerEl"], descendants: true }, { propertyName: "panelRef", first: true, predicate: ["panelEl"], descendants: true }], ngImport: i0, template: "<div #anchorEl class=\"relative inline-block\" [ngClass]=\"className\">\n <button #triggerEl *ngIf=\"showTrigger\" type=\"button\" class=\"inline-flex h-9 appearance-none items-center justify-center rounded-md border border-input bg-background px-3 text-sm font-medium text-foreground shadow-sm\" [attr.aria-expanded]=\"open\" (click)=\"toggle()\">{{ triggerText }}</button>\n <div #panelEl *ngIf=\"open || !showTrigger\" [ngClass]=\"panelClasses\">\n <ng-content></ng-content>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
36
85
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmPopoverComponent, decorators: [{
|
|
37
86
|
type: Component,
|
|
38
|
-
args: [{ selector: 'pdm-popover', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"relative inline-block\" [ngClass]=\"className\">\n <button *ngIf=\"showTrigger\" type=\"button\" class=\"inline-flex h-9 appearance-none items-center justify-center rounded-md border border-input bg-background px-3 text-sm font-medium text-foreground shadow-sm\" [attr.aria-expanded]=\"open\" (click)=\"toggle()\">{{ triggerText }}</button>\n <div *ngIf=\"open || !showTrigger\" [ngClass]=\"
|
|
39
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: {
|
|
40
|
-
type: Input
|
|
41
|
-
}], triggerText: [{
|
|
87
|
+
args: [{ selector: 'pdm-popover', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div #anchorEl class=\"relative inline-block\" [ngClass]=\"className\">\n <button #triggerEl *ngIf=\"showTrigger\" type=\"button\" class=\"inline-flex h-9 appearance-none items-center justify-center rounded-md border border-input bg-background px-3 text-sm font-medium text-foreground shadow-sm\" [attr.aria-expanded]=\"open\" (click)=\"toggle()\">{{ triggerText }}</button>\n <div #panelEl *ngIf=\"open || !showTrigger\" [ngClass]=\"panelClasses\">\n <ng-content></ng-content>\n </div>\n</div>\n" }]
|
|
88
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { triggerText: [{
|
|
42
89
|
type: Input
|
|
43
90
|
}], className: [{
|
|
44
91
|
type: Input
|
|
@@ -48,11 +95,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
48
95
|
type: Input
|
|
49
96
|
}], openChange: [{
|
|
50
97
|
type: Output
|
|
98
|
+
}], anchorRef: [{
|
|
99
|
+
type: ViewChild,
|
|
100
|
+
args: ['anchorEl']
|
|
101
|
+
}], triggerRef: [{
|
|
102
|
+
type: ViewChild,
|
|
103
|
+
args: ['triggerEl']
|
|
104
|
+
}], panelRef: [{
|
|
105
|
+
type: ViewChild,
|
|
106
|
+
args: ['panelEl']
|
|
107
|
+
}], open: [{
|
|
108
|
+
type: Input
|
|
51
109
|
}], onEsc: [{
|
|
52
110
|
type: HostListener,
|
|
53
111
|
args: ['document:keydown.escape']
|
|
54
112
|
}], onDocumentClick: [{
|
|
55
113
|
type: HostListener,
|
|
56
114
|
args: ['document:click', ['$event']]
|
|
115
|
+
}], onViewportChange: [{
|
|
116
|
+
type: HostListener,
|
|
117
|
+
args: ['window:resize']
|
|
118
|
+
}, {
|
|
119
|
+
type: HostListener,
|
|
120
|
+
args: ['window:scroll']
|
|
57
121
|
}] } });
|
|
58
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
122
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvcG9wb3Zlci9wb3BvdmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9wb3BvdmVyL3BvcG92ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUV2QixTQUFTLEVBRVQsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQzs7O0FBT3ZCLE1BQU0sT0FBTyxtQkFBbUI7SUFjOUIsWUFDbUIsVUFBbUMsRUFDbkMsR0FBc0I7UUFEdEIsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFDbkMsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFmakMsVUFBSyxHQUFHLEtBQUssQ0FBQztRQUNiLGdCQUFXLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLGNBQVMsR0FBRyxFQUFFLENBQUM7UUFDZixtQkFBYyxHQUFHLEVBQUUsQ0FBQztRQUNwQixnQkFBVyxHQUFHLElBQUksQ0FBQztRQUNsQixlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUVuRCxtQkFBYyxHQUFxQixRQUFRLENBQUM7SUFTekMsQ0FBQztJQUVKLElBQ0ksSUFBSSxDQUFDLEtBQWM7UUFDckIsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQ3JCLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNkLElBQUksQ0FBQyw0QkFBNEIsRUFBRSxDQUFDO1NBQ3JDO2FBQU07WUFDTCxJQUFJLENBQUMsY0FBYyxHQUFHLFFBQVEsQ0FBQztTQUNoQztRQUNELElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUNELElBQUksSUFB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QUFTOytCQUNFLGFBQWEsbUJBRU4sdUJBQXVCLENBQUMsTUFBTTtpSUFJdEMsV0FBVztzQkFBbkIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDSSxVQUFVO3NCQUFuQixNQUFNO2dCQUl3QixTQUFTO3NCQUF2QyxTQUFTO3VCQUFDLFVBQVU7Z0JBQ1csVUFBVTtzQkFBekMsU0FBUzt1QkFBQyxXQUFXO2dCQUNRLFFBQVE7c0JBQXJDLFNBQVM7dUJBQUMsU0FBUztnQkFRaEIsSUFBSTtzQkFEUCxLQUFLO2dCQTZCTixLQUFLO3NCQURKLFlBQVk7dUJBQUMseUJBQXlCO2dCQVN2QyxlQUFlO3NCQURkLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBWTFDLGdCQUFnQjtzQkFGZixZQUFZO3VCQUFDLGVBQWU7O3NCQUM1QixZQUFZO3VCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncGRtLXBvcG92ZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vcG9wb3Zlci5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFBkbVBvcG92ZXJDb21wb25lbnQge1xuICBwcml2YXRlIF9vcGVuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHRyaWdnZXJUZXh0ID0gJ09wZW4nO1xuICBASW5wdXQoKSBjbGFzc05hbWUgPSAnJztcbiAgQElucHV0KCkgcGFuZWxDbGFzc05hbWUgPSAnJztcbiAgQElucHV0KCkgc2hvd1RyaWdnZXIgPSB0cnVlO1xuICBAT3V0cHV0KCkgb3BlbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBwYW5lbFBsYWNlbWVudDogJ3RvcCcgfCAnYm90dG9tJyA9ICdib3R0b20nO1xuXG4gIEBWaWV3Q2hpbGQoJ2FuY2hvckVsJykgcHJpdmF0ZSBhbmNob3JSZWY/OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcbiAgQFZpZXdDaGlsZCgndHJpZ2dlckVsJykgcHJpdmF0ZSB0cmlnZ2VyUmVmPzogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG4gIEBWaWV3Q2hpbGQoJ3BhbmVsRWwnKSBwcml2YXRlIHBhbmVsUmVmPzogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7fVxuXG4gIEBJbnB1dCgpXG4gIHNldCBvcGVuKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fb3BlbiA9ICEhdmFsdWU7XG4gICAgaWYgKHRoaXMuX29wZW4pIHtcbiAgICAgIHRoaXMuc2NoZWR1bGVQYW5lbFBsYWNlbWVudFVwZGF0ZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnBhbmVsUGxhY2VtZW50ID0gJ2JvdHRvbSc7XG4gICAgfVxuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG4gIGdldCBvcGVuKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9vcGVuO1xuICB9XG5cbiAgZ2V0IHBhbmVsQ2xhc3NlcygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIHRoaXMucGFuZWxQbGFjZW1lbnQgPT09ICd0b3AnXG4gICAgICAgID8gJ2Fic29sdXRlIGJvdHRvbS1mdWxsIGxlZnQtMCB6LTMwIG1iLTIgbWluLXctODAgcm91bmRlZC1tZCBib3JkZXIgYm9yZGVyLWJvcmRlciBiZy1wb3BvdmVyIHAtNCB0ZXh0LXBvcG92ZXItZm9yZWdyb3VuZCBzaGFkb3ctbWQnXG4gICAgICAgIDogJ2Fic29sdXRlIGxlZnQtMCB0b3AtZnVsbCB6LTMwIG10LTIgbWluLXctODAgcm91bmRlZC1tZCBib3JkZXIgYm9yZGVyLWJvcmRlciBiZy1wb3BvdmVyIHAtNCB0ZXh0LXBvcG92ZXItZm9yZWdyb3VuZCBzaGFkb3ctbWQnLFxuICAgICAgdGhpcy5wYW5lbENsYXNzTmFtZVxuICAgIF07XG4gIH1cblxuICB0b2dnbGUoKTogdm9pZCB7XG4gICAgdGhpcy5vcGVuID0gIXRoaXMub3BlbjtcbiAgICB0aGlzLm9wZW5DaGFuZ2UuZW1pdCh0aGlzLm9wZW4pO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5ZG93bi5lc2NhcGUnKVxuICBvbkVzYygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5vcGVuKSB7XG4gICAgICB0aGlzLm9wZW4gPSBmYWxzZTtcbiAgICAgIHRoaXMub3BlbkNoYW5nZS5lbWl0KGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDpjbGljaycsIFsnJGV2ZW50J10pXG4gIG9uRG9jdW1lbnRDbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5vcGVuKSByZXR1cm47XG4gICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIE5vZGUgfCBudWxsO1xuICAgIGlmICh0YXJnZXQgJiYgIXRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKHRhcmdldCkpIHtcbiAgICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgICAgdGhpcy5vcGVuQ2hhbmdlLmVtaXQoZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpyZXNpemUnKVxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6c2Nyb2xsJylcbiAgb25WaWV3cG9ydENoYW5nZSgpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZVBhbmVsUGxhY2VtZW50KCk7XG4gIH1cblxuICBwcml2YXRlIHNjaGVkdWxlUGFuZWxQbGFjZW1lbnRVcGRhdGUoKTogdm9pZCB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLnVwZGF0ZVBhbmVsUGxhY2VtZW50KCkpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVQYW5lbFBsYWNlbWVudCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMub3BlbikgcmV0dXJuO1xuXG4gICAgY29uc3QgYW5jaG9yRWwgPSB0aGlzLnRyaWdnZXJSZWY/Lm5hdGl2ZUVsZW1lbnQgfHwgdGhpcy5hbmNob3JSZWY/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgY29uc3QgcGFuZWxFbCA9IHRoaXMucGFuZWxSZWY/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgaWYgKCFhbmNob3JFbCB8fCAhcGFuZWxFbCB8fCB0eXBlb2Ygd2luZG93ID09PSAndW5kZWZpbmVkJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHZpZXdwb3J0SGVpZ2h0ID0gd2luZG93LmlubmVySGVpZ2h0O1xuICAgIGNvbnN0IGdhcCA9IDg7XG4gICAgY29uc3QgYW5jaG9yUmVjdCA9IGFuY2hvckVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIGNvbnN0IHBhbmVsSGVpZ2h0ID0gcGFuZWxFbC5vZmZzZXRIZWlnaHQ7XG4gICAgY29uc3Qgc3BhY2VCZWxvdyA9IE1hdGgubWF4KDAsIHZpZXdwb3J0SGVpZ2h0IC0gYW5jaG9yUmVjdC5ib3R0b20gLSBnYXApO1xuICAgIGNvbnN0IHNwYWNlQWJvdmUgPSBNYXRoLm1heCgwLCBhbmNob3JSZWN0LnRvcCAtIGdhcCk7XG4gICAgY29uc3QgbmV4dFBsYWNlbWVudDogJ3RvcCcgfCAnYm90dG9tJyA9XG4gICAgICBzcGFjZUJlbG93IDwgcGFuZWxIZWlnaHQgJiYgc3BhY2VBYm92ZSA+IHNwYWNlQmVsb3cgPyAndG9wJyA6ICdib3R0b20nO1xuXG4gICAgaWYgKHRoaXMucGFuZWxQbGFjZW1lbnQgIT09IG5leHRQbGFjZW1lbnQpIHtcbiAgICAgIHRoaXMucGFuZWxQbGFjZW1lbnQgPSBuZXh0UGxhY2VtZW50O1xuICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2ICNhbmNob3JFbCBjbGFzcz1cInJlbGF0aXZlIGlubGluZS1ibG9ja1wiIFtuZ0NsYXNzXT1cImNsYXNzTmFtZVwiPlxuICA8YnV0dG9uICN0cmlnZ2VyRWwgKm5nSWY9XCJzaG93VHJpZ2dlclwiIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImlubGluZS1mbGV4IGgtOSBhcHBlYXJhbmNlLW5vbmUgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHJvdW5kZWQtbWQgYm9yZGVyIGJvcmRlci1pbnB1dCBiZy1iYWNrZ3JvdW5kIHB4LTMgdGV4dC1zbSBmb250LW1lZGl1bSB0ZXh0LWZvcmVncm91bmQgc2hhZG93LXNtXCIgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJvcGVuXCIgKGNsaWNrKT1cInRvZ2dsZSgpXCI+e3sgdHJpZ2dlclRleHQgfX08L2J1dHRvbj5cbiAgPGRpdiAjcGFuZWxFbCAqbmdJZj1cIm9wZW4gfHwgIXNob3dUcmlnZ2VyXCIgW25nQ2xhc3NdPVwicGFuZWxDbGFzc2VzXCI+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|