valtech-components 2.0.1023 → 2.0.1025

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.
Files changed (37) hide show
  1. package/esm2022/lib/components/molecules/pill/pill.component.mjs +3 -3
  2. package/esm2022/lib/components/molecules/ticket-card/ticket-card.component.mjs +183 -0
  3. package/esm2022/lib/components/molecules/ticket-card/ticket-card.i18n.mjs +23 -0
  4. package/esm2022/lib/components/molecules/ticket-card/types.mjs +2 -0
  5. package/esm2022/lib/components/molecules/update-banner/update-banner.component.mjs +3 -3
  6. package/esm2022/lib/components/organisms/api-key-create-modal/api-key-create-modal.component.mjs +290 -0
  7. package/esm2022/lib/components/organisms/api-keys-view/api-keys-view.component.mjs +316 -0
  8. package/esm2022/lib/components/organisms/api-keys-view/api-keys-view.i18n.mjs +59 -0
  9. package/esm2022/lib/components/organisms/api-keys-view/api-keys.routes.mjs +27 -0
  10. package/esm2022/lib/components/organisms/api-keys-view/types.mjs +2 -0
  11. package/esm2022/lib/components/organisms/organization-view/organization-view.component.mjs +6 -12
  12. package/esm2022/lib/components/organisms/organization-view/organization-view.i18n.mjs +3 -3
  13. package/esm2022/lib/components/organisms/organization-view/types.mjs +1 -1
  14. package/esm2022/lib/components/organisms/qr-scanner/qr-scanner.component.mjs +310 -0
  15. package/esm2022/lib/components/organisms/qr-scanner/qr-scanner.i18n.mjs +28 -0
  16. package/esm2022/lib/components/organisms/qr-scanner/types.mjs +2 -0
  17. package/esm2022/lib/components/organisms/settings-hub/settings.routes.mjs +4 -1
  18. package/esm2022/lib/version.mjs +2 -2
  19. package/esm2022/public-api.mjs +10 -1
  20. package/fesm2022/valtech-components.mjs +3611 -2434
  21. package/fesm2022/valtech-components.mjs.map +1 -1
  22. package/lib/components/molecules/ticket-card/ticket-card.component.d.ts +42 -0
  23. package/lib/components/molecules/ticket-card/ticket-card.i18n.d.ts +22 -0
  24. package/lib/components/molecules/ticket-card/types.d.ts +45 -0
  25. package/lib/components/organisms/api-key-create-modal/api-key-create-modal.component.d.ts +56 -0
  26. package/lib/components/organisms/api-keys-view/api-keys-view.component.d.ts +58 -0
  27. package/lib/components/organisms/api-keys-view/api-keys-view.i18n.d.ts +6 -0
  28. package/lib/components/organisms/api-keys-view/api-keys.routes.d.ts +22 -0
  29. package/lib/components/organisms/api-keys-view/types.d.ts +8 -0
  30. package/lib/components/organisms/organization-view/types.d.ts +6 -0
  31. package/lib/components/organisms/qr-scanner/qr-scanner.component.d.ts +51 -0
  32. package/lib/components/organisms/qr-scanner/qr-scanner.i18n.d.ts +27 -0
  33. package/lib/components/organisms/qr-scanner/types.d.ts +31 -0
  34. package/lib/components/organisms/settings-hub/settings.routes.d.ts +5 -0
  35. package/lib/version.d.ts +1 -1
  36. package/package.json +3 -1
  37. package/public-api.d.ts +8 -0
@@ -118,7 +118,7 @@ export class PillComponent {
118
118
  <span class="val-pill__label">{{ resolvedProps.label }}</span>
119
119
  </span>
120
120
  }
121
- `, isInline: true, styles: ["@charset \"UTF-8\";:root{--val-container-sm: 540px;--val-container-md: 720px;--val-container-lg: 880px;--val-container-xl: 1100px;--val-container-padding: 16px;--ion-color-primary: #7026df;--ion-color-primary-rgb: 112, 38, 223;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #6321c4;--ion-color-primary-tint: #7e3ce2;--ion-color-secondary: #e2ccff;--ion-color-secondary-rgb: 226, 204, 255;--ion-color-secondary-contrast: #000000;--ion-color-secondary-contrast-rgb: 0, 0, 0;--ion-color-secondary-shade: #c7b4e0;--ion-color-secondary-tint: #e5d1ff;--ion-color-texti: #354c69;--ion-color-texti-rgb: 53, 76, 105;--ion-color-texti-contrast: #ffffff;--ion-color-texti-contrast-rgb: 255, 255, 255;--ion-color-texti-shade: #2f435c;--ion-color-texti-tint: #495e78;--ion-color-darki: #090f1b;--ion-color-darki-rgb: 9, 15, 27;--ion-color-darki-contrast: #ffffff;--ion-color-darki-contrast-rgb: 255, 255, 255;--ion-color-darki-shade: #080d18;--ion-color-darki-tint: #222732;--ion-color-medium: #9e9e9e;--ion-color-medium-rgb: 158, 158, 158;--ion-color-medium-contrast: #000000;--ion-color-medium-contrast-rgb: 0, 0, 0;--ion-color-medium-shade: #8b8b8b;--ion-color-medium-tint: #a8a8a8;--swiper-pagination-color: var(--ion-color-primary);--swiper-navigation-color: var(--ion-color-primary);--swiper-pagination-bullet-inactive-color: var(--ion-color-medium)}body.dark,html.ion-palette-dark,body[data-theme=dark]{--ion-color-texti: #8fc1ff;--ion-color-texti-rgb: 143, 193, 255;--ion-color-texti-contrast: #000000;--ion-color-texti-contrast-rgb: 0, 0, 0;--ion-color-texti-shade: #7eaae0;--ion-color-texti-tint: #9ac7ff;--ion-color-darki: #ffffff;--ion-color-darki-rgb: 255, 255, 255;--ion-color-darki-contrast: #000000;--ion-color-darki-contrast-rgb: 0, 0, 0;--ion-color-darki-shade: #e0e0e0;--ion-color-darki-tint: #ffffff;--ion-color-primary: #8f49f8;--ion-color-primary-rgb: 143, 73, 248;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #7e40da;--ion-color-primary-tint: #9a5bf9}.ion-color-texti{--ion-color-base: var(--ion-color-texti);--ion-color-base-rgb: var(--ion-color-texti-rgb);--ion-color-contrast: var(--ion-color-texti-contrast);--ion-color-contrast-rgb: var(--ion-color-texti-contrast-rgb);--ion-color-shade: var(--ion-color-texti-shade);--ion-color-tint: var(--ion-color-texti-tint)}.ion-color-darki{--ion-color-base: var(--ion-color-darki);--ion-color-base-rgb: var(--ion-color-darki-rgb);--ion-color-contrast: var(--ion-color-darki-contrast);--ion-color-contrast-rgb: var(--ion-color-darki-contrast-rgb);--ion-color-shade: var(--ion-color-darki-shade);--ion-color-tint: var(--ion-color-darki-tint)}.val-pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;white-space:nowrap;line-height:1;background:rgba(var(--val-pill-color-rgb),.12);color:var(--val-pill-color);border:.0625rem solid rgba(var(--val-pill-color-rgb),.22);transition:background .15s ease,transform .15s ease,box-shadow .15s ease}.val-pill__icon{font-size:1em;flex-shrink:0}.val-pill__label{display:inline-block}.val-pill--solid{background:var(--val-pill-color);color:var(--val-pill-color-contrast);border-color:var(--val-pill-color)}.val-pill--small{padding:5px 12px;font-size:.75rem}.val-pill--medium{padding:7px 14px;font-size:.875rem}.val-pill--large{padding:9px 18px;font-size:1rem}.val-pill--w-normal{font-weight:400}.val-pill--w-medium{font-weight:600}.val-pill--w-bold{font-weight:700}.val-pill--clickable{cursor:pointer;-webkit-tap-highlight-color:transparent}.val-pill--clickable:hover{background:rgba(var(--val-pill-color-rgb),.2);transform:translateY(-1px)}.val-pill--clickable:active{transform:translateY(0) scale(.98)}.val-pill--clickable:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(var(--val-pill-color-rgb),.3)}.val-pill--clickable.val-pill--solid:hover{filter:brightness(1.08)}:host-context(body.dark) .val-pill:not(.val-pill--solid),:host-context(html.ion-palette-dark) .val-pill:not(.val-pill--solid),:host-context([data-theme=dark]) .val-pill:not(.val-pill--solid){background:rgba(var(--val-pill-color-rgb),.22);border-color:rgba(var(--val-pill-color-rgb),.32)}.notif-pill{display:inline-flex;align-items:center;gap:12px;padding:10px 14px;border-radius:999px;background:var(--ion-color-dark);color:var(--ion-color-dark-contrast);max-width:100%;box-sizing:border-box;box-shadow:.1875rem .625rem .5rem #1219541a}.notif-pill__icon-wrap{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:32px;height:32px;border-radius:50%;background:#ffffff1a;font-size:1rem}.notif-pill__content{display:flex;align-items:baseline;gap:8px;flex:1;min-width:0;overflow:hidden}.notif-pill__time{font-size:.72rem;font-weight:600;opacity:.55;flex-shrink:0;letter-spacing:.02em}.notif-pill__title{font-size:.875rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notif-pill__body{font-size:.75rem;opacity:.7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:1}.notif-pill__actions{display:flex;align-items:center;gap:6px;flex-shrink:0;margin-left:4px}.notif-pill__action-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;border:none;background:#ffffff1f;color:var(--ion-color-dark-contrast);cursor:pointer;font-size:.9rem;transition:background .15s ease,transform .1s ease;-webkit-tap-highlight-color:transparent}.notif-pill__action-btn:hover{background:#ffffff38}.notif-pill__action-btn:active{transform:scale(.9)}.notif-pill__action-btn:focus-visible{outline:none;box-shadow:0 0 0 2px #ffffff80}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }] }); }
121
+ `, isInline: true, styles: ["@charset \"UTF-8\";:root{--val-container-sm: 540px;--val-container-md: 720px;--val-container-lg: 880px;--val-container-xl: 1100px;--val-container-padding: 16px;--ion-color-primary: #7026df;--ion-color-primary-rgb: 112, 38, 223;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #6321c4;--ion-color-primary-tint: #7e3ce2;--ion-color-secondary: #e2ccff;--ion-color-secondary-rgb: 226, 204, 255;--ion-color-secondary-contrast: #000000;--ion-color-secondary-contrast-rgb: 0, 0, 0;--ion-color-secondary-shade: #c7b4e0;--ion-color-secondary-tint: #e5d1ff;--ion-color-texti: #354c69;--ion-color-texti-rgb: 53, 76, 105;--ion-color-texti-contrast: #ffffff;--ion-color-texti-contrast-rgb: 255, 255, 255;--ion-color-texti-shade: #2f435c;--ion-color-texti-tint: #495e78;--ion-color-darki: #090f1b;--ion-color-darki-rgb: 9, 15, 27;--ion-color-darki-contrast: #ffffff;--ion-color-darki-contrast-rgb: 255, 255, 255;--ion-color-darki-shade: #080d18;--ion-color-darki-tint: #222732;--ion-color-medium: #9e9e9e;--ion-color-medium-rgb: 158, 158, 158;--ion-color-medium-contrast: #000000;--ion-color-medium-contrast-rgb: 0, 0, 0;--ion-color-medium-shade: #8b8b8b;--ion-color-medium-tint: #a8a8a8;--swiper-pagination-color: var(--ion-color-primary);--swiper-navigation-color: var(--ion-color-primary);--swiper-pagination-bullet-inactive-color: var(--ion-color-medium)}body.dark,html.ion-palette-dark,body[data-theme=dark]{--ion-color-texti: #8fc1ff;--ion-color-texti-rgb: 143, 193, 255;--ion-color-texti-contrast: #000000;--ion-color-texti-contrast-rgb: 0, 0, 0;--ion-color-texti-shade: #7eaae0;--ion-color-texti-tint: #9ac7ff;--ion-color-darki: #ffffff;--ion-color-darki-rgb: 255, 255, 255;--ion-color-darki-contrast: #000000;--ion-color-darki-contrast-rgb: 0, 0, 0;--ion-color-darki-shade: #e0e0e0;--ion-color-darki-tint: #ffffff;--ion-color-primary: #8f49f8;--ion-color-primary-rgb: 143, 73, 248;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #7e40da;--ion-color-primary-tint: #9a5bf9}.ion-color-texti{--ion-color-base: var(--ion-color-texti);--ion-color-base-rgb: var(--ion-color-texti-rgb);--ion-color-contrast: var(--ion-color-texti-contrast);--ion-color-contrast-rgb: var(--ion-color-texti-contrast-rgb);--ion-color-shade: var(--ion-color-texti-shade);--ion-color-tint: var(--ion-color-texti-tint)}.ion-color-darki{--ion-color-base: var(--ion-color-darki);--ion-color-base-rgb: var(--ion-color-darki-rgb);--ion-color-contrast: var(--ion-color-darki-contrast);--ion-color-contrast-rgb: var(--ion-color-darki-contrast-rgb);--ion-color-shade: var(--ion-color-darki-shade);--ion-color-tint: var(--ion-color-darki-tint)}.val-pill{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;gap:6px;border-radius:999px;white-space:nowrap;background:rgba(var(--val-pill-color-rgb),.12);color:var(--val-pill-color);border:.0625rem solid rgba(var(--val-pill-color-rgb),.22);transition:background .15s ease,transform .15s ease,box-shadow .15s ease}.val-pill__icon{display:block;font-size:1em;flex-shrink:0}.val-pill__label{display:inline-flex;align-items:center;line-height:1}.val-pill--solid{background:var(--val-pill-color);color:var(--val-pill-color-contrast);border-color:var(--val-pill-color)}.val-pill--small{padding:5px 12px;font-size:.75rem}.val-pill--medium{padding:7px 14px;font-size:.875rem}.val-pill--large{padding:9px 18px;font-size:1rem}.val-pill--w-normal{font-weight:400}.val-pill--w-medium{font-weight:600}.val-pill--w-bold{font-weight:700}.val-pill--clickable{cursor:pointer;-webkit-tap-highlight-color:transparent}.val-pill--clickable:hover{background:rgba(var(--val-pill-color-rgb),.2);transform:translateY(-1px)}.val-pill--clickable:active{transform:translateY(0) scale(.98)}.val-pill--clickable:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(var(--val-pill-color-rgb),.3)}.val-pill--clickable.val-pill--solid:hover{filter:brightness(1.08)}:host-context(body.dark) .val-pill:not(.val-pill--solid),:host-context(html.ion-palette-dark) .val-pill:not(.val-pill--solid),:host-context([data-theme=dark]) .val-pill:not(.val-pill--solid){background:rgba(var(--val-pill-color-rgb),.22);border-color:rgba(var(--val-pill-color-rgb),.32)}.notif-pill{display:inline-flex;align-items:center;gap:12px;padding:10px 14px;border-radius:999px;background:var(--ion-color-dark);color:var(--ion-color-dark-contrast);max-width:100%;box-sizing:border-box;box-shadow:.1875rem .625rem .5rem #1219541a}.notif-pill__icon-wrap{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:32px;height:32px;border-radius:50%;background:#ffffff1a;font-size:1rem}.notif-pill__content{display:flex;align-items:baseline;gap:8px;flex:1;min-width:0;overflow:hidden}.notif-pill__time{font-size:.72rem;font-weight:600;opacity:.55;flex-shrink:0;letter-spacing:.02em}.notif-pill__title{font-size:.875rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notif-pill__body{font-size:.75rem;opacity:.7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:1}.notif-pill__actions{display:flex;align-items:center;gap:6px;flex-shrink:0;margin-left:4px}.notif-pill__action-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;border:none;background:#ffffff1f;color:var(--ion-color-dark-contrast);cursor:pointer;font-size:.9rem;transition:background .15s ease,transform .1s ease;-webkit-tap-highlight-color:transparent}.notif-pill__action-btn:hover{background:#ffffff38}.notif-pill__action-btn:active{transform:scale(.9)}.notif-pill__action-btn:focus-visible{outline:none;box-shadow:0 0 0 2px #ffffff80}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }] }); }
122
122
  }
123
123
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PillComponent, decorators: [{
124
124
  type: Component,
@@ -184,7 +184,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
184
184
  <span class="val-pill__label">{{ resolvedProps.label }}</span>
185
185
  </span>
186
186
  }
187
- `, styles: ["@charset \"UTF-8\";:root{--val-container-sm: 540px;--val-container-md: 720px;--val-container-lg: 880px;--val-container-xl: 1100px;--val-container-padding: 16px;--ion-color-primary: #7026df;--ion-color-primary-rgb: 112, 38, 223;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #6321c4;--ion-color-primary-tint: #7e3ce2;--ion-color-secondary: #e2ccff;--ion-color-secondary-rgb: 226, 204, 255;--ion-color-secondary-contrast: #000000;--ion-color-secondary-contrast-rgb: 0, 0, 0;--ion-color-secondary-shade: #c7b4e0;--ion-color-secondary-tint: #e5d1ff;--ion-color-texti: #354c69;--ion-color-texti-rgb: 53, 76, 105;--ion-color-texti-contrast: #ffffff;--ion-color-texti-contrast-rgb: 255, 255, 255;--ion-color-texti-shade: #2f435c;--ion-color-texti-tint: #495e78;--ion-color-darki: #090f1b;--ion-color-darki-rgb: 9, 15, 27;--ion-color-darki-contrast: #ffffff;--ion-color-darki-contrast-rgb: 255, 255, 255;--ion-color-darki-shade: #080d18;--ion-color-darki-tint: #222732;--ion-color-medium: #9e9e9e;--ion-color-medium-rgb: 158, 158, 158;--ion-color-medium-contrast: #000000;--ion-color-medium-contrast-rgb: 0, 0, 0;--ion-color-medium-shade: #8b8b8b;--ion-color-medium-tint: #a8a8a8;--swiper-pagination-color: var(--ion-color-primary);--swiper-navigation-color: var(--ion-color-primary);--swiper-pagination-bullet-inactive-color: var(--ion-color-medium)}body.dark,html.ion-palette-dark,body[data-theme=dark]{--ion-color-texti: #8fc1ff;--ion-color-texti-rgb: 143, 193, 255;--ion-color-texti-contrast: #000000;--ion-color-texti-contrast-rgb: 0, 0, 0;--ion-color-texti-shade: #7eaae0;--ion-color-texti-tint: #9ac7ff;--ion-color-darki: #ffffff;--ion-color-darki-rgb: 255, 255, 255;--ion-color-darki-contrast: #000000;--ion-color-darki-contrast-rgb: 0, 0, 0;--ion-color-darki-shade: #e0e0e0;--ion-color-darki-tint: #ffffff;--ion-color-primary: #8f49f8;--ion-color-primary-rgb: 143, 73, 248;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #7e40da;--ion-color-primary-tint: #9a5bf9}.ion-color-texti{--ion-color-base: var(--ion-color-texti);--ion-color-base-rgb: var(--ion-color-texti-rgb);--ion-color-contrast: var(--ion-color-texti-contrast);--ion-color-contrast-rgb: var(--ion-color-texti-contrast-rgb);--ion-color-shade: var(--ion-color-texti-shade);--ion-color-tint: var(--ion-color-texti-tint)}.ion-color-darki{--ion-color-base: var(--ion-color-darki);--ion-color-base-rgb: var(--ion-color-darki-rgb);--ion-color-contrast: var(--ion-color-darki-contrast);--ion-color-contrast-rgb: var(--ion-color-darki-contrast-rgb);--ion-color-shade: var(--ion-color-darki-shade);--ion-color-tint: var(--ion-color-darki-tint)}.val-pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;white-space:nowrap;line-height:1;background:rgba(var(--val-pill-color-rgb),.12);color:var(--val-pill-color);border:.0625rem solid rgba(var(--val-pill-color-rgb),.22);transition:background .15s ease,transform .15s ease,box-shadow .15s ease}.val-pill__icon{font-size:1em;flex-shrink:0}.val-pill__label{display:inline-block}.val-pill--solid{background:var(--val-pill-color);color:var(--val-pill-color-contrast);border-color:var(--val-pill-color)}.val-pill--small{padding:5px 12px;font-size:.75rem}.val-pill--medium{padding:7px 14px;font-size:.875rem}.val-pill--large{padding:9px 18px;font-size:1rem}.val-pill--w-normal{font-weight:400}.val-pill--w-medium{font-weight:600}.val-pill--w-bold{font-weight:700}.val-pill--clickable{cursor:pointer;-webkit-tap-highlight-color:transparent}.val-pill--clickable:hover{background:rgba(var(--val-pill-color-rgb),.2);transform:translateY(-1px)}.val-pill--clickable:active{transform:translateY(0) scale(.98)}.val-pill--clickable:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(var(--val-pill-color-rgb),.3)}.val-pill--clickable.val-pill--solid:hover{filter:brightness(1.08)}:host-context(body.dark) .val-pill:not(.val-pill--solid),:host-context(html.ion-palette-dark) .val-pill:not(.val-pill--solid),:host-context([data-theme=dark]) .val-pill:not(.val-pill--solid){background:rgba(var(--val-pill-color-rgb),.22);border-color:rgba(var(--val-pill-color-rgb),.32)}.notif-pill{display:inline-flex;align-items:center;gap:12px;padding:10px 14px;border-radius:999px;background:var(--ion-color-dark);color:var(--ion-color-dark-contrast);max-width:100%;box-sizing:border-box;box-shadow:.1875rem .625rem .5rem #1219541a}.notif-pill__icon-wrap{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:32px;height:32px;border-radius:50%;background:#ffffff1a;font-size:1rem}.notif-pill__content{display:flex;align-items:baseline;gap:8px;flex:1;min-width:0;overflow:hidden}.notif-pill__time{font-size:.72rem;font-weight:600;opacity:.55;flex-shrink:0;letter-spacing:.02em}.notif-pill__title{font-size:.875rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notif-pill__body{font-size:.75rem;opacity:.7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:1}.notif-pill__actions{display:flex;align-items:center;gap:6px;flex-shrink:0;margin-left:4px}.notif-pill__action-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;border:none;background:#ffffff1f;color:var(--ion-color-dark-contrast);cursor:pointer;font-size:.9rem;transition:background .15s ease,transform .1s ease;-webkit-tap-highlight-color:transparent}.notif-pill__action-btn:hover{background:#ffffff38}.notif-pill__action-btn:active{transform:scale(.9)}.notif-pill__action-btn:focus-visible{outline:none;box-shadow:0 0 0 2px #ffffff80}\n"] }]
187
+ `, styles: ["@charset \"UTF-8\";:root{--val-container-sm: 540px;--val-container-md: 720px;--val-container-lg: 880px;--val-container-xl: 1100px;--val-container-padding: 16px;--ion-color-primary: #7026df;--ion-color-primary-rgb: 112, 38, 223;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #6321c4;--ion-color-primary-tint: #7e3ce2;--ion-color-secondary: #e2ccff;--ion-color-secondary-rgb: 226, 204, 255;--ion-color-secondary-contrast: #000000;--ion-color-secondary-contrast-rgb: 0, 0, 0;--ion-color-secondary-shade: #c7b4e0;--ion-color-secondary-tint: #e5d1ff;--ion-color-texti: #354c69;--ion-color-texti-rgb: 53, 76, 105;--ion-color-texti-contrast: #ffffff;--ion-color-texti-contrast-rgb: 255, 255, 255;--ion-color-texti-shade: #2f435c;--ion-color-texti-tint: #495e78;--ion-color-darki: #090f1b;--ion-color-darki-rgb: 9, 15, 27;--ion-color-darki-contrast: #ffffff;--ion-color-darki-contrast-rgb: 255, 255, 255;--ion-color-darki-shade: #080d18;--ion-color-darki-tint: #222732;--ion-color-medium: #9e9e9e;--ion-color-medium-rgb: 158, 158, 158;--ion-color-medium-contrast: #000000;--ion-color-medium-contrast-rgb: 0, 0, 0;--ion-color-medium-shade: #8b8b8b;--ion-color-medium-tint: #a8a8a8;--swiper-pagination-color: var(--ion-color-primary);--swiper-navigation-color: var(--ion-color-primary);--swiper-pagination-bullet-inactive-color: var(--ion-color-medium)}body.dark,html.ion-palette-dark,body[data-theme=dark]{--ion-color-texti: #8fc1ff;--ion-color-texti-rgb: 143, 193, 255;--ion-color-texti-contrast: #000000;--ion-color-texti-contrast-rgb: 0, 0, 0;--ion-color-texti-shade: #7eaae0;--ion-color-texti-tint: #9ac7ff;--ion-color-darki: #ffffff;--ion-color-darki-rgb: 255, 255, 255;--ion-color-darki-contrast: #000000;--ion-color-darki-contrast-rgb: 0, 0, 0;--ion-color-darki-shade: #e0e0e0;--ion-color-darki-tint: #ffffff;--ion-color-primary: #8f49f8;--ion-color-primary-rgb: 143, 73, 248;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #7e40da;--ion-color-primary-tint: #9a5bf9}.ion-color-texti{--ion-color-base: var(--ion-color-texti);--ion-color-base-rgb: var(--ion-color-texti-rgb);--ion-color-contrast: var(--ion-color-texti-contrast);--ion-color-contrast-rgb: var(--ion-color-texti-contrast-rgb);--ion-color-shade: var(--ion-color-texti-shade);--ion-color-tint: var(--ion-color-texti-tint)}.ion-color-darki{--ion-color-base: var(--ion-color-darki);--ion-color-base-rgb: var(--ion-color-darki-rgb);--ion-color-contrast: var(--ion-color-darki-contrast);--ion-color-contrast-rgb: var(--ion-color-darki-contrast-rgb);--ion-color-shade: var(--ion-color-darki-shade);--ion-color-tint: var(--ion-color-darki-tint)}.val-pill{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;gap:6px;border-radius:999px;white-space:nowrap;background:rgba(var(--val-pill-color-rgb),.12);color:var(--val-pill-color);border:.0625rem solid rgba(var(--val-pill-color-rgb),.22);transition:background .15s ease,transform .15s ease,box-shadow .15s ease}.val-pill__icon{display:block;font-size:1em;flex-shrink:0}.val-pill__label{display:inline-flex;align-items:center;line-height:1}.val-pill--solid{background:var(--val-pill-color);color:var(--val-pill-color-contrast);border-color:var(--val-pill-color)}.val-pill--small{padding:5px 12px;font-size:.75rem}.val-pill--medium{padding:7px 14px;font-size:.875rem}.val-pill--large{padding:9px 18px;font-size:1rem}.val-pill--w-normal{font-weight:400}.val-pill--w-medium{font-weight:600}.val-pill--w-bold{font-weight:700}.val-pill--clickable{cursor:pointer;-webkit-tap-highlight-color:transparent}.val-pill--clickable:hover{background:rgba(var(--val-pill-color-rgb),.2);transform:translateY(-1px)}.val-pill--clickable:active{transform:translateY(0) scale(.98)}.val-pill--clickable:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(var(--val-pill-color-rgb),.3)}.val-pill--clickable.val-pill--solid:hover{filter:brightness(1.08)}:host-context(body.dark) .val-pill:not(.val-pill--solid),:host-context(html.ion-palette-dark) .val-pill:not(.val-pill--solid),:host-context([data-theme=dark]) .val-pill:not(.val-pill--solid){background:rgba(var(--val-pill-color-rgb),.22);border-color:rgba(var(--val-pill-color-rgb),.32)}.notif-pill{display:inline-flex;align-items:center;gap:12px;padding:10px 14px;border-radius:999px;background:var(--ion-color-dark);color:var(--ion-color-dark-contrast);max-width:100%;box-sizing:border-box;box-shadow:.1875rem .625rem .5rem #1219541a}.notif-pill__icon-wrap{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:32px;height:32px;border-radius:50%;background:#ffffff1a;font-size:1rem}.notif-pill__content{display:flex;align-items:baseline;gap:8px;flex:1;min-width:0;overflow:hidden}.notif-pill__time{font-size:.72rem;font-weight:600;opacity:.55;flex-shrink:0;letter-spacing:.02em}.notif-pill__title{font-size:.875rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notif-pill__body{font-size:.75rem;opacity:.7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:1}.notif-pill__actions{display:flex;align-items:center;gap:6px;flex-shrink:0;margin-left:4px}.notif-pill__action-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;border:none;background:#ffffff1f;color:var(--ion-color-dark-contrast);cursor:pointer;font-size:.9rem;transition:background .15s ease,transform .1s ease;-webkit-tap-highlight-color:transparent}.notif-pill__action-btn:hover{background:#ffffff38}.notif-pill__action-btn:active{transform:scale(.9)}.notif-pill__action-btn:focus-visible{outline:none;box-shadow:0 0 0 2px #ffffff80}\n"] }]
188
188
  }], propDecorators: { preset: [{
189
189
  type: Input
190
190
  }], props: [{
@@ -194,4 +194,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
194
194
  }], pillAction: [{
195
195
  type: Output
196
196
  }] } });
197
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlsbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL3BpbGwvcGlsbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDakgsT0FBTyxFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7O0FBRzFELE1BQU0sWUFBWSxHQUFHLENBQUMsU0FBUyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztBQXVFckgsTUFBTSxPQUFPLGFBQWE7SUFyRTFCO1FBc0VVLFlBQU8sR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFLeEMscUVBQXFFO1FBQzVELFVBQUssR0FBMEIsRUFBRSxDQUFDO1FBRTNDLHNEQUFzRDtRQUM1QyxjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQWtCLENBQUM7UUFFekQsK0RBQStEO1FBQ3JELGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBbUIsQ0FBQztRQUUzRCxrQkFBYSxHQUFpQixFQUFrQixDQUFDO0tBZ0RsRDtJQTlDQyxRQUFRO1FBQ04sSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQztZQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNqRSxDQUFDO0lBRU8sWUFBWTtRQUNsQixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBRSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBMkIsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ3hHLElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxHQUFHLFdBQVcsRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQWtCLENBQUM7SUFDekUsQ0FBQztJQUVELElBQUksa0JBQWtCO1FBQ3BCLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUM7SUFDeEUsQ0FBQztJQUVELElBQUksVUFBVTtRQUNaLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxJQUFJLFFBQVEsQ0FBQztJQUM5QyxDQUFDO0lBQ0QsSUFBSSxVQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sSUFBSSxRQUFRLENBQUM7SUFDL0MsQ0FBQztJQUNELElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLElBQUksT0FBTyxDQUFDO0lBQzVDLENBQUM7SUFFRCxZQUFZO1FBQ1YsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLEVBQUUsU0FBUyxJQUFJLFNBQVMsQ0FBQztRQUNsRSxPQUFPLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBYTtRQUN2QixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTO1lBQUUsT0FBTztRQUMxQyxLQUFLLEVBQUUsY0FBYyxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUM1RixDQUFDO0lBRUQsYUFBYSxDQUFDLFdBQW1CLEVBQUUsS0FBaUI7UUFDbEQsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDN0UsQ0FBQzsrR0E5RFUsYUFBYTttR0FBYixhQUFhLHNNQWpFZDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E4RFQsOGtMQS9EUyxZQUFZLCtCQUFFLE9BQU87OzRGQWtFcEIsYUFBYTtrQkFyRXpCLFNBQVM7K0JBQ0UsVUFBVSxjQUNSLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxPQUFPLEVBQUUsZUFBZSxDQUFDLFlBQ3ZDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQThEVDs4QkFPUSxNQUFNO3NCQUFkLEtBQUs7Z0JBR0csS0FBSztzQkFBYixLQUFLO2dCQUdJLFNBQVM7c0JBQWxCLE1BQU07Z0JBR0csVUFBVTtzQkFBbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgaW5qZWN0LCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW9uSWNvbiwgSW9uUmlwcGxlRWZmZWN0IH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQgeyBQcmVzZXRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvcHJlc2V0cyc7XG5pbXBvcnQgeyBQaWxsQWN0aW9uRXZlbnQsIFBpbGxDbGlja0V2ZW50LCBQaWxsTWV0YWRhdGEgfSBmcm9tICcuL3R5cGVzJztcblxuY29uc3QgSU9OSUNfQ09MT1JTID0gWydwcmltYXJ5JywgJ3NlY29uZGFyeScsICd0ZXJ0aWFyeScsICdzdWNjZXNzJywgJ3dhcm5pbmcnLCAnZGFuZ2VyJywgJ2xpZ2h0JywgJ21lZGl1bScsICdkYXJrJ107XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1waWxsJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgSW9uSWNvbiwgSW9uUmlwcGxlRWZmZWN0XSxcbiAgdGVtcGxhdGU6IGBcbiAgICBAaWYgKGlzTm90aWZpY2F0aW9uUGlsbCkge1xuICAgICAgPCEtLSBOb3RpZmljYXRpb24gbW9kZSAtLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJub3RpZi1waWxsXCIgW2F0dHIuYXJpYS1saXZlXT1cIidwb2xpdGUnXCI+XG4gICAgICAgIEBpZiAocmVzb2x2ZWRQcm9wcy5ub3RpZmljYXRpb24/Lmljb24pIHtcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibm90aWYtcGlsbF9faWNvbi13cmFwXCIgW3N0eWxlLmNvbG9yXT1cImdldEljb25Db2xvcigpXCI+XG4gICAgICAgICAgICA8aW9uLWljb24gW25hbWVdPVwicmVzb2x2ZWRQcm9wcy5ub3RpZmljYXRpb24hLmljb24hXCIgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJub3RpZi1waWxsX19jb250ZW50XCI+XG4gICAgICAgICAgQGlmIChyZXNvbHZlZFByb3BzLm5vdGlmaWNhdGlvbj8udGltZSkge1xuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJub3RpZi1waWxsX190aW1lXCI+e3sgcmVzb2x2ZWRQcm9wcy5ub3RpZmljYXRpb24hLnRpbWUgfX08L3NwYW4+XG4gICAgICAgICAgfVxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwibm90aWYtcGlsbF9fdGl0bGVcIj57eyByZXNvbHZlZFByb3BzLm5vdGlmaWNhdGlvbiEudGl0bGUgfX08L3NwYW4+XG4gICAgICAgICAgQGlmIChyZXNvbHZlZFByb3BzLm5vdGlmaWNhdGlvbj8uYm9keSkge1xuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJub3RpZi1waWxsX19ib2R5XCI+e3sgcmVzb2x2ZWRQcm9wcy5ub3RpZmljYXRpb24hLmJvZHkgfX08L3NwYW4+XG4gICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICBAaWYgKHJlc29sdmVkUHJvcHMubm90aWZpY2F0aW9uPy5hY3Rpb25zPy5sZW5ndGgpIHtcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibm90aWYtcGlsbF9fYWN0aW9uc1wiPlxuICAgICAgICAgICAgQGZvciAoYWN0aW9uIG9mIHJlc29sdmVkUHJvcHMubm90aWZpY2F0aW9uIS5hY3Rpb25zITsgdHJhY2sgYWN0aW9uLnRva2VuKSB7XG4gICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICBjbGFzcz1cIm5vdGlmLXBpbGxfX2FjdGlvbi1idG5cIlxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYWN0aW9uLmFyaWFMYWJlbCB8fCBhY3Rpb24udG9rZW5cIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkFjdGlvbkNsaWNrKGFjdGlvbi50b2tlbiwgJGV2ZW50KVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8aW9uLWljb24gW25hbWVdPVwiYWN0aW9uLmljb25cIiAvPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgfSBAZWxzZSBpZiAoaXNUZXh0UGlsbCkge1xuICAgICAgPCEtLSBCYWRnZSBtb2RlIC0tPlxuICAgICAgPHNwYW5cbiAgICAgICAgY2xhc3M9XCJ2YWwtcGlsbFwiXG4gICAgICAgIFtjbGFzcy52YWwtcGlsbC0tY2xpY2thYmxlXT1cInJlc29sdmVkUHJvcHMuY2xpY2thYmxlXCJcbiAgICAgICAgW2NsYXNzLnZhbC1waWxsLS1zb2xpZF09XCJyZXNvbHZlZFByb3BzLnNvbGlkXCJcbiAgICAgICAgW2NsYXNzLnZhbC1waWxsLS1zbWFsbF09XCJwaWxsU2l6ZSA9PT0gJ3NtYWxsJ1wiXG4gICAgICAgIFtjbGFzcy52YWwtcGlsbC0tbWVkaXVtXT1cInBpbGxTaXplID09PSAnbWVkaXVtJ1wiXG4gICAgICAgIFtjbGFzcy52YWwtcGlsbC0tbGFyZ2VdPVwicGlsbFNpemUgPT09ICdsYXJnZSdcIlxuICAgICAgICBbY2xhc3MudmFsLXBpbGwtLXctbm9ybWFsXT1cInBpbGxXZWlnaHQgPT09ICdub3JtYWwnXCJcbiAgICAgICAgW2NsYXNzLnZhbC1waWxsLS13LW1lZGl1bV09XCJwaWxsV2VpZ2h0ID09PSAnbWVkaXVtJ1wiXG4gICAgICAgIFtjbGFzcy52YWwtcGlsbC0tdy1ib2xkXT1cInBpbGxXZWlnaHQgPT09ICdib2xkJ1wiXG4gICAgICAgIFtzdHlsZS4tLXZhbC1waWxsLWNvbG9yXT1cIid2YXIoLS1pb24tY29sb3ItJyArIHBpbGxDb2xvciArICcpJ1wiXG4gICAgICAgIFtzdHlsZS4tLXZhbC1waWxsLWNvbG9yLXJnYl09XCIndmFyKC0taW9uLWNvbG9yLScgKyBwaWxsQ29sb3IgKyAnLXJnYiknXCJcbiAgICAgICAgW3N0eWxlLi0tdmFsLXBpbGwtY29sb3ItY29udHJhc3RdPVwiJ3ZhcigtLWlvbi1jb2xvci0nICsgcGlsbENvbG9yICsgJy1jb250cmFzdCknXCJcbiAgICAgICAgW2F0dHIucm9sZV09XCJyZXNvbHZlZFByb3BzLmNsaWNrYWJsZSA/ICdidXR0b24nIDogbnVsbFwiXG4gICAgICAgIFthdHRyLnRhYmluZGV4XT1cInJlc29sdmVkUHJvcHMuY2xpY2thYmxlID8gMCA6IG51bGxcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInJlc29sdmVkUHJvcHMuY2xpY2thYmxlID8gcmVzb2x2ZWRQcm9wcy5hcmlhTGFiZWwgfHwgcmVzb2x2ZWRQcm9wcy5sYWJlbCA6IG51bGxcIlxuICAgICAgICAoY2xpY2spPVwib25QaWxsQ2xpY2soKVwiXG4gICAgICAgIChrZXlkb3duLmVudGVyKT1cIm9uUGlsbENsaWNrKClcIlxuICAgICAgICAoa2V5ZG93bi5zcGFjZSk9XCJvblBpbGxDbGljaygkZXZlbnQpXCJcbiAgICAgID5cbiAgICAgICAgQGlmIChyZXNvbHZlZFByb3BzLmljb24pIHtcbiAgICAgICAgICA8aW9uLWljb24gY2xhc3M9XCJ2YWwtcGlsbF9faWNvblwiIFtuYW1lXT1cInJlc29sdmVkUHJvcHMuaWNvblwiIC8+XG4gICAgICAgIH1cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ2YWwtcGlsbF9fbGFiZWxcIj57eyByZXNvbHZlZFByb3BzLmxhYmVsIH19PC9zcGFuPlxuICAgICAgPC9zcGFuPlxuICAgIH1cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vcGlsbC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBQaWxsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICBwcml2YXRlIHByZXNldHMgPSBpbmplY3QoUHJlc2V0U2VydmljZSk7XG5cbiAgLyoqIE9wdGlvbmFsIHByZXNldCBuYW1lIHJlZ2lzdGVyZWQgdmlhIHByb3ZpZGVWYWx0ZWNoUHJlc2V0cygpLiAqL1xuICBASW5wdXQoKSBwcmVzZXQ/OiBzdHJpbmc7XG5cbiAgLyoqIFBpbGwgY29uZmlndXJhdGlvbi4gT3ZlcnJpZGVzIHByZXNldCB2YWx1ZXMgd2hlbiBib3RoIGFyZSBzZXQuICovXG4gIEBJbnB1dCgpIHByb3BzOiBQYXJ0aWFsPFBpbGxNZXRhZGF0YT4gPSB7fTtcblxuICAvKiogRW1pdHMgd2hlbiBhIGNsaWNrYWJsZSBiYWRnZSBwaWxsIGlzIGFjdGl2YXRlZC4gKi9cbiAgQE91dHB1dCgpIHBpbGxDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8UGlsbENsaWNrRXZlbnQ+KCk7XG5cbiAgLyoqIEVtaXRzIHdoZW4gYSBub3RpZmljYXRpb24tcGlsbCBhY3Rpb24gYnV0dG9uIGlzIHByZXNzZWQuICovXG4gIEBPdXRwdXQoKSBwaWxsQWN0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjxQaWxsQWN0aW9uRXZlbnQ+KCk7XG5cbiAgcmVzb2x2ZWRQcm9wczogUGlsbE1ldGFkYXRhID0ge30gYXMgUGlsbE1ldGFkYXRhO1xuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMucmVzb2x2ZVByb3BzKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKGNoYW5nZXNbJ3ByZXNldCddIHx8IGNoYW5nZXNbJ3Byb3BzJ10pIHRoaXMucmVzb2x2ZVByb3BzKCk7XG4gIH1cblxuICBwcml2YXRlIHJlc29sdmVQcm9wcygpOiB2b2lkIHtcbiAgICBjb25zdCBwcmVzZXRQcm9wcyA9IHRoaXMucHJlc2V0ID8gKHRoaXMucHJlc2V0cy5nZXQoJ3BpbGwnLCB0aGlzLnByZXNldCkgYXMgUGFydGlhbDxQaWxsTWV0YWRhdGE+KSA6IHt9O1xuICAgIHRoaXMucmVzb2x2ZWRQcm9wcyA9IHsgLi4ucHJlc2V0UHJvcHMsIC4uLnRoaXMucHJvcHMgfSBhcyBQaWxsTWV0YWRhdGE7XG4gIH1cblxuICBnZXQgaXNOb3RpZmljYXRpb25QaWxsKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMucmVzb2x2ZWRQcm9wcy5ub3RpZmljYXRpb24gJiYgIXRoaXMucmVzb2x2ZWRQcm9wcy5sYWJlbDtcbiAgfVxuXG4gIGdldCBpc1RleHRQaWxsKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMucmVzb2x2ZWRQcm9wcy5sYWJlbDtcbiAgfVxuXG4gIGdldCBwaWxsQ29sb3IoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5yZXNvbHZlZFByb3BzLmNvbG9yIHx8ICdtZWRpdW0nO1xuICB9XG4gIGdldCBwaWxsV2VpZ2h0KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMucmVzb2x2ZWRQcm9wcy53ZWlnaHQgfHwgJ21lZGl1bSc7XG4gIH1cbiAgZ2V0IHBpbGxTaXplKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMucmVzb2x2ZWRQcm9wcy5zaXplIHx8ICdzbWFsbCc7XG4gIH1cblxuICBnZXRJY29uQ29sb3IoKTogc3RyaW5nIHtcbiAgICBjb25zdCBjID0gdGhpcy5yZXNvbHZlZFByb3BzLm5vdGlmaWNhdGlvbj8uaWNvbkNvbG9yIHx8ICd3YXJuaW5nJztcbiAgICByZXR1cm4gSU9OSUNfQ09MT1JTLmluY2x1ZGVzKGMpID8gYHZhcigtLWlvbi1jb2xvci0ke2N9KWAgOiBjO1xuICB9XG5cbiAgb25QaWxsQ2xpY2soZXZlbnQ/OiBFdmVudCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5yZXNvbHZlZFByb3BzLmNsaWNrYWJsZSkgcmV0dXJuO1xuICAgIGV2ZW50Py5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHRoaXMucGlsbENsaWNrLmVtaXQoeyB0b2tlbjogdGhpcy5yZXNvbHZlZFByb3BzLnRva2VuLCBsYWJlbDogdGhpcy5yZXNvbHZlZFByb3BzLmxhYmVsIH0pO1xuICB9XG5cbiAgb25BY3Rpb25DbGljayhhY3Rpb25Ub2tlbjogc3RyaW5nLCBldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMucGlsbEFjdGlvbi5lbWl0KHsgYWN0aW9uVG9rZW4sIHBpbGxUb2tlbjogdGhpcy5yZXNvbHZlZFByb3BzLnRva2VuIH0pO1xuICB9XG59XG4iXX0=
197
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlsbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL3BpbGwvcGlsbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDakgsT0FBTyxFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7O0FBRzFELE1BQU0sWUFBWSxHQUFHLENBQUMsU0FBUyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztBQXVFckgsTUFBTSxPQUFPLGFBQWE7SUFyRTFCO1FBc0VVLFlBQU8sR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFLeEMscUVBQXFFO1FBQzVELFVBQUssR0FBMEIsRUFBRSxDQUFDO1FBRTNDLHNEQUFzRDtRQUM1QyxjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQWtCLENBQUM7UUFFekQsK0RBQStEO1FBQ3JELGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBbUIsQ0FBQztRQUUzRCxrQkFBYSxHQUFpQixFQUFrQixDQUFDO0tBZ0RsRDtJQTlDQyxRQUFRO1FBQ04sSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQztZQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNqRSxDQUFDO0lBRU8sWUFBWTtRQUNsQixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBRSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBMkIsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ3hHLElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxHQUFHLFdBQVcsRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQWtCLENBQUM7SUFDekUsQ0FBQztJQUVELElBQUksa0JBQWtCO1FBQ3BCLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUM7SUFDeEUsQ0FBQztJQUVELElBQUksVUFBVTtRQUNaLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxJQUFJLFFBQVEsQ0FBQztJQUM5QyxDQUFDO0lBQ0QsSUFBSSxVQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sSUFBSSxRQUFRLENBQUM7SUFDL0MsQ0FBQztJQUNELElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLElBQUksT0FBTyxDQUFDO0lBQzVDLENBQUM7SUFFRCxZQUFZO1FBQ1YsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLEVBQUUsU0FBUyxJQUFJLFNBQVMsQ0FBQztRQUNsRSxPQUFPLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBYTtRQUN2QixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTO1lBQUUsT0FBTztRQUMxQyxLQUFLLEVBQUUsY0FBYyxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUM1RixDQUFDO0lBRUQsYUFBYSxDQUFDLFdBQW1CLEVBQUUsS0FBaUI7UUFDbEQsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDN0UsQ0FBQzsrR0E5RFUsYUFBYTttR0FBYixhQUFhLHNNQWpFZDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E4RFQsMnBMQS9EUyxZQUFZLCtCQUFFLE9BQU87OzRGQWtFcEIsYUFBYTtrQkFyRXpCLFNBQVM7K0JBQ0UsVUFBVSxjQUNSLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxPQUFPLEVBQUUsZUFBZSxDQUFDLFlBQ3ZDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQThEVDs4QkFPUSxNQUFNO3NCQUFkLEtBQUs7Z0JBR0csS0FBSztzQkFBYixLQUFLO2dCQUdJLFNBQVM7c0JBQWxCLE1BQU07Z0JBR0csVUFBVTtzQkFBbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgaW5qZWN0LCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW9uSWNvbiwgSW9uUmlwcGxlRWZmZWN0IH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQgeyBQcmVzZXRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvcHJlc2V0cyc7XG5pbXBvcnQgeyBQaWxsQWN0aW9uRXZlbnQsIFBpbGxDbGlja0V2ZW50LCBQaWxsTWV0YWRhdGEgfSBmcm9tICcuL3R5cGVzJztcblxuY29uc3QgSU9OSUNfQ09MT1JTID0gWydwcmltYXJ5JywgJ3NlY29uZGFyeScsICd0ZXJ0aWFyeScsICdzdWNjZXNzJywgJ3dhcm5pbmcnLCAnZGFuZ2VyJywgJ2xpZ2h0JywgJ21lZGl1bScsICdkYXJrJ107XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1waWxsJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgSW9uSWNvbiwgSW9uUmlwcGxlRWZmZWN0XSxcbiAgdGVtcGxhdGU6IGBcbiAgICBAaWYgKGlzTm90aWZpY2F0aW9uUGlsbCkge1xuICAgICAgPCEtLSBOb3RpZmljYXRpb24gbW9kZSAtLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJub3RpZi1waWxsXCIgW2F0dHIuYXJpYS1saXZlXT1cIidwb2xpdGUnXCI+XG4gICAgICAgIEBpZiAocmVzb2x2ZWRQcm9wcy5ub3RpZmljYXRpb24/Lmljb24pIHtcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibm90aWYtcGlsbF9faWNvbi13cmFwXCIgW3N0eWxlLmNvbG9yXT1cImdldEljb25Db2xvcigpXCI+XG4gICAgICAgICAgICA8aW9uLWljb24gW25hbWVdPVwicmVzb2x2ZWRQcm9wcy5ub3RpZmljYXRpb24hLmljb24hXCIgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJub3RpZi1waWxsX19jb250ZW50XCI+XG4gICAgICAgICAgQGlmIChyZXNvbHZlZFByb3BzLm5vdGlmaWNhdGlvbj8udGltZSkge1xuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJub3RpZi1waWxsX190aW1lXCI+e3sgcmVzb2x2ZWRQcm9wcy5ub3RpZmljYXRpb24hLnRpbWUgfX08L3NwYW4+XG4gICAgICAgICAgfVxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwibm90aWYtcGlsbF9fdGl0bGVcIj57eyByZXNvbHZlZFByb3BzLm5vdGlmaWNhdGlvbiEudGl0bGUgfX08L3NwYW4+XG4gICAgICAgICAgQGlmIChyZXNvbHZlZFByb3BzLm5vdGlmaWNhdGlvbj8uYm9keSkge1xuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJub3RpZi1waWxsX19ib2R5XCI+e3sgcmVzb2x2ZWRQcm9wcy5ub3RpZmljYXRpb24hLmJvZHkgfX08L3NwYW4+XG4gICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICBAaWYgKHJlc29sdmVkUHJvcHMubm90aWZpY2F0aW9uPy5hY3Rpb25zPy5sZW5ndGgpIHtcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibm90aWYtcGlsbF9fYWN0aW9uc1wiPlxuICAgICAgICAgICAgQGZvciAoYWN0aW9uIG9mIHJlc29sdmVkUHJvcHMubm90aWZpY2F0aW9uIS5hY3Rpb25zITsgdHJhY2sgYWN0aW9uLnRva2VuKSB7XG4gICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICBjbGFzcz1cIm5vdGlmLXBpbGxfX2FjdGlvbi1idG5cIlxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYWN0aW9uLmFyaWFMYWJlbCB8fCBhY3Rpb24udG9rZW5cIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkFjdGlvbkNsaWNrKGFjdGlvbi50b2tlbiwgJGV2ZW50KVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8aW9uLWljb24gW25hbWVdPVwiYWN0aW9uLmljb25cIiAvPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgfSBAZWxzZSBpZiAoaXNUZXh0UGlsbCkge1xuICAgICAgPCEtLSBCYWRnZSBtb2RlIC0tPlxuICAgICAgPHNwYW5cbiAgICAgICAgY2xhc3M9XCJ2YWwtcGlsbFwiXG4gICAgICAgIFtjbGFzcy52YWwtcGlsbC0tY2xpY2thYmxlXT1cInJlc29sdmVkUHJvcHMuY2xpY2thYmxlXCJcbiAgICAgICAgW2NsYXNzLnZhbC1waWxsLS1zb2xpZF09XCJyZXNvbHZlZFByb3BzLnNvbGlkXCJcbiAgICAgICAgW2NsYXNzLnZhbC1waWxsLS1zbWFsbF09XCJwaWxsU2l6ZSA9PT0gJ3NtYWxsJ1wiXG4gICAgICAgIFtjbGFzcy52YWwtcGlsbC0tbWVkaXVtXT1cInBpbGxTaXplID09PSAnbWVkaXVtJ1wiXG4gICAgICAgIFtjbGFzcy52YWwtcGlsbC0tbGFyZ2VdPVwicGlsbFNpemUgPT09ICdsYXJnZSdcIlxuICAgICAgICBbY2xhc3MudmFsLXBpbGwtLXctbm9ybWFsXT1cInBpbGxXZWlnaHQgPT09ICdub3JtYWwnXCJcbiAgICAgICAgW2NsYXNzLnZhbC1waWxsLS13LW1lZGl1bV09XCJwaWxsV2VpZ2h0ID09PSAnbWVkaXVtJ1wiXG4gICAgICAgIFtjbGFzcy52YWwtcGlsbC0tdy1ib2xkXT1cInBpbGxXZWlnaHQgPT09ICdib2xkJ1wiXG4gICAgICAgIFtzdHlsZS4tLXZhbC1waWxsLWNvbG9yXT1cIid2YXIoLS1pb24tY29sb3ItJyArIHBpbGxDb2xvciArICcpJ1wiXG4gICAgICAgIFtzdHlsZS4tLXZhbC1waWxsLWNvbG9yLXJnYl09XCIndmFyKC0taW9uLWNvbG9yLScgKyBwaWxsQ29sb3IgKyAnLXJnYiknXCJcbiAgICAgICAgW3N0eWxlLi0tdmFsLXBpbGwtY29sb3ItY29udHJhc3RdPVwiJ3ZhcigtLWlvbi1jb2xvci0nICsgcGlsbENvbG9yICsgJy1jb250cmFzdCknXCJcbiAgICAgICAgW2F0dHIucm9sZV09XCJyZXNvbHZlZFByb3BzLmNsaWNrYWJsZSA/ICdidXR0b24nIDogbnVsbFwiXG4gICAgICAgIFthdHRyLnRhYmluZGV4XT1cInJlc29sdmVkUHJvcHMuY2xpY2thYmxlID8gMCA6IG51bGxcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInJlc29sdmVkUHJvcHMuY2xpY2thYmxlID8gcmVzb2x2ZWRQcm9wcy5hcmlhTGFiZWwgfHwgcmVzb2x2ZWRQcm9wcy5sYWJlbCA6IG51bGxcIlxuICAgICAgICAoY2xpY2spPVwib25QaWxsQ2xpY2soKVwiXG4gICAgICAgIChrZXlkb3duLmVudGVyKT1cIm9uUGlsbENsaWNrKClcIlxuICAgICAgICAoa2V5ZG93bi5zcGFjZSk9XCJvblBpbGxDbGljaygkZXZlbnQpXCJcbiAgICAgID5cbiAgICAgICAgQGlmIChyZXNvbHZlZFByb3BzLmljb24pIHtcbiAgICAgICAgICA8aW9uLWljb24gY2xhc3M9XCJ2YWwtcGlsbF9faWNvblwiIFtuYW1lXT1cInJlc29sdmVkUHJvcHMuaWNvblwiIC8+XG4gICAgICAgIH1cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ2YWwtcGlsbF9fbGFiZWxcIj57eyByZXNvbHZlZFByb3BzLmxhYmVsIH19PC9zcGFuPlxuICAgICAgPC9zcGFuPlxuICAgIH1cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vcGlsbC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBQaWxsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICBwcml2YXRlIHByZXNldHMgPSBpbmplY3QoUHJlc2V0U2VydmljZSk7XG5cbiAgLyoqIE9wdGlvbmFsIHByZXNldCBuYW1lIHJlZ2lzdGVyZWQgdmlhIHByb3ZpZGVWYWx0ZWNoUHJlc2V0cygpLiAqL1xuICBASW5wdXQoKSBwcmVzZXQ/OiBzdHJpbmc7XG5cbiAgLyoqIFBpbGwgY29uZmlndXJhdGlvbi4gT3ZlcnJpZGVzIHByZXNldCB2YWx1ZXMgd2hlbiBib3RoIGFyZSBzZXQuICovXG4gIEBJbnB1dCgpIHByb3BzOiBQYXJ0aWFsPFBpbGxNZXRhZGF0YT4gPSB7fTtcblxuICAvKiogRW1pdHMgd2hlbiBhIGNsaWNrYWJsZSBiYWRnZSBwaWxsIGlzIGFjdGl2YXRlZC4gKi9cbiAgQE91dHB1dCgpIHBpbGxDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8UGlsbENsaWNrRXZlbnQ+KCk7XG5cbiAgLyoqIEVtaXRzIHdoZW4gYSBub3RpZmljYXRpb24tcGlsbCBhY3Rpb24gYnV0dG9uIGlzIHByZXNzZWQuICovXG4gIEBPdXRwdXQoKSBwaWxsQWN0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjxQaWxsQWN0aW9uRXZlbnQ+KCk7XG5cbiAgcmVzb2x2ZWRQcm9wczogUGlsbE1ldGFkYXRhID0ge30gYXMgUGlsbE1ldGFkYXRhO1xuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMucmVzb2x2ZVByb3BzKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKGNoYW5nZXNbJ3ByZXNldCddIHx8IGNoYW5nZXNbJ3Byb3BzJ10pIHRoaXMucmVzb2x2ZVByb3BzKCk7XG4gIH1cblxuICBwcml2YXRlIHJlc29sdmVQcm9wcygpOiB2b2lkIHtcbiAgICBjb25zdCBwcmVzZXRQcm9wcyA9IHRoaXMucHJlc2V0ID8gKHRoaXMucHJlc2V0cy5nZXQoJ3BpbGwnLCB0aGlzLnByZXNldCkgYXMgUGFydGlhbDxQaWxsTWV0YWRhdGE+KSA6IHt9O1xuICAgIHRoaXMucmVzb2x2ZWRQcm9wcyA9IHsgLi4ucHJlc2V0UHJvcHMsIC4uLnRoaXMucHJvcHMgfSBhcyBQaWxsTWV0YWRhdGE7XG4gIH1cblxuICBnZXQgaXNOb3RpZmljYXRpb25QaWxsKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMucmVzb2x2ZWRQcm9wcy5ub3RpZmljYXRpb24gJiYgIXRoaXMucmVzb2x2ZWRQcm9wcy5sYWJlbDtcbiAgfVxuXG4gIGdldCBpc1RleHRQaWxsKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMucmVzb2x2ZWRQcm9wcy5sYWJlbDtcbiAgfVxuXG4gIGdldCBwaWxsQ29sb3IoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5yZXNvbHZlZFByb3BzLmNvbG9yIHx8ICdtZWRpdW0nO1xuICB9XG4gIGdldCBwaWxsV2VpZ2h0KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMucmVzb2x2ZWRQcm9wcy53ZWlnaHQgfHwgJ21lZGl1bSc7XG4gIH1cbiAgZ2V0IHBpbGxTaXplKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMucmVzb2x2ZWRQcm9wcy5zaXplIHx8ICdzbWFsbCc7XG4gIH1cblxuICBnZXRJY29uQ29sb3IoKTogc3RyaW5nIHtcbiAgICBjb25zdCBjID0gdGhpcy5yZXNvbHZlZFByb3BzLm5vdGlmaWNhdGlvbj8uaWNvbkNvbG9yIHx8ICd3YXJuaW5nJztcbiAgICByZXR1cm4gSU9OSUNfQ09MT1JTLmluY2x1ZGVzKGMpID8gYHZhcigtLWlvbi1jb2xvci0ke2N9KWAgOiBjO1xuICB9XG5cbiAgb25QaWxsQ2xpY2soZXZlbnQ/OiBFdmVudCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5yZXNvbHZlZFByb3BzLmNsaWNrYWJsZSkgcmV0dXJuO1xuICAgIGV2ZW50Py5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHRoaXMucGlsbENsaWNrLmVtaXQoeyB0b2tlbjogdGhpcy5yZXNvbHZlZFByb3BzLnRva2VuLCBsYWJlbDogdGhpcy5yZXNvbHZlZFByb3BzLmxhYmVsIH0pO1xuICB9XG5cbiAgb25BY3Rpb25DbGljayhhY3Rpb25Ub2tlbjogc3RyaW5nLCBldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMucGlsbEFjdGlvbi5lbWl0KHsgYWN0aW9uVG9rZW4sIHBpbGxUb2tlbjogdGhpcy5yZXNvbHZlZFByb3BzLnRva2VuIH0pO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,183 @@
1
+ import { Component, computed, effect, inject, input, signal } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { IonSpinner } from '@ionic/angular/standalone';
4
+ import { QrCodeComponent } from '../../atoms/qr-code/qr-code.component';
5
+ import { QrGeneratorService } from '../../../services/qr-generator/qr-generator.service';
6
+ import { I18nService } from '../../../services/i18n';
7
+ import { TICKET_CARD_I18N } from './ticket-card.i18n';
8
+ import * as i0 from "@angular/core";
9
+ /**
10
+ * val-ticket-card
11
+ *
12
+ * Tarjeta presentacional de una entrada de bingo: muestra el QR escaneable
13
+ * (generado del `qrToken` opaco firmado vía `QrGeneratorService`), el folio, el
14
+ * nombre del comprador (si hay) y un badge de estado (vendida / canjeada).
15
+ *
16
+ * Es la pieza que el vendedor le entrega al comprador tras la venta y que la
17
+ * taquilla escanea para canjear. Object-first (`input()` signal), i18n
18
+ * auto-registrado (namespace `TicketCard`). Estados negativos/neutros en gris
19
+ * muted (convención del factory — sin rojo de alarma).
20
+ *
21
+ * @example
22
+ * ```html
23
+ * <val-ticket-card [props]="{ qrToken: ticket.qrToken, folio: ticket.folio,
24
+ * buyerName: ticket.compradorNombre, status: 'sold', showShare: true }" />
25
+ * ```
26
+ */
27
+ export class TicketCardComponent {
28
+ constructor() {
29
+ /** Props object-first del componente. */
30
+ this.props = input.required();
31
+ this.qrService = inject(QrGeneratorService);
32
+ this.i18n = inject(I18nService);
33
+ /** QR generado (null mientras carga o si falló). */
34
+ this.qr = signal(null);
35
+ /** Falló la generación del QR → fallback al token corto. */
36
+ this.failed = signal(false);
37
+ this.status = computed(() => this.props().status ?? 'neutral');
38
+ this.tokenShort = computed(() => {
39
+ const tk = this.props().qrToken ?? '';
40
+ return tk.length > 16 ? `${tk.slice(0, 16)}…` : tk;
41
+ });
42
+ this.folioText = computed(() => {
43
+ this.i18n.lang();
44
+ const folio = this.props().folio;
45
+ if (folio === undefined || folio === null || folio === '')
46
+ return '';
47
+ const label = this.props().folioLabel ?? this.t('folio');
48
+ return `${label} #${folio}`;
49
+ });
50
+ this.statusLabel = computed(() => {
51
+ this.i18n.lang();
52
+ const status = this.status();
53
+ if (status === 'sold') {
54
+ return this.props().statusSoldLabel ?? this.t('statusSold');
55
+ }
56
+ if (status === 'checkedIn') {
57
+ return this.props().statusCheckedInLabel ?? this.t('statusCheckedIn');
58
+ }
59
+ return '';
60
+ });
61
+ if (!this.i18n.hasNamespace('TicketCard')) {
62
+ this.i18n.registerContent('TicketCard', TICKET_CARD_I18N);
63
+ }
64
+ // Regenera el QR cuando cambia el token o el tamaño.
65
+ effect(() => {
66
+ const token = this.props().qrToken;
67
+ const size = this.props().qrSize ?? 200;
68
+ if (!token) {
69
+ this.qr.set(null);
70
+ this.failed.set(false);
71
+ return;
72
+ }
73
+ void this.generate(token, size);
74
+ }, { allowSignalWrites: true });
75
+ }
76
+ async generate(data, size) {
77
+ this.failed.set(false);
78
+ try {
79
+ const result = await this.qrService.generate({
80
+ data,
81
+ width: size,
82
+ height: size,
83
+ margin: 1,
84
+ dotsStyle: 'square',
85
+ dotsColor: '#000000',
86
+ backgroundColor: '#ffffff',
87
+ errorCorrectionLevel: 'M',
88
+ format: 'png',
89
+ });
90
+ this.qr.set(result);
91
+ }
92
+ catch {
93
+ // Sin toast/throw — el fallback muestra el token corto. El consumer
94
+ // sigue pudiendo canjear tipeando/escaneando si hace falta.
95
+ this.qr.set(null);
96
+ this.failed.set(true);
97
+ }
98
+ }
99
+ t(key) {
100
+ return this.i18n.t(key, 'TicketCard');
101
+ }
102
+ qrProps(q) {
103
+ const p = this.props();
104
+ return {
105
+ qr: q,
106
+ displaySize: p.qrSize ?? 200,
107
+ showDownload: p.showDownload ?? false,
108
+ showShare: p.showShare ?? false,
109
+ showBorder: false,
110
+ alt: this.folioText() || 'QR',
111
+ downloadLabel: this.t('download'),
112
+ shareLabel: this.t('share'),
113
+ shareTitle: p.title || this.folioText() || 'QR',
114
+ };
115
+ }
116
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TicketCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
117
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: TicketCardComponent, isStandalone: true, selector: "val-ticket-card", inputs: { props: { classPropertyName: "props", publicName: "props", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
118
+ <div class="ticket-card">
119
+ @if (props().title) {
120
+ <div class="ticket-card__title">{{ props().title }}</div>
121
+ }
122
+
123
+ <div class="ticket-card__qr">
124
+ @if (qr(); as q) {
125
+ <val-qr-code [props]="qrProps(q)" />
126
+ } @else if (failed()) {
127
+ <div class="ticket-card__qr-fallback">{{ tokenShort() }}</div>
128
+ } @else {
129
+ <div class="ticket-card__qr-loading">
130
+ <ion-spinner name="crescent" />
131
+ </div>
132
+ }
133
+ </div>
134
+
135
+ <div class="ticket-card__meta">
136
+ @if (folioText(); as f) {
137
+ <div class="ticket-card__folio">{{ f }}</div>
138
+ }
139
+ @if (props().buyerName) {
140
+ <div class="ticket-card__buyer">{{ props().buyerName }}</div>
141
+ }
142
+ @if (statusLabel(); as s) {
143
+ <span class="ticket-card__badge" [attr.data-status]="status()">{{ s }}</span>
144
+ }
145
+ </div>
146
+ </div>
147
+ `, isInline: true, styles: ["@charset \"UTF-8\";:host{display:block}.ticket-card{display:flex;flex-direction:column;align-items:center;gap:12px;padding:20px;border:1px solid var(--ion-color-light-shade, #e0e0e0);border-radius:16px;background:var(--ion-card-background, #ffffff);max-width:320px;margin:0 auto}.ticket-card__title{font-size:1rem;font-weight:700;color:var(--ion-color-dark);text-align:center}.ticket-card__qr{display:flex;align-items:center;justify-content:center;min-height:200px}.ticket-card__qr-loading{display:flex;align-items:center;justify-content:center;width:200px;height:200px}.ticket-card__qr-fallback{font-family:monospace;font-size:.75rem;color:var(--ion-color-medium);word-break:break-all;text-align:center;padding:16px}.ticket-card__meta{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.ticket-card__folio{font-size:1rem;font-weight:700;color:var(--ion-color-dark)}.ticket-card__buyer{font-size:.875rem;color:var(--ion-color-medium)}.ticket-card__badge{margin-top:4px;font-size:.75rem;font-weight:600;padding:3px 12px;border-radius:999px;background:var(--ion-color-medium);color:var(--ion-color-medium-contrast, #fff);white-space:nowrap}.ticket-card__badge[data-status=sold]{background:var(--ion-color-success, #2dd36f);color:var(--ion-color-success-contrast, #fff)}.ticket-card__badge[data-status=checkedIn]{background:var(--ion-color-medium);color:var(--ion-color-medium-contrast, #fff)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: IonSpinner, selector: "ion-spinner", inputs: ["color", "duration", "name", "paused"] }, { kind: "component", type: QrCodeComponent, selector: "val-qr-code", inputs: ["props"], outputs: ["actionComplete", "imageLoad", "imageError"] }] }); }
148
+ }
149
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TicketCardComponent, decorators: [{
150
+ type: Component,
151
+ args: [{ selector: 'val-ticket-card', standalone: true, imports: [CommonModule, IonSpinner, QrCodeComponent], template: `
152
+ <div class="ticket-card">
153
+ @if (props().title) {
154
+ <div class="ticket-card__title">{{ props().title }}</div>
155
+ }
156
+
157
+ <div class="ticket-card__qr">
158
+ @if (qr(); as q) {
159
+ <val-qr-code [props]="qrProps(q)" />
160
+ } @else if (failed()) {
161
+ <div class="ticket-card__qr-fallback">{{ tokenShort() }}</div>
162
+ } @else {
163
+ <div class="ticket-card__qr-loading">
164
+ <ion-spinner name="crescent" />
165
+ </div>
166
+ }
167
+ </div>
168
+
169
+ <div class="ticket-card__meta">
170
+ @if (folioText(); as f) {
171
+ <div class="ticket-card__folio">{{ f }}</div>
172
+ }
173
+ @if (props().buyerName) {
174
+ <div class="ticket-card__buyer">{{ props().buyerName }}</div>
175
+ }
176
+ @if (statusLabel(); as s) {
177
+ <span class="ticket-card__badge" [attr.data-status]="status()">{{ s }}</span>
178
+ }
179
+ </div>
180
+ </div>
181
+ `, styles: ["@charset \"UTF-8\";:host{display:block}.ticket-card{display:flex;flex-direction:column;align-items:center;gap:12px;padding:20px;border:1px solid var(--ion-color-light-shade, #e0e0e0);border-radius:16px;background:var(--ion-card-background, #ffffff);max-width:320px;margin:0 auto}.ticket-card__title{font-size:1rem;font-weight:700;color:var(--ion-color-dark);text-align:center}.ticket-card__qr{display:flex;align-items:center;justify-content:center;min-height:200px}.ticket-card__qr-loading{display:flex;align-items:center;justify-content:center;width:200px;height:200px}.ticket-card__qr-fallback{font-family:monospace;font-size:.75rem;color:var(--ion-color-medium);word-break:break-all;text-align:center;padding:16px}.ticket-card__meta{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.ticket-card__folio{font-size:1rem;font-weight:700;color:var(--ion-color-dark)}.ticket-card__buyer{font-size:.875rem;color:var(--ion-color-medium)}.ticket-card__badge{margin-top:4px;font-size:.75rem;font-weight:600;padding:3px 12px;border-radius:999px;background:var(--ion-color-medium);color:var(--ion-color-medium-contrast, #fff);white-space:nowrap}.ticket-card__badge[data-status=sold]{background:var(--ion-color-success, #2dd36f);color:var(--ion-color-success-contrast, #fff)}.ticket-card__badge[data-status=checkedIn]{background:var(--ion-color-medium);color:var(--ion-color-medium-contrast, #fff)}\n"] }]
182
+ }], ctorParameters: () => [] });
183
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlja2V0LWNhcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy90aWNrZXQtY2FyZC90aWNrZXQtY2FyZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25GLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRXhFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBRXpGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUVyRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7QUFFdEQ7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBaUJHO0FBc0NILE1BQU0sT0FBTyxtQkFBbUI7SUFZOUI7UUFYQSx5Q0FBeUM7UUFDaEMsVUFBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQXNCLENBQUM7UUFFOUMsY0FBUyxHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ3ZDLFNBQUksR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFbkMsb0RBQW9EO1FBQzNDLE9BQUUsR0FBRyxNQUFNLENBQWtCLElBQUksQ0FBQyxDQUFDO1FBQzVDLDREQUE0RDtRQUNuRCxXQUFNLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBa0R2QixXQUFNLEdBQUcsUUFBUSxDQUFtQixHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsTUFBTSxJQUFJLFNBQVMsQ0FBQyxDQUFDO1FBRTVFLGVBQVUsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ2xDLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDO1lBQ3RDLE9BQU8sRUFBRSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ3JELENBQUMsQ0FBQyxDQUFDO1FBRU0sY0FBUyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDakMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNqQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQ2pDLElBQUksS0FBSyxLQUFLLFNBQVMsSUFBSSxLQUFLLEtBQUssSUFBSSxJQUFJLEtBQUssS0FBSyxFQUFFO2dCQUFFLE9BQU8sRUFBRSxDQUFDO1lBQ3JFLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN6RCxPQUFPLEdBQUcsS0FBSyxLQUFLLEtBQUssRUFBRSxDQUFDO1FBQzlCLENBQUMsQ0FBQyxDQUFDO1FBRU0sZ0JBQVcsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ25DLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDakIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzdCLElBQUksTUFBTSxLQUFLLE1BQU0sRUFBRSxDQUFDO2dCQUN0QixPQUFPLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxlQUFlLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUM5RCxDQUFDO1lBQ0QsSUFBSSxNQUFNLEtBQUssV0FBVyxFQUFFLENBQUM7Z0JBQzNCLE9BQU8sSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLG9CQUFvQixJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQztZQUN4RSxDQUFDO1lBQ0QsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDLENBQUMsQ0FBQztRQXhFRCxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQztZQUMxQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUM1RCxDQUFDO1FBRUQscURBQXFEO1FBQ3JELE1BQU0sQ0FDSixHQUFHLEVBQUU7WUFDSCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsT0FBTyxDQUFDO1lBQ25DLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxNQUFNLElBQUksR0FBRyxDQUFDO1lBQ3hDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDWCxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDbEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3ZCLE9BQU87WUFDVCxDQUFDO1lBQ0QsS0FBSyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNsQyxDQUFDLEVBQ0QsRUFBRSxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsQ0FDNUIsQ0FBQztJQUNKLENBQUM7SUFFTyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQVksRUFBRSxJQUFZO1FBQy9DLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZCLElBQUksQ0FBQztZQUNILE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUM7Z0JBQzNDLElBQUk7Z0JBQ0osS0FBSyxFQUFFLElBQUk7Z0JBQ1gsTUFBTSxFQUFFLElBQUk7Z0JBQ1osTUFBTSxFQUFFLENBQUM7Z0JBQ1QsU0FBUyxFQUFFLFFBQVE7Z0JBQ25CLFNBQVMsRUFBRSxTQUFTO2dCQUNwQixlQUFlLEVBQUUsU0FBUztnQkFDMUIsb0JBQW9CLEVBQUUsR0FBRztnQkFDekIsTUFBTSxFQUFFLEtBQUs7YUFDZCxDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN0QixDQUFDO1FBQUMsTUFBTSxDQUFDO1lBQ1Asb0VBQW9FO1lBQ3BFLDREQUE0RDtZQUM1RCxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNsQixJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4QixDQUFDO0lBQ0gsQ0FBQztJQUVELENBQUMsQ0FBQyxHQUFXO1FBQ1gsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQTZCRCxPQUFPLENBQUMsQ0FBVztRQUNqQixNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDdkIsT0FBTztZQUNMLEVBQUUsRUFBRSxDQUFDO1lBQ0wsV0FBVyxFQUFFLENBQUMsQ0FBQyxNQUFNLElBQUksR0FBRztZQUM1QixZQUFZLEVBQUUsQ0FBQyxDQUFDLFlBQVksSUFBSSxLQUFLO1lBQ3JDLFNBQVMsRUFBRSxDQUFDLENBQUMsU0FBUyxJQUFJLEtBQUs7WUFDL0IsVUFBVSxFQUFFLEtBQUs7WUFDakIsR0FBRyxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxJQUFJO1lBQzdCLGFBQWEsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQztZQUNqQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7WUFDM0IsVUFBVSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLElBQUk7U0FDaEQsQ0FBQztJQUNKLENBQUM7K0dBcEdVLG1CQUFtQjttR0FBbkIsbUJBQW1CLDhNQWpDcEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQThCVCxzOUNBL0JTLFlBQVksK0JBQUUsVUFBVSx5R0FBRSxlQUFlOzs0RkFrQ3hDLG1CQUFtQjtrQkFyQy9CLFNBQVM7K0JBQ0UsaUJBQWlCLGNBQ2YsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLFVBQVUsRUFBRSxlQUFlLENBQUMsWUFDMUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQThCVCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgY29tcHV0ZWQsIGVmZmVjdCwgaW5qZWN0LCBpbnB1dCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSW9uU3Bpbm5lciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuXG5pbXBvcnQgeyBRckNvZGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi9hdG9tcy9xci1jb2RlL3FyLWNvZGUuY29tcG9uZW50JztcbmltcG9ydCB7IFFyQ29kZU1ldGFkYXRhIH0gZnJvbSAnLi4vLi4vYXRvbXMvcXItY29kZS90eXBlcyc7XG5pbXBvcnQgeyBRckdlbmVyYXRvclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9xci1nZW5lcmF0b3IvcXItZ2VuZXJhdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHsgUXJSZXN1bHQgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9xci1nZW5lcmF0b3IvdHlwZXMnO1xuaW1wb3J0IHsgSTE4blNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9pMThuJztcbmltcG9ydCB7IFRpY2tldENhcmRNZXRhZGF0YSwgVGlja2V0Q2FyZFN0YXR1cyB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgVElDS0VUX0NBUkRfSTE4TiB9IGZyb20gJy4vdGlja2V0LWNhcmQuaTE4bic7XG5cbi8qKlxuICogdmFsLXRpY2tldC1jYXJkXG4gKlxuICogVGFyamV0YSBwcmVzZW50YWNpb25hbCBkZSB1bmEgZW50cmFkYSBkZSBiaW5nbzogbXVlc3RyYSBlbCBRUiBlc2NhbmVhYmxlXG4gKiAoZ2VuZXJhZG8gZGVsIGBxclRva2VuYCBvcGFjbyBmaXJtYWRvIHbDrWEgYFFyR2VuZXJhdG9yU2VydmljZWApLCBlbCBmb2xpbywgZWxcbiAqIG5vbWJyZSBkZWwgY29tcHJhZG9yIChzaSBoYXkpIHkgdW4gYmFkZ2UgZGUgZXN0YWRvICh2ZW5kaWRhIC8gY2FuamVhZGEpLlxuICpcbiAqIEVzIGxhIHBpZXphIHF1ZSBlbCB2ZW5kZWRvciBsZSBlbnRyZWdhIGFsIGNvbXByYWRvciB0cmFzIGxhIHZlbnRhIHkgcXVlIGxhXG4gKiB0YXF1aWxsYSBlc2NhbmVhIHBhcmEgY2FuamVhci4gT2JqZWN0LWZpcnN0IChgaW5wdXQoKWAgc2lnbmFsKSwgaTE4blxuICogYXV0by1yZWdpc3RyYWRvIChuYW1lc3BhY2UgYFRpY2tldENhcmRgKS4gRXN0YWRvcyBuZWdhdGl2b3MvbmV1dHJvcyBlbiBncmlzXG4gKiBtdXRlZCAoY29udmVuY2nDs24gZGVsIGZhY3Rvcnkg4oCUIHNpbiByb2pvIGRlIGFsYXJtYSkuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYGh0bWxcbiAqIDx2YWwtdGlja2V0LWNhcmQgW3Byb3BzXT1cInsgcXJUb2tlbjogdGlja2V0LnFyVG9rZW4sIGZvbGlvOiB0aWNrZXQuZm9saW8sXG4gKiAgIGJ1eWVyTmFtZTogdGlja2V0LmNvbXByYWRvck5vbWJyZSwgc3RhdHVzOiAnc29sZCcsIHNob3dTaGFyZTogdHJ1ZSB9XCIgLz5cbiAqIGBgYFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtdGlja2V0LWNhcmQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBJb25TcGlubmVyLCBRckNvZGVDb21wb25lbnRdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJ0aWNrZXQtY2FyZFwiPlxuICAgICAgQGlmIChwcm9wcygpLnRpdGxlKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0aWNrZXQtY2FyZF9fdGl0bGVcIj57eyBwcm9wcygpLnRpdGxlIH19PC9kaXY+XG4gICAgICB9XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJ0aWNrZXQtY2FyZF9fcXJcIj5cbiAgICAgICAgQGlmIChxcigpOyBhcyBxKSB7XG4gICAgICAgICAgPHZhbC1xci1jb2RlIFtwcm9wc109XCJxclByb3BzKHEpXCIgLz5cbiAgICAgICAgfSBAZWxzZSBpZiAoZmFpbGVkKCkpIHtcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGlja2V0LWNhcmRfX3FyLWZhbGxiYWNrXCI+e3sgdG9rZW5TaG9ydCgpIH19PC9kaXY+XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aWNrZXQtY2FyZF9fcXItbG9hZGluZ1wiPlxuICAgICAgICAgICAgPGlvbi1zcGlubmVyIG5hbWU9XCJjcmVzY2VudFwiIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwidGlja2V0LWNhcmRfX21ldGFcIj5cbiAgICAgICAgQGlmIChmb2xpb1RleHQoKTsgYXMgZikge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aWNrZXQtY2FyZF9fZm9saW9cIj57eyBmIH19PC9kaXY+XG4gICAgICAgIH1cbiAgICAgICAgQGlmIChwcm9wcygpLmJ1eWVyTmFtZSkge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aWNrZXQtY2FyZF9fYnV5ZXJcIj57eyBwcm9wcygpLmJ1eWVyTmFtZSB9fTwvZGl2PlxuICAgICAgICB9XG4gICAgICAgIEBpZiAoc3RhdHVzTGFiZWwoKTsgYXMgcykge1xuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGlja2V0LWNhcmRfX2JhZGdlXCIgW2F0dHIuZGF0YS1zdGF0dXNdPVwic3RhdHVzKClcIj57eyBzIH19PC9zcGFuPlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vdGlja2V0LWNhcmQuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGlja2V0Q2FyZENvbXBvbmVudCB7XG4gIC8qKiBQcm9wcyBvYmplY3QtZmlyc3QgZGVsIGNvbXBvbmVudGUuICovXG4gIHJlYWRvbmx5IHByb3BzID0gaW5wdXQucmVxdWlyZWQ8VGlja2V0Q2FyZE1ldGFkYXRhPigpO1xuXG4gIHByaXZhdGUgcXJTZXJ2aWNlID0gaW5qZWN0KFFyR2VuZXJhdG9yU2VydmljZSk7XG4gIHByaXZhdGUgaTE4biA9IGluamVjdChJMThuU2VydmljZSk7XG5cbiAgLyoqIFFSIGdlbmVyYWRvIChudWxsIG1pZW50cmFzIGNhcmdhIG8gc2kgZmFsbMOzKS4gKi9cbiAgcmVhZG9ubHkgcXIgPSBzaWduYWw8UXJSZXN1bHQgfCBudWxsPihudWxsKTtcbiAgLyoqIEZhbGzDsyBsYSBnZW5lcmFjacOzbiBkZWwgUVIg4oaSIGZhbGxiYWNrIGFsIHRva2VuIGNvcnRvLiAqL1xuICByZWFkb25seSBmYWlsZWQgPSBzaWduYWwoZmFsc2UpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGlmICghdGhpcy5pMThuLmhhc05hbWVzcGFjZSgnVGlja2V0Q2FyZCcpKSB7XG4gICAgICB0aGlzLmkxOG4ucmVnaXN0ZXJDb250ZW50KCdUaWNrZXRDYXJkJywgVElDS0VUX0NBUkRfSTE4Tik7XG4gICAgfVxuXG4gICAgLy8gUmVnZW5lcmEgZWwgUVIgY3VhbmRvIGNhbWJpYSBlbCB0b2tlbiBvIGVsIHRhbWHDsW8uXG4gICAgZWZmZWN0KFxuICAgICAgKCkgPT4ge1xuICAgICAgICBjb25zdCB0b2tlbiA9IHRoaXMucHJvcHMoKS5xclRva2VuO1xuICAgICAgICBjb25zdCBzaXplID0gdGhpcy5wcm9wcygpLnFyU2l6ZSA/PyAyMDA7XG4gICAgICAgIGlmICghdG9rZW4pIHtcbiAgICAgICAgICB0aGlzLnFyLnNldChudWxsKTtcbiAgICAgICAgICB0aGlzLmZhaWxlZC5zZXQoZmFsc2UpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB2b2lkIHRoaXMuZ2VuZXJhdGUodG9rZW4sIHNpemUpO1xuICAgICAgfSxcbiAgICAgIHsgYWxsb3dTaWduYWxXcml0ZXM6IHRydWUgfVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGdlbmVyYXRlKGRhdGE6IHN0cmluZywgc2l6ZTogbnVtYmVyKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5mYWlsZWQuc2V0KGZhbHNlKTtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5xclNlcnZpY2UuZ2VuZXJhdGUoe1xuICAgICAgICBkYXRhLFxuICAgICAgICB3aWR0aDogc2l6ZSxcbiAgICAgICAgaGVpZ2h0OiBzaXplLFxuICAgICAgICBtYXJnaW46IDEsXG4gICAgICAgIGRvdHNTdHlsZTogJ3NxdWFyZScsXG4gICAgICAgIGRvdHNDb2xvcjogJyMwMDAwMDAnLFxuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6ICcjZmZmZmZmJyxcbiAgICAgICAgZXJyb3JDb3JyZWN0aW9uTGV2ZWw6ICdNJyxcbiAgICAgICAgZm9ybWF0OiAncG5nJyxcbiAgICAgIH0pO1xuICAgICAgdGhpcy5xci5zZXQocmVzdWx0KTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIC8vIFNpbiB0b2FzdC90aHJvdyDigJQgZWwgZmFsbGJhY2sgbXVlc3RyYSBlbCB0b2tlbiBjb3J0by4gRWwgY29uc3VtZXJcbiAgICAgIC8vIHNpZ3VlIHB1ZGllbmRvIGNhbmplYXIgdGlwZWFuZG8vZXNjYW5lYW5kbyBzaSBoYWNlIGZhbHRhLlxuICAgICAgdGhpcy5xci5zZXQobnVsbCk7XG4gICAgICB0aGlzLmZhaWxlZC5zZXQodHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgdChrZXk6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaTE4bi50KGtleSwgJ1RpY2tldENhcmQnKTtcbiAgfVxuXG4gIHJlYWRvbmx5IHN0YXR1cyA9IGNvbXB1dGVkPFRpY2tldENhcmRTdGF0dXM+KCgpID0+IHRoaXMucHJvcHMoKS5zdGF0dXMgPz8gJ25ldXRyYWwnKTtcblxuICByZWFkb25seSB0b2tlblNob3J0ID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IHRrID0gdGhpcy5wcm9wcygpLnFyVG9rZW4gPz8gJyc7XG4gICAgcmV0dXJuIHRrLmxlbmd0aCA+IDE2ID8gYCR7dGsuc2xpY2UoMCwgMTYpfeKApmAgOiB0aztcbiAgfSk7XG5cbiAgcmVhZG9ubHkgZm9saW9UZXh0ID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIHRoaXMuaTE4bi5sYW5nKCk7XG4gICAgY29uc3QgZm9saW8gPSB0aGlzLnByb3BzKCkuZm9saW87XG4gICAgaWYgKGZvbGlvID09PSB1bmRlZmluZWQgfHwgZm9saW8gPT09IG51bGwgfHwgZm9saW8gPT09ICcnKSByZXR1cm4gJyc7XG4gICAgY29uc3QgbGFiZWwgPSB0aGlzLnByb3BzKCkuZm9saW9MYWJlbCA/PyB0aGlzLnQoJ2ZvbGlvJyk7XG4gICAgcmV0dXJuIGAke2xhYmVsfSAjJHtmb2xpb31gO1xuICB9KTtcblxuICByZWFkb25seSBzdGF0dXNMYWJlbCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICB0aGlzLmkxOG4ubGFuZygpO1xuICAgIGNvbnN0IHN0YXR1cyA9IHRoaXMuc3RhdHVzKCk7XG4gICAgaWYgKHN0YXR1cyA9PT0gJ3NvbGQnKSB7XG4gICAgICByZXR1cm4gdGhpcy5wcm9wcygpLnN0YXR1c1NvbGRMYWJlbCA/PyB0aGlzLnQoJ3N0YXR1c1NvbGQnKTtcbiAgICB9XG4gICAgaWYgKHN0YXR1cyA9PT0gJ2NoZWNrZWRJbicpIHtcbiAgICAgIHJldHVybiB0aGlzLnByb3BzKCkuc3RhdHVzQ2hlY2tlZEluTGFiZWwgPz8gdGhpcy50KCdzdGF0dXNDaGVja2VkSW4nKTtcbiAgICB9XG4gICAgcmV0dXJuICcnO1xuICB9KTtcblxuICBxclByb3BzKHE6IFFyUmVzdWx0KTogUXJDb2RlTWV0YWRhdGEge1xuICAgIGNvbnN0IHAgPSB0aGlzLnByb3BzKCk7XG4gICAgcmV0dXJuIHtcbiAgICAgIHFyOiBxLFxuICAgICAgZGlzcGxheVNpemU6IHAucXJTaXplID8/IDIwMCxcbiAgICAgIHNob3dEb3dubG9hZDogcC5zaG93RG93bmxvYWQgPz8gZmFsc2UsXG4gICAgICBzaG93U2hhcmU6IHAuc2hvd1NoYXJlID8/IGZhbHNlLFxuICAgICAgc2hvd0JvcmRlcjogZmFsc2UsXG4gICAgICBhbHQ6IHRoaXMuZm9saW9UZXh0KCkgfHwgJ1FSJyxcbiAgICAgIGRvd25sb2FkTGFiZWw6IHRoaXMudCgnZG93bmxvYWQnKSxcbiAgICAgIHNoYXJlTGFiZWw6IHRoaXMudCgnc2hhcmUnKSxcbiAgICAgIHNoYXJlVGl0bGU6IHAudGl0bGUgfHwgdGhpcy5mb2xpb1RleHQoKSB8fCAnUVInLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Defaults i18n (es/en) del `val-ticket-card`. Auto-registrados en el
3
+ * constructor del componente (namespace `TicketCard`) — el consumer NUNCA tiene
4
+ * que registrarlos. Override pasando los labels por props o registrando el
5
+ * namespace antes de montar el componente.
6
+ */
7
+ export const TICKET_CARD_I18N = {
8
+ es: {
9
+ folio: 'Folio',
10
+ statusSold: 'Vendida',
11
+ statusCheckedIn: 'Canjeada',
12
+ download: 'Descargar',
13
+ share: 'Compartir',
14
+ },
15
+ en: {
16
+ folio: 'Folio',
17
+ statusSold: 'Sold',
18
+ statusCheckedIn: 'Checked in',
19
+ download: 'Download',
20
+ share: 'Share',
21
+ },
22
+ };
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlja2V0LWNhcmQuaTE4bi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvdGlja2V0LWNhcmQvdGlja2V0LWNhcmQuaTE4bi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7R0FLRztBQUNILE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHO0lBQzlCLEVBQUUsRUFBRTtRQUNGLEtBQUssRUFBRSxPQUFPO1FBQ2QsVUFBVSxFQUFFLFNBQVM7UUFDckIsZUFBZSxFQUFFLFVBQVU7UUFDM0IsUUFBUSxFQUFFLFdBQVc7UUFDckIsS0FBSyxFQUFFLFdBQVc7S0FDbkI7SUFDRCxFQUFFLEVBQUU7UUFDRixLQUFLLEVBQUUsT0FBTztRQUNkLFVBQVUsRUFBRSxNQUFNO1FBQ2xCLGVBQWUsRUFBRSxZQUFZO1FBQzdCLFFBQVEsRUFBRSxVQUFVO1FBQ3BCLEtBQUssRUFBRSxPQUFPO0tBQ2Y7Q0FDTyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBEZWZhdWx0cyBpMThuIChlcy9lbikgZGVsIGB2YWwtdGlja2V0LWNhcmRgLiBBdXRvLXJlZ2lzdHJhZG9zIGVuIGVsXG4gKiBjb25zdHJ1Y3RvciBkZWwgY29tcG9uZW50ZSAobmFtZXNwYWNlIGBUaWNrZXRDYXJkYCkg4oCUIGVsIGNvbnN1bWVyIE5VTkNBIHRpZW5lXG4gKiBxdWUgcmVnaXN0cmFybG9zLiBPdmVycmlkZSBwYXNhbmRvIGxvcyBsYWJlbHMgcG9yIHByb3BzIG8gcmVnaXN0cmFuZG8gZWxcbiAqIG5hbWVzcGFjZSBhbnRlcyBkZSBtb250YXIgZWwgY29tcG9uZW50ZS5cbiAqL1xuZXhwb3J0IGNvbnN0IFRJQ0tFVF9DQVJEX0kxOE4gPSB7XG4gIGVzOiB7XG4gICAgZm9saW86ICdGb2xpbycsXG4gICAgc3RhdHVzU29sZDogJ1ZlbmRpZGEnLFxuICAgIHN0YXR1c0NoZWNrZWRJbjogJ0NhbmplYWRhJyxcbiAgICBkb3dubG9hZDogJ0Rlc2NhcmdhcicsXG4gICAgc2hhcmU6ICdDb21wYXJ0aXInLFxuICB9LFxuICBlbjoge1xuICAgIGZvbGlvOiAnRm9saW8nLFxuICAgIHN0YXR1c1NvbGQ6ICdTb2xkJyxcbiAgICBzdGF0dXNDaGVja2VkSW46ICdDaGVja2VkIGluJyxcbiAgICBkb3dubG9hZDogJ0Rvd25sb2FkJyxcbiAgICBzaGFyZTogJ1NoYXJlJyxcbiAgfSxcbn0gYXMgY29uc3Q7XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL3RpY2tldC1jYXJkL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEVzdGFkbyBkZSBjYW5qZS92ZW50YSBxdWUgZWwgdGlja2V0LWNhcmQgcmVmbGVqYSBlbiBzdSBiYWRnZS5cbiAqXG4gKiAtIGBzb2xkYCDigJQgZW50cmFkYSB2ZW5kaWRhLCB0b2RhdsOtYSBubyBjYW5qZWFkYSAoUVIgdsOhbGlkbyBwYXJhIGNhbmplYXIpLlxuICogLSBgY2hlY2tlZEluYCDigJQgZW50cmFkYSB5YSBjYW5qZWFkYSAoUVIgeWEgdXNhZG8gZW4gcHVlcnRhKS5cbiAqIC0gYG5ldXRyYWxgIOKAlCBzaW4gZXN0YWRvIGRlc3RhY2FkbyAocC5lai4gc29sbyBzZSBtdWVzdHJhIGVsIFFSKS5cbiAqL1xuZXhwb3J0IHR5cGUgVGlja2V0Q2FyZFN0YXR1cyA9ICdzb2xkJyB8ICdjaGVja2VkSW4nIHwgJ25ldXRyYWwnO1xuXG4vKipcbiAqIE1ldGFkYXRhIChvYmplY3QtZmlyc3QpIGRlbCBjb21wb25lbnRlIGB2YWwtdGlja2V0LWNhcmRgLlxuICpcbiAqIFRhcmpldGEgcHJlc2VudGFjaW9uYWwgZGUgdW5hIGVudHJhZGE6IG11ZXN0cmEgZWwgUVIgKGdlbmVyYWRvIGEgcGFydGlyIGRlbFxuICogYHFyVG9rZW5gIG9wYWNvIGZpcm1hZG8pLCBlbCBmb2xpbywgZWwgbm9tYnJlIGRlbCBjb21wcmFkb3IgKHNpIGhheSkgeSB1blxuICogYmFkZ2UgZGUgZXN0YWRvLiBOTyB0cmFlIHRleHRvIHByb3BpbyBmaWpvIOKAlCBlbCBjb25zdW1lciBwYXNhIGxvcyBsYWJlbHMgeWFcbiAqIHJlc3VlbHRvcyAoYHN0YXR1c1NvbGRMYWJlbGAgLyBgc3RhdHVzQ2hlY2tlZEluTGFiZWxgIC8gYGZvbGlvTGFiZWxgKS4gRWxcbiAqIMO6bmljbyB0ZXh0byBhdXRvLWkxOG4gc29uIGxvcyBkZWZhdWx0cyBkZSBlc29zIGxhYmVscyAobmFtZXNwYWNlIGBUaWNrZXRDYXJkYCkuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVGlja2V0Q2FyZE1ldGFkYXRhIHtcbiAgLyoqXG4gICAqIFRva2VuIG9wYWNvIGZpcm1hZG8gcXVlIHZhIERFTlRSTyBkZWwgUVIgZXNjYW5lYWJsZSAoZm9ybWF0b1xuICAgKiBgYmFzZTY0dXJsLmJhc2U2NHVybGApLiBFcyBleGFjdGFtZW50ZSBlbCBkYXRvIHF1ZSBsYSB0YXF1aWxsYSBtYW5kYSBhbFxuICAgKiBlbmRwb2ludCBkZSBjYW5qZS4gRWwgY29tcG9uZW50ZSBsbyBjb2RpZmljYSBlbiBlbCBRUiB0YWwgY3VhbC5cbiAgICovXG4gIHFyVG9rZW46IHN0cmluZztcblxuICAvKiogRm9saW8gZGUgbGEgZW50cmFkYSAobsO6bWVybyB2aXNpYmxlIGp1bnRvIGFsIFFSKS4gKi9cbiAgZm9saW8/OiBudW1iZXIgfCBzdHJpbmc7XG5cbiAgLyoqIE5vbWJyZSBkZWwgY29tcHJhZG9yLCBzaSBzZSBjYXB0dXLDsyBlbiBsYSB2ZW50YS4gKi9cbiAgYnV5ZXJOYW1lPzogc3RyaW5nO1xuXG4gIC8qKiBFc3RhZG8gZGUgbGEgZW50cmFkYSAoY29udHJvbGEgZWwgY29sb3IvbGFiZWwgZGVsIGJhZGdlKS4gKi9cbiAgc3RhdHVzPzogVGlja2V0Q2FyZFN0YXR1cztcblxuICAvKiogVMOtdHVsbyBkZSBsYSB0YXJqZXRhIChlai4gbm9tYnJlIGRlbCBldmVudG8pLiBPcGNpb25hbC4gKi9cbiAgdGl0bGU/OiBzdHJpbmc7XG5cbiAgLyoqIFRhbWHDsW8gZGVsIFFSIGVuIHB4IChkZWZhdWx0IDIwMCkuICovXG4gIHFyU2l6ZT86IG51bWJlcjtcblxuICAvKiogTW9zdHJhciBib3TDs24gZGUgZGVzY2FyZ2EgZGVsIFFSLiAqL1xuICBzaG93RG93bmxvYWQ/OiBib29sZWFuO1xuICAvKiogTW9zdHJhciBib3TDs24gZGUgY29tcGFydGlyIGVsIFFSLiAqL1xuICBzaG93U2hhcmU/OiBib29sZWFuO1xuXG4gIC8vID09PSBMYWJlbHMgKG92ZXJyaWRlIGRlbCBhdXRvLWkxOG4pID09PVxuICAvKiogTGFiZWwgZGVsIHByZWZpam8gZGUgZm9saW8gKGRlZmF1bHQgaTE4bjogXCJGb2xpb1wiKS4gKi9cbiAgZm9saW9MYWJlbD86IHN0cmluZztcbiAgLyoqIExhYmVsIGRlbCBiYWRnZSBjdWFuZG8gYHN0YXR1cyA9PT0gJ3NvbGQnYCAoZGVmYXVsdDogXCJWZW5kaWRhXCIpLiAqL1xuICBzdGF0dXNTb2xkTGFiZWw/OiBzdHJpbmc7XG4gIC8qKiBMYWJlbCBkZWwgYmFkZ2UgY3VhbmRvIGBzdGF0dXMgPT09ICdjaGVja2VkSW4nYCAoZGVmYXVsdDogXCJDYW5qZWFkYVwiKS4gKi9cbiAgc3RhdHVzQ2hlY2tlZEluTGFiZWw/OiBzdHJpbmc7XG59XG4iXX0=
@@ -163,7 +163,7 @@ export class UpdateBannerComponent {
163
163
  </div>
164
164
  </div>
165
165
  }
166
- `, isInline: true, styles: ["@charset \"UTF-8\";:host{display:contents}.val-update-banner{position:fixed;top:0;left:0;right:0;z-index:1100;display:flex;justify-content:center;padding:calc(12px + env(safe-area-inset-top,0px)) 16px 12px;pointer-events:none}.val-update-banner__backdrop{position:fixed;inset:0;z-index:-1;background:#0000008c;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);pointer-events:auto}.val-update-banner__panel{pointer-events:auto;display:flex;flex-direction:row;align-items:center;gap:12px;width:100%;max-width:640px;padding:12px 16px;background:var(--ion-background-color, #fff);border:1px solid var(--val-border-color, rgba(0, 0, 0, .08));border-radius:var(--val-border-radius, 12px);box-shadow:0 4px 24px #0000001f;animation:val-update-banner-in .25s ease-out}.val-update-banner--required{align-items:center;height:100%}.val-update-banner--required .val-update-banner__panel{flex-direction:column;text-align:center;max-width:420px}.val-update-banner__icon{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;background:color-mix(in srgb,var(--ion-color-primary) 14%,transparent)}.val-update-banner--required .val-update-banner__icon{background:color-mix(in srgb,var(--ion-color-warning) 16%,transparent)}.val-update-banner__body{flex:1 1 auto;display:flex;flex-direction:column;gap:2px;min-width:0}.val-update-banner__actions{flex:0 0 auto;display:flex;flex-direction:row;align-items:center;gap:4px}.val-update-banner--required .val-update-banner__actions{margin-top:8px}@keyframes val-update-banner-in{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 540px){.val-update-banner__panel{flex-direction:column;text-align:center}.val-update-banner__actions{width:100%;justify-content:center}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: TextComponent, selector: "val-text", inputs: ["props"] }, { kind: "component", type: ButtonComponent, selector: "val-button", inputs: ["preset", "props"], outputs: ["onClick"] }, { kind: "component", type: IconComponent, selector: "val-icon", inputs: ["props"] }] }); }
166
+ `, isInline: true, styles: ["@charset \"UTF-8\";:host{display:contents}.val-update-banner{position:fixed;top:0;left:0;right:0;z-index:1100;display:flex;justify-content:center;padding:calc(12px + env(safe-area-inset-top,0px)) 16px 12px;pointer-events:none}.val-update-banner__backdrop{position:fixed;inset:0;z-index:-1;background:#0000008c;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);pointer-events:auto}.val-update-banner__panel{pointer-events:auto;display:flex;flex-direction:row;align-items:center;gap:12px;width:100%;max-width:640px;padding:12px 16px;background:var(--ion-background-color, #fff);border:1px solid var(--val-border-color, rgba(0, 0, 0, .08));border-radius:var(--val-border-radius, 12px);box-shadow:0 4px 24px #0000001f;animation:val-update-banner-in .25s ease-out}.val-update-banner--required{align-items:center;height:100%}.val-update-banner--required .val-update-banner__panel{flex-direction:column;text-align:center;max-width:420px}.val-update-banner__icon{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;background:color-mix(in srgb,var(--ion-color-primary) 14%,transparent);font-size:22px}.val-update-banner__icon val-icon{display:flex;line-height:0}.val-update-banner__icon ::ng-deep ion-icon{display:block}.val-update-banner--required .val-update-banner__icon{background:color-mix(in srgb,var(--ion-color-warning) 16%,transparent)}.val-update-banner__body{flex:1 1 auto;display:flex;flex-direction:column;gap:2px;min-width:0}.val-update-banner__actions{flex:0 0 auto;display:flex;flex-direction:row;align-items:center;gap:4px}.val-update-banner--required .val-update-banner__actions{margin-top:8px}@keyframes val-update-banner-in{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 540px){.val-update-banner__panel{flex-direction:column;text-align:center}.val-update-banner__actions{width:100%;justify-content:center}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: TextComponent, selector: "val-text", inputs: ["props"] }, { kind: "component", type: ButtonComponent, selector: "val-button", inputs: ["preset", "props"], outputs: ["onClick"] }, { kind: "component", type: IconComponent, selector: "val-icon", inputs: ["props"] }] }); }
167
167
  }
168
168
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UpdateBannerComponent, decorators: [{
169
169
  type: Component,
@@ -238,6 +238,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
238
238
  </div>
239
239
  </div>
240
240
  }
241
- `, styles: ["@charset \"UTF-8\";:host{display:contents}.val-update-banner{position:fixed;top:0;left:0;right:0;z-index:1100;display:flex;justify-content:center;padding:calc(12px + env(safe-area-inset-top,0px)) 16px 12px;pointer-events:none}.val-update-banner__backdrop{position:fixed;inset:0;z-index:-1;background:#0000008c;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);pointer-events:auto}.val-update-banner__panel{pointer-events:auto;display:flex;flex-direction:row;align-items:center;gap:12px;width:100%;max-width:640px;padding:12px 16px;background:var(--ion-background-color, #fff);border:1px solid var(--val-border-color, rgba(0, 0, 0, .08));border-radius:var(--val-border-radius, 12px);box-shadow:0 4px 24px #0000001f;animation:val-update-banner-in .25s ease-out}.val-update-banner--required{align-items:center;height:100%}.val-update-banner--required .val-update-banner__panel{flex-direction:column;text-align:center;max-width:420px}.val-update-banner__icon{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;background:color-mix(in srgb,var(--ion-color-primary) 14%,transparent)}.val-update-banner--required .val-update-banner__icon{background:color-mix(in srgb,var(--ion-color-warning) 16%,transparent)}.val-update-banner__body{flex:1 1 auto;display:flex;flex-direction:column;gap:2px;min-width:0}.val-update-banner__actions{flex:0 0 auto;display:flex;flex-direction:row;align-items:center;gap:4px}.val-update-banner--required .val-update-banner__actions{margin-top:8px}@keyframes val-update-banner-in{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 540px){.val-update-banner__panel{flex-direction:column;text-align:center}.val-update-banner__actions{width:100%;justify-content:center}}\n"] }]
241
+ `, styles: ["@charset \"UTF-8\";:host{display:contents}.val-update-banner{position:fixed;top:0;left:0;right:0;z-index:1100;display:flex;justify-content:center;padding:calc(12px + env(safe-area-inset-top,0px)) 16px 12px;pointer-events:none}.val-update-banner__backdrop{position:fixed;inset:0;z-index:-1;background:#0000008c;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);pointer-events:auto}.val-update-banner__panel{pointer-events:auto;display:flex;flex-direction:row;align-items:center;gap:12px;width:100%;max-width:640px;padding:12px 16px;background:var(--ion-background-color, #fff);border:1px solid var(--val-border-color, rgba(0, 0, 0, .08));border-radius:var(--val-border-radius, 12px);box-shadow:0 4px 24px #0000001f;animation:val-update-banner-in .25s ease-out}.val-update-banner--required{align-items:center;height:100%}.val-update-banner--required .val-update-banner__panel{flex-direction:column;text-align:center;max-width:420px}.val-update-banner__icon{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;background:color-mix(in srgb,var(--ion-color-primary) 14%,transparent);font-size:22px}.val-update-banner__icon val-icon{display:flex;line-height:0}.val-update-banner__icon ::ng-deep ion-icon{display:block}.val-update-banner--required .val-update-banner__icon{background:color-mix(in srgb,var(--ion-color-warning) 16%,transparent)}.val-update-banner__body{flex:1 1 auto;display:flex;flex-direction:column;gap:2px;min-width:0}.val-update-banner__actions{flex:0 0 auto;display:flex;flex-direction:row;align-items:center;gap:4px}.val-update-banner--required .val-update-banner__actions{margin-top:8px}@keyframes val-update-banner-in{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 540px){.val-update-banner__panel{flex-direction:column;text-align:center}.val-update-banner__actions{width:100%;justify-content:center}}\n"] }]
242
242
  }] });
243
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLWJhbm5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL3VwZGF0ZS1iYW5uZXIvdXBkYXRlLWJhbm5lci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTVELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUN0RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNoRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxTQUFTLENBQUM7O0FBRXRGOzs7Ozs7Ozs7OztHQVdHO0FBK0VILE1BQU0sT0FBTyxxQkFBcUI7SUE5RWxDO1FBK0VtQixZQUFPLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDcEMsU0FBSSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUU1Qzs7V0FFRztRQUNNLGFBQVEsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsS0FBSyxpQkFBaUIsQ0FBQyxDQUFDO1FBRWhGOzs7O1dBSUc7UUFDTSxZQUFPLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUMvQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3JDLElBQUksTUFBTSxLQUFLLGlCQUFpQjtnQkFBRSxPQUFPLElBQUksQ0FBQztZQUM5QyxJQUFJLE1BQU0sS0FBSyxrQkFBa0I7Z0JBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDcEUsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDLENBQUMsQ0FBQztRQUVIOzs7V0FHRztRQUNNLE1BQUMsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ3pCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyx5QkFBeUI7WUFDM0MsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ25DLE9BQU87Z0JBQ0wsS0FBSyxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDO2dCQUMvRCxPQUFPLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQztnQkFDckUsWUFBWSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDO2dCQUNyQyxhQUFhLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQUM7YUFDeEMsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0tBMEJKO0lBeEJDLGtFQUFrRTtJQUNsRSxRQUFRO1FBQ04sS0FBSyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFRCw4REFBOEQ7SUFDOUQsU0FBUztRQUNQLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVEOzs7T0FHRztJQUNLLEVBQUUsQ0FBQyxHQUFrRDtRQUMzRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsNEJBQTRCLENBQUMsQ0FBQztRQUM3RCxJQUFJLEtBQUssSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFFbEQsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUM5QixNQUFNLElBQUksR0FDUiw2QkFBNkIsQ0FBQyxJQUFrRCxDQUFDO1lBQ2pGLDZCQUE2QixDQUFDLEVBQUUsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNuQixDQUFDOytHQTNEVSxxQkFBcUI7bUdBQXJCLHFCQUFxQiw2RUExRXRCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVFVCwrMURBeEVTLFlBQVksK0JBQUUsYUFBYSx3RUFBRSxlQUFlLDBHQUFFLGFBQWE7OzRGQTJFMUQscUJBQXFCO2tCQTlFakMsU0FBUzsrQkFDRSxtQkFBbUIsY0FDakIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGFBQWEsRUFBRSxlQUFlLEVBQUUsYUFBYSxDQUFDLFlBQzVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVFVCIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVXBkYXRlQmFubmVyQ29tcG9uZW50XG4gKlxuICogQmFubmVyIHF1ZSBhdmlzYSBhbCB1c3VhcmlvIGN1YW5kbyBoYXkgdW5hIHZlcnNpw7NuIG51ZXZhIGRlIGxhIGFwcC5cbiAqIENvbnN1bWUgYEFwcFZlcnNpb25TZXJ2aWNlYCAobm8gdG9jYSBgU3dVcGRhdGVgIG5pIGBBcHBDb25maWdTZXJ2aWNlYFxuICogZGlyZWN0YW1lbnRlKSB5IHNvcG9ydGEgZG9zIG1vZG9zOlxuICpcbiAqIC0gYHVwZGF0ZS1hdmFpbGFibGVgIOKAlCBiYW5uZXIgZGVzY2FydGFibGU6IG1lbnNhamUgKyBib3TDs24gXCJBY3R1YWxpemFyXCJcbiAqICAgKyBib3TDs24gY2VycmFyLlxuICogLSBgdXBkYXRlLXJlcXVpcmVkYCDigJQgb3ZlcmxheSBibG9xdWVhbnRlIG5vLWRlc2NhcnRhYmxlIChoYXJkIGdhdGUpOlxuICogICBtZW5zYWplICsgYm90w7NuIFwiQWN0dWFsaXphclwiLiBTaW4gYm90w7NuIGNlcnJhci5cbiAqXG4gKiBDdWFuZG8gZWwgZXN0YWRvIGVzIGB1cC10by1kYXRlYCAobyBlbCB1c3VhcmlvIGRlc2NhcnTDsyBlbCBiYW5uZXIgb3BjaW9uYWwpXG4gKiBubyByZW5kZXJpemEgbmFkYS5cbiAqL1xuXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBjb21wdXRlZCwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEkxOG5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvaTE4bic7XG5pbXBvcnQgeyBBcHBWZXJzaW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2FwcC12ZXJzaW9uL2FwcC12ZXJzaW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgSWNvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2F0b21zL2ljb24vaWNvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGV4dENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2F0b21zL3RleHQvdGV4dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVVBEQVRFX0JBTk5FUl9ERUZBVUxUX0NPTlRFTlQsIFVQREFURV9CQU5ORVJfSTE4Tl9OQU1FU1BBQ0UgfSBmcm9tICcuL3R5cGVzJztcblxuLyoqXG4gKiB2YWwtdXBkYXRlLWJhbm5lclxuICpcbiAqIEF2aXNhIGFsIHVzdWFyaW8gZGUgdW5hIHZlcnNpw7NuIG51ZXZhLiBDb2zDs2NhbG8gdW5hIHNvbGEgdmV6LCBhbHRvIGVuIGVsXG4gKiDDoXJib2wgZGUgbGEgYXBwIChwLmVqLiBlbiBgYXBwLmNvbXBvbmVudGAgcG9yIGVuY2ltYSBkZWwgcm91dGVyIG91dGxldClcbiAqIHBhcmEgcXVlIHNlYSB2aXNpYmxlIGVuIGN1YWxxdWllciBydXRhLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGBodG1sXG4gKiA8dmFsLXVwZGF0ZS1iYW5uZXIgLz5cbiAqIGBgYFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtdXBkYXRlLWJhbm5lcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFRleHRDb21wb25lbnQsIEJ1dHRvbkNvbXBvbmVudCwgSWNvbkNvbXBvbmVudF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgQGlmICh2aXNpYmxlKCkpIHtcbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJ2YWwtdXBkYXRlLWJhbm5lclwiXG4gICAgICAgIFtjbGFzcy52YWwtdXBkYXRlLWJhbm5lci0tcmVxdWlyZWRdPVwicmVxdWlyZWQoKVwiXG4gICAgICAgIHJvbGU9XCJhbGVydFwiXG4gICAgICAgIFthdHRyLmFyaWEtbGl2ZV09XCJyZXF1aXJlZCgpID8gJ2Fzc2VydGl2ZScgOiAncG9saXRlJ1wiXG4gICAgICA+XG4gICAgICAgIEBpZiAocmVxdWlyZWQoKSkge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2YWwtdXBkYXRlLWJhbm5lcl9fYmFja2Ryb3BcIj48L2Rpdj5cbiAgICAgICAgfVxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ2YWwtdXBkYXRlLWJhbm5lcl9fcGFuZWxcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidmFsLXVwZGF0ZS1iYW5uZXJfX2ljb25cIj5cbiAgICAgICAgICAgIDx2YWwtaWNvblxuICAgICAgICAgICAgICBbcHJvcHNdPVwie1xuICAgICAgICAgICAgICAgIG5hbWU6IHJlcXVpcmVkKCkgPyAnd2FybmluZy1vdXRsaW5lJyA6ICdjbG91ZC1kb3dubG9hZC1vdXRsaW5lJyxcbiAgICAgICAgICAgICAgICBzaXplOiAnbGFyZ2UnLFxuICAgICAgICAgICAgICAgIGNvbG9yOiByZXF1aXJlZCgpID8gJ3dhcm5pbmcnIDogJ3ByaW1hcnknLFxuICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidmFsLXVwZGF0ZS1iYW5uZXJfX2JvZHlcIj5cbiAgICAgICAgICAgIDx2YWwtdGV4dFxuICAgICAgICAgICAgICBbcHJvcHNdPVwie1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IHQoKS50aXRsZSxcbiAgICAgICAgICAgICAgICBzaXplOiAnbWVkaXVtJyxcbiAgICAgICAgICAgICAgICBib2xkOiB0cnVlLFxuICAgICAgICAgICAgICAgIGNvbG9yOiAnZGFyaycsXG4gICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDx2YWwtdGV4dFxuICAgICAgICAgICAgICBbcHJvcHNdPVwie1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IHQoKS5tZXNzYWdlLFxuICAgICAgICAgICAgICAgIHNpemU6ICdzbWFsbCcsXG4gICAgICAgICAgICAgICAgYm9sZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgY29sb3I6ICdtZWRpdW0nLFxuICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidmFsLXVwZGF0ZS1iYW5uZXJfX2FjdGlvbnNcIj5cbiAgICAgICAgICAgIDx2YWwtYnV0dG9uXG4gICAgICAgICAgICAgIFtwcm9wc109XCJ7XG4gICAgICAgICAgICAgICAgdGV4dDogdCgpLnVwZGF0ZUFjdGlvbixcbiAgICAgICAgICAgICAgICBjb2xvcjogJ3ByaW1hcnknLFxuICAgICAgICAgICAgICAgIGZpbGw6ICdzb2xpZCcsXG4gICAgICAgICAgICAgICAgc2l6ZTogJ3NtYWxsJyxcbiAgICAgICAgICAgICAgICBzdGF0ZTogJ0VOQUJMRUQnLFxuICAgICAgICAgICAgICAgIHR5cGU6ICdidXR0b24nLFxuICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgKG9uQ2xpY2spPVwib25VcGRhdGUoKVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgQGlmICghcmVxdWlyZWQoKSkge1xuICAgICAgICAgICAgICA8dmFsLWJ1dHRvblxuICAgICAgICAgICAgICAgIFtwcm9wc109XCJ7XG4gICAgICAgICAgICAgICAgICB0ZXh0OiB0KCkuZGlzbWlzc0FjdGlvbixcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiAnZGFyaycsXG4gICAgICAgICAgICAgICAgICBmaWxsOiAnY2xlYXInLFxuICAgICAgICAgICAgICAgICAgc2l6ZTogJ3NtYWxsJyxcbiAgICAgICAgICAgICAgICAgIHN0YXRlOiAnRU5BQkxFRCcsXG4gICAgICAgICAgICAgICAgICB0eXBlOiAnYnV0dG9uJyxcbiAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICAob25DbGljayk9XCJvbkRpc21pc3MoKVwiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgfVxuICBgLFxuICBzdHlsZVVybHM6IFsnLi91cGRhdGUtYmFubmVyLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFVwZGF0ZUJhbm5lckNvbXBvbmVudCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgdmVyc2lvbiA9IGluamVjdChBcHBWZXJzaW9uU2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgaTE4biA9IGluamVjdChJMThuU2VydmljZSk7XG5cbiAgLyoqXG4gICAqIFRydWUgY3VhbmRvIGVsIGJhbm5lciBlc3TDoSBlbiBtb2RvIG9ibGlnYXRvcmlvIChoYXJkIGdhdGUsIG5vIGRlc2NhcnRhYmxlKS5cbiAgICovXG4gIHJlYWRvbmx5IHJlcXVpcmVkID0gY29tcHV0ZWQoKCkgPT4gdGhpcy52ZXJzaW9uLnN0YXR1cygpID09PSAndXBkYXRlLXJlcXVpcmVkJyk7XG5cbiAgLyoqXG4gICAqIFRydWUgY3VhbmRvIGVsIGJhbm5lciBkZWJlIHJlbmRlcml6YXJzZTpcbiAgICogLSBzaWVtcHJlIHF1ZSBlbCBlc3RhZG8gc2VhIGB1cGRhdGUtcmVxdWlyZWRgLCBvXG4gICAqIC0gc2kgZXMgYHVwZGF0ZS1hdmFpbGFibGVgIHkgZWwgdXN1YXJpbyBubyBsbyBkZXNjYXJ0w7MuXG4gICAqL1xuICByZWFkb25seSB2aXNpYmxlID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IHN0YXR1cyA9IHRoaXMudmVyc2lvbi5zdGF0dXMoKTtcbiAgICBpZiAoc3RhdHVzID09PSAndXBkYXRlLXJlcXVpcmVkJykgcmV0dXJuIHRydWU7XG4gICAgaWYgKHN0YXR1cyA9PT0gJ3VwZGF0ZS1hdmFpbGFibGUnKSByZXR1cm4gIXRoaXMudmVyc2lvbi5kaXNtaXNzZWQoKTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH0pO1xuXG4gIC8qKlxuICAgKiBUZXh0b3MgcmVzb2x2aWRvcyBkZWwgYmFubmVyLiBSZWFjdGl2byBhIGlkaW9tYSB5IGFsIGVzdGFkbyByZXF1aXJlZC5cbiAgICogVXNhIGVsIG5hbWVzcGFjZSBgVXBkYXRlQmFubmVyYCBkZSBgSTE4blNlcnZpY2VgIGNvbiBmYWxsYmFjayBlbWJlYmlkby5cbiAgICovXG4gIHJlYWRvbmx5IHQgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgdGhpcy5pMThuLmxhbmcoKTsgLy8gdHJhY2sgcGFyYSByZWFjdGl2aWRhZFxuICAgIGNvbnN0IGlzUmVxdWlyZWQgPSB0aGlzLnJlcXVpcmVkKCk7XG4gICAgcmV0dXJuIHtcbiAgICAgIHRpdGxlOiB0aGlzLnRyKGlzUmVxdWlyZWQgPyAncmVxdWlyZWRUaXRsZScgOiAnYXZhaWxhYmxlVGl0bGUnKSxcbiAgICAgIG1lc3NhZ2U6IHRoaXMudHIoaXNSZXF1aXJlZCA/ICdyZXF1aXJlZE1lc3NhZ2UnIDogJ2F2YWlsYWJsZU1lc3NhZ2UnKSxcbiAgICAgIHVwZGF0ZUFjdGlvbjogdGhpcy50cigndXBkYXRlQWN0aW9uJyksXG4gICAgICBkaXNtaXNzQWN0aW9uOiB0aGlzLnRyKCdkaXNtaXNzQWN0aW9uJyksXG4gICAgfTtcbiAgfSk7XG5cbiAgLyoqIEFwbGljYSBsYSBhY3R1YWxpemFjacOzbiAoYWN0aXZhIGVsIFNXIHNpIGV4aXN0ZSArIHJlY2FyZ2EpLiAqL1xuICBvblVwZGF0ZSgpOiB2b2lkIHtcbiAgICB2b2lkIHRoaXMudmVyc2lvbi5hcHBseVVwZGF0ZSgpO1xuICB9XG5cbiAgLyoqIERlc2NhcnRhIGVsIGJhbm5lciBvcGNpb25hbC4gTm8tb3AgZW4gbW9kbyBvYmxpZ2F0b3Jpby4gKi9cbiAgb25EaXNtaXNzKCk6IHZvaWQge1xuICAgIHRoaXMudmVyc2lvbi5kaXNtaXNzKCk7XG4gIH1cblxuICAvKipcbiAgICogUmVzdWVsdmUgdW5hIGtleSBpMThuIGRlbCBuYW1lc3BhY2UgYFVwZGF0ZUJhbm5lcmAgY29uIGZhbGxiYWNrIGFsXG4gICAqIGNvbnRlbmlkbyBwb3IgZGVmZWN0byBlbWJlYmlkbyAoZXMgLyBlbiAvIHB0KS5cbiAgICovXG4gIHByaXZhdGUgdHIoa2V5OiBrZXlvZiB0eXBlb2YgVVBEQVRFX0JBTk5FUl9ERUZBVUxUX0NPTlRFTlQuZXMpOiBzdHJpbmcge1xuICAgIGNvbnN0IHZhbHVlID0gdGhpcy5pMThuLnQoa2V5LCBVUERBVEVfQkFOTkVSX0kxOE5fTkFNRVNQQUNFKTtcbiAgICBpZiAodmFsdWUgJiYgIXZhbHVlLnN0YXJ0c1dpdGgoJ1snKSkgcmV0dXJuIHZhbHVlO1xuXG4gICAgY29uc3QgbGFuZyA9IHRoaXMuaTE4bi5sYW5nKCk7XG4gICAgY29uc3QgcGFjayA9XG4gICAgICBVUERBVEVfQkFOTkVSX0RFRkFVTFRfQ09OVEVOVFtsYW5nIGFzIGtleW9mIHR5cGVvZiBVUERBVEVfQkFOTkVSX0RFRkFVTFRfQ09OVEVOVF0gPz9cbiAgICAgIFVQREFURV9CQU5ORVJfREVGQVVMVF9DT05URU5ULmVzO1xuICAgIHJldHVybiBwYWNrW2tleV07XG4gIH1cbn1cbiJdfQ==
243
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLWJhbm5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL3VwZGF0ZS1iYW5uZXIvdXBkYXRlLWJhbm5lci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTVELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUN0RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNoRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxTQUFTLENBQUM7O0FBRXRGOzs7Ozs7Ozs7OztHQVdHO0FBK0VILE1BQU0sT0FBTyxxQkFBcUI7SUE5RWxDO1FBK0VtQixZQUFPLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDcEMsU0FBSSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUU1Qzs7V0FFRztRQUNNLGFBQVEsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsS0FBSyxpQkFBaUIsQ0FBQyxDQUFDO1FBRWhGOzs7O1dBSUc7UUFDTSxZQUFPLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUMvQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3JDLElBQUksTUFBTSxLQUFLLGlCQUFpQjtnQkFBRSxPQUFPLElBQUksQ0FBQztZQUM5QyxJQUFJLE1BQU0sS0FBSyxrQkFBa0I7Z0JBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDcEUsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDLENBQUMsQ0FBQztRQUVIOzs7V0FHRztRQUNNLE1BQUMsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ3pCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyx5QkFBeUI7WUFDM0MsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ25DLE9BQU87Z0JBQ0wsS0FBSyxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDO2dCQUMvRCxPQUFPLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQztnQkFDckUsWUFBWSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDO2dCQUNyQyxhQUFhLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQUM7YUFDeEMsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0tBMEJKO0lBeEJDLGtFQUFrRTtJQUNsRSxRQUFRO1FBQ04sS0FBSyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFRCw4REFBOEQ7SUFDOUQsU0FBUztRQUNQLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVEOzs7T0FHRztJQUNLLEVBQUUsQ0FBQyxHQUFrRDtRQUMzRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsNEJBQTRCLENBQUMsQ0FBQztRQUM3RCxJQUFJLEtBQUssSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFFbEQsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUM5QixNQUFNLElBQUksR0FDUiw2QkFBNkIsQ0FBQyxJQUFrRCxDQUFDO1lBQ2pGLDZCQUE2QixDQUFDLEVBQUUsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNuQixDQUFDOytHQTNEVSxxQkFBcUI7bUdBQXJCLHFCQUFxQiw2RUExRXRCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVFVCxxK0RBeEVTLFlBQVksK0JBQUUsYUFBYSx3RUFBRSxlQUFlLDBHQUFFLGFBQWE7OzRGQTJFMUQscUJBQXFCO2tCQTlFakMsU0FBUzsrQkFDRSxtQkFBbUIsY0FDakIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGFBQWEsRUFBRSxlQUFlLEVBQUUsYUFBYSxDQUFDLFlBQzVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVFVCIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVXBkYXRlQmFubmVyQ29tcG9uZW50XG4gKlxuICogQmFubmVyIHF1ZSBhdmlzYSBhbCB1c3VhcmlvIGN1YW5kbyBoYXkgdW5hIHZlcnNpw7NuIG51ZXZhIGRlIGxhIGFwcC5cbiAqIENvbnN1bWUgYEFwcFZlcnNpb25TZXJ2aWNlYCAobm8gdG9jYSBgU3dVcGRhdGVgIG5pIGBBcHBDb25maWdTZXJ2aWNlYFxuICogZGlyZWN0YW1lbnRlKSB5IHNvcG9ydGEgZG9zIG1vZG9zOlxuICpcbiAqIC0gYHVwZGF0ZS1hdmFpbGFibGVgIOKAlCBiYW5uZXIgZGVzY2FydGFibGU6IG1lbnNhamUgKyBib3TDs24gXCJBY3R1YWxpemFyXCJcbiAqICAgKyBib3TDs24gY2VycmFyLlxuICogLSBgdXBkYXRlLXJlcXVpcmVkYCDigJQgb3ZlcmxheSBibG9xdWVhbnRlIG5vLWRlc2NhcnRhYmxlIChoYXJkIGdhdGUpOlxuICogICBtZW5zYWplICsgYm90w7NuIFwiQWN0dWFsaXphclwiLiBTaW4gYm90w7NuIGNlcnJhci5cbiAqXG4gKiBDdWFuZG8gZWwgZXN0YWRvIGVzIGB1cC10by1kYXRlYCAobyBlbCB1c3VhcmlvIGRlc2NhcnTDsyBlbCBiYW5uZXIgb3BjaW9uYWwpXG4gKiBubyByZW5kZXJpemEgbmFkYS5cbiAqL1xuXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBjb21wdXRlZCwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEkxOG5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvaTE4bic7XG5pbXBvcnQgeyBBcHBWZXJzaW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2FwcC12ZXJzaW9uL2FwcC12ZXJzaW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgSWNvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2F0b21zL2ljb24vaWNvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGV4dENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2F0b21zL3RleHQvdGV4dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVVBEQVRFX0JBTk5FUl9ERUZBVUxUX0NPTlRFTlQsIFVQREFURV9CQU5ORVJfSTE4Tl9OQU1FU1BBQ0UgfSBmcm9tICcuL3R5cGVzJztcblxuLyoqXG4gKiB2YWwtdXBkYXRlLWJhbm5lclxuICpcbiAqIEF2aXNhIGFsIHVzdWFyaW8gZGUgdW5hIHZlcnNpw7NuIG51ZXZhLiBDb2zDs2NhbG8gdW5hIHNvbGEgdmV6LCBhbHRvIGVuIGVsXG4gKiDDoXJib2wgZGUgbGEgYXBwIChwLmVqLiBlbiBgYXBwLmNvbXBvbmVudGAgcG9yIGVuY2ltYSBkZWwgcm91dGVyIG91dGxldClcbiAqIHBhcmEgcXVlIHNlYSB2aXNpYmxlIGVuIGN1YWxxdWllciBydXRhLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGBodG1sXG4gKiA8dmFsLXVwZGF0ZS1iYW5uZXIgLz5cbiAqIGBgYFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtdXBkYXRlLWJhbm5lcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFRleHRDb21wb25lbnQsIEJ1dHRvbkNvbXBvbmVudCwgSWNvbkNvbXBvbmVudF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgQGlmICh2aXNpYmxlKCkpIHtcbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJ2YWwtdXBkYXRlLWJhbm5lclwiXG4gICAgICAgIFtjbGFzcy52YWwtdXBkYXRlLWJhbm5lci0tcmVxdWlyZWRdPVwicmVxdWlyZWQoKVwiXG4gICAgICAgIHJvbGU9XCJhbGVydFwiXG4gICAgICAgIFthdHRyLmFyaWEtbGl2ZV09XCJyZXF1aXJlZCgpID8gJ2Fzc2VydGl2ZScgOiAncG9saXRlJ1wiXG4gICAgICA+XG4gICAgICAgIEBpZiAocmVxdWlyZWQoKSkge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2YWwtdXBkYXRlLWJhbm5lcl9fYmFja2Ryb3BcIj48L2Rpdj5cbiAgICAgICAgfVxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ2YWwtdXBkYXRlLWJhbm5lcl9fcGFuZWxcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidmFsLXVwZGF0ZS1iYW5uZXJfX2ljb25cIj5cbiAgICAgICAgICAgIDx2YWwtaWNvblxuICAgICAgICAgICAgICBbcHJvcHNdPVwie1xuICAgICAgICAgICAgICAgIG5hbWU6IHJlcXVpcmVkKCkgPyAnd2FybmluZy1vdXRsaW5lJyA6ICdjbG91ZC1kb3dubG9hZC1vdXRsaW5lJyxcbiAgICAgICAgICAgICAgICBzaXplOiAnbGFyZ2UnLFxuICAgICAgICAgICAgICAgIGNvbG9yOiByZXF1aXJlZCgpID8gJ3dhcm5pbmcnIDogJ3ByaW1hcnknLFxuICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidmFsLXVwZGF0ZS1iYW5uZXJfX2JvZHlcIj5cbiAgICAgICAgICAgIDx2YWwtdGV4dFxuICAgICAgICAgICAgICBbcHJvcHNdPVwie1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IHQoKS50aXRsZSxcbiAgICAgICAgICAgICAgICBzaXplOiAnbWVkaXVtJyxcbiAgICAgICAgICAgICAgICBib2xkOiB0cnVlLFxuICAgICAgICAgICAgICAgIGNvbG9yOiAnZGFyaycsXG4gICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDx2YWwtdGV4dFxuICAgICAgICAgICAgICBbcHJvcHNdPVwie1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IHQoKS5tZXNzYWdlLFxuICAgICAgICAgICAgICAgIHNpemU6ICdzbWFsbCcsXG4gICAgICAgICAgICAgICAgYm9sZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgY29sb3I6ICdtZWRpdW0nLFxuICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidmFsLXVwZGF0ZS1iYW5uZXJfX2FjdGlvbnNcIj5cbiAgICAgICAgICAgIDx2YWwtYnV0dG9uXG4gICAgICAgICAgICAgIFtwcm9wc109XCJ7XG4gICAgICAgICAgICAgICAgdGV4dDogdCgpLnVwZGF0ZUFjdGlvbixcbiAgICAgICAgICAgICAgICBjb2xvcjogJ3ByaW1hcnknLFxuICAgICAgICAgICAgICAgIGZpbGw6ICdzb2xpZCcsXG4gICAgICAgICAgICAgICAgc2l6ZTogJ3NtYWxsJyxcbiAgICAgICAgICAgICAgICBzdGF0ZTogJ0VOQUJMRUQnLFxuICAgICAgICAgICAgICAgIHR5cGU6ICdidXR0b24nLFxuICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgKG9uQ2xpY2spPVwib25VcGRhdGUoKVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgQGlmICghcmVxdWlyZWQoKSkge1xuICAgICAgICAgICAgICA8dmFsLWJ1dHRvblxuICAgICAgICAgICAgICAgIFtwcm9wc109XCJ7XG4gICAgICAgICAgICAgICAgICB0ZXh0OiB0KCkuZGlzbWlzc0FjdGlvbixcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiAnZGFyaycsXG4gICAgICAgICAgICAgICAgICBmaWxsOiAnY2xlYXInLFxuICAgICAgICAgICAgICAgICAgc2l6ZTogJ3NtYWxsJyxcbiAgICAgICAgICAgICAgICAgIHN0YXRlOiAnRU5BQkxFRCcsXG4gICAgICAgICAgICAgICAgICB0eXBlOiAnYnV0dG9uJyxcbiAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICAob25DbGljayk9XCJvbkRpc21pc3MoKVwiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgfVxuICBgLFxuICBzdHlsZVVybHM6IFsnLi91cGRhdGUtYmFubmVyLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFVwZGF0ZUJhbm5lckNvbXBvbmVudCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgdmVyc2lvbiA9IGluamVjdChBcHBWZXJzaW9uU2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgaTE4biA9IGluamVjdChJMThuU2VydmljZSk7XG5cbiAgLyoqXG4gICAqIFRydWUgY3VhbmRvIGVsIGJhbm5lciBlc3TDoSBlbiBtb2RvIG9ibGlnYXRvcmlvIChoYXJkIGdhdGUsIG5vIGRlc2NhcnRhYmxlKS5cbiAgICovXG4gIHJlYWRvbmx5IHJlcXVpcmVkID0gY29tcHV0ZWQoKCkgPT4gdGhpcy52ZXJzaW9uLnN0YXR1cygpID09PSAndXBkYXRlLXJlcXVpcmVkJyk7XG5cbiAgLyoqXG4gICAqIFRydWUgY3VhbmRvIGVsIGJhbm5lciBkZWJlIHJlbmRlcml6YXJzZTpcbiAgICogLSBzaWVtcHJlIHF1ZSBlbCBlc3RhZG8gc2VhIGB1cGRhdGUtcmVxdWlyZWRgLCBvXG4gICAqIC0gc2kgZXMgYHVwZGF0ZS1hdmFpbGFibGVgIHkgZWwgdXN1YXJpbyBubyBsbyBkZXNjYXJ0w7MuXG4gICAqL1xuICByZWFkb25seSB2aXNpYmxlID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IHN0YXR1cyA9IHRoaXMudmVyc2lvbi5zdGF0dXMoKTtcbiAgICBpZiAoc3RhdHVzID09PSAndXBkYXRlLXJlcXVpcmVkJykgcmV0dXJuIHRydWU7XG4gICAgaWYgKHN0YXR1cyA9PT0gJ3VwZGF0ZS1hdmFpbGFibGUnKSByZXR1cm4gIXRoaXMudmVyc2lvbi5kaXNtaXNzZWQoKTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH0pO1xuXG4gIC8qKlxuICAgKiBUZXh0b3MgcmVzb2x2aWRvcyBkZWwgYmFubmVyLiBSZWFjdGl2byBhIGlkaW9tYSB5IGFsIGVzdGFkbyByZXF1aXJlZC5cbiAgICogVXNhIGVsIG5hbWVzcGFjZSBgVXBkYXRlQmFubmVyYCBkZSBgSTE4blNlcnZpY2VgIGNvbiBmYWxsYmFjayBlbWJlYmlkby5cbiAgICovXG4gIHJlYWRvbmx5IHQgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgdGhpcy5pMThuLmxhbmcoKTsgLy8gdHJhY2sgcGFyYSByZWFjdGl2aWRhZFxuICAgIGNvbnN0IGlzUmVxdWlyZWQgPSB0aGlzLnJlcXVpcmVkKCk7XG4gICAgcmV0dXJuIHtcbiAgICAgIHRpdGxlOiB0aGlzLnRyKGlzUmVxdWlyZWQgPyAncmVxdWlyZWRUaXRsZScgOiAnYXZhaWxhYmxlVGl0bGUnKSxcbiAgICAgIG1lc3NhZ2U6IHRoaXMudHIoaXNSZXF1aXJlZCA/ICdyZXF1aXJlZE1lc3NhZ2UnIDogJ2F2YWlsYWJsZU1lc3NhZ2UnKSxcbiAgICAgIHVwZGF0ZUFjdGlvbjogdGhpcy50cigndXBkYXRlQWN0aW9uJyksXG4gICAgICBkaXNtaXNzQWN0aW9uOiB0aGlzLnRyKCdkaXNtaXNzQWN0aW9uJyksXG4gICAgfTtcbiAgfSk7XG5cbiAgLyoqIEFwbGljYSBsYSBhY3R1YWxpemFjacOzbiAoYWN0aXZhIGVsIFNXIHNpIGV4aXN0ZSArIHJlY2FyZ2EpLiAqL1xuICBvblVwZGF0ZSgpOiB2b2lkIHtcbiAgICB2b2lkIHRoaXMudmVyc2lvbi5hcHBseVVwZGF0ZSgpO1xuICB9XG5cbiAgLyoqIERlc2NhcnRhIGVsIGJhbm5lciBvcGNpb25hbC4gTm8tb3AgZW4gbW9kbyBvYmxpZ2F0b3Jpby4gKi9cbiAgb25EaXNtaXNzKCk6IHZvaWQge1xuICAgIHRoaXMudmVyc2lvbi5kaXNtaXNzKCk7XG4gIH1cblxuICAvKipcbiAgICogUmVzdWVsdmUgdW5hIGtleSBpMThuIGRlbCBuYW1lc3BhY2UgYFVwZGF0ZUJhbm5lcmAgY29uIGZhbGxiYWNrIGFsXG4gICAqIGNvbnRlbmlkbyBwb3IgZGVmZWN0byBlbWJlYmlkbyAoZXMgLyBlbiAvIHB0KS5cbiAgICovXG4gIHByaXZhdGUgdHIoa2V5OiBrZXlvZiB0eXBlb2YgVVBEQVRFX0JBTk5FUl9ERUZBVUxUX0NPTlRFTlQuZXMpOiBzdHJpbmcge1xuICAgIGNvbnN0IHZhbHVlID0gdGhpcy5pMThuLnQoa2V5LCBVUERBVEVfQkFOTkVSX0kxOE5fTkFNRVNQQUNFKTtcbiAgICBpZiAodmFsdWUgJiYgIXZhbHVlLnN0YXJ0c1dpdGgoJ1snKSkgcmV0dXJuIHZhbHVlO1xuXG4gICAgY29uc3QgbGFuZyA9IHRoaXMuaTE4bi5sYW5nKCk7XG4gICAgY29uc3QgcGFjayA9XG4gICAgICBVUERBVEVfQkFOTkVSX0RFRkFVTFRfQ09OVEVOVFtsYW5nIGFzIGtleW9mIHR5cGVvZiBVUERBVEVfQkFOTkVSX0RFRkFVTFRfQ09OVEVOVF0gPz9cbiAgICAgIFVQREFURV9CQU5ORVJfREVGQVVMVF9DT05URU5ULmVzO1xuICAgIHJldHVybiBwYWNrW2tleV07XG4gIH1cbn1cbiJdfQ==