@thecodeblogs/blog 0.15.0 → 0.15.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/esm2020/lib/components/entry-creator/entry-creator.component.mjs +11 -16
- package/esm2020/lib/components/entry-renderer/entry-renderer.component.mjs +3 -3
- package/esm2020/lib/components/entry-selector-dialog/entry-selector-dialog.component.mjs +24 -15
- package/esm2020/lib/components/json-renderer/json-renderer.component.mjs +6 -6
- package/esm2020/lib/components/outline-view/outline-view.component.mjs +3 -5
- package/esm2020/lib/core.module.mjs +5 -1
- package/esm2020/lib/services/entry.service.mjs +4 -1
- package/fesm2015/thecodeblogs-blog.mjs +52 -40
- package/fesm2015/thecodeblogs-blog.mjs.map +1 -1
- package/fesm2020/thecodeblogs-blog.mjs +52 -40
- package/fesm2020/thecodeblogs-blog.mjs.map +1 -1
- package/lib/components/entry-selector-dialog/entry-selector-dialog.component.d.ts +3 -2
- package/lib/core.module.d.ts +5 -4
- package/lib/services/entry.service.d.ts +1 -0
- package/package.json +14 -14
|
@@ -88,6 +88,9 @@ export class EntryService extends DjangoRestFrameworkEndpointService {
|
|
|
88
88
|
slug = slug.toLowerCase();
|
|
89
89
|
return slug;
|
|
90
90
|
}
|
|
91
|
+
delete(entity) {
|
|
92
|
+
return this.http.delete(this.adminEndpoint + entity.id + '/').pipe(map((val) => this.triggerCoreEvent(val, CoreEventType.DELETE)), map(this.handleResponse.bind(this)));
|
|
93
|
+
}
|
|
91
94
|
}
|
|
92
95
|
EntryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: EntryService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
93
96
|
EntryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: EntryService, providedIn: 'root' });
|
|
@@ -97,4 +100,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
|
|
|
97
100
|
providedIn: 'root'
|
|
98
101
|
}]
|
|
99
102
|
}], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
|
|
100
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50cnkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi9zZXJ2aWNlcy9lbnRyeS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQWUsTUFBTSxlQUFlLENBQUM7QUFDdkQsT0FBTyxFQUFDLGtDQUFrQyxFQUFDLE1BQU0sb0RBQW9ELENBQUM7QUFFdEcsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNwQyxPQUFPLEVBQWEsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ3pDLE9BQU8sRUFBQyxZQUFZLEVBQUUsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFakQsT0FBTyxFQUFhLFVBQVUsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBRTVELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQzs7O0FBSzNELE1BQU0sT0FBTyxZQUFhLFNBQVEsa0NBQXlDO0lBU3ZFLGNBQWMsQ0FBQyxHQUFVO1FBQ3JCLE9BQU8sSUFBSSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELGtCQUFrQixDQUFDLEdBQXdCO1FBQ3ZDLE1BQU0sUUFBUSxHQUFHLEdBQUcsQ0FBQztRQUNyQixNQUFNLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDbkIsS0FBSyxNQUFNLE1BQU0sSUFBSSxRQUFRLENBQUMsT0FBTyxFQUFFO1lBQ25DLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztTQUNuQztRQUNELFFBQVEsQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQzNCLE9BQU8sUUFBUSxDQUFDO0lBQ3BCLENBQUM7SUFHRCxZQUNjLElBQWdCO1FBRTFCLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUZGLFNBQUksR0FBSixJQUFJ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bkIsMkVBQTJFO1FBQzNFLDRCQUE0QjtRQUM1QixJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFFekMsSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUUxQixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDOzt5R0F0SFEsWUFBWTs2R0FBWixZQUFZLGNBRlQsTUFBTTsyRkFFVCxZQUFZO2tCQUh4QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZSwgRXZlbnRFbWl0dGVyfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RGphbmdvUmVzdEZyYW1ld29ya0VuZHBvaW50U2VydmljZX0gZnJvbSAnLi4vc2VydmljZXMvZGphbmdvLXJlc3QtZnJhbWV3b3JrLWVuZHBvaW50LnNlcnZpY2UnO1xuaW1wb3J0IHtMaXN0UmVzcG9uc2V9IGZyb20gJy4uL2RhdGEvbGlzdC1yZXNwb25zZSc7XG5pbXBvcnQge0VudHJ5fSBmcm9tICcuLi9kYXRhL2VudHJ5JztcbmltcG9ydCB7T2JzZXJ2YWJsZSwgU3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2RlYm91bmNlVGltZSwgbWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge2xvTWFwfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHtIdHRwQ2xpZW50LCBIdHRwUGFyYW1zfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQge0NvcmVFdmVudH0gZnJvbSAnLi4vZGF0YS9jb3JlLWV2ZW50JztcbmltcG9ydCB7Q29yZUV2ZW50VHlwZX0gZnJvbSAnLi4vZGF0YS9jb3JlLWV2ZW50LXR5cGUuZW51bSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgRW50cnlTZXJ2aWNlIGV4dGVuZHMgRGphbmdvUmVzdEZyYW1ld29ya0VuZHBvaW50U2VydmljZTxFbnRyeT4ge1xuXG4gICAgZW5kcG9pbnQgPSAnL2Jsb2dfYXBpL2VudHJpZXMvJztcbiAgICBhZG1pbkVuZHBvaW50ID0gJy9ibG9nX2FwaS9hZG1pbi9lbnRyaWVzLyc7XG5cbiAgICBfY3VycmVudGx5RWRpdGVkRW50cnk6IEVudHJ5O1xuICAgIGN1cnJlbnRseUVkaXRlZEVudHJ5OiBTdWJqZWN0PEVudHJ5PiA9IG5ldyBTdWJqZWN0PEVudHJ5PigpO1xuICAgIHN1YjtcblxuICAgIGhhbmRsZVJlc3BvbnNlKG9iajogRW50cnkpOiBFbnRyeSB7XG4gICAgICAgIHJldHVybiBuZXcgRW50cnkob2JqKTtcbiAgICB9XG5cbiAgICBoYW5kbGVMaXN0UmVzcG9uc2Uob2JqOiBMaXN0UmVzcG9uc2U8RW50cnk+KTogTGlzdFJlc3BvbnNlPEVudHJ5PiB7XG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0gb2JqO1xuICAgICAgICBjb25zdCByZXN1bHRzID0gW107XG4gICAgICAgIGZvciAoY29uc3QgcmVzdWx0IG9mIHJlc3BvbnNlLnJlc3VsdHMpIHtcbiAgICAgICAgICAgIHJlc3VsdHMucHVzaChuZXcgRW50cnkocmVzdWx0KSk7XG4gICAgICAgIH1cbiAgICAgICAgcmVzcG9uc2UucmVzdWx0cyA9IHJlc3VsdHM7XG4gICAgICAgIHJldHVybiByZXNwb25zZTtcbiAgICB9XG5cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcm90ZWN0ZWQgaHR0cDogSHR0cENsaWVudCxcbiAgICApIHtcbiAgICAgICAgc3VwZXIoaHR0cCk7XG4gICAgICAgIHRoaXMuc3ViID0gdGhpcy5jdXJyZW50bHlFZGl0ZWRFbnRyeS5waXBlKGRlYm91bmNlVGltZSgzMDAwKSkuc3Vic2NyaWJlKChlKSA9PiB7XG4gICAgICAgICAgICBlLmVkaXRfZGF0ZSA9IG5ldyBEYXRlKCk7XG4gICAgICAgICAgICBjb25zdCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpLnNldCgncHVibGlzaGVkJywgSlNPTi5zdHJpbmdpZnkoZmFsc2UpKS5zZXQoJ2RlZnVuY3QnLCBKU09OLnN0cmluZ2lmeShmYWxzZSkpO1xuXG4gICAgICAgICAgICB0aGlzLmh0dHAucGF0Y2godGhpcy5hZG1pbkVuZHBvaW50ICsgZS5pZCArICcvJywgZSwge3BhcmFtc30pLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHRoaXMuaGFuZGxlUmVzcG9uc2UuYmluZCh0aGlzKSlcbiAgICAgICAgICAgICkuc3Vic2NyaWJlKChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudHJpZ2dlckNvcmVFdmVudCgocmVzcG9uc2UgYXMgRW50cnkpLCBDb3JlRXZlbnRUeXBlLlVQREFURSk7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ1N5bmNlZCAnICsgZS5pZCArICcuLi4nKTtcbiAgICAgICAgICAgIH0sIChlcnIpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnRXJyb3IgZW5jb3VudGVyZWQgc3luY2luZyAnICsgZS5pZCArICcsIHRyeWluZyB0byBjcmVhdGUuLi4nKTtcbiAgICAgICAgICAgICAgICB0aGlzLmh0dHAucG9zdCh0aGlzLmFkbWluRW5kcG9pbnQsIGUpLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIG1hcCh0aGlzLmhhbmRsZVJlc3BvbnNlKVxuICAgICAgICAgICAgICAgICkuc3Vic2NyaWJlKChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnRyaWdnZXJDb3JlRXZlbnQoKHJlc3BvbnNlIGFzIEVudHJ5KSwgQ29yZUV2ZW50VHlwZS5DUkVBVEUpO1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnQ3JlYXRlZCAnICsgZS5pZCArICcuLi4nKTtcbiAgICAgICAgICAgICAgICB9LCAoY3JlYXRlRXJyKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdFcnJvciBjcmVhdGluZyAnICsgZS5pZCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZ2V0KCk6IE9ic2VydmFibGU8TGlzdFJlc3BvbnNlPEVudHJ5Pj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLmVuZHBvaW50KS5waXBlKFxuICAgICAgICAgICAgbWFwKHRoaXMuaGFuZGxlTGlzdFJlc3BvbnNlLmJpbmQodGhpcykpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0VW5wdWJsaXNoZWRFbnRyaWVzKCkge1xuICAgICAgICBjb25zdCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpLnNldCgncHVibGlzaGVkJywgSlNPTi5zdHJpbmdpZnkoZmFsc2UpKS5zZXQoJ2RlZnVuY3QnLCBKU09OLnN0cmluZ2lmeShmYWxzZSkpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLmFkbWluRW5kcG9pbnQsIHtwYXJhbXN9KTtcbiAgICB9XG5cbiAgICBnZXRCeVNsdWcoc2x1Zzogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuZW5kcG9pbnQgKyBzbHVnICsgJy9ieV9zbHVnLycpLnBpcGUoXG4gICAgICAgICAgICBtYXAodGhpcy5oYW5kbGVSZXNwb25zZS5iaW5kKHRoaXMpKVxuICAgICAgICApO1xuICAgIH1cbiAgICBnZXRVbnB1Ymxpc2hlZEJ5SWQoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8RW50cnk+IHtcbiAgICAgICAgY29uc3QgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKS5zZXQoJ3B1Ymxpc2hlZCcsIEpTT04uc3RyaW5naWZ5KGZhbHNlKSkuc2V0KCdkZWZ1bmN0JywgSlNPTi5zdHJpbmdpZnkoZmFsc2UpKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8RW50cnk+KHRoaXMuYWRtaW5FbmRwb2ludCArIGlkLCB7cGFyYW1zfSkucGlwZShcbiAgICAgICAgICAgIG1hcCh0aGlzLmhhbmRsZVJlc3BvbnNlLmJpbmQodGhpcykpXG4gICAgICAgICk7XG4gICAgfVxuICAgIHVwZGF0ZVVucHVibGlzaGVkRW50cnkoZW50cnk6IEVudHJ5KTogT2JzZXJ2YWJsZTxFbnRyeT4ge1xuICAgICAgICBjb25zdCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpLnNldCgncHVibGlzaGVkJywgSlNPTi5zdHJpbmdpZnkoZmFsc2UpKS5zZXQoJ2RlZnVuY3QnLCBKU09OLnN0cmluZ2lmeShmYWxzZSkpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBhdGNoPEVudHJ5Pih0aGlzLmFkbWluRW5kcG9pbnQgKyBlbnRyeS5pZCArICcvJywgZW50cnksIHtwYXJhbXN9KS5waXBlKFxuICAgICAgICAgICAgbWFwKCh2YWwpID0+IHRoaXMudHJpZ2dlckNvcmVFdmVudCh2YWwsIENvcmVFdmVudFR5cGUuVVBEQVRFKSksXG4gICAgICAgICAgICBtYXAodGhpcy5oYW5kbGVSZXNwb25zZS5iaW5kKHRoaXMpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHNsdWdpZnkoczogc3RyaW5nKSB7XG5cbiAgICAgICAgY29uc3QgY2hhck1hcCA9IEpTT04ucGFyc2UoJ3tcIiRcIjpcImRvbGxhclwiLFwiJVwiOlwicGVyY2VudFwiLFwiJlwiOlwiYW5kXCIsXCI8XCI6XCJsZXNzXCIsXCI+XCI6XCJncmVhdGVyXCIsXCJ8XCI6XCJvclwiLFwiwqJcIjpcImNlbnRcIixcIsKjXCI6XCJwb3VuZFwiLFwiwqRcIjpcImN1cnJlbmN5XCIsXCLCpVwiOlwieWVuXCIsXCLCqVwiOlwiKGMpXCIsXCLCqlwiOlwiYVwiLFwiwq5cIjpcIihyKVwiLFwiwrpcIjpcIm9cIixcIsOAXCI6XCJBXCIsXCLDgVwiOlwiQVwiLFwiw4JcIjpcIkFcIixcIsODXCI6XCJBXCIsXCLDhFwiOlwiQVwiLFwiw4VcIjpcIkFcIixcIsOGXCI6XCJBRVwiLFwiw4dcIjpcIkNcIixcIsOIXCI6XCJFXCIsXCLDiVwiOlwiRVwiLFwiw4pcIjpcIkVcIixcIsOLXCI6XCJFXCIsXCLDjFwiOlwiSVwiLFwiw41cIjpcIklcIixcIsOOXCI6XCJJXCIsXCLDj1wiOlwiSVwiLFwiw5BcIjpcIkRcIixcIsORXCI6XCJOXCIsXCLDklwiOlwiT1wiLFwiw5NcIjpcIk9cIixcIsOUXCI6XCJPXCIsXCLDlVwiOlwiT1wiLFwiw5ZcIjpcIk9cIixcIsOYXCI6XCJPXCIsXCLDmVwiOlwiVVwiLFwiw5pcIjpcIlVcIixcIsObXCI6XCJVXCIsXCLDnFwiOlwiVVwiLFwiw51cIjpcIllcIixcIsOeXCI6XCJUSFwiLFwiw59cIjpcInNzXCIsXCLDoFwiOlwiYVwiLFwiw6FcIjpcImFcIixcIsOiXCI6XCJhXCIsXCLDo1wiOlwiYVwiLFwiw6RcIjpcImFcIixcIsOlXCI6XCJhXCIsXCLDplwiOlwiYWVcIixcIsOnXCI6XCJjXCIsXCLDqFwiOlwiZVwiLFwiw6lcIjpcImVcIixcIsOqXCI6XCJlXCIsXCLDq1wiOlwiZVwiLFwiw6xcIjpcImlcIixcIsOtXCI6XCJpXCIsXCLDrlwiOlwiaVwiLFwiw69cIjpcImlcIixcIsOwXCI6XCJkXCIsXCLDsVwiOlwiblwiLFwiw7JcIjpcIm9cIixcIsOzXCI6XCJvXCIsXCLDtFwiOlwib1wiLFwiw7VcIjpcIm9cIixcIsO2XCI6XCJvXCIsXCLDuFwiOlwib1wiLFwiw7lcIjpcInVcIixcIsO6XCI6XCJ1XCIsXCLDu1wiOlwidVwiLFwiw7xcIjpcInVcIixcIsO9XCI6XCJ5XCIsXCLDvlwiOlwidGhcIixcIsO/XCI6XCJ5XCIsXCLEgFwiOlwiQVwiLFwixIFcIjpcImFcIixcIsSCXCI6XCJBXCIsXCLEg1wiOlwiYVwiLFwixIRcIjpcIkFcIixcIsSFXCI6XCJhXCIsXCLEhlwiOlwiQ1wiLFwixIdcIjpcImNcIixcIsSMXCI6XCJDXCIsXCLEjVwiOlwiY1wiLFwixI5cIjpcIkRcIixcIsSPXCI6XCJkXCIsXCLEkFwiOlwiREpcIixcIsSRXCI6XCJkalwiLFwixJJcIjpcIkVcIixcIsSTXCI6XCJlXCIsXCLEllwiOlwiRVwiLFwixJdcIjpcImVcIixcIsSYXCI6XCJlXCIsXCLEmVwiOlwiZVwiLFwixJpcIjpcIkVcIixcIsSbXCI6XCJlXCIsXCLEnlwiOlwiR1wiLFwixJ9cIjpcImdcIixcIsSiXCI6XCJHXCIsXCLEo1wiOlwiZ1wiLFwixKhcIjpcIklcIixcIsSpXCI6XCJpXCIsXCLEqlwiOlwiaVwiLFwixKtcIjpcImlcIixcIsSuXCI6XCJJXCIsXCLEr1wiOlwiaVwiLFwixLBcIjpcIklcIixcIsSxXCI6XCJpXCIsXCLEtlwiOlwia1wiLFwixLdcIjpcImtcIixcIsS7XCI6XCJMXCIsXCLEvFwiOlwibFwiLFwixL1cIjpcIkxcIixcIsS+XCI6XCJsXCIsXCLFgVwiOlwiTFwiLFwixYJcIjpcImxcIixcIsWDXCI6XCJOXCIsXCLFhFwiOlwiblwiLFwixYVcIjpcIk5cIixcIsWGXCI6XCJuXCIsXCLFh1wiOlwiTlwiLFwixYhcIjpcIm5cIixcIsWMXCI6XCJPXCIsXCLFjVwiOlwib1wiLFwixZBcIjpcIk9cIixcIsWRXCI6XCJvXCIsXCLFklwiOlwiT0VcIixcIsWTXCI6XCJvZVwiLFwixZRcIjpcIlJcIixcIsWVXCI6XCJyXCIsXCLFmFwiOlwiUlwiLFwixZlcIjpcInJcIixcIsWaXCI6XCJTXCIsXCLFm1wiOlwic1wiLFwixZ5cIjpcIlNcIixcIsWfXCI6XCJzXCIsXCLFoFwiOlwiU1wiLFwixaFcIjpcInNcIixcIsWiXCI6XCJUXCIsXCLFo1wiOlwidFwiLFwixaRcIjpcIlRcIixcIsWlXCI6XCJ0XCIsXCLFqFwiOlwiVVwiLFwixalcIjpcInVcIixcIsWqXCI6XCJ1XCIsXCLFq1wiOlwidVwiLFwixa5cIjpcIlVcIixcIsWvXCI6XCJ1XCIsXCLFsFwiOlwiVVwiLFwixbFcIjpcInVcIixcIsWyXCI6XCJVXCIsXCLFs1wiOlwidVwiLFwixbRcIjpcIldcIixcIsW1XCI6XCJ3XCIsXCLFtlwiOlwiWVwiLFwixbdcIjpcInlcIixcIsW4XCI6XCJZXCIsXCLFuVwiOlwiWlwiLFwixbpcIjpcInpcIixcIsW7XCI6XCJaXCIsXCLFvFwiOlwielwiLFwixb1cIjpcIlpcIixcIsW+XCI6XCJ6XCIsXCLGj1wiOlwiRVwiLFwixpJcIjpcImZcIixcIsagXCI6XCJPXCIsXCLGoVwiOlwib1wiLFwixq9cIjpcIlVcIixcIsawXCI6XCJ1XCIsXCLHiFwiOlwiTEpcIixcIseJXCI6XCJsalwiLFwix4tcIjpcIk5KXCIsXCLHjFwiOlwibmpcIixcIsiYXCI6XCJTXCIsXCLImVwiOlwic1wiLFwiyJpcIjpcIlRcIixcIsibXCI6XCJ0XCIsXCLJmVwiOlwiZVwiLFwiy5pcIjpcIm9cIixcIs6GXCI6XCJBXCIsXCLOiFwiOlwiRVwiLFwizolcIjpcIkhcIixcIs6KXCI6XCJJXCIsXCLOjFwiOlwiT1wiLFwizo5cIjpcIllcIixcIs6PXCI6XCJXXCIsXCLOkFwiOlwiaVwiLFwizpFcIjpcIkFcIixcIs6SXCI6XCJCXCIsXCLOk1wiOlwiR1wiLFwizpRcIjpcIkRcIixcIs6VXCI6XCJFXCIsXCLOllwiOlwiWlwiLFwizpdcIjpcIkhcIixcIs6YXCI6XCI4XCIsXCLOmVwiOlwiSVwiLFwizppcIjpcIktcIixcIs6bXCI6XCJMXCIsXCLOnFwiOlwiTVwiLFwizp1cIjpcIk5cIixcIs6eXCI6XCIzXCIsXCLOn1wiOlwiT1wiLFwizqBcIjpcIlBcIixcIs6hXCI6XCJSXCIsXCLOo1wiOlwiU1wiLFwizqRcIjpcIlRcIixcIs6lXCI6XCJZXCIsXCLOplwiOlwiRlwiLFwizqdcIjpcIlhcIixcIs6oXCI6XCJQU1wiLFwizqlcIjpcIldcIixcIs6qXCI6XCJJXCIsXCLOq1wiOlwiWVwiLFwizqxcIjpcImFcIixcIs6tXCI6XCJlXCIsXCLOrlwiOlwiaFwiLFwizq9cIjpcImlcIixcIs6wXCI6XCJ5XCIsXCLOsVwiOlwiYVwiLFwizrJcIjpcImJcIixcIs6zXCI6XCJnXCIsXCLOtFwiOlwiZFwiLFwizrVcIjpcImVcIixcIs62XCI6XCJ6XCIsXCLOt1wiOlwiaFwiLFwizrhcIjpcIjhcIixcIs65XCI6XCJpXCIsXCLOulwiOlwia1wiLFwizrtcIjpcImxcIixcIs68XCI6XCJtXCIsXCLOvVwiOlwiblwiLFwizr5cIjpcIjNcIixcIs6/XCI6XCJvXCIsXCLPgFwiOlwicFwiLFwiz4FcIjpcInJcIixcIs+CXCI6XCJzXCIsXCLPg1wiOlwic1wiLFwiz4RcIjpcInRcIixcIs+FXCI6XCJ5XCIsXCLPhlwiOlwiZlwiLFwiz4dcIjpcInhcIixcIs+IXCI6XCJwc1wiLFwiz4lcIjpcIndcIixcIs+KXCI6XCJpXCIsXCLPi1wiOlwieVwiLFwiz4xcIjpcIm9cIixcIs+NXCI6XCJ5XCIsXCLPjlwiOlwid1wiLFwi0IFcIjpcIllvXCIsXCLQglwiOlwiREpcIixcItCEXCI6XCJZZVwiLFwi0IZcIjpcIklcIixcItCHXCI6XCJZaVwiLFwi0IhcIjpcIkpcIixcItCJXCI6XCJMSlwiLFwi0IpcIjpcIk5KXCIsXCLQi1wiOlwiQ1wiLFwi0I9cIjpcIkRaXCIsXCLQkFwiOlwiQVwiLFwi0JFcIjpcIkJcIixcItCSXCI6XCJWXCIsXCLQk1wiOlwiR1wiLFwi0JRcIjpcIkRcIixcItCVXCI6XCJFXCIsXCLQllwiOlwiWmhcIixcItCXXCI6XCJaXCIsXCLQmFwiOlwiSVwiLFwi0JlcIjpcIkpcIixcItCaXCI6XCJLXCIsXCLQm1wiOlwiTFwiLFwi0JxcIjpcIk1cIixcItCdXCI6XCJOXCIsXCLQnlwiOlwiT1wiLFwi0J9cIjpcIlBcIixcItCgXCI6XCJSXCIsXCLQoVwiOlwiU1wiLFwi0KJcIjpcIlRcIixcItCjXCI6XCJVXCIsXCLQpFwiOlwiRlwiLFwi0KVcIjpcIkhcIixcItCmXCI6XCJDXCIsXCLQp1wiOlwiQ2hcIixcItCoXCI6XCJTaFwiLFwi0KlcIjpcIlNoXCIsXCLQqlwiOlwiVVwiLFwi0KtcIjpcIllcIixcItCsXCI6XCJcIixcItCtXCI6XCJFXCIsXCLQrlwiOlwiWXVcIixcItCvXCI6XCJZYVwiLFwi0LBcIjpcImFcIixcItCxXCI6XCJiXCIsXCLQslwiOlwidlwiLFwi0LNcIjpcImdcIixcItC0XCI6XCJkXCIsXCLQtVwiOlwiZVwiLFwi0LZcIjpcInpoXCIsXCLQt1wiOlwielwiLFwi0LhcIjpcImlcIixcItC5XCI6XCJqXCIsXCLQulwiOlwia1wiLFwi0LtcIjpcImxcIixcItC8XCI6XCJtXCIsXCLQvVwiOlwiblwiLFwi0L5cIjpcIm9cIixcItC/XCI6XCJwXCIsXCLRgFwiOlwiclwiLFwi0YFcIjpcInNcIixcItGCXCI6XCJ0XCIsXCLRg1wiOlwidVwiLFwi0YRcIjpcImZcIixcItGFXCI6XCJoXCIsXCLRhlwiOlwiY1wiLFwi0YdcIjpcImNoXCIsXCLRiFwiOlwic2hcIixcItGJXCI6XCJzaFwiLFwi0YpcIjpcInVcIixcItGLXCI6XCJ5XCIsXCLRjFwiOlwiXCIsXCLRjVwiOlwiZVwiLFwi0Y5cIjpcInl1XCIsXCLRj1wiOlwieWFcIixcItGRXCI6XCJ5b1wiLFwi0ZJcIjpcImRqXCIsXCLRlFwiOlwieWVcIixcItGWXCI6XCJpXCIsXCLRl1wiOlwieWlcIixcItGYXCI6XCJqXCIsXCLRmVwiOlwibGpcIixcItGaXCI6XCJualwiLFwi0ZtcIjpcImNcIixcItGdXCI6XCJ1XCIsXCLRn1wiOlwiZHpcIixcItKQXCI6XCJHXCIsXCLSkVwiOlwiZ1wiLFwi0pJcIjpcIkdIXCIsXCLSk1wiOlwiZ2hcIixcItKaXCI6XCJLSFwiLFwi0ptcIjpcImtoXCIsXCLSolwiOlwiTkdcIixcItKjXCI6XCJuZ1wiLFwi0q5cIjpcIlVFXCIsXCLSr1wiOlwidWVcIixcItKwXCI6XCJVXCIsXCLSsVwiOlwidVwiLFwi0rpcIjpcIkhcIixcItK7XCI6XCJoXCIsXCLTmFwiOlwiQUVcIixcItOZXCI6XCJhZVwiLFwi06hcIjpcIk9FXCIsXCLTqVwiOlwib2VcIixcItSxXCI6XCJBXCIsXCLUslwiOlwiQlwiLFwi1LNcIjpcIkdcIixcItS0XCI6XCJEXCIsXCLUtVwiOlwiRVwiLFwi1LZcIjpcIlpcIixcItS3XCI6XCJFXFwnXCIsXCLUuFwiOlwiWVxcJ1wiLFwi1LlcIjpcIlRcXCdcIixcItS6XCI6XCJKSFwiLFwi1LtcIjpcIklcIixcItS8XCI6XCJMXCIsXCLUvVwiOlwiWFwiLFwi1L5cIjpcIkNcXCdcIixcItS/XCI6XCJLXCIsXCLVgFwiOlwiSFwiLFwi1YFcIjpcIkRcXCdcIixcItWCXCI6XCJHSFwiLFwi1YNcIjpcIlRXXCIsXCLVhFwiOlwiTVwiLFwi1YVcIjpcIllcIixcItWGXCI6XCJOXCIsXCLVh1wiOlwiU0hcIixcItWJXCI6XCJDSFwiLFwi1YpcIjpcIlBcIixcItWLXCI6XCJKXCIsXCLVjFwiOlwiUlxcJ1wiLFwi1Y1cIjpcIlNcIixcItWOXCI6XCJWXCIsXCLVj1wiOlwiVFwiLFwi1ZBcIjpcIlJcIixcItWRXCI6XCJDXCIsXCLVk1wiOlwiUFxcJ1wiLFwi1ZRcIjpcIlFcXCdcIixcItWVXCI6XCJPXFwnXFwnXCIsXCLVllwiOlwiRlwiLFwi1odcIjpcIkVWXCIsXCLYoVwiOlwiYVwiLFwi2KJcIjpcImFhXCIsXCLYo1wiOlwiYVwiLFwi2KRcIjpcInVcIixcItilXCI6XCJpXCIsXCLYplwiOlwiZVwiLFwi2KdcIjpcImFcIixcItioXCI6XCJiXCIsXCLYqVwiOlwiaFwiLFwi2KpcIjpcInRcIixcItirXCI6XCJ0aFwiLFwi2KxcIjpcImpcIixcItitXCI6XCJoXCIsXCLYrlwiOlwia2hcIixcItivXCI6XCJkXCIsXCLYsFwiOlwidGhcIixcItixXCI6XCJyXCIsXCLYslwiOlwielwiLFwi2LNcIjpcInNcIixcIti0XCI6XCJzaFwiLFwi2LVcIjpcInNcIixcIti2XCI6XCJkaFwiLFwi2LdcIjpcInRcIixcIti4XCI6XCJ6XCIsXCLYuVwiOlwiYVwiLFwi2LpcIjpcImdoXCIsXCLZgVwiOlwiZlwiLFwi2YJcIjpcInFcIixcItmDXCI6XCJrXCIsXCLZhFwiOlwibFwiLFwi2YVcIjpcIm1cIixcItmGXCI6XCJuXCIsXCLZh1wiOlwiaFwiLFwi2YhcIjpcIndcIixcItmJXCI6XCJhXCIsXCLZilwiOlwieVwiLFwi2YtcIjpcImFuXCIsXCLZjFwiOlwib25cIixcItmNXCI6XCJlblwiLFwi2Y5cIjpcImFcIixcItmPXCI6XCJ1XCIsXCLZkFwiOlwiZVwiLFwi2ZJcIjpcIlwiLFwi2aBcIjpcIjBcIixcItmhXCI6XCIxXCIsXCLZolwiOlwiMlwiLFwi2aNcIjpcIjNcIixcItmkXCI6XCI0XCIsXCLZpVwiOlwiNVwiLFwi2aZcIjpcIjZcIixcItmnXCI6XCI3XCIsXCLZqFwiOlwiOFwiLFwi2alcIjpcIjlcIixcItm+XCI6XCJwXCIsXCLahlwiOlwiY2hcIixcItqYXCI6XCJ6aFwiLFwi2qlcIjpcImtcIixcItqvXCI6XCJnXCIsXCLbjFwiOlwieVwiLFwi27BcIjpcIjBcIixcItuxXCI6XCIxXCIsXCLbslwiOlwiMlwiLFwi27NcIjpcIjNcIixcItu0XCI6XCI0XCIsXCLbtVwiOlwiNVwiLFwi27ZcIjpcIjZcIixcItu3XCI6XCI3XCIsXCLbuFwiOlwiOFwiLFwi27lcIjpcIjlcIixcIuC4v1wiOlwiYmFodFwiLFwi4YOQXCI6XCJhXCIsXCLhg5FcIjpcImJcIixcIuGDklwiOlwiZ1wiLFwi4YOTXCI6XCJkXCIsXCLhg5RcIjpcImVcIixcIuGDlVwiOlwidlwiLFwi4YOWXCI6XCJ6XCIsXCLhg5dcIjpcInRcIixcIuGDmFwiOlwiaVwiLFwi4YOZXCI6XCJrXCIsXCLhg5pcIjpcImxcIixcIuGDm1wiOlwibVwiLFwi4YOcXCI6XCJuXCIsXCLhg51cIjpcIm9cIixcIuGDnlwiOlwicFwiLFwi4YOfXCI6XCJ6aFwiLFwi4YOgXCI6XCJyXCIsXCLhg6FcIjpcInNcIixcIuGDolwiOlwidFwiLFwi4YOjXCI6XCJ1XCIsXCLhg6RcIjpcImZcIixcIuGDpVwiOlwia1wiLFwi4YOmXCI6XCJnaFwiLFwi4YOnXCI6XCJxXCIsXCLhg6hcIjpcInNoXCIsXCLhg6lcIjpcImNoXCIsXCLhg6pcIjpcInRzXCIsXCLhg6tcIjpcImR6XCIsXCLhg6xcIjpcInRzXCIsXCLhg61cIjpcImNoXCIsXCLhg65cIjpcImtoXCIsXCLhg69cIjpcImpcIixcIuGDsFwiOlwiaFwiLFwi4bmiXCI6XCJTXCIsXCLhuaNcIjpcInNcIixcIuG6gFwiOlwiV1wiLFwi4bqBXCI6XCJ3XCIsXCLhuoJcIjpcIldcIixcIuG6g1wiOlwid1wiLFwi4bqEXCI6XCJXXCIsXCLhuoVcIjpcIndcIixcIuG6nlwiOlwiU1NcIixcIuG6oFwiOlwiQVwiLFwi4bqhXCI6XCJhXCIsXCLhuqJcIjpcIkFcIixcIuG6o1wiOlwiYVwiLFwi4bqkXCI6XCJBXCIsXCLhuqVcIjpcImFcIixcIuG6plwiOlwiQVwiLFwi4bqnXCI6XCJhXCIsXCLhuqhcIjpcIkFcIixcIuG6qVwiOlwiYVwiLFwi4bqqXCI6XCJBXCIsXCLhuqtcIjpcImFcIixcIuG6rFwiOlwiQVwiLFwi4bqtXCI6XCJhXCIsXCLhuq5cIjpcIkFcIixcIuG6r1wiOlwiYVwiLFwi4bqwXCI6XCJBXCIsXCLhurFcIjpcImFcIixcIuG6slwiOlwiQVwiLFwi4bqzXCI6XCJhXCIsXCLhurRcIjpcIkFcIixcIuG6tVwiOlwiYVwiLFwi4bq2XCI6XCJBXCIsXCLhurdcIjpcImFcIixcIuG6uFwiOlwiRVwiLFwi4bq5XCI6XCJlXCIsXCLhurpcIjpcIkVcIixcIuG6u1wiOlwiZVwiLFwi4bq8XCI6XCJFXCIsXCLhur1cIjpcImVcIixcIuG6vlwiOlwiRVwiLFwi4bq/XCI6XCJlXCIsXCLhu4BcIjpcIkVcIixcIuG7gVwiOlwiZVwiLFwi4buCXCI6XCJFXCIsXCLhu4NcIjpcImVcIixcIuG7hFwiOlwiRVwiLFwi4buFXCI6XCJlXCIsXCLhu4ZcIjpcIkVcIixcIuG7h1wiOlwiZVwiLFwi4buIXCI6XCJJXCIsXCLhu4lcIjpcImlcIixcIuG7ilwiOlwiSVwiLFwi4buLXCI6XCJpXCIsXCLhu4xcIjpcIk9cIixcIuG7jVwiOlwib1wiLFwi4buOXCI6XCJPXCIsXCLhu49cIjpcIm9cIixcIuG7kFwiOlwiT1wiLFwi4buRXCI6XCJvXCIsXCLhu5JcIjpcIk9cIixcIuG7k1wiOlwib1wiLFwi4buUXCI6XCJPXCIsXCLhu5VcIjpcIm9cIixcIuG7llwiOlwiT1wiLFwi4buXXCI6XCJvXCIsXCLhu5hcIjpcIk9cIixcIuG7mVwiOlwib1wiLFwi4buaXCI6XCJPXCIsXCLhu5tcIjpcIm9cIixcIuG7nFwiOlwiT1wiLFwi4budXCI6XCJvXCIsXCLhu55cIjpcIk9cIixcIuG7n1wiOlwib1wiLFwi4bugXCI6XCJPXCIsXCLhu6FcIjpcIm9cIixcIuG7olwiOlwiT1wiLFwi4bujXCI6XCJvXCIsXCLhu6RcIjpcIlVcIixcIuG7pVwiOlwidVwiLFwi4bumXCI6XCJVXCIsXCLhu6dcIjpcInVcIixcIuG7qFwiOlwiVVwiLFwi4bupXCI6XCJ1XCIsXCLhu6pcIjpcIlVcIixcIuG7q1wiOlwidVwiLFwi4busXCI6XCJVXCIsXCLhu61cIjpcInVcIixcIuG7rlwiOlwiVVwiLFwi4buvXCI6XCJ1XCIsXCLhu7BcIjpcIlVcIixcIuG7sVwiOlwidVwiLFwi4buyXCI6XCJZXCIsXCLhu7NcIjpcInlcIixcIuG7tFwiOlwiWVwiLFwi4bu1XCI6XCJ5XCIsXCLhu7ZcIjpcIllcIixcIuG7t1wiOlwieVwiLFwi4bu4XCI6XCJZXCIsXCLhu7lcIjpcInlcIixcIuKAk1wiOlwiLVwiLFwi4oCYXCI6XCJcXCdcIixcIuKAmVwiOlwiXFwnXCIsXCLigJxcIjpcIlxcXFxcXFwiXCIsXCLigJ1cIjpcIlxcXFxcXFwiXCIsXCLigJ5cIjpcIlxcXFxcXFwiXCIsXCLigKBcIjpcIitcIixcIuKAolwiOlwiKlwiLFwi4oCmXCI6XCIuLi5cIixcIuKCoFwiOlwiZWN1XCIsXCLigqJcIjpcImNydXplaXJvXCIsXCLigqNcIjpcImZyZW5jaCBmcmFuY1wiLFwi4oKkXCI6XCJsaXJhXCIsXCLigqVcIjpcIm1pbGxcIixcIuKCplwiOlwibmFpcmFcIixcIuKCp1wiOlwicGVzZXRhXCIsXCLigqhcIjpcInJ1cGVlXCIsXCLigqlcIjpcIndvblwiLFwi4oKqXCI6XCJuZXcgc2hlcXVlbFwiLFwi4oKrXCI6XCJkb25nXCIsXCLigqxcIjpcImV1cm9cIixcIuKCrVwiOlwia2lwXCIsXCLigq5cIjpcInR1Z3Jpa1wiLFwi4oKvXCI6XCJkcmFjaG1hXCIsXCLigrBcIjpcInBlbm55XCIsXCLigrFcIjpcInBlc29cIixcIuKCslwiOlwiZ3VhcmFuaVwiLFwi4oKzXCI6XCJhdXN0cmFsXCIsXCLigrRcIjpcImhyeXZuaWFcIixcIuKCtVwiOlwiY2VkaVwiLFwi4oK4XCI6XCJrYXpha2hzdGFuaSB0ZW5nZVwiLFwi4oK5XCI6XCJpbmRpYW4gcnVwZWVcIixcIuKCulwiOlwidHVya2lzaCBsaXJhXCIsXCLigr1cIjpcInJ1c3NpYW4gcnVibGVcIixcIuKCv1wiOlwiYml0Y29pblwiLFwi4oSgXCI6XCJzbVwiLFwi4oSiXCI6XCJ0bVwiLFwi4oiCXCI6XCJkXCIsXCLiiIZcIjpcImRlbHRhXCIsXCLiiJFcIjpcInN1bVwiLFwi4oieXCI6XCJpbmZpbml0eVwiLFwi4pmlXCI6XCJsb3ZlXCIsXCLlhYNcIjpcInl1YW5cIixcIuWGhlwiOlwieWVuXCIsXCLvt7xcIjpcInJpYWxcIixcIu+7tVwiOlwibGFhXCIsXCLvu7dcIjpcImxhYVwiLFwi77u5XCI6XCJsYWlcIixcIu+7u1wiOlwibGFcIn0nKTtcbiAgICAgICAgY29uc3QgbG9jYWxlcyA9IEpTT04ucGFyc2UoJ3tcImJnXCI6e1wi0JlcIjpcIllcIixcItCmXCI6XCJUc1wiLFwi0KlcIjpcIlNodFwiLFwi0KpcIjpcIkFcIixcItCsXCI6XCJZXCIsXCLQuVwiOlwieVwiLFwi0YZcIjpcInRzXCIsXCLRiVwiOlwic2h0XCIsXCLRilwiOlwiYVwiLFwi0YxcIjpcInlcIn0sXCJkZVwiOntcIsOEXCI6XCJBRVwiLFwiw6RcIjpcImFlXCIsXCLDllwiOlwiT0VcIixcIsO2XCI6XCJvZVwiLFwiw5xcIjpcIlVFXCIsXCLDvFwiOlwidWVcIixcIsOfXCI6XCJzc1wiLFwiJVwiOlwicHJvemVudFwiLFwiJlwiOlwidW5kXCIsXCJ8XCI6XCJvZGVyXCIsXCLiiJFcIjpcInN1bW1lXCIsXCLiiJ5cIjpcInVuZW5kbGljaFwiLFwi4pmlXCI6XCJsaWViZVwifSxcImVzXCI6e1wiJVwiOlwicG9yIGNpZW50b1wiLFwiJlwiOlwieVwiLFwiPFwiOlwibWVub3IgcXVlXCIsXCI+XCI6XCJtYXlvciBxdWVcIixcInxcIjpcIm9cIixcIsKiXCI6XCJjZW50YXZvc1wiLFwiwqNcIjpcImxpYnJhc1wiLFwiwqRcIjpcIm1vbmVkYVwiLFwi4oKjXCI6XCJmcmFuY29zXCIsXCLiiJFcIjpcInN1bWFcIixcIuKInlwiOlwiaW5maW5pdG9cIixcIuKZpVwiOlwiYW1vclwifSxcImZyXCI6e1wiJVwiOlwicG91cmNlbnRcIixcIiZcIjpcImV0XCIsXCI8XCI6XCJwbHVzIHBldGl0XCIsXCI+XCI6XCJwbHVzIGdyYW5kXCIsXCJ8XCI6XCJvdVwiLFwiwqJcIjpcImNlbnRpbWVcIixcIsKjXCI6XCJsaXZyZVwiLFwiwqRcIjpcImRldmlzZVwiLFwi4oKjXCI6XCJmcmFuY1wiLFwi4oiRXCI6XCJzb21tZVwiLFwi4oieXCI6XCJpbmZpbmlcIixcIuKZpVwiOlwiYW1vdXJcIn0sXCJwdFwiOntcIiVcIjpcInBvcmNlbnRvXCIsXCImXCI6XCJlXCIsXCI8XCI6XCJtZW5vclwiLFwiPlwiOlwibWFpb3JcIixcInxcIjpcIm91XCIsXCLColwiOlwiY2VudGF2b1wiLFwi4oiRXCI6XCJzb21hXCIsXCLCo1wiOlwibGlicmFcIixcIuKInlwiOlwiaW5maW5pdG9cIixcIuKZpVwiOlwiYW1vclwifSxcInVrXCI6e1wi0JhcIjpcIllcIixcItC4XCI6XCJ5XCIsXCLQmVwiOlwiWVwiLFwi0LlcIjpcInlcIixcItCmXCI6XCJUc1wiLFwi0YZcIjpcInRzXCIsXCLQpVwiOlwiS2hcIixcItGFXCI6XCJraFwiLFwi0KlcIjpcIlNoY2hcIixcItGJXCI6XCJzaGNoXCIsXCLQk1wiOlwiSFwiLFwi0LNcIjpcImhcIn0sXCJ2aVwiOntcIsSQXCI6XCJEXCIsXCLEkVwiOlwiZFwifSxcImRhXCI6e1wiw5hcIjpcIk9FXCIsXCLDuFwiOlwib2VcIixcIsOFXCI6XCJBQVwiLFwiw6VcIjpcImFhXCIsXCIlXCI6XCJwcm9jZW50XCIsXCImXCI6XCJvZ1wiLFwifFwiOlwiZWxsZXJcIixcIiRcIjpcImRvbGxhclwiLFwiPFwiOlwibWluZHJlIGVuZFwiLFwiPlwiOlwic3TDuHJyZSBlbmRcIn0sXCJuYlwiOntcIiZcIjpcIm9nXCIsXCLDhVwiOlwiQUFcIixcIsOGXCI6XCJBRVwiLFwiw5hcIjpcIk9FXCIsXCLDpVwiOlwiYWFcIixcIsOmXCI6XCJhZVwiLFwiw7hcIjpcIm9lXCJ9LFwiaXRcIjp7XCImXCI6XCJlXCJ9LFwibmxcIjp7XCImXCI6XCJlblwifSxcInN2XCI6e1wiJlwiOlwib2NoXCIsXCLDhVwiOlwiQUFcIixcIsOEXCI6XCJBRVwiLFwiw5ZcIjpcIk9FXCIsXCLDpVwiOlwiYWFcIixcIsOkXCI6XCJhZVwiLFwiw7ZcIjpcIm9lXCJ9fScpO1xuXG5cbiAgICAgICAgaWYgKHR5cGVvZiBzICE9PSAnc3RyaW5nJykge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignc2x1Z2lmeTogc3RyaW5nIGFyZ3VtZW50IGV4cGVjdGVkJyk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCByZXBsYWNlbWVudCA9ICctJztcblxuICAgICAgICBjb25zdCB0cmltID0gdHJ1ZTtcblxuICAgICAgICBjb25zdCBsb2NhbGUgPSAnZW4nO1xuXG4gICAgICAgIGxldCBzbHVnID0gcy5ub3JtYWxpemUoKS5zcGxpdCgnJylcbiAgICAgICAgICAvLyByZXBsYWNlIGNoYXJhY3RlcnMgYmFzZWQgb24gY2hhck1hcFxuICAgICAgICAgIC5yZWR1Y2UoKHJlc3VsdCwgY2gpID0+IHtcbiAgICAgICAgICAgIGxldCBhcHBlbmRDaGFyID0gbG9jYWxlW2NoXSB8fCBjaGFyTWFwW2NoXSB8fCBjaDtcbiAgICAgICAgICAgIGlmIChhcHBlbmRDaGFyID09PSByZXBsYWNlbWVudCkge1xuICAgICAgICAgICAgICBhcHBlbmRDaGFyID0gJyAnO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdCArIGFwcGVuZENoYXJcbiAgICAgICAgICAgICAgLy8gcmVtb3ZlIG5vdCBhbGxvd2VkIGNoYXJhY3RlcnNcbiAgICAgICAgICAgICAgLnJlcGxhY2UoL1teXFx3XFxzJCpfK34uKCknXCIhXFwtOkBdKy9nLCAnJyk7XG4gICAgICAgICAgfSwgJycpO1xuXG4gICAgICAgIHNsdWcgPSBzbHVnLnRyaW0oKTtcblxuICAgICAgICAvLyBSZXBsYWNlIHNwYWNlcyB3aXRoIHJlcGxhY2VtZW50IGNoYXJhY3RlciwgdHJlYXRpbmcgbXVsdGlwbGUgY29uc2VjdXRpdmVcbiAgICAgICAgLy8gc3BhY2VzIGFzIGEgc2luZ2xlIHNwYWNlLlxuICAgICAgICBzbHVnID0gc2x1Zy5yZXBsYWNlKC9cXHMrL2csIHJlcGxhY2VtZW50KTtcblxuICAgICAgICBzbHVnID0gc2x1Zy50b0xvd2VyQ2FzZSgpO1xuXG4gICAgICAgIHJldHVybiBzbHVnO1xuICAgIH1cblxufVxuIl19
|
|
103
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50cnkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi9zZXJ2aWNlcy9lbnRyeS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQWUsTUFBTSxlQUFlLENBQUM7QUFDdkQsT0FBTyxFQUFDLGtDQUFrQyxFQUFDLE1BQU0sb0RBQW9ELENBQUM7QUFFdEcsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNwQyxPQUFPLEVBQWEsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ3pDLE9BQU8sRUFBQyxZQUFZLEVBQUUsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFakQsT0FBTyxFQUFhLFVBQVUsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBRTVELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQzs7O0FBSzNELE1BQU0sT0FBTyxZQUFhLFNBQVEsa0NBQXlDO0lBU3ZFLGNBQWMsQ0FBQyxHQUFVO1FBQ3JCLE9BQU8sSUFBSSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELGtCQUFrQixDQUFDLEdBQXdCO1FBQ3ZDLE1BQU0sUUFBUSxHQUFHLEdBQUcsQ0FBQztRQUNyQixNQUFNLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDbkIsS0FBSyxNQUFNLE1BQU0sSUFBSSxRQUFRLENBQUMsT0FBTyxFQUFFO1lBQ25DLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztTQUNuQztRQUNELFFBQVEsQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQzNCLE9BQU8sUUFBUSxDQUFDO0lBQ3BCLENBQUM7SUFHRCxZQUNjLElBQWdCO1FBRTFCLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUZGLFNBQUksR0FBSixJQUFJ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bkIsMkVBQTJFO1FBQzNFLDRCQUE0QjtRQUM1QixJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFFekMsSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUUxQixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQsTUFBTSxDQUFDLE1BQVc7UUFDZCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFNLElBQUksQ0FBQyxhQUFhLEdBQUksTUFBYyxDQUFDLEVBQUUsR0FBRyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQzVFLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsRUFBRSxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsRUFDOUQsR0FBRyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQ3RDLENBQUM7SUFDTixDQUFDOzt5R0E3SFEsWUFBWTs2R0FBWixZQUFZLGNBRlQsTUFBTTsyRkFFVCxZQUFZO2tCQUh4QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZSwgRXZlbnRFbWl0dGVyfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RGphbmdvUmVzdEZyYW1ld29ya0VuZHBvaW50U2VydmljZX0gZnJvbSAnLi4vc2VydmljZXMvZGphbmdvLXJlc3QtZnJhbWV3b3JrLWVuZHBvaW50LnNlcnZpY2UnO1xuaW1wb3J0IHtMaXN0UmVzcG9uc2V9IGZyb20gJy4uL2RhdGEvbGlzdC1yZXNwb25zZSc7XG5pbXBvcnQge0VudHJ5fSBmcm9tICcuLi9kYXRhL2VudHJ5JztcbmltcG9ydCB7T2JzZXJ2YWJsZSwgU3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2RlYm91bmNlVGltZSwgbWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge2xvTWFwfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHtIdHRwQ2xpZW50LCBIdHRwUGFyYW1zfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQge0NvcmVFdmVudH0gZnJvbSAnLi4vZGF0YS9jb3JlLWV2ZW50JztcbmltcG9ydCB7Q29yZUV2ZW50VHlwZX0gZnJvbSAnLi4vZGF0YS9jb3JlLWV2ZW50LXR5cGUuZW51bSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgRW50cnlTZXJ2aWNlIGV4dGVuZHMgRGphbmdvUmVzdEZyYW1ld29ya0VuZHBvaW50U2VydmljZTxFbnRyeT4ge1xuXG4gICAgZW5kcG9pbnQgPSAnL2Jsb2dfYXBpL2VudHJpZXMvJztcbiAgICBhZG1pbkVuZHBvaW50ID0gJy9ibG9nX2FwaS9hZG1pbi9lbnRyaWVzLyc7XG5cbiAgICBfY3VycmVudGx5RWRpdGVkRW50cnk6IEVudHJ5O1xuICAgIGN1cnJlbnRseUVkaXRlZEVudHJ5OiBTdWJqZWN0PEVudHJ5PiA9IG5ldyBTdWJqZWN0PEVudHJ5PigpO1xuICAgIHN1YjtcblxuICAgIGhhbmRsZVJlc3BvbnNlKG9iajogRW50cnkpOiBFbnRyeSB7XG4gICAgICAgIHJldHVybiBuZXcgRW50cnkob2JqKTtcbiAgICB9XG5cbiAgICBoYW5kbGVMaXN0UmVzcG9uc2Uob2JqOiBMaXN0UmVzcG9uc2U8RW50cnk+KTogTGlzdFJlc3BvbnNlPEVudHJ5PiB7XG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0gb2JqO1xuICAgICAgICBjb25zdCByZXN1bHRzID0gW107XG4gICAgICAgIGZvciAoY29uc3QgcmVzdWx0IG9mIHJlc3BvbnNlLnJlc3VsdHMpIHtcbiAgICAgICAgICAgIHJlc3VsdHMucHVzaChuZXcgRW50cnkocmVzdWx0KSk7XG4gICAgICAgIH1cbiAgICAgICAgcmVzcG9uc2UucmVzdWx0cyA9IHJlc3VsdHM7XG4gICAgICAgIHJldHVybiByZXNwb25zZTtcbiAgICB9XG5cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcm90ZWN0ZWQgaHR0cDogSHR0cENsaWVudCxcbiAgICApIHtcbiAgICAgICAgc3VwZXIoaHR0cCk7XG4gICAgICAgIHRoaXMuc3ViID0gdGhpcy5jdXJyZW50bHlFZGl0ZWRFbnRyeS5waXBlKGRlYm91bmNlVGltZSgzMDAwKSkuc3Vic2NyaWJlKChlKSA9PiB7XG4gICAgICAgICAgICBlLmVkaXRfZGF0ZSA9IG5ldyBEYXRlKCk7XG4gICAgICAgICAgICBjb25zdCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpLnNldCgncHVibGlzaGVkJywgSlNPTi5zdHJpbmdpZnkoZmFsc2UpKS5zZXQoJ2RlZnVuY3QnLCBKU09OLnN0cmluZ2lmeShmYWxzZSkpO1xuXG4gICAgICAgICAgICB0aGlzLmh0dHAucGF0Y2godGhpcy5hZG1pbkVuZHBvaW50ICsgZS5pZCArICcvJywgZSwge3BhcmFtc30pLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHRoaXMuaGFuZGxlUmVzcG9uc2UuYmluZCh0aGlzKSlcbiAgICAgICAgICAgICkuc3Vic2NyaWJlKChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudHJpZ2dlckNvcmVFdmVudCgocmVzcG9uc2UgYXMgRW50cnkpLCBDb3JlRXZlbnRUeXBlLlVQREFURSk7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ1N5bmNlZCAnICsgZS5pZCArICcuLi4nKTtcbiAgICAgICAgICAgIH0sIChlcnIpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnRXJyb3IgZW5jb3VudGVyZWQgc3luY2luZyAnICsgZS5pZCArICcsIHRyeWluZyB0byBjcmVhdGUuLi4nKTtcbiAgICAgICAgICAgICAgICB0aGlzLmh0dHAucG9zdCh0aGlzLmFkbWluRW5kcG9pbnQsIGUpLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIG1hcCh0aGlzLmhhbmRsZVJlc3BvbnNlKVxuICAgICAgICAgICAgICAgICkuc3Vic2NyaWJlKChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnRyaWdnZXJDb3JlRXZlbnQoKHJlc3BvbnNlIGFzIEVudHJ5KSwgQ29yZUV2ZW50VHlwZS5DUkVBVEUpO1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnQ3JlYXRlZCAnICsgZS5pZCArICcuLi4nKTtcbiAgICAgICAgICAgICAgICB9LCAoY3JlYXRlRXJyKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdFcnJvciBjcmVhdGluZyAnICsgZS5pZCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZ2V0KCk6IE9ic2VydmFibGU8TGlzdFJlc3BvbnNlPEVudHJ5Pj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLmVuZHBvaW50KS5waXBlKFxuICAgICAgICAgICAgbWFwKHRoaXMuaGFuZGxlTGlzdFJlc3BvbnNlLmJpbmQodGhpcykpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0VW5wdWJsaXNoZWRFbnRyaWVzKCkge1xuICAgICAgICBjb25zdCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpLnNldCgncHVibGlzaGVkJywgSlNPTi5zdHJpbmdpZnkoZmFsc2UpKS5zZXQoJ2RlZnVuY3QnLCBKU09OLnN0cmluZ2lmeShmYWxzZSkpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLmFkbWluRW5kcG9pbnQsIHtwYXJhbXN9KTtcbiAgICB9XG5cbiAgICBnZXRCeVNsdWcoc2x1Zzogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuZW5kcG9pbnQgKyBzbHVnICsgJy9ieV9zbHVnLycpLnBpcGUoXG4gICAgICAgICAgICBtYXAodGhpcy5oYW5kbGVSZXNwb25zZS5iaW5kKHRoaXMpKVxuICAgICAgICApO1xuICAgIH1cbiAgICBnZXRVbnB1Ymxpc2hlZEJ5SWQoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8RW50cnk+IHtcbiAgICAgICAgY29uc3QgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKS5zZXQoJ3B1Ymxpc2hlZCcsIEpTT04uc3RyaW5naWZ5KGZhbHNlKSkuc2V0KCdkZWZ1bmN0JywgSlNPTi5zdHJpbmdpZnkoZmFsc2UpKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8RW50cnk+KHRoaXMuYWRtaW5FbmRwb2ludCArIGlkLCB7cGFyYW1zfSkucGlwZShcbiAgICAgICAgICAgIG1hcCh0aGlzLmhhbmRsZVJlc3BvbnNlLmJpbmQodGhpcykpXG4gICAgICAgICk7XG4gICAgfVxuICAgIHVwZGF0ZVVucHVibGlzaGVkRW50cnkoZW50cnk6IEVudHJ5KTogT2JzZXJ2YWJsZTxFbnRyeT4ge1xuICAgICAgICBjb25zdCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpLnNldCgncHVibGlzaGVkJywgSlNPTi5zdHJpbmdpZnkoZmFsc2UpKS5zZXQoJ2RlZnVuY3QnLCBKU09OLnN0cmluZ2lmeShmYWxzZSkpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBhdGNoPEVudHJ5Pih0aGlzLmFkbWluRW5kcG9pbnQgKyBlbnRyeS5pZCArICcvJywgZW50cnksIHtwYXJhbXN9KS5waXBlKFxuICAgICAgICAgICAgbWFwKCh2YWwpID0+IHRoaXMudHJpZ2dlckNvcmVFdmVudCh2YWwsIENvcmVFdmVudFR5cGUuVVBEQVRFKSksXG4gICAgICAgICAgICBtYXAodGhpcy5oYW5kbGVSZXNwb25zZS5iaW5kKHRoaXMpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHNsdWdpZnkoczogc3RyaW5nKSB7XG5cbiAgICAgICAgY29uc3QgY2hhck1hcCA9IEpTT04ucGFyc2UoJ3tcIiRcIjpcImRvbGxhclwiLFwiJVwiOlwicGVyY2VudFwiLFwiJlwiOlwiYW5kXCIsXCI8XCI6XCJsZXNzXCIsXCI+XCI6XCJncmVhdGVyXCIsXCJ8XCI6XCJvclwiLFwiwqJcIjpcImNlbnRcIixcIsKjXCI6XCJwb3VuZFwiLFwiwqRcIjpcImN1cnJlbmN5XCIsXCLCpVwiOlwieWVuXCIsXCLCqVwiOlwiKGMpXCIsXCLCqlwiOlwiYVwiLFwiwq5cIjpcIihyKVwiLFwiwrpcIjpcIm9cIixcIsOAXCI6XCJBXCIsXCLDgVwiOlwiQVwiLFwiw4JcIjpcIkFcIixcIsODXCI6XCJBXCIsXCLDhFwiOlwiQVwiLFwiw4VcIjpcIkFcIixcIsOGXCI6XCJBRVwiLFwiw4dcIjpcIkNcIixcIsOIXCI6XCJFXCIsXCLDiVwiOlwiRVwiLFwiw4pcIjpcIkVcIixcIsOLXCI6XCJFXCIsXCLDjFwiOlwiSVwiLFwiw41cIjpcIklcIixcIsOOXCI6XCJJXCIsXCLDj1wiOlwiSVwiLFwiw5BcIjpcIkRcIixcIsORXCI6XCJOXCIsXCLDklwiOlwiT1wiLFwiw5NcIjpcIk9cIixcIsOUXCI6XCJPXCIsXCLDlVwiOlwiT1wiLFwiw5ZcIjpcIk9cIixcIsOYXCI6XCJPXCIsXCLDmVwiOlwiVVwiLFwiw5pcIjpcIlVcIixcIsObXCI6XCJVXCIsXCLDnFwiOlwiVVwiLFwiw51cIjpcIllcIixcIsOeXCI6XCJUSFwiLFwiw59cIjpcInNzXCIsXCLDoFwiOlwiYVwiLFwiw6FcIjpcImFcIixcIsOiXCI6XCJhXCIsXCLDo1wiOlwiYVwiLFwiw6RcIjpcImFcIixcIsOlXCI6XCJhXCIsXCLDplwiOlwiYWVcIixcIsOnXCI6XCJjXCIsXCLDqFwiOlwiZVwiLFwiw6lcIjpcImVcIixcIsOqXCI6XCJlXCIsXCLDq1wiOlwiZVwiLFwiw6xcIjpcImlcIixcIsOtXCI6XCJpXCIsXCLDrlwiOlwiaVwiLFwiw69cIjpcImlcIixcIsOwXCI6XCJkXCIsXCLDsVwiOlwiblwiLFwiw7JcIjpcIm9cIixcIsOzXCI6XCJvXCIsXCLDtFwiOlwib1wiLFwiw7VcIjpcIm9cIixcIsO2XCI6XCJvXCIsXCLDuFwiOlwib1wiLFwiw7lcIjpcInVcIixcIsO6XCI6XCJ1XCIsXCLDu1wiOlwidVwiLFwiw7xcIjpcInVcIixcIsO9XCI6XCJ5XCIsXCLDvlwiOlwidGhcIixcIsO/XCI6XCJ5XCIsXCLEgFwiOlwiQVwiLFwixIFcIjpcImFcIixcIsSCXCI6XCJBXCIsXCLEg1wiOlwiYVwiLFwixIRcIjpcIkFcIixcIsSFXCI6XCJhXCIsXCLEhlwiOlwiQ1wiLFwixIdcIjpcImNcIixcIsSMXCI6XCJDXCIsXCLEjVwiOlwiY1wiLFwixI5cIjpcIkRcIixcIsSPXCI6XCJkXCIsXCLEkFwiOlwiREpcIixcIsSRXCI6XCJkalwiLFwixJJcIjpcIkVcIixcIsSTXCI6XCJlXCIsXCLEllwiOlwiRVwiLFwixJdcIjpcImVcIixcIsSYXCI6XCJlXCIsXCLEmVwiOlwiZVwiLFwixJpcIjpcIkVcIixcIsSbXCI6XCJlXCIsXCLEnlwiOlwiR1wiLFwixJ9cIjpcImdcIixcIsSiXCI6XCJHXCIsXCLEo1wiOlwiZ1wiLFwixKhcIjpcIklcIixcIsSpXCI6XCJpXCIsXCLEqlwiOlwiaVwiLFwixKtcIjpcImlcIixcIsSuXCI6XCJJXCIsXCLEr1wiOlwiaVwiLFwixLBcIjpcIklcIixcIsSxXCI6XCJpXCIsXCLEtlwiOlwia1wiLFwixLdcIjpcImtcIixcIsS7XCI6XCJMXCIsXCLEvFwiOlwibFwiLFwixL1cIjpcIkxcIixcIsS+XCI6XCJsXCIsXCLFgVwiOlwiTFwiLFwixYJcIjpcImxcIixcIsWDXCI6XCJOXCIsXCLFhFwiOlwiblwiLFwixYVcIjpcIk5cIixcIsWGXCI6XCJuXCIsXCLFh1wiOlwiTlwiLFwixYhcIjpcIm5cIixcIsWMXCI6XCJPXCIsXCLFjVwiOlwib1wiLFwixZBcIjpcIk9cIixcIsWRXCI6XCJvXCIsXCLFklwiOlwiT0VcIixcIsWTXCI6XCJvZVwiLFwixZRcIjpcIlJcIixcIsWVXCI6XCJyXCIsXCLFmFwiOlwiUlwiLFwixZlcIjpcInJcIixcIsWaXCI6XCJTXCIsXCLFm1wiOlwic1wiLFwixZ5cIjpcIlNcIixcIsWfXCI6XCJzXCIsXCLFoFwiOlwiU1wiLFwixaFcIjpcInNcIixcIsWiXCI6XCJUXCIsXCLFo1wiOlwidFwiLFwixaRcIjpcIlRcIixcIsWlXCI6XCJ0XCIsXCLFqFwiOlwiVVwiLFwixalcIjpcInVcIixcIsWqXCI6XCJ1XCIsXCLFq1wiOlwidVwiLFwixa5cIjpcIlVcIixcIsWvXCI6XCJ1XCIsXCLFsFwiOlwiVVwiLFwixbFcIjpcInVcIixcIsWyXCI6XCJVXCIsXCLFs1wiOlwidVwiLFwixbRcIjpcIldcIixcIsW1XCI6XCJ3XCIsXCLFtlwiOlwiWVwiLFwixbdcIjpcInlcIixcIsW4XCI6XCJZXCIsXCLFuVwiOlwiWlwiLFwixbpcIjpcInpcIixcIsW7XCI6XCJaXCIsXCLFvFwiOlwielwiLFwixb1cIjpcIlpcIixcIsW+XCI6XCJ6XCIsXCLGj1wiOlwiRVwiLFwixpJcIjpcImZcIixcIsagXCI6XCJPXCIsXCLGoVwiOlwib1wiLFwixq9cIjpcIlVcIixcIsawXCI6XCJ1XCIsXCLHiFwiOlwiTEpcIixcIseJXCI6XCJsalwiLFwix4tcIjpcIk5KXCIsXCLHjFwiOlwibmpcIixcIsiYXCI6XCJTXCIsXCLImVwiOlwic1wiLFwiyJpcIjpcIlRcIixcIsibXCI6XCJ0XCIsXCLJmVwiOlwiZVwiLFwiy5pcIjpcIm9cIixcIs6GXCI6XCJBXCIsXCLOiFwiOlwiRVwiLFwizolcIjpcIkhcIixcIs6KXCI6XCJJXCIsXCLOjFwiOlwiT1wiLFwizo5cIjpcIllcIixcIs6PXCI6XCJXXCIsXCLOkFwiOlwiaVwiLFwizpFcIjpcIkFcIixcIs6SXCI6XCJCXCIsXCLOk1wiOlwiR1wiLFwizpRcIjpcIkRcIixcIs6VXCI6XCJFXCIsXCLOllwiOlwiWlwiLFwizpdcIjpcIkhcIixcIs6YXCI6XCI4XCIsXCLOmVwiOlwiSVwiLFwizppcIjpcIktcIixcIs6bXCI6XCJMXCIsXCLOnFwiOlwiTVwiLFwizp1cIjpcIk5cIixcIs6eXCI6XCIzXCIsXCLOn1wiOlwiT1wiLFwizqBcIjpcIlBcIixcIs6hXCI6XCJSXCIsXCLOo1wiOlwiU1wiLFwizqRcIjpcIlRcIixcIs6lXCI6XCJZXCIsXCLOplwiOlwiRlwiLFwizqdcIjpcIlhcIixcIs6oXCI6XCJQU1wiLFwizqlcIjpcIldcIixcIs6qXCI6XCJJXCIsXCLOq1wiOlwiWVwiLFwizqxcIjpcImFcIixcIs6tXCI6XCJlXCIsXCLOrlwiOlwiaFwiLFwizq9cIjpcImlcIixcIs6wXCI6XCJ5XCIsXCLOsVwiOlwiYVwiLFwizrJcIjpcImJcIixcIs6zXCI6XCJnXCIsXCLOtFwiOlwiZFwiLFwizrVcIjpcImVcIixcIs62XCI6XCJ6XCIsXCLOt1wiOlwiaFwiLFwizrhcIjpcIjhcIixcIs65XCI6XCJpXCIsXCLOulwiOlwia1wiLFwizrtcIjpcImxcIixcIs68XCI6XCJtXCIsXCLOvVwiOlwiblwiLFwizr5cIjpcIjNcIixcIs6/XCI6XCJvXCIsXCLPgFwiOlwicFwiLFwiz4FcIjpcInJcIixcIs+CXCI6XCJzXCIsXCLPg1wiOlwic1wiLFwiz4RcIjpcInRcIixcIs+FXCI6XCJ5XCIsXCLPhlwiOlwiZlwiLFwiz4dcIjpcInhcIixcIs+IXCI6XCJwc1wiLFwiz4lcIjpcIndcIixcIs+KXCI6XCJpXCIsXCLPi1wiOlwieVwiLFwiz4xcIjpcIm9cIixcIs+NXCI6XCJ5XCIsXCLPjlwiOlwid1wiLFwi0IFcIjpcIllvXCIsXCLQglwiOlwiREpcIixcItCEXCI6XCJZZVwiLFwi0IZcIjpcIklcIixcItCHXCI6XCJZaVwiLFwi0IhcIjpcIkpcIixcItCJXCI6XCJMSlwiLFwi0IpcIjpcIk5KXCIsXCLQi1wiOlwiQ1wiLFwi0I9cIjpcIkRaXCIsXCLQkFwiOlwiQVwiLFwi0JFcIjpcIkJcIixcItCSXCI6XCJWXCIsXCLQk1wiOlwiR1wiLFwi0JRcIjpcIkRcIixcItCVXCI6XCJFXCIsXCLQllwiOlwiWmhcIixcItCXXCI6XCJaXCIsXCLQmFwiOlwiSVwiLFwi0JlcIjpcIkpcIixcItCaXCI6XCJLXCIsXCLQm1wiOlwiTFwiLFwi0JxcIjpcIk1cIixcItCdXCI6XCJOXCIsXCLQnlwiOlwiT1wiLFwi0J9cIjpcIlBcIixcItCgXCI6XCJSXCIsXCLQoVwiOlwiU1wiLFwi0KJcIjpcIlRcIixcItCjXCI6XCJVXCIsXCLQpFwiOlwiRlwiLFwi0KVcIjpcIkhcIixcItCmXCI6XCJDXCIsXCLQp1wiOlwiQ2hcIixcItCoXCI6XCJTaFwiLFwi0KlcIjpcIlNoXCIsXCLQqlwiOlwiVVwiLFwi0KtcIjpcIllcIixcItCsXCI6XCJcIixcItCtXCI6XCJFXCIsXCLQrlwiOlwiWXVcIixcItCvXCI6XCJZYVwiLFwi0LBcIjpcImFcIixcItCxXCI6XCJiXCIsXCLQslwiOlwidlwiLFwi0LNcIjpcImdcIixcItC0XCI6XCJkXCIsXCLQtVwiOlwiZVwiLFwi0LZcIjpcInpoXCIsXCLQt1wiOlwielwiLFwi0LhcIjpcImlcIixcItC5XCI6XCJqXCIsXCLQulwiOlwia1wiLFwi0LtcIjpcImxcIixcItC8XCI6XCJtXCIsXCLQvVwiOlwiblwiLFwi0L5cIjpcIm9cIixcItC/XCI6XCJwXCIsXCLRgFwiOlwiclwiLFwi0YFcIjpcInNcIixcItGCXCI6XCJ0XCIsXCLRg1wiOlwidVwiLFwi0YRcIjpcImZcIixcItGFXCI6XCJoXCIsXCLRhlwiOlwiY1wiLFwi0YdcIjpcImNoXCIsXCLRiFwiOlwic2hcIixcItGJXCI6XCJzaFwiLFwi0YpcIjpcInVcIixcItGLXCI6XCJ5XCIsXCLRjFwiOlwiXCIsXCLRjVwiOlwiZVwiLFwi0Y5cIjpcInl1XCIsXCLRj1wiOlwieWFcIixcItGRXCI6XCJ5b1wiLFwi0ZJcIjpcImRqXCIsXCLRlFwiOlwieWVcIixcItGWXCI6XCJpXCIsXCLRl1wiOlwieWlcIixcItGYXCI6XCJqXCIsXCLRmVwiOlwibGpcIixcItGaXCI6XCJualwiLFwi0ZtcIjpcImNcIixcItGdXCI6XCJ1XCIsXCLRn1wiOlwiZHpcIixcItKQXCI6XCJHXCIsXCLSkVwiOlwiZ1wiLFwi0pJcIjpcIkdIXCIsXCLSk1wiOlwiZ2hcIixcItKaXCI6XCJLSFwiLFwi0ptcIjpcImtoXCIsXCLSolwiOlwiTkdcIixcItKjXCI6XCJuZ1wiLFwi0q5cIjpcIlVFXCIsXCLSr1wiOlwidWVcIixcItKwXCI6XCJVXCIsXCLSsVwiOlwidVwiLFwi0rpcIjpcIkhcIixcItK7XCI6XCJoXCIsXCLTmFwiOlwiQUVcIixcItOZXCI6XCJhZVwiLFwi06hcIjpcIk9FXCIsXCLTqVwiOlwib2VcIixcItSxXCI6XCJBXCIsXCLUslwiOlwiQlwiLFwi1LNcIjpcIkdcIixcItS0XCI6XCJEXCIsXCLUtVwiOlwiRVwiLFwi1LZcIjpcIlpcIixcItS3XCI6XCJFXFwnXCIsXCLUuFwiOlwiWVxcJ1wiLFwi1LlcIjpcIlRcXCdcIixcItS6XCI6XCJKSFwiLFwi1LtcIjpcIklcIixcItS8XCI6XCJMXCIsXCLUvVwiOlwiWFwiLFwi1L5cIjpcIkNcXCdcIixcItS/XCI6XCJLXCIsXCLVgFwiOlwiSFwiLFwi1YFcIjpcIkRcXCdcIixcItWCXCI6XCJHSFwiLFwi1YNcIjpcIlRXXCIsXCLVhFwiOlwiTVwiLFwi1YVcIjpcIllcIixcItWGXCI6XCJOXCIsXCLVh1wiOlwiU0hcIixcItWJXCI6XCJDSFwiLFwi1YpcIjpcIlBcIixcItWLXCI6XCJKXCIsXCLVjFwiOlwiUlxcJ1wiLFwi1Y1cIjpcIlNcIixcItWOXCI6XCJWXCIsXCLVj1wiOlwiVFwiLFwi1ZBcIjpcIlJcIixcItWRXCI6XCJDXCIsXCLVk1wiOlwiUFxcJ1wiLFwi1ZRcIjpcIlFcXCdcIixcItWVXCI6XCJPXFwnXFwnXCIsXCLVllwiOlwiRlwiLFwi1odcIjpcIkVWXCIsXCLYoVwiOlwiYVwiLFwi2KJcIjpcImFhXCIsXCLYo1wiOlwiYVwiLFwi2KRcIjpcInVcIixcItilXCI6XCJpXCIsXCLYplwiOlwiZVwiLFwi2KdcIjpcImFcIixcItioXCI6XCJiXCIsXCLYqVwiOlwiaFwiLFwi2KpcIjpcInRcIixcItirXCI6XCJ0aFwiLFwi2KxcIjpcImpcIixcItitXCI6XCJoXCIsXCLYrlwiOlwia2hcIixcItivXCI6XCJkXCIsXCLYsFwiOlwidGhcIixcItixXCI6XCJyXCIsXCLYslwiOlwielwiLFwi2LNcIjpcInNcIixcIti0XCI6XCJzaFwiLFwi2LVcIjpcInNcIixcIti2XCI6XCJkaFwiLFwi2LdcIjpcInRcIixcIti4XCI6XCJ6XCIsXCLYuVwiOlwiYVwiLFwi2LpcIjpcImdoXCIsXCLZgVwiOlwiZlwiLFwi2YJcIjpcInFcIixcItmDXCI6XCJrXCIsXCLZhFwiOlwibFwiLFwi2YVcIjpcIm1cIixcItmGXCI6XCJuXCIsXCLZh1wiOlwiaFwiLFwi2YhcIjpcIndcIixcItmJXCI6XCJhXCIsXCLZilwiOlwieVwiLFwi2YtcIjpcImFuXCIsXCLZjFwiOlwib25cIixcItmNXCI6XCJlblwiLFwi2Y5cIjpcImFcIixcItmPXCI6XCJ1XCIsXCLZkFwiOlwiZVwiLFwi2ZJcIjpcIlwiLFwi2aBcIjpcIjBcIixcItmhXCI6XCIxXCIsXCLZolwiOlwiMlwiLFwi2aNcIjpcIjNcIixcItmkXCI6XCI0XCIsXCLZpVwiOlwiNVwiLFwi2aZcIjpcIjZcIixcItmnXCI6XCI3XCIsXCLZqFwiOlwiOFwiLFwi2alcIjpcIjlcIixcItm+XCI6XCJwXCIsXCLahlwiOlwiY2hcIixcItqYXCI6XCJ6aFwiLFwi2qlcIjpcImtcIixcItqvXCI6XCJnXCIsXCLbjFwiOlwieVwiLFwi27BcIjpcIjBcIixcItuxXCI6XCIxXCIsXCLbslwiOlwiMlwiLFwi27NcIjpcIjNcIixcItu0XCI6XCI0XCIsXCLbtVwiOlwiNVwiLFwi27ZcIjpcIjZcIixcItu3XCI6XCI3XCIsXCLbuFwiOlwiOFwiLFwi27lcIjpcIjlcIixcIuC4v1wiOlwiYmFodFwiLFwi4YOQXCI6XCJhXCIsXCLhg5FcIjpcImJcIixcIuGDklwiOlwiZ1wiLFwi4YOTXCI6XCJkXCIsXCLhg5RcIjpcImVcIixcIuGDlVwiOlwidlwiLFwi4YOWXCI6XCJ6XCIsXCLhg5dcIjpcInRcIixcIuGDmFwiOlwiaVwiLFwi4YOZXCI6XCJrXCIsXCLhg5pcIjpcImxcIixcIuGDm1wiOlwibVwiLFwi4YOcXCI6XCJuXCIsXCLhg51cIjpcIm9cIixcIuGDnlwiOlwicFwiLFwi4YOfXCI6XCJ6aFwiLFwi4YOgXCI6XCJyXCIsXCLhg6FcIjpcInNcIixcIuGDolwiOlwidFwiLFwi4YOjXCI6XCJ1XCIsXCLhg6RcIjpcImZcIixcIuGDpVwiOlwia1wiLFwi4YOmXCI6XCJnaFwiLFwi4YOnXCI6XCJxXCIsXCLhg6hcIjpcInNoXCIsXCLhg6lcIjpcImNoXCIsXCLhg6pcIjpcInRzXCIsXCLhg6tcIjpcImR6XCIsXCLhg6xcIjpcInRzXCIsXCLhg61cIjpcImNoXCIsXCLhg65cIjpcImtoXCIsXCLhg69cIjpcImpcIixcIuGDsFwiOlwiaFwiLFwi4bmiXCI6XCJTXCIsXCLhuaNcIjpcInNcIixcIuG6gFwiOlwiV1wiLFwi4bqBXCI6XCJ3XCIsXCLhuoJcIjpcIldcIixcIuG6g1wiOlwid1wiLFwi4bqEXCI6XCJXXCIsXCLhuoVcIjpcIndcIixcIuG6nlwiOlwiU1NcIixcIuG6oFwiOlwiQVwiLFwi4bqhXCI6XCJhXCIsXCLhuqJcIjpcIkFcIixcIuG6o1wiOlwiYVwiLFwi4bqkXCI6XCJBXCIsXCLhuqVcIjpcImFcIixcIuG6plwiOlwiQVwiLFwi4bqnXCI6XCJhXCIsXCLhuqhcIjpcIkFcIixcIuG6qVwiOlwiYVwiLFwi4bqqXCI6XCJBXCIsXCLhuqtcIjpcImFcIixcIuG6rFwiOlwiQVwiLFwi4bqtXCI6XCJhXCIsXCLhuq5cIjpcIkFcIixcIuG6r1wiOlwiYVwiLFwi4bqwXCI6XCJBXCIsXCLhurFcIjpcImFcIixcIuG6slwiOlwiQVwiLFwi4bqzXCI6XCJhXCIsXCLhurRcIjpcIkFcIixcIuG6tVwiOlwiYVwiLFwi4bq2XCI6XCJBXCIsXCLhurdcIjpcImFcIixcIuG6uFwiOlwiRVwiLFwi4bq5XCI6XCJlXCIsXCLhurpcIjpcIkVcIixcIuG6u1wiOlwiZVwiLFwi4bq8XCI6XCJFXCIsXCLhur1cIjpcImVcIixcIuG6vlwiOlwiRVwiLFwi4bq/XCI6XCJlXCIsXCLhu4BcIjpcIkVcIixcIuG7gVwiOlwiZVwiLFwi4buCXCI6XCJFXCIsXCLhu4NcIjpcImVcIixcIuG7hFwiOlwiRVwiLFwi4buFXCI6XCJlXCIsXCLhu4ZcIjpcIkVcIixcIuG7h1wiOlwiZVwiLFwi4buIXCI6XCJJXCIsXCLhu4lcIjpcImlcIixcIuG7ilwiOlwiSVwiLFwi4buLXCI6XCJpXCIsXCLhu4xcIjpcIk9cIixcIuG7jVwiOlwib1wiLFwi4buOXCI6XCJPXCIsXCLhu49cIjpcIm9cIixcIuG7kFwiOlwiT1wiLFwi4buRXCI6XCJvXCIsXCLhu5JcIjpcIk9cIixcIuG7k1wiOlwib1wiLFwi4buUXCI6XCJPXCIsXCLhu5VcIjpcIm9cIixcIuG7llwiOlwiT1wiLFwi4buXXCI6XCJvXCIsXCLhu5hcIjpcIk9cIixcIuG7mVwiOlwib1wiLFwi4buaXCI6XCJPXCIsXCLhu5tcIjpcIm9cIixcIuG7nFwiOlwiT1wiLFwi4budXCI6XCJvXCIsXCLhu55cIjpcIk9cIixcIuG7n1wiOlwib1wiLFwi4bugXCI6XCJPXCIsXCLhu6FcIjpcIm9cIixcIuG7olwiOlwiT1wiLFwi4bujXCI6XCJvXCIsXCLhu6RcIjpcIlVcIixcIuG7pVwiOlwidVwiLFwi4bumXCI6XCJVXCIsXCLhu6dcIjpcInVcIixcIuG7qFwiOlwiVVwiLFwi4bupXCI6XCJ1XCIsXCLhu6pcIjpcIlVcIixcIuG7q1wiOlwidVwiLFwi4busXCI6XCJVXCIsXCLhu61cIjpcInVcIixcIuG7rlwiOlwiVVwiLFwi4buvXCI6XCJ1XCIsXCLhu7BcIjpcIlVcIixcIuG7sVwiOlwidVwiLFwi4buyXCI6XCJZXCIsXCLhu7NcIjpcInlcIixcIuG7tFwiOlwiWVwiLFwi4bu1XCI6XCJ5XCIsXCLhu7ZcIjpcIllcIixcIuG7t1wiOlwieVwiLFwi4bu4XCI6XCJZXCIsXCLhu7lcIjpcInlcIixcIuKAk1wiOlwiLVwiLFwi4oCYXCI6XCJcXCdcIixcIuKAmVwiOlwiXFwnXCIsXCLigJxcIjpcIlxcXFxcXFwiXCIsXCLigJ1cIjpcIlxcXFxcXFwiXCIsXCLigJ5cIjpcIlxcXFxcXFwiXCIsXCLigKBcIjpcIitcIixcIuKAolwiOlwiKlwiLFwi4oCmXCI6XCIuLi5cIixcIuKCoFwiOlwiZWN1XCIsXCLigqJcIjpcImNydXplaXJvXCIsXCLigqNcIjpcImZyZW5jaCBmcmFuY1wiLFwi4oKkXCI6XCJsaXJhXCIsXCLigqVcIjpcIm1pbGxcIixcIuKCplwiOlwibmFpcmFcIixcIuKCp1wiOlwicGVzZXRhXCIsXCLigqhcIjpcInJ1cGVlXCIsXCLigqlcIjpcIndvblwiLFwi4oKqXCI6XCJuZXcgc2hlcXVlbFwiLFwi4oKrXCI6XCJkb25nXCIsXCLigqxcIjpcImV1cm9cIixcIuKCrVwiOlwia2lwXCIsXCLigq5cIjpcInR1Z3Jpa1wiLFwi4oKvXCI6XCJkcmFjaG1hXCIsXCLigrBcIjpcInBlbm55XCIsXCLigrFcIjpcInBlc29cIixcIuKCslwiOlwiZ3VhcmFuaVwiLFwi4oKzXCI6XCJhdXN0cmFsXCIsXCLigrRcIjpcImhyeXZuaWFcIixcIuKCtVwiOlwiY2VkaVwiLFwi4oK4XCI6XCJrYXpha2hzdGFuaSB0ZW5nZVwiLFwi4oK5XCI6XCJpbmRpYW4gcnVwZWVcIixcIuKCulwiOlwidHVya2lzaCBsaXJhXCIsXCLigr1cIjpcInJ1c3NpYW4gcnVibGVcIixcIuKCv1wiOlwiYml0Y29pblwiLFwi4oSgXCI6XCJzbVwiLFwi4oSiXCI6XCJ0bVwiLFwi4oiCXCI6XCJkXCIsXCLiiIZcIjpcImRlbHRhXCIsXCLiiJFcIjpcInN1bVwiLFwi4oieXCI6XCJpbmZpbml0eVwiLFwi4pmlXCI6XCJsb3ZlXCIsXCLlhYNcIjpcInl1YW5cIixcIuWGhlwiOlwieWVuXCIsXCLvt7xcIjpcInJpYWxcIixcIu+7tVwiOlwibGFhXCIsXCLvu7dcIjpcImxhYVwiLFwi77u5XCI6XCJsYWlcIixcIu+7u1wiOlwibGFcIn0nKTtcbiAgICAgICAgY29uc3QgbG9jYWxlcyA9IEpTT04ucGFyc2UoJ3tcImJnXCI6e1wi0JlcIjpcIllcIixcItCmXCI6XCJUc1wiLFwi0KlcIjpcIlNodFwiLFwi0KpcIjpcIkFcIixcItCsXCI6XCJZXCIsXCLQuVwiOlwieVwiLFwi0YZcIjpcInRzXCIsXCLRiVwiOlwic2h0XCIsXCLRilwiOlwiYVwiLFwi0YxcIjpcInlcIn0sXCJkZVwiOntcIsOEXCI6XCJBRVwiLFwiw6RcIjpcImFlXCIsXCLDllwiOlwiT0VcIixcIsO2XCI6XCJvZVwiLFwiw5xcIjpcIlVFXCIsXCLDvFwiOlwidWVcIixcIsOfXCI6XCJzc1wiLFwiJVwiOlwicHJvemVudFwiLFwiJlwiOlwidW5kXCIsXCJ8XCI6XCJvZGVyXCIsXCLiiJFcIjpcInN1bW1lXCIsXCLiiJ5cIjpcInVuZW5kbGljaFwiLFwi4pmlXCI6XCJsaWViZVwifSxcImVzXCI6e1wiJVwiOlwicG9yIGNpZW50b1wiLFwiJlwiOlwieVwiLFwiPFwiOlwibWVub3IgcXVlXCIsXCI+XCI6XCJtYXlvciBxdWVcIixcInxcIjpcIm9cIixcIsKiXCI6XCJjZW50YXZvc1wiLFwiwqNcIjpcImxpYnJhc1wiLFwiwqRcIjpcIm1vbmVkYVwiLFwi4oKjXCI6XCJmcmFuY29zXCIsXCLiiJFcIjpcInN1bWFcIixcIuKInlwiOlwiaW5maW5pdG9cIixcIuKZpVwiOlwiYW1vclwifSxcImZyXCI6e1wiJVwiOlwicG91cmNlbnRcIixcIiZcIjpcImV0XCIsXCI8XCI6XCJwbHVzIHBldGl0XCIsXCI+XCI6XCJwbHVzIGdyYW5kXCIsXCJ8XCI6XCJvdVwiLFwiwqJcIjpcImNlbnRpbWVcIixcIsKjXCI6XCJsaXZyZVwiLFwiwqRcIjpcImRldmlzZVwiLFwi4oKjXCI6XCJmcmFuY1wiLFwi4oiRXCI6XCJzb21tZVwiLFwi4oieXCI6XCJpbmZpbmlcIixcIuKZpVwiOlwiYW1vdXJcIn0sXCJwdFwiOntcIiVcIjpcInBvcmNlbnRvXCIsXCImXCI6XCJlXCIsXCI8XCI6XCJtZW5vclwiLFwiPlwiOlwibWFpb3JcIixcInxcIjpcIm91XCIsXCLColwiOlwiY2VudGF2b1wiLFwi4oiRXCI6XCJzb21hXCIsXCLCo1wiOlwibGlicmFcIixcIuKInlwiOlwiaW5maW5pdG9cIixcIuKZpVwiOlwiYW1vclwifSxcInVrXCI6e1wi0JhcIjpcIllcIixcItC4XCI6XCJ5XCIsXCLQmVwiOlwiWVwiLFwi0LlcIjpcInlcIixcItCmXCI6XCJUc1wiLFwi0YZcIjpcInRzXCIsXCLQpVwiOlwiS2hcIixcItGFXCI6XCJraFwiLFwi0KlcIjpcIlNoY2hcIixcItGJXCI6XCJzaGNoXCIsXCLQk1wiOlwiSFwiLFwi0LNcIjpcImhcIn0sXCJ2aVwiOntcIsSQXCI6XCJEXCIsXCLEkVwiOlwiZFwifSxcImRhXCI6e1wiw5hcIjpcIk9FXCIsXCLDuFwiOlwib2VcIixcIsOFXCI6XCJBQVwiLFwiw6VcIjpcImFhXCIsXCIlXCI6XCJwcm9jZW50XCIsXCImXCI6XCJvZ1wiLFwifFwiOlwiZWxsZXJcIixcIiRcIjpcImRvbGxhclwiLFwiPFwiOlwibWluZHJlIGVuZFwiLFwiPlwiOlwic3TDuHJyZSBlbmRcIn0sXCJuYlwiOntcIiZcIjpcIm9nXCIsXCLDhVwiOlwiQUFcIixcIsOGXCI6XCJBRVwiLFwiw5hcIjpcIk9FXCIsXCLDpVwiOlwiYWFcIixcIsOmXCI6XCJhZVwiLFwiw7hcIjpcIm9lXCJ9LFwiaXRcIjp7XCImXCI6XCJlXCJ9LFwibmxcIjp7XCImXCI6XCJlblwifSxcInN2XCI6e1wiJlwiOlwib2NoXCIsXCLDhVwiOlwiQUFcIixcIsOEXCI6XCJBRVwiLFwiw5ZcIjpcIk9FXCIsXCLDpVwiOlwiYWFcIixcIsOkXCI6XCJhZVwiLFwiw7ZcIjpcIm9lXCJ9fScpO1xuXG5cbiAgICAgICAgaWYgKHR5cGVvZiBzICE9PSAnc3RyaW5nJykge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignc2x1Z2lmeTogc3RyaW5nIGFyZ3VtZW50IGV4cGVjdGVkJyk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCByZXBsYWNlbWVudCA9ICctJztcblxuICAgICAgICBjb25zdCB0cmltID0gdHJ1ZTtcblxuICAgICAgICBjb25zdCBsb2NhbGUgPSAnZW4nO1xuXG4gICAgICAgIGxldCBzbHVnID0gcy5ub3JtYWxpemUoKS5zcGxpdCgnJylcbiAgICAgICAgICAvLyByZXBsYWNlIGNoYXJhY3RlcnMgYmFzZWQgb24gY2hhck1hcFxuICAgICAgICAgIC5yZWR1Y2UoKHJlc3VsdCwgY2gpID0+IHtcbiAgICAgICAgICAgIGxldCBhcHBlbmRDaGFyID0gbG9jYWxlW2NoXSB8fCBjaGFyTWFwW2NoXSB8fCBjaDtcbiAgICAgICAgICAgIGlmIChhcHBlbmRDaGFyID09PSByZXBsYWNlbWVudCkge1xuICAgICAgICAgICAgICBhcHBlbmRDaGFyID0gJyAnO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdCArIGFwcGVuZENoYXJcbiAgICAgICAgICAgICAgLy8gcmVtb3ZlIG5vdCBhbGxvd2VkIGNoYXJhY3RlcnNcbiAgICAgICAgICAgICAgLnJlcGxhY2UoL1teXFx3XFxzJCpfK34uKCknXCIhXFwtOkBdKy9nLCAnJyk7XG4gICAgICAgICAgfSwgJycpO1xuXG4gICAgICAgIHNsdWcgPSBzbHVnLnRyaW0oKTtcblxuICAgICAgICAvLyBSZXBsYWNlIHNwYWNlcyB3aXRoIHJlcGxhY2VtZW50IGNoYXJhY3RlciwgdHJlYXRpbmcgbXVsdGlwbGUgY29uc2VjdXRpdmVcbiAgICAgICAgLy8gc3BhY2VzIGFzIGEgc2luZ2xlIHNwYWNlLlxuICAgICAgICBzbHVnID0gc2x1Zy5yZXBsYWNlKC9cXHMrL2csIHJlcGxhY2VtZW50KTtcblxuICAgICAgICBzbHVnID0gc2x1Zy50b0xvd2VyQ2FzZSgpO1xuXG4gICAgICAgIHJldHVybiBzbHVnO1xuICAgIH1cblxuICAgIGRlbGV0ZShlbnRpdHk6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlPGFueT4odGhpcy5hZG1pbkVuZHBvaW50ICsgKGVudGl0eSBhcyBhbnkpLmlkICsgJy8nKS5waXBlKFxuICAgICAgICAgICAgbWFwKCh2YWwpID0+IHRoaXMudHJpZ2dlckNvcmVFdmVudCh2YWwsIENvcmVFdmVudFR5cGUuREVMRVRFKSksXG4gICAgICAgICAgICBtYXAodGhpcy5oYW5kbGVSZXNwb25zZS5iaW5kKHRoaXMpKVxuICAgICAgICApO1xuICAgIH1cblxufVxuIl19
|