@danske/sapphire-angular 1.21.1 → 1.23.0

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.
@@ -272,4 +272,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
272
272
  type: ViewChildren,
273
273
  args: [CdkOption]
274
274
  }] } });
275
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdGJveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2xpc3Rib3gvc3JjL2xpc3Rib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9saXN0Ym94L3NyYy9saXN0Ym94LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBSUwsU0FBUyxFQUNULGVBQWUsRUFFZixZQUFZLEVBQ1osVUFBVSxFQUNWLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULFNBQVMsRUFDVCxZQUFZLEdBQ2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLFVBQVUsRUFDVixTQUFTLEdBRVYsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckQsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUV0RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdkQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDckYsT0FBTyxFQUNMLGtCQUFrQixHQUVuQixNQUFNLG1DQUFtQyxDQUFDOzs7Ozs7QUF3QjNDLE1BQU0sT0FBTyxnQkFBZ0I7SUF3RTNCOzs7T0FHRztJQUNILElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQ2pELENBQUM7SUE0QkQsWUFBb0IsaUJBQW9DO1FBQXBDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFsR3hEOzs7V0FHRztRQUVILG1CQUFjLEdBQXNCLEVBQUUsQ0FBQztRQUV2Qzs7V0FFRztRQUVILHlCQUFvQixHQUFHLElBQUksWUFBWSxFQUFxQixDQUFDO1FBb0M3RCxTQUFJLEdBQWtDLE9BQU8sQ0FBQztRQUs5Qzs7V0FFRztRQUVILGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBR3RCLG1CQUFjLEdBQTRCLElBQUksU0FBUyxFQUFnQixDQUFDO1FBRXhFLGNBQVMsR0FBYSxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2pDLGFBQVEsR0FBRyxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7UUFrQjVCOzs7Ozs7O1dBT0c7UUFDSCx5QkFBb0IsR0FBc0IsRUFBRSxDQUFDO1FBQzdDOzs7Ozs7V0FNRztRQUNILCtCQUEwQixHQUFHLEtBQUssQ0FBQztJQUV3QixDQUFDO0lBRTVEOzs7Ozs7OztPQVFHO0lBQ0gsY0FBYyxDQUFDLGNBQXFDO1FBQ2xELElBQUksQ0FBQyxjQUFjLEdBQUcsY0FBYyxDQUFDO1FBQ3JDLG1GQUFtRjtRQUNuRixnR0FBZ0c7UUFDaEcsOENBQThDO1FBQzlDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN2QyxPQUFPO1lBQ0wsU0FBUyxFQUFFLENBQUMsS0FBb0IsRUFBRSxFQUFFO2dCQUNsQztnQkFDRSxzRkFBc0Y7Z0JBQ3RGO29CQUNFLFNBQVM7b0JBQ1QsV0FBVztvQkFDWCxNQUFNO29CQUNOLEtBQUs7b0JBQ0wsUUFBUTtvQkFDUixVQUFVO29CQUNWLE9BQU87aUJBQ1IsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUNyQjtvQkFDQSx3REFBd0Q7b0JBQ3hELElBQUksQ0FBQyxVQUFVLEVBQUUsY0FBYyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7aUJBQzFDO2dCQUNELElBQUksS0FBSyxDQUFDLEdBQUcsS0FBSyxXQUFXLElBQUksS0FBSyxDQUFDLEdBQUcsS0FBSyxZQUFZLEVBQUU7b0JBQzNELElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7aUJBQzVCO1lBQ0gsQ0FBQztZQUNELDBGQUEwRjtZQUMxRixzRkFBc0Y7WUFDdEYsc0VBQXNFO1lBQ3RFLE9BQU8sRUFBRSxHQUFHLEVBQUU7Z0JBQ1osSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO29CQUNuQixpREFBaUQ7b0JBQ2pELElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztpQkFDbEM7WUFDSCxDQUFDO1lBQ0QsTUFBTSxFQUFFLEdBQUcsRUFBRTtnQkFDWCxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7b0JBQ25CLGlEQUFpRDtvQkFDakQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO2lCQUNuQztZQUNILENBQUM7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVELFVBQVUsQ0FBQyxNQUF1QjtRQUNoQyxPQUFPLElBQUksQ0FBQyxjQUFjLEVBQUUsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxVQUFVLEVBQUUsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2pELElBQUksQ0FBQyxVQUFVLEVBQUUsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCxTQUFTO1FBQ1A7Ozs7O1dBS0c7UUFDSCxJQUFJLENBQUMsMEJBQTBCLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUM7SUFDckUsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixNQUFNLFdBQVcsR0FDZixJQUFJLENBQUMsY0FBYyxFQUFFLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQ3BDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsS0FBSyxLQUFLLEtBQUssQ0FBQyxDQUNoRSxJQUFJLEVBQUUsQ0FBQztRQUNWLElBQ0UsV0FBVyxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTTtZQUN2RCxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUM1QixDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssS0FBSyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQy9DLEVBQ0Q7WUFDQSxJQUFJLENBQUMsb0JBQW9CLEdBQUcsV0FBVyxDQUFDO1lBQ3hDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztTQUN4QztJQUNILENBQUM7SUFFRDs7O09BR0c7SUFDSCxlQUFlLENBQUMsS0FBb0I7UUFDbEMsTUFBTSxNQUFNLEdBQ1YsS0FBSyxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxLQUFLLEtBQUssQ0FBQyxDQUFDO1FBQ3JFLElBQUksTUFBTSxJQUFJLE1BQU0sS0FBSyxJQUFJLEVBQUU7WUFDN0IsK0dBQStHO1lBQy9HLElBQUksQ0FBQyxVQUFVLEVBQUUsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDM0M7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxlQUFlO1FBQ2Isa0dBQWtHO1FBQ2xHLE9BQU8sQ0FDSixJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQ2hDLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUMzQyxFQUFFLEtBQWdCLElBQUksSUFBSSxDQUM1QixDQUFDO0lBQ0osQ0FBQztJQUVELDhCQUE4QjtJQUM5QixnQkFBZ0IsQ0FBQyxFQUFPO1FBQ3RCLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFDRCxpQkFBaUIsQ0FBQyxFQUFPO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFDRCxnQkFBZ0IsQ0FBQyxVQUFtQjtRQUNsQyxJQUFJLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQztJQUM3QixDQUFDO0lBQ0QsVUFBVSxDQUFDLEdBQVE7UUFDakIsSUFBSSxDQUFDLGNBQWMsR0FBRyxHQUFHLENBQUM7SUFDNUIsQ0FBQztJQUNELCtCQUErQjtJQUUvQjs7T0FFRztJQUNILHNCQUFzQixDQUFDLEVBQUUsS0FBSyxFQUFtQztRQUMvRCxJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztRQUM1QixJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRDs7T0FFRztJQUNILFNBQVMsQ0FBQyxJQUFrQjtRQUMxQixPQUFPLElBQUksWUFBWSxlQUFlLENBQUM7SUFDekMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsVUFBVSxDQUFDLElBQWtCO1FBQzNCLE9BQU8sSUFBSSxZQUFZLGdCQUFnQixDQUFDO0lBQzFDLENBQUM7SUFFRDs7T0FFRztJQUNILHNCQUFzQjtRQUNwQixPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsbUJBQW1CO1FBQ2pCLE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN0QyxDQUFDOzs2R0EvUVUsZ0JBQWdCO2lHQUFoQixnQkFBZ0IsOGZBbEJoQjtRQUNUO1lBQ0UsT0FBTyxFQUFFLGlCQUFpQjtZQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGdCQUFnQixDQUFDO1lBQy9DLEtBQUssRUFBRSxJQUFJO1NBQ1o7UUFDRDtZQUNFLE9BQU8sRUFBRSxrQkFBa0I7WUFDM0IsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztTQUNoRDtRQUNELHlCQUF5QjtLQUMxQix5REF5RWdCLFlBQVkseUVBY2xCLFVBQVUsZ0VBR1AsU0FBUyx5RUMxSXpCLGt2RUFpRUE7QURxQkU7SUFEQyxhQUFhO2tEQUNVO0FBT3hCO0lBREMsYUFBYTtrREFDVTtBQVF4QjtJQURDLGFBQWE7Z0VBQ3VCOzJGQTlDMUIsZ0JBQWdCO2tCQXRCNUIsU0FBUzsrQkFDRSxZQUFZLGFBR1g7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsaUJBQWlCLENBQUM7NEJBQy9DLEtBQUssRUFBRSxJQUFJO3lCQUNaO3dCQUNEOzRCQUNFLE9BQU8sRUFBRSxrQkFBa0I7NEJBQzNCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLGlCQUFpQixDQUFDO3lCQUNoRDt3QkFDRCx5QkFBeUI7cUJBQzFCLFFBQ0s7d0JBQ0osbUJBQW1CLEVBQUUsTUFBTTt3QkFDM0Isd0JBQXdCLEVBQUUsTUFBTTtxQkFDakMsWUFDUyxXQUFXO3dHQWVyQixjQUFjO3NCQURiLEtBQUs7Z0JBT04sb0JBQW9CO3NCQURuQixNQUFNO2dCQVNQLFdBQVc7c0JBRFYsS0FBSzt1QkFBQyxnQkFBZ0I7Z0JBS3ZCLFFBQVE7c0JBRlAsS0FBSztnQkFTTixRQUFRO3NCQUZQLEtBQUs7Z0JBVU4sc0JBQXNCO3NCQUZyQixLQUFLO2dCQUtOLFNBQVM7c0JBRFIsS0FBSzt1QkFBQyxZQUFZO2dCQUluQixjQUFjO3NCQURiLEtBQUs7dUJBQUMsaUJBQWlCO2dCQUl4QixJQUFJO3NCQURILEtBQUs7Z0JBSU4sRUFBRTtzQkFERCxLQUFLO2dCQU9OLFFBQVE7c0JBRFAsTUFBTTtnQkFJQyxjQUFjO3NCQURyQixlQUFlO3VCQUFDLFlBQVk7Z0JBZXJCLFVBQVU7c0JBRGpCLFNBQVM7dUJBQUMsVUFBVTtnQkFJYixVQUFVO3NCQURqQixZQUFZO3VCQUFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdDaGVja2VkLFxuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIERvQ2hlY2ssXG4gIEV2ZW50RW1pdHRlcixcbiAgZm9yd2FyZFJlZixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgUXVlcnlMaXN0LFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDaGlsZHJlbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBDZGtMaXN0Ym94LFxuICBDZGtPcHRpb24sXG4gIExpc3Rib3hWYWx1ZUNoYW5nZUV2ZW50LFxufSBmcm9tICdAYW5ndWxhci9jZGsvbGlzdGJveCc7XG5pbXBvcnQgeyBPcHRpb25Db21wb25lbnQgfSBmcm9tICcuL29wdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ29lcmNlQm9vbGVhbiB9IGZyb20gJy4uLy4uL2NvbW1vbi9jb2VyY2UtYm9vbGVhbi5kZWNvcmF0b3InO1xuaW1wb3J0IHsgQm9vbGVhbklucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IExpc3Rib3hDaGlsZCB9IGZyb20gJy4vbGlzdGJveC1jaGlsZCc7XG5pbXBvcnQgeyBTZWN0aW9uRGlyZWN0aXZlIH0gZnJvbSAnLi9zZWN0aW9uLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBMaXN0Ym94SW5wdXREaXJlY3RpdmUgfSBmcm9tICcuL2xpc3Rib3gtaW5wdXQuZGlyZWN0aXZlJztcbmltcG9ydCB7IFZpZXdFbmNhcHN1bGF0aW9uUHJvdmlkZXIgfSBmcm9tICcuLi8uLi9jb21tb24vc2FwcGhpcmUtdmlldy1lbmNhcHN1bGF0aW9uJztcbmltcG9ydCB7XG4gIElDT05fU0laRV9QUk9WSURFUixcbiAgSWNvblNpemVQcm92aWRlcixcbn0gZnJvbSAnLi4vLi4vaWNvbi9zcmMvaWNvbi1zaXplLXByb3ZpZGVyJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3AtbGlzdGJveCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9saXN0Ym94LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbGlzdGJveC5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IExpc3Rib3hDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBJQ09OX1NJWkVfUFJPVklERVIsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBMaXN0Ym94Q29tcG9uZW50KSxcbiAgICB9LFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uUHJvdmlkZXIsXG4gIF0sXG4gIGhvc3Q6IHtcbiAgICAnW2F0dHIuYXJpYS1sYWJlbF0nOiAnbnVsbCcsXG4gICAgJ1thdHRyLmFyaWEtbGFiZWxsZWRieV0nOiAnbnVsbCcsXG4gIH0sXG4gIGV4cG9ydEFzOiAnc3BMaXN0Ym94Jyxcbn0pXG5leHBvcnQgY2xhc3MgTGlzdGJveENvbXBvbmVudFxuICBpbXBsZW1lbnRzXG4gICAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBBZnRlclZpZXdDaGVja2VkLFxuICAgIERvQ2hlY2ssXG4gICAgSWNvblNpemVQcm92aWRlclxue1xuICAvKipcbiAgICogVGhlIGxpc3Qgb2Ygc2VsZWN0ZWQgdmFsdWVzIChgdmFsdWVgcyBvZiBzZWxlY3RlZCBzcC1vcHRpb25zKS5cbiAgICogSXQncyBhbHdheXMgYW4gYXJyYXksIHJlZ2FyZGxlc3Mgb2Yge0Bwcm9wZXJ0eSBtdWx0aXBsZX0gYmVpbmcgdHJ1ZSBvciBub3QuXG4gICAqL1xuICBASW5wdXQoKVxuICBzZWxlY3RlZFZhbHVlczogcmVhZG9ubHkgc3RyaW5nW10gPSBbXTtcblxuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBzZWxlY3Rpb24gaXMgY2hhbmdlZC4gRW1pdHMgc2VsZWN0ZWQgdmFsdWVzLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHNlbGVjdGVkVmFsdWVzQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxyZWFkb25seSBzdHJpbmdbXT4oKTtcblxuICAvKipcbiAgICogQWxsb3dzIGZvciBwYXNzaW5nIHRoZSBsaXN0IG9mIGxpc3Rib3ggaXRlbXMgaW5zdGVhZCBvZiBoYXZpbmcgdGhlbSBjb2xsZWN0ZWRcbiAgICogZnJvbSBjaGlsZHJlbi4gVXNlZnVsIHdoZW4gYSBjb21wb25lbnQgd2FudHMgdG8gcmVuZGVyIGEgbGlzdGJveCB3aXRoaW4gaXRzIHZpZXdcbiAgICogYnV0IHdhbnRzIHRvIGNvbGxlY3QgbGlzdGJveCBpdGVtcyBmcm9tIGl0cyBvd24gY29udGVudC5cbiAgICovXG4gIEBJbnB1dCgnc3BMaXN0Ym94SXRlbXMnKVxuICBfaXRlbXNJbnB1dD86IEl0ZXJhYmxlPExpc3Rib3hDaGlsZD47XG5cbiAgQElucHV0KClcbiAgQENvZXJjZUJvb2xlYW5cbiAgZGlzYWJsZWQ/OiBCb29sZWFuSW5wdXQ7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgbXVsdGlwbGUgc2VsZWN0aW9uIGlzIGFsbG93ZWRcbiAgICovXG4gIEBJbnB1dCgpXG4gIEBDb2VyY2VCb29sZWFuXG4gIG11bHRpcGxlPzogQm9vbGVhbklucHV0O1xuXG4gIC8qKlxuICAgKiBJZiB0cnVlLCBwcmVzc2luZyBBcnJvd1VwL0Fycm93RG93biBvbiB0aGUgZmlyc3QvbGFzdCBpdGVtIHdpbGwgbm90IG1vdmVcbiAgICogZm9jdXMgdG8gdGhlIGxhc3QvZmlyc3QgaXRlbS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIEBDb2VyY2VCb29sZWFuXG4gIG5hdmlnYXRpb25XcmFwRGlzYWJsZWQ6IEJvb2xlYW5JbnB1dDtcblxuICBASW5wdXQoJ2FyaWEtbGFiZWwnKVxuICBhcmlhTGFiZWwhOiBzdHJpbmc7XG5cbiAgQElucHV0KCdhcmlhLWxhYmVsbGVkYnknKVxuICBhcmlhTGFiZWxsZWRCeT86IHN0cmluZztcblxuICBASW5wdXQoKVxuICBzaXplPzogJ2xhcmdlJyB8ICdtZWRpdW0nIHwgJ3NtYWxsJyA9ICdsYXJnZSc7XG5cbiAgQElucHV0KClcbiAgaWQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEVtaXRzIHdoZW5ldmVyIGFuIG9wdGlvbiBpcyBzZWxlY3RlZCwgcmVnYXJkbGVzcyBvZiBpZiBpdCdzIGFscmVhZHkgc2VsZWN0ZWQuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgc2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihMaXN0Ym94Q2hpbGQpXG4gIHByaXZhdGUgaXRlbXNJbkNvbnRlbnQ6IFF1ZXJ5TGlzdDxMaXN0Ym94Q2hpbGQ+ID0gbmV3IFF1ZXJ5TGlzdDxMaXN0Ym94Q2hpbGQ+KCk7XG5cbiAgcHJpdmF0ZSBvblRvdWNoZWQ6ICgpID0+IHt9ID0gKCkgPT4gKHt9KTtcbiAgcHJpdmF0ZSBvbkNoYW5nZSA9ICgpID0+IHt9O1xuXG4gIC8qKlxuICAgKiBMaXN0IG9mIHNwT3B0aW9uIG9yIHNwU2VjdGlvbiBjb21wb25lbnRzIGVpdGhlciBjb2xsZWN0ZWQgZnJvbSB0aGUgY29udGVudFxuICAgKiBvciBwYXNzZWQgYXMgaW5wdXQuXG4gICAqL1xuICBnZXQgb3B0aW9ucygpIHtcbiAgICByZXR1cm4gdGhpcy5faXRlbXNJbnB1dCB8fCB0aGlzLml0ZW1zSW5Db250ZW50O1xuICB9XG5cbiAgQFZpZXdDaGlsZChDZGtMaXN0Ym94KVxuICBwcml2YXRlIGNka0xpc3Rib3g/OiBDZGtMaXN0Ym94O1xuXG4gIEBWaWV3Q2hpbGRyZW4oQ2RrT3B0aW9uKVxuICBwcml2YXRlIGNka09wdGlvbnM/OiBRdWVyeUxpc3Q8Q2RrT3B0aW9uPjtcblxuICBwcml2YXRlIGNvbm5lY3RlZElucHV0PzogTGlzdGJveElucHV0RGlyZWN0aXZlO1xuXG4gIC8qKlxuICAgKiBDZGtMaXN0Ym94IHRocm93cyBpZiB0aGVyZSBpcyBhIHNlbGVjdGVkIHZhbHVlIHRoYXQgZG9lc24ndCBtYXRjaCBhbnkgb2YgdGhlIGNka09wdGlvbnNcbiAgICogSXQncyBwcm9iYWJseSBhbiBhcnRpZmljaWFsIGNoZWNrLCBhbmQgbWF5YmUgdGhleSBjb3VsZCByZW1vdmUgaXQsIGJ1dCB0aGF0J3MgaG93IGl0IGlzIG5vdyxcbiAgICogYW5kIHNlbGVjdGVkIHZhbHVlIGNhbiBiZSBub25lIG9mIHRoZSBjdXJyZW50bHkgdmlzaWJsZSBvcHRpb25zIGlmIG9wdGlvbnMgYXJlIHNlYXJjaGFibGUuXG4gICAqIFNpbmNlIHRoZSBjaGVjayBzZWVtcyB1bm5lY2Vzc2FyeSwgd2UgZG8gdGhlIGZpbHRlcmluZyByaWdodCBpbiB0aGUgbGlzdGJveCBjb21wb25lbnQgaW5zdGVhZFxuICAgKiBvZiBpbiBzZWFyY2hhYmxlIHNlbGVjdC5cbiAgICogQHByaXZhdGVcbiAgICovXG4gIF92YWxpZFNlbGVjdGVkVmFsdWVzOiByZWFkb25seSBzdHJpbmdbXSA9IFtdO1xuICAvKipcbiAgICogT3VyIGV4cGVjdGVkIGJlaGF2aW9yIChtYXRjaGluZyB0aGUgUmVhY3QgaW1wbCkgaXMgdG8gbmF2aWdhdGUgdG8gdGhlIGxhc3Qgb3B0aW9uLCB3aGVuXG4gICAqIEFycm93RG93biBpcyBwcmVzc2VkIGFuZCBubyBvcHRpb24gaXMgY3VycmVudGx5IGZvY3VzZWQsIGJ1dCB0byBub3QgaGF2ZSBmb2N1cyB3cmFwcGluZy5cbiAgICogZGlzYWJsaW5nIGZvY3VzIHdyYXBwaW5nIG9uIGNka0xpc3Rib3ggaXMgaW1wbGVtZW50ZWQgZGlmZmVyZW50bHksIGFuZCBkb2Vzbid0IGFsbG93IGZvclxuICAgKiB0aGF0LCBzbyB3ZSBlbmFibGUgaXQgcmVnYXJkbGVzcyBvZiBgbmF2aWdhdGlvbldyYXBEaXNhYmxlZGAgaW5wdXQsIGlmIHRoZXJlIGlzIG5vIGFjdGl2ZVxuICAgKiBvcHRpb24uXG4gICAqL1xuICBfZm9yY2VFbmFibGVOYXZpZ2F0aW9uV3JhcCA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIC8qKlxuICAgKiBDb25uZWN0cyB0aGUgbGlzdGJveCB0byBhbiBpbnB1dCwgZm9yIGNvbWJvYm94LWxpa2UgdXNlIGNhc2VzLlxuICAgKiBSZXR1cm5zIGEga2V5ZG93biBldmVudCBoYW5kbGVyIHRvIGJlIHVzZWQgb24gdGhlIGNvbm5lY3RlZCBpbnB1dC5cbiAgICogQ29ubmVjdGluZyBhbiBpbnB1dCB0byB0aGUgbGlzdGJveCBhbHNvIGNhdXNlcyBsaXN0Ym94IHRvIHVzZSB2aXJ0dWFsIGZvY3VzXG4gICAqIHNpbmNlIHRoZSBhY3R1YWwgZm9jdXMgd2lsbCBiZSBpbiB0aGUgaW5wdXQuXG4gICAqIEBwYXJhbSBpbnB1dERpcmVjdGl2ZVxuICAgKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIGNvbm5lY3RUb0lucHV0KGlucHV0RGlyZWN0aXZlOiBMaXN0Ym94SW5wdXREaXJlY3RpdmUpIHtcbiAgICB0aGlzLmNvbm5lY3RlZElucHV0ID0gaW5wdXREaXJlY3RpdmU7XG4gICAgLy8gbmVlZCB0byBydW4gY2hhbmdlIGRldGVjdGlvbiBiZWNhdXNlIF9jb25uZWN0ZWRJbnB1dCBpcyB1c2VkIHRvIHNldCB0aGUgdmFsdWUgb2ZcbiAgICAvLyBjZGtMaXN0Ym94VXNlQWN0aXZlRGVzY2VuZGFudCwgYW5kIGl0J3Mgc2V0IGFmdGVyIGNoYW5nZSBkZXRlY3Rpb24gZm9yIHRoaXMgY29tcG9uZW50IGlzIGRvbmVcbiAgICAvLyBhbmQgd2hlbiBMaXN0Ym94SW5wdXREaXJlY3RpdmUgaW5wdXQgaXMgc2V0XG4gICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgcmV0dXJuIHtcbiAgICAgIG9uS2V5ZG93bjogKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAvLyBPbmx5IGZvcndhcmRpbmcgY2VydGFpbiBrZXlzdHJva2VzLCBub3QgdG8gdHJpZ2dlciB0eXBlYWhlYWQgd2hpbGUgaW5wdXQgaXMgZm9jdXNlZFxuICAgICAgICAgIFtcbiAgICAgICAgICAgICdBcnJvd1VwJyxcbiAgICAgICAgICAgICdBcnJvd0Rvd24nLFxuICAgICAgICAgICAgJ0hvbWUnLFxuICAgICAgICAgICAgJ0VuZCcsXG4gICAgICAgICAgICAnUGFnZVVwJyxcbiAgICAgICAgICAgICdQYWdlRG93bicsXG4gICAgICAgICAgICAnRW50ZXInLFxuICAgICAgICAgIF0uaW5jbHVkZXMoZXZlbnQua2V5KVxuICAgICAgICApIHtcbiAgICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yKGFjY2Vzcyk6IF9oYW5kbGVLZXlkb3duIGlzIHByb3RlY3RlZFxuICAgICAgICAgIHRoaXMuY2RrTGlzdGJveD8uX2hhbmRsZUtleWRvd24/LihldmVudCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGV2ZW50LmtleSA9PT0gJ0Fycm93TGVmdCcgfHwgZXZlbnQua2V5ID09PSAnQXJyb3dSaWdodCcpIHtcbiAgICAgICAgICB0aGlzLnNldEFjdGl2ZU9wdGlvbihudWxsKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIC8vIGNka0xpc3Rib3gga2VlcHMgdHJhY2sgb2YgZm9jdXMgc3RhdGUsIGFuZCBzZXRzIHRoZSBhY3RpdmUgaXRlbSB0byB0aGUgc2VsZWN0ZWQgaXRlbSBpZlxuICAgICAgLy8gdGhlIGxpc3Rib3ggaXMgbm90IGZvY3VzZWQgd2hlbiBzZWxlY3Rpb24gY2hhbmdlcy4gVGhhdCBjYXVzZXMgaXNzdWVzIGVzcGVjaWFsbHkgaW5cbiAgICAgIC8vIG11bHRpLXNlbGVjdCwgd2hlcmUgdGhlIGRyb3Bkb3duIGtlZXBzIG9wZW4gd2hlbiBzZWxlY3Rpb24gY2hhbmdlcy5cbiAgICAgIG9uRm9jdXM6ICgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuY2RrTGlzdGJveCkge1xuICAgICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IoYWNjZXNzKTogX2hhc0ZvY3VzIGlzIHByaXZhdGVcbiAgICAgICAgICB0aGlzLmNka0xpc3Rib3guX2hhc0ZvY3VzID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIG9uQmx1cjogKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5jZGtMaXN0Ym94KSB7XG4gICAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvcihhY2Nlc3MpOiBfaGFzRm9jdXMgaXMgcHJpdmF0ZVxuICAgICAgICAgIHRoaXMuY2RrTGlzdGJveC5faGFzRm9jdXMgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgaXNTZWxlY3RlZChvcHRpb246IE9wdGlvbkNvbXBvbmVudCkge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkVmFsdWVzPy5pbmNsdWRlcyhvcHRpb24udmFsdWUpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuY2RrTGlzdGJveD8ucmVnaXN0ZXJPbkNoYW5nZSh0aGlzLm9uQ2hhbmdlKTtcbiAgICB0aGlzLmNka0xpc3Rib3g/LnJlZ2lzdGVyT25Ub3VjaGVkKHRoaXMub25Ub3VjaGVkKTtcbiAgfVxuXG4gIG5nRG9DaGVjaygpIHtcbiAgICAvKipcbiAgICAgKiBQcm9wZXJ0aWVzIHNldCBoZXJlIGFyZSB1c2VkIGluIHRoZSB0ZW1wbGF0ZSwgYnV0IGRlcGVuZCBvbiB0aGUgc3RhdGUgb2YgY2hpbGQgZGlyZWN0aXZlcyxcbiAgICAgKiB3aGljaCBjYW4gY2hhbmdlIGFmdGVyIHZpZXcgaXMgY2hlY2tlZCBvbiB0aGlzIGNvbXBvbmVudC4gQnkgc2V0dGluZyB0aGVtIGluIG5nRG9DaGVja1xuICAgICAqIGluc3RlYWQgb2YgZGlyZWN0bHkgcmVmZXJlbmNpbmcgdGhlbSBpbiB0aGUgdGVtcGxhdGUsIHdlIGF2b2lkIE5HMDEwMDogRXhwcmVzc2lvbkNoYW5nZWQuLi5cbiAgICAgKiBlcnJvcnNcbiAgICAgKi9cbiAgICB0aGlzLl9mb3JjZUVuYWJsZU5hdmlnYXRpb25XcmFwID0gIUJvb2xlYW4odGhpcy5nZXRBY3RpdmVPcHRpb24oKSk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0NoZWNrZWQoKSB7XG4gICAgY29uc3QgdmFsaWRWYWx1ZXMgPVxuICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlcz8uZmlsdGVyKCh2YWx1ZSkgPT5cbiAgICAgICAgdGhpcy5jZGtPcHRpb25zPy5maW5kKChjZGtPcHRpb24pID0+IGNka09wdGlvbi52YWx1ZSA9PT0gdmFsdWUpXG4gICAgICApIHx8IFtdO1xuICAgIGlmIChcbiAgICAgIHZhbGlkVmFsdWVzLmxlbmd0aCAhPT0gdGhpcy5fdmFsaWRTZWxlY3RlZFZhbHVlcy5sZW5ndGggfHxcbiAgICAgIHRoaXMuX3ZhbGlkU2VsZWN0ZWRWYWx1ZXMuc29tZShcbiAgICAgICAgKHZhbHVlLCBpbmRleCkgPT4gdmFsdWUgIT09IHZhbGlkVmFsdWVzW2luZGV4XVxuICAgICAgKVxuICAgICkge1xuICAgICAgdGhpcy5fdmFsaWRTZWxlY3RlZFZhbHVlcyA9IHZhbGlkVmFsdWVzO1xuICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgYWN0aXZlIChmb2N1c2VkKSBvcHRpb24uIFBhc3NpbmcgbnVsbCByZW1vdmVzIGFjdGl2ZSBzdGF0ZSBpZiBhbnkuXG4gICAqIEBwYXJhbSB2YWx1ZSBvcHRpb24gdmFsdWVcbiAgICovXG4gIHNldEFjdGl2ZU9wdGlvbih2YWx1ZTogc3RyaW5nIHwgbnVsbCkge1xuICAgIGNvbnN0IG9wdGlvbiA9XG4gICAgICB2YWx1ZSAmJiB0aGlzLmNka09wdGlvbnM/LmZpbmQoKG9wdGlvbikgPT4gb3B0aW9uLnZhbHVlID09PSB2YWx1ZSk7XG4gICAgaWYgKG9wdGlvbiB8fCBvcHRpb24gPT09IG51bGwpIHtcbiAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3I6IG51bGwgaXMgYWN0dWFsbHkgYWNjZXB0ZWQgYW5kIHJlc2V0cyBhY3RpdmUgaXRlbSwgYnV0IHRoZSB0eXBlIGRvZXNuJ3QgYWxsb3cgaXQgYnkgbWlzdGFrZVxuICAgICAgdGhpcy5jZGtMaXN0Ym94Py5fc2V0QWN0aXZlT3B0aW9uKG9wdGlvbik7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIGN1cnJlbnRseSBhY3RpdmUgKGZvY3VzZWQpIG9wdGlvbi5cbiAgICovXG4gIGdldEFjdGl2ZU9wdGlvbigpOiBzdHJpbmcgfCBudWxsIHtcbiAgICAvLyBUaGVyZSBpcyBjdXJyZW50bHkgbm8gcHVibGljIG1ldGhvZCBvbiBDZGtMaXN0Ym94IHRvIGdldCB0aGUgYWN0aXZlIGl0ZW0gb3Igc2VsZWN0IGl0IGRpcmVjdGx5LlxuICAgIHJldHVybiAoXG4gICAgICAodGhpcy5jZGtPcHRpb25zPy5maW5kKChvcHRpb24pID0+XG4gICAgICAgIEJvb2xlYW4odGhpcy5jZGtMaXN0Ym94Py5pc0FjdGl2ZShvcHRpb24pKVxuICAgICAgKT8udmFsdWUgYXMgc3RyaW5nKSA/PyBudWxsXG4gICAgKTtcbiAgfVxuXG4gIC8vLy8gQ29udHJvbFZhbHVlQWNjZXNzb3IgLy8vL1xuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gIH1cbiAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gIH1cbiAgd3JpdGVWYWx1ZShvYmo6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZXMgPSBvYmo7XG4gIH1cbiAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gIC8qKlxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgX2hhbmRsZVNlbGVjdGlvbkNoYW5nZSh7IHZhbHVlIH06IExpc3Rib3hWYWx1ZUNoYW5nZUV2ZW50PHN0cmluZz4pIHtcbiAgICB0aGlzLnNlbGVjdGVkVmFsdWVzID0gdmFsdWU7XG4gICAgdGhpcy5zZWxlY3RlZFZhbHVlc0NoYW5nZS5lbWl0KHZhbHVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgX2lzT3B0aW9uKGl0ZW06IExpc3Rib3hDaGlsZCk6IGl0ZW0gaXMgT3B0aW9uQ29tcG9uZW50IHtcbiAgICByZXR1cm4gaXRlbSBpbnN0YW5jZW9mIE9wdGlvbkNvbXBvbmVudDtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgX2lzU2VjdGlvbihpdGVtOiBMaXN0Ym94Q2hpbGQpOiBpdGVtIGlzIFNlY3Rpb25EaXJlY3RpdmUge1xuICAgIHJldHVybiBpdGVtIGluc3RhbmNlb2YgU2VjdGlvbkRpcmVjdGl2ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgX3Nob3VsZFVzZVZpcnR1YWxGb2N1cygpIHtcbiAgICByZXR1cm4gQm9vbGVhbih0aGlzLmNvbm5lY3RlZElucHV0KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgX2lzQ29ubmVjdGVkVG9JbnB1dCgpIHtcbiAgICByZXR1cm4gQm9vbGVhbih0aGlzLmNvbm5lY3RlZElucHV0KTtcbiAgfVxufVxuIiwiPHVsXG4gIGNsYXNzPVwic2FwcGhpcmUtbGlzdGJveFwiXG4gIGNka0xpc3Rib3hcbiAgW2lkXT1cImlkIHx8ICcnXCJcbiAgW2Nka0xpc3Rib3hDb21wYXJlV2l0aF09XCJcIlxuICBbY2RrTGlzdGJveE11bHRpcGxlXT1cIiEhbXVsdGlwbGVcIlxuICBbY2RrTGlzdGJveERpc2FibGVkXT1cIiEhZGlzYWJsZWRcIlxuICBbY2RrTGlzdGJveE5hdmlnYXRpb25XcmFwRGlzYWJsZWRdPVwiXG4gICAgbmF2aWdhdGlvbldyYXBEaXNhYmxlZCAmJiAhX2ZvcmNlRW5hYmxlTmF2aWdhdGlvbldyYXBcbiAgXCJcbiAgW2Nka0xpc3Rib3hWYWx1ZV09XCJfdmFsaWRTZWxlY3RlZFZhbHVlc1wiXG4gIFtjZGtMaXN0Ym94VXNlQWN0aXZlRGVzY2VuZGFudF09XCJfc2hvdWxkVXNlVmlydHVhbEZvY3VzKClcIlxuICAoY2RrTGlzdGJveFZhbHVlQ2hhbmdlKT1cIl9oYW5kbGVTZWxlY3Rpb25DaGFuZ2UoJGV2ZW50KVwiXG4gIChrZXlkb3duLmVudGVyKT1cInNlbGVjdGVkLmVtaXQoJGV2ZW50KVwiXG4gIChrZXlkb3duLnNwYWNlKT1cInNlbGVjdGVkLmVtaXQoJGV2ZW50KVwiXG4gIChtb3VzZWRvd24pPVwiX2lzQ29ubmVjdGVkVG9JbnB1dCgpICYmICRldmVudC5wcmV2ZW50RGVmYXVsdCgpXCJcbiAgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhTGFiZWxcIlxuICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiYXJpYUxhYmVsbGVkQnlcIlxuICBbY2xhc3Muc2FwcGhpcmUtbGlzdGJveC0tbWVkaXVtXT1cInNpemUgPT09ICdtZWRpdW0nXCJcbiAgW2NsYXNzLnNhcHBoaXJlLWxpc3Rib3gtLXNtYWxsXT1cInNpemUgPT09ICdzbWFsbCdcIlxuPlxuICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIG9wdGlvbnM7IGxldCBsYXN0ID0gbGFzdFwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJfaXNTZWN0aW9uKGl0ZW0pXCI+XG4gICAgICA8bGkgcm9sZT1cInByZXNlbnRhdGlvblwiPlxuICAgICAgICA8dWxcbiAgICAgICAgICByb2xlPVwiZ3JvdXBcIlxuICAgICAgICAgIGNsYXNzPVwic2FwcGhpcmUtbGlzdGJveF9fc2VjdGlvblwiXG4gICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJpdGVtLmFyaWFMYWJlbFwiXG4gICAgICAgID5cbiAgICAgICAgICA8bGlcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgaXRlbS5jaGlsZHJlblwiXG4gICAgICAgICAgICBbY2RrT3B0aW9uXT1cIm9wdGlvbi52YWx1ZVwiXG4gICAgICAgICAgICBbY2RrT3B0aW9uRGlzYWJsZWRdPVwiISFvcHRpb24uZGlzYWJsZWRcIlxuICAgICAgICAgICAgW2Nka09wdGlvblR5cGVhaGVhZExhYmVsXT1cIm9wdGlvbi5sYWJlbFwiXG4gICAgICAgICAgICAjY2RrT3B0aW9uPVwiY2RrT3B0aW9uXCJcbiAgICAgICAgICAgIHNwLWxpc3Rib3gtaXRlbVxuICAgICAgICAgICAgW29wdGlvbl09XCJvcHRpb25cIlxuICAgICAgICAgICAgW3NlbGVjdGVkXT1cImlzU2VsZWN0ZWQob3B0aW9uKVwiXG4gICAgICAgICAgICBbZm9jdXNlZF09XCJjZGtPcHRpb24uaXNBY3RpdmUoKVwiXG4gICAgICAgICAgICAoY2xpY2spPVwiIShkaXNhYmxlZCB8fCBvcHRpb24uZGlzYWJsZWQpICYmIHNlbGVjdGVkLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgICAgICBbc2l6ZV09XCJzaXplXCJcbiAgICAgICAgICA+PC9saT5cbiAgICAgICAgPC91bD5cbiAgICAgIDwvbGk+XG4gICAgICA8bGlcbiAgICAgICAgKm5nSWY9XCIhbGFzdFwiXG4gICAgICAgIHJvbGU9XCJzZXBhcmF0b3JcIlxuICAgICAgICBjbGFzcz1cInNhcHBoaXJlLWxpc3Rib3hfX3NlcGFyYXRvclwiXG4gICAgICA+PC9saT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bGlcbiAgICAgICpuZ0lmPVwiX2lzT3B0aW9uKGl0ZW0pXCJcbiAgICAgIFtjZGtPcHRpb25dPVwiaXRlbS52YWx1ZVwiXG4gICAgICBbY2RrT3B0aW9uRGlzYWJsZWRdPVwiISFpdGVtLmRpc2FibGVkXCJcbiAgICAgIFtjZGtPcHRpb25UeXBlYWhlYWRMYWJlbF09XCJpdGVtLmxhYmVsXCJcbiAgICAgICNjZGtPcHRpb249XCJjZGtPcHRpb25cIlxuICAgICAgc3AtbGlzdGJveC1pdGVtXG4gICAgICBbb3B0aW9uXT1cIml0ZW1cIlxuICAgICAgW3NlbGVjdGVkXT1cImlzU2VsZWN0ZWQoaXRlbSlcIlxuICAgICAgW2ZvY3VzZWRdPVwiY2RrT3B0aW9uLmlzQWN0aXZlKClcIlxuICAgICAgKGNsaWNrKT1cIiEoZGlzYWJsZWQgfHwgaXRlbS5kaXNhYmxlZCkgJiYgc2VsZWN0ZWQuZW1pdCgkZXZlbnQpXCJcbiAgICAgIFtzaXplXT1cInNpemVcIlxuICAgID48L2xpPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvdWw+XG4iXX0=
275
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdGJveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2xpc3Rib3gvc3JjL2xpc3Rib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9saXN0Ym94L3NyYy9saXN0Ym94LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBSUwsU0FBUyxFQUNULGVBQWUsRUFFZixZQUFZLEVBQ1osVUFBVSxFQUNWLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULFNBQVMsRUFDVCxZQUFZLEdBQ2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLFVBQVUsRUFDVixTQUFTLEdBRVYsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckQsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUV0RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdkQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDckYsT0FBTyxFQUNMLGtCQUFrQixHQUVuQixNQUFNLG1DQUFtQyxDQUFDOzs7Ozs7QUF3QjNDLE1BQU0sT0FBTyxnQkFBZ0I7SUF5RTNCOzs7T0FHRztJQUNILElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQ2pELENBQUM7SUE0QkQsWUFBb0IsaUJBQW9DO1FBQXBDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFuR3hEOzs7V0FHRztRQUVILG1CQUFjLEdBQXNCLEVB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RUFpRUE7QURxQkU7SUFEQyxhQUFhO2tEQUNVO0FBT3hCO0lBREMsYUFBYTtrREFDVTtBQVF4QjtJQURDLGFBQWE7Z0VBQ3VCOzJGQTlDMUIsZ0JBQWdCO2tCQXRCNUIsU0FBUzsrQkFDRSxZQUFZLGFBR1g7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsaUJBQWlCLENBQUM7NEJBQy9DLEtBQUssRUFBRSxJQUFJO3lCQUNaO3dCQUNEOzRCQUNFLE9BQU8sRUFBRSxrQkFBa0I7NEJBQzNCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLGlCQUFpQixDQUFDO3lCQUNoRDt3QkFDRCx5QkFBeUI7cUJBQzFCLFFBQ0s7d0JBQ0osbUJBQW1CLEVBQUUsTUFBTTt3QkFDM0Isd0JBQXdCLEVBQUUsTUFBTTtxQkFDakMsWUFDUyxXQUFXO3dHQWVyQixjQUFjO3NCQURiLEtBQUs7Z0JBT04sb0JBQW9CO3NCQURuQixNQUFNO2dCQVNQLFdBQVc7c0JBRFYsS0FBSzt1QkFBQyxnQkFBZ0I7Z0JBS3ZCLFFBQVE7c0JBRlAsS0FBSztnQkFTTixRQUFRO3NCQUZQLEtBQUs7Z0JBVU4sc0JBQXNCO3NCQUZyQixLQUFLO2dCQUtOLFNBQVM7c0JBRFIsS0FBSzt1QkFBQyxZQUFZO2dCQUluQixjQUFjO3NCQURiLEtBQUs7dUJBQUMsaUJBQWlCO2dCQUl4QixJQUFJO3NCQURILEtBQUs7Z0JBSU4sRUFBRTtzQkFERCxLQUFLO2dCQU9OLFFBQVE7c0JBRFAsTUFBTTtnQkFJQyxjQUFjO3NCQURyQixlQUFlO3VCQUFDLFlBQVk7Z0JBZ0JyQixVQUFVO3NCQURqQixTQUFTO3VCQUFDLFVBQVU7Z0JBSWIsVUFBVTtzQkFEakIsWUFBWTt1QkFBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3Q2hlY2tlZCxcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBEb0NoZWNrLFxuICBFdmVudEVtaXR0ZXIsXG4gIGZvcndhcmRSZWYsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgVmlld0NoaWxkLFxuICBWaWV3Q2hpbGRyZW4sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQ2RrTGlzdGJveCxcbiAgQ2RrT3B0aW9uLFxuICBMaXN0Ym94VmFsdWVDaGFuZ2VFdmVudCxcbn0gZnJvbSAnQGFuZ3VsYXIvY2RrL2xpc3Rib3gnO1xuaW1wb3J0IHsgT3B0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9vcHRpb24uY29tcG9uZW50JztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENvZXJjZUJvb2xlYW4gfSBmcm9tICcuLi8uLi9jb21tb24vY29lcmNlLWJvb2xlYW4uZGVjb3JhdG9yJztcbmltcG9ydCB7IEJvb2xlYW5JbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBMaXN0Ym94Q2hpbGQgfSBmcm9tICcuL2xpc3Rib3gtY2hpbGQnO1xuaW1wb3J0IHsgU2VjdGlvbkRpcmVjdGl2ZSB9IGZyb20gJy4vc2VjdGlvbi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTGlzdGJveElucHV0RGlyZWN0aXZlIH0gZnJvbSAnLi9saXN0Ym94LWlucHV0LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBWaWV3RW5jYXBzdWxhdGlvblByb3ZpZGVyIH0gZnJvbSAnLi4vLi4vY29tbW9uL3NhcHBoaXJlLXZpZXctZW5jYXBzdWxhdGlvbic7XG5pbXBvcnQge1xuICBJQ09OX1NJWkVfUFJPVklERVIsXG4gIEljb25TaXplUHJvdmlkZXIsXG59IGZyb20gJy4uLy4uL2ljb24vc3JjL2ljb24tc2l6ZS1wcm92aWRlcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NwLWxpc3Rib3gnLFxuICB0ZW1wbGF0ZVVybDogJy4vbGlzdGJveC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2xpc3Rib3guY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBMaXN0Ym94Q29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogSUNPTl9TSVpFX1BST1ZJREVSLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gTGlzdGJveENvbXBvbmVudCksXG4gICAgfSxcbiAgICBWaWV3RW5jYXBzdWxhdGlvblByb3ZpZGVyLFxuICBdLFxuICBob3N0OiB7XG4gICAgJ1thdHRyLmFyaWEtbGFiZWxdJzogJ251bGwnLFxuICAgICdbYXR0ci5hcmlhLWxhYmVsbGVkYnldJzogJ251bGwnLFxuICB9LFxuICBleHBvcnRBczogJ3NwTGlzdGJveCcsXG59KVxuZXhwb3J0IGNsYXNzIExpc3Rib3hDb21wb25lbnRcbiAgaW1wbGVtZW50c1xuICAgIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQWZ0ZXJWaWV3Q2hlY2tlZCxcbiAgICBEb0NoZWNrLFxuICAgIEljb25TaXplUHJvdmlkZXJcbntcbiAgLyoqXG4gICAqIFRoZSBsaXN0IG9mIHNlbGVjdGVkIHZhbHVlcyAoYHZhbHVlYHMgb2Ygc2VsZWN0ZWQgc3Atb3B0aW9ucykuXG4gICAqIEl0J3MgYWx3YXlzIGFuIGFycmF5LCByZWdhcmRsZXNzIG9mIHtAcHJvcGVydHkgbXVsdGlwbGV9IGJlaW5nIHRydWUgb3Igbm90LlxuICAgKi9cbiAgQElucHV0KClcbiAgc2VsZWN0ZWRWYWx1ZXM6IHJlYWRvbmx5IHN0cmluZ1tdID0gW107XG5cbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgc2VsZWN0aW9uIGlzIGNoYW5nZWQuIEVtaXRzIHNlbGVjdGVkIHZhbHVlcy5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBzZWxlY3RlZFZhbHVlc0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8cmVhZG9ubHkgc3RyaW5nW10+KCk7XG5cbiAgLyoqXG4gICAqIEFsbG93cyBmb3IgcGFzc2luZyB0aGUgbGlzdCBvZiBsaXN0Ym94IGl0ZW1zIGluc3RlYWQgb2YgaGF2aW5nIHRoZW0gY29sbGVjdGVkXG4gICAqIGZyb20gY2hpbGRyZW4uIFVzZWZ1bCB3aGVuIGEgY29tcG9uZW50IHdhbnRzIHRvIHJlbmRlciBhIGxpc3Rib3ggd2l0aGluIGl0cyB2aWV3XG4gICAqIGJ1dCB3YW50cyB0byBjb2xsZWN0IGxpc3Rib3ggaXRlbXMgZnJvbSBpdHMgb3duIGNvbnRlbnQuXG4gICAqL1xuICBASW5wdXQoJ3NwTGlzdGJveEl0ZW1zJylcbiAgX2l0ZW1zSW5wdXQ/OiBJdGVyYWJsZTxMaXN0Ym94Q2hpbGQ+O1xuXG4gIEBJbnB1dCgpXG4gIEBDb2VyY2VCb29sZWFuXG4gIGRpc2FibGVkPzogQm9vbGVhbklucHV0O1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIG11bHRpcGxlIHNlbGVjdGlvbiBpcyBhbGxvd2VkXG4gICAqL1xuICBASW5wdXQoKVxuICBAQ29lcmNlQm9vbGVhblxuICBtdWx0aXBsZT86IEJvb2xlYW5JbnB1dDtcblxuICAvKipcbiAgICogSWYgdHJ1ZSwgcHJlc3NpbmcgQXJyb3dVcC9BcnJvd0Rvd24gb24gdGhlIGZpcnN0L2xhc3QgaXRlbSB3aWxsIG5vdCBtb3ZlXG4gICAqIGZvY3VzIHRvIHRoZSBsYXN0L2ZpcnN0IGl0ZW0uXG4gICAqL1xuICBASW5wdXQoKVxuICBAQ29lcmNlQm9vbGVhblxuICBuYXZpZ2F0aW9uV3JhcERpc2FibGVkOiBCb29sZWFuSW5wdXQ7XG5cbiAgQElucHV0KCdhcmlhLWxhYmVsJylcbiAgYXJpYUxhYmVsITogc3RyaW5nO1xuXG4gIEBJbnB1dCgnYXJpYS1sYWJlbGxlZGJ5JylcbiAgYXJpYUxhYmVsbGVkQnk/OiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgc2l6ZT86ICdsYXJnZScgfCAnbWVkaXVtJyB8ICdzbWFsbCcgPSAnbGFyZ2UnO1xuXG4gIEBJbnB1dCgpXG4gIGlkPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBFbWl0cyB3aGVuZXZlciBhbiBvcHRpb24gaXMgc2VsZWN0ZWQsIHJlZ2FyZGxlc3Mgb2YgaWYgaXQncyBhbHJlYWR5IHNlbGVjdGVkLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oTGlzdGJveENoaWxkKVxuICBwcml2YXRlIGl0ZW1zSW5Db250ZW50OiBRdWVyeUxpc3Q8TGlzdGJveENoaWxkPiA9XG4gICAgbmV3IFF1ZXJ5TGlzdDxMaXN0Ym94Q2hpbGQ+KCk7XG5cbiAgcHJpdmF0ZSBvblRvdWNoZWQ6ICgpID0+IHt9ID0gKCkgPT4gKHt9KTtcbiAgcHJpdmF0ZSBvbkNoYW5nZSA9ICgpID0+IHt9O1xuXG4gIC8qKlxuICAgKiBMaXN0IG9mIHNwT3B0aW9uIG9yIHNwU2VjdGlvbiBjb21wb25lbnRzIGVpdGhlciBjb2xsZWN0ZWQgZnJvbSB0aGUgY29udGVudFxuICAgKiBvciBwYXNzZWQgYXMgaW5wdXQuXG4gICAqL1xuICBnZXQgb3B0aW9ucygpIHtcbiAgICByZXR1cm4gdGhpcy5faXRlbXNJbnB1dCB8fCB0aGlzLml0ZW1zSW5Db250ZW50O1xuICB9XG5cbiAgQFZpZXdDaGlsZChDZGtMaXN0Ym94KVxuICBwcml2YXRlIGNka0xpc3Rib3g/OiBDZGtMaXN0Ym94O1xuXG4gIEBWaWV3Q2hpbGRyZW4oQ2RrT3B0aW9uKVxuICBwcml2YXRlIGNka09wdGlvbnM/OiBRdWVyeUxpc3Q8Q2RrT3B0aW9uPjtcblxuICBwcml2YXRlIGNvbm5lY3RlZElucHV0PzogTGlzdGJveElucHV0RGlyZWN0aXZlO1xuXG4gIC8qKlxuICAgKiBDZGtMaXN0Ym94IHRocm93cyBpZiB0aGVyZSBpcyBhIHNlbGVjdGVkIHZhbHVlIHRoYXQgZG9lc24ndCBtYXRjaCBhbnkgb2YgdGhlIGNka09wdGlvbnNcbiAgICogSXQncyBwcm9iYWJseSBhbiBhcnRpZmljaWFsIGNoZWNrLCBhbmQgbWF5YmUgdGhleSBjb3VsZCByZW1vdmUgaXQsIGJ1dCB0aGF0J3MgaG93IGl0IGlzIG5vdyxcbiAgICogYW5kIHNlbGVjdGVkIHZhbHVlIGNhbiBiZSBub25lIG9mIHRoZSBjdXJyZW50bHkgdmlzaWJsZSBvcHRpb25zIGlmIG9wdGlvbnMgYXJlIHNlYXJjaGFibGUuXG4gICAqIFNpbmNlIHRoZSBjaGVjayBzZWVtcyB1bm5lY2Vzc2FyeSwgd2UgZG8gdGhlIGZpbHRlcmluZyByaWdodCBpbiB0aGUgbGlzdGJveCBjb21wb25lbnQgaW5zdGVhZFxuICAgKiBvZiBpbiBzZWFyY2hhYmxlIHNlbGVjdC5cbiAgICogQHByaXZhdGVcbiAgICovXG4gIF92YWxpZFNlbGVjdGVkVmFsdWVzOiByZWFkb25seSBzdHJpbmdbXSA9IFtdO1xuICAvKipcbiAgICogT3VyIGV4cGVjdGVkIGJlaGF2aW9yIChtYXRjaGluZyB0aGUgUmVhY3QgaW1wbCkgaXMgdG8gbmF2aWdhdGUgdG8gdGhlIGxhc3Qgb3B0aW9uLCB3aGVuXG4gICAqIEFycm93RG93biBpcyBwcmVzc2VkIGFuZCBubyBvcHRpb24gaXMgY3VycmVudGx5IGZvY3VzZWQsIGJ1dCB0byBub3QgaGF2ZSBmb2N1cyB3cmFwcGluZy5cbiAgICogZGlzYWJsaW5nIGZvY3VzIHdyYXBwaW5nIG9uIGNka0xpc3Rib3ggaXMgaW1wbGVtZW50ZWQgZGlmZmVyZW50bHksIGFuZCBkb2Vzbid0IGFsbG93IGZvclxuICAgKiB0aGF0LCBzbyB3ZSBlbmFibGUgaXQgcmVnYXJkbGVzcyBvZiBgbmF2aWdhdGlvbldyYXBEaXNhYmxlZGAgaW5wdXQsIGlmIHRoZXJlIGlzIG5vIGFjdGl2ZVxuICAgKiBvcHRpb24uXG4gICAqL1xuICBfZm9yY2VFbmFibGVOYXZpZ2F0aW9uV3JhcCA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIC8qKlxuICAgKiBDb25uZWN0cyB0aGUgbGlzdGJveCB0byBhbiBpbnB1dCwgZm9yIGNvbWJvYm94LWxpa2UgdXNlIGNhc2VzLlxuICAgKiBSZXR1cm5zIGEga2V5ZG93biBldmVudCBoYW5kbGVyIHRvIGJlIHVzZWQgb24gdGhlIGNvbm5lY3RlZCBpbnB1dC5cbiAgICogQ29ubmVjdGluZyBhbiBpbnB1dCB0byB0aGUgbGlzdGJveCBhbHNvIGNhdXNlcyBsaXN0Ym94IHRvIHVzZSB2aXJ0dWFsIGZvY3VzXG4gICAqIHNpbmNlIHRoZSBhY3R1YWwgZm9jdXMgd2lsbCBiZSBpbiB0aGUgaW5wdXQuXG4gICAqIEBwYXJhbSBpbnB1dERpcmVjdGl2ZVxuICAgKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIGNvbm5lY3RUb0lucHV0KGlucHV0RGlyZWN0aXZlOiBMaXN0Ym94SW5wdXREaXJlY3RpdmUpIHtcbiAgICB0aGlzLmNvbm5lY3RlZElucHV0ID0gaW5wdXREaXJlY3RpdmU7XG4gICAgLy8gbmVlZCB0byBydW4gY2hhbmdlIGRldGVjdGlvbiBiZWNhdXNlIF9jb25uZWN0ZWRJbnB1dCBpcyB1c2VkIHRvIHNldCB0aGUgdmFsdWUgb2ZcbiAgICAvLyBjZGtMaXN0Ym94VXNlQWN0aXZlRGVzY2VuZGFudCwgYW5kIGl0J3Mgc2V0IGFmdGVyIGNoYW5nZSBkZXRlY3Rpb24gZm9yIHRoaXMgY29tcG9uZW50IGlzIGRvbmVcbiAgICAvLyBhbmQgd2hlbiBMaXN0Ym94SW5wdXREaXJlY3RpdmUgaW5wdXQgaXMgc2V0XG4gICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgcmV0dXJuIHtcbiAgICAgIG9uS2V5ZG93bjogKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAvLyBPbmx5IGZvcndhcmRpbmcgY2VydGFpbiBrZXlzdHJva2VzLCBub3QgdG8gdHJpZ2dlciB0eXBlYWhlYWQgd2hpbGUgaW5wdXQgaXMgZm9jdXNlZFxuICAgICAgICAgIFtcbiAgICAgICAgICAgICdBcnJvd1VwJyxcbiAgICAgICAgICAgICdBcnJvd0Rvd24nLFxuICAgICAgICAgICAgJ0hvbWUnLFxuICAgICAgICAgICAgJ0VuZCcsXG4gICAgICAgICAgICAnUGFnZVVwJyxcbiAgICAgICAgICAgICdQYWdlRG93bicsXG4gICAgICAgICAgICAnRW50ZXInLFxuICAgICAgICAgIF0uaW5jbHVkZXMoZXZlbnQua2V5KVxuICAgICAgICApIHtcbiAgICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yKGFjY2Vzcyk6IF9oYW5kbGVLZXlkb3duIGlzIHByb3RlY3RlZFxuICAgICAgICAgIHRoaXMuY2RrTGlzdGJveD8uX2hhbmRsZUtleWRvd24/LihldmVudCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGV2ZW50LmtleSA9PT0gJ0Fycm93TGVmdCcgfHwgZXZlbnQua2V5ID09PSAnQXJyb3dSaWdodCcpIHtcbiAgICAgICAgICB0aGlzLnNldEFjdGl2ZU9wdGlvbihudWxsKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIC8vIGNka0xpc3Rib3gga2VlcHMgdHJhY2sgb2YgZm9jdXMgc3RhdGUsIGFuZCBzZXRzIHRoZSBhY3RpdmUgaXRlbSB0byB0aGUgc2VsZWN0ZWQgaXRlbSBpZlxuICAgICAgLy8gdGhlIGxpc3Rib3ggaXMgbm90IGZvY3VzZWQgd2hlbiBzZWxlY3Rpb24gY2hhbmdlcy4gVGhhdCBjYXVzZXMgaXNzdWVzIGVzcGVjaWFsbHkgaW5cbiAgICAgIC8vIG11bHRpLXNlbGVjdCwgd2hlcmUgdGhlIGRyb3Bkb3duIGtlZXBzIG9wZW4gd2hlbiBzZWxlY3Rpb24gY2hhbmdlcy5cbiAgICAgIG9uRm9jdXM6ICgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuY2RrTGlzdGJveCkge1xuICAgICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IoYWNjZXNzKTogX2hhc0ZvY3VzIGlzIHByaXZhdGVcbiAgICAgICAgICB0aGlzLmNka0xpc3Rib3guX2hhc0ZvY3VzID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIG9uQmx1cjogKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5jZGtMaXN0Ym94KSB7XG4gICAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvcihhY2Nlc3MpOiBfaGFzRm9jdXMgaXMgcHJpdmF0ZVxuICAgICAgICAgIHRoaXMuY2RrTGlzdGJveC5faGFzRm9jdXMgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgaXNTZWxlY3RlZChvcHRpb246IE9wdGlvbkNvbXBvbmVudCkge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkVmFsdWVzPy5pbmNsdWRlcyhvcHRpb24udmFsdWUpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuY2RrTGlzdGJveD8ucmVnaXN0ZXJPbkNoYW5nZSh0aGlzLm9uQ2hhbmdlKTtcbiAgICB0aGlzLmNka0xpc3Rib3g/LnJlZ2lzdGVyT25Ub3VjaGVkKHRoaXMub25Ub3VjaGVkKTtcbiAgfVxuXG4gIG5nRG9DaGVjaygpIHtcbiAgICAvKipcbiAgICAgKiBQcm9wZXJ0aWVzIHNldCBoZXJlIGFyZSB1c2VkIGluIHRoZSB0ZW1wbGF0ZSwgYnV0IGRlcGVuZCBvbiB0aGUgc3RhdGUgb2YgY2hpbGQgZGlyZWN0aXZlcyxcbiAgICAgKiB3aGljaCBjYW4gY2hhbmdlIGFmdGVyIHZpZXcgaXMgY2hlY2tlZCBvbiB0aGlzIGNvbXBvbmVudC4gQnkgc2V0dGluZyB0aGVtIGluIG5nRG9DaGVja1xuICAgICAqIGluc3RlYWQgb2YgZGlyZWN0bHkgcmVmZXJlbmNpbmcgdGhlbSBpbiB0aGUgdGVtcGxhdGUsIHdlIGF2b2lkIE5HMDEwMDogRXhwcmVzc2lvbkNoYW5nZWQuLi5cbiAgICAgKiBlcnJvcnNcbiAgICAgKi9cbiAgICB0aGlzLl9mb3JjZUVuYWJsZU5hdmlnYXRpb25XcmFwID0gIUJvb2xlYW4odGhpcy5nZXRBY3RpdmVPcHRpb24oKSk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0NoZWNrZWQoKSB7XG4gICAgY29uc3QgdmFsaWRWYWx1ZXMgPVxuICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlcz8uZmlsdGVyKCh2YWx1ZSkgPT5cbiAgICAgICAgdGhpcy5jZGtPcHRpb25zPy5maW5kKChjZGtPcHRpb24pID0+IGNka09wdGlvbi52YWx1ZSA9PT0gdmFsdWUpXG4gICAgICApIHx8IFtdO1xuICAgIGlmIChcbiAgICAgIHZhbGlkVmFsdWVzLmxlbmd0aCAhPT0gdGhpcy5fdmFsaWRTZWxlY3RlZFZhbHVlcy5sZW5ndGggfHxcbiAgICAgIHRoaXMuX3ZhbGlkU2VsZWN0ZWRWYWx1ZXMuc29tZShcbiAgICAgICAgKHZhbHVlLCBpbmRleCkgPT4gdmFsdWUgIT09IHZhbGlkVmFsdWVzW2luZGV4XVxuICAgICAgKVxuICAgICkge1xuICAgICAgdGhpcy5fdmFsaWRTZWxlY3RlZFZhbHVlcyA9IHZhbGlkVmFsdWVzO1xuICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgYWN0aXZlIChmb2N1c2VkKSBvcHRpb24uIFBhc3NpbmcgbnVsbCByZW1vdmVzIGFjdGl2ZSBzdGF0ZSBpZiBhbnkuXG4gICAqIEBwYXJhbSB2YWx1ZSBvcHRpb24gdmFsdWVcbiAgICovXG4gIHNldEFjdGl2ZU9wdGlvbih2YWx1ZTogc3RyaW5nIHwgbnVsbCkge1xuICAgIGNvbnN0IG9wdGlvbiA9XG4gICAgICB2YWx1ZSAmJiB0aGlzLmNka09wdGlvbnM/LmZpbmQoKG9wdGlvbikgPT4gb3B0aW9uLnZhbHVlID09PSB2YWx1ZSk7XG4gICAgaWYgKG9wdGlvbiB8fCBvcHRpb24gPT09IG51bGwpIHtcbiAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3I6IG51bGwgaXMgYWN0dWFsbHkgYWNjZXB0ZWQgYW5kIHJlc2V0cyBhY3RpdmUgaXRlbSwgYnV0IHRoZSB0eXBlIGRvZXNuJ3QgYWxsb3cgaXQgYnkgbWlzdGFrZVxuICAgICAgdGhpcy5jZGtMaXN0Ym94Py5fc2V0QWN0aXZlT3B0aW9uKG9wdGlvbik7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIGN1cnJlbnRseSBhY3RpdmUgKGZvY3VzZWQpIG9wdGlvbi5cbiAgICovXG4gIGdldEFjdGl2ZU9wdGlvbigpOiBzdHJpbmcgfCBudWxsIHtcbiAgICAvLyBUaGVyZSBpcyBjdXJyZW50bHkgbm8gcHVibGljIG1ldGhvZCBvbiBDZGtMaXN0Ym94IHRvIGdldCB0aGUgYWN0aXZlIGl0ZW0gb3Igc2VsZWN0IGl0IGRpcmVjdGx5LlxuICAgIHJldHVybiAoXG4gICAgICAodGhpcy5jZGtPcHRpb25zPy5maW5kKChvcHRpb24pID0+XG4gICAgICAgIEJvb2xlYW4odGhpcy5jZGtMaXN0Ym94Py5pc0FjdGl2ZShvcHRpb24pKVxuICAgICAgKT8udmFsdWUgYXMgc3RyaW5nKSA/PyBudWxsXG4gICAgKTtcbiAgfVxuXG4gIC8vLy8gQ29udHJvbFZhbHVlQWNjZXNzb3IgLy8vL1xuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gIH1cbiAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gIH1cbiAgd3JpdGVWYWx1ZShvYmo6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZXMgPSBvYmo7XG4gIH1cbiAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gIC8qKlxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgX2hhbmRsZVNlbGVjdGlvbkNoYW5nZSh7IHZhbHVlIH06IExpc3Rib3hWYWx1ZUNoYW5nZUV2ZW50PHN0cmluZz4pIHtcbiAgICB0aGlzLnNlbGVjdGVkVmFsdWVzID0gdmFsdWU7XG4gICAgdGhpcy5zZWxlY3RlZFZhbHVlc0NoYW5nZS5lbWl0KHZhbHVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgX2lzT3B0aW9uKGl0ZW06IExpc3Rib3hDaGlsZCk6IGl0ZW0gaXMgT3B0aW9uQ29tcG9uZW50IHtcbiAgICByZXR1cm4gaXRlbSBpbnN0YW5jZW9mIE9wdGlvbkNvbXBvbmVudDtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgX2lzU2VjdGlvbihpdGVtOiBMaXN0Ym94Q2hpbGQpOiBpdGVtIGlzIFNlY3Rpb25EaXJlY3RpdmUge1xuICAgIHJldHVybiBpdGVtIGluc3RhbmNlb2YgU2VjdGlvbkRpcmVjdGl2ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgX3Nob3VsZFVzZVZpcnR1YWxGb2N1cygpIHtcbiAgICByZXR1cm4gQm9vbGVhbih0aGlzLmNvbm5lY3RlZElucHV0KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgX2lzQ29ubmVjdGVkVG9JbnB1dCgpIHtcbiAgICByZXR1cm4gQm9vbGVhbih0aGlzLmNvbm5lY3RlZElucHV0KTtcbiAgfVxufVxuIiwiPHVsXG4gIGNsYXNzPVwic2FwcGhpcmUtbGlzdGJveFwiXG4gIGNka0xpc3Rib3hcbiAgW2lkXT1cImlkIHx8ICcnXCJcbiAgW2Nka0xpc3Rib3hDb21wYXJlV2l0aF09XCJcIlxuICBbY2RrTGlzdGJveE11bHRpcGxlXT1cIiEhbXVsdGlwbGVcIlxuICBbY2RrTGlzdGJveERpc2FibGVkXT1cIiEhZGlzYWJsZWRcIlxuICBbY2RrTGlzdGJveE5hdmlnYXRpb25XcmFwRGlzYWJsZWRdPVwiXG4gICAgbmF2aWdhdGlvbldyYXBEaXNhYmxlZCAmJiAhX2ZvcmNlRW5hYmxlTmF2aWdhdGlvbldyYXBcbiAgXCJcbiAgW2Nka0xpc3Rib3hWYWx1ZV09XCJfdmFsaWRTZWxlY3RlZFZhbHVlc1wiXG4gIFtjZGtMaXN0Ym94VXNlQWN0aXZlRGVzY2VuZGFudF09XCJfc2hvdWxkVXNlVmlydHVhbEZvY3VzKClcIlxuICAoY2RrTGlzdGJveFZhbHVlQ2hhbmdlKT1cIl9oYW5kbGVTZWxlY3Rpb25DaGFuZ2UoJGV2ZW50KVwiXG4gIChrZXlkb3duLmVudGVyKT1cInNlbGVjdGVkLmVtaXQoJGV2ZW50KVwiXG4gIChrZXlkb3duLnNwYWNlKT1cInNlbGVjdGVkLmVtaXQoJGV2ZW50KVwiXG4gIChtb3VzZWRvd24pPVwiX2lzQ29ubmVjdGVkVG9JbnB1dCgpICYmICRldmVudC5wcmV2ZW50RGVmYXVsdCgpXCJcbiAgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhTGFiZWxcIlxuICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiYXJpYUxhYmVsbGVkQnlcIlxuICBbY2xhc3Muc2FwcGhpcmUtbGlzdGJveC0tbWVkaXVtXT1cInNpemUgPT09ICdtZWRpdW0nXCJcbiAgW2NsYXNzLnNhcHBoaXJlLWxpc3Rib3gtLXNtYWxsXT1cInNpemUgPT09ICdzbWFsbCdcIlxuPlxuICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIG9wdGlvbnM7IGxldCBsYXN0ID0gbGFzdFwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJfaXNTZWN0aW9uKGl0ZW0pXCI+XG4gICAgICA8bGkgcm9sZT1cInByZXNlbnRhdGlvblwiPlxuICAgICAgICA8dWxcbiAgICAgICAgICByb2xlPVwiZ3JvdXBcIlxuICAgICAgICAgIGNsYXNzPVwic2FwcGhpcmUtbGlzdGJveF9fc2VjdGlvblwiXG4gICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJpdGVtLmFyaWFMYWJlbFwiXG4gICAgICAgID5cbiAgICAgICAgICA8bGlcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgaXRlbS5jaGlsZHJlblwiXG4gICAgICAgICAgICBbY2RrT3B0aW9uXT1cIm9wdGlvbi52YWx1ZVwiXG4gICAgICAgICAgICBbY2RrT3B0aW9uRGlzYWJsZWRdPVwiISFvcHRpb24uZGlzYWJsZWRcIlxuICAgICAgICAgICAgW2Nka09wdGlvblR5cGVhaGVhZExhYmVsXT1cIm9wdGlvbi5sYWJlbFwiXG4gICAgICAgICAgICAjY2RrT3B0aW9uPVwiY2RrT3B0aW9uXCJcbiAgICAgICAgICAgIHNwLWxpc3Rib3gtaXRlbVxuICAgICAgICAgICAgW29wdGlvbl09XCJvcHRpb25cIlxuICAgICAgICAgICAgW3NlbGVjdGVkXT1cImlzU2VsZWN0ZWQob3B0aW9uKVwiXG4gICAgICAgICAgICBbZm9jdXNlZF09XCJjZGtPcHRpb24uaXNBY3RpdmUoKVwiXG4gICAgICAgICAgICAoY2xpY2spPVwiIShkaXNhYmxlZCB8fCBvcHRpb24uZGlzYWJsZWQpICYmIHNlbGVjdGVkLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgICAgICBbc2l6ZV09XCJzaXplXCJcbiAgICAgICAgICA+PC9saT5cbiAgICAgICAgPC91bD5cbiAgICAgIDwvbGk+XG4gICAgICA8bGlcbiAgICAgICAgKm5nSWY9XCIhbGFzdFwiXG4gICAgICAgIHJvbGU9XCJzZXBhcmF0b3JcIlxuICAgICAgICBjbGFzcz1cInNhcHBoaXJlLWxpc3Rib3hfX3NlcGFyYXRvclwiXG4gICAgICA+PC9saT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bGlcbiAgICAgICpuZ0lmPVwiX2lzT3B0aW9uKGl0ZW0pXCJcbiAgICAgIFtjZGtPcHRpb25dPVwiaXRlbS52YWx1ZVwiXG4gICAgICBbY2RrT3B0aW9uRGlzYWJsZWRdPVwiISFpdGVtLmRpc2FibGVkXCJcbiAgICAgIFtjZGtPcHRpb25UeXBlYWhlYWRMYWJlbF09XCJpdGVtLmxhYmVsXCJcbiAgICAgICNjZGtPcHRpb249XCJjZGtPcHRpb25cIlxuICAgICAgc3AtbGlzdGJveC1pdGVtXG4gICAgICBbb3B0aW9uXT1cIml0ZW1cIlxuICAgICAgW3NlbGVjdGVkXT1cImlzU2VsZWN0ZWQoaXRlbSlcIlxuICAgICAgW2ZvY3VzZWRdPVwiY2RrT3B0aW9uLmlzQWN0aXZlKClcIlxuICAgICAgKGNsaWNrKT1cIiEoZGlzYWJsZWQgfHwgaXRlbS5kaXNhYmxlZCkgJiYgc2VsZWN0ZWQuZW1pdCgkZXZlbnQpXCJcbiAgICAgIFtzaXplXT1cInNpemVcIlxuICAgID48L2xpPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvdWw+XG4iXX0=
@@ -92,7 +92,7 @@ BasicSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", v
92
92
  useExisting: forwardRef(() => BasicSelectComponent),
93
93
  },
94
94
  ViewEncapsulationProvider,
95
- ], viewQueries: [{ propertyName: "triggerRef", first: true, predicate: ["triggerRef"], descendants: true }, { propertyName: "triggerElementRef", first: true, predicate: ["triggerElementRef"], descendants: true, read: ElementRef }, { propertyName: "listbox", first: true, predicate: ListboxComponent, descendants: true }], exportAs: ["spBasicSelect"], usesInheritance: true, ngImport: i0, template: "<div style=\"position: relative\">\n <sp-hidden-select></sp-hidden-select>\n <button\n sp-button\n [variant]=\"variant === 'primary' ? 'primary' : 'secondary'\"\n [appearance]=\"variant === 'uncontained' ? 'ghost' : 'fill'\"\n [size]=\"size\"\n iconAlign=\"right\"\n [spPopoverTriggerFor]=\"popover\"\n spPopoverPlacement=\"bottom start\"\n #triggerElementRef\n #triggerRef=\"spPopoverTrigger\"\n (keydown)=\"handleKeyDown($event)\"\n (spPopoverTriggerOpened)=\"_onOpen()\"\n (spPopoverTriggerClosed)=\"_onClose()\"\n cdkMonitorElementFocus\n (cdkFocusChange)=\"_onFocusChange($event)\"\n aria-haspopup=\"listbox\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n [disabled]=\"disabled\"\n >\n <span *ngIf=\"selectedOptions.length === 0\">\n {{ placeholder }}\n </span>\n <ng-container *ngIf=\"selectedOptions.length > 0\">\n <ng-container *ngIf=\"!selectionText\">{{\n getSelectionText()\n }}</ng-container>\n <ng-content select=\"sp-selection-text\"></ng-content>\n </ng-container>\n <sp-icon spButtonIcon name=\"chevronDown\"></sp-icon>\n </button>\n <ng-template #popover>\n <sp-popover noPadding>\n <sp-listbox\n [spListboxItems]=\"listboxChildren\"\n navigationWrapDisabled\n [multiple]=\"multiple\"\n [(selectedValues)]=\"listboxValue\"\n (selected)=\"_handleSelected()\"\n [size]=\"size\"\n >\n </sp-listbox>\n </sp-popover>\n </ng-template>\n</div>\n", styles: [".sapphire-select{position:relative;display:inline-block;color:var(--sapphire-select-color-content);width:var(--sapphire-select-size-width-control);font-family:var(--sapphire-select-font-name);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sapphire-select__button{display:flex;align-items:center;height:var(--sapphire-select-size-height-field-l);box-sizing:border-box;cursor:pointer;padding:0 var(--sapphire-select-size-spacing-control-horizontal-l);border:none;background-color:var(--sapphire-select-color-background-field);width:100%;outline:0;text-align:left;color:inherit;font-family:inherit;box-shadow:inset 0 0 0 1px var(--sapphire-select-color-border-field-default);border-radius:var(--sapphire-select-size-radius-field)}.sapphire-select--medium .sapphire-select__button{height:var(--sapphire-select-size-height-field-m);padding:0 var(--sapphire-select-size-spacing-control-horizontal-m)}.sapphire-select__value{flex:1 0 0;min-width:0;font-size:var(--sapphire-select-size-font-content-l);width:100%;font-weight:var(--sapphire-select-size-font-weight-item);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sapphire-select--medium .sapphire-select__value{font-size:var(--sapphire-select-size-font-content-m)}.sapphire-select__placeholder{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--sapphire-select-color-placeholder)}.sapphire-select__icon-container{line-height:0;width:var(--sapphire-select-size-width-icon-l);height:var(--sapphire-select-size-height-icon-l)}.sapphire-select--medium .sapphire-select__icon-container{width:var(--sapphire-select-size-width-icon-m);height:var(--sapphire-select-size-height-icon-m)}.sapphire-select__search-input:not([data-hidden=true]){all:inherit}.sapphire-select__search-input::placeholder{color:var(--sapphire-select-color-placeholder)}.sapphire-select__native-select{position:absolute;inset:0;opacity:.01;width:100%;z-index:1}.sapphire-select--error:not(.is-disabled) .sapphire-select__button{box-shadow:inset 0 0 0 1px var(--sapphire-select-color-border-field-error)}.sapphire-select:not(.is-disabled).is-focus .sapphire-select__button{box-shadow:inset 0 0 0 var(--sapphire-select-size-focus-ring) var(--sapphire-select-color-focus-ring)}.sapphire-select--error:not(.is-disabled).is-focus .sapphire-select__button{box-shadow:inset 0 0 0 var(--sapphire-select-size-focus-ring) var(--sapphire-select-color-border-field-error)}.sapphire-select.is-disabled .sapphire-select__button{cursor:not-allowed}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.IconComponent, selector: "sp-icon", inputs: ["name", "size"] }, { kind: "component", type: i5.ListboxComponent, selector: "sp-listbox", inputs: ["selectedValues", "spListboxItems", "disabled", "multiple", "navigationWrapDisabled", "aria-label", "aria-labelledby", "size", "id"], outputs: ["selectedValuesChange", "selected"], exportAs: ["spListbox"] }, { kind: "component", type: i6.PopoverComponent, selector: "sp-popover", inputs: ["noPadding", "noMaxWidth", "noAutoFocus", "trapFocus"] }, { kind: "directive", type: i7.PopoverTriggerDirective, selector: "[spPopoverTriggerFor]", inputs: ["spPopoverPlacement", "spPopoverTriggerFor", "spPopoverNonModal", "spPopoverTriggerOpenOnPressStart", "spPopoverTriggerCloseOnScroll", "spPopoverTriggerDisabled"], outputs: ["spPopoverTriggerOpened", "spPopoverTriggerClosed"], exportAs: ["spPopoverTrigger"] }, { kind: "directive", type: i2.CdkMonitorFocus, selector: "[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]", outputs: ["cdkFocusChange"], exportAs: ["cdkMonitorFocus"] }, { kind: "component", type: i8.ButtonComponent, selector: "button[sp-button], a[sp-button]", inputs: ["variant", "appearance", "surface", "size", "disabled", "iconAlign", "type"] }, { kind: "directive", type: i9.ButtonIconDirective, selector: "[spButtonIcon]" }, { kind: "component", type: i10.HiddenSelectComponent, selector: "sp-hidden-select" }] });
95
+ ], viewQueries: [{ propertyName: "triggerRef", first: true, predicate: ["triggerRef"], descendants: true }, { propertyName: "triggerElementRef", first: true, predicate: ["triggerElementRef"], descendants: true, read: ElementRef }, { propertyName: "listbox", first: true, predicate: ListboxComponent, descendants: true }], exportAs: ["spBasicSelect"], usesInheritance: true, ngImport: i0, template: "<div style=\"position: relative\">\n <sp-hidden-select></sp-hidden-select>\n <button\n sp-button\n [variant]=\"variant === 'primary' ? 'primary' : 'secondary'\"\n [appearance]=\"variant === 'uncontained' ? 'ghost' : 'fill'\"\n [size]=\"size\"\n iconAlign=\"right\"\n [spPopoverTriggerFor]=\"popover\"\n spPopoverPlacement=\"bottom start\"\n #triggerElementRef\n #triggerRef=\"spPopoverTrigger\"\n (keydown)=\"handleKeyDown($event)\"\n (spPopoverTriggerOpened)=\"_onOpen()\"\n (spPopoverTriggerClosed)=\"_onClose()\"\n cdkMonitorElementFocus\n (cdkFocusChange)=\"_onFocusChange($event)\"\n aria-haspopup=\"listbox\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n [disabled]=\"disabled\"\n >\n <span *ngIf=\"selectedOptions.length === 0\">\n {{ placeholder }}\n </span>\n <ng-container *ngIf=\"selectedOptions.length > 0\">\n <ng-container *ngIf=\"!selectionText\">{{\n getSelectionText()\n }}</ng-container>\n <ng-content select=\"sp-selection-text\"></ng-content>\n </ng-container>\n <sp-icon spButtonIcon name=\"chevronDown\"></sp-icon>\n </button>\n <ng-template #popover>\n <sp-popover noPadding>\n <sp-listbox\n [spListboxItems]=\"listboxChildren\"\n navigationWrapDisabled\n [multiple]=\"multiple\"\n [(selectedValues)]=\"listboxValue\"\n (selected)=\"_handleSelected()\"\n [size]=\"size\"\n >\n </sp-listbox>\n </sp-popover>\n </ng-template>\n</div>\n", styles: [".sapphire-select{position:relative;display:inline-block;color:var(--sapphire-select-color-content);width:var(--sapphire-select-size-width-control);font-family:var(--sapphire-select-font-name);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sapphire-select__button{display:flex;align-items:center;height:var(--sapphire-select-size-height-field-l);box-sizing:border-box;cursor:pointer;padding:0 var(--sapphire-select-size-spacing-control-horizontal-l);border:none;background-color:var(--sapphire-select-color-background-field);width:100%;outline:0;text-align:left;color:inherit;font-family:inherit;box-shadow:inset 0 0 0 1px var(--sapphire-select-color-border-field-default);border-radius:var(--sapphire-select-size-radius-field);gap:var(--sapphire-select-size-spacing-control-gap-l)}.sapphire-select--medium .sapphire-select__button{height:var(--sapphire-select-size-height-field-m);padding:0 var(--sapphire-select-size-spacing-control-horizontal-m);gap:var(--sapphire-select-size-spacing-control-gap-m)}.sapphire-select__value{flex:1 0 0;min-width:0;font-size:var(--sapphire-select-size-font-content-l);width:100%;font-weight:var(--sapphire-select-size-font-weight-item);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sapphire-select--medium .sapphire-select__value{font-size:var(--sapphire-select-size-font-content-m)}.sapphire-select__placeholder{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--sapphire-select-color-placeholder)}.sapphire-select__icon-container{line-height:0;width:var(--sapphire-select-size-width-icon-l);height:var(--sapphire-select-size-height-icon-l)}.sapphire-select--medium .sapphire-select__icon-container{width:var(--sapphire-select-size-width-icon-m);height:var(--sapphire-select-size-height-icon-m)}.sapphire-select__prefix{display:inherit;font-size:var(--sapphire-select-size-font-content-l)}.sapphire-select--medium .sapphire-select__prefix{font-size:var(--sapphire-select-size-font-content-m)}.sapphire-select__search-input:not([data-hidden=true]){all:inherit}.sapphire-select__search-input::placeholder{color:var(--sapphire-select-color-placeholder)}.sapphire-select__native-select{position:absolute;inset:0;opacity:.01;width:100%;z-index:1}.sapphire-select--error:not(.is-disabled) .sapphire-select__button{box-shadow:inset 0 0 0 1px var(--sapphire-select-color-border-field-error)}.sapphire-select:not(.is-disabled).is-focus .sapphire-select__button{box-shadow:inset 0 0 0 var(--sapphire-select-size-focus-ring) var(--sapphire-select-color-focus-ring)}.sapphire-select--error:not(.is-disabled).is-focus .sapphire-select__button{box-shadow:inset 0 0 0 var(--sapphire-select-size-focus-ring) var(--sapphire-select-color-border-field-error)}.sapphire-select.is-disabled .sapphire-select__button{cursor:not-allowed}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.IconComponent, selector: "sp-icon", inputs: ["name", "size"] }, { kind: "component", type: i5.ListboxComponent, selector: "sp-listbox", inputs: ["selectedValues", "spListboxItems", "disabled", "multiple", "navigationWrapDisabled", "aria-label", "aria-labelledby", "size", "id"], outputs: ["selectedValuesChange", "selected"], exportAs: ["spListbox"] }, { kind: "component", type: i6.PopoverComponent, selector: "sp-popover", inputs: ["noPadding", "noMaxWidth", "noAutoFocus", "trapFocus"] }, { kind: "directive", type: i7.PopoverTriggerDirective, selector: "[spPopoverTriggerFor]", inputs: ["spPopoverPlacement", "spPopoverTriggerFor", "spPopoverNonModal", "spPopoverTriggerOpenOnPressStart", "spPopoverTriggerCloseOnScroll", "spPopoverTriggerDisabled"], outputs: ["spPopoverTriggerOpened", "spPopoverTriggerClosed"], exportAs: ["spPopoverTrigger"] }, { kind: "directive", type: i2.CdkMonitorFocus, selector: "[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]", outputs: ["cdkFocusChange"], exportAs: ["cdkMonitorFocus"] }, { kind: "component", type: i8.ButtonComponent, selector: "button[sp-button], a[sp-button]", inputs: ["variant", "appearance", "surface", "size", "disabled", "iconAlign", "type"] }, { kind: "directive", type: i9.ButtonIconDirective, selector: "[spButtonIcon]" }, { kind: "component", type: i10.HiddenSelectComponent, selector: "sp-hidden-select" }] });
96
96
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: BasicSelectComponent, decorators: [{
97
97
  type: Component,
98
98
  args: [{ selector: 'sp-basic-select', exportAs: 'spBasicSelect', providers: [
@@ -109,7 +109,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
109
109
  ], host: {
110
110
  '[attr.aria-label]': 'null',
111
111
  '[attr.aria-labelledby]': 'null',
112
- }, template: "<div style=\"position: relative\">\n <sp-hidden-select></sp-hidden-select>\n <button\n sp-button\n [variant]=\"variant === 'primary' ? 'primary' : 'secondary'\"\n [appearance]=\"variant === 'uncontained' ? 'ghost' : 'fill'\"\n [size]=\"size\"\n iconAlign=\"right\"\n [spPopoverTriggerFor]=\"popover\"\n spPopoverPlacement=\"bottom start\"\n #triggerElementRef\n #triggerRef=\"spPopoverTrigger\"\n (keydown)=\"handleKeyDown($event)\"\n (spPopoverTriggerOpened)=\"_onOpen()\"\n (spPopoverTriggerClosed)=\"_onClose()\"\n cdkMonitorElementFocus\n (cdkFocusChange)=\"_onFocusChange($event)\"\n aria-haspopup=\"listbox\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n [disabled]=\"disabled\"\n >\n <span *ngIf=\"selectedOptions.length === 0\">\n {{ placeholder }}\n </span>\n <ng-container *ngIf=\"selectedOptions.length > 0\">\n <ng-container *ngIf=\"!selectionText\">{{\n getSelectionText()\n }}</ng-container>\n <ng-content select=\"sp-selection-text\"></ng-content>\n </ng-container>\n <sp-icon spButtonIcon name=\"chevronDown\"></sp-icon>\n </button>\n <ng-template #popover>\n <sp-popover noPadding>\n <sp-listbox\n [spListboxItems]=\"listboxChildren\"\n navigationWrapDisabled\n [multiple]=\"multiple\"\n [(selectedValues)]=\"listboxValue\"\n (selected)=\"_handleSelected()\"\n [size]=\"size\"\n >\n </sp-listbox>\n </sp-popover>\n </ng-template>\n</div>\n", styles: [".sapphire-select{position:relative;display:inline-block;color:var(--sapphire-select-color-content);width:var(--sapphire-select-size-width-control);font-family:var(--sapphire-select-font-name);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sapphire-select__button{display:flex;align-items:center;height:var(--sapphire-select-size-height-field-l);box-sizing:border-box;cursor:pointer;padding:0 var(--sapphire-select-size-spacing-control-horizontal-l);border:none;background-color:var(--sapphire-select-color-background-field);width:100%;outline:0;text-align:left;color:inherit;font-family:inherit;box-shadow:inset 0 0 0 1px var(--sapphire-select-color-border-field-default);border-radius:var(--sapphire-select-size-radius-field)}.sapphire-select--medium .sapphire-select__button{height:var(--sapphire-select-size-height-field-m);padding:0 var(--sapphire-select-size-spacing-control-horizontal-m)}.sapphire-select__value{flex:1 0 0;min-width:0;font-size:var(--sapphire-select-size-font-content-l);width:100%;font-weight:var(--sapphire-select-size-font-weight-item);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sapphire-select--medium .sapphire-select__value{font-size:var(--sapphire-select-size-font-content-m)}.sapphire-select__placeholder{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--sapphire-select-color-placeholder)}.sapphire-select__icon-container{line-height:0;width:var(--sapphire-select-size-width-icon-l);height:var(--sapphire-select-size-height-icon-l)}.sapphire-select--medium .sapphire-select__icon-container{width:var(--sapphire-select-size-width-icon-m);height:var(--sapphire-select-size-height-icon-m)}.sapphire-select__search-input:not([data-hidden=true]){all:inherit}.sapphire-select__search-input::placeholder{color:var(--sapphire-select-color-placeholder)}.sapphire-select__native-select{position:absolute;inset:0;opacity:.01;width:100%;z-index:1}.sapphire-select--error:not(.is-disabled) .sapphire-select__button{box-shadow:inset 0 0 0 1px var(--sapphire-select-color-border-field-error)}.sapphire-select:not(.is-disabled).is-focus .sapphire-select__button{box-shadow:inset 0 0 0 var(--sapphire-select-size-focus-ring) var(--sapphire-select-color-focus-ring)}.sapphire-select--error:not(.is-disabled).is-focus .sapphire-select__button{box-shadow:inset 0 0 0 var(--sapphire-select-size-focus-ring) var(--sapphire-select-color-border-field-error)}.sapphire-select.is-disabled .sapphire-select__button{cursor:not-allowed}\n"] }]
112
+ }, template: "<div style=\"position: relative\">\n <sp-hidden-select></sp-hidden-select>\n <button\n sp-button\n [variant]=\"variant === 'primary' ? 'primary' : 'secondary'\"\n [appearance]=\"variant === 'uncontained' ? 'ghost' : 'fill'\"\n [size]=\"size\"\n iconAlign=\"right\"\n [spPopoverTriggerFor]=\"popover\"\n spPopoverPlacement=\"bottom start\"\n #triggerElementRef\n #triggerRef=\"spPopoverTrigger\"\n (keydown)=\"handleKeyDown($event)\"\n (spPopoverTriggerOpened)=\"_onOpen()\"\n (spPopoverTriggerClosed)=\"_onClose()\"\n cdkMonitorElementFocus\n (cdkFocusChange)=\"_onFocusChange($event)\"\n aria-haspopup=\"listbox\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n [disabled]=\"disabled\"\n >\n <span *ngIf=\"selectedOptions.length === 0\">\n {{ placeholder }}\n </span>\n <ng-container *ngIf=\"selectedOptions.length > 0\">\n <ng-container *ngIf=\"!selectionText\">{{\n getSelectionText()\n }}</ng-container>\n <ng-content select=\"sp-selection-text\"></ng-content>\n </ng-container>\n <sp-icon spButtonIcon name=\"chevronDown\"></sp-icon>\n </button>\n <ng-template #popover>\n <sp-popover noPadding>\n <sp-listbox\n [spListboxItems]=\"listboxChildren\"\n navigationWrapDisabled\n [multiple]=\"multiple\"\n [(selectedValues)]=\"listboxValue\"\n (selected)=\"_handleSelected()\"\n [size]=\"size\"\n >\n </sp-listbox>\n </sp-popover>\n </ng-template>\n</div>\n", styles: [".sapphire-select{position:relative;display:inline-block;color:var(--sapphire-select-color-content);width:var(--sapphire-select-size-width-control);font-family:var(--sapphire-select-font-name);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sapphire-select__button{display:flex;align-items:center;height:var(--sapphire-select-size-height-field-l);box-sizing:border-box;cursor:pointer;padding:0 var(--sapphire-select-size-spacing-control-horizontal-l);border:none;background-color:var(--sapphire-select-color-background-field);width:100%;outline:0;text-align:left;color:inherit;font-family:inherit;box-shadow:inset 0 0 0 1px var(--sapphire-select-color-border-field-default);border-radius:var(--sapphire-select-size-radius-field);gap:var(--sapphire-select-size-spacing-control-gap-l)}.sapphire-select--medium .sapphire-select__button{height:var(--sapphire-select-size-height-field-m);padding:0 var(--sapphire-select-size-spacing-control-horizontal-m);gap:var(--sapphire-select-size-spacing-control-gap-m)}.sapphire-select__value{flex:1 0 0;min-width:0;font-size:var(--sapphire-select-size-font-content-l);width:100%;font-weight:var(--sapphire-select-size-font-weight-item);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sapphire-select--medium .sapphire-select__value{font-size:var(--sapphire-select-size-font-content-m)}.sapphire-select__placeholder{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--sapphire-select-color-placeholder)}.sapphire-select__icon-container{line-height:0;width:var(--sapphire-select-size-width-icon-l);height:var(--sapphire-select-size-height-icon-l)}.sapphire-select--medium .sapphire-select__icon-container{width:var(--sapphire-select-size-width-icon-m);height:var(--sapphire-select-size-height-icon-m)}.sapphire-select__prefix{display:inherit;font-size:var(--sapphire-select-size-font-content-l)}.sapphire-select--medium .sapphire-select__prefix{font-size:var(--sapphire-select-size-font-content-m)}.sapphire-select__search-input:not([data-hidden=true]){all:inherit}.sapphire-select__search-input::placeholder{color:var(--sapphire-select-color-placeholder)}.sapphire-select__native-select{position:absolute;inset:0;opacity:.01;width:100%;z-index:1}.sapphire-select--error:not(.is-disabled) .sapphire-select__button{box-shadow:inset 0 0 0 1px var(--sapphire-select-color-border-field-error)}.sapphire-select:not(.is-disabled).is-focus .sapphire-select__button{box-shadow:inset 0 0 0 var(--sapphire-select-size-focus-ring) var(--sapphire-select-color-focus-ring)}.sapphire-select--error:not(.is-disabled).is-focus .sapphire-select__button{box-shadow:inset 0 0 0 var(--sapphire-select-size-focus-ring) var(--sapphire-select-color-border-field-error)}.sapphire-select.is-disabled .sapphire-select__button{cursor:not-allowed}\n"] }]
113
113
  }], ctorParameters: function () { return [{ type: i1.SelectValueHolder }, { type: i2.FocusMonitor }]; }, propDecorators: { size: [{
114
114
  type: Input
115
115
  }], variant: [{
@@ -266,4 +266,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
266
266
  type: ContentChild,
267
267
  args: [SelectionTextDirective]
268
268
  }] } });
269
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWNvbXBvbmVudC1iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZWxlY3Qvc3JjL2NvbW1vbi9zZWxlY3QtY29tcG9uZW50LWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUV6RSxPQUFPLEVBQ0wsWUFBWSxFQUVaLGVBQWUsR0FDaEIsTUFBTSw2QkFBNkIsQ0FBQztBQUVyQyxPQUFPLEVBRUwsaUJBQWlCLEVBQ2pCLFlBQVksRUFDWixlQUFlLEVBQ2YsU0FBUyxFQUVULFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzNELE9BQU8sRUFFTCxjQUFjLEdBRWYsTUFBTSxtQkFBbUIsQ0FBQztBQUUzQixPQUFPLEVBQ0wsd0JBQXdCLEdBRXpCLE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7OztBQUc1RSxNQUFNLE9BQWdCLG1CQUFtQjtJQTZFdkMsSUFBSSxZQUFZLENBQUMsS0FBd0I7UUFDdkMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1QyxJQUFJLENBQUMsNEJBQTRCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBQ0QsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQzVDLENBQUM7SUFDRCxJQUFJLGVBQWU7UUFDakIsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQ3JD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WTtnQkFHbkIsY0FBYztzQkFEYixLQUFLO3VCQUFDLGlCQUFpQjtnQkFJeEIsYUFBYTtzQkFEWixZQUFZO3VCQUFDLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvZXJjZUJvb2xlYW4gfSBmcm9tICcuLi8uLi8uLi9jb21tb24vY29lcmNlLWJvb2xlYW4uZGVjb3JhdG9yJztcbmltcG9ydCB7IEJvb2xlYW5JbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQge1xuICBMaXN0Ym94Q2hpbGQsXG4gIExpc3Rib3hDb21wb25lbnQsXG4gIE9wdGlvbkNvbXBvbmVudCxcbn0gZnJvbSAnLi4vLi4vLi4vbGlzdGJveC9wdWJsaWNfYXBpJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbnRlbnRDaGlsZCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgaW5qZWN0LFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBdXRvSWQgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vYXV0by1pZC5kZWNvcmF0b3InO1xuaW1wb3J0IHtcbiAgRm9jdXNPcmlnaW4sXG4gIExpc3RLZXlNYW5hZ2VyLFxuICBMaXN0S2V5TWFuYWdlck9wdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgUG9wb3ZlclRyaWdnZXJEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi9wb3BvdmVyL3NyYy9wb3BvdmVyLXRyaWdnZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7XG4gIE11bHRpU2VsZWN0RGlyZWN0aXZlQmFzZSxcbiAgU2VsZWN0VmFsdWVIb2xkZXIsXG59IGZyb20gJy4vc2VsZWN0LXZhbHVlLWhvbGRlcic7XG5pbXBvcnQgeyBTZWxlY3Rpb25UZXh0RGlyZWN0aXZlIH0gZnJvbSAnLi4vc2VsZWN0L3NlbGVjdGlvbi10ZXh0LmRpcmVjdGl2ZSc7XG5cbkBEaXJlY3RpdmUoKSAvLyBUaGlzIGlzIG5lZWRlZCBmb3IgZGVjb3JhdG9ycyBsaWtlIElucHV0IHRvIHdvcmtcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBTZWxlY3RDb21wb25lbnRCYXNlXG4gIGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEFmdGVyQ29udGVudEluaXQsIE9uRGVzdHJveVxue1xuICAvKipcbiAgICogV2hldGhlciB0aGUgY29tcG9uZW50IGlzIGRpc2FibGVkLlxuICAgKi9cbiAgQElucHV0KClcbiAgQENvZXJjZUJvb2xlYW5cbiAgZGlzYWJsZWQ6IEJvb2xlYW5JbnB1dDtcblxuICAvKiogQSB1bmlxdWUgaWQgZm9yIHRoZSBzZWxlY3QuIElmIG5vbmUgaXMgc3VwcGxpZWQsIGl0IHdpbGwgYmUgYXV0by1nZW5lcmF0ZWQuICovXG4gIEBJbnB1dCgpXG4gIEBBdXRvSWQoKVxuICBpZCA9ICcnO1xuXG4gIC8qKiBUaGUgbmFtZSBvZiB0aGUgaW5wdXQsIHVzZWQgd2hlbiBzdWJtaXR0aW5nIGFuIEhUTUwgZm9ybS4gKi9cbiAgQElucHV0KClcbiAgbmFtZT86IHN0cmluZztcblxuICAvKiogVGhlIGF1dG9jb21wbGV0ZSBiZWhhdmlvciAqL1xuICBASW5wdXQoKVxuICBhdXRvY29tcGxldGU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBsYWNlaG9sZGVyIHRvIGJlIHNob3duIGlmIG5vIHZhbHVlIGhhcyBiZWVuIHNlbGVjdGVkLlxuICAgKi9cbiAgQElucHV0KCkgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgcG9wb3ZlciBpcyBvcGVuZWRcbiAgICovXG4gIEBPdXRwdXQoKVxuICByZWFkb25seSBvcGVuZWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBwb3BvdmVyIGlzIGNsb3NlZFxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHJlYWRvbmx5IGNsb3NlZDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oT3B0aW9uQ29tcG9uZW50LCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pXG4gIHB1YmxpYyBvcHRpb25zOiBRdWVyeUxpc3Q8T3B0aW9uQ29tcG9uZW50PiA9IG5ldyBRdWVyeUxpc3Q8T3B0aW9uQ29tcG9uZW50PigpO1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oTGlzdGJveENoaWxkKVxuICBwdWJsaWMgbGlzdGJveENoaWxkcmVuOiBRdWVyeUxpc3Q8TGlzdGJveENoaWxkPiA9IG5ldyBRdWVyeUxpc3Q8TGlzdGJveENoaWxkPigpO1xuXG4gIC8qKlxuICAgKiBNYW5hZ2VzIGtleWJvYXJkIGV2ZW50cyBmb3Igb3B0aW9ucyBpbiB0aGUgcGFuZWwuXG4gICAqL1xuICBwcm90ZWN0ZWQga2V5TWFuYWdlcjpcbiAgICB8IExpc3RLZXlNYW5hZ2VyPHsgdmFsdWU6IHN0cmluZyB9ICYgTGlzdEtleU1hbmFnZXJPcHRpb24+XG4gICAgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIEVtaXRzIHdoZW5ldmVyIHRoZSBkcm9wZG93biBpcyBjbG9zZWQgYXMgYSByZXN1bHQgb2YgYW4gb3B0aW9uIChhbHJlYWR5XG4gICAqIHNlbGVjdGVkIG9yIG5vdCkgYmVpbmcgc2VsZWN0ZWQuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgc2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQElucHV0KCdhcmlhLWxhYmVsJylcbiAgYXJpYUxhYmVsOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgQElucHV0KCdhcmlhLWxhYmVsbGVkYnknKVxuICBhcmlhTGFiZWxsZWRieT86IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gIEBDb250ZW50Q2hpbGQoU2VsZWN0aW9uVGV4dERpcmVjdGl2ZSlcbiAgc2VsZWN0aW9uVGV4dD86IFNlbGVjdGlvblRleHREaXJlY3RpdmU7XG5cbiAgLyoqXG4gICAqIFVzZWQgdG8gd29yayBhcm91bmQgRXhwcmVzc2lvbkNoYW5nZWRBZnRlckl0SGFzQmVlbkNoZWNrZWRFcnJvciBlcnJvciB0aHJvd24gZnJvbSBIaWRkZW5TZWxlY3QsXG4gICAqIHdoZW4gdGhlIHNlbGVjdCBjb21wb25lbnQgaXMgcmVuZGVyZWQgZnJvbSBhIHRlbXBsYXRlIChlLmcuIHdpdGggKm5nSWYpLiBJdCdzIHNldCB0byB0cnVlXG4gICAqIGFzeW5jaHJvbm91c2x5IGFmdGVyIGNvbnRlbnQgaXMgaW5pdGlhbGl6ZWQsIHRvIGRlbGF5IHJlbmRlcmluZyBvZiB0aGluZ3MgdGhhdCBkZXBlbmQgb25cbiAgICogb3B0aW9ucy4gSXQncyBub3QgY2xlYXIgd2h5IHRoZSBpc3N1ZSBoYXBwZW5zLCBhbmQgaXQgb25seSBoYXBwZW5zIHdoZW4gc2VsZWN0IGlzIHVzZWQgd2l0aFxuICAgKiAqbmdJZiwgb3IgZ2VuZXJhbGx5IGluIGEgdGVtcGxhdGUuXG4gICAqL1xuICBfaW5pdGlhbGl6ZWQgPSBmYWxzZTtcblxuICBzZXQgbGlzdGJveFZhbHVlKHZhbHVlOiByZWFkb25seSBzdHJpbmdbXSkge1xuICAgIHRoaXMudmFsdWVIb2xkZXIuc2V0RnJvbUxpc3Rib3hWYWx1ZSh2YWx1ZSk7XG4gICAgdGhpcy5jb250cm9sVmFsdWVBY2Nlc3NvckNoYW5nZUZuKHRoaXMudmFsdWVIb2xkZXIudmFsdWUpO1xuICB9XG4gIGdldCBsaXN0Ym94VmFsdWUoKSB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWVIb2xkZXIuZ2V0TGlzdGJveFZhbHVlKCk7XG4gIH1cbiAgZ2V0IHNlbGVjdGVkT3B0aW9ucygpIHtcbiAgICByZXR1cm4gdGhpcy5vcHRpb25zPy5maWx0ZXIoKG9wdGlvbikgPT5cbiAgICAgIHRoaXMubGlzdGJveFZhbHVlLmluY2x1ZGVzKG9wdGlvbi52YWx1ZSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZiA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG5cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIHZhbHVlSG9sZGVyOiBTZWxlY3RWYWx1ZUhvbGRlcikge31cblxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgdHJpZ2dlclJlZjogUG9wb3ZlclRyaWdnZXJEaXJlY3RpdmUgfCB1bmRlZmluZWQ7XG4gIHByb3RlY3RlZCBhYnN0cmFjdCB0cmlnZ2VyRWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4gfCB1bmRlZmluZWQ7XG4gIHByb3RlY3RlZCBhYnN0cmFjdCBsaXN0Ym94OiBMaXN0Ym94Q29tcG9uZW50IHwgdW5kZWZpbmVkO1xuICBwdWJsaWMgYWJzdHJhY3QgZm9jdXMoZm9jdXNPcmlnaW46IEZvY3VzT3JpZ2luKTogdm9pZDtcbiAgcHVibGljIGFic3RyYWN0IGlzRm9jdXNlZCgpOiBib29sZWFuO1xuXG4gIGhhbmRsZUtleURvd24oJGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgaWYgKCRldmVudC50YXJnZXQgIT09IHRoaXMudHJpZ2dlckVsZW1lbnRSZWY/Lm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgc3dpdGNoICgkZXZlbnQua2V5KSB7XG4gICAgICBjYXNlICdBcnJvd0Rvd24nOlxuICAgICAgICB0aGlzLnRyaWdnZXJSZWY/Lm9wZW4oKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdBcnJvd1VwJzpcbiAgICAgICAgdGhpcy50cmlnZ2VyUmVmPy5vcGVuKCk7XG4gICAgICAgIC8vIHdlIG5lZWQgdG8gZGVsYXkgaXQgYSBsaXR0bGUsIHNpbmNlIHRoZSBsaXN0Ym94IHdpbGwgYXV0b2ZvY3VzXG4gICAgICAgIC8vIHRoZSBmaXJzdCBpdGVtLlxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICBpZiAodGhpcy5vcHRpb25zPy5sYXN0ICYmIHRoaXMubGlzdGJveFZhbHVlLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgdGhpcy5saXN0Ym94Py5zZXRBY3RpdmVPcHRpb24odGhpcy5vcHRpb25zPy5sYXN0LnZhbHVlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0Fycm93UmlnaHQnOlxuICAgICAgY2FzZSAnQXJyb3dMZWZ0JzpcbiAgICAgICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcbiAgICAgICAgICB0aGlzLnRyaWdnZXJSZWY/Lm9wZW4oKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zdCBvcHRpb24gPSB0aGlzLmdldE5leHRFbmFibGVkT3B0aW9uVmFsdWUoXG4gICAgICAgICAgICAkZXZlbnQua2V5ID09PSAnQXJyb3dMZWZ0JyA/ICdsZWZ0JyA6ICdyaWdodCdcbiAgICAgICAgICApO1xuICAgICAgICAgIGlmIChvcHRpb24pIHtcbiAgICAgICAgICAgIHRoaXMubGlzdGJveFZhbHVlID0gW29wdGlvbl07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhpcy5rZXlNYW5hZ2VyPy5vbktleWRvd24oJGV2ZW50KTtcbiAgICB9XG4gIH1cblxuICBnZXRTZWxlY3Rpb25UZXh0KCk6IHN0cmluZyB7XG4gICAgY29uc3Qgc2VsZWN0ZWRPcHRpb25zID0gdGhpcy5zZWxlY3RlZE9wdGlvbnM7XG4gICAgaWYgKHNlbGVjdGVkT3B0aW9ucy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG4gICAgaWYgKHNlbGVjdGVkT3B0aW9ucy5sZW5ndGggPT09IDEpIHtcbiAgICAgIHJldHVybiBzZWxlY3RlZE9wdGlvbnNbMF0/LmxhYmVsO1xuICAgIH1cbiAgICByZXR1cm4gYCR7XG4gICAgICBzZWxlY3RlZE9wdGlvbnMubGVuZ3RoID09PSB0aGlzLm9wdGlvbnMubGVuZ3RoXG4gICAgICAgID8gJ0FsbCdcbiAgICAgICAgOiBzZWxlY3RlZE9wdGlvbnMubGVuZ3RoXG4gICAgfSBzZWxlY3RlZGA7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciBtdWx0aXBsZSBzZWxlY3Rpb24gaXMgYWxsb3dlZC5cbiAgICovXG4gIGdldCBtdWx0aXBsZSgpIHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZUhvbGRlciBpbnN0YW5jZW9mIE11bHRpU2VsZWN0RGlyZWN0aXZlQmFzZTtcbiAgfVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmluaXRLZXlNYW5hZ2VyKCk7XG5cbiAgICB0aGlzLm9wdGlvbnMuY2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5pbml0S2V5TWFuYWdlcigpO1xuICAgIH0pO1xuICAgIFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCkgPT4ge1xuICAgICAgdGhpcy5faW5pdGlhbGl6ZWQgPSB0cnVlO1xuICAgIH0pO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIC8qKlxuICAgICAqIFRoaXMgaXMgdG8gYXZvaWQgYW4gTkcwMTAwIEV4cHJlc3Npb25DaGFuZ2VkQWZ0ZXIuLi4gZXJyb3Igd2hlbiB0aGVyZSBpcyBhbiBpbml0aWFsIHZhbHVlXG4gICAgICogVGhlIGlzc3VlIGlzIHByb2JhYmx5IGR1ZSB0byB0aGUgZmFjdCB0aGF0IG9wdGlvbnMgYXJlIGRlZmluZWQgd2l0aGluZyB0aGUgKipjb250ZW50KipcbiAgICAgKiAoc3Atb3B0aW9uIGVsZW1lbnRzKSwgc28gdGhlIGxpc3Rib3ggdmFsdWUgY2FuIGNoYW5nZSBhZnRlciB0aGUgdmlldyBvZiBzZWxlY3QgaXMgY2hlY2tlZCxcbiAgICAgKiBpZiB0aGVyZSBpcyBhIGRlZmF1bHQgdmFsdWUuIEFuZCB0aGF0IGxlYWRzIHRvIHRoZSBlcnJvciwgc2luY2Ugd2UgaGF2ZSBiaW5kaW5ncyBpbiB0aGVcbiAgICAgKiB0ZW1wbGF0ZSwgc3VjaCBhcyBgZ2V0U2VsZWN0aW9uVGV4dCgpYCwgdGhhdCBkZXBlbmQgb24gdGhlIGxpc3Rib3ggdmFsdWUuXG4gICAgICovXG4gICAgaWYgKHRoaXMubGlzdGJveFZhbHVlLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMua2V5TWFuYWdlcj8uZGVzdHJveSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIGFuIGl0ZW0gaW4gdGhlIGxpc3Rib3ggaXMgc2VsZWN0ZWQuXG4gICAqL1xuICBfaGFuZGxlU2VsZWN0ZWQoKSB7XG4gICAgaWYgKCF0aGlzLm11bHRpcGxlKSB7XG4gICAgICB0aGlzLnRyaWdnZXJSZWY/LmNsb3NlKCk7XG4gICAgfVxuICAgIHRoaXMuc2VsZWN0ZWQuZW1pdCgpO1xuICB9XG5cbiAgaXNPcGVuKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnRyaWdnZXJSZWY/LmlzT3BlbigpID8/IGZhbHNlO1xuICB9XG5cbiAgb3BlbigpIHtcbiAgICB0aGlzLnRyaWdnZXJSZWY/Lm9wZW4oKTtcbiAgfVxuXG4gIGNsb3NlKCkge1xuICAgIHRoaXMudHJpZ2dlclJlZj8uY2xvc2UoKTtcbiAgfVxuXG4gIHRvZ2dsZSgpIHtcbiAgICB0aGlzLnRyaWdnZXJSZWY/Lm9wZW4oKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRGaWVsZExhYmVsPygpOiBzdHJpbmc7XG5cbiAgZ2V0TGFiZWxUZXh0KCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuICh0aGlzLmdldEZpZWxkTGFiZWw/LigpID8/IHRoaXMuYXJpYUxhYmVsKT8udHJpbSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNvbnRyb2xWYWx1ZUFjY2Vzc29yQ2hhbmdlRm46ICh2YWx1ZTogYW55KSA9PiB2b2lkID0gKCkgPT4ge307XG4gIHB1YmxpYyBvblRvdWNoZWQ6ICgpID0+IGFueSA9ICgpID0+IHt9O1xuXG4gIHB1YmxpYyBfb25PcGVuKCk6IHZvaWQge1xuICAgIHRoaXMub3BlbmVkLmVtaXQoKTtcbiAgfVxuXG4gIHB1YmxpYyBfb25DbG9zZSgpOiB2b2lkIHtcbiAgICB0aGlzLmNsb3NlZC5lbWl0KCk7XG4gICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbXBsZW1lbnRlZCBhcyBwYXJ0IG9mIENvbnRyb2xWYWx1ZUFjY2Vzc29yLlxuICAgKi9cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5jb250cm9sVmFsdWVBY2Nlc3NvckNoYW5nZUZuID0gZm47XG4gIH1cblxuICAvKipcbiAgICogSW1wbGVtZW50ZWQgYXMgcGFydCBvZiBDb250cm9sVmFsdWVBY2Nlc3Nvci5cbiAgICovXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgLyoqXG4gICAqIEltcGxlbWVudGVkIGFzIHBhcnQgb2YgQ29udHJvbFZhbHVlQWNjZXNzb3IuXG4gICAqL1xuICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbXBsZW1lbnRlZCBhcyBwYXJ0IG9mIENvbnRyb2xWYWx1ZUFjY2Vzc29yLlxuICAgKi9cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogdW5rbm93bik6IHZvaWQge1xuICAgIHRoaXMudmFsdWVIb2xkZXIudmFsdWUgPSB2YWx1ZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXROZXh0RW5hYmxlZE9wdGlvblZhbHVlKGRpcmVjdGlvbjogJ2xlZnQnIHwgJ3JpZ2h0JyA9ICdyaWdodCcpIHtcbiAgICBjb25zdCBvcHRpb25zQXJyYXkgPSB0aGlzLm9wdGlvbnM/LnRvQXJyYXkoKSB8fCBbXTtcbiAgICBsZXQgbmV4dE5vbkRpc2FibGVkT3B0aW9uO1xuICAgIGNvbnN0IHNlbGVjdGVkT3B0aW9uID0gdGhpcy5zZWxlY3RlZE9wdGlvbnNbMF07XG5cbiAgICBjb25zdCBjdXJyZW50T3B0aW9uSW5kZXggPVxuICAgICAgKHNlbGVjdGVkT3B0aW9uICYmIG9wdGlvbnNBcnJheS5pbmRleE9mKHNlbGVjdGVkT3B0aW9uKSkgPz8gLTE7XG4gICAgY29uc3Qgbm90RGlzYWJsZWQgPSAobzogT3B0aW9uQ29tcG9uZW50KSA9PiAhby5kaXNhYmxlZDtcblxuICAgIGlmIChjdXJyZW50T3B0aW9uSW5kZXggPT09IC0xKSB7XG4gICAgICBuZXh0Tm9uRGlzYWJsZWRPcHRpb24gPSBvcHRpb25zQXJyYXkuZmluZChub3REaXNhYmxlZCk7XG4gICAgfSBlbHNlIGlmIChkaXJlY3Rpb24gPT09ICdsZWZ0Jykge1xuICAgICAgbmV4dE5vbkRpc2FibGVkT3B0aW9uID0gb3B0aW9uc0FycmF5XG4gICAgICAgIC5zbGljZSgwLCBjdXJyZW50T3B0aW9uSW5kZXgpXG4gICAgICAgIC5yZXZlcnNlKClcbiAgICAgICAgLmZpbmQobm90RGlzYWJsZWQpO1xuICAgIH0gZWxzZSB7XG4gICAgICBuZXh0Tm9uRGlzYWJsZWRPcHRpb24gPSBvcHRpb25zQXJyYXlcbiAgICAgICAgLnNsaWNlKGN1cnJlbnRPcHRpb25JbmRleCArIDEsIG9wdGlvbnNBcnJheS5sZW5ndGgpXG4gICAgICAgIC5maW5kKG5vdERpc2FibGVkKTtcbiAgICB9XG5cbiAgICBjb25zdCBuZXh0Tm9uRGlzYWJsZWRPcHRpb25JbmRleCA9IG5leHROb25EaXNhYmxlZE9wdGlvblxuICAgICAgPyBvcHRpb25zQXJyYXkuaW5kZXhPZihuZXh0Tm9uRGlzYWJsZWRPcHRpb24pXG4gICAgICA6IGN1cnJlbnRPcHRpb25JbmRleDtcbiAgICByZXR1cm4gdGhpcy5vcHRpb25zPy5nZXQobmV4dE5vbkRpc2FibGVkT3B0aW9uSW5kZXgpPy52YWx1ZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBpbml0S2V5TWFuYWdlcigpOiB2b2lkIHtcbiAgICAvLyBkZXN0cm95IGFueSBleGlzdGluZyBrZXkgbWFuYWdlclxuICAgIHRoaXMua2V5TWFuYWdlcj8uZGVzdHJveSgpO1xuXG4gICAgdGhpcy5rZXlNYW5hZ2VyID0gbmV3IExpc3RLZXlNYW5hZ2VyPFxuICAgICAgeyB2YWx1ZTogc3RyaW5nIH0gJiBMaXN0S2V5TWFuYWdlck9wdGlvblxuICAgID4oXG4gICAgICB0aGlzLm9wdGlvbnMubWFwKChvcHRpb24pID0+ICh7XG4gICAgICAgIHZhbHVlOiBvcHRpb24udmFsdWUsXG4gICAgICAgIGdldExhYmVsOiAoKSA9PiBvcHRpb24ubGFiZWwsXG4gICAgICAgIGRpc2FibGVkOiAhIW9wdGlvbi5kaXNhYmxlZCxcbiAgICAgIH0pKVxuICAgICkud2l0aFR5cGVBaGVhZCgpO1xuXG4gICAgdGhpcy5rZXlNYW5hZ2VyLmNoYW5nZS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgY29uc3Qgc2VsZWN0ZWRPcHRpb24gPSB0aGlzLm9wdGlvbnM/LmZpbmQoXG4gICAgICAgIChvcHRpb24pID0+IHRoaXMua2V5TWFuYWdlcj8uYWN0aXZlSXRlbT8udmFsdWUgPT09IG9wdGlvbi52YWx1ZVxuICAgICAgKTtcblxuICAgICAgaWYgKHNlbGVjdGVkT3B0aW9uKSB7XG4gICAgICAgIHRoaXMubGlzdGJveFZhbHVlID0gW3NlbGVjdGVkT3B0aW9uLnZhbHVlXTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuIl19
269
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWNvbXBvbmVudC1iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZWxlY3Qvc3JjL2NvbW1vbi9zZWxlY3QtY29tcG9uZW50LWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUV6RSxPQUFPLEVBQ0wsWUFBWSxFQUVaLGVBQWUsR0FDaEIsTUFBTSw2QkFBNkIsQ0FBQztBQUVyQyxPQUFPLEVBRUwsaUJBQWlCLEVBQ2pCLFlBQVksRUFDWixlQUFlLEVBQ2YsU0FBUyxFQUVULFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzNELE9BQU8sRUFFTCxjQUFjLEdBRWYsTUFBTSxtQkFBbUIsQ0FBQztBQUUzQixPQUFPLEVBQ0wsd0JBQXdCLEdBRXpCLE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7OztBQUc1RSxNQUFNLE9BQWdCLG1CQUFtQjtJQThFdkMsSUFBSSxZQUFZLENBQUMsS0FBd0I7UUFDdkMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1QyxJQUFJLENBQUMsNEJBQTRCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBQ0QsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQzVDLENBQUM7SUFDRCxJQUFJLGVBQWU7UUFDakIsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQ3JD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QVk7Z0JBR25CLGNBQWM7c0JBRGIsS0FBSzt1QkFBQyxpQkFBaUI7Z0JBSXhCLGFBQWE7c0JBRFosWUFBWTt1QkFBQyxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2VyY2VCb29sZWFuIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2NvZXJjZS1ib29sZWFuLmRlY29yYXRvcic7XG5pbXBvcnQgeyBCb29sZWFuSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHtcbiAgTGlzdGJveENoaWxkLFxuICBMaXN0Ym94Q29tcG9uZW50LFxuICBPcHRpb25Db21wb25lbnQsXG59IGZyb20gJy4uLy4uLy4uL2xpc3Rib3gvcHVibGljX2FwaSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gIEFmdGVyQ29udGVudEluaXQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb250ZW50Q2hpbGQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIGluamVjdCxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXV0b0lkIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2F1dG8taWQuZGVjb3JhdG9yJztcbmltcG9ydCB7XG4gIEZvY3VzT3JpZ2luLFxuICBMaXN0S2V5TWFuYWdlcixcbiAgTGlzdEtleU1hbmFnZXJPcHRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IFBvcG92ZXJUcmlnZ2VyRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vcG9wb3Zlci9zcmMvcG9wb3Zlci10cmlnZ2VyLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1xuICBNdWx0aVNlbGVjdERpcmVjdGl2ZUJhc2UsXG4gIFNlbGVjdFZhbHVlSG9sZGVyLFxufSBmcm9tICcuL3NlbGVjdC12YWx1ZS1ob2xkZXInO1xuaW1wb3J0IHsgU2VsZWN0aW9uVGV4dERpcmVjdGl2ZSB9IGZyb20gJy4uL3NlbGVjdC9zZWxlY3Rpb24tdGV4dC5kaXJlY3RpdmUnO1xuXG5ARGlyZWN0aXZlKCkgLy8gVGhpcyBpcyBuZWVkZWQgZm9yIGRlY29yYXRvcnMgbGlrZSBJbnB1dCB0byB3b3JrXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgU2VsZWN0Q29tcG9uZW50QmFzZVxuICBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3lcbntcbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGNvbXBvbmVudCBpcyBkaXNhYmxlZC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIEBDb2VyY2VCb29sZWFuXG4gIGRpc2FibGVkOiBCb29sZWFuSW5wdXQ7XG5cbiAgLyoqIEEgdW5pcXVlIGlkIGZvciB0aGUgc2VsZWN0LiBJZiBub25lIGlzIHN1cHBsaWVkLCBpdCB3aWxsIGJlIGF1dG8tZ2VuZXJhdGVkLiAqL1xuICBASW5wdXQoKVxuICBAQXV0b0lkKClcbiAgaWQgPSAnJztcblxuICAvKiogVGhlIG5hbWUgb2YgdGhlIGlucHV0LCB1c2VkIHdoZW4gc3VibWl0dGluZyBhbiBIVE1MIGZvcm0uICovXG4gIEBJbnB1dCgpXG4gIG5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqIFRoZSBhdXRvY29tcGxldGUgYmVoYXZpb3IgKi9cbiAgQElucHV0KClcbiAgYXV0b2NvbXBsZXRlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQbGFjZWhvbGRlciB0byBiZSBzaG93biBpZiBubyB2YWx1ZSBoYXMgYmVlbiBzZWxlY3RlZC5cbiAgICovXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIHBvcG92ZXIgaXMgb3BlbmVkXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcmVhZG9ubHkgb3BlbmVkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgcG9wb3ZlciBpcyBjbG9zZWRcbiAgICovXG4gIEBPdXRwdXQoKVxuICByZWFkb25seSBjbG9zZWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBAQ29udGVudENoaWxkcmVuKE9wdGlvbkNvbXBvbmVudCwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICBwdWJsaWMgb3B0aW9uczogUXVlcnlMaXN0PE9wdGlvbkNvbXBvbmVudD4gPSBuZXcgUXVlcnlMaXN0PE9wdGlvbkNvbXBvbmVudD4oKTtcblxuICBAQ29udGVudENoaWxkcmVuKExpc3Rib3hDaGlsZClcbiAgcHVibGljIGxpc3Rib3hDaGlsZHJlbjogUXVlcnlMaXN0PExpc3Rib3hDaGlsZD4gPVxuICAgIG5ldyBRdWVyeUxpc3Q8TGlzdGJveENoaWxkPigpO1xuXG4gIC8qKlxuICAgKiBNYW5hZ2VzIGtleWJvYXJkIGV2ZW50cyBmb3Igb3B0aW9ucyBpbiB0aGUgcGFuZWwuXG4gICAqL1xuICBwcm90ZWN0ZWQga2V5TWFuYWdlcjpcbiAgICB8IExpc3RLZXlNYW5hZ2VyPHsgdmFsdWU6IHN0cmluZyB9ICYgTGlzdEtleU1hbmFnZXJPcHRpb24+XG4gICAgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIEVtaXRzIHdoZW5ldmVyIHRoZSBkcm9wZG93biBpcyBjbG9zZWQgYXMgYSByZXN1bHQgb2YgYW4gb3B0aW9uIChhbHJlYWR5XG4gICAqIHNlbGVjdGVkIG9yIG5vdCkgYmVpbmcgc2VsZWN0ZWQuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgc2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQElucHV0KCdhcmlhLWxhYmVsJylcbiAgYXJpYUxhYmVsOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgQElucHV0KCdhcmlhLWxhYmVsbGVkYnknKVxuICBhcmlhTGFiZWxsZWRieT86IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gIEBDb250ZW50Q2hpbGQoU2VsZWN0aW9uVGV4dERpcmVjdGl2ZSlcbiAgc2VsZWN0aW9uVGV4dD86IFNlbGVjdGlvblRleHREaXJlY3RpdmU7XG5cbiAgLyoqXG4gICAqIFVzZWQgdG8gd29yayBhcm91bmQgRXhwcmVzc2lvbkNoYW5nZWRBZnRlckl0SGFzQmVlbkNoZWNrZWRFcnJvciBlcnJvciB0aHJvd24gZnJvbSBIaWRkZW5TZWxlY3QsXG4gICAqIHdoZW4gdGhlIHNlbGVjdCBjb21wb25lbnQgaXMgcmVuZGVyZWQgZnJvbSBhIHRlbXBsYXRlIChlLmcuIHdpdGggKm5nSWYpLiBJdCdzIHNldCB0byB0cnVlXG4gICAqIGFzeW5jaHJvbm91c2x5IGFmdGVyIGNvbnRlbnQgaXMgaW5pdGlhbGl6ZWQsIHRvIGRlbGF5IHJlbmRlcmluZyBvZiB0aGluZ3MgdGhhdCBkZXBlbmQgb25cbiAgICogb3B0aW9ucy4gSXQncyBub3QgY2xlYXIgd2h5IHRoZSBpc3N1ZSBoYXBwZW5zLCBhbmQgaXQgb25seSBoYXBwZW5zIHdoZW4gc2VsZWN0IGlzIHVzZWQgd2l0aFxuICAgKiAqbmdJZiwgb3IgZ2VuZXJhbGx5IGluIGEgdGVtcGxhdGUuXG4gICAqL1xuICBfaW5pdGlhbGl6ZWQgPSBmYWxzZTtcblxuICBzZXQgbGlzdGJveFZhbHVlKHZhbHVlOiByZWFkb25seSBzdHJpbmdbXSkge1xuICAgIHRoaXMudmFsdWVIb2xkZXIuc2V0RnJvbUxpc3Rib3hWYWx1ZSh2YWx1ZSk7XG4gICAgdGhpcy5jb250cm9sVmFsdWVBY2Nlc3NvckNoYW5nZUZuKHRoaXMudmFsdWVIb2xkZXIudmFsdWUpO1xuICB9XG4gIGdldCBsaXN0Ym94VmFsdWUoKSB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWVIb2xkZXIuZ2V0TGlzdGJveFZhbHVlKCk7XG4gIH1cbiAgZ2V0IHNlbGVjdGVkT3B0aW9ucygpIHtcbiAgICByZXR1cm4gdGhpcy5vcHRpb25zPy5maWx0ZXIoKG9wdGlvbikgPT5cbiAgICAgIHRoaXMubGlzdGJveFZhbHVlLmluY2x1ZGVzKG9wdGlvbi52YWx1ZSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZiA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG5cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIHZhbHVlSG9sZGVyOiBTZWxlY3RWYWx1ZUhvbGRlcikge31cblxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgdHJpZ2dlclJlZjogUG9wb3ZlclRyaWdnZXJEaXJlY3RpdmUgfCB1bmRlZmluZWQ7XG4gIHByb3RlY3RlZCBhYnN0cmFjdCB0cmlnZ2VyRWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4gfCB1bmRlZmluZWQ7XG4gIHByb3RlY3RlZCBhYnN0cmFjdCBsaXN0Ym94OiBMaXN0Ym94Q29tcG9uZW50IHwgdW5kZWZpbmVkO1xuICBwdWJsaWMgYWJzdHJhY3QgZm9jdXMoZm9jdXNPcmlnaW46IEZvY3VzT3JpZ2luKTogdm9pZDtcbiAgcHVibGljIGFic3RyYWN0IGlzRm9jdXNlZCgpOiBib29sZWFuO1xuXG4gIGhhbmRsZUtleURvd24oJGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgaWYgKCRldmVudC50YXJnZXQgIT09IHRoaXMudHJpZ2dlckVsZW1lbnRSZWY/Lm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgc3dpdGNoICgkZXZlbnQua2V5KSB7XG4gICAgICBjYXNlICdBcnJvd0Rvd24nOlxuICAgICAgICB0aGlzLnRyaWdnZXJSZWY/Lm9wZW4oKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdBcnJvd1VwJzpcbiAgICAgICAgdGhpcy50cmlnZ2VyUmVmPy5vcGVuKCk7XG4gICAgICAgIC8vIHdlIG5lZWQgdG8gZGVsYXkgaXQgYSBsaXR0bGUsIHNpbmNlIHRoZSBsaXN0Ym94IHdpbGwgYXV0b2ZvY3VzXG4gICAgICAgIC8vIHRoZSBmaXJzdCBpdGVtLlxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICBpZiAodGhpcy5vcHRpb25zPy5sYXN0ICYmIHRoaXMubGlzdGJveFZhbHVlLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgdGhpcy5saXN0Ym94Py5zZXRBY3RpdmVPcHRpb24odGhpcy5vcHRpb25zPy5sYXN0LnZhbHVlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0Fycm93UmlnaHQnOlxuICAgICAgY2FzZSAnQXJyb3dMZWZ0JzpcbiAgICAgICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcbiAgICAgICAgICB0aGlzLnRyaWdnZXJSZWY/Lm9wZW4oKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zdCBvcHRpb24gPSB0aGlzLmdldE5leHRFbmFibGVkT3B0aW9uVmFsdWUoXG4gICAgICAgICAgICAkZXZlbnQua2V5ID09PSAnQXJyb3dMZWZ0JyA/ICdsZWZ0JyA6ICdyaWdodCdcbiAgICAgICAgICApO1xuICAgICAgICAgIGlmIChvcHRpb24pIHtcbiAgICAgICAgICAgIHRoaXMubGlzdGJveFZhbHVlID0gW29wdGlvbl07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhpcy5rZXlNYW5hZ2VyPy5vbktleWRvd24oJGV2ZW50KTtcbiAgICB9XG4gIH1cblxuICBnZXRTZWxlY3Rpb25UZXh0KCk6IHN0cmluZyB7XG4gICAgY29uc3Qgc2VsZWN0ZWRPcHRpb25zID0gdGhpcy5zZWxlY3RlZE9wdGlvbnM7XG4gICAgaWYgKHNlbGVjdGVkT3B0aW9ucy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG4gICAgaWYgKHNlbGVjdGVkT3B0aW9ucy5sZW5ndGggPT09IDEpIHtcbiAgICAgIHJldHVybiBzZWxlY3RlZE9wdGlvbnNbMF0/LmxhYmVsO1xuICAgIH1cbiAgICByZXR1cm4gYCR7XG4gICAgICBzZWxlY3RlZE9wdGlvbnMubGVuZ3RoID09PSB0aGlzLm9wdGlvbnMubGVuZ3RoXG4gICAgICAgID8gJ0FsbCdcbiAgICAgICAgOiBzZWxlY3RlZE9wdGlvbnMubGVuZ3RoXG4gICAgfSBzZWxlY3RlZGA7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciBtdWx0aXBsZSBzZWxlY3Rpb24gaXMgYWxsb3dlZC5cbiAgICovXG4gIGdldCBtdWx0aXBsZSgpIHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZUhvbGRlciBpbnN0YW5jZW9mIE11bHRpU2VsZWN0RGlyZWN0aXZlQmFzZTtcbiAgfVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmluaXRLZXlNYW5hZ2VyKCk7XG5cbiAgICB0aGlzLm9wdGlvbnMuY2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5pbml0S2V5TWFuYWdlcigpO1xuICAgIH0pO1xuICAgIFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCkgPT4ge1xuICAgICAgdGhpcy5faW5pdGlhbGl6ZWQgPSB0cnVlO1xuICAgIH0pO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIC8qKlxuICAgICAqIFRoaXMgaXMgdG8gYXZvaWQgYW4gTkcwMTAwIEV4cHJlc3Npb25DaGFuZ2VkQWZ0ZXIuLi4gZXJyb3Igd2hlbiB0aGVyZSBpcyBhbiBpbml0aWFsIHZhbHVlXG4gICAgICogVGhlIGlzc3VlIGlzIHByb2JhYmx5IGR1ZSB0byB0aGUgZmFjdCB0aGF0IG9wdGlvbnMgYXJlIGRlZmluZWQgd2l0aGluZyB0aGUgKipjb250ZW50KipcbiAgICAgKiAoc3Atb3B0aW9uIGVsZW1lbnRzKSwgc28gdGhlIGxpc3Rib3ggdmFsdWUgY2FuIGNoYW5nZSBhZnRlciB0aGUgdmlldyBvZiBzZWxlY3QgaXMgY2hlY2tlZCxcbiAgICAgKiBpZiB0aGVyZSBpcyBhIGRlZmF1bHQgdmFsdWUuIEFuZCB0aGF0IGxlYWRzIHRvIHRoZSBlcnJvciwgc2luY2Ugd2UgaGF2ZSBiaW5kaW5ncyBpbiB0aGVcbiAgICAgKiB0ZW1wbGF0ZSwgc3VjaCBhcyBgZ2V0U2VsZWN0aW9uVGV4dCgpYCwgdGhhdCBkZXBlbmQgb24gdGhlIGxpc3Rib3ggdmFsdWUuXG4gICAgICovXG4gICAgaWYgKHRoaXMubGlzdGJveFZhbHVlLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMua2V5TWFuYWdlcj8uZGVzdHJveSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIGFuIGl0ZW0gaW4gdGhlIGxpc3Rib3ggaXMgc2VsZWN0ZWQuXG4gICAqL1xuICBfaGFuZGxlU2VsZWN0ZWQoKSB7XG4gICAgaWYgKCF0aGlzLm11bHRpcGxlKSB7XG4gICAgICB0aGlzLnRyaWdnZXJSZWY/LmNsb3NlKCk7XG4gICAgfVxuICAgIHRoaXMuc2VsZWN0ZWQuZW1pdCgpO1xuICB9XG5cbiAgaXNPcGVuKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnRyaWdnZXJSZWY/LmlzT3BlbigpID8/IGZhbHNlO1xuICB9XG5cbiAgb3BlbigpIHtcbiAgICB0aGlzLnRyaWdnZXJSZWY/Lm9wZW4oKTtcbiAgfVxuXG4gIGNsb3NlKCkge1xuICAgIHRoaXMudHJpZ2dlclJlZj8uY2xvc2UoKTtcbiAgfVxuXG4gIHRvZ2dsZSgpIHtcbiAgICB0aGlzLnRyaWdnZXJSZWY/Lm9wZW4oKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRGaWVsZExhYmVsPygpOiBzdHJpbmc7XG5cbiAgZ2V0TGFiZWxUZXh0KCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuICh0aGlzLmdldEZpZWxkTGFiZWw/LigpID8/IHRoaXMuYXJpYUxhYmVsKT8udHJpbSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNvbnRyb2xWYWx1ZUFjY2Vzc29yQ2hhbmdlRm46ICh2YWx1ZTogYW55KSA9PiB2b2lkID0gKCkgPT4ge307XG4gIHB1YmxpYyBvblRvdWNoZWQ6ICgpID0+IGFueSA9ICgpID0+IHt9O1xuXG4gIHB1YmxpYyBfb25PcGVuKCk6IHZvaWQge1xuICAgIHRoaXMub3BlbmVkLmVtaXQoKTtcbiAgfVxuXG4gIHB1YmxpYyBfb25DbG9zZSgpOiB2b2lkIHtcbiAgICB0aGlzLmNsb3NlZC5lbWl0KCk7XG4gICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbXBsZW1lbnRlZCBhcyBwYXJ0IG9mIENvbnRyb2xWYWx1ZUFjY2Vzc29yLlxuICAgKi9cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5jb250cm9sVmFsdWVBY2Nlc3NvckNoYW5nZUZuID0gZm47XG4gIH1cblxuICAvKipcbiAgICogSW1wbGVtZW50ZWQgYXMgcGFydCBvZiBDb250cm9sVmFsdWVBY2Nlc3Nvci5cbiAgICovXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgLyoqXG4gICAqIEltcGxlbWVudGVkIGFzIHBhcnQgb2YgQ29udHJvbFZhbHVlQWNjZXNzb3IuXG4gICAqL1xuICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbXBsZW1lbnRlZCBhcyBwYXJ0IG9mIENvbnRyb2xWYWx1ZUFjY2Vzc29yLlxuICAgKi9cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogdW5rbm93bik6IHZvaWQge1xuICAgIHRoaXMudmFsdWVIb2xkZXIudmFsdWUgPSB2YWx1ZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXROZXh0RW5hYmxlZE9wdGlvblZhbHVlKGRpcmVjdGlvbjogJ2xlZnQnIHwgJ3JpZ2h0JyA9ICdyaWdodCcpIHtcbiAgICBjb25zdCBvcHRpb25zQXJyYXkgPSB0aGlzLm9wdGlvbnM/LnRvQXJyYXkoKSB8fCBbXTtcbiAgICBsZXQgbmV4dE5vbkRpc2FibGVkT3B0aW9uO1xuICAgIGNvbnN0IHNlbGVjdGVkT3B0aW9uID0gdGhpcy5zZWxlY3RlZE9wdGlvbnNbMF07XG5cbiAgICBjb25zdCBjdXJyZW50T3B0aW9uSW5kZXggPVxuICAgICAgKHNlbGVjdGVkT3B0aW9uICYmIG9wdGlvbnNBcnJheS5pbmRleE9mKHNlbGVjdGVkT3B0aW9uKSkgPz8gLTE7XG4gICAgY29uc3Qgbm90RGlzYWJsZWQgPSAobzogT3B0aW9uQ29tcG9uZW50KSA9PiAhby5kaXNhYmxlZDtcblxuICAgIGlmIChjdXJyZW50T3B0aW9uSW5kZXggPT09IC0xKSB7XG4gICAgICBuZXh0Tm9uRGlzYWJsZWRPcHRpb24gPSBvcHRpb25zQXJyYXkuZmluZChub3REaXNhYmxlZCk7XG4gICAgfSBlbHNlIGlmIChkaXJlY3Rpb24gPT09ICdsZWZ0Jykge1xuICAgICAgbmV4dE5vbkRpc2FibGVkT3B0aW9uID0gb3B0aW9uc0FycmF5XG4gICAgICAgIC5zbGljZSgwLCBjdXJyZW50T3B0aW9uSW5kZXgpXG4gICAgICAgIC5yZXZlcnNlKClcbiAgICAgICAgLmZpbmQobm90RGlzYWJsZWQpO1xuICAgIH0gZWxzZSB7XG4gICAgICBuZXh0Tm9uRGlzYWJsZWRPcHRpb24gPSBvcHRpb25zQXJyYXlcbiAgICAgICAgLnNsaWNlKGN1cnJlbnRPcHRpb25JbmRleCArIDEsIG9wdGlvbnNBcnJheS5sZW5ndGgpXG4gICAgICAgIC5maW5kKG5vdERpc2FibGVkKTtcbiAgICB9XG5cbiAgICBjb25zdCBuZXh0Tm9uRGlzYWJsZWRPcHRpb25JbmRleCA9IG5leHROb25EaXNhYmxlZE9wdGlvblxuICAgICAgPyBvcHRpb25zQXJyYXkuaW5kZXhPZihuZXh0Tm9uRGlzYWJsZWRPcHRpb24pXG4gICAgICA6IGN1cnJlbnRPcHRpb25JbmRleDtcbiAgICByZXR1cm4gdGhpcy5vcHRpb25zPy5nZXQobmV4dE5vbkRpc2FibGVkT3B0aW9uSW5kZXgpPy52YWx1ZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBpbml0S2V5TWFuYWdlcigpOiB2b2lkIHtcbiAgICAvLyBkZXN0cm95IGFueSBleGlzdGluZyBrZXkgbWFuYWdlclxuICAgIHRoaXMua2V5TWFuYWdlcj8uZGVzdHJveSgpO1xuXG4gICAgdGhpcy5rZXlNYW5hZ2VyID0gbmV3IExpc3RLZXlNYW5hZ2VyPFxuICAgICAgeyB2YWx1ZTogc3RyaW5nIH0gJiBMaXN0S2V5TWFuYWdlck9wdGlvblxuICAgID4oXG4gICAgICB0aGlzLm9wdGlvbnMubWFwKChvcHRpb24pID0+ICh7XG4gICAgICAgIHZhbHVlOiBvcHRpb24udmFsdWUsXG4gICAgICAgIGdldExhYmVsOiAoKSA9PiBvcHRpb24ubGFiZWwsXG4gICAgICAgIGRpc2FibGVkOiAhIW9wdGlvbi5kaXNhYmxlZCxcbiAgICAgIH0pKVxuICAgICkud2l0aFR5cGVBaGVhZCgpO1xuXG4gICAgdGhpcy5rZXlNYW5hZ2VyLmNoYW5nZS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgY29uc3Qgc2VsZWN0ZWRPcHRpb24gPSB0aGlzLm9wdGlvbnM/LmZpbmQoXG4gICAgICAgIChvcHRpb24pID0+IHRoaXMua2V5TWFuYWdlcj8uYWN0aXZlSXRlbT8udmFsdWUgPT09IG9wdGlvbi52YWx1ZVxuICAgICAgKTtcblxuICAgICAgaWYgKHNlbGVjdGVkT3B0aW9uKSB7XG4gICAgICAgIHRoaXMubGlzdGJveFZhbHVlID0gW3NlbGVjdGVkT3B0aW9uLnZhbHVlXTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -305,7 +305,7 @@ SelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", versio
305
305
  provide: FieldControl,
306
306
  useExisting: forwardRef(() => SelectComponent),
307
307
  },
308
- ], viewQueries: [{ propertyName: "triggerRef", first: true, predicate: ["triggerRef"], descendants: true }, { propertyName: "triggerElementRef", first: true, predicate: ["triggerElementRef"], descendants: true, read: ElementRef }, { propertyName: "listbox", first: true, predicate: ListboxComponent, descendants: true }, { propertyName: "searchInput", first: true, predicate: ["searchInput"], descendants: true, read: ElementRef }], exportAs: ["spSelect"], usesInheritance: true, hostDirectives: [{ directive: i5.UseComponentStylesOnHost }], ngImport: i0, template: "<sp-hidden-select></sp-hidden-select>\n<div\n role=\"button\"\n aria-haspopup=\"listbox\"\n class=\"sapphire-select__button\"\n [spPopoverTriggerFor]=\"popover\"\n [spPopoverTriggerDisabled]=\"disabled\"\n spPopoverTriggerOpenOnPressStart\n spPopoverTriggerCloseOnScroll\n spPopoverPlacement=\"bottom start\"\n #triggerElementRef\n #triggerRef=\"spPopoverTrigger\"\n (keydown)=\"handleKeyDown($event)\"\n (spPopoverTriggerClosed)=\"_onClose()\"\n (spPopoverTriggerOpened)=\"_onOpen()\"\n (focus)=\"_onFocus()\"\n cdkMonitorSubtreeFocus\n (cdkFocusChange)=\"_onFocusChange($event)\"\n [spPopoverNonModal]=\"searchable\"\n [id]=\"id\"\n [tabindex]=\"-1\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"_getAriaLabelledBy()\"\n [attr.aria-describedby]=\"_field?.error?.id || _field?.note?.id\"\n [attr.aria-invalid]=\"_field?.hasError() ? true : null\"\n>\n <div class=\"sapphire-select__value\" [id]=\"_valueContainerId\">\n <input\n *ngIf=\"searchable\"\n #searchInput\n tabindex=\"-1\"\n role=\"combobox\"\n class=\"sapphire-select__search-input\"\n [spListboxInput]=\"listbox\"\n [spVisuallyHidden]=\"!_isInputVisible()\"\n [attr.data-hidden]=\"!_isInputVisible()\"\n [placeholder]=\"placeholder || ''\"\n (keydown)=\"_onInputKeydown($event)\"\n (beforeinput)=\"open()\"\n [value]=\"_searchableSelectDirective?.searchValue\"\n (input)=\"_onSearchInput($event)\"\n />\n <ng-container *ngIf=\"!searchable || !_isInputVisible()\">\n <div\n *ngIf=\"selectedOptions.length === 0\"\n class=\"sapphire-select__placeholder\"\n >\n {{ placeholder }}\n </div>\n <ng-container *ngIf=\"selectedOptions.length > 0\">\n <ng-container *ngIf=\"!selectionText\">{{\n getSelectionText()\n }}</ng-container>\n <ng-content select=\"sp-selection-text\"></ng-content>\n </ng-container>\n </ng-container>\n </div>\n <div class=\"sapphire-select__icon-container\">\n <sp-icon name=\"chevronDown\"></sp-icon>\n </div>\n</div>\n<ng-template #popover>\n <sp-popover\n [style.display]=\"\n (filteredChildren$ | async)?.length === 0 ? 'none' : undefined\n \"\n noPadding\n noMaxWidth\n [style.min-width]=\"triggerElementRef.offsetWidth + 'px'\"\n >\n <sp-listbox\n [spListboxItems]=\"(filteredChildren$ | async) || undefined\"\n navigationWrapDisabled\n [multiple]=\"multiple\"\n [(selectedValues)]=\"listboxValue\"\n (selectedValuesChange)=\"_searchableSelectDirective?.setSearchValue('')\"\n (selected)=\"_handleSelected()\"\n [size]=\"_field?.size\"\n >\n </sp-listbox>\n </sp-popover>\n</ng-template>\n", styles: [".sapphire-select{position:relative;display:inline-block;color:var(--sapphire-select-color-content);width:var(--sapphire-select-size-width-control);font-family:var(--sapphire-select-font-name);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sapphire-select__button{display:flex;align-items:center;height:var(--sapphire-select-size-height-field-l);box-sizing:border-box;cursor:pointer;padding:0 var(--sapphire-select-size-spacing-control-horizontal-l);border:none;background-color:var(--sapphire-select-color-background-field);width:100%;outline:0;text-align:left;color:inherit;font-family:inherit;box-shadow:inset 0 0 0 1px var(--sapphire-select-color-border-field-default);border-radius:var(--sapphire-select-size-radius-field)}.sapphire-select--medium .sapphire-select__button{height:var(--sapphire-select-size-height-field-m);padding:0 var(--sapphire-select-size-spacing-control-horizontal-m)}.sapphire-select__value{flex:1 0 0;min-width:0;font-size:var(--sapphire-select-size-font-content-l);width:100%;font-weight:var(--sapphire-select-size-font-weight-item);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sapphire-select--medium .sapphire-select__value{font-size:var(--sapphire-select-size-font-content-m)}.sapphire-select__placeholder{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--sapphire-select-color-placeholder)}.sapphire-select__icon-container{line-height:0;width:var(--sapphire-select-size-width-icon-l);height:var(--sapphire-select-size-height-icon-l)}.sapphire-select--medium .sapphire-select__icon-container{width:var(--sapphire-select-size-width-icon-m);height:var(--sapphire-select-size-height-icon-m)}.sapphire-select__search-input:not([data-hidden=true]){all:inherit}.sapphire-select__search-input::placeholder{color:var(--sapphire-select-color-placeholder)}.sapphire-select__native-select{position:absolute;inset:0;opacity:.01;width:100%;z-index:1}.sapphire-select--error:not(.is-disabled) .sapphire-select__button{box-shadow:inset 0 0 0 1px var(--sapphire-select-color-border-field-error)}.sapphire-select:not(.is-disabled).is-focus .sapphire-select__button{box-shadow:inset 0 0 0 var(--sapphire-select-size-focus-ring) var(--sapphire-select-color-focus-ring)}.sapphire-select--error:not(.is-disabled).is-focus .sapphire-select__button{box-shadow:inset 0 0 0 var(--sapphire-select-size-focus-ring) var(--sapphire-select-color-border-field-error)}.sapphire-select.is-disabled .sapphire-select__button{cursor:not-allowed}\n"], dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i7.IconComponent, selector: "sp-icon", inputs: ["name", "size"] }, { kind: "component", type: i8.ListboxComponent, selector: "sp-listbox", inputs: ["selectedValues", "spListboxItems", "disabled", "multiple", "navigationWrapDisabled", "aria-label", "aria-labelledby", "size", "id"], outputs: ["selectedValuesChange", "selected"], exportAs: ["spListbox"] }, { kind: "directive", type: i9.ListboxInputDirective, selector: "input[spListboxInput]", inputs: ["spListboxInput"] }, { kind: "component", type: i10.PopoverComponent, selector: "sp-popover", inputs: ["noPadding", "noMaxWidth", "noAutoFocus", "trapFocus"] }, { kind: "directive", type: i11.PopoverTriggerDirective, selector: "[spPopoverTriggerFor]", inputs: ["spPopoverPlacement", "spPopoverTriggerFor", "spPopoverNonModal", "spPopoverTriggerOpenOnPressStart", "spPopoverTriggerCloseOnScroll", "spPopoverTriggerDisabled"], outputs: ["spPopoverTriggerOpened", "spPopoverTriggerClosed"], exportAs: ["spPopoverTrigger"] }, { kind: "directive", type: i2.CdkMonitorFocus, selector: "[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]", outputs: ["cdkFocusChange"], exportAs: ["cdkMonitorFocus"] }, { kind: "directive", type: i12.VisuallyHiddenDirective, selector: "[spVisuallyHidden]", inputs: ["spVisuallyHidden"] }, { kind: "component", type: i13.HiddenSelectComponent, selector: "sp-hidden-select" }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }] });
308
+ ], viewQueries: [{ propertyName: "triggerRef", first: true, predicate: ["triggerRef"], descendants: true }, { propertyName: "triggerElementRef", first: true, predicate: ["triggerElementRef"], descendants: true, read: ElementRef }, { propertyName: "listbox", first: true, predicate: ListboxComponent, descendants: true }, { propertyName: "searchInput", first: true, predicate: ["searchInput"], descendants: true, read: ElementRef }], exportAs: ["spSelect"], usesInheritance: true, hostDirectives: [{ directive: i5.UseComponentStylesOnHost }], ngImport: i0, template: "<sp-hidden-select></sp-hidden-select>\n<div\n role=\"button\"\n aria-haspopup=\"listbox\"\n class=\"sapphire-select__button\"\n [spPopoverTriggerFor]=\"popover\"\n [spPopoverTriggerDisabled]=\"disabled\"\n spPopoverTriggerOpenOnPressStart\n spPopoverTriggerCloseOnScroll\n spPopoverPlacement=\"bottom start\"\n #triggerElementRef\n #triggerRef=\"spPopoverTrigger\"\n (keydown)=\"handleKeyDown($event)\"\n (spPopoverTriggerClosed)=\"_onClose()\"\n (spPopoverTriggerOpened)=\"_onOpen()\"\n (focus)=\"_onFocus()\"\n cdkMonitorSubtreeFocus\n (cdkFocusChange)=\"_onFocusChange($event)\"\n [spPopoverNonModal]=\"searchable\"\n [id]=\"id\"\n [tabindex]=\"-1\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"_getAriaLabelledBy()\"\n [attr.aria-describedby]=\"_field?.error?.id || _field?.note?.id\"\n [attr.aria-invalid]=\"_field?.hasError() ? true : null\"\n>\n <div class=\"sapphire-select__value\" [id]=\"_valueContainerId\">\n <input\n *ngIf=\"searchable\"\n #searchInput\n tabindex=\"-1\"\n role=\"combobox\"\n class=\"sapphire-select__search-input\"\n [spListboxInput]=\"listbox\"\n [spVisuallyHidden]=\"!_isInputVisible()\"\n [attr.data-hidden]=\"!_isInputVisible()\"\n [placeholder]=\"placeholder || ''\"\n (keydown)=\"_onInputKeydown($event)\"\n (beforeinput)=\"open()\"\n [value]=\"_searchableSelectDirective?.searchValue\"\n (input)=\"_onSearchInput($event)\"\n />\n <ng-container *ngIf=\"!searchable || !_isInputVisible()\">\n <div\n *ngIf=\"selectedOptions.length === 0\"\n class=\"sapphire-select__placeholder\"\n >\n {{ placeholder }}\n </div>\n <ng-container *ngIf=\"selectedOptions.length > 0\">\n <ng-container *ngIf=\"!selectionText\">{{\n getSelectionText()\n }}</ng-container>\n <ng-content select=\"sp-selection-text\"></ng-content>\n </ng-container>\n </ng-container>\n </div>\n <div class=\"sapphire-select__icon-container\">\n <sp-icon name=\"chevronDown\"></sp-icon>\n </div>\n</div>\n<ng-template #popover>\n <sp-popover\n [style.display]=\"\n (filteredChildren$ | async)?.length === 0 ? 'none' : undefined\n \"\n noPadding\n noMaxWidth\n [style.min-width]=\"triggerElementRef.offsetWidth + 'px'\"\n >\n <sp-listbox\n [spListboxItems]=\"(filteredChildren$ | async) || undefined\"\n navigationWrapDisabled\n [multiple]=\"multiple\"\n [(selectedValues)]=\"listboxValue\"\n (selectedValuesChange)=\"_searchableSelectDirective?.setSearchValue('')\"\n (selected)=\"_handleSelected()\"\n [size]=\"_field?.size\"\n >\n </sp-listbox>\n </sp-popover>\n</ng-template>\n", styles: [".sapphire-select{position:relative;display:inline-block;color:var(--sapphire-select-color-content);width:var(--sapphire-select-size-width-control);font-family:var(--sapphire-select-font-name);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sapphire-select__button{display:flex;align-items:center;height:var(--sapphire-select-size-height-field-l);box-sizing:border-box;cursor:pointer;padding:0 var(--sapphire-select-size-spacing-control-horizontal-l);border:none;background-color:var(--sapphire-select-color-background-field);width:100%;outline:0;text-align:left;color:inherit;font-family:inherit;box-shadow:inset 0 0 0 1px var(--sapphire-select-color-border-field-default);border-radius:var(--sapphire-select-size-radius-field);gap:var(--sapphire-select-size-spacing-control-gap-l)}.sapphire-select--medium .sapphire-select__button{height:var(--sapphire-select-size-height-field-m);padding:0 var(--sapphire-select-size-spacing-control-horizontal-m);gap:var(--sapphire-select-size-spacing-control-gap-m)}.sapphire-select__value{flex:1 0 0;min-width:0;font-size:var(--sapphire-select-size-font-content-l);width:100%;font-weight:var(--sapphire-select-size-font-weight-item);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sapphire-select--medium .sapphire-select__value{font-size:var(--sapphire-select-size-font-content-m)}.sapphire-select__placeholder{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--sapphire-select-color-placeholder)}.sapphire-select__icon-container{line-height:0;width:var(--sapphire-select-size-width-icon-l);height:var(--sapphire-select-size-height-icon-l)}.sapphire-select--medium .sapphire-select__icon-container{width:var(--sapphire-select-size-width-icon-m);height:var(--sapphire-select-size-height-icon-m)}.sapphire-select__prefix{display:inherit;font-size:var(--sapphire-select-size-font-content-l)}.sapphire-select--medium .sapphire-select__prefix{font-size:var(--sapphire-select-size-font-content-m)}.sapphire-select__search-input:not([data-hidden=true]){all:inherit}.sapphire-select__search-input::placeholder{color:var(--sapphire-select-color-placeholder)}.sapphire-select__native-select{position:absolute;inset:0;opacity:.01;width:100%;z-index:1}.sapphire-select--error:not(.is-disabled) .sapphire-select__button{box-shadow:inset 0 0 0 1px var(--sapphire-select-color-border-field-error)}.sapphire-select:not(.is-disabled).is-focus .sapphire-select__button{box-shadow:inset 0 0 0 var(--sapphire-select-size-focus-ring) var(--sapphire-select-color-focus-ring)}.sapphire-select--error:not(.is-disabled).is-focus .sapphire-select__button{box-shadow:inset 0 0 0 var(--sapphire-select-size-focus-ring) var(--sapphire-select-color-border-field-error)}.sapphire-select.is-disabled .sapphire-select__button{cursor:not-allowed}\n"], dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i7.IconComponent, selector: "sp-icon", inputs: ["name", "size"] }, { kind: "component", type: i8.ListboxComponent, selector: "sp-listbox", inputs: ["selectedValues", "spListboxItems", "disabled", "multiple", "navigationWrapDisabled", "aria-label", "aria-labelledby", "size", "id"], outputs: ["selectedValuesChange", "selected"], exportAs: ["spListbox"] }, { kind: "directive", type: i9.ListboxInputDirective, selector: "input[spListboxInput]", inputs: ["spListboxInput"] }, { kind: "component", type: i10.PopoverComponent, selector: "sp-popover", inputs: ["noPadding", "noMaxWidth", "noAutoFocus", "trapFocus"] }, { kind: "directive", type: i11.PopoverTriggerDirective, selector: "[spPopoverTriggerFor]", inputs: ["spPopoverPlacement", "spPopoverTriggerFor", "spPopoverNonModal", "spPopoverTriggerOpenOnPressStart", "spPopoverTriggerCloseOnScroll", "spPopoverTriggerDisabled"], outputs: ["spPopoverTriggerOpened", "spPopoverTriggerClosed"], exportAs: ["spPopoverTrigger"] }, { kind: "directive", type: i2.CdkMonitorFocus, selector: "[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]", outputs: ["cdkFocusChange"], exportAs: ["cdkMonitorFocus"] }, { kind: "directive", type: i12.VisuallyHiddenDirective, selector: "[spVisuallyHidden]", inputs: ["spVisuallyHidden"] }, { kind: "component", type: i13.HiddenSelectComponent, selector: "sp-hidden-select" }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }] });
309
309
  __decorate([
310
310
  AutoId()
311
311
  ], SelectComponent.prototype, "_valueContainerId", void 0);
@@ -335,7 +335,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
335
335
  '[attr.aria-label]': 'null',
336
336
  '[attr.aria-labelledby]': 'null',
337
337
  '[attr.placeholder]': 'null',
338
- }, hostDirectives: [UseComponentStylesOnHost], template: "<sp-hidden-select></sp-hidden-select>\n<div\n role=\"button\"\n aria-haspopup=\"listbox\"\n class=\"sapphire-select__button\"\n [spPopoverTriggerFor]=\"popover\"\n [spPopoverTriggerDisabled]=\"disabled\"\n spPopoverTriggerOpenOnPressStart\n spPopoverTriggerCloseOnScroll\n spPopoverPlacement=\"bottom start\"\n #triggerElementRef\n #triggerRef=\"spPopoverTrigger\"\n (keydown)=\"handleKeyDown($event)\"\n (spPopoverTriggerClosed)=\"_onClose()\"\n (spPopoverTriggerOpened)=\"_onOpen()\"\n (focus)=\"_onFocus()\"\n cdkMonitorSubtreeFocus\n (cdkFocusChange)=\"_onFocusChange($event)\"\n [spPopoverNonModal]=\"searchable\"\n [id]=\"id\"\n [tabindex]=\"-1\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"_getAriaLabelledBy()\"\n [attr.aria-describedby]=\"_field?.error?.id || _field?.note?.id\"\n [attr.aria-invalid]=\"_field?.hasError() ? true : null\"\n>\n <div class=\"sapphire-select__value\" [id]=\"_valueContainerId\">\n <input\n *ngIf=\"searchable\"\n #searchInput\n tabindex=\"-1\"\n role=\"combobox\"\n class=\"sapphire-select__search-input\"\n [spListboxInput]=\"listbox\"\n [spVisuallyHidden]=\"!_isInputVisible()\"\n [attr.data-hidden]=\"!_isInputVisible()\"\n [placeholder]=\"placeholder || ''\"\n (keydown)=\"_onInputKeydown($event)\"\n (beforeinput)=\"open()\"\n [value]=\"_searchableSelectDirective?.searchValue\"\n (input)=\"_onSearchInput($event)\"\n />\n <ng-container *ngIf=\"!searchable || !_isInputVisible()\">\n <div\n *ngIf=\"selectedOptions.length === 0\"\n class=\"sapphire-select__placeholder\"\n >\n {{ placeholder }}\n </div>\n <ng-container *ngIf=\"selectedOptions.length > 0\">\n <ng-container *ngIf=\"!selectionText\">{{\n getSelectionText()\n }}</ng-container>\n <ng-content select=\"sp-selection-text\"></ng-content>\n </ng-container>\n </ng-container>\n </div>\n <div class=\"sapphire-select__icon-container\">\n <sp-icon name=\"chevronDown\"></sp-icon>\n </div>\n</div>\n<ng-template #popover>\n <sp-popover\n [style.display]=\"\n (filteredChildren$ | async)?.length === 0 ? 'none' : undefined\n \"\n noPadding\n noMaxWidth\n [style.min-width]=\"triggerElementRef.offsetWidth + 'px'\"\n >\n <sp-listbox\n [spListboxItems]=\"(filteredChildren$ | async) || undefined\"\n navigationWrapDisabled\n [multiple]=\"multiple\"\n [(selectedValues)]=\"listboxValue\"\n (selectedValuesChange)=\"_searchableSelectDirective?.setSearchValue('')\"\n (selected)=\"_handleSelected()\"\n [size]=\"_field?.size\"\n >\n </sp-listbox>\n </sp-popover>\n</ng-template>\n", styles: [".sapphire-select{position:relative;display:inline-block;color:var(--sapphire-select-color-content);width:var(--sapphire-select-size-width-control);font-family:var(--sapphire-select-font-name);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sapphire-select__button{display:flex;align-items:center;height:var(--sapphire-select-size-height-field-l);box-sizing:border-box;cursor:pointer;padding:0 var(--sapphire-select-size-spacing-control-horizontal-l);border:none;background-color:var(--sapphire-select-color-background-field);width:100%;outline:0;text-align:left;color:inherit;font-family:inherit;box-shadow:inset 0 0 0 1px var(--sapphire-select-color-border-field-default);border-radius:var(--sapphire-select-size-radius-field)}.sapphire-select--medium .sapphire-select__button{height:var(--sapphire-select-size-height-field-m);padding:0 var(--sapphire-select-size-spacing-control-horizontal-m)}.sapphire-select__value{flex:1 0 0;min-width:0;font-size:var(--sapphire-select-size-font-content-l);width:100%;font-weight:var(--sapphire-select-size-font-weight-item);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sapphire-select--medium .sapphire-select__value{font-size:var(--sapphire-select-size-font-content-m)}.sapphire-select__placeholder{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--sapphire-select-color-placeholder)}.sapphire-select__icon-container{line-height:0;width:var(--sapphire-select-size-width-icon-l);height:var(--sapphire-select-size-height-icon-l)}.sapphire-select--medium .sapphire-select__icon-container{width:var(--sapphire-select-size-width-icon-m);height:var(--sapphire-select-size-height-icon-m)}.sapphire-select__search-input:not([data-hidden=true]){all:inherit}.sapphire-select__search-input::placeholder{color:var(--sapphire-select-color-placeholder)}.sapphire-select__native-select{position:absolute;inset:0;opacity:.01;width:100%;z-index:1}.sapphire-select--error:not(.is-disabled) .sapphire-select__button{box-shadow:inset 0 0 0 1px var(--sapphire-select-color-border-field-error)}.sapphire-select:not(.is-disabled).is-focus .sapphire-select__button{box-shadow:inset 0 0 0 var(--sapphire-select-size-focus-ring) var(--sapphire-select-color-focus-ring)}.sapphire-select--error:not(.is-disabled).is-focus .sapphire-select__button{box-shadow:inset 0 0 0 var(--sapphire-select-size-focus-ring) var(--sapphire-select-color-border-field-error)}.sapphire-select.is-disabled .sapphire-select__button{cursor:not-allowed}\n"] }]
338
+ }, hostDirectives: [UseComponentStylesOnHost], template: "<sp-hidden-select></sp-hidden-select>\n<div\n role=\"button\"\n aria-haspopup=\"listbox\"\n class=\"sapphire-select__button\"\n [spPopoverTriggerFor]=\"popover\"\n [spPopoverTriggerDisabled]=\"disabled\"\n spPopoverTriggerOpenOnPressStart\n spPopoverTriggerCloseOnScroll\n spPopoverPlacement=\"bottom start\"\n #triggerElementRef\n #triggerRef=\"spPopoverTrigger\"\n (keydown)=\"handleKeyDown($event)\"\n (spPopoverTriggerClosed)=\"_onClose()\"\n (spPopoverTriggerOpened)=\"_onOpen()\"\n (focus)=\"_onFocus()\"\n cdkMonitorSubtreeFocus\n (cdkFocusChange)=\"_onFocusChange($event)\"\n [spPopoverNonModal]=\"searchable\"\n [id]=\"id\"\n [tabindex]=\"-1\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"_getAriaLabelledBy()\"\n [attr.aria-describedby]=\"_field?.error?.id || _field?.note?.id\"\n [attr.aria-invalid]=\"_field?.hasError() ? true : null\"\n>\n <div class=\"sapphire-select__value\" [id]=\"_valueContainerId\">\n <input\n *ngIf=\"searchable\"\n #searchInput\n tabindex=\"-1\"\n role=\"combobox\"\n class=\"sapphire-select__search-input\"\n [spListboxInput]=\"listbox\"\n [spVisuallyHidden]=\"!_isInputVisible()\"\n [attr.data-hidden]=\"!_isInputVisible()\"\n [placeholder]=\"placeholder || ''\"\n (keydown)=\"_onInputKeydown($event)\"\n (beforeinput)=\"open()\"\n [value]=\"_searchableSelectDirective?.searchValue\"\n (input)=\"_onSearchInput($event)\"\n />\n <ng-container *ngIf=\"!searchable || !_isInputVisible()\">\n <div\n *ngIf=\"selectedOptions.length === 0\"\n class=\"sapphire-select__placeholder\"\n >\n {{ placeholder }}\n </div>\n <ng-container *ngIf=\"selectedOptions.length > 0\">\n <ng-container *ngIf=\"!selectionText\">{{\n getSelectionText()\n }}</ng-container>\n <ng-content select=\"sp-selection-text\"></ng-content>\n </ng-container>\n </ng-container>\n </div>\n <div class=\"sapphire-select__icon-container\">\n <sp-icon name=\"chevronDown\"></sp-icon>\n </div>\n</div>\n<ng-template #popover>\n <sp-popover\n [style.display]=\"\n (filteredChildren$ | async)?.length === 0 ? 'none' : undefined\n \"\n noPadding\n noMaxWidth\n [style.min-width]=\"triggerElementRef.offsetWidth + 'px'\"\n >\n <sp-listbox\n [spListboxItems]=\"(filteredChildren$ | async) || undefined\"\n navigationWrapDisabled\n [multiple]=\"multiple\"\n [(selectedValues)]=\"listboxValue\"\n (selectedValuesChange)=\"_searchableSelectDirective?.setSearchValue('')\"\n (selected)=\"_handleSelected()\"\n [size]=\"_field?.size\"\n >\n </sp-listbox>\n </sp-popover>\n</ng-template>\n", styles: [".sapphire-select{position:relative;display:inline-block;color:var(--sapphire-select-color-content);width:var(--sapphire-select-size-width-control);font-family:var(--sapphire-select-font-name);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sapphire-select__button{display:flex;align-items:center;height:var(--sapphire-select-size-height-field-l);box-sizing:border-box;cursor:pointer;padding:0 var(--sapphire-select-size-spacing-control-horizontal-l);border:none;background-color:var(--sapphire-select-color-background-field);width:100%;outline:0;text-align:left;color:inherit;font-family:inherit;box-shadow:inset 0 0 0 1px var(--sapphire-select-color-border-field-default);border-radius:var(--sapphire-select-size-radius-field);gap:var(--sapphire-select-size-spacing-control-gap-l)}.sapphire-select--medium .sapphire-select__button{height:var(--sapphire-select-size-height-field-m);padding:0 var(--sapphire-select-size-spacing-control-horizontal-m);gap:var(--sapphire-select-size-spacing-control-gap-m)}.sapphire-select__value{flex:1 0 0;min-width:0;font-size:var(--sapphire-select-size-font-content-l);width:100%;font-weight:var(--sapphire-select-size-font-weight-item);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sapphire-select--medium .sapphire-select__value{font-size:var(--sapphire-select-size-font-content-m)}.sapphire-select__placeholder{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--sapphire-select-color-placeholder)}.sapphire-select__icon-container{line-height:0;width:var(--sapphire-select-size-width-icon-l);height:var(--sapphire-select-size-height-icon-l)}.sapphire-select--medium .sapphire-select__icon-container{width:var(--sapphire-select-size-width-icon-m);height:var(--sapphire-select-size-height-icon-m)}.sapphire-select__prefix{display:inherit;font-size:var(--sapphire-select-size-font-content-l)}.sapphire-select--medium .sapphire-select__prefix{font-size:var(--sapphire-select-size-font-content-m)}.sapphire-select__search-input:not([data-hidden=true]){all:inherit}.sapphire-select__search-input::placeholder{color:var(--sapphire-select-color-placeholder)}.sapphire-select__native-select{position:absolute;inset:0;opacity:.01;width:100%;z-index:1}.sapphire-select--error:not(.is-disabled) .sapphire-select__button{box-shadow:inset 0 0 0 1px var(--sapphire-select-color-border-field-error)}.sapphire-select:not(.is-disabled).is-focus .sapphire-select__button{box-shadow:inset 0 0 0 var(--sapphire-select-size-focus-ring) var(--sapphire-select-color-focus-ring)}.sapphire-select--error:not(.is-disabled).is-focus .sapphire-select__button{box-shadow:inset 0 0 0 var(--sapphire-select-size-focus-ring) var(--sapphire-select-color-border-field-error)}.sapphire-select.is-disabled .sapphire-select__button{cursor:not-allowed}\n"] }]
339
339
  }], ctorParameters: function () { return [{ type: i1.SelectValueHolder }, { type: i2.FocusMonitor }, { type: i2.InputModalityDetector }, { type: i3.FieldComponent, decorators: [{
340
340
  type: Optional
341
341
  }] }, { type: i4.SearchableSelectDirective, decorators: [{