appium-ios-device 2.4.2 → 2.4.5
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/README.md +0 -6
- package/build/index.js +2 -4
- package/build/lib/afc/index.js +2 -4
- package/build/lib/afc/protocol.js +2 -4
- package/build/lib/afc/streams.js +2 -4
- package/build/lib/afc/transformer/afcdecoder.js +2 -4
- package/build/lib/afc/transformer/afcencoder.js +2 -4
- package/build/lib/base-service.js +2 -4
- package/build/lib/constants.js +2 -4
- package/build/lib/house-arrest/index.js +2 -4
- package/build/lib/installation-proxy/index.js +2 -4
- package/build/lib/instrument/headers.js +5 -11
- package/build/lib/instrument/index.js +2 -4
- package/build/lib/instrument/transformer/dtx-decode.js +2 -4
- package/build/lib/instrument/transformer/dtx-encode.js +2 -4
- package/build/lib/instrument/transformer/nskeyed.js +3 -5
- package/build/lib/lockdown/index.js +2 -4
- package/build/lib/logger.js +2 -4
- package/build/lib/mcinstall/index.js +2 -4
- package/build/lib/notification-proxy/index.js +2 -4
- package/build/lib/plist-service/index.js +2 -4
- package/build/lib/plist-service/transformer/plist-service-decoder.js +2 -4
- package/build/lib/plist-service/transformer/plist-service-encoder.js +2 -4
- package/build/lib/services.js +2 -4
- package/build/lib/simulatelocation/index.js +2 -4
- package/build/lib/ssl-helper.js +2 -4
- package/build/lib/syslog/index.js +2 -4
- package/build/lib/syslog/transformer/syslog-decoder.js +2 -4
- package/build/lib/usbmux/index.js +2 -4
- package/build/lib/usbmux/transformer/usbmux-decoder.js +2 -4
- package/build/lib/usbmux/transformer/usbmux-encoder.js +2 -4
- package/build/lib/util/transformer/length-based-splitter.js +2 -4
- package/build/lib/util/transformer/stream-logger.js +2 -4
- package/build/lib/utilities.js +2 -4
- package/build/lib/webinspector/index.js +2 -4
- package/build/lib/webinspector/transformer/webinspector-decoder.js +2 -4
- package/build/lib/webinspector/transformer/webinspector-encoder.js +2 -4
- package/lib/instrument/headers.js +4 -4
- package/package.json +40 -18
|
@@ -226,13 +226,9 @@ class DTXMessageAuxBuffer {
|
|
|
226
226
|
|
|
227
227
|
appendSignedLong(value) {
|
|
228
228
|
const buf = Buffer.alloc(16);
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
this._buf.writeUInt32LE(6, 4);
|
|
233
|
-
|
|
234
|
-
this._buf.writeBigInt64LE(value, 8);
|
|
235
|
-
|
|
229
|
+
buf.writeUInt32LE(DTX_AUXILIARY_MAGIC, 0);
|
|
230
|
+
buf.writeUInt32LE(6, 4);
|
|
231
|
+
buf.writeBigInt64LE(value, 8);
|
|
236
232
|
this._buf = Buffer.concat([this._buf, buf]);
|
|
237
233
|
}
|
|
238
234
|
|
|
@@ -367,7 +363,5 @@ class DTXMessage {
|
|
|
367
363
|
|
|
368
364
|
}
|
|
369
365
|
|
|
370
|
-
exports.DTXMessage = DTXMessage;
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliL2luc3RydW1lbnQvaGVhZGVycy5qcyIsIm5hbWVzIjpbIkRUWF9NRVNTQUdFX1BBWUxPQURfSEVBREVSX0xFTkdUSCIsIkRUWF9NRVNTQUdFX0hFQURFUl9MRU5HVEgiLCJEVFhfTUVTU0FHRV9IRUFERVJfTUFHSUMiLCJEVFhfTUVTU0FHRV9IRUFERVJfTUFHSUNfTEVOIiwiRFRYX01FU1NBR0VfQVVYX0hFQURFUiIsIkRUWF9BVVhJTElBUllfTUFHSUMiLCJGTEFHX1RZUEVTIiwiT2JqZWN0IiwiZnJlZXplIiwicHVzaCIsInJlY3YiLCJzZW5kIiwicmVwbHkiLCJBVVhfVFlQRVMiLCJUZXh0IiwiTlNLZXllZCIsIlVJbnQzMkxFIiwiQmlnVUludDY0TEUiLCJCaWdJbnQ2NExFIiwiRFRYTWVzc2FnZUhlYWRlciIsImJ1aWxkIiwiZGF0YSIsIm1lc3NhZ2VIZWFkZXIiLCJCdWZmZXIiLCJhbGxvYyIsIndyaXRlVUludDMyTEUiLCJ3cml0ZVVJbnQxNkxFIiwicGF5bG9hZExlbmd0aCIsImlkZW50aWZpZXIiLCJjb252ZXJzYXRpb25JbmRleCIsImNoYW5uZWxDb2RlIiwiZXhwZWN0c1JlcGx5IiwicGFyc2UiLCJoZWFkZXJCdWZmZXIiLCJtYWdpYyIsInJlYWRVSW50MzJMRSIsImhlYWRlckxlbmd0aCIsImZyYWdtZW50SWQiLCJyZWFkVUludDE2TEUiLCJmcmFnbWVudENvdW50IiwiY2hhbm5lbCIsIkRUWE1lc3NhZ2VQYXlsb2FkSGVhZGVyIiwiZmxhZ3MiLCJhdXhMZW5ndGgiLCJ3cml0ZUJpZ1VJbnQ2NExFIiwidG90YWxMZW5ndGgiLCJyZWFkQmlnSW50NjRMRSIsIkRUWE1lc3NhZ2VBdXgiLCJjb25zdHJ1Y3RvciIsIm1lc3NhZ2VBdXgiLCJEVFhNZXNzYWdlQXV4QnVmZmVyIiwiYnVmIiwibGVuZ3RoIiwiYXJnIiwiY29uY2F0IiwiZ2V0Qnl0ZXMiLCJfIiwiaXNOdW1iZXIiLCJhcHBlbmRJbnQiLCJhcHBlbmRMb25nIiwiYXBwZW5kT2JqZWN0IiwicGF5bG9hZEhlYWRlciIsImN1cnNvciIsIm0iLCJFcnJvciIsInR5cGUiLCJzdHJMZW4iLCJzbGljZSIsImFyY2hpdmVkX2RhdGEiLCJ1bmFyY2hpdmUiLCJyZWFkQmlnVUludDY0TEUiLCJJbnN0cnVtZW50UlBDUGFyc2VFcnJvciIsIl9idWYiLCJ2YWx1ZSIsImFwcGVuZFNpZ25lZEludCIsIndyaXRlSW50MzJMRSIsImFwcGVuZFNpZ25lZExvbmciLCJ3cml0ZUJpZ0ludDY0TEUiLCJhcmNoaXZlIiwiYnVmMiIsIm91dCIsIkRUWE1lc3NhZ2UiLCJvcHRzIiwic2VsZWN0b3IiLCJfbWVzc2FnZUhlYWRlciIsInVuZGVmaW5lZCIsIl9wYXlsb2FkSGVhZGVyIiwiX2lkZW50aWZpZXIiLCJfY2hhbm5lbENvZGUiLCJfZXhwZWN0c1JlcGx5IiwiX3NlbGVjdG9yIiwiX2NvbnZlcnNhdGlvbkluZGV4IiwiX2ZsYWdzIiwiYXV4aWxpYXJpZXMiLCJzZWwiLCJhdXgiLCJCaWdJbnQiLCJoZWFkZXJCdWYiLCJwYXlsb2FkQnVmIiwicmV0IiwiZnVuIiwicGxpc3RsaWIiLCJwYXJzZUJ1ZmZlciIsImUiXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uIiwic291cmNlcyI6WyJsaWIvaW5zdHJ1bWVudC9oZWFkZXJzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7YXJjaGl2ZSwgdW5hcmNoaXZlfSBmcm9tICcuL3RyYW5zZm9ybWVyL25za2V5ZWQnO1xuaW1wb3J0IHBsaXN0bGliIGZyb20gJ2JwbGlzdC1wYXJzZXInO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcblxuY29uc3QgRFRYX01FU1NBR0VfUEFZTE9BRF9IRUFERVJfTEVOR1RIID0gMTY7XG5jb25zdCBEVFhfTUVTU0FHRV9IRUFERVJfTEVOR1RIID0gMzI7XG5jb25zdCBEVFhfTUVTU0FHRV9IRUFERVJfTUFHSUMgPSAweDFGM0Q1Qjc5O1xuY29uc3QgRFRYX01FU1NBR0VfSEVBREVSX01BR0lDX0xFTiA9IDQ7XG5jb25zdCBEVFhfTUVTU0FHRV9BVVhfSEVBREVSID0gMHgwMUYwO1xuY29uc3QgRFRYX0FVWElMSUFSWV9NQUdJQyA9IDB4YTtcblxuY29uc3QgRkxBR19UWVBFUyA9IE9iamVjdC5mcmVlemUoe1xuICBwdXNoOiAwLFxuICByZWN2OiAxLFxuICBzZW5kOiAyLFxuICByZXBseTogM1xufSk7XG5cbmNvbnN0IEFVWF9UWVBFUyA9IE9iamVjdC5mcmVlemUoe1xuICBUZXh0OiAxLFxuICBOU0tleWVkOiAyLFxuICBVSW50MzJMRTogMyxcbiAgQmlnVUludDY0TEU6IDQsXG4gIEJpZ0ludDY0TEU6IDZcbn0pO1xuXG4vKipcbiAqIERUWE1lc3NhZ2VIZWFkZXIgbGVuZ3RoIDMyXG4gKiBzdHJ1Y3QgRFRYTWVzc2FnZUhlYWRlciB7XG4gKiAgICAgdTMyIG1hZ2ljIERUWF9NRVNTQUdFX0hFQURFUl9NQUdJQ1xuICogICAgIHUzMiBoZWFkZXJMZW5ndGhcbiAqICAgICB1MTYgZnJhZ21lbnRJZCAgIHBhY2tldCBudW1iZXJcbiAqICAgICB1MTYgZnJhZ21lbnRDb3VudCAgcGFja2V0cyB0b3RhbCBudW1iZXJcbiAqICAgICB1MzIgcGF5bG9hZExlbmd0aFxuICogICAgIHUzMiBpZGVudGlmaWVyXG4gKiAgICAgdTMyIGNvbnZlcnNhdGlvbkluZGV4XG4gKiAgICAgdTMyIGNoYW5uZWxcbiAqICAgICB1MzIgZXhwZWN0c1JlcGx5XG4gKiAgICAgfVxuICovXG5cbi8qKlxuICogQHR5cGVkZWYge09iamVjdH0gRFRYTWVzc2FnZU9wdGlvbnNcbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBpZGVudGlmaWVyIHBhY2tldCB0cmFuc21pc3Npb24gc2VxdWVuY2UsIHRoaXMgdmFsdWUgaXMgaW5jcmVtZW50ZWQgZm9yIGVhY2ggcmVxdWVzdFxuICogQHByb3BlcnR5IHtudW1iZXJ9IGNoYW5uZWxDb2RlIHRoZSBkYXRhIHRyYW5zbWlzc2lvbiBvZiB0aGUgc2VydmljZSB3aWxsIHVzZSB0aGlzIGNoYW5uZWwgY29kZS5cbiAqIEVhY2ggc2VydmljZSBoYXMgYSBzZXBhcmF0ZSBjaGFubmVsXG4gKiBAcHJvcGVydHkgez9udW1iZXJ9IHBheWxvYWRMZW5ndGggRFRYTWVzc2FnZUF1eEJ1ZmZlci5sZW5ndGgobnVsbGFibGUpICsgc2VsZWN0b3JCdWZmZXIubGVuZ3RoKG51bGxhYmxlKVxuICogQHByb3BlcnR5IHtib29sZWFufSBleHBlY3RzUmVwbHkgaWYgdHJ1ZSByZXBseSBhIGFjayBtZXNzYWdlXG4gKiBAcHJvcGVydHkge251bWJlcn0gY29udmVyc2F0aW9uSW5kZXggIHJhdyBkYXRhICsxIGluZGljYXRlIGEgcmVwbHkgbWVzc2FnZVxuICogQHByb3BlcnR5IHtudW1iZXJ9IGZsYWdzIG1lc3NhZ2Ugc3RhdHVzXG4gKi9cblxuY2xhc3MgRFRYTWVzc2FnZUhlYWRlciB7XG4gIC8qKlxuICAgKiBAcGFyYW0ge0RUWE1lc3NhZ2VPcHRpb25zfSBkYXRhXG4gICAqIEByZXR1cm5zIHtCdWZmZXJ9IERUWE1lc3NhZ2VIZWFkZXJCdWZmZXJcbiAgICovXG4gIHN0YXRpYyBidWlsZCAoZGF0YSkge1xuICAgIGNvbnN0IG1lc3NhZ2VIZWFkZXIgPSBCdWZmZXIuYWxsb2MoRFRYX01FU1NBR0VfSEVBREVSX0xFTkdUSCk7XG4gICAgbWVzc2FnZUhlYWRlci53cml0ZVVJbnQzMkxFKERUWF9NRVNTQUdFX0hFQURFUl9NQUdJQywgMCk7XG4gICAgbWVzc2FnZUhlYWRlci53cml0ZVVJbnQzMkxFKERUWF9NRVNTQUdFX0hFQURFUl9MRU5HVEgsIDQpO1xuICAgIG1lc3NhZ2VIZWFkZXIud3JpdGVVSW50MTZMRSgwLCA4KTtcbiAgICBtZXNzYWdlSGVhZGVyLndyaXRlVUludDE2TEUoMSwgMTApO1xuICAgIG1lc3NhZ2VIZWFkZXIud3JpdGVVSW50MzJMRShkYXRhLnBheWxvYWRMZW5ndGgsIDEyKTtcbiAgICBtZXNzYWdlSGVhZGVyLndyaXRlVUludDMyTEUoZGF0YS5pZGVudGlmaWVyLCAxNik7XG4gICAgbWVzc2FnZUhlYWRlci53cml0ZVVJbnQzMkxFKGRhdGEuY29udmVyc2F0aW9uSW5kZXgsIDIwKTtcbiAgICBtZXNzYWdlSGVhZGVyLndyaXRlVUludDMyTEUoZGF0YS5jaGFubmVsQ29kZSwgMjQpO1xuICAgIG1lc3NhZ2VIZWFkZXIud3JpdGVVSW50MzJMRShkYXRhLmV4cGVjdHNSZXBseSwgMjgpO1xuICAgIHJldHVybiBtZXNzYWdlSGVhZGVyO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSBoZWFkZXJCdWZmZXIgRFRYTWVzc2FnZUhlYWRlckJ1ZmZlclxuICAgKiBAcmV0dXJucyB7T2JqZWN0fVxuICAgKi9cbiAgc3RhdGljIHBhcnNlIChoZWFkZXJCdWZmZXIpIHtcbiAgICByZXR1cm4ge1xuICAgICAgbWFnaWM6IGhlYWRlckJ1ZmZlci5yZWFkVUludDMyTEUoMCksXG4gICAgICBoZWFkZXJMZW5ndGg6IGhlYWRlckJ1ZmZlci5yZWFkVUludDMyTEUoNCksXG4gICAgICBmcmFnbWVudElkOiBoZWFkZXJCdWZmZXIucmVhZFVJbnQxNkxFKDgpLFxuICAgICAgZnJhZ21lbnRDb3VudDogaGVhZGVyQnVmZmVyLnJlYWRVSW50MTZMRSgxMCksXG4gICAgICBwYXlsb2FkTGVuZ3RoOiBoZWFkZXJCdWZmZXIucmVhZFVJbnQzMkxFKDEyKSxcbiAgICAgIGlkZW50aWZpZXI6IGhlYWRlckJ1ZmZlci5yZWFkVUludDMyTEUoMTYpLFxuICAgICAgY29udmVyc2F0aW9uSW5kZXg6IGhlYWRlckJ1ZmZlci5yZWFkVUludDMyTEUoMjApLFxuICAgICAgY2hhbm5lbDogaGVhZGVyQnVmZmVyLnJlYWRVSW50MzJMRSgyNCksXG4gICAgICBleHBlY3RzUmVwbHk6IGhlYWRlckJ1ZmZlci5yZWFkVUludDMyTEUoMjgpLFxuICAgIH07XG4gIH1cbn1cblxuLyoqXG4gKiBEVFhNZXNzYWdlUGF5bG9hZEhlYWRlciBsZW5ndGggMTZcbiAqIHN0cnVjdCBEVFhNZXNzYWdlSGVhZGVyIHtcbiAqICAgICB1MzIgZmxhZ3MgRkxBR19UWVBFU1xuICogICAgIHUzMiBhdXhMZW5ndGhcbiAqICAgICB1NjQgdG90YWxMZW5ndGhcbiAqICAgICB9XG4gKi9cblxuLyoqXG4gKiBAdHlwZWRlZiB7T2JqZWN0fSBEVFhNZXNzYWdlUGF5bG9hZEhlYWRlck9iamVjdFxuICogQHByb3BlcnR5IHtudW1iZXJ9IGZsYWdzIG1lc3NhZ2Ugc3RhdHVzXG4gKiBAcHJvcGVydHkge251bWJlcn0gYXV4TGVuZ3RoIERUWE1lc3NhZ2VBdXhCdWZmZXIubGVuZ3RoKG51bGxhYmxlKVxuICogQHByb3BlcnR5IHtiaWdpbnR9IHRvdGFsTGVuZ3RoIERUWE1lc3NhZ2VBdXhCdWZmZXIubGVuZ3RoKG51bGxhYmxlKSArIHNlbGVjdG9yQnVmZmVyLmxlbmd0aFxuICovXG5jbGFzcyBEVFhNZXNzYWdlUGF5bG9hZEhlYWRlciB7XG4gIC8qKlxuICAgKiBAcGFyYW0gZGF0YSB7RFRYTWVzc2FnZVBheWxvYWRIZWFkZXJPYmplY3R9XG4gICAqIEByZXR1cm5zIHtCdWZmZXJ9IERUWE1lc3NhZ2VQYXlsb2FkSGVhZGVyQnVmZmVyXG4gICAqL1xuICBzdGF0aWMgYnVpbGQgKGRhdGEpIHtcbiAgICBjb25zdCBtZXNzYWdlSGVhZGVyID0gQnVmZmVyLmFsbG9jKERUWF9NRVNTQUdFX1BBWUxPQURfSEVBREVSX0xFTkdUSCk7XG4gICAgbWVzc2FnZUhlYWRlci53cml0ZVVJbnQzMkxFKGRhdGEuZmxhZ3MsIDApO1xuICAgIG1lc3NhZ2VIZWFkZXIud3JpdGVVSW50MzJMRShkYXRhLmF1eExlbmd0aCwgNCk7XG4gICAgbWVzc2FnZUhlYWRlci53cml0ZUJpZ1VJbnQ2NExFKGRhdGEudG90YWxMZW5ndGgsIDgpO1xuICAgIHJldHVybiBtZXNzYWdlSGVhZGVyO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSBoZWFkZXJCdWZmZXJcbiAgICogQHJldHVybnMge0RUWE1lc3NhZ2VQYXlsb2FkSGVhZGVyT2JqZWN0fVxuICAgKi9cbiAgc3RhdGljIHBhcnNlIChoZWFkZXJCdWZmZXIpIHtcbiAgICByZXR1cm4ge1xuICAgICAgZmxhZ3M6IGhlYWRlckJ1ZmZlci5yZWFkVUludDMyTEUoMCksXG4gICAgICBhdXhMZW5ndGg6IGhlYWRlckJ1ZmZlci5yZWFkVUludDMyTEUoNCksXG4gICAgICB0b3RhbExlbmd0aDogaGVhZGVyQnVmZmVyLnJlYWRCaWdJbnQ2NExFKDgpXG4gICAgfTtcbiAgfVxufVxuXG5cbmNsYXNzIERUWE1lc3NhZ2VBdXgge1xuICBjb25zdHJ1Y3RvciAoZGF0YSA9IFtdKSB7XG4gICAgdGhpcy5kYXRhID0gZGF0YTtcbiAgfVxuXG4gIC8qKlxuICAgKiBKUyBBcnJheSB0byBBcHBsZSBOU0tleWVkIEJ1ZmZlclxuICAgKiBAcmV0dXJucyB7QnVmZmVyfVxuICAgKi9cbiAgYnVpbGQgKCkge1xuICAgIGNvbnN0IG1lc3NhZ2VBdXggPSBuZXcgRFRYTWVzc2FnZUF1eEJ1ZmZlcigpO1xuICAgIGxldCBidWYgPSBCdWZmZXIuYWxsb2MoMCk7XG4gICAgaWYgKHRoaXMuZGF0YS5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiBidWY7XG4gICAgfVxuICAgIGZvciAoY29uc3QgYXJnIG9mIHRoaXMuZGF0YSkge1xuICAgICAgaWYgKGFyZyBpbnN0YW5jZW9mIERUWE1lc3NhZ2VBdXhCdWZmZXIpIHtcbiAgICAgICAgYnVmID0gQnVmZmVyLmNvbmNhdChbYnVmLCBhcmcuZ2V0Qnl0ZXMoKV0pO1xuICAgICAgfSBlbHNlIGlmIChfLmlzTnVtYmVyKGFyZykpIHtcbiAgICAgICAgbWVzc2FnZUF1eC5hcHBlbmRJbnQoYXJnKTtcbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGFyZyA9PSAnYmlnaW50Jykge1xuICAgICAgICBtZXNzYWdlQXV4LmFwcGVuZExvbmcoYXJnKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG1lc3NhZ2VBdXguYXBwZW5kT2JqZWN0KGFyZyk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBCdWZmZXIuY29uY2F0KFtidWYsIG1lc3NhZ2VBdXguZ2V0Qnl0ZXMoKV0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFBhcnNlcyBuc2tleWVkIEJ1ZmZlciBpbnRvIGpzIGFycmF5XG4gICAqIEBwYXJhbSB7QnVmZmVyfSBoZWFkZXJCdWZmZXJcbiAgICogQHBhcmFtIHtEVFhNZXNzYWdlUGF5bG9hZEhlYWRlck9iamVjdH0gcGF5bG9hZEhlYWRlclxuICAgKiBAcmV0dXJucyB7QXJyYXl9XG4gICAqL1xuICBzdGF0aWMgcGFyc2UgKGhlYWRlckJ1ZmZlciwgcGF5bG9hZEhlYWRlcikge1xuICAgIGxldCBjdXJzb3IgPSAwO1xuICAgIGNvbnN0IGRhdGEgPSBbXTtcbiAgICBjb25zdCBsZW5ndGggPSBoZWFkZXJCdWZmZXIucmVhZEJpZ0ludDY0TEUoOCk7XG4gICAgY3Vyc29yICs9IDE2O1xuICAgIHdoaWxlIChjdXJzb3IgPD0gbGVuZ3RoKSB7XG4gICAgICBpZiAocGF5bG9hZEhlYWRlci5mbGFncyAhPT0gRkxBR19UWVBFUy5wdXNoKSB7XG4gICAgICAgIGNvbnN0IG0gPSBoZWFkZXJCdWZmZXIucmVhZFVJbnQzMkxFKGN1cnNvcik7XG4gICAgICAgIGN1cnNvciArPSA0O1xuICAgICAgICBpZiAobSAhPT0gRFRYX0FVWElMSUFSWV9NQUdJQykge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgaW5jb3JyZWN0IGF1eGlsaWFyeSBtYWdpYzogJHttfWApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBjb25zdCB0eXBlID0gaGVhZGVyQnVmZmVyLnJlYWRVSW50MzJMRShjdXJzb3IpO1xuICAgICAgY3Vyc29yICs9IDQ7XG4gICAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgICAgY2FzZSBBVVhfVFlQRVMuVGV4dDoge1xuICAgICAgICAgIGNvbnN0IHN0ckxlbiA9IGhlYWRlckJ1ZmZlci5yZWFkVUludDMyTEUoY3Vyc29yKTtcbiAgICAgICAgICBjdXJzb3IgKz0gNDtcbiAgICAgICAgICBkYXRhLnB1c2goaGVhZGVyQnVmZmVyLnNsaWNlKGN1cnNvciwgY3Vyc29yICsgc3RyTGVuKSk7XG4gICAgICAgICAgY3Vyc29yICs9IHN0ckxlbjtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlIEFVWF9UWVBFUy5OU0tleWVkOiB7XG4gICAgICAgICAgY29uc3Qgc3RyTGVuID0gaGVhZGVyQnVmZmVyLnJlYWRVSW50MzJMRShjdXJzb3IpO1xuICAgICAgICAgIGN1cnNvciArPSA0O1xuICAgICAgICAgIGNvbnN0IGFyY2hpdmVkX2RhdGEgPSBoZWFkZXJCdWZmZXIuc2xpY2UoY3Vyc29yLCBjdXJzb3IgKyBzdHJMZW4pO1xuICAgICAgICAgIGRhdGEucHVzaCh1bmFyY2hpdmUoYXJjaGl2ZWRfZGF0YSkpO1xuICAgICAgICAgIGN1cnNvciArPSBzdHJMZW47XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBBVVhfVFlQRVMuVUludDMyTEU6XG4gICAgICAgICAgZGF0YS5wdXNoKGhlYWRlckJ1ZmZlci5yZWFkVUludDMyTEUoY3Vyc29yKSk7XG4gICAgICAgICAgY3Vyc29yICs9IDQ7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgQVVYX1RZUEVTLkJpZ1VJbnQ2NExFOlxuICAgICAgICAgIGRhdGEucHVzaChoZWFkZXJCdWZmZXIucmVhZEJpZ1VJbnQ2NExFKGN1cnNvcikpO1xuICAgICAgICAgIGN1cnNvciArPSA4O1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIEFVWF9UWVBFUy5CaWdJbnQ2NExFOlxuICAgICAgICAgIGRhdGEucHVzaChoZWFkZXJCdWZmZXIucmVhZEJpZ0ludDY0TEUoY3Vyc29yKSk7XG4gICAgICAgICAgY3Vyc29yICs9IDg7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIHR5cGUgJHt0eXBlfWApO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZGF0YTtcbiAgfVxufVxuXG5jbGFzcyBJbnN0cnVtZW50UlBDUGFyc2VFcnJvciB7XG4gIGNvbnN0cnVjdG9yIChkYXRhKSB7XG4gICAgdGhpcy5kYXRhID0gZGF0YTtcbiAgfVxufVxuXG5jbGFzcyBEVFhNZXNzYWdlQXV4QnVmZmVyIHtcbiAgY29uc3RydWN0b3IgKCkge1xuICAgIHRoaXMuX2J1ZiA9IEJ1ZmZlci5hbGxvYygwKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge251bWJlcn0gdmFsdWVcbiAgICovXG4gIGFwcGVuZEludCAodmFsdWUpIHtcbiAgICBjb25zdCBidWYgPSBCdWZmZXIuYWxsb2MoMTIpO1xuICAgIGJ1Zi53cml0ZVVJbnQzMkxFKERUWF9BVVhJTElBUllfTUFHSUMsIDApO1xuICAgIGJ1Zi53cml0ZVVJbnQzMkxFKDMsIDQpO1xuICAgIGJ1Zi53cml0ZVVJbnQzMkxFKHZhbHVlLCA4KTtcbiAgICB0aGlzLl9idWYgPSBCdWZmZXIuY29uY2F0KFt0aGlzLl9idWYsIGJ1Zl0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7YmlnaW50fSB2YWx1ZVxuICAgKi9cbiAgYXBwZW5kTG9uZyAodmFsdWUpIHtcbiAgICBjb25zdCBidWYgPSBCdWZmZXIuYWxsb2MoMTYpO1xuICAgIGJ1Zi53cml0ZVVJbnQzMkxFKERUWF9BVVhJTElBUllfTUFHSUMsIDApO1xuICAgIGJ1Zi53cml0ZVVJbnQzMkxFKDQsIDQpO1xuICAgIGJ1Zi53cml0ZUJpZ1VJbnQ2NExFKHZhbHVlLCA4KTtcbiAgICB0aGlzLl9idWYgPSBCdWZmZXIuY29uY2F0KFt0aGlzLl9idWYsIGJ1Zl0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7bnVtYmVyfSB2YWx1ZVxuICAgKi9cbiAgYXBwZW5kU2lnbmVkSW50ICh2YWx1ZSkge1xuICAgIGNvbnN0IGJ1ZiA9IEJ1ZmZlci5hbGxvYygxMik7XG4gICAgYnVmLndyaXRlVUludDMyTEUoRFRYX0FVWElMSUFSWV9NQUdJQywgMCk7XG4gICAgYnVmLndyaXRlVUludDMyTEUoMywgNCk7XG4gICAgYnVmLndyaXRlSW50MzJMRSh2YWx1ZSwgOCk7XG4gICAgdGhpcy5fYnVmID0gQnVmZmVyLmNvbmNhdChbdGhpcy5fYnVmLCBidWZdKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge2JpZ2ludH0gdmFsdWVcbiAgICovXG4gIGFwcGVuZFNpZ25lZExvbmcgKHZhbHVlKSB7XG4gICAgY29uc3QgYnVmID0gQnVmZmVyLmFsbG9jKDE2KTtcbiAgICB0aGlzLl9idWYud3JpdGVVSW50MzJMRShEVFhfQVVYSUxJQVJZX01BR0lDLCAwKTtcbiAgICB0aGlzLl9idWYud3JpdGVVSW50MzJMRSg2LCA0KTtcbiAgICB0aGlzLl9idWYud3JpdGVCaWdJbnQ2NExFKHZhbHVlLCA4KTtcbiAgICB0aGlzLl9idWYgPSBCdWZmZXIuY29uY2F0KFt0aGlzLl9idWYsIGJ1Zl0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7T2JqZWN0fSB2YWx1ZVxuICAgKi9cbiAgYXBwZW5kT2JqZWN0ICh2YWx1ZSkge1xuICAgIGNvbnN0IGJ1ZiA9IGFyY2hpdmUodmFsdWUpO1xuICAgIGNvbnN0IGJ1ZjIgPSBCdWZmZXIuYWxsb2MoMTIpO1xuICAgIGJ1ZjIud3JpdGVVSW50MzJMRShEVFhfQVVYSUxJQVJZX01BR0lDLCAwKTtcbiAgICBidWYyLndyaXRlVUludDMyTEUoMiwgNCk7XG4gICAgYnVmMi53cml0ZVVJbnQzMkxFKGJ1Zi5sZW5ndGgsIDgpO1xuICAgIHRoaXMuX2J1ZiA9IEJ1ZmZlci5jb25jYXQoW3RoaXMuX2J1ZiwgYnVmMiwgYnVmXSk7XG4gIH1cblxuICBnZXRCeXRlcyAoKSB7XG4gICAgY29uc3Qgb3V0ID0gQnVmZmVyLmFsbG9jKDE2KTtcbiAgICBvdXQud3JpdGVVSW50MzJMRShEVFhfTUVTU0FHRV9BVVhfSEVBREVSLCAwKTtcbiAgICBvdXQud3JpdGVVSW50MzJMRSh0aGlzLl9idWYubGVuZ3RoLCA4KTtcbiAgICByZXR1cm4gQnVmZmVyLmNvbmNhdChbb3V0LCB0aGlzLl9idWZdKTtcbiAgfVxufVxuXG5cblxuY2xhc3MgRFRYTWVzc2FnZSB7XG4gIC8qKlxuICAgKiBAcGFyYW0ge0RUWE1lc3NhZ2VPcHRpb25zfSBvcHRzXG4gICAqL1xuICBjb25zdHJ1Y3RvciAob3B0cyA9IHt9KSB7XG4gICAgY29uc3Qge1xuICAgICAgaWRlbnRpZmllcixcbiAgICAgIGNoYW5uZWxDb2RlLFxuICAgICAgc2VsZWN0b3IsXG4gICAgICBleHBlY3RzUmVwbHksXG4gICAgICBjb252ZXJzYXRpb25JbmRleCA9IDAsXG4gICAgICBmbGFncyA9IEZMQUdfVFlQRVMuc2VuZFxuICAgIH0gPSBvcHRzO1xuICAgIHRoaXMuX21lc3NhZ2VIZWFkZXIgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy5fcGF5bG9hZEhlYWRlciA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLl9pZGVudGlmaWVyID0gaWRlbnRpZmllcjtcbiAgICB0aGlzLl9jaGFubmVsQ29kZSA9IGNoYW5uZWxDb2RlO1xuICAgIHRoaXMuX2V4cGVjdHNSZXBseSA9IGV4cGVjdHNSZXBseTtcbiAgICB0aGlzLl9zZWxlY3RvciA9IHNlbGVjdG9yO1xuICAgIHRoaXMuX2NvbnZlcnNhdGlvbkluZGV4ID0gY29udmVyc2F0aW9uSW5kZXg7XG4gICAgdGhpcy5fZmxhZ3MgPSBmbGFncztcbiAgICB0aGlzLmF1eGlsaWFyaWVzID0gbmV3IERUWE1lc3NhZ2VBdXgoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBnZXQgRFRYTWVzc2FnZUhlYWRlciBpZGVudGlmaWVyLiBQYWNrZXQgdHJhbnNtaXNzaW9uIHNlcXVlbmNlXG4gICAqIEByZXR1cm5zIHtudW1iZXJ9XG4gICAqL1xuICBnZXQgaWRlbnRpZmllciAoKSB7XG4gICAgcmV0dXJuIHRoaXMuX21lc3NhZ2VIZWFkZXI/LmlkZW50aWZpZXI7XG4gIH1cblxuICAvKipcbiAgICogZ2V0IERUWE1lc3NhZ2VIZWFkZXIgY2hhbm5lbENvZGUuXG4gICAqIFBhY2tldCB0cmFuc21pc3Npb24gY2hhbm5lbENvZGUuIFVzZSB0aGlzIHZhbHVlIHRvIGRpc3Rpbmd1aXNoIHdoZW4gdGhlcmUgYXJlIG11bHRpcGxlIGNoYW5uZWxzXG4gICAqIGNhbGwgdGhpcyBtZXRob2QgYEluc3RydW1lbnRTZXJ2aWNlLnJlZ2lzdGVyQ2hhbm5lbENhbGxiYWNrYCBnZXQgdGhlIGNoYW5uZWwgbWVzc2FnZVxuICAgKiBAcmV0dXJucyB7bnVtYmVyfVxuICAgKi9cbiAgZ2V0IGNoYW5uZWxDb2RlICgpIHtcbiAgICByZXR1cm4gdGhpcy5fbWVzc2FnZUhlYWRlcj8uY2hhbm5lbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBnZXQgRFRYTWVzc2FnZUhlYWRlciBleHBlY3RzUmVwbHkuIFdoZXRoZXIgdG8gbmVlZCBhY2sgbWVzc2FnZVxuICAgKiBpZiBleHBlY3RzUmVwbHkgaXMgdHJ1ZSBtdXN0IHJlcGx5IGFjayBtZXNzYWdlXG4gICAqIEByZXR1cm5zIHtib29sZWFufVxuICAgKi9cbiAgZ2V0IGV4cGVjdHNSZXBseSAoKSB7XG4gICAgcmV0dXJuIHRoaXMuX21lc3NhZ2VIZWFkZXI/LmV4cGVjdHNSZXBseTtcbiAgfVxuXG4gIC8qKlxuICAgKiBjYWxsIHRoaXMgbWV0aG9kIGBJbnN0cnVtZW50U2VydmljZS5yZWdpc3RlclNlbGVjdG9yQ2FsbGJhY2tgIGdldCB0aGUgc2VsZWN0b3IgbWVzc2FnZVxuICAgKiBAcmV0dXJucyB7Kn0gVW5rbm93biBkYXRhXG4gICAqL1xuICBnZXQgc2VsZWN0b3IgKCkge1xuICAgIHJldHVybiB0aGlzLl9zZWxlY3RvcjtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0gZGF0YVxuICAgKi9cbiAgc2V0IHNlbGVjdG9yIChkYXRhKSB7XG4gICAgdGhpcy5fc2VsZWN0b3IgPSBkYXRhO1xuICB9XG5cbiAgLyoqXG4gICAqIGdldCBEVFhNZXNzYWdlSGVhZGVyIGNvbnZlcnNhdGlvbkluZGV4XG4gICAqIEByZXR1cm5zIHtudW1iZXJ9XG4gICAqL1xuICBnZXQgY29udmVyc2F0aW9uSW5kZXggKCkge1xuICAgIHJldHVybiB0aGlzLl9tZXNzYWdlSGVhZGVyPy5jb252ZXJzYXRpb25JbmRleDtcbiAgfVxuXG4gIC8qKlxuICAgKiBEVFhNZXNzYWdlIEJ1ZmZlcjogRFRYTWVzc2FnZUhlYWRlciArIFBheWxvYWRIZWFkZXIgKyBEVFhNZXNzYWdlQXV4QnVmZmVyKG51bGxhYmxlKSArIHNlbGVjdG9yKG51bGxhYmxlKVxuICAgKiBAcmV0dXJucyB7QnVmZmVyfVxuICAgKi9cbiAgYnVpbGQgKCkge1xuICAgIGNvbnN0IHNlbCA9IHRoaXMuX3NlbGVjdG9yID8gYXJjaGl2ZSh0aGlzLl9zZWxlY3RvcikgOiBCdWZmZXIuYWxsb2MoMCk7XG4gICAgY29uc3QgYXV4ID0gdGhpcy5hdXhpbGlhcmllcy5idWlsZCgpO1xuICAgIGNvbnN0IHBheWxvYWRIZWFkZXIgPSBEVFhNZXNzYWdlUGF5bG9hZEhlYWRlci5idWlsZCh7XG4gICAgICBmbGFnczogdGhpcy5fZmxhZ3MsXG4gICAgICBhdXhMZW5ndGg6IGF1eC5sZW5ndGgsXG4gICAgICAvLyBuZWVkIHRvIGNvbnZlcnQgdG8gYmlnaW50IGluIGFueSBjYXNlXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW5kZWZcbiAgICAgIHRvdGFsTGVuZ3RoOiBCaWdJbnQoYXV4Lmxlbmd0aCArIHNlbC5sZW5ndGgpLFxuICAgIH0pO1xuXG4gICAgY29uc3QgbWVzc2FnZUhlYWRlciA9IERUWE1lc3NhZ2VIZWFkZXIuYnVpbGQoe1xuICAgICAgcGF5bG9hZExlbmd0aDogRFRYX01FU1NBR0VfUEFZTE9BRF9IRUFERVJfTEVOR1RIICsgYXV4Lmxlbmd0aCArIHNlbC5sZW5ndGgsXG4gICAgICBpZGVudGlmaWVyOiB0aGlzLl9pZGVudGlmaWVyLFxuICAgICAgY29udmVyc2F0aW9uSW5kZXg6IHRoaXMuX2NvbnZlcnNhdGlvbkluZGV4LFxuICAgICAgY2hhbm5lbENvZGU6IHRoaXMuX2NoYW5uZWxDb2RlLFxuICAgICAgZXhwZWN0c1JlcGx5OiB0aGlzLl9leHBlY3RzUmVwbHlcbiAgICB9KTtcbiAgICByZXR1cm4gQnVmZmVyLmNvbmNhdChbbWVzc2FnZUhlYWRlciwgcGF5bG9hZEhlYWRlciwgYXV4LCBzZWxdKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQYXJzZXMgRFRYIGJ1ZmZlciBpbnRvIGFuIGpzIG9iamVjdC4gUmV0dXJuZWQgaW4gRFRYRGVjb2RlciBTdHJlYW0uVHJhbnNmb3JtXG4gICAqIEBwYXJhbSB7QnVmZmVyfSBoZWFkZXJCdWYgIERUWE1lc3NhZ2VIZWFkZXIgYnVmZmVyXG4gICAqIEBwYXJhbSB7QnVmZmVyfSBwYXlsb2FkQnVmICBQYXlsb2FkSGVhZGVyQnVmZmVyICsgRFRYTWVzc2FnZUF1eEJ1ZmZlcihudWxsYWJsZSkgKyBzZWxlY3RvckJ1ZmZlcihudWxsYWJsZSlcbiAgICogQHJldHVybnMge0RUWE1lc3NhZ2V9XG4gICAqL1xuICBzdGF0aWMgcGFyc2UgKGhlYWRlckJ1ZiwgcGF5bG9hZEJ1Zikge1xuICAgIGxldCBjdXJzb3IgPSAwO1xuICAgIGNvbnN0IHJldCA9IG5ldyBEVFhNZXNzYWdlKCk7XG4gICAgcmV0Ll9tZXNzYWdlSGVhZGVyID0gRFRYTWVzc2FnZUhlYWRlci5wYXJzZShoZWFkZXJCdWYpO1xuICAgIGlmIChyZXQuX21lc3NhZ2VIZWFkZXIucGF5bG9hZExlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIHJldDtcbiAgICB9XG4gICAgcmV0Ll9wYXlsb2FkSGVhZGVyID0gRFRYTWVzc2FnZVBheWxvYWRIZWFkZXIucGFyc2UocGF5bG9hZEJ1Zi5zbGljZShjdXJzb3IsIERUWF9NRVNTQUdFX1BBWUxPQURfSEVBREVSX0xFTkdUSCkpO1xuICAgIGN1cnNvciArPSBEVFhfTUVTU0FHRV9QQVlMT0FEX0hFQURFUl9MRU5HVEg7XG4gICAgLy8gdG90YWxMZW5ndGggaXMgYmlnaW50IHVzZSAwblxuICAgIGlmIChyZXQuX3BheWxvYWRIZWFkZXIudG90YWxMZW5ndGggPT09IDBuKSB7XG4gICAgICByZXR1cm4gcmV0O1xuICAgIH1cbiAgICBpZiAocmV0Ll9wYXlsb2FkSGVhZGVyLmF1eExlbmd0aCA+IDApIHtcbiAgICAgIHJldC5hdXhpbGlhcmllcyA9IERUWE1lc3NhZ2VBdXgucGFyc2UocGF5bG9hZEJ1Zi5zbGljZShjdXJzb3IsIGN1cnNvciArIHJldC5fcGF5bG9hZEhlYWRlci5hdXhMZW5ndGgpLCByZXQuX3BheWxvYWRIZWFkZXIpO1xuICAgICAgY3Vyc29yICs9IHJldC5fcGF5bG9hZEhlYWRlci5hdXhMZW5ndGg7XG4gICAgfVxuXG4gICAgY29uc3QgZGF0YSA9IHBheWxvYWRCdWYuc2xpY2UoY3Vyc29yLCBjdXJzb3IgKyBwYXlsb2FkQnVmLmxlbmd0aCk7XG4gICAgcmV0LnNlbGVjdG9yID0gZGF0YTtcbiAgICBpZiAoZGF0YS5sZW5ndGggPiAwKSB7XG4gICAgICBmb3IgKGNvbnN0IGZ1biBvZiBbdW5hcmNoaXZlLCBwbGlzdGxpYi5wYXJzZUJ1ZmZlcl0pIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICByZXQuc2VsZWN0b3IgPSBmdW4oZGF0YSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICByZXQuc2VsZWN0b3IgPSBuZXcgSW5zdHJ1bWVudFJQQ1BhcnNlRXJyb3IoZGF0YSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJldDtcbiAgfVxufVxuXG5leHBvcnQgeyBEVFhNZXNzYWdlSGVhZGVyLCBEVFhNZXNzYWdlUGF5bG9hZEhlYWRlciwgRFRYTWVzc2FnZUF1eEJ1ZmZlciwgRFRYTWVzc2FnZUF1eCwgRFRYTWVzc2FnZSxcbiAgRFRYX01FU1NBR0VfUEFZTE9BRF9IRUFERVJfTEVOR1RILCBEVFhfTUVTU0FHRV9IRUFERVJfTEVOR1RILCBEVFhfTUVTU0FHRV9IRUFERVJfTUFHSUMsIERUWF9NRVNTQUdFX0hFQURFUl9NQUdJQ19MRU4sXG4gIEZMQUdfVFlQRVN9OyJdLCJtYXBwaW5ncyI6Ijs7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
|
|
366
|
+
exports.DTXMessage = DTXMessage;
|
|
367
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJEVFhfTUVTU0FHRV9QQVlMT0FEX0hFQURFUl9MRU5HVEgiLCJEVFhfTUVTU0FHRV9IRUFERVJfTEVOR1RIIiwiRFRYX01FU1NBR0VfSEVBREVSX01BR0lDIiwiRFRYX01FU1NBR0VfSEVBREVSX01BR0lDX0xFTiIsIkRUWF9NRVNTQUdFX0FVWF9IRUFERVIiLCJEVFhfQVVYSUxJQVJZX01BR0lDIiwiRkxBR19UWVBFUyIsIk9iamVjdCIsImZyZWV6ZSIsInB1c2giLCJyZWN2Iiwic2VuZCIsInJlcGx5IiwiQVVYX1RZUEVTIiwiVGV4dCIsIk5TS2V5ZWQiLCJVSW50MzJMRSIsIkJpZ1VJbnQ2NExFIiwiQmlnSW50NjRMRSIsIkRUWE1lc3NhZ2VIZWFkZXIiLCJidWlsZCIsImRhdGEiLCJtZXNzYWdlSGVhZGVyIiwiQnVmZmVyIiwiYWxsb2MiLCJ3cml0ZVVJbnQzMkxFIiwid3JpdGVVSW50MTZMRSIsInBheWxvYWRMZW5ndGgiLCJpZGVudGlmaWVyIiwiY29udmVyc2F0aW9uSW5kZXgiLCJjaGFubmVsQ29kZSIsImV4cGVjdHNSZXBseSIsInBhcnNlIiwiaGVhZGVyQnVmZmVyIiwibWFnaWMiLCJyZWFkVUludDMyTEUiLCJoZWFkZXJMZW5ndGgiLCJmcmFnbWVudElkIiwicmVhZFVJbnQxNkxFIiwiZnJhZ21lbnRDb3VudCIsImNoYW5uZWwiLCJEVFhNZXNzYWdlUGF5bG9hZEhlYWRlciIsImZsYWdzIiwiYXV4TGVuZ3RoIiwid3JpdGVCaWdVSW50NjRMRSIsInRvdGFsTGVuZ3RoIiwicmVhZEJpZ0ludDY0TEUiLCJEVFhNZXNzYWdlQXV4IiwiY29uc3RydWN0b3IiLCJtZXNzYWdlQXV4IiwiRFRYTWVzc2FnZUF1eEJ1ZmZlciIsImJ1ZiIsImxlbmd0aCIsImFyZyIsImNvbmNhdCIsImdldEJ5dGVzIiwiXyIsImlzTnVtYmVyIiwiYXBwZW5kSW50IiwiYXBwZW5kTG9uZyIsImFwcGVuZE9iamVjdCIsInBheWxvYWRIZWFkZXIiLCJjdXJzb3IiLCJtIiwiRXJyb3IiLCJ0eXBlIiwic3RyTGVuIiwic2xpY2UiLCJhcmNoaXZlZF9kYXRhIiwidW5hcmNoaXZlIiwicmVhZEJpZ1VJbnQ2NExFIiwiSW5zdHJ1bWVudFJQQ1BhcnNlRXJyb3IiLCJfYnVmIiwidmFsdWUiLCJhcHBlbmRTaWduZWRJbnQiLCJ3cml0ZUludDMyTEUiLCJhcHBlbmRTaWduZWRMb25nIiwid3JpdGVCaWdJbnQ2NExFIiwiYXJjaGl2ZSIsImJ1ZjIiLCJvdXQiLCJEVFhNZXNzYWdlIiwib3B0cyIsInNlbGVjdG9yIiwiX21lc3NhZ2VIZWFkZXIiLCJ1bmRlZmluZWQiLCJfcGF5bG9hZEhlYWRlciIsIl9pZGVudGlmaWVyIiwiX2NoYW5uZWxDb2RlIiwiX2V4cGVjdHNSZXBseSIsIl9zZWxlY3RvciIsIl9jb252ZXJzYXRpb25JbmRleCIsIl9mbGFncyIsImF1eGlsaWFyaWVzIiwic2VsIiwiYXV4IiwiQmlnSW50IiwiaGVhZGVyQnVmIiwicGF5bG9hZEJ1ZiIsInJldCIsImZ1biIsInBsaXN0bGliIiwicGFyc2VCdWZmZXIiLCJlIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL2luc3RydW1lbnQvaGVhZGVycy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2FyY2hpdmUsIHVuYXJjaGl2ZX0gZnJvbSAnLi90cmFuc2Zvcm1lci9uc2tleWVkJztcbmltcG9ydCBwbGlzdGxpYiBmcm9tICdicGxpc3QtcGFyc2VyJztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5cbmNvbnN0IERUWF9NRVNTQUdFX1BBWUxPQURfSEVBREVSX0xFTkdUSCA9IDE2O1xuY29uc3QgRFRYX01FU1NBR0VfSEVBREVSX0xFTkdUSCA9IDMyO1xuY29uc3QgRFRYX01FU1NBR0VfSEVBREVSX01BR0lDID0gMHgxRjNENUI3OTtcbmNvbnN0IERUWF9NRVNTQUdFX0hFQURFUl9NQUdJQ19MRU4gPSA0O1xuY29uc3QgRFRYX01FU1NBR0VfQVVYX0hFQURFUiA9IDB4MDFGMDtcbmNvbnN0IERUWF9BVVhJTElBUllfTUFHSUMgPSAweGE7XG5cbmNvbnN0IEZMQUdfVFlQRVMgPSBPYmplY3QuZnJlZXplKHtcbiAgcHVzaDogMCxcbiAgcmVjdjogMSxcbiAgc2VuZDogMixcbiAgcmVwbHk6IDNcbn0pO1xuXG5jb25zdCBBVVhfVFlQRVMgPSBPYmplY3QuZnJlZXplKHtcbiAgVGV4dDogMSxcbiAgTlNLZXllZDogMixcbiAgVUludDMyTEU6IDMsXG4gIEJpZ1VJbnQ2NExFOiA0LFxuICBCaWdJbnQ2NExFOiA2XG59KTtcblxuLyoqXG4gKiBEVFhNZXNzYWdlSGVhZGVyIGxlbmd0aCAzMlxuICogc3RydWN0IERUWE1lc3NhZ2VIZWFkZXIge1xuICogICAgIHUzMiBtYWdpYyBEVFhfTUVTU0FHRV9IRUFERVJfTUFHSUNcbiAqICAgICB1MzIgaGVhZGVyTGVuZ3RoXG4gKiAgICAgdTE2IGZyYWdtZW50SWQgICBwYWNrZXQgbnVtYmVyXG4gKiAgICAgdTE2IGZyYWdtZW50Q291bnQgIHBhY2tldHMgdG90YWwgbnVtYmVyXG4gKiAgICAgdTMyIHBheWxvYWRMZW5ndGhcbiAqICAgICB1MzIgaWRlbnRpZmllclxuICogICAgIHUzMiBjb252ZXJzYXRpb25JbmRleFxuICogICAgIHUzMiBjaGFubmVsXG4gKiAgICAgdTMyIGV4cGVjdHNSZXBseVxuICogICAgIH1cbiAqL1xuXG4vKipcbiAqIEB0eXBlZGVmIHtPYmplY3R9IERUWE1lc3NhZ2VPcHRpb25zXG4gKiBAcHJvcGVydHkge251bWJlcn0gaWRlbnRpZmllciBwYWNrZXQgdHJhbnNtaXNzaW9uIHNlcXVlbmNlLCB0aGlzIHZhbHVlIGlzIGluY3JlbWVudGVkIGZvciBlYWNoIHJlcXVlc3RcbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBjaGFubmVsQ29kZSB0aGUgZGF0YSB0cmFuc21pc3Npb24gb2YgdGhlIHNlcnZpY2Ugd2lsbCB1c2UgdGhpcyBjaGFubmVsIGNvZGUuXG4gKiBFYWNoIHNlcnZpY2UgaGFzIGEgc2VwYXJhdGUgY2hhbm5lbFxuICogQHByb3BlcnR5IHs/bnVtYmVyfSBwYXlsb2FkTGVuZ3RoIERUWE1lc3NhZ2VBdXhCdWZmZXIubGVuZ3RoKG51bGxhYmxlKSArIHNlbGVjdG9yQnVmZmVyLmxlbmd0aChudWxsYWJsZSlcbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gZXhwZWN0c1JlcGx5IGlmIHRydWUgcmVwbHkgYSBhY2sgbWVzc2FnZVxuICogQHByb3BlcnR5IHtudW1iZXJ9IGNvbnZlcnNhdGlvbkluZGV4ICByYXcgZGF0YSArMSBpbmRpY2F0ZSBhIHJlcGx5IG1lc3NhZ2VcbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBmbGFncyBtZXNzYWdlIHN0YXR1c1xuICovXG5cbmNsYXNzIERUWE1lc3NhZ2VIZWFkZXIge1xuICAvKipcbiAgICogQHBhcmFtIHtEVFhNZXNzYWdlT3B0aW9uc30gZGF0YVxuICAgKiBAcmV0dXJucyB7QnVmZmVyfSBEVFhNZXNzYWdlSGVhZGVyQnVmZmVyXG4gICAqL1xuICBzdGF0aWMgYnVpbGQgKGRhdGEpIHtcbiAgICBjb25zdCBtZXNzYWdlSGVhZGVyID0gQnVmZmVyLmFsbG9jKERUWF9NRVNTQUdFX0hFQURFUl9MRU5HVEgpO1xuICAgIG1lc3NhZ2VIZWFkZXIud3JpdGVVSW50MzJMRShEVFhfTUVTU0FHRV9IRUFERVJfTUFHSUMsIDApO1xuICAgIG1lc3NhZ2VIZWFkZXIud3JpdGVVSW50MzJMRShEVFhfTUVTU0FHRV9IRUFERVJfTEVOR1RILCA0KTtcbiAgICBtZXNzYWdlSGVhZGVyLndyaXRlVUludDE2TEUoMCwgOCk7XG4gICAgbWVzc2FnZUhlYWRlci53cml0ZVVJbnQxNkxFKDEsIDEwKTtcbiAgICBtZXNzYWdlSGVhZGVyLndyaXRlVUludDMyTEUoZGF0YS5wYXlsb2FkTGVuZ3RoLCAxMik7XG4gICAgbWVzc2FnZUhlYWRlci53cml0ZVVJbnQzMkxFKGRhdGEuaWRlbnRpZmllciwgMTYpO1xuICAgIG1lc3NhZ2VIZWFkZXIud3JpdGVVSW50MzJMRShkYXRhLmNvbnZlcnNhdGlvbkluZGV4LCAyMCk7XG4gICAgbWVzc2FnZUhlYWRlci53cml0ZVVJbnQzMkxFKGRhdGEuY2hhbm5lbENvZGUsIDI0KTtcbiAgICBtZXNzYWdlSGVhZGVyLndyaXRlVUludDMyTEUoZGF0YS5leHBlY3RzUmVwbHksIDI4KTtcbiAgICByZXR1cm4gbWVzc2FnZUhlYWRlcjtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0gaGVhZGVyQnVmZmVyIERUWE1lc3NhZ2VIZWFkZXJCdWZmZXJcbiAgICogQHJldHVybnMge09iamVjdH1cbiAgICovXG4gIHN0YXRpYyBwYXJzZSAoaGVhZGVyQnVmZmVyKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG1hZ2ljOiBoZWFkZXJCdWZmZXIucmVhZFVJbnQzMkxFKDApLFxuICAgICAgaGVhZGVyTGVuZ3RoOiBoZWFkZXJCdWZmZXIucmVhZFVJbnQzMkxFKDQpLFxuICAgICAgZnJhZ21lbnRJZDogaGVhZGVyQnVmZmVyLnJlYWRVSW50MTZMRSg4KSxcbiAgICAgIGZyYWdtZW50Q291bnQ6IGhlYWRlckJ1ZmZlci5yZWFkVUludDE2TEUoMTApLFxuICAgICAgcGF5bG9hZExlbmd0aDogaGVhZGVyQnVmZmVyLnJlYWRVSW50MzJMRSgxMiksXG4gICAgICBpZGVudGlmaWVyOiBoZWFkZXJCdWZmZXIucmVhZFVJbnQzMkxFKDE2KSxcbiAgICAgIGNvbnZlcnNhdGlvbkluZGV4OiBoZWFkZXJCdWZmZXIucmVhZFVJbnQzMkxFKDIwKSxcbiAgICAgIGNoYW5uZWw6IGhlYWRlckJ1ZmZlci5yZWFkVUludDMyTEUoMjQpLFxuICAgICAgZXhwZWN0c1JlcGx5OiBoZWFkZXJCdWZmZXIucmVhZFVJbnQzMkxFKDI4KSxcbiAgICB9O1xuICB9XG59XG5cbi8qKlxuICogRFRYTWVzc2FnZVBheWxvYWRIZWFkZXIgbGVuZ3RoIDE2XG4gKiBzdHJ1Y3QgRFRYTWVzc2FnZUhlYWRlciB7XG4gKiAgICAgdTMyIGZsYWdzIEZMQUdfVFlQRVNcbiAqICAgICB1MzIgYXV4TGVuZ3RoXG4gKiAgICAgdTY0IHRvdGFsTGVuZ3RoXG4gKiAgICAgfVxuICovXG5cbi8qKlxuICogQHR5cGVkZWYge09iamVjdH0gRFRYTWVzc2FnZVBheWxvYWRIZWFkZXJPYmplY3RcbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBmbGFncyBtZXNzYWdlIHN0YXR1c1xuICogQHByb3BlcnR5IHtudW1iZXJ9IGF1eExlbmd0aCBEVFhNZXNzYWdlQXV4QnVmZmVyLmxlbmd0aChudWxsYWJsZSlcbiAqIEBwcm9wZXJ0eSB7YmlnaW50fSB0b3RhbExlbmd0aCBEVFhNZXNzYWdlQXV4QnVmZmVyLmxlbmd0aChudWxsYWJsZSkgKyBzZWxlY3RvckJ1ZmZlci5sZW5ndGhcbiAqL1xuY2xhc3MgRFRYTWVzc2FnZVBheWxvYWRIZWFkZXIge1xuICAvKipcbiAgICogQHBhcmFtIGRhdGEge0RUWE1lc3NhZ2VQYXlsb2FkSGVhZGVyT2JqZWN0fVxuICAgKiBAcmV0dXJucyB7QnVmZmVyfSBEVFhNZXNzYWdlUGF5bG9hZEhlYWRlckJ1ZmZlclxuICAgKi9cbiAgc3RhdGljIGJ1aWxkIChkYXRhKSB7XG4gICAgY29uc3QgbWVzc2FnZUhlYWRlciA9IEJ1ZmZlci5hbGxvYyhEVFhfTUVTU0FHRV9QQVlMT0FEX0hFQURFUl9MRU5HVEgpO1xuICAgIG1lc3NhZ2VIZWFkZXIud3JpdGVVSW50MzJMRShkYXRhLmZsYWdzLCAwKTtcbiAgICBtZXNzYWdlSGVhZGVyLndyaXRlVUludDMyTEUoZGF0YS5hdXhMZW5ndGgsIDQpO1xuICAgIG1lc3NhZ2VIZWFkZXIud3JpdGVCaWdVSW50NjRMRShkYXRhLnRvdGFsTGVuZ3RoLCA4KTtcbiAgICByZXR1cm4gbWVzc2FnZUhlYWRlcjtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0gaGVhZGVyQnVmZmVyXG4gICAqIEByZXR1cm5zIHtEVFhNZXNzYWdlUGF5bG9hZEhlYWRlck9iamVjdH1cbiAgICovXG4gIHN0YXRpYyBwYXJzZSAoaGVhZGVyQnVmZmVyKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGZsYWdzOiBoZWFkZXJCdWZmZXIucmVhZFVJbnQzMkxFKDApLFxuICAgICAgYXV4TGVuZ3RoOiBoZWFkZXJCdWZmZXIucmVhZFVJbnQzMkxFKDQpLFxuICAgICAgdG90YWxMZW5ndGg6IGhlYWRlckJ1ZmZlci5yZWFkQmlnSW50NjRMRSg4KVxuICAgIH07XG4gIH1cbn1cblxuXG5jbGFzcyBEVFhNZXNzYWdlQXV4IHtcbiAgY29uc3RydWN0b3IgKGRhdGEgPSBbXSkge1xuICAgIHRoaXMuZGF0YSA9IGRhdGE7XG4gIH1cblxuICAvKipcbiAgICogSlMgQXJyYXkgdG8gQXBwbGUgTlNLZXllZCBCdWZmZXJcbiAgICogQHJldHVybnMge0J1ZmZlcn1cbiAgICovXG4gIGJ1aWxkICgpIHtcbiAgICBjb25zdCBtZXNzYWdlQXV4ID0gbmV3IERUWE1lc3NhZ2VBdXhCdWZmZXIoKTtcbiAgICBsZXQgYnVmID0gQnVmZmVyLmFsbG9jKDApO1xuICAgIGlmICh0aGlzLmRhdGEubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gYnVmO1xuICAgIH1cbiAgICBmb3IgKGNvbnN0IGFyZyBvZiB0aGlzLmRhdGEpIHtcbiAgICAgIGlmIChhcmcgaW5zdGFuY2VvZiBEVFhNZXNzYWdlQXV4QnVmZmVyKSB7XG4gICAgICAgIGJ1ZiA9IEJ1ZmZlci5jb25jYXQoW2J1ZiwgYXJnLmdldEJ5dGVzKCldKTtcbiAgICAgIH0gZWxzZSBpZiAoXy5pc051bWJlcihhcmcpKSB7XG4gICAgICAgIG1lc3NhZ2VBdXguYXBwZW5kSW50KGFyZyk7XG4gICAgICB9IGVsc2UgaWYgKHR5cGVvZiBhcmcgPT0gJ2JpZ2ludCcpIHtcbiAgICAgICAgbWVzc2FnZUF1eC5hcHBlbmRMb25nKGFyZyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBtZXNzYWdlQXV4LmFwcGVuZE9iamVjdChhcmcpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gQnVmZmVyLmNvbmNhdChbYnVmLCBtZXNzYWdlQXV4LmdldEJ5dGVzKCldKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQYXJzZXMgbnNrZXllZCBCdWZmZXIgaW50byBqcyBhcnJheVxuICAgKiBAcGFyYW0ge0J1ZmZlcn0gaGVhZGVyQnVmZmVyXG4gICAqIEBwYXJhbSB7RFRYTWVzc2FnZVBheWxvYWRIZWFkZXJPYmplY3R9IHBheWxvYWRIZWFkZXJcbiAgICogQHJldHVybnMge0FycmF5fVxuICAgKi9cbiAgc3RhdGljIHBhcnNlIChoZWFkZXJCdWZmZXIsIHBheWxvYWRIZWFkZXIpIHtcbiAgICBsZXQgY3Vyc29yID0gMDtcbiAgICBjb25zdCBkYXRhID0gW107XG4gICAgY29uc3QgbGVuZ3RoID0gaGVhZGVyQnVmZmVyLnJlYWRCaWdJbnQ2NExFKDgpO1xuICAgIGN1cnNvciArPSAxNjtcbiAgICB3aGlsZSAoY3Vyc29yIDw9IGxlbmd0aCkge1xuICAgICAgaWYgKHBheWxvYWRIZWFkZXIuZmxhZ3MgIT09IEZMQUdfVFlQRVMucHVzaCkge1xuICAgICAgICBjb25zdCBtID0gaGVhZGVyQnVmZmVyLnJlYWRVSW50MzJMRShjdXJzb3IpO1xuICAgICAgICBjdXJzb3IgKz0gNDtcbiAgICAgICAgaWYgKG0gIT09IERUWF9BVVhJTElBUllfTUFHSUMpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYGluY29ycmVjdCBhdXhpbGlhcnkgbWFnaWM6ICR7bX1gKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgY29uc3QgdHlwZSA9IGhlYWRlckJ1ZmZlci5yZWFkVUludDMyTEUoY3Vyc29yKTtcbiAgICAgIGN1cnNvciArPSA0O1xuICAgICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICAgIGNhc2UgQVVYX1RZUEVTLlRleHQ6IHtcbiAgICAgICAgICBjb25zdCBzdHJMZW4gPSBoZWFkZXJCdWZmZXIucmVhZFVJbnQzMkxFKGN1cnNvcik7XG4gICAgICAgICAgY3Vyc29yICs9IDQ7XG4gICAgICAgICAgZGF0YS5wdXNoKGhlYWRlckJ1ZmZlci5zbGljZShjdXJzb3IsIGN1cnNvciArIHN0ckxlbikpO1xuICAgICAgICAgIGN1cnNvciArPSBzdHJMZW47XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBBVVhfVFlQRVMuTlNLZXllZDoge1xuICAgICAgICAgIGNvbnN0IHN0ckxlbiA9IGhlYWRlckJ1ZmZlci5yZWFkVUludDMyTEUoY3Vyc29yKTtcbiAgICAgICAgICBjdXJzb3IgKz0gNDtcbiAgICAgICAgICBjb25zdCBhcmNoaXZlZF9kYXRhID0gaGVhZGVyQnVmZmVyLnNsaWNlKGN1cnNvciwgY3Vyc29yICsgc3RyTGVuKTtcbiAgICAgICAgICBkYXRhLnB1c2godW5hcmNoaXZlKGFyY2hpdmVkX2RhdGEpKTtcbiAgICAgICAgICBjdXJzb3IgKz0gc3RyTGVuO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgQVVYX1RZUEVTLlVJbnQzMkxFOlxuICAgICAgICAgIGRhdGEucHVzaChoZWFkZXJCdWZmZXIucmVhZFVJbnQzMkxFKGN1cnNvcikpO1xuICAgICAgICAgIGN1cnNvciArPSA0O1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIEFVWF9UWVBFUy5CaWdVSW50NjRMRTpcbiAgICAgICAgICBkYXRhLnB1c2goaGVhZGVyQnVmZmVyLnJlYWRCaWdVSW50NjRMRShjdXJzb3IpKTtcbiAgICAgICAgICBjdXJzb3IgKz0gODtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBBVVhfVFlQRVMuQmlnSW50NjRMRTpcbiAgICAgICAgICBkYXRhLnB1c2goaGVhZGVyQnVmZmVyLnJlYWRCaWdJbnQ2NExFKGN1cnNvcikpO1xuICAgICAgICAgIGN1cnNvciArPSA4O1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgVW5rbm93biB0eXBlICR7dHlwZX1gKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGRhdGE7XG4gIH1cbn1cblxuY2xhc3MgSW5zdHJ1bWVudFJQQ1BhcnNlRXJyb3Ige1xuICBjb25zdHJ1Y3RvciAoZGF0YSkge1xuICAgIHRoaXMuZGF0YSA9IGRhdGE7XG4gIH1cbn1cblxuY2xhc3MgRFRYTWVzc2FnZUF1eEJ1ZmZlciB7XG4gIGNvbnN0cnVjdG9yICgpIHtcbiAgICB0aGlzLl9idWYgPSBCdWZmZXIuYWxsb2MoMCk7XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtudW1iZXJ9IHZhbHVlXG4gICAqL1xuICBhcHBlbmRJbnQgKHZhbHVlKSB7XG4gICAgY29uc3QgYnVmID0gQnVmZmVyLmFsbG9jKDEyKTtcbiAgICBidWYud3JpdGVVSW50MzJMRShEVFhfQVVYSUxJQVJZX01BR0lDLCAwKTtcbiAgICBidWYud3JpdGVVSW50MzJMRSgzLCA0KTtcbiAgICBidWYud3JpdGVVSW50MzJMRSh2YWx1ZSwgOCk7XG4gICAgdGhpcy5fYnVmID0gQnVmZmVyLmNvbmNhdChbdGhpcy5fYnVmLCBidWZdKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge2JpZ2ludH0gdmFsdWVcbiAgICovXG4gIGFwcGVuZExvbmcgKHZhbHVlKSB7XG4gICAgY29uc3QgYnVmID0gQnVmZmVyLmFsbG9jKDE2KTtcbiAgICBidWYud3JpdGVVSW50MzJMRShEVFhfQVVYSUxJQVJZX01BR0lDLCAwKTtcbiAgICBidWYud3JpdGVVSW50MzJMRSg0LCA0KTtcbiAgICBidWYud3JpdGVCaWdVSW50NjRMRSh2YWx1ZSwgOCk7XG4gICAgdGhpcy5fYnVmID0gQnVmZmVyLmNvbmNhdChbdGhpcy5fYnVmLCBidWZdKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge251bWJlcn0gdmFsdWVcbiAgICovXG4gIGFwcGVuZFNpZ25lZEludCAodmFsdWUpIHtcbiAgICBjb25zdCBidWYgPSBCdWZmZXIuYWxsb2MoMTIpO1xuICAgIGJ1Zi53cml0ZVVJbnQzMkxFKERUWF9BVVhJTElBUllfTUFHSUMsIDApO1xuICAgIGJ1Zi53cml0ZVVJbnQzMkxFKDMsIDQpO1xuICAgIGJ1Zi53cml0ZUludDMyTEUodmFsdWUsIDgpO1xuICAgIHRoaXMuX2J1ZiA9IEJ1ZmZlci5jb25jYXQoW3RoaXMuX2J1ZiwgYnVmXSk7XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtiaWdpbnR9IHZhbHVlXG4gICAqL1xuICBhcHBlbmRTaWduZWRMb25nICh2YWx1ZSkge1xuICAgIGNvbnN0IGJ1ZiA9IEJ1ZmZlci5hbGxvYygxNik7XG4gICAgYnVmLndyaXRlVUludDMyTEUoRFRYX0FVWElMSUFSWV9NQUdJQywgMCk7XG4gICAgYnVmLndyaXRlVUludDMyTEUoNiwgNCk7XG4gICAgYnVmLndyaXRlQmlnSW50NjRMRSh2YWx1ZSwgOCk7XG4gICAgdGhpcy5fYnVmID0gQnVmZmVyLmNvbmNhdChbdGhpcy5fYnVmLCBidWZdKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge09iamVjdH0gdmFsdWVcbiAgICovXG4gIGFwcGVuZE9iamVjdCAodmFsdWUpIHtcbiAgICBjb25zdCBidWYgPSBhcmNoaXZlKHZhbHVlKTtcbiAgICBjb25zdCBidWYyID0gQnVmZmVyLmFsbG9jKDEyKTtcbiAgICBidWYyLndyaXRlVUludDMyTEUoRFRYX0FVWElMSUFSWV9NQUdJQywgMCk7XG4gICAgYnVmMi53cml0ZVVJbnQzMkxFKDIsIDQpO1xuICAgIGJ1ZjIud3JpdGVVSW50MzJMRShidWYubGVuZ3RoLCA4KTtcbiAgICB0aGlzLl9idWYgPSBCdWZmZXIuY29uY2F0KFt0aGlzLl9idWYsIGJ1ZjIsIGJ1Zl0pO1xuICB9XG5cbiAgZ2V0Qnl0ZXMgKCkge1xuICAgIGNvbnN0IG91dCA9IEJ1ZmZlci5hbGxvYygxNik7XG4gICAgb3V0LndyaXRlVUludDMyTEUoRFRYX01FU1NBR0VfQVVYX0hFQURFUiwgMCk7XG4gICAgb3V0LndyaXRlVUludDMyTEUodGhpcy5fYnVmLmxlbmd0aCwgOCk7XG4gICAgcmV0dXJuIEJ1ZmZlci5jb25jYXQoW291dCwgdGhpcy5fYnVmXSk7XG4gIH1cbn1cblxuXG5cbmNsYXNzIERUWE1lc3NhZ2Uge1xuICAvKipcbiAgICogQHBhcmFtIHtEVFhNZXNzYWdlT3B0aW9uc30gb3B0c1xuICAgKi9cbiAgY29uc3RydWN0b3IgKG9wdHMgPSB7fSkge1xuICAgIGNvbnN0IHtcbiAgICAgIGlkZW50aWZpZXIsXG4gICAgICBjaGFubmVsQ29kZSxcbiAgICAgIHNlbGVjdG9yLFxuICAgICAgZXhwZWN0c1JlcGx5LFxuICAgICAgY29udmVyc2F0aW9uSW5kZXggPSAwLFxuICAgICAgZmxhZ3MgPSBGTEFHX1RZUEVTLnNlbmRcbiAgICB9ID0gb3B0cztcbiAgICB0aGlzLl9tZXNzYWdlSGVhZGVyID0gdW5kZWZpbmVkO1xuICAgIHRoaXMuX3BheWxvYWRIZWFkZXIgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy5faWRlbnRpZmllciA9IGlkZW50aWZpZXI7XG4gICAgdGhpcy5fY2hhbm5lbENvZGUgPSBjaGFubmVsQ29kZTtcbiAgICB0aGlzLl9leHBlY3RzUmVwbHkgPSBleHBlY3RzUmVwbHk7XG4gICAgdGhpcy5fc2VsZWN0b3IgPSBzZWxlY3RvcjtcbiAgICB0aGlzLl9jb252ZXJzYXRpb25JbmRleCA9IGNvbnZlcnNhdGlvbkluZGV4O1xuICAgIHRoaXMuX2ZsYWdzID0gZmxhZ3M7XG4gICAgdGhpcy5hdXhpbGlhcmllcyA9IG5ldyBEVFhNZXNzYWdlQXV4KCk7XG4gIH1cblxuICAvKipcbiAgICogZ2V0IERUWE1lc3NhZ2VIZWFkZXIgaWRlbnRpZmllci4gUGFja2V0IHRyYW5zbWlzc2lvbiBzZXF1ZW5jZVxuICAgKiBAcmV0dXJucyB7bnVtYmVyfVxuICAgKi9cbiAgZ2V0IGlkZW50aWZpZXIgKCkge1xuICAgIHJldHVybiB0aGlzLl9tZXNzYWdlSGVhZGVyPy5pZGVudGlmaWVyO1xuICB9XG5cbiAgLyoqXG4gICAqIGdldCBEVFhNZXNzYWdlSGVhZGVyIGNoYW5uZWxDb2RlLlxuICAgKiBQYWNrZXQgdHJhbnNtaXNzaW9uIGNoYW5uZWxDb2RlLiBVc2UgdGhpcyB2YWx1ZSB0byBkaXN0aW5ndWlzaCB3aGVuIHRoZXJlIGFyZSBtdWx0aXBsZSBjaGFubmVsc1xuICAgKiBjYWxsIHRoaXMgbWV0aG9kIGBJbnN0cnVtZW50U2VydmljZS5yZWdpc3RlckNoYW5uZWxDYWxsYmFja2AgZ2V0IHRoZSBjaGFubmVsIG1lc3NhZ2VcbiAgICogQHJldHVybnMge251bWJlcn1cbiAgICovXG4gIGdldCBjaGFubmVsQ29kZSAoKSB7XG4gICAgcmV0dXJuIHRoaXMuX21lc3NhZ2VIZWFkZXI/LmNoYW5uZWw7XG4gIH1cblxuICAvKipcbiAgICogZ2V0IERUWE1lc3NhZ2VIZWFkZXIgZXhwZWN0c1JlcGx5LiBXaGV0aGVyIHRvIG5lZWQgYWNrIG1lc3NhZ2VcbiAgICogaWYgZXhwZWN0c1JlcGx5IGlzIHRydWUgbXVzdCByZXBseSBhY2sgbWVzc2FnZVxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn1cbiAgICovXG4gIGdldCBleHBlY3RzUmVwbHkgKCkge1xuICAgIHJldHVybiB0aGlzLl9tZXNzYWdlSGVhZGVyPy5leHBlY3RzUmVwbHk7XG4gIH1cblxuICAvKipcbiAgICogY2FsbCB0aGlzIG1ldGhvZCBgSW5zdHJ1bWVudFNlcnZpY2UucmVnaXN0ZXJTZWxlY3RvckNhbGxiYWNrYCBnZXQgdGhlIHNlbGVjdG9yIG1lc3NhZ2VcbiAgICogQHJldHVybnMgeyp9IFVua25vd24gZGF0YVxuICAgKi9cbiAgZ2V0IHNlbGVjdG9yICgpIHtcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0b3I7XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIGRhdGFcbiAgICovXG4gIHNldCBzZWxlY3RvciAoZGF0YSkge1xuICAgIHRoaXMuX3NlbGVjdG9yID0gZGF0YTtcbiAgfVxuXG4gIC8qKlxuICAgKiBnZXQgRFRYTWVzc2FnZUhlYWRlciBjb252ZXJzYXRpb25JbmRleFxuICAgKiBAcmV0dXJucyB7bnVtYmVyfVxuICAgKi9cbiAgZ2V0IGNvbnZlcnNhdGlvbkluZGV4ICgpIHtcbiAgICByZXR1cm4gdGhpcy5fbWVzc2FnZUhlYWRlcj8uY29udmVyc2F0aW9uSW5kZXg7XG4gIH1cblxuICAvKipcbiAgICogRFRYTWVzc2FnZSBCdWZmZXI6IERUWE1lc3NhZ2VIZWFkZXIgKyBQYXlsb2FkSGVhZGVyICsgRFRYTWVzc2FnZUF1eEJ1ZmZlcihudWxsYWJsZSkgKyBzZWxlY3RvcihudWxsYWJsZSlcbiAgICogQHJldHVybnMge0J1ZmZlcn1cbiAgICovXG4gIGJ1aWxkICgpIHtcbiAgICBjb25zdCBzZWwgPSB0aGlzLl9zZWxlY3RvciA/IGFyY2hpdmUodGhpcy5fc2VsZWN0b3IpIDogQnVmZmVyLmFsbG9jKDApO1xuICAgIGNvbnN0IGF1eCA9IHRoaXMuYXV4aWxpYXJpZXMuYnVpbGQoKTtcbiAgICBjb25zdCBwYXlsb2FkSGVhZGVyID0gRFRYTWVzc2FnZVBheWxvYWRIZWFkZXIuYnVpbGQoe1xuICAgICAgZmxhZ3M6IHRoaXMuX2ZsYWdzLFxuICAgICAgYXV4TGVuZ3RoOiBhdXgubGVuZ3RoLFxuICAgICAgLy8gbmVlZCB0byBjb252ZXJ0IHRvIGJpZ2ludCBpbiBhbnkgY2FzZVxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVuZGVmXG4gICAgICB0b3RhbExlbmd0aDogQmlnSW50KGF1eC5sZW5ndGggKyBzZWwubGVuZ3RoKSxcbiAgICB9KTtcblxuICAgIGNvbnN0IG1lc3NhZ2VIZWFkZXIgPSBEVFhNZXNzYWdlSGVhZGVyLmJ1aWxkKHtcbiAgICAgIHBheWxvYWRMZW5ndGg6IERUWF9NRVNTQUdFX1BBWUxPQURfSEVBREVSX0xFTkdUSCArIGF1eC5sZW5ndGggKyBzZWwubGVuZ3RoLFxuICAgICAgaWRlbnRpZmllcjogdGhpcy5faWRlbnRpZmllcixcbiAgICAgIGNvbnZlcnNhdGlvbkluZGV4OiB0aGlzLl9jb252ZXJzYXRpb25JbmRleCxcbiAgICAgIGNoYW5uZWxDb2RlOiB0aGlzLl9jaGFubmVsQ29kZSxcbiAgICAgIGV4cGVjdHNSZXBseTogdGhpcy5fZXhwZWN0c1JlcGx5XG4gICAgfSk7XG4gICAgcmV0dXJuIEJ1ZmZlci5jb25jYXQoW21lc3NhZ2VIZWFkZXIsIHBheWxvYWRIZWFkZXIsIGF1eCwgc2VsXSk7XG4gIH1cblxuICAvKipcbiAgICogUGFyc2VzIERUWCBidWZmZXIgaW50byBhbiBqcyBvYmplY3QuIFJldHVybmVkIGluIERUWERlY29kZXIgU3RyZWFtLlRyYW5zZm9ybVxuICAgKiBAcGFyYW0ge0J1ZmZlcn0gaGVhZGVyQnVmICBEVFhNZXNzYWdlSGVhZGVyIGJ1ZmZlclxuICAgKiBAcGFyYW0ge0J1ZmZlcn0gcGF5bG9hZEJ1ZiAgUGF5bG9hZEhlYWRlckJ1ZmZlciArIERUWE1lc3NhZ2VBdXhCdWZmZXIobnVsbGFibGUpICsgc2VsZWN0b3JCdWZmZXIobnVsbGFibGUpXG4gICAqIEByZXR1cm5zIHtEVFhNZXNzYWdlfVxuICAgKi9cbiAgc3RhdGljIHBhcnNlIChoZWFkZXJCdWYsIHBheWxvYWRCdWYpIHtcbiAgICBsZXQgY3Vyc29yID0gMDtcbiAgICBjb25zdCByZXQgPSBuZXcgRFRYTWVzc2FnZSgpO1xuICAgIHJldC5fbWVzc2FnZUhlYWRlciA9IERUWE1lc3NhZ2VIZWFkZXIucGFyc2UoaGVhZGVyQnVmKTtcbiAgICBpZiAocmV0Ll9tZXNzYWdlSGVhZGVyLnBheWxvYWRMZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiByZXQ7XG4gICAgfVxuICAgIHJldC5fcGF5bG9hZEhlYWRlciA9IERUWE1lc3NhZ2VQYXlsb2FkSGVhZGVyLnBhcnNlKHBheWxvYWRCdWYuc2xpY2UoY3Vyc29yLCBEVFhfTUVTU0FHRV9QQVlMT0FEX0hFQURFUl9MRU5HVEgpKTtcbiAgICBjdXJzb3IgKz0gRFRYX01FU1NBR0VfUEFZTE9BRF9IRUFERVJfTEVOR1RIO1xuICAgIC8vIHRvdGFsTGVuZ3RoIGlzIGJpZ2ludCB1c2UgMG5cbiAgICBpZiAocmV0Ll9wYXlsb2FkSGVhZGVyLnRvdGFsTGVuZ3RoID09PSAwbikge1xuICAgICAgcmV0dXJuIHJldDtcbiAgICB9XG4gICAgaWYgKHJldC5fcGF5bG9hZEhlYWRlci5hdXhMZW5ndGggPiAwKSB7XG4gICAgICByZXQuYXV4aWxpYXJpZXMgPSBEVFhNZXNzYWdlQXV4LnBhcnNlKHBheWxvYWRCdWYuc2xpY2UoY3Vyc29yLCBjdXJzb3IgKyByZXQuX3BheWxvYWRIZWFkZXIuYXV4TGVuZ3RoKSwgcmV0Ll9wYXlsb2FkSGVhZGVyKTtcbiAgICAgIGN1cnNvciArPSByZXQuX3BheWxvYWRIZWFkZXIuYXV4TGVuZ3RoO1xuICAgIH1cblxuICAgIGNvbnN0IGRhdGEgPSBwYXlsb2FkQnVmLnNsaWNlKGN1cnNvciwgY3Vyc29yICsgcGF5bG9hZEJ1Zi5sZW5ndGgpO1xuICAgIHJldC5zZWxlY3RvciA9IGRhdGE7XG4gICAgaWYgKGRhdGEubGVuZ3RoID4gMCkge1xuICAgICAgZm9yIChjb25zdCBmdW4gb2YgW3VuYXJjaGl2ZSwgcGxpc3RsaWIucGFyc2VCdWZmZXJdKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgcmV0LnNlbGVjdG9yID0gZnVuKGRhdGEpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgcmV0LnNlbGVjdG9yID0gbmV3IEluc3RydW1lbnRSUENQYXJzZUVycm9yKGRhdGEpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiByZXQ7XG4gIH1cbn1cblxuZXhwb3J0IHsgRFRYTWVzc2FnZUhlYWRlciwgRFRYTWVzc2FnZVBheWxvYWRIZWFkZXIsIERUWE1lc3NhZ2VBdXhCdWZmZXIsIERUWE1lc3NhZ2VBdXgsIERUWE1lc3NhZ2UsXG4gIERUWF9NRVNTQUdFX1BBWUxPQURfSEVBREVSX0xFTkdUSCwgRFRYX01FU1NBR0VfSEVBREVSX0xFTkdUSCwgRFRYX01FU1NBR0VfSEVBREVSX01BR0lDLCBEVFhfTUVTU0FHRV9IRUFERVJfTUFHSUNfTEVOLFxuICBGTEFHX1RZUEVTfTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFFQSxNQUFNQSxpQ0FBaUMsR0FBRyxFQUExQzs7QUFDQSxNQUFN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
|
|
@@ -181,7 +181,5 @@ class InstrumentService extends _baseService.BaseServiceSocket {
|
|
|
181
181
|
|
|
182
182
|
}
|
|
183
183
|
|
|
184
|
-
exports.InstrumentService = InstrumentService;
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliL2luc3RydW1lbnQvaW5kZXguanMiLCJuYW1lcyI6WyJDSEVDS19GUkVRX01TIiwiV0FJVF9SRVBMWV9USU1FX01TIiwiRU1QVFlfTUVTU0FHRV9TSVpFIiwiQ0hBTk5FTF9DQU5DRUxFRCIsIkNIQU5ORUxfT0ZGU0VUIiwiSU5TVFJVTUVOVF9TRVJWSUNFX05BTUVfVkVSU0lPTl8xNCIsIklOU1RSVU1FTlRfU0VSVklDRV9OQU1FIiwiSU5TVFJVTUVOVF9DSEFOTkVMIiwiT2JqZWN0IiwiZnJlZXplIiwiREVWSUNFX0lORk8iLCJQUk9DRVNTX0NPTlRST0wiLCJTWVNNT05UQVAiLCJORVRXT1JLSU5HIiwiTU9CSUxFX05PVElGSUNBVElPTlMiLCJHUkFQSElDU19PUEVOR0wiLCJBUFBMSUNBVElPTl9MSVNUSU5HIiwiQ09ORElUSU9OX0lORFVDRVIiLCJkZWZhdWx0RGljdCIsImNyZWF0ZVZhbHVlIiwiUHJveHkiLCJjcmVhdGUiLCJnZXQiLCJzdG9yYWdlIiwicHJvcGVydHkiLCJJbnN0cnVtZW50U2VydmljZSIsIkJhc2VTZXJ2aWNlU29ja2V0IiwiY29uc3RydWN0b3IiLCJzb2NrZXRDbGllbnQiLCJldmVudCIsIl91bmRlZmluZWRDYWxsYmFjayIsIl9jYWxsYmFja3MiLCJldmVudHMiLCJFdmVudEVtaXR0ZXIiLCJfY2hhbm5lbENhbGxiYWNrcyIsIl9yZXBseVF1ZXVlcyIsIl9jaGFubmVscyIsIl9uZXh0SWRlbnRpZmllciIsIl9lbmNvZGVyIiwiRFRYRW5jb2RlciIsInBpcGUiLCJfc29ja2V0Q2xpZW50IiwiX2Fzc2lnbkNsaWVudEZhaWx1cmVIYW5kbGVycyIsIl9kZWNvZGVyIiwiRFRYRGVjb2RlciIsIm9uIiwiX2hhbmRsZURhdGEiLCJiaW5kIiwicmVnaXN0ZXJTZWxlY3RvckNhbGxiYWNrIiwic2VsZWN0b3IiLCJhZGRMaXN0ZW5lciIsInJlZ2lzdGVyVW5kZWZpbmVkQ2FsbGJhY2siLCJyZWdpc3RlckNoYW5uZWxDYWxsYmFjayIsImNoYW5uZWwiLCJjaGFubmVsSWQiLCJtYWtlQ2hhbm5lbCIsImNoYW5uZWxDb2RlIiwia2V5cyIsImxlbmd0aCIsIl9jYWxsQ2hhbm5lbCIsImNhbGxDaGFubmVsIiwiYXV4aWxpYXJpZXMiLCJzeW5jIiwiaWRlbnRpZmllciIsIndyaXRlIiwid2FpdEZvckNvbmRpdGlvbiIsInF1ZXVlIiwiZGF0YSIsInNoaWZ0IiwiXyIsImlzVW5kZWZpbmVkIiwid2FpdE1zIiwiaW50ZXJ2YWxNcyIsImVycm9yIiwiZXJyIiwiY2xvc2UiLCJFcnJvciIsImluY2x1ZGVzIiwiY29udmVyc2F0aW9uSW5kZXgiLCJwdXNoIiwibGlzdGVuZXJDb3VudCIsImVtaXQiLCJpc1N0cmluZyIsImV4cGVjdHNSZXBseSIsIl9yZXBseUFjayIsInJlcGx5IiwiRFRYTWVzc2FnZSIsIkJ1ZmZlciIsImFsbG9jIiwiZmxhZ3MiLCJGTEFHX1RZUEVTIiwiYnVpbGQiXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uIiwic291cmNlcyI6WyJsaWIvaW5zdHJ1bWVudC9pbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBZGFwdGVkIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL1l1ZUNoZW4tQy9weS1pb3MtZGV2aWNlXG5cbmltcG9ydCB7QmFzZVNlcnZpY2VTb2NrZXR9IGZyb20gJy4uL2Jhc2Utc2VydmljZSc7XG5pbXBvcnQge0RUWE1lc3NhZ2UsIEZMQUdfVFlQRVN9IGZyb20gJy4vaGVhZGVycyc7XG5pbXBvcnQge0RUWEVuY29kZXJ9IGZyb20gJy4vdHJhbnNmb3JtZXIvZHR4LWVuY29kZSc7XG5pbXBvcnQge0RUWERlY29kZXJ9IGZyb20gJy4vdHJhbnNmb3JtZXIvZHR4LWRlY29kZSc7XG5pbXBvcnQgZXZlbnRzIGZyb20gJ2V2ZW50cyc7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHt3YWl0Rm9yQ29uZGl0aW9ufSBmcm9tICdhc3luY2JveCc7XG5cbmNvbnN0IENIRUNLX0ZSRVFfTVMgPSA1MDA7XG5jb25zdCBXQUlUX1JFUExZX1RJTUVfTVMgPSAxMDAwMDtcbmNvbnN0IEVNUFRZX01FU1NBR0VfU0laRSA9IDE2O1xuY29uc3QgQ0hBTk5FTF9DQU5DRUxFRCA9ICdfY2hhbm5lbENhbmNlbGVkJztcbmNvbnN0IENIQU5ORUxfT0ZGU0VUID0gMiAqKiAzMjtcblxuY29uc3QgSU5TVFJVTUVOVF9TRVJWSUNFX05BTUVfVkVSU0lPTl8xNCA9ICdjb20uYXBwbGUuaW5zdHJ1bWVudHMucmVtb3Rlc2VydmVyLkRWVFNlY3VyZVNvY2tldFByb3h5JztcbmNvbnN0IElOU1RSVU1FTlRfU0VSVklDRV9OQU1FID0gJ2NvbS5hcHBsZS5pbnN0cnVtZW50cy5yZW1vdGVzZXJ2ZXInO1xuXG5leHBvcnQgY29uc3QgSU5TVFJVTUVOVF9DSEFOTkVMID0gT2JqZWN0LmZyZWV6ZSh7XG4gIERFVklDRV9JTkZPOiAnY29tLmFwcGxlLmluc3RydW1lbnRzLnNlcnZlci5zZXJ2aWNlcy5kZXZpY2VpbmZvJyxcbiAgUFJPQ0VTU19DT05UUk9MOiAnY29tLmFwcGxlLmluc3RydW1lbnRzLnNlcnZlci5zZXJ2aWNlcy5wcm9jZXNzY29udHJvbCcsXG4gIFNZU01PTlRBUDogJ2NvbS5hcHBsZS5pbnN0cnVtZW50cy5zZXJ2ZXIuc2VydmljZXMuc3lzbW9udGFwJyxcbiAgTkVUV09SS0lORzogJ2NvbS5hcHBsZS5pbnN0cnVtZW50cy5zZXJ2ZXIuc2VydmljZXMubmV0d29ya2luZycsXG4gIE1PQklMRV9OT1RJRklDQVRJT05TOiAnY29tLmFwcGxlLmluc3RydW1lbnRzLnNlcnZlci5zZXJ2aWNlcy5tb2JpbGVub3RpZmljYXRpb25zJyxcbiAgR1JBUEhJQ1NfT1BFTkdMOiAnY29tLmFwcGxlLmluc3RydW1lbnRzLnNlcnZlci5zZXJ2aWNlcy5ncmFwaGljcy5vcGVuZ2wnLFxuICBBUFBMSUNBVElPTl9MSVNUSU5HOiAnY29tLmFwcGxlLmluc3RydW1lbnRzLnNlcnZlci5zZXJ2aWNlcy5kZXZpY2UuYXBwbGljdGlvbkxpc3RpbmcnLFxuICBDT05ESVRJT05fSU5EVUNFUjogJ2NvbS5hcHBsZS5pbnN0cnVtZW50cy5zZXJ2ZXIuc2VydmljZXMuQ29uZGl0aW9uSW5kdWNlcidcbn0pO1xuXG5mdW5jdGlvbiBkZWZhdWx0RGljdCAoY3JlYXRlVmFsdWUpIHtcbiAgcmV0dXJuIG5ldyBQcm94eShPYmplY3QuY3JlYXRlKG51bGwpLCB7XG4gICAgZ2V0IChzdG9yYWdlLCBwcm9wZXJ0eSkge1xuICAgICAgaWYgKCEocHJvcGVydHkgaW4gc3RvcmFnZSkpIHtcbiAgICAgICAgc3RvcmFnZVtwcm9wZXJ0eV0gPSBjcmVhdGVWYWx1ZShwcm9wZXJ0eSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gc3RvcmFnZVtwcm9wZXJ0eV07XG4gICAgfVxuICB9KTtcbn1cblxuLyoqIFRoZSBjYWxsYmFjayBmdW5jdGlvbiB3aGljaCB3aWxsIGJlIGNhbGxlZCBkdXJpbmcgdGhlIGRhdGEgdHJhbnNtaXNzaW9uIGluIGluc3RydW1lbnQgc2VydmVcbiAqIEBuYW1lIERUWENhbGxiYWNrXG4gKiBAZnVuY3Rpb25cbiAqIEBwYXJhbSB7RFRYTWVzc2FnZX0gb2JqZWN0XG4qL1xuXG4vKipcbiAqIEBwYXJhbSB7U29ja2V0fSBzb2NrZXRDbGllbnQgIERUWE1lc3NhZ2Uuc2VsZWN0b3JcbiAqIEBwYXJhbSB7P0RUWENhbGxiYWNrfSBldmVudCBpZiBlbXB0eSB3aWxsIGlnbm9yZSBhbnkgbWVzc2FnZXNcbiAqL1xuY2xhc3MgSW5zdHJ1bWVudFNlcnZpY2UgZXh0ZW5kcyBCYXNlU2VydmljZVNvY2tldCB7XG4gIGNvbnN0cnVjdG9yIChzb2NrZXRDbGllbnQsIGV2ZW50KSB7XG4gICAgc3VwZXIoc29ja2V0Q2xpZW50KTtcbiAgICB0aGlzLl91bmRlZmluZWRDYWxsYmFjayA9IGV2ZW50O1xuICAgIHRoaXMuX2NhbGxiYWNrcyA9IG5ldyBldmVudHMuRXZlbnRFbWl0dGVyKCk7XG4gICAgdGhpcy5fY2hhbm5lbENhbGxiYWNrcyA9IG5ldyBldmVudHMuRXZlbnRFbWl0dGVyKCk7XG4gICAgdGhpcy5fcmVwbHlRdWV1ZXMgPSBkZWZhdWx0RGljdCgoKSA9PiBbXSk7XG4gICAgdGhpcy5fY2hhbm5lbHMgPSB7fTtcbiAgICB0aGlzLl9uZXh0SWRlbnRpZmllciA9IDE7XG4gICAgdGhpcy5fZW5jb2RlciA9IG5ldyBEVFhFbmNvZGVyKCk7XG4gICAgdGhpcy5fZW5jb2Rlci5waXBlKHRoaXMuX3NvY2tldENsaWVudCk7XG4gICAgdGhpcy5fYXNzaWduQ2xpZW50RmFpbHVyZUhhbmRsZXJzKHRoaXMuX2VuY29kZXIpO1xuICAgIHRoaXMuX2RlY29kZXIgPSBuZXcgRFRYRGVjb2RlcigpO1xuICAgIHRoaXMuX3NvY2tldENsaWVudC5waXBlKHRoaXMuX2RlY29kZXIpO1xuICAgIHRoaXMuX2RlY29kZXIub24oJ2RhdGEnLCB0aGlzLl9oYW5kbGVEYXRhLmJpbmQodGhpcykpO1xuICB9XG5cbiAgLyoqXG4gICAqIElmIHRoZSBzZWxlY3RvciBpcyByZWdpc3RlcmVkLCBUaGUgbWVzc2FnZSBvZiB0aGUgc2VsZWN0b3IgZXZlbnQgd2lsbCBiZSByZXR1cm5lZC4gcmVmZXIgdG8gdGhpcy5faGFuZGxlRGF0YVxuICAgKiBAcGFyYW0ge3N0cmluZ30gc2VsZWN0b3IgIExpc3RlbiBmb3IgcmV0dXJuIERUWE1lc3NhZ2Uuc2VsZWN0b3IgZGF0YVxuICAgKiBAcGFyYW0ge0RUWENhbGxiYWNrfSBldmVudFxuICAgKi9cbiAgcmVnaXN0ZXJTZWxlY3RvckNhbGxiYWNrIChzZWxlY3RvciwgZXZlbnQpIHtcbiAgICB0aGlzLl9jYWxsYmFja3MuYWRkTGlzdGVuZXIoc2VsZWN0b3IsIGV2ZW50KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJZiB0aGUgZXZlbnQgaXMgcmVnaXN0ZXJlZCwgYWxsIHVucmVnaXN0ZXJlZCBtZXNzYWdlcyB3aWxsIGJlIHJldHVybmVkIHRvIGV2ZW50LiByZWZlciB0byB0aGlzLl9oYW5kbGVEYXRhXG4gICAqIEBwYXJhbSB7RFRYQ2FsbGJhY2t9IGV2ZW50XG4gICAqL1xuICByZWdpc3RlclVuZGVmaW5lZENhbGxiYWNrIChldmVudCkge1xuICAgIHRoaXMuX3VuZGVmaW5lZENhbGxiYWNrID0gZXZlbnQ7XG4gIH1cblxuICAvKipcbiAgICogSWYgdGhlIGV2ZW50IGlzIHJlZ2lzdGVyZWQsIHRoaXMgY2hhbm5lbCB7Q0hBTk5FTH0gbWVzc2FnZXMgd2lsbCBiZSByZXR1cm5lZCB0byBldmVudC4gcmVmZXIgdG8gdGhpcy5faGFuZGxlRGF0YVxuICAgKiBJdCdzIGFjdHVhbGx5IGxpc3RlbmluZyBmb3IgaW50IGNoYW5uZWxDb2RlLiBJbiB0aGlzLl9jaGFubmVsIG9iamVjdCB0byByZWNvcmQgY2hhbm5lbCBrZXkgYW5kIGludCB2YWx1ZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gY2hhbm5lbCBpbnN0cnVtZW50cyBzZXJ2aWNlIGNoYW5uZWwgZS5nOiBJTlNUUlVNRU5UX0NIQU5ORUwuREVWSUNFX0lORk8uXG4gICAqIEBwYXJhbSB7RFRYQ2FsbGJhY2t9IGV2ZW50XG4gICAqL1xuICBhc3luYyByZWdpc3RlckNoYW5uZWxDYWxsYmFjayAoY2hhbm5lbCwgZXZlbnQpIHtcbiAgICBjb25zdCBjaGFubmVsSWQgPSBhd2FpdCB0aGlzLm1ha2VDaGFubmVsKGNoYW5uZWwpO1xuICAgIHRoaXMuX2NoYW5uZWxDYWxsYmFja3MuYWRkTGlzdGVuZXIoY2hhbm5lbElkLCBldmVudCk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgc2VydmljZSBjaGFubmVsLCBkYXRhIHRyYW5zbWlzc2lvbiBvZiB0aGUgc2VydmljZSB3aWxsIHVzZSB0aGlzIGNoYW5uZWxDb2RlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBjaGFubmVsICBpbnN0cnVtZW50cyBzZXJ2aWNlIGNoYW5uZWwgZS5nOiBJTlNUUlVNRU5UX0NIQU5ORUwuREVWSUNFX0lORk9cbiAgICogQHJldHVybnMge1Byb21pc2U8bnVtYmVyfCo+fSBpbnN0cnVtZW50cyBzZXJ2aWNlIGNoYW5uZWwgY29kZSBmb3IgZGF0YSB0cmFuc21pc3Npb25cbiAgICovXG4gIGFzeW5jIG1ha2VDaGFubmVsIChjaGFubmVsKSB7XG4gICAgaWYgKGNoYW5uZWwgaW4gdGhpcy5fY2hhbm5lbHMpIHtcbiAgICAgIHJldHVybiB0aGlzLl9jaGFubmVsc1tjaGFubmVsXTtcbiAgICB9XG4gICAgY29uc3QgY2hhbm5lbENvZGUgPSBPYmplY3Qua2V5cyh0aGlzLl9jaGFubmVscykubGVuZ3RoICsgMTtcbiAgICBhd2FpdCB0aGlzLl9jYWxsQ2hhbm5lbCh0cnVlLCAwLCAnX3JlcXVlc3RDaGFubmVsV2l0aENvZGU6aWRlbnRpZmllcjonLCBjaGFubmVsQ29kZSwgY2hhbm5lbCk7XG4gICAgdGhpcy5fY2hhbm5lbHNbY2hhbm5lbF0gPSBjaGFubmVsQ29kZTtcbiAgICByZXR1cm4gY2hhbm5lbENvZGU7XG4gIH1cblxuICAvKipcbiAgICogSW4gZ2VuZXJhbCwgd2UgY2FsbCB0aGlzIG1ldGhvZCB0byBzdGFydCB0aGUgaW5zdHJ1bWVudCBkdHggc2VydmljZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gY2hhbm5lbCBpbnN0cnVtZW50IGR0eCBzZXJ2aWNlIGUuZzogSU5TVFJVTUVOVF9DSEFOTkVMLkRFVklDRV9JTkZPXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBzZWxlY3RvciBpbnN0cnVtZW50IHNlcnZpY2UgbWV0aG9kIG5hbWUgKHJlZmxlY3Rpb24gY2FsbHMpXG4gICAqIEBwYXJhbSB7Li4uYW55fSBhdXhpbGlhcmllcyBwYXJhbWV0ZXJzIHJlcXVpcmVkIGJ5IHNlbGVjdG9yXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPERUWE1lc3NhZ2U+fVxuICAgKiBleGFtcGxl77yaXG4gICAqIGluc3RydW1lbnRTZXJ2aWNlLmNhbGxDaGFubmVsKElOU1RSVU1FTlRfQ0hBTk5FTC5QUk9DRVNTX0NPTlRST0wsXG4gICAgICAgICdsYXVuY2hTdXNwZW5kZWRQcm9jZXNzV2l0aERldmljZVBhdGg6YnVuZGxlSWRlbnRpZmllcjplbnZpcm9ubWVudDphcmd1bWVudHM6b3B0aW9uczonLCAnJyxcbiAgICAgICAgYnVuZGxlSUQsIHt9LCBbXSwgeydTdGFydFN1c3BlbmRlZEtleSc6IDAsICdLaWxsRXhpc3RpbmcnOiAxfVxuICAgKi9cbiAgYXN5bmMgY2FsbENoYW5uZWwgKGNoYW5uZWwsIHNlbGVjdG9yLCAuLi5hdXhpbGlhcmllcykge1xuICAgIGNvbnN0IGNoYW5uZWxDb2RlID0gYXdhaXQgdGhpcy5tYWtlQ2hhbm5lbChjaGFubmVsKTtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5fY2FsbENoYW5uZWwodHJ1ZSwgY2hhbm5lbENvZGUsIHNlbGVjdG9yLCAuLi5hdXhpbGlhcmllcyk7XG4gIH1cblxuICBhc3luYyBfY2FsbENoYW5uZWwgKHN5bmMsIGNoYW5uZWxDb2RlLCBzZWxlY3RvciwgLi4uYXV4aWxpYXJpZXMpIHtcbiAgICBjb25zdCBpZGVudGlmaWVyID0gdGhpcy5fbmV4dElkZW50aWZpZXI7XG4gICAgdGhpcy5fZW5jb2Rlci53cml0ZSh7c3luYywgY2hhbm5lbENvZGUsIHNlbGVjdG9yLCBhdXhpbGlhcmllcywgaWRlbnRpZmllcn0pO1xuICAgICsrdGhpcy5fbmV4dElkZW50aWZpZXI7XG4gICAgaWYgKHN5bmMpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiBhd2FpdCB3YWl0Rm9yQ29uZGl0aW9uKCgpID0+IHtcbiAgICAgICAgICBjb25zdCBxdWV1ZSA9IHRoaXMuX3JlcGx5UXVldWVzW2lkZW50aWZpZXJdO1xuICAgICAgICAgIGNvbnN0IGRhdGEgPSBxdWV1ZS5zaGlmdCgpO1xuICAgICAgICAgIGlmICghXy5pc1VuZGVmaW5lZChkYXRhKSkge1xuICAgICAgICAgICAgcmV0dXJuIGRhdGE7XG4gICAgICAgICAgfVxuICAgICAgICB9LCB7d2FpdE1zOiBXQUlUX1JFUExZX1RJTUVfTVMsIGludGVydmFsTXM6IENIRUNLX0ZSRVFfTVMsIGVycm9yOiAncmVwbHkgY2hhbm5lbCBkYXRhIHRpbWVvdXQnfSk7XG4gICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogSGFuZGxpbmcgcmVnaXN0ZXJlZCBhc3luY2hyb25vdXMgbWVzc2FnZSBjYWxsYmFja3NcbiAgICogQHBhcmFtIHtEVFhNZXNzYWdlfSBkYXRhXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBfaGFuZGxlRGF0YSAoZGF0YSkge1xuICAgIGlmIChfLmluY2x1ZGVzKGRhdGEuc2VsZWN0b3IsIENIQU5ORUxfQ0FOQ0VMRUQpKSB7XG4gICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfVxuICAgIGlmIChkYXRhLmNvbnZlcnNhdGlvbkluZGV4ID09PSAxKSB7XG4gICAgICB0aGlzLl9yZXBseVF1ZXVlc1tkYXRhLmlkZW50aWZpZXJdLnB1c2goZGF0YSk7XG4gICAgfSBlbHNlIGlmICh0aGlzLl9jaGFubmVsQ2FsbGJhY2tzLmxpc3RlbmVyQ291bnQoQ0hBTk5FTF9PRkZTRVQgLSBkYXRhLmNoYW5uZWxDb2RlKSA+IDApIHtcbiAgICAgIHRoaXMuX2NoYW5uZWxDYWxsYmFja3MuZW1pdChDSEFOTkVMX09GRlNFVCAtIGRhdGEuY2hhbm5lbENvZGUsIGRhdGEpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBzZWxlY3RvciA9IGRhdGEuc2VsZWN0b3I7XG4gICAgICBpZiAoXy5pc1N0cmluZyhzZWxlY3RvcikgJiYgdGhpcy5fY2FsbGJhY2tzLmxpc3RlbmVyQ291bnQoc2VsZWN0b3IpID4gMCkge1xuICAgICAgICB0aGlzLl9jYWxsYmFja3MuZW1pdChzZWxlY3RvciwgZGF0YSk7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuX3VuZGVmaW5lZENhbGxiYWNrKSB7XG4gICAgICAgIHRoaXMuX3VuZGVmaW5lZENhbGxiYWNrKGRhdGEpO1xuICAgICAgfVxuICAgICAgaWYgKGRhdGEuZXhwZWN0c1JlcGx5KSB7XG4gICAgICAgIHRoaXMuX3JlcGx5QWNrKGRhdGEpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiByZXR1cm4gYSBlbXB0eSBhY2sgbWVzc2FnZVxuICAgKiBAcGFyYW0ge0RUWE1lc3NhZ2V9IGRhdGFcbiAgICovXG4gIF9yZXBseUFjayAoZGF0YSkge1xuICAgIGNvbnN0IHJlcGx5ID0gbmV3IERUWE1lc3NhZ2Uoe1xuICAgICAgaWRlbnRpZmllcjogZGF0YS5pZGVudGlmaWVyLFxuICAgICAgY2hhbm5lbENvZGU6IGRhdGEuY2hhbm5lbENvZGUsXG4gICAgICBzZWxlY3RvcjogQnVmZmVyLmFsbG9jKEVNUFRZX01FU1NBR0VfU0laRSksXG4gICAgICBjb252ZXJzYXRpb25JbmRleDogZGF0YS5jb252ZXJzYXRpb25JbmRleCArIDEsXG4gICAgICBmbGFnczogRkxBR19UWVBFUy5yZXBseVxuICAgIH0pO1xuICAgIHRoaXMuX3NvY2tldENsaWVudC53cml0ZShyZXBseS5idWlsZCgpKTtcbiAgfVxufVxuXG5leHBvcnQgeyBJbnN0cnVtZW50U2VydmljZSwgSU5TVFJVTUVOVF9TRVJWSUNFX05BTUVfVkVSU0lPTl8xNCwgSU5TVFJVTUVOVF9TRVJWSUNFX05BTUUgfTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQSxNQUFNQSxhQUFhLEdBQUcsR0FBdEI7QUFDQSxNQUFNQyxrQkFBa0IsR0FBRyxLQUEzQjtBQUNBLE1BQU1DLGtCQUFrQixHQUFHLEVBQTNCO0FBQ0EsTUFBTUMsZ0JBQWdCLEdBQUcsa0JBQXpCO0FBQ0EsTUFBTUMsY0FBYyxHQUFHLEtBQUssRUFBNUI7QUFFQSxNQUFNQyxrQ0FBa0MsR0FBRyx5REFBM0M7O0FBQ0EsTUFBTUMsdUJBQXVCLEdBQUcsb0NBQWhDOztBQUVPLE1BQU1DLGtCQUFrQixHQUFHQyxNQUFNLENBQUNDLE1BQVAsQ0FBYztFQUM5Q0MsV0FBVyxFQUFFLGtEQURp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
|
|
184
|
+
exports.InstrumentService = InstrumentService;
|
|
185
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDSEVDS19GUkVRX01TIiwiV0FJVF9SRVBMWV9USU1FX01TIiwiRU1QVFlfTUVTU0FHRV9TSVpFIiwiQ0hBTk5FTF9DQU5DRUxFRCIsIkNIQU5ORUxfT0ZGU0VUIiwiSU5TVFJVTUVOVF9TRVJWSUNFX05BTUVfVkVSU0lPTl8xNCIsIklOU1RSVU1FTlRfU0VSVklDRV9OQU1FIiwiSU5TVFJVTUVOVF9DSEFOTkVMIiwiT2JqZWN0IiwiZnJlZXplIiwiREVWSUNFX0lORk8iLCJQUk9DRVNTX0NPTlRST0wiLCJTWVNNT05UQVAiLCJORVRXT1JLSU5HIiwiTU9CSUxFX05PVElGSUNBVElPTlMiLCJHUkFQSElDU19PUEVOR0wiLCJBUFBMSUNBVElPTl9MSVNUSU5HIiwiQ09ORElUSU9OX0lORFVDRVIiLCJkZWZhdWx0RGljdCIsImNyZWF0ZVZhbHVlIiwiUHJveHkiLCJjcmVhdGUiLCJnZXQiLCJzdG9yYWdlIiwicHJvcGVydHkiLCJJbnN0cnVtZW50U2VydmljZSIsIkJhc2VTZXJ2aWNlU29ja2V0IiwiY29uc3RydWN0b3IiLCJzb2NrZXRDbGllbnQiLCJldmVudCIsIl91bmRlZmluZWRDYWxsYmFjayIsIl9jYWxsYmFja3MiLCJldmVudHMiLCJFdmVudEVtaXR0ZXIiLCJfY2hhbm5lbENhbGxiYWNrcyIsIl9yZXBseVF1ZXVlcyIsIl9jaGFubmVscyIsIl9uZXh0SWRlbnRpZmllciIsIl9lbmNvZGVyIiwiRFRYRW5jb2RlciIsInBpcGUiLCJfc29ja2V0Q2xpZW50IiwiX2Fzc2lnbkNsaWVudEZhaWx1cmVIYW5kbGVycyIsIl9kZWNvZGVyIiwiRFRYRGVjb2RlciIsIm9uIiwiX2hhbmRsZURhdGEiLCJiaW5kIiwicmVnaXN0ZXJTZWxlY3RvckNhbGxiYWNrIiwic2VsZWN0b3IiLCJhZGRMaXN0ZW5lciIsInJlZ2lzdGVyVW5kZWZpbmVkQ2FsbGJhY2siLCJyZWdpc3RlckNoYW5uZWxDYWxsYmFjayIsImNoYW5uZWwiLCJjaGFubmVsSWQiLCJtYWtlQ2hhbm5lbCIsImNoYW5uZWxDb2RlIiwia2V5cyIsImxlbmd0aCIsIl9jYWxsQ2hhbm5lbCIsImNhbGxDaGFubmVsIiwiYXV4aWxpYXJpZXMiLCJzeW5jIiwiaWRlbnRpZmllciIsIndyaXRlIiwid2FpdEZvckNvbmRpdGlvbiIsInF1ZXVlIiwiZGF0YSIsInNoaWZ0IiwiXyIsImlzVW5kZWZpbmVkIiwid2FpdE1zIiwiaW50ZXJ2YWxNcyIsImVycm9yIiwiZXJyIiwiY2xvc2UiLCJFcnJvciIsImluY2x1ZGVzIiwiY29udmVyc2F0aW9uSW5kZXgiLCJwdXNoIiwibGlzdGVuZXJDb3VudCIsImVtaXQiLCJpc1N0cmluZyIsImV4cGVjdHNSZXBseSIsIl9yZXBseUFjayIsInJlcGx5IiwiRFRYTWVzc2FnZSIsIkJ1ZmZlciIsImFsbG9jIiwiZmxhZ3MiLCJGTEFHX1RZUEVTIiwiYnVpbGQiXSwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvaW5zdHJ1bWVudC9pbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBZGFwdGVkIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL1l1ZUNoZW4tQy9weS1pb3MtZGV2aWNlXG5cbmltcG9ydCB7QmFzZVNlcnZpY2VTb2NrZXR9IGZyb20gJy4uL2Jhc2Utc2VydmljZSc7XG5pbXBvcnQge0RUWE1lc3NhZ2UsIEZMQUdfVFlQRVN9IGZyb20gJy4vaGVhZGVycyc7XG5pbXBvcnQge0RUWEVuY29kZXJ9IGZyb20gJy4vdHJhbnNmb3JtZXIvZHR4LWVuY29kZSc7XG5pbXBvcnQge0RUWERlY29kZXJ9IGZyb20gJy4vdHJhbnNmb3JtZXIvZHR4LWRlY29kZSc7XG5pbXBvcnQgZXZlbnRzIGZyb20gJ2V2ZW50cyc7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHt3YWl0Rm9yQ29uZGl0aW9ufSBmcm9tICdhc3luY2JveCc7XG5cbmNvbnN0IENIRUNLX0ZSRVFfTVMgPSA1MDA7XG5jb25zdCBXQUlUX1JFUExZX1RJTUVfTVMgPSAxMDAwMDtcbmNvbnN0IEVNUFRZX01FU1NBR0VfU0laRSA9IDE2O1xuY29uc3QgQ0hBTk5FTF9DQU5DRUxFRCA9ICdfY2hhbm5lbENhbmNlbGVkJztcbmNvbnN0IENIQU5ORUxfT0ZGU0VUID0gMiAqKiAzMjtcblxuY29uc3QgSU5TVFJVTUVOVF9TRVJWSUNFX05BTUVfVkVSU0lPTl8xNCA9ICdjb20uYXBwbGUuaW5zdHJ1bWVudHMucmVtb3Rlc2VydmVyLkRWVFNlY3VyZVNvY2tldFByb3h5JztcbmNvbnN0IElOU1RSVU1FTlRfU0VSVklDRV9OQU1FID0gJ2NvbS5hcHBsZS5pbnN0cnVtZW50cy5yZW1vdGVzZXJ2ZXInO1xuXG5leHBvcnQgY29uc3QgSU5TVFJVTUVOVF9DSEFOTkVMID0gT2JqZWN0LmZyZWV6ZSh7XG4gIERFVklDRV9JTkZPOiAnY29tLmFwcGxlLmluc3RydW1lbnRzLnNlcnZlci5zZXJ2aWNlcy5kZXZpY2VpbmZvJyxcbiAgUFJPQ0VTU19DT05UUk9MOiAnY29tLmFwcGxlLmluc3RydW1lbnRzLnNlcnZlci5zZXJ2aWNlcy5wcm9jZXNzY29udHJvbCcsXG4gIFNZU01PTlRBUDogJ2NvbS5hcHBsZS5pbnN0cnVtZW50cy5zZXJ2ZXIuc2VydmljZXMuc3lzbW9udGFwJyxcbiAgTkVUV09SS0lORzogJ2NvbS5hcHBsZS5pbnN0cnVtZW50cy5zZXJ2ZXIuc2VydmljZXMubmV0d29ya2luZycsXG4gIE1PQklMRV9OT1RJRklDQVRJT05TOiAnY29tLmFwcGxlLmluc3RydW1lbnRzLnNlcnZlci5zZXJ2aWNlcy5tb2JpbGVub3RpZmljYXRpb25zJyxcbiAgR1JBUEhJQ1NfT1BFTkdMOiAnY29tLmFwcGxlLmluc3RydW1lbnRzLnNlcnZlci5zZXJ2aWNlcy5ncmFwaGljcy5vcGVuZ2wnLFxuICBBUFBMSUNBVElPTl9MSVNUSU5HOiAnY29tLmFwcGxlLmluc3RydW1lbnRzLnNlcnZlci5zZXJ2aWNlcy5kZXZpY2UuYXBwbGljdGlvbkxpc3RpbmcnLFxuICBDT05ESVRJT05fSU5EVUNFUjogJ2NvbS5hcHBsZS5pbnN0cnVtZW50cy5zZXJ2ZXIuc2VydmljZXMuQ29uZGl0aW9uSW5kdWNlcidcbn0pO1xuXG5mdW5jdGlvbiBkZWZhdWx0RGljdCAoY3JlYXRlVmFsdWUpIHtcbiAgcmV0dXJuIG5ldyBQcm94eShPYmplY3QuY3JlYXRlKG51bGwpLCB7XG4gICAgZ2V0IChzdG9yYWdlLCBwcm9wZXJ0eSkge1xuICAgICAgaWYgKCEocHJvcGVydHkgaW4gc3RvcmFnZSkpIHtcbiAgICAgICAgc3RvcmFnZVtwcm9wZXJ0eV0gPSBjcmVhdGVWYWx1ZShwcm9wZXJ0eSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gc3RvcmFnZVtwcm9wZXJ0eV07XG4gICAgfVxuICB9KTtcbn1cblxuLyoqIFRoZSBjYWxsYmFjayBmdW5jdGlvbiB3aGljaCB3aWxsIGJlIGNhbGxlZCBkdXJpbmcgdGhlIGRhdGEgdHJhbnNtaXNzaW9uIGluIGluc3RydW1lbnQgc2VydmVcbiAqIEBuYW1lIERUWENhbGxiYWNrXG4gKiBAZnVuY3Rpb25cbiAqIEBwYXJhbSB7RFRYTWVzc2FnZX0gb2JqZWN0XG4qL1xuXG4vKipcbiAqIEBwYXJhbSB7U29ja2V0fSBzb2NrZXRDbGllbnQgIERUWE1lc3NhZ2Uuc2VsZWN0b3JcbiAqIEBwYXJhbSB7P0RUWENhbGxiYWNrfSBldmVudCBpZiBlbXB0eSB3aWxsIGlnbm9yZSBhbnkgbWVzc2FnZXNcbiAqL1xuY2xhc3MgSW5zdHJ1bWVudFNlcnZpY2UgZXh0ZW5kcyBCYXNlU2VydmljZVNvY2tldCB7XG4gIGNvbnN0cnVjdG9yIChzb2NrZXRDbGllbnQsIGV2ZW50KSB7XG4gICAgc3VwZXIoc29ja2V0Q2xpZW50KTtcbiAgICB0aGlzLl91bmRlZmluZWRDYWxsYmFjayA9IGV2ZW50O1xuICAgIHRoaXMuX2NhbGxiYWNrcyA9IG5ldyBldmVudHMuRXZlbnRFbWl0dGVyKCk7XG4gICAgdGhpcy5fY2hhbm5lbENhbGxiYWNrcyA9IG5ldyBldmVudHMuRXZlbnRFbWl0dGVyKCk7XG4gICAgdGhpcy5fcmVwbHlRdWV1ZXMgPSBkZWZhdWx0RGljdCgoKSA9PiBbXSk7XG4gICAgdGhpcy5fY2hhbm5lbHMgPSB7fTtcbiAgICB0aGlzLl9uZXh0SWRlbnRpZmllciA9IDE7XG4gICAgdGhpcy5fZW5jb2RlciA9IG5ldyBEVFhFbmNvZGVyKCk7XG4gICAgdGhpcy5fZW5jb2Rlci5waXBlKHRoaXMuX3NvY2tldENsaWVudCk7XG4gICAgdGhpcy5fYXNzaWduQ2xpZW50RmFpbHVyZUhhbmRsZXJzKHRoaXMuX2VuY29kZXIpO1xuICAgIHRoaXMuX2RlY29kZXIgPSBuZXcgRFRYRGVjb2RlcigpO1xuICAgIHRoaXMuX3NvY2tldENsaWVudC5waXBlKHRoaXMuX2RlY29kZXIpO1xuICAgIHRoaXMuX2RlY29kZXIub24oJ2RhdGEnLCB0aGlzLl9oYW5kbGVEYXRhLmJpbmQodGhpcykpO1xuICB9XG5cbiAgLyoqXG4gICAqIElmIHRoZSBzZWxlY3RvciBpcyByZWdpc3RlcmVkLCBUaGUgbWVzc2FnZSBvZiB0aGUgc2VsZWN0b3IgZXZlbnQgd2lsbCBiZSByZXR1cm5lZC4gcmVmZXIgdG8gdGhpcy5faGFuZGxlRGF0YVxuICAgKiBAcGFyYW0ge3N0cmluZ30gc2VsZWN0b3IgIExpc3RlbiBmb3IgcmV0dXJuIERUWE1lc3NhZ2Uuc2VsZWN0b3IgZGF0YVxuICAgKiBAcGFyYW0ge0RUWENhbGxiYWNrfSBldmVudFxuICAgKi9cbiAgcmVnaXN0ZXJTZWxlY3RvckNhbGxiYWNrIChzZWxlY3RvciwgZXZlbnQpIHtcbiAgICB0aGlzLl9jYWxsYmFja3MuYWRkTGlzdGVuZXIoc2VsZWN0b3IsIGV2ZW50KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJZiB0aGUgZXZlbnQgaXMgcmVnaXN0ZXJlZCwgYWxsIHVucmVnaXN0ZXJlZCBtZXNzYWdlcyB3aWxsIGJlIHJldHVybmVkIHRvIGV2ZW50LiByZWZlciB0byB0aGlzLl9oYW5kbGVEYXRhXG4gICAqIEBwYXJhbSB7RFRYQ2FsbGJhY2t9IGV2ZW50XG4gICAqL1xuICByZWdpc3RlclVuZGVmaW5lZENhbGxiYWNrIChldmVudCkge1xuICAgIHRoaXMuX3VuZGVmaW5lZENhbGxiYWNrID0gZXZlbnQ7XG4gIH1cblxuICAvKipcbiAgICogSWYgdGhlIGV2ZW50IGlzIHJlZ2lzdGVyZWQsIHRoaXMgY2hhbm5lbCB7Q0hBTk5FTH0gbWVzc2FnZXMgd2lsbCBiZSByZXR1cm5lZCB0byBldmVudC4gcmVmZXIgdG8gdGhpcy5faGFuZGxlRGF0YVxuICAgKiBJdCdzIGFjdHVhbGx5IGxpc3RlbmluZyBmb3IgaW50IGNoYW5uZWxDb2RlLiBJbiB0aGlzLl9jaGFubmVsIG9iamVjdCB0byByZWNvcmQgY2hhbm5lbCBrZXkgYW5kIGludCB2YWx1ZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gY2hhbm5lbCBpbnN0cnVtZW50cyBzZXJ2aWNlIGNoYW5uZWwgZS5nOiBJTlNUUlVNRU5UX0NIQU5ORUwuREVWSUNFX0lORk8uXG4gICAqIEBwYXJhbSB7RFRYQ2FsbGJhY2t9IGV2ZW50XG4gICAqL1xuICBhc3luYyByZWdpc3RlckNoYW5uZWxDYWxsYmFjayAoY2hhbm5lbCwgZXZlbnQpIHtcbiAgICBjb25zdCBjaGFubmVsSWQgPSBhd2FpdCB0aGlzLm1ha2VDaGFubmVsKGNoYW5uZWwpO1xuICAgIHRoaXMuX2NoYW5uZWxDYWxsYmFja3MuYWRkTGlzdGVuZXIoY2hhbm5lbElkLCBldmVudCk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgc2VydmljZSBjaGFubmVsLCBkYXRhIHRyYW5zbWlzc2lvbiBvZiB0aGUgc2VydmljZSB3aWxsIHVzZSB0aGlzIGNoYW5uZWxDb2RlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBjaGFubmVsICBpbnN0cnVtZW50cyBzZXJ2aWNlIGNoYW5uZWwgZS5nOiBJTlNUUlVNRU5UX0NIQU5ORUwuREVWSUNFX0lORk9cbiAgICogQHJldHVybnMge1Byb21pc2U8bnVtYmVyfCo+fSBpbnN0cnVtZW50cyBzZXJ2aWNlIGNoYW5uZWwgY29kZSBmb3IgZGF0YSB0cmFuc21pc3Npb25cbiAgICovXG4gIGFzeW5jIG1ha2VDaGFubmVsIChjaGFubmVsKSB7XG4gICAgaWYgKGNoYW5uZWwgaW4gdGhpcy5fY2hhbm5lbHMpIHtcbiAgICAgIHJldHVybiB0aGlzLl9jaGFubmVsc1tjaGFubmVsXTtcbiAgICB9XG4gICAgY29uc3QgY2hhbm5lbENvZGUgPSBPYmplY3Qua2V5cyh0aGlzLl9jaGFubmVscykubGVuZ3RoICsgMTtcbiAgICBhd2FpdCB0aGlzLl9jYWxsQ2hhbm5lbCh0cnVlLCAwLCAnX3JlcXVlc3RDaGFubmVsV2l0aENvZGU6aWRlbnRpZmllcjonLCBjaGFubmVsQ29kZSwgY2hhbm5lbCk7XG4gICAgdGhpcy5fY2hhbm5lbHNbY2hhbm5lbF0gPSBjaGFubmVsQ29kZTtcbiAgICByZXR1cm4gY2hhbm5lbENvZGU7XG4gIH1cblxuICAvKipcbiAgICogSW4gZ2VuZXJhbCwgd2UgY2FsbCB0aGlzIG1ldGhvZCB0byBzdGFydCB0aGUgaW5zdHJ1bWVudCBkdHggc2VydmljZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gY2hhbm5lbCBpbnN0cnVtZW50IGR0eCBzZXJ2aWNlIGUuZzogSU5TVFJVTUVOVF9DSEFOTkVMLkRFVklDRV9JTkZPXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBzZWxlY3RvciBpbnN0cnVtZW50IHNlcnZpY2UgbWV0aG9kIG5hbWUgKHJlZmxlY3Rpb24gY2FsbHMpXG4gICAqIEBwYXJhbSB7Li4uYW55fSBhdXhpbGlhcmllcyBwYXJhbWV0ZXJzIHJlcXVpcmVkIGJ5IHNlbGVjdG9yXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPERUWE1lc3NhZ2U+fVxuICAgKiBleGFtcGxl77yaXG4gICAqIGluc3RydW1lbnRTZXJ2aWNlLmNhbGxDaGFubmVsKElOU1RSVU1FTlRfQ0hBTk5FTC5QUk9DRVNTX0NPTlRST0wsXG4gICAgICAgICdsYXVuY2hTdXNwZW5kZWRQcm9jZXNzV2l0aERldmljZVBhdGg6YnVuZGxlSWRlbnRpZmllcjplbnZpcm9ubWVudDphcmd1bWVudHM6b3B0aW9uczonLCAnJyxcbiAgICAgICAgYnVuZGxlSUQsIHt9LCBbXSwgeydTdGFydFN1c3BlbmRlZEtleSc6IDAsICdLaWxsRXhpc3RpbmcnOiAxfVxuICAgKi9cbiAgYXN5bmMgY2FsbENoYW5uZWwgKGNoYW5uZWwsIHNlbGVjdG9yLCAuLi5hdXhpbGlhcmllcykge1xuICAgIGNvbnN0IGNoYW5uZWxDb2RlID0gYXdhaXQgdGhpcy5tYWtlQ2hhbm5lbChjaGFubmVsKTtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5fY2FsbENoYW5uZWwodHJ1ZSwgY2hhbm5lbENvZGUsIHNlbGVjdG9yLCAuLi5hdXhpbGlhcmllcyk7XG4gIH1cblxuICBhc3luYyBfY2FsbENoYW5uZWwgKHN5bmMsIGNoYW5uZWxDb2RlLCBzZWxlY3RvciwgLi4uYXV4aWxpYXJpZXMpIHtcbiAgICBjb25zdCBpZGVudGlmaWVyID0gdGhpcy5fbmV4dElkZW50aWZpZXI7XG4gICAgdGhpcy5fZW5jb2Rlci53cml0ZSh7c3luYywgY2hhbm5lbENvZGUsIHNlbGVjdG9yLCBhdXhpbGlhcmllcywgaWRlbnRpZmllcn0pO1xuICAgICsrdGhpcy5fbmV4dElkZW50aWZpZXI7XG4gICAgaWYgKHN5bmMpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiBhd2FpdCB3YWl0Rm9yQ29uZGl0aW9uKCgpID0+IHtcbiAgICAgICAgICBjb25zdCBxdWV1ZSA9IHRoaXMuX3JlcGx5UXVldWVzW2lkZW50aWZpZXJdO1xuICAgICAgICAgIGNvbnN0IGRhdGEgPSBxdWV1ZS5zaGlmdCgpO1xuICAgICAgICAgIGlmICghXy5pc1VuZGVmaW5lZChkYXRhKSkge1xuICAgICAgICAgICAgcmV0dXJuIGRhdGE7XG4gICAgICAgICAgfVxuICAgICAgICB9LCB7d2FpdE1zOiBXQUlUX1JFUExZX1RJTUVfTVMsIGludGVydmFsTXM6IENIRUNLX0ZSRVFfTVMsIGVycm9yOiAncmVwbHkgY2hhbm5lbCBkYXRhIHRpbWVvdXQnfSk7XG4gICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogSGFuZGxpbmcgcmVnaXN0ZXJlZCBhc3luY2hyb25vdXMgbWVzc2FnZSBjYWxsYmFja3NcbiAgICogQHBhcmFtIHtEVFhNZXNzYWdlfSBkYXRhXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBfaGFuZGxlRGF0YSAoZGF0YSkge1xuICAgIGlmIChfLmluY2x1ZGVzKGRhdGEuc2VsZWN0b3IsIENIQU5ORUxfQ0FOQ0VMRUQpKSB7XG4gICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfVxuICAgIGlmIChkYXRhLmNvbnZlcnNhdGlvbkluZGV4ID09PSAxKSB7XG4gICAgICB0aGlzLl9yZXBseVF1ZXVlc1tkYXRhLmlkZW50aWZpZXJdLnB1c2goZGF0YSk7XG4gICAgfSBlbHNlIGlmICh0aGlzLl9jaGFubmVsQ2FsbGJhY2tzLmxpc3RlbmVyQ291bnQoQ0hBTk5FTF9PRkZTRVQgLSBkYXRhLmNoYW5uZWxDb2RlKSA+IDApIHtcbiAgICAgIHRoaXMuX2NoYW5uZWxDYWxsYmFja3MuZW1pdChDSEFOTkVMX09GRlNFVCAtIGRhdGEuY2hhbm5lbENvZGUsIGRhdGEpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBzZWxlY3RvciA9IGRhdGEuc2VsZWN0b3I7XG4gICAgICBpZiAoXy5pc1N0cmluZyhzZWxlY3RvcikgJiYgdGhpcy5fY2FsbGJhY2tzLmxpc3RlbmVyQ291bnQoc2VsZWN0b3IpID4gMCkge1xuICAgICAgICB0aGlzLl9jYWxsYmFja3MuZW1pdChzZWxlY3RvciwgZGF0YSk7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuX3VuZGVmaW5lZENhbGxiYWNrKSB7XG4gICAgICAgIHRoaXMuX3VuZGVmaW5lZENhbGxiYWNrKGRhdGEpO1xuICAgICAgfVxuICAgICAgaWYgKGRhdGEuZXhwZWN0c1JlcGx5KSB7XG4gICAgICAgIHRoaXMuX3JlcGx5QWNrKGRhdGEpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiByZXR1cm4gYSBlbXB0eSBhY2sgbWVzc2FnZVxuICAgKiBAcGFyYW0ge0RUWE1lc3NhZ2V9IGRhdGFcbiAgICovXG4gIF9yZXBseUFjayAoZGF0YSkge1xuICAgIGNvbnN0IHJlcGx5ID0gbmV3IERUWE1lc3NhZ2Uoe1xuICAgICAgaWRlbnRpZmllcjogZGF0YS5pZGVudGlmaWVyLFxuICAgICAgY2hhbm5lbENvZGU6IGRhdGEuY2hhbm5lbENvZGUsXG4gICAgICBzZWxlY3RvcjogQnVmZmVyLmFsbG9jKEVNUFRZX01FU1NBR0VfU0laRSksXG4gICAgICBjb252ZXJzYXRpb25JbmRleDogZGF0YS5jb252ZXJzYXRpb25JbmRleCArIDEsXG4gICAgICBmbGFnczogRkxBR19UWVBFUy5yZXBseVxuICAgIH0pO1xuICAgIHRoaXMuX3NvY2tldENsaWVudC53cml0ZShyZXBseS5idWlsZCgpKTtcbiAgfVxufVxuXG5leHBvcnQgeyBJbnN0cnVtZW50U2VydmljZSwgSU5TVFJVTUVOVF9TRVJWSUNFX05BTUVfVkVSU0lPTl8xNCwgSU5TVFJVTUVOVF9TRVJWSUNFX05BTUUgfTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQSxNQUFNQSxhQUFhLEdBQUcsR0FBdEI7QUFDQSxNQUFNQyxrQkFBa0IsR0FBRyxLQUEzQjtBQUNBLE1BQU1DLGtCQUFrQixHQUFHLEVBQTNCO0FBQ0EsTUFBTUMsZ0JBQWdCLEdBQUcsa0JBQXpCO0FBQ0EsTUFBTUMsY0FBYyxHQUFHLEtBQUssRUFBNUI7QUFFQSxNQUFNQyxrQ0FBa0MsR0FBRyx5REFBM0M7O0FBQ0EsTUFBTUMsdUJBQXVCLEdBQUcsb0NBQWhDOztBQUVPLE1BQU1DLGtCQUFrQixHQUFHQyxNQUFNLENBQUNDLE1BQVAsQ0FBYztFQUM5Q0MsV0FBVyxFQUFFLGtEQURpQztFQUU5Q0MsZUFBZSxFQUFFLHNEQUY2QjtFQUc5Q0MsU0FBUyxFQUFFLGlEQUht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
|
|
@@ -102,7 +102,5 @@ class DTXDecoder extends _stream.default.Transform {
|
|
|
102
102
|
|
|
103
103
|
}
|
|
104
104
|
|
|
105
|
-
exports.DTXDecoder = DTXDecoder;
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliL2luc3RydW1lbnQvdHJhbnNmb3JtZXIvZHR4LWRlY29kZS5qcyIsIm5hbWVzIjpbIkRUWERlY29kZXIiLCJTdHJlYW0iLCJUcmFuc2Zvcm0iLCJjb25zdHJ1Y3RvciIsIm9iamVjdE1vZGUiLCJfZHR4TWFuYWdlciIsImJ1ZmZlciIsIkJ1ZmZlciIsImFsbG9jVW5zYWZlIiwiY3Vyc29yIiwiaGVhZGVyIiwidW5kZWZpbmVkIiwiX3RyYW5zZm9ybSIsImRhdGEiLCJlbmNvZGluZyIsIm9uRGF0YSIsIl9kZWNvZGUiLCJjb25jYXQiLCJzbGljZSIsImxlbmd0aCIsIm1hZ2ljIiwiX3JlY3YiLCJEVFhfTUVTU0FHRV9IRUFERVJfTUFHSUNfTEVOIiwicmVhZFVJbnQzMkxFIiwiRFRYX01FU1NBR0VfSEVBREVSX01BR0lDIiwiaGVhZGVyQnVmZmVyIiwiRFRYX01FU1NBR0VfSEVBREVSX0xFTkdUSCIsIkRUWE1lc3NhZ2VIZWFkZXIiLCJwYXJzZSIsImZyYWdtZW50SWQiLCJjaGFubmVsIiwicGF5bG9hZEJ1ZmZlciIsImZyYWdtZW50Q291bnQiLCJib2R5QnVmZmVyIiwicGF5bG9hZExlbmd0aCIsInB1c2giLCJEVFhNZXNzYWdlIiwiYnVmIl0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLiIsInNvdXJjZXMiOlsibGliL2luc3RydW1lbnQvdHJhbnNmb3JtZXIvZHR4LWRlY29kZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgU3RyZWFtIGZyb20gJ3N0cmVhbSc7XG5pbXBvcnQgeyBEVFhfTUVTU0FHRV9IRUFERVJfTEVOR1RILCBEVFhfTUVTU0FHRV9IRUFERVJfTUFHSUMsIERUWF9NRVNTQUdFX0hFQURFUl9NQUdJQ19MRU4sXG4gICAgICAgICBEVFhNZXNzYWdlSGVhZGVyLCBEVFhNZXNzYWdlfSBmcm9tICcuLi9oZWFkZXJzJztcblxuY2xhc3MgRFRYRGVjb2RlciBleHRlbmRzIFN0cmVhbS5UcmFuc2Zvcm0ge1xuXG4gIGNvbnN0cnVjdG9yICgpIHtcbiAgICBzdXBlcih7IG9iamVjdE1vZGU6IHRydWUgfSk7XG4gICAgdGhpcy5fZHR4TWFuYWdlciA9IHt9O1xuICAgIHRoaXMuYnVmZmVyID0gQnVmZmVyLmFsbG9jVW5zYWZlKDApO1xuICAgIHRoaXMuY3Vyc29yID0gMDtcbiAgICB0aGlzLmhlYWRlciA9IHVuZGVmaW5lZDtcbiAgfVxuXG4gIF90cmFuc2Zvcm0gKGRhdGEsIGVuY29kaW5nLCBvbkRhdGEpIHtcbiAgICB0aGlzLl9kZWNvZGUoZGF0YSk7XG4gICAgb25EYXRhKCk7XG4gIH1cblxuICBfZGVjb2RlIChkYXRhKSB7XG4gICAgLy8gTWVyZ2UgcGFja2V0c1xuICAgIHRoaXMuYnVmZmVyID0gQnVmZmVyLmNvbmNhdChbdGhpcy5idWZmZXIuc2xpY2UodGhpcy5jdXJzb3IsIHRoaXMuYnVmZmVyLmxlbmd0aCksIGRhdGFdKTtcbiAgICB0aGlzLmN1cnNvciA9IDA7XG4gICAgd2hpbGUgKHRoaXMuY3Vyc29yIDwgdGhpcy5idWZmZXIubGVuZ3RoKSB7XG4gICAgICBjb25zdCBtYWdpYyA9IHRoaXMuX3JlY3YoRFRYX01FU1NBR0VfSEVBREVSX01BR0lDX0xFTik7XG4gICAgICBpZiAoIW1hZ2ljKSB7IHJldHVybjsgfVxuICAgICAgdGhpcy5jdXJzb3IgLT0gRFRYX01FU1NBR0VfSEVBREVSX01BR0lDX0xFTjtcbiAgICAgIGlmIChtYWdpYyAmJiBtYWdpYy5yZWFkVUludDMyTEUoMCkgPT09IERUWF9NRVNTQUdFX0hFQURFUl9NQUdJQykge1xuICAgICAgICBjb25zdCBoZWFkZXJCdWZmZXIgPSB0aGlzLl9yZWN2KERUWF9NRVNTQUdFX0hFQURFUl9MRU5HVEgpO1xuICAgICAgICBpZiAoIWhlYWRlckJ1ZmZlcikgeyByZXR1cm47IH1cbiAgICAgICAgdGhpcy5oZWFkZXIgPSBEVFhNZXNzYWdlSGVhZGVyLnBhcnNlKGhlYWRlckJ1ZmZlcik7XG4gICAgICAgIGlmICh0aGlzLmhlYWRlci5mcmFnbWVudElkID09PSAwKSB7XG4gICAgICAgICAgLy8gb25seSB0aGUgMHRoIGZyYWdtZW50IGNvbnRhaW5zIGEgbWVzc2FnZSBoZWFkZXJcbiAgICAgICAgICBpZiAoISh0aGlzLmhlYWRlci5jaGFubmVsIGluIHRoaXMuX2R0eE1hbmFnZXIpKSB7XG4gICAgICAgICAgICB0aGlzLl9kdHhNYW5hZ2VyW3RoaXMuaGVhZGVyLmNoYW5uZWxdID0ge2hlYWRlckJ1ZmZlciwgcGF5bG9hZEJ1ZmZlcjogbmV3IEJ1ZmZlci5hbGxvY1Vuc2FmZSgwKX07XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICh0aGlzLmhlYWRlci5mcmFnbWVudENvdW50ID4gMSkge1xuICAgICAgICAgICAgLy8gQ29udGludWUgdG8gZ2V0IHRoZSBuZXh0IG1lc3NhZ2UgZnJhZ21lbnRzXG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGNvbnN0IGJvZHlCdWZmZXIgPSB0aGlzLl9yZWN2KHRoaXMuaGVhZGVyLnBheWxvYWRMZW5ndGgpO1xuICAgICAgaWYgKCFib2R5QnVmZmVyKSB7IHJldHVybjsgfVxuICAgICAgaWYgKHRoaXMuX2R0eE1hbmFnZXJbdGhpcy5oZWFkZXIuY2hhbm5lbF0pIHtcbiAgICAgICAgdGhpcy5fZHR4TWFuYWdlclt0aGlzLmhlYWRlci5jaGFubmVsXS5wYXlsb2FkQnVmZmVyID0gQnVmZmVyLmNvbmNhdChbdGhpcy5fZHR4TWFuYWdlclt0aGlzLmhlYWRlci5jaGFubmVsXS5wYXlsb2FkQnVmZmVyLCBib2R5QnVmZmVyXSk7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5oZWFkZXIuZnJhZ21lbnRJZCA9PT0gKHRoaXMuaGVhZGVyLmZyYWdtZW50Q291bnQgLSAxKSkge1xuICAgICAgICBkYXRhID0gdGhpcy5fZHR4TWFuYWdlclt0aGlzLmhlYWRlci5jaGFubmVsXTtcbiAgICAgICAgZGVsZXRlIHRoaXMuX2R0eE1hbmFnZXJbdGhpcy5oZWFkZXIuY2hhbm5lbF07XG4gICAgICAgIGlmIChkYXRhKSB7XG4gICAgICAgICAgdGhpcy5wdXNoKERUWE1lc3NhZ2UucGFyc2UoZGF0YS5oZWFkZXJCdWZmZXIsIGRhdGEucGF5bG9hZEJ1ZmZlcikpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuY3Vyc29yID0gMDtcbiAgICB0aGlzLmJ1ZmZlciA9IEJ1ZmZlci5hbGxvY1Vuc2FmZSgwKTtcbiAgfVxuXG4gIF9yZWN2IChsZW5ndGgpIHtcbiAgICBpZiAodGhpcy5idWZmZXIubGVuZ3RoIDwgdGhpcy5jdXJzb3IgKyBsZW5ndGgpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBjb25zdCBidWYgPSB0aGlzLmJ1ZmZlci5zbGljZSh0aGlzLmN1cnNvciwgdGhpcy5jdXJzb3IgKyBsZW5ndGgpO1xuICAgIHRoaXMuY3Vyc29yICs9IGxlbmd0aDtcbiAgICByZXR1cm4gYnVmO1xuICB9XG59XG5cbmV4cG9ydCB7IERUWERlY29kZXIgfTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFHQSxNQUFNQSxVQUFOLFNBQXlCQyxlQUFBLENBQU9DLFNBQWhDLENBQTBDO0VBRXhDQyxXQUFXLEdBQUk7SUFDYixNQUFNO01BQUVDLFVBQVUsRUFBRTtJQUFkLENBQU47SUFDQSxLQUFLQyxXQUFMLEdBQW1CLEVBQW5CO0lBQ0EsS0FBS0MsTUFBTCxHQUFjQyxNQUFNLENBQUNDLFdBQVAsQ0FBbUIsQ0FBbkIsQ0FBZDtJQUNBLEtBQUtDLE1BQUwsR0FBYyxDQUFkO0lBQ0EsS0FBS0MsTUFBTCxHQUFjQyxTQUFkO0VBQ0Q7O0VBRURDLFVBQVUsQ0FBRUMsSUFBRixFQUFRQyxRQUFSLEVBQWtCQyxNQUFsQixFQUEwQjtJQUNsQyxLQUFLQyxPQUFMLENBQWFILElBQWI7O0lBQ0FFLE1BQU07RUFDUDs7RUFFREMsT0FBTyxDQUFFSCxJQUFGLEVBQVE7SUFFYixLQUFLUCxNQUFMLEdBQWNDLE1BQU0sQ0FBQ1UsTUFBUCxDQUFjLENBQUMs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
|
|
105
|
+
exports.DTXDecoder = DTXDecoder;
|
|
106
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJEVFhEZWNvZGVyIiwiU3RyZWFtIiwiVHJhbnNmb3JtIiwiY29uc3RydWN0b3IiLCJvYmplY3RNb2RlIiwiX2R0eE1hbmFnZXIiLCJidWZmZXIiLCJCdWZmZXIiLCJhbGxvY1Vuc2FmZSIsImN1cnNvciIsImhlYWRlciIsInVuZGVmaW5lZCIsIl90cmFuc2Zvcm0iLCJkYXRhIiwiZW5jb2RpbmciLCJvbkRhdGEiLCJfZGVjb2RlIiwiY29uY2F0Iiwic2xpY2UiLCJsZW5ndGgiLCJtYWdpYyIsIl9yZWN2IiwiRFRYX01FU1NBR0VfSEVBREVSX01BR0lDX0xFTiIsInJlYWRVSW50MzJMRSIsIkRUWF9NRVNTQUdFX0hFQURFUl9NQUdJQyIsImhlYWRlckJ1ZmZlciIsIkRUWF9NRVNTQUdFX0hFQURFUl9MRU5HVEgiLCJEVFhNZXNzYWdlSGVhZGVyIiwicGFyc2UiLCJmcmFnbWVudElkIiwiY2hhbm5lbCIsInBheWxvYWRCdWZmZXIiLCJmcmFnbWVudENvdW50IiwiYm9keUJ1ZmZlciIsInBheWxvYWRMZW5ndGgiLCJwdXNoIiwiRFRYTWVzc2FnZSIsImJ1ZiJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9pbnN0cnVtZW50L3RyYW5zZm9ybWVyL2R0eC1kZWNvZGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFN0cmVhbSBmcm9tICdzdHJlYW0nO1xuaW1wb3J0IHsgRFRYX01FU1NBR0VfSEVBREVSX0xFTkdUSCwgRFRYX01FU1NBR0VfSEVBREVSX01BR0lDLCBEVFhfTUVTU0FHRV9IRUFERVJfTUFHSUNfTEVOLFxuICAgICAgICAgRFRYTWVzc2FnZUhlYWRlciwgRFRYTWVzc2FnZX0gZnJvbSAnLi4vaGVhZGVycyc7XG5cbmNsYXNzIERUWERlY29kZXIgZXh0ZW5kcyBTdHJlYW0uVHJhbnNmb3JtIHtcblxuICBjb25zdHJ1Y3RvciAoKSB7XG4gICAgc3VwZXIoeyBvYmplY3RNb2RlOiB0cnVlIH0pO1xuICAgIHRoaXMuX2R0eE1hbmFnZXIgPSB7fTtcbiAgICB0aGlzLmJ1ZmZlciA9IEJ1ZmZlci5hbGxvY1Vuc2FmZSgwKTtcbiAgICB0aGlzLmN1cnNvciA9IDA7XG4gICAgdGhpcy5oZWFkZXIgPSB1bmRlZmluZWQ7XG4gIH1cblxuICBfdHJhbnNmb3JtIChkYXRhLCBlbmNvZGluZywgb25EYXRhKSB7XG4gICAgdGhpcy5fZGVjb2RlKGRhdGEpO1xuICAgIG9uRGF0YSgpO1xuICB9XG5cbiAgX2RlY29kZSAoZGF0YSkge1xuICAgIC8vIE1lcmdlIHBhY2tldHNcbiAgICB0aGlzLmJ1ZmZlciA9IEJ1ZmZlci5jb25jYXQoW3RoaXMuYnVmZmVyLnNsaWNlKHRoaXMuY3Vyc29yLCB0aGlzLmJ1ZmZlci5sZW5ndGgpLCBkYXRhXSk7XG4gICAgdGhpcy5jdXJzb3IgPSAwO1xuICAgIHdoaWxlICh0aGlzLmN1cnNvciA8IHRoaXMuYnVmZmVyLmxlbmd0aCkge1xuICAgICAgY29uc3QgbWFnaWMgPSB0aGlzLl9yZWN2KERUWF9NRVNTQUdFX0hFQURFUl9NQUdJQ19MRU4pO1xuICAgICAgaWYgKCFtYWdpYykgeyByZXR1cm47IH1cbiAgICAgIHRoaXMuY3Vyc29yIC09IERUWF9NRVNTQUdFX0hFQURFUl9NQUdJQ19MRU47XG4gICAgICBpZiAobWFnaWMgJiYgbWFnaWMucmVhZFVJbnQzMkxFKDApID09PSBEVFhfTUVTU0FHRV9IRUFERVJfTUFHSUMpIHtcbiAgICAgICAgY29uc3QgaGVhZGVyQnVmZmVyID0gdGhpcy5fcmVjdihEVFhfTUVTU0FHRV9IRUFERVJfTEVOR1RIKTtcbiAgICAgICAgaWYgKCFoZWFkZXJCdWZmZXIpIHsgcmV0dXJuOyB9XG4gICAgICAgIHRoaXMuaGVhZGVyID0gRFRYTWVzc2FnZUhlYWRlci5wYXJzZShoZWFkZXJCdWZmZXIpO1xuICAgICAgICBpZiAodGhpcy5oZWFkZXIuZnJhZ21lbnRJZCA9PT0gMCkge1xuICAgICAgICAgIC8vIG9ubHkgdGhlIDB0aCBmcmFnbWVudCBjb250YWlucyBhIG1lc3NhZ2UgaGVhZGVyXG4gICAgICAgICAgaWYgKCEodGhpcy5oZWFkZXIuY2hhbm5lbCBpbiB0aGlzLl9kdHhNYW5hZ2VyKSkge1xuICAgICAgICAgICAgdGhpcy5fZHR4TWFuYWdlclt0aGlzLmhlYWRlci5jaGFubmVsXSA9IHtoZWFkZXJCdWZmZXIsIHBheWxvYWRCdWZmZXI6IG5ldyBCdWZmZXIuYWxsb2NVbnNhZmUoMCl9O1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAodGhpcy5oZWFkZXIuZnJhZ21lbnRDb3VudCA+IDEpIHtcbiAgICAgICAgICAgIC8vIENvbnRpbnVlIHRvIGdldCB0aGUgbmV4dCBtZXNzYWdlIGZyYWdtZW50c1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBjb25zdCBib2R5QnVmZmVyID0gdGhpcy5fcmVjdih0aGlzLmhlYWRlci5wYXlsb2FkTGVuZ3RoKTtcbiAgICAgIGlmICghYm9keUJ1ZmZlcikgeyByZXR1cm47IH1cbiAgICAgIGlmICh0aGlzLl9kdHhNYW5hZ2VyW3RoaXMuaGVhZGVyLmNoYW5uZWxdKSB7XG4gICAgICAgIHRoaXMuX2R0eE1hbmFnZXJbdGhpcy5oZWFkZXIuY2hhbm5lbF0ucGF5bG9hZEJ1ZmZlciA9IEJ1ZmZlci5jb25jYXQoW3RoaXMuX2R0eE1hbmFnZXJbdGhpcy5oZWFkZXIuY2hhbm5lbF0ucGF5bG9hZEJ1ZmZlciwgYm9keUJ1ZmZlcl0pO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMuaGVhZGVyLmZyYWdtZW50SWQgPT09ICh0aGlzLmhlYWRlci5mcmFnbWVudENvdW50IC0gMSkpIHtcbiAgICAgICAgZGF0YSA9IHRoaXMuX2R0eE1hbmFnZXJbdGhpcy5oZWFkZXIuY2hhbm5lbF07XG4gICAgICAgIGRlbGV0ZSB0aGlzLl9kdHhNYW5hZ2VyW3RoaXMuaGVhZGVyLmNoYW5uZWxdO1xuICAgICAgICBpZiAoZGF0YSkge1xuICAgICAgICAgIHRoaXMucHVzaChEVFhNZXNzYWdlLnBhcnNlKGRhdGEuaGVhZGVyQnVmZmVyLCBkYXRhLnBheWxvYWRCdWZmZXIpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLmN1cnNvciA9IDA7XG4gICAgdGhpcy5idWZmZXIgPSBCdWZmZXIuYWxsb2NVbnNhZmUoMCk7XG4gIH1cblxuICBfcmVjdiAobGVuZ3RoKSB7XG4gICAgaWYgKHRoaXMuYnVmZmVyLmxlbmd0aCA8IHRoaXMuY3Vyc29yICsgbGVuZ3RoKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgY29uc3QgYnVmID0gdGhpcy5idWZmZXIuc2xpY2UodGhpcy5jdXJzb3IsIHRoaXMuY3Vyc29yICsgbGVuZ3RoKTtcbiAgICB0aGlzLmN1cnNvciArPSBsZW5ndGg7XG4gICAgcmV0dXJuIGJ1ZjtcbiAgfVxufVxuXG5leHBvcnQgeyBEVFhEZWNvZGVyIH07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBR0EsTUFBTUEsVUFBTixTQUF5QkMsZUFBQSxDQUFPQyxTQUFoQyxDQUEwQztFQUV4Q0MsV0FBVyxHQUFJO0lBQ2IsTUFBTTtNQUFFQyxVQUFVLEVBQUU7SUFBZCxDQUFOO0lBQ0EsS0FBS0MsV0FBTCxHQUFtQixFQUFuQjtJQUNBLEtBQUtDLE1BQUwsR0FBY0MsTUFBTSxDQUFDQyxXQUFQLENBQW1CLENBQW5CLENBQWQ7SUFDQSxLQUFLQyxNQUFMLEdBQWMsQ0FBZDtJQUNBLEtBQUtDLE1BQUwsR0FBY0MsU0FBZDtFQUNEOztFQUVEQyxVQUFVLENBQUVDLElBQUYsRUFBUUMsUUFBUixFQUFrQkMsTUFBbEIsRUFBMEI7SUFDbEMsS0FBS0MsT0FBTCxDQUFhSCxJQUFiOztJQUNBRSxNQUFNO0VBQ1A7O0VBRURDLE9BQU8sQ0FBRUgsSUFBRixFQUFRO0lBRWIsS0FBS1AsTUFBTCxHQUFjQyxNQUFNLENBQUNVLE1BQVAsQ0FBYyxDQUFDLEtBQUtYLE1BQUwsQ0FBWVksS0FBWixDQUFrQixLQUFLVCxNQUF2QixFQUErQixLQUFLSCxNQUFMLENBQVlhLE1B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
|
|
@@ -51,7 +51,5 @@ class DTXEncoder extends _stream.default.Transform {
|
|
|
51
51
|
|
|
52
52
|
}
|
|
53
53
|
|
|
54
|
-
exports.DTXEncoder = DTXEncoder;
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliL2luc3RydW1lbnQvdHJhbnNmb3JtZXIvZHR4LWVuY29kZS5qcyIsIm5hbWVzIjpbIkRUWEVuY29kZXIiLCJTdHJlYW0iLCJUcmFuc2Zvcm0iLCJjb25zdHJ1Y3RvciIsIm9iamVjdE1vZGUiLCJfdHJhbnNmb3JtIiwiZGF0YSIsImVuY29kaW5nIiwib25EYXRhIiwicHVzaCIsIl9lbmNvZGUiLCJzeW5jIiwiY2hhbm5lbENvZGUiLCJzZWxlY3RvciIsImF1eGlsaWFyaWVzIiwiaWRlbnRpZmllciIsImR0eCIsIkRUWE1lc3NhZ2UiLCJleHBlY3RzUmVwbHkiLCJEVFhNZXNzYWdlQXV4QnVmZmVyIiwiYnVpbGQiXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uIiwic291cmNlcyI6WyJsaWIvaW5zdHJ1bWVudC90cmFuc2Zvcm1lci9kdHgtZW5jb2RlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBTdHJlYW0gZnJvbSAnc3RyZWFtJztcbmltcG9ydCB7RFRYTWVzc2FnZSwgRFRYTWVzc2FnZUF1eEJ1ZmZlcn0gZnJvbSAnLi4vaGVhZGVycyc7XG5cblxuY2xhc3MgRFRYRW5jb2RlciBleHRlbmRzIFN0cmVhbS5UcmFuc2Zvcm0ge1xuXG4gIGNvbnN0cnVjdG9yICgpIHtcbiAgICBzdXBlcih7IG9iamVjdE1vZGU6IHRydWUgfSk7XG4gIH1cblxuICBfdHJhbnNmb3JtIChkYXRhLCBlbmNvZGluZywgb25EYXRhKSB7XG4gICAgdGhpcy5wdXNoKHRoaXMuX2VuY29kZShkYXRhKSwgJ2J1ZmZlcicpO1xuICAgIG9uRGF0YSgpO1xuICB9XG5cbiAgX2VuY29kZSAoZGF0YSkge1xuICAgIGNvbnN0IHtzeW5jLCBjaGFubmVsQ29kZSwgc2VsZWN0b3IsIGF1eGlsaWFyaWVzLCBpZGVudGlmaWVyfSA9IGRhdGE7XG4gICAgY29uc3QgZHR4ID0gbmV3IERUWE1lc3NhZ2Uoe1xuICAgICAgaWRlbnRpZmllcixcbiAgICAgIGNoYW5uZWxDb2RlLFxuICAgICAgc2VsZWN0b3IsXG4gICAgICBleHBlY3RzUmVwbHk6IHN5bmNcbiAgICB9KTtcbiAgICBpZiAoYXV4aWxpYXJpZXMgaW5zdGFuY2VvZiBEVFhNZXNzYWdlQXV4QnVmZmVyKSB7XG4gICAgICBkdHguYXV4aWxpYXJpZXMgPSBhdXhpbGlhcmllcztcbiAgICB9IGVsc2Uge1xuICAgICAgZHR4LmF1eGlsaWFyaWVzLmRhdGEgPSBhdXhpbGlhcmllcztcbiAgICB9XG4gICAgcmV0dXJuIGR0eC5idWlsZCgpO1xuICB9XG59XG5cbmV4cG9ydCB7IERUWEVuY29kZXIgfTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFHQSxNQUFNQSxVQUFOLFNBQXlCQyxlQUFBLENBQU9DLFNBQWhDLENBQTBDO0VBRXhDQyxXQUFXLEdBQUk7SUFDYixNQUFNO01BQUVDLFVBQVUsRUFBRTtJQUFkLENBQU47RUFDRDs7RUFFREMsVUFBVSxDQUFFQyxJQUFGLEVBQVFDLFFBQVIsRUFBa0JDLE1BQWxCLEVBQTBCO0lBQ2xDLEtBQUtDLElBQUwsQ0FBVSxLQUFLQyxPQUFMLENBQWFKLElBQWIsQ0FBVixFQUE4QixRQUE5QjtJQUNBRSxNQUFNO0VBQ1A7O0VBRURFLE9BQU8sQ0FBRUosSUFBRixFQUFRO0lBQ2IsTUFBTTtNQUFDSyxJQUFEO01BQU9DLFdBQVA7TUFBb0JDLFFBQXBCO01BQThCQyxXQUE5QjtNQUEyQ0M7SUFBM0MsSUFBeURULElBQS9EO0lBQ0EsTUFBTVUsR0FBRyxHQUFHLElBQUlDLG1CQUFKLENBQWU7TUFDekJGLFVBRHlCO01BRXpCSCxXQUZ5QjtNQUd6QkMsUUFIeUI7TUFJekJLLFlBQVksRUFBRVA7SUFKVyxDQUFmLENBQVo7O0lBTUEsSUFBSUcsV0FBVyxZQUFZSyw0QkFBM0IsRUFBZ0Q7TUFDOUNILEdBQUcsQ0FBQ0YsV0FBSixHQUFrQkEsV0FBbEI7SUFDRCxDQUZELE1BRU87TUFDTEUsR0FBRyxDQUFDRixXQUFKLENBQWdCUixJQUFoQixHQUF1QlEsV0FBdkI7SUFDRDs7SUFDRCxPQUFPRSxHQUFHLENBQUNJLEtBQUosRUFBUDtFQUNEOztBQXpCdUMifQ==
|
|
54
|
+
exports.DTXEncoder = DTXEncoder;
|
|
55
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJEVFhFbmNvZGVyIiwiU3RyZWFtIiwiVHJhbnNmb3JtIiwiY29uc3RydWN0b3IiLCJvYmplY3RNb2RlIiwiX3RyYW5zZm9ybSIsImRhdGEiLCJlbmNvZGluZyIsIm9uRGF0YSIsInB1c2giLCJfZW5jb2RlIiwic3luYyIsImNoYW5uZWxDb2RlIiwic2VsZWN0b3IiLCJhdXhpbGlhcmllcyIsImlkZW50aWZpZXIiLCJkdHgiLCJEVFhNZXNzYWdlIiwiZXhwZWN0c1JlcGx5IiwiRFRYTWVzc2FnZUF1eEJ1ZmZlciIsImJ1aWxkIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGliL2luc3RydW1lbnQvdHJhbnNmb3JtZXIvZHR4LWVuY29kZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgU3RyZWFtIGZyb20gJ3N0cmVhbSc7XG5pbXBvcnQge0RUWE1lc3NhZ2UsIERUWE1lc3NhZ2VBdXhCdWZmZXJ9IGZyb20gJy4uL2hlYWRlcnMnO1xuXG5cbmNsYXNzIERUWEVuY29kZXIgZXh0ZW5kcyBTdHJlYW0uVHJhbnNmb3JtIHtcblxuICBjb25zdHJ1Y3RvciAoKSB7XG4gICAgc3VwZXIoeyBvYmplY3RNb2RlOiB0cnVlIH0pO1xuICB9XG5cbiAgX3RyYW5zZm9ybSAoZGF0YSwgZW5jb2RpbmcsIG9uRGF0YSkge1xuICAgIHRoaXMucHVzaCh0aGlzLl9lbmNvZGUoZGF0YSksICdidWZmZXInKTtcbiAgICBvbkRhdGEoKTtcbiAgfVxuXG4gIF9lbmNvZGUgKGRhdGEpIHtcbiAgICBjb25zdCB7c3luYywgY2hhbm5lbENvZGUsIHNlbGVjdG9yLCBhdXhpbGlhcmllcywgaWRlbnRpZmllcn0gPSBkYXRhO1xuICAgIGNvbnN0IGR0eCA9IG5ldyBEVFhNZXNzYWdlKHtcbiAgICAgIGlkZW50aWZpZXIsXG4gICAgICBjaGFubmVsQ29kZSxcbiAgICAgIHNlbGVjdG9yLFxuICAgICAgZXhwZWN0c1JlcGx5OiBzeW5jXG4gICAgfSk7XG4gICAgaWYgKGF1eGlsaWFyaWVzIGluc3RhbmNlb2YgRFRYTWVzc2FnZUF1eEJ1ZmZlcikge1xuICAgICAgZHR4LmF1eGlsaWFyaWVzID0gYXV4aWxpYXJpZXM7XG4gICAgfSBlbHNlIHtcbiAgICAgIGR0eC5hdXhpbGlhcmllcy5kYXRhID0gYXV4aWxpYXJpZXM7XG4gICAgfVxuICAgIHJldHVybiBkdHguYnVpbGQoKTtcbiAgfVxufVxuXG5leHBvcnQgeyBEVFhFbmNvZGVyIH07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBR0EsTUFBTUEsVUFBTixTQUF5QkMsZUFBQSxDQUFPQyxTQUFoQyxDQUEwQztFQUV4Q0MsV0FBVyxHQUFJO0lBQ2IsTUFBTTtNQUFFQyxVQUFVLEVBQUU7SUFBZCxDQUFOO0VBQ0Q7O0VBRURDLFVBQVUsQ0FBRUMsSUFBRixFQUFRQyxRQUFSLEVBQWtCQyxNQUFsQixFQUEwQjtJQUNsQyxLQUFLQyxJQUFMLENBQVUsS0FBS0MsT0FBTCxDQUFhSixJQUFiLENBQVYsRUFBOEIsUUFBOUI7SUFDQUUsTUFBTTtFQUNQOztFQUVERSxPQUFPLENBQUVKLElBQUYsRUFBUTtJQUNiLE1BQU07TUFBQ0ssSUFBRDtNQUFPQyxXQUFQO01BQW9CQyxRQUFwQjtNQUE4QkMsV0FBOUI7TUFBMkNDO0lBQTNDLElBQXlEVCxJQUEvRDtJQUNBLE1BQU1VLEdBQUcsR0FBRyxJQUFJQyxtQkFBSixDQUFlO01BQ3pCRixVQUR5QjtNQUV6QkgsV0FGeUI7TUFHekJDLFFBSHlCO01BSXpCSyxZQUFZLEVBQUVQO0lBSlcsQ0FBZixDQUFaOztJQU1BLElBQUlHLFdBQVcsWUFBWUssNEJBQTNCLEVBQWdEO01BQzlDSCxHQUFHLENBQUNGLFdBQUosR0FBa0JBLFdBQWxCO0lBQ0QsQ0FGRCxNQUVPO01BQ0xFLEdBQUcsQ0FBQ0YsV0FBSixDQUFnQlIsSUFBaEIsR0FBdUJRLFdBQXZCO0lBQ0Q7O0lBQ0QsT0FBT0UsR0FBRyxDQUFDSSxLQUFKLEVBQVA7RUFDRDs7QUF6QnVDIn0=
|
|
@@ -20,7 +20,7 @@ var _uuid = require("uuid");
|
|
|
20
20
|
|
|
21
21
|
var _lodash = _interopRequireDefault(require("lodash"));
|
|
22
22
|
|
|
23
|
-
const NSKEYED_ARCHIVE_VERSION =
|
|
23
|
+
const NSKEYED_ARCHIVE_VERSION = 100_000;
|
|
24
24
|
const NULL_UID = new _bplistParser.default.UID(0);
|
|
25
25
|
const CYCLE_TOKEN = 'CycleToken';
|
|
26
26
|
const PRIMITIVE_TYPES = ['Number', 'String', 'Boolean', 'UID', 'Buffer'];
|
|
@@ -440,7 +440,5 @@ function updateNSKeyedArchiveClass(name, subClass) {
|
|
|
440
440
|
if (!(name in UNARCHIVE_CLASS_MAP)) {
|
|
441
441
|
UNARCHIVE_CLASS_MAP[name] = subClass;
|
|
442
442
|
}
|
|
443
|
-
}
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliL2luc3RydW1lbnQvdHJhbnNmb3JtZXIvbnNrZXllZC5qcyIsIm5hbWVzIjpbIk5TS0VZRURfQVJDSElWRV9WRVJTSU9OIiwiTlVMTF9VSUQiLCJwbGlzdGxpYiIsIlVJRCIsIkNZQ0xFX1RPS0VOIiwiUFJJTUlUSVZFX1RZUEVTIiwiTk9OX0VOQ09EQUJMRV9UWVBFUyIsIk5TS0VZRURBUkNISVZFUiIsIlVOSVgyQVBQTEVfVElNRVNUQU1QX1NFQ09ORCIsIkFyY2hpdmVkT2JqZWN0IiwiY29uc3RydWN0b3IiLCJvYmplY3QiLCJ1bmFyY2hpdmVyIiwiX3VuYXJjaGl2ZXIiLCJkZWNvZGVJbmRleCIsImluZGV4IiwiZGVjb2RlT2JqZWN0IiwiZGVjb2RlIiwia2V5IiwiZGVjb2RlS2V5IiwiQXJjaGl2aW5nT2JqZWN0IiwiYXJjaGl2ZXIiLCJfYXJjaGl2ZU9iaiIsIl9hcmNoaXZlciIsImVuY29kZSIsInZhbCIsIkJhc2VBcmNoaXZlSGFuZGxlciIsImRlY29kZUFyY2hpdmUiLCJhcmNoaXZlIiwiRXJyb3IiLCJlbmNvZGVBcmNoaXZlIiwib2JqIiwiRGljdEFyY2hpdmUiLCJrZXlVaWRzIiwidmFsVWlkcyIsImQiLCJpIiwibGVuZ3RoIiwiTGlzdEFyY2hpdmUiLCJ1aWRzIiwibWFwIiwiYmluZCIsIkRUVGFwTWVzc2FnZVBsaXN0IiwiTlNFcnJvciIsIk5TRXhjZXB0aW9uIiwiTlNVUkwiLCJiYXNlIiwicmVsYXRpdmUiLCJfYmFzZSIsIl9yZWxhdGl2ZSIsIiRjbGFzcyIsIk5TRGF0ZSIsImRhdGEiLCJfZGF0YSIsIk5TTXV0YWJsZVN0cmluZyIsIk5TTXV0YWJsZURhdGEiLCJOU1VVSUQiLCJ1dWlkU3RyaW5naWZ5IiwiQnVmZmVyIiwiZnJvbSIsInV1aWRQYXJzZSIsImJ1ZmZlciIsIlhDVENhcGFiaWxpdGllcyIsIk5TTnVsbCIsIlVOQVJDSElWRV9DTEFTU19NQVAiLCJEVFN5c21vblRhcE1lc3NhZ2UiLCJEVFRhcEhlYXJ0YmVhdE1lc3NhZ2UiLCJEVFRhcE1lc3NhZ2VBcmNoaXZlIiwiRFRLVHJhY2VUYXBNZXNzYWdlIiwiRXJyb3JBcmNoaXZlIiwiRXhjZXB0aW9uQXJjaGl2ZSIsIk5TRGljdGlvbmFyeSIsIk5TTXV0YWJsZURpY3Rpb25hcnkiLCJOU0FycmF5IiwiTlNNdXRhYmxlQXJyYXkiLCJOU011dGFibGVTZXQiLCJOU1NldCIsIlVuYXJjaGl2ZSIsImlucHV0Qnl0ZXMiLCJpbnB1dCIsInVucGFja2VkVWlkcyIsInRvcFVJRCIsIm9iamVjdHMiLCJ1bnBhY2tBcmNoaXZlSGVhZGVyIiwicGxpc3QiLCJwYXJzZUJ1ZmZlciIsIiRhcmNoaXZlciIsIiR2ZXJzaW9uIiwidG9wIiwiJHRvcCIsInJvb3QiLCJKU09OIiwic3RyaW5naWZ5IiwiJG9iamVjdHMiLCJjbGFzc0ZvclVpZCIsIm1ldGEiLCJuYW1lIiwiJGNsYXNzbmFtZSIsImtsYXNzIiwiXyIsImlzTmlsIiwiaXNVbmRlZmluZWQiLCJyYXdPYmoiLCJrbGFzc09iaiIsInRvT2JqZWN0IiwiQXJjaGl2ZSIsImlucHV0T2JqZWN0IiwiY2xhc3NNYXAiLCJ1aWRGb3JBcmNoaXZlciIsInB1c2giLCJpc051bGwiLCJpbmNsdWRlcyIsImFyY2hpdmVPYmoiLCJlbmNvZGVUb3BMZXZlbCIsIkFycmF5IiwiZW5jb2RlQXJyYXkiLCJTZXQiLCJlbmNvZGVTZXQiLCJPYmplY3QiLCJvYmpOYW1lIiwiZW5jb2RlRGljdCIsIm9ianMiLCJrZXlzIiwidmFsdWVzIiwidG9CeXRlcyIsImJwbGlzdENyZWF0ZSIsInVuYXJjaGl2ZSIsInVwZGF0ZU5TS2V5ZWRBcmNoaXZlQ2xhc3MiLCJzdWJDbGFzcyIsImlzRnVuY3Rpb24iLCJwcm90b3R5cGUiXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uIiwic291cmNlcyI6WyJsaWIvaW5zdHJ1bWVudC90cmFuc2Zvcm1lci9uc2tleWVkLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBwbGlzdGxpYiBmcm9tICdicGxpc3QtcGFyc2VyJztcbmltcG9ydCBicGxpc3RDcmVhdGUgZnJvbSAnYnBsaXN0LWNyZWF0b3InO1xuaW1wb3J0IHtwYXJzZSBhcyB1dWlkUGFyc2UsIHN0cmluZ2lmeSBhcyB1dWlkU3RyaW5naWZ5fSBmcm9tICd1dWlkJztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5cbmNvbnN0IE5TS0VZRURfQVJDSElWRV9WRVJTSU9OID0gMTAwXzAwMDtcbmNvbnN0IE5VTExfVUlEID0gbmV3IHBsaXN0bGliLlVJRCgwKTtcbmNvbnN0IENZQ0xFX1RPS0VOID0gJ0N5Y2xlVG9rZW4nO1xuY29uc3QgUFJJTUlUSVZFX1RZUEVTID0gWydOdW1iZXInLCAnU3RyaW5nJywgJ0Jvb2xlYW4nLCAnVUlEJywgJ0J1ZmZlciddO1xuY29uc3QgTk9OX0VOQ09EQUJMRV9UWVBFUyA9IFsnbnVtYmVyJywgJ2Jvb2xlYW4nXTtcbmNvbnN0IE5TS0VZRURBUkNISVZFUiA9ICdOU0tleWVkQXJjaGl2ZXInO1xuY29uc3QgVU5JWDJBUFBMRV9USU1FU1RBTVBfU0VDT05EID0gOTc4MzA3MjAwO1xuXG5cbmNsYXNzIEFyY2hpdmVkT2JqZWN0IHtcbiAgLyoqXG4gICAqIFN0YXRlZnVsIHdyYXBwZXIgYXJvdW5kIEFyY2hpdmUgZm9yIGFuIG9iamVjdCBiZWluZyBhcmNoaXZlZC5cbiAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdFxuICAgKiBAcGFyYW0ge1VuYXJjaGl2ZX0gdW5hcmNoaXZlclxuICAgKiBAY29uc3RydWN0b3JcbiAgICovXG4gIGNvbnN0cnVjdG9yIChvYmplY3QsIHVuYXJjaGl2ZXIpIHtcbiAgICB0aGlzLm9iamVjdCA9IG9iamVjdDtcbiAgICB0aGlzLl91bmFyY2hpdmVyID0gdW5hcmNoaXZlcjtcbiAgfVxuXG4gIGRlY29kZUluZGV4IChpbmRleCkge1xuICAgIHJldHVybiB0aGlzLl91bmFyY2hpdmVyLmRlY29kZU9iamVjdChpbmRleCk7XG4gIH1cblxuICBkZWNvZGUgKGtleSkge1xuICAgIHJldHVybiB0aGlzLl91bmFyY2hpdmVyLmRlY29kZUtleSh0aGlzLm9iamVjdCwga2V5KTtcbiAgfVxufVxuXG5jbGFzcyBBcmNoaXZpbmdPYmplY3Qge1xuICAvKipcbiAgICogU3RhdGVmdWwgd3JhcHBlciBhcm91bmQgVW5hcmNoaXZlIGZvciBhbiBhcmNoaXZlZCBvYmplY3RcbiAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdFxuICAgKiBAcGFyYW0ge0FyY2hpdmV9IGFyY2hpdmVyXG4gICAqIEBjb25zdHJ1Y3RvclxuICAgKi9cbiAgY29uc3RydWN0b3IgKG9iamVjdCwgYXJjaGl2ZXIpIHtcbiAgICB0aGlzLl9hcmNoaXZlT2JqID0gb2JqZWN0O1xuICAgIHRoaXMuX2FyY2hpdmVyID0gYXJjaGl2ZXI7XG4gIH1cblxuICBlbmNvZGUgKGtleSwgdmFsKSB7XG4gICAgdGhpcy5fYXJjaGl2ZU9ialtrZXldID0gdGhpcy5fYXJjaGl2ZXIuZW5jb2RlKHZhbCk7XG4gIH1cbn1cblxuLyoqXG4gKiBUaGlzIGNsYXNzIG11c3QgYmUgaW5oZXJpdGVkIHdoZW4gY3JlYXRpbmcgYW4gYXJjaGl2ZS91bmFyY2hpdmUgc3ViY2xhc3NcbiAqIEFuZCB5b3UgbmVlZCB0byBjYWxsIGB1cGRhdGVOU0tleWVkQXJjaGl2ZUNsYXNzYCBhZGQgc3ViY2xhc3MgdG8gYXJjaGl2ZS91bmFyY2hpdmUgb2JqZWN0XG4gKi9cbmNsYXNzIEJhc2VBcmNoaXZlSGFuZGxlciB7XG4gIC8qKlxuICAgKiBAcGFyYW0ge0FyY2hpdmVkT2JqZWN0fSBhcmNoaXZlXG4gICAqL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcbiAgZGVjb2RlQXJjaGl2ZSAoYXJjaGl2ZSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgRGlkIG5vdCBrbm93IGhvdyB0byBkZWNvZGUgdGhlIG9iamVjdGApO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvYmogIGFuIGluc3RhbmNlIG9mIHRoaXMgY2xhc3NcbiAgICogQHBhcmFtIHtBcmNoaXZpbmdPYmplY3R9IGFyY2hpdmVcbiAgICovXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFyc1xuICBlbmNvZGVBcmNoaXZlIChvYmosIGFyY2hpdmUpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYERpZCBub3Qga25vdyBob3cgdG8gZW5jb2RlIHRoZSBvYmplY3RgKTtcbiAgfVxufVxuXG4vKipcbiAqIFwiRGVsZWdhdGUgZm9yIHBhY2tpbmcvdW5wYWNraW5nIE5TKE11dGFibGUpRGljdGlvbmFyeSBvYmplY3RzXCJcbiAqL1xuY2xhc3MgRGljdEFyY2hpdmUgZXh0ZW5kcyBCYXNlQXJjaGl2ZUhhbmRsZXIge1xuICBkZWNvZGVBcmNoaXZlIChhcmNoaXZlKSB7XG4gICAgY29uc3Qga2V5VWlkcyA9IGFyY2hpdmUuZGVjb2RlKCdOUy5rZXlzJyk7XG4gICAgY29uc3QgdmFsVWlkcyA9IGFyY2hpdmUuZGVjb2RlKCdOUy5vYmplY3RzJyk7XG4gICAgY29uc3QgZCA9IHt9O1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwga2V5VWlkcy5sZW5ndGggOyBpKyspIHtcbiAgICAgIGNvbnN0IGtleSA9IGFyY2hpdmUuZGVjb2RlSW5kZXgoa2V5VWlkc1tpXSk7XG4gICAgICBkW2tleV0gPSBhcmNoaXZlLmRlY29kZUluZGV4KHZhbFVpZHNbaV0pO1xuICAgIH1cbiAgICByZXR1cm4gZDtcbiAgfVxufVxuXG4vKipcbiAqIERlbGVnYXRlIGZvciBwYWNraW5nL3VucGFja2luZyBOUyhNdXRhYmxlKUFycmF5IG9iamVjdHNcbiAqL1xuY2xhc3MgTGlzdEFyY2hpdmUgZXh0ZW5kcyBCYXNlQXJjaGl2ZUhhbmRsZXIge1xuICBkZWNvZGVBcmNoaXZlIChhcmNoaXZlKSB7XG4gICAgY29uc3QgdWlkcyA9IGFyY2hpdmUuZGVjb2RlKCdOUy5vYmplY3RzJyk7XG4gICAgcmV0dXJuIHVpZHMubWFwKGFyY2hpdmUuZGVjb2RlSW5kZXguYmluZChhcmNoaXZlKSk7XG4gIH1cbn1cblxuY2xhc3MgRFRUYXBNZXNzYWdlUGxpc3QgZXh0ZW5kcyBCYXNlQXJjaGl2ZUhhbmRsZXIge1xuICBkZWNvZGVBcmNoaXZlIChhcmNoaXZlKSB7XG4gICAgcmV0dXJuIGFyY2hpdmUuZGVjb2RlKCdEVFRhcE1lc3NhZ2VQbGlzdCcpO1xuICB9XG59XG5cbmNsYXNzIE5TRXJyb3IgZXh0ZW5kcyBCYXNlQXJjaGl2ZUhhbmRsZXIge1xuICBkZWNvZGVBcmNoaXZlIChhcmNoaXZlKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICckY2xhc3MnOiAnTlNFcnJvcicsXG4gICAgICAnZG9tYWluJzogYXJjaGl2ZS5kZWNvZGUoJ05TRG9tYWluJyksXG4gICAgICAndXNlcmluZm8nOiBhcmNoaXZlLmRlY29kZSgnTlNVc2VySW5mbycpLFxuICAgICAgJ2NvZGUnOiBhcmNoaXZlLmRlY29kZSgnTlNDb2RlJylcbiAgICB9O1xuICB9XG59XG5cbmNsYXNzIE5TRXhjZXB0aW9uIGV4dGVuZHMgQmFzZUFyY2hpdmVIYW5kbGVyIHtcbiAgZGVjb2RlQXJjaGl2ZSAoYXJjaGl2ZSkge1xuICAgIHJldHVybiB7XG4gICAgICAnJGNsYXNzJzogJ05TRXhjZXB0aW9uJyxcbiAgICAgICdyZWFzb24nOiBhcmNoaXZlLmRlY29kZSgnTlMucmVhc29uJyksXG4gICAgICAndXNlcmluZm8nOiBhcmNoaXZlLmRlY29kZSgndXNlcmluZm8nKSxcbiAgICAgICduYW1lJzogYXJjaGl2ZS5kZWNvZGUoJ05TLm5hbWUnKVxuICAgIH07XG4gIH1cbn1cblxuY2xhc3MgTlNVUkwgZXh0ZW5kcyBCYXNlQXJjaGl2ZUhhbmRsZXIge1xuICAvKipcbiAgICogQHBhcmFtIHsqfSBiYXNlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSByZWxhdGl2ZSB1c3VhbGx5IGlvcyBkZXZpY2UgcmVsYXRpdmUgcGF0aCBlLmc6IGZpbGU6Ly94eC9cbiAgICovXG4gIGNvbnN0cnVjdG9yIChiYXNlLCByZWxhdGl2ZSkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5fYmFzZSA9IGJhc2U7XG4gICAgdGhpcy5fcmVsYXRpdmUgPSByZWxhdGl2ZTtcbiAgfVxuXG4gIGRlY29kZUFyY2hpdmUgKGFyY2hpdmUpIHtcbiAgICByZXR1cm4geyRjbGFzczogJ05TVVJMJywgYmFzZTogYXJjaGl2ZS5kZWNvZGUoJ05TLmJhc2UnKSwgcmVsYXRpdmU6IGFyY2hpdmUuZGVjb2RlKCdOUy5yZWxhdGl2ZScpfTtcbiAgfVxuXG4gIGVuY29kZUFyY2hpdmUgKG9iaiwgYXJjaGl2ZSkge1xuICAgIGFyY2hpdmUuZW5jb2RlKCdOUy5iYXNlJywgb2JqLl9iYXNlKTtcbiAgICBhcmNoaXZlLmVuY29kZSgnTlMucmVsYXRpdmUnLCBvYmouX3JlbGF0aXZlKTtcbiAgfVxufVxuXG5jbGFzcyBOU0RhdGUgZXh0ZW5kcyBCYXNlQXJjaGl2ZUhhbmRsZXIge1xuICAvKipcbiAgICogQHBhcmFtIHtudW1iZXJ9IGRhdGEgdGltZXN0YW1wIGluIHNlY29uZHNcbiAgICovXG4gIGNvbnN0cnVjdG9yIChkYXRhKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLl9kYXRhID0gZGF0YTtcbiAgfVxuXG4gIGRlY29kZUFyY2hpdmUgKGFyY2hpdmUpIHtcbiAgICByZXR1cm4gVU5JWDJBUFBMRV9USU1FU1RBTVBfU0VDT05EICsgYXJjaGl2ZS5kZWNvZGUoJ05TLnRpbWUnKTtcbiAgfVxuXG4gIGVuY29kZUFyY2hpdmUgKG9iaiwgYXJjaGl2ZSkge1xuICAgIGFyY2hpdmUuZW5jb2RlKCdOUy50aW1lJywgb2JqLl9kYXRhIC0gVU5JWDJBUFBMRV9USU1FU1RBTVBfU0VDT05EKTtcbiAgfVxufVxuXG5jbGFzcyBOU011dGFibGVTdHJpbmcgZXh0ZW5kcyBCYXNlQXJjaGl2ZUhhbmRsZXIge1xuICBkZWNvZGVBcmNoaXZlIChhcmNoaXZlKSB7XG4gICAgcmV0dXJuIGFyY2hpdmUuZGVjb2RlKCdOUy5zdHJpbmcnKTtcbiAgfVxufVxuXG5jbGFzcyBOU011dGFibGVEYXRhIGV4dGVuZHMgQmFzZUFyY2hpdmVIYW5kbGVyIHtcbiAgZGVjb2RlQXJjaGl2ZSAoYXJjaGl2ZSkge1xuICAgIHJldHVybiBhcmNoaXZlLmRlY29kZSgnTlMuZGF0YScpO1xuICB9XG59XG5cbmNsYXNzIE5TVVVJRCBleHRlbmRzIEJhc2VBcmNoaXZlSGFuZGxlciB7XG4gIC8qKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gZGF0YSB1dWlkIGZvcm1hdCBkYXRhIGUuZzowMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMDAwMDBcbiAgICovXG4gIGNvbnN0cnVjdG9yIChkYXRhKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLl9kYXRhID0gZGF0YTtcbiAgfVxuXG4gIGRlY29kZUFyY2hpdmUgKGFyY2hpdmUpIHtcbiAgICByZXR1cm4gdXVpZFN0cmluZ2lmeShhcmNoaXZlLmRlY29kZSgnTlMudXVpZGJ5dGVzJykpO1xuICB9XG5cbiAgZW5jb2RlQXJjaGl2ZSAob2JqLCBhcmNoaXZlKSB7XG4gICAgYXJjaGl2ZS5fYXJjaGl2ZU9ialsnTlMudXVpZGJ5dGVzJ10gPSBCdWZmZXIuZnJvbSh1dWlkUGFyc2Uob2JqLl9kYXRhKS5idWZmZXIpO1xuICB9XG59XG5cbmNsYXNzIFhDVENhcGFiaWxpdGllcyBleHRlbmRzIEJhc2VBcmNoaXZlSGFuZGxlciB7XG4gIGRlY29kZUFyY2hpdmUgKGFyY2hpdmUpIHtcbiAgICByZXR1cm4gYXJjaGl2ZS5kZWNvZGUoJ2NhcGFiaWxpdGllcy1kaWN0aW9uYXJ5Jyk7XG4gIH1cbn1cblxuY2xhc3MgTlNOdWxsIGV4dGVuZHMgQmFzZUFyY2hpdmVIYW5kbGVyIHtcbiAgZGVjb2RlQXJjaGl2ZSAoKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn1cblxuLyoqXG4gKiBkZWNvZGUgYW5kIGVuY29kZSBBcmNoaXZlIG9mIGN1cnJlbnRseSBrbm93biBkYXRhIGZvcm1hdHNcbiAqL1xuY29uc3QgVU5BUkNISVZFX0NMQVNTX01BUCA9IHtcbiAgRFRUYXBNZXNzYWdlUGxpc3QsXG4gIERUU3lzbW9uVGFwTWVzc2FnZTogRFRUYXBNZXNzYWdlUGxpc3QsXG4gIERUVGFwSGVhcnRiZWF0TWVzc2FnZTogRFRUYXBNZXNzYWdlUGxpc3QsXG4gIERUVGFwTWVzc2FnZUFyY2hpdmU6IERUVGFwTWVzc2FnZVBsaXN0LFxuICBEVEtUcmFjZVRhcE1lc3NhZ2U6IERUVGFwTWVzc2FnZVBsaXN0LFxuICBFcnJvckFyY2hpdmU6IE5TRXJyb3IsXG4gIEV4Y2VwdGlvbkFyY2hpdmU6IE5TRXhjZXB0aW9uLFxuICBOU0RpY3Rpb25hcnk6IERpY3RBcmNoaXZlLFxuICBOU011dGFibGVEaWN0aW9uYXJ5OiBEaWN0QXJjaGl2ZSxcbiAgTlNBcnJheTogTGlzdEFyY2hpdmUsXG4gIE5TTXV0YWJsZUFycmF5OiBMaXN0QXJjaGl2ZSxcbiAgTlNNdXRhYmxlU2V0OiBMaXN0QXJjaGl2ZSxcbiAgTlNTZXQ6IExpc3RBcmNoaXZlLFxuICBOU0RhdGUsXG4gIE5TRXJyb3IsXG4gIE5TRXhjZXB0aW9uLFxuICBOU011dGFibGVTdHJpbmcsXG4gIE5TTXV0YWJsZURhdGEsXG4gIE5TTnVsbCxcbiAgTlNVVUlELFxuICBOU1VSTCxcbiAgWENUQ2FwYWJpbGl0aWVzXG59O1xuXG4vKipcbiAqIENhcGFibGUgb2YgdW5wYWNraW5nIGFuIGFyY2hpdmVkIG9iamVjdCB0cmVlIGluIHRoZSBOU0tleWVkQXJjaGl2ZSBmb3JtYXQuXG4gKiBBcHBsZSdzIGltcGxlbWVudGF0aW9uIGNhbiBiZSBmb3VuZCBoZXJlOlxuICogaHR0cHM6Ly9naXRodWIuY29tL2FwcGxlL3N3aWZ0LWNvcmVsaWJzLWZvdW5kYXRpb24vYmxvYi9tYWluL1NvdXJjZXMvRm91bmRhdGlvbi9OU0tleWVkVW5hcmNoaXZlci5zd2lmdFxuICovXG5jbGFzcyBVbmFyY2hpdmUge1xuICBjb25zdHJ1Y3RvciAoaW5wdXRCeXRlcykge1xuICAgIHRoaXMuaW5wdXQgPSBpbnB1dEJ5dGVzO1xuICAgIHRoaXMudW5wYWNrZWRVaWRzID0ge307XG4gICAgdGhpcy50b3BVSUQgPSBOVUxMX1VJRDtcbiAgICB0aGlzLm9iamVjdHMgPSBbXTtcbiAgfVxuXG4gIHVucGFja0FyY2hpdmVIZWFkZXIgKCkge1xuICAgIGNvbnN0IHBsaXN0ID0gcGxpc3RsaWIucGFyc2VCdWZmZXIodGhpcy5pbnB1dClbMF07XG4gICAgaWYgKHBsaXN0LiRhcmNoaXZlciAhPT0gTlNLRVlFREFSQ0hJVkVSKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYHVuc3VwcG9ydGVkIGVuY29kZXI6ICR7cGxpc3QuJGFyY2hpdmVyfWApO1xuICAgIH1cbiAgICBpZiAocGxpc3QuJHZlcnNpb24gIT09IE5TS0VZRURfQVJDSElWRV9WRVJTSU9OKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYGV4cGVjdGVkICR7TlNLRVlFRF9BUkNISVZFX1ZFUlNJT059LCBnb3QgJHtwbGlzdC4kdmVyc2lvbiB9YCk7XG4gICAgfVxuICAgIGNvbnN0IHRvcCA9IHBsaXN0LiR0b3A7XG4gICAgY29uc3QgdG9wVUlEID0gdG9wLnJvb3Q7XG4gICAgaWYgKCF0b3BVSUQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgdG9wIG9iamVjdCBkaWQgbm90IGhhdmUgYSBVSUQhIGR1bXA6ICR7SlNPTi5zdHJpbmdpZnkodG9wKX1gKTtcbiAgICB9XG4gICAgdGhpcy50b3BVSUQgPSB0b3BVSUQ7XG4gICAgdGhpcy5vYmplY3RzID0gcGxpc3QuJG9iamVjdHM7XG4gIH1cblxuICAvKipcbiAgICogdXNlIHRoZSBVTkFSQ0hJVkVfQ0xBU1NfTUFQIHRvIGZpbmQgdGhlIHVuYXJjaGl2aW5nIGRlbGVnYXRlIG9mIGEgdWlkXG4gICAqL1xuICBjbGFzc0ZvclVpZCAoaW5kZXgpIHtcbiAgICBjb25zdCBtZXRhID0gdGhpcy5vYmplY3RzW2luZGV4LlVJRF07XG4gICAgY29uc3QgbmFtZSA9IG1ldGEuJGNsYXNzbmFtZTtcbiAgICBjb25zdCBrbGFzcyA9IFVOQVJDSElWRV9DTEFTU19NQVBbbmFtZV07XG4gICAgaWYgKCFrbGFzcykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBubyBtYXBwaW5nIGZvciAke25hbWV9IGluIFVOQVJDSElWRV9DTEFTU19NQVBgKTtcbiAgICB9XG4gICAgcmV0dXJuIGtsYXNzO1xuICB9XG5cbiAgZGVjb2RlS2V5IChvYmosIGtleSkge1xuICAgIGNvbnN0IHZhbCA9IG9ialtrZXldO1xuICAgIHJldHVybiBfLmlzTmlsKHZhbD8uVUlEKSA/IHZhbCA6IHRoaXMuZGVjb2RlT2JqZWN0KHZhbCk7XG4gIH1cblxuICBkZWNvZGVPYmplY3QgKGluZGV4KSB7XG4gICAgaWYgKGluZGV4ID09PSBOVUxMX1VJRCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGNvbnN0IG9iaiA9IHRoaXMudW5wYWNrZWRVaWRzW2luZGV4XTtcbiAgICBpZiAob2JqID09PSBDWUNMRV9UT0tFTikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBhcmNoaXZlIGhhcyBhIGN5Y2xlIHdpdGggJHtpbmRleH1gKTtcbiAgICB9XG4gICAgaWYgKCFfLmlzVW5kZWZpbmVkKG9iaikpIHtcbiAgICAgIHJldHVybiBvYmo7XG4gICAgfVxuICAgIGNvbnN0IHJhd09iaiA9IHRoaXMub2JqZWN0c1tpbmRleC5VSURdO1xuICAgIHRoaXMudW5wYWNrZWRVaWRzW2luZGV4LlVJRF0gPSBDWUNMRV9UT0tFTjtcblxuICAgIGlmICghcmF3T2JqPy4kY2xhc3MpIHtcbiAgICAgIHRoaXMudW5wYWNrZWRVaWRzW2luZGV4LlVJRF0gPSBvYmo7XG4gICAgICByZXR1cm4gcmF3T2JqO1xuICAgIH1cbiAgICBjb25zdCBrbGFzcyA9IHRoaXMuY2xhc3NGb3JVaWQocmF3T2JqLiRjbGFzcyk7XG4gICAgY29uc3Qga2xhc3NPYmogPSBuZXcga2xhc3MoKS5kZWNvZGVBcmNoaXZlKG5ldyBBcmNoaXZlZE9iamVjdChyYXdPYmosIHRoaXMpKTtcbiAgICB0aGlzLnVucGFja2VkVWlkc1tpbmRleC5VSURdID0ga2xhc3NPYmo7XG4gICAgcmV0dXJuIGtsYXNzT2JqO1xuICB9XG5cbiAgdG9PYmplY3QgKCkge1xuICAgIHRoaXMudW5wYWNrQXJjaGl2ZUhlYWRlcigpO1xuICAgIHJldHVybiB0aGlzLmRlY29kZU9iamVjdCh0aGlzLnRvcFVJRCk7XG4gIH1cbn1cblxuLyoqXG4gKiBDYXBhYmxlIG9mIHBhY2tpbmcgYW4gb2JqZWN0IHRyZWUgaW50byB0aGUgTlNLZXllZEFyY2hpdmUgZm9ybWF0LlxuICogQXBwbGUncyBpbXBsZW1lbnRhdGlvbiBjYW4gYmUgZm91bmQgaGVyZTpcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9hcHBsZS9zd2lmdC1jb3JlbGlicy1mb3VuZGF0aW9uL2Jsb2IvbWFpbi9Tb3VyY2VzL0ZvdW5kYXRpb24vTlNLZXllZEFyY2hpdmVyLnN3aWZ0XG4gKi9cbmNsYXNzIEFyY2hpdmUge1xuICBjb25zdHJ1Y3RvciAoaW5wdXRPYmplY3QpIHtcbiAgICB0aGlzLmlucHV0ID0gaW5wdXRPYmplY3Q7XG4gICAgdGhpcy5jbGFzc01hcCA9IHt9O1xuICAgIHRoaXMub2JqZWN0cyA9IFsnJG51bGwnXTsgLy8gb2JqZWN0cyB0aGF0IGdvIGRpcmVjdGx5IGludG8gdGhlIGFyY2hpdmUsIGFsd2F5cyBzdGFydCB3aXRoICRudWxsXG4gIH1cblxuICB1aWRGb3JBcmNoaXZlciAoYXJjaGl2ZXIpIHtcbiAgICBsZXQgdmFsID0gdGhpcy5jbGFzc01hcFthcmNoaXZlcl07XG4gICAgaWYgKHZhbCkge1xuICAgICAgcmV0dXJuIG5ldyBwbGlzdGxpYi5VSUQodmFsKTtcbiAgICB9XG4gICAgdGhpcy5jbGFzc01hcFthcmNoaXZlcl0gPSB0aGlzLm9iamVjdHMubGVuZ3RoO1xuICAgIHZhbCA9IG5ldyBwbGlzdGxpYi5VSUQodGhpcy5vYmplY3RzLmxlbmd0aCk7XG4gICAgdGhpcy5vYmplY3RzLnB1c2goe1xuICAgICAgJyRjbGFzc2VzJzogW2FyY2hpdmVyXSxcbiAgICAgICckY2xhc3NuYW1lJzogYXJjaGl2ZXJcbiAgICB9KTtcbiAgICByZXR1cm4gdmFsO1xuICB9XG5cbiAgYXJjaGl2ZSAob2JqKSB7XG4gICAgaWYgKF8uaXNVbmRlZmluZWQob2JqKSB8fCBfLmlzTnVsbChvYmopKSB7XG4gICAgICByZXR1cm4gTlVMTF9VSUQ7XG4gICAgfVxuICAgIGNvbnN0IGluZGV4ID0gbmV3IHBsaXN0bGliLlVJRCh0aGlzLm9iamVjdHMubGVuZ3RoKTtcbiAgICBpZiAoUFJJTUlUSVZFX1RZUEVTLmluY2x1ZGVzKG9iai5jb25zdHJ1Y3Rvci5uYW1lKSkge1xuICAgICAgdGhpcy5vYmplY3RzLnB1c2gob2JqKTtcbiAgICAgIHJldHVybiBpbmRleDtcbiAgICB9XG4gICAgY29uc3QgYXJjaGl2ZU9iaiA9IHt9O1xuICAgIHRoaXMub2JqZWN0cy5wdXNoKGFyY2hpdmVPYmopO1xuICAgIHRoaXMuZW5jb2RlVG9wTGV2ZWwob2JqLCBhcmNoaXZlT2JqKTtcbiAgICByZXR1cm4gaW5kZXg7XG4gIH1cblxuICBlbmNvZGUgKHZhbCkge1xuICAgIGlmIChOT05fRU5DT0RBQkxFX1RZUEVTLmluY2x1ZGVzKHR5cGVvZiB2YWwpKSB7XG4gICAgICByZXR1cm4gdmFsO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5hcmNoaXZlKHZhbCk7XG4gIH1cblxuICBlbmNvZGVUb3BMZXZlbCAob2JqLCBhcmNoaXZlT2JqKSB7XG4gICAgaWYgKG9iaiBpbnN0YW5jZW9mIEFycmF5KSB7XG4gICAgICByZXR1cm4gdGhpcy5lbmNvZGVBcnJheShvYmosIGFyY2hpdmVPYmopO1xuICAgIH0gZWxzZSBpZiAob2JqIGluc3RhbmNlb2YgU2V0KSB7XG4gICAgICByZXR1cm4gdGhpcy5lbmNvZGVTZXQob2JqLCBhcmNoaXZlT2JqKTtcbiAgICB9IGVsc2UgaWYgKG9iaiBpbnN0YW5jZW9mIE9iamVjdCkge1xuICAgICAgY29uc3Qgb2JqTmFtZSA9IG9iai5jb25zdHJ1Y3Rvci5uYW1lO1xuICAgICAgLy8gT25seSBzcGVjaWFsIGNsYXNzIGluc3RhbmNlIGFyZSB1c2VmdWwsIHN1Y2ggYXMgTlNVUkwsIE5TVVVJRCwgTlNEYXRlLlxuICAgICAgLy8gQW5kIHRoaXMgY2xhc3MgbXVzdCBhbHNvIGhhdmUgdGhlIGVuY29kZUFyY2hpdmUgbWV0aG9kXG4gICAgICBpZiAob2JqTmFtZSBpbiBVTkFSQ0hJVkVfQ0xBU1NfTUFQKSB7XG4gICAgICAgIGFyY2hpdmVPYmouJGNsYXNzID0gdGhpcy51aWRGb3JBcmNoaXZlcihvYmpOYW1lKTtcbiAgICAgICAgb2JqLmVuY29kZUFyY2hpdmUob2JqLCBuZXcgQXJjaGl2aW5nT2JqZWN0KGFyY2hpdmVPYmosIHRoaXMpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiB0aGlzLmVuY29kZURpY3Qob2JqLCBhcmNoaXZlT2JqKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgRXJyb3IoYFVuYWJsZSB0byBlbmNvZGUgdHlwZXM6ICR7dHlwZW9mIG9ian1gKTtcbiAgICB9XG4gIH1cblxuICBlbmNvZGVBcnJheSAob2JqcywgYXJjaGl2ZU9iaikge1xuICAgIGFyY2hpdmVPYmouJGNsYXNzID0gdGhpcy51aWRGb3JBcmNoaXZlcignTlNBcnJheScpO1xuICAgIGFyY2hpdmVPYmpbJ05TLm9iamVjdHMnXSA9IG9ianMubWFwKHRoaXMuYXJjaGl2ZS5iaW5kKHRoaXMpKTtcbiAgfVxuXG4gIGVuY29kZVNldCAob2JqcywgYXJjaGl2ZU9iaikge1xuICAgIGFyY2hpdmVPYmouJGNsYXNzID0gdGhpcy51aWRGb3JBcmNoaXZlcignTlNTZXQnKTtcbiAgICBhcmNoaXZlT2JqWydOUy5vYmplY3RzJ10gPSBvYmpzLm1hcCh0aGlzLmFyY2hpdmUuYmluZCh0aGlzKSk7XG4gIH1cblxuICBlbmNvZGVEaWN0IChvYmosIGFyY2hpdmVPYmopIHtcbiAgICBhcmNoaXZlT2JqLiRjbGFzcyA9IHRoaXMudWlkRm9yQXJjaGl2ZXIoJ05TRGljdGlvbmFyeScpO1xuICAgIGFyY2hpdmVPYmpbJ05TLmtleXMnXSA9IF8ua2V5cyhvYmopLm1hcCh0aGlzLmFyY2hpdmUuYmluZCh0aGlzKSk7XG4gICAgYXJjaGl2ZU9ialsnTlMub2JqZWN0cyddID0gXy52YWx1ZXMob2JqKS5tYXAodGhpcy5hcmNoaXZlLmJpbmQodGhpcykpO1xuICB9XG5cbiAgdG9CeXRlcyAoKSB7XG4gICAgaWYgKHRoaXMub2JqZWN0cy5sZW5ndGggPT09IDEpIHtcbiAgICAgIHRoaXMuYXJjaGl2ZSh0aGlzLmlucHV0KTtcbiAgICB9XG4gICAgY29uc3QgZCA9IHtcbiAgICAgICckdmVyc2lvbic6IE5TS0VZRURfQVJDSElWRV9WRVJTSU9OLFxuICAgICAgJyRhcmNoaXZlcic6IE5TS0VZRURBUkNISVZFUixcbiAgICAgICckdG9wJzogeydyb290JzogbmV3IHBsaXN0bGliLlVJRCgxKX0sXG4gICAgICAnJG9iamVjdHMnOiB0aGlzLm9iamVjdHNcbiAgICB9O1xuICAgIHJldHVybiBicGxpc3RDcmVhdGUoZCk7XG4gIH1cbn1cblxuLyoqXG4gKiBDcmVhdGVzIE5TS2V5ZWQgQnVmZmVyIGZyb20gYW4gb2JqZWN0XG4gKiBAcGFyYW0ge09iamVjdH0gaW5wdXRPYmplY3RcbiAqIEByZXR1cm5zIHtCdWZmZXJ9IE5TS2V5ZWQgQnVmZmVyXG4gKi9cbmZ1bmN0aW9uIGFyY2hpdmUgKGlucHV0T2JqZWN0KSB7XG4gIHJldHVybiBuZXcgQXJjaGl2ZShpbnB1dE9iamVjdCkudG9CeXRlcygpO1xufVxuXG4vKipcbiAqIFBhcnNlcyBOU0tleWVkIEJ1ZmZlciBpbnRvIEpTIE9iamVjdFxuICogQHBhcmFtIHtCdWZmZXJ9IGlucHV0Qnl0ZXMgTlNLZXllZCBCdWZmZXJcbiAqIEByZXR1cm5zIHtPYmplY3R9IEpTIE9iamVjdFxuICovXG5mdW5jdGlvbiB1bmFyY2hpdmUgKGlucHV0Qnl0ZXMpIHtcbiAgcmV0dXJuIG5ldyBVbmFyY2hpdmUoaW5wdXRCeXRlcykudG9PYmplY3QoKTtcbn1cblxuLyoqXG4gKiBVcGRhdGUgdW5rbm93biBOU0tleWVkQXJjaGl2ZSB0eXBlcyBmb3IgcGFja2luZy91bnBhY2tpbmdcbiAqIEBwYXJhbSB7U3RyaW5nfSBuYW1lIHBhY2tpbmcvdW5wYWNraW5nIGtleSBuYW1lXG4gKiBAcGFyYW0ge0Jhc2VBcmNoaXZlSGFuZGxlcn0gc3ViQ2xhc3MgaW5oZXJpdCBmcm9tIEJhc2VBcmNoaXZlSGFuZGxlciBjbGFzc1xuICovXG5mdW5jdGlvbiB1cGRhdGVOU0tleWVkQXJjaGl2ZUNsYXNzIChuYW1lLCBzdWJDbGFzcykge1xuICBpZiAoIV8uaXNGdW5jdGlvbihzdWJDbGFzcy5wcm90b3R5cGU/LmRlY29kZUFyY2hpdmUpICYmICFfLmlzRnVuY3Rpb24oc3ViQ2xhc3MucHJvdG90eXBlPy5lbmNvZGVBcmNoaXZlKSkge1xuICAgIHRocm93IEVycm9yKCdzdWJDbGFzcyBtdXN0IGhhdmUgZGVjb2RlQXJjaGl2ZSBvciBlbmNvZGVBcmNoaXZlIG1ldGhvZHMnKTtcbiAgfVxuICBpZiAoIShuYW1lIGluIFVOQVJDSElWRV9DTEFTU19NQVApKSB7XG4gICAgVU5BUkNISVZFX0NMQVNTX01BUFtuYW1lXSA9IHN1YkNsYXNzO1xuICB9XG59XG5cbmV4cG9ydCB7IHVwZGF0ZU5TS2V5ZWRBcmNoaXZlQ2xhc3MsIEJhc2VBcmNoaXZlSGFuZGxlciwgTlNVUkwsIE5TVVVJRCwgTlNEYXRlLCB1bmFyY2hpdmUsIGFyY2hpdmV9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUVBLE1BQU1BLHVCQUF1QixHQUFHLE1BQWhDO0FBQ0EsTUFBTUMsUUFBUSxHQUFHLElBQUlDLHFCQUFBLENBQVNDLEdBQWIsQ0FBaUIsQ0FBakIsQ0FBakI7QUFDQSxNQUFNQyxXQUFXLEdBQUcsWUFBcEI7QUFDQSxNQUFNQyxlQUFlLEdBQUcsQ0FBQyxRQUFELEVBQVcsUUFBWCxFQUFxQixTQUFyQixFQUFnQyxLQUFoQyxFQUF1QyxRQUF2QyxDQUF4QjtBQUNBLE1BQU1DLG1CQUFtQixHQUFHLENBQUMsUUFBRCxFQUFX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
|
|
443
|
+
}
|
|
444
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJOU0tFWUVEX0FSQ0hJVkVfVkVSU0lPTiIsIk5VTExfVUlEIiwicGxpc3RsaWIiLCJVSUQiLCJDWUNMRV9UT0tFTiIsIlBSSU1JVElWRV9UWVBFUyIsIk5PTl9FTkNPREFCTEVfVFlQRVMiLCJOU0tFWUVEQVJDSElWRVIiLCJVTklYMkFQUExFX1RJTUVTVEFNUF9TRUNPTkQiLCJBcmNoaXZlZE9iamVjdCIsImNvbnN0cnVjdG9yIiwib2JqZWN0IiwidW5hcmNoaXZlciIsIl91bmFyY2hpdmVyIiwiZGVjb2RlSW5kZXgiLCJpbmRleCIsImRlY29kZU9iamVjdCIsImRlY29kZSIsImtleSIsImRlY29kZUtleSIsIkFyY2hpdmluZ09iamVjdCIsImFyY2hpdmVyIiwiX2FyY2hpdmVPYmoiLCJfYXJjaGl2ZXIiLCJlbmNvZGUiLCJ2YWwiLCJCYXNlQXJjaGl2ZUhhbmRsZXIiLCJkZWNvZGVBcmNoaXZlIiwiYXJjaGl2ZSIsIkVycm9yIiwiZW5jb2RlQXJjaGl2ZSIsIm9iaiIsIkRpY3RBcmNoaXZlIiwia2V5VWlkcyIsInZhbFVpZHMiLCJkIiwiaSIsImxlbmd0aCIsIkxpc3RBcmNoaXZlIiwidWlkcyIsIm1hcCIsImJpbmQiLCJEVFRhcE1lc3NhZ2VQbGlzdCIsIk5TRXJyb3IiLCJOU0V4Y2VwdGlvbiIsIk5TVVJMIiwiYmFzZSIsInJlbGF0aXZlIiwiX2Jhc2UiLCJfcmVsYXRpdmUiLCIkY2xhc3MiLCJOU0RhdGUiLCJkYXRhIiwiX2RhdGEiLCJOU011dGFibGVTdHJpbmciLCJOU011dGFibGVEYXRhIiwiTlNVVUlEIiwidXVpZFN0cmluZ2lmeSIsIkJ1ZmZlciIsImZyb20iLCJ1dWlkUGFyc2UiLCJidWZmZXIiLCJYQ1RDYXBhYmlsaXRpZXMiLCJOU051bGwiLCJVTkFSQ0hJVkVfQ0xBU1NfTUFQIiwiRFRTeXNtb25UYXBNZXNzYWdlIiwiRFRUYXBIZWFydGJlYXRNZXNzYWdlIiwiRFRUYXBNZXNzYWdlQXJjaGl2ZSIsIkRUS1RyYWNlVGFwTWVzc2FnZSIsIkVycm9yQXJjaGl2ZSIsIkV4Y2VwdGlvbkFyY2hpdmUiLCJOU0RpY3Rpb25hcnkiLCJOU011dGFibGVEaWN0aW9uYXJ5IiwiTlNBcnJheSIsIk5TTXV0YWJsZUFycmF5IiwiTlNNdXRhYmxlU2V0IiwiTlNTZXQiLCJVbmFyY2hpdmUiLCJpbnB1dEJ5dGVzIiwiaW5wdXQiLCJ1bnBhY2tlZFVpZHMiLCJ0b3BVSUQiLCJvYmplY3RzIiwidW5wYWNrQXJjaGl2ZUhlYWRlciIsInBsaXN0IiwicGFyc2VCdWZmZXIiLCIkYXJjaGl2ZXIiLCIkdmVyc2lvbiIsInRvcCIsIiR0b3AiLCJyb290IiwiSlNPTiIsInN0cmluZ2lmeSIsIiRvYmplY3RzIiwiY2xhc3NGb3JVaWQiLCJtZXRhIiwibmFtZSIsIiRjbGFzc25hbWUiLCJrbGFzcyIsIl8iLCJpc05pbCIsImlzVW5kZWZpbmVkIiwicmF3T2JqIiwia2xhc3NPYmoiLCJ0b09iamVjdCIsIkFyY2hpdmUiLCJpbnB1dE9iamVjdCIsImNsYXNzTWFwIiwidWlkRm9yQXJjaGl2ZXIiLCJwdXNoIiwiaXNOdWxsIiwiaW5jbHVkZXMiLCJhcmNoaXZlT2JqIiwiZW5jb2RlVG9wTGV2ZWwiLCJBcnJheSIsImVuY29kZUFycmF5IiwiU2V0IiwiZW5jb2RlU2V0IiwiT2JqZWN0Iiwib2JqTmFtZSIsImVuY29kZURpY3QiLCJvYmpzIiwia2V5cyIsInZhbHVlcyIsInRvQnl0ZXMiLCJicGxpc3RDcmVhdGUiLCJ1bmFyY2hpdmUiLCJ1cGRhdGVOU0tleWVkQXJjaGl2ZUNsYXNzIiwic3ViQ2xhc3MiLCJpc0Z1bmN0aW9uIiwicHJvdG90eXBlIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGliL2luc3RydW1lbnQvdHJhbnNmb3JtZXIvbnNrZXllZC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgcGxpc3RsaWIgZnJvbSAnYnBsaXN0LXBhcnNlcic7XG5pbXBvcnQgYnBsaXN0Q3JlYXRlIGZyb20gJ2JwbGlzdC1jcmVhdG9yJztcbmltcG9ydCB7cGFyc2UgYXMgdXVpZFBhcnNlLCBzdHJpbmdpZnkgYXMgdXVpZFN0cmluZ2lmeX0gZnJvbSAndXVpZCc7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuXG5jb25zdCBOU0tFWUVEX0FSQ0hJVkVfVkVSU0lPTiA9IDEwMF8wMDA7XG5jb25zdCBOVUxMX1VJRCA9IG5ldyBwbGlzdGxpYi5VSUQoMCk7XG5jb25zdCBDWUNMRV9UT0tFTiA9ICdDeWNsZVRva2VuJztcbmNvbnN0IFBSSU1JVElWRV9UWVBFUyA9IFsnTnVtYmVyJywgJ1N0cmluZycsICdCb29sZWFuJywgJ1VJRCcsICdCdWZmZXInXTtcbmNvbnN0IE5PTl9FTkNPREFCTEVfVFlQRVMgPSBbJ251bWJlcicsICdib29sZWFuJ107XG5jb25zdCBOU0tFWUVEQVJDSElWRVIgPSAnTlNLZXllZEFyY2hpdmVyJztcbmNvbnN0IFVOSVgyQVBQTEVfVElNRVNUQU1QX1NFQ09ORCA9IDk3ODMwNzIwMDtcblxuXG5jbGFzcyBBcmNoaXZlZE9iamVjdCB7XG4gIC8qKlxuICAgKiBTdGF0ZWZ1bCB3cmFwcGVyIGFyb3VuZCBBcmNoaXZlIGZvciBhbiBvYmplY3QgYmVpbmcgYXJjaGl2ZWQuXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3RcbiAgICogQHBhcmFtIHtVbmFyY2hpdmV9IHVuYXJjaGl2ZXJcbiAgICogQGNvbnN0cnVjdG9yXG4gICAqL1xuICBjb25zdHJ1Y3RvciAob2JqZWN0LCB1bmFyY2hpdmVyKSB7XG4gICAgdGhpcy5vYmplY3QgPSBvYmplY3Q7XG4gICAgdGhpcy5fdW5hcmNoaXZlciA9IHVuYXJjaGl2ZXI7XG4gIH1cblxuICBkZWNvZGVJbmRleCAoaW5kZXgpIHtcbiAgICByZXR1cm4gdGhpcy5fdW5hcmNoaXZlci5kZWNvZGVPYmplY3QoaW5kZXgpO1xuICB9XG5cbiAgZGVjb2RlIChrZXkpIHtcbiAgICByZXR1cm4gdGhpcy5fdW5hcmNoaXZlci5kZWNvZGVLZXkodGhpcy5vYmplY3QsIGtleSk7XG4gIH1cbn1cblxuY2xhc3MgQXJjaGl2aW5nT2JqZWN0IHtcbiAgLyoqXG4gICAqIFN0YXRlZnVsIHdyYXBwZXIgYXJvdW5kIFVuYXJjaGl2ZSBmb3IgYW4gYXJjaGl2ZWQgb2JqZWN0XG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3RcbiAgICogQHBhcmFtIHtBcmNoaXZlfSBhcmNoaXZlclxuICAgKiBAY29uc3RydWN0b3JcbiAgICovXG4gIGNvbnN0cnVjdG9yIChvYmplY3QsIGFyY2hpdmVyKSB7XG4gICAgdGhpcy5fYXJjaGl2ZU9iaiA9IG9iamVjdDtcbiAgICB0aGlzLl9hcmNoaXZlciA9IGFyY2hpdmVyO1xuICB9XG5cbiAgZW5jb2RlIChrZXksIHZhbCkge1xuICAgIHRoaXMuX2FyY2hpdmVPYmpba2V5XSA9IHRoaXMuX2FyY2hpdmVyLmVuY29kZSh2YWwpO1xuICB9XG59XG5cbi8qKlxuICogVGhpcyBjbGFzcyBtdXN0IGJlIGluaGVyaXRlZCB3aGVuIGNyZWF0aW5nIGFuIGFyY2hpdmUvdW5hcmNoaXZlIHN1YmNsYXNzXG4gKiBBbmQgeW91IG5lZWQgdG8gY2FsbCBgdXBkYXRlTlNLZXllZEFyY2hpdmVDbGFzc2AgYWRkIHN1YmNsYXNzIHRvIGFyY2hpdmUvdW5hcmNoaXZlIG9iamVjdFxuICovXG5jbGFzcyBCYXNlQXJjaGl2ZUhhbmRsZXIge1xuICAvKipcbiAgICogQHBhcmFtIHtBcmNoaXZlZE9iamVjdH0gYXJjaGl2ZVxuICAgKi9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzXG4gIGRlY29kZUFyY2hpdmUgKGFyY2hpdmUpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYERpZCBub3Qga25vdyBob3cgdG8gZGVjb2RlIHRoZSBvYmplY3RgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge09iamVjdH0gb2JqICBhbiBpbnN0YW5jZSBvZiB0aGlzIGNsYXNzXG4gICAqIEBwYXJhbSB7QXJjaGl2aW5nT2JqZWN0fSBhcmNoaXZlXG4gICAqL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcbiAgZW5jb2RlQXJjaGl2ZSAob2JqLCBhcmNoaXZlKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBEaWQgbm90IGtub3cgaG93IHRvIGVuY29kZSB0aGUgb2JqZWN0YCk7XG4gIH1cbn1cblxuLyoqXG4gKiBcIkRlbGVnYXRlIGZvciBwYWNraW5nL3VucGFja2luZyBOUyhNdXRhYmxlKURpY3Rpb25hcnkgb2JqZWN0c1wiXG4gKi9cbmNsYXNzIERpY3RBcmNoaXZlIGV4dGVuZHMgQmFzZUFyY2hpdmVIYW5kbGVyIHtcbiAgZGVjb2RlQXJjaGl2ZSAoYXJjaGl2ZSkge1xuICAgIGNvbnN0IGtleVVpZHMgPSBhcmNoaXZlLmRlY29kZSgnTlMua2V5cycpO1xuICAgIGNvbnN0IHZhbFVpZHMgPSBhcmNoaXZlLmRlY29kZSgnTlMub2JqZWN0cycpO1xuICAgIGNvbnN0IGQgPSB7fTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGtleVVpZHMubGVuZ3RoIDsgaSsrKSB7XG4gICAgICBjb25zdCBrZXkgPSBhcmNoaXZlLmRlY29kZUluZGV4KGtleVVpZHNbaV0pO1xuICAgICAgZFtrZXldID0gYXJjaGl2ZS5kZWNvZGVJbmRleCh2YWxVaWRzW2ldKTtcbiAgICB9XG4gICAgcmV0dXJuIGQ7XG4gIH1cbn1cblxuLyoqXG4gKiBEZWxlZ2F0ZSBmb3IgcGFja2luZy91bnBhY2tpbmcgTlMoTXV0YWJsZSlBcnJheSBvYmplY3RzXG4gKi9cbmNsYXNzIExpc3RBcmNoaXZlIGV4dGVuZHMgQmFzZUFyY2hpdmVIYW5kbGVyIHtcbiAgZGVjb2RlQXJjaGl2ZSAoYXJjaGl2ZSkge1xuICAgIGNvbnN0IHVpZHMgPSBhcmNoaXZlLmRlY29kZSgnTlMub2JqZWN0cycpO1xuICAgIHJldHVybiB1aWRzLm1hcChhcmNoaXZlLmRlY29kZUluZGV4LmJpbmQoYXJjaGl2ZSkpO1xuICB9XG59XG5cbmNsYXNzIERUVGFwTWVzc2FnZVBsaXN0IGV4dGVuZHMgQmFzZUFyY2hpdmVIYW5kbGVyIHtcbiAgZGVjb2RlQXJjaGl2ZSAoYXJjaGl2ZSkge1xuICAgIHJldHVybiBhcmNoaXZlLmRlY29kZSgnRFRUYXBNZXNzYWdlUGxpc3QnKTtcbiAgfVxufVxuXG5jbGFzcyBOU0Vycm9yIGV4dGVuZHMgQmFzZUFyY2hpdmVIYW5kbGVyIHtcbiAgZGVjb2RlQXJjaGl2ZSAoYXJjaGl2ZSkge1xuICAgIHJldHVybiB7XG4gICAgICAnJGNsYXNzJzogJ05TRXJyb3InLFxuICAgICAgJ2RvbWFpbic6IGFyY2hpdmUuZGVjb2RlKCdOU0RvbWFpbicpLFxuICAgICAgJ3VzZXJpbmZvJzogYXJjaGl2ZS5kZWNvZGUoJ05TVXNlckluZm8nKSxcbiAgICAgICdjb2RlJzogYXJjaGl2ZS5kZWNvZGUoJ05TQ29kZScpXG4gICAgfTtcbiAgfVxufVxuXG5jbGFzcyBOU0V4Y2VwdGlvbiBleHRlbmRzIEJhc2VBcmNoaXZlSGFuZGxlciB7XG4gIGRlY29kZUFyY2hpdmUgKGFyY2hpdmUpIHtcbiAgICByZXR1cm4ge1xuICAgICAgJyRjbGFzcyc6ICdOU0V4Y2VwdGlvbicsXG4gICAgICAncmVhc29uJzogYXJjaGl2ZS5kZWNvZGUoJ05TLnJlYXNvbicpLFxuICAgICAgJ3VzZXJpbmZvJzogYXJjaGl2ZS5kZWNvZGUoJ3VzZXJpbmZvJyksXG4gICAgICAnbmFtZSc6IGFyY2hpdmUuZGVjb2RlKCdOUy5uYW1lJylcbiAgICB9O1xuICB9XG59XG5cbmNsYXNzIE5TVVJMIGV4dGVuZHMgQmFzZUFyY2hpdmVIYW5kbGVyIHtcbiAgLyoqXG4gICAqIEBwYXJhbSB7Kn0gYmFzZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gcmVsYXRpdmUgdXN1YWxseSBpb3MgZGV2aWNlIHJlbGF0aXZlIHBhdGggZS5nOiBmaWxlOi8veHgvXG4gICAqL1xuICBjb25zdHJ1Y3RvciAoYmFzZSwgcmVsYXRpdmUpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuX2Jhc2UgPSBiYXNlO1xuICAgIHRoaXMuX3JlbGF0aXZlID0gcmVsYXRpdmU7XG4gIH1cblxuICBkZWNvZGVBcmNoaXZlIChhcmNoaXZlKSB7XG4gICAgcmV0dXJuIHskY2xhc3M6ICdOU1VSTCcsIGJhc2U6IGFyY2hpdmUuZGVjb2RlKCdOUy5iYXNlJyksIHJlbGF0aXZlOiBhcmNoaXZlLmRlY29kZSgnTlMucmVsYXRpdmUnKX07XG4gIH1cblxuICBlbmNvZGVBcmNoaXZlIChvYmosIGFyY2hpdmUpIHtcbiAgICBhcmNoaXZlLmVuY29kZSgnTlMuYmFzZScsIG9iai5fYmFzZSk7XG4gICAgYXJjaGl2ZS5lbmNvZGUoJ05TLnJlbGF0aXZlJywgb2JqLl9yZWxhdGl2ZSk7XG4gIH1cbn1cblxuY2xhc3MgTlNEYXRlIGV4dGVuZHMgQmFzZUFyY2hpdmVIYW5kbGVyIHtcbiAgLyoqXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBkYXRhIHRpbWVzdGFtcCBpbiBzZWNvbmRzXG4gICAqL1xuICBjb25zdHJ1Y3RvciAoZGF0YSkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5fZGF0YSA9IGRhdGE7XG4gIH1cblxuICBkZWNvZGVBcmNoaXZlIChhcmNoaXZlKSB7XG4gICAgcmV0dXJuIFVOSVgyQVBQTEVfVElNRVNUQU1QX1NFQ09ORCArIGFyY2hpdmUuZGVjb2RlKCdOUy50aW1lJyk7XG4gIH1cblxuICBlbmNvZGVBcmNoaXZlIChvYmosIGFyY2hpdmUpIHtcbiAgICBhcmNoaXZlLmVuY29kZSgnTlMudGltZScsIG9iai5fZGF0YSAtIFVOSVgyQVBQTEVfVElNRVNUQU1QX1NFQ09ORCk7XG4gIH1cbn1cblxuY2xhc3MgTlNNdXRhYmxlU3RyaW5nIGV4dGVuZHMgQmFzZUFyY2hpdmVIYW5kbGVyIHtcbiAgZGVjb2RlQXJjaGl2ZSAoYXJjaGl2ZSkge1xuICAgIHJldHVybiBhcmNoaXZlLmRlY29kZSgnTlMuc3RyaW5nJyk7XG4gIH1cbn1cblxuY2xhc3MgTlNNdXRhYmxlRGF0YSBleHRlbmRzIEJhc2VBcmNoaXZlSGFuZGxlciB7XG4gIGRlY29kZUFyY2hpdmUgKGFyY2hpdmUpIHtcbiAgICByZXR1cm4gYXJjaGl2ZS5kZWNvZGUoJ05TLmRhdGEnKTtcbiAgfVxufVxuXG5jbGFzcyBOU1VVSUQgZXh0ZW5kcyBCYXNlQXJjaGl2ZUhhbmRsZXIge1xuICAvKipcbiAgICogQHBhcmFtIHtzdHJpbmd9IGRhdGEgdXVpZCBmb3JtYXQgZGF0YSBlLmc6MDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDAwXG4gICAqL1xuICBjb25zdHJ1Y3RvciAoZGF0YSkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5fZGF0YSA9IGRhdGE7XG4gIH1cblxuICBkZWNvZGVBcmNoaXZlIChhcmNoaXZlKSB7XG4gICAgcmV0dXJuIHV1aWRTdHJpbmdpZnkoYXJjaGl2ZS5kZWNvZGUoJ05TLnV1aWRieXRlcycpKTtcbiAgfVxuXG4gIGVuY29kZUFyY2hpdmUgKG9iaiwgYXJjaGl2ZSkge1xuICAgIGFyY2hpdmUuX2FyY2hpdmVPYmpbJ05TLnV1aWRieXRlcyddID0gQnVmZmVyLmZyb20odXVpZFBhcnNlKG9iai5fZGF0YSkuYnVmZmVyKTtcbiAgfVxufVxuXG5jbGFzcyBYQ1RDYXBhYmlsaXRpZXMgZXh0ZW5kcyBCYXNlQXJjaGl2ZUhhbmRsZXIge1xuICBkZWNvZGVBcmNoaXZlIChhcmNoaXZlKSB7XG4gICAgcmV0dXJuIGFyY2hpdmUuZGVjb2RlKCdjYXBhYmlsaXRpZXMtZGljdGlvbmFyeScpO1xuICB9XG59XG5cbmNsYXNzIE5TTnVsbCBleHRlbmRzIEJhc2VBcmNoaXZlSGFuZGxlciB7XG4gIGRlY29kZUFyY2hpdmUgKCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG59XG5cbi8qKlxuICogZGVjb2RlIGFuZCBlbmNvZGUgQXJjaGl2ZSBvZiBjdXJyZW50bHkga25vd24gZGF0YSBmb3JtYXRzXG4gKi9cbmNvbnN0IFVOQVJDSElWRV9DTEFTU19NQVAgPSB7XG4gIERUVGFwTWVzc2FnZVBsaXN0LFxuICBEVFN5c21vblRhcE1lc3NhZ2U6IERUVGFwTWVzc2FnZVBsaXN0LFxuICBEVFRhcEhlYXJ0YmVhdE1lc3NhZ2U6IERUVGFwTWVzc2FnZVBsaXN0LFxuICBEVFRhcE1lc3NhZ2VBcmNoaXZlOiBEVFRhcE1lc3NhZ2VQbGlzdCxcbiAgRFRLVHJhY2VUYXBNZXNzYWdlOiBEVFRhcE1lc3NhZ2VQbGlzdCxcbiAgRXJyb3JBcmNoaXZlOiBOU0Vycm9yLFxuICBFeGNlcHRpb25BcmNoaXZlOiBOU0V4Y2VwdGlvbixcbiAgTlNEaWN0aW9uYXJ5OiBEaWN0QXJjaGl2ZSxcbiAgTlNNdXRhYmxlRGljdGlvbmFyeTogRGljdEFyY2hpdmUsXG4gIE5TQXJyYXk6IExpc3RBcmNoaXZlLFxuICBOU011dGFibGVBcnJheTogTGlzdEFyY2hpdmUsXG4gIE5TTXV0YWJsZVNldDogTGlzdEFyY2hpdmUsXG4gIE5TU2V0OiBMaXN0QXJjaGl2ZSxcbiAgTlNEYXRlLFxuICBOU0Vycm9yLFxuICBOU0V4Y2VwdGlvbixcbiAgTlNNdXRhYmxlU3RyaW5nLFxuICBOU011dGFibGVEYXRhLFxuICBOU051bGwsXG4gIE5TVVVJRCxcbiAgTlNVUkwsXG4gIFhDVENhcGFiaWxpdGllc1xufTtcblxuLyoqXG4gKiBDYXBhYmxlIG9mIHVucGFja2luZyBhbiBhcmNoaXZlZCBvYmplY3QgdHJlZSBpbiB0aGUgTlNLZXllZEFyY2hpdmUgZm9ybWF0LlxuICogQXBwbGUncyBpbXBsZW1lbnRhdGlvbiBjYW4gYmUgZm91bmQgaGVyZTpcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9hcHBsZS9zd2lmdC1jb3JlbGlicy1mb3VuZGF0aW9uL2Jsb2IvbWFpbi9Tb3VyY2VzL0ZvdW5kYXRpb24vTlNLZXllZFVuYXJjaGl2ZXIuc3dpZnRcbiAqL1xuY2xhc3MgVW5hcmNoaXZlIHtcbiAgY29uc3RydWN0b3IgKGlucHV0Qnl0ZXMpIHtcbiAgICB0aGlzLmlucHV0ID0gaW5wdXRCeXRlcztcbiAgICB0aGlzLnVucGFja2VkVWlkcyA9IHt9O1xuICAgIHRoaXMudG9wVUlEID0gTlVMTF9VSUQ7XG4gICAgdGhpcy5vYmplY3RzID0gW107XG4gIH1cblxuICB1bnBhY2tBcmNoaXZlSGVhZGVyICgpIHtcbiAgICBjb25zdCBwbGlzdCA9IHBsaXN0bGliLnBhcnNlQnVmZmVyKHRoaXMuaW5wdXQpWzBdO1xuICAgIGlmIChwbGlzdC4kYXJjaGl2ZXIgIT09IE5TS0VZRURBUkNISVZFUikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGB1bnN1cHBvcnRlZCBlbmNvZGVyOiAke3BsaXN0LiRhcmNoaXZlcn1gKTtcbiAgICB9XG4gICAgaWYgKHBsaXN0LiR2ZXJzaW9uICE9PSBOU0tFWUVEX0FSQ0hJVkVfVkVSU0lPTikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBleHBlY3RlZCAke05TS0VZRURfQVJDSElWRV9WRVJTSU9OfSwgZ290ICR7cGxpc3QuJHZlcnNpb24gfWApO1xuICAgIH1cbiAgICBjb25zdCB0b3AgPSBwbGlzdC4kdG9wO1xuICAgIGNvbnN0IHRvcFVJRCA9IHRvcC5yb290O1xuICAgIGlmICghdG9wVUlEKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYHRvcCBvYmplY3QgZGlkIG5vdCBoYXZlIGEgVUlEISBkdW1wOiAke0pTT04uc3RyaW5naWZ5KHRvcCl9YCk7XG4gICAgfVxuICAgIHRoaXMudG9wVUlEID0gdG9wVUlEO1xuICAgIHRoaXMub2JqZWN0cyA9IHBsaXN0LiRvYmplY3RzO1xuICB9XG5cbiAgLyoqXG4gICAqIHVzZSB0aGUgVU5BUkNISVZFX0NMQVNTX01BUCB0byBmaW5kIHRoZSB1bmFyY2hpdmluZyBkZWxlZ2F0ZSBvZiBhIHVpZFxuICAgKi9cbiAgY2xhc3NGb3JVaWQgKGluZGV4KSB7XG4gICAgY29uc3QgbWV0YSA9IHRoaXMub2JqZWN0c1tpbmRleC5VSURdO1xuICAgIGNvbnN0IG5hbWUgPSBtZXRhLiRjbGFzc25hbWU7XG4gICAgY29uc3Qga2xhc3MgPSBVTkFSQ0hJVkVfQ0xBU1NfTUFQW25hbWVdO1xuICAgIGlmICgha2xhc3MpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgbm8gbWFwcGluZyBmb3IgJHtuYW1lfSBpbiBVTkFSQ0hJVkVfQ0xBU1NfTUFQYCk7XG4gICAgfVxuICAgIHJldHVybiBrbGFzcztcbiAgfVxuXG4gIGRlY29kZUtleSAob2JqLCBrZXkpIHtcbiAgICBjb25zdCB2YWwgPSBvYmpba2V5XTtcbiAgICByZXR1cm4gXy5pc05pbCh2YWw/LlVJRCkgPyB2YWwgOiB0aGlzLmRlY29kZU9iamVjdCh2YWwpO1xuICB9XG5cbiAgZGVjb2RlT2JqZWN0IChpbmRleCkge1xuICAgIGlmIChpbmRleCA9PT0gTlVMTF9VSUQpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBjb25zdCBvYmogPSB0aGlzLnVucGFja2VkVWlkc1tpbmRleF07XG4gICAgaWYgKG9iaiA9PT0gQ1lDTEVfVE9LRU4pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgYXJjaGl2ZSBoYXMgYSBjeWNsZSB3aXRoICR7aW5kZXh9YCk7XG4gICAgfVxuICAgIGlmICghXy5pc1VuZGVmaW5lZChvYmopKSB7XG4gICAgICByZXR1cm4gb2JqO1xuICAgIH1cbiAgICBjb25zdCByYXdPYmogPSB0aGlzLm9iamVjdHNbaW5kZXguVUlEXTtcbiAgICB0aGlzLnVucGFja2VkVWlkc1tpbmRleC5VSURdID0gQ1lDTEVfVE9LRU47XG5cbiAgICBpZiAoIXJhd09iaj8uJGNsYXNzKSB7XG4gICAgICB0aGlzLnVucGFja2VkVWlkc1tpbmRleC5VSURdID0gb2JqO1xuICAgICAgcmV0dXJuIHJhd09iajtcbiAgICB9XG4gICAgY29uc3Qga2xhc3MgPSB0aGlzLmNsYXNzRm9yVWlkKHJhd09iai4kY2xhc3MpO1xuICAgIGNvbnN0IGtsYXNzT2JqID0gbmV3IGtsYXNzKCkuZGVjb2RlQXJjaGl2ZShuZXcgQXJjaGl2ZWRPYmplY3QocmF3T2JqLCB0aGlzKSk7XG4gICAgdGhpcy51bnBhY2tlZFVpZHNbaW5kZXguVUlEXSA9IGtsYXNzT2JqO1xuICAgIHJldHVybiBrbGFzc09iajtcbiAgfVxuXG4gIHRvT2JqZWN0ICgpIHtcbiAgICB0aGlzLnVucGFja0FyY2hpdmVIZWFkZXIoKTtcbiAgICByZXR1cm4gdGhpcy5kZWNvZGVPYmplY3QodGhpcy50b3BVSUQpO1xuICB9XG59XG5cbi8qKlxuICogQ2FwYWJsZSBvZiBwYWNraW5nIGFuIG9iamVjdCB0cmVlIGludG8gdGhlIE5TS2V5ZWRBcmNoaXZlIGZvcm1hdC5cbiAqIEFwcGxlJ3MgaW1wbGVtZW50YXRpb24gY2FuIGJlIGZvdW5kIGhlcmU6XG4gKiBodHRwczovL2dpdGh1Yi5jb20vYXBwbGUvc3dpZnQtY29yZWxpYnMtZm91bmRhdGlvbi9ibG9iL21haW4vU291cmNlcy9Gb3VuZGF0aW9uL05TS2V5ZWRBcmNoaXZlci5zd2lmdFxuICovXG5jbGFzcyBBcmNoaXZlIHtcbiAgY29uc3RydWN0b3IgKGlucHV0T2JqZWN0KSB7XG4gICAgdGhpcy5pbnB1dCA9IGlucHV0T2JqZWN0O1xuICAgIHRoaXMuY2xhc3NNYXAgPSB7fTtcbiAgICB0aGlzLm9iamVjdHMgPSBbJyRudWxsJ107IC8vIG9iamVjdHMgdGhhdCBnbyBkaXJlY3RseSBpbnRvIHRoZSBhcmNoaXZlLCBhbHdheXMgc3RhcnQgd2l0aCAkbnVsbFxuICB9XG5cbiAgdWlkRm9yQXJjaGl2ZXIgKGFyY2hpdmVyKSB7XG4gICAgbGV0IHZhbCA9IHRoaXMuY2xhc3NNYXBbYXJjaGl2ZXJdO1xuICAgIGlmICh2YWwpIHtcbiAgICAgIHJldHVybiBuZXcgcGxpc3RsaWIuVUlEKHZhbCk7XG4gICAgfVxuICAgIHRoaXMuY2xhc3NNYXBbYXJjaGl2ZXJdID0gdGhpcy5vYmplY3RzLmxlbmd0aDtcbiAgICB2YWwgPSBuZXcgcGxpc3RsaWIuVUlEKHRoaXMub2JqZWN0cy5sZW5ndGgpO1xuICAgIHRoaXMub2JqZWN0cy5wdXNoKHtcbiAgICAgICckY2xhc3Nlcyc6IFthcmNoaXZlcl0sXG4gICAgICAnJGNsYXNzbmFtZSc6IGFyY2hpdmVyXG4gICAgfSk7XG4gICAgcmV0dXJuIHZhbDtcbiAgfVxuXG4gIGFyY2hpdmUgKG9iaikge1xuICAgIGlmIChfLmlzVW5kZWZpbmVkKG9iaikgfHwgXy5pc051bGwob2JqKSkge1xuICAgICAgcmV0dXJuIE5VTExfVUlEO1xuICAgIH1cbiAgICBjb25zdCBpbmRleCA9IG5ldyBwbGlzdGxpYi5VSUQodGhpcy5vYmplY3RzLmxlbmd0aCk7XG4gICAgaWYgKFBSSU1JVElWRV9UWVBFUy5pbmNsdWRlcyhvYmouY29uc3RydWN0b3IubmFtZSkpIHtcbiAgICAgIHRoaXMub2JqZWN0cy5wdXNoKG9iaik7XG4gICAgICByZXR1cm4gaW5kZXg7XG4gICAgfVxuICAgIGNvbnN0IGFyY2hpdmVPYmogPSB7fTtcbiAgICB0aGlzLm9iamVjdHMucHVzaChhcmNoaXZlT2JqKTtcbiAgICB0aGlzLmVuY29kZVRvcExldmVsKG9iaiwgYXJjaGl2ZU9iaik7XG4gICAgcmV0dXJuIGluZGV4O1xuICB9XG5cbiAgZW5jb2RlICh2YWwpIHtcbiAgICBpZiAoTk9OX0VOQ09EQUJMRV9UWVBFUy5pbmNsdWRlcyh0eXBlb2YgdmFsKSkge1xuICAgICAgcmV0dXJuIHZhbDtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuYXJjaGl2ZSh2YWwpO1xuICB9XG5cbiAgZW5jb2RlVG9wTGV2ZWwgKG9iaiwgYXJjaGl2ZU9iaikge1xuICAgIGlmIChvYmogaW5zdGFuY2VvZiBBcnJheSkge1xuICAgICAgcmV0dXJuIHRoaXMuZW5jb2RlQXJyYXkob2JqLCBhcmNoaXZlT2JqKTtcbiAgICB9IGVsc2UgaWYgKG9iaiBpbnN0YW5jZW9mIFNldCkge1xuICAgICAgcmV0dXJuIHRoaXMuZW5jb2RlU2V0KG9iaiwgYXJjaGl2ZU9iaik7XG4gICAgfSBlbHNlIGlmIChvYmogaW5zdGFuY2VvZiBPYmplY3QpIHtcbiAgICAgIGNvbnN0IG9iak5hbWUgPSBvYmouY29uc3RydWN0b3IubmFtZTtcbiAgICAgIC8vIE9ubHkgc3BlY2lhbCBjbGFzcyBpbnN0YW5jZSBhcmUgdXNlZnVsLCBzdWNoIGFzIE5TVVJMLCBOU1VVSUQsIE5TRGF0ZS5cbiAgICAgIC8vIEFuZCB0aGlzIGNsYXNzIG11c3QgYWxzbyBoYXZlIHRoZSBlbmNvZGVBcmNoaXZlIG1ldGhvZFxuICAgICAgaWYgKG9iak5hbWUgaW4gVU5BUkNISVZFX0NMQVNTX01BUCkge1xuICAgICAgICBhcmNoaXZlT2JqLiRjbGFzcyA9IHRoaXMudWlkRm9yQXJjaGl2ZXIob2JqTmFtZSk7XG4gICAgICAgIG9iai5lbmNvZGVBcmNoaXZlKG9iaiwgbmV3IEFyY2hpdmluZ09iamVjdChhcmNoaXZlT2JqLCB0aGlzKSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gdGhpcy5lbmNvZGVEaWN0KG9iaiwgYXJjaGl2ZU9iaik7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IEVycm9yKGBVbmFibGUgdG8gZW5jb2RlIHR5cGVzOiAke3R5cGVvZiBvYmp9YCk7XG4gICAgfVxuICB9XG5cbiAgZW5jb2RlQXJyYXkgKG9ianMsIGFyY2hpdmVPYmopIHtcbiAgICBhcmNoaXZlT2JqLiRjbGFzcyA9IHRoaXMudWlkRm9yQXJjaGl2ZXIoJ05TQXJyYXknKTtcbiAgICBhcmNoaXZlT2JqWydOUy5vYmplY3RzJ10gPSBvYmpzLm1hcCh0aGlzLmFyY2hpdmUuYmluZCh0aGlzKSk7XG4gIH1cblxuICBlbmNvZGVTZXQgKG9ianMsIGFyY2hpdmVPYmopIHtcbiAgICBhcmNoaXZlT2JqLiRjbGFzcyA9IHRoaXMudWlkRm9yQXJjaGl2ZXIoJ05TU2V0Jyk7XG4gICAgYXJjaGl2ZU9ialsnTlMub2JqZWN0cyddID0gb2Jqcy5tYXAodGhpcy5hcmNoaXZlLmJpbmQodGhpcykpO1xuICB9XG5cbiAgZW5jb2RlRGljdCAob2JqLCBhcmNoaXZlT2JqKSB7XG4gICAgYXJjaGl2ZU9iai4kY2xhc3MgPSB0aGlzLnVpZEZvckFyY2hpdmVyKCdOU0RpY3Rpb25hcnknKTtcbiAgICBhcmNoaXZlT2JqWydOUy5rZXlzJ10gPSBfLmtleXMob2JqKS5tYXAodGhpcy5hcmNoaXZlLmJpbmQodGhpcykpO1xuICAgIGFyY2hpdmVPYmpbJ05TLm9iamVjdHMnXSA9IF8udmFsdWVzKG9iaikubWFwKHRoaXMuYXJjaGl2ZS5iaW5kKHRoaXMpKTtcbiAgfVxuXG4gIHRvQnl0ZXMgKCkge1xuICAgIGlmICh0aGlzLm9iamVjdHMubGVuZ3RoID09PSAxKSB7XG4gICAgICB0aGlzLmFyY2hpdmUodGhpcy5pbnB1dCk7XG4gICAgfVxuICAgIGNvbnN0IGQgPSB7XG4gICAgICAnJHZlcnNpb24nOiBOU0tFWUVEX0FSQ0hJVkVfVkVSU0lPTixcbiAgICAgICckYXJjaGl2ZXInOiBOU0tFWUVEQVJDSElWRVIsXG4gICAgICAnJHRvcCc6IHsncm9vdCc6IG5ldyBwbGlzdGxpYi5VSUQoMSl9LFxuICAgICAgJyRvYmplY3RzJzogdGhpcy5vYmplY3RzXG4gICAgfTtcbiAgICByZXR1cm4gYnBsaXN0Q3JlYXRlKGQpO1xuICB9XG59XG5cbi8qKlxuICogQ3JlYXRlcyBOU0tleWVkIEJ1ZmZlciBmcm9tIGFuIG9iamVjdFxuICogQHBhcmFtIHtPYmplY3R9IGlucHV0T2JqZWN0XG4gKiBAcmV0dXJucyB7QnVmZmVyfSBOU0tleWVkIEJ1ZmZlclxuICovXG5mdW5jdGlvbiBhcmNoaXZlIChpbnB1dE9iamVjdCkge1xuICByZXR1cm4gbmV3IEFyY2hpdmUoaW5wdXRPYmplY3QpLnRvQnl0ZXMoKTtcbn1cblxuLyoqXG4gKiBQYXJzZXMgTlNLZXllZCBCdWZmZXIgaW50byBKUyBPYmplY3RcbiAqIEBwYXJhbSB7QnVmZmVyfSBpbnB1dEJ5dGVzIE5TS2V5ZWQgQnVmZmVyXG4gKiBAcmV0dXJucyB7T2JqZWN0fSBKUyBPYmplY3RcbiAqL1xuZnVuY3Rpb24gdW5hcmNoaXZlIChpbnB1dEJ5dGVzKSB7XG4gIHJldHVybiBuZXcgVW5hcmNoaXZlKGlucHV0Qnl0ZXMpLnRvT2JqZWN0KCk7XG59XG5cbi8qKlxuICogVXBkYXRlIHVua25vd24gTlNLZXllZEFyY2hpdmUgdHlwZXMgZm9yIHBhY2tpbmcvdW5wYWNraW5nXG4gKiBAcGFyYW0ge1N0cmluZ30gbmFtZSBwYWNraW5nL3VucGFja2luZyBrZXkgbmFtZVxuICogQHBhcmFtIHtCYXNlQXJjaGl2ZUhhbmRsZXJ9IHN1YkNsYXNzIGluaGVyaXQgZnJvbSBCYXNlQXJjaGl2ZUhhbmRsZXIgY2xhc3NcbiAqL1xuZnVuY3Rpb24gdXBkYXRlTlNLZXllZEFyY2hpdmVDbGFzcyAobmFtZSwgc3ViQ2xhc3MpIHtcbiAgaWYgKCFfLmlzRnVuY3Rpb24oc3ViQ2xhc3MucHJvdG90eXBlPy5kZWNvZGVBcmNoaXZlKSAmJiAhXy5pc0Z1bmN0aW9uKHN1YkNsYXNzLnByb3RvdHlwZT8uZW5jb2RlQXJjaGl2ZSkpIHtcbiAgICB0aHJvdyBFcnJvcignc3ViQ2xhc3MgbXVzdCBoYXZlIGRlY29kZUFyY2hpdmUgb3IgZW5jb2RlQXJjaGl2ZSBtZXRob2RzJyk7XG4gIH1cbiAgaWYgKCEobmFtZSBpbiBVTkFSQ0hJVkVfQ0xBU1NfTUFQKSkge1xuICAgIFVOQVJDSElWRV9DTEFTU19NQVBbbmFtZV0gPSBzdWJDbGFzcztcbiAgfVxufVxuXG5leHBvcnQgeyB1cGRhdGVOU0tleWVkQXJjaGl2ZUNsYXNzLCBCYXNlQXJjaGl2ZUhhbmRsZXIsIE5TVVJMLCBOU1VVSUQsIE5TRGF0ZSwgdW5hcmNoaXZlLCBhcmNoaXZlfTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQSxNQUFNQSx1QkFBdUIsR0FBRyxPQUFoQztBQUNBLE1BQU1DLFFBQVEsR0FBRyxJQUFJQyxxQkFBQSxDQUFTQyxHQUFiLENBQWlCLENBQWpCLENBQWpCO0FBQ0EsTUFBTUMsV0FBVyxHQUFHLFlBQXBCO0FBQ0EsTUFBTUMsZUFBZSxHQUFHLENBQUMsUUFBRCxFQUFXLFFBQVgsRUFBcUIsU0FBckIsRUFBZ0MsS0FBaEMsRUFBdUMsUUFBdkMsQ0FBeEI7QUFDQSxNQUFNQyxtQkFBbUIsR0FBRyxDQUFDLFFBQUQsRUFBVyxTQUFYLENBQTVCO0FBQ0EsTUFBTUMsZUFBZSxHQUFHLGlCQUF4QjtBQUNBLE1BQU1DLDJCQUEyQixHQUFH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
|
|
@@ -90,7 +90,5 @@ class Lockdown extends _baseService.BaseServicePlist {
|
|
|
90
90
|
|
|
91
91
|
exports.Lockdown = Lockdown;
|
|
92
92
|
var _default = Lockdown;
|
|
93
|
-
exports.default = _default;
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliL2xvY2tkb3duL2luZGV4LmpzIiwibmFtZXMiOlsiTE9DS0RPV05fUE9SVCIsIkxBQkVMIiwiUFJPVE9DT0xfVkVSU0lPTiIsIkxvY2tkb3duIiwiQmFzZVNlcnZpY2VQbGlzdCIsInF1ZXJ5VHlwZSIsInRpbWVvdXQiLCJkYXRhIiwiX3BsaXN0U2VydmljZSIsInNlbmRQbGlzdEFuZFJlY2VpdmUiLCJMYWJlbCIsIlByb3RvY29sVmVyc2lvbiIsIlJlcXVlc3QiLCJUeXBlIiwiRXJyb3IiLCJKU09OIiwic3RyaW5naWZ5Iiwic3RhcnRTZXNzaW9uIiwiaG9zdElEIiwic3lzdGVtQlVJRCIsIkhvc3RJRCIsIlN5c3RlbUJVSUQiLCJTZXNzaW9uSUQiLCJzZXNzaW9uSUQiLCJlbmFibGVTZXNzaW9uU1NMIiwiRW5hYmxlU2Vzc2lvblNTTCIsImhvc3RQcml2YXRlS2V5IiwiaG9zdENlcnRpZmljYXRlIiwiZ2V0VmFsdWUiLCJxdWVyeSIsInBsaXN0IiwiT2JqZWN0IiwiYXNzaWduIiwiXyIsImlzTmlsIiwiVmFsdWUiLCJzdGFydFNlcnZpY2UiLCJzZXJ2aWNlTmFtZSIsIlNlcnZpY2UiXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uIiwic291cmNlcyI6WyJsaWIvbG9ja2Rvd24vaW5kZXguanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IEJhc2VTZXJ2aWNlUGxpc3QgfSBmcm9tICcuLi9iYXNlLXNlcnZpY2UnO1xuXG5cbmNvbnN0IExPQ0tET1dOX1BPUlQgPSA2MjA3ODtcbmNvbnN0IExBQkVMID0gJ3VzYm11eGQnO1xuY29uc3QgUFJPVE9DT0xfVkVSU0lPTiA9IDI7XG5cbmNsYXNzIExvY2tkb3duIGV4dGVuZHMgQmFzZVNlcnZpY2VQbGlzdCB7XG4gIC8qKlxuICAgKiBNYWtlcyBhIHF1ZXJ5IHR5cGUgcmVxdWVzdCB0byBsb2NrZG93blxuICAgKiBAcGFyYW0ge251bWJlcn0gW3RpbWVvdXQ9NTAwMF0gdGhlIHRpbWVvdXQgb2YgcmVjZWl2aW5nIGEgcmVzcG9uc2UgZnJvbSBsb2NrZG93bmRcbiAgICogQHJldHVybnMge09iamVjdH1cbiAgICovXG4gIGFzeW5jIHF1ZXJ5VHlwZSAodGltZW91dCA9IDUwMDApIHtcbiAgICBjb25zdCBkYXRhID0gYXdhaXQgdGhpcy5fcGxpc3RTZXJ2aWNlLnNlbmRQbGlzdEFuZFJlY2VpdmUoe1xuICAgICAgTGFiZWw6IExBQkVMLFxuICAgICAgUHJvdG9jb2xWZXJzaW9uOiBQUk9UT0NPTF9WRVJTSU9OLFxuICAgICAgUmVxdWVzdDogJ1F1ZXJ5VHlwZSdcbiAgICB9LCB0aW1lb3V0KTtcbiAgICBpZiAoZGF0YS5SZXF1ZXN0ID09PSAnUXVlcnlUeXBlJyAmJiBkYXRhLlR5cGUgPT09ICdjb20uYXBwbGUubW9iaWxlLmxvY2tkb3duJykge1xuICAgICAgcmV0dXJuIGRhdGE7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgVW5leHBlY3RlZCBkYXRhOiAke0pTT04uc3RyaW5naWZ5KGRhdGEpfWApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTdGFydHMgYSBsb2NrZG93biBzZXNzaW9uIHdoaWNoIGFsbG93cyB0byB1c2UgY2VydGFpbiBhcGlzXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBob3N0SUQgdGhlIGhvc3QgaWQgd2hpY2ggY2FuIGJlIHJldHJpZXZlZCBmcm9tIHRoZSBwYWlyIHJlY29yZFxuICAgKiBAcGFyYW0ge3N0cmluZ30gc3lzdGVtQlVJRCB0aGUgaG9zdCBCVUlEIHdoaWNoIGNhbiBiZSByZXRyaWV2ZWQgZnJvbSB0aGUgcGFpciByZWNvcmRcbiAgICogQHBhcmFtIHtudW1iZXJ9IFt0aW1lb3V0PTUwMDBdIHRoZSB0aW1lb3V0IG9mIHJlY2VpdmluZyBhIHJlc3BvbnNlIGZyb20gbG9ja2Rvd25kXG4gICAqIEByZXR1cm5zIHtPYmplY3R9XG4gICAqL1xuICBhc3luYyBzdGFydFNlc3Npb24gKGhvc3RJRCwgc3lzdGVtQlVJRCwgdGltZW91dCA9IDUwMDApIHtcbiAgICBjb25zdCBkYXRhID0gYXdhaXQgdGhpcy5fcGxpc3RTZXJ2aWNlLnNlbmRQbGlzdEFuZFJlY2VpdmUoe1xuICAgICAgTGFiZWw6IExBQkVMLFxuICAgICAgUHJvdG9jb2xWZXJzaW9uOiBQUk9UT0NPTF9WRVJTSU9OLFxuICAgICAgUmVxdWVzdDogJ1N0YXJ0U2Vzc2lvbicsXG4gICAgICBIb3N0SUQ6IGhvc3RJRCxcbiAgICAgIFN5c3RlbUJVSUQ6IHN5c3RlbUJVSURcbiAgICB9LCB0aW1lb3V0KTtcblxuICAgIGlmIChkYXRhLlJlcXVlc3QgPT09ICdTdGFydFNlc3Npb24nICYmIGRhdGEuU2Vzc2lvbklEKSB7XG4gICAgICByZXR1cm4geyBzZXNzaW9uSUQ6IGRhdGEuU2Vzc2lvbklELCBlbmFibGVTZXNzaW9uU1NMOiBkYXRhLkVuYWJsZVNlc3Npb25TU0wgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmV4cGVjdGVkIGRhdGE6ICR7SlNPTi5zdHJpbmdpZnkoZGF0YSl9YCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEVuYWJsZXMgc3NsIGluIHRoZSB1bmRlcmx5aW5nIHNvY2tldCBzb2NrZXQgY29ubmVjdGlvblxuICAgKiBAcGFyYW0ge0J1ZmZlcn0gaG9zdFByaXZhdGVLZXkgdGhlIHByaXZhdGUga2V5IHdoaWNoIGNhbiBiZSByZXRyaWV2ZWQgZnJvbSB0aGUgcGFpciByZWNvcmRcbiAgICogQHBhcmFtIHtCdWZmZXJ9IGhvc3RDZXJ0aWZpY2F0ZSB0aGUgY2VydGlmaWNhdGUgd2hpY2ggY2FuIGJlIHJldHJpZXZlZCBmcm9tIHRoZSBwYWlyIHJlY29yZFxuICAgKi9cbiAgZW5hYmxlU2Vzc2lvblNTTCAoaG9zdFByaXZhdGVLZXksIGhvc3RDZXJ0aWZpY2F0ZSkge1xuICAgIHRoaXMuX3BsaXN0U2VydmljZS5lbmFibGVTZXNzaW9uU1NMKGhvc3RQcml2YXRlS2V5LCBob3N0Q2VydGlmaWNhdGUpO1xuICB9XG5cbiAgLyoqXG4gICogQHR5cGVkZWYge09iamVjdH0gUXVlcnlcbiAgKlxuICAqIEBwcm9wZXJ0eSB7P3N0cmluZ30ga2V5IFRoZSBrZXkgd2Ugd2FudCB0byBhY2Nlc3NcbiAgKiBAcHJvcGVydHkgez9zdHJpbmd9IGRvbWFpbiBUaGUgZG9tYWluIHdoZXJlIHdlIHdhbnQgdG8gYWNjZXNzXG4gICovXG5cbiAgLyoqXG4gICAqIEdldHMgdmFsdWVzIGZyb20gdGhlIGRldmljZSBhY2NvcmRpbmcgdG8gdGhlIHF1ZXJ5IHBhc3NlZFxuICAgKlxuICAgKiBAcGFyYW0ge1F1ZXJ5fSBxdWVyeSB0aGUgcXVlcnkgd2Ugd2FudCB0byBzZW5kIHRvIGxvY2tkb3duZFxuICAgKiBAcGFyYW0ge251bWJlcn0gW3RpbWVvdXQ9NTAwMF0gdGhlIHRpbWVvdXQgb2YgcmVjZWl2aW5nIGEgcmVzcG9uc2UgZnJvbSBsb2NrZG93bmRcbiAgICogQHJldHVybnMgeyp9IFRoZSBhY3R1YWwgcmVzcG9uc2UgdmFsdWUuIEl0IHNob3VsZCBuZXZlciBiZSBgbnVsbGAgb3IgYHVuZGVmaW5lZGBcbiAgICogQHRocm93cyB7RXJyb3J9IElmIGFuIHVuZXhwZWN0ZWQgcmVzcG9uc2UgaXMgcmVjZWl2ZWQgZnJvbSBsb2NrZG93bmRcbiAgICovXG4gIGFzeW5jIGdldFZhbHVlIChxdWVyeSA9IHt9LCB0aW1lb3V0ID0gNTAwMCkge1xuICAgIGNvbnN0IHBsaXN0ID0gT2JqZWN0LmFzc2lnbih7XG4gICAgICBMYWJlbDogTEFCRUwsXG4gICAgICBQcm90b2NvbFZlcnNpb246IFBST1RPQ09MX1ZFUlNJT04sXG4gICAgICBSZXF1ZXN0OiAnR2V0VmFsdWUnXG4gICAgfSwgcXVlcnkpO1xuICAgIGNvbnN0IGRhdGEgPSBhd2FpdCB0aGlzLl9wbGlzdFNlcnZpY2Uuc2VuZFBsaXN0QW5kUmVjZWl2ZShwbGlzdCwgdGltZW91dCk7XG4gICAgaWYgKGRhdGE/LlJlcXVlc3QgPT09ICdHZXRWYWx1ZScgJiYgIV8uaXNOaWwoZGF0YT8uVmFsdWUpKSB7XG4gICAgICByZXR1cm4gZGF0YS5WYWx1ZTtcbiAgICB9XG4gICAgdGhyb3cgbmV3IEVycm9yKGBVbmV4cGVjdGVkIGRhdGEgcmVjZWl2ZWQgZm9yICR7SlNPTi5zdHJpbmdpZnkocXVlcnkpfSByZXF1ZXN0OiBgICtcbiAgICAgIEpTT04uc3RyaW5naWZ5KGRhdGEpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdGFydHMgYSBzZXJ2aWNlIG9uIHRoZSBwaG9uZSBjb3JyZXNwb25kaW5nIHRvIHRoZSBuYW1lXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBzZXJ2aWNlTmFtZSB0aGUgbmFtZSBvZiB0aGUgc2VydmljZSB3aGljaCB3ZSB3YW50IHRvIHN0YXJ0XG4gICAqIEBwYXJhbSB7bnVtYmVyfSBbdGltZW91dD01MDAwXSB0aGUgdGltZW91dCBvZiByZWNlaXZpbmcgYSByZXNwb25zZSBmcm9tIGxvY2tkb3duZFxuICAgKiBAcmV0dXJucyB7T2JqZWN0fVxuICAgKi9cbiAgYXN5bmMgc3RhcnRTZXJ2aWNlIChzZXJ2aWNlTmFtZSwgdGltZW91dCA9IDUwMDApIHtcbiAgICBjb25zdCBkYXRhID0gYXdhaXQgdGhpcy5fcGxpc3RTZXJ2aWNlLnNlbmRQbGlzdEFuZFJlY2VpdmUoe1xuICAgICAgTGFiZWw6IExBQkVMLFxuICAgICAgUHJvdG9jb2xWZXJzaW9uOiBQUk9UT0NPTF9WRVJTSU9OLFxuICAgICAgUmVxdWVzdDogJ1N0YXJ0U2VydmljZScsXG4gICAgICBTZXJ2aWNlOiBzZXJ2aWNlTmFtZSxcbiAgICB9LCB0aW1lb3V0KTtcblxuICAgIGlmIChkYXRhLkVycm9yKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuZXhwZWN0ZWQgZGF0YTogJHtKU09OLnN0cmluZ2lmeShkYXRhKX1gKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGRhdGE7XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCB7IExvY2tkb3duLCBMT0NLRE9XTl9QT1JUIH07XG5leHBvcnQgZGVm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
|
|
93
|
+
exports.default = _default;
|
|
94
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJMT0NLRE9XTl9QT1JUIiwiTEFCRUwiLCJQUk9UT0NPTF9WRVJTSU9OIiwiTG9ja2Rvd24iLCJCYXNlU2VydmljZVBsaXN0IiwicXVlcnlUeXBlIiwidGltZW91dCIsImRhdGEiLCJfcGxpc3RTZXJ2aWNlIiwic2VuZFBsaXN0QW5kUmVjZWl2ZSIsIkxhYmVsIiwiUHJvdG9jb2xWZXJzaW9uIiwiUmVxdWVzdCIsIlR5cGUiLCJFcnJvciIsIkpTT04iLCJzdHJpbmdpZnkiLCJzdGFydFNlc3Npb24iLCJob3N0SUQiLCJzeXN0ZW1CVUlEIiwiSG9zdElEIiwiU3lzdGVtQlVJRCIsIlNlc3Npb25JRCIsInNlc3Npb25JRCIsImVuYWJsZVNlc3Npb25TU0wiLCJFbmFibGVTZXNzaW9uU1NMIiwiaG9zdFByaXZhdGVLZXkiLCJob3N0Q2VydGlmaWNhdGUiLCJnZXRWYWx1ZSIsInF1ZXJ5IiwicGxpc3QiLCJPYmplY3QiLCJhc3NpZ24iLCJfIiwiaXNOaWwiLCJWYWx1ZSIsInN0YXJ0U2VydmljZSIsInNlcnZpY2VOYW1lIiwiU2VydmljZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9sb2NrZG93bi9pbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgQmFzZVNlcnZpY2VQbGlzdCB9IGZyb20gJy4uL2Jhc2Utc2VydmljZSc7XG5cblxuY29uc3QgTE9DS0RPV05fUE9SVCA9IDYyMDc4O1xuY29uc3QgTEFCRUwgPSAndXNibXV4ZCc7XG5jb25zdCBQUk9UT0NPTF9WRVJTSU9OID0gMjtcblxuY2xhc3MgTG9ja2Rvd24gZXh0ZW5kcyBCYXNlU2VydmljZVBsaXN0IHtcbiAgLyoqXG4gICAqIE1ha2VzIGEgcXVlcnkgdHlwZSByZXF1ZXN0IHRvIGxvY2tkb3duXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBbdGltZW91dD01MDAwXSB0aGUgdGltZW91dCBvZiByZWNlaXZpbmcgYSByZXNwb25zZSBmcm9tIGxvY2tkb3duZFxuICAgKiBAcmV0dXJucyB7T2JqZWN0fVxuICAgKi9cbiAgYXN5bmMgcXVlcnlUeXBlICh0aW1lb3V0ID0gNTAwMCkge1xuICAgIGNvbnN0IGRhdGEgPSBhd2FpdCB0aGlzLl9wbGlzdFNlcnZpY2Uuc2VuZFBsaXN0QW5kUmVjZWl2ZSh7XG4gICAgICBMYWJlbDogTEFCRUwsXG4gICAgICBQcm90b2NvbFZlcnNpb246IFBST1RPQ09MX1ZFUlNJT04sXG4gICAgICBSZXF1ZXN0OiAnUXVlcnlUeXBlJ1xuICAgIH0sIHRpbWVvdXQpO1xuICAgIGlmIChkYXRhLlJlcXVlc3QgPT09ICdRdWVyeVR5cGUnICYmIGRhdGEuVHlwZSA9PT0gJ2NvbS5hcHBsZS5tb2JpbGUubG9ja2Rvd24nKSB7XG4gICAgICByZXR1cm4gZGF0YTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmV4cGVjdGVkIGRhdGE6ICR7SlNPTi5zdHJpbmdpZnkoZGF0YSl9YCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFN0YXJ0cyBhIGxvY2tkb3duIHNlc3Npb24gd2hpY2ggYWxsb3dzIHRvIHVzZSBjZXJ0YWluIGFwaXNcbiAgICogQHBhcmFtIHtzdHJpbmd9IGhvc3RJRCB0aGUgaG9zdCBpZCB3aGljaCBjYW4gYmUgcmV0cmlldmVkIGZyb20gdGhlIHBhaXIgcmVjb3JkXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBzeXN0ZW1CVUlEIHRoZSBob3N0IEJVSUQgd2hpY2ggY2FuIGJlIHJldHJpZXZlZCBmcm9tIHRoZSBwYWlyIHJlY29yZFxuICAgKiBAcGFyYW0ge251bWJlcn0gW3RpbWVvdXQ9NTAwMF0gdGhlIHRpbWVvdXQgb2YgcmVjZWl2aW5nIGEgcmVzcG9uc2UgZnJvbSBsb2NrZG93bmRcbiAgICogQHJldHVybnMge09iamVjdH1cbiAgICovXG4gIGFzeW5jIHN0YXJ0U2Vzc2lvbiAoaG9zdElELCBzeXN0ZW1CVUlELCB0aW1lb3V0ID0gNTAwMCkge1xuICAgIGNvbnN0IGRhdGEgPSBhd2FpdCB0aGlzLl9wbGlzdFNlcnZpY2Uuc2VuZFBsaXN0QW5kUmVjZWl2ZSh7XG4gICAgICBMYWJlbDogTEFCRUwsXG4gICAgICBQcm90b2NvbFZlcnNpb246IFBST1RPQ09MX1ZFUlNJT04sXG4gICAgICBSZXF1ZXN0OiAnU3RhcnRTZXNzaW9uJyxcbiAgICAgIEhvc3RJRDogaG9zdElELFxuICAgICAgU3lzdGVtQlVJRDogc3lzdGVtQlVJRFxuICAgIH0sIHRpbWVvdXQpO1xuXG4gICAgaWYgKGRhdGEuUmVxdWVzdCA9PT0gJ1N0YXJ0U2Vzc2lvbicgJiYgZGF0YS5TZXNzaW9uSUQpIHtcbiAgICAgIHJldHVybiB7IHNlc3Npb25JRDogZGF0YS5TZXNzaW9uSUQsIGVuYWJsZVNlc3Npb25TU0w6IGRhdGEuRW5hYmxlU2Vzc2lvblNTTCB9O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuZXhwZWN0ZWQgZGF0YTogJHtKU09OLnN0cmluZ2lmeShkYXRhKX1gKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRW5hYmxlcyBzc2wgaW4gdGhlIHVuZGVybHlpbmcgc29ja2V0IHNvY2tldCBjb25uZWN0aW9uXG4gICAqIEBwYXJhbSB7QnVmZmVyfSBob3N0UHJpdmF0ZUtleSB0aGUgcHJpdmF0ZSBrZXkgd2hpY2ggY2FuIGJlIHJldHJpZXZlZCBmcm9tIHRoZSBwYWlyIHJlY29yZFxuICAgKiBAcGFyYW0ge0J1ZmZlcn0gaG9zdENlcnRpZmljYXRlIHRoZSBjZXJ0aWZpY2F0ZSB3aGljaCBjYW4gYmUgcmV0cmlldmVkIGZyb20gdGhlIHBhaXIgcmVjb3JkXG4gICAqL1xuICBlbmFibGVTZXNzaW9uU1NMIChob3N0UHJpdmF0ZUtleSwgaG9zdENlcnRpZmljYXRlKSB7XG4gICAgdGhpcy5fcGxpc3RTZXJ2aWNlLmVuYWJsZVNlc3Npb25TU0woaG9zdFByaXZhdGVLZXksIGhvc3RDZXJ0aWZpY2F0ZSk7XG4gIH1cblxuICAvKipcbiAgKiBAdHlwZWRlZiB7T2JqZWN0fSBRdWVyeVxuICAqXG4gICogQHByb3BlcnR5IHs/c3RyaW5nfSBrZXkgVGhlIGtleSB3ZSB3YW50IHRvIGFjY2Vzc1xuICAqIEBwcm9wZXJ0eSB7P3N0cmluZ30gZG9tYWluIFRoZSBkb21haW4gd2hlcmUgd2Ugd2FudCB0byBhY2Nlc3NcbiAgKi9cblxuICAvKipcbiAgICogR2V0cyB2YWx1ZXMgZnJvbSB0aGUgZGV2aWNlIGFjY29yZGluZyB0byB0aGUgcXVlcnkgcGFzc2VkXG4gICAqXG4gICAqIEBwYXJhbSB7UXVlcnl9IHF1ZXJ5IHRoZSBxdWVyeSB3ZSB3YW50IHRvIHNlbmQgdG8gbG9ja2Rvd25kXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBbdGltZW91dD01MDAwXSB0aGUgdGltZW91dCBvZiByZWNlaXZpbmcgYSByZXNwb25zZSBmcm9tIGxvY2tkb3duZFxuICAgKiBAcmV0dXJucyB7Kn0gVGhlIGFjdHVhbCByZXNwb25zZSB2YWx1ZS4gSXQgc2hvdWxkIG5ldmVyIGJlIGBudWxsYCBvciBgdW5kZWZpbmVkYFxuICAgKiBAdGhyb3dzIHtFcnJvcn0gSWYgYW4gdW5leHBlY3RlZCByZXNwb25zZSBpcyByZWNlaXZlZCBmcm9tIGxvY2tkb3duZFxuICAgKi9cbiAgYXN5bmMgZ2V0VmFsdWUgKHF1ZXJ5ID0ge30sIHRpbWVvdXQgPSA1MDAwKSB7XG4gICAgY29uc3QgcGxpc3QgPSBPYmplY3QuYXNzaWduKHtcbiAgICAgIExhYmVsOiBMQUJFTCxcbiAgICAgIFByb3RvY29sVmVyc2lvbjogUFJPVE9DT0xfVkVSU0lPTixcbiAgICAgIFJlcXVlc3Q6ICdHZXRWYWx1ZSdcbiAgICB9LCBxdWVyeSk7XG4gICAgY29uc3QgZGF0YSA9IGF3YWl0IHRoaXMuX3BsaXN0U2VydmljZS5zZW5kUGxpc3RBbmRSZWNlaXZlKHBsaXN0LCB0aW1lb3V0KTtcbiAgICBpZiAoZGF0YT8uUmVxdWVzdCA9PT0gJ0dldFZhbHVlJyAmJiAhXy5pc05pbChkYXRhPy5WYWx1ZSkpIHtcbiAgICAgIHJldHVybiBkYXRhLlZhbHVlO1xuICAgIH1cbiAgICB0aHJvdyBuZXcgRXJyb3IoYFVuZXhwZWN0ZWQgZGF0YSByZWNlaXZlZCBmb3IgJHtKU09OLnN0cmluZ2lmeShxdWVyeSl9IHJlcXVlc3Q6IGAgK1xuICAgICAgSlNPTi5zdHJpbmdpZnkoZGF0YSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFN0YXJ0cyBhIHNlcnZpY2Ugb24gdGhlIHBob25lIGNvcnJlc3BvbmRpbmcgdG8gdGhlIG5hbWVcbiAgICogQHBhcmFtIHtzdHJpbmd9IHNlcnZpY2VOYW1lIHRoZSBuYW1lIG9mIHRoZSBzZXJ2aWNlIHdoaWNoIHdlIHdhbnQgdG8gc3RhcnRcbiAgICogQHBhcmFtIHtudW1iZXJ9IFt0aW1lb3V0PTUwMDBdIHRoZSB0aW1lb3V0IG9mIHJlY2VpdmluZyBhIHJlc3BvbnNlIGZyb20gbG9ja2Rvd25kXG4gICAqIEByZXR1cm5zIHtPYmplY3R9XG4gICAqL1xuICBhc3luYyBzdGFydFNlcnZpY2UgKHNlcnZpY2VOYW1lLCB0aW1lb3V0ID0gNTAwMCkge1xuICAgIGNvbnN0IGRhdGEgPSBhd2FpdCB0aGlzLl9wbGlzdFNlcnZpY2Uuc2VuZFBsaXN0QW5kUmVjZWl2ZSh7XG4gICAgICBMYWJlbDogTEFCRUwsXG4gICAgICBQcm90b2NvbFZlcnNpb246IFBST1RPQ09MX1ZFUlNJT04sXG4gICAgICBSZXF1ZXN0OiAnU3RhcnRTZXJ2aWNlJyxcbiAgICAgIFNlcnZpY2U6IHNlcnZpY2VOYW1lLFxuICAgIH0sIHRpbWVvdXQpO1xuXG4gICAgaWYgKGRhdGEuRXJyb3IpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgVW5leHBlY3RlZCBkYXRhOiAke0pTT04uc3RyaW5naWZ5KGRhdGEpfWApO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gZGF0YTtcbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IHsgTG9ja2Rvd24sIExPQ0tET1dOX1BPUlQgfTtcbmV4cG9ydCBkZWZhdWx0IExvY2tkb3duO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFB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
|
package/build/lib/logger.js
CHANGED
|
@@ -12,7 +12,5 @@ var _support = require("@appium/support");
|
|
|
12
12
|
const log = _support.logger.getLogger('ios-device');
|
|
13
13
|
|
|
14
14
|
var _default = log;
|
|
15
|
-
exports.default = _default;
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliL2xvZ2dlci5qcyIsIm5hbWVzIjpbImxvZyIsImxvZ2dlciIsImdldExvZ2dlciJdLCJzb3VyY2VSb290IjoiLi4vLi4iLCJzb3VyY2VzIjpbImxpYi9sb2dnZXIuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbG9nZ2VyIH0gZnJvbSAnQGFwcGl1bS9zdXBwb3J0JztcblxuY29uc3QgbG9nID0gbG9nZ2VyLmdldExvZ2dlcignaW9zLWRldmljZScpO1xuXG5leHBvcnQgZGVmYXVsdCBsb2c7Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTs7QUFFQSxNQUFNQSxHQUFHLEdBQUdDLGVBQUEsQ0FBT0MsU0FBUCxDQUFpQixZQUFqQixDQUFaOztlQUVlRixHIn0=
|
|
15
|
+
exports.default = _default;
|
|
16
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJsb2ciLCJsb2dnZXIiLCJnZXRMb2dnZXIiXSwic291cmNlcyI6WyIuLi8uLi9saWIvbG9nZ2VyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGxvZ2dlciB9IGZyb20gJ0BhcHBpdW0vc3VwcG9ydCc7XG5cbmNvbnN0IGxvZyA9IGxvZ2dlci5nZXRMb2dnZXIoJ2lvcy1kZXZpY2UnKTtcblxuZXhwb3J0IGRlZmF1bHQgbG9nOyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7O0FBRUEsTUFBTUEsR0FBRyxHQUFHQyxlQUFBLENBQU9DLFNBQVAsQ0FBaUIsWUFBakIsQ0FBWjs7ZUFFZUYsRyJ9
|
|
@@ -70,7 +70,5 @@ class MCInstallProxyService extends _baseService.BaseServicePlist {
|
|
|
70
70
|
|
|
71
71
|
exports.MCInstallProxyService = MCInstallProxyService;
|
|
72
72
|
var _default = MCInstallProxyService;
|
|
73
|
-
exports.default = _default;
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliL21jaW5zdGFsbC9pbmRleC5qcyIsIm5hbWVzIjpbIk1DX0lOU1RBTExfU0VSVklDRV9OQU1FIiwiQUNLTk9XTEVER0VEIiwiY2hlY2tBQ0siLCJyZXMiLCJuYW1lIiwiU3RhdHVzIiwiRXJyb3IiLCJKU09OIiwic3RyaW5naWZ5IiwiTUNJbnN0YWxsUHJveHlTZXJ2aWNlIiwiQmFzZVNlcnZpY2VQbGlzdCIsImNvbnN0cnVjdG9yIiwic29ja2V0Q2xpZW50IiwiZ2V0UHJvZmlsZUxpc3QiLCJfcGxpc3RTZXJ2aWNlIiwic2VuZFBsaXN0QW5kUmVjZWl2ZSIsIlJlcXVlc3RUeXBlIiwiaW5zdGFsbFByb2ZpbGUiLCJwYXRoIiwicGF5bG9hZCIsImZzIiwicmVhZEZpbGUiLCJyZW1vdmVQcm9maWxlIiwiaWRlbnQiLCJwcm9maWxlcyIsIm1ldGEiLCJQcm9maWxlTWV0YWRhdGEiLCJkYXRhIiwicGxpc3QiLCJjcmVhdGVCaW5hcnlQbGlzdCIsIlBheWxvYWRVVUlEIiwiUGF5bG9hZFZlcnNpb24iXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uIiwic291cmNlcyI6WyJsaWIvbWNpbnN0YWxsL2luZGV4LmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QmFzZVNlcnZpY2VQbGlzdH0gZnJvbSAnLi4vYmFzZS1zZXJ2aWNlJztcbmltcG9ydCB7ZnMsIHBsaXN0fSBmcm9tICdAYXBwaXVtL3N1cHBvcnQnO1xuXG5cbmNvbnN0IE1DX0lOU1RBTExfU0VSVklDRV9OQU1FID0gJ2NvbS5hcHBsZS5tb2JpbGUuTUNJbnN0YWxsJztcbmNvbnN0IEFDS05PV0xFREdFRCA9ICdBY2tub3dsZWRnZWQnO1xuXG5mdW5jdGlvbiBjaGVja0FDSyAocmVzLCBuYW1lKSB7XG4gIGlmIChyZXMuU3RhdHVzICE9PSBBQ0tOT1dMRURHRUQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYCR7bmFtZX0gZXJyb3I6ICR7SlNPTi5zdHJpbmdpZnkocmVzKX1gKTtcbiAgfVxuICByZXR1cm4gcmVzO1xufVxuXG5jbGFzcyBNQ0luc3RhbGxQcm94eVNlcnZpY2UgZXh0ZW5kcyBCYXNlU2VydmljZVBsaXN0IHtcbiAgY29uc3RydWN0b3IgKHNvY2tldENsaWVudCkge1xuICAgIHN1cGVyKHNvY2tldENsaWVudCk7XG4gIH1cblxuICAvKipcbiAgICogQHR5cGVkZWYge09iamVjdH0gUHJvZmlsZUxpc3RcbiAgICogQHByb3BlcnR5IHtBcnJheX0gT3JkZXJlZElkZW50aWZpZXJzIGxpc3Qgb2YgYWxsIHByb2ZpbGUgaWRlbnRcbiAgICogQHByb3BlcnR5IHtPYmplY3R9IFByb2ZpbGVNYW5pZmVzdFxuICAgKiBAcHJvcGVydHkge09iamVjdH0gUHJvZmlsZU1ldGFkYXRhXG4gICAqIEBwcm9wZXJ0eSB7U3RyaW5nfSBTdGF0dXNcbiAgICovXG5cbiAgLyoqXG4gICAqIEdldCBhbGwgcHJvZmlsZXMgb2YgaU9TIGRldmljZXNcbiAgICogQHJldHVybnMge1Byb2ZpbGVMaXN0fVxuICAgKiBlLmcuXG4gICAqIHtcbiAgICogICBPcmRlcmVkSWRlbnRpZmllcnM6IFsgJzJmYWMxYzJiM2Q2ODQ4NDMxODliMjk4MWM3MThiMDEzMjg1NGE4NDdhJyBdLFxuICAgKiAgIFByb2ZpbGVNYW5pZmVzdDoge1xuICAgKiAgICAgJzJmYWMxYzJiM2Q2ODQ4NDMxODliMjk4MWM3MThiMDEzMjg1NGE4NDdhJzoge1xuICAgKiAgICAgICBEZXNjcmlwdGlvbjogJ0NoYXJsZXMgUHJveHkgQ0EgKDcgRGVjIDIwMjAsIE1hY0Jvb2stUHJvLmxvY2FsKScsXG4gICAqICAgICAgIElzQWN0aXZlOiB0cnVlXG4gICAqICAgICB9XG4gICAqICAgfSxcbiAgICogICBQcm9maWxlTWV0YWRhdGE6IHtcbiAgICogICAgICcyZmFjMWMyYjNkNjg0ODQzMTg5YjI5ODFjNzE4YjAxMzI4NTRhODQ3YSc6IHtcbiAgICogICAgICAgUGF5bG9hZERpc3BsYXlOYW1lOiAnQ2hhcmxlcyBQcm94eSBDQSAoNyBEZWMgMjAyMCwgTWFjQm9vay1Qcm8ubG9jYWwpJyxcbiAgICogICAgICAgUGF5bG9hZFJlbW92YWxEaXNhbGxvd2VkOiBmYWxzZSxcbiAgICogICAgICAgUGF5bG9hZFVVSUQ6ICdCMzAwMDVDQy1CQzczLTRFNDItODU0NS04REE2QzQ0QThBNzEnLFxuICAgKiAgICAgICBQYXlsb2FkVmVyc2lvbjogMVxuICAgKiAgICAgfVxuICAgKiAgIH0sXG4gICAqICAgU3RhdHVzOiAnQWNrbm93bGVkZ2VkJ1xuICAgKiB9XG4gICAqL1xuICBhc3luYyBnZXRQcm9maWxlTGlzdCAoKSB7XG4gICAgY29uc3QgcmVzID0gYXdhaXQgdGhpcy5fcGxpc3RTZXJ2aWNlLnNlbmRQbGlzdEFuZFJlY2VpdmUoe1JlcXVlc3RUeXBlOiAnR2V0UHJvZmlsZUxpc3QnfSk7XG4gICAgcmV0dXJuIGNoZWNrQUNLKHJlcywgJ2dldFByb2ZpbGVMaXN0Jyk7XG4gIH1cblxuICAvKipcbiAgICogSW5zdGFsbCBwcm9maWxlIHRvIGlPUyBkZXZpY2VcbiAgICogQHBhcmFtIHtTdHJpbmd9IHBhdGggIG11c3QgYmUgYSBjZXJ0aWZpY2F0ZSBmaWxlIC5QRU0gLkNFUiBhbmQgbW9yZSBmb3JtYXRzXG4gICAqIGUuZzogL0Rvd25sb2Fkcy9jaGFybGVzLWNlcnRpZmljYXRlLnBlbVxuICAgKiBAcmV0dXJucyB7T2JqZWN0fSBlLmcuIHtTdGF0dXM6ICdBY2tub3dsZWRnZWQnfVxuICAgKi9cbiAgYXN5bmMgaW5zdGFsbFByb2ZpbGUgKHBhdGgpIHtcbiAgICBjb25zdCBwYXlsb2FkID0gYXdhaXQgZnMucmVhZEZpbGUocGF0aCk7XG4gICAgY29uc3QgcmVzID0gYXdhaXQgdGhpcy5fcGxpc3RTZXJ2aWNlLnNlbmRQbGlzdEFuZFJlY2VpdmUoeydSZXF1ZXN0VHlwZSc6ICdJbnN0YWxsUHJvZmlsZScsICdQYXlsb2FkJzogcGF5bG9hZH0pO1xuICAgIHJldHVybiBjaGVja0FDSyhyZXMsICdpbnN0YWxsUHJvZmlsZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZSBwcm9maWxlIGZyb20gaU9TIGRldmljZVxuICAgKiBAcGFyYW0ge1N0cmluZ30gaWRlbnQgIFF1ZXJ5IGlkZW50aWZpZXIgbGlzdCB0aHJvdWdoIGdldFByb2ZpbGVMaXN0IG1ldGhvZFxuICAgKiBAcmV0dXJucyB7T2JqZWN0fSBlLmcuIHtTdGF0dXM6ICdBY2tub3dsZWRnZWQnfVxuICAgKi9cbiAgYXN5bmMgcmVtb3ZlUHJvZmlsZSAoaWRlbnQpIHtcbiAgICBjb25zdCBwcm9maWxlcyA9IGF3YWl0IHRoaXMuZ2V0UHJvZmlsZUxpc3QoKTtcbiAgICBjb25zdCBtZXRhID0gcHJvZmlsZXMuUHJvZmlsZU1ldGFkYXRhW2lkZW50XTtcbiAgICBpZiAoIW1ldGEpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgbm90IGZpbmQgaW5zdGFsbGVkIHByb2ZpbGUgaWRlbnQ6JHtpZGVudH1gKTtcbiAgICB9XG4gICAgY29uc3QgZGF0YSA9IHBsaXN0LmNyZWF0ZUJpbmFyeVBsaXN0KHsnUGF5bG9hZFR5cGUnOiAnQ29uZmlndXJhdGlvbicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUGF5bG9hZElkZW50aWZpZXInOiBpZGVudCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQYXlsb2FkVVVJRCc6IG1ldGEuUGF5bG9hZFVVSUQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUGF5bG9hZFZlcnNpb24nOiBtZXRhLlBheWxvYWRWZXJzaW9ufSk7XG4gICAgY29uc3QgcmVzID0gYXdhaXQgdGhpcy5fcGxpc3RTZXJ2aWNlLnNlbmRQbGlzdEFuZFJlY2VpdmUoeydSZXF1ZXN0VHlwZSc6ICdSZW1vdmVQcm9maWxlJywgJ1Byb2ZpbGVJZGVudGlmaWVyJzogZGF0YX0pO1xuICAgIHJldHVybiBjaGVja0FDSyhyZXMsICdyZW1vdmVQcm9maWxlJyk7XG4gIH1cbn1cblxuZXhwb3J0IHsgTUNJbnN0YWxsUHJveHlTZXJ2aWNlLCBNQ19JTlNUQUxMX1NFUlZJQ0VfTkFNRSB9O1xuZXhwb3J0IGRlZmF1bHQgTUNJbnN0YWxsUHJveHlTZXJ2aWNlO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFHQSxNQUFNQSx1QkFBdUIsR0FBRyw0QkFBaEM7O0FBQ0EsTUFBTUMsWUFBWSxHQUFHLGNBQXJCOztBQUVBLFNBQVNDLFFBQVQsQ0FBbUJDLEdBQW5CLEVBQXdCQyxJQUF4QixFQUE4QjtFQUM1QixJQUFJRCxHQUFHLENBQUNFLE1BQUosS0FBZUosWUFBbkIsRUFBaUM7SUFDL0IsTUFBTSxJQUFJSyxLQUFKLENBQVcsR0FBRUYsSUFBSyxXQUFVRyxJQUFJLENBQUNDLFNBQUwsQ0FBZUwsR0FBZixDQUFvQixFQUFoRCxDQUFOO0VBQ0Q7O0VBQ0QsT0FBT0EsR0FBUDtBQUNEOztBQUVELE1BQU1NLHFCQUFOLFNBQW9DQyw2QkFBcEMsQ0FBcUQ7RUFDbkRDLFdBQVcsQ0FBRUMsWUFBRixFQUFnQjtJQUN6QixNQUFNQSxZQUFOO0VBQ0Q7O0VBaUNtQixNQUFkQyxjQUFjLEdBQUk7SUFDdEIsTUFBTVYsR0FBRyxHQUFHLE1BQU0sS0FBS1csYUFBTCxDQUFtQkMsbUJBQW5CLENBQXVDO01BQUNDLFdBQVcsRUFBRTtJQUFkLENBQXZDLENBQWxCO0lBQ0EsT0FBT2QsUUFBUSxDQUFDQyxHQUFELEVBQU0sZ0JBQU4sQ0FBZjtFQUNEOztFQVFtQixNQUFkYyxjQUFjLENBQUVDLElBQUYsRUFBUTtJQUMxQixNQUFNQyxPQUFPLEdBQUcsTUFBTUMsV0FBQSxDQUFHQyxRQUFILENBQVlILElBQVosQ0FBdEI7SUFDQSxNQUFNZixHQUFHLEdBQUcsTUFBTSxLQUFLVyxhQUFMLENBQW1CQyxtQkFBbkIsQ0FBdUM7TUFBQyxlQUFlLGdCQUFoQjtNQUFrQyxXQUFXSTtJQUE3QyxDQUF2QyxDQUFsQjtJQUNBLE9BQU9qQixRQUFRLENBQUNDLEdBQUQsRUFBTSxnQkFBTixDQUFmO0VBQ0Q7O0VBT2tCLE1BQWJtQixhQUFhLENBQUVDLEtBQUYsRUFBUztJQUMxQixNQUFNQyxRQUFRLEdBQUcsTUFBTSxLQUFLWCxjQUFMLEVBQXZCO0lBQ0EsTUFBTVksSUFBSSxHQUFHRCxRQUFRLENBQUNFLGVBQVQsQ0FBeUJILEtBQXpCLENBQWI7O0lBQ0EsSUFBSSxDQUFDRSxJQUFMLEVBQVc7TUFDVCxNQUFNLElBQUluQixLQUFKLENBQVcsb0NBQW1DaUIsS0FBTSxFQUFwRCxDQUFOO0lBQ0Q7O0lBQ0QsTUFBTUksSUFBSSxHQUFHQyxjQUFBLENBQU1DLGlCQUFOLENBQXdCO01BQUMsZUFBZSxlQUFoQjtNQUNDLHFCQUFxQk4sS0FEdEI7TUFFQyxlQUFlRSxJQUFJLENBQUNLLFdBRnJCO01BR0Msa0JBQWtCTCxJQUFJLENBQUNNO0lBSHhCLENBQXhCLENBQWI7O0lBSUEsTUFBTTVCLEdBQUcsR0FBRyxNQUFNLEtBQUtXLGFBQUwsQ0FBbUJDLG1CQUFuQixDQUF1QztNQUFDLGVBQWUsZUFBaEI7TUFBaUMscUJBQXFCWTtJQUF0RCxDQUF2QyxDQUFsQjtJQUNBLE9BQU96QixRQUFRLENBQUNDLEdBQUQsRUFBTSxlQUFOLENBQWY7RUFDRDs7QUF0RWtEOzs7ZUEwRXRDTSxxQiJ9
|
|
73
|
+
exports.default = _default;
|
|
74
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJNQ19JTlNUQUxMX1NFUlZJQ0VfTkFNRSIsIkFDS05PV0xFREdFRCIsImNoZWNrQUNLIiwicmVzIiwibmFtZSIsIlN0YXR1cyIsIkVycm9yIiwiSlNPTiIsInN0cmluZ2lmeSIsIk1DSW5zdGFsbFByb3h5U2VydmljZSIsIkJhc2VTZXJ2aWNlUGxpc3QiLCJjb25zdHJ1Y3RvciIsInNvY2tldENsaWVudCIsImdldFByb2ZpbGVMaXN0IiwiX3BsaXN0U2VydmljZSIsInNlbmRQbGlzdEFuZFJlY2VpdmUiLCJSZXF1ZXN0VHlwZSIsImluc3RhbGxQcm9maWxlIiwicGF0aCIsInBheWxvYWQiLCJmcyIsInJlYWRGaWxlIiwicmVtb3ZlUHJvZmlsZSIsImlkZW50IiwicHJvZmlsZXMiLCJtZXRhIiwiUHJvZmlsZU1ldGFkYXRhIiwiZGF0YSIsInBsaXN0IiwiY3JlYXRlQmluYXJ5UGxpc3QiLCJQYXlsb2FkVVVJRCIsIlBheWxvYWRWZXJzaW9uIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL21jaW5zdGFsbC9pbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0Jhc2VTZXJ2aWNlUGxpc3R9IGZyb20gJy4uL2Jhc2Utc2VydmljZSc7XG5pbXBvcnQge2ZzLCBwbGlzdH0gZnJvbSAnQGFwcGl1bS9zdXBwb3J0JztcblxuXG5jb25zdCBNQ19JTlNUQUxMX1NFUlZJQ0VfTkFNRSA9ICdjb20uYXBwbGUubW9iaWxlLk1DSW5zdGFsbCc7XG5jb25zdCBBQ0tOT1dMRURHRUQgPSAnQWNrbm93bGVkZ2VkJztcblxuZnVuY3Rpb24gY2hlY2tBQ0sgKHJlcywgbmFtZSkge1xuICBpZiAocmVzLlN0YXR1cyAhPT0gQUNLTk9XTEVER0VEKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGAke25hbWV9IGVycm9yOiAke0pTT04uc3RyaW5naWZ5KHJlcyl9YCk7XG4gIH1cbiAgcmV0dXJuIHJlcztcbn1cblxuY2xhc3MgTUNJbnN0YWxsUHJveHlTZXJ2aWNlIGV4dGVuZHMgQmFzZVNlcnZpY2VQbGlzdCB7XG4gIGNvbnN0cnVjdG9yIChzb2NrZXRDbGllbnQpIHtcbiAgICBzdXBlcihzb2NrZXRDbGllbnQpO1xuICB9XG5cbiAgLyoqXG4gICAqIEB0eXBlZGVmIHtPYmplY3R9IFByb2ZpbGVMaXN0XG4gICAqIEBwcm9wZXJ0eSB7QXJyYXl9IE9yZGVyZWRJZGVudGlmaWVycyBsaXN0IG9mIGFsbCBwcm9maWxlIGlkZW50XG4gICAqIEBwcm9wZXJ0eSB7T2JqZWN0fSBQcm9maWxlTWFuaWZlc3RcbiAgICogQHByb3BlcnR5IHtPYmplY3R9IFByb2ZpbGVNZXRhZGF0YVxuICAgKiBAcHJvcGVydHkge1N0cmluZ30gU3RhdHVzXG4gICAqL1xuXG4gIC8qKlxuICAgKiBHZXQgYWxsIHByb2ZpbGVzIG9mIGlPUyBkZXZpY2VzXG4gICAqIEByZXR1cm5zIHtQcm9maWxlTGlzdH1cbiAgICogZS5nLlxuICAgKiB7XG4gICAqICAgT3JkZXJlZElkZW50aWZpZXJzOiBbICcyZmFjMWMyYjNkNjg0ODQzMTg5YjI5ODFjNzE4YjAxMzI4NTRhODQ3YScgXSxcbiAgICogICBQcm9maWxlTWFuaWZlc3Q6IHtcbiAgICogICAgICcyZmFjMWMyYjNkNjg0ODQzMTg5YjI5ODFjNzE4YjAxMzI4NTRhODQ3YSc6IHtcbiAgICogICAgICAgRGVzY3JpcHRpb246ICdDaGFybGVzIFByb3h5IENBICg3IERlYyAyMDIwLCBNYWNCb29rLVByby5sb2NhbCknLFxuICAgKiAgICAgICBJc0FjdGl2ZTogdHJ1ZVxuICAgKiAgICAgfVxuICAgKiAgIH0sXG4gICAqICAgUHJvZmlsZU1ldGFkYXRhOiB7XG4gICAqICAgICAnMmZhYzFjMmIzZDY4NDg0MzE4OWIyOTgxYzcxOGIwMTMyODU0YTg0N2EnOiB7XG4gICAqICAgICAgIFBheWxvYWREaXNwbGF5TmFtZTogJ0NoYXJsZXMgUHJveHkgQ0EgKDcgRGVjIDIwMjAsIE1hY0Jvb2stUHJvLmxvY2FsKScsXG4gICAqICAgICAgIFBheWxvYWRSZW1vdmFsRGlzYWxsb3dlZDogZmFsc2UsXG4gICAqICAgICAgIFBheWxvYWRVVUlEOiAnQjMwMDA1Q0MtQkM3My00RTQyLTg1NDUtOERBNkM0NEE4QTcxJyxcbiAgICogICAgICAgUGF5bG9hZFZlcnNpb246IDFcbiAgICogICAgIH1cbiAgICogICB9LFxuICAgKiAgIFN0YXR1czogJ0Fja25vd2xlZGdlZCdcbiAgICogfVxuICAgKi9cbiAgYXN5bmMgZ2V0UHJvZmlsZUxpc3QgKCkge1xuICAgIGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMuX3BsaXN0U2VydmljZS5zZW5kUGxpc3RBbmRSZWNlaXZlKHtSZXF1ZXN0VHlwZTogJ0dldFByb2ZpbGVMaXN0J30pO1xuICAgIHJldHVybiBjaGVja0FDSyhyZXMsICdnZXRQcm9maWxlTGlzdCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEluc3RhbGwgcHJvZmlsZSB0byBpT1MgZGV2aWNlXG4gICAqIEBwYXJhbSB7U3RyaW5nfSBwYXRoICBtdXN0IGJlIGEgY2VydGlmaWNhdGUgZmlsZSAuUEVNIC5DRVIgYW5kIG1vcmUgZm9ybWF0c1xuICAgKiBlLmc6IC9Eb3dubG9hZHMvY2hhcmxlcy1jZXJ0aWZpY2F0ZS5wZW1cbiAgICogQHJldHVybnMge09iamVjdH0gZS5nLiB7U3RhdHVzOiAnQWNrbm93bGVkZ2VkJ31cbiAgICovXG4gIGFzeW5jIGluc3RhbGxQcm9maWxlIChwYXRoKSB7XG4gICAgY29uc3QgcGF5bG9hZCA9IGF3YWl0IGZzLnJlYWRGaWxlKHBhdGgpO1xuICAgIGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMuX3BsaXN0U2VydmljZS5zZW5kUGxpc3RBbmRSZWNlaXZlKHsnUmVxdWVzdFR5cGUnOiAnSW5zdGFsbFByb2ZpbGUnLCAnUGF5bG9hZCc6IHBheWxvYWR9KTtcbiAgICByZXR1cm4gY2hlY2tBQ0socmVzLCAnaW5zdGFsbFByb2ZpbGUnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmUgcHJvZmlsZSBmcm9tIGlPUyBkZXZpY2VcbiAgICogQHBhcmFtIHtTdHJpbmd9IGlkZW50ICBRdWVyeSBpZGVudGlmaWVyIGxpc3QgdGhyb3VnaCBnZXRQcm9maWxlTGlzdCBtZXRob2RcbiAgICogQHJldHVybnMge09iamVjdH0gZS5nLiB7U3RhdHVzOiAnQWNrbm93bGVkZ2VkJ31cbiAgICovXG4gIGFzeW5jIHJlbW92ZVByb2ZpbGUgKGlkZW50KSB7XG4gICAgY29uc3QgcHJvZmlsZXMgPSBhd2FpdCB0aGlzLmdldFByb2ZpbGVMaXN0KCk7XG4gICAgY29uc3QgbWV0YSA9IHByb2ZpbGVzLlByb2ZpbGVNZXRhZGF0YVtpZGVudF07XG4gICAgaWYgKCFtZXRhKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYG5vdCBmaW5kIGluc3RhbGxlZCBwcm9maWxlIGlkZW50OiR7aWRlbnR9YCk7XG4gICAgfVxuICAgIGNvbnN0IGRhdGEgPSBwbGlzdC5jcmVhdGVCaW5hcnlQbGlzdCh7J1BheWxvYWRUeXBlJzogJ0NvbmZpZ3VyYXRpb24nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1BheWxvYWRJZGVudGlmaWVyJzogaWRlbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUGF5bG9hZFVVSUQnOiBtZXRhLlBheWxvYWRVVUlELFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1BheWxvYWRWZXJzaW9uJzogbWV0YS5QYXlsb2FkVmVyc2lvbn0pO1xuICAgIGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMuX3BsaXN0U2VydmljZS5zZW5kUGxpc3RBbmRSZWNlaXZlKHsnUmVxdWVzdFR5cGUnOiAnUmVtb3ZlUHJvZmlsZScsICdQcm9maWxlSWRlbnRpZmllcic6IGRhdGF9KTtcbiAgICByZXR1cm4gY2hlY2tBQ0socmVzLCAncmVtb3ZlUHJvZmlsZScpO1xuICB9XG59XG5cbmV4cG9ydCB7IE1DSW5zdGFsbFByb3h5U2VydmljZSwgTUNfSU5TVEFMTF9TRVJWSUNFX05BTUUgfTtcbmV4cG9ydCBkZWZhdWx0IE1DSW5zdGFsbFByb3h5U2VydmljZTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBR0EsTUFBTUEsdUJBQXVCLEdBQUcsNEJBQWhDOztBQUNBLE1BQU1DLFlBQVksR0FBRyxjQUFyQjs7QUFFQSxTQUFTQyxRQUFULENBQW1CQyxHQUFuQixFQUF3QkMsSUFBeEIsRUFBOEI7RUFDNUIsSUFBSUQsR0FBRyxDQUFDRSxNQUFKLEtBQWVKLFlBQW5CLEVBQWlDO0lBQy9CLE1BQU0sSUFBSUssS0FBSixDQUFXLEdBQUVGLElBQUssV0FBVUcsSUFBSSxDQUFDQyxTQUFMLENBQWVMLEdBQWYsQ0FBb0IsRUFBaEQsQ0FBTjtFQUNEOztFQUNELE9BQU9BLEdBQVA7QUFDRDs7QUFFRCxNQUFNTSxxQkFBTixTQUFvQ0MsNkJBQXBDLENBQXFEO0VBQ25EQyxXQUFXLENBQUVDLFlBQUYsRUFBZ0I7SUFDekIsTUFBTUEsWUFBTjtFQUNEOztFQWlDbUIsTUFBZEMsY0FBYyxHQUFJO0lBQ3RCLE1BQU1WLEdBQUcsR0FBRyxNQUFNLEtBQUtXLGFBQUwsQ0FBbUJDLG1CQUFuQixDQUF1QztNQUFDQyxXQUFXLEVBQUU7SUFBZCxDQUF2QyxDQUFsQjtJQUNBLE9BQU9kLFFBQVEsQ0FBQ0MsR0FBRCxFQUFNLGdCQUFOLENBQWY7RUFDRDs7RUFRbUIsTUFBZGMsY0FBYyxDQUFFQyxJQUFGLEVBQVE7SUFDMUIsTUFBTUMsT0FBTyxHQUFHLE1BQU1DLFdBQUEsQ0FBR0MsUUFBSCxDQUFZSCxJQUFaLENBQXRCO0lBQ0EsTUFBTWYsR0FBRyxHQUFHLE1BQU0sS0FBS1csYUFBTCxDQUFtQkMsbUJBQW5CLENBQXVDO01BQUMsZUFBZSxnQkFBaEI7TUFBa0MsV0FBV0k7SUFBN0MsQ0FBdkMsQ0FBbEI7SUFDQSxPQUFPakIsUUFBUSxDQUFDQyxHQUFELEVBQU0sZ0JBQU4sQ0FBZjtFQUNEOztFQU9rQixNQUFibUIsYUFBYSxDQUFFQyxLQUFGLEVBQVM7SUFDMUIsTUFBTUMsUUFBUSxHQUFHLE1BQU0sS0FBS1gsY0FBTCxFQUF2QjtJQUNBLE1BQU1ZLElBQUksR0FBR0QsUUFBUSxDQUFDRSxlQUFULENBQXlCSCxLQUF6QixDQUFiOztJQUNBLElBQUksQ0FBQ0UsSUFBTCxFQUFXO01BQ1QsTUFBTSxJQUFJbkIsS0FBSixDQUFXLG9DQUFtQ2lCLEtBQU0sRUFBcEQsQ0FBTjtJQUNEOztJQUNELE1BQU1JLElBQUksR0FBR0MsY0FBQSxDQUFNQyxpQkFBTixDQUF3QjtNQUFDLGVBQWUsZUFBaEI7TUFDQyxxQkFBcUJOLEtBRHRCO01BRUMsZUFBZUUsSUFBSSxDQUFDSyxXQUZyQjtNQUdDLGtCQUFrQkwsSUFBSSxDQUFDTTtJQUh4QixDQUF4QixDQUFiOztJQUlBLE1BQU01QixHQUFHLEdBQUcsTUFBTSxLQUFLVyxhQUFMLENBQW1CQyxtQkFBbkIsQ0FBdUM7TUFBQyxlQUFlLGVBQWhCO01BQWlDLHFCQUFxQlk7SUFBdEQsQ0FBdkMsQ0FBbEI7SUFDQSxPQUFPekIsUUFBUSxDQUFDQyxHQUFELEVBQU0sZUFBTixDQUFmO0VBQ0Q7O0FBdEVrRDs7O2VBMEV0Q00scUIifQ==
|