angular-three-soba 2.0.0-beta.6 → 2.0.0-beta.7
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/esm2022/materials/mesh-reflector-material/mesh-reflector-material.mjs +3 -3
- package/esm2022/materials/mesh-refraction-material/mesh-refraction-material.mjs +2 -2
- package/esm2022/materials/mesh-transmission-material/mesh-transmission-material.mjs +2 -2
- package/esm2022/staging/environment/environment-ground.mjs +2 -2
- package/esm2022/staging/environment/utils.mjs +2 -2
- package/esm2022/staging/spot-light/volumetric-mesh.mjs +23 -9
- package/fesm2022/angular-three-soba-materials.mjs +4 -4
- package/fesm2022/angular-three-soba-materials.mjs.map +1 -1
- package/fesm2022/angular-three-soba-staging.mjs +24 -10
- package/fesm2022/angular-three-soba-staging.mjs.map +1 -1
- package/package.json +7 -7
- package/plugin/package.json +1 -1
|
@@ -207,7 +207,7 @@ class NgtsMeshReflectorMaterial extends NgtSignalStore {
|
|
|
207
207
|
#onBeforeRender(state) {
|
|
208
208
|
if (!this.materialRef.nativeElement)
|
|
209
209
|
return;
|
|
210
|
-
const parent = getLocalState(this.materialRef.nativeElement).parent
|
|
210
|
+
const parent = getLocalState(this.materialRef.nativeElement).parent?.value;
|
|
211
211
|
if (!parent)
|
|
212
212
|
return;
|
|
213
213
|
const { gl, scene } = state;
|
|
@@ -234,7 +234,7 @@ class NgtsMeshReflectorMaterial extends NgtSignalStore {
|
|
|
234
234
|
}
|
|
235
235
|
}
|
|
236
236
|
#beforeRender(state) {
|
|
237
|
-
const parent = getLocalState(this.materialRef.nativeElement).parent
|
|
237
|
+
const parent = getLocalState(this.materialRef.nativeElement).parent?.value;
|
|
238
238
|
if (!parent)
|
|
239
239
|
return;
|
|
240
240
|
const { camera } = state;
|
|
@@ -380,4 +380,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.3", ngImpor
|
|
|
380
380
|
}], reflectorOffset: [{
|
|
381
381
|
type: Input
|
|
382
382
|
}] } });
|
|
383
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzaC1yZWZsZWN0b3ItbWF0ZXJpYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NvYmEvbWF0ZXJpYWxzL3NyYy9tZXNoLXJlZmxlY3Rvci1tYXRlcmlhbC9tZXNoLXJlZmxlY3Rvci1tYXRlcmlhbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkMsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQ0gsTUFBTSxFQUNOLGFBQWEsRUFDYixrQkFBa0IsRUFDbEIsWUFBWSxFQUNaLE9BQU8sRUFFUCxjQUFjLEVBQ2QsUUFBUSxHQUNYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxRQUFRLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RSxPQUFPLEtBQUssS0FBSyxNQUFNLE9BQU8sQ0FBQzs7QUFFL0IsTUFBTSxDQUFDLEVBQUUscUJBQXFCLEVBQUUsQ0FBQyxDQUFDO0FBa0JsQyxNQWdDYSx5QkFBMEIsU0FBUSxjQUE4QztJQUd6RixJQUFhLFVBQVUsQ0FBQyxVQUFrQjtRQUN0QyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFBYSxPQUFPLENBQUMsT0FBZTtRQUNoQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBYSxXQUFXLENBQUMsV0FBbUI7UUFDeEMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELElBQWEsSUFBSSxDQUFDLElBQStCO1FBQzdDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFhLE1BQU0sQ0FBQyxNQUFjO1FBQzlCLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUFhLGlCQUFpQixDQUFDLGlCQUF5QjtRQUNwRCxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxJQUFhLGlCQUFpQixDQUFDLGlCQUF5QjtRQUNwRCxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxJQUFhLFVBQVUsQ0FBQyxVQUFrQjtRQUN0QyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFBYSxvQkFBb0IsQ0FBQyxvQkFBNEI7UUFDMUQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLG9CQUFvQixFQUFFLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsSUFBYSxhQUFhLENBQUMsYUFBNEI7UUFDbkQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLGFBQWEsRUFBRSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELElBQWEsVUFBVSxDQUFDLFVBQWtCO1FBQ3RDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRCxJQUFhLFdBQVcsQ0FBQyxXQUFtQjtRQUN4QyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFBYSxlQUFlLENBQUMsZUFBdUI7UUFDaEQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLGVBQWUsRUFBRSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQW9CUSxNQUFNLENBQW9CO0lBQzFCLEdBQUcsQ0FBNEI7SUFFL0IsZUFBZSxDQUFxQjtJQUNwQyxPQUFPLENBQXVCO0lBQzlCLHVCQUF1QixDQUF1QjtJQUM5QyxvQkFBb0IsQ0FBdUI7SUFDM0MsZUFBZSxDQUF1QjtJQUN0QyxlQUFlLENBQStCO0lBQzlDLFVBQVUsQ0FBdUI7SUFDakMsS0FBSyxDQUF1QjtJQUM1QixPQUFPLENBQXVCO0lBQzlCLEVBQUUsQ0FBdUI7SUFDekIsY0FBYyxDQUF1QjtJQUNyQyxjQUFjLENBQWlDO0lBRS9DLEtBQUssQ0FBdUI7SUFDNUIsV0FBVyxDQUE2QjtJQUN4QyxPQUFPLENBQXlCO0lBQ2hDLFFBQVEsQ0FBMEI7SUFDbEMsWUFBWSxDQUE4QjtJQUMxQyxrQkFBa0IsQ0FBb0M7SUFDdEQsa0JBQWtCLENBQW9DO0lBQ3RELFdBQVcsQ0FBNkI7SUFDeEMscUJBQXFCLENBQXVDO0lBQzVELFdBQVcsQ0FBNkI7SUFDeEMsY0FBYyxDQUFnQztJQUM5QyxZQUFZLENBQThCO0lBRTFDLGVBQWUsQ0FHckI7SUFFTSxRQUFRLENBR2Q7SUFFTSxrQkFBa0IsQ0ErRHhCO0lBRUg7UUFDSSxLQUFLLENBQUM7WUFDRixPQUFPLEVBQUUsQ0FBQztZQUNWLFdBQVcsRUFBRSxDQUFDO1lBQ2QsVUFBVSxFQUFFLEdBQUc7WUFDZixJQUFJLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ1osaUJBQWlCLEVBQUUsR0FBRztZQUN0QixpQkFBaUIsRUFBRSxDQUFDO1lBQ3BCLFVBQVUsRUFBRSxDQUFDO1lBQ2Isb0JBQW9CLEVBQUUsSUFBSTtZQUMxQixNQUFNLEVBQUUsQ0FBQztZQUNULFVBQVUsRUFBRSxDQUFDO1lBQ2IsV0FBVyxFQUFFLENBQUM7WUFDZCxlQUFlLEVBQUUsQ0FBQztTQUNyQixDQUFDLENBQUM7UUE5TEUsZ0JBQVcsR0FBRyxZQUFZLEVBQXlCLENBQUM7UUFzRHBELG1CQUFjLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzFFLFlBQU8sR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3hELG9CQUFlLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMvRCwyQkFBc0IsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzdFLHFCQUFnQixHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDakUsc0JBQWlCLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNuRSxvQkFBZSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDL0QsMEJBQXFCLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUMzRSxxQkFBZ0IsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2pFLHlCQUFvQixHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDekUsK0JBQTBCLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ3JGLCtCQUEwQixHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNyRix3QkFBbUIsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3ZFLGtDQUE2QixHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUMzRix3QkFBbUIsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3ZFLDJCQUFzQixHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDN0UseUJBQW9CLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUV6RSxXQUFNLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzFCLFFBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUUvQixvQkFBZSxHQUFHLElBQUksS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3BDLFlBQU8sR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUM5Qiw0QkFBdUIsR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUM5Qyx5QkFBb0IsR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUMzQyxvQkFBZSxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3RDLG9CQUFlLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM5QyxlQUFVLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDakMsVUFBSyxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzVCLFlBQU8sR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUM5QixPQUFFLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDekIsbUJBQWMsR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNyQyxtQkFBYyxHQUFHLElBQUksS0FBSyxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFFL0MsVUFBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDNUIsZ0JBQVcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3hDLFlBQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2hDLGFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2xDLGlCQUFZLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUMxQyx1QkFBa0IsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDdEQsdUJBQWtCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQ3RELGdCQUFXLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUN4QywwQkFBcUIsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDNUQsZ0JBQVcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3hDLG1CQUFjLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUM5QyxpQkFBWSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFMUMsb0JBQWUsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ3JDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUMxQixPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDckQsQ0FBQyxDQUFDLENBQUM7UUFFTSxhQUFRLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUM5QixNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN0QyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3JCLENBQUMsQ0FBQyxDQUFDO1FBRU0sdUJBQWtCLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUN4QyxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDdEIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3RDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUNwQyxNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1lBQ3BELE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFDcEQsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3RDLE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7WUFDMUQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQzlCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNoQyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDeEMsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3hDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN0QyxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDNUMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBRWhDLE1BQU0sVUFBVSxHQUFHO2dCQUNmLFNBQVMsRUFBRSxLQUFLLENBQUMsWUFBWTtnQkFDN0IsU0FBUyxFQUFFLEtBQUssQ0FBQyxZQUFZO2dCQUM3QixRQUFRLEVBQUUsRUFBRSxDQUFDLGNBQWM7Z0JBQzNCLElBQUksRUFBRSxLQUFLLENBQUMsYUFBYTthQUM1QixDQUFDO1lBQ0YsTUFBTSxJQUFJLEdBQUcsSUFBSSxLQUFLLENBQUMsaUJBQWlCLENBQUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztZQUM3RSxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztZQUN4QixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7WUFDbkUsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQztZQUM3QyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsaUJBQWlCLENBQUM7WUFFakQsTUFBTSxJQUFJLEdBQUcsSUFBSSxLQUFLLENBQUMsaUJBQWlCLENBQUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztZQUM3RSxNQUFNLFFBQVEsR0FBRyxJQUFJLFFBQVEsQ0FBQztnQkFDMUIsRUFBRTtnQkFDRixVQUFVO2dCQUNWLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO2dCQUNkLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO2dCQUNmLGlCQUFpQjtnQkFDakIsaUJBQWlCO2dCQUNqQixVQUFVO2dCQUNWLG9CQUFvQjthQUN2QixDQUFDLENBQUM7WUFDSCxNQUFNLGNBQWMsR0FBRztnQkFDbkIsTUFBTTtnQkFDTixhQUFhLEVBQUUsSUFBSSxDQUFDLGNBQWM7Z0JBQ2xDLE9BQU87Z0JBQ1AsUUFBUSxFQUFFLElBQUksQ0FBQyxPQUFPO2dCQUN0QixNQUFNLEVBQUUsSUFBSSxDQUFDLFlBQVk7Z0JBQ3pCLFlBQVksRUFBRSxJQUFJLENBQUMsT0FBTztnQkFDMUIsT0FBTztnQkFDUCxXQUFXO2dCQUNYLGlCQUFpQjtnQkFDakIsaUJBQWlCO2dCQUNqQixVQUFVO2dCQUNWLG9CQUFvQjtnQkFDcEIsVUFBVTtnQkFDVixhQUFhO2dCQUNiLFdBQVc7Z0JBQ1gsT0FBTyxFQUFFO29CQUNMLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUztvQkFDbEMsU0FBUyxFQUFFLFVBQVUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUztvQkFDMUMsY0FBYyxFQUFFLGFBQWEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTO2lCQUNqRDthQUNKLENBQUM7WUFFRixPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsY0FBYyxFQUFFLENBQUM7UUFDcEQsQ0FBQyxDQUFDLENBQUM7UUFrQkMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQsZUFBZSxDQUFDLEtBQXFCO1FBQ2pDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWE7WUFBRSxPQUFPO1FBQzVDLE1BQU0sTUFBTSxHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3RFLElBQUksQ0FBQyxNQUFNO1lBQUUsT0FBTztRQUVwQixNQUFNLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxHQUFHLEtBQUssQ0FBQztRQUM1QixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDaEMsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFFM0QsSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLFFBQVEsRUFBRTtZQUMxQixNQUFNLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUN2QixNQUFNLGdCQUFnQixHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDO1lBQ3ZDLE1BQU0sdUJBQXVCLEdBQUcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUM7WUFDeEQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMxQixFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7WUFDdEIsRUFBRSxDQUFDLFNBQVMsQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1lBQ2hDLEVBQUUsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDekIsRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNyQyxJQUFJLENBQUMsRUFBRSxDQUFDLFNBQVM7Z0JBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQzlCLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUN0QyxJQUFJLE9BQU87Z0JBQUUsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQzdDLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxHQUFHLGdCQUFnQixDQUFDO1lBQ2pDLEVBQUUsQ0FBQyxTQUFTLENBQUMsVUFBVSxHQUFHLHVCQUF1QixDQUFDO1lBQ2xELE1BQU0sQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1lBQ3RCLEVBQUUsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDNUI7SUFDTCxDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQXFCO1FBQy9CLE1BQU0sTUFBTSxHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3RFLElBQUksQ0FBQyxNQUFNO1lBQUUsT0FBTztRQUVwQixNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsS0FBSyxDQUFDO1FBRXpCLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDdkUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNwRSxJQUFJLENBQUMsZUFBZSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMxQixJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDLHVCQUF1QixDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDO1FBQ3hGLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUMvRSxnREFBZ0Q7UUFDaEQsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQztZQUFFLE9BQU87UUFDN0MsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBQzdDLElBQUksQ0FBQyxlQUFlLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN6RCxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3hELElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDNUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzVDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUMxRCxJQUFJLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzdDLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsMEJBQTBCO1FBQ2hFLElBQUksQ0FBQyxjQUFjLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUN4QyxJQUFJLENBQUMsY0FBYyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUNuRSw0QkFBNEI7UUFDNUIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDeEcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ25FLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUNyRSxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDakQsc0hBQXNIO1FBQ3RILHVGQUF1RjtRQUN2RixJQUFJLENBQUMsZUFBZSxDQUFDLDZCQUE2QixDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFDL0YsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQzFFLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUNmLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUMsRUFDN0IsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUM3QixJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQzdCLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUNoQyxDQUFDO1FBQ0YsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLGdCQUFnQixDQUFDO1FBQzlELElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxHQUFHLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN6RyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDekcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUM7UUFDakIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2xGLG9DQUFvQztRQUNwQyxJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDbkUsbURBQW1EO1FBQ25ELGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUNqRCxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFDakQsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQztRQUN4RCxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDdEQsQ0FBQzs4R0EzUlEseUJBQXlCO2tHQUF6Qix5QkFBeUIsbWhCQTdCeEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7S0F5QlQsNERBQ2tCLElBQUk7O1NBR2QseUJBQXlCOzJGQUF6Qix5QkFBeUI7a0JBaENyQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSw4QkFBOEI7b0JBQ3hDLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7S0F5QlQ7b0JBQ0QsT0FBTyxFQUFFLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQztvQkFDeEIsT0FBTyxFQUFFLENBQUMsc0JBQXNCLENBQUM7aUJBQ3BDOzBFQUVZLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRU8sVUFBVTtzQkFBdEIsS0FBSztnQkFJTyxPQUFPO3NCQUFuQixLQUFLO2dCQUlPLFdBQVc7c0JBQXZCLEtBQUs7Z0JBSU8sSUFBSTtzQkFBaEIsS0FBSztnQkFJTyxNQUFNO3NCQUFsQixLQUFLO2dCQUlPLGlCQUFpQjtzQkFBN0IsS0FBSztnQkFJTyxpQkFBaUI7c0JBQTdCLEtBQUs7Z0JBSU8sVUFBVTtzQkFBdEIsS0FBSztnQkFJTyxvQkFBb0I7c0JBQWhDLEtBQUs7Z0JBSU8sYUFBYTtzQkFBekIsS0FBSztnQkFJTyxVQUFVO3NCQUF0QixLQUFLO2dCQUlPLFdBQVc7c0JBQXZCLEtBQUs7Z0JBSU8sZUFBZTtzQkFBM0IsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBjb21wdXRlZCwgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgaW5qZWN0LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBleHRlbmQsXG4gICAgZ2V0TG9jYWxTdGF0ZSxcbiAgICBpbmplY3RCZWZvcmVSZW5kZXIsXG4gICAgaW5qZWN0Tmd0UmVmLFxuICAgIE5ndEFyZ3MsXG4gICAgTmd0UmVuZGVyU3RhdGUsXG4gICAgTmd0U2lnbmFsU3RvcmUsXG4gICAgTmd0U3RvcmUsXG59IGZyb20gJ2FuZ3VsYXItdGhyZWUnO1xuaW1wb3J0IHsgQmx1clBhc3MsIE1lc2hSZWZsZWN0b3JNYXRlcmlhbCB9IGZyb20gJ2FuZ3VsYXItdGhyZWUtc29iYS9zaGFkZXJzJztcbmltcG9ydCAqIGFzIFRIUkVFIGZyb20gJ3RocmVlJztcblxuZXh0ZW5kKHsgTWVzaFJlZmxlY3Rvck1hdGVyaWFsIH0pO1xuXG5leHBvcnQgaW50ZXJmYWNlIE5ndHNNZXNoUmVmbGVjdG9yTWF0ZXJpYWxTdGF0ZSB7XG4gICAgcmVzb2x1dGlvbjogbnVtYmVyO1xuICAgIG1peEJsdXI6IG51bWJlcjtcbiAgICBtaXhTdHJlbmd0aDogbnVtYmVyO1xuICAgIGJsdXI6IFtudW1iZXIsIG51bWJlcl0gfCBudW1iZXI7XG4gICAgbWlycm9yOiBudW1iZXI7XG4gICAgbWluRGVwdGhUaHJlc2hvbGQ6IG51bWJlcjtcbiAgICBtYXhEZXB0aFRocmVzaG9sZDogbnVtYmVyO1xuICAgIGRlcHRoU2NhbGU6IG51bWJlcjtcbiAgICBkZXB0aFRvQmx1clJhdGlvQmlhczogbnVtYmVyO1xuICAgIGRpc3RvcnRpb25NYXA/OiBUSFJFRS5UZXh0dXJlO1xuICAgIGRpc3RvcnRpb246IG51bWJlcjtcbiAgICBtaXhDb250cmFzdDogbnVtYmVyO1xuICAgIHJlZmxlY3Rvck9mZnNldDogbnVtYmVyO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ25ndHMtbWVzaC1yZWZsZWN0b3ItbWF0ZXJpYWwnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgPG5ndC1tZXNoLXJlZmxlY3Rvci1tYXRlcmlhbFxuICAgICAgICAgICAgbmd0Q29tcG91bmRcbiAgICAgICAgICAgIGF0dGFjaD1cIm1hdGVyaWFsXCJcbiAgICAgICAgICAgICpuZ0lmPVwiZGVmaW5lcygpXCJcbiAgICAgICAgICAgIFtyZWZdPVwibWF0ZXJpYWxSZWZcIlxuICAgICAgICAgICAgW2RlZmluZXNdPVwiZGVmaW5lcygpXCJcbiAgICAgICAgICAgIFttaXJyb3JdPVwicmVmbGVjdG9yTWlycm9yKClcIlxuICAgICAgICAgICAgW3RleHR1cmVNYXRyaXhdPVwicmVmbGVjdG9yVGV4dHVyZU1hdHJpeCgpXCJcbiAgICAgICAgICAgIFttaXhCbHVyXT1cInJlZmxlY3Rvck1peEJsdXIoKVwiXG4gICAgICAgICAgICBbdERpZmZ1c2VdPVwicmVmbGVjdG9yVERpZmZ1c2UoKVwiXG4gICAgICAgICAgICBbdERlcHRoXT1cInJlZmxlY3RvclREZXB0aCgpXCJcbiAgICAgICAgICAgIFt0RGlmZnVzZUJsdXJdPVwicmVmbGVjdG9yVERpZmZ1c2VCbHVyKClcIlxuICAgICAgICAgICAgW2hhc0JsdXJdPVwicmVmbGVjdG9ySGFzQmx1cigpXCJcbiAgICAgICAgICAgIFttaXhTdHJlbmd0aF09XCJyZWZsZWN0b3JNaXhTdHJlbmd0aCgpXCJcbiAgICAgICAgICAgIFttaW5EZXB0aFRocmVzaG9sZF09XCJyZWZsZWN0b3JNaW5EZXB0aFRocmVzaG9sZCgpXCJcbiAgICAgICAgICAgIFttYXhEZXB0aFRocmVzaG9sZF09XCJyZWZsZWN0b3JNYXhEZXB0aFRocmVzaG9sZCgpXCJcbiAgICAgICAgICAgIFtkZXB0aFNjYWxlXT1cInJlZmxlY3RvckRlcHRoU2NhbGUoKVwiXG4gICAgICAgICAgICBbZGVwdGhUb0JsdXJSYXRpb0JpYXNdPVwicmVmbGVjdG9yRGVwdGhUb0JsdXJSYXRpb0JpYXMoKVwiXG4gICAgICAgICAgICBbZGlzdG9ydGlvbl09XCJyZWZsZWN0b3JEaXN0b3J0aW9uKClcIlxuICAgICAgICAgICAgW2Rpc3RvcnRpb25NYXBdPVwicmVmbGVjdG9yRGlzdG9ydGlvbk1hcCgpXCJcbiAgICAgICAgICAgIFttaXhDb250cmFzdF09XCJyZWZsZWN0b3JNaXhDb250cmFzdCgpXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPG5nLWNvbnRlbnQgLz5cbiAgICAgICAgPC9uZ3QtbWVzaC1yZWZsZWN0b3ItbWF0ZXJpYWw+XG4gICAgYCxcbiAgICBpbXBvcnRzOiBbTmd0QXJncywgTmdJZl0sXG4gICAgc2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxufSlcbmV4cG9ydCBjbGFzcyBOZ3RzTWVzaFJlZmxlY3Rvck1hdGVyaWFsIGV4dGVuZHMgTmd0U2lnbmFsU3RvcmU8Tmd0c01lc2hSZWZsZWN0b3JNYXRlcmlhbFN0YXRlPiB7XG4gICAgQElucHV0KCkgbWF0ZXJpYWxSZWYgPSBpbmplY3ROZ3RSZWY8TWVzaFJlZmxlY3Rvck1hdGVyaWFsPigpO1xuXG4gICAgQElucHV0KCkgc2V0IHJlc29sdXRpb24ocmVzb2x1dGlvbjogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgcmVzb2x1dGlvbiB9KTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgbWl4Qmx1cihtaXhCbHVyOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5zZXQoeyBtaXhCbHVyIH0pO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCBtaXhTdHJlbmd0aChtaXhTdHJlbmd0aDogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgbWl4U3RyZW5ndGggfSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IGJsdXIoYmx1cjogW251bWJlciwgbnVtYmVyXSB8IG51bWJlcikge1xuICAgICAgICB0aGlzLnNldCh7IGJsdXIgfSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IG1pcnJvcihtaXJyb3I6IG51bWJlcikge1xuICAgICAgICB0aGlzLnNldCh7IG1pcnJvciB9KTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgbWluRGVwdGhUaHJlc2hvbGQobWluRGVwdGhUaHJlc2hvbGQ6IG51bWJlcikge1xuICAgICAgICB0aGlzLnNldCh7IG1pbkRlcHRoVGhyZXNob2xkIH0pO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCBtYXhEZXB0aFRocmVzaG9sZChtYXhEZXB0aFRocmVzaG9sZDogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgbWF4RGVwdGhUaHJlc2hvbGQgfSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IGRlcHRoU2NhbGUoZGVwdGhTY2FsZTogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgZGVwdGhTY2FsZSB9KTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgZGVwdGhUb0JsdXJSYXRpb0JpYXMoZGVwdGhUb0JsdXJSYXRpb0JpYXM6IG51bWJlcikge1xuICAgICAgICB0aGlzLnNldCh7IGRlcHRoVG9CbHVyUmF0aW9CaWFzIH0pO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCBkaXN0b3J0aW9uTWFwKGRpc3RvcnRpb25NYXA6IFRIUkVFLlRleHR1cmUpIHtcbiAgICAgICAgdGhpcy5zZXQoeyBkaXN0b3J0aW9uTWFwIH0pO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCBkaXN0b3J0aW9uKGRpc3RvcnRpb246IG51bWJlcikge1xuICAgICAgICB0aGlzLnNldCh7IGRpc3RvcnRpb24gfSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IG1peENvbnRyYXN0KG1peENvbnRyYXN0OiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5zZXQoeyBtaXhDb250cmFzdCB9KTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgcmVmbGVjdG9yT2Zmc2V0KHJlZmxlY3Rvck9mZnNldDogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgcmVmbGVjdG9yT2Zmc2V0IH0pO1xuICAgIH1cblxuICAgIHJlYWRvbmx5IHJlZmxlY3RvclByb3BzID0gY29tcHV0ZWQoKCkgPT4gdGhpcy4jcmVmbGVjdG9yRW50aXRpZXMoKS5yZWZsZWN0b3JQcm9wcyk7XG4gICAgcmVhZG9ubHkgZGVmaW5lcyA9IGNvbXB1dGVkKCgpID0+IHRoaXMucmVmbGVjdG9yUHJvcHMoKS5kZWZpbmVzKTtcbiAgICByZWFkb25seSByZWZsZWN0b3JNaXJyb3IgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnJlZmxlY3RvclByb3BzKCkubWlycm9yKTtcbiAgICByZWFkb25seSByZWZsZWN0b3JUZXh0dXJlTWF0cml4ID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5yZWZsZWN0b3JQcm9wcygpLnRleHR1cmVNYXRyaXgpO1xuICAgIHJlYWRvbmx5IHJlZmxlY3Rvck1peEJsdXIgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnJlZmxlY3RvclByb3BzKCkubWl4Qmx1cik7XG4gICAgcmVhZG9ubHkgcmVmbGVjdG9yVERpZmZ1c2UgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnJlZmxlY3RvclByb3BzKCkudERpZmZ1c2UpO1xuICAgIHJlYWRvbmx5IHJlZmxlY3RvclREZXB0aCA9IGNvbXB1dGVkKCgpID0+IHRoaXMucmVmbGVjdG9yUHJvcHMoKS50RGVwdGgpO1xuICAgIHJlYWRvbmx5IHJlZmxlY3RvclREaWZmdXNlQmx1ciA9IGNvbXB1dGVkKCgpID0+IHRoaXMucmVmbGVjdG9yUHJvcHMoKS50RGlmZnVzZUJsdXIpO1xuICAgIHJlYWRvbmx5IHJlZmxlY3Rvckhhc0JsdXIgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnJlZmxlY3RvclByb3BzKCkuaGFzQmx1cik7XG4gICAgcmVhZG9ubHkgcmVmbGVjdG9yTWl4U3RyZW5ndGggPSBjb21wdXRlZCgoKSA9PiB0aGlzLnJlZmxlY3RvclByb3BzKCkubWl4U3RyZW5ndGgpO1xuICAgIHJlYWRvbmx5IHJlZmxlY3Rvck1pbkRlcHRoVGhyZXNob2xkID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5yZWZsZWN0b3JQcm9wcygpLm1pbkRlcHRoVGhyZXNob2xkKTtcbiAgICByZWFkb25seSByZWZsZWN0b3JNYXhEZXB0aFRocmVzaG9sZCA9IGNvbXB1dGVkKCgpID0+IHRoaXMucmVmbGVjdG9yUHJvcHMoKS5tYXhEZXB0aFRocmVzaG9sZCk7XG4gICAgcmVhZG9ubHkgcmVmbGVjdG9yRGVwdGhTY2FsZSA9IGNvbXB1dGVkKCgpID0+IHRoaXMucmVmbGVjdG9yUHJvcHMoKS5kZXB0aFNjYWxlKTtcbiAgICByZWFkb25seSByZWZsZWN0b3JEZXB0aFRvQmx1clJhdGlvQmlhcyA9IGNvbXB1dGVkKCgpID0+IHRoaXMucmVmbGVjdG9yUHJvcHMoKS5kZXB0aFRvQmx1clJhdGlvQmlhcyk7XG4gICAgcmVhZG9ubHkgcmVmbGVjdG9yRGlzdG9ydGlvbiA9IGNvbXB1dGVkKCgpID0+IHRoaXMucmVmbGVjdG9yUHJvcHMoKS5kaXN0b3J0aW9uKTtcbiAgICByZWFkb25seSByZWZsZWN0b3JEaXN0b3J0aW9uTWFwID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5yZWZsZWN0b3JQcm9wcygpLmRpc3RvcnRpb25NYXApO1xuICAgIHJlYWRvbmx5IHJlZmxlY3Rvck1peENvbnRyYXN0ID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5yZWZsZWN0b3JQcm9wcygpLm1peENvbnRyYXN0KTtcblxuICAgIHJlYWRvbmx5ICNzdG9yZSA9IGluamVjdChOZ3RTdG9yZSk7XG4gICAgcmVhZG9ubHkgI2dsID0gdGhpcy4jc3RvcmUuc2VsZWN0KCdnbCcpO1xuXG4gICAgcmVhZG9ubHkgI3JlZmxlY3RvclBsYW5lID0gbmV3IFRIUkVFLlBsYW5lKCk7XG4gICAgcmVhZG9ubHkgI25vcm1hbCA9IG5ldyBUSFJFRS5WZWN0b3IzKCk7XG4gICAgcmVhZG9ubHkgI3JlZmxlY3RvcldvcmxkUG9zaXRpb24gPSBuZXcgVEhSRUUuVmVjdG9yMygpO1xuICAgIHJlYWRvbmx5ICNjYW1lcmFXb3JsZFBvc2l0aW9uID0gbmV3IFRIUkVFLlZlY3RvcjMoKTtcbiAgICByZWFkb25seSAjcm90YXRpb25NYXRyaXggPSBuZXcgVEhSRUUuTWF0cml4NCgpO1xuICAgIHJlYWRvbmx5ICNsb29rQXRQb3NpdGlvbiA9IG5ldyBUSFJFRS5WZWN0b3IzKDAsIDAsIC0xKTtcbiAgICByZWFkb25seSAjY2xpcFBsYW5lID0gbmV3IFRIUkVFLlZlY3RvcjQoKTtcbiAgICByZWFkb25seSAjdmlldyA9IG5ldyBUSFJFRS5WZWN0b3IzKCk7XG4gICAgcmVhZG9ubHkgI3RhcmdldCA9IG5ldyBUSFJFRS5WZWN0b3IzKCk7XG4gICAgcmVhZG9ubHkgI3EgPSBuZXcgVEhSRUUuVmVjdG9yNCgpO1xuICAgIHJlYWRvbmx5ICN0ZXh0dXJlTWF0cml4ID0gbmV3IFRIUkVFLk1hdHJpeDQoKTtcbiAgICByZWFkb25seSAjdmlydHVhbENhbWVyYSA9IG5ldyBUSFJFRS5QZXJzcGVjdGl2ZUNhbWVyYSgpO1xuXG4gICAgcmVhZG9ubHkgI2JsdXIgPSB0aGlzLnNlbGVjdCgnYmx1cicpO1xuICAgIHJlYWRvbmx5ICNyZXNvbHV0aW9uID0gdGhpcy5zZWxlY3QoJ3Jlc29sdXRpb24nKTtcbiAgICByZWFkb25seSAjbWlycm9yID0gdGhpcy5zZWxlY3QoJ21pcnJvcicpO1xuICAgIHJlYWRvbmx5ICNtaXhCbHVyID0gdGhpcy5zZWxlY3QoJ21peEJsdXInKTtcbiAgICByZWFkb25seSAjbWl4U3RyZW5ndGggPSB0aGlzLnNlbGVjdCgnbWl4U3RyZW5ndGgnKTtcbiAgICByZWFkb25seSAjbWluRGVwdGhUaHJlc2hvbGQgPSB0aGlzLnNlbGVjdCgnbWluRGVwdGhUaHJlc2hvbGQnKTtcbiAgICByZWFkb25seSAjbWF4RGVwdGhUaHJlc2hvbGQgPSB0aGlzLnNlbGVjdCgnbWF4RGVwdGhUaHJlc2hvbGQnKTtcbiAgICByZWFkb25seSAjZGVwdGhTY2FsZSA9IHRoaXMuc2VsZWN0KCdkZXB0aFNjYWxlJyk7XG4gICAgcmVhZG9ubHkgI2RlcHRoVG9CbHVyUmF0aW9CaWFzID0gdGhpcy5zZWxlY3QoJ2RlcHRoVG9CbHVyUmF0aW9CaWFzJyk7XG4gICAgcmVhZG9ubHkgI2Rpc3RvcnRpb24gPSB0aGlzLnNlbGVjdCgnZGlzdG9ydGlvbicpO1xuICAgIHJlYWRvbmx5ICNkaXN0b3J0aW9uTWFwID0gdGhpcy5zZWxlY3QoJ2Rpc3RvcnRpb25NYXAnKTtcbiAgICByZWFkb25seSAjbWl4Q29udHJhc3QgPSB0aGlzLnNlbGVjdCgnbWl4Q29udHJhc3QnKTtcblxuICAgIHJlYWRvbmx5ICNub3JtYWxpemVkQmx1ciA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgY29uc3QgYmx1ciA9IHRoaXMuI2JsdXIoKTtcbiAgICAgICAgcmV0dXJuIEFycmF5LmlzQXJyYXkoYmx1cikgPyBibHVyIDogW2JsdXIsIGJsdXJdO1xuICAgIH0pO1xuXG4gICAgcmVhZG9ubHkgI2hhc0JsdXIgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IFt4LCB5XSA9IHRoaXMuI25vcm1hbGl6ZWRCbHVyKCk7XG4gICAgICAgIHJldHVybiB4ICsgeSA+IDA7XG4gICAgfSk7XG5cbiAgICByZWFkb25seSAjcmVmbGVjdG9yRW50aXRpZXMgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGdsID0gdGhpcy4jZ2woKTtcbiAgICAgICAgY29uc3QgcmVzb2x1dGlvbiA9IHRoaXMuI3Jlc29sdXRpb24oKTtcbiAgICAgICAgY29uc3QgYmx1ciA9IHRoaXMuI25vcm1hbGl6ZWRCbHVyKCk7XG4gICAgICAgIGNvbnN0IG1pbkRlcHRoVGhyZXNob2xkID0gdGhpcy4jbWluRGVwdGhUaHJlc2hvbGQoKTtcbiAgICAgICAgY29uc3QgbWF4RGVwdGhUaHJlc2hvbGQgPSB0aGlzLiNtYXhEZXB0aFRocmVzaG9sZCgpO1xuICAgICAgICBjb25zdCBkZXB0aFNjYWxlID0gdGhpcy4jZGVwdGhTY2FsZSgpO1xuICAgICAgICBjb25zdCBkZXB0aFRvQmx1clJhdGlvQmlhcyA9IHRoaXMuI2RlcHRoVG9CbHVyUmF0aW9CaWFzKCk7XG4gICAgICAgIGNvbnN0IG1pcnJvciA9IHRoaXMuI21pcnJvcigpO1xuICAgICAgICBjb25zdCBtaXhCbHVyID0gdGhpcy4jbWl4Qmx1cigpO1xuICAgICAgICBjb25zdCBtaXhTdHJlbmd0aCA9IHRoaXMuI21peFN0cmVuZ3RoKCk7XG4gICAgICAgIGNvbnN0IG1peENvbnRyYXN0ID0gdGhpcy4jbWl4Q29udHJhc3QoKTtcbiAgICAgICAgY29uc3QgZGlzdG9ydGlvbiA9IHRoaXMuI2Rpc3RvcnRpb24oKTtcbiAgICAgICAgY29uc3QgZGlzdG9ydGlvbk1hcCA9IHRoaXMuI2Rpc3RvcnRpb25NYXAoKTtcbiAgICAgICAgY29uc3QgaGFzQmx1ciA9IHRoaXMuI2hhc0JsdXIoKTtcblxuICAgICAgICBjb25zdCBwYXJhbWV0ZXJzID0ge1xuICAgICAgICAgICAgbWluRmlsdGVyOiBUSFJFRS5MaW5lYXJGaWx0ZXIsXG4gICAgICAgICAgICBtYWdGaWx0ZXI6IFRIUkVFLkxpbmVhckZpbHRlcixcbiAgICAgICAgICAgIGVuY29kaW5nOiBnbC5vdXRwdXRFbmNvZGluZyxcbiAgICAgICAgICAgIHR5cGU6IFRIUkVFLkhhbGZGbG9hdFR5cGUsXG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IGZibzEgPSBuZXcgVEhSRUUuV2ViR0xSZW5kZXJUYXJnZXQocmVzb2x1dGlvbiwgcmVzb2x1dGlvbiwgcGFyYW1ldGVycyk7XG4gICAgICAgIGZibzEuZGVwdGhCdWZmZXIgPSB0cnVlO1xuICAgICAgICBmYm8xLmRlcHRoVGV4dHVyZSA9IG5ldyBUSFJFRS5EZXB0aFRleHR1cmUocmVzb2x1dGlvbiwgcmVzb2x1dGlvbik7XG4gICAgICAgIGZibzEuZGVwdGhUZXh0dXJlLmZvcm1hdCA9IFRIUkVFLkRlcHRoRm9ybWF0O1xuICAgICAgICBmYm8xLmRlcHRoVGV4dHVyZS50eXBlID0gVEhSRUUuVW5zaWduZWRTaG9ydFR5cGU7XG5cbiAgICAgICAgY29uc3QgZmJvMiA9IG5ldyBUSFJFRS5XZWJHTFJlbmRlclRhcmdldChyZXNvbHV0aW9uLCByZXNvbHV0aW9uLCBwYXJhbWV0ZXJzKTtcbiAgICAgICAgY29uc3QgYmx1clBhc3MgPSBuZXcgQmx1clBhc3Moe1xuICAgICAgICAgICAgZ2wsXG4gICAgICAgICAgICByZXNvbHV0aW9uLFxuICAgICAgICAgICAgd2lkdGg6IGJsdXJbMF0sXG4gICAgICAgICAgICBoZWlnaHQ6IGJsdXJbMV0sXG4gICAgICAgICAgICBtaW5EZXB0aFRocmVzaG9sZCxcbiAgICAgICAgICAgIG1heERlcHRoVGhyZXNob2xkLFxuICAgICAgICAgICAgZGVwdGhTY2FsZSxcbiAgICAgICAgICAgIGRlcHRoVG9CbHVyUmF0aW9CaWFzLFxuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgcmVmbGVjdG9yUHJvcHMgPSB7XG4gICAgICAgICAgICBtaXJyb3IsXG4gICAgICAgICAgICB0ZXh0dXJlTWF0cml4OiB0aGlzLiN0ZXh0dXJlTWF0cml4LFxuICAgICAgICAgICAgbWl4Qmx1cixcbiAgICAgICAgICAgIHREaWZmdXNlOiBmYm8xLnRleHR1cmUsXG4gICAgICAgICAgICB0RGVwdGg6IGZibzEuZGVwdGhUZXh0dXJlLFxuICAgICAgICAgICAgdERpZmZ1c2VCbHVyOiBmYm8yLnRleHR1cmUsXG4gICAgICAgICAgICBoYXNCbHVyLFxuICAgICAgICAgICAgbWl4U3RyZW5ndGgsXG4gICAgICAgICAgICBtaW5EZXB0aFRocmVzaG9sZCxcbiAgICAgICAgICAgIG1heERlcHRoVGhyZXNob2xkLFxuICAgICAgICAgICAgZGVwdGhTY2FsZSxcbiAgICAgICAgICAgIGRlcHRoVG9CbHVyUmF0aW9CaWFzLFxuICAgICAgICAgICAgZGlzdG9ydGlvbixcbiAgICAgICAgICAgIGRpc3RvcnRpb25NYXAsXG4gICAgICAgICAgICBtaXhDb250cmFzdCxcbiAgICAgICAgICAgIGRlZmluZXM6IHtcbiAgICAgICAgICAgICAgICBVU0VfQkxVUjogaGFzQmx1ciA/ICcnIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgIFVTRV9ERVBUSDogZGVwdGhTY2FsZSA+IDAgPyAnJyA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICBVU0VfRElTVE9SVElPTjogZGlzdG9ydGlvbk1hcCA/ICcnIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfTtcblxuICAgICAgICByZXR1cm4geyBmYm8xLCBmYm8yLCBibHVyUGFzcywgcmVmbGVjdG9yUHJvcHMgfTtcbiAgICB9KTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcih7XG4gICAgICAgICAgICBtaXhCbHVyOiAwLFxuICAgICAgICAgICAgbWl4U3RyZW5ndGg6IDEsXG4gICAgICAgICAgICByZXNvbHV0aW9uOiAyNTYsXG4gICAgICAgICAgICBibHVyOiBbMCwgMF0sXG4gICAgICAgICAgICBtaW5EZXB0aFRocmVzaG9sZDogMC45LFxuICAgICAgICAgICAgbWF4RGVwdGhUaHJlc2hvbGQ6IDEsXG4gICAgICAgICAgICBkZXB0aFNjYWxlOiAwLFxuICAgICAgICAgICAgZGVwdGhUb0JsdXJSYXRpb0JpYXM6IDAuMjUsXG4gICAgICAgICAgICBtaXJyb3I6IDAsXG4gICAgICAgICAgICBkaXN0b3J0aW9uOiAxLFxuICAgICAgICAgICAgbWl4Q29udHJhc3Q6IDEsXG4gICAgICAgICAgICByZWZsZWN0b3JPZmZzZXQ6IDAsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGluamVjdEJlZm9yZVJlbmRlcih0aGlzLiNvbkJlZm9yZVJlbmRlci5iaW5kKHRoaXMpKTtcbiAgICB9XG5cbiAgICAjb25CZWZvcmVSZW5kZXIoc3RhdGU6IE5ndFJlbmRlclN0YXRlKSB7XG4gICAgICAgIGlmICghdGhpcy5tYXRlcmlhbFJlZi5uYXRpdmVFbGVtZW50KSByZXR1cm47XG4gICAgICAgIGNvbnN0IHBhcmVudCA9IGdldExvY2FsU3RhdGUodGhpcy5tYXRlcmlhbFJlZi5uYXRpdmVFbGVtZW50KS5wYXJlbnQoKTtcbiAgICAgICAgaWYgKCFwYXJlbnQpIHJldHVybjtcblxuICAgICAgICBjb25zdCB7IGdsLCBzY2VuZSB9ID0gc3RhdGU7XG4gICAgICAgIGNvbnN0IGhhc0JsdXIgPSB0aGlzLiNoYXNCbHVyKCk7XG4gICAgICAgIGNvbnN0IHsgZmJvMSwgZmJvMiwgYmx1clBhc3MgfSA9IHRoaXMuI3JlZmxlY3RvckVudGl0aWVzKCk7XG5cbiAgICAgICAgaWYgKGZibzEgJiYgZmJvMiAmJiBibHVyUGFzcykge1xuICAgICAgICAgICAgcGFyZW50LnZpc2libGUgPSBmYWxzZTtcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRYckVuYWJsZWQgPSBnbC54ci5lbmFibGVkO1xuICAgICAgICAgICAgY29uc3QgY3VycmVudFNoYWRvd0F1dG9VcGRhdGUgPSBnbC5zaGFkb3dNYXAuYXV0b1VwZGF0ZTtcbiAgICAgICAgICAgIHRoaXMuI2JlZm9yZVJlbmRlcihzdGF0ZSk7XG4gICAgICAgICAgICBnbC54ci5lbmFibGVkID0gZmFsc2U7XG4gICAgICAgICAgICBnbC5zaGFkb3dNYXAuYXV0b1VwZGF0ZSA9IGZhbHNlO1xuICAgICAgICAgICAgZ2wuc2V0UmVuZGVyVGFyZ2V0KGZibzEpO1xuICAgICAgICAgICAgZ2wuc3RhdGUuYnVmZmVycy5kZXB0aC5zZXRNYXNrKHRydWUpO1xuICAgICAgICAgICAgaWYgKCFnbC5hdXRvQ2xlYXIpIGdsLmNsZWFyKCk7XG4gICAgICAgICAgICBnbC5yZW5kZXIoc2NlbmUsIHRoaXMuI3ZpcnR1YWxDYW1lcmEpO1xuICAgICAgICAgICAgaWYgKGhhc0JsdXIpIGJsdXJQYXNzLnJlbmRlcihnbCwgZmJvMSwgZmJvMik7XG4gICAgICAgICAgICBnbC54ci5lbmFibGVkID0gY3VycmVudFhyRW5hYmxlZDtcbiAgICAgICAgICAgIGdsLnNoYWRvd01hcC5hdXRvVXBkYXRlID0gY3VycmVudFNoYWRvd0F1dG9VcGRhdGU7XG4gICAgICAgICAgICBwYXJlbnQudmlzaWJsZSA9IHRydWU7XG4gICAgICAgICAgICBnbC5zZXRSZW5kZXJUYXJnZXQobnVsbCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAjYmVmb3JlUmVuZGVyKHN0YXRlOiBOZ3RSZW5kZXJTdGF0ZSkge1xuICAgICAgICBjb25zdCBwYXJlbnQgPSBnZXRMb2NhbFN0YXRlKHRoaXMubWF0ZXJpYWxSZWYubmF0aXZlRWxlbWVudCkucGFyZW50KCk7XG4gICAgICAgIGlmICghcGFyZW50KSByZXR1cm47XG5cbiAgICAgICAgY29uc3QgeyBjYW1lcmEgfSA9IHN0YXRlO1xuXG4gICAgICAgIHRoaXMuI3JlZmxlY3RvcldvcmxkUG9zaXRpb24uc2V0RnJvbU1hdHJpeFBvc2l0aW9uKHBhcmVudC5tYXRyaXhXb3JsZCk7XG4gICAgICAgIHRoaXMuI2NhbWVyYVdvcmxkUG9zaXRpb24uc2V0RnJvbU1hdHJpeFBvc2l0aW9uKGNhbWVyYS5tYXRyaXhXb3JsZCk7XG4gICAgICAgIHRoaXMuI3JvdGF0aW9uTWF0cml4LmV4dHJhY3RSb3RhdGlvbihwYXJlbnQubWF0cml4V29ybGQpO1xuICAgICAgICB0aGlzLiNub3JtYWwuc2V0KDAsIDAsIDEpO1xuICAgICAgICB0aGlzLiNub3JtYWwuYXBwbHlNYXRyaXg0KHRoaXMuI3JvdGF0aW9uTWF0cml4KTtcbiAgICAgICAgdGhpcy4jcmVmbGVjdG9yV29ybGRQb3NpdGlvbi5hZGRTY2FsZWRWZWN0b3IodGhpcy4jbm9ybWFsLCB0aGlzLmdldCgncmVmbGVjdG9yT2Zmc2V0JykpO1xuICAgICAgICB0aGlzLiN2aWV3LnN1YlZlY3RvcnModGhpcy4jcmVmbGVjdG9yV29ybGRQb3NpdGlvbiwgdGhpcy4jY2FtZXJhV29ybGRQb3NpdGlvbik7XG4gICAgICAgIC8vIEF2b2lkIHJlbmRlcmluZyB3aGVuIHJlZmxlY3RvciBpcyBmYWNpbmcgYXdheVxuICAgICAgICBpZiAodGhpcy4jdmlldy5kb3QodGhpcy4jbm9ybWFsKSA+IDApIHJldHVybjtcbiAgICAgICAgdGhpcy4jdmlldy5yZWZsZWN0KHRoaXMuI25vcm1hbCkubmVnYXRlKCk7XG4gICAgICAgIHRoaXMuI3ZpZXcuYWRkKHRoaXMuI3JlZmxlY3RvcldvcmxkUG9zaXRpb24pO1xuICAgICAgICB0aGlzLiNyb3RhdGlvbk1hdHJpeC5leHRyYWN0Um90YXRpb24oY2FtZXJhLm1hdHJpeFdvcmxkKTtcbiAgICAgICAgdGhpcy4jbG9va0F0UG9zaXRpb24uc2V0KDAsIDAsIC0xKTtcbiAgICAgICAgdGhpcy4jbG9va0F0UG9zaXRpb24uYXBwbHlNYXRyaXg0KHRoaXMuI3JvdGF0aW9uTWF0cml4KTtcbiAgICAgICAgdGhpcy4jbG9va0F0UG9zaXRpb24uYWRkKHRoaXMuI2NhbWVyYVdvcmxkUG9zaXRpb24pO1xuICAgICAgICB0aGlzLiN0YXJnZXQuc3ViVmVjdG9ycyh0aGlzLiNyZWZsZWN0b3JXb3JsZFBvc2l0aW9uLCB0aGlzLiNsb29rQXRQb3NpdGlvbik7XG4gICAgICAgIHRoaXMuI3RhcmdldC5yZWZsZWN0KHRoaXMuI25vcm1hbCkubmVnYXRlKCk7XG4gICAgICAgIHRoaXMuI3RhcmdldC5hZGQodGhpcy4jcmVmbGVjdG9yV29ybGRQb3NpdGlvbik7XG4gICAgICAgIHRoaXMuI3ZpcnR1YWxDYW1lcmEucG9zaXRpb24uY29weSh0aGlzLiN2aWV3KTtcbiAgICAgICAgdGhpcy4jdmlydHVhbENhbWVyYS51cC5zZXQoMCwgMSwgMCk7XG4gICAgICAgIHRoaXMuI3ZpcnR1YWxDYW1lcmEudXAuYXBwbHlNYXRyaXg0KHRoaXMuI3JvdGF0aW9uTWF0cml4KTtcbiAgICAgICAgdGhpcy4jdmlydHVhbENhbWVyYS51cC5yZWZsZWN0KHRoaXMuI25vcm1hbCk7XG4gICAgICAgIHRoaXMuI3ZpcnR1YWxDYW1lcmEubG9va0F0KHRoaXMuI3RhcmdldCk7XG4gICAgICAgIHRoaXMuI3ZpcnR1YWxDYW1lcmEuZmFyID0gY2FtZXJhLmZhcjsgLy8gVXNlZCBpbiBXZWJHTEJhY2tncm91bmRcbiAgICAgICAgdGhpcy4jdmlydHVhbENhbWVyYS51cGRhdGVNYXRyaXhXb3JsZCgpO1xuICAgICAgICB0aGlzLiN2aXJ0dWFsQ2FtZXJhLnByb2plY3Rpb25NYXRyaXguY29weShjYW1lcmEucHJvamVjdGlvbk1hdHJpeCk7XG4gICAgICAgIC8vIFVwZGF0ZSB0aGUgdGV4dHVyZSBtYXRyaXhcbiAgICAgICAgdGhpcy4jdGV4dHVyZU1hdHJpeC5zZXQoMC41LCAwLjAsIDAuMCwgMC41LCAwLjAsIDAuNSwgMC4wLCAwLjUsIDAuMCwgMC4wLCAwLjUsIDAuNSwgMC4wLCAwLjAsIDAuMCwgMS4wKTtcbiAgICAgICAgdGhpcy4jdGV4dHVyZU1hdHJpeC5tdWx0aXBseSh0aGlzLiN2aXJ0dWFsQ2FtZXJhLnByb2plY3Rpb25NYXRyaXgpO1xuICAgICAgICB0aGlzLiN0ZXh0dXJlTWF0cml4Lm11bHRpcGx5KHRoaXMuI3ZpcnR1YWxDYW1lcmEubWF0cml4V29ybGRJbnZlcnNlKTtcbiAgICAgICAgdGhpcy4jdGV4dHVyZU1hdHJpeC5tdWx0aXBseShwYXJlbnQubWF0cml4V29ybGQpO1xuICAgICAgICAvLyBOb3cgdXBkYXRlIHByb2plY3Rpb24gbWF0cml4IHdpdGggbmV3IGNsaXAgcGxhbmUsIGltcGxlbWVudGluZyBjb2RlIGZyb206IGh0dHA6Ly93d3cudGVyYXRob24uY29tL2NvZGUvb2JsaXF1ZS5odG1sXG4gICAgICAgIC8vIFBhcGVyIGV4cGxhaW5pbmcgdGhpcyB0ZWNobmlxdWU6IGh0dHA6Ly93d3cudGVyYXRob24uY29tL2xlbmd5ZWwvTGVuZ3llbC1PYmxpcXVlLnBkZlxuICAgICAgICB0aGlzLiNyZWZsZWN0b3JQbGFuZS5zZXRGcm9tTm9ybWFsQW5kQ29wbGFuYXJQb2ludCh0aGlzLiNub3JtYWwsIHRoaXMuI3JlZmxlY3RvcldvcmxkUG9zaXRpb24pO1xuICAgICAgICB0aGlzLiNyZWZsZWN0b3JQbGFuZS5hcHBseU1hdHJpeDQodGhpcy4jdmlydHVhbENhbWVyYS5tYXRyaXhXb3JsZEludmVyc2UpO1xuICAgICAgICB0aGlzLiNjbGlwUGxhbmUuc2V0KFxuICAgICAgICAgICAgdGhpcy4jcmVmbGVjdG9yUGxhbmUubm9ybWFsLngsXG4gICAgICAgICAgICB0aGlzLiNyZWZsZWN0b3JQbGFuZS5ub3JtYWwueSxcbiAgICAgICAgICAgIHRoaXMuI3JlZmxlY3RvclBsYW5lLm5vcm1hbC56LFxuICAgICAgICAgICAgdGhpcy4jcmVmbGVjdG9yUGxhbmUuY29uc3RhbnRcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgcHJvamVjdGlvbk1hdHJpeCA9IHRoaXMuI3ZpcnR1YWxDYW1lcmEucHJvamVjdGlvbk1hdHJpeDtcbiAgICAgICAgdGhpcy4jcS54ID0gKE1hdGguc2lnbih0aGlzLiNjbGlwUGxhbmUueCkgKyBwcm9qZWN0aW9uTWF0cml4LmVsZW1lbnRzWzhdKSAvIHByb2plY3Rpb25NYXRyaXguZWxlbWVudHNbMF07XG4gICAgICAgIHRoaXMuI3EueSA9IChNYXRoLnNpZ24odGhpcy4jY2xpcFBsYW5lLnkpICsgcHJvamVjdGlvbk1hdHJpeC5lbGVtZW50c1s5XSkgLyBwcm9qZWN0aW9uTWF0cml4LmVsZW1lbnRzWzVdO1xuICAgICAgICB0aGlzLiNxLnogPSAtMS4wO1xuICAgICAgICB0aGlzLiNxLncgPSAoMS4wICsgcHJvamVjdGlvbk1hdHJpeC5lbGVtZW50c1sxMF0pIC8gcHJvamVjdGlvbk1hdHJpeC5lbGVtZW50c1sxNF07XG4gICAgICAgIC8vIENhbGN1bGF0ZSB0aGUgc2NhbGVkIHBsYW5lIHZlY3RvclxuICAgICAgICB0aGlzLiNjbGlwUGxhbmUubXVsdGlwbHlTY2FsYXIoMi4wIC8gdGhpcy4jY2xpcFBsYW5lLmRvdCh0aGlzLiNxKSk7XG4gICAgICAgIC8vIFJlcGxhY2luZyB0aGUgdGhpcmQgcm93IG9mIHRoZSBwcm9qZWN0aW9uIG1hdHJpeFxuICAgICAgICBwcm9qZWN0aW9uTWF0cml4LmVsZW1lbnRzWzJdID0gdGhpcy4jY2xpcFBsYW5lLng7XG4gICAgICAgIHByb2plY3Rpb25NYXRyaXguZWxlbWVudHNbNl0gPSB0aGlzLiNjbGlwUGxhbmUueTtcbiAgICAgICAgcHJvamVjdGlvbk1hdHJpeC5lbGVtZW50c1sxMF0gPSB0aGlzLiNjbGlwUGxhbmUueiArIDEuMDtcbiAgICAgICAgcHJvamVjdGlvbk1hdHJpeC5lbGVtZW50c1sxNF0gPSB0aGlzLiNjbGlwUGxhbmUudztcbiAgICB9XG59XG4iXX0=
|
|
383
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzaC1yZWZsZWN0b3ItbWF0ZXJpYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NvYmEvbWF0ZXJpYWxzL3NyYy9tZXNoLXJlZmxlY3Rvci1tYXRlcmlhbC9tZXNoLXJlZmxlY3Rvci1tYXRlcmlhbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkMsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQ0gsTUFBTSxFQUNOLGFBQWEsRUFDYixrQkFBa0IsRUFDbEIsWUFBWSxFQUNaLE9BQU8sRUFFUCxjQUFjLEVBQ2QsUUFBUSxHQUNYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxRQUFRLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RSxPQUFPLEtBQUssS0FBSyxNQUFNLE9BQU8sQ0FBQzs7QUFFL0IsTUFBTSxDQUFDLEVBQUUscUJBQXFCLEVBQUUsQ0FBQyxDQUFDO0FBa0JsQyxNQWdDYSx5QkFBMEIsU0FBUSxjQUE4QztJQUd6RixJQUFhLFVBQVUsQ0FBQyxVQUFrQjtRQUN0QyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFBYSxPQUFPLENBQUMsT0FBZTtRQUNoQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBYSxXQUFXLENBQUMsV0FBbUI7UUFDeEMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELElBQWEsSUFBSSxDQUFDLElBQStCO1FBQzdDLElBQUksQ0FBQyxHQUFH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QUFDO1FBQ2pELGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUM7UUFDeEQsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBQ3RELENBQUM7OEdBM1JRLHlCQUF5QjtrR0FBekIseUJBQXlCLG1oQkE3QnhCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBeUJULDREQUNrQixJQUFJOztTQUdkLHlCQUF5QjsyRkFBekIseUJBQXlCO2tCQWhDckMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsOEJBQThCO29CQUN4QyxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBeUJUO29CQUNELE9BQU8sRUFBRSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUM7b0JBQ3hCLE9BQU8sRUFBRSxDQUFDLHNCQUFzQixDQUFDO2lCQUNwQzswRUFFWSxXQUFXO3NCQUFuQixLQUFLO2dCQUVPLFVBQVU7c0JBQXRCLEtBQUs7Z0JBSU8sT0FBTztzQkFBbkIsS0FBSztnQkFJTyxXQUFXO3NCQUF2QixLQUFLO2dCQUlPLElBQUk7c0JBQWhCLEtBQUs7Z0JBSU8sTUFBTTtzQkFBbEIsS0FBSztnQkFJTyxpQkFBaUI7c0JBQTdCLEtBQUs7Z0JBSU8saUJBQWlCO3NCQUE3QixLQUFLO2dCQUlPLFVBQVU7c0JBQXRCLEtBQUs7Z0JBSU8sb0JBQW9CO3NCQUFoQyxLQUFLO2dCQUlPLGFBQWE7c0JBQXpCLEtBQUs7Z0JBSU8sVUFBVTtzQkFBdEIsS0FBSztnQkFJTyxXQUFXO3NCQUF2QixLQUFLO2dCQUlPLGVBQWU7c0JBQTNCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgY29tcHV0ZWQsIENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsIGluamVjdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgZXh0ZW5kLFxuICAgIGdldExvY2FsU3RhdGUsXG4gICAgaW5qZWN0QmVmb3JlUmVuZGVyLFxuICAgIGluamVjdE5ndFJlZixcbiAgICBOZ3RBcmdzLFxuICAgIE5ndFJlbmRlclN0YXRlLFxuICAgIE5ndFNpZ25hbFN0b3JlLFxuICAgIE5ndFN0b3JlLFxufSBmcm9tICdhbmd1bGFyLXRocmVlJztcbmltcG9ydCB7IEJsdXJQYXNzLCBNZXNoUmVmbGVjdG9yTWF0ZXJpYWwgfSBmcm9tICdhbmd1bGFyLXRocmVlLXNvYmEvc2hhZGVycyc7XG5pbXBvcnQgKiBhcyBUSFJFRSBmcm9tICd0aHJlZSc7XG5cbmV4dGVuZCh7IE1lc2hSZWZsZWN0b3JNYXRlcmlhbCB9KTtcblxuZXhwb3J0IGludGVyZmFjZSBOZ3RzTWVzaFJlZmxlY3Rvck1hdGVyaWFsU3RhdGUge1xuICAgIHJlc29sdXRpb246IG51bWJlcjtcbiAgICBtaXhCbHVyOiBudW1iZXI7XG4gICAgbWl4U3RyZW5ndGg6IG51bWJlcjtcbiAgICBibHVyOiBbbnVtYmVyLCBudW1iZXJdIHwgbnVtYmVyO1xuICAgIG1pcnJvcjogbnVtYmVyO1xuICAgIG1pbkRlcHRoVGhyZXNob2xkOiBudW1iZXI7XG4gICAgbWF4RGVwdGhUaHJlc2hvbGQ6IG51bWJlcjtcbiAgICBkZXB0aFNjYWxlOiBudW1iZXI7XG4gICAgZGVwdGhUb0JsdXJSYXRpb0JpYXM6IG51bWJlcjtcbiAgICBkaXN0b3J0aW9uTWFwPzogVEhSRUUuVGV4dHVyZTtcbiAgICBkaXN0b3J0aW9uOiBudW1iZXI7XG4gICAgbWl4Q29udHJhc3Q6IG51bWJlcjtcbiAgICByZWZsZWN0b3JPZmZzZXQ6IG51bWJlcjtcbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduZ3RzLW1lc2gtcmVmbGVjdG9yLW1hdGVyaWFsJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDxuZ3QtbWVzaC1yZWZsZWN0b3ItbWF0ZXJpYWxcbiAgICAgICAgICAgIG5ndENvbXBvdW5kXG4gICAgICAgICAgICBhdHRhY2g9XCJtYXRlcmlhbFwiXG4gICAgICAgICAgICAqbmdJZj1cImRlZmluZXMoKVwiXG4gICAgICAgICAgICBbcmVmXT1cIm1hdGVyaWFsUmVmXCJcbiAgICAgICAgICAgIFtkZWZpbmVzXT1cImRlZmluZXMoKVwiXG4gICAgICAgICAgICBbbWlycm9yXT1cInJlZmxlY3Rvck1pcnJvcigpXCJcbiAgICAgICAgICAgIFt0ZXh0dXJlTWF0cml4XT1cInJlZmxlY3RvclRleHR1cmVNYXRyaXgoKVwiXG4gICAgICAgICAgICBbbWl4Qmx1cl09XCJyZWZsZWN0b3JNaXhCbHVyKClcIlxuICAgICAgICAgICAgW3REaWZmdXNlXT1cInJlZmxlY3RvclREaWZmdXNlKClcIlxuICAgICAgICAgICAgW3REZXB0aF09XCJyZWZsZWN0b3JURGVwdGgoKVwiXG4gICAgICAgICAgICBbdERpZmZ1c2VCbHVyXT1cInJlZmxlY3RvclREaWZmdXNlQmx1cigpXCJcbiAgICAgICAgICAgIFtoYXNCbHVyXT1cInJlZmxlY3Rvckhhc0JsdXIoKVwiXG4gICAgICAgICAgICBbbWl4U3RyZW5ndGhdPVwicmVmbGVjdG9yTWl4U3RyZW5ndGgoKVwiXG4gICAgICAgICAgICBbbWluRGVwdGhUaHJlc2hvbGRdPVwicmVmbGVjdG9yTWluRGVwdGhUaHJlc2hvbGQoKVwiXG4gICAgICAgICAgICBbbWF4RGVwdGhUaHJlc2hvbGRdPVwicmVmbGVjdG9yTWF4RGVwdGhUaHJlc2hvbGQoKVwiXG4gICAgICAgICAgICBbZGVwdGhTY2FsZV09XCJyZWZsZWN0b3JEZXB0aFNjYWxlKClcIlxuICAgICAgICAgICAgW2RlcHRoVG9CbHVyUmF0aW9CaWFzXT1cInJlZmxlY3RvckRlcHRoVG9CbHVyUmF0aW9CaWFzKClcIlxuICAgICAgICAgICAgW2Rpc3RvcnRpb25dPVwicmVmbGVjdG9yRGlzdG9ydGlvbigpXCJcbiAgICAgICAgICAgIFtkaXN0b3J0aW9uTWFwXT1cInJlZmxlY3RvckRpc3RvcnRpb25NYXAoKVwiXG4gICAgICAgICAgICBbbWl4Q29udHJhc3RdPVwicmVmbGVjdG9yTWl4Q29udHJhc3QoKVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxuZy1jb250ZW50IC8+XG4gICAgICAgIDwvbmd0LW1lc2gtcmVmbGVjdG9yLW1hdGVyaWFsPlxuICAgIGAsXG4gICAgaW1wb3J0czogW05ndEFyZ3MsIE5nSWZdLFxuICAgIHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcbn0pXG5leHBvcnQgY2xhc3MgTmd0c01lc2hSZWZsZWN0b3JNYXRlcmlhbCBleHRlbmRzIE5ndFNpZ25hbFN0b3JlPE5ndHNNZXNoUmVmbGVjdG9yTWF0ZXJpYWxTdGF0ZT4ge1xuICAgIEBJbnB1dCgpIG1hdGVyaWFsUmVmID0gaW5qZWN0Tmd0UmVmPE1lc2hSZWZsZWN0b3JNYXRlcmlhbD4oKTtcblxuICAgIEBJbnB1dCgpIHNldCByZXNvbHV0aW9uKHJlc29sdXRpb246IG51bWJlcikge1xuICAgICAgICB0aGlzLnNldCh7IHJlc29sdXRpb24gfSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IG1peEJsdXIobWl4Qmx1cjogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgbWl4Qmx1ciB9KTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgbWl4U3RyZW5ndGgobWl4U3RyZW5ndGg6IG51bWJlcikge1xuICAgICAgICB0aGlzLnNldCh7IG1peFN0cmVuZ3RoIH0pO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCBibHVyKGJsdXI6IFtudW1iZXIsIG51bWJlcl0gfCBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5zZXQoeyBibHVyIH0pO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCBtaXJyb3IobWlycm9yOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5zZXQoeyBtaXJyb3IgfSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IG1pbkRlcHRoVGhyZXNob2xkKG1pbkRlcHRoVGhyZXNob2xkOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5zZXQoeyBtaW5EZXB0aFRocmVzaG9sZCB9KTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgbWF4RGVwdGhUaHJlc2hvbGQobWF4RGVwdGhUaHJlc2hvbGQ6IG51bWJlcikge1xuICAgICAgICB0aGlzLnNldCh7IG1heERlcHRoVGhyZXNob2xkIH0pO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCBkZXB0aFNjYWxlKGRlcHRoU2NhbGU6IG51bWJlcikge1xuICAgICAgICB0aGlzLnNldCh7IGRlcHRoU2NhbGUgfSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IGRlcHRoVG9CbHVyUmF0aW9CaWFzKGRlcHRoVG9CbHVyUmF0aW9CaWFzOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5zZXQoeyBkZXB0aFRvQmx1clJhdGlvQmlhcyB9KTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgZGlzdG9ydGlvbk1hcChkaXN0b3J0aW9uTWFwOiBUSFJFRS5UZXh0dXJlKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgZGlzdG9ydGlvbk1hcCB9KTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgZGlzdG9ydGlvbihkaXN0b3J0aW9uOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5zZXQoeyBkaXN0b3J0aW9uIH0pO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCBtaXhDb250cmFzdChtaXhDb250cmFzdDogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgbWl4Q29udHJhc3QgfSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IHJlZmxlY3Rvck9mZnNldChyZWZsZWN0b3JPZmZzZXQ6IG51bWJlcikge1xuICAgICAgICB0aGlzLnNldCh7IHJlZmxlY3Rvck9mZnNldCB9KTtcbiAgICB9XG5cbiAgICByZWFkb25seSByZWZsZWN0b3JQcm9wcyA9IGNvbXB1dGVkKCgpID0+IHRoaXMuI3JlZmxlY3RvckVudGl0aWVzKCkucmVmbGVjdG9yUHJvcHMpO1xuICAgIHJlYWRvbmx5IGRlZmluZXMgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnJlZmxlY3RvclByb3BzKCkuZGVmaW5lcyk7XG4gICAgcmVhZG9ubHkgcmVmbGVjdG9yTWlycm9yID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5yZWZsZWN0b3JQcm9wcygpLm1pcnJvcik7XG4gICAgcmVhZG9ubHkgcmVmbGVjdG9yVGV4dHVyZU1hdHJpeCA9IGNvbXB1dGVkKCgpID0+IHRoaXMucmVmbGVjdG9yUHJvcHMoKS50ZXh0dXJlTWF0cml4KTtcbiAgICByZWFkb25seSByZWZsZWN0b3JNaXhCbHVyID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5yZWZsZWN0b3JQcm9wcygpLm1peEJsdXIpO1xuICAgIHJlYWRvbmx5IHJlZmxlY3RvclREaWZmdXNlID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5yZWZsZWN0b3JQcm9wcygpLnREaWZmdXNlKTtcbiAgICByZWFkb25seSByZWZsZWN0b3JURGVwdGggPSBjb21wdXRlZCgoKSA9PiB0aGlzLnJlZmxlY3RvclByb3BzKCkudERlcHRoKTtcbiAgICByZWFkb25seSByZWZsZWN0b3JURGlmZnVzZUJsdXIgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnJlZmxlY3RvclByb3BzKCkudERpZmZ1c2VCbHVyKTtcbiAgICByZWFkb25seSByZWZsZWN0b3JIYXNCbHVyID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5yZWZsZWN0b3JQcm9wcygpLmhhc0JsdXIpO1xuICAgIHJlYWRvbmx5IHJlZmxlY3Rvck1peFN0cmVuZ3RoID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5yZWZsZWN0b3JQcm9wcygpLm1peFN0cmVuZ3RoKTtcbiAgICByZWFkb25seSByZWZsZWN0b3JNaW5EZXB0aFRocmVzaG9sZCA9IGNvbXB1dGVkKCgpID0+IHRoaXMucmVmbGVjdG9yUHJvcHMoKS5taW5EZXB0aFRocmVzaG9sZCk7XG4gICAgcmVhZG9ubHkgcmVmbGVjdG9yTWF4RGVwdGhUaHJlc2hvbGQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnJlZmxlY3RvclByb3BzKCkubWF4RGVwdGhUaHJlc2hvbGQpO1xuICAgIHJlYWRvbmx5IHJlZmxlY3RvckRlcHRoU2NhbGUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnJlZmxlY3RvclByb3BzKCkuZGVwdGhTY2FsZSk7XG4gICAgcmVhZG9ubHkgcmVmbGVjdG9yRGVwdGhUb0JsdXJSYXRpb0JpYXMgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnJlZmxlY3RvclByb3BzKCkuZGVwdGhUb0JsdXJSYXRpb0JpYXMpO1xuICAgIHJlYWRvbmx5IHJlZmxlY3RvckRpc3RvcnRpb24gPSBjb21wdXRlZCgoKSA9PiB0aGlzLnJlZmxlY3RvclByb3BzKCkuZGlzdG9ydGlvbik7XG4gICAgcmVhZG9ubHkgcmVmbGVjdG9yRGlzdG9ydGlvbk1hcCA9IGNvbXB1dGVkKCgpID0+IHRoaXMucmVmbGVjdG9yUHJvcHMoKS5kaXN0b3J0aW9uTWFwKTtcbiAgICByZWFkb25seSByZWZsZWN0b3JNaXhDb250cmFzdCA9IGNvbXB1dGVkKCgpID0+IHRoaXMucmVmbGVjdG9yUHJvcHMoKS5taXhDb250cmFzdCk7XG5cbiAgICByZWFkb25seSAjc3RvcmUgPSBpbmplY3QoTmd0U3RvcmUpO1xuICAgIHJlYWRvbmx5ICNnbCA9IHRoaXMuI3N0b3JlLnNlbGVjdCgnZ2wnKTtcblxuICAgIHJlYWRvbmx5ICNyZWZsZWN0b3JQbGFuZSA9IG5ldyBUSFJFRS5QbGFuZSgpO1xuICAgIHJlYWRvbmx5ICNub3JtYWwgPSBuZXcgVEhSRUUuVmVjdG9yMygpO1xuICAgIHJlYWRvbmx5ICNyZWZsZWN0b3JXb3JsZFBvc2l0aW9uID0gbmV3IFRIUkVFLlZlY3RvcjMoKTtcbiAgICByZWFkb25seSAjY2FtZXJhV29ybGRQb3NpdGlvbiA9IG5ldyBUSFJFRS5WZWN0b3IzKCk7XG4gICAgcmVhZG9ubHkgI3JvdGF0aW9uTWF0cml4ID0gbmV3IFRIUkVFLk1hdHJpeDQoKTtcbiAgICByZWFkb25seSAjbG9va0F0UG9zaXRpb24gPSBuZXcgVEhSRUUuVmVjdG9yMygwLCAwLCAtMSk7XG4gICAgcmVhZG9ubHkgI2NsaXBQbGFuZSA9IG5ldyBUSFJFRS5WZWN0b3I0KCk7XG4gICAgcmVhZG9ubHkgI3ZpZXcgPSBuZXcgVEhSRUUuVmVjdG9yMygpO1xuICAgIHJlYWRvbmx5ICN0YXJnZXQgPSBuZXcgVEhSRUUuVmVjdG9yMygpO1xuICAgIHJlYWRvbmx5ICNxID0gbmV3IFRIUkVFLlZlY3RvcjQoKTtcbiAgICByZWFkb25seSAjdGV4dHVyZU1hdHJpeCA9IG5ldyBUSFJFRS5NYXRyaXg0KCk7XG4gICAgcmVhZG9ubHkgI3ZpcnR1YWxDYW1lcmEgPSBuZXcgVEhSRUUuUGVyc3BlY3RpdmVDYW1lcmEoKTtcblxuICAgIHJlYWRvbmx5ICNibHVyID0gdGhpcy5zZWxlY3QoJ2JsdXInKTtcbiAgICByZWFkb25seSAjcmVzb2x1dGlvbiA9IHRoaXMuc2VsZWN0KCdyZXNvbHV0aW9uJyk7XG4gICAgcmVhZG9ubHkgI21pcnJvciA9IHRoaXMuc2VsZWN0KCdtaXJyb3InKTtcbiAgICByZWFkb25seSAjbWl4Qmx1ciA9IHRoaXMuc2VsZWN0KCdtaXhCbHVyJyk7XG4gICAgcmVhZG9ubHkgI21peFN0cmVuZ3RoID0gdGhpcy5zZWxlY3QoJ21peFN0cmVuZ3RoJyk7XG4gICAgcmVhZG9ubHkgI21pbkRlcHRoVGhyZXNob2xkID0gdGhpcy5zZWxlY3QoJ21pbkRlcHRoVGhyZXNob2xkJyk7XG4gICAgcmVhZG9ubHkgI21heERlcHRoVGhyZXNob2xkID0gdGhpcy5zZWxlY3QoJ21heERlcHRoVGhyZXNob2xkJyk7XG4gICAgcmVhZG9ubHkgI2RlcHRoU2NhbGUgPSB0aGlzLnNlbGVjdCgnZGVwdGhTY2FsZScpO1xuICAgIHJlYWRvbmx5ICNkZXB0aFRvQmx1clJhdGlvQmlhcyA9IHRoaXMuc2VsZWN0KCdkZXB0aFRvQmx1clJhdGlvQmlhcycpO1xuICAgIHJlYWRvbmx5ICNkaXN0b3J0aW9uID0gdGhpcy5zZWxlY3QoJ2Rpc3RvcnRpb24nKTtcbiAgICByZWFkb25seSAjZGlzdG9ydGlvbk1hcCA9IHRoaXMuc2VsZWN0KCdkaXN0b3J0aW9uTWFwJyk7XG4gICAgcmVhZG9ubHkgI21peENvbnRyYXN0ID0gdGhpcy5zZWxlY3QoJ21peENvbnRyYXN0Jyk7XG5cbiAgICByZWFkb25seSAjbm9ybWFsaXplZEJsdXIgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGJsdXIgPSB0aGlzLiNibHVyKCk7XG4gICAgICAgIHJldHVybiBBcnJheS5pc0FycmF5KGJsdXIpID8gYmx1ciA6IFtibHVyLCBibHVyXTtcbiAgICB9KTtcblxuICAgIHJlYWRvbmx5ICNoYXNCbHVyID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICBjb25zdCBbeCwgeV0gPSB0aGlzLiNub3JtYWxpemVkQmx1cigpO1xuICAgICAgICByZXR1cm4geCArIHkgPiAwO1xuICAgIH0pO1xuXG4gICAgcmVhZG9ubHkgI3JlZmxlY3RvckVudGl0aWVzID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICBjb25zdCBnbCA9IHRoaXMuI2dsKCk7XG4gICAgICAgIGNvbnN0IHJlc29sdXRpb24gPSB0aGlzLiNyZXNvbHV0aW9uKCk7XG4gICAgICAgIGNvbnN0IGJsdXIgPSB0aGlzLiNub3JtYWxpemVkQmx1cigpO1xuICAgICAgICBjb25zdCBtaW5EZXB0aFRocmVzaG9sZCA9IHRoaXMuI21pbkRlcHRoVGhyZXNob2xkKCk7XG4gICAgICAgIGNvbnN0IG1heERlcHRoVGhyZXNob2xkID0gdGhpcy4jbWF4RGVwdGhUaHJlc2hvbGQoKTtcbiAgICAgICAgY29uc3QgZGVwdGhTY2FsZSA9IHRoaXMuI2RlcHRoU2NhbGUoKTtcbiAgICAgICAgY29uc3QgZGVwdGhUb0JsdXJSYXRpb0JpYXMgPSB0aGlzLiNkZXB0aFRvQmx1clJhdGlvQmlhcygpO1xuICAgICAgICBjb25zdCBtaXJyb3IgPSB0aGlzLiNtaXJyb3IoKTtcbiAgICAgICAgY29uc3QgbWl4Qmx1ciA9IHRoaXMuI21peEJsdXIoKTtcbiAgICAgICAgY29uc3QgbWl4U3RyZW5ndGggPSB0aGlzLiNtaXhTdHJlbmd0aCgpO1xuICAgICAgICBjb25zdCBtaXhDb250cmFzdCA9IHRoaXMuI21peENvbnRyYXN0KCk7XG4gICAgICAgIGNvbnN0IGRpc3RvcnRpb24gPSB0aGlzLiNkaXN0b3J0aW9uKCk7XG4gICAgICAgIGNvbnN0IGRpc3RvcnRpb25NYXAgPSB0aGlzLiNkaXN0b3J0aW9uTWFwKCk7XG4gICAgICAgIGNvbnN0IGhhc0JsdXIgPSB0aGlzLiNoYXNCbHVyKCk7XG5cbiAgICAgICAgY29uc3QgcGFyYW1ldGVycyA9IHtcbiAgICAgICAgICAgIG1pbkZpbHRlcjogVEhSRUUuTGluZWFyRmlsdGVyLFxuICAgICAgICAgICAgbWFnRmlsdGVyOiBUSFJFRS5MaW5lYXJGaWx0ZXIsXG4gICAgICAgICAgICBlbmNvZGluZzogZ2wub3V0cHV0RW5jb2RpbmcsXG4gICAgICAgICAgICB0eXBlOiBUSFJFRS5IYWxmRmxvYXRUeXBlLFxuICAgICAgICB9O1xuICAgICAgICBjb25zdCBmYm8xID0gbmV3IFRIUkVFLldlYkdMUmVuZGVyVGFyZ2V0KHJlc29sdXRpb24sIHJlc29sdXRpb24sIHBhcmFtZXRlcnMpO1xuICAgICAgICBmYm8xLmRlcHRoQnVmZmVyID0gdHJ1ZTtcbiAgICAgICAgZmJvMS5kZXB0aFRleHR1cmUgPSBuZXcgVEhSRUUuRGVwdGhUZXh0dXJlKHJlc29sdXRpb24sIHJlc29sdXRpb24pO1xuICAgICAgICBmYm8xLmRlcHRoVGV4dHVyZS5mb3JtYXQgPSBUSFJFRS5EZXB0aEZvcm1hdDtcbiAgICAgICAgZmJvMS5kZXB0aFRleHR1cmUudHlwZSA9IFRIUkVFLlVuc2lnbmVkU2hvcnRUeXBlO1xuXG4gICAgICAgIGNvbnN0IGZibzIgPSBuZXcgVEhSRUUuV2ViR0xSZW5kZXJUYXJnZXQocmVzb2x1dGlvbiwgcmVzb2x1dGlvbiwgcGFyYW1ldGVycyk7XG4gICAgICAgIGNvbnN0IGJsdXJQYXNzID0gbmV3IEJsdXJQYXNzKHtcbiAgICAgICAgICAgIGdsLFxuICAgICAgICAgICAgcmVzb2x1dGlvbixcbiAgICAgICAgICAgIHdpZHRoOiBibHVyWzBdLFxuICAgICAgICAgICAgaGVpZ2h0OiBibHVyWzFdLFxuICAgICAgICAgICAgbWluRGVwdGhUaHJlc2hvbGQsXG4gICAgICAgICAgICBtYXhEZXB0aFRocmVzaG9sZCxcbiAgICAgICAgICAgIGRlcHRoU2NhbGUsXG4gICAgICAgICAgICBkZXB0aFRvQmx1clJhdGlvQmlhcyxcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IHJlZmxlY3RvclByb3BzID0ge1xuICAgICAgICAgICAgbWlycm9yLFxuICAgICAgICAgICAgdGV4dHVyZU1hdHJpeDogdGhpcy4jdGV4dHVyZU1hdHJpeCxcbiAgICAgICAgICAgIG1peEJsdXIsXG4gICAgICAgICAgICB0RGlmZnVzZTogZmJvMS50ZXh0dXJlLFxuICAgICAgICAgICAgdERlcHRoOiBmYm8xLmRlcHRoVGV4dHVyZSxcbiAgICAgICAgICAgIHREaWZmdXNlQmx1cjogZmJvMi50ZXh0dXJlLFxuICAgICAgICAgICAgaGFzQmx1cixcbiAgICAgICAgICAgIG1peFN0cmVuZ3RoLFxuICAgICAgICAgICAgbWluRGVwdGhUaHJlc2hvbGQsXG4gICAgICAgICAgICBtYXhEZXB0aFRocmVzaG9sZCxcbiAgICAgICAgICAgIGRlcHRoU2NhbGUsXG4gICAgICAgICAgICBkZXB0aFRvQmx1clJhdGlvQmlhcyxcbiAgICAgICAgICAgIGRpc3RvcnRpb24sXG4gICAgICAgICAgICBkaXN0b3J0aW9uTWFwLFxuICAgICAgICAgICAgbWl4Q29udHJhc3QsXG4gICAgICAgICAgICBkZWZpbmVzOiB7XG4gICAgICAgICAgICAgICAgVVNFX0JMVVI6IGhhc0JsdXIgPyAnJyA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICBVU0VfREVQVEg6IGRlcHRoU2NhbGUgPiAwID8gJycgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgVVNFX0RJU1RPUlRJT046IGRpc3RvcnRpb25NYXAgPyAnJyA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIHsgZmJvMSwgZmJvMiwgYmx1clBhc3MsIHJlZmxlY3RvclByb3BzIH07XG4gICAgfSk7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoe1xuICAgICAgICAgICAgbWl4Qmx1cjogMCxcbiAgICAgICAgICAgIG1peFN0cmVuZ3RoOiAxLFxuICAgICAgICAgICAgcmVzb2x1dGlvbjogMjU2LFxuICAgICAgICAgICAgYmx1cjogWzAsIDBdLFxuICAgICAgICAgICAgbWluRGVwdGhUaHJlc2hvbGQ6IDAuOSxcbiAgICAgICAgICAgIG1heERlcHRoVGhyZXNob2xkOiAxLFxuICAgICAgICAgICAgZGVwdGhTY2FsZTogMCxcbiAgICAgICAgICAgIGRlcHRoVG9CbHVyUmF0aW9CaWFzOiAwLjI1LFxuICAgICAgICAgICAgbWlycm9yOiAwLFxuICAgICAgICAgICAgZGlzdG9ydGlvbjogMSxcbiAgICAgICAgICAgIG1peENvbnRyYXN0OiAxLFxuICAgICAgICAgICAgcmVmbGVjdG9yT2Zmc2V0OiAwLFxuICAgICAgICB9KTtcblxuICAgICAgICBpbmplY3RCZWZvcmVSZW5kZXIodGhpcy4jb25CZWZvcmVSZW5kZXIuYmluZCh0aGlzKSk7XG4gICAgfVxuXG4gICAgI29uQmVmb3JlUmVuZGVyKHN0YXRlOiBOZ3RSZW5kZXJTdGF0ZSkge1xuICAgICAgICBpZiAoIXRoaXMubWF0ZXJpYWxSZWYubmF0aXZlRWxlbWVudCkgcmV0dXJuO1xuICAgICAgICBjb25zdCBwYXJlbnQgPSBnZXRMb2NhbFN0YXRlKHRoaXMubWF0ZXJpYWxSZWYubmF0aXZlRWxlbWVudCkucGFyZW50Py52YWx1ZTtcbiAgICAgICAgaWYgKCFwYXJlbnQpIHJldHVybjtcblxuICAgICAgICBjb25zdCB7IGdsLCBzY2VuZSB9ID0gc3RhdGU7XG4gICAgICAgIGNvbnN0IGhhc0JsdXIgPSB0aGlzLiNoYXNCbHVyKCk7XG4gICAgICAgIGNvbnN0IHsgZmJvMSwgZmJvMiwgYmx1clBhc3MgfSA9IHRoaXMuI3JlZmxlY3RvckVudGl0aWVzKCk7XG5cbiAgICAgICAgaWYgKGZibzEgJiYgZmJvMiAmJiBibHVyUGFzcykge1xuICAgICAgICAgICAgcGFyZW50LnZpc2libGUgPSBmYWxzZTtcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRYckVuYWJsZWQgPSBnbC54ci5lbmFibGVkO1xuICAgICAgICAgICAgY29uc3QgY3VycmVudFNoYWRvd0F1dG9VcGRhdGUgPSBnbC5zaGFkb3dNYXAuYXV0b1VwZGF0ZTtcbiAgICAgICAgICAgIHRoaXMuI2JlZm9yZVJlbmRlcihzdGF0ZSk7XG4gICAgICAgICAgICBnbC54ci5lbmFibGVkID0gZmFsc2U7XG4gICAgICAgICAgICBnbC5zaGFkb3dNYXAuYXV0b1VwZGF0ZSA9IGZhbHNlO1xuICAgICAgICAgICAgZ2wuc2V0UmVuZGVyVGFyZ2V0KGZibzEpO1xuICAgICAgICAgICAgZ2wuc3RhdGUuYnVmZmVycy5kZXB0aC5zZXRNYXNrKHRydWUpO1xuICAgICAgICAgICAgaWYgKCFnbC5hdXRvQ2xlYXIpIGdsLmNsZWFyKCk7XG4gICAgICAgICAgICBnbC5yZW5kZXIoc2NlbmUsIHRoaXMuI3ZpcnR1YWxDYW1lcmEpO1xuICAgICAgICAgICAgaWYgKGhhc0JsdXIpIGJsdXJQYXNzLnJlbmRlcihnbCwgZmJvMSwgZmJvMik7XG4gICAgICAgICAgICBnbC54ci5lbmFibGVkID0gY3VycmVudFhyRW5hYmxlZDtcbiAgICAgICAgICAgIGdsLnNoYWRvd01hcC5hdXRvVXBkYXRlID0gY3VycmVudFNoYWRvd0F1dG9VcGRhdGU7XG4gICAgICAgICAgICBwYXJlbnQudmlzaWJsZSA9IHRydWU7XG4gICAgICAgICAgICBnbC5zZXRSZW5kZXJUYXJnZXQobnVsbCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAjYmVmb3JlUmVuZGVyKHN0YXRlOiBOZ3RSZW5kZXJTdGF0ZSkge1xuICAgICAgICBjb25zdCBwYXJlbnQgPSBnZXRMb2NhbFN0YXRlKHRoaXMubWF0ZXJpYWxSZWYubmF0aXZlRWxlbWVudCkucGFyZW50Py52YWx1ZTtcbiAgICAgICAgaWYgKCFwYXJlbnQpIHJldHVybjtcblxuICAgICAgICBjb25zdCB7IGNhbWVyYSB9ID0gc3RhdGU7XG5cbiAgICAgICAgdGhpcy4jcmVmbGVjdG9yV29ybGRQb3NpdGlvbi5zZXRGcm9tTWF0cml4UG9zaXRpb24ocGFyZW50Lm1hdHJpeFdvcmxkKTtcbiAgICAgICAgdGhpcy4jY2FtZXJhV29ybGRQb3NpdGlvbi5zZXRGcm9tTWF0cml4UG9zaXRpb24oY2FtZXJhLm1hdHJpeFdvcmxkKTtcbiAgICAgICAgdGhpcy4jcm90YXRpb25NYXRyaXguZXh0cmFjdFJvdGF0aW9uKHBhcmVudC5tYXRyaXhXb3JsZCk7XG4gICAgICAgIHRoaXMuI25vcm1hbC5zZXQoMCwgMCwgMSk7XG4gICAgICAgIHRoaXMuI25vcm1hbC5hcHBseU1hdHJpeDQodGhpcy4jcm90YXRpb25NYXRyaXgpO1xuICAgICAgICB0aGlzLiNyZWZsZWN0b3JXb3JsZFBvc2l0aW9uLmFkZFNjYWxlZFZlY3Rvcih0aGlzLiNub3JtYWwsIHRoaXMuZ2V0KCdyZWZsZWN0b3JPZmZzZXQnKSk7XG4gICAgICAgIHRoaXMuI3ZpZXcuc3ViVmVjdG9ycyh0aGlzLiNyZWZsZWN0b3JXb3JsZFBvc2l0aW9uLCB0aGlzLiNjYW1lcmFXb3JsZFBvc2l0aW9uKTtcbiAgICAgICAgLy8gQXZvaWQgcmVuZGVyaW5nIHdoZW4gcmVmbGVjdG9yIGlzIGZhY2luZyBhd2F5XG4gICAgICAgIGlmICh0aGlzLiN2aWV3LmRvdCh0aGlzLiNub3JtYWwpID4gMCkgcmV0dXJuO1xuICAgICAgICB0aGlzLiN2aWV3LnJlZmxlY3QodGhpcy4jbm9ybWFsKS5uZWdhdGUoKTtcbiAgICAgICAgdGhpcy4jdmlldy5hZGQodGhpcy4jcmVmbGVjdG9yV29ybGRQb3NpdGlvbik7XG4gICAgICAgIHRoaXMuI3JvdGF0aW9uTWF0cml4LmV4dHJhY3RSb3RhdGlvbihjYW1lcmEubWF0cml4V29ybGQpO1xuICAgICAgICB0aGlzLiNsb29rQXRQb3NpdGlvbi5zZXQoMCwgMCwgLTEpO1xuICAgICAgICB0aGlzLiNsb29rQXRQb3NpdGlvbi5hcHBseU1hdHJpeDQodGhpcy4jcm90YXRpb25NYXRyaXgpO1xuICAgICAgICB0aGlzLiNsb29rQXRQb3NpdGlvbi5hZGQodGhpcy4jY2FtZXJhV29ybGRQb3NpdGlvbik7XG4gICAgICAgIHRoaXMuI3RhcmdldC5zdWJWZWN0b3JzKHRoaXMuI3JlZmxlY3RvcldvcmxkUG9zaXRpb24sIHRoaXMuI2xvb2tBdFBvc2l0aW9uKTtcbiAgICAgICAgdGhpcy4jdGFyZ2V0LnJlZmxlY3QodGhpcy4jbm9ybWFsKS5uZWdhdGUoKTtcbiAgICAgICAgdGhpcy4jdGFyZ2V0LmFkZCh0aGlzLiNyZWZsZWN0b3JXb3JsZFBvc2l0aW9uKTtcbiAgICAgICAgdGhpcy4jdmlydHVhbENhbWVyYS5wb3NpdGlvbi5jb3B5KHRoaXMuI3ZpZXcpO1xuICAgICAgICB0aGlzLiN2aXJ0dWFsQ2FtZXJhLnVwLnNldCgwLCAxLCAwKTtcbiAgICAgICAgdGhpcy4jdmlydHVhbENhbWVyYS51cC5hcHBseU1hdHJpeDQodGhpcy4jcm90YXRpb25NYXRyaXgpO1xuICAgICAgICB0aGlzLiN2aXJ0dWFsQ2FtZXJhLnVwLnJlZmxlY3QodGhpcy4jbm9ybWFsKTtcbiAgICAgICAgdGhpcy4jdmlydHVhbENhbWVyYS5sb29rQXQodGhpcy4jdGFyZ2V0KTtcbiAgICAgICAgdGhpcy4jdmlydHVhbENhbWVyYS5mYXIgPSBjYW1lcmEuZmFyOyAvLyBVc2VkIGluIFdlYkdMQmFja2dyb3VuZFxuICAgICAgICB0aGlzLiN2aXJ0dWFsQ2FtZXJhLnVwZGF0ZU1hdHJpeFdvcmxkKCk7XG4gICAgICAgIHRoaXMuI3ZpcnR1YWxDYW1lcmEucHJvamVjdGlvbk1hdHJpeC5jb3B5KGNhbWVyYS5wcm9qZWN0aW9uTWF0cml4KTtcbiAgICAgICAgLy8gVXBkYXRlIHRoZSB0ZXh0dXJlIG1hdHJpeFxuICAgICAgICB0aGlzLiN0ZXh0dXJlTWF0cml4LnNldCgwLjUsIDAuMCwgMC4wLCAwLjUsIDAuMCwgMC41LCAwLjAsIDAuNSwgMC4wLCAwLjAsIDAuNSwgMC41LCAwLjAsIDAuMCwgMC4wLCAxLjApO1xuICAgICAgICB0aGlzLiN0ZXh0dXJlTWF0cml4Lm11bHRpcGx5KHRoaXMuI3ZpcnR1YWxDYW1lcmEucHJvamVjdGlvbk1hdHJpeCk7XG4gICAgICAgIHRoaXMuI3RleHR1cmVNYXRyaXgubXVsdGlwbHkodGhpcy4jdmlydHVhbENhbWVyYS5tYXRyaXhXb3JsZEludmVyc2UpO1xuICAgICAgICB0aGlzLiN0ZXh0dXJlTWF0cml4Lm11bHRpcGx5KHBhcmVudC5tYXRyaXhXb3JsZCk7XG4gICAgICAgIC8vIE5vdyB1cGRhdGUgcHJvamVjdGlvbiBtYXRyaXggd2l0aCBuZXcgY2xpcCBwbGFuZSwgaW1wbGVtZW50aW5nIGNvZGUgZnJvbTogaHR0cDovL3d3dy50ZXJhdGhvbi5jb20vY29kZS9vYmxpcXVlLmh0bWxcbiAgICAgICAgLy8gUGFwZXIgZXhwbGFpbmluZyB0aGlzIHRlY2huaXF1ZTogaHR0cDovL3d3dy50ZXJhdGhvbi5jb20vbGVuZ3llbC9MZW5neWVsLU9ibGlxdWUucGRmXG4gICAgICAgIHRoaXMuI3JlZmxlY3RvclBsYW5lLnNldEZyb21Ob3JtYWxBbmRDb3BsYW5hclBvaW50KHRoaXMuI25vcm1hbCwgdGhpcy4jcmVmbGVjdG9yV29ybGRQb3NpdGlvbik7XG4gICAgICAgIHRoaXMuI3JlZmxlY3RvclBsYW5lLmFwcGx5TWF0cml4NCh0aGlzLiN2aXJ0dWFsQ2FtZXJhLm1hdHJpeFdvcmxkSW52ZXJzZSk7XG4gICAgICAgIHRoaXMuI2NsaXBQbGFuZS5zZXQoXG4gICAgICAgICAgICB0aGlzLiNyZWZsZWN0b3JQbGFuZS5ub3JtYWwueCxcbiAgICAgICAgICAgIHRoaXMuI3JlZmxlY3RvclBsYW5lLm5vcm1hbC55LFxuICAgICAgICAgICAgdGhpcy4jcmVmbGVjdG9yUGxhbmUubm9ybWFsLnosXG4gICAgICAgICAgICB0aGlzLiNyZWZsZWN0b3JQbGFuZS5jb25zdGFudFxuICAgICAgICApO1xuICAgICAgICBjb25zdCBwcm9qZWN0aW9uTWF0cml4ID0gdGhpcy4jdmlydHVhbENhbWVyYS5wcm9qZWN0aW9uTWF0cml4O1xuICAgICAgICB0aGlzLiNxLnggPSAoTWF0aC5zaWduKHRoaXMuI2NsaXBQbGFuZS54KSArIHByb2plY3Rpb25NYXRyaXguZWxlbWVudHNbOF0pIC8gcHJvamVjdGlvbk1hdHJpeC5lbGVtZW50c1swXTtcbiAgICAgICAgdGhpcy4jcS55ID0gKE1hdGguc2lnbih0aGlzLiNjbGlwUGxhbmUueSkgKyBwcm9qZWN0aW9uTWF0cml4LmVsZW1lbnRzWzldKSAvIHByb2plY3Rpb25NYXRyaXguZWxlbWVudHNbNV07XG4gICAgICAgIHRoaXMuI3EueiA9IC0xLjA7XG4gICAgICAgIHRoaXMuI3EudyA9ICgxLjAgKyBwcm9qZWN0aW9uTWF0cml4LmVsZW1lbnRzWzEwXSkgLyBwcm9qZWN0aW9uTWF0cml4LmVsZW1lbnRzWzE0XTtcbiAgICAgICAgLy8gQ2FsY3VsYXRlIHRoZSBzY2FsZWQgcGxhbmUgdmVjdG9yXG4gICAgICAgIHRoaXMuI2NsaXBQbGFuZS5tdWx0aXBseVNjYWxhcigyLjAgLyB0aGlzLiNjbGlwUGxhbmUuZG90KHRoaXMuI3EpKTtcbiAgICAgICAgLy8gUmVwbGFjaW5nIHRoZSB0aGlyZCByb3cgb2YgdGhlIHByb2plY3Rpb24gbWF0cml4XG4gICAgICAgIHByb2plY3Rpb25NYXRyaXguZWxlbWVudHNbMl0gPSB0aGlzLiNjbGlwUGxhbmUueDtcbiAgICAgICAgcHJvamVjdGlvbk1hdHJpeC5lbGVtZW50c1s2XSA9IHRoaXMuI2NsaXBQbGFuZS55O1xuICAgICAgICBwcm9qZWN0aW9uTWF0cml4LmVsZW1lbnRzWzEwXSA9IHRoaXMuI2NsaXBQbGFuZS56ICsgMS4wO1xuICAgICAgICBwcm9qZWN0aW9uTWF0cml4LmVsZW1lbnRzWzE0XSA9IHRoaXMuI2NsaXBQbGFuZS53O1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -92,7 +92,7 @@ class NgtsMeshRefractionMaterial extends NgtSignalStore {
|
|
|
92
92
|
const material = this.materialRef.nativeElement;
|
|
93
93
|
if (!material)
|
|
94
94
|
return;
|
|
95
|
-
const geometry = getLocalState(material).parent
|
|
95
|
+
const geometry = getLocalState(material).parent?.value?.geometry;
|
|
96
96
|
if (geometry) {
|
|
97
97
|
material.bvh = new MeshBVHUniformStruct();
|
|
98
98
|
material.bvh.updateFrom(new MeshBVH(geometry.clone().toNonIndexed(), { lazyGeneration: false, strategy: SAH }));
|
|
@@ -166,4 +166,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.3", ngImpor
|
|
|
166
166
|
}], fastChroma: [{
|
|
167
167
|
type: Input
|
|
168
168
|
}] } });
|
|
169
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzaC1yZWZyYWN0aW9uLW1hdGVyaWFsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zb2JhL21hdGVyaWFscy9zcmMvbWVzaC1yZWZyYWN0aW9uLW1hdGVyaWFsL21lc2gtcmVmcmFjdGlvbi1tYXRlcmlhbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkMsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkcsT0FBTyxFQUFFLE1BQU0sRUFBRSxhQUFhLEVBQUUsa0JBQWtCLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEgsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDcEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFFcEUsTUFBTSxDQUFDLEVBQUUsc0JBQXNCLEVBQUUsQ0FBQyxDQUFDO0FBbUJuQyxNQUFNLGFBQWEsR0FBRyxDQUFDLEdBQXNDLEVBQTRCLEVBQUUsQ0FDdkYsR0FBRyxJQUFLLEdBQXlCLENBQUMsYUFBYSxDQUFDO0FBRXBELE1BeUJhLDBCQUEyQixTQUFRLGNBQStDO0lBRTNGLHNCQUFzQjtJQUN0QixJQUErQixNQUFNLENBQUMsTUFBeUM7UUFDM0UsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUNELDBFQUEwRTtJQUMxRSxJQUFhLE9BQU8sQ0FBQyxPQUFlO1FBQ2hDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFDRCw0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LEVBQUU7Z0JBSVosT0FBTztzQkFBbkIsS0FBSztnQkFJTyxHQUFHO3NCQUFmLEtBQUs7Z0JBSU8sT0FBTztzQkFBbkIsS0FBSztnQkFJTyxrQkFBa0I7c0JBQTlCLEtBQUs7Z0JBSU8sS0FBSztzQkFBakIsS0FBSztnQkFJTyxVQUFVO3NCQUF0QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIGNvbXB1dGVkLCBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBlZmZlY3QsIGluamVjdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGV4dGVuZCwgZ2V0TG9jYWxTdGF0ZSwgaW5qZWN0QmVmb3JlUmVuZGVyLCBpbmplY3ROZ3RSZWYsIE5ndFNpZ25hbFN0b3JlLCBOZ3RTdG9yZSB9IGZyb20gJ2FuZ3VsYXItdGhyZWUnO1xuaW1wb3J0IHsgTWVzaFJlZnJhY3Rpb25NYXRlcmlhbCB9IGZyb20gJ2FuZ3VsYXItdGhyZWUtc29iYS9zaGFkZXJzJztcbmltcG9ydCB7IE1lc2hCVkgsIE1lc2hCVkhVbmlmb3JtU3RydWN0LCBTQUggfSBmcm9tICd0aHJlZS1tZXNoLWJ2aCc7XG5cbmV4dGVuZCh7IE1lc2hSZWZyYWN0aW9uTWF0ZXJpYWwgfSk7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmd0c01lc2hSZWZyYWN0aW9uTWF0ZXJpYWxTdGF0ZSB7XG4gICAgLyoqIEVudmlyb25tZW50IG1hcCAqL1xuICAgIGVudk1hcDogVEhSRUUuQ3ViZVRleHR1cmUgfCBUSFJFRS5UZXh0dXJlO1xuICAgIC8qKiBOdW1iZXIgb2YgcmF5LWNhc3QgYm91bmNlcywgaXQgY2FuIGJlIGV4cGVuc2l2ZSB0byBoYXZlIHRvbyBtYW55LCAyICovXG4gICAgYm91bmNlczogbnVtYmVyO1xuICAgIC8qKiBSZWZyYWN0aW9uIGluZGV4LCAyLjQgKi9cbiAgICBpb3I6IG51bWJlcjtcbiAgICAvKiogRnJlc25lbCAoc3RyaXAgbGlnaHQpLCAwICovXG4gICAgZnJlc25lbDogbnVtYmVyO1xuICAgIC8qKiBSR0Igc2hpZnQgaW50ZW5zaXR5LCBjYW4gYmUgZXhwZW5zaXZlLCAwICovXG4gICAgYWJlcnJhdGlvblN0cmVuZ3RoOiBudW1iZXI7XG4gICAgLyoqIENvbG9yLCB3aGl0ZSAqL1xuICAgIGNvbG9yOiBUSFJFRS5Db2xvclJlcHJlc2VudGF0aW9uO1xuICAgIC8qKiBJZiB0aGlzIGlzIG9uIGl0IHVzZXMgZmV3ZXIgcmF5IGNhc3RzIGZvciB0aGUgUkdCIHNoaWZ0IHNhY3JpZmljaW5nIHBoeXNpY2FsIGFjY3VyYWN5LCB0cnVlICovXG4gICAgZmFzdENocm9tYTogYm9vbGVhbjtcbn1cblxuY29uc3QgaXNDdWJlVGV4dHVyZSA9IChkZWY6IFRIUkVFLkN1YmVUZXh0dXJlIHwgVEhSRUUuVGV4dHVyZSk6IGRlZiBpcyBUSFJFRS5DdWJlVGV4dHVyZSA9PlxuICAgIGRlZiAmJiAoZGVmIGFzIFRIUkVFLkN1YmVUZXh0dXJlKS5pc0N1YmVUZXh0dXJlO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ25ndHMtbWVzaC1yZWZyYWN0aW9uLW1hdGVyaWFsJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDxuZ3QtbWVzaC1yZWZyYWN0aW9uLW1hdGVyaWFsXG4gICAgICAgICAgICAqbmdJZj1cImRlZmluZXMoKSBhcyBkZWZpbmVzXCJcbiAgICAgICAgICAgIFtyZWZdPVwibWF0ZXJpYWxSZWZcIlxuICAgICAgICAgICAgW2RlZmluZXNdPVwiZGVmaW5lc1wiXG4gICAgICAgICAgICBbcmVzb2x1dGlvbl09XCJyZXNvbHV0aW9uKClcIlxuICAgICAgICAgICAgW2FiZXJyYXRpb25TdHJlbmd0aF09XCJyZWZyYWN0aW9uQWJlcnJhdGlvblN0cmVuZ3RoKClcIlxuICAgICAgICAgICAgW2Vudk1hcF09XCJyZWZyYWN0aW9uRW52TWFwKClcIlxuICAgICAgICAgICAgW2JvdW5jZXNdPVwicmVmcmFjdGlvbkJvdW5jZXMoKVwiXG4gICAgICAgICAgICBbaW9yXT1cInJlZnJhY3Rpb25Jb3IoKVwiXG4gICAgICAgICAgICBbZnJlc25lbF09XCJyZWZyYWN0aW9uRnJlc25lbCgpXCJcbiAgICAgICAgICAgIFtjb2xvcl09XCJyZWZyYWN0aW9uQ29sb3IoKVwiXG4gICAgICAgICAgICBbZmFzdENocm9tYV09XCJyZWZyYWN0aW9uRmFzdENocm9tYSgpXCJcbiAgICAgICAgICAgIG5ndENvbXBvdW5kXG4gICAgICAgICAgICBhdHRhY2g9XCJtYXRlcmlhbFwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxuZy1jb250ZW50IC8+XG4gICAgICAgIDwvbmd0LW1lc2gtcmVmcmFjdGlvbi1tYXRlcmlhbD5cbiAgICBgLFxuICAgIGltcG9ydHM6IFtOZ0lmXSxcbiAgICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXG59KVxuZXhwb3J0IGNsYXNzIE5ndHNNZXNoUmVmcmFjdGlvbk1hdGVyaWFsIGV4dGVuZHMgTmd0U2lnbmFsU3RvcmU8Tmd0c01lc2hSZWZyYWN0aW9uTWF0ZXJpYWxTdGF0ZT4ge1xuICAgIEBJbnB1dCgpIG1hdGVyaWFsUmVmID0gaW5qZWN0Tmd0UmVmPEluc3RhbmNlVHlwZTx0eXBlb2YgTWVzaFJlZnJhY3Rpb25NYXRlcmlhbD4+KCk7XG4gICAgLyoqIEVudmlyb25tZW50IG1hcCAqL1xuICAgIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIHNldCBlbnZNYXAoZW52TWFwOiBUSFJFRS5DdWJlVGV4dHVyZSB8IFRIUkVFLlRleHR1cmUpIHtcbiAgICAgICAgdGhpcy5zZXQoeyBlbnZNYXAgfSk7XG4gICAgfVxuICAgIC8qKiBOdW1iZXIgb2YgcmF5LWNhc3QgYm91bmNlcywgaXQgY2FuIGJlIGV4cGVuc2l2ZSB0byBoYXZlIHRvbyBtYW55LCAyICovXG4gICAgQElucHV0KCkgc2V0IGJvdW5jZXMoYm91bmNlczogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgYm91bmNlcyB9KTtcbiAgICB9XG4gICAgLyoqIFJlZnJhY3Rpb24gaW5kZXgsIDIuNCAqL1xuICAgIEBJbnB1dCgpIHNldCBpb3IoaW9yOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5zZXQoeyBpb3IgfSk7XG4gICAgfVxuICAgIC8qKiBGcmVzbmVsIChzdHJpcCBsaWdodCksIDAgKi9cbiAgICBASW5wdXQoKSBzZXQgZnJlc25lbChmcmVzbmVsOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5zZXQoeyBmcmVzbmVsIH0pO1xuICAgIH1cbiAgICAvKiogUkdCIHNoaWZ0IGludGVuc2l0eSwgY2FuIGJlIGV4cGVuc2l2ZSwgMCAqL1xuICAgIEBJbnB1dCgpIHNldCBhYmVycmF0aW9uU3RyZW5ndGgoYWJlcnJhdGlvblN0cmVuZ3RoOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5zZXQoeyBhYmVycmF0aW9uU3RyZW5ndGggfSk7XG4gICAgfVxuICAgIC8qKiBDb2xvciwgd2hpdGUgKi9cbiAgICBASW5wdXQoKSBzZXQgY29sb3IoY29sb3I6IFRIUkVFLkNvbG9yUmVwcmVzZW50YXRpb24pIHtcbiAgICAgICAgdGhpcy5zZXQoeyBjb2xvciB9KTtcbiAgICB9XG4gICAgLyoqIElmIHRoaXMgaXMgb24gaXQgdXNlcyBmZXdlciByYXkgY2FzdHMgZm9yIHRoZSBSR0Igc2hpZnQgc2FjcmlmaWNpbmcgcGh5c2ljYWwgYWNjdXJhY3ksIHRydWUgKi9cbiAgICBASW5wdXQoKSBzZXQgZmFzdENocm9tYShmYXN0Q2hyb21hOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgZmFzdENocm9tYSB9KTtcbiAgICB9XG5cbiAgICByZWFkb25seSByZWZyYWN0aW9uRW52TWFwID0gdGhpcy5zZWxlY3QoJ2Vudk1hcCcpO1xuICAgIHJlYWRvbmx5IHJlZnJhY3Rpb25Cb3VuY2VzID0gdGhpcy5zZWxlY3QoJ2JvdW5jZXMnKTtcbiAgICByZWFkb25seSByZWZyYWN0aW9uSW9yID0gdGhpcy5zZWxlY3QoJ2lvcicpO1xuICAgIHJlYWRvbmx5IHJlZnJhY3Rpb25GcmVzbmVsID0gdGhpcy5zZWxlY3QoJ2ZyZXNuZWwnKTtcbiAgICByZWFkb25seSByZWZyYWN0aW9uQWJlcnJhdGlvblN0cmVuZ3RoID0gdGhpcy5zZWxlY3QoJ2FiZXJyYXRpb25TdHJlbmd0aCcpO1xuICAgIHJlYWRvbmx5IHJlZnJhY3Rpb25Db2xvciA9IHRoaXMuc2VsZWN0KCdjb2xvcicpO1xuICAgIHJlYWRvbmx5IHJlZnJhY3Rpb25GYXN0Q2hyb21hID0gdGhpcy5zZWxlY3QoJ2Zhc3RDaHJvbWEnKTtcblxuICAgIHJlYWRvbmx5ICNzdG9yZSA9IGluamVjdChOZ3RTdG9yZSk7XG4gICAgcmVhZG9ubHkgI3NpemUgPSB0aGlzLiNzdG9yZS5zZWxlY3QoJ3NpemUnKTtcblxuICAgIHJlYWRvbmx5ICNlbnZNYXAgPSB0aGlzLnNlbGVjdCgnZW52TWFwJyk7XG5cbiAgICByZWFkb25seSBkZWZpbmVzID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICBjb25zdCBlbnZNYXAgPSB0aGlzLiNlbnZNYXAoKTtcbiAgICAgICAgaWYgKCFlbnZNYXApIHJldHVybiBudWxsO1xuXG4gICAgICAgIGNvbnN0IGFiZXJyYXRpb25TdHJlbmd0aCA9IHRoaXMucmVmcmFjdGlvbkFiZXJyYXRpb25TdHJlbmd0aCgpO1xuICAgICAgICBjb25zdCBmYXN0Q2hyb21hID0gdGhpcy5yZWZyYWN0aW9uRmFzdENocm9tYSgpO1xuXG4gICAgICAgIGNvbnN0IHRlbXAgPSB7fSBhcyB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuICAgICAgICAvLyBTYW1wbGVyMkQgYW5kIFNhbXBsZXJDdWJlIG5lZWQgZGlmZmVyZW50IGRlZmluZXNcbiAgICAgICAgY29uc3QgaXNDdWJlTWFwID0gaXNDdWJlVGV4dHVyZShlbnZNYXApO1xuICAgICAgICBjb25zdCB3ID0gKGlzQ3ViZU1hcCA/IGVudk1hcC5pbWFnZVswXT8ud2lkdGggOiBlbnZNYXAuaW1hZ2Uud2lkdGgpID8/IDEwMjQ7XG4gICAgICAgIGNvbnN0IGN1YmVTaXplID0gdyAvIDQ7XG4gICAgICAgIGNvbnN0IF9sb2RNYXggPSBNYXRoLmZsb29yKE1hdGgubG9nMihjdWJlU2l6ZSkpO1xuICAgICAgICBjb25zdCBfY3ViZVNpemUgPSBNYXRoLnBvdygyLCBfbG9kTWF4KTtcbiAgICAgICAgY29uc3Qgd2lkdGggPSAzICogTWF0aC5tYXgoX2N1YmVTaXplLCAxNiAqIDcpO1xuICAgICAgICBjb25zdCBoZWlnaHQgPSA0ICogX2N1YmVTaXplO1xuICAgICAgICBpZiAoaXNDdWJlTWFwKSB0ZW1wWydFTlZNQVBfVFlQRV9DVUJFTSddID0gJyc7XG4gICAgICAgIHRlbXBbJ0NVQkVVVl9URVhFTF9XSURUSCddID0gYCR7MS4wIC8gd2lkdGh9YDtcbiAgICAgICAgdGVtcFsnQ1VCRVVWX1RFWEVMX0hFSUdIVCddID0gYCR7MS4wIC8gaGVpZ2h0fWA7XG4gICAgICAgIHRlbXBbJ0NVQkVVVl9NQVhfTUlQJ10gPSBgJHtfbG9kTWF4fS4wYDtcbiAgICAgICAgLy8gQWRkIGRlZmluZXMgZnJvbSBjaHJvbWF0aWMgYWJlcnJhdGlvblxuICAgICAgICBpZiAoYWJlcnJhdGlvblN0cmVuZ3RoID4gMCkgdGVtcFsnQ0hST01BVElDX0FCRVJSQVRJT05TJ10gPSAnJztcbiAgICAgICAgaWYgKGZhc3RDaHJvbWEpIHRlbXBbJ0ZBU1RfQ0hST01BJ10gPSAnJztcbiAgICAgICAgcmV0dXJuIHRlbXA7XG4gICAgfSk7XG4gICAgcmVhZG9ubHkgcmVzb2x1dGlvbiA9IGNvbXB1dGVkKCgpID0+IFt0aGlzLiNzaXplKCkud2lkdGgsIHRoaXMuI3NpemUoKS5oZWlnaHRdKTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcih7IGFiZXJyYXRpb25TdHJlbmd0aDogMCwgZmFzdENocm9tYTogdHJ1ZSB9KTtcbiAgICAgICAgaW5qZWN0QmVmb3JlUmVuZGVyKCh7IGNhbWVyYSB9KSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5tYXRlcmlhbFJlZi5uYXRpdmVFbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgKHRoaXMubWF0ZXJpYWxSZWYubmF0aXZlRWxlbWVudCBhcyBhbnkpIS52aWV3TWF0cml4SW52ZXJzZSA9IGNhbWVyYS5tYXRyaXhXb3JsZDtcbiAgICAgICAgICAgICAgICAodGhpcy5tYXRlcmlhbFJlZi5uYXRpdmVFbGVtZW50IGFzIGFueSkhLnByb2plY3Rpb25NYXRyaXhJbnZlcnNlID0gY2FtZXJhLnByb2plY3Rpb25NYXRyaXhJbnZlcnNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy4jc2V0dXBHZW9tZXRyeSgpO1xuICAgIH1cblxuICAgICNzZXR1cEdlb21ldHJ5KCkge1xuICAgICAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbWF0ZXJpYWwgPSB0aGlzLm1hdGVyaWFsUmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgICAgICBpZiAoIW1hdGVyaWFsKSByZXR1cm47XG4gICAgICAgICAgICBjb25zdCBnZW9tZXRyeSA9IGdldExvY2FsU3RhdGUobWF0ZXJpYWwpLnBhcmVudCgpPy5nZW9tZXRyeTtcbiAgICAgICAgICAgIGlmIChnZW9tZXRyeSkge1xuICAgICAgICAgICAgICAgIChtYXRlcmlhbCBhcyBhbnkpLmJ2aCA9IG5ldyBNZXNoQlZIVW5pZm9ybVN0cnVjdCgpO1xuICAgICAgICAgICAgICAgIChtYXRlcmlhbCBhcyBhbnkpLmJ2aC51cGRhdGVGcm9tKFxuICAgICAgICAgICAgICAgICAgICBuZXcgTWVzaEJWSChnZW9tZXRyeS5jbG9uZSgpLnRvTm9uSW5kZXhlZCgpLCB7IGxhenlHZW5lcmF0aW9uOiBmYWxzZSwgc3RyYXRlZ3k6IFNBSCB9IGFzIGFueSlcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
|
|
169
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzaC1yZWZyYWN0aW9uLW1hdGVyaWFsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zb2JhL21hdGVyaWFscy9zcmMvbWVzaC1yZWZyYWN0aW9uLW1hdGVyaWFsL21lc2gtcmVmcmFjdGlvbi1tYXRlcmlhbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkMsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkcsT0FBTyxFQUFFLE1BQU0sRUFBRSxhQUFhLEVBQUUsa0JBQWtCLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEgsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDcEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFFcEUsTUFBTSxDQUFDLEVBQUUsc0JBQXNCLEVBQUUsQ0FBQyxDQUFDO0FBbUJuQyxNQUFNLGFBQWEsR0FBRyxDQUFDLEdBQXNDLEVBQTRCLEVBQUUsQ0FDdkYsR0FBRyxJQUFLLEdBQXlCLENBQUMsYUFBYSxDQUFDO0FBRXBELE1BeUJhLDBCQUEyQixTQUFRLGNBQStDO0lBRTNGLHNCQUFzQjtJQUN0QixJQUErQixNQUFNLENBQUMsTUFBeUM7UUFDM0UsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUNELDBFQUEwRTtJQUMxRSxJQUFhLE9BQU8sQ0FBQyxPQUFlO1FBQ2hDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFDRCw0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LElBQUksRUFBRTtnQkFJWixPQUFPO3NCQUFuQixLQUFLO2dCQUlPLEdBQUc7c0JBQWYsS0FBSztnQkFJTyxPQUFPO3NCQUFuQixLQUFLO2dCQUlPLGtCQUFrQjtzQkFBOUIsS0FBSztnQkFJTyxLQUFLO3NCQUFqQixLQUFLO2dCQUlPLFVBQVU7c0JBQXRCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgY29tcHV0ZWQsIENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsIGVmZmVjdCwgaW5qZWN0LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZXh0ZW5kLCBnZXRMb2NhbFN0YXRlLCBpbmplY3RCZWZvcmVSZW5kZXIsIGluamVjdE5ndFJlZiwgTmd0U2lnbmFsU3RvcmUsIE5ndFN0b3JlIH0gZnJvbSAnYW5ndWxhci10aHJlZSc7XG5pbXBvcnQgeyBNZXNoUmVmcmFjdGlvbk1hdGVyaWFsIH0gZnJvbSAnYW5ndWxhci10aHJlZS1zb2JhL3NoYWRlcnMnO1xuaW1wb3J0IHsgTWVzaEJWSCwgTWVzaEJWSFVuaWZvcm1TdHJ1Y3QsIFNBSCB9IGZyb20gJ3RocmVlLW1lc2gtYnZoJztcblxuZXh0ZW5kKHsgTWVzaFJlZnJhY3Rpb25NYXRlcmlhbCB9KTtcblxuZXhwb3J0IGludGVyZmFjZSBOZ3RzTWVzaFJlZnJhY3Rpb25NYXRlcmlhbFN0YXRlIHtcbiAgICAvKiogRW52aXJvbm1lbnQgbWFwICovXG4gICAgZW52TWFwOiBUSFJFRS5DdWJlVGV4dHVyZSB8IFRIUkVFLlRleHR1cmU7XG4gICAgLyoqIE51bWJlciBvZiByYXktY2FzdCBib3VuY2VzLCBpdCBjYW4gYmUgZXhwZW5zaXZlIHRvIGhhdmUgdG9vIG1hbnksIDIgKi9cbiAgICBib3VuY2VzOiBudW1iZXI7XG4gICAgLyoqIFJlZnJhY3Rpb24gaW5kZXgsIDIuNCAqL1xuICAgIGlvcjogbnVtYmVyO1xuICAgIC8qKiBGcmVzbmVsIChzdHJpcCBsaWdodCksIDAgKi9cbiAgICBmcmVzbmVsOiBudW1iZXI7XG4gICAgLyoqIFJHQiBzaGlmdCBpbnRlbnNpdHksIGNhbiBiZSBleHBlbnNpdmUsIDAgKi9cbiAgICBhYmVycmF0aW9uU3RyZW5ndGg6IG51bWJlcjtcbiAgICAvKiogQ29sb3IsIHdoaXRlICovXG4gICAgY29sb3I6IFRIUkVFLkNvbG9yUmVwcmVzZW50YXRpb247XG4gICAgLyoqIElmIHRoaXMgaXMgb24gaXQgdXNlcyBmZXdlciByYXkgY2FzdHMgZm9yIHRoZSBSR0Igc2hpZnQgc2FjcmlmaWNpbmcgcGh5c2ljYWwgYWNjdXJhY3ksIHRydWUgKi9cbiAgICBmYXN0Q2hyb21hOiBib29sZWFuO1xufVxuXG5jb25zdCBpc0N1YmVUZXh0dXJlID0gKGRlZjogVEhSRUUuQ3ViZVRleHR1cmUgfCBUSFJFRS5UZXh0dXJlKTogZGVmIGlzIFRIUkVFLkN1YmVUZXh0dXJlID0+XG4gICAgZGVmICYmIChkZWYgYXMgVEhSRUUuQ3ViZVRleHR1cmUpLmlzQ3ViZVRleHR1cmU7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmd0cy1tZXNoLXJlZnJhY3Rpb24tbWF0ZXJpYWwnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgPG5ndC1tZXNoLXJlZnJhY3Rpb24tbWF0ZXJpYWxcbiAgICAgICAgICAgICpuZ0lmPVwiZGVmaW5lcygpIGFzIGRlZmluZXNcIlxuICAgICAgICAgICAgW3JlZl09XCJtYXRlcmlhbFJlZlwiXG4gICAgICAgICAgICBbZGVmaW5lc109XCJkZWZpbmVzXCJcbiAgICAgICAgICAgIFtyZXNvbHV0aW9uXT1cInJlc29sdXRpb24oKVwiXG4gICAgICAgICAgICBbYWJlcnJhdGlvblN0cmVuZ3RoXT1cInJlZnJhY3Rpb25BYmVycmF0aW9uU3RyZW5ndGgoKVwiXG4gICAgICAgICAgICBbZW52TWFwXT1cInJlZnJhY3Rpb25FbnZNYXAoKVwiXG4gICAgICAgICAgICBbYm91bmNlc109XCJyZWZyYWN0aW9uQm91bmNlcygpXCJcbiAgICAgICAgICAgIFtpb3JdPVwicmVmcmFjdGlvbklvcigpXCJcbiAgICAgICAgICAgIFtmcmVzbmVsXT1cInJlZnJhY3Rpb25GcmVzbmVsKClcIlxuICAgICAgICAgICAgW2NvbG9yXT1cInJlZnJhY3Rpb25Db2xvcigpXCJcbiAgICAgICAgICAgIFtmYXN0Q2hyb21hXT1cInJlZnJhY3Rpb25GYXN0Q2hyb21hKClcIlxuICAgICAgICAgICAgbmd0Q29tcG91bmRcbiAgICAgICAgICAgIGF0dGFjaD1cIm1hdGVyaWFsXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPG5nLWNvbnRlbnQgLz5cbiAgICAgICAgPC9uZ3QtbWVzaC1yZWZyYWN0aW9uLW1hdGVyaWFsPlxuICAgIGAsXG4gICAgaW1wb3J0czogW05nSWZdLFxuICAgIHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcbn0pXG5leHBvcnQgY2xhc3MgTmd0c01lc2hSZWZyYWN0aW9uTWF0ZXJpYWwgZXh0ZW5kcyBOZ3RTaWduYWxTdG9yZTxOZ3RzTWVzaFJlZnJhY3Rpb25NYXRlcmlhbFN0YXRlPiB7XG4gICAgQElucHV0KCkgbWF0ZXJpYWxSZWYgPSBpbmplY3ROZ3RSZWY8SW5zdGFuY2VUeXBlPHR5cGVvZiBNZXNoUmVmcmFjdGlvbk1hdGVyaWFsPj4oKTtcbiAgICAvKiogRW52aXJvbm1lbnQgbWFwICovXG4gICAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgc2V0IGVudk1hcChlbnZNYXA6IFRIUkVFLkN1YmVUZXh0dXJlIHwgVEhSRUUuVGV4dHVyZSkge1xuICAgICAgICB0aGlzLnNldCh7IGVudk1hcCB9KTtcbiAgICB9XG4gICAgLyoqIE51bWJlciBvZiByYXktY2FzdCBib3VuY2VzLCBpdCBjYW4gYmUgZXhwZW5zaXZlIHRvIGhhdmUgdG9vIG1hbnksIDIgKi9cbiAgICBASW5wdXQoKSBzZXQgYm91bmNlcyhib3VuY2VzOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5zZXQoeyBib3VuY2VzIH0pO1xuICAgIH1cbiAgICAvKiogUmVmcmFjdGlvbiBpbmRleCwgMi40ICovXG4gICAgQElucHV0KCkgc2V0IGlvcihpb3I6IG51bWJlcikge1xuICAgICAgICB0aGlzLnNldCh7IGlvciB9KTtcbiAgICB9XG4gICAgLyoqIEZyZXNuZWwgKHN0cmlwIGxpZ2h0KSwgMCAqL1xuICAgIEBJbnB1dCgpIHNldCBmcmVzbmVsKGZyZXNuZWw6IG51bWJlcikge1xuICAgICAgICB0aGlzLnNldCh7IGZyZXNuZWwgfSk7XG4gICAgfVxuICAgIC8qKiBSR0Igc2hpZnQgaW50ZW5zaXR5LCBjYW4gYmUgZXhwZW5zaXZlLCAwICovXG4gICAgQElucHV0KCkgc2V0IGFiZXJyYXRpb25TdHJlbmd0aChhYmVycmF0aW9uU3RyZW5ndGg6IG51bWJlcikge1xuICAgICAgICB0aGlzLnNldCh7IGFiZXJyYXRpb25TdHJlbmd0aCB9KTtcbiAgICB9XG4gICAgLyoqIENvbG9yLCB3aGl0ZSAqL1xuICAgIEBJbnB1dCgpIHNldCBjb2xvcihjb2xvcjogVEhSRUUuQ29sb3JSZXByZXNlbnRhdGlvbikge1xuICAgICAgICB0aGlzLnNldCh7IGNvbG9yIH0pO1xuICAgIH1cbiAgICAvKiogSWYgdGhpcyBpcyBvbiBpdCB1c2VzIGZld2VyIHJheSBjYXN0cyBmb3IgdGhlIFJHQiBzaGlmdCBzYWNyaWZpY2luZyBwaHlzaWNhbCBhY2N1cmFjeSwgdHJ1ZSAqL1xuICAgIEBJbnB1dCgpIHNldCBmYXN0Q2hyb21hKGZhc3RDaHJvbWE6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5zZXQoeyBmYXN0Q2hyb21hIH0pO1xuICAgIH1cblxuICAgIHJlYWRvbmx5IHJlZnJhY3Rpb25FbnZNYXAgPSB0aGlzLnNlbGVjdCgnZW52TWFwJyk7XG4gICAgcmVhZG9ubHkgcmVmcmFjdGlvbkJvdW5jZXMgPSB0aGlzLnNlbGVjdCgnYm91bmNlcycpO1xuICAgIHJlYWRvbmx5IHJlZnJhY3Rpb25Jb3IgPSB0aGlzLnNlbGVjdCgnaW9yJyk7XG4gICAgcmVhZG9ubHkgcmVmcmFjdGlvbkZyZXNuZWwgPSB0aGlzLnNlbGVjdCgnZnJlc25lbCcpO1xuICAgIHJlYWRvbmx5IHJlZnJhY3Rpb25BYmVycmF0aW9uU3RyZW5ndGggPSB0aGlzLnNlbGVjdCgnYWJlcnJhdGlvblN0cmVuZ3RoJyk7XG4gICAgcmVhZG9ubHkgcmVmcmFjdGlvbkNvbG9yID0gdGhpcy5zZWxlY3QoJ2NvbG9yJyk7XG4gICAgcmVhZG9ubHkgcmVmcmFjdGlvbkZhc3RDaHJvbWEgPSB0aGlzLnNlbGVjdCgnZmFzdENocm9tYScpO1xuXG4gICAgcmVhZG9ubHkgI3N0b3JlID0gaW5qZWN0KE5ndFN0b3JlKTtcbiAgICByZWFkb25seSAjc2l6ZSA9IHRoaXMuI3N0b3JlLnNlbGVjdCgnc2l6ZScpO1xuXG4gICAgcmVhZG9ubHkgI2Vudk1hcCA9IHRoaXMuc2VsZWN0KCdlbnZNYXAnKTtcblxuICAgIHJlYWRvbmx5IGRlZmluZXMgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGVudk1hcCA9IHRoaXMuI2Vudk1hcCgpO1xuICAgICAgICBpZiAoIWVudk1hcCkgcmV0dXJuIG51bGw7XG5cbiAgICAgICAgY29uc3QgYWJlcnJhdGlvblN0cmVuZ3RoID0gdGhpcy5yZWZyYWN0aW9uQWJlcnJhdGlvblN0cmVuZ3RoKCk7XG4gICAgICAgIGNvbnN0IGZhc3RDaHJvbWEgPSB0aGlzLnJlZnJhY3Rpb25GYXN0Q2hyb21hKCk7XG5cbiAgICAgICAgY29uc3QgdGVtcCA9IHt9IGFzIHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG4gICAgICAgIC8vIFNhbXBsZXIyRCBhbmQgU2FtcGxlckN1YmUgbmVlZCBkaWZmZXJlbnQgZGVmaW5lc1xuICAgICAgICBjb25zdCBpc0N1YmVNYXAgPSBpc0N1YmVUZXh0dXJlKGVudk1hcCk7XG4gICAgICAgIGNvbnN0IHcgPSAoaXNDdWJlTWFwID8gZW52TWFwLmltYWdlWzBdPy53aWR0aCA6IGVudk1hcC5pbWFnZS53aWR0aCkgPz8gMTAyNDtcbiAgICAgICAgY29uc3QgY3ViZVNpemUgPSB3IC8gNDtcbiAgICAgICAgY29uc3QgX2xvZE1heCA9IE1hdGguZmxvb3IoTWF0aC5sb2cyKGN1YmVTaXplKSk7XG4gICAgICAgIGNvbnN0IF9jdWJlU2l6ZSA9IE1hdGgucG93KDIsIF9sb2RNYXgpO1xuICAgICAgICBjb25zdCB3aWR0aCA9IDMgKiBNYXRoLm1heChfY3ViZVNpemUsIDE2ICogNyk7XG4gICAgICAgIGNvbnN0IGhlaWdodCA9IDQgKiBfY3ViZVNpemU7XG4gICAgICAgIGlmIChpc0N1YmVNYXApIHRlbXBbJ0VOVk1BUF9UWVBFX0NVQkVNJ10gPSAnJztcbiAgICAgICAgdGVtcFsnQ1VCRVVWX1RFWEVMX1dJRFRIJ10gPSBgJHsxLjAgLyB3aWR0aH1gO1xuICAgICAgICB0ZW1wWydDVUJFVVZfVEVYRUxfSEVJR0hUJ10gPSBgJHsxLjAgLyBoZWlnaHR9YDtcbiAgICAgICAgdGVtcFsnQ1VCRVVWX01BWF9NSVAnXSA9IGAke19sb2RNYXh9LjBgO1xuICAgICAgICAvLyBBZGQgZGVmaW5lcyBmcm9tIGNocm9tYXRpYyBhYmVycmF0aW9uXG4gICAgICAgIGlmIChhYmVycmF0aW9uU3RyZW5ndGggPiAwKSB0ZW1wWydDSFJPTUFUSUNfQUJFUlJBVElPTlMnXSA9ICcnO1xuICAgICAgICBpZiAoZmFzdENocm9tYSkgdGVtcFsnRkFTVF9DSFJPTUEnXSA9ICcnO1xuICAgICAgICByZXR1cm4gdGVtcDtcbiAgICB9KTtcbiAgICByZWFkb25seSByZXNvbHV0aW9uID0gY29tcHV0ZWQoKCkgPT4gW3RoaXMuI3NpemUoKS53aWR0aCwgdGhpcy4jc2l6ZSgpLmhlaWdodF0pO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKHsgYWJlcnJhdGlvblN0cmVuZ3RoOiAwLCBmYXN0Q2hyb21hOiB0cnVlIH0pO1xuICAgICAgICBpbmplY3RCZWZvcmVSZW5kZXIoKHsgY2FtZXJhIH0pID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLm1hdGVyaWFsUmVmLm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICAodGhpcy5tYXRlcmlhbFJlZi5uYXRpdmVFbGVtZW50IGFzIGFueSkhLnZpZXdNYXRyaXhJbnZlcnNlID0gY2FtZXJhLm1hdHJpeFdvcmxkO1xuICAgICAgICAgICAgICAgICh0aGlzLm1hdGVyaWFsUmVmLm5hdGl2ZUVsZW1lbnQgYXMgYW55KSEucHJvamVjdGlvbk1hdHJpeEludmVyc2UgPSBjYW1lcmEucHJvamVjdGlvbk1hdHJpeEludmVyc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLiNzZXR1cEdlb21ldHJ5KCk7XG4gICAgfVxuXG4gICAgI3NldHVwR2VvbWV0cnkoKSB7XG4gICAgICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBtYXRlcmlhbCA9IHRoaXMubWF0ZXJpYWxSZWYubmF0aXZlRWxlbWVudDtcbiAgICAgICAgICAgIGlmICghbWF0ZXJpYWwpIHJldHVybjtcbiAgICAgICAgICAgIGNvbnN0IGdlb21ldHJ5ID0gZ2V0TG9jYWxTdGF0ZShtYXRlcmlhbCkucGFyZW50Py52YWx1ZT8uZ2VvbWV0cnk7XG4gICAgICAgICAgICBpZiAoZ2VvbWV0cnkpIHtcbiAgICAgICAgICAgICAgICAobWF0ZXJpYWwgYXMgYW55KS5idmggPSBuZXcgTWVzaEJWSFVuaWZvcm1TdHJ1Y3QoKTtcbiAgICAgICAgICAgICAgICAobWF0ZXJpYWwgYXMgYW55KS5idmgudXBkYXRlRnJvbShcbiAgICAgICAgICAgICAgICAgICAgbmV3IE1lc2hCVkgoZ2VvbWV0cnkuY2xvbmUoKS50b05vbkluZGV4ZWQoKSwgeyBsYXp5R2VuZXJhdGlvbjogZmFsc2UsIHN0cmF0ZWd5OiBTQUggfSBhcyBhbnkpXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
|
|
@@ -131,7 +131,7 @@ class NgtsMeshTranmissionMaterial extends NgtSignalStore {
|
|
|
131
131
|
this.materialRef.nativeElement.time = state.clock.getElapsedTime();
|
|
132
132
|
// Render only if the buffer matches the built-in and no transmission sampler is set
|
|
133
133
|
if (this.materialRef.nativeElement.buffer === this.fboMainRef().texture && !transmissionSampler) {
|
|
134
|
-
parent = getLocalState(this.materialRef.nativeElement).parent
|
|
134
|
+
parent = getLocalState(this.materialRef.nativeElement).parent?.value;
|
|
135
135
|
if (parent) {
|
|
136
136
|
// Save defaults
|
|
137
137
|
oldTone = state.gl.toneMapping;
|
|
@@ -254,4 +254,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.3", ngImpor
|
|
|
254
254
|
}], time: [{
|
|
255
255
|
type: Input
|
|
256
256
|
}] } });
|
|
257
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzaC10cmFuc21pc3Npb24tbWF0ZXJpYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NvYmEvbWF0ZXJpYWxzL3NyYy9tZXNoLXRyYW5zbWlzc2lvbi1tYXRlcmlhbC9tZXNoLXRyYW5zbWlzc2lvbi1tYXRlcmlhbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxzQkFBc0IsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkYsT0FBTyxFQUNILE1BQU0sRUFDTixhQUFhLEVBQ2Isa0JBQWtCLEVBQ2xCLFlBQVksRUFFWixPQUFPLEVBQ1AsY0FBYyxHQUNqQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGVBQWUsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3ZGLE9BQU8sS0FBSyxLQUFLLE1BQU0sT0FBTyxDQUFDOztBQUUvQixNQUFNLENBQUMsRUFBRSx3QkFBd0IsRUFBRSxDQUFDLENBQUM7QUEwQ3JDLE1BeUJhLDJCQUE0QixTQUFRLGNBQWdEO0lBRTdGOzs7eUZBR3FGO0lBQ3JGLElBQWEsbUJBQW1CLENBQUMsbUJBQTRCO1FBQ3pELElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxtQkFBbUIsRUFBRSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUNELHNGQUFzRjtJQUN0RixJQUFhLFFBQVEsQ0FBQyxRQUFpQjtRQUNuQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBQ0QsNkRBQTZEO0lBQzdELElBQWEsaUJBQWlCLENBQUMsaUJBQXlCO1FBQ3BELElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxpQkFBaUIsRUFBRSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUNE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QW1CO3NCQUEvQixLQUFLO2dCQUlPLFFBQVE7c0JBQXBCLEtBQUs7Z0JBSU8saUJBQWlCO3NCQUE3QixLQUFLO2dCQUlPLFVBQVU7c0JBQXRCLEtBQUs7Z0JBSU8sa0JBQWtCO3NCQUE5QixLQUFLO2dCQUlPLE9BQU87c0JBQW5CLEtBQUs7Z0JBSU8sVUFBVTtzQkFBdEIsS0FBSztnQkFJTyxZQUFZO3NCQUF4QixLQUFLO2dCQUlPLFNBQVM7c0JBQXJCLEtBQUs7Z0JBSU8sU0FBUztzQkFBckIsS0FBSztnQkFJTyxtQkFBbUI7c0JBQS9CLEtBQUs7Z0JBSU8sVUFBVTtzQkFBdEIsS0FBSztnQkFJTyxVQUFVO3NCQUF0QixLQUFLO2dCQUlPLGVBQWU7c0JBQTNCLEtBQUs7Z0JBSU8sa0JBQWtCO3NCQUE5QixLQUFLO2dCQUlPLE1BQU07c0JBQWxCLEtBQUs7Z0JBSU8sSUFBSTtzQkFBaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgY29tcHV0ZWQsIENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIGV4dGVuZCxcbiAgICBnZXRMb2NhbFN0YXRlLFxuICAgIGluamVjdEJlZm9yZVJlbmRlcixcbiAgICBpbmplY3ROZ3RSZWYsXG4gICAgTmd0QW55UmVjb3JkLFxuICAgIE5ndEFyZ3MsXG4gICAgTmd0U2lnbmFsU3RvcmUsXG59IGZyb20gJ2FuZ3VsYXItdGhyZWUnO1xuaW1wb3J0IHsgaW5qZWN0Tmd0c0ZCTyB9IGZyb20gJ2FuZ3VsYXItdGhyZWUtc29iYS9taXNjJztcbmltcG9ydCB7IERpc2NhcmRNYXRlcmlhbCwgTWVzaFRyYW5zbWlzc2lvbk1hdGVyaWFsIH0gZnJvbSAnYW5ndWxhci10aHJlZS1zb2JhL3NoYWRlcnMnO1xuaW1wb3J0ICogYXMgVEhSRUUgZnJvbSAndGhyZWUnO1xuXG5leHRlbmQoeyBNZXNoVHJhbnNtaXNzaW9uTWF0ZXJpYWwgfSk7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmd0c01lc2hUcmFubWlzc2lvbk1hdGVyaWFsU3RhdGUge1xuICAgIC8qKiB0cmFuc21pc3Npb25TYW1wbGVyLCB5b3UgY2FuIHVzZSB0aGUgdGhyZWVqcyB0cmFuc21pc3Npb24gc2FtcGxlciB0ZXh0dXJlIHRoYXQgaXNcbiAgICAgKiAgZ2VuZXJhdGVkIG9uY2UgZm9yIGFsbCB0cmFuc21pc3NpdmUgbWF0ZXJpYWxzLiBUaGUgdXBzaWRlIGlzIHRoYXQgaXQgY2FuIGJlIGZhc3RlciBpZiB5b3VcbiAgICAgKiAgdXNlIG11bHRpcGxlIE1lc2hQaHlzaWNhbCBhbmQgVHJhbnNtaXNzaW9uIG1hdGVyaWFscywgdGhlIGRvd25zaWRlIGlzIHRoYXQgdHJhbnNtaXNzaXZlIG1hdGVyaWFsc1xuICAgICAqICB1c2luZyB0aGlzIGNhbid0IHNlZSBvdGhlciB0cmFuc3BhcmVudCBvciB0cmFuc21pc3NpdmUgb2JqZWN0cywgZGVmYXVsdDogZmFsc2UgKi9cbiAgICB0cmFuc21pc3Npb25TYW1wbGVyOiBib29sZWFuO1xuICAgIC8qKiBSZW5kZXIgdGhlIGJhY2tzaWRlIG9mIHRoZSBtYXRlcmlhbCAobW9yZSBjb3N0LCBiZXR0ZXIgcmVzdWx0cyksIGRlZmF1bHQ6IGZhbHNlICovXG4gICAgYmFja3NpZGU6IGJvb2xlYW47XG4gICAgLyoqIEJhY2tzaWRlIHRoaWNrbmVzcyAod2hlbiBiYWNrc2lkZSBpcyB0cnVlKSwgZGVmYXVsdDogMCAqL1xuICAgIGJhY2tzaWRlVGhpY2tuZXNzOiBudW1iZXI7XG4gICAgLyoqIFJlc29sdXRpb24gb2YgdGhlIGxvY2FsIGJ1ZmZlciwgZGVmYXVsdDogdW5kZWZpbmVkIChmdWxsc2NyZWVuKSAqL1xuICAgIHJlc29sdXRpb246IG51bWJlcjtcbiAgICAvKiogUmVzb2x1dGlvbiBvZiB0aGUgbG9jYWwgYnVmZmVyIGZvciBiYWNrZmFjZXMsIGRlZmF1bHQ6IHVuZGVmaW5lZCAoZnVsbHNjcmVlbikgKi9cbiAgICBiYWNrc2lkZVJlc29sdXRpb246IG51bWJlcjtcbiAgICAvKiogUmVmcmFjdGlvbiBzYW1wbGVzLCBkZWZhdWx0OiAxMCAqL1xuICAgIHNhbXBsZXM6IG51bWJlcjtcbiAgICAvKiogQnVmZmVyIHNjZW5lIGJhY2tncm91bmQgKGNhbiBiZSBhIHRleHR1cmUsIGEgY3ViZXRleHR1cmUgb3IgYSBjb2xvciksIGRlZmF1bHQ6IG51bGwgKi9cbiAgICBiYWNrZ3JvdW5kOiBUSFJFRS5UZXh0dXJlIHwgVEhSRUUuQ29sb3I7XG4gICAgLyogVHJhbnNtaXNzaW9uLCBkZWZhdWx0OiAxICovXG4gICAgdHJhbnNtaXNzaW9uOiBudW1iZXI7XG4gICAgLyogVGhpY2tuZXNzIChyZWZyYWN0aW9uKSwgZGVmYXVsdDogMCAqL1xuICAgIHRoaWNrbmVzczogbnVtYmVyO1xuICAgIC8qIFJvdWdobmVzcyAoYmx1ciksIGRlZmF1bHQ6IDAgKi9cbiAgICByb3VnaG5lc3M6IG51bWJlcjtcbiAgICAvKiBDaHJvbWF0aWMgYWJlcnJhdGlvbiwgZGVmYXVsdDogMC4wMyAqL1xuICAgIGNocm9tYXRpY0FiZXJyYXRpb246IG51bWJlcjtcbiAgICAvKiBBbmlzb3Ryb3B5LCBkZWZhdWx0OiAwLjEgKi9cbiAgICBhbmlzb3Ryb3B5OiBudW1iZXI7XG4gICAgLyogRGlzdG9ydGlvbiwgZGVmYXVsdDogMCAqL1xuICAgIGRpc3RvcnRpb246IG51bWJlcjtcbiAgICAvKiBEaXN0b3J0aW9uIHNjYWxlLCBkZWZhdWx0OiAwLjUgKi9cbiAgICBkaXN0b3J0aW9uU2NhbGU6IG51bWJlcjtcbiAgICAvKiBUZW1wb3JhbCBkaXN0b3J0aW9uIChzcGVlZCBvZiBtb3ZlbWVudCksIGRlZmF1bHQ6IDAuMCAqL1xuICAgIHRlbXBvcmFsRGlzdG9ydGlvbjogbnVtYmVyO1xuICAgIC8qKiBUaGUgc2NlbmUgcmVuZGVyZWQgaW50byBhIHRleHR1cmUgKHVzZSBpdCB0byBzaGFyZSBhIHRleHR1cmUgYmV0d2VlbiBtYXRlcmlhbHMpLCBkZWZhdWx0OiBudWxsICAqL1xuICAgIGJ1ZmZlcjogVEhSRUUuVGV4dHVyZSB8IG51bGw7XG4gICAgLyoqIEludGVybmFscyAqL1xuICAgIHRpbWU6IG51bWJlcjtcbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduZ3RzLW1lc2gtdHJhbnNtaXNzaW9uLW1hdGVyaWFsJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDxuZ3QtbWVzaC10cmFuc21pc3Npb24tbWF0ZXJpYWxcbiAgICAgICAgICAgIG5ndENvbXBvdW5kXG4gICAgICAgICAgICAqYXJncz1cIlt0cmFuc21pc3Npb25TYW1wbGVzKCksIHRyYW5zbWlzc2lvblRyYW5zbWlzc2lvblNhbXBsZXIoKV1cIlxuICAgICAgICAgICAgW3JlZl09XCJtYXRlcmlhbFJlZlwiXG4gICAgICAgICAgICBbYnVmZmVyXT1cInRyYW5zbWlzc2lvbkJ1ZmZlcigpIHx8IGZib01haW5SZWYoKT8udGV4dHVyZVwiXG4gICAgICAgICAgICBbX3RyYW5zbWlzc2lvbl09XCJ0cmFuc21pc3Npb25UcmFuc21pc3Npb24oKVwiXG4gICAgICAgICAgICBbdHJhbnNtaXNzaW9uXT1cInRyYW5zbWlzc2lvblRyYW5zbWlzc2lvblNhbXBsZXIoKSA/IHRyYW5zbWlzc2lvblRyYW5zbWlzc2lvbigpIDogMFwiXG4gICAgICAgICAgICBbdGhpY2tuZXNzXT1cInRyYW5zbWlzc2lvblRoaWNrbmVzcygpXCJcbiAgICAgICAgICAgIFtzaWRlXT1cInNpZGVcIlxuICAgICAgICAgICAgW2FuaXNvdHJvcHldPVwidHJhbnNtaXNzaW9uQW5pc290cm9weSgpXCJcbiAgICAgICAgICAgIFtyb3VnaG5lc3NdPVwidHJhbnNtaXNzaW9uUm91Z2huZXNzKClcIlxuICAgICAgICAgICAgW2Nocm9tYXRpY0FiZXJyYXRpb25dPVwidHJhbnNtaXNzaW9uQ2hyb21hdGljQWJlcnJhdGlvbigpXCJcbiAgICAgICAgICAgIFtkaXN0b3J0aW9uXT1cInRyYW5zbWlzc2lvbkRpc3RvcnRpb24oKVwiXG4gICAgICAgICAgICBbZGlzdG9ydGlvblNjYWxlXT1cInRyYW5zbWlzc2lvbkRpc3RvcnRpb25TY2FsZSgpXCJcbiAgICAgICAgICAgIFt0ZW1wb3JhbERpc3RvcnRpb25dPVwidHJhbnNtaXNzaW9uVGVtcG9yYWxEaXN0b3J0aW9uKClcIlxuICAgICAgICAgICAgW3RpbWVdPVwidHJhbnNtaXNzaW9uVGltZSgpXCJcbiAgICAgICAgLz5cbiAgICBgLFxuICAgIGltcG9ydHM6IFtOZ3RBcmdzXSxcbiAgICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXG59KVxuZXhwb3J0IGNsYXNzIE5ndHNNZXNoVHJhbm1pc3Npb25NYXRlcmlhbCBleHRlbmRzIE5ndFNpZ25hbFN0b3JlPE5ndHNNZXNoVHJhbm1pc3Npb25NYXRlcmlhbFN0YXRlPiB7XG4gICAgQElucHV0KCkgbWF0ZXJpYWxSZWYgPSBpbmplY3ROZ3RSZWY8TWVzaFRyYW5zbWlzc2lvbk1hdGVyaWFsICYgeyB0aW1lOiBudW1iZXI7IGJ1ZmZlcj86IFRIUkVFLlRleHR1cmUgfT4oKTtcbiAgICAvKiogdHJhbnNtaXNzaW9uU2FtcGxlciwgeW91IGNhbiB1c2UgdGhlIHRocmVlanMgdHJhbnNtaXNzaW9uIHNhbXBsZXIgdGV4dHVyZSB0aGF0IGlzXG4gICAgICogIGdlbmVyYXRlZCBvbmNlIGZvciBhbGwgdHJhbnNtaXNzaXZlIG1hdGVyaWFscy4gVGhlIHVwc2lkZSBpcyB0aGF0IGl0IGNhbiBiZSBmYXN0ZXIgaWYgeW91XG4gICAgICogIHVzZSBtdWx0aXBsZSBNZXNoUGh5c2ljYWwgYW5kIFRyYW5zbWlzc2lvbiBtYXRlcmlhbHMsIHRoZSBkb3duc2lkZSBpcyB0aGF0IHRyYW5zbWlzc2l2ZSBtYXRlcmlhbHNcbiAgICAgKiAgdXNpbmcgdGhpcyBjYW4ndCBzZWUgb3RoZXIgdHJhbnNwYXJlbnQgb3IgdHJhbnNtaXNzaXZlIG9iamVjdHMsIGRlZmF1bHQ6IGZhbHNlICovXG4gICAgQElucHV0KCkgc2V0IHRyYW5zbWlzc2lvblNhbXBsZXIodHJhbnNtaXNzaW9uU2FtcGxlcjogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnNldCh7IHRyYW5zbWlzc2lvblNhbXBsZXIgfSk7XG4gICAgfVxuICAgIC8qKiBSZW5kZXIgdGhlIGJhY2tzaWRlIG9mIHRoZSBtYXRlcmlhbCAobW9yZSBjb3N0LCBiZXR0ZXIgcmVzdWx0cyksIGRlZmF1bHQ6IGZhbHNlICovXG4gICAgQElucHV0KCkgc2V0IGJhY2tzaWRlKGJhY2tzaWRlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgYmFja3NpZGUgfSk7XG4gICAgfVxuICAgIC8qKiBCYWNrc2lkZSB0aGlja25lc3MgKHdoZW4gYmFja3NpZGUgaXMgdHJ1ZSksIGRlZmF1bHQ6IDAgKi9cbiAgICBASW5wdXQoKSBzZXQgYmFja3NpZGVUaGlja25lc3MoYmFja3NpZGVUaGlja25lc3M6IG51bWJlcikge1xuICAgICAgICB0aGlzLnNldCh7IGJhY2tzaWRlVGhpY2tuZXNzIH0pO1xuICAgIH1cbiAgICAvKiogUmVzb2x1dGlvbiBvZiB0aGUgbG9jYWwgYnVmZmVyLCBkZWZhdWx0OiB1bmRlZmluZWQgKGZ1bGxzY3JlZW4pICovXG4gICAgQElucHV0KCkgc2V0IHJlc29sdXRpb24ocmVzb2x1dGlvbjogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgcmVzb2x1dGlvbiB9KTtcbiAgICB9XG4gICAgLyoqIFJlc29sdXRpb24gb2YgdGhlIGxvY2FsIGJ1ZmZlciBmb3IgYmFja2ZhY2VzLCBkZWZhdWx0OiB1bmRlZmluZWQgKGZ1bGxzY3JlZW4pICovXG4gICAgQElucHV0KCkgc2V0IGJhY2tzaWRlUmVzb2x1dGlvbihiYWNrc2lkZVJlc29sdXRpb246IG51bWJlcikge1xuICAgICAgICB0aGlzLnNldCh7IGJhY2tzaWRlUmVzb2x1dGlvbiB9KTtcbiAgICB9XG4gICAgLyoqIFJlZnJhY3Rpb24gc2FtcGxlcywgZGVmYXVsdDogMTAgKi9cbiAgICBASW5wdXQoKSBzZXQgc2FtcGxlcyhzYW1wbGVzOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5zZXQoeyBzYW1wbGVzIH0pO1xuICAgIH1cbiAgICAvKiogQnVmZmVyIHNjZW5lIGJhY2tncm91bmQgKGNhbiBiZSBhIHRleHR1cmUsIGEgY3ViZXRleHR1cmUgb3IgYSBjb2xvciksIGRlZmF1bHQ6IG51bGwgKi9cbiAgICBASW5wdXQoKSBzZXQgYmFja2dyb3VuZChiYWNrZ3JvdW5kOiBUSFJFRS5UZXh0dXJlIHwgVEhSRUUuQ29sb3IpIHtcbiAgICAgICAgdGhpcy5zZXQoeyBiYWNrZ3JvdW5kIH0pO1xuICAgIH1cbiAgICAvKiBUcmFuc21pc3Npb24sIGRlZmF1bHQ6IDEgKi9cbiAgICBASW5wdXQoKSBzZXQgdHJhbnNtaXNzaW9uKHRyYW5zbWlzc2lvbjogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgdHJhbnNtaXNzaW9uIH0pO1xuICAgIH1cbiAgICAvKiBUaGlja25lc3MgKHJlZnJhY3Rpb24pLCBkZWZhdWx0OiAwICovXG4gICAgQElucHV0KCkgc2V0IHRoaWNrbmVzcyh0aGlja25lc3M6IG51bWJlcikge1xuICAgICAgICB0aGlzLnNldCh7IHRoaWNrbmVzcyB9KTtcbiAgICB9XG4gICAgLyogUm91Z2huZXNzIChibHVyKSwgZGVmYXVsdDogMCAqL1xuICAgIEBJbnB1dCgpIHNldCByb3VnaG5lc3Mocm91Z2huZXNzOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5zZXQoeyByb3VnaG5lc3MgfSk7XG4gICAgfVxuICAgIC8qIENocm9tYXRpYyBhYmVycmF0aW9uLCBkZWZhdWx0OiAwLjAzICovXG4gICAgQElucHV0KCkgc2V0IGNocm9tYXRpY0FiZXJyYXRpb24oY2hyb21hdGljQWJlcnJhdGlvbjogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgY2hyb21hdGljQWJlcnJhdGlvbiB9KTtcbiAgICB9XG4gICAgLyogQW5pc290cm9weSwgZGVmYXVsdDogMC4xICovXG4gICAgQElucHV0KCkgc2V0IGFuaXNvdHJvcHkoYW5pc290cm9weTogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgYW5pc290cm9weSB9KTtcbiAgICB9XG4gICAgLyogRGlzdG9ydGlvbiwgZGVmYXVsdDogMCAqL1xuICAgIEBJbnB1dCgpIHNldCBkaXN0b3J0aW9uKGRpc3RvcnRpb246IG51bWJlcikge1xuICAgICAgICB0aGlzLnNldCh7IGRpc3RvcnRpb24gfSk7XG4gICAgfVxuICAgIC8qIERpc3RvcnRpb24gc2NhbGUsIGRlZmF1bHQ6IDAuNSAqL1xuICAgIEBJbnB1dCgpIHNldCBkaXN0b3J0aW9uU2NhbGUoZGlzdG9ydGlvblNjYWxlOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5zZXQoeyBkaXN0b3J0aW9uU2NhbGUgfSk7XG4gICAgfVxuICAgIC8qIFRlbXBvcmFsIGRpc3RvcnRpb24gKHNwZWVkIG9mIG1vdmVtZW50KSwgZGVmYXVsdDogMC4wICovXG4gICAgQElucHV0KCkgc2V0IHRlbXBvcmFsRGlzdG9ydGlvbih0ZW1wb3JhbERpc3RvcnRpb246IG51bWJlcikge1xuICAgICAgICB0aGlzLnNldCh7IHRlbXBvcmFsRGlzdG9ydGlvbiB9KTtcbiAgICB9XG4gICAgLyoqIFRoZSBzY2VuZSByZW5kZXJlZCBpbnRvIGEgdGV4dHVyZSAodXNlIGl0IHRvIHNoYXJlIGEgdGV4dHVyZSBiZXR3ZWVuIG1hdGVyaWFscyksIGRlZmF1bHQ6IG51bGwgICovXG4gICAgQElucHV0KCkgc2V0IGJ1ZmZlcihidWZmZXI6IFRIUkVFLlRleHR1cmUpIHtcbiAgICAgICAgdGhpcy5zZXQoeyBidWZmZXIgfSk7XG4gICAgfVxuICAgIC8qKiBJbnRlcm5hbHMgKi9cbiAgICBASW5wdXQoKSBzZXQgdGltZSh0aW1lOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5zZXQoeyB0aW1lIH0pO1xuICAgIH1cblxuICAgIHJlYWRvbmx5IHRyYW5zbWlzc2lvblRyYW5zbWlzc2lvblNhbXBsZXIgPSB0aGlzLnNlbGVjdCgndHJhbnNtaXNzaW9uU2FtcGxlcicpO1xuICAgIHJlYWRvbmx5IHRyYW5zbWlzc2lvbkJhY2tzaWRlID0gdGhpcy5zZWxlY3QoJ2JhY2tzaWRlJyk7XG4gICAgcmVhZG9ubHkgdHJhbnNtaXNzaW9uVHJhbnNtaXNzaW9uID0gdGhpcy5zZWxlY3QoJ3RyYW5zbWlzc2lvbicpO1xuICAgIHJlYWRvbmx5IHRyYW5zbWlzc2lvblRoaWNrbmVzcyA9IHRoaXMuc2VsZWN0KCd0aGlja25lc3MnKTtcbiAgICByZWFkb25seSB0cmFuc21pc3Npb25CYWNrc2lkZVRoaWNrbmVzcyA9IHRoaXMuc2VsZWN0KCdiYWNrc2lkZVRoaWNrbmVzcycpO1xuICAgIHJlYWRvbmx5IHRyYW5zbWlzc2lvblNhbXBsZXMgPSB0aGlzLnNlbGVjdCgnc2FtcGxlcycpO1xuICAgIHJlYWRvbmx5IHRyYW5zbWlzc2lvblJvdWdobmVzcyA9IHRoaXMuc2VsZWN0KCdyb3VnaG5lc3MnKTtcbiAgICByZWFkb25seSB0cmFuc21pc3Npb25Bbmlzb3Ryb3B5ID0gdGhpcy5zZWxlY3QoJ2FuaXNvdHJvcHknKTtcbiAgICByZWFkb25seSB0cmFuc21pc3Npb25DaHJvbWF0aWNBYmVycmF0aW9uID0gdGhpcy5zZWxlY3QoJ2Nocm9tYXRpY0FiZXJyYXRpb24nKTtcbiAgICByZWFkb25seSB0cmFuc21pc3Npb25EaXN0b3J0aW9uID0gdGhpcy5zZWxlY3QoJ2Rpc3RvcnRpb24nKTtcbiAgICByZWFkb25seSB0cmFuc21pc3Npb25EaXN0b3J0aW9uU2NhbGUgPSB0aGlzLnNlbGVjdCgnZGlzdG9ydGlvblNjYWxlJyk7XG4gICAgcmVhZG9ubHkgdHJhbnNtaXNzaW9uVGVtcG9yYWxEaXN0b3J0aW9uID0gdGhpcy5zZWxlY3QoJ3RlbXBvcmFsRGlzdG9ydGlvbicpO1xuICAgIHJlYWRvbmx5IHRyYW5zbWlzc2lvbkJ1ZmZlciA9IHRoaXMuc2VsZWN0KCdidWZmZXInKTtcbiAgICByZWFkb25seSB0cmFuc21pc3Npb25UaW1lID0gdGhpcy5zZWxlY3QoJ3RpbWUnKTtcblxuICAgIHJlYWRvbmx5ICNkaXNjYXJkTWF0ZXJpYWwgPSBuZXcgRGlzY2FyZE1hdGVyaWFsKCk7XG5cbiAgICByZWFkb25seSAjYmFja3NpZGVSZXNvbHV0aW9uID0gdGhpcy5zZWxlY3QoJ2JhY2tzaWRlUmVzb2x1dGlvbicpO1xuICAgIHJlYWRvbmx5ICNyZXNvbHV0aW9uID0gdGhpcy5zZWxlY3QoJ3Jlc29sdXRpb24nKTtcblxuICAgIHJlYWRvbmx5ICNmYm9CYWNrU2V0dGluZ3MgPSBjb21wdXRlZCgoKSA9PiAoeyB3aWR0aDogdGhpcy4jYmFja3NpZGVSZXNvbHV0aW9uKCkgfHwgdGhpcy4jcmVzb2x1dGlvbigpIH0pKTtcbiAgICByZWFkb25seSAjZmJvTWFpblNldHRpbmdzID0gY29tcHV0ZWQoKCkgPT4gKHsgd2lkdGg6IHRoaXMuI3Jlc29sdXRpb24oKSB9KSk7XG5cbiAgICByZWFkb25seSBmYm9CYWNrUmVmID0gaW5qZWN0Tmd0c0ZCTyh0aGlzLiNmYm9CYWNrU2V0dGluZ3MpO1xuICAgIHJlYWRvbmx5IGZib01haW5SZWYgPSBpbmplY3ROZ3RzRkJPKHRoaXMuI2Zib01haW5TZXR0aW5ncyk7XG5cbiAgICByZWFkb25seSBzaWRlID0gVEhSRUUuRnJvbnRTaWRlO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKHtcbiAgICAgICAgICAgIHRyYW5zbWlzc2lvblNhbXBsZXI6IGZhbHNlLFxuICAgICAgICAgICAgYmFja3NpZGU6IGZhbHNlLFxuICAgICAgICAgICAgdHJhbnNtaXNzaW9uOiAxLFxuICAgICAgICAgICAgdGhpY2tuZXNzOiAwLFxuICAgICAgICAgICAgYmFja3NpZGVUaGlja25lc3M6IDAsXG4gICAgICAgICAgICBzYW1wbGVzOiAxMCxcbiAgICAgICAgICAgIHJvdWdobmVzczogMCxcbiAgICAgICAgICAgIGFuaXNvdHJvcHk6IDAuMSxcbiAgICAgICAgICAgIGNocm9tYXRpY0FiZXJyYXRpb246IDAuMDMsXG4gICAgICAgICAgICBkaXN0b3J0aW9uOiAwLFxuICAgICAgICAgICAgZGlzdG9ydGlvblNjYWxlOiAwLjUsXG4gICAgICAgICAgICB0ZW1wb3JhbERpc3RvcnRpb246IDAuMCxcbiAgICAgICAgICAgIGJ1ZmZlcjogbnVsbCxcbiAgICAgICAgfSk7XG4gICAgICAgIGxldCBvbGRCZzogVEhSRUUuU2NlbmVbJ2JhY2tncm91bmQnXTtcbiAgICAgICAgbGV0IG9sZFRvbmU6IFRIUkVFLldlYkdMUmVuZGVyZXJbJ3RvbmVNYXBwaW5nJ107XG4gICAgICAgIGxldCBwYXJlbnQ6IFRIUkVFLk9iamVjdDNEO1xuXG4gICAgICAgIGluamVjdEJlZm9yZVJlbmRlcigoc3RhdGUpID0+IHtcbiAgICAgICAgICAgIGlmICghdGhpcy5tYXRlcmlhbFJlZi5uYXRpdmVFbGVtZW50KSByZXR1cm47XG5cbiAgICAgICAgICAgIGNvbnN0IHsgdHJhbnNtaXNzaW9uU2FtcGxlciwgYmFja2dyb3VuZCwgYmFja3NpZGUsIGJhY2tzaWRlVGhpY2tuZXNzLCB0aGlja25lc3MgfSA9IHRoaXMuZ2V0KCk7XG5cbiAgICAgICAgICAgIHRoaXMubWF0ZXJpYWxSZWYubmF0aXZlRWxlbWVudC50aW1lID0gc3RhdGUuY2xvY2suZ2V0RWxhcHNlZFRpbWUoKTtcbiAgICAgICAgICAgIC8vIFJlbmRlciBvbmx5IGlmIHRoZSBidWZmZXIgbWF0Y2hlcyB0aGUgYnVpbHQtaW4gYW5kIG5vIHRyYW5zbWlzc2lvbiBzYW1wbGVyIGlzIHNldFxuICAgICAgICAgICAgaWYgKHRoaXMubWF0ZXJpYWxSZWYubmF0aXZlRWxlbWVudC5idWZmZXIgPT09IHRoaXMuZmJvTWFpblJlZigpLnRleHR1cmUgJiYgIXRyYW5zbWlzc2lvblNhbXBsZXIpIHtcbiAgICAgICAgICAgICAgICBwYXJlbnQgPSBnZXRMb2NhbFN0YXRlKHRoaXMubWF0ZXJpYWxSZWYubmF0aXZlRWxlbWVudCkucGFyZW50KCkgYXMgVEhSRUUuT2JqZWN0M0Q7XG4gICAgICAgICAgICAgICAgaWYgKHBhcmVudCkge1xuICAgICAgICAgICAgICAgICAgICAvLyBTYXZlIGRlZmF1bHRzXG4gICAgICAgICAgICAgICAgICAgIG9sZFRvbmUgPSBzdGF0ZS5nbC50b25lTWFwcGluZztcbiAgICAgICAgICAgICAgICAgICAgb2xkQmcgPSBzdGF0ZS5zY2VuZS5iYWNrZ3JvdW5kO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIFN3aXRjaCBvZmYgdG9uZW1hcHBpbmcgbGVzdCBpdCBkb3VibGUgdG9uZSBtYXBzXG4gICAgICAgICAgICAgICAgICAgIC8vIFNhdmUgdGhlIGN1cnJlbnQgYmFja2dyb3VuZCBhbmQgc2V0IHRoZSBIRFIgYXMgdGhlIG5ldyBCR1xuICAgICAgICAgICAgICAgICAgICAvLyBVc2UgZGlzY2FyZG1hdGVyaWFsLCB0aGUgcGFyZW50IHdpbGwgYmUgaW52aXNpYmxlLCBidXQgaXQncyBzaGFkb3dzIHdpbGwgc3RpbGwgYmUgY2FzdFxuICAgICAgICAgICAgICAgICAgICBzdGF0ZS5nbC50b25lTWFwcGluZyA9IFRIUkVFLk5vVG9uZU1hcHBpbmc7XG4gICAgICAgICAgICAgICAgICAgIGlmIChiYWNrZ3JvdW5kKSBzdGF0ZS5zY2VuZS5iYWNrZ3JvdW5kID0gYmFja2dyb3VuZDtcbiAgICAgICAgICAgICAgICAgICAgKHBhcmVudCBhcyBOZ3RBbnlSZWNvcmQpWydtYXRlcmlhbCddID0gdGhpcy4jZGlzY2FyZE1hdGVyaWFsO1xuXG4gICAgICAgICAgICAgICAgICAgIGlmIChiYWNrc2lkZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gUmVuZGVyIGludG8gdGhlIGJhY2tzaWRlIGJ1ZmZlclxuICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGUuZ2wuc2V0UmVuZGVyVGFyZ2V0KHRoaXMuZmJvQmFja1JlZigpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlLmdsLnJlbmRlcihzdGF0ZS5zY2VuZSwgc3RhdGUuY2FtZXJhKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIEFuZCBub3cgcHJlcGFyZSB0aGUgbWF0ZXJpYWwgZm9yIHRoZSBtYWluIHJlbmRlciB1c2luZyB0aGUgYmFja3NpZGUgYnVmZmVyXG4gICAgICAgICAgICAgICAgICAgICAgICAocGFyZW50IGFzIE5ndEFueVJlY29yZClbJ21hdGVyaWFsJ10gPSB0aGlzLm1hdGVyaWFsUmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAocGFyZW50IGFzIE5ndEFueVJlY29yZClbJ21hdGVyaWFsJ10uYnVmZmVyID0gdGhpcy5mYm9CYWNrUmVmKCkudGV4dHVyZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIChwYXJlbnQgYXMgTmd0QW55UmVjb3JkKVsnbWF0ZXJpYWwnXS50aGlja25lc3MgPSBiYWNrc2lkZVRoaWNrbmVzcztcbiAgICAgICAgICAgICAgICAgICAgICAgIChwYXJlbnQgYXMgTmd0QW55UmVjb3JkKVsnbWF0ZXJpYWwnXS5zaWRlID0gVEhSRUUuQmFja1NpZGU7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAvLyBSZW5kZXIgaW50byB0aGUgbWFpbiBidWZmZXJcbiAgICAgICAgICAgICAgICAgICAgc3RhdGUuZ2wuc2V0UmVuZGVyVGFyZ2V0KHRoaXMuZmJvTWFpblJlZigpKTtcbiAgICAgICAgICAgICAgICAgICAgc3RhdGUuZ2wucmVuZGVyKHN0YXRlLnNjZW5lLCBzdGF0ZS5jYW1lcmEpO1xuXG4gICAgICAgICAgICAgICAgICAgIChwYXJlbnQgYXMgTmd0QW55UmVjb3JkKVsnbWF0ZXJpYWwnXS50aGlja25lc3MgPSB0aGlja25lc3M7XG4gICAgICAgICAgICAgICAgICAgIChwYXJlbnQgYXMgTmd0QW55UmVjb3JkKVsnbWF0ZXJpYWwnXS5zaWRlID0gdGhpcy5zaWRlO1xuICAgICAgICAgICAgICAgICAgICAocGFyZW50IGFzIE5ndEFueVJlY29yZClbJ21hdGVyaWFsJ10uYnVmZmVyID0gdGhpcy5mYm9NYWluUmVmKCkudGV4dHVyZTtcblxuICAgICAgICAgICAgICAgICAgICAvLyBTZXQgb2xkIHN0YXRlIGJhY2tcbiAgICAgICAgICAgICAgICAgICAgc3RhdGUuc2NlbmUuYmFja2dyb3VuZCA9IG9sZEJnO1xuICAgICAgICAgICAgICAgICAgICBzdGF0ZS5nbC5zZXRSZW5kZXJUYXJnZXQobnVsbCk7XG4gICAgICAgICAgICAgICAgICAgIChwYXJlbnQgYXMgTmd0QW55UmVjb3JkKVsnbWF0ZXJpYWwnXSA9IHRoaXMubWF0ZXJpYWxSZWYubmF0aXZlRWxlbWVudDtcbiAgICAgICAgICAgICAgICAgICAgc3RhdGUuZ2wudG9uZU1hcHBpbmcgPSBvbGRUb25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
|
|
257
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzaC10cmFuc21pc3Npb24tbWF0ZXJpYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NvYmEvbWF0ZXJpYWxzL3NyYy9tZXNoLXRyYW5zbWlzc2lvbi1tYXRlcmlhbC9tZXNoLXRyYW5zbWlzc2lvbi1tYXRlcmlhbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxzQkFBc0IsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkYsT0FBTyxFQUNILE1BQU0sRUFDTixhQUFhLEVBQ2Isa0JBQWtCLEVBQ2xCLFlBQVksRUFFWixPQUFPLEVBQ1AsY0FBYyxHQUNqQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGVBQWUsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3ZGLE9BQU8sS0FBSyxLQUFLLE1BQU0sT0FBTyxDQUFDOztBQUUvQixNQUFNLENBQUMsRUFBRSx3QkFBd0IsRUFBRSxDQUFDLENBQUM7QUEwQ3JDLE1BeUJhLDJCQUE0QixTQUFRLGNBQWdEO0lBRTdGOzs7eUZBR3FGO0lBQ3JGLElBQWEsbUJBQW1CLENBQUMsbUJBQTRCO1FBQ3pELElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxtQkFBbUIsRUFBRSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUNELHNGQUFzRjtJQUN0RixJQUFhLFFBQVEsQ0FBQyxRQUFpQjtRQUNuQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBQ0QsNkRBQTZEO0lBQzdELElBQWEsaUJBQWlCLENBQUMsaUJBQXlCO1FBQ3BELElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxpQkFBaUIsRUFBRSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUNE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TyxtQkFBbUI7c0JBQS9CLEtBQUs7Z0JBSU8sUUFBUTtzQkFBcEIsS0FBSztnQkFJTyxpQkFBaUI7c0JBQTdCLEtBQUs7Z0JBSU8sVUFBVTtzQkFBdEIsS0FBSztnQkFJTyxrQkFBa0I7c0JBQTlCLEtBQUs7Z0JBSU8sT0FBTztzQkFBbkIsS0FBSztnQkFJTyxVQUFVO3NCQUF0QixLQUFLO2dCQUlPLFlBQVk7c0JBQXhCLEtBQUs7Z0JBSU8sU0FBUztzQkFBckIsS0FBSztnQkFJTyxTQUFTO3NCQUFyQixLQUFLO2dCQUlPLG1CQUFtQjtzQkFBL0IsS0FBSztnQkFJTyxVQUFVO3NCQUF0QixLQUFLO2dCQUlPLFVBQVU7c0JBQXRCLEtBQUs7Z0JBSU8sZUFBZTtzQkFBM0IsS0FBSztnQkFJTyxrQkFBa0I7c0JBQTlCLEtBQUs7Z0JBSU8sTUFBTTtzQkFBbEIsS0FBSztnQkFJTyxJQUFJO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBjb21wdXRlZCwgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgZXh0ZW5kLFxuICAgIGdldExvY2FsU3RhdGUsXG4gICAgaW5qZWN0QmVmb3JlUmVuZGVyLFxuICAgIGluamVjdE5ndFJlZixcbiAgICBOZ3RBbnlSZWNvcmQsXG4gICAgTmd0QXJncyxcbiAgICBOZ3RTaWduYWxTdG9yZSxcbn0gZnJvbSAnYW5ndWxhci10aHJlZSc7XG5pbXBvcnQgeyBpbmplY3ROZ3RzRkJPIH0gZnJvbSAnYW5ndWxhci10aHJlZS1zb2JhL21pc2MnO1xuaW1wb3J0IHsgRGlzY2FyZE1hdGVyaWFsLCBNZXNoVHJhbnNtaXNzaW9uTWF0ZXJpYWwgfSBmcm9tICdhbmd1bGFyLXRocmVlLXNvYmEvc2hhZGVycyc7XG5pbXBvcnQgKiBhcyBUSFJFRSBmcm9tICd0aHJlZSc7XG5cbmV4dGVuZCh7IE1lc2hUcmFuc21pc3Npb25NYXRlcmlhbCB9KTtcblxuZXhwb3J0IGludGVyZmFjZSBOZ3RzTWVzaFRyYW5taXNzaW9uTWF0ZXJpYWxTdGF0ZSB7XG4gICAgLyoqIHRyYW5zbWlzc2lvblNhbXBsZXIsIHlvdSBjYW4gdXNlIHRoZSB0aHJlZWpzIHRyYW5zbWlzc2lvbiBzYW1wbGVyIHRleHR1cmUgdGhhdCBpc1xuICAgICAqICBnZW5lcmF0ZWQgb25jZSBmb3IgYWxsIHRyYW5zbWlzc2l2ZSBtYXRlcmlhbHMuIFRoZSB1cHNpZGUgaXMgdGhhdCBpdCBjYW4gYmUgZmFzdGVyIGlmIHlvdVxuICAgICAqICB1c2UgbXVsdGlwbGUgTWVzaFBoeXNpY2FsIGFuZCBUcmFuc21pc3Npb24gbWF0ZXJpYWxzLCB0aGUgZG93bnNpZGUgaXMgdGhhdCB0cmFuc21pc3NpdmUgbWF0ZXJpYWxzXG4gICAgICogIHVzaW5nIHRoaXMgY2FuJ3Qgc2VlIG90aGVyIHRyYW5zcGFyZW50IG9yIHRyYW5zbWlzc2l2ZSBvYmplY3RzLCBkZWZhdWx0OiBmYWxzZSAqL1xuICAgIHRyYW5zbWlzc2lvblNhbXBsZXI6IGJvb2xlYW47XG4gICAgLyoqIFJlbmRlciB0aGUgYmFja3NpZGUgb2YgdGhlIG1hdGVyaWFsIChtb3JlIGNvc3QsIGJldHRlciByZXN1bHRzKSwgZGVmYXVsdDogZmFsc2UgKi9cbiAgICBiYWNrc2lkZTogYm9vbGVhbjtcbiAgICAvKiogQmFja3NpZGUgdGhpY2tuZXNzICh3aGVuIGJhY2tzaWRlIGlzIHRydWUpLCBkZWZhdWx0OiAwICovXG4gICAgYmFja3NpZGVUaGlja25lc3M6IG51bWJlcjtcbiAgICAvKiogUmVzb2x1dGlvbiBvZiB0aGUgbG9jYWwgYnVmZmVyLCBkZWZhdWx0OiB1bmRlZmluZWQgKGZ1bGxzY3JlZW4pICovXG4gICAgcmVzb2x1dGlvbjogbnVtYmVyO1xuICAgIC8qKiBSZXNvbHV0aW9uIG9mIHRoZSBsb2NhbCBidWZmZXIgZm9yIGJhY2tmYWNlcywgZGVmYXVsdDogdW5kZWZpbmVkIChmdWxsc2NyZWVuKSAqL1xuICAgIGJhY2tzaWRlUmVzb2x1dGlvbjogbnVtYmVyO1xuICAgIC8qKiBSZWZyYWN0aW9uIHNhbXBsZXMsIGRlZmF1bHQ6IDEwICovXG4gICAgc2FtcGxlczogbnVtYmVyO1xuICAgIC8qKiBCdWZmZXIgc2NlbmUgYmFja2dyb3VuZCAoY2FuIGJlIGEgdGV4dHVyZSwgYSBjdWJldGV4dHVyZSBvciBhIGNvbG9yKSwgZGVmYXVsdDogbnVsbCAqL1xuICAgIGJhY2tncm91bmQ6IFRIUkVFLlRleHR1cmUgfCBUSFJFRS5Db2xvcjtcbiAgICAvKiBUcmFuc21pc3Npb24sIGRlZmF1bHQ6IDEgKi9cbiAgICB0cmFuc21pc3Npb246IG51bWJlcjtcbiAgICAvKiBUaGlja25lc3MgKHJlZnJhY3Rpb24pLCBkZWZhdWx0OiAwICovXG4gICAgdGhpY2tuZXNzOiBudW1iZXI7XG4gICAgLyogUm91Z2huZXNzIChibHVyKSwgZGVmYXVsdDogMCAqL1xuICAgIHJvdWdobmVzczogbnVtYmVyO1xuICAgIC8qIENocm9tYXRpYyBhYmVycmF0aW9uLCBkZWZhdWx0OiAwLjAzICovXG4gICAgY2hyb21hdGljQWJlcnJhdGlvbjogbnVtYmVyO1xuICAgIC8qIEFuaXNvdHJvcHksIGRlZmF1bHQ6IDAuMSAqL1xuICAgIGFuaXNvdHJvcHk6IG51bWJlcjtcbiAgICAvKiBEaXN0b3J0aW9uLCBkZWZhdWx0OiAwICovXG4gICAgZGlzdG9ydGlvbjogbnVtYmVyO1xuICAgIC8qIERpc3RvcnRpb24gc2NhbGUsIGRlZmF1bHQ6IDAuNSAqL1xuICAgIGRpc3RvcnRpb25TY2FsZTogbnVtYmVyO1xuICAgIC8qIFRlbXBvcmFsIGRpc3RvcnRpb24gKHNwZWVkIG9mIG1vdmVtZW50KSwgZGVmYXVsdDogMC4wICovXG4gICAgdGVtcG9yYWxEaXN0b3J0aW9uOiBudW1iZXI7XG4gICAgLyoqIFRoZSBzY2VuZSByZW5kZXJlZCBpbnRvIGEgdGV4dHVyZSAodXNlIGl0IHRvIHNoYXJlIGEgdGV4dHVyZSBiZXR3ZWVuIG1hdGVyaWFscyksIGRlZmF1bHQ6IG51bGwgICovXG4gICAgYnVmZmVyOiBUSFJFRS5UZXh0dXJlIHwgbnVsbDtcbiAgICAvKiogSW50ZXJuYWxzICovXG4gICAgdGltZTogbnVtYmVyO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ25ndHMtbWVzaC10cmFuc21pc3Npb24tbWF0ZXJpYWwnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgPG5ndC1tZXNoLXRyYW5zbWlzc2lvbi1tYXRlcmlhbFxuICAgICAgICAgICAgbmd0Q29tcG91bmRcbiAgICAgICAgICAgICphcmdzPVwiW3RyYW5zbWlzc2lvblNhbXBsZXMoKSwgdHJhbnNtaXNzaW9uVHJhbnNtaXNzaW9uU2FtcGxlcigpXVwiXG4gICAgICAgICAgICBbcmVmXT1cIm1hdGVyaWFsUmVmXCJcbiAgICAgICAgICAgIFtidWZmZXJdPVwidHJhbnNtaXNzaW9uQnVmZmVyKCkgfHwgZmJvTWFpblJlZigpPy50ZXh0dXJlXCJcbiAgICAgICAgICAgIFtfdHJhbnNtaXNzaW9uXT1cInRyYW5zbWlzc2lvblRyYW5zbWlzc2lvbigpXCJcbiAgICAgICAgICAgIFt0cmFuc21pc3Npb25dPVwidHJhbnNtaXNzaW9uVHJhbnNtaXNzaW9uU2FtcGxlcigpID8gdHJhbnNtaXNzaW9uVHJhbnNtaXNzaW9uKCkgOiAwXCJcbiAgICAgICAgICAgIFt0aGlja25lc3NdPVwidHJhbnNtaXNzaW9uVGhpY2tuZXNzKClcIlxuICAgICAgICAgICAgW3NpZGVdPVwic2lkZVwiXG4gICAgICAgICAgICBbYW5pc290cm9weV09XCJ0cmFuc21pc3Npb25Bbmlzb3Ryb3B5KClcIlxuICAgICAgICAgICAgW3JvdWdobmVzc109XCJ0cmFuc21pc3Npb25Sb3VnaG5lc3MoKVwiXG4gICAgICAgICAgICBbY2hyb21hdGljQWJlcnJhdGlvbl09XCJ0cmFuc21pc3Npb25DaHJvbWF0aWNBYmVycmF0aW9uKClcIlxuICAgICAgICAgICAgW2Rpc3RvcnRpb25dPVwidHJhbnNtaXNzaW9uRGlzdG9ydGlvbigpXCJcbiAgICAgICAgICAgIFtkaXN0b3J0aW9uU2NhbGVdPVwidHJhbnNtaXNzaW9uRGlzdG9ydGlvblNjYWxlKClcIlxuICAgICAgICAgICAgW3RlbXBvcmFsRGlzdG9ydGlvbl09XCJ0cmFuc21pc3Npb25UZW1wb3JhbERpc3RvcnRpb24oKVwiXG4gICAgICAgICAgICBbdGltZV09XCJ0cmFuc21pc3Npb25UaW1lKClcIlxuICAgICAgICAvPlxuICAgIGAsXG4gICAgaW1wb3J0czogW05ndEFyZ3NdLFxuICAgIHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcbn0pXG5leHBvcnQgY2xhc3MgTmd0c01lc2hUcmFubWlzc2lvbk1hdGVyaWFsIGV4dGVuZHMgTmd0U2lnbmFsU3RvcmU8Tmd0c01lc2hUcmFubWlzc2lvbk1hdGVyaWFsU3RhdGU+IHtcbiAgICBASW5wdXQoKSBtYXRlcmlhbFJlZiA9IGluamVjdE5ndFJlZjxNZXNoVHJhbnNtaXNzaW9uTWF0ZXJpYWwgJiB7IHRpbWU6IG51bWJlcjsgYnVmZmVyPzogVEhSRUUuVGV4dHVyZSB9PigpO1xuICAgIC8qKiB0cmFuc21pc3Npb25TYW1wbGVyLCB5b3UgY2FuIHVzZSB0aGUgdGhyZWVqcyB0cmFuc21pc3Npb24gc2FtcGxlciB0ZXh0dXJlIHRoYXQgaXNcbiAgICAgKiAgZ2VuZXJhdGVkIG9uY2UgZm9yIGFsbCB0cmFuc21pc3NpdmUgbWF0ZXJpYWxzLiBUaGUgdXBzaWRlIGlzIHRoYXQgaXQgY2FuIGJlIGZhc3RlciBpZiB5b3VcbiAgICAgKiAgdXNlIG11bHRpcGxlIE1lc2hQaHlzaWNhbCBhbmQgVHJhbnNtaXNzaW9uIG1hdGVyaWFscywgdGhlIGRvd25zaWRlIGlzIHRoYXQgdHJhbnNtaXNzaXZlIG1hdGVyaWFsc1xuICAgICAqICB1c2luZyB0aGlzIGNhbid0IHNlZSBvdGhlciB0cmFuc3BhcmVudCBvciB0cmFuc21pc3NpdmUgb2JqZWN0cywgZGVmYXVsdDogZmFsc2UgKi9cbiAgICBASW5wdXQoKSBzZXQgdHJhbnNtaXNzaW9uU2FtcGxlcih0cmFuc21pc3Npb25TYW1wbGVyOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgdHJhbnNtaXNzaW9uU2FtcGxlciB9KTtcbiAgICB9XG4gICAgLyoqIFJlbmRlciB0aGUgYmFja3NpZGUgb2YgdGhlIG1hdGVyaWFsIChtb3JlIGNvc3QsIGJldHRlciByZXN1bHRzKSwgZGVmYXVsdDogZmFsc2UgKi9cbiAgICBASW5wdXQoKSBzZXQgYmFja3NpZGUoYmFja3NpZGU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5zZXQoeyBiYWNrc2lkZSB9KTtcbiAgICB9XG4gICAgLyoqIEJhY2tzaWRlIHRoaWNrbmVzcyAod2hlbiBiYWNrc2lkZSBpcyB0cnVlKSwgZGVmYXVsdDogMCAqL1xuICAgIEBJbnB1dCgpIHNldCBiYWNrc2lkZVRoaWNrbmVzcyhiYWNrc2lkZVRoaWNrbmVzczogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgYmFja3NpZGVUaGlja25lc3MgfSk7XG4gICAgfVxuICAgIC8qKiBSZXNvbHV0aW9uIG9mIHRoZSBsb2NhbCBidWZmZXIsIGRlZmF1bHQ6IHVuZGVmaW5lZCAoZnVsbHNjcmVlbikgKi9cbiAgICBASW5wdXQoKSBzZXQgcmVzb2x1dGlvbihyZXNvbHV0aW9uOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5zZXQoeyByZXNvbHV0aW9uIH0pO1xuICAgIH1cbiAgICAvKiogUmVzb2x1dGlvbiBvZiB0aGUgbG9jYWwgYnVmZmVyIGZvciBiYWNrZmFjZXMsIGRlZmF1bHQ6IHVuZGVmaW5lZCAoZnVsbHNjcmVlbikgKi9cbiAgICBASW5wdXQoKSBzZXQgYmFja3NpZGVSZXNvbHV0aW9uKGJhY2tzaWRlUmVzb2x1dGlvbjogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgYmFja3NpZGVSZXNvbHV0aW9uIH0pO1xuICAgIH1cbiAgICAvKiogUmVmcmFjdGlvbiBzYW1wbGVzLCBkZWZhdWx0OiAxMCAqL1xuICAgIEBJbnB1dCgpIHNldCBzYW1wbGVzKHNhbXBsZXM6IG51bWJlcikge1xuICAgICAgICB0aGlzLnNldCh7IHNhbXBsZXMgfSk7XG4gICAgfVxuICAgIC8qKiBCdWZmZXIgc2NlbmUgYmFja2dyb3VuZCAoY2FuIGJlIGEgdGV4dHVyZSwgYSBjdWJldGV4dHVyZSBvciBhIGNvbG9yKSwgZGVmYXVsdDogbnVsbCAqL1xuICAgIEBJbnB1dCgpIHNldCBiYWNrZ3JvdW5kKGJhY2tncm91bmQ6IFRIUkVFLlRleHR1cmUgfCBUSFJFRS5Db2xvcikge1xuICAgICAgICB0aGlzLnNldCh7IGJhY2tncm91bmQgfSk7XG4gICAgfVxuICAgIC8qIFRyYW5zbWlzc2lvbiwgZGVmYXVsdDogMSAqL1xuICAgIEBJbnB1dCgpIHNldCB0cmFuc21pc3Npb24odHJhbnNtaXNzaW9uOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5zZXQoeyB0cmFuc21pc3Npb24gfSk7XG4gICAgfVxuICAgIC8qIFRoaWNrbmVzcyAocmVmcmFjdGlvbiksIGRlZmF1bHQ6IDAgKi9cbiAgICBASW5wdXQoKSBzZXQgdGhpY2tuZXNzKHRoaWNrbmVzczogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgdGhpY2tuZXNzIH0pO1xuICAgIH1cbiAgICAvKiBSb3VnaG5lc3MgKGJsdXIpLCBkZWZhdWx0OiAwICovXG4gICAgQElucHV0KCkgc2V0IHJvdWdobmVzcyhyb3VnaG5lc3M6IG51bWJlcikge1xuICAgICAgICB0aGlzLnNldCh7IHJvdWdobmVzcyB9KTtcbiAgICB9XG4gICAgLyogQ2hyb21hdGljIGFiZXJyYXRpb24sIGRlZmF1bHQ6IDAuMDMgKi9cbiAgICBASW5wdXQoKSBzZXQgY2hyb21hdGljQWJlcnJhdGlvbihjaHJvbWF0aWNBYmVycmF0aW9uOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5zZXQoeyBjaHJvbWF0aWNBYmVycmF0aW9uIH0pO1xuICAgIH1cbiAgICAvKiBBbmlzb3Ryb3B5LCBkZWZhdWx0OiAwLjEgKi9cbiAgICBASW5wdXQoKSBzZXQgYW5pc290cm9weShhbmlzb3Ryb3B5OiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5zZXQoeyBhbmlzb3Ryb3B5IH0pO1xuICAgIH1cbiAgICAvKiBEaXN0b3J0aW9uLCBkZWZhdWx0OiAwICovXG4gICAgQElucHV0KCkgc2V0IGRpc3RvcnRpb24oZGlzdG9ydGlvbjogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgZGlzdG9ydGlvbiB9KTtcbiAgICB9XG4gICAgLyogRGlzdG9ydGlvbiBzY2FsZSwgZGVmYXVsdDogMC41ICovXG4gICAgQElucHV0KCkgc2V0IGRpc3RvcnRpb25TY2FsZShkaXN0b3J0aW9uU2NhbGU6IG51bWJlcikge1xuICAgICAgICB0aGlzLnNldCh7IGRpc3RvcnRpb25TY2FsZSB9KTtcbiAgICB9XG4gICAgLyogVGVtcG9yYWwgZGlzdG9ydGlvbiAoc3BlZWQgb2YgbW92ZW1lbnQpLCBkZWZhdWx0OiAwLjAgKi9cbiAgICBASW5wdXQoKSBzZXQgdGVtcG9yYWxEaXN0b3J0aW9uKHRlbXBvcmFsRGlzdG9ydGlvbjogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgdGVtcG9yYWxEaXN0b3J0aW9uIH0pO1xuICAgIH1cbiAgICAvKiogVGhlIHNjZW5lIHJlbmRlcmVkIGludG8gYSB0ZXh0dXJlICh1c2UgaXQgdG8gc2hhcmUgYSB0ZXh0dXJlIGJldHdlZW4gbWF0ZXJpYWxzKSwgZGVmYXVsdDogbnVsbCAgKi9cbiAgICBASW5wdXQoKSBzZXQgYnVmZmVyKGJ1ZmZlcjogVEhSRUUuVGV4dHVyZSkge1xuICAgICAgICB0aGlzLnNldCh7IGJ1ZmZlciB9KTtcbiAgICB9XG4gICAgLyoqIEludGVybmFscyAqL1xuICAgIEBJbnB1dCgpIHNldCB0aW1lKHRpbWU6IG51bWJlcikge1xuICAgICAgICB0aGlzLnNldCh7IHRpbWUgfSk7XG4gICAgfVxuXG4gICAgcmVhZG9ubHkgdHJhbnNtaXNzaW9uVHJhbnNtaXNzaW9uU2FtcGxlciA9IHRoaXMuc2VsZWN0KCd0cmFuc21pc3Npb25TYW1wbGVyJyk7XG4gICAgcmVhZG9ubHkgdHJhbnNtaXNzaW9uQmFja3NpZGUgPSB0aGlzLnNlbGVjdCgnYmFja3NpZGUnKTtcbiAgICByZWFkb25seSB0cmFuc21pc3Npb25UcmFuc21pc3Npb24gPSB0aGlzLnNlbGVjdCgndHJhbnNtaXNzaW9uJyk7XG4gICAgcmVhZG9ubHkgdHJhbnNtaXNzaW9uVGhpY2tuZXNzID0gdGhpcy5zZWxlY3QoJ3RoaWNrbmVzcycpO1xuICAgIHJlYWRvbmx5IHRyYW5zbWlzc2lvbkJhY2tzaWRlVGhpY2tuZXNzID0gdGhpcy5zZWxlY3QoJ2JhY2tzaWRlVGhpY2tuZXNzJyk7XG4gICAgcmVhZG9ubHkgdHJhbnNtaXNzaW9uU2FtcGxlcyA9IHRoaXMuc2VsZWN0KCdzYW1wbGVzJyk7XG4gICAgcmVhZG9ubHkgdHJhbnNtaXNzaW9uUm91Z2huZXNzID0gdGhpcy5zZWxlY3QoJ3JvdWdobmVzcycpO1xuICAgIHJlYWRvbmx5IHRyYW5zbWlzc2lvbkFuaXNvdHJvcHkgPSB0aGlzLnNlbGVjdCgnYW5pc290cm9weScpO1xuICAgIHJlYWRvbmx5IHRyYW5zbWlzc2lvbkNocm9tYXRpY0FiZXJyYXRpb24gPSB0aGlzLnNlbGVjdCgnY2hyb21hdGljQWJlcnJhdGlvbicpO1xuICAgIHJlYWRvbmx5IHRyYW5zbWlzc2lvbkRpc3RvcnRpb24gPSB0aGlzLnNlbGVjdCgnZGlzdG9ydGlvbicpO1xuICAgIHJlYWRvbmx5IHRyYW5zbWlzc2lvbkRpc3RvcnRpb25TY2FsZSA9IHRoaXMuc2VsZWN0KCdkaXN0b3J0aW9uU2NhbGUnKTtcbiAgICByZWFkb25seSB0cmFuc21pc3Npb25UZW1wb3JhbERpc3RvcnRpb24gPSB0aGlzLnNlbGVjdCgndGVtcG9yYWxEaXN0b3J0aW9uJyk7XG4gICAgcmVhZG9ubHkgdHJhbnNtaXNzaW9uQnVmZmVyID0gdGhpcy5zZWxlY3QoJ2J1ZmZlcicpO1xuICAgIHJlYWRvbmx5IHRyYW5zbWlzc2lvblRpbWUgPSB0aGlzLnNlbGVjdCgndGltZScpO1xuXG4gICAgcmVhZG9ubHkgI2Rpc2NhcmRNYXRlcmlhbCA9IG5ldyBEaXNjYXJkTWF0ZXJpYWwoKTtcblxuICAgIHJlYWRvbmx5ICNiYWNrc2lkZVJlc29sdXRpb24gPSB0aGlzLnNlbGVjdCgnYmFja3NpZGVSZXNvbHV0aW9uJyk7XG4gICAgcmVhZG9ubHkgI3Jlc29sdXRpb24gPSB0aGlzLnNlbGVjdCgncmVzb2x1dGlvbicpO1xuXG4gICAgcmVhZG9ubHkgI2Zib0JhY2tTZXR0aW5ncyA9IGNvbXB1dGVkKCgpID0+ICh7IHdpZHRoOiB0aGlzLiNiYWNrc2lkZVJlc29sdXRpb24oKSB8fCB0aGlzLiNyZXNvbHV0aW9uKCkgfSkpO1xuICAgIHJlYWRvbmx5ICNmYm9NYWluU2V0dGluZ3MgPSBjb21wdXRlZCgoKSA9PiAoeyB3aWR0aDogdGhpcy4jcmVzb2x1dGlvbigpIH0pKTtcblxuICAgIHJlYWRvbmx5IGZib0JhY2tSZWYgPSBpbmplY3ROZ3RzRkJPKHRoaXMuI2Zib0JhY2tTZXR0aW5ncyk7XG4gICAgcmVhZG9ubHkgZmJvTWFpblJlZiA9IGluamVjdE5ndHNGQk8odGhpcy4jZmJvTWFpblNldHRpbmdzKTtcblxuICAgIHJlYWRvbmx5IHNpZGUgPSBUSFJFRS5Gcm9udFNpZGU7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoe1xuICAgICAgICAgICAgdHJhbnNtaXNzaW9uU2FtcGxlcjogZmFsc2UsXG4gICAgICAgICAgICBiYWNrc2lkZTogZmFsc2UsXG4gICAgICAgICAgICB0cmFuc21pc3Npb246IDEsXG4gICAgICAgICAgICB0aGlja25lc3M6IDAsXG4gICAgICAgICAgICBiYWNrc2lkZVRoaWNrbmVzczogMCxcbiAgICAgICAgICAgIHNhbXBsZXM6IDEwLFxuICAgICAgICAgICAgcm91Z2huZXNzOiAwLFxuICAgICAgICAgICAgYW5pc290cm9weTogMC4xLFxuICAgICAgICAgICAgY2hyb21hdGljQWJlcnJhdGlvbjogMC4wMyxcbiAgICAgICAgICAgIGRpc3RvcnRpb246IDAsXG4gICAgICAgICAgICBkaXN0b3J0aW9uU2NhbGU6IDAuNSxcbiAgICAgICAgICAgIHRlbXBvcmFsRGlzdG9ydGlvbjogMC4wLFxuICAgICAgICAgICAgYnVmZmVyOiBudWxsLFxuICAgICAgICB9KTtcbiAgICAgICAgbGV0IG9sZEJnOiBUSFJFRS5TY2VuZVsnYmFja2dyb3VuZCddO1xuICAgICAgICBsZXQgb2xkVG9uZTogVEhSRUUuV2ViR0xSZW5kZXJlclsndG9uZU1hcHBpbmcnXTtcbiAgICAgICAgbGV0IHBhcmVudDogVEhSRUUuT2JqZWN0M0Q7XG5cbiAgICAgICAgaW5qZWN0QmVmb3JlUmVuZGVyKChzdGF0ZSkgPT4ge1xuICAgICAgICAgICAgaWYgKCF0aGlzLm1hdGVyaWFsUmVmLm5hdGl2ZUVsZW1lbnQpIHJldHVybjtcblxuICAgICAgICAgICAgY29uc3QgeyB0cmFuc21pc3Npb25TYW1wbGVyLCBiYWNrZ3JvdW5kLCBiYWNrc2lkZSwgYmFja3NpZGVUaGlja25lc3MsIHRoaWNrbmVzcyB9ID0gdGhpcy5nZXQoKTtcblxuICAgICAgICAgICAgdGhpcy5tYXRlcmlhbFJlZi5uYXRpdmVFbGVtZW50LnRpbWUgPSBzdGF0ZS5jbG9jay5nZXRFbGFwc2VkVGltZSgpO1xuICAgICAgICAgICAgLy8gUmVuZGVyIG9ubHkgaWYgdGhlIGJ1ZmZlciBtYXRjaGVzIHRoZSBidWlsdC1pbiBhbmQgbm8gdHJhbnNtaXNzaW9uIHNhbXBsZXIgaXMgc2V0XG4gICAgICAgICAgICBpZiAodGhpcy5tYXRlcmlhbFJlZi5uYXRpdmVFbGVtZW50LmJ1ZmZlciA9PT0gdGhpcy5mYm9NYWluUmVmKCkudGV4dHVyZSAmJiAhdHJhbnNtaXNzaW9uU2FtcGxlcikge1xuICAgICAgICAgICAgICAgIHBhcmVudCA9IGdldExvY2FsU3RhdGUodGhpcy5tYXRlcmlhbFJlZi5uYXRpdmVFbGVtZW50KS5wYXJlbnQ/LnZhbHVlIGFzIFRIUkVFLk9iamVjdDNEO1xuICAgICAgICAgICAgICAgIGlmIChwYXJlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gU2F2ZSBkZWZhdWx0c1xuICAgICAgICAgICAgICAgICAgICBvbGRUb25lID0gc3RhdGUuZ2wudG9uZU1hcHBpbmc7XG4gICAgICAgICAgICAgICAgICAgIG9sZEJnID0gc3RhdGUuc2NlbmUuYmFja2dyb3VuZDtcblxuICAgICAgICAgICAgICAgICAgICAvLyBTd2l0Y2ggb2ZmIHRvbmVtYXBwaW5nIGxlc3QgaXQgZG91YmxlIHRvbmUgbWFwc1xuICAgICAgICAgICAgICAgICAgICAvLyBTYXZlIHRoZSBjdXJyZW50IGJhY2tncm91bmQgYW5kIHNldCB0aGUgSERSIGFzIHRoZSBuZXcgQkdcbiAgICAgICAgICAgICAgICAgICAgLy8gVXNlIGRpc2NhcmRtYXRlcmlhbCwgdGhlIHBhcmVudCB3aWxsIGJlIGludmlzaWJsZSwgYnV0IGl0J3Mgc2hhZG93cyB3aWxsIHN0aWxsIGJlIGNhc3RcbiAgICAgICAgICAgICAgICAgICAgc3RhdGUuZ2wudG9uZU1hcHBpbmcgPSBUSFJFRS5Ob1RvbmVNYXBwaW5nO1xuICAgICAgICAgICAgICAgICAgICBpZiAoYmFja2dyb3VuZCkgc3RhdGUuc2NlbmUuYmFja2dyb3VuZCA9IGJhY2tncm91bmQ7XG4gICAgICAgICAgICAgICAgICAgIChwYXJlbnQgYXMgTmd0QW55UmVjb3JkKVsnbWF0ZXJpYWwnXSA9IHRoaXMuI2Rpc2NhcmRNYXRlcmlhbDtcblxuICAgICAgICAgICAgICAgICAgICBpZiAoYmFja3NpZGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFJlbmRlciBpbnRvIHRoZSBiYWNrc2lkZSBidWZmZXJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlLmdsLnNldFJlbmRlclRhcmdldCh0aGlzLmZib0JhY2tSZWYoKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZS5nbC5yZW5kZXIoc3RhdGUuc2NlbmUsIHN0YXRlLmNhbWVyYSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBBbmQgbm93IHByZXBhcmUgdGhlIG1hdGVyaWFsIGZvciB0aGUgbWFpbiByZW5kZXIgdXNpbmcgdGhlIGJhY2tzaWRlIGJ1ZmZlclxuICAgICAgICAgICAgICAgICAgICAgICAgKHBhcmVudCBhcyBOZ3RBbnlSZWNvcmQpWydtYXRlcmlhbCddID0gdGhpcy5tYXRlcmlhbFJlZi5uYXRpdmVFbGVtZW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgKHBhcmVudCBhcyBOZ3RBbnlSZWNvcmQpWydtYXRlcmlhbCddLmJ1ZmZlciA9IHRoaXMuZmJvQmFja1JlZigpLnRleHR1cmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAocGFyZW50IGFzIE5ndEFueVJlY29yZClbJ21hdGVyaWFsJ10udGhpY2tuZXNzID0gYmFja3NpZGVUaGlja25lc3M7XG4gICAgICAgICAgICAgICAgICAgICAgICAocGFyZW50IGFzIE5ndEFueVJlY29yZClbJ21hdGVyaWFsJ10uc2lkZSA9IFRIUkVFLkJhY2tTaWRlO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gUmVuZGVyIGludG8gdGhlIG1haW4gYnVmZmVyXG4gICAgICAgICAgICAgICAgICAgIHN0YXRlLmdsLnNldFJlbmRlclRhcmdldCh0aGlzLmZib01haW5SZWYoKSk7XG4gICAgICAgICAgICAgICAgICAgIHN0YXRlLmdsLnJlbmRlcihzdGF0ZS5zY2VuZSwgc3RhdGUuY2FtZXJhKTtcblxuICAgICAgICAgICAgICAgICAgICAocGFyZW50IGFzIE5ndEFueVJlY29yZClbJ21hdGVyaWFsJ10udGhpY2tuZXNzID0gdGhpY2tuZXNzO1xuICAgICAgICAgICAgICAgICAgICAocGFyZW50IGFzIE5ndEFueVJlY29yZClbJ21hdGVyaWFsJ10uc2lkZSA9IHRoaXMuc2lkZTtcbiAgICAgICAgICAgICAgICAgICAgKHBhcmVudCBhcyBOZ3RBbnlSZWNvcmQpWydtYXRlcmlhbCddLmJ1ZmZlciA9IHRoaXMuZmJvTWFpblJlZigpLnRleHR1cmU7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gU2V0IG9sZCBzdGF0ZSBiYWNrXG4gICAgICAgICAgICAgICAgICAgIHN0YXRlLnNjZW5lLmJhY2tncm91bmQgPSBvbGRCZztcbiAgICAgICAgICAgICAgICAgICAgc3RhdGUuZ2wuc2V0UmVuZGVyVGFyZ2V0KG51bGwpO1xuICAgICAgICAgICAgICAgICAgICAocGFyZW50IGFzIE5ndEFueVJlY29yZClbJ21hdGVyaWFsJ10gPSB0aGlzLm1hdGVyaWFsUmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgICAgICAgICAgICAgIHN0YXRlLmdsLnRvbmVNYXBwaW5nID0gb2xkVG9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -13,7 +13,7 @@ class NgtsEnvironmentGround {
|
|
|
13
13
|
this.texture = computed(() => {
|
|
14
14
|
const defaultTexture = this.#defaultTexture.nativeElement;
|
|
15
15
|
return this.environmentInput.environmentMap() || defaultTexture;
|
|
16
|
-
});
|
|
16
|
+
}, { equal: Object.is });
|
|
17
17
|
this.groundArgs = computed(() => (this.texture() ? [this.texture()] : []));
|
|
18
18
|
this.height = computed(() => this.environmentInput.environmentGround()?.height);
|
|
19
19
|
this.radius = computed(() => this.environmentInput.environmentGround()?.radius);
|
|
@@ -40,4 +40,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.3", ngImpor
|
|
|
40
40
|
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
41
41
|
}]
|
|
42
42
|
}] });
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQtZ3JvdW5kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zb2JhL3N0YWdpbmcvc3JjL2Vudmlyb25tZW50L2Vudmlyb25tZW50LWdyb3VuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEYsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2xELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzNELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLFNBQVMsQ0FBQzs7QUFFaEQsTUFBTSxDQUFDLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDO0FBRS9CLE1BVWEscUJBQXFCO0lBVmxDO1FBV3VCLHFCQUFnQixHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQzFELG9CQUFlLEdBQUcscUJBQXFCLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFFakYsWUFBTyxHQUFHLFFBQVEsQ0FDdkIsR0FBRyxFQUFFO1lBQ0QsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUM7WUFDMUQsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxFQUFFLElBQUksY0FBYyxDQUFDO1FBQ3BFLENBQUMsRUFDRCxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsRUFBRSxFQUFFLENBQ3ZCLENBQUM7UUFFTyxlQUFVLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3RFLFdBQU0sR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGlCQUFpQixFQUFVLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDcEYsV0FBTSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsaUJBQWlCLEVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNwRixVQUFLLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxpQkFBaUIsRUFBVSxFQUFFLEtBQUssSUFBSSxJQUFJLENBQUMsQ0FBQztLQUN0RztJQWRZLGVBQWUsQ0FBa0U7OEdBRmpGLHFCQUFxQjtrR0FBckIscUJBQXFCLG1GQVBwQjs7O0tBR1QsNERBQ1Msa0JBQWtCLGdHQUFFLE9BQU87O1NBRzVCLHFCQUFxQjsyRkFBckIscUJBQXFCO2tCQVZqQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx5QkFBeUI7b0JBQ25DLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUU7OztLQUdUO29CQUNELE9BQU8sRUFBRSxDQUFDLGtCQUFrQixFQUFFLE9BQU8sQ0FBQztvQkFDdEMsT0FBTyxFQUFFLENBQUMsc0JBQXNCLENBQUM7aUJBQ3BDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBjb21wdXRlZCwgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBleHRlbmQsIE5ndEFyZ3MgfSBmcm9tICdhbmd1bGFyLXRocmVlJztcbmltcG9ydCB7IEdyb3VuZFByb2plY3RlZEVudiB9IGZyb20gJ3RocmVlLXN0ZGxpYic7XG5pbXBvcnQgeyBOZ3RzRW52aXJvbm1lbnRJbnB1dCB9IGZyb20gJy4vZW52aXJvbm1lbnQtaW5wdXQnO1xuaW1wb3J0IHsgTmd0c0Vudmlyb25tZW50TWFwIH0gZnJvbSAnLi9lbnZpcm9ubWVudC1tYXAnO1xuaW1wb3J0IHsgaW5qZWN0Tmd0c0Vudmlyb25tZW50IH0gZnJvbSAnLi91dGlscyc7XG5cbmV4dGVuZCh7IEdyb3VuZFByb2plY3RlZEVudiB9KTtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduZ3RzLWVudmlyb25tZW50LWdyb3VuZCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8bmd0cy1lbnZpcm9ubWVudC1tYXAgW21hcF09XCJ0ZXh0dXJlKClcIiBbYmFja2dyb3VuZF09XCIhIWVudmlyb25tZW50SW5wdXQuZW52aXJvbm1lbnRCYWNrZ3JvdW5kKClcIiAvPlxuICAgICAgICA8bmd0LWdyb3VuZC1wcm9qZWN0ZWQtZW52ICphcmdzPVwiZ3JvdW5kQXJncygpXCIgW3NjYWxlXT1cInNjYWxlKClcIiBbaGVpZ2h0XT1cImhlaWdodCgpXCIgW3JhZGl1c109XCJyYWRpdXMoKVwiIC8+XG4gICAgYCxcbiAgICBpbXBvcnRzOiBbTmd0c0Vudmlyb25tZW50TWFwLCBOZ3RBcmdzXSxcbiAgICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXG59KVxuZXhwb3J0IGNsYXNzIE5ndHNFbnZpcm9ubWVudEdyb3VuZCB7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGVudmlyb25tZW50SW5wdXQgPSBpbmplY3QoTmd0c0Vudmlyb25tZW50SW5wdXQpO1xuICAgIHJlYWRvbmx5ICNkZWZhdWx0VGV4dHVyZSA9IGluamVjdE5ndHNFbnZpcm9ubWVudCh0aGlzLmVudmlyb25tZW50SW5wdXQuZW52aXJvbm1lbnRQYXJhbXMpO1xuXG4gICAgcmVhZG9ubHkgdGV4dHVyZSA9IGNvbXB1dGVkKFxuICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBkZWZhdWx0VGV4dHVyZSA9IHRoaXMuI2RlZmF1bHRUZXh0dXJlLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5lbnZpcm9ubWVudElucHV0LmVudmlyb25tZW50TWFwKCkgfHwgZGVmYXVsdFRleHR1cmU7XG4gICAgICAgIH0sXG4gICAgICAgIHsgZXF1YWw6IE9iamVjdC5pcyB9XG4gICAgKTtcblxuICAgIHJlYWRvbmx5IGdyb3VuZEFyZ3MgPSBjb21wdXRlZCgoKSA9PiAodGhpcy50ZXh0dXJlKCkgPyBbdGhpcy50ZXh0dXJlKCldIDogW10pKTtcbiAgICByZWFkb25seSBoZWlnaHQgPSBjb21wdXRlZCgoKSA9PiAodGhpcy5lbnZpcm9ubWVudElucHV0LmVudmlyb25tZW50R3JvdW5kKCkgYXMgYW55KT8uaGVpZ2h0KTtcbiAgICByZWFkb25seSByYWRpdXMgPSBjb21wdXRlZCgoKSA9PiAodGhpcy5lbnZpcm9ubWVudElucHV0LmVudmlyb25tZW50R3JvdW5kKCkgYXMgYW55KT8ucmFkaXVzKTtcbiAgICByZWFkb25seSBzY2FsZSA9IGNvbXB1dGVkKCgpID0+ICh0aGlzLmVudmlyb25tZW50SW5wdXQuZW52aXJvbm1lbnRHcm91bmQoKSBhcyBhbnkpPy5zY2FsZSA/PyAxMDAwKTtcbn1cbiJdfQ==
|
|
@@ -29,9 +29,9 @@ export function setEnvProps(background, scene, defaultScene, texture, blur = 0)
|
|
|
29
29
|
const CUBEMAP_ROOT = 'https://market-assets.fra1.cdn.digitaloceanspaces.com/market-assets/hdris/';
|
|
30
30
|
export function injectNgtsEnvironment(paramsFactory, injector) {
|
|
31
31
|
injector = assertInjectionContext(injectNgtsEnvironment, injector);
|
|
32
|
+
const textureRef = injectNgtRef();
|
|
32
33
|
return runInInjectionContext(injector, () => {
|
|
33
34
|
const cdr = inject(ChangeDetectorRef);
|
|
34
|
-
const textureRef = injectNgtRef();
|
|
35
35
|
inject(DestroyRef).onDestroy(() => {
|
|
36
36
|
textureRef.untracked.dispose();
|
|
37
37
|
});
|
|
@@ -81,4 +81,4 @@ export function injectNgtsEnvironment(paramsFactory, injector) {
|
|
|
81
81
|
return textureRef;
|
|
82
82
|
});
|
|
83
83
|
}
|
|
84
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NvYmEvc3RhZ2luZy9zcmMvZW52aXJvbm1lbnQvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILGlCQUFpQixFQUNqQixVQUFVLEVBR1YsUUFBUSxFQUNSLE1BQU0sRUFDTixNQUFNLEVBQ04scUJBQXFCLEdBQ3hCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLEVBQUUsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RyxPQUFPLEVBQ0gscUJBQXFCLEVBRXJCLGlCQUFpQixFQUNqQixnQ0FBZ0MsRUFDaEMsY0FBYyxFQUNkLFlBQVksR0FDZixNQUFNLE9BQU8sQ0FBQztBQUNmLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDMUMsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBR3JELFNBQVMsWUFBWSxDQUFDLEtBQTRDO0lBQzlELE9BQU8sRUFBRSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0FBQ3ZELENBQUM7QUFFRCxNQUFNLFVBQVUsV0FBVyxDQUN2QixVQUE0QixFQUM1QixLQUF3RCxFQUN4RCxZQUF5QixFQUN6QixPQUFzQixFQUN0QixJQUFJLEdBQUcsQ0FBQztJQUVSLE1BQU0sTUFBTSxHQUFHLFlBQVksQ0FBQyxLQUFLLElBQUksWUFBWSxDQUFDLENBQUM7SUFDbkQsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQztJQUNoQyxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDO0lBQ2xDLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsSUFB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QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgRGVzdHJveVJlZixcbiAgICBFbGVtZW50UmVmLFxuICAgIEluamVjdG9yLFxuICAgIGNvbXB1dGVkLFxuICAgIGVmZmVjdCxcbiAgICBpbmplY3QsXG4gICAgcnVuSW5JbmplY3Rpb25Db250ZXh0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGFzc2VydEluamVjdGlvbkNvbnRleHQsIGluamVjdE5ndExvYWRlciwgaW5qZWN0Tmd0UmVmLCBpcywgc2FmZURldGVjdENoYW5nZXMgfSBmcm9tICdhbmd1bGFyLXRocmVlJztcbmltcG9ydCB7XG4gICAgQ3ViZVJlZmxlY3Rpb25NYXBwaW5nLFxuICAgIEN1YmVUZXh0dXJlLFxuICAgIEN1YmVUZXh0dXJlTG9hZGVyLFxuICAgIEVxdWlyZWN0YW5ndWxhclJlZmxlY3Rpb25NYXBwaW5nLFxuICAgIExpbmVhckVuY29kaW5nLFxuICAgIHNSR0JFbmNvZGluZyxcbn0gZnJvbSAndGhyZWUnO1xuaW1wb3J0IHsgUkdCRUxvYWRlciB9IGZyb20gJ3RocmVlLXN0ZGxpYic7XG5pbXBvcnQgeyBuZ3RzRW52aXJvbm1lbnRQcmVzZXRzT2JqIH0gZnJvbSAnLi9hc3NldHMnO1xuaW1wb3J0IHsgdHlwZSBOZ3RzRW52aXJvbm1lbnRJbnB1dCB9IGZyb20gJy4vZW52aXJvbm1lbnQtaW5wdXQnO1xuXG5mdW5jdGlvbiByZXNvbHZlU2NlbmUoc2NlbmU6IFRIUkVFLlNjZW5lIHwgRWxlbWVudFJlZjxUSFJFRS5TY2VuZT4pIHtcbiAgICByZXR1cm4gaXMucmVmKHNjZW5lKSA/IHNjZW5lLm5hdGl2ZUVsZW1lbnQgOiBzY2VuZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNldEVudlByb3BzKFxuICAgIGJhY2tncm91bmQ6IGJvb2xlYW4gfCAnb25seScsXG4gICAgc2NlbmU6IFRIUkVFLlNjZW5lIHwgRWxlbWVudFJlZjxUSFJFRS5TY2VuZT4gfCB1bmRlZmluZWQsXG4gICAgZGVmYXVsdFNjZW5lOiBUSFJFRS5TY2VuZSxcbiAgICB0ZXh0dXJlOiBUSFJFRS5UZXh0dXJlLFxuICAgIGJsdXIgPSAwXG4pIHtcbiAgICBjb25zdCB0YXJnZXQgPSByZXNvbHZlU2NlbmUoc2NlbmUgfHwgZGVmYXVsdFNjZW5lKTtcbiAgICBjb25zdCBvbGRiZyA9IHRhcmdldC5iYWNrZ3JvdW5kO1xuICAgIGNvbnN0IG9sZGVudiA9IHRhcmdldC5lbnZpcm9ubWVudDtcbiAgICBjb25zdCBvbGRCbHVyID0gdGFyZ2V0LmJhY2tncm91bmRCbHVycmluZXNzIHx8IDA7XG5cbiAgICBpZiAoYmFja2dyb3VuZCAhPT0gJ29ubHknKSB0YXJnZXQuZW52aXJvbm1lbnQgPSB0ZXh0dXJlO1xuICAgIGlmIChiYWNrZ3JvdW5kKSB0YXJnZXQuYmFja2dyb3VuZCA9IHRleHR1cmU7XG4gICAgaWYgKGJhY2tncm91bmQgJiYgdGFyZ2V0LmJhY2tncm91bmRCbHVycmluZXNzICE9PSB1bmRlZmluZWQpIHRhcmdldC5iYWNrZ3JvdW5kQmx1cnJpbmVzcyA9IGJsdXI7XG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICBpZiAoYmFja2dyb3VuZCAhPT0gJ29ubHknKSB0YXJnZXQuZW52aXJvbm1lbnQgPSBvbGRlbnY7XG4gICAgICAgIGlmIChiYWNrZ3JvdW5kKSB0YXJnZXQuYmFja2dyb3VuZCA9IG9sZGJnO1xuICAgICAgICBpZiAoYmFja2dyb3VuZCAmJiB0YXJnZXQuYmFja2dyb3VuZEJsdXJyaW5lc3MgIT09IHVuZGVmaW5lZCkgdGFyZ2V0LmJhY2tncm91bmRCbHVycmluZXNzID0gb2xkQmx1cjtcbiAgICB9O1xufVxuXG50eXBlIE5ndHNJbmplY3RFbnZpcm9ubWVudFBhcmFtcyA9IFBhcnRpYWw8XG4gICAgUGljazxOZ3RzRW52aXJvbm1lbnRJbnB1dCwgJ2ZpbGVzJyB8ICdwYXRoJyB8ICdwcmVzZXQnIHwgJ2V4dGVuc2lvbnMnIHwgJ2VuY29kaW5nJz5cbj47XG5cbmNvbnN0IENVQkVNQVBfUk9PVCA9ICdodHRwczovL21hcmtldC1hc3NldHMuZnJhMS5jZG4uZGlnaXRhbG9jZWFuc3BhY2VzLmNvbS9tYXJrZXQtYXNzZXRzL2hkcmlzLyc7XG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0Tmd0c0Vudmlyb25tZW50KHBhcmFtc0ZhY3Rvcnk6ICgpID0+IFBhcnRpYWw8Tmd0c0luamVjdEVudmlyb25tZW50UGFyYW1zPiwgaW5qZWN0b3I/OiBJbmplY3Rvcikge1xuICAgIGluamVjdG9yID0gYXNzZXJ0SW5qZWN0aW9uQ29udGV4dChpbmplY3ROZ3RzRW52aXJvbm1lbnQsIGluamVjdG9yKTtcbiAgICByZXR1cm4gcnVuSW5JbmplY3Rpb25Db250ZXh0KGluamVjdG9yLCAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGNkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG4gICAgICAgIGNvbnN0IHRleHR1cmVSZWYgPSBpbmplY3ROZ3RSZWY8VEhSRUUuVGV4dHVyZSB8IEN1YmVUZXh0dXJlPigpO1xuXG4gICAgICAgIGluamVjdChEZXN0cm95UmVmKS5vbkRlc3Ryb3koKCkgPT4ge1xuICAgICAgICAgICAgdGV4dHVyZVJlZi51bnRyYWNrZWQuZGlzcG9zZSgpO1xuICAgICAgICB9KTtcblxuICAgICAgICBjb25zdCBwYXJhbXMgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgICAgICBsZXQgeyBmaWxlcywgcHJlc2V0LCBlbmNvZGluZywgcGF0aCwgZXh0ZW5zaW9ucyB9ID0gcGFyYW1zRmFjdG9yeSgpIGFzIE5ndHNJbmplY3RFbnZpcm9ubWVudFBhcmFtcztcblxuICAgICAgICAgICAgaWYgKGZpbGVzID09IG51bGwpIHtcbiAgICAgICAgICAgICAgICBmaWxlcyA9IFsnL3B4LnBuZycsICcvbngucG5nJywgJy9weS5wbmcnLCAnL255LnBuZycsICcvcHoucG5nJywgJy9uei5wbmcnXTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHBhdGggPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHBhdGggPSAnJztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHByZXNldCkge1xuICAgICAgICAgICAgICAgIGlmICghKHByZXNldCBpbiBuZ3RzRW52aXJvbm1lbnRQcmVzZXRzT2JqKSlcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdQcmVzZXQgbXVzdCBiZSBvbmUgb2Y6ICcgKyBPYmplY3Qua2V5cyhuZ3RzRW52aXJvbm1lbnRQcmVzZXRzT2JqKS5qb2luKCcsICcpKTtcbiAgICAgICAgICAgICAgICBmaWxlcyA9IG5ndHNFbnZpcm9ubWVudFByZXNldHNPYmpbcHJlc2V0XTtcbiAgICAgICAgICAgICAgICBwYXRoID0gQ1VCRU1BUF9ST09UO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4geyBmaWxlcywgcHJlc2V0LCBlbmNvZGluZywgcGF0aCwgZXh0ZW5zaW9ucyB9IGFzIE5ndHNJbmplY3RFbnZpcm9ubWVudFBhcmFtcztcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3QgbG9hZGVyUmVzdWx0ID0gaW5qZWN0Tmd0TG9hZGVyKFxuICAgICAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvclxuICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHsgZmlsZXMgfSA9IHBhcmFtcygpO1xuICAgICAgICAgICAgICAgIHJldHVybiBBcnJheS5pc0FycmF5KGZpbGVzKSA/IEN1YmVUZXh0dXJlTG9hZGVyIDogUkdCRUxvYWRlcjtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgeyBmaWxlcyB9ID0gcGFyYW1zKCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIEFycmF5LmlzQXJyYXkoZmlsZXMpID8gW2ZpbGVzXSA6IGZpbGVzO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBleHRlbnNpb25zOiAobG9hZGVyKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHsgcGF0aCwgZXh0ZW5zaW9ucyB9ID0gcGFyYW1zKCk7XG4gICAgICAgICAgICAgICAgICAgIGxvYWRlci5zZXRQYXRoKHBhdGgpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoZXh0ZW5zaW9ucykgZXh0ZW5zaW9ucyhsb2FkZXIpO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG5cbiAgICAgICAgZWZmZWN0KFxuICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IGxvYWRlclJlc3VsdCgpO1xuICAgICAgICAgICAgICAgIGlmICghcmVzdWx0KSByZXR1cm47XG4gICAgICAgICAgICAgICAgY29uc3QgeyBmaWxlcywgZW5jb2RpbmcgfSA9IHBhcmFtcygpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHRleHR1cmU6IFRIUkVFLlRleHR1cmUgfCBUSFJFRS5DdWJlVGV4dHVyZSA9IEFycmF5LmlzQXJyYXkoZmlsZXMpID8gcmVzdWx0WzBdIDogcmVzdWx0O1xuICAgICAgICAgICAgICAgIHRleHR1cmUubWFwcGluZyA9IEFycmF5LmlzQXJyYXkoZmlsZXMpID8gQ3ViZVJlZmxlY3Rpb25NYXBwaW5nIDogRXF1aXJlY3Rhbmd1bGFyUmVmbGVjdGlvbk1hcHBpbmc7XG4gICAgICAgICAgICAgICAgdGV4dHVyZS5lbmNvZGluZyA9IGVuY29kaW5nID8/IEFycmF5LmlzQXJyYXkoZmlsZXMpID8gc1JHQkVuY29kaW5nIDogTGluZWFyRW5jb2Rpbmc7XG5cbiAgICAgICAgICAgICAgICB0ZXh0dXJlUmVmLm5hdGl2ZUVsZW1lbnQgPSB0ZXh0dXJlO1xuICAgICAgICAgICAgICAgIHNhZmVEZXRlY3RDaGFuZ2VzKGNkcik7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgeyBhbGxvd1NpZ25hbFdyaXRlczogdHJ1ZSB9XG4gICAgICAgICk7XG5cbiAgICAgICAgcmV0dXJuIHRleHR1cmVSZWY7XG4gICAgfSk7XG59XG4iXX0=
|
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NvYmEvc3RhZ2luZy9zcmMvZW52aXJvbm1lbnQvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILGlCQUFpQixFQUNqQixVQUFVLEVBR1YsUUFBUSxFQUNSLE1BQU0sRUFDTixNQUFNLEVBQ04scUJBQXFCLEdBQ3hCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLEVBQUUsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RyxPQUFPLEVBQ0gscUJBQXFCLEVBRXJCLGlCQUFpQixFQUNqQixnQ0FBZ0MsRUFDaEMsY0FBYyxFQUNkLFlBQVksR0FDZixNQUFNLE9BQU8sQ0FBQztBQUNmLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDMUMsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBR3JELFNBQVMsWUFBWSxDQUFDLEtBQTRDO0lBQzlELE9BQU8sRUFBRSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0FBQ3ZELENBQUM7QUFFRCxNQUFNLFVBQVUsV0FBVyxDQUN2QixVQUE0QixFQUM1QixLQUF3RCxFQUN4RCxZQUF5QixFQUN6QixPQUFzQixFQUN0QixJQUFJLEdBQUcsQ0FBQztJQUVSLE1BQU0sTUFBTSxHQUFHLFlBQVksQ0FBQyxLQUFLLElBQUksWUFBWSxDQUFDLENBQUM7SUFDbkQsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQztJQUNoQyxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDO0lBQ2xDLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsSUFB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QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgRGVzdHJveVJlZixcbiAgICBFbGVtZW50UmVmLFxuICAgIEluamVjdG9yLFxuICAgIGNvbXB1dGVkLFxuICAgIGVmZmVjdCxcbiAgICBpbmplY3QsXG4gICAgcnVuSW5JbmplY3Rpb25Db250ZXh0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGFzc2VydEluamVjdGlvbkNvbnRleHQsIGluamVjdE5ndExvYWRlciwgaW5qZWN0Tmd0UmVmLCBpcywgc2FmZURldGVjdENoYW5nZXMgfSBmcm9tICdhbmd1bGFyLXRocmVlJztcbmltcG9ydCB7XG4gICAgQ3ViZVJlZmxlY3Rpb25NYXBwaW5nLFxuICAgIEN1YmVUZXh0dXJlLFxuICAgIEN1YmVUZXh0dXJlTG9hZGVyLFxuICAgIEVxdWlyZWN0YW5ndWxhclJlZmxlY3Rpb25NYXBwaW5nLFxuICAgIExpbmVhckVuY29kaW5nLFxuICAgIHNSR0JFbmNvZGluZyxcbn0gZnJvbSAndGhyZWUnO1xuaW1wb3J0IHsgUkdCRUxvYWRlciB9IGZyb20gJ3RocmVlLXN0ZGxpYic7XG5pbXBvcnQgeyBuZ3RzRW52aXJvbm1lbnRQcmVzZXRzT2JqIH0gZnJvbSAnLi9hc3NldHMnO1xuaW1wb3J0IHsgdHlwZSBOZ3RzRW52aXJvbm1lbnRJbnB1dCB9IGZyb20gJy4vZW52aXJvbm1lbnQtaW5wdXQnO1xuXG5mdW5jdGlvbiByZXNvbHZlU2NlbmUoc2NlbmU6IFRIUkVFLlNjZW5lIHwgRWxlbWVudFJlZjxUSFJFRS5TY2VuZT4pIHtcbiAgICByZXR1cm4gaXMucmVmKHNjZW5lKSA/IHNjZW5lLm5hdGl2ZUVsZW1lbnQgOiBzY2VuZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNldEVudlByb3BzKFxuICAgIGJhY2tncm91bmQ6IGJvb2xlYW4gfCAnb25seScsXG4gICAgc2NlbmU6IFRIUkVFLlNjZW5lIHwgRWxlbWVudFJlZjxUSFJFRS5TY2VuZT4gfCB1bmRlZmluZWQsXG4gICAgZGVmYXVsdFNjZW5lOiBUSFJFRS5TY2VuZSxcbiAgICB0ZXh0dXJlOiBUSFJFRS5UZXh0dXJlLFxuICAgIGJsdXIgPSAwXG4pIHtcbiAgICBjb25zdCB0YXJnZXQgPSByZXNvbHZlU2NlbmUoc2NlbmUgfHwgZGVmYXVsdFNjZW5lKTtcbiAgICBjb25zdCBvbGRiZyA9IHRhcmdldC5iYWNrZ3JvdW5kO1xuICAgIGNvbnN0IG9sZGVudiA9IHRhcmdldC5lbnZpcm9ubWVudDtcbiAgICBjb25zdCBvbGRCbHVyID0gdGFyZ2V0LmJhY2tncm91bmRCbHVycmluZXNzIHx8IDA7XG5cbiAgICBpZiAoYmFja2dyb3VuZCAhPT0gJ29ubHknKSB0YXJnZXQuZW52aXJvbm1lbnQgPSB0ZXh0dXJlO1xuICAgIGlmIChiYWNrZ3JvdW5kKSB0YXJnZXQuYmFja2dyb3VuZCA9IHRleHR1cmU7XG4gICAgaWYgKGJhY2tncm91bmQgJiYgdGFyZ2V0LmJhY2tncm91bmRCbHVycmluZXNzICE9PSB1bmRlZmluZWQpIHRhcmdldC5iYWNrZ3JvdW5kQmx1cnJpbmVzcyA9IGJsdXI7XG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICBpZiAoYmFja2dyb3VuZCAhPT0gJ29ubHknKSB0YXJnZXQuZW52aXJvbm1lbnQgPSBvbGRlbnY7XG4gICAgICAgIGlmIChiYWNrZ3JvdW5kKSB0YXJnZXQuYmFja2dyb3VuZCA9IG9sZGJnO1xuICAgICAgICBpZiAoYmFja2dyb3VuZCAmJiB0YXJnZXQuYmFja2dyb3VuZEJsdXJyaW5lc3MgIT09IHVuZGVmaW5lZCkgdGFyZ2V0LmJhY2tncm91bmRCbHVycmluZXNzID0gb2xkQmx1cjtcbiAgICB9O1xufVxuXG50eXBlIE5ndHNJbmplY3RFbnZpcm9ubWVudFBhcmFtcyA9IFBhcnRpYWw8XG4gICAgUGljazxOZ3RzRW52aXJvbm1lbnRJbnB1dCwgJ2ZpbGVzJyB8ICdwYXRoJyB8ICdwcmVzZXQnIHwgJ2V4dGVuc2lvbnMnIHwgJ2VuY29kaW5nJz5cbj47XG5cbmNvbnN0IENVQkVNQVBfUk9PVCA9ICdodHRwczovL21hcmtldC1hc3NldHMuZnJhMS5jZG4uZGlnaXRhbG9jZWFuc3BhY2VzLmNvbS9tYXJrZXQtYXNzZXRzL2hkcmlzLyc7XG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0Tmd0c0Vudmlyb25tZW50KHBhcmFtc0ZhY3Rvcnk6ICgpID0+IFBhcnRpYWw8Tmd0c0luamVjdEVudmlyb25tZW50UGFyYW1zPiwgaW5qZWN0b3I/OiBJbmplY3Rvcikge1xuICAgIGluamVjdG9yID0gYXNzZXJ0SW5qZWN0aW9uQ29udGV4dChpbmplY3ROZ3RzRW52aXJvbm1lbnQsIGluamVjdG9yKTtcbiAgICBjb25zdCB0ZXh0dXJlUmVmID0gaW5qZWN0Tmd0UmVmPFRIUkVFLlRleHR1cmUgfCBDdWJlVGV4dHVyZT4oKTtcbiAgICByZXR1cm4gcnVuSW5JbmplY3Rpb25Db250ZXh0KGluamVjdG9yLCAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGNkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG5cbiAgICAgICAgaW5qZWN0KERlc3Ryb3lSZWYpLm9uRGVzdHJveSgoKSA9PiB7XG4gICAgICAgICAgICB0ZXh0dXJlUmVmLnVudHJhY2tlZC5kaXNwb3NlKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IHBhcmFtcyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgICAgIGxldCB7IGZpbGVzLCBwcmVzZXQsIGVuY29kaW5nLCBwYXRoLCBleHRlbnNpb25zIH0gPSBwYXJhbXNGYWN0b3J5KCkgYXMgTmd0c0luamVjdEVudmlyb25tZW50UGFyYW1zO1xuXG4gICAgICAgICAgICBpZiAoZmlsZXMgPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIGZpbGVzID0gWycvcHgucG5nJywgJy9ueC5wbmcnLCAnL3B5LnBuZycsICcvbnkucG5nJywgJy9wei5wbmcnLCAnL256LnBuZyddO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAocGF0aCA9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgcGF0aCA9ICcnO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAocHJlc2V0KSB7XG4gICAgICAgICAgICAgICAgaWYgKCEocHJlc2V0IGluIG5ndHNFbnZpcm9ubWVudFByZXNldHNPYmopKVxuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1ByZXNldCBtdXN0IGJlIG9uZSBvZjogJyArIE9iamVjdC5rZXlzKG5ndHNFbnZpcm9ubWVudFByZXNldHNPYmopLmpvaW4oJywgJykpO1xuICAgICAgICAgICAgICAgIGZpbGVzID0gbmd0c0Vudmlyb25tZW50UHJlc2V0c09ialtwcmVzZXRdO1xuICAgICAgICAgICAgICAgIHBhdGggPSBDVUJFTUFQX1JPT1Q7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiB7IGZpbGVzLCBwcmVzZXQsIGVuY29kaW5nLCBwYXRoLCBleHRlbnNpb25zIH0gYXMgTmd0c0luamVjdEVudmlyb25tZW50UGFyYW1zO1xuICAgICAgICB9KTtcblxuICAgICAgICBjb25zdCBsb2FkZXJSZXN1bHQgPSBpbmplY3ROZ3RMb2FkZXIoXG4gICAgICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yXG4gICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgeyBmaWxlcyB9ID0gcGFyYW1zKCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIEFycmF5LmlzQXJyYXkoZmlsZXMpID8gQ3ViZVRleHR1cmVMb2FkZXIgOiBSR0JFTG9hZGVyO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCB7IGZpbGVzIH0gPSBwYXJhbXMoKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gQXJyYXkuaXNBcnJheShmaWxlcykgPyBbZmlsZXNdIDogZmlsZXM7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGV4dGVuc2lvbnM6IChsb2FkZXIpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgeyBwYXRoLCBleHRlbnNpb25zIH0gPSBwYXJhbXMoKTtcbiAgICAgICAgICAgICAgICAgICAgbG9hZGVyLnNldFBhdGgocGF0aCk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChleHRlbnNpb25zKSBleHRlbnNpb25zKGxvYWRlcik7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcblxuICAgICAgICBlZmZlY3QoXG4gICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gbG9hZGVyUmVzdWx0KCk7XG4gICAgICAgICAgICAgICAgaWYgKCFyZXN1bHQpIHJldHVybjtcbiAgICAgICAgICAgICAgICBjb25zdCB7IGZpbGVzLCBlbmNvZGluZyB9ID0gcGFyYW1zKCk7XG4gICAgICAgICAgICAgICAgY29uc3QgdGV4dHVyZTogVEhSRUUuVGV4dHVyZSB8IFRIUkVFLkN1YmVUZXh0dXJlID0gQXJyYXkuaXNBcnJheShmaWxlcykgPyByZXN1bHRbMF0gOiByZXN1bHQ7XG4gICAgICAgICAgICAgICAgdGV4dHVyZS5tYXBwaW5nID0gQXJyYXkuaXNBcnJheShmaWxlcykgPyBDdWJlUmVmbGVjdGlvbk1hcHBpbmcgOiBFcXVpcmVjdGFuZ3VsYXJSZWZsZWN0aW9uTWFwcGluZztcbiAgICAgICAgICAgICAgICB0ZXh0dXJlLmVuY29kaW5nID0gZW5jb2RpbmcgPz8gQXJyYXkuaXNBcnJheShmaWxlcykgPyBzUkdCRW5jb2RpbmcgOiBMaW5lYXJFbmNvZGluZztcblxuICAgICAgICAgICAgICAgIHRleHR1cmVSZWYubmF0aXZlRWxlbWVudCA9IHRleHR1cmU7XG4gICAgICAgICAgICAgICAgc2FmZURldGVjdENoYW5nZXMoY2RyKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7IGFsbG93U2lnbmFsV3JpdGVzOiB0cnVlIH1cbiAgICAgICAgKTtcblxuICAgICAgICByZXR1cm4gdGV4dHVyZVJlZjtcbiAgICB9KTtcbn1cbiJdfQ==
|
|
@@ -42,14 +42,28 @@ class NgtsVolumetricMesh {
|
|
|
42
42
|
this.resolution = computed(() => this.spotLightInput.lightDepthBuffer()
|
|
43
43
|
? [this.#size().width * this.#dpr(), this.#size().height * this.#dpr()]
|
|
44
44
|
: [0, 0]);
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
45
|
+
try {
|
|
46
|
+
this.spotLightInput.patch({
|
|
47
|
+
opacity: 1,
|
|
48
|
+
color: 'white',
|
|
49
|
+
distance: 5,
|
|
50
|
+
angle: 0.15,
|
|
51
|
+
attenuation: 5,
|
|
52
|
+
anglePower: 5,
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
catch {
|
|
56
|
+
queueMicrotask(() => {
|
|
57
|
+
this.spotLightInput.patch({
|
|
58
|
+
opacity: 1,
|
|
59
|
+
color: 'white',
|
|
60
|
+
distance: 5,
|
|
61
|
+
angle: 0.15,
|
|
62
|
+
attenuation: 5,
|
|
63
|
+
anglePower: 5,
|
|
64
|
+
});
|
|
65
|
+
});
|
|
66
|
+
}
|
|
53
67
|
injectBeforeRender(() => {
|
|
54
68
|
const mesh = this.mesh.nativeElement;
|
|
55
69
|
if (!mesh)
|
|
@@ -98,4 +112,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.3", ngImpor
|
|
|
98
112
|
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
99
113
|
}]
|
|
100
114
|
}], ctorParameters: function () { return []; } });
|
|
101
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidm9sdW1ldHJpYy1tZXNoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zb2JhL3N0YWdpbmcvc3JjL3Nwb3QtbGlnaHQvdm9sdW1ldHJpYy1tZXNoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLHNCQUFzQixFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRixPQUFPLEVBQUUsTUFBTSxFQUFFLGtCQUFrQixFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sS0FBSyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQy9CLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDN0IsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBRXhELE1BQU0sQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7QUFFakIsTUFvQmEsa0JBQWtCO0lBTWxCLElBQUksQ0FBdUI7SUFDM0IsTUFBTSxDQUFvQjtJQUMxQixPQUFPLENBQWdDO0lBQ3ZDLEtBQUssQ0FBOEI7SUFDbkMsSUFBSSxDQUF5QztJQUU3QyxvQkFBb0IsQ0FFM0I7SUFDTyx1QkFBdUIsQ0FJOUI7SUFtQkY7UUFyQ21CLG1CQUFjLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDdEQsU0FBSSxHQUFHLFlBQVksRUFBYyxDQUFDO1FBQ2xDLGFBQVEsR0FBRyxJQUFJLGlCQUFpQixFQUFFLENBQUM7UUFDbkMsZ0JBQVcsR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUM7UUFFekIsU0FBSSxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzNCLFdBQU0sR0FBRyxNQUFNLENB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QyxJQUFJLENBQUMsYUFBYSxDQUFDO1lBQ3JDLElBQUksQ0FBQyxJQUFJO2dCQUFFLE9BQU87WUFDbEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDcEYsSUFBSSxDQUFDLE1BQU0sQ0FBRSxJQUFJLENBQUMsTUFBMEIsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDckYsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOzhHQXJEUSxrQkFBa0I7a0dBQWxCLGtCQUFrQixnRkFqQmpCOzs7Ozs7Ozs7Ozs7O0tBYVQsNERBQ1MsT0FBTzs7U0FHUixrQkFBa0I7MkZBQWxCLGtCQUFrQjtrQkFwQjlCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHNCQUFzQjtvQkFDaEMsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7OztLQWFUO29CQUNELE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQztvQkFDbEIsT0FBTyxFQUFFLENBQUMsc0JBQXNCLENBQUM7aUJBQ3BDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBjb21wdXRlZCwgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBleHRlbmQsIGluamVjdEJlZm9yZVJlbmRlciwgaW5qZWN0Tmd0UmVmLCBOZ3RBcmdzLCBOZ3RTdG9yZSB9IGZyb20gJ2FuZ3VsYXItdGhyZWUnO1xuaW1wb3J0IHsgU3BvdExpZ2h0TWF0ZXJpYWwgfSBmcm9tICdhbmd1bGFyLXRocmVlLXNvYmEvc2hhZGVycyc7XG5pbXBvcnQgKiBhcyBUSFJFRSBmcm9tICd0aHJlZSc7XG5pbXBvcnQgeyBNZXNoIH0gZnJvbSAndGhyZWUnO1xuaW1wb3J0IHsgTmd0c1Nwb3RMaWdodElucHV0IH0gZnJvbSAnLi9zcG90LWxpZ2h0LWlucHV0JztcblxuZXh0ZW5kKHsgTWVzaCB9KTtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduZ3RzLXZvbHVtZXRyaWMtbWVzaCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8bmd0LW1lc2ggW3JlZl09XCJtZXNoXCIgW2dlb21ldHJ5XT1cImdlb21ldHJ5KClcIiBbcmF5Y2FzdF09XCJudWxsUmF5Y2FzdFwiPlxuICAgICAgICAgICAgPG5ndC1wcmltaXRpdmUgKmFyZ3M9XCJbbWF0ZXJpYWxdXCIgYXR0YWNoPVwibWF0ZXJpYWxcIj5cbiAgICAgICAgICAgICAgICA8bmd0LXZhbHVlIFtyYXdWYWx1ZV09XCJzcG90TGlnaHRJbnB1dC5saWdodE9wYWNpdHkoKVwiIGF0dGFjaD1cInVuaWZvcm1zLm9wYWNpdHkudmFsdWVcIiAvPlxuICAgICAgICAgICAgICAgIDxuZ3QtdmFsdWUgW3Jhd1ZhbHVlXT1cInNwb3RMaWdodElucHV0LmxpZ2h0Q29sb3IoKVwiIGF0dGFjaD1cInVuaWZvcm1zLmxpZ2h0Q29sb3IudmFsdWVcIiAvPlxuICAgICAgICAgICAgICAgIDxuZ3QtdmFsdWUgW3Jhd1ZhbHVlXT1cInNwb3RMaWdodElucHV0LmxpZ2h0QXR0ZW51YXRpb24oKVwiIGF0dGFjaD1cInVuaWZvcm1zLmF0dGVudWF0aW9uLnZhbHVlXCIgLz5cbiAgICAgICAgICAgICAgICA8bmd0LXZhbHVlIFtyYXdWYWx1ZV09XCJzcG90TGlnaHRJbnB1dC5saWdodEFuZ2xlUG93ZXIoKVwiIGF0dGFjaD1cInVuaWZvcm1zLmFuZ2xlUG93ZXIudmFsdWVcIiAvPlxuICAgICAgICAgICAgICAgIDxuZ3QtdmFsdWUgW3Jhd3ZhbHVlXT1cInNwb3RMaWdodElucHV0LmxpZ2h0RGVwdGhCdWZmZXIoKVwiIGF0dGFjaD1cInVuaWZvcm1zLmRlcHRoLnZhbHVlXCIgLz5cbiAgICAgICAgICAgICAgICA8bmd0LXZhbHVlIFtyYXd2YWx1ZV09XCJuZWFyKClcIiBhdHRhY2g9XCJ1bmlmb3Jtcy5jYW1lcmFOZWFyLnZhbHVlXCIgLz5cbiAgICAgICAgICAgICAgICA8bmd0LXZhbHVlIFtyYXd2YWx1ZV09XCJmYXIoKVwiIGF0dGFjaD1cInVuaWZvcm1zLmNhbWVyYUZhci52YWx1ZVwiIC8+XG4gICAgICAgICAgICAgICAgPG5ndC12YWx1ZSBbcmF3dmFsdWVdPVwicmVzb2x1dGlvbigpXCIgYXR0YWNoPVwidW5pZm9ybXMucmVzb2x1dGlvbi52YWx1ZVwiIC8+XG4gICAgICAgICAgICA8L25ndC1wcmltaXRpdmU+XG4gICAgICAgIDwvbmd0LW1lc2g+XG4gICAgYCxcbiAgICBpbXBvcnRzOiBbTmd0QXJnc10sXG4gICAgc2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxufSlcbmV4cG9ydCBjbGFzcyBOZ3RzVm9sdW1ldHJpY01lc2gge1xuICAgIHByb3RlY3RlZCByZWFkb25seSBzcG90TGlnaHRJbnB1dCA9IGluamVjdChOZ3RzU3BvdExpZ2h0SW5wdXQpO1xuICAgIHJlYWRvbmx5IG1lc2ggPSBpbmplY3ROZ3RSZWY8VEhSRUUuTWVzaD4oKTtcbiAgICByZWFkb25seSBtYXRlcmlhbCA9IG5ldyBTcG90TGlnaHRNYXRlcmlhbCgpO1xuICAgIHJlYWRvbmx5IG51bGxSYXljYXN0ID0gKCkgPT4gbnVsbDtcblxuICAgIHJlYWRvbmx5ICN2ZWMgPSBuZXcgVEhSRUUuVmVjdG9yMygpO1xuICAgIHJlYWRvbmx5ICNzdG9yZSA9IGluamVjdChOZ3RTdG9yZSk7XG4gICAgcmVhZG9ubHkgI2NhbWVyYSA9IHRoaXMuI3N0b3JlLnNlbGVjdCgnY2FtZXJhJyk7XG4gICAgcmVhZG9ubHkgI3NpemUgPSB0aGlzLiNzdG9yZS5zZWxlY3QoJ3NpemUnKTtcbiAgICByZWFkb25seSAjZHByID0gdGhpcy4jc3RvcmUuc2VsZWN0KCd2aWV3cG9ydCcsICdkcHInKTtcblxuICAgIHJlYWRvbmx5ICNub3JtYWxpemVkUmFkaXVzVG9wID0gY29tcHV0ZWQoKCkgPT5cbiAgICAgICAgdGhpcy5zcG90TGlnaHRJbnB1dC5saWdodFJhZGl1c1RvcCgpID09PSB1bmRlZmluZWQgPyAwLjEgOiB0aGlzLnNwb3RMaWdodElucHV0LmxpZ2h0UmFkaXVzVG9wKClcbiAgICApO1xuICAgIHJlYWRvbmx5ICNub3JtYWxpemVkUmFkaXVzQm90dG9tID0gY29tcHV0ZWQoKCkgPT5cbiAgICAgICAgdGhpcy5zcG90TGlnaHRJbnB1dC5saWdodFJhZGl1c0JvdHRvbSgpID09PSB1bmRlZmluZWRcbiAgICAgICAgICAgID8gdGhpcy5zcG90TGlnaHRJbnB1dC5saWdodEFuZ2xlKCkgKiA3XG4gICAgICAgICAgICA6IHRoaXMuc3BvdExpZ2h0SW5wdXQubGlnaHRSYWRpdXNCb3R0b20oKVxuICAgICk7XG4gICAgcmVhZG9ubHkgZ2VvbWV0cnkgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGRpc3RhbmNlID0gdGhpcy5zcG90TGlnaHRJbnB1dC5saWdodERpc3RhbmNlKCk7XG4gICAgICAgIGNvbnN0IHJhZGl1c1RvcCA9IHRoaXMuI25vcm1hbGl6ZWRSYWRpdXNUb3AoKTtcbiAgICAgICAgY29uc3QgcmFkaXVzQm90dG9tID0gdGhpcy4jbm9ybWFsaXplZFJhZGl1c0JvdHRvbSgpO1xuXG4gICAgICAgIGNvbnN0IGdlb21ldHJ5ID0gbmV3IFRIUkVFLkN5bGluZGVyR2VvbWV0cnkocmFkaXVzVG9wLCByYWRpdXNCb3R0b20sIGRpc3RhbmNlLCAxMjgsIDY0LCB0cnVlKTtcbiAgICAgICAgZ2VvbWV0cnkuYXBwbHlNYXRyaXg0KG5ldyBUSFJFRS5NYXRyaXg0KCkubWFrZVRyYW5zbGF0aW9uKDAsIC1kaXN0YW5jZSAvIDIsIDApKTtcbiAgICAgICAgZ2VvbWV0cnkuYXBwbHlNYXRyaXg0KG5ldyBUSFJFRS5NYXRyaXg0KCkubWFrZVJvdGF0aW9uWCgtTWF0aC5QSSAvIDIpKTtcbiAgICAgICAgcmV0dXJuIGdlb21ldHJ5O1xuICAgIH0pO1xuICAgIHJlYWRvbmx5IG5lYXIgPSBjb21wdXRlZCgoKSA9PiB0aGlzLiNjYW1lcmEoKS5uZWFyKTtcbiAgICByZWFkb25seSBmYXIgPSBjb21wdXRlZCgoKSA9PiB0aGlzLiNjYW1lcmEoKS5mYXIpO1xuICAgIHJlYWRvbmx5IHJlc29sdXRpb24gPSBjb21wdXRlZCgoKSA9PlxuICAgICAgICB0aGlzLnNwb3RMaWdodElucHV0LmxpZ2h0RGVwdGhCdWZmZXIoKVxuICAgICAgICAgICAgPyBbdGhpcy4jc2l6ZSgpLndpZHRoICogdGhpcy4jZHByKCksIHRoaXMuI3NpemUoKS5oZWlnaHQgKiB0aGlzLiNkcHIoKV1cbiAgICAgICAgICAgIDogWzAsIDBdXG4gICAgKTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLnNwb3RMaWdodElucHV0LnBhdGNoKHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDEsXG4gICAgICAgICAgICBjb2xvcjogJ3doaXRlJyxcbiAgICAgICAgICAgIGRpc3RhbmNlOiA1LFxuICAgICAgICAgICAgYW5nbGU6IDAuMTUsXG4gICAgICAgICAgICBhdHRlbnVhdGlvbjogNSxcbiAgICAgICAgICAgIGFuZ2xlUG93ZXI6IDUsXG4gICAgICAgIH0pO1xuICAgICAgICBpbmplY3RCZWZvcmVSZW5kZXIoKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbWVzaCA9IHRoaXMubWVzaC5uYXRpdmVFbGVtZW50O1xuICAgICAgICAgICAgaWYgKCFtZXNoKSByZXR1cm47XG4gICAgICAgICAgICB0aGlzLm1hdGVyaWFsLnVuaWZvcm1zWydzcG90UG9zaXRpb24nXS52YWx1ZS5jb3B5KG1lc2guZ2V0V29ybGRQb3NpdGlvbih0aGlzLiN2ZWMpKTtcbiAgICAgICAgICAgIG1lc2gubG9va0F0KChtZXNoLnBhcmVudCBhcyBUSFJFRS5TcG90TGlnaHQpLnRhcmdldC5nZXRXb3JsZFBvc2l0aW9uKHRoaXMuI3ZlYykpO1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
|
|
115
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidm9sdW1ldHJpYy1tZXNoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zb2JhL3N0YWdpbmcvc3JjL3Nwb3QtbGlnaHQvdm9sdW1ldHJpYy1tZXNoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLHNCQUFzQixFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRixPQUFPLEVBQUUsTUFBTSxFQUFFLGtCQUFrQixFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sS0FBSyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQy9CLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDN0IsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBRXhELE1BQU0sQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7QUFFakIsTUFvQmEsa0JBQWtCO0lBTWxCLElBQUksQ0FBdUI7SUFDM0IsTUFBTSxDQUFvQjtJQUMxQixPQUFPLENBQWdDO0lBQ3ZDLEtBQUssQ0FBOEI7SUFDbkMsSUFBSSxDQUF5QztJQUU3QyxvQkFBb0IsQ0FFM0I7SUFDTyx1QkFBdUIsQ0FJOUI7SUFtQkY7UUFyQ21CLG1CQUFjLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDdEQsU0FBSSxHQUFHLFlBQVksRUFBYyxDQUFDO1FBQ2xDLGFBQVEsR0FBRyxJQUFJLGlCQUFpQixFQUFFLENBQUM7UUFDbkMsZ0JBQVcsR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUM7UUFFekIsU0FBSSxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzNCLFdBQU0sR0FBRyxNQUFNLENB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Z0JBQ2hCLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDO29CQUN0QixPQUFPLEVBQUUsQ0FBQztvQkFDVixLQUFLLEVBQUUsT0FBTztvQkFDZCxRQUFRLEVBQUUsQ0FBQztvQkFDWCxLQUFLLEVBQUUsSUFBSTtvQkFDWCxXQUFXLEVBQUUsQ0FBQztvQkFDZCxVQUFVLEVBQUUsQ0FBQztpQkFDaEIsQ0FBQyxDQUFDO1lBQ1AsQ0FBQyxDQUFDLENBQUM7U0FDTjtRQUNELGtCQUFrQixDQUFDLEdBQUcsRUFBRTtZQUNwQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQztZQUNyQyxJQUFJLENBQUMsSUFBSTtnQkFBRSxPQUFPO1lBQ2xCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ3BGLElBQUksQ0FBQyxNQUFNLENBQUUsSUFBSSxDQUFDLE1BQTBCLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ3JGLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs4R0FsRVEsa0JBQWtCO2tHQUFsQixrQkFBa0IsZ0ZBakJqQjs7Ozs7Ozs7Ozs7OztLQWFULDREQUNTLE9BQU87O1NBR1Isa0JBQWtCOzJGQUFsQixrQkFBa0I7a0JBcEI5QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxzQkFBc0I7b0JBQ2hDLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7S0FhVDtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUM7b0JBQ2xCLE9BQU8sRUFBRSxDQUFDLHNCQUFzQixDQUFDO2lCQUNwQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgY29tcHV0ZWQsIENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZXh0ZW5kLCBpbmplY3RCZWZvcmVSZW5kZXIsIGluamVjdE5ndFJlZiwgTmd0QXJncywgTmd0U3RvcmUgfSBmcm9tICdhbmd1bGFyLXRocmVlJztcbmltcG9ydCB7IFNwb3RMaWdodE1hdGVyaWFsIH0gZnJvbSAnYW5ndWxhci10aHJlZS1zb2JhL3NoYWRlcnMnO1xuaW1wb3J0ICogYXMgVEhSRUUgZnJvbSAndGhyZWUnO1xuaW1wb3J0IHsgTWVzaCB9IGZyb20gJ3RocmVlJztcbmltcG9ydCB7IE5ndHNTcG90TGlnaHRJbnB1dCB9IGZyb20gJy4vc3BvdC1saWdodC1pbnB1dCc7XG5cbmV4dGVuZCh7IE1lc2ggfSk7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmd0cy12b2x1bWV0cmljLW1lc2gnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgPG5ndC1tZXNoIFtyZWZdPVwibWVzaFwiIFtnZW9tZXRyeV09XCJnZW9tZXRyeSgpXCIgW3JheWNhc3RdPVwibnVsbFJheWNhc3RcIj5cbiAgICAgICAgICAgIDxuZ3QtcHJpbWl0aXZlICphcmdzPVwiW21hdGVyaWFsXVwiIGF0dGFjaD1cIm1hdGVyaWFsXCI+XG4gICAgICAgICAgICAgICAgPG5ndC12YWx1ZSBbcmF3VmFsdWVdPVwic3BvdExpZ2h0SW5wdXQubGlnaHRPcGFjaXR5KClcIiBhdHRhY2g9XCJ1bmlmb3Jtcy5vcGFjaXR5LnZhbHVlXCIgLz5cbiAgICAgICAgICAgICAgICA8bmd0LXZhbHVlIFtyYXdWYWx1ZV09XCJzcG90TGlnaHRJbnB1dC5saWdodENvbG9yKClcIiBhdHRhY2g9XCJ1bmlmb3Jtcy5saWdodENvbG9yLnZhbHVlXCIgLz5cbiAgICAgICAgICAgICAgICA8bmd0LXZhbHVlIFtyYXdWYWx1ZV09XCJzcG90TGlnaHRJbnB1dC5saWdodEF0dGVudWF0aW9uKClcIiBhdHRhY2g9XCJ1bmlmb3Jtcy5hdHRlbnVhdGlvbi52YWx1ZVwiIC8+XG4gICAgICAgICAgICAgICAgPG5ndC12YWx1ZSBbcmF3VmFsdWVdPVwic3BvdExpZ2h0SW5wdXQubGlnaHRBbmdsZVBvd2VyKClcIiBhdHRhY2g9XCJ1bmlmb3Jtcy5hbmdsZVBvd2VyLnZhbHVlXCIgLz5cbiAgICAgICAgICAgICAgICA8bmd0LXZhbHVlIFtyYXd2YWx1ZV09XCJzcG90TGlnaHRJbnB1dC5saWdodERlcHRoQnVmZmVyKClcIiBhdHRhY2g9XCJ1bmlmb3Jtcy5kZXB0aC52YWx1ZVwiIC8+XG4gICAgICAgICAgICAgICAgPG5ndC12YWx1ZSBbcmF3dmFsdWVdPVwibmVhcigpXCIgYXR0YWNoPVwidW5pZm9ybXMuY2FtZXJhTmVhci52YWx1ZVwiIC8+XG4gICAgICAgICAgICAgICAgPG5ndC12YWx1ZSBbcmF3dmFsdWVdPVwiZmFyKClcIiBhdHRhY2g9XCJ1bmlmb3Jtcy5jYW1lcmFGYXIudmFsdWVcIiAvPlxuICAgICAgICAgICAgICAgIDxuZ3QtdmFsdWUgW3Jhd3ZhbHVlXT1cInJlc29sdXRpb24oKVwiIGF0dGFjaD1cInVuaWZvcm1zLnJlc29sdXRpb24udmFsdWVcIiAvPlxuICAgICAgICAgICAgPC9uZ3QtcHJpbWl0aXZlPlxuICAgICAgICA8L25ndC1tZXNoPlxuICAgIGAsXG4gICAgaW1wb3J0czogW05ndEFyZ3NdLFxuICAgIHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcbn0pXG5leHBvcnQgY2xhc3MgTmd0c1ZvbHVtZXRyaWNNZXNoIHtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgc3BvdExpZ2h0SW5wdXQgPSBpbmplY3QoTmd0c1Nwb3RMaWdodElucHV0KTtcbiAgICByZWFkb25seSBtZXNoID0gaW5qZWN0Tmd0UmVmPFRIUkVFLk1lc2g+KCk7XG4gICAgcmVhZG9ubHkgbWF0ZXJpYWwgPSBuZXcgU3BvdExpZ2h0TWF0ZXJpYWwoKTtcbiAgICByZWFkb25seSBudWxsUmF5Y2FzdCA9ICgpID0+IG51bGw7XG5cbiAgICByZWFkb25seSAjdmVjID0gbmV3IFRIUkVFLlZlY3RvcjMoKTtcbiAgICByZWFkb25seSAjc3RvcmUgPSBpbmplY3QoTmd0U3RvcmUpO1xuICAgIHJlYWRvbmx5ICNjYW1lcmEgPSB0aGlzLiNzdG9yZS5zZWxlY3QoJ2NhbWVyYScpO1xuICAgIHJlYWRvbmx5ICNzaXplID0gdGhpcy4jc3RvcmUuc2VsZWN0KCdzaXplJyk7XG4gICAgcmVhZG9ubHkgI2RwciA9IHRoaXMuI3N0b3JlLnNlbGVjdCgndmlld3BvcnQnLCAnZHByJyk7XG5cbiAgICByZWFkb25seSAjbm9ybWFsaXplZFJhZGl1c1RvcCA9IGNvbXB1dGVkKCgpID0+XG4gICAgICAgIHRoaXMuc3BvdExpZ2h0SW5wdXQubGlnaHRSYWRpdXNUb3AoKSA9PT0gdW5kZWZpbmVkID8gMC4xIDogdGhpcy5zcG90TGlnaHRJbnB1dC5saWdodFJhZGl1c1RvcCgpXG4gICAgKTtcbiAgICByZWFkb25seSAjbm9ybWFsaXplZFJhZGl1c0JvdHRvbSA9IGNvbXB1dGVkKCgpID0+XG4gICAgICAgIHRoaXMuc3BvdExpZ2h0SW5wdXQubGlnaHRSYWRpdXNCb3R0b20oKSA9PT0gdW5kZWZpbmVkXG4gICAgICAgICAgICA/IHRoaXMuc3BvdExpZ2h0SW5wdXQubGlnaHRBbmdsZSgpICogN1xuICAgICAgICAgICAgOiB0aGlzLnNwb3RMaWdodElucHV0LmxpZ2h0UmFkaXVzQm90dG9tKClcbiAgICApO1xuICAgIHJlYWRvbmx5IGdlb21ldHJ5ID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICBjb25zdCBkaXN0YW5jZSA9IHRoaXMuc3BvdExpZ2h0SW5wdXQubGlnaHREaXN0YW5jZSgpO1xuICAgICAgICBjb25zdCByYWRpdXNUb3AgPSB0aGlzLiNub3JtYWxpemVkUmFkaXVzVG9wKCk7XG4gICAgICAgIGNvbnN0IHJhZGl1c0JvdHRvbSA9IHRoaXMuI25vcm1hbGl6ZWRSYWRpdXNCb3R0b20oKTtcblxuICAgICAgICBjb25zdCBnZW9tZXRyeSA9IG5ldyBUSFJFRS5DeWxpbmRlckdlb21ldHJ5KHJhZGl1c1RvcCwgcmFkaXVzQm90dG9tLCBkaXN0YW5jZSwgMTI4LCA2NCwgdHJ1ZSk7XG4gICAgICAgIGdlb21ldHJ5LmFwcGx5TWF0cml4NChuZXcgVEhSRUUuTWF0cml4NCgpLm1ha2VUcmFuc2xhdGlvbigwLCAtZGlzdGFuY2UgLyAyLCAwKSk7XG4gICAgICAgIGdlb21ldHJ5LmFwcGx5TWF0cml4NChuZXcgVEhSRUUuTWF0cml4NCgpLm1ha2VSb3RhdGlvblgoLU1hdGguUEkgLyAyKSk7XG4gICAgICAgIHJldHVybiBnZW9tZXRyeTtcbiAgICB9KTtcbiAgICByZWFkb25seSBuZWFyID0gY29tcHV0ZWQoKCkgPT4gdGhpcy4jY2FtZXJhKCkubmVhcik7XG4gICAgcmVhZG9ubHkgZmFyID0gY29tcHV0ZWQoKCkgPT4gdGhpcy4jY2FtZXJhKCkuZmFyKTtcbiAgICByZWFkb25seSByZXNvbHV0aW9uID0gY29tcHV0ZWQoKCkgPT5cbiAgICAgICAgdGhpcy5zcG90TGlnaHRJbnB1dC5saWdodERlcHRoQnVmZmVyKClcbiAgICAgICAgICAgID8gW3RoaXMuI3NpemUoKS53aWR0aCAqIHRoaXMuI2RwcigpLCB0aGlzLiNzaXplKCkuaGVpZ2h0ICogdGhpcy4jZHByKCldXG4gICAgICAgICAgICA6IFswLCAwXVxuICAgICk7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHRoaXMuc3BvdExpZ2h0SW5wdXQucGF0Y2goe1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgICAgY29sb3I6ICd3aGl0ZScsXG4gICAgICAgICAgICAgICAgZGlzdGFuY2U6IDUsXG4gICAgICAgICAgICAgICAgYW5nbGU6IDAuMTUsXG4gICAgICAgICAgICAgICAgYXR0ZW51YXRpb246IDUsXG4gICAgICAgICAgICAgICAgYW5nbGVQb3dlcjogNSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGNhdGNoIHtcbiAgICAgICAgICAgIHF1ZXVlTWljcm90YXNrKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnNwb3RMaWdodElucHV0LnBhdGNoKHtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMSxcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICd3aGl0ZScsXG4gICAgICAgICAgICAgICAgICAgIGRpc3RhbmNlOiA1LFxuICAgICAgICAgICAgICAgICAgICBhbmdsZTogMC4xNSxcbiAgICAgICAgICAgICAgICAgICAgYXR0ZW51YXRpb246IDUsXG4gICAgICAgICAgICAgICAgICAgIGFuZ2xlUG93ZXI6IDUsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBpbmplY3RCZWZvcmVSZW5kZXIoKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbWVzaCA9IHRoaXMubWVzaC5uYXRpdmVFbGVtZW50O1xuICAgICAgICAgICAgaWYgKCFtZXNoKSByZXR1cm47XG4gICAgICAgICAgICB0aGlzLm1hdGVyaWFsLnVuaWZvcm1zWydzcG90UG9zaXRpb24nXS52YWx1ZS5jb3B5KG1lc2guZ2V0V29ybGRQb3NpdGlvbih0aGlzLiN2ZWMpKTtcbiAgICAgICAgICAgIG1lc2gubG9va0F0KChtZXNoLnBhcmVudCBhcyBUSFJFRS5TcG90TGlnaHQpLnRhcmdldC5nZXRXb3JsZFBvc2l0aW9uKHRoaXMuI3ZlYykpO1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
|