@dereekb/dbx-form 9.10.1 → 9.10.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/formly/field/selection/pickable/pickable.field.directive.mjs +13 -3
- package/esm2020/lib/formly/field/selection/pickable/pickable.list.field.component.mjs +2 -2
- package/fesm2015/dereekb-dbx-form.mjs +13 -3
- package/fesm2015/dereekb-dbx-form.mjs.map +1 -1
- package/fesm2020/dereekb-dbx-form.mjs +13 -3
- package/fesm2020/dereekb-dbx-form.mjs.map +1 -1
- package/lib/formly/field/selection/pickable/pickable.field.directive.d.ts +1 -0
- package/mapbox/package.json +4 -4
- package/package.json +3 -3
|
@@ -96,6 +96,9 @@ export class AbstractDbxPickableItemFieldDirective extends FieldType {
|
|
|
96
96
|
get asArrayValue() {
|
|
97
97
|
return this.pickableField.asArrayValue ?? true;
|
|
98
98
|
}
|
|
99
|
+
get pickOnlyOne() {
|
|
100
|
+
return this.asArrayValue === false || this.multiSelect === false;
|
|
101
|
+
}
|
|
99
102
|
get filterLabel() {
|
|
100
103
|
return this.pickableField.filterLabel;
|
|
101
104
|
}
|
|
@@ -216,7 +219,14 @@ export class AbstractDbxPickableItemFieldDirective extends FieldType {
|
|
|
216
219
|
return value;
|
|
217
220
|
}
|
|
218
221
|
addValue(value) {
|
|
219
|
-
|
|
222
|
+
let newValues;
|
|
223
|
+
if (this.pickOnlyOne) {
|
|
224
|
+
newValues = [value];
|
|
225
|
+
}
|
|
226
|
+
else {
|
|
227
|
+
newValues = [...this.values, value];
|
|
228
|
+
}
|
|
229
|
+
this.setValues(newValues);
|
|
220
230
|
}
|
|
221
231
|
removeValue(value) {
|
|
222
232
|
const hashToFilter = this.hashForValue(value);
|
|
@@ -228,7 +238,7 @@ export class AbstractDbxPickableItemFieldDirective extends FieldType {
|
|
|
228
238
|
if (this.hashForValue) {
|
|
229
239
|
values = findUnique(values, this.hashForValue);
|
|
230
240
|
}
|
|
231
|
-
if (
|
|
241
|
+
if (this.pickOnlyOne) {
|
|
232
242
|
values = [values[0]].filter((x) => x != null);
|
|
233
243
|
}
|
|
234
244
|
this._setValueOnFormControl(values);
|
|
@@ -252,4 +262,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImpor
|
|
|
252
262
|
type: ViewChild,
|
|
253
263
|
args: ['filterMatInput', { static: true }]
|
|
254
264
|
}] } });
|
|
255
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlja2FibGUuZmllbGQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZvcm0vc3JjL2xpYi9mb3JtbHkvZmllbGQvc2VsZWN0aW9uL3BpY2thYmxlL3BpY2thYmxlLmZpZWxkLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQWdCLGFBQWEsRUFBRSxzQkFBc0IsRUFBRSxXQUFXLEVBQUUsK0JBQStCLEVBQUUsdUJBQXVCLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEwsT0FBTyxFQUFnQixtQkFBbUIsRUFBRSxVQUFVLEVBQUUsa0JBQWtCLEVBQXVCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZILE9BQU8sRUFBRSxTQUFTLEVBQXFCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQUUsV0FBVyxFQUFtQixNQUFNLGdCQUFnQixDQUFDO0FBQzlELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUVuRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDakQsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQWMsRUFBRSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR2xMLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7O0FBaUZ4Qzs7R0FFRztBQUVILE1BQU0sT0FBTyxxQ0FBNkYsU0FBUSxTQUFrRTtJQURwTDs7UUFLVyxjQUFTLEdBQUcsSUFBSSxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFakMsb0JBQWUsR0FBRyxJQUFJLGVBQWUsQ0FBeUIs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LFVBQVUsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQ2hEO1FBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDckIsTUFBTSxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUM7U0FDL0M7UUFFRCxJQUFJLENBQUMsc0JBQXNCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVELGlCQUFpQjtJQUNQLHNCQUFzQixDQUFDLE1BQVc7UUFDMUMsSUFBSSxRQUFRLEdBQVksTUFBTSxDQUFDO1FBRS9CLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3RCLFFBQVEsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3BEO1FBRUQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNqQyxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ2pDLENBQUM7O2tJQXRXVSxxQ0FBcUM7c0hBQXJDLHFDQUFxQzsyRkFBckMscUNBQXFDO2tCQURqRCxTQUFTOzhCQUdSLGNBQWM7c0JBRGIsU0FBUzt1QkFBQyxnQkFBZ0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYnhJbmplY3Rpb25Db21wb25lbnRDb25maWcgfSBmcm9tICdAZGVyZWVrYi9kYngtY29yZSc7XG5pbXBvcnQgeyBMb2FkaW5nU3RhdGUsIHN1Y2Nlc3NSZXN1bHQsIG1hcExvYWRpbmdTdGF0ZVJlc3VsdHMsIGZpbHRlck1heWJlLCBMaXN0TG9hZGluZ1N0YXRlQ29udGV4dEluc3RhbmNlLCBpc0xpc3RMb2FkaW5nU3RhdGVFbXB0eSwgc3RhcnRXaXRoQmVnaW5Mb2FkaW5nIH0gZnJvbSAnQGRlcmVla2Ivcnhqcyc7XG5pbXBvcnQgeyBQcmltYXRpdmVLZXksIGNvbnZlcnRNYXliZVRvQXJyYXksIGZpbmRVbmlxdWUsIG1ha2VWYWx1ZXNHcm91cE1hcCwgTWF5YmUsIEFycmF5T3JWYWx1ZSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgRGlyZWN0aXZlLCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgQWJzdHJhY3RDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0SW5wdXQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQgeyBGaWVsZFR5cGVDb25maWcsIEZvcm1seUZpZWxkUHJvcHMgfSBmcm9tICdAbmd4LWZvcm1seS9jb3JlJztcbmltcG9ydCB7IEZpZWxkVHlwZSB9IGZyb20gJ0BuZ3gtZm9ybWx5L21hdGVyaWFsJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZSwgb2YsIGZpbHRlciwgbWFwLCBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBzd2l0Y2hNYXAsIHN0YXJ0V2l0aCwgc2hhcmVSZXBsYXksIG1lcmdlTWFwLCBmaXJzdCwgZGVsYXkgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFBpY2thYmxlVmFsdWVGaWVsZERpc3BsYXlGbiwgUGlja2FibGVWYWx1ZUZpZWxkRGlzcGxheVZhbHVlLCBQaWNrYWJsZVZhbHVlRmllbGRGaWx0ZXJGbiwgUGlja2FibGVWYWx1ZUZpZWxkSGFzaEZuLCBQaWNrYWJsZVZhbHVlRmllbGRMb2FkVmFsdWVzRm4sIFBpY2thYmxlVmFsdWVGaWVsZFZhbHVlIH0gZnJvbSAnLi9waWNrYWJsZSc7XG5pbXBvcnQgeyBEYnhWYWx1ZUxpc3RJdGVtIH0gZnJvbSAnQGRlcmVla2IvZGJ4LXdlYic7XG5pbXBvcnQgeyBjYW1lbENhc2UgfSBmcm9tICdjaGFuZ2UtY2FzZSc7XG5cbi8qKlxuICogV3JhcHMgdGhlIHNlbGVjdGVkIHN0YXRlIHdpdGggdGhlIGl0ZW1zLlxuICovXG5leHBvcnQgdHlwZSBQaWNrYWJsZUl0ZW1GaWVsZEl0ZW08VCwgTSA9IHVua25vd24+ID0gRGJ4VmFsdWVMaXN0SXRlbTxQaWNrYWJsZVZhbHVlRmllbGREaXNwbGF5VmFsdWU8VCwgTT4+O1xuXG5leHBvcnQgdHlwZSBQaWNrYWJsZUl0ZW1GaWVsZEl0ZW1Tb3J0Rm48VCwgTSA9IHVua25vd24+ID0gKGl0ZW1zOiBQaWNrYWJsZUl0ZW1GaWVsZEl0ZW08VCwgTT5bXSkgPT4gUGlja2FibGVJdGVtRmllbGRJdGVtPFQsIE0+W107XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGlja2FibGVWYWx1ZUZpZWxkc0ZpZWxkUHJvcHM8VCwgTSA9IHVua25vd24sIEggZXh0ZW5kcyBQcmltYXRpdmVLZXkgPSBQcmltYXRpdmVLZXk+IGV4dGVuZHMgRm9ybWx5RmllbGRQcm9wcyB7XG4gIC8qKlxuICAgKiBMb2FkcyBhbGwgcGlja2FibGUgdmFsdWVzLlxuICAgKi9cbiAgbG9hZFZhbHVlczogUGlja2FibGVWYWx1ZUZpZWxkTG9hZFZhbHVlc0ZuPFQsIE0+O1xuICAvKipcbiAgICogVXNlZCBmb3IgYnVpbGRpbmcgYSBkaXNwbGF5IHZhbHVlIGdpdmVuIHRoZSBpbnB1dC5cbiAgICovXG4gIGRpc3BsYXlGb3JWYWx1ZTogUGlja2FibGVWYWx1ZUZpZWxkRGlzcGxheUZuPFQsIE0+O1xuICAvKipcbiAgICogVXNlZCBmb3IgaGFzaGluZyBkaXNwbGF5IHZhbHVlcyBhbmQgb21pdHRpbmcgcmVwZWF0IHZhbHVlcy5cbiAgICpcbiAgICogSWYgaGFzaEZvclZhbHVlIGlzIG5vdCBwcm92aWRlZCwgdGhlIHZhbHVlJ3MgdmFsdWUgd2lsbCBiZSB1c2VkIGFzIGlzLlxuICAgKi9cbiAgaGFzaEZvclZhbHVlPzogUGlja2FibGVWYWx1ZUZpZWxkSGFzaEZuPFQsIEg+O1xuICAvKipcbiAgICogVXNlZCBmb3IgZmlsdGVyaW5nIHZhbHVlcyB2aWEgdGhlIHNlYXJjaCB0ZXh0LlxuICAgKi9cbiAgZmlsdGVyVmFsdWVzPzogUGlja2FibGVWYWx1ZUZpZWxkRmlsdGVyRm48VCwgTT47XG4gIC8qKlxuICAgKiBVc2VkIGZvciBzb3J0aW5nIHRoZSBpdGVtcyBiZWZvcmUgdGhleSBhcmUgZGlzcGxheWVkLlxuICAgKlxuICAgKiBTaG91bGQgb25seSBiZSB1c2VkIHRvIHNvcnQgdmFsdWVzLlxuICAgKi9cbiAgc29ydEl0ZW1zPzogUGlja2FibGVJdGVtRmllbGRJdGVtU29ydEZuPFQsIE0+O1xuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdG8gYWxsb3cgbXVsdGlwbGUgaXRlbXMgdG8gYmUgc2VsZWN0ZWQuXG4gICAqL1xuICBtdWx0aVNlbGVjdD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0byBzZXQvZ2V0IHZhbHVlcyBhcyBhbiBhcnJheSBvciBhIHNpbmdsZSB2YWx1ZS4gSWYgc2V0IGZhbHNlLCBtdWx0aVNlbGVjdCBpcyBpZ25vcmVkLlxuICAgKi9cbiAgYXNBcnJheVZhbHVlPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRvIHNob3cgdGhlIHRleHQgZmlsdGVyLiBUcnVlIGJ5IGRlZmF1bHQgaWYgZmlsdGVyVmFsdWVzIGlzIHByb3ZpZGVkLlxuICAgKi9cbiAgc2hvd1RleHRGaWx0ZXI/OiBib29sZWFuO1xuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdG8gc2tpcCB0aGUgZmlsdGVyIGZ1bmN0aW9uIHdoZW4gdGhlIGlucHV0IGlzIGVtcHR5LlxuICAgKlxuICAgKiBUcnVlIGJ5IGRlZmF1bHQuXG4gICAqL1xuICBza2lwRmlsdGVyRm5PbkVtcHR5PzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEZpbHRlciBMYWJlbFxuICAgKi9cbiAgZmlsdGVyTGFiZWw/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgbWF4aW11bSBudW1iZXIgb2YgdmFsdWVzIHRoYXQgY2FuIGJlIHBpY2tlZFxuICAgKi9cbiAgbWF4UGlja3M/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBPcHRpb25hbCBkZXNjcmlwdGlvbi9oaW50IHRvIGRpc3BsYXkuXG4gICAqL1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgLyoqXG4gICAqIEZvb3RlciBEaXNwbGF5XG4gICAqL1xuICBmb290ZXJDb25maWc/OiBEYnhJbmplY3Rpb25Db21wb25lbnRDb25maWc7XG4gIC8qKlxuICAgKiBDaGFuZ2VzIHRoZSBzZWxlY3Rpb24gbW9kZSBvZiB0aGUgbGlzdCB0byBcInZpZXdcIiBtb2RlIG9uIGRpc2FibGVkLCBoaWRpbmcgdGhlIHNlbGVjdGlvbiBib3hlcy5cbiAgICovXG4gIGNoYW5nZVNlbGVjdGlvbk1vZGVUb1ZpZXdPbkRpc2FibGVkPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBEaXNwbGF5ZWQgdmFsdWUgd2l0aCB0aGUgY29tcHV0ZWQgaGFzaC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQaWNrYWJsZVZhbHVlRmllbGREaXNwbGF5VmFsdWVXaXRoSGFzaDxULCBNID0gdW5rbm93biwgSCBleHRlbmRzIFByaW1hdGl2ZUtleSA9IFByaW1hdGl2ZUtleT4gZXh0ZW5kcyBQaWNrYWJsZVZhbHVlRmllbGREaXNwbGF5VmFsdWU8VCwgTT4ge1xuICBfaGFzaDogSDtcbn1cblxuLyoqXG4gKiBVc2VkIGZvciBwaWNraW5nIHByZS1zZXQgdmFsdWVzIHVzaW5nIGl0ZW1zIGFzIHRoZSBwcmVzZW50YXRpb24uXG4gKi9cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGNsYXNzIEFic3RyYWN0RGJ4UGlja2FibGVJdGVtRmllbGREaXJlY3RpdmU8VCwgTSA9IHVua25vd24sIEggZXh0ZW5kcyBQcmltYXRpdmVLZXkgPSBQcmltYXRpdmVLZXk+IGV4dGVuZHMgRmllbGRUeXBlPEZpZWxkVHlwZUNvbmZpZzxQaWNrYWJsZVZhbHVlRmllbGRzRmllbGRQcm9wczxULCBNLCBIPj4+IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBAVmlld0NoaWxkKCdmaWx0ZXJNYXRJbnB1dCcsIHsgc3RhdGljOiB0cnVlIH0pXG4gIGZpbHRlck1hdElucHV0ITogTWF0SW5wdXQ7XG5cbiAgcmVhZG9ubHkgaW5wdXRDdHJsID0gbmV3IEZvcm1Db250cm9sKCcnKTtcblxuICBwcml2YXRlIF9mb3JtQ29udHJvbE9icyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TWF5YmU8QWJzdHJhY3RDb250cm9sPj4odW5kZWZpbmVkKTtcbiAgcmVhZG9ubHkgZm9ybUNvbnRyb2wkID0gdGhpcy5fZm9ybUNvbnRyb2xPYnMucGlwZShmaWx0ZXJNYXliZSgpKTtcblxuICBwcml2YXRlIF9kaXNwbGF5SGFzaE1hcCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TWFwPEgsIFBpY2thYmxlVmFsdWVGaWVsZERpc3BsYXlWYWx1ZTxULCBNPj4+KG5ldyBNYXAoKSk7XG5cbiAgcmVhZG9ubHkgZmlsdGVySW5wdXRWYWx1ZSQ6IE9ic2VydmFibGU8TWF5YmU8c3RyaW5nPj4gPSB0aGlzLmlucHV0Q3RybC52YWx1ZUNoYW5nZXMucGlwZShzdGFydFdpdGgodW5kZWZpbmVkKSk7XG4gIHJlYWRvbmx5IGZpbHRlcklucHV0VmFsdWVTdHJpbmckOiBPYnNlcnZhYmxlPE1heWJlPHN0cmluZz4+ID0gdGhpcy5maWx0ZXJJbnB1dFZhbHVlJC5waXBlKGRlYm91bmNlVGltZSgyMDApLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLCBzaGFyZVJlcGxheSgxKSk7XG5cbiAgcmVhZG9ubHkgbG9hZFJlc3VsdHNEaXNwbGF5VmFsdWVzU3RhdGUkOiBPYnNlcnZhYmxlPExvYWRpbmdTdGF0ZTxQaWNrYWJsZVZhbHVlRmllbGREaXNwbGF5VmFsdWVXaXRoSGFzaDxULCBNLCBIPltdPj4gPSB0aGlzLmZvcm1Db250cm9sJC5waXBlKFxuICAgIGZpcnN0KCksXG4gICAgc3dpdGNoTWFwKCgpID0+XG4gICAgICB0aGlzLmxvYWRWYWx1ZXNGbigpLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgoeCkgPT4gdGhpcy5sb2FkRGlzcGxheVZhbHVlc0ZvckZpZWxkVmFsdWVzKHgpKSxcbiAgICAgICAgc3RhcnRXaXRoQmVnaW5Mb2FkaW5nKClcbiAgICAgIClcbiAgICApLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgX2Zvcm1Db250cm9sVmFsdWU6IE9ic2VydmFibGU8VCB8IFRbXT4gPSB0aGlzLmZvcm1Db250cm9sJC5waXBlKHN3aXRjaE1hcCgoY29udHJvbCkgPT4gY29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShzdGFydFdpdGgoY29udHJvbC52YWx1ZSksIHNoYXJlUmVwbGF5KDEpKSkpO1xuXG4gIHJlYWRvbmx5IGxvYWRSZXN1bHRzRGlzcGxheVZhbHVlcyQ6IE9ic2VydmFibGU8UGlja2FibGVWYWx1ZUZpZWxkRGlzcGxheVZhbHVlV2l0aEhhc2g8VCwgTSwgSD5bXT4gPSB0aGlzLmxvYWRSZXN1bHRzRGlzcGxheVZhbHVlc1N0YXRlJC5waXBlKG1hcCgoeCkgPT4geD8udmFsdWUgPz8gW10pKTtcblxuICAvKipcbiAgICogQ3VycmVudCB2YWx1ZXMgaW4gdGhlIGZvcm0gY29udHJvbC5cbiAgICovXG4gIHJlYWRvbmx5IHZhbHVlcyQ6IE9ic2VydmFibGU8VFtdPiA9IHRoaXMuX2Zvcm1Db250cm9sVmFsdWUucGlwZShtYXAoY29udmVydE1heWJlVG9BcnJheSksIHNoYXJlUmVwbGF5KDEpKTtcblxuICAvKipcbiAgICogQ3VycmVudCB2YWx1ZXMgd2l0aCB0aGVpciBkaXNwbGF5IHZhbHVlLlxuICAgKi9cbiAgcmVhZG9ubHkgZGlzcGxheVZhbHVlc1N0YXRlJDogT2JzZXJ2YWJsZTxMb2FkaW5nU3RhdGU8UGlja2FibGVWYWx1ZUZpZWxkRGlzcGxheVZhbHVlV2l0aEhhc2g8VCwgTSwgSD5bXT4+ID0gY29tYmluZUxhdGVzdChbdGhpcy5sb2FkUmVzdWx0c0Rpc3BsYXlWYWx1ZXMkLCB0aGlzLnZhbHVlcyRdKS5waXBlKFxuICAgIHN3aXRjaE1hcCgoW2Rpc3BsYXlWYWx1ZXMsIGN1cnJlbnRWYWx1ZXNdKSA9PiB7XG4gICAgICBjb25zdCBkaXNwbGF5VmFsdWVzTWFwID0gbWFrZVZhbHVlc0dyb3VwTWFwKGRpc3BsYXlWYWx1ZXMsICh4KSA9PiB0aGlzLmhhc2hGb3JWYWx1ZSh4LnZhbHVlKSk7XG4gICAgICBjb25zdCB2YWx1ZXNOb3RJbkRpc3BsYXlNYXA6IFRbXSA9IFtdO1xuXG4gICAgICBjdXJyZW50VmFsdWVzLmZvckVhY2goKHgpID0+IHtcbiAgICAgICAgY29uc3Qga2V5ID0gdGhpcy5oYXNoRm9yVmFsdWUoeCk7XG4gICAgICAgIGNvbnN0IGRpc3BsYXlWYWx1ZTogTWF5YmU8UGlja2FibGVWYWx1ZUZpZWxkRGlzcGxheVZhbHVlV2l0aEhhc2g8VCwgTSwgSD4+ID0gZGlzcGxheVZhbHVlc01hcC5nZXQoa2V5KT8uWzBdO1xuXG4gICAgICAgIGlmICghZGlzcGxheVZhbHVlKSB7XG4gICAgICAgICAgdmFsdWVzTm90SW5EaXNwbGF5TWFwLnB1c2goeCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICBpZiAodmFsdWVzTm90SW5EaXNwbGF5TWFwLmxlbmd0aCkge1xuICAgICAgICByZXR1cm4gdGhpcy5sb2FkRGlzcGxheVZhbHVlc0ZvclZhbHVlcyh2YWx1ZXNOb3RJbkRpc3BsYXlNYXApLnBpcGUoXG4gICAgICAgICAgbWFwKCh4KSA9PlxuICAgICAgICAgICAgbWFwTG9hZGluZ1N0YXRlUmVzdWx0cyh4LCB7XG4gICAgICAgICAgICAgIG1hcFZhbHVlOiAobG9hZGVkVmFsdWVzOiBQaWNrYWJsZVZhbHVlRmllbGREaXNwbGF5VmFsdWVXaXRoSGFzaDxULCBNLCBIPltdKSA9PiB7XG4gICAgICAgICAgICAgICAgbG9hZGVkVmFsdWVzLmZvckVhY2goKHgpID0+ICh4LmlzVW5rbm93biA9IHguaXNVbmtub3duID8/IHRydWUpKTsgLy8gQXNzaWduIHVua25vd24gZmxhZy5cbiAgICAgICAgICAgICAgICByZXR1cm4gWy4uLmRpc3BsYXlWYWx1ZXMsIC4uLmxvYWRlZFZhbHVlc107XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgKVxuICAgICAgICApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIG9mKHN1Y2Nlc3NSZXN1bHQoZGlzcGxheVZhbHVlcykpO1xuICAgICAgfVxuICAgIH0pXG4gICk7XG5cbiAgLyoqXG4gICAqIFJlc3VsdHMgdG8gYmUgZGlzcGxheWVkIGlmIGZpbHRlcmVkLlxuICAgKi9cbiAgcmVhZG9ubHkgZmlsdGVyZWRTZWFyY2hSZXN1bHRzU3RhdGUkOiBPYnNlcnZhYmxlPExvYWRpbmdTdGF0ZTxQaWNrYWJsZVZhbHVlRmllbGREaXNwbGF5VmFsdWVXaXRoSGFzaDxULCBNLCBIPltdPj4gPSB0aGlzLmxvYWRSZXN1bHRzRGlzcGxheVZhbHVlcyQucGlwZShcbiAgICBzd2l0Y2hNYXAoKHZhbHVlcykgPT5cbiAgICAgIHRoaXMuZmlsdGVySW5wdXRWYWx1ZVN0cmluZyQucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKCh0ZXh0KSA9PlxuICAgICAgICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMuX2ZpbHRlclZhbHVlcyh0ZXh0LCB2YWx1ZXMpLCB0aGlzLmRpc3BsYXlWYWx1ZXNTdGF0ZSRdKS5waXBlKFxuICAgICAgICAgICAgbWFwKChbdmFsdWVzLCBkaXNwbGF5U3RhdGVdKSA9PlxuICAgICAgICAgICAgICBtYXBMb2FkaW5nU3RhdGVSZXN1bHRzKGRpc3BsYXlTdGF0ZSwge1xuICAgICAgICAgICAgICAgIG1hcFZhbHVlOiAoZGlzcGxheVZhbHVlczogUGlja2FibGVWYWx1ZUZpZWxkRGlzcGxheVZhbHVlV2l0aEhhc2g8VCwgTSwgSD5bXSkgPT4ge1xuICAgICAgICAgICAgICAgICAgY29uc3QgdmFsdWVIYXNoU2V0ID0gbmV3IFNldCh2YWx1ZXMubWFwKCh4KSA9PiB0aGlzLmhhc2hGb3JWYWx1ZSh4KSkpO1xuICAgICAgICAgICAgICAgICAgcmV0dXJuIGRpc3BsYXlWYWx1ZXMuZmlsdGVyKCh4KSA9PiAheC5pc1Vua25vd24gJiYgdmFsdWVIYXNoU2V0Lmhhcyh4Ll9oYXNoKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHN0YXJ0V2l0aEJlZ2luTG9hZGluZygpXG4gICAgICAgICAgKVxuICAgICAgICApXG4gICAgICApXG4gICAgKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIHJlYWRvbmx5IGZpbHRlcmVkU2VhcmNoUmVzdWx0cyQ6IE9ic2VydmFibGU8UGlja2FibGVWYWx1ZUZpZWxkRGlzcGxheVZhbHVlV2l0aEhhc2g8VCwgTSwgSD5bXT4gPSB0aGlzLmZpbHRlcmVkU2VhcmNoUmVzdWx0c1N0YXRlJC5waXBlKFxuICAgIG1hcCgoeCkgPT4geD8udmFsdWUpLFxuICAgIGZpbHRlck1heWJlKCksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICByZWFkb25seSBpdGVtcyQ6IE9ic2VydmFibGU8UGlja2FibGVJdGVtRmllbGRJdGVtPFQsIE0+W10+ID0gY29tYmluZUxhdGVzdChbdGhpcy5maWx0ZXJlZFNlYXJjaFJlc3VsdHMkLCB0aGlzLnZhbHVlcyRdKS5waXBlKFxuICAgIG1hcCgoW2Rpc3BsYXlWYWx1ZXMsIHZhbHVlc10pID0+IHtcbiAgICAgIGNvbnN0IHNlbGVjdGVkSGFzaFZhbHVlc1NldCA9IG5ldyBTZXQodmFsdWVzLm1hcCgoeCkgPT4gdGhpcy5oYXNoRm9yVmFsdWUoeCkpKTtcbiAgICAgIGxldCBpdGVtczogUGlja2FibGVJdGVtRmllbGRJdGVtPFQsIE0+W10gPSBkaXNwbGF5VmFsdWVzLm1hcCgoeCkgPT4gKHsgaXRlbVZhbHVlOiB4LCBzZWxlY3RlZDogc2VsZWN0ZWRIYXNoVmFsdWVzU2V0Lmhhcyh4Ll9oYXNoKSB9KSk7XG5cbiAgICAgIGlmICh0aGlzLnNvcnRJdGVtcykge1xuICAgICAgICBpdGVtcyA9IHRoaXMuc29ydEl0ZW1zKGl0ZW1zKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGl0ZW1zO1xuICAgIH0pLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgaXRlbXNMb2FkaW5nU3RhdGUkOiBPYnNlcnZhYmxlPExvYWRpbmdTdGF0ZTxQaWNrYWJsZUl0ZW1GaWVsZEl0ZW08VD5bXT4+ID0gdGhpcy5sb2FkUmVzdWx0c0Rpc3BsYXlWYWx1ZXMkLnBpcGUoXG4gICAgc3dpdGNoTWFwKCgpID0+XG4gICAgICB0aGlzLml0ZW1zJC5waXBlKFxuICAgICAgICBmaXJzdCgpLFxuICAgICAgICBtYXAoKHgpID0+IHN1Y2Nlc3NSZXN1bHQoeCkpLFxuICAgICAgICBzdGFydFdpdGhCZWdpbkxvYWRpbmcoKSxcbiAgICAgICAgc2hhcmVSZXBsYXkoMSlcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgLyoqXG4gICAqIENvbnRleHQgdXNlZCBmb3IgbWFuYWdpbmcgdGhlIGxvYWRpbmcgb2YgaXRlbXMsIG9yIHdoZW4gdGhlIGN1cnJlbnQgcmVzdWx0cyBjaGFuZ2UuXG4gICAqL1xuICByZWFkb25seSBjb250ZXh0ID0gbmV3IExpc3RMb2FkaW5nU3RhdGVDb250ZXh0SW5zdGFuY2UoeyBvYnM6IHRoaXMuaXRlbXNMb2FkaW5nU3RhdGUkLCBzaG93TG9hZGluZ09uTm9WYWx1ZTogZmFsc2UgfSk7XG5cbiAgcmVhZG9ubHkgZmlsdGVySXRlbXNMb2FkaW5nU3RhdGUkOiBPYnNlcnZhYmxlPExvYWRpbmdTdGF0ZTxQaWNrYWJsZUl0ZW1GaWVsZEl0ZW08VD5bXT4+ID0gdGhpcy5pdGVtcyQucGlwZShcbiAgICBtYXAoKHgpID0+IHN1Y2Nlc3NSZXN1bHQoeCkpLFxuICAgIHN0YXJ0V2l0aEJlZ2luTG9hZGluZygpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgLyoqXG4gICAqIENvbnRleHQgdXNlZCBmb3Igc2VhcmNoaW5nL2ZpbHRlcmluZy5cbiAgICovXG4gIHJlYWRvbmx5IGZpbHRlclJlc3VsdHNDb250ZXh0ID0gbmV3IExpc3RMb2FkaW5nU3RhdGVDb250ZXh0SW5zdGFuY2UoeyBvYnM6IHRoaXMuZmlsdGVyZWRTZWFyY2hSZXN1bHRzU3RhdGUkLCBzaG93TG9hZGluZ09uTm9WYWx1ZTogdHJ1ZSB9KTtcblxuICByZWFkb25seSBub0l0ZW1zQXZhaWxhYmxlJCA9IHRoaXMuZmlsdGVySXRlbXNMb2FkaW5nU3RhdGUkLnBpcGUoaXNMaXN0TG9hZGluZ1N0YXRlRW1wdHkoKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSk7XG5cbiAgZ2V0IHJlYWRvbmx5KCk6IE1heWJlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy5yZWFkb25seTtcbiAgfVxuXG4gIGdldCBpc1JlYWRvbmx5T3JEaXNhYmxlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5yZWFkb25seSB8fCB0aGlzLmRpc2FibGVkO1xuICB9XG5cbiAgZ2V0IHBpY2thYmxlRmllbGQoKTogUGlja2FibGVWYWx1ZUZpZWxkc0ZpZWxkUHJvcHM8VCwgTSwgSD4ge1xuICAgIHJldHVybiB0aGlzLnByb3BzO1xuICB9XG5cbiAgZ2V0IG11bHRpU2VsZWN0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnBpY2thYmxlRmllbGQubXVsdGlTZWxlY3QgPz8gdHJ1ZTtcbiAgfVxuXG4gIGdldCBhc0FycmF5VmFsdWUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucGlja2FibGVGaWVsZC5hc0FycmF5VmFsdWUgPz8gdHJ1ZTtcbiAgfVxuXG4gIGdldCBmaWx0ZXJMYWJlbCgpOiBNYXliZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5waWNrYWJsZUZpZWxkLmZpbHRlckxhYmVsO1xuICB9XG5cbiAgZ2V0IG5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5maWVsZC5uYW1lID8/IGNhbWVsQ2FzZSh0aGlzLmxhYmVsID8/ICh0aGlzLmtleSBhcyBzdHJpbmcpKTtcbiAgfVxuXG4gIGdldCBsYWJlbCgpOiBNYXliZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy5sYWJlbDtcbiAgfVxuXG4gIGdldCBhdXRvY29tcGxldGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gKHRoaXMucHJvcHMuYXR0cmlidXRlcz8uWydhdXRvY29tcGxldGUnXSA/PyB0aGlzLmtleSkgYXMgc3RyaW5nO1xuICB9XG5cbiAgZ2V0IGNoYW5nZVNlbGVjdGlvbk1vZGVUb1ZpZXdPbkRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnBpY2thYmxlRmllbGQuY2hhbmdlU2VsZWN0aW9uTW9kZVRvVmlld09uRGlzYWJsZWQgPz8gZmFsc2U7XG4gIH1cblxuICBnZXQgc29ydEl0ZW1zKCk6IE1heWJlPFBpY2thYmxlSXRlbUZpZWxkSXRlbVNvcnRGbjxULCBNPj4ge1xuICAgIHJldHVybiB0aGlzLnBpY2thYmxlRmllbGQuc29ydEl0ZW1zO1xuICB9XG5cbiAgZ2V0IGhhc2hGb3JWYWx1ZSgpOiBQaWNrYWJsZVZhbHVlRmllbGRIYXNoRm48VCwgSD4ge1xuICAgIHJldHVybiB0aGlzLnBpY2thYmxlRmllbGQuaGFzaEZvclZhbHVlID8/ICgoeCkgPT4geCBhcyB1bmtub3duIGFzIEgpO1xuICB9XG5cbiAgZ2V0IGRpc3BsYXlGb3JWYWx1ZSgpOiBQaWNrYWJsZVZhbHVlRmllbGREaXNwbGF5Rm48VCwgTT4ge1xuICAgIHJldHVybiB0aGlzLnBpY2thYmxlRmllbGQuZGlzcGxheUZvclZhbHVlO1xuICB9XG5cbiAgZ2V0IHNob3dGaWx0ZXJJbnB1dCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gQm9vbGVhbih0aGlzLnBpY2thYmxlRmllbGQuZmlsdGVyVmFsdWVzKTtcbiAgfVxuXG4gIGdldCBmaWx0ZXJWYWx1ZXNGbigpOiBQaWNrYWJsZVZhbHVlRmllbGRGaWx0ZXJGbjxULCBNPiB7XG4gICAgcmV0dXJuIHRoaXMucGlja2FibGVGaWVsZC5maWx0ZXJWYWx1ZXMgPz8gKChfLCB4KSA9PiBvZih4Lm1hcCgoeSkgPT4geS52YWx1ZSkpKTtcbiAgfVxuXG4gIGdldCBza2lwRmlsdGVyRm5PbkVtcHR5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnBpY2thYmxlRmllbGQuc2tpcEZpbHRlckZuT25FbXB0eSA/PyB0cnVlO1xuICB9XG5cbiAgZ2V0IF9maWx0ZXJWYWx1ZXMoKTogUGlja2FibGVWYWx1ZUZpZWxkRmlsdGVyRm48VCwgTT4ge1xuICAgIGxldCBmbjogUGlja2FibGVWYWx1ZUZpZWxkRmlsdGVyRm48VCwgTT47XG5cbiAgICBpZiAodGhpcy5za2lwRmlsdGVyRm5PbkVtcHR5KSB7XG4gICAgICBmbiA9IChmaWx0ZXJUZXh0OiBNYXliZTxzdHJpbmc+LCB2YWx1ZXM6IFBpY2thYmxlVmFsdWVGaWVsZERpc3BsYXlWYWx1ZTxULCBNPltdKTogT2JzZXJ2YWJsZTxUW10+ID0+IHtcbiAgICAgICAgbGV0IHJlc3VsdDogT2JzZXJ2YWJsZTxUW10+O1xuXG4gICAgICAgIGlmIChmaWx0ZXJUZXh0KSB7XG4gICAgICAgICAgcmVzdWx0ID0gdGhpcy5maWx0ZXJWYWx1ZXNGbihmaWx0ZXJUZXh0LCB2YWx1ZXMpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJlc3VsdCA9IG9mKHZhbHVlcy5tYXAoKHgpID0+IHgudmFsdWUpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICBmbiA9IHRoaXMuZmlsdGVyVmFsdWVzRm47XG4gICAgfVxuXG4gICAgcmV0dXJuIGZuO1xuICB9XG5cbiAgZ2V0IHNob3dUZXh0RmlsdGVyKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnBpY2thYmxlRmllbGQuc2hvd1RleHRGaWx0ZXIgPz8gQm9vbGVhbih0aGlzLnBpY2thYmxlRmllbGQuZmlsdGVyVmFsdWVzKTtcbiAgfVxuXG4gIGdldCBsb2FkVmFsdWVzRm4oKTogUGlja2FibGVWYWx1ZUZpZWxkTG9hZFZhbHVlc0ZuPFQsIE0+IHtcbiAgICByZXR1cm4gdGhpcy5waWNrYWJsZUZpZWxkLmxvYWRWYWx1ZXM7XG4gIH1cblxuICBnZXQgdmFsdWVzKCk6IFRbXSB7XG4gICAgcmV0dXJuIHRoaXMuX2dldFZhbHVlT25Gb3JtQ29udHJvbCh0aGlzLmZvcm1Db250cm9sLnZhbHVlKSA/PyBbXTtcbiAgfVxuXG4gIGdldCBmb290ZXJDb25maWcoKTogTWF5YmU8RGJ4SW5qZWN0aW9uQ29tcG9uZW50Q29uZmlnPiB7XG4gICAgcmV0dXJuIHRoaXMucGlja2FibGVGaWVsZC5mb290ZXJDb25maWc7XG4gIH1cblxuICBsb2FkRGlzcGxheVZhbHVlc0ZvclZhbHVlcyh2YWx1ZXM6IFRbXSk6IE9ic2VydmFibGU8TG9hZGluZ1N0YXRlPFBpY2thYmxlVmFsdWVGaWVsZERpc3BsYXlWYWx1ZVdpdGhIYXNoPFQsIE0sIEg+W10+PiB7XG4gICAgcmV0dXJuIHRoaXMubG9hZERpc3BsYXlWYWx1ZXNGb3JGaWVsZFZhbHVlcyh2YWx1ZXMubWFwKCh2YWx1ZSkgPT4gKHsgdmFsdWUgfSkpKTtcbiAgfVxuXG4gIGxvYWREaXNwbGF5VmFsdWVzRm9yRmllbGRWYWx1ZXModmFsdWVzOiBQaWNrYWJsZVZhbHVlRmllbGRWYWx1ZTxULCBNPltdKTogT2JzZXJ2YWJsZTxMb2FkaW5nU3RhdGU8UGlja2FibGVWYWx1ZUZpZWxkRGlzcGxheVZhbHVlV2l0aEhhc2g8VCwgTSwgSD5bXT4+IHtcbiAgICByZXR1cm4gdGhpcy5nZXREaXNwbGF5VmFsdWVzRm9yRmllbGRWYWx1ZXModmFsdWVzKS5waXBlKFxuICAgICAgbWFwKChkaXNwbGF5VmFsdWVzOiBQaWNrYWJsZVZhbHVlRmllbGREaXNwbGF5VmFsdWVXaXRoSGFzaDxULCBNLCBIPltdKSA9PiBzdWNjZXNzUmVzdWx0KGRpc3BsYXlWYWx1ZXMpKSxcbiAgICAgIHN0YXJ0V2l0aEJlZ2luTG9hZGluZygpLFxuICAgICAgc2hhcmVSZXBsYXkoMSlcbiAgICApO1xuICB9XG5cbiAgZ2V0RGlzcGxheVZhbHVlc0ZvckZpZWxkVmFsdWVzKHZhbHVlczogUGlja2FibGVWYWx1ZUZpZWxkVmFsdWU8VCwgTT5bXSk6IE9ic2VydmFibGU8UGlja2FibGVWYWx1ZUZpZWxkRGlzcGxheVZhbHVlV2l0aEhhc2g8VCwgTSwgSD5bXT4ge1xuICAgIHJldHVybiB0aGlzLl9kaXNwbGF5SGFzaE1hcC5waXBlKFxuICAgICAgbWVyZ2VNYXAoKGRpc3BsYXlNYXApID0+IHtcbiAgICAgICAgY29uc3QgbWFwcGluZ1Jlc3VsdCA9IHZhbHVlcy5tYXAoKHgpID0+IFt4LCB0aGlzLmhhc2hGb3JWYWx1ZSh4LnZhbHVlKV0gYXMgW1BpY2thYmxlVmFsdWVGaWVsZFZhbHVlPFQsIE0+LCBIXSkubWFwKChbeCwgaGFzaF0sIGkpID0+IFtpLCBoYXNoLCB4LCBkaXNwbGF5TWFwLmdldChoYXNoKV0gYXMgW251bWJlciwgSCwgUGlja2FibGVWYWx1ZUZpZWxkVmFsdWU8VCwgTT4sIFBpY2thYmxlVmFsdWVGaWVsZERpc3BsYXlWYWx1ZVdpdGhIYXNoPFQsIE0sIEg+XSk7XG5cbiAgICAgICAgY29uc3QgaGFzRGlzcGxheSA9IG1hcHBpbmdSZXN1bHQuZmlsdGVyKCh4KSA9PiBCb29sZWFuKHhbM10pKTtcbiAgICAgICAgY29uc3QgbmVlZHNEaXNwbGF5ID0gbWFwcGluZ1Jlc3VsdC5maWx0ZXIoKHgpID0+ICF4WzNdKTtcblxuICAgICAgICBpZiAobmVlZHNEaXNwbGF5Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAvLyBHbyBnZXQgdGhlIGRpc3BsYXkgdmFsdWUuXG4gICAgICAgICAgY29uc3QgZGlzcGxheVZhbHVlc09icyA9IHRoaXMuZGlzcGxheUZvclZhbHVlKG5lZWRzRGlzcGxheS5tYXAoKHgpID0+IHhbMl0pKTtcblxuICAgICAgICAgIHJldHVybiBkaXNwbGF5VmFsdWVzT2JzLnBpcGUoXG4gICAgICAgICAgICBmaXJzdCgpLFxuICAgICAgICAgICAgbWFwKChkaXNwbGF5UmVzdWx0cykgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBkaXNwbGF5UmVzdWx0c1dpdGhIYXNoOiBQaWNrYWJsZVZhbHVlRmllbGREaXNwbGF5VmFsdWVXaXRoSGFzaDxULCBNLCBIPltdID0gZGlzcGxheVJlc3VsdHMubWFwKCh4KSA9PiB7XG4gICAgICAgICAgICAgICAgKHggYXMgUGlja2FibGVWYWx1ZUZpZWxkRGlzcGxheVZhbHVlV2l0aEhhc2g8VCwgTSwgSD4pLl9oYXNoID0gdGhpcy5oYXNoRm9yVmFsdWUoeC52YWx1ZSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHggYXMgUGlja2FibGVWYWx1ZUZpZWxkRGlzcGxheVZhbHVlV2l0aEhhc2g8VCwgTSwgSD47XG4gICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgIC8vIENyZWF0ZSBhIG1hcCB0byByZS1qb2luIHZhbHVlcyBsYXRlci5cbiAgICAgICAgICAgICAgY29uc3QgZGlzcGxheVJlc3VsdHNNYXBwaW5nOiBbUGlja2FibGVWYWx1ZUZpZWxkRGlzcGxheVZhbHVlV2l0aEhhc2g8VCwgTSwgSD4sIEhdW10gPSBkaXNwbGF5UmVzdWx0c1dpdGhIYXNoLm1hcCgoeCkgPT4gW3gsIHguX2hhc2hdKTtcbiAgICAgICAgICAgICAgY29uc3QgdmFsdWVJbmRleEhhc2hNYXAgPSBuZXcgTWFwKGRpc3BsYXlSZXN1bHRzTWFwcGluZy5tYXAoKFt4LCBoYXNoXSkgPT4gW2hhc2gsIHhdKSk7XG5cbiAgICAgICAgICAgICAgLy8gVXBkYXRlIGRpc3BsYXlNYXAuIE5vIG5lZWQgdG8gcHVzaCBhbiB1cGRhdGUgbm90aWZpY2F0aW9uLlxuICAgICAgICAgICAgICBkaXNwbGF5UmVzdWx0c01hcHBpbmcuZm9yRWFjaCgoW3gsIGhhc2hdKSA9PiBkaXNwbGF5TWFwLnNldChoYXNoLCB4KSk7XG5cbiAgICAgICAgICAgICAgLy8gWmlwIHZhbHVlcyBiYWNrIHRvZ2V0aGVyLlxuICAgICAgICAgICAgICBjb25zdCBuZXdEaXNwbGF5VmFsdWVzID0gbWFwcGluZ1Jlc3VsdC5tYXAoKHgpID0+IHhbM10gPz8gdmFsdWVJbmRleEhhc2hNYXAuZ2V0KHhbMV0pKTtcblxuICAgICAgICAgICAgICAvLyBSZXR1cm4gZGlzcGxheSB2YWx1ZXMuXG4gICAgICAgICAgICAgIHJldHVybiBuZXdEaXNwbGF5VmFsdWVzO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIElmIGFsbCBkaXNwbGF5IHZhbHVlcyBhcmUgaGFzaGVkIHJldHVybiB0aGF0LlxuICAgICAgICAgIHJldHVybiBvZihoYXNEaXNwbGF5Lm1hcCgoeCkgPT4geFszXSkpIGFzIE9ic2VydmFibGU8UGlja2FibGVWYWx1ZUZpZWxkRGlzcGxheVZhbHVlV2l0aEhhc2g8VCwgTSwgSD5bXT47XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX2Zvcm1Db250cm9sT2JzLm5leHQodGhpcy5mb3JtQ29udHJvbCk7XG5cbiAgICAvLyBGb2N1cyBhZnRlciBmaW5pc2hlZCBsb2FkaW5nIGZvciB0aGUgZmlyc3QgdGltZS5cbiAgICB0aGlzLmNvbnRleHQubG9hZGluZyRcbiAgICAgIC5waXBlKFxuICAgICAgICBkZWxheSgxMCksXG4gICAgICAgIGZpbHRlcigoeCkgPT4geCksXG4gICAgICAgIGZpcnN0KClcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmZpbHRlck1hdElucHV0Py5mb2N1cygpO1xuICAgICAgfSk7XG4gIH1cblxuICBvdmVycmlkZSBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgIHRoaXMuX2Rpc3BsYXlIYXNoTWFwLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5fZm9ybUNvbnRyb2xPYnMuY29tcGxldGUoKTtcbiAgICB0aGlzLmZpbHRlclJlc3VsdHNDb250ZXh0LmRlc3Ryb3koKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBfZ2V0VmFsdWVPbkZvcm1Db250cm9sKHZhbHVlT25Gb3JtQ29udHJvbDogQXJyYXlPclZhbHVlPFQ+KTogVFtdIHtcbiAgICBjb25zdCB2YWx1ZTogVFtdID0gdmFsdWVPbkZvcm1Db250cm9sICE9IG51bGwgPyAoW10gYXMgVFtdKS5jb25jYXQodmFsdWVPbkZvcm1Db250cm9sKSA6IFtdOyAvLyBBbHdheXMgcmV0dXJuIGFuIGFycmF5LlxuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIGFkZFZhbHVlKHZhbHVlOiBUKTogdm9pZCB7XG4gICAgdGhpcy5zZXRWYWx1ZXMoWy4uLnRoaXMudmFsdWVzLCB2YWx1ZV0pO1xuICB9XG5cbiAgcmVtb3ZlVmFsdWUodmFsdWU6IFQpOiB2b2lkIHtcbiAgICBjb25zdCBoYXNoVG9GaWx0ZXIgPSB0aGlzLmhhc2hGb3JWYWx1ZSh2YWx1ZSk7XG4gICAgY29uc3QgdmFsdWVzID0gdGhpcy52YWx1ZXMuZmlsdGVyKCh4KSA9PiB0aGlzLmhhc2hGb3JWYWx1ZSh4KSAhPT0gaGFzaFRvRmlsdGVyKTtcbiAgICB0aGlzLnNldFZhbHVlcyh2YWx1ZXMpO1xuICB9XG5cbiAgc2V0VmFsdWVzKHZhbHVlczogVFtdKTogdm9pZCB7XG4gICAgLy8gVXNlIHRvIGZpbHRlciBub24tdW5pcXVlIHZhbHVlcy5cbiAgICBpZiAodGhpcy5oYXNoRm9yVmFsdWUpIHtcbiAgICAgIHZhbHVlcyA9IGZpbmRVbmlxdWUodmFsdWVzLCB0aGlzLmhhc2hGb3JWYWx1ZSk7XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLm11bHRpU2VsZWN0KSB7XG4gICAgICB2YWx1ZXMgPSBbdmFsdWVzWzBdXS5maWx0ZXIoKHgpID0+IHggIT0gbnVsbCk7XG4gICAgfVxuXG4gICAgdGhpcy5fc2V0VmFsdWVPbkZvcm1Db250cm9sKHZhbHVlcyk7XG4gIH1cblxuICAvLyBNQVJLOiBJbnRlcm5hbFxuICBwcm90ZWN0ZWQgX3NldFZhbHVlT25Gb3JtQ29udHJvbCh2YWx1ZXM6IFRbXSk6IHZvaWQge1xuICAgIGxldCBuZXdWYWx1ZTogVCB8IFRbXSA9IHZhbHVlcztcblxuICAgIGlmICghdGhpcy5hc0FycmF5VmFsdWUpIHtcbiAgICAgIG5ld1ZhbHVlID0gW3ZhbHVlc1swXV0uZmlsdGVyKCh4KSA9PiB4ICE9IG51bGwpWzBdO1xuICAgIH1cblxuICAgIHRoaXMuZm9ybUNvbnRyb2wuc2V0VmFsdWUobmV3VmFsdWUpO1xuICAgIHRoaXMuZm9ybUNvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xuICAgIHRoaXMuZm9ybUNvbnRyb2wubWFya0FzRGlydHkoKTtcbiAgfVxufVxuIl19
|
|
265
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlja2FibGUuZmllbGQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZvcm0vc3JjL2xpYi9mb3JtbHkvZmllbGQvc2VsZWN0aW9uL3BpY2thYmxlL3BpY2thYmxlLmZpZWxkLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQWdCLGFBQWEsRUFBRSxzQkFBc0IsRUFBRSxXQUFXLEVBQUUsK0JBQStCLEVBQUUsdUJBQXVCLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEwsT0FBTyxFQUFnQixtQkFBbUIsRUFBRSxVQUFVLEVBQUUsa0JBQWtCLEVBQXVCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZILE9BQU8sRUFBRSxTQUFTLEVBQXFCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQUUsV0FBVyxFQUFtQixNQUFNLGdCQUFnQixDQUFDO0FBQzlELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUVuRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDakQsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQWMsRUFBRSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR2xMLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7O0FBaUZ4Qzs7R0FFRztBQUVILE1BQU0sT0FBTyxxQ0FBNkYsU0FBUSxTQUFrRTtJQURwTDs7UUFLVyxjQUFTLEdBQUcsSUFBSSxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFakMsb0JBQWUsR0FBRyxJQUFJLGVBQWUsQ0FBeUIs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akQsU0FBUzs4QkFHUixjQUFjO3NCQURiLFNBQVM7dUJBQUMsZ0JBQWdCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGJ4SW5qZWN0aW9uQ29tcG9uZW50Q29uZmlnIH0gZnJvbSAnQGRlcmVla2IvZGJ4LWNvcmUnO1xuaW1wb3J0IHsgTG9hZGluZ1N0YXRlLCBzdWNjZXNzUmVzdWx0LCBtYXBMb2FkaW5nU3RhdGVSZXN1bHRzLCBmaWx0ZXJNYXliZSwgTGlzdExvYWRpbmdTdGF0ZUNvbnRleHRJbnN0YW5jZSwgaXNMaXN0TG9hZGluZ1N0YXRlRW1wdHksIHN0YXJ0V2l0aEJlZ2luTG9hZGluZyB9IGZyb20gJ0BkZXJlZWtiL3J4anMnO1xuaW1wb3J0IHsgUHJpbWF0aXZlS2V5LCBjb252ZXJ0TWF5YmVUb0FycmF5LCBmaW5kVW5pcXVlLCBtYWtlVmFsdWVzR3JvdXBNYXAsIE1heWJlLCBBcnJheU9yVmFsdWUgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcbmltcG9ydCB7IERpcmVjdGl2ZSwgT25EZXN0cm95LCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEFic3RyYWN0Q29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHsgRmllbGRUeXBlQ29uZmlnLCBGb3JtbHlGaWVsZFByb3BzIH0gZnJvbSAnQG5neC1mb3JtbHkvY29yZSc7XG5pbXBvcnQgeyBGaWVsZFR5cGUgfSBmcm9tICdAbmd4LWZvcm1seS9tYXRlcmlhbCc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUsIG9mLCBmaWx0ZXIsIG1hcCwgZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgc3dpdGNoTWFwLCBzdGFydFdpdGgsIHNoYXJlUmVwbGF5LCBtZXJnZU1hcCwgZmlyc3QsIGRlbGF5IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBQaWNrYWJsZVZhbHVlRmllbGREaXNwbGF5Rm4sIFBpY2thYmxlVmFsdWVGaWVsZERpc3BsYXlWYWx1ZSwgUGlja2FibGVWYWx1ZUZpZWxkRmlsdGVyRm4sIFBpY2thYmxlVmFsdWVGaWVsZEhhc2hGbiwgUGlja2FibGVWYWx1ZUZpZWxkTG9hZFZhbHVlc0ZuLCBQaWNrYWJsZVZhbHVlRmllbGRWYWx1ZSB9IGZyb20gJy4vcGlja2FibGUnO1xuaW1wb3J0IHsgRGJ4VmFsdWVMaXN0SXRlbSB9IGZyb20gJ0BkZXJlZWtiL2RieC13ZWInO1xuaW1wb3J0IHsgY2FtZWxDYXNlIH0gZnJvbSAnY2hhbmdlLWNhc2UnO1xuXG4vKipcbiAqIFdyYXBzIHRoZSBzZWxlY3RlZCBzdGF0ZSB3aXRoIHRoZSBpdGVtcy5cbiAqL1xuZXhwb3J0IHR5cGUgUGlja2FibGVJdGVtRmllbGRJdGVtPFQsIE0gPSB1bmtub3duPiA9IERieFZhbHVlTGlzdEl0ZW08UGlja2FibGVWYWx1ZUZpZWxkRGlzcGxheVZhbHVlPFQsIE0+PjtcblxuZXhwb3J0IHR5cGUgUGlja2FibGVJdGVtRmllbGRJdGVtU29ydEZuPFQsIE0gPSB1bmtub3duPiA9IChpdGVtczogUGlja2FibGVJdGVtRmllbGRJdGVtPFQsIE0+W10pID0+IFBpY2thYmxlSXRlbUZpZWxkSXRlbTxULCBNPltdO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBpY2thYmxlVmFsdWVGaWVsZHNGaWVsZFByb3BzPFQsIE0gPSB1bmtub3duLCBIIGV4dGVuZHMgUHJpbWF0aXZlS2V5ID0gUHJpbWF0aXZlS2V5PiBleHRlbmRzIEZvcm1seUZpZWxkUHJvcHMge1xuICAvKipcbiAgICogTG9hZHMgYWxsIHBpY2thYmxlIHZhbHVlcy5cbiAgICovXG4gIGxvYWRWYWx1ZXM6IFBpY2thYmxlVmFsdWVGaWVsZExvYWRWYWx1ZXNGbjxULCBNPjtcbiAgLyoqXG4gICAqIFVzZWQgZm9yIGJ1aWxkaW5nIGEgZGlzcGxheSB2YWx1ZSBnaXZlbiB0aGUgaW5wdXQuXG4gICAqL1xuICBkaXNwbGF5Rm9yVmFsdWU6IFBpY2thYmxlVmFsdWVGaWVsZERpc3BsYXlGbjxULCBNPjtcbiAgLyoqXG4gICAqIFVzZWQgZm9yIGhhc2hpbmcgZGlzcGxheSB2YWx1ZXMgYW5kIG9taXR0aW5nIHJlcGVhdCB2YWx1ZXMuXG4gICAqXG4gICAqIElmIGhhc2hGb3JWYWx1ZSBpcyBub3QgcHJvdmlkZWQsIHRoZSB2YWx1ZSdzIHZhbHVlIHdpbGwgYmUgdXNlZCBhcyBpcy5cbiAgICovXG4gIGhhc2hGb3JWYWx1ZT86IFBpY2thYmxlVmFsdWVGaWVsZEhhc2hGbjxULCBIPjtcbiAgLyoqXG4gICAqIFVzZWQgZm9yIGZpbHRlcmluZyB2YWx1ZXMgdmlhIHRoZSBzZWFyY2ggdGV4dC5cbiAgICovXG4gIGZpbHRlclZhbHVlcz86IFBpY2thYmxlVmFsdWVGaWVsZEZpbHRlckZuPFQsIE0+O1xuICAvKipcbiAgICogVXNlZCBmb3Igc29ydGluZyB0aGUgaXRlbXMgYmVmb3JlIHRoZXkgYXJlIGRpc3BsYXllZC5cbiAgICpcbiAgICogU2hvdWxkIG9ubHkgYmUgdXNlZCB0byBzb3J0IHZhbHVlcy5cbiAgICovXG4gIHNvcnRJdGVtcz86IFBpY2thYmxlSXRlbUZpZWxkSXRlbVNvcnRGbjxULCBNPjtcbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRvIGFsbG93IG11bHRpcGxlIGl0ZW1zIHRvIGJlIHNlbGVjdGVkLlxuICAgKi9cbiAgbXVsdGlTZWxlY3Q/OiBib29sZWFuO1xuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdG8gc2V0L2dldCB2YWx1ZXMgYXMgYW4gYXJyYXkgb3IgYSBzaW5nbGUgdmFsdWUuIElmIHNldCBmYWxzZSwgbXVsdGlTZWxlY3QgaXMgaWdub3JlZC5cbiAgICovXG4gIGFzQXJyYXlWYWx1ZT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0byBzaG93IHRoZSB0ZXh0IGZpbHRlci4gVHJ1ZSBieSBkZWZhdWx0IGlmIGZpbHRlclZhbHVlcyBpcyBwcm92aWRlZC5cbiAgICovXG4gIHNob3dUZXh0RmlsdGVyPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRvIHNraXAgdGhlIGZpbHRlciBmdW5jdGlvbiB3aGVuIHRoZSBpbnB1dCBpcyBlbXB0eS5cbiAgICpcbiAgICogVHJ1ZSBieSBkZWZhdWx0LlxuICAgKi9cbiAgc2tpcEZpbHRlckZuT25FbXB0eT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBGaWx0ZXIgTGFiZWxcbiAgICovXG4gIGZpbHRlckxhYmVsPzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIG1heGltdW0gbnVtYmVyIG9mIHZhbHVlcyB0aGF0IGNhbiBiZSBwaWNrZWRcbiAgICovXG4gIG1heFBpY2tzPzogbnVtYmVyO1xuICAvKipcbiAgICogT3B0aW9uYWwgZGVzY3JpcHRpb24vaGludCB0byBkaXNwbGF5LlxuICAgKi9cbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBGb290ZXIgRGlzcGxheVxuICAgKi9cbiAgZm9vdGVyQ29uZmlnPzogRGJ4SW5qZWN0aW9uQ29tcG9uZW50Q29uZmlnO1xuICAvKipcbiAgICogQ2hhbmdlcyB0aGUgc2VsZWN0aW9uIG1vZGUgb2YgdGhlIGxpc3QgdG8gXCJ2aWV3XCIgbW9kZSBvbiBkaXNhYmxlZCwgaGlkaW5nIHRoZSBzZWxlY3Rpb24gYm94ZXMuXG4gICAqL1xuICBjaGFuZ2VTZWxlY3Rpb25Nb2RlVG9WaWV3T25EaXNhYmxlZD86IGJvb2xlYW47XG59XG5cbi8qKlxuICogRGlzcGxheWVkIHZhbHVlIHdpdGggdGhlIGNvbXB1dGVkIGhhc2guXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGlja2FibGVWYWx1ZUZpZWxkRGlzcGxheVZhbHVlV2l0aEhhc2g8VCwgTSA9IHVua25vd24sIEggZXh0ZW5kcyBQcmltYXRpdmVLZXkgPSBQcmltYXRpdmVLZXk+IGV4dGVuZHMgUGlja2FibGVWYWx1ZUZpZWxkRGlzcGxheVZhbHVlPFQsIE0+IHtcbiAgX2hhc2g6IEg7XG59XG5cbi8qKlxuICogVXNlZCBmb3IgcGlja2luZyBwcmUtc2V0IHZhbHVlcyB1c2luZyBpdGVtcyBhcyB0aGUgcHJlc2VudGF0aW9uLlxuICovXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBjbGFzcyBBYnN0cmFjdERieFBpY2thYmxlSXRlbUZpZWxkRGlyZWN0aXZlPFQsIE0gPSB1bmtub3duLCBIIGV4dGVuZHMgUHJpbWF0aXZlS2V5ID0gUHJpbWF0aXZlS2V5PiBleHRlbmRzIEZpZWxkVHlwZTxGaWVsZFR5cGVDb25maWc8UGlja2FibGVWYWx1ZUZpZWxkc0ZpZWxkUHJvcHM8VCwgTSwgSD4+PiBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQFZpZXdDaGlsZCgnZmlsdGVyTWF0SW5wdXQnLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBmaWx0ZXJNYXRJbnB1dCE6IE1hdElucHV0O1xuXG4gIHJlYWRvbmx5IGlucHV0Q3RybCA9IG5ldyBGb3JtQ29udHJvbCgnJyk7XG5cbiAgcHJpdmF0ZSBfZm9ybUNvbnRyb2xPYnMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE1heWJlPEFic3RyYWN0Q29udHJvbD4+KHVuZGVmaW5lZCk7XG4gIHJlYWRvbmx5IGZvcm1Db250cm9sJCA9IHRoaXMuX2Zvcm1Db250cm9sT2JzLnBpcGUoZmlsdGVyTWF5YmUoKSk7XG5cbiAgcHJpdmF0ZSBfZGlzcGxheUhhc2hNYXAgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE1hcDxILCBQaWNrYWJsZVZhbHVlRmllbGREaXNwbGF5VmFsdWU8VCwgTT4+PihuZXcgTWFwKCkpO1xuXG4gIHJlYWRvbmx5IGZpbHRlcklucHV0VmFsdWUkOiBPYnNlcnZhYmxlPE1heWJlPHN0cmluZz4+ID0gdGhpcy5pbnB1dEN0cmwudmFsdWVDaGFuZ2VzLnBpcGUoc3RhcnRXaXRoKHVuZGVmaW5lZCkpO1xuICByZWFkb25seSBmaWx0ZXJJbnB1dFZhbHVlU3RyaW5nJDogT2JzZXJ2YWJsZTxNYXliZTxzdHJpbmc+PiA9IHRoaXMuZmlsdGVySW5wdXRWYWx1ZSQucGlwZShkZWJvdW5jZVRpbWUoMjAwKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSwgc2hhcmVSZXBsYXkoMSkpO1xuXG4gIHJlYWRvbmx5IGxvYWRSZXN1bHRzRGlzcGxheVZhbHVlc1N0YXRlJDogT2JzZXJ2YWJsZTxMb2FkaW5nU3RhdGU8UGlja2FibGVWYWx1ZUZpZWxkRGlzcGxheVZhbHVlV2l0aEhhc2g8VCwgTSwgSD5bXT4+ID0gdGhpcy5mb3JtQ29udHJvbCQucGlwZShcbiAgICBmaXJzdCgpLFxuICAgIHN3aXRjaE1hcCgoKSA9PlxuICAgICAgdGhpcy5sb2FkVmFsdWVzRm4oKS5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKHgpID0+IHRoaXMubG9hZERpc3BsYXlWYWx1ZXNGb3JGaWVsZFZhbHVlcyh4KSksXG4gICAgICAgIHN0YXJ0V2l0aEJlZ2luTG9hZGluZygpXG4gICAgICApXG4gICAgKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIHJlYWRvbmx5IF9mb3JtQ29udHJvbFZhbHVlOiBPYnNlcnZhYmxlPFQgfCBUW10+ID0gdGhpcy5mb3JtQ29udHJvbCQucGlwZShzd2l0Y2hNYXAoKGNvbnRyb2wpID0+IGNvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoc3RhcnRXaXRoKGNvbnRyb2wudmFsdWUpLCBzaGFyZVJlcGxheSgxKSkpKTtcblxuICByZWFkb25seSBsb2FkUmVzdWx0c0Rpc3BsYXlWYWx1ZXMkOiBPYnNlcnZhYmxlPFBpY2thYmxlVmFsdWVGaWVsZERpc3BsYXlWYWx1ZVdpdGhIYXNoPFQsIE0sIEg+W10+ID0gdGhpcy5sb2FkUmVzdWx0c0Rpc3BsYXlWYWx1ZXNTdGF0ZSQucGlwZShtYXAoKHgpID0+IHg/LnZhbHVlID8/IFtdKSk7XG5cbiAgLyoqXG4gICAqIEN1cnJlbnQgdmFsdWVzIGluIHRoZSBmb3JtIGNvbnRyb2wuXG4gICAqL1xuICByZWFkb25seSB2YWx1ZXMkOiBPYnNlcnZhYmxlPFRbXT4gPSB0aGlzLl9mb3JtQ29udHJvbFZhbHVlLnBpcGUobWFwKGNvbnZlcnRNYXliZVRvQXJyYXkpLCBzaGFyZVJlcGxheSgxKSk7XG5cbiAgLyoqXG4gICAqIEN1cnJlbnQgdmFsdWVzIHdpdGggdGhlaXIgZGlzcGxheSB2YWx1ZS5cbiAgICovXG4gIHJlYWRvbmx5IGRpc3BsYXlWYWx1ZXNTdGF0ZSQ6IE9ic2VydmFibGU8TG9hZGluZ1N0YXRlPFBpY2thYmxlVmFsdWVGaWVsZERpc3BsYXlWYWx1ZVdpdGhIYXNoPFQsIE0sIEg+W10+PiA9IGNvbWJpbmVMYXRlc3QoW3RoaXMubG9hZFJlc3VsdHNEaXNwbGF5VmFsdWVzJCwgdGhpcy52YWx1ZXMkXSkucGlwZShcbiAgICBzd2l0Y2hNYXAoKFtkaXNwbGF5VmFsdWVzLCBjdXJyZW50VmFsdWVzXSkgPT4ge1xuICAgICAgY29uc3QgZGlzcGxheVZhbHVlc01hcCA9IG1ha2VWYWx1ZXNHcm91cE1hcChkaXNwbGF5VmFsdWVzLCAoeCkgPT4gdGhpcy5oYXNoRm9yVmFsdWUoeC52YWx1ZSkpO1xuICAgICAgY29uc3QgdmFsdWVzTm90SW5EaXNwbGF5TWFwOiBUW10gPSBbXTtcblxuICAgICAgY3VycmVudFZhbHVlcy5mb3JFYWNoKCh4KSA9PiB7XG4gICAgICAgIGNvbnN0IGtleSA9IHRoaXMuaGFzaEZvclZhbHVlKHgpO1xuICAgICAgICBjb25zdCBkaXNwbGF5VmFsdWU6IE1heWJlPFBpY2thYmxlVmFsdWVGaWVsZERpc3BsYXlWYWx1ZVdpdGhIYXNoPFQsIE0sIEg+PiA9IGRpc3BsYXlWYWx1ZXNNYXAuZ2V0KGtleSk/LlswXTtcblxuICAgICAgICBpZiAoIWRpc3BsYXlWYWx1ZSkge1xuICAgICAgICAgIHZhbHVlc05vdEluRGlzcGxheU1hcC5wdXNoKHgpO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgaWYgKHZhbHVlc05vdEluRGlzcGxheU1hcC5sZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubG9hZERpc3BsYXlWYWx1ZXNGb3JWYWx1ZXModmFsdWVzTm90SW5EaXNwbGF5TWFwKS5waXBlKFxuICAgICAgICAgIG1hcCgoeCkgPT5cbiAgICAgICAgICAgIG1hcExvYWRpbmdTdGF0ZVJlc3VsdHMoeCwge1xuICAgICAgICAgICAgICBtYXBWYWx1ZTogKGxvYWRlZFZhbHVlczogUGlja2FibGVWYWx1ZUZpZWxkRGlzcGxheVZhbHVlV2l0aEhhc2g8VCwgTSwgSD5bXSkgPT4ge1xuICAgICAgICAgICAgICAgIGxvYWRlZFZhbHVlcy5mb3JFYWNoKCh4KSA9PiAoeC5pc1Vua25vd24gPSB4LmlzVW5rbm93biA/PyB0cnVlKSk7IC8vIEFzc2lnbiB1bmtub3duIGZsYWcuXG4gICAgICAgICAgICAgICAgcmV0dXJuIFsuLi5kaXNwbGF5VmFsdWVzLCAuLi5sb2FkZWRWYWx1ZXNdO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICAgIClcbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBvZihzdWNjZXNzUmVzdWx0KGRpc3BsYXlWYWx1ZXMpKTtcbiAgICAgIH1cbiAgICB9KVxuICApO1xuXG4gIC8qKlxuICAgKiBSZXN1bHRzIHRvIGJlIGRpc3BsYXllZCBpZiBmaWx0ZXJlZC5cbiAgICovXG4gIHJlYWRvbmx5IGZpbHRlcmVkU2VhcmNoUmVzdWx0c1N0YXRlJDogT2JzZXJ2YWJsZTxMb2FkaW5nU3RhdGU8UGlja2FibGVWYWx1ZUZpZWxkRGlzcGxheVZhbHVlV2l0aEhhc2g8VCwgTSwgSD5bXT4+ID0gdGhpcy5sb2FkUmVzdWx0c0Rpc3BsYXlWYWx1ZXMkLnBpcGUoXG4gICAgc3dpdGNoTWFwKCh2YWx1ZXMpID0+XG4gICAgICB0aGlzLmZpbHRlcklucHV0VmFsdWVTdHJpbmckLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgodGV4dCkgPT5cbiAgICAgICAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLl9maWx0ZXJWYWx1ZXModGV4dCwgdmFsdWVzKSwgdGhpcy5kaXNwbGF5VmFsdWVzU3RhdGUkXSkucGlwZShcbiAgICAgICAgICAgIG1hcCgoW3ZhbHVlcywgZGlzcGxheVN0YXRlXSkgPT5cbiAgICAgICAgICAgICAgbWFwTG9hZGluZ1N0YXRlUmVzdWx0cyhkaXNwbGF5U3RhdGUsIHtcbiAgICAgICAgICAgICAgICBtYXBWYWx1ZTogKGRpc3BsYXlWYWx1ZXM6IFBpY2thYmxlVmFsdWVGaWVsZERpc3BsYXlWYWx1ZVdpdGhIYXNoPFQsIE0sIEg+W10pID0+IHtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IHZhbHVlSGFzaFNldCA9IG5ldyBTZXQodmFsdWVzLm1hcCgoeCkgPT4gdGhpcy5oYXNoRm9yVmFsdWUoeCkpKTtcbiAgICAgICAgICAgICAgICAgIHJldHVybiBkaXNwbGF5VmFsdWVzLmZpbHRlcigoeCkgPT4gIXguaXNVbmtub3duICYmIHZhbHVlSGFzaFNldC5oYXMoeC5faGFzaCkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBzdGFydFdpdGhCZWdpbkxvYWRpbmcoKVxuICAgICAgICAgIClcbiAgICAgICAgKVxuICAgICAgKVxuICAgICksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICByZWFkb25seSBmaWx0ZXJlZFNlYXJjaFJlc3VsdHMkOiBPYnNlcnZhYmxlPFBpY2thYmxlVmFsdWVGaWVsZERpc3BsYXlWYWx1ZVdpdGhIYXNoPFQsIE0sIEg+W10+ID0gdGhpcy5maWx0ZXJlZFNlYXJjaFJlc3VsdHNTdGF0ZSQucGlwZShcbiAgICBtYXAoKHgpID0+IHg/LnZhbHVlKSxcbiAgICBmaWx0ZXJNYXliZSgpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgaXRlbXMkOiBPYnNlcnZhYmxlPFBpY2thYmxlSXRlbUZpZWxkSXRlbTxULCBNPltdPiA9IGNvbWJpbmVMYXRlc3QoW3RoaXMuZmlsdGVyZWRTZWFyY2hSZXN1bHRzJCwgdGhpcy52YWx1ZXMkXSkucGlwZShcbiAgICBtYXAoKFtkaXNwbGF5VmFsdWVzLCB2YWx1ZXNdKSA9PiB7XG4gICAgICBjb25zdCBzZWxlY3RlZEhhc2hWYWx1ZXNTZXQgPSBuZXcgU2V0KHZhbHVlcy5tYXAoKHgpID0+IHRoaXMuaGFzaEZvclZhbHVlKHgpKSk7XG4gICAgICBsZXQgaXRlbXM6IFBpY2thYmxlSXRlbUZpZWxkSXRlbTxULCBNPltdID0gZGlzcGxheVZhbHVlcy5tYXAoKHgpID0+ICh7IGl0ZW1WYWx1ZTogeCwgc2VsZWN0ZWQ6IHNlbGVjdGVkSGFzaFZhbHVlc1NldC5oYXMoeC5faGFzaCkgfSkpO1xuXG4gICAgICBpZiAodGhpcy5zb3J0SXRlbXMpIHtcbiAgICAgICAgaXRlbXMgPSB0aGlzLnNvcnRJdGVtcyhpdGVtcyk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBpdGVtcztcbiAgICB9KSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIHJlYWRvbmx5IGl0ZW1zTG9hZGluZ1N0YXRlJDogT2JzZXJ2YWJsZTxMb2FkaW5nU3RhdGU8UGlja2FibGVJdGVtRmllbGRJdGVtPFQ+W10+PiA9IHRoaXMubG9hZFJlc3VsdHNEaXNwbGF5VmFsdWVzJC5waXBlKFxuICAgIHN3aXRjaE1hcCgoKSA9PlxuICAgICAgdGhpcy5pdGVtcyQucGlwZShcbiAgICAgICAgZmlyc3QoKSxcbiAgICAgICAgbWFwKCh4KSA9PiBzdWNjZXNzUmVzdWx0KHgpKSxcbiAgICAgICAgc3RhcnRXaXRoQmVnaW5Mb2FkaW5nKCksXG4gICAgICAgIHNoYXJlUmVwbGF5KDEpXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIC8qKlxuICAgKiBDb250ZXh0IHVzZWQgZm9yIG1hbmFnaW5nIHRoZSBsb2FkaW5nIG9mIGl0ZW1zLCBvciB3aGVuIHRoZSBjdXJyZW50IHJlc3VsdHMgY2hhbmdlLlxuICAgKi9cbiAgcmVhZG9ubHkgY29udGV4dCA9IG5ldyBMaXN0TG9hZGluZ1N0YXRlQ29udGV4dEluc3RhbmNlKHsgb2JzOiB0aGlzLml0ZW1zTG9hZGluZ1N0YXRlJCwgc2hvd0xvYWRpbmdPbk5vVmFsdWU6IGZhbHNlIH0pO1xuXG4gIHJlYWRvbmx5IGZpbHRlckl0ZW1zTG9hZGluZ1N0YXRlJDogT2JzZXJ2YWJsZTxMb2FkaW5nU3RhdGU8UGlja2FibGVJdGVtRmllbGRJdGVtPFQ+W10+PiA9IHRoaXMuaXRlbXMkLnBpcGUoXG4gICAgbWFwKCh4KSA9PiBzdWNjZXNzUmVzdWx0KHgpKSxcbiAgICBzdGFydFdpdGhCZWdpbkxvYWRpbmcoKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIC8qKlxuICAgKiBDb250ZXh0IHVzZWQgZm9yIHNlYXJjaGluZy9maWx0ZXJpbmcuXG4gICAqL1xuICByZWFkb25seSBmaWx0ZXJSZXN1bHRzQ29udGV4dCA9IG5ldyBMaXN0TG9hZGluZ1N0YXRlQ29udGV4dEluc3RhbmNlKHsgb2JzOiB0aGlzLmZpbHRlcmVkU2VhcmNoUmVzdWx0c1N0YXRlJCwgc2hvd0xvYWRpbmdPbk5vVmFsdWU6IHRydWUgfSk7XG5cbiAgcmVhZG9ubHkgbm9JdGVtc0F2YWlsYWJsZSQgPSB0aGlzLmZpbHRlckl0ZW1zTG9hZGluZ1N0YXRlJC5waXBlKGlzTGlzdExvYWRpbmdTdGF0ZUVtcHR5KCksIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpO1xuXG4gIGdldCByZWFkb25seSgpOiBNYXliZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMucHJvcHMucmVhZG9ubHk7XG4gIH1cblxuICBnZXQgaXNSZWFkb25seU9yRGlzYWJsZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMucmVhZG9ubHkgfHwgdGhpcy5kaXNhYmxlZDtcbiAgfVxuXG4gIGdldCBwaWNrYWJsZUZpZWxkKCk6IFBpY2thYmxlVmFsdWVGaWVsZHNGaWVsZFByb3BzPFQsIE0sIEg+IHtcbiAgICByZXR1cm4gdGhpcy5wcm9wcztcbiAgfVxuXG4gIGdldCBtdWx0aVNlbGVjdCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5waWNrYWJsZUZpZWxkLm11bHRpU2VsZWN0ID8/IHRydWU7XG4gIH1cblxuICBnZXQgYXNBcnJheVZhbHVlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnBpY2thYmxlRmllbGQuYXNBcnJheVZhbHVlID8/IHRydWU7XG4gIH1cblxuICBnZXQgcGlja09ubHlPbmUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuYXNBcnJheVZhbHVlID09PSBmYWxzZSB8fCB0aGlzLm11bHRpU2VsZWN0ID09PSBmYWxzZTtcbiAgfVxuXG4gIGdldCBmaWx0ZXJMYWJlbCgpOiBNYXliZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5waWNrYWJsZUZpZWxkLmZpbHRlckxhYmVsO1xuICB9XG5cbiAgZ2V0IG5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5maWVsZC5uYW1lID8/IGNhbWVsQ2FzZSh0aGlzLmxhYmVsID8/ICh0aGlzLmtleSBhcyBzdHJpbmcpKTtcbiAgfVxuXG4gIGdldCBsYWJlbCgpOiBNYXliZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy5sYWJlbDtcbiAgfVxuXG4gIGdldCBhdXRvY29tcGxldGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gKHRoaXMucHJvcHMuYXR0cmlidXRlcz8uWydhdXRvY29tcGxldGUnXSA/PyB0aGlzLmtleSkgYXMgc3RyaW5nO1xuICB9XG5cbiAgZ2V0IGNoYW5nZVNlbGVjdGlvbk1vZGVUb1ZpZXdPbkRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnBpY2thYmxlRmllbGQuY2hhbmdlU2VsZWN0aW9uTW9kZVRvVmlld09uRGlzYWJsZWQgPz8gZmFsc2U7XG4gIH1cblxuICBnZXQgc29ydEl0ZW1zKCk6IE1heWJlPFBpY2thYmxlSXRlbUZpZWxkSXRlbVNvcnRGbjxULCBNPj4ge1xuICAgIHJldHVybiB0aGlzLnBpY2thYmxlRmllbGQuc29ydEl0ZW1zO1xuICB9XG5cbiAgZ2V0IGhhc2hGb3JWYWx1ZSgpOiBQaWNrYWJsZVZhbHVlRmllbGRIYXNoRm48VCwgSD4ge1xuICAgIHJldHVybiB0aGlzLnBpY2thYmxlRmllbGQuaGFzaEZvclZhbHVlID8/ICgoeCkgPT4geCBhcyB1bmtub3duIGFzIEgpO1xuICB9XG5cbiAgZ2V0IGRpc3BsYXlGb3JWYWx1ZSgpOiBQaWNrYWJsZVZhbHVlRmllbGREaXNwbGF5Rm48VCwgTT4ge1xuICAgIHJldHVybiB0aGlzLnBpY2thYmxlRmllbGQuZGlzcGxheUZvclZhbHVlO1xuICB9XG5cbiAgZ2V0IHNob3dGaWx0ZXJJbnB1dCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gQm9vbGVhbih0aGlzLnBpY2thYmxlRmllbGQuZmlsdGVyVmFsdWVzKTtcbiAgfVxuXG4gIGdldCBmaWx0ZXJWYWx1ZXNGbigpOiBQaWNrYWJsZVZhbHVlRmllbGRGaWx0ZXJGbjxULCBNPiB7XG4gICAgcmV0dXJuIHRoaXMucGlja2FibGVGaWVsZC5maWx0ZXJWYWx1ZXMgPz8gKChfLCB4KSA9PiBvZih4Lm1hcCgoeSkgPT4geS52YWx1ZSkpKTtcbiAgfVxuXG4gIGdldCBza2lwRmlsdGVyRm5PbkVtcHR5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnBpY2thYmxlRmllbGQuc2tpcEZpbHRlckZuT25FbXB0eSA/PyB0cnVlO1xuICB9XG5cbiAgZ2V0IF9maWx0ZXJWYWx1ZXMoKTogUGlja2FibGVWYWx1ZUZpZWxkRmlsdGVyRm48VCwgTT4ge1xuICAgIGxldCBmbjogUGlja2FibGVWYWx1ZUZpZWxkRmlsdGVyRm48VCwgTT47XG5cbiAgICBpZiAodGhpcy5za2lwRmlsdGVyRm5PbkVtcHR5KSB7XG4gICAgICBmbiA9IChmaWx0ZXJUZXh0OiBNYXliZTxzdHJpbmc+LCB2YWx1ZXM6IFBpY2thYmxlVmFsdWVGaWVsZERpc3BsYXlWYWx1ZTxULCBNPltdKTogT2JzZXJ2YWJsZTxUW10+ID0+IHtcbiAgICAgICAgbGV0IHJlc3VsdDogT2JzZXJ2YWJsZTxUW10+O1xuXG4gICAgICAgIGlmIChmaWx0ZXJUZXh0KSB7XG4gICAgICAgICAgcmVzdWx0ID0gdGhpcy5maWx0ZXJWYWx1ZXNGbihmaWx0ZXJUZXh0LCB2YWx1ZXMpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJlc3VsdCA9IG9mKHZhbHVlcy5tYXAoKHgpID0+IHgudmFsdWUpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICBmbiA9IHRoaXMuZmlsdGVyVmFsdWVzRm47XG4gICAgfVxuXG4gICAgcmV0dXJuIGZuO1xuICB9XG5cbiAgZ2V0IHNob3dUZXh0RmlsdGVyKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnBpY2thYmxlRmllbGQuc2hvd1RleHRGaWx0ZXIgPz8gQm9vbGVhbih0aGlzLnBpY2thYmxlRmllbGQuZmlsdGVyVmFsdWVzKTtcbiAgfVxuXG4gIGdldCBsb2FkVmFsdWVzRm4oKTogUGlja2FibGVWYWx1ZUZpZWxkTG9hZFZhbHVlc0ZuPFQsIE0+IHtcbiAgICByZXR1cm4gdGhpcy5waWNrYWJsZUZpZWxkLmxvYWRWYWx1ZXM7XG4gIH1cblxuICBnZXQgdmFsdWVzKCk6IFRbXSB7XG4gICAgcmV0dXJuIHRoaXMuX2dldFZhbHVlT25Gb3JtQ29udHJvbCh0aGlzLmZvcm1Db250cm9sLnZhbHVlKSA/PyBbXTtcbiAgfVxuXG4gIGdldCBmb290ZXJDb25maWcoKTogTWF5YmU8RGJ4SW5qZWN0aW9uQ29tcG9uZW50Q29uZmlnPiB7XG4gICAgcmV0dXJuIHRoaXMucGlja2FibGVGaWVsZC5mb290ZXJDb25maWc7XG4gIH1cblxuICBsb2FkRGlzcGxheVZhbHVlc0ZvclZhbHVlcyh2YWx1ZXM6IFRbXSk6IE9ic2VydmFibGU8TG9hZGluZ1N0YXRlPFBpY2thYmxlVmFsdWVGaWVsZERpc3BsYXlWYWx1ZVdpdGhIYXNoPFQsIE0sIEg+W10+PiB7XG4gICAgcmV0dXJuIHRoaXMubG9hZERpc3BsYXlWYWx1ZXNGb3JGaWVsZFZhbHVlcyh2YWx1ZXMubWFwKCh2YWx1ZSkgPT4gKHsgdmFsdWUgfSkpKTtcbiAgfVxuXG4gIGxvYWREaXNwbGF5VmFsdWVzRm9yRmllbGRWYWx1ZXModmFsdWVzOiBQaWNrYWJsZVZhbHVlRmllbGRWYWx1ZTxULCBNPltdKTogT2JzZXJ2YWJsZTxMb2FkaW5nU3RhdGU8UGlja2FibGVWYWx1ZUZpZWxkRGlzcGxheVZhbHVlV2l0aEhhc2g8VCwgTSwgSD5bXT4+IHtcbiAgICByZXR1cm4gdGhpcy5nZXREaXNwbGF5VmFsdWVzRm9yRmllbGRWYWx1ZXModmFsdWVzKS5waXBlKFxuICAgICAgbWFwKChkaXNwbGF5VmFsdWVzOiBQaWNrYWJsZVZhbHVlRmllbGREaXNwbGF5VmFsdWVXaXRoSGFzaDxULCBNLCBIPltdKSA9PiBzdWNjZXNzUmVzdWx0KGRpc3BsYXlWYWx1ZXMpKSxcbiAgICAgIHN0YXJ0V2l0aEJlZ2luTG9hZGluZygpLFxuICAgICAgc2hhcmVSZXBsYXkoMSlcbiAgICApO1xuICB9XG5cbiAgZ2V0RGlzcGxheVZhbHVlc0ZvckZpZWxkVmFsdWVzKHZhbHVlczogUGlja2FibGVWYWx1ZUZpZWxkVmFsdWU8VCwgTT5bXSk6IE9ic2VydmFibGU8UGlja2FibGVWYWx1ZUZpZWxkRGlzcGxheVZhbHVlV2l0aEhhc2g8VCwgTSwgSD5bXT4ge1xuICAgIHJldHVybiB0aGlzLl9kaXNwbGF5SGFzaE1hcC5waXBlKFxuICAgICAgbWVyZ2VNYXAoKGRpc3BsYXlNYXApID0+IHtcbiAgICAgICAgY29uc3QgbWFwcGluZ1Jlc3VsdCA9IHZhbHVlcy5tYXAoKHgpID0+IFt4LCB0aGlzLmhhc2hGb3JWYWx1ZSh4LnZhbHVlKV0gYXMgW1BpY2thYmxlVmFsdWVGaWVsZFZhbHVlPFQsIE0+LCBIXSkubWFwKChbeCwgaGFzaF0sIGkpID0+IFtpLCBoYXNoLCB4LCBkaXNwbGF5TWFwLmdldChoYXNoKV0gYXMgW251bWJlciwgSCwgUGlja2FibGVWYWx1ZUZpZWxkVmFsdWU8VCwgTT4sIFBpY2thYmxlVmFsdWVGaWVsZERpc3BsYXlWYWx1ZVdpdGhIYXNoPFQsIE0sIEg+XSk7XG5cbiAgICAgICAgY29uc3QgaGFzRGlzcGxheSA9IG1hcHBpbmdSZXN1bHQuZmlsdGVyKCh4KSA9PiBCb29sZWFuKHhbM10pKTtcbiAgICAgICAgY29uc3QgbmVlZHNEaXNwbGF5ID0gbWFwcGluZ1Jlc3VsdC5maWx0ZXIoKHgpID0+ICF4WzNdKTtcblxuICAgICAgICBpZiAobmVlZHNEaXNwbGF5Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAvLyBHbyBnZXQgdGhlIGRpc3BsYXkgdmFsdWUuXG4gICAgICAgICAgY29uc3QgZGlzcGxheVZhbHVlc09icyA9IHRoaXMuZGlzcGxheUZvclZhbHVlKG5lZWRzRGlzcGxheS5tYXAoKHgpID0+IHhbMl0pKTtcblxuICAgICAgICAgIHJldHVybiBkaXNwbGF5VmFsdWVzT2JzLnBpcGUoXG4gICAgICAgICAgICBmaXJzdCgpLFxuICAgICAgICAgICAgbWFwKChkaXNwbGF5UmVzdWx0cykgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBkaXNwbGF5UmVzdWx0c1dpdGhIYXNoOiBQaWNrYWJsZVZhbHVlRmllbGREaXNwbGF5VmFsdWVXaXRoSGFzaDxULCBNLCBIPltdID0gZGlzcGxheVJlc3VsdHMubWFwKCh4KSA9PiB7XG4gICAgICAgICAgICAgICAgKHggYXMgUGlja2FibGVWYWx1ZUZpZWxkRGlzcGxheVZhbHVlV2l0aEhhc2g8VCwgTSwgSD4pLl9oYXNoID0gdGhpcy5oYXNoRm9yVmFsdWUoeC52YWx1ZSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHggYXMgUGlja2FibGVWYWx1ZUZpZWxkRGlzcGxheVZhbHVlV2l0aEhhc2g8VCwgTSwgSD47XG4gICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgIC8vIENyZWF0ZSBhIG1hcCB0byByZS1qb2luIHZhbHVlcyBsYXRlci5cbiAgICAgICAgICAgICAgY29uc3QgZGlzcGxheVJlc3VsdHNNYXBwaW5nOiBbUGlja2FibGVWYWx1ZUZpZWxkRGlzcGxheVZhbHVlV2l0aEhhc2g8VCwgTSwgSD4sIEhdW10gPSBkaXNwbGF5UmVzdWx0c1dpdGhIYXNoLm1hcCgoeCkgPT4gW3gsIHguX2hhc2hdKTtcbiAgICAgICAgICAgICAgY29uc3QgdmFsdWVJbmRleEhhc2hNYXAgPSBuZXcgTWFwKGRpc3BsYXlSZXN1bHRzTWFwcGluZy5tYXAoKFt4LCBoYXNoXSkgPT4gW2hhc2gsIHhdKSk7XG5cbiAgICAgICAgICAgICAgLy8gVXBkYXRlIGRpc3BsYXlNYXAuIE5vIG5lZWQgdG8gcHVzaCBhbiB1cGRhdGUgbm90aWZpY2F0aW9uLlxuICAgICAgICAgICAgICBkaXNwbGF5UmVzdWx0c01hcHBpbmcuZm9yRWFjaCgoW3gsIGhhc2hdKSA9PiBkaXNwbGF5TWFwLnNldChoYXNoLCB4KSk7XG5cbiAgICAgICAgICAgICAgLy8gWmlwIHZhbHVlcyBiYWNrIHRvZ2V0aGVyLlxuICAgICAgICAgICAgICBjb25zdCBuZXdEaXNwbGF5VmFsdWVzID0gbWFwcGluZ1Jlc3VsdC5tYXAoKHgpID0+IHhbM10gPz8gdmFsdWVJbmRleEhhc2hNYXAuZ2V0KHhbMV0pKTtcblxuICAgICAgICAgICAgICAvLyBSZXR1cm4gZGlzcGxheSB2YWx1ZXMuXG4gICAgICAgICAgICAgIHJldHVybiBuZXdEaXNwbGF5VmFsdWVzO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIElmIGFsbCBkaXNwbGF5IHZhbHVlcyBhcmUgaGFzaGVkIHJldHVybiB0aGF0LlxuICAgICAgICAgIHJldHVybiBvZihoYXNEaXNwbGF5Lm1hcCgoeCkgPT4geFszXSkpIGFzIE9ic2VydmFibGU8UGlja2FibGVWYWx1ZUZpZWxkRGlzcGxheVZhbHVlV2l0aEhhc2g8VCwgTSwgSD5bXT47XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX2Zvcm1Db250cm9sT2JzLm5leHQodGhpcy5mb3JtQ29udHJvbCk7XG5cbiAgICAvLyBGb2N1cyBhZnRlciBmaW5pc2hlZCBsb2FkaW5nIGZvciB0aGUgZmlyc3QgdGltZS5cbiAgICB0aGlzLmNvbnRleHQubG9hZGluZyRcbiAgICAgIC5waXBlKFxuICAgICAgICBkZWxheSgxMCksXG4gICAgICAgIGZpbHRlcigoeCkgPT4geCksXG4gICAgICAgIGZpcnN0KClcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmZpbHRlck1hdElucHV0Py5mb2N1cygpO1xuICAgICAgfSk7XG4gIH1cblxuICBvdmVycmlkZSBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgIHRoaXMuX2Rpc3BsYXlIYXNoTWFwLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5fZm9ybUNvbnRyb2xPYnMuY29tcGxldGUoKTtcbiAgICB0aGlzLmZpbHRlclJlc3VsdHNDb250ZXh0LmRlc3Ryb3koKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBfZ2V0VmFsdWVPbkZvcm1Db250cm9sKHZhbHVlT25Gb3JtQ29udHJvbDogQXJyYXlPclZhbHVlPFQ+KTogVFtdIHtcbiAgICBjb25zdCB2YWx1ZTogVFtdID0gdmFsdWVPbkZvcm1Db250cm9sICE9IG51bGwgPyAoW10gYXMgVFtdKS5jb25jYXQodmFsdWVPbkZvcm1Db250cm9sKSA6IFtdOyAvLyBBbHdheXMgcmV0dXJuIGFuIGFycmF5LlxuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIGFkZFZhbHVlKHZhbHVlOiBUKTogdm9pZCB7XG4gICAgbGV0IG5ld1ZhbHVlczogVFtdO1xuXG4gICAgaWYgKHRoaXMucGlja09ubHlPbmUpIHtcbiAgICAgIG5ld1ZhbHVlcyA9IFt2YWx1ZV07XG4gICAgfSBlbHNlIHtcbiAgICAgIG5ld1ZhbHVlcyA9IFsuLi50aGlzLnZhbHVlcywgdmFsdWVdO1xuICAgIH1cblxuICAgIHRoaXMuc2V0VmFsdWVzKG5ld1ZhbHVlcyk7XG4gIH1cblxuICByZW1vdmVWYWx1ZSh2YWx1ZTogVCk6IHZvaWQge1xuICAgIGNvbnN0IGhhc2hUb0ZpbHRlciA9IHRoaXMuaGFzaEZvclZhbHVlKHZhbHVlKTtcbiAgICBjb25zdCB2YWx1ZXMgPSB0aGlzLnZhbHVlcy5maWx0ZXIoKHgpID0+IHRoaXMuaGFzaEZvclZhbHVlKHgpICE9PSBoYXNoVG9GaWx0ZXIpO1xuICAgIHRoaXMuc2V0VmFsdWVzKHZhbHVlcyk7XG4gIH1cblxuICBzZXRWYWx1ZXModmFsdWVzOiBUW10pOiB2b2lkIHtcbiAgICAvLyBVc2UgdG8gZmlsdGVyIG5vbi11bmlxdWUgdmFsdWVzLlxuICAgIGlmICh0aGlzLmhhc2hGb3JWYWx1ZSkge1xuICAgICAgdmFsdWVzID0gZmluZFVuaXF1ZSh2YWx1ZXMsIHRoaXMuaGFzaEZvclZhbHVlKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5waWNrT25seU9uZSkge1xuICAgICAgdmFsdWVzID0gW3ZhbHVlc1swXV0uZmlsdGVyKCh4KSA9PiB4ICE9IG51bGwpO1xuICAgIH1cblxuICAgIHRoaXMuX3NldFZhbHVlT25Gb3JtQ29udHJvbCh2YWx1ZXMpO1xuICB9XG5cbiAgLy8gTUFSSzogSW50ZXJuYWxcbiAgcHJvdGVjdGVkIF9zZXRWYWx1ZU9uRm9ybUNvbnRyb2wodmFsdWVzOiBUW10pOiB2b2lkIHtcbiAgICBsZXQgbmV3VmFsdWU6IFQgfCBUW10gPSB2YWx1ZXM7XG5cbiAgICBpZiAoIXRoaXMuYXNBcnJheVZhbHVlKSB7XG4gICAgICBuZXdWYWx1ZSA9IFt2YWx1ZXNbMF1dLmZpbHRlcigoeCkgPT4geCAhPSBudWxsKVswXTtcbiAgICB9XG5cbiAgICB0aGlzLmZvcm1Db250cm9sLnNldFZhbHVlKG5ld1ZhbHVlKTtcbiAgICB0aGlzLmZvcm1Db250cm9sLm1hcmtBc1RvdWNoZWQoKTtcbiAgICB0aGlzLmZvcm1Db250cm9sLm1hcmtBc0RpcnR5KCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -58,7 +58,7 @@ export class DbxPickableListFieldItemListViewComponent extends AbstractDbxSelect
|
|
|
58
58
|
map((x) => addConfigToValueListItems(this.config, x)), shareReplay(1));
|
|
59
59
|
}
|
|
60
60
|
get multiple() {
|
|
61
|
-
return this.dbxPickableListFieldComponent.
|
|
61
|
+
return !this.dbxPickableListFieldComponent.pickOnlyOne;
|
|
62
62
|
}
|
|
63
63
|
get selectionMode() {
|
|
64
64
|
let selectionMode = 'select';
|
|
@@ -98,4 +98,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImpor
|
|
|
98
98
|
`
|
|
99
99
|
}]
|
|
100
100
|
}] });
|
|
101
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlja2FibGUubGlzdC5maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZm9ybS9zcmMvbGliL2Zvcm1seS9maWVsZC9zZWxlY3Rpb24vcGlja2FibGUvcGlja2FibGUubGlzdC5maWVsZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZm9ybS9zcmMvbGliL2Zvcm1seS9maWVsZC9zZWxlY3Rpb24vcGlja2FibGUvcGlja2FibGUubGlzdC5maWVsZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFDLE9BQU8sRUFBRSx1Q0FBdUMsRUFBRSx3Q0FBd0MsRUFBRSxrQkFBa0IsRUFBRSxxQ0FBcUMsRUFBRSxxQ0FBcUMsRUFBc0IseUJBQXlCLEVBQXdCLE1BQU0sa0JBQWtCLENBQUM7QUFFNVIsT0FBTyxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFeEMsT0FBTyxFQUFFLHFDQUFxQyxFQUF5QixNQUFNLDRCQUE0QixDQUFDOzs7Ozs7OztBQUUxRzs7R0FFRztBQUlILE1BQU0sT0FBTyw2QkFBaUMsU0FBUSxxQ0FBd0M7SUFDNUYsaUJBQWlCLENBQUMsS0FBYztRQUM5QixNQUFNLEtBQUssR0FBSSxLQUErRCxDQUFDLEtBQUssQ0FBQztRQUNyRixNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25ELElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDekIsQ0FBQzs7MEhBTFUsNkJBQTZCOzhHQUE3Qiw2QkFBNkIsMkVDZDFDLCt2Q0EwQkEscTlERENhLHFDQUFxQzsyRkFickMsNkJBQTZCO2tCQUh6QyxTQUFTOzs7QUFXVix1QkFBdUI7QUFLdkIsTUFBTSxPQUFPLHFDQUF5QyxTQUFRLHdDQUFrRTtJQUM5SDtRQUNFLEtBQUssQ0FBQztZQUNKLGNBQWMsRUFBRSx5Q0FBeUM7U0FDMUQsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7a0lBTFUscUNBQXFDO3NIQUFyQyxxQ0FBcUM7MkZBQXJDLHFDQUFxQztrQkFKakQsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsd0NBQXdDO29CQUNsRCxRQUFRLEVBQUUsdUNBQXVDO2lCQUNsRDs7QUFTRDs7R0FFRztBQU9ILE1BQU0sT0FBTyx5Q0FBNkMsU0FBUSxxQ0FBMEM7SUEyQjFHLFlBQXFCLDZCQUErRDtRQUNsRixLQUFLLEVBQUUsQ0FBQztRQURXLGtDQUE2QixHQUE3Qiw2QkFBNkIsQ0FBa0M7UUExQnBGLDRFQUE0RTtRQUVuRSxXQUFNLEdBQWdDO1lBQzdDLGNBQWMsRUFBRSw2Q0FBNkM7U0FDOUQsQ0FBQztRQWdCTyxXQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJO1FBQ2pDLG1LQUFtSztRQUNuSyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLHlCQUF5QixDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFDckQsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUNmLENBQUM7SUFJRixDQUFDO0lBdEJELElBQUksUUFBUTtRQUNWLE9BQU8sQ0FBQyxJQUFJLENBQUMsNkJBQTZCLENBQUMsV0FBVyxDQUFDO0lBQ3pELENBQUM7SUFFRCxJQUFJLGFBQWE7UUFDZixJQUFJLGFBQWEsR0FBZ0MsUUFBUSxDQUFDO1FBRTFELElBQUksSUFBSSxDQUFDLDZCQUE2QixDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsNkJBQTZCLENBQUMsbUNBQW1DLEVBQUU7WUFDekgsYUFBYSxHQUFHLE1BQU0sQ0FBQztTQUN4QjtRQUVELE9BQU8sYUFBYSxDQUFDO0lBQ3ZCLENBQUM7O3NJQW5CVSx5Q0FBeUMsa0JBMkJBLDZCQUE2QjswSEEzQnRFLHlDQUF5Qyx1Q0FGekMsa0JBQWtCLENBQUMseUNBQXlDLENBQUMsaURBSDlEOztHQUVUOzJGQUdVLHlDQUF5QztrQkFOckQsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUU7O0dBRVQ7b0JBQ0QsU0FBUyxFQUFFLGtCQUFrQiwyQ0FBMkM7aUJBQ3pFOzBEQTRCcUQsNkJBQTZCO0FBVW5GLE1BQU0sT0FBTyw2Q0FBaUQsU0FBUSxxQ0FBd0U7SUFDNUksSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQztJQUM5QixDQUFDOzswSUFIVSw2Q0FBNkM7OEhBQTdDLDZDQUE2QywyRUFKOUM7O0dBRVQ7MkZBRVUsNkNBQTZDO2tCQUx6RCxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRTs7R0FFVDtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGJ4SW5qZWN0aW9uQ29tcG9uZW50Q29uZmlnIH0gZnJvbSAnQGRlcmVla2IvZGJ4LWNvcmUnO1xuaW1wb3J0IHsgREVGQVVMVF9MSVNUX1dSQVBQRVJfRElSRUNUSVZFX1RFTVBMQVRFLCBBYnN0cmFjdERieFNlbGVjdGlvbkxpc3RXcmFwcGVyRGlyZWN0aXZlLCBwcm92aWRlRGJ4TGlzdFZpZXcsIEFic3RyYWN0RGJ4U2VsZWN0aW9uTGlzdFZpZXdEaXJlY3RpdmUsIEFic3RyYWN0RGJ4VmFsdWVMaXN0Vmlld0l0ZW1Db21wb25lbnQsIExpc3RTZWxlY3Rpb25TdGF0ZSwgYWRkQ29uZmlnVG9WYWx1ZUxpc3RJdGVtcywgRGJ4TGlzdFNlbGVjdGlvbk1vZGUgfSBmcm9tICdAZGVyZWVrYi9kYngtd2ViJztcbmltcG9ydCB7IE1heWJlIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5pbXBvcnQgeyBtYXAsIHNoYXJlUmVwbGF5IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBQaWNrYWJsZVZhbHVlRmllbGREaXNwbGF5VmFsdWUgfSBmcm9tICcuL3BpY2thYmxlJztcbmltcG9ydCB7IEFic3RyYWN0RGJ4UGlja2FibGVJdGVtRmllbGREaXJlY3RpdmUsIFBpY2thYmxlSXRlbUZpZWxkSXRlbSB9IGZyb20gJy4vcGlja2FibGUuZmllbGQuZGlyZWN0aXZlJztcblxuLyoqXG4gKiBVc2VkIGZvciBwaWNraW5nIHByZS1zZXQgdmFsdWVzIHVzaW5nIGEgc2VsZWN0aW9uIGxpc3QgYXMgdGhlIHByZXNlbnRhdGlvbi5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlVXJsOiAncGlja2FibGUubGlzdC5maWVsZC5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgRGJ4UGlja2FibGVMaXN0RmllbGRDb21wb25lbnQ8VD4gZXh0ZW5kcyBBYnN0cmFjdERieFBpY2thYmxlSXRlbUZpZWxkRGlyZWN0aXZlPFQ+IHtcbiAgb25TZWxlY3Rpb25DaGFuZ2UoZXZlbnQ6IHVua25vd24pIHtcbiAgICBjb25zdCBpdGVtcyA9IChldmVudCBhcyBMaXN0U2VsZWN0aW9uU3RhdGU8UGlja2FibGVWYWx1ZUZpZWxkRGlzcGxheVZhbHVlPFQ+PikuaXRlbXM7XG4gICAgY29uc3QgdmFsdWVzID0gaXRlbXMubWFwKCh4KSA9PiB4Lml0ZW1WYWx1ZS52YWx1ZSk7XG4gICAgdGhpcy5zZXRWYWx1ZXModmFsdWVzKTtcbiAgfVxufVxuXG4vLyBNQVJLOiBTZWxlY3Rpb24gTGlzdFxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGJ4LWZvcm0tcGlja2FibGUtaXRlbS1maWVsZC1pdGVtLWxpc3QnLFxuICB0ZW1wbGF0ZTogREVGQVVMVF9MSVNUX1dSQVBQRVJfRElSRUNUSVZFX1RFTVBMQVRFXG59KVxuZXhwb3J0IGNsYXNzIERieFBpY2thYmxlTGlzdEZpZWxkSXRlbUxpc3RDb21wb25lbnQ8VD4gZXh0ZW5kcyBBYnN0cmFjdERieFNlbGVjdGlvbkxpc3RXcmFwcGVyRGlyZWN0aXZlPFBpY2thYmxlSXRlbUZpZWxkSXRlbTxUPj4ge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcih7XG4gICAgICBjb21wb25lbnRDbGFzczogRGJ4UGlja2FibGVMaXN0RmllbGRJdGVtTGlzdFZpZXdDb21wb25lbnRcbiAgICB9KTtcbiAgfVxufVxuXG4vKipcbiAqIE5PVEU6IFZhbHVlcyBpbnB1dCBhcmUgUGlja2FibGVJdGVtRmllbGRJdGVtPFQ+LCBidXQgb3V0cHV0IHZhbHVlcyBhcmUgUGlja2FibGVWYWx1ZUZpZWxkRGlzcGxheVZhbHVlPFQ+LlxuICovXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGJ4LXNlbGVjdGlvbi1saXN0LXZpZXctY29udGVudCBbbXVsdGlwbGVdPVwibXVsdGlwbGVcIiBbc2VsZWN0aW9uTW9kZV09XCJzZWxlY3Rpb25Nb2RlXCIgW2l0ZW1zXT1cIml0ZW1zJCB8IGFzeW5jXCI+PC9kYngtc2VsZWN0aW9uLWxpc3Qtdmlldy1jb250ZW50PlxuICBgLFxuICBwcm92aWRlcnM6IHByb3ZpZGVEYnhMaXN0VmlldyhEYnhQaWNrYWJsZUxpc3RGaWVsZEl0ZW1MaXN0Vmlld0NvbXBvbmVudClcbn0pXG5leHBvcnQgY2xhc3MgRGJ4UGlja2FibGVMaXN0RmllbGRJdGVtTGlzdFZpZXdDb21wb25lbnQ8VD4gZXh0ZW5kcyBBYnN0cmFjdERieFNlbGVjdGlvbkxpc3RWaWV3RGlyZWN0aXZlPGFueT4ge1xuICAvLyBUT0RPOiBhbnkgYmVsb25ncyBoZXJlIGZvciBub3csIGJ1dCBpdGVtIGxpc3QgdHlwaW5ncyBuZWVkIHRvIGJlIHVwZGF0ZWQuXG5cbiAgcmVhZG9ubHkgY29uZmlnOiBEYnhJbmplY3Rpb25Db21wb25lbnRDb25maWcgPSB7XG4gICAgY29tcG9uZW50Q2xhc3M6IERieFBpY2thYmxlTGlzdEZpZWxkSXRlbUxpc3RWaWV3SXRlbUNvbXBvbmVudFxuICB9O1xuXG4gIGdldCBtdWx0aXBsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMuZGJ4UGlja2FibGVMaXN0RmllbGRDb21wb25lbnQucGlja09ubHlPbmU7XG4gIH1cblxuICBnZXQgc2VsZWN0aW9uTW9kZSgpOiBNYXliZTxEYnhMaXN0U2VsZWN0aW9uTW9kZT4ge1xuICAgIGxldCBzZWxlY3Rpb25Nb2RlOiBNYXliZTxEYnhMaXN0U2VsZWN0aW9uTW9kZT4gPSAnc2VsZWN0JztcblxuICAgIGlmICh0aGlzLmRieFBpY2thYmxlTGlzdEZpZWxkQ29tcG9uZW50LmRpc2FibGVkICYmIHRoaXMuZGJ4UGlja2FibGVMaXN0RmllbGRDb21wb25lbnQuY2hhbmdlU2VsZWN0aW9uTW9kZVRvVmlld09uRGlzYWJsZWQpIHtcbiAgICAgIHNlbGVjdGlvbk1vZGUgPSAndmlldyc7XG4gICAgfVxuXG4gICAgcmV0dXJuIHNlbGVjdGlvbk1vZGU7XG4gIH1cblxuICByZWFkb25seSBpdGVtcyQgPSB0aGlzLnZhbHVlcyQucGlwZShcbiAgICAvLyBOT1RFOiBUaGlzIGNhdXNlcyB0aGUgXCJ2YWx1ZVwiIHRvIGJlIGEgUGlja2FibGVWYWx1ZUZpZWxkRGlzcGxheVZhbHVlPFQ+LCB3aGljaCBtZWFucyB3ZSBlbWl0IFBpY2thYmxlVmFsdWVGaWVsZERpc3BsYXlWYWx1ZTxUPiB0byBEYnhQaWNrYWJsZUxpc3RGaWVsZENvbXBvbmVudC5cbiAgICBtYXAoKHgpID0+IGFkZENvbmZpZ1RvVmFsdWVMaXN0SXRlbXModGhpcy5jb25maWcsIHgpKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIGNvbnN0cnVjdG9yKHJlYWRvbmx5IGRieFBpY2thYmxlTGlzdEZpZWxkQ29tcG9uZW50OiBEYnhQaWNrYWJsZUxpc3RGaWVsZENvbXBvbmVudDxUPikge1xuICAgIHN1cGVyKCk7XG4gIH1cbn1cblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlOiBgXG4gICAgPHA+e3sgbGFiZWwgfX08L3A+XG4gIGBcbn0pXG5leHBvcnQgY2xhc3MgRGJ4UGlja2FibGVMaXN0RmllbGRJdGVtTGlzdFZpZXdJdGVtQ29tcG9uZW50PFQ+IGV4dGVuZHMgQWJzdHJhY3REYnhWYWx1ZUxpc3RWaWV3SXRlbUNvbXBvbmVudDxQaWNrYWJsZVZhbHVlRmllbGREaXNwbGF5VmFsdWU8VD4+IHtcbiAgZ2V0IGxhYmVsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbVZhbHVlLmxhYmVsO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZGJ4LXBpY2thYmxlLWl0ZW0tZmllbGRcIj5cbiAgPGRieC1sb2FkaW5nIFtjb250ZXh0XT1cImNvbnRleHRcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd0ZpbHRlcklucHV0XCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZmlsdGVyVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8IS0tIENvbnRlbnQgLS0+XG4gICAgPGRpdiBjbGFzcz1cImRieC1waWNrYWJsZS1pdGVtLWZpZWxkLWxpc3RcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJkYngtcGlja2FibGUtaXRlbS1maWVsZC1saXN0LWNvbnRlbnRcIj5cbiAgICAgICAgPGRieC1mb3JtLXBpY2thYmxlLWl0ZW0tZmllbGQtaXRlbS1saXN0IFtkaXNhYmxlZF09XCJpc1JlYWRvbmx5T3JEaXNhYmxlZFwiIFtzdGF0ZSRdPVwiZmlsdGVySXRlbXNMb2FkaW5nU3RhdGUkXCIgKHNlbGVjdGlvbkNoYW5nZSk9XCJvblNlbGVjdGlvbkNoYW5nZSgkZXZlbnQpXCI+PC9kYngtZm9ybS1waWNrYWJsZS1pdGVtLWZpZWxkLWl0ZW0tbGlzdD5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRieC1pbmplY3Rpb24gW2NvbmZpZ109XCJmb290ZXJDb25maWdcIj48L2RieC1pbmplY3Rpb24+XG4gICAgPC9kaXY+XG4gIDwvZGJ4LWxvYWRpbmc+XG48L2Rpdj5cblxuPCEtLSBGaWx0ZXIgSW5wdXQgLS0+XG48bmctdGVtcGxhdGUgI2ZpbHRlclRlbXBsYXRlPlxuICA8ZGl2IGNsYXNzPVwiZGJ4LXBpY2thYmxlLWl0ZW0tZmllbGQtZmlsdGVyXCI+XG4gICAgPGRpdiBjbGFzcz1cImRieC1sYWJlbFwiPnt7IGZpbHRlckxhYmVsIH19PC9kaXY+XG4gICAgPGlucHV0IFtuYW1lXT1cIm5hbWVcIiBhdXRvY29tcGxldGU9XCJ7eyBhdXRvY29tcGxldGUgfX1cIiAjZmlsdGVyTWF0SW5wdXQ9XCJtYXRJbnB1dFwiIG1hdElucHV0IFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiIFtmb3JtQ29udHJvbF09XCJpbnB1dEN0cmxcIiAvPlxuICAgIDxtYXQtZGl2aWRlcj48L21hdC1kaXZpZGVyPlxuICAgIDxkYngtbG9hZGluZyBbbGluZWFyXT1cInRydWVcIiBbY29udGV4dF09XCJmaWx0ZXJSZXN1bHRzQ29udGV4dFwiPjwvZGJ4LWxvYWRpbmc+XG4gICAgPCEtLSBObyBpdGVtcyBmb3VuZC4gLS0+XG4gICAgPHAgKm5nSWY9XCJub0l0ZW1zQXZhaWxhYmxlJCB8IGFzeW5jXCIgY2xhc3M9XCJkYngtbGFiZWxcIj5ObyBpdGVtcyBtYXRjaCB0aGlzIGZpbHRlci48L3A+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
@@ -1482,6 +1482,9 @@ class AbstractDbxPickableItemFieldDirective extends FieldType$1 {
|
|
|
1482
1482
|
var _a;
|
|
1483
1483
|
return (_a = this.pickableField.asArrayValue) !== null && _a !== void 0 ? _a : true;
|
|
1484
1484
|
}
|
|
1485
|
+
get pickOnlyOne() {
|
|
1486
|
+
return this.asArrayValue === false || this.multiSelect === false;
|
|
1487
|
+
}
|
|
1485
1488
|
get filterLabel() {
|
|
1486
1489
|
return this.pickableField.filterLabel;
|
|
1487
1490
|
}
|
|
@@ -1611,7 +1614,14 @@ class AbstractDbxPickableItemFieldDirective extends FieldType$1 {
|
|
|
1611
1614
|
return value;
|
|
1612
1615
|
}
|
|
1613
1616
|
addValue(value) {
|
|
1614
|
-
|
|
1617
|
+
let newValues;
|
|
1618
|
+
if (this.pickOnlyOne) {
|
|
1619
|
+
newValues = [value];
|
|
1620
|
+
}
|
|
1621
|
+
else {
|
|
1622
|
+
newValues = [...this.values, value];
|
|
1623
|
+
}
|
|
1624
|
+
this.setValues(newValues);
|
|
1615
1625
|
}
|
|
1616
1626
|
removeValue(value) {
|
|
1617
1627
|
const hashToFilter = this.hashForValue(value);
|
|
@@ -1623,7 +1633,7 @@ class AbstractDbxPickableItemFieldDirective extends FieldType$1 {
|
|
|
1623
1633
|
if (this.hashForValue) {
|
|
1624
1634
|
values = findUnique(values, this.hashForValue);
|
|
1625
1635
|
}
|
|
1626
|
-
if (
|
|
1636
|
+
if (this.pickOnlyOne) {
|
|
1627
1637
|
values = [values[0]].filter((x) => x != null);
|
|
1628
1638
|
}
|
|
1629
1639
|
this._setValueOnFormControl(values);
|
|
@@ -1719,7 +1729,7 @@ class DbxPickableListFieldItemListViewComponent extends AbstractDbxSelectionList
|
|
|
1719
1729
|
map((x) => addConfigToValueListItems(this.config, x)), shareReplay(1));
|
|
1720
1730
|
}
|
|
1721
1731
|
get multiple() {
|
|
1722
|
-
return this.dbxPickableListFieldComponent.
|
|
1732
|
+
return !this.dbxPickableListFieldComponent.pickOnlyOne;
|
|
1723
1733
|
}
|
|
1724
1734
|
get selectionMode() {
|
|
1725
1735
|
let selectionMode = 'select';
|