scoundrel-remote-eval 1.0.10 → 1.0.12

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.
@@ -66,3 +66,4 @@ export default class WebSocket {
66
66
  this.ws.send(sendData);
67
67
  }
68
68
  }
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY2xpZW50L2Nvbm5lY3Rpb25zL3dlYi1zb2NrZXQvaW5kZXguanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUVaLE9BQU8sTUFBTSxNQUFNLG9CQUFvQixDQUFBO0FBRXZDLE1BQU0sTUFBTSxHQUFHLElBQUksTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUE7QUFFaEQsd0JBQXdCO0FBRXhCLE1BQU0sQ0FBQyxPQUFPLE9BQU8sU0FBUztJQUM1Qjs7O09BR0c7SUFDSCxZQUFZLEVBQUU7UUEyQmQ7O1dBRUc7UUFDSCxrQkFBYSxHQUFHLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDeEIsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLGVBQWUsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFBO1FBQzlDLENBQUMsQ0FBQTtRQUVEOztXQUVHO1FBQ0gsb0JBQWUsR0FBRyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQzFCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFBO1lBRW5DLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxnREFBZ0QsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFBO1lBRTFFLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztnQkFDNUIsTUFBTSxJQUFJLEtBQUssQ0FBQyw2Q0FBNkMsQ0FBQyxDQUFBO1lBQ2hFLENBQUM7WUFFRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDOUIsQ0FBQyxDQUFBO1FBRUQ7O1dBRUc7UUFDSCxpQkFBWSxHQUFHLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDdkIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLGNBQWMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFBO1FBQzNDLENBQUMsQ0FBQTtRQWFELGtCQUFhLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDcEQsYUFBYTtZQUNiLElBQUksQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFBO1lBRXpDLGFBQWE7WUFDYixJQUFJLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQTtRQUMzQyxDQUFDLENBQUMsQ0FBQTtRQXhFQSxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQTtRQUVaLGFBQWE7UUFDYixJQUFJLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUE7UUFFckQsYUFBYTtRQUNiLElBQUksQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQTtRQUVuRCxhQUFhO1FBQ2IsSUFBSSxDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFBO1FBRXpELElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFBO1FBQ2xCLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxDQUFBO0lBQ3hCLENBQUM7SUFFRCxLQUFLLENBQUMsS0FBSztRQUNULE1BQU0sSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQTtJQUN2QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxTQUFTLENBQUMsUUFBUTtRQUNoQixJQUFJLENBQUMsaUJBQWlCLEdBQUcsUUFBUSxDQUFBO0lBQ25DLENBQUM7SUErQkQ7O09BRUc7SUFDSCxJQUFJLENBQUMsSUFBSTtRQUNQLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDckMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFBO1FBRXZDLGFBQWE7UUFDYixJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQTtJQUN4QixDQUFDO0NBU0YiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtY2hlY2tcblxuaW1wb3J0IExvZ2dlciBmcm9tIFwiLi4vLi4vLi4vbG9nZ2VyLmpzXCJcblxuY29uc3QgbG9nZ2VyID0gbmV3IExvZ2dlcihcIlNjb3VuZHJlbCBXZWJTb2NrZXRcIilcblxuLy8gbG9nZ2VyLnNldERlYnVnKHRydWUpXG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFdlYlNvY2tldCB7XG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IFdlYlNvY2tldCBjb25uZWN0aW9uIGhhbmRsZXJcbiAgICogQHBhcmFtIHtXZWJTb2NrZXR9IHdzIFRoZSBXZWJTb2NrZXQgaW5zdGFuY2VcbiAgICovXG4gIGNvbnN0cnVjdG9yKHdzKSB7XG4gICAgdGhpcy53cyA9IHdzXG5cbiAgICAvLyBAdHMtaWdub3JlXG4gICAgdGhpcy53cy5hZGRFdmVudExpc3RlbmVyKFwiZXJyb3JcIiwgdGhpcy5vblNvY2tldEVycm9yKVxuXG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIHRoaXMud3MuYWRkRXZlbnRMaXN0ZW5lcihcIm9wZW5cIiwgdGhpcy5vblNvY2tldE9wZW4pXG5cbiAgICAvLyBAdHMtaWdub3JlXG4gICAgdGhpcy53cy5hZGRFdmVudExpc3RlbmVyKFwibWVzc2FnZVwiLCB0aGlzLm9uU29ja2V0TWVzc2FnZSlcblxuICAgIHRoaXMuY29tbWFuZHMgPSB7fVxuICAgIHRoaXMuY29tbWFuZHNDb3VudCA9IDBcbiAgfVxuXG4gIGFzeW5jIGNsb3NlKCkge1xuICAgIGF3YWl0IHRoaXMud3MuY2xvc2UoKVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7KGRhdGE6IGFueSkgPT4gdm9pZH0gY2FsbGJhY2tcbiAgICovXG4gIG9uQ29tbWFuZChjYWxsYmFjaykge1xuICAgIHRoaXMub25Db21tYW5kQ2FsbGJhY2sgPSBjYWxsYmFja1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7RXZlbnR9IGV2ZW50XG4gICAqL1xuICBvblNvY2tldEVycm9yID0gKGV2ZW50KSA9PiB7XG4gICAgbG9nZ2VyLmVycm9yKCgpID0+IFtcIm9uU29ja2V0RXJyb3JcIiwgZXZlbnRdKVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7TWVzc2FnZUV2ZW50fSBldmVudFxuICAgKi9cbiAgb25Tb2NrZXRNZXNzYWdlID0gKGV2ZW50KSA9PiB7XG4gICAgY29uc3QgZGF0YSA9IEpTT04ucGFyc2UoZXZlbnQuZGF0YSlcblxuICAgIGxvZ2dlci5sb2coKCkgPT4gW1wiQ2xpZW50OjpDb25uZWN0aW9uczo6V2ViU29ja2V0IG9uU29ja2V0TWVzc2FnZVwiLCBkYXRhXSlcblxuICAgIGlmICghdGhpcy5vbkNvbW1hbmRDYWxsYmFjaykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiTm8gb25Db21tYW5kIGNhbGxiYWNrIHNldCwgaWdub3JpbmcgbWVzc2FnZVwiKVxuICAgIH1cblxuICAgIHRoaXMub25Db21tYW5kQ2FsbGJhY2soZGF0YSlcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge0V2ZW50fSBldmVudFxuICAgKi9cbiAgb25Tb2NrZXRPcGVuID0gKGV2ZW50KSA9PiB7XG4gICAgbG9nZ2VyLmxvZygoKSA9PiBbXCJvblNvY2tldE9wZW5cIiwgZXZlbnRdKVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7UmVjb3JkPHN0cmluZywgYW55Pn0gZGF0YVxuICAgKi9cbiAgc2VuZChkYXRhKSB7XG4gICAgY29uc3Qgc2VuZERhdGEgPSBKU09OLnN0cmluZ2lmeShkYXRhKVxuICAgIGxvZ2dlci5sb2coKCkgPT4gW1wiU2VuZGluZ1wiLCBzZW5kRGF0YV0pXG5cbiAgICAvLyBAdHMtaWdub3JlXG4gICAgdGhpcy53cy5zZW5kKHNlbmREYXRhKVxuICB9XG5cbiAgd2FpdEZvck9wZW5lZCA9ICgpID0+IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgdGhpcy53cy5hZGRFdmVudExpc3RlbmVyKFwib3BlblwiLCByZXNvbHZlKVxuXG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIHRoaXMud3MuYWRkRXZlbnRMaXN0ZW5lcihcImVycm9yXCIsIHJlamVjdClcbiAgfSlcbn1cbiJdfQ==
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.js"],"names":[],"mappings":"AASA;IACE;;;;;OAKG;IACH,qBAHW,GAAG,YACH;QAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;KAAC,EA2BzC;IAxBC,aAAsB;IAGtB,kCAAkC;IAClC,kBADW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CACJ;IAC1B,qBAA0B;IAC1B,8BAA8B;IAE9B,kCAAkC;IAClC,UADW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CACZ;IAElB,kCAAkC;IAClC,UADW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CACZ;IAElB,wCAAwC;IACxC,YADW,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAChB;IAEpB,kCAAkC;IAClC,SADW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CACb;IAEjB,qBAAqB;IAErB,sBAAsB;IACtB,sBADW,OAAO,CAC8C;IAGlE;;OAEG;IACH,uBAEC;IAED;;;;;;;OAOG;IACH,mCALW,MAAM,cACN,MAAM,WACF,GAAG,EAAA,GACL,OAAO,CAAC,GAAG,CAAC,CAWxB;IAED;;;;;;;OAOG;IACH,gDALW,MAAM,cACN,MAAM,WACF,GAAG,EAAA,GACL,OAAO,CAAC,SAAS,CAAC,CAY9B;IAED;;;;;OAKG;IACH,8BAHW,MAAM,GACJ,OAAO,CAAC,SAAS,CAAC,CAM9B;IAED;;;;;OAKG;IACH,mBAHW,MAAM,GACJ,OAAO,CAAC,SAAS,CAAC,CAe9B;IAED;;;;;OAKG;IACH,sBAHW,MAAM,GACJ,OAAO,CAAC,SAAS,CAAC,CAY9B;IAED;;;;;;OAMG;IACH,kCAJW,MAAM,WACF,GAAG,EAAA,GACL,OAAO,CAAC,SAAS,CAAC,CAe9B;IAED;;;;OAIG;IACH,qBAHW,GAAG,GACD,OAAO,CAQnB;IAED;;;;;;;;OAQG;IACH,YAAa,0EANV;QAAqB,OAAO,EAApB,MAAM;QACO,UAAU,EAAvB,MAAM;QACI,IAAI,EAAd,GAAG;QACW,KAAK,GAAnB,MAAM;QACQ,UAAU,GAAxB,MAAM;KAEkE,UAkJlF;IAED;;;;;OAKG;IACH,cAHW,GAAG,GACD,GAAG,CAwBf;IAED;;;;;;OAMG;IACH,mDAJW,MAAM,iBACN,MAAM,GACJ,OAAO,CAAC,SAAS,CAAC,CAW9B;IAED;;;;;;OAMG;IACH,sCAJW,MAAM,iBACN,MAAM,GACJ,OAAO,CAAC,GAAG,CAAC,CASxB;IAED;;;;;OAKG;IACH,yBAHW,MAAM,iBACN,GAAG,QAMb;IAED;;;;;OAKG;IACH,oBAHW,MAAM,GACJ,GAAG,CAIf;IAED;;;;;OAKG;IACH,2BAHW,MAAM,kBACN,GAAG,QAMb;IAED;;;;;OAKG;IACH,iCAHW,MAAM,GACJ,GAAG,CAIf;IAED;;;;OAIG;IACH,4BAHW,MAAM,QACN,GAAG,QAIb;IAED;;;;;OAKG;IACH,qBAJW,MAAM,QACN,GAAG,GACD,OAAO,CAAC,GAAG,CAAC,CAexB;IAED;;;OAGG;IACH,WAFW,GAAG,QAIb;IAED;;;;;OAKG;IACH,gCAHW,MAAM,GACJ,OAAO,CAAC,GAAG,CAAC,CAMxB;IAED;;;;;OAKG;IACH,mBAHW,MAAM,GACJ,SAAS,CAQrB;IAED,4BAEC;CACF;sBAxfqB,gBAAgB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.js"],"names":[],"mappings":"AASA;IACE;;;;;OAKG;IACH,qBAHW,GAAG,YACH;QAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;KAAC,EA2BzC;IAxBC,aAAsB;IAGtB,kCAAkC;IAClC,kBADW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CACJ;IAC1B,qBAA0B;IAC1B,8BAA8B;IAE9B,kCAAkC;IAClC,UADW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CACZ;IAElB,kCAAkC;IAClC,UADW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CACZ;IAElB,wCAAwC;IACxC,YADW,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAChB;IAEpB,kCAAkC;IAClC,SADW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CACb;IAEjB,qBAAqB;IAErB,sBAAsB;IACtB,sBADW,OAAO,CAC8C;IAGlE;;OAEG;IACH,uBAEC;IAED;;;;;;;OAOG;IACH,mCALW,MAAM,cACN,MAAM,WACF,GAAG,EAAA,GACL,OAAO,CAAC,GAAG,CAAC,CAWxB;IAED;;;;;;;OAOG;IACH,gDALW,MAAM,cACN,MAAM,WACF,GAAG,EAAA,GACL,OAAO,CAAC,SAAS,CAAC,CAY9B;IAED;;;;;OAKG;IACH,8BAHW,MAAM,GACJ,OAAO,CAAC,SAAS,CAAC,CAM9B;IAED;;;;;OAKG;IACH,mBAHW,MAAM,GACJ,OAAO,CAAC,SAAS,CAAC,CAe9B;IAED;;;;;OAKG;IACH,sBAHW,MAAM,GACJ,OAAO,CAAC,SAAS,CAAC,CAY9B;IAED;;;;;;OAMG;IACH,kCAJW,MAAM,WACF,GAAG,EAAA,GACL,OAAO,CAAC,SAAS,CAAC,CAe9B;IAED;;;;OAIG;IACH,qBAHW,GAAG,GACD,OAAO,CAQnB;IAED;;;;;;;;OAQG;IACH,YAAa,0EANV;QAAqB,OAAO,EAApB,MAAM;QACO,UAAU,EAAvB,MAAM;QACI,IAAI,EAAd,GAAG;QACW,KAAK,GAAnB,MAAM;QACQ,UAAU,GAAxB,MAAM;KAEkE,UAsKlF;IAED;;;;;OAKG;IACH,cAHW,GAAG,GACD,GAAG,CAwBf;IAED;;;;;;OAMG;IACH,mDAJW,MAAM,iBACN,MAAM,GACJ,OAAO,CAAC,SAAS,CAAC,CAW9B;IAED;;;;;;OAMG;IACH,sCAJW,MAAM,iBACN,MAAM,GACJ,OAAO,CAAC,GAAG,CAAC,CASxB;IAED;;;;;OAKG;IACH,yBAHW,MAAM,iBACN,GAAG,QAMb;IAED;;;;;OAKG;IACH,oBAHW,MAAM,GACJ,GAAG,CAIf;IAED;;;;;OAKG;IACH,2BAHW,MAAM,kBACN,GAAG,QAMb;IAED;;;;;OAKG;IACH,iCAHW,MAAM,GACJ,GAAG,CAIf;IAED;;;;OAIG;IACH,4BAHW,MAAM,QACN,GAAG,QAIb;IAED;;;;;OAKG;IACH,qBAJW,MAAM,QACN,GAAG,GACD,OAAO,CAAC,GAAG,CAAC,CAkBxB;IAED;;;OAGG;IACH,WAFW,GAAG,QAIb;IAED;;;;;OAKG;IACH,gCAHW,MAAM,GACJ,OAAO,CAAC,GAAG,CAAC,CAMxB;IAED;;;;;OAKG;IACH,mBAHW,MAAM,GACJ,SAAS,CAQrB;IAED,4BAEC;CACF;sBA/gBqB,gBAAgB"}
@@ -34,9 +34,29 @@ export default class Client {
34
34
  delete this.outgoingCommands[commandID];
35
35
  if (error) {
36
36
  const errorToThrow = new Error(error);
37
- if (errorStack) {
38
- errorToThrow.stack = `${errorStack}\n\n${errorToThrow.stack}`;
39
- }
37
+ const sanitizeStack = (stack) => {
38
+ if (!stack)
39
+ return [];
40
+ return stack
41
+ .split("\n")
42
+ .map((line) => line.trim())
43
+ .filter((line) => line)
44
+ .filter((line) => !/node_modules\/ws|node:|internal\//.test(line))
45
+ .filter((line) => !line.startsWith("Error:"));
46
+ };
47
+ const formatSection = (label, stack) => {
48
+ const lines = sanitizeStack(stack);
49
+ if (lines.length === 0)
50
+ return [];
51
+ return [`${label} ${lines[0]}`, ...lines.slice(1)];
52
+ };
53
+ const combinedStack = [
54
+ `Error: ${error}`,
55
+ ...formatSection("[SCOUNTDREL-SERVER]", errorStack),
56
+ ...formatSection("[SCOUNDREL-CLIENT]", errorToThrow.stack),
57
+ ...formatSection("[SCOUNDREL-CLIENT]", savedCommand.originStack ? `Command created at:\n${savedCommand.originStack}` : null)
58
+ ].join("\n");
59
+ errorToThrow.stack = combinedStack;
40
60
  savedCommand.reject(errorToThrow);
41
61
  }
42
62
  else {
@@ -397,7 +417,7 @@ export default class Client {
397
417
  * @param {any} data
398
418
  */
399
419
  respondToCommand(commandId, data) {
400
- this.sendCommand("command_response", { command_id: commandId, data });
420
+ this.send({ command: "command_response", command_id: commandId, data: { command_id: commandId, data } });
401
421
  }
402
422
  /**
403
423
  * Sends a command to the backend and returns a promise that resolves with the response
@@ -408,12 +428,16 @@ export default class Client {
408
428
  sendCommand(command, data) {
409
429
  return new Promise((resolve, reject) => {
410
430
  const outgoingCommandCount = ++this.outgoingCommandsCount;
431
+ const originError = new Error(`Command '${command}' dispatched`);
432
+ // Strip the sendCommand frame to highlight the caller site.
433
+ if (Error.captureStackTrace)
434
+ Error.captureStackTrace(originError, this.sendCommand);
411
435
  const commandData = {
412
436
  command,
413
437
  command_id: outgoingCommandCount,
414
438
  data
415
439
  };
416
- this.outgoingCommands[outgoingCommandCount] = { resolve, reject };
440
+ this.outgoingCommands[outgoingCommandCount] = { resolve, reject, originStack: originError.stack };
417
441
  logger.log(() => ["Sending", commandData]);
418
442
  this.send(commandData);
419
443
  });
@@ -450,3 +474,4 @@ export default class Client {
450
474
  this.serverControlEnabled = true;
451
475
  }
452
476
  }
477
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2xpZW50L2luZGV4LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7QUFFWixPQUFPLE1BQU0sTUFBTSxjQUFjLENBQUE7QUFDakMsT0FBTyxTQUFTLE1BQU0sZ0JBQWdCLENBQUE7QUFFdEMsTUFBTSxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQTtBQUU3Qyx3QkFBd0I7QUFFeEIsTUFBTSxDQUFDLE9BQU8sT0FBTyxNQUFNO0lBQ3pCOzs7OztPQUtHO0lBQ0gsWUFBWSxPQUFPLEVBQUUsT0FBTyxHQUFHLEVBQUU7UUErSmpDOzs7Ozs7OztXQVFHO1FBQ0gsY0FBUyxHQUFHLENBQUMsRUFBQyxPQUFPLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxHQUFHLFFBQVEsRUFBQyxFQUFFLEVBQUU7WUFDckYsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFDLENBQUMsQ0FBQyxDQUFBO1lBRXhGLElBQUksQ0FBQztnQkFDSCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7b0JBQ2IsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQ0FBaUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFBO2dCQUN0RixDQUFDO3FCQUFNLElBQUksT0FBTyxJQUFJLGtCQUFrQixFQUFFLENBQUM7b0JBQ3pDLElBQUksQ0FBQyxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDO3dCQUMxQyxNQUFNLElBQUksS0FBSyxDQUFDLG9CQUFvQixTQUFTLGVB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O0lBQ0gsSUFBSSxDQUFDLElBQUk7UUFDUCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUN6QixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxLQUFLLENBQUMsa0JBQWtCLENBQUMsV0FBVztRQUNsQyxNQUFNLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMscUJBQXFCLEVBQUUsRUFBQyxZQUFZLEVBQUUsV0FBVyxFQUFDLENBQUMsQ0FBQTtRQUV2RixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDekIsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsY0FBYyxDQUFDLEVBQUU7UUFDZixNQUFNLFNBQVMsR0FBRyxJQUFJLFNBQVMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUE7UUFFekMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsR0FBRyxTQUFTLENBQUE7UUFFL0IsT0FBTyxTQUFTLENBQUE7SUFDbEIsQ0FBQztJQUVELG1CQUFtQjtRQUNqQixJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFBO0lBQ2xDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuXG5pbXBvcnQgTG9nZ2VyIGZyb20gXCIuLi9sb2dnZXIuanNcIlxuaW1wb3J0IFJlZmVyZW5jZSBmcm9tIFwiLi9yZWZlcmVuY2UuanNcIlxuXG5jb25zdCBsb2dnZXIgPSBuZXcgTG9nZ2VyKFwiU2NvdW5kcmVsIENsaWVudFwiKVxuXG4vLyBsb2dnZXIuc2V0RGVidWcodHJ1ZSlcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ2xpZW50IHtcbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgU2NvdW5kcmVsIENsaWVudFxuICAgKlxuICAgKiBAcGFyYW0ge2FueX0gYmFja2VuZCBUaGUgYmFja2VuZCBjb25uZWN0aW9uIChlLmcuLCBXZWJTb2NrZXQpXG4gICAqIEBwYXJhbSB7e2VuYWJsZVNlcnZlckNvbnRyb2w/OiBib29sZWFufX0gW29wdGlvbnNdXG4gICAqL1xuICBjb25zdHJ1Y3RvcihiYWNrZW5kLCBvcHRpb25zID0ge30pIHtcbiAgICB0aGlzLmJhY2tlbmQgPSBiYWNrZW5kXG4gICAgdGhpcy5iYWNrZW5kLm9uQ29tbWFuZCh0aGlzLm9uQ29tbWFuZClcblxuICAgIC8qKiBAdHlwZSB7UmVjb3JkPG51bWJlciwgYW55Pn0gKi9cbiAgICB0aGlzLm91dGdvaW5nQ29tbWFuZHMgPSB7fVxuICAgIHRoaXMuaW5jb21pbmdDb21tYW5kcyA9IHt9XG4gICAgdGhpcy5vdXRnb2luZ0NvbW1hbmRzQ291bnQgPSAwXG5cbiAgICAvKiogQHR5cGUge1JlY29yZDxzdHJpbmcsIGFueT59ICovXG4gICAgdGhpcy5fY2xhc3NlcyA9IHt9XG5cbiAgICAvKiogQHR5cGUge1JlY29yZDxzdHJpbmcsIGFueT59ICovXG4gICAgdGhpcy5fb2JqZWN0cyA9IHt9XG5cbiAgICAvKiogQHR5cGUge1JlY29yZDxzdHJpbmcsIFJlZmVyZW5jZT59ICovXG4gICAgdGhpcy5yZWZlcmVuY2VzID0ge31cblxuICAgIC8qKiBAdHlwZSB7UmVjb3JkPG51bWJlciwgYW55Pn0gKi9cbiAgICB0aGlzLm9iamVjdHMgPSB7fVxuXG4gICAgdGhpcy5vYmplY3RzQ291bnQgPSAwXG5cbiAgICAvKiogQHR5cGUge2Jvb2xlYW59ICovXG4gICAgdGhpcy5zZXJ2ZXJDb250cm9sRW5hYmxlZCA9IEJvb2xlYW4ob3B0aW9ucy5lbmFibGVTZXJ2ZXJDb250cm9sKVxuICB9XG5cbiAgLyoqXG4gICAqIENsb3NlcyB0aGUgY2xpZW50IGNvbm5lY3Rpb25cbiAgICovXG4gIGFzeW5jIGNsb3NlKCkge1xuICAgIHRoaXMuYmFja2VuZC5jbG9zZSgpXG4gIH1cblxuICAvKipcbiAgICogQ2FsbHMgYSBtZXRob2Qgb24gYSByZWZlcmVuY2UgYW5kIHJldHVybnMgdGhlIHJlc3VsdCBkaXJlY3RseVxuICAgKlxuICAgKiBAcGFyYW0ge251bWJlcn0gcmVmZXJlbmNlSWRcbiAgICogQHBhcmFtIHtzdHJpbmd9IG1ldGhvZE5hbWVcbiAgICogQHBhcmFtICB7Li4uYW55fSBhcmdzXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPGFueT59XG4gICAqL1xuICBhc3luYyBjYWxsTWV0aG9kT25SZWZlcmVuY2UocmVmZXJlbmNlSWQsIG1ldGhvZE5hbWUsIC4uLmFyZ3MpIHtcbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLnNlbmRDb21tYW5kKFwiY2FsbF9tZXRob2Rfb25fcmVmZXJlbmNlXCIsIHtcbiAgICAgIGFyZ3M6IHRoaXMucGFyc2VBcmcoYXJncyksXG4gICAgICBtZXRob2RfbmFtZTogbWV0aG9kTmFtZSxcbiAgICAgIHJlZmVyZW5jZV9pZDogcmVmZXJlbmNlSWQsXG4gICAgICB3aXRoOiBcInJlc3VsdFwiXG4gICAgfSlcblxuICAgIHJldHVybiByZXN1bHQucmVzcG9uc2VcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxscyBhIG1ldGhvZCBvbiBhIHJlZmVyZW5jZSBhbmQgcmV0dXJucyBhIG5ldyByZWZlcmVuY2VcbiAgICpcbiAgICogQHBhcmFtIHtudW1iZXJ9IHJlZmVyZW5jZUlkXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBtZXRob2ROYW1lXG4gICAqIEBwYXJhbSAgey4uLmFueX0gYXJnc1xuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxSZWZlcmVuY2U+fVxuICAgKi9cbiAgYXN5bmMgY2FsbE1ldGhvZE9uUmVmZXJlbmNlV2l0aFJlZmVyZW5jZShyZWZlcmVuY2VJZCwgbWV0aG9kTmFtZSwgLi4uYXJncykge1xuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMuc2VuZENvbW1hbmQoXCJjYWxsX21ldGhvZF9vbl9yZWZlcmVuY2VcIiwge1xuICAgICAgYXJnczogdGhpcy5wYXJzZUFyZyhhcmdzKSxcbiAgICAgIG1ldGhvZF9uYW1lOiBtZXRob2ROYW1lLFxuICAgICAgcmVmZXJlbmNlX2lkOiByZWZlcmVuY2VJZCxcbiAgICAgIHdpdGg6IFwicmVmZXJlbmNlXCJcbiAgICB9KVxuICAgIGNvbnN0IGlkID0gcmVzdWx0LnJlc3BvbnNlXG5cbiAgICByZXR1cm4gdGhpcy5zcGF3blJlZmVyZW5jZShpZClcbiAgfVxuXG4gIC8qKlxuICAgKiBFdmFsdWF0ZXMgYSBzdHJpbmcgYW5kIHJldHVybnMgYSBuZXcgcmVmZXJlbmNlXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBldmFsU3RyaW5nXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPFJlZmVyZW5jZT59XG4gICAqL1xuICBhc3luYyBldmFsV2l0aFJlZmVyZW5jZShldmFsU3RyaW5nKSB7XG4gICAgY29uc3QgZXZhbFJlZmVyZW5jZSA9IGF3YWl0IHRoaXMuZ2V0T2JqZWN0KFwiZXZhbFwiKVxuXG4gICAgcmV0dXJuIGF3YWl0IGV2YWxSZWZlcmVuY2UuY2FsbE1ldGhvZFdpdGhSZWZlcmVuY2UoXCJjYWxsXCIsIG51bGwsIGV2YWxTdHJpbmcpXG4gIH1cblxuICAvKipcbiAgICogSW1wb3J0cyBhIG1vZHVsZSBhbmQgcmV0dXJucyBhIHJlZmVyZW5jZSB0byBpdFxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gaW1wb3J0TmFtZVxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxSZWZlcmVuY2U+fVxuICAgKi9cbiAgYXN5bmMgaW1wb3J0KGltcG9ydE5hbWUpIHtcbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLnNlbmRDb21tYW5kKFwiaW1wb3J0XCIsIHtcbiAgICAgIGltcG9ydF9uYW1lOiBpbXBvcnROYW1lXG4gICAgfSlcblxuICAgIGxvZ2dlci5sb2coKCkgPT4gW1wiaW1wb3J0XCIsIHtyZXN1bHR9XSlcblxuICAgIGlmICghcmVzdWx0KSB0aHJvdyBuZXcgRXJyb3IoXCJObyByZXN1bHQgZ2l2ZW5cIilcbiAgICBpZiAoIXJlc3VsdC5vYmplY3RfaWQpIHRocm93IG5ldyBFcnJvcihgTm8gb2JqZWN0IElEIGdpdmVuIGluIHJlc3VsdDogJHtKU09OLnN0cmluZ2lmeShyZXN1bHQpfWApXG5cbiAgICBjb25zdCBpZCA9IHJlc3VsdC5vYmplY3RfaWRcblxuICAgIHJldHVybiB0aGlzLnNwYXduUmVmZXJlbmNlKGlkKVxuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgYSByZWdpc3RlcmVkIG9iamVjdCBieSBuYW1lXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBvYmplY3ROYW1lXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPFJlZmVyZW5jZT59XG4gICAqL1xuICBhc3luYyBnZXRPYmplY3Qob2JqZWN0TmFtZSkge1xuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMuc2VuZENvbW1hbmQoXCJnZXRfb2JqZWN0XCIsIHtcbiAgICAgIG9iamVjdF9uYW1lOiBvYmplY3ROYW1lXG4gICAgfSlcblxuICAgIGlmICghcmVzdWx0KSB0aHJvdyBuZXcgRXJyb3IoXCJCbGFuayByZXN1bHQgZ2l2ZW5cIilcblxuICAgIGNvbnN0IGlkID0gcmVzdWx0Lm9iamVjdF9pZFxuXG4gICAgcmV0dXJuIHRoaXMuc3Bhd25SZWZlcmVuY2UoaWQpXG4gIH1cblxuICAvKipcbiAgICogU3Bhd25zIGEgbmV3IHJlZmVyZW5jZSB0byBhbiBvYmplY3RcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGNsYXNzTmFtZVxuICAgKiBAcGFyYW0gIHsuLi5hbnl9IGFyZ3NcbiAgICogQHJldHVybnMge1Byb21pc2U8UmVmZXJlbmNlPn1cbiAgICovXG4gIGFzeW5jIG5ld09iamVjdFdpdGhSZWZlcmVuY2UoY2xhc3NOYW1lLCAuLi5hcmdzKSB7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5zZW5kQ29tbWFuZChcIm5ld19vYmplY3Rfd2l0aF9yZWZlcmVuY2VcIiwge1xuICAgICAgYXJnczogdGhpcy5wYXJzZUFyZyhhcmdzKSxcbiAgICAgIGNsYXNzX25hbWU6IGNsYXNzTmFtZVxuICAgIH0pXG5cbiAgICBpZiAoIXJlc3VsdCkgdGhyb3cgbmV3IEVycm9yKFwiQmxhbmsgcmVzdWx0IGdpdmVuXCIpXG5cbiAgICBjb25zdCBpZCA9IHJlc3VsdC5vYmplY3RfaWRcblxuICAgIGlmICghaWQpIHRocm93IG5ldyBFcnJvcihgTm8gb2JqZWN0IElEIGdpdmVuIGluIHJlc3VsdDogJHtKU09OLnN0cmluZ2lmeShyZXN1bHQpfWApXG5cbiAgICByZXR1cm4gdGhpcy5zcGF3blJlZmVyZW5jZShpZClcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgdGhlIGlucHV0IGlzIGEgcGxhaW4gb2JqZWN0XG4gICAqIEBwYXJhbSB7YW55fSBpbnB1dFxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn1cbiAgICovXG4gIGlzUGxhaW5PYmplY3QoaW5wdXQpIHtcbiAgICBpZiAoaW5wdXQgJiYgdHlwZW9mIGlucHV0ID09PSBcIm9iamVjdFwiICYmICFBcnJheS5pc0FycmF5KGlucHV0KSkge1xuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuXG4gIC8qKlxuICAgKiBIYW5kbGVzIGFuIGluY29taW5nIGNvbW1hbmQgZnJvbSB0aGUgYmFja2VuZFxuICAgKiBAcGFyYW0ge29iamVjdH0gYXJnc1xuICAgKiBAcGFyYW0ge3N0cmluZ30gYXJncy5jb21tYW5kXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBhcmdzLmNvbW1hbmRfaWRcbiAgICogQHBhcmFtIHthbnl9IGFyZ3MuZGF0YVxuICAgKiBAcGFyYW0ge3N0cmluZ30gW2FyZ3MuZXJyb3JdXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbYXJncy5lcnJvclN0YWNrXVxuICAgKi9cbiAgb25Db21tYW5kID0gKHtjb21tYW5kLCBjb21tYW5kX2lkOiBjb21tYW5kSUQsIGRhdGEsIGVycm9yLCBlcnJvclN0YWNrLCAuLi5yZXN0QXJnc30pID0+IHtcbiAgICBsb2dnZXIubG9nKCgpID0+IFtcIm9uQ29tbWFuZFwiLCB7Y29tbWFuZCwgY29tbWFuZElELCBkYXRhLCBlcnJvciwgZXJyb3JTdGFjaywgcmVzdEFyZ3N9XSlcblxuICAgIHRyeSB7XG4gICAgICBpZiAoIWNvbW1hbmQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBObyBjb21tYW5kIGtleSBnaXZlbiBpbiBkYXRhOiAke09iamVjdC5rZXlzKHJlc3RBcmdzKS5qb2luKFwiLCBcIil9YClcbiAgICAgIH0gZWxzZSBpZiAoY29tbWFuZCA9PSBcImNvbW1hbmRfcmVzcG9uc2VcIikge1xuICAgICAgICBpZiAoIShjb21tYW5kSUQgaW4gdGhpcy5vdXRnb2luZ0NvbW1hbmRzKSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgT3V0Z29pbmcgY29tbWFuZCAke2NvbW1hbmRJRH0gbm90IGZvdW5kOiAke09iamVjdC5rZXlzKHRoaXMub3V0Z29pbmdDb21tYW5kcykuam9pbihcIiwgXCIpfWApXG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBzYXZlZENvbW1hbmQgPSB0aGlzLm91dGdvaW5nQ29tbWFuZHNbY29tbWFuZElEXVxuXG4gICAgICAgIGRlbGV0ZSB0aGlzLm91dGdvaW5nQ29tbWFuZHNbY29tbWFuZElEXVxuXG4gICAgICAgIGlmIChlcnJvcikge1xuICAgICAgICAgIGNvbnN0IGVycm9yVG9UaHJvdyA9IG5ldyBFcnJvcihlcnJvcilcbiAgICAgICAgICBjb25zdCBzYW5pdGl6ZVN0YWNrID0gKHN0YWNrKSA9PiB7XG4gICAgICAgICAgICBpZiAoIXN0YWNrKSByZXR1cm4gW11cbiAgICAgICAgICAgIHJldHVybiBzdGFja1xuICAgICAgICAgICAgICAuc3BsaXQoXCJcXG5cIilcbiAgICAgICAgICAgICAgLm1hcCgobGluZSkgPT4gbGluZS50cmltKCkpXG4gICAgICAgICAgICAgIC5maWx0ZXIoKGxpbmUpID0+IGxpbmUpXG4gICAgICAgICAgICAgIC5maWx0ZXIoKGxpbmUpID0+ICEvbm9kZV9tb2R1bGVzXFwvd3N8bm9kZTp8aW50ZXJuYWxcXC8vLnRlc3QobGluZSkpXG4gICAgICAgICAgICAgIC5maWx0ZXIoKGxpbmUpID0+ICFsaW5lLnN0YXJ0c1dpdGgoXCJFcnJvcjpcIikpXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3QgZm9ybWF0U2VjdGlvbiA9IChsYWJlbCwgc3RhY2spID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGxpbmVzID0gc2FuaXRpemVTdGFjayhzdGFjaylcbiAgICAgICAgICAgIGlmIChsaW5lcy5sZW5ndGggPT09IDApIHJldHVybiBbXVxuICAgICAgICAgICAgcmV0dXJuIFtgJHtsYWJlbH0gJHtsaW5lc1swXX1gLCAuLi5saW5lcy5zbGljZSgxKV1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zdCBjb21iaW5lZFN0YWNrID0gW1xuICAgICAgICAgICAgYEVycm9yOiAke2Vycm9yfWAsXG4gICAgICAgICAgICAuLi5mb3JtYXRTZWN0aW9uKFwiW1NDT1VOVERSRUwtU0VSVkVSXVwiLCBlcnJvclN0YWNrKSxcbiAgICAgICAgICAgIC4uLmZvcm1hdFNlY3Rpb24oXCJbU0NPVU5EUkVMLUNMSUVOVF1cIiwgZXJyb3JUb1Rocm93LnN0YWNrKSxcbiAgICAgICAgICAgIC4uLmZvcm1hdFNlY3Rpb24oXCJbU0NPVU5EUkVMLUNMSUVOVF1cIiwgc2F2ZWRDb21tYW5kLm9yaWdpblN0YWNrID8gYENvbW1hbmQgY3JlYXRlZCBhdDpcXG4ke3NhdmVkQ29tbWFuZC5vcmlnaW5TdGFja31gIDogbnVsbClcbiAgICAgICAgICBdLmpvaW4oXCJcXG5cIilcblxuICAgICAgICAgIGVycm9yVG9UaHJvdy5zdGFjayA9IGNvbWJpbmVkU3RhY2tcblxuICAgICAgICAgIHNhdmVkQ29tbWFuZC5yZWplY3QoZXJyb3JUb1Rocm93KVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGxvZ2dlci5sb2coKCkgPT4gW2BSZXNvbHZpbmcgY29tbWFuZCAke2NvbW1hbmRJRH0gd2l0aCBkYXRhYCwgZGF0YV0pXG4gICAgICAgICAgc2F2ZWRDb21tYW5kLnJlc29sdmUoZGF0YS5kYXRhKVxuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKCF0aGlzLnNlcnZlckNvbnRyb2xFbmFibGVkKSB7XG4gICAgICAgIHRoaXMuc2VuZCh7Y29tbWFuZDogXCJjb21tYW5kX3Jlc3BvbnNlXCIsIGNvbW1hbmRfaWQ6IGNvbW1hbmRJRCwgZXJyb3I6IFwiU2VydmVyIGNvbnRyb2wgaXMgZGlzYWJsZWRcIn0pXG4gICAgICAgIHJldHVyblxuICAgICAgfSBlbHNlIGlmIChjb21tYW5kID09IFwiZ2V0X29iamVjdFwiKSB7XG4gICAgICAgIGNvbnN0IHNlcnZlck9iamVjdCA9IHRoaXMuX2dldFJlZ2lzdGVyZWRPYmplY3QoZGF0YS5vYmplY3RfbmFtZSlcbiAgICAgICAgbGV0IG9iamVjdFxuXG4gICAgICAgIGlmIChzZXJ2ZXJPYmplY3QpIHtcbiAgICAgICAgICBvYmplY3QgPSBzZXJ2ZXJPYmplY3RcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBvYmplY3QgPSBnbG9iYWxUaGlzW2RhdGEub2JqZWN0X25hbWVdXG5cbiAgICAgICAgICBpZiAoIW9iamVjdCkgdGhyb3cgbmV3IEVycm9yKGBObyBzdWNoIG9iamVjdDogJHtkYXRhLm9iamVjdF9uYW1lfWApXG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBvYmplY3RJZCA9ICsrdGhpcy5vYmplY3RzQ291bnRcblxuICAgICAgICB0aGlzLm9iamVjdHNbb2JqZWN0SWRdID0gb2JqZWN0XG4gICAgICAgIHRoaXMucmVzcG9uZFRvQ29tbWFuZChjb21tYW5kSUQsIHtvYmplY3RfaWQ6IG9iamVjdElkfSlcbiAgICAgIH0gZWxzZSBpZiAoY29tbWFuZCA9PSBcIm5ld19vYmplY3Rfd2l0aF9yZWZlcmVuY2VcIikge1xuICAgICAgICBjb25zdCBjbGFzc05hbWUgPSBkYXRhLmNsYXNzX25hbWVcbiAgICAgICAgbGV0IG9iamVjdFxuXG4gICAgICAgIGlmICh0eXBlb2YgY2xhc3NOYW1lID09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgICBjb25zdCBDbGFzc0luc3RhbmNlID0gdGhpcy5nZXRDbGFzcyhjbGFzc05hbWUpIHx8IGdsb2JhbFRoaXNbY2xhc3NOYW1lXVxuXG4gICAgICAgICAgaWYgKCFDbGFzc0luc3RhbmNlKSB0aHJvdyBuZXcgRXJyb3IoYE5vIHN1Y2ggY2xhc3M6ICR7Y2xhc3NOYW1lfWApXG5cbiAgICAgICAgICBvYmplY3QgPSBuZXcgQ2xhc3NJbnN0YW5jZSguLi5kYXRhLmFyZ3MpXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBEb24ndCBrbm93IGhvdyB0byBoYW5kbGUgY2xhc3MgbmFtZTogJHt0eXBlb2YgY2xhc3NOYW1lfWApXG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBvYmplY3RJZCA9ICsrdGhpcy5vYmplY3RzQ291bnRcblxuICAgICAgICB0aGlzLm9iamVjdHNbb2JqZWN0SWRdID0gb2JqZWN0XG4gICAgICAgIHRoaXMucmVzcG9uZFRvQ29tbWFuZChjb21tYW5kSUQsIHtvYmplY3RfaWQ6IG9iamVjdElkfSlcbiAgICAgIH0gZWxzZSBpZiAoY29tbWFuZCA9PSBcImNhbGxfbWV0aG9kX29uX3JlZmVyZW5jZVwiKSB7XG4gICAgICAgIGNvbnN0IHJlZmVyZW5jZUlkID0gZGF0YS5yZWZlcmVuY2VfaWRcbiAgICAgICAgY29uc3Qgb2JqZWN0ID0gdGhpcy5vYmplY3RzW3JlZmVyZW5jZUlkXVxuXG4gICAgICAgIGlmICghb2JqZWN0KSB0aHJvdyBuZXcgRXJyb3IoYE5vIG9iamVjdCBieSB0aGF0IElEOiAke3JlZmVyZW5jZUlkfWApXG5cbiAgICAgICAgY29uc3QgbWV0aG9kID0gb2JqZWN0W2RhdGEubWV0aG9kX25hbWVdXG5cbiAgICAgICAgaWYgKCFtZXRob2QpIHRocm93IG5ldyBFcnJvcihgTm8gbWV0aG9kIGNhbGxlZCAnJHtkYXRhLm1ldGhvZF9uYW1lfScgb24gYSAnJHtvYmplY3QuY29uc3RydWN0b3IubmFtZX0nYClcblxuICAgICAgICBjb25zdCByZXNwb25zZSA9IG1ldGhvZC5jYWxsKG9iamVjdCwgLi4uZGF0YS5hcmdzKVxuXG4gICAgICAgIGlmIChkYXRhLndpdGggPT0gXCJyZWZlcmVuY2VcIikge1xuICAgICAgICAgIGNvbnN0IG9iamVjdElkID0gKyt0aGlzLm9iamVjdHNDb3VudFxuXG4gICAgICAgICAgdGhpcy5vYmplY3RzW29iamVjdElkXSA9IHJlc3BvbnNlXG4gICAgICAgICAgdGhpcy5yZXNwb25kVG9Db21tYW5kKGNvbW1hbmRJRCwge3Jlc3BvbnNlOiBvYmplY3RJZH0pXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5yZXNwb25kVG9Db21tYW5kKGNvbW1hbmRJRCwge3Jlc3BvbnNlfSlcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChjb21tYW5kID09IFwic2VyaWFsaXplX3JlZmVyZW5jZVwiKSB7XG4gICAgICAgIGNvbnN0IHJlZmVyZW5jZUlkID0gZGF0YS5yZWZlcmVuY2VfaWRcbiAgICAgICAgY29uc3Qgb2JqZWN0ID0gdGhpcy5vYmplY3RzW3JlZmVyZW5jZUlkXVxuXG4gICAgICAgIGlmICghb2JqZWN0KSB0aHJvdyBuZXcgRXJyb3IoYE5vIG9iamVjdCBieSB0aGF0IElEOiAke3JlZmVyZW5jZUlkfWApXG5cbiAgICAgICAgdGhpcy5yZXNwb25kVG9Db21tYW5kKGNvbW1hbmRJRCwgSlNPTi5zdHJpbmdpZnkob2JqZWN0KSlcbiAgICAgIH0gZWxzZSBpZiAoY29tbWFuZCA9PSBcInJlYWRfYXR0cmlidXRlXCIpIHtcbiAgICAgICAgY29uc3QgYXR0cmlidXRlTmFtZSA9IGRhdGEuYXR0cmlidXRlX25hbWVcbiAgICAgICAgY29uc3QgcmVmZXJlbmNlSWQgPSBkYXRhLnJlZmVyZW5jZV9pZFxuICAgICAgICBjb25zdCByZXR1cm5XaXRoID0gZGF0YS53aXRoXG4gICAgICAgIGNvbnN0IG9iamVjdCA9IHRoaXMub2JqZWN0c1tyZWZlcmVuY2VJZF1cblxuICAgICAgICBpZiAoIW9iamVjdCkgdGhyb3cgbmV3IEVycm9yKGBObyBvYmplY3QgYnkgdGhhdCBJRDogJHtyZWZlcmVuY2VJZH1gKVxuXG4gICAgICAgIGNvbnN0IGF0dHJpYnV0ZSA9IG9iamVjdFthdHRyaWJ1dGVOYW1lXVxuXG4gICAgICAgIGlmIChyZXR1cm5XaXRoID09IFwicmVmZXJlbmNlXCIpIHtcbiAgICAgICAgICBjb25zdCBvYmplY3RJZCA9ICsrdGhpcy5vYmplY3RzQ291bnRcblxuICAgICAgICAgIHRoaXMub2JqZWN0c1tvYmplY3RJZF0gPSBhdHRyaWJ1dGVcbiAgICAgICAgICB0aGlzLnJlc3BvbmRUb0NvbW1hbmQoY29tbWFuZElELCB7cmVzcG9uc2U6IG9iamVjdElkfSlcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLnJlc3BvbmRUb0NvbW1hbmQoY29tbWFuZElELCB7cmVzcG9uc2U6IGF0dHJpYnV0ZX0pXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoY29tbWFuZCA9PSBcImV2YWxcIikge1xuICAgICAgICBjb25zdCByZXNwb25kV2l0aFJlc3VsdCA9IChldmFsUmVzdWx0KSA9PiB7XG4gICAgICAgICAgaWYgKGRhdGEud2l0aF9yZWZlcmVuY2UpIHtcbiAgICAgICAgICAgIGNvbnN0IG9iamVjdElkID0gKyt0aGlzLm9iamVjdHNDb3VudFxuXG4gICAgICAgICAgICB0aGlzLm9iamVjdHNbb2JqZWN0SWRdID0gZXZhbFJlc3VsdFxuICAgICAgICAgICAgdGhpcy5yZXNwb25kVG9Db21tYW5kKGNvbW1hbmRJRCwge29iamVjdF9pZDogb2JqZWN0SWR9KVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnJlc3BvbmRUb0NvbW1hbmQoY29tbWFuZElELCB7cmVzcG9uc2U6IGV2YWxSZXN1bHR9KVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGV2YWxSZXN1bHQgPSBldmFsKGRhdGEuZXZhbF9zdHJpbmcpXG5cbiAgICAgICAgaWYgKGV2YWxSZXN1bHQgJiYgdHlwZW9mIGV2YWxSZXN1bHQudGhlbiA9PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgICBldmFsUmVzdWx0LnRoZW4ocmVzcG9uZFdpdGhSZXN1bHQpLmNhdGNoKChwcm9taXNlRXJyb3IpID0+IHtcbiAgICAgICAgICAgIGlmIChwcm9taXNlRXJyb3IgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgICAgICAgICAgICB0aGlzLnNlbmQoe2NvbW1hbmQ6IFwiY29tbWFuZF9yZXNwb25zZVwiLCBjb21tYW5kX2lkOiBjb21tYW5kSUQsIGVycm9yOiBwcm9taXNlRXJyb3IubWVzc2FnZSwgZXJyb3JTdGFjazogcHJvbWlzZUVycm9yLnN0YWNrfSlcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHRoaXMuc2VuZCh7Y29tbWFuZDogXCJjb21tYW5kX3Jlc3BvbnNlXCIsIGNvbW1hbmRfaWQ6IGNvbW1hbmRJRCwgZXJyb3I6IFN0cmluZyhwcm9taXNlRXJyb3IpfSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJlc3BvbmRXaXRoUmVzdWx0KGV2YWxSZXN1bHQpXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgVW5rbm93biBjb21tYW5kOiAke2NvbW1hbmR9YClcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgICAgdGhpcy5zZW5kKHtjb21tYW5kOiBcImNvbW1hbmRfcmVzcG9uc2VcIiwgY29tbWFuZF9pZDogY29tbWFuZElELCBlcnJvcjogZXJyb3IubWVzc2FnZSwgZXJyb3JTdGFjazogZXJyb3Iuc3RhY2t9KVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zZW5kKHtjb21tYW5kOiBcImNvbW1hbmRfcmVzcG9uc2VcIiwgY29tbWFuZF9pZDogY29tbWFuZElELCBlcnJvcjogU3RyaW5nKGVycm9yKX0pXG4gICAgICB9XG5cbiAgICAgIGxvZ2dlci5lcnJvcihlcnJvcilcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUGFyYXNlcyBhbiBhcmd1bWVudCBmb3Igc2VuZGluZyB0byB0aGUgc2VydmVyXG4gICAqXG4gICAqIEBwYXJhbSB7YW55fSBhcmdcbiAgICogQHJldHVybnMge2FueX1cbiAgICovXG4gIHBhcnNlQXJnKGFyZykge1xuICAgIGlmIChBcnJheS5pc0FycmF5KGFyZykpIHtcbiAgICAgIHJldHVybiBhcmcubWFwKChhcmdJbkFycmF5KSA9PiB0aGlzLnBhcnNlQXJnKGFyZ0luQXJyYXkpKVxuICAgIH0gZWxzZSBpZiAoYXJnIGluc3RhbmNlb2YgUmVmZXJlbmNlKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBfX3Njb3VuZHJlbF9vYmplY3RfaWQ6IGFyZy5pZCxcbiAgICAgICAgX19zY291bmRyZWxfdHlwZTogXCJyZWZlcmVuY2VcIlxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodGhpcy5pc1BsYWluT2JqZWN0KGFyZykpIHtcbiAgICAgIC8qKiBAdHlwZSB7UmVjb3JkPGFueSwgYW55Pn0gKi9cbiAgICAgIGNvbnN0IG5ld09iamVjdCA9IHt9XG5cbiAgICAgIGZvciAoY29uc3Qga2V5IGluIGFyZykge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IGFyZ1trZXldXG5cbiAgICAgICAgbmV3T2JqZWN0W2tleV0gPSB0aGlzLnBhcnNlQXJnKHZhbHVlKVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gbmV3T2JqZWN0XG4gICAgfVxuXG4gICAgcmV0dXJuIGFyZ1xuICB9XG5cbiAgLyoqXG4gICAqIFJlYWRzIGFuIGF0dHJpYnV0ZSBvbiBhIHJlZmVyZW5jZSBhbmQgcmV0dXJucyBhIG5ldyByZWZlcmVuY2VcbiAgICpcbiAgICogQHBhcmFtIHtudW1iZXJ9IHJlZmVyZW5jZUlkXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBhdHRyaWJ1dGVOYW1lXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPFJlZmVyZW5jZT59XG4gICAqL1xuICBhc3luYyByZWFkQXR0cmlidXRlT25SZWZlcmVuY2VXaXRoUmVmZXJlbmNlKHJlZmVyZW5jZUlkLCBhdHRyaWJ1dGVOYW1lKSB7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5zZW5kQ29tbWFuZChcInJlYWRfYXR0cmlidXRlXCIsIHtcbiAgICAgIGF0dHJpYnV0ZV9uYW1lOiBhdHRyaWJ1dGVOYW1lLFxuICAgICAgcmVmZXJlbmNlX2lkOiByZWZlcmVuY2VJZCxcbiAgICAgIHdpdGg6IFwicmVmZXJlbmNlXCJcbiAgICB9KVxuICAgIGNvbnN0IGlkID0gcmVzdWx0LnJlc3BvbnNlXG5cbiAgICByZXR1cm4gdGhpcy5zcGF3blJlZmVyZW5jZShpZClcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWFkcyBhbiBhdHRyaWJ1dGUgb24gYSByZWZlcmVuY2UgYW5kIHJldHVybnMgdGhlIHJlc3VsdCBkaXJlY3RseVxuICAgKlxuICAgKiBAcGFyYW0ge251bWJlcn0gcmVmZXJlbmNlSWRcbiAgICogQHBhcmFtIHtzdHJpbmd9IGF0dHJpYnV0ZU5hbWVcbiAgICogQHJldHVybnMge1Byb21pc2U8YW55Pn1cbiAgICovXG4gIGFzeW5jIHJlYWRBdHRyaWJ1dGVPblJlZmVyZW5jZShyZWZlcmVuY2VJZCwgYXR0cmlidXRlTmFtZSkge1xuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMuc2VuZENvbW1hbmQoXCJyZWFkX2F0dHJpYnV0ZVwiLCB7XG4gICAgICBhdHRyaWJ1dGVfbmFtZTogYXR0cmlidXRlTmFtZSxcbiAgICAgIHJlZmVyZW5jZV9pZDogcmVmZXJlbmNlSWQsXG4gICAgICB3aXRoOiBcInJlc3VsdFwiXG4gICAgfSlcbiAgICByZXR1cm4gcmVzdWx0LnJlc3BvbnNlXG4gIH1cblxuICAvKipcbiAgICogUmVnaXN0ZXJzIGEgY2xhc3MgYnkgbmFtZVxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gY2xhc3NOYW1lXG4gICAqIEBwYXJhbSB7YW55fSBjbGFzc0luc3RhbmNlXG4gICAqL1xuICByZWdpc3RlckNsYXNzKGNsYXNzTmFtZSwgY2xhc3NJbnN0YW5jZSkge1xuICAgIGlmIChjbGFzc05hbWUgaW4gdGhpcy5fY2xhc3NlcykgdGhyb3cgbmV3IEVycm9yKGBDbGFzcyBhbHJlYWR5IGV4aXN0czogJHtjbGFzc05hbWV9YClcblxuICAgIHRoaXMuX2NsYXNzZXNbY2xhc3NOYW1lXSA9IGNsYXNzSW5zdGFuY2VcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIGEgcmVnaXN0ZXJlZCBjbGFzcyBieSBuYW1lXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBjbGFzc05hbWVcbiAgICogQHJldHVybnMge2FueX1cbiAgICovXG4gIGdldENsYXNzKGNsYXNzTmFtZSkge1xuICAgIHJldHVybiB0aGlzLl9jbGFzc2VzW2NsYXNzTmFtZV1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZWdpc3RlcnMgYW4gb2JqZWN0IGJ5IG5hbWVcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IG9iamVjdE5hbWVcbiAgICogQHBhcmFtIHthbnl9IG9iamVjdEluc3RhbmNlXG4gICAqL1xuICByZWdpc3Rlck9iamVjdChvYmplY3ROYW1lLCBvYmplY3RJbnN0YW5jZSkge1xuICAgIGlmIChvYmplY3ROYW1lIGluIHRoaXMuX29iamVjdHMpIHRocm93IG5ldyBFcnJvcihgT2JqZWN0IGFscmVhZHkgZXhpc3RzOiAke29iamVjdE5hbWV9YClcblxuICAgIHRoaXMuX29iamVjdHNbb2JqZWN0TmFtZV0gPSBvYmplY3RJbnN0YW5jZVxuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgYSByZWdpc3RlcmVkIG9iamVjdCBieSBuYW1lXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBvYmplY3ROYW1lXG4gICAqIEByZXR1cm5zIHthbnl9XG4gICAqL1xuICBfZ2V0UmVnaXN0ZXJlZE9iamVjdChvYmplY3ROYW1lKSB7XG4gICAgcmV0dXJuIHRoaXMuX29iamVjdHNbb2JqZWN0TmFtZV1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZXNwb25kcyB0byBhIGNvbW1hbmQgZnJvbSB0aGUgYmFja2VuZFxuICAgKiBAcGFyYW0ge251bWJlcn0gY29tbWFuZElkXG4gICAqIEBwYXJhbSB7YW55fSBkYXRhXG4gICAqL1xuICByZXNwb25kVG9Db21tYW5kKGNvbW1hbmRJZCwgZGF0YSkge1xuICAgIHRoaXMuc2VuZCh7Y29tbWFuZDogXCJjb21tYW5kX3Jlc3BvbnNlXCIsIGNvbW1hbmRfaWQ6IGNvbW1hbmRJZCwgZGF0YToge2NvbW1hbmRfaWQ6IGNvbW1hbmRJZCwgZGF0YX19KVxuICB9XG5cbiAgLyoqXG4gICAqIFNlbmRzIGEgY29tbWFuZCB0byB0aGUgYmFja2VuZCBhbmQgcmV0dXJucyBhIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aXRoIHRoZSByZXNwb25zZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gY29tbWFuZFxuICAgKiBAcGFyYW0ge2FueX0gZGF0YVxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxhbnk+fVxuICAgKi9cbiAgc2VuZENvbW1hbmQoY29tbWFuZCwgZGF0YSkge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBjb25zdCBvdXRnb2luZ0NvbW1hbmRDb3VudCA9ICsrdGhpcy5vdXRnb2luZ0NvbW1hbmRzQ291bnRcbiAgICAgIGNvbnN0IG9yaWdpbkVycm9yID0gbmV3IEVycm9yKGBDb21tYW5kICcke2NvbW1hbmR9JyBkaXNwYXRjaGVkYClcbiAgICAgIC8vIFN0cmlwIHRoZSBzZW5kQ29tbWFuZCBmcmFtZSB0byBoaWdobGlnaHQgdGhlIGNhbGxlciBzaXRlLlxuICAgICAgaWYgKEVycm9yLmNhcHR1cmVTdGFja1RyYWNlKSBFcnJvci5jYXB0dXJlU3RhY2tUcmFjZShvcmlnaW5FcnJvciwgdGhpcy5zZW5kQ29tbWFuZClcbiAgICAgIGNvbnN0IGNvbW1hbmREYXRhID0ge1xuICAgICAgICBjb21tYW5kLFxuICAgICAgICBjb21tYW5kX2lkOiBvdXRnb2luZ0NvbW1hbmRDb3VudCxcbiAgICAgICAgZGF0YVxuICAgICAgfVxuXG4gICAgICB0aGlzLm91dGdvaW5nQ29tbWFuZHNbb3V0Z29pbmdDb21tYW5kQ291bnRdID0ge3Jlc29sdmUsIHJlamVjdCwgb3JpZ2luU3RhY2s6IG9yaWdpbkVycm9yLnN0YWNrfVxuICAgICAgbG9nZ2VyLmxvZygoKSA9PiBbXCJTZW5kaW5nXCIsIGNvbW1hbmREYXRhXSlcbiAgICAgIHRoaXMuc2VuZChjb21tYW5kRGF0YSlcbiAgICB9KVxuICB9XG5cbiAgLyoqXG4gICAqIFNlbmRzIGRhdGEgdG8gdGhlIGJhY2tlbmRcbiAgICogQHBhcmFtIHthbnl9IGRhdGFcbiAgICovXG4gIHNlbmQoZGF0YSkge1xuICAgIHRoaXMuYmFja2VuZC5zZW5kKGRhdGEpXG4gIH1cblxuICAvKipcbiAgICogU2VyaWFsaXplcyBhIHJlZmVyZW5jZSBhbmQgcmV0dXJucyB0aGUgcmVzdWx0IGRpcmVjdGx5XG4gICAqXG4gICAqIEBwYXJhbSB7bnVtYmVyfSByZWZlcmVuY2VJZFxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxhbnk+fVxuICAgKi9cbiAgYXN5bmMgc2VyaWFsaXplUmVmZXJlbmNlKHJlZmVyZW5jZUlkKSB7XG4gICAgY29uc3QganNvbiA9IGF3YWl0IHRoaXMuc2VuZENvbW1hbmQoXCJzZXJpYWxpemVfcmVmZXJlbmNlXCIsIHtyZWZlcmVuY2VfaWQ6IHJlZmVyZW5jZUlkfSlcblxuICAgIHJldHVybiBKU09OLnBhcnNlKGpzb24pXG4gIH1cblxuICAvKipcbiAgICogU3Bhd25zIGEgbmV3IHJlZmVyZW5jZSB0byBhbiBvYmplY3RcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGlkXG4gICAqIEByZXR1cm5zIHtSZWZlcmVuY2V9XG4gICAqL1xuICBzcGF3blJlZmVyZW5jZShpZCkge1xuICAgIGNvbnN0IHJlZmVyZW5jZSA9IG5ldyBSZWZlcmVuY2UodGhpcywgaWQpXG5cbiAgICB0aGlzLnJlZmVyZW5jZXNbaWRdID0gcmVmZXJlbmNlXG5cbiAgICByZXR1cm4gcmVmZXJlbmNlXG4gIH1cblxuICBlbmFibGVTZXJ2ZXJDb250cm9sKCkge1xuICAgIHRoaXMuc2VydmVyQ29udHJvbEVuYWJsZWQgPSB0cnVlXG4gIH1cbn1cbiJdfQ==
@@ -39,3 +39,4 @@ const proxyObjectHandler = {
39
39
  */
40
40
  const referenceProxy = (wrappedObject) => new Proxy(wrappedObject, proxyObjectHandler);
41
41
  export default referenceProxy;
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmZXJlbmNlLXByb3h5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NsaWVudC9yZWZlcmVuY2UtcHJveHkuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUVaOzs7O0dBSUc7QUFDSCxNQUFNLGtCQUFrQixHQUFHLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLElBQUksRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLHVCQUF1QixDQUFDLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFBO0FBRTdHLE1BQU0sa0JBQWtCLEdBQUc7SUFDekI7Ozs7T0FJRztJQUNILEdBQUcsQ0FBQyxTQUFTLEVBQUUsSUFBSTtRQUNqQixJQUFJLE9BQU8sU0FBUyxJQUFJLFVBQVU7WUFBRSxTQUFTLEdBQUcsU0FBUyxFQUFFLENBQUE7UUFFM0QsSUFBSSxJQUFJLElBQUksYUFBYSxFQUFFLENBQUM7WUFDMUIsTUFBTSxNQUFNLEdBQUcsU0FBUyxDQUFDLFNBQVMsQ0FBQTtZQUNsQyxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFBO1lBRTFDLE9BQU8sV0FBVyxDQUFBO1FBQ3BCLENBQUM7UUFFRCxPQUFPLGtCQUFrQixDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUM1QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILEdBQUcsQ0FBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLFFBQVE7UUFDMUIsS0FBSyxRQUFRLENBQUE7UUFDYixLQUFLLElBQUksQ0FBQTtRQUNULEtBQUssUUFBUSxDQUFBO1FBQ2IsTUFBTSxJQUFJLEtBQUssQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFBO0lBQ3JELENBQUM7Q0FDRixDQUFBO0FBRUQ7OztHQUdHO0FBQ0gsTUFBTSxjQUFjLEdBQUcsQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDLElBQUksS0FBSyxDQUFDLGFBQWEsRUFBRSxrQkFBa0IsQ0FBQyxDQUFBO0FBRXRGLGVBQWUsY0FBYyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5cbi8qKlxuICogQHBhcmFtIHtpbXBvcnQoXCIuL3JlZmVyZW5jZS5qc1wiKS5kZWZhdWx0fSByZWZlcmVuY2VcbiAqIEBwYXJhbSB7c3RyaW5nfSBwcm9wXG4gKiBAcmV0dXJucyB7KC4uLmFyZ3M6IGFueVtdKSA9PiBQcm9taXNlPGFueT59XG4gKi9cbmNvbnN0IHByb3h5TWV0aG9kU3Bhd25lciA9IChyZWZlcmVuY2UsIHByb3ApID0+ICguLi5hcmdzKSA9PiByZWZlcmVuY2UuY2FsbE1ldGhvZFdpdGhSZWZlcmVuY2UocHJvcCwgLi4uYXJncylcblxuY29uc3QgcHJveHlPYmplY3RIYW5kbGVyID0ge1xuICAvKipcbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuL3JlZmVyZW5jZS5qc1wiKS5kZWZhdWx0fCgoKSA9PiBpbXBvcnQoXCIuL3JlZmVyZW5jZS5qc1wiKS5kZWZhdWx0KX0gcmVmZXJlbmNlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBwcm9wXG4gICAqIEByZXR1cm5zIHthbnl9XG4gICAqL1xuICBnZXQocmVmZXJlbmNlLCBwcm9wKSB7XG4gICAgaWYgKHR5cGVvZiByZWZlcmVuY2UgPT0gXCJmdW5jdGlvblwiKSByZWZlcmVuY2UgPSByZWZlcmVuY2UoKVxuXG4gICAgaWYgKHByb3AgPT0gXCJfX3NlcmlhbGl6ZVwiKSB7XG4gICAgICBjb25zdCBtZXRob2QgPSByZWZlcmVuY2Uuc2VyaWFsaXplXG4gICAgICBjb25zdCBib3VuZE1ldGhvZCA9IG1ldGhvZC5iaW5kKHJlZmVyZW5jZSlcblxuICAgICAgcmV0dXJuIGJvdW5kTWV0aG9kXG4gICAgfVxuXG4gICAgcmV0dXJuIHByb3h5TWV0aG9kU3Bhd25lcihyZWZlcmVuY2UsIHByb3ApXG4gIH0sXG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi9yZWZlcmVuY2UuanNcIikuZGVmYXVsdHwoKCkgPT4gaW1wb3J0KFwiLi9yZWZlcmVuY2UuanNcIikuZGVmYXVsdCl9IHJlY2VpdmVyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBwcm9wXG4gICAqIEBwYXJhbSB7YW55fSBuZXdWYWx1ZVxuICAgKi9cbiAgc2V0KHJlY2VpdmVyLCBwcm9wLCBuZXdWYWx1ZSkge1xuICAgIHZvaWQgcmVjZWl2ZXJcbiAgICB2b2lkIHByb3BcbiAgICB2b2lkIG5ld1ZhbHVlXG4gICAgdGhyb3cgbmV3IEVycm9yKFwic2V0IHByb3BlcnR5IGlzbid0IHN1cHBvcnRlZCB5ZXRcIilcbiAgfVxufVxuXG4vKipcbiAqIEBwYXJhbSB7YW55fSB3cmFwcGVkT2JqZWN0XG4gKiBAcmV0dXJucyB7UHJveHl9XG4gKi9cbmNvbnN0IHJlZmVyZW5jZVByb3h5ID0gKHdyYXBwZWRPYmplY3QpID0+IG5ldyBQcm94eSh3cmFwcGVkT2JqZWN0LCBwcm94eU9iamVjdEhhbmRsZXIpXG5cbmV4cG9ydCBkZWZhdWx0IHJlZmVyZW5jZVByb3h5XG4iXX0=
@@ -61,3 +61,4 @@ export default class Reference {
61
61
  return await this.client.serializeReference(this.id);
62
62
  }
63
63
  }
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmZXJlbmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NsaWVudC9yZWZlcmVuY2UuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUVaLE1BQU0sQ0FBQyxPQUFPLE9BQU8sU0FBUztJQUM1Qjs7Ozs7T0FLRztJQUNILFlBQVksTUFBTSxFQUFFLEVBQUU7UUFDcEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUE7UUFDcEIsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUE7UUFFWixJQUFJLENBQUMsRUFBRTtZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMscUJBQXFCLEVBQUUsRUFBRSxDQUFDLENBQUE7SUFDckQsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILEtBQUssQ0FBQyxVQUFVLENBQUMsVUFBVSxFQUFFLEdBQUcsSUFBSTtRQUNsQyxPQUFPLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLFVBQVUsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFBO0lBQzlFLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxLQUFLLENBQUMsdUJBQXVCLENBQUMsVUFBVSxFQUFFLEdBQUcsSUFBSTtRQUMvQyxPQUFPLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxrQ0FBa0MsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLFVBQVUsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFBO0lBQzNGLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxLQUFLLENBQUMsYUFBYSxDQUFDLGFBQWEsRUFBRSxHQUFHLElBQUk7UUFDeEMsT0FBTyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxhQUFhLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQTtJQUNwRixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsS0FBSyxDQUFDLDBCQUEwQixDQUFDLGFBQWEsRUFBRSxHQUFHLElBQUk7UUFDckQsT0FBTyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMscUNBQXFDLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxhQUFhLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQTtJQUNqRyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILEtBQUssQ0FBQyxTQUFTO1FBQ2IsT0FBTyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFBO0lBQ3RELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBSZWZlcmVuY2Uge1xuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBSZWZlcmVuY2VcbiAgICpcbiAgICogQHBhcmFtIHthbnl9IGNsaWVudCBUaGUgY2xpZW50IGluc3RhbmNlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBpZCBUaGUgcmVmZXJlbmNlIElEXG4gICAqL1xuICBjb25zdHJ1Y3RvcihjbGllbnQsIGlkKSB7XG4gICAgdGhpcy5jbGllbnQgPSBjbGllbnRcbiAgICB0aGlzLmlkID0gaWRcblxuICAgIGlmICghaWQpIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBJRCBnaXZlbjogJHtpZH1gKVxuICB9XG5cbiAgLyoqXG4gICAqIENhbGxzIGEgbWV0aG9kIG9uIHRoZSByZWZlcmVuY2VcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IG1ldGhvZE5hbWVcbiAgICogQHBhcmFtICB7Li4uYW55fSBhcmdzXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPGFueT59XG4gICAqL1xuICBhc3luYyBjYWxsTWV0aG9kKG1ldGhvZE5hbWUsIC4uLmFyZ3MpIHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5jbGllbnQuY2FsbE1ldGhvZE9uUmVmZXJlbmNlKHRoaXMuaWQsIG1ldGhvZE5hbWUsIC4uLmFyZ3MpXG4gIH1cblxuICAvKipcbiAgICogQ2FsbHMgYSBtZXRob2Qgb24gdGhlIHJlZmVyZW5jZSB1c2luZyBhbm90aGVyIHJlZmVyZW5jZSBhcyBhcmd1bWVudFxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gbWV0aG9kTmFtZVxuICAgKiBAcGFyYW0gIHsuLi5hbnl9IGFyZ3NcbiAgICogQHJldHVybnMge1Byb21pc2U8YW55Pn1cbiAgICovXG4gIGFzeW5jIGNhbGxNZXRob2RXaXRoUmVmZXJlbmNlKG1ldGhvZE5hbWUsIC4uLmFyZ3MpIHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5jbGllbnQuY2FsbE1ldGhvZE9uUmVmZXJlbmNlV2l0aFJlZmVyZW5jZSh0aGlzLmlkLCBtZXRob2ROYW1lLCAuLi5hcmdzKVxuICB9XG5cbiAgLyoqXG4gICAqIFJlYWRzIGFuIGF0dHJpYnV0ZSBmcm9tIHRoZSByZWZlcmVuY2VcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGF0dHJpYnV0ZU5hbWVcbiAgICogQHBhcmFtICB7Li4uYW55fSBhcmdzXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPGFueT59XG4gICAqL1xuICBhc3luYyByZWFkQXR0cmlidXRlKGF0dHJpYnV0ZU5hbWUsIC4uLmFyZ3MpIHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5jbGllbnQucmVhZEF0dHJpYnV0ZU9uUmVmZXJlbmNlKHRoaXMuaWQsIGF0dHJpYnV0ZU5hbWUsIC4uLmFyZ3MpXG4gIH1cblxuICAvKipcbiAgICogUmVhZHMgYW4gYXR0cmlidXRlIGZyb20gdGhlIHJlZmVyZW5jZSB1c2luZyBhbm90aGVyIHJlZmVyZW5jZSBhcyBhcmd1bWVudFxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gYXR0cmlidXRlTmFtZVxuICAgKiBAcGFyYW0gIHsuLi5hbnl9IGFyZ3NcbiAgICogQHJldHVybnMge1Byb21pc2U8YW55Pn1cbiAgICovXG4gIGFzeW5jIHJlYWRBdHRyaWJ1dGVXaXRoUmVmZXJlbmNlKGF0dHJpYnV0ZU5hbWUsIC4uLmFyZ3MpIHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5jbGllbnQucmVhZEF0dHJpYnV0ZU9uUmVmZXJlbmNlV2l0aFJlZmVyZW5jZSh0aGlzLmlkLCBhdHRyaWJ1dGVOYW1lLCAuLi5hcmdzKVxuICB9XG5cbiAgLyoqXG4gICAqIFNlcmlhbGl6ZXMgdGhlIHJlZmVyZW5jZSBhbmQgcmV0dXJucyB0aGUgcmVzdWx0IGRpcmVjdGx5XG4gICAqXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPGFueT59XG4gICAqL1xuICBhc3luYyBzZXJpYWxpemUoKSB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuY2xpZW50LnNlcmlhbGl6ZVJlZmVyZW5jZSh0aGlzLmlkKVxuICB9XG59XG4iXX0=
package/build/index.js CHANGED
@@ -1 +1,2 @@
1
1
  export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXguanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIiJdfQ==
package/build/logger.js CHANGED
@@ -62,3 +62,4 @@ export default class Logger {
62
62
  }
63
63
  }
64
64
  }
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2xvZ2dlci5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZO0FBRVosTUFBTSxDQUFDLE9BQU8sT0FBTyxNQUFNO0lBQ3pCOzs7O09BSUc7SUFDSCxZQUFZLFNBQVM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUE7UUFDbEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUE7SUFDNUIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxRQUFRLENBQUMsUUFBUTtRQUNmLElBQUksQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFBO0lBQ3ZCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsS0FBSyxDQUFDLEdBQUcsSUFBSTtRQUNYLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQTtJQUM5QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsR0FBRyxDQUFDLEdBQUcsSUFBSTtRQUNULE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQTtJQUM1QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFBSSxDQUFDLEdBQUcsSUFBSTtRQUNWLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQTtJQUM3QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGNBQWMsQ0FBQyxPQUFPLEVBQUUsR0FBRyxJQUFJO1FBQzdCLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDaEIsT0FBTTtRQUNSLENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ3JELE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFBO1lBRTlCLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDO2dCQUNoQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxHQUFHLFlBQVksQ0FBQyxDQUFBO1lBQ25ELENBQUM7aUJBQU0sQ0FBQztnQkFDTixPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxZQUFZLENBQUMsQ0FBQTtZQUNoRCxDQUFDO1FBQ0gsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFBO1FBQzNDLENBQUM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtY2hlY2tcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTG9nZ2VyIHtcbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgTG9nZ2VyIGluc3RhbmNlXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBzY29wZU5hbWUgVGhlIG5hbWUgb2YgdGhlIHNjb3BlIGZvciB0aGUgbG9nZ2VyXG4gICAqL1xuICBjb25zdHJ1Y3RvcihzY29wZU5hbWUpIHtcbiAgICB0aGlzLmRlYnVnID0gZmFsc2VcbiAgICB0aGlzLnNjb3BlTmFtZSA9IHNjb3BlTmFtZVxuICB9XG5cbiAgLyoqXG4gICAqIEVuYWJsZXMgb3IgZGlzYWJsZXMgZGVidWcgbG9nZ2luZ1xuICAgKlxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IG5ld1ZhbHVlXG4gICAqL1xuICBzZXREZWJ1ZyhuZXdWYWx1ZSkge1xuICAgIHRoaXMuZGVidWcgPSBuZXdWYWx1ZVxuICB9XG5cbiAgLyoqXG4gICAqIExvZ3MgYW4gZXJyb3IgbWVzc2FnZSB0byB0aGUgY29uc29sZSBpZiBkZWJ1ZyBpcyBlbmFibGVkXG4gICAqXG4gICAqIEBwYXJhbSAgey4uLmFueX0gYXJnc1xuICAgKi9cbiAgZXJyb3IoLi4uYXJncykge1xuICAgIHJldHVybiB0aGlzLl9zZW5kVG9Db25zb2xlKFwiZXJyb3JcIiwgLi4uYXJncylcbiAgfVxuXG4gIC8qKlxuICAgKiBMb2dzIGEgbWVzc2FnZSB0byB0aGUgY29uc29sZSBpZiBkZWJ1ZyBpcyBlbmFibGVkXG4gICAqIEBwYXJhbSAgey4uLmFueX0gYXJnc1xuICAgKi9cbiAgbG9nKC4uLmFyZ3MpIHtcbiAgICByZXR1cm4gdGhpcy5fc2VuZFRvQ29uc29sZShcImxvZ1wiLCAuLi5hcmdzKVxuICB9XG5cbiAgLyoqXG4gICAqIExvZ3MgYSB3YXJuaW5nIG1lc3NhZ2UgdG8gdGhlIGNvbnNvbGUgaWYgZGVidWcgaXMgZW5hYmxlZFxuICAgKiBAcGFyYW0gIHsuLi5hbnl9IGFyZ3NcbiAgICovXG4gIHdhcm4oLi4uYXJncykge1xuICAgIHJldHVybiB0aGlzLl9zZW5kVG9Db25zb2xlKFwid2FyblwiLCAuLi5hcmdzKVxuICB9XG5cbiAgLyoqXG4gICAqIFNlbmRzIHRoZSBsb2cgbWVzc2FnZSB0byB0aGUgY29uc29sZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gbG9nVHlwZVxuICAgKiBAcGFyYW0gIHsuLi5hbnl9IGFyZ3NcbiAgICovXG4gIF9zZW5kVG9Db25zb2xlKGxvZ1R5cGUsIC4uLmFyZ3MpIHtcbiAgICBpZiAoIXRoaXMuZGVidWcpIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGlmIChhcmdzLmxlbmd0aCA9PSAxICYmIHR5cGVvZiBhcmdzWzBdID09IFwiZnVuY3Rpb25cIikge1xuICAgICAgY29uc3QgY2FsbGJhY2tBcmdzID0gYXJnc1swXSgpXG5cbiAgICAgIGlmIChBcnJheS5pc0FycmF5KGNhbGxiYWNrQXJncykpIHtcbiAgICAgICAgY29uc29sZVtsb2dUeXBlXSh0aGlzLnNjb3BlTmFtZSwgLi4uY2FsbGJhY2tBcmdzKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc29sZVtsb2dUeXBlXSh0aGlzLnNjb3BlTmFtZSwgY2FsbGJhY2tBcmdzKVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlW2xvZ1R5cGVdKHRoaXMuc2NvcGVOYW1lLCAuLi5hcmdzKVxuICAgIH1cbiAgfVxufVxuIl19
@@ -92,3 +92,4 @@ export default class PythonWebSocketRunner {
92
92
  }
93
93
  }
94
94
  }
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHl0aG9uLXdlYi1zb2NrZXQtcnVubmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3B5dGhvbi13ZWItc29ja2V0LXJ1bm5lci5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZO0FBRVosT0FBTyxFQUFDLElBQUksRUFBRSxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUE7QUFDekMsT0FBTyxNQUFNLE1BQU0sYUFBYSxDQUFBO0FBQ2hDLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxhQUFhLENBQUE7QUFFcEMsTUFBTSxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsaUNBQWlDLENBQUMsQ0FBQTtBQUU1RCx3QkFBd0I7QUFFeEIsTUFBTSxDQUFDLE9BQU8sT0FBTyxxQkFBcUI7SUFVeEM7UUFUQSwyQkFBMkI7UUFDM0IsMEJBQXFCLEdBQUcsSUFBSSxDQUFBO1FBRTVCLDRDQUE0QztRQUM1QyxzQkFBaUIsR0FBRyxJQUFJLENBQUE7UUFFeEIsNENBQTRDO1FBQzVDLHFCQUFnQixHQUFHLElBQUksQ0FBQTtRQXdCdkIsa0JBQWEsR0FBRyxHQUFHLEVBQUU7WUFDbkIsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7Z0JBQ2IsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFBO2dCQUNaLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsa0RBQWtELElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFBO1lBQ2hGLENBQUM7UUFDSCxDQUFDLENBQUE7UUFFRDs7O1dBR0c7UUFDSCxnQkFBVyxHQUFHLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQzdCLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsa0NBQWtDLElBQUksZUFBZSxNQUFNLEVBQUUsQ0FBQyxDQUFBO1lBRS9FLElBQUksSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7Z0JBQy9CLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JB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QUFBO1FBQ2xFLE1BQU0sWUFBWSxHQUFHLE1BQU0sUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFBO1FBQzdDLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxTQUFTLEVBQUUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFBO1FBRTlDLEtBQUssQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQTtRQUNsQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFBO1FBQzNDLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUE7SUFDN0MsQ0FBQztJQXNFRCxLQUFLO1FBQ0gsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDYixJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQTtRQUMxQixDQUFDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5cbmltcG9ydCB7ZXhlYywgc3Bhd259IGZyb20gXCJjaGlsZF9wcm9jZXNzXCJcbmltcG9ydCBMb2dnZXIgZnJvbSBcIi4vbG9nZ2VyLmpzXCJcbmltcG9ydCB7cmVhbHBhdGh9IGZyb20gXCJmcy9wcm9taXNlc1wiXG5cbmNvbnN0IGxvZ2dlciA9IG5ldyBMb2dnZXIoXCJTY291bmRyZWwgUHl0aG9uV2ViU29ja2V0UnVubmVyXCIpXG5cbi8vIGxvZ2dlci5zZXREZWJ1Zyh0cnVlKVxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBQeXRob25XZWJTb2NrZXRSdW5uZXIge1xuICAvKiogQHR5cGUge0Vycm9yIHwgbnVsbH0gKi9cbiAgd2FpdEZvclBpZFJlamVjdEVycm9yID0gbnVsbFxuXG4gIC8qKiBAdHlwZSB7KCh2YWx1ZTogYW55KSA9PiB2b2lkKSB8IG51bGx9ICovXG4gIHdhaXRGb3JQaWRSZXNvbHZlID0gbnVsbFxuXG4gIC8qKiBAdHlwZSB7KCh2YWx1ZTogYW55KSA9PiB2b2lkKSB8IG51bGx9ICovXG4gIHdhaXRGb3JQaWRSZWplY3QgPSBudWxsXG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgcHJvY2Vzcy5vbihcImV4aXRcIiwgdGhpcy5vblByb2Nlc3NFeGl0KVxuICB9XG5cbiAgcnVuQW5kV2FpdEZvclBpZCgpIHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgdGhpcy53YWl0Rm9yUGlkUmVzb2x2ZSA9IHJlc29sdmVcbiAgICAgIHRoaXMud2FpdEZvclBpZFJlamVjdCA9IHJlamVjdFxuICAgICAgdGhpcy5ydW4oKVxuICAgIH0pXG4gIH1cblxuICBhc3luYyBydW4oKSB7XG4gICAgY29uc3QgZmlsZVBhdGggPSBgJHtwcm9jZXNzLmN3ZCgpfS8uLi9weXRob24vc2VydmVyL3dlYi1zb2NrZXQucHlgXG4gICAgY29uc3QgZmlsZVJlYWxQYXRoID0gYXdhaXQgcmVhbHBhdGgoZmlsZVBhdGgpXG4gICAgY29uc3QgY2hpbGQgPSBzcGF3bihcInB5dGhvbjNcIiwgW2ZpbGVSZWFsUGF0aF0pXG5cbiAgICBjaGlsZC5vbihcImV4aXRcIiwgdGhpcy5vbkNoaWxkRXhpdClcbiAgICBjaGlsZC5zdGRvdXQub24oXCJkYXRhXCIsIHRoaXMub25DaGlsZFN0ZG91dClcbiAgICBjaGlsZC5zdGRlcnIub24oXCJkYXRhXCIsIHRoaXMub25DaGlsZFN0ZGVycilcbiAgfVxuXG4gIG9uUHJvY2Vzc0V4aXQgPSAoKSA9PiB7XG4gICAgaWYgKHRoaXMucGlkKSB7XG4gICAgICB0aGlzLmNsb3NlKClcbiAgICAgIGxvZ2dlci5sb2coKCkgPT4gYG9uUHJvY2Vzc0V4aXQ6IEtpbGxpbmcgUHl0aG9uIHByb2Nlc3Mgd2l0aCBQSUQgJHt0aGlzLnBpZH1gKVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge251bWJlcn0gY29kZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gc2lnbmFsXG4gICAqL1xuICBvbkNoaWxkRXhpdCA9IChjb2RlLCBzaWduYWwpID0+IHtcbiAgICBsb2dnZXIubG9nKCgpID0+IGBDaGlsZCBwcm9jZXNzIGV4aXRlZCB3aXRoIGNvZGUgJHtjb2RlfSBhbmQgc2lnbmFsICR7c2lnbmFsfWApXG5cbiAgICBpZiAodGhpcy53YWl0Rm9yUGlkUmVqZWN0RXJyb3IpIHtcbiAgICAgIGlmICghdGhpcy53YWl0Rm9yUGlkUmVqZWN0KSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIndhaXRGb3JQaWRSZWplY3QgaXMgdW5kZWZpbmVkIHdoaWxlIHdhaXRGb3JQaWRSZWplY3RFcnJvciBpcyBzZXRcIilcbiAgICAgIH1cblxuICAgICAgdGhpcy53YWl0Rm9yUGlkUmVqZWN0KHRoaXMud2FpdEZvclBpZFJlamVjdEVycm9yKVxuICAgICAgdGhpcy53YWl0Rm9yUGlkUmVzb2x2ZSA9IG51bGxcbiAgICAgIHRoaXMud2FpdEZvclBpZFJlamVjdCA9IG51bGxcbiAgICAgIHRoaXMud2FpdEZvclBpZFJlamVjdEVycm9yID0gbnVsbFxuICAgIH0gZWxzZSBpZiAodGhpcy53YWl0Rm9yUGlkUmVqZWN0KSB7XG4gICAgICB0aGlzLndhaXRGb3JQaWRSZWplY3QobmV3IEVycm9yKGBQeXRob24gcHJvY2VzcyBleGl0ZWQgYmVmb3JlIFBJRCB3YXMgcmVjZWl2ZWQgKGNvZGU6ICR7Y29kZX0sIHNpZ25hbDogJHtzaWduYWx9KWApKVxuICAgICAgdGhpcy53YWl0Rm9yUGlkUmVzb2x2ZSA9IG51bGxcbiAgICAgIHRoaXMud2FpdEZvclBpZFJlamVjdCA9IG51bGxcbiAgICAgIHRoaXMud2FpdEZvclBpZFJlamVjdEVycm9yID0gbnVsbFxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge3N0cmluZyB8IEJ1ZmZlcn0gZGF0YVxuICAgKi9cbiAgb25DaGlsZFN0ZGVyciA9IChkYXRhKSA9PiB7XG4gICAgbG9nZ2VyLmVycm9yKCgpID0+IGBzdGRlcnI6ICR7ZGF0YX1gKVxuXG4gICAgaWYgKHRoaXMud2FpdEZvclBpZFJlamVjdCkge1xuICAgICAgdGhpcy53YWl0Rm9yUGlkUmVqZWN0RXJyb3IgPSBuZXcgRXJyb3IoYFB5dGhvbiBwcm9jZXNzIHN0ZGVyciBiZWZvcmUgUElEIHdhcyByZWNlaXZlZDogJHtkYXRhfWApXG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7c3RyaW5nIHwgQnVmZmVyfSBkYXRhXG4gICAqL1xuICBvbkNoaWxkU3Rkb3V0ID0gKGRhdGEpID0+IHtcbiAgICBsb2dnZXIubG9nKCgpID0+IGBzdGRvdXQ6ICR7ZGF0YX1gKVxuXG4gICAgY29uc3QgbWF0Y2ggPSAoYCR7ZGF0YX1gKS5tYXRjaCgvXlN0YXJ0ZWQgd2l0aCBQSUQgKFxcZCspIG9uICguKyk6KC4rKVxcbiQvKVxuXG4gICAgaWYgKG1hdGNoKSB7XG4gICAgICB0aGlzLnBpZCA9IG1hdGNoWzFdXG5cbiAgICAgIGxvZ2dlci5sb2coKCkgPT4gYFJlZ2lzdGVyZWQgUElEICR7dGhpcy5waWR9YClcblxuICAgICAgaWYgKHRoaXMud2FpdEZvclBpZFJlc29sdmUpIHtcbiAgICAgICAgaWYgKCF0aGlzLndhaXRGb3JQaWRSZXNvbHZlKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwid2FpdEZvclBpZFJlc29sdmUgaXMgdW5kZWZpbmVkIHdoaWxlIHdhaXRGb3JQaWRSZWplY3RFcnJvciBpcyBzZXRcIilcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMud2FpdEZvclBpZFJlc29sdmUobnVsbClcbiAgICAgICAgdGhpcy53YWl0Rm9yUGlkUmVzb2x2ZSA9IG51bGxcbiAgICAgICAgdGhpcy53YWl0Rm9yUGlkUmVqZWN0ID0gbnVsbFxuICAgICAgICB0aGlzLndhaXRGb3JQaWRSZWplY3RFcnJvciA9IG51bGxcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjbG9zZSgpIHtcbiAgICBpZiAodGhpcy5waWQpIHtcbiAgICAgIGV4ZWMoYGtpbGwgJHt0aGlzLnBpZH1gKVxuICAgIH1cbiAgfVxufVxuIl19
@@ -37,3 +37,4 @@ export default class WebSocketClient {
37
37
  await this.ws.send(JSON.stringify(data));
38
38
  }
39
39
  }
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3NlcnZlci9jb25uZWN0aW9ucy93ZWItc29ja2V0L2NsaWVudC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZO0FBRVosTUFBTSxDQUFDLE9BQU8sT0FBTyxlQUFlO0lBQ2xDOzs7T0FHRztJQUNILFlBQVksRUFBRTtRQWNkOztXQUVHO1FBQ0gsWUFBTyxHQUFHLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDbEIsT0FBTyxDQUFDLEtBQUssQ0FBQyx1QkFBdUIsRUFBRSxLQUFLLENBQUMsQ0FBQTtRQUMvQyxDQUFDLENBQUE7UUFFRDs7V0FFRztRQUNILGNBQVMsR0FBRyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ3RCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUE7WUFFaEMsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUI7Z0JBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFBO1lBRWhGLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUM5QixDQUFDLENBQUE7UUE3QkMsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUE7UUFFWixFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUE7UUFDNUIsRUFBRSxDQUFDLEVBQUUsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFBO0lBQ2xDLENBQUM7SUFFRDs7T0FFRztJQUNILFNBQVMsQ0FBQyxRQUFRO1FBQ2hCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxRQUFRLENBQUE7SUFDbkMsQ0FBQztJQW9CRDs7T0FFRztJQUNILEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSTtRQUNiLE1BQU0sSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO0lBQzFDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBXZWJTb2NrZXRDbGllbnQge1xuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBXZWJTb2NrZXRDbGllbnRcbiAgICogQHBhcmFtIHtpbXBvcnQoXCJ3c1wiKS5XZWJTb2NrZXR9IHdzIFRoZSBXZWJTb2NrZXQgaW5zdGFuY2VcbiAgICovXG4gIGNvbnN0cnVjdG9yKHdzKSB7XG4gICAgdGhpcy53cyA9IHdzXG5cbiAgICB3cy5vbihcImVycm9yXCIsIHRoaXMub25FcnJvcilcbiAgICB3cy5vbihcIm1lc3NhZ2VcIiwgdGhpcy5vbk1lc3NhZ2UpXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHsoZGF0YTogYW55KSA9PiB2b2lkfSBjYWxsYmFja1xuICAgKi9cbiAgb25Db21tYW5kKGNhbGxiYWNrKSB7XG4gICAgdGhpcy5vbkNvbW1hbmRDYWxsYmFjayA9IGNhbGxiYWNrXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtFcnJvcn0gZXJyb3JcbiAgICovXG4gIG9uRXJyb3IgPSAoZXJyb3IpID0+IHtcbiAgICBjb25zb2xlLmVycm9yKFwiV2ViU29ja2V0Q2xpZW50IGVycm9yXCIsIGVycm9yKVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSByYXdEYXRhXG4gICAqL1xuICBvbk1lc3NhZ2UgPSAocmF3RGF0YSkgPT4ge1xuICAgIGNvbnN0IGRhdGEgPSBKU09OLnBhcnNlKHJhd0RhdGEpXG5cbiAgICBpZiAoIXRoaXMub25Db21tYW5kQ2FsbGJhY2spIHRocm93IG5ldyBFcnJvcihcIkNvbW1hbmQgY2FsbGJhY2sgaGFzbid0IGJlZW4gc2V0XCIpXG5cbiAgICB0aGlzLm9uQ29tbWFuZENhbGxiYWNrKGRhdGEpXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHthbnl9IGRhdGFcbiAgICovXG4gIGFzeW5jIHNlbmQoZGF0YSkge1xuICAgIGF3YWl0IHRoaXMud3Muc2VuZChKU09OLnN0cmluZ2lmeShkYXRhKSlcbiAgfVxufVxuIl19
@@ -27,3 +27,4 @@ export default class WebSocket {
27
27
  this.onNewClientCallback = callback;
28
28
  }
29
29
  }
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2VydmVyL2Nvbm5lY3Rpb25zL3dlYi1zb2NrZXQvaW5kZXguanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUVaLE9BQU8sZUFBZSxNQUFNLGFBQWEsQ0FBQTtBQUV6QyxNQUFNLENBQUMsT0FBTyxPQUFPLFNBQVM7SUFDNUI7OztPQUdHO0lBQ0gsWUFBWSxlQUFlO1FBTzNCOztXQUVHO1FBQ0gsaUJBQVksR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CO2dCQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsa0NBQWtDLENBQUMsQ0FBQTtZQUVsRixJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxlQUFlLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtRQUNuRCxDQUFDLENBQUE7UUFiQyxJQUFJLENBQUMsR0FBRyxHQUFHLGVBQWUsQ0FBQTtRQUMxQixJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFBO0lBQzlDLENBQUM7SUFFRCxLQUFLLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQSxDQUFDLENBQUM7SUFXNUI7O09BRUc7SUFDSCxXQUFXLENBQUMsUUFBUTtRQUNsQixJQUFJLENBQUMsUUFBUTtZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsdUJBQXVCLENBQUMsQ0FBQTtRQUV2RCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsUUFBUSxDQUFBO0lBQ3JDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuXG5pbXBvcnQgV2ViU29ja2V0Q2xpZW50IGZyb20gXCIuL2NsaWVudC5qc1wiXG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFdlYlNvY2tldCB7XG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IFdlYlNvY2tldCBjb25uZWN0aW9uIGhhbmRsZXJcbiAgICogQHBhcmFtIHtpbXBvcnQoXCJ3c1wiKS5TZXJ2ZXJ9IHdlYlNvY2tldFNlcnZlciBUaGUgV2ViU29ja2V0IHNlcnZlciBpbnN0YW5jZVxuICAgKi9cbiAgY29uc3RydWN0b3Iod2ViU29ja2V0U2VydmVyKSB7XG4gICAgdGhpcy53c3MgPSB3ZWJTb2NrZXRTZXJ2ZXJcbiAgICB0aGlzLndzcy5vbihcImNvbm5lY3Rpb25cIiwgdGhpcy5vbkNvbm5lY3Rpb24pXG4gIH1cblxuICBjbG9zZSgpIHsgdGhpcy53c3MuY2xvc2UoKSB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwid3NcIikuV2ViU29ja2V0fSB3c1xuICAgKi9cbiAgb25Db25uZWN0aW9uID0gKHdzKSA9PiB7XG4gICAgaWYgKCF0aGlzLm9uTmV3Q2xpZW50Q2FsbGJhY2spIHRocm93IG5ldyBFcnJvcihcIidvbk5ld0NsaWVudCcgaGFzbid0IGJlZW4gY2FsbGVkXCIpXG5cbiAgICB0aGlzLm9uTmV3Q2xpZW50Q2FsbGJhY2sobmV3IFdlYlNvY2tldENsaWVudCh3cykpXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHsoY2xpZW50OiBpbXBvcnQoXCIuL2NsaWVudC5qc1wiKS5kZWZhdWx0KSA9PiB2b2lkfSBjYWxsYmFja1xuICAgKi9cbiAgb25OZXdDbGllbnQoY2FsbGJhY2spIHtcbiAgICBpZiAoIWNhbGxiYWNrKSB0aHJvdyBuZXcgRXJyb3IoXCJObyBjYWxsYmFjayB3YXMgZ2l2ZW5cIilcblxuICAgIHRoaXMub25OZXdDbGllbnRDYWxsYmFjayA9IGNhbGxiYWNrXG4gIH1cbn1cbiJdfQ==
@@ -32,3 +32,4 @@ export default class ScoundrelServer {
32
32
  /** @returns {Client[]} */
33
33
  getClients() { return this.clients; }
34
34
  }
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VydmVyL2luZGV4LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7QUFFWixPQUFPLE1BQU0sTUFBTSxvQkFBb0IsQ0FBQTtBQUN2QyxPQUFPLFlBQVksTUFBTSxRQUFRLENBQUE7QUFDakMsT0FBTyxrQkFBa0IsTUFBTSxrQ0FBa0MsQ0FBQTtBQUVqRSxNQUFNLENBQUMsT0FBTyxPQUFPLGVBQWU7SUFDbEM7OztPQUdHO0lBQ0gsWUFBWSxPQUFPO1FBb0JuQjs7O1dBR0c7UUFDSCwyQkFBc0IsR0FBRyxDQUFDLGFBQWEsRUFBRSxFQUFFO1lBQ3pDLE1BQU0sTUFBTSxHQUFHLElBQUksTUFBTSxDQUFDLGFBQWEsRUFBRSxFQUFDLG1CQUFtQixFQUFFLElBQUksRUFBQyxDQUFDLENBQUE7WUFFckUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUE7WUFDekIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLE1BQU0sQ0FBQyxDQUFBO1lBRXJDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFBO1FBQzdDLENBQUMsQ0FBQTtRQTlCQyxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQTtRQUN0QixJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQTtRQUVyRCx1QkFBdUI7UUFDdkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUE7UUFFakIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFBO1FBRWhDLDJEQUEyRDtRQUMzRCxJQUFJLENBQUMsdUJBQXVCLEdBQUcsSUFBSSxrQkFBa0IsRUFBRSxDQUFBO1FBQ3ZELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFNBQVMsRUFBRSxDQUFBO0lBQzdELENBQUM7SUFFRCxzQkFBc0I7SUFDdEIsS0FBSyxLQUFLLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUEsQ0FBQyxDQUFDO0lBRWhDLDBCQUEwQjtJQUMxQixVQUFVLEtBQUssT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFBLENBQUMsQ0FBQztDQWNyQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuXG5pbXBvcnQgQ2xpZW50IGZyb20gXCIuLi9jbGllbnQvaW5kZXguanNcIlxuaW1wb3J0IEV2ZW50RW1pdHRlciBmcm9tIFwiZXZlbnRzXCJcbmltcG9ydCBTaW5nbGVFdmVudEVtaXR0ZXIgZnJvbSBcIi4uL3V0aWxzL3NpbmdsZS1ldmVudC1lbWl0dGVyLmpzXCJcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU2NvdW5kcmVsU2VydmVyIHtcbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgU2NvdW5kcmVsIHNlcnZlclxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4vY29ubmVjdGlvbnMvd2ViLXNvY2tldC9pbmRleC5qc1wiKS5kZWZhdWx0fSBiYWNrZW5kIFRoZSBiYWNrZW5kIGNvbm5lY3Rpb24gaGFuZGxlclxuICAgKi9cbiAgY29uc3RydWN0b3IoYmFja2VuZCkge1xuICAgIHRoaXMuYmFja2VuZCA9IGJhY2tlbmRcbiAgICB0aGlzLmJhY2tlbmQub25OZXdDbGllbnQodGhpcy5vbk5ld0NsaWVudEZyb21CYWNrZW5kKVxuXG4gICAgLyoqIEB0eXBlIHtDbGllbnRbXX0gKi9cbiAgICB0aGlzLmNsaWVudHMgPSBbXVxuXG4gICAgdGhpcy5ldmVudHMgPSBuZXcgRXZlbnRFbWl0dGVyKClcblxuICAgIC8qKiBAdHlwZSB7U2luZ2xlRXZlbnRFbWl0dGVyPChjbGllbnQ6IENsaWVudCkgPT4gdm9pZD59ICovXG4gICAgdGhpcy5vbk5ld0NsaWVudEV2ZW50RW1pdHRlciA9IG5ldyBTaW5nbGVFdmVudEVtaXR0ZXIoKVxuICAgIHRoaXMub25OZXdDbGllbnQgPSB0aGlzLm9uTmV3Q2xpZW50RXZlbnRFbWl0dGVyLmNvbm5lY3RvcigpXG4gIH1cblxuICAvKiogQHJldHVybnMge3ZvaWR9ICovXG4gIGNsb3NlKCkgeyB0aGlzLmJhY2tlbmQuY2xvc2UoKSB9XG5cbiAgLyoqIEByZXR1cm5zIHtDbGllbnRbXX0gKi9cbiAgZ2V0Q2xpZW50cygpIHsgcmV0dXJuIHRoaXMuY2xpZW50cyB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi9jb25uZWN0aW9ucy93ZWItc29ja2V0L2NsaWVudC5qc1wiKS5kZWZhdWx0fSBjbGllbnRCYWNrZW5kXG4gICAqIEByZXR1cm5zIHt2b2lkfVxuICAgKi9cbiAgb25OZXdDbGllbnRGcm9tQmFja2VuZCA9IChjbGllbnRCYWNrZW5kKSA9PiB7XG4gICAgY29uc3QgY2xpZW50ID0gbmV3IENsaWVudChjbGllbnRCYWNrZW5kLCB7ZW5hYmxlU2VydmVyQ29udHJvbDogdHJ1ZX0pXG5cbiAgICB0aGlzLmNsaWVudHMucHVzaChjbGllbnQpXG4gICAgdGhpcy5ldmVudHMuZW1pdChcIm5ld0NsaWVudFwiLCBjbGllbnQpXG5cbiAgICB0aGlzLm9uTmV3Q2xpZW50RXZlbnRFbWl0dGVyLmVtaXQoW2NsaWVudF0pXG4gIH1cbn1cbiJdfQ==
@@ -84,3 +84,4 @@ class SingleEventEmitter {
84
84
  }
85
85
  _SingleEventEmitter_listener = new WeakMap(), _SingleEventEmitter_strict = new WeakMap();
86
86
  export default SingleEventEmitter;
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2luZ2xlLWV2ZW50LWVtaXR0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvc2luZ2xlLWV2ZW50LWVtaXR0ZXIuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTs7Ozs7Ozs7Ozs7OztBQUVaOzs7O0dBSUc7QUFDSCxNQUFxQixrQkFBa0I7SUFPckM7OztPQUdHO0lBQ0gsWUFBWSxPQUFPO1FBVm5CLDhCQUE4QjtRQUM5Qix1Q0FBWSxJQUFJO1FBRWhCLHNCQUFzQjtVQUZOO1FBRWhCLHNCQUFzQjtRQUN0Qiw2Q0FBTztRQU9MLHVCQUFBLElBQUksOEJBQVcsT0FBTyxFQUFFLE1BQU0sSUFBSSxJQUFJLE1BQUEsQ0FBQTtJQUN4QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILE9BQU8sQ0FBQyxRQUFRO1FBQ2QsSUFBSSx1QkFBQSxJQUFJLG9DQUFVLElBQUksdUJBQUEsSUFBSSxrQ0FBUSxFQUFFLENBQUM7WUFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxxREFBcUQsQ0FBQyxDQUFBO1FBQ3hFLENBQUM7UUFDRCx1QkFBQSxJQUFJLGdDQUFhLFFBQVEsTUFBQSxDQUFBO0lBQzNCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsVUFBVSxDQUFDLFFBQVE7UUFDakIsSUFBSSx1QkFBQSxJQUFJLG9DQUFVLEtBQUssUUFBUTtZQUFFLHVCQUFBLElBQUksZ0NBQWEsSUFBSSxNQUFBLENBQUE7SUFDeEQsQ0FBQztJQUVELHNCQUFzQjtJQUN0QixLQUFLO1FBQ0gsdUJBQUEsSUFBSSxnQ0FBYSxJQUFJLE1BQUEsQ0FBQTtJQUN2QixDQUFDO0lBRUQseUJBQXlCO0lBQ3pCLFdBQVc7UUFDVCxPQUFPLHVCQUFBLElBQUksb0NBQVUsS0FBSyxJQUFJLENBQUE7SUFDaEMsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsSUFBSSxDQUFDLEdBQUcsSUFBSTtRQUNWLE1BQU0sRUFBRSxHQUFHLHVCQUFBLElBQUksb0NBQVUsQ0FBQTtRQUN6QixJQUFJLENBQUMsRUFBRTtZQUFFLE9BQU8sS0FBSyxDQUFBO1FBQ3JCLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFBO1FBQ1gsT0FBTyxJQUFJLENBQUE7SUFDYixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxTQUFTO1FBQ1AsMEVBQTBFO1FBQzFFLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDaEMsQ0FBQztDQUNGOztlQXJFb0Isa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5cbi8qKlxuICogU2luZ2xlRXZlbnRFbWl0dGVyOiBvbmUgbGlzdGVuZXIgYXQgYSB0aW1lLCBzdHJvbmdseSB0eXBlZCB2aWEgSlNEb2MuXG4gKlxuICogQHRlbXBsYXRlIHsoLi4uYXJnczogYW55W10pID0+IGFueX0gTGlzdGVuZXJcbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU2luZ2xlRXZlbnRFbWl0dGVyIHtcbiAgLyoqIEB0eXBlIHtMaXN0ZW5lciB8IG51bGx9ICovXG4gICNsaXN0ZW5lciA9IG51bGxcblxuICAvKiogQHR5cGUge2Jvb2xlYW59ICovXG4gICNzdHJpY3RcblxuICAvKipcbiAgICogQHBhcmFtIHt7IHN0cmljdD86IGJvb2xlYW4gfT19IG9wdGlvbnNcbiAgICogIC0gc3RyaWN0IChkZWZhdWx0IHRydWUpOiB0aHJvdyBpZiBhIGxpc3RlbmVyIGlzIGFscmVhZHkgY29ubmVjdGVkXG4gICAqL1xuICBjb25zdHJ1Y3RvcihvcHRpb25zKSB7XG4gICAgdGhpcy4jc3RyaWN0ID0gb3B0aW9ucz8uc3RyaWN0ID8/IHRydWVcbiAgfVxuXG4gIC8qKlxuICAgKiBDb25uZWN0IGEgbGlzdGVuZXIgKHR5cGUtY2hlY2tlZCkuXG4gICAqIEBwYXJhbSB7TGlzdGVuZXJ9IGxpc3RlbmVyXG4gICAqIEByZXR1cm5zIHt2b2lkfVxuICAgKi9cbiAgY29ubmVjdChsaXN0ZW5lcikge1xuICAgIGlmICh0aGlzLiNsaXN0ZW5lciAmJiB0aGlzLiNzdHJpY3QpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIlNpbmdsZUV2ZW50RW1pdHRlciBhbHJlYWR5IGhhcyBhIGxpc3RlbmVyIGNvbm5lY3RlZFwiKVxuICAgIH1cbiAgICB0aGlzLiNsaXN0ZW5lciA9IGxpc3RlbmVyXG4gIH1cblxuICAvKipcbiAgICogRGlzY29ubmVjdCBvbmx5IGlmIHRoZSBzYW1lIGxpc3RlbmVyIGlzIGN1cnJlbnRseSBjb25uZWN0ZWQuXG4gICAqIEBwYXJhbSB7TGlzdGVuZXJ9IGxpc3RlbmVyXG4gICAqIEByZXR1cm5zIHt2b2lkfVxuICAgKi9cbiAgZGlzY29ubmVjdChsaXN0ZW5lcikge1xuICAgIGlmICh0aGlzLiNsaXN0ZW5lciA9PT0gbGlzdGVuZXIpIHRoaXMuI2xpc3RlbmVyID0gbnVsbFxuICB9XG5cbiAgLyoqIEByZXR1cm5zIHt2b2lkfSAqL1xuICBjbGVhcigpIHtcbiAgICB0aGlzLiNsaXN0ZW5lciA9IG51bGxcbiAgfVxuXG4gIC8qKiBAcmV0dXJucyB7Ym9vbGVhbn0gKi9cbiAgaGFzTGlzdGVuZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMuI2xpc3RlbmVyICE9PSBudWxsXG4gIH1cblxuICAvKipcbiAgICogRW1pdCB0aGUgZXZlbnQgdG8gdGhlIGNvbm5lY3RlZCBsaXN0ZW5lciAoaWYgYW55KS5cbiAgICogQXJndW1lbnRzIGFyZSB0eXBlLWNoZWNrZWQgYWdhaW5zdCBMaXN0ZW5lciBwYXJhbWV0ZXJzLlxuICAgKiBAcGFyYW0gey4uLlBhcmFtZXRlcnM8TGlzdGVuZXI+fSBhcmdzXG4gICAqIEByZXR1cm5zIHtib29sZWFufSB0cnVlIGlmIGEgbGlzdGVuZXIgd2FzIGNhbGxlZFxuICAgKi9cbiAgZW1pdCguLi5hcmdzKSB7XG4gICAgY29uc3QgZm4gPSB0aGlzLiNsaXN0ZW5lclxuICAgIGlmICghZm4pIHJldHVybiBmYWxzZVxuICAgIGZuKC4uLmFyZ3MpXG4gICAgcmV0dXJuIHRydWVcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBcImNvbm5lY3QgbWV0aG9kXCIgeW91IGNhbiBleHBvc2UgYXMgYG9uTmV3Q2xpZW50YCBldGMuXG4gICAqIFRoZSByZXR1cm5lZCBmdW5jdGlvbiBpcyB0eXBlLWNoZWNrZWQgYXMgKGxpc3RlbmVyOiBMaXN0ZW5lcikgPT4gdm9pZC5cbiAgICpcbiAgICogQHJldHVybnMgeyhsaXN0ZW5lcjogTGlzdGVuZXIpID0+IHZvaWR9XG4gICAqL1xuICBjb25uZWN0b3IoKSB7XG4gICAgLy8gYmluZCgpIGtlZXBzIGB0aGlzYCwgYW5kIHRoZSByZXR1cm4gdHlwZSBpcyBlbmZvcmNlZCBieSB0aGUgSlNEb2MgYWJvdmVcbiAgICByZXR1cm4gdGhpcy5jb25uZWN0LmJpbmQodGhpcylcbiAgfVxufVxuIl19
package/package.json CHANGED
@@ -1,11 +1,13 @@
1
1
  {
2
2
  "name": "scoundrel-remote-eval",
3
3
  "type": "module",
4
- "version": "1.0.10",
4
+ "version": "1.0.12",
5
5
  "description": "",
6
6
  "main": "build/index.js",
7
7
  "types": "build/index.d.ts",
8
- "files": ["build/**"],
8
+ "files": [
9
+ "build/**"
10
+ ],
9
11
  "scripts": {
10
12
  "all-checks": "npm run typecheck && npm run lint && npm run test",
11
13
  "build": "rm -rf build && tsc",