@vendasta/ai-assistants 0.52.0 → 0.54.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/_internal/assistant.api.service.mjs +7 -2
- package/esm2020/lib/_internal/interfaces/api.interface.mjs +1 -1
- package/esm2020/lib/_internal/interfaces/assistant.interface.mjs +1 -1
- package/esm2020/lib/_internal/interfaces/index.mjs +1 -1
- package/esm2020/lib/_internal/objects/api.mjs +151 -93
- package/esm2020/lib/_internal/objects/assistant.mjs +27 -1
- package/esm2020/lib/_internal/objects/index.mjs +3 -3
- package/fesm2015/vendasta-ai-assistants.mjs +181 -92
- package/fesm2015/vendasta-ai-assistants.mjs.map +1 -1
- package/fesm2020/vendasta-ai-assistants.mjs +181 -92
- package/fesm2020/vendasta-ai-assistants.mjs.map +1 -1
- package/lib/_internal/assistant.api.service.d.ts +3 -2
- package/lib/_internal/interfaces/api.interface.d.ts +30 -21
- package/lib/_internal/interfaces/assistant.interface.d.ts +5 -0
- package/lib/_internal/interfaces/index.d.ts +2 -2
- package/lib/_internal/objects/api.d.ts +52 -37
- package/lib/_internal/objects/assistant.d.ts +8 -0
- package/lib/_internal/objects/index.d.ts +2 -2
- package/package.json +1 -1
|
@@ -276,6 +276,32 @@ export class OpenAIRealtimeConfig {
|
|
|
276
276
|
return toReturn;
|
|
277
277
|
}
|
|
278
278
|
}
|
|
279
|
+
export class TemplateVariable {
|
|
280
|
+
static fromProto(proto) {
|
|
281
|
+
let m = new TemplateVariable();
|
|
282
|
+
m = Object.assign(m, proto);
|
|
283
|
+
return m;
|
|
284
|
+
}
|
|
285
|
+
constructor(kwargs) {
|
|
286
|
+
if (!kwargs) {
|
|
287
|
+
return;
|
|
288
|
+
}
|
|
289
|
+
Object.assign(this, kwargs);
|
|
290
|
+
}
|
|
291
|
+
toApiJson() {
|
|
292
|
+
const toReturn = {};
|
|
293
|
+
if (typeof this.key !== 'undefined') {
|
|
294
|
+
toReturn['key'] = this.key;
|
|
295
|
+
}
|
|
296
|
+
if (typeof this.value !== 'undefined') {
|
|
297
|
+
toReturn['value'] = this.value;
|
|
298
|
+
}
|
|
299
|
+
if (typeof this.description !== 'undefined') {
|
|
300
|
+
toReturn['description'] = this.description;
|
|
301
|
+
}
|
|
302
|
+
return toReturn;
|
|
303
|
+
}
|
|
304
|
+
}
|
|
279
305
|
export class OpenAIRealtimeConfigTurnDetection {
|
|
280
306
|
static fromProto(proto) {
|
|
281
307
|
let m = new OpenAIRealtimeConfigTurnDetection();
|
|
@@ -331,4 +357,4 @@ export class ConfigVoiceConfig {
|
|
|
331
357
|
return toReturn;
|
|
332
358
|
}
|
|
333
359
|
}
|
|
334
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzaXN0YW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vYWlfYXNzaXN0YW50c19zZGsvc3JjL2xpYi9faW50ZXJuYWwvb2JqZWN0cy9hc3Npc3RhbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBT0EsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUM5QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDaEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN4QyxPQUFPLEtBQUssQ0FBQyxNQUFNLFVBQVUsQ0FBQztBQUU5QixNQUFNLFVBQVUsaUJBQWlCLENBQUksT0FBWSxFQUFFLEtBQWE7SUFDOUQsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7UUFDN0IsT0FBTyxLQUFLLENBQUM7S0FDZDtJQUNELE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3hCLENBQUM7QUFFRCxNQUFNLE9BQU8sU0FBUztJQVVsQixNQUFNLENBQUMsU0FBUyxDQUFDLEtBQVU7UUFDdkIsSUFBSSxDQUFDLEdBQUcsSUFBSSxTQUFTLEVBQUUsQ0FBQztRQUN4QixDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDNUIsSUFBSSxLQUFLLENBQUMsU0FBUyxFQUFFO1lBQUMsQ0FBQyxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUFDO1FBQzFFLElBQUksS0FBSyxDQUFDLElBQUksRUFBRTtZQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsaUJBQWlCLENBQWtCLENBQUMsQ0FBQyxhQUFhLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQUM7UUFDM0YsSUFB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LENBQUMsV0FBVyxDQUFDO1NBQUM7UUFDMUYsSUFBSSxPQUFPLElBQUksQ0FBQyxXQUFXLEtBQUssV0FBVyxJQUFJLElBQUksQ0FBQyxXQUFXLEtBQUssSUFBSSxFQUFFO1lBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxHQUFHLFdBQVcsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBRSxJQUFJLENBQUMsV0FBbUIsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQztTQUFDO1FBQ2pNLE9BQU8sUUFBUSxDQUFDO0lBQ3BCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbIi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gQ29kZSBnZW5lcmF0ZWQgYnkgc2RrZ2VuXG4vLyBETyBOT1QgRURJVCEuXG4vL1xuLy8gT2JqZWN0cy5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuaW1wb3J0ICogYXMgaSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IEdvYWwgfSBmcm9tICcuL2dvYWwnO1xuaW1wb3J0IHsgS2V5VmFsdWVQYWlyIH0gZnJvbSAnLi9jb21tb24nO1xuaW1wb3J0IHsgTW9kZWwgfSBmcm9tICcuL21vZGVsJztcbmltcG9ydCB7IE5hbWVzcGFjZSB9IGZyb20gJy4vbmFtZXNwYWNlJztcbmltcG9ydCAqIGFzIGUgZnJvbSAnLi4vZW51bXMnO1xuXG5leHBvcnQgZnVuY3Rpb24gZW51bVN0cmluZ1RvVmFsdWU8RT4oZW51bVJlZjogYW55LCB2YWx1ZTogc3RyaW5nKTogRSB7XG4gIGlmICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInKSB7XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG4gIHJldHVybiBlbnVtUmVmW3ZhbHVlXTtcbn1cblxuZXhwb3J0IGNsYXNzIEFzc2lzdGFudCBpbXBsZW1lbnRzIGkuQXNzaXN0YW50SW50ZXJmYWNlIHtcbiAgICBpZDogc3RyaW5nO1xuICAgIG5hbWVzcGFjZTogTmFtZXNwYWNlO1xuICAgIG5hbWU6IHN0cmluZztcbiAgICB0eXBlOiBlLkFzc2lzdGFudFR5cGU7XG4gICAgYXZhdGFyVXJsOiBzdHJpbmc7XG4gICAgY29uZmlnOiBDb25maWc7XG4gICAgY29uZmlndXJhYmxlR29hbHM6IENvbmZpZ3VyYWJsZUdvYWxbXTtcbiAgICB1c2VySWQ6IHN0cmluZztcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IEFzc2lzdGFudCB7XG4gICAgICAgIGxldCBtID0gbmV3IEFzc2lzdGFudCgpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIGlmIChwcm90by5uYW1lc3BhY2UpIHttLm5hbWVzcGFjZSA9IE5hbWVzcGFjZS5mcm9tUHJvdG8ocHJvdG8ubmFtZXNwYWNlKTt9XG4gICAgICAgIGlmIChwcm90by50eXBlKSB7bS50eXBlID0gZW51bVN0cmluZ1RvVmFsdWU8ZS5Bc3Npc3RhbnRUeXBlPihlLkFzc2lzdGFudFR5cGUsIHByb3RvLnR5cGUpO31cbiAgICAgICAgaWYgKHByb3RvLmNvbmZpZykge20uY29uZmlnID0gQ29uZmlnLmZyb21Qcm90byhwcm90by5jb25maWcpO31cbiAgICAgICAgaWYgKHByb3RvLmNvbmZpZ3VyYWJsZUdvYWxzKSB7bS5jb25maWd1cmFibGVHb2FscyA9IHByb3RvLmNvbmZpZ3VyYWJsZUdvYWxzLm1hcChDb25maWd1cmFibGVHb2FsLmZyb21Qcm90byk7fVxuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLkFzc2lzdGFudEludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmlkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydpZCddID0gdGhpcy5pZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5uYW1lc3BhY2UgIT09ICd1bmRlZmluZWQnICYmIHRoaXMubmFtZXNwYWNlICE9PSBudWxsKSB7dG9SZXR1cm5bJ25hbWVzcGFjZSddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5uYW1lc3BhY2UgPyAodGhpcy5uYW1lc3BhY2UgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMubmFtZXNwYWNlO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLm5hbWUgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ25hbWUnXSA9IHRoaXMubmFtZTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy50eXBlICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWyd0eXBlJ10gPSB0aGlzLnR5cGU7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuYXZhdGFyVXJsICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydhdmF0YXJVcmwnXSA9IHRoaXMuYXZhdGFyVXJsO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmNvbmZpZyAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5jb25maWcgIT09IG51bGwpIHt0b1JldHVyblsnY29uZmlnJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLmNvbmZpZyA/ICh0aGlzLmNvbmZpZyBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5jb25maWc7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuY29uZmlndXJhYmxlR29hbHMgIT09ICd1bmRlZmluZWQnICYmIHRoaXMuY29uZmlndXJhYmxlR29hbHMgIT09IG51bGwpIHt0b1JldHVyblsnY29uZmlndXJhYmxlR29hbHMnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMuY29uZmlndXJhYmxlR29hbHMgPyAodGhpcy5jb25maWd1cmFibGVHb2FscyBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5jb25maWd1cmFibGVHb2Fsczt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy51c2VySWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3VzZXJJZCddID0gdGhpcy51c2VySWQ7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgQXNzaXN0YW50S2V5IGltcGxlbWVudHMgaS5Bc3Npc3RhbnRLZXlJbnRlcmZhY2Uge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgbmFtZXNwYWNlOiBOYW1lc3BhY2U7XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBBc3Npc3RhbnRLZXkge1xuICAgICAgICBsZXQgbSA9IG5ldyBBc3Npc3RhbnRLZXkoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICBpZiAocHJvdG8ubmFtZXNwYWNlKSB7bS5uYW1lc3BhY2UgPSBOYW1lc3BhY2UuZnJvbVByb3RvKHByb3RvLm5hbWVzcGFjZSk7fVxuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLkFzc2lzdGFudEtleUludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmlkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydpZCddID0gdGhpcy5pZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5uYW1lc3BhY2UgIT09ICd1bmRlZmluZWQnICYmIHRoaXMubmFtZXNwYWNlICE9PSBudWxsKSB7dG9SZXR1cm5bJ25hbWVzcGFjZSddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5uYW1lc3BhY2UgPyAodGhpcy5uYW1lc3BhY2UgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMubmFtZXNwYWNlO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIENvbmZpZyBpbXBsZW1lbnRzIGkuQ29uZmlnSW50ZXJmYWNlIHtcbiAgICBpbmJveENvbmZpZzogQ29uZmlnSW5ib3hDb25maWc7XG4gICAgdm9pY2VDb25maWc6IENvbmZpZ1ZvaWNlQ29uZmlnO1xuICAgIG1vZGVsczogTW9kZWxbXTtcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IENvbmZpZyB7XG4gICAgICAgIGxldCBtID0gbmV3IENvbmZpZygpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIGlmIChwcm90by5pbmJveENvbmZpZykge20uaW5ib3hDb25maWcgPSBDb25maWdJbmJveENvbmZpZy5mcm9tUHJvdG8ocHJvdG8uaW5ib3hDb25maWcpO31cbiAgICAgICAgaWYgKHByb3RvLnZvaWNlQ29uZmlnKSB7bS52b2ljZUNvbmZpZyA9IENvbmZpZ1ZvaWNlQ29uZmlnLmZyb21Qcm90byhwcm90by52b2ljZUNvbmZpZyk7fVxuICAgICAgICBpZiAocHJvdG8ubW9kZWxzKSB7bS5tb2RlbHMgPSBwcm90by5tb2RlbHMubWFwKE1vZGVsLmZyb21Qcm90byk7fVxuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLkNvbmZpZ0ludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmluYm94Q29uZmlnICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLmluYm94Q29uZmlnICE9PSBudWxsKSB7dG9SZXR1cm5bJ2luYm94Q29uZmlnJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLmluYm94Q29uZmlnID8gKHRoaXMuaW5ib3hDb25maWcgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMuaW5ib3hDb25maWc7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMudm9pY2VDb25maWcgIT09ICd1bmRlZmluZWQnICYmIHRoaXMudm9pY2VDb25maWcgIT09IG51bGwpIHt0b1JldHVyblsndm9pY2VDb25maWcnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMudm9pY2VDb25maWcgPyAodGhpcy52b2ljZUNvbmZpZyBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy52b2ljZUNvbmZpZzt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5tb2RlbHMgIT09ICd1bmRlZmluZWQnICYmIHRoaXMubW9kZWxzICE9PSBudWxsKSB7dG9SZXR1cm5bJ21vZGVscyddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5tb2RlbHMgPyAodGhpcy5tb2RlbHMgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMubW9kZWxzO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIENvbmZpZ3VyYWJsZUdvYWwgaW1wbGVtZW50cyBpLkNvbmZpZ3VyYWJsZUdvYWxJbnRlcmZhY2Uge1xuICAgIGdvYWw6IEdvYWw7XG4gICAgY29uZmlndXJhdGlvbjogS2V5VmFsdWVQYWlyW107XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBDb25maWd1cmFibGVHb2FsIHtcbiAgICAgICAgbGV0IG0gPSBuZXcgQ29uZmlndXJhYmxlR29hbCgpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIGlmIChwcm90by5nb2FsKSB7bS5nb2FsID0gR29hbC5mcm9tUHJvdG8ocHJvdG8uZ29hbCk7fVxuICAgICAgICBpZiAocHJvdG8uY29uZmlndXJhdGlvbikge20uY29uZmlndXJhdGlvbiA9IHByb3RvLmNvbmZpZ3VyYXRpb24ubWFwKEtleVZhbHVlUGFpci5mcm9tUHJvdG8pO31cbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5Db25maWd1cmFibGVHb2FsSW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuZ29hbCAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5nb2FsICE9PSBudWxsKSB7dG9SZXR1cm5bJ2dvYWwnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMuZ29hbCA/ICh0aGlzLmdvYWwgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMuZ29hbDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5jb25maWd1cmF0aW9uICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLmNvbmZpZ3VyYXRpb24gIT09IG51bGwpIHt0b1JldHVyblsnY29uZmlndXJhdGlvbiddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5jb25maWd1cmF0aW9uID8gKHRoaXMuY29uZmlndXJhdGlvbiBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5jb25maWd1cmF0aW9uO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIERlZXBncmFtQ29uZmlnIGltcGxlbWVudHMgaS5EZWVwZ3JhbUNvbmZpZ0ludGVyZmFjZSB7XG4gICAgdm9pY2U6IHN0cmluZztcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IERlZXBncmFtQ29uZmlnIHtcbiAgICAgICAgbGV0IG0gPSBuZXcgRGVlcGdyYW1Db25maWcoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLkRlZXBncmFtQ29uZmlnSW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMudm9pY2UgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3ZvaWNlJ10gPSB0aGlzLnZvaWNlO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEVsZXZlbkxhYnNDb25maWcgaW1wbGVtZW50cyBpLkVsZXZlbkxhYnNDb25maWdJbnRlcmZhY2Uge1xuICAgIHZvaWNlOiBzdHJpbmc7XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBFbGV2ZW5MYWJzQ29uZmlnIHtcbiAgICAgICAgbGV0IG0gPSBuZXcgRWxldmVuTGFic0NvbmZpZygpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuRWxldmVuTGFic0NvbmZpZ0ludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnZvaWNlICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWyd2b2ljZSddID0gdGhpcy52b2ljZTt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBDb25maWdJbmJveENvbmZpZyBpbXBsZW1lbnRzIGkuQ29uZmlnSW5ib3hDb25maWdJbnRlcmZhY2Uge1xuICAgIGxlYWRDYXB0dXJlRW5hYmxlZDogYm9vbGVhbjtcbiAgICBhZGRpdGlvbmFsSW5zdHJ1Y3Rpb25zOiBzdHJpbmc7XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBDb25maWdJbmJveENvbmZpZyB7XG4gICAgICAgIGxldCBtID0gbmV3IENvbmZpZ0luYm94Q29uZmlnKCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5Db25maWdJbmJveENvbmZpZ0ludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmxlYWRDYXB0dXJlRW5hYmxlZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnbGVhZENhcHR1cmVFbmFibGVkJ10gPSB0aGlzLmxlYWRDYXB0dXJlRW5hYmxlZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5hZGRpdGlvbmFsSW5zdHJ1Y3Rpb25zICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydhZGRpdGlvbmFsSW5zdHJ1Y3Rpb25zJ10gPSB0aGlzLmFkZGl0aW9uYWxJbnN0cnVjdGlvbnM7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgTW9kZWxDb25maWcgaW1wbGVtZW50cyBpLk1vZGVsQ29uZmlnSW50ZXJmYWNlIHtcbiAgICBvcGVuYWlSZWFsdGltZUNvbmZpZzogT3BlbkFJUmVhbHRpbWVDb25maWc7XG4gICAgZGVlcGdyYW1Db25maWc6IERlZXBncmFtQ29uZmlnO1xuICAgIGVsZXZlbkxhYnNDb25maWc6IEVsZXZlbkxhYnNDb25maWc7XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBNb2RlbENvbmZpZyB7XG4gICAgICAgIGxldCBtID0gbmV3IE1vZGVsQ29uZmlnKCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgaWYgKHByb3RvLm9wZW5haVJlYWx0aW1lQ29uZmlnKSB7bS5vcGVuYWlSZWFsdGltZUNvbmZpZyA9IE9wZW5BSVJlYWx0aW1lQ29uZmlnLmZyb21Qcm90byhwcm90by5vcGVuYWlSZWFsdGltZUNvbmZpZyk7fVxuICAgICAgICBpZiAocHJvdG8uZGVlcGdyYW1Db25maWcpIHttLmRlZXBncmFtQ29uZmlnID0gRGVlcGdyYW1Db25maWcuZnJvbVByb3RvKHByb3RvLmRlZXBncmFtQ29uZmlnKTt9XG4gICAgICAgIGlmIChwcm90by5lbGV2ZW5MYWJzQ29uZmlnKSB7bS5lbGV2ZW5MYWJzQ29uZmlnID0gRWxldmVuTGFic0NvbmZpZy5mcm9tUHJvdG8ocHJvdG8uZWxldmVuTGFic0NvbmZpZyk7fVxuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLk1vZGVsQ29uZmlnSW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMub3BlbmFpUmVhbHRpbWVDb25maWcgIT09ICd1bmRlZmluZWQnICYmIHRoaXMub3BlbmFpUmVhbHRpbWVDb25maWcgIT09IG51bGwpIHt0b1JldHVyblsnb3BlbmFpUmVhbHRpbWVDb25maWcnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMub3BlbmFpUmVhbHRpbWVDb25maWcgPyAodGhpcy5vcGVuYWlSZWFsdGltZUNvbmZpZyBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5vcGVuYWlSZWFsdGltZUNvbmZpZzt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5kZWVwZ3JhbUNvbmZpZyAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5kZWVwZ3JhbUNvbmZpZyAhPT0gbnVsbCkge3RvUmV0dXJuWydkZWVwZ3JhbUNvbmZpZyddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5kZWVwZ3JhbUNvbmZpZyA/ICh0aGlzLmRlZXBncmFtQ29uZmlnIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLmRlZXBncmFtQ29uZmlnO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmVsZXZlbkxhYnNDb25maWcgIT09ICd1bmRlZmluZWQnICYmIHRoaXMuZWxldmVuTGFic0NvbmZpZyAhPT0gbnVsbCkge3RvUmV0dXJuWydlbGV2ZW5MYWJzQ29uZmlnJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLmVsZXZlbkxhYnNDb25maWcgPyAodGhpcy5lbGV2ZW5MYWJzQ29uZmlnIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLmVsZXZlbkxhYnNDb25maWc7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgT3BlbkFJUmVhbHRpbWVDb25maWcgaW1wbGVtZW50cyBpLk9wZW5BSVJlYWx0aW1lQ29uZmlnSW50ZXJmYWNlIHtcbiAgICB2b2ljZTogc3RyaW5nO1xuICAgIHR1cm5EZXRlY3Rpb246IE9wZW5BSVJlYWx0aW1lQ29uZmlnVHVybkRldGVjdGlvbjtcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IE9wZW5BSVJlYWx0aW1lQ29uZmlnIHtcbiAgICAgICAgbGV0IG0gPSBuZXcgT3BlbkFJUmVhbHRpbWVDb25maWcoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICBpZiAocHJvdG8udHVybkRldGVjdGlvbikge20udHVybkRldGVjdGlvbiA9IE9wZW5BSVJlYWx0aW1lQ29uZmlnVHVybkRldGVjdGlvbi5mcm9tUHJvdG8ocHJvdG8udHVybkRldGVjdGlvbik7fVxuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLk9wZW5BSVJlYWx0aW1lQ29uZmlnSW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMudm9pY2UgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3ZvaWNlJ10gPSB0aGlzLnZvaWNlO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnR1cm5EZXRlY3Rpb24gIT09ICd1bmRlZmluZWQnICYmIHRoaXMudHVybkRldGVjdGlvbiAhPT0gbnVsbCkge3RvUmV0dXJuWyd0dXJuRGV0ZWN0aW9uJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLnR1cm5EZXRlY3Rpb24gPyAodGhpcy50dXJuRGV0ZWN0aW9uIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLnR1cm5EZXRlY3Rpb247fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgT3BlbkFJUmVhbHRpbWVDb25maWdUdXJuRGV0ZWN0aW9uIGltcGxlbWVudHMgaS5PcGVuQUlSZWFsdGltZUNvbmZpZ1R1cm5EZXRlY3Rpb25JbnRlcmZhY2Uge1xuICAgIHRocmVzaG9sZDogbnVtYmVyO1xuICAgIHByZWZpeFBhZGRpbmc6IG51bWJlcjtcbiAgICBzaWxlbmNlRHVyYXRpb246IG51bWJlcjtcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IE9wZW5BSVJlYWx0aW1lQ29uZmlnVHVybkRldGVjdGlvbiB7XG4gICAgICAgIGxldCBtID0gbmV3IE9wZW5BSVJlYWx0aW1lQ29uZmlnVHVybkRldGVjdGlvbigpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuT3BlbkFJUmVhbHRpbWVDb25maWdUdXJuRGV0ZWN0aW9uSW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMudGhyZXNob2xkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWyd0aHJlc2hvbGQnXSA9IHRoaXMudGhyZXNob2xkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnByZWZpeFBhZGRpbmcgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3ByZWZpeFBhZGRpbmcnXSA9IHRoaXMucHJlZml4UGFkZGluZzt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5zaWxlbmNlRHVyYXRpb24gIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3NpbGVuY2VEdXJhdGlvbiddID0gdGhpcy5zaWxlbmNlRHVyYXRpb247fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgQ29uZmlnVm9pY2VDb25maWcgaW1wbGVtZW50cyBpLkNvbmZpZ1ZvaWNlQ29uZmlnSW50ZXJmYWNlIHtcbiAgICB2ZW5kb3JNb2RlbDogZS5WZW5kb3JNb2RlbDtcbiAgICBtb2RlbENvbmZpZzogTW9kZWxDb25maWc7XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBDb25maWdWb2ljZUNvbmZpZyB7XG4gICAgICAgIGxldCBtID0gbmV3IENvbmZpZ1ZvaWNlQ29uZmlnKCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgaWYgKHByb3RvLnZlbmRvck1vZGVsKSB7bS52ZW5kb3JNb2RlbCA9IGVudW1TdHJpbmdUb1ZhbHVlPGUuVmVuZG9yTW9kZWw+KGUuVmVuZG9yTW9kZWwsIHByb3RvLnZlbmRvck1vZGVsKTt9XG4gICAgICAgIGlmIChwcm90by5tb2RlbENvbmZpZykge20ubW9kZWxDb25maWcgPSBNb2RlbENvbmZpZy5mcm9tUHJvdG8ocHJvdG8ubW9kZWxDb25maWcpO31cbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5Db25maWdWb2ljZUNvbmZpZ0ludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnZlbmRvck1vZGVsICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWyd2ZW5kb3JNb2RlbCddID0gdGhpcy52ZW5kb3JNb2RlbDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5tb2RlbENvbmZpZyAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5tb2RlbENvbmZpZyAhPT0gbnVsbCkge3RvUmV0dXJuWydtb2RlbENvbmZpZyddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5tb2RlbENvbmZpZyA/ICh0aGlzLm1vZGVsQ29uZmlnIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLm1vZGVsQ29uZmlnO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuIl19
|
|
360
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzaXN0YW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vYWlfYXNzaXN0YW50c19zZGsvc3JjL2xpYi9faW50ZXJuYWwvb2JqZWN0cy9hc3Npc3RhbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBT0EsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUM5QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDaEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN4QyxPQUFPLEtBQUssQ0FBQyxNQUFNLFVBQVUsQ0FBQztBQUU5QixNQUFNLFVBQVUsaUJBQWlCLENBQUksT0FBWSxFQUFFLEtBQWE7SUFDOUQsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7UUFDN0IsT0FBTyxLQUFLLENBQUM7S0FDZDtJQUNELE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3hCLENBQUM7QUFFRCxNQUFNLE9BQU8sU0FBUztJQVVsQixNQUFNLENBQUMsU0FBUyxDQUFDLEtBQVU7UUFDdkIsSUFBSSxDQUFDLEdBQUcsSUFBSSxTQUFTLEVBQUUsQ0FBQztRQUN4QixDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDNUIsSUFBSSxLQUFLLENBQUMsU0FBUyxFQUFFO1lBQUMsQ0FBQyxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUFDO1FBQzFFLElBQUksS0FBSyxDQUFDLElBQUksRUFBRTtZQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsaUJBQWlCLENBQWtCLENBQUMsQ0FBQyxhQUFhLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQUM7UUFDM0YsSUFB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QUksQ0FBQyxXQUFXLENBQUM7U0FBQztRQUNqTSxPQUFPLFFBQVEsQ0FBQztJQUNwQixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyIvLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIENvZGUgZ2VuZXJhdGVkIGJ5IHNka2dlblxuLy8gRE8gTk9UIEVESVQhLlxuLy9cbi8vIE9iamVjdHMuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbmltcG9ydCAqIGFzIGkgZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBHb2FsIH0gZnJvbSAnLi9nb2FsJztcbmltcG9ydCB7IEtleVZhbHVlUGFpciB9IGZyb20gJy4vY29tbW9uJztcbmltcG9ydCB7IE1vZGVsIH0gZnJvbSAnLi9tb2RlbCc7XG5pbXBvcnQgeyBOYW1lc3BhY2UgfSBmcm9tICcuL25hbWVzcGFjZSc7XG5pbXBvcnQgKiBhcyBlIGZyb20gJy4uL2VudW1zJztcblxuZXhwb3J0IGZ1bmN0aW9uIGVudW1TdHJpbmdUb1ZhbHVlPEU+KGVudW1SZWY6IGFueSwgdmFsdWU6IHN0cmluZyk6IEUge1xuICBpZiAodHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJykge1xuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuICByZXR1cm4gZW51bVJlZlt2YWx1ZV07XG59XG5cbmV4cG9ydCBjbGFzcyBBc3Npc3RhbnQgaW1wbGVtZW50cyBpLkFzc2lzdGFudEludGVyZmFjZSB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBuYW1lc3BhY2U6IE5hbWVzcGFjZTtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgdHlwZTogZS5Bc3Npc3RhbnRUeXBlO1xuICAgIGF2YXRhclVybDogc3RyaW5nO1xuICAgIGNvbmZpZzogQ29uZmlnO1xuICAgIGNvbmZpZ3VyYWJsZUdvYWxzOiBDb25maWd1cmFibGVHb2FsW107XG4gICAgdXNlcklkOiBzdHJpbmc7XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBBc3Npc3RhbnQge1xuICAgICAgICBsZXQgbSA9IG5ldyBBc3Npc3RhbnQoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICBpZiAocHJvdG8ubmFtZXNwYWNlKSB7bS5uYW1lc3BhY2UgPSBOYW1lc3BhY2UuZnJvbVByb3RvKHByb3RvLm5hbWVzcGFjZSk7fVxuICAgICAgICBpZiAocHJvdG8udHlwZSkge20udHlwZSA9IGVudW1TdHJpbmdUb1ZhbHVlPGUuQXNzaXN0YW50VHlwZT4oZS5Bc3Npc3RhbnRUeXBlLCBwcm90by50eXBlKTt9XG4gICAgICAgIGlmIChwcm90by5jb25maWcpIHttLmNvbmZpZyA9IENvbmZpZy5mcm9tUHJvdG8ocHJvdG8uY29uZmlnKTt9XG4gICAgICAgIGlmIChwcm90by5jb25maWd1cmFibGVHb2Fscykge20uY29uZmlndXJhYmxlR29hbHMgPSBwcm90by5jb25maWd1cmFibGVHb2Fscy5tYXAoQ29uZmlndXJhYmxlR29hbC5mcm9tUHJvdG8pO31cbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5Bc3Npc3RhbnRJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5pZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnaWQnXSA9IHRoaXMuaWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMubmFtZXNwYWNlICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLm5hbWVzcGFjZSAhPT0gbnVsbCkge3RvUmV0dXJuWyduYW1lc3BhY2UnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMubmFtZXNwYWNlID8gKHRoaXMubmFtZXNwYWNlIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLm5hbWVzcGFjZTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5uYW1lICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWyduYW1lJ10gPSB0aGlzLm5hbWU7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMudHlwZSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsndHlwZSddID0gdGhpcy50eXBlO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmF2YXRhclVybCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnYXZhdGFyVXJsJ10gPSB0aGlzLmF2YXRhclVybDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5jb25maWcgIT09ICd1bmRlZmluZWQnICYmIHRoaXMuY29uZmlnICE9PSBudWxsKSB7dG9SZXR1cm5bJ2NvbmZpZyddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5jb25maWcgPyAodGhpcy5jb25maWcgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMuY29uZmlnO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmNvbmZpZ3VyYWJsZUdvYWxzICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLmNvbmZpZ3VyYWJsZUdvYWxzICE9PSBudWxsKSB7dG9SZXR1cm5bJ2NvbmZpZ3VyYWJsZUdvYWxzJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLmNvbmZpZ3VyYWJsZUdvYWxzID8gKHRoaXMuY29uZmlndXJhYmxlR29hbHMgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMuY29uZmlndXJhYmxlR29hbHM7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMudXNlcklkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWyd1c2VySWQnXSA9IHRoaXMudXNlcklkO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEFzc2lzdGFudEtleSBpbXBsZW1lbnRzIGkuQXNzaXN0YW50S2V5SW50ZXJmYWNlIHtcbiAgICBpZDogc3RyaW5nO1xuICAgIG5hbWVzcGFjZTogTmFtZXNwYWNlO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogQXNzaXN0YW50S2V5IHtcbiAgICAgICAgbGV0IG0gPSBuZXcgQXNzaXN0YW50S2V5KCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgaWYgKHByb3RvLm5hbWVzcGFjZSkge20ubmFtZXNwYWNlID0gTmFtZXNwYWNlLmZyb21Qcm90byhwcm90by5uYW1lc3BhY2UpO31cbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5Bc3Npc3RhbnRLZXlJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5pZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnaWQnXSA9IHRoaXMuaWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMubmFtZXNwYWNlICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLm5hbWVzcGFjZSAhPT0gbnVsbCkge3RvUmV0dXJuWyduYW1lc3BhY2UnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMubmFtZXNwYWNlID8gKHRoaXMubmFtZXNwYWNlIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLm5hbWVzcGFjZTt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBDb25maWcgaW1wbGVtZW50cyBpLkNvbmZpZ0ludGVyZmFjZSB7XG4gICAgaW5ib3hDb25maWc6IENvbmZpZ0luYm94Q29uZmlnO1xuICAgIHZvaWNlQ29uZmlnOiBDb25maWdWb2ljZUNvbmZpZztcbiAgICBtb2RlbHM6IE1vZGVsW107XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBDb25maWcge1xuICAgICAgICBsZXQgbSA9IG5ldyBDb25maWcoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICBpZiAocHJvdG8uaW5ib3hDb25maWcpIHttLmluYm94Q29uZmlnID0gQ29uZmlnSW5ib3hDb25maWcuZnJvbVByb3RvKHByb3RvLmluYm94Q29uZmlnKTt9XG4gICAgICAgIGlmIChwcm90by52b2ljZUNvbmZpZykge20udm9pY2VDb25maWcgPSBDb25maWdWb2ljZUNvbmZpZy5mcm9tUHJvdG8ocHJvdG8udm9pY2VDb25maWcpO31cbiAgICAgICAgaWYgKHByb3RvLm1vZGVscykge20ubW9kZWxzID0gcHJvdG8ubW9kZWxzLm1hcChNb2RlbC5mcm9tUHJvdG8pO31cbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5Db25maWdJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5pbmJveENvbmZpZyAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5pbmJveENvbmZpZyAhPT0gbnVsbCkge3RvUmV0dXJuWydpbmJveENvbmZpZyddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5pbmJveENvbmZpZyA/ICh0aGlzLmluYm94Q29uZmlnIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLmluYm94Q29uZmlnO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnZvaWNlQ29uZmlnICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLnZvaWNlQ29uZmlnICE9PSBudWxsKSB7dG9SZXR1cm5bJ3ZvaWNlQ29uZmlnJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLnZvaWNlQ29uZmlnID8gKHRoaXMudm9pY2VDb25maWcgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMudm9pY2VDb25maWc7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMubW9kZWxzICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLm1vZGVscyAhPT0gbnVsbCkge3RvUmV0dXJuWydtb2RlbHMnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMubW9kZWxzID8gKHRoaXMubW9kZWxzIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLm1vZGVsczt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBDb25maWd1cmFibGVHb2FsIGltcGxlbWVudHMgaS5Db25maWd1cmFibGVHb2FsSW50ZXJmYWNlIHtcbiAgICBnb2FsOiBHb2FsO1xuICAgIGNvbmZpZ3VyYXRpb246IEtleVZhbHVlUGFpcltdO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogQ29uZmlndXJhYmxlR29hbCB7XG4gICAgICAgIGxldCBtID0gbmV3IENvbmZpZ3VyYWJsZUdvYWwoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICBpZiAocHJvdG8uZ29hbCkge20uZ29hbCA9IEdvYWwuZnJvbVByb3RvKHByb3RvLmdvYWwpO31cbiAgICAgICAgaWYgKHByb3RvLmNvbmZpZ3VyYXRpb24pIHttLmNvbmZpZ3VyYXRpb24gPSBwcm90by5jb25maWd1cmF0aW9uLm1hcChLZXlWYWx1ZVBhaXIuZnJvbVByb3RvKTt9XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuQ29uZmlndXJhYmxlR29hbEludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmdvYWwgIT09ICd1bmRlZmluZWQnICYmIHRoaXMuZ29hbCAhPT0gbnVsbCkge3RvUmV0dXJuWydnb2FsJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLmdvYWwgPyAodGhpcy5nb2FsIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLmdvYWw7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuY29uZmlndXJhdGlvbiAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5jb25maWd1cmF0aW9uICE9PSBudWxsKSB7dG9SZXR1cm5bJ2NvbmZpZ3VyYXRpb24nXSA9ICd0b0FwaUpzb24nIGluIHRoaXMuY29uZmlndXJhdGlvbiA/ICh0aGlzLmNvbmZpZ3VyYXRpb24gYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMuY29uZmlndXJhdGlvbjt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBEZWVwZ3JhbUNvbmZpZyBpbXBsZW1lbnRzIGkuRGVlcGdyYW1Db25maWdJbnRlcmZhY2Uge1xuICAgIHZvaWNlOiBzdHJpbmc7XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBEZWVwZ3JhbUNvbmZpZyB7XG4gICAgICAgIGxldCBtID0gbmV3IERlZXBncmFtQ29uZmlnKCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5EZWVwZ3JhbUNvbmZpZ0ludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnZvaWNlICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWyd2b2ljZSddID0gdGhpcy52b2ljZTt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBFbGV2ZW5MYWJzQ29uZmlnIGltcGxlbWVudHMgaS5FbGV2ZW5MYWJzQ29uZmlnSW50ZXJmYWNlIHtcbiAgICB2b2ljZTogc3RyaW5nO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogRWxldmVuTGFic0NvbmZpZyB7XG4gICAgICAgIGxldCBtID0gbmV3IEVsZXZlbkxhYnNDb25maWcoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLkVsZXZlbkxhYnNDb25maWdJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy52b2ljZSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsndm9pY2UnXSA9IHRoaXMudm9pY2U7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgQ29uZmlnSW5ib3hDb25maWcgaW1wbGVtZW50cyBpLkNvbmZpZ0luYm94Q29uZmlnSW50ZXJmYWNlIHtcbiAgICBsZWFkQ2FwdHVyZUVuYWJsZWQ6IGJvb2xlYW47XG4gICAgYWRkaXRpb25hbEluc3RydWN0aW9uczogc3RyaW5nO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogQ29uZmlnSW5ib3hDb25maWcge1xuICAgICAgICBsZXQgbSA9IG5ldyBDb25maWdJbmJveENvbmZpZygpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuQ29uZmlnSW5ib3hDb25maWdJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5sZWFkQ2FwdHVyZUVuYWJsZWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2xlYWRDYXB0dXJlRW5hYmxlZCddID0gdGhpcy5sZWFkQ2FwdHVyZUVuYWJsZWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuYWRkaXRpb25hbEluc3RydWN0aW9ucyAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnYWRkaXRpb25hbEluc3RydWN0aW9ucyddID0gdGhpcy5hZGRpdGlvbmFsSW5zdHJ1Y3Rpb25zO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIE1vZGVsQ29uZmlnIGltcGxlbWVudHMgaS5Nb2RlbENvbmZpZ0ludGVyZmFjZSB7XG4gICAgb3BlbmFpUmVhbHRpbWVDb25maWc6IE9wZW5BSVJlYWx0aW1lQ29uZmlnO1xuICAgIGRlZXBncmFtQ29uZmlnOiBEZWVwZ3JhbUNvbmZpZztcbiAgICBlbGV2ZW5MYWJzQ29uZmlnOiBFbGV2ZW5MYWJzQ29uZmlnO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogTW9kZWxDb25maWcge1xuICAgICAgICBsZXQgbSA9IG5ldyBNb2RlbENvbmZpZygpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIGlmIChwcm90by5vcGVuYWlSZWFsdGltZUNvbmZpZykge20ub3BlbmFpUmVhbHRpbWVDb25maWcgPSBPcGVuQUlSZWFsdGltZUNvbmZpZy5mcm9tUHJvdG8ocHJvdG8ub3BlbmFpUmVhbHRpbWVDb25maWcpO31cbiAgICAgICAgaWYgKHByb3RvLmRlZXBncmFtQ29uZmlnKSB7bS5kZWVwZ3JhbUNvbmZpZyA9IERlZXBncmFtQ29uZmlnLmZyb21Qcm90byhwcm90by5kZWVwZ3JhbUNvbmZpZyk7fVxuICAgICAgICBpZiAocHJvdG8uZWxldmVuTGFic0NvbmZpZykge20uZWxldmVuTGFic0NvbmZpZyA9IEVsZXZlbkxhYnNDb25maWcuZnJvbVByb3RvKHByb3RvLmVsZXZlbkxhYnNDb25maWcpO31cbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5Nb2RlbENvbmZpZ0ludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLm9wZW5haVJlYWx0aW1lQ29uZmlnICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLm9wZW5haVJlYWx0aW1lQ29uZmlnICE9PSBudWxsKSB7dG9SZXR1cm5bJ29wZW5haVJlYWx0aW1lQ29uZmlnJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLm9wZW5haVJlYWx0aW1lQ29uZmlnID8gKHRoaXMub3BlbmFpUmVhbHRpbWVDb25maWcgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMub3BlbmFpUmVhbHRpbWVDb25maWc7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuZGVlcGdyYW1Db25maWcgIT09ICd1bmRlZmluZWQnICYmIHRoaXMuZGVlcGdyYW1Db25maWcgIT09IG51bGwpIHt0b1JldHVyblsnZGVlcGdyYW1Db25maWcnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMuZGVlcGdyYW1Db25maWcgPyAodGhpcy5kZWVwZ3JhbUNvbmZpZyBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5kZWVwZ3JhbUNvbmZpZzt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5lbGV2ZW5MYWJzQ29uZmlnICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLmVsZXZlbkxhYnNDb25maWcgIT09IG51bGwpIHt0b1JldHVyblsnZWxldmVuTGFic0NvbmZpZyddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5lbGV2ZW5MYWJzQ29uZmlnID8gKHRoaXMuZWxldmVuTGFic0NvbmZpZyBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5lbGV2ZW5MYWJzQ29uZmlnO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIE9wZW5BSVJlYWx0aW1lQ29uZmlnIGltcGxlbWVudHMgaS5PcGVuQUlSZWFsdGltZUNvbmZpZ0ludGVyZmFjZSB7XG4gICAgdm9pY2U6IHN0cmluZztcbiAgICB0dXJuRGV0ZWN0aW9uOiBPcGVuQUlSZWFsdGltZUNvbmZpZ1R1cm5EZXRlY3Rpb247XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBPcGVuQUlSZWFsdGltZUNvbmZpZyB7XG4gICAgICAgIGxldCBtID0gbmV3IE9wZW5BSVJlYWx0aW1lQ29uZmlnKCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgaWYgKHByb3RvLnR1cm5EZXRlY3Rpb24pIHttLnR1cm5EZXRlY3Rpb24gPSBPcGVuQUlSZWFsdGltZUNvbmZpZ1R1cm5EZXRlY3Rpb24uZnJvbVByb3RvKHByb3RvLnR1cm5EZXRlY3Rpb24pO31cbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5PcGVuQUlSZWFsdGltZUNvbmZpZ0ludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnZvaWNlICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWyd2b2ljZSddID0gdGhpcy52b2ljZTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy50dXJuRGV0ZWN0aW9uICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLnR1cm5EZXRlY3Rpb24gIT09IG51bGwpIHt0b1JldHVyblsndHVybkRldGVjdGlvbiddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy50dXJuRGV0ZWN0aW9uID8gKHRoaXMudHVybkRldGVjdGlvbiBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy50dXJuRGV0ZWN0aW9uO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIFRlbXBsYXRlVmFyaWFibGUgaW1wbGVtZW50cyBpLlRlbXBsYXRlVmFyaWFibGVJbnRlcmZhY2Uge1xuICAgIGtleTogc3RyaW5nO1xuICAgIHZhbHVlOiBzdHJpbmc7XG4gICAgZGVzY3JpcHRpb246IHN0cmluZztcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IFRlbXBsYXRlVmFyaWFibGUge1xuICAgICAgICBsZXQgbSA9IG5ldyBUZW1wbGF0ZVZhcmlhYmxlKCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5UZW1wbGF0ZVZhcmlhYmxlSW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMua2V5ICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydrZXknXSA9IHRoaXMua2V5O31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnZhbHVlICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWyd2YWx1ZSddID0gdGhpcy52YWx1ZTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5kZXNjcmlwdGlvbiAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnZGVzY3JpcHRpb24nXSA9IHRoaXMuZGVzY3JpcHRpb247fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgT3BlbkFJUmVhbHRpbWVDb25maWdUdXJuRGV0ZWN0aW9uIGltcGxlbWVudHMgaS5PcGVuQUlSZWFsdGltZUNvbmZpZ1R1cm5EZXRlY3Rpb25JbnRlcmZhY2Uge1xuICAgIHRocmVzaG9sZDogbnVtYmVyO1xuICAgIHByZWZpeFBhZGRpbmc6IG51bWJlcjtcbiAgICBzaWxlbmNlRHVyYXRpb246IG51bWJlcjtcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IE9wZW5BSVJlYWx0aW1lQ29uZmlnVHVybkRldGVjdGlvbiB7XG4gICAgICAgIGxldCBtID0gbmV3IE9wZW5BSVJlYWx0aW1lQ29uZmlnVHVybkRldGVjdGlvbigpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuT3BlbkFJUmVhbHRpbWVDb25maWdUdXJuRGV0ZWN0aW9uSW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMudGhyZXNob2xkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWyd0aHJlc2hvbGQnXSA9IHRoaXMudGhyZXNob2xkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnByZWZpeFBhZGRpbmcgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3ByZWZpeFBhZGRpbmcnXSA9IHRoaXMucHJlZml4UGFkZGluZzt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5zaWxlbmNlRHVyYXRpb24gIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3NpbGVuY2VEdXJhdGlvbiddID0gdGhpcy5zaWxlbmNlRHVyYXRpb247fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgQ29uZmlnVm9pY2VDb25maWcgaW1wbGVtZW50cyBpLkNvbmZpZ1ZvaWNlQ29uZmlnSW50ZXJmYWNlIHtcbiAgICB2ZW5kb3JNb2RlbDogZS5WZW5kb3JNb2RlbDtcbiAgICBtb2RlbENvbmZpZzogTW9kZWxDb25maWc7XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBDb25maWdWb2ljZUNvbmZpZyB7XG4gICAgICAgIGxldCBtID0gbmV3IENvbmZpZ1ZvaWNlQ29uZmlnKCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgaWYgKHByb3RvLnZlbmRvck1vZGVsKSB7bS52ZW5kb3JNb2RlbCA9IGVudW1TdHJpbmdUb1ZhbHVlPGUuVmVuZG9yTW9kZWw+KGUuVmVuZG9yTW9kZWwsIHByb3RvLnZlbmRvck1vZGVsKTt9XG4gICAgICAgIGlmIChwcm90by5tb2RlbENvbmZpZykge20ubW9kZWxDb25maWcgPSBNb2RlbENvbmZpZy5mcm9tUHJvdG8ocHJvdG8ubW9kZWxDb25maWcpO31cbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5Db25maWdWb2ljZUNvbmZpZ0ludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnZlbmRvck1vZGVsICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWyd2ZW5kb3JNb2RlbCddID0gdGhpcy52ZW5kb3JNb2RlbDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5tb2RlbENvbmZpZyAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5tb2RlbENvbmZpZyAhPT0gbnVsbCkge3RvUmV0dXJuWydtb2RlbENvbmZpZyddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5tb2RlbENvbmZpZyA/ICh0aGlzLm1vZGVsQ29uZmlnIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLm1vZGVsQ29uZmlnO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuIl19
|
|
@@ -12,11 +12,11 @@ export { Prompt, PromptModule, PromptModuleKey, PromptModuleVersion, PromptVersi
|
|
|
12
12
|
export { Goal, GoalKey, } from './goal';
|
|
13
13
|
export { KeyValuePair, } from './common';
|
|
14
14
|
export { Model, } from './model';
|
|
15
|
-
export { Assistant, AssistantKey, Config, ConfigurableGoal, DeepgramConfig, ElevenLabsConfig, ConfigInboxConfig, ModelConfig, OpenAIRealtimeConfig, OpenAIRealtimeConfigTurnDetection, ConfigVoiceConfig, } from './assistant';
|
|
15
|
+
export { Assistant, AssistantKey, Config, ConfigurableGoal, DeepgramConfig, ElevenLabsConfig, ConfigInboxConfig, ModelConfig, OpenAIRealtimeConfig, TemplateVariable, OpenAIRealtimeConfigTurnDetection, ConfigVoiceConfig, } from './assistant';
|
|
16
16
|
export { Connection, ConnectionKey, } from './connection';
|
|
17
17
|
export { ChatAnswerFunctionExecutionJob, ChatAnswerFunctionExecutionJobResult, ChatContent, ChatMessage, ChatUserInfo, ContextInfo, ImageContent, } from './answer';
|
|
18
18
|
export { CancelTestRunRequest, TestResultCitation, DeleteTestCasesRequest, GetTestRunRequest, GetTestRunResponse, ListTestCasesByAssistantRequest, ListTestCasesByAssistantResponse, ListTestRunsByAssistantRequest, ListTestRunsByAssistantResponse, RunTestsRequest, RunTestsResponse, SortOptions, TestCase, TestResult, TestRun, UpsertTestCasesRequest, } from './integration-tests';
|
|
19
19
|
export { Access, MCPOptions, } from './annotations';
|
|
20
20
|
export { FieldMask, } from './field-mask';
|
|
21
|
-
export { BuildDefaultAssistantRequest, BuildDefaultAssistantResponse, SetAssistantConnectionsRequestConnectionState, CreateAssistantRequest, CreateAssistantResponse, CreateGoalRequest, CreateGoalResponse, CreatePromptModuleRequest, CreatePromptModuleResponse, CreatePromptModuleVersionRequest, CreatePromptRequest, DeleteAssistantRequest, DeleteConnectionRequest, DeleteFunctionRequest, DeleteGoalRequest, DeletePromptModuleRequest, DeletePromptRequest, DeployPromptModuleRequest, DeployPromptRequest, ExecuteFunctionRequest, ExecuteFunctionResponse,
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9haV9hc3Npc3RhbnRzX3Nkay9zcmMvbGliL19pbnRlcm5hbC9vYmplY3RzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG9DQUFvQztBQUNwQywyQkFBMkI7QUFDM0IsZ0JBQWdCO0FBQ2hCLEVBQUU7QUFDRixpQkFBaUI7QUFDakIsb0NBQW9DO0FBQ3BDLE9BQU8sRUFDSCw4QkFBOEIsRUFDOUIsd0JBQXdCLEVBQ3hCLFNBQVMsRUFDVCx5QkFBeUIsRUFDekIsd0JBQXdCLEdBQzNCLE1BQU0sYUFBYSxDQUFDO0FBRXJCLE9BQU8sRUFDSCxVQUFVLEVBQ1YsZ0JBQWdCLEVBQ2hCLEtBQUssR0FDUixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQ0gsbUJBQW1CLEVBQ25CLHFCQUFxQixHQUN4QixNQUFNLFVBQVUsQ0FBQztBQUVsQixPQUFPLEVBQ0gsb0RBQW9ELEVBQ3BELCtCQUErQixFQUMvQixnQkFBZ0IsRUFDaEIsc0JBQXNCLEVBQ3RCLFFBQVEsRUFDUixvQkFBb0IsRUFDcEIsY0FBYyxFQUNkLFdBQVcsRUFDWCxpQkFBaUIsRUFDakIsNkNBQTZDLEVBQzdDLG1CQUFtQixFQUNuQixvQkFBb0IsRUFDcEIsZUFBZSxFQUNmLGdCQUFnQixFQUNoQixHQUFHLEVBQ0gsdURBQXVELEVBQ3ZELG1EQUFtRCxFQUNuRCxnQkFBZ0IsR0FDbkIsTUFBTSxZQUFZLENBQUM7QUFFcEIsT0FBTyxFQUNILE1BQU0sRUFDTixZQUFZLEVBQ1osZUFBZSxFQUNmLG1CQUFtQixFQUNuQixhQUFhLEdBQ2hCLE1BQU0sVUFBVSxDQUFDO0FBRWxCLE9BQU8sRUFDSCxJQUFJLEVBQ0osT0FBTyxHQUNWLE1BQU0sUUFBUSxDQUFDO0FBRWhCLE9BQU8sRUFDSCxZQUFZLEdBQ2YsTUFBTSxVQUFVLENBQUM7QUFFbEIsT0FBTyxFQUNILEtBQUssR0FDUixNQUFN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LHVDQUF1QyxFQUN2Qyw2QkFBNkIsRUFDN0IsNkJBQTZCLEVBQzdCLDBCQUEwQixFQUMxQiw4QkFBOEIsRUFDOUIsMkJBQTJCLEVBQzNCLHNCQUFzQixFQUN0QixpQkFBaUIsRUFDakIseUJBQXlCLEVBQ3pCLG1CQUFtQixFQUNuQixzQkFBc0IsRUFDdEIsdUJBQXVCLEVBQ3ZCLHVCQUF1QixFQUN2QixxQkFBcUIsRUFDckIsaUJBQWlCLEVBQ2pCLDJCQUEyQixFQUMzQiw0QkFBNEIsR0FDL0IsTUFBTSxPQUFPLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIENvZGUgZ2VuZXJhdGVkIGJ5IHNka2dlblxuLy8gRE8gTk9UIEVESVQhLlxuLy9cbi8vIE9iamVjdHMgSW5kZXguXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbmV4cG9ydCB7XG4gICAgTmFtZXNwYWNlQWNjb3VudEdyb3VwTmFtZXNwYWNlLFxuICAgIE5hbWVzcGFjZUdsb2JhbE5hbWVzcGFjZSxcbiAgICBOYW1lc3BhY2UsXG4gICAgTmFtZXNwYWNlUGFydG5lck5hbWVzcGFjZSxcbiAgICBOYW1lc3BhY2VTeXN0ZW1OYW1lc3BhY2UsXG59IGZyb20gJy4vbmFtZXNwYWNlJztcblxuZXhwb3J0IHtcbiAgICBDb25zdHJhaW50LFxuICAgIENvbnN0cmFpbnRGaWx0ZXIsXG4gICAgU2NvcGUsXG59IGZyb20gJy4vY29uc3RyYWludHMnO1xuXG5leHBvcnQge1xuICAgIFBhZ2VkUmVxdWVzdE9wdGlvbnMsXG4gICAgUGFnZWRSZXNwb25zZU1ldGFkYXRhLFxufSBmcm9tICcuL3BhZ2luZyc7XG5cbmV4cG9ydCB7XG4gICAgRnVuY3Rpb25BdXRoU3RyYXRlZ3lDb25uZWN0ZWRJbnRlZ3JhdGlvbkF1dGhTdHJhdGVneSxcbiAgICBDcmVhdGVNQ1BGcm9tSW50ZWdyYXRpb25SZXF1ZXN0LFxuICAgIERlbGV0ZU1DUFJlcXVlc3QsXG4gICAgTGlzdE1DUHNSZXF1ZXN0RmlsdGVycyxcbiAgICBGdW5jdGlvbixcbiAgICBGdW5jdGlvbkF1dGhTdHJhdGVneSxcbiAgICBGdW5jdGlvbkhlYWRlcixcbiAgICBGdW5jdGlvbktleSxcbiAgICBGdW5jdGlvblBhcmFtZXRlcixcbiAgICBGdW5jdGlvbkF1dGhTdHJhdGVneUltcGVyc29uYXRpb25BdXRoU3RyYXRlZ3ksXG4gICAgTGlzdE1DUFRvb2xzUmVxdWVzdCxcbiAgICBMaXN0TUNQVG9vbHNSZXNwb25zZSxcbiAgICBMaXN0TUNQc1JlcXVlc3QsXG4gICAgTGlzdE1DUHNSZXNwb25zZSxcbiAgICBNQ1AsXG4gICAgRnVuY3Rpb25BdXRoU3RyYXRlZ3lQbGF0Zm9ybU1hbmFnZWRGdW5jdGlvbkF1dGhTdHJhdGVneSxcbiAgICBGdW5jdGlvbkF1dGhTdHJhdGVneVVuc3BlY2lmaWVkRnVuY3Rpb25BdXRoU3RyYXRlZ3ksXG4gICAgVXBzZXJ0TUNQUmVxdWVzdCxcbn0gZnJvbSAnLi9mdW5jdGlvbic7XG5cbmV4cG9ydCB7XG4gICAgUHJvbXB0LFxuICAgIFByb21wdE1vZHVsZSxcbiAgICBQcm9tcHRNb2R1bGVLZXksXG4gICAgUHJvbXB0TW9kdWxlVmVyc2lvbixcbiAgICBQcm9tcHRWZXJzaW9uLFxufSBmcm9tICcuL3Byb21wdCc7XG5cbmV4cG9ydCB7XG4gICAgR29hbCxcbiAgICBHb2FsS2V5LFxufSBmcm9tICcuL2dvYWwnO1xuXG5leHBvcnQge1xuICAgIEtleVZhbHVlUGFpcixcbn0gZnJvbSAnLi9jb21tb24nO1xuXG5leHBvcnQge1xuICAgIE1vZGVsLFxufSBmcm9tICcuL21vZGVsJztcblxuZXhwb3J0IHtcbiAgICBBc3Npc3RhbnQsXG4gICAgQXNzaXN0YW50S2V5LFxuICAgIENvbmZpZyxcbiAgICBDb25maWd1cmFibGVHb2FsLFxuICAgIERlZXBncmFtQ29uZmlnLFxuICAgIEVsZXZlbkxhYnNDb25maWcsXG4gICAgQ29uZmlnSW5ib3hDb25maWcsXG4gICAgTW9kZWxDb25maWcsXG4gICAgT3BlbkFJUmVhbHRpbWVDb25maWcsXG4gICAgT3BlbkFJUmVhbHRpbWVDb25maWdUdXJuRGV0ZWN0aW9uLFxuICAgIENvbmZpZ1ZvaWNlQ29uZmlnLFxufSBmcm9tICcuL2Fzc2lzdGFudCc7XG5cbmV4cG9ydCB7XG4gICAgQ29ubmVjdGlvbixcbiAgICBDb25uZWN0aW9uS2V5LFxufSBmcm9tICcuL2Nvbm5lY3Rpb24nO1xuXG5leHBvcnQge1xuICAgIENoYXRBbnN3ZXJGdW5jdGlvbkV4ZWN1dGlvbkpvYixcbiAgICBDaGF0QW5zd2VyRnVuY3Rpb25FeGVjdXRpb25Kb2JSZXN1bHQsXG4gICAgQ2hhdENvbnRlbnQsXG4gICAgQ2hhdE1lc3NhZ2UsXG4gICAgQ2hhdFVzZXJJbmZvLFxuICAgIENvbnRleHRJbmZvLFxuICAgIEltYWdlQ29udGVudCxcbn0gZnJvbSAnLi9hbnN3ZXInO1xuXG5leHBvcnQge1xuICAgIENhbmNlbFRlc3RSdW5SZXF1ZXN0LFxuICAgIFRlc3RSZXN1bHRDaXRhdGlvbixcbiAgICBEZWxldGVUZXN0Q2FzZXNSZXF1ZXN0LFxuICAgIEdldFRlc3RSdW5SZXF1ZXN0LFxuICAgIEdldFRlc3RSdW5SZXNwb25zZSxcbiAgICBMaXN0VGVzdENhc2VzQnlBc3Npc3RhbnRSZXF1ZXN0LFxuICAgIExpc3RUZXN0Q2FzZXNCeUFzc2lzdGFudFJlc3BvbnNlLFxuICAgIExpc3RUZXN0UnVuc0J5QXNzaXN0YW50UmVxdWVzdCxcbiAgICBMaXN0VGVzdFJ1bnNCeUFzc2lzdGFudFJlc3BvbnNlLFxuICAgIFJ1blRlc3RzUmVxdWVzdCxcbiAgICBSdW5UZXN0c1Jlc3BvbnNlLFxuICAgIFNvcnRPcHRpb25zLFxuICAgIFRlc3RDYXNlLFxuICAgIFRlc3RSZXN1bHQsXG4gICAgVGVzdFJ1bixcbiAgICBVcHNlcnRUZXN0Q2FzZXNSZXF1ZXN0LFxufSBmcm9tICcuL2ludGVncmF0aW9uLXRlc3RzJztcblxuZXhwb3J0IHtcbiAgICBBY2Nlc3MsXG4gICAgTUNQT3B0aW9ucyxcbn0gZnJvbSAnLi9hbm5vdGF0aW9ucyc7XG5cbmV4cG9ydCB7XG4gICAgRmllbGRNYXNrLFxufSBmcm9tICcuL2ZpZWxkLW1hc2snO1xuXG5leHBvcnQge1xuICAgIEJ1aWxkRGVmYXVsdEFzc2lzdGFudFJlcXVlc3QsXG4gICAgQnVpbGREZWZhdWx0QXNzaXN0YW50UmVzcG9uc2UsXG4gICAgU2V0QXNzaXN0YW50Q29ubmVjdGlvbnNSZXF1ZXN0Q29ubmVjdGlvblN0YXRlLFxuICAgIENyZWF0ZUFzc2lzdGFudFJlcXVlc3QsXG4gICAgQ3JlYXRlQXNzaXN0YW50UmVzcG9uc2UsXG4gICAgQ3JlYXRlR29hbFJlcXVlc3QsXG4gICAgQ3JlYXRlR29hbFJlc3BvbnNlLFxuICAgIENyZWF0ZVByb21wdE1vZHVsZVJlcXVlc3QsXG4gICAgQ3JlYXRlUHJvbXB0TW9kdWxlUmVzcG9uc2UsXG4gICAgQ3JlYXRlUHJvbXB0TW9kdWxlVmVyc2lvblJlcXVlc3QsXG4gICAgQ3JlYXRlUHJvbXB0UmVxdWVzdCxcbiAgICBEZWxldGVBc3Npc3RhbnRSZXF1ZXN0LFxuICAgIERlbGV0ZUNvbm5lY3Rpb25SZXF1ZXN0LFxuICAgIERlbGV0ZUZ1bmN0aW9uUmVxdWVzdCxcbiAgICBEZWxldGVHb2FsUmVxdWVzdCxcbiAgICBEZWxldGVQcm9tcHRNb2R1bGVSZXF1ZXN0LFxuICAgIERlbGV0ZVByb21wdFJlcXVlc3QsXG4gICAgRGVwbG95UHJvbXB0TW9kdWxlUmVxdWVzdCxcbiAgICBEZXBsb3lQcm9tcHRSZXF1ZXN0LFxuICAgIEV4ZWN1dGVGdW5jdGlvblJlcXVlc3QsXG4gICAgRXhlY3V0ZUZ1bmN0aW9uUmVzcG9uc2UsXG4gICAgTGlzdEFsbEFzc2lzdGFudHNBc3NvY2lhdGVkVG9Db25uZWN0aW9uUmVxdWVzdEZpbHRlcnMsXG4gICAgTGlzdENvbm5lY3Rpb25zUmVxdWVzdEZpbHRlcnMsXG4gICAgTGlzdFByb21wdE1vZHVsZVJlcXVlc3RGaWx0ZXJzLFxuICAgIExpc3RHb2Fsc1JlcXVlc3RGaWx0ZXJzLFxuICAgIExpc3RBdmFpbGFibGVNb2RlbHNSZXF1ZXN0RmlsdGVycyxcbiAgICBMaXN0RnVuY3Rpb25SZXF1ZXN0RmlsdGVycyxcbiAgICBMaXN0QXNzaXN0YW50UmVxdWVzdEZpbHRlcnMsXG4gICAgR2VuZXJhdGVDaGF0QW5zd2VyUmVxdWVzdCxcbiAgICBHZW5lcmF0ZUNoYXRBbnN3ZXJSZXNwb25zZSxcbiAgICBHZXRBc3Npc3RhbnRSZXF1ZXN0LFxuICAgIEdldEFzc2lzdGFudFJlc3BvbnNlLFxuICAgIEdldENoYXRBbnN3ZXJGdW5jdGlvbkV4ZWN1dGlvbkpvYlJlcXVlc3QsXG4gICAgR2V0Q2hhdEFuc3dlckZ1bmN0aW9uRXhlY3V0aW9uSm9iUmVzcG9uc2UsXG4gICAgR2V0Q29ubmVjdGlvblJlcXVlc3QsXG4gICAgR2V0Q29ubmVjdGlvblJlc3BvbnNlLFxuICAgIEdldERlcGxveWVkUHJvbXB0TW9kdWxlVmVyc2lvblJlcXVlc3QsXG4gICAgR2V0RGVwbG95ZWRQcm9tcHRNb2R1bGVWZXJzaW9uUmVzcG9uc2UsXG4gICAgR2V0RGVwbG95ZWRQcm9tcHRWZXJzaW9uUmVxdWVzdCxcbiAgICBHZXREZXBsb3llZFByb21wdFZlcnNpb25SZXNwb25zZSxcbiAgICBHZXRGdW5jdGlvblJlcXVlc3QsXG4gICAgR2V0RnVuY3Rpb25SZXNwb25zZSxcbiAgICBHZXRHb2FsUmVxdWVzdCxcbiAgICBHZXRHb2FsUmVzcG9uc2UsXG4gICAgR2V0SHlkcmF0ZWREZXBsb3llZFByb21wdE1vZHVsZVZlcnNpb25SZXF1ZXN0LFxuICAgIEdldEh5ZHJhdGVkRGVwbG95ZWRQcm9tcHRNb2R1bGVWZXJzaW9uUmVzcG9uc2UsXG4gICAgR2V0TXVsdGlBc3Npc3RhbnRSZXF1ZXN0LFxuICAgIEdldE11bHRpQXNzaXN0YW50UmVzcG9uc2UsXG4gICAgR2V0TXVsdGlEZXBsb3llZFByb21wdFZlcnNpb25SZXF1ZXN0LFxuICAgIEdldE11bHRpRGVwbG95ZWRQcm9tcHRWZXJzaW9uUmVzcG9uc2UsXG4gICAgR2V0TXVsdGlGdW5jdGlvblJlcXVlc3QsXG4gICAgR2V0TXVsdGlGdW5jdGlvblJlc3BvbnNlLFxuICAgIEdldE11bHRpR29hbFJlcXVlc3QsXG4gICAgR2V0TXVsdGlHb2FsUmVzcG9uc2UsXG4gICAgR2V0TXVsdGlIeWRyYXRlZERlcGxveWVkUHJvbXB0TW9kdWxlVmVyc2lvblJlcXVlc3QsXG4gICAgR2V0TXVsdGlIeWRyYXRlZERlcGxveWVkUHJvbXB0TW9kdWxlVmVyc2lvblJlc3BvbnNlLFxuICAgIEdldFByb21wdE1vZHVsZVJlcXVlc3QsXG4gICAgR2V0UHJvbXB0TW9kdWxlUmVzcG9uc2UsXG4gICAgR2V0UHJvbXB0TW9kdWxlVmVyc2lvblJlcXVlc3QsXG4gICAgR2V0UHJvbXB0TW9kdWxlVmVyc2lvblJlc3BvbnNlLFxuICAgIEdldFByb21wdFJlcXVlc3QsXG4gICAgR2V0UHJvbXB0UmVzcG9uc2UsXG4gICAgR2V0UHJvbXB0VmVyc2lvblJlcXVlc3QsXG4gICAgR2V0UHJvbXB0VmVyc2lvblJlc3BvbnNlLFxuICAgIEdvYWxzRGlzYWJsZWRGb3JBY2NvdW50R3JvdXBSZXF1ZXN0LFxuICAgIEdvYWxzRGlzYWJsZWRGb3JBY2NvdW50R3JvdXBSZXNwb25zZSxcbiAgICBMaXN0QWxsQXNzaXN0YW50c0Fzc29jaWF0ZWRUb0Nvbm5lY3Rpb25SZXF1ZXN0LFxuICAgIExpc3RBbGxBc3Npc3RhbnRzQXNzb2NpYXRlZFRvQ29ubmVjdGlvblJlc3BvbnNlLFxuICAgIExpc3RBc3Npc3RhbnRSZXF1ZXN0LFxuICAgIExpc3RBc3Npc3RhbnRSZXNwb25zZSxcbiAgICBMaXN0QXZhaWxhYmxlTW9kZWxzUmVxdWVzdCxcbiAgICBMaXN0QXZhaWxhYmxlTW9kZWxzUmVzcG9uc2UsXG4gICAgTGlzdENvbm5lY3Rpb25zUmVxdWVzdCxcbiAgICBMaXN0Q29ubmVjdGlvbnNSZXNwb25zZSxcbiAgICBMaXN0RnVuY3Rpb25SZXF1ZXN0LFxuICAgIExpc3RGdW5jdGlvblJlc3BvbnNlLFxuICAgIExpc3RHb2Fsc1JlcXVlc3QsXG4gICAgTGlzdEdvYWxzUmVzcG9uc2UsXG4gICAgTGlzdFByb21wdE1vZHVsZVJlcXVlc3QsXG4gICAgTGlzdFByb21wdE1vZHVsZVJlc3BvbnNlLFxuICAgIExpc3RQcm9tcHRNb2R1bGVWZXJzaW9uc1JlcXVlc3QsXG4gICAgTGlzdFByb21wdE1vZHVsZVZlcnNpb25zUmVzcG9uc2UsXG4gICAgTGlzdFByb21wdFJlcXVlc3QsXG4gICAgTGlzdFByb21wdFJlc3BvbnNlLFxuICAgIExpc3RQcm9tcHRWZXJzaW9uc1JlcXVlc3QsXG4gICAgTGlzdFByb21wdFZlcnNpb25zUmVzcG9uc2UsXG4gICAgR2VuZXJhdGVDaGF0QW5zd2VyUmVxdWVzdE9wdGlvbnMsXG4gICAgR2V0TXVsdGlBc3Npc3RhbnRSZXF1ZXN0T3B0aW9ucyxcbiAgICBDcmVhdGVQcm9tcHRNb2R1bGVWZXJzaW9uUmVxdWVzdE9wdGlvbnMsXG4gICAgVXBzZXJ0QXNzaXN0YW50UmVxdWVzdE9wdGlvbnMsXG4gICAgQ3JlYXRlQXNzaXN0YW50UmVxdWVzdE9wdGlvbnMsXG4gICAgR2V0QXNzaXN0YW50UmVxdWVzdE9wdGlvbnMsXG4gICAgU2V0QXNzaXN0YW50Q29ubmVjdGlvbnNSZXF1ZXN0LFxuICAgIExpc3RHb2Fsc1JlcXVlc3RTb3J0T3B0aW9ucyxcbiAgICBVcGRhdGVBc3Npc3RhbnRSZXF1ZXN0LFxuICAgIFVwZGF0ZUdvYWxSZXF1ZXN0LFxuICAgIFVwZGF0ZVByb21wdE1vZHVsZVJlcXVlc3QsXG4gICAgVXBkYXRlUHJvbXB0UmVxdWVzdCxcbiAgICBVcHNlcnRBc3Npc3RhbnRSZXF1ZXN0LFxuICAgIFVwc2VydEFzc2lzdGFudFJlc3BvbnNlLFxuICAgIFVwc2VydENvbm5lY3Rpb25SZXF1ZXN0LFxuICAgIFVwc2VydEZ1bmN0aW9uUmVxdWVzdCxcbiAgICBVcHNlcnRHb2FsUmVxdWVzdCxcbiAgICBWYWxpZGF0ZVByb21wdE1vZHVsZVJlcXVlc3QsXG4gICAgVmFsaWRhdGVQcm9tcHRNb2R1bGVSZXNwb25zZSxcbn0gZnJvbSAnLi9hcGknO1xuXG4iXX0=
|
|
21
|
+
export { BuildDefaultAssistantRequest, BuildDefaultAssistantResponse, SetAssistantConnectionsRequestConnectionState, CreateAssistantRequest, CreateAssistantResponse, CreateGoalRequest, CreateGoalResponse, CreatePromptModuleRequest, CreatePromptModuleResponse, CreatePromptModuleVersionRequest, CreatePromptRequest, DeleteAssistantRequest, DeleteConnectionRequest, DeleteFunctionRequest, DeleteGoalRequest, DeletePromptModuleRequest, DeletePromptRequest, DeployPromptModuleRequest, DeployPromptRequest, ExecuteFunctionRequest, ExecuteFunctionResponse, ListAssistantRequestFilters, ListGoalsRequestFilters, ListConnectionsRequestFilters, ListPromptModuleRequestFilters, ListAvailableModelsRequestFilters, ListAllAssistantsAssociatedToConnectionRequestFilters, ListFunctionRequestFilters, GenerateChatAnswerRequest, GenerateChatAnswerResponse, GetAssistantRequest, GetAssistantResponse, GetChatAnswerFunctionExecutionJobRequest, GetChatAnswerFunctionExecutionJobResponse, GetConnectionRequest, GetConnectionResponse, GetDeployedPromptModuleVersionRequest, GetDeployedPromptModuleVersionResponse, GetDeployedPromptVersionRequest, GetDeployedPromptVersionResponse, GetFunctionRequest, GetFunctionResponse, GetGoalRequest, GetGoalResponse, GetHydratedDeployedPromptModuleVersionRequest, GetHydratedDeployedPromptModuleVersionResponse, GetMultiAssistantRequest, GetMultiAssistantResponse, GetMultiDeployedPromptVersionRequest, GetMultiDeployedPromptVersionResponse, GetMultiFunctionRequest, GetMultiFunctionResponse, GetMultiGoalRequest, GetMultiGoalResponse, GetMultiHydratedDeployedPromptModuleVersionRequest, GetMultiHydratedDeployedPromptModuleVersionResponse, GetPromptModuleRequest, GetPromptModuleResponse, GetPromptModuleVersionRequest, GetPromptModuleVersionResponse, GetPromptRequest, GetPromptResponse, GetPromptVersionRequest, GetPromptVersionResponse, GoalsDisabledForAccountGroupRequest, GoalsDisabledForAccountGroupResponse, ListAllAssistantsAssociatedToConnectionRequest, ListAllAssistantsAssociatedToConnectionResponse, ListAssistantRequest, ListAssistantResponse, ListAvailableModelsRequest, ListAvailableModelsResponse, ListConnectionsRequest, ListConnectionsResponse, ListFunctionRequest, ListFunctionResponse, ListGoalsRequest, ListGoalsResponse, ListPromptModuleRequest, ListPromptModuleResponse, ListPromptModuleVersionsRequest, ListPromptModuleVersionsResponse, ListPromptRequest, ListPromptResponse, ListPromptVersionsRequest, ListPromptVersionsResponse, ListTemplateVariablesRequest, ListTemplateVariablesResponse, CreatePromptModuleVersionRequestOptions, UpsertAssistantRequestOptions, GenerateChatAnswerRequestOptions, GetAssistantRequestOptions, GetMultiAssistantRequestOptions, CreateAssistantRequestOptions, SetAssistantConnectionsRequest, ListGoalsRequestSortOptions, UpdateAssistantRequest, UpdateGoalRequest, UpdatePromptModuleRequest, UpdatePromptRequest, UpsertAssistantRequest, UpsertAssistantResponse, UpsertConnectionRequest, UpsertFunctionRequest, UpsertGoalRequest, ValidatePromptModuleRequest, ValidatePromptModuleResponse, } from './api';
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9haV9hc3Npc3RhbnRzX3Nkay9zcmMvbGliL19pbnRlcm5hbC9vYmplY3RzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG9DQUFvQztBQUNwQywyQkFBMkI7QUFDM0IsZ0JBQWdCO0FBQ2hCLEVBQUU7QUFDRixpQkFBaUI7QUFDakIsb0NBQW9DO0FBQ3BDLE9BQU8sRUFDSCw4QkFBOEIsRUFDOUIsd0JBQXdCLEVBQ3hCLFNBQVMsRUFDVCx5QkFBeUIsRUFDekIsd0JBQXdCLEdBQzNCLE1BQU0sYUFBYSxDQUFDO0FBRXJCLE9BQU8sRUFDSCxVQUFVLEVBQ1YsZ0JBQWdCLEVBQ2hCLEtBQUssR0FDUixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQ0gsbUJBQW1CLEVBQ25CLHFCQUFxQixHQUN4QixNQUFNLFVBQVUsQ0FBQztBQUVsQixPQUFPLEVBQ0gsb0RBQW9ELEVBQ3BELCtCQUErQixFQUMvQixnQkFBZ0IsRUFDaEIsc0JBQXNCLEVBQ3RCLFFBQVEsRUFDUixvQkFBb0IsRUFDcEIsY0FBYyxFQUNkLFdBQVcsRUFDWCxpQkFBaUIsRUFDakIsNkNBQTZDLEVBQzdDLG1CQUFtQixFQUNuQixvQkFBb0IsRUFDcEIsZUFBZSxFQUNmLGdCQUFnQixFQUNoQixHQUFHLEVBQ0gsdURBQXVELEVBQ3ZELG1EQUFtRCxFQUNuRCxnQkFBZ0IsR0FDbkIsTUFBTSxZQUFZLENBQUM7QUFFcEIsT0FBTyxFQUNILE1BQU0sRUFDTixZQUFZLEVBQ1osZUFBZSxFQUNmLG1CQUFtQixFQUNuQixhQUFhLEdBQ2hCLE1BQU0sVUFBVSxDQUFDO0FBRWxCLE9BQU8sRUFDSCxJQUFJLEVBQ0osT0FBTyxHQUNWLE1BQU0sUUFBUSxDQUFDO0FBRWhCLE9BQU8sRUFDSCxZQUFZLEdBQ2YsTUFBTSxVQUFVLENBQUM7QUFFbEIsT0FBTyxFQUNILEtBQUssR0FDUixNQUFNLFNBQVMsQ0FBQztBQUVqQixPQUFPLEVBQ0gsU0FBUyxFQUNULFlBQVksRUFDWixNQUFNLEVBQ04sZ0JBQWdCLEVBQ2hCLGNBQWMsRUFDZCxnQkFBZ0IsRUFDaEIsaUJBQWlCLEVBQ2pCLFdBQVcsRUFDWCxvQkFBb0IsRUFDcEIsZ0JBQWdCLEVBQ2hCLGlDQUFpQyxFQUNqQyxpQkFBaUIsR0FDcEIsTUFBTSxhQUFhLENBQUM7QUFFckIsT0FBTyxFQUNILFVBQVUsRUFDVixhQUFhLEdBQ2hCLE1BQU0sY0FBYyxDQUFDO0FBRXRCLE9BQU8sRUFDSCw4QkFBOEIsRUFDOUIsb0NBQW9DLEVBQ3BDLFdBQVcsRUFDWCxXQUFXLEVBQ1gsWUFBWSxFQUNaLFdBQVcsRUFDWCxZQUFZLEdBQ2YsTUFBTSxVQUFVLENBQUM7QUFFbEIsT0FBTyxFQUNILG9CQUFvQixFQUNwQixrQkFBa0IsRUFDbEIsc0JBQXNCLEVBQ3RCLGlCQUFpQixFQUNqQixrQkFBa0IsRUFDbEIsK0JBQStCLEVBQy9CLGdDQUFnQyxFQUNoQyw4QkFBOEIsRUFDOUIsK0JBQStCLEVBQy9CLGVBQWUsRUFDZixnQkFBZ0IsRUFDaEIsV0FBVyxFQUNYLFFBQVEsRUFDUixVQUFVLEVBQ1YsT0FBTyxFQUNQLHNCQUFzQixHQUN6QixNQUFNLHFCQUFxQixDQUFDO0FBRTdCLE9BQU8sRUFDSCxNQUFNLEVBQ04sVUFBVSxHQUNiLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFDSCxTQUFTLEdBQ1osTUFBTSxjQUFjLENBQUM7QUFFdEIsT0FBTyxFQUNILDRCQUE0QixFQUM1Qiw2QkFBNkIsRUFDN0IsNkNBQTZDLEVBQzdDLHNCQUFzQixFQUN0Qix1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLGtCQUFrQixFQUNsQix5QkFBeUIsRUFDekIsMEJBQTBCLEVBQzFCLGdDQUFnQyxFQUNoQyxtQkFBbUIsRUFDbkIsc0JBQXNCLEVBQ3RCLHVCQUF1QixFQUN2QixxQkFBcUIsRUFDckIsaUJBQWlCLEVBQ2pCLHlCQUF5QixFQUN6QixtQkFBbUIsRUFDbkIseUJBQXlCLEVBQ3pCLG1CQUFtQixFQUNuQixzQkFBc0IsRUFDdEIsdUJBQXVCLEVBQ3ZCLDJCQUEyQixFQUMzQix1QkFBdUIsRUFDdkIsNkJBQTZCLEVBQzdCLDhCQUE4QixFQUM5QixpQ0FBaUMsRUFDakMscURBQXFELEVBQ3JELDBCQUEwQixFQUMxQix5QkFBeUIsRUFDekIsMEJBQTBCLEVBQzFCLG1CQUFtQixFQUNuQixvQkFBb0IsRUFDcEIsd0NBQXdDLEVBQ3hDLHlDQUF5QyxFQUN6QyxvQkFBb0IsRUFDcEIscUJBQXFCLEVBQ3JCLHFDQUFxQyxFQUNyQyxzQ0FBc0MsRUFDdEMsK0JBQStCLEVBQy9CLGdDQUFnQyxFQUNoQyxrQkFBa0IsRUFDbEIsbUJBQW1CLEVBQ25CLGNBQWMsRUFDZCxlQUFlLEVBQ2YsNkNBQTZDLEVBQzdDLDhDQUE4QyxFQUM5Qyx3QkFBd0IsRUFDeEIseUJBQXlCLEVBQ3pCLG9DQUFvQyxFQUNwQyxxQ0FBcUMsRUFDckMsdUJBQXVCLEVBQ3ZCLHdCQUF3QixFQUN4QixtQkFBbUIsRUFDbkIsb0JBQW9CLEVBQ3BCLGtEQUFrRCxFQUNsRCxtREFBbUQsRUFDbkQsc0JBQXNCLEVBQ3RCLHVCQUF1QixFQUN2Qiw2QkFBNkIsRUFDN0IsOEJBQThCLEVBQzlCLGdCQUFnQixFQUNoQixpQkFBaUIsRUFDakIsdUJBQXVCLEVBQ3ZCLHdCQUF3QixFQUN4QixtQ0FBbUMsRUFDbkMsb0NBQW9DLEVBQ3BDLDhDQUE4QyxFQUM5QywrQ0FBK0MsRUFDL0Msb0JBQW9CLEVBQ3BCLHFCQUFxQixFQUNyQiwwQkFBMEIsRUFDMUIsMkJBQTJCLEVBQzNCLHNCQUFzQixFQUN0Qix1QkFBdUIsRUFDdkIsbUJBQW1CLEVBQ25CLG9CQUFvQixFQUNwQixnQkFBZ0IsRUFDaEIsaUJBQWlCLEVBQ2pCLHVCQUF1QixFQUN2Qix3QkFBd0IsRUFDeEIsK0JBQStCLEVBQy9CLGdDQUFnQyxFQUNoQyxpQkFBaUIsRUFDakIsa0JBQWtCLEVBQ2xCLHlCQUF5QixFQUN6QiwwQkFBMEIsRUFDMUIsNEJBQTRCLEVBQzVCLDZCQUE2QixFQUM3Qix1Q0FBdUMsRUFDdkMsNkJBQTZCLEVBQzdCLGdDQUFnQyxFQUNoQywwQkFBMEIsRUFDMUIsK0JBQStCLEVBQy9CLDZCQUE2QixFQUM3Qiw4QkFBOEIsRUFDOUIsMkJBQTJCLEVBQzNCLHNCQUFzQixFQUN0QixpQkFBaUIsRUFDakIseUJBQXlCLEVBQ3pCLG1CQUFtQixFQUNuQixzQkFBc0IsRUFDdEIsdUJBQXVCLEVBQ3ZCLHVCQUF1QixFQUN2QixxQkFBcUIsRUFDckIsaUJBQWlCLEVBQ2pCLDJCQUEyQixFQUMzQiw0QkFBNEIsR0FDL0IsTUFBTSxPQUFPLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIENvZGUgZ2VuZXJhdGVkIGJ5IHNka2dlblxuLy8gRE8gTk9UIEVESVQhLlxuLy9cbi8vIE9iamVjdHMgSW5kZXguXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbmV4cG9ydCB7XG4gICAgTmFtZXNwYWNlQWNjb3VudEdyb3VwTmFtZXNwYWNlLFxuICAgIE5hbWVzcGFjZUdsb2JhbE5hbWVzcGFjZSxcbiAgICBOYW1lc3BhY2UsXG4gICAgTmFtZXNwYWNlUGFydG5lck5hbWVzcGFjZSxcbiAgICBOYW1lc3BhY2VTeXN0ZW1OYW1lc3BhY2UsXG59IGZyb20gJy4vbmFtZXNwYWNlJztcblxuZXhwb3J0IHtcbiAgICBDb25zdHJhaW50LFxuICAgIENvbnN0cmFpbnRGaWx0ZXIsXG4gICAgU2NvcGUsXG59IGZyb20gJy4vY29uc3RyYWludHMnO1xuXG5leHBvcnQge1xuICAgIFBhZ2VkUmVxdWVzdE9wdGlvbnMsXG4gICAgUGFnZWRSZXNwb25zZU1ldGFkYXRhLFxufSBmcm9tICcuL3BhZ2luZyc7XG5cbmV4cG9ydCB7XG4gICAgRnVuY3Rpb25BdXRoU3RyYXRlZ3lDb25uZWN0ZWRJbnRlZ3JhdGlvbkF1dGhTdHJhdGVneSxcbiAgICBDcmVhdGVNQ1BGcm9tSW50ZWdyYXRpb25SZXF1ZXN0LFxuICAgIERlbGV0ZU1DUFJlcXVlc3QsXG4gICAgTGlzdE1DUHNSZXF1ZXN0RmlsdGVycyxcbiAgICBGdW5jdGlvbixcbiAgICBGdW5jdGlvbkF1dGhTdHJhdGVneSxcbiAgICBGdW5jdGlvbkhlYWRlcixcbiAgICBGdW5jdGlvbktleSxcbiAgICBGdW5jdGlvblBhcmFtZXRlcixcbiAgICBGdW5jdGlvbkF1dGhTdHJhdGVneUltcGVyc29uYXRpb25BdXRoU3RyYXRlZ3ksXG4gICAgTGlzdE1DUFRvb2xzUmVxdWVzdCxcbiAgICBMaXN0TUNQVG9vbHNSZXNwb25zZSxcbiAgICBMaXN0TUNQc1JlcXVlc3QsXG4gICAgTGlzdE1DUHNSZXNwb25zZSxcbiAgICBNQ1AsXG4gICAgRnVuY3Rpb25BdXRoU3RyYXRlZ3lQbGF0Zm9ybU1hbmFnZWRGdW5jdGlvbkF1dGhTdHJhdGVneSxcbiAgICBGdW5jdGlvbkF1dGhTdHJhdGVneVVuc3BlY2lmaWVkRnVuY3Rpb25BdXRoU3RyYXRlZ3ksXG4gICAgVXBzZXJ0TUNQUmVxdWVzdCxcbn0gZnJvbSAnLi9mdW5jdGlvbic7XG5cbmV4cG9ydCB7XG4gICAgUHJvbXB0LFxuICAgIFByb21wdE1vZHVsZSxcbiAgICBQcm9tcHRNb2R1bGVLZXksXG4gICAgUHJvbXB0TW9kdWxlVmVyc2lvbixcbiAgICBQcm9tcHRWZXJzaW9uLFxufSBmcm9tICcuL3Byb21wdCc7XG5cbmV4cG9ydCB7XG4gICAgR29hbCxcbiAgICBHb2FsS2V5LFxufSBmcm9tICcuL2dvYWwnO1xuXG5leHBvcnQge1xuICAgIEtleVZhbHVlUGFpcixcbn0gZnJvbSAnLi9jb21tb24nO1xuXG5leHBvcnQge1xuICAgIE1vZGVsLFxufSBmcm9tICcuL21vZGVsJztcblxuZXhwb3J0IHtcbiAgICBBc3Npc3RhbnQsXG4gICAgQXNzaXN0YW50S2V5LFxuICAgIENvbmZpZyxcbiAgICBDb25maWd1cmFibGVHb2FsLFxuICAgIERlZXBncmFtQ29uZmlnLFxuICAgIEVsZXZlbkxhYnNDb25maWcsXG4gICAgQ29uZmlnSW5ib3hDb25maWcsXG4gICAgTW9kZWxDb25maWcsXG4gICAgT3BlbkFJUmVhbHRpbWVDb25maWcsXG4gICAgVGVtcGxhdGVWYXJpYWJsZSxcbiAgICBPcGVuQUlSZWFsdGltZUNvbmZpZ1R1cm5EZXRlY3Rpb24sXG4gICAgQ29uZmlnVm9pY2VDb25maWcsXG59IGZyb20gJy4vYXNzaXN0YW50JztcblxuZXhwb3J0IHtcbiAgICBDb25uZWN0aW9uLFxuICAgIENvbm5lY3Rpb25LZXksXG59IGZyb20gJy4vY29ubmVjdGlvbic7XG5cbmV4cG9ydCB7XG4gICAgQ2hhdEFuc3dlckZ1bmN0aW9uRXhlY3V0aW9uSm9iLFxuICAgIENoYXRBbnN3ZXJGdW5jdGlvbkV4ZWN1dGlvbkpvYlJlc3VsdCxcbiAgICBDaGF0Q29udGVudCxcbiAgICBDaGF0TWVzc2FnZSxcbiAgICBDaGF0VXNlckluZm8sXG4gICAgQ29udGV4dEluZm8sXG4gICAgSW1hZ2VDb250ZW50LFxufSBmcm9tICcuL2Fuc3dlcic7XG5cbmV4cG9ydCB7XG4gICAgQ2FuY2VsVGVzdFJ1blJlcXVlc3QsXG4gICAgVGVzdFJlc3VsdENpdGF0aW9uLFxuICAgIERlbGV0ZVRlc3RDYXNlc1JlcXVlc3QsXG4gICAgR2V0VGVzdFJ1blJlcXVlc3QsXG4gICAgR2V0VGVzdFJ1blJlc3BvbnNlLFxuICAgIExpc3RUZXN0Q2FzZXNCeUFzc2lzdGFudFJlcXVlc3QsXG4gICAgTGlzdFRlc3RDYXNlc0J5QXNzaXN0YW50UmVzcG9uc2UsXG4gICAgTGlzdFRlc3RSdW5zQnlBc3Npc3RhbnRSZXF1ZXN0LFxuICAgIExpc3RUZXN0UnVuc0J5QXNzaXN0YW50UmVzcG9uc2UsXG4gICAgUnVuVGVzdHNSZXF1ZXN0LFxuICAgIFJ1blRlc3RzUmVzcG9uc2UsXG4gICAgU29ydE9wdGlvbnMsXG4gICAgVGVzdENhc2UsXG4gICAgVGVzdFJlc3VsdCxcbiAgICBUZXN0UnVuLFxuICAgIFVwc2VydFRlc3RDYXNlc1JlcXVlc3QsXG59IGZyb20gJy4vaW50ZWdyYXRpb24tdGVzdHMnO1xuXG5leHBvcnQge1xuICAgIEFjY2VzcyxcbiAgICBNQ1BPcHRpb25zLFxufSBmcm9tICcuL2Fubm90YXRpb25zJztcblxuZXhwb3J0IHtcbiAgICBGaWVsZE1hc2ssXG59IGZyb20gJy4vZmllbGQtbWFzayc7XG5cbmV4cG9ydCB7XG4gICAgQnVpbGREZWZhdWx0QXNzaXN0YW50UmVxdWVzdCxcbiAgICBCdWlsZERlZmF1bHRBc3Npc3RhbnRSZXNwb25zZSxcbiAgICBTZXRBc3Npc3RhbnRDb25uZWN0aW9uc1JlcXVlc3RDb25uZWN0aW9uU3RhdGUsXG4gICAgQ3JlYXRlQXNzaXN0YW50UmVxdWVzdCxcbiAgICBDcmVhdGVBc3Npc3RhbnRSZXNwb25zZSxcbiAgICBDcmVhdGVHb2FsUmVxdWVzdCxcbiAgICBDcmVhdGVHb2FsUmVzcG9uc2UsXG4gICAgQ3JlYXRlUHJvbXB0TW9kdWxlUmVxdWVzdCxcbiAgICBDcmVhdGVQcm9tcHRNb2R1bGVSZXNwb25zZSxcbiAgICBDcmVhdGVQcm9tcHRNb2R1bGVWZXJzaW9uUmVxdWVzdCxcbiAgICBDcmVhdGVQcm9tcHRSZXF1ZXN0LFxuICAgIERlbGV0ZUFzc2lzdGFudFJlcXVlc3QsXG4gICAgRGVsZXRlQ29ubmVjdGlvblJlcXVlc3QsXG4gICAgRGVsZXRlRnVuY3Rpb25SZXF1ZXN0LFxuICAgIERlbGV0ZUdvYWxSZXF1ZXN0LFxuICAgIERlbGV0ZVByb21wdE1vZHVsZVJlcXVlc3QsXG4gICAgRGVsZXRlUHJvbXB0UmVxdWVzdCxcbiAgICBEZXBsb3lQcm9tcHRNb2R1bGVSZXF1ZXN0LFxuICAgIERlcGxveVByb21wdFJlcXVlc3QsXG4gICAgRXhlY3V0ZUZ1bmN0aW9uUmVxdWVzdCxcbiAgICBFeGVjdXRlRnVuY3Rpb25SZXNwb25zZSxcbiAgICBMaXN0QXNzaXN0YW50UmVxdWVzdEZpbHRlcnMsXG4gICAgTGlzdEdvYWxzUmVxdWVzdEZpbHRlcnMsXG4gICAgTGlzdENvbm5lY3Rpb25zUmVxdWVzdEZpbHRlcnMsXG4gICAgTGlzdFByb21wdE1vZHVsZVJlcXVlc3RGaWx0ZXJzLFxuICAgIExpc3RBdmFpbGFibGVNb2RlbHNSZXF1ZXN0RmlsdGVycyxcbiAgICBMaXN0QWxsQXNzaXN0YW50c0Fzc29jaWF0ZWRUb0Nvbm5lY3Rpb25SZXF1ZXN0RmlsdGVycyxcbiAgICBMaXN0RnVuY3Rpb25SZXF1ZXN0RmlsdGVycyxcbiAgICBHZW5lcmF0ZUNoYXRBbnN3ZXJSZXF1ZXN0LFxuICAgIEdlbmVyYXRlQ2hhdEFuc3dlclJlc3BvbnNlLFxuICAgIEdldEFzc2lzdGFudFJlcXVlc3QsXG4gICAgR2V0QXNzaXN0YW50UmVzcG9uc2UsXG4gICAgR2V0Q2hhdEFuc3dlckZ1bmN0aW9uRXhlY3V0aW9uSm9iUmVxdWVzdCxcbiAgICBHZXRDaGF0QW5zd2VyRnVuY3Rpb25FeGVjdXRpb25Kb2JSZXNwb25zZSxcbiAgICBHZXRDb25uZWN0aW9uUmVxdWVzdCxcbiAgICBHZXRDb25uZWN0aW9uUmVzcG9uc2UsXG4gICAgR2V0RGVwbG95ZWRQcm9tcHRNb2R1bGVWZXJzaW9uUmVxdWVzdCxcbiAgICBHZXREZXBsb3llZFByb21wdE1vZHVsZVZlcnNpb25SZXNwb25zZSxcbiAgICBHZXREZXBsb3llZFByb21wdFZlcnNpb25SZXF1ZXN0LFxuICAgIEdldERlcGxveWVkUHJvbXB0VmVyc2lvblJlc3BvbnNlLFxuICAgIEdldEZ1bmN0aW9uUmVxdWVzdCxcbiAgICBHZXRGdW5jdGlvblJlc3BvbnNlLFxuICAgIEdldEdvYWxSZXF1ZXN0LFxuICAgIEdldEdvYWxSZXNwb25zZSxcbiAgICBHZXRIeWRyYXRlZERlcGxveWVkUHJvbXB0TW9kdWxlVmVyc2lvblJlcXVlc3QsXG4gICAgR2V0SHlkcmF0ZWREZXBsb3llZFByb21wdE1vZHVsZVZlcnNpb25SZXNwb25zZSxcbiAgICBHZXRNdWx0aUFzc2lzdGFudFJlcXVlc3QsXG4gICAgR2V0TXVsdGlBc3Npc3RhbnRSZXNwb25zZSxcbiAgICBHZXRNdWx0aURlcGxveWVkUHJvbXB0VmVyc2lvblJlcXVlc3QsXG4gICAgR2V0TXVsdGlEZXBsb3llZFByb21wdFZlcnNpb25SZXNwb25zZSxcbiAgICBHZXRNdWx0aUZ1bmN0aW9uUmVxdWVzdCxcbiAgICBHZXRNdWx0aUZ1bmN0aW9uUmVzcG9uc2UsXG4gICAgR2V0TXVsdGlHb2FsUmVxdWVzdCxcbiAgICBHZXRNdWx0aUdvYWxSZXNwb25zZSxcbiAgICBHZXRNdWx0aUh5ZHJhdGVkRGVwbG95ZWRQcm9tcHRNb2R1bGVWZXJzaW9uUmVxdWVzdCxcbiAgICBHZXRNdWx0aUh5ZHJhdGVkRGVwbG95ZWRQcm9tcHRNb2R1bGVWZXJzaW9uUmVzcG9uc2UsXG4gICAgR2V0UHJvbXB0TW9kdWxlUmVxdWVzdCxcbiAgICBHZXRQcm9tcHRNb2R1bGVSZXNwb25zZSxcbiAgICBHZXRQcm9tcHRNb2R1bGVWZXJzaW9uUmVxdWVzdCxcbiAgICBHZXRQcm9tcHRNb2R1bGVWZXJzaW9uUmVzcG9uc2UsXG4gICAgR2V0UHJvbXB0UmVxdWVzdCxcbiAgICBHZXRQcm9tcHRSZXNwb25zZSxcbiAgICBHZXRQcm9tcHRWZXJzaW9uUmVxdWVzdCxcbiAgICBHZXRQcm9tcHRWZXJzaW9uUmVzcG9uc2UsXG4gICAgR29hbHNEaXNhYmxlZEZvckFjY291bnRHcm91cFJlcXVlc3QsXG4gICAgR29hbHNEaXNhYmxlZEZvckFjY291bnRHcm91cFJlc3BvbnNlLFxuICAgIExpc3RBbGxBc3Npc3RhbnRzQXNzb2NpYXRlZFRvQ29ubmVjdGlvblJlcXVlc3QsXG4gICAgTGlzdEFsbEFzc2lzdGFudHNBc3NvY2lhdGVkVG9Db25uZWN0aW9uUmVzcG9uc2UsXG4gICAgTGlzdEFzc2lzdGFudFJlcXVlc3QsXG4gICAgTGlzdEFzc2lzdGFudFJlc3BvbnNlLFxuICAgIExpc3RBdmFpbGFibGVNb2RlbHNSZXF1ZXN0LFxuICAgIExpc3RBdmFpbGFibGVNb2RlbHNSZXNwb25zZSxcbiAgICBMaXN0Q29ubmVjdGlvbnNSZXF1ZXN0LFxuICAgIExpc3RDb25uZWN0aW9uc1Jlc3BvbnNlLFxuICAgIExpc3RGdW5jdGlvblJlcXVlc3QsXG4gICAgTGlzdEZ1bmN0aW9uUmVzcG9uc2UsXG4gICAgTGlzdEdvYWxzUmVxdWVzdCxcbiAgICBMaXN0R29hbHNSZXNwb25zZSxcbiAgICBMaXN0UHJvbXB0TW9kdWxlUmVxdWVzdCxcbiAgICBMaXN0UHJvbXB0TW9kdWxlUmVzcG9uc2UsXG4gICAgTGlzdFByb21wdE1vZHVsZVZlcnNpb25zUmVxdWVzdCxcbiAgICBMaXN0UHJvbXB0TW9kdWxlVmVyc2lvbnNSZXNwb25zZSxcbiAgICBMaXN0UHJvbXB0UmVxdWVzdCxcbiAgICBMaXN0UHJvbXB0UmVzcG9uc2UsXG4gICAgTGlzdFByb21wdFZlcnNpb25zUmVxdWVzdCxcbiAgICBMaXN0UHJvbXB0VmVyc2lvbnNSZXNwb25zZSxcbiAgICBMaXN0VGVtcGxhdGVWYXJpYWJsZXNSZXF1ZXN0LFxuICAgIExpc3RUZW1wbGF0ZVZhcmlhYmxlc1Jlc3BvbnNlLFxuICAgIENyZWF0ZVByb21wdE1vZHVsZVZlcnNpb25SZXF1ZXN0T3B0aW9ucyxcbiAgICBVcHNlcnRBc3Npc3RhbnRSZXF1ZXN0T3B0aW9ucyxcbiAgICBHZW5lcmF0ZUNoYXRBbnN3ZXJSZXF1ZXN0T3B0aW9ucyxcbiAgICBHZXRBc3Npc3RhbnRSZXF1ZXN0T3B0aW9ucyxcbiAgICBHZXRNdWx0aUFzc2lzdGFudFJlcXVlc3RPcHRpb25zLFxuICAgIENyZWF0ZUFzc2lzdGFudFJlcXVlc3RPcHRpb25zLFxuICAgIFNldEFzc2lzdGFudENvbm5lY3Rpb25zUmVxdWVzdCxcbiAgICBMaXN0R29hbHNSZXF1ZXN0U29ydE9wdGlvbnMsXG4gICAgVXBkYXRlQXNzaXN0YW50UmVxdWVzdCxcbiAgICBVcGRhdGVHb2FsUmVxdWVzdCxcbiAgICBVcGRhdGVQcm9tcHRNb2R1bGVSZXF1ZXN0LFxuICAgIFVwZGF0ZVByb21wdFJlcXVlc3QsXG4gICAgVXBzZXJ0QXNzaXN0YW50UmVxdWVzdCxcbiAgICBVcHNlcnRBc3Npc3RhbnRSZXNwb25zZSxcbiAgICBVcHNlcnRDb25uZWN0aW9uUmVxdWVzdCxcbiAgICBVcHNlcnRGdW5jdGlvblJlcXVlc3QsXG4gICAgVXBzZXJ0R29hbFJlcXVlc3QsXG4gICAgVmFsaWRhdGVQcm9tcHRNb2R1bGVSZXF1ZXN0LFxuICAgIFZhbGlkYXRlUHJvbXB0TW9kdWxlUmVzcG9uc2UsXG59IGZyb20gJy4vYXBpJztcblxuIl19
|