@flowmap.gl/layers 8.0.0-alpha.20 → 8.0.0-alpha.23

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.
@@ -1 +1 @@
1
- {"version":3,"file":"AnimatedFlowLinesLayer.d.ts","sourceRoot":"","sources":["../../src/AnimatedFlowLinesLayer/AnimatedFlowLinesLayer.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAC,KAAK,EAAqB,MAAM,eAAe,CAAC;AAKxD,OAAO,EAAC,wBAAwB,EAAE,IAAI,EAAC,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAC,UAAU,EAAC,MAAM,UAAU,CAAC;AACpC,MAAM,WAAW,KAAK,CAAC,CAAC,CAAE,SAAQ,UAAU;IAC1C,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAC,CAAC;IAC1D,IAAI,EAAE,CAAC,EAAE,GAAG,wBAAwB,CAAC;IACrC,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,IAAI,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,iBAAiB,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/C,iBAAiB,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/C,aAAa,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,kBAAkB,KAAK,MAAM,CAAC;IAC3D,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAC,KAAK,EAAC,EAAE;QAAC,KAAK,EAAE,MAAM,CAAA;KAAC,KAAK,MAAM,CAAC;IACzD,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC;IAC1B,YAAY,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC;IAChC,kBAAkB,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjD;AAGD,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,GAAG,CAAC;IACV,MAAM,EAAE,GAAG,CAAC;CACb;AAOD,MAAM,CAAC,OAAO,OAAO,sBAAsB,CAAC,CAAC,CAAE,SAAQ,KAAK;IAC1D,MAAM,CAAC,YAAY;;;;;uBAGgC,GAAG;;;;uBACH,GAAG;;;;uBACT,GAAG;;;;uBAGjC,GAAG;uBAAmB,MAAM;;;;;;;;;;;;;;;MAQzC;gBAEU,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IAI3B,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IASrC,eAAe,IAAI,IAAI;IA0CvB,cAAc,IAAI,OAAO;IAIzB,WAAW,CAAC,EAAC,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAWtE,IAAI,CAAC,EAAC,QAAQ,EAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAe3C,SAAS,CAAC,EAAE,EAAE,qBAAqB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAwB9D"}
1
+ {"version":3,"file":"AnimatedFlowLinesLayer.d.ts","sourceRoot":"","sources":["../../src/AnimatedFlowLinesLayer/AnimatedFlowLinesLayer.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAC,KAAK,EAAqB,MAAM,eAAe,CAAC;AAKxD,OAAO,EAAC,wBAAwB,EAAE,IAAI,EAAC,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAC,UAAU,EAAC,MAAM,UAAU,CAAC;AACpC,MAAM,WAAW,KAAK,CAAC,CAAC,CAAE,SAAQ,UAAU;IAC1C,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAC,CAAC;IAC1D,IAAI,EAAE,CAAC,EAAE,GAAG,wBAAwB,CAAC;IACrC,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,IAAI,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,iBAAiB,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/C,iBAAiB,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/C,aAAa,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,kBAAkB,KAAK,MAAM,CAAC;IAC3D,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAC,KAAK,EAAC,EAAE;QAAC,KAAK,EAAE,MAAM,CAAA;KAAC,KAAK,MAAM,CAAC;IACzD,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC;IAC1B,YAAY,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC;IAChC,kBAAkB,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjD;AAGD,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,GAAG,CAAC;IACV,MAAM,EAAE,GAAG,CAAC;CACb;AAOD,MAAM,CAAC,OAAO,OAAO,sBAAsB,CAAC,CAAC,CAAE,SAAQ,KAAK;IAC1D,MAAM,CAAC,YAAY;;;;;uBAGgC,GAAG;;;;uBACH,GAAG;;;;uBACT,GAAG;;;;uBAGjC,GAAG;uBAAmB,MAAM;;;;;;;;;;;;;;;MAQzC;gBAEU,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IAI3B,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IASrC,eAAe,IAAI,IAAI;IA4CvB,cAAc,IAAI,OAAO;IAIzB,WAAW,CAAC,EAAC,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAWtE,IAAI,CAAC,EAAC,QAAQ,EAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAe3C,SAAS,CAAC,EAAE,EAAE,qBAAqB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAwB9D"}
@@ -42,11 +42,13 @@ export default class AnimatedFlowLinesLayer extends Layer {
42
42
  attributeManager.addInstanced({
43
43
  instanceSourcePositions: {
44
44
  size: 3,
45
+ type: GL.DOUBLE,
45
46
  transition: true,
46
47
  accessor: 'getSourcePosition',
47
48
  },
48
49
  instanceTargetPositions: {
49
50
  size: 3,
51
+ type: GL.DOUBLE,
50
52
  transition: true,
51
53
  accessor: 'getTargetPosition',
52
54
  },
@@ -135,4 +137,4 @@ AnimatedFlowLinesLayer.defaultProps = {
135
137
  depthTest: false,
136
138
  },
137
139
  };
138
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQW5pbWF0ZWRGbG93TGluZXNMYXllci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9BbmltYXRlZEZsb3dMaW5lc0xheWVyL0FuaW1hdGVkRmxvd0xpbmVzTGF5ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQkc7QUFFSCxPQUFPLEVBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEQsT0FBTyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDcEMsT0FBTyxFQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDOUMsT0FBTyxjQUFjLE1BQU0sdUNBQXVDLENBQUM7QUFDbkUsT0FBTyxZQUFZLE1BQU0scUNBQXFDLENBQUM7QUErQi9ELE1BQU0sYUFBYSxHQUFTLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7QUFDL0MsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDO0FBQ3hCLE1BQU0sY0FBYyxHQUFHLEVBQUUsQ0FBQztBQUMxQixNQUFNLFFBQVEsR0FBRyxVQUFVLEdBQUcsY0FBYyxDQUFDO0FBRTdDLE1BQU0sQ0FBQyxPQUFPLE9BQU8sc0JBQTBCLFNBQVEsS0FBSztJQW1CMUQsWUFBWSxLQUFlO1FBQ3pCLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNmLENBQUM7SUFFRCxVQUFVO1FBQ1IsT0FBTyxLQUFLLENBQUMsVUFBVSxDQUFDO1lBQ3RCLEVBQUUsRUFBRSxZQUFZO1lBQ2hCLEVBQUUsRUFBRSxjQUFjO1lBQ2xCLE9BQU8sRUFBRSxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUM7WUFDN0IsV0FBVyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVztTQUN0QyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsZUFBZTtRQUNiLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxD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YSxFQUFFLEVBQUUsR0FBRyxDQUFDO0lBQ3JCLFVBQVUsRUFBRTtRQUNWLFNBQVMsRUFBRSxLQUFLO0tBQ2pCO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAyMiBGbG93bWFwQmx1ZVxuICogQ29weXJpZ2h0IDIwMTgtMjAyMCBUZXJhbHl0aWNzLCBtb2RpZmllZCBieSBGbG93bWFwQmx1ZVxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICpcbiAqL1xuXG5pbXBvcnQge0xheWVyLCBwaWNraW5nLCBwcm9qZWN0MzJ9IGZyb20gJ0BkZWNrLmdsL2NvcmUnO1xuaW1wb3J0IEdMIGZyb20gJ0BsdW1hLmdsL2NvbnN0YW50cyc7XG5pbXBvcnQge0dlb21ldHJ5LCBNb2RlbH0gZnJvbSAnQGx1bWEuZ2wvY29yZSc7XG5pbXBvcnQgRnJhZ21lbnRTaGFkZXIgZnJvbSAnLi9BbmltYXRlZEZsb3dMaW5lc0xheWVyRnJhZ21lbnQuZ2xzbCc7XG5pbXBvcnQgVmVydGV4U2hhZGVyIGZyb20gJy4vQW5pbWF0ZWRGbG93TGluZXNMYXllclZlcnRleC5nbHNsJztcbmltcG9ydCB7Rmxvd0xpbmVzTGF5ZXJBdHRyaWJ1dGVzLCBSR0JBfSBmcm9tICdAZmxvd21hcC5nbC9kYXRhJztcbmltcG9ydCB7TGF5ZXJQcm9wc30gZnJvbSAnLi4vdHlwZXMnO1xuZXhwb3J0IGludGVyZmFjZSBQcm9wczxGPiBleHRlbmRzIExheWVyUHJvcHMge1xuICBpZDogc3RyaW5nO1xuICBvcGFjaXR5PzogbnVtYmVyO1xuICBwaWNrYWJsZT86IGJvb2xlYW47XG4gIHVwZGF0ZVRyaWdnZXJzPzoge1trZXk6IHN0cmluZ106IFJlY29yZDxzdHJpbmcsIHVua25vd24+fTtcbiAgZGF0YTogRltdIHwgRmxvd0xpbmVzTGF5ZXJBdHRyaWJ1dGVzO1xuICBkcmF3T3V0bGluZTogYm9vbGVhbjtcbiAgb3V0bGluZUNvbG9yPzogUkdCQTtcbiAgb3V0bGluZVRoaWNrbmVzcz86IG51bWJlcjtcbiAgY3VycmVudFRpbWU/OiBudW1iZXI7XG4gIHRoaWNrbmVzc1VuaXQ/OiBudW1iZXI7XG4gIGFuaW1hdGlvblRhaWxMZW5ndGg/OiBudW1iZXI7XG4gIGdldFNvdXJjZVBvc2l0aW9uPzogKGQ6IEYpID0+IFtudW1iZXIsIG51bWJlcl07XG4gIGdldFRhcmdldFBvc2l0aW9uPzogKGQ6IEYpID0+IFtudW1iZXIsIG51bWJlcl07XG4gIGdldFN0YWdnZXJpbmc/OiAoZDogRiwgaW5mbzogQWNjZXNzb3JPYmplY3RJbmZvKSA9PiBudW1iZXI7XG4gIGdldFBpY2thYmxlPzogKGQ6IEYsIHtpbmRleH06IHtpbmRleDogbnVtYmVyfSkgPT4gbnVtYmVyOyAvLyA+PSAxLjAgLT4gdHJ1ZVxuICBnZXRDb2xvcj86IChkOiBGKSA9PiBSR0JBO1xuICBnZXRUaGlja25lc3M/OiAoZDogRikgPT4gbnVtYmVyO1xuICBnZXRFbmRwb2ludE9mZnNldHM/OiAoZDogRikgPT4gW251bWJlciwgbnVtYmVyXTtcbn1cblxuLy8gaHR0cHM6Ly9kZWNrLmdsLyMvZG9jdW1lbnRhdGlvbi9kZXZlbG9wZXItZ3VpZGUvdXNpbmctbGF5ZXJzP3NlY3Rpb249YWNjZXNzb3JzXG5leHBvcnQgaW50ZXJmYWNlIEFjY2Vzc29yT2JqZWN0SW5mbyB7XG4gIGluZGV4OiBudW1iZXI7XG4gIGRhdGE6IGFueTtcbiAgdGFyZ2V0OiBhbnk7XG59XG5cbmNvbnN0IERFRkFVTFRfQ09MT1I6IFJHQkEgPSBbMCwgMTMyLCAxOTMsIDI1NV07XG5jb25zdCBsb29wTGVuZ3RoID0gMTgwMDtcbmNvbnN0IGFuaW1hdGlvblNwZWVkID0gMjA7XG5jb25zdCBsb29wVGltZSA9IGxvb3BMZW5ndGggLyBhbmltYXRpb25TcGVlZDtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQW5pbWF0ZWRGbG93TGluZXNMYXllcjxGPiBleHRlbmRzIExheWVyIHtcbiAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICBjdXJyZW50VGltZTogMCxcbiAgICBhbmltYXRpb25UYWlsTGVuZ3RoOiAwLjcsXG4gICAgZ2V0U291cmNlUG9zaXRpb246IHt0eXBlOiAnYWNjZXNzb3InLCB2YWx1ZTogKGQ6IGFueSkgPT4gWzAsIDBdfSxcbiAgICBnZXRUYXJnZXRQb3NpdGlvbjoge3R5cGU6ICdhY2Nlc3NvcicsIHZhbHVlOiAoZDogYW55KSA9PiBbMCwgMF19LFxuICAgIGdldFBpY2thYmxlOiB7dHlwZTogJ2FjY2Vzc29yJywgdmFsdWU6IChkOiBhbnkpID0+IDEuMH0sXG4gICAgZ2V0U3RhZ2dlcmluZzoge1xuICAgICAgdHlwZTogJ2FjY2Vzc29yJyxcbiAgICAgIHZhbHVlOiAoZDogYW55LCB7aW5kZXh9OiB7aW5kZXg6IG51bWJlcn0pID0+IE1hdGgucmFuZG9tKCksXG4gICAgfSxcbiAgICBnZXRDb2xvcjoge3R5cGU6ICdhY2Nlc3NvcicsIHZhbHVlOiBERUZBVUxUX0NPTE9SfSxcbiAgICBnZXRUaGlja25lc3M6IHt0eXBlOiAnYWNjZXNzb3InLCB2YWx1ZTogMX0sXG4gICAgdGhpY2tuZXNzVW5pdDogMTUgKiAyLFxuICAgIHBhcmFtZXRlcnM6IHtcbiAgICAgIGRlcHRoVGVzdDogZmFsc2UsXG4gICAgfSxcbiAgfTtcblxuICBjb25zdHJ1Y3Rvcihwcm9wczogUHJvcHM8Rj4pIHtcbiAgICBzdXBlcihwcm9wcyk7XG4gIH1cblxuICBnZXRTaGFkZXJzKCk6IFJlY29yZDxzdHJpbmcsIHVua25vd24+IHtcbiAgICByZXR1cm4gc3VwZXIuZ2V0U2hhZGVycyh7XG4gICAgICB2czogVmVydGV4U2hhZGVyLFxuICAgICAgZnM6IEZyYWdtZW50U2hhZGVyLFxuICAgICAgbW9kdWxlczogW3Byb2plY3QzMiwgcGlja2luZ10sXG4gICAgICBzaGFkZXJDYWNoZTogdGhpcy5jb250ZXh0LnNoYWRlckNhY2hlLFxuICAgIH0pO1xuICB9XG5cbiAgaW5pdGlhbGl6ZVN0YXRlKCk6IHZvaWQge1xuICAgIGNvbnN0IGF0dHJpYnV0ZU1hbmFnZXIgPSB0aGlzLmdldEF0dHJpYnV0ZU1hbmFnZXIoKTtcblxuICAgIC8qIGVzbGludC1kaXNhYmxlIG1heC1sZW4gKi9cbiAgICBhdHRyaWJ1dGVNYW5hZ2VyLmFkZEluc3RhbmNlZCh7XG4gICAgICBpbnN0YW5jZVNvdXJjZVBvc2l0aW9uczoge1xuICAgICAgICBzaXplOiAzLFxuICAgICAgICB0cmFuc2l0aW9uOiB0cnVlLFxuICAgICAgICBhY2Nlc3NvcjogJ2dldFNvdXJjZVBvc2l0aW9uJyxcbiAgICAgIH0sXG4gICAgICBpbnN0YW5jZVRhcmdldFBvc2l0aW9uczoge1xuICAgICAgICBzaXplOiAzLFxuICAgICAgICB0cmFuc2l0aW9uOiB0cnVlLFxuICAgICAgICBhY2Nlc3NvcjogJ2dldFRhcmdldFBvc2l0aW9uJyxcbiAgICAgIH0sXG4gICAgICBpbnN0YW5jZUNvbG9yczoge1xuICAgICAgICBzaXplOiA0LFxuICAgICAgICB0eXBlOiBHTC5VTlNJR05FRF9CWVRFLFxuICAgICAgICB0cmFuc2l0aW9uOiB0cnVlLFxuICAgICAgICBhY2Nlc3NvcjogJ2dldENvbG9yJyxcbiAgICAgICAgZGVmYXVsdFZhbHVlOiBbMCwgMCwgMCwgMjU1XSxcbiAgICAgIH0sXG4gICAgICBpbnN0YW5jZVdpZHRoczoge1xuICAgICAgICBzaXplOiAxLFxuICAgICAgICB0cmFuc2l0aW9uOiB0cnVlLFxuICAgICAgICBhY2Nlc3NvcjogJ2dldFRoaWNrbmVzcycsXG4gICAgICAgIGRlZmF1bHRWYWx1ZTogMSxcbiAgICAgIH0sXG4gICAgICBpbnN0YW5jZVN0YWdnZXJpbmc6IHtcbiAgICAgICAgYWNjZXNzb3I6ICdnZXRTdGFnZ2VyaW5nJyxcbiAgICAgICAgc2l6ZTogMSxcbiAgICAgICAgdHJhbnNpdGlvbjogZmFsc2UsXG4gICAgICB9LFxuICAgICAgaW5zdGFuY2VQaWNrYWJsZToge1xuICAgICAgICBhY2Nlc3NvcjogJ2dldFBpY2thYmxlJyxcbiAgICAgICAgc2l6ZTogMSxcbiAgICAgICAgdHJhbnNpdGlvbjogZmFsc2UsXG4gICAgICB9LFxuICAgIH0pO1xuICAgIC8qIGVzbGludC1lbmFibGUgbWF4LWxlbiAqL1xuICB9XG5cbiAgZ2V0TmVlZHNSZWRyYXcoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICB1cGRhdGVTdGF0ZSh7cHJvcHMsIG9sZFByb3BzLCBjaGFuZ2VGbGFnc306IFJlY29yZDxzdHJpbmcsIGFueT4pOiB2b2lkIHtcbiAgICBzdXBlci51cGRhdGVTdGF0ZSh7cHJvcHMsIG9sZFByb3BzLCBjaGFuZ2VGbGFnc30pO1xuXG4gICAgaWYgKGNoYW5nZUZsYWdzLmV4dGVuc2lvbnNDaGFuZ2VkKSB7XG4gICAgICBjb25zdCB7Z2x9ID0gdGhpcy5jb250ZXh0O1xuICAgICAgdGhpcy5zdGF0ZS5tb2RlbD8uZGVsZXRlKCk7XG4gICAgICB0aGlzLnN0YXRlLm1vZGVsID0gdGhpcy5fZ2V0TW9kZWwoZ2wpO1xuICAgICAgdGhpcy5nZXRBdHRyaWJ1dGVNYW5hZ2VyKCkuaW52YWxpZGF0ZUFsbCgpO1xuICAgIH1cbiAgfVxuXG4gIGRyYXcoe3VuaWZvcm1zfTogUmVjb3JkPHN0cmluZywgYW55Pik6IHZvaWQge1xuICAgIGNvbnN0IHt0aGlja25lc3NVbml0LCBhbmltYXRpb25UYWlsTGVuZ3RofSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgdGltZXN0YW1wID0gRGF0ZS5ub3coKSAvIDEwMDA7XG4gICAgY29uc3QgYW5pbWF0aW9uVGltZSA9ICgodGltZXN0YW1wICUgbG9vcFRpbWUpIC8gbG9vcFRpbWUpICogbG9vcExlbmd0aDtcblxuICAgIHRoaXMuc3RhdGUubW9kZWxcbiAgICAgIC5zZXRVbmlmb3Jtcyh7XG4gICAgICAgIC4uLnVuaWZvcm1zLFxuICAgICAgICB0aGlja25lc3NVbml0OiB0aGlja25lc3NVbml0ICogNCxcbiAgICAgICAgYW5pbWF0aW9uVGFpbExlbmd0aCxcbiAgICAgICAgY3VycmVudFRpbWU6IGFuaW1hdGlvblRpbWUsXG4gICAgICB9KVxuICAgICAgLmRyYXcoKTtcbiAgfVxuXG4gIF9nZXRNb2RlbChnbDogV2ViR0xSZW5kZXJpbmdDb250ZXh0KTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4ge1xuICAgIC8qXG4gICAgICogICgwLCAtMSktLS0tLS0tLS0tLS0tXygxLCAtMSlcbiAgICAgKiAgICAgICB8ICAgICAgICAgIF8sLVwiICB8XG4gICAgICogICAgICAgbyAgICAgIF8sLVwiICAgICAgb1xuICAgICAqICAgICAgIHwgIF8sLVwiICAgICAgICAgIHxcbiAgICAgKiAgICgwLCAxKVwiLS0tLS0tLS0tLS0tLSgxLCAxKVxuICAgICAqL1xuICAgIGNvbnN0IHBvc2l0aW9ucyA9IFswLCAtMSwgMCwgMCwgMSwgMCwgMSwgLTEsIDAsIDEsIDEsIDBdO1xuXG4gICAgcmV0dXJuIG5ldyBNb2RlbChcbiAgICAgIGdsLFxuICAgICAgT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5nZXRTaGFkZXJzKCksIHtcbiAgICAgICAgaWQ6IHRoaXMucHJvcHMuaWQsXG4gICAgICAgIGdlb21ldHJ5OiBuZXcgR2VvbWV0cnkoe1xuICAgICAgICAgIGRyYXdNb2RlOiBHTC5UUklBTkdMRV9TVFJJUCxcbiAgICAgICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgICAgICBwb3NpdGlvbnM6IG5ldyBGbG9hdDMyQXJyYXkocG9zaXRpb25zKSxcbiAgICAgICAgICB9LFxuICAgICAgICB9KSxcbiAgICAgICAgaXNJbnN0YW5jZWQ6IHRydWUsXG4gICAgICB9KSxcbiAgICApO1xuICB9XG59XG4iXX0=
140
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQW5pbWF0ZWRGbG93TGluZXNMYXllci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9BbmltYXRlZEZsb3dMaW5lc0xheWVyL0FuaW1hdGVkRmxvd0xpbmVzTGF5ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQkc7QUFFSCxPQUFPLEVBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEQsT0FBTyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDcEMsT0FBTyxFQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDOUMsT0FBTyxjQUFjLE1BQU0sdUNBQXVDLENBQUM7QUFDbkUsT0FBTyxZQUFZLE1BQU0scUNBQXFDLENBQUM7QUErQi9ELE1BQU0sYUFBYSxHQUFTLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7QUFDL0MsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDO0FBQ3hCLE1BQU0sY0FBYyxHQUFHLEVBQUUsQ0FBQztBQUMxQixNQUFNLFFBQVEsR0FBRyxVQUFVLEdBQUcsY0FBYyxDQUFDO0FBRTdDLE1BQU0sQ0FBQyxPQUFPLE9BQU8sc0JBQTBCLFNBQVEsS0FBSztJQW1CMUQsWUFBWSxLQUFlO1FBQ3pCLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNmLENBQUM7SUFFRCxVQUFVO1FBQ1IsT0FBTyxLQUFLLENBQUMsVUFBVSxDQUFDO1lBQ3RCLEVBQUUsRUFBRSxZQUFZO1lBQ2hCLEVBQUUsRUFBRSxjQUFjO1lBQ2xCLE9BQU8sRUFBRSxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUM7WUFDN0IsV0FBVyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVztTQUN0QyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsZUFBZTtRQUNiLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxD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QVksRUFBRSxFQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBQztJQUMxQyxhQUFhLEVBQUUsRUFBRSxHQUFHLENBQUM7SUFDckIsVUFBVSxFQUFFO1FBQ1YsU0FBUyxFQUFFLEtBQUs7S0FDakI7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDIyIEZsb3dtYXBCbHVlXG4gKiBDb3B5cmlnaHQgMjAxOC0yMDIwIFRlcmFseXRpY3MsIG1vZGlmaWVkIGJ5IEZsb3dtYXBCbHVlXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKlxuICovXG5cbmltcG9ydCB7TGF5ZXIsIHBpY2tpbmcsIHByb2plY3QzMn0gZnJvbSAnQGRlY2suZ2wvY29yZSc7XG5pbXBvcnQgR0wgZnJvbSAnQGx1bWEuZ2wvY29uc3RhbnRzJztcbmltcG9ydCB7R2VvbWV0cnksIE1vZGVsfSBmcm9tICdAbHVtYS5nbC9jb3JlJztcbmltcG9ydCBGcmFnbWVudFNoYWRlciBmcm9tICcuL0FuaW1hdGVkRmxvd0xpbmVzTGF5ZXJGcmFnbWVudC5nbHNsJztcbmltcG9ydCBWZXJ0ZXhTaGFkZXIgZnJvbSAnLi9BbmltYXRlZEZsb3dMaW5lc0xheWVyVmVydGV4Lmdsc2wnO1xuaW1wb3J0IHtGbG93TGluZXNMYXllckF0dHJpYnV0ZXMsIFJHQkF9IGZyb20gJ0BmbG93bWFwLmdsL2RhdGEnO1xuaW1wb3J0IHtMYXllclByb3BzfSBmcm9tICcuLi90eXBlcyc7XG5leHBvcnQgaW50ZXJmYWNlIFByb3BzPEY+IGV4dGVuZHMgTGF5ZXJQcm9wcyB7XG4gIGlkOiBzdHJpbmc7XG4gIG9wYWNpdHk/OiBudW1iZXI7XG4gIHBpY2thYmxlPzogYm9vbGVhbjtcbiAgdXBkYXRlVHJpZ2dlcnM/OiB7W2tleTogc3RyaW5nXTogUmVjb3JkPHN0cmluZywgdW5rbm93bj59O1xuICBkYXRhOiBGW10gfCBGbG93TGluZXNMYXllckF0dHJpYnV0ZXM7XG4gIGRyYXdPdXRsaW5lOiBib29sZWFuO1xuICBvdXRsaW5lQ29sb3I/OiBSR0JBO1xuICBvdXRsaW5lVGhpY2tuZXNzPzogbnVtYmVyO1xuICBjdXJyZW50VGltZT86IG51bWJlcjtcbiAgdGhpY2tuZXNzVW5pdD86IG51bWJlcjtcbiAgYW5pbWF0aW9uVGFpbExlbmd0aD86IG51bWJlcjtcbiAgZ2V0U291cmNlUG9zaXRpb24/OiAoZDogRikgPT4gW251bWJlciwgbnVtYmVyXTtcbiAgZ2V0VGFyZ2V0UG9zaXRpb24/OiAoZDogRikgPT4gW251bWJlciwgbnVtYmVyXTtcbiAgZ2V0U3RhZ2dlcmluZz86IChkOiBGLCBpbmZvOiBBY2Nlc3Nvck9iamVjdEluZm8pID0+IG51bWJlcjtcbiAgZ2V0UGlja2FibGU/OiAoZDogRiwge2luZGV4fToge2luZGV4OiBudW1iZXJ9KSA9PiBudW1iZXI7IC8vID49IDEuMCAtPiB0cnVlXG4gIGdldENvbG9yPzogKGQ6IEYpID0+IFJHQkE7XG4gIGdldFRoaWNrbmVzcz86IChkOiBGKSA9PiBudW1iZXI7XG4gIGdldEVuZHBvaW50T2Zmc2V0cz86IChkOiBGKSA9PiBbbnVtYmVyLCBudW1iZXJdO1xufVxuXG4vLyBodHRwczovL2RlY2suZ2wvIy9kb2N1bWVudGF0aW9uL2RldmVsb3Blci1ndWlkZS91c2luZy1sYXllcnM/c2VjdGlvbj1hY2Nlc3NvcnNcbmV4cG9ydCBpbnRlcmZhY2UgQWNjZXNzb3JPYmplY3RJbmZvIHtcbiAgaW5kZXg6IG51bWJlcjtcbiAgZGF0YTogYW55O1xuICB0YXJnZXQ6IGFueTtcbn1cblxuY29uc3QgREVGQVVMVF9DT0xPUjogUkdCQSA9IFswLCAxMzIsIDE5MywgMjU1XTtcbmNvbnN0IGxvb3BMZW5ndGggPSAxODAwO1xuY29uc3QgYW5pbWF0aW9uU3BlZWQgPSAyMDtcbmNvbnN0IGxvb3BUaW1lID0gbG9vcExlbmd0aCAvIGFuaW1hdGlvblNwZWVkO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBBbmltYXRlZEZsb3dMaW5lc0xheWVyPEY+IGV4dGVuZHMgTGF5ZXIge1xuICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgIGN1cnJlbnRUaW1lOiAwLFxuICAgIGFuaW1hdGlvblRhaWxMZW5ndGg6IDAuNyxcbiAgICBnZXRTb3VyY2VQb3NpdGlvbjoge3R5cGU6ICdhY2Nlc3NvcicsIHZhbHVlOiAoZDogYW55KSA9PiBbMCwgMF19LFxuICAgIGdldFRhcmdldFBvc2l0aW9uOiB7dHlwZTogJ2FjY2Vzc29yJywgdmFsdWU6IChkOiBhbnkpID0+IFswLCAwXX0sXG4gICAgZ2V0UGlja2FibGU6IHt0eXBlOiAnYWNjZXNzb3InLCB2YWx1ZTogKGQ6IGFueSkgPT4gMS4wfSxcbiAgICBnZXRTdGFnZ2VyaW5nOiB7XG4gICAgICB0eXBlOiAnYWNjZXNzb3InLFxuICAgICAgdmFsdWU6IChkOiBhbnksIHtpbmRleH06IHtpbmRleDogbnVtYmVyfSkgPT4gTWF0aC5yYW5kb20oKSxcbiAgICB9LFxuICAgIGdldENvbG9yOiB7dHlwZTogJ2FjY2Vzc29yJywgdmFsdWU6IERFRkFVTFRfQ09MT1J9LFxuICAgIGdldFRoaWNrbmVzczoge3R5cGU6ICdhY2Nlc3NvcicsIHZhbHVlOiAxfSxcbiAgICB0aGlja25lc3NVbml0OiAxNSAqIDIsXG4gICAgcGFyYW1ldGVyczoge1xuICAgICAgZGVwdGhUZXN0OiBmYWxzZSxcbiAgICB9LFxuICB9O1xuXG4gIGNvbnN0cnVjdG9yKHByb3BzOiBQcm9wczxGPikge1xuICAgIHN1cGVyKHByb3BzKTtcbiAgfVxuXG4gIGdldFNoYWRlcnMoKTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4ge1xuICAgIHJldHVybiBzdXBlci5nZXRTaGFkZXJzKHtcbiAgICAgIHZzOiBWZXJ0ZXhTaGFkZXIsXG4gICAgICBmczogRnJhZ21lbnRTaGFkZXIsXG4gICAgICBtb2R1bGVzOiBbcHJvamVjdDMyLCBwaWNraW5nXSxcbiAgICAgIHNoYWRlckNhY2hlOiB0aGlzLmNvbnRleHQuc2hhZGVyQ2FjaGUsXG4gICAgfSk7XG4gIH1cblxuICBpbml0aWFsaXplU3RhdGUoKTogdm9pZCB7XG4gICAgY29uc3QgYXR0cmlidXRlTWFuYWdlciA9IHRoaXMuZ2V0QXR0cmlidXRlTWFuYWdlcigpO1xuXG4gICAgLyogZXNsaW50LWRpc2FibGUgbWF4LWxlbiAqL1xuICAgIGF0dHJpYnV0ZU1hbmFnZXIuYWRkSW5zdGFuY2VkKHtcbiAgICAgIGluc3RhbmNlU291cmNlUG9zaXRpb25zOiB7XG4gICAgICAgIHNpemU6IDMsXG4gICAgICAgIHR5cGU6IEdMLkRPVUJMRSxcbiAgICAgICAgdHJhbnNpdGlvbjogdHJ1ZSxcbiAgICAgICAgYWNjZXNzb3I6ICdnZXRTb3VyY2VQb3NpdGlvbicsXG4gICAgICB9LFxuICAgICAgaW5zdGFuY2VUYXJnZXRQb3NpdGlvbnM6IHtcbiAgICAgICAgc2l6ZTogMyxcbiAgICAgICAgdHlwZTogR0wuRE9VQkxFLFxuICAgICAgICB0cmFuc2l0aW9uOiB0cnVlLFxuICAgICAgICBhY2Nlc3NvcjogJ2dldFRhcmdldFBvc2l0aW9uJyxcbiAgICAgIH0sXG4gICAgICBpbnN0YW5jZUNvbG9yczoge1xuICAgICAgICBzaXplOiA0LFxuICAgICAgICB0eXBlOiBHTC5VTlNJR05FRF9CWVRFLFxuICAgICAgICB0cmFuc2l0aW9uOiB0cnVlLFxuICAgICAgICBhY2Nlc3NvcjogJ2dldENvbG9yJyxcbiAgICAgICAgZGVmYXVsdFZhbHVlOiBbMCwgMCwgMCwgMjU1XSxcbiAgICAgIH0sXG4gICAgICBpbnN0YW5jZVdpZHRoczoge1xuICAgICAgICBzaXplOiAxLFxuICAgICAgICB0cmFuc2l0aW9uOiB0cnVlLFxuICAgICAgICBhY2Nlc3NvcjogJ2dldFRoaWNrbmVzcycsXG4gICAgICAgIGRlZmF1bHRWYWx1ZTogMSxcbiAgICAgIH0sXG4gICAgICBpbnN0YW5jZVN0YWdnZXJpbmc6IHtcbiAgICAgICAgYWNjZXNzb3I6ICdnZXRTdGFnZ2VyaW5nJyxcbiAgICAgICAgc2l6ZTogMSxcbiAgICAgICAgdHJhbnNpdGlvbjogZmFsc2UsXG4gICAgICB9LFxuICAgICAgaW5zdGFuY2VQaWNrYWJsZToge1xuICAgICAgICBhY2Nlc3NvcjogJ2dldFBpY2thYmxlJyxcbiAgICAgICAgc2l6ZTogMSxcbiAgICAgICAgdHJhbnNpdGlvbjogZmFsc2UsXG4gICAgICB9LFxuICAgIH0pO1xuICAgIC8qIGVzbGludC1lbmFibGUgbWF4LWxlbiAqL1xuICB9XG5cbiAgZ2V0TmVlZHNSZWRyYXcoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICB1cGRhdGVTdGF0ZSh7cHJvcHMsIG9sZFByb3BzLCBjaGFuZ2VGbGFnc306IFJlY29yZDxzdHJpbmcsIGFueT4pOiB2b2lkIHtcbiAgICBzdXBlci51cGRhdGVTdGF0ZSh7cHJvcHMsIG9sZFByb3BzLCBjaGFuZ2VGbGFnc30pO1xuXG4gICAgaWYgKGNoYW5nZUZsYWdzLmV4dGVuc2lvbnNDaGFuZ2VkKSB7XG4gICAgICBjb25zdCB7Z2x9ID0gdGhpcy5jb250ZXh0O1xuICAgICAgdGhpcy5zdGF0ZS5tb2RlbD8uZGVsZXRlKCk7XG4gICAgICB0aGlzLnN0YXRlLm1vZGVsID0gdGhpcy5fZ2V0TW9kZWwoZ2wpO1xuICAgICAgdGhpcy5nZXRBdHRyaWJ1dGVNYW5hZ2VyKCkuaW52YWxpZGF0ZUFsbCgpO1xuICAgIH1cbiAgfVxuXG4gIGRyYXcoe3VuaWZvcm1zfTogUmVjb3JkPHN0cmluZywgYW55Pik6IHZvaWQge1xuICAgIGNvbnN0IHt0aGlja25lc3NVbml0LCBhbmltYXRpb25UYWlsTGVuZ3RofSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgdGltZXN0YW1wID0gRGF0ZS5ub3coKSAvIDEwMDA7XG4gICAgY29uc3QgYW5pbWF0aW9uVGltZSA9ICgodGltZXN0YW1wICUgbG9vcFRpbWUpIC8gbG9vcFRpbWUpICogbG9vcExlbmd0aDtcblxuICAgIHRoaXMuc3RhdGUubW9kZWxcbiAgICAgIC5zZXRVbmlmb3Jtcyh7XG4gICAgICAgIC4uLnVuaWZvcm1zLFxuICAgICAgICB0aGlja25lc3NVbml0OiB0aGlja25lc3NVbml0ICogNCxcbiAgICAgICAgYW5pbWF0aW9uVGFpbExlbmd0aCxcbiAgICAgICAgY3VycmVudFRpbWU6IGFuaW1hdGlvblRpbWUsXG4gICAgICB9KVxuICAgICAgLmRyYXcoKTtcbiAgfVxuXG4gIF9nZXRNb2RlbChnbDogV2ViR0xSZW5kZXJpbmdDb250ZXh0KTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4ge1xuICAgIC8qXG4gICAgICogICgwLCAtMSktLS0tLS0tLS0tLS0tXygxLCAtMSlcbiAgICAgKiAgICAgICB8ICAgICAgICAgIF8sLVwiICB8XG4gICAgICogICAgICAgbyAgICAgIF8sLVwiICAgICAgb1xuICAgICAqICAgICAgIHwgIF8sLVwiICAgICAgICAgIHxcbiAgICAgKiAgICgwLCAxKVwiLS0tLS0tLS0tLS0tLSgxLCAxKVxuICAgICAqL1xuICAgIGNvbnN0IHBvc2l0aW9ucyA9IFswLCAtMSwgMCwgMCwgMSwgMCwgMSwgLTEsIDAsIDEsIDEsIDBdO1xuXG4gICAgcmV0dXJuIG5ldyBNb2RlbChcbiAgICAgIGdsLFxuICAgICAgT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5nZXRTaGFkZXJzKCksIHtcbiAgICAgICAgaWQ6IHRoaXMucHJvcHMuaWQsXG4gICAgICAgIGdlb21ldHJ5OiBuZXcgR2VvbWV0cnkoe1xuICAgICAgICAgIGRyYXdNb2RlOiBHTC5UUklBTkdMRV9TVFJJUCxcbiAgICAgICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgICAgICBwb3NpdGlvbnM6IG5ldyBGbG9hdDMyQXJyYXkocG9zaXRpb25zKSxcbiAgICAgICAgICB9LFxuICAgICAgICB9KSxcbiAgICAgICAgaXNJbnN0YW5jZWQ6IHRydWUsXG4gICAgICB9KSxcbiAgICApO1xuICB9XG59XG4iXX0=
@@ -6,6 +6,7 @@ export declare type FlowmapLayerProps<L, F> = {
6
6
  dataProvider?: FlowmapDataProvider<L, F>;
7
7
  filter?: FilterState;
8
8
  locationTotalsEnabled?: boolean;
9
+ locationLabelsEnabled?: boolean;
9
10
  adaptiveScalesEnabled?: boolean;
10
11
  animationEnabled?: boolean;
11
12
  clusteringEnabled?: boolean;
@@ -50,6 +51,7 @@ export default class FlowmapLayer<L, F> extends CompositeLayer {
50
51
  darkMode: boolean;
51
52
  fadeAmount: number;
52
53
  locationTotalsEnabled: boolean;
54
+ locationLabelsEnabled: boolean;
53
55
  animationEnabled: boolean;
54
56
  clusteringEnabled: boolean;
55
57
  fadeEnabled: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"FlowmapLayer.d.ts","sourceRoot":"","sources":["../src/FlowmapLayer.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAC,cAAc,EAAC,MAAM,eAAe,CAAC;AAE7C,OAAO,EAEL,wBAAwB,EACxB,WAAW,EACX,oBAAoB,EACpB,mBAAmB,EAOnB,UAAU,EAGV,yBAAyB,EACzB,WAAW,EACZ,MAAM,kBAAkB,CAAC;AAI1B,OAAO,EACL,uBAAuB,EACvB,UAAU,EAGX,MAAM,SAAS,CAAC;AAEjB,oBAAY,iBAAiB,CAAC,CAAC,EAAE,CAAC,IAAI;IACpC,IAAI,CAAC,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACzB,YAAY,CAAC,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACzC,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAChC,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACnC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,OAAO,CAAC,EAAE,CACR,IAAI,EAAE,uBAAuB,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS,EAC/C,KAAK,EAAE,WAAW,KACf,IAAI,CAAC;IACV,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,uBAAuB,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;CAC7E,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GACrC,UAAU,CAAC;AAEb,aAAK,aAAa;IAChB,QAAQ,aAAa;IACrB,IAAI,SAAS;CACd;AAED,aAAK,yBAAyB,GAAG;IAC/B,IAAI,EAAE,aAAa,CAAC,QAAQ,CAAC;IAC7B,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,aAAK,qBAAqB,GAAG;IAC3B,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC;IACzB,cAAc,EAAE,wBAAwB,CAAC;CAC1C,CAAC;AAEF,aAAK,iBAAiB,GAAG,yBAAyB,GAAG,qBAAqB,CAAC;AAE3E,aAAK,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI;IACjB,SAAS,EAAE,yBAAyB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3C,YAAY,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACxC,UAAU,EAAE,UAAU,GAAG,SAAS,CAAC;IACnC,iBAAiB,EAAE,iBAAiB,GAAG,SAAS,CAAC;IACjD,WAAW,EAAE,uBAAuB,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC;CACxD,CAAC;AAEF,oBAAY,WAAW,GAAG;IAAC,QAAQ,EAAE,UAAU,CAAA;CAAC,CAAC;AAEjD,MAAM,CAAC,OAAO,OAAO,YAAY,CAAC,CAAC,EAAE,CAAC,CAAE,SAAQ,cAAc;IAC5D,MAAM,CAAC,YAAY;;;;;;;;;;;;;;MAcjB;IACF,KAAK,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC;gBAEZ,KAAK,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC;IAmCjD,eAAe;IAUf,cAAc,CAAC,EAAC,IAAI,EAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAoB1C,OAAO,CAAC,sBAAsB;IAc9B,OAAO,CAAC,mBAAmB;IAI3B,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO;IAavD,WAAW,CAAC,EAAC,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IA2BtE,OAAO,CAAC,iBAAiB;IAiCzB,OAAO,CAAC,gBAAgB;YAQV,2BAA2B;IA4EzC,OAAO,CAAC,qBAAqB;IA6C7B,YAAY,IAAI,KAAK,CAAC,GAAG,CAAC;CAiG3B"}
1
+ {"version":3,"file":"FlowmapLayer.d.ts","sourceRoot":"","sources":["../src/FlowmapLayer.ts"],"names":[],"mappings":"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"}
@@ -24,7 +24,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
24
24
  *
25
25
  */
26
26
  import { CompositeLayer } from '@deck.gl/core';
27
- import { ScatterplotLayer } from '@deck.gl/layers';
27
+ import { ScatterplotLayer, TextLayer } from '@deck.gl/layers';
28
28
  import { colorAsRgba, getFlowLineAttributesByIndex, getFlowmapColors, getOuterCircleRadiusByIndex, getLocationCoordsByIndex, isFlowmapData, isFlowmapDataProvider, LocalFlowmapDataProvider, FlowmapAggregateAccessors, } from '@flowmap.gl/data';
29
29
  import AnimatedFlowLinesLayer from './AnimatedFlowLinesLayer';
30
30
  import FlowCirclesLayer from './FlowCirclesLayer';
@@ -141,9 +141,10 @@ export default class FlowmapLayer extends CompositeLayer {
141
141
  }
142
142
  }
143
143
  _getSettingsState() {
144
- const { locationTotalsEnabled, adaptiveScalesEnabled, animationEnabled, clusteringEnabled, clusteringLevel, fadeEnabled, fadeOpacityEnabled, clusteringAuto, darkMode, fadeAmount, colorScheme, highlightColor, maxTopFlowsDisplayNum, } = this.props;
144
+ const { locationTotalsEnabled, locationLabelsEnabled, adaptiveScalesEnabled, animationEnabled, clusteringEnabled, clusteringLevel, fadeEnabled, fadeOpacityEnabled, clusteringAuto, darkMode, fadeAmount, colorScheme, highlightColor, maxTopFlowsDisplayNum, } = this.props;
145
145
  return {
146
146
  locationTotalsEnabled,
147
+ locationLabelsEnabled,
147
148
  adaptiveScalesEnabled,
148
149
  animationEnabled,
149
150
  clusteringEnabled,
@@ -253,7 +254,7 @@ export default class FlowmapLayer extends CompositeLayer {
253
254
  const layers = [];
254
255
  if ((_a = this.state) === null || _a === void 0 ? void 0 : _a.layersData) {
255
256
  const { layersData, highlightedObject } = this.state;
256
- const { circleAttributes, lineAttributes } = layersData || {};
257
+ const { circleAttributes, lineAttributes, locationLabels } = layersData || {};
257
258
  if (circleAttributes && lineAttributes) {
258
259
  const flowmapColors = getFlowmapColors(this._getSettingsState());
259
260
  const outlineColor = colorAsRgba(flowmapColors.outlineColor || (this.props.darkMode ? '#000' : '#fff'));
@@ -310,6 +311,29 @@ export default class FlowmapLayer extends CompositeLayer {
310
311
  }
311
312
  }
312
313
  }
314
+ if (locationLabels) {
315
+ layers.push(new TextLayer(this.getSubLayerProps({
316
+ id: 'location-labels',
317
+ data: locationLabels,
318
+ maxWidth: 1000,
319
+ pickable: false,
320
+ fontFamily: 'Helvetica',
321
+ getPixelOffset: (d, { index }) => {
322
+ const r = getOuterCircleRadiusByIndex(circleAttributes, index);
323
+ return [0, r + 5];
324
+ },
325
+ getPosition: (d, { index }) => {
326
+ const pos = getLocationCoordsByIndex(circleAttributes, index);
327
+ return pos;
328
+ },
329
+ getText: (d) => d,
330
+ getSize: 10,
331
+ getColor: [255, 255, 255, 255],
332
+ getAngle: 0,
333
+ getTextAnchor: 'middle',
334
+ getAlignmentBaseline: 'top',
335
+ })));
336
+ }
313
337
  }
314
338
  return layers;
315
339
  }
@@ -318,6 +342,7 @@ FlowmapLayer.defaultProps = {
318
342
  darkMode: true,
319
343
  fadeAmount: 50,
320
344
  locationTotalsEnabled: true,
345
+ locationLabelsEnabled: false,
321
346
  animationEnabled: false,
322
347
  clusteringEnabled: true,
323
348
  fadeEnabled: true,
@@ -341,4 +366,4 @@ function pickViewportProps(viewport) {
341
366
  bearing,
342
367
  };
343
368
  }
344
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmxvd21hcExheWVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL0Zsb3dtYXBMYXllci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFDSCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzdDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFDTCxXQUFXLEVBS1gsNEJBQTRCLEVBQzVCLGdCQUFnQixFQUNoQiwyQkFBMkIsRUFDM0Isd0JBQXdCLEVBQ3hCLGFBQWEsRUFDYixxQkFBcUIsRUFFckIsd0JBQXdCLEVBRXhCLHlCQUF5QixHQUUxQixNQUFNLGtCQUFrQixDQUFDO0FBQzFCLE9BQU8sc0JBQXNCLE1BQU0sMEJBQTBCLENBQUM7QUFDOUQsT0FBTyxnQkFBZ0IsTUFBTSxvQkFBb0IsQ0FBQztBQUNsRCxPQUFPLGNBQWMsTUFBTSxrQkFBa0IsQ0FBQztBQUM5QyxPQUFPLEVBSUwsV0FBVyxHQUNaLE1BQU0sU0FBUyxDQUFDO0FBMkJqQixJQUFLLGFBR0o7QUFIRCxXQUFLLGFBQWE7SUFDaEIsc0NBQXFCLENBQUE7SUFDckIsOEJBQWEsQ0FBQTtBQUNmLENBQUMsRUFISSxhQUFhLEtBQWIsYUFBYSxRQUdqQjtBQXlCRCxNQUFNLENBQUMsT0FBTyxPQUFPLFlBQW1CLFNBQVEsY0FBYztJQWtCNUQsWUFBbUIsS0FBOEI7UUFDL0MsS0FBSyxpQ0FDQSxLQUFLLEtBQ1IsWUFBWSxFQUFFO2dCQUNaLDhFQUE4RTtnQkFDOUUsWUFBWSxFQUFFLEtBQUssQ0FBQyxZQUFZO2FBQ2pDLEVBQ0QsT0FBTyxFQUFFLENBQUMsSUFBc0IsRUFBRSxLQUFrQixFQUFFLEVBQUU7Z0JBQ3RELHNEQUFzRDtnQkFDdEQsNERBQTREO2dCQUM1RCxZQUFZO2dCQUNaLElBQUk7Z0JBQ0osSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFD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Q0FDakIsUUFBUSxFQUFFLEtBQUs7Z0NBQ2YsWUFBWSxFQUFFLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQztnQ0FDcEQsZ0JBQWdCLEVBQUUsQ0FBQzs2QkFDcEIsQ0FBQyxFQUNGLENBQ0gsQ0FBQzs0QkFDRixNQUFNO3FCQUNUO2lCQUNGO2FBQ0Y7U0FDRjtRQUVELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7O0FBOVlNLHlCQUFZLEdBQUc7SUFDcEIsUUFBUSxFQUFFLElBQUk7SUFDZCxVQUFVLEVBQUUsRUFBRTtJQUNkLHFCQUFxQixFQUFFLElBQUk7SUFDM0IsZ0JBQWdCLEVBQUUsS0FBSztJQUN2QixpQkFBaUIsRUFBRSxJQUFJO0lBQ3ZCLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLGtCQUFrQixFQUFFLEtBQUs7SUFDekIsY0FBYyxFQUFFLElBQUk7SUFDcEIsZUFBZSxFQUFFLFNBQVM7SUFDMUIscUJBQXFCLEVBQUUsSUFBSTtJQUMzQixXQUFXLEVBQUUsTUFBTTtJQUNuQixjQUFjLEVBQUUsUUFBUTtJQUN4QixxQkFBcUIsRUFBRSxJQUFJO0NBQzVCLENBQUM7QUFtWUosU0FBUyxpQkFBaUIsQ0FBQyxRQUE2QjtJQUN0RCxNQUFNLEVBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFDLEdBQUcsUUFBUSxDQUFDO0lBQzVFLE9BQU87UUFDTCxLQUFLO1FBQ0wsTUFBTTtRQUNOLFNBQVM7UUFDVCxRQUFRO1FBQ1IsSUFBSTtRQUNKLEtBQUs7UUFDTCxPQUFPO0tBQ1IsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMjIgRmxvd21hcEJsdWVcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqXG4gKi9cbmltcG9ydCB7Q29tcG9zaXRlTGF5ZXJ9IGZyb20gJ0BkZWNrLmdsL2NvcmUnO1xuaW1wb3J0IHtTY2F0dGVycGxvdExheWVyfSBmcm9tICdAZGVjay5nbC9sYXllcnMnO1xuaW1wb3J0IHtcbiAgY29sb3JBc1JnYmEsXG4gIEZsb3dMaW5lc0xheWVyQXR0cmlidXRlcyxcbiAgRmxvd21hcERhdGEsXG4gIEZsb3dtYXBEYXRhQWNjZXNzb3JzLFxuICBGbG93bWFwRGF0YVByb3ZpZGVyLFxuICBnZXRGbG93TGluZUF0dHJpYnV0ZXNCeUluZGV4LFxuICBnZXRGbG93bWFwQ29sb3JzLFxuICBnZXRPdXRlckNpcmNsZVJhZGl1c0J5SW5kZXgsXG4gIGdldExvY2F0aW9uQ29vcmRzQnlJbmRleCxcbiAgaXNGbG93bWFwRGF0YSxcbiAgaXNGbG93bWFwRGF0YVByb3ZpZGVyLFxuICBMYXllcnNEYXRhLFxuICBMb2NhbEZsb3dtYXBEYXRhUHJvdmlkZXIsXG4gIFZpZXdwb3J0UHJvcHMsXG4gIEZsb3dtYXBBZ2dyZWdhdGVBY2Nlc3NvcnMsXG4gIEZpbHRlclN0YXRlLFxufSBmcm9tICdAZmxvd21hcC5nbC9kYXRhJztcbmltcG9ydCBBbmltYXRlZEZsb3dMaW5lc0xheWVyIGZyb20gJy4vQW5pbWF0ZWRGbG93TGluZXNMYXllcic7XG5pbXBvcnQgRmxvd0NpcmNsZXNMYXllciBmcm9tICcuL0Zsb3dDaXJjbGVzTGF5ZXInO1xuaW1wb3J0IEZsb3dMaW5lc0xheWVyIGZyb20gJy4vRmxvd0xpbmVzTGF5ZXInO1xuaW1wb3J0IHtcbiAgRmxvd21hcExheWVyUGlja2luZ0luZm8sXG4gIExheWVyUHJvcHMsXG4gIFBpY2tpbmdJbmZvLFxuICBQaWNraW5nVHlwZSxcbn0gZnJvbSAnLi90eXBlcyc7XG5cbmV4cG9ydCB0eXBlIEZsb3dtYXBMYXllclByb3BzPEwsIEY+ID0ge1xuICBkYXRhPzogRmxvd21hcERhdGE8TCwgRj47XG4gIGRhdGFQcm92aWRlcj86IEZsb3dtYXBEYXRhUHJvdmlkZXI8TCwgRj47XG4gIGZpbHRlcj86IEZpbHRlclN0YXRlO1xuICBsb2NhdGlvblRvdGFsc0VuYWJsZWQ/OiBib29sZWFuO1xuICBhZGFwdGl2ZVNjYWxlc0VuYWJsZWQ/OiBib29sZWFuO1xuICBhbmltYXRpb25FbmFibGVkPzogYm9vbGVhbjtcbiAgY2x1c3RlcmluZ0VuYWJsZWQ/OiBib29sZWFuO1xuICBjbHVzdGVyaW5nTGV2ZWw/OiBudW1iZXI7XG4gIGZhZGVFbmFibGVkPzogYm9vbGVhbjtcbiAgZmFkZU9wYWNpdHlFbmFibGVkPzogYm9vbGVhbjtcbiAgY2x1c3RlcmluZ0F1dG8/OiBib29sZWFuO1xuICBkYXJrTW9kZT86IGJvb2xlYW47XG4gIGZhZGVBbW91bnQ/OiBudW1iZXI7XG4gIGNvbG9yU2NoZW1lPzogc3RyaW5nIHwgc3RyaW5nW107XG4gIGhpZ2hsaWdodENvbG9yPzogc3RyaW5nIHwgbnVtYmVyW107XG4gIG1heFRvcEZsb3dzRGlzcGxheU51bT86IG51bWJlcjtcbiAgb25Ib3Zlcj86IChcbiAgICBpbmZvOiBGbG93bWFwTGF5ZXJQaWNraW5nSW5mbzxMLCBGPiB8IHVuZGVmaW5lZCxcbiAgICBldmVudDogU291cmNlRXZlbnQsXG4gICkgPT4gdm9pZDtcbiAgb25DbGljaz86IChpbmZvOiBGbG93bWFwTGF5ZXJQaWNraW5nSW5mbzxMLCBGPiwgZXZlbnQ6IFNvdXJjZUV2ZW50KSA9PiB2b2lkO1xufSAmIFBhcnRpYWw8Rmxvd21hcERhdGFBY2Nlc3NvcnM8TCwgRj4+ICZcbiAgTGF5ZXJQcm9wcztcblxuZW51bSBIaWdobGlnaHRUeXBlIHtcbiAgTE9DQVRJT04gPSAnbG9jYXRpb24nLFxuICBGTE9XID0gJ2Zsb3cnLFxufVxuXG50eXBlIEhpZ2hsaWdodGVkTG9jYXRpb25PYmplY3QgPSB7XG4gIHR5cGU6IEhpZ2hsaWdodFR5cGUuTE9DQVRJT047XG4gIGNvb3JkczogW251bWJlciwgbnVtYmVyXTtcbiAgcmFkaXVzOiBudW1iZXI7XG59O1xuXG50eXBlIEhpZ2hsaWdodGVkRmxvd09iamVjdCA9IHtcbiAgdHlwZTogSGlnaGxpZ2h0VHlwZS5GTE9XO1xuICBsaW5lQXR0cmlidXRlczogRmxvd0xpbmVzTGF5ZXJBdHRyaWJ1dGVzO1xufTtcblxudHlwZSBIaWdobGlnaHRlZE9iamVjdCA9IEhpZ2hsaWdodGVkTG9jYXRpb25PYmplY3QgfCBIaWdobGlnaHRlZEZsb3dPYmplY3Q7XG5cbnR5cGUgU3RhdGU8TCwgRj4gPSB7XG4gIGFjY2Vzc29yczogRmxvd21hcEFnZ3JlZ2F0ZUFjY2Vzc29yczxMLCBGPjtcbiAgZGF0YVByb3ZpZGVyOiBGbG93bWFwRGF0YVByb3ZpZGVyPEwsIEY+O1xuICBsYXllcnNEYXRhOiBMYXllcnNEYXRhIHwgdW5kZWZpbmVkO1xuICBoaWdobGlnaHRlZE9iamVjdDogSGlnaGxpZ2h0ZWRPYmplY3QgfCB1bmRlZmluZWQ7XG4gIHBpY2tpbmdJbmZvOiBGbG93bWFwTGF5ZXJQaWNraW5nSW5mbzxMLCBGPiB8IHVuZGVmaW5lZDtcbn07XG5cbmV4cG9ydCB0eXBlIFNvdXJjZUV2ZW50ID0ge3NyY0V2ZW50OiBNb3VzZUV2ZW50fTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRmxvd21hcExheWVyPEwsIEY+IGV4dGVuZHMgQ29tcG9zaXRlTGF5ZXIge1xuICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgIGRhcmtNb2RlOiB0cnVlLFxuICAgIGZhZGVBbW91bnQ6IDUwLFxuICAgIGxvY2F0aW9uVG90YWxzRW5hYmxlZDogdHJ1ZSxcbiAgICBhbmltYXRpb25FbmFibGVkOiBmYWxzZSxcbiAgICBjbHVzdGVyaW5nRW5hYmxlZDogdHJ1ZSxcbiAgICBmYWRlRW5hYmxlZDogdHJ1ZSxcbiAgICBmYWRlT3BhY2l0eUVuYWJsZWQ6IGZhbHNlLFxuICAgIGNsdXN0ZXJpbmdBdXRvOiB0cnVlLFxuICAgIGNsdXN0ZXJpbmdMZXZlbDogdW5kZWZpbmVkLFxuICAgIGFkYXB0aXZlU2NhbGVzRW5hYmxlZDogdHJ1ZSxcbiAgICBjb2xvclNjaGVtZTogJ1RlYWwnLFxuICAgIGhpZ2hsaWdodENvbG9yOiAnb3JhbmdlJyxcbiAgICBtYXhUb3BGbG93c0Rpc3BsYXlOdW06IDUwMDAsXG4gIH07XG4gIHN0YXRlOiBTdGF0ZTxMLCBGPiB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgY29uc3RydWN0b3IocHJvcHM6IEZsb3dtYXBMYXllclByb3BzPEwsIEY+KSB7XG4gICAgc3VwZXIoe1xuICAgICAgLi4ucHJvcHMsXG4gICAgICBkYXRhUHJvdmlkZXI6IHtcbiAgICAgICAgLy8gVG8gYXZvaWQgZGVjay5nbCBwcm9wcyBkaWZmaW5nIG9uIGNvbWxpbmsgd29ya2VyIHByb3h5IGNhdXNpbmcgYW4gZXhjZXB0aW9uXG4gICAgICAgIGRhdGFQcm92aWRlcjogcHJvcHMuZGF0YVByb3ZpZGVyLFxuICAgICAgfSxcbiAgICAgIG9uSG92ZXI6IChpbmZvOiBQaWNraW5nSW5mbzxhbnk+LCBldmVudDogU291cmNlRXZlbnQpID0+IHtcbiAgICAgICAgLy8gVE9ETzogaWYgKGxhc3RIb3ZlckV2ZW50U3RhcnRUaW1lUmVmID4gc3RhcnRUaW1lKSB7XG4gICAgICAgIC8vICAgLy8gU2tpcHBpbmcsIGJlY2F1c2UgdGhpcyBpcyBub3QgdGhlIGxhdGVzdCBob3ZlciBldmVudFxuICAgICAgICAvLyAgIHJldHVybjtcbiAgICAgICAgLy8gfVxuICAgICAgICB0aGlzLnNldFN0YXRlKHtoaWdobGlnaHRlZE9iamVjdDogdGhpcy5fZ2V0SGlnaGxpZ2h0ZWRPYmplY3QoaW5mbyl9KTtcbiAgICAgICAgY29uc3Qge29uSG92ZXJ9ID0gcHJvcHM7XG4gICAgICAgIGlmIChvbkhvdmVyKSB7XG4gICAgICAgICAgdGhpcy5fZ2V0Rmxvd21hcExheWVyUGlja2luZ0luZm8oaW5mbykudGhlbigoaW5mbykgPT4ge1xuICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7cGlja2luZ0luZm86IGluZm99KTtcbiAgICAgICAgICAgIG9uSG92ZXIoaW5mbywgZXZlbnQpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgb25DbGljazogKGluZm86IFBpY2tpbmdJbmZvPGFueT4sIGV2ZW50OiBTb3VyY2VFdmVudCkgPT4ge1xuICAgICAgICBjb25zdCB7b25DbGlja30gPSBwcm9wcztcbiAgICAgICAgaWYgKG9uQ2xpY2spIHtcbiAgICAgICAgICB0aGlzLl9nZXRGbG93bWFwTGF5ZXJQaWNraW5nSW5mbyhpbmZvKS50aGVuKChpbmZvKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNldFN0YXRlKHtwaWNraW5nSW5mbzogaW5mb30pO1xuICAgICAgICAgICAgaWYgKGluZm8pIHtcbiAgICAgICAgICAgICAgb25DbGljayhpbmZvLCBldmVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICBpbml0aWFsaXplU3RhdGUoKSB7XG4gICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgIGFjY2Vzc29yczogbmV3IEZsb3dtYXBBZ2dyZWdhdGVBY2Nlc3NvcnM8TCwgRj4odGhpcy5wcm9wcyksXG4gICAgICBkYXRhUHJvdmlkZXI6IHRoaXMuX2dldE9yTWFrZURhdGFQcm92aWRlcigpLFxuICAgICAgbGF5ZXJzRGF0YTogdW5kZWZpbmVkLFxuICAgICAgaGlnaGxpZ2h0ZWRPYmplY3Q6IHVuZGVmaW5lZCxcbiAgICAgIHBpY2tpbmdJbmZvOiB1bmRlZmluZWQsXG4gICAgfTtcbiAgfVxuXG4gIGdldFBpY2tpbmdJbmZvKHtpbmZvfTogUmVjb3JkPHN0cmluZywgYW55Pikge1xuICAgIC8vIFRoaXMgaXMgZm9yIG9uSG92ZXIgZXZlbnQgaGFuZGxlcnMgc2V0IG9uIHRoZSA8RGVja0dMPiBjb21wb25lbnRcbiAgICBpZiAoIWluZm8ub2JqZWN0KSB7XG4gICAgICBjb25zdCBvYmplY3QgPSB0aGlzLnN0YXRlPy5waWNraW5nSW5mbz8ub2JqZWN0O1xuICAgICAgaWYgKG9iamVjdCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLmluZm8sXG4gICAgICAgICAgb2JqZWN0LFxuICAgICAgICAgIHBpY2tlZDogdHJ1ZSxcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGluZm87XG4gIH1cblxuICAvLyBwcml2YXRlIF91cGRhdGVBY2Nlc3NvcnMoKSB7XG4gIC8vICAgdGhpcy5zdGF0ZT8uZGF0YVByb3ZpZGVyPy5zZXRBY2Nlc3NvcnModGhpcy5wcm9wcyk7XG4gIC8vICAgdGhpcy5zZXRTdGF0ZSh7YWNjZXNzb3JzOiBuZXcgRmxvd21hcEFnZ3JlZ2F0ZUFjY2Vzc29ycyh0aGlzLnByb3BzKX0pO1xuICAvLyB9XG5cbiAgcHJpdmF0ZSBfZ2V0T3JNYWtlRGF0YVByb3ZpZGVyKCkge1xuICAgIGNvbnN0IHtkYXRhLCBkYXRhUHJvdmlkZXJ9ID0gdGhpcy5wcm9wcztcbiAgICBpZiAoaXNGbG93bWFwRGF0YVByb3ZpZGVyPEwsIEY+KGRhdGFQcm92aWRlcj8uZGF0YVByb3ZpZGVyKSkge1xuICAgICAgcmV0dXJuIGRhdGFQcm92aWRlci5kYXRhUHJvdmlkZXI7XG4gICAgfSBlbHNlIGlmIChpc0Zsb3dtYXBEYXRhPEwsIEY+KGRhdGEpKSB7XG4gICAgICBjb25zdCBkYXRhUHJvdmlkZXIgPSBuZXcgTG9jYWxGbG93bWFwRGF0YVByb3ZpZGVyPEwsIEY+KHRoaXMucHJvcHMpO1xuICAgICAgZGF0YVByb3ZpZGVyLnNldEZsb3dtYXBEYXRhKGRhdGEpO1xuICAgICAgcmV0dXJuIGRhdGFQcm92aWRlcjtcbiAgICB9XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgJ0Zsb3dtYXBMYXllcjogZGF0YSBtdXN0IGJlIGEgRmxvd21hcERhdGFQcm92aWRlciBvciBGbG93bWFwRGF0YScsXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX3VwZGF0ZURhdGFQcm92aWRlcigpIHtcbiAgICB0aGlzLnNldFN0YXRlKHtkYXRhUHJvdmlkZXI6IHRoaXMuX2dldE9yTWFrZURhdGFQcm92aWRlcigpfSk7XG4gIH1cblxuICBzaG91bGRVcGRhdGVTdGF0ZShwYXJhbXM6IFJlY29yZDxzdHJpbmcsIGFueT4pOiBib29sZWFuIHtcbiAgICBjb25zdCB7Y2hhbmdlRmxhZ3N9ID0gcGFyYW1zO1xuICAgIC8vIGlmICh0aGlzLl92aWV3cG9ydENoYW5nZWQoKSkge1xuICAgIC8vICAgcmV0dXJuIHRydWU7XG4gICAgLy8gfVxuICAgIGlmIChjaGFuZ2VGbGFncy52aWV3cG9ydENoYW5nZWQpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gc3VwZXIuc2hvdWxkVXBkYXRlU3RhdGUocGFyYW1zKTtcbiAgICAvLyBUT0RPOiBiZSBzbWFydGVyIG9uIHdoZW4gdG8gdXBkYXRlXG4gICAgLy8gKGUuZy4gaWdub3JlIHZpZXdwb3J0IGNoYW5nZXMgd2hlbiBhZGFwdGl2ZVNjYWxlc0VuYWJsZWQgYW5kIGNsdXN0ZXJpbmcgYXJlIGZhbHNlKVxuICB9XG5cbiAgdXBkYXRlU3RhdGUoe29sZFByb3BzLCBwcm9wcywgY2hhbmdlRmxhZ3N9OiBSZWNvcmQ8c3RyaW5nLCBhbnk+KTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZUZsYWdzLnByb3BzQ2hhbmdlZCkge1xuICAgICAgLy8gdGhpcy5fdXBkYXRlQWNjZXNzb3JzKCk7XG4gICAgfVxuICAgIGlmIChjaGFuZ2VGbGFncy5kYXRhQ2hhbmdlZCkge1xuICAgICAgdGhpcy5fdXBkYXRlRGF0YVByb3ZpZGVyKCk7XG4gICAgfVxuICAgIGlmIChjaGFuZ2VGbGFncy52aWV3cG9ydENoYW5nZWQgfHwgY2hhbmdlRmxhZ3MuZGF0YUNoYW5nZWQpIHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICBoaWdobGlnaHRlZE9iamVjdDogdW5kZWZpbmVkLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgY2hhbmdlRmxhZ3Mudmlld3BvcnRDaGFuZ2VkIHx8XG4gICAgICBjaGFuZ2VGbGFncy5wcm9wc09yRGF0YUNoYW5nZWQgLy8gVE9ETyBjYW4gd2UgaWdub3JlIGFjY2Vzc29yIHByb3BzIGNoYW5nZXM/XG4gICAgKSB7XG4gICAgICBjb25zdCB7ZGF0YVByb3ZpZGVyfSA9IHRoaXMuc3RhdGUgfHwge307XG4gICAgICBpZiAoZGF0YVByb3ZpZGVyKSB7XG4gICAgICAgIGRhdGFQcm92aWRlci5zZXRGbG93bWFwU3RhdGUodGhpcy5fZ2V0Rmxvd21hcFN0YXRlKCkpO1xuICAgICAgICBkYXRhUHJvdmlkZXIudXBkYXRlTGF5ZXJzRGF0YSgobGF5ZXJzRGF0YTogTGF5ZXJzRGF0YSB8IHVuZGVmaW5lZCkgPT4ge1xuICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe2xheWVyc0RhdGF9KTtcbiAgICAgICAgfSwgY2hhbmdlRmxhZ3MpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2dldFNldHRpbmdzU3RhdGUoKSB7XG4gICAgY29uc3Qge1xuICAgICAgbG9jYXRpb25Ub3RhbHNFbmFibGVkLFxuICAgICAgYWRhcHRpdmVTY2FsZXNFbmFibGVkLFxuICAgICAgYW5pbWF0aW9uRW5hYmxlZCxcbiAgICAgIGNsdXN0ZXJpbmdFbmFibGVkLFxuICAgICAgY2x1c3RlcmluZ0xldmVsLFxuICAgICAgZmFkZUVuYWJsZWQsXG4gICAgICBmYWRlT3BhY2l0eUVuYWJsZWQsXG4gICAgICBjbHVzdGVyaW5nQXV0byxcbiAgICAgIGRhcmtNb2RlLFxuICAgICAgZmFkZUFtb3VudCxcbiAgICAgIGNvbG9yU2NoZW1lLFxuICAgICAgaGlnaGxpZ2h0Q29sb3IsXG4gICAgICBtYXhUb3BGbG93c0Rpc3BsYXlOdW0sXG4gICAgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIHtcbiAgICAgIGxvY2F0aW9uVG90YWxzRW5hYmxlZCxcbiAgICAgIGFkYXB0aXZlU2NhbGVzRW5hYmxlZCxcbiAgICAgIGFuaW1hdGlvbkVuYWJsZWQsXG4gICAgICBjbHVzdGVyaW5nRW5hYmxlZCxcbiAgICAgIGNsdXN0ZXJpbmdMZXZlbCxcbiAgICAgIGZhZGVFbmFibGVkLFxuICAgICAgZmFkZU9wYWNpdHlFbmFibGVkLFxuICAgICAgY2x1c3RlcmluZ0F1dG8sXG4gICAgICBkYXJrTW9kZSxcbiAgICAgIGZhZGVBbW91bnQsXG4gICAgICBjb2xvclNjaGVtZSxcbiAgICAgIGhpZ2hsaWdodENvbG9yLFxuICAgICAgbWF4VG9wRmxvd3NEaXNwbGF5TnVtLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIF9nZXRGbG93bWFwU3RhdGUoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHZpZXdwb3J0OiBwaWNrVmlld3BvcnRQcm9wcyh0aGlzLmNvbnRleHQudmlld3BvcnQpLFxuICAgICAgZmlsdGVyOiB0aGlzLnByb3BzLmZpbHRlcixcbiAgICAgIHNldHRpbmdzOiB0aGlzLl9nZXRTZXR0aW5nc1N0YXRlKCksXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgX2dldEZsb3dtYXBMYXllclBpY2tpbmdJbmZvKFxuICAgIGluZm86IFJlY29yZDxzdHJpbmcsIGFueT4sXG4gICk6IFByb21pc2U8Rmxvd21hcExheWVyUGlja2luZ0luZm88TCwgRj4gfCB1bmRlZmluZWQ+IHtcbiAgICBjb25zdCB7aW5kZXgsIHNvdXJjZUxheWVyfSA9IGluZm87XG4gICAgY29uc3Qge2RhdGFQcm92aWRlciwgYWNjZXNzb3JzfSA9IHRoaXMuc3RhdGUgfHwge307XG4gICAgaWYgKCFkYXRhUHJvdmlkZXIgfHwgIWFjY2Vzc29ycykge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gICAgY29uc3QgY29tbW9uSW5mbyA9IHtcbiAgICAgIC4uLmluZm8sXG4gICAgICBwaWNrZWQ6IGluZm8ucGlja2VkLFxuICAgICAgbGF5ZXI6IGluZm8ubGF5ZXIsXG4gICAgICBpbmRleDogaW5mby5pbmRleCxcbiAgICAgIHg6IGluZm8ueCxcbiAgICAgIHk6IGluZm8ueSxcbiAgICAgIGNvb3JkaW5hdGU6IGluZm8uY29vcmRpbmF0ZSxcbiAgICAgIGV2ZW50OiBpbmZvLmV2ZW50LFxuICAgIH07XG4gICAgaWYgKFxuICAgICAgc291cmNlTGF5ZXIgaW5zdGFuY2VvZiBGbG93TGluZXNMYXllciB8fFxuICAgICAgc291cmNlTGF5ZXIgaW5zdGFuY2VvZiBBbmltYXRlZEZsb3dMaW5lc0xheWVyXG4gICAgKSB7XG4gICAgICBjb25zdCBmbG93ID1cbiAgICAgICAgaW5kZXggPT09IC0xID8gdW5kZWZpbmVkIDogYXdhaXQgZGF0YVByb3ZpZGVyLmdldEZsb3dCeUluZGV4KGluZGV4KTtcbiAgICAgIGlmIChmbG93KSB7XG4gICAgICAgIGNvbnN0IG9yaWdpbiA9IGF3YWl0IGRhdGFQcm92aWRlci5nZXRMb2NhdGlvbkJ5SWQoXG4gICAgICAgICAgYWNjZXNzb3JzLmdldEZsb3dPcmlnaW5JZChmbG93KSxcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgZGVzdCA9IGF3YWl0IGRhdGFQcm92aWRlci5nZXRMb2NhdGlvbkJ5SWQoXG4gICAgICAgICAgYWNjZXNzb3JzLmdldEZsb3dEZXN0SWQoZmxvdyksXG4gICAgICAgICk7XG4gICAgICAgIGlmIChvcmlnaW4gJiYgZGVzdCkge1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5jb21tb25JbmZvLFxuICAgICAgICAgICAgb2JqZWN0OiB7XG4gICAgICAgICAgICAgIHR5cGU6IFBpY2tpbmdUeXBlLkZMT1csXG4gICAgICAgICAgICAgIGZsb3csXG4gICAgICAgICAgICAgIG9yaWdpbjogb3JpZ2luLFxuICAgICAgICAgICAgICBkZXN0OiBkZXN0LFxuICAgICAgICAgICAgICBjb3VudDogYWNjZXNzb3JzLmdldEZsb3dNYWduaXR1ZGUoZmxvdyksXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHNvdXJjZUxheWVyIGluc3RhbmNlb2YgRmxvd0NpcmNsZXNMYXllcikge1xuICAgICAgY29uc3QgbG9jYXRpb24gPVxuICAgICAgICBpbmRleCA9PT0gLTEgPyB1bmRlZmluZWQgOiBhd2FpdCBkYXRhUHJvdmlkZXIuZ2V0TG9jYXRpb25CeUluZGV4KGluZGV4KTtcblxuICAgICAgaWYgKGxvY2F0aW9uKSB7XG4gICAgICAgIGNvbnN0IGlkID0gYWNjZXNzb3JzLmdldExvY2F0aW9uSWQobG9jYXRpb24pO1xuICAgICAgICBjb25zdCBuYW1lID0gYWNjZXNzb3JzLmdldExvY2F0aW9uTmFtZShsb2NhdGlvbik7XG4gICAgICAgIGNvbnN0IHRvdGFscyA9IGF3YWl0IGRhdGFQcm92aWRlci5nZXRUb3RhbHNGb3JMb2NhdGlvbihpZCk7XG4gICAgICAgIGNvbnN0IHtjaXJjbGVBdHRyaWJ1dGVzfSA9IHRoaXMuc3RhdGU/LmxheWVyc0RhdGEgfHwge307XG4gICAgICAgIGlmICh0b3RhbHMgJiYgY2lyY2xlQXR0cmlidXRlcykge1xuICAgICAgICAgIGNvbnN0IGNpcmNsZVJhZGl1cyA9IGdldE91dGVyQ2lyY2xlUmFkaXVzQnlJbmRleChcbiAgICAgICAgICAgIGNpcmNsZUF0dHJpYnV0ZXMsXG4gICAgICAgICAgICBpbmZvLmluZGV4LFxuICAgICAgICAgICk7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLmNvbW1vbkluZm8sXG4gICAgICAgICAgICBvYmplY3Q6IHtcbiAgICAgICAgICAgICAgdHlwZTogUGlja2luZ1R5cGUuTE9DQVRJT04sXG4gICAgICAgICAgICAgIGxvY2F0aW9uLFxuICAgICAgICAgICAgICBpZCxcbiAgICAgICAgICAgICAgbmFtZSxcbiAgICAgICAgICAgICAgdG90YWxzLFxuICAgICAgICAgICAgICBjaXJjbGVSYWRpdXM6IGNpcmNsZVJhZGl1cyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBwcml2YXRlIF9nZXRIaWdobGlnaHRlZE9iamVjdChcbiAgICBpbmZvOiBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxuICApOiBIaWdobGlnaHRlZE9iamVjdCB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3Qge2luZGV4LCBzb3VyY2VMYXllcn0gPSBpbmZvO1xuICAgIGlmIChpbmRleCA8IDApIHJldHVybiB1bmRlZmluZWQ7XG4gICAgaWYgKFxuICAgICAgc291cmNlTGF5ZXIgaW5zdGFuY2VvZiBGbG93TGluZXNMYXllciB8fFxuICAgICAgc291cmNlTGF5ZXIgaW5zdGFuY2VvZiBBbmltYXRlZEZsb3dMaW5lc0xheWVyXG4gICAgKSB7XG4gICAgICBjb25zdCB7bGluZUF0dHJpYnV0ZXN9ID0gdGhpcy5zdGF0ZT8ubGF5ZXJzRGF0YSB8fCB7fTtcbiAgICAgIGlmIChsaW5lQXR0cmlidXRlcykge1xuICAgICAgICBsZXQgYXR0cnMgPSBnZXRGbG93TGluZUF0dHJpYnV0ZXNCeUluZGV4KGxpbmVBdHRyaWJ1dGVzLCBpbmRleCk7XG4gICAgICAgIGlmICh0aGlzLnByb3BzLmZhZGVPcGFjaXR5RW5hYmxlZCkge1xuICAgICAgICAgIGF0dHJzID0ge1xuICAgICAgICAgICAgLi4uYXR0cnMsXG4gICAgICAgICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgICAgICAgIC4uLmF0dHJzLmF0dHJpYnV0ZXMsXG4gICAgICAgICAgICAgIGdldENvbG9yOiB7XG4gICAgICAgICAgICAgICAgLi4uYXR0cnMuYXR0cmlidXRlcy5nZXRDb2xvcixcbiAgICAgICAgICAgICAgICB2YWx1ZTogbmV3IFVpbnQ4QXJyYXkoW1xuICAgICAgICAgICAgICAgICAgLi4uYXR0cnMuYXR0cmlidXRlcy5nZXRDb2xvci52YWx1ZS5zbGljZSgwLCAzKSxcbiAgICAgICAgICAgICAgICAgIDI1NSwgLy8gdGhlIGhpZ2hsaWdodCBjb2xvciBzaG91bGQgYmUgYWx3YXlzIG9wYXF1ZVxuICAgICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgdHlwZTogSGlnaGxpZ2h0VHlwZS5GTE9XLFxuICAgICAgICAgIGxpbmVBdHRyaWJ1dGVzOiBhdHRycyxcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHNvdXJjZUxheWVyIGluc3RhbmNlb2YgRmxvd0NpcmNsZXNMYXllcikge1xuICAgICAgY29uc3Qge2NpcmNsZUF0dHJpYnV0ZXN9ID0gdGhpcy5zdGF0ZT8ubGF5ZXJzRGF0YSB8fCB7fTtcbiAgICAgIGlmIChjaXJjbGVBdHRyaWJ1dGVzKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgdHlwZTogSGlnaGxpZ2h0VHlwZS5MT0NBVElPTixcbiAgICAgICAgICBjb29yZHM6IGdldExvY2F0aW9uQ29vcmRzQnlJbmRleChjaXJjbGVBdHRyaWJ1dGVzLCBpbmRleCksXG4gICAgICAgICAgcmFkaXVzOiBnZXRPdXRlckNpcmNsZVJhZGl1c0J5SW5kZXgoY2lyY2xlQXR0cmlidXRlcywgaW5kZXgpLFxuICAgICAgICB9O1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgcmVuZGVyTGF5ZXJzKCk6IEFycmF5PGFueT4ge1xuICAgIGNvbnN0IGxheWVycyA9IFtdO1xuICAgIGlmICh0aGlzLnN0YXRlPy5sYXllcnNEYXRhKSB7XG4gICAgICBjb25zdCB7bGF5ZXJzRGF0YSwgaGlnaGxpZ2h0ZWRPYmplY3R9ID0gdGhpcy5zdGF0ZTtcbiAgICAgIGNvbnN0IHtjaXJjbGVBdHRyaWJ1dGVzLCBsaW5lQXR0cmlidXRlc30gPSBsYXllcnNEYXRhIHx8IHt9O1xuICAgICAgaWYgKGNpcmNsZUF0dHJpYnV0ZXMgJiYgbGluZUF0dHJpYnV0ZXMpIHtcbiAgICAgICAgY29uc3QgZmxvd21hcENvbG9ycyA9IGdldEZsb3dtYXBDb2xvcnModGhpcy5fZ2V0U2V0dGluZ3NTdGF0ZSgpKTtcbiAgICAgICAgY29uc3Qgb3V0bGluZUNvbG9yID0gY29sb3JBc1JnYmEoXG4gICAgICAgICAgZmxvd21hcENvbG9ycy5vdXRsaW5lQ29sb3IgfHwgKHRoaXMucHJvcHMuZGFya01vZGUgPyAnIzAwMCcgOiAnI2ZmZicpLFxuICAgICAgICApO1xuICAgICAgICBjb25zdCBjb21tb25MaW5lTGF5ZXJQcm9wcyA9IHtcbiAgICAgICAgICBkYXRhOiBsaW5lQXR0cmlidXRlcyxcbiAgICAgICAgICBwYXJhbWV0ZXJzOiB7XG4gICAgICAgICAgICAuLi50aGlzLnByb3BzLnBhcmFtZXRlcnMsXG4gICAgICAgICAgICAvLyBwcmV2ZW50IHotZmlnaHRpbmcgYXQgbm9uLXplcm8gYmVhcmluZy9waXRjaFxuICAgICAgICAgICAgZGVwdGhUZXN0OiBmYWxzZSxcbiAgICAgICAgICB9LFxuICAgICAgICB9O1xuICAgICAgICBpZiAodGhpcy5wcm9wcy5hbmltYXRpb25FbmFibGVkKSB7XG4gICAgICAgICAgbGF5ZXJzLnB1c2goXG4gICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICBuZXcgQW5pbWF0ZWRGbG93TGluZXNMYXllcih7XG4gICAgICAgICAgICAgIC4uLnRoaXMuZ2V0U3ViTGF5ZXJQcm9wcyh7XG4gICAgICAgICAgICAgICAgLi4uY29tbW9uTGluZUxheWVyUHJvcHMsXG4gICAgICAgICAgICAgICAgaWQ6ICdhbmltYXRlZC1mbG93LWxpbmVzJyxcbiAgICAgICAgICAgICAgICBkcmF3T3V0bGluZTogZmFsc2UsXG4gICAgICAgICAgICAgICAgdGhpY2tuZXNzVW5pdDogMjAsXG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBsYXllcnMucHVzaChcbiAgICAgICAgICAgIG5ldyBGbG93TGluZXNMYXllcih7XG4gICAgICAgICAgICAgIC4uLnRoaXMuZ2V0U3ViTGF5ZXJQcm9wcyh7XG4gICAgICAgICAgICAgICAgLi4uY29tbW9uTGluZUxheWVyUHJvcHMsXG4gICAgICAgICAgICAgICAgaWQ6ICdmbG93LWxpbmVzJyxcbiAgICAgICAgICAgICAgICBkcmF3T3V0bGluZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBvdXRsaW5lQ29sb3I6IG91dGxpbmVDb2xvcixcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIGxheWVycy5wdXNoKFxuICAgICAgICAgIG5ldyBGbG93Q2lyY2xlc0xheWVyKFxuICAgICAgICAgICAgdGhpcy5nZXRTdWJMYXllclByb3BzKHtcbiAgICAgICAgICAgICAgaWQ6ICdjaXJjbGVzJyxcbiAgICAgICAgICAgICAgZGF0YTogY2lyY2xlQXR0cmlidXRlcyxcbiAgICAgICAgICAgICAgZW1wdHlDb2xvcjogdGhpcy5wcm9wcy5kYXJrTW9kZVxuICAgICAgICAgICAgICAgID8gWzAsIDAsIDAsIDI1NV1cbiAgICAgICAgICAgICAgICA6IFsyNTUsIDI1NSwgMjU1LCAyNTVdLFxuICAgICAgICAgICAgICBvdXRsaW5lRW1wdHlNaXg6IDAuNCxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICksXG4gICAgICAgICk7XG4gICAgICAgIGlmIChoaWdobGlnaHRlZE9iamVjdCkge1xuICAgICAgICAgIHN3aXRjaCAoaGlnaGxpZ2h0ZWRPYmplY3QudHlwZSkge1xuICAgICAgICAgICAgY2FzZSBIaWdobGlnaHRUeXBlLkxPQ0FUSU9OOlxuICAgICAgICAgICAgICBsYXllcnMucHVzaChcbiAgICAgICAgICAgICAgICBuZXcgU2NhdHRlcnBsb3RMYXllcih7XG4gICAgICAgICAgICAgICAgICAuLi50aGlzLmdldFN1YkxheWVyUHJvcHMoe1xuICAgICAgICAgICAgICAgICAgICBpZDogJ2xvY2F0aW9uLWhpZ2hsaWdodCcsXG4gICAgICAgICAgICAgICAgICAgIGRhdGE6IFtoaWdobGlnaHRlZE9iamVjdF0sXG4gICAgICAgICAgICAgICAgICAgIHBpY2thYmxlOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgYW50aWFsaWFzaW5nOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICBzdHJva2VkOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICBmaWxsZWQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICBsaW5lV2lkdGhVbml0czogJ3BpeGVscycsXG4gICAgICAgICAgICAgICAgICAgIGdldExpbmVXaWR0aDogMixcbiAgICAgICAgICAgICAgICAgICAgcmFkaXVzVW5pdHM6ICdwaXhlbHMnLFxuICAgICAgICAgICAgICAgICAgICBnZXRSYWRpdXM6IChkOiBIaWdobGlnaHRlZExvY2F0aW9uT2JqZWN0KSA9PiBkLnJhZGl1cyxcbiAgICAgICAgICAgICAgICAgICAgZ2V0TGluZUNvbG9yOiBjb2xvckFzUmdiYSh0aGlzLnByb3BzLmhpZ2hsaWdodENvbG9yKSxcbiAgICAgICAgICAgICAgICAgICAgZ2V0UG9zaXRpb246IChkOiBIaWdobGlnaHRlZExvY2F0aW9uT2JqZWN0KSA9PiBkLmNvb3JkcyxcbiAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgSGlnaGxpZ2h0VHlwZS5GTE9XOlxuICAgICAgICAgICAgICBsYXllcnMucHVzaChcbiAgICAgICAgICAgICAgICBuZXcgRmxvd0xpbmVzTGF5ZXIoe1xuICAgICAgICAgICAgICAgICAgLi4udGhpcy5nZXRTdWJMYXllclByb3BzKHtcbiAgICAgICAgICAgICAgICAgICAgaWQ6ICdmbG93LWhpZ2hsaWdodCcsXG4gICAgICAgICAgICAgICAgICAgIGRhdGE6IGhpZ2hsaWdodGVkT2JqZWN0LmxpbmVBdHRyaWJ1dGVzLFxuICAgICAgICAgICAgICAgICAgICBkcmF3T3V0bGluZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgcGlja2FibGU6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICBvdXRsaW5lQ29sb3I6IGNvbG9yQXNSZ2JhKHRoaXMucHJvcHMuaGlnaGxpZ2h0Q29sb3IpLFxuICAgICAgICAgICAgICAgICAgICBvdXRsaW5lVGhpY2tuZXNzOiAxLFxuICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBsYXllcnM7XG4gIH1cbn1cblxuZnVuY3Rpb24gcGlja1ZpZXdwb3J0UHJvcHModmlld3BvcnQ6IFJlY29yZDxzdHJpbmcsIGFueT4pOiBWaWV3cG9ydFByb3BzIHtcbiAgY29uc3Qge3dpZHRoLCBoZWlnaHQsIGxvbmdpdHVkZSwgbGF0aXR1ZGUsIHpvb20sIHBpdGNoLCBiZWFyaW5nfSA9IHZpZXdwb3J0O1xuICByZXR1cm4ge1xuICAgIHdpZHRoLFxuICAgIGhlaWdodCxcbiAgICBsb25naXR1ZGUsXG4gICAgbGF0aXR1ZGUsXG4gICAgem9vbSxcbiAgICBwaXRjaCxcbiAgICBiZWFyaW5nLFxuICB9O1xufVxuIl19
369
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmxvd21hcExheWVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL0Zsb3dtYXBMYXllci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFDSCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzdDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBRSxTQUFTLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM1RCxPQUFPLEVBQ0wsV0FBVyxFQUtYLDRCQUE0QixFQUM1QixnQkFBZ0IsRUFDaEIsMkJBQTJCLEVBQzNCLHdCQUF3QixFQUN4QixhQUFhLEVBQ2IscUJBQXFCLEVBRXJCLHdCQUF3QixFQUV4Qix5QkFBeUIsR0FFMUIsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLHNCQUFzQixNQUFNLDBCQUEwQixDQUFDO0FBQzlELE9BQU8sZ0JBQWdCLE1BQU0sb0JBQW9CLENBQUM7QUFDbEQsT0FBTyxjQUFjLE1BQU0sa0JBQWtCLENBQUM7QUFDOUMsT0FBTyxFQUlMLFdBQVcsR0FDWixNQUFNLFNBQVMsQ0FBQztBQTRCakIsSUFBSyxhQUdKO0FBSEQsV0FBSyxhQUFhO0lBQ2hCLHNDQUFxQixDQUFBO0lBQ3JCLDhCQUFhLENBQUE7QUFDZixDQUFDLEVBSEksYUFBYSxLQUFiLGFBQWEsUUFHakI7QUF5QkQsTUFBTSxDQUFDLE9BQU8sT0FBTyxZQUFtQixTQUFRLGNBQWM7SUFtQjVELFlBQW1CLEtBQThCO1FBQy9DLEtBQUssaUNBQ0EsS0FBSyxLQUNSLFlBQVksRUFBRTtnQkFDWiw4RUFBOEU7Z0JBQzlFLFlBQVksRUFBRSxLQUFLLENBQUMsWUFBWTthQUNqQyxFQUNELE9BQU8sRUFBRSxDQUFDLElBQXNCLEVBQUUsS0FBa0IsRUFBRSxFQUFFO2dCQUN0RCxzREFBc0Q7Z0JBQ3RELDREQUE0RDtnQkFDNUQsWUFBWTtnQkFDWixJQUFJO2dCQUNKLElBQUksQ0FBQyxRQUFR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QVE7b0JBQ3ZCLG9CQUFvQixFQUFFLEtBQUs7aUJBQzVCLENBQUMsQ0FDSCxDQUNGLENBQUM7YUFDSDtTQUNGO1FBRUQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQzs7QUE3YU0seUJBQVksR0FBRztJQUNwQixRQUFRLEVBQUUsSUFBSTtJQUNkLFVBQVUsRUFBRSxFQUFFO0lBQ2QscUJBQXFCLEVBQUUsSUFBSTtJQUMzQixxQkFBcUIsRUFBRSxLQUFLO0lBQzVCLGdCQUFnQixFQUFFLEtBQUs7SUFDdkIsaUJBQWlCLEVBQUUsSUFBSTtJQUN2QixXQUFXLEVBQUUsSUFBSTtJQUNqQixrQkFBa0IsRUFBRSxLQUFLO0lBQ3pCLGNBQWMsRUFBRSxJQUFJO0lBQ3BCLGVBQWUsRUFBRSxTQUFTO0lBQzFCLHFCQUFxQixFQUFFLElBQUk7SUFDM0IsV0FBVyxFQUFFLE1BQU07SUFDbkIsY0FBYyxFQUFFLFFBQVE7SUFDeEIscUJBQXFCLEVBQUUsSUFBSTtDQUM1QixDQUFDO0FBaWFKLFNBQVMsaUJBQWlCLENBQUMsUUFBNkI7SUFDdEQsTUFBTSxFQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBQyxHQUFHLFFBQVEsQ0FBQztJQUM1RSxPQUFPO1FBQ0wsS0FBSztRQUNMLE1BQU07UUFDTixTQUFTO1FBQ1QsUUFBUTtRQUNSLElBQUk7UUFDSixLQUFLO1FBQ0wsT0FBTztLQUNSLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDIyIEZsb3dtYXBCbHVlXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKlxuICovXG5pbXBvcnQge0NvbXBvc2l0ZUxheWVyfSBmcm9tICdAZGVjay5nbC9jb3JlJztcbmltcG9ydCB7U2NhdHRlcnBsb3RMYXllciwgVGV4dExheWVyfSBmcm9tICdAZGVjay5nbC9sYXllcnMnO1xuaW1wb3J0IHtcbiAgY29sb3JBc1JnYmEsXG4gIEZsb3dMaW5lc0xheWVyQXR0cmlidXRlcyxcbiAgRmxvd21hcERhdGEsXG4gIEZsb3dtYXBEYXRhQWNjZXNzb3JzLFxuICBGbG93bWFwRGF0YVByb3ZpZGVyLFxuICBnZXRGbG93TGluZUF0dHJpYnV0ZXNCeUluZGV4LFxuICBnZXRGbG93bWFwQ29sb3JzLFxuICBnZXRPdXRlckNpcmNsZVJhZGl1c0J5SW5kZXgsXG4gIGdldExvY2F0aW9uQ29vcmRzQnlJbmRleCxcbiAgaXNGbG93bWFwRGF0YSxcbiAgaXNGbG93bWFwRGF0YVByb3ZpZGVyLFxuICBMYXllcnNEYXRhLFxuICBMb2NhbEZsb3dtYXBEYXRhUHJvdmlkZXIsXG4gIFZpZXdwb3J0UHJvcHMsXG4gIEZsb3dtYXBBZ2dyZWdhdGVBY2Nlc3NvcnMsXG4gIEZpbHRlclN0YXRlLFxufSBmcm9tICdAZmxvd21hcC5nbC9kYXRhJztcbmltcG9ydCBBbmltYXRlZEZsb3dMaW5lc0xheWVyIGZyb20gJy4vQW5pbWF0ZWRGbG93TGluZXNMYXllcic7XG5pbXBvcnQgRmxvd0NpcmNsZXNMYXllciBmcm9tICcuL0Zsb3dDaXJjbGVzTGF5ZXInO1xuaW1wb3J0IEZsb3dMaW5lc0xheWVyIGZyb20gJy4vRmxvd0xpbmVzTGF5ZXInO1xuaW1wb3J0IHtcbiAgRmxvd21hcExheWVyUGlja2luZ0luZm8sXG4gIExheWVyUHJvcHMsXG4gIFBpY2tpbmdJbmZvLFxuICBQaWNraW5nVHlwZSxcbn0gZnJvbSAnLi90eXBlcyc7XG5cbmV4cG9ydCB0eXBlIEZsb3dtYXBMYXllclByb3BzPEwsIEY+ID0ge1xuICBkYXRhPzogRmxvd21hcERhdGE8TCwgRj47XG4gIGRhdGFQcm92aWRlcj86IEZsb3dtYXBEYXRhUHJvdmlkZXI8TCwgRj47XG4gIGZpbHRlcj86IEZpbHRlclN0YXRlO1xuICBsb2NhdGlvblRvdGFsc0VuYWJsZWQ/OiBib29sZWFuO1xuICBsb2NhdGlvbkxhYmVsc0VuYWJsZWQ/OiBib29sZWFuO1xuICBhZGFwdGl2ZVNjYWxlc0VuYWJsZWQ/OiBib29sZWFuO1xuICBhbmltYXRpb25FbmFibGVkPzogYm9vbGVhbjtcbiAgY2x1c3RlcmluZ0VuYWJsZWQ/OiBib29sZWFuO1xuICBjbHVzdGVyaW5nTGV2ZWw/OiBudW1iZXI7XG4gIGZhZGVFbmFibGVkPzogYm9vbGVhbjtcbiAgZmFkZU9wYWNpdHlFbmFibGVkPzogYm9vbGVhbjtcbiAgY2x1c3RlcmluZ0F1dG8/OiBib29sZWFuO1xuICBkYXJrTW9kZT86IGJvb2xlYW47XG4gIGZhZGVBbW91bnQ/OiBudW1iZXI7XG4gIGNvbG9yU2NoZW1lPzogc3RyaW5nIHwgc3RyaW5nW107XG4gIGhpZ2hsaWdodENvbG9yPzogc3RyaW5nIHwgbnVtYmVyW107XG4gIG1heFRvcEZsb3dzRGlzcGxheU51bT86IG51bWJlcjtcbiAgb25Ib3Zlcj86IChcbiAgICBpbmZvOiBGbG93bWFwTGF5ZXJQaWNraW5nSW5mbzxMLCBGPiB8IHVuZGVmaW5lZCxcbiAgICBldmVudDogU291cmNlRXZlbnQsXG4gICkgPT4gdm9pZDtcbiAgb25DbGljaz86IChpbmZvOiBGbG93bWFwTGF5ZXJQaWNraW5nSW5mbzxMLCBGPiwgZXZlbnQ6IFNvdXJjZUV2ZW50KSA9PiB2b2lkO1xufSAmIFBhcnRpYWw8Rmxvd21hcERhdGFBY2Nlc3NvcnM8TCwgRj4+ICZcbiAgTGF5ZXJQcm9wcztcblxuZW51bSBIaWdobGlnaHRUeXBlIHtcbiAgTE9DQVRJT04gPSAnbG9jYXRpb24nLFxuICBGTE9XID0gJ2Zsb3cnLFxufVxuXG50eXBlIEhpZ2hsaWdodGVkTG9jYXRpb25PYmplY3QgPSB7XG4gIHR5cGU6IEhpZ2hsaWdodFR5cGUuTE9DQVRJT047XG4gIGNvb3JkczogW251bWJlciwgbnVtYmVyXTtcbiAgcmFkaXVzOiBudW1iZXI7XG59O1xuXG50eXBlIEhpZ2hsaWdodGVkRmxvd09iamVjdCA9IHtcbiAgdHlwZTogSGlnaGxpZ2h0VHlwZS5GTE9XO1xuICBsaW5lQXR0cmlidXRlczogRmxvd0xpbmVzTGF5ZXJBdHRyaWJ1dGVzO1xufTtcblxudHlwZSBIaWdobGlnaHRlZE9iamVjdCA9IEhpZ2hsaWdodGVkTG9jYXRpb25PYmplY3QgfCBIaWdobGlnaHRlZEZsb3dPYmplY3Q7XG5cbnR5cGUgU3RhdGU8TCwgRj4gPSB7XG4gIGFjY2Vzc29yczogRmxvd21hcEFnZ3JlZ2F0ZUFjY2Vzc29yczxMLCBGPjtcbiAgZGF0YVByb3ZpZGVyOiBGbG93bWFwRGF0YVByb3ZpZGVyPEwsIEY+O1xuICBsYXllcnNEYXRhOiBMYXllcnNEYXRhIHwgdW5kZWZpbmVkO1xuICBoaWdobGlnaHRlZE9iamVjdDogSGlnaGxpZ2h0ZWRPYmplY3QgfCB1bmRlZmluZWQ7XG4gIHBpY2tpbmdJbmZvOiBGbG93bWFwTGF5ZXJQaWNraW5nSW5mbzxMLCBGPiB8IHVuZGVmaW5lZDtcbn07XG5cbmV4cG9ydCB0eXBlIFNvdXJjZUV2ZW50ID0ge3NyY0V2ZW50OiBNb3VzZUV2ZW50fTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRmxvd21hcExheWVyPEwsIEY+IGV4dGVuZHMgQ29tcG9zaXRlTGF5ZXIge1xuICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgIGRhcmtNb2RlOiB0cnVlLFxuICAgIGZhZGVBbW91bnQ6IDUwLFxuICAgIGxvY2F0aW9uVG90YWxzRW5hYmxlZDogdHJ1ZSxcbiAgICBsb2NhdGlvbkxhYmVsc0VuYWJsZWQ6IGZhbHNlLFxuICAgIGFuaW1hdGlvbkVuYWJsZWQ6IGZhbHNlLFxuICAgIGNsdXN0ZXJpbmdFbmFibGVkOiB0cnVlLFxuICAgIGZhZGVFbmFibGVkOiB0cnVlLFxuICAgIGZhZGVPcGFjaXR5RW5hYmxlZDogZmFsc2UsXG4gICAgY2x1c3RlcmluZ0F1dG86IHRydWUsXG4gICAgY2x1c3RlcmluZ0xldmVsOiB1bmRlZmluZWQsXG4gICAgYWRhcHRpdmVTY2FsZXNFbmFibGVkOiB0cnVlLFxuICAgIGNvbG9yU2NoZW1lOiAnVGVhbCcsXG4gICAgaGlnaGxpZ2h0Q29sb3I6ICdvcmFuZ2UnLFxuICAgIG1heFRvcEZsb3dzRGlzcGxheU51bTogNTAwMCxcbiAgfTtcbiAgc3RhdGU6IFN0YXRlPEwsIEY+IHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3Rvcihwcm9wczogRmxvd21hcExheWVyUHJvcHM8TCwgRj4pIHtcbiAgICBzdXBlcih7XG4gICAgICAuLi5wcm9wcyxcbiAgICAgIGRhdGFQcm92aWRlcjoge1xuICAgICAgICAvLyBUbyBhdm9pZCBkZWNrLmdsIHByb3BzIGRpZmZpbmcgb24gY29tbGluayB3b3JrZXIgcHJveHkgY2F1c2luZyBhbiBleGNlcHRpb25cbiAgICAgICAgZGF0YVByb3ZpZGVyOiBwcm9wcy5kYXRhUHJvdmlkZXIsXG4gICAgICB9LFxuICAgICAgb25Ib3ZlcjogKGluZm86IFBpY2tpbmdJbmZvPGFueT4sIGV2ZW50OiBTb3VyY2VFdmVudCkgPT4ge1xuICAgICAgICAvLyBUT0RPOiBpZiAobGFzdEhvdmVyRXZlbnRTdGFydFRpbWVSZWYgPiBzdGFydFRpbWUpIHtcbiAgICAgICAgLy8gICAvLyBTa2lwcGluZywgYmVjYXVzZSB0aGlzIGlzIG5vdCB0aGUgbGF0ZXN0IGhvdmVyIGV2ZW50XG4gICAgICAgIC8vICAgcmV0dXJuO1xuICAgICAgICAvLyB9XG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe2hpZ2hsaWdodGVkT2JqZWN0OiB0aGlzLl9nZXRIaWdobGlnaHRlZE9iamVjdChpbmZvKX0pO1xuICAgICAgICBjb25zdCB7b25Ib3Zlcn0gPSBwcm9wcztcbiAgICAgICAgaWYgKG9uSG92ZXIpIHtcbiAgICAgICAgICB0aGlzLl9nZXRGbG93bWFwTGF5ZXJQaWNraW5nSW5mbyhpbmZvKS50aGVuKChpbmZvKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNldFN0YXRlKHtwaWNraW5nSW5mbzogaW5mb30pO1xuICAgICAgICAgICAgb25Ib3ZlcihpbmZvLCBldmVudCk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBvbkNsaWNrOiAoaW5mbzogUGlja2luZ0luZm88YW55PiwgZXZlbnQ6IFNvdXJjZUV2ZW50KSA9PiB7XG4gICAgICAgIGNvbnN0IHtvbkNsaWNrfSA9IHByb3BzO1xuICAgICAgICBpZiAob25DbGljaykge1xuICAgICAgICAgIHRoaXMuX2dldEZsb3dtYXBMYXllclBpY2tpbmdJbmZvKGluZm8pLnRoZW4oKGluZm8pID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe3BpY2tpbmdJbmZvOiBpbmZvfSk7XG4gICAgICAgICAgICBpZiAoaW5mbykge1xuICAgICAgICAgICAgICBvbkNsaWNrKGluZm8sIGV2ZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIGluaXRpYWxpemVTdGF0ZSgpIHtcbiAgICB0aGlzLnN0YXRlID0ge1xuICAgICAgYWNjZXNzb3JzOiBuZXcgRmxvd21hcEFnZ3JlZ2F0ZUFjY2Vzc29yczxMLCBGPih0aGlzLnByb3BzKSxcbiAgICAgIGRhdGFQcm92aWRlcjogdGhpcy5fZ2V0T3JNYWtlRGF0YVByb3ZpZGVyKCksXG4gICAgICBsYXllcnNEYXRhOiB1bmRlZmluZWQsXG4gICAgICBoaWdobGlnaHRlZE9iamVjdDogdW5kZWZpbmVkLFxuICAgICAgcGlja2luZ0luZm86IHVuZGVmaW5lZCxcbiAgICB9O1xuICB9XG5cbiAgZ2V0UGlja2luZ0luZm8oe2luZm99OiBSZWNvcmQ8c3RyaW5nLCBhbnk+KSB7XG4gICAgLy8gVGhpcyBpcyBmb3Igb25Ib3ZlciBldmVudCBoYW5kbGVycyBzZXQgb24gdGhlIDxEZWNrR0w+IGNvbXBvbmVudFxuICAgIGlmICghaW5mby5vYmplY3QpIHtcbiAgICAgIGNvbnN0IG9iamVjdCA9IHRoaXMuc3RhdGU/LnBpY2tpbmdJbmZvPy5vYmplY3Q7XG4gICAgICBpZiAob2JqZWN0KSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLi4uaW5mbyxcbiAgICAgICAgICBvYmplY3QsXG4gICAgICAgICAgcGlja2VkOiB0cnVlLFxuICAgICAgICB9O1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gaW5mbztcbiAgfVxuXG4gIC8vIHByaXZhdGUgX3VwZGF0ZUFjY2Vzc29ycygpIHtcbiAgLy8gICB0aGlzLnN0YXRlPy5kYXRhUHJvdmlkZXI/LnNldEFjY2Vzc29ycyh0aGlzLnByb3BzKTtcbiAgLy8gICB0aGlzLnNldFN0YXRlKHthY2Nlc3NvcnM6IG5ldyBGbG93bWFwQWdncmVnYXRlQWNjZXNzb3JzKHRoaXMucHJvcHMpfSk7XG4gIC8vIH1cblxuICBwcml2YXRlIF9nZXRPck1ha2VEYXRhUHJvdmlkZXIoKSB7XG4gICAgY29uc3Qge2RhdGEsIGRhdGFQcm92aWRlcn0gPSB0aGlzLnByb3BzO1xuICAgIGlmIChpc0Zsb3dtYXBEYXRhUHJvdmlkZXI8TCwgRj4oZGF0YVByb3ZpZGVyPy5kYXRhUHJvdmlkZXIpKSB7XG4gICAgICByZXR1cm4gZGF0YVByb3ZpZGVyLmRhdGFQcm92aWRlcjtcbiAgICB9IGVsc2UgaWYgKGlzRmxvd21hcERhdGE8TCwgRj4oZGF0YSkpIHtcbiAgICAgIGNvbnN0IGRhdGFQcm92aWRlciA9IG5ldyBMb2NhbEZsb3dtYXBEYXRhUHJvdmlkZXI8TCwgRj4odGhpcy5wcm9wcyk7XG4gICAgICBkYXRhUHJvdmlkZXIuc2V0Rmxvd21hcERhdGEoZGF0YSk7XG4gICAgICByZXR1cm4gZGF0YVByb3ZpZGVyO1xuICAgIH1cbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAnRmxvd21hcExheWVyOiBkYXRhIG11c3QgYmUgYSBGbG93bWFwRGF0YVByb3ZpZGVyIG9yIEZsb3dtYXBEYXRhJyxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlRGF0YVByb3ZpZGVyKCkge1xuICAgIHRoaXMuc2V0U3RhdGUoe2RhdGFQcm92aWRlcjogdGhpcy5fZ2V0T3JNYWtlRGF0YVByb3ZpZGVyKCl9KTtcbiAgfVxuXG4gIHNob3VsZFVwZGF0ZVN0YXRlKHBhcmFtczogUmVjb3JkPHN0cmluZywgYW55Pik6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHtjaGFuZ2VGbGFnc30gPSBwYXJhbXM7XG4gICAgLy8gaWYgKHRoaXMuX3ZpZXdwb3J0Q2hhbmdlZCgpKSB7XG4gICAgLy8gICByZXR1cm4gdHJ1ZTtcbiAgICAvLyB9XG4gICAgaWYgKGNoYW5nZUZsYWdzLnZpZXdwb3J0Q2hhbmdlZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBzdXBlci5zaG91bGRVcGRhdGVTdGF0ZShwYXJhbXMpO1xuICAgIC8vIFRPRE86IGJlIHNtYXJ0ZXIgb24gd2hlbiB0byB1cGRhdGVcbiAgICAvLyAoZS5nLiBpZ25vcmUgdmlld3BvcnQgY2hhbmdlcyB3aGVuIGFkYXB0aXZlU2NhbGVzRW5hYmxlZCBhbmQgY2x1c3RlcmluZyBhcmUgZmFsc2UpXG4gIH1cblxuICB1cGRhdGVTdGF0ZSh7b2xkUHJvcHMsIHByb3BzLCBjaGFuZ2VGbGFnc306IFJlY29yZDxzdHJpbmcsIGFueT4pOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlRmxhZ3MucHJvcHNDaGFuZ2VkKSB7XG4gICAgICAvLyB0aGlzLl91cGRhdGVBY2Nlc3NvcnMoKTtcbiAgICB9XG4gICAgaWYgKGNoYW5nZUZsYWdzLmRhdGFDaGFuZ2VkKSB7XG4gICAgICB0aGlzLl91cGRhdGVEYXRhUHJvdmlkZXIoKTtcbiAgICB9XG4gICAgaWYgKGNoYW5nZUZsYWdzLnZpZXdwb3J0Q2hhbmdlZCB8fCBjaGFuZ2VGbGFncy5kYXRhQ2hhbmdlZCkge1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgIGhpZ2hsaWdodGVkT2JqZWN0OiB1bmRlZmluZWQsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICBjaGFuZ2VGbGFncy52aWV3cG9ydENoYW5nZWQgfHxcbiAgICAgIGNoYW5nZUZsYWdzLnByb3BzT3JEYXRhQ2hhbmdlZCAvLyBUT0RPIGNhbiB3ZSBpZ25vcmUgYWNjZXNzb3IgcHJvcHMgY2hhbmdlcz9cbiAgICApIHtcbiAgICAgIGNvbnN0IHtkYXRhUHJvdmlkZXJ9ID0gdGhpcy5zdGF0ZSB8fCB7fTtcbiAgICAgIGlmIChkYXRhUHJvdmlkZXIpIHtcbiAgICAgICAgZGF0YVByb3ZpZGVyLnNldEZsb3dtYXBTdGF0ZSh0aGlzLl9nZXRGbG93bWFwU3RhdGUoKSk7XG4gICAgICAgIGRhdGFQcm92aWRlci51cGRhdGVMYXllcnNEYXRhKChsYXllcnNEYXRhOiBMYXllcnNEYXRhIHwgdW5kZWZpbmVkKSA9PiB7XG4gICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7bGF5ZXJzRGF0YX0pO1xuICAgICAgICB9LCBjaGFuZ2VGbGFncyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0U2V0dGluZ3NTdGF0ZSgpIHtcbiAgICBjb25zdCB7XG4gICAgICBsb2NhdGlvblRvdGFsc0VuYWJsZWQsXG4gICAgICBsb2NhdGlvbkxhYmVsc0VuYWJsZWQsXG4gICAgICBhZGFwdGl2ZVNjYWxlc0VuYWJsZWQsXG4gICAgICBhbmltYXRpb25FbmFibGVkLFxuICAgICAgY2x1c3RlcmluZ0VuYWJsZWQsXG4gICAgICBjbHVzdGVyaW5nTGV2ZWwsXG4gICAgICBmYWRlRW5hYmxlZCxcbiAgICAgIGZhZGVPcGFjaXR5RW5hYmxlZCxcbiAgICAgIGNsdXN0ZXJpbmdBdXRvLFxuICAgICAgZGFya01vZGUsXG4gICAgICBmYWRlQW1vdW50LFxuICAgICAgY29sb3JTY2hlbWUsXG4gICAgICBoaWdobGlnaHRDb2xvcixcbiAgICAgIG1heFRvcEZsb3dzRGlzcGxheU51bSxcbiAgICB9ID0gdGhpcy5wcm9wcztcbiAgICByZXR1cm4ge1xuICAgICAgbG9jYXRpb25Ub3RhbHNFbmFibGVkLFxuICAgICAgbG9jYXRpb25MYWJlbHNFbmFibGVkLFxuICAgICAgYWRhcHRpdmVTY2FsZXNFbmFibGVkLFxuICAgICAgYW5pbWF0aW9uRW5hYmxlZCxcbiAgICAgIGNsdXN0ZXJpbmdFbmFibGVkLFxuICAgICAgY2x1c3RlcmluZ0xldmVsLFxuICAgICAgZmFkZUVuYWJsZWQsXG4gICAgICBmYWRlT3BhY2l0eUVuYWJsZWQsXG4gICAgICBjbHVzdGVyaW5nQXV0byxcbiAgICAgIGRhcmtNb2RlLFxuICAgICAgZmFkZUFtb3VudCxcbiAgICAgIGNvbG9yU2NoZW1lLFxuICAgICAgaGlnaGxpZ2h0Q29sb3IsXG4gICAgICBtYXhUb3BGbG93c0Rpc3BsYXlOdW0sXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldEZsb3dtYXBTdGF0ZSgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgdmlld3BvcnQ6IHBpY2tWaWV3cG9ydFByb3BzKHRoaXMuY29udGV4dC52aWV3cG9ydCksXG4gICAgICBmaWx0ZXI6IHRoaXMucHJvcHMuZmlsdGVyLFxuICAgICAgc2V0dGluZ3M6IHRoaXMuX2dldFNldHRpbmdzU3RhdGUoKSxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBfZ2V0Rmxvd21hcExheWVyUGlja2luZ0luZm8oXG4gICAgaW5mbzogUmVjb3JkPHN0cmluZywgYW55PixcbiAgKTogUHJvbWlzZTxGbG93bWFwTGF5ZXJQaWNraW5nSW5mbzxMLCBGPiB8IHVuZGVmaW5lZD4ge1xuICAgIGNvbnN0IHtpbmRleCwgc291cmNlTGF5ZXJ9ID0gaW5mbztcbiAgICBjb25zdCB7ZGF0YVByb3ZpZGVyLCBhY2Nlc3NvcnN9ID0gdGhpcy5zdGF0ZSB8fCB7fTtcbiAgICBpZiAoIWRhdGFQcm92aWRlciB8fCAhYWNjZXNzb3JzKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICBjb25zdCBjb21tb25JbmZvID0ge1xuICAgICAgLi4uaW5mbyxcbiAgICAgIHBpY2tlZDogaW5mby5waWNrZWQsXG4gICAgICBsYXllcjogaW5mby5sYXllcixcbiAgICAgIGluZGV4OiBpbmZvLmluZGV4LFxuICAgICAgeDogaW5mby54LFxuICAgICAgeTogaW5mby55LFxuICAgICAgY29vcmRpbmF0ZTogaW5mby5jb29yZGluYXRlLFxuICAgICAgZXZlbnQ6IGluZm8uZXZlbnQsXG4gICAgfTtcbiAgICBpZiAoXG4gICAgICBzb3VyY2VMYXllciBpbnN0YW5jZW9mIEZsb3dMaW5lc0xheWVyIHx8XG4gICAgICBzb3VyY2VMYXllciBpbnN0YW5jZW9mIEFuaW1hdGVkRmxvd0xpbmVzTGF5ZXJcbiAgICApIHtcbiAgICAgIGNvbnN0IGZsb3cgPVxuICAgICAgICBpbmRleCA9PT0gLTEgPyB1bmRlZmluZWQgOiBhd2FpdCBkYXRhUHJvdmlkZXIuZ2V0Rmxvd0J5SW5kZXgoaW5kZXgpO1xuICAgICAgaWYgKGZsb3cpIHtcbiAgICAgICAgY29uc3Qgb3JpZ2luID0gYXdhaXQgZGF0YVByb3ZpZGVyLmdldExvY2F0aW9uQnlJZChcbiAgICAgICAgICBhY2Nlc3NvcnMuZ2V0Rmxvd09yaWdpbklkKGZsb3cpLFxuICAgICAgICApO1xuICAgICAgICBjb25zdCBkZXN0ID0gYXdhaXQgZGF0YVByb3ZpZGVyLmdldExvY2F0aW9uQnlJZChcbiAgICAgICAgICBhY2Nlc3NvcnMuZ2V0Rmxvd0Rlc3RJZChmbG93KSxcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKG9yaWdpbiAmJiBkZXN0KSB7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLmNvbW1vbkluZm8sXG4gICAgICAgICAgICBvYmplY3Q6IHtcbiAgICAgICAgICAgICAgdHlwZTogUGlja2luZ1R5cGUuRkxPVyxcbiAgICAgICAgICAgICAgZmxvdyxcbiAgICAgICAgICAgICAgb3JpZ2luOiBvcmlnaW4sXG4gICAgICAgICAgICAgIGRlc3Q6IGRlc3QsXG4gICAgICAgICAgICAgIGNvdW50OiBhY2Nlc3NvcnMuZ2V0Rmxvd01hZ25pdHVkZShmbG93KSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoc291cmNlTGF5ZXIgaW5zdGFuY2VvZiBGbG93Q2lyY2xlc0xheWVyKSB7XG4gICAgICBjb25zdCBsb2NhdGlvbiA9XG4gICAgICAgIGluZGV4ID09PSAtMSA/IHVuZGVmaW5lZCA6IGF3YWl0IGRhdGFQcm92aWRlci5nZXRMb2NhdGlvbkJ5SW5kZXgoaW5kZXgpO1xuXG4gICAgICBpZiAobG9jYXRpb24pIHtcbiAgICAgICAgY29uc3QgaWQgPSBhY2Nlc3NvcnMuZ2V0TG9jYXRpb25JZChsb2NhdGlvbik7XG4gICAgICAgIGNvbnN0IG5hbWUgPSBhY2Nlc3NvcnMuZ2V0TG9jYXRpb25OYW1lKGxvY2F0aW9uKTtcbiAgICAgICAgY29uc3QgdG90YWxzID0gYXdhaXQgZGF0YVByb3ZpZGVyLmdldFRvdGFsc0ZvckxvY2F0aW9uKGlkKTtcbiAgICAgICAgY29uc3Qge2NpcmNsZUF0dHJpYnV0ZXN9ID0gdGhpcy5zdGF0ZT8ubGF5ZXJzRGF0YSB8fCB7fTtcbiAgICAgICAgaWYgKHRvdGFscyAmJiBjaXJjbGVBdHRyaWJ1dGVzKSB7XG4gICAgICAgICAgY29uc3QgY2lyY2xlUmFkaXVzID0gZ2V0T3V0ZXJDaXJjbGVSYWRpdXNCeUluZGV4KFxuICAgICAgICAgICAgY2lyY2xlQXR0cmlidXRlcyxcbiAgICAgICAgICAgIGluZm8uaW5kZXgsXG4gICAgICAgICAgKTtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4uY29tbW9uSW5mbyxcbiAgICAgICAgICAgIG9iamVjdDoge1xuICAgICAgICAgICAgICB0eXBlOiBQaWNraW5nVHlwZS5MT0NBVElPTixcbiAgICAgICAgICAgICAgbG9jYXRpb24sXG4gICAgICAgICAgICAgIGlkLFxuICAgICAgICAgICAgICBuYW1lLFxuICAgICAgICAgICAgICB0b3RhbHMsXG4gICAgICAgICAgICAgIGNpcmNsZVJhZGl1czogY2lyY2xlUmFkaXVzLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByaXZhdGUgX2dldEhpZ2hsaWdodGVkT2JqZWN0KFxuICAgIGluZm86IFJlY29yZDxzdHJpbmcsIGFueT4sXG4gICk6IEhpZ2hsaWdodGVkT2JqZWN0IHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCB7aW5kZXgsIHNvdXJjZUxheWVyfSA9IGluZm87XG4gICAgaWYgKGluZGV4IDwgMCkgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICBpZiAoXG4gICAgICBzb3VyY2VMYXllciBpbnN0YW5jZW9mIEZsb3dMaW5lc0xheWVyIHx8XG4gICAgICBzb3VyY2VMYXllciBpbnN0YW5jZW9mIEFuaW1hdGVkRmxvd0xpbmVzTGF5ZXJcbiAgICApIHtcbiAgICAgIGNvbnN0IHtsaW5lQXR0cmlidXRlc30gPSB0aGlzLnN0YXRlPy5sYXllcnNEYXRhIHx8IHt9O1xuICAgICAgaWYgKGxpbmVBdHRyaWJ1dGVzKSB7XG4gICAgICAgIGxldCBhdHRycyA9IGdldEZsb3dMaW5lQXR0cmlidXRlc0J5SW5kZXgobGluZUF0dHJpYnV0ZXMsIGluZGV4KTtcbiAgICAgICAgaWYgKHRoaXMucHJvcHMuZmFkZU9wYWNpdHlFbmFibGVkKSB7XG4gICAgICAgICAgYXR0cnMgPSB7XG4gICAgICAgICAgICAuLi5hdHRycyxcbiAgICAgICAgICAgIGF0dHJpYnV0ZXM6IHtcbiAgICAgICAgICAgICAgLi4uYXR0cnMuYXR0cmlidXRlcyxcbiAgICAgICAgICAgICAgZ2V0Q29sb3I6IHtcbiAgICAgICAgICAgICAgICAuLi5hdHRycy5hdHRyaWJ1dGVzLmdldENvbG9yLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBuZXcgVWludDhBcnJheShbXG4gICAgICAgICAgICAgICAgICAuLi5hdHRycy5hdHRyaWJ1dGVzLmdldENvbG9yLnZhbHVlLnNsaWNlKDAsIDMpLFxuICAgICAgICAgICAgICAgICAgMjU1LCAvLyB0aGUgaGlnaGxpZ2h0IGNvbG9yIHNob3VsZCBiZSBhbHdheXMgb3BhcXVlXG4gICAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICB0eXBlOiBIaWdobGlnaHRUeXBlLkZMT1csXG4gICAgICAgICAgbGluZUF0dHJpYnV0ZXM6IGF0dHJzLFxuICAgICAgICB9O1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoc291cmNlTGF5ZXIgaW5zdGFuY2VvZiBGbG93Q2lyY2xlc0xheWVyKSB7XG4gICAgICBjb25zdCB7Y2lyY2xlQXR0cmlidXRlc30gPSB0aGlzLnN0YXRlPy5sYXllcnNEYXRhIHx8IHt9O1xuICAgICAgaWYgKGNpcmNsZUF0dHJpYnV0ZXMpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICB0eXBlOiBIaWdobGlnaHRUeXBlLkxPQ0FUSU9OLFxuICAgICAgICAgIGNvb3JkczogZ2V0TG9jYXRpb25Db29yZHNCeUluZGV4KGNpcmNsZUF0dHJpYnV0ZXMsIGluZGV4KSxcbiAgICAgICAgICByYWRpdXM6IGdldE91dGVyQ2lyY2xlUmFkaXVzQnlJbmRleChjaXJjbGVBdHRyaWJ1dGVzLCBpbmRleCksXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICByZW5kZXJMYXllcnMoKTogQXJyYXk8YW55PiB7XG4gICAgY29uc3QgbGF5ZXJzID0gW107XG4gICAgaWYgKHRoaXMuc3RhdGU/LmxheWVyc0RhdGEpIHtcbiAgICAgIGNvbnN0IHtsYXllcnNEYXRhLCBoaWdobGlnaHRlZE9iamVjdH0gPSB0aGlzLnN0YXRlO1xuICAgICAgY29uc3Qge2NpcmNsZUF0dHJpYnV0ZXMsIGxpbmVBdHRyaWJ1dGVzLCBsb2NhdGlvbkxhYmVsc30gPVxuICAgICAgICBsYXllcnNEYXRhIHx8IHt9O1xuICAgICAgaWYgKGNpcmNsZUF0dHJpYnV0ZXMgJiYgbGluZUF0dHJpYnV0ZXMpIHtcbiAgICAgICAgY29uc3QgZmxvd21hcENvbG9ycyA9IGdldEZsb3dtYXBDb2xvcnModGhpcy5fZ2V0U2V0dGluZ3NTdGF0ZSgpKTtcbiAgICAgICAgY29uc3Qgb3V0bGluZUNvbG9yID0gY29sb3JBc1JnYmEoXG4gICAgICAgICAgZmxvd21hcENvbG9ycy5vdXRsaW5lQ29sb3IgfHwgKHRoaXMucHJvcHMuZGFya01vZGUgPyAnIzAwMCcgOiAnI2ZmZicpLFxuICAgICAgICApO1xuICAgICAgICBjb25zdCBjb21tb25MaW5lTGF5ZXJQcm9wcyA9IHtcbiAgICAgICAgICBkYXRhOiBsaW5lQXR0cmlidXRlcyxcbiAgICAgICAgICBwYXJhbWV0ZXJzOiB7XG4gICAgICAgICAgICAuLi50aGlzLnByb3BzLnBhcmFtZXRlcnMsXG4gICAgICAgICAgICAvLyBwcmV2ZW50IHotZmlnaHRpbmcgYXQgbm9uLXplcm8gYmVhcmluZy9waXRjaFxuICAgICAgICAgICAgZGVwdGhUZXN0OiBmYWxzZSxcbiAgICAgICAgICB9LFxuICAgICAgICB9O1xuICAgICAgICBpZiAodGhpcy5wcm9wcy5hbmltYXRpb25FbmFibGVkKSB7XG4gICAgICAgICAgbGF5ZXJzLnB1c2goXG4gICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICBuZXcgQW5pbWF0ZWRGbG93TGluZXNMYXllcih7XG4gICAgICAgICAgICAgIC4uLnRoaXMuZ2V0U3ViTGF5ZXJQcm9wcyh7XG4gICAgICAgICAgICAgICAgLi4uY29tbW9uTGluZUxheWVyUHJvcHMsXG4gICAgICAgICAgICAgICAgaWQ6ICdhbmltYXRlZC1mbG93LWxpbmVzJyxcbiAgICAgICAgICAgICAgICBkcmF3T3V0bGluZTogZmFsc2UsXG4gICAgICAgICAgICAgICAgdGhpY2tuZXNzVW5pdDogMjAsXG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBsYXllcnMucHVzaChcbiAgICAgICAgICAgIG5ldyBGbG93TGluZXNMYXllcih7XG4gICAgICAgICAgICAgIC4uLnRoaXMuZ2V0U3ViTGF5ZXJQcm9wcyh7XG4gICAgICAgICAgICAgICAgLi4uY29tbW9uTGluZUxheWVyUHJvcHMsXG4gICAgICAgICAgICAgICAgaWQ6ICdmbG93LWxpbmVzJyxcbiAgICAgICAgICAgICAgICBkcmF3T3V0bGluZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBvdXRsaW5lQ29sb3I6IG91dGxpbmVDb2xvcixcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIGxheWVycy5wdXNoKFxuICAgICAgICAgIG5ldyBGbG93Q2lyY2xlc0xheWVyKFxuICAgICAgICAgICAgdGhpcy5nZXRTdWJMYXllclByb3BzKHtcbiAgICAgICAgICAgICAgaWQ6ICdjaXJjbGVzJyxcbiAgICAgICAgICAgICAgZGF0YTogY2lyY2xlQXR0cmlidXRlcyxcbiAgICAgICAgICAgICAgZW1wdHlDb2xvcjogdGhpcy5wcm9wcy5kYXJrTW9kZVxuICAgICAgICAgICAgICAgID8gWzAsIDAsIDAsIDI1NV1cbiAgICAgICAgICAgICAgICA6IFsyNTUsIDI1NSwgMjU1LCAyNTVdLFxuICAgICAgICAgICAgICBvdXRsaW5lRW1wdHlNaXg6IDAuNCxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICksXG4gICAgICAgICk7XG4gICAgICAgIGlmIChoaWdobGlnaHRlZE9iamVjdCkge1xuICAgICAgICAgIHN3aXRjaCAoaGlnaGxpZ2h0ZWRPYmplY3QudHlwZSkge1xuICAgICAgICAgICAgY2FzZSBIaWdobGlnaHRUeXBlLkxPQ0FUSU9OOlxuICAgICAgICAgICAgICBsYXllcnMucHVzaChcbiAgICAgICAgICAgICAgICBuZXcgU2NhdHRlcnBsb3RMYXllcih7XG4gICAgICAgICAgICAgICAgICAuLi50aGlzLmdldFN1YkxheWVyUHJvcHMoe1xuICAgICAgICAgICAgICAgICAgICBpZDogJ2xvY2F0aW9uLWhpZ2hsaWdodCcsXG4gICAgICAgICAgICAgICAgICAgIGRhdGE6IFtoaWdobGlnaHRlZE9iamVjdF0sXG4gICAgICAgICAgICAgICAgICAgIHBpY2thYmxlOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgYW50aWFsaWFzaW5nOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICBzdHJva2VkOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICBmaWxsZWQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICBsaW5lV2lkdGhVbml0czogJ3BpeGVscycsXG4gICAgICAgICAgICAgICAgICAgIGdldExpbmVXaWR0aDogMixcbiAgICAgICAgICAgICAgICAgICAgcmFkaXVzVW5pdHM6ICdwaXhlbHMnLFxuICAgICAgICAgICAgICAgICAgICBnZXRSYWRpdXM6IChkOiBIaWdobGlnaHRlZExvY2F0aW9uT2JqZWN0KSA9PiBkLnJhZGl1cyxcbiAgICAgICAgICAgICAgICAgICAgZ2V0TGluZUNvbG9yOiBjb2xvckFzUmdiYSh0aGlzLnByb3BzLmhpZ2hsaWdodENvbG9yKSxcbiAgICAgICAgICAgICAgICAgICAgZ2V0UG9zaXRpb246IChkOiBIaWdobGlnaHRlZExvY2F0aW9uT2JqZWN0KSA9PiBkLmNvb3JkcyxcbiAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgSGlnaGxpZ2h0VHlwZS5GTE9XOlxuICAgICAgICAgICAgICBsYXllcnMucHVzaChcbiAgICAgICAgICAgICAgICBuZXcgRmxvd0xpbmVzTGF5ZXIoe1xuICAgICAgICAgICAgICAgICAgLi4udGhpcy5nZXRTdWJMYXllclByb3BzKHtcbiAgICAgICAgICAgICAgICAgICAgaWQ6ICdmbG93LWhpZ2hsaWdodCcsXG4gICAgICAgICAgICAgICAgICAgIGRhdGE6IGhpZ2hsaWdodGVkT2JqZWN0LmxpbmVBdHRyaWJ1dGVzLFxuICAgICAgICAgICAgICAgICAgICBkcmF3T3V0bGluZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgcGlja2FibGU6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICBvdXRsaW5lQ29sb3I6IGNvbG9yQXNSZ2JhKHRoaXMucHJvcHMuaGlnaGxpZ2h0Q29sb3IpLFxuICAgICAgICAgICAgICAgICAgICBvdXRsaW5lVGhpY2tuZXNzOiAxLFxuICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKGxvY2F0aW9uTGFiZWxzKSB7XG4gICAgICAgIGxheWVycy5wdXNoKFxuICAgICAgICAgIG5ldyBUZXh0TGF5ZXIoXG4gICAgICAgICAgICB0aGlzLmdldFN1YkxheWVyUHJvcHMoe1xuICAgICAgICAgICAgICBpZDogJ2xvY2F0aW9uLWxhYmVscycsXG4gICAgICAgICAgICAgIGRhdGE6IGxvY2F0aW9uTGFiZWxzLFxuICAgICAgICAgICAgICBtYXhXaWR0aDogMTAwMCxcbiAgICAgICAgICAgICAgcGlja2FibGU6IGZhbHNlLFxuICAgICAgICAgICAgICBmb250RmFtaWx5OiAnSGVsdmV0aWNhJyxcbiAgICAgICAgICAgICAgZ2V0UGl4ZWxPZmZzZXQ6IChkOiBzdHJpbmcsIHtpbmRleH06IHtpbmRleDogbnVtYmVyfSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHIgPSBnZXRPdXRlckNpcmNsZVJhZGl1c0J5SW5kZXgoY2lyY2xlQXR0cmlidXRlcywgaW5kZXgpO1xuICAgICAgICAgICAgICAgIHJldHVybiBbMCwgciArIDVdO1xuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBnZXRQb3NpdGlvbjogKGQ6IHN0cmluZywge2luZGV4fToge2luZGV4OiBudW1iZXJ9KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgcG9zID0gZ2V0TG9jYXRpb25Db29yZHNCeUluZGV4KGNpcmNsZUF0dHJpYnV0ZXMsIGluZGV4KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gcG9zO1xuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBnZXRUZXh0OiAoZDogc3RyaW5nKSA9PiBkLFxuICAgICAgICAgICAgICBnZXRTaXplOiAxMCxcbiAgICAgICAgICAgICAgZ2V0Q29sb3I6IFsyNTUsIDI1NSwgMjU1LCAyNTVdLFxuICAgICAgICAgICAgICBnZXRBbmdsZTogMCxcbiAgICAgICAgICAgICAgZ2V0VGV4dEFuY2hvcjogJ21pZGRsZScsXG4gICAgICAgICAgICAgIGdldEFsaWdubWVudEJhc2VsaW5lOiAndG9wJyxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICksXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGxheWVycztcbiAgfVxufVxuXG5mdW5jdGlvbiBwaWNrVmlld3BvcnRQcm9wcyh2aWV3cG9ydDogUmVjb3JkPHN0cmluZywgYW55Pik6IFZpZXdwb3J0UHJvcHMge1xuICBjb25zdCB7d2lkdGgsIGhlaWdodCwgbG9uZ2l0dWRlLCBsYXRpdHVkZSwgem9vbSwgcGl0Y2gsIGJlYXJpbmd9ID0gdmlld3BvcnQ7XG4gIHJldHVybiB7XG4gICAgd2lkdGgsXG4gICAgaGVpZ2h0LFxuICAgIGxvbmdpdHVkZSxcbiAgICBsYXRpdHVkZSxcbiAgICB6b29tLFxuICAgIHBpdGNoLFxuICAgIGJlYXJpbmcsXG4gIH07XG59XG4iXX0=
package/dist/types.d.ts CHANGED
@@ -16,7 +16,7 @@ export interface PickingInfo<T> {
16
16
  event: MouseEvent | undefined;
17
17
  }
18
18
  export interface LocationPickingInfoObject<L> {
19
- id: string;
19
+ id: string | number;
20
20
  type: PickingType.LOCATION;
21
21
  location: L | ClusterNode;
22
22
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EAEb,WAAW,EACX,cAAc,EACf,MAAM,kBAAkB,CAAC;AAE1B,oBAAY,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEjD,oBAAY,WAAW;IACrB,QAAQ,aAAa;IACrB,IAAI,SAAS;CAEd;AAED,oBAAY,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAE9C,MAAM,WAAW,WAAW,CAAC,CAAC;IAC5B,KAAK,EAAE,WAAW,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,CAAC,GAAG,SAAS,CAAC;IACtB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,KAAK,EAAE,UAAU,GAAG,SAAS,CAAC;CAC/B;AAED,MAAM,WAAW,yBAAyB,CAAC,CAAC;IAC1C,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,WAAW,CAAC,QAAQ,CAAC;IAC3B,QAAQ,EAAE,CAAC,GAAG,WAAW,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,cAAc,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,oBAAY,mBAAmB,CAAC,CAAC,IAAI,WAAW,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAC;AAE/E,MAAM,WAAW,qBAAqB,CAAC,CAAC,EAAE,CAAC;IACzC,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC;IACvB,IAAI,EAAE,CAAC,GAAG,aAAa,CAAC;IACxB,MAAM,EAAE,CAAC,GAAG,WAAW,CAAC;IACxB,IAAI,EAAE,CAAC,GAAG,WAAW,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,oBAAY,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,WAAW,CAAC,qBAAqB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAO7E,oBAAY,uBAAuB,CAAC,CAAC,EAAE,CAAC,IACpC,mBAAmB,CAAC,CAAC,CAAC,GAEtB,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EAEb,WAAW,EACX,cAAc,EACf,MAAM,kBAAkB,CAAC;AAE1B,oBAAY,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEjD,oBAAY,WAAW;IACrB,QAAQ,aAAa;IACrB,IAAI,SAAS;CAEd;AAED,oBAAY,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAE9C,MAAM,WAAW,WAAW,CAAC,CAAC;IAC5B,KAAK,EAAE,WAAW,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,CAAC,GAAG,SAAS,CAAC;IACtB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,KAAK,EAAE,UAAU,GAAG,SAAS,CAAC;CAC/B;AAED,MAAM,WAAW,yBAAyB,CAAC,CAAC;IAC1C,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,IAAI,EAAE,WAAW,CAAC,QAAQ,CAAC;IAC3B,QAAQ,EAAE,CAAC,GAAG,WAAW,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,cAAc,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,oBAAY,mBAAmB,CAAC,CAAC,IAAI,WAAW,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAC;AAE/E,MAAM,WAAW,qBAAqB,CAAC,CAAC,EAAE,CAAC;IACzC,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC;IACvB,IAAI,EAAE,CAAC,GAAG,aAAa,CAAC;IACxB,MAAM,EAAE,CAAC,GAAG,WAAW,CAAC;IACxB,IAAI,EAAE,CAAC,GAAG,WAAW,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,oBAAY,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,WAAW,CAAC,qBAAqB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAO7E,oBAAY,uBAAuB,CAAC,CAAC,EAAE,CAAC,IACpC,mBAAmB,CAAC,CAAC,CAAC,GAEtB,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC"}
package/dist/types.js CHANGED
@@ -17,4 +17,4 @@ export var PickingType;
17
17
  // .type === 'FeatureCollection'
18
18
  // );
19
19
  // }
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBU0EsTUFBTSxDQUFOLElBQVksV0FJWDtBQUpELFdBQVksV0FBVztJQUNyQixvQ0FBcUIsQ0FBQTtJQUNyQiw0QkFBYSxDQUFBO0lBQ2IsbUNBQW1DO0FBQ3JDLENBQUMsRUFKVyxXQUFXLEtBQVgsV0FBVyxRQUl0QjtBQThDRCw2REFBNkQ7QUFDN0QsNERBQTREO0FBRTVELDBCQUEwQjtBQUMxQiw0REFBNEQ7QUFDNUQsc0JBQXNCO0FBRXRCLHVDQUF1QztBQUN2QywwQkFBMEI7QUFDMUIsMEVBQTBFO0FBQzFFLGFBQWE7QUFDYiwyRUFBMkU7QUFDM0Usc0NBQXNDO0FBQ3RDLE9BQU87QUFDUCxJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWdncmVnYXRlRmxvdyxcbiAgQ2x1c3RlcixcbiAgQ2x1c3Rlck5vZGUsXG4gIExvY2F0aW9uVG90YWxzLFxufSBmcm9tICdAZmxvd21hcC5nbC9kYXRhJztcblxuZXhwb3J0IHR5cGUgTGF5ZXJQcm9wcyA9IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuXG5leHBvcnQgZW51bSBQaWNraW5nVHlwZSB7XG4gIExPQ0FUSU9OID0gJ2xvY2F0aW9uJyxcbiAgRkxPVyA9ICdmbG93JyxcbiAgLy8gTE9DQVRJT05fQVJFQSA9ICdsb2NhdGlvbi1hcmVhJyxcbn1cblxuZXhwb3J0IHR5cGUgRGVja0dMTGF5ZXIgPSBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuXG5leHBvcnQgaW50ZXJmYWNlIFBpY2tpbmdJbmZvPFQ+IHtcbiAgbGF5ZXI6IERlY2tHTExheWVyO1xuICBpbmRleDogbnVtYmVyO1xuICBwaWNrZWQ6IGJvb2xlYW47XG4gIG9iamVjdDogVCB8IHVuZGVmaW5lZDtcbiAgeDogbnVtYmVyO1xuICB5OiBudW1iZXI7XG4gIGNvb3JkaW5hdGU6IFtudW1iZXIsIG51bWJlcl07XG4gIGV2ZW50OiBNb3VzZUV2ZW50IHwgdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExvY2F0aW9uUGlja2luZ0luZm9PYmplY3Q8TD4ge1xuICBpZDogc3RyaW5nO1xuICB0eXBlOiBQaWNraW5nVHlwZS5MT0NBVElPTjtcbiAgbG9jYXRpb246IEwgfCBDbHVzdGVyTm9kZTtcbiAgbmFtZTogc3RyaW5nO1xuICB0b3RhbHM6IExvY2F0aW9uVG90YWxzO1xuICBjaXJjbGVSYWRpdXM6IG51bWJlcjtcbn1cblxuZXhwb3J0IHR5cGUgTG9jYXRpb25QaWNraW5nSW5mbzxMPiA9IFBpY2tpbmdJbmZvPExvY2F0aW9uUGlja2luZ0luZm9PYmplY3Q8TD4+O1xuXG5leHBvcnQgaW50ZXJmYWNlIEZsb3dQaWNraW5nSW5mb09iamVjdDxMLCBGPiB7XG4gIHR5cGU6IFBpY2tpbmdUeXBlLkZMT1c7XG4gIGZsb3c6IEYgfCBBZ2dyZWdhdGVGbG93O1xuICBvcmlnaW46IEwgfCBDbHVzdGVyTm9kZTtcbiAgZGVzdDogTCB8IENsdXN0ZXJOb2RlO1xuICBjb3VudDogbnVtYmVyO1xufVxuXG5leHBvcnQgdHlwZSBGbG93UGlja2luZ0luZm88TCwgRj4gPSBQaWNraW5nSW5mbzxGbG93UGlja2luZ0luZm9PYmplY3Q8TCwgRj4+O1xuXG4vLyBleHBvcnQgaW50ZXJmYWNlIExvY2F0aW9uQXJlYVBpY2tpbmdJbmZvIGV4dGVuZHMgUGlja2luZ0luZm88UGlja2luZ0luZm9EYXRhPiB7XG4vLyAgIHR5cGU6IFBpY2tpbmdUeXBlLkxPQ0FUSU9OX0FSRUE7XG4vLyAgIG9iamVjdDogRmxvd0xvY2F0aW9uO1xuLy8gfVxuXG5leHBvcnQgdHlwZSBGbG93bWFwTGF5ZXJQaWNraW5nSW5mbzxMLCBGPiA9XG4gIHwgTG9jYXRpb25QaWNraW5nSW5mbzxMPlxuICAvLyB8IExvY2F0aW9uQXJlYVBpY2tpbmdJbmZvXG4gIHwgRmxvd1BpY2tpbmdJbmZvPEwsIEY+O1xuXG4vLyBpbXBvcnQge0ZlYXR1cmVDb2xsZWN0aW9uLCBHZW9tZXRyeU9iamVjdH0gZnJvbSAnZ2VvanNvbic7XG4vLyBleHBvcnQgdHlwZSBMb2NhdGlvblByb3BlcnRpZXMgPSBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcblxuLy8gZXhwb3J0IHR5cGUgTG9jYXRpb25zID1cbi8vICAgfCBGZWF0dXJlQ29sbGVjdGlvbjxHZW9tZXRyeU9iamVjdCwgTG9jYXRpb25Qcm9wZXJ0aWVzPlxuLy8gICB8IEZsb3dMb2NhdGlvbltdO1xuXG4vLyBleHBvcnQgZnVuY3Rpb24gaXNGZWF0dXJlQ29sbGVjdGlvbihcbi8vICAgbG9jYXRpb25zOiBMb2NhdGlvbnMsXG4vLyApOiBsb2NhdGlvbnMgaXMgRmVhdHVyZUNvbGxlY3Rpb248R2VvbWV0cnlPYmplY3QsIExvY2F0aW9uUHJvcGVydGllcz4ge1xuLy8gICByZXR1cm4gKFxuLy8gICAgIChsb2NhdGlvbnMgYXMgRmVhdHVyZUNvbGxlY3Rpb248R2VvbWV0cnlPYmplY3QsIExvY2F0aW9uUHJvcGVydGllcz4pXG4vLyAgICAgICAudHlwZSA9PT0gJ0ZlYXR1cmVDb2xsZWN0aW9uJ1xuLy8gICApO1xuLy8gfVxuIl19
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBU0EsTUFBTSxDQUFOLElBQVksV0FJWDtBQUpELFdBQVksV0FBVztJQUNyQixvQ0FBcUIsQ0FBQTtJQUNyQiw0QkFBYSxDQUFBO0lBQ2IsbUNBQW1DO0FBQ3JDLENBQUMsRUFKVyxXQUFXLEtBQVgsV0FBVyxRQUl0QjtBQThDRCw2REFBNkQ7QUFDN0QsNERBQTREO0FBRTVELDBCQUEwQjtBQUMxQiw0REFBNEQ7QUFDNUQsc0JBQXNCO0FBRXRCLHVDQUF1QztBQUN2QywwQkFBMEI7QUFDMUIsMEVBQTBFO0FBQzFFLGFBQWE7QUFDYiwyRUFBMkU7QUFDM0Usc0NBQXNDO0FBQ3RDLE9BQU87QUFDUCxJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWdncmVnYXRlRmxvdyxcbiAgQ2x1c3RlcixcbiAgQ2x1c3Rlck5vZGUsXG4gIExvY2F0aW9uVG90YWxzLFxufSBmcm9tICdAZmxvd21hcC5nbC9kYXRhJztcblxuZXhwb3J0IHR5cGUgTGF5ZXJQcm9wcyA9IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuXG5leHBvcnQgZW51bSBQaWNraW5nVHlwZSB7XG4gIExPQ0FUSU9OID0gJ2xvY2F0aW9uJyxcbiAgRkxPVyA9ICdmbG93JyxcbiAgLy8gTE9DQVRJT05fQVJFQSA9ICdsb2NhdGlvbi1hcmVhJyxcbn1cblxuZXhwb3J0IHR5cGUgRGVja0dMTGF5ZXIgPSBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuXG5leHBvcnQgaW50ZXJmYWNlIFBpY2tpbmdJbmZvPFQ+IHtcbiAgbGF5ZXI6IERlY2tHTExheWVyO1xuICBpbmRleDogbnVtYmVyO1xuICBwaWNrZWQ6IGJvb2xlYW47XG4gIG9iamVjdDogVCB8IHVuZGVmaW5lZDtcbiAgeDogbnVtYmVyO1xuICB5OiBudW1iZXI7XG4gIGNvb3JkaW5hdGU6IFtudW1iZXIsIG51bWJlcl07XG4gIGV2ZW50OiBNb3VzZUV2ZW50IHwgdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExvY2F0aW9uUGlja2luZ0luZm9PYmplY3Q8TD4ge1xuICBpZDogc3RyaW5nIHwgbnVtYmVyO1xuICB0eXBlOiBQaWNraW5nVHlwZS5MT0NBVElPTjtcbiAgbG9jYXRpb246IEwgfCBDbHVzdGVyTm9kZTtcbiAgbmFtZTogc3RyaW5nO1xuICB0b3RhbHM6IExvY2F0aW9uVG90YWxzO1xuICBjaXJjbGVSYWRpdXM6IG51bWJlcjtcbn1cblxuZXhwb3J0IHR5cGUgTG9jYXRpb25QaWNraW5nSW5mbzxMPiA9IFBpY2tpbmdJbmZvPExvY2F0aW9uUGlja2luZ0luZm9PYmplY3Q8TD4+O1xuXG5leHBvcnQgaW50ZXJmYWNlIEZsb3dQaWNraW5nSW5mb09iamVjdDxMLCBGPiB7XG4gIHR5cGU6IFBpY2tpbmdUeXBlLkZMT1c7XG4gIGZsb3c6IEYgfCBBZ2dyZWdhdGVGbG93O1xuICBvcmlnaW46IEwgfCBDbHVzdGVyTm9kZTtcbiAgZGVzdDogTCB8IENsdXN0ZXJOb2RlO1xuICBjb3VudDogbnVtYmVyO1xufVxuXG5leHBvcnQgdHlwZSBGbG93UGlja2luZ0luZm88TCwgRj4gPSBQaWNraW5nSW5mbzxGbG93UGlja2luZ0luZm9PYmplY3Q8TCwgRj4+O1xuXG4vLyBleHBvcnQgaW50ZXJmYWNlIExvY2F0aW9uQXJlYVBpY2tpbmdJbmZvIGV4dGVuZHMgUGlja2luZ0luZm88UGlja2luZ0luZm9EYXRhPiB7XG4vLyAgIHR5cGU6IFBpY2tpbmdUeXBlLkxPQ0FUSU9OX0FSRUE7XG4vLyAgIG9iamVjdDogRmxvd0xvY2F0aW9uO1xuLy8gfVxuXG5leHBvcnQgdHlwZSBGbG93bWFwTGF5ZXJQaWNraW5nSW5mbzxMLCBGPiA9XG4gIHwgTG9jYXRpb25QaWNraW5nSW5mbzxMPlxuICAvLyB8IExvY2F0aW9uQXJlYVBpY2tpbmdJbmZvXG4gIHwgRmxvd1BpY2tpbmdJbmZvPEwsIEY+O1xuXG4vLyBpbXBvcnQge0ZlYXR1cmVDb2xsZWN0aW9uLCBHZW9tZXRyeU9iamVjdH0gZnJvbSAnZ2VvanNvbic7XG4vLyBleHBvcnQgdHlwZSBMb2NhdGlvblByb3BlcnRpZXMgPSBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcblxuLy8gZXhwb3J0IHR5cGUgTG9jYXRpb25zID1cbi8vICAgfCBGZWF0dXJlQ29sbGVjdGlvbjxHZW9tZXRyeU9iamVjdCwgTG9jYXRpb25Qcm9wZXJ0aWVzPlxuLy8gICB8IEZsb3dMb2NhdGlvbltdO1xuXG4vLyBleHBvcnQgZnVuY3Rpb24gaXNGZWF0dXJlQ29sbGVjdGlvbihcbi8vICAgbG9jYXRpb25zOiBMb2NhdGlvbnMsXG4vLyApOiBsb2NhdGlvbnMgaXMgRmVhdHVyZUNvbGxlY3Rpb248R2VvbWV0cnlPYmplY3QsIExvY2F0aW9uUHJvcGVydGllcz4ge1xuLy8gICByZXR1cm4gKFxuLy8gICAgIChsb2NhdGlvbnMgYXMgRmVhdHVyZUNvbGxlY3Rpb248R2VvbWV0cnlPYmplY3QsIExvY2F0aW9uUHJvcGVydGllcz4pXG4vLyAgICAgICAudHlwZSA9PT0gJ0ZlYXR1cmVDb2xsZWN0aW9uJ1xuLy8gICApO1xuLy8gfVxuIl19
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flowmap.gl/layers",
3
- "version": "8.0.0-alpha.20",
3
+ "version": "8.0.0-alpha.23",
4
4
  "main": "dist/index.js",
5
5
  "module": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -18,7 +18,7 @@
18
18
  "@luma.gl/constants": "^8.5.10",
19
19
  "@luma.gl/core": "^8.5.10"
20
20
  },
21
- "gitHead": "eb8e5c947c2402dd978eba2566ffe696d55b5392",
21
+ "gitHead": "4f0825c08336c2138ce60ae4b846c68c3d2a2976",
22
22
  "publishConfig": {
23
23
  "access": "public"
24
24
  }
@@ -95,11 +95,13 @@ export default class AnimatedFlowLinesLayer<F> extends Layer {
95
95
  attributeManager.addInstanced({
96
96
  instanceSourcePositions: {
97
97
  size: 3,
98
+ type: GL.DOUBLE,
98
99
  transition: true,
99
100
  accessor: 'getSourcePosition',
100
101
  },
101
102
  instanceTargetPositions: {
102
103
  size: 3,
104
+ type: GL.DOUBLE,
103
105
  transition: true,
104
106
  accessor: 'getTargetPosition',
105
107
  },
@@ -15,7 +15,7 @@
15
15
  *
16
16
  */
17
17
  import {CompositeLayer} from '@deck.gl/core';
18
- import {ScatterplotLayer} from '@deck.gl/layers';
18
+ import {ScatterplotLayer, TextLayer} from '@deck.gl/layers';
19
19
  import {
20
20
  colorAsRgba,
21
21
  FlowLinesLayerAttributes,
@@ -49,6 +49,7 @@ export type FlowmapLayerProps<L, F> = {
49
49
  dataProvider?: FlowmapDataProvider<L, F>;
50
50
  filter?: FilterState;
51
51
  locationTotalsEnabled?: boolean;
52
+ locationLabelsEnabled?: boolean;
52
53
  adaptiveScalesEnabled?: boolean;
53
54
  animationEnabled?: boolean;
54
55
  clusteringEnabled?: boolean;
@@ -102,6 +103,7 @@ export default class FlowmapLayer<L, F> extends CompositeLayer {
102
103
  darkMode: true,
103
104
  fadeAmount: 50,
104
105
  locationTotalsEnabled: true,
106
+ locationLabelsEnabled: false,
105
107
  animationEnabled: false,
106
108
  clusteringEnabled: true,
107
109
  fadeEnabled: true,
@@ -241,6 +243,7 @@ export default class FlowmapLayer<L, F> extends CompositeLayer {
241
243
  private _getSettingsState() {
242
244
  const {
243
245
  locationTotalsEnabled,
246
+ locationLabelsEnabled,
244
247
  adaptiveScalesEnabled,
245
248
  animationEnabled,
246
249
  clusteringEnabled,
@@ -256,6 +259,7 @@ export default class FlowmapLayer<L, F> extends CompositeLayer {
256
259
  } = this.props;
257
260
  return {
258
261
  locationTotalsEnabled,
262
+ locationLabelsEnabled,
259
263
  adaptiveScalesEnabled,
260
264
  animationEnabled,
261
265
  clusteringEnabled,
@@ -404,7 +408,8 @@ export default class FlowmapLayer<L, F> extends CompositeLayer {
404
408
  const layers = [];
405
409
  if (this.state?.layersData) {
406
410
  const {layersData, highlightedObject} = this.state;
407
- const {circleAttributes, lineAttributes} = layersData || {};
411
+ const {circleAttributes, lineAttributes, locationLabels} =
412
+ layersData || {};
408
413
  if (circleAttributes && lineAttributes) {
409
414
  const flowmapColors = getFlowmapColors(this._getSettingsState());
410
415
  const outlineColor = colorAsRgba(
@@ -493,6 +498,33 @@ export default class FlowmapLayer<L, F> extends CompositeLayer {
493
498
  }
494
499
  }
495
500
  }
501
+ if (locationLabels) {
502
+ layers.push(
503
+ new TextLayer(
504
+ this.getSubLayerProps({
505
+ id: 'location-labels',
506
+ data: locationLabels,
507
+ maxWidth: 1000,
508
+ pickable: false,
509
+ fontFamily: 'Helvetica',
510
+ getPixelOffset: (d: string, {index}: {index: number}) => {
511
+ const r = getOuterCircleRadiusByIndex(circleAttributes, index);
512
+ return [0, r + 5];
513
+ },
514
+ getPosition: (d: string, {index}: {index: number}) => {
515
+ const pos = getLocationCoordsByIndex(circleAttributes, index);
516
+ return pos;
517
+ },
518
+ getText: (d: string) => d,
519
+ getSize: 10,
520
+ getColor: [255, 255, 255, 255],
521
+ getAngle: 0,
522
+ getTextAnchor: 'middle',
523
+ getAlignmentBaseline: 'top',
524
+ }),
525
+ ),
526
+ );
527
+ }
496
528
  }
497
529
 
498
530
  return layers;
package/src/types.ts CHANGED
@@ -27,7 +27,7 @@ export interface PickingInfo<T> {
27
27
  }
28
28
 
29
29
  export interface LocationPickingInfoObject<L> {
30
- id: string;
30
+ id: string | number;
31
31
  type: PickingType.LOCATION;
32
32
  location: L | ClusterNode;
33
33
  name: string;