@geoit/ui 0.0.6 → 0.0.8
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/ai/README.md +1 -1
- package/ai/catalog.json +64 -2
- package/ai/components/geo-map-admin-filter.md +1 -0
- package/ai/components/geo-map-legend.md +1 -0
- package/ai/components/geo-map-shell.md +7 -0
- package/ai/components/geo-tree.md +2 -0
- package/ai/mockup.html +2 -2
- package/esm2022/lib/figma/geo-chart/geo-chart.component.mjs +14 -3
- package/esm2022/lib/figma/geo-list-page/geo-list-page.component.mjs +3 -3
- package/esm2022/lib/figma/geo-map/chrome/geo-map-admin-filter/geo-map-admin-filter.component.mjs +5 -3
- package/esm2022/lib/figma/geo-map/chrome/geo-map-basemap-switcher/geo-map-basemap-switcher.component.mjs +3 -3
- package/esm2022/lib/figma/geo-map/chrome/geo-map-layers-drawer/geo-map-layers-drawer.component.mjs +3 -3
- package/esm2022/lib/figma/geo-map/chrome/geo-map-legend/geo-map-legend.component.mjs +5 -3
- package/esm2022/lib/figma/geo-map/chrome/geo-map-locate/geo-map-locate.component.mjs +3 -3
- package/esm2022/lib/figma/geo-map/chrome/geo-map-opacity/geo-map-opacity.component.mjs +3 -3
- package/esm2022/lib/figma/geo-map/chrome/geo-map-parcel-popup/geo-map-parcel-popup.component.mjs +2 -2
- package/esm2022/lib/figma/geo-map/chrome/geo-map-search/geo-map-search.component.mjs +3 -3
- package/esm2022/lib/figma/geo-map/chrome/geo-map-shell/geo-map-shell.component.mjs +22 -3
- package/esm2022/lib/figma/geo-map/chrome/geo-map-snapshot/geo-map-snapshot.component.mjs +3 -3
- package/esm2022/lib/figma/geo-map/chrome/geo-map-toolbar/geo-map-toolbar.component.mjs +3 -3
- package/esm2022/lib/figma/geo-map/chrome/geo-map-zoom/geo-map-zoom.component.mjs +3 -3
- package/esm2022/lib/figma/geo-map/geo-map.constants.mjs +13 -1
- package/esm2022/lib/figma/geo-tree/geo-tree.component.mjs +17 -3
- package/fesm2022/geoit-ui.mjs +90 -31
- package/fesm2022/geoit-ui.mjs.map +1 -1
- package/lib/figma/geo-chart/geo-chart.component.d.ts +9 -0
- package/lib/figma/geo-map/chrome/geo-map-admin-filter/geo-map-admin-filter.component.d.ts +3 -1
- package/lib/figma/geo-map/chrome/geo-map-legend/geo-map-legend.component.d.ts +3 -1
- package/lib/figma/geo-map/chrome/geo-map-shell/geo-map-shell.component.d.ts +19 -2
- package/lib/figma/geo-map/geo-map.constants.d.ts +6 -0
- package/lib/figma/geo-tree/geo-tree.component.d.ts +5 -1
- package/package.json +1 -1
package/esm2022/lib/figma/geo-map/chrome/geo-map-parcel-popup/geo-map-parcel-popup.component.mjs
CHANGED
|
@@ -124,13 +124,13 @@ export class GeoMapParcelPopupComponent {
|
|
|
124
124
|
}
|
|
125
125
|
}
|
|
126
126
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GeoMapParcelPopupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
127
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: GeoMapParcelPopupComponent, isStandalone: true, selector: "geo-map-parcel-popup", inputs: { open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, parcel: { classPropertyName: "parcel", publicName: "parcel", isSignal: true, isRequired: false, transformFunction: null }, audience: { classPropertyName: "audience", publicName: "audience", isSignal: true, isRequired: false, transformFunction: null }, showExport: { classPropertyName: "showExport", publicName: "showExport", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { open: "openChange", closed: "closed", back: "back", exportClick: "exportClick", diagramClick: "diagramClick" }, host: { properties: { "class.geo-map-parcel-popup-host--open": "open()" }, classAttribute: "geo-map-parcel-popup-host" }, ngImport: i0, template: "@if (open() && parcel(); as data) {\n <aside class=\"geo-map-parcel-popup\" role=\"dialog\" aria-label=\"Th\u00F4ng tin th\u1EEDa \u0111\u1EA5t\">\n <header class=\"geo-map-parcel-popup__header\">\n <button\n type=\"button\"\n class=\"geo-map-parcel-popup__back\"\n aria-label=\"Quay l\u1EA1i\"\n (click)=\"onBack()\"\n >\n <geo-icon type=\"arrow-left\" size=\"sm\" />\n </button>\n <h3 class=\"geo-map-parcel-popup__title\">{{ title() }}</h3>\n <button\n type=\"button\"\n class=\"geo-map-parcel-popup__close\"\n aria-label=\"\u0110\u00F3ng chi ti\u1EBFt\"\n (click)=\"close()\"\n >\n <geo-icon type=\"close\" size=\"sm\" />\n </button>\n </header>\n\n <div class=\"geo-map-parcel-popup__body\">\n @for (section of sections(); track section.id) {\n <section class=\"geo-map-parcel-popup__section\">\n <div class=\"geo-map-parcel-popup__section-head\">\n <h4 class=\"geo-map-parcel-popup__section-title\">\n <geo-icon [type]=\"section.icon\" size=\"sm\" />\n <span>{{ section.title }}</span>\n </h4>\n @if (section.diagram) {\n <button\n type=\"button\"\n class=\"geo-map-parcel-popup__link\"\n (click)=\"onDiagramDetail()\"\n >\n Chi ti\u1EBFt\n </button>\n }\n </div>\n\n @if (section.rows?.length) {\n <dl class=\"geo-map-parcel-popup__rows\">\n @for (row of section.rows; track row.label) {\n <div class=\"geo-map-parcel-popup__row\">\n <dt>{{ row.label }}:</dt>\n <dd>{{ row.value }}</dd>\n </div>\n }\n </dl>\n } @else if (section.value) {\n <p class=\"geo-map-parcel-popup__value\">{{ section.value }}</p>\n }\n\n @if (section.diagram) {\n <div class=\"geo-map-parcel-popup__diagram\">\n @if (data.diagramUrl) {\n <img\n class=\"geo-map-parcel-popup__diagram-img\"\n [src]=\"data.diagramUrl\"\n alt=\"S\u01A1 \u0111\u1ED3 th\u1EEDa \u0111\u1EA5t\"\n />\n } @else {\n <div class=\"geo-map-parcel-popup__diagram-placeholder\" aria-hidden=\"true\">\n <geo-icon type=\"picture\" size=\"lg\" />\n <span>S\u01A1 \u0111\u1ED3 th\u1EEDa \u0111\u1EA5t</span>\n </div>\n }\n </div>\n }\n </section>\n }\n </div>\n </aside>\n}\n", styles: ["@charset \"UTF-8\";.geo-map-parcel-popup-host{display:none}.geo-map-parcel-popup-host--open{display:block}.geo-map-parcel-popup{border:1px solid var(--geo-color-border-default);border-radius:var(--geo-radius-lg);background:var(--geo-color-surface-elevated);box-shadow:var(--geo-shadow-sm);display:flex;flex-direction:column;width:min(400px,100vw - 32px);max-height:min(640px,100dvh - 100px);overflow:hidden;--geo-parcel-content-indent: 24px}.geo-map-parcel-popup__header{display:grid;grid-template-columns:36px 1fr 36px;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--geo-color-neutral-100)}.geo-map-parcel-popup__title{margin:0;text-align:center;text-transform:uppercase;font-size:var(--geo-font-size-body-small);font-weight:var(--geo-font-weight-semibold);letter-spacing:.02em;color:var(--geo-color-neutral-900)}.geo-map-parcel-popup__back,.geo-map-parcel-popup__close{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:
|
|
127
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: GeoMapParcelPopupComponent, isStandalone: true, selector: "geo-map-parcel-popup", inputs: { open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, parcel: { classPropertyName: "parcel", publicName: "parcel", isSignal: true, isRequired: false, transformFunction: null }, audience: { classPropertyName: "audience", publicName: "audience", isSignal: true, isRequired: false, transformFunction: null }, showExport: { classPropertyName: "showExport", publicName: "showExport", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { open: "openChange", closed: "closed", back: "back", exportClick: "exportClick", diagramClick: "diagramClick" }, host: { properties: { "class.geo-map-parcel-popup-host--open": "open()" }, classAttribute: "geo-map-parcel-popup-host" }, ngImport: i0, template: "@if (open() && parcel(); as data) {\n <aside class=\"geo-map-parcel-popup\" role=\"dialog\" aria-label=\"Th\u00F4ng tin th\u1EEDa \u0111\u1EA5t\">\n <header class=\"geo-map-parcel-popup__header\">\n <button\n type=\"button\"\n class=\"geo-map-parcel-popup__back\"\n aria-label=\"Quay l\u1EA1i\"\n (click)=\"onBack()\"\n >\n <geo-icon type=\"arrow-left\" size=\"sm\" />\n </button>\n <h3 class=\"geo-map-parcel-popup__title\">{{ title() }}</h3>\n <button\n type=\"button\"\n class=\"geo-map-parcel-popup__close\"\n aria-label=\"\u0110\u00F3ng chi ti\u1EBFt\"\n (click)=\"close()\"\n >\n <geo-icon type=\"close\" size=\"sm\" />\n </button>\n </header>\n\n <div class=\"geo-map-parcel-popup__body\">\n @for (section of sections(); track section.id) {\n <section class=\"geo-map-parcel-popup__section\">\n <div class=\"geo-map-parcel-popup__section-head\">\n <h4 class=\"geo-map-parcel-popup__section-title\">\n <geo-icon [type]=\"section.icon\" size=\"sm\" />\n <span>{{ section.title }}</span>\n </h4>\n @if (section.diagram) {\n <button\n type=\"button\"\n class=\"geo-map-parcel-popup__link\"\n (click)=\"onDiagramDetail()\"\n >\n Chi ti\u1EBFt\n </button>\n }\n </div>\n\n @if (section.rows?.length) {\n <dl class=\"geo-map-parcel-popup__rows\">\n @for (row of section.rows; track row.label) {\n <div class=\"geo-map-parcel-popup__row\">\n <dt>{{ row.label }}:</dt>\n <dd>{{ row.value }}</dd>\n </div>\n }\n </dl>\n } @else if (section.value) {\n <p class=\"geo-map-parcel-popup__value\">{{ section.value }}</p>\n }\n\n @if (section.diagram) {\n <div class=\"geo-map-parcel-popup__diagram\">\n @if (data.diagramUrl) {\n <img\n class=\"geo-map-parcel-popup__diagram-img\"\n [src]=\"data.diagramUrl\"\n alt=\"S\u01A1 \u0111\u1ED3 th\u1EEDa \u0111\u1EA5t\"\n />\n } @else {\n <div class=\"geo-map-parcel-popup__diagram-placeholder\" aria-hidden=\"true\">\n <geo-icon type=\"picture\" size=\"lg\" />\n <span>S\u01A1 \u0111\u1ED3 th\u1EEDa \u0111\u1EA5t</span>\n </div>\n }\n </div>\n }\n </section>\n }\n </div>\n </aside>\n}\n", styles: ["@charset \"UTF-8\";.geo-map-parcel-popup-host{display:none}.geo-map-parcel-popup-host--open{display:block}.geo-map-parcel-popup{border:1px solid var(--geo-color-border-default);border-radius:var(--geo-radius-lg);background:var(--geo-color-surface-elevated);box-shadow:var(--geo-shadow-sm);display:flex;flex-direction:column;width:min(400px,100vw - 32px);max-height:min(640px,100dvh - 100px);overflow:hidden;--geo-parcel-content-indent: 24px}.geo-map-parcel-popup__header{display:grid;grid-template-columns:36px 1fr 36px;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--geo-color-neutral-100)}.geo-map-parcel-popup__title{margin:0;text-align:center;text-transform:uppercase;font-size:var(--geo-font-size-body-small);font-weight:var(--geo-font-weight-semibold);letter-spacing:.02em;color:var(--geo-color-neutral-900)}.geo-map-parcel-popup__back,.geo-map-parcel-popup__close{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:32px;min-height:32px;border:0;border-radius:var(--geo-radius);background:transparent;color:var(--geo-color-neutral-700);font:inherit;font-size:var(--geo-font-size-body-small);font-weight:var(--geo-font-weight-medium);line-height:1;cursor:pointer;transition:background-color .15s ease,color .15s ease,transform .1s ease;width:36px;min-width:36px;min-height:36px;padding:0}.geo-map-parcel-popup__back:hover:not(:disabled),.geo-map-parcel-popup__close:hover:not(:disabled){background:var(--geo-color-primary-soft-hover);color:var(--geo-color-primary-default)}.geo-map-parcel-popup__back:active:not(:disabled),.geo-map-parcel-popup__close:active:not(:disabled){transform:scale(.98)}.geo-map-parcel-popup__back:disabled,.geo-map-parcel-popup__close:disabled{opacity:.45;cursor:not-allowed}.geo-map-parcel-popup__back--active,.geo-map-parcel-popup__back--checked,.geo-map-parcel-popup__close--active,.geo-map-parcel-popup__close--checked{background:var(--geo-color-primary-soft-active);color:var(--geo-color-primary-default)}.geo-map-parcel-popup__back--icon-only,.geo-map-parcel-popup__close--icon-only{width:32px;padding:0}.geo-map-parcel-popup__back{border-radius:var(--geo-radius);background:var(--geo-color-primary-surface-light);color:var(--geo-color-primary-default)}.geo-map-parcel-popup__back:hover:not(:disabled){background:var(--geo-color-primary-soft-strong);color:var(--geo-color-primary-default)}.geo-map-parcel-popup__close{color:var(--geo-color-neutral-500)}.geo-map-parcel-popup__body{display:flex;flex-direction:column;gap:16px;padding:14px 16px 18px;overflow:auto}.geo-map-parcel-popup__section{display:flex;flex-direction:column;gap:8px}.geo-map-parcel-popup__section-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.geo-map-parcel-popup__section-title{display:inline-flex;align-items:center;gap:8px;margin:0;font-size:var(--geo-font-size-body-small);font-weight:var(--geo-font-weight-semibold);color:var(--geo-color-neutral-900);line-height:1.3}.geo-map-parcel-popup__section-title geo-icon,.geo-map-parcel-popup__section-title .geo-icon-host{flex-shrink:0;width:16px;color:var(--geo-color-neutral-900)}.geo-map-parcel-popup__link{flex-shrink:0;padding:0;border:0;background:transparent;cursor:pointer;font:inherit;font-size:var(--geo-font-size-body-small);font-weight:var(--geo-font-weight-medium);color:var(--geo-color-primary-default)}.geo-map-parcel-popup__link:hover{text-decoration:underline}.geo-map-parcel-popup__link:focus-visible{outline:2px solid var(--geo-color-primary-default);outline-offset:2px;border-radius:2px}.geo-map-parcel-popup__rows{margin:0;padding-left:var(--geo-parcel-content-indent);display:grid;grid-template-columns:max-content minmax(0,1fr);column-gap:8px;row-gap:6px}.geo-map-parcel-popup__row{display:contents}.geo-map-parcel-popup__row dt{margin:0;font-size:var(--geo-font-size-body-small);font-weight:var(--geo-font-weight-regular, 400);color:var(--geo-color-neutral-600)}.geo-map-parcel-popup__row dd{margin:0;font-size:var(--geo-font-size-body-small);font-weight:var(--geo-font-weight-medium);color:var(--geo-color-neutral-900);word-break:break-word}.geo-map-parcel-popup__value{margin:0;padding-left:var(--geo-parcel-content-indent);font-size:var(--geo-font-size-body-small);font-weight:var(--geo-font-weight-medium);color:var(--geo-color-neutral-900);line-height:1.45}.geo-map-parcel-popup__diagram{margin-left:var(--geo-parcel-content-indent);overflow:hidden;border-radius:var(--geo-radius);border:1px solid var(--geo-color-border-default);background:var(--geo-color-neutral-50)}.geo-map-parcel-popup__diagram-img{display:block;width:100%;height:auto;max-height:160px;object-fit:cover}.geo-map-parcel-popup__diagram-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:120px;padding:16px;color:var(--geo-color-neutral-400);font-size:var(--geo-font-size-caption);background:linear-gradient(135deg,color-mix(in srgb,var(--geo-color-primary-soft) 80%,transparent) 0%,transparent 45%),repeating-linear-gradient(-12deg,transparent,transparent 10px,color-mix(in srgb,var(--geo-color-neutral-200) 55%,transparent) 10px,color-mix(in srgb,var(--geo-color-neutral-200) 55%,transparent) 11px)}\n"], dependencies: [{ kind: "component", type: GeoIconComponent, selector: "geo-icon", inputs: ["type", "theme", "spin", "size", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
128
128
|
}
|
|
129
129
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GeoMapParcelPopupComponent, decorators: [{
|
|
130
130
|
type: Component,
|
|
131
131
|
args: [{ selector: 'geo-map-parcel-popup', standalone: true, imports: [GeoIconComponent], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
|
|
132
132
|
class: 'geo-map-parcel-popup-host',
|
|
133
133
|
'[class.geo-map-parcel-popup-host--open]': 'open()',
|
|
134
|
-
}, template: "@if (open() && parcel(); as data) {\n <aside class=\"geo-map-parcel-popup\" role=\"dialog\" aria-label=\"Th\u00F4ng tin th\u1EEDa \u0111\u1EA5t\">\n <header class=\"geo-map-parcel-popup__header\">\n <button\n type=\"button\"\n class=\"geo-map-parcel-popup__back\"\n aria-label=\"Quay l\u1EA1i\"\n (click)=\"onBack()\"\n >\n <geo-icon type=\"arrow-left\" size=\"sm\" />\n </button>\n <h3 class=\"geo-map-parcel-popup__title\">{{ title() }}</h3>\n <button\n type=\"button\"\n class=\"geo-map-parcel-popup__close\"\n aria-label=\"\u0110\u00F3ng chi ti\u1EBFt\"\n (click)=\"close()\"\n >\n <geo-icon type=\"close\" size=\"sm\" />\n </button>\n </header>\n\n <div class=\"geo-map-parcel-popup__body\">\n @for (section of sections(); track section.id) {\n <section class=\"geo-map-parcel-popup__section\">\n <div class=\"geo-map-parcel-popup__section-head\">\n <h4 class=\"geo-map-parcel-popup__section-title\">\n <geo-icon [type]=\"section.icon\" size=\"sm\" />\n <span>{{ section.title }}</span>\n </h4>\n @if (section.diagram) {\n <button\n type=\"button\"\n class=\"geo-map-parcel-popup__link\"\n (click)=\"onDiagramDetail()\"\n >\n Chi ti\u1EBFt\n </button>\n }\n </div>\n\n @if (section.rows?.length) {\n <dl class=\"geo-map-parcel-popup__rows\">\n @for (row of section.rows; track row.label) {\n <div class=\"geo-map-parcel-popup__row\">\n <dt>{{ row.label }}:</dt>\n <dd>{{ row.value }}</dd>\n </div>\n }\n </dl>\n } @else if (section.value) {\n <p class=\"geo-map-parcel-popup__value\">{{ section.value }}</p>\n }\n\n @if (section.diagram) {\n <div class=\"geo-map-parcel-popup__diagram\">\n @if (data.diagramUrl) {\n <img\n class=\"geo-map-parcel-popup__diagram-img\"\n [src]=\"data.diagramUrl\"\n alt=\"S\u01A1 \u0111\u1ED3 th\u1EEDa \u0111\u1EA5t\"\n />\n } @else {\n <div class=\"geo-map-parcel-popup__diagram-placeholder\" aria-hidden=\"true\">\n <geo-icon type=\"picture\" size=\"lg\" />\n <span>S\u01A1 \u0111\u1ED3 th\u1EEDa \u0111\u1EA5t</span>\n </div>\n }\n </div>\n }\n </section>\n }\n </div>\n </aside>\n}\n", styles: ["@charset \"UTF-8\";.geo-map-parcel-popup-host{display:none}.geo-map-parcel-popup-host--open{display:block}.geo-map-parcel-popup{border:1px solid var(--geo-color-border-default);border-radius:var(--geo-radius-lg);background:var(--geo-color-surface-elevated);box-shadow:var(--geo-shadow-sm);display:flex;flex-direction:column;width:min(400px,100vw - 32px);max-height:min(640px,100dvh - 100px);overflow:hidden;--geo-parcel-content-indent: 24px}.geo-map-parcel-popup__header{display:grid;grid-template-columns:36px 1fr 36px;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--geo-color-neutral-100)}.geo-map-parcel-popup__title{margin:0;text-align:center;text-transform:uppercase;font-size:var(--geo-font-size-body-small);font-weight:var(--geo-font-weight-semibold);letter-spacing:.02em;color:var(--geo-color-neutral-900)}.geo-map-parcel-popup__back,.geo-map-parcel-popup__close{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:
|
|
134
|
+
}, template: "@if (open() && parcel(); as data) {\n <aside class=\"geo-map-parcel-popup\" role=\"dialog\" aria-label=\"Th\u00F4ng tin th\u1EEDa \u0111\u1EA5t\">\n <header class=\"geo-map-parcel-popup__header\">\n <button\n type=\"button\"\n class=\"geo-map-parcel-popup__back\"\n aria-label=\"Quay l\u1EA1i\"\n (click)=\"onBack()\"\n >\n <geo-icon type=\"arrow-left\" size=\"sm\" />\n </button>\n <h3 class=\"geo-map-parcel-popup__title\">{{ title() }}</h3>\n <button\n type=\"button\"\n class=\"geo-map-parcel-popup__close\"\n aria-label=\"\u0110\u00F3ng chi ti\u1EBFt\"\n (click)=\"close()\"\n >\n <geo-icon type=\"close\" size=\"sm\" />\n </button>\n </header>\n\n <div class=\"geo-map-parcel-popup__body\">\n @for (section of sections(); track section.id) {\n <section class=\"geo-map-parcel-popup__section\">\n <div class=\"geo-map-parcel-popup__section-head\">\n <h4 class=\"geo-map-parcel-popup__section-title\">\n <geo-icon [type]=\"section.icon\" size=\"sm\" />\n <span>{{ section.title }}</span>\n </h4>\n @if (section.diagram) {\n <button\n type=\"button\"\n class=\"geo-map-parcel-popup__link\"\n (click)=\"onDiagramDetail()\"\n >\n Chi ti\u1EBFt\n </button>\n }\n </div>\n\n @if (section.rows?.length) {\n <dl class=\"geo-map-parcel-popup__rows\">\n @for (row of section.rows; track row.label) {\n <div class=\"geo-map-parcel-popup__row\">\n <dt>{{ row.label }}:</dt>\n <dd>{{ row.value }}</dd>\n </div>\n }\n </dl>\n } @else if (section.value) {\n <p class=\"geo-map-parcel-popup__value\">{{ section.value }}</p>\n }\n\n @if (section.diagram) {\n <div class=\"geo-map-parcel-popup__diagram\">\n @if (data.diagramUrl) {\n <img\n class=\"geo-map-parcel-popup__diagram-img\"\n [src]=\"data.diagramUrl\"\n alt=\"S\u01A1 \u0111\u1ED3 th\u1EEDa \u0111\u1EA5t\"\n />\n } @else {\n <div class=\"geo-map-parcel-popup__diagram-placeholder\" aria-hidden=\"true\">\n <geo-icon type=\"picture\" size=\"lg\" />\n <span>S\u01A1 \u0111\u1ED3 th\u1EEDa \u0111\u1EA5t</span>\n </div>\n }\n </div>\n }\n </section>\n }\n </div>\n </aside>\n}\n", styles: ["@charset \"UTF-8\";.geo-map-parcel-popup-host{display:none}.geo-map-parcel-popup-host--open{display:block}.geo-map-parcel-popup{border:1px solid var(--geo-color-border-default);border-radius:var(--geo-radius-lg);background:var(--geo-color-surface-elevated);box-shadow:var(--geo-shadow-sm);display:flex;flex-direction:column;width:min(400px,100vw - 32px);max-height:min(640px,100dvh - 100px);overflow:hidden;--geo-parcel-content-indent: 24px}.geo-map-parcel-popup__header{display:grid;grid-template-columns:36px 1fr 36px;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--geo-color-neutral-100)}.geo-map-parcel-popup__title{margin:0;text-align:center;text-transform:uppercase;font-size:var(--geo-font-size-body-small);font-weight:var(--geo-font-weight-semibold);letter-spacing:.02em;color:var(--geo-color-neutral-900)}.geo-map-parcel-popup__back,.geo-map-parcel-popup__close{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:32px;min-height:32px;border:0;border-radius:var(--geo-radius);background:transparent;color:var(--geo-color-neutral-700);font:inherit;font-size:var(--geo-font-size-body-small);font-weight:var(--geo-font-weight-medium);line-height:1;cursor:pointer;transition:background-color .15s ease,color .15s ease,transform .1s ease;width:36px;min-width:36px;min-height:36px;padding:0}.geo-map-parcel-popup__back:hover:not(:disabled),.geo-map-parcel-popup__close:hover:not(:disabled){background:var(--geo-color-primary-soft-hover);color:var(--geo-color-primary-default)}.geo-map-parcel-popup__back:active:not(:disabled),.geo-map-parcel-popup__close:active:not(:disabled){transform:scale(.98)}.geo-map-parcel-popup__back:disabled,.geo-map-parcel-popup__close:disabled{opacity:.45;cursor:not-allowed}.geo-map-parcel-popup__back--active,.geo-map-parcel-popup__back--checked,.geo-map-parcel-popup__close--active,.geo-map-parcel-popup__close--checked{background:var(--geo-color-primary-soft-active);color:var(--geo-color-primary-default)}.geo-map-parcel-popup__back--icon-only,.geo-map-parcel-popup__close--icon-only{width:32px;padding:0}.geo-map-parcel-popup__back{border-radius:var(--geo-radius);background:var(--geo-color-primary-surface-light);color:var(--geo-color-primary-default)}.geo-map-parcel-popup__back:hover:not(:disabled){background:var(--geo-color-primary-soft-strong);color:var(--geo-color-primary-default)}.geo-map-parcel-popup__close{color:var(--geo-color-neutral-500)}.geo-map-parcel-popup__body{display:flex;flex-direction:column;gap:16px;padding:14px 16px 18px;overflow:auto}.geo-map-parcel-popup__section{display:flex;flex-direction:column;gap:8px}.geo-map-parcel-popup__section-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.geo-map-parcel-popup__section-title{display:inline-flex;align-items:center;gap:8px;margin:0;font-size:var(--geo-font-size-body-small);font-weight:var(--geo-font-weight-semibold);color:var(--geo-color-neutral-900);line-height:1.3}.geo-map-parcel-popup__section-title geo-icon,.geo-map-parcel-popup__section-title .geo-icon-host{flex-shrink:0;width:16px;color:var(--geo-color-neutral-900)}.geo-map-parcel-popup__link{flex-shrink:0;padding:0;border:0;background:transparent;cursor:pointer;font:inherit;font-size:var(--geo-font-size-body-small);font-weight:var(--geo-font-weight-medium);color:var(--geo-color-primary-default)}.geo-map-parcel-popup__link:hover{text-decoration:underline}.geo-map-parcel-popup__link:focus-visible{outline:2px solid var(--geo-color-primary-default);outline-offset:2px;border-radius:2px}.geo-map-parcel-popup__rows{margin:0;padding-left:var(--geo-parcel-content-indent);display:grid;grid-template-columns:max-content minmax(0,1fr);column-gap:8px;row-gap:6px}.geo-map-parcel-popup__row{display:contents}.geo-map-parcel-popup__row dt{margin:0;font-size:var(--geo-font-size-body-small);font-weight:var(--geo-font-weight-regular, 400);color:var(--geo-color-neutral-600)}.geo-map-parcel-popup__row dd{margin:0;font-size:var(--geo-font-size-body-small);font-weight:var(--geo-font-weight-medium);color:var(--geo-color-neutral-900);word-break:break-word}.geo-map-parcel-popup__value{margin:0;padding-left:var(--geo-parcel-content-indent);font-size:var(--geo-font-size-body-small);font-weight:var(--geo-font-weight-medium);color:var(--geo-color-neutral-900);line-height:1.45}.geo-map-parcel-popup__diagram{margin-left:var(--geo-parcel-content-indent);overflow:hidden;border-radius:var(--geo-radius);border:1px solid var(--geo-color-border-default);background:var(--geo-color-neutral-50)}.geo-map-parcel-popup__diagram-img{display:block;width:100%;height:auto;max-height:160px;object-fit:cover}.geo-map-parcel-popup__diagram-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:120px;padding:16px;color:var(--geo-color-neutral-400);font-size:var(--geo-font-size-caption);background:linear-gradient(135deg,color-mix(in srgb,var(--geo-color-primary-soft) 80%,transparent) 0%,transparent 45%),repeating-linear-gradient(-12deg,transparent,transparent 10px,color-mix(in srgb,var(--geo-color-neutral-200) 55%,transparent) 10px,color-mix(in srgb,var(--geo-color-neutral-200) 55%,transparent) 11px)}\n"] }]
|
|
135
135
|
}] });
|
|
136
136
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvLW1hcC1wYXJjZWwtcG9wdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ2VvLXVpL3NyYy9saWIvZmlnbWEvZ2VvLW1hcC9jaHJvbWUvZ2VvLW1hcC1wYXJjZWwtcG9wdXAvZ2VvLW1hcC1wYXJjZWwtcG9wdXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ2VvLXVpL3NyYy9saWIvZmlnbWEvZ2VvLW1hcC9jaHJvbWUvZ2VvLW1hcC1wYXJjZWwtcG9wdXAvZ2VvLW1hcC1wYXJjZWwtcG9wdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsUUFBUSxFQUNSLEtBQUssRUFDTCxLQUFLLEVBQ0wsTUFBTSxFQUNOLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQzs7QUF1QnhFOzs7Ozs7R0FNRztBQWNILE1BQU0sT0FBTywwQkFBMEI7SUFDNUIsSUFBSSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwQixLQUFLLEdBQUcsS0FBSyxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFDcEMsTUFBTSxHQUFHLEtBQUssQ0FBNEIsSUFBSSxDQUFDLENBQUM7SUFDaEQsUUFBUSxHQUFHLEtBQUssQ0FBdUIsU0FBUyxDQUFDLENBQUM7SUFDM0QsZ0ZBQWdGO0lBQ3ZFLFVBQVUsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFMUIsTUFBTSxHQUFHLE1BQU0sRUFBUSxDQUFDO0lBQ3hCLElBQUksR0FBRyxNQUFNLEVBQVEsQ0FBQztJQUN0QixXQUFXLEdBQUcsTUFBTSxFQUFzQixDQUFDO0lBQzNDLFlBQVksR0FBRyxNQUFNLEVBQXNCLENBQUM7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QUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELFFBQVE7UUFDTixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDM0IsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNULElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzlCLENBQUM7SUFDSCxDQUFDO0lBRUQsZUFBZTtRQUNiLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUMzQixJQUFJLElBQUksRUFBRSxDQUFDO1lBQ1QsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0IsQ0FBQztJQUNILENBQUM7d0dBbElVLDBCQUEwQjs0RkFBMUIsMEJBQTBCLGk4QkNwRHZDLDBxRkEyRUEsMG9LRGpDWSxnQkFBZ0I7OzRGQVVmLDBCQUEwQjtrQkFidEMsU0FBUzsrQkFDRSxzQkFBc0IsY0FDcEIsSUFBSSxXQUNQLENBQUMsZ0JBQWdCLENBQUMsbUJBR1YsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxRQUMvQjt3QkFDSixLQUFLLEVBQUUsMkJBQTJCO3dCQUNsQyx5Q0FBeUMsRUFBRSxRQUFRO3FCQUNwRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIGNvbXB1dGVkLFxuICBpbnB1dCxcbiAgbW9kZWwsXG4gIG91dHB1dCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgR2VvSWNvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2dlby1pY29uL2dlby1pY29uLmNvbXBvbmVudCc7XG5pbXBvcnQgdHlwZSB7XG4gIEdlb01hcFBhcmNlbEF1ZGllbmNlLFxuICBHZW9NYXBQYXJjZWxEZXRhaWwsXG59IGZyb20gJy4uLy4uL2dlby1tYXAudHlwZXMnO1xuXG5pbnRlcmZhY2UgUGFyY2VsRmllbGRSb3cge1xuICBsYWJlbDogc3RyaW5nO1xuICB2YWx1ZTogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgUGFyY2VsU2VjdGlvbiB7XG4gIGlkOiBzdHJpbmc7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIGljb246IHN0cmluZztcbiAgLyoqIEtleS12YWx1ZSByb3dzIChUaMO0bmcgdGluIGNodW5nLCDEkOG7i2EgY2jhu4kpLiAqL1xuICByb3dzPzogUGFyY2VsRmllbGRSb3dbXTtcbiAgLyoqIFNpbmdsZSB2YWx1ZSB1bmRlciBzZWN0aW9uIHRpdGxlIChMb+G6oWkgxJHhuqV0LCBUcuG6oW5nIHRow6FpLCBHacOhIMSR4bqldCkuICovXG4gIHZhbHVlPzogc3RyaW5nO1xuICAvKiogU8ahIMSR4buTIHRo4butYS4gKi9cbiAgZGlhZ3JhbT86IGJvb2xlYW47XG59XG5cbi8qKlxuICogUGFyY2VsIC8gcGxhbm5pbmcgcmVzdWx0IGRldGFpbCBwYW5lbCAoVENRSC4xMikuXG4gKlxuICogQHN1bW1hcnkgUG9wdXAgLyBwYW5lbCBjaGkgdGnhur90IGvhur90IHF14bqjIHRyYSBj4bupdSB0aOG7rWEgxJHhuqV0LlxuICogQHdoZW5Ub1VzZSBIaeG7g24gdGjhu4sgdGjDtG5nIHRpbiB0aOG7rWEgKyBxdXkgaG/huqFjaCBzYXUga2hpIGNo4buNbiBr4bq/dCBxdeG6oy5cbiAqIEBkb05vdFVzZVdoZW4gRnVsbCBDQURBU1RSRSBlZGl0IGZvcm1zLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnZW8tbWFwLXBhcmNlbC1wb3B1cCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtHZW9JY29uQ29tcG9uZW50XSxcbiAgdGVtcGxhdGVVcmw6ICcuL2dlby1tYXAtcGFyY2VsLXBvcHVwLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2dlby1tYXAtcGFyY2VsLXBvcHVwLmNvbXBvbmVudC5zY3NzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2dlby1tYXAtcGFyY2VsLXBvcHVwLWhvc3QnLFxuICAgICdbY2xhc3MuZ2VvLW1hcC1wYXJjZWwtcG9wdXAtaG9zdC0tb3Blbl0nOiAnb3BlbigpJyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgR2VvTWFwUGFyY2VsUG9wdXBDb21wb25lbnQge1xuICByZWFkb25seSBvcGVuID0gbW9kZWwoZmFsc2UpO1xuICByZWFkb25seSB0aXRsZSA9IGlucHV0KCdUaMO0bmcgdGluIHRo4butYSDEkeG6pXQnKTtcbiAgcmVhZG9ubHkgcGFyY2VsID0gaW5wdXQ8R2VvTWFwUGFyY2VsRGV0YWlsIHwgbnVsbD4obnVsbCk7XG4gIHJlYWRvbmx5IGF1ZGllbmNlID0gaW5wdXQ8R2VvTWFwUGFyY2VsQXVkaWVuY2U+KCdjaXRpemVuJyk7XG4gIC8qKiBHaeG7ryB0xrDGoW5nIHRow61jaCBBUEkgY8WpOyBmb290ZXIgeHXhuqV0IGZpbGUga2jDtG5nIGPDsm4gdHJvbmcgbGF5b3V0IHRoaeG6v3Qga+G6vy4gKi9cbiAgcmVhZG9ubHkgc2hvd0V4cG9ydCA9IGlucHV0KGZhbHNlKTtcblxuICByZWFkb25seSBjbG9zZWQgPSBvdXRwdXQ8dm9pZD4oKTtcbiAgcmVhZG9ubHkgYmFjayA9IG91dHB1dDx2b2lkPigpO1xuICByZWFkb25seSBleHBvcnRDbGljayA9IG91dHB1dDxHZW9NYXBQYXJjZWxEZXRhaWw+KCk7XG4gIHJlYWRvbmx5IGRpYWdyYW1DbGljayA9IG91dHB1dDxHZW9NYXBQYXJjZWxEZXRhaWw+KCk7XG5cbiAgcmVhZG9ubHkgc2VjdGlvbnMgPSBjb21wdXRlZDxQYXJjZWxTZWN0aW9uW10+KCgpID0+IHtcbiAgICBjb25zdCBkYXRhID0gdGhpcy5wYXJjZWwoKTtcbiAgICBpZiAoIWRhdGEpIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICBjb25zdCBnZW5lcmFsUm93czogUGFyY2VsRmllbGRSb3dbXSA9IFtcbiAgICAgIHsgbGFiZWw6ICdNw6MgdGjhu61hIMSR4bqldCcsIHZhbHVlOiBkYXRhLnBhcmNlbENvZGUgPz8gJycgfSxcbiAgICAgIHsgbGFiZWw6ICdT4buRIHThu50nLCB2YWx1ZTogZGF0YS5zaGVldE51bWJlciA/PyAnJyB9LFxuICAgICAgeyBsYWJlbDogJ1Phu5EgdGjhu61hJywgdmFsdWU6IGRhdGEucGFyY2VsTnVtYmVyID8/ICcnIH0sXG4gICAgICB7IGxhYmVsOiAnRGnhu4duIHTDrWNoJywgdmFsdWU6IGRhdGEuYXJlYSA/PyBkYXRhLmxlZ2FsQXJlYSA/PyAnJyB9LFxuICAgIF0uZmlsdGVyKChyb3cpID0+ICEhcm93LnZhbHVlLnRyaW0oKSk7XG5cbiAgICBjb25zdCBhZGRyZXNzUm93czogUGFyY2VsRmllbGRSb3dbXSA9IFtcbiAgICAgIHsgbGFiZWw6ICdYw6MnLCB2YWx1ZTogZGF0YS53YXJkID8/ICcnIH0sXG4gICAgICB7IGxhYmVsOiAnVOG7iW5oJywgdmFsdWU6IGRhdGEucHJvdmluY2UgPz8gJycgfSxcbiAgICBdLmZpbHRlcigocm93KSA9PiAhIXJvdy52YWx1ZS50cmltKCkpO1xuXG4gICAgY29uc3Qgc2VjdGlvbnM6IFBhcmNlbFNlY3Rpb25bXSA9IFtcbiAgICAgIHtcbiAgICAgICAgaWQ6ICdnZW5lcmFsJyxcbiAgICAgICAgdGl0bGU6ICdUaMO0bmcgdGluIGNodW5nJyxcbiAgICAgICAgaWNvbjogJ2luZm8tY2lyY2xlJyxcbiAgICAgICAgcm93czogZ2VuZXJhbFJvd3MsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBpZDogJ2xhbmRVc2UnLFxuICAgICAgICB0aXRsZTogJ0xv4bqhaSDEkeG6pXQnLFxuICAgICAgICBpY29uOiAnZmlsZS10ZXh0JyxcbiAgICAgICAgdmFsdWU6IGRhdGEubGFuZFVzZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGlkOiAnYWRkcmVzcycsXG4gICAgICAgIHRpdGxlOiAnxJDhu4thIGNo4buJJyxcbiAgICAgICAgaWNvbjogJ2Vudmlyb25tZW50JyxcbiAgICAgICAgcm93czogYWRkcmVzc1Jvd3MsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBpZDogJ3JlZ2lzdHJhdGlvbicsXG4gICAgICAgIHRpdGxlOiAnVHLhuqFuZyB0aMOhaSDEkcSDbmcga8O9JyxcbiAgICAgICAgaWNvbjogJ3Byb2ZpbGUnLFxuICAgICAgICB2YWx1ZTogZGF0YS5yZWdpc3RyYXRpb25TdGF0dXMsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBpZDogJ3ByaWNlJyxcbiAgICAgICAgdGl0bGU6ICdHacOhIMSR4bqldCcsXG4gICAgICAgIGljb246ICdzZWFyY2gnLFxuICAgICAgICB2YWx1ZTogZGF0YS5sYW5kUHJpY2U/LnRyaW0oKSB8fCAnxJBhbmcgY+G6rXAgbmjhuq10JyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGlkOiAnZGlhZ3JhbScsXG4gICAgICAgIHRpdGxlOiAnU8ahIMSR4buTIHRo4butYSDEkeG6pXQnLFxuICAgICAgICBpY29uOiAnZ2xvYmFsJyxcbiAgICAgICAgZGlhZ3JhbTogdHJ1ZSxcbiAgICAgIH0sXG4gICAgXTtcblxuICAgIGlmICh0aGlzLmF1ZGllbmNlKCkgPT09ICdzcGVjaWFsaXN0JyAmJiBkYXRhLnNoYXBlSW5mbz8udHJpbSgpKSB7XG4gICAgICBzZWN0aW9ucy5zcGxpY2UoLTEsIDAsIHtcbiAgICAgICAgaWQ6ICdzaGFwZScsXG4gICAgICAgIHRpdGxlOiAnVGjDtG5nIHRpbiBow6xuaCB0aOG7gycsXG4gICAgICAgIGljb246ICdib3JkZXItb3V0ZXInLFxuICAgICAgICB2YWx1ZTogZGF0YS5zaGFwZUluZm8sXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5hdWRpZW5jZSgpID09PSAnc3BlY2lhbGlzdCcgJiYgZGF0YS5wbGFubmluZ0luZm8/LnRyaW0oKSkge1xuICAgICAgc2VjdGlvbnMuc3BsaWNlKC0xLCAwLCB7XG4gICAgICAgIGlkOiAncGxhbm5pbmcnLFxuICAgICAgICB0aXRsZTogJ1Row7RuZyB0aW4gcXV5IGhv4bqhY2gnLFxuICAgICAgICBpY29uOiAnYmFuaycsXG4gICAgICAgIHZhbHVlOiBkYXRhLnBsYW5uaW5nSW5mbyxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGZvciAoY29uc3QgZXh0cmEgb2YgZGF0YS5leHRyYUZpZWxkcyA/PyBbXSkge1xuICAgICAgaWYgKCFleHRyYS52YWx1ZT8udHJpbSgpKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuICAgICAgc2VjdGlvbnMuc3BsaWNlKC0xLCAwLCB7XG4gICAgICAgIGlkOiBgZXh0cmEtJHtleHRyYS5sYWJlbH1gLFxuICAgICAgICB0aXRsZTogZXh0cmEubGFiZWwsXG4gICAgICAgIGljb246ICdmaWxlLXRleHQnLFxuICAgICAgICB2YWx1ZTogZXh0cmEudmFsdWUsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gc2VjdGlvbnMuZmlsdGVyKFxuICAgICAgKHNlY3Rpb24pID0+XG4gICAgICAgIHNlY3Rpb24uZGlhZ3JhbSB8fFxuICAgICAgICAhIXNlY3Rpb24udmFsdWU/LnRyaW0oKSB8fFxuICAgICAgICAoc2VjdGlvbi5yb3dzPy5sZW5ndGggPz8gMCkgPiAwLFxuICAgICk7XG4gIH0pO1xuXG4gIGNsb3NlKCk6IHZvaWQge1xuICAgIHRoaXMub3Blbi5zZXQoZmFsc2UpO1xuICAgIHRoaXMuY2xvc2VkLmVtaXQoKTtcbiAgfVxuXG4gIG9uQmFjaygpOiB2b2lkIHtcbiAgICB0aGlzLm9wZW4uc2V0KGZhbHNlKTtcbiAgICB0aGlzLmJhY2suZW1pdCgpO1xuICB9XG5cbiAgb25FeHBvcnQoKTogdm9pZCB7XG4gICAgY29uc3QgZGF0YSA9IHRoaXMucGFyY2VsKCk7XG4gICAgaWYgKGRhdGEpIHtcbiAgICAgIHRoaXMuZXhwb3J0Q2xpY2suZW1pdChkYXRhKTtcbiAgICB9XG4gIH1cblxuICBvbkRpYWdyYW1EZXRhaWwoKTogdm9pZCB7XG4gICAgY29uc3QgZGF0YSA9IHRoaXMucGFyY2VsKCk7XG4gICAgaWYgKGRhdGEpIHtcbiAgICAgIHRoaXMuZGlhZ3JhbUNsaWNrLmVtaXQoZGF0YSk7XG4gICAgfVxuICB9XG59XG4iLCJAaWYgKG9wZW4oKSAmJiBwYXJjZWwoKTsgYXMgZGF0YSkge1xuICA8YXNpZGUgY2xhc3M9XCJnZW8tbWFwLXBhcmNlbC1wb3B1cFwiIHJvbGU9XCJkaWFsb2dcIiBhcmlhLWxhYmVsPVwiVGjDtG5nIHRpbiB0aOG7rWEgxJHhuqV0XCI+XG4gICAgPGhlYWRlciBjbGFzcz1cImdlby1tYXAtcGFyY2VsLXBvcHVwX19oZWFkZXJcIj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGNsYXNzPVwiZ2VvLW1hcC1wYXJjZWwtcG9wdXBfX2JhY2tcIlxuICAgICAgICBhcmlhLWxhYmVsPVwiUXVheSBs4bqhaVwiXG4gICAgICAgIChjbGljayk9XCJvbkJhY2soKVwiXG4gICAgICA+XG4gICAgICAgIDxnZW8taWNvbiB0eXBlPVwiYXJyb3ctbGVmdFwiIHNpemU9XCJzbVwiIC8+XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxoMyBjbGFzcz1cImdlby1tYXAtcGFyY2VsLXBvcHVwX190aXRsZVwiPnt7IHRpdGxlKCkgfX08L2gzPlxuICAgICAgPGJ1dHRvblxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgY2xhc3M9XCJnZW8tbWFwLXBhcmNlbC1wb3B1cF9fY2xvc2VcIlxuICAgICAgICBhcmlhLWxhYmVsPVwixJDDs25nIGNoaSB0aeG6v3RcIlxuICAgICAgICAoY2xpY2spPVwiY2xvc2UoKVwiXG4gICAgICA+XG4gICAgICAgIDxnZW8taWNvbiB0eXBlPVwiY2xvc2VcIiBzaXplPVwic21cIiAvPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9oZWFkZXI+XG5cbiAgICA8ZGl2IGNsYXNzPVwiZ2VvLW1hcC1wYXJjZWwtcG9wdXBfX2JvZHlcIj5cbiAgICAgIEBmb3IgKHNlY3Rpb24gb2Ygc2VjdGlvbnMoKTsgdHJhY2sgc2VjdGlvbi5pZCkge1xuICAgICAgICA8c2VjdGlvbiBjbGFzcz1cImdlby1tYXAtcGFyY2VsLXBvcHVwX19zZWN0aW9uXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImdlby1tYXAtcGFyY2VsLXBvcHVwX19zZWN0aW9uLWhlYWRcIj5cbiAgICAgICAgICAgIDxoNCBjbGFzcz1cImdlby1tYXAtcGFyY2VsLXBvcHVwX19zZWN0aW9uLXRpdGxlXCI+XG4gICAgICAgICAgICAgIDxnZW8taWNvbiBbdHlwZV09XCJzZWN0aW9uLmljb25cIiBzaXplPVwic21cIiAvPlxuICAgICAgICAgICAgICA8c3Bhbj57eyBzZWN0aW9uLnRpdGxlIH19PC9zcGFuPlxuICAgICAgICAgICAgPC9oND5cbiAgICAgICAgICAgIEBpZiAoc2VjdGlvbi5kaWFncmFtKSB7XG4gICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImdlby1tYXAtcGFyY2VsLXBvcHVwX19saW5rXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib25EaWFncmFtRGV0YWlsKClcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgQ2hpIHRp4bq/dFxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIEBpZiAoc2VjdGlvbi5yb3dzPy5sZW5ndGgpIHtcbiAgICAgICAgICAgIDxkbCBjbGFzcz1cImdlby1tYXAtcGFyY2VsLXBvcHVwX19yb3dzXCI+XG4gICAgICAgICAgICAgIEBmb3IgKHJvdyBvZiBzZWN0aW9uLnJvd3M7IHRyYWNrIHJvdy5sYWJlbCkge1xuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJnZW8tbWFwLXBhcmNlbC1wb3B1cF9fcm93XCI+XG4gICAgICAgICAgICAgICAgICA8ZHQ+e3sgcm93LmxhYmVsIH19OjwvZHQ+XG4gICAgICAgICAgICAgICAgICA8ZGQ+e3sgcm93LnZhbHVlIH19PC9kZD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9kbD5cbiAgICAgICAgICB9IEBlbHNlIGlmIChzZWN0aW9uLnZhbHVlKSB7XG4gICAgICAgICAgICA8cCBjbGFzcz1cImdlby1tYXAtcGFyY2VsLXBvcHVwX192YWx1ZVwiPnt7IHNlY3Rpb24udmFsdWUgfX08L3A+XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGlmIChzZWN0aW9uLmRpYWdyYW0pIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJnZW8tbWFwLXBhcmNlbC1wb3B1cF9fZGlhZ3JhbVwiPlxuICAgICAgICAgICAgICBAaWYgKGRhdGEuZGlhZ3JhbVVybCkge1xuICAgICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZ2VvLW1hcC1wYXJjZWwtcG9wdXBfX2RpYWdyYW0taW1nXCJcbiAgICAgICAgICAgICAgICAgIFtzcmNdPVwiZGF0YS5kaWFncmFtVXJsXCJcbiAgICAgICAgICAgICAgICAgIGFsdD1cIlPGoSDEkeG7kyB0aOG7rWEgxJHhuqV0XCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ2VvLW1hcC1wYXJjZWwtcG9wdXBfX2RpYWdyYW0tcGxhY2Vob2xkZXJcIiBhcmlhLWhpZGRlbj1cInRydWVcIj5cbiAgICAgICAgICAgICAgICAgIDxnZW8taWNvbiB0eXBlPVwicGljdHVyZVwiIHNpemU9XCJsZ1wiIC8+XG4gICAgICAgICAgICAgICAgICA8c3Bhbj5TxqEgxJHhu5MgdGjhu61hIMSR4bqldDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgfVxuICAgICAgICA8L3NlY3Rpb24+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIDwvYXNpZGU+XG59XG4iXX0=
|
|
@@ -164,7 +164,7 @@ export class GeoMapSearchComponent {
|
|
|
164
164
|
this.closed.emit();
|
|
165
165
|
}
|
|
166
166
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GeoMapSearchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
167
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: GeoMapSearchComponent, isStandalone: true, selector: "geo-map-search", inputs: { open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null }, results: { classPropertyName: "results", publicName: "results", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, pageIndex: { classPropertyName: "pageIndex", publicName: "pageIndex", isSignal: true, isRequired: false, transformFunction: null }, pageSize: { classPropertyName: "pageSize", publicName: "pageSize", isSignal: true, isRequired: false, transformFunction: null }, total: { classPropertyName: "total", publicName: "total", isSignal: true, isRequired: false, transformFunction: null }, emptyText: { classPropertyName: "emptyText", publicName: "emptyText", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { open: "openChange", mode: "modeChange", pageIndex: "pageIndexChange", pageSize: "pageSizeChange", search: "search", reset: "reset", resultSelect: "resultSelect", closed: "closed" }, host: { properties: { "class.geo-map-search-host--open": "open()" }, classAttribute: "geo-map-search-host" }, ngImport: i0, template: "@if (open()) {\n <section class=\"geo-map-search\" aria-label=\"Tra c\u1EE9u th\u00F4ng tin quy ho\u1EA1ch\">\n <header class=\"geo-map-search__header\">\n <h3 class=\"geo-map-search__title\">{{ title() }}</h3>\n <button\n type=\"button\"\n class=\"geo-map-search__icon-btn\"\n aria-label=\"\u0110\u00F3ng tra c\u1EE9u\"\n (click)=\"close()\"\n >\n <geo-icon type=\"close\" size=\"sm\" />\n </button>\n </header>\n\n <div class=\"geo-map-search__body\">\n <div class=\"geo-map-search__modes\" role=\"listbox\" aria-label=\"H\u00ECnh th\u1EE9c tra c\u1EE9u\">\n @for (tile of modeTiles; track tile.id) {\n <button\n type=\"button\"\n class=\"geo-map-search__mode\"\n role=\"option\"\n [class.geo-map-search__mode--active]=\"formOpen() && mode() === tile.id\"\n [attr.aria-selected]=\"formOpen() && mode() === tile.id\"\n (click)=\"selectMode(tile.id)\"\n >\n <span class=\"geo-map-search__mode-icon\" aria-hidden=\"true\">\n <geo-icon [type]=\"tile.icon\" size=\"md\" />\n </span>\n <span class=\"geo-map-search__mode-label\">{{ tile.label }}</span>\n </button>\n }\n </div>\n\n @if (formOpen()) {\n <section class=\"geo-map-search__form\" [attr.aria-label]=\"modeHeading()\">\n <div class=\"geo-map-search__form-head\">\n <h4 class=\"geo-map-search__form-title\">{{ modeHeading() }}</h4>\n <button\n type=\"button\"\n class=\"geo-map-search__icon-btn geo-map-search__icon-btn--sm\"\n aria-label=\"Thu g\u1ECDn form t\u00ECm ki\u1EBFm\"\n (click)=\"collapseForm()\"\n >\n <geo-icon type=\"close\" size=\"sm\" />\n </button>\n </div>\n\n <div\n class=\"geo-map-search__fields\"\n [class.geo-map-search__fields--inline]=\"fieldsInline()\"\n >\n @for (field of fields(); track field.key) {\n <geo-input\n [label]=\"field.label\"\n [placeholder]=\"field.placeholder\"\n [type]=\"field.type ?? 'text'\"\n [ngModel]=\"fieldValue(field.key)\"\n (ngModelChange)=\"setField(field.key, $event)\"\n (enterPressed)=\"submit()\"\n [allowClear]=\"true\"\n [block]=\"true\"\n />\n }\n </div>\n\n <div class=\"geo-map-search__actions\">\n <geo-button\n appearance=\"primary\"\n icon=\"search\"\n [disabled]=\"loading()\"\n (clicked)=\"submit()\"\n >\n T\u00ECm ki\u1EBFm\n </geo-button>\n <geo-button\n appearance=\"secondary\"\n icon=\"reload\"\n (clicked)=\"onReset()\"\n >\n \u0110\u1EB7t l\u1EA1i\n </geo-button>\n </div>\n </section>\n }\n\n @if (formOpen() && (loading() || hasSearched())) {\n <div class=\"geo-map-search__results\" aria-live=\"polite\">\n @if (loading()) {\n <p class=\"geo-map-search__hint\">\u0110ang t\u00ECm ki\u1EBFm\u2026</p>\n } @else if (!results().length) {\n <p class=\"geo-map-search__hint\">{{ emptyText() }}</p>\n } @else {\n <ul class=\"geo-map-search__list\">\n @for (item of results(); track item.id) {\n <li class=\"geo-map-search__result\">\n <div class=\"geo-map-search__result-head\">\n <span class=\"geo-map-search__result-map\">{{ mapLabel(item) }}</span>\n <button\n type=\"button\"\n class=\"geo-map-search__detail-link\"\n (click)=\"selectResult(item)\"\n >\n Chi ti\u1EBFt\n </button>\n </div>\n @if (item.parcel; as parcel) {\n <dl class=\"geo-map-search__result-meta\">\n @if (parcel.ward) {\n <div class=\"geo-map-search__result-row\">\n <dt>X\u00E3:</dt>\n <dd>{{ parcel.ward }}</dd>\n </div>\n }\n @if (parcel.province) {\n <div class=\"geo-map-search__result-row\">\n <dt>T\u1EC9nh:</dt>\n <dd>{{ parcel.province }}</dd>\n </div>\n }\n @if (parcel.area) {\n <div class=\"geo-map-search__result-row\">\n <dt>Di\u1EC7n t\u00EDch:</dt>\n <dd>{{ parcel.area }}</dd>\n </div>\n }\n </dl>\n } @else if (item.subtitle) {\n <p class=\"geo-map-search__result-sub\">{{ item.subtitle }}</p>\n }\n </li>\n }\n </ul>\n\n @if (resolvedTotal() > pageSize()) {\n <geo-pagination\n class=\"geo-map-search__paging\"\n [(pageIndex)]=\"pageIndex\"\n [(pageSize)]=\"pageSize\"\n [total]=\"resolvedTotal()\"\n size=\"small\"\n [simple]=\"true\"\n />\n }\n }\n </div>\n }\n </div>\n </section>\n}\n", styles: ["@charset \"UTF-8\";.geo-map-search-host{display:none}.geo-map-search-host--open{display:block}.geo-map-search{border:1px solid var(--geo-color-border-default);border-radius:var(--geo-radius-lg);background:var(--geo-color-surface-elevated);box-shadow:var(--geo-shadow-sm);width:min(420px,100vw - 32px);max-height:min(640px,82vh);overflow:hidden;display:flex;flex-direction:column}.geo-map-search__header{position:relative;display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 40px 12px;border-bottom:1px solid var(--geo-color-neutral-100)}.geo-map-search__title{margin:0;max-width:100%;text-align:center;text-transform:uppercase;font-size:var(--geo-font-size-body-small);font-weight:var(--geo-font-weight-semibold);letter-spacing:.02em;line-height:1.35;color:var(--geo-color-neutral-900)}.geo-map-search__header .geo-map-search__icon-btn{position:absolute;top:8px;right:8px}.geo-map-search__icon-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:40px;min-height:40px;border:0;border-radius:var(--geo-radius);background:transparent;color:var(--geo-color-neutral-700);font:inherit;font-size:var(--geo-font-size-body-small);font-weight:var(--geo-font-weight-medium);line-height:1;cursor:pointer;transition:background-color .15s ease,color .15s ease,transform .1s ease;width:32px;min-width:32px;min-height:32px;padding:0;color:var(--geo-color-neutral-500)}.geo-map-search__icon-btn:hover:not(:disabled){background:var(--geo-color-primary-soft-hover);color:var(--geo-color-primary-default)}.geo-map-search__icon-btn:active:not(:disabled){transform:scale(.98)}.geo-map-search__icon-btn:disabled{opacity:.45;cursor:not-allowed}.geo-map-search__icon-btn--active,.geo-map-search__icon-btn--checked{background:var(--geo-color-primary-soft-active);color:var(--geo-color-primary-default)}.geo-map-search__icon-btn--icon-only{width:40px;padding:0}.geo-map-search__icon-btn--sm{width:28px;min-width:28px;min-height:28px}.geo-map-search__body{display:flex;flex-direction:column;gap:14px;padding:14px 16px 16px;overflow:auto}.geo-map-search__modes{display:flex;flex-wrap:wrap;justify-content:center;gap:14px 12px}.geo-map-search__mode{display:inline-flex;flex-direction:column;align-items:center;gap:6px;width:104px;padding:0;border:0;background:transparent;cursor:pointer;color:var(--geo-color-primary-default);font:inherit}.geo-map-search__mode:focus-visible{outline:2px solid var(--geo-color-primary-default);outline-offset:2px;border-radius:var(--geo-radius)}.geo-map-search__mode-icon{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;border:1.5px solid var(--geo-color-primary-default);background:var(--geo-color-primary-soft, var(--geo-color-primary-surface-light));color:var(--geo-color-primary-default);transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease}.geo-map-search__mode:hover .geo-map-search__mode-icon{background:var(--geo-color-primary-soft-hover)}.geo-map-search__mode--active .geo-map-search__mode-icon{background:var(--geo-color-primary-soft-active);box-shadow:inset 0 0 0 1px var(--geo-color-primary-default)}.geo-map-search__mode-label{text-align:center;font-size:var(--geo-font-size-caption);font-weight:var(--geo-font-weight-medium);line-height:1.3;color:var(--geo-color-primary-default)}.geo-map-search__form{display:flex;flex-direction:column;gap:12px;padding-top:4px;border-top:1px solid var(--geo-color-neutral-100)}.geo-map-search__form-head{position:relative;display:flex;align-items:center;justify-content:center;min-height:28px;padding:0 28px}.geo-map-search__form-title{margin:0;text-align:center;text-transform:uppercase;font-size:var(--geo-font-size-caption);font-weight:var(--geo-font-weight-semibold);letter-spacing:.03em;color:var(--geo-color-neutral-900)}.geo-map-search__form-head .geo-map-search__icon-btn{position:absolute;top:50%;right:0;transform:translateY(-50%)}.geo-map-search__fields{display:flex;flex-direction:column;gap:10px}.geo-map-search__fields--inline,.geo-map-search__actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.geo-map-search__actions>geo-button{display:block;min-width:0}.geo-map-search__actions .geo-button{width:100%}.geo-map-search__results{display:flex;flex-direction:column;gap:10px;padding-top:4px;border-top:1px solid var(--geo-color-primary-default)}.geo-map-search__hint{margin:0;font-size:var(--geo-font-size-caption);color:var(--geo-color-neutral-500)}.geo-map-search__list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}.geo-map-search__result{display:flex;flex-direction:column;gap:8px;padding:0}.geo-map-search__result-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.geo-map-search__result-map{font-size:var(--geo-font-size-body-small);font-weight:var(--geo-font-weight-semibold);color:var(--geo-color-neutral-900);line-height:1.4}.geo-map-search__detail-link{flex-shrink:0;padding:0;border:0;background:transparent;cursor:pointer;font:inherit;font-size:var(--geo-font-size-body-small);font-weight:var(--geo-font-weight-medium);color:var(--geo-color-primary-default);text-decoration:none}.geo-map-search__detail-link:hover{text-decoration:underline}.geo-map-search__detail-link:focus-visible{outline:2px solid var(--geo-color-primary-default);outline-offset:2px;border-radius:2px}.geo-map-search__result-meta{margin:0;display:flex;flex-direction:column;gap:4px}.geo-map-search__result-row{display:grid;grid-template-columns:88px 1fr;gap:8px;align-items:baseline}.geo-map-search__result-row dt{margin:0;font-size:var(--geo-font-size-caption);color:var(--geo-color-neutral-500)}.geo-map-search__result-row dd{margin:0;font-size:var(--geo-font-size-body-small);font-weight:var(--geo-font-weight-semibold);color:var(--geo-color-neutral-900)}.geo-map-search__result-sub{margin:0;font-size:var(--geo-font-size-caption);color:var(--geo-color-neutral-500)}.geo-map-search__paging{display:flex;justify-content:center;margin-top:2px}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: GeoButtonComponent, selector: "geo-button", inputs: ["appearance", "color", "icon", "iconTheme", "iconPlacement", "iconOnly", "type", "disabled", "tooltip", "tooltipPlacement", "active", "title"], outputs: ["clicked"] }, { kind: "component", type: GeoIconComponent, selector: "geo-icon", inputs: ["type", "theme", "spin", "size", "color"] }, { kind: "component", type: GeoInputComponent, selector: "geo-input", inputs: ["label", "placeholder", "type", "disabled", "readonly", "required", "error", "errorMessage", "maxlength", "prefixIcon", "suffixIcon", "allowClear", "block", "width"], outputs: ["valueChange", "enterPressed"] }, { kind: "component", type: GeoPaginationComponent, selector: "geo-pagination", inputs: ["pageIndex", "pageSize", "total", "size", "simple", "hideOnSinglePage", "showSizeChanger", "pageSizeOptions"], outputs: ["pageIndexChange", "pageSizeChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
167
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: GeoMapSearchComponent, isStandalone: true, selector: "geo-map-search", inputs: { open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null }, results: { classPropertyName: "results", publicName: "results", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, pageIndex: { classPropertyName: "pageIndex", publicName: "pageIndex", isSignal: true, isRequired: false, transformFunction: null }, pageSize: { classPropertyName: "pageSize", publicName: "pageSize", isSignal: true, isRequired: false, transformFunction: null }, total: { classPropertyName: "total", publicName: "total", isSignal: true, isRequired: false, transformFunction: null }, emptyText: { classPropertyName: "emptyText", publicName: "emptyText", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { open: "openChange", mode: "modeChange", pageIndex: "pageIndexChange", pageSize: "pageSizeChange", search: "search", reset: "reset", resultSelect: "resultSelect", closed: "closed" }, host: { properties: { "class.geo-map-search-host--open": "open()" }, classAttribute: "geo-map-search-host" }, ngImport: i0, template: "@if (open()) {\n <section class=\"geo-map-search\" aria-label=\"Tra c\u1EE9u th\u00F4ng tin quy ho\u1EA1ch\">\n <header class=\"geo-map-search__header\">\n <h3 class=\"geo-map-search__title\">{{ title() }}</h3>\n <button\n type=\"button\"\n class=\"geo-map-search__icon-btn\"\n aria-label=\"\u0110\u00F3ng tra c\u1EE9u\"\n (click)=\"close()\"\n >\n <geo-icon type=\"close\" size=\"sm\" />\n </button>\n </header>\n\n <div class=\"geo-map-search__body\">\n <div class=\"geo-map-search__modes\" role=\"listbox\" aria-label=\"H\u00ECnh th\u1EE9c tra c\u1EE9u\">\n @for (tile of modeTiles; track tile.id) {\n <button\n type=\"button\"\n class=\"geo-map-search__mode\"\n role=\"option\"\n [class.geo-map-search__mode--active]=\"formOpen() && mode() === tile.id\"\n [attr.aria-selected]=\"formOpen() && mode() === tile.id\"\n (click)=\"selectMode(tile.id)\"\n >\n <span class=\"geo-map-search__mode-icon\" aria-hidden=\"true\">\n <geo-icon [type]=\"tile.icon\" size=\"md\" />\n </span>\n <span class=\"geo-map-search__mode-label\">{{ tile.label }}</span>\n </button>\n }\n </div>\n\n @if (formOpen()) {\n <section class=\"geo-map-search__form\" [attr.aria-label]=\"modeHeading()\">\n <div class=\"geo-map-search__form-head\">\n <h4 class=\"geo-map-search__form-title\">{{ modeHeading() }}</h4>\n <button\n type=\"button\"\n class=\"geo-map-search__icon-btn geo-map-search__icon-btn--sm\"\n aria-label=\"Thu g\u1ECDn form t\u00ECm ki\u1EBFm\"\n (click)=\"collapseForm()\"\n >\n <geo-icon type=\"close\" size=\"sm\" />\n </button>\n </div>\n\n <div\n class=\"geo-map-search__fields\"\n [class.geo-map-search__fields--inline]=\"fieldsInline()\"\n >\n @for (field of fields(); track field.key) {\n <geo-input\n [label]=\"field.label\"\n [placeholder]=\"field.placeholder\"\n [type]=\"field.type ?? 'text'\"\n [ngModel]=\"fieldValue(field.key)\"\n (ngModelChange)=\"setField(field.key, $event)\"\n (enterPressed)=\"submit()\"\n [allowClear]=\"true\"\n [block]=\"true\"\n />\n }\n </div>\n\n <div class=\"geo-map-search__actions\">\n <geo-button\n appearance=\"primary\"\n icon=\"search\"\n [disabled]=\"loading()\"\n (clicked)=\"submit()\"\n >\n T\u00ECm ki\u1EBFm\n </geo-button>\n <geo-button\n appearance=\"secondary\"\n icon=\"reload\"\n (clicked)=\"onReset()\"\n >\n \u0110\u1EB7t l\u1EA1i\n </geo-button>\n </div>\n </section>\n }\n\n @if (formOpen() && (loading() || hasSearched())) {\n <div class=\"geo-map-search__results\" aria-live=\"polite\">\n @if (loading()) {\n <p class=\"geo-map-search__hint\">\u0110ang t\u00ECm ki\u1EBFm\u2026</p>\n } @else if (!results().length) {\n <p class=\"geo-map-search__hint\">{{ emptyText() }}</p>\n } @else {\n <ul class=\"geo-map-search__list\">\n @for (item of results(); track item.id) {\n <li class=\"geo-map-search__result\">\n <div class=\"geo-map-search__result-head\">\n <span class=\"geo-map-search__result-map\">{{ mapLabel(item) }}</span>\n <button\n type=\"button\"\n class=\"geo-map-search__detail-link\"\n (click)=\"selectResult(item)\"\n >\n Chi ti\u1EBFt\n </button>\n </div>\n @if (item.parcel; as parcel) {\n <dl class=\"geo-map-search__result-meta\">\n @if (parcel.ward) {\n <div class=\"geo-map-search__result-row\">\n <dt>X\u00E3:</dt>\n <dd>{{ parcel.ward }}</dd>\n </div>\n }\n @if (parcel.province) {\n <div class=\"geo-map-search__result-row\">\n <dt>T\u1EC9nh:</dt>\n <dd>{{ parcel.province }}</dd>\n </div>\n }\n @if (parcel.area) {\n <div class=\"geo-map-search__result-row\">\n <dt>Di\u1EC7n t\u00EDch:</dt>\n <dd>{{ parcel.area }}</dd>\n </div>\n }\n </dl>\n } @else if (item.subtitle) {\n <p class=\"geo-map-search__result-sub\">{{ item.subtitle }}</p>\n }\n </li>\n }\n </ul>\n\n @if (resolvedTotal() > pageSize()) {\n <geo-pagination\n class=\"geo-map-search__paging\"\n [(pageIndex)]=\"pageIndex\"\n [(pageSize)]=\"pageSize\"\n [total]=\"resolvedTotal()\"\n size=\"small\"\n [simple]=\"true\"\n />\n }\n }\n </div>\n }\n </div>\n </section>\n}\n", styles: ["@charset \"UTF-8\";.geo-map-search-host{display:none}.geo-map-search-host--open{display:block}.geo-map-search{border:1px solid var(--geo-color-border-default);border-radius:var(--geo-radius-lg);background:var(--geo-color-surface-elevated);box-shadow:var(--geo-shadow-sm);width:min(420px,100vw - 32px);max-height:min(640px,82vh);overflow:hidden;display:flex;flex-direction:column}.geo-map-search__header{position:relative;display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 40px 12px;border-bottom:1px solid var(--geo-color-neutral-100)}.geo-map-search__title{margin:0;max-width:100%;text-align:center;text-transform:uppercase;font-size:var(--geo-font-size-body-small);font-weight:var(--geo-font-weight-semibold);letter-spacing:.02em;line-height:1.35;color:var(--geo-color-neutral-900)}.geo-map-search__header .geo-map-search__icon-btn{position:absolute;top:8px;right:8px}.geo-map-search__icon-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:0;border-radius:var(--geo-radius);background:transparent;color:var(--geo-color-neutral-700);font:inherit;font-size:var(--geo-font-size-body-small);font-weight:var(--geo-font-weight-medium);line-height:1;cursor:pointer;transition:background-color .15s ease,color .15s ease,transform .1s ease;width:32px;min-width:32px;min-height:32px;padding:0;color:var(--geo-color-neutral-500)}.geo-map-search__icon-btn:hover:not(:disabled){background:var(--geo-color-primary-soft-hover);color:var(--geo-color-primary-default)}.geo-map-search__icon-btn:active:not(:disabled){transform:scale(.98)}.geo-map-search__icon-btn:disabled{opacity:.45;cursor:not-allowed}.geo-map-search__icon-btn--active,.geo-map-search__icon-btn--checked{background:var(--geo-color-primary-soft-active);color:var(--geo-color-primary-default)}.geo-map-search__icon-btn--icon-only{width:32px;padding:0}.geo-map-search__icon-btn--sm{width:28px;min-width:28px;min-height:28px}.geo-map-search__body{display:flex;flex-direction:column;gap:14px;padding:14px 16px 16px;overflow:auto}.geo-map-search__modes{display:flex;flex-wrap:wrap;justify-content:center;gap:14px 12px}.geo-map-search__mode{display:inline-flex;flex-direction:column;align-items:center;gap:6px;width:104px;padding:0;border:0;background:transparent;cursor:pointer;color:var(--geo-color-primary-default);font:inherit}.geo-map-search__mode:focus-visible{outline:2px solid var(--geo-color-primary-default);outline-offset:2px;border-radius:var(--geo-radius)}.geo-map-search__mode-icon{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;border:1.5px solid var(--geo-color-primary-default);background:var(--geo-color-primary-soft, var(--geo-color-primary-surface-light));color:var(--geo-color-primary-default);transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease}.geo-map-search__mode:hover .geo-map-search__mode-icon{background:var(--geo-color-primary-soft-hover)}.geo-map-search__mode--active .geo-map-search__mode-icon{background:var(--geo-color-primary-soft-active);box-shadow:inset 0 0 0 1px var(--geo-color-primary-default)}.geo-map-search__mode-label{text-align:center;font-size:var(--geo-font-size-caption);font-weight:var(--geo-font-weight-medium);line-height:1.3;color:var(--geo-color-primary-default)}.geo-map-search__form{display:flex;flex-direction:column;gap:12px;padding-top:4px;border-top:1px solid var(--geo-color-neutral-100)}.geo-map-search__form-head{position:relative;display:flex;align-items:center;justify-content:center;min-height:28px;padding:0 28px}.geo-map-search__form-title{margin:0;text-align:center;text-transform:uppercase;font-size:var(--geo-font-size-caption);font-weight:var(--geo-font-weight-semibold);letter-spacing:.03em;color:var(--geo-color-neutral-900)}.geo-map-search__form-head .geo-map-search__icon-btn{position:absolute;top:50%;right:0;transform:translateY(-50%)}.geo-map-search__fields{display:flex;flex-direction:column;gap:10px}.geo-map-search__fields--inline,.geo-map-search__actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.geo-map-search__actions>geo-button{display:block;min-width:0}.geo-map-search__actions .geo-button{width:100%}.geo-map-search__results{display:flex;flex-direction:column;gap:10px;padding-top:4px;border-top:1px solid var(--geo-color-primary-default)}.geo-map-search__hint{margin:0;font-size:var(--geo-font-size-caption);color:var(--geo-color-neutral-500)}.geo-map-search__list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}.geo-map-search__result{display:flex;flex-direction:column;gap:8px;padding:0}.geo-map-search__result-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.geo-map-search__result-map{font-size:var(--geo-font-size-body-small);font-weight:var(--geo-font-weight-semibold);color:var(--geo-color-neutral-900);line-height:1.4}.geo-map-search__detail-link{flex-shrink:0;padding:0;border:0;background:transparent;cursor:pointer;font:inherit;font-size:var(--geo-font-size-body-small);font-weight:var(--geo-font-weight-medium);color:var(--geo-color-primary-default);text-decoration:none}.geo-map-search__detail-link:hover{text-decoration:underline}.geo-map-search__detail-link:focus-visible{outline:2px solid var(--geo-color-primary-default);outline-offset:2px;border-radius:2px}.geo-map-search__result-meta{margin:0;display:flex;flex-direction:column;gap:4px}.geo-map-search__result-row{display:grid;grid-template-columns:88px 1fr;gap:8px;align-items:baseline}.geo-map-search__result-row dt{margin:0;font-size:var(--geo-font-size-caption);color:var(--geo-color-neutral-500)}.geo-map-search__result-row dd{margin:0;font-size:var(--geo-font-size-body-small);font-weight:var(--geo-font-weight-semibold);color:var(--geo-color-neutral-900)}.geo-map-search__result-sub{margin:0;font-size:var(--geo-font-size-caption);color:var(--geo-color-neutral-500)}.geo-map-search__paging{display:flex;justify-content:center;margin-top:2px}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: GeoButtonComponent, selector: "geo-button", inputs: ["appearance", "color", "icon", "iconTheme", "iconPlacement", "iconOnly", "type", "disabled", "tooltip", "tooltipPlacement", "active", "title"], outputs: ["clicked"] }, { kind: "component", type: GeoIconComponent, selector: "geo-icon", inputs: ["type", "theme", "spin", "size", "color"] }, { kind: "component", type: GeoInputComponent, selector: "geo-input", inputs: ["label", "placeholder", "type", "disabled", "readonly", "required", "error", "errorMessage", "maxlength", "prefixIcon", "suffixIcon", "allowClear", "block", "width"], outputs: ["valueChange", "enterPressed"] }, { kind: "component", type: GeoPaginationComponent, selector: "geo-pagination", inputs: ["pageIndex", "pageSize", "total", "size", "simple", "hideOnSinglePage", "showSizeChanger", "pageSizeOptions"], outputs: ["pageIndexChange", "pageSizeChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
168
168
|
}
|
|
169
169
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GeoMapSearchComponent, decorators: [{
|
|
170
170
|
type: Component,
|
|
@@ -177,6 +177,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
177
177
|
], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
|
|
178
178
|
class: 'geo-map-search-host',
|
|
179
179
|
'[class.geo-map-search-host--open]': 'open()',
|
|
180
|
-
}, template: "@if (open()) {\n <section class=\"geo-map-search\" aria-label=\"Tra c\u1EE9u th\u00F4ng tin quy ho\u1EA1ch\">\n <header class=\"geo-map-search__header\">\n <h3 class=\"geo-map-search__title\">{{ title() }}</h3>\n <button\n type=\"button\"\n class=\"geo-map-search__icon-btn\"\n aria-label=\"\u0110\u00F3ng tra c\u1EE9u\"\n (click)=\"close()\"\n >\n <geo-icon type=\"close\" size=\"sm\" />\n </button>\n </header>\n\n <div class=\"geo-map-search__body\">\n <div class=\"geo-map-search__modes\" role=\"listbox\" aria-label=\"H\u00ECnh th\u1EE9c tra c\u1EE9u\">\n @for (tile of modeTiles; track tile.id) {\n <button\n type=\"button\"\n class=\"geo-map-search__mode\"\n role=\"option\"\n [class.geo-map-search__mode--active]=\"formOpen() && mode() === tile.id\"\n [attr.aria-selected]=\"formOpen() && mode() === tile.id\"\n (click)=\"selectMode(tile.id)\"\n >\n <span class=\"geo-map-search__mode-icon\" aria-hidden=\"true\">\n <geo-icon [type]=\"tile.icon\" size=\"md\" />\n </span>\n <span class=\"geo-map-search__mode-label\">{{ tile.label }}</span>\n </button>\n }\n </div>\n\n @if (formOpen()) {\n <section class=\"geo-map-search__form\" [attr.aria-label]=\"modeHeading()\">\n <div class=\"geo-map-search__form-head\">\n <h4 class=\"geo-map-search__form-title\">{{ modeHeading() }}</h4>\n <button\n type=\"button\"\n class=\"geo-map-search__icon-btn geo-map-search__icon-btn--sm\"\n aria-label=\"Thu g\u1ECDn form t\u00ECm ki\u1EBFm\"\n (click)=\"collapseForm()\"\n >\n <geo-icon type=\"close\" size=\"sm\" />\n </button>\n </div>\n\n <div\n class=\"geo-map-search__fields\"\n [class.geo-map-search__fields--inline]=\"fieldsInline()\"\n >\n @for (field of fields(); track field.key) {\n <geo-input\n [label]=\"field.label\"\n [placeholder]=\"field.placeholder\"\n [type]=\"field.type ?? 'text'\"\n [ngModel]=\"fieldValue(field.key)\"\n (ngModelChange)=\"setField(field.key, $event)\"\n (enterPressed)=\"submit()\"\n [allowClear]=\"true\"\n [block]=\"true\"\n />\n }\n </div>\n\n <div class=\"geo-map-search__actions\">\n <geo-button\n appearance=\"primary\"\n icon=\"search\"\n [disabled]=\"loading()\"\n (clicked)=\"submit()\"\n >\n T\u00ECm ki\u1EBFm\n </geo-button>\n <geo-button\n appearance=\"secondary\"\n icon=\"reload\"\n (clicked)=\"onReset()\"\n >\n \u0110\u1EB7t l\u1EA1i\n </geo-button>\n </div>\n </section>\n }\n\n @if (formOpen() && (loading() || hasSearched())) {\n <div class=\"geo-map-search__results\" aria-live=\"polite\">\n @if (loading()) {\n <p class=\"geo-map-search__hint\">\u0110ang t\u00ECm ki\u1EBFm\u2026</p>\n } @else if (!results().length) {\n <p class=\"geo-map-search__hint\">{{ emptyText() }}</p>\n } @else {\n <ul class=\"geo-map-search__list\">\n @for (item of results(); track item.id) {\n <li class=\"geo-map-search__result\">\n <div class=\"geo-map-search__result-head\">\n <span class=\"geo-map-search__result-map\">{{ mapLabel(item) }}</span>\n <button\n type=\"button\"\n class=\"geo-map-search__detail-link\"\n (click)=\"selectResult(item)\"\n >\n Chi ti\u1EBFt\n </button>\n </div>\n @if (item.parcel; as parcel) {\n <dl class=\"geo-map-search__result-meta\">\n @if (parcel.ward) {\n <div class=\"geo-map-search__result-row\">\n <dt>X\u00E3:</dt>\n <dd>{{ parcel.ward }}</dd>\n </div>\n }\n @if (parcel.province) {\n <div class=\"geo-map-search__result-row\">\n <dt>T\u1EC9nh:</dt>\n <dd>{{ parcel.province }}</dd>\n </div>\n }\n @if (parcel.area) {\n <div class=\"geo-map-search__result-row\">\n <dt>Di\u1EC7n t\u00EDch:</dt>\n <dd>{{ parcel.area }}</dd>\n </div>\n }\n </dl>\n } @else if (item.subtitle) {\n <p class=\"geo-map-search__result-sub\">{{ item.subtitle }}</p>\n }\n </li>\n }\n </ul>\n\n @if (resolvedTotal() > pageSize()) {\n <geo-pagination\n class=\"geo-map-search__paging\"\n [(pageIndex)]=\"pageIndex\"\n [(pageSize)]=\"pageSize\"\n [total]=\"resolvedTotal()\"\n size=\"small\"\n [simple]=\"true\"\n />\n }\n }\n </div>\n }\n </div>\n </section>\n}\n", styles: ["@charset \"UTF-8\";.geo-map-search-host{display:none}.geo-map-search-host--open{display:block}.geo-map-search{border:1px solid var(--geo-color-border-default);border-radius:var(--geo-radius-lg);background:var(--geo-color-surface-elevated);box-shadow:var(--geo-shadow-sm);width:min(420px,100vw - 32px);max-height:min(640px,82vh);overflow:hidden;display:flex;flex-direction:column}.geo-map-search__header{position:relative;display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 40px 12px;border-bottom:1px solid var(--geo-color-neutral-100)}.geo-map-search__title{margin:0;max-width:100%;text-align:center;text-transform:uppercase;font-size:var(--geo-font-size-body-small);font-weight:var(--geo-font-weight-semibold);letter-spacing:.02em;line-height:1.35;color:var(--geo-color-neutral-900)}.geo-map-search__header .geo-map-search__icon-btn{position:absolute;top:8px;right:8px}.geo-map-search__icon-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:40px;min-height:40px;border:0;border-radius:var(--geo-radius);background:transparent;color:var(--geo-color-neutral-700);font:inherit;font-size:var(--geo-font-size-body-small);font-weight:var(--geo-font-weight-medium);line-height:1;cursor:pointer;transition:background-color .15s ease,color .15s ease,transform .1s ease;width:32px;min-width:32px;min-height:32px;padding:0;color:var(--geo-color-neutral-500)}.geo-map-search__icon-btn:hover:not(:disabled){background:var(--geo-color-primary-soft-hover);color:var(--geo-color-primary-default)}.geo-map-search__icon-btn:active:not(:disabled){transform:scale(.98)}.geo-map-search__icon-btn:disabled{opacity:.45;cursor:not-allowed}.geo-map-search__icon-btn--active,.geo-map-search__icon-btn--checked{background:var(--geo-color-primary-soft-active);color:var(--geo-color-primary-default)}.geo-map-search__icon-btn--icon-only{width:40px;padding:0}.geo-map-search__icon-btn--sm{width:28px;min-width:28px;min-height:28px}.geo-map-search__body{display:flex;flex-direction:column;gap:14px;padding:14px 16px 16px;overflow:auto}.geo-map-search__modes{display:flex;flex-wrap:wrap;justify-content:center;gap:14px 12px}.geo-map-search__mode{display:inline-flex;flex-direction:column;align-items:center;gap:6px;width:104px;padding:0;border:0;background:transparent;cursor:pointer;color:var(--geo-color-primary-default);font:inherit}.geo-map-search__mode:focus-visible{outline:2px solid var(--geo-color-primary-default);outline-offset:2px;border-radius:var(--geo-radius)}.geo-map-search__mode-icon{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;border:1.5px solid var(--geo-color-primary-default);background:var(--geo-color-primary-soft, var(--geo-color-primary-surface-light));color:var(--geo-color-primary-default);transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease}.geo-map-search__mode:hover .geo-map-search__mode-icon{background:var(--geo-color-primary-soft-hover)}.geo-map-search__mode--active .geo-map-search__mode-icon{background:var(--geo-color-primary-soft-active);box-shadow:inset 0 0 0 1px var(--geo-color-primary-default)}.geo-map-search__mode-label{text-align:center;font-size:var(--geo-font-size-caption);font-weight:var(--geo-font-weight-medium);line-height:1.3;color:var(--geo-color-primary-default)}.geo-map-search__form{display:flex;flex-direction:column;gap:12px;padding-top:4px;border-top:1px solid var(--geo-color-neutral-100)}.geo-map-search__form-head{position:relative;display:flex;align-items:center;justify-content:center;min-height:28px;padding:0 28px}.geo-map-search__form-title{margin:0;text-align:center;text-transform:uppercase;font-size:var(--geo-font-size-caption);font-weight:var(--geo-font-weight-semibold);letter-spacing:.03em;color:var(--geo-color-neutral-900)}.geo-map-search__form-head .geo-map-search__icon-btn{position:absolute;top:50%;right:0;transform:translateY(-50%)}.geo-map-search__fields{display:flex;flex-direction:column;gap:10px}.geo-map-search__fields--inline,.geo-map-search__actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.geo-map-search__actions>geo-button{display:block;min-width:0}.geo-map-search__actions .geo-button{width:100%}.geo-map-search__results{display:flex;flex-direction:column;gap:10px;padding-top:4px;border-top:1px solid var(--geo-color-primary-default)}.geo-map-search__hint{margin:0;font-size:var(--geo-font-size-caption);color:var(--geo-color-neutral-500)}.geo-map-search__list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}.geo-map-search__result{display:flex;flex-direction:column;gap:8px;padding:0}.geo-map-search__result-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.geo-map-search__result-map{font-size:var(--geo-font-size-body-small);font-weight:var(--geo-font-weight-semibold);color:var(--geo-color-neutral-900);line-height:1.4}.geo-map-search__detail-link{flex-shrink:0;padding:0;border:0;background:transparent;cursor:pointer;font:inherit;font-size:var(--geo-font-size-body-small);font-weight:var(--geo-font-weight-medium);color:var(--geo-color-primary-default);text-decoration:none}.geo-map-search__detail-link:hover{text-decoration:underline}.geo-map-search__detail-link:focus-visible{outline:2px solid var(--geo-color-primary-default);outline-offset:2px;border-radius:2px}.geo-map-search__result-meta{margin:0;display:flex;flex-direction:column;gap:4px}.geo-map-search__result-row{display:grid;grid-template-columns:88px 1fr;gap:8px;align-items:baseline}.geo-map-search__result-row dt{margin:0;font-size:var(--geo-font-size-caption);color:var(--geo-color-neutral-500)}.geo-map-search__result-row dd{margin:0;font-size:var(--geo-font-size-body-small);font-weight:var(--geo-font-weight-semibold);color:var(--geo-color-neutral-900)}.geo-map-search__result-sub{margin:0;font-size:var(--geo-font-size-caption);color:var(--geo-color-neutral-500)}.geo-map-search__paging{display:flex;justify-content:center;margin-top:2px}\n"] }]
|
|
180
|
+
}, template: "@if (open()) {\n <section class=\"geo-map-search\" aria-label=\"Tra c\u1EE9u th\u00F4ng tin quy ho\u1EA1ch\">\n <header class=\"geo-map-search__header\">\n <h3 class=\"geo-map-search__title\">{{ title() }}</h3>\n <button\n type=\"button\"\n class=\"geo-map-search__icon-btn\"\n aria-label=\"\u0110\u00F3ng tra c\u1EE9u\"\n (click)=\"close()\"\n >\n <geo-icon type=\"close\" size=\"sm\" />\n </button>\n </header>\n\n <div class=\"geo-map-search__body\">\n <div class=\"geo-map-search__modes\" role=\"listbox\" aria-label=\"H\u00ECnh th\u1EE9c tra c\u1EE9u\">\n @for (tile of modeTiles; track tile.id) {\n <button\n type=\"button\"\n class=\"geo-map-search__mode\"\n role=\"option\"\n [class.geo-map-search__mode--active]=\"formOpen() && mode() === tile.id\"\n [attr.aria-selected]=\"formOpen() && mode() === tile.id\"\n (click)=\"selectMode(tile.id)\"\n >\n <span class=\"geo-map-search__mode-icon\" aria-hidden=\"true\">\n <geo-icon [type]=\"tile.icon\" size=\"md\" />\n </span>\n <span class=\"geo-map-search__mode-label\">{{ tile.label }}</span>\n </button>\n }\n </div>\n\n @if (formOpen()) {\n <section class=\"geo-map-search__form\" [attr.aria-label]=\"modeHeading()\">\n <div class=\"geo-map-search__form-head\">\n <h4 class=\"geo-map-search__form-title\">{{ modeHeading() }}</h4>\n <button\n type=\"button\"\n class=\"geo-map-search__icon-btn geo-map-search__icon-btn--sm\"\n aria-label=\"Thu g\u1ECDn form t\u00ECm ki\u1EBFm\"\n (click)=\"collapseForm()\"\n >\n <geo-icon type=\"close\" size=\"sm\" />\n </button>\n </div>\n\n <div\n class=\"geo-map-search__fields\"\n [class.geo-map-search__fields--inline]=\"fieldsInline()\"\n >\n @for (field of fields(); track field.key) {\n <geo-input\n [label]=\"field.label\"\n [placeholder]=\"field.placeholder\"\n [type]=\"field.type ?? 'text'\"\n [ngModel]=\"fieldValue(field.key)\"\n (ngModelChange)=\"setField(field.key, $event)\"\n (enterPressed)=\"submit()\"\n [allowClear]=\"true\"\n [block]=\"true\"\n />\n }\n </div>\n\n <div class=\"geo-map-search__actions\">\n <geo-button\n appearance=\"primary\"\n icon=\"search\"\n [disabled]=\"loading()\"\n (clicked)=\"submit()\"\n >\n T\u00ECm ki\u1EBFm\n </geo-button>\n <geo-button\n appearance=\"secondary\"\n icon=\"reload\"\n (clicked)=\"onReset()\"\n >\n \u0110\u1EB7t l\u1EA1i\n </geo-button>\n </div>\n </section>\n }\n\n @if (formOpen() && (loading() || hasSearched())) {\n <div class=\"geo-map-search__results\" aria-live=\"polite\">\n @if (loading()) {\n <p class=\"geo-map-search__hint\">\u0110ang t\u00ECm ki\u1EBFm\u2026</p>\n } @else if (!results().length) {\n <p class=\"geo-map-search__hint\">{{ emptyText() }}</p>\n } @else {\n <ul class=\"geo-map-search__list\">\n @for (item of results(); track item.id) {\n <li class=\"geo-map-search__result\">\n <div class=\"geo-map-search__result-head\">\n <span class=\"geo-map-search__result-map\">{{ mapLabel(item) }}</span>\n <button\n type=\"button\"\n class=\"geo-map-search__detail-link\"\n (click)=\"selectResult(item)\"\n >\n Chi ti\u1EBFt\n </button>\n </div>\n @if (item.parcel; as parcel) {\n <dl class=\"geo-map-search__result-meta\">\n @if (parcel.ward) {\n <div class=\"geo-map-search__result-row\">\n <dt>X\u00E3:</dt>\n <dd>{{ parcel.ward }}</dd>\n </div>\n }\n @if (parcel.province) {\n <div class=\"geo-map-search__result-row\">\n <dt>T\u1EC9nh:</dt>\n <dd>{{ parcel.province }}</dd>\n </div>\n }\n @if (parcel.area) {\n <div class=\"geo-map-search__result-row\">\n <dt>Di\u1EC7n t\u00EDch:</dt>\n <dd>{{ parcel.area }}</dd>\n </div>\n }\n </dl>\n } @else if (item.subtitle) {\n <p class=\"geo-map-search__result-sub\">{{ item.subtitle }}</p>\n }\n </li>\n }\n </ul>\n\n @if (resolvedTotal() > pageSize()) {\n <geo-pagination\n class=\"geo-map-search__paging\"\n [(pageIndex)]=\"pageIndex\"\n [(pageSize)]=\"pageSize\"\n [total]=\"resolvedTotal()\"\n size=\"small\"\n [simple]=\"true\"\n />\n }\n }\n </div>\n }\n </div>\n </section>\n}\n", styles: ["@charset \"UTF-8\";.geo-map-search-host{display:none}.geo-map-search-host--open{display:block}.geo-map-search{border:1px solid var(--geo-color-border-default);border-radius:var(--geo-radius-lg);background:var(--geo-color-surface-elevated);box-shadow:var(--geo-shadow-sm);width:min(420px,100vw - 32px);max-height:min(640px,82vh);overflow:hidden;display:flex;flex-direction:column}.geo-map-search__header{position:relative;display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 40px 12px;border-bottom:1px solid var(--geo-color-neutral-100)}.geo-map-search__title{margin:0;max-width:100%;text-align:center;text-transform:uppercase;font-size:var(--geo-font-size-body-small);font-weight:var(--geo-font-weight-semibold);letter-spacing:.02em;line-height:1.35;color:var(--geo-color-neutral-900)}.geo-map-search__header .geo-map-search__icon-btn{position:absolute;top:8px;right:8px}.geo-map-search__icon-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:0;border-radius:var(--geo-radius);background:transparent;color:var(--geo-color-neutral-700);font:inherit;font-size:var(--geo-font-size-body-small);font-weight:var(--geo-font-weight-medium);line-height:1;cursor:pointer;transition:background-color .15s ease,color .15s ease,transform .1s ease;width:32px;min-width:32px;min-height:32px;padding:0;color:var(--geo-color-neutral-500)}.geo-map-search__icon-btn:hover:not(:disabled){background:var(--geo-color-primary-soft-hover);color:var(--geo-color-primary-default)}.geo-map-search__icon-btn:active:not(:disabled){transform:scale(.98)}.geo-map-search__icon-btn:disabled{opacity:.45;cursor:not-allowed}.geo-map-search__icon-btn--active,.geo-map-search__icon-btn--checked{background:var(--geo-color-primary-soft-active);color:var(--geo-color-primary-default)}.geo-map-search__icon-btn--icon-only{width:32px;padding:0}.geo-map-search__icon-btn--sm{width:28px;min-width:28px;min-height:28px}.geo-map-search__body{display:flex;flex-direction:column;gap:14px;padding:14px 16px 16px;overflow:auto}.geo-map-search__modes{display:flex;flex-wrap:wrap;justify-content:center;gap:14px 12px}.geo-map-search__mode{display:inline-flex;flex-direction:column;align-items:center;gap:6px;width:104px;padding:0;border:0;background:transparent;cursor:pointer;color:var(--geo-color-primary-default);font:inherit}.geo-map-search__mode:focus-visible{outline:2px solid var(--geo-color-primary-default);outline-offset:2px;border-radius:var(--geo-radius)}.geo-map-search__mode-icon{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;border:1.5px solid var(--geo-color-primary-default);background:var(--geo-color-primary-soft, var(--geo-color-primary-surface-light));color:var(--geo-color-primary-default);transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease}.geo-map-search__mode:hover .geo-map-search__mode-icon{background:var(--geo-color-primary-soft-hover)}.geo-map-search__mode--active .geo-map-search__mode-icon{background:var(--geo-color-primary-soft-active);box-shadow:inset 0 0 0 1px var(--geo-color-primary-default)}.geo-map-search__mode-label{text-align:center;font-size:var(--geo-font-size-caption);font-weight:var(--geo-font-weight-medium);line-height:1.3;color:var(--geo-color-primary-default)}.geo-map-search__form{display:flex;flex-direction:column;gap:12px;padding-top:4px;border-top:1px solid var(--geo-color-neutral-100)}.geo-map-search__form-head{position:relative;display:flex;align-items:center;justify-content:center;min-height:28px;padding:0 28px}.geo-map-search__form-title{margin:0;text-align:center;text-transform:uppercase;font-size:var(--geo-font-size-caption);font-weight:var(--geo-font-weight-semibold);letter-spacing:.03em;color:var(--geo-color-neutral-900)}.geo-map-search__form-head .geo-map-search__icon-btn{position:absolute;top:50%;right:0;transform:translateY(-50%)}.geo-map-search__fields{display:flex;flex-direction:column;gap:10px}.geo-map-search__fields--inline,.geo-map-search__actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.geo-map-search__actions>geo-button{display:block;min-width:0}.geo-map-search__actions .geo-button{width:100%}.geo-map-search__results{display:flex;flex-direction:column;gap:10px;padding-top:4px;border-top:1px solid var(--geo-color-primary-default)}.geo-map-search__hint{margin:0;font-size:var(--geo-font-size-caption);color:var(--geo-color-neutral-500)}.geo-map-search__list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}.geo-map-search__result{display:flex;flex-direction:column;gap:8px;padding:0}.geo-map-search__result-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.geo-map-search__result-map{font-size:var(--geo-font-size-body-small);font-weight:var(--geo-font-weight-semibold);color:var(--geo-color-neutral-900);line-height:1.4}.geo-map-search__detail-link{flex-shrink:0;padding:0;border:0;background:transparent;cursor:pointer;font:inherit;font-size:var(--geo-font-size-body-small);font-weight:var(--geo-font-weight-medium);color:var(--geo-color-primary-default);text-decoration:none}.geo-map-search__detail-link:hover{text-decoration:underline}.geo-map-search__detail-link:focus-visible{outline:2px solid var(--geo-color-primary-default);outline-offset:2px;border-radius:2px}.geo-map-search__result-meta{margin:0;display:flex;flex-direction:column;gap:4px}.geo-map-search__result-row{display:grid;grid-template-columns:88px 1fr;gap:8px;align-items:baseline}.geo-map-search__result-row dt{margin:0;font-size:var(--geo-font-size-caption);color:var(--geo-color-neutral-500)}.geo-map-search__result-row dd{margin:0;font-size:var(--geo-font-size-body-small);font-weight:var(--geo-font-weight-semibold);color:var(--geo-color-neutral-900)}.geo-map-search__result-sub{margin:0;font-size:var(--geo-font-size-caption);color:var(--geo-color-neutral-500)}.geo-map-search__paging{display:flex;justify-content:center;margin-top:2px}\n"] }]
|
|
181
181
|
}] });
|
|
182
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvLW1hcC1zZWFyY2guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ2VvLXVpL3NyYy9saWIvZmlnbWEvZ2VvLW1hcC9jaHJvbWUvZ2VvLW1hcC1zZWFyY2gvZ2VvLW1hcC1zZWFyY2guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ2VvLXVpL3NyYy9saWIvZmlnbWEvZ2VvLW1hcC9jaHJvbWUvZ2VvLW1hcC1zZWFyY2gvZ2VvLW1hcC1zZWFyY2guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsUUFBUSxFQUNSLEtBQUssRUFDTCxLQUFLLEVBQ0wsTUFBTSxFQUNOLE1BQU0sRUFDTixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDOzs7QUFvQjFGLE1BQU0sVUFBVSxHQUFxQjtJQUNuQyxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFO0lBQ25ELEVBQUUsRUFBRSxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRTtJQUNsRSxFQUFFLEVBQUUsRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUs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TUFBTSxFQUFFLFdBQVcsQ0FBQztRQUN2QyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQztRQUN6QyxJQUFJLEtBQUssSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUNwQixPQUFPLGlCQUFpQixLQUFLLElBQUksR0FBRyxhQUFhLE1BQU0sSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUNuRSxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNyQixDQUFDO3dHQXRGVSxxQkFBcUI7NEZBQXJCLHFCQUFxQixvK0NDN0lsQyxtbUxBcUpBLDQ2TER2QkksV0FBVywrVkFDWCxrQkFBa0Isc09BQ2xCLGdCQUFnQix5R0FDaEIsaUJBQWlCLGdSQUNqQixzQkFBc0I7OzRGQVdiLHFCQUFxQjtrQkFuQmpDLFNBQVM7K0JBQ0UsZ0JBQWdCLGNBQ2QsSUFBSSxXQUNQO3dCQUNQLFdBQVc7d0JBQ1gsa0JBQWtCO3dCQUNsQixnQkFBZ0I7d0JBQ2hCLGlCQUFpQjt3QkFDakIsc0JBQXNCO3FCQUN2QixtQkFHZ0IsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxRQUMvQjt3QkFDSixLQUFLLEVBQUUscUJBQXFCO3dCQUM1QixtQ0FBbUMsRUFBRSxRQUFRO3FCQUM5QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIGNvbXB1dGVkLFxuICBpbnB1dCxcbiAgbW9kZWwsXG4gIG91dHB1dCxcbiAgc2lnbmFsLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEdlb0J1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2dlby1idXR0b24vZ2VvLWJ1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgR2VvSWNvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2dlby1pY29uL2dlby1pY29uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBHZW9JbnB1dENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2dlby1pbnB1dC9nZW8taW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IEdlb1BhZ2luYXRpb25Db21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9nZW8tcGFnaW5hdGlvbi9nZW8tcGFnaW5hdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHR5cGUge1xuICBHZW9NYXBTZWFyY2hNb2RlLFxuICBHZW9NYXBTZWFyY2hRdWVyeSxcbiAgR2VvTWFwU2VhcmNoUmVzdWx0SXRlbSxcbn0gZnJvbSAnLi4vLi4vZ2VvLW1hcC50eXBlcyc7XG5cbmludGVyZmFjZSBTZWFyY2hGaWVsZERlZiB7XG4gIGtleTogc3RyaW5nO1xuICBsYWJlbDogc3RyaW5nO1xuICBwbGFjZWhvbGRlcjogc3RyaW5nO1xuICB0eXBlPzogJ3RleHQnIHwgJ251bWJlcic7XG59XG5cbmludGVyZmFjZSBTZWFyY2hNb2RlVGlsZSB7XG4gIGlkOiBHZW9NYXBTZWFyY2hNb2RlO1xuICBsYWJlbDogc3RyaW5nO1xuICBpY29uOiBzdHJpbmc7XG59XG5cbmNvbnN0IE1PREVfVElMRVM6IFNlYXJjaE1vZGVUaWxlW10gPSBbXG4gIHsgaWQ6ICdvd25lcicsIGxhYmVsOiAnQ2jhu6cgc+G7rSBk4bulbmcnLCBpY29uOiAndXNlcicgfSxcbiAgeyBpZDogJ2NlcnRpZmljYXRlJywgbGFiZWw6ICdHaeG6pXkgY2jhu6luZyBuaOG6rW4nLCBpY29uOiAnZmlsZS10ZXh0JyB9LFxuICB7IGlkOiAnY29vcmRpbmF0ZXMnLCBsYWJlbDogJ1Thu41hIMSR4buZJywgaWNvbjogJ2FpbScgfSxcbiAgeyBpZDogJ3BhcmNlbCcsIGxhYmVsOiAnVGjhu61hIMSR4bqldCcsIGljb246ICdob21lJyB9LFxuICB7IGlkOiAnYWRkcmVzcycsIGxhYmVsOiAnxJDhu4thIGNo4buJJywgaWNvbjogJ2Vudmlyb25tZW50JyB9LFxuXTtcblxuY29uc3QgTU9ERV9IRUFESU5HUzogUmVjb3JkPEdlb01hcFNlYXJjaE1vZGUsIHN0cmluZz4gPSB7XG4gIG93bmVyOiAnVMOsbSB0aGVvIGNo4bunIHPhu60gZOG7pW5nJyxcbiAgY2VydGlmaWNhdGU6ICdUw6xtIHRoZW8gZ2nhuqV5IGNo4bupbmcgbmjhuq1uJyxcbiAgY29vcmRpbmF0ZXM6ICdUw6xtIHRoZW8gdOG7jWEgxJHhu5knLFxuICBhZGRyZXNzOiAnVMOsbSB0aGVvIMSR4buLYSBjaOG7iScsXG4gIHBhcmNlbDogJ1TDrG0gdGhlbyB0aOG7rWEgxJHhuqV0Jyxcbn07XG5cbmNvbnN0IE1PREVfRklFTERTOiBSZWNvcmQ8R2VvTWFwU2VhcmNoTW9kZSwgU2VhcmNoRmllbGREZWZbXT4gPSB7XG4gIG93bmVyOiBbXG4gICAge1xuICAgICAga2V5OiAnaWROdW1iZXInLFxuICAgICAgbGFiZWw6ICdDTU5EIC8gQ0NDRCcsXG4gICAgICBwbGFjZWhvbGRlcjogJ05o4bqtcCBz4buRIENNTkQvQ0NDRCcsXG4gICAgfSxcbiAgICB7XG4gICAgICBrZXk6ICdvd25lck5hbWUnLFxuICAgICAgbGFiZWw6ICdUw6puIGNo4bunIHPhu60gZOG7pW5nJyxcbiAgICAgIHBsYWNlaG9sZGVyOiAnTmjhuq1wIHTDqm4gY2jhu6cgc+G7rSBk4bulbmcnLFxuICAgIH0sXG4gIF0sXG4gIGNlcnRpZmljYXRlOiBbXG4gICAge1xuICAgICAga2V5OiAnc2VyaWFsJyxcbiAgICAgIGxhYmVsOiAnU+G7kSBzZXJpYWwgR0NOJyxcbiAgICAgIHBsYWNlaG9sZGVyOiAnTmjhuq1wIHPhu5Egc2VyaWFsJyxcbiAgICB9LFxuICAgIHtcbiAgICAgIGtleTogJ2Jvb2tOdW1iZXInLFxuICAgICAgbGFiZWw6ICdT4buRIHbDoG8gc+G7lScsXG4gICAgICBwbGFjZWhvbGRlcjogJ05o4bqtcCBz4buRIHbDoG8gc+G7lScsXG4gICAgfSxcbiAgICB7XG4gICAgICBrZXk6ICdkb3NzaWVyQ29kZScsXG4gICAgICBsYWJlbDogJ03DoyBo4buTIHPGoSBn4buRYycsXG4gICAgICBwbGFjZWhvbGRlcjogJ05o4bqtcCBtw6MgaOG7kyBzxqEgZ+G7kWMnLFxuICAgIH0sXG4gIF0sXG4gIGNvb3JkaW5hdGVzOiBbXG4gICAge1xuICAgICAga2V5OiAnbG9uZ2l0dWRlJyxcbiAgICAgIGxhYmVsOiAnS2luaCDEkeG7mScsXG4gICAgICBwbGFjZWhvbGRlcjogJ1bDrSBk4bulOiAxMDguNDUnLFxuICAgICAgdHlwZTogJ251bWJlcicsXG4gICAgfSxcbiAgICB7XG4gICAgICBrZXk6ICdsYXRpdHVkZScsXG4gICAgICBsYWJlbDogJ1bEqSDEkeG7mScsXG4gICAgICBwbGFjZWhvbGRlcjogJ1bDrSBk4bulOiAxMS45NCcsXG4gICAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICB9LFxuICBdLFxuICBhZGRyZXNzOiBbXG4gICAge1xuICAgICAga2V5OiAnYWRkcmVzcycsXG4gICAgICBsYWJlbDogJ8SQ4buLYSBjaOG7iSAvIHTDqm4gxJHGsOG7nW5nJyxcbiAgICAgIHBsYWNlaG9sZGVyOiAnTmjhuq1wIMSR4buLYSBjaOG7iSBob+G6t2MgdMOqbiDEkcaw4budbmcnLFxuICAgIH0sXG4gIF0sXG4gIHBhcmNlbDogW1xuICAgIHtcbiAgICAgIGtleTogJ3NoZWV0TnVtYmVyJyxcbiAgICAgIGxhYmVsOiAnU+G7kSB04budJyxcbiAgICAgIHBsYWNlaG9sZGVyOiAnTmjhuq1wIHPhu5EgdOG7nSAoVkQ6IDIwKScsXG4gICAgfSxcbiAgICB7XG4gICAgICBrZXk6ICdwYXJjZWxOdW1iZXInLFxuICAgICAgbGFiZWw6ICdT4buRIHRo4butYScsXG4gICAgICBwbGFjZWhvbGRlcjogJ05o4bqtcCBz4buRIHRo4butYSAoVkQ6IDE5KScsXG4gICAgfSxcbiAgXSxcbn07XG5cbi8qKlxuICogTWFwIHNlYXJjaCBwYW5lbCBmb3IgVENRSC434oCTMTEgKGhvc3Qgc3VwcGxpZXMgcmVzdWx0cyAvIEFQSSkuXG4gKlxuICogQHN1bW1hcnkgUGFuZWwgdHJhIGPhu6l1IHRo4butYSDEkeG6pXQgdGhlbyBuaGnhu4F1IHRpw6p1IGNow60uXG4gKiBAd2hlblRvVXNlIEPhu5VuZyAvIG3DoG4gdHJhIGPhu6l1IGLhuqNuIMSR4buTIHF1eSBob+G6oWNoLlxuICogQGRvTm90VXNlV2hlbiBHbG9iYWwgc2l0ZSBzZWFyY2ggb3V0c2lkZSB0aGUgbWFwIGNvbnRleHQuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2dlby1tYXAtc2VhcmNoJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIEZvcm1zTW9kdWxlLFxuICAgIEdlb0J1dHRvbkNvbXBvbmVudCxcbiAgICBHZW9JY29uQ29tcG9uZW50LFxuICAgIEdlb0lucHV0Q29tcG9uZW50LFxuICAgIEdlb1BhZ2luYXRpb25Db21wb25lbnQsXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9nZW8tbWFwLXNlYXJjaC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9nZW8tbWFwLXNlYXJjaC5jb21wb25lbnQuc2NzcycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdnZW8tbWFwLXNlYXJjaC1ob3N0JyxcbiAgICAnW2NsYXNzLmdlby1tYXAtc2VhcmNoLWhvc3QtLW9wZW5dJzogJ29wZW4oKScsXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIEdlb01hcFNlYXJjaENvbXBvbmVudCB7XG4gIHJlYWRvbmx5IG9wZW4gPSBtb2RlbChmYWxzZSk7XG4gIHJlYWRvbmx5IHRpdGxlID0gaW5wdXQoJ1RyYSBj4bupdSB0aMO0bmcgdGluIHF1eSBob+G6oWNoIHRoZW8nKTtcbiAgcmVhZG9ubHkgbW9kZSA9IG1vZGVsPEdlb01hcFNlYXJjaE1vZGU+KCdwYXJjZWwnKTtcbiAgcmVhZG9ubHkgcmVzdWx0cyA9IGlucHV0PEdlb01hcFNlYXJjaFJlc3VsdEl0ZW1bXT4oW10pO1xuICByZWFkb25seSBsb2FkaW5nID0gaW5wdXQoZmFsc2UpO1xuICByZWFkb25seSBwYWdlSW5kZXggPSBtb2RlbCgxKTtcbiAgcmVhZG9ubHkgcGFnZVNpemUgPSBtb2RlbCg1KTtcbiAgcmVhZG9ubHkgdG90YWwgPSBpbnB1dCgwKTtcbiAgcmVhZG9ubHkgZW1wdHlUZXh0ID0gaW5wdXQoJ0NoxrBhIGPDsyBr4bq/dCBxdeG6oyB0cmEgY+G7qXUuJyk7XG5cbiAgcmVhZG9ubHkgc2VhcmNoID0gb3V0cHV0PEdlb01hcFNlYXJjaFF1ZXJ5PigpO1xuICByZWFkb25seSByZXNldCA9IG91dHB1dDx2b2lkPigpO1xuICByZWFkb25seSByZXN1bHRTZWxlY3QgPSBvdXRwdXQ8R2VvTWFwU2VhcmNoUmVzdWx0SXRlbT4oKTtcbiAgcmVhZG9ubHkgY2xvc2VkID0gb3V0cHV0PHZvaWQ+KCk7XG5cbiAgcmVhZG9ubHkgbW9kZVRpbGVzID0gTU9ERV9USUxFUztcbiAgcmVhZG9ubHkgdmFsdWVzID0gc2lnbmFsPFJlY29yZDxzdHJpbmcsIHN0cmluZz4+KHt9KTtcbiAgLyoqIEZvcm0gZMaw4bubaSBsxrDhu5tpIGljb24g4oCUIHRodSBn4buNbiBi4bqxbmcgWCBj4bqhbmggdGnDqnUgxJHhu4EgZm9ybS4gKi9cbiAgcmVhZG9ubHkgZm9ybU9wZW4gPSBzaWduYWwoZmFsc2UpO1xuICByZWFkb25seSBoYXNTZWFyY2hlZCA9IHNpZ25hbChmYWxzZSk7XG5cbiAgcmVhZG9ubHkgZmllbGRzID0gY29tcHV0ZWQoKCkgPT4gTU9ERV9GSUVMRFNbdGhpcy5tb2RlKCldID8/IFtdKTtcbiAgcmVhZG9ubHkgbW9kZUhlYWRpbmcgPSBjb21wdXRlZChcbiAgICAoKSA9PiBNT0RFX0hFQURJTkdTW3RoaXMubW9kZSgpXSA/PyAnVMOsbSBraeG6v20nLFxuICApO1xuICByZWFkb25seSBmaWVsZHNJbmxpbmUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmZpZWxkcygpLmxlbmd0aCA9PT0gMik7XG5cbiAgcmVhZG9ubHkgcmVzb2x2ZWRUb3RhbCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCB0b3RhbCA9IHRoaXMudG90YWwoKTtcbiAgICByZXR1cm4gdG90YWwgPiAwID8gdG90YWwgOiB0aGlzLnJlc3VsdHMoKS5sZW5ndGg7XG4gIH0pO1xuXG4gIHNlbGVjdE1vZGUobW9kZTogR2VvTWFwU2VhcmNoTW9kZSk6IHZvaWQge1xuICAgIGlmICh0aGlzLm1vZGUoKSAhPT0gbW9kZSkge1xuICAgICAgdGhpcy5tb2RlLnNldChtb2RlKTtcbiAgICAgIHRoaXMudmFsdWVzLnNldCh7fSk7XG4gICAgICB0aGlzLmhhc1NlYXJjaGVkLnNldChmYWxzZSk7XG4gICAgfVxuICAgIHRoaXMuZm9ybU9wZW4uc2V0KHRydWUpO1xuICB9XG5cbiAgY29sbGFwc2VGb3JtKCk6IHZvaWQge1xuICAgIHRoaXMuZm9ybU9wZW4uc2V0KGZhbHNlKTtcbiAgfVxuXG4gIHNldEZpZWxkKGtleTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZXMudXBkYXRlKChjdXJyZW50KSA9PiAoeyAuLi5jdXJyZW50LCBba2V5XTogdmFsdWUgfSkpO1xuICB9XG5cbiAgZmllbGRWYWx1ZShrZXk6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWVzKClba2V5XSA/PyAnJztcbiAgfVxuXG4gIHN1Ym1pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmhhc1NlYXJjaGVkLnNldCh0cnVlKTtcbiAgICB0aGlzLnNlYXJjaC5lbWl0KHtcbiAgICAgIG1vZGU6IHRoaXMubW9kZSgpLFxuICAgICAgdmFsdWVzOiB7IC4uLnRoaXMudmFsdWVzKCkgfSxcbiAgICB9KTtcbiAgfVxuXG4gIG9uUmVzZXQoKTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZXMuc2V0KHt9KTtcbiAgICB0aGlzLnBhZ2VJbmRleC5zZXQoMSk7XG4gICAgdGhpcy5oYXNTZWFyY2hlZC5zZXQoZmFsc2UpO1xuICAgIHRoaXMucmVzZXQuZW1pdCgpO1xuICB9XG5cbiAgc2VsZWN0UmVzdWx0KGl0ZW06IEdlb01hcFNlYXJjaFJlc3VsdEl0ZW0pOiB2b2lkIHtcbiAgICB0aGlzLnJlc3VsdFNlbGVjdC5lbWl0KGl0ZW0pO1xuICB9XG5cbiAgbWFwTGFiZWwoaXRlbTogR2VvTWFwU2VhcmNoUmVzdWx0SXRlbSk6IHN0cmluZyB7XG4gICAgY29uc3Qgc2hlZXQgPSBpdGVtLnBhcmNlbD8uc2hlZXROdW1iZXI7XG4gICAgY29uc3QgcGFyY2VsID0gaXRlbS5wYXJjZWw/LnBhcmNlbE51bWJlcjtcbiAgICBpZiAoc2hlZXQgfHwgcGFyY2VsKSB7XG4gICAgICByZXR1cm4gYELhuqNuIMSR4buTOiBz4buRIHThu50gJHtzaGVldCA/PyAn4oCUJ30sIHPhu5EgdGjhu61hICR7cGFyY2VsID8/ICfigJQnfWA7XG4gICAgfVxuICAgIHJldHVybiBpdGVtLnRpdGxlO1xuICB9XG5cbiAgY2xvc2UoKTogdm9pZCB7XG4gICAgdGhpcy5vcGVuLnNldChmYWxzZSk7XG4gICAgdGhpcy5mb3JtT3Blbi5zZXQoZmFsc2UpO1xuICAgIHRoaXMuY2xvc2VkLmVtaXQoKTtcbiAgfVxufVxuIiwiQGlmIChvcGVuKCkpIHtcbiAgPHNlY3Rpb24gY2xhc3M9XCJnZW8tbWFwLXNlYXJjaFwiIGFyaWEtbGFiZWw9XCJUcmEgY+G7qXUgdGjDtG5nIHRpbiBxdXkgaG/huqFjaFwiPlxuICAgIDxoZWFkZXIgY2xhc3M9XCJnZW8tbWFwLXNlYXJjaF9faGVhZGVyXCI+XG4gICAgICA8aDMgY2xhc3M9XCJnZW8tbWFwLXNlYXJjaF9fdGl0bGVcIj57eyB0aXRsZSgpIH19PC9oMz5cbiAgICAgIDxidXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGNsYXNzPVwiZ2VvLW1hcC1zZWFyY2hfX2ljb24tYnRuXCJcbiAgICAgICAgYXJpYS1sYWJlbD1cIsSQw7NuZyB0cmEgY+G7qXVcIlxuICAgICAgICAoY2xpY2spPVwiY2xvc2UoKVwiXG4gICAgICA+XG4gICAgICAgIDxnZW8taWNvbiB0eXBlPVwiY2xvc2VcIiBzaXplPVwic21cIiAvPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9oZWFkZXI+XG5cbiAgICA8ZGl2IGNsYXNzPVwiZ2VvLW1hcC1zZWFyY2hfX2JvZHlcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJnZW8tbWFwLXNlYXJjaF9fbW9kZXNcIiByb2xlPVwibGlzdGJveFwiIGFyaWEtbGFiZWw9XCJIw6xuaCB0aOG7qWMgdHJhIGPhu6l1XCI+XG4gICAgICAgIEBmb3IgKHRpbGUgb2YgbW9kZVRpbGVzOyB0cmFjayB0aWxlLmlkKSB7XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBjbGFzcz1cImdlby1tYXAtc2VhcmNoX19tb2RlXCJcbiAgICAgICAgICAgIHJvbGU9XCJvcHRpb25cIlxuICAgICAgICAgICAgW2NsYXNzLmdlby1tYXAtc2VhcmNoX19tb2RlLS1hY3RpdmVdPVwiZm9ybU9wZW4oKSAmJiBtb2RlKCkgPT09IHRpbGUuaWRcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1zZWxlY3RlZF09XCJmb3JtT3BlbigpICYmIG1vZGUoKSA9PT0gdGlsZS5pZFwiXG4gICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0TW9kZSh0aWxlLmlkKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJnZW8tbWFwLXNlYXJjaF9fbW9kZS1pY29uXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XG4gICAgICAgICAgICAgIDxnZW8taWNvbiBbdHlwZV09XCJ0aWxlLmljb25cIiBzaXplPVwibWRcIiAvPlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJnZW8tbWFwLXNlYXJjaF9fbW9kZS1sYWJlbFwiPnt7IHRpbGUubGFiZWwgfX08L3NwYW4+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuXG4gICAgICBAaWYgKGZvcm1PcGVuKCkpIHtcbiAgICAgICAgPHNlY3Rpb24gY2xhc3M9XCJnZW8tbWFwLXNlYXJjaF9fZm9ybVwiIFthdHRyLmFyaWEtbGFiZWxdPVwibW9kZUhlYWRpbmcoKVwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJnZW8tbWFwLXNlYXJjaF9fZm9ybS1oZWFkXCI+XG4gICAgICAgICAgICA8aDQgY2xhc3M9XCJnZW8tbWFwLXNlYXJjaF9fZm9ybS10aXRsZVwiPnt7IG1vZGVIZWFkaW5nKCkgfX08L2g0PlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJnZW8tbWFwLXNlYXJjaF9faWNvbi1idG4gZ2VvLW1hcC1zZWFyY2hfX2ljb24tYnRuLS1zbVwiXG4gICAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJUaHUgZ+G7jW4gZm9ybSB0w6xtIGtp4bq/bVwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJjb2xsYXBzZUZvcm0oKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxnZW8taWNvbiB0eXBlPVwiY2xvc2VcIiBzaXplPVwic21cIiAvPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cImdlby1tYXAtc2VhcmNoX19maWVsZHNcIlxuICAgICAgICAgICAgW2NsYXNzLmdlby1tYXAtc2VhcmNoX19maWVsZHMtLWlubGluZV09XCJmaWVsZHNJbmxpbmUoKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgQGZvciAoZmllbGQgb2YgZmllbGRzKCk7IHRyYWNrIGZpZWxkLmtleSkge1xuICAgICAgICAgICAgICA8Z2VvLWlucHV0XG4gICAgICAgICAgICAgICAgW2xhYmVsXT1cImZpZWxkLmxhYmVsXCJcbiAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiZmllbGQucGxhY2Vob2xkZXJcIlxuICAgICAgICAgICAgICAgIFt0eXBlXT1cImZpZWxkLnR5cGUgPz8gJ3RleHQnXCJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbF09XCJmaWVsZFZhbHVlKGZpZWxkLmtleSlcIlxuICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInNldEZpZWxkKGZpZWxkLmtleSwgJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgKGVudGVyUHJlc3NlZCk9XCJzdWJtaXQoKVwiXG4gICAgICAgICAgICAgICAgW2FsbG93Q2xlYXJdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgW2Jsb2NrXT1cInRydWVcIlxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImdlby1tYXAtc2VhcmNoX19hY3Rpb25zXCI+XG4gICAgICAgICAgICA8Z2VvLWJ1dHRvblxuICAgICAgICAgICAgICBhcHBlYXJhbmNlPVwicHJpbWFyeVwiXG4gICAgICAgICAgICAgIGljb249XCJzZWFyY2hcIlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwibG9hZGluZygpXCJcbiAgICAgICAgICAgICAgKGNsaWNrZWQpPVwic3VibWl0KClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICBUw6xtIGtp4bq/bVxuICAgICAgICAgICAgPC9nZW8tYnV0dG9uPlxuICAgICAgICAgICAgPGdlby1idXR0b25cbiAgICAgICAgICAgICAgYXBwZWFyYW5jZT1cInNlY29uZGFyeVwiXG4gICAgICAgICAgICAgIGljb249XCJyZWxvYWRcIlxuICAgICAgICAgICAgICAoY2xpY2tlZCk9XCJvblJlc2V0KClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICDEkOG6t3QgbOG6oWlcbiAgICAgICAgICAgIDwvZ2VvLWJ1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgfVxuXG4gICAgICBAaWYgKGZvcm1PcGVuKCkgJiYgKGxvYWRpbmcoKSB8fCBoYXNTZWFyY2hlZCgpKSkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiZ2VvLW1hcC1zZWFyY2hfX3Jlc3VsdHNcIiBhcmlhLWxpdmU9XCJwb2xpdGVcIj5cbiAgICAgICAgICBAaWYgKGxvYWRpbmcoKSkge1xuICAgICAgICAgICAgPHAgY2xhc3M9XCJnZW8tbWFwLXNlYXJjaF9faGludFwiPsSQYW5nIHTDrG0ga2nhur9t4oCmPC9wPlxuICAgICAgICAgIH0gQGVsc2UgaWYgKCFyZXN1bHRzKCkubGVuZ3RoKSB7XG4gICAgICAgICAgICA8cCBjbGFzcz1cImdlby1tYXAtc2VhcmNoX19oaW50XCI+e3sgZW1wdHlUZXh0KCkgfX08L3A+XG4gICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICA8dWwgY2xhc3M9XCJnZW8tbWFwLXNlYXJjaF9fbGlzdFwiPlxuICAgICAgICAgICAgICBAZm9yIChpdGVtIG9mIHJlc3VsdHMoKTsgdHJhY2sgaXRlbS5pZCkge1xuICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cImdlby1tYXAtc2VhcmNoX19yZXN1bHRcIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJnZW8tbWFwLXNlYXJjaF9fcmVzdWx0LWhlYWRcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJnZW8tbWFwLXNlYXJjaF9fcmVzdWx0LW1hcFwiPnt7IG1hcExhYmVsKGl0ZW0pIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJnZW8tbWFwLXNlYXJjaF9fZGV0YWlsLWxpbmtcIlxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RSZXN1bHQoaXRlbSlcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgQ2hpIHRp4bq/dFxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgQGlmIChpdGVtLnBhcmNlbDsgYXMgcGFyY2VsKSB7XG4gICAgICAgICAgICAgICAgICAgIDxkbCBjbGFzcz1cImdlby1tYXAtc2VhcmNoX19yZXN1bHQtbWV0YVwiPlxuICAgICAgICAgICAgICAgICAgICAgIEBpZiAocGFyY2VsLndhcmQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJnZW8tbWFwLXNlYXJjaF9fcmVzdWx0LXJvd1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZHQ+WMOjOjwvZHQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkZD57eyBwYXJjZWwud2FyZCB9fTwvZGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgQGlmIChwYXJjZWwucHJvdmluY2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJnZW8tbWFwLXNlYXJjaF9fcmVzdWx0LXJvd1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZHQ+VOG7iW5oOjwvZHQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkZD57eyBwYXJjZWwucHJvdmluY2UgfX08L2RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIEBpZiAocGFyY2VsLmFyZWEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJnZW8tbWFwLXNlYXJjaF9fcmVzdWx0LXJvd1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZHQ+RGnhu4duIHTDrWNoOjwvZHQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkZD57eyBwYXJjZWwuYXJlYSB9fTwvZGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDwvZGw+XG4gICAgICAgICAgICAgICAgICB9IEBlbHNlIGlmIChpdGVtLnN1YnRpdGxlKSB7XG4gICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwiZ2VvLW1hcC1zZWFyY2hfX3Jlc3VsdC1zdWJcIj57eyBpdGVtLnN1YnRpdGxlIH19PC9wPlxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvdWw+XG5cbiAgICAgICAgICAgIEBpZiAocmVzb2x2ZWRUb3RhbCgpID4gcGFnZVNpemUoKSkge1xuICAgICAgICAgICAgICA8Z2VvLXBhZ2luYXRpb25cbiAgICAgICAgICAgICAgICBjbGFzcz1cImdlby1tYXAtc2VhcmNoX19wYWdpbmdcIlxuICAgICAgICAgICAgICAgIFsocGFnZUluZGV4KV09XCJwYWdlSW5kZXhcIlxuICAgICAgICAgICAgICAgIFsocGFnZVNpemUpXT1cInBhZ2VTaXplXCJcbiAgICAgICAgICAgICAgICBbdG90YWxdPVwicmVzb2x2ZWRUb3RhbCgpXCJcbiAgICAgICAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgICAgICAgIFtzaW1wbGVdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgPC9zZWN0aW9uPlxufVxuIl19
|
|
182
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvLW1hcC1zZWFyY2guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ2VvLXVpL3NyYy9saWIvZmlnbWEvZ2VvLW1hcC9jaHJvbWUvZ2VvLW1hcC1zZWFyY2gvZ2VvLW1hcC1zZWFyY2guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ2VvLXVpL3NyYy9saWIvZmlnbWEvZ2VvLW1hcC9jaHJvbWUvZ2VvLW1hcC1zZWFyY2gvZ2VvLW1hcC1zZWFyY2guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsUUFBUSxFQUNSLEtBQUssRUFDTCxLQUFLLEVBQ0wsTUFBTSxFQUNOLE1BQU0sRUFDTixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDOzs7QUFvQjFGLE1BQU0sVUFBVSxHQUFxQjtJQUNuQyxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFO0lBQ25ELEVBQUUsRUFBRSxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRTtJQUNsRSxFQUFFLEVBQUUsRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUs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TUFBTSxFQUFFLFdBQVcsQ0FBQztRQUN2QyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQztRQUN6QyxJQUFJLEtBQUssSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUNwQixPQUFPLGlCQUFpQixLQUFLLElBQUksR0FBRyxhQUFhLE1BQU0sSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUNuRSxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNyQixDQUFDO3dHQXRGVSxxQkFBcUI7NEZBQXJCLHFCQUFxQixvK0NDN0lsQyxtbUxBcUpBLDY0TER2QkksV0FBVywrVkFDWCxrQkFBa0Isc09BQ2xCLGdCQUFnQix5R0FDaEIsaUJBQWlCLGdSQUNqQixzQkFBc0I7OzRGQVdiLHFCQUFxQjtrQkFuQmpDLFNBQVM7K0JBQ0UsZ0JBQWdCLGNBQ2QsSUFBSSxXQUNQO3dCQUNQLFdBQVc7d0JBQ1gsa0JBQWtCO3dCQUNsQixnQkFBZ0I7d0JBQ2hCLGlCQUFpQjt3QkFDakIsc0JBQXNCO3FCQUN2QixtQkFHZ0IsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxRQUMvQjt3QkFDSixLQUFLLEVBQUUscUJBQXFCO3dCQUM1QixtQ0FBbUMsRUFBRSxRQUFRO3FCQUM5QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIGNvbXB1dGVkLFxuICBpbnB1dCxcbiAgbW9kZWwsXG4gIG91dHB1dCxcbiAgc2lnbmFsLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEdlb0J1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2dlby1idXR0b24vZ2VvLWJ1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgR2VvSWNvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2dlby1pY29uL2dlby1pY29uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBHZW9JbnB1dENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2dlby1pbnB1dC9nZW8taW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IEdlb1BhZ2luYXRpb25Db21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9nZW8tcGFnaW5hdGlvbi9nZW8tcGFnaW5hdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHR5cGUge1xuICBHZW9NYXBTZWFyY2hNb2RlLFxuICBHZW9NYXBTZWFyY2hRdWVyeSxcbiAgR2VvTWFwU2VhcmNoUmVzdWx0SXRlbSxcbn0gZnJvbSAnLi4vLi4vZ2VvLW1hcC50eXBlcyc7XG5cbmludGVyZmFjZSBTZWFyY2hGaWVsZERlZiB7XG4gIGtleTogc3RyaW5nO1xuICBsYWJlbDogc3RyaW5nO1xuICBwbGFjZWhvbGRlcjogc3RyaW5nO1xuICB0eXBlPzogJ3RleHQnIHwgJ251bWJlcic7XG59XG5cbmludGVyZmFjZSBTZWFyY2hNb2RlVGlsZSB7XG4gIGlkOiBHZW9NYXBTZWFyY2hNb2RlO1xuICBsYWJlbDogc3RyaW5nO1xuICBpY29uOiBzdHJpbmc7XG59XG5cbmNvbnN0IE1PREVfVElMRVM6IFNlYXJjaE1vZGVUaWxlW10gPSBbXG4gIHsgaWQ6ICdvd25lcicsIGxhYmVsOiAnQ2jhu6cgc+G7rSBk4bulbmcnLCBpY29uOiAndXNlcicgfSxcbiAgeyBpZDogJ2NlcnRpZmljYXRlJywgbGFiZWw6ICdHaeG6pXkgY2jhu6luZyBuaOG6rW4nLCBpY29uOiAnZmlsZS10ZXh0JyB9LFxuICB7IGlkOiAnY29vcmRpbmF0ZXMnLCBsYWJlbDogJ1Thu41hIMSR4buZJywgaWNvbjogJ2FpbScgfSxcbiAgeyBpZDogJ3BhcmNlbCcsIGxhYmVsOiAnVGjhu61hIMSR4bqldCcsIGljb246ICdob21lJyB9LFxuICB7IGlkOiAnYWRkcmVzcycsIGxhYmVsOiAnxJDhu4thIGNo4buJJywgaWNvbjogJ2Vudmlyb25tZW50JyB9LFxuXTtcblxuY29uc3QgTU9ERV9IRUFESU5HUzogUmVjb3JkPEdlb01hcFNlYXJjaE1vZGUsIHN0cmluZz4gPSB7XG4gIG93bmVyOiAnVMOsbSB0aGVvIGNo4bunIHPhu60gZOG7pW5nJyxcbiAgY2VydGlmaWNhdGU6ICdUw6xtIHRoZW8gZ2nhuqV5IGNo4bupbmcgbmjhuq1uJyxcbiAgY29vcmRpbmF0ZXM6ICdUw6xtIHRoZW8gdOG7jWEgxJHhu5knLFxuICBhZGRyZXNzOiAnVMOsbSB0aGVvIMSR4buLYSBjaOG7iScsXG4gIHBhcmNlbDogJ1TDrG0gdGhlbyB0aOG7rWEgxJHhuqV0Jyxcbn07XG5cbmNvbnN0IE1PREVfRklFTERTOiBSZWNvcmQ8R2VvTWFwU2VhcmNoTW9kZSwgU2VhcmNoRmllbGREZWZbXT4gPSB7XG4gIG93bmVyOiBbXG4gICAge1xuICAgICAga2V5OiAnaWROdW1iZXInLFxuICAgICAgbGFiZWw6ICdDTU5EIC8gQ0NDRCcsXG4gICAgICBwbGFjZWhvbGRlcjogJ05o4bqtcCBz4buRIENNTkQvQ0NDRCcsXG4gICAgfSxcbiAgICB7XG4gICAgICBrZXk6ICdvd25lck5hbWUnLFxuICAgICAgbGFiZWw6ICdUw6puIGNo4bunIHPhu60gZOG7pW5nJyxcbiAgICAgIHBsYWNlaG9sZGVyOiAnTmjhuq1wIHTDqm4gY2jhu6cgc+G7rSBk4bulbmcnLFxuICAgIH0sXG4gIF0sXG4gIGNlcnRpZmljYXRlOiBbXG4gICAge1xuICAgICAga2V5OiAnc2VyaWFsJyxcbiAgICAgIGxhYmVsOiAnU+G7kSBzZXJpYWwgR0NOJyxcbiAgICAgIHBsYWNlaG9sZGVyOiAnTmjhuq1wIHPhu5Egc2VyaWFsJyxcbiAgICB9LFxuICAgIHtcbiAgICAgIGtleTogJ2Jvb2tOdW1iZXInLFxuICAgICAgbGFiZWw6ICdT4buRIHbDoG8gc+G7lScsXG4gICAgICBwbGFjZWhvbGRlcjogJ05o4bqtcCBz4buRIHbDoG8gc+G7lScsXG4gICAgfSxcbiAgICB7XG4gICAgICBrZXk6ICdkb3NzaWVyQ29kZScsXG4gICAgICBsYWJlbDogJ03DoyBo4buTIHPGoSBn4buRYycsXG4gICAgICBwbGFjZWhvbGRlcjogJ05o4bqtcCBtw6MgaOG7kyBzxqEgZ+G7kWMnLFxuICAgIH0sXG4gIF0sXG4gIGNvb3JkaW5hdGVzOiBbXG4gICAge1xuICAgICAga2V5OiAnbG9uZ2l0dWRlJyxcbiAgICAgIGxhYmVsOiAnS2luaCDEkeG7mScsXG4gICAgICBwbGFjZWhvbGRlcjogJ1bDrSBk4bulOiAxMDguNDUnLFxuICAgICAgdHlwZTogJ251bWJlcicsXG4gICAgfSxcbiAgICB7XG4gICAgICBrZXk6ICdsYXRpdHVkZScsXG4gICAgICBsYWJlbDogJ1bEqSDEkeG7mScsXG4gICAgICBwbGFjZWhvbGRlcjogJ1bDrSBk4bulOiAxMS45NCcsXG4gICAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICB9LFxuICBdLFxuICBhZGRyZXNzOiBbXG4gICAge1xuICAgICAga2V5OiAnYWRkcmVzcycsXG4gICAgICBsYWJlbDogJ8SQ4buLYSBjaOG7iSAvIHTDqm4gxJHGsOG7nW5nJyxcbiAgICAgIHBsYWNlaG9sZGVyOiAnTmjhuq1wIMSR4buLYSBjaOG7iSBob+G6t2MgdMOqbiDEkcaw4budbmcnLFxuICAgIH0sXG4gIF0sXG4gIHBhcmNlbDogW1xuICAgIHtcbiAgICAgIGtleTogJ3NoZWV0TnVtYmVyJyxcbiAgICAgIGxhYmVsOiAnU+G7kSB04budJyxcbiAgICAgIHBsYWNlaG9sZGVyOiAnTmjhuq1wIHPhu5EgdOG7nSAoVkQ6IDIwKScsXG4gICAgfSxcbiAgICB7XG4gICAgICBrZXk6ICdwYXJjZWxOdW1iZXInLFxuICAgICAgbGFiZWw6ICdT4buRIHRo4butYScsXG4gICAgICBwbGFjZWhvbGRlcjogJ05o4bqtcCBz4buRIHRo4butYSAoVkQ6IDE5KScsXG4gICAgfSxcbiAgXSxcbn07XG5cbi8qKlxuICogTWFwIHNlYXJjaCBwYW5lbCBmb3IgVENRSC434oCTMTEgKGhvc3Qgc3VwcGxpZXMgcmVzdWx0cyAvIEFQSSkuXG4gKlxuICogQHN1bW1hcnkgUGFuZWwgdHJhIGPhu6l1IHRo4butYSDEkeG6pXQgdGhlbyBuaGnhu4F1IHRpw6p1IGNow60uXG4gKiBAd2hlblRvVXNlIEPhu5VuZyAvIG3DoG4gdHJhIGPhu6l1IGLhuqNuIMSR4buTIHF1eSBob+G6oWNoLlxuICogQGRvTm90VXNlV2hlbiBHbG9iYWwgc2l0ZSBzZWFyY2ggb3V0c2lkZSB0aGUgbWFwIGNvbnRleHQuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2dlby1tYXAtc2VhcmNoJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIEZvcm1zTW9kdWxlLFxuICAgIEdlb0J1dHRvbkNvbXBvbmVudCxcbiAgICBHZW9JY29uQ29tcG9uZW50LFxuICAgIEdlb0lucHV0Q29tcG9uZW50LFxuICAgIEdlb1BhZ2luYXRpb25Db21wb25lbnQsXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9nZW8tbWFwLXNlYXJjaC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9nZW8tbWFwLXNlYXJjaC5jb21wb25lbnQuc2NzcycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdnZW8tbWFwLXNlYXJjaC1ob3N0JyxcbiAgICAnW2NsYXNzLmdlby1tYXAtc2VhcmNoLWhvc3QtLW9wZW5dJzogJ29wZW4oKScsXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIEdlb01hcFNlYXJjaENvbXBvbmVudCB7XG4gIHJlYWRvbmx5IG9wZW4gPSBtb2RlbChmYWxzZSk7XG4gIHJlYWRvbmx5IHRpdGxlID0gaW5wdXQoJ1RyYSBj4bupdSB0aMO0bmcgdGluIHF1eSBob+G6oWNoIHRoZW8nKTtcbiAgcmVhZG9ubHkgbW9kZSA9IG1vZGVsPEdlb01hcFNlYXJjaE1vZGU+KCdwYXJjZWwnKTtcbiAgcmVhZG9ubHkgcmVzdWx0cyA9IGlucHV0PEdlb01hcFNlYXJjaFJlc3VsdEl0ZW1bXT4oW10pO1xuICByZWFkb25seSBsb2FkaW5nID0gaW5wdXQoZmFsc2UpO1xuICByZWFkb25seSBwYWdlSW5kZXggPSBtb2RlbCgxKTtcbiAgcmVhZG9ubHkgcGFnZVNpemUgPSBtb2RlbCg1KTtcbiAgcmVhZG9ubHkgdG90YWwgPSBpbnB1dCgwKTtcbiAgcmVhZG9ubHkgZW1wdHlUZXh0ID0gaW5wdXQoJ0NoxrBhIGPDsyBr4bq/dCBxdeG6oyB0cmEgY+G7qXUuJyk7XG5cbiAgcmVhZG9ubHkgc2VhcmNoID0gb3V0cHV0PEdlb01hcFNlYXJjaFF1ZXJ5PigpO1xuICByZWFkb25seSByZXNldCA9IG91dHB1dDx2b2lkPigpO1xuICByZWFkb25seSByZXN1bHRTZWxlY3QgPSBvdXRwdXQ8R2VvTWFwU2VhcmNoUmVzdWx0SXRlbT4oKTtcbiAgcmVhZG9ubHkgY2xvc2VkID0gb3V0cHV0PHZvaWQ+KCk7XG5cbiAgcmVhZG9ubHkgbW9kZVRpbGVzID0gTU9ERV9USUxFUztcbiAgcmVhZG9ubHkgdmFsdWVzID0gc2lnbmFsPFJlY29yZDxzdHJpbmcsIHN0cmluZz4+KHt9KTtcbiAgLyoqIEZvcm0gZMaw4bubaSBsxrDhu5tpIGljb24g4oCUIHRodSBn4buNbiBi4bqxbmcgWCBj4bqhbmggdGnDqnUgxJHhu4EgZm9ybS4gKi9cbiAgcmVhZG9ubHkgZm9ybU9wZW4gPSBzaWduYWwoZmFsc2UpO1xuICByZWFkb25seSBoYXNTZWFyY2hlZCA9IHNpZ25hbChmYWxzZSk7XG5cbiAgcmVhZG9ubHkgZmllbGRzID0gY29tcHV0ZWQoKCkgPT4gTU9ERV9GSUVMRFNbdGhpcy5tb2RlKCldID8/IFtdKTtcbiAgcmVhZG9ubHkgbW9kZUhlYWRpbmcgPSBjb21wdXRlZChcbiAgICAoKSA9PiBNT0RFX0hFQURJTkdTW3RoaXMubW9kZSgpXSA/PyAnVMOsbSBraeG6v20nLFxuICApO1xuICByZWFkb25seSBmaWVsZHNJbmxpbmUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmZpZWxkcygpLmxlbmd0aCA9PT0gMik7XG5cbiAgcmVhZG9ubHkgcmVzb2x2ZWRUb3RhbCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCB0b3RhbCA9IHRoaXMudG90YWwoKTtcbiAgICByZXR1cm4gdG90YWwgPiAwID8gdG90YWwgOiB0aGlzLnJlc3VsdHMoKS5sZW5ndGg7XG4gIH0pO1xuXG4gIHNlbGVjdE1vZGUobW9kZTogR2VvTWFwU2VhcmNoTW9kZSk6IHZvaWQge1xuICAgIGlmICh0aGlzLm1vZGUoKSAhPT0gbW9kZSkge1xuICAgICAgdGhpcy5tb2RlLnNldChtb2RlKTtcbiAgICAgIHRoaXMudmFsdWVzLnNldCh7fSk7XG4gICAgICB0aGlzLmhhc1NlYXJjaGVkLnNldChmYWxzZSk7XG4gICAgfVxuICAgIHRoaXMuZm9ybU9wZW4uc2V0KHRydWUpO1xuICB9XG5cbiAgY29sbGFwc2VGb3JtKCk6IHZvaWQge1xuICAgIHRoaXMuZm9ybU9wZW4uc2V0KGZhbHNlKTtcbiAgfVxuXG4gIHNldEZpZWxkKGtleTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZXMudXBkYXRlKChjdXJyZW50KSA9PiAoeyAuLi5jdXJyZW50LCBba2V5XTogdmFsdWUgfSkpO1xuICB9XG5cbiAgZmllbGRWYWx1ZShrZXk6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWVzKClba2V5XSA/PyAnJztcbiAgfVxuXG4gIHN1Ym1pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmhhc1NlYXJjaGVkLnNldCh0cnVlKTtcbiAgICB0aGlzLnNlYXJjaC5lbWl0KHtcbiAgICAgIG1vZGU6IHRoaXMubW9kZSgpLFxuICAgICAgdmFsdWVzOiB7IC4uLnRoaXMudmFsdWVzKCkgfSxcbiAgICB9KTtcbiAgfVxuXG4gIG9uUmVzZXQoKTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZXMuc2V0KHt9KTtcbiAgICB0aGlzLnBhZ2VJbmRleC5zZXQoMSk7XG4gICAgdGhpcy5oYXNTZWFyY2hlZC5zZXQoZmFsc2UpO1xuICAgIHRoaXMucmVzZXQuZW1pdCgpO1xuICB9XG5cbiAgc2VsZWN0UmVzdWx0KGl0ZW06IEdlb01hcFNlYXJjaFJlc3VsdEl0ZW0pOiB2b2lkIHtcbiAgICB0aGlzLnJlc3VsdFNlbGVjdC5lbWl0KGl0ZW0pO1xuICB9XG5cbiAgbWFwTGFiZWwoaXRlbTogR2VvTWFwU2VhcmNoUmVzdWx0SXRlbSk6IHN0cmluZyB7XG4gICAgY29uc3Qgc2hlZXQgPSBpdGVtLnBhcmNlbD8uc2hlZXROdW1iZXI7XG4gICAgY29uc3QgcGFyY2VsID0gaXRlbS5wYXJjZWw/LnBhcmNlbE51bWJlcjtcbiAgICBpZiAoc2hlZXQgfHwgcGFyY2VsKSB7XG4gICAgICByZXR1cm4gYELhuqNuIMSR4buTOiBz4buRIHThu50gJHtzaGVldCA/PyAn4oCUJ30sIHPhu5EgdGjhu61hICR7cGFyY2VsID8/ICfigJQnfWA7XG4gICAgfVxuICAgIHJldHVybiBpdGVtLnRpdGxlO1xuICB9XG5cbiAgY2xvc2UoKTogdm9pZCB7XG4gICAgdGhpcy5vcGVuLnNldChmYWxzZSk7XG4gICAgdGhpcy5mb3JtT3Blbi5zZXQoZmFsc2UpO1xuICAgIHRoaXMuY2xvc2VkLmVtaXQoKTtcbiAgfVxufVxuIiwiQGlmIChvcGVuKCkpIHtcbiAgPHNlY3Rpb24gY2xhc3M9XCJnZW8tbWFwLXNlYXJjaFwiIGFyaWEtbGFiZWw9XCJUcmEgY+G7qXUgdGjDtG5nIHRpbiBxdXkgaG/huqFjaFwiPlxuICAgIDxoZWFkZXIgY2xhc3M9XCJnZW8tbWFwLXNlYXJjaF9faGVhZGVyXCI+XG4gICAgICA8aDMgY2xhc3M9XCJnZW8tbWFwLXNlYXJjaF9fdGl0bGVcIj57eyB0aXRsZSgpIH19PC9oMz5cbiAgICAgIDxidXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGNsYXNzPVwiZ2VvLW1hcC1zZWFyY2hfX2ljb24tYnRuXCJcbiAgICAgICAgYXJpYS1sYWJlbD1cIsSQw7NuZyB0cmEgY+G7qXVcIlxuICAgICAgICAoY2xpY2spPVwiY2xvc2UoKVwiXG4gICAgICA+XG4gICAgICAgIDxnZW8taWNvbiB0eXBlPVwiY2xvc2VcIiBzaXplPVwic21cIiAvPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9oZWFkZXI+XG5cbiAgICA8ZGl2IGNsYXNzPVwiZ2VvLW1hcC1zZWFyY2hfX2JvZHlcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJnZW8tbWFwLXNlYXJjaF9fbW9kZXNcIiByb2xlPVwibGlzdGJveFwiIGFyaWEtbGFiZWw9XCJIw6xuaCB0aOG7qWMgdHJhIGPhu6l1XCI+XG4gICAgICAgIEBmb3IgKHRpbGUgb2YgbW9kZVRpbGVzOyB0cmFjayB0aWxlLmlkKSB7XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBjbGFzcz1cImdlby1tYXAtc2VhcmNoX19tb2RlXCJcbiAgICAgICAgICAgIHJvbGU9XCJvcHRpb25cIlxuICAgICAgICAgICAgW2NsYXNzLmdlby1tYXAtc2VhcmNoX19tb2RlLS1hY3RpdmVdPVwiZm9ybU9wZW4oKSAmJiBtb2RlKCkgPT09IHRpbGUuaWRcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1zZWxlY3RlZF09XCJmb3JtT3BlbigpICYmIG1vZGUoKSA9PT0gdGlsZS5pZFwiXG4gICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0TW9kZSh0aWxlLmlkKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJnZW8tbWFwLXNlYXJjaF9fbW9kZS1pY29uXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XG4gICAgICAgICAgICAgIDxnZW8taWNvbiBbdHlwZV09XCJ0aWxlLmljb25cIiBzaXplPVwibWRcIiAvPlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJnZW8tbWFwLXNlYXJjaF9fbW9kZS1sYWJlbFwiPnt7IHRpbGUubGFiZWwgfX08L3NwYW4+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuXG4gICAgICBAaWYgKGZvcm1PcGVuKCkpIHtcbiAgICAgICAgPHNlY3Rpb24gY2xhc3M9XCJnZW8tbWFwLXNlYXJjaF9fZm9ybVwiIFthdHRyLmFyaWEtbGFiZWxdPVwibW9kZUhlYWRpbmcoKVwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJnZW8tbWFwLXNlYXJjaF9fZm9ybS1oZWFkXCI+XG4gICAgICAgICAgICA8aDQgY2xhc3M9XCJnZW8tbWFwLXNlYXJjaF9fZm9ybS10aXRsZVwiPnt7IG1vZGVIZWFkaW5nKCkgfX08L2g0PlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJnZW8tbWFwLXNlYXJjaF9faWNvbi1idG4gZ2VvLW1hcC1zZWFyY2hfX2ljb24tYnRuLS1zbVwiXG4gICAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJUaHUgZ+G7jW4gZm9ybSB0w6xtIGtp4bq/bVwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJjb2xsYXBzZUZvcm0oKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxnZW8taWNvbiB0eXBlPVwiY2xvc2VcIiBzaXplPVwic21cIiAvPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cImdlby1tYXAtc2VhcmNoX19maWVsZHNcIlxuICAgICAgICAgICAgW2NsYXNzLmdlby1tYXAtc2VhcmNoX19maWVsZHMtLWlubGluZV09XCJmaWVsZHNJbmxpbmUoKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgQGZvciAoZmllbGQgb2YgZmllbGRzKCk7IHRyYWNrIGZpZWxkLmtleSkge1xuICAgICAgICAgICAgICA8Z2VvLWlucHV0XG4gICAgICAgICAgICAgICAgW2xhYmVsXT1cImZpZWxkLmxhYmVsXCJcbiAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiZmllbGQucGxhY2Vob2xkZXJcIlxuICAgICAgICAgICAgICAgIFt0eXBlXT1cImZpZWxkLnR5cGUgPz8gJ3RleHQnXCJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbF09XCJmaWVsZFZhbHVlKGZpZWxkLmtleSlcIlxuICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInNldEZpZWxkKGZpZWxkLmtleSwgJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgKGVudGVyUHJlc3NlZCk9XCJzdWJtaXQoKVwiXG4gICAgICAgICAgICAgICAgW2FsbG93Q2xlYXJdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgW2Jsb2NrXT1cInRydWVcIlxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImdlby1tYXAtc2VhcmNoX19hY3Rpb25zXCI+XG4gICAgICAgICAgICA8Z2VvLWJ1dHRvblxuICAgICAgICAgICAgICBhcHBlYXJhbmNlPVwicHJpbWFyeVwiXG4gICAgICAgICAgICAgIGljb249XCJzZWFyY2hcIlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwibG9hZGluZygpXCJcbiAgICAgICAgICAgICAgKGNsaWNrZWQpPVwic3VibWl0KClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICBUw6xtIGtp4bq/bVxuICAgICAgICAgICAgPC9nZW8tYnV0dG9uPlxuICAgICAgICAgICAgPGdlby1idXR0b25cbiAgICAgICAgICAgICAgYXBwZWFyYW5jZT1cInNlY29uZGFyeVwiXG4gICAgICAgICAgICAgIGljb249XCJyZWxvYWRcIlxuICAgICAgICAgICAgICAoY2xpY2tlZCk9XCJvblJlc2V0KClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICDEkOG6t3QgbOG6oWlcbiAgICAgICAgICAgIDwvZ2VvLWJ1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgfVxuXG4gICAgICBAaWYgKGZvcm1PcGVuKCkgJiYgKGxvYWRpbmcoKSB8fCBoYXNTZWFyY2hlZCgpKSkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiZ2VvLW1hcC1zZWFyY2hfX3Jlc3VsdHNcIiBhcmlhLWxpdmU9XCJwb2xpdGVcIj5cbiAgICAgICAgICBAaWYgKGxvYWRpbmcoKSkge1xuICAgICAgICAgICAgPHAgY2xhc3M9XCJnZW8tbWFwLXNlYXJjaF9faGludFwiPsSQYW5nIHTDrG0ga2nhur9t4oCmPC9wPlxuICAgICAgICAgIH0gQGVsc2UgaWYgKCFyZXN1bHRzKCkubGVuZ3RoKSB7XG4gICAgICAgICAgICA8cCBjbGFzcz1cImdlby1tYXAtc2VhcmNoX19oaW50XCI+e3sgZW1wdHlUZXh0KCkgfX08L3A+XG4gICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICA8dWwgY2xhc3M9XCJnZW8tbWFwLXNlYXJjaF9fbGlzdFwiPlxuICAgICAgICAgICAgICBAZm9yIChpdGVtIG9mIHJlc3VsdHMoKTsgdHJhY2sgaXRlbS5pZCkge1xuICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cImdlby1tYXAtc2VhcmNoX19yZXN1bHRcIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJnZW8tbWFwLXNlYXJjaF9fcmVzdWx0LWhlYWRcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJnZW8tbWFwLXNlYXJjaF9fcmVzdWx0LW1hcFwiPnt7IG1hcExhYmVsKGl0ZW0pIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJnZW8tbWFwLXNlYXJjaF9fZGV0YWlsLWxpbmtcIlxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RSZXN1bHQoaXRlbSlcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgQ2hpIHRp4bq/dFxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgQGlmIChpdGVtLnBhcmNlbDsgYXMgcGFyY2VsKSB7XG4gICAgICAgICAgICAgICAgICAgIDxkbCBjbGFzcz1cImdlby1tYXAtc2VhcmNoX19yZXN1bHQtbWV0YVwiPlxuICAgICAgICAgICAgICAgICAgICAgIEBpZiAocGFyY2VsLndhcmQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJnZW8tbWFwLXNlYXJjaF9fcmVzdWx0LXJvd1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZHQ+WMOjOjwvZHQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkZD57eyBwYXJjZWwud2FyZCB9fTwvZGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgQGlmIChwYXJjZWwucHJvdmluY2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJnZW8tbWFwLXNlYXJjaF9fcmVzdWx0LXJvd1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZHQ+VOG7iW5oOjwvZHQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkZD57eyBwYXJjZWwucHJvdmluY2UgfX08L2RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIEBpZiAocGFyY2VsLmFyZWEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJnZW8tbWFwLXNlYXJjaF9fcmVzdWx0LXJvd1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZHQ+RGnhu4duIHTDrWNoOjwvZHQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkZD57eyBwYXJjZWwuYXJlYSB9fTwvZGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDwvZGw+XG4gICAgICAgICAgICAgICAgICB9IEBlbHNlIGlmIChpdGVtLnN1YnRpdGxlKSB7XG4gICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwiZ2VvLW1hcC1zZWFyY2hfX3Jlc3VsdC1zdWJcIj57eyBpdGVtLnN1YnRpdGxlIH19PC9wPlxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvdWw+XG5cbiAgICAgICAgICAgIEBpZiAocmVzb2x2ZWRUb3RhbCgpID4gcGFnZVNpemUoKSkge1xuICAgICAgICAgICAgICA8Z2VvLXBhZ2luYXRpb25cbiAgICAgICAgICAgICAgICBjbGFzcz1cImdlby1tYXAtc2VhcmNoX19wYWdpbmdcIlxuICAgICAgICAgICAgICAgIFsocGFnZUluZGV4KV09XCJwYWdlSW5kZXhcIlxuICAgICAgICAgICAgICAgIFsocGFnZVNpemUpXT1cInBhZ2VTaXplXCJcbiAgICAgICAgICAgICAgICBbdG90YWxdPVwicmVzb2x2ZWRUb3RhbCgpXCJcbiAgICAgICAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgICAgICAgIFtzaW1wbGVdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgPC9zZWN0aW9uPlxufVxuIl19
|