@coolon/angular-ui-powerups 13.6.5 → 13.6.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/components/tables/abstract-table-model.mjs +3 -4
- package/esm2020/lib/components/tables/column/custom-value-column-model.mjs +2 -2
- package/esm2020/lib/components/tables/column/list-propery-column-model.mjs +2 -2
- package/esm2020/lib/components/tables/column/property-column-model.mjs +2 -2
- package/esm2020/lib/components/tables/search/enable-cell-text-search.decorator.mjs +1 -1
- package/esm2020/lib/interaction/components/abstract-dialog.component.mjs +2 -2
- package/esm2020/lib/interaction/components/activity-container/activity-container.component.mjs +2 -2
- package/fesm2015/coolon-angular-ui-powerups.mjs +15 -16
- package/fesm2015/coolon-angular-ui-powerups.mjs.map +1 -1
- package/fesm2020/coolon-angular-ui-powerups.mjs +15 -16
- package/fesm2020/coolon-angular-ui-powerups.mjs.map +1 -1
- package/package.json +4 -5
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Injector } from "@angular/core";
|
|
2
2
|
import { assert, DelegatingListModel, DelegatingValueModel, DirtyTrackingForm, Dsl, EventListenerList, Functions, GarbageCollector, lang, MutableListModel, TrackExternal, ValueModel } from "@coolon/pectin";
|
|
3
3
|
import escapeStringRegexp from "escape-string-regexp";
|
|
4
|
-
import { isFunction, isNil } from "lodash";
|
|
4
|
+
import { isEmpty, isFunction, isNil } from "lodash-es";
|
|
5
5
|
import { ColumnListModel } from "./column/column-list-model";
|
|
6
6
|
import { CustomTemplateColumnModel } from "./column/custom-template-column-model";
|
|
7
7
|
import { CustomValueColumnModel } from "./column/custom-value-column-model";
|
|
@@ -10,7 +10,6 @@ import { ListPropertyColumnModel } from "./column/list-propery-column-model";
|
|
|
10
10
|
import { PropertyColumnModel } from "./column/property-column-model";
|
|
11
11
|
import { SelectionColumnModel } from "./column/selection-column-model";
|
|
12
12
|
import { EditSession } from "./editor/edit-session";
|
|
13
|
-
import * as _ from "lodash";
|
|
14
13
|
import { ColumnTextSearchFormatter } from "./search/column-text-search-formatter";
|
|
15
14
|
var DefaultValueFormatter = ColumnTextSearchFormatter.DefaultValueFormatter;
|
|
16
15
|
var DefaultArrayFormatter = ColumnTextSearchFormatter.DefaultArrayFormatter;
|
|
@@ -43,7 +42,7 @@ export class AbstractTableModel extends GarbageCollector {
|
|
|
43
42
|
this._editorSessionByRowId = chain(this._editorSessions).indexBy("rowId");
|
|
44
43
|
this.editing$ = chain(this._editorSessions).count().isGreaterThan(0);
|
|
45
44
|
this._textSearchPredicate$ = chain(this._searchText$).map(text => {
|
|
46
|
-
return
|
|
45
|
+
return isEmpty(text) ? Functions.identity : (rows) => {
|
|
47
46
|
const regex = new RegExp(escapeStringRegexp(text), "i");
|
|
48
47
|
return rows.filter(row => this.hasMatchingColumn(row, regex));
|
|
49
48
|
};
|
|
@@ -228,4 +227,4 @@ export class AbstractTableModel extends GarbageCollector {
|
|
|
228
227
|
}
|
|
229
228
|
}
|
|
230
229
|
TrackExternal.oneTimeBinding(AbstractTableModel);
|
|
231
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtdGFibGUtbW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlcy9hYnN0cmFjdC10YWJsZS1tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFDTCxNQUFNLEVBR04sbUJBQW1CLEVBQUUsb0JBQW9CLEVBQ3pDLGlCQUFpQixFQUVqQixHQUFHLEVBQ0gsaUJBQWlCLEVBQUUsU0FBUyxFQUM1QixnQkFBZ0IsRUFDaEIsSUFBSSxFQUlKLGdCQUFnQixFQUVoQixhQUFhLEVBRWIsVUFBVSxFQUVYLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxrQkFBa0IsTUFBTSxzQkFBc0IsQ0FBQztBQUV0RCxPQUFPLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDbEYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDNUUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDakYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDN0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDckUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdkUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBUXBELE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBQzVCLE9BQU8sRUFBRSx5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LENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDM0MsQ0FBQztDQUNGO0FBR0QsYUFBYSxDQUFDLGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50VHlwZSB9IGZyb20gXCJAYW5ndWxhci9jZGsvb3ZlcmxheVwiO1xuaW1wb3J0IHsgSW5qZWN0b3IgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtcbiAgYXNzZXJ0LFxuICBCb29sZWFuVmFsdWVNb2RlbENoYWluLCBDb21tYW5kLFxuICBDb21tYW5kRmFjdG9yeSxcbiAgRGVsZWdhdGluZ0xpc3RNb2RlbCwgRGVsZWdhdGluZ1ZhbHVlTW9kZWwsXG4gIERpcnR5VHJhY2tpbmdGb3JtLFxuICBEaXNwb3NhYmxlLFxuICBEc2wsXG4gIEV2ZW50TGlzdGVuZXJMaXN0LCBGdW5jdGlvbnMsXG4gIEdhcmJhZ2VDb2xsZWN0b3IsXG4gIGxhbmcsXG4gIExpc3RNb2RlbCxcbiAgTGlzdE1vZGVsQ2hhaW4sXG4gIE1hcE1vZGVsQ2hhaW4sXG4gIE11dGFibGVMaXN0TW9kZWwsXG4gIFNlbGVjdGlvbk1vZGVsLCBUcmFjZSxcbiAgVHJhY2tFeHRlcm5hbCwgVHJhbnNhY3Rpb25PYnNlcnZlcixcbiAgVHlwZXMsXG4gIFZhbHVlTW9kZWwsXG4gIFZhbHVlTW9kZWxDaGFpblxufSBmcm9tIFwiQGNvb2xvbi9wZWN0aW5cIjtcbmltcG9ydCBlc2NhcGVTdHJpbmdSZWdleHAgZnJvbSBcImVzY2FwZS1zdHJpbmctcmVnZXhwXCI7XG5cbmltcG9ydCB7IGlzRnVuY3Rpb24sIGlzTmlsIH0gZnJvbSBcImxvZGFzaFwiO1xuaW1wb3J0IHsgQ29sdW1uTGlzdE1vZGVsIH0gZnJvbSBcIi4vY29sdW1uL2NvbHVtbi1saXN0LW1vZGVsXCI7XG5pbXBvcnQgeyBDdXN0b21UZW1wbGF0ZUNvbHVtbk1vZGVsIH0gZnJvbSBcIi4vY29sdW1uL2N1c3RvbS10ZW1wbGF0ZS1jb2x1bW4tbW9kZWxcIjtcbmltcG9ydCB7IEN1c3RvbVZhbHVlQ29sdW1uTW9kZWwgfSBmcm9tIFwiLi9jb2x1bW4vY3VzdG9tLXZhbHVlLWNvbHVtbi1tb2RlbFwiO1xuaW1wb3J0IHsgRWRpdG9yQ29udHJvbENvbHVtbk1vZGVsIH0gZnJvbSBcIi4vY29sdW1uL2VkaXRvci1jb250cm9scy1jb2x1bW4tbW9kZWxcIjtcbmltcG9ydCB7IExpc3RQcm9wZXJ0eUNvbHVtbk1vZGVsIH0gZnJvbSBcIi4vY29sdW1uL2xpc3QtcHJvcGVyeS1jb2x1bW4tbW9kZWxcIjtcbmltcG9ydCB7IFByb3BlcnR5Q29sdW1uTW9kZWwgfSBmcm9tIFwiLi9jb2x1bW4vcHJvcGVydHktY29sdW1uLW1vZGVsXCI7XG5pbXBvcnQgeyBTZWxlY3Rpb25Db2x1bW5Nb2RlbCB9IGZyb20gXCIuL2NvbHVtbi9zZWxlY3Rpb24tY29sdW1uLW1vZGVsXCI7XG5pbXBvcnQgeyBFZGl0U2Vzc2lvbiB9IGZyb20gXCIuL2VkaXRvci9lZGl0LXNlc3Npb25cIjtcbmltcG9ydCB7IENlbGxSZW5kZXJlciB9IGZyb20gXCIuL3JlbmRlcmVyL2NlbGwtcmVuZGVyZXJcIjtcbmltcG9ydCB7XG4gIENlbGxSZW5kZXJlck9wdGlvbnMsXG4gIENvbHVtbk1vZGVsLFxuICBPbkNvbXBvbmVudEluaXRcbn0gZnJvbSBcIi4vY29sdW1uL2NvbHVtbi1tb2RlbFwiO1xuaW1wb3J0IHsgQ29sdW1uVGV4dFByb3BlcnRpZXMgfSBmcm9tIFwiLi9jb2x1bW4vY29sdW1uLXRleHQtcHJvcGVydGllc1wiO1xuaW1wb3J0ICogYXMgXyBmcm9tIFwibG9kYXNoXCI7XG5pbXBvcnQgeyBDb2x1bW5UZXh0U2VhcmNoRm9ybWF0dGVyIH0gZnJvbSBcIi4vc2VhcmNoL2NvbHVtbi10ZXh0LXNlYXJjaC1mb3JtYXR0ZXJcIjtcbmltcG9ydCBEZWZhdWx0VmFsdWVGb3JtYXR0ZXIgPSBDb2x1bW5UZXh0U2VhcmNoRm9ybWF0dGVyLkRlZmF1bHRWYWx1ZUZvcm1hdHRlcjtcbmltcG9ydCBEZWZhdWx0QXJyYXlGb3JtYXR0ZXIgPSBDb2x1bW5UZXh0U2VhcmNoRm9ybWF0dGVyLkRlZmF1bHRBcnJheUZvcm1hdHRlcjtcblxuLy8gZXhwb3J0IHR5cGUgU3RyaW5nUHJvcGVydGllc09mPFQ+ID0geyBbSyBpbiBrZXlvZiBUXTogVFtLXSBleHRlbmRzIHN0cmluZyA/IEsgOiBuZXZlciB9W2tleW9mIFRdO1xuLy8gZXhwb3J0IHR5cGUgTnVtYmVyUHJvcGVydGllc09mPFQ+ID0geyBbSyBpbiBrZXlvZiBUXTogVFtLXSBleHRlbmRzIG51bWJlciA/IEsgOiBuZXZlciB9W2tleW9mIFRdO1xuXG5jbGFzcyBSb3dDbGFzczxSb3c+IHtcbiAgY29uc3RydWN0b3IocmVhZG9ubHkgY2xhc3NOYW1lOiBzdHJpbmcsXG4gICAgICAgICAgICAgIHJlYWRvbmx5IG1hdGNoZXM6IChyb3c6IFJvdykgPT4gYm9vbGVhbikge1xuICB9XG59XG5cblxuZXhwb3J0IGNsYXNzIEFic3RyYWN0VGFibGVNb2RlbDxSb3c+IGV4dGVuZHMgR2FyYmFnZUNvbGxlY3RvciB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfcmF3RGF0YVNvdXJjZSA9IHRoaXMucmVnaXN0ZXJEaXNwb3NhYmxlKG5ldyBEZWxlZ2F0aW5nTGlzdE1vZGVsPFJvdz4oKSk7XG4gIHJlYWRvbmx5IF92aXNpYmxlUm93cyQgPSB0aGlzLnJlZ2lzdGVyRGlzcG9zYWJsZShuZXcgRGVsZWdhdGluZ0xpc3RNb2RlbDxSb3c+KCkpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2NvbHVtbkxpc3QgPSB0aGlzLnJlZ2lzdGVyRGlzcG9zYWJsZShuZXcgQ29sdW1uTGlzdE1vZGVsPFJvdz4oKSk7XG5cbiAgcHJpdmF0ZSBfZWRpdG9yU2Vzc2lvbnMgPSBuZXcgTXV0YWJsZUxpc3RNb2RlbDxFZGl0U2Vzc2lvbjxSb3c+PigpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9yb3dzQmVpbmdFZGl0ZWQkOiBNdXRhYmxlTGlzdE1vZGVsPFJvdz47XG4gIHByaXZhdGUgcmVhZG9ubHkgcm93Q2xhc3NOYW1lUHJlZGljYXRlczogUm93Q2xhc3M8Um93PltdID0gW107XG5cbiAgcHJpdmF0ZSBfY29sdW1uVGV4dFByb3BlcnRpZXNMb29rdXA6IHsgW2NvbHVtbk5hbWU6IHN0cmluZ106IENvbHVtblRleHRQcm9wZXJ0aWVzIH07XG5cbiAgcHJpdmF0ZSBzYXZlQ29tbWFuZEZhY3Rvcnk6IENvbW1hbmQuRmFjdG9yeTxEaXJ0eVRyYWNraW5nRm9ybTxSb3c+LCBib29sZWFuIHwgUHJvbWlzZTxib29sZWFuPj47XG4gIHByaXZhdGUgX2VkaXRvclNlc3Npb25CeVJvd0lkOiBNYXBNb2RlbENoYWluPGFueSwgRWRpdFNlc3Npb248Um93Pj47XG5cbiAgcmVhZG9ubHkgZWRpdGluZyQ6IEJvb2xlYW5WYWx1ZU1vZGVsQ2hhaW47XG4gIHJlYWRvbmx5IGZpcnN0RWRpdGFibGVDb2x1bW4kOiBWYWx1ZU1vZGVsQ2hhaW48Q29sdW1uTW9kZWw8Um93Pj47XG4gIHByaXZhdGUgc2VsZWN0aW9uQ29sdW1uTW9kZWw6IFNlbGVjdGlvbkNvbHVtbk1vZGVsPFJvdz47XG4gIHByaXZhdGUgcm93U2VsZWN0aW9uRGlzYWJsZWRPbkFsbENvbHVtbnMkOiBCb29sZWFuVmFsdWVNb2RlbENoYWluO1xuICBwcml2YXRlIHJlYWRvbmx5IHJvd0NsaWNrTGlzdGVuZXJzID0gbmV3IEV2ZW50TGlzdGVuZXJMaXN0PChyb3c6IFJvdykgPT4gdm9pZD4oKTtcbiAgcmVhZG9ubHkgZmlyc3RWaXNpYmxlQ29sdW1uJDogVmFsdWVNb2RlbDxDb2x1bW5Nb2RlbDxSb3c+PjtcbiAgcmVhZG9ubHkgbGFzdFZpc2libGVDb2x1bW4kOiBWYWx1ZU1vZGVsPENvbHVtbk1vZGVsPFJvdz4+O1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3NlYXJjaFRleHQkID0gbmV3IERlbGVnYXRpbmdWYWx1ZU1vZGVsPHN0cmluZz4oKTtcblxuICBwcml2YXRlIF9jcmVhdGVGb3JtOiAocm93OiBSb3cpID0+IERpcnR5VHJhY2tpbmdGb3JtPFJvdz4gPSAocm93KSA9PiBuZXcgRGlydHlUcmFja2luZ0Zvcm08Um93PigpO1xuICBwcml2YXRlIF90ZXh0U2VhcmNoUHJlZGljYXRlJDogVmFsdWVNb2RlbENoYWluPChpdGVtczpSb3dbXSkgPT4gUm93W10+O1xuICBwcml2YXRlIF9maWx0ZXJlZFJvd3MkOiBMaXN0TW9kZWxDaGFpbjxSb3c+O1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIGNvbnN0IHsgY2hhaW4sIHZhbHVlT2YsIGJlZm9yZSwgd2hlbiwgYWZ0ZXIsIG9ic2VydmUsIHN3aXRjaE9uIH0gPSBEc2wuZGlzcG9zZVdpdGgodGhpcyk7XG4gICAgdGhpcy5fcm93c0JlaW5nRWRpdGVkJCA9IG5ldyBNdXRhYmxlTGlzdE1vZGVsPFJvdz4oW10sIHtcbiAgICAgIGlkZW50aWZpZWRXaXRoOiByb3cgPT4gdGhpcy5pZGVudGl0eU9mKHJvdylcbiAgICB9KTtcbiAgICB0aGlzLl9lZGl0b3JTZXNzaW9uQnlSb3dJZCA9IGNoYWluKHRoaXMuX2VkaXRvclNlc3Npb25zKS5pbmRleEJ5KFwicm93SWRcIik7XG4gICAgdGhpcy5lZGl0aW5nJCA9IGNoYWluKHRoaXMuX2VkaXRvclNlc3Npb25zKS5jb3VudCgpLmlzR3JlYXRlclRoYW4oMCk7XG5cbiAgICB0aGlzLl90ZXh0U2VhcmNoUHJlZGljYXRlJCA9IGNoYWluKHRoaXMuX3NlYXJjaFRleHQkKS5tYXAodGV4dCA9PiB7XG4gICAgICByZXR1cm4gXy5pc0VtcHR5KHRleHQpID8gRnVuY3Rpb25zLmlkZW50aXR5IDogKHJvd3M6Um93W10pID0+IHtcbiAgICAgICAgY29uc3QgcmVnZXggPSBuZXcgUmVnRXhwKGVzY2FwZVN0cmluZ1JlZ2V4cCh0ZXh0KSwgXCJpXCIpO1xuICAgICAgICByZXR1cm4gcm93cy5maWx0ZXIocm93ID0+IHRoaXMuaGFzTWF0Y2hpbmdDb2x1bW4ocm93LCByZWdleCkpXG4gICAgICB9XG4gICAgfSwge1xuICAgICAgYWxsb3dOaWw6IHRydWUsXG4gICAgICBkZXBlbmRzT246IHRoaXMuY29sdW1uc1xuICAgIH0pO1xuXG4gICAgdGhpcy5fZmlsdGVyZWRSb3dzJCA9IGNoYWluKHRoaXMuX3Jhd0RhdGFTb3VyY2UpXG4gICAgICAucmVkdWNlVG9MaXN0KGl0ZW1zID0+IHRoaXMuX3RleHRTZWFyY2hQcmVkaWNhdGUkLnZhbHVlKGl0ZW1zKSwge1xuICAgICAgICBkZXBlbmRzT246IHRoaXMuX3RleHRTZWFyY2hQcmVkaWNhdGUkXG4gICAgICB9KVxuICAgICAgLnJlcGxhY2VBbGwodGhpcy5yb3dzQmVpbmdFZGl0ZWQkKTtcblxuICAgIHRoaXMuX3Zpc2libGVSb3dzJC5zZXREZWxlZ2F0ZSh0aGlzLl9maWx0ZXJlZFJvd3MkKTtcblxuICAgIHRoaXMuZmlyc3RFZGl0YWJsZUNvbHVtbiQgPSBjaGFpbih0aGlzLmNvbHVtbnMpLnNlbGVjdChjID0+IGMuaGFzRWRpdG9yUG9ydGFsKCkpLmZpcnN0KCk7XG4gICAgdGhpcy5maXJzdFZpc2libGVDb2x1bW4kID0gY2hhaW4odGhpcy5fY29sdW1uTGlzdCkuZmlyc3QoKTtcbiAgICB0aGlzLmxhc3RWaXNpYmxlQ29sdW1uJCA9IGNoYWluKHRoaXMuX2NvbHVtbkxpc3QpLmxhc3QoKTtcblxuICAgIHRoaXMucm93U2VsZWN0aW9uRGlzYWJsZWRPbkFsbENvbHVtbnMkID0gY2hhaW4odGhpcy5fY29sdW1uTGlzdCkuc2VsZWN0KGNvbHVtbiA9PiBjb2x1bW4uaXNSb3dTZWxlY3Rpb25FbmFibGVkKCkpLmNvdW50KCkuZXF1YWxzKDApO1xuXG4gIH1cblxuICBmaW5kTWF0Y2hpbmdDb2x1bW5zKHJvdzogUm93LCByZWdleDogUmVnRXhwKTogQ29sdW1uTW9kZWw8Um93PltdIHtcbiAgICByZXR1cm4gdGhpcy5jb2x1bW5zLnZhbHVlLmZpbHRlcihjID0+IHJlZ2V4LnRlc3QoYy5nZXRTZWFyY2hUZXh0Rm9yKHJvdykpKTtcbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIGhhc01hdGNoaW5nQ29sdW1uKHJvdzogUm93LCByZWdleDogUmVnRXhwKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5jb2x1bW5zLnZhbHVlLmZpbmQoYyA9PiByZWdleC50ZXN0KGMuZ2V0U2VhcmNoVGV4dEZvcihyb3cpKSk7XG4gIH1cblxuICBpbml0aWFsaXNlKGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgIC8vIG5vdCBzdXJlIGlmIEkgc2hvdWxkIGRlZmluZSB0aGVzZSBhdCB0aGUgbW9kdWxlIGxldmVsIG9yIG5vdC4uLlxuICAgIGNvbnN0IGN1c3RvbUluamVjdG9yID0gSW5qZWN0b3IuY3JlYXRlKHtcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7cHJvdmlkZTogRGVmYXVsdFZhbHVlRm9ybWF0dGVyfSxcbiAgICAgICAge3Byb3ZpZGU6IERlZmF1bHRBcnJheUZvcm1hdHRlcn1cbiAgICAgIF0sXG4gICAgICBwYXJlbnQ6IGluamVjdG9yXG4gICAgfSk7XG4gICAgdGhpcy5jb2x1bW5zLnZhbHVlLmZvckVhY2goYyA9PiBjLmluaXRpYWxpc2UoY3VzdG9tSW5qZWN0b3IpKTtcbiAgfVxuXG4gIGdldCB2aXNpYmxlUm93cyQoKTpMaXN0TW9kZWw8Um93PiB7XG4gICAgcmV0dXJuIHRoaXMuX3Zpc2libGVSb3dzJC5yZWFkb25seTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzZXREYXRhU291cmNlKHNvdXJjZU9mVHJ1dGg6IExpc3RNb2RlbDxSb3c+KSB7XG4gICAgdGhpcy5fcmF3RGF0YVNvdXJjZS5zZXREZWxlZ2F0ZShzb3VyY2VPZlRydXRoKTtcbiAgfVxuXG4gIHNldFRleHRTZWFyY2goc2VhcmNoVGV4dCQ6IFZhbHVlTW9kZWw8c3RyaW5nPiwgdGhyb3R0bGVEZWxheU1pbGxpc2Vjb25kczogbnVtYmVyID0gMTAwKSB7XG4gICAgY29uc3QgeyBjaGFpbiB9ID0gRHNsLmRpc3Bvc2VXaXRoKHRoaXMpO1xuICAgIHRoaXMuX3NlYXJjaFRleHQkLnNldERlbGVnYXRlKGNoYWluKHNlYXJjaFRleHQkKS50aHJvdHRsZSh0aHJvdHRsZURlbGF5TWlsbGlzZWNvbmRzKSk7XG4gIH1cblxuICBpZGVudGl0eU9mKHJvdzogUm93KTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5fcmF3RGF0YVNvdXJjZS5pZGVudGl0eU9mKHJvdyk7XG4gIH1cblxuICBnZXQgcm93c0JlaW5nRWRpdGVkJCgpOiBMaXN0TW9kZWw8Um93PiB7XG4gICAgcmV0dXJuIHRoaXMuX3Jvd3NCZWluZ0VkaXRlZCQucmVhZG9ubHk7XG4gIH1cblxuICByZWFkb25seSB0cmFja0J5ID0gKGluZGV4OiBudW1iZXIsIGl0ZW06IFJvdykgPT4ge1xuICAgIHJldHVybiB0aGlzLmlkZW50aXR5T2YgPyB0aGlzLmlkZW50aXR5T2YoaXRlbSkgOiBpbmRleDtcbiAgfTtcblxuICBnZXQgY29sdW1ucygpOiBMaXN0TW9kZWw8Q29sdW1uTW9kZWw8Um93Pj4ge1xuICAgIHJldHVybiB0aGlzLl9jb2x1bW5MaXN0LmFsbENvbHVtbnMkO1xuICB9XG5cbiAgZ2V0IHZpc2libGVDb2x1bW5zKCk6IExpc3RNb2RlbDxDb2x1bW5Nb2RlbDxSb3c+PiB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbHVtbkxpc3QucmVhZG9ubHk7XG4gIH1cblxuICBwbHVjazxQIGV4dGVuZHMgVHlwZXMuVmFsdWVQcm9wZXJ0aWVzT2Y8Um93Pj4ocHJvcGVydHk6IFAsIG9wdGlvbnM/OiB7IGNvbHVtbklkOiBzdHJpbmcgfSk6IFByb3BlcnR5Q29sdW1uTW9kZWw8Um93LCBQPiB7XG4gICAgY29uc3QgY29sdW1uSWQgPSBvcHRpb25zPy5jb2x1bW5JZCB8fCBwcm9wZXJ0eS50b1N0cmluZygpO1xuICAgIHJldHVybiB0aGlzLmFkZENvbHVtbihuZXcgUHJvcGVydHlDb2x1bW5Nb2RlbDxSb3csIFA+KGNvbHVtbklkLCBwcm9wZXJ0eSwgKCkgPT4gdGhpcy5nZXRDb2x1bW5UZXh0UHJvcGVydGllcyhjb2x1bW5JZCkpKTtcbiAgfVxuXG4gIHBsdWNrTGlzdDxQIGV4dGVuZHMgVHlwZXMuQXJyYXlQcm9wZXJ0aWVzT2Y8Um93Pj4ocHJvcGVydHk6IFAsIG9wdGlvbnM/OiB7IGNvbHVtbklkOiBzdHJpbmcgfSk6IExpc3RQcm9wZXJ0eUNvbHVtbk1vZGVsPFJvdywgUD4ge1xuICAgIGNvbnN0IGNvbHVtbklkID0gb3B0aW9ucz8uY29sdW1uSWQgfHwgcHJvcGVydHkudG9TdHJpbmcoKTtcbiAgICByZXR1cm4gdGhpcy5hZGRDb2x1bW4obmV3IExpc3RQcm9wZXJ0eUNvbHVtbk1vZGVsPFJvdywgUD4oY29sdW1uSWQsIHByb3BlcnR5LCAoKSA9PiB0aGlzLmdldENvbHVtblRleHRQcm9wZXJ0aWVzKGNvbHVtbklkKSkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIF9hZGRTZWxlY3Rpb25Db2x1bW4oc2VsZWN0aW9uTW9kZWw/OiBTZWxlY3Rpb25Nb2RlbDxSb3c+LCB2aXNpYmxlPzogVmFsdWVNb2RlbDxib29sZWFuPiB8IGJvb2xlYW4pOiBTZWxlY3Rpb25Db2x1bW5Nb2RlbDxSb3c+IHtcbiAgICBhc3NlcnQuaXNOaWwodGhpcy5zZWxlY3Rpb25Db2x1bW5Nb2RlbCk7XG4gICAgY29uc3QgY29sdW1uSWQgPSBcInNlbGVjdGlvbi1jb2x1bW5cIjtcbiAgICB0aGlzLnNlbGVjdGlvbkNvbHVtbk1vZGVsID0gbmV3IFNlbGVjdGlvbkNvbHVtbk1vZGVsPFJvdz4oY29sdW1uSWQsICgpID0+IHRoaXMuZ2V0Q29sdW1uVGV4dFByb3BlcnRpZXMoY29sdW1uSWQpLCBzZWxlY3Rpb25Nb2RlbCk7XG4gICAgdGhpcy5hZGRSb3dDbGFzcyhcImF1cC1yb3ctc2VsZWN0ZWRcIiwgcm93ID0+IHRoaXMuc2VsZWN0aW9uQ29sdW1uTW9kZWwuaXNTZWxlY3RlZChyb3cpKTtcbiAgICBjb25zdCBzZWxlY3Rpb25Db2x1bW5Nb2RlbCA9IHRoaXMuYWRkQ29sdW1uKHRoaXMuc2VsZWN0aW9uQ29sdW1uTW9kZWwsIDApO1xuICAgIGlmICghaXNOaWwodmlzaWJsZSkpIHtcbiAgICAgIHNlbGVjdGlvbkNvbHVtbk1vZGVsLnZpc2libGVXaGlsZSh2aXNpYmxlIGluc3RhbmNlb2YgVmFsdWVNb2RlbCA/IHZpc2libGUgOiBWYWx1ZU1vZGVsLmNvbnN0YW50KHZpc2libGUpKTtcbiAgICB9XG4gICAgcmV0dXJuIHNlbGVjdGlvbkNvbHVtbk1vZGVsO1xuICB9XG5cbiAgYWRkRWRpdENvbnRyb2xzKHNhdmVDb21tYW5kRmFjdG9yeTogQ29tbWFuZC5GYWN0b3J5PERpcnR5VHJhY2tpbmdGb3JtPFJvdz4sIGJvb2xlYW4gfCBQcm9taXNlPGJvb2xlYW4+PiwgZm9ybUZhY3Rvcnk/OiAocm93OiBSb3cpID0+IERpcnR5VHJhY2tpbmdGb3JtPFJvdz4pOiBFZGl0b3JDb250cm9sQ29sdW1uTW9kZWw8Um93PiB7XG4gICAgdGhpcy5zYXZlQ29tbWFuZEZhY3RvcnkgPSBzYXZlQ29tbWFuZEZhY3Rvcnk7XG4gICAgaWYgKGlzRnVuY3Rpb24oZm9ybUZhY3RvcnkpKSB7XG4gICAgICB0aGlzLl9jcmVhdGVGb3JtID0gZm9ybUZhY3Rvcnk7XG4gICAgfVxuICAgIGNvbnN0IGNvbHVtbklkID0gXCJlZGl0Q29udHJvbHNcIjtcbiAgICByZXR1cm4gdGhpcy5hZGRDb2x1bW4obmV3IEVkaXRvckNvbnRyb2xDb2x1bW5Nb2RlbDxSb3c+KGNvbHVtbklkLCBzYXZlQ29tbWFuZEZhY3RvcnksICgpID0+IHRoaXMuZ2V0Q29sdW1uVGV4dFByb3BlcnRpZXMoY29sdW1uSWQpKSk7XG4gIH1cblxuICBhZGRDdXN0b21Db2x1bW48Vj4oY29sdW1uSWQ6IHN0cmluZywgZGF0YUFjY2Vzc29yOiAocm93OiBSb3cpID0+IFYpOiBDdXN0b21WYWx1ZUNvbHVtbk1vZGVsPFJvdywgVj4ge1xuICAgIHJldHVybiB0aGlzLmFkZENvbHVtbihuZXcgQ3VzdG9tVmFsdWVDb2x1bW5Nb2RlbDxSb3csIFY+KGNvbHVtbklkLCAoKSA9PiB0aGlzLmdldENvbHVtblRleHRQcm9wZXJ0aWVzKGNvbHVtbklkKSwgZGF0YUFjY2Vzc29yKSk7XG4gIH1cblxuICBhZGRDb21wb25lbnRDb2x1bW48QyBleHRlbmRzIENlbGxSZW5kZXJlcjxQYXJ0aWFsPFJvdz4+Pihjb2x1bW5JZDogc3RyaW5nLCBjb21wb25lbnQ6IENvbXBvbmVudFR5cGU8Qz4sIG9uSW5pdD86IE9uQ29tcG9uZW50SW5pdDxDPik6IEN1c3RvbVZhbHVlQ29sdW1uTW9kZWw8Um93LCBSb3c+XG4gIGFkZENvbXBvbmVudENvbHVtbjxDIGV4dGVuZHMgQ2VsbFJlbmRlcmVyPFBhcnRpYWw8Um93Pj4+KGNvbHVtbklkOiBzdHJpbmcsIGNvbXBvbmVudDogQ29tcG9uZW50VHlwZTxDPiwgb3B0aW9ucz86IENlbGxSZW5kZXJlck9wdGlvbnM8Um93LCBDPik6IEN1c3RvbVZhbHVlQ29sdW1uTW9kZWw8Um93LCBSb3c+XG4gIGFkZENvbXBvbmVudENvbHVtbjxDIGV4dGVuZHMgQ2VsbFJlbmRlcmVyPFBhcnRpYWw8Um93Pj4+KGNvbHVtbklkOiBzdHJpbmcsIGNvbXBvbmVudDogQ29tcG9uZW50VHlwZTxDPiwgb25Db21wb25lbnRJbml0T3JPcHRpb25zPzogT25Db21wb25lbnRJbml0PEM+IHwgQ2VsbFJlbmRlcmVyT3B0aW9uczxSb3csIEM+KTogQ3VzdG9tVmFsdWVDb2x1bW5Nb2RlbDxSb3csIFJvdz4ge1xuICAgIHJldHVybiB0aGlzLmFkZENvbHVtbihuZXcgQ3VzdG9tVmFsdWVDb2x1bW5Nb2RlbDxSb3csIFJvdz4oY29sdW1uSWQsICgpID0+IHRoaXMuZ2V0Q29sdW1uVGV4dFByb3BlcnRpZXMoY29sdW1uSWQpLCByb3cgPT4gcm93KSkuY2VsbFJlbmRlcmVyKGNvbXBvbmVudCwgb25Db21wb25lbnRJbml0T3JPcHRpb25zKTtcbiAgfVxuXG4gIGFkZFRlbXBsYXRlQ29sdW1uPFY+KGNvbHVtbklkOiBzdHJpbmcpOiBDdXN0b21UZW1wbGF0ZUNvbHVtbk1vZGVsPFJvdz4ge1xuICAgIHJldHVybiB0aGlzLmFkZENvbHVtbihuZXcgQ3VzdG9tVGVtcGxhdGVDb2x1bW5Nb2RlbDxSb3c+KGNvbHVtbklkLCAoKSA9PiB0aGlzLmdldENvbHVtblRleHRQcm9wZXJ0aWVzKGNvbHVtbklkKSkpO1xuICB9XG5cbiAgYWRkUm93Q2xhc3MoY2xhc3NOYW1lOiBzdHJpbmcsIHByZWRpY2F0ZTogKHJvdzogUm93KSA9PiBib29sZWFuKSB7XG4gICAgdGhpcy5yb3dDbGFzc05hbWVQcmVkaWNhdGVzLnB1c2gobmV3IFJvd0NsYXNzPFJvdz4oY2xhc3NOYW1lLCBwcmVkaWNhdGUpKTtcbiAgfVxuXG4gIGdldFJvd0NsYXNzZXMocm93OiBSb3cpOiBzdHJpbmdbXSB7XG4gICAgY29uc3QgY2xhc3NOYW1lczogc3RyaW5nW10gPSBbXTtcbiAgICB0aGlzLnJvd0NsYXNzTmFtZVByZWRpY2F0ZXMuZm9yRWFjaChpID0+IHtcbiAgICAgIGlmIChpLm1hdGNoZXMocm93KSkge1xuICAgICAgICBjbGFzc05hbWVzLnB1c2goaS5jbGFzc05hbWUpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBjbGFzc05hbWVzO1xuICB9XG5cbiAgdXNlRm9ybUZhY3RvcnkoZmFjdG9yeTogKHJvdzogUm93KSA9PiBEaXJ0eVRyYWNraW5nRm9ybTxSb3c+KTogdGhpcyB7XG4gICAgdGhpcy5fY3JlYXRlRm9ybSA9IGZhY3Rvcnk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwcm90ZWN0ZWQgYWRkQ29sdW1uPEMgZXh0ZW5kcyBDb2x1bW5Nb2RlbDxSb3c+Pihjb2x1bW46IEMsIGluZGV4PzogbnVtYmVyKTogQyB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbHVtbkxpc3QuYWRkQ29sdW1uKGNvbHVtbiwgaW5kZXgpO1xuICB9XG5cbiAgLy8gcmVtb3ZlQ29sdW1uKGNvbHVtbjogQ29sdW1uTW9kZWw8Um93Pikge1xuICAvL1xuICAvLyB9XG5cbiAgY29sdW1uVGV4dFByb3BlcnRpZXMoY29sdW1uVGV4dFByb3BlcnRpZXM6IHsgW2NvbHVtbk5hbWU6IHN0cmluZ106IENvbHVtblRleHRQcm9wZXJ0aWVzIH0pIHtcbiAgICB0aGlzLl9jb2x1bW5UZXh0UHJvcGVydGllc0xvb2t1cCA9IGNvbHVtblRleHRQcm9wZXJ0aWVzO1xuICB9XG5cbiAgZ2V0Q29sdW1uVGV4dFByb3BlcnRpZXMoY29sdW1uSWQ6IHN0cmluZyk6IENvbHVtblRleHRQcm9wZXJ0aWVzIHtcbiAgICByZXR1cm4gdGhpcy5fY29sdW1uVGV4dFByb3BlcnRpZXNMb29rdXAgPyB0aGlzLl9jb2x1bW5UZXh0UHJvcGVydGllc0xvb2t1cFtjb2x1bW5JZF0gOiB1bmRlZmluZWQ7XG4gIH1cblxuICBzdGFydEVkaXRTZXNzaW9uKHJvdzogUm93KTogRWRpdFNlc3Npb248Um93PiB7XG4gICAgY29uc3Qgcm93SWQgPSB0aGlzLmlkZW50aXR5T2Yocm93KTtcbiAgICBpZiAodGhpcy5fcm93c0JlaW5nRWRpdGVkJC5xdWVyeSgpLmluZGV4T2Yocm93KSA+IC0xKSB7XG4gICAgICByZXR1cm4gbGFuZy5pbGxlZ2FsU3RhdGUoYFJvdyB3aXRoIGlkPSR7cm93SWR9IGFscmVhZHkgYmVpbmcgZWRpdGVkYCk7XG4gICAgfVxuXG4gICAgLy8gdG9kbzogcGFzcyB0aGUgZmFjdG9yaWVzIHRvIHRoZSBlZGl0IHNlc3Npb24gc28gd2UgY2FuIG1ha2UgdGhlIHdob2xlIGxvdCBwbHVnZ2FibGU/XG4gICAgY29uc3QgZm9ybSA9IHRoaXMuX2NyZWF0ZUZvcm0ocm93KTtcbiAgICBjb25zdCBzYXZlQ29tbWFuZCA9IHRoaXMuc2F2ZUNvbW1hbmRGYWN0b3J5LmNyZWF0ZShmb3JtKTtcbiAgICBjb25zdCBlZGl0U2Vzc2lvbiA9IG5ldyBFZGl0U2Vzc2lvbjxSb3c+KHJvd0lkLCByb3csIGZvcm0sIHNhdmVDb21tYW5kKTtcbiAgICBjb25zdCB7IHdoZW4gfSA9IERzbC5kaXNwb3NlV2l0aChlZGl0U2Vzc2lvbik7XG4gICAgd2hlbihlZGl0U2Vzc2lvbi5saXZlUm93VmFsdWUkKS5jaGFuZ2VzKChlZGl0ZWRWYWx1ZSkgPT4ge1xuICAgICAgdGhpcy5fcm93c0JlaW5nRWRpdGVkJC5yZXBsYWNlT3JQdXNoKGVkaXRlZFZhbHVlKTtcbiAgICB9LCB7IGluaXRpYWxWYWx1ZTogXCJ0cmlnZ2VyQ2hhbmdlVW5sZXNzTmlsXCIgfSk7XG5cbiAgICB0aGlzLl9lZGl0b3JTZXNzaW9ucy5wdXNoKGVkaXRTZXNzaW9uKTtcbiAgICBlZGl0U2Vzc2lvbi5vbkRpc3Bvc2UoKCkgPT4ge1xuICAgICAgdGhpcy5fcm93c0JlaW5nRWRpdGVkJC5yZW1vdmUoZWRpdFNlc3Npb24ubGl2ZVJvd1ZhbHVlJC52YWx1ZSk7XG4gICAgICB0aGlzLl9lZGl0b3JTZXNzaW9ucy5yZW1vdmUoZWRpdFNlc3Npb24pO1xuICAgIH0pO1xuICAgIHJldHVybiBlZGl0U2Vzc2lvbjtcbiAgfVxuXG4gIGdldEVkaXRTZXNzaW9uRm9yKHJvdzogUm93KTogRWRpdFNlc3Npb248Um93PiB7XG4gICAgcmV0dXJuIHRoaXMuX2VkaXRvclNlc3Npb25CeVJvd0lkLmdldCh0aGlzLmlkZW50aXR5T2Yocm93KSk7XG4gIH1cblxuICBjYW5jZWxBbGxFZGl0b3JTZXNzaW9ucygpIHtcbiAgICB0aGlzLl9lZGl0b3JTZXNzaW9ucy5ydW5JblRyYW5zYWN0aW9uKChkcmFmdCkgPT4ge1xuICAgICAgdGhpcy5fcm93c0JlaW5nRWRpdGVkJC5ydW5JblRyYW5zYWN0aW9uKCgpID0+IHtcbiAgICAgICAgZHJhZnQudmFsdWUuZm9yRWFjaChzZXNzaW9uID0+IHNlc3Npb24uZGlzcG9zZSgpKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgaXNSb3dTZWxlY3Rpb25FbmFibGVkRm9yKGNvbHVtbjogQ29sdW1uTW9kZWw8Um93Pik6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmlzUm93U2VsZWN0aW9uRW5hYmxlZCgpICYmIGNvbHVtbi5pc1Jvd1NlbGVjdGlvbkVuYWJsZWQoKTtcbiAgfVxuXG4gIGlzUm93U2VsZWN0aW9uRW5hYmxlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5oYXNVc2VyU2VsZWN0aW9uTW9kZWwoKSAmJiAhdGhpcy5yb3dTZWxlY3Rpb25EaXNhYmxlZE9uQWxsQ29sdW1ucyQudmFsdWU7XG4gIH1cblxuICBoYXNVc2VyU2VsZWN0aW9uTW9kZWwoKSB7XG4gICAgcmV0dXJuICEhdGhpcy5zZWxlY3Rpb25Db2x1bW5Nb2RlbD8uc2VsZWN0aW9uTW9kZWwuZ2V0RGVsZWdhdGUoKTtcbiAgfVxuXG4gIGdldFNlbGVjdGlvbk1vZGVsKCk6IFNlbGVjdGlvbk1vZGVsPFJvdz4gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGlvbkNvbHVtbk1vZGVsPy5zZWxlY3Rpb25Nb2RlbDtcbiAgfVxuXG4gIGlzSG92ZXJFbmFibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmlzUm93U2VsZWN0aW9uRW5hYmxlZCgpIHx8IHRoaXMucm93Q2xpY2tMaXN0ZW5lcnMubGlzdGVuZXJDb3VudCA+IDA7XG4gIH1cblxuICBpc0N1cnNvckVuYWJsZWQoY29sdW1uOiBDb2x1bW5Nb2RlbDxSb3c+KSB7XG4gICAgcmV0dXJuIHRoaXMuaXNSb3dTZWxlY3Rpb25FbmFibGVkRm9yKGNvbHVtbikgfHwgdGhpcy5yb3dDbGlja0xpc3RlbmVycy5saXN0ZW5lckNvdW50ID4gMDtcbiAgfVxuXG4gIHNlbGVjdFJvdyhyb3c6IFJvdykge1xuICAgIHRoaXMuc2VsZWN0aW9uQ29sdW1uTW9kZWw/LnNlbGVjdFJvdyhyb3cpO1xuICB9XG5cbiAgb25Sb3dDbGlja2VkKGNhbGxiYWNrOiAocm93OiBSb3cpID0+IHZvaWQpOiBEaXNwb3NhYmxlIHtcbiAgICByZXR1cm4gdGhpcy5yb3dDbGlja0xpc3RlbmVycy5hZGQoY2FsbGJhY2spO1xuICB9XG5cbiAgX25vdGlmeUNlbGxDbGlja2VkKGNvbHVtbk1vZGVsOiBDb2x1bW5Nb2RlbDxSb3c+LCByb3c6IFJvdykge1xuICAgIGlmICh0aGlzLmlzUm93U2VsZWN0aW9uRW5hYmxlZEZvcihjb2x1bW5Nb2RlbCkpIHtcbiAgICAgIHRoaXMuc2VsZWN0Um93KHJvdyk7XG4gICAgfVxuICAgIHRoaXMucm93Q2xpY2tMaXN0ZW5lcnMuZmlyZShsID0+IGwocm93KSk7XG4gIH1cbn1cblxuXG5UcmFja0V4dGVybmFsLm9uZVRpbWVCaW5kaW5nKEFic3RyYWN0VGFibGVNb2RlbCk7XG4iXX0=
|
|
230
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtdGFibGUtbW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlcy9hYnN0cmFjdC10YWJsZS1tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFDTCxNQUFNLEVBR04sbUJBQW1CLEVBQUUsb0JBQW9CLEVBQ3pDLGlCQUFpQixFQUVqQixHQUFHLEVBQ0gsaUJBQWlCLEVBQUUsU0FBUyxFQUM1QixnQkFBZ0IsRUFDaEIsSUFBSSxFQUlKLGdCQUFnQixFQUVoQixhQUFhLEVBRWIsVUFBVSxFQUVYLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxrQkFBa0IsTUFBTSxzQkFBc0IsQ0FBQztBQUV0RCxPQUFPLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQVNwRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FB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SUFDM0MsQ0FBQztDQUNGO0FBR0QsYUFBYSxDQUFDLGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50VHlwZSB9IGZyb20gXCJAYW5ndWxhci9jZGsvb3ZlcmxheVwiO1xuaW1wb3J0IHsgSW5qZWN0b3IgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtcbiAgYXNzZXJ0LFxuICBCb29sZWFuVmFsdWVNb2RlbENoYWluLCBDb21tYW5kLFxuICBDb21tYW5kRmFjdG9yeSxcbiAgRGVsZWdhdGluZ0xpc3RNb2RlbCwgRGVsZWdhdGluZ1ZhbHVlTW9kZWwsXG4gIERpcnR5VHJhY2tpbmdGb3JtLFxuICBEaXNwb3NhYmxlLFxuICBEc2wsXG4gIEV2ZW50TGlzdGVuZXJMaXN0LCBGdW5jdGlvbnMsXG4gIEdhcmJhZ2VDb2xsZWN0b3IsXG4gIGxhbmcsXG4gIExpc3RNb2RlbCxcbiAgTGlzdE1vZGVsQ2hhaW4sXG4gIE1hcE1vZGVsQ2hhaW4sXG4gIE11dGFibGVMaXN0TW9kZWwsXG4gIFNlbGVjdGlvbk1vZGVsLCBUcmFjZSxcbiAgVHJhY2tFeHRlcm5hbCwgVHJhbnNhY3Rpb25PYnNlcnZlcixcbiAgVHlwZXMsXG4gIFZhbHVlTW9kZWwsXG4gIFZhbHVlTW9kZWxDaGFpblxufSBmcm9tIFwiQGNvb2xvbi9wZWN0aW5cIjtcbmltcG9ydCBlc2NhcGVTdHJpbmdSZWdleHAgZnJvbSBcImVzY2FwZS1zdHJpbmctcmVnZXhwXCI7XG5cbmltcG9ydCB7IGlzRW1wdHksIGlzRnVuY3Rpb24sIGlzTmlsIH0gZnJvbSBcImxvZGFzaC1lc1wiO1xuaW1wb3J0IHsgQ29sdW1uTGlzdE1vZGVsIH0gZnJvbSBcIi4vY29sdW1uL2NvbHVtbi1saXN0LW1vZGVsXCI7XG5pbXBvcnQgeyBDdXN0b21UZW1wbGF0ZUNvbHVtbk1vZGVsIH0gZnJvbSBcIi4vY29sdW1uL2N1c3RvbS10ZW1wbGF0ZS1jb2x1bW4tbW9kZWxcIjtcbmltcG9ydCB7IEN1c3RvbVZhbHVlQ29sdW1uTW9kZWwgfSBmcm9tIFwiLi9jb2x1bW4vY3VzdG9tLXZhbHVlLWNvbHVtbi1tb2RlbFwiO1xuaW1wb3J0IHsgRWRpdG9yQ29udHJvbENvbHVtbk1vZGVsIH0gZnJvbSBcIi4vY29sdW1uL2VkaXRvci1jb250cm9scy1jb2x1bW4tbW9kZWxcIjtcbmltcG9ydCB7IExpc3RQcm9wZXJ0eUNvbHVtbk1vZGVsIH0gZnJvbSBcIi4vY29sdW1uL2xpc3QtcHJvcGVyeS1jb2x1bW4tbW9kZWxcIjtcbmltcG9ydCB7IFByb3BlcnR5Q29sdW1uTW9kZWwgfSBmcm9tIFwiLi9jb2x1bW4vcHJvcGVydHktY29sdW1uLW1vZGVsXCI7XG5pbXBvcnQgeyBTZWxlY3Rpb25Db2x1bW5Nb2RlbCB9IGZyb20gXCIuL2NvbHVtbi9zZWxlY3Rpb24tY29sdW1uLW1vZGVsXCI7XG5pbXBvcnQgeyBFZGl0U2Vzc2lvbiB9IGZyb20gXCIuL2VkaXRvci9lZGl0LXNlc3Npb25cIjtcbmltcG9ydCB7IENlbGxSZW5kZXJlciB9IGZyb20gXCIuL3JlbmRlcmVyL2NlbGwtcmVuZGVyZXJcIjtcbmltcG9ydCB7XG4gIENlbGxSZW5kZXJlck9wdGlvbnMsXG4gIENvbHVtbk1vZGVsLFxuICBPbkNvbXBvbmVudEluaXRcbn0gZnJvbSBcIi4vY29sdW1uL2NvbHVtbi1tb2RlbFwiO1xuaW1wb3J0IHsgQ29sdW1uVGV4dFByb3BlcnRpZXMgfSBmcm9tIFwiLi9jb2x1bW4vY29sdW1uLXRleHQtcHJvcGVydGllc1wiO1xuXG5pbXBvcnQgeyBDb2x1bW5UZXh0U2VhcmNoRm9ybWF0dGVyIH0gZnJvbSBcIi4vc2VhcmNoL2NvbHVtbi10ZXh0LXNlYXJjaC1mb3JtYXR0ZXJcIjtcbmltcG9ydCBEZWZhdWx0VmFsdWVGb3JtYXR0ZXIgPSBDb2x1bW5UZXh0U2VhcmNoRm9ybWF0dGVyLkRlZmF1bHRWYWx1ZUZvcm1hdHRlcjtcbmltcG9ydCBEZWZhdWx0QXJyYXlGb3JtYXR0ZXIgPSBDb2x1bW5UZXh0U2VhcmNoRm9ybWF0dGVyLkRlZmF1bHRBcnJheUZvcm1hdHRlcjtcblxuLy8gZXhwb3J0IHR5cGUgU3RyaW5nUHJvcGVydGllc09mPFQ+ID0geyBbSyBpbiBrZXlvZiBUXTogVFtLXSBleHRlbmRzIHN0cmluZyA/IEsgOiBuZXZlciB9W2tleW9mIFRdO1xuLy8gZXhwb3J0IHR5cGUgTnVtYmVyUHJvcGVydGllc09mPFQ+ID0geyBbSyBpbiBrZXlvZiBUXTogVFtLXSBleHRlbmRzIG51bWJlciA/IEsgOiBuZXZlciB9W2tleW9mIFRdO1xuXG5jbGFzcyBSb3dDbGFzczxSb3c+IHtcbiAgY29uc3RydWN0b3IocmVhZG9ubHkgY2xhc3NOYW1lOiBzdHJpbmcsXG4gICAgICAgICAgICAgIHJlYWRvbmx5IG1hdGNoZXM6IChyb3c6IFJvdykgPT4gYm9vbGVhbikge1xuICB9XG59XG5cblxuZXhwb3J0IGNsYXNzIEFic3RyYWN0VGFibGVNb2RlbDxSb3c+IGV4dGVuZHMgR2FyYmFnZUNvbGxlY3RvciB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfcmF3RGF0YVNvdXJjZSA9IHRoaXMucmVnaXN0ZXJEaXNwb3NhYmxlKG5ldyBEZWxlZ2F0aW5nTGlzdE1vZGVsPFJvdz4oKSk7XG4gIHJlYWRvbmx5IF92aXNpYmxlUm93cyQgPSB0aGlzLnJlZ2lzdGVyRGlzcG9zYWJsZShuZXcgRGVsZWdhdGluZ0xpc3RNb2RlbDxSb3c+KCkpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2NvbHVtbkxpc3QgPSB0aGlzLnJlZ2lzdGVyRGlzcG9zYWJsZShuZXcgQ29sdW1uTGlzdE1vZGVsPFJvdz4oKSk7XG5cbiAgcHJpdmF0ZSBfZWRpdG9yU2Vzc2lvbnMgPSBuZXcgTXV0YWJsZUxpc3RNb2RlbDxFZGl0U2Vzc2lvbjxSb3c+PigpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9yb3dzQmVpbmdFZGl0ZWQkOiBNdXRhYmxlTGlzdE1vZGVsPFJvdz47XG4gIHByaXZhdGUgcmVhZG9ubHkgcm93Q2xhc3NOYW1lUHJlZGljYXRlczogUm93Q2xhc3M8Um93PltdID0gW107XG5cbiAgcHJpdmF0ZSBfY29sdW1uVGV4dFByb3BlcnRpZXNMb29rdXA6IHsgW2NvbHVtbk5hbWU6IHN0cmluZ106IENvbHVtblRleHRQcm9wZXJ0aWVzIH07XG5cbiAgcHJpdmF0ZSBzYXZlQ29tbWFuZEZhY3Rvcnk6IENvbW1hbmQuRmFjdG9yeTxEaXJ0eVRyYWNraW5nRm9ybTxSb3c+LCBib29sZWFuIHwgUHJvbWlzZTxib29sZWFuPj47XG4gIHByaXZhdGUgX2VkaXRvclNlc3Npb25CeVJvd0lkOiBNYXBNb2RlbENoYWluPGFueSwgRWRpdFNlc3Npb248Um93Pj47XG5cbiAgcmVhZG9ubHkgZWRpdGluZyQ6IEJvb2xlYW5WYWx1ZU1vZGVsQ2hhaW47XG4gIHJlYWRvbmx5IGZpcnN0RWRpdGFibGVDb2x1bW4kOiBWYWx1ZU1vZGVsQ2hhaW48Q29sdW1uTW9kZWw8Um93Pj47XG4gIHByaXZhdGUgc2VsZWN0aW9uQ29sdW1uTW9kZWw6IFNlbGVjdGlvbkNvbHVtbk1vZGVsPFJvdz47XG4gIHByaXZhdGUgcm93U2VsZWN0aW9uRGlzYWJsZWRPbkFsbENvbHVtbnMkOiBCb29sZWFuVmFsdWVNb2RlbENoYWluO1xuICBwcml2YXRlIHJlYWRvbmx5IHJvd0NsaWNrTGlzdGVuZXJzID0gbmV3IEV2ZW50TGlzdGVuZXJMaXN0PChyb3c6IFJvdykgPT4gdm9pZD4oKTtcbiAgcmVhZG9ubHkgZmlyc3RWaXNpYmxlQ29sdW1uJDogVmFsdWVNb2RlbDxDb2x1bW5Nb2RlbDxSb3c+PjtcbiAgcmVhZG9ubHkgbGFzdFZpc2libGVDb2x1bW4kOiBWYWx1ZU1vZGVsPENvbHVtbk1vZGVsPFJvdz4+O1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3NlYXJjaFRleHQkID0gbmV3IERlbGVnYXRpbmdWYWx1ZU1vZGVsPHN0cmluZz4oKTtcblxuICBwcml2YXRlIF9jcmVhdGVGb3JtOiAocm93OiBSb3cpID0+IERpcnR5VHJhY2tpbmdGb3JtPFJvdz4gPSAocm93KSA9PiBuZXcgRGlydHlUcmFja2luZ0Zvcm08Um93PigpO1xuICBwcml2YXRlIF90ZXh0U2VhcmNoUHJlZGljYXRlJDogVmFsdWVNb2RlbENoYWluPChpdGVtczpSb3dbXSkgPT4gUm93W10+O1xuICBwcml2YXRlIF9maWx0ZXJlZFJvd3MkOiBMaXN0TW9kZWxDaGFpbjxSb3c+O1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIGNvbnN0IHsgY2hhaW4sIHZhbHVlT2YsIGJlZm9yZSwgd2hlbiwgYWZ0ZXIsIG9ic2VydmUsIHN3aXRjaE9uIH0gPSBEc2wuZGlzcG9zZVdpdGgodGhpcyk7XG4gICAgdGhpcy5fcm93c0JlaW5nRWRpdGVkJCA9IG5ldyBNdXRhYmxlTGlzdE1vZGVsPFJvdz4oW10sIHtcbiAgICAgIGlkZW50aWZpZWRXaXRoOiByb3cgPT4gdGhpcy5pZGVudGl0eU9mKHJvdylcbiAgICB9KTtcbiAgICB0aGlzLl9lZGl0b3JTZXNzaW9uQnlSb3dJZCA9IGNoYWluKHRoaXMuX2VkaXRvclNlc3Npb25zKS5pbmRleEJ5KFwicm93SWRcIik7XG4gICAgdGhpcy5lZGl0aW5nJCA9IGNoYWluKHRoaXMuX2VkaXRvclNlc3Npb25zKS5jb3VudCgpLmlzR3JlYXRlclRoYW4oMCk7XG5cbiAgICB0aGlzLl90ZXh0U2VhcmNoUHJlZGljYXRlJCA9IGNoYWluKHRoaXMuX3NlYXJjaFRleHQkKS5tYXAodGV4dCA9PiB7XG4gICAgICByZXR1cm4gaXNFbXB0eSh0ZXh0KSA/IEZ1bmN0aW9ucy5pZGVudGl0eSA6IChyb3dzOlJvd1tdKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlZ2V4ID0gbmV3IFJlZ0V4cChlc2NhcGVTdHJpbmdSZWdleHAodGV4dCksIFwiaVwiKTtcbiAgICAgICAgcmV0dXJuIHJvd3MuZmlsdGVyKHJvdyA9PiB0aGlzLmhhc01hdGNoaW5nQ29sdW1uKHJvdywgcmVnZXgpKVxuICAgICAgfVxuICAgIH0sIHtcbiAgICAgIGFsbG93TmlsOiB0cnVlLFxuICAgICAgZGVwZW5kc09uOiB0aGlzLmNvbHVtbnNcbiAgICB9KTtcblxuICAgIHRoaXMuX2ZpbHRlcmVkUm93cyQgPSBjaGFpbih0aGlzLl9yYXdEYXRhU291cmNlKVxuICAgICAgLnJlZHVjZVRvTGlzdChpdGVtcyA9PiB0aGlzLl90ZXh0U2VhcmNoUHJlZGljYXRlJC52YWx1ZShpdGVtcyksIHtcbiAgICAgICAgZGVwZW5kc09uOiB0aGlzLl90ZXh0U2VhcmNoUHJlZGljYXRlJFxuICAgICAgfSlcbiAgICAgIC5yZXBsYWNlQWxsKHRoaXMucm93c0JlaW5nRWRpdGVkJCk7XG5cbiAgICB0aGlzLl92aXNpYmxlUm93cyQuc2V0RGVsZWdhdGUodGhpcy5fZmlsdGVyZWRSb3dzJCk7XG5cbiAgICB0aGlzLmZpcnN0RWRpdGFibGVDb2x1bW4kID0gY2hhaW4odGhpcy5jb2x1bW5zKS5zZWxlY3QoYyA9PiBjLmhhc0VkaXRvclBvcnRhbCgpKS5maXJzdCgpO1xuICAgIHRoaXMuZmlyc3RWaXNpYmxlQ29sdW1uJCA9IGNoYWluKHRoaXMuX2NvbHVtbkxpc3QpLmZpcnN0KCk7XG4gICAgdGhpcy5sYXN0VmlzaWJsZUNvbHVtbiQgPSBjaGFpbih0aGlzLl9jb2x1bW5MaXN0KS5sYXN0KCk7XG5cbiAgICB0aGlzLnJvd1NlbGVjdGlvbkRpc2FibGVkT25BbGxDb2x1bW5zJCA9IGNoYWluKHRoaXMuX2NvbHVtbkxpc3QpLnNlbGVjdChjb2x1bW4gPT4gY29sdW1uLmlzUm93U2VsZWN0aW9uRW5hYmxlZCgpKS5jb3VudCgpLmVxdWFscygwKTtcblxuICB9XG5cbiAgZmluZE1hdGNoaW5nQ29sdW1ucyhyb3c6IFJvdywgcmVnZXg6IFJlZ0V4cCk6IENvbHVtbk1vZGVsPFJvdz5bXSB7XG4gICAgcmV0dXJuIHRoaXMuY29sdW1ucy52YWx1ZS5maWx0ZXIoYyA9PiByZWdleC50ZXN0KGMuZ2V0U2VhcmNoVGV4dEZvcihyb3cpKSk7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBoYXNNYXRjaGluZ0NvbHVtbihyb3c6IFJvdywgcmVnZXg6IFJlZ0V4cCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuY29sdW1ucy52YWx1ZS5maW5kKGMgPT4gcmVnZXgudGVzdChjLmdldFNlYXJjaFRleHRGb3Iocm93KSkpO1xuICB9XG5cbiAgaW5pdGlhbGlzZShpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICAvLyBub3Qgc3VyZSBpZiBJIHNob3VsZCBkZWZpbmUgdGhlc2UgYXQgdGhlIG1vZHVsZSBsZXZlbCBvciBub3QuLi5cbiAgICBjb25zdCBjdXN0b21JbmplY3RvciA9IEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge3Byb3ZpZGU6IERlZmF1bHRWYWx1ZUZvcm1hdHRlcn0sXG4gICAgICAgIHtwcm92aWRlOiBEZWZhdWx0QXJyYXlGb3JtYXR0ZXJ9XG4gICAgICBdLFxuICAgICAgcGFyZW50OiBpbmplY3RvclxuICAgIH0pO1xuICAgIHRoaXMuY29sdW1ucy52YWx1ZS5mb3JFYWNoKGMgPT4gYy5pbml0aWFsaXNlKGN1c3RvbUluamVjdG9yKSk7XG4gIH1cblxuICBnZXQgdmlzaWJsZVJvd3MkKCk6TGlzdE1vZGVsPFJvdz4ge1xuICAgIHJldHVybiB0aGlzLl92aXNpYmxlUm93cyQucmVhZG9ubHk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2V0RGF0YVNvdXJjZShzb3VyY2VPZlRydXRoOiBMaXN0TW9kZWw8Um93Pikge1xuICAgIHRoaXMuX3Jhd0RhdGFTb3VyY2Uuc2V0RGVsZWdhdGUoc291cmNlT2ZUcnV0aCk7XG4gIH1cblxuICBzZXRUZXh0U2VhcmNoKHNlYXJjaFRleHQkOiBWYWx1ZU1vZGVsPHN0cmluZz4sIHRocm90dGxlRGVsYXlNaWxsaXNlY29uZHM6IG51bWJlciA9IDEwMCkge1xuICAgIGNvbnN0IHsgY2hhaW4gfSA9IERzbC5kaXNwb3NlV2l0aCh0aGlzKTtcbiAgICB0aGlzLl9zZWFyY2hUZXh0JC5zZXREZWxlZ2F0ZShjaGFpbihzZWFyY2hUZXh0JCkudGhyb3R0bGUodGhyb3R0bGVEZWxheU1pbGxpc2Vjb25kcykpO1xuICB9XG5cbiAgaWRlbnRpdHlPZihyb3c6IFJvdyk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuX3Jhd0RhdGFTb3VyY2UuaWRlbnRpdHlPZihyb3cpO1xuICB9XG5cbiAgZ2V0IHJvd3NCZWluZ0VkaXRlZCQoKTogTGlzdE1vZGVsPFJvdz4ge1xuICAgIHJldHVybiB0aGlzLl9yb3dzQmVpbmdFZGl0ZWQkLnJlYWRvbmx5O1xuICB9XG5cbiAgcmVhZG9ubHkgdHJhY2tCeSA9IChpbmRleDogbnVtYmVyLCBpdGVtOiBSb3cpID0+IHtcbiAgICByZXR1cm4gdGhpcy5pZGVudGl0eU9mID8gdGhpcy5pZGVudGl0eU9mKGl0ZW0pIDogaW5kZXg7XG4gIH07XG5cbiAgZ2V0IGNvbHVtbnMoKTogTGlzdE1vZGVsPENvbHVtbk1vZGVsPFJvdz4+IHtcbiAgICByZXR1cm4gdGhpcy5fY29sdW1uTGlzdC5hbGxDb2x1bW5zJDtcbiAgfVxuXG4gIGdldCB2aXNpYmxlQ29sdW1ucygpOiBMaXN0TW9kZWw8Q29sdW1uTW9kZWw8Um93Pj4ge1xuICAgIHJldHVybiB0aGlzLl9jb2x1bW5MaXN0LnJlYWRvbmx5O1xuICB9XG5cbiAgcGx1Y2s8UCBleHRlbmRzIFR5cGVzLlZhbHVlUHJvcGVydGllc09mPFJvdz4+KHByb3BlcnR5OiBQLCBvcHRpb25zPzogeyBjb2x1bW5JZDogc3RyaW5nIH0pOiBQcm9wZXJ0eUNvbHVtbk1vZGVsPFJvdywgUD4ge1xuICAgIGNvbnN0IGNvbHVtbklkID0gb3B0aW9ucz8uY29sdW1uSWQgfHwgcHJvcGVydHkudG9TdHJpbmcoKTtcbiAgICByZXR1cm4gdGhpcy5hZGRDb2x1bW4obmV3IFByb3BlcnR5Q29sdW1uTW9kZWw8Um93LCBQPihjb2x1bW5JZCwgcHJvcGVydHksICgpID0+IHRoaXMuZ2V0Q29sdW1uVGV4dFByb3BlcnRpZXMoY29sdW1uSWQpKSk7XG4gIH1cblxuICBwbHVja0xpc3Q8UCBleHRlbmRzIFR5cGVzLkFycmF5UHJvcGVydGllc09mPFJvdz4+KHByb3BlcnR5OiBQLCBvcHRpb25zPzogeyBjb2x1bW5JZDogc3RyaW5nIH0pOiBMaXN0UHJvcGVydHlDb2x1bW5Nb2RlbDxSb3csIFA+IHtcbiAgICBjb25zdCBjb2x1bW5JZCA9IG9wdGlvbnM/LmNvbHVtbklkIHx8IHByb3BlcnR5LnRvU3RyaW5nKCk7XG4gICAgcmV0dXJuIHRoaXMuYWRkQ29sdW1uKG5ldyBMaXN0UHJvcGVydHlDb2x1bW5Nb2RlbDxSb3csIFA+KGNvbHVtbklkLCBwcm9wZXJ0eSwgKCkgPT4gdGhpcy5nZXRDb2x1bW5UZXh0UHJvcGVydGllcyhjb2x1bW5JZCkpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBfYWRkU2VsZWN0aW9uQ29sdW1uKHNlbGVjdGlvbk1vZGVsPzogU2VsZWN0aW9uTW9kZWw8Um93PiwgdmlzaWJsZT86IFZhbHVlTW9kZWw8Ym9vbGVhbj4gfCBib29sZWFuKTogU2VsZWN0aW9uQ29sdW1uTW9kZWw8Um93PiB7XG4gICAgYXNzZXJ0LmlzTmlsKHRoaXMuc2VsZWN0aW9uQ29sdW1uTW9kZWwpO1xuICAgIGNvbnN0IGNvbHVtbklkID0gXCJzZWxlY3Rpb24tY29sdW1uXCI7XG4gICAgdGhpcy5zZWxlY3Rpb25Db2x1bW5Nb2RlbCA9IG5ldyBTZWxlY3Rpb25Db2x1bW5Nb2RlbDxSb3c+KGNvbHVtbklkLCAoKSA9PiB0aGlzLmdldENvbHVtblRleHRQcm9wZXJ0aWVzKGNvbHVtbklkKSwgc2VsZWN0aW9uTW9kZWwpO1xuICAgIHRoaXMuYWRkUm93Q2xhc3MoXCJhdXAtcm93LXNlbGVjdGVkXCIsIHJvdyA9PiB0aGlzLnNlbGVjdGlvbkNvbHVtbk1vZGVsLmlzU2VsZWN0ZWQocm93KSk7XG4gICAgY29uc3Qgc2VsZWN0aW9uQ29sdW1uTW9kZWwgPSB0aGlzLmFkZENvbHVtbih0aGlzLnNlbGVjdGlvbkNvbHVtbk1vZGVsLCAwKTtcbiAgICBpZiAoIWlzTmlsKHZpc2libGUpKSB7XG4gICAgICBzZWxlY3Rpb25Db2x1bW5Nb2RlbC52aXNpYmxlV2hpbGUodmlzaWJsZSBpbnN0YW5jZW9mIFZhbHVlTW9kZWwgPyB2aXNpYmxlIDogVmFsdWVNb2RlbC5jb25zdGFudCh2aXNpYmxlKSk7XG4gICAgfVxuICAgIHJldHVybiBzZWxlY3Rpb25Db2x1bW5Nb2RlbDtcbiAgfVxuXG4gIGFkZEVkaXRDb250cm9scyhzYXZlQ29tbWFuZEZhY3Rvcnk6IENvbW1hbmQuRmFjdG9yeTxEaXJ0eVRyYWNraW5nRm9ybTxSb3c+LCBib29sZWFuIHwgUHJvbWlzZTxib29sZWFuPj4sIGZvcm1GYWN0b3J5PzogKHJvdzogUm93KSA9PiBEaXJ0eVRyYWNraW5nRm9ybTxSb3c+KTogRWRpdG9yQ29udHJvbENvbHVtbk1vZGVsPFJvdz4ge1xuICAgIHRoaXMuc2F2ZUNvbW1hbmRGYWN0b3J5ID0gc2F2ZUNvbW1hbmRGYWN0b3J5O1xuICAgIGlmIChpc0Z1bmN0aW9uKGZvcm1GYWN0b3J5KSkge1xuICAgICAgdGhpcy5fY3JlYXRlRm9ybSA9IGZvcm1GYWN0b3J5O1xuICAgIH1cbiAgICBjb25zdCBjb2x1bW5JZCA9IFwiZWRpdENvbnRyb2xzXCI7XG4gICAgcmV0dXJuIHRoaXMuYWRkQ29sdW1uKG5ldyBFZGl0b3JDb250cm9sQ29sdW1uTW9kZWw8Um93Pihjb2x1bW5JZCwgc2F2ZUNvbW1hbmRGYWN0b3J5LCAoKSA9PiB0aGlzLmdldENvbHVtblRleHRQcm9wZXJ0aWVzKGNvbHVtbklkKSkpO1xuICB9XG5cbiAgYWRkQ3VzdG9tQ29sdW1uPFY+KGNvbHVtbklkOiBzdHJpbmcsIGRhdGFBY2Nlc3NvcjogKHJvdzogUm93KSA9PiBWKTogQ3VzdG9tVmFsdWVDb2x1bW5Nb2RlbDxSb3csIFY+IHtcbiAgICByZXR1cm4gdGhpcy5hZGRDb2x1bW4obmV3IEN1c3RvbVZhbHVlQ29sdW1uTW9kZWw8Um93LCBWPihjb2x1bW5JZCwgKCkgPT4gdGhpcy5nZXRDb2x1bW5UZXh0UHJvcGVydGllcyhjb2x1bW5JZCksIGRhdGFBY2Nlc3NvcikpO1xuICB9XG5cbiAgYWRkQ29tcG9uZW50Q29sdW1uPEMgZXh0ZW5kcyBDZWxsUmVuZGVyZXI8UGFydGlhbDxSb3c+Pj4oY29sdW1uSWQ6IHN0cmluZywgY29tcG9uZW50OiBDb21wb25lbnRUeXBlPEM+LCBvbkluaXQ/OiBPbkNvbXBvbmVudEluaXQ8Qz4pOiBDdXN0b21WYWx1ZUNvbHVtbk1vZGVsPFJvdywgUm93PlxuICBhZGRDb21wb25lbnRDb2x1bW48QyBleHRlbmRzIENlbGxSZW5kZXJlcjxQYXJ0aWFsPFJvdz4+Pihjb2x1bW5JZDogc3RyaW5nLCBjb21wb25lbnQ6IENvbXBvbmVudFR5cGU8Qz4sIG9wdGlvbnM/OiBDZWxsUmVuZGVyZXJPcHRpb25zPFJvdywgQz4pOiBDdXN0b21WYWx1ZUNvbHVtbk1vZGVsPFJvdywgUm93PlxuICBhZGRDb21wb25lbnRDb2x1bW48QyBleHRlbmRzIENlbGxSZW5kZXJlcjxQYXJ0aWFsPFJvdz4+Pihjb2x1bW5JZDogc3RyaW5nLCBjb21wb25lbnQ6IENvbXBvbmVudFR5cGU8Qz4sIG9uQ29tcG9uZW50SW5pdE9yT3B0aW9ucz86IE9uQ29tcG9uZW50SW5pdDxDPiB8IENlbGxSZW5kZXJlck9wdGlvbnM8Um93LCBDPik6IEN1c3RvbVZhbHVlQ29sdW1uTW9kZWw8Um93LCBSb3c+IHtcbiAgICByZXR1cm4gdGhpcy5hZGRDb2x1bW4obmV3IEN1c3RvbVZhbHVlQ29sdW1uTW9kZWw8Um93LCBSb3c+KGNvbHVtbklkLCAoKSA9PiB0aGlzLmdldENvbHVtblRleHRQcm9wZXJ0aWVzKGNvbHVtbklkKSwgcm93ID0+IHJvdykpLmNlbGxSZW5kZXJlcihjb21wb25lbnQsIG9uQ29tcG9uZW50SW5pdE9yT3B0aW9ucyk7XG4gIH1cblxuICBhZGRUZW1wbGF0ZUNvbHVtbjxWPihjb2x1bW5JZDogc3RyaW5nKTogQ3VzdG9tVGVtcGxhdGVDb2x1bW5Nb2RlbDxSb3c+IHtcbiAgICByZXR1cm4gdGhpcy5hZGRDb2x1bW4obmV3IEN1c3RvbVRlbXBsYXRlQ29sdW1uTW9kZWw8Um93Pihjb2x1bW5JZCwgKCkgPT4gdGhpcy5nZXRDb2x1bW5UZXh0UHJvcGVydGllcyhjb2x1bW5JZCkpKTtcbiAgfVxuXG4gIGFkZFJvd0NsYXNzKGNsYXNzTmFtZTogc3RyaW5nLCBwcmVkaWNhdGU6IChyb3c6IFJvdykgPT4gYm9vbGVhbikge1xuICAgIHRoaXMucm93Q2xhc3NOYW1lUHJlZGljYXRlcy5wdXNoKG5ldyBSb3dDbGFzczxSb3c+KGNsYXNzTmFtZSwgcHJlZGljYXRlKSk7XG4gIH1cblxuICBnZXRSb3dDbGFzc2VzKHJvdzogUm93KTogc3RyaW5nW10ge1xuICAgIGNvbnN0IGNsYXNzTmFtZXM6IHN0cmluZ1tdID0gW107XG4gICAgdGhpcy5yb3dDbGFzc05hbWVQcmVkaWNhdGVzLmZvckVhY2goaSA9PiB7XG4gICAgICBpZiAoaS5tYXRjaGVzKHJvdykpIHtcbiAgICAgICAgY2xhc3NOYW1lcy5wdXNoKGkuY2xhc3NOYW1lKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gY2xhc3NOYW1lcztcbiAgfVxuXG4gIHVzZUZvcm1GYWN0b3J5KGZhY3Rvcnk6IChyb3c6IFJvdykgPT4gRGlydHlUcmFja2luZ0Zvcm08Um93Pik6IHRoaXMge1xuICAgIHRoaXMuX2NyZWF0ZUZvcm0gPSBmYWN0b3J5O1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFkZENvbHVtbjxDIGV4dGVuZHMgQ29sdW1uTW9kZWw8Um93Pj4oY29sdW1uOiBDLCBpbmRleD86IG51bWJlcik6IEMge1xuICAgIHJldHVybiB0aGlzLl9jb2x1bW5MaXN0LmFkZENvbHVtbihjb2x1bW4sIGluZGV4KTtcbiAgfVxuXG4gIC8vIHJlbW92ZUNvbHVtbihjb2x1bW46IENvbHVtbk1vZGVsPFJvdz4pIHtcbiAgLy9cbiAgLy8gfVxuXG4gIGNvbHVtblRleHRQcm9wZXJ0aWVzKGNvbHVtblRleHRQcm9wZXJ0aWVzOiB7IFtjb2x1bW5OYW1lOiBzdHJpbmddOiBDb2x1bW5UZXh0UHJvcGVydGllcyB9KSB7XG4gICAgdGhpcy5fY29sdW1uVGV4dFByb3BlcnRpZXNMb29rdXAgPSBjb2x1bW5UZXh0UHJvcGVydGllcztcbiAgfVxuXG4gIGdldENvbHVtblRleHRQcm9wZXJ0aWVzKGNvbHVtbklkOiBzdHJpbmcpOiBDb2x1bW5UZXh0UHJvcGVydGllcyB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbHVtblRleHRQcm9wZXJ0aWVzTG9va3VwID8gdGhpcy5fY29sdW1uVGV4dFByb3BlcnRpZXNMb29rdXBbY29sdW1uSWRdIDogdW5kZWZpbmVkO1xuICB9XG5cbiAgc3RhcnRFZGl0U2Vzc2lvbihyb3c6IFJvdyk6IEVkaXRTZXNzaW9uPFJvdz4ge1xuICAgIGNvbnN0IHJvd0lkID0gdGhpcy5pZGVudGl0eU9mKHJvdyk7XG4gICAgaWYgKHRoaXMuX3Jvd3NCZWluZ0VkaXRlZCQucXVlcnkoKS5pbmRleE9mKHJvdykgPiAtMSkge1xuICAgICAgcmV0dXJuIGxhbmcuaWxsZWdhbFN0YXRlKGBSb3cgd2l0aCBpZD0ke3Jvd0lkfSBhbHJlYWR5IGJlaW5nIGVkaXRlZGApO1xuICAgIH1cblxuICAgIC8vIHRvZG86IHBhc3MgdGhlIGZhY3RvcmllcyB0byB0aGUgZWRpdCBzZXNzaW9uIHNvIHdlIGNhbiBtYWtlIHRoZSB3aG9sZSBsb3QgcGx1Z2dhYmxlP1xuICAgIGNvbnN0IGZvcm0gPSB0aGlzLl9jcmVhdGVGb3JtKHJvdyk7XG4gICAgY29uc3Qgc2F2ZUNvbW1hbmQgPSB0aGlzLnNhdmVDb21tYW5kRmFjdG9yeS5jcmVhdGUoZm9ybSk7XG4gICAgY29uc3QgZWRpdFNlc3Npb24gPSBuZXcgRWRpdFNlc3Npb248Um93Pihyb3dJZCwgcm93LCBmb3JtLCBzYXZlQ29tbWFuZCk7XG4gICAgY29uc3QgeyB3aGVuIH0gPSBEc2wuZGlzcG9zZVdpdGgoZWRpdFNlc3Npb24pO1xuICAgIHdoZW4oZWRpdFNlc3Npb24ubGl2ZVJvd1ZhbHVlJCkuY2hhbmdlcygoZWRpdGVkVmFsdWUpID0+IHtcbiAgICAgIHRoaXMuX3Jvd3NCZWluZ0VkaXRlZCQucmVwbGFjZU9yUHVzaChlZGl0ZWRWYWx1ZSk7XG4gICAgfSwgeyBpbml0aWFsVmFsdWU6IFwidHJpZ2dlckNoYW5nZVVubGVzc05pbFwiIH0pO1xuXG4gICAgdGhpcy5fZWRpdG9yU2Vzc2lvbnMucHVzaChlZGl0U2Vzc2lvbik7XG4gICAgZWRpdFNlc3Npb24ub25EaXNwb3NlKCgpID0+IHtcbiAgICAgIHRoaXMuX3Jvd3NCZWluZ0VkaXRlZCQucmVtb3ZlKGVkaXRTZXNzaW9uLmxpdmVSb3dWYWx1ZSQudmFsdWUpO1xuICAgICAgdGhpcy5fZWRpdG9yU2Vzc2lvbnMucmVtb3ZlKGVkaXRTZXNzaW9uKTtcbiAgICB9KTtcbiAgICByZXR1cm4gZWRpdFNlc3Npb247XG4gIH1cblxuICBnZXRFZGl0U2Vzc2lvbkZvcihyb3c6IFJvdyk6IEVkaXRTZXNzaW9uPFJvdz4ge1xuICAgIHJldHVybiB0aGlzLl9lZGl0b3JTZXNzaW9uQnlSb3dJZC5nZXQodGhpcy5pZGVudGl0eU9mKHJvdykpO1xuICB9XG5cbiAgY2FuY2VsQWxsRWRpdG9yU2Vzc2lvbnMoKSB7XG4gICAgdGhpcy5fZWRpdG9yU2Vzc2lvbnMucnVuSW5UcmFuc2FjdGlvbigoZHJhZnQpID0+IHtcbiAgICAgIHRoaXMuX3Jvd3NCZWluZ0VkaXRlZCQucnVuSW5UcmFuc2FjdGlvbigoKSA9PiB7XG4gICAgICAgIGRyYWZ0LnZhbHVlLmZvckVhY2goc2Vzc2lvbiA9PiBzZXNzaW9uLmRpc3Bvc2UoKSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIGlzUm93U2VsZWN0aW9uRW5hYmxlZEZvcihjb2x1bW46IENvbHVtbk1vZGVsPFJvdz4pOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pc1Jvd1NlbGVjdGlvbkVuYWJsZWQoKSAmJiBjb2x1bW4uaXNSb3dTZWxlY3Rpb25FbmFibGVkKCk7XG4gIH1cblxuICBpc1Jvd1NlbGVjdGlvbkVuYWJsZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuaGFzVXNlclNlbGVjdGlvbk1vZGVsKCkgJiYgIXRoaXMucm93U2VsZWN0aW9uRGlzYWJsZWRPbkFsbENvbHVtbnMkLnZhbHVlO1xuICB9XG5cbiAgaGFzVXNlclNlbGVjdGlvbk1vZGVsKCkge1xuICAgIHJldHVybiAhIXRoaXMuc2VsZWN0aW9uQ29sdW1uTW9kZWw/LnNlbGVjdGlvbk1vZGVsLmdldERlbGVnYXRlKCk7XG4gIH1cblxuICBnZXRTZWxlY3Rpb25Nb2RlbCgpOiBTZWxlY3Rpb25Nb2RlbDxSb3c+IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5zZWxlY3Rpb25Db2x1bW5Nb2RlbD8uc2VsZWN0aW9uTW9kZWw7XG4gIH1cblxuICBpc0hvdmVyRW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pc1Jvd1NlbGVjdGlvbkVuYWJsZWQoKSB8fCB0aGlzLnJvd0NsaWNrTGlzdGVuZXJzLmxpc3RlbmVyQ291bnQgPiAwO1xuICB9XG5cbiAgaXNDdXJzb3JFbmFibGVkKGNvbHVtbjogQ29sdW1uTW9kZWw8Um93Pikge1xuICAgIHJldHVybiB0aGlzLmlzUm93U2VsZWN0aW9uRW5hYmxlZEZvcihjb2x1bW4pIHx8IHRoaXMucm93Q2xpY2tMaXN0ZW5lcnMubGlzdGVuZXJDb3VudCA+IDA7XG4gIH1cblxuICBzZWxlY3RSb3cocm93OiBSb3cpIHtcbiAgICB0aGlzLnNlbGVjdGlvbkNvbHVtbk1vZGVsPy5zZWxlY3RSb3cocm93KTtcbiAgfVxuXG4gIG9uUm93Q2xpY2tlZChjYWxsYmFjazogKHJvdzogUm93KSA9PiB2b2lkKTogRGlzcG9zYWJsZSB7XG4gICAgcmV0dXJuIHRoaXMucm93Q2xpY2tMaXN0ZW5lcnMuYWRkKGNhbGxiYWNrKTtcbiAgfVxuXG4gIF9ub3RpZnlDZWxsQ2xpY2tlZChjb2x1bW5Nb2RlbDogQ29sdW1uTW9kZWw8Um93Piwgcm93OiBSb3cpIHtcbiAgICBpZiAodGhpcy5pc1Jvd1NlbGVjdGlvbkVuYWJsZWRGb3IoY29sdW1uTW9kZWwpKSB7XG4gICAgICB0aGlzLnNlbGVjdFJvdyhyb3cpO1xuICAgIH1cbiAgICB0aGlzLnJvd0NsaWNrTGlzdGVuZXJzLmZpcmUobCA9PiBsKHJvdykpO1xuICB9XG59XG5cblxuVHJhY2tFeHRlcm5hbC5vbmVUaW1lQmluZGluZyhBYnN0cmFjdFRhYmxlTW9kZWwpO1xuIl19
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { isFunction } from "lodash";
|
|
1
|
+
import { isFunction } from "lodash-es";
|
|
2
2
|
import { ComponentCellRendererPortalRef } from "../renderer/cell-portal-ref";
|
|
3
3
|
import { DefaultCellRendererComponent } from "../renderer/default-cell-renderer/default-cell-renderer.component";
|
|
4
4
|
import { ColumnTextSearchFormatter } from "../search/column-text-search-formatter";
|
|
@@ -34,4 +34,4 @@ export class CustomValueColumnModel extends ColumnModel {
|
|
|
34
34
|
return this._selectRowOnClick(selectOnRowClick);
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXZhbHVlLWNvbHVtbi1tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL2NvbXBvbmVudHMvdGFibGVzL2NvbHVtbi9jdXN0b20tdmFsdWUtY29sdW1uLW1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDdkMsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDN0UsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sbUVBQW1FLENBQUM7QUFDakgsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDbkYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDbkYsT0FBTyxFQUF1QixXQUFXLEVBQW1CLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkYsTUFBTSxPQUFPLHNCQUErQixTQUFRLFdBQWdCO0lBRWxFLFlBQVksUUFBZ0IsRUFBRSxRQUE0QyxFQUFVLFFBQXlCO1FBQzNHLEtBQUssQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFEd0QsYUFBUSxHQUFSLFFBQVEsQ0FBaUI7UUFFM0csSUFBSSxDQUFDLFlBQVksQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRCxZQUFZLENBQWtDLGFBQStCLEVBQUUsd0JBQTJFO1FBQ3hKLElBQUksQ0FBQyx5QkFBeUIsQ0FDNUIsb0JBQW9CLENBQUMsWUFBWSxDQUFDLGFBQWEsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLHlCQUF5QixDQUFDLElBQUksRUFBRSxDQUFDLEVBQzVGLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FDMUIsQ0FBQztRQUNGLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLDhCQUE4QixDQUFDLGFBQWEsRUFBRSxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLEVBQUU7WUFDN0csSUFBSSxTQUFTLEVBQUU7Z0JBQ2IsSUFBSSxVQUFVLENBQUMsd0JBQXdCLENBQUMsRUFBRTtvQkFDeEMsd0JBQXdCLENBQUMsU0FBUyxDQUFDLENBQUM7aUJBQ3JDO3FCQUFNO29CQUNMLElBQUksVUFBVSxDQUFDLHdCQUF3QixFQUFFLGVBQWUsQ0FBQyxFQUFFO3dCQUN6RCx3QkFBd0IsQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUM7cUJBQ3JEO2lCQUNGO2FBQ0Y7WUFDRCxTQUFTLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBRTdDLElBQUksQ0FBQyxVQUFVLENBQUMsd0JBQXdCLENBQUMsSUFBSSxVQUFVLENBQUMsd0JBQXdCLEVBQUUsV0FBVyxDQUFDLEVBQUU7Z0JBQzlGLHdCQUF3QixDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQzlEO1FBQ0gsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNKLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVNLGdCQUFnQixDQUFDLGdCQUF5QjtRQUMvQyxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ2xELENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudFR5cGUgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL292ZXJsYXlcIjtcblxuaW1wb3J0IHsgaXNGdW5jdGlvbiB9IGZyb20gXCJsb2Rhc2gtZXNcIjtcbmltcG9ydCB7IENvbXBvbmVudENlbGxSZW5kZXJlclBvcnRhbFJlZiB9IGZyb20gXCIuLi9yZW5kZXJlci9jZWxsLXBvcnRhbC1yZWZcIjtcbmltcG9ydCB7IERlZmF1bHRDZWxsUmVuZGVyZXJDb21wb25lbnQgfSBmcm9tIFwiLi4vcmVuZGVyZXIvZGVmYXVsdC1jZWxsLXJlbmRlcmVyL2RlZmF1bHQtY2VsbC1yZW5kZXJlci5jb21wb25lbnRcIjtcbmltcG9ydCB7IENvbHVtblRleHRTZWFyY2hGb3JtYXR0ZXIgfSBmcm9tIFwiLi4vc2VhcmNoL2NvbHVtbi10ZXh0LXNlYXJjaC1mb3JtYXR0ZXJcIjtcbmltcG9ydCB7IEVuYWJsZUNlbGxUZXh0U2VhcmNoIH0gZnJvbSBcIi4uL3NlYXJjaC9lbmFibGUtY2VsbC10ZXh0LXNlYXJjaC5kZWNvcmF0b3JcIjtcbmltcG9ydCB7IENlbGxSZW5kZXJlck9wdGlvbnMsIENvbHVtbk1vZGVsLCBPbkNvbXBvbmVudEluaXQgfSBmcm9tIFwiLi9jb2x1bW4tbW9kZWxcIjtcblxuZXhwb3J0IGNsYXNzIEN1c3RvbVZhbHVlQ29sdW1uTW9kZWw8Um93LCBWPiBleHRlbmRzIENvbHVtbk1vZGVsPFJvdz4ge1xuXG4gIGNvbnN0cnVjdG9yKGNvbHVtbklkOiBzdHJpbmcsIGRlZmF1bHRzOiBDb2x1bW5Nb2RlbC5UZXh0UHJvcGVydGllc1Byb3ZpZGVyLCBwcml2YXRlIGdldFZhbHVlOiAocm93OiBSb3cpID0+IFYpIHtcbiAgICBzdXBlcihjb2x1bW5JZCwgZGVmYXVsdHMpO1xuICAgIHRoaXMuY2VsbFJlbmRlcmVyKERlZmF1bHRDZWxsUmVuZGVyZXJDb21wb25lbnQpO1xuICB9XG5cbiAgY2VsbFJlbmRlcmVyPEMgZXh0ZW5kcyB7IHZhbHVlOiBQYXJ0aWFsPFY+IH0+KGNvbXBvbmVudFR5cGU6IENvbXBvbmVudFR5cGU8Qz4sIG9uQ29tcG9uZW50SW5pdE9yT3B0aW9ucz86IENlbGxSZW5kZXJlck9wdGlvbnM8Um93LCBDPiB8IE9uQ29tcG9uZW50SW5pdDxDPik6IHRoaXMge1xuICAgIHRoaXMuY29uZmlndXJlQ29sdW1uVGV4dFNlYXJjaChcbiAgICAgIEVuYWJsZUNlbGxUZXh0U2VhcmNoLmdldEZvcm1hdHRlcihjb21wb25lbnRUeXBlLCAoKSA9PiBuZXcgQ29sdW1uVGV4dFNlYXJjaEZvcm1hdHRlci5OdWxsKCkpLFxuICAgICAgcm93ID0+IHRoaXMuZ2V0VmFsdWUocm93KVxuICAgICk7XG4gICAgdGhpcy5jb25maWd1cmVDZWxsUmVuZGVyZXIobmV3IENvbXBvbmVudENlbGxSZW5kZXJlclBvcnRhbFJlZihjb21wb25lbnRUeXBlLCAoY29tcG9uZW50LCByb3dEYXRhLCBmaXJzdFRpbWUpID0+IHtcbiAgICAgIGlmIChmaXJzdFRpbWUpIHtcbiAgICAgICAgaWYgKGlzRnVuY3Rpb24ob25Db21wb25lbnRJbml0T3JPcHRpb25zKSkge1xuICAgICAgICAgIG9uQ29tcG9uZW50SW5pdE9yT3B0aW9ucyhjb21wb25lbnQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlmIChpc0Z1bmN0aW9uKG9uQ29tcG9uZW50SW5pdE9yT3B0aW9ucz8ub25Db21wb25lbnRJbml0KSkge1xuICAgICAgICAgICAgb25Db21wb25lbnRJbml0T3JPcHRpb25zLm9uQ29tcG9uZW50SW5pdChjb21wb25lbnQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgY29tcG9uZW50LnZhbHVlID0gdGhpcy5nZXRWYWx1ZShyb3dEYXRhLnJvdyk7XG5cbiAgICAgIGlmICghaXNGdW5jdGlvbihvbkNvbXBvbmVudEluaXRPck9wdGlvbnMpICYmIGlzRnVuY3Rpb24ob25Db21wb25lbnRJbml0T3JPcHRpb25zPy5vblJvd1VwZGF0ZSkpIHtcbiAgICAgICAgb25Db21wb25lbnRJbml0T3JPcHRpb25zLm9uUm93VXBkYXRlKGNvbXBvbmVudCwgcm93RGF0YS5yb3cpO1xuICAgICAgfVxuICAgIH0pKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBzZWxlY3RSb3dPbkNsaWNrKHNlbGVjdE9uUm93Q2xpY2s6IGJvb2xlYW4pOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0Um93T25DbGljayhzZWxlY3RPblJvd0NsaWNrKTtcbiAgfVxuXG59XG4iXX0=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { assert } from "@coolon/typescript-utilities";
|
|
2
|
-
import { isFunction } from "lodash";
|
|
2
|
+
import { isFunction } from "lodash-es";
|
|
3
3
|
import { CellEditorPortalRef, ComponentCellRendererPortalRef } from "../renderer/cell-portal-ref";
|
|
4
4
|
import { DefaultCellRendererComponent } from "../renderer/default-cell-renderer/default-cell-renderer.component";
|
|
5
5
|
import { ColumnTextSearchFormatter } from "../search/column-text-search-formatter";
|
|
@@ -45,4 +45,4 @@ export class ListPropertyColumnModel extends ColumnModel {
|
|
|
45
45
|
return this._selectRowOnClick(selectRowOnClick);
|
|
46
46
|
}
|
|
47
47
|
}
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1wcm9wZXJ5LWNvbHVtbi1tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL2NvbXBvbmVudHMvdGFibGVzL2NvbHVtbi9saXN0LXByb3BlcnktY29sdW1uLW1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBR3ZDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSw4QkFBOEIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRWxHLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG1FQUFtRSxDQUFDO0FBQ2pILE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3QyxNQUFNLE9BQU8sdUJBQXFFLFNBQVEsV0FBZ0I7SUFJeEcsWUFBWSxFQUFVLEVBQVcsUUFBVyxFQUFFLFFBQTRDO1FBQ3hGLEtBQUssQ0FBQyxFQUFFLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFEVyxhQUFRLEdBQVIsUUFBUSxDQUFHO1FBRnBDLFlBQU8sR0FBcUQsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFJdkgsSUFBSSxDQUFDLFlBQVksQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRCxZQUFZLENBQUMsYUFBNEU7UUFDdkYsSUFBSSxDQUFDLHlCQUF5QixDQUM1QixvQkFBb0IsQ0FBQyxZQUFZLENBQUMsYUFBYSxFQUFFLEdBQUcsRUFBRSxDQUFDLHlCQUF5QixDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUM1SCxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQzFCLENBQUM7UUFDRixJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSw4QkFBOEIsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLEVBQUU7WUFDbEcsSUFBSSxVQUFVLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDNUMsZ0ZBQWdGO1lBQ2hGLFNBQVMsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM3QyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ0osT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBSUQsVUFBVSxDQUFvRSxNQUF3QixFQUFFLHVCQUFrRyxFQUFFLG1CQUE0QztRQUN0UCxNQUFNLFVBQVUsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDaEcsTUFBTSxXQUFXLEdBQUcsVUFBVSxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQztRQUV4RyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxtQkFBbUIsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxTQUFZLEVBQUUsV0FBNkIsRUFBRSxFQUFFO1lBQ3ZHLE1BQU0sYUFBYSxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNoRSxJQUFJLFVBQVUsRUFBRTtnQkFDZCxhQUFhLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQ3pDO1lBQ0QsU0FBUyxDQUFDLFNBQVMsR0FBRyxhQUFhLENBQUM7WUFDcEMsSUFBSSxXQUFXLEVBQUU7Z0JBQ2YsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQ3hCO1FBQ0gsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNKLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELE1BQU0sQ0FBQyxTQUEyRDtRQUNoRSxNQUFNLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxPQUFPLEdBQUcsU0FBUyxDQUFDO1FBQ3pCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVNLGdCQUFnQixDQUFDLGdCQUF5QjtRQUMvQyxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ2xELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudFR5cGUgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL292ZXJsYXlcIjtcbmltcG9ydCB7IFR5cGVzLCBWYWxpZGF0b3IgfSBmcm9tIFwiQGNvb2xvbi9wZWN0aW5cIjtcbmltcG9ydCB7IGFzc2VydCB9IGZyb20gXCJAY29vbG9uL3R5cGVzY3JpcHQtdXRpbGl0aWVzXCI7XG5pbXBvcnQgeyBpc0Z1bmN0aW9uIH0gZnJvbSBcImxvZGFzaC1lc1wiO1xuaW1wb3J0IHsgRWRpdFNlc3Npb24gfSBmcm9tIFwiLi4vZWRpdG9yL2VkaXQtc2Vzc2lvblwiO1xuaW1wb3J0IHsgQ2VsbExpc3RFZGl0b3JDb21wb25lbnQgfSBmcm9tIFwiLi4vcmVuZGVyZXIvY2VsbC1lZGl0b3JzXCI7XG5pbXBvcnQgeyBDZWxsRWRpdG9yUG9ydGFsUmVmLCBDb21wb25lbnRDZWxsUmVuZGVyZXJQb3J0YWxSZWYgfSBmcm9tIFwiLi4vcmVuZGVyZXIvY2VsbC1wb3J0YWwtcmVmXCI7XG5pbXBvcnQgeyBDZWxsUmVuZGVyZXIgfSBmcm9tIFwiLi4vcmVuZGVyZXIvY2VsbC1yZW5kZXJlclwiO1xuaW1wb3J0IHsgRGVmYXVsdENlbGxSZW5kZXJlckNvbXBvbmVudCB9IGZyb20gXCIuLi9yZW5kZXJlci9kZWZhdWx0LWNlbGwtcmVuZGVyZXIvZGVmYXVsdC1jZWxsLXJlbmRlcmVyLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgQ29sdW1uVGV4dFNlYXJjaEZvcm1hdHRlciB9IGZyb20gXCIuLi9zZWFyY2gvY29sdW1uLXRleHQtc2VhcmNoLWZvcm1hdHRlclwiO1xuaW1wb3J0IHsgRW5hYmxlQ2VsbFRleHRTZWFyY2ggfSBmcm9tIFwiLi4vc2VhcmNoL2VuYWJsZS1jZWxsLXRleHQtc2VhcmNoLmRlY29yYXRvclwiO1xuaW1wb3J0IHsgQ29sdW1uTW9kZWwgfSBmcm9tIFwiLi9jb2x1bW4tbW9kZWxcIjtcblxuZXhwb3J0IGNsYXNzIExpc3RQcm9wZXJ0eUNvbHVtbk1vZGVsPFJvdywgUCBleHRlbmRzIFR5cGVzLkFycmF5UHJvcGVydGllc09mPFJvdz4+IGV4dGVuZHMgQ29sdW1uTW9kZWw8Um93PiB7XG5cbiAgcHJpdmF0ZSBfZm9ybWF0OiAodmFsdWU6IFR5cGVzLkFycmF5RWxlbWVudFR5cGU8Um93LCBQPltdKSA9PiBhbnkgPSAodmFsdWUpID0+IHZhbHVlPy5tYXAodiA9PiB2Py50b1N0cmluZygpKS5qb2luKFwiLCBcIik7XG5cbiAgY29uc3RydWN0b3IoaWQ6IHN0cmluZywgcmVhZG9ubHkgcHJvcGVydHk6IFAsIGRlZmF1bHRzOiBDb2x1bW5Nb2RlbC5UZXh0UHJvcGVydGllc1Byb3ZpZGVyKSB7XG4gICAgc3VwZXIoaWQsIGRlZmF1bHRzKTtcbiAgICB0aGlzLmNlbGxSZW5kZXJlcihEZWZhdWx0Q2VsbFJlbmRlcmVyQ29tcG9uZW50KTtcbiAgfVxuXG4gIGNlbGxSZW5kZXJlcihjb21wb25lbnRUeXBlOiBDb21wb25lbnRUeXBlPENlbGxSZW5kZXJlcjxUeXBlcy5BcnJheUVsZW1lbnRUeXBlPFJvdywgUD5bXT4+KTogdGhpcyB7XG4gICAgdGhpcy5jb25maWd1cmVDb2x1bW5UZXh0U2VhcmNoKFxuICAgICAgRW5hYmxlQ2VsbFRleHRTZWFyY2guZ2V0Rm9ybWF0dGVyKGNvbXBvbmVudFR5cGUsICgpID0+IENvbHVtblRleHRTZWFyY2hGb3JtYXR0ZXIuZm9yRm9ybWF0dGVyKHZhbHVlID0+IHRoaXMuX2Zvcm1hdCh2YWx1ZSkpKSxcbiAgICAgIHJvdyA9PiByb3dbdGhpcy5wcm9wZXJ0eV1cbiAgICApO1xuICAgIHRoaXMuY29uZmlndXJlQ2VsbFJlbmRlcmVyKG5ldyBDb21wb25lbnRDZWxsUmVuZGVyZXJQb3J0YWxSZWYoY29tcG9uZW50VHlwZSwgKGNvbXBvbmVudCwgcm93RGF0YSkgPT4ge1xuICAgICAgbGV0IHJvd0VsZW1lbnQgPSByb3dEYXRhLnJvd1t0aGlzLnByb3BlcnR5XTtcbiAgICAgIC8vIEB0cy1pZ25vcmUgU3RhcnRlZCBjb21wbGFpbmluZyBpbiB0cyA0LjUuLiBidXQgSSB0aGluayBteSBsb2dpYyBpcyBjb3JyZWN0Li4uXG4gICAgICBjb21wb25lbnQudmFsdWUgPSB0aGlzLl9mb3JtYXQocm93RWxlbWVudCk7XG4gICAgfSkpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgY2VsbEVkaXRvcjxDIGV4dGVuZHMgQ2VsbExpc3RFZGl0b3JDb21wb25lbnQ8VHlwZXMuQXJyYXlFbGVtZW50VHlwZTxSb3csIFA+Pj4oZWRpdG9yOiBDb21wb25lbnRUeXBlPEM+LCB2YWxpZGF0b3JzPzogVmFsaWRhdG9yPFR5cGVzLkFycmF5RWxlbWVudFR5cGU8Um93LCBQPltdPltdLCBpbml0aWFsaXNlQ29tcG9uZW50PzogKGNvbXBvbmVudDogQykgPT4gdm9pZCk6IHRoaXNcbiAgY2VsbEVkaXRvcjxDIGV4dGVuZHMgQ2VsbExpc3RFZGl0b3JDb21wb25lbnQ8VHlwZXMuQXJyYXlFbGVtZW50VHlwZTxSb3csIFA+Pj4oZWRpdG9yOiBDb21wb25lbnRUeXBlPEM+LCBpbml0aWFsaXNlQ29tcG9uZW50PzogKGNvbXBvbmVudDogQykgPT4gdm9pZCk6IHRoaXNcbiAgY2VsbEVkaXRvcjxDIGV4dGVuZHMgQ2VsbExpc3RFZGl0b3JDb21wb25lbnQ8VHlwZXMuQXJyYXlFbGVtZW50VHlwZTxSb3csIFA+Pj4oZWRpdG9yOiBDb21wb25lbnRUeXBlPEM+LCB2YWxpZGF0b3JzT3JJbml0aWFsaXNlcj86IFZhbGlkYXRvcjxUeXBlcy5BcnJheUVsZW1lbnRUeXBlPFJvdywgUD5bXT5bXSB8ICgoY29tcG9uZW50OiBDKSA9PiB2b2lkKSwgaW5pdGlhbGlzZUNvbXBvbmVudD86IChjb21wb25lbnQ6IEMpID0+IHZvaWQpOiB0aGlzIHtcbiAgICBjb25zdCB2YWxpZGF0b3JzID0gQXJyYXkuaXNBcnJheSh2YWxpZGF0b3JzT3JJbml0aWFsaXNlcikgPyB2YWxpZGF0b3JzT3JJbml0aWFsaXNlciA6IHVuZGVmaW5lZDtcbiAgICBjb25zdCBpbml0aWFsaXNlciA9IGlzRnVuY3Rpb24odmFsaWRhdG9yc09ySW5pdGlhbGlzZXIpID8gdmFsaWRhdG9yc09ySW5pdGlhbGlzZXIgOiBpbml0aWFsaXNlQ29tcG9uZW50O1xuXG4gICAgdGhpcy5jb25maWd1cmVDZWxsRWRpdG9yKG5ldyBDZWxsRWRpdG9yUG9ydGFsUmVmKGVkaXRvciwgKGNvbXBvbmVudDogQywgZWRpdFNlc3Npb246IEVkaXRTZXNzaW9uPFJvdz4pID0+IHtcbiAgICAgIGNvbnN0IGZvcm1MaXN0TW9kZWwgPSBlZGl0U2Vzc2lvbi5mb3JtLnBsdWNrTGlzdCh0aGlzLnByb3BlcnR5KTtcbiAgICAgIGlmICh2YWxpZGF0b3JzKSB7XG4gICAgICAgIGZvcm1MaXN0TW9kZWwudmFsaWRhdGVVc2luZyh2YWxpZGF0b3JzKTtcbiAgICAgIH1cbiAgICAgIGNvbXBvbmVudC5saXN0TW9kZWwgPSBmb3JtTGlzdE1vZGVsO1xuICAgICAgaWYgKGluaXRpYWxpc2VyKSB7XG4gICAgICAgIGluaXRpYWxpc2VyKGNvbXBvbmVudCk7XG4gICAgICB9XG4gICAgfSkpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgZm9ybWF0KGZvcm1hdHRlcjogKHZhbHVlOiBUeXBlcy5BcnJheUVsZW1lbnRUeXBlPFJvdywgUD5bXSkgPT4gYW55KTogdGhpcyB7XG4gICAgYXNzZXJ0LmlzRnVuY3Rpb24oZm9ybWF0dGVyKTtcbiAgICB0aGlzLl9mb3JtYXQgPSBmb3JtYXR0ZXI7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0Um93T25DbGljayhzZWxlY3RSb3dPbkNsaWNrOiBib29sZWFuKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdFJvd09uQ2xpY2soc2VsZWN0Um93T25DbGljayk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { assert } from "@coolon/typescript-utilities";
|
|
2
|
-
import { isFunction } from "lodash";
|
|
2
|
+
import { isFunction } from "lodash-es";
|
|
3
3
|
import { CellEditorPortalRef, ComponentCellRendererPortalRef } from "../renderer/cell-portal-ref";
|
|
4
4
|
import { DefaultCellRendererComponent } from "../renderer/default-cell-renderer/default-cell-renderer.component";
|
|
5
5
|
import { ColumnTextSearchFormatter } from "../search/column-text-search-formatter";
|
|
@@ -89,4 +89,4 @@ export class PropertyColumnModel extends ColumnModel {
|
|
|
89
89
|
return this._selectRowOnClick(selectOnRowClick);
|
|
90
90
|
}
|
|
91
91
|
}
|
|
92
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktY29sdW1uLW1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvY29tcG9uZW50cy90YWJsZXMvY29sdW1uL3Byb3BlcnR5LWNvbHVtbi1tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUlwQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsOEJBQThCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUVsRyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxtRUFBbUUsQ0FBQztBQUNqSCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNuRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUNuRixPQUFPLEVBQXVCLFdBQVcsRUFBK0MsTUFBTSxnQkFBZ0IsQ0FBQztBQUUvRyxNQUFNLE9BQU8sbUJBQWlFLFNBQVEsV0FBZ0I7SUFJcEcsWUFBWSxFQUFVLEVBQVcsUUFBVyxFQUFFLFFBQTRDO1FBQ3hGLEtBQUssQ0FBQyxFQUFFLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFEVyxhQUFRLEdBQVIsUUFBUSxDQUFHO1FBRnBDLFlBQU8sR0FBMkIsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsQ0FBQztRQUlyRSxJQUFJLENBQUMsWUFBWSxDQUFDLDRCQUE0QixDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUlELFlBQVksQ0FBaUMsYUFBK0IsRUFBRSx3QkFBMkU7UUFDdkosSUFBSSxDQUFDLHlCQUF5QixDQUM1QixvQkFBb0IsQ0FBQyxZQUFZLENBQUMsYUFBYSxFQUFFLEdBQUcsRUFBRSxDQUFDLHlCQUF5QixDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUM1SCxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQzFCLENBQUM7UUFDRixJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSw4QkFBOEIsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxFQUFFO1lBQzdHLElBQUksU0FBUyxFQUFFO2dCQUNiLElBQUksVUFBVSxDQUFDLHdCQUF3QixDQUFDLEVBQUU7b0JBQ3hDLHdCQUF3QixDQUFDLFNBQVMsQ0FBQyxDQUFDO2lCQUNyQztxQkFBTTtvQkFDTCxJQUFJLFVBQVUsQ0FBQyx3QkFBd0IsRUFBRSxlQUFlLENBQUMsRUFBRTt3QkFDekQsd0JBQXdCLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDO3FCQUNyRDtpQkFDRjthQUNGO1lBQ0QsU0FBUyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDN0QsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNKLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELG9CQUFvQixDQUF5QyxhQUErQixFQUFFLE9BQThDO1FBQzFJLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILG1CQUFtQixDQUF5QyxhQUErQixFQUFFLE9BQThDO1FBRXpJLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLDhCQUE4QixDQUFDLGFBQWEsRUFBRSxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLEVBQUU7WUFFN0csbUVBQW1FO1lBQ25FLHVFQUF1RTtZQUN2RSxTQUFTLENBQUMsV0FBVyxDQUFDLGlDQUFpQyxDQUFDLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQztZQUN2RSxJQUFJLG1CQUFtQixHQUFHLEtBQUssQ0FBQztZQUVoQyxJQUFJLFNBQVMsRUFBRTtnQkFDYixJQUFJLFVBQVUsQ0FBQyxPQUFPLEVBQUUsZUFBZSxDQUFDLEVBQUU7b0JBQ3hDLE9BQU8sQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUM7aUJBQ3BDO2dCQUNELDRCQUE0QjtnQkFDNUIsU0FBUyxDQUFDLGFBQWEsQ0FBQyxDQUFDLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRTtvQkFDbEMsSUFBSSxDQUFDLG1CQUFtQixFQUFFO3dCQUN4QixPQUFPLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsaUNBQWlDLENBQUMsRUFBRSxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUM7cUJBQ3hGO2dCQUNILENBQUMsQ0FBQyxDQUFDO2FBRUo7WUFFRCxpR0FBaUc7WUFDakcsaURBQWlEO1lBQ2pELG1CQUFtQixHQUFHLElBQUksQ0FBQztZQUMzQixTQUFTLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQzdDLG1CQUFtQixHQUFHLEtBQUssQ0FBQztZQUU1QixJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLFVBQVUsQ0FBQyxPQUFPLEVBQUUsV0FBVyxDQUFDLEVBQUU7Z0JBQzVELE9BQU8sQ0FBQyxXQUFXLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUM3QztRQUVILENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDSixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFJRCxVQUFVLENBQXdDLE1BQXdCLEVBQUUsdUJBQXdFLEVBQUUsZUFBd0M7UUFDNUwsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQ2hHLE1BQU0sV0FBVyxHQUFHLFVBQVUsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDO1FBQ3BHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLG1CQUFtQixDQUFDLE1BQU0sRUFBRSxDQUFDLFNBQVksRUFBRSxXQUE2QixFQUFFLEVBQUU7WUFDdkcsTUFBTSxjQUFjLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQzdELElBQUksVUFBVSxFQUFFO2dCQUNkLGNBQWMsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7YUFDMUM7WUFDRCxTQUFTLENBQUMsVUFBVSxHQUFHLGNBQWMsQ0FBQztZQUN0QyxJQUFJLFdBQVcsRUFBRTtnQkFDZixXQUFXLENBQUMsU0FBUyxDQUFDLENBQUM7YUFDeEI7UUFDSCxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ0osT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsTUFBTSxDQUFDLFNBQWlDO1FBQ3RDLE1BQU0sQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxTQUFTLENBQUM7UUFDekIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU0sZ0JBQWdCLENBQUMsZ0JBQXlCO1FBQy9DLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDbEQsQ0FBQztDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50VHlwZSB9IGZyb20gXCJAYW5ndWxhci9jZGsvb3ZlcmxheVwiO1xuaW1wb3J0IHsgVHlwZXMsIFZhbGlkYXRvciB9IGZyb20gXCJAY29vbG9uL3BlY3RpblwiO1xuaW1wb3J0IHsgYXNzZXJ0IH0gZnJvbSBcIkBjb29sb24vdHlwZXNjcmlwdC11dGlsaXRpZXNcIjtcbmltcG9ydCB7IGlzRnVuY3Rpb24gfSBmcm9tIFwibG9kYXNoXCI7XG5pbXBvcnQgeyBFZGl0U2Vzc2lvbiB9IGZyb20gXCIuLi9lZGl0b3IvZWRpdC1zZXNzaW9uXCI7XG5pbXBvcnQgeyBFZGl0YWJsZUNlbGxSZW5kZXJlciB9IGZyb20gXCIuLi9lZGl0b3IvZWRpdGFibGUtY2VsbC1yZW5kZXJlclwiO1xuaW1wb3J0IHsgQ2VsbEVkaXRvckNvbXBvbmVudCB9IGZyb20gXCIuLi9yZW5kZXJlci9jZWxsLWVkaXRvcnNcIjtcbmltcG9ydCB7IENlbGxFZGl0b3JQb3J0YWxSZWYsIENvbXBvbmVudENlbGxSZW5kZXJlclBvcnRhbFJlZiB9IGZyb20gXCIuLi9yZW5kZXJlci9jZWxsLXBvcnRhbC1yZWZcIjtcbmltcG9ydCB7IENlbGxSZW5kZXJlciB9IGZyb20gXCIuLi9yZW5kZXJlci9jZWxsLXJlbmRlcmVyXCI7XG5pbXBvcnQgeyBEZWZhdWx0Q2VsbFJlbmRlcmVyQ29tcG9uZW50IH0gZnJvbSBcIi4uL3JlbmRlcmVyL2RlZmF1bHQtY2VsbC1yZW5kZXJlci9kZWZhdWx0LWNlbGwtcmVuZGVyZXIuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBDb2x1bW5UZXh0U2VhcmNoRm9ybWF0dGVyIH0gZnJvbSBcIi4uL3NlYXJjaC9jb2x1bW4tdGV4dC1zZWFyY2gtZm9ybWF0dGVyXCI7XG5pbXBvcnQgeyBFbmFibGVDZWxsVGV4dFNlYXJjaCB9IGZyb20gXCIuLi9zZWFyY2gvZW5hYmxlLWNlbGwtdGV4dC1zZWFyY2guZGVjb3JhdG9yXCI7XG5pbXBvcnQgeyBDZWxsUmVuZGVyZXJPcHRpb25zLCBDb2x1bW5Nb2RlbCwgTXV0YWJsZUNlbGxSZW5kZXJlck9wdGlvbnMsIE9uQ29tcG9uZW50SW5pdCB9IGZyb20gXCIuL2NvbHVtbi1tb2RlbFwiO1xuXG5leHBvcnQgY2xhc3MgUHJvcGVydHlDb2x1bW5Nb2RlbDxSb3csIFAgZXh0ZW5kcyBUeXBlcy5WYWx1ZVByb3BlcnRpZXNPZjxSb3c+PiBleHRlbmRzIENvbHVtbk1vZGVsPFJvdz4ge1xuXG4gIHByaXZhdGUgX2Zvcm1hdDogKHZhbHVlOiBSb3dbUF0pID0+IGFueSA9ICh2YWx1ZSkgPT4gdmFsdWU/LnRvU3RyaW5nKCk7XG5cbiAgY29uc3RydWN0b3IoaWQ6IHN0cmluZywgcmVhZG9ubHkgcHJvcGVydHk6IFAsIGRlZmF1bHRzOiBDb2x1bW5Nb2RlbC5UZXh0UHJvcGVydGllc1Byb3ZpZGVyKSB7XG4gICAgc3VwZXIoaWQsIGRlZmF1bHRzKTtcbiAgICB0aGlzLmNlbGxSZW5kZXJlcihEZWZhdWx0Q2VsbFJlbmRlcmVyQ29tcG9uZW50KTtcbiAgfVxuXG4gIGNlbGxSZW5kZXJlcjxFIGV4dGVuZHMgQ2VsbFJlbmRlcmVyPFJvd1tQXT4+KGNvbXBvbmVudFR5cGU6IENvbXBvbmVudFR5cGU8RT4sIG9wdGlvbnM/OiBDZWxsUmVuZGVyZXJPcHRpb25zPFJvdywgRT4pOiB0aGlzXG4gIGNlbGxSZW5kZXJlcjxFIGV4dGVuZHMgQ2VsbFJlbmRlcmVyPFJvd1tQXT4+KGNvbXBvbmVudFR5cGU6IENvbXBvbmVudFR5cGU8RT4sIG9uQ29tcG9uZW50SW5pdD86IE9uQ29tcG9uZW50SW5pdDxFPik6IHRoaXNcbiAgY2VsbFJlbmRlcmVyPEUgZXh0ZW5kcyBDZWxsUmVuZGVyZXI8Um93W1BdPj4oY29tcG9uZW50VHlwZTogQ29tcG9uZW50VHlwZTxFPiwgb25Db21wb25lbnRJbml0T3JPcHRpb25zPzogQ2VsbFJlbmRlcmVyT3B0aW9uczxSb3csIEU+IHwgT25Db21wb25lbnRJbml0PEU+KTogdGhpcyB7XG4gICAgdGhpcy5jb25maWd1cmVDb2x1bW5UZXh0U2VhcmNoKFxuICAgICAgRW5hYmxlQ2VsbFRleHRTZWFyY2guZ2V0Rm9ybWF0dGVyKGNvbXBvbmVudFR5cGUsICgpID0+IENvbHVtblRleHRTZWFyY2hGb3JtYXR0ZXIuZm9yRm9ybWF0dGVyKHZhbHVlID0+IHRoaXMuX2Zvcm1hdCh2YWx1ZSkpKSxcbiAgICAgIHJvdyA9PiByb3dbdGhpcy5wcm9wZXJ0eV1cbiAgICApO1xuICAgIHRoaXMuY29uZmlndXJlQ2VsbFJlbmRlcmVyKG5ldyBDb21wb25lbnRDZWxsUmVuZGVyZXJQb3J0YWxSZWYoY29tcG9uZW50VHlwZSwgKGNvbXBvbmVudCwgcm93RGF0YSwgZmlyc3RUaW1lKSA9PiB7XG4gICAgICBpZiAoZmlyc3RUaW1lKSB7XG4gICAgICAgIGlmIChpc0Z1bmN0aW9uKG9uQ29tcG9uZW50SW5pdE9yT3B0aW9ucykpIHtcbiAgICAgICAgICBvbkNvbXBvbmVudEluaXRPck9wdGlvbnMoY29tcG9uZW50KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZiAoaXNGdW5jdGlvbihvbkNvbXBvbmVudEluaXRPck9wdGlvbnM/Lm9uQ29tcG9uZW50SW5pdCkpIHtcbiAgICAgICAgICAgIG9uQ29tcG9uZW50SW5pdE9yT3B0aW9ucy5vbkNvbXBvbmVudEluaXQoY29tcG9uZW50KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGNvbXBvbmVudC52YWx1ZSA9IHRoaXMuX2Zvcm1hdChyb3dEYXRhLnJvd1t0aGlzLnByb3BlcnR5XSk7XG4gICAgfSkpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgbGl2ZUVkaXRDZWxsUmVuZGVyZXI8RSBleHRlbmRzIEVkaXRhYmxlQ2VsbFJlbmRlcmVyPFJvd1tQXT4+KGNvbXBvbmVudFR5cGU6IENvbXBvbmVudFR5cGU8RT4sIG9wdGlvbnM6IE11dGFibGVDZWxsUmVuZGVyZXJPcHRpb25zPFJvdywgRSwgUD4pOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5tdXRhYmxlQ2VsbFJlbmRlcmVyKGNvbXBvbmVudFR5cGUsIG9wdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIERlcHJlY2F0ZWQuICBVc2UgI2xpdmVFZGl0Q2VsbFJlbmRlcmVyIGluc3RlYWQuXG4gICAqIEBwYXJhbSBjb21wb25lbnRUeXBlXG4gICAqIEBwYXJhbSBvcHRpb25zXG4gICAqL1xuICBtdXRhYmxlQ2VsbFJlbmRlcmVyPEUgZXh0ZW5kcyBFZGl0YWJsZUNlbGxSZW5kZXJlcjxSb3dbUF0+Pihjb21wb25lbnRUeXBlOiBDb21wb25lbnRUeXBlPEU+LCBvcHRpb25zOiBNdXRhYmxlQ2VsbFJlbmRlcmVyT3B0aW9uczxSb3csIEUsIFA+KTogdGhpcyB7XG5cbiAgICB0aGlzLmNvbmZpZ3VyZUNlbGxSZW5kZXJlcihuZXcgQ29tcG9uZW50Q2VsbFJlbmRlcmVyUG9ydGFsUmVmKGNvbXBvbmVudFR5cGUsIChjb21wb25lbnQsIHJvd0RhdGEsIGZpcnN0VGltZSkgPT4ge1xuXG4gICAgICAvLyBrZWVwIGEgbG9jYWwgY29weSBtb3N0IHJlY2VudCByb3cgdmFsdWUgc28gaXQncyBhdmFpbGFibGUgdG8gdGVoXG4gICAgICAvLyBlZGl0IGNhbGxiYWNrIHdpdGhvdXQgaGF2aW5nIHRvIGFkZC9yZW1vdmUgc3Vic2NyaWJlcnMgYWxsIHRoZSB0aW1lLlxuICAgICAgY29tcG9uZW50W0NvbHVtbk1vZGVsLkNFTExfUkVOREVSRVJfQ09NUE9ORU5UX1JPV19DQUNIRV0gPSByb3dEYXRhLnJvdztcbiAgICAgIGxldCBkaXNhYmxlRWRpdENhbGxiYWNrID0gZmFsc2U7XG5cbiAgICAgIGlmIChmaXJzdFRpbWUpIHtcbiAgICAgICAgaWYgKGlzRnVuY3Rpb24ob3B0aW9ucz8ub25Db21wb25lbnRJbml0KSkge1xuICAgICAgICAgIG9wdGlvbnMub25Db21wb25lbnRJbml0KGNvbXBvbmVudCk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gaW5zdGFsbCBvdXIgZWRpdCBjYWxsYmFja1xuICAgICAgICBjb21wb25lbnQub25WYWx1ZUVkaXRlZCgoaXMsIHdhcykgPT4ge1xuICAgICAgICAgIGlmICghZGlzYWJsZUVkaXRDYWxsYmFjaykge1xuICAgICAgICAgICAgb3B0aW9ucy5vblZhbHVlRWRpdChjb21wb25lbnRbQ29sdW1uTW9kZWwuQ0VMTF9SRU5ERVJFUl9DT01QT05FTlRfUk9XX0NBQ0hFXSwgaXMsIHdhcyk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgfVxuXG4gICAgICAvLyBub3cgcHVzaCB0aGUgdmFsdWUgdGhlIGNvbXBvbmVudCBhbmQgZGlzYWJsZSB0aGUgY2FsbGJhY2sganVzdCBpbmNhc2UgdGhlIGNvbXBvbmVudCBtaXNiZWhhdmVzXG4gICAgICAvLyBhbmQgZmlyZXMgYSB2YWx1ZSBjaGFuZ2UgZHVyaW5nIHRoZSBvcGVyYXRpb24uXG4gICAgICBkaXNhYmxlRWRpdENhbGxiYWNrID0gdHJ1ZTtcbiAgICAgIGNvbXBvbmVudC52YWx1ZSA9IHJvd0RhdGEucm93W3RoaXMucHJvcGVydHldO1xuICAgICAgZGlzYWJsZUVkaXRDYWxsYmFjayA9IGZhbHNlO1xuXG4gICAgICBpZiAoIWlzRnVuY3Rpb24ob3B0aW9ucykgJiYgaXNGdW5jdGlvbihvcHRpb25zPy5vblJvd1VwZGF0ZSkpIHtcbiAgICAgICAgb3B0aW9ucy5vblJvd1VwZGF0ZShjb21wb25lbnQsIHJvd0RhdGEucm93KTtcbiAgICAgIH1cblxuICAgIH0pKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIGNlbGxFZGl0b3I8RSBleHRlbmRzIENlbGxFZGl0b3JDb21wb25lbnQ8Um93W1BdPj4oZWRpdG9yOiBDb21wb25lbnRUeXBlPEU+LCB2YWxpZGF0b3JzPzogVmFsaWRhdG9yPFJvd1tQXT5bXSwgaW5pdGlhbGlzZUNvbXBvbmVudD86IChjb21wb25lbnQ6IEUpID0+IHZvaWQpOiB0aGlzXG4gIGNlbGxFZGl0b3I8RSBleHRlbmRzIENlbGxFZGl0b3JDb21wb25lbnQ8Um93W1BdPj4oZWRpdG9yOiBDb21wb25lbnRUeXBlPEU+LCBpbml0aWFsaXNlQ29tcG9uZW50PzogKGNvbXBvbmVudDogRSkgPT4gdm9pZCk6IHRoaXNcbiAgY2VsbEVkaXRvcjxFIGV4dGVuZHMgQ2VsbEVkaXRvckNvbXBvbmVudDxSb3dbUF0+PihlZGl0b3I6IENvbXBvbmVudFR5cGU8RT4sIHZhbGlkYXRvcnNPckluaXRpYWxpc2VyPzogVmFsaWRhdG9yPFJvd1tQXT5bXSB8ICgoY29tcG9uZW50OiBFKSA9PiB2b2lkKSwgb25Db21wb25lbnRJbml0PzogKGNvbXBvbmVudDogRSkgPT4gdm9pZCk6IHRoaXMge1xuICAgIGNvbnN0IHZhbGlkYXRvcnMgPSBBcnJheS5pc0FycmF5KHZhbGlkYXRvcnNPckluaXRpYWxpc2VyKSA/IHZhbGlkYXRvcnNPckluaXRpYWxpc2VyIDogdW5kZWZpbmVkO1xuICAgIGNvbnN0IGluaXRpYWxpc2VyID0gaXNGdW5jdGlvbih2YWxpZGF0b3JzT3JJbml0aWFsaXNlcikgPyB2YWxpZGF0b3JzT3JJbml0aWFsaXNlciA6IG9uQ29tcG9uZW50SW5pdDtcbiAgICB0aGlzLmNvbmZpZ3VyZUNlbGxFZGl0b3IobmV3IENlbGxFZGl0b3JQb3J0YWxSZWYoZWRpdG9yLCAoY29tcG9uZW50OiBFLCBlZGl0U2Vzc2lvbjogRWRpdFNlc3Npb248Um93PikgPT4ge1xuICAgICAgY29uc3QgZm9ybVZhbHVlTW9kZWwgPSBlZGl0U2Vzc2lvbi5mb3JtLnBsdWNrKHRoaXMucHJvcGVydHkpO1xuICAgICAgaWYgKHZhbGlkYXRvcnMpIHtcbiAgICAgICAgZm9ybVZhbHVlTW9kZWwudmFsaWRhdGVVc2luZyh2YWxpZGF0b3JzKTtcbiAgICAgIH1cbiAgICAgIGNvbXBvbmVudC52YWx1ZU1vZGVsID0gZm9ybVZhbHVlTW9kZWw7XG4gICAgICBpZiAoaW5pdGlhbGlzZXIpIHtcbiAgICAgICAgaW5pdGlhbGlzZXIoY29tcG9uZW50KTtcbiAgICAgIH1cbiAgICB9KSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBmb3JtYXQoZm9ybWF0dGVyOiAodmFsdWU6IFJvd1tQXSkgPT4gYW55KTogdGhpcyB7XG4gICAgYXNzZXJ0LmlzRnVuY3Rpb24oZm9ybWF0dGVyKTtcbiAgICB0aGlzLl9mb3JtYXQgPSBmb3JtYXR0ZXI7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0Um93T25DbGljayhzZWxlY3RPblJvd0NsaWNrOiBib29sZWFuKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdFJvd09uQ2xpY2soc2VsZWN0T25Sb3dDbGljayk7XG4gIH1cblxufVxuIl19
|
|
92
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktY29sdW1uLW1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvY29tcG9uZW50cy90YWJsZXMvY29sdW1uL3Byb3BlcnR5LWNvbHVtbi1tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUl2QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsOEJBQThCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUVsRyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxtRUFBbUUsQ0FBQztBQUNqSCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNuRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUNuRixPQUFPLEVBQXVCLFdBQVcsRUFBK0MsTUFBTSxnQkFBZ0IsQ0FBQztBQUUvRyxNQUFNLE9BQU8sbUJBQWlFLFNBQVEsV0FBZ0I7SUFJcEcsWUFBWSxFQUFVLEVBQVcsUUFBVyxFQUFFLFFBQTRDO1FBQ3hGLEtBQUssQ0FBQyxFQUFFLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFEVyxhQUFRLEdBQVIsUUFBUSxDQUFHO1FBRnBDLFlBQU8sR0FBMkIsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsQ0FBQztRQUlyRSxJQUFJLENBQUMsWUFBWSxDQUFDLDRCQUE0QixDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUlELFlBQVksQ0FBaUMsYUFBK0IsRUFBRSx3QkFBMkU7UUFDdkosSUFBSSxDQUFDLHlCQUF5QixDQUM1QixvQkFBb0IsQ0FBQyxZQUFZLENBQUMsYUFBYSxFQUFFLEdBQUcsRUFBRSxDQUFDLHlCQUF5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UyxDQUFDO1FBQ2hHLE1BQU0sV0FBVyxHQUFHLFVBQVUsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDO1FBQ3BHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLG1CQUFtQixDQUFDLE1BQU0sRUFBRSxDQUFDLFNBQVksRUFBRSxXQUE2QixFQUFFLEVBQUU7WUFDdkcsTUFBTSxjQUFjLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQzdELElBQUksVUFBVSxFQUFFO2dCQUNkLGNBQWMsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7YUFDMUM7WUFDRCxTQUFTLENBQUMsVUFBVSxHQUFHLGNBQWMsQ0FBQztZQUN0QyxJQUFJLFdBQVcsRUFBRTtnQkFDZixXQUFXLENBQUMsU0FBUyxDQUFDLENBQUM7YUFDeEI7UUFDSCxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ0osT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsTUFBTSxDQUFDLFNBQWlDO1FBQ3RDLE1BQU0sQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxTQUFTLENBQUM7UUFDekIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU0sZ0JBQWdCLENBQUMsZ0JBQXlCO1FBQy9DLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDbEQsQ0FBQztDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50VHlwZSB9IGZyb20gXCJAYW5ndWxhci9jZGsvb3ZlcmxheVwiO1xuaW1wb3J0IHsgVHlwZXMsIFZhbGlkYXRvciB9IGZyb20gXCJAY29vbG9uL3BlY3RpblwiO1xuaW1wb3J0IHsgYXNzZXJ0IH0gZnJvbSBcIkBjb29sb24vdHlwZXNjcmlwdC11dGlsaXRpZXNcIjtcbmltcG9ydCB7IGlzRnVuY3Rpb24gfSBmcm9tIFwibG9kYXNoLWVzXCI7XG5pbXBvcnQgeyBFZGl0U2Vzc2lvbiB9IGZyb20gXCIuLi9lZGl0b3IvZWRpdC1zZXNzaW9uXCI7XG5pbXBvcnQgeyBFZGl0YWJsZUNlbGxSZW5kZXJlciB9IGZyb20gXCIuLi9lZGl0b3IvZWRpdGFibGUtY2VsbC1yZW5kZXJlclwiO1xuaW1wb3J0IHsgQ2VsbEVkaXRvckNvbXBvbmVudCB9IGZyb20gXCIuLi9yZW5kZXJlci9jZWxsLWVkaXRvcnNcIjtcbmltcG9ydCB7IENlbGxFZGl0b3JQb3J0YWxSZWYsIENvbXBvbmVudENlbGxSZW5kZXJlclBvcnRhbFJlZiB9IGZyb20gXCIuLi9yZW5kZXJlci9jZWxsLXBvcnRhbC1yZWZcIjtcbmltcG9ydCB7IENlbGxSZW5kZXJlciB9IGZyb20gXCIuLi9yZW5kZXJlci9jZWxsLXJlbmRlcmVyXCI7XG5pbXBvcnQgeyBEZWZhdWx0Q2VsbFJlbmRlcmVyQ29tcG9uZW50IH0gZnJvbSBcIi4uL3JlbmRlcmVyL2RlZmF1bHQtY2VsbC1yZW5kZXJlci9kZWZhdWx0LWNlbGwtcmVuZGVyZXIuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBDb2x1bW5UZXh0U2VhcmNoRm9ybWF0dGVyIH0gZnJvbSBcIi4uL3NlYXJjaC9jb2x1bW4tdGV4dC1zZWFyY2gtZm9ybWF0dGVyXCI7XG5pbXBvcnQgeyBFbmFibGVDZWxsVGV4dFNlYXJjaCB9IGZyb20gXCIuLi9zZWFyY2gvZW5hYmxlLWNlbGwtdGV4dC1zZWFyY2guZGVjb3JhdG9yXCI7XG5pbXBvcnQgeyBDZWxsUmVuZGVyZXJPcHRpb25zLCBDb2x1bW5Nb2RlbCwgTXV0YWJsZUNlbGxSZW5kZXJlck9wdGlvbnMsIE9uQ29tcG9uZW50SW5pdCB9IGZyb20gXCIuL2NvbHVtbi1tb2RlbFwiO1xuXG5leHBvcnQgY2xhc3MgUHJvcGVydHlDb2x1bW5Nb2RlbDxSb3csIFAgZXh0ZW5kcyBUeXBlcy5WYWx1ZVByb3BlcnRpZXNPZjxSb3c+PiBleHRlbmRzIENvbHVtbk1vZGVsPFJvdz4ge1xuXG4gIHByaXZhdGUgX2Zvcm1hdDogKHZhbHVlOiBSb3dbUF0pID0+IGFueSA9ICh2YWx1ZSkgPT4gdmFsdWU/LnRvU3RyaW5nKCk7XG5cbiAgY29uc3RydWN0b3IoaWQ6IHN0cmluZywgcmVhZG9ubHkgcHJvcGVydHk6IFAsIGRlZmF1bHRzOiBDb2x1bW5Nb2RlbC5UZXh0UHJvcGVydGllc1Byb3ZpZGVyKSB7XG4gICAgc3VwZXIoaWQsIGRlZmF1bHRzKTtcbiAgICB0aGlzLmNlbGxSZW5kZXJlcihEZWZhdWx0Q2VsbFJlbmRlcmVyQ29tcG9uZW50KTtcbiAgfVxuXG4gIGNlbGxSZW5kZXJlcjxFIGV4dGVuZHMgQ2VsbFJlbmRlcmVyPFJvd1tQXT4+KGNvbXBvbmVudFR5cGU6IENvbXBvbmVudFR5cGU8RT4sIG9wdGlvbnM/OiBDZWxsUmVuZGVyZXJPcHRpb25zPFJvdywgRT4pOiB0aGlzXG4gIGNlbGxSZW5kZXJlcjxFIGV4dGVuZHMgQ2VsbFJlbmRlcmVyPFJvd1tQXT4+KGNvbXBvbmVudFR5cGU6IENvbXBvbmVudFR5cGU8RT4sIG9uQ29tcG9uZW50SW5pdD86IE9uQ29tcG9uZW50SW5pdDxFPik6IHRoaXNcbiAgY2VsbFJlbmRlcmVyPEUgZXh0ZW5kcyBDZWxsUmVuZGVyZXI8Um93W1BdPj4oY29tcG9uZW50VHlwZTogQ29tcG9uZW50VHlwZTxFPiwgb25Db21wb25lbnRJbml0T3JPcHRpb25zPzogQ2VsbFJlbmRlcmVyT3B0aW9uczxSb3csIEU+IHwgT25Db21wb25lbnRJbml0PEU+KTogdGhpcyB7XG4gICAgdGhpcy5jb25maWd1cmVDb2x1bW5UZXh0U2VhcmNoKFxuICAgICAgRW5hYmxlQ2VsbFRleHRTZWFyY2guZ2V0Rm9ybWF0dGVyKGNvbXBvbmVudFR5cGUsICgpID0+IENvbHVtblRleHRTZWFyY2hGb3JtYXR0ZXIuZm9yRm9ybWF0dGVyKHZhbHVlID0+IHRoaXMuX2Zvcm1hdCh2YWx1ZSkpKSxcbiAgICAgIHJvdyA9PiByb3dbdGhpcy5wcm9wZXJ0eV1cbiAgICApO1xuICAgIHRoaXMuY29uZmlndXJlQ2VsbFJlbmRlcmVyKG5ldyBDb21wb25lbnRDZWxsUmVuZGVyZXJQb3J0YWxSZWYoY29tcG9uZW50VHlwZSwgKGNvbXBvbmVudCwgcm93RGF0YSwgZmlyc3RUaW1lKSA9PiB7XG4gICAgICBpZiAoZmlyc3RUaW1lKSB7XG4gICAgICAgIGlmIChpc0Z1bmN0aW9uKG9uQ29tcG9uZW50SW5pdE9yT3B0aW9ucykpIHtcbiAgICAgICAgICBvbkNvbXBvbmVudEluaXRPck9wdGlvbnMoY29tcG9uZW50KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZiAoaXNGdW5jdGlvbihvbkNvbXBvbmVudEluaXRPck9wdGlvbnM/Lm9uQ29tcG9uZW50SW5pdCkpIHtcbiAgICAgICAgICAgIG9uQ29tcG9uZW50SW5pdE9yT3B0aW9ucy5vbkNvbXBvbmVudEluaXQoY29tcG9uZW50KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGNvbXBvbmVudC52YWx1ZSA9IHRoaXMuX2Zvcm1hdChyb3dEYXRhLnJvd1t0aGlzLnByb3BlcnR5XSk7XG4gICAgfSkpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgbGl2ZUVkaXRDZWxsUmVuZGVyZXI8RSBleHRlbmRzIEVkaXRhYmxlQ2VsbFJlbmRlcmVyPFJvd1tQXT4+KGNvbXBvbmVudFR5cGU6IENvbXBvbmVudFR5cGU8RT4sIG9wdGlvbnM6IE11dGFibGVDZWxsUmVuZGVyZXJPcHRpb25zPFJvdywgRSwgUD4pOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5tdXRhYmxlQ2VsbFJlbmRlcmVyKGNvbXBvbmVudFR5cGUsIG9wdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIERlcHJlY2F0ZWQuICBVc2UgI2xpdmVFZGl0Q2VsbFJlbmRlcmVyIGluc3RlYWQuXG4gICAqIEBwYXJhbSBjb21wb25lbnRUeXBlXG4gICAqIEBwYXJhbSBvcHRpb25zXG4gICAqL1xuICBtdXRhYmxlQ2VsbFJlbmRlcmVyPEUgZXh0ZW5kcyBFZGl0YWJsZUNlbGxSZW5kZXJlcjxSb3dbUF0+Pihjb21wb25lbnRUeXBlOiBDb21wb25lbnRUeXBlPEU+LCBvcHRpb25zOiBNdXRhYmxlQ2VsbFJlbmRlcmVyT3B0aW9uczxSb3csIEUsIFA+KTogdGhpcyB7XG5cbiAgICB0aGlzLmNvbmZpZ3VyZUNlbGxSZW5kZXJlcihuZXcgQ29tcG9uZW50Q2VsbFJlbmRlcmVyUG9ydGFsUmVmKGNvbXBvbmVudFR5cGUsIChjb21wb25lbnQsIHJvd0RhdGEsIGZpcnN0VGltZSkgPT4ge1xuXG4gICAgICAvLyBrZWVwIGEgbG9jYWwgY29weSBtb3N0IHJlY2VudCByb3cgdmFsdWUgc28gaXQncyBhdmFpbGFibGUgdG8gdGVoXG4gICAgICAvLyBlZGl0IGNhbGxiYWNrIHdpdGhvdXQgaGF2aW5nIHRvIGFkZC9yZW1vdmUgc3Vic2NyaWJlcnMgYWxsIHRoZSB0aW1lLlxuICAgICAgY29tcG9uZW50W0NvbHVtbk1vZGVsLkNFTExfUkVOREVSRVJfQ09NUE9ORU5UX1JPV19DQUNIRV0gPSByb3dEYXRhLnJvdztcbiAgICAgIGxldCBkaXNhYmxlRWRpdENhbGxiYWNrID0gZmFsc2U7XG5cbiAgICAgIGlmIChmaXJzdFRpbWUpIHtcbiAgICAgICAgaWYgKGlzRnVuY3Rpb24ob3B0aW9ucz8ub25Db21wb25lbnRJbml0KSkge1xuICAgICAgICAgIG9wdGlvbnMub25Db21wb25lbnRJbml0KGNvbXBvbmVudCk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gaW5zdGFsbCBvdXIgZWRpdCBjYWxsYmFja1xuICAgICAgICBjb21wb25lbnQub25WYWx1ZUVkaXRlZCgoaXMsIHdhcykgPT4ge1xuICAgICAgICAgIGlmICghZGlzYWJsZUVkaXRDYWxsYmFjaykge1xuICAgICAgICAgICAgb3B0aW9ucy5vblZhbHVlRWRpdChjb21wb25lbnRbQ29sdW1uTW9kZWwuQ0VMTF9SRU5ERVJFUl9DT01QT05FTlRfUk9XX0NBQ0hFXSwgaXMsIHdhcyk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgfVxuXG4gICAgICAvLyBub3cgcHVzaCB0aGUgdmFsdWUgdGhlIGNvbXBvbmVudCBhbmQgZGlzYWJsZSB0aGUgY2FsbGJhY2sganVzdCBpbmNhc2UgdGhlIGNvbXBvbmVudCBtaXNiZWhhdmVzXG4gICAgICAvLyBhbmQgZmlyZXMgYSB2YWx1ZSBjaGFuZ2UgZHVyaW5nIHRoZSBvcGVyYXRpb24uXG4gICAgICBkaXNhYmxlRWRpdENhbGxiYWNrID0gdHJ1ZTtcbiAgICAgIGNvbXBvbmVudC52YWx1ZSA9IHJvd0RhdGEucm93W3RoaXMucHJvcGVydHldO1xuICAgICAgZGlzYWJsZUVkaXRDYWxsYmFjayA9IGZhbHNlO1xuXG4gICAgICBpZiAoIWlzRnVuY3Rpb24ob3B0aW9ucykgJiYgaXNGdW5jdGlvbihvcHRpb25zPy5vblJvd1VwZGF0ZSkpIHtcbiAgICAgICAgb3B0aW9ucy5vblJvd1VwZGF0ZShjb21wb25lbnQsIHJvd0RhdGEucm93KTtcbiAgICAgIH1cblxuICAgIH0pKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIGNlbGxFZGl0b3I8RSBleHRlbmRzIENlbGxFZGl0b3JDb21wb25lbnQ8Um93W1BdPj4oZWRpdG9yOiBDb21wb25lbnRUeXBlPEU+LCB2YWxpZGF0b3JzPzogVmFsaWRhdG9yPFJvd1tQXT5bXSwgaW5pdGlhbGlzZUNvbXBvbmVudD86IChjb21wb25lbnQ6IEUpID0+IHZvaWQpOiB0aGlzXG4gIGNlbGxFZGl0b3I8RSBleHRlbmRzIENlbGxFZGl0b3JDb21wb25lbnQ8Um93W1BdPj4oZWRpdG9yOiBDb21wb25lbnRUeXBlPEU+LCBpbml0aWFsaXNlQ29tcG9uZW50PzogKGNvbXBvbmVudDogRSkgPT4gdm9pZCk6IHRoaXNcbiAgY2VsbEVkaXRvcjxFIGV4dGVuZHMgQ2VsbEVkaXRvckNvbXBvbmVudDxSb3dbUF0+PihlZGl0b3I6IENvbXBvbmVudFR5cGU8RT4sIHZhbGlkYXRvcnNPckluaXRpYWxpc2VyPzogVmFsaWRhdG9yPFJvd1tQXT5bXSB8ICgoY29tcG9uZW50OiBFKSA9PiB2b2lkKSwgb25Db21wb25lbnRJbml0PzogKGNvbXBvbmVudDogRSkgPT4gdm9pZCk6IHRoaXMge1xuICAgIGNvbnN0IHZhbGlkYXRvcnMgPSBBcnJheS5pc0FycmF5KHZhbGlkYXRvcnNPckluaXRpYWxpc2VyKSA/IHZhbGlkYXRvcnNPckluaXRpYWxpc2VyIDogdW5kZWZpbmVkO1xuICAgIGNvbnN0IGluaXRpYWxpc2VyID0gaXNGdW5jdGlvbih2YWxpZGF0b3JzT3JJbml0aWFsaXNlcikgPyB2YWxpZGF0b3JzT3JJbml0aWFsaXNlciA6IG9uQ29tcG9uZW50SW5pdDtcbiAgICB0aGlzLmNvbmZpZ3VyZUNlbGxFZGl0b3IobmV3IENlbGxFZGl0b3JQb3J0YWxSZWYoZWRpdG9yLCAoY29tcG9uZW50OiBFLCBlZGl0U2Vzc2lvbjogRWRpdFNlc3Npb248Um93PikgPT4ge1xuICAgICAgY29uc3QgZm9ybVZhbHVlTW9kZWwgPSBlZGl0U2Vzc2lvbi5mb3JtLnBsdWNrKHRoaXMucHJvcGVydHkpO1xuICAgICAgaWYgKHZhbGlkYXRvcnMpIHtcbiAgICAgICAgZm9ybVZhbHVlTW9kZWwudmFsaWRhdGVVc2luZyh2YWxpZGF0b3JzKTtcbiAgICAgIH1cbiAgICAgIGNvbXBvbmVudC52YWx1ZU1vZGVsID0gZm9ybVZhbHVlTW9kZWw7XG4gICAgICBpZiAoaW5pdGlhbGlzZXIpIHtcbiAgICAgICAgaW5pdGlhbGlzZXIoY29tcG9uZW50KTtcbiAgICAgIH1cbiAgICB9KSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBmb3JtYXQoZm9ybWF0dGVyOiAodmFsdWU6IFJvd1tQXSkgPT4gYW55KTogdGhpcyB7XG4gICAgYXNzZXJ0LmlzRnVuY3Rpb24oZm9ybWF0dGVyKTtcbiAgICB0aGlzLl9mb3JtYXQgPSBmb3JtYXR0ZXI7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0Um93T25DbGljayhzZWxlY3RPblJvd0NsaWNrOiBib29sZWFuKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdFJvd09uQ2xpY2soc2VsZWN0T25Sb3dDbGljayk7XG4gIH1cblxufVxuIl19
|
|
@@ -27,4 +27,4 @@ export function EnableCellTextSearch(options) {
|
|
|
27
27
|
}
|
|
28
28
|
EnableCellTextSearch.getFormatter = getFormatter;
|
|
29
29
|
})(EnableCellTextSearch || (EnableCellTextSearch = {}));
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5hYmxlLWNlbGwtdGV4dC1zZWFyY2guZGVjb3JhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvY29tcG9uZW50cy90YWJsZXMvc2VhcmNoL2VuYWJsZS1jZWxsLXRleHQtc2VhcmNoLmRlY29yYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBdUIsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFHM0UsTUFBTSx5QkFBeUIsR0FBRywrQkFBK0IsQ0FBQztBQUNsRSxNQUFNLENBQUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxhQUFhLEVBQUUsVUFBVSxDQUFDLENBQUM7QUFlbkUsTUFBTSxVQUFVLG9CQUFvQixDQUFNLE9BQTREO0lBQ3BHLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdkIsT0FBTyxDQUFDLFdBQXFCLEVBQUUsRUFBRTtRQUMvQixNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3JDLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyx5QkFBeUIsQ0FBQyxFQUFFLG9EQUFvRCxDQUFDLENBQUM7UUFDdkgsS0FBSyxDQUFDLGNBQWMsQ0FBQyx5QkFBeUIsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMzRCxDQUFDLENBQUM7QUFDSixDQUFDO0FBRUQsV0FBaUIsb0JBQW9CO0lBQ25DLFNBQWdCLFlBQVksQ0FBQyxRQUEwQyxFQUFFLFVBQWdEO1FBQ3ZILE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsV0FBVyxDQUFDLHlCQUF5QixDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2pGLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUM3QixPQUFPLHlCQUF5QixDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7U0FDMUU7UUFDRCxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUU7WUFDN0IsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1NBQ2xDO1FBQ0QsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQzFCLE9BQU8sSUFBSSx5QkFBeUIsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1NBQ3pFO1FBQ0QsT0FBTyxVQUFVLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBWmUsaUNBQVksZUFZM0IsQ0FBQTtBQUNILENBQUMsRUFkZ0Isb0JBQW9CLEtBQXBCLG9CQUFvQixRQWNwQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudFR5cGUgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL292ZXJsYXlcIjtcbmltcG9ydCB7IEtsYXNzLCBhc3NlcnQsIGxhbmcsIENvbnN0cnVjdGFibGUgfSBmcm9tIFwiQGNvb2xvbi90eXBlc2NyaXB0LXV0aWxpdGllc1wiO1xuaW1wb3J0IHsgRW51bSB9IGZyb20gXCJ0eXBlc2NyaXB0LXN0cmluZy1lbnVtc1wiO1xuaW1wb3J0IHsgQ29sdW1uVGV4dFNlYXJjaEZvcm1hdHRlciB9IGZyb20gXCIuL2NvbHVtbi10ZXh0LXNlYXJjaC1mb3JtYXR0ZXJcIjtcbmltcG9ydCB7IENlbGxSZW5kZXJlciB9IGZyb20gXCIuLi9yZW5kZXJlci9jZWxsLXJlbmRlcmVyXCI7XG5cbmNvbnN0IFRFWFRfU0VBUkNIX0ZPUk1BVFRFUl9LRVkgPSBgYXVwOnRhYmxlOnRleHRTZWFyY2hGb3JtYXR0ZXJgO1xuZXhwb3J0IGNvbnN0IEtleXMgPSBFbnVtKFwidXNlRnVuY3Rpb25cIiwgXCJ1c2VJbnN0YW5jZVwiLCBcInVzZUNsYXNzXCIpO1xuZXhwb3J0IHR5cGUgS2V5cyA9IEVudW08dHlwZW9mIEtleXM+O1xuXG5pbnRlcmZhY2UgVXNlRnVuY3Rpb248Um93PiB7XG4gIFtLZXlzLnVzZUZ1bmN0aW9uXTogKHJvdzogUm93KSA9PiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBVc2VJbnN0YW5jZTxSb3c+IHtcbiAgW0tleXMudXNlSW5zdGFuY2VdOiBDb2x1bW5UZXh0U2VhcmNoRm9ybWF0dGVyPFJvdz47XG59XG5cbmludGVyZmFjZSBVc2VDbGFzczxSb3c+IHtcbiAgW0tleXMudXNlQ2xhc3NdOiBDb25zdHJ1Y3RhYmxlPENvbHVtblRleHRTZWFyY2hGb3JtYXR0ZXI8Um93Pj47XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBFbmFibGVDZWxsVGV4dFNlYXJjaDxSb3c+KG9wdGlvbnM6IFVzZUZ1bmN0aW9uPFJvdz4gfCBVc2VJbnN0YW5jZTxSb3c+IHwgVXNlQ2xhc3M8Um93Pik6IENsYXNzRGVjb3JhdG9yIHtcbiAgYXNzZXJ0Lm5vdE5pbChvcHRpb25zKTtcbiAgcmV0dXJuIChjb25zdHJ1Y3RvcjogRnVuY3Rpb24pID0+IHtcbiAgICBjb25zdCBrbGFzcyA9IEtsYXNzLmdldChjb25zdHJ1Y3Rvcik7XG4gICAgYXNzZXJ0LmlzRmFsc2V5KGtsYXNzLmhhc093bk1ldGFkYXRhKFRFWFRfU0VBUkNIX0ZPUk1BVFRFUl9LRVkpLCBcImNsYXNzIGFscmVhZHkgZGVjb3JhdGVkIHdpdGggQEVuYWJsZUNlbGxUZXh0U2VhcmNoXCIpO1xuICAgIGtsYXNzLmRlZmluZU1ldGFkYXRhKFRFWFRfU0VBUkNIX0ZPUk1BVFRFUl9LRVksIG9wdGlvbnMpO1xuICB9O1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEVuYWJsZUNlbGxUZXh0U2VhcmNoIHtcbiAgZXhwb3J0IGZ1bmN0aW9uIGdldEZvcm1hdHRlcihyZW5kZXJlcjogQ29tcG9uZW50VHlwZTxDZWxsUmVuZGVyZXI8YW55Pj4sIHVzZURlZmF1bHQ6ICgpID0+IENvbHVtblRleHRTZWFyY2hGb3JtYXR0ZXI8YW55Pik6IENvbHVtblRleHRTZWFyY2hGb3JtYXR0ZXI8YW55PiB7XG4gICAgY29uc3Qgb3B0aW9ucyA9IEtsYXNzLmdldChyZW5kZXJlcikuZ2V0TWV0YWRhdGEoVEVYVF9TRUFSQ0hfRk9STUFUVEVSX0tFWSkgPz8ge307XG4gICAgaWYgKG9wdGlvbnNbS2V5cy51c2VGdW5jdGlvbl0pIHtcbiAgICAgIHJldHVybiBDb2x1bW5UZXh0U2VhcmNoRm9ybWF0dGVyLmZvckZvcm1hdHRlcihvcHRpb25zW0tleXMudXNlRnVuY3Rpb25dKTtcbiAgICB9XG4gICAgaWYgKG9wdGlvbnNbS2V5cy51c2VJbnN0YW5jZV0pIHtcbiAgICAgIHJldHVybiBvcHRpb25zW0tleXMudXNlSW5zdGFuY2VdO1xuICAgIH1cbiAgICBpZiAob3B0aW9uc1tLZXlzLnVzZUNsYXNzXSkge1xuICAgICAgcmV0dXJuIG5ldyBDb2x1bW5UZXh0U2VhcmNoRm9ybWF0dGVyLkRlbGVnYXRpbmcob3B0aW9uc1tLZXlzLnVzZUNsYXNzXSk7XG4gICAgfVxuICAgIHJldHVybiB1c2VEZWZhdWx0KCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Component, Inject, InjectionToken } from '@angular/core';
|
|
2
2
|
import { assert } from '@coolon/pectin';
|
|
3
3
|
import { lang } from '@coolon/typescript-utilities';
|
|
4
|
-
import { isFunction } from "lodash";
|
|
4
|
+
import { isFunction } from "lodash-es";
|
|
5
5
|
import { Activity } from '../activity';
|
|
6
6
|
import { Alert } from '../alert';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
@@ -58,4 +58,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImpor
|
|
|
58
58
|
type: Inject,
|
|
59
59
|
args: [ALERT_CONFIG]
|
|
60
60
|
}] }]; } });
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL2ludGVyYWN0aW9uL2NvbXBvbmVudHMvYWJzdHJhY3QtZGlhbG9nLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sV0FBVyxDQUFDO0FBRXJDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDdkMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFVBQVUsQ0FBQzs7QUFHakMsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLElBQUksY0FBYyxDQUFNLGFBQWEsQ0FBQyxDQUFDO0FBSW5FLE1BQU0sT0FBTyx1QkFBdUMsU0FBUSxRQUFpQjtJQU8zRSxZQUFxRCxNQUF1QjtRQUMxRSxLQUFLLEVBQUUsQ0FBQztRQUQyQyxXQUFNLEdBQU4sTUFBTSxDQUFpQjtRQUUxRSxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNwQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ3JELElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUV4QyxJQUFJLENBQUMsV0FBVyxHQUFHO1lBQ2pCLElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFO1lBQ3ZCLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLFNBQVM7WUFDcEMsS0FBSyxFQUFFLEdBQUcsRUFBRSxDQUFDLFFBQVE7U0FDdEIsQ0FBQztRQUVGLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxFQUFFO1lBQ3hCLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTtnQkFDeEIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksRUFBRSxDQUFBO2FBQ2hHO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsU0FBUztRQUNQLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUE7SUFDOUMsQ0FBQztJQUVTLFVBQVUsQ0FBQyxRQUFnQjtRQUNuQyxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsRUFBRTtZQUN4QixPQUFPLE1BQU0sQ0FBQztTQUNmO2FBQU07WUFDTCxJQUFJLENBQUMsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUU7Z0JBQ3BELE9BQU8sUUFBeUMsQ0FBQzthQUNsRDtpQkFBTTtnQkFDTCxPQUFPLENBQUMsSUFBSSxDQUFDLHdCQUF3QixRQUFRLEVBQUUsQ0FBQyxDQUFDO2dCQUNqRCxPQUFPLFNBQVMsQ0FBQzthQUNsQjtTQUNGO0lBQ0gsQ0FBQztJQUVELGFBQWE7UUFDWCxhQUFhO1FBQ2IsT0FBTyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDN0UsQ0FBQzs7b0hBL0NVLHVCQUF1QixrQkFPZCxZQUFZO3dHQVByQix1QkFBdUIsMkVBRnhCLEVBQUU7MkZBRUQsdUJBQXVCO2tCQUhuQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxFQUFFO2lCQUNiOzswQkFRYyxNQUFNOzJCQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGFzc2VydCB9IGZyb20gJ0Bjb29sb24vcGVjdGluJztcbmltcG9ydCB7IGxhbmcgfSBmcm9tICdAY29vbG9uL3R5cGVzY3JpcHQtdXRpbGl0aWVzJztcbmltcG9ydCB7aXNGdW5jdGlvbn0gZnJvbSBcImxvZGFzaC1lc1wiO1xuaW1wb3J0IHsgQ29tbWFuZEZhY2UgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL2NvbW1hbmRzL2NvbW1hbmQtZmFjZSc7XG5pbXBvcnQgeyBBY3Rpdml0eSB9IGZyb20gJy4uL2FjdGl2aXR5JztcbmltcG9ydCB7IEFsZXJ0IH0gZnJvbSAnLi4vYWxlcnQnO1xuaW1wb3J0IHsgQ29uZmlybSB9IGZyb20gJy4uL2NvbmZpcm0nO1xuXG5leHBvcnQgY29uc3QgQUxFUlRfQ09ORklHID0gbmV3IEluamVjdGlvblRva2VuPGFueT4oJ0FsZXJ0Q29uZmlnJyk7XG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGU6ICcnXG59KVxuZXhwb3J0IGNsYXNzIEFic3RyYWN0RGlhbG9nQ29tcG9uZW50PEQsIFIsIEUgPSBhbnk+IGV4dGVuZHMgQWN0aXZpdHk8RCwgUiwgRT4ge1xuXG4gIHJlYWRvbmx5IGNvbmZpcm1GYWNlOiBDb21tYW5kRmFjZTtcbiAgcmVhZG9ubHkgdGl0bGU6IHN0cmluZztcbiAgcmVhZG9ubHkgY29udGVudDogc3RyaW5nW107XG4gIHJlYWRvbmx5IGNvbG9yPzogJ3ByaW1hcnknIHwgJ2FjY2VudCcgfCAnd2Fybic7XG5cbiAgY29uc3RydWN0b3IoQEluamVjdChBTEVSVF9DT05GSUcpIHByb3RlY3RlZCByZWFkb25seSBjb25maWc6IEFsZXJ0IHwgQ29uZmlybSkge1xuICAgIHN1cGVyKCk7XG4gICAgYXNzZXJ0Lm5vdE5pbChjb25maWcpO1xuICAgIHRoaXMudGl0bGUgPSBBbGVydC5nZXRUaXRsZShjb25maWcpO1xuICAgIHRoaXMuY29sb3IgPSB0aGlzLmNoZWNrQ29sb3IoQWxlcnQuZ2V0Q29sb3IoY29uZmlnKSk7XG4gICAgdGhpcy5jb250ZW50ID0gQWxlcnQuZ2V0Q29udGVudChjb25maWcpO1xuXG4gICAgdGhpcy5jb25maXJtRmFjZSA9IHtcbiAgICAgIHRleHQ6ICgpID0+IGNvbmZpZy5vaygpLFxuICAgICAgY29sb3I6ICgpID0+IHRoaXMuY29sb3IgfHwgJ3ByaW1hcnknLFxuICAgICAgc3R5bGU6ICgpID0+ICdyYWlzZWQnXG4gICAgfTtcblxuICAgIHRoaXMub25BY3Rpdml0eVJlYWR5KCgpID0+IHtcbiAgICAgIGlmICh0aGlzLmFjdGl2aXR5QWN0aW9ucykge1xuICAgICAgICB0aGlzLmlzRGVzdHJ1Y3RpdmUoKSA/IHRoaXMuYWN0aXZpdHlBY3Rpb25zLmZvY3VzQ2FuY2VsKCkgOiB0aGlzLmFjdGl2aXR5QWN0aW9ucy5mb2N1c0NvbmZpcm0oKVxuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgZ2V0Q29uZmlnKCk6QWxlcnQgfCBDb25maXJtIHtcbiAgICByZXR1cm4gbGFuZy5hYnN0cmFjdE1ldGhvZCh0aGlzLmNvbnN0cnVjdG9yKVxuICB9XG5cbiAgcHJvdGVjdGVkIGNoZWNrQ29sb3IocmF3Q29sb3I6IHN0cmluZyk6ICdwcmltYXJ5JyB8ICdhY2NlbnQnIHwgJ3dhcm4nIHtcbiAgICBpZiAodGhpcy5pc0Rlc3RydWN0aXZlKCkpIHtcbiAgICAgIHJldHVybiAnd2Fybic7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChbJ3ByaW1hcnknLCAnYWNjZW50JywgJ3dhcm4nXS5pbmNsdWRlcyhyYXdDb2xvcikpIHtcbiAgICAgICAgcmV0dXJuIHJhd0NvbG9yIGFzICdwcmltYXJ5JyB8ICdhY2NlbnQnIHwgJ3dhcm4nO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc29sZS53YXJuKGBJbnZhbGlkIGNvbG9yIHN0cmluZyAke3Jhd0NvbG9yfWApO1xuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGlzRGVzdHJ1Y3RpdmUoKTogYm9vbGVhbiB7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIHJldHVybiBpc0Z1bmN0aW9uKHRoaXMuY29uZmlnWydkZXN0cnVjdGl2ZSddKSAmJiB0aGlzLmNvbmZpZy5kZXN0cnVjdGl2ZSgpO1xuICB9XG5cbn1cbiJdfQ==
|
package/esm2020/lib/interaction/components/activity-container/activity-container.component.mjs
CHANGED
|
@@ -3,7 +3,7 @@ import { Component, Input, QueryList, ViewChild, ViewChildren } from "@angular/c
|
|
|
3
3
|
import { MatTabGroup } from "@angular/material/tabs";
|
|
4
4
|
import { assert, DelegatingValueModel, Dsl, GarbageCollector, MutableValueModel, Trace } from "@coolon/pectin";
|
|
5
5
|
import { lang } from "@coolon/typescript-utilities";
|
|
6
|
-
import { findLast } from "lodash";
|
|
6
|
+
import { findLast } from "lodash-es";
|
|
7
7
|
import { PlaceRouter } from "../../../place/place-router";
|
|
8
8
|
import { AbstractInteractionContext } from "../../abstract-interaction-context";
|
|
9
9
|
import { ActivityRef } from "../../activity-ref";
|
|
@@ -223,4 +223,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImpor
|
|
|
223
223
|
type: ViewChildren,
|
|
224
224
|
args: [ActivityOutletComponent]
|
|
225
225
|
}], synchroniseSelectedTabIndex: [] } });
|
|
226
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHktY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL2ludGVyYWN0aW9uL2NvbXBvbmVudHMvYWN0aXZpdHktY29udGFpbmVyL2FjdGl2aXR5LWNvbnRhaW5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9pbnRlcmFjdGlvbi9jb21wb25lbnRzL2FjdGl2aXR5LWNvbnRhaW5lci9hY3Rpdml0eS1jb250YWluZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFFLEtBQUssRUFBVSxTQUFTLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUNMLE1BQU0sRUFFTixvQkFBb0IsRUFFcEIsR0FBRyxFQUNILGdCQUFnQixFQUNoQixpQkFBaUIsRUFDakIsS0FBSyxFQUNOLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRXBELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFFbEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzFELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRWhGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVqRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQzs7Ozs7Ozs7QUFPdEYsTUFBTSxPQUFPLDBCQUFvQyxTQUFRLDBCQUEw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LENBQUM7Z0JBQ3JDLENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDO1NBQ0g7SUFDSCxDQUFDO0lBRU8saUJBQWlCO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRCxXQUFXO0lBQ1gsbUJBQW1CO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDakMsQ0FBQztJQUVELFdBQVc7SUFDSCx5QkFBeUI7UUFDL0IsSUFBSSxJQUFJLENBQUMsc0JBQXNCLEVBQUU7WUFDL0IsWUFBWSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1NBQzNDO1FBQ0QsSUFBSSxDQUFDLHNCQUFzQixHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDNUMsSUFBSSxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQztZQUNuQyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRTtnQkFDbkIsSUFBSSxDQUFDLDJCQUEyQixFQUFFLENBQUM7YUFDcEM7UUFDSCxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDVCxDQUFDOzt1SEFqT1UsMEJBQTBCOzJHQUExQiwwQkFBMEIsMk9BUXZCLHVCQUF1Qix1RUNwQ3ZDLG01QkFpQkE7QURxTUU7SUFEQyxLQUFLLEVBQUU7Ozs7NkVBa0JQOzJGQTNNVSwwQkFBMEI7a0JBTHRDLFNBQVM7K0JBQ0Usd0JBQXdCO2tHQU9sQyxhQUFhO3NCQURaLEtBQUs7Z0JBSU4sSUFBSTtzQkFESCxTQUFTO3VCQUFDLE1BQU0sRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBSW5DLGVBQWU7c0JBRGQsWUFBWTt1QkFBQyx1QkFBdUI7Z0JBa0w3QiwyQkFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIElucHV0LCBPbkluaXQsIFF1ZXJ5TGlzdCwgVmlld0NoaWxkLCBWaWV3Q2hpbGRyZW4gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgTWF0VGFiR3JvdXAgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvdGFic1wiO1xuaW1wb3J0IHtcbiAgYXNzZXJ0LFxuICBDb25zdHJ1Y3RhYmxlLFxuICBEZWxlZ2F0aW5nVmFsdWVNb2RlbCxcbiAgRGlzcG9zYWJsZSxcbiAgRHNsLFxuICBHYXJiYWdlQ29sbGVjdG9yLFxuICBNdXRhYmxlVmFsdWVNb2RlbCxcbiAgVHJhY2Vcbn0gZnJvbSBcIkBjb29sb24vcGVjdGluXCI7XG5pbXBvcnQgeyBsYW5nIH0gZnJvbSBcIkBjb29sb24vdHlwZXNjcmlwdC11dGlsaXRpZXNcIjtcblxuaW1wb3J0IHsgZmluZExhc3QgfSBmcm9tIFwibG9kYXNoXCI7XG5pbXBvcnQgeyBzbGlkZURvd25PbkVudGVyQW5pbWF0aW9uIH0gZnJvbSBcIi4uLy4uLy4uL2FuaW1hdGlvbnMvc2xpZGUtYW5pbWF0aW9uc1wiO1xuaW1wb3J0IHsgUGxhY2VSb3V0ZXIgfSBmcm9tIFwiLi4vLi4vLi4vcGxhY2UvcGxhY2Utcm91dGVyXCI7XG5pbXBvcnQgeyBBYnN0cmFjdEludGVyYWN0aW9uQ29udGV4dCB9IGZyb20gXCIuLi8uLi9hYnN0cmFjdC1pbnRlcmFjdGlvbi1jb250ZXh0XCI7XG5pbXBvcnQgeyBBY3Rpdml0eSB9IGZyb20gXCIuLi8uLi9hY3Rpdml0eVwiO1xuaW1wb3J0IHsgQWN0aXZpdHlSZWYgfSBmcm9tIFwiLi4vLi4vYWN0aXZpdHktcmVmXCI7XG5pbXBvcnQgeyBJbnRlcmFjdGlvblNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvaW50ZXJhY3Rpb24uc2VydmljZVwiO1xuaW1wb3J0IHsgQWN0aXZpdHlPdXRsZXRDb21wb25lbnQgfSBmcm9tIFwiLi9hY3Rpdml0eS1vdXRsZXQvYWN0aXZpdHktb3V0bGV0LmNvbXBvbmVudFwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwiYXVwLWFjdGl2aXR5LWNvbnRhaW5lclwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL2FjdGl2aXR5LWNvbnRhaW5lci5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybHM6IFtcIi4vYWN0aXZpdHktY29udGFpbmVyLmNvbXBvbmVudC5zY3NzXCJdXG59KVxuZXhwb3J0IGNsYXNzIEFjdGl2aXR5Q29udGFpbmVyQ29tcG9uZW50PEQsIFIsIEU+IGV4dGVuZHMgQWJzdHJhY3RJbnRlcmFjdGlvbkNvbnRleHQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuXG4gIEBJbnB1dCgpXG4gIGR5bmFtaWNIZWlnaHQgPSBmYWxzZTtcblxuICBAVmlld0NoaWxkKFwidGFic1wiLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICB0YWJzOiBNYXRUYWJHcm91cDtcblxuICBAVmlld0NoaWxkcmVuKEFjdGl2aXR5T3V0bGV0Q29tcG9uZW50KVxuICBhY3Rpdml0eU91dGxldHM6IFF1ZXJ5TGlzdDxBY3Rpdml0eU91dGxldENvbXBvbmVudDxhbnksIGFueSwgYW55Pj47XG5cbiAgYWN0aXZpdHlSZWZzOiBBY3Rpdml0eVJlZjxhbnksIGFueSwgYW55PltdID0gW107XG5cbiAgcHJpdmF0ZSBfaWRlbnRpZmllcjogc3RyaW5nO1xuICBwcml2YXRlIF9kZWZlcnJlZENsZWFuVXA6IFByb21pc2U8YW55PjtcblxuICBwcml2YXRlIGludGVyYWN0aW9uU2VydmljZUFwaTogSW50ZXJhY3Rpb25TZXJ2aWNlLkFwaTtcblxuICBwcml2YXRlIGdhcmJhZ2UgPSBuZXcgR2FyYmFnZUNvbGxlY3RvcigpO1xuICBwcml2YXRlIHN5bmNTZWxlY3RlZFRhYlRpbWVvdXQ6IGFueTtcbiAgcHJpdmF0ZSBvbkFuaW1hdGlvbkZpbmlzaGVkSm9iOiAoKSA9PiB2b2lkO1xuXG4gIHJlYWRvbmx5IGluQW5pbWF0aW9uID0gbmV3IE11dGFibGVWYWx1ZU1vZGVsPGJvb2xlYW4+KGZhbHNlKTtcblxuICByZWFkb25seSBidXN5ID0gdGhpcy5yZWdpc3RlckRpc3Bvc2FibGUobmV3IERlbGVnYXRpbmdWYWx1ZU1vZGVsPGJvb2xlYW4+KCkud2l0aERlZmF1bHQoZmFsc2UpKTtcblxuICBjb25zdHJ1Y3RvcihyZWFkb25seSBwbGFjZVJvdXRlcjogUGxhY2VSb3V0ZXIpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMucmVnaXN0ZXJEaXNwb3NhYmxlKHRoaXMuYnVzeSk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCB7IGNoYWluLCBvYnNlcnZlIH0gPSBEc2wuZGlzcG9zZVdpdGgodGhpcyk7XG4gICAgLy8gdXNpbmcgdGhlIGNvbXBvbmVudCBkaXJlY3RseSByYXRoZXIgdGhhbiAoYW5pbWF0aW9uRG9uZSk9Li4gYWxsb3dzIHVzXG4gICAgLy8gdG8ga2VlcCBvdXIgY2FsbGJhY2sgcHJpdmF0ZS5cbiAgICBvYnNlcnZlLnZhbHVlc0Zyb20odGhpcy50YWJzLmFuaW1hdGlvbkRvbmUpLnN1YnNjcmliZSgoKSA9PiB0aGlzLm9uQW5pbWF0aW9uRmluaXNoZWQoKSk7XG4gIH1cblxuICBpbml0aWFsaXNlKGlkZW50aWZpZXI6IHN0cmluZywgYXBpOiBJbnRlcmFjdGlvblNlcnZpY2UuQXBpKSB7XG4gICAgYXNzZXJ0LmlzRmFsc2V5KHRoaXMuaXNJbml0aWFsaXNlZCgpKTtcbiAgICBhc3NlcnQubm90TmlsKGlkZW50aWZpZXIpO1xuICAgIGFzc2VydC5ub3ROaWwoYXBpKTtcbiAgICB0aGlzLl9pZGVudGlmaWVyID0gaWRlbnRpZmllcjtcbiAgICB0aGlzLmludGVyYWN0aW9uU2VydmljZUFwaSA9IGFwaTtcbiAgfVxuXG4gIGdldCBpZGVudGlmaWVyKCkge1xuICAgIHJldHVybiB0aGlzLl9pZGVudGlmaWVyO1xuICB9XG5cbiAgaXNJbml0aWFsaXNlZCgpIHtcbiAgICByZXR1cm4gISF0aGlzLmlkZW50aWZpZXI7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0cnVlIGlmIGFuIGFjdGl2aXR5IGlzIGN1cnJlbnRseSBydW5uaW5nLlxuICAgKi9cbiAgaXNBY3RpdmUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0QWN0aXZlQWN0aXZpdHlDb3VudCgpID4gMDtcbiAgfVxuXG4gIHJlZ2lzdGVyRGlzcG9zYWJsZTxUIGV4dGVuZHMgRGlzcG9zYWJsZT4oZGlzcG9zYWJsZTogVCk6IFQge1xuICAgIHJldHVybiB0aGlzLmdhcmJhZ2UucmVnaXN0ZXJEaXNwb3NhYmxlKGRpc3Bvc2FibGUpO1xuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgZGlzcG9zZSgpOiB2b2lkIHtcbiAgICAvLyBUT0RPOiB0aGluayBhYm91dCBhdXRvIGNhbmNlbGxpbmcgYW55IG91dHN0YW5kaW5nIGFjdGl2aXR5IG9uIGRpc3Bvc2UuXG4gICAgLy8gICAgICAgU2VlIE5hdmlnYXRpb25TdGF0ZS5OYXZpZ2F0aW5nIGZvciBhIHVzZS1jYXNlLlxuICAgIGFzc2VydC5pc0ZhbHNleSh0aGlzLmlzQWN0aXZlKCkpO1xuICAgIHRoaXMuZ2FyYmFnZS5kaXNwb3NlKCk7XG4gIH1cblxuICBnZXRBY3RpdmVBY3Rpdml0eVJlZigpOiBBY3Rpdml0eVJlZjxhbnksIGFueSwgYW55PiB7XG4gICAgaWYgKCF0aGlzLmlzQWN0aXZlKCkpIHtcbiAgICAgIGxhbmcuaWxsZWdhbFN0YXRlKFwibm8gYWN0aXZpdHkgaW4gcHJvZ3Jlc3NcIik7XG4gICAgfVxuICAgIHJldHVybiBmaW5kTGFzdCh0aGlzLmFjdGl2aXR5UmVmcywgdGFiID0+ICF0YWIuaXNDb21wbGV0ZSgpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYW5jZWxzIHRoZSBjdXJyZW50IGFjdGl2aXR5IGFuZCByZXR1cm5zIHRydWUgdGhlIGNvbnRleHQgaXMgbm8gbG9uZ2VyIGFjdGl2ZSwgZmFsc2UgaWZcbiAgICogdGhlcmUgaXMgc3RpbGwgYW5vdGhlciBhY3Rpdml0eSBydW5uaW5nLlxuICAgKi9cbiAgLy8gQFRyYWNlKClcbiAgYXN5bmMgY2FuY2VsQWN0aXZlQWN0aXZpdHkoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgYWN0aXZpdHkgPSB0aGlzLmdldEFjdGl2ZUFjdGl2aXR5UmVmKCk7XG4gICAgYWN0aXZpdHkuY2FuY2VsKCk7XG4gICAgaWYgKHRoaXMuaXNDbGVhbmluZ1VwKCkpIHtcbiAgICAgIHJldHVybiB0aGlzLndhaXRGb3JJbnRlcmFjdGlvbkNvbnRleHRDbGVhbnVwVG9GaW5pc2goKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuICF0aGlzLmlzQWN0aXZlKCk7XG4gICAgfVxuICB9XG5cbiAgLy8gVE9ETzogdGhpcyBoYW5kbGluZyBvZiBtdWx0aXBsZSBuZXN0ZWQgYWN0aXZpdGllcyBpcyBvbmx5IHVzZWQgYnkgdGhlIGFjdGl2aXR5IGNvbXBvbmVudCBhbmQgaXMgbm90IGEgZ2VuZXJhbCBjYXNlLlxuICAvLyBAVHJhY2UoKVxuICBwcm90ZWN0ZWQgYXN5bmMgY3JlYXRlQW5kTGF1bmNoQWN0aXZpdHk8RDEsIFIxLCBFMT4oYWN0aXZpdHlUeXBlOiBDb25zdHJ1Y3RhYmxlPEFjdGl2aXR5PEQxLCBSMSwgRTE+PiwgZGF0YTogRDEsIGRpc2FibGVDbG9zZTogYm9vbGVhbik6IFByb21pc2U8UjE+IHtcbiAgICBhc3NlcnQuaXNUcnV0aHkodGhpcy5pc0luaXRpYWxpc2VkKCkpOyAvLyBtYWtlIHN1cmUgd2UndmUgYmVlbiBpbml0aWFsaXNlZFxuICAgIGNvbnN0IGFjdGl2aXR5UmVmID0gbmV3IEFjdGl2aXR5UmVmPEQxLCBSMSwgRTE+KGFjdGl2aXR5VHlwZSwgZGF0YSwgKCkgPT4ge1xuICAgICAgY29uc3QgaXNBY3RpdmUgPSB0aGlzLmdldEFjdGl2ZUFjdGl2aXR5Q291bnQoKSA+IDA7XG4gICAgICBpZiAoaXNBY3RpdmUpIHtcbiAgICAgICAgdGhpcy50cmlnZ2VyVGFiU3luY2hyb25pc2F0aW9uKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmZpbmlzaEFuZFN0YXJ0Q2xlYW51cCgpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMubGF1bmNoQWN0aXZpdHkoYWN0aXZpdHlSZWYpO1xuICAgIC8vIGlmIHRoaXMgaXMgdGhlIGZpcnN0IGFjdGl2aXR5IGxldCB0aGUgaW50ZXJhY3Rpb24gc2VydmljZSBrbm93LlxuICAgIGlmICh0aGlzLmFjdGl2aXR5UmVmcy5sZW5ndGggPT09IDEpIHtcbiAgICAgIHRoaXMuaW50ZXJhY3Rpb25TZXJ2aWNlQXBpLm5vdGlmeUFjdGl2ZSh0aGlzKTtcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgcmV0dXJuIGF3YWl0IGFjdGl2aXR5UmVmLmFjdGl2aXR5UmVzdWx0O1xuICAgIH0gZmluYWxseSB7XG4gICAgICAvLyBjb25zb2xlLmxvZyhcImNsb3NpbmcgYWN0aXZpdHlcIiwgYWN0aXZpdHlUeXBlLm5hbWUsIHRoaXMuYWN0aXZpdHlSZWZzKVxuICAgICAgaWYgKCF0aGlzLmlzQWN0aXZlKCkpIHtcbiAgICAgICAgLy8gd2FpdCB1bnRpbCB0aGUgYWN0aXZpdHkgcm91dGUgc3luY2luZyBoYXMgZmluaXNoZWRcbiAgICAgICAgYXdhaXQgdGhpcy5wbGFjZVJvdXRlci53YWl0QWN0aXZpdGllc1N5bmNocm9uaXNlZCgpO1xuICAgICAgICBjb25zb2xlLmxvZyhcImFjdGl2aXR5IHN5bmNpbmcgZmluaXNoZWRcIilcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldEFjdGl2ZUFjdGl2aXR5Q291bnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5hY3Rpdml0eVJlZnMuZmlsdGVyKHJlZiA9PiAhcmVmLmlzQ29tcGxldGUoKSkubGVuZ3RoO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiB0aGlzIGludGVyYWN0aW9uIGNvbnRleHQgaGFzIGZpbmlzaGVkIGFuIGlzIGluIHRoZSBwcm9jZXNzIG9mIHdhaXRpbmdcbiAgICogZm9yIGFsbCB0aGUgaW5mcmFzdHJ1Y3R1cmUgKGluY2x1ZGluZyByb3V0ZSB1cGRhdGVzKSB0byBiZSBjb21wbGV0ZWQuXG4gICAqL1xuICBpc0NsZWFuaW5nVXAoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5fZGVmZXJyZWRDbGVhblVwO1xuICB9XG5cbiAgYXN5bmMgd2FpdEZvckludGVyYWN0aW9uQ29udGV4dENsZWFudXBUb0ZpbmlzaCgpOiBQcm9taXNlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLl9kZWZlcnJlZENsZWFuVXAgP1xuICAgICAgdGhpcy5fZGVmZXJyZWRDbGVhblVwIDpcbiAgICAgIHRydWU7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBwcml2YXRlIGZpbmlzaEFuZFN0YXJ0Q2xlYW51cCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX2RlZmVycmVkQ2xlYW5VcCkge1xuICAgICAgLy8gSW1wb3J0YW50OlxuICAgICAgLy8gQ2xlYXIgb3VyIHRhYnMgc28gdGhlIG5leHQgYWN0aXZpdHkgdHJpZ2dlcnMgYSB0YWIgY2hhbmdlLlxuICAgICAgLy8gV2l0aG91dCB0aGlzIG91ciBhbmltYXRpb24gZG9uZSB3YXNuJ3QgY2FsbGVkIHdoZW4gYSBzaW5nbGVcbiAgICAgIC8vIG5ldyBhY3Rpdml0eSBmb2xsb3dlZCBhIHNpbmdsZSB0YWIgYWN0aXZpdHkgKHNpbmNlIHdlJ3JlIHRyYWNraW5nXG4gICAgICAvLyBieSBhY3Rpdml0eSBpbmRleClcbiAgICAgIHRoaXMuYWN0aXZpdHlSZWZzID0gW107XG4gICAgICBjb25zdCBwcm9taXNlID0gdGhpcy5pbnRlcmFjdGlvblNlcnZpY2VBcGkubm90aWZ5RmluaXNoZWQodGhpcyk7XG4gICAgICB0aGlzLl9kZWZlcnJlZENsZWFuVXAgPSBwcm9taXNlXG4gICAgICAgIC5maW5hbGx5KCgpID0+IHtcbiAgICAgICAgICB0aGlzLl9kZWZlcnJlZENsZWFuVXAgPSBudWxsO1xuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuLy8gQFRyYWNlKClcbiAgbGF1bmNoQWN0aXZpdHk8RDEsIFIxLCBFMT4oYWN0aXZpdHlSZWY6IEFjdGl2aXR5UmVmPEQxLCBSMSwgRTE+KSB7XG4gICAgY29uc3QgY2xlYW5lZFRhYnMgPSB0aGlzLmFjdGl2aXR5UmVmcy5maWx0ZXIodGFiID0+ICF0YWIuaXNDb21wbGV0ZSgpKTtcbiAgICB0aGlzLmFjdGl2aXR5UmVmcyA9IGNsZWFuZWRUYWJzLmNvbmNhdChhY3Rpdml0eVJlZik7XG4gICAgdGhpcy5zeW5jaHJvbmlzZVNlbGVjdGVkVGFiSW5kZXgoKTtcbiAgfVxuXG4gIGFjdGl2aXR5SW5kZXgoaW5kZXg6IG51bWJlciwgYWN0aXZpdHlSZWY6IEFjdGl2aXR5UmVmPGFueSwgYW55LCBhbnk+KSB7XG4gICAgcmV0dXJuIGluZGV4O1xuICB9O1xuXG4gIC8vIEBUcmFjZSgpXG4gIHByaXZhdGUgb25BbmltYXRpb25GaW5pc2hlZCgpIHtcbiAgICBpZiAodGhpcy5vbkFuaW1hdGlvbkZpbmlzaGVkSm9iKSB7XG4gICAgICB0aGlzLm9uQW5pbWF0aW9uRmluaXNoZWRKb2IoKTtcbiAgICAgIHRoaXMub25BbmltYXRpb25GaW5pc2hlZEpvYiA9IHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU3luY2hyb25pc2VzIHRoZSBzZWxlY3RlZCB0YWIgaW5kZXguXG4gICAqL1xuICBAVHJhY2UoKVxuICBwcml2YXRlIHN5bmNocm9uaXNlU2VsZWN0ZWRUYWJJbmRleCgpOiB2b2lkIHtcbiAgICBhc3NlcnQuaXNUcnV0aHkodGhpcy5pc0FjdGl2ZSgpKTtcbiAgICBjb25zdCBwcmV2aW91c0luZGV4ID0gdGhpcy50YWJzLnNlbGVjdGVkSW5kZXg7XG4gICAgY29uc3QgbmV3SW5kZXggPSB0aGlzLmdldEFjdGl2ZUFjdGl2aXR5Q291bnQoKSAtIDE7XG4gICAgaWYgKHByZXZpb3VzSW5kZXggIT09IG5ld0luZGV4KSB7XG4gICAgICB0aGlzLmluQW5pbWF0aW9uLnZhbHVlID0gdHJ1ZTtcbiAgICAgIHRoaXMuYWN0aXZpdHlSZWZzW25ld0luZGV4XS5zZXRGb2N1c2VkKGZhbHNlKTtcbiAgICAgIHRoaXMuYnVzeS5zZXREZWxlZ2F0ZSh0aGlzLmFjdGl2aXR5UmVmc1tuZXdJbmRleF0uYWN0aXZpdHlCdXN5KTtcbiAgICAgIHRoaXMudGFicy5zZWxlY3RlZEluZGV4ID0gbmV3SW5kZXg7XG4gICAgICB0aGlzLm9uQW5pbWF0aW9uRmluaXNoZWRKb2IgPSAoKSA9PiB7XG4gICAgICAgIHRoaXMuYWN0aXZpdHlSZWZzID0gdGhpcy5hY3Rpdml0eVJlZnMuZmlsdGVyKHRhYiA9PiAhdGFiLmlzQ29tcGxldGUoKSk7XG4gICAgICAgIHRoaXMuaW5BbmltYXRpb24udmFsdWUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5hY3Rpdml0eVJlZnMuZm9yRWFjaCgocmVmLCBpbmRleCkgPT4ge1xuICAgICAgICAgIHJlZi5zZXRGb2N1c2VkKGluZGV4ID09PSBuZXdJbmRleCk7XG4gICAgICAgIH0pO1xuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldFNlbGVjdGVkT3V0bGV0KCkge1xuICAgIHJldHVybiB0aGlzLmFjdGl2aXR5T3V0bGV0cy50b0FycmF5KClbdGhpcy50YWJzLnNlbGVjdGVkSW5kZXhdO1xuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgZ2V0U2VsZWN0ZWRUYWJJbmRleCgpIHtcbiAgICByZXR1cm4gdGhpcy50YWJzLnNlbGVjdGVkSW5kZXg7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBwcml2YXRlIHRyaWdnZXJUYWJTeW5jaHJvbmlzYXRpb24oKSB7XG4gICAgaWYgKHRoaXMuc3luY1NlbGVjdGVkVGFiVGltZW91dCkge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuc3luY1NlbGVjdGVkVGFiVGltZW91dCk7XG4gICAgfVxuICAgIHRoaXMuc3luY1NlbGVjdGVkVGFiVGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5zeW5jU2VsZWN0ZWRUYWJUaW1lb3V0ID0gbnVsbDtcbiAgICAgIGlmICh0aGlzLmlzQWN0aXZlKCkpIHtcbiAgICAgICAgdGhpcy5zeW5jaHJvbmlzZVNlbGVjdGVkVGFiSW5kZXgoKTtcbiAgICAgIH1cbiAgICB9LCA3NSk7XG4gIH1cbn1cbiIsIjxtYXQtdGFiLWdyb3VwICN0YWJzIG5vLXRhYi1oZWFkZXJcbiAgICAgICAgICAgICAgIFtkeW5hbWljSGVpZ2h0XT1cImR5bmFtaWNIZWlnaHRcIlxuICAgICAgICAgICAgICAgW2NsYXNzLmZ1bGwtaGVpZ2h0LXRhYnNdPVwiIWR5bmFtaWNIZWlnaHRcIj5cbiAgPG1hdC10YWIgKm5nRm9yPVwibGV0IGFjdGl2aXR5UmVmIG9mIGFjdGl2aXR5UmVmczsgbGV0IGkgPSBpbmRleDsgdHJhY2tCeTogYWN0aXZpdHlJbmRleFwiPlxuICAgIDxhdXAtYnVzeS1vdmVybGF5IFtidXN5TW9kZWxdPVwiYnVzeVwiIGNka1RyYXBGb2N1cyBjZGtUcmFwRm9jdXNBdXRvQ2FwdHVyZT5cbiAgICAgIDwhLS1cbiAgICAgIFdlIGhhdmUgaXNzdWVzIHdoZXJlIGFuZ3VsYXIgaXMgdHJpZ2dlcmluZyBhIGxlYXZlIGFuaW1hdGlvbiB3aGVuIGFuXG4gICAgICBuZXcgYWN0aXZpdHkgaXMgc3RhcnRlZCwgYnV0IGlzIG5vdCBydW5uaW5nIHRoZSBlbnRlciBhbmltYXRpb25cbiAgICAgIHdoZW4gaXQgaXMgc2Nyb2xsZWQgYmFjayBpbnRvIHZpZXcuICBTbyB3ZSB0cmFjayB0aGUgdGFiIGNoYW5nZXMgYW5kXG4gICAgICBkaXNhYmxlIGFsbCBhbmltYXRpb25zIGluc2lkZSB0aGUgdGFiIHdoaWxlIHdlJ3JlIGFuaW1hdGluZy5cbiAgICAgIC0tPlxuICAgICAgPGRpdiBjbGFzcz1cImFjdGl2aXR5LW91dGxldC13cmFwcGVyXCIgW0AuZGlzYWJsZWRdPVwiIWFjdGl2aXR5UmVmLmZvY3VzZWRcIj5cbiAgICAgICAgPGF1cC1hY3Rpdml0eS1vdXRsZXQgW25lc3RlZEludGVyYWN0aW9uQ29udGV4dF09XCJ0aGlzXCIgW2FjdGl2aXR5UmVmXT1cImFjdGl2aXR5UmVmXCI+PC9hdXAtYWN0aXZpdHktb3V0bGV0PlxuICAgICAgPC9kaXY+XG4gICAgPC9hdXAtYnVzeS1vdmVybGF5PlxuICA8L21hdC10YWI+XG48L21hdC10YWItZ3JvdXA+XG4iXX0=
|
|
226
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHktY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL2ludGVyYWN0aW9uL2NvbXBvbmVudHMvYWN0aXZpdHktY29udGFpbmVyL2FjdGl2aXR5LWNvbnRhaW5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9pbnRlcmFjdGlvbi9jb21wb25lbnRzL2FjdGl2aXR5LWNvbnRhaW5lci9hY3Rpdml0eS1jb250YWluZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFFLEtBQUssRUFBVSxTQUFTLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUNMLE1BQU0sRUFFTixvQkFBb0IsRUFFcEIsR0FBRyxFQUNILGdCQUFnQixFQUNoQixpQkFBaUIsRUFDakIsS0FBSyxFQUNOLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRXBELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFckMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzFELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRWhGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVqRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQzs7Ozs7Ozs7QUFPdEYsTUFBTSxPQUFPLDBCQUFvQyxTQUFRLDBCQUEw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LENBQUM7Z0JBQ3JDLENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDO1NBQ0g7SUFDSCxDQUFDO0lBRU8saUJBQWlCO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRCxXQUFXO0lBQ1gsbUJBQW1CO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDakMsQ0FBQztJQUVELFdBQVc7SUFDSCx5QkFBeUI7UUFDL0IsSUFBSSxJQUFJLENBQUMsc0JBQXNCLEVBQUU7WUFDL0IsWUFBWSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1NBQzNDO1FBQ0QsSUFBSSxDQUFDLHNCQUFzQixHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDNUMsSUFBSSxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQztZQUNuQyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRTtnQkFDbkIsSUFBSSxDQUFDLDJCQUEyQixFQUFFLENBQUM7YUFDcEM7UUFDSCxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDVCxDQUFDOzt1SEFqT1UsMEJBQTBCOzJHQUExQiwwQkFBMEIsMk9BUXZCLHVCQUF1Qix1RUNwQ3ZDLG01QkFpQkE7QURxTUU7SUFEQyxLQUFLLEVBQUU7Ozs7NkVBa0JQOzJGQTNNVSwwQkFBMEI7a0JBTHRDLFNBQVM7K0JBQ0Usd0JBQXdCO2tHQU9sQyxhQUFhO3NCQURaLEtBQUs7Z0JBSU4sSUFBSTtzQkFESCxTQUFTO3VCQUFDLE1BQU0sRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBSW5DLGVBQWU7c0JBRGQsWUFBWTt1QkFBQyx1QkFBdUI7Z0JBa0w3QiwyQkFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIElucHV0LCBPbkluaXQsIFF1ZXJ5TGlzdCwgVmlld0NoaWxkLCBWaWV3Q2hpbGRyZW4gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgTWF0VGFiR3JvdXAgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvdGFic1wiO1xuaW1wb3J0IHtcbiAgYXNzZXJ0LFxuICBDb25zdHJ1Y3RhYmxlLFxuICBEZWxlZ2F0aW5nVmFsdWVNb2RlbCxcbiAgRGlzcG9zYWJsZSxcbiAgRHNsLFxuICBHYXJiYWdlQ29sbGVjdG9yLFxuICBNdXRhYmxlVmFsdWVNb2RlbCxcbiAgVHJhY2Vcbn0gZnJvbSBcIkBjb29sb24vcGVjdGluXCI7XG5pbXBvcnQgeyBsYW5nIH0gZnJvbSBcIkBjb29sb24vdHlwZXNjcmlwdC11dGlsaXRpZXNcIjtcblxuaW1wb3J0IHsgZmluZExhc3QgfSBmcm9tIFwibG9kYXNoLWVzXCI7XG5pbXBvcnQgeyBzbGlkZURvd25PbkVudGVyQW5pbWF0aW9uIH0gZnJvbSBcIi4uLy4uLy4uL2FuaW1hdGlvbnMvc2xpZGUtYW5pbWF0aW9uc1wiO1xuaW1wb3J0IHsgUGxhY2VSb3V0ZXIgfSBmcm9tIFwiLi4vLi4vLi4vcGxhY2UvcGxhY2Utcm91dGVyXCI7XG5pbXBvcnQgeyBBYnN0cmFjdEludGVyYWN0aW9uQ29udGV4dCB9IGZyb20gXCIuLi8uLi9hYnN0cmFjdC1pbnRlcmFjdGlvbi1jb250ZXh0XCI7XG5pbXBvcnQgeyBBY3Rpdml0eSB9IGZyb20gXCIuLi8uLi9hY3Rpdml0eVwiO1xuaW1wb3J0IHsgQWN0aXZpdHlSZWYgfSBmcm9tIFwiLi4vLi4vYWN0aXZpdHktcmVmXCI7XG5pbXBvcnQgeyBJbnRlcmFjdGlvblNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvaW50ZXJhY3Rpb24uc2VydmljZVwiO1xuaW1wb3J0IHsgQWN0aXZpdHlPdXRsZXRDb21wb25lbnQgfSBmcm9tIFwiLi9hY3Rpdml0eS1vdXRsZXQvYWN0aXZpdHktb3V0bGV0LmNvbXBvbmVudFwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwiYXVwLWFjdGl2aXR5LWNvbnRhaW5lclwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL2FjdGl2aXR5LWNvbnRhaW5lci5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybHM6IFtcIi4vYWN0aXZpdHktY29udGFpbmVyLmNvbXBvbmVudC5zY3NzXCJdXG59KVxuZXhwb3J0IGNsYXNzIEFjdGl2aXR5Q29udGFpbmVyQ29tcG9uZW50PEQsIFIsIEU+IGV4dGVuZHMgQWJzdHJhY3RJbnRlcmFjdGlvbkNvbnRleHQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuXG4gIEBJbnB1dCgpXG4gIGR5bmFtaWNIZWlnaHQgPSBmYWxzZTtcblxuICBAVmlld0NoaWxkKFwidGFic1wiLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICB0YWJzOiBNYXRUYWJHcm91cDtcblxuICBAVmlld0NoaWxkcmVuKEFjdGl2aXR5T3V0bGV0Q29tcG9uZW50KVxuICBhY3Rpdml0eU91dGxldHM6IFF1ZXJ5TGlzdDxBY3Rpdml0eU91dGxldENvbXBvbmVudDxhbnksIGFueSwgYW55Pj47XG5cbiAgYWN0aXZpdHlSZWZzOiBBY3Rpdml0eVJlZjxhbnksIGFueSwgYW55PltdID0gW107XG5cbiAgcHJpdmF0ZSBfaWRlbnRpZmllcjogc3RyaW5nO1xuICBwcml2YXRlIF9kZWZlcnJlZENsZWFuVXA6IFByb21pc2U8YW55PjtcblxuICBwcml2YXRlIGludGVyYWN0aW9uU2VydmljZUFwaTogSW50ZXJhY3Rpb25TZXJ2aWNlLkFwaTtcblxuICBwcml2YXRlIGdhcmJhZ2UgPSBuZXcgR2FyYmFnZUNvbGxlY3RvcigpO1xuICBwcml2YXRlIHN5bmNTZWxlY3RlZFRhYlRpbWVvdXQ6IGFueTtcbiAgcHJpdmF0ZSBvbkFuaW1hdGlvbkZpbmlzaGVkSm9iOiAoKSA9PiB2b2lkO1xuXG4gIHJlYWRvbmx5IGluQW5pbWF0aW9uID0gbmV3IE11dGFibGVWYWx1ZU1vZGVsPGJvb2xlYW4+KGZhbHNlKTtcblxuICByZWFkb25seSBidXN5ID0gdGhpcy5yZWdpc3RlckRpc3Bvc2FibGUobmV3IERlbGVnYXRpbmdWYWx1ZU1vZGVsPGJvb2xlYW4+KCkud2l0aERlZmF1bHQoZmFsc2UpKTtcblxuICBjb25zdHJ1Y3RvcihyZWFkb25seSBwbGFjZVJvdXRlcjogUGxhY2VSb3V0ZXIpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMucmVnaXN0ZXJEaXNwb3NhYmxlKHRoaXMuYnVzeSk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCB7IGNoYWluLCBvYnNlcnZlIH0gPSBEc2wuZGlzcG9zZVdpdGgodGhpcyk7XG4gICAgLy8gdXNpbmcgdGhlIGNvbXBvbmVudCBkaXJlY3RseSByYXRoZXIgdGhhbiAoYW5pbWF0aW9uRG9uZSk9Li4gYWxsb3dzIHVzXG4gICAgLy8gdG8ga2VlcCBvdXIgY2FsbGJhY2sgcHJpdmF0ZS5cbiAgICBvYnNlcnZlLnZhbHVlc0Zyb20odGhpcy50YWJzLmFuaW1hdGlvbkRvbmUpLnN1YnNjcmliZSgoKSA9PiB0aGlzLm9uQW5pbWF0aW9uRmluaXNoZWQoKSk7XG4gIH1cblxuICBpbml0aWFsaXNlKGlkZW50aWZpZXI6IHN0cmluZywgYXBpOiBJbnRlcmFjdGlvblNlcnZpY2UuQXBpKSB7XG4gICAgYXNzZXJ0LmlzRmFsc2V5KHRoaXMuaXNJbml0aWFsaXNlZCgpKTtcbiAgICBhc3NlcnQubm90TmlsKGlkZW50aWZpZXIpO1xuICAgIGFzc2VydC5ub3ROaWwoYXBpKTtcbiAgICB0aGlzLl9pZGVudGlmaWVyID0gaWRlbnRpZmllcjtcbiAgICB0aGlzLmludGVyYWN0aW9uU2VydmljZUFwaSA9IGFwaTtcbiAgfVxuXG4gIGdldCBpZGVudGlmaWVyKCkge1xuICAgIHJldHVybiB0aGlzLl9pZGVudGlmaWVyO1xuICB9XG5cbiAgaXNJbml0aWFsaXNlZCgpIHtcbiAgICByZXR1cm4gISF0aGlzLmlkZW50aWZpZXI7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0cnVlIGlmIGFuIGFjdGl2aXR5IGlzIGN1cnJlbnRseSBydW5uaW5nLlxuICAgKi9cbiAgaXNBY3RpdmUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0QWN0aXZlQWN0aXZpdHlDb3VudCgpID4gMDtcbiAgfVxuXG4gIHJlZ2lzdGVyRGlzcG9zYWJsZTxUIGV4dGVuZHMgRGlzcG9zYWJsZT4oZGlzcG9zYWJsZTogVCk6IFQge1xuICAgIHJldHVybiB0aGlzLmdhcmJhZ2UucmVnaXN0ZXJEaXNwb3NhYmxlKGRpc3Bvc2FibGUpO1xuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgZGlzcG9zZSgpOiB2b2lkIHtcbiAgICAvLyBUT0RPOiB0aGluayBhYm91dCBhdXRvIGNhbmNlbGxpbmcgYW55IG91dHN0YW5kaW5nIGFjdGl2aXR5IG9uIGRpc3Bvc2UuXG4gICAgLy8gICAgICAgU2VlIE5hdmlnYXRpb25TdGF0ZS5OYXZpZ2F0aW5nIGZvciBhIHVzZS1jYXNlLlxuICAgIGFzc2VydC5pc0ZhbHNleSh0aGlzLmlzQWN0aXZlKCkpO1xuICAgIHRoaXMuZ2FyYmFnZS5kaXNwb3NlKCk7XG4gIH1cblxuICBnZXRBY3RpdmVBY3Rpdml0eVJlZigpOiBBY3Rpdml0eVJlZjxhbnksIGFueSwgYW55PiB7XG4gICAgaWYgKCF0aGlzLmlzQWN0aXZlKCkpIHtcbiAgICAgIGxhbmcuaWxsZWdhbFN0YXRlKFwibm8gYWN0aXZpdHkgaW4gcHJvZ3Jlc3NcIik7XG4gICAgfVxuICAgIHJldHVybiBmaW5kTGFzdCh0aGlzLmFjdGl2aXR5UmVmcywgdGFiID0+ICF0YWIuaXNDb21wbGV0ZSgpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYW5jZWxzIHRoZSBjdXJyZW50IGFjdGl2aXR5IGFuZCByZXR1cm5zIHRydWUgdGhlIGNvbnRleHQgaXMgbm8gbG9uZ2VyIGFjdGl2ZSwgZmFsc2UgaWZcbiAgICogdGhlcmUgaXMgc3RpbGwgYW5vdGhlciBhY3Rpdml0eSBydW5uaW5nLlxuICAgKi9cbiAgLy8gQFRyYWNlKClcbiAgYXN5bmMgY2FuY2VsQWN0aXZlQWN0aXZpdHkoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgYWN0aXZpdHkgPSB0aGlzLmdldEFjdGl2ZUFjdGl2aXR5UmVmKCk7XG4gICAgYWN0aXZpdHkuY2FuY2VsKCk7XG4gICAgaWYgKHRoaXMuaXNDbGVhbmluZ1VwKCkpIHtcbiAgICAgIHJldHVybiB0aGlzLndhaXRGb3JJbnRlcmFjdGlvbkNvbnRleHRDbGVhbnVwVG9GaW5pc2goKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuICF0aGlzLmlzQWN0aXZlKCk7XG4gICAgfVxuICB9XG5cbiAgLy8gVE9ETzogdGhpcyBoYW5kbGluZyBvZiBtdWx0aXBsZSBuZXN0ZWQgYWN0aXZpdGllcyBpcyBvbmx5IHVzZWQgYnkgdGhlIGFjdGl2aXR5IGNvbXBvbmVudCBhbmQgaXMgbm90IGEgZ2VuZXJhbCBjYXNlLlxuICAvLyBAVHJhY2UoKVxuICBwcm90ZWN0ZWQgYXN5bmMgY3JlYXRlQW5kTGF1bmNoQWN0aXZpdHk8RDEsIFIxLCBFMT4oYWN0aXZpdHlUeXBlOiBDb25zdHJ1Y3RhYmxlPEFjdGl2aXR5PEQxLCBSMSwgRTE+PiwgZGF0YTogRDEsIGRpc2FibGVDbG9zZTogYm9vbGVhbik6IFByb21pc2U8UjE+IHtcbiAgICBhc3NlcnQuaXNUcnV0aHkodGhpcy5pc0luaXRpYWxpc2VkKCkpOyAvLyBtYWtlIHN1cmUgd2UndmUgYmVlbiBpbml0aWFsaXNlZFxuICAgIGNvbnN0IGFjdGl2aXR5UmVmID0gbmV3IEFjdGl2aXR5UmVmPEQxLCBSMSwgRTE+KGFjdGl2aXR5VHlwZSwgZGF0YSwgKCkgPT4ge1xuICAgICAgY29uc3QgaXNBY3RpdmUgPSB0aGlzLmdldEFjdGl2ZUFjdGl2aXR5Q291bnQoKSA+IDA7XG4gICAgICBpZiAoaXNBY3RpdmUpIHtcbiAgICAgICAgdGhpcy50cmlnZ2VyVGFiU3luY2hyb25pc2F0aW9uKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmZpbmlzaEFuZFN0YXJ0Q2xlYW51cCgpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMubGF1bmNoQWN0aXZpdHkoYWN0aXZpdHlSZWYpO1xuICAgIC8vIGlmIHRoaXMgaXMgdGhlIGZpcnN0IGFjdGl2aXR5IGxldCB0aGUgaW50ZXJhY3Rpb24gc2VydmljZSBrbm93LlxuICAgIGlmICh0aGlzLmFjdGl2aXR5UmVmcy5sZW5ndGggPT09IDEpIHtcbiAgICAgIHRoaXMuaW50ZXJhY3Rpb25TZXJ2aWNlQXBpLm5vdGlmeUFjdGl2ZSh0aGlzKTtcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgcmV0dXJuIGF3YWl0IGFjdGl2aXR5UmVmLmFjdGl2aXR5UmVzdWx0O1xuICAgIH0gZmluYWxseSB7XG4gICAgICAvLyBjb25zb2xlLmxvZyhcImNsb3NpbmcgYWN0aXZpdHlcIiwgYWN0aXZpdHlUeXBlLm5hbWUsIHRoaXMuYWN0aXZpdHlSZWZzKVxuICAgICAgaWYgKCF0aGlzLmlzQWN0aXZlKCkpIHtcbiAgICAgICAgLy8gd2FpdCB1bnRpbCB0aGUgYWN0aXZpdHkgcm91dGUgc3luY2luZyBoYXMgZmluaXNoZWRcbiAgICAgICAgYXdhaXQgdGhpcy5wbGFjZVJvdXRlci53YWl0QWN0aXZpdGllc1N5bmNocm9uaXNlZCgpO1xuICAgICAgICBjb25zb2xlLmxvZyhcImFjdGl2aXR5IHN5bmNpbmcgZmluaXNoZWRcIilcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldEFjdGl2ZUFjdGl2aXR5Q291bnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5hY3Rpdml0eVJlZnMuZmlsdGVyKHJlZiA9PiAhcmVmLmlzQ29tcGxldGUoKSkubGVuZ3RoO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiB0aGlzIGludGVyYWN0aW9uIGNvbnRleHQgaGFzIGZpbmlzaGVkIGFuIGlzIGluIHRoZSBwcm9jZXNzIG9mIHdhaXRpbmdcbiAgICogZm9yIGFsbCB0aGUgaW5mcmFzdHJ1Y3R1cmUgKGluY2x1ZGluZyByb3V0ZSB1cGRhdGVzKSB0byBiZSBjb21wbGV0ZWQuXG4gICAqL1xuICBpc0NsZWFuaW5nVXAoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5fZGVmZXJyZWRDbGVhblVwO1xuICB9XG5cbiAgYXN5bmMgd2FpdEZvckludGVyYWN0aW9uQ29udGV4dENsZWFudXBUb0ZpbmlzaCgpOiBQcm9taXNlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLl9kZWZlcnJlZENsZWFuVXAgP1xuICAgICAgdGhpcy5fZGVmZXJyZWRDbGVhblVwIDpcbiAgICAgIHRydWU7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBwcml2YXRlIGZpbmlzaEFuZFN0YXJ0Q2xlYW51cCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX2RlZmVycmVkQ2xlYW5VcCkge1xuICAgICAgLy8gSW1wb3J0YW50OlxuICAgICAgLy8gQ2xlYXIgb3VyIHRhYnMgc28gdGhlIG5leHQgYWN0aXZpdHkgdHJpZ2dlcnMgYSB0YWIgY2hhbmdlLlxuICAgICAgLy8gV2l0aG91dCB0aGlzIG91ciBhbmltYXRpb24gZG9uZSB3YXNuJ3QgY2FsbGVkIHdoZW4gYSBzaW5nbGVcbiAgICAgIC8vIG5ldyBhY3Rpdml0eSBmb2xsb3dlZCBhIHNpbmdsZSB0YWIgYWN0aXZpdHkgKHNpbmNlIHdlJ3JlIHRyYWNraW5nXG4gICAgICAvLyBieSBhY3Rpdml0eSBpbmRleClcbiAgICAgIHRoaXMuYWN0aXZpdHlSZWZzID0gW107XG4gICAgICBjb25zdCBwcm9taXNlID0gdGhpcy5pbnRlcmFjdGlvblNlcnZpY2VBcGkubm90aWZ5RmluaXNoZWQodGhpcyk7XG4gICAgICB0aGlzLl9kZWZlcnJlZENsZWFuVXAgPSBwcm9taXNlXG4gICAgICAgIC5maW5hbGx5KCgpID0+IHtcbiAgICAgICAgICB0aGlzLl9kZWZlcnJlZENsZWFuVXAgPSBudWxsO1xuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuLy8gQFRyYWNlKClcbiAgbGF1bmNoQWN0aXZpdHk8RDEsIFIxLCBFMT4oYWN0aXZpdHlSZWY6IEFjdGl2aXR5UmVmPEQxLCBSMSwgRTE+KSB7XG4gICAgY29uc3QgY2xlYW5lZFRhYnMgPSB0aGlzLmFjdGl2aXR5UmVmcy5maWx0ZXIodGFiID0+ICF0YWIuaXNDb21wbGV0ZSgpKTtcbiAgICB0aGlzLmFjdGl2aXR5UmVmcyA9IGNsZWFuZWRUYWJzLmNvbmNhdChhY3Rpdml0eVJlZik7XG4gICAgdGhpcy5zeW5jaHJvbmlzZVNlbGVjdGVkVGFiSW5kZXgoKTtcbiAgfVxuXG4gIGFjdGl2aXR5SW5kZXgoaW5kZXg6IG51bWJlciwgYWN0aXZpdHlSZWY6IEFjdGl2aXR5UmVmPGFueSwgYW55LCBhbnk+KSB7XG4gICAgcmV0dXJuIGluZGV4O1xuICB9O1xuXG4gIC8vIEBUcmFjZSgpXG4gIHByaXZhdGUgb25BbmltYXRpb25GaW5pc2hlZCgpIHtcbiAgICBpZiAodGhpcy5vbkFuaW1hdGlvbkZpbmlzaGVkSm9iKSB7XG4gICAgICB0aGlzLm9uQW5pbWF0aW9uRmluaXNoZWRKb2IoKTtcbiAgICAgIHRoaXMub25BbmltYXRpb25GaW5pc2hlZEpvYiA9IHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU3luY2hyb25pc2VzIHRoZSBzZWxlY3RlZCB0YWIgaW5kZXguXG4gICAqL1xuICBAVHJhY2UoKVxuICBwcml2YXRlIHN5bmNocm9uaXNlU2VsZWN0ZWRUYWJJbmRleCgpOiB2b2lkIHtcbiAgICBhc3NlcnQuaXNUcnV0aHkodGhpcy5pc0FjdGl2ZSgpKTtcbiAgICBjb25zdCBwcmV2aW91c0luZGV4ID0gdGhpcy50YWJzLnNlbGVjdGVkSW5kZXg7XG4gICAgY29uc3QgbmV3SW5kZXggPSB0aGlzLmdldEFjdGl2ZUFjdGl2aXR5Q291bnQoKSAtIDE7XG4gICAgaWYgKHByZXZpb3VzSW5kZXggIT09IG5ld0luZGV4KSB7XG4gICAgICB0aGlzLmluQW5pbWF0aW9uLnZhbHVlID0gdHJ1ZTtcbiAgICAgIHRoaXMuYWN0aXZpdHlSZWZzW25ld0luZGV4XS5zZXRGb2N1c2VkKGZhbHNlKTtcbiAgICAgIHRoaXMuYnVzeS5zZXREZWxlZ2F0ZSh0aGlzLmFjdGl2aXR5UmVmc1tuZXdJbmRleF0uYWN0aXZpdHlCdXN5KTtcbiAgICAgIHRoaXMudGFicy5zZWxlY3RlZEluZGV4ID0gbmV3SW5kZXg7XG4gICAgICB0aGlzLm9uQW5pbWF0aW9uRmluaXNoZWRKb2IgPSAoKSA9PiB7XG4gICAgICAgIHRoaXMuYWN0aXZpdHlSZWZzID0gdGhpcy5hY3Rpdml0eVJlZnMuZmlsdGVyKHRhYiA9PiAhdGFiLmlzQ29tcGxldGUoKSk7XG4gICAgICAgIHRoaXMuaW5BbmltYXRpb24udmFsdWUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5hY3Rpdml0eVJlZnMuZm9yRWFjaCgocmVmLCBpbmRleCkgPT4ge1xuICAgICAgICAgIHJlZi5zZXRGb2N1c2VkKGluZGV4ID09PSBuZXdJbmRleCk7XG4gICAgICAgIH0pO1xuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldFNlbGVjdGVkT3V0bGV0KCkge1xuICAgIHJldHVybiB0aGlzLmFjdGl2aXR5T3V0bGV0cy50b0FycmF5KClbdGhpcy50YWJzLnNlbGVjdGVkSW5kZXhdO1xuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgZ2V0U2VsZWN0ZWRUYWJJbmRleCgpIHtcbiAgICByZXR1cm4gdGhpcy50YWJzLnNlbGVjdGVkSW5kZXg7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBwcml2YXRlIHRyaWdnZXJUYWJTeW5jaHJvbmlzYXRpb24oKSB7XG4gICAgaWYgKHRoaXMuc3luY1NlbGVjdGVkVGFiVGltZW91dCkge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuc3luY1NlbGVjdGVkVGFiVGltZW91dCk7XG4gICAgfVxuICAgIHRoaXMuc3luY1NlbGVjdGVkVGFiVGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5zeW5jU2VsZWN0ZWRUYWJUaW1lb3V0ID0gbnVsbDtcbiAgICAgIGlmICh0aGlzLmlzQWN0aXZlKCkpIHtcbiAgICAgICAgdGhpcy5zeW5jaHJvbmlzZVNlbGVjdGVkVGFiSW5kZXgoKTtcbiAgICAgIH1cbiAgICB9LCA3NSk7XG4gIH1cbn1cbiIsIjxtYXQtdGFiLWdyb3VwICN0YWJzIG5vLXRhYi1oZWFkZXJcbiAgICAgICAgICAgICAgIFtkeW5hbWljSGVpZ2h0XT1cImR5bmFtaWNIZWlnaHRcIlxuICAgICAgICAgICAgICAgW2NsYXNzLmZ1bGwtaGVpZ2h0LXRhYnNdPVwiIWR5bmFtaWNIZWlnaHRcIj5cbiAgPG1hdC10YWIgKm5nRm9yPVwibGV0IGFjdGl2aXR5UmVmIG9mIGFjdGl2aXR5UmVmczsgbGV0IGkgPSBpbmRleDsgdHJhY2tCeTogYWN0aXZpdHlJbmRleFwiPlxuICAgIDxhdXAtYnVzeS1vdmVybGF5IFtidXN5TW9kZWxdPVwiYnVzeVwiIGNka1RyYXBGb2N1cyBjZGtUcmFwRm9jdXNBdXRvQ2FwdHVyZT5cbiAgICAgIDwhLS1cbiAgICAgIFdlIGhhdmUgaXNzdWVzIHdoZXJlIGFuZ3VsYXIgaXMgdHJpZ2dlcmluZyBhIGxlYXZlIGFuaW1hdGlvbiB3aGVuIGFuXG4gICAgICBuZXcgYWN0aXZpdHkgaXMgc3RhcnRlZCwgYnV0IGlzIG5vdCBydW5uaW5nIHRoZSBlbnRlciBhbmltYXRpb25cbiAgICAgIHdoZW4gaXQgaXMgc2Nyb2xsZWQgYmFjayBpbnRvIHZpZXcuICBTbyB3ZSB0cmFjayB0aGUgdGFiIGNoYW5nZXMgYW5kXG4gICAgICBkaXNhYmxlIGFsbCBhbmltYXRpb25zIGluc2lkZSB0aGUgdGFiIHdoaWxlIHdlJ3JlIGFuaW1hdGluZy5cbiAgICAgIC0tPlxuICAgICAgPGRpdiBjbGFzcz1cImFjdGl2aXR5LW91dGxldC13cmFwcGVyXCIgW0AuZGlzYWJsZWRdPVwiIWFjdGl2aXR5UmVmLmZvY3VzZWRcIj5cbiAgICAgICAgPGF1cC1hY3Rpdml0eS1vdXRsZXQgW25lc3RlZEludGVyYWN0aW9uQ29udGV4dF09XCJ0aGlzXCIgW2FjdGl2aXR5UmVmXT1cImFjdGl2aXR5UmVmXCI+PC9hdXAtYWN0aXZpdHktb3V0bGV0PlxuICAgICAgPC9kaXY+XG4gICAgPC9hdXAtYnVzeS1vdmVybGF5PlxuICA8L21hdC10YWI+XG48L21hdC10YWItZ3JvdXA+XG4iXX0=
|