@secrecy/lib 1.0.0-dev.81 → 1.0.0-dev.83

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  import type { DownloadProgress as DLProgress } from "ky";
2
2
  import type { SecrecyEnv } from "./client/helpers.js";
3
- import type { Lang, Thunder, UserRole } from "./zeus/index.js";
3
+ import type { GraphQLTypes, Lang, Thunder, UserRole } from "./zeus/index.js";
4
4
  import { InfuraNetwork } from "./zeus/index.js";
5
5
  import type { ErrorAccessDenied, ErrorLimit, ErrorNotFound, ErrorNotExist } from "./error.js";
6
6
  export declare type SuccessResponse<T> = {
@@ -100,5 +100,12 @@ export declare class BaseClient {
100
100
  getSponsorshipLink({ backUrl }: {
101
101
  backUrl: string;
102
102
  }): Promise<string | null>;
103
+ static getPaymentRequest: ({ env, paymentRequestId, secrecyIdSeller, secrecyId, appCode }: {
104
+ env: SecrecyEnv;
105
+ paymentRequestId: string;
106
+ secrecyIdSeller: string;
107
+ secrecyId?: string | undefined;
108
+ appCode?: string | undefined;
109
+ }) => Promise<SuccessResponse<GraphQLTypes["GetPaymentRequestToPay"]> | ErrorAccessDenied | ErrorNotFound>;
103
110
  }
104
111
  export {};
@@ -427,4 +427,80 @@ BaseClient.getBaseUrl = function (env, graphcdn) {
427
427
  }
428
428
  };
429
429
  BaseClient.getBaseClient = (env, session) => createThunder(BaseClient.getBaseUrl(env), session);
430
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJnZXRMaW5rIiwidXNlcnNDYWNoZSIsImdldFN0b3JhZ2UiLCJJbmZ1cmFOZXR3b3JrIiwiU2VsZWN0b3IiLCJjcmVhdGVUaHVuZGVyIiwiZ2V0VXNlclNlbGVjdG9yIiwidXNlcklkIiwid2l0aFB1YmxpY0tleSIsInVzZXIiLCJfX3R5cGVuYW1lIiwibWVzc2FnZSIsImZpZWxkIiwiaWQiLCJmaXJzdG5hbWUiLCJsYXN0bmFtZSIsImxhbmciLCJwdWJsaWNLZXkiLCJ1bmRlZmluZWQiLCJlbWFpbCIsInBob25lIiwicm9sZSIsImRlbGV0ZWRBdCIsImxhc3RMb2dpbiIsImdldFVzZXIiLCJwYXJhbXMiLCJzZWxlY3RvciIsInVzZXJFbWFpbCIsInVzZXJSZXNwb25zZSIsImNsaWVudCIsInNjYWxhcnMiLCJKc29uIiwiZW5jb2RlIiwiZSIsIkpTT04iLCJzdHJpbmdpZnkiLCJkZWNvZGUiLCJwYXJzZSIsIkRhdGVUaW1lIiwiRGF0ZSIsInRvSVNPU3RyaW5nIiwiQmlnSW50IiwidG9TdHJpbmciLCJkYXRhIiwiQmFzZUNsaWVudCIsImNvbnN0cnVjdG9yIiwic2Vzc2lvbiIsImVudiIsInNlc3Npb25JZCIsInRodW5kZXIiLCJnZXRCYXNlQ2xpZW50IiwibG9nb3V0IiwibG9jYWwiLCJqd3QiLCJjbGVhciIsInVzZXJBcHBLZXlzIiwidXNlckFwcFNlc3Npb24iLCJtZSIsInNldCIsInVwZGF0ZVByb2ZpbGUiLCJpc0NyeXB0b1RyYW5zYWN0aW9uRG9uZSIsImlkT3JIYXNoIiwibmV0d29yayIsIm1haW5uZXQiLCJkb25lIiwibGltaXRzIiwiY2xvdWQiLCJzaXplIiwibWF4U2l6ZSIsImNvdW50IiwibWF4Q291bnQiLCJtYWlsIiwicmVjZWl2ZWQiLCJmaWxlQ291bnQiLCJtYXhGaWxlQ291bnQiLCJmaWxlU2l6ZSIsIm1heEZpbGVTaXplIiwic2VudCIsInJlcG9ydFVzZXIiLCJyZXBvcnRlZFVzZXJJZCIsImN1c3RvbU1lc3NhZ2UiLCJzZW5kUmVwb3J0IiwicmVwb3J0ZWRVc2VyIiwiZ2V0U3BvbnNvcnNoaXBMaW5rIiwiYmFja1VybCIsImFwcCIsInBhdGgiLCJidG9hIiwiZ2V0QmFzZVVybCIsImdyYXBoY2RuIiwiYXBpVXJsIiwicHJvY2VzcyIsIk5FWFRfUFVCTElDX1NFQ1JFQ1lfQVBJX1VSTCJdLCJzb3VyY2VzIjpbIi4uL3NyYy9CYXNlQ2xpZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvbiAqL1xuaW1wb3J0IHR5cGUgeyBEb3dubG9hZFByb2dyZXNzIGFzIERMUHJvZ3Jlc3MgfSBmcm9tIFwia3lcIjtcbmltcG9ydCB7IGdldExpbmsgfSBmcm9tIFwiQHNlY3JlY3kvbGliLXV0aWxzXCI7XG5pbXBvcnQgeyB1c2Vyc0NhY2hlIH0gZnJvbSBcIi4vY2FjaGUuanNcIjtcbmltcG9ydCB0eXBlIHsgU2VjcmVjeUVudiB9IGZyb20gXCIuL2NsaWVudC9oZWxwZXJzLmpzXCI7XG5pbXBvcnQgeyBnZXRTdG9yYWdlIH0gZnJvbSBcIi4vY2xpZW50L3N0b3JhZ2UuanNcIjtcbmltcG9ydCB0eXBlIHsgTGFuZywgVGh1bmRlciwgVXNlclJvbGUgfSBmcm9tIFwiLi96ZXVzL2luZGV4LmpzXCI7XG5pbXBvcnQgeyBJbmZ1cmFOZXR3b3JrIH0gZnJvbSBcIi4vemV1cy9pbmRleC5qc1wiO1xuaW1wb3J0IHsgU2VsZWN0b3IgfSBmcm9tIFwiLi96ZXVzL2luZGV4LmpzXCI7XG5pbXBvcnQgeyBjcmVhdGVUaHVuZGVyIH0gZnJvbSBcIi4vWmV1c1RodW5kZXIuanNcIjtcbmltcG9ydCB0eXBlIHtcbiAgRXJyb3JBY2Nlc3NEZW5pZWQsXG4gIEVycm9yTGltaXQsXG4gIEVycm9yTm90Rm91bmQsXG4gIEVycm9yTm90RXhpc3Rcbn0gZnJvbSBcIi4vZXJyb3IuanNcIjtcblxuZXhwb3J0IHR5cGUgU3VjY2Vzc1Jlc3BvbnNlPFQ+ID0ge1xuICBfX3R5cGVuYW1lOiBcIlN1Y2Nlc3NSZXNwb25zZVwiO1xuICBkYXRhOiBUO1xufTtcblxuZXhwb3J0IHR5cGUgRG93bmxvYWRQcm9ncmVzcyA9IERMUHJvZ3Jlc3M7XG5cbmV4cG9ydCB0eXBlIFNlbmRSZXBvcnQgPSB7XG4gIGlkOiBzdHJpbmc7XG4gIHVzZXI6IHtcbiAgICBpZDogc3RyaW5nO1xuICAgIGZpcnN0bmFtZTogc3RyaW5nO1xuICAgIGxhc3RuYW1lOiBzdHJpbmc7XG4gICAgZW1haWw6IHN0cmluZztcbiAgfTtcbiAgcmVwb3J0ZWRVc2VyOiB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBmaXJzdG5hbWU6IHN0cmluZztcbiAgICBsYXN0bmFtZTogc3RyaW5nO1xuICAgIGVtYWlsOiBzdHJpbmc7XG4gIH07XG4gIGN1c3RvbU1lc3NhZ2U/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG59O1xuXG5leHBvcnQgdHlwZSBVc2VyRGF0YTxcbiAgVCBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0gUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbj4gPSB7XG4gIGlzU3VwZXJ1c2VyOiBib29sZWFuO1xuICBpc1NlYXJjaGFibGU6IGJvb2xlYW47XG59ICYgVDtcblxuY29uc3QgZ2V0VXNlclNlbGVjdG9yID0gKFxuICB1c2VySWQ6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQsXG4gIHdpdGhQdWJsaWNLZXk6IGJvb2xlYW4gfCB1bmRlZmluZWRcbikgPT4ge1xuICBjb25zdCB7IHVzZXIgfSA9IFNlbGVjdG9yKFwiUXVlcnlcIikoe1xuICAgIHVzZXI6IFtcbiAgICAgIHsgdXNlcklkIH0sXG4gICAgICB7XG4gICAgICAgIFwiLi4ub24gRXJyb3JOb3RGb3VuZFwiOiB7XG4gICAgICAgICAgX190eXBlbmFtZTogdHJ1ZSxcbiAgICAgICAgICBtZXNzYWdlOiB0cnVlLFxuICAgICAgICAgIGZpZWxkOiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIFwiLi4ub24gVXNlclJlc3BvbnNlXCI6IHtcbiAgICAgICAgICBfX3R5cGVuYW1lOiB0cnVlLFxuICAgICAgICAgIHVzZXI6IHtcbiAgICAgICAgICAgIGlkOiB0cnVlLFxuICAgICAgICAgICAgZmlyc3RuYW1lOiB0cnVlLFxuICAgICAgICAgICAgbGFzdG5hbWU6IHRydWUsXG4gICAgICAgICAgICBsYW5nOiB0cnVlLFxuICAgICAgICAgICAgcHVibGljS2V5OiB3aXRoUHVibGljS2V5ID8gdHJ1ZSA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIGVtYWlsOiB0cnVlLFxuICAgICAgICAgICAgcGhvbmU6IHRydWUsXG4gICAgICAgICAgICByb2xlOiB0cnVlLFxuICAgICAgICAgICAgZGVsZXRlZEF0OiB0cnVlLFxuICAgICAgICAgICAgbGFzdExvZ2luOiB0cnVlXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgXVxuICB9KTtcbiAgcmV0dXJuIHVzZXI7XG59O1xuXG5leHBvcnQgdHlwZSBVc2VyQmFzZSA9IHtcbiAgZW1haWw6IHN0cmluZztcbiAgcGhvbmU6IHN0cmluZztcbiAgbGFzdG5hbWU6IHN0cmluZztcbiAgcm9sZTogVXNlclJvbGU7XG4gIGZpcnN0bmFtZTogc3RyaW5nO1xuICBpZDogc3RyaW5nO1xuICBkZWxldGVkQXQ/OiBEYXRlO1xuICBsYXN0TG9naW46IERhdGU7XG4gIGxhbmc6IExhbmc7XG59O1xuXG50eXBlIFdpdGhQdWJsaWNLZXkgPSB7IHdpdGhQdWJsaWNLZXk/OiBib29sZWFuIH07XG5cbmV4cG9ydCB0eXBlIFVzZXI8VCBleHRlbmRzIFdpdGhQdWJsaWNLZXkgPSBXaXRoUHVibGljS2V5PiA9IFQgZXh0ZW5kcyB7XG4gIHdpdGhQdWJsaWNLZXk6IHRydWU7XG59XG4gID8gVXNlckJhc2UgJiB7IHB1YmxpY0tleTogc3RyaW5nIH1cbiAgOiBVc2VyQmFzZTtcblxudHlwZSBDbGFzc0dldFVzZXJQYXJhbXMgPSBXaXRoUHVibGljS2V5ICYge1xuICB1c2VySWQ/OiBzdHJpbmc7XG4gIHVzZXJFbWFpbD86IHN0cmluZztcbn07XG50eXBlIEdldFVzZXJQYXJhbXMgPSBDbGFzc0dldFVzZXJQYXJhbXMgJiB7XG4gIGNsaWVudDogUmV0dXJuVHlwZTx0eXBlb2YgVGh1bmRlcj47XG59O1xuXG50eXBlIFN0YXRpY0dldFVzZXJQYXJhbXMgPSBDbGFzc0dldFVzZXJQYXJhbXMgJiB7XG4gIGVudjogU2VjcmVjeUVudjtcbn07XG5cbmFzeW5jIGZ1bmN0aW9uIGdldFVzZXI8VSBleHRlbmRzIFdpdGhQdWJsaWNLZXk+KFxuICBwYXJhbXM6IEdldFVzZXJQYXJhbXNcbik6IFByb21pc2U8U3VjY2Vzc1Jlc3BvbnNlPFVzZXI8VT4+IHwgRXJyb3JOb3RGb3VuZCB8IG51bGw+IHtcbiAgY29uc3Qgc2VsZWN0b3IgPSBnZXRVc2VyU2VsZWN0b3IoXG4gICAgcGFyYW1zLnVzZXJJZCA/PyBwYXJhbXMudXNlckVtYWlsLFxuICAgIHBhcmFtcy53aXRoUHVibGljS2V5XG4gICk7XG4gIGNvbnN0IHsgdXNlcjogdXNlclJlc3BvbnNlIH0gPSBhd2FpdCBwYXJhbXMuY2xpZW50KFwicXVlcnlcIiwge1xuICAgIHNjYWxhcnM6IHtcbiAgICAgIEpzb246IHtcbiAgICAgICAgZW5jb2RlOiAoZTogdW5rbm93bikgPT4gSlNPTi5zdHJpbmdpZnkoZSksXG4gICAgICAgIGRlY29kZTogKGU6IHVua25vd24pID0+IEpTT04ucGFyc2UoZSBhcyBzdHJpbmcpXG4gICAgICB9LFxuICAgICAgRGF0ZVRpbWU6IHtcbiAgICAgICAgZGVjb2RlOiAoZTogdW5rbm93bikgPT4gbmV3IERhdGUoZSBhcyBzdHJpbmcpLFxuICAgICAgICBlbmNvZGU6IChlOiB1bmtub3duKSA9PiAoZSBhcyBEYXRlKS50b0lTT1N0cmluZygpXG4gICAgICB9LFxuICAgICAgQmlnSW50OiB7XG4gICAgICAgIGRlY29kZTogKGU6IHVua25vd24pID0+IEJpZ0ludChlIGFzIHN0cmluZyksXG4gICAgICAgIGVuY29kZTogKGU6IHVua25vd24pID0+IChlIGFzIGJpZ2ludCkudG9TdHJpbmcoKVxuICAgICAgfVxuICAgIH1cbiAgfSkoe1xuICAgIHVzZXI6IHNlbGVjdG9yXG4gIH0pO1xuXG4gIGlmICghdXNlclJlc3BvbnNlKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBpZiAodXNlclJlc3BvbnNlLl9fdHlwZW5hbWUgPT09IFwiRXJyb3JOb3RGb3VuZFwiKSB7XG4gICAgcmV0dXJuIHVzZXJSZXNwb25zZTtcbiAgfVxuXG4gIGlmICghdXNlclJlc3BvbnNlLnVzZXIpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgX190eXBlbmFtZTogXCJTdWNjZXNzUmVzcG9uc2VcIixcbiAgICBkYXRhOiB1c2VyUmVzcG9uc2UudXNlclxuICB9O1xufVxuXG5leHBvcnQgdHlwZSBDbG91ZExpbWl0cyA9IHtcbiAgY291bnQ6IGJpZ2ludDtcbiAgbWF4Q291bnQ/OiBiaWdpbnQgfCB1bmRlZmluZWQ7XG4gIHNpemU6IGJpZ2ludDtcbiAgbWF4U2l6ZT86IGJpZ2ludCB8IHVuZGVmaW5lZDtcbn07XG5cbmV4cG9ydCB0eXBlIE1haWxMaW1pdHNWYWx1ZXMgPSB7XG4gIGNvdW50OiBiaWdpbnQ7XG4gIG1heENvdW50PzogYmlnaW50IHwgdW5kZWZpbmVkO1xuICBmaWxlU2l6ZTogYmlnaW50O1xuICBtYXhGaWxlU2l6ZT86IGJpZ2ludCB8IHVuZGVmaW5lZDtcbiAgZmlsZUNvdW50OiBiaWdpbnQ7XG4gIG1heEZpbGVDb3VudD86IGJpZ2ludCB8IHVuZGVmaW5lZDtcbn07XG5cbmV4cG9ydCB0eXBlIFF1ZXJ5TGltaXRzID0ge1xuICBjbG91ZDogQ2xvdWRMaW1pdHM7XG4gIG1haWw6IHtcbiAgICBzZW50OiBNYWlsTGltaXRzVmFsdWVzO1xuICAgIHJlY2VpdmVkOiBNYWlsTGltaXRzVmFsdWVzO1xuICB9O1xufTtcblxuZXhwb3J0IGNsYXNzIEJhc2VDbGllbnQge1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGdldEJhc2VVcmwgPSAoXG4gICAgZW52OiBTZWNyZWN5RW52ID0gXCJwcm9kXCIsXG4gICAgZ3JhcGhjZG4gPSB0cnVlXG4gICk6IHN0cmluZyA9PiB7XG4gICAgY29uc3QgYXBpVXJsID0gcHJvY2Vzcy5lbnYuTkVYVF9QVUJMSUNfU0VDUkVDWV9BUElfVVJMO1xuICAgIGlmIChhcGlVcmwpIHtcbiAgICAgIHJldHVybiBhcGlVcmw7XG4gICAgfVxuXG4gICAgc3dpdGNoIChlbnYpIHtcbiAgICAgIGNhc2UgXCJwcm9kXCI6XG4gICAgICAgIHJldHVybiBncmFwaGNkblxuICAgICAgICAgID8gXCJodHRwczovL3NlY3JlY3kuZ3JhcGhjZG4uYXBwXCJcbiAgICAgICAgICA6IFwiaHR0cHM6Ly9hcGkuc2VjcmVjeS5tZS9ncmFwaHFsXCI7XG4gICAgICBjYXNlIFwiZGV2XCI6XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gXCJodHRwczovL2FwaS5kZXYuc2VjcmVjeS5tZS9ncmFwaHFsXCI7XG4gICAgfVxuICB9O1xuXG4gIHN0YXRpYyByZWFkb25seSBnZXRCYXNlQ2xpZW50ID0gKFxuICAgIGVudjogU2VjcmVjeUVudixcbiAgICBzZXNzaW9uPzogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZFxuICApOiBSZXR1cm5UeXBlPHR5cGVvZiBUaHVuZGVyPiA9PlxuICAgIGNyZWF0ZVRodW5kZXIoQmFzZUNsaWVudC5nZXRCYXNlVXJsKGVudiksIHNlc3Npb24pO1xuXG4gIHByb3RlY3RlZCB0aHVuZGVyOiBSZXR1cm5UeXBlPHR5cGVvZiBUaHVuZGVyPjtcblxuICBwdWJsaWMgc2Vzc2lvbklkOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3Ioc2Vzc2lvbjogc3RyaW5nLCBlbnY6IFNlY3JlY3lFbnYpIHtcbiAgICB0aGlzLnNlc3Npb25JZCA9IHNlc3Npb247XG4gICAgdGhpcy50aHVuZGVyID0gQmFzZUNsaWVudC5nZXRCYXNlQ2xpZW50KGVudiwgc2Vzc2lvbik7XG4gIH1cblxuICBhc3luYyBsb2dvdXQoc2Vzc2lvbklkPzogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICghc2Vzc2lvbklkKSB7XG4gICAgICBjb25zdCBsb2NhbCA9IGdldFN0b3JhZ2UoZmFsc2UpO1xuICAgICAgY29uc3Qgc2Vzc2lvbiA9IGdldFN0b3JhZ2UodHJ1ZSk7XG4gICAgICBsb2NhbC5qd3QuY2xlYXIoKTtcbiAgICAgIGxvY2FsLnVzZXJBcHBLZXlzLmNsZWFyKCk7XG4gICAgICBsb2NhbC51c2VyQXBwU2Vzc2lvbi5jbGVhcigpO1xuICAgICAgc2Vzc2lvbi5qd3QuY2xlYXIoKTtcbiAgICAgIHNlc3Npb24udXNlckFwcEtleXMuY2xlYXIoKTtcbiAgICAgIHNlc3Npb24udXNlckFwcFNlc3Npb24uY2xlYXIoKTtcbiAgICAgIHVzZXJzQ2FjaGUuY2xlYXIoKTtcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHRoaXMudGh1bmRlcihcIm11dGF0aW9uXCIpKHtcbiAgICAgICAgbG9nb3V0OiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgc2Vzc2lvbklkOiBzZXNzaW9uSWRcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwiLi4ub24gRXJyb3JBY2Nlc3NEZW5pZWRcIjoge1xuICAgICAgICAgICAgICBfX3R5cGVuYW1lOiB0cnVlLFxuICAgICAgICAgICAgICBtZXNzYWdlOiB0cnVlXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgXCIuLi5vbiBFcnJvckJhc2ljXCI6IHtcbiAgICAgICAgICAgICAgX190eXBlbmFtZTogdHJ1ZSxcbiAgICAgICAgICAgICAgbWVzc2FnZTogdHJ1ZVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIFwiLi4ub24gTG9nb3V0UmVzcG9uc2VcIjoge1xuICAgICAgICAgICAgICBfX3R5cGVuYW1lOiB0cnVlLFxuICAgICAgICAgICAgICBsb2dvdXQ6IHRydWVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIF1cbiAgICAgIH0pO1xuICAgIH0gY2F0Y2gge1xuICAgICAgLy9cbiAgICB9XG4gIH1cblxuICBhc3luYyBtZTxUIGV4dGVuZHMgV2l0aFB1YmxpY0tleSA9IFdpdGhQdWJsaWNLZXk+KFxuICAgIHBhcmFtcz86IFRcbiAgKTogUHJvbWlzZTxTdWNjZXNzUmVzcG9uc2U8VXNlcjxUPj4gfCBFcnJvck5vdEZvdW5kIHwgbnVsbD4ge1xuICAgIHJldHVybiB0aGlzLnVzZXIocGFyYW1zIHx8ICh7IHdpdGhQdWJsaWNLZXk6IHRydWUgfSBhcyBUKSk7XG4gIH1cblxuICBzdGF0aWMgYXN5bmMgdXNlcjxUIGV4dGVuZHMgU3RhdGljR2V0VXNlclBhcmFtcz4oXG4gICAgcGFyYW1zOiBULFxuICAgIHNlc3Npb25JZD86IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWRcbiAgKTogUHJvbWlzZTxTdWNjZXNzUmVzcG9uc2U8VXNlcjxUPj4gfCBFcnJvck5vdEZvdW5kIHwgbnVsbD4ge1xuICAgIGNvbnN0IHVzZXIgPSBhd2FpdCBnZXRVc2VyPFQ+KHtcbiAgICAgIGNsaWVudDogdGhpcy5nZXRCYXNlQ2xpZW50KHBhcmFtcy5lbnYsIHNlc3Npb25JZCksXG4gICAgICB1c2VySWQ6IHBhcmFtcy51c2VySWQgPz8gcGFyYW1zLnVzZXJFbWFpbCxcbiAgICAgIHdpdGhQdWJsaWNLZXk6IHBhcmFtcy53aXRoUHVibGljS2V5XG4gICAgfSk7XG5cbiAgICBpZiAoIXVzZXIpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGlmICh1c2VyLl9fdHlwZW5hbWUgPT09IFwiRXJyb3JOb3RGb3VuZFwiKSB7XG4gICAgICByZXR1cm4gdXNlcjtcbiAgICB9XG5cbiAgICBpZiAodXNlcikge1xuICAgICAgdXNlcnNDYWNoZS5zZXQodXNlci5kYXRhLmlkLCB1c2VyLmRhdGEpO1xuICAgIH1cblxuICAgIHJldHVybiB1c2VyO1xuICB9XG5cbiAgYXN5bmMgdXNlcjxUIGV4dGVuZHMgQ2xhc3NHZXRVc2VyUGFyYW1zPihcbiAgICBwYXJhbXM6IFRcbiAgKTogUHJvbWlzZTxTdWNjZXNzUmVzcG9uc2U8VXNlcjxUPj4gfCBFcnJvck5vdEZvdW5kIHwgbnVsbD4ge1xuICAgIGNvbnN0IHVzZXIgPSBhd2FpdCBnZXRVc2VyPFQ+KHtcbiAgICAgIGNsaWVudDogdGhpcy50aHVuZGVyLFxuICAgICAgdXNlcklkOiBwYXJhbXMudXNlcklkID8/IHBhcmFtcy51c2VyRW1haWwsXG4gICAgICB3aXRoUHVibGljS2V5OiBwYXJhbXMud2l0aFB1YmxpY0tleVxuICAgIH0pO1xuXG4gICAgaWYgKCF1c2VyKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAodXNlci5fX3R5cGVuYW1lID09PSBcIkVycm9yTm90Rm91bmRcIikge1xuICAgICAgcmV0dXJuIHVzZXI7XG4gICAgfVxuXG4gICAgaWYgKHVzZXIpIHtcbiAgICAgIHVzZXJzQ2FjaGUuc2V0KHVzZXIuZGF0YS5pZCwgdXNlci5kYXRhKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdXNlcjtcbiAgfVxuXG4gIGFzeW5jIHVwZGF0ZVByb2ZpbGUoe1xuICAgIGZpcnN0bmFtZSxcbiAgICBsYXN0bmFtZSxcbiAgICBsYW5nXG4gIH06IHtcbiAgICBmaXJzdG5hbWU6IHN0cmluZyB8IG51bGw7XG4gICAgbGFzdG5hbWU6IHN0cmluZyB8IG51bGw7XG4gICAgbGFuZzogTGFuZyB8IG51bGw7XG4gIH0pOiBQcm9taXNlPFxuICAgIFN1Y2Nlc3NSZXNwb25zZTxVc2VyPiB8IEVycm9yTm90Rm91bmQgfCBFcnJvckFjY2Vzc0RlbmllZCB8IG51bGxcbiAgPiB7XG4gICAgY29uc3QgeyB1cGRhdGVQcm9maWxlIH0gPSBhd2FpdCB0aGlzLnRodW5kZXIoXCJtdXRhdGlvblwiLCB7XG4gICAgICBzY2FsYXJzOiB7XG4gICAgICAgIEpzb246IHtcbiAgICAgICAgICBlbmNvZGU6IChlOiB1bmtub3duKSA9PiBKU09OLnN0cmluZ2lmeShlKSxcbiAgICAgICAgICBkZWNvZGU6IChlOiB1bmtub3duKSA9PiBKU09OLnBhcnNlKGUgYXMgc3RyaW5nKVxuICAgICAgICB9LFxuICAgICAgICBEYXRlVGltZToge1xuICAgICAgICAgIGRlY29kZTogKGU6IHVua25vd24pID0+IG5ldyBEYXRlKGUgYXMgc3RyaW5nKSxcbiAgICAgICAgICBlbmNvZGU6IChlOiB1bmtub3duKSA9PiAoZSBhcyBEYXRlKS50b0lTT1N0cmluZygpXG4gICAgICAgIH0sXG4gICAgICAgIEJpZ0ludDoge1xuICAgICAgICAgIGRlY29kZTogKGU6IHVua25vd24pID0+IEJpZ0ludChlIGFzIHN0cmluZyksXG4gICAgICAgICAgZW5jb2RlOiAoZTogdW5rbm93bikgPT4gKGUgYXMgYmlnaW50KS50b1N0cmluZygpXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KSh7XG4gICAgICB1cGRhdGVQcm9maWxlOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBmaXJzdG5hbWUsXG4gICAgICAgICAgbGFzdG5hbWUsXG4gICAgICAgICAgbGFuZ1xuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgXCIuLi5vbiBFcnJvckFjY2Vzc0RlbmllZFwiOiB7XG4gICAgICAgICAgICBfX3R5cGVuYW1lOiB0cnVlLFxuICAgICAgICAgICAgbWVzc2FnZTogdHJ1ZVxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCIuLi5vbiBFcnJvck5vdEZvdW5kXCI6IHtcbiAgICAgICAgICAgIF9fdHlwZW5hbWU6IHRydWUsXG4gICAgICAgICAgICBtZXNzYWdlOiB0cnVlXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcIi4uLm9uIFVwZGF0ZVByb2ZpbGVSZXNwb25zZVwiOiB7XG4gICAgICAgICAgICBfX3R5cGVuYW1lOiB0cnVlLFxuICAgICAgICAgICAgdXBkYXRlUHJvZmlsZToge1xuICAgICAgICAgICAgICBpZDogdHJ1ZSxcbiAgICAgICAgICAgICAgZmlyc3RuYW1lOiB0cnVlLFxuICAgICAgICAgICAgICBsYXN0bmFtZTogdHJ1ZSxcbiAgICAgICAgICAgICAgbGFuZzogdHJ1ZSxcbiAgICAgICAgICAgICAgZW1haWw6IHRydWUsXG4gICAgICAgICAgICAgIHBob25lOiB0cnVlLFxuICAgICAgICAgICAgICByb2xlOiB0cnVlLFxuICAgICAgICAgICAgICBkZWxldGVkQXQ6IHRydWUsXG4gICAgICAgICAgICAgIGxhc3RMb2dpbjogdHJ1ZVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgXVxuICAgIH0pO1xuXG4gICAgaWYgKCF1cGRhdGVQcm9maWxlKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAodXBkYXRlUHJvZmlsZS5fX3R5cGVuYW1lID09PSBcIkVycm9yQWNjZXNzRGVuaWVkXCIpIHtcbiAgICAgIHJldHVybiB1cGRhdGVQcm9maWxlO1xuICAgIH1cblxuICAgIGlmICh1cGRhdGVQcm9maWxlLl9fdHlwZW5hbWUgPT09IFwiRXJyb3JOb3RGb3VuZFwiKSB7XG4gICAgICByZXR1cm4gdXBkYXRlUHJvZmlsZTtcbiAgICB9XG5cbiAgICBpZiAoIXVwZGF0ZVByb2ZpbGUudXBkYXRlUHJvZmlsZSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIF9fdHlwZW5hbWU6IFwiU3VjY2Vzc1Jlc3BvbnNlXCIsXG4gICAgICBkYXRhOiB1cGRhdGVQcm9maWxlLnVwZGF0ZVByb2ZpbGVcbiAgICB9O1xuICB9XG5cbiAgc3RhdGljIGFzeW5jIGlzQ3J5cHRvVHJhbnNhY3Rpb25Eb25lKHtcbiAgICBlbnYsXG4gICAgaWRPckhhc2gsXG4gICAgbmV0d29yayA9IEluZnVyYU5ldHdvcmsubWFpbm5ldFxuICB9OiB7XG4gICAgZW52OiBTZWNyZWN5RW52O1xuICAgIGlkT3JIYXNoOiBzdHJpbmc7XG4gICAgbmV0d29yaz86IEluZnVyYU5ldHdvcms7XG4gIH0pOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCB7IGlzQ3J5cHRvVHJhbnNhY3Rpb25Eb25lIH0gPSBhd2FpdCBCYXNlQ2xpZW50LmdldEJhc2VDbGllbnQoZW52KShcbiAgICAgIFwicXVlcnlcIlxuICAgICkoe1xuICAgICAgaXNDcnlwdG9UcmFuc2FjdGlvbkRvbmU6IFtcbiAgICAgICAge1xuICAgICAgICAgIGlkT3JIYXNoLFxuICAgICAgICAgIG5ldHdvcmtcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIF9fdHlwZW5hbWU6IHRydWUsXG4gICAgICAgICAgXCIuLi5vbiBJc0NyeXB0b1RyYW5zYWN0aW9uRG9uZVJlc3BvbnNlXCI6IHtcbiAgICAgICAgICAgIGRvbmU6IHRydWVcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwiLi4ub24gRXJyb3JOb3RFeGlzdFwiOiB7XG4gICAgICAgICAgICBtZXNzYWdlOiB0cnVlXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICBdXG4gICAgfSk7XG5cbiAgICBpZiAoIWlzQ3J5cHRvVHJhbnNhY3Rpb25Eb25lKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcmV0dXJuIGlzQ3J5cHRvVHJhbnNhY3Rpb25Eb25lLl9fdHlwZW5hbWUgPT09XG4gICAgICBcIklzQ3J5cHRvVHJhbnNhY3Rpb25Eb25lUmVzcG9uc2VcIlxuICAgICAgPyBpc0NyeXB0b1RyYW5zYWN0aW9uRG9uZS5kb25lXG4gICAgICA6IGZhbHNlO1xuICB9XG5cbiAgYXN5bmMgbGltaXRzKCk6IFByb21pc2U8XG4gICAgfCBTdWNjZXNzUmVzcG9uc2U8UXVlcnlMaW1pdHM+XG4gICAgfCBFcnJvckFjY2Vzc0RlbmllZFxuICAgIHwgRXJyb3JOb3RFeGlzdFxuICAgIHwgRXJyb3JMaW1pdFxuICAgIHwgRXJyb3JOb3RGb3VuZFxuICAgIHwgbnVsbFxuICA+IHtcbiAgICBjb25zdCB7IGxpbWl0cyB9ID0gYXdhaXQgdGhpcy50aHVuZGVyKFwicXVlcnlcIiwge1xuICAgICAgc2NhbGFyczoge1xuICAgICAgICBKc29uOiB7XG4gICAgICAgICAgZW5jb2RlOiAoZTogdW5rbm93bikgPT4gSlNPTi5zdHJpbmdpZnkoZSksXG4gICAgICAgICAgZGVjb2RlOiAoZTogdW5rbm93bikgPT4gSlNPTi5wYXJzZShlIGFzIHN0cmluZylcbiAgICAgICAgfSxcbiAgICAgICAgRGF0ZVRpbWU6IHtcbiAgICAgICAgICBkZWNvZGU6IChlOiB1bmtub3duKSA9PiBuZXcgRGF0ZShlIGFzIHN0cmluZyksXG4gICAgICAgICAgZW5jb2RlOiAoZTogdW5rbm93bikgPT4gKGUgYXMgRGF0ZSkudG9JU09TdHJpbmcoKVxuICAgICAgICB9LFxuICAgICAgICBCaWdJbnQ6IHtcbiAgICAgICAgICBkZWNvZGU6IChlOiB1bmtub3duKSA9PiBCaWdJbnQoZSBhcyBzdHJpbmcpLFxuICAgICAgICAgIGVuY29kZTogKGU6IHVua25vd24pID0+IChlIGFzIGJpZ2ludCkudG9TdHJpbmcoKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSkoe1xuICAgICAgbGltaXRzOiB7XG4gICAgICAgIFwiLi4ub24gRXJyb3JBY2Nlc3NEZW5pZWRcIjoge1xuICAgICAgICAgIF9fdHlwZW5hbWU6IHRydWUsXG4gICAgICAgICAgbWVzc2FnZTogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICBcIi4uLm9uIEVycm9yTGltaXRcIjoge1xuICAgICAgICAgIF9fdHlwZW5hbWU6IHRydWUsXG4gICAgICAgICAgbWVzc2FnZTogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICBcIi4uLm9uIEVycm9yTm90RXhpc3RcIjoge1xuICAgICAgICAgIF9fdHlwZW5hbWU6IHRydWUsXG4gICAgICAgICAgbWVzc2FnZTogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICBcIi4uLm9uIEVycm9yTm90Rm91bmRcIjoge1xuICAgICAgICAgIF9fdHlwZW5hbWU6IHRydWUsXG4gICAgICAgICAgbWVzc2FnZTogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICBcIi4uLm9uIFF1ZXJ5TGltaXRzXCI6IHtcbiAgICAgICAgICBfX3R5cGVuYW1lOiB0cnVlLFxuICAgICAgICAgIGNsb3VkOiB7XG4gICAgICAgICAgICBzaXplOiB0cnVlLFxuICAgICAgICAgICAgbWF4U2l6ZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvdW50OiB0cnVlLFxuICAgICAgICAgICAgbWF4Q291bnQ6IHRydWVcbiAgICAgICAgICB9LFxuICAgICAgICAgIG1haWw6IHtcbiAgICAgICAgICAgIHJlY2VpdmVkOiB7XG4gICAgICAgICAgICAgIGNvdW50OiB0cnVlLFxuICAgICAgICAgICAgICBtYXhDb3VudDogdHJ1ZSxcbiAgICAgICAgICAgICAgZmlsZUNvdW50OiB0cnVlLFxuICAgICAgICAgICAgICBtYXhGaWxlQ291bnQ6IHRydWUsXG4gICAgICAgICAgICAgIGZpbGVTaXplOiB0cnVlLFxuICAgICAgICAgICAgICBtYXhGaWxlU2l6ZTogdHJ1ZVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHNlbnQ6IHtcbiAgICAgICAgICAgICAgY291bnQ6IHRydWUsXG4gICAgICAgICAgICAgIG1heENvdW50OiB0cnVlLFxuICAgICAgICAgICAgICBmaWxlQ291bnQ6IHRydWUsXG4gICAgICAgICAgICAgIG1heEZpbGVDb3VudDogdHJ1ZSxcbiAgICAgICAgICAgICAgZmlsZVNpemU6IHRydWUsXG4gICAgICAgICAgICAgIG1heEZpbGVTaXplOiB0cnVlXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBpZiAoIWxpbWl0cykge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgaWYgKGxpbWl0cy5fX3R5cGVuYW1lID09PSBcIkVycm9yQWNjZXNzRGVuaWVkXCIpIHtcbiAgICAgIHJldHVybiBsaW1pdHM7XG4gICAgfVxuICAgIGlmIChsaW1pdHMuX190eXBlbmFtZSA9PT0gXCJFcnJvck5vdEV4aXN0XCIpIHtcbiAgICAgIHJldHVybiBsaW1pdHM7XG4gICAgfVxuICAgIGlmIChsaW1pdHMuX190eXBlbmFtZSA9PT0gXCJFcnJvckxpbWl0XCIpIHtcbiAgICAgIHJldHVybiBsaW1pdHM7XG4gICAgfVxuICAgIGlmIChsaW1pdHMuX190eXBlbmFtZSA9PT0gXCJFcnJvck5vdEZvdW5kXCIpIHtcbiAgICAgIHJldHVybiBsaW1pdHM7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIF9fdHlwZW5hbWU6IFwiU3VjY2Vzc1Jlc3BvbnNlXCIsXG4gICAgICBkYXRhOiBsaW1pdHNcbiAgICB9O1xuICB9XG5cbiAgYXN5bmMgcmVwb3J0VXNlcihcbiAgICByZXBvcnRlZFVzZXJJZDogc3RyaW5nLFxuICAgIGN1c3RvbU1lc3NhZ2U/OiBzdHJpbmdcbiAgKTogUHJvbWlzZTxcbiAgICBTdWNjZXNzUmVzcG9uc2U8U2VuZFJlcG9ydD4gfCBFcnJvckFjY2Vzc0RlbmllZCB8IEVycm9yTm90Rm91bmQgfCBudWxsXG4gID4ge1xuICAgIGNvbnN0IHsgc2VuZFJlcG9ydCB9ID0gYXdhaXQgdGhpcy50aHVuZGVyKFwibXV0YXRpb25cIikoe1xuICAgICAgc2VuZFJlcG9ydDogW1xuICAgICAgICB7XG4gICAgICAgICAgcmVwb3J0ZWRVc2VySWQsXG4gICAgICAgICAgY3VzdG9tTWVzc2FnZVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgXCIuLi5vbiBFcnJvckFjY2Vzc0RlbmllZFwiOiB7XG4gICAgICAgICAgICBfX3R5cGVuYW1lOiB0cnVlLFxuICAgICAgICAgICAgbWVzc2FnZTogdHJ1ZVxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCIuLi5vbiBFcnJvck5vdEZvdW5kXCI6IHtcbiAgICAgICAgICAgIF9fdHlwZW5hbWU6IHRydWUsXG4gICAgICAgICAgICBtZXNzYWdlOiB0cnVlXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcIi4uLm9uIFNlbmRSZXBvcnRSZXNwb25zZVwiOiB7XG4gICAgICAgICAgICBfX3R5cGVuYW1lOiB0cnVlLFxuICAgICAgICAgICAgc2VuZFJlcG9ydDoge1xuICAgICAgICAgICAgICBpZDogdHJ1ZSxcbiAgICAgICAgICAgICAgY3VzdG9tTWVzc2FnZTogdHJ1ZSxcbiAgICAgICAgICAgICAgdXNlcjoge1xuICAgICAgICAgICAgICAgIGlkOiB0cnVlLFxuICAgICAgICAgICAgICAgIGZpcnN0bmFtZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBsYXN0bmFtZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBlbWFpbDogdHJ1ZVxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICByZXBvcnRlZFVzZXI6IHtcbiAgICAgICAgICAgICAgICBpZDogdHJ1ZSxcbiAgICAgICAgICAgICAgICBmaXJzdG5hbWU6IHRydWUsXG4gICAgICAgICAgICAgICAgbGFzdG5hbWU6IHRydWUsXG4gICAgICAgICAgICAgICAgZW1haWw6IHRydWVcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgXVxuICAgIH0pO1xuXG4gICAgaWYgKCFzZW5kUmVwb3J0KSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAoc2VuZFJlcG9ydC5fX3R5cGVuYW1lID09PSBcIkVycm9yQWNjZXNzRGVuaWVkXCIpIHtcbiAgICAgIHJldHVybiBzZW5kUmVwb3J0O1xuICAgIH1cblxuICAgIGlmIChzZW5kUmVwb3J0Ll9fdHlwZW5hbWUgPT09IFwiRXJyb3JOb3RGb3VuZFwiKSB7XG4gICAgICByZXR1cm4gc2VuZFJlcG9ydDtcbiAgICB9XG5cbiAgICBpZiAoIXNlbmRSZXBvcnQuc2VuZFJlcG9ydCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIF9fdHlwZW5hbWU6IFwiU3VjY2Vzc1Jlc3BvbnNlXCIsXG4gICAgICBkYXRhOiBzZW5kUmVwb3J0LnNlbmRSZXBvcnRcbiAgICB9O1xuICB9XG5cbiAgYXN5bmMgZ2V0U3BvbnNvcnNoaXBMaW5rKHtcbiAgICBiYWNrVXJsXG4gIH06IHtcbiAgICBiYWNrVXJsOiBzdHJpbmc7XG4gIH0pOiBQcm9taXNlPHN0cmluZyB8IG51bGw+IHtcbiAgICBjb25zdCBtZSA9IGF3YWl0IHRoaXMubWUoeyB3aXRoUHVibGljS2V5OiBmYWxzZSB9KTtcblxuICAgIGlmICghbWUpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGlmIChtZS5fX3R5cGVuYW1lID09PSBcIkVycm9yTm90Rm91bmRcIikge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIGdldExpbmsoe1xuICAgICAgYXBwOiBcImF1dGhcIixcbiAgICAgIHBhdGg6IGAvc2lnbi11cD9nZj0ke2J0b2EobWUuZGF0YS5lbWFpbCl9JmF1PSR7YnRvYShiYWNrVXJsKX1gXG4gICAgfSk7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUE7O0FBRUEsU0FBU0EsT0FBTyxRQUFRLG9CQUFvQjtBQUM1QyxTQUFTQyxVQUFVLFFBQVEsWUFBWTtBQUV2QyxTQUFTQyxVQUFVLFFBQVEscUJBQXFCO0FBRWhELFNBQVNDLGFBQWEsUUFBUSxpQkFBaUI7QUFDL0MsU0FBU0MsUUFBUSxRQUFRLGlCQUFpQjtBQUMxQyxTQUFTQyxhQUFhLFFBQVEsa0JBQWtCO0FBdUNoRCxNQUFNQyxlQUFlLEdBQUcsQ0FDdEJDLE1BQWlDLEVBQ2pDQyxhQUFrQyxLQUMvQjtFQUNILE1BQU07SUFBRUM7RUFBSyxDQUFDLEdBQUdMLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNqQ0ssSUFBSSxFQUFFLENBQ0o7TUFBRUY7SUFBTyxDQUFDLEVBQ1Y7TUFDRSxxQkFBcUIsRUFBRTtRQUNyQkcsVUFBVSxFQUFFLElBQUk7UUFDaEJDLE9BQU8sRUFBRSxJQUFJO1FBQ2JDLEtBQUssRUFBRTtNQUNULENBQUM7TUFDRCxvQkFBb0IsRUFBRTtRQUNwQkYsVUFB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
430
+ BaseClient.getPaymentRequest = async _ref4 => {
431
+ let {
432
+ env,
433
+ paymentRequestId,
434
+ secrecyIdSeller,
435
+ secrecyId,
436
+ appCode
437
+ } = _ref4;
438
+ const {
439
+ getPaymentRequestToPay
440
+ } = await BaseClient.getBaseClient(env)("query")({
441
+ getPaymentRequestToPay: [{
442
+ paymentRequestId,
443
+ secrecyIdSeller,
444
+ secrecyId,
445
+ appCode
446
+ }, {
447
+ __typename: true,
448
+ "...on ErrorAccessDenied": {
449
+ __typename: true,
450
+ message: true
451
+ },
452
+ "...on ErrorNotFound": {
453
+ __typename: true,
454
+ field: true,
455
+ message: true
456
+ },
457
+ "...on GetPaymentRequestToPayResponse": {
458
+ __typename: true,
459
+ paymentRequestToPay: {
460
+ __typename: true,
461
+ accountId: true,
462
+ id: true,
463
+ amount: true,
464
+ amount_capturable: true,
465
+ amount_received: true,
466
+ application_id: true,
467
+ application_name: true,
468
+ application_fee_amount: true,
469
+ canceled_at: true,
470
+ cancellation_reason: true,
471
+ capture_method: true,
472
+ client_secret: true,
473
+ confirmation_method: true,
474
+ created: true,
475
+ currency: true,
476
+ customer: true,
477
+ description: true,
478
+ invoice: true,
479
+ livemode: true,
480
+ payment_method: true,
481
+ status: true
482
+ }
483
+ }
484
+ }]
485
+ });
486
+ if (!getPaymentRequestToPay) {
487
+ return {
488
+ __typename: "ErrorNotFound",
489
+ message: "No payment request found"
490
+ };
491
+ }
492
+ if (getPaymentRequestToPay.__typename === "ErrorAccessDenied" || getPaymentRequestToPay.__typename === "ErrorNotFound") {
493
+ return getPaymentRequestToPay;
494
+ }
495
+ if (!getPaymentRequestToPay.paymentRequestToPay) {
496
+ return {
497
+ __typename: "ErrorNotFound",
498
+ message: "No payment request found"
499
+ };
500
+ }
501
+ return {
502
+ __typename: "SuccessResponse",
503
+ data: getPaymentRequestToPay.paymentRequestToPay
504
+ };
505
+ };
506
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJnZXRMaW5rIiwidXNlcnNDYWNoZSIsImdldFN0b3JhZ2UiLCJJbmZ1cmFOZXR3b3JrIiwiU2VsZWN0b3IiLCJjcmVhdGVUaHVuZGVyIiwiZ2V0VXNlclNlbGVjdG9yIiwidXNlcklkIiwid2l0aFB1YmxpY0tleSIsInVzZXIiLCJfX3R5cGVuYW1lIiwibWVzc2FnZSIsImZpZWxkIiwiaWQiLCJmaXJzdG5hbWUiLCJsYXN0bmFtZSIsImxhbmciLCJwdWJsaWNLZXkiLCJ1bmRlZmluZWQiLCJlbWFpbCIsInBob25lIiwicm9sZSIsImRlbGV0ZWRBdCIsImxhc3RMb2dpbiIsImdldFVzZXIiLCJwYXJhbXMiLCJzZWxlY3RvciIsInVzZXJFbWFpbCIsInVzZXJSZXNwb25zZSIsImNsaWVudCIsInNjYWxhcnMiLCJKc29uIiwiZW5jb2RlIiwiZSIsIkpTT04iLCJzdHJpbmdpZnkiLCJkZWNvZGUiLCJwYXJzZSIsIkRhdGVUaW1lIiwiRGF0ZSIsInRvSVNPU3RyaW5nIiwiQmlnSW50IiwidG9TdHJpbmciLCJkYXRhIiwiQmFzZUNsaWVudCIsImNvbnN0cnVjdG9yIiwic2Vzc2lvbiIsImVudiIsInNlc3Npb25JZCIsInRodW5kZXIiLCJnZXRCYXNlQ2xpZW50IiwibG9nb3V0IiwibG9jYWwiLCJqd3QiLCJjbGVhciIsInVzZXJBcHBLZXlzIiwidXNlckFwcFNlc3Npb24iLCJtZSIsInNldCIsInVwZGF0ZVByb2ZpbGUiLCJpc0NyeXB0b1RyYW5zYWN0aW9uRG9uZSIsImlkT3JIYXNoIiwibmV0d29yayIsIm1haW5uZXQiLCJkb25lIiwibGltaXRzIiwiY2xvdWQiLCJzaXplIiwibWF4U2l6ZSIsImNvdW50IiwibWF4Q291bnQiLCJtYWlsIiwicmVjZWl2ZWQiLCJmaWxlQ291bnQiLCJtYXhGaWxlQ291bnQiLCJmaWxlU2l6ZSIsIm1heEZpbGVTaXplIiwic2VudCIsInJlcG9ydFVzZXIiLCJyZXBvcnRlZFVzZXJJZCIsImN1c3RvbU1lc3NhZ2UiLCJzZW5kUmVwb3J0IiwicmVwb3J0ZWRVc2VyIiwiZ2V0U3BvbnNvcnNoaXBMaW5rIiwiYmFja1VybCIsImFwcCIsInBhdGgiLCJidG9hIiwiZ2V0QmFzZVVybCIsImdyYXBoY2RuIiwiYXBpVXJsIiwicHJvY2VzcyIsIk5FWFRfUFVCTElDX1NFQ1JFQ1lfQVBJX1VSTCIsImdldFBheW1lbnRSZXF1ZXN0IiwicGF5bWVudFJlcXVlc3RJZCIsInNlY3JlY3lJZFNlbGxlciIsInNlY3JlY3lJZCIsImFwcENvZGUiLCJnZXRQYXltZW50UmVxdWVzdFRvUGF5IiwicGF5bWVudFJlcXVlc3RUb1BheSIsImFjY291bnRJZCIsImFtb3VudCIsImFtb3VudF9jYXB0dXJhYmxlIiwiYW1vdW50X3JlY2VpdmVkIiwiYXBwbGljYXRpb25faWQiLCJhcHBsaWNhdGlvbl9uYW1lIiwiYXBwbGljYXRpb25fZmVlX2Ftb3VudCIsImNhbmNlbGVkX2F0IiwiY2FuY2VsbGF0aW9uX3JlYXNvbiIsImNhcHR1cmVfbWV0aG9kIiwiY2xpZW50X3NlY3JldCIsImNvbmZpcm1hdGlvbl9tZXRob2QiLCJjcmVhdGVkIiwiY3VycmVuY3kiLCJjdXN0b21lciIsImRlc2NyaXB0aW9uIiwiaW52b2ljZSIsImxpdmVtb2RlIiwicGF5bWVudF9tZXRob2QiLCJzdGF0dXMiXSwic291cmNlcyI6WyIuLi9zcmMvQmFzZUNsaWVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb24gKi9cbmltcG9ydCB0eXBlIHsgRG93bmxvYWRQcm9ncmVzcyBhcyBETFByb2dyZXNzIH0gZnJvbSBcImt5XCI7XG5pbXBvcnQgeyBnZXRMaW5rIH0gZnJvbSBcIkBzZWNyZWN5L2xpYi11dGlsc1wiO1xuaW1wb3J0IHsgdXNlcnNDYWNoZSB9IGZyb20gXCIuL2NhY2hlLmpzXCI7XG5pbXBvcnQgdHlwZSB7IFNlY3JlY3lFbnYgfSBmcm9tIFwiLi9jbGllbnQvaGVscGVycy5qc1wiO1xuaW1wb3J0IHsgZ2V0U3RvcmFnZSB9IGZyb20gXCIuL2NsaWVudC9zdG9yYWdlLmpzXCI7XG5pbXBvcnQgdHlwZSB7IEdyYXBoUUxUeXBlcywgTGFuZywgVGh1bmRlciwgVXNlclJvbGUgfSBmcm9tIFwiLi96ZXVzL2luZGV4LmpzXCI7XG5pbXBvcnQgeyBJbmZ1cmFOZXR3b3JrIH0gZnJvbSBcIi4vemV1cy9pbmRleC5qc1wiO1xuaW1wb3J0IHsgU2VsZWN0b3IgfSBmcm9tIFwiLi96ZXVzL2luZGV4LmpzXCI7XG5pbXBvcnQgeyBjcmVhdGVUaHVuZGVyIH0gZnJvbSBcIi4vWmV1c1RodW5kZXIuanNcIjtcbmltcG9ydCB0eXBlIHtcbiAgRXJyb3JBY2Nlc3NEZW5pZWQsXG4gIEVycm9yTGltaXQsXG4gIEVycm9yTm90Rm91bmQsXG4gIEVycm9yTm90RXhpc3Rcbn0gZnJvbSBcIi4vZXJyb3IuanNcIjtcblxuZXhwb3J0IHR5cGUgU3VjY2Vzc1Jlc3BvbnNlPFQ+ID0ge1xuICBfX3R5cGVuYW1lOiBcIlN1Y2Nlc3NSZXNwb25zZVwiO1xuICBkYXRhOiBUO1xufTtcblxuZXhwb3J0IHR5cGUgRG93bmxvYWRQcm9ncmVzcyA9IERMUHJvZ3Jlc3M7XG5cbmV4cG9ydCB0eXBlIFNlbmRSZXBvcnQgPSB7XG4gIGlkOiBzdHJpbmc7XG4gIHVzZXI6IHtcbiAgICBpZDogc3RyaW5nO1xuICAgIGZpcnN0bmFtZTogc3RyaW5nO1xuICAgIGxhc3RuYW1lOiBzdHJpbmc7XG4gICAgZW1haWw6IHN0cmluZztcbiAgfTtcbiAgcmVwb3J0ZWRVc2VyOiB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBmaXJzdG5hbWU6IHN0cmluZztcbiAgICBsYXN0bmFtZTogc3RyaW5nO1xuICAgIGVtYWlsOiBzdHJpbmc7XG4gIH07XG4gIGN1c3RvbU1lc3NhZ2U/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG59O1xuXG5leHBvcnQgdHlwZSBVc2VyRGF0YTxcbiAgVCBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0gUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbj4gPSB7XG4gIGlzU3VwZXJ1c2VyOiBib29sZWFuO1xuICBpc1NlYXJjaGFibGU6IGJvb2xlYW47XG59ICYgVDtcblxuY29uc3QgZ2V0VXNlclNlbGVjdG9yID0gKFxuICB1c2VySWQ6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQsXG4gIHdpdGhQdWJsaWNLZXk6IGJvb2xlYW4gfCB1bmRlZmluZWRcbikgPT4ge1xuICBjb25zdCB7IHVzZXIgfSA9IFNlbGVjdG9yKFwiUXVlcnlcIikoe1xuICAgIHVzZXI6IFtcbiAgICAgIHsgdXNlcklkIH0sXG4gICAgICB7XG4gICAgICAgIFwiLi4ub24gRXJyb3JOb3RGb3VuZFwiOiB7XG4gICAgICAgICAgX190eXBlbmFtZTogdHJ1ZSxcbiAgICAgICAgICBtZXNzYWdlOiB0cnVlLFxuICAgICAgICAgIGZpZWxkOiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIFwiLi4ub24gVXNlclJlc3BvbnNlXCI6IHtcbiAgICAgICAgICBfX3R5cGVuYW1lOiB0cnVlLFxuICAgICAgICAgIHVzZXI6IHtcbiAgICAgICAgICAgIGlkOiB0cnVlLFxuICAgICAgICAgICAgZmlyc3RuYW1lOiB0cnVlLFxuICAgICAgICAgICAgbGFzdG5hbWU6IHRydWUsXG4gICAgICAgICAgICBsYW5nOiB0cnVlLFxuICAgICAgICAgICAgcHVibGljS2V5OiB3aXRoUHVibGljS2V5ID8gdHJ1ZSA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIGVtYWlsOiB0cnVlLFxuICAgICAgICAgICAgcGhvbmU6IHRydWUsXG4gICAgICAgICAgICByb2xlOiB0cnVlLFxuICAgICAgICAgICAgZGVsZXRlZEF0OiB0cnVlLFxuICAgICAgICAgICAgbGFzdExvZ2luOiB0cnVlXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgXVxuICB9KTtcbiAgcmV0dXJuIHVzZXI7XG59O1xuXG5leHBvcnQgdHlwZSBVc2VyQmFzZSA9IHtcbiAgZW1haWw6IHN0cmluZztcbiAgcGhvbmU6IHN0cmluZztcbiAgbGFzdG5hbWU6IHN0cmluZztcbiAgcm9sZTogVXNlclJvbGU7XG4gIGZpcnN0bmFtZTogc3RyaW5nO1xuICBpZDogc3RyaW5nO1xuICBkZWxldGVkQXQ/OiBEYXRlO1xuICBsYXN0TG9naW46IERhdGU7XG4gIGxhbmc6IExhbmc7XG59O1xuXG50eXBlIFdpdGhQdWJsaWNLZXkgPSB7IHdpdGhQdWJsaWNLZXk/OiBib29sZWFuIH07XG5cbmV4cG9ydCB0eXBlIFVzZXI8VCBleHRlbmRzIFdpdGhQdWJsaWNLZXkgPSBXaXRoUHVibGljS2V5PiA9IFQgZXh0ZW5kcyB7XG4gIHdpdGhQdWJsaWNLZXk6IHRydWU7XG59XG4gID8gVXNlckJhc2UgJiB7IHB1YmxpY0tleTogc3RyaW5nIH1cbiAgOiBVc2VyQmFzZTtcblxudHlwZSBDbGFzc0dldFVzZXJQYXJhbXMgPSBXaXRoUHVibGljS2V5ICYge1xuICB1c2VySWQ/OiBzdHJpbmc7XG4gIHVzZXJFbWFpbD86IHN0cmluZztcbn07XG50eXBlIEdldFVzZXJQYXJhbXMgPSBDbGFzc0dldFVzZXJQYXJhbXMgJiB7XG4gIGNsaWVudDogUmV0dXJuVHlwZTx0eXBlb2YgVGh1bmRlcj47XG59O1xuXG50eXBlIFN0YXRpY0dldFVzZXJQYXJhbXMgPSBDbGFzc0dldFVzZXJQYXJhbXMgJiB7XG4gIGVudjogU2VjcmVjeUVudjtcbn07XG5cbmFzeW5jIGZ1bmN0aW9uIGdldFVzZXI8VSBleHRlbmRzIFdpdGhQdWJsaWNLZXk+KFxuICBwYXJhbXM6IEdldFVzZXJQYXJhbXNcbik6IFByb21pc2U8U3VjY2Vzc1Jlc3BvbnNlPFVzZXI8VT4+IHwgRXJyb3JOb3RGb3VuZCB8IG51bGw+IHtcbiAgY29uc3Qgc2VsZWN0b3IgPSBnZXRVc2VyU2VsZWN0b3IoXG4gICAgcGFyYW1zLnVzZXJJZCA/PyBwYXJhbXMudXNlckVtYWlsLFxuICAgIHBhcmFtcy53aXRoUHVibGljS2V5XG4gICk7XG4gIGNvbnN0IHsgdXNlcjogdXNlclJlc3BvbnNlIH0gPSBhd2FpdCBwYXJhbXMuY2xpZW50KFwicXVlcnlcIiwge1xuICAgIHNjYWxhcnM6IHtcbiAgICAgIEpzb246IHtcbiAgICAgICAgZW5jb2RlOiAoZTogdW5rbm93bikgPT4gSlNPTi5zdHJpbmdpZnkoZSksXG4gICAgICAgIGRlY29kZTogKGU6IHVua25vd24pID0+IEpTT04ucGFyc2UoZSBhcyBzdHJpbmcpXG4gICAgICB9LFxuICAgICAgRGF0ZVRpbWU6IHtcbiAgICAgICAgZGVjb2RlOiAoZTogdW5rbm93bikgPT4gbmV3IERhdGUoZSBhcyBzdHJpbmcpLFxuICAgICAgICBlbmNvZGU6IChlOiB1bmtub3duKSA9PiAoZSBhcyBEYXRlKS50b0lTT1N0cmluZygpXG4gICAgICB9LFxuICAgICAgQmlnSW50OiB7XG4gICAgICAgIGRlY29kZTogKGU6IHVua25vd24pID0+IEJpZ0ludChlIGFzIHN0cmluZyksXG4gICAgICAgIGVuY29kZTogKGU6IHVua25vd24pID0+IChlIGFzIGJpZ2ludCkudG9TdHJpbmcoKVxuICAgICAgfVxuICAgIH1cbiAgfSkoe1xuICAgIHVzZXI6IHNlbGVjdG9yXG4gIH0pO1xuXG4gIGlmICghdXNlclJlc3BvbnNlKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBpZiAodXNlclJlc3BvbnNlLl9fdHlwZW5hbWUgPT09IFwiRXJyb3JOb3RGb3VuZFwiKSB7XG4gICAgcmV0dXJuIHVzZXJSZXNwb25zZTtcbiAgfVxuXG4gIGlmICghdXNlclJlc3BvbnNlLnVzZXIpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgX190eXBlbmFtZTogXCJTdWNjZXNzUmVzcG9uc2VcIixcbiAgICBkYXRhOiB1c2VyUmVzcG9uc2UudXNlclxuICB9O1xufVxuXG5leHBvcnQgdHlwZSBDbG91ZExpbWl0cyA9IHtcbiAgY291bnQ6IGJpZ2ludDtcbiAgbWF4Q291bnQ/OiBiaWdpbnQgfCB1bmRlZmluZWQ7XG4gIHNpemU6IGJpZ2ludDtcbiAgbWF4U2l6ZT86IGJpZ2ludCB8IHVuZGVmaW5lZDtcbn07XG5cbmV4cG9ydCB0eXBlIE1haWxMaW1pdHNWYWx1ZXMgPSB7XG4gIGNvdW50OiBiaWdpbnQ7XG4gIG1heENvdW50PzogYmlnaW50IHwgdW5kZWZpbmVkO1xuICBmaWxlU2l6ZTogYmlnaW50O1xuICBtYXhGaWxlU2l6ZT86IGJpZ2ludCB8IHVuZGVmaW5lZDtcbiAgZmlsZUNvdW50OiBiaWdpbnQ7XG4gIG1heEZpbGVDb3VudD86IGJpZ2ludCB8IHVuZGVmaW5lZDtcbn07XG5cbmV4cG9ydCB0eXBlIFF1ZXJ5TGltaXRzID0ge1xuICBjbG91ZDogQ2xvdWRMaW1pdHM7XG4gIG1haWw6IHtcbiAgICBzZW50OiBNYWlsTGltaXRzVmFsdWVzO1xuICAgIHJlY2VpdmVkOiBNYWlsTGltaXRzVmFsdWVzO1xuICB9O1xufTtcblxuZXhwb3J0IGNsYXNzIEJhc2VDbGllbnQge1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGdldEJhc2VVcmwgPSAoXG4gICAgZW52OiBTZWNyZWN5RW52ID0gXCJwcm9kXCIsXG4gICAgZ3JhcGhjZG4gPSB0cnVlXG4gICk6IHN0cmluZyA9PiB7XG4gICAgY29uc3QgYXBpVXJsID0gcHJvY2Vzcy5lbnYuTkVYVF9QVUJMSUNfU0VDUkVDWV9BUElfVVJMO1xuICAgIGlmIChhcGlVcmwpIHtcbiAgICAgIHJldHVybiBhcGlVcmw7XG4gICAgfVxuXG4gICAgc3dpdGNoIChlbnYpIHtcbiAgICAgIGNhc2UgXCJwcm9kXCI6XG4gICAgICAgIHJldHVybiBncmFwaGNkblxuICAgICAgICAgID8gXCJodHRwczovL3NlY3JlY3kuZ3JhcGhjZG4uYXBwXCJcbiAgICAgICAgICA6IFwiaHR0cHM6Ly9hcGkuc2VjcmVjeS5tZS9ncmFwaHFsXCI7XG4gICAgICBjYXNlIFwiZGV2XCI6XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gXCJodHRwczovL2FwaS5kZXYuc2VjcmVjeS5tZS9ncmFwaHFsXCI7XG4gICAgfVxuICB9O1xuXG4gIHN0YXRpYyByZWFkb25seSBnZXRCYXNlQ2xpZW50ID0gKFxuICAgIGVudjogU2VjcmVjeUVudixcbiAgICBzZXNzaW9uPzogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZFxuICApOiBSZXR1cm5UeXBlPHR5cGVvZiBUaHVuZGVyPiA9PlxuICAgIGNyZWF0ZVRodW5kZXIoQmFzZUNsaWVudC5nZXRCYXNlVXJsKGVudiksIHNlc3Npb24pO1xuXG4gIHByb3RlY3RlZCB0aHVuZGVyOiBSZXR1cm5UeXBlPHR5cGVvZiBUaHVuZGVyPjtcblxuICBwdWJsaWMgc2Vzc2lvbklkOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3Ioc2Vzc2lvbjogc3RyaW5nLCBlbnY6IFNlY3JlY3lFbnYpIHtcbiAgICB0aGlzLnNlc3Npb25JZCA9IHNlc3Npb247XG4gICAgdGhpcy50aHVuZGVyID0gQmFzZUNsaWVudC5nZXRCYXNlQ2xpZW50KGVudiwgc2Vzc2lvbik7XG4gIH1cblxuICBhc3luYyBsb2dvdXQoc2Vzc2lvbklkPzogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICghc2Vzc2lvbklkKSB7XG4gICAgICBjb25zdCBsb2NhbCA9IGdldFN0b3JhZ2UoZmFsc2UpO1xuICAgICAgY29uc3Qgc2Vzc2lvbiA9IGdldFN0b3JhZ2UodHJ1ZSk7XG4gICAgICBsb2NhbC5qd3QuY2xlYXIoKTtcbiAgICAgIGxvY2FsLnVzZXJBcHBLZXlzLmNsZWFyKCk7XG4gICAgICBsb2NhbC51c2VyQXBwU2Vzc2lvbi5jbGVhcigpO1xuICAgICAgc2Vzc2lvbi5qd3QuY2xlYXIoKTtcbiAgICAgIHNlc3Npb24udXNlckFwcEtleXMuY2xlYXIoKTtcbiAgICAgIHNlc3Npb24udXNlckFwcFNlc3Npb24uY2xlYXIoKTtcbiAgICAgIHVzZXJzQ2FjaGUuY2xlYXIoKTtcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHRoaXMudGh1bmRlcihcIm11dGF0aW9uXCIpKHtcbiAgICAgICAgbG9nb3V0OiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgc2Vzc2lvbklkOiBzZXNzaW9uSWRcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwiLi4ub24gRXJyb3JBY2Nlc3NEZW5pZWRcIjoge1xuICAgICAgICAgICAgICBfX3R5cGVuYW1lOiB0cnVlLFxuICAgICAgICAgICAgICBtZXNzYWdlOiB0cnVlXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgXCIuLi5vbiBFcnJvckJhc2ljXCI6IHtcbiAgICAgICAgICAgICAgX190eXBlbmFtZTogdHJ1ZSxcbiAgICAgICAgICAgICAgbWVzc2FnZTogdHJ1ZVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIFwiLi4ub24gTG9nb3V0UmVzcG9uc2VcIjoge1xuICAgICAgICAgICAgICBfX3R5cGVuYW1lOiB0cnVlLFxuICAgICAgICAgICAgICBsb2dvdXQ6IHRydWVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIF1cbiAgICAgIH0pO1xuICAgIH0gY2F0Y2gge1xuICAgICAgLy9cbiAgICB9XG4gIH1cblxuICBhc3luYyBtZTxUIGV4dGVuZHMgV2l0aFB1YmxpY0tleSA9IFdpdGhQdWJsaWNLZXk+KFxuICAgIHBhcmFtcz86IFRcbiAgKTogUHJvbWlzZTxTdWNjZXNzUmVzcG9uc2U8VXNlcjxUPj4gfCBFcnJvck5vdEZvdW5kIHwgbnVsbD4ge1xuICAgIHJldHVybiB0aGlzLnVzZXIocGFyYW1zIHx8ICh7IHdpdGhQdWJsaWNLZXk6IHRydWUgfSBhcyBUKSk7XG4gIH1cblxuICBzdGF0aWMgYXN5bmMgdXNlcjxUIGV4dGVuZHMgU3RhdGljR2V0VXNlclBhcmFtcz4oXG4gICAgcGFyYW1zOiBULFxuICAgIHNlc3Npb25JZD86IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWRcbiAgKTogUHJvbWlzZTxTdWNjZXNzUmVzcG9uc2U8VXNlcjxUPj4gfCBFcnJvck5vdEZvdW5kIHwgbnVsbD4ge1xuICAgIGNvbnN0IHVzZXIgPSBhd2FpdCBnZXRVc2VyPFQ+KHtcbiAgICAgIGNsaWVudDogdGhpcy5nZXRCYXNlQ2xpZW50KHBhcmFtcy5lbnYsIHNlc3Npb25JZCksXG4gICAgICB1c2VySWQ6IHBhcmFtcy51c2VySWQgPz8gcGFyYW1zLnVzZXJFbWFpbCxcbiAgICAgIHdpdGhQdWJsaWNLZXk6IHBhcmFtcy53aXRoUHVibGljS2V5XG4gICAgfSk7XG5cbiAgICBpZiAoIXVzZXIpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGlmICh1c2VyLl9fdHlwZW5hbWUgPT09IFwiRXJyb3JOb3RGb3VuZFwiKSB7XG4gICAgICByZXR1cm4gdXNlcjtcbiAgICB9XG5cbiAgICBpZiAodXNlcikge1xuICAgICAgdXNlcnNDYWNoZS5zZXQodXNlci5kYXRhLmlkLCB1c2VyLmRhdGEpO1xuICAgIH1cblxuICAgIHJldHVybiB1c2VyO1xuICB9XG5cbiAgYXN5bmMgdXNlcjxUIGV4dGVuZHMgQ2xhc3NHZXRVc2VyUGFyYW1zPihcbiAgICBwYXJhbXM6IFRcbiAgKTogUHJvbWlzZTxTdWNjZXNzUmVzcG9uc2U8VXNlcjxUPj4gfCBFcnJvck5vdEZvdW5kIHwgbnVsbD4ge1xuICAgIGNvbnN0IHVzZXIgPSBhd2FpdCBnZXRVc2VyPFQ+KHtcbiAgICAgIGNsaWVudDogdGhpcy50aHVuZGVyLFxuICAgICAgdXNlcklkOiBwYXJhbXMudXNlcklkID8/IHBhcmFtcy51c2VyRW1haWwsXG4gICAgICB3aXRoUHVibGljS2V5OiBwYXJhbXMud2l0aFB1YmxpY0tleVxuICAgIH0pO1xuXG4gICAgaWYgKCF1c2VyKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAodXNlci5fX3R5cGVuYW1lID09PSBcIkVycm9yTm90Rm91bmRcIikge1xuICAgICAgcmV0dXJuIHVzZXI7XG4gICAgfVxuXG4gICAgaWYgKHVzZXIpIHtcbiAgICAgIHVzZXJzQ2FjaGUuc2V0KHVzZXIuZGF0YS5pZCwgdXNlci5kYXRhKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdXNlcjtcbiAgfVxuXG4gIGFzeW5jIHVwZGF0ZVByb2ZpbGUoe1xuICAgIGZpcnN0bmFtZSxcbiAgICBsYXN0bmFtZSxcbiAgICBsYW5nXG4gIH06IHtcbiAgICBmaXJzdG5hbWU6IHN0cmluZyB8IG51bGw7XG4gICAgbGFzdG5hbWU6IHN0cmluZyB8IG51bGw7XG4gICAgbGFuZzogTGFuZyB8IG51bGw7XG4gIH0pOiBQcm9taXNlPFxuICAgIFN1Y2Nlc3NSZXNwb25zZTxVc2VyPiB8IEVycm9yTm90Rm91bmQgfCBFcnJvckFjY2Vzc0RlbmllZCB8IG51bGxcbiAgPiB7XG4gICAgY29uc3QgeyB1cGRhdGVQcm9maWxlIH0gPSBhd2FpdCB0aGlzLnRodW5kZXIoXCJtdXRhdGlvblwiLCB7XG4gICAgICBzY2FsYXJzOiB7XG4gICAgICAgIEpzb246IHtcbiAgICAgICAgICBlbmNvZGU6IChlOiB1bmtub3duKSA9PiBKU09OLnN0cmluZ2lmeShlKSxcbiAgICAgICAgICBkZWNvZGU6IChlOiB1bmtub3duKSA9PiBKU09OLnBhcnNlKGUgYXMgc3RyaW5nKVxuICAgICAgICB9LFxuICAgICAgICBEYXRlVGltZToge1xuICAgICAgICAgIGRlY29kZTogKGU6IHVua25vd24pID0+IG5ldyBEYXRlKGUgYXMgc3RyaW5nKSxcbiAgICAgICAgICBlbmNvZGU6IChlOiB1bmtub3duKSA9PiAoZSBhcyBEYXRlKS50b0lTT1N0cmluZygpXG4gICAgICAgIH0sXG4gICAgICAgIEJpZ0ludDoge1xuICAgICAgICAgIGRlY29kZTogKGU6IHVua25vd24pID0+IEJpZ0ludChlIGFzIHN0cmluZyksXG4gICAgICAgICAgZW5jb2RlOiAoZTogdW5rbm93bikgPT4gKGUgYXMgYmlnaW50KS50b1N0cmluZygpXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KSh7XG4gICAgICB1cGRhdGVQcm9maWxlOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBmaXJzdG5hbWUsXG4gICAgICAgICAgbGFzdG5hbWUsXG4gICAgICAgICAgbGFuZ1xuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgXCIuLi5vbiBFcnJvckFjY2Vzc0RlbmllZFwiOiB7XG4gICAgICAgICAgICBfX3R5cGVuYW1lOiB0cnVlLFxuICAgICAgICAgICAgbWVzc2FnZTogdHJ1ZVxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCIuLi5vbiBFcnJvck5vdEZvdW5kXCI6IHtcbiAgICAgICAgICAgIF9fdHlwZW5hbWU6IHRydWUsXG4gICAgICAgICAgICBtZXNzYWdlOiB0cnVlXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcIi4uLm9uIFVwZGF0ZVByb2ZpbGVSZXNwb25zZVwiOiB7XG4gICAgICAgICAgICBfX3R5cGVuYW1lOiB0cnVlLFxuICAgICAgICAgICAgdXBkYXRlUHJvZmlsZToge1xuICAgICAgICAgICAgICBpZDogdHJ1ZSxcbiAgICAgICAgICAgICAgZmlyc3RuYW1lOiB0cnVlLFxuICAgICAgICAgICAgICBsYXN0bmFtZTogdHJ1ZSxcbiAgICAgICAgICAgICAgbGFuZzogdHJ1ZSxcbiAgICAgICAgICAgICAgZW1haWw6IHRydWUsXG4gICAgICAgICAgICAgIHBob25lOiB0cnVlLFxuICAgICAgICAgICAgICByb2xlOiB0cnVlLFxuICAgICAgICAgICAgICBkZWxldGVkQXQ6IHRydWUsXG4gICAgICAgICAgICAgIGxhc3RMb2dpbjogdHJ1ZVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgXVxuICAgIH0pO1xuXG4gICAgaWYgKCF1cGRhdGVQcm9maWxlKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAodXBkYXRlUHJvZmlsZS5fX3R5cGVuYW1lID09PSBcIkVycm9yQWNjZXNzRGVuaWVkXCIpIHtcbiAgICAgIHJldHVybiB1cGRhdGVQcm9maWxlO1xuICAgIH1cblxuICAgIGlmICh1cGRhdGVQcm9maWxlLl9fdHlwZW5hbWUgPT09IFwiRXJyb3JOb3RGb3VuZFwiKSB7XG4gICAgICByZXR1cm4gdXBkYXRlUHJvZmlsZTtcbiAgICB9XG5cbiAgICBpZiAoIXVwZGF0ZVByb2ZpbGUudXBkYXRlUHJvZmlsZSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIF9fdHlwZW5hbWU6IFwiU3VjY2Vzc1Jlc3BvbnNlXCIsXG4gICAgICBkYXRhOiB1cGRhdGVQcm9maWxlLnVwZGF0ZVByb2ZpbGVcbiAgICB9O1xuICB9XG5cbiAgc3RhdGljIGFzeW5jIGlzQ3J5cHRvVHJhbnNhY3Rpb25Eb25lKHtcbiAgICBlbnYsXG4gICAgaWRPckhhc2gsXG4gICAgbmV0d29yayA9IEluZnVyYU5ldHdvcmsubWFpbm5ldFxuICB9OiB7XG4gICAgZW52OiBTZWNyZWN5RW52O1xuICAgIGlkT3JIYXNoOiBzdHJpbmc7XG4gICAgbmV0d29yaz86IEluZnVyYU5ldHdvcms7XG4gIH0pOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCB7IGlzQ3J5cHRvVHJhbnNhY3Rpb25Eb25lIH0gPSBhd2FpdCBCYXNlQ2xpZW50LmdldEJhc2VDbGllbnQoZW52KShcbiAgICAgIFwicXVlcnlcIlxuICAgICkoe1xuICAgICAgaXNDcnlwdG9UcmFuc2FjdGlvbkRvbmU6IFtcbiAgICAgICAge1xuICAgICAgICAgIGlkT3JIYXNoLFxuICAgICAgICAgIG5ldHdvcmtcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIF9fdHlwZW5hbWU6IHRydWUsXG4gICAgICAgICAgXCIuLi5vbiBJc0NyeXB0b1RyYW5zYWN0aW9uRG9uZVJlc3BvbnNlXCI6IHtcbiAgICAgICAgICAgIGRvbmU6IHRydWVcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwiLi4ub24gRXJyb3JOb3RFeGlzdFwiOiB7XG4gICAgICAgICAgICBtZXNzYWdlOiB0cnVlXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICBdXG4gICAgfSk7XG5cbiAgICBpZiAoIWlzQ3J5cHRvVHJhbnNhY3Rpb25Eb25lKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcmV0dXJuIGlzQ3J5cHRvVHJhbnNhY3Rpb25Eb25lLl9fdHlwZW5hbWUgPT09XG4gICAgICBcIklzQ3J5cHRvVHJhbnNhY3Rpb25Eb25lUmVzcG9uc2VcIlxuICAgICAgPyBpc0NyeXB0b1RyYW5zYWN0aW9uRG9uZS5kb25lXG4gICAgICA6IGZhbHNlO1xuICB9XG5cbiAgYXN5bmMgbGltaXRzKCk6IFByb21pc2U8XG4gICAgfCBTdWNjZXNzUmVzcG9uc2U8UXVlcnlMaW1pdHM+XG4gICAgfCBFcnJvckFjY2Vzc0RlbmllZFxuICAgIHwgRXJyb3JOb3RFeGlzdFxuICAgIHwgRXJyb3JMaW1pdFxuICAgIHwgRXJyb3JOb3RGb3VuZFxuICAgIHwgbnVsbFxuICA+IHtcbiAgICBjb25zdCB7IGxpbWl0cyB9ID0gYXdhaXQgdGhpcy50aHVuZGVyKFwicXVlcnlcIiwge1xuICAgICAgc2NhbGFyczoge1xuICAgICAgICBKc29uOiB7XG4gICAgICAgICAgZW5jb2RlOiAoZTogdW5rbm93bikgPT4gSlNPTi5zdHJpbmdpZnkoZSksXG4gICAgICAgICAgZGVjb2RlOiAoZTogdW5rbm93bikgPT4gSlNPTi5wYXJzZShlIGFzIHN0cmluZylcbiAgICAgICAgfSxcbiAgICAgICAgRGF0ZVRpbWU6IHtcbiAgICAgICAgICBkZWNvZGU6IChlOiB1bmtub3duKSA9PiBuZXcgRGF0ZShlIGFzIHN0cmluZyksXG4gICAgICAgICAgZW5jb2RlOiAoZTogdW5rbm93bikgPT4gKGUgYXMgRGF0ZSkudG9JU09TdHJpbmcoKVxuICAgICAgICB9LFxuICAgICAgICBCaWdJbnQ6IHtcbiAgICAgICAgICBkZWNvZGU6IChlOiB1bmtub3duKSA9PiBCaWdJbnQoZSBhcyBzdHJpbmcpLFxuICAgICAgICAgIGVuY29kZTogKGU6IHVua25vd24pID0+IChlIGFzIGJpZ2ludCkudG9TdHJpbmcoKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSkoe1xuICAgICAgbGltaXRzOiB7XG4gICAgICAgIFwiLi4ub24gRXJyb3JBY2Nlc3NEZW5pZWRcIjoge1xuICAgICAgICAgIF9fdHlwZW5hbWU6IHRydWUsXG4gICAgICAgICAgbWVzc2FnZTogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICBcIi4uLm9uIEVycm9yTGltaXRcIjoge1xuICAgICAgICAgIF9fdHlwZW5hbWU6IHRydWUsXG4gICAgICAgICAgbWVzc2FnZTogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICBcIi4uLm9uIEVycm9yTm90RXhpc3RcIjoge1xuICAgICAgICAgIF9fdHlwZW5hbWU6IHRydWUsXG4gICAgICAgICAgbWVzc2FnZTogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICBcIi4uLm9uIEVycm9yTm90Rm91bmRcIjoge1xuICAgICAgICAgIF9fdHlwZW5hbWU6IHRydWUsXG4gICAgICAgICAgbWVzc2FnZTogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICBcIi4uLm9uIFF1ZXJ5TGltaXRzXCI6IHtcbiAgICAgICAgICBfX3R5cGVuYW1lOiB0cnVlLFxuICAgICAgICAgIGNsb3VkOiB7XG4gICAgICAgICAgICBzaXplOiB0cnVlLFxuICAgICAgICAgICAgbWF4U2l6ZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvdW50OiB0cnVlLFxuICAgICAgICAgICAgbWF4Q291bnQ6IHRydWVcbiAgICAgICAgICB9LFxuICAgICAgICAgIG1haWw6IHtcbiAgICAgICAgICAgIHJlY2VpdmVkOiB7XG4gICAgICAgICAgICAgIGNvdW50OiB0cnVlLFxuICAgICAgICAgICAgICBtYXhDb3VudDogdHJ1ZSxcbiAgICAgICAgICAgICAgZmlsZUNvdW50OiB0cnVlLFxuICAgICAgICAgICAgICBtYXhGaWxlQ291bnQ6IHRydWUsXG4gICAgICAgICAgICAgIGZpbGVTaXplOiB0cnVlLFxuICAgICAgICAgICAgICBtYXhGaWxlU2l6ZTogdHJ1ZVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHNlbnQ6IHtcbiAgICAgICAgICAgICAgY291bnQ6IHRydWUsXG4gICAgICAgICAgICAgIG1heENvdW50OiB0cnVlLFxuICAgICAgICAgICAgICBmaWxlQ291bnQ6IHRydWUsXG4gICAgICAgICAgICAgIG1heEZpbGVDb3VudDogdHJ1ZSxcbiAgICAgICAgICAgICAgZmlsZVNpemU6IHRydWUsXG4gICAgICAgICAgICAgIG1heEZpbGVTaXplOiB0cnVlXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBpZiAoIWxpbWl0cykge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgaWYgKGxpbWl0cy5fX3R5cGVuYW1lID09PSBcIkVycm9yQWNjZXNzRGVuaWVkXCIpIHtcbiAgICAgIHJldHVybiBsaW1pdHM7XG4gICAgfVxuICAgIGlmIChsaW1pdHMuX190eXBlbmFtZSA9PT0gXCJFcnJvck5vdEV4aXN0XCIpIHtcbiAgICAgIHJldHVybiBsaW1pdHM7XG4gICAgfVxuICAgIGlmIChsaW1pdHMuX190eXBlbmFtZSA9PT0gXCJFcnJvckxpbWl0XCIpIHtcbiAgICAgIHJldHVybiBsaW1pdHM7XG4gICAgfVxuICAgIGlmIChsaW1pdHMuX190eXBlbmFtZSA9PT0gXCJFcnJvck5vdEZvdW5kXCIpIHtcbiAgICAgIHJldHVybiBsaW1pdHM7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIF9fdHlwZW5hbWU6IFwiU3VjY2Vzc1Jlc3BvbnNlXCIsXG4gICAgICBkYXRhOiBsaW1pdHNcbiAgICB9O1xuICB9XG5cbiAgYXN5bmMgcmVwb3J0VXNlcihcbiAgICByZXBvcnRlZFVzZXJJZDogc3RyaW5nLFxuICAgIGN1c3RvbU1lc3NhZ2U/OiBzdHJpbmdcbiAgKTogUHJvbWlzZTxcbiAgICBTdWNjZXNzUmVzcG9uc2U8U2VuZFJlcG9ydD4gfCBFcnJvckFjY2Vzc0RlbmllZCB8IEVycm9yTm90Rm91bmQgfCBudWxsXG4gID4ge1xuICAgIGNvbnN0IHsgc2VuZFJlcG9ydCB9ID0gYXdhaXQgdGhpcy50aHVuZGVyKFwibXV0YXRpb25cIikoe1xuICAgICAgc2VuZFJlcG9ydDogW1xuICAgICAgICB7XG4gICAgICAgICAgcmVwb3J0ZWRVc2VySWQsXG4gICAgICAgICAgY3VzdG9tTWVzc2FnZVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgXCIuLi5vbiBFcnJvckFjY2Vzc0RlbmllZFwiOiB7XG4gICAgICAgICAgICBfX3R5cGVuYW1lOiB0cnVlLFxuICAgICAgICAgICAgbWVzc2FnZTogdHJ1ZVxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCIuLi5vbiBFcnJvck5vdEZvdW5kXCI6IHtcbiAgICAgICAgICAgIF9fdHlwZW5hbWU6IHRydWUsXG4gICAgICAgICAgICBtZXNzYWdlOiB0cnVlXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcIi4uLm9uIFNlbmRSZXBvcnRSZXNwb25zZVwiOiB7XG4gICAgICAgICAgICBfX3R5cGVuYW1lOiB0cnVlLFxuICAgICAgICAgICAgc2VuZFJlcG9ydDoge1xuICAgICAgICAgICAgICBpZDogdHJ1ZSxcbiAgICAgICAgICAgICAgY3VzdG9tTWVzc2FnZTogdHJ1ZSxcbiAgICAgICAgICAgICAgdXNlcjoge1xuICAgICAgICAgICAgICAgIGlkOiB0cnVlLFxuICAgICAgICAgICAgICAgIGZpcnN0bmFtZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBsYXN0bmFtZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBlbWFpbDogdHJ1ZVxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICByZXBvcnRlZFVzZXI6IHtcbiAgICAgICAgICAgICAgICBpZDogdHJ1ZSxcbiAgICAgICAgICAgICAgICBmaXJzdG5hbWU6IHRydWUsXG4gICAgICAgICAgICAgICAgbGFzdG5hbWU6IHRydWUsXG4gICAgICAgICAgICAgICAgZW1haWw6IHRydWVcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgXVxuICAgIH0pO1xuXG4gICAgaWYgKCFzZW5kUmVwb3J0KSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAoc2VuZFJlcG9ydC5fX3R5cGVuYW1lID09PSBcIkVycm9yQWNjZXNzRGVuaWVkXCIpIHtcbiAgICAgIHJldHVybiBzZW5kUmVwb3J0O1xuICAgIH1cblxuICAgIGlmIChzZW5kUmVwb3J0Ll9fdHlwZW5hbWUgPT09IFwiRXJyb3JOb3RGb3VuZFwiKSB7XG4gICAgICByZXR1cm4gc2VuZFJlcG9ydDtcbiAgICB9XG5cbiAgICBpZiAoIXNlbmRSZXBvcnQuc2VuZFJlcG9ydCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIF9fdHlwZW5hbWU6IFwiU3VjY2Vzc1Jlc3BvbnNlXCIsXG4gICAgICBkYXRhOiBzZW5kUmVwb3J0LnNlbmRSZXBvcnRcbiAgICB9O1xuICB9XG5cbiAgYXN5bmMgZ2V0U3BvbnNvcnNoaXBMaW5rKHtcbiAgICBiYWNrVXJsXG4gIH06IHtcbiAgICBiYWNrVXJsOiBzdHJpbmc7XG4gIH0pOiBQcm9taXNlPHN0cmluZyB8IG51bGw+IHtcbiAgICBjb25zdCBtZSA9IGF3YWl0IHRoaXMubWUoeyB3aXRoUHVibGljS2V5OiBmYWxzZSB9KTtcblxuICAgIGlmICghbWUpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGlmIChtZS5fX3R5cGVuYW1lID09PSBcIkVycm9yTm90Rm91bmRcIikge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIGdldExpbmsoe1xuICAgICAgYXBwOiBcImF1dGhcIixcbiAgICAgIHBhdGg6IGAvc2lnbi11cD9nZj0ke2J0b2EobWUuZGF0YS5lbWFpbCl9JmF1PSR7YnRvYShiYWNrVXJsKX1gXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGdldFBheW1lbnRSZXF1ZXN0ID0gYXN5bmMgKHtcbiAgICBlbnYsXG4gICAgcGF5bWVudFJlcXVlc3RJZCxcbiAgICBzZWNyZWN5SWRTZWxsZXIsXG4gICAgc2VjcmVjeUlkLFxuICAgIGFwcENvZGVcbiAgfToge1xuICAgIGVudjogU2VjcmVjeUVudjtcbiAgICBwYXltZW50UmVxdWVzdElkOiBzdHJpbmc7XG4gICAgc2VjcmVjeUlkU2VsbGVyOiBzdHJpbmc7XG4gICAgc2VjcmVjeUlkPzogc3RyaW5nO1xuICAgIGFwcENvZGU/OiBzdHJpbmc7XG4gIH0pOiBQcm9taXNlPFxuICAgIHwgU3VjY2Vzc1Jlc3BvbnNlPEdyYXBoUUxUeXBlc1tcIkdldFBheW1lbnRSZXF1ZXN0VG9QYXlcIl0+XG4gICAgfCBFcnJvckFjY2Vzc0RlbmllZFxuICAgIHwgRXJyb3JOb3RGb3VuZFxuICA+ID0+IHtcbiAgICBjb25zdCB7IGdldFBheW1lbnRSZXF1ZXN0VG9QYXkgfSA9IGF3YWl0IEJhc2VDbGllbnQuZ2V0QmFzZUNsaWVudChlbnYpKFxuICAgICAgXCJxdWVyeVwiXG4gICAgKSh7XG4gICAgICBnZXRQYXltZW50UmVxdWVzdFRvUGF5OiBbXG4gICAgICAgIHtcbiAgICAgICAgICBwYXltZW50UmVxdWVzdElkLFxuICAgICAgICAgIHNlY3JlY3lJZFNlbGxlcixcbiAgICAgICAgICBzZWNyZWN5SWQsXG4gICAgICAgICAgYXBwQ29kZVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgX190eXBlbmFtZTogdHJ1ZSxcbiAgICAgICAgICBcIi4uLm9uIEVycm9yQWNjZXNzRGVuaWVkXCI6IHtcbiAgICAgICAgICAgIF9fdHlwZW5hbWU6IHRydWUsXG4gICAgICAgICAgICBtZXNzYWdlOiB0cnVlXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcIi4uLm9uIEVycm9yTm90Rm91bmRcIjoge1xuICAgICAgICAgICAgX190eXBlbmFtZTogdHJ1ZSxcbiAgICAgICAgICAgIGZpZWxkOiB0cnVlLFxuICAgICAgICAgICAgbWVzc2FnZTogdHJ1ZVxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCIuLi5vbiBHZXRQYXltZW50UmVxdWVzdFRvUGF5UmVzcG9uc2VcIjoge1xuICAgICAgICAgICAgX190eXBlbmFtZTogdHJ1ZSxcbiAgICAgICAgICAgIHBheW1lbnRSZXF1ZXN0VG9QYXk6IHtcbiAgICAgICAgICAgICAgX190eXBlbmFtZTogdHJ1ZSxcbiAgICAgICAgICAgICAgYWNjb3VudElkOiB0cnVlLFxuICAgICAgICAgICAgICBpZDogdHJ1ZSxcbiAgICAgICAgICAgICAgYW1vdW50OiB0cnVlLFxuICAgICAgICAgICAgICBhbW91bnRfY2FwdHVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgYW1vdW50X3JlY2VpdmVkOiB0cnVlLFxuICAgICAgICAgICAgICBhcHBsaWNhdGlvbl9pZDogdHJ1ZSxcbiAgICAgICAgICAgICAgYXBwbGljYXRpb25fbmFtZTogdHJ1ZSxcbiAgICAgICAgICAgICAgYXBwbGljYXRpb25fZmVlX2Ftb3VudDogdHJ1ZSxcbiAgICAgICAgICAgICAgY2FuY2VsZWRfYXQ6IHRydWUsXG4gICAgICAgICAgICAgIGNhbmNlbGxhdGlvbl9yZWFzb246IHRydWUsXG4gICAgICAgICAgICAgIGNhcHR1cmVfbWV0aG9kOiB0cnVlLFxuICAgICAgICAgICAgICBjbGllbnRfc2VjcmV0OiB0cnVlLFxuICAgICAgICAgICAgICBjb25maXJtYXRpb25fbWV0aG9kOiB0cnVlLFxuICAgICAgICAgICAgICBjcmVhdGVkOiB0cnVlLFxuICAgICAgICAgICAgICBjdXJyZW5jeTogdHJ1ZSxcbiAgICAgICAgICAgICAgY3VzdG9tZXI6IHRydWUsXG4gICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiB0cnVlLFxuICAgICAgICAgICAgICBpbnZvaWNlOiB0cnVlLFxuICAgICAgICAgICAgICBsaXZlbW9kZTogdHJ1ZSxcbiAgICAgICAgICAgICAgcGF5bWVudF9tZXRob2Q6IHRydWUsXG4gICAgICAgICAgICAgIHN0YXR1czogdHJ1ZVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgXVxuICAgIH0pO1xuXG4gICAgaWYgKCFnZXRQYXltZW50UmVxdWVzdFRvUGF5KSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBfX3R5cGVuYW1lOiBcIkVycm9yTm90Rm91bmRcIixcbiAgICAgICAgbWVzc2FnZTogXCJObyBwYXltZW50IHJlcXVlc3QgZm91bmRcIlxuICAgICAgfTtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICBnZXRQYXltZW50UmVxdWVzdFRvUGF5Ll9fdHlwZW5hbWUgPT09IFwiRXJyb3JBY2Nlc3NEZW5pZWRcIiB8fFxuICAgICAgZ2V0UGF5bWVudFJlcXVlc3RUb1BheS5fX3R5cGVuYW1lID09PSBcIkVycm9yTm90Rm91bmRcIlxuICAgICkge1xuICAgICAgcmV0dXJuIGdldFBheW1lbnRSZXF1ZXN0VG9QYXk7XG4gICAgfVxuXG4gICAgaWYgKCFnZXRQYXltZW50UmVxdWVzdFRvUGF5LnBheW1lbnRSZXF1ZXN0VG9QYXkpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIF9fdHlwZW5hbWU6IFwiRXJyb3JOb3RGb3VuZFwiLFxuICAgICAgICBtZXNzYWdlOiBcIk5vIHBheW1lbnQgcmVxdWVzdCBmb3VuZFwiXG4gICAgICB9O1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBfX3R5cGVuYW1lOiBcIlN1Y2Nlc3NSZXNwb25zZVwiLFxuICAgICAgZGF0YTogZ2V0UGF5bWVudFJlcXVlc3RUb1BheS5wYXltZW50UmVxdWVzdFRvUGF5XG4gICAgfTtcbiAgfTtcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUE7O0FBRUEsU0FBU0EsT0FBTyxRQUFRLG9CQUFvQjtBQUM1QyxTQUFTQyxVQUFVLFFBQVEsWUFBWTtBQUV2QyxTQUFTQyxVQUFVLFFBQVEscUJBQXFCO0FBRWhELFNBQVNDLGFBQWEsUUFBUSxpQkFBaUI7QUFDL0MsU0FBU0MsUUFBUSxRQUFRLGlCQUFp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