@stemy/backend 3.2.6 → 3.4.1
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/bundles/stemy-backend.umd.js +703 -558
- package/bundles/stemy-backend.umd.js.map +1 -1
- package/common-types.d.ts +10 -4
- package/esm2015/common-types.js +1 -1
- package/esm2015/public_api.js +6 -3
- package/esm2015/requests/asset-image-params.js +70 -0
- package/esm2015/rest-controllers/assets.controller.js +5 -4
- package/esm2015/rest-controllers/auth.controller.js +11 -10
- package/esm2015/services/assets.js +1 -1
- package/esm2015/services/entities/base-entity.js +1 -1
- package/esm2015/services/lazy-assets.js +1 -1
- package/esm2015/services/mongo-connector.js +3 -1
- package/esm2015/services/progresses.js +1 -1
- package/esm2015/utilities/base-doc.js +21 -0
- package/esm2015/utilities/mongoose.js +225 -0
- package/esm2015/utils.js +6 -204
- package/fesm2015/stemy-backend.js +594 -478
- package/fesm2015/stemy-backend.js.map +1 -1
- package/package.json +4 -3
- package/public_api.d.ts +5 -2
- package/requests/asset-image-params.d.ts +12 -0
- package/rest-controllers/assets.controller.d.ts +5 -4
- package/services/assets.d.ts +1 -1
- package/services/entities/base-entity.d.ts +2 -2
- package/services/lazy-assets.d.ts +1 -1
- package/services/progresses.d.ts +1 -1
- package/stemy-backend.metadata.json +1 -1
- package/utilities/base-doc.d.ts +39 -0
- package/utilities/mongoose.d.ts +36 -0
- package/utils.d.ts +4 -22
- package/bundles/stemy-backend.umd.min.js +0 -2
- package/bundles/stemy-backend.umd.min.js.map +0 -1
package/common-types.d.ts
CHANGED
|
@@ -54,6 +54,12 @@ export interface TokenBasedProvider<T> extends TokenProvider<T> {
|
|
|
54
54
|
}
|
|
55
55
|
export declare type SyringeProvider<T> = Type<T> | ClassProvider<T> | ValueProvider<T> | FactoryProvider<T> | TokenProvider<T>;
|
|
56
56
|
export declare type Provider<T> = Type<T> | ClassBasedProvider<T> | ValueBasedProvider<T> | FactoryBasedProvider<T> | TokenBasedProvider<T>;
|
|
57
|
+
export declare type Constructor<T = object> = new (...args: any[]) => T;
|
|
58
|
+
export declare type InferGeneric<T> = T extends Type<infer B> ? B : never;
|
|
59
|
+
export declare type PickMatching<T, V> = {
|
|
60
|
+
[K in keyof T as T[K] extends V ? K : never]: T[K];
|
|
61
|
+
};
|
|
62
|
+
export declare type OmitFirstArg<F> = F extends (x: any, ...args: infer P) => infer R ? (...args: P) => R : never;
|
|
57
63
|
export declare const FIXTURE: InjectionToken<IFixture>;
|
|
58
64
|
export declare const JOB: InjectionToken<IJob>;
|
|
59
65
|
export declare const EXPRESS: InjectionToken<Express>;
|
|
@@ -159,8 +165,8 @@ export interface IAssetImageParams {
|
|
|
159
165
|
scaleY?: number;
|
|
160
166
|
lazy?: boolean;
|
|
161
167
|
crop?: string | boolean;
|
|
162
|
-
cropBefore?: string | IAssetCropInfo;
|
|
163
|
-
cropAfter?: string | IAssetCropInfo;
|
|
168
|
+
cropBefore?: string | boolean | IAssetCropInfo;
|
|
169
|
+
cropAfter?: string | boolean | IAssetCropInfo;
|
|
164
170
|
[key: string]: any;
|
|
165
171
|
}
|
|
166
172
|
export interface IAsset {
|
|
@@ -196,8 +202,8 @@ export interface ILazyAsset {
|
|
|
196
202
|
export interface IUser {
|
|
197
203
|
_id?: string;
|
|
198
204
|
id?: string;
|
|
199
|
-
email
|
|
200
|
-
password
|
|
205
|
+
email?: string;
|
|
206
|
+
password?: string;
|
|
201
207
|
roles: string[];
|
|
202
208
|
}
|
|
203
209
|
export interface IClientSocket extends Socket {
|
package/esm2015/common-types.js
CHANGED
|
@@ -15,4 +15,4 @@ export class Parameter {
|
|
|
15
15
|
this.resolver = resolver;
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLXR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbW1vbi10eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFrQkEsdUJBQXVCO0FBRXZCLE1BQU0sQ0FBQyxNQUFNLElBQUksR0FBRyxRQUFRLENBQUM7QUF3RDdCLDJCQUEyQjtBQUUzQixNQUFNLENBQUMsTUFBTSxPQUFPLEdBQTZCLE1BQU0sQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUM7QUFFN0UsTUFBTSxDQUFDLE1BQU0sR0FBRyxHQUF5QixNQUFNLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0FBRWpFLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBNEIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQztBQUU1RSxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQTJCLE1BQU0sQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQUMsQ0FBQztBQUVuRixNQUFNLENBQUMsTUFBTSxhQUFhLEdBQWlDLE1BQU0sQ0FBQyxHQUFHLENBQUMscUJBQXFCLENBQUMsQ0FBQztBQUU3RixNQUFNLENBQUMsTUFBTSxTQUFTLEdBQThCLE1BQU0sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQztBQUVsRixNQUFNLENBQUMsTUFBTSxZQUFZLEdBQXlDLE1BQU0sQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsQ0FBQztBQWlDbkcsTUFBTSxPQUFPLFNBQVM7SUFFbEIsWUFBcUIsSUFBWSxFQUFTLFlBQWlCLEVBQVMsV0FBMEIsSUFBSTtRQUE3RSxTQUFJLEdBQUosSUFBSSxDQUFRO1FBQVMsaUJBQVksR0FBWixZQUFZLENBQUs7UUFBUyxhQUFRLEdBQVIsUUFBUSxDQUFzQjtJQUVsRyxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1NlcnZlcn0gZnJvbSBcImh0dHBcIjtcclxuaW1wb3J0IHtSZXF1ZXN0LCBFeHByZXNzfSBmcm9tIFwiZXhwcmVzc1wiO1xyXG5pbXBvcnQge1NvY2tldCwgU2VydmVyIGFzIFNvY2tldFNlcnZlcn0gZnJvbSBcInNvY2tldC5pb1wiO1xyXG5pbXBvcnQge1JvdXRpbmdDb250cm9sbGVyc09wdGlvbnN9IGZyb20gXCJyb3V0aW5nLWNvbnRyb2xsZXJzXCI7XHJcbmltcG9ydCB7U29ja2V0Q29udHJvbGxlcnNPcHRpb25zfSBmcm9tIFwic29ja2V0LWNvbnRyb2xsZXJzXCI7XHJcbmltcG9ydCB7XHJcbiAgICBDbGFzc1Byb3ZpZGVyLFxyXG4gICAgRGVwZW5kZW5jeUNvbnRhaW5lcixcclxuICAgIEluamVjdGlvblRva2VuLFxyXG4gICAgVG9rZW5Qcm92aWRlcixcclxuICAgIFZhbHVlUHJvdmlkZXIsXHJcbiAgICBSZWdpc3RyYXRpb25PcHRpb25zXHJcbn0gZnJvbSBcInRzeXJpbmdlXCI7XHJcbmltcG9ydCB7U2NoZW1hT2JqZWN0fSBmcm9tIFwib3BlbmFwaTMtdHNcIjtcclxuaW1wb3J0IHtSZWFkYWJsZX0gZnJvbSBcInN0cmVhbVwiO1xyXG5pbXBvcnQge01vbWVudH0gZnJvbSBcIm1vbWVudFwiO1xyXG5pbXBvcnQge0FueUV4cHJlc3Npb24sIEV4cHJlc3Npb259IGZyb20gXCJtb25nb29zZVwiO1xyXG5cclxuLy8gLS0tIERJIGZ1bmN0aW9ucyAtLS1cclxuXHJcbmV4cG9ydCBjb25zdCBUeXBlID0gRnVuY3Rpb247XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFR5cGU8VCA9IG9iamVjdD4gZXh0ZW5kcyBGdW5jdGlvbiB7XHJcbiAgICBuZXcgKC4uLmFyZ3M6IGFueVtdKTogVDtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBGYWN0b3J5UHJvdmlkZXI8VD4ge1xyXG4gICAgdXNlRmFjdG9yeTogKGRjOiBJRGVwZW5kZW5jeUNvbnRhaW5lcikgPT4gVDtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJVHJlZSB7XHJcbiAgICByZWFkb25seSBwYXRoOiBzdHJpbmc7XHJcbiAgICByZXNvbHZlU2VydmljZSgpOiBhbnk7XHJcbiAgICByZXNvbHZlTGVhdmVzKCk6IE1hcDxzdHJpbmcsIElUcmVlPjtcclxuICAgIHJlc29sdmVTZXJ2aWNlcygpOiBNYXA8c3RyaW5nLCBhbnk+O1xyXG4gICAgcmVzb2x2ZUFuY2VzdG9yKHBhdGg6IHN0cmluZyk6IElUcmVlO1xyXG4gICAgcmVzb2x2ZVBhdGgocGF0aDogc3RyaW5nLCB0aHJvd0Vycm9yPzogYm9vbGVhbik6IElUcmVlO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElEZXBlbmRlbmN5Q29udGFpbmVyIGV4dGVuZHMgRGVwZW5kZW5jeUNvbnRhaW5lciB7XHJcbiAgICByZWFkb25seSBwYXJlbnQ6IElEZXBlbmRlbmN5Q29udGFpbmVyO1xyXG4gICAgcmVhZG9ubHkgdHJlZTogSVRyZWU7XHJcbiAgICByZWFkb25seSByZWdpc3RlcmVkVG9rZW5zOiBSZWFkb25seUFycmF5PEluamVjdGlvblRva2VuPjtcclxuICAgIGNyZWF0ZUNoaWxkQ29udGFpbmVyKCk6IElEZXBlbmRlbmN5Q29udGFpbmVyO1xyXG4gICAgcmVnaXN0ZXI8VD4odG9rZW46IEluamVjdGlvblRva2VuPFQ+LCBwcm92aWRlcjogVmFsdWVQcm92aWRlcjxUPik6IElEZXBlbmRlbmN5Q29udGFpbmVyO1xyXG4gICAgcmVnaXN0ZXI8VD4odG9rZW46IEluamVjdGlvblRva2VuPFQ+LCBwcm92aWRlcjogRmFjdG9yeVByb3ZpZGVyPFQ+KTogSURlcGVuZGVuY3lDb250YWluZXI7XHJcbiAgICByZWdpc3RlcjxUPih0b2tlbjogSW5qZWN0aW9uVG9rZW48VD4sIHByb3ZpZGVyOiBUb2tlblByb3ZpZGVyPFQ+LCBvcHRpb25zPzogUmVnaXN0cmF0aW9uT3B0aW9ucyk6IElEZXBlbmRlbmN5Q29udGFpbmVyO1xyXG4gICAgcmVnaXN0ZXI8VD4odG9rZW46IEluamVjdGlvblRva2VuPFQ+LCBwcm92aWRlcjogQ2xhc3NQcm92aWRlcjxUPiwgb3B0aW9ucz86IFJlZ2lzdHJhdGlvbk9wdGlvbnMpOiBJRGVwZW5kZW5jeUNvbnRhaW5lcjtcclxuICAgIHJlZ2lzdGVyPFQ+KHRva2VuOiBJbmplY3Rpb25Ub2tlbjxUPiwgcHJvdmlkZXI6IFR5cGU8VD4sIG9wdGlvbnM/OiBSZWdpc3RyYXRpb25PcHRpb25zKTogSURlcGVuZGVuY3lDb250YWluZXI7XHJcbiAgICByZWdpc3RlclNpbmdsZXRvbjxUPihmcm9tOiBJbmplY3Rpb25Ub2tlbjxUPiwgdG86IEluamVjdGlvblRva2VuPFQ+KTogSURlcGVuZGVuY3lDb250YWluZXI7XHJcbiAgICByZWdpc3RlclNpbmdsZXRvbjxUPih0b2tlbjogVHlwZTxUPik6IElEZXBlbmRlbmN5Q29udGFpbmVyO1xyXG4gICAgcmVnaXN0ZXJUeXBlPFQ+KGZyb206IEluamVjdGlvblRva2VuPFQ+LCB0bzogSW5qZWN0aW9uVG9rZW48VD4pOiBJRGVwZW5kZW5jeUNvbnRhaW5lcjtcclxuICAgIHJlZ2lzdGVySW5zdGFuY2U8VD4odG9rZW46IEluamVjdGlvblRva2VuPFQ+LCBpbnN0YW5jZTogVCk6IElEZXBlbmRlbmN5Q29udGFpbmVyO1xyXG4gICAgZ2V0PFQ+KHRva2VuOiBJbmplY3Rpb25Ub2tlbjxUPik6IFQ7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ2xhc3NCYXNlZFByb3ZpZGVyPFQ+IGV4dGVuZHMgQ2xhc3NQcm92aWRlcjxUPiB7XHJcbiAgICBwcm92aWRlOiBJbmplY3Rpb25Ub2tlbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBWYWx1ZUJhc2VkUHJvdmlkZXI8VD4gZXh0ZW5kcyBWYWx1ZVByb3ZpZGVyPFQ+IHtcclxuICAgIHByb3ZpZGU6IEluamVjdGlvblRva2VuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEZhY3RvcnlCYXNlZFByb3ZpZGVyPFQ+IGV4dGVuZHMgRmFjdG9yeVByb3ZpZGVyPFQ+IHtcclxuICAgIHByb3ZpZGU6IEluamVjdGlvblRva2VuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFRva2VuQmFzZWRQcm92aWRlcjxUPiBleHRlbmRzIFRva2VuUHJvdmlkZXI8VD4ge1xyXG4gICAgcHJvdmlkZTogSW5qZWN0aW9uVG9rZW47XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFN5cmluZ2VQcm92aWRlcjxUPiA9IFR5cGU8VD4gfCBDbGFzc1Byb3ZpZGVyPFQ+IHwgVmFsdWVQcm92aWRlcjxUPiB8IEZhY3RvcnlQcm92aWRlcjxUPiB8IFRva2VuUHJvdmlkZXI8VD47XHJcblxyXG5leHBvcnQgdHlwZSBQcm92aWRlcjxUPiA9IFR5cGU8VD4gfCBDbGFzc0Jhc2VkUHJvdmlkZXI8VD4gfCBWYWx1ZUJhc2VkUHJvdmlkZXI8VD4gfCBGYWN0b3J5QmFzZWRQcm92aWRlcjxUPiB8IFRva2VuQmFzZWRQcm92aWRlcjxUPjtcclxuXHJcbi8vIC0tLSBJbmplY3Rpb24gdG9rZW5zIC0tLVxyXG5cclxuZXhwb3J0IGNvbnN0IEZJWFRVUkU6IEluamVjdGlvblRva2VuPElGaXh0dXJlPiA9IFN5bWJvbC5mb3IoXCJmaXh0dXJlLXRva2VuXCIpO1xyXG5cclxuZXhwb3J0IGNvbnN0IEpPQjogSW5qZWN0aW9uVG9rZW48SUpvYj4gPSBTeW1ib2wuZm9yKFwiam9iLXRva2VuXCIpO1xyXG5cclxuZXhwb3J0IGNvbnN0IEVYUFJFU1M6IEluamVjdGlvblRva2VuPEV4cHJlc3M+ID0gU3ltYm9sLmZvcihcImV4cHJlc3MtdG9rZW5cIik7XHJcblxyXG5leHBvcnQgY29uc3QgSFRUUF9TRVJWRVI6IEluamVjdGlvblRva2VuPFNlcnZlcj4gPSBTeW1ib2wuZm9yKFwiaHR0cC1zZXJ2ZXItdG9rZW5cIik7XHJcblxyXG5leHBvcnQgY29uc3QgU09DS0VUX1NFUlZFUjogSW5qZWN0aW9uVG9rZW48U29ja2V0U2VydmVyPiA9IFN5bWJvbC5mb3IoXCJzb2NrZXQtc2VydmVyLXRva2VuXCIpO1xyXG5cclxuZXhwb3J0IGNvbnN0IFBBUkFNRVRFUjogSW5qZWN0aW9uVG9rZW48UGFyYW1ldGVyPiA9IFN5bWJvbC5mb3IoXCJwYXJhbWV0ZXItdG9rZW5cIik7XHJcblxyXG5leHBvcnQgY29uc3QgRElfQ09OVEFJTkVSOiBJbmplY3Rpb25Ub2tlbjxJRGVwZW5kZW5jeUNvbnRhaW5lcj4gPSBTeW1ib2wuZm9yKFwiZGktY29udGFpbmVyLXRva2VuXCIpO1xyXG5cclxuLy8gLS0tIE1vbmdvIGludGVyZmFjZXMgYW5kIHR5cGVzXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElNYXRjaEZpZWxkIHtcclxuICAgIGZpZWxkOiBzdHJpbmc7XHJcbiAgICBmaWx0ZXI6IGFueTtcclxuICAgIHdoZW46IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVByb2plY3RPcHRpb25zIHtcclxuICAgIFtmaWVsZDogc3RyaW5nXTogQW55RXhwcmVzc2lvbiB8IEV4cHJlc3Npb24gfCBJUHJvamVjdE9wdGlvbnM7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVVud2luZE9wdGlvbnMge1xyXG4gICAgcGF0aDogc3RyaW5nO1xyXG4gICAgaW5jbHVkZUFycmF5SW5kZXg/OiBzdHJpbmc7XHJcbiAgICBwcmVzZXJ2ZU51bGxBbmRFbXB0eUFycmF5cz86IGJvb2xlYW47XHJcbn1cclxuXHJcbi8vIC0tLSBJbnRlcmZhY2VzIGFuZCB1dGlsaXR5IGNsYXNzZXMgLS0tXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElGaXh0dXJlIHtcclxuICAgIGxvYWQoKTogUHJvbWlzZTxhbnk+O1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBTY2hlbWFDb252ZXJ0ZXIgPSAoXHJcbiAgICBtZXRhOiBhbnksXHJcbiAgICBvcHRpb25zOiBhbnlcclxuKSA9PiBTY2hlbWFPYmplY3Q7XHJcblxyXG5leHBvcnQgdHlwZSBQYXJhbVJlc29sdmVyID0gKHZhbHVlOiBzdHJpbmcpID0+IGFueTtcclxuXHJcbmV4cG9ydCBjbGFzcyBQYXJhbWV0ZXIge1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHJlYWRvbmx5IG5hbWU6IHN0cmluZywgcHVibGljIGRlZmF1bHRWYWx1ZTogYW55LCBwdWJsaWMgcmVzb2x2ZXI6IFBhcmFtUmVzb2x2ZXIgPSBudWxsKSB7XHJcblxyXG4gICAgfVxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBTb2NrZXRQYXJhbSA9IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCBTb2NrZXRQYXJhbXM7XHJcblxyXG5leHBvcnQgdHlwZSBTb2NrZXRQYXJhbXMgPSB7XHJcbiAgICBbbmFtZTogc3RyaW5nXTogU29ja2V0UGFyYW0gfCBBcnJheTxTb2NrZXRQYXJhbT47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBKb2JQYXJhbXMgPSBTb2NrZXRQYXJhbXM7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElTb2NrZXRNZXNzYWdlIHtcclxuICAgIG1lc3NhZ2U6IHN0cmluZztcclxuICAgIHBhcmFtczogU29ja2V0UGFyYW1zO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElNZXNzYWdlQnJpZGdlIHtcclxuICAgIHNlbmRNZXNzYWdlKG1lc3NhZ2U6IHN0cmluZywgcGFyYW1zPzogU29ja2V0UGFyYW1zKTogdm9pZDtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJSm9iIHtcclxuICAgIHByb2Nlc3MobWVzc2FnaW5nPzogSU1lc3NhZ2VCcmlkZ2UpOiBQcm9taXNlPGFueT47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUpvYlRhc2sge1xyXG4gICAgc3RhcnQ6ICgpID0+IHRoaXM7XHJcbiAgICBzdG9wOiAoKSA9PiB0aGlzO1xyXG4gICAgZGVzdHJveTogKCkgPT4gdm9pZDtcclxuICAgIGdldFN0YXR1czogKCkgPT4gc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEpvYlNjaGVkdWxlUmFuZ2Uge1xyXG4gICAgbWluOiBudW1iZXI7XHJcbiAgICBtYXg6IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgSm9iU2NoZWR1bGVUaW1lID0gc3RyaW5nIHwgbnVtYmVyIHwgSm9iU2NoZWR1bGVSYW5nZSB8IEFycmF5PHN0cmluZyB8IG51bWJlcj47XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElQcm9ncmVzcyB7XHJcbiAgICBpZDogc3RyaW5nO1xyXG4gICAgY3VycmVudDogbnVtYmVyO1xyXG4gICAgbWF4OiBudW1iZXI7XHJcbiAgICBtZXNzYWdlOiBzdHJpbmc7XHJcbiAgICBlcnJvcjogc3RyaW5nO1xyXG4gICAgY2FuY2VsZWQ6IGJvb2xlYW47XHJcbiAgICBwZXJjZW50OiBudW1iZXI7XHJcbiAgICByZW1haW5pbmc6IG51bWJlcjtcclxuICAgIHNldE1lc3NhZ2VCcmlkZ2UobWVzc2FnZUJyaWRnZTogSU1lc3NhZ2VCcmlkZ2UpOiB0aGlzO1xyXG4gICAgY3JlYXRlU3ViUHJvZ3Jlc3MocHJvZ3Jlc3NWYWx1ZTogbnVtYmVyLCBtYXg/OiBudW1iZXIsIG1lc3NhZ2U/OiBzdHJpbmcpOiBQcm9taXNlPElQcm9ncmVzcz47XHJcbiAgICBzZXRNYXgobWF4OiBudW1iZXIpOiBQcm9taXNlPGFueT47XHJcbiAgICBzZXRNZXNzYWdlKG1lc3NhZ2U6IHN0cmluZyk6IFByb21pc2U8YW55PjtcclxuICAgIHNldEVycm9yKGVycm9yOiBzdHJpbmcpOiBQcm9taXNlPGFueT47XHJcbiAgICBhZHZhbmNlKHZhbHVlPzogbnVtYmVyKTogUHJvbWlzZTxhbnk+O1xyXG4gICAgY2FuY2VsKCk6IFByb21pc2U8YW55PjtcclxuICAgIHNhdmUoKTogUHJvbWlzZTxhbnk+O1xyXG4gICAgbG9hZCgpOiBQcm9taXNlPHRoaXM+O1xyXG4gICAgdG9KU09OKCk6IGFueTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJQXNzZXRDcm9wSW5mbyB7XHJcbiAgICB4OiBudW1iZXI7XHJcbiAgICB5OiBudW1iZXI7XHJcbiAgICB3OiBudW1iZXI7XHJcbiAgICBoOiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUFzc2V0TWV0YSB7XHJcbiAgICBmaWxlbmFtZT86IHN0cmluZztcclxuICAgIGV4dGVuc2lvbj86IHN0cmluZztcclxuICAgIGNsYXNzaWZpZWQ/OiBib29sZWFuO1xyXG4gICAgZG93bmxvYWRDb3VudD86IG51bWJlcjtcclxuICAgIGZpcnN0RG93bmxvYWQ/OiBEYXRlO1xyXG4gICAgbGFzdERvd25sb2FkPzogRGF0ZTtcclxuICAgIGNyb3A/OiBJQXNzZXRDcm9wSW5mbztcclxuICAgIGNyb3BCZWZvcmU/OiBJQXNzZXRDcm9wSW5mbztcclxuICAgIGNyb3BBZnRlcj86IElBc3NldENyb3BJbmZvO1xyXG4gICAgY2FudmFzU2NhbGVYPzogbnVtYmVyO1xyXG4gICAgY2FudmFzU2NhbGVZPzogbnVtYmVyO1xyXG4gICAgW3Byb3A6IHN0cmluZ106IGFueTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJQXNzZXRJbWFnZVBhcmFtcyB7XHJcbiAgICByb3RhdGlvbj86IG51bWJlcjtcclxuICAgIGNhbnZhc1NjYWxlWD86IG51bWJlcjtcclxuICAgIGNhbnZhc1NjYWxlWT86IG51bWJlcjtcclxuICAgIHNjYWxlWD86IG51bWJlcjtcclxuICAgIHNjYWxlWT86IG51bWJlcjtcclxuICAgIGxhenk/OiBib29sZWFuO1xyXG4gICAgY3JvcD86IHN0cmluZyB8IGJvb2xlYW47XHJcbiAgICBjcm9wQmVmb3JlPzogc3RyaW5nIHwgSUFzc2V0Q3JvcEluZm87XHJcbiAgICBjcm9wQWZ0ZXI/OiBzdHJpbmcgfCBJQXNzZXRDcm9wSW5mbztcclxuICAgIFtrZXk6IHN0cmluZ106IGFueTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJQXNzZXQge1xyXG4gICAgcmVhZG9ubHkgaWQ6IHN0cmluZztcclxuICAgIHJlYWRvbmx5IGZpbGVuYW1lOiBzdHJpbmc7XHJcbiAgICByZWFkb25seSBjb250ZW50VHlwZTogc3RyaW5nO1xyXG4gICAgcmVhZG9ubHkgbWV0YWRhdGE6IElBc3NldE1ldGE7XHJcbiAgICByZWFkb25seSBzdHJlYW06IFJlYWRhYmxlO1xyXG4gICAgdW5saW5rKCk6IFByb21pc2U8c3RyaW5nPjtcclxuICAgIGdldEJ1ZmZlcigpOiBQcm9taXNlPEJ1ZmZlcj47XHJcbiAgICBkb3dubG9hZChtZXRhZGF0YT86IElBc3NldE1ldGEpOiBQcm9taXNlPFJlYWRhYmxlPjtcclxuICAgIGRvd25sb2FkSW1hZ2UocGFyYW1zPzogSUFzc2V0SW1hZ2VQYXJhbXMsIG1ldGFkYXRhPzogSUFzc2V0TWV0YSk6IFByb21pc2U8UmVhZGFibGU+O1xyXG4gICAgZ2V0SW1hZ2UocGFyYW1zPzogSUFzc2V0SW1hZ2VQYXJhbXMpOiBQcm9taXNlPFJlYWRhYmxlPjtcclxuICAgIHNhdmUoKTogUHJvbWlzZTxhbnk+O1xyXG4gICAgbG9hZCgpOiBQcm9taXNlPHRoaXM+O1xyXG4gICAgdG9KU09OKCk6IGFueTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJTGF6eUFzc2V0IHtcclxuICAgIGlkOiBzdHJpbmc7XHJcbiAgICBqb2JOYW1lOiBzdHJpbmc7XHJcbiAgICBqb2JQYXJhbXM6IGFueTtcclxuICAgIGpvYlF1ZTogc3RyaW5nO1xyXG4gICAgcHJvZ3Jlc3NJZD86IHN0cmluZztcclxuICAgIGFzc2V0SWQ/OiBzdHJpbmc7XHJcbiAgICB1bmxpbmsoKTogUHJvbWlzZTxzdHJpbmc+O1xyXG4gICAgc3RhcnRXb3JraW5nKCk6IHZvaWQ7XHJcbiAgICBsb2FkQXNzZXQoKTogUHJvbWlzZTxJQXNzZXQ+O1xyXG4gICAgd3JpdGVBc3NldChhc3NldDogSUFzc2V0KTogUHJvbWlzZTxJQXNzZXQ+O1xyXG4gICAgc2F2ZSgpOiBQcm9taXNlPGFueT47XHJcbiAgICBsb2FkKCk6IFByb21pc2U8dGhpcz47XHJcbiAgICB0b0pTT04oKTogYW55O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElVc2VyIHtcclxuICAgIF9pZD86IHN0cmluZztcclxuICAgIGlkPzogc3RyaW5nO1xyXG4gICAgZW1haWw6IHN0cmluZztcclxuICAgIHBhc3N3b3JkOiBzdHJpbmc7XHJcbiAgICByb2xlczogc3RyaW5nW107XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUNsaWVudFNvY2tldCBleHRlbmRzIFNvY2tldCB7XHJcbiAgICBpbnRlcmVzdGVkUHJvZ3Jlc3NlczogU2V0PHN0cmluZz47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVJlcXVlc3RCYXNlPFQ+IGV4dGVuZHMgUmVxdWVzdCB7XHJcbiAgICBpZD86IHN0cmluZztcclxuICAgIHN0YXJ0ZWQ/OiBNb21lbnQ7XHJcbiAgICBlbmRlZD86IE1vbWVudDtcclxuICAgIGNvbnRhaW5lcj86IERlcGVuZGVuY3lDb250YWluZXI7XHJcbiAgICBsYW5ndWFnZT86IHN0cmluZztcclxuICAgIHVzZXI/OiBUO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElSZXF1ZXN0IGV4dGVuZHMgSVJlcXVlc3RCYXNlPElVc2VyPiB7XHJcblxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElHYWxsZXJ5SW1hZ2Uge1xyXG4gICAgZm9sZGVyOiBzdHJpbmc7XHJcbiAgICB0aHVtYjogc3RyaW5nO1xyXG4gICAgYmlnOiBzdHJpbmc7XHJcbiAgICBzZXJ2ZShpZDogc3RyaW5nKTogUHJvbWlzZTxCdWZmZXI+XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUdhbGxlcnlTaXplIHtcclxuICAgIHdpZHRoPzogbnVtYmVyO1xyXG4gICAgaGVpZ2h0PzogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElHYWxsZXJ5SW1hZ2VIYW5kbGVyIHtcclxuICAgIGdldE9yaWdpbmFsKCk6IFByb21pc2U8QnVmZmVyPjtcclxuICAgIHdyaXRlUmVzdWx0KGlzVGh1bWI6IGJvb2xlYW4sIGJ1ZmZlcjogQnVmZmVyKTogUHJvbWlzZTx2b2lkPjtcclxuICAgIGhhc1Jlc3VsdChpc1RodW1iOiBib29sZWFuKTogUHJvbWlzZTxib29sZWFuPjtcclxuICAgIHNlcnZlUmVzdWx0KGlzVGh1bWI6IGJvb2xlYW4pOiBQcm9taXNlPEJ1ZmZlcj47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVRyYW5zbGF0aW9ucyB7XHJcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVBhZ2luYXRpb25NZXRhIHtcclxuICAgIHRvdGFsOiBudW1iZXI7XHJcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVBhZ2luYXRpb25CYXNlPFQ+IHtcclxuICAgIGNvdW50OiBudW1iZXJcclxuICAgIGl0ZW1zOiBUW107XHJcbiAgICBtZXRhPzogSVBhZ2luYXRpb25NZXRhO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElQYWdpbmF0aW9uIGV4dGVuZHMgSVBhZ2luYXRpb25CYXNlPGFueT4ge1xyXG5cclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJUGFnaW5hdGlvblBhcmFtcyB7XHJcbiAgICBwYWdlOiBudW1iZXI7XHJcbiAgICBsaW1pdDogbnVtYmVyO1xyXG4gICAgc29ydD86IHN0cmluZztcclxuICAgIHBvcHVsYXRlPzogc3RyaW5nW107XHJcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIEZvbnRGb3JtYXQgPSBcIm9wZW50eXBlXCIgfCBcInRydWV0eXBlXCIgfCBcIndvZmZcIiB8IFwid29mZjJcIiB8IFwiZGF0YWZvcmtcIjtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUZpbGVUeXBlIHtcclxuICAgIGV4dDogc3RyaW5nO1xyXG4gICAgbWltZTogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElCYWNrZW5kQ29uZmlnIHtcclxuICAgIHJvb3RGb2xkZXI/OiBzdHJpbmc7XHJcbiAgICByb3V0ZVByZWZpeD86IHN0cmluZztcclxuICAgIHBhcmFtcz86IFBhcmFtZXRlcltdO1xyXG4gICAgZml4dHVyZXM/OiBUeXBlPElGaXh0dXJlPltdO1xyXG4gICAgam9icz86IFR5cGU8SUpvYj5bXTtcclxuICAgIHJlc3RPcHRpb25zPzogUm91dGluZ0NvbnRyb2xsZXJzT3B0aW9ucztcclxuICAgIHNvY2tldE9wdGlvbnM/OiBTb2NrZXRDb250cm9sbGVyc09wdGlvbnM7XHJcbiAgICBjdXN0b21WYWxpZGF0aW9uPzogU2NoZW1hQ29udmVydGVyIHwgU2NoZW1hT2JqZWN0O1xyXG59XHJcbiJdfQ==
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLXR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbW1vbi10eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFrQkEsdUJBQXVCO0FBRXZCLE1BQU0sQ0FBQyxNQUFNLElBQUksR0FBRyxRQUFRLENBQUM7QUFrRTdCLDJCQUEyQjtBQUUzQixNQUFNLENBQUMsTUFBTSxPQUFPLEdBQTZCLE1BQU0sQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUM7QUFFN0UsTUFBTSxDQUFDLE1BQU0sR0FBRyxHQUF5QixNQUFNLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0FBRWpFLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBNEIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQztBQUU1RSxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQTJCLE1BQU0sQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQUMsQ0FBQztBQUVuRixNQUFNLENBQUMsTUFBTSxhQUFhLEdBQWlDLE1BQU0sQ0FBQyxHQUFHLENBQUMscUJBQXFCLENBQUMsQ0FBQztBQUU3RixNQUFNLENBQUMsTUFBTSxTQUFTLEdBQThCLE1BQU0sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQztBQUVsRixNQUFNLENBQUMsTUFBTSxZQUFZLEdBQXlDLE1BQU0sQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsQ0FBQztBQWlDbkcsTUFBTSxPQUFPLFNBQVM7SUFFbEIsWUFBcUIsSUFBWSxFQUFTLFlBQWlCLEVBQVMsV0FBMEIsSUFBSTtRQUE3RSxTQUFJLEdBQUosSUFBSSxDQUFRO1FBQVMsaUJBQVksR0FBWixZQUFZLENBQUs7UUFBUyxhQUFRLEdBQVIsUUFBUSxDQUFzQjtJQUVsRyxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1NlcnZlcn0gZnJvbSBcImh0dHBcIjtcclxuaW1wb3J0IHtSZXF1ZXN0LCBFeHByZXNzfSBmcm9tIFwiZXhwcmVzc1wiO1xyXG5pbXBvcnQge1NvY2tldCwgU2VydmVyIGFzIFNvY2tldFNlcnZlcn0gZnJvbSBcInNvY2tldC5pb1wiO1xyXG5pbXBvcnQge1JvdXRpbmdDb250cm9sbGVyc09wdGlvbnN9IGZyb20gXCJyb3V0aW5nLWNvbnRyb2xsZXJzXCI7XHJcbmltcG9ydCB7U29ja2V0Q29udHJvbGxlcnNPcHRpb25zfSBmcm9tIFwic29ja2V0LWNvbnRyb2xsZXJzXCI7XHJcbmltcG9ydCB7XHJcbiAgICBDbGFzc1Byb3ZpZGVyLFxyXG4gICAgRGVwZW5kZW5jeUNvbnRhaW5lcixcclxuICAgIEluamVjdGlvblRva2VuLFxyXG4gICAgVG9rZW5Qcm92aWRlcixcclxuICAgIFZhbHVlUHJvdmlkZXIsXHJcbiAgICBSZWdpc3RyYXRpb25PcHRpb25zXHJcbn0gZnJvbSBcInRzeXJpbmdlXCI7XHJcbmltcG9ydCB7U2NoZW1hT2JqZWN0fSBmcm9tIFwib3BlbmFwaTMtdHNcIjtcclxuaW1wb3J0IHtSZWFkYWJsZX0gZnJvbSBcInN0cmVhbVwiO1xyXG5pbXBvcnQge01vbWVudH0gZnJvbSBcIm1vbWVudFwiO1xyXG5pbXBvcnQge0FueUV4cHJlc3Npb24sIEV4cHJlc3Npb259IGZyb20gXCJtb25nb29zZVwiO1xyXG5cclxuLy8gLS0tIERJIGZ1bmN0aW9ucyAtLS1cclxuXHJcbmV4cG9ydCBjb25zdCBUeXBlID0gRnVuY3Rpb247XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFR5cGU8VCA9IG9iamVjdD4gZXh0ZW5kcyBGdW5jdGlvbiB7XHJcbiAgICBuZXcgKC4uLmFyZ3M6IGFueVtdKTogVDtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBGYWN0b3J5UHJvdmlkZXI8VD4ge1xyXG4gICAgdXNlRmFjdG9yeTogKGRjOiBJRGVwZW5kZW5jeUNvbnRhaW5lcikgPT4gVDtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJVHJlZSB7XHJcbiAgICByZWFkb25seSBwYXRoOiBzdHJpbmc7XHJcbiAgICByZXNvbHZlU2VydmljZSgpOiBhbnk7XHJcbiAgICByZXNvbHZlTGVhdmVzKCk6IE1hcDxzdHJpbmcsIElUcmVlPjtcclxuICAgIHJlc29sdmVTZXJ2aWNlcygpOiBNYXA8c3RyaW5nLCBhbnk+O1xyXG4gICAgcmVzb2x2ZUFuY2VzdG9yKHBhdGg6IHN0cmluZyk6IElUcmVlO1xyXG4gICAgcmVzb2x2ZVBhdGgocGF0aDogc3RyaW5nLCB0aHJvd0Vycm9yPzogYm9vbGVhbik6IElUcmVlO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElEZXBlbmRlbmN5Q29udGFpbmVyIGV4dGVuZHMgRGVwZW5kZW5jeUNvbnRhaW5lciB7XHJcbiAgICByZWFkb25seSBwYXJlbnQ6IElEZXBlbmRlbmN5Q29udGFpbmVyO1xyXG4gICAgcmVhZG9ubHkgdHJlZTogSVRyZWU7XHJcbiAgICByZWFkb25seSByZWdpc3RlcmVkVG9rZW5zOiBSZWFkb25seUFycmF5PEluamVjdGlvblRva2VuPjtcclxuICAgIGNyZWF0ZUNoaWxkQ29udGFpbmVyKCk6IElEZXBlbmRlbmN5Q29udGFpbmVyO1xyXG4gICAgcmVnaXN0ZXI8VD4odG9rZW46IEluamVjdGlvblRva2VuPFQ+LCBwcm92aWRlcjogVmFsdWVQcm92aWRlcjxUPik6IElEZXBlbmRlbmN5Q29udGFpbmVyO1xyXG4gICAgcmVnaXN0ZXI8VD4odG9rZW46IEluamVjdGlvblRva2VuPFQ+LCBwcm92aWRlcjogRmFjdG9yeVByb3ZpZGVyPFQ+KTogSURlcGVuZGVuY3lDb250YWluZXI7XHJcbiAgICByZWdpc3RlcjxUPih0b2tlbjogSW5qZWN0aW9uVG9rZW48VD4sIHByb3ZpZGVyOiBUb2tlblByb3ZpZGVyPFQ+LCBvcHRpb25zPzogUmVnaXN0cmF0aW9uT3B0aW9ucyk6IElEZXBlbmRlbmN5Q29udGFpbmVyO1xyXG4gICAgcmVnaXN0ZXI8VD4odG9rZW46IEluamVjdGlvblRva2VuPFQ+LCBwcm92aWRlcjogQ2xhc3NQcm92aWRlcjxUPiwgb3B0aW9ucz86IFJlZ2lzdHJhdGlvbk9wdGlvbnMpOiBJRGVwZW5kZW5jeUNvbnRhaW5lcjtcclxuICAgIHJlZ2lzdGVyPFQ+KHRva2VuOiBJbmplY3Rpb25Ub2tlbjxUPiwgcHJvdmlkZXI6IFR5cGU8VD4sIG9wdGlvbnM/OiBSZWdpc3RyYXRpb25PcHRpb25zKTogSURlcGVuZGVuY3lDb250YWluZXI7XHJcbiAgICByZWdpc3RlclNpbmdsZXRvbjxUPihmcm9tOiBJbmplY3Rpb25Ub2tlbjxUPiwgdG86IEluamVjdGlvblRva2VuPFQ+KTogSURlcGVuZGVuY3lDb250YWluZXI7XHJcbiAgICByZWdpc3RlclNpbmdsZXRvbjxUPih0b2tlbjogVHlwZTxUPik6IElEZXBlbmRlbmN5Q29udGFpbmVyO1xyXG4gICAgcmVnaXN0ZXJUeXBlPFQ+KGZyb206IEluamVjdGlvblRva2VuPFQ+LCB0bzogSW5qZWN0aW9uVG9rZW48VD4pOiBJRGVwZW5kZW5jeUNvbnRhaW5lcjtcclxuICAgIHJlZ2lzdGVySW5zdGFuY2U8VD4odG9rZW46IEluamVjdGlvblRva2VuPFQ+LCBpbnN0YW5jZTogVCk6IElEZXBlbmRlbmN5Q29udGFpbmVyO1xyXG4gICAgZ2V0PFQ+KHRva2VuOiBJbmplY3Rpb25Ub2tlbjxUPik6IFQ7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ2xhc3NCYXNlZFByb3ZpZGVyPFQ+IGV4dGVuZHMgQ2xhc3NQcm92aWRlcjxUPiB7XHJcbiAgICBwcm92aWRlOiBJbmplY3Rpb25Ub2tlbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBWYWx1ZUJhc2VkUHJvdmlkZXI8VD4gZXh0ZW5kcyBWYWx1ZVByb3ZpZGVyPFQ+IHtcclxuICAgIHByb3ZpZGU6IEluamVjdGlvblRva2VuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEZhY3RvcnlCYXNlZFByb3ZpZGVyPFQ+IGV4dGVuZHMgRmFjdG9yeVByb3ZpZGVyPFQ+IHtcclxuICAgIHByb3ZpZGU6IEluamVjdGlvblRva2VuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFRva2VuQmFzZWRQcm92aWRlcjxUPiBleHRlbmRzIFRva2VuUHJvdmlkZXI8VD4ge1xyXG4gICAgcHJvdmlkZTogSW5qZWN0aW9uVG9rZW47XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFN5cmluZ2VQcm92aWRlcjxUPiA9IFR5cGU8VD4gfCBDbGFzc1Byb3ZpZGVyPFQ+IHwgVmFsdWVQcm92aWRlcjxUPiB8IEZhY3RvcnlQcm92aWRlcjxUPiB8IFRva2VuUHJvdmlkZXI8VD47XHJcblxyXG5leHBvcnQgdHlwZSBQcm92aWRlcjxUPiA9IFR5cGU8VD4gfCBDbGFzc0Jhc2VkUHJvdmlkZXI8VD4gfCBWYWx1ZUJhc2VkUHJvdmlkZXI8VD4gfCBGYWN0b3J5QmFzZWRQcm92aWRlcjxUPiB8IFRva2VuQmFzZWRQcm92aWRlcjxUPjtcclxuXHJcbi8vIC0tLSBVc2VmdWwgZ2VuZXJpYyB0eXBlcyAtLS1cclxuXHJcbmV4cG9ydCB0eXBlIENvbnN0cnVjdG9yPFQgPSBvYmplY3Q+ID0gbmV3ICguLi5hcmdzOiBhbnlbXSkgPT4gVFxyXG5cclxuZXhwb3J0IHR5cGUgSW5mZXJHZW5lcmljPFQ+ID0gVCBleHRlbmRzIFR5cGU8aW5mZXIgQj4gPyBCIDogbmV2ZXI7XHJcblxyXG5leHBvcnQgdHlwZSBQaWNrTWF0Y2hpbmc8VCwgVj4gPSB7IFtLIGluIGtleW9mIFQgYXMgVFtLXSBleHRlbmRzIFYgPyBLIDogbmV2ZXJdOiBUW0tdIH1cclxuXHJcbmV4cG9ydCB0eXBlIE9taXRGaXJzdEFyZzxGPiA9IEYgZXh0ZW5kcyAoeDogYW55LCAuLi5hcmdzOiBpbmZlciBQKSA9PiBpbmZlciBSID8gKC4uLmFyZ3M6IFApID0+IFIgOiBuZXZlcjtcclxuXHJcbi8vIC0tLSBJbmplY3Rpb24gdG9rZW5zIC0tLVxyXG5cclxuZXhwb3J0IGNvbnN0IEZJWFRVUkU6IEluamVjdGlvblRva2VuPElGaXh0dXJlPiA9IFN5bWJvbC5mb3IoXCJmaXh0dXJlLXRva2VuXCIpO1xyXG5cclxuZXhwb3J0IGNvbnN0IEpPQjogSW5qZWN0aW9uVG9rZW48SUpvYj4gPSBTeW1ib2wuZm9yKFwiam9iLXRva2VuXCIpO1xyXG5cclxuZXhwb3J0IGNvbnN0IEVYUFJFU1M6IEluamVjdGlvblRva2VuPEV4cHJlc3M+ID0gU3ltYm9sLmZvcihcImV4cHJlc3MtdG9rZW5cIik7XHJcblxyXG5leHBvcnQgY29uc3QgSFRUUF9TRVJWRVI6IEluamVjdGlvblRva2VuPFNlcnZlcj4gPSBTeW1ib2wuZm9yKFwiaHR0cC1zZXJ2ZXItdG9rZW5cIik7XHJcblxyXG5leHBvcnQgY29uc3QgU09DS0VUX1NFUlZFUjogSW5qZWN0aW9uVG9rZW48U29ja2V0U2VydmVyPiA9IFN5bWJvbC5mb3IoXCJzb2NrZXQtc2VydmVyLXRva2VuXCIpO1xyXG5cclxuZXhwb3J0IGNvbnN0IFBBUkFNRVRFUjogSW5qZWN0aW9uVG9rZW48UGFyYW1ldGVyPiA9IFN5bWJvbC5mb3IoXCJwYXJhbWV0ZXItdG9rZW5cIik7XHJcblxyXG5leHBvcnQgY29uc3QgRElfQ09OVEFJTkVSOiBJbmplY3Rpb25Ub2tlbjxJRGVwZW5kZW5jeUNvbnRhaW5lcj4gPSBTeW1ib2wuZm9yKFwiZGktY29udGFpbmVyLXRva2VuXCIpO1xyXG5cclxuLy8gLS0tIE1vbmdvIGludGVyZmFjZXMgYW5kIHR5cGVzXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElNYXRjaEZpZWxkIHtcclxuICAgIGZpZWxkOiBzdHJpbmc7XHJcbiAgICBmaWx0ZXI6IGFueTtcclxuICAgIHdoZW46IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVByb2plY3RPcHRpb25zIHtcclxuICAgIFtmaWVsZDogc3RyaW5nXTogQW55RXhwcmVzc2lvbiB8IEV4cHJlc3Npb24gfCBJUHJvamVjdE9wdGlvbnM7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVVud2luZE9wdGlvbnMge1xyXG4gICAgcGF0aDogc3RyaW5nO1xyXG4gICAgaW5jbHVkZUFycmF5SW5kZXg/OiBzdHJpbmc7XHJcbiAgICBwcmVzZXJ2ZU51bGxBbmRFbXB0eUFycmF5cz86IGJvb2xlYW47XHJcbn1cclxuXHJcbi8vIC0tLSBJbnRlcmZhY2VzIGFuZCB1dGlsaXR5IGNsYXNzZXMgLS0tXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElGaXh0dXJlIHtcclxuICAgIGxvYWQoKTogUHJvbWlzZTxhbnk+O1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBTY2hlbWFDb252ZXJ0ZXIgPSAoXHJcbiAgICBtZXRhOiBhbnksXHJcbiAgICBvcHRpb25zOiBhbnlcclxuKSA9PiBTY2hlbWFPYmplY3Q7XHJcblxyXG5leHBvcnQgdHlwZSBQYXJhbVJlc29sdmVyID0gKHZhbHVlOiBzdHJpbmcpID0+IGFueTtcclxuXHJcbmV4cG9ydCBjbGFzcyBQYXJhbWV0ZXIge1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHJlYWRvbmx5IG5hbWU6IHN0cmluZywgcHVibGljIGRlZmF1bHRWYWx1ZTogYW55LCBwdWJsaWMgcmVzb2x2ZXI6IFBhcmFtUmVzb2x2ZXIgPSBudWxsKSB7XHJcblxyXG4gICAgfVxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBTb2NrZXRQYXJhbSA9IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCBTb2NrZXRQYXJhbXM7XHJcblxyXG5leHBvcnQgdHlwZSBTb2NrZXRQYXJhbXMgPSB7XHJcbiAgICBbbmFtZTogc3RyaW5nXTogU29ja2V0UGFyYW0gfCBBcnJheTxTb2NrZXRQYXJhbT47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBKb2JQYXJhbXMgPSBTb2NrZXRQYXJhbXM7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElTb2NrZXRNZXNzYWdlIHtcclxuICAgIG1lc3NhZ2U6IHN0cmluZztcclxuICAgIHBhcmFtczogU29ja2V0UGFyYW1zO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElNZXNzYWdlQnJpZGdlIHtcclxuICAgIHNlbmRNZXNzYWdlKG1lc3NhZ2U6IHN0cmluZywgcGFyYW1zPzogU29ja2V0UGFyYW1zKTogdm9pZDtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJSm9iIHtcclxuICAgIHByb2Nlc3MobWVzc2FnaW5nPzogSU1lc3NhZ2VCcmlkZ2UpOiBQcm9taXNlPGFueT47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUpvYlRhc2sge1xyXG4gICAgc3RhcnQ6ICgpID0+IHRoaXM7XHJcbiAgICBzdG9wOiAoKSA9PiB0aGlzO1xyXG4gICAgZGVzdHJveTogKCkgPT4gdm9pZDtcclxuICAgIGdldFN0YXR1czogKCkgPT4gc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEpvYlNjaGVkdWxlUmFuZ2Uge1xyXG4gICAgbWluOiBudW1iZXI7XHJcbiAgICBtYXg6IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgSm9iU2NoZWR1bGVUaW1lID0gc3RyaW5nIHwgbnVtYmVyIHwgSm9iU2NoZWR1bGVSYW5nZSB8IEFycmF5PHN0cmluZyB8IG51bWJlcj47XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElQcm9ncmVzcyB7XHJcbiAgICBpZDogc3RyaW5nO1xyXG4gICAgY3VycmVudDogbnVtYmVyO1xyXG4gICAgbWF4OiBudW1iZXI7XHJcbiAgICBtZXNzYWdlOiBzdHJpbmc7XHJcbiAgICBlcnJvcjogc3RyaW5nO1xyXG4gICAgY2FuY2VsZWQ6IGJvb2xlYW47XHJcbiAgICBwZXJjZW50OiBudW1iZXI7XHJcbiAgICByZW1haW5pbmc6IG51bWJlcjtcclxuICAgIHNldE1lc3NhZ2VCcmlkZ2UobWVzc2FnZUJyaWRnZTogSU1lc3NhZ2VCcmlkZ2UpOiB0aGlzO1xyXG4gICAgY3JlYXRlU3ViUHJvZ3Jlc3MocHJvZ3Jlc3NWYWx1ZTogbnVtYmVyLCBtYXg/OiBudW1iZXIsIG1lc3NhZ2U/OiBzdHJpbmcpOiBQcm9taXNlPElQcm9ncmVzcz47XHJcbiAgICBzZXRNYXgobWF4OiBudW1iZXIpOiBQcm9taXNlPGFueT47XHJcbiAgICBzZXRNZXNzYWdlKG1lc3NhZ2U6IHN0cmluZyk6IFByb21pc2U8YW55PjtcclxuICAgIHNldEVycm9yKGVycm9yOiBzdHJpbmcpOiBQcm9taXNlPGFueT47XHJcbiAgICBhZHZhbmNlKHZhbHVlPzogbnVtYmVyKTogUHJvbWlzZTxhbnk+O1xyXG4gICAgY2FuY2VsKCk6IFByb21pc2U8YW55PjtcclxuICAgIHNhdmUoKTogUHJvbWlzZTxhbnk+O1xyXG4gICAgbG9hZCgpOiBQcm9taXNlPHRoaXM+O1xyXG4gICAgdG9KU09OKCk6IGFueTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJQXNzZXRDcm9wSW5mbyB7XHJcbiAgICB4OiBudW1iZXI7XHJcbiAgICB5OiBudW1iZXI7XHJcbiAgICB3OiBudW1iZXI7XHJcbiAgICBoOiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUFzc2V0TWV0YSB7XHJcbiAgICBmaWxlbmFtZT86IHN0cmluZztcclxuICAgIGV4dGVuc2lvbj86IHN0cmluZztcclxuICAgIGNsYXNzaWZpZWQ/OiBib29sZWFuO1xyXG4gICAgZG93bmxvYWRDb3VudD86IG51bWJlcjtcclxuICAgIGZpcnN0RG93bmxvYWQ/OiBEYXRlO1xyXG4gICAgbGFzdERvd25sb2FkPzogRGF0ZTtcclxuICAgIGNyb3A/OiBJQXNzZXRDcm9wSW5mbztcclxuICAgIGNyb3BCZWZvcmU/OiBJQXNzZXRDcm9wSW5mbztcclxuICAgIGNyb3BBZnRlcj86IElBc3NldENyb3BJbmZvO1xyXG4gICAgY2FudmFzU2NhbGVYPzogbnVtYmVyO1xyXG4gICAgY2FudmFzU2NhbGVZPzogbnVtYmVyO1xyXG4gICAgW3Byb3A6IHN0cmluZ106IGFueTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJQXNzZXRJbWFnZVBhcmFtcyB7XHJcbiAgICByb3RhdGlvbj86IG51bWJlcjtcclxuICAgIGNhbnZhc1NjYWxlWD86IG51bWJlcjtcclxuICAgIGNhbnZhc1NjYWxlWT86IG51bWJlcjtcclxuICAgIHNjYWxlWD86IG51bWJlcjtcclxuICAgIHNjYWxlWT86IG51bWJlcjtcclxuICAgIGxhenk/OiBib29sZWFuO1xyXG4gICAgY3JvcD86IHN0cmluZyB8IGJvb2xlYW47XHJcbiAgICBjcm9wQmVmb3JlPzogc3RyaW5nIHwgYm9vbGVhbiB8IElBc3NldENyb3BJbmZvO1xyXG4gICAgY3JvcEFmdGVyPzogc3RyaW5nIHwgYm9vbGVhbiB8IElBc3NldENyb3BJbmZvO1xyXG4gICAgW2tleTogc3RyaW5nXTogYW55O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElBc3NldCB7XHJcbiAgICByZWFkb25seSBpZDogc3RyaW5nO1xyXG4gICAgcmVhZG9ubHkgZmlsZW5hbWU6IHN0cmluZztcclxuICAgIHJlYWRvbmx5IGNvbnRlbnRUeXBlOiBzdHJpbmc7XHJcbiAgICByZWFkb25seSBtZXRhZGF0YTogSUFzc2V0TWV0YTtcclxuICAgIHJlYWRvbmx5IHN0cmVhbTogUmVhZGFibGU7XHJcbiAgICB1bmxpbmsoKTogUHJvbWlzZTxzdHJpbmc+O1xyXG4gICAgZ2V0QnVmZmVyKCk6IFByb21pc2U8QnVmZmVyPjtcclxuICAgIGRvd25sb2FkKG1ldGFkYXRhPzogSUFzc2V0TWV0YSk6IFByb21pc2U8UmVhZGFibGU+O1xyXG4gICAgZG93bmxvYWRJbWFnZShwYXJhbXM/OiBJQXNzZXRJbWFnZVBhcmFtcywgbWV0YWRhdGE/OiBJQXNzZXRNZXRhKTogUHJvbWlzZTxSZWFkYWJsZT47XHJcbiAgICBnZXRJbWFnZShwYXJhbXM/OiBJQXNzZXRJbWFnZVBhcmFtcyk6IFByb21pc2U8UmVhZGFibGU+O1xyXG4gICAgc2F2ZSgpOiBQcm9taXNlPGFueT47XHJcbiAgICBsb2FkKCk6IFByb21pc2U8dGhpcz47XHJcbiAgICB0b0pTT04oKTogYW55O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElMYXp5QXNzZXQge1xyXG4gICAgaWQ6IHN0cmluZztcclxuICAgIGpvYk5hbWU6IHN0cmluZztcclxuICAgIGpvYlBhcmFtczogYW55O1xyXG4gICAgam9iUXVlOiBzdHJpbmc7XHJcbiAgICBwcm9ncmVzc0lkPzogc3RyaW5nO1xyXG4gICAgYXNzZXRJZD86IHN0cmluZztcclxuICAgIHVubGluaygpOiBQcm9taXNlPHN0cmluZz47XHJcbiAgICBzdGFydFdvcmtpbmcoKTogdm9pZDtcclxuICAgIGxvYWRBc3NldCgpOiBQcm9taXNlPElBc3NldD47XHJcbiAgICB3cml0ZUFzc2V0KGFzc2V0OiBJQXNzZXQpOiBQcm9taXNlPElBc3NldD47XHJcbiAgICBzYXZlKCk6IFByb21pc2U8YW55PjtcclxuICAgIGxvYWQoKTogUHJvbWlzZTx0aGlzPjtcclxuICAgIHRvSlNPTigpOiBhbnk7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVVzZXIge1xyXG4gICAgX2lkPzogc3RyaW5nO1xyXG4gICAgaWQ/OiBzdHJpbmc7XHJcbiAgICBlbWFpbD86IHN0cmluZztcclxuICAgIHBhc3N3b3JkPzogc3RyaW5nO1xyXG4gICAgcm9sZXM6IHN0cmluZ1tdO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElDbGllbnRTb2NrZXQgZXh0ZW5kcyBTb2NrZXQge1xyXG4gICAgaW50ZXJlc3RlZFByb2dyZXNzZXM6IFNldDxzdHJpbmc+O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElSZXF1ZXN0QmFzZTxUPiBleHRlbmRzIFJlcXVlc3Qge1xyXG4gICAgaWQ/OiBzdHJpbmc7XHJcbiAgICBzdGFydGVkPzogTW9tZW50O1xyXG4gICAgZW5kZWQ/OiBNb21lbnQ7XHJcbiAgICBjb250YWluZXI/OiBEZXBlbmRlbmN5Q29udGFpbmVyO1xyXG4gICAgbGFuZ3VhZ2U/OiBzdHJpbmc7XHJcbiAgICB1c2VyPzogVDtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJUmVxdWVzdCBleHRlbmRzIElSZXF1ZXN0QmFzZTxJVXNlcj4ge1xyXG5cclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJR2FsbGVyeUltYWdlIHtcclxuICAgIGZvbGRlcjogc3RyaW5nO1xyXG4gICAgdGh1bWI6IHN0cmluZztcclxuICAgIGJpZzogc3RyaW5nO1xyXG4gICAgc2VydmUoaWQ6IHN0cmluZyk6IFByb21pc2U8QnVmZmVyPlxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElHYWxsZXJ5U2l6ZSB7XHJcbiAgICB3aWR0aD86IG51bWJlcjtcclxuICAgIGhlaWdodD86IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJR2FsbGVyeUltYWdlSGFuZGxlciB7XHJcbiAgICBnZXRPcmlnaW5hbCgpOiBQcm9taXNlPEJ1ZmZlcj47XHJcbiAgICB3cml0ZVJlc3VsdChpc1RodW1iOiBib29sZWFuLCBidWZmZXI6IEJ1ZmZlcik6IFByb21pc2U8dm9pZD47XHJcbiAgICBoYXNSZXN1bHQoaXNUaHVtYjogYm9vbGVhbik6IFByb21pc2U8Ym9vbGVhbj47XHJcbiAgICBzZXJ2ZVJlc3VsdChpc1RodW1iOiBib29sZWFuKTogUHJvbWlzZTxCdWZmZXI+O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElUcmFuc2xhdGlvbnMge1xyXG4gICAgW2tleTogc3RyaW5nXTogYW55O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElQYWdpbmF0aW9uTWV0YSB7XHJcbiAgICB0b3RhbDogbnVtYmVyO1xyXG4gICAgW2tleTogc3RyaW5nXTogYW55O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElQYWdpbmF0aW9uQmFzZTxUPiB7XHJcbiAgICBjb3VudDogbnVtYmVyXHJcbiAgICBpdGVtczogVFtdO1xyXG4gICAgbWV0YT86IElQYWdpbmF0aW9uTWV0YTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJUGFnaW5hdGlvbiBleHRlbmRzIElQYWdpbmF0aW9uQmFzZTxhbnk+IHtcclxuXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVBhZ2luYXRpb25QYXJhbXMge1xyXG4gICAgcGFnZTogbnVtYmVyO1xyXG4gICAgbGltaXQ6IG51bWJlcjtcclxuICAgIHNvcnQ/OiBzdHJpbmc7XHJcbiAgICBwb3B1bGF0ZT86IHN0cmluZ1tdO1xyXG4gICAgW2tleTogc3RyaW5nXTogYW55O1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBGb250Rm9ybWF0ID0gXCJvcGVudHlwZVwiIHwgXCJ0cnVldHlwZVwiIHwgXCJ3b2ZmXCIgfCBcIndvZmYyXCIgfCBcImRhdGFmb3JrXCI7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElGaWxlVHlwZSB7XHJcbiAgICBleHQ6IHN0cmluZztcclxuICAgIG1pbWU6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJQmFja2VuZENvbmZpZyB7XHJcbiAgICByb290Rm9sZGVyPzogc3RyaW5nO1xyXG4gICAgcm91dGVQcmVmaXg/OiBzdHJpbmc7XHJcbiAgICBwYXJhbXM/OiBQYXJhbWV0ZXJbXTtcclxuICAgIGZpeHR1cmVzPzogVHlwZTxJRml4dHVyZT5bXTtcclxuICAgIGpvYnM/OiBUeXBlPElKb2I+W107XHJcbiAgICByZXN0T3B0aW9ucz86IFJvdXRpbmdDb250cm9sbGVyc09wdGlvbnM7XHJcbiAgICBzb2NrZXRPcHRpb25zPzogU29ja2V0Q29udHJvbGxlcnNPcHRpb25zO1xyXG4gICAgY3VzdG9tVmFsaWRhdGlvbj86IFNjaGVtYUNvbnZlcnRlciB8IFNjaGVtYU9iamVjdDtcclxufVxyXG4iXX0=
|
package/esm2015/public_api.js
CHANGED
|
@@ -49,9 +49,8 @@ import { RequestStartedMiddleware } from "./rest-middlewares/request-started.mid
|
|
|
49
49
|
import { ProgressController } from "./socket-controllers/progress.controller";
|
|
50
50
|
import { CompressionMiddleware } from "./socket-middlewares/compression.middleware";
|
|
51
51
|
import { diContainers, isFunction, isString, isType, valueToPromise } from "./utils";
|
|
52
|
-
import { DiContainer } from "./utilities/di-container";
|
|
53
52
|
import { setupStatic } from "./static";
|
|
54
|
-
export { isNullOrUndefined, isDefined, getType, isObject, isArray, isBoolean, isDate, isPrimitive, isString, isFunction, isConstructor, isType, isInterface, ucFirst, lcFirst, isObjectId, firstItem, lastItem, regroup, uniqueItems, getValue, groupBy, convertValue,
|
|
53
|
+
export { isNullOrUndefined, isDefined, getType, isObject, isArray, isBoolean, isDate, isPrimitive, isString, isFunction, isConstructor, isType, isInterface, ucFirst, lcFirst, isObjectId, firstItem, lastItem, regroup, uniqueItems, getValue, groupBy, convertValue, toImage, bufferToStream, streamToBuffer, copyStream, mkdirRecursive, deleteFile, readFile, readAndDeleteFile, writeFile, valueToPromise, promiseTimeout, getConstructorName, getFunctionParams, getFileName, getExtension, idToString, createTransformer, broadcast, rand, random, multiSubscription, observableFromFunction, padLeft, padRight, deleteFromBucket, filter, copy, assign, md5, runCommand, ConsoleColor, colorize, jsonHighlight, replaceSpecialChars } from "./utils";
|
|
55
54
|
export { IsFile, IsObjectId } from "./validators";
|
|
56
55
|
export { FIXTURE, JOB, EXPRESS, HTTP_SERVER, SOCKET_SERVER, PARAMETER, DI_CONTAINER, Type, Parameter } from "./common-types";
|
|
57
56
|
export { AssetProcessor } from "./services/asset-processor";
|
|
@@ -76,11 +75,15 @@ export { TemplateRenderer } from "./services/template-renderer";
|
|
|
76
75
|
export { TranslationProvider } from "./services/translation-provider";
|
|
77
76
|
export { Translator } from "./services/translator";
|
|
78
77
|
export { UserManager } from "./services/user-manager";
|
|
78
|
+
export { AssetImageParams } from "./requests/asset-image-params";
|
|
79
79
|
export { AuthController } from "./rest-controllers/auth.controller";
|
|
80
80
|
export { GalleryController } from "./rest-controllers/gallery.controller";
|
|
81
81
|
export { ErrorHandlerMiddleware } from "./rest-middlewares/error-handler.middleware";
|
|
82
82
|
export { LanguageMiddleware } from "./rest-middlewares/language.middleware";
|
|
83
|
+
export { BaseDoc, DocumentArray, PrimitiveArray } from "./utilities/base-doc";
|
|
84
|
+
import { DiContainer } from "./utilities/di-container";
|
|
83
85
|
export { LazyAssetGenerator } from "./utilities/lazy-asset-generator";
|
|
86
|
+
export { ResolveEntity, paginateAggregations, hydratePopulated, unwindStage, projectStage, matchFieldStages, matchField, matchStage, letsLookupStage, lookupStages, paginate, injectServices, service } from "./utilities/mongoose";
|
|
84
87
|
function resolveUser(container, req) {
|
|
85
88
|
return __awaiter(this, void 0, void 0, function* () {
|
|
86
89
|
if (req.user)
|
|
@@ -328,4 +331,4 @@ export function setupBackend(config, providers, parent) {
|
|
|
328
331
|
return diContainer;
|
|
329
332
|
});
|
|
330
333
|
}
|
|
331
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDMUIsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLGFBQWEsQ0FBQztBQUNqQyxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQ3BDLE9BQU8sRUFBQyxTQUFTLEVBQXNCLE1BQU0sVUFBVSxDQUFDO0FBQ3hELE9BQU8sRUFBUyxTQUFTLEVBQUUsWUFBWSxJQUFJLG1CQUFtQixFQUFFLGdCQUFnQixFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDN0csT0FBTyxFQUFDLFlBQVksSUFBSSxrQkFBa0IsRUFBRSxlQUFlLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUV2RixPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFMUMsT0FBTyxFQUNILFlBQVksRUFDWixPQUFPLEVBQ1AsT0FBTyxFQUNQLFdBQVcsRUFNWCxHQUFHLEVBQ0gsU0FBUyxFQUNULFNBQVMsRUFFVCxhQUFhLEVBRWhCLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQzFELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUN4RCxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDekMsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQzVELE9BQU8sRUFBQyxLQUFLLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUN2QyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDMUQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQzlELE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFDM0MsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3RELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDbEQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ2xELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNsRCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDcEQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQzFELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUNqRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUM5RCxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUNwRSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDakQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBRXBELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ3RFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUNsRSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUN4RSxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQztBQUU5RSxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSw2Q0FBNkMsQ0FBQztBQUNuRixPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUM1RSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUMxRSxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSw2Q0FBNkMsQ0FBQztBQUNuRixPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSwrQ0FBK0MsQ0FBQztBQUV2RixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQztBQUU1RSxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSw2Q0FBNkMsQ0FBQztBQUNsRixPQUFPLEVBQUMsWUFBWSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBQyxNQUFNLFNBQVMsQ0FBQztBQUNuRixPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDckQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLFVBQVUsQ0FBQztBQUVyQyxPQUFPLEVBRUgsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxPQUFPLEVBQ1AsUUFBUSxFQUNSLE9BQU8sRUFDUCxTQUFTLEVBQ1QsTUFBTSxFQUNOLFdBQVcsRUFDWCxRQUFRLEVBQ1IsVUFBVSxFQUNWLGFBQWEsRUFDYixNQUFNLEVBQ04sV0FBVyxFQUNYLE9BQU8sRUFDUCxPQUFPLEVBQ1AsVUFBVSxFQUNWLFNBQVMsRUFDVCxRQUFRLEVBQ1IsT0FBTyxFQUNQLFdBQVcsRUFDWCxRQUFRLEVBQ1IsT0FBTyxFQUNQLFlBQVksRUFDWixjQUFjLEVBQ2QsUUFBUSxFQUNSLFlBQVksRUFDWixlQUFlLEVBQ2YsVUFBVSxFQUNWLFVBQVUsRUFDVixnQkFBZ0IsRUFDaEIsWUFBWSxFQUNaLFdBQVcsRUFDWCxnQkFBZ0IsRUFDaEIsb0JBQW9CLEVBQ3BCLE9BQU8sRUFDUCxjQUFjLEVBQ2QsY0FBYyxFQUNkLFVBQVUsRUFDVixjQUFjLEVBQ2QsVUFBVSxFQUNWLFFBQVEsRUFDUixpQkFBaUIsRUFDakIsU0FBUyxFQUNULGNBQWMsRUFDZCxjQUFjLEVBQ2Qsa0JBQWtCLEVBQ2xCLGlCQUFpQixFQUNqQixhQUFhLEVBQ2IsY0FBYyxFQUNkLGFBQWEsRUFDYixXQUFXLEVBQ1gsWUFBWSxFQUNaLFVBQVUsRUFDVixpQkFBaUIsRUFDakIsU0FBUyxFQUNULElBQUksRUFDSixNQUFNLEVBQ04saUJBQWlCLEVBQ2pCLHNCQUFzQixFQUN0QixPQUFPLEVBQ1AsUUFBUSxFQUNSLGdCQUFnQixFQUNoQixNQUFNLEVBQ04sSUFBSSxFQUNKLE1BQU0sRUFDTixHQUFHLEVBQ0gsVUFBVSxFQUNWLFlBQVksRUFFWixRQUFRLEVBQ1IsYUFBYSxFQUNiLG1CQUFtQixFQUN0QixNQUFNLFNBQVMsQ0FBQztBQUVqQixPQUFPLEVBQUMsTUFBTSxFQUFFLFVBQVUsRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUVoRCxPQUFPLEVBQ0gsT0FBTyxFQUNQLEdBQUcsRUFDSCxPQUFPLEVBQ1AsV0FBVyxFQUNYLGFBQWEsRUFDYixTQUFTLEVBQ1QsWUFBWSxFQUNaLElBQUksRUFlSixTQUFTLEVBK0JaLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQzFELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUN4RCxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDekMsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQzVELE9BQU8sRUFBQyxLQUFLLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUN2QyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDMUQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQzlELE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFDM0MsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3RELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDbEQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ2xELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNsRCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDcEQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQzFELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUNqRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUM5RCxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUNwRSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDakQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBRXBELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUNsRSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUV4RSxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSw2Q0FBNkMsQ0FBQztBQUNuRixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUUxRSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUVwRSxTQUFlLFdBQVcsQ0FBQyxTQUE4QixFQUFFLEdBQWE7O1FBQ3BFLElBQUksR0FBRyxDQUFDLElBQUk7WUFBRSxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUM7UUFDOUIsTUFBTSxJQUFJLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDL0MsSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ25CLElBQUk7WUFDQSxNQUFNLE1BQU0sR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ2hELE9BQU8sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFRLENBQUM7U0FDNUU7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNSLE1BQU0sSUFBSSxTQUFTLENBQUMsR0FBRyxFQUFFLDJCQUEyQixDQUFDLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQztTQUNyRTtRQUNELElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDVixNQUFNLElBQUksU0FBUyxDQUFDLEdBQUcsRUFBRSw4Q0FBOEMsQ0FBQyxDQUFDO1NBQzVFO1FBQ0QsR0FBRyxDQUFDLElBQUksR0FBRyxNQUFNLFNBQVMsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNwRSxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUM7SUFDcEIsQ0FBQztDQUFBO0FBRUQsTUFBTSxVQUFVLGNBQWM7SUFDMUIscUJBQXFCO0lBQ3JCLE1BQU0sTUFBTSxHQUFHO1FBQ1gsSUFBSSxTQUFTLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDM0QsSUFBSSxTQUFTLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDdkQsSUFBSSxTQUFTLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDbkQsSUFBSSxTQUFTLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDO1FBQ3RDLElBQUksU0FBUyxDQUFDLFVBQVUsRUFBRSxtQkFBbUIsQ0FBQztRQUM5QyxJQUFJLFNBQVMsQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDO1FBQzlCLElBQUksU0FBUyxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUM7UUFDbkMsSUFBSSxTQUFTLENBQUMsY0FBYyxFQUFFLEVBQUUsQ0FBQztRQUNqQyxJQUFJLFNBQVMsQ0FBQyxtQkFBbUIsRUFBRSxlQUFlLENBQUM7UUFDbkQsSUFBSSxTQUFTLENBQUMsc0JBQXNCLEVBQUUsb0NBQW9DLENBQUM7UUFDM0UsSUFBSSxTQUFTLENBQUMsV0FBVyxFQUFFLHNDQUFzQyxDQUFDO1FBQ2xFLElBQUksU0FBUyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUM7UUFDN0IsSUFBSSxTQUFTLENBQUMsU0FBUyxFQUFFLGNBQWMsQ0FBQztRQUN4QyxJQUFJLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDO1FBQ2hDLElBQUksU0FBUyxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUM7UUFDcEMsSUFBSSxTQUFTLENBQUMsU0FBUyxFQUFFLFlBQVksQ0FBQztRQUN0QyxJQUFJLFNBQVMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDO1FBQzVCLElBQUksU0FBUyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUM7UUFDOUIsSUFBSSxTQUFTLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQztRQUNsQyxJQUFJLFNBQVMsQ0FBQyxlQUFlLEVBQUUsaUJBQWlCLENBQUM7UUFDakQsSUFBSSxTQUFTLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQztRQUNoQyxJQUFJLFNBQVMsQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUFDO1FBQ2pDLElBQUksU0FBUyxDQUFDLFNBQVMsRUFBRSxzQ0FBc0MsQ0FBQztRQUNoRSxJQUFJLFNBQVMsQ0FBQyxhQUFhLEVBQUUsR0FBRyxDQUFDO1FBQ2pDLElBQUksU0FBUyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUM7UUFDaEMsSUFBSSxTQUFTLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ2hDLElBQUksU0FBUyxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUM7UUFDbkMsSUFBSSxTQUFTLENBQUMsWUFBWSxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDO1FBQzFDLElBQUksU0FBUyxDQUFDLGlCQUFpQixFQUFFLE9BQU8sQ0FBQztLQUM1QyxDQUFDO0lBRUYsa0NBQWtDO0lBQ2xDLE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUU7UUFDbEMsT0FBTztZQUNILE9BQU8sRUFBRSxTQUFTO1lBQ2xCLFFBQVEsRUFBRSxDQUFDO1NBQ2QsQ0FBQTtJQUNMLENBQUMsQ0FBQyxDQUFDO0lBRUgsbUJBQW1CO0lBQ25CLE1BQU0sUUFBUSxHQUFHO1FBQ2IsY0FBYztRQUNkLGFBQWE7UUFDYixNQUFNO1FBQ04sZUFBZTtRQUNmLEtBQUs7UUFDTCxjQUFjO1FBQ2QsYUFBYTtRQUNiLGdCQUFnQjtRQUNoQixRQUFRO1FBQ1IsT0FBTztRQUNQLFlBQVk7UUFDWixXQUFXO1FBQ1gsVUFBVTtRQUNWLFVBQVU7UUFDVixVQUFVO1FBQ1YsV0FBVztRQUNYLGNBQWM7UUFDZCxVQUFVO1FBQ1YsZ0JBQWdCO1FBQ2hCLG1CQUFtQjtRQUNuQixVQUFVO1FBQ1YsV0FBVztLQUNDLENBQUM7SUFFakIsbUJBQW1CO0lBQ25CLE1BQU0sV0FBVyxHQUFHLElBQUksV0FBVyxDQUFDLFNBQVMsQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLENBQUM7SUFDdEUsY0FBYyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRTtRQUM5QixXQUFXLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDckQsQ0FBQyxDQUFDLENBQUM7SUFDSCxRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQztZQUNoQyxXQUFXLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMvQyxDQUFDLENBQUMsQ0FBQztJQUNILE9BQU8sV0FBVyxDQUFDO0FBQ3ZCLENBQUM7QUFFRCxNQUFNLFVBQWdCLFlBQVksQ0FBQyxNQUFzQixFQUFFLFNBQTJCLEVBQUUsTUFBNkI7O1FBRWpILFNBQVMsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUN0RCxNQUFNLEdBQUcsTUFBTSxJQUFJLGNBQWMsRUFBRSxDQUFDO1FBRXBDLGtCQUFrQjtRQUNsQixNQUFNLFlBQVksR0FBRyxDQUFDLE1BQU0sQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDLENBQUM7UUFDN0MsTUFBTSxnQkFBZ0IsR0FBRyxZQUFZLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ2hELE9BQU87Z0JBQ0gsT0FBTyxFQUFFLE9BQU87Z0JBQ2hCLFFBQVEsRUFBRSxPQUFPO2FBQ3BCLENBQUM7UUFDTixDQUFDLENBQUMsQ0FBQztRQUVILGdCQUFnQjtRQUNoQixNQUFNLGNBQWMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ2pELE9BQU87Z0JBQ0gsT0FBTyxFQUFFLFNBQVM7Z0JBQ2xCLFFBQVEsRUFBRSxDQUFDO2FBQ2QsQ0FBQTtRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRUgsY0FBYztRQUNkLE1BQU0sWUFBWSxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDbkQsT0FBTztnQkFDSCxPQUFPLEVBQUUsR0FBRztnQkFDWixRQUFRLEVBQUUsT0FBTzthQUNwQixDQUFDO1FBQ04sQ0FBQyxDQUFDLENBQUM7UUFFSCxpQkFBaUI7UUFDakIsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUM7UUFDN0MsV0FBVyxDQUFDLG1CQUFtQixHQUFHLEtBQUssQ0FBQztRQUN4QyxXQUFXLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7WUFDN0IsV0FBVyxFQUFFLElBQUk7WUFDakIsY0FBYyxFQUFFLENBQUMscUJBQXFCLENBQUM7WUFDdkMsTUFBTSxFQUFFLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxFQUFFO2dCQUN6QixRQUFRLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ3pCLENBQUM7U0FDSixFQUFFLFdBQVcsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUM7UUFDM0IsV0FBVyxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxJQUFJLE1BQU0sQ0FBQztRQUN2RCxXQUFXLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQyxXQUFXLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUM7UUFDeEYsV0FBVyxDQUFDLFdBQVcsR0FBRyxDQUFDLHNCQUFzQixFQUFFLG1CQUFtQixFQUFFLGtCQUFrQixFQUFFLHdCQUF3QixFQUFFLHNCQUFzQixDQUFDO2FBQ3hJLE1BQU0sQ0FBQyxXQUFXLENBQUMsV0FBa0IsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUNsRCxXQUFXLENBQUMsV0FBVyxHQUFHLENBQUMsZ0JBQWdCLEVBQUUsY0FBYyxFQUFFLGlCQUFpQixFQUFFLG9CQUFvQixDQUFDO2FBQ2hHLE1BQU0sQ0FBQyxXQUFXLENBQUMsV0FBa0IsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUVsRCxtQkFBbUI7UUFDbkIsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLGFBQWEsSUFBSSxFQUFFLENBQUM7UUFDakQsYUFBYSxDQUFDLFdBQVcsR0FBRyxDQUFDLHFCQUFxQixDQUFDLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxXQUFrQixJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ25HLGFBQWEsQ0FBQyxXQUFXLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsV0FBa0IsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUVoRyxtQkFBbUI7UUFFbkIsTUFBTSxZQUFZLEdBQW9CLEVBQUUsQ0FBQztRQUV6QyxvQ0FBb0M7UUFDcEMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDMUIsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUMxQyxNQUFNLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFO2dCQUN0QixZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUMsT0FBTyxFQUFFLFFBQVEsRUFBQyxDQUFDLENBQUM7WUFDM0MsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztRQUVILHNCQUFzQjtRQUN0QixZQUFZLENBQUMsSUFBSSxDQUNiLEdBQUcsWUFBWSxFQUNmLEdBQUcsZ0JBQWdCLEVBQ25CLEdBQUcsY0FBYyxFQUNqQixHQUFHLFlBQVksRUFDZixHQUFHLFdBQVcsQ0FBQyxXQUEwQixFQUN6QyxHQUFHLFdBQVcsQ0FBQyxXQUEwQixFQUN6QyxHQUFHLGFBQWEsQ0FBQyxXQUEwQixFQUMzQyxHQUFHLGFBQWEsQ0FBQyxXQUEwQixFQUMzQyxHQUFHLFNBQVMsRUFDWjtZQUNJLE9BQU8sRUFBRSxPQUFPO1lBQ2hCLFVBQVUsRUFBRSxDQUFDLFNBQThCLEVBQUUsRUFBRTtnQkFDM0MsT0FBTyxTQUFTLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDLE9BQU8sQ0FBQztZQUN0RCxDQUFDO1NBQ0osRUFDRDtZQUNJLE9BQU8sRUFBRSxXQUFXO1lBQ3BCLFVBQVUsRUFBRSxDQUFDLFNBQThCLEVBQUUsRUFBRTtnQkFDM0MsT0FBTyxTQUFTLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDLE1BQU0sQ0FBQztZQUNyRCxDQUFDO1NBQ0osRUFDRDtZQUNJLE9BQU8sRUFBRSxhQUFhO1lBQ3RCLFVBQVUsRUFBRSxDQUFDLFNBQThCLEVBQUUsRUFBRTtnQkFDM0MsT0FBTyxTQUFTLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNqRCxDQUFDO1NBQ0osQ0FDSixDQUFBO1FBRUQsc0JBQXNCO1FBRXRCLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBRWxELFlBQVksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDNUIsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUU7Z0JBQ2xCLElBQUksU0FBUyxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUM7b0JBQUUsT0FBTztnQkFDN0MsV0FBVyxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7Z0JBQ3pDLE9BQU87YUFDVjtZQUNELFdBQVcsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxRQUFlLENBQUMsQ0FBQztRQUM1RCxDQUFDLENBQUMsQ0FBQztRQUVILFdBQVcsQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFO1lBQy9CLFFBQVEsRUFBRSxXQUFXO1NBQ3hCLENBQUMsQ0FBQztRQUVILFlBQVksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDLFlBQVksSUFBSSxXQUFXLENBQUM7UUFFckUsaUJBQWlCO1FBQ2pCLFdBQVcsQ0FBQyxvQkFBb0IsR0FBRyxDQUFPLE1BQWMsRUFBRSxLQUFZLEVBQUUsRUFBRTtZQUN0RSxNQUFNLElBQUksR0FBRyxNQUFNLFdBQVcsQ0FBQyxXQUFXLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzVELElBQUksQ0FBQyxJQUFJLEVBQUU7Z0JBQ1AsTUFBTSxJQUFJLFNBQVMsQ0FBQyxHQUFHLEVBQUUsK0NBQStDLENBQUMsQ0FBQzthQUM3RTtZQUNELE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDOUQsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO2dCQUMxQyxJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUM7Z0JBQ3JCLEtBQUssSUFBSSxJQUFJLElBQUksS0FBSyxFQUFFO29CQUNwQixJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRTt3QkFDbEIsSUFBSTs0QkFDQSxJQUFJLE1BQU0sY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUMsRUFBRTtnQ0FDMUMsT0FBTyxJQUFJLENBQUM7NkJBQ2Y7eUJBQ0o7d0JBQUMsT0FBTyxDQUFDLEVBQUU7NEJBQ1IsU0FBUyxHQUFHLENBQUMsQ0FBQzt5QkFDakI7cUJBQ0o7b0JBQ0QsSUFBSSxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7d0JBQUUsT0FBTyxJQUFJLENBQUM7aUJBQ2pEO2dCQUNELE1BQU0sS0FBSyxHQUFHLENBQUMsU0FBUyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDO29CQUNwRSxDQUFDLENBQUMsMkNBQTJDO29CQUM3QyxDQUFDLENBQUMsU0FBUyxDQUFDLE9BQU8sSUFBSSxTQUFTLENBQUM7Z0JBQ3JDLE1BQU0sSUFBSSxTQUFTLENBQUMsR0FBRyxFQUFFLDJCQUEyQixLQUFLLEdBQUcsQ0FBQyxDQUFDO2FBQ2pFO1lBQ0QsT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQyxDQUFBLENBQUM7UUFDRixXQUFXLENBQUMsa0JBQWtCLEdBQUcsQ0FBTyxNQUFjLEVBQUUsRUFBRTtZQUN0RCxPQUFPLFdBQVcsQ0FBQyxXQUFXLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3BELENBQUMsQ0FBQSxDQUFDO1FBRUYsY0FBYztRQUNkLE1BQU0sYUFBYSxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDekQsTUFBTSxFQUFFLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUVoRCxJQUFJLE1BQU0sQ0FBQyxXQUFXLEVBQUU7WUFDcEIsRUFBRSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDO2dCQUNoQixLQUFLLEVBQUUsYUFBYSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUM7b0JBQ3RDLENBQUMsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQztvQkFDcEMsQ0FBQyxDQUFDLE9BQU87YUFDaEIsQ0FBQyxDQUFDLENBQUM7WUFDSixtQkFBbUIsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUNqQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1lBQzFDLHFCQUFxQjtZQUNyQixFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUU7Z0JBQ3JDLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO1lBQzdELENBQUMsQ0FBQyxDQUFDO1NBQ047UUFDRCxJQUFJLE1BQU0sQ0FBQyxhQUFhLEVBQUU7WUFDdEIsa0JBQWtCLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDaEMsZUFBZSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsYUFBYSxDQUFDLENBQUM7U0FDekM7UUFFRCxnQ0FBZ0M7UUFDaEMsSUFBSSxhQUFhLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxJQUFJLGFBQWEsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDekUsT0FBTyxDQUFDLEdBQUcsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1lBQ3hDLE1BQU0sU0FBUyxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDdEQsTUFBTSxTQUFTLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDMUIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO1NBQ3JEO1FBRUQsTUFBTSxXQUFXLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUVsRCxPQUFPLFdBQVcsQ0FBQztJQUN2QixDQUFDO0NBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2pvaW59IGZyb20gXCJwYXRoXCI7XHJcbmltcG9ydCB7anNvbn0gZnJvbSBcImJvZHktcGFyc2VyXCI7XHJcbmltcG9ydCB7dmVyaWZ5fSBmcm9tIFwianNvbndlYnRva2VuXCI7XHJcbmltcG9ydCB7Y29udGFpbmVyLCBEZXBlbmRlbmN5Q29udGFpbmVyfSBmcm9tIFwidHN5cmluZ2VcIjtcclxuaW1wb3J0IHtBY3Rpb24sIEh0dHBFcnJvciwgdXNlQ29udGFpbmVyIGFzIHVzZVJvdXRpbmdDb250YWluZXIsIHVzZUV4cHJlc3NTZXJ2ZXJ9IGZyb20gXCJyb3V0aW5nLWNvbnRyb2xsZXJzXCI7XHJcbmltcG9ydCB7dXNlQ29udGFpbmVyIGFzIHVzZVNvY2tldENvbnRhaW5lciwgdXNlU29ja2V0U2VydmVyfSBmcm9tIFwic29ja2V0LWNvbnRyb2xsZXJzXCI7XHJcblxyXG5pbXBvcnQge2dldEFwaURvY3N9IGZyb20gXCIuL3Jlc3Qtb3BlbmFwaVwiO1xyXG5cclxuaW1wb3J0IHtcclxuICAgIERJX0NPTlRBSU5FUixcclxuICAgIEVYUFJFU1MsXHJcbiAgICBGSVhUVVJFLFxyXG4gICAgSFRUUF9TRVJWRVIsXHJcbiAgICBJQmFja2VuZENvbmZpZyxcclxuICAgIElEZXBlbmRlbmN5Q29udGFpbmVyLFxyXG4gICAgSVBhZ2luYXRpb25QYXJhbXMsXHJcbiAgICBJUmVxdWVzdCxcclxuICAgIElVc2VyLFxyXG4gICAgSk9CLFxyXG4gICAgUGFyYW1ldGVyLFxyXG4gICAgUEFSQU1FVEVSLFxyXG4gICAgUHJvdmlkZXIsXHJcbiAgICBTT0NLRVRfU0VSVkVSLFxyXG4gICAgVHlwZVxyXG59IGZyb20gXCIuL2NvbW1vbi10eXBlc1wiO1xyXG5cclxuaW1wb3J0IHtBc3NldFByb2Nlc3Nvcn0gZnJvbSBcIi4vc2VydmljZXMvYXNzZXQtcHJvY2Vzc29yXCI7XHJcbmltcG9ydCB7QXNzZXRSZXNvbHZlcn0gZnJvbSBcIi4vc2VydmljZXMvYXNzZXQtcmVzb2x2ZXJcIjtcclxuaW1wb3J0IHtBc3NldHN9IGZyb20gXCIuL3NlcnZpY2VzL2Fzc2V0c1wiO1xyXG5pbXBvcnQge0JhY2tlbmRQcm92aWRlcn0gZnJvbSBcIi4vc2VydmljZXMvYmFja2VuZC1wcm92aWRlclwiO1xyXG5pbXBvcnQge0NhY2hlfSBmcm9tIFwiLi9zZXJ2aWNlcy9jYWNoZVwiO1xyXG5pbXBvcnQge0NhY2hlUHJvY2Vzc29yfSBmcm9tIFwiLi9zZXJ2aWNlcy9jYWNoZS1wcm9jZXNzb3JcIjtcclxuaW1wb3J0IHtDb25maWd1cmF0aW9ufSBmcm9tIFwiLi9zZXJ2aWNlcy9jb25maWd1cmF0aW9uXCI7XHJcbmltcG9ydCB7RW5kcG9pbnRQcm92aWRlcn0gZnJvbSBcIi4vc2VydmljZXMvZW5kcG9pbnQtcHJvdmlkZXJcIjtcclxuaW1wb3J0IHtGaXh0dXJlc30gZnJvbSBcIi4vc2VydmljZXMvZml4dHVyZXNcIjtcclxuaW1wb3J0IHtHYWxsZXJ5fSBmcm9tIFwiLi9zZXJ2aWNlcy9nYWxsZXJ5XCI7XHJcbmltcG9ydCB7R2FsbGVyeUNhY2hlfSBmcm9tIFwiLi9zZXJ2aWNlcy9nYWxsZXJ5LWNhY2hlXCI7XHJcbmltcG9ydCB7SWRHZW5lcmF0b3J9IGZyb20gXCIuL3NlcnZpY2VzL2lkLWdlbmVyYXRvclwiO1xyXG5pbXBvcnQge0pvYk1hbmFnZXJ9IGZyb20gXCIuL3NlcnZpY2VzL2pvYi1tYW5hZ2VyXCI7XHJcbmltcG9ydCB7TGF6eUFzc2V0c30gZnJvbSBcIi4vc2VydmljZXMvbGF6eS1hc3NldHNcIjtcclxuaW1wb3J0IHtNYWlsU2VuZGVyfSBmcm9tIFwiLi9zZXJ2aWNlcy9tYWlsLXNlbmRlclwiO1xyXG5pbXBvcnQge01lbW9yeUNhY2hlfSBmcm9tIFwiLi9zZXJ2aWNlcy9tZW1vcnktY2FjaGVcIjtcclxuaW1wb3J0IHtNb25nb0Nvbm5lY3Rvcn0gZnJvbSBcIi4vc2VydmljZXMvbW9uZ28tY29ubmVjdG9yXCI7XHJcbmltcG9ydCB7UHJvZ3Jlc3Nlc30gZnJvbSBcIi4vc2VydmljZXMvcHJvZ3Jlc3Nlc1wiO1xyXG5pbXBvcnQge1RlbXBsYXRlUmVuZGVyZXJ9IGZyb20gXCIuL3NlcnZpY2VzL3RlbXBsYXRlLXJlbmRlcmVyXCI7XHJcbmltcG9ydCB7VHJhbnNsYXRpb25Qcm92aWRlcn0gZnJvbSBcIi4vc2VydmljZXMvdHJhbnNsYXRpb24tcHJvdmlkZXJcIjtcclxuaW1wb3J0IHtUcmFuc2xhdG9yfSBmcm9tIFwiLi9zZXJ2aWNlcy90cmFuc2xhdG9yXCI7XHJcbmltcG9ydCB7VXNlck1hbmFnZXJ9IGZyb20gXCIuL3NlcnZpY2VzL3VzZXItbWFuYWdlclwiO1xyXG5cclxuaW1wb3J0IHtBc3NldHNDb250cm9sbGVyfSBmcm9tIFwiLi9yZXN0LWNvbnRyb2xsZXJzL2Fzc2V0cy5jb250cm9sbGVyXCI7XHJcbmltcG9ydCB7QXV0aENvbnRyb2xsZXJ9IGZyb20gXCIuL3Jlc3QtY29udHJvbGxlcnMvYXV0aC5jb250cm9sbGVyXCI7XHJcbmltcG9ydCB7R2FsbGVyeUNvbnRyb2xsZXJ9IGZyb20gXCIuL3Jlc3QtY29udHJvbGxlcnMvZ2FsbGVyeS5jb250cm9sbGVyXCI7XHJcbmltcG9ydCB7UHJvZ3Jlc3Nlc0NvbnRyb2xsZXJ9IGZyb20gXCIuL3Jlc3QtY29udHJvbGxlcnMvcHJvZ3Jlc3Nlcy5jb250cm9sbGVyXCI7XHJcblxyXG5pbXBvcnQge0Vycm9ySGFuZGxlck1pZGRsZXdhcmV9IGZyb20gXCIuL3Jlc3QtbWlkZGxld2FyZXMvZXJyb3ItaGFuZGxlci5taWRkbGV3YXJlXCI7XHJcbmltcG9ydCB7Q29udGFpbmVyTWlkZGxld2FyZX0gZnJvbSBcIi4vcmVzdC1taWRkbGV3YXJlcy9jb250YWluZXIubWlkZGxld2FyZVwiO1xyXG5pbXBvcnQge0xhbmd1YWdlTWlkZGxld2FyZX0gZnJvbSBcIi4vcmVzdC1taWRkbGV3YXJlcy9sYW5ndWFnZS5taWRkbGV3YXJlXCI7XHJcbmltcG9ydCB7UmVxdWVzdEVuZGVkTWlkZGxld2FyZX0gZnJvbSBcIi4vcmVzdC1taWRkbGV3YXJlcy9yZXF1ZXN0LWVuZGVkLm1pZGRsZXdhcmVcIjtcclxuaW1wb3J0IHtSZXF1ZXN0U3RhcnRlZE1pZGRsZXdhcmV9IGZyb20gXCIuL3Jlc3QtbWlkZGxld2FyZXMvcmVxdWVzdC1zdGFydGVkLm1pZGRsZXdhcmVcIjtcclxuXHJcbmltcG9ydCB7UHJvZ3Jlc3NDb250cm9sbGVyfSBmcm9tIFwiLi9zb2NrZXQtY29udHJvbGxlcnMvcHJvZ3Jlc3MuY29udHJvbGxlclwiO1xyXG5cclxuaW1wb3J0IHtDb21wcmVzc2lvbk1pZGRsZXdhcmV9IGZyb20gXCIuL3NvY2tldC1taWRkbGV3YXJlcy9jb21wcmVzc2lvbi5taWRkbGV3YXJlXCI7XHJcbmltcG9ydCB7ZGlDb250YWluZXJzLCBpc0Z1bmN0aW9uLCBpc1N0cmluZywgaXNUeXBlLCB2YWx1ZVRvUHJvbWlzZX0gZnJvbSBcIi4vdXRpbHNcIjtcclxuaW1wb3J0IHtEaUNvbnRhaW5lcn0gZnJvbSBcIi4vdXRpbGl0aWVzL2RpLWNvbnRhaW5lclwiO1xyXG5pbXBvcnQge3NldHVwU3RhdGljfSBmcm9tIFwiLi9zdGF0aWNcIjtcclxuXHJcbmV4cG9ydCB7XHJcbiAgICBGaWx0ZXJQcmVkaWNhdGUsXHJcbiAgICBpc051bGxPclVuZGVmaW5lZCxcclxuICAgIGlzRGVmaW5lZCxcclxuICAgIGdldFR5cGUsXHJcbiAgICBpc09iamVjdCxcclxuICAgIGlzQXJyYXksXHJcbiAgICBpc0Jvb2xlYW4sXHJcbiAgICBpc0RhdGUsXHJcbiAgICBpc1ByaW1pdGl2ZSxcclxuICAgIGlzU3RyaW5nLFxyXG4gICAgaXNGdW5jdGlvbixcclxuICAgIGlzQ29uc3RydWN0b3IsXHJcbiAgICBpc1R5cGUsXHJcbiAgICBpc0ludGVyZmFjZSxcclxuICAgIHVjRmlyc3QsXHJcbiAgICBsY0ZpcnN0LFxyXG4gICAgaXNPYmplY3RJZCxcclxuICAgIGZpcnN0SXRlbSxcclxuICAgIGxhc3RJdGVtLFxyXG4gICAgcmVncm91cCxcclxuICAgIHVuaXF1ZUl0ZW1zLFxyXG4gICAgZ2V0VmFsdWUsXHJcbiAgICBncm91cEJ5LFxyXG4gICAgY29udmVydFZhbHVlLFxyXG4gICAgaW5qZWN0U2VydmljZXMsXHJcbiAgICBwYWdpbmF0ZSxcclxuICAgIGxvb2t1cFN0YWdlcyxcclxuICAgIGxldHNMb29rdXBTdGFnZSxcclxuICAgIG1hdGNoU3RhZ2UsXHJcbiAgICBtYXRjaEZpZWxkLFxyXG4gICAgbWF0Y2hGaWVsZFN0YWdlcyxcclxuICAgIHByb2plY3RTdGFnZSxcclxuICAgIHVud2luZFN0YWdlLFxyXG4gICAgaHlkcmF0ZVBvcHVsYXRlZCxcclxuICAgIHBhZ2luYXRlQWdncmVnYXRpb25zLFxyXG4gICAgdG9JbWFnZSxcclxuICAgIGJ1ZmZlclRvU3RyZWFtLFxyXG4gICAgc3RyZWFtVG9CdWZmZXIsXHJcbiAgICBjb3B5U3RyZWFtLFxyXG4gICAgbWtkaXJSZWN1cnNpdmUsXHJcbiAgICBkZWxldGVGaWxlLFxyXG4gICAgcmVhZEZpbGUsXHJcbiAgICByZWFkQW5kRGVsZXRlRmlsZSxcclxuICAgIHdyaXRlRmlsZSxcclxuICAgIHZhbHVlVG9Qcm9taXNlLFxyXG4gICAgcHJvbWlzZVRpbWVvdXQsXHJcbiAgICBnZXRDb25zdHJ1Y3Rvck5hbWUsXHJcbiAgICBnZXRGdW5jdGlvblBhcmFtcyxcclxuICAgIHByb3h5RnVuY3Rpb24sXHJcbiAgICBwcm94eUZ1bmN0aW9ucyxcclxuICAgIFJlc29sdmVFbnRpdHksXHJcbiAgICBnZXRGaWxlTmFtZSxcclxuICAgIGdldEV4dGVuc2lvbixcclxuICAgIGlkVG9TdHJpbmcsXHJcbiAgICBjcmVhdGVUcmFuc2Zvcm1lcixcclxuICAgIGJyb2FkY2FzdCxcclxuICAgIHJhbmQsXHJcbiAgICByYW5kb20sXHJcbiAgICBtdWx0aVN1YnNjcmlwdGlvbixcclxuICAgIG9ic2VydmFibGVGcm9tRnVuY3Rpb24sXHJcbiAgICBwYWRMZWZ0LFxyXG4gICAgcGFkUmlnaHQsXHJcbiAgICBkZWxldGVGcm9tQnVja2V0LFxyXG4gICAgZmlsdGVyLFxyXG4gICAgY29weSxcclxuICAgIGFzc2lnbixcclxuICAgIG1kNSxcclxuICAgIHJ1bkNvbW1hbmQsXHJcbiAgICBDb25zb2xlQ29sb3IsXHJcbiAgICBJSnNvbkNvbG9ycyxcclxuICAgIGNvbG9yaXplLFxyXG4gICAganNvbkhpZ2hsaWdodCxcclxuICAgIHJlcGxhY2VTcGVjaWFsQ2hhcnNcclxufSBmcm9tIFwiLi91dGlsc1wiO1xyXG5cclxuZXhwb3J0IHtJc0ZpbGUsIElzT2JqZWN0SWR9IGZyb20gXCIuL3ZhbGlkYXRvcnNcIjtcclxuXHJcbmV4cG9ydCB7XHJcbiAgICBGSVhUVVJFLFxyXG4gICAgSk9CLFxyXG4gICAgRVhQUkVTUyxcclxuICAgIEhUVFBfU0VSVkVSLFxyXG4gICAgU09DS0VUX1NFUlZFUixcclxuICAgIFBBUkFNRVRFUixcclxuICAgIERJX0NPTlRBSU5FUixcclxuICAgIFR5cGUsXHJcbiAgICBGYWN0b3J5UHJvdmlkZXIsXHJcbiAgICBJRGVwZW5kZW5jeUNvbnRhaW5lcixcclxuICAgIENsYXNzQmFzZWRQcm92aWRlcixcclxuICAgIFZhbHVlQmFzZWRQcm92aWRlcixcclxuICAgIEZhY3RvcnlCYXNlZFByb3ZpZGVyLFxyXG4gICAgVG9rZW5CYXNlZFByb3ZpZGVyLFxyXG4gICAgU3lyaW5nZVByb3ZpZGVyLFxyXG4gICAgUHJvdmlkZXIsXHJcbiAgICBJTWF0Y2hGaWVsZCxcclxuICAgIElQcm9qZWN0T3B0aW9ucyxcclxuICAgIElVbndpbmRPcHRpb25zLFxyXG4gICAgSUZpeHR1cmUsXHJcbiAgICBTY2hlbWFDb252ZXJ0ZXIsXHJcbiAgICBQYXJhbVJlc29sdmVyLFxyXG4gICAgUGFyYW1ldGVyLFxyXG4gICAgU29ja2V0UGFyYW0sXHJcbiAgICBTb2NrZXRQYXJhbXMsXHJcbiAgICBJU29ja2V0TWVzc2FnZSxcclxuICAgIElNZXNzYWdlQnJpZGdlLFxyXG4gICAgSUpvYixcclxuICAgIElKb2JUYXNrLFxyXG4gICAgSm9iUGFyYW1zLFxyXG4gICAgSm9iU2NoZWR1bGVSYW5nZSxcclxuICAgIEpvYlNjaGVkdWxlVGltZSxcclxuICAgIElQcm9ncmVzcyxcclxuICAgIElBc3NldENyb3BJbmZvLFxyXG4gICAgSUFzc2V0TWV0YSxcclxuICAgIElBc3NldEltYWdlUGFyYW1zLFxyXG4gICAgSUFzc2V0LFxyXG4gICAgSUxhenlBc3NldCxcclxuICAgIElVc2VyLFxyXG4gICAgSUNsaWVudFNvY2tldCxcclxuICAgIElSZXF1ZXN0QmFzZSxcclxuICAgIElSZXF1ZXN0LFxyXG4gICAgSUdhbGxlcnlJbWFnZSxcclxuICAgIElHYWxsZXJ5U2l6ZSxcclxuICAgIElHYWxsZXJ5SW1hZ2VIYW5kbGVyLFxyXG4gICAgSVRyYW5zbGF0aW9ucyxcclxuICAgIElQYWdpbmF0aW9uTWV0YSxcclxuICAgIElQYWdpbmF0aW9uQmFzZSxcclxuICAgIElQYWdpbmF0aW9uLFxyXG4gICAgSVBhZ2luYXRpb25QYXJhbXMsXHJcbiAgICBGb250Rm9ybWF0LFxyXG4gICAgSUZpbGVUeXBlLFxyXG4gICAgSUJhY2tlbmRDb25maWdcclxufSBmcm9tIFwiLi9jb21tb24tdHlwZXNcIjtcclxuXHJcbmV4cG9ydCB7QXNzZXRQcm9jZXNzb3J9IGZyb20gXCIuL3NlcnZpY2VzL2Fzc2V0LXByb2Nlc3NvclwiO1xyXG5leHBvcnQge0Fzc2V0UmVzb2x2ZXJ9IGZyb20gXCIuL3NlcnZpY2VzL2Fzc2V0LXJlc29sdmVyXCI7XHJcbmV4cG9ydCB7QXNzZXRzfSBmcm9tIFwiLi9zZXJ2aWNlcy9hc3NldHNcIjtcclxuZXhwb3J0IHtCYWNrZW5kUHJvdmlkZXJ9IGZyb20gXCIuL3NlcnZpY2VzL2JhY2tlbmQtcHJvdmlkZXJcIjtcclxuZXhwb3J0IHtDYWNoZX0gZnJvbSBcIi4vc2VydmljZXMvY2FjaGVcIjtcclxuZXhwb3J0IHtDYWNoZVByb2Nlc3Nvcn0gZnJvbSBcIi4vc2VydmljZXMvY2FjaGUtcHJvY2Vzc29yXCI7XHJcbmV4cG9ydCB7Q29uZmlndXJhdGlvbn0gZnJvbSBcIi4vc2VydmljZXMvY29uZmlndXJhdGlvblwiO1xyXG5leHBvcnQge0VuZHBvaW50UHJvdmlkZXJ9IGZyb20gXCIuL3NlcnZpY2VzL2VuZHBvaW50LXByb3ZpZGVyXCI7XHJcbmV4cG9ydCB7Rml4dHVyZXN9IGZyb20gXCIuL3NlcnZpY2VzL2ZpeHR1cmVzXCI7XHJcbmV4cG9ydCB7R2FsbGVyeX0gZnJvbSBcIi4vc2VydmljZXMvZ2FsbGVyeVwiO1xyXG5leHBvcnQge0dhbGxlcnlDYWNoZX0gZnJvbSBcIi4vc2VydmljZXMvZ2FsbGVyeS1jYWNoZVwiO1xyXG5leHBvcnQge0lkR2VuZXJhdG9yfSBmcm9tIFwiLi9zZXJ2aWNlcy9pZC1nZW5lcmF0b3JcIjtcclxuZXhwb3J0IHtKb2JNYW5hZ2VyfSBmcm9tIFwiLi9zZXJ2aWNlcy9qb2ItbWFuYWdlclwiO1xyXG5leHBvcnQge0xhenlBc3NldHN9IGZyb20gXCIuL3NlcnZpY2VzL2xhenktYXNzZXRzXCI7XHJcbmV4cG9ydCB7TWFpbFNlbmRlcn0gZnJvbSBcIi4vc2VydmljZXMvbWFpbC1zZW5kZXJcIjtcclxuZXhwb3J0IHtNZW1vcnlDYWNoZX0gZnJvbSBcIi4vc2VydmljZXMvbWVtb3J5LWNhY2hlXCI7XHJcbmV4cG9ydCB7TW9uZ29Db25uZWN0b3J9IGZyb20gXCIuL3NlcnZpY2VzL21vbmdvLWNvbm5lY3RvclwiO1xyXG5leHBvcnQge1Byb2dyZXNzZXN9IGZyb20gXCIuL3NlcnZpY2VzL3Byb2dyZXNzZXNcIjtcclxuZXhwb3J0IHtUZW1wbGF0ZVJlbmRlcmVyfSBmcm9tIFwiLi9zZXJ2aWNlcy90ZW1wbGF0ZS1yZW5kZXJlclwiO1xyXG5leHBvcnQge1RyYW5zbGF0aW9uUHJvdmlkZXJ9IGZyb20gXCIuL3NlcnZpY2VzL3RyYW5zbGF0aW9uLXByb3ZpZGVyXCI7XHJcbmV4cG9ydCB7VHJhbnNsYXRvcn0gZnJvbSBcIi4vc2VydmljZXMvdHJhbnNsYXRvclwiO1xyXG5leHBvcnQge1VzZXJNYW5hZ2VyfSBmcm9tIFwiLi9zZXJ2aWNlcy91c2VyLW1hbmFnZXJcIjtcclxuXHJcbmV4cG9ydCB7QXV0aENvbnRyb2xsZXJ9IGZyb20gXCIuL3Jlc3QtY29udHJvbGxlcnMvYXV0aC5jb250cm9sbGVyXCI7XHJcbmV4cG9ydCB7R2FsbGVyeUNvbnRyb2xsZXJ9IGZyb20gXCIuL3Jlc3QtY29udHJvbGxlcnMvZ2FsbGVyeS5jb250cm9sbGVyXCI7XHJcblxyXG5leHBvcnQge0Vycm9ySGFuZGxlck1pZGRsZXdhcmV9IGZyb20gXCIuL3Jlc3QtbWlkZGxld2FyZXMvZXJyb3ItaGFuZGxlci5taWRkbGV3YXJlXCI7XHJcbmV4cG9ydCB7TGFuZ3VhZ2VNaWRkbGV3YXJlfSBmcm9tIFwiLi9yZXN0LW1pZGRsZXdhcmVzL2xhbmd1YWdlLm1pZGRsZXdhcmVcIjtcclxuXHJcbmV4cG9ydCB7TGF6eUFzc2V0R2VuZXJhdG9yfSBmcm9tIFwiLi91dGlsaXRpZXMvbGF6eS1hc3NldC1nZW5lcmF0b3JcIjtcclxuXHJcbmFzeW5jIGZ1bmN0aW9uIHJlc29sdmVVc2VyKGNvbnRhaW5lcjogRGVwZW5kZW5jeUNvbnRhaW5lciwgcmVxOiBJUmVxdWVzdCk6IFByb21pc2U8SVVzZXI+IHtcclxuICAgIGlmIChyZXEudXNlcikgcmV0dXJuIHJlcS51c2VyO1xyXG4gICAgY29uc3QgYXV0aCA9IHJlcS5oZWFkZXIoXCJBdXRob3JpemF0aW9uXCIpIHx8IFwiXCI7XHJcbiAgICBsZXQgcGF5bG9hZCA9IG51bGw7XHJcbiAgICB0cnkge1xyXG4gICAgICAgIGNvbnN0IGNvbmZpZyA9IGNvbnRhaW5lci5yZXNvbHZlKENvbmZpZ3VyYXRpb24pO1xyXG4gICAgICAgIHBheWxvYWQgPSB2ZXJpZnkoYXV0aC5zcGxpdChcIiBcIilbMV0sIGNvbmZpZy5yZXNvbHZlKFwiand0U2VjcmV0XCIpKSBhcyBhbnk7XHJcbiAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgdGhyb3cgbmV3IEh0dHBFcnJvcig0MDEsIGBBdXRoZW50aWNhdGlvbiBmYWlsZWQuICgke2UubWVzc2FnZX0pYCk7XHJcbiAgICB9XHJcbiAgICBpZiAoIXBheWxvYWQpIHtcclxuICAgICAgICB0aHJvdyBuZXcgSHR0cEVycm9yKDQwMSwgYEF1dGhlbnRpY2F0aW9uIGZhaWxlZC4gKE1heWJlIGludmFsaWQgdG9rZW4pYCk7XHJcbiAgICB9XHJcbiAgICByZXEudXNlciA9IGF3YWl0IGNvbnRhaW5lci5yZXNvbHZlKFVzZXJNYW5hZ2VyKS5nZXRCeUlkKHBheWxvYWQuaWQpO1xyXG4gICAgcmV0dXJuIHJlcS51c2VyO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlU2VydmljZXMoKTogSURlcGVuZGVuY3lDb250YWluZXIge1xyXG4gICAgLy8gTGlzdCBvZiBwYXJhbWV0ZXJzXHJcbiAgICBjb25zdCBwYXJhbXMgPSBbXHJcbiAgICAgICAgbmV3IFBhcmFtZXRlcihcInRlbXBsYXRlc0RpclwiLCBqb2luKF9fZGlybmFtZSwgXCJ0ZW1wbGF0ZXNcIikpLFxyXG4gICAgICAgIG5ldyBQYXJhbWV0ZXIoXCJnYWxsZXJ5RGlyXCIsIGpvaW4oX19kaXJuYW1lLCBcImdhbGxlcnlcIikpLFxyXG4gICAgICAgIG5ldyBQYXJhbWV0ZXIoXCJjYWNoZURpclwiLCBqb2luKF9fZGlybmFtZSwgXCJjYWNoZVwiKSksXHJcbiAgICAgICAgbmV3IFBhcmFtZXRlcihcImRlZmF1bHRMYW5ndWFnZVwiLCBcImVuXCIpLFxyXG4gICAgICAgIG5ldyBQYXJhbWV0ZXIoXCJzbXRwSG9zdFwiLCBcInNtdHAuc2VuZGdyaWQubmV0XCIpLFxyXG4gICAgICAgIG5ldyBQYXJhbWV0ZXIoXCJzbXRwUG9ydFwiLCA1ODcpLFxyXG4gICAgICAgIG5ldyBQYXJhbWV0ZXIoXCJzbXRwVXNlclwiLCBcImFwaWtleVwiKSxcclxuICAgICAgICBuZXcgUGFyYW1ldGVyKFwic210cFBhc3N3b3JkXCIsIFwiXCIpLFxyXG4gICAgICAgIG5ldyBQYXJhbWV0ZXIoXCJtYWlsU2VuZGVyQWRkcmVzc1wiLCBcImluZm9Ac3RlbXkuaHVcIiksXHJcbiAgICAgICAgbmV3IFBhcmFtZXRlcihcInRyYW5zbGF0aW9uc1RlbXBsYXRlXCIsIFwiaHR0cHM6Ly90cmFuc2xhdGlvbi5zZXJ2aWNlL1tsYW5nXVwiKSxcclxuICAgICAgICBuZXcgUGFyYW1ldGVyKFwiand0U2VjcmV0XCIsIFwiZXlKMGVYQWlPaUpLVjFRaUxDSmhiR2NpT2lKU1V6STFOaUo5XCIpLFxyXG4gICAgICAgIG5ldyBQYXJhbWV0ZXIoXCJtb25nb1VyaVwiLCBcIlwiKSxcclxuICAgICAgICBuZXcgUGFyYW1ldGVyKFwibW9uZ29EYlwiLCBcIm5vZGUtYmFja2VuZFwiKSxcclxuICAgICAgICBuZXcgUGFyYW1ldGVyKFwibW9uZ29Vc2VyXCIsIG51bGwpLFxyXG4gICAgICAgIG5ldyBQYXJhbWV0ZXIoXCJtb25nb1Bhc3N3b3JkXCIsIG51bGwpLFxyXG4gICAgICAgIG5ldyBQYXJhbWV0ZXIoXCJub2RlRW52XCIsIFwicHJvZHVjdGlvblwiKSxcclxuICAgICAgICBuZXcgUGFyYW1ldGVyKFwiYXBwUG9ydFwiLCA4MCksXHJcbiAgICAgICAgbmV3IFBhcmFtZXRlcihcInptcVBvcnRcIiwgMzAwMCksXHJcbiAgICAgICAgbmV3IFBhcmFtZXRlcihcInptcUJhY2tQb3J0XCIsIDMxMDApLFxyXG4gICAgICAgIG5ldyBQYXJhbWV0ZXIoXCJ6bXFSZW1vdGVIb3N0XCIsIFwidGNwOi8vMTI3LjAuMC4xXCIpLFxyXG4gICAgICAgIG5ldyBQYXJhbWV0ZXIoXCJpc1dvcmtlclwiLCBmYWxzZSksXHJcbiAgICAgICAgbmV3IFBhcmFtZXRlcihcIm1haW5FbmRwb2ludFwiLCBcIlwiKSxcclxuICAgICAgICBuZXcgUGFyYW1ldGVyKFwiaWRDaGFyc1wiLCBcIjAxMjM0NTY3ODlBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWlwiKSxcclxuICAgICAgICBuZXcgUGFyYW1ldGVyKFwiaWRTZXBhcmF0b3JcIiwgXCItXCIpLFxyXG4gICAgICAgIG5ldyBQYXJhbWV0ZXIoXCJpZFByZWZpeFwiLCBcIklELVwiKSxcclxuICAgICAgICBuZXcgUGFyYW1ldGVyKFwiaWRQYXJ0c1wiLCBbNCwgNF0pLFxyXG4gICAgICAgIG5ldyBQYXJhbWV0ZXIoXCJqc29uTGltaXRcIiwgXCIyNTBtYlwiKSxcclxuICAgICAgICBuZXcgUGFyYW1ldGVyKFwiam9iVGltZW91dFwiLCA1ICogNjAgKiAxMDAwKSxcclxuICAgICAgICBuZXcgUGFyYW1ldGVyKFwiY2FjaGVDb2xsZWN0aW9uXCIsIFwiY2FjaGVcIiksXHJcbiAgICBdO1xyXG5cclxuICAgIC8vIENvbnZlcnQgcGFyYW1ldGVycyB0byBwcm92aWRlcnNcclxuICAgIGNvbnN0IHBhcmFtUHJvdmlkZXJzID0gcGFyYW1zLm1hcChwID0+IHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBwcm92aWRlOiBQQVJBTUVURVIsXHJcbiAgICAgICAgICAgIHVzZVZhbHVlOiBwXHJcbiAgICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgLy8gTGlzdCBvZiBzZXJ2aWNlc1xyXG4gICAgY29uc3Qgc2VydmljZXMgPSBbXHJcbiAgICAgICAgQXNzZXRQcm9jZXNzb3IsXHJcbiAgICAgICAgQXNzZXRSZXNvbHZlcixcclxuICAgICAgICBBc3NldHMsXHJcbiAgICAgICAgQmFja2VuZFByb3ZpZGVyLFxyXG4gICAgICAgIENhY2hlLFxyXG4gICAgICAgIENhY2hlUHJvY2Vzc29yLFxyXG4gICAgICAgIENvbmZpZ3VyYXRpb24sXHJcbiAgICAgICAgRW5kcG9pbnRQcm92aWRlcixcclxuICAgICAgICBGaXh0dXJlcyxcclxuICAgICAgICBHYWxsZXJ5LFxyXG4gICAgICAgIEdhbGxlcnlDYWNoZSxcclxuICAgICAgICBJZEdlbmVyYXRvcixcclxuICAgICAgICBKb2JNYW5hZ2VyLFxyXG4gICAgICAgIExhenlBc3NldHMsXHJcbiAgICAgICAgTWFpbFNlbmRlcixcclxuICAgICAgICBNZW1vcnlDYWNoZSxcclxuICAgICAgICBNb25nb0Nvbm5lY3RvcixcclxuICAgICAgICBQcm9ncmVzc2VzLFxyXG4gICAgICAgIFRlbXBsYXRlUmVuZGVyZXIsXHJcbiAgICAgICAgVHJhbnNsYXRpb25Qcm92aWRlcixcclxuICAgICAgICBUcmFuc2xhdG9yLFxyXG4gICAgICAgIFVzZXJNYW5hZ2VyXHJcbiAgICBdIGFzIFR5cGU8YW55PltdO1xyXG5cclxuICAgIC8vIENyZWF0ZSBjb250YWluZXJcclxuICAgIGNvbnN0IGRpQ29udGFpbmVyID0gbmV3IERpQ29udGFpbmVyKGNvbnRhaW5lci5jcmVhdGVDaGlsZENvbnRhaW5lcigpKTtcclxuICAgIHBhcmFtUHJvdmlkZXJzLmZvckVhY2gocHJvdmlkZXIgPT4ge1xyXG4gICAgICAgIGRpQ29udGFpbmVyLnJlZ2lzdGVyKHByb3ZpZGVyLnByb3ZpZGUsIHByb3ZpZGVyKTtcclxuICAgIH0pO1xyXG4gICAgc2VydmljZXMuZm9yRWFjaChzZXJ2aWNlID0+IHtcclxuICAgICAgICBpZiAoIWNvbnRhaW5lci5pc1JlZ2lzdGVyZWQoc2VydmljZSkpXHJcbiAgICAgICAgICAgIGRpQ29udGFpbmVyLnJlZ2lzdGVyKHNlcnZpY2UsIHNlcnZpY2UpO1xyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gZGlDb250YWluZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBzZXR1cEJhY2tlbmQoY29uZmlnOiBJQmFja2VuZENvbmZpZywgcHJvdmlkZXJzPzogUHJvdmlkZXI8YW55PltdLCBwYXJlbnQ/OiBJRGVwZW5kZW5jeUNvbnRhaW5lcik6IFByb21pc2U8SURlcGVuZGVuY3lDb250YWluZXI+IHtcclxuXHJcbiAgICBwcm92aWRlcnMgPSBBcnJheS5pc0FycmF5KHByb3ZpZGVycykgPyBwcm92aWRlcnMgOiBbXTtcclxuICAgIHBhcmVudCA9IHBhcmVudCB8fCBjcmVhdGVTZXJ2aWNlcygpO1xyXG5cclxuICAgIC8vIENyZWF0ZSBmaXh0dXJlc1xyXG4gICAgY29uc3QgZml4dHVyZVR5cGVzID0gKGNvbmZpZy5maXh0dXJlcyB8fCBbXSk7XHJcbiAgICBjb25zdCBmaXh0dXJlUHJvdmlkZXJzID0gZml4dHVyZVR5cGVzLm1hcChmaXh0dXJlID0+IHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBwcm92aWRlOiBGSVhUVVJFLFxyXG4gICAgICAgICAgICB1c2VDbGFzczogZml4dHVyZVxyXG4gICAgICAgIH07XHJcbiAgICB9KTtcclxuXHJcbiAgICAvLyBDcmVhdGUgcGFyYW1zXHJcbiAgICBjb25zdCBwYXJhbVByb3ZpZGVycyA9IChjb25maWcucGFyYW1zIHx8IFtdKS5tYXAocCA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgcHJvdmlkZTogUEFSQU1FVEVSLFxyXG4gICAgICAgICAgICB1c2VWYWx1ZTogcFxyXG4gICAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIC8vIENyZWF0ZSBqb2JzXHJcbiAgICBjb25zdCBqb2JQcm92aWRlcnMgPSAoY29uZmlnLmpvYnMgfHwgW10pLm1hcChqb2JUeXBlID0+IHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBwcm92aWRlOiBKT0IsXHJcbiAgICAgICAgICAgIHVzZVZhbHVlOiBqb2JUeXBlXHJcbiAgICAgICAgfTtcclxuICAgIH0pO1xyXG5cclxuICAgIC8vIFNldHVwIHJlc3QgQVBJXHJcbiAgICBjb25zdCByZXN0T3B0aW9ucyA9IGNvbmZpZy5yZXN0T3B0aW9ucyB8fCB7fTtcclxuICAgIHJlc3RPcHRpb25zLmRlZmF1bHRFcnJvckhhbmRsZXIgPSBmYWxzZTtcclxuICAgIHJlc3RPcHRpb25zLmNvcnMgPSBPYmplY3QuYXNzaWduKHtcclxuICAgICAgICBjcmVkZW50aWFsczogdHJ1ZSxcclxuICAgICAgICBleHBvc2VkSGVhZGVyczogW1wiY29udGVudC1kaXNwb3NpdGlvblwiXSxcclxuICAgICAgICBvcmlnaW46IChvcmlnaW4sIGNhbGxiYWNrKSA9PiB7XHJcbiAgICAgICAgICAgIGNhbGxiYWNrKG51bGwsIHRydWUpO1xyXG4gICAgICAgIH1cclxuICAgIH0sIHJlc3RPcHRpb25zLmNvcnMgfHwge30pO1xyXG4gICAgcmVzdE9wdGlvbnMucm91dGVQcmVmaXggPSBjb25maWcucm91dGVQcmVmaXggfHwgXCIvYXBpXCI7XHJcbiAgICByZXN0T3B0aW9ucy5yb3V0ZVByZWZpeCA9IHJlc3RPcHRpb25zLnJvdXRlUHJlZml4ID09IFwiL1wiID8gXCJcIiA6IHJlc3RPcHRpb25zLnJvdXRlUHJlZml4O1xyXG4gICAgcmVzdE9wdGlvbnMubWlkZGxld2FyZXMgPSBbRXJyb3JIYW5kbGVyTWlkZGxld2FyZSwgQ29udGFpbmVyTWlkZGxld2FyZSwgTGFuZ3VhZ2VNaWRkbGV3YXJlLCBSZXF1ZXN0U3RhcnRlZE1pZGRsZXdhcmUsIFJlcXVlc3RFbmRlZE1pZGRsZXdhcmVdXHJcbiAgICAgICAgLmNvbmNhdChyZXN0T3B0aW9ucy5taWRkbGV3YXJlcyBhcyBhbnkgfHwgW10pO1xyXG4gICAgcmVzdE9wdGlvbnMuY29udHJvbGxlcnMgPSBbQXNzZXRzQ29udHJvbGxlciwgQXV0aENvbnRyb2xsZXIsIEdhbGxlcnlDb250cm9sbGVyLCBQcm9ncmVzc2VzQ29udHJvbGxlcl1cclxuICAgICAgICAuY29uY2F0KHJlc3RPcHRpb25zLmNvbnRyb2xsZXJzIGFzIGFueSB8fCBbXSk7XHJcblxyXG4gICAgLy8gU2V0dXAgc29ja2V0IEFQSVxyXG4gICAgY29uc3Qgc29ja2V0T3B0aW9ucyA9IGNvbmZpZy5zb2NrZXRPcHRpb25zIHx8IHt9O1xyXG4gICAgc29ja2V0T3B0aW9ucy5taWRkbGV3YXJlcyA9IFtDb21wcmVzc2lvbk1pZGRsZXdhcmVdLmNvbmNhdChzb2NrZXRPcHRpb25zLm1pZGRsZXdhcmVzIGFzIGFueSB8fCBbXSk7XHJcbiAgICBzb2NrZXRPcHRpb25zLmNvbnRyb2xsZXJzID0gW1Byb2dyZXNzQ29udHJvbGxlcl0uY29uY2F0KHNvY2tldE9wdGlvbnMuY29udHJvbGxlcnMgYXMgYW55IHx8IFtdKTtcclxuXHJcbiAgICAvLyBDcmVhdGUgcHJvdmlkZXJzXHJcblxyXG4gICAgY29uc3QgYWxsUHJvdmlkZXJzOiBQcm92aWRlcjxhbnk+W10gPSBbXTtcclxuXHJcbiAgICAvLyBBZGQgbXVsdGkgdG9rZW5zIHRvIHN1YiBjb250YWluZXJcclxuICAgIFtQQVJBTUVURVJdLmZvckVhY2gocHJvdmlkZSA9PiB7XHJcbiAgICAgICAgY29uc3QgdmFsdWVzID0gcGFyZW50LnJlc29sdmVBbGwocHJvdmlkZSk7XHJcbiAgICAgICAgdmFsdWVzLmZvckVhY2godXNlVmFsdWUgPT4ge1xyXG4gICAgICAgICAgICBhbGxQcm92aWRlcnMucHVzaCh7cHJvdmlkZSwgdXNlVmFsdWV9KTtcclxuICAgICAgICB9KTtcclxuICAgIH0pO1xyXG5cclxuICAgIC8vIEFkZCBvdGhlciBwcm92aWRlcnNcclxuICAgIGFsbFByb3ZpZGVycy5wdXNoKFxyXG4gICAgICAgIC4uLmZpeHR1cmVUeXBlcyxcclxuICAgICAgICAuLi5maXh0dXJlUHJvdmlkZXJzLFxyXG4gICAgICAgIC4uLnBhcmFtUHJvdmlkZXJzLFxyXG4gICAgICAgIC4uLmpvYlByb3ZpZGVycyxcclxuICAgICAgICAuLi5yZXN0T3B0aW9ucy5taWRkbGV3YXJlcyBhcyBUeXBlPGFueT5bXSxcclxuICAgICAgICAuLi5yZXN0T3B0aW9ucy5jb250cm9sbGVycyBhcyBUeXBlPGFueT5bXSxcclxuICAgICAgICAuLi5zb2NrZXRPcHRpb25zLm1pZGRsZXdhcmVzIGFzIFR5cGU8YW55PltdLFxyXG4gICAgICAgIC4uLnNvY2tldE9wdGlvbnMuY29udHJvbGxlcnMgYXMgVHlwZTxhbnk+W10sXHJcbiAgICAgICAgLi4ucHJvdmlkZXJzLFxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgcHJvdmlkZTogRVhQUkVTUyxcclxuICAgICAgICAgICAgdXNlRmFjdG9yeTogKGNvbnRhaW5lcjogRGVwZW5kZW5jeUNvbnRhaW5lcikgPT4ge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRhaW5lci5yZXNvbHZlKEJhY2tlbmRQcm92aWRlcikuZXhwcmVzcztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICBwcm92aWRlOiBIVFRQX1NFUlZFUixcclxuICAgICAgICAgICAgdXNlRmFjdG9yeTogKGNvbnRhaW5lcjogRGVwZW5kZW5jeUNvbnRhaW5lcikgPT4ge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRhaW5lci5yZXNvbHZlKEJhY2tlbmRQcm92aWRlcikuc2VydmVyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIHByb3ZpZGU6IFNPQ0tFVF9TRVJWRVIsXHJcbiAgICAgICAgICAgIHVzZUZhY3Rvcnk6IChjb250YWluZXI6IERlcGVuZGVuY3lDb250YWluZXIpID0+IHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBjb250YWluZXIucmVzb2x2ZShCYWNrZW5kUHJvdmlkZXIpLmlvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgKVxyXG5cclxuICAgIC8vIENyZWF0ZSBESSBjb250YWluZXJcclxuXHJcbiAgICBjb25zdCBkaUNvbnRhaW5lciA9IHBhcmVudC5jcmVhdGVDaGlsZENvbnRhaW5lcigpO1xyXG5cclxuICAgIGFsbFByb3ZpZGVycy5mb3JFYWNoKHByb3ZpZGVyID0+IHtcclxuICAgICAgICBpZiAoaXNUeXBlKHByb3ZpZGVyKSkge1xyXG4gICAgICAgICAgICBpZiAoY29udGFpbmVyLmlzUmVnaXN0ZXJlZChwcm92aWRlcikpIHJldHVybjtcclxuICAgICAgICAgICAgZGlDb250YWluZXIucmVnaXN0ZXIocHJvdmlkZXIsIHByb3ZpZGVyKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBkaUNvbnRhaW5lci5yZWdpc3Rlcihwcm92aWRlci5wcm92aWRlLCBwcm92aWRlciBhcyBhbnkpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgZGlDb250YWluZXIucmVnaXN0ZXIoRElfQ09OVEFJTkVSLCB7XHJcbiAgICAgICAgdXNlVmFsdWU6IGRpQ29udGFpbmVyXHJcbiAgICB9KTtcclxuXHJcbiAgICBkaUNvbnRhaW5lcnMuYXBwQ29udGFpbmVyID0gZGlDb250YWluZXJzLmFwcENvbnRhaW5lciB8fCBkaUNvbnRhaW5lcjtcclxuXHJcbiAgICAvLyBBdXRoZW50aWNhdGlvblxyXG4gICAgcmVzdE9wdGlvbnMuYXV0aG9yaXphdGlvbkNoZWNrZXIgPSBhc3luYyAoYWN0aW9uOiBBY3Rpb24sIHJvbGVzOiBhbnlbXSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IHVzZXIgPSBhd2FpdCByZXNvbHZlVXNlcihkaUNvbnRhaW5lciwgYWN0aW9uLnJlcXVlc3QpO1xyXG4gICAgICAgIGlmICghdXNlcikge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgSHR0cEVycm9yKDQwMSwgXCJBdXRoZW50aWNhdGlvbiBmYWlsZWQuIChVc2VyIGNhbid0IGJlIGZvdW5kLilcIik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IHVzZXJSb2xlcyA9IEFycmF5LmlzQXJyYXkodXNlci5yb2xlcykgPyB1c2VyLnJvbGVzIDogW107XHJcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkocm9sZXMpICYmIHJvbGVzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgbGV0IGxhc3RFcnJvciA9IG51bGw7XHJcbiAgICAgICAgICAgIGZvciAobGV0IHJvbGUgb2Ygcm9sZXMpIHtcclxuICAgICAgICAgICAgICAgIGlmIChpc0Z1bmN0aW9uKHJvbGUpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGF3YWl0IHZhbHVlVG9Qcm9taXNlKHJvbGUodXNlciwgYWN0aW9uKSkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsYXN0RXJyb3IgPSBlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGlmICh1c2VyUm9sZXMuaW5kZXhPZihyb2xlKSA+PSAwKSByZXR1cm4gdHJ1ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBjb25zdCBlcnJvciA9ICFsYXN0RXJyb3IgfHwgKCFsYXN0RXJyb3IubWVzc2FnZSAmJiAhaXNTdHJpbmcobGFzdEVycm9yKSlcclxuICAgICAgICAgICAgICAgID8gXCJVc2VyIGRvZXNuJ3QgaGF2ZSBhY2Nlc3MgdG8gdGhpcyByZXNvdXJjZVwiXHJcbiAgICAgICAgICAgICAgICA6IGxhc3RFcnJvci5tZXNzYWdlIHx8IGxhc3RFcnJvcjtcclxuICAgICAgICAgICAgdGhyb3cgbmV3IEh0dHBFcnJvcig0MDEsIGBBdXRoZW50aWNhdGlvbiBmYWlsZWQuICgke2Vycm9yfSlgKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9O1xyXG4gICAgcmVzdE9wdGlvbnMuY3VycmVudFVzZXJDaGVja2VyID0gYXN5bmMgKGFjdGlvbjogQWN0aW9uKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHJlc29sdmVVc2VyKGRpQ29udGFpbmVyLCBhY3Rpb24ucmVxdWVzdCk7XHJcbiAgICB9O1xyXG5cclxuICAgIC8vIEZpbmFsIHNldHVwXHJcbiAgICBjb25zdCBjb25maWd1cmF0aW9uID0gZGlDb250YWluZXIucmVzb2x2ZShDb25maWd1cmF0aW9uKTtcclxuICAgIGNvbnN0IGJwID0gZGlDb250YWluZXIucmVzb2x2ZShCYWNrZW5kUHJvdmlkZXIpO1xyXG5cclxuICAgIGlmIChjb25maWcucmVzdE9wdGlvbnMpIHtcclxuICAgICAgICBicC5leHByZXNzLnVzZShqc29uKHtcclxuICAgICAgICAgICAgbGltaXQ6IGNvbmZpZ3VyYXRpb24uaGFzUGFyYW0oXCJqc29uTGltaXRcIilcclxuICAgICAgICAgICAgICAgID8gY29uZmlndXJhdGlvbi5yZXNvbHZlKFwianNvbkxpbWl0XCIpXHJcbiAgICAgICAgICAgICAgICA6IFwiMjUwbWJcIlxyXG4gICAgICAgIH0pKTtcclxuICAgICAgICB1c2VSb3V0aW5nQ29udGFpbmVyKGRpQ29udGFpbmVyKTtcclxuICAgICAgICB1c2VFeHByZXNzU2VydmVyKGJwLmV4cHJlc3MsIHJlc3RPcHRpb25zKTtcclxuICAgICAgICAvLyBTZXR1cCByZXN0IGFpIGRvY3NcclxuICAgICAgICBicC5leHByZXNzLmdldChcIi9hcGktZG9jc1wiLCAocmVxLCByZXMpID0+IHtcclxuICAgICAgICAgICAgcmVzLnN0YXR1cygyMDApLmVuZChnZXRBcGlEb2NzKGNvbmZpZy5jdXN0b21WYWxpZGF0aW9uKSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBpZiAoY29uZmlnLnNvY2tldE9wdGlvbnMpIHtcclxuICAgICAgICB1c2VTb2NrZXRDb250YWluZXIoZGlDb250YWluZXIpO1xyXG4gICAgICAgIHVzZVNvY2tldFNlcnZlcihicC5pbywgc29ja2V0T3B0aW9ucyk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gQ29ubmVjdCB0byBtb25nbyBpZiBuZWNlc3NhcnlcclxuICAgIGlmIChjb25maWd1cmF0aW9uLmhhc1BhcmFtKFwibW9uZ29VcmlcIikgJiYgY29uZmlndXJhdGlvbi5yZXNvbHZlKFwibW9uZ29VcmlcIikpIHtcclxuICAgICAgICBjb25zb2xlLmxvZyhcIkNvbm5lY3RpbmcgdG8gTW9uZ29EQi4uLlwiKTtcclxuICAgICAgICBjb25zdCBjb25uZWN0b3IgPSBkaUNvbnRhaW5lci5yZXNvbHZlKE1vbmdvQ29ubmVjdG9yKTtcclxuICAgICAgICBhd2FpdCBjb25uZWN0b3IuY29ubmVjdCgpO1xyXG4gICAgICAgIGNvbnNvbGUubG9nKFwiU3VjY2Vzc2Z1bGx5IGNvbm5lY3RlZCB0byBNb25nb0RCLlwiKTtcclxuICAgIH1cclxuXHJcbiAgICBhd2FpdCBzZXR1cFN0YXRpYyhjb25maWcucm9vdEZvbGRlciwgZGlDb250YWluZXIpO1xyXG5cclxuICAgIHJldHVybiBkaUNvbnRhaW5lcjtcclxufVxyXG4iXX0=
|
|
334
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDMUIsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLGFBQWEsQ0FBQztBQUNqQyxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQ3BDLE9BQU8sRUFBQyxTQUFTLEVBQXNCLE1BQU0sVUFBVSxDQUFDO0FBQ3hELE9BQU8sRUFBUyxTQUFTLEVBQUUsWUFBWSxJQUFJLG1CQUFtQixFQUFFLGdCQUFnQixFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDN0csT0FBTyxFQUFDLFlBQVksSUFBSSxrQkFBa0IsRUFBRSxlQUFlLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUV2RixPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFMUMsT0FBTyxFQUNILFlBQVksRUFDWixPQUFPLEVBQ1AsT0FBTyxFQUNQLFdBQVcsRUFNWCxHQUFHLEVBQ0gsU0FBUyxFQUNULFNBQVMsRUFFVCxhQUFhLEVBRWhCLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQzFELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUN4RCxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDekMsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQzVELE9BQU8sRUFBQyxLQUFLLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUN2QyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDMUQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZELE9BQU8sRUFB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QUFDLEdBQUcsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1lBQ3hDLE1BQU0sU0FBUyxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDdEQsTUFBTSxTQUFTLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDMUIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO1NBQ3JEO1FBRUQsTUFBTSxXQUFXLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUVsRCxPQUFPLFdBQVcsQ0FBQztJQUN2QixDQUFDO0NBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2pvaW59IGZyb20gXCJwYXRoXCI7XHJcbmltcG9ydCB7anNvbn0gZnJvbSBcImJvZHktcGFyc2VyXCI7XHJcbmltcG9ydCB7dmVyaWZ5fSBmcm9tIFwianNvbndlYnRva2VuXCI7XHJcbmltcG9ydCB7Y29udGFpbmVyLCBEZXBlbmRlbmN5Q29udGFpbmVyfSBmcm9tIFwidHN5cmluZ2VcIjtcclxuaW1wb3J0IHtBY3Rpb24sIEh0dHBFcnJvciwgdXNlQ29udGFpbmVyIGFzIHVzZVJvdXRpbmdDb250YWluZXIsIHVzZUV4cHJlc3NTZXJ2ZXJ9IGZyb20gXCJyb3V0aW5nLWNvbnRyb2xsZXJzXCI7XHJcbmltcG9ydCB7dXNlQ29udGFpbmVyIGFzIHVzZVNvY2tldENvbnRhaW5lciwgdXNlU29ja2V0U2VydmVyfSBmcm9tIFwic29ja2V0LWNvbnRyb2xsZXJzXCI7XHJcblxyXG5pbXBvcnQge2dldEFwaURvY3N9IGZyb20gXCIuL3Jlc3Qtb3BlbmFwaVwiO1xyXG5cclxuaW1wb3J0IHtcclxuICAgIERJX0NPTlRBSU5FUixcclxuICAgIEVYUFJFU1MsXHJcbiAgICBGSVhUVVJFLFxyXG4gICAgSFRUUF9TRVJWRVIsXHJcbiAgICBJQmFja2VuZENvbmZpZyxcclxuICAgIElEZXBlbmRlbmN5Q29udGFpbmVyLFxyXG4gICAgSVBhZ2luYXRpb25QYXJhbXMsXHJcbiAgICBJUmVxdWVzdCxcclxuICAgIElVc2VyLFxyXG4gICAgSk9CLFxyXG4gICAgUGFyYW1ldGVyLFxyXG4gICAgUEFSQU1FVEVSLFxyXG4gICAgUHJvdmlkZXIsXHJcbiAgICBTT0NLRVRfU0VSVkVSLFxyXG4gICAgVHlwZVxyXG59IGZyb20gXCIuL2NvbW1vbi10eXBlc1wiO1xyXG5cclxuaW1wb3J0IHtBc3NldFByb2Nlc3Nvcn0gZnJvbSBcIi4vc2VydmljZXMvYXNzZXQtcHJvY2Vzc29yXCI7XHJcbmltcG9ydCB7QXNzZXRSZXNvbHZlcn0gZnJvbSBcIi4vc2VydmljZXMvYXNzZXQtcmVzb2x2ZXJcIjtcclxuaW1wb3J0IHtBc3NldHN9IGZyb20gXCIuL3NlcnZpY2VzL2Fzc2V0c1wiO1xyXG5pbXBvcnQge0JhY2tlbmRQcm92aWRlcn0gZnJvbSBcIi4vc2VydmljZXMvYmFja2VuZC1wcm92aWRlclwiO1xyXG5pbXBvcnQge0NhY2hlfSBmcm9tIFwiLi9zZXJ2aWNlcy9jYWNoZVwiO1xyXG5pbXBvcnQge0NhY2hlUHJvY2Vzc29yfSBmcm9tIFwiLi9zZXJ2aWNlcy9jYWNoZS1wcm9jZXNzb3JcIjtcclxuaW1wb3J0IHtDb25maWd1cmF0aW9ufSBmcm9tIFwiLi9zZXJ2aWNlcy9jb25maWd1cmF0aW9uXCI7XHJcbmltcG9ydCB7RW5kcG9pbnRQcm92aWRlcn0gZnJvbSBcIi4vc2VydmljZXMvZW5kcG9pbnQtcHJvdmlkZXJcIjtcclxuaW1wb3J0IHtGaXh0dXJlc30gZnJvbSBcIi4vc2VydmljZXMvZml4dHVyZXNcIjtcclxuaW1wb3J0IHtHYWxsZXJ5fSBmcm9tIFwiLi9zZXJ2aWNlcy9nYWxsZXJ5XCI7XHJcbmltcG9ydCB7R2FsbGVyeUNhY2hlfSBmcm9tIFwiLi9zZXJ2aWNlcy9nYWxsZXJ5LWNhY2hlXCI7XHJcbmltcG9ydCB7SWRHZW5lcmF0b3J9IGZyb20gXCIuL3NlcnZpY2VzL2lkLWdlbmVyYXRvclwiO1xyXG5pbXBvcnQge0pvYk1hbmFnZXJ9IGZyb20gXCIuL3NlcnZpY2VzL2pvYi1tYW5hZ2VyXCI7XHJcbmltcG9ydCB7TGF6eUFzc2V0c30gZnJvbSBcIi4vc2VydmljZXMvbGF6eS1hc3NldHNcIjtcclxuaW1wb3J0IHtNYWlsU2VuZGVyfSBmcm9tIFwiLi9zZXJ2aWNlcy9tYWlsLXNlbmRlclwiO1xyXG5pbXBvcnQge01lbW9yeUNhY2hlfSBmcm9tIFwiLi9zZXJ2aWNlcy9tZW1vcnktY2FjaGVcIjtcclxuaW1wb3J0IHtNb25nb0Nvbm5lY3Rvcn0gZnJvbSBcIi4vc2VydmljZXMvbW9uZ28tY29ubmVjdG9yXCI7XHJcbmltcG9ydCB7UHJvZ3Jlc3Nlc30gZnJvbSBcIi4vc2VydmljZXMvcHJvZ3Jlc3Nlc1wiO1xyXG5pbXBvcnQge1RlbXBsYXRlUmVuZGVyZXJ9IGZyb20gXCIuL3NlcnZpY2VzL3RlbXBsYXRlLXJlbmRlcmVyXCI7XHJcbmltcG9ydCB7VHJhbnNsYXRpb25Qcm92aWRlcn0gZnJvbSBcIi4vc2VydmljZXMvdHJhbnNsYXRpb24tcHJvdmlkZXJcIjtcclxuaW1wb3J0IHtUcmFuc2xhdG9yfSBmcm9tIFwiLi9zZXJ2aWNlcy90cmFuc2xhdG9yXCI7XHJcbmltcG9ydCB7VXNlck1hbmFnZXJ9IGZyb20gXCIuL3NlcnZpY2VzL3VzZXItbWFuYWdlclwiO1xyXG5cclxuaW1wb3J0IHtBc3NldHNDb250cm9sbGVyfSBmcm9tIFwiLi9yZXN0LWNvbnRyb2xsZXJzL2Fzc2V0cy5jb250cm9sbGVyXCI7XHJcbmltcG9ydCB7QXV0aENvbnRyb2xsZXJ9IGZyb20gXCIuL3Jlc3QtY29udHJvbGxlcnMvYXV0aC5jb250cm9sbGVyXCI7XHJcbmltcG9ydCB7R2FsbGVyeUNvbnRyb2xsZXJ9IGZyb20gXCIuL3Jlc3QtY29udHJvbGxlcnMvZ2FsbGVyeS5jb250cm9sbGVyXCI7XHJcbmltcG9ydCB7UHJvZ3Jlc3Nlc0NvbnRyb2xsZXJ9IGZyb20gXCIuL3Jlc3QtY29udHJvbGxlcnMvcHJvZ3Jlc3Nlcy5jb250cm9sbGVyXCI7XHJcblxyXG5pbXBvcnQge0Vycm9ySGFuZGxlck1pZGRsZXdhcmV9IGZyb20gXCIuL3Jlc3QtbWlkZGxld2FyZXMvZXJyb3ItaGFuZGxlci5taWRkbGV3YXJlXCI7XHJcbmltcG9ydCB7Q29udGFpbmVyTWlkZGxld2FyZX0gZnJvbSBcIi4vcmVzdC1taWRkbGV3YXJlcy9jb250YWluZXIubWlkZGxld2FyZVwiO1xyXG5pbXBvcnQge0xhbmd1YWdlTWlkZGxld2FyZX0gZnJvbSBcIi4vcmVzdC1taWRkbGV3YXJlcy9sYW5ndWFnZS5taWRkbGV3YXJlXCI7XHJcbmltcG9ydCB7UmVxdWVzdEVuZGVkTWlkZGxld2FyZX0gZnJvbSBcIi4vcmVzdC1taWRkbGV3YXJlcy9yZXF1ZXN0LWVuZGVkLm1pZGRsZXdhcmVcIjtcclxuaW1wb3J0IHtSZXF1ZXN0U3RhcnRlZE1pZGRsZXdhcmV9IGZyb20gXCIuL3Jlc3QtbWlkZGxld2FyZXMvcmVxdWVzdC1zdGFydGVkLm1pZGRsZXdhcmVcIjtcclxuXHJcbmltcG9ydCB7UHJvZ3Jlc3NDb250cm9sbGVyfSBmcm9tIFwiLi9zb2NrZXQtY29udHJvbGxlcnMvcHJvZ3Jlc3MuY29udHJvbGxlclwiO1xyXG5cclxuaW1wb3J0IHtDb21wcmVzc2lvbk1pZGRsZXdhcmV9IGZyb20gXCIuL3NvY2tldC1taWRkbGV3YXJlcy9jb21wcmVzc2lvbi5taWRkbGV3YXJlXCI7XHJcbmltcG9ydCB7ZGlDb250YWluZXJzLCBpc0Z1bmN0aW9uLCBpc1N0cmluZywgaXNUeXBlLCB2YWx1ZVRvUHJvbWlzZX0gZnJvbSBcIi4vdXRpbHNcIjtcclxuaW1wb3J0IHtzZXR1cFN0YXRpY30gZnJvbSBcIi4vc3RhdGljXCI7XHJcblxyXG5leHBvcnQge1xyXG4gICAgRmlsdGVyUHJlZGljYXRlLFxyXG4gICAgaXNOdWxsT3JVbmRlZmluZWQsXHJcbiAgICBpc0RlZmluZWQsXHJcbiAgICBnZXRUeXBlLFxyXG4gICAgaXNPYmplY3QsXHJcbiAgICBpc0FycmF5LFxyXG4gICAgaXNCb29sZWFuLFxyXG4gICAgaXNEYXRlLFxyXG4gICAgaXNQcmltaXRpdmUsXHJcbiAgICBpc1N0cmluZyxcclxuICAgIGlzRnVuY3Rpb24sXHJcbiAgICBpc0NvbnN0cnVjdG9yLFxyXG4gICAgaXNUeXBlLFxyXG4gICAgaXNJbnRlcmZhY2UsXHJcbiAgICB1Y0ZpcnN0LFxyXG4gICAgbGNGaXJzdCxcclxuICAgIGlzT2JqZWN0SWQsXHJcbiAgICBmaXJzdEl0ZW0sXHJcbiAgICBsYXN0SXRlbSxcclxuICAgIHJlZ3JvdXAsXHJcbiAgICB1bmlxdWVJdGVtcyxcclxuICAgIGdldFZhbHVlLFxyXG4gICAgZ3JvdXBCeSxcclxuICAgIGNvbnZlcnRWYWx1ZSxcclxuICAgIHRvSW1hZ2UsXHJcbiAgICBidWZmZXJUb1N0cmVhbSxcclxuICAgIHN0cmVhbVRvQnVmZmVyLFxyXG4gICAgY29weVN0cmVhbSxcclxuICAgIG1rZGlyUmVjdXJzaXZlLFxyXG4gICAgZGVsZXRlRmlsZSxcclxuICAgIHJlYWRGaWxlLFxyXG4gICAgcmVhZEFuZERlbGV0ZUZpbGUsXHJcbiAgICB3cml0ZUZpbGUsXHJcbiAgICB2YWx1ZVRvUHJvbWlzZSxcclxuICAgIHByb21pc2VUaW1lb3V0LFxyXG4gICAgZ2V0Q29uc3RydWN0b3JOYW1lLFxyXG4gICAgZ2V0RnVuY3Rpb25QYXJhbXMsXHJcbiAgICBnZXRGaWxlTmFtZSxcclxuICAgIGdldEV4dGVuc2lvbixcclxuICAgIGlkVG9TdHJpbmcsXHJcbiAgICBjcmVhdGVUcmFuc2Zvcm1lcixcclxuICAgIGJyb2FkY2FzdCxcclxuICAgIHJhbmQsXHJcbiAgICByYW5kb20sXHJcbiAgICBtdWx0aVN1YnNjcmlwdGlvbixcclxuICAgIG9ic2VydmFibGVGcm9tRnVuY3Rpb24sXHJcbiAgICBwYWRMZWZ0LFxyXG4gICAgcGFkUmlnaHQsXHJcbiAgICBkZWxldGVGcm9tQnVja2V0LFxyXG4gICAgZmlsdGVyLFxyXG4gICAgY29weSxcclxuICAgIGFzc2lnbixcclxuICAgIG1kNSxcclxuICAgIHJ1bkNvbW1hbmQsXHJcbiAgICBDb25zb2xlQ29sb3IsXHJcbiAgICBJSnNvbkNvbG9ycyxcclxuICAgIGNvbG9yaXplLFxyXG4gICAganNvbkhpZ2hsaWdodCxcclxuICAgIHJlcGxhY2VTcGVjaWFsQ2hhcnNcclxufSBmcm9tIFwiLi91dGlsc1wiO1xyXG5cclxuZXhwb3J0IHtJc0ZpbGUsIElzT2JqZWN0SWR9IGZyb20gXCIuL3ZhbGlkYXRvcnNcIjtcclxuXHJcbmV4cG9ydCB7XHJcbiAgICBGSVhUVVJFLFxyXG4gICAgSk9CLFxyXG4gICAgRVhQUkVTUyxcclxuICAgIEhUVFBfU0VSVkVSLFxyXG4gICAgU09DS0VUX1NFUlZFUixcclxuICAgIFBBUkFNRVRFUixcclxuICAgIERJX0NPTlRBSU5FUixcclxuICAgIFR5cGUsXHJcbiAgICBGYWN0b3J5UHJvdmlkZXIsXHJcbiAgICBJRGVwZW5kZW5jeUNvbnRhaW5lcixcclxuICAgIENsYXNzQmFzZWRQcm92aWRlcixcclxuICAgIFZhbHVlQmFzZWRQcm92aWRlcixcclxuICAgIEZhY3RvcnlCYXNlZFByb3ZpZGVyLFxyXG4gICAgVG9rZW5CYXNlZFByb3ZpZGVyLFxyXG4gICAgU3lyaW5nZVByb3ZpZGVyLFxyXG4gICAgUHJvdmlkZXIsXHJcbiAgICBDb25zdHJ1Y3RvcixcclxuICAgIEluZmVyR2VuZXJpYyxcclxuICAgIFBpY2tNYXRjaGluZyxcclxuICAgIE9taXRGaXJzdEFyZyxcclxuICAgIElNYXRjaEZpZWxkLFxyXG4gICAgSVByb2plY3RPcHRpb25zLFxyXG4gICAgSVVud2luZE9wdGlvbnMsXHJcbiAgICBJRml4dHVyZSxcclxuICAgIFNjaGVtYUNvbnZlcnRlcixcclxuICAgIFBhcmFtUmVzb2x2ZXIsXHJcbiAgICBQYXJhbWV0ZXIsXHJcbiAgICBTb2NrZXRQYXJhbSxcclxuICAgIFNvY2tldFBhcmFtcyxcclxuICAgIElTb2NrZXRNZXNzYWdlLFxyXG4gICAgSU1lc3NhZ2VCcmlkZ2UsXHJcbiAgICBJSm9iLFxyXG4gICAgSUpvYlRhc2ssXHJcbiAgICBKb2JQYXJhbXMsXHJcbiAgICBKb2JTY2hlZHVsZVJhbmdlLFxyXG4gICAgSm9iU2NoZWR1bGVUaW1lLFxyXG4gICAgSVByb2dyZXNzLFxyXG4gICAgSUFzc2V0Q3JvcEluZm8sXHJcbiAgICBJQXNzZXRNZXRhLFxyXG4gICAgSUFzc2V0SW1hZ2VQYXJhbXMsXHJcbiAgICBJQXNzZXQsXHJcbiAgICBJTGF6eUFzc2V0LFxyXG4gICAgSVVzZXIsXHJcbiAgICBJQ2xpZW50U29ja2V0LFxyXG4gICAgSVJlcXVlc3RCYXNlLFxyXG4gICAgSVJlcXVlc3QsXHJcbiAgICBJR2FsbGVyeUltYWdlLFxyXG4gICAgSUdhbGxlcnlTaXplLFxyXG4gICAgSUdhbGxlcnlJbWFnZUhhbmRsZXIsXHJcbiAgICBJVHJhbnNsYXRpb25zLFxyXG4gICAgSVBhZ2luYXRpb25NZXRhLFxyXG4gICAgSVBhZ2luYXRpb25CYXNlLFxyXG4gICAgSVBhZ2luYXRpb24sXHJcbiAgICBJUGFnaW5hdGlvblBhcmFtcyxcclxuICAgIEZvbnRGb3JtYXQsXHJcbiAgICBJRmlsZVR5cGUsXHJcbiAgICBJQmFja2VuZENvbmZpZ1xyXG59IGZyb20gXCIuL2NvbW1vbi10eXBlc1wiO1xyXG5cclxuZXhwb3J0IHtBc3NldFByb2Nlc3Nvcn0gZnJvbSBcIi4vc2VydmljZXMvYXNzZXQtcHJvY2Vzc29yXCI7XHJcbmV4cG9ydCB7QXNzZXRSZXNvbHZlcn0gZnJvbSBcIi4vc2VydmljZXMvYXNzZXQtcmVzb2x2ZXJcIjtcclxuZXhwb3J0IHtBc3NldHN9IGZyb20gXCIuL3NlcnZpY2VzL2Fzc2V0c1wiO1xyXG5leHBvcnQge0JhY2tlbmRQcm92aWRlcn0gZnJvbSBcIi4vc2VydmljZXMvYmFja2VuZC1wcm92aWRlclwiO1xyXG5leHBvcnQge0NhY2hlfSBmcm9tIFwiLi9zZXJ2aWNlcy9jYWNoZVwiO1xyXG5leHBvcnQge0NhY2hlUHJvY2Vzc29yfSBmcm9tIFwiLi9zZXJ2aWNlcy9jYWNoZS1wcm9jZXNzb3JcIjtcclxuZXhwb3J0IHtDb25maWd1cmF0aW9ufSBmcm9tIFwiLi9zZXJ2aWNlcy9jb25maWd1cmF0aW9uXCI7XHJcbmV4cG9ydCB7RW5kcG9pbnRQcm92aWRlcn0gZnJvbSBcIi4vc2VydmljZXMvZW5kcG9pbnQtcHJvdmlkZXJcIjtcclxuZXhwb3J0IHtGaXh0dXJlc30gZnJvbSBcIi4vc2VydmljZXMvZml4dHVyZXNcIjtcclxuZXhwb3J0IHtHYWxsZXJ5fSBmcm9tIFwiLi9zZXJ2aWNlcy9nYWxsZXJ5XCI7XHJcbmV4cG9ydCB7R2FsbGVyeUNhY2hlfSBmcm9tIFwiLi9zZXJ2aWNlcy9nYWxsZXJ5LWNhY2hlXCI7XHJcbmV4cG9ydCB7SWRHZW5lcmF0b3J9IGZyb20gXCIuL3NlcnZpY2VzL2lkLWdlbmVyYXRvclwiO1xyXG5leHBvcnQge0pvYk1hbmFnZXJ9IGZyb20gXCIuL3NlcnZpY2VzL2pvYi1tYW5hZ2VyXCI7XHJcbmV4cG9ydCB7TGF6eUFzc2V0c30gZnJvbSBcIi4vc2VydmljZXMvbGF6eS1hc3NldHNcIjtcclxuZXhwb3J0IHtNYWlsU2VuZGVyfSBmcm9tIFwiLi9zZXJ2aWNlcy9tYWlsLXNlbmRlclwiO1xyXG5leHBvcnQge01lbW9yeUNhY2hlfSBmcm9tIFwiLi9zZXJ2aWNlcy9tZW1vcnktY2FjaGVcIjtcclxuZXhwb3J0IHtNb25nb0Nvbm5lY3Rvcn0gZnJvbSBcIi4vc2VydmljZXMvbW9uZ28tY29ubmVjdG9yXCI7XHJcbmV4cG9ydCB7UHJvZ3Jlc3Nlc30gZnJvbSBcIi4vc2VydmljZXMvcHJvZ3Jlc3Nlc1wiO1xyXG5leHBvcnQge1RlbXBsYXRlUmVuZGVyZXJ9IGZyb20gXCIuL3NlcnZpY2VzL3RlbXBsYXRlLXJlbmRlcmVyXCI7XHJcbmV4cG9ydCB7VHJhbnNsYXRpb25Qcm92aWRlcn0gZnJvbSBcIi4vc2VydmljZXMvdHJhbnNsYXRpb24tcHJvdmlkZXJcIjtcclxuZXhwb3J0IHtUcmFuc2xhdG9yfSBmcm9tIFwiLi9zZXJ2aWNlcy90cmFuc2xhdG9yXCI7XHJcbmV4cG9ydCB7VXNlck1hbmFnZXJ9IGZyb20gXCIuL3NlcnZpY2VzL3VzZXItbWFuYWdlclwiO1xyXG5cclxuZXhwb3J0IHtBc3NldEltYWdlUGFyYW1zfSBmcm9tIFwiLi9yZXF1ZXN0cy9hc3NldC1pbWFnZS1wYXJhbXNcIjtcclxuXHJcbmV4cG9ydCB7QXV0aENvbnRyb2xsZXJ9IGZyb20gXCIuL3Jlc3QtY29udHJvbGxlcnMvYXV0aC5jb250cm9sbGVyXCI7XHJcbmV4cG9ydCB7R2FsbGVyeUNvbnRyb2xsZXJ9IGZyb20gXCIuL3Jlc3QtY29udHJvbGxlcnMvZ2FsbGVyeS5jb250cm9sbGVyXCI7XHJcblxyXG5leHBvcnQge0Vycm9ySGFuZGxlck1pZGRsZXdhcmV9IGZyb20gXCIuL3Jlc3QtbWlkZGxld2FyZXMvZXJyb3ItaGFuZGxlci5taWRkbGV3YXJlXCI7XHJcbmV4cG9ydCB7TGFuZ3VhZ2VNaWRkbGV3YXJlfSBmcm9tIFwiLi9yZXN0LW1pZGRsZXdhcmVzL2xhbmd1YWdlLm1pZGRsZXdhcmVcIjtcclxuXHJcbmV4cG9ydCB7QmFzZURvYywgRG9jdW1lbnRBcnJheSwgUHJpbWl0aXZlQXJyYXl9IGZyb20gXCIuL3V0aWxpdGllcy9iYXNlLWRvY1wiO1xyXG5pbXBvcnQge0RpQ29udGFpbmVyfSBmcm9tIFwiLi91dGlsaXRpZXMvZGktY29udGFpbmVyXCI7XHJcbmV4cG9ydCB7TGF6eUFzc2V0R2VuZXJhdG9yfSBmcm9tIFwiLi91dGlsaXRpZXMvbGF6eS1hc3NldC1nZW5lcmF0b3JcIjtcclxuZXhwb3J0IHtcclxuICAgIFJlc29sdmVFbnRpdHksXHJcbiAgICBwYWdpbmF0ZUFnZ3JlZ2F0aW9ucyxcclxuICAgIGh5ZHJhdGVQb3B1bGF0ZWQsXHJcbiAgICB1bndpbmRTdGFnZSxcclxuICAgIHByb2plY3RTdGFnZSxcclxuICAgIG1hdGNoRmllbGRTdGFnZXMsXHJcbiAgICBtYXRjaEZpZWxkLFxyXG4gICAgbWF0Y2hTdGFnZSxcclxuICAgIGxldHNMb29rdXBTdGFnZSxcclxuICAgIGxvb2t1cFN0YWdlcyxcclxuICAgIHBhZ2luYXRlLFxyXG4gICAgaW5qZWN0U2VydmljZXMsXHJcbiAgICBzZXJ2aWNlXHJcbn0gZnJvbSBcIi4vdXRpbGl0aWVzL21vbmdvb3NlXCI7XHJcblxyXG5hc3luYyBmdW5jdGlvbiByZXNvbHZlVXNlcihjb250YWluZXI6IERlcGVuZGVuY3lDb250YWluZXIsIHJlcTogSVJlcXVlc3QpOiBQcm9taXNlPElVc2VyPiB7XHJcbiAgICBpZiAocmVxLnVzZXIpIHJldHVybiByZXEudXNlcjtcclxuICAgIGNvbnN0IGF1dGggPSByZXEuaGVhZGVyKFwiQXV0aG9yaXphdGlvblwiKSB8fCBcIlwiO1xyXG4gICAgbGV0IHBheWxvYWQgPSBudWxsO1xyXG4gICAgdHJ5IHtcclxuICAgICAgICBjb25zdCBjb25maWcgPSBjb250YWluZXIucmVzb2x2ZShDb25maWd1cmF0aW9uKTtcclxuICAgICAgICBwYXlsb2FkID0gdmVyaWZ5KGF1dGguc3BsaXQoXCIgXCIpWzFdLCBjb25maWcucmVzb2x2ZShcImp3dFNlY3JldFwiKSkgYXMgYW55O1xyXG4gICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAgIHRocm93IG5ldyBIdHRwRXJyb3IoNDAxLCBgQXV0aGVudGljYXRpb24gZmFpbGVkLiAoJHtlLm1lc3NhZ2V9KWApO1xyXG4gICAgfVxyXG4gICAgaWYgKCFwYXlsb2FkKSB7XHJcbiAgICAgICAgdGhyb3cgbmV3IEh0dHBFcnJvcig0MDEsIGBBdXRoZW50aWNhdGlvbiBmYWlsZWQuIChNYXliZSBpbnZhbGlkIHRva2VuKWApO1xyXG4gICAgfVxyXG4gICAgcmVxLnVzZXIgPSBhd2FpdCBjb250YWluZXIucmVzb2x2ZShVc2VyTWFuYWdlcikuZ2V0QnlJZChwYXlsb2FkLmlkKTtcclxuICAgIHJldHVybiByZXEudXNlcjtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVNlcnZpY2VzKCk6IElEZXBlbmRlbmN5Q29udGFpbmVyIHtcclxuICAgIC8vIExpc3Qgb2YgcGFyYW1ldGVyc1xyXG4gICAgY29uc3QgcGFyYW1zID0gW1xyXG4gICAgICAgIG5ldyBQYXJhbWV0ZXIoXCJ0ZW1wbGF0ZXNEaXJcIiwgam9pbihfX2Rpcm5hbWUsIFwidGVtcGxhdGVzXCIpKSxcclxuICAgICAgICBuZXcgUGFyYW1ldGVyKFwiZ2FsbGVyeURpclwiLCBqb2luKF9fZGlybmFtZSwgXCJnYWxsZXJ5XCIpKSxcclxuICAgICAgICBuZXcgUGFyYW1ldGVyKFwiY2FjaGVEaXJcIiwgam9pbihfX2Rpcm5hbWUsIFwiY2FjaGVcIikpLFxyXG4gICAgICAgIG5ldyBQYXJhbWV0ZXIoXCJkZWZhdWx0TGFuZ3VhZ2VcIiwgXCJlblwiKSxcclxuICAgICAgICBuZXcgUGFyYW1ldGVyKFwic210cEhvc3RcIiwgXCJzbXRwLnNlbmRncmlkLm5ldFwiKSxcclxuICAgICAgICBuZXcgUGFyYW1ldGVyKFwic210cFBvcnRcIiwgNTg3KSxcclxuICAgICAgICBuZXcgUGFyYW1ldGVyKFwic210cFVzZXJcIiwgXCJhcGlrZXlcIiksXHJcbiAgICAgICAgbmV3IFBhcmFtZXRlcihcInNtdHBQYXNzd29yZFwiLCBcIlwiKSxcclxuICAgICAgICBuZXcgUGFyYW1ldGVyKFwibWFpbFNlbmRlckFkZHJlc3NcIiwgXCJpbmZvQHN0ZW15Lmh1XCIpLFxyXG4gICAgICAgIG5ldyBQYXJhbWV0ZXIoXCJ0cmFuc2xhdGlvbnNUZW1wbGF0ZVwiLCBcImh0dHBzOi8vdHJhbnNsYXRpb24uc2VydmljZS9bbGFuZ11cIiksXHJcbiAgICAgICAgbmV3IFBhcmFtZXRlcihcImp3dFNlY3JldFwiLCBcImV5SjBlWEFpT2lKS1YxUWlMQ0poYkdjaU9pSlNVekkxTmlKOVwiKSxcclxuICAgICAgICBuZXcgUGFyYW1ldGVyKFwibW9uZ29VcmlcIiwgXCJcIiksXHJcbiAgICAgICAgbmV3IFBhcmFtZXRlcihcIm1vbmdvRGJcIiwgXCJub2RlLWJhY2tlbmRcIiksXHJcbiAgICAgICAgbmV3IFBhcmFtZXRlcihcIm1vbmdvVXNlclwiLCBudWxsKSxcclxuICAgICAgICBuZXcgUGFyYW1ldGVyKFwibW9uZ29QYXNzd29yZFwiLCBudWxsKSxcclxuICAgICAgICBuZXcgUGFyYW1ldGVyKFwibm9kZUVudlwiLCBcInByb2R1Y3Rpb25cIiksXHJcbiAgICAgICAgbmV3IFBhcmFtZXRlcihcImFwcFBvcnRcIiwgODApLFxyXG4gICAgICAgIG5ldyBQYXJhbWV0ZXIoXCJ6bXFQb3J0XCIsIDMwMDApLFxyXG4gICAgICAgIG5ldyBQYXJhbWV0ZXIoXCJ6bXFCYWNrUG9ydFwiLCAzMTAwKSxcclxuICAgICAgICBuZXcgUGFyYW1ldGVyKFwiem1xUmVtb3RlSG9zdFwiLCBcInRjcDovLzEyNy4wLjAuMVwiKSxcclxuICAgICAgICBuZXcgUGFyYW1ldGVyKFwiaXNXb3JrZXJcIiwgZmFsc2UpLFxyXG4gICAgICAgIG5ldyBQYXJhbWV0ZXIoXCJtYWluRW5kcG9pbnRcIiwgXCJcIiksXHJcbiAgICAgICAgbmV3IFBhcmFtZXRlcihcImlkQ2hhcnNcIiwgXCIwMTIzNDU2Nzg5QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpcIiksXHJcbiAgICAgICAgbmV3IFBhcmFtZXRlcihcImlkU2VwYXJhdG9yXCIsIFwiLVwiKSxcclxuICAgICAgICBuZXcgUGFyYW1ldGVyKFwiaWRQcmVmaXhcIiwgXCJJRC1cIiksXHJcbiAgICAgICAgbmV3IFBhcmFtZXRlcihcImlkUGFydHNcIiwgWzQsIDRdKSxcclxuICAgICAgICBuZXcgUGFyYW1ldGVyKFwianNvbkxpbWl0XCIsIFwiMjUwbWJcIiksXHJcbiAgICAgICAgbmV3IFBhcmFtZXRlcihcImpvYlRpbWVvdXRcIiwgNSAqIDYwICogMTAwMCksXHJcbiAgICAgICAgbmV3IFBhcmFtZXRlcihcImNhY2hlQ29sbGVjdGlvblwiLCBcImNhY2hlXCIpLFxyXG4gICAgXTtcclxuXHJcbiAgICAvLyBDb252ZXJ0IHBhcmFtZXRlcnMgdG8gcHJvdmlkZXJzXHJcbiAgICBjb25zdCBwYXJhbVByb3ZpZGVycyA9IHBhcmFtcy5tYXAocCA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgcHJvdmlkZTogUEFSQU1FVEVSLFxyXG4gICAgICAgICAgICB1c2VWYWx1ZTogcFxyXG4gICAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIC8vIExpc3Qgb2Ygc2VydmljZXNcclxuICAgIGNvbnN0IHNlcnZpY2VzID0gW1xyXG4gICAgICAgIEFzc2V0UHJvY2Vzc29yLFxyXG4gICAgICAgIEFzc2V0UmVzb2x2ZXIsXHJcbiAgICAgICAgQXNzZXRzLFxyXG4gICAgICAgIEJhY2tlbmRQcm92aWRlcixcclxuICAgICAgICBDYWNoZSxcclxuICAgICAgICBDYWNoZVByb2Nlc3NvcixcclxuICAgICAgICBDb25maWd1cmF0aW9uLFxyXG4gICAgICAgIEVuZHBvaW50UHJvdmlkZXIsXHJcbiAgICAgICAgRml4dHVyZXMsXHJcbiAgICAgICAgR2FsbGVyeSxcclxuICAgICAgICBHYWxsZXJ5Q2FjaGUsXHJcbiAgICAgICAgSWRHZW5lcmF0b3IsXHJcbiAgICAgICAgSm9iTWFuYWdlcixcclxuICAgICAgICBMYXp5QXNzZXRzLFxyXG4gICAgICAgIE1haWxTZW5kZXIsXHJcbiAgICAgICAgTWVtb3J5Q2FjaGUsXHJcbiAgICAgICAgTW9uZ29Db25uZWN0b3IsXHJcbiAgICAgICAgUHJvZ3Jlc3NlcyxcclxuICAgICAgICBUZW1wbGF0ZVJlbmRlcmVyLFxyXG4gICAgICAgIFRyYW5zbGF0aW9uUHJvdmlkZXIsXHJcbiAgICAgICAgVHJhbnNsYXRvcixcclxuICAgICAgICBVc2VyTWFuYWdlclxyXG4gICAgXSBhcyBUeXBlPGFueT5bXTtcclxuXHJcbiAgICAvLyBDcmVhdGUgY29udGFpbmVyXHJcbiAgICBjb25zdCBkaUNvbnRhaW5lciA9IG5ldyBEaUNvbnRhaW5lcihjb250YWluZXIuY3JlYXRlQ2hpbGRDb250YWluZXIoKSk7XHJcbiAgICBwYXJhbVByb3ZpZGVycy5mb3JFYWNoKHByb3ZpZGVyID0+IHtcclxuICAgICAgICBkaUNvbnRhaW5lci5yZWdpc3Rlcihwcm92aWRlci5wcm92aWRlLCBwcm92aWRlcik7XHJcbiAgICB9KTtcclxuICAgIHNlcnZpY2VzLmZvckVhY2goc2VydmljZSA9PiB7XHJcbiAgICAgICAgaWYgKCFjb250YWluZXIuaXNSZWdpc3RlcmVkKHNlcnZpY2UpKVxyXG4gICAgICAgICAgICBkaUNvbnRhaW5lci5yZWdpc3RlcihzZXJ2aWNlLCBzZXJ2aWNlKTtcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIGRpQ29udGFpbmVyO1xyXG59XHJcblxyXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc2V0dXBCYWNrZW5kKGNvbmZpZzogSUJhY2tlbmRDb25maWcsIHByb3ZpZGVycz86IFByb3ZpZGVyPGFueT5bXSwgcGFyZW50PzogSURlcGVuZGVuY3lDb250YWluZXIpOiBQcm9taXNlPElEZXBlbmRlbmN5Q29udGFpbmVyPiB7XHJcblxyXG4gICAgcHJvdmlkZXJzID0gQXJyYXkuaXNBcnJheShwcm92aWRlcnMpID8gcHJvdmlkZXJzIDogW107XHJcbiAgICBwYXJlbnQgPSBwYXJlbnQgfHwgY3JlYXRlU2VydmljZXMoKTtcclxuXHJcbiAgICAvLyBDcmVhdGUgZml4dHVyZXNcclxuICAgIGNvbnN0IGZpeHR1cmVUeXBlcyA9IChjb25maWcuZml4dHVyZXMgfHwgW10pO1xyXG4gICAgY29uc3QgZml4dHVyZVByb3ZpZGVycyA9IGZpeHR1cmVUeXBlcy5tYXAoZml4dHVyZSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgcHJvdmlkZTogRklYVFVSRSxcclxuICAgICAgICAgICAgdXNlQ2xhc3M6IGZpeHR1cmVcclxuICAgICAgICB9O1xyXG4gICAgfSk7XHJcblxyXG4gICAgLy8gQ3JlYXRlIHBhcmFtc1xyXG4gICAgY29uc3QgcGFyYW1Qcm92aWRlcnMgPSAoY29uZmlnLnBhcmFtcyB8fCBbXSkubWFwKHAgPT4ge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIHByb3ZpZGU6IFBBUkFNRVRFUixcclxuICAgICAgICAgICAgdXNlVmFsdWU6IHBcclxuICAgICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICAvLyBDcmVhdGUgam9ic1xyXG4gICAgY29uc3Qgam9iUHJvdmlkZXJzID0gKGNvbmZpZy5qb2JzIHx8IFtdKS5tYXAoam9iVHlwZSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgcHJvdmlkZTogSk9CLFxyXG4gICAgICAgICAgICB1c2VWYWx1ZTogam9iVHlwZVxyXG4gICAgICAgIH07XHJcbiAgICB9KTtcclxuXHJcbiAgICAvLyBTZXR1cCByZXN0IEFQSVxyXG4gICAgY29uc3QgcmVzdE9wdGlvbnMgPSBjb25maWcucmVzdE9wdGlvbnMgfHwge307XHJcbiAgICByZXN0T3B0aW9ucy5kZWZhdWx0RXJyb3JIYW5kbGVyID0gZmFsc2U7XHJcbiAgICByZXN0T3B0aW9ucy5jb3JzID0gT2JqZWN0LmFzc2lnbih7XHJcbiAgICAgICAgY3JlZGVudGlhbHM6IHRydWUsXHJcbiAgICAgICAgZXhwb3NlZEhlYWRlcnM6IFtcImNvbnRlbnQtZGlzcG9zaXRpb25cIl0sXHJcbiAgICAgICAgb3JpZ2luOiAob3JpZ2luLCBjYWxsYmFjaykgPT4ge1xyXG4gICAgICAgICAgICBjYWxsYmFjayhudWxsLCB0cnVlKTtcclxuICAgICAgICB9XHJcbiAgICB9LCByZXN0T3B0aW9ucy5jb3JzIHx8IHt9KTtcclxuICAgIHJlc3RPcHRpb25zLnJvdXRlUHJlZml4ID0gY29uZmlnLnJvdXRlUHJlZml4IHx8IFwiL2FwaVwiO1xyXG4gICAgcmVzdE9wdGlvbnMucm91dGVQcmVmaXggPSByZXN0T3B0aW9ucy5yb3V0ZVByZWZpeCA9PSBcIi9cIiA/IFwiXCIgOiByZXN0T3B0aW9ucy5yb3V0ZVByZWZpeDtcclxuICAgIHJlc3RPcHRpb25zLm1pZGRsZXdhcmVzID0gW0Vycm9ySGFuZGxlck1pZGRsZXdhcmUsIENvbnRhaW5lck1pZGRsZXdhcmUsIExhbmd1YWdlTWlkZGxld2FyZSwgUmVxdWVzdFN0YXJ0ZWRNaWRkbGV3YXJlLCBSZXF1ZXN0RW5kZWRNaWRkbGV3YXJlXVxyXG4gICAgICAgIC5jb25jYXQocmVzdE9wdGlvbnMubWlkZGxld2FyZXMgYXMgYW55IHx8IFtdKTtcclxuICAgIHJlc3RPcHRpb25zLmNvbnRyb2xsZXJzID0gW0Fzc2V0c0NvbnRyb2xsZXIsIEF1dGhDb250cm9sbGVyLCBHYWxsZXJ5Q29udHJvbGxlciwgUHJvZ3Jlc3Nlc0NvbnRyb2xsZXJdXHJcbiAgICAgICAgLmNvbmNhdChyZXN0T3B0aW9ucy5jb250cm9sbGVycyBhcyBhbnkgfHwgW10pO1xyXG5cclxuICAgIC8vIFNldHVwIHNvY2tldCBBUElcclxuICAgIGNvbnN0IHNvY2tldE9wdGlvbnMgPSBjb25maWcuc29ja2V0T3B0aW9ucyB8fCB7fTtcclxuICAgIHNvY2tldE9wdGlvbnMubWlkZGxld2FyZXMgPSBbQ29tcHJlc3Npb25NaWRkbGV3YXJlXS5jb25jYXQoc29ja2V0T3B0aW9ucy5taWRkbGV3YXJlcyBhcyBhbnkgfHwgW10pO1xyXG4gICAgc29ja2V0T3B0aW9ucy5jb250cm9sbGVycyA9IFtQcm9ncmVzc0NvbnRyb2xsZXJdLmNvbmNhdChzb2NrZXRPcHRpb25zLmNvbnRyb2xsZXJzIGFzIGFueSB8fCBbXSk7XHJcblxyXG4gICAgLy8gQ3JlYXRlIHByb3ZpZGVyc1xyXG5cclxuICAgIGNvbnN0IGFsbFByb3ZpZGVyczogUHJvdmlkZXI8YW55PltdID0gW107XHJcblxyXG4gICAgLy8gQWRkIG11bHRpIHRva2VucyB0byBzdWIgY29udGFpbmVyXHJcbiAgICBbUEFSQU1FVEVSXS5mb3JFYWNoKHByb3ZpZGUgPT4ge1xyXG4gICAgICAgIGNvbnN0IHZhbHVlcyA9IHBhcmVudC5yZXNvbHZlQWxsKHByb3ZpZGUpO1xyXG4gICAgICAgIHZhbHVlcy5mb3JFYWNoKHVzZVZhbHVlID0+IHtcclxuICAgICAgICAgICAgYWxsUHJvdmlkZXJzLnB1c2goe3Byb3ZpZGUsIHVzZVZhbHVlfSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9KTtcclxuXHJcbiAgICAvLyBBZGQgb3RoZXIgcHJvdmlkZXJzXHJcbiAgICBhbGxQcm92aWRlcnMucHVzaChcclxuICAgICAgICAuLi5maXh0dXJlVHlwZXMsXHJcbiAgICAgICAgLi4uZml4dHVyZVByb3ZpZGVycyxcclxuICAgICAgICAuLi5wYXJhbVByb3ZpZGVycyxcclxuICAgICAgICAuLi5qb2JQcm92aWRlcnMsXHJcbiAgICAgICAgLi4ucmVzdE9wdGlvbnMubWlkZGxld2FyZXMgYXMgVHlwZTxhbnk+W10sXHJcbiAgICAgICAgLi4ucmVzdE9wdGlvbnMuY29udHJvbGxlcnMgYXMgVHlwZTxhbnk+W10sXHJcbiAgICAgICAgLi4uc29ja2V0T3B0aW9ucy5taWRkbGV3YXJlcyBhcyBUeXBlPGFueT5bXSxcclxuICAgICAgICAuLi5zb2NrZXRPcHRpb25zLmNvbnRyb2xsZXJzIGFzIFR5cGU8YW55PltdLFxyXG4gICAgICAgIC4uLnByb3ZpZGVycyxcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIHByb3ZpZGU6IEVYUFJFU1MsXHJcbiAgICAgICAgICAgIHVzZUZhY3Rvcnk6IChjb250YWluZXI6IERlcGVuZGVuY3lDb250YWluZXIpID0+IHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBjb250YWluZXIucmVzb2x2ZShCYWNrZW5kUHJvdmlkZXIpLmV4cHJlc3M7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgcHJvdmlkZTogSFRUUF9TRVJWRVIsXHJcbiAgICAgICAgICAgIHVzZUZhY3Rvcnk6IChjb250YWluZXI6IERlcGVuZGVuY3lDb250YWluZXIpID0+IHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBjb250YWluZXIucmVzb2x2ZShCYWNrZW5kUHJvdmlkZXIpLnNlcnZlcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICBwcm92aWRlOiBTT0NLRVRfU0VSVkVSLFxyXG4gICAgICAgICAgICB1c2VGYWN0b3J5OiAoY29udGFpbmVyOiBEZXBlbmRlbmN5Q29udGFpbmVyKSA9PiB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gY29udGFpbmVyLnJlc29sdmUoQmFja2VuZFByb3ZpZGVyKS5pbztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIClcclxuXHJcbiAgICAvLyBDcmVhdGUgREkgY29udGFpbmVyXHJcblxyXG4gICAgY29uc3QgZGlDb250YWluZXIgPSBwYXJlbnQuY3JlYXRlQ2hpbGRDb250YWluZXIoKTtcclxuXHJcbiAgICBhbGxQcm92aWRlcnMuZm9yRWFjaChwcm92aWRlciA9PiB7XHJcbiAgICAgICAgaWYgKGlzVHlwZShwcm92aWRlcikpIHtcclxuICAgICAgICAgICAgaWYgKGNvbnRhaW5lci5pc1JlZ2lzdGVyZWQocHJvdmlkZXIpKSByZXR1cm47XHJcbiAgICAgICAgICAgIGRpQ29udGFpbmVyLnJlZ2lzdGVyKHByb3ZpZGVyLCBwcm92aWRlcik7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgZGlDb250YWluZXIucmVnaXN0ZXIocHJvdmlkZXIucHJvdmlkZSwgcHJvdmlkZXIgYXMgYW55KTtcclxuICAgIH0pO1xyXG5cclxuICAgIGRpQ29udGFpbmVyLnJlZ2lzdGVyKERJX0NPTlRBSU5FUiwge1xyXG4gICAgICAgIHVzZVZhbHVlOiBkaUNvbnRhaW5lclxyXG4gICAgfSk7XHJcblxyXG4gICAgZGlDb250YWluZXJzLmFwcENvbnRhaW5lciA9IGRpQ29udGFpbmVycy5hcHBDb250YWluZXIgfHwgZGlDb250YWluZXI7XHJcblxyXG4gICAgLy8gQXV0aGVudGljYXRpb25cclxuICAgIHJlc3RPcHRpb25zLmF1dGhvcml6YXRpb25DaGVja2VyID0gYXN5bmMgKGFjdGlvbjogQWN0aW9uLCByb2xlczogYW55W10pID0+IHtcclxuICAgICAgICBjb25zdCB1c2VyID0gYXdhaXQgcmVzb2x2ZVVzZXIoZGlDb250YWluZXIsIGFjdGlvbi5yZXF1ZXN0KTtcclxuICAgICAgICBpZiAoIXVzZXIpIHtcclxuICAgICAgICAgICAgdGhyb3cgbmV3IEh0dHBFcnJvcig0MDEsIFwiQXV0aGVudGljYXRpb24gZmFpbGVkLiAoVXNlciBjYW4ndCBiZSBmb3VuZC4pXCIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCB1c2VyUm9sZXMgPSBBcnJheS5pc0FycmF5KHVzZXIucm9sZXMpID8gdXNlci5yb2xlcyA6IFtdO1xyXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHJvbGVzKSAmJiByb2xlcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIGxldCBsYXN0RXJyb3IgPSBudWxsO1xyXG4gICAgICAgICAgICBmb3IgKGxldCByb2xlIG9mIHJvbGVzKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAoaXNGdW5jdGlvbihyb2xlKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChhd2FpdCB2YWx1ZVRvUHJvbWlzZShyb2xlKHVzZXIsIGFjdGlvbikpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGFzdEVycm9yID0gZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBpZiAodXNlclJvbGVzLmluZGV4T2Yocm9sZSkgPj0gMCkgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgY29uc3QgZXJyb3IgPSAhbGFzdEVycm9yIHx8ICghbGFzdEVycm9yLm1lc3NhZ2UgJiYgIWlzU3RyaW5nKGxhc3RFcnJvcikpXHJcbiAgICAgICAgICAgICAgICA/IFwiVXNlciBkb2Vzbid0IGhhdmUgYWNjZXNzIHRvIHRoaXMgcmVzb3VyY2VcIlxyXG4gICAgICAgICAgICAgICAgOiBsYXN0RXJyb3IubWVzc2FnZSB8fCBsYXN0RXJyb3I7XHJcbiAgICAgICAgICAgIHRocm93IG5ldyBIdHRwRXJyb3IoNDAxLCBgQXV0aGVudGljYXRpb24gZmFpbGVkLiAoJHtlcnJvcn0pYCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfTtcclxuICAgIHJlc3RPcHRpb25zLmN1cnJlbnRVc2VyQ2hlY2tlciA9IGFzeW5jIChhY3Rpb246IEFjdGlvbikgPT4ge1xyXG4gICAgICAgIHJldHVybiByZXNvbHZlVXNlcihkaUNvbnRhaW5lciwgYWN0aW9uLnJlcXVlc3QpO1xyXG4gICAgfTtcclxuXHJcbiAgICAvLyBGaW5hbCBzZXR1cFxyXG4gICAgY29uc3QgY29uZmlndXJhdGlvbiA9IGRpQ29udGFpbmVyLnJlc29sdmUoQ29uZmlndXJhdGlvbik7XHJcbiAgICBjb25zdCBicCA9IGRpQ29udGFpbmVyLnJlc29sdmUoQmFja2VuZFByb3ZpZGVyKTtcclxuXHJcbiAgICBpZiAoY29uZmlnLnJlc3RPcHRpb25zKSB7XHJcbiAgICAgICAgYnAuZXhwcmVzcy51c2UoanNvbih7XHJcbiAgICAgICAgICAgIGxpbWl0OiBjb25maWd1cmF0aW9uLmhhc1BhcmFtKFwianNvbkxpbWl0XCIpXHJcbiAgICAgICAgICAgICAgICA/IGNvbmZpZ3VyYXRpb24ucmVzb2x2ZShcImpzb25MaW1pdFwiKVxyXG4gICAgICAgICAgICAgICAgOiBcIjI1MG1iXCJcclxuICAgICAgICB9KSk7XHJcbiAgICAgICAgdXNlUm91dGluZ0NvbnRhaW5lcihkaUNvbnRhaW5lcik7XHJcbiAgICAgICAgdXNlRXhwcmVzc1NlcnZlcihicC5leHByZXNzLCByZXN0T3B0aW9ucyk7XHJcbiAgICAgICAgLy8gU2V0dXAgcmVzdCBhaSBkb2NzXHJcbiAgICAgICAgYnAuZXhwcmVzcy5nZXQoXCIvYXBpLWRvY3NcIiwgKHJlcSwgcmVzKSA9PiB7XHJcbiAgICAgICAgICAgIHJlcy5zdGF0dXMoMjAwKS5lbmQoZ2V0QXBpRG9jcyhjb25maWcuY3VzdG9tVmFsaWRhdGlvbikpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgaWYgKGNvbmZpZy5zb2NrZXRPcHRpb25zKSB7XHJcbiAgICAgICAgdXNlU29ja2V0Q29udGFpbmVyKGRpQ29udGFpbmVyKTtcclxuICAgICAgICB1c2VTb2NrZXRTZXJ2ZXIoYnAuaW8sIHNvY2tldE9wdGlvbnMpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIENvbm5lY3QgdG8gbW9uZ28gaWYgbmVjZXNzYXJ5XHJcbiAgICBpZiAoY29uZmlndXJhdGlvbi5oYXNQYXJhbShcIm1vbmdvVXJpXCIpICYmIGNvbmZpZ3VyYXRpb24ucmVzb2x2ZShcIm1vbmdvVXJpXCIpKSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coXCJDb25uZWN0aW5nIHRvIE1vbmdvREIuLi5cIik7XHJcbiAgICAgICAgY29uc3QgY29ubmVjdG9yID0gZGlDb250YWluZXIucmVzb2x2ZShNb25nb0Nvbm5lY3Rvcik7XHJcbiAgICAgICAgYXdhaXQgY29ubmVjdG9yLmNvbm5lY3QoKTtcclxuICAgICAgICBjb25zb2xlLmxvZyhcIlN1Y2Nlc3NmdWxseSBjb25uZWN0ZWQgdG8gTW9uZ29EQi5cIik7XHJcbiAgICB9XHJcblxyXG4gICAgYXdhaXQgc2V0dXBTdGF0aWMoY29uZmlnLnJvb3RGb2xkZXIsIGRpQ29udGFpbmVyKTtcclxuXHJcbiAgICByZXR1cm4gZGlDb250YWluZXI7XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import { IsBoolean, IsOptional, Max, Min } from "class-validator";
|
|
11
|
+
export class AssetImageParams {
|
|
12
|
+
constructor() {
|
|
13
|
+
this.rotation = 0;
|
|
14
|
+
this.canvasScaleX = 1;
|
|
15
|
+
this.canvasScaleY = 1;
|
|
16
|
+
this.scaleX = 1;
|
|
17
|
+
this.scaleY = 1;
|
|
18
|
+
this.lazy = false;
|
|
19
|
+
this.crop = false;
|
|
20
|
+
this.cropBefore = false;
|
|
21
|
+
this.cropAfter = false;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
__decorate([
|
|
25
|
+
Min(-360),
|
|
26
|
+
Max(360),
|
|
27
|
+
IsOptional(),
|
|
28
|
+
__metadata("design:type", Number)
|
|
29
|
+
], AssetImageParams.prototype, "rotation", void 0);
|
|
30
|
+
__decorate([
|
|
31
|
+
Min(0.0001),
|
|
32
|
+
IsOptional(),
|
|
33
|
+
__metadata("design:type", Number)
|
|
34
|
+
], AssetImageParams.prototype, "canvasScaleX", void 0);
|
|
35
|
+
__decorate([
|
|
36
|
+
Min(0.0001),
|
|
37
|
+
IsOptional(),
|
|
38
|
+
__metadata("design:type", Number)
|
|
39
|
+
], AssetImageParams.prototype, "canvasScaleY", void 0);
|
|
40
|
+
__decorate([
|
|
41
|
+
Min(0.0001),
|
|
42
|
+
IsOptional(),
|
|
43
|
+
__metadata("design:type", Number)
|
|
44
|
+
], AssetImageParams.prototype, "scaleX", void 0);
|
|
45
|
+
__decorate([
|
|
46
|
+
Min(0.0001),
|
|
47
|
+
IsOptional(),
|
|
48
|
+
__metadata("design:type", Number)
|
|
49
|
+
], AssetImageParams.prototype, "scaleY", void 0);
|
|
50
|
+
__decorate([
|
|
51
|
+
IsBoolean(),
|
|
52
|
+
IsOptional(),
|
|
53
|
+
__metadata("design:type", Boolean)
|
|
54
|
+
], AssetImageParams.prototype, "lazy", void 0);
|
|
55
|
+
__decorate([
|
|
56
|
+
IsBoolean(),
|
|
57
|
+
IsOptional(),
|
|
58
|
+
__metadata("design:type", Boolean)
|
|
59
|
+
], AssetImageParams.prototype, "crop", void 0);
|
|
60
|
+
__decorate([
|
|
61
|
+
IsBoolean(),
|
|
62
|
+
IsOptional(),
|
|
63
|
+
__metadata("design:type", Boolean)
|
|
64
|
+
], AssetImageParams.prototype, "cropBefore", void 0);
|
|
65
|
+
__decorate([
|
|
66
|
+
IsBoolean(),
|
|
67
|
+
IsOptional(),
|
|
68
|
+
__metadata("design:type", Boolean)
|
|
69
|
+
], AssetImageParams.prototype, "cropAfter", void 0);
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXQtaW1hZ2UtcGFyYW1zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3JlcXVlc3RzL2Fzc2V0LWltYWdlLXBhcmFtcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFDQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFFaEUsTUFBTSxPQUFPLGdCQUFnQjtJQUE3QjtRQUtJLGFBQVEsR0FBWSxDQUFDLENBQUM7UUFJdEIsaUJBQVksR0FBWSxDQUFDLENBQUM7UUFJMUIsaUJBQVksR0FBWSxDQUFDLENBQUM7UUFJMUIsV0FBTSxHQUFZLENBQUMsQ0FBQztRQUlwQixXQUFNLEdBQVksQ0FBQyxDQUFDO1FBSXBCLFNBQUksR0FBYSxLQUFLLENBQUM7UUFJdkIsU0FBSSxHQUFhLEtBQUssQ0FBQztRQUl2QixlQUFVLEdBQWEsS0FBSyxDQUFDO1FBSTdCLGNBQVMsR0FBYSxLQUFLLENBQUM7SUFDaEMsQ0FBQztDQUFBO0FBakNHO0lBSEMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDO0lBQ1QsR0FBRyxDQUFDLEdBQUcsQ0FBQztJQUNSLFVBQVUsRUFBRTs7a0RBQ1M7QUFJdEI7SUFGQyxHQUFHLENBQUMsTUFBTSxDQUFDO0lBQ1gsVUFBVSxFQUFFOztzREFDYTtBQUkxQjtJQUZDLEdBQUcsQ0FBQyxNQUFNLENBQUM7SUFDWCxVQUFVLEVBQUU7O3NEQUNhO0FBSTFCO0lBRkMsR0FBRyxDQUFDLE1BQU0sQ0FBQztJQUNYLFVBQVUsRUFBRTs7Z0RBQ087QUFJcEI7SUFGQyxHQUFHLENBQUMsTUFBTSxDQUFDO0lBQ1gsVUFBVSxFQUFFOztnREFDTztBQUlwQjtJQUZDLFNBQVMsRUFBRTtJQUNYLFVBQVUsRUFBRTs7OENBQ1U7QUFJdkI7SUFGQyxTQUFTLEVBQUU7SUFDWCxVQUFVLEVBQUU7OzhDQUNVO0FBSXZCO0lBRkMsU0FBUyxFQUFFO0lBQ1gsVUFBVSxFQUFFOztvREFDZ0I7QUFJN0I7SUFGQyxTQUFTLEVBQUU7SUFDWCxVQUFVLEVBQUU7O21EQUNlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJQXNzZXRJbWFnZVBhcmFtc30gZnJvbSBcIi4uL2NvbW1vbi10eXBlc1wiO1xyXG5pbXBvcnQge0lzQm9vbGVhbiwgSXNPcHRpb25hbCwgTWF4LCBNaW59IGZyb20gXCJjbGFzcy12YWxpZGF0b3JcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBBc3NldEltYWdlUGFyYW1zIGltcGxlbWVudHMgSUFzc2V0SW1hZ2VQYXJhbXMge1xyXG5cclxuICAgIEBNaW4oLTM2MClcclxuICAgIEBNYXgoMzYwKVxyXG4gICAgQElzT3B0aW9uYWwoKVxyXG4gICAgcm90YXRpb24/OiBudW1iZXIgPSAwO1xyXG5cclxuICAgIEBNaW4oMC4wMDAxKVxyXG4gICAgQElzT3B0aW9uYWwoKVxyXG4gICAgY2FudmFzU2NhbGVYPzogbnVtYmVyID0gMTtcclxuXHJcbiAgICBATWluKDAuMDAwMSlcclxuICAgIEBJc09wdGlvbmFsKClcclxuICAgIGNhbnZhc1NjYWxlWT86IG51bWJlciA9IDE7XHJcblxyXG4gICAgQE1pbigwLjAwMDEpXHJcbiAgICBASXNPcHRpb25hbCgpXHJcbiAgICBzY2FsZVg/OiBudW1iZXIgPSAxO1xyXG5cclxuICAgIEBNaW4oMC4wMDAxKVxyXG4gICAgQElzT3B0aW9uYWwoKVxyXG4gICAgc2NhbGVZPzogbnVtYmVyID0gMTtcclxuXHJcbiAgICBASXNCb29sZWFuKClcclxuICAgIEBJc09wdGlvbmFsKClcclxuICAgIGxhenk/OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgQElzQm9vbGVhbigpXHJcbiAgICBASXNPcHRpb25hbCgpXHJcbiAgICBjcm9wPzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIEBJc0Jvb2xlYW4oKVxyXG4gICAgQElzT3B0aW9uYWwoKVxyXG4gICAgY3JvcEJlZm9yZT86IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBASXNCb29sZWFuKClcclxuICAgIEBJc09wdGlvbmFsKClcclxuICAgIGNyb3BBZnRlcj86IGJvb2xlYW4gPSBmYWxzZTtcclxufVxyXG4iXX0=
|
|
@@ -23,6 +23,7 @@ import { injectable } from "tsyringe";
|
|
|
23
23
|
import { Authorized, Body, Controller, Get, HttpError, Param, Post, QueryParam, QueryParams, Res, UploadedFile } from "routing-controllers";
|
|
24
24
|
import { Assets } from "../services/assets";
|
|
25
25
|
import { AssetResolver } from "../services/asset-resolver";
|
|
26
|
+
import { AssetImageParams } from "../requests/asset-image-params";
|
|
26
27
|
let AssetsController = class AssetsController {
|
|
27
28
|
constructor(assets, assetResolver) {
|
|
28
29
|
this.assets = assets;
|
|
@@ -146,14 +147,14 @@ __decorate([
|
|
|
146
147
|
Get("/image/:id/:rotation"),
|
|
147
148
|
__param(0, Param("id")), __param(1, QueryParams()), __param(2, Res()), __param(3, Param("rotation")),
|
|
148
149
|
__metadata("design:type", Function),
|
|
149
|
-
__metadata("design:paramtypes", [String,
|
|
150
|
+
__metadata("design:paramtypes", [String, AssetImageParams, Object, Number]),
|
|
150
151
|
__metadata("design:returntype", Promise)
|
|
151
152
|
], AssetsController.prototype, "getImageRotation", null);
|
|
152
153
|
__decorate([
|
|
153
154
|
Get("/image/:id"),
|
|
154
155
|
__param(0, Param("id")), __param(1, QueryParams()), __param(2, Res()),
|
|
155
156
|
__metadata("design:type", Function),
|
|
156
|
-
__metadata("design:paramtypes", [String,
|
|
157
|
+
__metadata("design:paramtypes", [String, AssetImageParams, Object]),
|
|
157
158
|
__metadata("design:returntype", Promise)
|
|
158
159
|
], AssetsController.prototype, "getImage", null);
|
|
159
160
|
__decorate([
|
|
@@ -167,7 +168,7 @@ __decorate([
|
|
|
167
168
|
Get("/by-name/image/:name"),
|
|
168
169
|
__param(0, Param("name")), __param(1, QueryParams()), __param(2, Res()),
|
|
169
170
|
__metadata("design:type", Function),
|
|
170
|
-
__metadata("design:paramtypes", [String,
|
|
171
|
+
__metadata("design:paramtypes", [String, AssetImageParams, Object]),
|
|
171
172
|
__metadata("design:returntype", Promise)
|
|
172
173
|
], AssetsController.prototype, "getImageByName", null);
|
|
173
174
|
AssetsController = __decorate([
|
|
@@ -176,4 +177,4 @@ AssetsController = __decorate([
|
|
|
176
177
|
__metadata("design:paramtypes", [Assets, AssetResolver])
|
|
177
178
|
], AssetsController);
|
|
178
179
|
export { AssetsController };
|
|
179
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXRzLmNvbnRyb2xsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcmVzdC1jb250cm9sbGVycy9hc3NldHMuY29udHJvbGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBQ3BDLE9BQU8sRUFDSCxVQUFVLEVBQ1YsSUFBSSxFQUNKLFVBQVUsRUFDVixHQUFHLEVBQ0gsU0FBUyxFQUNULEtBQUssRUFDTCxJQUFJLEVBQ0osVUFBVSxFQUNWLFdBQVcsRUFDWCxHQUFHLEVBQ0gsWUFBWSxFQUNmLE1BQU0scUJBQXFCLENBQUM7QUFFN0IsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBQzFDLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztJQUk1QyxnQkFBZ0IsU0FBaEIsZ0JBQWdCO0lBRXpCLFlBQXFCLE1BQWMsRUFBVyxhQUE0QjtRQUFyRCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQVcsa0JBQWEsR0FBYixhQUFhLENBQWU7SUFFMUUsQ0FBQztJQUlLLE1BQU0sQ0FBdUIsSUFBeUI7O1lBQ3hELElBQUk7Z0JBQ0EsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFFBQVEsS0FBSywwQkFBMEIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO2dCQUN4RixNQUFNLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBQyxFQUFFLFdBQVcsQ0FBQyxDQUFDO2dCQUNqRyxPQUFPLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQzthQUN6QjtZQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUNSLE1BQU0sR0FB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UmVzcG9uc2V9IGZyb20gXCJleHByZXNzXCI7XHJcbmltcG9ydCB7aW5qZWN0YWJsZX0gZnJvbSBcInRzeXJpbmdlXCI7XHJcbmltcG9ydCB7XHJcbiAgICBBdXRob3JpemVkLFxyXG4gICAgQm9keSxcclxuICAgIENvbnRyb2xsZXIsXHJcbiAgICBHZXQsXHJcbiAgICBIdHRwRXJyb3IsXHJcbiAgICBQYXJhbSxcclxuICAgIFBvc3QsXHJcbiAgICBRdWVyeVBhcmFtLFxyXG4gICAgUXVlcnlQYXJhbXMsXHJcbiAgICBSZXMsXHJcbiAgICBVcGxvYWRlZEZpbGVcclxufSBmcm9tIFwicm91dGluZy1jb250cm9sbGVyc1wiO1xyXG5pbXBvcnQge0lBc3NldCwgSUFzc2V0SW1hZ2VQYXJhbXN9IGZyb20gXCIuLi9jb21tb24tdHlwZXNcIjtcclxuaW1wb3J0IHtBc3NldHN9IGZyb20gXCIuLi9zZXJ2aWNlcy9hc3NldHNcIjtcclxuaW1wb3J0IHtBc3NldFJlc29sdmVyfSBmcm9tIFwiLi4vc2VydmljZXMvYXNzZXQtcmVzb2x2ZXJcIjtcclxuXHJcbkBpbmplY3RhYmxlKClcclxuQENvbnRyb2xsZXIoXCIvYXNzZXRzXCIpXHJcbmV4cG9ydCBjbGFzcyBBc3NldHNDb250cm9sbGVyIHtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihyZWFkb25seSBhc3NldHM6IEFzc2V0cywgcmVhZG9ubHkgYXNzZXRSZXNvbHZlcjogQXNzZXRSZXNvbHZlcikge1xyXG5cclxuICAgIH1cclxuXHJcbiAgICBAQXV0aG9yaXplZCgpXHJcbiAgICBAUG9zdChcIlwiKVxyXG4gICAgYXN5bmMgdXBsb2FkKEBVcGxvYWRlZEZpbGUoXCJmaWxlXCIpIGZpbGU6IEV4cHJlc3MuTXVsdGVyLkZpbGUpIHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBjb25zdCBjb250ZW50VHlwZSA9IGZpbGUubWltZXR5cGUgPT09IFwiYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtXCIgPyBudWxsIDogZmlsZS5taW1ldHlwZTtcclxuICAgICAgICAgICAgY29uc3QgYXNzZXQgPSBhd2FpdCB0aGlzLmFzc2V0cy53cml0ZUJ1ZmZlcihmaWxlLmJ1ZmZlciwge2ZpbGVuYW1lOiBmaWxlLmZpbGVuYW1lfSwgY29udGVudFR5cGUpO1xyXG4gICAgICAgICAgICByZXR1cm4gYXNzZXQudG9KU09OKCk7XHJcbiAgICAgICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAgICAgICBjb25zdCBtc2cgPSBlPy5tZXNzYWdlIHx8IGUgfHwgXCJVbmtub3duIGVycm9yXCI7XHJcbiAgICAgICAgICAgIHRocm93IG5ldyBIdHRwRXJyb3IoNDAwLCBgQXNzZXQgY2FuJ3QgYmUgdXBsb2FkZWQuXFxuJHttc2d9YCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBBdXRob3JpemVkKClcclxuICAgIEBQb3N0KFwidXJsXCIpXHJcbiAgICBhc3luYyB1cGxvYWRVcmwoQEJvZHkoKSBib2R5OiBhbnkpIHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBjb25zdCBhc3NldCA9IGF3YWl0IHRoaXMuYXNzZXRzLndyaXRlVXJsKGJvZHkudXJsLCBib2R5KTtcclxuICAgICAgICAgICAgcmV0dXJuIGFzc2V0LnRvSlNPTigpO1xyXG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICAgICAgY29uc3QgbXNnID0gZT8ubWVzc2FnZSB8fCBlIHx8IFwiVW5rbm93biBlcnJvclwiO1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgSHR0cEVycm9yKDQwMCwgYEFzc2V0IGNhbid0IGJlIHVwbG9hZGVkLlxcbiR7bXNnfWApO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAR2V0KFwiLzppZFwiKVxyXG4gICAgYXN5bmMgZ2V0RmlsZShAUGFyYW0oXCJpZFwiKSBpZDogc3RyaW5nLCBAUXVlcnlQYXJhbShcImxhenlcIikgbGF6eTogYm9vbGVhbiwgQFJlcygpIHJlczogUmVzcG9uc2UpOiBQcm9taXNlPFJlYWRhYmxlPiB7XHJcbiAgICAgICAgY29uc3QgYXNzZXQgPSBhd2FpdCB0aGlzLmdldEFzc2V0KFwiQXNzZXRcIiwgaWQsIGxhenksIHJlcyk7XHJcbiAgICAgICAgcmV0dXJuIGFzc2V0LmRvd25sb2FkKCk7XHJcbiAgICB9XHJcblxyXG4gICAgQEdldChcIi9pbWFnZS86aWQvOnJvdGF0aW9uXCIpXHJcbiAgICBhc3luYyBnZXRJbWFnZVJvdGF0aW9uKEBQYXJhbShcImlkXCIpIGlkOiBzdHJpbmcsIEBRdWVyeVBhcmFtcygpIHBhcmFtczogSUFzc2V0SW1hZ2VQYXJhbXMsIEBSZXMoKSByZXM6IFJlc3BvbnNlLCBAUGFyYW0oXCJyb3RhdGlvblwiKSByb3RhdGlvbjogbnVtYmVyID0gMCk6IFByb21pc2U8UmVhZGFibGU+IHtcclxuICAgICAgICBjb25zdCBhc3NldCA9IGF3YWl0IHRoaXMuZ2V0QXNzZXQoXCJJbWFnZVwiLCBpZCwgcGFyYW1zLmxhenksIHJlcyk7XHJcbiAgICAgICAgaWYgKHJvdGF0aW9uICE9PSAwKSB7XHJcbiAgICAgICAgICAgIHBhcmFtcy5yb3RhdGlvbiA9IHBhcmFtcy5yb3RhdGlvbiB8fCByb3RhdGlvbjtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGFzc2V0LmRvd25sb2FkSW1hZ2UocGFyYW1zKTtcclxuICAgIH1cclxuXHJcbiAgICBAR2V0KFwiL2ltYWdlLzppZFwiKVxyXG4gICAgYXN5bmMgZ2V0SW1hZ2UoQFBhcmFtKFwiaWRcIikgaWQ6IHN0cmluZywgQFF1ZXJ5UGFyYW1zKCkgcGFyYW1zOiBJQXNzZXRJbWFnZVBhcmFtcywgQFJlcygpIHJlczogUmVzcG9uc2UpOiBQcm9taXNlPFJlYWRhYmxlPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0SW1hZ2VSb3RhdGlvbihpZCwgcGFyYW1zLCByZXMpO1xyXG4gICAgfVxyXG5cclxuICAgIEBHZXQoXCIvYnktbmFtZS86bmFtZVwiKVxyXG4gICAgYXN5bmMgZ2V0RmlsZUJ5TmFtZShAUGFyYW0oXCJuYW1lXCIpIG5hbWU6IHN0cmluZywgQFJlcygpIHJlczogUmVzcG9uc2UpOiBQcm9taXNlPFJlYWRhYmxlPiB7XHJcbiAgICAgICAgY29uc3QgYXNzZXQgPSBhd2FpdCB0aGlzLmdldEFzc2V0QnlOYW1lKFwiQXNzZXRcIiwgbmFtZSwgcmVzKTtcclxuICAgICAgICByZXR1cm4gYXNzZXQuZG93bmxvYWQoKTtcclxuICAgIH1cclxuXHJcbiAgICBAR2V0KFwiL2J5LW5hbWUvaW1hZ2UvOm5hbWVcIilcclxuICAgIGFzeW5jIGdldEltYWdlQnlOYW1lKEBQYXJhbShcIm5hbWVcIikgbmFtZTogc3RyaW5nLCBAUXVlcnlQYXJhbXMoKSBwYXJhbXM6IElBc3NldEltYWdlUGFyYW1zLCBAUmVzKCkgcmVzOiBSZXNwb25zZSk6IFByb21pc2U8UmVhZGFibGU+IHtcclxuICAgICAgICBjb25zdCBhc3NldCA9IGF3YWl0IHRoaXMuZ2V0QXNzZXRCeU5hbWUoXCJJbWFnZVwiLCBuYW1lLCByZXMpO1xyXG4gICAgICAgIHJldHVybiBhc3NldC5kb3dubG9hZEltYWdlKHBhcmFtcyk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIHNldEFzc2V0SGVhZGVycyh0eXBlOiBzdHJpbmcsIGFzc2V0OiBJQXNzZXQsIHJlczogUmVzcG9uc2UpOiB2b2lkIHtcclxuICAgICAgICBpZiAoYXNzZXQubWV0YWRhdGE/LmNsYXNzaWZpZWQpIHtcclxuICAgICAgICAgICAgdGhyb3cgbmV3IEh0dHBFcnJvcig0MDMsIGAke3R5cGV9IGlzIGNsYXNzaWZpZWQsIGFuZCBjYW4gYmUgb25seSBkb3dubG9hZGVkIGZyb20gYSBjdXN0b20gdXJsLmApO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBleHQgPSBhc3NldC5tZXRhZGF0YT8uZXh0ZW5zaW9uO1xyXG4gICAgICAgIGlmIChleHQpIHtcclxuICAgICAgICAgICAgcmVzLmhlYWRlcihcImNvbnRlbnQtZGlzcG9zaXRpb25cIiwgYGlubGluZTsgZmlsZW5hbWU9JHthc3NldC5maWxlbmFtZX0uJHtleHR9YCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChhc3NldC5jb250ZW50VHlwZSkge1xyXG4gICAgICAgICAgICByZXMuaGVhZGVyKFwiY29udGVudC10eXBlXCIsIGFzc2V0LmNvbnRlbnRUeXBlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGFzeW5jIGdldEFzc2V0KHR5cGU6IHN0cmluZywgaWQ6IHN0cmluZywgbGF6eTogYm9vbGVhbiwgcmVzOiBSZXNwb25zZSk6IFByb21pc2U8SUFzc2V0PiB7XHJcbiAgICAgICAgY29uc3QgYXNzZXQgPSBhd2FpdCB0aGlzLmFzc2V0UmVzb2x2ZXIucmVzb2x2ZShpZCwgbGF6eSk7XHJcbiAgICAgICAgaWYgKCFhc3NldCkge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgSHR0cEVycm9yKDQwNCwgYCR7dHlwZX0gd2l0aCBpZDogJyR7aWR9JyBub3QgZm91bmQuYCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuc2V0QXNzZXRIZWFkZXJzKHR5cGUsIGFzc2V0LCByZXMpO1xyXG4gICAgICAgIHJldHVybiBhc3NldDtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgYXN5bmMgZ2V0QXNzZXRCeU5hbWUodHlwZTogc3RyaW5nLCBmaWxlbmFtZTogc3RyaW5nLCByZXM6IFJlc3BvbnNlKTogUHJvbWlzZTxJQXNzZXQ+IHtcclxuICAgICAgICBjb25zdCBhc3NldCA9IGF3YWl0IHRoaXMuYXNzZXRzLmZpbmQoe2ZpbGVuYW1lfSk7XHJcbiAgICAgICAgaWYgKCFhc3NldCkge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgSHR0cEVycm9yKDQwNCwgYCR7dHlwZX0gd2l0aCBmaWxlbmFtZTogJyR7ZmlsZW5hbWV9JyBub3QgZm91bmQuYCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuc2V0QXNzZXRIZWFkZXJzKHR5cGUsIGFzc2V0LCByZXMpO1xyXG4gICAgICAgIHJldHVybiBhc3NldDtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
180
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXRzLmNvbnRyb2xsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcmVzdC1jb250cm9sbGVycy9hc3NldHMuY29udHJvbGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBQ3BDLE9BQU8sRUFDSCxVQUFVLEVBQ1YsSUFBSSxFQUNKLFVBQVUsRUFDVixHQUFHLEVBQ0gsU0FBUyxFQUNULEtBQUssRUFDTCxJQUFJLEVBQ0osVUFBVSxFQUNWLFdBQVcsRUFDWCxHQUFHLEVBQ0gsWUFBWSxFQUNmLE1BQU0scUJBQXFCLENBQUM7QUFFN0IsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBQzFDLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztJQUluRCxnQkFBZ0IsU0FBaEIsZ0JBQWdCO0lBRXpCLFlBQXFCLE1BQWMsRUFBVyxhQUE0QjtRQUFyRCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQVcsa0JBQWEsR0FBYixhQUFhLENBQWU7SUFFMUUsQ0FBQztJQUlLLE1BQU0sQ0FBdUIsSUFBeUI7O1lBQ3hELElBQUk7Z0JBQ0EsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFFBQVEsS0FBSywwQkFBMEIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO2dCQUN4RixNQUFNLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBQyxFQUFFLFdBQVcsQ0FBQyxDQUFDO2dCQUNqRyxPQUFPLEtBQUssQ0FBQyxNQUFNLEVBQUUs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NkY1QjtTQTdGWSxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1JlYWRhYmxlfSBmcm9tIFwic3RyZWFtXCI7XHJcbmltcG9ydCB7UmVzcG9uc2V9IGZyb20gXCJleHByZXNzXCI7XHJcbmltcG9ydCB7aW5qZWN0YWJsZX0gZnJvbSBcInRzeXJpbmdlXCI7XHJcbmltcG9ydCB7XHJcbiAgICBBdXRob3JpemVkLFxyXG4gICAgQm9keSxcclxuICAgIENvbnRyb2xsZXIsXHJcbiAgICBHZXQsXHJcbiAgICBIdHRwRXJyb3IsXHJcbiAgICBQYXJhbSxcclxuICAgIFBvc3QsXHJcbiAgICBRdWVyeVBhcmFtLFxyXG4gICAgUXVlcnlQYXJhbXMsXHJcbiAgICBSZXMsXHJcbiAgICBVcGxvYWRlZEZpbGVcclxufSBmcm9tIFwicm91dGluZy1jb250cm9sbGVyc1wiO1xyXG5pbXBvcnQge0lBc3NldH0gZnJvbSBcIi4uL2NvbW1vbi10eXBlc1wiO1xyXG5pbXBvcnQge0Fzc2V0c30gZnJvbSBcIi4uL3NlcnZpY2VzL2Fzc2V0c1wiO1xyXG5pbXBvcnQge0Fzc2V0UmVzb2x2ZXJ9IGZyb20gXCIuLi9zZXJ2aWNlcy9hc3NldC1yZXNvbHZlclwiO1xyXG5pbXBvcnQge0Fzc2V0SW1hZ2VQYXJhbXN9IGZyb20gXCIuLi9yZXF1ZXN0cy9hc3NldC1pbWFnZS1wYXJhbXNcIjtcclxuXHJcbkBpbmplY3RhYmxlKClcclxuQENvbnRyb2xsZXIoXCIvYXNzZXRzXCIpXHJcbmV4cG9ydCBjbGFzcyBBc3NldHNDb250cm9sbGVyIHtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihyZWFkb25seSBhc3NldHM6IEFzc2V0cywgcmVhZG9ubHkgYXNzZXRSZXNvbHZlcjogQXNzZXRSZXNvbHZlcikge1xyXG5cclxuICAgIH1cclxuXHJcbiAgICBAQXV0aG9yaXplZCgpXHJcbiAgICBAUG9zdChcIlwiKVxyXG4gICAgYXN5bmMgdXBsb2FkKEBVcGxvYWRlZEZpbGUoXCJmaWxlXCIpIGZpbGU6IEV4cHJlc3MuTXVsdGVyLkZpbGUpIHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBjb25zdCBjb250ZW50VHlwZSA9IGZpbGUubWltZXR5cGUgPT09IFwiYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtXCIgPyBudWxsIDogZmlsZS5taW1ldHlwZTtcclxuICAgICAgICAgICAgY29uc3QgYXNzZXQgPSBhd2FpdCB0aGlzLmFzc2V0cy53cml0ZUJ1ZmZlcihmaWxlLmJ1ZmZlciwge2ZpbGVuYW1lOiBmaWxlLmZpbGVuYW1lfSwgY29udGVudFR5cGUpO1xyXG4gICAgICAgICAgICByZXR1cm4gYXNzZXQudG9KU09OKCk7XHJcbiAgICAgICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAgICAgICBjb25zdCBtc2cgPSBlPy5tZXNzYWdlIHx8IGUgfHwgXCJVbmtub3duIGVycm9yXCI7XHJcbiAgICAgICAgICAgIHRocm93IG5ldyBIdHRwRXJyb3IoNDAwLCBgQXNzZXQgY2FuJ3QgYmUgdXBsb2FkZWQuXFxuJHttc2d9YCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBBdXRob3JpemVkKClcclxuICAgIEBQb3N0KFwidXJsXCIpXHJcbiAgICBhc3luYyB1cGxvYWRVcmwoQEJvZHkoKSBib2R5OiBhbnkpIHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBjb25zdCBhc3NldCA9IGF3YWl0IHRoaXMuYXNzZXRzLndyaXRlVXJsKGJvZHkudXJsLCBib2R5KTtcclxuICAgICAgICAgICAgcmV0dXJuIGFzc2V0LnRvSlNPTigpO1xyXG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICAgICAgY29uc3QgbXNnID0gZT8ubWVzc2FnZSB8fCBlIHx8IFwiVW5rbm93biBlcnJvclwiO1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgSHR0cEVycm9yKDQwMCwgYEFzc2V0IGNhbid0IGJlIHVwbG9hZGVkLlxcbiR7bXNnfWApO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAR2V0KFwiLzppZFwiKVxyXG4gICAgYXN5bmMgZ2V0RmlsZShAUGFyYW0oXCJpZFwiKSBpZDogc3RyaW5nLCBAUXVlcnlQYXJhbShcImxhenlcIikgbGF6eTogYm9vbGVhbiwgQFJlcygpIHJlczogUmVzcG9uc2UpOiBQcm9taXNlPFJlYWRhYmxlPiB7XHJcbiAgICAgICAgY29uc3QgYXNzZXQgPSBhd2FpdCB0aGlzLmdldEFzc2V0KFwiQXNzZXRcIiwgaWQsIGxhenksIHJlcyk7XHJcbiAgICAgICAgcmV0dXJuIGFzc2V0LmRvd25sb2FkKCk7XHJcbiAgICB9XHJcblxyXG4gICAgQEdldChcIi9pbWFnZS86aWQvOnJvdGF0aW9uXCIpXHJcbiAgICBhc3luYyBnZXRJbWFnZVJvdGF0aW9uKEBQYXJhbShcImlkXCIpIGlkOiBzdHJpbmcsIEBRdWVyeVBhcmFtcygpIHBhcmFtczogQXNzZXRJbWFnZVBhcmFtcywgQFJlcygpIHJlczogUmVzcG9uc2UsIEBQYXJhbShcInJvdGF0aW9uXCIpIHJvdGF0aW9uOiBudW1iZXIgPSAwKTogUHJvbWlzZTxSZWFkYWJsZT4ge1xyXG4gICAgICAgIGNvbnN0IGFzc2V0ID0gYXdhaXQgdGhpcy5nZXRBc3NldChcIkltYWdlXCIsIGlkLCBwYXJhbXMubGF6eSwgcmVzKTtcclxuICAgICAgICBpZiAocm90YXRpb24gIT09IDApIHtcclxuICAgICAgICAgICAgcGFyYW1zLnJvdGF0aW9uID0gcGFyYW1zLnJvdGF0aW9uIHx8IHJvdGF0aW9uO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gYXNzZXQuZG93bmxvYWRJbWFnZShwYXJhbXMpO1xyXG4gICAgfVxyXG5cclxuICAgIEBHZXQoXCIvaW1hZ2UvOmlkXCIpXHJcbiAgICBhc3luYyBnZXRJbWFnZShAUGFyYW0oXCJpZFwiKSBpZDogc3RyaW5nLCBAUXVlcnlQYXJhbXMoKSBwYXJhbXM6IEFzc2V0SW1hZ2VQYXJhbXMsIEBSZXMoKSByZXM6IFJlc3BvbnNlKTogUHJvbWlzZTxSZWFkYWJsZT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmdldEltYWdlUm90YXRpb24oaWQsIHBhcmFtcywgcmVzKTtcclxuICAgIH1cclxuXHJcbiAgICBAR2V0KFwiL2J5LW5hbWUvOm5hbWVcIilcclxuICAgIGFzeW5jIGdldEZpbGVCeU5hbWUoQFBhcmFtKFwibmFtZVwiKSBuYW1lOiBzdHJpbmcsIEBSZXMoKSByZXM6IFJlc3BvbnNlKTogUHJvbWlzZTxSZWFkYWJsZT4ge1xyXG4gICAgICAgIGNvbnN0IGFzc2V0ID0gYXdhaXQgdGhpcy5nZXRBc3NldEJ5TmFtZShcIkFzc2V0XCIsIG5hbWUsIHJlcyk7XHJcbiAgICAgICAgcmV0dXJuIGFzc2V0LmRvd25sb2FkKCk7XHJcbiAgICB9XHJcblxyXG4gICAgQEdldChcIi9ieS1uYW1lL2ltYWdlLzpuYW1lXCIpXHJcbiAgICBhc3luYyBnZXRJbWFnZUJ5TmFtZShAUGFyYW0oXCJuYW1lXCIpIG5hbWU6IHN0cmluZywgQFF1ZXJ5UGFyYW1zKCkgcGFyYW1zOiBBc3NldEltYWdlUGFyYW1zLCBAUmVzKCkgcmVzOiBSZXNwb25zZSk6IFByb21pc2U8UmVhZGFibGU+IHtcclxuICAgICAgICBjb25zdCBhc3NldCA9IGF3YWl0IHRoaXMuZ2V0QXNzZXRCeU5hbWUoXCJJbWFnZVwiLCBuYW1lLCByZXMpO1xyXG4gICAgICAgIHJldHVybiBhc3NldC5kb3dubG9hZEltYWdlKHBhcmFtcyk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIHNldEFzc2V0SGVhZGVycyh0eXBlOiBzdHJpbmcsIGFzc2V0OiBJQXNzZXQsIHJlczogUmVzcG9uc2UpOiB2b2lkIHtcclxuICAgICAgICBpZiAoYXNzZXQubWV0YWRhdGE/LmNsYXNzaWZpZWQpIHtcclxuICAgICAgICAgICAgdGhyb3cgbmV3IEh0dHBFcnJvcig0MDMsIGAke3R5cGV9IGlzIGNsYXNzaWZpZWQsIGFuZCBjYW4gYmUgb25seSBkb3dubG9hZGVkIGZyb20gYSBjdXN0b20gdXJsLmApO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBleHQgPSBhc3NldC5tZXRhZGF0YT8uZXh0ZW5zaW9uO1xyXG4gICAgICAgIGlmIChleHQpIHtcclxuICAgICAgICAgICAgcmVzLmhlYWRlcihcImNvbnRlbnQtZGlzcG9zaXRpb25cIiwgYGlubGluZTsgZmlsZW5hbWU9JHthc3NldC5maWxlbmFtZX0uJHtleHR9YCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChhc3NldC5jb250ZW50VHlwZSkge1xyXG4gICAgICAgICAgICByZXMuaGVhZGVyKFwiY29udGVudC10eXBlXCIsIGFzc2V0LmNvbnRlbnRUeXBlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGFzeW5jIGdldEFzc2V0KHR5cGU6IHN0cmluZywgaWQ6IHN0cmluZywgbGF6eTogYm9vbGVhbiwgcmVzOiBSZXNwb25zZSk6IFByb21pc2U8SUFzc2V0PiB7XHJcbiAgICAgICAgY29uc3QgYXNzZXQgPSBhd2FpdCB0aGlzLmFzc2V0UmVzb2x2ZXIucmVzb2x2ZShpZCwgbGF6eSk7XHJcbiAgICAgICAgaWYgKCFhc3NldCkge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgSHR0cEVycm9yKDQwNCwgYCR7dHlwZX0gd2l0aCBpZDogJyR7aWR9JyBub3QgZm91bmQuYCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuc2V0QXNzZXRIZWFkZXJzKHR5cGUsIGFzc2V0LCByZXMpO1xyXG4gICAgICAgIHJldHVybiBhc3NldDtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgYXN5bmMgZ2V0QXNzZXRCeU5hbWUodHlwZTogc3RyaW5nLCBmaWxlbmFtZTogc3RyaW5nLCByZXM6IFJlc3BvbnNlKTogUHJvbWlzZTxJQXNzZXQ+IHtcclxuICAgICAgICBjb25zdCBhc3NldCA9IGF3YWl0IHRoaXMuYXNzZXRzLmZpbmQoe2ZpbGVuYW1lfSk7XHJcbiAgICAgICAgaWYgKCFhc3NldCkge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgSHR0cEVycm9yKDQwNCwgYCR7dHlwZX0gd2l0aCBmaWxlbmFtZTogJyR7ZmlsZW5hbWV9JyBub3QgZm91bmQuYCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuc2V0QXNzZXRIZWFkZXJzKHR5cGUsIGFzc2V0LCByZXMpO1xyXG4gICAgICAgIHJldHVybiBhc3NldDtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -21,7 +21,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
21
21
|
};
|
|
22
22
|
import { sign } from "jsonwebtoken";
|
|
23
23
|
import { injectable } from "tsyringe";
|
|
24
|
-
import { Authorized, Body, Controller, CurrentUser, Get, HttpError, Post, Res } from "routing-controllers";
|
|
24
|
+
import { Authorized, Body, Controller, CurrentUser, Get, HttpError, Post, Res, UnauthorizedError } from "routing-controllers";
|
|
25
25
|
import { compare } from "bcrypt";
|
|
26
26
|
import { Configuration } from "../services/configuration";
|
|
27
27
|
import { UserManager } from "../services/user-manager";
|
|
@@ -32,19 +32,20 @@ let AuthController = class AuthController {
|
|
|
32
32
|
}
|
|
33
33
|
login(credentials, res) {
|
|
34
34
|
return __awaiter(this, void 0, void 0, function* () {
|
|
35
|
+
let user = null;
|
|
35
36
|
try {
|
|
36
|
-
|
|
37
|
-
const valid = yield compare(credentials.password, user.password);
|
|
38
|
-
if (valid !== true)
|
|
39
|
-
throw "message.login.error";
|
|
40
|
-
return {
|
|
41
|
-
token: sign({ id: user._id || user.id }, this.config.resolve("jwtSecret")),
|
|
42
|
-
user: yield this.userManager.serialize(user)
|
|
43
|
-
};
|
|
37
|
+
user = yield this.userManager.getByCredentials(credentials);
|
|
44
38
|
}
|
|
45
39
|
catch (reason) {
|
|
46
40
|
throw new HttpError(401, reason);
|
|
47
41
|
}
|
|
42
|
+
const valid = !user ? false : yield compare(credentials.password, user.password);
|
|
43
|
+
if (valid !== true)
|
|
44
|
+
throw new UnauthorizedError(`message.login.error`);
|
|
45
|
+
return {
|
|
46
|
+
token: sign({ id: user._id || user.id }, this.config.resolve("jwtSecret")),
|
|
47
|
+
user: yield this.userManager.serialize(user)
|
|
48
|
+
};
|
|
48
49
|
});
|
|
49
50
|
}
|
|
50
51
|
getProfile(user) {
|
|
@@ -72,4 +73,4 @@ AuthController = __decorate([
|
|
|
72
73
|
__metadata("design:paramtypes", [Configuration, UserManager])
|
|
73
74
|
], AuthController);
|
|
74
75
|
export { AuthController };
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5jb250cm9sbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Jlc3QtY29udHJvbGxlcnMvYXV0aC5jb250cm9sbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNBLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFDbEMsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLFVBQVUsQ0FBQztBQUNwQyxPQUFPLEVBQ0gsVUFBVSxFQUNWLElBQUksRUFDSixVQUFVLEVBQ1YsV0FBVyxFQUNYLEdBQUcsRUFDSCxTQUFTLEVBQ1QsSUFBSSxFQUNKLEdBQUcsRUFDSCxpQkFBaUIsRUFDcEIsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sUUFBUSxDQUFDO0FBRS9CLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUN4RCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sMEJBQTBCLENBQUM7SUFLeEMsY0FBYyxTQUFkLGNBQWM7SUFFdkIsWUFBcUIsTUFBcUIsRUFBVyxXQUF3QjtRQUF4RCxXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQVcsZ0JBQVcsR0FBWCxXQUFXLENBQWE7SUFBRyxDQUFDO0lBRzNFLEtBQUssQ0FBUyxXQUFnQixFQUFTLEdBQWE7O1lBQ3RELElBQUksSUFBSSxHQUFVLElBQUksQ0FBQztZQUN2QixJQUFJO2dCQUNBLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLENBQUM7YUFDL0Q7WUFBQyxPQUFPLE1BQU0sRUFBRTtnQkFDYixNQUFNLElBQUksU0FBUyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQzthQUNwQztZQUNELE1BQU0sS0FBSyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sT0FBTyxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ2pGLElBQUksS0FBSyxLQUFLLElBQUk7Z0JBQ2QsTUFBTSxJQUFJLGlCQUFpQixDQUFDLHFCQUFxQixDQUFDLENBQUM7WUFDdkQsT0FBTztnQkFDSCxLQUFLLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUMxRSxJQUFJLEVBQUUsTUFBTSxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUM7YUFDL0MsQ0FBQztRQUNOLENBQUM7S0FBQTtJQUlELFVBQVUsQ0FBZ0IsSUFBVztRQUNqQyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzVDLENBQUM7Q0FDSixDQUFBO0FBckJHO0lBREMsSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUNGLFdBQUEsSUFBSSxFQUFFLENBQUEsRUFBb0IsV0FBQSxHQUFHLEVBQUUsQ0FBQTs7OzsyQ0FjM0M7QUFJRDtJQUZDLFVBQVUsRUFBRTtJQUNaLEdBQUcsQ0FBQyxPQUFPLENBQUM7SUFDRCxXQUFBLFdBQVcsRUFBRSxDQUFBOzs7O2dEQUV4QjtBQXpCUSxjQUFjO0lBRjFCLFVBQVUsRUFBRTtJQUNaLFVBQVUsRUFBRTtxQ0FHb0IsYUFBYSxFQUF3QixXQUFXO0dBRnBFLGNBQWMsQ0EwQjFCO1NBMUJZLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1Jlc3BvbnNlfSBmcm9tIFwiZXhwcmVzc1wiO1xyXG5pbXBvcnQge3NpZ259IGZyb20gXCJqc29ud2VidG9rZW5cIjtcclxuaW1wb3J0IHtpbmplY3RhYmxlfSBmcm9tIFwidHN5cmluZ2VcIjtcclxuaW1wb3J0IHtcclxuICAgIEF1dGhvcml6ZWQsXHJcbiAgICBCb2R5LFxyXG4gICAgQ29udHJvbGxlcixcclxuICAgIEN1cnJlbnRVc2VyLFxyXG4gICAgR2V0LFxyXG4gICAgSHR0cEVycm9yLFxyXG4gICAgUG9zdCxcclxuICAgIFJlcyxcclxuICAgIFVuYXV0aG9yaXplZEVycm9yXHJcbn0gZnJvbSBcInJvdXRpbmctY29udHJvbGxlcnNcIjtcclxuaW1wb3J0IHtjb21wYXJlfSBmcm9tIFwiYmNyeXB0XCI7XHJcblxyXG5pbXBvcnQge0NvbmZpZ3VyYXRpb259IGZyb20gXCIuLi9zZXJ2aWNlcy9jb25maWd1cmF0aW9uXCI7XHJcbmltcG9ydCB7VXNlck1hbmFnZXJ9IGZyb20gXCIuLi9zZXJ2aWNlcy91c2VyLW1hbmFnZXJcIjtcclxuaW1wb3J0IHtJVXNlcn0gZnJvbSBcIi4uL2NvbW1vbi10eXBlc1wiO1xyXG5cclxuQGluamVjdGFibGUoKVxyXG5AQ29udHJvbGxlcigpXHJcbmV4cG9ydCBjbGFzcyBBdXRoQ29udHJvbGxlciB7XHJcblxyXG4gICAgY29uc3RydWN0b3IocmVhZG9ubHkgY29uZmlnOiBDb25maWd1cmF0aW9uLCByZWFkb25seSB1c2VyTWFuYWdlcjogVXNlck1hbmFnZXIpIHt9XHJcblxyXG4gICAgQFBvc3QoXCIvbG9naW5cIilcclxuICAgIGFzeW5jIGxvZ2luKEBCb2R5KCkgY3JlZGVudGlhbHM6IGFueSwgQFJlcygpIHJlczogUmVzcG9uc2UpIHtcclxuICAgICAgICBsZXQgdXNlcjogSVVzZXIgPSBudWxsO1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIHVzZXIgPSBhd2FpdCB0aGlzLnVzZXJNYW5hZ2VyLmdldEJ5Q3JlZGVudGlhbHMoY3JlZGVudGlhbHMpO1xyXG4gICAgICAgIH0gY2F0Y2ggKHJlYXNvbikge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgSHR0cEVycm9yKDQwMSwgcmVhc29uKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgdmFsaWQgPSAhdXNlciA/IGZhbHNlIDogYXdhaXQgY29tcGFyZShjcmVkZW50aWFscy5wYXNzd29yZCwgdXNlci5wYXNzd29yZCk7XHJcbiAgICAgICAgaWYgKHZhbGlkICE9PSB0cnVlKVxyXG4gICAgICAgICAgICB0aHJvdyBuZXcgVW5hdXRob3JpemVkRXJyb3IoYG1lc3NhZ2UubG9naW4uZXJyb3JgKTtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICB0b2tlbjogc2lnbih7IGlkOiB1c2VyLl9pZCB8fCB1c2VyLmlkIH0sIHRoaXMuY29uZmlnLnJlc29sdmUoXCJqd3RTZWNyZXRcIikpLFxyXG4gICAgICAgICAgICB1c2VyOiBhd2FpdCB0aGlzLnVzZXJNYW5hZ2VyLnNlcmlhbGl6ZSh1c2VyKVxyXG4gICAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgQEF1dGhvcml6ZWQoKVxyXG4gICAgQEdldChcIi91c2VyXCIpXHJcbiAgICBnZXRQcm9maWxlKEBDdXJyZW50VXNlcigpIHVzZXI6IElVc2VyKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMudXNlck1hbmFnZXIuc2VyaWFsaXplKHVzZXIpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|