@pipeline-builder/pipeline-core 3.4.99 → 3.4.101
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/lib/config/billing-config.js +86 -3
- package/lib/config/config-types.d.ts +27 -2
- package/lib/config/config-types.js +1 -1
- package/lib/config/infrastructure-config.d.ts +2 -2
- package/lib/config/infrastructure-config.js +3 -3
- package/lib/core/pipeline-types.d.ts +0 -4
- package/lib/core/pipeline-types.js +1 -1
- package/lib/index.d.ts +3 -7
- package/lib/index.js +4 -25
- package/lib/pipeline/pipeline-builder.d.ts +6 -0
- package/lib/pipeline/pipeline-builder.js +1 -1
- package/lib/pipeline/plugin-lookup.js +3 -3
- package/lib/template/index.d.ts +0 -7
- package/lib/template/index.js +1 -14
- package/lib/template/tokenizer.js +2 -2
- package/package.json +3 -3
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
*
|
|
14
14
|
* All defaults match the original hardcoded seed data for backward compatibility.
|
|
15
15
|
*/
|
|
16
|
-
import { QUOTA_TIERS } from '@pipeline-builder/api-core';
|
|
16
|
+
import { QUOTA_TIERS, isValidTier } from '@pipeline-builder/api-core';
|
|
17
17
|
// -- Default features ---------------------------------------------------------
|
|
18
18
|
// Derived from each tier's EFFECTIVE quota limits so the marketing copy stays
|
|
19
19
|
// honest when limits change (including via QUOTA_TIER_* env overrides). Per-tier
|
|
@@ -135,6 +135,89 @@ export function loadBillingConfig() {
|
|
|
135
135
|
sortOrder: 3,
|
|
136
136
|
},
|
|
137
137
|
];
|
|
138
|
-
return { plans };
|
|
138
|
+
return { plans, bundles: loadBundles() };
|
|
139
139
|
}
|
|
140
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmlsbGluZy1jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlnL2JpbGxpbmctY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtDQUErQztBQUMvQyxzQ0FBc0M7QUFFdEM7Ozs7Ozs7Ozs7OztHQVlHO0FBQ0gsT0FBTyxFQUFFLFdBQVcsRUFBa0IsTUFBTSw0QkFBNEIsQ0FBQztBQUd6RSxnRkFBZ0Y7QUFDaEYsOEVBQThFO0FBQzlFLGlGQUFpRjtBQUNqRix3REFBd0Q7QUFFeEQsd0ZBQXdGO0FBQ3hGLFNBQVMsU0FBUyxDQUFDLEtBQWEsRUFBRSxRQUFnQixFQUFFLE1BQWM7SUFDaEUsSUFBSSxLQUFLLEtBQUssQ0FBQyxDQUFDO1FBQUUsT0FBTyxhQUFhLE1BQU0sRUFBRSxDQUFDO0lBQy9DLE9BQU8sU0FBUyxLQUFLLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7QUFDckYsQ0FBQztBQUVELFNBQVMsZUFBZSxDQUFDLElBQWUsRUFBRSxLQUFlO0lBQ3ZELE1BQU0sQ0FBQyxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDbkMsT0FBTztRQUNMLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUM7UUFDbkMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLFNBQVMsQ0FBQztRQUN6QyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsV0FBVyxDQUFDO1FBQy9DLFNBQVMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLFVBQVUsRUFBRSxXQUFXLENBQUM7UUFDOUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsQ0FBQztR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OEJBQThCLEVBQUUsS0FBSyxDQUFDO2FBQ3BFO1lBQ0QsUUFBUSxFQUFFLGFBQWEsQ0FDckIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxnQ0FBZ0MsRUFDNUMsMkJBQTJCLENBQzVCO1lBQ0QsUUFBUSxFQUFFLElBQUk7WUFDZCxTQUFTLEVBQUUsS0FBSztZQUNoQixTQUFTLEVBQUUsQ0FBQztTQUNiO0tBQ0YsQ0FBQztJQUVGLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQztBQUNuQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IDIwMjYgUGlwZWxpbmUgQnVpbGRlciBDb250cmlidXRvcnNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbi8qKlxuICogTG9hZCBiaWxsaW5nIHBsYW4gY29uZmlndXJhdGlvbiBmcm9tIGVudmlyb25tZW50IHZhcmlhYmxlcy5cbiAqXG4gKiBQZXItcGxhbiBwcmljZXMgYXJlIHRoZSBtb3N0IGxpa2VseSB0byB2YXJ5IGJldHdlZW4gZW52aXJvbm1lbnRzOlxuICogICBCSUxMSU5HX1BMQU5fe1RJRVJ9X01PTlRITFkgLyBCSUxMSU5HX1BMQU5fe1RJRVJ9X0FOTlVBTCAgKGluIGNlbnRzKVxuICpcbiAqIE9wdGlvbmFsIG92ZXJyaWRlcyBmb3IgZGVzY3JpcHRpb25zIGFuZCBmZWF0dXJlczpcbiAqICAgQklMTElOR19QTEFOX3tUSUVSfV9OQU1FICAgICAgICAgIChwbGFpbiBzdHJpbmcsIGRpc3BsYXkgbmFtZSlcbiAqICAgQklMTElOR19QTEFOX3tUSUVSfV9ERVNDUklQVElPTiAgIChwbGFpbiBzdHJpbmcpXG4gKiAgIEJJTExJTkdfUExBTl97VElFUn1fRkVBVFVSRVMgICAgICAoSlNPTiBzdHJpbmcgYXJyYXkpXG4gKlxuICogQWxsIGRlZmF1bHRzIG1hdGNoIHRoZSBvcmlnaW5hbCBoYXJkY29kZWQgc2VlZCBkYXRhIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5LlxuICovXG5pbXBvcnQgeyBRVU9UQV9USUVSUywgdHlwZSBRdW90YVRpZXIgfSBmcm9tICdAcGlwZWxpbmUtYnVpbGRlci9hcGktY29yZSc7XG5pbXBvcnQgdHlwZSB7IEJpbGxpbmdDb25maWcsIEJpbGxpbmdQbGFuQ29uZmlnIH0gZnJvbSAnLi9jb25maWctdHlwZXMuanMnO1xuXG4vLyAtLSBEZWZhdWx0IGZlYXR1cmVzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gRGVyaXZlZCBmcm9tIGVhY2ggdGllcidzIEVGRkVDVElWRSBxdW90YSBsaW1pdHMgc28gdGhlIG1hcmtldGluZyBjb3B5IHN0YXlzXG4vLyBob25lc3Qgd2hlbiBsaW1pdHMgY2hhbmdlIChpbmNsdWRpbmcgdmlhIFFVT1RBX1RJRVJfKiBlbnYgb3ZlcnJpZGVzKS4gUGVyLXRpZXJcbi8vIHBlcmtzIChzdXBwb3J0IGxldmVsLCBkYXNoYm9hcmRzLCBldGMuKSBhcmUgYXBwZW5kZWQuXG5cbi8qKiBcIlVwIHRvIE4gcGx1Z2luc1wiIC8gXCJVbmxpbWl0ZWQgcGx1Z2luc1wiIGZyb20gYW4gZWZmZWN0aXZlIGxpbWl0ICgtMSA9IHVubGltaXRlZCkuICovXG5mdW5jdGlvbiBsaW1pdExpbmUobGltaXQ6IG51bWJlciwgc2luZ3VsYXI6IHN0cmluZywgcGx1cmFsOiBzdHJpbmcpOiBzdHJpbmcge1xuICBpZiAobGltaXQgPT09IC0xKSByZXR1cm4gYFVubGltaXRlZCAke3BsdXJhbH1gO1xuICByZXR1cm4gYFVwIHRvICR7bGltaXQudG9Mb2NhbGVTdHJpbmcoJ2VuLVVTJyl9ICR7bGltaXQgPT09IDEgPyBzaW5ndWxhciA6IHBsdXJhbH1gO1xufVxuXG5mdW5jdGlvbiBkZWZhdWx0RmVhdHVyZXModGllcjogUXVvdGFUaWVyLCBwZXJrczogc3RyaW5nW10pOiBzdHJpbmdbXSB7XG4gIGNvbnN0IGwgPSBRVU9UQV9USUVSU1t0aWVyXS5saW1pdHM7XG4gIHJldHVybiBbXG4gICAgbGltaXRMaW5lKGwuc2VhdHMsICdzZWF0JywgJ3NlYXRzJyksXG4gICAgbGltaXRMaW5lKGwucGx1Z2lucywgJ3BsdWdpbicsICdwbHVnaW5zJyksXG4gICAgbGltaXRMaW5lKGwucGlwZWxpbmVzLCAncGlwZWxpbmUnLCAncGlwZWxpbmVzJyksXG4gICAgbGltaXRMaW5lKGwuYXBpQ2FsbHMsICdBUEkgY2FsbCcsICdBUEkgY2FsbHMnKSxcbiAgICBsaW1pdExpbmUobC5haUNhbGxzLCAnQUkgY2FsbCcsICdBSSBjYWxscycpLFxuICAgIC4uLnBlcmtzLFxuICBdO1xufVxuXG5jb25zdCBERUZBVUxUX0RFVkVMT1BFUl9GRUFUVVJFUyA9IGRlZmF1bHRGZWF0dXJlcygnZGV2ZWxvcGVyJywgWydDb21tdW5pdHkgc3VwcG9ydCddKTtcbmNvbnN0IERFRkFVTFRfUFJPX0ZFQVRVUkVTID0gZGVmYXVsdEZlYXR1cmVzKCdwcm8nLCBbJ0NvbW11bml0eSBzdXBwb3J0JywgJ1JlcG9ydGluZyBkYXNoYm9hcmQnXSk7XG5jb25zdCBERUZBVUxUX1RFQU1fRkVBVFVSRVMgPSBkZWZhdWx0RmVhdHVyZXMoJ3RlYW0nLCBbXG4gICdSQkFDICYgdGVhbSByb2xlcycsICdTU08gLyBJZFAgY29uZmlncycsICdBdWRpdCBsb2cnLCAnUHJpb3JpdHkgc3VwcG9ydCcsXG5dKTtcbmNvbnN0IERFRkFVTFRfRU5URVJQUklTRV9GRUFUVVJFUyA9IGRlZmF1bHRGZWF0dXJlcygnZW50ZXJwcmlzZScsIFtcbiAgJ1JCQUMgJiB0ZWFtIHJvbGVzJywgJ1NTTyAvIElkUCBjb25maWdzJywgJ0F1ZGl0IGxvZycsXG4gICdQcmlvcml0eSBzdXBwb3J0JywgJ1JlcG9ydGluZyBkYXNoYm9hcmQnLCAnQ3VzdG9tIGludGVncmF0aW9ucycsXG5dKTtcblxuLyoqXG4gKiBQYXJzZSBhIHByaWNlIChpbiBjZW50cykgZnJvbSBhbiBlbnYgdmFyLCBmYWxsaW5nIGJhY2sgdG8gdGhlIGRlZmF1bHQgd2hlblxuICogdW5zZXQgT1IgbWFsZm9ybWVkLiBBIE5hTiAoZS5nLiBgQklMTElOR19QTEFOX1BST19NT05USExZPWFiY2ApIG11c3QgbmV2ZXJcbiAqIGZsb3cgaW50byB0aGUgcmV0dXJuZWQgY29uZmlnIGFzIGEgcHJpY2UuXG4gKi9cbmZ1bmN0aW9uIGVudkNlbnRzKGVudlZhcjogc3RyaW5nIHwgdW5kZWZpbmVkLCBmYWxsYmFjazogbnVtYmVyKTogbnVtYmVyIHtcbiAgaWYgKGVudlZhciA9PT0gdW5kZWZpbmVkIHx8IGVudlZhciA9PT0gJycpIHJldHVybiBmYWxsYmFjaztcbiAgY29uc3QgbiA9IHBhcnNlSW50KGVudlZhciwgMTApO1xuICByZXR1cm4gTnVtYmVyLmlzTmFOKG4pID8gZmFsbGJhY2sgOiBuO1xufVxuXG4vKipcbiAqIFBhcnNlIGEgSlNPTiBhcnJheSBmcm9tIGFuIGVudiB2YXIsIGZhbGxpbmcgYmFjayB0byBkZWZhdWx0LlxuICovXG5mdW5jdGlvbiBwYXJzZUZlYXR1cmVzKGVudlZhcjogc3RyaW5nIHwgdW5kZWZpbmVkLCBmYWxsYmFjazogc3RyaW5nW10pOiBzdHJpbmdbXSB7XG4gIGlmICghZW52VmFyKSByZXR1cm4gZmFsbGJhY2s7XG4gIHRyeSB7XG4gICAgY29uc3QgcGFyc2VkID0gSlNPTi5wYXJzZShlbnZWYXIpO1xuICAgIHJldHVybiBBcnJheS5pc0FycmF5KHBhcnNlZCkgPyBwYXJzZWQgOiBmYWxsYmFjaztcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIGZhbGxiYWNrO1xuICB9XG59XG5cbi8qKlxuICogTG9hZCBiaWxsaW5nIHBsYW4gY29uZmlndXJhdGlvbiBmcm9tIGVudmlyb25tZW50IHZhcmlhYmxlcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGxvYWRCaWxsaW5nQ29uZmlnKCk6IEJpbGxpbmdDb25maWcge1xuICBjb25zdCBwbGFuczogQmlsbGluZ1BsYW5Db25maWdbXSA9IFtcbiAgICB7XG4gICAgICBpZDogJ2RldmVsb3BlcicsXG4gICAgICBuYW1lOiBwcm9jZXNzLmVudi5CSUxMSU5HX1BMQU5fREVWRUxPUEVSX05BTUUgfHwgJ0RldmVsb3BlcicsXG4gICAgICBkZXNjcmlwdGlvbjogcHJvY2Vzcy5lbnYuQklMTElOR19QTEFOX0RFVkVMT1BFUl9ERVNDUklQVElPTlxuICAgICAgICB8fCAnRnJlZSBzdGFydGVyIHRpZXIgZm9yIGluZGl2aWR1YWwgZGV2ZWxvcGVycycsXG4gICAgICB0aWVyOiAnZGV2ZWxvcGVyJyxcbiAgICAgIHByaWNlczoge1xuICAgICAgICBtb250aGx5OiBlbnZDZW50cyhwcm9jZXNzLmVudi5CSUxMSU5HX1BMQU5fREVWRUxPUEVSX01PTlRITFksIDApLFxuICAgICAgICBhbm51YWw6IGVudkNlbnRzKHByb2Nlc3MuZW52LkJJTExJTkdfUExBTl9ERVZFTE9QRVJfQU5OVUFMLCAwKSxcbiAgICAgIH0sXG4gICAgICBmZWF0dXJlczogcGFyc2VGZWF0dXJlcyhcbiAgICAgICAgcHJvY2Vzcy5lbnYuQklMTElOR19QTEFOX0RFVkVMT1BFUl9GRUFUVVJFUyxcbiAgICAgICAgREVGQVVMVF9ERVZFTE9QRVJfRkVBVFVSRVMsXG4gICAgICApLFxuICAgICAgaXNBY3RpdmU6IHRydWUsXG4gICAgICBpc0RlZmF1bHQ6IHRydWUsXG4gICAgICBzb3J0T3JkZXI6IDAsXG4gICAgfSxcbiAgICB7XG4gICAgICBpZDogJ3BybycsXG4gICAgICBuYW1lOiBwcm9jZXNzLmVudi5CSUxMSU5HX1BMQU5fUFJPX05BTUUgfHwgJ1BybycsXG4gICAgICBkZXNjcmlwdGlvbjogcHJvY2Vzcy5lbnYuQklMTElOR19QTEFOX1BST19ERVNDUklQVElPTlxuICAgICAgICB8fCAnRm9yIGluZGl2aWR1YWwgcG93ZXIgdXNlcnMgYW5kIHByb2R1Y3Rpb24gd29ya2xvYWRzJyxcbiAgICAgIHRpZXI6ICdwcm8nLFxuICAgICAgcHJpY2VzOiB7XG4gICAgICAgIG1vbnRobHk6IGVudkNlbnRzKHByb2Nlc3MuZW52LkJJTExJTkdfUExBTl9QUk9fTU9OVEhMWSwgMTkwMCksXG4gICAgICAgIGFubnVhbDogZW52Q2VudHMocHJvY2Vzcy5lbnYuQklMTElOR19QTEFOX1BST19BTk5VQUwsIDE5MDAwKSxcbiAgICAgIH0sXG4gICAgICBmZWF0dXJlczogcGFyc2VGZWF0dXJlcyhcbiAgICAgICAgcHJvY2Vzcy5lbnYuQklMTElOR19QTEFOX1BST19GRUFUVVJFUyxcbiAgICAgICAgREVGQVVMVF9QUk9fRkVBVFVSRVMsXG4gICAgICApLFxuICAgICAgaXNBY3RpdmU6IHRydWUsXG4gICAgICBpc0RlZmF1bHQ6IGZhbHNlLFxuICAgICAgc29ydE9yZGVyOiAxLFxuICAgIH0sXG4gICAge1xuICAgICAgaWQ6ICd0ZWFtJyxcbiAgICAgIG5hbWU6IHByb2Nlc3MuZW52LkJJTExJTkdfUExBTl9URUFNX05BTUUgfHwgJ1RlYW0nLFxuICAgICAgZGVzY3JpcHRpb246IHByb2Nlc3MuZW52LkJJTExJTkdfUExBTl9URUFNX0RFU0NSSVBUSU9OXG4gICAgICAgIHx8ICdGb3IgdGVhbXMgY29sbGFib3JhdGluZyBvbiBzaGFyZWQgcGlwZWxpbmVzJyxcbiAgICAgIHRpZXI6ICd0ZWFtJyxcbiAgICAgIHByaWNlczoge1xuICAgICAgICBtb250aGx5OiBlbnZDZW50cyhwcm9jZXNzLmVudi5CSUxMSU5HX1BMQU5fVEVBTV9NT05USExZLCA0OTAwKSxcbiAgICAgICAgYW5udWFsOiBlbnZDZW50cyhwcm9jZXNzLmVudi5CSUxMSU5HX1BMQU5fVEVBTV9BTk5VQUwsIDQ5MDAwKSxcbiAgICAgIH0sXG4gICAgICBmZWF0dXJlczogcGFyc2VGZWF0dXJlcyhcbiAgICAgICAgcHJvY2Vzcy5lbnYuQklMTElOR19QTEFOX1RFQU1fRkVBVFVSRVMsXG4gICAgICAgIERFRkFVTFRfVEVBTV9GRUFUVVJFUyxcbiAgICAgICksXG4gICAgICBpc0FjdGl2ZTogdHJ1ZSxcbiAgICAgIGlzRGVmYXVsdDogZmFsc2UsXG4gICAgICBzb3J0T3JkZXI6IDIsXG4gICAgfSxcbiAgICB7XG4gICAgICBpZDogJ2VudGVycHJpc2UnLFxuICAgICAgbmFtZTogcHJvY2Vzcy5lbnYuQklMTElOR19QTEFOX0VOVEVSUFJJU0VfTkFNRSB8fCAnRW50ZXJwcmlzZScsXG4gICAgICBkZXNjcmlwdGlvbjogcHJvY2Vzcy5lbnYuQklMTElOR19QTEFOX0VOVEVSUFJJU0VfREVTQ1JJUFRJT05cbiAgICAgICAgfHwgJ09yZy13aWRlIHNjYWxlIHdpdGggdW5saW1pdGVkIHNlYXRzIGFuZCBwcmlvcml0eSBzdXBwb3J0JyxcbiAgICAgIHRpZXI6ICdlbnRlcnByaXNlJyxcbiAgICAgIHByaWNlczoge1xuICAgICAgICBtb250aGx5OiBlbnZDZW50cyhwcm9jZXNzLmVudi5CSUxMSU5HX1BMQU5fRU5URVJQUklTRV9NT05USExZLCA5OTAwKSxcbiAgICAgICAgYW5udWFsOiBlbnZDZW50cyhwcm9jZXNzLmVudi5CSUxMSU5HX1BMQU5fRU5URVJQUklTRV9BTk5VQUwsIDk5MDAwKSxcbiAgICAgIH0sXG4gICAgICBmZWF0dXJlczogcGFyc2VGZWF0dXJlcyhcbiAgICAgICAgcHJvY2Vzcy5lbnYuQklMTElOR19QTEFOX0VOVEVSUFJJU0VfRkVBVFVSRVMsXG4gICAgICAgIERFRkFVTFRfRU5URVJQUklTRV9GRUFUVVJFUyxcbiAgICAgICksXG4gICAgICBpc0FjdGl2ZTogdHJ1ZSxcbiAgICAgIGlzRGVmYXVsdDogZmFsc2UsXG4gICAgICBzb3J0T3JkZXI6IDMsXG4gICAgfSxcbiAgXTtcblxuICByZXR1cm4geyBwbGFucyB9O1xufVxuIl19
|
|
140
|
+
const BUNDLE_GB = 1024 * 1024 * 1024;
|
|
141
|
+
/**
|
|
142
|
+
* Apply a per-bundle grant override. Each stackable pack grants exactly one
|
|
143
|
+
* quota dimension, so `BILLING_BUNDLE_<ID>_GRANT` retunes that amount (e.g. make
|
|
144
|
+
* the Seat Pack grant +10 instead of +5) — parallel to the price overrides.
|
|
145
|
+
* Ignored for multi-dimension or feature-only (empty-grant) bundles, and for a
|
|
146
|
+
* malformed/negative value.
|
|
147
|
+
*/
|
|
148
|
+
function applyGrantOverride(id, grants) {
|
|
149
|
+
const raw = process.env[`BILLING_BUNDLE_${id.toUpperCase()}_GRANT`];
|
|
150
|
+
const keys = Object.keys(grants);
|
|
151
|
+
if (raw === undefined || raw === '' || keys.length !== 1)
|
|
152
|
+
return grants;
|
|
153
|
+
const n = parseInt(raw, 10);
|
|
154
|
+
if (Number.isNaN(n) || n < 0)
|
|
155
|
+
return grants;
|
|
156
|
+
// `keys` came from a GrantMap, so its sole key is a QuotaTierLimits field.
|
|
157
|
+
return { [keys[0]]: n };
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Apply a per-bundle tier-availability override. `BILLING_BUNDLE_<ID>_TIERS` is a
|
|
161
|
+
* JSON array of tier IDs that may purchase the bundle (e.g. `["developer","pro"]`)
|
|
162
|
+
* — parallel to the price/grant overrides. Falls back to `defaultTiers` when
|
|
163
|
+
* unset, malformed, empty, or containing an unknown tier.
|
|
164
|
+
*/
|
|
165
|
+
function applyTiersOverride(id, defaultTiers) {
|
|
166
|
+
const raw = process.env[`BILLING_BUNDLE_${id.toUpperCase()}_TIERS`];
|
|
167
|
+
if (!raw)
|
|
168
|
+
return defaultTiers;
|
|
169
|
+
try {
|
|
170
|
+
const parsed = JSON.parse(raw);
|
|
171
|
+
if (!Array.isArray(parsed) || parsed.length === 0)
|
|
172
|
+
return defaultTiers;
|
|
173
|
+
const valid = parsed.filter((t) => typeof t === 'string' && isValidTier(t));
|
|
174
|
+
return valid.length === parsed.length ? valid : defaultTiers;
|
|
175
|
+
}
|
|
176
|
+
catch {
|
|
177
|
+
return defaultTiers;
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Purchasable add-on bundles (docs/billing-bundles.md §3). Grants are per-unit
|
|
182
|
+
* deltas on QuotaTierLimits; prices (cents, `BILLING_BUNDLE_<ID>_MONTHLY` /
|
|
183
|
+
* `_ANNUAL`), the single-dimension grant amount (`BILLING_BUNDLE_<ID>_GRANT`),
|
|
184
|
+
* and the purchasable-tier list (`BILLING_BUNDLE_<ID>_TIERS`) are all
|
|
185
|
+
* env-overridable. Annual ≈ 10× monthly.
|
|
186
|
+
*/
|
|
187
|
+
function loadBundles() {
|
|
188
|
+
const b = (id, name, description, grants, monthly, availableForTiers, sortOrder, extra = {}) => {
|
|
189
|
+
// Resolve monthly first so the annual fallback tracks a `_MONTHLY` override
|
|
190
|
+
// (annual ≈ 10× the *effective* monthly, not the hardcoded default).
|
|
191
|
+
const resolvedMonthly = envCents(process.env[`BILLING_BUNDLE_${id.toUpperCase()}_MONTHLY`], monthly);
|
|
192
|
+
return {
|
|
193
|
+
id,
|
|
194
|
+
name,
|
|
195
|
+
description,
|
|
196
|
+
grants: applyGrantOverride(id, grants),
|
|
197
|
+
...(extra.features ? { features: extra.features } : {}),
|
|
198
|
+
prices: {
|
|
199
|
+
monthly: resolvedMonthly,
|
|
200
|
+
annual: envCents(process.env[`BILLING_BUNDLE_${id.toUpperCase()}_ANNUAL`], resolvedMonthly * 10),
|
|
201
|
+
},
|
|
202
|
+
stackable: extra.stackable ?? true,
|
|
203
|
+
availableForTiers: applyTiersOverride(id, availableForTiers),
|
|
204
|
+
isActive: true,
|
|
205
|
+
sortOrder,
|
|
206
|
+
};
|
|
207
|
+
};
|
|
208
|
+
const ALL = ['developer', 'pro', 'team', 'enterprise'];
|
|
209
|
+
return [
|
|
210
|
+
// Capacity packs (seats/pipelines/plugins) are available on EVERY tier so any
|
|
211
|
+
// account — including free (developer) — can expand in place. Feature bundles
|
|
212
|
+
// (audit_log/sso) and rate packs stay tier-scoped by default.
|
|
213
|
+
b('seat_pack', 'Seat Pack (+5)', '5 additional member seats', { seats: 5 }, 2500, ALL, 0),
|
|
214
|
+
b('pipeline_pack', 'Pipeline Pack (+10)', '10 additional pipelines', { pipelines: 10 }, 1500, ALL, 1),
|
|
215
|
+
b('plugin_pack', 'Plugin Pack (+100)', '100 additional plugins', { plugins: 100 }, 1000, ALL, 2),
|
|
216
|
+
b('api_pack', 'API Pack (+1M)', '1,000,000 additional API calls / period', { apiCalls: 1_000_000 }, 2000, ['developer', 'pro'], 3),
|
|
217
|
+
b('ai_pack', 'AI Pack (+5k)', '5,000 additional AI calls / period', { aiCalls: 5000 }, 3000, ALL, 4),
|
|
218
|
+
b('storage_pack', 'Storage Pack (+50 GB)', '50 GB additional registry storage', { storageBytes: 50 * BUNDLE_GB }, 1000, ALL, 5),
|
|
219
|
+
b('audit_log', 'Audit Log', 'Audit log capability', {}, 2000, ['pro'], 6, { features: ['audit_log'], stackable: false }),
|
|
220
|
+
b('sso', 'SSO / IdP', 'SSO + up to 5 IdP configs', { idpConfigs: 5 }, 4000, ['pro', 'team'], 7, { features: ['sso'], stackable: false }),
|
|
221
|
+
];
|
|
222
|
+
}
|
|
223
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmlsbGluZy1jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlnL2JpbGxpbmctY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtDQUErQztBQUMvQyxzQ0FBc0M7QUFFdEM7Ozs7Ozs7Ozs7OztHQVlHO0FBQ0gsT0FBTyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQXdDLE1BQU0sNEJBQTRCLENBQUM7QUFPNUcsZ0ZBQWdGO0FBQ2hGLDhFQUE4RTtBQUM5RSxpRkFBaUY7QUFDakYsd0RBQXdEO0FBRXhELHdGQUF3RjtBQUN4RixTQUFTLFNBQVMsQ0FBQyxLQUFhLEVBQUUsUUFBZ0IsRUFBRSxNQUFjO0lBQ2hFLElBQUksS0FBSyxLQUFLLENBQUMsQ0FBQztRQUFFLE9BQU8sYUFBYSxNQUFNLEVBQUUsQ0FBQztJQUMvQyxPQUFPLFNBQVMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsSUFBSSxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO0FBQ3JGLENBQUM7QUFFRCxTQUFTLGVBQWUsQ0FBQyxJQUFlLEVBQUUsS0FBZTtJQUN2RCxNQUFNLENBQUMsR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQ25DLE9BQU87UUFDTCxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDO1FBQ25DLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxTQUFTLENBQUM7UUFDekMsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLFdBQVcsQ0FBQztRQUMvQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxVQUFVLEVBQUUsV0FBVyxDQUFDO1FBQzlDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxV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QUUsZ0JBQWdCLEVBQUUseUNBQXlDLEVBQUUsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLEVBQUUsSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNsSSxDQUFDLENBQUMsU0FBUyxFQUFFLGVBQWUsRUFBRSxvQ0FBb0MsRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUNwRyxDQUFDLENBQUMsY0FBYyxFQUFFLHVCQUF1QixFQUFFLG1DQUFtQyxFQUFFLEVBQUUsWUFBWSxFQUFFLEVBQUUsR0FBRyxTQUFTLEVBQUUsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUMvSCxDQUFDLENBQUMsV0FBVyxFQUFFLFdBQVcsRUFBRSxzQkFBc0IsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsUUFBUSxFQUFFLENBQUMsV0FBVyxDQUFDLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDO1FBQ3hILENBQUMsQ0FBQyxLQUFLLEVBQUUsV0FBVyxFQUFFLDJCQUEyQixFQUFFLEVBQUUsVUFBVSxFQUFFLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxRQUFRLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUM7S0FDekksQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgMjAyNiBQaXBlbGluZSBCdWlsZGVyIENvbnRyaWJ1dG9yc1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcblxuLyoqXG4gKiBMb2FkIGJpbGxpbmcgcGxhbiBjb25maWd1cmF0aW9uIGZyb20gZW52aXJvbm1lbnQgdmFyaWFibGVzLlxuICpcbiAqIFBlci1wbGFuIHByaWNlcyBhcmUgdGhlIG1vc3QgbGlrZWx5IHRvIHZhcnkgYmV0d2VlbiBlbnZpcm9ubWVudHM6XG4gKiAgIEJJTExJTkdfUExBTl97VElFUn1fTU9OVEhMWSAvIEJJTExJTkdfUExBTl97VElFUn1fQU5OVUFMICAoaW4gY2VudHMpXG4gKlxuICogT3B0aW9uYWwgb3ZlcnJpZGVzIGZvciBkZXNjcmlwdGlvbnMgYW5kIGZlYXR1cmVzOlxuICogICBCSUxMSU5HX1BMQU5fe1RJRVJ9X05BTUUgICAgICAgICAgKHBsYWluIHN0cmluZywgZGlzcGxheSBuYW1lKVxuICogICBCSUxMSU5HX1BMQU5fe1RJRVJ9X0RFU0NSSVBUSU9OICAgKHBsYWluIHN0cmluZylcbiAqICAgQklMTElOR19QTEFOX3tUSUVSfV9GRUFUVVJFUyAgICAgIChKU09OIHN0cmluZyBhcnJheSlcbiAqXG4gKiBBbGwgZGVmYXVsdHMgbWF0Y2ggdGhlIG9yaWdpbmFsIGhhcmRjb2RlZCBzZWVkIGRhdGEgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkuXG4gKi9cbmltcG9ydCB7IFFVT1RBX1RJRVJTLCBpc1ZhbGlkVGllciwgdHlwZSBRdW90YVRpZXIsIHR5cGUgUXVvdGFUaWVyTGltaXRzIH0gZnJvbSAnQHBpcGVsaW5lLWJ1aWxkZXIvYXBpLWNvcmUnO1xuaW1wb3J0IHR5cGUgeyBCaWxsaW5nQ29uZmlnLCBCaWxsaW5nUGxhbkNvbmZpZywgQnVuZGxlQ29uZmlnIH0gZnJvbSAnLi9jb25maWctdHlwZXMuanMnO1xuXG4vKiogUGVyLXVuaXQgcXVvdGEgZGVsdGFzIGZvciBhIGJ1bmRsZSDigJQga2V5cyBjb25zdHJhaW5lZCB0byByZWFsIHF1b3RhIGZpZWxkc1xuICogIChtYXRjaGVzIGBCdW5kbGVDb25maWcuZ3JhbnRzYCksIHNvIGEgdHlwbydkIGRpbWVuc2lvbiBmYWlscyB0byBjb21waWxlLiAqL1xudHlwZSBHcmFudE1hcCA9IFBhcnRpYWw8UmVjb3JkPGtleW9mIFF1b3RhVGllckxpbWl0cywgbnVtYmVyPj47XG5cbi8vIC0tIERlZmF1bHQgZmVhdHVyZXMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBEZXJpdmVkIGZyb20gZWFjaCB0aWVyJ3MgRUZGRUNUSVZFIHF1b3RhIGxpbWl0cyBzbyB0aGUgbWFya2V0aW5nIGNvcHkgc3RheXNcbi8vIGhvbmVzdCB3aGVuIGxpbWl0cyBjaGFuZ2UgKGluY2x1ZGluZyB2aWEgUVVPVEFfVElFUl8qIGVudiBvdmVycmlkZXMpLiBQZXItdGllclxuLy8gcGVya3MgKHN1cHBvcnQgbGV2ZWwsIGRhc2hib2FyZHMsIGV0Yy4pIGFyZSBhcHBlbmRlZC5cblxuLyoqIFwiVXAgdG8gTiBwbHVnaW5zXCIgLyBcIlVubGltaXRlZCBwbHVnaW5zXCIgZnJvbSBhbiBlZmZlY3RpdmUgbGltaXQgKC0xID0gdW5saW1pdGVkKS4gKi9cbmZ1bmN0aW9uIGxpbWl0TGluZShsaW1pdDogbnVtYmVyLCBzaW5ndWxhcjogc3RyaW5nLCBwbHVyYWw6IHN0cmluZyk6IHN0cmluZyB7XG4gIGlmIChsaW1pdCA9PT0gLTEpIHJldHVybiBgVW5saW1pdGVkICR7cGx1cmFsfWA7XG4gIHJldHVybiBgVXAgdG8gJHtsaW1pdC50b0xvY2FsZVN0cmluZygnZW4tVVMnKX0gJHtsaW1pdCA9PT0gMSA/IHNpbmd1bGFyIDogcGx1cmFsfWA7XG59XG5cbmZ1bmN0aW9uIGRlZmF1bHRGZWF0dXJlcyh0aWVyOiBRdW90YVRpZXIsIHBlcmtzOiBzdHJpbmdbXSk6IHN0cmluZ1tdIHtcbiAgY29uc3QgbCA9IFFVT1RBX1RJRVJTW3RpZXJdLmxpbWl0cztcbiAgcmV0dXJuIFtcbiAgICBsaW1pdExpbmUobC5zZWF0cywgJ3NlYXQnLCAnc2VhdHMnKSxcbiAgICBsaW1pdExpbmUobC5wbHVnaW5zLCAncGx1Z2luJywgJ3BsdWdpbnMnKSxcbiAgICBsaW1pdExpbmUobC5waXBlbGluZXMsICdwaXBlbGluZScsICdwaXBlbGluZXMnKSxcbiAgICBsaW1pdExpbmUobC5hcGlDYWxscywgJ0FQSSBjYWxsJywgJ0FQSSBjYWxscycpLFxuICAgIGxpbWl0TGluZShsLmFpQ2FsbHMsICdBSSBjYWxsJywgJ0FJIGNhbGxzJyksXG4gICAgLi4ucGVya3MsXG4gIF07XG59XG5cbmNvbnN0IERFRkFVTFRfREVWRUxPUEVSX0ZFQVRVUkVTID0gZGVmYXVsdEZlYXR1cmVzKCdkZXZlbG9wZXInLCBbJ0NvbW11bml0eSBzdXBwb3J0J10pO1xuY29uc3QgREVGQVVMVF9QUk9fRkVBVFVSRVMgPSBkZWZhdWx0RmVhdHVyZXMoJ3BybycsIFsnQ29tbXVuaXR5IHN1cHBvcnQnLCAnUmVwb3J0aW5nIGRhc2hib2FyZCddKTtcbmNvbnN0IERFRkFVTFRfVEVBTV9GRUFUVVJFUyA9IGRlZmF1bHRGZWF0dXJlcygndGVhbScsIFtcbiAgJ1JCQUMgJiB0ZWFtIHJvbGVzJywgJ1NTTyAvIElkUCBjb25maWdzJywgJ0F1ZGl0IGxvZycsICdQcmlvcml0eSBzdXBwb3J0Jyxcbl0pO1xuY29uc3QgREVGQVVMVF9FTlRFUlBSSVNFX0ZFQVRVUkVTID0gZGVmYXVsdEZlYXR1cmVzKCdlbnRlcnByaXNlJywgW1xuICAnUkJBQyAmIHRlYW0gcm9sZXMnLCAnU1NPIC8gSWRQIGNvbmZpZ3MnLCAnQXVkaXQgbG9nJyxcbiAgJ1ByaW9yaXR5IHN1cHBvcnQnLCAnUmVwb3J0aW5nIGRhc2hib2FyZCcsICdDdXN0b20gaW50ZWdyYXRpb25zJyxcbl0pO1xuXG4vKipcbiAqIFBhcnNlIGEgcHJpY2UgKGluIGNlbnRzKSBmcm9tIGFuIGVudiB2YXIsIGZhbGxpbmcgYmFjayB0byB0aGUgZGVmYXVsdCB3aGVuXG4gKiB1bnNldCBPUiBtYWxmb3JtZWQuIEEgTmFOIChlLmcuIGBCSUxMSU5HX1BMQU5fUFJPX01PTlRITFk9YWJjYCkgbXVzdCBuZXZlclxuICogZmxvdyBpbnRvIHRoZSByZXR1cm5lZCBjb25maWcgYXMgYSBwcmljZS5cbiAqL1xuZnVuY3Rpb24gZW52Q2VudHMoZW52VmFyOiBzdHJpbmcgfCB1bmRlZmluZWQsIGZhbGxiYWNrOiBudW1iZXIpOiBudW1iZXIge1xuICBpZiAoZW52VmFyID09PSB1bmRlZmluZWQgfHwgZW52VmFyID09PSAnJykgcmV0dXJuIGZhbGxiYWNrO1xuICBjb25zdCBuID0gcGFyc2VJbnQoZW52VmFyLCAxMCk7XG4gIHJldHVybiBOdW1iZXIuaXNOYU4obikgPyBmYWxsYmFjayA6IG47XG59XG5cbi8qKlxuICogUGFyc2UgYSBKU09OIGFycmF5IGZyb20gYW4gZW52IHZhciwgZmFsbGluZyBiYWNrIHRvIGRlZmF1bHQuXG4gKi9cbmZ1bmN0aW9uIHBhcnNlRmVhdHVyZXMoZW52VmFyOiBzdHJpbmcgfCB1bmRlZmluZWQsIGZhbGxiYWNrOiBzdHJpbmdbXSk6IHN0cmluZ1tdIHtcbiAgaWYgKCFlbnZWYXIpIHJldHVybiBmYWxsYmFjaztcbiAgdHJ5IHtcbiAgICBjb25zdCBwYXJzZWQgPSBKU09OLnBhcnNlKGVudlZhcik7XG4gICAgcmV0dXJuIEFycmF5LmlzQXJyYXkocGFyc2VkKSA/IHBhcnNlZCA6IGZhbGxiYWNrO1xuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gZmFsbGJhY2s7XG4gIH1cbn1cblxuLyoqXG4gKiBMb2FkIGJpbGxpbmcgcGxhbiBjb25maWd1cmF0aW9uIGZyb20gZW52aXJvbm1lbnQgdmFyaWFibGVzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gbG9hZEJpbGxpbmdDb25maWcoKTogQmlsbGluZ0NvbmZpZyB7XG4gIGNvbnN0IHBsYW5zOiBCaWxsaW5nUGxhbkNvbmZpZ1tdID0gW1xuICAgIHtcbiAgICAgIGlkOiAnZGV2ZWxvcGVyJyxcbiAgICAgIG5hbWU6IHByb2Nlc3MuZW52LkJJTExJTkdfUExBTl9ERVZFTE9QRVJfTkFNRSB8fCAnRGV2ZWxvcGVyJyxcbiAgICAgIGRlc2NyaXB0aW9uOiBwcm9jZXNzLmVudi5CSUxMSU5HX1BMQU5fREVWRUxPUEVSX0RFU0NSSVBUSU9OXG4gICAgICAgIHx8ICdGcmVlIHN0YXJ0ZXIgdGllciBmb3IgaW5kaXZpZHVhbCBkZXZlbG9wZXJzJyxcbiAgICAgIHRpZXI6ICdkZXZlbG9wZXInLFxuICAgICAgcHJpY2VzOiB7XG4gICAgICAgIG1vbnRobHk6IGVudkNlbnRzKHByb2Nlc3MuZW52LkJJTExJTkdfUExBTl9ERVZFTE9QRVJfTU9OVEhMWSwgMCksXG4gICAgICAgIGFubnVhbDogZW52Q2VudHMocHJvY2Vzcy5lbnYuQklMTElOR19QTEFOX0RFVkVMT1BFUl9BTk5VQUwsIDApLFxuICAgICAgfSxcbiAgICAgIGZlYXR1cmVzOiBwYXJzZUZlYXR1cmVzKFxuICAgICAgICBwcm9jZXNzLmVudi5CSUxMSU5HX1BMQU5fREVWRUxPUEVSX0ZFQVRVUkVTLFxuICAgICAgICBERUZBVUxUX0RFVkVMT1BFUl9GRUFUVVJFUyxcbiAgICAgICksXG4gICAgICBpc0FjdGl2ZTogdHJ1ZSxcbiAgICAgIGlzRGVmYXVsdDogdHJ1ZSxcbiAgICAgIHNvcnRPcmRlcjogMCxcbiAgICB9LFxuICAgIHtcbiAgICAgIGlkOiAncHJvJyxcbiAgICAgIG5hbWU6IHByb2Nlc3MuZW52LkJJTExJTkdfUExBTl9QUk9fTkFNRSB8fCAnUHJvJyxcbiAgICAgIGRlc2NyaXB0aW9uOiBwcm9jZXNzLmVudi5CSUxMSU5HX1BMQU5fUFJPX0RFU0NSSVBUSU9OXG4gICAgICAgIHx8ICdGb3IgaW5kaXZpZHVhbCBwb3dlciB1c2VycyBhbmQgcHJvZHVjdGlvbiB3b3JrbG9hZHMnLFxuICAgICAgdGllcjogJ3BybycsXG4gICAgICBwcmljZXM6IHtcbiAgICAgICAgbW9udGhseTogZW52Q2VudHMocHJvY2Vzcy5lbnYuQklMTElOR19QTEFOX1BST19NT05USExZLCAxOTAwKSxcbiAgICAgICAgYW5udWFsOiBlbnZDZW50cyhwcm9jZXNzLmVudi5CSUxMSU5HX1BMQU5fUFJPX0FOTlVBTCwgMTkwMDApLFxuICAgICAgfSxcbiAgICAgIGZlYXR1cmVzOiBwYXJzZUZlYXR1cmVzKFxuICAgICAgICBwcm9jZXNzLmVudi5CSUxMSU5HX1BMQU5fUFJPX0ZFQVRVUkVTLFxuICAgICAgICBERUZBVUxUX1BST19GRUFUVVJFUyxcbiAgICAgICksXG4gICAgICBpc0FjdGl2ZTogdHJ1ZSxcbiAgICAgIGlzRGVmYXVsdDogZmFsc2UsXG4gICAgICBzb3J0T3JkZXI6IDEsXG4gICAgfSxcbiAgICB7XG4gICAgICBpZDogJ3RlYW0nLFxuICAgICAgbmFtZTogcHJvY2Vzcy5lbnYuQklMTElOR19QTEFOX1RFQU1fTkFNRSB8fCAnVGVhbScsXG4gICAgICBkZXNjcmlwdGlvbjogcHJvY2Vzcy5lbnYuQklMTElOR19QTEFOX1RFQU1fREVTQ1JJUFRJT05cbiAgICAgICAgfHwgJ0ZvciB0ZWFtcyBjb2xsYWJvcmF0aW5nIG9uIHNoYXJlZCBwaXBlbGluZXMnLFxuICAgICAgdGllcjogJ3RlYW0nLFxuICAgICAgcHJpY2VzOiB7XG4gICAgICAgIG1vbnRobHk6IGVudkNlbnRzKHByb2Nlc3MuZW52LkJJTExJTkdfUExBTl9URUFNX01PTlRITFksIDQ5MDApLFxuICAgICAgICBhbm51YWw6IGVudkNlbnRzKHByb2Nlc3MuZW52LkJJTExJTkdfUExBTl9URUFNX0FOTlVBTCwgNDkwMDApLFxuICAgICAgfSxcbiAgICAgIGZlYXR1cmVzOiBwYXJzZUZlYXR1cmVzKFxuICAgICAgICBwcm9jZXNzLmVudi5CSUxMSU5HX1BMQU5fVEVBTV9GRUFUVVJFUyxcbiAgICAgICAgREVGQVVMVF9URUFNX0ZFQVRVUkVTLFxuICAgICAgKSxcbiAgICAgIGlzQWN0aXZlOiB0cnVlLFxuICAgICAgaXNEZWZhdWx0OiBmYWxzZSxcbiAgICAgIHNvcnRPcmRlcjogMixcbiAgICB9LFxuICAgIHtcbiAgICAgIGlkOiAnZW50ZXJwcmlzZScsXG4gICAgICBuYW1lOiBwcm9jZXNzLmVudi5CSUxMSU5HX1BMQU5fRU5URVJQUklTRV9OQU1FIHx8ICdFbnRlcnByaXNlJyxcbiAgICAgIGRlc2NyaXB0aW9uOiBwcm9jZXNzLmVudi5CSUxMSU5HX1BMQU5fRU5URVJQUklTRV9ERVNDUklQVElPTlxuICAgICAgICB8fCAnT3JnLXdpZGUgc2NhbGUgd2l0aCB1bmxpbWl0ZWQgc2VhdHMgYW5kIHByaW9yaXR5IHN1cHBvcnQnLFxuICAgICAgdGllcjogJ2VudGVycHJpc2UnLFxuICAgICAgcHJpY2VzOiB7XG4gICAgICAgIG1vbnRobHk6IGVudkNlbnRzKHByb2Nlc3MuZW52LkJJTExJTkdfUExBTl9FTlRFUlBSSVNFX01PTlRITFksIDk5MDApLFxuICAgICAgICBhbm51YWw6IGVudkNlbnRzKHByb2Nlc3MuZW52LkJJTExJTkdfUExBTl9FTlRFUlBSSVNFX0FOTlVBTCwgOTkwMDApLFxuICAgICAgfSxcbiAgICAgIGZlYXR1cmVzOiBwYXJzZUZlYXR1cmVzKFxuICAgICAgICBwcm9jZXNzLmVudi5CSUxMSU5HX1BMQU5fRU5URVJQUklTRV9GRUFUVVJFUyxcbiAgICAgICAgREVGQVVMVF9FTlRFUlBSSVNFX0ZFQVRVUkVTLFxuICAgICAgKSxcbiAgICAgIGlzQWN0aXZlOiB0cnVlLFxuICAgICAgaXNEZWZhdWx0OiBmYWxzZSxcbiAgICAgIHNvcnRPcmRlcjogMyxcbiAgICB9LFxuICBdO1xuXG4gIHJldHVybiB7IHBsYW5zLCBidW5kbGVzOiBsb2FkQnVuZGxlcygpIH07XG59XG5cbmNvbnN0IEJVTkRMRV9HQiA9IDEwMjQgKiAxMDI0ICogMTAyNDtcblxuLyoqXG4gKiBBcHBseSBhIHBlci1idW5kbGUgZ3JhbnQgb3ZlcnJpZGUuIEVhY2ggc3RhY2thYmxlIHBhY2sgZ3JhbnRzIGV4YWN0bHkgb25lXG4gKiBxdW90YSBkaW1lbnNpb24sIHNvIGBCSUxMSU5HX0JVTkRMRV88SUQ+X0dSQU5UYCByZXR1bmVzIHRoYXQgYW1vdW50IChlLmcuIG1ha2VcbiAqIHRoZSBTZWF0IFBhY2sgZ3JhbnQgKzEwIGluc3RlYWQgb2YgKzUpIOKAlCBwYXJhbGxlbCB0byB0aGUgcHJpY2Ugb3ZlcnJpZGVzLlxuICogSWdub3JlZCBmb3IgbXVsdGktZGltZW5zaW9uIG9yIGZlYXR1cmUtb25seSAoZW1wdHktZ3JhbnQpIGJ1bmRsZXMsIGFuZCBmb3IgYVxuICogbWFsZm9ybWVkL25lZ2F0aXZlIHZhbHVlLlxuICovXG5mdW5jdGlvbiBhcHBseUdyYW50T3ZlcnJpZGUoaWQ6IHN0cmluZywgZ3JhbnRzOiBHcmFudE1hcCk6IEdyYW50TWFwIHtcbiAgY29uc3QgcmF3ID0gcHJvY2Vzcy5lbnZbYEJJTExJTkdfQlVORExFXyR7aWQudG9VcHBlckNhc2UoKX1fR1JBTlRgXTtcbiAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKGdyYW50cyk7XG4gIGlmIChyYXcgPT09IHVuZGVmaW5lZCB8fCByYXcgPT09ICcnIHx8IGtleXMubGVuZ3RoICE9PSAxKSByZXR1cm4gZ3JhbnRzO1xuICBjb25zdCBuID0gcGFyc2VJbnQocmF3LCAxMCk7XG4gIGlmIChOdW1iZXIuaXNOYU4obikgfHwgbiA8IDApIHJldHVybiBncmFudHM7XG4gIC8vIGBrZXlzYCBjYW1lIGZyb20gYSBHcmFudE1hcCwgc28gaXRzIHNvbGUga2V5IGlzIGEgUXVvdGFUaWVyTGltaXRzIGZpZWxkLlxuICByZXR1cm4geyBba2V5c1swXSBhcyBrZXlvZiBRdW90YVRpZXJMaW1pdHNdOiBuIH07XG59XG5cbi8qKlxuICogQXBwbHkgYSBwZXItYnVuZGxlIHRpZXItYXZhaWxhYmlsaXR5IG92ZXJyaWRlLiBgQklMTElOR19CVU5ETEVfPElEPl9USUVSU2AgaXMgYVxuICogSlNPTiBhcnJheSBvZiB0aWVyIElEcyB0aGF0IG1heSBwdXJjaGFzZSB0aGUgYnVuZGxlIChlLmcuIGBbXCJkZXZlbG9wZXJcIixcInByb1wiXWApXG4gKiDigJQgcGFyYWxsZWwgdG8gdGhlIHByaWNlL2dyYW50IG92ZXJyaWRlcy4gRmFsbHMgYmFjayB0byBgZGVmYXVsdFRpZXJzYCB3aGVuXG4gKiB1bnNldCwgbWFsZm9ybWVkLCBlbXB0eSwgb3IgY29udGFpbmluZyBhbiB1bmtub3duIHRpZXIuXG4gKi9cbmZ1bmN0aW9uIGFwcGx5VGllcnNPdmVycmlkZShpZDogc3RyaW5nLCBkZWZhdWx0VGllcnM6IFF1b3RhVGllcltdKTogUXVvdGFUaWVyW10ge1xuICBjb25zdCByYXcgPSBwcm9jZXNzLmVudltgQklMTElOR19CVU5ETEVfJHtpZC50b1VwcGVyQ2FzZSgpfV9USUVSU2BdO1xuICBpZiAoIXJhdykgcmV0dXJuIGRlZmF1bHRUaWVycztcbiAgdHJ5IHtcbiAgICBjb25zdCBwYXJzZWQgPSBKU09OLnBhcnNlKHJhdyk7XG4gICAgaWYgKCFBcnJheS5pc0FycmF5KHBhcnNlZCkgfHwgcGFyc2VkLmxlbmd0aCA9PT0gMCkgcmV0dXJuIGRlZmF1bHRUaWVycztcbiAgICBjb25zdCB2YWxpZCA9IHBhcnNlZC5maWx0ZXIoKHQpOiB0IGlzIFF1b3RhVGllciA9PiB0eXBlb2YgdCA9PT0gJ3N0cmluZycgJiYgaXNWYWxpZFRpZXIodCkpO1xuICAgIHJldHVybiB2YWxpZC5sZW5ndGggPT09IHBhcnNlZC5sZW5ndGggPyB2YWxpZCA6IGRlZmF1bHRUaWVycztcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIGRlZmF1bHRUaWVycztcbiAgfVxufVxuXG4vKipcbiAqIFB1cmNoYXNhYmxlIGFkZC1vbiBidW5kbGVzIChkb2NzL2JpbGxpbmctYnVuZGxlcy5tZCDCpzMpLiBHcmFudHMgYXJlIHBlci11bml0XG4gKiBkZWx0YXMgb24gUXVvdGFUaWVyTGltaXRzOyBwcmljZXMgKGNlbnRzLCBgQklMTElOR19CVU5ETEVfPElEPl9NT05USExZYCAvXG4gKiBgX0FOTlVBTGApLCB0aGUgc2luZ2xlLWRpbWVuc2lvbiBncmFudCBhbW91bnQgKGBCSUxMSU5HX0JVTkRMRV88SUQ+X0dSQU5UYCksXG4gKiBhbmQgdGhlIHB1cmNoYXNhYmxlLXRpZXIgbGlzdCAoYEJJTExJTkdfQlVORExFXzxJRD5fVElFUlNgKSBhcmUgYWxsXG4gKiBlbnYtb3ZlcnJpZGFibGUuIEFubnVhbCDiiYggMTDDlyBtb250aGx5LlxuICovXG5mdW5jdGlvbiBsb2FkQnVuZGxlcygpOiBCdW5kbGVDb25maWdbXSB7XG4gIGNvbnN0IGIgPSAoXG4gICAgaWQ6IHN0cmluZyxcbiAgICBuYW1lOiBzdHJpbmcsXG4gICAgZGVzY3JpcHRpb246IHN0cmluZyxcbiAgICBncmFudHM6IEdyYW50TWFwLFxuICAgIG1vbnRobHk6IG51bWJlcixcbiAgICBhdmFpbGFibGVGb3JUaWVyczogUXVvdGFUaWVyW10sXG4gICAgc29ydE9yZGVyOiBudW1iZXIsXG4gICAgZXh0cmE6IHsgZmVhdHVyZXM/OiBzdHJpbmdbXTsgc3RhY2thYmxlPzogYm9vbGVhbiB9ID0ge30sXG4gICk6IEJ1bmRsZUNvbmZpZyA9PiB7XG4gICAgLy8gUmVzb2x2ZSBtb250aGx5IGZpcnN0IHNvIHRoZSBhbm51YWwgZmFsbGJhY2sgdHJhY2tzIGEgYF9NT05USExZYCBvdmVycmlkZVxuICAgIC8vIChhbm51YWwg4omIIDEww5cgdGhlICplZmZlY3RpdmUqIG1vbnRobHksIG5vdCB0aGUgaGFyZGNvZGVkIGRlZmF1bHQpLlxuICAgIGNvbnN0IHJlc29sdmVkTW9udGhseSA9IGVudkNlbnRzKHByb2Nlc3MuZW52W2BCSUxMSU5HX0JVTkRMRV8ke2lkLnRvVXBwZXJDYXNlKCl9X01PTlRITFlgXSwgbW9udGhseSk7XG4gICAgcmV0dXJuIHtcbiAgICAgIGlkLFxuICAgICAgbmFtZSxcbiAgICAgIGRlc2NyaXB0aW9uLFxuICAgICAgZ3JhbnRzOiBhcHBseUdyYW50T3ZlcnJpZGUoaWQsIGdyYW50cyksXG4gICAgICAuLi4oZXh0cmEuZmVhdHVyZXMgPyB7IGZlYXR1cmVzOiBleHRyYS5mZWF0dXJlcyB9IDoge30pLFxuICAgICAgcHJpY2VzOiB7XG4gICAgICAgIG1vbnRobHk6IHJlc29sdmVkTW9udGhseSxcbiAgICAgICAgYW5udWFsOiBlbnZDZW50cyhwcm9jZXNzLmVudltgQklMTElOR19CVU5ETEVfJHtpZC50b1VwcGVyQ2FzZSgpfV9BTk5VQUxgXSwgcmVzb2x2ZWRNb250aGx5ICogMTApLFxuICAgICAgfSxcbiAgICAgIHN0YWNrYWJsZTogZXh0cmEuc3RhY2thYmxlID8/IHRydWUsXG4gICAgICBhdmFpbGFibGVGb3JUaWVyczogYXBwbHlUaWVyc092ZXJyaWRlKGlkLCBhdmFpbGFibGVGb3JUaWVycyksXG4gICAgICBpc0FjdGl2ZTogdHJ1ZSxcbiAgICAgIHNvcnRPcmRlcixcbiAgICB9O1xuICB9O1xuXG4gIGNvbnN0IEFMTDogUXVvdGFUaWVyW10gPSBbJ2RldmVsb3BlcicsICdwcm8nLCAndGVhbScsICdlbnRlcnByaXNlJ107XG4gIHJldHVybiBbXG4gICAgLy8gQ2FwYWNpdHkgcGFja3MgKHNlYXRzL3BpcGVsaW5lcy9wbHVnaW5zKSBhcmUgYXZhaWxhYmxlIG9uIEVWRVJZIHRpZXIgc28gYW55XG4gICAgLy8gYWNjb3VudCDigJQgaW5jbHVkaW5nIGZyZWUgKGRldmVsb3Blcikg4oCUIGNhbiBleHBhbmQgaW4gcGxhY2UuIEZlYXR1cmUgYnVuZGxlc1xuICAgIC8vIChhdWRpdF9sb2cvc3NvKSBhbmQgcmF0ZSBwYWNrcyBzdGF5IHRpZXItc2NvcGVkIGJ5IGRlZmF1bHQuXG4gICAgYignc2VhdF9wYWNrJywgJ1NlYXQgUGFjayAoKzUpJywgJzUgYWRkaXRpb25hbCBtZW1iZXIgc2VhdHMnLCB7IHNlYXRzOiA1IH0sIDI1MDAsIEFMTCwgMCksXG4gICAgYigncGlwZWxpbmVfcGFjaycsICdQaXBlbGluZSBQYWNrICgrMTApJywgJzEwIGFkZGl0aW9uYWwgcGlwZWxpbmVzJywgeyBwaXBlbGluZXM6IDEwIH0sIDE1MDAsIEFMTCwgMSksXG4gICAgYigncGx1Z2luX3BhY2snLCAnUGx1Z2luIFBhY2sgKCsxMDApJywgJzEwMCBhZGRpdGlvbmFsIHBsdWdpbnMnLCB7IHBsdWdpbnM6IDEwMCB9LCAxMDAwLCBBTEwsIDIpLFxuICAgIGIoJ2FwaV9wYWNrJywgJ0FQSSBQYWNrICgrMU0pJywgJzEsMDAwLDAwMCBhZGRpdGlvbmFsIEFQSSBjYWxscyAvIHBlcmlvZCcsIHsgYXBpQ2FsbHM6IDFfMDAwXzAwMCB9LCAyMDAwLCBbJ2RldmVsb3BlcicsICdwcm8nXSwgMyksXG4gICAgYignYWlfcGFjaycsICdBSSBQYWNrICgrNWspJywgJzUsMDAwIGFkZGl0aW9uYWwgQUkgY2FsbHMgLyBwZXJpb2QnLCB7IGFpQ2FsbHM6IDUwMDAgfSwgMzAwMCwgQUxMLCA0KSxcbiAgICBiKCdzdG9yYWdlX3BhY2snLCAnU3RvcmFnZSBQYWNrICgrNTAgR0IpJywgJzUwIEdCIGFkZGl0aW9uYWwgcmVnaXN0cnkgc3RvcmFnZScsIHsgc3RvcmFnZUJ5dGVzOiA1MCAqIEJVTkRMRV9HQiB9LCAxMDAwLCBBTEwsIDUpLFxuICAgIGIoJ2F1ZGl0X2xvZycsICdBdWRpdCBMb2cnLCAnQXVkaXQgbG9nIGNhcGFiaWxpdHknLCB7fSwgMjAwMCwgWydwcm8nXSwgNiwgeyBmZWF0dXJlczogWydhdWRpdF9sb2cnXSwgc3RhY2thYmxlOiBmYWxzZSB9KSxcbiAgICBiKCdzc28nLCAnU1NPIC8gSWRQJywgJ1NTTyArIHVwIHRvIDUgSWRQIGNvbmZpZ3MnLCB7IGlkcENvbmZpZ3M6IDUgfSwgNDAwMCwgWydwcm8nLCAndGVhbSddLCA3LCB7IGZlYXR1cmVzOiBbJ3NzbyddLCBzdGFja2FibGU6IGZhbHNlIH0pLFxuICBdO1xufVxuIl19
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { QuotaTier } from '@pipeline-builder/api-core';
|
|
1
|
+
import type { QuotaTier, QuotaTierLimits } from '@pipeline-builder/api-core';
|
|
2
2
|
import type { Duration, RemovalPolicy } from 'aws-cdk-lib';
|
|
3
3
|
import type { ComputeType } from 'aws-cdk-lib/aws-codebuild';
|
|
4
4
|
import type { Architecture, Runtime } from 'aws-cdk-lib/aws-lambda';
|
|
@@ -252,7 +252,32 @@ export interface BillingPlanConfig {
|
|
|
252
252
|
readonly isDefault: boolean;
|
|
253
253
|
readonly sortOrder: number;
|
|
254
254
|
}
|
|
255
|
-
/**
|
|
255
|
+
/**
|
|
256
|
+
* A purchasable add-on bundle: a quantity-stackable pack that ADDS to the
|
|
257
|
+
* account's base (tier) limits and adds a recurring line item. See
|
|
258
|
+
* docs/billing-bundles.md.
|
|
259
|
+
*/
|
|
260
|
+
export interface BundleConfig {
|
|
261
|
+
readonly id: string;
|
|
262
|
+
readonly name: string;
|
|
263
|
+
readonly description: string;
|
|
264
|
+
/** Per-unit deltas on `QuotaTierLimits` fields, e.g. `{ seats: 5 }`. Keys are
|
|
265
|
+
* constrained to real quota fields so a typo is a compile error (was
|
|
266
|
+
* `Record<string, number>`, where a misspelled key was silently unenforceable). */
|
|
267
|
+
readonly grants: Readonly<Partial<Record<keyof QuotaTierLimits, number>>>;
|
|
268
|
+
/** Feature flags granted by a feature bundle (e.g. `audit_log`). */
|
|
269
|
+
readonly features?: readonly string[];
|
|
270
|
+
/** Per-unit price (cents). Stripe multiplies by quantity. */
|
|
271
|
+
readonly prices: BillingPlanPrices;
|
|
272
|
+
/** True for stackable resource packs; false for a boolean feature bundle. */
|
|
273
|
+
readonly stackable: boolean;
|
|
274
|
+
/** Base tiers this bundle is offered to. */
|
|
275
|
+
readonly availableForTiers: readonly QuotaTier[];
|
|
276
|
+
readonly isActive: boolean;
|
|
277
|
+
readonly sortOrder: number;
|
|
278
|
+
}
|
|
279
|
+
/** Billing plans + add-on bundle configuration. */
|
|
256
280
|
export interface BillingConfig {
|
|
257
281
|
readonly plans: readonly BillingPlanConfig[];
|
|
282
|
+
readonly bundles: readonly BundleConfig[];
|
|
258
283
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
// Copyright 2026 Pipeline Builder Contributors
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
3
|
export {};
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLXR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbmZpZy9jb25maWctdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0NBQStDO0FBQy9DLHNDQUFzQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAyMDI2IFBpcGVsaW5lIEJ1aWxkZXIgQ29udHJpYnV0b3JzXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuXG5pbXBvcnQgdHlwZSB7IFF1b3RhVGllciB9IGZyb20gJ0BwaXBlbGluZS1idWlsZGVyL2FwaS1jb3JlJztcbmltcG9ydCB0eXBlIHsgRHVyYXRpb24sIFJlbW92YWxQb2xpY3kgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgdHlwZSB7IENvbXB1dGVUeXBlIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWNvZGVidWlsZCc7XG5pbXBvcnQgdHlwZSB7IEFyY2hpdGVjdHVyZSwgUnVudGltZSB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1sYW1iZGEnO1xuaW1wb3J0IHR5cGUgeyBSZXRlbnRpb25EYXlzIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWxvZ3MnO1xuaW1wb3J0IHR5cGUgeyBBbGdvcml0aG0gfSBmcm9tICdqc29ud2VidG9rZW4nO1xuXG4vKipcbiAqIFR5cGUtc2FmZSBjb25maWd1cmF0aW9uIGludGVyZmFjZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFwcENvbmZpZyB7XG4gIHJlYWRvbmx5IHNlcnZlcjogU2VydmVyQ29uZmlnO1xuICByZWFkb25seSBhdXRoOiBBdXRoQ29uZmlnO1xuICByZWFkb25seSBkYXRhYmFzZTogRGF0YWJhc2VDb25maWc7XG4gIHJlYWRvbmx5IHJlZ2lzdHJ5OiBSZWdpc3RyeUNvbmZpZztcbiAgcmVhZG9ubHkgcmVkaXM6IFJlZGlzQ29uZmlnO1xuICByZWFkb25seSBwbHVnaW5CdWlsZDogUGx1Z2luQnVpbGRDb25maWc7XG4gIHJlYWRvbmx5IGRvY2tlckNvbmZpZzogQnVpbGRDb25maWc7XG4gIHJlYWRvbmx5IG9ic2VydmFiaWxpdHk6IE9ic2VydmFiaWxpdHlDb25maWc7XG4gIHJlYWRvbmx5IGNvbXBsaWFuY2U6IENvbXBsaWFuY2VDb25maWc7XG4gIHJlYWRvbmx5IGF3czogQVdTQ29uZmlnO1xuICByZWFkb25seSByYXRlTGltaXQ6IFJhdGVMaW1pdENvbmZpZztcbiAgcmVhZG9ubHkgYmlsbGluZzogQmlsbGluZ0NvbmZpZztcbn1cblxuLyoqIEV4cHJlc3Mgc2VydmVyIGNvbmZpZ3VyYXRpb24uICovXG5leHBvcnQgaW50ZXJmYWNlIFNlcnZlckNvbmZpZyB7XG4gIC8qKiBIVFRQIGxpc3RlbiBwb3J0IChlbnY6IGBQT1JUYCkuICovXG4gIHJlYWRvbmx5IHBvcnQ6IG51bWJlcjtcbiAgcmVhZG9ubHkgY29yczoge1xuICAgIC8qKiBXaGV0aGVyIHRvIGluY2x1ZGUgY3JlZGVudGlhbHMgaW4gQ09SUyByZXNwb25zZXMgKGVudjogYENPUlNfQ1JFREVOVElBTFNgKS4gKi9cbiAgICByZWFkb25seSBjcmVkZW50aWFsczogYm9vbGVhbjtcbiAgICAvKiogQWxsb3dlZCBvcmlnaW4ocykg4oCUIHNpbmdsZSBzdHJpbmcsIGFycmF5LCBvciBgJyonYCAoZW52OiBgQ09SU19PUklHSU5gKS4gKi9cbiAgICByZWFkb25seSBvcmlnaW46IHN0cmluZyB8IHN0cmluZ1tdO1xuICB9O1xuICAvKiogTnVtYmVyIG9mIHJldmVyc2UgcHJveHkgaG9wcyB0byB0cnVzdCAoZW52OiBgVFJVU1RfUFJPWFlgKS4gKi9cbiAgcmVhZG9ubHkgdHJ1c3RQcm94eTogbnVtYmVyO1xuICAvKiogRnJvbnRlbmQgYmFzZSBVUkwsIHVzZWQgYXMgQ09SUyBmYWxsYmFjayAoZW52OiBgUExBVEZPUk1fQkFTRV9VUkxgKS4gKi9cbiAgcmVhZG9ubHkgcGxhdGZvcm1Vcmw6IHN0cmluZztcbiAgcmVhZG9ubHkgaHR0cENsaWVudDoge1xuICAgIC8qKiBEZWZhdWx0IEhUVFAgcmVxdWVzdCB0aW1lb3V0IGluIG1zIChlbnY6IGBIVFRQX0NMSUVOVF9USU1FT1VUYCkuICovXG4gICAgcmVhZG9ubHkgdGltZW91dDogbnVtYmVyO1xuICAgIC8qKiBNYXhpbXVtIHJldHJ5IGF0dGVtcHRzIGZvciBmYWlsZWQgcmVxdWVzdHMgKGVudjogYEhUVFBfQ0xJRU5UX01BWF9SRVRSSUVTYCkuICovXG4gICAgcmVhZG9ubHkgbWF4UmV0cmllczogbnVtYmVyO1xuICAgIC8qKiBCYXNlIGRlbGF5IGJldHdlZW4gcmV0cmllcyBpbiBtcyAoZW52OiBgSFRUUF9DTElFTlRfUkVUUllfREVMQVlfTVNgKS4gKi9cbiAgICByZWFkb25seSByZXRyeURlbGF5TXM6IG51bWJlcjtcbiAgfTtcbiAgcmVhZG9ubHkgc3NlOiB7XG4gICAgLyoqIE1heCBTU0UgY2xpZW50cyBwZXIgcmVxdWVzdCAoZW52OiBgU1NFX01BWF9DTElFTlRTX1BFUl9SRVFVRVNUYCkuICovXG4gICAgcmVhZG9ubHkgbWF4Q2xpZW50c1BlclJlcXVlc3Q6IG51bWJlcjtcbiAgICAvKiogU1NFIGNsaWVudCB0aW1lb3V0IGluIG1zIChlbnY6IGBTU0VfQ0xJRU5UX1RJTUVPVVRfTVNgKS4gKi9cbiAgICByZWFkb25seSBjbGllbnRUaW1lb3V0TXM6IG51bWJlcjtcbiAgICAvKiogU1NFIGNsZWFudXAgaW50ZXJ2YWwgaW4gbXMgKGVudjogYFNTRV9DTEVBTlVQX0lOVEVSVkFMX01TYCkuICovXG4gICAgcmVhZG9ubHkgY2xlYW51cEludGVydmFsTXM6IG51bWJlcjtcbiAgfTtcbiAgcmVhZG9ubHkgc2VydmljZXM6IHtcbiAgICByZWFkb25seSBwbHVnaW5Ib3N0OiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgcGx1Z2luUG9ydDogbnVtYmVyO1xuICAgIHJlYWRvbmx5IHBpcGVsaW5lSG9zdDogc3RyaW5nO1xuICAgIHJlYWRvbmx5IHBpcGVsaW5lUG9ydDogbnVtYmVyO1xuICAgIHJlYWRvbmx5IG1lc3NhZ2VIb3N0OiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgbWVzc2FnZVBvcnQ6IG51bWJlcjtcbiAgICByZWFkb25seSBwbGF0Zm9ybUhvc3Q6IHN0cmluZztcbiAgICByZWFkb25seSBwbGF0Zm9ybVBvcnQ6IG51bWJlcjtcbiAgICByZWFkb25seSBjb21wbGlhbmNlSG9zdDogc3RyaW5nO1xuICAgIHJlYWRvbmx5IGNvbXBsaWFuY2VQb3J0OiBudW1iZXI7XG4gICAgcmVhZG9ubHkgYmlsbGluZ0hvc3Q6IHN0cmluZztcbiAgICByZWFkb25seSBiaWxsaW5nUG9ydDogbnVtYmVyO1xuICAgIHJlYWRvbmx5IGJpbGxpbmdUaW1lb3V0OiBudW1iZXI7XG4gIH07XG59XG5cbi8qKiBKV1QgYW5kIHJlZnJlc2ggdG9rZW4gYXV0aGVudGljYXRpb24gY29uZmlndXJhdGlvbi4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXV0aENvbmZpZyB7XG4gIHJlYWRvbmx5IGp3dDoge1xuICAgIC8qKiBTaWduaW5nIHNlY3JldCBmb3IgYWNjZXNzIHRva2VucyAoZW52OiBgSldUX1NFQ1JFVGApLiAqL1xuICAgIHJlYWRvbmx5IHNlY3JldDogc3RyaW5nO1xuICAgIC8qKiBUb2tlbiBsaWZldGltZSBpbiBzZWNvbmRzIChlbnY6IGBKV1RfRVhQSVJFU19JTmApLiAqL1xuICAgIHJlYWRvbmx5IGV4cGlyZXNJbjogbnVtYmVyO1xuICAgIC8qKiBTaWduaW5nIGFsZ29yaXRobSwgZS5nLiBgJ0hTMjU2J2AgKGVudjogYEpXVF9BTEdPUklUSE1gKS4gKi9cbiAgICByZWFkb25seSBhbGdvcml0aG06IEFsZ29yaXRobTtcbiAgICAvKiogYmNyeXB0IHNhbHQgcm91bmRzIGZvciBwYXNzd29yZCBoYXNoaW5nIChlbnY6IGBCQ1JZUFRfU0FMVF9ST1VORFNgKS4gKi9cbiAgICByZWFkb25seSBzYWx0Um91bmRzOiBudW1iZXI7XG4gIH07XG4gIHJlYWRvbmx5IHJlZnJlc2hUb2tlbjoge1xuICAgIC8qKiBTaWduaW5nIHNlY3JldCBmb3IgcmVmcmVzaCB0b2tlbnMgKGVudjogYFJFRlJFU0hfVE9LRU5fU0VDUkVUYCkuICovXG4gICAgcmVhZG9ubHkgc2VjcmV0OiBzdHJpbmc7XG4gICAgLyoqIFRva2VuIGxpZmV0aW1lIGluIHNlY29uZHMgKGVudjogYFJFRlJFU0hfVE9LRU5fRVhQSVJFU19JTmApLiAqL1xuICAgIHJlYWRvbmx5IGV4cGlyZXNJbjogbnVtYmVyO1xuICB9O1xufVxuXG4vKiogUG9zdGdyZVNRTCBhbmQgRHJpenpsZSBPUk0gZGF0YWJhc2UgY29uZmlndXJhdGlvbi4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YWJhc2VDb25maWcge1xuICByZWFkb25seSBwb3N0Z3Jlczoge1xuICAgIC8qKiBQb3N0Z3JlU1FMIGhvc3QgKGVudjogYERCX0hPU1RgKS4gKi9cbiAgICByZWFkb25seSBob3N0OiBzdHJpbmc7XG4gICAgLyoqIFBvc3RncmVTUUwgcG9ydCAoZW52OiBgREJfUE9SVGApLiAqL1xuICAgIHJlYWRvbmx5IHBvcnQ6IG51bWJlcjtcbiAgICAvKiogRGF0YWJhc2UgbmFtZSAoZW52OiBgREFUQUJBU0VgKS4gKi9cbiAgICByZWFkb25seSBkYXRhYmFzZTogc3RyaW5nO1xuICAgIC8qKiBEYXRhYmFzZSB1c2VyIChlbnY6IGBEQl9VU0VSYCkuICovXG4gICAgcmVhZG9ubHkgdXNlcjogc3RyaW5nO1xuICAgIC8qKiBEYXRhYmFzZSBwYXNzd29yZCAoZW52OiBgREJfUEFTU1dPUkRgKS4gKi9cbiAgICByZWFkb25seSBwYXNzd29yZDogc3RyaW5nO1xuICB9O1xuICByZWFkb25seSBkcml6emxlOiB7XG4gICAgLyoqIE1heGltdW0gY29ubmVjdGlvbiBwb29sIHNpemUgKGVudjogYERSSVpaTEVfTUFYX1BPT0xfU0laRWApLiAqL1xuICAgIHJlYWRvbmx5IG1heFBvb2xTaXplOiBudW1iZXI7XG4gICAgLyoqIElkbGUgY29ubmVjdGlvbiB0aW1lb3V0IGluIG1zIChlbnY6IGBEUklaWkxFX0lETEVfVElNRU9VVF9NSUxMSVNgKS4gKi9cbiAgICByZWFkb25seSBpZGxlVGltZW91dE1pbGxpczogbnVtYmVyO1xuICAgIC8qKiBOZXcgY29ubmVjdGlvbiB0aW1lb3V0IGluIG1zIChlbnY6IGBEUklaWkxFX0NPTk5FQ1RJT05fVElNRU9VVF9NSUxMSVNgKS4gKi9cbiAgICByZWFkb25seSBjb25uZWN0aW9uVGltZW91dE1pbGxpczogbnVtYmVyO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlZ2lzdHJ5Q29uZmlnIHtcbiAgcmVhZG9ubHkgaG9zdDogc3RyaW5nO1xuICByZWFkb25seSBwb3J0OiBudW1iZXI7XG4gIC8qKlxuICAgKiBIb3N0L3BvcnQgYW4gT1VULU9GLUNMVVNURVIgY2xpZW50IChub3RhYmx5IEFXUyBDb2RlQnVpbGQpIHVzZXMgdG8gcHVsbFxuICAgKiBwbHVnaW4gaW1hZ2VzLCB3aGVuIGl0IGRpZmZlcnMgZnJvbSB0aGUgaW4tY2x1c3RlciBgaG9zdGAvYHBvcnRgLiBUaGVcbiAgICogaW4tY2x1c3RlciBgcmVnaXN0cnk6NTAwMGAgQ2x1c3RlcklQIGlzbid0IHJlc29sdmFibGUgZnJvbSB0aGUgVlBDLCBzbyB0aGVcbiAgICogc3ludGhlc2l6ZWQgQ29kZUJ1aWxkIGltYWdlIFVSSSBtdXN0IHBvaW50IGF0IHRoZSBwdWJsaWMgZ2F0ZXdheSBpbnN0ZWFkLlxuICAgKiBFbnY6IGBJTUFHRV9SRUdJU1RSWV9QVUxMX0hPU1RgIC8gYElNQUdFX1JFR0lTVFJZX1BVTExfUE9SVGAuIE9wdGlvbmFsO1xuICAgKiBjb25zdW1lcnMgZmFsbCBiYWNrIHRvIGBob3N0YC9gcG9ydGAgd2hlbiB1bnNldCAoc2luZ2xlLWhvc3QgL1xuICAgKiBpbi1jbHVzdGVyLW9ubHkgZGVwbG95cykuIGBsb2FkUmVnaXN0cnlDb25maWdgIGFsd2F5cyBwb3B1bGF0ZXMgdGhlbS5cbiAgICovXG4gIHJlYWRvbmx5IHB1bGxIb3N0Pzogc3RyaW5nO1xuICByZWFkb25seSBwdWxsUG9ydD86IG51bWJlcjtcbiAgLyoqIERvY2tlciBuZXR3b3JrIGZvciBidWlsZC9wdXNoIChlbXB0eSBzdHJpbmcgPSBkZWZhdWx0KS4gKi9cbiAgcmVhZG9ubHkgbmV0d29yazogc3RyaW5nO1xuICAvKipcbiAgICogQnVpbGRLaXQgdGFsa3MgdG8gdGhlIHJlZ2lzdHJ5IG92ZXIgcGxhaW4gSFRUUCB3aGVuIHRydWU7IEhUVFBTIHdpdGggdGhlXG4gICAqIHN5c3RlbSBDQSBidW5kbGUgb3RoZXJ3aXNlLiBFbnY6IGBJTUFHRV9SRUdJU1RSWV9IVFRQYCAoZGVmYXVsdHMgdHJ1ZSDigJRcbiAgICogdGhlIGluLWNsdXN0ZXIgcmVnaXN0cnkgaGFzIG5vIFRMUykuXG4gICAqL1xuICByZWFkb25seSBodHRwOiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlZGlzQ29uZmlnIHtcbiAgcmVhZG9ubHkgaG9zdDogc3RyaW5nO1xuICByZWFkb25seSBwb3J0OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGx1Z2luQnVpbGRDb25maWcge1xuICByZWFkb25seSBjb25jdXJyZW5jeTogbnVtYmVyO1xuICByZWFkb25seSBtYXhBdHRlbXB0czogbnVtYmVyO1xuICByZWFkb25seSBiYWNrb2ZmRGVsYXlNczogbnVtYmVyO1xuICByZWFkb25seSB3b3JrZXJUaW1lb3V0TXM6IG51bWJlcjtcbiAgcmVhZG9ubHkgdGVtcERpck1heEFnZU1zOiBudW1iZXI7XG4gIHJlYWRvbmx5IGRscU1heEF0dGVtcHRzOiBudW1iZXI7XG4gIHJlYWRvbmx5IGRscUJhY2tvZmZCYXNlTXM6IG51bWJlcjtcbiAgcmVhZG9ubHkgZGxxTWF4U2l6ZTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJ1aWxkQ29uZmlnIHtcbiAgLyoqIFJvb3QgZGlyZWN0b3J5IGZvciBidWlsZCB0ZW1wIGZpbGVzLiAqL1xuICByZWFkb25seSB0ZW1wUm9vdDogc3RyaW5nO1xuICAvKiogQnVpbGQgdGltZW91dCBpbiBtaWxsaXNlY29uZHMuICovXG4gIHJlYWRvbmx5IHRpbWVvdXRNczogbnVtYmVyO1xuICAvKiogUHVzaCB0aW1lb3V0IGluIG1pbGxpc2Vjb25kcy4gKi9cbiAgcmVhZG9ubHkgcHVzaFRpbWVvdXRNczogbnVtYmVyO1xuICAvKipcbiAgICogUGF0aCB0byB0aGUgYnVpbGRraXRkIHNvY2tldCB0aGUgcGx1Z2luJ3MgYGJ1aWxkY3RsYCBjb25uZWN0cyB0by4gSW4gazhzXG4gICAqIGFuZCBjb21wb3NlIHRoaXMgaXMgYSBzaGFyZWQgZW1wdHlEaXIvdG1wZnMgdm9sdW1lIG1vdW50ZWQgZnJvbSB0aGVcbiAgICogYnVpbGRraXRkIHNpZGVjYXIuXG4gICAqL1xuICByZWFkb25seSBidWlsZGtpdEFkZHI6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPYnNlcnZhYmlsaXR5Q29uZmlnIHtcbiAgcmVhZG9ubHkgbG9nTGV2ZWw6IHN0cmluZztcbiAgcmVhZG9ubHkgbG9nRm9ybWF0OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHNlcnZpY2VOYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHRyYWNpbmc6IHtcbiAgICByZWFkb25seSBlbmFibGVkOiBib29sZWFuO1xuICAgIHJlYWRvbmx5IGVuZHBvaW50OiBzdHJpbmc7XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29tcGxpYW5jZUNvbmZpZyB7XG4gIHJlYWRvbmx5IHNjYW5TY2hlZHVsZXJJbnRlcnZhbE1zOiBudW1iZXI7XG4gIC8qKiBXaGVuIGZhbHNlLCB0aGUgc2NoZWR1bGVyIHNraXBzIHNjYW5zL3NjaGVkdWxlcyBmb3IgdGhlIHN5c3RlbSBvcmcuIERlZmF1bHQ6IGZhbHNlLiAqL1xuICByZWFkb25seSBzeXN0ZW1PcmdTY2Fuc0VuYWJsZWQ6IGJvb2xlYW47XG4gIC8qKiBDcm9zcy1wb2QgbGVhZGVyLWxvY2sgVFRMIGZvciB0aGUgc2NhbiBzY2hlZHVsZXIgKG1zKS4gRGVmYXVsdDogMzAwMDAwLiAqL1xuICByZWFkb25seSBzY2FuTG9ja1R0bE1zOiBudW1iZXI7XG4gIC8qKiBIb3cgb2Z0ZW4gdGhlIGRpZ2VzdCBzY2hlZHVsZXIgY2hlY2tzIGZvciBkdWUgZGlnZXN0cyAobXMpLiBEZWZhdWx0OiAzNjAwMDAwLiAqL1xuICByZWFkb25seSBkaWdlc3RTY2hlZHVsZXJJbnRlcnZhbE1zOiBudW1iZXI7XG4gIC8qKiBDcm9zcy1wb2QgbGVhZGVyLWxvY2sgVFRMIGZvciB0aGUgZGlnZXN0IHNjaGVkdWxlciAobXMpLiBEZWZhdWx0OiAzMDAwMDAuICovXG4gIHJlYWRvbmx5IGRpZ2VzdExvY2tUdGxNczogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFXU0NvbmZpZyB7XG4gIHJlYWRvbmx5IGxhbWJkYToge1xuICAgIHJlYWRvbmx5IHJ1bnRpbWU6IFJ1bnRpbWU7XG4gICAgcmVhZG9ubHkgdGltZW91dDogRHVyYXRpb247XG4gICAgcmVhZG9ubHkgbWVtb3J5U2l6ZTogbnVtYmVyO1xuICAgIHJlYWRvbmx5IGFyY2hpdGVjdHVyZTogQXJjaGl0ZWN0dXJlO1xuICAgIHJlYWRvbmx5IHJlc2VydmVkQ29uY3VycmVudEV4ZWN1dGlvbnM/OiBudW1iZXI7XG4gIH07XG4gIHJlYWRvbmx5IGxvZ2dpbmc6IHtcbiAgICByZWFkb25seSBncm91cE5hbWU6IHN0cmluZztcbiAgICByZWFkb25seSByZXRlbnRpb246IFJldGVudGlvbkRheXM7XG4gICAgcmVhZG9ubHkgcmVtb3ZhbFBvbGljeTogUmVtb3ZhbFBvbGljeTtcbiAgfTtcbiAgcmVhZG9ubHkgY29kZUJ1aWxkOiB7XG4gICAgcmVhZG9ubHkgY29tcHV0ZVR5cGU6IENvbXB1dGVUeXBlO1xuICAgIC8qKlxuICAgICAqIEltYWdlIHVzZWQgZm9yIENvZGVCdWlsZCBzdGVwcyB0aGF0IGRvbid0IGhhdmUgYSBwbHVnaW4tYmFrZWQgaW1hZ2VcbiAgICAgKiAoY29sZC1zdGFydCBzeW50aCBib290c3RyYXAsIFNoZWxsU3RlcHMgd2l0aCBubyByZWdpc3RyeSwgYW5kXG4gICAgICogYG1ldGFkYXRhX29ubHlgIHBsdWdpbnMpLiBlbnY6IGBDT0RFQlVJTERfREVGQVVMVF9JTUFHRWAuIERlZmF1bHRcbiAgICAgKiBgcGlwZWxpbmUtYm9vdHN0cmFwOjEuMGAg4oCUIHRoZSBsb2NhbCB0YWcgYnVpbHQgYnlcbiAgICAgKiBgZGVwbG95L2NvZGVidWlsZC9ib290c3RyYXAvRG9ja2VyZmlsZWAsIHdpdGggYHBpcGVsaW5lLW1hbmFnZXJgXG4gICAgICogYmFrZWQgaW4uXG4gICAgICpcbiAgICAgKiBDb250cmFjdDogdGhlIGltYWdlIE1VU1QgaGF2ZSBgcGlwZWxpbmUtbWFuYWdlcmAgb24gUEFUSC4gVGhlXG4gICAgICogYm9vdHN0cmFwIHN5bnRoIHBhdGggbm8gbG9uZ2VyIHNlbGYtaGVhbHMgdmlhIGBucG0gaW5zdGFsbCAtZ2A7XG4gICAgICogcG9pbnRpbmcgdGhpcyBhdCBhbiBpbWFnZSB3aXRob3V0IHRoZSB0b29sIGdldHMgZXhpdCAxMjcgb24gdGhlXG4gICAgICogZmlyc3QgY29sZC1zdGFydCBidWlsZC5cbiAgICAgKlxuICAgICAqIFJlc29sdXRpb246XG4gICAgICogLSBCYXJlIHRhZyAobm8gYC9gKSDihpIgYXV0by1wcmVmaXhlZCB0b1xuICAgICAqICAgYDxyZWdpc3RyeS1ob3N0Pjo8cG9ydD4vbGlicmFyeS88dGFnPmAgdXNpbmcgdGhlIHJlZ2lzdHJ5IGNvbmZpZyxcbiAgICAgKiAgIHdpdGggdGhlIHBlci1vcmcgcGxhdGZvcm0gU2VjcmV0IGFzIEJhc2ljIGF1dGggKHNhbWUgZmxvdyBhc1xuICAgICAqICAgcGx1Z2luIGltYWdlcykuXG4gICAgICogLSBGdWxseS1xdWFsaWZpZWQgcmVnaXN0cnkgVVJJIChjb250YWlucyBgL2ApIOKGkiB1c2VkIGFzLWlzLCBub1xuICAgICAqICAgYXV0aCB3aXJlZCAob3BlcmF0b3Igb3ducyBtYWtpbmcgaXQgcHVsbGFibGUpLlxuICAgICAqIC0gV2hlbiB0aGUgcmVnaXN0cnkgaXNuJ3QgY29uZmlndXJlZCBvciBwZXItb3JnIGF1dGggaXNuJ3RcbiAgICAgKiAgIGF2YWlsYWJsZSBhdCB0aGUgY2FsbCBzaXRlLCBmYWxscyBiYWNrIHRvXG4gICAgICogICBgYXdzL2NvZGVidWlsZC9zdGFuZGFyZDo4LjBgIHdpdGggYSB3YXJuaW5nIOKAlCBjb2xkLXN0YXJ0IHN5bnRoXG4gICAgICogICB3aWxsIHRoZW4gZmFpbCBvbiBgcGlwZWxpbmUtbWFuYWdlcjogbm90IGZvdW5kYCwgc3VyZmFjaW5nIHRoZVxuICAgICAqICAgbWlzY29uZmlndXJhdGlvbiBsb3VkbHkgaW5zdGVhZCBvZiBzaWxlbnRseSBzd2FwcGluZyBpbWFnZXMuXG4gICAgICovXG4gICAgcmVhZG9ubHkgZGVmYXVsdEltYWdlOiBzdHJpbmc7XG4gIH07XG59XG5cbi8qKiBFeHByZXNzIHJhdGUgbGltaXRpbmcgY29uZmlndXJhdGlvbi4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmF0ZUxpbWl0Q29uZmlnIHtcbiAgLyoqIE1heGltdW0gcmVxdWVzdHMgcGVyIHdpbmRvdyAoZW52OiBgTElNSVRFUl9NQVhgKS4gKi9cbiAgcmVhZG9ubHkgbWF4OiBudW1iZXI7XG4gIC8qKiBSYXRlIGxpbWl0IHdpbmRvdyBpbiBtaWxsaXNlY29uZHMgKGVudjogYExJTUlURVJfV0lORE9XTVNgKS4gKi9cbiAgcmVhZG9ubHkgd2luZG93TXM6IG51bWJlcjtcbiAgLyoqIEluY2x1ZGUgbGVnYWN5IGBYLVJhdGVMaW1pdC0qYCBoZWFkZXJzLiAqL1xuICByZWFkb25seSBsZWdhY3lIZWFkZXJzOiBib29sZWFuO1xuICAvKiogSW5jbHVkZSBzdGFuZGFyZCBgUmF0ZUxpbWl0LSpgIGhlYWRlcnMgKFJGQyA2NTg1KS4gKi9cbiAgcmVhZG9ubHkgc3RhbmRhcmRIZWFkZXJzOiBib29sZWFuO1xufVxuXG4vKiogUHJpY2UgY29uZmlndXJhdGlvbiBmb3IgYSBzaW5nbGUgYmlsbGluZyBwbGFuIChpbiBjZW50cykuICovXG5leHBvcnQgaW50ZXJmYWNlIEJpbGxpbmdQbGFuUHJpY2VzIHtcbiAgcmVhZG9ubHkgbW9udGhseTogbnVtYmVyO1xuICByZWFkb25seSBhbm51YWw6IG51bWJlcjtcbn1cblxuLyoqIEZ1bGwgYmlsbGluZyBwbGFuIGRlZmluaXRpb24gdXNlZCBmb3Igc2VlZGluZyBhbmQgcnVudGltZSBjb25maWd1cmF0aW9uLiAqL1xuZXhwb3J0IGludGVyZmFjZSBCaWxsaW5nUGxhbkNvbmZpZyB7XG4gIHJlYWRvbmx5IGlkOiBzdHJpbmc7XG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgZGVzY3JpcHRpb246IHN0cmluZztcbiAgcmVhZG9ubHkgdGllcjogUXVvdGFUaWVyO1xuICByZWFkb25seSBwcmljZXM6IEJpbGxpbmdQbGFuUHJpY2VzO1xuICByZWFkb25seSBmZWF0dXJlczogcmVhZG9ubHkgc3RyaW5nW107XG4gIHJlYWRvbmx5IGlzQWN0aXZlOiBib29sZWFuO1xuICByZWFkb25seSBpc0RlZmF1bHQ6IGJvb2xlYW47XG4gIHJlYWRvbmx5IHNvcnRPcmRlcjogbnVtYmVyO1xufVxuXG4vKiogQmlsbGluZyBwbGFucyBjb25maWd1cmF0aW9uLiAqL1xuZXhwb3J0IGludGVyZmFjZSBCaWxsaW5nQ29uZmlnIHtcbiAgcmVhZG9ubHkgcGxhbnM6IHJlYWRvbmx5IEJpbGxpbmdQbGFuQ29uZmlnW107XG59XG4iXX0=
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLXR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbmZpZy9jb25maWctdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0NBQStDO0FBQy9DLHNDQUFzQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAyMDI2IFBpcGVsaW5lIEJ1aWxkZXIgQ29udHJpYnV0b3JzXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuXG5pbXBvcnQgdHlwZSB7IFF1b3RhVGllciwgUXVvdGFUaWVyTGltaXRzIH0gZnJvbSAnQHBpcGVsaW5lLWJ1aWxkZXIvYXBpLWNvcmUnO1xuaW1wb3J0IHR5cGUgeyBEdXJhdGlvbiwgUmVtb3ZhbFBvbGljeSB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB0eXBlIHsgQ29tcHV0ZVR5cGUgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY29kZWJ1aWxkJztcbmltcG9ydCB0eXBlIHsgQXJjaGl0ZWN0dXJlLCBSdW50aW1lIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWxhbWJkYSc7XG5pbXBvcnQgdHlwZSB7IFJldGVudGlvbkRheXMgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbG9ncyc7XG5pbXBvcnQgdHlwZSB7IEFsZ29yaXRobSB9IGZyb20gJ2pzb253ZWJ0b2tlbic7XG5cbi8qKlxuICogVHlwZS1zYWZlIGNvbmZpZ3VyYXRpb24gaW50ZXJmYWNlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXBwQ29uZmlnIHtcbiAgcmVhZG9ubHkgc2VydmVyOiBTZXJ2ZXJDb25maWc7XG4gIHJlYWRvbmx5IGF1dGg6IEF1dGhDb25maWc7XG4gIHJlYWRvbmx5IGRhdGFiYXNlOiBEYXRhYmFzZUNvbmZpZztcbiAgcmVhZG9ubHkgcmVnaXN0cnk6IFJlZ2lzdHJ5Q29uZmlnO1xuICByZWFkb25seSByZWRpczogUmVkaXNDb25maWc7XG4gIHJlYWRvbmx5IHBsdWdpbkJ1aWxkOiBQbHVnaW5CdWlsZENvbmZpZztcbiAgcmVhZG9ubHkgZG9ja2VyQ29uZmlnOiBCdWlsZENvbmZpZztcbiAgcmVhZG9ubHkgb2JzZXJ2YWJpbGl0eTogT2JzZXJ2YWJpbGl0eUNvbmZpZztcbiAgcmVhZG9ubHkgY29tcGxpYW5jZTogQ29tcGxpYW5jZUNvbmZpZztcbiAgcmVhZG9ubHkgYXdzOiBBV1NDb25maWc7XG4gIHJlYWRvbmx5IHJhdGVMaW1pdDogUmF0ZUxpbWl0Q29uZmlnO1xuICByZWFkb25seSBiaWxsaW5nOiBCaWxsaW5nQ29uZmlnO1xufVxuXG4vKiogRXhwcmVzcyBzZXJ2ZXIgY29uZmlndXJhdGlvbi4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2VydmVyQ29uZmlnIHtcbiAgLyoqIEhUVFAgbGlzdGVuIHBvcnQgKGVudjogYFBPUlRgKS4gKi9cbiAgcmVhZG9ubHkgcG9ydDogbnVtYmVyO1xuICByZWFkb25seSBjb3JzOiB7XG4gICAgLyoqIFdoZXRoZXIgdG8gaW5jbHVkZSBjcmVkZW50aWFscyBpbiBDT1JTIHJlc3BvbnNlcyAoZW52OiBgQ09SU19DUkVERU5USUFMU2ApLiAqL1xuICAgIHJlYWRvbmx5IGNyZWRlbnRpYWxzOiBib29sZWFuO1xuICAgIC8qKiBBbGxvd2VkIG9yaWdpbihzKSDigJQgc2luZ2xlIHN0cmluZywgYXJyYXksIG9yIGAnKidgIChlbnY6IGBDT1JTX09SSUdJTmApLiAqL1xuICAgIHJlYWRvbmx5IG9yaWdpbjogc3RyaW5nIHwgc3RyaW5nW107XG4gIH07XG4gIC8qKiBOdW1iZXIgb2YgcmV2ZXJzZSBwcm94eSBob3BzIHRvIHRydXN0IChlbnY6IGBUUlVTVF9QUk9YWWApLiAqL1xuICByZWFkb25seSB0cnVzdFByb3h5OiBudW1iZXI7XG4gIC8qKiBGcm9udGVuZCBiYXNlIFVSTCwgdXNlZCBhcyBDT1JTIGZhbGxiYWNrIChlbnY6IGBQTEFURk9STV9CQVNFX1VSTGApLiAqL1xuICByZWFkb25seSBwbGF0Zm9ybVVybDogc3RyaW5nO1xuICByZWFkb25seSBodHRwQ2xpZW50OiB7XG4gICAgLyoqIERlZmF1bHQgSFRUUCByZXF1ZXN0IHRpbWVvdXQgaW4gbXMgKGVudjogYEhUVFBfQ0xJRU5UX1RJTUVPVVRgKS4gKi9cbiAgICByZWFkb25seSB0aW1lb3V0OiBudW1iZXI7XG4gICAgLyoqIE1heGltdW0gcmV0cnkgYXR0ZW1wdHMgZm9yIGZhaWxlZCByZXF1ZXN0cyAoZW52OiBgSFRUUF9DTElFTlRfTUFYX1JFVFJJRVNgKS4gKi9cbiAgICByZWFkb25seSBtYXhSZXRyaWVzOiBudW1iZXI7XG4gICAgLyoqIEJhc2UgZGVsYXkgYmV0d2VlbiByZXRyaWVzIGluIG1zIChlbnY6IGBIVFRQX0NMSUVOVF9SRVRSWV9ERUxBWV9NU2ApLiAqL1xuICAgIHJlYWRvbmx5IHJldHJ5RGVsYXlNczogbnVtYmVyO1xuICB9O1xuICByZWFkb25seSBzc2U6IHtcbiAgICAvKiogTWF4IFNTRSBjbGllbnRzIHBlciByZXF1ZXN0IChlbnY6IGBTU0VfTUFYX0NMSUVOVFNfUEVSX1JFUVVFU1RgKS4gKi9cbiAgICByZWFkb25seSBtYXhDbGllbnRzUGVyUmVxdWVzdDogbnVtYmVyO1xuICAgIC8qKiBTU0UgY2xpZW50IHRpbWVvdXQgaW4gbXMgKGVudjogYFNTRV9DTElFTlRfVElNRU9VVF9NU2ApLiAqL1xuICAgIHJlYWRvbmx5IGNsaWVudFRpbWVvdXRNczogbnVtYmVyO1xuICAgIC8qKiBTU0UgY2xlYW51cCBpbnRlcnZhbCBpbiBtcyAoZW52OiBgU1NFX0NMRUFOVVBfSU5URVJWQUxfTVNgKS4gKi9cbiAgICByZWFkb25seSBjbGVhbnVwSW50ZXJ2YWxNczogbnVtYmVyO1xuICB9O1xuICByZWFkb25seSBzZXJ2aWNlczoge1xuICAgIHJlYWRvbmx5IHBsdWdpbkhvc3Q6IHN0cmluZztcbiAgICByZWFkb25seSBwbHVnaW5Qb3J0OiBudW1iZXI7XG4gICAgcmVhZG9ubHkgcGlwZWxpbmVIb3N0OiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgcGlwZWxpbmVQb3J0OiBudW1iZXI7XG4gICAgcmVhZG9ubHkgbWVzc2FnZUhvc3Q6IHN0cmluZztcbiAgICByZWFkb25seSBtZXNzYWdlUG9ydDogbnVtYmVyO1xuICAgIHJlYWRvbmx5IHBsYXRmb3JtSG9zdDogc3RyaW5nO1xuICAgIHJlYWRvbmx5IHBsYXRmb3JtUG9ydDogbnVtYmVyO1xuICAgIHJlYWRvbmx5IGNvbXBsaWFuY2VIb3N0OiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgY29tcGxpYW5jZVBvcnQ6IG51bWJlcjtcbiAgICByZWFkb25seSBiaWxsaW5nSG9zdDogc3RyaW5nO1xuICAgIHJlYWRvbmx5IGJpbGxpbmdQb3J0OiBudW1iZXI7XG4gICAgcmVhZG9ubHkgYmlsbGluZ1RpbWVvdXQ6IG51bWJlcjtcbiAgfTtcbn1cblxuLyoqIEpXVCBhbmQgcmVmcmVzaCB0b2tlbiBhdXRoZW50aWNhdGlvbiBjb25maWd1cmF0aW9uLiAqL1xuZXhwb3J0IGludGVyZmFjZSBBdXRoQ29uZmlnIHtcbiAgcmVhZG9ubHkgand0OiB7XG4gICAgLyoqIFNpZ25pbmcgc2VjcmV0IGZvciBhY2Nlc3MgdG9rZW5zIChlbnY6IGBKV1RfU0VDUkVUYCkuICovXG4gICAgcmVhZG9ubHkgc2VjcmV0OiBzdHJpbmc7XG4gICAgLyoqIFRva2VuIGxpZmV0aW1lIGluIHNlY29uZHMgKGVudjogYEpXVF9FWFBJUkVTX0lOYCkuICovXG4gICAgcmVhZG9ubHkgZXhwaXJlc0luOiBudW1iZXI7XG4gICAgLyoqIFNpZ25pbmcgYWxnb3JpdGhtLCBlLmcuIGAnSFMyNTYnYCAoZW52OiBgSldUX0FMR09SSVRITWApLiAqL1xuICAgIHJlYWRvbmx5IGFsZ29yaXRobTogQWxnb3JpdGhtO1xuICAgIC8qKiBiY3J5cHQgc2FsdCByb3VuZHMgZm9yIHBhc3N3b3JkIGhhc2hpbmcgKGVudjogYEJDUllQVF9TQUxUX1JPVU5EU2ApLiAqL1xuICAgIHJlYWRvbmx5IHNhbHRSb3VuZHM6IG51bWJlcjtcbiAgfTtcbiAgcmVhZG9ubHkgcmVmcmVzaFRva2VuOiB7XG4gICAgLyoqIFNpZ25pbmcgc2VjcmV0IGZvciByZWZyZXNoIHRva2VucyAoZW52OiBgUkVGUkVTSF9UT0tFTl9TRUNSRVRgKS4gKi9cbiAgICByZWFkb25seSBzZWNyZXQ6IHN0cmluZztcbiAgICAvKiogVG9rZW4gbGlmZXRpbWUgaW4gc2Vjb25kcyAoZW52OiBgUkVGUkVTSF9UT0tFTl9FWFBJUkVTX0lOYCkuICovXG4gICAgcmVhZG9ubHkgZXhwaXJlc0luOiBudW1iZXI7XG4gIH07XG59XG5cbi8qKiBQb3N0Z3JlU1FMIGFuZCBEcml6emxlIE9STSBkYXRhYmFzZSBjb25maWd1cmF0aW9uLiAqL1xuZXhwb3J0IGludGVyZmFjZSBEYXRhYmFzZUNvbmZpZyB7XG4gIHJlYWRvbmx5IHBvc3RncmVzOiB7XG4gICAgLyoqIFBvc3RncmVTUUwgaG9zdCAoZW52OiBgREJfSE9TVGApLiAqL1xuICAgIHJlYWRvbmx5IGhvc3Q6IHN0cmluZztcbiAgICAvKiogUG9zdGdyZVNRTCBwb3J0IChlbnY6IGBEQl9QT1JUYCkuICovXG4gICAgcmVhZG9ubHkgcG9ydDogbnVtYmVyO1xuICAgIC8qKiBEYXRhYmFzZSBuYW1lIChlbnY6IGBEQVRBQkFTRWApLiAqL1xuICAgIHJlYWRvbmx5IGRhdGFiYXNlOiBzdHJpbmc7XG4gICAgLyoqIERhdGFiYXNlIHVzZXIgKGVudjogYERCX1VTRVJgKS4gKi9cbiAgICByZWFkb25seSB1c2VyOiBzdHJpbmc7XG4gICAgLyoqIERhdGFiYXNlIHBhc3N3b3JkIChlbnY6IGBEQl9QQVNTV09SRGApLiAqL1xuICAgIHJlYWRvbmx5IHBhc3N3b3JkOiBzdHJpbmc7XG4gIH07XG4gIHJlYWRvbmx5IGRyaXp6bGU6IHtcbiAgICAvKiogTWF4aW11bSBjb25uZWN0aW9uIHBvb2wgc2l6ZSAoZW52OiBgRFJJWlpMRV9NQVhfUE9PTF9TSVpFYCkuICovXG4gICAgcmVhZG9ubHkgbWF4UG9vbFNpemU6IG51bWJlcjtcbiAgICAvKiogSWRsZSBjb25uZWN0aW9uIHRpbWVvdXQgaW4gbXMgKGVudjogYERSSVpaTEVfSURMRV9USU1FT1VUX01JTExJU2ApLiAqL1xuICAgIHJlYWRvbmx5IGlkbGVUaW1lb3V0TWlsbGlzOiBudW1iZXI7XG4gICAgLyoqIE5ldyBjb25uZWN0aW9uIHRpbWVvdXQgaW4gbXMgKGVudjogYERSSVpaTEVfQ09OTkVDVElPTl9USU1FT1VUX01JTExJU2ApLiAqL1xuICAgIHJlYWRvbmx5IGNvbm5lY3Rpb25UaW1lb3V0TWlsbGlzOiBudW1iZXI7XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVnaXN0cnlDb25maWcge1xuICByZWFkb25seSBob3N0OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHBvcnQ6IG51bWJlcjtcbiAgLyoqXG4gICAqIEhvc3QvcG9ydCBhbiBPVVQtT0YtQ0xVU1RFUiBjbGllbnQgKG5vdGFibHkgQVdTIENvZGVCdWlsZCkgdXNlcyB0byBwdWxsXG4gICAqIHBsdWdpbiBpbWFnZXMsIHdoZW4gaXQgZGlmZmVycyBmcm9tIHRoZSBpbi1jbHVzdGVyIGBob3N0YC9gcG9ydGAuIFRoZVxuICAgKiBpbi1jbHVzdGVyIGByZWdpc3RyeTo1MDAwYCBDbHVzdGVySVAgaXNuJ3QgcmVzb2x2YWJsZSBmcm9tIHRoZSBWUEMsIHNvIHRoZVxuICAgKiBzeW50aGVzaXplZCBDb2RlQnVpbGQgaW1hZ2UgVVJJIG11c3QgcG9pbnQgYXQgdGhlIHB1YmxpYyBnYXRld2F5IGluc3RlYWQuXG4gICAqIEVudjogYElNQUdFX1JFR0lTVFJZX1BVTExfSE9TVGAgLyBgSU1BR0VfUkVHSVNUUllfUFVMTF9QT1JUYC4gT3B0aW9uYWw7XG4gICAqIGNvbnN1bWVycyBmYWxsIGJhY2sgdG8gYGhvc3RgL2Bwb3J0YCB3aGVuIHVuc2V0IChzaW5nbGUtaG9zdCAvXG4gICAqIGluLWNsdXN0ZXItb25seSBkZXBsb3lzKS4gYGxvYWRSZWdpc3RyeUNvbmZpZ2AgYWx3YXlzIHBvcHVsYXRlcyB0aGVtLlxuICAgKi9cbiAgcmVhZG9ubHkgcHVsbEhvc3Q/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHB1bGxQb3J0PzogbnVtYmVyO1xuICAvKiogRG9ja2VyIG5ldHdvcmsgZm9yIGJ1aWxkL3B1c2ggKGVtcHR5IHN0cmluZyA9IGRlZmF1bHQpLiAqL1xuICByZWFkb25seSBuZXR3b3JrOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBCdWlsZEtpdCB0YWxrcyB0byB0aGUgcmVnaXN0cnkgb3ZlciBwbGFpbiBIVFRQIHdoZW4gdHJ1ZTsgSFRUUFMgd2l0aCB0aGVcbiAgICogc3lzdGVtIENBIGJ1bmRsZSBvdGhlcndpc2UuIEVudjogYElNQUdFX1JFR0lTVFJZX0hUVFBgIChkZWZhdWx0cyB0cnVlIOKAlFxuICAgKiB0aGUgaW4tY2x1c3RlciByZWdpc3RyeSBoYXMgbm8gVExTKS5cbiAgICovXG4gIHJlYWRvbmx5IGh0dHA6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVkaXNDb25maWcge1xuICByZWFkb25seSBob3N0OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHBvcnQ6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQbHVnaW5CdWlsZENvbmZpZyB7XG4gIHJlYWRvbmx5IGNvbmN1cnJlbmN5OiBudW1iZXI7XG4gIHJlYWRvbmx5IG1heEF0dGVtcHRzOiBudW1iZXI7XG4gIHJlYWRvbmx5IGJhY2tvZmZEZWxheU1zOiBudW1iZXI7XG4gIHJlYWRvbmx5IHdvcmtlclRpbWVvdXRNczogbnVtYmVyO1xuICByZWFkb25seSB0ZW1wRGlyTWF4QWdlTXM6IG51bWJlcjtcbiAgcmVhZG9ubHkgZGxxTWF4QXR0ZW1wdHM6IG51bWJlcjtcbiAgcmVhZG9ubHkgZGxxQmFja29mZkJhc2VNczogbnVtYmVyO1xuICByZWFkb25seSBkbHFNYXhTaXplOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnVpbGRDb25maWcge1xuICAvKiogUm9vdCBkaXJlY3RvcnkgZm9yIGJ1aWxkIHRlbXAgZmlsZXMuICovXG4gIHJlYWRvbmx5IHRlbXBSb290OiBzdHJpbmc7XG4gIC8qKiBCdWlsZCB0aW1lb3V0IGluIG1pbGxpc2Vjb25kcy4gKi9cbiAgcmVhZG9ubHkgdGltZW91dE1zOiBudW1iZXI7XG4gIC8qKiBQdXNoIHRpbWVvdXQgaW4gbWlsbGlzZWNvbmRzLiAqL1xuICByZWFkb25seSBwdXNoVGltZW91dE1zOiBudW1iZXI7XG4gIC8qKlxuICAgKiBQYXRoIHRvIHRoZSBidWlsZGtpdGQgc29ja2V0IHRoZSBwbHVnaW4ncyBgYnVpbGRjdGxgIGNvbm5lY3RzIHRvLiBJbiBrOHNcbiAgICogYW5kIGNvbXBvc2UgdGhpcyBpcyBhIHNoYXJlZCBlbXB0eURpci90bXBmcyB2b2x1bWUgbW91bnRlZCBmcm9tIHRoZVxuICAgKiBidWlsZGtpdGQgc2lkZWNhci5cbiAgICovXG4gIHJlYWRvbmx5IGJ1aWxka2l0QWRkcjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9ic2VydmFiaWxpdHlDb25maWcge1xuICByZWFkb25seSBsb2dMZXZlbDogc3RyaW5nO1xuICByZWFkb25seSBsb2dGb3JtYXQ6IHN0cmluZztcbiAgcmVhZG9ubHkgc2VydmljZU5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgdHJhY2luZzoge1xuICAgIHJlYWRvbmx5IGVuYWJsZWQ6IGJvb2xlYW47XG4gICAgcmVhZG9ubHkgZW5kcG9pbnQ6IHN0cmluZztcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb21wbGlhbmNlQ29uZmlnIHtcbiAgcmVhZG9ubHkgc2NhblNjaGVkdWxlckludGVydmFsTXM6IG51bWJlcjtcbiAgLyoqIFdoZW4gZmFsc2UsIHRoZSBzY2hlZHVsZXIgc2tpcHMgc2NhbnMvc2NoZWR1bGVzIGZvciB0aGUgc3lzdGVtIG9yZy4gRGVmYXVsdDogZmFsc2UuICovXG4gIHJlYWRvbmx5IHN5c3RlbU9yZ1NjYW5zRW5hYmxlZDogYm9vbGVhbjtcbiAgLyoqIENyb3NzLXBvZCBsZWFkZXItbG9jayBUVEwgZm9yIHRoZSBzY2FuIHNjaGVkdWxlciAobXMpLiBEZWZhdWx0OiAzMDAwMDAuICovXG4gIHJlYWRvbmx5IHNjYW5Mb2NrVHRsTXM6IG51bWJlcjtcbiAgLyoqIEhvdyBvZnRlbiB0aGUgZGlnZXN0IHNjaGVkdWxlciBjaGVja3MgZm9yIGR1ZSBkaWdlc3RzIChtcykuIERlZmF1bHQ6IDM2MDAwMDAuICovXG4gIHJlYWRvbmx5IGRpZ2VzdFNjaGVkdWxlckludGVydmFsTXM6IG51bWJlcjtcbiAgLyoqIENyb3NzLXBvZCBsZWFkZXItbG9jayBUVEwgZm9yIHRoZSBkaWdlc3Qgc2NoZWR1bGVyIChtcykuIERlZmF1bHQ6IDMwMDAwMC4gKi9cbiAgcmVhZG9ubHkgZGlnZXN0TG9ja1R0bE1zOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVdTQ29uZmlnIHtcbiAgcmVhZG9ubHkgbGFtYmRhOiB7XG4gICAgcmVhZG9ubHkgcnVudGltZTogUnVudGltZTtcbiAgICByZWFkb25seSB0aW1lb3V0OiBEdXJhdGlvbjtcbiAgICByZWFkb25seSBtZW1vcnlTaXplOiBudW1iZXI7XG4gICAgcmVhZG9ubHkgYXJjaGl0ZWN0dXJlOiBBcmNoaXRlY3R1cmU7XG4gICAgcmVhZG9ubHkgcmVzZXJ2ZWRDb25jdXJyZW50RXhlY3V0aW9ucz86IG51bWJlcjtcbiAgfTtcbiAgcmVhZG9ubHkgbG9nZ2luZzoge1xuICAgIHJlYWRvbmx5IGdyb3VwTmFtZTogc3RyaW5nO1xuICAgIHJlYWRvbmx5IHJldGVudGlvbjogUmV0ZW50aW9uRGF5cztcbiAgICByZWFkb25seSByZW1vdmFsUG9saWN5OiBSZW1vdmFsUG9saWN5O1xuICB9O1xuICByZWFkb25seSBjb2RlQnVpbGQ6IHtcbiAgICByZWFkb25seSBjb21wdXRlVHlwZTogQ29tcHV0ZVR5cGU7XG4gICAgLyoqXG4gICAgICogSW1hZ2UgdXNlZCBmb3IgQ29kZUJ1aWxkIHN0ZXBzIHRoYXQgZG9uJ3QgaGF2ZSBhIHBsdWdpbi1iYWtlZCBpbWFnZVxuICAgICAqIChjb2xkLXN0YXJ0IHN5bnRoIGJvb3RzdHJhcCwgU2hlbGxTdGVwcyB3aXRoIG5vIHJlZ2lzdHJ5LCBhbmRcbiAgICAgKiBgbWV0YWRhdGFfb25seWAgcGx1Z2lucykuIGVudjogYENPREVCVUlMRF9ERUZBVUxUX0lNQUdFYC4gRGVmYXVsdFxuICAgICAqIGBwaXBlbGluZS1ib290c3RyYXA6MS4wYCDigJQgdGhlIGxvY2FsIHRhZyBidWlsdCBieVxuICAgICAqIGBkZXBsb3kvY29kZWJ1aWxkL2Jvb3RzdHJhcC9Eb2NrZXJmaWxlYCwgd2l0aCBgcGlwZWxpbmUtbWFuYWdlcmBcbiAgICAgKiBiYWtlZCBpbi5cbiAgICAgKlxuICAgICAqIENvbnRyYWN0OiB0aGUgaW1hZ2UgTVVTVCBoYXZlIGBwaXBlbGluZS1tYW5hZ2VyYCBvbiBQQVRILiBUaGVcbiAgICAgKiBib290c3RyYXAgc3ludGggcGF0aCBubyBsb25nZXIgc2VsZi1oZWFscyB2aWEgYG5wbSBpbnN0YWxsIC1nYDtcbiAgICAgKiBwb2ludGluZyB0aGlzIGF0IGFuIGltYWdlIHdpdGhvdXQgdGhlIHRvb2wgZ2V0cyBleGl0IDEyNyBvbiB0aGVcbiAgICAgKiBmaXJzdCBjb2xkLXN0YXJ0IGJ1aWxkLlxuICAgICAqXG4gICAgICogUmVzb2x1dGlvbjpcbiAgICAgKiAtIEJhcmUgdGFnIChubyBgL2ApIOKGkiBhdXRvLXByZWZpeGVkIHRvXG4gICAgICogICBgPHJlZ2lzdHJ5LWhvc3Q+Ojxwb3J0Pi9saWJyYXJ5Lzx0YWc+YCB1c2luZyB0aGUgcmVnaXN0cnkgY29uZmlnLFxuICAgICAqICAgd2l0aCB0aGUgcGVyLW9yZyBwbGF0Zm9ybSBTZWNyZXQgYXMgQmFzaWMgYXV0aCAoc2FtZSBmbG93IGFzXG4gICAgICogICBwbHVnaW4gaW1hZ2VzKS5cbiAgICAgKiAtIEZ1bGx5LXF1YWxpZmllZCByZWdpc3RyeSBVUkkgKGNvbnRhaW5zIGAvYCkg4oaSIHVzZWQgYXMtaXMsIG5vXG4gICAgICogICBhdXRoIHdpcmVkIChvcGVyYXRvciBvd25zIG1ha2luZyBpdCBwdWxsYWJsZSkuXG4gICAgICogLSBXaGVuIHRoZSByZWdpc3RyeSBpc24ndCBjb25maWd1cmVkIG9yIHBlci1vcmcgYXV0aCBpc24ndFxuICAgICAqICAgYXZhaWxhYmxlIGF0IHRoZSBjYWxsIHNpdGUsIGZhbGxzIGJhY2sgdG9cbiAgICAgKiAgIGBhd3MvY29kZWJ1aWxkL3N0YW5kYXJkOjguMGAgd2l0aCBhIHdhcm5pbmcg4oCUIGNvbGQtc3RhcnQgc3ludGhcbiAgICAgKiAgIHdpbGwgdGhlbiBmYWlsIG9uIGBwaXBlbGluZS1tYW5hZ2VyOiBub3QgZm91bmRgLCBzdXJmYWNpbmcgdGhlXG4gICAgICogICBtaXNjb25maWd1cmF0aW9uIGxvdWRseSBpbnN0ZWFkIG9mIHNpbGVudGx5IHN3YXBwaW5nIGltYWdlcy5cbiAgICAgKi9cbiAgICByZWFkb25seSBkZWZhdWx0SW1hZ2U6IHN0cmluZztcbiAgfTtcbn1cblxuLyoqIEV4cHJlc3MgcmF0ZSBsaW1pdGluZyBjb25maWd1cmF0aW9uLiAqL1xuZXhwb3J0IGludGVyZmFjZSBSYXRlTGltaXRDb25maWcge1xuICAvKiogTWF4aW11bSByZXF1ZXN0cyBwZXIgd2luZG93IChlbnY6IGBMSU1JVEVSX01BWGApLiAqL1xuICByZWFkb25seSBtYXg6IG51bWJlcjtcbiAgLyoqIFJhdGUgbGltaXQgd2luZG93IGluIG1pbGxpc2Vjb25kcyAoZW52OiBgTElNSVRFUl9XSU5ET1dNU2ApLiAqL1xuICByZWFkb25seSB3aW5kb3dNczogbnVtYmVyO1xuICAvKiogSW5jbHVkZSBsZWdhY3kgYFgtUmF0ZUxpbWl0LSpgIGhlYWRlcnMuICovXG4gIHJlYWRvbmx5IGxlZ2FjeUhlYWRlcnM6IGJvb2xlYW47XG4gIC8qKiBJbmNsdWRlIHN0YW5kYXJkIGBSYXRlTGltaXQtKmAgaGVhZGVycyAoUkZDIDY1ODUpLiAqL1xuICByZWFkb25seSBzdGFuZGFyZEhlYWRlcnM6IGJvb2xlYW47XG59XG5cbi8qKiBQcmljZSBjb25maWd1cmF0aW9uIGZvciBhIHNpbmdsZSBiaWxsaW5nIHBsYW4gKGluIGNlbnRzKS4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmlsbGluZ1BsYW5QcmljZXMge1xuICByZWFkb25seSBtb250aGx5OiBudW1iZXI7XG4gIHJlYWRvbmx5IGFubnVhbDogbnVtYmVyO1xufVxuXG4vKiogRnVsbCBiaWxsaW5nIHBsYW4gZGVmaW5pdGlvbiB1c2VkIGZvciBzZWVkaW5nIGFuZCBydW50aW1lIGNvbmZpZ3VyYXRpb24uICovXG5leHBvcnQgaW50ZXJmYWNlIEJpbGxpbmdQbGFuQ29uZmlnIHtcbiAgcmVhZG9ubHkgaWQ6IHN0cmluZztcbiAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuICByZWFkb25seSBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICByZWFkb25seSB0aWVyOiBRdW90YVRpZXI7XG4gIHJlYWRvbmx5IHByaWNlczogQmlsbGluZ1BsYW5QcmljZXM7XG4gIHJlYWRvbmx5IGZlYXR1cmVzOiByZWFkb25seSBzdHJpbmdbXTtcbiAgcmVhZG9ubHkgaXNBY3RpdmU6IGJvb2xlYW47XG4gIHJlYWRvbmx5IGlzRGVmYXVsdDogYm9vbGVhbjtcbiAgcmVhZG9ubHkgc29ydE9yZGVyOiBudW1iZXI7XG59XG5cbi8qKlxuICogQSBwdXJjaGFzYWJsZSBhZGQtb24gYnVuZGxlOiBhIHF1YW50aXR5LXN0YWNrYWJsZSBwYWNrIHRoYXQgQUREUyB0byB0aGVcbiAqIGFjY291bnQncyBiYXNlICh0aWVyKSBsaW1pdHMgYW5kIGFkZHMgYSByZWN1cnJpbmcgbGluZSBpdGVtLiBTZWVcbiAqIGRvY3MvYmlsbGluZy1idW5kbGVzLm1kLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJ1bmRsZUNvbmZpZyB7XG4gIHJlYWRvbmx5IGlkOiBzdHJpbmc7XG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgZGVzY3JpcHRpb246IHN0cmluZztcbiAgLyoqIFBlci11bml0IGRlbHRhcyBvbiBgUXVvdGFUaWVyTGltaXRzYCBmaWVsZHMsIGUuZy4gYHsgc2VhdHM6IDUgfWAuIEtleXMgYXJlXG4gICAqICBjb25zdHJhaW5lZCB0byByZWFsIHF1b3RhIGZpZWxkcyBzbyBhIHR5cG8gaXMgYSBjb21waWxlIGVycm9yICh3YXNcbiAgICogIGBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+YCwgd2hlcmUgYSBtaXNzcGVsbGVkIGtleSB3YXMgc2lsZW50bHkgdW5lbmZvcmNlYWJsZSkuICovXG4gIHJlYWRvbmx5IGdyYW50czogUmVhZG9ubHk8UGFydGlhbDxSZWNvcmQ8a2V5b2YgUXVvdGFUaWVyTGltaXRzLCBudW1iZXI+Pj47XG4gIC8qKiBGZWF0dXJlIGZsYWdzIGdyYW50ZWQgYnkgYSBmZWF0dXJlIGJ1bmRsZSAoZS5nLiBgYXVkaXRfbG9nYCkuICovXG4gIHJlYWRvbmx5IGZlYXR1cmVzPzogcmVhZG9ubHkgc3RyaW5nW107XG4gIC8qKiBQZXItdW5pdCBwcmljZSAoY2VudHMpLiBTdHJpcGUgbXVsdGlwbGllcyBieSBxdWFudGl0eS4gKi9cbiAgcmVhZG9ubHkgcHJpY2VzOiBCaWxsaW5nUGxhblByaWNlcztcbiAgLyoqIFRydWUgZm9yIHN0YWNrYWJsZSByZXNvdXJjZSBwYWNrczsgZmFsc2UgZm9yIGEgYm9vbGVhbiBmZWF0dXJlIGJ1bmRsZS4gKi9cbiAgcmVhZG9ubHkgc3RhY2thYmxlOiBib29sZWFuO1xuICAvKiogQmFzZSB0aWVycyB0aGlzIGJ1bmRsZSBpcyBvZmZlcmVkIHRvLiAqL1xuICByZWFkb25seSBhdmFpbGFibGVGb3JUaWVyczogcmVhZG9ubHkgUXVvdGFUaWVyW107XG4gIHJlYWRvbmx5IGlzQWN0aXZlOiBib29sZWFuO1xuICByZWFkb25seSBzb3J0T3JkZXI6IG51bWJlcjtcbn1cblxuLyoqIEJpbGxpbmcgcGxhbnMgKyBhZGQtb24gYnVuZGxlIGNvbmZpZ3VyYXRpb24uICovXG5leHBvcnQgaW50ZXJmYWNlIEJpbGxpbmdDb25maWcge1xuICByZWFkb25seSBwbGFuczogcmVhZG9ubHkgQmlsbGluZ1BsYW5Db25maWdbXTtcbiAgcmVhZG9ubHkgYnVuZGxlczogcmVhZG9ubHkgQnVuZGxlQ29uZmlnW107XG59XG4iXX0=
|
|
@@ -52,9 +52,9 @@ export declare function loadDockerConfig(): BuildConfig;
|
|
|
52
52
|
* Load AWS infrastructure configuration from environment variables.
|
|
53
53
|
*
|
|
54
54
|
* Environment variables:
|
|
55
|
-
* - `LAMBDA_RUNTIME` — Lambda runtime (default: `'nodejs24.x'`;
|
|
55
|
+
* - `LAMBDA_RUNTIME` — Lambda runtime (default: `'nodejs24.x'`; unknown values fall back to it)
|
|
56
56
|
* - `LAMBDA_TIMEOUT` — Lambda timeout in seconds (default: `900`)
|
|
57
|
-
* - `LAMBDA_MEMORY_SIZE` — Lambda memory in MB (default: `
|
|
57
|
+
* - `LAMBDA_MEMORY_SIZE` — Lambda memory in MB (default: `512`)
|
|
58
58
|
* - `LAMBDA_ARCHITECTURE` — `'x86_64'` or ARM (default: ARM_64)
|
|
59
59
|
* - `LOG_GROUP_NAME` — CloudWatch log group (default: `'/pipeline-builder/logs'`)
|
|
60
60
|
* - `LOG_RETENTION` — Log retention in days (default: `7`)
|
|
@@ -145,9 +145,9 @@ export function loadDockerConfig() {
|
|
|
145
145
|
* Load AWS infrastructure configuration from environment variables.
|
|
146
146
|
*
|
|
147
147
|
* Environment variables:
|
|
148
|
-
* - `LAMBDA_RUNTIME` — Lambda runtime (default: `'nodejs24.x'`;
|
|
148
|
+
* - `LAMBDA_RUNTIME` — Lambda runtime (default: `'nodejs24.x'`; unknown values fall back to it)
|
|
149
149
|
* - `LAMBDA_TIMEOUT` — Lambda timeout in seconds (default: `900`)
|
|
150
|
-
* - `LAMBDA_MEMORY_SIZE` — Lambda memory in MB (default: `
|
|
150
|
+
* - `LAMBDA_MEMORY_SIZE` — Lambda memory in MB (default: `512`)
|
|
151
151
|
* - `LAMBDA_ARCHITECTURE` — `'x86_64'` or ARM (default: ARM_64)
|
|
152
152
|
* - `LOG_GROUP_NAME` — CloudWatch log group (default: `'/pipeline-builder/logs'`)
|
|
153
153
|
* - `LOG_RETENTION` — Log retention in days (default: `7`)
|
|
@@ -207,4 +207,4 @@ function parseRetention(days) {
|
|
|
207
207
|
const parsed = parseInt(days, 10);
|
|
208
208
|
return VALID_RETENTION_DAYS.has(parsed) ? parsed : RetentionDays.ONE_DAY;
|
|
209
209
|
}
|
|
210
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5mcmFzdHJ1Y3R1cmUtY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbmZpZy9pbmZyYXN0cnVjdHVyZS1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0NBQStDO0FBQy9DLHNDQUFzQztBQUV0QyxPQUFPLElBQUksTUFBTSxNQUFNLENBQUM7QUFDeEIsT0FBTyxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDdEQsT0FBTyxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFckQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRTdEOzs7Ozs7Ozs7Ozs7Ozs7O0dBZ0JHO0FBQ0gsTUFBTSxVQUFVLGtCQUFrQjtJQUNoQyxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLG1CQUFtQixJQUFJLFVBQVUsQ0FBQztJQUMzRCxNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsSUFBSSxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDckUsNEVBQTRFO0lBQzVFLHdFQUF3RTtJQUN4RSw4RUFBOEU7SUFDOUUsNEVBQTRFO0lBQzVFLE1BQU0sUUFBUSxHQUFHLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNyRSxPQUFPO1FBQ0wsSUFBSTtRQUNKLElBQUk7UUFDSixRQUFRLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsSUFBSSxRQUFRLEVBQUUsSUFBSSxJQUFJLElBQUk7UUFDeEUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsd0JBQXdCO1lBQzVDLENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FB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LENBQUMsSUFBSSxPQUFPLENBQUMsV0FBVyxDQUFDO0FBQ3BELENBQUM7QUFFRDs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLEdBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBZSxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQztBQUVySCxTQUFTLGNBQWMsQ0FBQyxJQUFZO0lBQ2xDLE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDbEMsT0FBTyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQXVCLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUM7QUFDNUYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAyMDI2IFBpcGVsaW5lIEJ1aWxkZXIgQ29udHJpYnV0b3JzXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuXG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7IER1cmF0aW9uLCBSZW1vdmFsUG9saWN5IH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgQXJjaGl0ZWN0dXJlLCBSdW50aW1lIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWxhbWJkYSc7XG5pbXBvcnQgeyBSZXRlbnRpb25EYXlzIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWxvZ3MnO1xuaW1wb3J0IHR5cGUgeyBBV1NDb25maWcsIEJ1aWxkQ29uZmlnLCBDb21wbGlhbmNlQ29uZmlnLCBEYXRhYmFzZUNvbmZpZywgT2JzZXJ2YWJpbGl0eUNvbmZpZywgUGx1Z2luQnVpbGRDb25maWcsIFJlZGlzQ29uZmlnLCBSZWdpc3RyeUNvbmZpZyB9IGZyb20gJy4vY29uZmlnLXR5cGVzLmpzJztcbmltcG9ydCB7IGdldENvbXB1dGVUeXBlIH0gZnJvbSAnLi4vY29yZS9waXBlbGluZS1oZWxwZXJzLmpzJztcblxuLyoqXG4gKiBMb2FkIERvY2tlciByZWdpc3RyeSBjb25maWd1cmF0aW9uIGZyb20gZW52aXJvbm1lbnQgdmFyaWFibGVzLlxuICpcbiAqIEVudmlyb25tZW50IHZhcmlhYmxlczpcbiAqIC0gYElNQUdFX1JFR0lTVFJZX0hPU1RgIOKAlCBSZWdpc3RyeSBob3N0bmFtZSAoZGVmYXVsdDogYCdyZWdpc3RyeSdgKVxuICogLSBgSU1BR0VfUkVHSVNUUllfUE9SVGAg4oCUIFJlZ2lzdHJ5IHBvcnQgKGRlZmF1bHQ6IGA1MDAwYClcbiAqIC0gYElNQUdFX1JFR0lTVFJZX1BVTExfSE9TVGAg4oCUIEhvc3QgYW4gb3V0LW9mLWNsdXN0ZXIgY2xpZW50IChDb2RlQnVpbGQpXG4gKiAgIHVzZXMgdG8gcHVsbCBwbHVnaW4gaW1hZ2VzLiBXaGVuIHVuc2V0LCBkZXJpdmVkIGZyb20gYFBMQVRGT1JNX0JBU0VfVVJMYCdzXG4gKiAgIGhvc3QgKHRoZSBwdWJsaWMgZW5kcG9pbnQgQ29kZUJ1aWxkIGNhbiByZXNvbHZlKSwgdGhlbiBgSU1BR0VfUkVHSVNUUllfSE9TVGAuXG4gKiAtIGBJTUFHRV9SRUdJU1RSWV9QVUxMX1BPUlRgIOKAlCBQb3J0IGZvciB0aGUgYWJvdmUuIFdoZW4gdW5zZXQsIGRlcml2ZWQgZnJvbVxuICogICBgUExBVEZPUk1fQkFTRV9VUkxgJ3MgcG9ydCwgdGhlbiBgSU1BR0VfUkVHSVNUUllfUE9SVGAuXG4gKiAtIGBET0NLRVJfTkVUV09SS2Ag4oCUIERvY2tlciBuZXR3b3JrIGZvciBidWlsZC9wdXNoIChkZWZhdWx0OiBgJydgKVxuICogLSBgSU1BR0VfUkVHSVNUUllfSFRUUGAg4oCUIFVzZSBwbGFpbiBIVFRQIGluc3RlYWQgb2YgSFRUUFMgKGRlZmF1bHQ6IGB0cnVlYCxcbiAqICAgdGhlIGluLWNsdXN0ZXIgcmVnaXN0cnkgaGFzIG5vIFRMUykuXG4gKlxuICogQHJldHVybnMgUmVnaXN0cnkgY29uZmlndXJhdGlvblxuICovXG5leHBvcnQgZnVuY3Rpb24gbG9hZFJlZ2lzdHJ5Q29uZmlnKCk6IFJlZ2lzdHJ5Q29uZmlnIHtcbiAgY29uc3QgaG9zdCA9IHByb2Nlc3MuZW52LklNQUdFX1JFR0lTVFJZX0hPU1QgfHwgJ3JlZ2lzdHJ5JztcbiAgY29uc3QgcG9ydCA9IHBhcnNlSW50KHByb2Nlc3MuZW52LklNQUdFX1JFR0lTVFJZX1BPUlQgfHwgJzUwMDAnLCAxMCk7XG4gIC8vIFdoZW4gbm8gZXhwbGljaXQgcHVsbCBob3N0IGlzIHNldCwgZGVyaXZlIGl0IGZyb20gUExBVEZPUk1fQkFTRV9VUkwg4oCUIHRoZVxuICAvLyBwdWJsaWMgcGxhdGZvcm0gZW5kcG9pbnQgYW4gb3V0LW9mLWNsdXN0ZXIgY2xpZW50IChBV1MgQ29kZUJ1aWxkKSBjYW5cbiAgLy8gcmVzb2x2ZSwgdW5saWtlIHRoZSBpbi1jbHVzdGVyIGByZWdpc3RyeWAgQ2x1c3RlcklQLiBPbmx5IGZhbGxzIGJhY2sgdG8gdGhlXG4gIC8vIGluLWNsdXN0ZXIgaG9zdCB3aGVuIFBMQVRGT1JNX0JBU0VfVVJMIGlzIHVuc2V0L3VucGFyc2VhYmxlIChlLmcuIGxvY2FsKS5cbiAgY29uc3QgcGxhdGZvcm0gPSBwYXJzZVBsYXRmb3JtQmFzZVVybChwcm9jZXNzLmVudi5QTEFURk9STV9CQVNFX1VSTCk7XG4gIHJldHVybiB7XG4gICAgaG9zdCxcbiAgICBwb3J0LFxuICAgIHB1bGxIb3N0OiBwcm9jZXNzLmVudi5JTUFHRV9SRUdJU1RSWV9QVUxMX0hPU1QgfHwgcGxhdGZvcm0/Lmhvc3QgfHwgaG9zdCxcbiAgICBwdWxsUG9ydDogcHJvY2Vzcy5lbnYuSU1BR0VfUkVHSVNUUllfUFVMTF9QT1JUXG4gICAgICA/IHBhcnNlSW50KHByb2Nlc3MuZW52LklNQUdFX1JFR0lTVFJZX1BVTExfUE9SVCwgMTApXG4gICAgICA6IChwbGF0Zm9ybT8ucG9ydCA/PyBwb3J0KSxcbiAgICBuZXR3b3JrOiBwcm9jZXNzLmVudi5ET0NLRVJfTkVUV09SSyB8fCAnJyxcbiAgICBodHRwOiBwcm9jZXNzLmVudi5JTUFHRV9SRUdJU1RSWV9IVFRQICE9PSAnZmFsc2UnLFxuICB9O1xufVxuXG4vKiogRXh0cmFjdCBob3N0ICsgcG9ydCBmcm9tIFBMQVRGT1JNX0JBU0VfVVJMIChlLmcuIGBodHRwczovL3BpcGVsaW5lLWJ1aWxkZXIuY29tYFxuICogIOKGkiBgeyBob3N0OiAncGlwZWxpbmUtYnVpbGRlci5jb20nLCBwb3J0OiA0NDMgfWApLiBSZXR1cm5zIG51bGwgd2hlbiB0aGUgdmFsdWVcbiAqICBpcyB1bnNldCBvciBub3QgYSB2YWxpZCBVUkwuIEV4cG9ydGVkIHNvIHRoZSBDTEkgKHBpcGVsaW5lLW1hbmFnZXIpIGRlcml2ZXNcbiAqICB0aGUgcmVnaXN0cnkgcHVsbCB0YXJnZXQgd2l0aCB0aGUgU0FNRSBwYXJzaW5nLCBpbnN0ZWFkIG9mIGR1cGxpY2F0aW5nIGl0LiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlUGxhdGZvcm1CYXNlVXJsKHJhdz86IHN0cmluZyk6IHsgaG9zdDogc3RyaW5nOyBwb3J0OiBudW1iZXIgfSB8IG51bGwge1xuICBpZiAoIXJhdykgcmV0dXJuIG51bGw7XG4gIHRyeSB7XG4gICAgY29uc3QgdSA9IG5ldyBVUkwocmF3KTtcbiAgICAvLyBBIHNjaGVtZS1sZXNzIHZhbHVlIGxpa2UgYGhvc3Q6ODQ0M2AgcGFyc2VzIHdpdGggYSBjdXN0b20gcHJvdG9jb2wgYW5kIGFuXG4gICAgLy8gRU1QVFkgaG9zdG5hbWUg4oCUIHJlamVjdCBpdCBzbyBjYWxsZXJzIGZhbGwgYmFjayByYXRoZXIgdGhhbiBkZXJpdmUgYVxuICAgIC8vIGhvc3QtbGVzcyBlbmRwb2ludC5cbiAgICBpZiAoIXUuaG9zdG5hbWUpIHJldHVybiBudWxsO1xuICAgIGNvbnN0IHBvcnQgPSB1LnBvcnQgPyBwYXJzZUludCh1LnBvcnQsIDEwKSA6ICh1LnByb3RvY29sID09PSAnaHR0cHM6JyA/IDQ0MyA6IDgwKTtcbiAgICByZXR1cm4geyBob3N0OiB1Lmhvc3RuYW1lLCBwb3J0IH07XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiBudWxsO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsb2FkUmVkaXNDb25maWcoKTogUmVkaXNDb25maWcge1xuICByZXR1cm4ge1xuICAgIGhvc3Q6IHByb2Nlc3MuZW52LlJFRElTX0hPU1QgfHwgJ2xvY2FsaG9zdCcsXG4gICAgcG9ydDogcGFyc2VJbnQocHJvY2Vzcy5lbnYuUkVESVNfUE9SVCB8fCAnNjM3OScsIDEwKSxcbiAgfTtcbn1cblxuLyoqXG4gKiBMb2FkIHBsdWdpbiBidWlsZCBxdWV1ZSBjb25maWd1cmF0aW9uLlxuICpcbiAqIEVudmlyb25tZW50IHZhcmlhYmxlczpcbiAqIC0gYFBMVUdJTl9CVUlMRF9DT05DVVJSRU5DWWAg4oCUIE1heCBjb25jdXJyZW50IHBsdWdpbiBidWlsZHMgKGRlZmF1bHQ6IGAxYClcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGxvYWRQbHVnaW5CdWlsZENvbmZpZygpOiBQbHVnaW5CdWlsZENvbmZpZyB7XG4gIHJldHVybiB7XG4gICAgY29uY3VycmVuY3k6IHBhcnNlSW50KHByb2Nlc3MuZW52LlBMVUdJTl9CVUlMRF9DT05DVVJSRU5DWSB8fCAnMScsIDEwKSxcbiAgICBtYXhBdHRlbXB0czogcGFyc2VJbnQocHJvY2Vzcy5lbnYuUExVR0lOX0JVSUxEX01BWF9BVFRFTVBUUyB8fCAnMicsIDEwKSxcbiAgICBiYWNrb2ZmRGVsYXlNczogcGFyc2VJbnQocHJvY2Vzcy5lbnYuUExVR0lOX0JVSUxEX0JBQ0tPRkZfREVMQVlfTVMgfHwgJzUwMDAnLCAxMCksXG4gICAgd29ya2VyVGltZW91dE1zOiBwYXJzZUludChwcm9jZXNzLmVudi5QTFVHSU5fQlVJTERfV09SS0VSX1RJTUVPVVRfTVMgfHwgJzEwMDAwJywgMTApLFxuICAgIHRlbXBEaXJNYXhBZ2VNczogcGFyc2VJbnQocHJvY2Vzcy5lbnYuVEVNUF9ESVJfTUFYX0FHRV9NUyB8fCAnMTQ0MDAwMDAnLCAxMCksXG4gICAgZGxxTWF4QXR0ZW1wdHM6IHBhcnNlSW50KHByb2Nlc3MuZW52LlBMVUdJTl9ETFFfTUFYX0FUVEVNUFRTIHx8ICczJywgMTApLFxuICAgIGRscUJhY2tvZmZCYXNlTXM6IHBhcnNlSW50KHByb2Nlc3MuZW52LlBMVUdJTl9ETFFfQkFDS09GRl9CQVNFX01TIHx8ICczMDAwMDAnLCAxMCksXG4gICAgZGxxTWF4U2l6ZTogcGFyc2VJbnQocHJvY2Vzcy5lbnYuUExVR0lOX0RMUV9NQVhfU0laRSB8fCAnMjAnLCAxMCksXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsb2FkRGF0YWJhc2VDb25maWcoKTogRGF0YWJhc2VDb25maWcge1xuICByZXR1cm4ge1xuICAgIHBvc3RncmVzOiB7XG4gICAgICBob3N0OiBwcm9jZXNzLmVudi5EQl9IT1NUIHx8ICdwb3N0Z3JlcycsXG4gICAgICBwb3J0OiBwYXJzZUludChwcm9jZXNzLmVudi5EQl9QT1JUIHx8ICc1NDMyJywgMTApLFxuICAgICAgZGF0YWJhc2U6IHByb2Nlc3MuZW52LkRBVEFCQVNFIHx8ICdwaXBlbGluZV9idWlsZGVyJyxcbiAgICAgIHVzZXI6IHByb2Nlc3MuZW52LkRCX1VTRVIgfHwgJ3Bvc3RncmVzJyxcbiAgICAgIHBhc3N3b3JkOiBwcm9jZXNzLmVudi5EQl9QQVNTV09SRCB8fCAnJyxcbiAgICB9LFxuICAgIGRyaXp6bGU6IHtcbiAgICAgIG1heFBvb2xTaXplOiBwYXJzZUludChwcm9jZXNzLmVudi5EUklaWkxFX01BWF9QT09MX1NJWkUgfHwgJzIwJywgMTApLFxuICAgICAgaWRsZVRpbWVvdXRNaWxsaXM6IHBhcnNlSW50KHByb2Nlc3MuZW52LkRSSVpaTEVfSURMRV9USU1FT1VUX01JTExJUyB8fCAnMzAwMDAnLCAxMCksXG4gICAgICBjb25uZWN0aW9uVGltZW91dE1pbGxpczogcGFyc2VJbnQocHJvY2Vzcy5lbnYuRFJJWlpMRV9DT05ORUNUSU9OX1RJTUVPVVRfTUlMTElTIHx8ICcxMDAwMCcsIDEwKSxcbiAgICB9LFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbG9hZE9ic2VydmFiaWxpdHlDb25maWcoKTogT2JzZXJ2YWJpbGl0eUNvbmZpZyB7XG4gIHJldHVybiB7XG4gICAgbG9nTGV2ZWw6IHByb2Nlc3MuZW52LkxPR19MRVZFTCB8fCAnaW5mbycsXG4gICAgbG9nRm9ybWF0OiBwcm9jZXNzLmVudi5MT0dfRk9STUFUIHx8ICdqc29uJyxcbiAgICBzZXJ2aWNlTmFtZTogcHJvY2Vzcy5lbnYuU0VSVklDRV9OQU1FIHx8ICdhcGknLFxuICAgIHRyYWNpbmc6IHtcbiAgICAgIGVuYWJsZWQ6IHByb2Nlc3MuZW52Lk9URUxfVFJBQ0lOR19FTkFCTEVEID09PSAndHJ1ZScsXG4gICAgICBlbmRwb2ludDogcHJvY2Vzcy5lbnYuT1RFTF9FWFBPUlRFUl9PVExQX0VORFBPSU5UIHx8ICdodHRwOi8vbG9jYWxob3N0OjQzMTgvdjEvdHJhY2VzJyxcbiAgICB9LFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbG9hZENvbXBsaWFuY2VDb25maWcoKTogQ29tcGxpYW5jZUNvbmZpZyB7XG4gIHJldHVybiB7XG4gICAgc2NhblNjaGVkdWxlckludGVydmFsTXM6IHBhcnNlSW50KHByb2Nlc3MuZW52LlNDQU5fU0NIRURVTEVSX0lOVEVSVkFMX01TIHx8ICc2MDAwMCcsIDEwKSxcbiAgICBzeXN0ZW1PcmdTY2Fuc0VuYWJsZWQ6IHByb2Nlc3MuZW52LlNZU1RFTV9PUkdfU0NBTlNfRU5BQkxFRCA9PT0gJ3RydWUnLFxuICAgIHNjYW5Mb2NrVHRsTXM6IHBhcnNlSW50KHByb2Nlc3MuZW52LlNDQU5fTE9DS19UVExfTVMgfHwgJzMwMDAwMCcsIDEwKSxcbiAgICBkaWdlc3RTY2hlZHVsZXJJbnRlcnZhbE1zOiBwYXJzZUludChwcm9jZXNzLmVudi5ESUdFU1RfU0NIRURVTEVSX0lOVEVSVkFMX01TIHx8ICczNjAwMDAwJywgMTApLFxuICAgIGRpZ2VzdExvY2tUdGxNczogcGFyc2VJbnQocHJvY2Vzcy5lbnYuRElHRVNUX0xPQ0tfVFRMX01TIHx8ICczMDAwMDAnLCAxMCksXG4gIH07XG59XG5cbi8qKlxuICogTG9hZCBwbHVnaW4gYnVpbGQgY29uZmlndXJhdGlvbi4gQnVpbGRzIHJ1biBhZ2FpbnN0IGEgcm9vdGxlc3MgYG1vYnkvYnVpbGRraXRgXG4gKiBzaWRlY2FyIOKAlCBzZWUgYEJVSUxES0lUX0hPU1RgLlxuICpcbiAqIEVudmlyb25tZW50IHZhcmlhYmxlczpcbiAqIC0gYERPQ0tFUl9CVUlMRF9URU1QX1JPT1RgIOKAlCBUZW1wIGRpcmVjdG9yeSBmb3IgYnVpbGQgY29udGV4dHMgKGRlZmF1bHQ6IGA8Y3dkPi90bXBgKVxuICogLSBgRE9DS0VSX0JVSUxEX1RJTUVPVVRfTVNgIOKAlCBCdWlsZCB0aW1lb3V0IGluIG1pbGxpc2Vjb25kcyAoZGVmYXVsdDogYDkwMDAwMGAgLyAxNSBtaW4pXG4gKiAtIGBET0NLRVJfUFVTSF9USU1FT1VUX01TYCDigJQgUHVzaCB0aW1lb3V0IGluIG1pbGxpc2Vjb25kcyAoZGVmYXVsdDogYDMwMDAwMGAgLyA1IG1pbilcbiAqIC0gYEJVSUxES0lUX0hPU1RgIOKAlCBidWlsZGN0bCBgLS1hZGRyYCB2YWx1ZSBmb3IgdGhlIGJ1aWxka2l0ZCBzaWRlY2FyXG4gKiAgIChkZWZhdWx0OiBgdW5peDovLy9ydW4vYnVpbGRraXQvYnVpbGRraXRkLnNvY2tgKVxuICovXG5leHBvcnQgZnVuY3Rpb24gbG9hZERvY2tlckNvbmZpZygpOiBCdWlsZENvbmZpZyB7XG4gIHJldHVybiB7XG4gICAgdGVtcFJvb3Q6IHByb2Nlc3MuZW52LkRPQ0tFUl9CVUlMRF9URU1QX1JPT1QgfHwgcGF0aC5qb2luKHByb2Nlc3MuY3dkKCksICd0bXAnKSxcbiAgICB0aW1lb3V0TXM6IHBhcnNlSW50KHByb2Nlc3MuZW52LkRPQ0tFUl9CVUlMRF9USU1FT1VUX01TIHx8ICc5MDAwMDAnLCAxMCksXG4gICAgcHVzaFRpbWVvdXRNczogcGFyc2VJbnQocHJvY2Vzcy5lbnYuRE9DS0VSX1BVU0hfVElNRU9VVF9NUyB8fCAnMzAwMDAwJywgMTApLFxuICAgIGJ1aWxka2l0QWRkcjogcHJvY2Vzcy5lbnYuQlVJTERLSVRfSE9TVCB8fCAndW5peDovLy9ydW4vYnVpbGRraXQvYnVpbGRraXRkLnNvY2snLFxuICB9O1xufVxuXG4vKipcbiAqIExvYWQgQVdTIGluZnJhc3RydWN0dXJlIGNvbmZpZ3VyYXRpb24gZnJvbSBlbnZpcm9ubWVudCB2YXJpYWJsZXMuXG4gKlxuICogRW52aXJvbm1lbnQgdmFyaWFibGVzOlxuICogLSBgTEFNQkRBX1JVTlRJTUVgIOKAlCBMYW1iZGEgcnVudGltZSAoZGVmYXVsdDogYCdub2RlanMyNC54J2A7IHN1cHBvcnRzIG5vZGVqczIyLngsIG5vZGVqczI0LngpXG4gKiAtIGBMQU1CREFfVElNRU9VVGAg4oCUIExhbWJkYSB0aW1lb3V0IGluIHNlY29uZHMgKGRlZmF1bHQ6IGA5MDBgKVxuICogLSBgTEFNQkRBX01FTU9SWV9TSVpFYCDigJQgTGFtYmRhIG1lbW9yeSBpbiBNQiAoZGVmYXVsdDogYDEyOGApXG4gKiAtIGBMQU1CREFfQVJDSElURUNUVVJFYCDigJQgYCd4ODZfNjQnYCBvciBBUk0gKGRlZmF1bHQ6IEFSTV82NClcbiAqIC0gYExPR19HUk9VUF9OQU1FYCDigJQgQ2xvdWRXYXRjaCBsb2cgZ3JvdXAgKGRlZmF1bHQ6IGAnL3BpcGVsaW5lLWJ1aWxkZXIvbG9ncydgKVxuICogLSBgTE9HX1JFVEVOVElPTmAg4oCUIExvZyByZXRlbnRpb24gaW4gZGF5cyAoZGVmYXVsdDogYDdgKVxuICogLSBgTE9HX1JFTU9WQUxfUE9MSUNZYCDigJQgYCdSRVRBSU4nYCBvciBkZXN0cm95IChkZWZhdWx0OiBERVNUUk9ZKVxuICogLSBgQ09ERUJVSUxEX0NPTVBVVEVfVFlQRWAg4oCUIENvZGVCdWlsZCBjb21wdXRlIHR5cGUgKGRlZmF1bHQ6IGAnU01BTEwnYClcbiAqXG4gKiBAcmV0dXJucyBBV1MgaW5mcmFzdHJ1Y3R1cmUgY29uZmlndXJhdGlvblxuICovXG5leHBvcnQgZnVuY3Rpb24gbG9hZEFXU0NvbmZpZygpOiBBV1NDb25maWcge1xuICByZXR1cm4ge1xuICAgIGxhbWJkYToge1xuICAgICAgcnVudGltZTogcGFyc2VSdW50aW1lKHByb2Nlc3MuZW52LkxBTUJEQV9SVU5USU1FIHx8ICdub2RlanMyNC54JyksXG4gICAgICB0aW1lb3V0OiBEdXJhdGlvbi5zZWNvbmRzKHBhcnNlSW50KHByb2Nlc3MuZW52LkxBTUJEQV9USU1FT1VUIHx8ICc5MDAnLCAxMCkpLFxuICAgICAgbWVtb3J5U2l6ZTogcGFyc2VJbnQocHJvY2Vzcy5lbnYuTEFNQkRBX01FTU9SWV9TSVpFIHx8ICc1MTInLCAxMCksXG4gICAgICBhcmNoaXRlY3R1cmU6IHByb2Nlc3MuZW52LkxBTUJEQV9BUkNISVRFQ1RVUkUgPT09ICd4ODZfNjQnXG4gICAgICAgID8gQXJjaGl0ZWN0dXJlLlg4Nl82NFxuICAgICAgICA6IEFyY2hpdGVjdHVyZS5BUk1fNjQsXG4gICAgICByZXNlcnZlZENvbmN1cnJlbnRFeGVjdXRpb25zOiBwcm9jZXNzLmVudi5MQU1CREFfUkVTRVJWRURfQ09OQ1VSUkVOQ1lcbiAgICAgICAgPyBwYXJzZUludChwcm9jZXNzLmVudi5MQU1CREFfUkVTRVJWRURfQ09OQ1VSUkVOQ1ksIDEwKVxuICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICB9LFxuXG4gICAgbG9nZ2luZzoge1xuICAgICAgZ3JvdXBOYW1lOiBwcm9jZXNzLmVudi5MT0dfR1JPVVBfTkFNRSB8fCAnL3BpcGVsaW5lLWJ1aWxkZXIvbG9ncycsXG4gICAgICByZXRlbnRpb246IHBhcnNlUmV0ZW50aW9uKHByb2Nlc3MuZW52LkxPR19SRVRFTlRJT04gfHwgJzcnKSxcbiAgICAgIHJlbW92YWxQb2xpY3k6IHByb2Nlc3MuZW52LkxPR19SRU1PVkFMX1BPTElDWSA9PT0gJ1JFVEFJTidcbiAgICAgICAgPyBSZW1vdmFsUG9saWN5LlJFVEFJTlxuICAgICAgICA6IFJlbW92YWxQb2xpY3kuREVTVFJPWSxcbiAgICB9LFxuXG4gICAgY29kZUJ1aWxkOiB7XG4gICAgICBjb21wdXRlVHlwZTogZ2V0Q29tcHV0ZVR5cGUocHJvY2Vzcy5lbnYuQ09ERUJVSUxEX0NPTVBVVEVfVFlQRSB8fCAnU01BTEwnKSxcbiAgICAgIGRlZmF1bHRJbWFnZTogcHJvY2Vzcy5lbnYuQ09ERUJVSUxEX0RFRkFVTFRfSU1BR0UgfHwgJ3BpcGVsaW5lLWJvb3RzdHJhcDoxLjAnLFxuICAgIH0sXG4gIH07XG59XG5cbi8qKlxuICogUGFyc2UgTGFtYmRhIHJ1bnRpbWUgc3RyaW5nIGludG8gYSBDREsgUnVudGltZSBlbnVtIHZhbHVlLlxuICpcbiAqIEBwYXJhbSBydW50aW1lIC0gUnVudGltZSBzdHJpbmcgKGUuZy4gYCdub2RlanMyNC54J2ApXG4gKiBAcmV0dXJucyBDREsgUnVudGltZSBlbnVtOyBmYWxscyBiYWNrIHRvIE5PREVKU18yNF9YIGZvciB1bmtub3duIHZhbHVlc1xuICovXG5mdW5jdGlvbiBwYXJzZVJ1bnRpbWUocnVudGltZTogc3RyaW5nKTogUnVudGltZSB7XG4gIGNvbnN0IHJ1bnRpbWVNYXA6IFJlY29yZDxzdHJpbmcsIFJ1bnRpbWU+ID0ge1xuICAgICdub2RlanMyNC54JzogUnVudGltZS5OT0RFSlNfMjRfWCxcbiAgfTtcbiAgcmV0dXJuIHJ1bnRpbWVNYXBbcnVudGltZV0gfHwgUnVudGltZS5OT0RFSlNfMjRfWDtcbn1cblxuLyoqXG4gKiBQYXJzZSBsb2cgcmV0ZW50aW9uIGRheXMgc3RyaW5nIGludG8gYSBDREsgUmV0ZW50aW9uRGF5cyBlbnVtIHZhbHVlLlxuICogUmV0ZW50aW9uRGF5cyBlbnVtIHZhbHVlcyBhcmUgdGhlIG51bWVyaWMgZGF5IGNvdW50cyB0aGVtc2VsdmVzLFxuICogc28gd2UgcGFyc2UgdGhlIHN0cmluZyBhbmQgY2hlY2sgaWYgaXQncyBhIHZhbGlkIGVudW0gbWVtYmVyLlxuICpcbiAqIEBwYXJhbSBkYXlzIC0gUmV0ZW50aW9uIHBlcmlvZCBpbiBkYXlzIGFzIGEgc3RyaW5nIChlLmcuIGAnMzAnYClcbiAqIEByZXR1cm5zIENESyBSZXRlbnRpb25EYXlzIGVudW07IGZhbGxzIGJhY2sgdG8gT05FX0RBWSBmb3IgdW5rbm93biB2YWx1ZXNcbiAqL1xuY29uc3QgVkFMSURfUkVURU5USU9OX0RBWVMgPSBuZXcgU2V0KE9iamVjdC52YWx1ZXMoUmV0ZW50aW9uRGF5cykuZmlsdGVyKCh2KTogdiBpcyBudW1iZXIgPT4gdHlwZW9mIHYgPT09ICdudW1iZXInKSk7XG5cbmZ1bmN0aW9uIHBhcnNlUmV0ZW50aW9uKGRheXM6IHN0cmluZyk6IFJldGVudGlvbkRheXMge1xuICBjb25zdCBwYXJzZWQgPSBwYXJzZUludChkYXlzLCAxMCk7XG4gIHJldHVybiBWQUxJRF9SRVRFTlRJT05fREFZUy5oYXMocGFyc2VkKSA/IHBhcnNlZCBhcyBSZXRlbnRpb25EYXlzIDogUmV0ZW50aW9uRGF5cy5PTkVfREFZO1xufVxuIl19
|
|
210
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5mcmFzdHJ1Y3R1cmUtY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbmZpZy9pbmZyYXN0cnVjdHVyZS1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0NBQStDO0FBQy9DLHNDQUFzQztBQUV0QyxPQUFPLElBQUksTUFBTSxNQUFNLENBQUM7QUFDeEIsT0FBTyxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDdEQsT0FBTyxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFckQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRTdEOzs7Ozs7Ozs7Ozs7Ozs7O0dBZ0JHO0FBQ0gsTUFBTSxVQUFVLGtCQUFrQjtJQUNoQyxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLG1CQUFtQixJQUFJLFVBQVUsQ0FBQztJQUMzRCxNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsSUFBSSxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDckUsNEVBQTRFO0lBQzVFLHdFQUF3RTtJQUN4RSw4RUFBOEU7SUFDOUUsNEVBQTRFO0lBQzVFLE1BQU0sUUFBUSxHQUFHLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNyRSxPQUFPO1FBQ0wsSUFBSTtRQUNKLElBQUk7UUFDSixRQUFRLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsSUFBSSxRQUFRLEVBQUUsSUFBSSxJQUFJLElBQUk7UUFDeEUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsd0JBQXdCO1lBQzVDLENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FB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LENBQUMsSUFBSSxPQUFPLENBQUMsV0FBVyxDQUFDO0FBQ3BELENBQUM7QUFFRDs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLEdBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBZSxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQztBQUVySCxTQUFTLGNBQWMsQ0FBQyxJQUFZO0lBQ2xDLE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDbEMsT0FBTyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQXVCLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUM7QUFDNUYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAyMDI2IFBpcGVsaW5lIEJ1aWxkZXIgQ29udHJpYnV0b3JzXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuXG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7IER1cmF0aW9uLCBSZW1vdmFsUG9saWN5IH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgQXJjaGl0ZWN0dXJlLCBSdW50aW1lIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWxhbWJkYSc7XG5pbXBvcnQgeyBSZXRlbnRpb25EYXlzIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWxvZ3MnO1xuaW1wb3J0IHR5cGUgeyBBV1NDb25maWcsIEJ1aWxkQ29uZmlnLCBDb21wbGlhbmNlQ29uZmlnLCBEYXRhYmFzZUNvbmZpZywgT2JzZXJ2YWJpbGl0eUNvbmZpZywgUGx1Z2luQnVpbGRDb25maWcsIFJlZGlzQ29uZmlnLCBSZWdpc3RyeUNvbmZpZyB9IGZyb20gJy4vY29uZmlnLXR5cGVzLmpzJztcbmltcG9ydCB7IGdldENvbXB1dGVUeXBlIH0gZnJvbSAnLi4vY29yZS9waXBlbGluZS1oZWxwZXJzLmpzJztcblxuLyoqXG4gKiBMb2FkIERvY2tlciByZWdpc3RyeSBjb25maWd1cmF0aW9uIGZyb20gZW52aXJvbm1lbnQgdmFyaWFibGVzLlxuICpcbiAqIEVudmlyb25tZW50IHZhcmlhYmxlczpcbiAqIC0gYElNQUdFX1JFR0lTVFJZX0hPU1RgIOKAlCBSZWdpc3RyeSBob3N0bmFtZSAoZGVmYXVsdDogYCdyZWdpc3RyeSdgKVxuICogLSBgSU1BR0VfUkVHSVNUUllfUE9SVGAg4oCUIFJlZ2lzdHJ5IHBvcnQgKGRlZmF1bHQ6IGA1MDAwYClcbiAqIC0gYElNQUdFX1JFR0lTVFJZX1BVTExfSE9TVGAg4oCUIEhvc3QgYW4gb3V0LW9mLWNsdXN0ZXIgY2xpZW50IChDb2RlQnVpbGQpXG4gKiAgIHVzZXMgdG8gcHVsbCBwbHVnaW4gaW1hZ2VzLiBXaGVuIHVuc2V0LCBkZXJpdmVkIGZyb20gYFBMQVRGT1JNX0JBU0VfVVJMYCdzXG4gKiAgIGhvc3QgKHRoZSBwdWJsaWMgZW5kcG9pbnQgQ29kZUJ1aWxkIGNhbiByZXNvbHZlKSwgdGhlbiBgSU1BR0VfUkVHSVNUUllfSE9TVGAuXG4gKiAtIGBJTUFHRV9SRUdJU1RSWV9QVUxMX1BPUlRgIOKAlCBQb3J0IGZvciB0aGUgYWJvdmUuIFdoZW4gdW5zZXQsIGRlcml2ZWQgZnJvbVxuICogICBgUExBVEZPUk1fQkFTRV9VUkxgJ3MgcG9ydCwgdGhlbiBgSU1BR0VfUkVHSVNUUllfUE9SVGAuXG4gKiAtIGBET0NLRVJfTkVUV09SS2Ag4oCUIERvY2tlciBuZXR3b3JrIGZvciBidWlsZC9wdXNoIChkZWZhdWx0OiBgJydgKVxuICogLSBgSU1BR0VfUkVHSVNUUllfSFRUUGAg4oCUIFVzZSBwbGFpbiBIVFRQIGluc3RlYWQgb2YgSFRUUFMgKGRlZmF1bHQ6IGB0cnVlYCxcbiAqICAgdGhlIGluLWNsdXN0ZXIgcmVnaXN0cnkgaGFzIG5vIFRMUykuXG4gKlxuICogQHJldHVybnMgUmVnaXN0cnkgY29uZmlndXJhdGlvblxuICovXG5leHBvcnQgZnVuY3Rpb24gbG9hZFJlZ2lzdHJ5Q29uZmlnKCk6IFJlZ2lzdHJ5Q29uZmlnIHtcbiAgY29uc3QgaG9zdCA9IHByb2Nlc3MuZW52LklNQUdFX1JFR0lTVFJZX0hPU1QgfHwgJ3JlZ2lzdHJ5JztcbiAgY29uc3QgcG9ydCA9IHBhcnNlSW50KHByb2Nlc3MuZW52LklNQUdFX1JFR0lTVFJZX1BPUlQgfHwgJzUwMDAnLCAxMCk7XG4gIC8vIFdoZW4gbm8gZXhwbGljaXQgcHVsbCBob3N0IGlzIHNldCwgZGVyaXZlIGl0IGZyb20gUExBVEZPUk1fQkFTRV9VUkwg4oCUIHRoZVxuICAvLyBwdWJsaWMgcGxhdGZvcm0gZW5kcG9pbnQgYW4gb3V0LW9mLWNsdXN0ZXIgY2xpZW50IChBV1MgQ29kZUJ1aWxkKSBjYW5cbiAgLy8gcmVzb2x2ZSwgdW5saWtlIHRoZSBpbi1jbHVzdGVyIGByZWdpc3RyeWAgQ2x1c3RlcklQLiBPbmx5IGZhbGxzIGJhY2sgdG8gdGhlXG4gIC8vIGluLWNsdXN0ZXIgaG9zdCB3aGVuIFBMQVRGT1JNX0JBU0VfVVJMIGlzIHVuc2V0L3VucGFyc2VhYmxlIChlLmcuIGxvY2FsKS5cbiAgY29uc3QgcGxhdGZvcm0gPSBwYXJzZVBsYXRmb3JtQmFzZVVybChwcm9jZXNzLmVudi5QTEFURk9STV9CQVNFX1VSTCk7XG4gIHJldHVybiB7XG4gICAgaG9zdCxcbiAgICBwb3J0LFxuICAgIHB1bGxIb3N0OiBwcm9jZXNzLmVudi5JTUFHRV9SRUdJU1RSWV9QVUxMX0hPU1QgfHwgcGxhdGZvcm0/Lmhvc3QgfHwgaG9zdCxcbiAgICBwdWxsUG9ydDogcHJvY2Vzcy5lbnYuSU1BR0VfUkVHSVNUUllfUFVMTF9QT1JUXG4gICAgICA/IHBhcnNlSW50KHByb2Nlc3MuZW52LklNQUdFX1JFR0lTVFJZX1BVTExfUE9SVCwgMTApXG4gICAgICA6IChwbGF0Zm9ybT8ucG9ydCA/PyBwb3J0KSxcbiAgICBuZXR3b3JrOiBwcm9jZXNzLmVudi5ET0NLRVJfTkVUV09SSyB8fCAnJyxcbiAgICBodHRwOiBwcm9jZXNzLmVudi5JTUFHRV9SRUdJU1RSWV9IVFRQICE9PSAnZmFsc2UnLFxuICB9O1xufVxuXG4vKiogRXh0cmFjdCBob3N0ICsgcG9ydCBmcm9tIFBMQVRGT1JNX0JBU0VfVVJMIChlLmcuIGBodHRwczovL3BpcGVsaW5lLWJ1aWxkZXIuY29tYFxuICogIOKGkiBgeyBob3N0OiAncGlwZWxpbmUtYnVpbGRlci5jb20nLCBwb3J0OiA0NDMgfWApLiBSZXR1cm5zIG51bGwgd2hlbiB0aGUgdmFsdWVcbiAqICBpcyB1bnNldCBvciBub3QgYSB2YWxpZCBVUkwuIEV4cG9ydGVkIHNvIHRoZSBDTEkgKHBpcGVsaW5lLW1hbmFnZXIpIGRlcml2ZXNcbiAqICB0aGUgcmVnaXN0cnkgcHVsbCB0YXJnZXQgd2l0aCB0aGUgU0FNRSBwYXJzaW5nLCBpbnN0ZWFkIG9mIGR1cGxpY2F0aW5nIGl0LiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlUGxhdGZvcm1CYXNlVXJsKHJhdz86IHN0cmluZyk6IHsgaG9zdDogc3RyaW5nOyBwb3J0OiBudW1iZXIgfSB8IG51bGwge1xuICBpZiAoIXJhdykgcmV0dXJuIG51bGw7XG4gIHRyeSB7XG4gICAgY29uc3QgdSA9IG5ldyBVUkwocmF3KTtcbiAgICAvLyBBIHNjaGVtZS1sZXNzIHZhbHVlIGxpa2UgYGhvc3Q6ODQ0M2AgcGFyc2VzIHdpdGggYSBjdXN0b20gcHJvdG9jb2wgYW5kIGFuXG4gICAgLy8gRU1QVFkgaG9zdG5hbWUg4oCUIHJlamVjdCBpdCBzbyBjYWxsZXJzIGZhbGwgYmFjayByYXRoZXIgdGhhbiBkZXJpdmUgYVxuICAgIC8vIGhvc3QtbGVzcyBlbmRwb2ludC5cbiAgICBpZiAoIXUuaG9zdG5hbWUpIHJldHVybiBudWxsO1xuICAgIGNvbnN0IHBvcnQgPSB1LnBvcnQgPyBwYXJzZUludCh1LnBvcnQsIDEwKSA6ICh1LnByb3RvY29sID09PSAnaHR0cHM6JyA/IDQ0MyA6IDgwKTtcbiAgICByZXR1cm4geyBob3N0OiB1Lmhvc3RuYW1lLCBwb3J0IH07XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiBudWxsO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsb2FkUmVkaXNDb25maWcoKTogUmVkaXNDb25maWcge1xuICByZXR1cm4ge1xuICAgIGhvc3Q6IHByb2Nlc3MuZW52LlJFRElTX0hPU1QgfHwgJ2xvY2FsaG9zdCcsXG4gICAgcG9ydDogcGFyc2VJbnQocHJvY2Vzcy5lbnYuUkVESVNfUE9SVCB8fCAnNjM3OScsIDEwKSxcbiAgfTtcbn1cblxuLyoqXG4gKiBMb2FkIHBsdWdpbiBidWlsZCBxdWV1ZSBjb25maWd1cmF0aW9uLlxuICpcbiAqIEVudmlyb25tZW50IHZhcmlhYmxlczpcbiAqIC0gYFBMVUdJTl9CVUlMRF9DT05DVVJSRU5DWWAg4oCUIE1heCBjb25jdXJyZW50IHBsdWdpbiBidWlsZHMgKGRlZmF1bHQ6IGAxYClcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGxvYWRQbHVnaW5CdWlsZENvbmZpZygpOiBQbHVnaW5CdWlsZENvbmZpZyB7XG4gIHJldHVybiB7XG4gICAgY29uY3VycmVuY3k6IHBhcnNlSW50KHByb2Nlc3MuZW52LlBMVUdJTl9CVUlMRF9DT05DVVJSRU5DWSB8fCAnMScsIDEwKSxcbiAgICBtYXhBdHRlbXB0czogcGFyc2VJbnQocHJvY2Vzcy5lbnYuUExVR0lOX0JVSUxEX01BWF9BVFRFTVBUUyB8fCAnMicsIDEwKSxcbiAgICBiYWNrb2ZmRGVsYXlNczogcGFyc2VJbnQocHJvY2Vzcy5lbnYuUExVR0lOX0JVSUxEX0JBQ0tPRkZfREVMQVlfTVMgfHwgJzUwMDAnLCAxMCksXG4gICAgd29ya2VyVGltZW91dE1zOiBwYXJzZUludChwcm9jZXNzLmVudi5QTFVHSU5fQlVJTERfV09SS0VSX1RJTUVPVVRfTVMgfHwgJzEwMDAwJywgMTApLFxuICAgIHRlbXBEaXJNYXhBZ2VNczogcGFyc2VJbnQocHJvY2Vzcy5lbnYuVEVNUF9ESVJfTUFYX0FHRV9NUyB8fCAnMTQ0MDAwMDAnLCAxMCksXG4gICAgZGxxTWF4QXR0ZW1wdHM6IHBhcnNlSW50KHByb2Nlc3MuZW52LlBMVUdJTl9ETFFfTUFYX0FUVEVNUFRTIHx8ICczJywgMTApLFxuICAgIGRscUJhY2tvZmZCYXNlTXM6IHBhcnNlSW50KHByb2Nlc3MuZW52LlBMVUdJTl9ETFFfQkFDS09GRl9CQVNFX01TIHx8ICczMDAwMDAnLCAxMCksXG4gICAgZGxxTWF4U2l6ZTogcGFyc2VJbnQocHJvY2Vzcy5lbnYuUExVR0lOX0RMUV9NQVhfU0laRSB8fCAnMjAnLCAxMCksXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsb2FkRGF0YWJhc2VDb25maWcoKTogRGF0YWJhc2VDb25maWcge1xuICByZXR1cm4ge1xuICAgIHBvc3RncmVzOiB7XG4gICAgICBob3N0OiBwcm9jZXNzLmVudi5EQl9IT1NUIHx8ICdwb3N0Z3JlcycsXG4gICAgICBwb3J0OiBwYXJzZUludChwcm9jZXNzLmVudi5EQl9QT1JUIHx8ICc1NDMyJywgMTApLFxuICAgICAgZGF0YWJhc2U6IHByb2Nlc3MuZW52LkRBVEFCQVNFIHx8ICdwaXBlbGluZV9idWlsZGVyJyxcbiAgICAgIHVzZXI6IHByb2Nlc3MuZW52LkRCX1VTRVIgfHwgJ3Bvc3RncmVzJyxcbiAgICAgIHBhc3N3b3JkOiBwcm9jZXNzLmVudi5EQl9QQVNTV09SRCB8fCAnJyxcbiAgICB9LFxuICAgIGRyaXp6bGU6IHtcbiAgICAgIG1heFBvb2xTaXplOiBwYXJzZUludChwcm9jZXNzLmVudi5EUklaWkxFX01BWF9QT09MX1NJWkUgfHwgJzIwJywgMTApLFxuICAgICAgaWRsZVRpbWVvdXRNaWxsaXM6IHBhcnNlSW50KHByb2Nlc3MuZW52LkRSSVpaTEVfSURMRV9USU1FT1VUX01JTExJUyB8fCAnMzAwMDAnLCAxMCksXG4gICAgICBjb25uZWN0aW9uVGltZW91dE1pbGxpczogcGFyc2VJbnQocHJvY2Vzcy5lbnYuRFJJWlpMRV9DT05ORUNUSU9OX1RJTUVPVVRfTUlMTElTIHx8ICcxMDAwMCcsIDEwKSxcbiAgICB9LFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbG9hZE9ic2VydmFiaWxpdHlDb25maWcoKTogT2JzZXJ2YWJpbGl0eUNvbmZpZyB7XG4gIHJldHVybiB7XG4gICAgbG9nTGV2ZWw6IHByb2Nlc3MuZW52LkxPR19MRVZFTCB8fCAnaW5mbycsXG4gICAgbG9nRm9ybWF0OiBwcm9jZXNzLmVudi5MT0dfRk9STUFUIHx8ICdqc29uJyxcbiAgICBzZXJ2aWNlTmFtZTogcHJvY2Vzcy5lbnYuU0VSVklDRV9OQU1FIHx8ICdhcGknLFxuICAgIHRyYWNpbmc6IHtcbiAgICAgIGVuYWJsZWQ6IHByb2Nlc3MuZW52Lk9URUxfVFJBQ0lOR19FTkFCTEVEID09PSAndHJ1ZScsXG4gICAgICBlbmRwb2ludDogcHJvY2Vzcy5lbnYuT1RFTF9FWFBPUlRFUl9PVExQX0VORFBPSU5UIHx8ICdodHRwOi8vbG9jYWxob3N0OjQzMTgvdjEvdHJhY2VzJyxcbiAgICB9LFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbG9hZENvbXBsaWFuY2VDb25maWcoKTogQ29tcGxpYW5jZUNvbmZpZyB7XG4gIHJldHVybiB7XG4gICAgc2NhblNjaGVkdWxlckludGVydmFsTXM6IHBhcnNlSW50KHByb2Nlc3MuZW52LlNDQU5fU0NIRURVTEVSX0lOVEVSVkFMX01TIHx8ICc2MDAwMCcsIDEwKSxcbiAgICBzeXN0ZW1PcmdTY2Fuc0VuYWJsZWQ6IHByb2Nlc3MuZW52LlNZU1RFTV9PUkdfU0NBTlNfRU5BQkxFRCA9PT0gJ3RydWUnLFxuICAgIHNjYW5Mb2NrVHRsTXM6IHBhcnNlSW50KHByb2Nlc3MuZW52LlNDQU5fTE9DS19UVExfTVMgfHwgJzMwMDAwMCcsIDEwKSxcbiAgICBkaWdlc3RTY2hlZHVsZXJJbnRlcnZhbE1zOiBwYXJzZUludChwcm9jZXNzLmVudi5ESUdFU1RfU0NIRURVTEVSX0lOVEVSVkFMX01TIHx8ICczNjAwMDAwJywgMTApLFxuICAgIGRpZ2VzdExvY2tUdGxNczogcGFyc2VJbnQocHJvY2Vzcy5lbnYuRElHRVNUX0xPQ0tfVFRMX01TIHx8ICczMDAwMDAnLCAxMCksXG4gIH07XG59XG5cbi8qKlxuICogTG9hZCBwbHVnaW4gYnVpbGQgY29uZmlndXJhdGlvbi4gQnVpbGRzIHJ1biBhZ2FpbnN0IGEgcm9vdGxlc3MgYG1vYnkvYnVpbGRraXRgXG4gKiBzaWRlY2FyIOKAlCBzZWUgYEJVSUxES0lUX0hPU1RgLlxuICpcbiAqIEVudmlyb25tZW50IHZhcmlhYmxlczpcbiAqIC0gYERPQ0tFUl9CVUlMRF9URU1QX1JPT1RgIOKAlCBUZW1wIGRpcmVjdG9yeSBmb3IgYnVpbGQgY29udGV4dHMgKGRlZmF1bHQ6IGA8Y3dkPi90bXBgKVxuICogLSBgRE9DS0VSX0JVSUxEX1RJTUVPVVRfTVNgIOKAlCBCdWlsZCB0aW1lb3V0IGluIG1pbGxpc2Vjb25kcyAoZGVmYXVsdDogYDkwMDAwMGAgLyAxNSBtaW4pXG4gKiAtIGBET0NLRVJfUFVTSF9USU1FT1VUX01TYCDigJQgUHVzaCB0aW1lb3V0IGluIG1pbGxpc2Vjb25kcyAoZGVmYXVsdDogYDMwMDAwMGAgLyA1IG1pbilcbiAqIC0gYEJVSUxES0lUX0hPU1RgIOKAlCBidWlsZGN0bCBgLS1hZGRyYCB2YWx1ZSBmb3IgdGhlIGJ1aWxka2l0ZCBzaWRlY2FyXG4gKiAgIChkZWZhdWx0OiBgdW5peDovLy9ydW4vYnVpbGRraXQvYnVpbGRraXRkLnNvY2tgKVxuICovXG5leHBvcnQgZnVuY3Rpb24gbG9hZERvY2tlckNvbmZpZygpOiBCdWlsZENvbmZpZyB7XG4gIHJldHVybiB7XG4gICAgdGVtcFJvb3Q6IHByb2Nlc3MuZW52LkRPQ0tFUl9CVUlMRF9URU1QX1JPT1QgfHwgcGF0aC5qb2luKHByb2Nlc3MuY3dkKCksICd0bXAnKSxcbiAgICB0aW1lb3V0TXM6IHBhcnNlSW50KHByb2Nlc3MuZW52LkRPQ0tFUl9CVUlMRF9USU1FT1VUX01TIHx8ICc5MDAwMDAnLCAxMCksXG4gICAgcHVzaFRpbWVvdXRNczogcGFyc2VJbnQocHJvY2Vzcy5lbnYuRE9DS0VSX1BVU0hfVElNRU9VVF9NUyB8fCAnMzAwMDAwJywgMTApLFxuICAgIGJ1aWxka2l0QWRkcjogcHJvY2Vzcy5lbnYuQlVJTERLSVRfSE9TVCB8fCAndW5peDovLy9ydW4vYnVpbGRraXQvYnVpbGRraXRkLnNvY2snLFxuICB9O1xufVxuXG4vKipcbiAqIExvYWQgQVdTIGluZnJhc3RydWN0dXJlIGNvbmZpZ3VyYXRpb24gZnJvbSBlbnZpcm9ubWVudCB2YXJpYWJsZXMuXG4gKlxuICogRW52aXJvbm1lbnQgdmFyaWFibGVzOlxuICogLSBgTEFNQkRBX1JVTlRJTUVgIOKAlCBMYW1iZGEgcnVudGltZSAoZGVmYXVsdDogYCdub2RlanMyNC54J2A7IHVua25vd24gdmFsdWVzIGZhbGwgYmFjayB0byBpdClcbiAqIC0gYExBTUJEQV9USU1FT1VUYCDigJQgTGFtYmRhIHRpbWVvdXQgaW4gc2Vjb25kcyAoZGVmYXVsdDogYDkwMGApXG4gKiAtIGBMQU1CREFfTUVNT1JZX1NJWkVgIOKAlCBMYW1iZGEgbWVtb3J5IGluIE1CIChkZWZhdWx0OiBgNTEyYClcbiAqIC0gYExBTUJEQV9BUkNISVRFQ1RVUkVgIOKAlCBgJ3g4Nl82NCdgIG9yIEFSTSAoZGVmYXVsdDogQVJNXzY0KVxuICogLSBgTE9HX0dST1VQX05BTUVgIOKAlCBDbG91ZFdhdGNoIGxvZyBncm91cCAoZGVmYXVsdDogYCcvcGlwZWxpbmUtYnVpbGRlci9sb2dzJ2ApXG4gKiAtIGBMT0dfUkVURU5USU9OYCDigJQgTG9nIHJldGVudGlvbiBpbiBkYXlzIChkZWZhdWx0OiBgN2ApXG4gKiAtIGBMT0dfUkVNT1ZBTF9QT0xJQ1lgIOKAlCBgJ1JFVEFJTidgIG9yIGRlc3Ryb3kgKGRlZmF1bHQ6IERFU1RST1kpXG4gKiAtIGBDT0RFQlVJTERfQ09NUFVURV9UWVBFYCDigJQgQ29kZUJ1aWxkIGNvbXB1dGUgdHlwZSAoZGVmYXVsdDogYCdTTUFMTCdgKVxuICpcbiAqIEByZXR1cm5zIEFXUyBpbmZyYXN0cnVjdHVyZSBjb25maWd1cmF0aW9uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBsb2FkQVdTQ29uZmlnKCk6IEFXU0NvbmZpZyB7XG4gIHJldHVybiB7XG4gICAgbGFtYmRhOiB7XG4gICAgICBydW50aW1lOiBwYXJzZVJ1bnRpbWUocHJvY2Vzcy5lbnYuTEFNQkRBX1JVTlRJTUUgfHwgJ25vZGVqczI0LngnKSxcbiAgICAgIHRpbWVvdXQ6IER1cmF0aW9uLnNlY29uZHMocGFyc2VJbnQocHJvY2Vzcy5lbnYuTEFNQkRBX1RJTUVPVVQgfHwgJzkwMCcsIDEwKSksXG4gICAgICBtZW1vcnlTaXplOiBwYXJzZUludChwcm9jZXNzLmVudi5MQU1CREFfTUVNT1JZX1NJWkUgfHwgJzUxMicsIDEwKSxcbiAgICAgIGFyY2hpdGVjdHVyZTogcHJvY2Vzcy5lbnYuTEFNQkRBX0FSQ0hJVEVDVFVSRSA9PT0gJ3g4Nl82NCdcbiAgICAgICAgPyBBcmNoaXRlY3R1cmUuWDg2XzY0XG4gICAgICAgIDogQXJjaGl0ZWN0dXJlLkFSTV82NCxcbiAgICAgIHJlc2VydmVkQ29uY3VycmVudEV4ZWN1dGlvbnM6IHByb2Nlc3MuZW52LkxBTUJEQV9SRVNFUlZFRF9DT05DVVJSRU5DWVxuICAgICAgICA/IHBhcnNlSW50KHByb2Nlc3MuZW52LkxBTUJEQV9SRVNFUlZFRF9DT05DVVJSRU5DWSwgMTApXG4gICAgICAgIDogdW5kZWZpbmVkLFxuICAgIH0sXG5cbiAgICBsb2dnaW5nOiB7XG4gICAgICBncm91cE5hbWU6IHByb2Nlc3MuZW52LkxPR19HUk9VUF9OQU1FIHx8ICcvcGlwZWxpbmUtYnVpbGRlci9sb2dzJyxcbiAgICAgIHJldGVudGlvbjogcGFyc2VSZXRlbnRpb24ocHJvY2Vzcy5lbnYuTE9HX1JFVEVOVElPTiB8fCAnNycpLFxuICAgICAgcmVtb3ZhbFBvbGljeTogcHJvY2Vzcy5lbnYuTE9HX1JFTU9WQUxfUE9MSUNZID09PSAnUkVUQUlOJ1xuICAgICAgICA/IFJlbW92YWxQb2xpY3kuUkVUQUlOXG4gICAgICAgIDogUmVtb3ZhbFBvbGljeS5ERVNUUk9ZLFxuICAgIH0sXG5cbiAgICBjb2RlQnVpbGQ6IHtcbiAgICAgIGNvbXB1dGVUeXBlOiBnZXRDb21wdXRlVHlwZShwcm9jZXNzLmVudi5DT0RFQlVJTERfQ09NUFVURV9UWVBFIHx8ICdTTUFMTCcpLFxuICAgICAgZGVmYXVsdEltYWdlOiBwcm9jZXNzLmVudi5DT0RFQlVJTERfREVGQVVMVF9JTUFHRSB8fCAncGlwZWxpbmUtYm9vdHN0cmFwOjEuMCcsXG4gICAgfSxcbiAgfTtcbn1cblxuLyoqXG4gKiBQYXJzZSBMYW1iZGEgcnVudGltZSBzdHJpbmcgaW50byBhIENESyBSdW50aW1lIGVudW0gdmFsdWUuXG4gKlxuICogQHBhcmFtIHJ1bnRpbWUgLSBSdW50aW1lIHN0cmluZyAoZS5nLiBgJ25vZGVqczI0LngnYClcbiAqIEByZXR1cm5zIENESyBSdW50aW1lIGVudW07IGZhbGxzIGJhY2sgdG8gTk9ERUpTXzI0X1ggZm9yIHVua25vd24gdmFsdWVzXG4gKi9cbmZ1bmN0aW9uIHBhcnNlUnVudGltZShydW50aW1lOiBzdHJpbmcpOiBSdW50aW1lIHtcbiAgY29uc3QgcnVudGltZU1hcDogUmVjb3JkPHN0cmluZywgUnVudGltZT4gPSB7XG4gICAgJ25vZGVqczI0LngnOiBSdW50aW1lLk5PREVKU18yNF9YLFxuICB9O1xuICByZXR1cm4gcnVudGltZU1hcFtydW50aW1lXSB8fCBSdW50aW1lLk5PREVKU18yNF9YO1xufVxuXG4vKipcbiAqIFBhcnNlIGxvZyByZXRlbnRpb24gZGF5cyBzdHJpbmcgaW50byBhIENESyBSZXRlbnRpb25EYXlzIGVudW0gdmFsdWUuXG4gKiBSZXRlbnRpb25EYXlzIGVudW0gdmFsdWVzIGFyZSB0aGUgbnVtZXJpYyBkYXkgY291bnRzIHRoZW1zZWx2ZXMsXG4gKiBzbyB3ZSBwYXJzZSB0aGUgc3RyaW5nIGFuZCBjaGVjayBpZiBpdCdzIGEgdmFsaWQgZW51bSBtZW1iZXIuXG4gKlxuICogQHBhcmFtIGRheXMgLSBSZXRlbnRpb24gcGVyaW9kIGluIGRheXMgYXMgYSBzdHJpbmcgKGUuZy4gYCczMCdgKVxuICogQHJldHVybnMgQ0RLIFJldGVudGlvbkRheXMgZW51bTsgZmFsbHMgYmFjayB0byBPTkVfREFZIGZvciB1bmtub3duIHZhbHVlc1xuICovXG5jb25zdCBWQUxJRF9SRVRFTlRJT05fREFZUyA9IG5ldyBTZXQoT2JqZWN0LnZhbHVlcyhSZXRlbnRpb25EYXlzKS5maWx0ZXIoKHYpOiB2IGlzIG51bWJlciA9PiB0eXBlb2YgdiA9PT0gJ251bWJlcicpKTtcblxuZnVuY3Rpb24gcGFyc2VSZXRlbnRpb24oZGF5czogc3RyaW5nKTogUmV0ZW50aW9uRGF5cyB7XG4gIGNvbnN0IHBhcnNlZCA9IHBhcnNlSW50KGRheXMsIDEwKTtcbiAgcmV0dXJuIFZBTElEX1JFVEVOVElPTl9EQVlTLmhhcyhwYXJzZWQpID8gcGFyc2VkIGFzIFJldGVudGlvbkRheXMgOiBSZXRlbnRpb25EYXlzLk9ORV9EQVk7XG59XG4iXX0=
|
|
@@ -121,10 +121,6 @@ export declare const MetadataKeys: {
|
|
|
121
121
|
readonly PIPELINE_VARIABLES: "aws:cdk:operations:variables";
|
|
122
122
|
readonly KMS_KEY_ARN: "aws:cdk:encryption:kmskeyarn";
|
|
123
123
|
};
|
|
124
|
-
/**
|
|
125
|
-
* Type for MetadataKeys values
|
|
126
|
-
*/
|
|
127
|
-
export type MetadataKey = typeof MetadataKeys[keyof typeof MetadataKeys];
|
|
128
124
|
/**
|
|
129
125
|
* Prefix for AWS CDK metadata keys.
|
|
130
126
|
* Keys with this prefix are handled by the metadata extraction functions
|
|
@@ -128,4 +128,4 @@ export const MetadataKeys = {
|
|
|
128
128
|
* (metadataForCodePipeline, etc.) and should NOT be passed as CodeBuild environment variables.
|
|
129
129
|
*/
|
|
130
130
|
export const CDK_METADATA_PREFIX = 'aws:cdk:';
|
|
131
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlwZWxpbmUtdHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29yZS9waXBlbGluZS10eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQ0FBK0M7QUFDL0Msc0NBQXNDO0FBSXRDLHVEQUF1RDtBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQXFCLE1BQU0sNEJBQTRCLENBQUM7QUFFeEc7Ozs7O0dBS0c7QUFDSCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUc7SUFDekIsSUFBSSxFQUFFLE1BQU07SUFDWix3R0FBd0c7SUFDeEcsSUFBSSxFQUFFLE1BQU07SUFDWixnR0FBZ0c7SUFDaEcsUUFBUSxFQUFFLFVBQVU7Q0FDWixDQUFDO0FBY1g7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUc7SUFDMUIseURBQXlEO0lBQ3pELGFBQWEsRUFBRSw2Q0FBNkM7SUFDNUQsa0JBQWtCLEVBQUUsaURBQWlEO0lBQ3JFLGdDQUFnQyxFQUFFLDZEQUE2RDtJQUMvRix3QkFBd0IsRUFBRSxzREFBc0Q7SUFDaEYsbUJBQW1CLEVBQUUsa0RBQWtEO0lBQ3ZFLDBCQUEwQixFQUFFLHdEQUF3RDtJQUNwRixpQ0FBaUMsRUFBRSw4REFBOEQ7SUFDakcsZUFBZSxFQUFFLDhDQUE4QztJQUMvRCw2QkFBNkIsRUFBRSwwREFBMEQ7SUFDekYsZUFBZSxFQUFFLCtDQUErQztJQUNoRSxvQ0FBb0MsRUFBRSxpRUFBaUU7SUFDdkcsc0JBQXNCLEVBQUUsb0RBQW9EO0lBQzVFLFdBQVcsRUFBRSwyQ0FBMkM7SUFDeEQsbUJBQW1CLEVBQUUsa0RBQWtEO0lBQ3ZFLGFBQWEsRUFBRSw2Q0FBNkM7SUFDNUQsZ0NBQWdDLEVBQUUsOERBQThEO0lBQ2hHLGtCQUFrQixFQUFFLGtEQUFrRDtJQUN0RSxhQUFhLEVBQUUsNkNBQTZDO0lBQzVELGFBQWEsRUFBRSw2Q0FBNkM7SUFDNUQsYUFBYSxFQUFFLHFDQUFxQztJQUNwRCxpQ0FBaUMsRUFBRSw4REFBOEQ7SUFDakcsS0FBSyxFQUFFLHNDQUFzQztJQUM3Qyx5QkFBeUIsRUFBRSx1REFBdUQ7SUFFbEYsMkRBQTJEO0lBQzNELFdBQVcsRUFBRSw0Q0FBNEM7SUFDekQsaUJBQWlCLEVBQUUsa0RBQWtEO0lBQ3JFLGlCQUFpQixFQUFFLGtEQUFrRDtJQUNyRSxLQUFLLEVBQUUsdUNBQXVDO0lBQzlDLFFBQVEsRUFBRSwwQ0FBMEM7SUFDcEQsY0FBYyxFQUFFLHFDQUFxQztJQUNyRCxvQkFBb0IsRUFBRSxtREFBbUQ7SUFDekUscUJBQXFCLEVBQUUscURBQXFEO0lBQzVFLEtBQUssRUFBRSx1Q0FBdUM7SUFDOUMsZ0JBQWdCLEVBQUUsaURBQWlEO0lBQ25FLE9BQU8sRUFBRSx5Q0FBeUM7SUFDbEQsa0JBQWtCLEVBQUUsa0RBQWtEO0lBQ3RFLHdCQUF3QixFQUFFLHdEQUF3RDtJQUNsRixZQUFZLEVBQUUsNkNBQTZDO0lBQzNELFNBQVMsRUFBRSxzQ0FBc0M7SUFDakQsc0JBQXNCLEVBQUUsc0RBQXNEO0lBQzlFLE9BQU8sRUFBRSx5Q0FBeUM7SUFFbEQsbURBQW1EO0lBQ25ELHVCQUF1QixFQUFFLDhDQUE4QztJQUN2RSxjQUFjLEVBQUUsc0NBQXNDO0lBQ3RELFNBQVMsRUFBRSxpQ0FBaUM7SUFDNUMsMEJBQTBCLEVBQUUsK0NBQStDO0lBQzNFLFdBQVcsRUFBRSxtQ0FBbUM7SUFDaEQsc0JBQXNCLEVBQUUsNkNBQTZDO0lBQ3JFLDhCQUE4QixFQUFFLG9EQUFvRDtJQUVwRixpRUFBaUU7SUFDakUsVUFBVSxFQUFFLCtDQUErQztJQUMzRCxXQUFXLEVBQUUsK0NBQStDO0lBQzVELFdBQVcsRUFBRSxnREFBZ0Q7SUFDN0QsWUFBWSxFQUFFLGdEQUFnRDtJQUM5RCxhQUFhLEVBQUUsaURBQWlEO0lBQ2hFLHFCQUFxQixFQUFFLHlEQUF5RDtJQUNoRixLQUFLLEVBQUUsMENBQTBDO0lBRWpELHVEQUF1RDtJQUN2RCxZQUFZLEVBQUUsMEJBQTBCO0lBQ3hDLGNBQWMsRUFBRSwyQkFBMkI7SUFDM0Msa0JBQWtCLEVBQUUsK0JBQStCO0lBQ25ELG1CQUFtQixFQUFFLGdDQUFnQztJQUNyRCwwQkFBMEIsRUFBRSx1Q0FBdUM7SUFDbkUseUJBQXlCLEVBQUUscUNBQXFDO0lBQ2hFLDBCQUEwQixFQUFFLHNDQUFzQztJQUNsRSxZQUFZLEVBQUUsMEJBQTBCO0lBQ3hDLGdCQUFnQixFQUFFLDZCQUE2QjtJQUMvQyxjQUFjLEVBQUUsNEJBQTRCO0lBRTVDLHFEQUFxRDtJQUNyRCxTQUFTLEVBQUUsdUJBQXVCO0lBQ2xDLFFBQVEsRUFBRSwwQkFBMEI7SUFDcEMsU0FBUyxFQUFFLDJCQUEyQjtJQUN0QyxZQUFZLEVBQUUsMEJBQTBCO0lBRXhDLG9FQUFvRTtJQUNwRSxtQkFBbUIsRUFBRSxnQ0FBZ0M7SUFDckQsa0JBQWtCLEVBQUUsNENBQTRDO0lBQ2hFLHNCQUFzQixFQUFFLG1DQUFtQztJQUMzRCxtQkFBbUIsRUFBRSw2Q0FBNkM7SUFDbEUscUJBQXFCLEVBQUUsaUNBQWlDO0lBRXhELGlEQUFpRDtJQUNqRCxzQkFBc0IsRUFBRSxpQ0FBaUM7SUFDekQsbUJBQW1CLEVBQUUsOEJBQThCO0lBRW5ELHNGQUFzRjtJQUN0Rix1QkFBdUIsRUFBRSxvQ0FBb0M7SUFDN0QsY0FBYyxFQUFFLDRCQUE0QjtJQUM1Qyx1QkFBdUIsRUFBRSwwQ0FBMEM7SUFDbkUsa0JBQWtCLEVBQUUsOEJBQThCO0lBRWxELDZFQUE2RTtJQUM3RSxXQUFXLEVBQUUsOEJBQThCO0NBQ25DLENBQUM7QUFPWDs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsVUFBVSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IDIwMjYgUGlwZWxpbmUgQnVpbGRlciBDb250cmlidXRvcnNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbmltcG9ydCB0eXBlIHsgQ29kZUNvbW1pdFNvdXJjZUNvbmZpZywgQ29kZVN0YXJTb3VyY2VDb25maWcsIEdpdEh1YlNvdXJjZUNvbmZpZywgUzNTb3VyY2VDb25maWcgfSBmcm9tICcuLi9waXBlbGluZS9zb3VyY2UtdHlwZXMuanMnO1xuXG4vLyBSZS1leHBvcnQgc2hhcmVkIHR5cGVzIGZyb20gYXBpLWNvcmUgZm9yIGNvbnZlbmllbmNlXG5leHBvcnQgeyBBY2Nlc3NNb2RpZmllciwgQ29tcHV0ZVR5cGUsIFBsdWdpblR5cGUsIHR5cGUgTWV0YURhdGFUeXBlIH0gZnJvbSAnQHBpcGVsaW5lLWJ1aWxkZXIvYXBpLWNvcmUnO1xuXG4vKipcbiAqIFBpcGVsaW5lIHRyaWdnZXIgYmVoYXZpb3IuXG4gKlxuICogQHByb3BlcnR5IE5PTkUgLSBNYW51YWwgdHJpZ2dlciBvbmx5LCBwaXBlbGluZSBkb2VzIG5vdCBzdGFydCBhdXRvbWF0aWNhbGx5XG4gKiBAcHJvcGVydHkgQVVUTyAtIEF1dG9tYXRpYyB0cmlnZ2VyIG9uIHNvdXJjZSBjaGFuZ2VzIChTMy9HaXRIdWI6IHBvbGxpbmcsIENvZGVTdGFyOiBwdXNoLWJhc2VkIHdlYmhvb2spXG4gKi9cbmV4cG9ydCBjb25zdCBUcmlnZ2VyVHlwZSA9IHtcbiAgTk9ORTogJ05PTkUnLFxuICAvKiogQXV0b21hdGljIHRyaWdnZXIgb24gc291cmNlIGNoYW5nZXMuIFVzZXMgcG9sbGluZyBmb3IgUzMvR2l0SHViLCBwdXNoLWJhc2VkIHdlYmhvb2sgZm9yIENvZGVTdGFyLiAqL1xuICBBVVRPOiAnQVVUTycsXG4gIC8qKiBTY2hlZHVsZWQgdHJpZ2dlciB2aWEgRXZlbnRCcmlkZ2UgcnVsZS4gUmVxdWlyZXMgYSBjcm9uIGV4cHJlc3Npb24gaW4gdGhlIHNvdXJjZSBvcHRpb25zLiAqL1xuICBTQ0hFRFVMRTogJ1NDSEVEVUxFJyxcbn0gYXMgY29uc3Q7XG5leHBvcnQgdHlwZSBUcmlnZ2VyVHlwZSA9ICh0eXBlb2YgVHJpZ2dlclR5cGUpW2tleW9mIHR5cGVvZiBUcmlnZ2VyVHlwZV07XG5cbi8qKlxuICogVW5pb24gdHlwZSBvZiBhbGwgc3VwcG9ydGVkIHBpcGVsaW5lIHNvdXJjZSB0eXBlc1xuICpcbiAqIFN1cHBvcnRlZCBzb3VyY2VzOlxuICogLSBTM1NvdXJjZUNvbmZpZzogU291cmNlIGNvZGUgZnJvbSBTMyBidWNrZXRcbiAqIC0gR2l0SHViU291cmNlQ29uZmlnOiBTb3VyY2UgY29kZSBmcm9tIEdpdEh1YiByZXBvc2l0b3J5XG4gKiAtIENvZGVTdGFyU291cmNlQ29uZmlnOiBTb3VyY2UgY29kZSB2aWEgQ29kZVN0YXIgY29ubmVjdGlvbiAoR2l0SHViLCBCaXRidWNrZXQsIEdpdExhYilcbiAqIC0gQ29kZUNvbW1pdFNvdXJjZUNvbmZpZzogU291cmNlIGNvZGUgZnJvbSBBV1MgQ29kZUNvbW1pdCByZXBvc2l0b3J5XG4gKi9cbmV4cG9ydCB0eXBlIFNvdXJjZVR5cGUgPSBTM1NvdXJjZUNvbmZpZyB8IEdpdEh1YlNvdXJjZUNvbmZpZyB8IENvZGVTdGFyU291cmNlQ29uZmlnIHwgQ29kZUNvbW1pdFNvdXJjZUNvbmZpZztcblxuLyoqXG4gKiBDb25zdGFudHMgZm9yIG1ldGFkYXRhIGtleXMgdG8gYXZvaWQgc3RyaW5nIHR5cG9zLlxuICpcbiAqIEtleSBmb3JtYXQ6IGBhd3M6Y2RrOntuYW1lc3BhY2V9Ontwcm9wZXJ0eX1gIChhbGwgbG93ZXJjYXNlKS5cbiAqIFRoZXNlIG1hdGNoIHRoZSBrZXlzIHByb2R1Y2VkIGJ5IGBnZXRDdXN0b21LZXkobmFtZXNwYWNlLCBwcm9wZXJ0eSlgXG4gKiBhbmQgbG9va2VkIHVwIGJ5IGBidWlsZENvbmZpZ0Zyb21NZXRhZGF0YWAuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IG1ldGFkYXRhID0ge1xuICogICBbTWV0YWRhdGFLZXlzLlNFTEZfTVVUQVRJT05dOiB0cnVlLFxuICogICBbTWV0YWRhdGFLZXlzLlBVQkxJU0hfQVNTRVRTX0lOX1BBUkFMTEVMXTogdHJ1ZVxuICogfTtcbiAqIGBgYFxuICovXG5leHBvcnQgY29uc3QgTWV0YWRhdGFLZXlzID0ge1xuICAvLyDilIDilIAgQ29kZVBpcGVsaW5lIChuYW1lc3BhY2U6IHBpcGVsaW5lczpjb2RlcGlwZWxpbmUpIOKUgOKUgFxuICBTRUxGX01VVEFUSU9OOiAnYXdzOmNkazpwaXBlbGluZXM6Y29kZXBpcGVsaW5lOnNlbGZtdXRhdGlvbicsXG4gIENST1NTX0FDQ09VTlRfS0VZUzogJ2F3czpjZGs6cGlwZWxpbmVzOmNvZGVwaXBlbGluZTpjcm9zc2FjY291bnRrZXlzJyxcbiAgRE9DS0VSX0VOQUJMRURfRk9SX1NFTEZfTVVUQVRJT046ICdhd3M6Y2RrOnBpcGVsaW5lczpjb2RlcGlwZWxpbmU6ZG9ja2VyZW5hYmxlZGZvcnNlbGZtdXRhdGlvbicsXG4gIERPQ0tFUl9FTkFCTEVEX0ZPUl9TWU5USDogJ2F3czpjZGs6cGlwZWxpbmVzOmNvZGVwaXBlbGluZTpkb2NrZXJlbmFibGVkZm9yc3ludGgnLFxuICBFTkFCTEVfS0VZX1JPVEFUSU9OOiAnYXdzOmNkazpwaXBlbGluZXM6Y29kZXBpcGVsaW5lOmVuYWJsZWtleXJvdGF0aW9uJyxcbiAgUFVCTElTSF9BU1NFVFNfSU5fUEFSQUxMRUw6ICdhd3M6Y2RrOnBpcGVsaW5lczpjb2RlcGlwZWxpbmU6cHVibGlzaGFzc2V0c2lucGFyYWxsZWwnLFxuICBSRVVTRV9DUk9TU19SRUdJT05fU1VQUE9SVF9TVEFDS1M6ICdhd3M6Y2RrOnBpcGVsaW5lczpjb2RlcGlwZWxpbmU6cmV1c2Vjcm9zc3JlZ2lvbnN1cHBvcnRzdGFja3MnLFxuICBVU0VfQ0hBTkdFX1NFVFM6ICdhd3M6Y2RrOnBpcGVsaW5lczpjb2RlcGlwZWxpbmU6dXNlY2hhbmdlc2V0cycsXG4gIFVTRV9QSVBFTElORV9ST0xFX0ZPUl9BQ1RJT05TOiAnYXdzOmNkazpwaXBlbGluZXM6Y29kZXBpcGVsaW5lOnVzZXBpcGVsaW5lcm9sZWZvcmFjdGlvbnMnLFxuICBBUlRJRkFDVF9CVUNLRVQ6ICdhd3M6Y2RrOnBpcGVsaW5lczpjb2RlcGlwZWxpbmU6YXJ0aWZhY3RidWNrZXQnLFxuICBBU1NFVF9QVUJMSVNISU5HX0NPREVfQlVJTERfREVGQVVMVFM6ICdhd3M6Y2RrOnBpcGVsaW5lczpjb2RlcGlwZWxpbmU6YXNzZXRwdWJsaXNoaW5nY29kZWJ1aWxkZGVmYXVsdHMnLFxuICBDREtfQVNTRVRTX0NMSV9WRVJTSU9OOiAnYXdzOmNkazpwaXBlbGluZXM6Y29kZXBpcGVsaW5lOmNka2Fzc2V0c2NsaXZlcnNpb24nLFxuICBDTElfVkVSU0lPTjogJ2F3czpjZGs6cGlwZWxpbmVzOmNvZGVwaXBlbGluZTpjbGl2ZXJzaW9uJyxcbiAgQ09ERV9CVUlMRF9ERUZBVUxUUzogJ2F3czpjZGs6cGlwZWxpbmVzOmNvZGVwaXBlbGluZTpjb2RlYnVpbGRkZWZhdWx0cycsXG4gIENPREVfUElQRUxJTkU6ICdhd3M6Y2RrOnBpcGVsaW5lczpjb2RlcGlwZWxpbmU6Y29kZXBpcGVsaW5lJyxcbiAgQ1JPU1NfUkVHSU9OX1JFUExJQ0FUSU9OX0JVQ0tFVFM6ICdhd3M6Y2RrOnBpcGVsaW5lczpjb2RlcGlwZWxpbmU6Y3Jvc3NyZWdpb25yZXBsaWNhdGlvbmJ1Y2tldHMnLFxuICBET0NLRVJfQ1JFREVOVElBTFM6ICdhd3M6Y2RrOnBpcGVsaW5lczpjb2RlcGlwZWxpbmU6ZG9ja2VyY3JlZGVudGlhbHMnLFxuICBQSVBFTElORV9OQU1FOiAnYXdzOmNkazpwaXBlbGluZXM6Y29kZXBpcGVsaW5lOnBpcGVsaW5lbmFtZScsXG4gIFBJUEVMSU5FX1RZUEU6ICdhd3M6Y2RrOnBpcGVsaW5lczpjb2RlcGlwZWxpbmU6cGlwZWxpbmV0eXBlJyxcbiAgUElQRUxJTkVfUk9MRTogJ2F3czpjZGs6cGlwZWxpbmVzOmNvZGVwaXBlbGluZTpyb2xlJyxcbiAgU0VMRl9NVVRBVElPTl9DT0RFX0JVSUxEX0RFRkFVTFRTOiAnYXdzOmNkazpwaXBlbGluZXM6Y29kZXBpcGVsaW5lOnNlbGZtdXRhdGlvbmNvZGVidWlsZGRlZmF1bHRzJyxcbiAgU1lOVEg6ICdhd3M6Y2RrOnBpcGVsaW5lczpjb2RlcGlwZWxpbmU6c3ludGgnLFxuICBTWU5USF9DT0RFX0JVSUxEX0RFRkFVTFRTOiAnYXdzOmNkazpwaXBlbGluZXM6Y29kZXBpcGVsaW5lOnN5bnRoY29kZWJ1aWxkZGVmYXVsdHMnLFxuXG4gIC8vIOKUgOKUgCBDb2RlQnVpbGRTdGVwIChuYW1lc3BhY2U6IHBpcGVsaW5lczpjb2RlYnVpbGRzdGVwKSDilIDilIBcbiAgQUNUSU9OX1JPTEU6ICdhd3M6Y2RrOnBpcGVsaW5lczpjb2RlYnVpbGRzdGVwOmFjdGlvbnJvbGUnLFxuICBBRERJVElPTkFMX0lOUFVUUzogJ2F3czpjZGs6cGlwZWxpbmVzOmNvZGVidWlsZHN0ZXA6YWRkaXRpb25hbGlucHV0cycsXG4gIEJVSUxEX0VOVklST05NRU5UOiAnYXdzOmNkazpwaXBlbGluZXM6Y29kZWJ1aWxkc3RlcDpidWlsZGVudmlyb25tZW50JyxcbiAgQ0FDSEU6ICdhd3M6Y2RrOnBpcGVsaW5lczpjb2RlYnVpbGRzdGVwOmNhY2hlJyxcbiAgQ09NTUFORFM6ICdhd3M6Y2RrOnBpcGVsaW5lczpjb2RlYnVpbGRzdGVwOmNvbW1hbmRzJyxcbiAgQ09ERV9CVUlMRF9FTlY6ICdhd3M6Y2RrOnBpcGVsaW5lczpjb2RlYnVpbGRzdGVwOmVudicsXG4gIEVOVl9GUk9NX0NGTl9PVVRQVVRTOiAnYXdzOmNkazpwaXBlbGluZXM6Y29kZWJ1aWxkc3RlcDplbnZmcm9tY2Zub3V0cHV0cycsXG4gIEZJTEVfU1lTVEVNX0xPQ0FUSU9OUzogJ2F3czpjZGs6cGlwZWxpbmVzOmNvZGVidWlsZHN0ZXA6ZmlsZXN5c3RlbWxvY2F0aW9ucycsXG4gIElOUFVUOiAnYXdzOmNkazpwaXBlbGluZXM6Y29kZWJ1aWxkc3RlcDppbnB1dCcsXG4gIElOU1RBTExfQ09NTUFORFM6ICdhd3M6Y2RrOnBpcGVsaW5lczpjb2RlYnVpbGRzdGVwOmluc3RhbGxjb21tYW5kcycsXG4gIExPR0dJTkc6ICdhd3M6Y2RrOnBpcGVsaW5lczpjb2RlYnVpbGRzdGVwOmxvZ2dpbmcnLFxuICBQQVJUSUFMX0JVSUxEX1NQRUM6ICdhd3M6Y2RrOnBpcGVsaW5lczpjb2RlYnVpbGRzdGVwOnBhcnRpYWxidWlsZHNwZWMnLFxuICBQUklNQVJZX09VVFBVVF9ESVJFQ1RPUlk6ICdhd3M6Y2RrOnBpcGVsaW5lczpjb2RlYnVpbGRzdGVwOnByaW1hcnlvdXRwdXRkaXJlY3RvcnknLFxuICBQUk9KRUNUX05BTUU6ICdhd3M6Y2RrOnBpcGVsaW5lczpjb2RlYnVpbGRzdGVwOnByb2plY3RuYW1lJyxcbiAgU1RFUF9ST0xFOiAnYXdzOmNkazpwaXBlbGluZXM6Y29kZWJ1aWxkc3RlcDpyb2xlJyxcbiAgUk9MRV9QT0xJQ1lfU1RBVEVNRU5UUzogJ2F3czpjZGs6cGlwZWxpbmVzOmNvZGVidWlsZHN0ZXA6cm9sZXBvbGljeXN0YXRlbWVudHMnLFxuICBUSU1FT1VUOiAnYXdzOmNkazpwaXBlbGluZXM6Y29kZWJ1aWxkc3RlcDp0aW1lb3V0JyxcblxuICAvLyDilIDilIAgU2hlbGxTdGVwIChuYW1lc3BhY2U6IHBpcGVsaW5lczpzaGVsbHN0ZXApIOKUgOKUgFxuICBTSEVMTF9BRERJVElPTkFMX0lOUFVUUzogJ2F3czpjZGs6cGlwZWxpbmVzOnNoZWxsc3RlcDphZGRpdGlvbmFsaW5wdXRzJyxcbiAgU0hFTExfQ09NTUFORFM6ICdhd3M6Y2RrOnBpcGVsaW5lczpzaGVsbHN0ZXA6Y29tbWFuZHMnLFxuICBTSEVMTF9FTlY6ICdhd3M6Y2RrOnBpcGVsaW5lczpzaGVsbHN0ZXA6ZW52JyxcbiAgU0hFTExfRU5WX0ZST01fQ0ZOX09VVFBVVFM6ICdhd3M6Y2RrOnBpcGVsaW5lczpzaGVsbHN0ZXA6ZW52ZnJvbWNmbm91dHB1dHMnLFxuICBTSEVMTF9JTlBVVDogJ2F3czpjZGs6cGlwZWxpbmVzOnNoZWxsc3RlcDppbnB1dCcsXG4gIFNIRUxMX0lOU1RBTExfQ09NTUFORFM6ICdhd3M6Y2RrOnBpcGVsaW5lczpzaGVsbHN0ZXA6aW5zdGFsbGNvbW1hbmRzJyxcbiAgU0hFTExfUFJJTUFSWV9PVVRQVVRfRElSRUNUT1JZOiAnYXdzOmNkazpwaXBlbGluZXM6c2hlbGxzdGVwOnByaW1hcnlvdXRwdXRkaXJlY3RvcnknLFxuXG4gIC8vIOKUgOKUgCBCdWlsZEVudmlyb25tZW50IChuYW1lc3BhY2U6IGNvZGVidWlsZDpidWlsZGVudmlyb25tZW50KSDilIDilIBcbiAgUFJJVklMRUdFRDogJ2F3czpjZGs6Y29kZWJ1aWxkOmJ1aWxkZW52aXJvbm1lbnQ6cHJpdmlsZWdlZCcsXG4gIEJVSUxEX0lNQUdFOiAnYXdzOmNkazpjb2RlYnVpbGQ6YnVpbGRlbnZpcm9ubWVudDpidWlsZGltYWdlJyxcbiAgQ0VSVElGSUNBVEU6ICdhd3M6Y2RrOmNvZGVidWlsZDpidWlsZGVudmlyb25tZW50OmNlcnRpZmljYXRlJyxcbiAgQ09NUFVURV9UWVBFOiAnYXdzOmNkazpjb2RlYnVpbGQ6YnVpbGRlbnZpcm9ubWVudDpjb21wdXRldHlwZScsXG4gIERPQ0tFUl9TRVJWRVI6ICdhd3M6Y2RrOmNvZGVidWlsZDpidWlsZGVudmlyb25tZW50OmRvY2tlcnNlcnZlcicsXG4gIEVOVklST05NRU5UX1ZBUklBQkxFUzogJ2F3czpjZGs6Y29kZWJ1aWxkOmJ1aWxkZW52aXJvbm1lbnQ6ZW52aXJvbm1lbnR2YXJpYWJsZXMnLFxuICBGTEVFVDogJ2F3czpjZGs6Y29kZWJ1aWxkOmJ1aWxkZW52aXJvbm1lbnQ6ZmxlZXQnLFxuXG4gIC8vIOKUgOKUgCBOZXR3b3JrIGNvbmZpZ3VyYXRpb24gKG5hbWVzcGFjZTogZWMyOm5ldHdvcmspIOKUgOKUgFxuICBORVRXT1JLX1RZUEU6ICdhd3M6Y2RrOmVjMjpuZXR3b3JrOnR5cGUnLFxuICBORVRXT1JLX1ZQQ19JRDogJ2F3czpjZGs6ZWMyOm5ldHdvcms6dnBjaWQnLFxuICBORVRXT1JLX1NVQk5FVF9JRFM6ICdhd3M6Y2RrOmVjMjpuZXR3b3JrOnN1Ym5ldGlkcycsXG4gIE5FVFdPUktfU1VCTkVUX1RZUEU6ICdhd3M6Y2RrOmVjMjpuZXR3b3JrOnN1Ym5ldHR5cGUnLFxuICBORVRXT1JLX0FWQUlMQUJJTElUWV9aT05FUzogJ2F3czpjZGs6ZWMyOm5ldHdvcms6YXZhaWxhYmlsaXR5em9uZXMnLFxuICBORVRXT1JLX1NVQk5FVF9HUk9VUF9OQU1FOiAnYXdzOmNkazplYzI6bmV0d29yazpzdWJuZXRncm91cG5hbWUnLFxuICBORVRXT1JLX1NFQ1VSSVRZX0dST1VQX0lEUzogJ2F3czpjZGs6ZWMyOm5ldHdvcms6c2VjdXJpdHlncm91cGlkcycsXG4gIE5FVFdPUktfVEFHUzogJ2F3czpjZGs6ZWMyOm5ldHdvcms6dGFncycsXG4gIE5FVFdPUktfVlBDX05BTUU6ICdhd3M6Y2RrOmVjMjpuZXR3b3JrOnZwY25hbWUnLFxuICBORVRXT1JLX1JFR0lPTjogJ2F3czpjZGs6ZWMyOm5ldHdvcms6cmVnaW9uJyxcblxuICAvLyDilIDilIAgSUFNIHJvbGUgY29uZmlndXJhdGlvbiAobmFtZXNwYWNlOiBpYW06cm9sZSkg4pSA4pSAXG4gIFJPTEVfVFlQRTogJ2F3czpjZGs6aWFtOnJvbGU6dHlwZScsXG4gIFJPTEVfQVJOOiAnYXdzOmNkazppYW06cm9sZTpyb2xlYXJuJyxcbiAgUk9MRV9OQU1FOiAnYXdzOmNkazppYW06cm9sZTpyb2xlbmFtZScsXG4gIFJPTEVfTVVUQUJMRTogJ2F3czpjZGs6aWFtOnJvbGU6bXV0YWJsZScsXG5cbiAgLy8g4pSA4pSAIFNlY3VyaXR5IGdyb3VwIGNvbmZpZ3VyYXRpb24gKG5hbWVzcGFjZTogZWMyOnNlY3VyaXR5Z3JvdXApIOKUgOKUgFxuICBTRUNVUklUWV9HUk9VUF9UWVBFOiAnYXdzOmNkazplYzI6c2VjdXJpdHlncm91cDp0eXBlJyxcbiAgU0VDVVJJVFlfR1JPVVBfSURTOiAnYXdzOmNkazplYzI6c2VjdXJpdHlncm91cDpzZWN1cml0eWdyb3VwaWRzJyxcbiAgU0VDVVJJVFlfR1JPVVBfTVVUQUJMRTogJ2F3czpjZGs6ZWMyOnNlY3VyaXR5Z3JvdXA6bXV0YWJsZScsXG4gIFNFQ1VSSVRZX0dST1VQX05BTUU6ICdhd3M6Y2RrOmVjMjpzZWN1cml0eWdyb3VwOnNlY3VyaXR5Z3JvdXBuYW1lJyxcbiAgU0VDVVJJVFlfR1JPVVBfVlBDX0lEOiAnYXdzOmNkazplYzI6c2VjdXJpdHlncm91cDp2cGNpZCcsXG5cbiAgLy8g4pSA4pSAIE5vdGlmaWNhdGlvbnMgKG5hbWVzcGFjZTogbm90aWZpY2F0aW9ucykg4pSA4pSAXG4gIE5PVElGSUNBVElPTl9UT1BJQ19BUk46ICdhd3M6Y2RrOm5vdGlmaWNhdGlvbnM6dG9waWM6YXJuJyxcbiAgTk9USUZJQ0FUSU9OX0VWRU5UUzogJ2F3czpjZGs6bm90aWZpY2F0aW9uczpldmVudHMnLFxuXG4gIC8vIOKUgOKUgCBQaXBlbGluZSBvcGVyYXRpb25zIChuYW1lc3BhY2U6IG9wZXJhdGlvbnMg4oCUIGN1c3RvbSBzeW50aCBpbiBQaXBlbGluZUJ1aWxkZXIpIOKUgOKUgFxuICBFTkFCTEVfRVhFQ1VUSU9OX0VWRU5UUzogJ2F3czpjZGs6b3BlcmF0aW9uczpleGVjdXRpb25ldmVudHMnLFxuICBFTkFCTEVfTUVUUklDUzogJ2F3czpjZGs6b3BlcmF0aW9uczptZXRyaWNzJyxcbiAgQVJUSUZBQ1RfUkVURU5USU9OX0RBWVM6ICdhd3M6Y2RrOm9wZXJhdGlvbnM6YXJ0aWZhY3RyZXRlbnRpb25kYXlzJyxcbiAgUElQRUxJTkVfVkFSSUFCTEVTOiAnYXdzOmNkazpvcGVyYXRpb25zOnZhcmlhYmxlcycsXG5cbiAgLy8g4pSA4pSAIEVuY3J5cHRpb24gKG5hbWVzcGFjZTogZW5jcnlwdGlvbiDigJQgY3VzdG9tIHN5bnRoIGluIFBpcGVsaW5lQnVpbGRlcikg4pSA4pSAXG4gIEtNU19LRVlfQVJOOiAnYXdzOmNkazplbmNyeXB0aW9uOmttc2tleWFybicsXG59IGFzIGNvbnN0O1xuXG4vKipcbiAqIFR5cGUgZm9yIE1ldGFkYXRhS2V5cyB2YWx1ZXNcbiAqL1xuZXhwb3J0IHR5cGUgTWV0YWRhdGFLZXkgPSB0eXBlb2YgTWV0YWRhdGFLZXlzW2tleW9mIHR5cGVvZiBNZXRhZGF0YUtleXNdO1xuXG4vKipcbiAqIFByZWZpeCBmb3IgQVdTIENESyBtZXRhZGF0YSBrZXlzLlxuICogS2V5cyB3aXRoIHRoaXMgcHJlZml4IGFyZSBoYW5kbGVkIGJ5IHRoZSBtZXRhZGF0YSBleHRyYWN0aW9uIGZ1bmN0aW9uc1xuICogKG1ldGFkYXRhRm9yQ29kZVBpcGVsaW5lLCBldGMuKSBhbmQgc2hvdWxkIE5PVCBiZSBwYXNzZWQgYXMgQ29kZUJ1aWxkIGVudmlyb25tZW50IHZhcmlhYmxlcy5cbiAqL1xuZXhwb3J0IGNvbnN0IENES19NRVRBREFUQV9QUkVGSVggPSAnYXdzOmNkazonOyJdfQ==
|
|
131
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlwZWxpbmUtdHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29yZS9waXBlbGluZS10eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQ0FBK0M7QUFDL0Msc0NBQXNDO0FBSXRDLHVEQUF1RDtBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQXFCLE1BQU0sNEJBQTRCLENBQUM7QUFFeEc7Ozs7O0dBS0c7QUFDSCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUc7SUFDekIsSUFBSSxFQUFFLE1BQU07SUFDWix3R0FBd0c7SUFDeEcsSUFBSSxFQUFFLE1BQU07SUFDWixnR0FBZ0c7SUFDaEcsUUFBUSxFQUFFLFVBQVU7Q0FDWixDQUFDO0FBY1g7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUc7SUFDMUIseURBQXlEO0lBQ3pELGFBQWEsRUFBRSw2Q0FBNkM7SUFDNUQsa0JBQWtCLEVBQUUsaURBQWlEO0lBQ3JFLGdDQUFnQyxFQUFFLDZEQUE2RDtJQUMvRix3QkFBd0IsRUFBRSxzREFBc0Q7SUFDaEYsbUJBQW1CLEVBQUUsa0RBQWtEO0lBQ3ZFLDBCQUEwQixFQUFFLHdEQUF3RDtJQUNwRixpQ0FBaUMsRUFBRSw4REFBOEQ7SUFDakcsZUFBZSxFQUFFLDhDQUE4QztJQUMvRCw2QkFBNkIsRUFBRSwwREFBMEQ7SUFDekYsZUFBZSxFQUFFLCtDQUErQztJQUNoRSxvQ0FBb0MsRUFBRSxpRUFBaUU7SUFDdkcsc0JBQXNCLEVBQUUsb0RBQW9EO0lBQzVFLFdBQVcsRUFBRSwyQ0FBMkM7SUFDeEQsbUJBQW1CLEVBQUUsa0RBQWtEO0lBQ3ZFLGFBQWEsRUFBRSw2Q0FBNkM7SUFDNUQsZ0NBQWdDLEVBQUUsOERBQThEO0lBQ2hHLGtCQUFrQixFQUFFLGtEQUFrRDtJQUN0RSxhQUFhLEVBQUUsNkNBQTZDO0lBQzVELGFBQWEsRUFBRSw2Q0FBNkM7SUFDNUQsYUFBYSxFQUFFLHFDQUFxQztJQUNwRCxpQ0FBaUMsRUFBRSw4REFBOEQ7SUFDakcsS0FBSyxFQUFFLHNDQUFzQztJQUM3Qyx5QkFBeUIsRUFBRSx1REFBdUQ7SUFFbEYsMkRBQTJEO0lBQzNELFdBQVcsRUFBRSw0Q0FBNEM7SUFDekQsaUJBQWlCLEVBQUUsa0RBQWtEO0lBQ3JFLGlCQUFpQixFQUFFLGtEQUFrRDtJQUNyRSxLQUFLLEVBQUUsdUNBQXVDO0lBQzlDLFFBQVEsRUFBRSwwQ0FBMEM7SUFDcEQsY0FBYyxFQUFFLHFDQUFxQztJQUNyRCxvQkFBb0IsRUFBRSxtREFBbUQ7SUFDekUscUJBQXFCLEVBQUUscURBQXFEO0lBQzVFLEtBQUssRUFBRSx1Q0FBdUM7SUFDOUMsZ0JBQWdCLEVBQUUsaURBQWlEO0lBQ25FLE9BQU8sRUFBRSx5Q0FBeUM7SUFDbEQsa0JBQWtCLEVBQUUsa0RBQWtEO0lBQ3RFLHdCQUF3QixFQUFFLHdEQUF3RDtJQUNsRixZQUFZLEVBQUUsNkNBQTZDO0lBQzNELFNBQVMsRUFBRSxzQ0FBc0M7SUFDakQsc0JBQXNCLEVBQUUsc0RBQXNEO0lBQzlFLE9BQU8sRUFBRSx5Q0FBeUM7SUFFbEQsbURBQW1EO0lBQ25ELHVCQUF1QixFQUFFLDhDQUE4QztJQUN2RSxjQUFjLEVBQUUsc0NBQXNDO0lBQ3RELFNBQVMsRUFBRSxpQ0FBaUM7SUFDNUMsMEJBQTBCLEVBQUUsK0NBQStDO0lBQzNFLFdBQVcsRUFBRSxtQ0FBbUM7SUFDaEQsc0JBQXNCLEVBQUUsNkNBQTZDO0lBQ3JFLDhCQUE4QixFQUFFLG9EQUFvRDtJQUVwRixpRUFBaUU7SUFDakUsVUFBVSxFQUFFLCtDQUErQztJQUMzRCxXQUFXLEVBQUUsK0NBQStDO0lBQzVELFdBQVcsRUFBRSxnREFBZ0Q7SUFDN0QsWUFBWSxFQUFFLGdEQUFnRDtJQUM5RCxhQUFhLEVBQUUsaURBQWlEO0lBQ2hFLHFCQUFxQixFQUFFLHlEQUF5RDtJQUNoRixLQUFLLEVBQUUsMENBQTBDO0lBRWpELHVEQUF1RDtJQUN2RCxZQUFZLEVBQUUsMEJBQTBCO0lBQ3hDLGNBQWMsRUFBRSwyQkFBMkI7SUFDM0Msa0JBQWtCLEVBQUUsK0JBQStCO0lBQ25ELG1CQUFtQixFQUFFLGdDQUFnQztJQUNyRCwwQkFBMEIsRUFBRSx1Q0FBdUM7SUFDbkUseUJBQXlCLEVBQUUscUNBQXFDO0lBQ2hFLDBCQUEwQixFQUFFLHNDQUFzQztJQUNsRSxZQUFZLEVBQUUsMEJBQTBCO0lBQ3hDLGdCQUFnQixFQUFFLDZCQUE2QjtJQUMvQyxjQUFjLEVBQUUsNEJBQTRCO0lBRTVDLHFEQUFxRDtJQUNyRCxTQUFTLEVBQUUsdUJBQXVCO0lBQ2xDLFFBQVEsRUFBRSwwQkFBMEI7SUFDcEMsU0FBUyxFQUFFLDJCQUEyQjtJQUN0QyxZQUFZLEVBQUUsMEJBQTBCO0lBRXhDLG9FQUFvRTtJQUNwRSxtQkFBbUIsRUFBRSxnQ0FBZ0M7SUFDckQsa0JBQWtCLEVBQUUsNENBQTRDO0lBQ2hFLHNCQUFzQixFQUFFLG1DQUFtQztJQUMzRCxtQkFBbUIsRUFBRSw2Q0FBNkM7SUFDbEUscUJBQXFCLEVBQUUsaUNBQWlDO0lBRXhELGlEQUFpRDtJQUNqRCxzQkFBc0IsRUFBRSxpQ0FBaUM7SUFDekQsbUJBQW1CLEVBQUUsOEJBQThCO0lBRW5ELHNGQUFzRjtJQUN0Rix1QkFBdUIsRUFBRSxvQ0FBb0M7SUFDN0QsY0FBYyxFQUFFLDRCQUE0QjtJQUM1Qyx1QkFBdUIsRUFBRSwwQ0FBMEM7SUFDbkUsa0JBQWtCLEVBQUUsOEJBQThCO0lBRWxELDZFQUE2RTtJQUM3RSxXQUFXLEVBQUUsOEJBQThCO0NBQ25DLENBQUM7QUFFWDs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsVUFBVSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IDIwMjYgUGlwZWxpbmUgQnVpbGRlciBDb250cmlidXRvcnNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbmltcG9ydCB0eXBlIHsgQ29kZUNvbW1pdFNvdXJjZUNvbmZpZywgQ29kZVN0YXJTb3VyY2VDb25maWcsIEdpdEh1YlNvdXJjZUNvbmZpZywgUzNTb3VyY2VDb25maWcgfSBmcm9tICcuLi9waXBlbGluZS9zb3VyY2UtdHlwZXMuanMnO1xuXG4vLyBSZS1leHBvcnQgc2hhcmVkIHR5cGVzIGZyb20gYXBpLWNvcmUgZm9yIGNvbnZlbmllbmNlXG5leHBvcnQgeyBBY2Nlc3NNb2RpZmllciwgQ29tcHV0ZVR5cGUsIFBsdWdpblR5cGUsIHR5cGUgTWV0YURhdGFUeXBlIH0gZnJvbSAnQHBpcGVsaW5lLWJ1aWxkZXIvYXBpLWNvcmUnO1xuXG4vKipcbiAqIFBpcGVsaW5lIHRyaWdnZXIgYmVoYXZpb3IuXG4gKlxuICogQHByb3BlcnR5IE5PTkUgLSBNYW51YWwgdHJpZ2dlciBvbmx5LCBwaXBlbGluZSBkb2VzIG5vdCBzdGFydCBhdXRvbWF0aWNhbGx5XG4gKiBAcHJvcGVydHkgQVVUTyAtIEF1dG9tYXRpYyB0cmlnZ2VyIG9uIHNvdXJjZSBjaGFuZ2VzIChTMy9HaXRIdWI6IHBvbGxpbmcsIENvZGVTdGFyOiBwdXNoLWJhc2VkIHdlYmhvb2spXG4gKi9cbmV4cG9ydCBjb25zdCBUcmlnZ2VyVHlwZSA9IHtcbiAgTk9ORTogJ05PTkUnLFxuICAvKiogQXV0b21hdGljIHRyaWdnZXIgb24gc291cmNlIGNoYW5nZXMuIFVzZXMgcG9sbGluZyBmb3IgUzMvR2l0SHViLCBwdXNoLWJhc2VkIHdlYmhvb2sgZm9yIENvZGVTdGFyLiAqL1xuICBBVVRPOiAnQVVUTycsXG4gIC8qKiBTY2hlZHVsZWQgdHJpZ2dlciB2aWEgRXZlbnRCcmlkZ2UgcnVsZS4gUmVxdWlyZXMgYSBjcm9uIGV4cHJlc3Npb24gaW4gdGhlIHNvdXJjZSBvcHRpb25zLiAqL1xuICBTQ0hFRFVMRTogJ1NDSEVEVUxFJyxcbn0gYXMgY29uc3Q7XG5leHBvcnQgdHlwZSBUcmlnZ2VyVHlwZSA9ICh0eXBlb2YgVHJpZ2dlclR5cGUpW2tleW9mIHR5cGVvZiBUcmlnZ2VyVHlwZV07XG5cbi8qKlxuICogVW5pb24gdHlwZSBvZiBhbGwgc3VwcG9ydGVkIHBpcGVsaW5lIHNvdXJjZSB0eXBlc1xuICpcbiAqIFN1cHBvcnRlZCBzb3VyY2VzOlxuICogLSBTM1NvdXJjZUNvbmZpZzogU291cmNlIGNvZGUgZnJvbSBTMyBidWNrZXRcbiAqIC0gR2l0SHViU291cmNlQ29uZmlnOiBTb3VyY2UgY29kZSBmcm9tIEdpdEh1YiByZXBvc2l0b3J5XG4gKiAtIENvZGVTdGFyU291cmNlQ29uZmlnOiBTb3VyY2UgY29kZSB2aWEgQ29kZVN0YXIgY29ubmVjdGlvbiAoR2l0SHViLCBCaXRidWNrZXQsIEdpdExhYilcbiAqIC0gQ29kZUNvbW1pdFNvdXJjZUNvbmZpZzogU291cmNlIGNvZGUgZnJvbSBBV1MgQ29kZUNvbW1pdCByZXBvc2l0b3J5XG4gKi9cbmV4cG9ydCB0eXBlIFNvdXJjZVR5cGUgPSBTM1NvdXJjZUNvbmZpZyB8IEdpdEh1YlNvdXJjZUNvbmZpZyB8IENvZGVTdGFyU291cmNlQ29uZmlnIHwgQ29kZUNvbW1pdFNvdXJjZUNvbmZpZztcblxuLyoqXG4gKiBDb25zdGFudHMgZm9yIG1ldGFkYXRhIGtleXMgdG8gYXZvaWQgc3RyaW5nIHR5cG9zLlxuICpcbiAqIEtleSBmb3JtYXQ6IGBhd3M6Y2RrOntuYW1lc3BhY2V9Ontwcm9wZXJ0eX1gIChhbGwgbG93ZXJjYXNlKS5cbiAqIFRoZXNlIG1hdGNoIHRoZSBrZXlzIHByb2R1Y2VkIGJ5IGBnZXRDdXN0b21LZXkobmFtZXNwYWNlLCBwcm9wZXJ0eSlgXG4gKiBhbmQgbG9va2VkIHVwIGJ5IGBidWlsZENvbmZpZ0Zyb21NZXRhZGF0YWAuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IG1ldGFkYXRhID0ge1xuICogICBbTWV0YWRhdGFLZXlzLlNFTEZfTVVUQVRJT05dOiB0cnVlLFxuICogICBbTWV0YWRhdGFLZXlzLlBVQkxJU0hfQVNTRVRTX0lOX1BBUkFMTEVMXTogdHJ1ZVxuICogfTtcbiAqIGBgYFxuICovXG5leHBvcnQgY29uc3QgTWV0YWRhdGFLZXlzID0ge1xuICAvLyDilIDilIAgQ29kZVBpcGVsaW5lIChuYW1lc3BhY2U6IHBpcGVsaW5lczpjb2RlcGlwZWxpbmUpIOKUgOKUgFxuICBTRUxGX01VVEFUSU9OOiAnYXdzOmNkazpwaXBlbGluZXM6Y29kZXBpcGVsaW5lOnNlbGZtdXRhdGlvbicsXG4gIENST1NTX0FDQ09VTlRfS0VZUzogJ2F3czpjZGs6cGlwZWxpbmVzOmNvZGVwaXBlbGluZTpjcm9zc2FjY291bnRrZXlzJyxcbiAgRE9DS0VSX0VOQUJMRURfRk9SX1NFTEZfTVVUQVRJT046ICdhd3M6Y2RrOnBpcGVsaW5lczpjb2RlcGlwZWxpbmU6ZG9ja2VyZW5hYmxlZGZvcnNlbGZtdXRhdGlvbicsXG4gIERPQ0tFUl9FTkFCTEVEX0ZPUl9TWU5USDogJ2F3czpjZGs6cGlwZWxpbmVzOmNvZGVwaXBlbGluZTpkb2NrZXJlbmFibGVkZm9yc3ludGgnLFxuICBFTkFCTEVfS0VZX1JPVEFUSU9OOiAnYXdzOmNkazpwaXBlbGluZXM6Y29kZXBpcGVsaW5lOmVuYWJsZWtleXJvdGF0aW9uJyxcbiAgUFVCTElTSF9BU1NFVFNfSU5fUEFSQUxMRUw6ICdhd3M6Y2RrOnBpcGVsaW5lczpjb2RlcGlwZWxpbmU6cHVibGlzaGFzc2V0c2lucGFyYWxsZWwnLFxuICBSRVVTRV9DUk9TU19SRUdJT05fU1VQUE9SVF9TVEFDS1M6ICdhd3M6Y2RrOnBpcGVsaW5lczpjb2RlcGlwZWxpbmU6cmV1c2Vjcm9zc3JlZ2lvbnN1cHBvcnRzdGFja3MnLFxuICBVU0VfQ0hBTkdFX1NFVFM6ICdhd3M6Y2RrOnBpcGVsaW5lczpjb2RlcGlwZWxpbmU6dXNlY2hhbmdlc2V0cycsXG4gIFVTRV9QSVBFTElORV9ST0xFX0ZPUl9BQ1RJT05TOiAnYXdzOmNkazpwaXBlbGluZXM6Y29kZXBpcGVsaW5lOnVzZXBpcGVsaW5lcm9sZWZvcmFjdGlvbnMnLFxuICBBUlRJRkFDVF9CVUNLRVQ6ICdhd3M6Y2RrOnBpcGVsaW5lczpjb2RlcGlwZWxpbmU6YXJ0aWZhY3RidWNrZXQnLFxuICBBU1NFVF9QVUJMSVNISU5HX0NPREVfQlVJTERfREVGQVVMVFM6ICdhd3M6Y2RrOnBpcGVsaW5lczpjb2RlcGlwZWxpbmU6YXNzZXRwdWJsaXNoaW5nY29kZWJ1aWxkZGVmYXVsdHMnLFxuICBDREtfQVNTRVRTX0NMSV9WRVJTSU9OOiAnYXdzOmNkazpwaXBlbGluZXM6Y29kZXBpcGVsaW5lOmNka2Fzc2V0c2NsaXZlcnNpb24nLFxuICBDTElfVkVSU0lPTjogJ2F3czpjZGs6cGlwZWxpbmVzOmNvZGVwaXBlbGluZTpjbGl2ZXJzaW9uJyxcbiAgQ09ERV9CVUlMRF9ERUZBVUxUUzogJ2F3czpjZGs6cGlwZWxpbmVzOmNvZGVwaXBlbGluZTpjb2RlYnVpbGRkZWZhdWx0cycsXG4gIENPREVfUElQRUxJTkU6ICdhd3M6Y2RrOnBpcGVsaW5lczpjb2RlcGlwZWxpbmU6Y29kZXBpcGVsaW5lJyxcbiAgQ1JPU1NfUkVHSU9OX1JFUExJQ0FUSU9OX0JVQ0tFVFM6ICdhd3M6Y2RrOnBpcGVsaW5lczpjb2RlcGlwZWxpbmU6Y3Jvc3NyZWdpb25yZXBsaWNhdGlvbmJ1Y2tldHMnLFxuICBET0NLRVJfQ1JFREVOVElBTFM6ICdhd3M6Y2RrOnBpcGVsaW5lczpjb2RlcGlwZWxpbmU6ZG9ja2VyY3JlZGVudGlhbHMnLFxuICBQSVBFTElORV9OQU1FOiAnYXdzOmNkazpwaXBlbGluZXM6Y29kZXBpcGVsaW5lOnBpcGVsaW5lbmFtZScsXG4gIFBJUEVMSU5FX1RZUEU6ICdhd3M6Y2RrOnBpcGVsaW5lczpjb2RlcGlwZWxpbmU6cGlwZWxpbmV0eXBlJyxcbiAgUElQRUxJTkVfUk9MRTogJ2F3czpjZGs6cGlwZWxpbmVzOmNvZGVwaXBlbGluZTpyb2xlJyxcbiAgU0VMRl9NVVRBVElPTl9DT0RFX0JVSUxEX0RFRkFVTFRTOiAnYXdzOmNkazpwaXBlbGluZXM6Y29kZXBpcGVsaW5lOnNlbGZtdXRhdGlvbmNvZGVidWlsZGRlZmF1bHRzJyxcbiAgU1lOVEg6ICdhd3M6Y2RrOnBpcGVsaW5lczpjb2RlcGlwZWxpbmU6c3ludGgnLFxuICBTWU5USF9DT0RFX0JVSUxEX0RFRkFVTFRTOiAnYXdzOmNkazpwaXBlbGluZXM6Y29kZXBpcGVsaW5lOnN5bnRoY29kZWJ1aWxkZGVmYXVsdHMnLFxuXG4gIC8vIOKUgOKUgCBDb2RlQnVpbGRTdGVwIChuYW1lc3BhY2U6IHBpcGVsaW5lczpjb2RlYnVpbGRzdGVwKSDilIDilIBcbiAgQUNUSU9OX1JPTEU6ICdhd3M6Y2RrOnBpcGVsaW5lczpjb2RlYnVpbGRzdGVwOmFjdGlvbnJvbGUnLFxuICBBRERJVElPTkFMX0lOUFVUUzogJ2F3czpjZGs6cGlwZWxpbmVzOmNvZGVidWlsZHN0ZXA6YWRkaXRpb25hbGlucHV0cycsXG4gIEJVSUxEX0VOVklST05NRU5UOiAnYXdzOmNkazpwaXBlbGluZXM6Y29kZWJ1aWxkc3RlcDpidWlsZGVudmlyb25tZW50JyxcbiAgQ0FDSEU6ICdhd3M6Y2RrOnBpcGVsaW5lczpjb2RlYnVpbGRzdGVwOmNhY2hlJyxcbiAgQ09NTUFORFM6ICdhd3M6Y2RrOnBpcGVsaW5lczpjb2RlYnVpbGRzdGVwOmNvbW1hbmRzJyxcbiAgQ09ERV9CVUlMRF9FTlY6ICdhd3M6Y2RrOnBpcGVsaW5lczpjb2RlYnVpbGRzdGVwOmVudicsXG4gIEVOVl9GUk9NX0NGTl9PVVRQVVRTOiAnYXdzOmNkazpwaXBlbGluZXM6Y29kZWJ1aWxkc3RlcDplbnZmcm9tY2Zub3V0cHV0cycsXG4gIEZJTEVfU1lTVEVNX0xPQ0FUSU9OUzogJ2F3czpjZGs6cGlwZWxpbmVzOmNvZGVidWlsZHN0ZXA6ZmlsZXN5c3RlbWxvY2F0aW9ucycsXG4gIElOUFVUOiAnYXdzOmNkazpwaXBlbGluZXM6Y29kZWJ1aWxkc3RlcDppbnB1dCcsXG4gIElOU1RBTExfQ09NTUFORFM6ICdhd3M6Y2RrOnBpcGVsaW5lczpjb2RlYnVpbGRzdGVwOmluc3RhbGxjb21tYW5kcycsXG4gIExPR0dJTkc6ICdhd3M6Y2RrOnBpcGVsaW5lczpjb2RlYnVpbGRzdGVwOmxvZ2dpbmcnLFxuICBQQVJUSUFMX0JVSUxEX1NQRUM6ICdhd3M6Y2RrOnBpcGVsaW5lczpjb2RlYnVpbGRzdGVwOnBhcnRpYWxidWlsZHNwZWMnLFxuICBQUklNQVJZX09VVFBVVF9ESVJFQ1RPUlk6ICdhd3M6Y2RrOnBpcGVsaW5lczpjb2RlYnVpbGRzdGVwOnByaW1hcnlvdXRwdXRkaXJlY3RvcnknLFxuICBQUk9KRUNUX05BTUU6ICdhd3M6Y2RrOnBpcGVsaW5lczpjb2RlYnVpbGRzdGVwOnByb2plY3RuYW1lJyxcbiAgU1RFUF9ST0xFOiAnYXdzOmNkazpwaXBlbGluZXM6Y29kZWJ1aWxkc3RlcDpyb2xlJyxcbiAgUk9MRV9QT0xJQ1lfU1RBVEVNRU5UUzogJ2F3czpjZGs6cGlwZWxpbmVzOmNvZGVidWlsZHN0ZXA6cm9sZXBvbGljeXN0YXRlbWVudHMnLFxuICBUSU1FT1VUOiAnYXdzOmNkazpwaXBlbGluZXM6Y29kZWJ1aWxkc3RlcDp0aW1lb3V0JyxcblxuICAvLyDilIDilIAgU2hlbGxTdGVwIChuYW1lc3BhY2U6IHBpcGVsaW5lczpzaGVsbHN0ZXApIOKUgOKUgFxuICBTSEVMTF9BRERJVElPTkFMX0lOUFVUUzogJ2F3czpjZGs6cGlwZWxpbmVzOnNoZWxsc3RlcDphZGRpdGlvbmFsaW5wdXRzJyxcbiAgU0hFTExfQ09NTUFORFM6ICdhd3M6Y2RrOnBpcGVsaW5lczpzaGVsbHN0ZXA6Y29tbWFuZHMnLFxuICBTSEVMTF9FTlY6ICdhd3M6Y2RrOnBpcGVsaW5lczpzaGVsbHN0ZXA6ZW52JyxcbiAgU0hFTExfRU5WX0ZST01fQ0ZOX09VVFBVVFM6ICdhd3M6Y2RrOnBpcGVsaW5lczpzaGVsbHN0ZXA6ZW52ZnJvbWNmbm91dHB1dHMnLFxuICBTSEVMTF9JTlBVVDogJ2F3czpjZGs6cGlwZWxpbmVzOnNoZWxsc3RlcDppbnB1dCcsXG4gIFNIRUxMX0lOU1RBTExfQ09NTUFORFM6ICdhd3M6Y2RrOnBpcGVsaW5lczpzaGVsbHN0ZXA6aW5zdGFsbGNvbW1hbmRzJyxcbiAgU0hFTExfUFJJTUFSWV9PVVRQVVRfRElSRUNUT1JZOiAnYXdzOmNkazpwaXBlbGluZXM6c2hlbGxzdGVwOnByaW1hcnlvdXRwdXRkaXJlY3RvcnknLFxuXG4gIC8vIOKUgOKUgCBCdWlsZEVudmlyb25tZW50IChuYW1lc3BhY2U6IGNvZGVidWlsZDpidWlsZGVudmlyb25tZW50KSDilIDilIBcbiAgUFJJVklMRUdFRDogJ2F3czpjZGs6Y29kZWJ1aWxkOmJ1aWxkZW52aXJvbm1lbnQ6cHJpdmlsZWdlZCcsXG4gIEJVSUxEX0lNQUdFOiAnYXdzOmNkazpjb2RlYnVpbGQ6YnVpbGRlbnZpcm9ubWVudDpidWlsZGltYWdlJyxcbiAgQ0VSVElGSUNBVEU6ICdhd3M6Y2RrOmNvZGVidWlsZDpidWlsZGVudmlyb25tZW50OmNlcnRpZmljYXRlJyxcbiAgQ09NUFVURV9UWVBFOiAnYXdzOmNkazpjb2RlYnVpbGQ6YnVpbGRlbnZpcm9ubWVudDpjb21wdXRldHlwZScsXG4gIERPQ0tFUl9TRVJWRVI6ICdhd3M6Y2RrOmNvZGVidWlsZDpidWlsZGVudmlyb25tZW50OmRvY2tlcnNlcnZlcicsXG4gIEVOVklST05NRU5UX1ZBUklBQkxFUzogJ2F3czpjZGs6Y29kZWJ1aWxkOmJ1aWxkZW52aXJvbm1lbnQ6ZW52aXJvbm1lbnR2YXJpYWJsZXMnLFxuICBGTEVFVDogJ2F3czpjZGs6Y29kZWJ1aWxkOmJ1aWxkZW52aXJvbm1lbnQ6ZmxlZXQnLFxuXG4gIC8vIOKUgOKUgCBOZXR3b3JrIGNvbmZpZ3VyYXRpb24gKG5hbWVzcGFjZTogZWMyOm5ldHdvcmspIOKUgOKUgFxuICBORVRXT1JLX1RZUEU6ICdhd3M6Y2RrOmVjMjpuZXR3b3JrOnR5cGUnLFxuICBORVRXT1JLX1ZQQ19JRDogJ2F3czpjZGs6ZWMyOm5ldHdvcms6dnBjaWQnLFxuICBORVRXT1JLX1NVQk5FVF9JRFM6ICdhd3M6Y2RrOmVjMjpuZXR3b3JrOnN1Ym5ldGlkcycsXG4gIE5FVFdPUktfU1VCTkVUX1RZUEU6ICdhd3M6Y2RrOmVjMjpuZXR3b3JrOnN1Ym5ldHR5cGUnLFxuICBORVRXT1JLX0FWQUlMQUJJTElUWV9aT05FUzogJ2F3czpjZGs6ZWMyOm5ldHdvcms6YXZhaWxhYmlsaXR5em9uZXMnLFxuICBORVRXT1JLX1NVQk5FVF9HUk9VUF9OQU1FOiAnYXdzOmNkazplYzI6bmV0d29yazpzdWJuZXRncm91cG5hbWUnLFxuICBORVRXT1JLX1NFQ1VSSVRZX0dST1VQX0lEUzogJ2F3czpjZGs6ZWMyOm5ldHdvcms6c2VjdXJpdHlncm91cGlkcycsXG4gIE5FVFdPUktfVEFHUzogJ2F3czpjZGs6ZWMyOm5ldHdvcms6dGFncycsXG4gIE5FVFdPUktfVlBDX05BTUU6ICdhd3M6Y2RrOmVjMjpuZXR3b3JrOnZwY25hbWUnLFxuICBORVRXT1JLX1JFR0lPTjogJ2F3czpjZGs6ZWMyOm5ldHdvcms6cmVnaW9uJyxcblxuICAvLyDilIDilIAgSUFNIHJvbGUgY29uZmlndXJhdGlvbiAobmFtZXNwYWNlOiBpYW06cm9sZSkg4pSA4pSAXG4gIFJPTEVfVFlQRTogJ2F3czpjZGs6aWFtOnJvbGU6dHlwZScsXG4gIFJPTEVfQVJOOiAnYXdzOmNkazppYW06cm9sZTpyb2xlYXJuJyxcbiAgUk9MRV9OQU1FOiAnYXdzOmNkazppYW06cm9sZTpyb2xlbmFtZScsXG4gIFJPTEVfTVVUQUJMRTogJ2F3czpjZGs6aWFtOnJvbGU6bXV0YWJsZScsXG5cbiAgLy8g4pSA4pSAIFNlY3VyaXR5IGdyb3VwIGNvbmZpZ3VyYXRpb24gKG5hbWVzcGFjZTogZWMyOnNlY3VyaXR5Z3JvdXApIOKUgOKUgFxuICBTRUNVUklUWV9HUk9VUF9UWVBFOiAnYXdzOmNkazplYzI6c2VjdXJpdHlncm91cDp0eXBlJyxcbiAgU0VDVVJJVFlfR1JPVVBfSURTOiAnYXdzOmNkazplYzI6c2VjdXJpdHlncm91cDpzZWN1cml0eWdyb3VwaWRzJyxcbiAgU0VDVVJJVFlfR1JPVVBfTVVUQUJMRTogJ2F3czpjZGs6ZWMyOnNlY3VyaXR5Z3JvdXA6bXV0YWJsZScsXG4gIFNFQ1VSSVRZX0dST1VQX05BTUU6ICdhd3M6Y2RrOmVjMjpzZWN1cml0eWdyb3VwOnNlY3VyaXR5Z3JvdXBuYW1lJyxcbiAgU0VDVVJJVFlfR1JPVVBfVlBDX0lEOiAnYXdzOmNkazplYzI6c2VjdXJpdHlncm91cDp2cGNpZCcsXG5cbiAgLy8g4pSA4pSAIE5vdGlmaWNhdGlvbnMgKG5hbWVzcGFjZTogbm90aWZpY2F0aW9ucykg4pSA4pSAXG4gIE5PVElGSUNBVElPTl9UT1BJQ19BUk46ICdhd3M6Y2RrOm5vdGlmaWNhdGlvbnM6dG9waWM6YXJuJyxcbiAgTk9USUZJQ0FUSU9OX0VWRU5UUzogJ2F3czpjZGs6bm90aWZpY2F0aW9uczpldmVudHMnLFxuXG4gIC8vIOKUgOKUgCBQaXBlbGluZSBvcGVyYXRpb25zIChuYW1lc3BhY2U6IG9wZXJhdGlvbnMg4oCUIGN1c3RvbSBzeW50aCBpbiBQaXBlbGluZUJ1aWxkZXIpIOKUgOKUgFxuICBFTkFCTEVfRVhFQ1VUSU9OX0VWRU5UUzogJ2F3czpjZGs6b3BlcmF0aW9uczpleGVjdXRpb25ldmVudHMnLFxuICBFTkFCTEVfTUVUUklDUzogJ2F3czpjZGs6b3BlcmF0aW9uczptZXRyaWNzJyxcbiAgQVJUSUZBQ1RfUkVURU5USU9OX0RBWVM6ICdhd3M6Y2RrOm9wZXJhdGlvbnM6YXJ0aWZhY3RyZXRlbnRpb25kYXlzJyxcbiAgUElQRUxJTkVfVkFSSUFCTEVTOiAnYXdzOmNkazpvcGVyYXRpb25zOnZhcmlhYmxlcycsXG5cbiAgLy8g4pSA4pSAIEVuY3J5cHRpb24gKG5hbWVzcGFjZTogZW5jcnlwdGlvbiDigJQgY3VzdG9tIHN5bnRoIGluIFBpcGVsaW5lQnVpbGRlcikg4pSA4pSAXG4gIEtNU19LRVlfQVJOOiAnYXdzOmNkazplbmNyeXB0aW9uOmttc2tleWFybicsXG59IGFzIGNvbnN0O1xuXG4vKipcbiAqIFByZWZpeCBmb3IgQVdTIENESyBtZXRhZGF0YSBrZXlzLlxuICogS2V5cyB3aXRoIHRoaXMgcHJlZml4IGFyZSBoYW5kbGVkIGJ5IHRoZSBtZXRhZGF0YSBleHRyYWN0aW9uIGZ1bmN0aW9uc1xuICogKG1ldGFkYXRhRm9yQ29kZVBpcGVsaW5lLCBldGMuKSBhbmQgc2hvdWxkIE5PVCBiZSBwYXNzZWQgYXMgQ29kZUJ1aWxkIGVudmlyb25tZW50IHZhcmlhYmxlcy5cbiAqL1xuZXhwb3J0IGNvbnN0IENES19NRVRBREFUQV9QUkVGSVggPSAnYXdzOmNkazonOyJdfQ==
|
package/lib/index.d.ts
CHANGED
|
@@ -27,12 +27,9 @@
|
|
|
27
27
|
* **Re-exports from api-core**
|
|
28
28
|
* - ErrorCode, createLogger
|
|
29
29
|
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
* - All query condition builders and filter types
|
|
34
|
-
* - Compliance domain types (RuleSeverity, RuleTarget, etc.)
|
|
35
|
-
* - drizzleRows, drizzleCount type helpers
|
|
30
|
+
* The Postgres/Drizzle data layer (db, schema, CrudService, query builders,
|
|
31
|
+
* filter/compliance types, etc.) is NOT re-exported here import those
|
|
32
|
+
* directly from `@pipeline-builder/pipeline-data`.
|
|
36
33
|
*/
|
|
37
34
|
export * from './config/app-config.js';
|
|
38
35
|
export * from './config/config-types.js';
|
|
@@ -47,7 +44,6 @@ export { replaceNonAlphanumeric, extractMetadataEnv } from './core/pipeline-help
|
|
|
47
44
|
export { buildConfigFromMetadata, metadataForCodePipeline, metadataForCodeBuildStep, metadataForShellStep, metadataForBuildEnvironment, } from './core/metadata-builder.js';
|
|
48
45
|
export * from './core/artifact-manager.js';
|
|
49
46
|
export { ErrorCode, createLogger, } from '@pipeline-builder/api-core';
|
|
50
|
-
export { db, getConnection, closeConnection, schema, tenantContext, runWithTenantContext, getTenantContext, withTenantTx, type TenantContext, buildPluginConditions, buildPipelineConditions, buildMessageConditions, validateMessageFilter, buildCompliancePolicyConditions, buildComplianceRuleConditions, buildComplianceExemptionConditions, buildComplianceAuditConditions, buildComplianceScanConditions, buildPublishedRuleCatalogConditions, buildComplianceRuleSubscriptionConditions, type PluginFilter, type PipelineFilter, type MessageFilter, type CompliancePolicyFilter, type ComplianceRuleFilter, type ComplianceExemptionFilter, type ComplianceAuditFilter, type ComplianceScanFilter, type ComplianceRuleSubscriptionFilter, type PluginSecret, type RuleSeverity, type RuleTarget, type RuleOperator, type RuleConditionMode, type RuleScope, type RuleCondition, type ComplianceRoleType, CrudService, type BaseEntity, drizzleRows, drizzleCount, runMigrations, type MigrateOptions, reportingService, } from '@pipeline-builder/pipeline-data';
|
|
51
47
|
export * from './pipeline/source-types.js';
|
|
52
48
|
export * from './pipeline/step-types.js';
|
|
53
49
|
export * from './pipeline/stage-builder.js';
|
package/lib/index.js
CHANGED
|
@@ -29,12 +29,9 @@
|
|
|
29
29
|
* **Re-exports from api-core**
|
|
30
30
|
* - ErrorCode, createLogger
|
|
31
31
|
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
* - All query condition builders and filter types
|
|
36
|
-
* - Compliance domain types (RuleSeverity, RuleTarget, etc.)
|
|
37
|
-
* - drizzleRows, drizzleCount type helpers
|
|
32
|
+
* The Postgres/Drizzle data layer (db, schema, CrudService, query builders,
|
|
33
|
+
* filter/compliance types, etc.) is NOT re-exported here import those
|
|
34
|
+
* directly from `@pipeline-builder/pipeline-data`.
|
|
38
35
|
*/
|
|
39
36
|
// Configuration
|
|
40
37
|
export * from './config/app-config.js';
|
|
@@ -52,24 +49,6 @@ export { buildConfigFromMetadata, metadataForCodePipeline, metadataForCodeBuildS
|
|
|
52
49
|
export * from './core/artifact-manager.js';
|
|
53
50
|
// Re-export from api-core (only items consumed by external packages)
|
|
54
51
|
export { ErrorCode, createLogger, } from '@pipeline-builder/api-core';
|
|
55
|
-
// Re-export database layer from pipeline-data (only items consumed externally)
|
|
56
|
-
export {
|
|
57
|
-
// Database connection
|
|
58
|
-
db, getConnection, closeConnection,
|
|
59
|
-
// Schema & tables
|
|
60
|
-
schema,
|
|
61
|
-
// Tenant-context primitives (Postgres RLS enforcement)
|
|
62
|
-
tenantContext, runWithTenantContext, getTenantContext, withTenantTx,
|
|
63
|
-
// Query builders
|
|
64
|
-
buildPluginConditions, buildPipelineConditions, buildMessageConditions, validateMessageFilter, buildCompliancePolicyConditions, buildComplianceRuleConditions, buildComplianceExemptionConditions, buildComplianceAuditConditions, buildComplianceScanConditions, buildPublishedRuleCatalogConditions, buildComplianceRuleSubscriptionConditions,
|
|
65
|
-
// CRUD service
|
|
66
|
-
CrudService,
|
|
67
|
-
// Drizzle type helpers
|
|
68
|
-
drizzleRows, drizzleCount,
|
|
69
|
-
// Migration runner (idempotent startup hook)
|
|
70
|
-
runMigrations,
|
|
71
|
-
// Reporting service (cache invalidation hook for plugin/reporting events)
|
|
72
|
-
reportingService, } from '@pipeline-builder/pipeline-data';
|
|
73
52
|
// Pipeline (CDK constructs)
|
|
74
53
|
export * from './pipeline/source-types.js';
|
|
75
54
|
export * from './pipeline/step-types.js';
|
|
@@ -79,4 +58,4 @@ export * from './pipeline/plugin-lookup.js';
|
|
|
79
58
|
export { PipelineConfiguration } from './pipeline/pipeline-configuration.js';
|
|
80
59
|
// Template engine synth-time scripting for pipeline config + plugin specs
|
|
81
60
|
export * from './template/index.js';
|
|
82
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0NBQStDO0FBQy9DLHNDQUFzQztBQUV0Qzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQ0c7QUFFSCxnQkFBZ0I7QUFDaEIsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFekUsOEJBQThCO0FBQzlCLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN4RixPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLHVCQUF1QixFQUN2Qix3QkFBd0IsRUFDeEIsb0JBQW9CLEVBQ3BCLDJCQUEyQixHQUM1QixNQUFNLDRCQUE0QixDQUFDO0FBQ3BDLGNBQWMsNEJBQTRCLENBQUM7QUFFM0MscUVBQXFFO0FBQ3JFLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxHQUNiLE1BQU0sNEJBQTRCLENBQUM7QUFFcEMsNEJBQTRCO0FBQzVCLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUU3RSwyRUFBMkU7QUFDM0UsY0FBYyxxQkFBcUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAyMDI2IFBpcGVsaW5lIEJ1aWxkZXIgQ29udHJpYnV0b3JzXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuXG4vKipcbiAqIEBtb2R1bGUgQHBpcGVsaW5lLWJ1aWxkZXIvcGlwZWxpbmUtY29yZVxuICpcbiAqIEFwcGxpY2F0aW9uIGNvbmZpZ3VyYXRpb24sIHBpcGVsaW5lIGRvbWFpbiB0eXBlcywgYW5kIENESyBjb25zdHJ1Y3RzLlxuICpcbiAqICoqQ29uZmlnKipcbiAqIC0gQ29uZmlnICBhcHBsaWNhdGlvbiBjb25maWd1cmF0aW9uIHNpbmdsZXRvbiAoZW52aXJvbm1lbnQtZHJpdmVuKVxuICogLSBDb25maWdUeXBlcyAgdHlwZWQgY29uZmlndXJhdGlvbiBpbnRlcmZhY2VzXG4gKlxuICogKipUeXBlcyoqXG4gKiAtIFBpcGVsaW5lVHlwZSwgQ29tcHV0ZVR5cGUsIEFjY2Vzc01vZGlmaWVyLCBQbHVnaW5UeXBlICBwaXBlbGluZSBkb21haW4gZW51bXNcbiAqIC0gTmV0d29ya1R5cGVzLCBSb2xlVHlwZXMsIFNlY3VyaXR5R3JvdXBUeXBlcyAgaW5mcmFzdHJ1Y3R1cmUgdHlwZSBkZWZpbml0aW9uc1xuICogLSBTb3VyY2VUeXBlcywgU3RlcFR5cGVzICBwaXBlbGluZSBzb3VyY2UgYW5kIHN0ZXAgY29uZmlndXJhdGlvbiB0eXBlc1xuICogLSBJZEdlbmVyYXRvciAgZGV0ZXJtaW5pc3RpYyBJRCBnZW5lcmF0aW9uXG4gKlxuICogKipDREsgQ29uc3RydWN0cyoqXG4gKiAtIFBpcGVsaW5lQnVpbGRlciAgdG9wLWxldmVsIENESyBwaXBlbGluZSBjb25zdHJ1Y3RcbiAqIC0gU3RhZ2VCdWlsZGVyICBwaXBlbGluZSBzdGFnZSBjb21wb3NpdGlvblxuICogLSBQaXBlbGluZUNvbmZpZ3VyYXRpb24gIHBpcGVsaW5lIGNvbmZpZyByZXNvbHV0aW9uXG4gKiAtIFBsdWdpbkxvb2t1cCAgcGx1Z2luIHJlc29sdXRpb24gZm9yIHBpcGVsaW5lIHN0ZXBzXG4gKiAtIEFydGlmYWN0TWFuYWdlciAgYnVpbGQgYXJ0aWZhY3QgbWFuYWdlbWVudFxuICpcbiAqICoqSGVscGVycyoqXG4gKiAtIHJlcGxhY2VOb25BbHBoYW51bWVyaWMsIGV4dHJhY3RNZXRhZGF0YUVudiAgc3RyaW5nIGFuZCBtZXRhZGF0YSB1dGlsaXRpZXNcbiAqIC0gYnVpbGRDb25maWdGcm9tTWV0YWRhdGEsIG1ldGFkYXRhRm9yQ29kZVBpcGVsaW5lLCBldGMuICBtZXRhZGF0YSBidWlsZGVyc1xuICpcbiAqICoqUmUtZXhwb3J0cyBmcm9tIGFwaS1jb3JlKipcbiAqIC0gRXJyb3JDb2RlLCBjcmVhdGVMb2dnZXJcbiAqXG4gKiBUaGUgUG9zdGdyZXMvRHJpenpsZSBkYXRhIGxheWVyIChkYiwgc2NoZW1hLCBDcnVkU2VydmljZSwgcXVlcnkgYnVpbGRlcnMsXG4gKiBmaWx0ZXIvY29tcGxpYW5jZSB0eXBlcywgZXRjLikgaXMgTk9UIHJlLWV4cG9ydGVkIGhlcmUgIGltcG9ydCB0aG9zZVxuICogZGlyZWN0bHkgZnJvbSBgQHBpcGVsaW5lLWJ1aWxkZXIvcGlwZWxpbmUtZGF0YWAuXG4gKi9cblxuLy8gQ29uZmlndXJhdGlvblxuZXhwb3J0ICogZnJvbSAnLi9jb25maWcvYXBwLWNvbmZpZy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2NvbmZpZy9jb25maWctdHlwZXMuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9jb25maWcvc2VydmljZS1jbGllbnQuanMnO1xuZXhwb3J0IHsgcGFyc2VQbGF0Zm9ybUJhc2VVcmwgfSBmcm9tICcuL2NvbmZpZy9pbmZyYXN0cnVjdHVyZS1jb25maWcuanMnO1xuXG4vLyBDb3JlIHR5cGVzIChwdWJsaWMgc3VyZmFjZSlcbmV4cG9ydCAqIGZyb20gJy4vY29yZS9waXBlbGluZS10eXBlcy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2NvcmUvbmV0d29yay10eXBlcy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2NvcmUvcm9sZS10eXBlcy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2NvcmUvc2VjdXJpdHktZ3JvdXAtdHlwZXMuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL2lkLWdlbmVyYXRvci5qcyc7XG5leHBvcnQgeyByZXBsYWNlTm9uQWxwaGFudW1lcmljLCBleHRyYWN0TWV0YWRhdGFFbnYgfSBmcm9tICcuL2NvcmUvcGlwZWxpbmUtaGVscGVycy5qcyc7XG5leHBvcnQge1xuICBidWlsZENvbmZpZ0Zyb21NZXRhZGF0YSxcbiAgbWV0YWRhdGFGb3JDb2RlUGlwZWxpbmUsXG4gIG1ldGFkYXRhRm9yQ29kZUJ1aWxkU3RlcCxcbiAgbWV0YWRhdGFGb3JTaGVsbFN0ZXAsXG4gIG1ldGFkYXRhRm9yQnVpbGRFbnZpcm9ubWVudCxcbn0gZnJvbSAnLi9jb3JlL21ldGFkYXRhLWJ1aWxkZXIuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL2FydGlmYWN0LW1hbmFnZXIuanMnO1xuXG4vLyBSZS1leHBvcnQgZnJvbSBhcGktY29yZSAob25seSBpdGVtcyBjb25zdW1lZCBieSBleHRlcm5hbCBwYWNrYWdlcylcbmV4cG9ydCB7XG4gIEVycm9yQ29kZSxcbiAgY3JlYXRlTG9nZ2VyLFxufSBmcm9tICdAcGlwZWxpbmUtYnVpbGRlci9hcGktY29yZSc7XG5cbi8vIFBpcGVsaW5lIChDREsgY29uc3RydWN0cylcbmV4cG9ydCAqIGZyb20gJy4vcGlwZWxpbmUvc291cmNlLXR5cGVzLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vcGlwZWxpbmUvc3RlcC10eXBlcy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL3BpcGVsaW5lL3N0YWdlLWJ1aWxkZXIuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9waXBlbGluZS9waXBlbGluZS1idWlsZGVyLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vcGlwZWxpbmUvcGx1Z2luLWxvb2t1cC5qcyc7XG5leHBvcnQgeyBQaXBlbGluZUNvbmZpZ3VyYXRpb24gfSBmcm9tICcuL3BpcGVsaW5lL3BpcGVsaW5lLWNvbmZpZ3VyYXRpb24uanMnO1xuXG4vLyBUZW1wbGF0ZSBlbmdpbmUgIHN5bnRoLXRpbWUgc2NyaXB0aW5nIGZvciBwaXBlbGluZSBjb25maWcgKyBwbHVnaW4gc3BlY3NcbmV4cG9ydCAqIGZyb20gJy4vdGVtcGxhdGUvaW5kZXguanMnO1xuIl19
|