@rosen-bridge/abstract-extractor 3.2.0 → 3.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  # @rosen-bridge/abstract-extractor
2
2
 
3
+ ## 3.2.2
4
+
5
+ ### Patch Changes
6
+
7
+ - Update dependencies
8
+ - @rosen-clients/ergo-explorer@2.1.3
9
+ - @rosen-clients/ergo-node@3.1.3
10
+
11
+ ## 3.2.1
12
+
13
+ ### Patch Changes
14
+
15
+ - Make `fromHeight` and `toHeight` required in `hasEventInHeightRange`.
16
+
3
17
  ## 3.2.0
4
18
 
5
19
  ### Minor Changes
@@ -46,7 +46,7 @@ export declare abstract class AbstractExtractor<TransactionType, ExtractorEntity
46
46
  * @param toHeight - The ending block height of the chunk.
47
47
  * @returns {Promise<boolean>} `true` if events exist (or if unknown). `false` ONLY if it's guaranteed the range is empty.
48
48
  */
49
- hasEventInHeightRange: (fromHeight?: number, toHeight?: number) => Promise<boolean>;
49
+ hasEventInHeightRange: (fromHeight: number, toHeight: number) => Promise<boolean>;
50
50
  /**
51
51
  * Create a query for used blocks associated with the given `extractorId`
52
52
  * This method only builds the query and does not execute it
@@ -1 +1 @@
1
- {"version":3,"file":"abstractExtractor.d.ts","sourceRoot":"","sources":["../lib/abstractExtractor.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,kBAAkB,EACnB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAE7D,8BAAsB,iBAAiB,CACrC,eAAe,EACf,eAAe,SAAS,aAAa;IAErC;;;;;;;;OAQG;IACH,QAAQ,CAAC,mBAAmB,EAAE,CAC5B,GAAG,EAAE,KAAK,CAAC,eAAe,CAAC,EAC3B,KAAK,EAAE,SAAS,KACb,OAAO,CAAC,OAAO,CAAC,CAAC;IAEtB;;;;;OAKG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,MAAM,CAAC;IAE7B;;;;;;OAMG;IACH,QAAQ,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpD;;;;;;OAMG;IACH,QAAQ,CAAC,cAAc,EAAE,CAAC,YAAY,EAAE,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpE;;;;;;;;;;;OAWG;IACI,qBAAqB,GAE1B,aAAa,MAAM,EAEnB,WAAW,MAAM,KAChB,OAAO,CAAC,OAAO,CAAC,CAEjB;IAEF;;;;;;OAMG;IACH,QAAQ,CAAC,qBAAqB,EAAE,MAC5B,kBAAkB,CAAC,eAAe,CAAC,GACnC,SAAS,CAAC;CACf"}
1
+ {"version":3,"file":"abstractExtractor.d.ts","sourceRoot":"","sources":["../lib/abstractExtractor.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,kBAAkB,EACnB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAE7D,8BAAsB,iBAAiB,CACrC,eAAe,EACf,eAAe,SAAS,aAAa;IAErC;;;;;;;;OAQG;IACH,QAAQ,CAAC,mBAAmB,EAAE,CAC5B,GAAG,EAAE,KAAK,CAAC,eAAe,CAAC,EAC3B,KAAK,EAAE,SAAS,KACb,OAAO,CAAC,OAAO,CAAC,CAAC;IAEtB;;;;;OAKG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,MAAM,CAAC;IAE7B;;;;;;OAMG;IACH,QAAQ,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpD;;;;;;OAMG;IACH,QAAQ,CAAC,cAAc,EAAE,CAAC,YAAY,EAAE,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpE;;;;;;;;;;;OAWG;IACI,qBAAqB,GAE1B,YAAY,MAAM,EAElB,UAAU,MAAM,KACf,OAAO,CAAC,OAAO,CAAC,CAEjB;IAEF;;;;;;OAMG;IACH,QAAQ,CAAC,qBAAqB,EAAE,MAC5B,kBAAkB,CAAC,eAAe,CAAC,GACnC,SAAS,CAAC;CACf"}
@@ -19,4 +19,4 @@ export class AbstractExtractor {
19
19
  return true;
20
20
  };
21
21
  }
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3RFeHRyYWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9saWIvYWJzdHJhY3RFeHRyYWN0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTUEsTUFBTSxPQUFnQixpQkFBaUI7SUE0Q3JDOzs7Ozs7Ozs7OztPQVdHO0lBQ0kscUJBQXFCLEdBQUcsS0FBSztJQUNsQyw2REFBNkQ7SUFDN0QsVUFBbUI7SUFDbkIsNkRBQTZEO0lBQzdELFFBQWlCLEVBQ0MsRUFBRTtRQUNwQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUMsQ0FBQztDQVlIIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgT2JqZWN0TGl0ZXJhbCxcbiAgU2VsZWN0UXVlcnlCdWlsZGVyLFxufSBmcm9tICdAcm9zZW4tYnJpZGdlL2V4dGVuZGVkLXR5cGVvcm0nO1xuaW1wb3J0IHsgQmxvY2tJbmZvIH0gZnJvbSAnQHJvc2VuLWJyaWRnZS9zY2FubmVyLWludGVyZmFjZXMnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RFeHRyYWN0b3I8XG4gIFRyYW5zYWN0aW9uVHlwZSxcbiAgRXh0cmFjdG9yRW50aXR5IGV4dGVuZHMgT2JqZWN0TGl0ZXJhbCxcbj4ge1xuICAvKipcbiAgICogUHJvY2VzcyBhIGxpc3Qgb2YgdHJhbnNhY3Rpb25zIChvciBvdGhlciBibG9ja2NoYWluIGRhdGEpIGluIGEgYmxvY2sgYW5kIHN0b3JlIHJlcXVpcmVkIGluZm9ybWF0aW9uLlxuICAgKiBUaGlzIG1ldGhvZCBpcyB0aGUgY29yZSBvZiB0aGUgZXh0cmFjdGlvbiBwcm9jZXNzIGFuZCBzaG91bGQgYmUgaW1wbGVtZW50ZWQgdG8gaGFuZGxlXG4gICAqIHRoZSBzcGVjaWZpYyBkYXRhIGV4dHJhY3Rpb24gbG9naWMgZm9yIHlvdXIgYmxvY2tjaGFpbi5cbiAgICpcbiAgICogQHBhcmFtIHR4cyAtIExpc3Qgb2YgdHJhbnNhY3Rpb25zIG9yIGJsb2NrY2hhaW4gZGF0YSBzdHJ1Y3R1cmVzIGluIHRoZSBibG9ja1xuICAgKiBAcGFyYW0gYmxvY2sgLSBCbG9jayBpbmZvcm1hdGlvbiBjb250YWluaW5nIG1ldGFkYXRhIGFib3V0IHRoZSBibG9ja1xuICAgKiBAcmV0dXJucyBQcm9taXNlPGJvb2xlYW4+IC0gdHJ1ZSBpZiB0aGUgcHJvY2VzcyBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5LCBmYWxzZSBvdGhlcndpc2VcbiAgICovXG4gIGFic3RyYWN0IHByb2Nlc3NUcmFuc2FjdGlvbnM6IChcbiAgICB0eHM6IEFycmF5PFRyYW5zYWN0aW9uVHlwZT4sXG4gICAgYmxvY2s6IEJsb2NrSW5mbyxcbiAgKSA9PiBQcm9taXNlPGJvb2xlYW4+O1xuXG4gIC8qKlxuICAgKiBSZXR1cm4gYSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhpcyBleHRyYWN0b3IuXG4gICAqIFRoaXMgSUQgbXVzdCBiZSB1bmlxdWUgYWNyb3NzIGFsbCBleHRyYWN0b3JzIGluIHRoZSBzeXN0ZW0gdG8gcHJldmVudCBjb25mbGljdHMuXG4gICAqXG4gICAqIEByZXR1cm5zIHN0cmluZyAtIFVuaXF1ZSBleHRyYWN0b3IgaWRlbnRpZmllclxuICAgKi9cbiAgYWJzdHJhY3QgZ2V0SWQ6ICgpID0+IHN0cmluZztcblxuICAvKipcbiAgICogRm9yayAocm9sbGJhY2spIG9uZSBibG9jayBhbmQgcmVtb3ZlIGFsbCBzdG9yZWQgaW5mb3JtYXRpb24gZm9yIHRoaXMgYmxvY2suXG4gICAqIFRoaXMgaXMgZXNzZW50aWFsIGZvciBoYW5kbGluZyBibG9ja2NoYWluIHJlb3JnYW5pemF0aW9ucyB3aGVyZSBibG9ja3NcbiAgICogbmVlZCB0byBiZSByZW1vdmVkIGZyb20gdGhlIGRhdGFiYXNlLlxuICAgKlxuICAgKiBAcGFyYW0gaGFzaCAtIEJsb2NrIGhhc2ggdG8gZm9yay9yZW1vdmVcbiAgICovXG4gIGFic3RyYWN0IGZvcmtCbG9jazogKGhhc2g6IHN0cmluZykgPT4gUHJvbWlzZTx2b2lkPjtcblxuICAvKipcbiAgICogSW5pdGlhbGl6ZSBleHRyYWN0b3IgZGF0YWJhc2Ugd2l0aCBoaXN0b3JpY2FsIGRhdGEgY3JlYXRlZCBiZWxvdyB0aGUgaW5pdGlhbCBoZWlnaHQuXG4gICAqIFRoaXMgbWV0aG9kIGlzIGNhbGxlZCBkdXJpbmcgZXh0cmFjdG9yIHNldHVwIHRvIHBvcHVsYXRlIHRoZSBkYXRhYmFzZSB3aXRoXG4gICAqIGRhdGEgdGhhdCBleGlzdGVkIGJlZm9yZSB0aGUgc2Nhbm5lciBzdGFydGVkIG1vbml0b3JpbmcuXG4gICAqXG4gICAqIEBwYXJhbSBpbml0aWFsQmxvY2sgLSBUaGUgYmxvY2sgZnJvbSB3aGljaCB0byBzdGFydCBzY2FubmluZyAoaW5pdGlhbCBoZWlnaHQpXG4gICAqL1xuICBhYnN0cmFjdCBpbml0aWFsaXplRGF0YTogKGluaXRpYWxCbG9jazogQmxvY2tJbmZvKSA9PiBQcm9taXNlPHZvaWQ+O1xuXG4gIC8qKlxuICAgKiBoYXNFdmVudEluSGVpZ2h0UmFuZ2UgdXNlZCBieSB0aGUgc2Nhbm5lcidzIGZhc3QtZm9yd2FyZCBtZWNoYW5pc20uXG4gICAqIER1cmluZyBhIGxhcmdlIHN5bmMsIGluc3RlYWQgb2YgZmV0Y2hpbmcgYW5kIHByb2Nlc3NpbmcgdGhvdXNhbmRzIG9mIGJsb2NrcyBvbmUgYnkgb25lLFxuICAgKiB0aGUgc2Nhbm5lciBjaGVja3MgdGhpcyBtZXRob2QuIElmIGFuIGV4dGVybmFsIEFQSSBvciBub2RlIGNhbiBjb25maXJtIHRoYXQgKm5vIHJlbGV2YW50IGV2ZW50cypcbiAgICogZXhpc3QgaW4gdGhlIGBbZnJvbUhlaWdodCwgdG9IZWlnaHRdYCByYW5nZSwgcmV0dXJuIGBmYWxzZWAuIFRoZSBzY2FubmVyIHdpbGwgdGhlbiBza2lwIGZldGNoaW5nXG4gICAqIHRoZXNlIGJsb2NrcyBlbnRpcmVseSwgdmFzdGx5IGltcHJvdmluZyBzeW5jIHNwZWVkLlxuICAgKiBSZXR1cm5zIGB0cnVlYCwgZm9yY2luZyB0aGUgc2Nhbm5lciB0byBzYWZlbHkgcHJvY2VzcyBldmVyeSBzaW5nbGUgYmxvY2sgc2VxdWVudGlhbGx5LlxuICAgKlxuICAgKiBAcGFyYW0gZnJvbUhlaWdodCAtIFRoZSBzdGFydGluZyBibG9jayBoZWlnaHQgb2YgdGhlIGNodW5rIGJlaW5nIGV2YWx1YXRlZC5cbiAgICogQHBhcmFtIHRvSGVpZ2h0IC0gVGhlIGVuZGluZyBibG9jayBoZWlnaHQgb2YgdGhlIGNodW5rLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxib29sZWFuPn0gYHRydWVgIGlmIGV2ZW50cyBleGlzdCAob3IgaWYgdW5rbm93bikuIGBmYWxzZWAgT05MWSBpZiBpdCdzIGd1YXJhbnRlZWQgdGhlIHJhbmdlIGlzIGVtcHR5LlxuICAgKi9cbiAgcHVibGljIGhhc0V2ZW50SW5IZWlnaHRSYW5nZSA9IGFzeW5jIChcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gICAgZnJvbUhlaWdodD86IG51bWJlcixcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gICAgdG9IZWlnaHQ/OiBudW1iZXIsXG4gICk6IFByb21pc2U8Ym9vbGVhbj4gPT4ge1xuICAgIHJldHVybiB0cnVlO1xuICB9O1xuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBxdWVyeSBmb3IgdXNlZCBibG9ja3MgYXNzb2NpYXRlZCB3aXRoIHRoZSBnaXZlbiBgZXh0cmFjdG9ySWRgXG4gICAqIFRoaXMgbWV0aG9kIG9ubHkgYnVpbGRzIHRoZSBxdWVyeSBhbmQgZG9lcyBub3QgZXhlY3V0ZSBpdFxuICAgKlxuICAgKiBAcmV0dXJucyBBIFR5cGVPUk0gU2VsZWN0UXVlcnlCdWlsZGVyIHRoYXQgc2VsZWN0cyB1c2VkIGJsb2NrIHZhbHVlcyBvclxuICAgKiBgdW5kZWZpbmVkYCBpZiB0aGUgZXh0cmFjdG9yIGhhcyBubyBhc3NvY2lhdGVkIGVudGl0eVxuICAgKi9cbiAgYWJzdHJhY3QgY3JlYXRlVXNlZEJsb2Nrc1F1ZXJ5OiAoKSA9PlxuICAgIHwgU2VsZWN0UXVlcnlCdWlsZGVyPEV4dHJhY3RvckVudGl0eT5cbiAgICB8IHVuZGVmaW5lZDtcbn1cbiJdfQ==
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3RFeHRyYWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9saWIvYWJzdHJhY3RFeHRyYWN0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTUEsTUFBTSxPQUFnQixpQkFBaUI7SUE0Q3JDOzs7Ozs7Ozs7OztPQVdHO0lBQ0kscUJBQXFCLEdBQUcsS0FBSztJQUNsQyw2REFBNkQ7SUFDN0QsVUFBa0I7SUFDbEIsNkRBQTZEO0lBQzdELFFBQWdCLEVBQ0UsRUFBRTtRQUNwQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUMsQ0FBQztDQVlIIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgT2JqZWN0TGl0ZXJhbCxcbiAgU2VsZWN0UXVlcnlCdWlsZGVyLFxufSBmcm9tICdAcm9zZW4tYnJpZGdlL2V4dGVuZGVkLXR5cGVvcm0nO1xuaW1wb3J0IHsgQmxvY2tJbmZvIH0gZnJvbSAnQHJvc2VuLWJyaWRnZS9zY2FubmVyLWludGVyZmFjZXMnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RFeHRyYWN0b3I8XG4gIFRyYW5zYWN0aW9uVHlwZSxcbiAgRXh0cmFjdG9yRW50aXR5IGV4dGVuZHMgT2JqZWN0TGl0ZXJhbCxcbj4ge1xuICAvKipcbiAgICogUHJvY2VzcyBhIGxpc3Qgb2YgdHJhbnNhY3Rpb25zIChvciBvdGhlciBibG9ja2NoYWluIGRhdGEpIGluIGEgYmxvY2sgYW5kIHN0b3JlIHJlcXVpcmVkIGluZm9ybWF0aW9uLlxuICAgKiBUaGlzIG1ldGhvZCBpcyB0aGUgY29yZSBvZiB0aGUgZXh0cmFjdGlvbiBwcm9jZXNzIGFuZCBzaG91bGQgYmUgaW1wbGVtZW50ZWQgdG8gaGFuZGxlXG4gICAqIHRoZSBzcGVjaWZpYyBkYXRhIGV4dHJhY3Rpb24gbG9naWMgZm9yIHlvdXIgYmxvY2tjaGFpbi5cbiAgICpcbiAgICogQHBhcmFtIHR4cyAtIExpc3Qgb2YgdHJhbnNhY3Rpb25zIG9yIGJsb2NrY2hhaW4gZGF0YSBzdHJ1Y3R1cmVzIGluIHRoZSBibG9ja1xuICAgKiBAcGFyYW0gYmxvY2sgLSBCbG9jayBpbmZvcm1hdGlvbiBjb250YWluaW5nIG1ldGFkYXRhIGFib3V0IHRoZSBibG9ja1xuICAgKiBAcmV0dXJucyBQcm9taXNlPGJvb2xlYW4+IC0gdHJ1ZSBpZiB0aGUgcHJvY2VzcyBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5LCBmYWxzZSBvdGhlcndpc2VcbiAgICovXG4gIGFic3RyYWN0IHByb2Nlc3NUcmFuc2FjdGlvbnM6IChcbiAgICB0eHM6IEFycmF5PFRyYW5zYWN0aW9uVHlwZT4sXG4gICAgYmxvY2s6IEJsb2NrSW5mbyxcbiAgKSA9PiBQcm9taXNlPGJvb2xlYW4+O1xuXG4gIC8qKlxuICAgKiBSZXR1cm4gYSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhpcyBleHRyYWN0b3IuXG4gICAqIFRoaXMgSUQgbXVzdCBiZSB1bmlxdWUgYWNyb3NzIGFsbCBleHRyYWN0b3JzIGluIHRoZSBzeXN0ZW0gdG8gcHJldmVudCBjb25mbGljdHMuXG4gICAqXG4gICAqIEByZXR1cm5zIHN0cmluZyAtIFVuaXF1ZSBleHRyYWN0b3IgaWRlbnRpZmllclxuICAgKi9cbiAgYWJzdHJhY3QgZ2V0SWQ6ICgpID0+IHN0cmluZztcblxuICAvKipcbiAgICogRm9yayAocm9sbGJhY2spIG9uZSBibG9jayBhbmQgcmVtb3ZlIGFsbCBzdG9yZWQgaW5mb3JtYXRpb24gZm9yIHRoaXMgYmxvY2suXG4gICAqIFRoaXMgaXMgZXNzZW50aWFsIGZvciBoYW5kbGluZyBibG9ja2NoYWluIHJlb3JnYW5pemF0aW9ucyB3aGVyZSBibG9ja3NcbiAgICogbmVlZCB0byBiZSByZW1vdmVkIGZyb20gdGhlIGRhdGFiYXNlLlxuICAgKlxuICAgKiBAcGFyYW0gaGFzaCAtIEJsb2NrIGhhc2ggdG8gZm9yay9yZW1vdmVcbiAgICovXG4gIGFic3RyYWN0IGZvcmtCbG9jazogKGhhc2g6IHN0cmluZykgPT4gUHJvbWlzZTx2b2lkPjtcblxuICAvKipcbiAgICogSW5pdGlhbGl6ZSBleHRyYWN0b3IgZGF0YWJhc2Ugd2l0aCBoaXN0b3JpY2FsIGRhdGEgY3JlYXRlZCBiZWxvdyB0aGUgaW5pdGlhbCBoZWlnaHQuXG4gICAqIFRoaXMgbWV0aG9kIGlzIGNhbGxlZCBkdXJpbmcgZXh0cmFjdG9yIHNldHVwIHRvIHBvcHVsYXRlIHRoZSBkYXRhYmFzZSB3aXRoXG4gICAqIGRhdGEgdGhhdCBleGlzdGVkIGJlZm9yZSB0aGUgc2Nhbm5lciBzdGFydGVkIG1vbml0b3JpbmcuXG4gICAqXG4gICAqIEBwYXJhbSBpbml0aWFsQmxvY2sgLSBUaGUgYmxvY2sgZnJvbSB3aGljaCB0byBzdGFydCBzY2FubmluZyAoaW5pdGlhbCBoZWlnaHQpXG4gICAqL1xuICBhYnN0cmFjdCBpbml0aWFsaXplRGF0YTogKGluaXRpYWxCbG9jazogQmxvY2tJbmZvKSA9PiBQcm9taXNlPHZvaWQ+O1xuXG4gIC8qKlxuICAgKiBoYXNFdmVudEluSGVpZ2h0UmFuZ2UgdXNlZCBieSB0aGUgc2Nhbm5lcidzIGZhc3QtZm9yd2FyZCBtZWNoYW5pc20uXG4gICAqIER1cmluZyBhIGxhcmdlIHN5bmMsIGluc3RlYWQgb2YgZmV0Y2hpbmcgYW5kIHByb2Nlc3NpbmcgdGhvdXNhbmRzIG9mIGJsb2NrcyBvbmUgYnkgb25lLFxuICAgKiB0aGUgc2Nhbm5lciBjaGVja3MgdGhpcyBtZXRob2QuIElmIGFuIGV4dGVybmFsIEFQSSBvciBub2RlIGNhbiBjb25maXJtIHRoYXQgKm5vIHJlbGV2YW50IGV2ZW50cypcbiAgICogZXhpc3QgaW4gdGhlIGBbZnJvbUhlaWdodCwgdG9IZWlnaHRdYCByYW5nZSwgcmV0dXJuIGBmYWxzZWAuIFRoZSBzY2FubmVyIHdpbGwgdGhlbiBza2lwIGZldGNoaW5nXG4gICAqIHRoZXNlIGJsb2NrcyBlbnRpcmVseSwgdmFzdGx5IGltcHJvdmluZyBzeW5jIHNwZWVkLlxuICAgKiBSZXR1cm5zIGB0cnVlYCwgZm9yY2luZyB0aGUgc2Nhbm5lciB0byBzYWZlbHkgcHJvY2VzcyBldmVyeSBzaW5nbGUgYmxvY2sgc2VxdWVudGlhbGx5LlxuICAgKlxuICAgKiBAcGFyYW0gZnJvbUhlaWdodCAtIFRoZSBzdGFydGluZyBibG9jayBoZWlnaHQgb2YgdGhlIGNodW5rIGJlaW5nIGV2YWx1YXRlZC5cbiAgICogQHBhcmFtIHRvSGVpZ2h0IC0gVGhlIGVuZGluZyBibG9jayBoZWlnaHQgb2YgdGhlIGNodW5rLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxib29sZWFuPn0gYHRydWVgIGlmIGV2ZW50cyBleGlzdCAob3IgaWYgdW5rbm93bikuIGBmYWxzZWAgT05MWSBpZiBpdCdzIGd1YXJhbnRlZWQgdGhlIHJhbmdlIGlzIGVtcHR5LlxuICAgKi9cbiAgcHVibGljIGhhc0V2ZW50SW5IZWlnaHRSYW5nZSA9IGFzeW5jIChcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gICAgZnJvbUhlaWdodDogbnVtYmVyLFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgICB0b0hlaWdodDogbnVtYmVyLFxuICApOiBQcm9taXNlPGJvb2xlYW4+ID0+IHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfTtcblxuICAvKipcbiAgICogQ3JlYXRlIGEgcXVlcnkgZm9yIHVzZWQgYmxvY2tzIGFzc29jaWF0ZWQgd2l0aCB0aGUgZ2l2ZW4gYGV4dHJhY3RvcklkYFxuICAgKiBUaGlzIG1ldGhvZCBvbmx5IGJ1aWxkcyB0aGUgcXVlcnkgYW5kIGRvZXMgbm90IGV4ZWN1dGUgaXRcbiAgICpcbiAgICogQHJldHVybnMgQSBUeXBlT1JNIFNlbGVjdFF1ZXJ5QnVpbGRlciB0aGF0IHNlbGVjdHMgdXNlZCBibG9jayB2YWx1ZXMgb3JcbiAgICogYHVuZGVmaW5lZGAgaWYgdGhlIGV4dHJhY3RvciBoYXMgbm8gYXNzb2NpYXRlZCBlbnRpdHlcbiAgICovXG4gIGFic3RyYWN0IGNyZWF0ZVVzZWRCbG9ja3NRdWVyeTogKCkgPT5cbiAgICB8IFNlbGVjdFF1ZXJ5QnVpbGRlcjxFeHRyYWN0b3JFbnRpdHk+XG4gICAgfCB1bmRlZmluZWQ7XG59XG4iXX0=