@coralogix/rum-cli 1.1.26 → 1.1.28
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/README.md +86 -75
- package/api/client/request-builder.ts +40 -57
- package/api/dsym.api.ts +16 -13
- package/api/proguard.api.ts +64 -0
- package/api/react-native.api.ts +8 -14
- package/api/source-maps.api.ts +7 -13
- package/cli/commands/proguard/index.ts +5 -0
- package/cli/commands/proguard/upload-proguard-command.ts +36 -0
- package/cli/rum-cli.ts +5 -0
- package/config/config.ts +2 -0
- package/consts/consts.ts +0 -1
- package/dist/api/client/client-factory.d.ts +40 -0
- package/dist/api/client/request-builder.d.ts +27 -11
- package/dist/api/client/request-builder.js +15 -21
- package/dist/api/dsym.api.d.ts +1 -1
- package/dist/api/dsym.api.js +9 -7
- package/dist/api/proguard.api.d.ts +4 -0
- package/dist/api/proguard.api.js +52 -0
- package/dist/api/react-native.api.js +5 -4
- package/dist/api/source-maps.api.js +5 -4
- package/dist/cli/commands/proguard/index.d.ts +4 -0
- package/dist/cli/commands/proguard/index.js +6 -0
- package/dist/cli/commands/proguard/upload-proguard-command.d.ts +2 -0
- package/dist/cli/commands/proguard/upload-proguard-command.js +45 -0
- package/dist/cli/rum-cli.js +4 -1
- package/dist/config/config.d.ts +1 -0
- package/dist/config/config.js +2 -1
- package/dist/consts/consts.js +2 -3
- package/dist/models/proguard-commands.model.d.ts +11 -0
- package/dist/models/proguard-commands.model.js +3 -0
- package/dist/proto-models/com/coralogix/blobset/v2/entity_metadata.d.ts +18 -0
- package/dist/proto-models/com/coralogix/blobset/v2/entity_metadata.js +139 -5
- package/dist/proto-models/com/coralogix/blobset/v2/entity_type.d.ts +2 -1
- package/dist/proto-models/com/coralogix/blobset/v2/entity_type.js +7 -1
- package/dist/proto-models/com/coralogix/rum/v2/release_entity_metadata.d.ts +18 -0
- package/dist/proto-models/com/coralogix/rum/v2/release_entity_metadata.js +139 -5
- package/dist/proto-models/com/coralogix/rum/v2/release_entity_type.d.ts +2 -1
- package/dist/proto-models/com/coralogix/rum/v2/release_entity_type.js +7 -1
- package/dist/proto-models/com/coralogix/rum/v2/rum_sdk_versions.d.ts +1 -0
- package/dist/proto-models/com/coralogix/rum/v2/rum_sdk_versions.js +17 -3
- package/dist/proto-models/com/coralogix/rum/v2/rum_service.d.ts +93 -0
- package/dist/proto-models/com/coralogix/rum/v2/rum_service.js +300 -4
- package/dist/proto-models/com/coralogix/rum/v2/rum_settings_service.d.ts +9 -8
- package/dist/proto-models/com/coralogix/rum/v2/rum_settings_service.js +22 -7
- package/dist/services/dsym.service.d.ts +1 -1
- package/dist/services/dsym.service.js +3 -3
- package/dist/services/proguard.service.d.ts +3 -0
- package/dist/services/proguard.service.js +36 -0
- package/dist/services/react-native.service.js +2 -2
- package/dist/services/source-maps.service.js +2 -2
- package/dist/utils/file-processor.utils.d.ts +5 -8
- package/dist/utils/file-processor.utils.js +222 -60
- package/mapping.txt +160886 -0
- package/models/proguard-commands.model.ts +11 -0
- package/package.json +2 -3
- package/proto-models/com/coralogix/blobset/v2/entity_metadata.ts +160 -4
- package/proto-models/com/coralogix/blobset/v2/entity_type.ts +6 -0
- package/proto-models/com/coralogix/rum/v2/release_entity_metadata.ts +156 -0
- package/proto-models/com/coralogix/rum/v2/release_entity_type.ts +6 -0
- package/proto-models/com/coralogix/rum/v2/rum_sdk_versions.ts +17 -1
- package/proto-models/com/coralogix/rum/v2/rum_service.ts +347 -1
- package/proto-models/com/coralogix/rum/v2/rum_settings_service.ts +23 -6
- package/protofetch.lock +4 -4
- package/protofetch.toml +3 -3
- package/protos/com/coralogix/blobset/v2/entity_metadata.proto +9 -0
- package/protos/com/coralogix/blobset/v2/entity_type.proto +1 -0
- package/protos/com/coralogix/rum/v2/release_entity_metadata.proto +9 -0
- package/protos/com/coralogix/rum/v2/release_entity_type.proto +1 -0
- package/protos/com/coralogix/rum/v2/rum_sdk_versions.proto +1 -0
- package/protos/com/coralogix/rum/v2/rum_service.proto +23 -0
- package/protos/com/coralogix/rum/v2/rum_settings_service.proto +3 -1
- package/protoset.bin +0 -0
- package/services/dsym.service.ts +2 -2
- package/services/proguard.service.ts +33 -0
- package/services/react-native.service.ts +1 -1
- package/services/source-maps.service.ts +1 -1
- package/utils/file-processor.utils.ts +224 -70
|
@@ -10,6 +10,7 @@ export interface UpdateRumSettingsRequest {
|
|
|
10
10
|
settings: RumSettings | undefined;
|
|
11
11
|
}
|
|
12
12
|
export interface UpdateRumSettingsResponse {
|
|
13
|
+
settings: RumSettings | undefined;
|
|
13
14
|
}
|
|
14
15
|
export declare const GetRumSettingsRequest: {
|
|
15
16
|
encode(_: GetRumSettingsRequest, writer?: _m0.Writer): _m0.Writer;
|
|
@@ -36,12 +37,12 @@ export declare const UpdateRumSettingsRequest: {
|
|
|
36
37
|
fromPartial(object: DeepPartial<UpdateRumSettingsRequest>): UpdateRumSettingsRequest;
|
|
37
38
|
};
|
|
38
39
|
export declare const UpdateRumSettingsResponse: {
|
|
39
|
-
encode(
|
|
40
|
+
encode(message: UpdateRumSettingsResponse, writer?: _m0.Writer): _m0.Writer;
|
|
40
41
|
decode(input: _m0.Reader | Uint8Array, length?: number): UpdateRumSettingsResponse;
|
|
41
|
-
fromJSON(
|
|
42
|
-
toJSON(
|
|
42
|
+
fromJSON(object: any): UpdateRumSettingsResponse;
|
|
43
|
+
toJSON(message: UpdateRumSettingsResponse): unknown;
|
|
43
44
|
create(base?: DeepPartial<UpdateRumSettingsResponse>): UpdateRumSettingsResponse;
|
|
44
|
-
fromPartial(
|
|
45
|
+
fromPartial(object: DeepPartial<UpdateRumSettingsResponse>): UpdateRumSettingsResponse;
|
|
45
46
|
};
|
|
46
47
|
export type RumSettingsServiceDefinition = typeof RumSettingsServiceDefinition;
|
|
47
48
|
export declare const RumSettingsServiceDefinition: {
|
|
@@ -82,12 +83,12 @@ export declare const RumSettingsServiceDefinition: {
|
|
|
82
83
|
};
|
|
83
84
|
readonly requestStream: false;
|
|
84
85
|
readonly responseType: {
|
|
85
|
-
encode(
|
|
86
|
+
encode(message: UpdateRumSettingsResponse, writer?: _m0.Writer): _m0.Writer;
|
|
86
87
|
decode(input: _m0.Reader | Uint8Array, length?: number): UpdateRumSettingsResponse;
|
|
87
|
-
fromJSON(
|
|
88
|
-
toJSON(
|
|
88
|
+
fromJSON(object: any): UpdateRumSettingsResponse;
|
|
89
|
+
toJSON(message: UpdateRumSettingsResponse): unknown;
|
|
89
90
|
create(base?: DeepPartial<UpdateRumSettingsResponse>): UpdateRumSettingsResponse;
|
|
90
|
-
fromPartial(
|
|
91
|
+
fromPartial(object: DeepPartial<UpdateRumSettingsResponse>): UpdateRumSettingsResponse;
|
|
91
92
|
};
|
|
92
93
|
readonly responseStream: false;
|
|
93
94
|
readonly options: {};
|
|
@@ -155,10 +155,13 @@ exports.UpdateRumSettingsRequest = {
|
|
|
155
155
|
},
|
|
156
156
|
};
|
|
157
157
|
function createBaseUpdateRumSettingsResponse() {
|
|
158
|
-
return {};
|
|
158
|
+
return { settings: undefined };
|
|
159
159
|
}
|
|
160
160
|
exports.UpdateRumSettingsResponse = {
|
|
161
|
-
encode(
|
|
161
|
+
encode(message, writer = minimal_1.default.Writer.create()) {
|
|
162
|
+
if (message.settings !== undefined) {
|
|
163
|
+
rum_settings_1.RumSettings.encode(message.settings, writer.uint32(10).fork()).ldelim();
|
|
164
|
+
}
|
|
162
165
|
return writer;
|
|
163
166
|
},
|
|
164
167
|
decode(input, length) {
|
|
@@ -168,6 +171,12 @@ exports.UpdateRumSettingsResponse = {
|
|
|
168
171
|
while (reader.pos < end) {
|
|
169
172
|
const tag = reader.uint32();
|
|
170
173
|
switch (tag >>> 3) {
|
|
174
|
+
case 1:
|
|
175
|
+
if (tag !== 10) {
|
|
176
|
+
break;
|
|
177
|
+
}
|
|
178
|
+
message.settings = rum_settings_1.RumSettings.decode(reader, reader.uint32());
|
|
179
|
+
continue;
|
|
171
180
|
}
|
|
172
181
|
if ((tag & 7) === 4 || tag === 0) {
|
|
173
182
|
break;
|
|
@@ -176,18 +185,24 @@ exports.UpdateRumSettingsResponse = {
|
|
|
176
185
|
}
|
|
177
186
|
return message;
|
|
178
187
|
},
|
|
179
|
-
fromJSON(
|
|
180
|
-
return {};
|
|
188
|
+
fromJSON(object) {
|
|
189
|
+
return { settings: isSet(object.settings) ? rum_settings_1.RumSettings.fromJSON(object.settings) : undefined };
|
|
181
190
|
},
|
|
182
|
-
toJSON(
|
|
191
|
+
toJSON(message) {
|
|
183
192
|
const obj = {};
|
|
193
|
+
if (message.settings !== undefined) {
|
|
194
|
+
obj.settings = rum_settings_1.RumSettings.toJSON(message.settings);
|
|
195
|
+
}
|
|
184
196
|
return obj;
|
|
185
197
|
},
|
|
186
198
|
create(base) {
|
|
187
199
|
return exports.UpdateRumSettingsResponse.fromPartial(base !== null && base !== void 0 ? base : {});
|
|
188
200
|
},
|
|
189
|
-
fromPartial(
|
|
201
|
+
fromPartial(object) {
|
|
190
202
|
const message = createBaseUpdateRumSettingsResponse();
|
|
203
|
+
message.settings = (object.settings !== undefined && object.settings !== null)
|
|
204
|
+
? rum_settings_1.RumSettings.fromPartial(object.settings)
|
|
205
|
+
: undefined;
|
|
191
206
|
return message;
|
|
192
207
|
},
|
|
193
208
|
};
|
|
@@ -216,4 +231,4 @@ exports.RumSettingsServiceDefinition = {
|
|
|
216
231
|
function isSet(value) {
|
|
217
232
|
return value !== null && value !== undefined;
|
|
218
233
|
}
|
|
219
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVtX3NldHRpbmdzX3NlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm90by1tb2RlbHMvY29tL2NvcmFsb2dpeC9ydW0vdjIvcnVtX3NldHRpbmdzX3NlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLHNEQUFzRDtBQUN0RCxZQUFZO0FBQ1osa0NBQWtDO0FBQ2xDLGlDQUFpQztBQUNqQywwREFBMEQ7Ozs7OztBQUUxRCxvQkFBb0I7QUFDcEIsaUVBQXFDO0FBQ3JDLGlEQUE2QztBQUVoQyxRQUFBLGVBQWUsR0FBRyxzQkFBc0IsQ0FBQztBQWdCdEQsU0FBUywrQkFBK0I7SUFDdEMsT0FBTyxFQUFFLENBQUM7QUFDWixDQUFDO0FBRVksUUFBQSxxQkFBcUIsR0FBRztJQUNuQyxNQUFNLENBQUMsQ0FBd0IsRUFBRSxTQUFxQixpQkFBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUU7UUFDdkUsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUE4QixFQUFFLE1BQWU7UUFDcEQsTUFBTSxNQUFNLEdBQUcsS0FBSyxZQUFZLGlCQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLGlCQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5RSxJQUFJLEdBQUcsR0FBRyxNQUFNLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQztRQUNsRSxNQUFNLE9BQU8sR0FBRywrQkFBK0IsRUFBRSxDQUFDO1FBQ2xELE9BQU8sTUFBTSxDQUFDLEdBQUcsR0FBRyxHQUFHLEVBQUU7WUFDdkIsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzVCLFFBQVEsR0FBRyxLQUFLLENB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QztBQUdXLFFBQUEsNEJBQTRCLEdBQUc7SUFDMUMsSUFBSSxFQUFFLG9CQUFvQjtJQUMxQixRQUFRLEVBQUUseUNBQXlDO0lBQ25ELE9BQU8sRUFBRTtRQUNQLGNBQWMsRUFBRTtZQUNkLElBQUksRUFBRSxnQkFBZ0I7WUFDdEIsV0FBVyxFQUFFLDZCQUFxQjtZQUNsQyxhQUFhLEVBQUUsS0FBSztZQUNwQixZQUFZLEVBQUUsOEJBQXNCO1lBQ3BDLGNBQWMsRUFBRSxLQUFLO1lBQ3JCLE9BQU8sRUFBRSxFQUFFO1NBQ1o7UUFDRCxpQkFBaUIsRUFBRTtZQUNqQixJQUFJLEVBQUUsbUJBQW1CO1lBQ3pCLFdBQVcsRUFBRSxnQ0FBd0I7WUFDckMsYUFBYSxFQUFFLEtBQUs7WUFDcEIsWUFBWSxFQUFFLGlDQUF5QjtZQUN2QyxjQUFjLEVBQUUsS0FBSztZQUNyQixPQUFPLEVBQUUsRUFBRTtTQUNaO0tBQ0Y7Q0FDTyxDQUFDO0FBV1gsU0FBUyxLQUFLLENBQUMsS0FBVTtJQUN2QixPQUFPLEtBQUssS0FBSyxJQUFJLElBQUksS0FBSyxLQUFLLFNBQVMsQ0FBQztBQUMvQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29kZSBnZW5lcmF0ZWQgYnkgcHJvdG9jLWdlbi10c19wcm90by4gRE8gTk9UIEVESVQuXG4vLyB2ZXJzaW9uczpcbi8vICAgcHJvdG9jLWdlbi10c19wcm90byAgdjEuMTgxLjFcbi8vICAgcHJvdG9jICAgICAgICAgICAgICAgdjMuMTkuMVxuLy8gc291cmNlOiBjb20vY29yYWxvZ2l4L3J1bS92Mi9ydW1fc2V0dGluZ3Nfc2VydmljZS5wcm90b1xuXG4vKiBlc2xpbnQtZGlzYWJsZSAqL1xuaW1wb3J0IF9tMCBmcm9tIFwicHJvdG9idWZqcy9taW5pbWFsXCI7XG5pbXBvcnQgeyBSdW1TZXR0aW5ncyB9IGZyb20gXCIuL3J1bV9zZXR0aW5nc1wiO1xuXG5leHBvcnQgY29uc3QgcHJvdG9idWZQYWNrYWdlID0gXCJjb20uY29yYWxvZ2l4LnJ1bS52MlwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEdldFJ1bVNldHRpbmdzUmVxdWVzdCB7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0UnVtU2V0dGluZ3NSZXNwb25zZSB7XG4gIHNldHRpbmdzOiBSdW1TZXR0aW5ncyB8IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVcGRhdGVSdW1TZXR0aW5nc1JlcXVlc3Qge1xuICBzZXR0aW5nczogUnVtU2V0dGluZ3MgfCB1bmRlZmluZWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXBkYXRlUnVtU2V0dGluZ3NSZXNwb25zZSB7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUJhc2VHZXRSdW1TZXR0aW5nc1JlcXVlc3QoKTogR2V0UnVtU2V0dGluZ3NSZXF1ZXN0IHtcbiAgcmV0dXJuIHt9O1xufVxuXG5leHBvcnQgY29uc3QgR2V0UnVtU2V0dGluZ3NSZXF1ZXN0ID0ge1xuICBlbmNvZGUoXzogR2V0UnVtU2V0dGluZ3NSZXF1ZXN0LCB3cml0ZXI6IF9tMC5Xcml0ZXIgPSBfbTAuV3JpdGVyLmNyZWF0ZSgpKTogX20wLldyaXRlciB7XG4gICAgcmV0dXJuIHdyaXRlcjtcbiAgfSxcblxuICBkZWNvZGUoaW5wdXQ6IF9tMC5SZWFkZXIgfCBVaW50OEFycmF5LCBsZW5ndGg/OiBudW1iZXIpOiBHZXRSdW1TZXR0aW5nc1JlcXVlc3Qge1xuICAgIGNvbnN0IHJlYWRlciA9IGlucHV0IGluc3RhbmNlb2YgX20wLlJlYWRlciA/IGlucHV0IDogX20wLlJlYWRlci5jcmVhdGUoaW5wdXQpO1xuICAgIGxldCBlbmQgPSBsZW5ndGggPT09IHVuZGVmaW5lZCA/IHJlYWRlci5sZW4gOiByZWFkZXIucG9zICsgbGVuZ3RoO1xuICAgIGNvbnN0IG1lc3NhZ2UgPSBjcmVhdGVCYXNlR2V0UnVtU2V0dGluZ3NSZXF1ZXN0KCk7XG4gICAgd2hpbGUgKHJlYWRlci5wb3MgPCBlbmQpIHtcbiAgICAgIGNvbnN0IHRhZyA9IHJlYWRlci51aW50MzIoKTtcbiAgICAgIHN3aXRjaCAodGFnID4+PiAzKSB7XG4gICAgICB9XG4gICAgICBpZiAoKHRhZyAmIDcpID09PSA0IHx8IHRhZyA9PT0gMCkge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIHJlYWRlci5za2lwVHlwZSh0YWcgJiA3KTtcbiAgICB9XG4gICAgcmV0dXJuIG1lc3NhZ2U7XG4gIH0sXG5cbiAgZnJvbUpTT04oXzogYW55KTogR2V0UnVtU2V0dGluZ3NSZXF1ZXN0IHtcbiAgICByZXR1cm4ge307XG4gIH0sXG5cbiAgdG9KU09OKF86IEdldFJ1bVNldHRpbmdzUmVxdWVzdCk6IHVua25vd24ge1xuICAgIGNvbnN0IG9iajogYW55ID0ge307XG4gICAgcmV0dXJuIG9iajtcbiAgfSxcblxuICBjcmVhdGUoYmFzZT86IERlZXBQYXJ0aWFsPEdldFJ1bVNldHRpbmdzUmVxdWVzdD4pOiBHZXRSdW1TZXR0aW5nc1JlcXVlc3Qge1xuICAgIHJldHVybiBHZXRSdW1TZXR0aW5nc1JlcXVlc3QuZnJvbVBhcnRpYWwoYmFzZSA/PyB7fSk7XG4gIH0sXG4gIGZyb21QYXJ0aWFsKF86IERlZXBQYXJ0aWFsPEdldFJ1bVNldHRpbmdzUmVxdWVzdD4pOiBHZXRSdW1TZXR0aW5nc1JlcXVlc3Qge1xuICAgIGNvbnN0IG1lc3NhZ2UgPSBjcmVhdGVCYXNlR2V0UnVtU2V0dGluZ3NSZXF1ZXN0KCk7XG4gICAgcmV0dXJuIG1lc3NhZ2U7XG4gIH0sXG59O1xuXG5mdW5jdGlvbiBjcmVhdGVCYXNlR2V0UnVtU2V0dGluZ3NSZXNwb25zZSgpOiBHZXRSdW1TZXR0aW5nc1Jlc3BvbnNlIHtcbiAgcmV0dXJuIHsgc2V0dGluZ3M6IHVuZGVmaW5lZCB9O1xufVxuXG5leHBvcnQgY29uc3QgR2V0UnVtU2V0dGluZ3NSZXNwb25zZSA9IHtcbiAgZW5jb2RlKG1lc3NhZ2U6IEdldFJ1bVNldHRpbmdzUmVzcG9uc2UsIHdyaXRlcjogX20wLldyaXRlciA9IF9tMC5Xcml0ZXIuY3JlYXRlKCkpOiBfbTAuV3JpdGVyIHtcbiAgICBpZiAobWVzc2FnZS5zZXR0aW5ncyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBSdW1TZXR0aW5ncy5lbmNvZGUobWVzc2FnZS5zZXR0aW5ncywgd3JpdGVyLnVpbnQzMigxMCkuZm9yaygpKS5sZGVsaW0oKTtcbiAgICB9XG4gICAgcmV0dXJuIHdyaXRlcjtcbiAgfSxcblxuICBkZWNvZGUoaW5wdXQ6IF9tMC5SZWFkZXIgfCBVaW50OEFycmF5LCBsZW5ndGg/OiBudW1iZXIpOiBHZXRSdW1TZXR0aW5nc1Jlc3BvbnNlIHtcbiAgICBjb25zdCByZWFkZXIgPSBpbnB1dCBpbnN0YW5jZW9mIF9tMC5SZWFkZXIgPyBpbnB1dCA6IF9tMC5SZWFkZXIuY3JlYXRlKGlucHV0KTtcbiAgICBsZXQgZW5kID0gbGVuZ3RoID09PSB1bmRlZmluZWQgPyByZWFkZXIubGVuIDogcmVhZGVyLnBvcyArIGxlbmd0aDtcbiAgICBjb25zdCBtZXNzYWdlID0gY3JlYXRlQmFzZUdldFJ1bVNldHRpbmdzUmVzcG9uc2UoKTtcbiAgICB3aGlsZSAocmVhZGVyLnBvcyA8IGVuZCkge1xuICAgICAgY29uc3QgdGFnID0gcmVhZGVyLnVpbnQzMigpO1xuICAgICAgc3dpdGNoICh0YWcgPj4+IDMpIHtcbiAgICAgICAgY2FzZSAxOlxuICAgICAgICAgIGlmICh0YWcgIT09IDEwKSB7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBtZXNzYWdlLnNldHRpbmdzID0gUnVtU2V0dGluZ3MuZGVjb2RlKHJlYWRlciwgcmVhZGVyLnVpbnQzMigpKTtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cbiAgICAgIGlmICgodGFnICYgNykgPT09IDQgfHwgdGFnID09PSAwKSB7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgcmVhZGVyLnNraXBUeXBlKHRhZyAmIDcpO1xuICAgIH1cbiAgICByZXR1cm4gbWVzc2FnZTtcbiAgfSxcblxuICBmcm9tSlNPTihvYmplY3Q6IGFueSk6IEdldFJ1bVNldHRpbmdzUmVzcG9uc2Uge1xuICAgIHJldHVybiB7IHNldHRpbmdzOiBpc1NldChvYmplY3Quc2V0dGluZ3MpID8gUnVtU2V0dGluZ3MuZnJvbUpTT04ob2JqZWN0LnNldHRpbmdzKSA6IHVuZGVmaW5lZCB9O1xuICB9LFxuXG4gIHRvSlNPTihtZXNzYWdlOiBHZXRSdW1TZXR0aW5nc1Jlc3BvbnNlKTogdW5rbm93biB7XG4gICAgY29uc3Qgb2JqOiBhbnkgPSB7fTtcbiAgICBpZiAobWVzc2FnZS5zZXR0aW5ncyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBvYmouc2V0dGluZ3MgPSBSdW1TZXR0aW5ncy50b0pTT04obWVzc2FnZS5zZXR0aW5ncyk7XG4gICAgfVxuICAgIHJldHVybiBvYmo7XG4gIH0sXG5cbiAgY3JlYXRlKGJhc2U/OiBEZWVwUGFydGlhbDxHZXRSdW1TZXR0aW5nc1Jlc3BvbnNlPik6IEdldFJ1bVNldHRpbmdzUmVzcG9uc2Uge1xuICAgIHJldHVybiBHZXRSdW1TZXR0aW5nc1Jlc3BvbnNlLmZyb21QYXJ0aWFsKGJhc2UgPz8ge30pO1xuICB9LFxuICBmcm9tUGFydGlhbChvYmplY3Q6IERlZXBQYXJ0aWFsPEdldFJ1bVNldHRpbmdzUmVzcG9uc2U+KTogR2V0UnVtU2V0dGluZ3NSZXNwb25zZSB7XG4gICAgY29uc3QgbWVzc2FnZSA9IGNyZWF0ZUJhc2VHZXRSdW1TZXR0aW5nc1Jlc3BvbnNlKCk7XG4gICAgbWVzc2FnZS5zZXR0aW5ncyA9IChvYmplY3Quc2V0dGluZ3MgIT09IHVuZGVmaW5lZCAmJiBvYmplY3Quc2V0dGluZ3MgIT09IG51bGwpXG4gICAgICA/IFJ1bVNldHRpbmdzLmZyb21QYXJ0aWFsKG9iamVjdC5zZXR0aW5ncylcbiAgICAgIDogdW5kZWZpbmVkO1xuICAgIHJldHVybiBtZXNzYWdlO1xuICB9LFxufTtcblxuZnVuY3Rpb24gY3JlYXRlQmFzZVVwZGF0ZVJ1bVNldHRpbmdzUmVxdWVzdCgpOiBVcGRhdGVSdW1TZXR0aW5nc1JlcXVlc3Qge1xuICByZXR1cm4geyBzZXR0aW5nczogdW5kZWZpbmVkIH07XG59XG5cbmV4cG9ydCBjb25zdCBVcGRhdGVSdW1TZXR0aW5nc1JlcXVlc3QgPSB7XG4gIGVuY29kZShtZXNzYWdlOiBVcGRhdGVSdW1TZXR0aW5nc1JlcXVlc3QsIHdyaXRlcjogX20wLldyaXRlciA9IF9tMC5Xcml0ZXIuY3JlYXRlKCkpOiBfbTAuV3JpdGVyIHtcbiAgICBpZiAobWVzc2FnZS5zZXR0aW5ncyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBSdW1TZXR0aW5ncy5lbmNvZGUobWVzc2FnZS5zZXR0aW5ncywgd3JpdGVyLnVpbnQzMigxMCkuZm9yaygpKS5sZGVsaW0oKTtcbiAgICB9XG4gICAgcmV0dXJuIHdyaXRlcjtcbiAgfSxcblxuICBkZWNvZGUoaW5wdXQ6IF9tMC5SZWFkZXIgfCBVaW50OEFycmF5LCBsZW5ndGg/OiBudW1iZXIpOiBVcGRhdGVSdW1TZXR0aW5nc1JlcXVlc3Qge1xuICAgIGNvbnN0IHJlYWRlciA9IGlucHV0IGluc3RhbmNlb2YgX20wLlJlYWRlciA/IGlucHV0IDogX20wLlJlYWRlci5jcmVhdGUoaW5wdXQpO1xuICAgIGxldCBlbmQgPSBsZW5ndGggPT09IHVuZGVmaW5lZCA/IHJlYWRlci5sZW4gOiByZWFkZXIucG9zICsgbGVuZ3RoO1xuICAgIGNvbnN0IG1lc3NhZ2UgPSBjcmVhdGVCYXNlVXBkYXRlUnVtU2V0dGluZ3NSZXF1ZXN0KCk7XG4gICAgd2hpbGUgKHJlYWRlci5wb3MgPCBlbmQpIHtcbiAgICAgIGNvbnN0IHRhZyA9IHJlYWRlci51aW50MzIoKTtcbiAgICAgIHN3aXRjaCAodGFnID4+PiAzKSB7XG4gICAgICAgIGNhc2UgMTpcbiAgICAgICAgICBpZiAodGFnICE9PSAxMCkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgbWVzc2FnZS5zZXR0aW5ncyA9IFJ1bVNldHRpbmdzLmRlY29kZShyZWFkZXIsIHJlYWRlci51aW50MzIoKSk7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgICBpZiAoKHRhZyAmIDcpID09PSA0IHx8IHRhZyA9PT0gMCkge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIHJlYWRlci5za2lwVHlwZSh0YWcgJiA3KTtcbiAgICB9XG4gICAgcmV0dXJuIG1lc3NhZ2U7XG4gIH0sXG5cbiAgZnJvbUpTT04ob2JqZWN0OiBhbnkpOiBVcGRhdGVSdW1TZXR0aW5nc1JlcXVlc3Qge1xuICAgIHJldHVybiB7IHNldHRpbmdzOiBpc1NldChvYmplY3Quc2V0dGluZ3MpID8gUnVtU2V0dGluZ3MuZnJvbUpTT04ob2JqZWN0LnNldHRpbmdzKSA6IHVuZGVmaW5lZCB9O1xuICB9LFxuXG4gIHRvSlNPTihtZXNzYWdlOiBVcGRhdGVSdW1TZXR0aW5nc1JlcXVlc3QpOiB1bmtub3duIHtcbiAgICBjb25zdCBvYmo6IGFueSA9IHt9O1xuICAgIGlmIChtZXNzYWdlLnNldHRpbmdzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIG9iai5zZXR0aW5ncyA9IFJ1bVNldHRpbmdzLnRvSlNPTihtZXNzYWdlLnNldHRpbmdzKTtcbiAgICB9XG4gICAgcmV0dXJuIG9iajtcbiAgfSxcblxuICBjcmVhdGUoYmFzZT86IERlZXBQYXJ0aWFsPFVwZGF0ZVJ1bVNldHRpbmdzUmVxdWVzdD4pOiBVcGRhdGVSdW1TZXR0aW5nc1JlcXVlc3Qge1xuICAgIHJldHVybiBVcGRhdGVSdW1TZXR0aW5nc1JlcXVlc3QuZnJvbVBhcnRpYWwoYmFzZSA/PyB7fSk7XG4gIH0sXG4gIGZyb21QYXJ0aWFsKG9iamVjdDogRGVlcFBhcnRpYWw8VXBkYXRlUnVtU2V0dGluZ3NSZXF1ZXN0Pik6IFVwZGF0ZVJ1bVNldHRpbmdzUmVxdWVzdCB7XG4gICAgY29uc3QgbWVzc2FnZSA9IGNyZWF0ZUJhc2VVcGRhdGVSdW1TZXR0aW5nc1JlcXVlc3QoKTtcbiAgICBtZXNzYWdlLnNldHRpbmdzID0gKG9iamVjdC5zZXR0aW5ncyAhPT0gdW5kZWZpbmVkICYmIG9iamVjdC5zZXR0aW5ncyAhPT0gbnVsbClcbiAgICAgID8gUnVtU2V0dGluZ3MuZnJvbVBhcnRpYWwob2JqZWN0LnNldHRpbmdzKVxuICAgICAgOiB1bmRlZmluZWQ7XG4gICAgcmV0dXJuIG1lc3NhZ2U7XG4gIH0sXG59O1xuXG5mdW5jdGlvbiBjcmVhdGVCYXNlVXBkYXRlUnVtU2V0dGluZ3NSZXNwb25zZSgpOiBVcGRhdGVSdW1TZXR0aW5nc1Jlc3BvbnNlIHtcbiAgcmV0dXJuIHt9O1xufVxuXG5leHBvcnQgY29uc3QgVXBkYXRlUnVtU2V0dGluZ3NSZXNwb25zZSA9IHtcbiAgZW5jb2RlKF86IFVwZGF0ZVJ1bVNldHRpbmdzUmVzcG9uc2UsIHdyaXRlcjogX20wLldyaXRlciA9IF9tMC5Xcml0ZXIuY3JlYXRlKCkpOiBfbTAuV3JpdGVyIHtcbiAgICByZXR1cm4gd3JpdGVyO1xuICB9LFxuXG4gIGRlY29kZShpbnB1dDogX20wLlJlYWRlciB8IFVpbnQ4QXJyYXksIGxlbmd0aD86IG51bWJlcik6IFVwZGF0ZVJ1bVNldHRpbmdzUmVzcG9uc2Uge1xuICAgIGNvbnN0IHJlYWRlciA9IGlucHV0IGluc3RhbmNlb2YgX20wLlJlYWRlciA/IGlucHV0IDogX20wLlJlYWRlci5jcmVhdGUoaW5wdXQpO1xuICAgIGxldCBlbmQgPSBsZW5ndGggPT09IHVuZGVmaW5lZCA/IHJlYWRlci5sZW4gOiByZWFkZXIucG9zICsgbGVuZ3RoO1xuICAgIGNvbnN0IG1lc3NhZ2UgPSBjcmVhdGVCYXNlVXBkYXRlUnVtU2V0dGluZ3NSZXNwb25zZSgpO1xuICAgIHdoaWxlIChyZWFkZXIucG9zIDwgZW5kKSB7XG4gICAgICBjb25zdCB0YWcgPSByZWFkZXIudWludDMyKCk7XG4gICAgICBzd2l0Y2ggKHRhZyA+Pj4gMykge1xuICAgICAgfVxuICAgICAgaWYgKCh0YWcgJiA3KSA9PT0gNCB8fCB0YWcgPT09IDApIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICByZWFkZXIuc2tpcFR5cGUodGFnICYgNyk7XG4gICAgfVxuICAgIHJldHVybiBtZXNzYWdlO1xuICB9LFxuXG4gIGZyb21KU09OKF86IGFueSk6IFVwZGF0ZVJ1bVNldHRpbmdzUmVzcG9uc2Uge1xuICAgIHJldHVybiB7fTtcbiAgfSxcblxuICB0b0pTT04oXzogVXBkYXRlUnVtU2V0dGluZ3NSZXNwb25zZSk6IHVua25vd24ge1xuICAgIGNvbnN0IG9iajogYW55ID0ge307XG4gICAgcmV0dXJuIG9iajtcbiAgfSxcblxuICBjcmVhdGUoYmFzZT86IERlZXBQYXJ0aWFsPFVwZGF0ZVJ1bVNldHRpbmdzUmVzcG9uc2U+KTogVXBkYXRlUnVtU2V0dGluZ3NSZXNwb25zZSB7XG4gICAgcmV0dXJuIFVwZGF0ZVJ1bVNldHRpbmdzUmVzcG9uc2UuZnJvbVBhcnRpYWwoYmFzZSA/PyB7fSk7XG4gIH0sXG4gIGZyb21QYXJ0aWFsKF86IERlZXBQYXJ0aWFsPFVwZGF0ZVJ1bVNldHRpbmdzUmVzcG9uc2U+KTogVXBkYXRlUnVtU2V0dGluZ3NSZXNwb25zZSB7XG4gICAgY29uc3QgbWVzc2FnZSA9IGNyZWF0ZUJhc2VVcGRhdGVSdW1TZXR0aW5nc1Jlc3BvbnNlKCk7XG4gICAgcmV0dXJuIG1lc3NhZ2U7XG4gIH0sXG59O1xuXG5leHBvcnQgdHlwZSBSdW1TZXR0aW5nc1NlcnZpY2VEZWZpbml0aW9uID0gdHlwZW9mIFJ1bVNldHRpbmdzU2VydmljZURlZmluaXRpb247XG5leHBvcnQgY29uc3QgUnVtU2V0dGluZ3NTZXJ2aWNlRGVmaW5pdGlvbiA9IHtcbiAgbmFtZTogXCJSdW1TZXR0aW5nc1NlcnZpY2VcIixcbiAgZnVsbE5hbWU6IFwiY29tLmNvcmFsb2dpeC5ydW0udjIuUnVtU2V0dGluZ3NTZXJ2aWNlXCIsXG4gIG1ldGhvZHM6IHtcbiAgICBnZXRSdW1TZXR0aW5nczoge1xuICAgICAgbmFtZTogXCJHZXRSdW1TZXR0aW5nc1wiLFxuICAgICAgcmVxdWVzdFR5cGU6IEdldFJ1bVNldHRpbmdzUmVxdWVzdCxcbiAgICAgIHJlcXVlc3RTdHJlYW06IGZhbHNlLFxuICAgICAgcmVzcG9uc2VUeXBlOiBHZXRSdW1TZXR0aW5nc1Jlc3BvbnNlLFxuICAgICAgcmVzcG9uc2VTdHJlYW06IGZhbHNlLFxuICAgICAgb3B0aW9uczoge30sXG4gICAgfSxcbiAgICB1cGRhdGVSdW1TZXR0aW5nczoge1xuICAgICAgbmFtZTogXCJVcGRhdGVSdW1TZXR0aW5nc1wiLFxuICAgICAgcmVxdWVzdFR5cGU6IFVwZGF0ZVJ1bVNldHRpbmdzUmVxdWVzdCxcbiAgICAgIHJlcXVlc3RTdHJlYW06IGZhbHNlLFxuICAgICAgcmVzcG9uc2VUeXBlOiBVcGRhdGVSdW1TZXR0aW5nc1Jlc3BvbnNlLFxuICAgICAgcmVzcG9uc2VTdHJlYW06IGZhbHNlLFxuICAgICAgb3B0aW9uczoge30sXG4gICAgfSxcbiAgfSxcbn0gYXMgY29uc3Q7XG5cbnR5cGUgQnVpbHRpbiA9IERhdGUgfCBGdW5jdGlvbiB8IFVpbnQ4QXJyYXkgfCBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuIHwgdW5kZWZpbmVkO1xuXG5leHBvcnQgdHlwZSBEZWVwUGFydGlhbDxUPiA9IFQgZXh0ZW5kcyBCdWlsdGluID8gVFxuICA6IFQgZXh0ZW5kcyBnbG9iYWxUaGlzLkFycmF5PGluZmVyIFU+ID8gZ2xvYmFsVGhpcy5BcnJheTxEZWVwUGFydGlhbDxVPj5cbiAgOiBUIGV4dGVuZHMgUmVhZG9ubHlBcnJheTxpbmZlciBVPiA/IFJlYWRvbmx5QXJyYXk8RGVlcFBhcnRpYWw8VT4+XG4gIDogVCBleHRlbmRzIHsgJGNhc2U6IHN0cmluZyB9ID8geyBbSyBpbiBrZXlvZiBPbWl0PFQsIFwiJGNhc2VcIj5dPzogRGVlcFBhcnRpYWw8VFtLXT4gfSAmIHsgJGNhc2U6IFRbXCIkY2FzZVwiXSB9XG4gIDogVCBleHRlbmRzIHt9ID8geyBbSyBpbiBrZXlvZiBUXT86IERlZXBQYXJ0aWFsPFRbS10+IH1cbiAgOiBQYXJ0aWFsPFQ+O1xuXG5mdW5jdGlvbiBpc1NldCh2YWx1ZTogYW55KTogYm9vbGVhbiB7XG4gIHJldHVybiB2YWx1ZSAhPT0gbnVsbCAmJiB2YWx1ZSAhPT0gdW5kZWZpbmVkO1xufVxuIl19
|
|
234
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVtX3NldHRpbmdzX3NlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm90by1tb2RlbHMvY29tL2NvcmFsb2dpeC9ydW0vdjIvcnVtX3NldHRpbmdzX3NlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLHNEQUFzRDtBQUN0RCxZQUFZO0FBQ1osa0NBQWtDO0FBQ2xDLGlDQUFpQztBQUNqQywwREFBMEQ7Ozs7OztBQUUxRCxvQkFBb0I7QUFDcEIsaUVBQXFDO0FBQ3JDLGlEQUE2QztBQUVoQyxRQUFBLGVBQWUsR0FBRyxzQkFBc0IsQ0FBQztBQWlCdEQsU0FBUywrQkFBK0I7SUFDdEMsT0FBTyxFQUFFLENBQUM7QUFDWixDQUFDO0FBRVksUUFBQSxxQkFBcUIsR0FBRztJQUNuQyxNQUFNLENBQUMsQ0FBd0IsRUFBRSxTQUFxQixpQkFBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUU7UUFDdkUsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUE4QixFQUFFLE1BQWU7UUFDcEQsTUFBTSxNQUFNLEdBQUcsS0FBSyxZQUFZLGlCQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLGlCQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5RSxJQUFJLEdBQUcsR0FBRyxNQUFNLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQztRQUNsRSxNQUFNLE9BQU8sR0FBRywrQkFBK0IsRUFBRSxDQUFDO1FBQ2xELE9BQU8sTUFBTSxDQUFDLEdBQUcsR0FBRyxHQUFHLEVBQUU7WUFDdkIsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzVCLFFBQVEsR0FBRyxLQUFLLENB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NkJBQXFCO1lBQ2xDLGFBQWEsRUFBRSxLQUFLO1lBQ3BCLFlBQVksRUFBRSw4QkFBc0I7WUFDcEMsY0FBYyxFQUFFLEtBQUs7WUFDckIsT0FBTyxFQUFFLEVBQUU7U0FDWjtRQUNELGlCQUFpQixFQUFFO1lBQ2pCLElBQUksRUFBRSxtQkFBbUI7WUFDekIsV0FBVyxFQUFFLGdDQUF3QjtZQUNyQyxhQUFhLEVBQUUsS0FBSztZQUNwQixZQUFZLEVBQUUsaUNBQXlCO1lBQ3ZDLGNBQWMsRUFBRSxLQUFLO1lBQ3JCLE9BQU8sRUFBRSxFQUFFO1NBQ1o7S0FDRjtDQUNPLENBQUM7QUFXWCxTQUFTLEtBQUssQ0FBQyxLQUFVO0lBQ3ZCLE9BQU8sS0FBSyxLQUFLLElBQUksSUFBSSxLQUFLLEtBQUssU0FBUyxDQUFDO0FBQy9DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb2RlIGdlbmVyYXRlZCBieSBwcm90b2MtZ2VuLXRzX3Byb3RvLiBETyBOT1QgRURJVC5cbi8vIHZlcnNpb25zOlxuLy8gICBwcm90b2MtZ2VuLXRzX3Byb3RvICB2MS4xODEuMVxuLy8gICBwcm90b2MgICAgICAgICAgICAgICB2My4xOS4xXG4vLyBzb3VyY2U6IGNvbS9jb3JhbG9naXgvcnVtL3YyL3J1bV9zZXR0aW5nc19zZXJ2aWNlLnByb3RvXG5cbi8qIGVzbGludC1kaXNhYmxlICovXG5pbXBvcnQgX20wIGZyb20gXCJwcm90b2J1ZmpzL21pbmltYWxcIjtcbmltcG9ydCB7IFJ1bVNldHRpbmdzIH0gZnJvbSBcIi4vcnVtX3NldHRpbmdzXCI7XG5cbmV4cG9ydCBjb25zdCBwcm90b2J1ZlBhY2thZ2UgPSBcImNvbS5jb3JhbG9naXgucnVtLnYyXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0UnVtU2V0dGluZ3NSZXF1ZXN0IHtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRSdW1TZXR0aW5nc1Jlc3BvbnNlIHtcbiAgc2V0dGluZ3M6IFJ1bVNldHRpbmdzIHwgdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVwZGF0ZVJ1bVNldHRpbmdzUmVxdWVzdCB7XG4gIHNldHRpbmdzOiBSdW1TZXR0aW5ncyB8IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVcGRhdGVSdW1TZXR0aW5nc1Jlc3BvbnNlIHtcbiAgc2V0dGluZ3M6IFJ1bVNldHRpbmdzIHwgdW5kZWZpbmVkO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVCYXNlR2V0UnVtU2V0dGluZ3NSZXF1ZXN0KCk6IEdldFJ1bVNldHRpbmdzUmVxdWVzdCB7XG4gIHJldHVybiB7fTtcbn1cblxuZXhwb3J0IGNvbnN0IEdldFJ1bVNldHRpbmdzUmVxdWVzdCA9IHtcbiAgZW5jb2RlKF86IEdldFJ1bVNldHRpbmdzUmVxdWVzdCwgd3JpdGVyOiBfbTAuV3JpdGVyID0gX20wLldyaXRlci5jcmVhdGUoKSk6IF9tMC5Xcml0ZXIge1xuICAgIHJldHVybiB3cml0ZXI7XG4gIH0sXG5cbiAgZGVjb2RlKGlucHV0OiBfbTAuUmVhZGVyIHwgVWludDhBcnJheSwgbGVuZ3RoPzogbnVtYmVyKTogR2V0UnVtU2V0dGluZ3NSZXF1ZXN0IHtcbiAgICBjb25zdCByZWFkZXIgPSBpbnB1dCBpbnN0YW5jZW9mIF9tMC5SZWFkZXIgPyBpbnB1dCA6IF9tMC5SZWFkZXIuY3JlYXRlKGlucHV0KTtcbiAgICBsZXQgZW5kID0gbGVuZ3RoID09PSB1bmRlZmluZWQgPyByZWFkZXIubGVuIDogcmVhZGVyLnBvcyArIGxlbmd0aDtcbiAgICBjb25zdCBtZXNzYWdlID0gY3JlYXRlQmFzZUdldFJ1bVNldHRpbmdzUmVxdWVzdCgpO1xuICAgIHdoaWxlIChyZWFkZXIucG9zIDwgZW5kKSB7XG4gICAgICBjb25zdCB0YWcgPSByZWFkZXIudWludDMyKCk7XG4gICAgICBzd2l0Y2ggKHRhZyA+Pj4gMykge1xuICAgICAgfVxuICAgICAgaWYgKCh0YWcgJiA3KSA9PT0gNCB8fCB0YWcgPT09IDApIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICByZWFkZXIuc2tpcFR5cGUodGFnICYgNyk7XG4gICAgfVxuICAgIHJldHVybiBtZXNzYWdlO1xuICB9LFxuXG4gIGZyb21KU09OKF86IGFueSk6IEdldFJ1bVNldHRpbmdzUmVxdWVzdCB7XG4gICAgcmV0dXJuIHt9O1xuICB9LFxuXG4gIHRvSlNPTihfOiBHZXRSdW1TZXR0aW5nc1JlcXVlc3QpOiB1bmtub3duIHtcbiAgICBjb25zdCBvYmo6IGFueSA9IHt9O1xuICAgIHJldHVybiBvYmo7XG4gIH0sXG5cbiAgY3JlYXRlKGJhc2U/OiBEZWVwUGFydGlhbDxHZXRSdW1TZXR0aW5nc1JlcXVlc3Q+KTogR2V0UnVtU2V0dGluZ3NSZXF1ZXN0IHtcbiAgICByZXR1cm4gR2V0UnVtU2V0dGluZ3NSZXF1ZXN0LmZyb21QYXJ0aWFsKGJhc2UgPz8ge30pO1xuICB9LFxuICBmcm9tUGFydGlhbChfOiBEZWVwUGFydGlhbDxHZXRSdW1TZXR0aW5nc1JlcXVlc3Q+KTogR2V0UnVtU2V0dGluZ3NSZXF1ZXN0IHtcbiAgICBjb25zdCBtZXNzYWdlID0gY3JlYXRlQmFzZUdldFJ1bVNldHRpbmdzUmVxdWVzdCgpO1xuICAgIHJldHVybiBtZXNzYWdlO1xuICB9LFxufTtcblxuZnVuY3Rpb24gY3JlYXRlQmFzZUdldFJ1bVNldHRpbmdzUmVzcG9uc2UoKTogR2V0UnVtU2V0dGluZ3NSZXNwb25zZSB7XG4gIHJldHVybiB7IHNldHRpbmdzOiB1bmRlZmluZWQgfTtcbn1cblxuZXhwb3J0IGNvbnN0IEdldFJ1bVNldHRpbmdzUmVzcG9uc2UgPSB7XG4gIGVuY29kZShtZXNzYWdlOiBHZXRSdW1TZXR0aW5nc1Jlc3BvbnNlLCB3cml0ZXI6IF9tMC5Xcml0ZXIgPSBfbTAuV3JpdGVyLmNyZWF0ZSgpKTogX20wLldyaXRlciB7XG4gICAgaWYgKG1lc3NhZ2Uuc2V0dGluZ3MgIT09IHVuZGVmaW5lZCkge1xuICAgICAgUnVtU2V0dGluZ3MuZW5jb2RlKG1lc3NhZ2Uuc2V0dGluZ3MsIHdyaXRlci51aW50MzIoMTApLmZvcmsoKSkubGRlbGltKCk7XG4gICAgfVxuICAgIHJldHVybiB3cml0ZXI7XG4gIH0sXG5cbiAgZGVjb2RlKGlucHV0OiBfbTAuUmVhZGVyIHwgVWludDhBcnJheSwgbGVuZ3RoPzogbnVtYmVyKTogR2V0UnVtU2V0dGluZ3NSZXNwb25zZSB7XG4gICAgY29uc3QgcmVhZGVyID0gaW5wdXQgaW5zdGFuY2VvZiBfbTAuUmVhZGVyID8gaW5wdXQgOiBfbTAuUmVhZGVyLmNyZWF0ZShpbnB1dCk7XG4gICAgbGV0IGVuZCA9IGxlbmd0aCA9PT0gdW5kZWZpbmVkID8gcmVhZGVyLmxlbiA6IHJlYWRlci5wb3MgKyBsZW5ndGg7XG4gICAgY29uc3QgbWVzc2FnZSA9IGNyZWF0ZUJhc2VHZXRSdW1TZXR0aW5nc1Jlc3BvbnNlKCk7XG4gICAgd2hpbGUgKHJlYWRlci5wb3MgPCBlbmQpIHtcbiAgICAgIGNvbnN0IHRhZyA9IHJlYWRlci51aW50MzIoKTtcbiAgICAgIHN3aXRjaCAodGFnID4+PiAzKSB7XG4gICAgICAgIGNhc2UgMTpcbiAgICAgICAgICBpZiAodGFnICE9PSAxMCkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgbWVzc2FnZS5zZXR0aW5ncyA9IFJ1bVNldHRpbmdzLmRlY29kZShyZWFkZXIsIHJlYWRlci51aW50MzIoKSk7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgICBpZiAoKHRhZyAmIDcpID09PSA0IHx8IHRhZyA9PT0gMCkge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIHJlYWRlci5za2lwVHlwZSh0YWcgJiA3KTtcbiAgICB9XG4gICAgcmV0dXJuIG1lc3NhZ2U7XG4gIH0sXG5cbiAgZnJvbUpTT04ob2JqZWN0OiBhbnkpOiBHZXRSdW1TZXR0aW5nc1Jlc3BvbnNlIHtcbiAgICByZXR1cm4geyBzZXR0aW5nczogaXNTZXQob2JqZWN0LnNldHRpbmdzKSA/IFJ1bVNldHRpbmdzLmZyb21KU09OKG9iamVjdC5zZXR0aW5ncykgOiB1bmRlZmluZWQgfTtcbiAgfSxcblxuICB0b0pTT04obWVzc2FnZTogR2V0UnVtU2V0dGluZ3NSZXNwb25zZSk6IHVua25vd24ge1xuICAgIGNvbnN0IG9iajogYW55ID0ge307XG4gICAgaWYgKG1lc3NhZ2Uuc2V0dGluZ3MgIT09IHVuZGVmaW5lZCkge1xuICAgICAgb2JqLnNldHRpbmdzID0gUnVtU2V0dGluZ3MudG9KU09OKG1lc3NhZ2Uuc2V0dGluZ3MpO1xuICAgIH1cbiAgICByZXR1cm4gb2JqO1xuICB9LFxuXG4gIGNyZWF0ZShiYXNlPzogRGVlcFBhcnRpYWw8R2V0UnVtU2V0dGluZ3NSZXNwb25zZT4pOiBHZXRSdW1TZXR0aW5nc1Jlc3BvbnNlIHtcbiAgICByZXR1cm4gR2V0UnVtU2V0dGluZ3NSZXNwb25zZS5mcm9tUGFydGlhbChiYXNlID8/IHt9KTtcbiAgfSxcbiAgZnJvbVBhcnRpYWwob2JqZWN0OiBEZWVwUGFydGlhbDxHZXRSdW1TZXR0aW5nc1Jlc3BvbnNlPik6IEdldFJ1bVNldHRpbmdzUmVzcG9uc2Uge1xuICAgIGNvbnN0IG1lc3NhZ2UgPSBjcmVhdGVCYXNlR2V0UnVtU2V0dGluZ3NSZXNwb25zZSgpO1xuICAgIG1lc3NhZ2Uuc2V0dGluZ3MgPSAob2JqZWN0LnNldHRpbmdzICE9PSB1bmRlZmluZWQgJiYgb2JqZWN0LnNldHRpbmdzICE9PSBudWxsKVxuICAgICAgPyBSdW1TZXR0aW5ncy5mcm9tUGFydGlhbChvYmplY3Quc2V0dGluZ3MpXG4gICAgICA6IHVuZGVmaW5lZDtcbiAgICByZXR1cm4gbWVzc2FnZTtcbiAgfSxcbn07XG5cbmZ1bmN0aW9uIGNyZWF0ZUJhc2VVcGRhdGVSdW1TZXR0aW5nc1JlcXVlc3QoKTogVXBkYXRlUnVtU2V0dGluZ3NSZXF1ZXN0IHtcbiAgcmV0dXJuIHsgc2V0dGluZ3M6IHVuZGVmaW5lZCB9O1xufVxuXG5leHBvcnQgY29uc3QgVXBkYXRlUnVtU2V0dGluZ3NSZXF1ZXN0ID0ge1xuICBlbmNvZGUobWVzc2FnZTogVXBkYXRlUnVtU2V0dGluZ3NSZXF1ZXN0LCB3cml0ZXI6IF9tMC5Xcml0ZXIgPSBfbTAuV3JpdGVyLmNyZWF0ZSgpKTogX20wLldyaXRlciB7XG4gICAgaWYgKG1lc3NhZ2Uuc2V0dGluZ3MgIT09IHVuZGVmaW5lZCkge1xuICAgICAgUnVtU2V0dGluZ3MuZW5jb2RlKG1lc3NhZ2Uuc2V0dGluZ3MsIHdyaXRlci51aW50MzIoMTApLmZvcmsoKSkubGRlbGltKCk7XG4gICAgfVxuICAgIHJldHVybiB3cml0ZXI7XG4gIH0sXG5cbiAgZGVjb2RlKGlucHV0OiBfbTAuUmVhZGVyIHwgVWludDhBcnJheSwgbGVuZ3RoPzogbnVtYmVyKTogVXBkYXRlUnVtU2V0dGluZ3NSZXF1ZXN0IHtcbiAgICBjb25zdCByZWFkZXIgPSBpbnB1dCBpbnN0YW5jZW9mIF9tMC5SZWFkZXIgPyBpbnB1dCA6IF9tMC5SZWFkZXIuY3JlYXRlKGlucHV0KTtcbiAgICBsZXQgZW5kID0gbGVuZ3RoID09PSB1bmRlZmluZWQgPyByZWFkZXIubGVuIDogcmVhZGVyLnBvcyArIGxlbmd0aDtcbiAgICBjb25zdCBtZXNzYWdlID0gY3JlYXRlQmFzZVVwZGF0ZVJ1bVNldHRpbmdzUmVxdWVzdCgpO1xuICAgIHdoaWxlIChyZWFkZXIucG9zIDwgZW5kKSB7XG4gICAgICBjb25zdCB0YWcgPSByZWFkZXIudWludDMyKCk7XG4gICAgICBzd2l0Y2ggKHRhZyA+Pj4gMykge1xuICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgaWYgKHRhZyAhPT0gMTApIHtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIG1lc3NhZ2Uuc2V0dGluZ3MgPSBSdW1TZXR0aW5ncy5kZWNvZGUocmVhZGVyLCByZWFkZXIudWludDMyKCkpO1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuICAgICAgaWYgKCh0YWcgJiA3KSA9PT0gNCB8fCB0YWcgPT09IDApIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICByZWFkZXIuc2tpcFR5cGUodGFnICYgNyk7XG4gICAgfVxuICAgIHJldHVybiBtZXNzYWdlO1xuICB9LFxuXG4gIGZyb21KU09OKG9iamVjdDogYW55KTogVXBkYXRlUnVtU2V0dGluZ3NSZXF1ZXN0IHtcbiAgICByZXR1cm4geyBzZXR0aW5nczogaXNTZXQob2JqZWN0LnNldHRpbmdzKSA/IFJ1bVNldHRpbmdzLmZyb21KU09OKG9iamVjdC5zZXR0aW5ncykgOiB1bmRlZmluZWQgfTtcbiAgfSxcblxuICB0b0pTT04obWVzc2FnZTogVXBkYXRlUnVtU2V0dGluZ3NSZXF1ZXN0KTogdW5rbm93biB7XG4gICAgY29uc3Qgb2JqOiBhbnkgPSB7fTtcbiAgICBpZiAobWVzc2FnZS5zZXR0aW5ncyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBvYmouc2V0dGluZ3MgPSBSdW1TZXR0aW5ncy50b0pTT04obWVzc2FnZS5zZXR0aW5ncyk7XG4gICAgfVxuICAgIHJldHVybiBvYmo7XG4gIH0sXG5cbiAgY3JlYXRlKGJhc2U/OiBEZWVwUGFydGlhbDxVcGRhdGVSdW1TZXR0aW5nc1JlcXVlc3Q+KTogVXBkYXRlUnVtU2V0dGluZ3NSZXF1ZXN0IHtcbiAgICByZXR1cm4gVXBkYXRlUnVtU2V0dGluZ3NSZXF1ZXN0LmZyb21QYXJ0aWFsKGJhc2UgPz8ge30pO1xuICB9LFxuICBmcm9tUGFydGlhbChvYmplY3Q6IERlZXBQYXJ0aWFsPFVwZGF0ZVJ1bVNldHRpbmdzUmVxdWVzdD4pOiBVcGRhdGVSdW1TZXR0aW5nc1JlcXVlc3Qge1xuICAgIGNvbnN0IG1lc3NhZ2UgPSBjcmVhdGVCYXNlVXBkYXRlUnVtU2V0dGluZ3NSZXF1ZXN0KCk7XG4gICAgbWVzc2FnZS5zZXR0aW5ncyA9IChvYmplY3Quc2V0dGluZ3MgIT09IHVuZGVmaW5lZCAmJiBvYmplY3Quc2V0dGluZ3MgIT09IG51bGwpXG4gICAgICA/IFJ1bVNldHRpbmdzLmZyb21QYXJ0aWFsKG9iamVjdC5zZXR0aW5ncylcbiAgICAgIDogdW5kZWZpbmVkO1xuICAgIHJldHVybiBtZXNzYWdlO1xuICB9LFxufTtcblxuZnVuY3Rpb24gY3JlYXRlQmFzZVVwZGF0ZVJ1bVNldHRpbmdzUmVzcG9uc2UoKTogVXBkYXRlUnVtU2V0dGluZ3NSZXNwb25zZSB7XG4gIHJldHVybiB7IHNldHRpbmdzOiB1bmRlZmluZWQgfTtcbn1cblxuZXhwb3J0IGNvbnN0IFVwZGF0ZVJ1bVNldHRpbmdzUmVzcG9uc2UgPSB7XG4gIGVuY29kZShtZXNzYWdlOiBVcGRhdGVSdW1TZXR0aW5nc1Jlc3BvbnNlLCB3cml0ZXI6IF9tMC5Xcml0ZXIgPSBfbTAuV3JpdGVyLmNyZWF0ZSgpKTogX20wLldyaXRlciB7XG4gICAgaWYgKG1lc3NhZ2Uuc2V0dGluZ3MgIT09IHVuZGVmaW5lZCkge1xuICAgICAgUnVtU2V0dGluZ3MuZW5jb2RlKG1lc3NhZ2Uuc2V0dGluZ3MsIHdyaXRlci51aW50MzIoMTApLmZvcmsoKSkubGRlbGltKCk7XG4gICAgfVxuICAgIHJldHVybiB3cml0ZXI7XG4gIH0sXG5cbiAgZGVjb2RlKGlucHV0OiBfbTAuUmVhZGVyIHwgVWludDhBcnJheSwgbGVuZ3RoPzogbnVtYmVyKTogVXBkYXRlUnVtU2V0dGluZ3NSZXNwb25zZSB7XG4gICAgY29uc3QgcmVhZGVyID0gaW5wdXQgaW5zdGFuY2VvZiBfbTAuUmVhZGVyID8gaW5wdXQgOiBfbTAuUmVhZGVyLmNyZWF0ZShpbnB1dCk7XG4gICAgbGV0IGVuZCA9IGxlbmd0aCA9PT0gdW5kZWZpbmVkID8gcmVhZGVyLmxlbiA6IHJlYWRlci5wb3MgKyBsZW5ndGg7XG4gICAgY29uc3QgbWVzc2FnZSA9IGNyZWF0ZUJhc2VVcGRhdGVSdW1TZXR0aW5nc1Jlc3BvbnNlKCk7XG4gICAgd2hpbGUgKHJlYWRlci5wb3MgPCBlbmQpIHtcbiAgICAgIGNvbnN0IHRhZyA9IHJlYWRlci51aW50MzIoKTtcbiAgICAgIHN3aXRjaCAodGFnID4+PiAzKSB7XG4gICAgICAgIGNhc2UgMTpcbiAgICAgICAgICBpZiAodGFnICE9PSAxMCkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgbWVzc2FnZS5zZXR0aW5ncyA9IFJ1bVNldHRpbmdzLmRlY29kZShyZWFkZXIsIHJlYWRlci51aW50MzIoKSk7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgICBpZiAoKHRhZyAmIDcpID09PSA0IHx8IHRhZyA9PT0gMCkge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIHJlYWRlci5za2lwVHlwZSh0YWcgJiA3KTtcbiAgICB9XG4gICAgcmV0dXJuIG1lc3NhZ2U7XG4gIH0sXG5cbiAgZnJvbUpTT04ob2JqZWN0OiBhbnkpOiBVcGRhdGVSdW1TZXR0aW5nc1Jlc3BvbnNlIHtcbiAgICByZXR1cm4geyBzZXR0aW5nczogaXNTZXQob2JqZWN0LnNldHRpbmdzKSA/IFJ1bVNldHRpbmdzLmZyb21KU09OKG9iamVjdC5zZXR0aW5ncykgOiB1bmRlZmluZWQgfTtcbiAgfSxcblxuICB0b0pTT04obWVzc2FnZTogVXBkYXRlUnVtU2V0dGluZ3NSZXNwb25zZSk6IHVua25vd24ge1xuICAgIGNvbnN0IG9iajogYW55ID0ge307XG4gICAgaWYgKG1lc3NhZ2Uuc2V0dGluZ3MgIT09IHVuZGVmaW5lZCkge1xuICAgICAgb2JqLnNldHRpbmdzID0gUnVtU2V0dGluZ3MudG9KU09OKG1lc3NhZ2Uuc2V0dGluZ3MpO1xuICAgIH1cbiAgICByZXR1cm4gb2JqO1xuICB9LFxuXG4gIGNyZWF0ZShiYXNlPzogRGVlcFBhcnRpYWw8VXBkYXRlUnVtU2V0dGluZ3NSZXNwb25zZT4pOiBVcGRhdGVSdW1TZXR0aW5nc1Jlc3BvbnNlIHtcbiAgICByZXR1cm4gVXBkYXRlUnVtU2V0dGluZ3NSZXNwb25zZS5mcm9tUGFydGlhbChiYXNlID8/IHt9KTtcbiAgfSxcbiAgZnJvbVBhcnRpYWwob2JqZWN0OiBEZWVwUGFydGlhbDxVcGRhdGVSdW1TZXR0aW5nc1Jlc3BvbnNlPik6IFVwZGF0ZVJ1bVNldHRpbmdzUmVzcG9uc2Uge1xuICAgIGNvbnN0IG1lc3NhZ2UgPSBjcmVhdGVCYXNlVXBkYXRlUnVtU2V0dGluZ3NSZXNwb25zZSgpO1xuICAgIG1lc3NhZ2Uuc2V0dGluZ3MgPSAob2JqZWN0LnNldHRpbmdzICE9PSB1bmRlZmluZWQgJiYgb2JqZWN0LnNldHRpbmdzICE9PSBudWxsKVxuICAgICAgPyBSdW1TZXR0aW5ncy5mcm9tUGFydGlhbChvYmplY3Quc2V0dGluZ3MpXG4gICAgICA6IHVuZGVmaW5lZDtcbiAgICByZXR1cm4gbWVzc2FnZTtcbiAgfSxcbn07XG5cbmV4cG9ydCB0eXBlIFJ1bVNldHRpbmdzU2VydmljZURlZmluaXRpb24gPSB0eXBlb2YgUnVtU2V0dGluZ3NTZXJ2aWNlRGVmaW5pdGlvbjtcbmV4cG9ydCBjb25zdCBSdW1TZXR0aW5nc1NlcnZpY2VEZWZpbml0aW9uID0ge1xuICBuYW1lOiBcIlJ1bVNldHRpbmdzU2VydmljZVwiLFxuICBmdWxsTmFtZTogXCJjb20uY29yYWxvZ2l4LnJ1bS52Mi5SdW1TZXR0aW5nc1NlcnZpY2VcIixcbiAgbWV0aG9kczoge1xuICAgIGdldFJ1bVNldHRpbmdzOiB7XG4gICAgICBuYW1lOiBcIkdldFJ1bVNldHRpbmdzXCIsXG4gICAgICByZXF1ZXN0VHlwZTogR2V0UnVtU2V0dGluZ3NSZXF1ZXN0LFxuICAgICAgcmVxdWVzdFN0cmVhbTogZmFsc2UsXG4gICAgICByZXNwb25zZVR5cGU6IEdldFJ1bVNldHRpbmdzUmVzcG9uc2UsXG4gICAgICByZXNwb25zZVN0cmVhbTogZmFsc2UsXG4gICAgICBvcHRpb25zOiB7fSxcbiAgICB9LFxuICAgIHVwZGF0ZVJ1bVNldHRpbmdzOiB7XG4gICAgICBuYW1lOiBcIlVwZGF0ZVJ1bVNldHRpbmdzXCIsXG4gICAgICByZXF1ZXN0VHlwZTogVXBkYXRlUnVtU2V0dGluZ3NSZXF1ZXN0LFxuICAgICAgcmVxdWVzdFN0cmVhbTogZmFsc2UsXG4gICAgICByZXNwb25zZVR5cGU6IFVwZGF0ZVJ1bVNldHRpbmdzUmVzcG9uc2UsXG4gICAgICByZXNwb25zZVN0cmVhbTogZmFsc2UsXG4gICAgICBvcHRpb25zOiB7fSxcbiAgICB9LFxuICB9LFxufSBhcyBjb25zdDtcblxudHlwZSBCdWlsdGluID0gRGF0ZSB8IEZ1bmN0aW9uIHwgVWludDhBcnJheSB8IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG5cbmV4cG9ydCB0eXBlIERlZXBQYXJ0aWFsPFQ+ID0gVCBleHRlbmRzIEJ1aWx0aW4gPyBUXG4gIDogVCBleHRlbmRzIGdsb2JhbFRoaXMuQXJyYXk8aW5mZXIgVT4gPyBnbG9iYWxUaGlzLkFycmF5PERlZXBQYXJ0aWFsPFU+PlxuICA6IFQgZXh0ZW5kcyBSZWFkb25seUFycmF5PGluZmVyIFU+ID8gUmVhZG9ubHlBcnJheTxEZWVwUGFydGlhbDxVPj5cbiAgOiBUIGV4dGVuZHMgeyAkY2FzZTogc3RyaW5nIH0gPyB7IFtLIGluIGtleW9mIE9taXQ8VCwgXCIkY2FzZVwiPl0/OiBEZWVwUGFydGlhbDxUW0tdPiB9ICYgeyAkY2FzZTogVFtcIiRjYXNlXCJdIH1cbiAgOiBUIGV4dGVuZHMge30gPyB7IFtLIGluIGtleW9mIFRdPzogRGVlcFBhcnRpYWw8VFtLXT4gfVxuICA6IFBhcnRpYWw8VD47XG5cbmZ1bmN0aW9uIGlzU2V0KHZhbHVlOiBhbnkpOiBib29sZWFuIHtcbiAgcmV0dXJuIHZhbHVlICE9PSBudWxsICYmIHZhbHVlICE9PSB1bmRlZmluZWQ7XG59XG4iXX0=
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export declare class DsymService {
|
|
2
|
-
static upload(application: string, version: string, repoName: string | undefined, commitHash: string | undefined, orgName: string | undefined,
|
|
2
|
+
static upload(application: string, version: string, repoName: string | undefined, commitHash: string | undefined, orgName: string | undefined, dsymPath: string, env: string, privateKey: string): Promise<void>;
|
|
3
3
|
}
|
|
@@ -16,12 +16,12 @@ const blobset_service_1 = require("../proto-models/com/coralogix/blobset/v2/blob
|
|
|
16
16
|
const dsym_api_1 = require("../api/dsym.api");
|
|
17
17
|
const file_processor_utils_1 = require("../utils/file-processor.utils");
|
|
18
18
|
class DsymService {
|
|
19
|
-
static upload(application, version, repoName, commitHash, orgName,
|
|
19
|
+
static upload(application, version, repoName, commitHash, orgName, dsymPath, env, privateKey) {
|
|
20
20
|
return __awaiter(this, void 0, void 0, function* () {
|
|
21
21
|
const request = blobset_service_1.UploadBlobRequest.create();
|
|
22
22
|
console.log(consts_1.GRAY_COLOR, '🚀 Uploading Dsym...');
|
|
23
23
|
try {
|
|
24
|
-
yield file_processor_utils_1.FileProcessor.traverseDsymFolder(
|
|
24
|
+
yield file_processor_utils_1.FileProcessor.traverseDsymFolder(dsymPath, request);
|
|
25
25
|
yield dsym_api_1.DsymApi.uploadDsym(request, application, version, repoName, commitHash, orgName, env, privateKey);
|
|
26
26
|
console.log(consts_1.GREEN_COLOR, '✅ Dsym uploaded successfully!');
|
|
27
27
|
console.log(consts_1.GREEN_COLOR, '✅ Processing complete.');
|
|
@@ -33,4 +33,4 @@ class DsymService {
|
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
35
|
exports.DsymService = DsymService;
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHN5bS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc2VydmljZXMvZHN5bS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLDZDQUEyRDtBQUMzRCx3REFBcUQ7QUFDckQsOEZBQTZGO0FBQzdGLDhDQUEwQztBQUMxQyx3RUFBOEQ7QUFFOUQsTUFBYSxXQUFXO0lBQ3RCLE1BQU0sQ0FBTyxNQUFNLENBQ2pCLFdBQW1CLEVBQ25CLE9BQWUsRUFDZixRQUE0QixFQUM1QixVQUE4QixFQUM5QixPQUEyQixFQUMzQixRQUFnQixFQUNoQixHQUFXLEVBQ1gsVUFBa0I7O1lBRWxCLE1BQU0sT0FBTyxHQUFHLG1DQUFpQixDQUFDLE1BQU0sRUFBRSxDQUFDO1lBRTNDLE9BQU8sQ0FBQyxHQUFHLENBQUMsbUJBQVUsRUFBRSxzQkFBc0IsQ0FBQyxDQUFDO1lBRWhELElBQUk7Z0JBQ0YsTUFBTSxvQ0FBYSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztnQkFFMUQsTUFBTSxrQkFBTyxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsVUFBVSxDQUFDLENBQUM7Z0JBRXhHLE9BQU8sQ0FBQyxHQUFHLENBQUMsb0JBQVcsRUFBRSwrQkFBK0IsQ0FBQyxDQUFDO2dCQUMxRCxPQUFPLENBQUMsR0FBRyxDQUFDLG9CQUFXLEVBQUUsd0JBQXdCLENBQUMsQ0FBQzthQUNwRDtZQUFDLE9BQU8sS0FBSyxFQUFFO2dCQUNkLElBQUEsMkJBQVksRUFBQyxLQUFLLENBQUMsQ0FBQzthQUNyQjtRQUNILENBQUM7S0FBQTtDQUNGO0FBMUJELGtDQTBCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEdSQVlfQ09MT1IsIEdSRUVOX0NPTE9SIH0gZnJvbSAnLi4vY29uc3RzL2NvbnN0cyc7XG5pbXBvcnQgeyBjb25zb2xlRXJyb3IgfSBmcm9tICcuLi91dGlscy9zaGFyZWQudXRpbHMnO1xuaW1wb3J0IHsgVXBsb2FkQmxvYlJlcXVlc3QgfSBmcm9tICcuLi9wcm90by1tb2RlbHMvY29tL2NvcmFsb2dpeC9ibG9ic2V0L3YyL2Jsb2JzZXRfc2VydmljZSc7XG5pbXBvcnQgeyBEc3ltQXBpIH0gZnJvbSAnLi4vYXBpL2RzeW0uYXBpJztcbmltcG9ydCB7IEZpbGVQcm9jZXNzb3IgfSBmcm9tICcuLi91dGlscy9maWxlLXByb2Nlc3Nvci51dGlscyc7XG5cbmV4cG9ydCBjbGFzcyBEc3ltU2VydmljZSB7XG4gIHN0YXRpYyBhc3luYyB1cGxvYWQoXG4gICAgYXBwbGljYXRpb246IHN0cmluZyxcbiAgICB2ZXJzaW9uOiBzdHJpbmcsXG4gICAgcmVwb05hbWU6IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgICBjb21taXRIYXNoOiBzdHJpbmcgfCB1bmRlZmluZWQsXG4gICAgb3JnTmFtZTogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICAgIGRzeW1QYXRoOiBzdHJpbmcsXG4gICAgZW52OiBzdHJpbmcsXG4gICAgcHJpdmF0ZUtleTogc3RyaW5nLFxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCByZXF1ZXN0ID0gVXBsb2FkQmxvYlJlcXVlc3QuY3JlYXRlKCk7XG5cbiAgICBjb25zb2xlLmxvZyhHUkFZX0NPTE9SLCAn8J+agCBVcGxvYWRpbmcgRHN5bS4uLicpO1xuXG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IEZpbGVQcm9jZXNzb3IudHJhdmVyc2VEc3ltRm9sZGVyKGRzeW1QYXRoLCByZXF1ZXN0KTtcblxuICAgICAgYXdhaXQgRHN5bUFwaS51cGxvYWREc3ltKHJlcXVlc3QsIGFwcGxpY2F0aW9uLCB2ZXJzaW9uLCByZXBvTmFtZSwgY29tbWl0SGFzaCwgb3JnTmFtZSwgZW52LCBwcml2YXRlS2V5KTtcblxuICAgICAgY29uc29sZS5sb2coR1JFRU5fQ09MT1IsICfinIUgRHN5bSB1cGxvYWRlZCBzdWNjZXNzZnVsbHkhJyk7XG4gICAgICBjb25zb2xlLmxvZyhHUkVFTl9DT0xPUiwgJ+KchSBQcm9jZXNzaW5nIGNvbXBsZXRlLicpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlRXJyb3IoZXJyb3IpO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.ProguardService = void 0;
|
|
13
|
+
const consts_1 = require("../consts/consts");
|
|
14
|
+
const shared_utils_1 = require("../utils/shared.utils");
|
|
15
|
+
const blobset_service_1 = require("../proto-models/com/coralogix/blobset/v2/blobset_service");
|
|
16
|
+
const file_processor_utils_1 = require("../utils/file-processor.utils");
|
|
17
|
+
const proguard_api_1 = require("../api/proguard.api");
|
|
18
|
+
class ProguardService {
|
|
19
|
+
static upload(application, version, repoName, commitHash, orgName, proguardPath, env, privateKey) {
|
|
20
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
21
|
+
const request = blobset_service_1.UploadBlobRequest.create();
|
|
22
|
+
console.log(consts_1.GRAY_COLOR, '🚀 Uploading Proguard...');
|
|
23
|
+
try {
|
|
24
|
+
yield file_processor_utils_1.FileProcessor.traverseProguardFolder(proguardPath, request);
|
|
25
|
+
yield proguard_api_1.ProguardApi.uploadProguard(request, application, version, repoName, commitHash, orgName, env, privateKey);
|
|
26
|
+
console.log(consts_1.GREEN_COLOR, '✅ Proguard uploaded successfully!');
|
|
27
|
+
console.log(consts_1.GREEN_COLOR, '✅ Processing complete.');
|
|
28
|
+
}
|
|
29
|
+
catch (error) {
|
|
30
|
+
(0, shared_utils_1.consoleError)(error);
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
exports.ProguardService = ProguardService;
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3VhcmQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NlcnZpY2VzL3Byb2d1YXJkLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsNkNBQTJEO0FBQzNELHdEQUFxRDtBQUNyRCw4RkFBNkY7QUFDN0Ysd0VBQThEO0FBQzlELHNEQUFrRDtBQUVsRCxNQUFhLGVBQWU7SUFDMUIsTUFBTSxDQUFPLE1BQU0sQ0FDakIsV0FBbUIsRUFDbkIsT0FBZSxFQUNmLFFBQTRCLEVBQzVCLFVBQThCLEVBQzlCLE9BQTJCLEVBQzNCLFlBQW9CLEVBQ3BCLEdBQVcsRUFDWCxVQUFrQjs7WUFFbEIsTUFBTSxPQUFPLEdBQUcsbUNBQWlCLENBQUMsTUFBTSxFQUFFLENBQUM7WUFFM0MsT0FBTyxDQUFDLEdBQUcsQ0FBQyxtQkFBVSxFQUFFLDBCQUEwQixDQUFDLENBQUM7WUFFcEQsSUFBSTtnQkFDRixNQUFNLG9DQUFhLENBQUMsc0JBQXNCLENBQUMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxDQUFDO2dCQUVsRSxNQUFNLDBCQUFXLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxVQUFVLENBQUMsQ0FBQztnQkFFaEgsT0FBTyxDQUFDLEdBQUcsQ0FBQyxvQkFBVyxFQUFFLG1DQUFtQyxDQUFDLENBQUM7Z0JBQzlELE9BQU8sQ0FBQyxHQUFHLENBQUMsb0JBQVcsRUFBRSx3QkFBd0IsQ0FBQyxDQUFDO2FBQ3BEO1lBQUMsT0FBTyxLQUFLLEVBQUU7Z0JBQ2QsSUFBQSwyQkFBWSxFQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ3JCO1FBQ0gsQ0FBQztLQUFBO0NBQ0Y7QUExQkQsMENBMEJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR1JBWV9DT0xPUiwgR1JFRU5fQ09MT1IgfSBmcm9tICcuLi9jb25zdHMvY29uc3RzJztcbmltcG9ydCB7IGNvbnNvbGVFcnJvciB9IGZyb20gJy4uL3V0aWxzL3NoYXJlZC51dGlscyc7XG5pbXBvcnQgeyBVcGxvYWRCbG9iUmVxdWVzdCB9IGZyb20gJy4uL3Byb3RvLW1vZGVscy9jb20vY29yYWxvZ2l4L2Jsb2JzZXQvdjIvYmxvYnNldF9zZXJ2aWNlJztcbmltcG9ydCB7IEZpbGVQcm9jZXNzb3IgfSBmcm9tICcuLi91dGlscy9maWxlLXByb2Nlc3Nvci51dGlscyc7XG5pbXBvcnQgeyBQcm9ndWFyZEFwaSB9IGZyb20gJy4uL2FwaS9wcm9ndWFyZC5hcGknO1xuXG5leHBvcnQgY2xhc3MgUHJvZ3VhcmRTZXJ2aWNlIHtcbiAgc3RhdGljIGFzeW5jIHVwbG9hZChcbiAgICBhcHBsaWNhdGlvbjogc3RyaW5nLFxuICAgIHZlcnNpb246IHN0cmluZyxcbiAgICByZXBvTmFtZTogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICAgIGNvbW1pdEhhc2g6IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgICBvcmdOYW1lOiBzdHJpbmcgfCB1bmRlZmluZWQsXG4gICAgcHJvZ3VhcmRQYXRoOiBzdHJpbmcsXG4gICAgZW52OiBzdHJpbmcsXG4gICAgcHJpdmF0ZUtleTogc3RyaW5nLFxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCByZXF1ZXN0ID0gVXBsb2FkQmxvYlJlcXVlc3QuY3JlYXRlKCk7XG5cbiAgICBjb25zb2xlLmxvZyhHUkFZX0NPTE9SLCAn8J+agCBVcGxvYWRpbmcgUHJvZ3VhcmQuLi4nKTtcblxuICAgIHRyeSB7XG4gICAgICBhd2FpdCBGaWxlUHJvY2Vzc29yLnRyYXZlcnNlUHJvZ3VhcmRGb2xkZXIocHJvZ3VhcmRQYXRoLCByZXF1ZXN0KTtcblxuICAgICAgYXdhaXQgUHJvZ3VhcmRBcGkudXBsb2FkUHJvZ3VhcmQocmVxdWVzdCwgYXBwbGljYXRpb24sIHZlcnNpb24sIHJlcG9OYW1lLCBjb21taXRIYXNoLCBvcmdOYW1lLCBlbnYsIHByaXZhdGVLZXkpO1xuXG4gICAgICBjb25zb2xlLmxvZyhHUkVFTl9DT0xPUiwgJ+KchSBQcm9ndWFyZCB1cGxvYWRlZCBzdWNjZXNzZnVsbHkhJyk7XG4gICAgICBjb25zb2xlLmxvZyhHUkVFTl9DT0xPUiwgJ+KchSBQcm9jZXNzaW5nIGNvbXBsZXRlLicpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlRXJyb3IoZXJyb3IpO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -21,7 +21,7 @@ class ReactNativeService {
|
|
|
21
21
|
const request = blobset_service_1.UploadBlobRequest.create();
|
|
22
22
|
console.log(consts_1.GRAY_COLOR, '🚀 Uploading react native source maps...');
|
|
23
23
|
try {
|
|
24
|
-
const totalFiles = yield file_processor_utils_1.FileProcessor.
|
|
24
|
+
const totalFiles = yield file_processor_utils_1.FileProcessor.traverse(folderPath, '.map', request);
|
|
25
25
|
yield react_native_api_1.ReactNativeApi.uploadReactNativeSourceMaps(request, application, version, repoName, commitHash, orgName, env, privateKey);
|
|
26
26
|
console.log(consts_1.GREEN_COLOR, '✅ React native source map uploaded successfully!');
|
|
27
27
|
console.log(consts_1.GREEN_COLOR, `✅ Total files processed: ${totalFiles || 0}`);
|
|
@@ -34,4 +34,4 @@ class ReactNativeService {
|
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
36
|
exports.ReactNativeService = ReactNativeService;
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhY3QtbmF0aXZlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zZXJ2aWNlcy9yZWFjdC1uYXRpdmUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSw2Q0FBMkQ7QUFDM0Qsd0RBQXFEO0FBQ3JELDhEQUF5RDtBQUN6RCw4RkFBNkY7QUFDN0Ysd0VBQThEO0FBRTlELE1BQWEsa0JBQWtCO0lBQzdCLE1BQU0sQ0FBTyxNQUFNLENBQ2pCLFdBQW1CLEVBQ25CLE9BQWUsRUFDZixRQUE0QixFQUM1QixVQUE4QixFQUM5QixPQUEyQixFQUMzQixVQUFrQixFQUNsQixHQUFXLEVBQ1gsVUFBa0I7O1lBRWxCLE1BQU0sT0FBTyxHQUFzQixtQ0FBaUIsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUU5RCxPQUFPLENBQUMsR0FBRyxDQUFDLG1CQUFVLEVBQUUsMENBQTBDLENBQUMsQ0FBQztZQUVwRSxJQUFJO2dCQUNGLE1BQU0sVUFBVSxHQUF1QixNQUFNLG9DQUFhLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7Z0JBRWpHLE1BQU0saUNBQWMsQ0FBQywyQkFBMkIsQ0FBQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsVUFBVSxDQUFDLENBQUM7Z0JBRWhJLE9BQU8sQ0FBQyxHQUFHLENBQUMsb0JBQVcsRUFBRSxrREFBa0QsQ0FBQyxDQUFDO2dCQUM3RSxPQUFPLENBQUMsR0FBRyxDQUFDLG9CQUFXLEVBQUUsNEJBQTRCLFVBQVUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUN4RSxPQUFPLENBQUMsR0FBRyxDQUFDLG9CQUFXLEVBQUUsd0JBQXdCLENBQUMsQ0FBQzthQUNwRDtZQUFDLE9BQU8sS0FBSyxFQUFFO2dCQUNkLElBQUEsMkJBQVksRUFBQyxLQUFLLENBQUMsQ0FBQzthQUNyQjtRQUNILENBQUM7S0FBQTtDQUNGO0FBM0JELGdEQTJCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEdSQVlfQ09MT1IsIEdSRUVOX0NPTE9SIH0gZnJvbSAnLi4vY29uc3RzL2NvbnN0cyc7XG5pbXBvcnQgeyBjb25zb2xlRXJyb3IgfSBmcm9tICcuLi91dGlscy9zaGFyZWQudXRpbHMnO1xuaW1wb3J0IHsgUmVhY3ROYXRpdmVBcGkgfSBmcm9tICcuLi9hcGkvcmVhY3QtbmF0aXZlLmFwaSc7XG5pbXBvcnQgeyBVcGxvYWRCbG9iUmVxdWVzdCB9IGZyb20gJy4uL3Byb3RvLW1vZGVscy9jb20vY29yYWxvZ2l4L2Jsb2JzZXQvdjIvYmxvYnNldF9zZXJ2aWNlJztcbmltcG9ydCB7IEZpbGVQcm9jZXNzb3IgfSBmcm9tICcuLi91dGlscy9maWxlLXByb2Nlc3Nvci51dGlscyc7XG5cbmV4cG9ydCBjbGFzcyBSZWFjdE5hdGl2ZVNlcnZpY2Uge1xuICBzdGF0aWMgYXN5bmMgdXBsb2FkKFxuICAgIGFwcGxpY2F0aW9uOiBzdHJpbmcsXG4gICAgdmVyc2lvbjogc3RyaW5nLFxuICAgIHJlcG9OYW1lOiBzdHJpbmcgfCB1bmRlZmluZWQsXG4gICAgY29tbWl0SGFzaDogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICAgIG9yZ05hbWU6IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgICBmb2xkZXJQYXRoOiBzdHJpbmcsXG4gICAgZW52OiBzdHJpbmcsXG4gICAgcHJpdmF0ZUtleTogc3RyaW5nLFxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCByZXF1ZXN0OiBVcGxvYWRCbG9iUmVxdWVzdCA9IFVwbG9hZEJsb2JSZXF1ZXN0LmNyZWF0ZSgpO1xuXG4gICAgY29uc29sZS5sb2coR1JBWV9DT0xPUiwgJ/CfmoAgVXBsb2FkaW5nIHJlYWN0IG5hdGl2ZSBzb3VyY2UgbWFwcy4uLicpO1xuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHRvdGFsRmlsZXM6IG51bWJlciB8IHVuZGVmaW5lZCA9IGF3YWl0IEZpbGVQcm9jZXNzb3IudHJhdmVyc2UoZm9sZGVyUGF0aCwgJy5tYXAnLCByZXF1ZXN0KTtcblxuICAgICAgYXdhaXQgUmVhY3ROYXRpdmVBcGkudXBsb2FkUmVhY3ROYXRpdmVTb3VyY2VNYXBzKHJlcXVlc3QsIGFwcGxpY2F0aW9uLCB2ZXJzaW9uLCByZXBvTmFtZSwgY29tbWl0SGFzaCwgb3JnTmFtZSwgZW52LCBwcml2YXRlS2V5KTtcblxuICAgICAgY29uc29sZS5sb2coR1JFRU5fQ09MT1IsICfinIUgUmVhY3QgbmF0aXZlIHNvdXJjZSBtYXAgdXBsb2FkZWQgc3VjY2Vzc2Z1bGx5IScpO1xuICAgICAgY29uc29sZS5sb2coR1JFRU5fQ09MT1IsIGDinIUgVG90YWwgZmlsZXMgcHJvY2Vzc2VkOiAke3RvdGFsRmlsZXMgfHwgMH1gKTtcbiAgICAgIGNvbnNvbGUubG9nKEdSRUVOX0NPTE9SLCAn4pyFIFByb2Nlc3NpbmcgY29tcGxldGUuJyk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGVFcnJvcihlcnJvcik7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -21,7 +21,7 @@ class SourceMapsService {
|
|
|
21
21
|
const request = blobset_service_1.UploadBlobRequest.create();
|
|
22
22
|
console.log(consts_1.GRAY_COLOR, '🚀 Uploading source maps...');
|
|
23
23
|
try {
|
|
24
|
-
const totalFiles = yield file_processor_utils_1.FileProcessor.
|
|
24
|
+
const totalFiles = yield file_processor_utils_1.FileProcessor.traverse(folderPath, '.js.map', request);
|
|
25
25
|
yield source_maps_api_1.SourceMapsApi.uploadSourceMaps(request, application, version, repoName, commitHash, orgName, env, privateKey);
|
|
26
26
|
console.log(consts_1.GREEN_COLOR, '✅ Source map uploaded successfully!');
|
|
27
27
|
console.log(consts_1.GREEN_COLOR, `✅ Total files processed: ${totalFiles || 0}`);
|
|
@@ -34,4 +34,4 @@ class SourceMapsService {
|
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
36
|
exports.SourceMapsService = SourceMapsService;
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291cmNlLW1hcHMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NlcnZpY2VzL3NvdXJjZS1tYXBzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsNkNBQTJEO0FBQzNELHdEQUFxRDtBQUNyRCw4RkFBNkY7QUFDN0Ysd0VBQThEO0FBQzlELDREQUF1RDtBQUV2RCxNQUFhLGlCQUFpQjtJQUM1QixNQUFNLENBQU8sTUFBTSxDQUNqQixXQUFtQixFQUNuQixPQUFlLEVBQ2YsUUFBNEIsRUFDNUIsVUFBOEIsRUFDOUIsT0FBMkIsRUFDM0IsVUFBa0IsRUFDbEIsR0FBVyxFQUNYLFVBQWtCOztZQUVsQixNQUFNLE9BQU8sR0FBc0IsbUNBQWlCLENBQUMsTUFBTSxFQUFFLENBQUM7WUFFOUQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxtQkFBVSxFQUFFLDZCQUE2QixDQUFDLENBQUM7WUFFdkQsSUFBSTtnQkFDRixNQUFNLFVBQVUsR0FBdUIsTUFBTSxvQ0FBYSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFDO2dCQUVwRyxNQUFNLCtCQUFhLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLFVBQVUsQ0FBQyxDQUFDO2dCQUVwSCxPQUFPLENBQUMsR0FBRyxDQUFDLG9CQUFXLEVBQUUscUNBQXFDLENBQUMsQ0FBQztnQkFDaEUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxvQkFBVyxFQUFFLDRCQUE0QixVQUFVLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDeEUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxvQkFBVyxFQUFFLHdCQUF3QixDQUFDLENBQUM7YUFDcEQ7WUFBQyxPQUFPLEtBQUssRUFBRTtnQkFDZCxJQUFBLDJCQUFZLEVBQUMsS0FBSyxDQUFDLENBQUM7YUFDckI7UUFDSCxDQUFDO0tBQUE7Q0FDRjtBQTNCRCw4Q0EyQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBHUkFZX0NPTE9SLCBHUkVFTl9DT0xPUiB9IGZyb20gJy4uL2NvbnN0cy9jb25zdHMnO1xuaW1wb3J0IHsgY29uc29sZUVycm9yIH0gZnJvbSAnLi4vdXRpbHMvc2hhcmVkLnV0aWxzJztcbmltcG9ydCB7IFVwbG9hZEJsb2JSZXF1ZXN0IH0gZnJvbSAnLi4vcHJvdG8tbW9kZWxzL2NvbS9jb3JhbG9naXgvYmxvYnNldC92Mi9ibG9ic2V0X3NlcnZpY2UnO1xuaW1wb3J0IHsgRmlsZVByb2Nlc3NvciB9IGZyb20gJy4uL3V0aWxzL2ZpbGUtcHJvY2Vzc29yLnV0aWxzJztcbmltcG9ydCB7IFNvdXJjZU1hcHNBcGkgfSBmcm9tICcuLi9hcGkvc291cmNlLW1hcHMuYXBpJztcblxuZXhwb3J0IGNsYXNzIFNvdXJjZU1hcHNTZXJ2aWNlIHtcbiAgc3RhdGljIGFzeW5jIHVwbG9hZChcbiAgICBhcHBsaWNhdGlvbjogc3RyaW5nLFxuICAgIHZlcnNpb246IHN0cmluZyxcbiAgICByZXBvTmFtZTogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICAgIGNvbW1pdEhhc2g6IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgICBvcmdOYW1lOiBzdHJpbmcgfCB1bmRlZmluZWQsXG4gICAgZm9sZGVyUGF0aDogc3RyaW5nLFxuICAgIGVudjogc3RyaW5nLFxuICAgIHByaXZhdGVLZXk6IHN0cmluZyxcbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgcmVxdWVzdDogVXBsb2FkQmxvYlJlcXVlc3QgPSBVcGxvYWRCbG9iUmVxdWVzdC5jcmVhdGUoKTtcblxuICAgIGNvbnNvbGUubG9nKEdSQVlfQ09MT1IsICfwn5qAIFVwbG9hZGluZyBzb3VyY2UgbWFwcy4uLicpO1xuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHRvdGFsRmlsZXM6IG51bWJlciB8IHVuZGVmaW5lZCA9IGF3YWl0IEZpbGVQcm9jZXNzb3IudHJhdmVyc2UoZm9sZGVyUGF0aCwgJy5qcy5tYXAnLCByZXF1ZXN0KTtcblxuICAgICAgYXdhaXQgU291cmNlTWFwc0FwaS51cGxvYWRTb3VyY2VNYXBzKHJlcXVlc3QsIGFwcGxpY2F0aW9uLCB2ZXJzaW9uLCByZXBvTmFtZSwgY29tbWl0SGFzaCwgb3JnTmFtZSwgZW52LCBwcml2YXRlS2V5KTtcblxuICAgICAgY29uc29sZS5sb2coR1JFRU5fQ09MT1IsICfinIUgU291cmNlIG1hcCB1cGxvYWRlZCBzdWNjZXNzZnVsbHkhJyk7XG4gICAgICBjb25zb2xlLmxvZyhHUkVFTl9DT0xPUiwgYOKchSBUb3RhbCBmaWxlcyBwcm9jZXNzZWQ6ICR7dG90YWxGaWxlcyB8fCAwfWApO1xuICAgICAgY29uc29sZS5sb2coR1JFRU5fQ09MT1IsICfinIUgUHJvY2Vzc2luZyBjb21wbGV0ZS4nKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZUVycm9yKGVycm9yKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,12 +1,9 @@
|
|
|
1
1
|
import { UploadBlobRequest } from '../proto-models/com/coralogix/blobset/v2/blobset_service';
|
|
2
|
-
import { UploadSourceMapsRequest } from '../proto-models/com/coralogix/rum/v2/rum_source_map_service';
|
|
3
2
|
export declare class FileProcessor {
|
|
4
|
-
static
|
|
5
|
-
static
|
|
6
|
-
|
|
7
|
-
private static
|
|
3
|
+
static traverseProguardFolder(proguardPath: string, request: UploadBlobRequest): Promise<void>;
|
|
4
|
+
static traverseDsymFolder(dsymPath: string, request: UploadBlobRequest): Promise<void>;
|
|
5
|
+
static traverse(folderPath: string, fileExtension: string, request: UploadBlobRequest): Promise<number | undefined>;
|
|
6
|
+
private static processSingleFile;
|
|
7
|
+
private static processDirectory;
|
|
8
8
|
private static getDwarfPath;
|
|
9
|
-
static traverseSourceMapsFolderOld(folderPath: string, request: UploadSourceMapsRequest): Promise<void>;
|
|
10
|
-
static compressFileContentChunks(fileContent: Uint8Array): Uint8Array;
|
|
11
|
-
private static getFileMetadata;
|
|
12
9
|
}
|