Subversion Repository Public Repository

Nextrek

Diff Revisions 1085 vs 1086 for /s2s/development/Component_ImageMap_DA213629K6807A40ABS819CEB68756DF5543.js

Diff revisions: vs.
  @@ -16,21 +16,14 @@
16 16 */
17 17
18 18 Component_ImageMap.prototype.onDataBundleRestore = function(data, context) {
19 - var bitmap, ground, h, j, len, ref, results;
19 + var bitmap, ground;
20 20 this.setupEventHandlers();
21 21 this.object.addObject(this.ground);
22 22 bitmap = ResourceManager.getBitmap("Graphics/Pictures/" + this.object.images[0]);
23 23 ground = new gs.Bitmap(bitmap.width, bitmap.height);
24 24 ground.blt(0, 0, bitmap, new Rect(0, 0, bitmap.width, bitmap.height));
25 25 this.ground.bitmap = ground;
26 - this.setupHotspots(this.hotspots);
27 - ref = this.hotspots;
28 - results = [];
29 - for (j = 0, len = ref.length; j < len; j++) {
30 - h = ref[j];
31 - results.push(this.object.addObject(h));
32 - }
33 - return results;
26 + return this.setupHotspots(this.hotspots);
34 27 };
35 28
36 29
  @@ -165,6 +158,7 @@
165 158 picture.imageHandling = gs.ImageHandling.CUSTOM_SIZE;
166 159 picture.zIndex = _this.object.zIndex + 1;
167 160 picture.selected = (ref = hotspots != null ? (ref1 = hotspots[i]) != null ? ref1.selected : void 0 : void 0) != null ? ref : false;
161 + picture.hovered = false;
168 162 picture.enabled = (ref2 = hotspots != null ? (ref3 = hotspots[i]) != null ? ref3.enabled : void 0 : void 0) != null ? ref2 : true;
169 163 picture.actions = v.data.actions;
170 164 picture.data = v.data;
  @@ -210,6 +204,7 @@
210 204 domain = GameManager.variableStore.domain;
211 205 GameManager.variableStore.setNumberValueTo(hotspot.data.bindValueVariable, hotspot.data.bindValue);
212 206 }
207 + AudioManager.playSound(hotspot.data.onClickSound);
213 208 switch (hotspot.data.action) {
214 209 case 1:
215 210 if ((ref = this.object.events) != null) {
  @@ -312,6 +307,12 @@
312 307 hotspot.selected = GameManager.variableStore.booleanValueOf(hotspot.data["switch"]);
313 308 }
314 309 hovered = hotspot.dstRect.contains(Input.Mouse.x - hotspot.origin.x, Input.Mouse.y - hotspot.origin.y);
310 + if (hovered !== hotspot.hovered) {
311 + hotspot.hovered = hovered;
312 + if (hovered) {
313 + AudioManager.playSound(hotspot.data.onHoverSound);
314 + }
315 + }
315 316 this.updateHotspotImage(hotspot, hovered);
316 317 return hotspot.update();
317 318 };
  @@ -359,5 +360,5 @@
359 360
360 361 gs.Component_ImageMap = Component_ImageMap;
361 362
362 - //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLElBQUEsa0JBQUE7RUFBQTs7O0FBQU07Ozs7QUFDRjs7Ozs7Ozs7OytCQVFBLG1CQUFBLEdBQXFCLFNBQUMsSUFBRCxFQUFPLE9BQVA7QUFDakIsUUFBQTtJQUFBLElBQUMsQ0FBQSxrQkFBRCxDQUFBO0lBQ0EsSUFBQyxDQUFBLE1BQU0sQ0FBQyxTQUFSLENBQWtCLElBQUMsQ0FBQSxNQUFuQjtJQUVBLE1BQUEsR0FBUyxlQUFlLENBQUMsU0FBaEIsQ0FBMEIsb0JBQUEsR0FBcUIsSUFBQyxDQUFBLE1BQU0sQ0FBQyxNQUFPLENBQUEsQ0FBQSxDQUE5RDtJQUNULE1BQUEsR0FBYSxJQUFBLEVBQUUsQ0FBQyxNQUFILENBQVUsTUFBTSxDQUFDLEtBQWpCLEVBQXdCLE1BQU0sQ0FBQyxNQUEvQjtJQUNiLE1BQU0sQ0FBQyxHQUFQLENBQVcsQ0FBWCxFQUFjLENBQWQsRUFBaUIsTUFBakIsRUFBNkIsSUFBQSxJQUFBLENBQUssQ0FBTCxFQUFRLENBQVIsRUFBVyxNQUFNLENBQUMsS0FBbEIsRUFBeUIsTUFBTSxDQUFDLE1BQWhDLENBQTdCO0lBQ0EsSUFBQyxDQUFBLE1BQU0sQ0FBQyxNQUFSLEdBQWlCO0lBRWpCLElBQUMsQ0FBQSxhQUFELENBQWUsSUFBQyxDQUFBLFFBQWhCO0FBQ0E7QUFBQTtTQUFBLHFDQUFBOzttQkFDSSxJQUFDLENBQUEsTUFBTSxDQUFDLFNBQVIsQ0FBa0IsQ0FBbEI7QUFESjs7RUFWaUI7OztBQWFyQjs7Ozs7Ozs7O0VBUWEsNEJBQUE7SUFDVCxxREFBQSxTQUFBOztBQUVBOzs7Ozs7SUFNQSxJQUFDLENBQUEsTUFBRCxHQUFVOztBQUVWOzs7Ozs7SUFNQSxJQUFDLENBQUEsUUFBRCxHQUFZOztBQUVaOzs7Ozs7SUFNQSxJQUFDLENBQUEsZUFBRCxHQUFtQjs7QUFFbkI7Ozs7Ozs7SUFPQSxJQUFDLENBQUEsTUFBRCxHQUFVO0VB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K0JBTUEsWUFBQSxHQUFjLFNBQUE7SUFDVixJQUFDLENBQUEsTUFBTSxDQUFDLE9BQVIsR0FBa0IsSUFBQyxDQUFBLE1BQU0sQ0FBQztJQUMxQixJQUFDLENBQUEsTUFBTSxDQUFDLE9BQVIsR0FBa0IsSUFBQyxDQUFBLE1BQU0sQ0FBQztJQUMxQixJQUFDLENBQUEsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFmLEdBQW1CO0lBQ25CLElBQUMsQ0FBQSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQWYsR0FBbUI7SUFDbkIsSUFBQyxDQUFBLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYixDQUEyQixJQUFDLENBQUEsTUFBTSxDQUFDLElBQW5DO0lBQ0EsSUFBQyxDQUFBLE1BQU0sQ0FBQyxLQUFLLENBQUMsYUFBZCxDQUE0QixJQUFDLENBQUEsTUFBTSxDQUFDLEtBQXBDO1dBQ0EsSUFBQyxDQUFBLE1BQU0sQ0FBQyxNQUFSLENBQUE7RUFQVTs7O0FBU2Q7Ozs7OzsrQkFLQSxNQUFBLEdBQVEsU0FBQTtBQUNKLFFBQUE7SUFBQSw2Q0FBQTtJQUVBLElBQUMsQ0FBQSxZQUFELENBQUE7QUFFQTtBQUFBLFNBQUEscUNBQUE7O01BQ0ksSUFBQyxDQUFBLGFBQUQsQ0FBZSxPQUFmO0FBREo7QUFHQSxXQUFPO0VBUkg7Ozs7R0EzUXFCLEVBQUUsQ0FBQzs7QUFxUnBDLEVBQUUsQ0FBQyxrQkFBSCxHQUF3QiIsInNvdXJjZXNDb250ZW50IjpbIiMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuI1xuIyAgIFNjcmlwdDogQ29tcG9uZW50X0ltYWdlTWFwXG4jXG4jICAgJCRDT1BZUklHSFQkJFxuI1xuIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5jbGFzcyBDb21wb25lbnRfSW1hZ2VNYXAgZXh0ZW5kcyBncy5Db21wb25lbnRfVmlzdWFsXG4gICAgIyMjKlxuICAgICogQ2FsbGVkIGlmIHRoaXMgb2JqZWN0IGluc3RhbmNlIGlzIHJlc3RvcmVkIGZyb20gYSBkYXRhLWJ1bmRsZS4gSXQgY2FuIGJlIHVzZWRcbiAgICAqIHJlLWFzc2lnbiBldmVudC1oYW5kbGVyLCBhbm9ueW1vdXMgZnVuY3Rpb25zLCBldGMuXG4gICAgKiBcbiAgICAqIEBtZXRob2Qgb25EYXRhQnVuZGxlUmVzdG9yZS5cbiAgICAqIEBwYXJhbSBPYmplY3QgZGF0YSAtIFRoZSBkYXRhLWJ1bmRsZVxuICAgICogQHBhcmFtIGdzLk9iamVjdENvZGVjQ29udGV4dCBjb250ZXh0IC0gVGhlIGNvZGVjLWNvbnRleHQuXG4gICAgIyMjXG4gICAgb25EYXRhQnVuZGxlUmVzdG9yZTogKGRhdGEsIGNvbnRleHQpIC0+XG4gICAgICAgIEBzZXR1cEV2ZW50SGFuZGxlcnMoKVxuICAgICAgICBAb2JqZWN0LmFkZE9iamVjdChAZ3JvdW5kKVxuICAgICAgICBcbiAgICAgICAgYml0bWFwID0gUmVzb3VyY2VNYW5hZ2VyLmdldEJpdG1hcChcIkdyYXBoaWNzL1BpY3R1cmVzLyN7QG9iamVjdC5pbWFnZXNbMF19XCIpXG4gICAgICAgIGdyb3VuZCA9IG5ldyBncy5CaXRtYXAoYml0bWFwLndpZHRoLCBiaXRtYXAuaGVpZ2h0KVxuICAgICAgICBncm91bmQuYmx0KDAsIDAsIGJpdG1hcCwgbmV3IFJlY3QoMCwgMCwgYml0bWFwLndpZHRoLCBiaXRtYXAuaGVpZ2h0KSlcbiAgICAgICAgQGdyb3VuZC5iaXRtYXAgPSBncm91bmRcbiAgICAgICAgXG4gICAgICAgIEBzZXR1cEhvdHNwb3RzKEBob3RzcG90cylcbiAgICAgICAgZm9yIGggaW4gQGhvdHNwb3RzXG4gICAgICAgICAgICBAb2JqZWN0LmFkZE9iamVjdChoKVxuICAgICAgICBcbiAgICAjIyMqXG4gICAgKiBBIGNvbXBvbmVudCB3aGljaCB0dXJucyBhIGdhbWUgb2JqZWN0IGludG8gYW4gaW50ZXJhY3RpdmUgaW1hZ2UtbWFwLlxuICAgICpcbiAgICAqIEBtb2R1bGUgZ3NcbiAgICAqIEBjbGFzcyBDb21wb25lbnRfSW1hZ2VNYXBcbiAgICAqIEBleHRlbmRzIGdzLkNvbXBvbmVudF9WaXN1YWxcbiAgICAqIEBtZW1iZXJvZiBnc1xuICAgICMjI1xuICAgIGNvbnN0cnVjdG9yOiAtPlxuICAgICAgICBzdXBlclxuICAgICAgICBcbiAgICAgICAgIyMjKlxuICAgICAgICAqIFRoZSBncm91bmQvYmFzZSBpbWFnZS5cbiAgICAgICAgKiBAcHJvcGVydHkgZ3JvdW5kXG4gICAgICAgICogQHR5cGUgZ3MuT2JqZWN0X1BpY3R1cmVcbiAgICAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICAgICMjI1xuICAgICAgICBAZ3JvdW5kID0gbnVsbFxuICAgICAgICBcbiAgICAgICAgIyMjKlxuICAgICAgICAqIEFuIGFycmF5IG9mIGRpZmZlcmVudCBob3RzcG90cy5cbiAgICAgICAgKiBAcHJvcGVydHkgaG90c3BvdHNcbiAgICAgICAgKiBAdHlwZSBncy5PYmplY3RfUGljdHVyZVtdXG4gICAgICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAgICAjIyNcbiAgICAgICAgQGhvdHNwb3RzID0gbnVsbFxuICAgICAgIFxuICAgICAgICAjIyMqXG4gICAgICAgICogVGhlIHZhcmlhYmxlIGNvbnRleHQgdXNlZCBpZiBhIGhvdHNwb3QgbmVlZHMgdG8gZGVhbCB3aXRoIGxvY2FsIHZhcmlhYmxlcy5cbiAgICAgICAgKiBAcHJvcGVydHkgdmFyaWFibGVDb250ZXh0XG4gICAgICAgICogQHR5cGUgT2JqZWN0XG4gICAgICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAgICAjIyNcbiAgICAgICAgQHZhcmlhYmxlQ29udGV4dCA9IG51bGxcbiAgICAgICAgXG4gICAgICAgICMjIypcbiAgICAgICAgKiBJbmRpY2F0ZXMgaWYgdGhlIGltYWdlLW1hcCBpcyBhY3RpdmUuIEFuIGluLWFjdGl2ZSBpbWFnZS1tYXAgZG9lc24ndCByZXNwb25kXG4gICAgICAgICogdG8gYW55IGlucHV0LWV2ZW50LiBIb3ZlciBlZmZlY3RzIGFyZSBzdGlsbCB3b3JraW5nLlxuICAgICAgICAqIEBwcm9wZXJ0eSBhY3RpdmVcbiAgICAgICAgKiBAdHlwZSBib29sZWFuXG4gICAgICAgICogQGRlZmF1bHQgeWVzXG4gICAgICAgICMjI1xuICAgICAgICBAYWN0aXZlID0geWVzXG4gICAgICAgXG4gICAgIyMjKlxuICAgICogQWRkcyBldmVudC1oYW5kbGVyIGZvciBtb3VzZS90b3VjaCBldmVudHMgdG8gdXBkYXRlIHRoZSBjb21wb25lbnQgb25seSBpZiBcbiAgICAqIGEgdXNlci1hY3Rpb24gaGFwcGVuZWQuXG4gICAgKlxuICAgICogQG1ldGhvZCBzZXR1cEV2ZW50SGFuZGxlcnNcbiAgICAjIyMgXG4gICAgc2V0dXBFdmVudEhhbmRsZXJzOiAtPlxuICAgICAgICBncy5HbG9iYWxFdmVudE1hbmFnZXIub2ZmQnlPd25lcihcIm1vdXNlVXBcIiwgQG9iamVjdClcbiAgICAgICAgZ3MuR2xvYmFsRXZlbnRNYW5hZ2VyLm9uIFwibW91c2VVcFwiLCAoKGUpID0+IFxuICAgICAgICAgICAgY29udGFpbnMgPSBSZWN0LmNvbnRhaW5zKEBvYmplY3QuZHN0UmVjdC54LCBAb2JqZWN0LmRzdFJlY3QueSwgXG4gICAgICAgICAgICAgICAgICAgICAgICAgQG9iamVjdC5kc3RSZWN0LndpZHRoLCBAb2JqZWN0LmRzdFJlY3QuaGVpZ2h0LFxuICAgICAgICAgICAgICAgICAgICAgICAgIElucHV0Lk1vdXNlLnggLSBAb2JqZWN0Lm9yaWdpbi54LCBJbnB1dC5Nb3VzZS55IC0gQG9iamVjdC5vcmlnaW4ueSlcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgaWYgY29udGFpbnMgYW5kIEBhY3RpdmVcbiAgICAgICAgICAgICAgICBmb3IgaG90c3BvdCBpbiBAaG90c3BvdHNcbiAgICAgICAgICAgICAgICAgICAgaWYgQGNoZWNrSG90c3BvdEFjdGlvbihob3RzcG90KSBcbiAgICAgICAgICAgICAgICAgICAgICAgIGUuYnJlYWtDaGFpbiA9IHllc1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgaG90c3BvdC5kYXRhLmJpbmRUb1N3aXRjaFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhvdHNwb3Quc2VsZWN0ZWQgPSAhaG90c3BvdC5zZWxlY3RlZFxuICAgICAgICAgICAgICAgICAgICAgICAgQGV4ZWN1dGVIb3RzcG90QWN0aW9uKGhvdHNwb3QpXG4gICAgICAgICAgICAgICAgXG4gICAgICAgICksIG51bGwsIEBvYmplY3RcbiAgICAgICAgXG4gICAgXG4gICAgIyMjKlxuICAgICogSW5pdGlhbGl6ZXMgdGhlIGltYWdlLW1hcC4gQ3JlYXRlcyB0aGUgYmFja2dyb3VuZCBhbmQgaG90c3BvdHMuXG4gICAgKlxuICAgICogQG1ldGhvZCBzZXR1cFxuICAgICMjI1xuICAgIHNldHVwOiAtPlxuICAgICAgICBAc2V0dXBFdmVudEhhbmRsZXJzKClcbiAgICAgICAgQG9iamVjdC5ySW5kZXggPSAxMTAwMCAjIFJlY2VpdmUgSW5wdXQgRXZlbnRzIGZpcnN0XG4gICAgICAgIGJpdG1hcCA9IFJlc291cmNlTWFuYWdlci5nZXRCaXRtYXAoXCJHcmFwaGljcy9QaWN0dXJlcy8je0BvYmplY3QuaW1hZ2VzWzBdfVwiKVxuICAgICAgICBiaXRtYXAubWFrZU11dGFibGUoKVxuICAgICAgICBncm91bmQgPSBuZXcgZ3MuQml0bWFwKGJpdG1hcC53aWR0aCwgYml0bWFwLmhlaWdodClcbiAgICAgICAgZ3JvdW5kLmJsdCgwLCAwLCBiaXRtYXAsIG5ldyBSZWN0KDAsIDAsIGJpdG1hcC53aWR0aCwgYml0bWFwLmhlaWdodCkpXG4gICAgICAgIFxuICAgICAgICBAZ3JvdW5kID0gbmV3IGdzLk9iamVjdF9QaWN0dXJlKClcbiAgICAgICAgQGdyb3VuZC5iaXRtYXAgPSBncm91bmRcbiAgICAgICAgQGdyb3VuZC5pbWFnZSA9IG51bGxcbiAgICAgICAgQGdyb3VuZC56SW5kZXggPSBAb2JqZWN0LnpJbmRleFxuICAgICAgICBAZ3JvdW5kLmltYWdlSGFuZGxpbmcgPSBncy5JbWFnZUhhbmRsaW5nLkNVU1RPTV9TSVpFXG4gICAgICAgIEBvYmplY3QuYWRkT2JqZWN0KEBncm91bmQpXG4gICAgICAgIFxuICAgICAgICBAc2V0dXBIb3RzcG90cygpXG4gICAgICAgIFxuICAgICAgICBAZ3JvdW5kLnNyY1JlY3Quc2V0KDAsIDAsIGdyb3VuZC53aWR0aCwgZ3JvdW5kLmhlaWdodClcbiAgICAgICAgQGdyb3VuZC5kc3RSZWN0LndpZHRoID0gZ3JvdW5kLndpZHRoXG4gICAgICAgIEBncm91bmQuZHN0UmVjdC5oZWlnaHQgPSBncm91bmQuaGVpZ2h0XG4gICAgICAgIEBncm91bmQudXBkYXRlKClcbiAgICAgICAgXG4gICAgICAgIEBvYmplY3QuZHN0UmVjdC53aWR0aCA9IEBncm91bmQuZHN0UmVjdC53aWR0aFxuICAgICAgICBAb2JqZWN0LmRzdFJlY3QuaGVpZ2h0ID0gQGdyb3VuZC5kc3RSZWN0LmhlaWdodFxuICAgIFxuICAgICMjIypcbiAgICAqIFNldHMgdXAgdGhlIGhvdHNwb3RzIG9uIHRoZSBpbWFnZS1tYXAuIEVhY2ggaG90c3BvdCBpcyBhIGdzLk9iamVjdF9JbWFnZU1hcEhvdHNwb3RcbiAgICAqIG9iamVjdC5cbiAgICAqXG4gICAgKiBAbWV0aG9kIHNldHVwSG90c3BvdHNcbiAgICAjIyNcbiAgICBzZXR1cEhvdHNwb3RzOiAoaG90c3BvdHMpIC0+XG4gICAgICAgIEBob3RzcG90cyA9IEBvYmplY3QuaG90c3BvdHMuc2VsZWN0ICh2LCBpKSA9PiBcbiAgICAgICAgICAgIEBncm91bmQuYml0bWFwLmNsZWFyUmVjdCh2LngsIHYueSwgdi5zaXplLndpZHRoLCB2LnNpemUuaGVpZ2h0KVxuICAgICAgICAgICAgcGljdHVyZSA9IG5ldyBncy5PYmplY3RfSW1hZ2VNYXBIb3RzcG90KClcbiAgICAgICAgICAgIHBpY3R1cmUuZml4ZWRTaXplID0gdHJ1ZVxuICAgICAgICAgICAgcGljdHVyZS5zcmNSZWN0ID0gbmV3IFJlY3Qodi54LCB2LnksIHYuc2l6ZS53aWR0aCwgdi5zaXplLmhlaWdodClcbiAgICAgICAgICAgIHBpY3R1cmUuZHN0UmVjdCA9IG5ldyBSZWN0KHYueCwgdi55LCB2LnNpemUud2lkdGgsIHYuc2l6ZS5oZWlnaHQpXG4gICAgICAgICAgICBwaWN0dXJlLmltYWdlSGFuZGxpbmcgPSBncy5JbWFnZUhhbmRsaW5nLkNVU1RPTV9TSVpFXG4gICAgICAgICAgICBwaWN0dXJlLnpJbmRleCA9IEBvYmplY3QuekluZGV4ICsgMVxuICAgICAgICAgICAgcGljdHVyZS5zZWxlY3RlZCA9IGhvdHNwb3RzP1tpXT8uc2VsZWN0ZWQgPyBub1xuICAgICAgICAgICAgcGljdHVyZS5lbmFibGVkID0gaG90c3BvdHM/W2ldPy5lbmFibGVkID8geWVzXG4gICAgICAgICAgICBwaWN0dXJlLmFjdGlvbnMgPSB2LmRhdGEuYWN0aW9uc1xuICAgICAgICAgICAgcGljdHVyZS5kYXRhID0gdi5kYXRhXG4gICAgICAgICAgICBwaWN0dXJlLmNvbW1vbkV2ZW50SWQgPSB2LmNvbW1vbkV2ZW50SWRcbiAgICAgICAgICAgIHBpY3R1cmUuYW5jaG9yLnNldCgwLjUsIDAuNSlcbiAgICAgICAgICAgIEBvYmplY3QuYWRkT2JqZWN0KHBpY3R1cmUpXG4gICAgICAgICAgICBcbiAgICAgICAgICAgIHJldHVybiBwaWN0dXJlXG4gICAgICAgICAgICBcbiAgICAjIyMqXG4gICAgKiBJbml0aWFsaXplcyB0aGUgaW1hZ2UtbWFwLiBGcmVlcyBncm91bmQgaW1hZ2UuXG4gICAgKlxuICAgICogQG1ldGhvZCBkaXNwb3NlXG4gICAgIyMjXG4gICAgZGlzcG9zZTogLT5cbiAgICAgICAgc3VwZXJcbiAgICAgICAgZ3MuR2xvYmFsRXZlbnRNYW5hZ2VyLm9mZkJ5T3duZXIoXCJtb3VzZVVwXCIsIEBvYmplY3QpXG4gICAgICAgIEBncm91bmQuYml0bWFwLmRpc3Bvc2UoKVxuICAgICAgICBcbiAgICAjIyMqXG4gICAgKiBFeGVjdXRlcyBhIGhvdHNwb3QncyBhc3NvY2lhdGVkIGFjdGlvbi4gRGVwZW5kaW5nIG9uIHRoZSBjb25maWd1cmF0aW9uIGEgaG90c3BvdFxuICAgICogY2FuIHRyaWdnZXIgYSBjb21tb24tZXZlbnQgb3IgdHVybiBvbiBhIHN3aXRjaCBmb3IgZXhhbXBsZS5cbiAgICAqXG4gICAgKiBAbWV0aG9kIGV4ZWN1dGVIb3RzcG90QWN0aW9uXG4gICAgKiBAcGFyYW0ge2dzLk9iamVjdF9QaWN0dXJlfSBob3RzcG90IC0gVGhlIGhvdHNwb3Qgd2hlcmUgdGhlIGltYWdlIHNob3VsZCBiZSB1cGRhdGVkLlxuICAgICogQHByb3RlY3RlZFxuICAgICMjI1xuICAgIGV4ZWN1dGVIb3RzcG90QWN0aW9uOiAoaG90c3BvdCkgLT5cbiAgICAgICAgR2FtZU1hbmFnZXIudmFyaWFibGVTdG9yZS5zZXR1cFRlbXBWYXJpYWJsZXMoQHZhcmlhYmxlQ29udGV4dClcbiAgICAgICAgaWYgaG90c3BvdC5kYXRhLmJpbmRUb1N3aXRjaFxuICAgICAgICAgICAgZG9tYWluID0gR2FtZU1hbmFnZXIudmFyaWFibGVTdG9yZS5kb21haW5cbiAgICAgICAgICAgIEdhbWVNYW5hZ2VyLnZhcmlhYmxlU3RvcmUuc2V0Qm9vbGVhblZhbHVlVG8oaG90c3BvdC5kYXRhLnN3aXRjaCwgaG90c3BvdC5zZWxlY3RlZClcbiAgICAgICAgaWYgaG90c3BvdC5kYXRhLmJpbmRWYWx1ZVRvXG4gICAgICAgICAgICBkb21haW4gPSBHYW1lTWFuYWdlci52YXJpYWJsZVN0b3JlLmRvbWFpblxuICAgICAgICAgICAgR2FtZU1hbmFnZXIudmFyaWFibGVTdG9yZS5zZXROdW1iZXJWYWx1ZVRvKGhvdHNwb3QuZGF0YS5iaW5kVmFsdWVWYXJpYWJsZSwgaG90c3BvdC5kYXRhLmJpbmRWYWx1ZSlcbiAgICAgICAgICAgIFxuICAgICAgICBzd2l0Y2ggaG90c3BvdC5kYXRhLmFjdGlvblxuICAgICAgICAgICAgd2hlbiAxICMgSnVtcCBUb1xuICAgICAgICAgICAgICAgIEBvYmplY3QuZXZlbnRzPy5lbWl0KFwianVtcFRvXCIsIEBvYmplY3QsIHsgbGFiZWw6IGhvdHNwb3QuZGF0YS5sYWJlbCB9KVxuICAgICAgICAgICAgd2hlbiAyICMgQ2FsbCBDb21tb24gRXZlbnRcbiAgICAgICAgICAgICAgICBAb2JqZWN0LmV2ZW50cz8uZW1pdChcImNhbGxDb21tb25FdmVudFwiLCBAb2JqZWN0LCB7IGNvbW1vbkV2ZW50SWQ6IGhvdHNwb3QuZGF0YS5jb21tb25FdmVudElkLCBmaW5pc2g6IGhvdHNwb3QuZGF0YS5maW5pc2ggfSlcbiAgICAgICAgICAgIHdoZW4gMyAjIFVJIEFjdGlvblxuICAgICAgICAgICAgICAgIEBvYmplY3QuZXZlbnRzPy5lbWl0KFwiYWN0aW9uXCIsIEBvYmplY3QsIHsgYWN0aW9uczogaG90c3BvdC5kYXRhLmFjdGlvbnMgfSlcbiAgICAgICAgXG4gICAgICAgIGlmIGhvdHNwb3QuZGF0YS5maW5pc2hcbiAgICAgICAgICAgIEBvYmplY3QuZXZlbnRzPy5lbWl0KFwiZmluaXNoXCIsIEBvYmplY3QpXG4gICAgICAgICAgICBcbiAgICBcbiAgICAjIyMqXG4gICAgKiBDaGVja3MgaWYgYSBob3RzcG90J3MgYXNzb2NpYXRlZCBhY3Rpb24gbmVlZHMgdG8gYmUgZXhlY3V0ZWQuIERlcGVuZGluZyBvbiB0aGUgY29uZmlndXJhdGlvbiBhIGhvdHNwb3RcbiAgICAqIGNhbiB0cmlnZ2VyIGEgY29tbW9uLWV2ZW50IG9yIHR1cm4gb24gYSBzd2l0Y2ggZm9yIGV4YW1wbGUuXG4gICAgKlxuICAgICogQG1ldGhvZCB1cGRhdGVIb3RzcG90QWN0aW9uXG4gICAgKiBAcGFyYW0ge2dzLk9iamVjdF9QaWN0dXJlfSBob3RzcG90IC0gVGhlIGhvdHNwb3Qgd2hlcmUgdGhlIGltYWdlIHNob3VsZCBiZSB1cGRhdGVkLlxuICAgICogQHJldHVybiB7Ym9vbGVhbn0gSWYgPGI+dHJ1ZTwvYj4gdGhlIGhvdHNwb3QncyBhY3Rpb24gbmVlZHMgdG8gYmUgZXhlY3V0ZWQuIE90aGVyd2lzZSA8Yj5mYWxzZTwvYj4uXG4gICAgKiBAcHJvdGVjdGVkXG4gICAgIyMjXG4gICAgY2hlY2tIb3RzcG90QWN0aW9uOiAoaG90c3BvdCkgLT5cbiAgICAgICAgcmVzdWx0ID0gbm9cbiAgICAgICAgaG92ZXJlZCA9IGhvdHNwb3QuZHN0UmVjdC5jb250YWlucyhJbnB1dC5Nb3VzZS54IC0gaG90c3BvdC5vcmlnaW4ueCwgSW5wdXQuTW91c2UueSAtIGhvdHNwb3Qub3JpZ2luLnkpXG4gICAgICAgIFxuICAgICAgICBpZiBob3ZlcmVkIGFuZCBob3RzcG90LmVuYWJsZWQgYW5kIElucHV0Lk1vdXNlLmJ1dHRvbnNbSW5wdXQuTW91c2UuTEVGVF0gPT0gMlxuICAgICAgICAgICAgcmVzdWx0ID0geWVzXG4gICAgICAgICAgICBcbiAgICAgICAgcmV0dXJuIHJlc3VsdFxuICAgICAgICAgICAgXG4gICAgIyMjKlxuICAgICogVXBkYXRlcyBhIGhvdHNwb3QncyBpbWFnZS4gRGVwZW5kaW5nIG9uIHRoZSBzdGF0ZSB0aGUgaW1hZ2Ugb2YgYSBob3RzcG90IGNhblxuICAgICogY2hhbmdlIGZvciBleGFtcGxlIGlmIHRoZSBtb3VzZSBob3ZlcnMgb3ZlciBhIGhvdHNwb3QuXG4gICAgKlxuICAgICogQG1ldGhvZCB1cGRhdGVIb3RzcG90SW1hZ2VcbiAgICAqIEBwYXJhbSB7Z3MuT2JqZWN0X1BpY3R1cmV9IGhvdHNwb3QgLSBUaGUgaG90c3BvdCB3aGVyZSB0aGUgaW1hZ2Ugc2hvdWxkIGJlIHVwZGF0ZWQuXG4gICAgKiBAcGFyYW0ge2Jvb2xlYW59IGhvdmVyZWQgLSBJbmRpY2F0ZXMgaWYgdGhlIGhvdHNwb3QgaXMgaG92ZXJlZCBieSBtb3VzZS90b3VjaCBjdXJzb3IuXG4gICAgKiBAcHJvdGVjdGVkXG4gICAgIyMjXG4gICAgdXBkYXRlSG90c3BvdEltYWdlOiAoaG90c3BvdCwgaG92ZXJlZCkgLT5cbiAgICAgICAgYmFzZUltYWdlID0gaWYgaG90c3BvdC5lbmFibGVkIHRoZW4gQG9iamVjdC5pbWFnZXNbMl0gfHwgQG9iamVjdC5pbWFnZXNbMF0gZWxzZSBAb2JqZWN0LmltYWdlc1swXSBcbiAgICAgICAgaWYgaG92ZXJlZCBhbmQgaG90c3BvdC5lbmFibGVkXG4gICAgICAgICAgICBpZiBob3RzcG90LnNlbGVjdGVkXG4gICAgICAgICAgICAgICAgaG90c3BvdC5pbWFnZSA9IEBvYmplY3QuaW1hZ2VzWzRdIHx8IEBvYmplY3QuaW1hZ2VzWzFdIHx8IGJhc2VJbWFnZVxuICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgIGhvdHNwb3QuaW1hZ2UgPSBAb2JqZWN0LmltYWdlc1sxXSB8fCBiYXNlSW1hZ2VcbiAgICAgICAgZWxzZVxuICAgICAgICAgICAgaWYgaG90c3BvdC5zZWxlY3RlZFxuICAgICAgICAgICAgICAgIGhvdHNwb3QuaW1hZ2UgPSBAb2JqZWN0LmltYWdlc1szXSB8fCBiYXNlSW1hZ2VcbiAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICBob3RzcG90LmltYWdlID0gYmFzZUltYWdlXG4gICAgXG4gICAgIyMjKlxuICAgICogVXBkYXRlcyBhIGhvdHNwb3QuXG4gICAgKlxuICAgICogQG1ldGhvZCB1cGRhdGVIb3RzcG90XG4gICAgKiBAcGFyYW0ge2dzLk9iamVjdF9QaWN0dXJlfSBob3RzcG90IC0gVGhlIGhvdHNwb3QgdG8gdXBkYXRlLlxuICAgICogQHByb3RlY3RlZFxuICAgICMjIyAgICAgICAgICAgIFxuICAgIHVwZGF0ZUhvdHNwb3Q6IChob3RzcG90KSAtPlxuICAgICAgICBob3RzcG90LnZpc2libGUgPSBAb2JqZWN0LnZpc2libGVcbiAgICAgICAgaG90c3BvdC5vcGFjaXR5ID0gQG9iamVjdC5vcGFjaXR5XG4gICAgICAgIGhvdHNwb3QudG9uZS5zZXRGcm9tT2JqZWN0KEBvYmplY3QudG9uZSlcbiAgICAgICAgaG90c3BvdC5jb2xvci5zZXRGcm9tT2JqZWN0KEBvYmplY3QuY29sb3IpXG4gICAgICAgIGlmIGhvdHNwb3QuZGF0YS5iaW5kRW5hYmxlZFN0YXRlXG4gICAgICAgICAgICBHYW1lTWFuYWdlci52YXJpYWJsZVN0b3JlLnNldHVwVGVtcFZhcmlhYmxlcyhAdmFyaWFibGVDb250ZXh0KVxuICAgICAgICAgICAgaG90c3BvdC5lbmFibGVkID0gR2FtZU1hbmFnZXIudmFyaWFibGVTdG9yZS5ib29sZWFuVmFsdWVPZihob3RzcG90LmRhdGEuZW5hYmxlZFN3aXRjaClcbiAgICAgICAgaWYgaG90c3BvdC5kYXRhLmJpbmRUb1N3aXRjaFxuICAgICAgICAgICAgR2FtZU1hbmFnZXIudmFyaWFibGVTdG9yZS5zZXR1cFRlbXBWYXJpYWJsZXMoQHZhcmlhYmxlQ29udGV4dClcbiAgICAgICAgICAgIGhvdHNwb3Quc2VsZWN0ZWQgPSBHYW1lTWFuYWdlci52YXJpYWJsZVN0b3JlLmJvb2xlYW5WYWx1ZU9mKGhvdHNwb3QuZGF0YS5zd2l0Y2gpXG4gICAgICAgIGhvdmVyZWQgPSBob3RzcG90LmRzdFJlY3QuY29udGFpbnMoSW5wdXQuTW91c2UueCAtIGhvdHNwb3Qub3JpZ2luLngsIElucHV0Lk1vdXNlLnkgLSBob3RzcG90Lm9yaWdpbi55KVxuICAgICAgICBcbiAgICAgICAgQHVwZGF0ZUhvdHNwb3RJbWFnZShob3RzcG90LCBob3ZlcmVkKSAgICAgICBcbiAgICAgICAgaG90c3BvdC51cGRhdGUoKSAgICAgICAgXG4gICAgIFxuICAgICMjIypcbiAgICAqIFVwZGF0ZXMgdGhlIGdyb3VuZC1pbWFnZS5cbiAgICAqXG4gICAgKiBAbWV0aG9kIHVwZGF0ZUdyb3VuZFxuICAgICogQHByb3RlY3RlZFxuICAgICMjIyAgIFxuICAgIHVwZGF0ZUdyb3VuZDogLT5cbiAgICAgICAgQGdyb3VuZC52aXNpYmxlID0gQG9iamVjdC52aXNpYmxlXG4gICAgICAgIEBncm91bmQub3BhY2l0eSA9IEBvYmplY3Qub3BhY2l0eVxuICAgICAgICBAZ3JvdW5kLmFuY2hvci54ID0gMC41XG4gICAgICAgIEBncm91bmQuYW5jaG9yLnkgPSAwLjVcbiAgICAgICAgQGdyb3VuZC50b25lLnNldEZyb21PYmplY3QoQG9iamVjdC50b25lKVxuICAgICAgICBAZ3JvdW5kLmNvbG9yLnNldEZyb21PYmplY3QoQG9iamVjdC5jb2xvcilcbiAgICAgICAgQGdyb3VuZC51cGRhdGUoKVxuICAgICAgICBcbiAgICAjIyMqXG4gICAgKiBVcGRhdGVzIHRoZSBpbWFnZS1tYXAncyBncm91bmQgYW5kIGFsbCBob3RzcG90cy5cbiAgICAqXG4gICAgKiBAbWV0aG9kIHVwZGF0ZVxuICAgICMjI1xuICAgIHVwZGF0ZTogLT5cbiAgICAgICAgc3VwZXIoKVxuICAgICAgICBcbiAgICAgICAgQHVwZGF0ZUdyb3VuZCgpXG4gICAgICAgIFxuICAgICAgICBmb3IgaG90c3BvdCBpbiBAaG90c3BvdHNcbiAgICAgICAgICAgIEB1cGRhdGVIb3RzcG90KGhvdHNwb3QpXG4gICAgICAgICAgICBcbiAgICAgICAgcmV0dXJuIG51bGxcbiAgICAgICAgICAgICAgICBcbmdzLkNvbXBvbmVudF9JbWFnZU1hcCA9IENvbXBvbmVudF9JbWFnZU1hcCJdfQ==
363 + //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLElBQUEsa0JBQUE7RUFBQTs7O0FBQU07Ozs7QUFDRjs7Ozs7Ozs7OytCQVFBLG1CQUFBLEdBQXFCLFNBQUMsSUFBRCxFQUFPLE9BQVA7QUFDakIsUUFBQTtJQUFBLElBQUMsQ0FBQSxrQkFBRCxDQUFBO0lBQ0EsSUFBQyxDQUFBLE1BQU0sQ0FBQyxTQUFSLENBQWtCLElBQUMsQ0FBQSxNQUFuQjtJQUVBLE1BQUEsR0FBUyxlQUFlLENBQUMsU0FBaEIsQ0FBMEIsb0JBQUEsR0FBcUIsSUFBQyxDQUFBLE1BQU0sQ0FBQyxNQUFPLENBQUEsQ0FBQSxDQUE5RDtJQUNULE1BQUEsR0FBYSxJQUFBLEVBQUUsQ0FBQyxNQUFILENBQVUsTUFBTSxDQUFDLEtBQWpCLEVBQXdCLE1BQU0sQ0FBQyxNQUEvQjtJQUNiLE1BQU0sQ0FBQyxHQUFQLENBQVcsQ0FBWCxFQUFjLENBQWQsRUFBaUIsTUFBakIsRUFBNkIsSUFBQSxJQUFBLENBQUssQ0FBTCxFQUFRLENBQVIsRUFBVyxNQUFNLENBQUMsS0FBbEIsRUFBeUIsTUFBTSxDQUFDLE1BQWhDLENBQTdCO0lBQ0EsSUFBQyxDQUFBLE1BQU0sQ0FBQyxNQUFSLEdBQWlCO1dBRWpCLElBQUMsQ0FBQSxhQUFELENBQWUsSUFBQyxDQUFBLFFBQWhCO0VBVGlCOzs7QUFXckI7Ozs7Ozs7OztFQVFhLDRCQUFBO0lBQ1QscURBQUEsU0FBQTs7QUFFQTs7Ozs7O0lBTUEsSUFBQyxDQUFBLE1BQUQsR0FBVTs7QUFFVjs7Ozs7O0lBTUEsSUFBQyxDQUFBLFFBQUQsR0FBWTs7QUFFWjs7Ozs7O0lBTUEsSUFBQyxDQUFBLGVBQUQsR0FBbUI7O0FBRW5COzs7Ozs7O0lBT0EsSUFBQyxDQUFBLE1BQUQsR0FBVTtFQWxDRDs7O0FBb0NiOzs7Ozs7OytCQU1BLGtCQUFBLEdBQW9CLFNBQUE7SUFDaEIsRUFBRSxDQUFDLGtCQUFrQixDQUFDLFVB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QUFBLFlBQVksQ0FBQyxTQUFiLENBQXVCLE9BQU8sQ0FBQyxJQUFJLENBQUMsWUFBcEMsRUFBQTtPQUZKOztJQUdBLElBQUMsQ0FBQSxrQkFBRCxDQUFvQixPQUFwQixFQUE2QixPQUE3QjtXQUNBLE9BQU8sQ0FBQyxNQUFSLENBQUE7RUFoQlc7OztBQWtCZjs7Ozs7OzsrQkFNQSxZQUFBLEdBQWMsU0FBQTtJQUNWLElBQUMsQ0FBQSxNQUFNLENBQUMsT0FBUixHQUFrQixJQUFDLENBQUEsTUFBTSxDQUFDO0lBQzFCLElBQUMsQ0FBQSxNQUFNLENBQUMsT0FBUixHQUFrQixJQUFDLENBQUEsTUFBTSxDQUFDO0lBQzFCLElBQUMsQ0FBQSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQWYsR0FBbUI7SUFDbkIsSUFBQyxDQUFBLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBZixHQUFtQjtJQUNuQixJQUFDLENBQUEsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFiLENBQTJCLElBQUMsQ0FBQSxNQUFNLENBQUMsSUFBbkM7SUFDQSxJQUFDLENBQUEsTUFBTSxDQUFDLEtBQUssQ0FBQyxhQUFkLENBQTRCLElBQUMsQ0FBQSxNQUFNLENBQUMsS0FBcEM7V0FDQSxJQUFDLENBQUEsTUFBTSxDQUFDLE1BQVIsQ0FBQTtFQVBVOzs7QUFTZDs7Ozs7OytCQUtBLE1BQUEsR0FBUSxTQUFBO0FBQ0osUUFBQTtJQUFBLDZDQUFBO0lBRUEsSUFBQyxDQUFBLFlBQUQsQ0FBQTtBQUVBO0FBQUEsU0FBQSxxQ0FBQTs7TUFDSSxJQUFDLENBQUEsYUFBRCxDQUFlLE9BQWY7QUFESjtBQUdBLFdBQU87RUFSSDs7OztHQTlRcUIsRUFBRSxDQUFDOztBQXdScEMsRUFBRSxDQUFDLGtCQUFILEdBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4jXG4jICAgU2NyaXB0OiBDb21wb25lbnRfSW1hZ2VNYXBcbiNcbiMgICAkJENPUFlSSUdIVCQkXG4jXG4jID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbmNsYXNzIENvbXBvbmVudF9JbWFnZU1hcCBleHRlbmRzIGdzLkNvbXBvbmVudF9WaXN1YWxcbiAgICAjIyMqXG4gICAgKiBDYWxsZWQgaWYgdGhpcyBvYmplY3QgaW5zdGFuY2UgaXMgcmVzdG9yZWQgZnJvbSBhIGRhdGEtYnVuZGxlLiBJdCBjYW4gYmUgdXNlZFxuICAgICogcmUtYXNzaWduIGV2ZW50LWhhbmRsZXIsIGFub255bW91cyBmdW5jdGlvbnMsIGV0Yy5cbiAgICAqIFxuICAgICogQG1ldGhvZCBvbkRhdGFCdW5kbGVSZXN0b3JlLlxuICAgICogQHBhcmFtIE9iamVjdCBkYXRhIC0gVGhlIGRhdGEtYnVuZGxlXG4gICAgKiBAcGFyYW0gZ3MuT2JqZWN0Q29kZWNDb250ZXh0IGNvbnRleHQgLSBUaGUgY29kZWMtY29udGV4dC5cbiAgICAjIyNcbiAgICBvbkRhdGFCdW5kbGVSZXN0b3JlOiAoZGF0YSwgY29udGV4dCkgLT5cbiAgICAgICAgQHNldHVwRXZlbnRIYW5kbGVycygpXG4gICAgICAgIEBvYmplY3QuYWRkT2JqZWN0KEBncm91bmQpXG4gICAgICAgIFxuICAgICAgICBiaXRtYXAgPSBSZXNvdXJjZU1hbmFnZXIuZ2V0Qml0bWFwKFwiR3JhcGhpY3MvUGljdHVyZXMvI3tAb2JqZWN0LmltYWdlc1swXX1cIilcbiAgICAgICAgZ3JvdW5kID0gbmV3IGdzLkJpdG1hcChiaXRtYXAud2lkdGgsIGJpdG1hcC5oZWlnaHQpXG4gICAgICAgIGdyb3VuZC5ibHQoMCwgMCwgYml0bWFwLCBuZXcgUmVjdCgwLCAwLCBiaXRtYXAud2lkdGgsIGJpdG1hcC5oZWlnaHQpKVxuICAgICAgICBAZ3JvdW5kLmJpdG1hcCA9IGdyb3VuZFxuICAgICAgICBcbiAgICAgICAgQHNldHVwSG90c3BvdHMoQGhvdHNwb3RzKVxuXG4gICAgIyMjKlxuICAgICogQSBjb21wb25lbnQgd2hpY2ggdHVybnMgYSBnYW1lIG9iamVjdCBpbnRvIGFuIGludGVyYWN0aXZlIGltYWdlLW1hcC5cbiAgICAqXG4gICAgKiBAbW9kdWxlIGdzXG4gICAgKiBAY2xhc3MgQ29tcG9uZW50X0ltYWdlTWFwXG4gICAgKiBAZXh0ZW5kcyBncy5Db21wb25lbnRfVmlzdWFsXG4gICAgKiBAbWVtYmVyb2YgZ3NcbiAgICAjIyNcbiAgICBjb25zdHJ1Y3RvcjogLT5cbiAgICAgICAgc3VwZXJcbiAgICAgICAgXG4gICAgICAgICMjIypcbiAgICAgICAgKiBUaGUgZ3JvdW5kL2Jhc2UgaW1hZ2UuXG4gICAgICAgICogQHByb3BlcnR5IGdyb3VuZFxuICAgICAgICAqIEB0eXBlIGdzLk9iamVjdF9QaWN0dXJlXG4gICAgICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAgICAjIyNcbiAgICAgICAgQGdyb3VuZCA9IG51bGxcbiAgICAgICAgXG4gICAgICAgICMjIypcbiAgICAgICAgKiBBbiBhcnJheSBvZiBkaWZmZXJlbnQgaG90c3BvdHMuXG4gICAgICAgICogQHByb3BlcnR5IGhvdHNwb3RzXG4gICAgICAgICogQHR5cGUgZ3MuT2JqZWN0X1BpY3R1cmVbXVxuICAgICAgICAqIEBkZWZhdWx0IG51bGxcbiAgICAgICAgIyMjXG4gICAgICAgIEBob3RzcG90cyA9IG51bGxcbiAgICAgICBcbiAgICAgICAgIyMjKlxuICAgICAgICAqIFRoZSB2YXJpYWJsZSBjb250ZXh0IHVzZWQgaWYgYSBob3RzcG90IG5lZWRzIHRvIGRlYWwgd2l0aCBsb2NhbCB2YXJpYWJsZXMuXG4gICAgICAgICogQHByb3BlcnR5IHZhcmlhYmxlQ29udGV4dFxuICAgICAgICAqIEB0eXBlIE9iamVjdFxuICAgICAgICAqIEBkZWZhdWx0IG51bGxcbiAgICAgICAgIyMjXG4gICAgICAgIEB2YXJpYWJsZUNvbnRleHQgPSBudWxsXG4gICAgICAgIFxuICAgICAgICAjIyMqXG4gICAgICAgICogSW5kaWNhdGVzIGlmIHRoZSBpbWFnZS1tYXAgaXMgYWN0aXZlLiBBbiBpbi1hY3RpdmUgaW1hZ2UtbWFwIGRvZXNuJ3QgcmVzcG9uZFxuICAgICAgICAqIHRvIGFueSBpbnB1dC1ldmVudC4gSG92ZXIgZWZmZWN0cyBhcmUgc3RpbGwgd29ya2luZy5cbiAgICAgICAgKiBAcHJvcGVydHkgYWN0aXZlXG4gICAgICAgICogQHR5cGUgYm9vbGVhblxuICAgICAgICAqIEBkZWZhdWx0IHllc1xuICAgICAgICAjIyNcbiAgICAgICAgQGFjdGl2ZSA9IHllc1xuICAgICAgIFxuICAgICMjIypcbiAgICAqIEFkZHMgZXZlbnQtaGFuZGxlciBmb3IgbW91c2UvdG91Y2ggZXZlbnRzIHRvIHVwZGF0ZSB0aGUgY29tcG9uZW50IG9ubHkgaWYgXG4gICAgKiBhIHVzZXItYWN0aW9uIGhhcHBlbmVkLlxuICAgICpcbiAgICAqIEBtZXRob2Qgc2V0dXBFdmVudEhhbmRsZXJzXG4gICAgIyMjIFxuICAgIHNldHVwRXZlbnRIYW5kbGVyczogLT5cbiAgICAgICAgZ3MuR2xvYmFsRXZlbnRNYW5hZ2VyLm9mZkJ5T3duZXIoXCJtb3VzZVVwXCIsIEBvYmplY3QpXG4gICAgICAgIGdzLkdsb2JhbEV2ZW50TWFuYWdlci5vbiBcIm1vdXNlVXBcIiwgKChlKSA9PiBcbiAgICAgICAgICAgIGNvbnRhaW5zID0gUmVjdC5jb250YWlucyhAb2JqZWN0LmRzdFJlY3QueCwgQG9iamVjdC5kc3RSZWN0LnksIFxuICAgICAgICAgICAgICAgICAgICAgICAgIEBvYmplY3QuZHN0UmVjdC53aWR0aCwgQG9iamVjdC5kc3RSZWN0LmhlaWdodCxcbiAgICAgICAgICAgICAgICAgICAgICAgICBJbnB1dC5Nb3VzZS54IC0gQG9iamVjdC5vcmlnaW4ueCwgSW5wdXQuTW91c2UueSAtIEBvYmplY3Qub3JpZ2luLnkpXG4gICAgICAgICAgICBcbiAgICAgICAgICAgIGlmIGNvbnRhaW5zIGFuZCBAYWN0aXZlXG4gICAgICAgICAgICAgICAgZm9yIGhvdHNwb3QgaW4gQGhvdHNwb3RzXG4gICAgICAgICAgICAgICAgICAgIGlmIEBjaGVja0hvdHNwb3RBY3Rpb24oaG90c3BvdCkgXG4gICAgICAgICAgICAgICAgICAgICAgICBlLmJyZWFrQ2hhaW4gPSB5ZXNcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIGhvdHNwb3QuZGF0YS5iaW5kVG9Td2l0Y2hcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBob3RzcG90LnNlbGVjdGVkID0gIWhvdHNwb3Quc2VsZWN0ZWRcbiAgICAgICAgICAgICAgICAgICAgICAgIEBleGVjdXRlSG90c3BvdEFjdGlvbihob3RzcG90KVxuICAgICAgICAgICAgICAgIFxuICAgICAgICApLCBudWxsLCBAb2JqZWN0XG4gICAgICAgIFxuICAgIFxuICAgICMjIypcbiAgICAqIEluaXRpYWxpemVzIHRoZSBpbWFnZS1tYXAuIENyZWF0ZXMgdGhlIGJhY2tncm91bmQgYW5kIGhvdHNwb3RzLlxuICAgICpcbiAgICAqIEBtZXRob2Qgc2V0dXBcbiAgICAjIyNcbiAgICBzZXR1cDogLT5cbiAgICAgICAgQHNldHVwRXZlbnRIYW5kbGVycygpXG4gICAgICAgIEBvYmplY3QuckluZGV4ID0gMTEwMDAgIyBSZWNlaXZlIElucHV0IEV2ZW50cyBmaXJzdFxuICAgICAgICBiaXRtYXAgPSBSZXNvdXJjZU1hbmFnZXIuZ2V0Qml0bWFwKFwiR3JhcGhpY3MvUGljdHVyZXMvI3tAb2JqZWN0LmltYWdlc1swXX1cIilcbiAgICAgICAgYml0bWFwLm1ha2VNdXRhYmxlKClcbiAgICAgICAgZ3JvdW5kID0gbmV3IGdzLkJpdG1hcChiaXRtYXAud2lkdGgsIGJpdG1hcC5oZWlnaHQpXG4gICAgICAgIGdyb3VuZC5ibHQoMCwgMCwgYml0bWFwLCBuZXcgUmVjdCgwLCAwLCBiaXRtYXAud2lkdGgsIGJpdG1hcC5oZWlnaHQpKVxuICAgICAgICBcbiAgICAgICAgQGdyb3VuZCA9IG5ldyBncy5PYmplY3RfUGljdHVyZSgpXG4gICAgICAgIEBncm91bmQuYml0bWFwID0gZ3JvdW5kXG4gICAgICAgIEBncm91bmQuaW1hZ2UgPSBudWxsXG4gICAgICAgIEBncm91bmQuekluZGV4ID0gQG9iamVjdC56SW5kZXhcbiAgICAgICAgQGdyb3VuZC5pbWFnZUhhbmRsaW5nID0gZ3MuSW1hZ2VIYW5kbGluZy5DVVNUT01fU0laRVxuICAgICAgICBAb2JqZWN0LmFkZE9iamVjdChAZ3JvdW5kKVxuICAgICAgICBcbiAgICAgICAgQHNldHVwSG90c3BvdHMoKVxuICAgICAgICBcbiAgICAgICAgQGdyb3VuZC5zcmNSZWN0LnNldCgwLCAwLCBncm91bmQud2lkdGgsIGdyb3VuZC5oZWlnaHQpXG4gICAgICAgIEBncm91bmQuZHN0UmVjdC53aWR0aCA9IGdyb3VuZC53aWR0aFxuICAgICAgICBAZ3JvdW5kLmRzdFJlY3QuaGVpZ2h0ID0gZ3JvdW5kLmhlaWdodFxuICAgICAgICBAZ3JvdW5kLnVwZGF0ZSgpXG4gICAgICAgIFxuICAgICAgICBAb2JqZWN0LmRzdFJlY3Qud2lkdGggPSBAZ3JvdW5kLmRzdFJlY3Qud2lkdGhcbiAgICAgICAgQG9iamVjdC5kc3RSZWN0LmhlaWdodCA9IEBncm91bmQuZHN0UmVjdC5oZWlnaHRcbiAgICBcbiAgICAjIyMqXG4gICAgKiBTZXRzIHVwIHRoZSBob3RzcG90cyBvbiB0aGUgaW1hZ2UtbWFwLiBFYWNoIGhvdHNwb3QgaXMgYSBncy5PYmplY3RfSW1hZ2VNYXBIb3RzcG90XG4gICAgKiBvYmplY3QuXG4gICAgKlxuICAgICogQG1ldGhvZCBzZXR1cEhvdHNwb3RzXG4gICAgIyMjXG4gICAgc2V0dXBIb3RzcG90czogKGhvdHNwb3RzKSAtPlxuICAgICAgICBAaG90c3BvdHMgPSBAb2JqZWN0LmhvdHNwb3RzLnNlbGVjdCAodiwgaSkgPT4gXG4gICAgICAgICAgICBAZ3JvdW5kLmJpdG1hcC5jbGVhclJlY3Qodi54LCB2LnksIHYuc2l6ZS53aWR0aCwgdi5zaXplLmhlaWdodClcbiAgICAgICAgICAgIHBpY3R1cmUgPSBuZXcgZ3MuT2JqZWN0X0ltYWdlTWFwSG90c3BvdCgpXG4gICAgICAgICAgICBwaWN0dXJlLmZpeGVkU2l6ZSA9IHRydWVcbiAgICAgICAgICAgIHBpY3R1cmUuc3JjUmVjdCA9IG5ldyBSZWN0KHYueCwgdi55LCB2LnNpemUud2lkdGgsIHYuc2l6ZS5oZWlnaHQpXG4gICAgICAgICAgICBwaWN0dXJlLmRzdFJlY3QgPSBuZXcgUmVjdCh2LngsIHYueSwgdi5zaXplLndpZHRoLCB2LnNpemUuaGVpZ2h0KVxuICAgICAgICAgICAgcGljdHVyZS5pbWFnZUhhbmRsaW5nID0gZ3MuSW1hZ2VIYW5kbGluZy5DVVNUT01fU0laRVxuICAgICAgICAgICAgcGljdHVyZS56SW5kZXggPSBAb2JqZWN0LnpJbmRleCArIDFcbiAgICAgICAgICAgIHBpY3R1cmUuc2VsZWN0ZWQgPSBob3RzcG90cz9baV0/LnNlbGVjdGVkID8gbm9cbiAgICAgICAgICAgIHBpY3R1cmUuaG92ZXJlZCA9IG5vXG4gICAgICAgICAgICBwaWN0dXJlLmVuYWJsZWQgPSBob3RzcG90cz9baV0/LmVuYWJsZWQgPyB5ZXNcbiAgICAgICAgICAgIHBpY3R1cmUuYWN0aW9ucyA9IHYuZGF0YS5hY3Rpb25zXG4gICAgICAgICAgICBwaWN0dXJlLmRhdGEgPSB2LmRhdGFcbiAgICAgICAgICAgIHBpY3R1cmUuY29tbW9uRXZlbnRJZCA9IHYuY29tbW9uRXZlbnRJZFxuICAgICAgICAgICAgcGljdHVyZS5hbmNob3Iuc2V0KDAuNSwgMC41KVxuICAgICAgICAgICAgQG9iamVjdC5hZGRPYmplY3QocGljdHVyZSlcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgcmV0dXJuIHBpY3R1cmVcbiAgICAgICAgICAgIFxuICAgICMjIypcbiAgICAqIEluaXRpYWxpemVzIHRoZSBpbWFnZS1tYXAuIEZyZWVzIGdyb3VuZCBpbWFnZS5cbiAgICAqXG4gICAgKiBAbWV0aG9kIGRpc3Bvc2VcbiAgICAjIyNcbiAgICBkaXNwb3NlOiAtPlxuICAgICAgICBzdXBlclxuICAgICAgICBncy5HbG9iYWxFdmVudE1hbmFnZXIub2ZmQnlPd25lcihcIm1vdXNlVXBcIiwgQG9iamVjdClcbiAgICAgICAgQGdyb3VuZC5iaXRtYXAuZGlzcG9zZSgpXG4gICAgICAgIFxuICAgICMjIypcbiAgICAqIEV4ZWN1dGVzIGEgaG90c3BvdCdzIGFzc29jaWF0ZWQgYWN0aW9uLiBEZXBlbmRpbmcgb24gdGhlIGNvbmZpZ3VyYXRpb24gYSBob3RzcG90XG4gICAgKiBjYW4gdHJpZ2dlciBhIGNvbW1vbi1ldmVudCBvciB0dXJuIG9uIGEgc3dpdGNoIGZvciBleGFtcGxlLlxuICAgICpcbiAgICAqIEBtZXRob2QgZXhlY3V0ZUhvdHNwb3RBY3Rpb25cbiAgICAqIEBwYXJhbSB7Z3MuT2JqZWN0X1BpY3R1cmV9IGhvdHNwb3QgLSBUaGUgaG90c3BvdCB3aGVyZSB0aGUgaW1hZ2Ugc2hvdWxkIGJlIHVwZGF0ZWQuXG4gICAgKiBAcHJvdGVjdGVkXG4gICAgIyMjXG4gICAgZXhlY3V0ZUhvdHNwb3RBY3Rpb246IChob3RzcG90KSAtPlxuICAgICAgICBHYW1lTWFuYWdlci52YXJpYWJsZVN0b3JlLnNldHVwVGVtcFZhcmlhYmxlcyhAdmFyaWFibGVDb250ZXh0KVxuICAgICAgICBpZiBob3RzcG90LmRhdGEuYmluZFRvU3dpdGNoXG4gICAgICAgICAgICBkb21haW4gPSBHYW1lTWFuYWdlci52YXJpYWJsZVN0b3JlLmRvbWFpblxuICAgICAgICAgICAgR2FtZU1hbmFnZXIudmFyaWFibGVTdG9yZS5zZXRCb29sZWFuVmFsdWVUbyhob3RzcG90LmRhdGEuc3dpdGNoLCBob3RzcG90LnNlbGVjdGVkKVxuICAgICAgICBpZiBob3RzcG90LmRhdGEuYmluZFZhbHVlVG9cbiAgICAgICAgICAgIGRvbWFpbiA9IEdhbWVNYW5hZ2VyLnZhcmlhYmxlU3RvcmUuZG9tYWluXG4gICAgICAgICAgICBHYW1lTWFuYWdlci52YXJpYWJsZVN0b3JlLnNldE51bWJlclZhbHVlVG8oaG90c3BvdC5kYXRhLmJpbmRWYWx1ZVZhcmlhYmxlLCBob3RzcG90LmRhdGEuYmluZFZhbHVlKVxuICAgICAgICAgICAgXG4gICAgICAgIEF1ZGlvTWFuYWdlci5wbGF5U291bmQoaG90c3BvdC5kYXRhLm9uQ2xpY2tTb3VuZClcbiAgICAgICAgc3dpdGNoIGhvdHNwb3QuZGF0YS5hY3Rpb25cbiAgICAgICAgICAgIHdoZW4gMSAjIEp1bXAgVG9cbiAgICAgICAgICAgICAgICBAb2JqZWN0LmV2ZW50cz8uZW1pdChcImp1bXBUb1wiLCBAb2JqZWN0LCB7IGxhYmVsOiBob3RzcG90LmRhdGEubGFiZWwgfSlcbiAgICAgICAgICAgIHdoZW4gMiAjIENhbGwgQ29tbW9uIEV2ZW50XG4gICAgICAgICAgICAgICAgQG9iamVjdC5ldmVudHM/LmVtaXQoXCJjYWxsQ29tbW9uRXZlbnRcIiwgQG9iamVjdCwgeyBjb21tb25FdmVudElkOiBob3RzcG90LmRhdGEuY29tbW9uRXZlbnRJZCwgZmluaXNoOiBob3RzcG90LmRhdGEuZmluaXNoIH0pXG4gICAgICAgICAgICB3aGVuIDMgIyBVSSBBY3Rpb25cbiAgICAgICAgICAgICAgICBAb2JqZWN0LmV2ZW50cz8uZW1pdChcImFjdGlvblwiLCBAb2JqZWN0LCB7IGFjdGlvbnM6IGhvdHNwb3QuZGF0YS5hY3Rpb25zIH0pXG4gICAgICAgIFxuICAgICAgICBpZiBob3RzcG90LmRhdGEuZmluaXNoXG4gICAgICAgICAgICBAb2JqZWN0LmV2ZW50cz8uZW1pdChcImZpbmlzaFwiLCBAb2JqZWN0KVxuICAgICAgICAgICAgXG4gICAgXG4gICAgIyMjKlxuICAgICogQ2hlY2tzIGlmIGEgaG90c3BvdCdzIGFzc29jaWF0ZWQgYWN0aW9uIG5lZWRzIHRvIGJlIGV4ZWN1dGVkLiBEZXBlbmRpbmcgb24gdGhlIGNvbmZpZ3VyYXRpb24gYSBob3RzcG90XG4gICAgKiBjYW4gdHJpZ2dlciBhIGNvbW1vbi1ldmVudCBvciB0dXJuIG9uIGEgc3dpdGNoIGZvciBleGFtcGxlLlxuICAgICpcbiAgICAqIEBtZXRob2QgdXBkYXRlSG90c3BvdEFjdGlvblxuICAgICogQHBhcmFtIHtncy5PYmplY3RfUGljdHVyZX0gaG90c3BvdCAtIFRoZSBob3RzcG90IHdoZXJlIHRoZSBpbWFnZSBzaG91bGQgYmUgdXBkYXRlZC5cbiAgICAqIEByZXR1cm4ge2Jvb2xlYW59IElmIDxiPnRydWU8L2I+IHRoZSBob3RzcG90J3MgYWN0aW9uIG5lZWRzIHRvIGJlIGV4ZWN1dGVkLiBPdGhlcndpc2UgPGI+ZmFsc2U8L2I+LlxuICAgICogQHByb3RlY3RlZFxuICAgICMjI1xuICAgIGNoZWNrSG90c3BvdEFjdGlvbjogKGhvdHNwb3QpIC0+XG4gICAgICAgIHJlc3VsdCA9IG5vXG4gICAgICAgIGhvdmVyZWQgPSBob3RzcG90LmRzdFJlY3QuY29udGFpbnMoSW5wdXQuTW91c2UueCAtIGhvdHNwb3Qub3JpZ2luLngsIElucHV0Lk1vdXNlLnkgLSBob3RzcG90Lm9yaWdpbi55KVxuICAgICAgICBcbiAgICAgICAgaWYgaG92ZXJlZCBhbmQgaG90c3BvdC5lbmFibGVkIGFuZCBJbnB1dC5Nb3VzZS5idXR0b25zW0lucHV0Lk1vdXNlLkxFRlRdID09IDJcbiAgICAgICAgICAgIHJlc3VsdCA9IHllc1xuICAgICAgICAgICAgXG4gICAgICAgIHJldHVybiByZXN1bHRcbiAgICAgICAgICAgIFxuICAgICMjIypcbiAgICAqIFVwZGF0ZXMgYSBob3RzcG90J3MgaW1hZ2UuIERlcGVuZGluZyBvbiB0aGUgc3RhdGUgdGhlIGltYWdlIG9mIGEgaG90c3BvdCBjYW5cbiAgICAqIGNoYW5nZSBmb3IgZXhhbXBsZSBpZiB0aGUgbW91c2UgaG92ZXJzIG92ZXIgYSBob3RzcG90LlxuICAgICpcbiAgICAqIEBtZXRob2QgdXBkYXRlSG90c3BvdEltYWdlXG4gICAgKiBAcGFyYW0ge2dzLk9iamVjdF9QaWN0dXJlfSBob3RzcG90IC0gVGhlIGhvdHNwb3Qgd2hlcmUgdGhlIGltYWdlIHNob3VsZCBiZSB1cGRhdGVkLlxuICAgICogQHBhcmFtIHtib29sZWFufSBob3ZlcmVkIC0gSW5kaWNhdGVzIGlmIHRoZSBob3RzcG90IGlzIGhvdmVyZWQgYnkgbW91c2UvdG91Y2ggY3Vyc29yLlxuICAgICogQHByb3RlY3RlZFxuICAgICMjI1xuICAgIHVwZGF0ZUhvdHNwb3RJbWFnZTogKGhvdHNwb3QsIGhvdmVyZWQpIC0+XG4gICAgICAgIGJhc2VJbWFnZSA9IGlmIGhvdHNwb3QuZW5hYmxlZCB0aGVuIEBvYmplY3QuaW1hZ2VzWzJdIHx8IEBvYmplY3QuaW1hZ2VzWzBdIGVsc2UgQG9iamVjdC5pbWFnZXNbMF0gXG4gICAgICAgIGlmIGhvdmVyZWQgYW5kIGhvdHNwb3QuZW5hYmxlZFxuICAgICAgICAgICAgaWYgaG90c3BvdC5zZWxlY3RlZFxuICAgICAgICAgICAgICAgIGhvdHNwb3QuaW1hZ2UgPSBAb2JqZWN0LmltYWdlc1s0XSB8fCBAb2JqZWN0LmltYWdlc1sxXSB8fCBiYXNlSW1hZ2VcbiAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICBob3RzcG90LmltYWdlID0gQG9iamVjdC5pbWFnZXNbMV0gfHwgYmFzZUltYWdlXG4gICAgICAgIGVsc2VcbiAgICAgICAgICAgIGlmIGhvdHNwb3Quc2VsZWN0ZWRcbiAgICAgICAgICAgICAgICBob3RzcG90LmltYWdlID0gQG9iamVjdC5pbWFnZXNbM10gfHwgYmFzZUltYWdlXG4gICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgaG90c3BvdC5pbWFnZSA9IGJhc2VJbWFnZVxuICAgICAgICAgICAgICAgIFxuICAgIFxuICAgICMjIypcbiAgICAqIFVwZGF0ZXMgYSBob3RzcG90LlxuICAgICpcbiAgICAqIEBtZXRob2QgdXBkYXRlSG90c3BvdFxuICAgICogQHBhcmFtIHtncy5PYmplY3RfUGljdHVyZX0gaG90c3BvdCAtIFRoZSBob3RzcG90IHRvIHVwZGF0ZS5cbiAgICAqIEBwcm90ZWN0ZWRcbiAgICAjIyMgICAgICAgICAgICBcbiAgICB1cGRhdGVIb3RzcG90OiAoaG90c3BvdCkgLT5cbiAgICAgICAgaG90c3BvdC52aXNpYmxlID0gQG9iamVjdC52aXNpYmxlXG4gICAgICAgIGhvdHNwb3Qub3BhY2l0eSA9IEBvYmplY3Qub3BhY2l0eVxuICAgICAgICBob3RzcG90LnRvbmUuc2V0RnJvbU9iamVjdChAb2JqZWN0LnRvbmUpXG4gICAgICAgIGhvdHNwb3QuY29sb3Iuc2V0RnJvbU9iamVjdChAb2JqZWN0LmNvbG9yKVxuICAgICAgICBpZiBob3RzcG90LmRhdGEuYmluZEVuYWJsZWRTdGF0ZVxuICAgICAgICAgICAgR2FtZU1hbmFnZXIudmFyaWFibGVTdG9yZS5zZXR1cFRlbXBWYXJpYWJsZXMoQHZhcmlhYmxlQ29udGV4dClcbiAgICAgICAgICAgIGhvdHNwb3QuZW5hYmxlZCA9IEdhbWVNYW5hZ2VyLnZhcmlhYmxlU3RvcmUuYm9vbGVhblZhbHVlT2YoaG90c3BvdC5kYXRhLmVuYWJsZWRTd2l0Y2gpXG4gICAgICAgIGlmIGhvdHNwb3QuZGF0YS5iaW5kVG9Td2l0Y2hcbiAgICAgICAgICAgIEdhbWVNYW5hZ2VyLnZhcmlhYmxlU3RvcmUuc2V0dXBUZW1wVmFyaWFibGVzKEB2YXJpYWJsZUNvbnRleHQpXG4gICAgICAgICAgICBob3RzcG90LnNlbGVjdGVkID0gR2FtZU1hbmFnZXIudmFyaWFibGVTdG9yZS5ib29sZWFuVmFsdWVPZihob3RzcG90LmRhdGEuc3dpdGNoKVxuICAgICAgICBob3ZlcmVkID0gaG90c3BvdC5kc3RSZWN0LmNvbnRhaW5zKElucHV0Lk1vdXNlLnggLSBob3RzcG90Lm9yaWdpbi54LCBJbnB1dC5Nb3VzZS55IC0gaG90c3BvdC5vcmlnaW4ueSlcbiAgICAgICAgaWYgaG92ZXJlZCAhPSBob3RzcG90LmhvdmVyZWRcbiAgICAgICAgICAgIGhvdHNwb3QuaG92ZXJlZCA9IGhvdmVyZWRcbiAgICAgICAgICAgIEF1ZGlvTWFuYWdlci5wbGF5U291bmQoaG90c3BvdC5kYXRhLm9uSG92ZXJTb3VuZCkgaWYgaG92ZXJlZFxuICAgICAgICBAdXBkYXRlSG90c3BvdEltYWdlKGhvdHNwb3QsIGhvdmVyZWQpICAgICAgIFxuICAgICAgICBob3RzcG90LnVwZGF0ZSgpICAgICAgICBcbiAgICAgXG4gICAgIyMjKlxuICAgICogVXBkYXRlcyB0aGUgZ3JvdW5kLWltYWdlLlxuICAgICpcbiAgICAqIEBtZXRob2QgdXBkYXRlR3JvdW5kXG4gICAgKiBAcHJvdGVjdGVkXG4gICAgIyMjICAgXG4gICAgdXBkYXRlR3JvdW5kOiAtPlxuICAgICAgICBAZ3JvdW5kLnZpc2libGUgPSBAb2JqZWN0LnZpc2libGVcbiAgICAgICAgQGdyb3VuZC5vcGFjaXR5ID0gQG9iamVjdC5vcGFjaXR5XG4gICAgICAgIEBncm91bmQuYW5jaG9yLnggPSAwLjVcbiAgICAgICAgQGdyb3VuZC5hbmNob3IueSA9IDAuNVxuICAgICAgICBAZ3JvdW5kLnRvbmUuc2V0RnJvbU9iamVjdChAb2JqZWN0LnRvbmUpXG4gICAgICAgIEBncm91bmQuY29sb3Iuc2V0RnJvbU9iamVjdChAb2JqZWN0LmNvbG9yKVxuICAgICAgICBAZ3JvdW5kLnVwZGF0ZSgpXG4gICAgICAgIFxuICAgICMjIypcbiAgICAqIFVwZGF0ZXMgdGhlIGltYWdlLW1hcCdzIGdyb3VuZCBhbmQgYWxsIGhvdHNwb3RzLlxuICAgICpcbiAgICAqIEBtZXRob2QgdXBkYXRlXG4gICAgIyMjXG4gICAgdXBkYXRlOiAtPlxuICAgICAgICBzdXBlcigpXG4gICAgICAgIFxuICAgICAgICBAdXBkYXRlR3JvdW5kKClcbiAgICAgICAgXG4gICAgICAgIGZvciBob3RzcG90IGluIEBob3RzcG90c1xuICAgICAgICAgICAgQHVwZGF0ZUhvdHNwb3QoaG90c3BvdClcbiAgICAgICAgICAgIFxuICAgICAgICByZXR1cm4gbnVsbFxuICAgICAgICAgICAgICAgIFxuZ3MuQ29tcG9uZW50X0ltYWdlTWFwID0gQ29tcG9uZW50X0ltYWdlTWFwIl19
363 364 //# sourceURL=Component_ImageMap_110.js