@libs-ui/utils 0.2.306-4 → 0.2.307-0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/communicate-micro.d.ts +1 -1
- package/date.d.ts +9 -9
- package/dom.d.ts +4 -4
- package/esm2022/base64.mjs +2 -2
- package/esm2022/cache.mjs +19 -17
- package/esm2022/color.mjs +66 -14
- package/esm2022/communicate-micro.mjs +20 -16
- package/esm2022/constants.mjs +1 -1
- package/esm2022/crypto-3rd.mjs +3 -3
- package/esm2022/crypto.mjs +3 -3
- package/esm2022/date.mjs +15 -15
- package/esm2022/dom.mjs +8 -16
- package/esm2022/download.mjs +3 -3
- package/esm2022/file.mjs +22 -12
- package/esm2022/format-number.mjs +9 -6
- package/esm2022/format-text.mjs +13 -15
- package/esm2022/function-check-embed-frame.mjs +1 -1
- package/esm2022/get-smart-axis-scale.mjs +10 -10
- package/esm2022/helpers.mjs +4 -4
- package/esm2022/http-params.mjs +2 -2
- package/esm2022/index.mjs +1 -1
- package/esm2022/inject-token.mjs +2 -2
- package/esm2022/key-cache.mjs +6 -6
- package/esm2022/key-code.mjs +1 -1
- package/esm2022/language.mjs +28 -28
- package/esm2022/pattern.mjs +1 -1
- package/esm2022/random.mjs +2 -2
- package/esm2022/two-way-signal-object.mjs +22 -10
- package/esm2022/uri.mjs +9 -6
- package/esm2022/url-search-params.mjs +13 -11
- package/esm2022/uuid.mjs +2 -2
- package/esm2022/xss-filter.mjs +1 -1
- package/fesm2022/libs-ui-utils.mjs +301 -223
- package/fesm2022/libs-ui-utils.mjs.map +1 -1
- package/file.d.ts +2 -2
- package/format-text.d.ts +1 -1
- package/helpers.d.ts +3 -4
- package/http-params.d.ts +1 -1
- package/inject-token.d.ts +1 -1
- package/package.json +2 -2
- package/uri.d.ts +1 -1
package/esm2022/helpers.mjs
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
2
|
import { HttpParams } from '@angular/common/http';
|
|
3
3
|
import { ElementRef, TemplateRef, isSignal, signal } from '@angular/core';
|
|
4
|
-
import dayjs from 'dayjs';
|
|
5
4
|
import { Observable } from 'rxjs';
|
|
6
|
-
import
|
|
5
|
+
import dayjs from 'dayjs';
|
|
7
6
|
import { UtilsHttpParamsRequest } from './http-params';
|
|
7
|
+
import { getDayjs } from './date';
|
|
8
8
|
/**Các hàm tương tự thư viện lodash */
|
|
9
9
|
/**
|
|
10
10
|
* Kiểm tra xem một giá trị có phải là null hoặc undefined hay không
|
|
@@ -123,7 +123,7 @@ export const omitBy = (objData, predicate) => {
|
|
|
123
123
|
* get(null, 'any.path'); // undefined
|
|
124
124
|
* get(undefined, 'any.path', 'fallback'); // 'fallback'
|
|
125
125
|
*/
|
|
126
|
-
export const get = (obj, path, defaultValue, keepLastValueIfSignal) => {
|
|
126
|
+
export const get = (obj, path, defaultValue = undefined, keepLastValueIfSignal) => {
|
|
127
127
|
if (isNil(obj)) {
|
|
128
128
|
return defaultValue;
|
|
129
129
|
}
|
|
@@ -564,4 +564,4 @@ export const generateInterface = (obj, interfaceName) => {
|
|
|
564
564
|
const interfaceStr = `interface ${interfaceName} ${generateType(obj)}`;
|
|
565
565
|
return interfaceStr;
|
|
566
566
|
};
|
|
567
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMtdWkvdXRpbHMvc3JjL2hlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsVUFBVSxFQUFVLFdBQVcsRUFBa0IsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVsRyxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV2RCxzQ0FBc0M7QUFDdEM7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUFHLENBQUMsS0FBYyxFQUE2QixFQUFFO0lBQ2pFLE9BQU8sS0FBSyxLQUFLLElBQUksSUFBSSxLQUFLLEtBQUssU0FBUyxDQUFDO0FBQy9DLENBQUMsQ0FBQztBQUVGOzs7Ozs7Ozs7Ozs7R0FZRztBQUNILE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxDQUFDLEtBQWMsRUFBRSxFQUFFO0lBQ3hDLE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDdkIsS0FBSyxHQUFHLEtBQUssRUFBRSxDQUFDO0lBQ2xCLENBQUM7SUFDRCxPQUFPLEtBQUssS0FBSyxJQUFJLElBQUksS0FBSyxLQUFLLEVBQUUsSUFBSSxLQUFLLEtBQUssU0FBUyxJQUFJLENBQUMsT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsS0FBSyxJQUFJLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsS0FBSyxJ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QUksS0FBSyxHQUFHLEtBQUssU0FBUyxLQUFLLENBQUM7Z0JBQzlDLENBQUM7WUFDSCxDQUFDO1lBQ0QsWUFBWSxJQUFJLEdBQUcsQ0FBQztZQUNwQixPQUFPLFlBQVksQ0FBQztRQUN0QixDQUFDO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDLENBQUM7SUFFRixNQUFNLFlBQVksR0FBRyxhQUFhLGFBQWEsSUFBSSxZQUFZLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztJQUN2RSxPQUFPLFlBQVksQ0FBQztBQUN0QixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG5pbXBvcnQgeyBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgRWxlbWVudFJlZiwgU2lnbmFsLCBUZW1wbGF0ZVJlZiwgV3JpdGFibGVTaWduYWwsIGlzU2lnbmFsLCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEdldFZhbHVlQnlQYXRoLCBQYXRoc1RvU3RyaW5nUHJvcHMsIFRZUEVfT0JKRUNUIH0gZnJvbSAnQGxpYnMtdWkvaW50ZXJmYWNlcy10eXBlcyc7XG5pbXBvcnQgZGF5anMgZnJvbSAnZGF5anMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZ2V0RGF5anMgfSBmcm9tICcuL2RhdGUnO1xuaW1wb3J0IHsgVXRpbHNIdHRwUGFyYW1zUmVxdWVzdCB9IGZyb20gJy4vaHR0cC1wYXJhbXMnO1xuXG4vKipDw6FjIGjDoG0gdMawxqFuZyB04buxIHRoxrAgdmnhu4duIGxvZGFzaCAqL1xuLyoqXG4gKiBLaeG7g20gdHJhIHhlbSBt4buZdCBnacOhIHRy4buLIGPDsyBwaOG6o2kgbMOgIG51bGwgaG/hurdjIHVuZGVmaW5lZCBoYXkga2jDtG5nXG4gKiBAcGFyYW0gdmFsdWUgR2nDoSB0cuG7iyBj4bqnbiBraeG7g20gdHJhXG4gKiBAcmV0dXJucyB0cnVlIG7hur91IGdpw6EgdHLhu4sgbMOgIG51bGwgaG/hurdjIHVuZGVmaW5lZCwgZmFsc2UgbuG6v3Uga2jDtG5nXG4gKiBAZXhhbXBsZVxuICogaXNOaWwobnVsbCk7IC8vIHRydWVcbiAqIGlzTmlsKHVuZGVmaW5lZCk7IC8vIHRydWVcbiAqIGlzTmlsKDApOyAvLyBmYWxzZVxuICogaXNOaWwoJ2hlbGxvJyk7IC8vIGZhbHNlXG4gKi9cbmV4cG9ydCBjb25zdCBpc05pbCA9ICh2YWx1ZTogdW5rbm93bik6IHZhbHVlIGlzIG51bGwgfCB1bmRlZmluZWQgPT4ge1xuICByZXR1cm4gdmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZDtcbn07XG5cbi8qKlxuICogS2nhu4NtIHRyYSB4ZW0gbeG7mXQgZ2nDoSB0cuG7iyBjw7MgcGjhuqNpIGzDoCBy4buXbmcgaGF5IGtow7RuZ1xuICogQHBhcmFtIHZhbHVlIEdpw6EgdHLhu4sgY+G6p24ga2nhu4NtIHRyYVxuICogQHJldHVybnMgdHJ1ZSBu4bq/dSBnacOhIHRy4buLIGzDoCBudWxsLCBy4buXbmcgaG/hurdjIHVuZGVmaW5lZCwgZmFsc2UgbuG6v3Uga2jDtG5nXG4gKiBAZXhhbXBsZVxuICogaXNFbXB0eShudWxsKTsgLy8gdHJ1ZVxuICogaXNFbXB0eSgnJyk7IC8vIHRydWVcbiAqIGlzRW1wdHkodW5kZWZpbmVkKTsgLy8gdHJ1ZVxuICogaXNFbXB0eSh7fSk7IC8vIHRydWVcbiAqIGlzRW1wdHkoW10pOyAvLyB0cnVlXG4gKiBpc0VtcHR5KFsxLCAyLCAzXSk7IC8vIGZhbHNlXG4gKiBpc0VtcHR5KHsgYTogMSB9KTsgLy8gZmFsc2VcbiAqL1xuZXhwb3J0IGNvbnN0IGlzRW1wdHkgPSAodmFsdWU6IHVua25vd24pID0+IHtcbiAgd2hpbGUgKGlzU2lnbmFsKHZhbHVlKSkge1xuICAgIHZhbHVlID0gdmFsdWUoKTtcbiAgfVxuICByZXR1cm4gdmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09ICcnIHx8IHZhbHVlID09PSB1bmRlZmluZWQgfHwgKHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcgJiYgKEpTT04uc3RyaW5naWZ5KHZhbHVlKSA9PT0gJ3t9JyB8fCBKU09OLnN0cmluZ2lmeSh2YWx1ZSkgPT09ICdbXScpKTtcbn07XG5cbi8qKlxuICogTG/huqFpIGLhu48gY8OhYyB0aHXhu5ljIHTDrW5oIGPhu6dhIMSR4buRaSB0xrDhu6NuZyBk4buxYSB0csOqbiBt4buZdCBow6BtIMSRaeG7gXUga2nhu4duXG4gKiBAcGFyYW0gb2JqRGF0YSDEkOG7kWkgdMaw4bujbmcgY+G6p24geOG7rSBsw71cbiAqIEBwYXJhbSBwcmVkaWNhdGUgSMOgbSDEkWnhu4F1IGtp4buHbiDEkeG7gyBraeG7g20gdHJhIGdpw6EgdHLhu4sgY+G7p2EgdGh14buZYyB0w61uaC4gTuG6v3UgaMOgbSB0cuG6oyB24buBIHRydWUgdGjDrCB0aHXhu5ljIHTDrW5oIMSRw7Mgc+G6vSBi4buLIGxv4bqhaSBi4buPXG4gKiBAcmV0dXJucyDEkOG7kWkgdMaw4bujbmcgbeG7m2kgc2F1IGtoaSDEkcOjIGxv4bqhaSBi4buPIGPDoWMgdGh14buZYyB0w61uaCB0aOG7j2EgbcOjbiDEkWnhu4F1IGtp4buHblxuICogQGV4YW1wbGVcbiAqIGNvbnN0IG9iaiA9IHsgYTogMSwgYjogbnVsbCwgYzogMywgZDogdW5kZWZpbmVkIH07XG4gKiBvbWl0Qnkob2JqLCBpc05pbCk7IC8vIHsgYTogMSwgYzogMyB9XG4gKi9cbmV4cG9ydCBjb25zdCBvbWl0QnkgPSA8VD4ob2JqRGF0YTogUmVjb3JkPHN0cmluZywgYW55PiwgcHJlZGljYXRlOiAodmFsOiBhbnkpID0+IGJvb2xlYW4pOiBUID0+IHtcbiAgaWYgKCFvYmpEYXRhIHx8IHR5cGVvZiBvYmpEYXRhICE9PSAnb2JqZWN0JyB8fCBBcnJheS5pc0FycmF5KG9iakRhdGEpKSB7XG4gICAgcmV0dXJuIG9iakRhdGEgYXMgVDtcbiAgfVxuICBjb25zdCBuZXdPYmogPSB7fSBhcyBUO1xuXG4gIE9iamVjdC5rZXlzKG9iakRhdGEpLmZvckVhY2goKGtleSkgPT4ge1xuICAgIGNvbnN0IHZhbHVlT2ZLZXkgPSBnZXQob2JqRGF0YSwga2V5KTtcbiAgICBpZiAoIXByZWRpY2F0ZSh2YWx1ZU9mS2V5KSkge1xuICAgICAgc2V0KG5ld09iaiwga2V5IGFzIFBhdGhzVG9TdHJpbmdQcm9wczxUPiwgdmFsdWVPZktleSk7XG4gICAgfVxuICB9KTtcbiAgcmV0dXJuIG5ld09iajtcbn07XG5cbi8qKlxuICogTOG6pXkgZ2nDoSB0cuG7iyB04burIMSR4buRaSB0xrDhu6NuZyB0aGVvIMSRxrDhu51uZyBk4bqrbiBjaOG7iSDEkeG7i25oXG4gKlxuICogSMOgbSBuw6B5IGdpw7pwIGLhuqFuIHRydXkgY+G6rXAgdsOgbyBjw6FjIHRodeG7mWMgdMOtbmggc8OidSBiw6puIHRyb25nIG3hu5l0IMSR4buRaSB0xrDhu6NuZyBt4buZdCBjw6FjaCBhbiB0b8OgbixcbiAqIHRyw6FuaCBs4buXaSBraGkgdGh14buZYyB0w61uaCBraMO0bmcgdOG7k24gdOG6oWkuXG4gKlxuICogQHBhcmFtIG9iaiDEkOG7kWkgdMaw4bujbmcgbmd14buTbiBj4bqnbiBs4bqleSBnacOhIHRy4buLXG4gKiBAcGFyYW0gcGF0aCDEkMaw4budbmcgZOG6q24gxJHhur9uIHRodeG7mWMgdMOtbmggY+G6p24gbOG6pXkuIEPDsyB0aOG7gyBsw6A6XG4gKiAgIC0gQ2h14buXaTogJ3VzZXIucHJvZmlsZS5uYW1lJyBob+G6t2MgJ2l0ZW1zWzBdLnRpdGxlJ1xuICogICAtIE3huqNuZzogWyd1c2VyJywgJ3Byb2ZpbGUnLCAnbmFtZSddIGhv4bq3YyBbJ2l0ZW1zJywgJzAnLCAndGl0bGUnXVxuICogICAtIENodeG7l2kgcuG7l25nICcnOiB0cuG6oyB24buBIGNow61uaCDEkeG7kWkgdMaw4bujbmcgZ+G7kWNcbiAqIEBwYXJhbSBkZWZhdWx0VmFsdWUgR2nDoSB0cuG7iyBt4bq3YyDEkeG7i25oIHRy4bqjIHbhu4Ega2hpIGtow7RuZyB0w6xtIHRo4bqleSB0aHXhu5ljIHTDrW5oICht4bq3YyDEkeG7i25oOiB1bmRlZmluZWQpXG4gKiBAcGFyYW0ga2VlcExhc3RWYWx1ZUlmU2lnbmFsIEPDsyBnaeG7ryBuZ3V5w6puIHNpZ25hbCBjdeG7kWkgY8O5bmcgaGF5IGtow7RuZyAobeG6t2MgxJHhu4tuaDogZmFsc2UgLSBz4bq9IGfhu41pIHNpZ25hbCgpKVxuICogQHJldHVybnMgR2nDoSB0cuG7iyB0w6xtIMSRxrDhu6NjIGhv4bq3YyBnacOhIHRy4buLIG3hurdjIMSR4buLbmhcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gVsOtIGThu6UgY8ahIGLhuqNuXG4gKiBjb25zdCB1c2VyID0geyBuYW1lOiAnSm9obicsIGFnZTogMzAgfTtcbiAqIGdldCh1c2VyLCAnbmFtZScpOyAvLyAnSm9obidcbiAqIGdldCh1c2VyLCAnZW1haWwnKTsgLy8gdW5kZWZpbmVkXG4gKiBnZXQodXNlciwgJ2VtYWlsJywgJ25vLWVtYWlsJyk7IC8vICduby1lbWFpbCdcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gVHJ1eeG7gW4gcGF0aCBy4buXbmcgLSB0cuG6oyB24buBIGNow61uaCDEkeG7kWkgdMaw4bujbmcgZ+G7kWNcbiAqIGNvbnN0IGRhdGEgPSB7IG5hbWU6ICdBbGljZScsIGFnZTogMjUgfTtcbiAqIGdldChkYXRhLCAnJyk7IC8vIHsgbmFtZTogJ0FsaWNlJywgYWdlOiAyNSB9IChjaMOtbmggxJHhu5FpIHTGsOG7o25nIGRhdGEpXG4gKiBnZXQoZGF0YSwgJycsICdkZWZhdWx0Jyk7IC8vIHsgbmFtZTogJ0FsaWNlJywgYWdlOiAyNSB9IChi4buPIHF1YSBkZWZhdWx0VmFsdWUpXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIFRydXkgY+G6rXAgdGh14buZYyB0w61uaCBzw6J1XG4gKiBjb25zdCBkYXRhID0ge1xuICogICB1c2VyOiB7XG4gKiAgICAgcHJvZmlsZToge1xuICogICAgICAgbmFtZTogJ0FsaWNlJyxcbiAqICAgICAgIHNldHRpbmdzOiB7IHRoZW1lOiAnZGFyaycgfVxuICogICAgIH1cbiAqICAgfVxuICogfTtcbiAqIGdldChkYXRhLCAndXNlci5wcm9maWxlLm5hbWUnKTsgLy8gJ0FsaWNlJ1xuICogZ2V0KGRhdGEsICd1c2VyLnByb2ZpbGUuc2V0dGluZ3MudGhlbWUnKTsgLy8gJ2RhcmsnXG4gKiBnZXQoZGF0YSwgJ3VzZXIucHJvZmlsZS5hdmF0YXInLCAnZGVmYXVsdC5qcGcnKTsgLy8gJ2RlZmF1bHQuanBnJ1xuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBUcnV5IGPhuq1wIG3huqNuZ1xuICogY29uc3QgaXRlbXMgPSBbXG4gKiAgIHsgbmFtZTogJ0l0ZW0gMScsIHByaWNlOiAxMDAgfSxcbiAqICAgeyBuYW1lOiAnSXRlbSAyJywgcHJpY2U6IDIwMCB9XG4gKiBdO1xuICogZ2V0KGl0ZW1zLCAnWzBdLm5hbWUnKTsgLy8gJ0l0ZW0gMSdcbiAqIGdldChpdGVtcywgJ1sxXS5uYW1lJyk7IC8vICdJdGVtIDInXG4gKiBnZXQoaXRlbXMsICdbMl0ubmFtZScsICdOb3QgZm91bmQnKTsgLy8gJ05vdCBmb3VuZCdcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gU+G7rSBk4bulbmcgduG7m2kgbeG6o25nIHBhdGhcbiAqIGNvbnN0IG5lc3RlZCA9IHsgYTogeyBiOiB7IGM6ICdkZWVwIHZhbHVlJyB9IH0gfTtcbiAqIGdldChuZXN0ZWQsIFsnYScsICdiJywgJ2MnXSk7IC8vICdkZWVwIHZhbHVlJ1xuICogZ2V0KG5lc3RlZCwgWydhJywgJ2InLCAnZCddLCAnZGVmYXVsdCcpOyAvLyAnZGVmYXVsdCdcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gVHLGsOG7nW5nIGjhu6NwIMSR4bq3YyBiaeG7h3RcbiAqIGdldChudWxsLCAnYW55LnBhdGgnKTsgLy8gdW5kZWZpbmVkXG4gKiBnZXQodW5kZWZpbmVkLCAnYW55LnBhdGgnLCAnZmFsbGJhY2snKTsgLy8gJ2ZhbGxiYWNrJ1xuICovXG5leHBvcnQgY29uc3QgZ2V0ID0gPE8sIFAgZXh0ZW5kcyBQYXRoc1RvU3RyaW5nUHJvcHM8Tz4gPSBQYXRoc1RvU3RyaW5nUHJvcHM8Tz4sIEUgZXh0ZW5kcyBib29sZWFuID0gZmFsc2UsIFQgZXh0ZW5kcyBHZXRWYWx1ZUJ5UGF0aDxPLCBQLCBFPiA9IEdldFZhbHVlQnlQYXRoPE8sIFAsIEU+PihvYmo6IFNpZ25hbDxPPiB8IE8sIHBhdGg6IFAsIGRlZmF1bHRWYWx1ZT86IFQsIGtlZXBMYXN0VmFsdWVJZlNpZ25hbD86IEUpOiBUID0+IHtcbiAgaWYgKGlzTmlsKG9iaikpIHtcbiAgICByZXR1cm4gZGVmYXVsdFZhbHVlIGFzIFQ7XG4gIH1cbiAgd2hpbGUgKGlzU2lnbmFsKG9iaikpIHtcbiAgICBvYmogPSBvYmooKTtcbiAgfVxuICBpZiAocGF0aCA9PT0gJycpIHtcbiAgICByZXR1cm4gb2JqIGFzIHVua25vd24gYXMgVDtcbiAgfVxuICBpZiAob2JqIGluc3RhbmNlb2YgSHR0cFBhcmFtcykge1xuICAgIHJldHVybiAob2JqLmdldChgJHtwYXRofWApID8/IGRlZmF1bHRWYWx1ZSkgYXMgVDtcbiAgfVxuICBpZiAob2JqIGluc3RhbmNlb2YgRE9NUmVjdCkge1xuICAgIHJldHVybiBvYmpbcGF0aCBhcyBrZXlvZiBET01SZWN0XSBhcyBUO1xuICB9XG5cbiAgY29uc3QgcGF0aHMgPSBBcnJheS5pc0FycmF5KHBhdGgpXG4gICAgPyBwYXRoXG4gICAgOiBwYXRoXG4gICAgICAgIC5yZXBsYWNlKC9cXFsoXFxkKyldL2csICcuJDEnKVxuICAgICAgICAuc3BsaXQoJy4nKVxuICAgICAgICAuZmlsdGVyKChrZXkpID0+IGtleSk7XG4gIGZvciAoY29uc3QgaW5kZXggaW4gcGF0aHMpIHtcbiAgICBjb25zdCBrZXkgPSBwYXRoc1tpbmRleF07XG4gICAgaWYgKG9iaiBpbnN0YW5jZW9mIENTU1N0eWxlRGVjbGFyYXRpb24pIHtcbiAgICAgIG9iaiA9IG9ialtrZXkgYXMga2V5b2YgQ1NTU3R5bGVEZWNsYXJhdGlvbl0gYXMgTztcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGlmIChvYmogaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkge1xuICAgICAgb2JqID0gb2JqW2tleSBhcyBrZXlvZiBIVE1MRWxlbWVudF0gYXMgTztcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cbiAgICBpZiAoaXNOaWwob2JqKSB8fCAhT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iaiwga2V5KSkge1xuICAgICAgcmV0dXJuIGRlZmF1bHRWYWx1ZSBhcyBUO1xuICAgIH1cblxuICAgIGNvbnN0IHZhbCA9IGlzU2lnbmFsKChvYmogYXMgYW55KVtrZXldKSAmJiAha2VlcExhc3RWYWx1ZUlmU2lnbmFsID8gKG9iaiBhcyBhbnkpW2tleV0oKSA6IChvYmogYXMgYW55KVtrZXldO1xuXG4gICAgb2JqID0gdmFsIGFzIE87XG4gIH1cblxuICByZXR1cm4gb2JqIGFzIHVua25vd24gYXMgVDtcbn07XG5cbi8qKlxuICogVGhp4bq/dCBs4bqtcCBnacOhIHRy4buLIGNobyBt4buZdCB0aHXhu5ljIHTDrW5oIHRyb25nIMSR4buRaSB0xrDhu6NuZyB0aGVvIMSRxrDhu51uZyBk4bqrbiBjaOG7iSDEkeG7i25oXG4gKiBAcGFyYW0gb2JqIMSQ4buRaSB0xrDhu6NuZyBj4bqnbiB0aGnhur90IGzhuq1wIGdpw6EgdHLhu4tcbiAqIEBwYXJhbSBwYXRoIMSQxrDhu51uZyBk4bqrbiDEkeG6v24gdGh14buZYyB0w61uaCwgY8OzIHRo4buDIGzDoCBjaHXhu5dpICh2ZDogJ2EuYi5jJykgaG/hurdjIG3huqNuZyAodmQ6IFsnYScsICdiJywgJ2MnXSlcbiAqIEBwYXJhbSB2YWx1ZSBHacOhIHRy4buLIGPhuqduIHRoaeG6v3QgbOG6rXBcbiAqIEByZXR1cm5zIMSQ4buRaSB0xrDhu6NuZyBzYXUga2hpIMSRw6MgdGhp4bq/dCBs4bqtcCBnacOhIHRy4buLXG4gKiBAdGhyb3dzIEVycm9yIG7hur91IHRoYW0gc+G7kSDEkeG6p3UgdGnDqm4ga2jDtG5nIHBo4bqjaSBsw6AgxJHhu5FpIHTGsOG7o25nXG4gKiBAZXhhbXBsZVxuICogY29uc3Qgb2JqID0geyBhOiB7IGI6IDEgfSB9O1xuICogc2V0KG9iaiwgJ2EuYicsIDIpOyAvLyB7IGE6IHsgYjogMiB9IH1cbiAqL1xuZXhwb3J0IGNvbnN0IHNldCA9IDxPLCBQIGV4dGVuZHMgUGF0aHNUb1N0cmluZ1Byb3BzPE8+ID0gUGF0aHNUb1N0cmluZ1Byb3BzPE8+LCBUIGV4dGVuZHMgR2V0VmFsdWVCeVBhdGg8TywgUCwgdHJ1ZT4gPSBHZXRWYWx1ZUJ5UGF0aDxPLCBQLCB0cnVlPj4ob2JqOiBTaWduYWw8Tz4gfCBPLCBwYXRoOiBQLCB2YWx1ZTogVCk6IE8gPT4ge1xuICBpZiAoIW9iaiB8fCAodHlwZW9mIG9iaiAhPT0gJ29iamVjdCcgJiYgIWlzU2lnbmFsKG9iaikpIHx8IChpc1NpZ25hbChvYmopICYmIHR5cGVvZiBvYmooKSAhPT0gJ29iamVjdCcpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdUaGUgZmlyc3QgYXJndW1lbnQgbXVzdCBiZSBhbiBvYmplY3QnKTtcbiAgfVxuXG4gIGlmIChvYmogaW5zdGFuY2VvZiBIdHRwUGFyYW1zKSB7XG4gICAgcmV0dXJuIG9iai5zZXQoYCR7cGF0aH1gLCB2YWx1ZSBhcyBzdHJpbmcpIGFzIE87XG4gIH1cblxuICBjb25zdCBwYXRoQXJyYXkgPSBBcnJheS5pc0FycmF5KHBhdGgpXG4gICAgPyBwYXRoXG4gICAgOiBwYXRoXG4gICAgICAgIC5yZXBsYWNlKC9cXFsoXFxkKyldL2csICcuWyQxXScpXG4gICAgICAgIC5zcGxpdCgnLicpXG4gICAgICAgIC5maWx0ZXIoKGtleSkgPT4ga2V5KTtcblxuICBsZXQgY3VycmVudE9iamVjdEJ5S2V5OiBhbnkgPSBpc1NpZ25hbChvYmopID8gb2JqKCkgOiBvYmo7XG4gIGxldCBwcmVPYmplY3RCeUtleSA9IG9iajtcblxuICBwYXRoQXJyYXkuZm9yRWFjaCgoa2V5LCBpbmRleCkgPT4ge1xuICAgIGlmIChpbmRleCA8IHBhdGhBcnJheS5sZW5ndGggLSAxKSB7XG4gICAgICBpZiAoIShrZXkgaW4gY3VycmVudE9iamVjdEJ5S2V5KSB8fCAodHlwZW9mIGN1cnJlbnRPYmplY3RCeUtleVtrZXldICE9PSAnb2JqZWN0JyAmJiAhaXNTaWduYWwoY3VycmVudE9iamVjdEJ5S2V5W2tleV0pKSkge1xuICAgICAgICBjb25zdCBuZXh0S2V5ID0gcGF0aEFycmF5W2luZGV4ICsgMV07XG4gICAgICAgIGtleSA9IGtleS5yZXBsYWNlKC9cXFsoXFxkKyldL2csICckMScpO1xuICAgICAgICBjdXJyZW50T2JqZWN0QnlLZXlba2V5XSA9IC9cXFsoXFxkKyldL2cudGVzdChuZXh0S2V5KSA/IFtdIDoge307XG4gICAgICB9XG4gICAgICBjdXJyZW50T2JqZWN0QnlLZXkgPSBrZXkgPyBjdXJyZW50T2JqZWN0QnlLZXlba2V5XSA6IGN1cnJlbnRPYmplY3RCeUtleTtcbiAgICAgIHByZU9iamVjdEJ5S2V5ID0gY3VycmVudE9iamVjdEJ5S2V5O1xuICAgICAgY3VycmVudE9iamVjdEJ5S2V5ID0gaXNTaWduYWwoY3VycmVudE9iamVjdEJ5S2V5KSA/IGN1cnJlbnRPYmplY3RCeUtleSgpIDogY3VycmVudE9iamVjdEJ5S2V5O1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgY3VycmVudE9iamVjdEJ5S2V5ICE9PSAnb2JqZWN0Jykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIEfDoW4gZ2nDoSB0cuG7iyDhu58gY3Xhu5FpIMSRxrDhu51uZyBk4bqrblxuICAgIGtleSA9IGtleS5yZXBsYWNlKC9cXFsoXFxkKyldL2csICckMScpO1xuICAgIGNvbnN0IHZhbHVlT2ZLZXkgPSBjdXJyZW50T2JqZWN0QnlLZXlba2V5XTtcbiAgICBjb25zdCB2YWx1ZU9mS2V5SXNTaWduYWwgPSBpc1NpZ25hbCh2YWx1ZU9mS2V5KTtcblxuICAgIGlmICh2YWx1ZU9mS2V5SXNTaWduYWwgJiYgKHR5cGVvZiB2YWx1ZU9mS2V5KCkgIT09ICdvYmplY3QnIHx8IHZhbHVlT2ZLZXkoKSA9PT0gbnVsbCkpIHtcbiAgICAgICh2YWx1ZU9mS2V5IGFzIFdyaXRhYmxlU2lnbmFsPGFueT4pLnNldChpc1NpZ25hbCh2YWx1ZSkgPyB2YWx1ZSgpIDogdmFsdWUpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoaXNTaWduYWwocHJlT2JqZWN0QnlLZXkpKSB7XG4gICAgICAocHJlT2JqZWN0QnlLZXkgYXMgV3JpdGFibGVTaWduYWw8YW55PikudXBkYXRlKChkYXRhOiBhbnkpID0+IHtcbiAgICAgICAgY29uc3QgZGF0YU9mS2V5ID0gZGF0YVtrZXldO1xuICAgICAgICBpZiAoaXNOaWwoZGF0YU9mS2V5KSB8fCAhdmFsdWVPZktleUlzU2lnbmFsKSB7XG4gICAgICAgICAgZGF0YVtrZXldID0gdmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodmFsdWVPZktleUlzU2lnbmFsKSB7XG4gICAgICAgICAgKHZhbHVlT2ZLZXkgYXMgV3JpdGFibGVTaWduYWw8YW55Pikuc2V0KGlzU2lnbmFsKHZhbHVlKSA/IHZhbHVlKCkgOiB2YWx1ZSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShkYXRhKSkge1xuICAgICAgICAgIHJldHVybiBbLi4uZGF0YV07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHsgLi4uZGF0YSB9O1xuICAgICAgfSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICh2YWx1ZU9mS2V5SXNTaWduYWwpIHtcbiAgICAgICh2YWx1ZU9mS2V5IGFzIFdyaXRhYmxlU2lnbmFsPGFueT4pLnNldChpc1NpZ25hbCh2YWx1ZSkgPyB2YWx1ZSgpIDogdmFsdWUpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjdXJyZW50T2JqZWN0QnlLZXlba2V5XSA9IHZhbHVlO1xuICB9KTtcblxuICByZXR1cm4gb2JqIGFzIE87XG59O1xuXG4vKipcbiAqIFThuqFvIG3hu5l0IGLhuqNuIHNhbyBzw6J1IGPhu6dhIG3hu5l0IMSR4buRaSB0xrDhu6NuZyBob+G6t2MgZ2nDoSB0cuG7iyBi4bqldCBr4buzXG4gKiBAcGFyYW0gZGF0YSBE4buvIGxp4buHdSBj4bqnbiBzYW8gY2jDqXBcbiAqIEBwYXJhbSBvcHRpb25zIFTDuXkgY2jhu41uIGPhuqV1IGjDrG5oXG4gKiBAcGFyYW0gb3B0aW9ucy5pZ25vcmVTaWduYWwgTuG6v3UgdHJ1ZSwgc+G6vSBraMO0bmcgc2FvIGNow6lwIGPDoWMgc2lnbmFsIG3DoCB0cuG6oyB24buBIHNpZ25hbCBn4buRY1xuICogQHBhcmFtIHNlZW4gV2Vha01hcCDEkeG7gyB0aGVvIGTDtWkgY8OhYyB0aGFtIGNoaeG6v3UgxJHDoyDEkcaw4bujYyBzYW8gY2jDqXAsIHRyw6FuaCBs4bq3cCB2w7QgaOG6oW4gduG7m2kgY8OhYyB0aGFtIGNoaeG6v3UgdsOybmdcbiAqIEByZXR1cm5zIELhuqNuIHNhbyBzw6J1IGPhu6dhIGThu68gbGnhu4d1IMSR4bqndSB2w6BvXG4gKiBAZXhhbXBsZVxuICogY29uc3Qgb2JqID0ge1xuICogICBhOiAxLFxuICogICBiOiB7IGM6IDIgfSxcbiAqICAgZDogWzEsIDIsIDNdXG4gKiB9O1xuICogY29uc3QgY2xvbmUgPSBjbG9uZURlZXAob2JqKTtcbiAqIC8vIGNsb25lIGzDoCBt4buZdCBi4bqjbiBzYW8gaG/DoG4gdG/DoG4gxJHhu5ljIGzhuq1wIGPhu6dhIG9ialxuICovXG5leHBvcnQgY29uc3QgY2xvbmVEZWVwID0gPFQgPSBhbnk+KGRhdGE6IGFueSwgb3B0aW9ucyA9IHsgaWdub3JlU2lnbmFsOiBmYWxzZSB9LCBzZWVuID0gbmV3IFdlYWtNYXAoKSk6IFQgPT4ge1xuICBpZiAoZGF0YSA9PT0gbnVsbCB8fCAodHlwZW9mIGRhdGEgIT09ICdvYmplY3QnICYmICFpc1NpZ25hbChkYXRhKSkpIHtcbiAgICByZXR1cm4gZGF0YTtcbiAgfVxuXG4gIGlmIChzZWVuLmhhcyhkYXRhKSkge1xuICAgIHJldHVybiBzZWVuLmdldChkYXRhKTtcbiAgfVxuXG4gIGlmIChkYXRhIGluc3RhbmNlb2YgSHR0cFBhcmFtcykge1xuICAgIHJldHVybiBuZXcgVXRpbHNIdHRwUGFyYW1zUmVxdWVzdCh1bmRlZmluZWQsIGRhdGEpIGFzIFQ7XG4gIH1cblxuICBpZiAoZGF0YSBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICByZXR1cm4gbmV3IERhdGUoZGF0YS5nZXRUaW1lKCkpIGFzIFQ7XG4gIH1cblxuICBpZiAoZGF5anMuaXNEYXlqcyhkYXRhKSkge1xuICAgIHJldHVybiBnZXREYXlqcyh7IGRhdGU6IGRhdGEudmFsdWVPZigpIH0pIGFzIFQ7XG4gIH1cblxuICBpZiAoZGF0YSBpbnN0YW5jZW9mIFJlZ0V4cCkge1xuICAgIHJldHVybiBuZXcgUmVnRXhwKGRhdGEuc291cmNlLCBkYXRhLmZsYWdzKSBhcyBUO1xuICB9XG5cbiAgaWYgKGRhdGEgaW5zdGFuY2VvZiBNYXApIHtcbiAgICBjb25zdCBtYXBDb3B5ID0gbmV3IE1hcCgpO1xuICAgIHNlZW4uc2V0KGRhdGEsIG1hcENvcHkpO1xuICAgIGRhdGEuZm9yRWFjaCgodmFsLCBrZXkpID0+IHtcbiAgICAgIG1hcENvcHkuc2V0KGNsb25lRGVlcChrZXksIG9wdGlvbnMsIHNlZW4pLCBjbG9uZURlZXAodmFsLCBvcHRpb25zLCBzZWVuKSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIG1hcENvcHkgYXMgVDtcbiAgfVxuXG4gIGlmIChkYXRhIGluc3RhbmNlb2YgU2V0KSB7XG4gICAgY29uc3Qgc2V0Q29weSA9IG5ldyBTZXQoKTtcbiAgICBzZWVuLnNldChkYXRhLCBzZXRDb3B5KTtcbiAgICBkYXRhLmZvckVhY2goKHZhbCkgPT4ge1xuICAgICAgc2V0Q29weS5hZGQoY2xvbmVEZWVwKHZhbCwgb3B0aW9ucywgc2VlbikpO1xuICAgIH0pO1xuICAgIHJldHVybiBzZXRDb3B5IGFzIFQ7XG4gIH1cblxuICBpZiAoQXJyYXkuaXNBcnJheShkYXRhKSkge1xuICAgIHNlZW4uc2V0KGRhdGEsIGRhdGEubWFwKChpdGVtKSA9PiBjbG9uZURlZXAoaXRlbSwgb3B0aW9ucywgc2VlbikpIGFzIFQpO1xuICAgIHJldHVybiBzZWVuLmdldChkYXRhKSBhcyBUO1xuICB9XG5cbiAgaWYgKGRhdGEgaW5zdGFuY2VvZiBGaWxlIHx8IGRhdGEgaW5zdGFuY2VvZiBCbG9iIHx8IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChkYXRhKSA9PT0gJ1tvYmplY3QgRmlsZV0nKSB7XG4gICAgcmV0dXJuIGRhdGEgYXMgVDtcbiAgfVxuICBpZiAoZGF0YSBpbnN0YW5jZW9mIFRlbXBsYXRlUmVmIHx8IGRhdGEgaW5zdGFuY2VvZiBFbGVtZW50UmVmIHx8IGRhdGEgaW5zdGFuY2VvZiBFbGVtZW50IHx8IGRhdGEgaW5zdGFuY2VvZiBQcm9taXNlIHx8IGRhdGEgaW5zdGFuY2VvZiBPYnNlcnZhYmxlKSB7XG4gICAgcmV0dXJuIGRhdGEgYXMgVDtcbiAgfVxuICBpZiAoaXNTaWduYWwoZGF0YSkpIHtcbiAgICBpZiAob3B0aW9ucz8uaWdub3JlU2lnbmFsKSB7XG4gICAgICByZXR1cm4gZGF0YSBhcyBUO1xuICAgIH1cbiAgICBzZWVuLnNldChkYXRhLCBzaWduYWwoY2xvbmVEZWVwKGRhdGEoKSwgb3B0aW9ucywgc2VlbikpKTtcbiAgICByZXR1cm4gc2Vlbi5nZXQoZGF0YSkgYXMgVDtcbiAgfVxuXG4gIGNvbnN0IHJlc3VsdDogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9O1xuICBzZWVuLnNldChkYXRhLCByZXN1bHQpO1xuICBmb3IgKGNvbnN0IGtleSBpbiBkYXRhKSB7XG4gICAgY29uc3QgdmFsdWUgPSBkYXRhW2tleV07XG4gICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgSHR0cFBhcmFtcykge1xuICAgICAgcmVzdWx0W2tleV0gPSBuZXcgVXRpbHNIdHRwUGFyYW1zUmVxdWVzdCh1bmRlZmluZWQsIHZhbHVlKSBhcyBUO1xuICAgICAgY29udGludWU7XG4gICAgfVxuICAgIGlmIChkYXlqcy5pc0RheWpzKHZhbHVlKSkge1xuICAgICAgcmVzdWx0W2tleV0gPSBnZXREYXlqcyh7IGRhdGU6IHZhbHVlLnZhbHVlT2YoKSB9KTtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cbiAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBUZW1wbGF0ZVJlZiB8fCB2YWx1ZSBpbnN0YW5jZW9mIEVsZW1lbnRSZWYgfHwgdmFsdWUgaW5zdGFuY2VvZiBFbGVtZW50IHx8IHZhbHVlIGluc3RhbmNlb2YgUHJvbWlzZSB8fCB2YWx1ZSBpbnN0YW5jZW9mIE9ic2VydmFibGUpIHtcbiAgICAgIHJlc3VsdFtrZXldID0gdmFsdWU7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG4gICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChkYXRhLCBrZXkpKSB7XG4gICAgICByZXN1bHRba2V5XSA9IGNsb25lRGVlcCh2YWx1ZSwgb3B0aW9ucywgc2Vlbik7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHJlc3VsdCBhcyBUO1xufTtcblxuLyoqXG4gKiBDaHV54buDbiDEkeG7lWkgbeG7mXQgbeG6o25nIGPDoWMgxJHhu5FpIHTGsOG7o25nIHRow6BuaCBt4buZdCDEkeG7kWkgdMaw4bujbmcgduG7m2kga2jDs2EgxJHGsOG7o2MgY2jhu4kgxJHhu4tuaFxuICogQHBhcmFtIGRhdGEgTeG6o25nIGPDoWMgxJHhu5FpIHTGsOG7o25nIGPhuqduIGNodXnhu4NuIMSR4buVaVxuICogQHBhcmFtIGtleSBUw6puIHRodeG7mWMgdMOtbmggxJHGsOG7o2Mgc+G7rSBk4bulbmcgbMOgbSBraMOzYSB0cm9uZyDEkeG7kWkgdMaw4bujbmcga+G6v3QgcXXhuqNcbiAqIEByZXR1cm5zIMSQ4buRaSB0xrDhu6NuZyB24bubaSBjw6FjIGdpw6EgdHLhu4sgdOG7qyBt4bqjbmcgxJHGsOG7o2MgxJHDoW5oIGtleSB0aGVvIHRodeG7mWMgdMOtbmggxJHDoyBjaOG7iSDEkeG7i25oXG4gKiBAZXhhbXBsZVxuICogY29uc3QgZGF0YSA9IFtcbiAqICAgeyBpZDogMSwgbmFtZTogJ0pvaG4nIH0sXG4gKiAgIHsgaWQ6IDIsIG5hbWU6ICdKYW5lJyB9XG4gKiBdO1xuICoga2V5QnkoZGF0YSwgJ2lkJyk7XG4gKiAvLyBL4bq/dCBxdeG6ozoge1xuICogLy8gICAnMSc6IHsgaWQ6IDEsIG5hbWU6ICdKb2huJyB9LFxuICogLy8gICAnMic6IHsgaWQ6IDIsIG5hbWU6ICdKYW5lJyB9XG4gKiAvLyB9XG4gKi9cbmV4cG9ydCBjb25zdCBrZXlCeSA9IChkYXRhOiBBcnJheTxUWVBFX09CSkVDVD4sIGtleTogc3RyaW5nKTogVFlQRV9PQkpFQ1QgPT4ge1xuICBpZiAoIWRhdGEgfHwgIWRhdGEubGVuZ3RoIHx8ICFrZXkpIHtcbiAgICByZXR1cm4ge307XG4gIH1cbiAgcmV0dXJuIGRhdGEucmVkdWNlKChkaXIsIG5leHRJdGVtKSA9PiB7XG4gICAgY29uc3QgdmFsdWVPZktleSA9IGdldChuZXh0SXRlbSwga2V5KTtcbiAgICBpZiAodHlwZW9mIHZhbHVlT2ZLZXkgIT09ICdzdHJpbmcnICYmIHR5cGVvZiB2YWx1ZU9mS2V5ICE9PSAnbnVtYmVyJyAmJiB0eXBlb2YgdmFsdWVPZktleSAhPT0gJ2Jvb2xlYW4nKSB7XG4gICAgICByZXR1cm4gZGlyO1xuICAgIH1cbiAgICBpZiAoIU9iamVjdC5rZXlzKGRpcikuaW5jbHVkZXMoYCR7dmFsdWVPZktleX1gKSkge1xuICAgICAgZGlyW2Ake3ZhbHVlT2ZLZXl9YF0gPSBuZXh0SXRlbTtcbiAgICB9XG4gICAgcmV0dXJuIGRpcjtcbiAgfSwge30pO1xufTtcblxuLyoqXG4gKiBOaMOzbSBjw6FjIMSR4buRaSB0xrDhu6NuZyB0cm9uZyBt4buZdCBt4bqjbmcgdGjDoG5oIGPDoWMgbmjDs20gZOG7sWEgdHLDqm4gbeG7mXQgdGh14buZYyB0w61uaCBj4bulIHRo4buDXG4gKiBAcGFyYW0gZGF0YSBN4bqjbmcgY8OhYyDEkeG7kWkgdMaw4bujbmcgY+G6p24gbmjDs21cbiAqIEBwYXJhbSBrZXkgVMOqbiB0aHXhu5ljIHTDrW5oIMSRxrDhu6NjIHPhu60gZOG7pW5nIGzDoG0ga2jDs2EgbmjDs21cbiAqIEByZXR1cm5zIMSQ4buRaSB0xrDhu6NuZyB24bubaSBjw6FjIGdpw6EgdHLhu4sgdOG7qyBt4bqjbmcgxJHGsOG7o2MgbmjDs20gdGhlbyB0aHXhu5ljIHTDrW5oIMSRw6MgY2jhu4kgxJHhu4tuaFxuICogQGV4YW1wbGVcbiAqIGNvbnN0IGRhdGEgPSBbXG4gKiAgIHsgaWQ6IDEsIG5hbWU6ICdKb2huJyB9LFxuICogICB7IGlkOiAyLCBuYW1lOiAnSmFuZScgfSxcbiAqICAgeyBpZDogMSwgbmFtZTogJ0pvaG4nIH1cbiAqIF07XG4gKiBncm91cEJ5KGRhdGEsICdpZCcpO1xuICogLy8gS+G6v3QgcXXhuqM6IHtcbiAqIC8vICAgJzEnOiBbXG4gKiAvLyAgICAgeyBpZDogMSwgbmFtZTogJ0pvaG4nIH0sXG4gKiAvLyAgICAgeyBpZDogMSwgbmFtZTogJ0pvaG4nIH1cbiAqIC8vICAgXSxcbiAqIC8vICAgJzInOiBbXG4gKiAvLyAgICAgeyBpZDogMiwgbmFtZTogJ0phbmUnIH1cbiAqIC8vIH1cbiAqL1xuZXhwb3J0IGNvbnN0IGdyb3VwQnkgPSAoZGF0YTogQXJyYXk8VFlQRV9PQkpFQ1Q+LCBrZXk6IHN0cmluZyk6IFRZUEVfT0JKRUNUID0+IHtcbiAgaWYgKCFkYXRhIHx8ICFkYXRhLmxlbmd0aCB8fCAhT2JqZWN0LmtleXMoZ2V0KGRhdGEsICcwJykpLmxlbmd0aCB8fCAha2V5KSB7XG4gICAgcmV0dXJuIHt9O1xuICB9XG4gIHJldHVybiBkYXRhLnJlZHVjZSgoZGlyLCBuZXh0SXRlbSkgPT4ge1xuICAgIGNvbnN0IHZhbHVlT2ZLZXkgPSBnZXQobmV4dEl0ZW0sIGtleSk7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZU9mS2V5ICE9PSAnc3RyaW5nJyAmJiB0eXBlb2YgdmFsdWVPZktleSAhPT0gJ251bWJlcicgJiYgdHlwZW9mIHZhbHVlT2ZLZXkgIT09ICdib29sZWFuJykge1xuICAgICAgcmV0dXJuIGRpcjtcbiAgICB9XG4gICAgaWYgKCFPYmplY3Qua2V5cyhkaXIpLmluY2x1ZGVzKGAke3ZhbHVlT2ZLZXl9YCkpIHtcbiAgICAgIGRpcltgJHt2YWx1ZU9mS2V5fWBdID0gW107XG4gICAgfVxuICAgIGRpcltgJHt2YWx1ZU9mS2V5fWBdLnB1c2gobmV4dEl0ZW0pO1xuICAgIHJldHVybiBkaXI7XG4gIH0sIHt9KTtcbn07XG5cbi8qKlxuICogVOG6oW8gbeG7mXQgbeG6o25nIGPDoWMgc+G7kSB04burIGdpw6EgdHLhu4sgYuG6r3QgxJHhuqd1IMSR4bq/biBnacOhIHRy4buLIGvhur90IHRow7pjIHbhu5tpIGLGsOG7m2MgbmjhuqN5IHTDuXkgY2jhu41uXG4gKiBAcGFyYW0gc3RhcnQgR2nDoSB0cuG7iyBi4bqvdCDEkeG6p3UgY+G7p2EgZMOjeSBz4buRLiBO4bq/dSBjaOG7iSBjw7MgbeG7mXQgdGhhbSBz4buRLCDEkcOieSBz4bq9IGzDoCBnacOhIHRy4buLIGvhur90IHRow7pjIHbDoCBnacOhIHRy4buLIGLhuq90IMSR4bqndSBz4bq9IGzDoCAwXG4gKiBAcGFyYW0gZW5kIEdpw6EgdHLhu4sga+G6v3QgdGjDumMgY+G7p2EgZMOjeSBz4buRICh0w7l5IGNo4buNbilcbiAqIEBwYXJhbSBzdGVwIELGsOG7m2MgbmjhuqN5IGdp4buvYSBjw6FjIHPhu5EgdHJvbmcgZMOjeSAodMO5eSBjaOG7jW4pLiBN4bq3YyDEkeG7i25oIGzDoCAxIG7hur91IGVuZCA+IHN0YXJ0LCAtMSBu4bq/dSBlbmQgPCBzdGFydFxuICogQHJldHVybnMgTeG6o25nIGPDoWMgc+G7kSB04burIHN0YXJ0IMSR4bq/biBlbmQgduG7m2kgYsaw4bubYyBuaOG6o3kgc3RlcFxuICogQGV4YW1wbGVcbiAqIHJhbmdlKDQpOyAgICAgIC8vIFswLCAxLCAyLCAzXVxuICogcmFuZ2UoMSwgNSk7ICAgLy8gWzEsIDIsIDMsIDRdXG4gKiByYW5nZSgwLCAyMCwgNSk7IC8vIFswLCA1LCAxMCwgMTVdXG4gKiByYW5nZSg1LCAyKTsgICAvLyBbNSwgNCwgM11cbiAqL1xuZXhwb3J0IGNvbnN0IHJhbmdlID0gKHN0YXJ0OiBudW1iZXIsIGVuZD86IG51bWJlciwgc3RlcD86IG51bWJlcik6IEFycmF5PG51bWJlcj4gPT4ge1xuICBpZiAoZW5kID09PSB1bmRlZmluZWQgfHwgZW5kID09PSBudWxsKSB7XG4gICAgZW5kID0gc3RhcnQ7XG4gICAgc3RhcnQgPSAwO1xuICB9XG5cbiAgaWYgKCFzdGVwKSB7XG4gICAgc3RlcCA9IGVuZCA8IDAgPyAtMSA6IDE7XG4gIH1cblxuICBpZiAoZW5kIDwgc3RhcnQgJiYgc3RlcCA+IDApIHtcbiAgICBzdGVwICo9IC0xO1xuICB9XG5cbiAgY29uc3QgdmFsdWVTdGFydEJ5U3RlcCA9IHN0ZXAgKyBzdGFydDtcbiAgY29uc3QgZGlyZWN0aW9uID0gc3RhcnQgPCBlbmQgPyAnYXNjJyA6ICdkZXNjJztcbiAgaWYgKChkaXJlY3Rpb24gPT09ICdhc2MnICYmICh2YWx1ZVN0YXJ0QnlTdGVwIDwgc3RhcnQgfHwgdmFsdWVTdGFydEJ5U3RlcCA+IGVuZCkpIHx8IChkaXJlY3Rpb24gPT09ICdkZXNjJyAmJiAodmFsdWVTdGFydEJ5U3RlcCA+IHN0YXJ0IHx8IHZhbHVlU3RhcnRCeVN0ZXAgPCBlbmQpKSkge1xuICAgIHJldHVybiBbc3RhcnRdO1xuICB9XG5cbiAgY29uc3QgYXJyID0gbmV3IEFycmF5PG51bWJlcj4oKTtcblxuICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgTWF0aC5hYnMoZW5kIC0gc3RhcnQpOyBpbmRleCsrKSB7XG4gICAgbGV0IHZhbHVlID0gc3RhcnQgKyBpbmRleCAqIHN0ZXA7XG4gICAgaWYgKGluZGV4ID09PSAwKSB7XG4gICAgICB2YWx1ZSA9IHN0YXJ0O1xuICAgIH1cblxuICAgIGlmICgoZGlyZWN0aW9uID09PSAnYXNjJyAmJiAodmFsdWUgPCBzdGFydCB8fCB2YWx1ZSA+IGVuZCkpIHx8IChkaXJlY3Rpb24gPT09ICdkZXNjJyAmJiAodmFsdWUgPiBzdGFydCB8fCB2YWx1ZSA8IGVuZCkpKSB7XG4gICAgICByZXR1cm4gYXJyO1xuICAgIH1cblxuICAgIGFyci5wdXNoKHZhbHVlKTtcbiAgfVxuXG4gIHJldHVybiBhcnI7XG59O1xuXG4vKipcbiAqIFNvIHPDoW5oIGhhaSBnacOhIHRy4buLIGLhuqV0IGvhu7MgY8OzIGLhurFuZyBuaGF1IGhheSBraMO0bmdcbiAqIEBwYXJhbSB2YWx1ZTEgR2nDoSB0cuG7iyB0aOG7qSBuaOG6pXQgY+G6p24gc28gc8OhbmhcbiAqIEBwYXJhbSB2YWx1ZTIgR2nDoSB0cuG7iyB0aOG7qSBoYWkgY+G6p24gc28gc8OhbmhcbiAqIEBwYXJhbSBleGFjdGx5UG9zaXRpb24gQ8OzIHNvIHPDoW5oIGNow61uaCB4w6FjIHbhu4sgdHLDrSBjw6FjIHBo4bqnbiB04butIHRyb25nIG3huqNuZyBoYXkga2jDtG5nXG4gKiBAcmV0dXJucyB0cnVlIG7hur91IGhhaSBnacOhIHRy4buLIGLhurFuZyBuaGF1LCBmYWxzZSBu4bq/dSBraMO0bmcgYuG6sW5nIG5oYXVcbiAqIEBleGFtcGxlXG4gKiBpc0VxdWFsKFsxLDIsM10sIFsxLDIsM10pOyAvLyB0cnVlXG4gKiBpc0VxdWFsKFsxLDIsM10sIFszLDIsMV0pOyAvLyB0cnVlIGtoaSBleGFjdGx5UG9zaXRpb24gPSBmYWxzZVxuICogaXNFcXVhbChbMSwyLDNdLCBbMywyLDFdKTsgLy8gZmFsc2Uga2hpIGV4YWN0bHlQb3NpdGlvbiA9IHRydWVcbiAqIGlzRXF1YWwoe2E6MX0sIHthOjF9KTsgLy8gdHJ1ZVxuICovXG5leHBvcnQgY29uc3QgaXNFcXVhbCA9IChcbiAgdmFsdWUxOiBhbnksXG4gIHZhbHVlMjogYW55LFxuICBvcHRpb25zPzoge1xuICAgIGV4YWN0bHlQb3NpdGlvbj86IGJvb2xlYW47XG4gICAgaWdub3JlRXhhY3RseURhdGFUeXBlPzogYm9vbGVhbjtcbiAgfVxuKTogYm9vbGVhbiA9PiB7XG4gIGNvbnN0IHsgZXhhY3RseVBvc2l0aW9uID0gZmFsc2UsIGlnbm9yZUV4YWN0bHlEYXRhVHlwZSA9IGZhbHNlIH0gPSBvcHRpb25zIHx8IHt9O1xuXG4gIGlmICh2YWx1ZTEgPT09IHZhbHVlMiB8fCAodmFsdWUxID09PSBudWxsICYmIHZhbHVlMiA9PT0gbnVsbCkgfHwgKHZhbHVlMSA9PT0gdW5kZWZpbmVkICYmIHZhbHVlMiA9PT0gdW5kZWZpbmVkKSkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgaWYgKGlnbm9yZUV4YWN0bHlEYXRhVHlwZSkge1xuICAgIHJldHVybiBpc0VxdWFsKGlzTmlsKHZhbHVlMSkgPyB1bmRlZmluZWQgOiBgJHt2YWx1ZTF9YCwgaXNOaWwodmFsdWUyKSA/IHVuZGVmaW5lZCA6IGAke3ZhbHVlMn1gKTtcbiAgfVxuXG4gIC8vIEhhbmRsZSBzaWduYWxzXG4gIHdoaWxlIChpc1NpZ25hbCh2YWx1ZTEpKSB7XG4gICAgdmFsdWUxID0gdmFsdWUxKCk7XG4gIH1cbiAgd2hpbGUgKGlzU2lnbmFsKHZhbHVlMikpIHtcbiAgICB2YWx1ZTIgPSB2YWx1ZTIoKTtcbiAgfVxuXG4gIGlmICh0eXBlb2YgdmFsdWUxICE9PSAnb2JqZWN0JyB8fCB0eXBlb2YgdmFsdWUyICE9PSAnb2JqZWN0JyB8fCAoQXJyYXkuaXNBcnJheSh2YWx1ZTEpICYmICFBcnJheS5pc0FycmF5KHZhbHVlMikpIHx8ICghQXJyYXkuaXNBcnJheSh2YWx1ZTEpICYmIEFycmF5LmlzQXJyYXkodmFsdWUyKSkpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZTEpKSB7XG4gICAgaWYgKHZhbHVlMS5sZW5ndGggIT09IHZhbHVlMi5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgaWYgKCFleGFjdGx5UG9zaXRpb24pIHtcbiAgICAgIHJldHVybiAhdmFsdWUxLnNvbWUoKGl0ZW0pID0+ICF2YWx1ZTIuaW5jbHVkZXMoaXRlbSkpO1xuICAgIH1cblxuICAgIHJldHVybiAhdmFsdWUxLnNvbWUoKGl0ZW0sIGluZGV4KSA9PiAhaXNFcXVhbChpdGVtLCB2YWx1ZTJbaW5kZXhdLCBvcHRpb25zKSk7XG4gIH1cblxuICBpZiAoT2JqZWN0LmtleXModmFsdWUxKS5sZW5ndGggIT09IE9iamVjdC5rZXlzKHZhbHVlMikubGVuZ3RoKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHJldHVybiAhT2JqZWN0LmtleXModmFsdWUxKS5zb21lKChrZXkpID0+ICFpc0VxdWFsKHZhbHVlMVtrZXldLCB2YWx1ZTJba2V5XSwgb3B0aW9ucykpO1xufTtcblxuLyoqXG4gKiBMb+G6oWkgYuG7jyBjw6FjIHBo4bqnbiB04butIHRyw7luZyBs4bq3cCB0cm9uZyBt4bqjbmcgZOG7sWEgdHLDqm4gbeG7mXQgdGh14buZYyB0w61uaCBjaOG7iSDEkeG7i25oXG4gKiBAcGFyYW0gZGF0YSBN4bqjbmcgZOG7ryBsaeG7h3UgY+G6p24geOG7rSBsw71cbiAqIEBwYXJhbSBrZXkgVMOqbiB0aHXhu5ljIHTDrW5oIGTDuW5nIMSR4buDIHNvIHPDoW5oIHRyw7luZyBs4bq3cC4gTuG6v3Uga2jDtG5nIGPDsyBrZXkgdGjDrCBzbyBzw6FuaCB0cuG7sWMgdGnhur9wIGdpw6EgdHLhu4tcbiAqIEByZXR1cm5zIE3huqNuZyBt4bubaSBjaOG7qWEgY8OhYyBwaOG6p24gdOG7rSBraMO0bmcgdHLDuW5nIGzhurdwXG4gKiBAZXhhbXBsZVxuICogY29uc3QgYXJyID0gW1xuICogICB7IGlkOiAxLCBuYW1lOiAnQScgfSxcbiAqICAgeyBpZDogMiwgbmFtZTogJ0InIH0sXG4gKiAgIHsgaWQ6IDEsIG5hbWU6ICdDJyB9XG4gKiBdO1xuICogdW5pcUJ5KGFyciwgJ2lkJyk7IC8vIFt7IGlkOiAxLCBuYW1lOiAnQScgfSwgeyBpZDogMiwgbmFtZTogJ0InIH1dXG4gKlxuICogY29uc3QgbnVtYmVycyA9IFsxLCAyLCAyLCAzLCAzXTtcbiAqIHVuaXFCeShudW1iZXJzKTsgLy8gWzEsIDIsIDNdXG4gKlxuICogY29uc3QgbnVtYmVyc1NpZ25hbCA9IFtzaWduYWwoMSksIHNpZ25hbCgyKSwgc2lnbmFsKDMpLCBzaWduYWwoMiksIHNpZ25hbCg1KSwgc2lnbmFsKDQpLCBzaWduYWwoMSksIHNpZ25hbCg2KSwgc2lnbmFsKDcpLCBzaWduYWwoNildO1xuICogdW5pcUJ5KG51bWJlcnNTaWduYWwpOyAvLyBbc2lnbmFsKDEpLCBzaWduYWwoMiksIHNpZ25hbCgzKSwgc2lnbmFsKDUpLCBzaWduYWwoNCksIHNpZ25hbCg2KSwgc2lnbmFsKDcpXVxuICovXG5leHBvcnQgY29uc3QgdW5pcUJ5ID0gPFQ+KGRhdGE6IEFycmF5PFQ+LCBrZXk/OiBzdHJpbmcpOiBBcnJheTxUPiA9PiB7XG4gIGlmICgha2V5IHx8ICFkYXRhPy5sZW5ndGggfHwgdHlwZW9mIGdldChkYXRhLCAnMCcpICE9PSAnb2JqZWN0Jykge1xuICAgIC8vIFjhu60gbMO9IG3huqNuZyBjaOG7qWEgc2lnbmFsIHZhbHVlc1xuICAgIGlmIChkYXRhWzBdICYmIGlzU2lnbmFsKGRhdGFbMF0pKSB7XG4gICAgICBjb25zdCBzZWVuID0gbmV3IFNldDxzdHJpbmc+KCk7XG5cbiAgICAgIHJldHVybiBkYXRhLmZpbHRlcigoaXRlbSkgPT4ge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IGAke2dldDxhbnk+KGl0ZW0sICcnKX1gO1xuICAgICAgICBpZiAoc2Vlbi5oYXModmFsdWUpKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHNlZW4uYWRkKHZhbHVlKTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9KTtcbiAgICB9XG4gICAgLy8gWOG7rSBsw70gbeG6o25nIHByaW1pdGl2ZSB2YWx1ZXNcbiAgICByZXR1cm4gQXJyYXkuZnJvbShuZXcgU2V0KGRhdGEpKTtcbiAgfVxuXG4gIGNvbnN0IGRhdGFVbmlxdWUgPSBrZXlCeShkYXRhIGFzIEFycmF5PFJlY29yZDxzdHJpbmcsIGFueT4+LCBrZXkpO1xuXG4gIHJldHVybiBPYmplY3Qua2V5cyhkYXRhVW5pcXVlKS5tYXAoKGtleSkgPT4gZGF0YVVuaXF1ZVtrZXldKTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZW5lcmF0ZUludGVyZmFjZSA9IChvYmo6IGFueSwgaW50ZXJmYWNlTmFtZTogc3RyaW5nKTogc3RyaW5nID0+IHtcbiAgY29uc3QgZ2VuZXJhdGVUeXBlID0gKHZhbHVlOiBhbnkpOiBzdHJpbmcgPT4ge1xuICAgIGlmICh2YWx1ZSA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuICdudWxsJztcbiAgICB9XG4gICAgY29uc3QgdHlwZSA9IHR5cGVvZiB2YWx1ZTtcblxuICAgIGlmICh0eXBlID09PSAnc3RyaW5nJykge1xuICAgICAgcmV0dXJuICdzdHJpbmcnO1xuICAgIH1cbiAgICBpZiAodHlwZSA9PT0gJ251bWJlcicpIHtcbiAgICAgIHJldHVybiAnbnVtYmVyJztcbiAgICB9XG4gICAgaWYgKHR5cGUgPT09ICdib29sZWFuJykge1xuICAgICAgcmV0dXJuICdib29sZWFuJztcbiAgICB9XG4gICAgaWYgKHR5cGUgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICByZXR1cm4gJ2FueSc7XG4gICAgfVxuXG4gICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgRGF0ZSkge1xuICAgICAgcmV0dXJuICdEYXRlJztcbiAgICB9XG5cbiAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBSZWdFeHApIHtcbiAgICAgIHJldHVybiAnUmVnRXhwJztcbiAgICB9XG5cbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgIGlmICh2YWx1ZS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgcmV0dXJuICdBcnJheTxhbnk+JztcbiAgICAgIH1cbiAgICAgIHJldHVybiBgQXJyYXk8JHtnZW5lcmF0ZVR5cGUodmFsdWVbMF0pfT5gO1xuICAgIH1cblxuICAgIGlmICh0eXBlID09PSAnb2JqZWN0Jykge1xuICAgICAgbGV0IGludGVyZmFjZVN0ciA9ICd7XFxuJztcbiAgICAgIGZvciAoY29uc3Qga2V5IGluIHZhbHVlKSB7XG4gICAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodmFsdWUsIGtleSkpIHtcbiAgICAgICAgICBjb25zdCB2YWx1ZVR5cGUgPSBnZW5lcmF0ZVR5cGUodmFsdWVba2V5XSk7XG4gICAgICAgICAgaW50ZXJmYWNlU3RyICs9IGAgICR7a2V5fTogJHt2YWx1ZVR5cGV9O1xcbmA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGludGVyZmFjZVN0ciArPSAnfSc7XG4gICAgICByZXR1cm4gaW50ZXJmYWNlU3RyO1xuICAgIH1cblxuICAgIHJldHVybiAnYW55JztcbiAgfTtcblxuICBjb25zdCBpbnRlcmZhY2VTdHIgPSBgaW50ZXJmYWNlICR7aW50ZXJmYWNlTmFtZX0gJHtnZW5lcmF0ZVR5cGUob2JqKX1gO1xuICByZXR1cm4gaW50ZXJmYWNlU3RyO1xufTtcbiJdfQ==
|
|
567
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMtdWkvdXRpbHMvc3JjL2hlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBa0IsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xDLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUVsQyxzQ0FBc0M7QUFDdEM7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUFHLENBQUMsS0FBYyxFQUE2QixFQUFFO0lBQ2pFLE9BQU8sS0FBSyxLQUFLLElBQUksSUFBSSxLQUFLLEtBQUssU0FBUyxDQUFDO0FBQy9DLENBQUMsQ0FBQztBQUVGOzs7Ozs7Ozs7Ozs7R0FZRztBQUNILE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxDQUFDLEtBQWMsRUFBRSxFQUFFO0lBQ3hDLE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDdkIsS0FBSyxHQUFHLEtBQUssRUFBRSxDQUFDO0lBQ2xCLENBQUM7SUFDRCxPQUFPLEtBQUssS0FBSyxJQUFJLElBQUksS0FBSyxLQUFLLEVBQUUsSUFBSSxLQUFLLEtBQUssU0FBUyxJQUFJLENBQUMsT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsS0FBSyxJQUFJLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsS0FBSyxJ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QUssR0FBRyxLQUFLLFNBQVMsS0FBSyxDQUFDO2dCQUM5QyxDQUFDO1lBQ0gsQ0FBQztZQUNELFlBQVksSUFBSSxHQUFHLENBQUM7WUFDcEIsT0FBTyxZQUFZLENBQUM7UUFDdEIsQ0FBQztRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQyxDQUFDO0lBRUYsTUFBTSxZQUFZLEdBQUcsYUFBYSxhQUFhLElBQUksWUFBWSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7SUFDdkUsT0FBTyxZQUFZLENBQUM7QUFDdEIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuaW1wb3J0IHsgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEVsZW1lbnRSZWYsIFRlbXBsYXRlUmVmLCBXcml0YWJsZVNpZ25hbCwgaXNTaWduYWwsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVFlQRV9PQkpFQ1QgfSBmcm9tICdAbGlicy11aS9pbnRlcmZhY2VzLXR5cGVzJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCBkYXlqcyBmcm9tICdkYXlqcyc7XG5pbXBvcnQgeyBVdGlsc0h0dHBQYXJhbXNSZXF1ZXN0IH0gZnJvbSAnLi9odHRwLXBhcmFtcyc7XG5pbXBvcnQgeyBnZXREYXlqcyB9IGZyb20gJy4vZGF0ZSc7XG5cbi8qKkPDoWMgaMOgbSB0xrDGoW5nIHThu7EgdGjGsCB2aeG7h24gbG9kYXNoICovXG4vKipcbiAqIEtp4buDbSB0cmEgeGVtIG3hu5l0IGdpw6EgdHLhu4sgY8OzIHBo4bqjaSBsw6AgbnVsbCBob+G6t2MgdW5kZWZpbmVkIGhheSBraMO0bmdcbiAqIEBwYXJhbSB2YWx1ZSBHacOhIHRy4buLIGPhuqduIGtp4buDbSB0cmFcbiAqIEByZXR1cm5zIHRydWUgbuG6v3UgZ2nDoSB0cuG7iyBsw6AgbnVsbCBob+G6t2MgdW5kZWZpbmVkLCBmYWxzZSBu4bq/dSBraMO0bmdcbiAqIEBleGFtcGxlXG4gKiBpc05pbChudWxsKTsgLy8gdHJ1ZVxuICogaXNOaWwodW5kZWZpbmVkKTsgLy8gdHJ1ZVxuICogaXNOaWwoMCk7IC8vIGZhbHNlXG4gKiBpc05pbCgnaGVsbG8nKTsgLy8gZmFsc2VcbiAqL1xuZXhwb3J0IGNvbnN0IGlzTmlsID0gKHZhbHVlOiB1bmtub3duKTogdmFsdWUgaXMgbnVsbCB8IHVuZGVmaW5lZCA9PiB7XG4gIHJldHVybiB2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkO1xufTtcblxuLyoqXG4gKiBLaeG7g20gdHJhIHhlbSBt4buZdCBnacOhIHRy4buLIGPDsyBwaOG6o2kgbMOgIHLhu5duZyBoYXkga2jDtG5nXG4gKiBAcGFyYW0gdmFsdWUgR2nDoSB0cuG7iyBj4bqnbiBraeG7g20gdHJhXG4gKiBAcmV0dXJucyB0cnVlIG7hur91IGdpw6EgdHLhu4sgbMOgIG51bGwsIHLhu5duZyBob+G6t2MgdW5kZWZpbmVkLCBmYWxzZSBu4bq/dSBraMO0bmdcbiAqIEBleGFtcGxlXG4gKiBpc0VtcHR5KG51bGwpOyAvLyB0cnVlXG4gKiBpc0VtcHR5KCcnKTsgLy8gdHJ1ZVxuICogaXNFbXB0eSh1bmRlZmluZWQpOyAvLyB0cnVlXG4gKiBpc0VtcHR5KHt9KTsgLy8gdHJ1ZVxuICogaXNFbXB0eShbXSk7IC8vIHRydWVcbiAqIGlzRW1wdHkoWzEsIDIsIDNdKTsgLy8gZmFsc2VcbiAqIGlzRW1wdHkoeyBhOiAxIH0pOyAvLyBmYWxzZVxuICovXG5leHBvcnQgY29uc3QgaXNFbXB0eSA9ICh2YWx1ZTogdW5rbm93bikgPT4ge1xuICB3aGlsZSAoaXNTaWduYWwodmFsdWUpKSB7XG4gICAgdmFsdWUgPSB2YWx1ZSgpO1xuICB9XG4gIHJldHVybiB2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gJycgfHwgdmFsdWUgPT09IHVuZGVmaW5lZCB8fCAodHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiAoSlNPTi5zdHJpbmdpZnkodmFsdWUpID09PSAne30nIHx8IEpTT04uc3RyaW5naWZ5KHZhbHVlKSA9PT0gJ1tdJykpO1xufTtcblxuLyoqXG4gKiBMb+G6oWkgYuG7jyBjw6FjIHRodeG7mWMgdMOtbmggY+G7p2EgxJHhu5FpIHTGsOG7o25nIGThu7FhIHRyw6puIG3hu5l0IGjDoG0gxJFp4buBdSBraeG7h25cbiAqIEBwYXJhbSBvYmpEYXRhIMSQ4buRaSB0xrDhu6NuZyBj4bqnbiB44butIGzDvVxuICogQHBhcmFtIHByZWRpY2F0ZSBIw6BtIMSRaeG7gXUga2nhu4duIMSR4buDIGtp4buDbSB0cmEgZ2nDoSB0cuG7iyBj4bunYSB0aHXhu5ljIHTDrW5oLiBO4bq/dSBow6BtIHRy4bqjIHbhu4EgdHJ1ZSB0aMOsIHRodeG7mWMgdMOtbmggxJHDsyBz4bq9IGLhu4sgbG/huqFpIGLhu49cbiAqIEByZXR1cm5zIMSQ4buRaSB0xrDhu6NuZyBt4bubaSBzYXUga2hpIMSRw6MgbG/huqFpIGLhu48gY8OhYyB0aHXhu5ljIHTDrW5oIHRo4buPYSBtw6NuIMSRaeG7gXUga2nhu4duXG4gKiBAZXhhbXBsZVxuICogY29uc3Qgb2JqID0geyBhOiAxLCBiOiBudWxsLCBjOiAzLCBkOiB1bmRlZmluZWQgfTtcbiAqIG9taXRCeShvYmosIGlzTmlsKTsgLy8geyBhOiAxLCBjOiAzIH1cbiAqL1xuZXhwb3J0IGNvbnN0IG9taXRCeSA9IDxUPihvYmpEYXRhOiBSZWNvcmQ8c3RyaW5nLCBhbnk+LCBwcmVkaWNhdGU6ICh2YWw6IGFueSkgPT4gYm9vbGVhbik6IFQgPT4ge1xuICBpZiAoIW9iakRhdGEgfHwgdHlwZW9mIG9iakRhdGEgIT09ICdvYmplY3QnIHx8IEFycmF5LmlzQXJyYXkob2JqRGF0YSkpIHtcbiAgICByZXR1cm4gb2JqRGF0YSBhcyBUO1xuICB9XG4gIGNvbnN0IG5ld09iaiA9IHt9IGFzIFQ7XG5cbiAgT2JqZWN0LmtleXMob2JqRGF0YSkuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgY29uc3QgdmFsdWVPZktleSA9IGdldChvYmpEYXRhLCBrZXkpO1xuICAgIGlmICghcHJlZGljYXRlKHZhbHVlT2ZLZXkpKSB7XG4gICAgICBzZXQobmV3T2JqLCBrZXksIHZhbHVlT2ZLZXkpO1xuICAgIH1cbiAgfSk7XG4gIHJldHVybiBuZXdPYmo7XG59O1xuXG4vKipcbiAqIEzhuqV5IGdpw6EgdHLhu4sgdOG7qyDEkeG7kWkgdMaw4bujbmcgdGhlbyDEkcaw4budbmcgZOG6q24gY2jhu4kgxJHhu4tuaFxuICpcbiAqIEjDoG0gbsOgeSBnacO6cCBi4bqhbiB0cnV5IGPhuq1wIHbDoG8gY8OhYyB0aHXhu5ljIHTDrW5oIHPDonUgYsOqbiB0cm9uZyBt4buZdCDEkeG7kWkgdMaw4bujbmcgbeG7mXQgY8OhY2ggYW4gdG/DoG4sXG4gKiB0csOhbmggbOG7l2kga2hpIHRodeG7mWMgdMOtbmgga2jDtG5nIHThu5NuIHThuqFpLlxuICpcbiAqIEBwYXJhbSBvYmogxJDhu5FpIHTGsOG7o25nIG5ndeG7k24gY+G6p24gbOG6pXkgZ2nDoSB0cuG7i1xuICogQHBhcmFtIHBhdGggxJDGsOG7nW5nIGThuqtuIMSR4bq/biB0aHXhu5ljIHTDrW5oIGPhuqduIGzhuqV5LiBDw7MgdGjhu4MgbMOgOlxuICogICAtIENodeG7l2k6ICd1c2VyLnByb2ZpbGUubmFtZScgaG/hurdjICdpdGVtc1swXS50aXRsZSdcbiAqICAgLSBN4bqjbmc6IFsndXNlcicsICdwcm9maWxlJywgJ25hbWUnXSBob+G6t2MgWydpdGVtcycsICcwJywgJ3RpdGxlJ11cbiAqICAgLSBDaHXhu5dpIHLhu5duZyAnJzogdHLhuqMgduG7gSBjaMOtbmggxJHhu5FpIHTGsOG7o25nIGfhu5FjXG4gKiBAcGFyYW0gZGVmYXVsdFZhbHVlIEdpw6EgdHLhu4sgbeG6t2MgxJHhu4tuaCB0cuG6oyB24buBIGtoaSBraMO0bmcgdMOsbSB0aOG6pXkgdGh14buZYyB0w61uaCAobeG6t2MgxJHhu4tuaDogdW5kZWZpbmVkKVxuICogQHBhcmFtIGtlZXBMYXN0VmFsdWVJZlNpZ25hbCBDw7MgZ2nhu68gbmd1ecOqbiBzaWduYWwgY3Xhu5FpIGPDuW5nIGhheSBraMO0bmcgKG3hurdjIMSR4buLbmg6IGZhbHNlIC0gc+G6vSBn4buNaSBzaWduYWwoKSlcbiAqIEByZXR1cm5zIEdpw6EgdHLhu4sgdMOsbSDEkcaw4bujYyBob+G6t2MgZ2nDoSB0cuG7iyBt4bq3YyDEkeG7i25oXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIFbDrSBk4bulIGPGoSBi4bqjblxuICogY29uc3QgdXNlciA9IHsgbmFtZTogJ0pvaG4nLCBhZ2U6IDMwIH07XG4gKiBnZXQodXNlciwgJ25hbWUnKTsgLy8gJ0pvaG4nXG4gKiBnZXQodXNlciwgJ2VtYWlsJyk7IC8vIHVuZGVmaW5lZFxuICogZ2V0KHVzZXIsICdlbWFpbCcsICduby1lbWFpbCcpOyAvLyAnbm8tZW1haWwnXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIFRydXnhu4FuIHBhdGggcuG7l25nIC0gdHLhuqMgduG7gSBjaMOtbmggxJHhu5FpIHTGsOG7o25nIGfhu5FjXG4gKiBjb25zdCBkYXRhID0geyBuYW1lOiAnQWxpY2UnLCBhZ2U6IDI1IH07XG4gKiBnZXQoZGF0YSwgJycpOyAvLyB7IG5hbWU6ICdBbGljZScsIGFnZTogMjUgfSAoY2jDrW5oIMSR4buRaSB0xrDhu6NuZyBkYXRhKVxuICogZ2V0KGRhdGEsICcnLCAnZGVmYXVsdCcpOyAvLyB7IG5hbWU6ICdBbGljZScsIGFnZTogMjUgfSAoYuG7jyBxdWEgZGVmYXVsdFZhbHVlKVxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBUcnV5IGPhuq1wIHRodeG7mWMgdMOtbmggc8OidVxuICogY29uc3QgZGF0YSA9IHtcbiAqICAgdXNlcjoge1xuICogICAgIHByb2ZpbGU6IHtcbiAqICAgICAgIG5hbWU6ICdBbGljZScsXG4gKiAgICAgICBzZXR0aW5nczogeyB0aGVtZTogJ2RhcmsnIH1cbiAqICAgICB9XG4gKiAgIH1cbiAqIH07XG4gKiBnZXQoZGF0YSwgJ3VzZXIucHJvZmlsZS5uYW1lJyk7IC8vICdBbGljZSdcbiAqIGdldChkYXRhLCAndXNlci5wcm9maWxlLnNldHRpbmdzLnRoZW1lJyk7IC8vICdkYXJrJ1xuICogZ2V0KGRhdGEsICd1c2VyLnByb2ZpbGUuYXZhdGFyJywgJ2RlZmF1bHQuanBnJyk7IC8vICdkZWZhdWx0LmpwZydcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gVHJ1eSBj4bqtcCBt4bqjbmdcbiAqIGNvbnN0IGl0ZW1zID0gW1xuICogICB7IG5hbWU6ICdJdGVtIDEnLCBwcmljZTogMTAwIH0sXG4gKiAgIHsgbmFtZTogJ0l0ZW0gMicsIHByaWNlOiAyMDAgfVxuICogXTtcbiAqIGdldChpdGVtcywgJ1swXS5uYW1lJyk7IC8vICdJdGVtIDEnXG4gKiBnZXQoaXRlbXMsICdbMV0ubmFtZScpOyAvLyAnSXRlbSAyJ1xuICogZ2V0KGl0ZW1zLCAnWzJdLm5hbWUnLCAnTm90IGZvdW5kJyk7IC8vICdOb3QgZm91bmQnXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIFPhu60gZOG7pW5nIHbhu5tpIG3huqNuZyBwYXRoXG4gKiBjb25zdCBuZXN0ZWQgPSB7IGE6IHsgYjogeyBjOiAnZGVlcCB2YWx1ZScgfSB9IH07XG4gKiBnZXQobmVzdGVkLCBbJ2EnLCAnYicsICdjJ10pOyAvLyAnZGVlcCB2YWx1ZSdcbiAqIGdldChuZXN0ZWQsIFsnYScsICdiJywgJ2QnXSwgJ2RlZmF1bHQnKTsgLy8gJ2RlZmF1bHQnXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIFRyxrDhu51uZyBo4bujcCDEkeG6t2MgYmnhu4d0XG4gKiBnZXQobnVsbCwgJ2FueS5wYXRoJyk7IC8vIHVuZGVmaW5lZFxuICogZ2V0KHVuZGVmaW5lZCwgJ2FueS5wYXRoJywgJ2ZhbGxiYWNrJyk7IC8vICdmYWxsYmFjaydcbiAqL1xuZXhwb3J0IGNvbnN0IGdldCA9IDxUID0gYW55PihvYmo6IGFueSwgcGF0aDogc3RyaW5nIHwgc3RyaW5nW10sIGRlZmF1bHRWYWx1ZTogYW55ID0gdW5kZWZpbmVkLCBrZWVwTGFzdFZhbHVlSWZTaWduYWw/OiBib29sZWFuKTogVCA9PiB7XG4gIGlmIChpc05pbChvYmopKSB7XG4gICAgcmV0dXJuIGRlZmF1bHRWYWx1ZTtcbiAgfVxuICB3aGlsZSAoaXNTaWduYWwob2JqKSkge1xuICAgIG9iaiA9IG9iaigpO1xuICB9XG4gIGlmIChwYXRoID09PSAnJykge1xuICAgIHJldHVybiBvYmogYXMgVDtcbiAgfVxuICBpZiAob2JqIGluc3RhbmNlb2YgSHR0cFBhcmFtcykge1xuICAgIHJldHVybiAob2JqLmdldChgJHtwYXRofWApID8/IGRlZmF1bHRWYWx1ZSkgYXMgVDtcbiAgfVxuICBpZiAob2JqIGluc3RhbmNlb2YgRE9NUmVjdCkge1xuICAgIHJldHVybiBvYmpbcGF0aCBhcyBrZXlvZiBET01SZWN0XSBhcyBUO1xuICB9XG5cbiAgY29uc3QgcGF0aHMgPSBBcnJheS5pc0FycmF5KHBhdGgpXG4gICAgPyBwYXRoXG4gICAgOiBwYXRoXG4gICAgICAgIC5yZXBsYWNlKC9cXFsoXFxkKyldL2csICcuJDEnKVxuICAgICAgICAuc3BsaXQoJy4nKVxuICAgICAgICAuZmlsdGVyKChrZXkpID0+IGtleSk7XG4gIGZvciAoY29uc3QgaW5kZXggaW4gcGF0aHMpIHtcbiAgICBjb25zdCBrZXkgPSBwYXRoc1tpbmRleF07XG4gICAgaWYgKG9iaiBpbnN0YW5jZW9mIENTU1N0eWxlRGVjbGFyYXRpb24pIHtcbiAgICAgIG9iaiA9IG9ialtrZXkgYXMga2V5b2YgQ1NTU3R5bGVEZWNsYXJhdGlvbl0gYXMgVDtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGlmIChvYmogaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkge1xuICAgICAgb2JqID0gb2JqW2tleSBhcyBrZXlvZiBIVE1MRWxlbWVudF0gYXMgVDtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cbiAgICBpZiAoaXNOaWwob2JqKSB8fCAhT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iaiwga2V5KSkge1xuICAgICAgcmV0dXJuIGRlZmF1bHRWYWx1ZTtcbiAgICB9XG5cbiAgICBjb25zdCB2YWwgPSBpc1NpZ25hbChvYmpba2V5XSkgJiYgIWtlZXBMYXN0VmFsdWVJZlNpZ25hbCA/IG9ialtrZXldKCkgOiBvYmpba2V5XTtcblxuICAgIG9iaiA9IHZhbDtcbiAgfVxuXG4gIHJldHVybiBvYmo7XG59O1xuXG4vKipcbiAqIFRoaeG6v3QgbOG6rXAgZ2nDoSB0cuG7iyBjaG8gbeG7mXQgdGh14buZYyB0w61uaCB0cm9uZyDEkeG7kWkgdMaw4bujbmcgdGhlbyDEkcaw4budbmcgZOG6q24gY2jhu4kgxJHhu4tuaFxuICogQHBhcmFtIG9iaiDEkOG7kWkgdMaw4bujbmcgY+G6p24gdGhp4bq/dCBs4bqtcCBnacOhIHRy4buLXG4gKiBAcGFyYW0gcGF0aCDEkMaw4budbmcgZOG6q24gxJHhur9uIHRodeG7mWMgdMOtbmgsIGPDsyB0aOG7gyBsw6AgY2h14buXaSAodmQ6ICdhLmIuYycpIGhv4bq3YyBt4bqjbmcgKHZkOiBbJ2EnLCAnYicsICdjJ10pXG4gKiBAcGFyYW0gdmFsdWUgR2nDoSB0cuG7iyBj4bqnbiB0aGnhur90IGzhuq1wXG4gKiBAcmV0dXJucyDEkOG7kWkgdMaw4bujbmcgc2F1IGtoaSDEkcOjIHRoaeG6v3QgbOG6rXAgZ2nDoSB0cuG7i1xuICogQHRocm93cyBFcnJvciBu4bq/dSB0aGFtIHPhu5EgxJHhuqd1IHRpw6puIGtow7RuZyBwaOG6o2kgbMOgIMSR4buRaSB0xrDhu6NuZ1xuICogQGV4YW1wbGVcbiAqIGNvbnN0IG9iaiA9IHsgYTogeyBiOiAxIH0gfTtcbiAqIHNldChvYmosICdhLmInLCAyKTsgLy8geyBhOiB7IGI6IDIgfSB9XG4gKi9cbmV4cG9ydCBjb25zdCBzZXQgPSA8VCA9IGFueT4ob2JqOiBhbnksIHBhdGg6IHN0cmluZyB8IHN0cmluZ1tdLCB2YWx1ZTogYW55KTogVCA9PiB7XG4gIGlmICghb2JqIHx8ICh0eXBlb2Ygb2JqICE9PSAnb2JqZWN0JyAmJiAhaXNTaWduYWwob2JqKSkgfHwgKGlzU2lnbmFsKG9iaikgJiYgdHlwZW9mIG9iaigpICE9PSAnb2JqZWN0JykpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1RoZSBmaXJzdCBhcmd1bWVudCBtdXN0IGJlIGFuIG9iamVjdCcpO1xuICB9XG5cbiAgaWYgKG9iaiBpbnN0YW5jZW9mIEh0dHBQYXJhbXMpIHtcbiAgICByZXR1cm4gb2JqLnNldChgJHtwYXRofWAsIHZhbHVlKSBhcyBUO1xuICB9XG5cbiAgY29uc3QgcGF0aEFycmF5ID0gQXJyYXkuaXNBcnJheShwYXRoKVxuICAgID8gcGF0aFxuICAgIDogcGF0aFxuICAgICAgICAucmVwbGFjZSgvXFxbKFxcZCspXS9nLCAnLlskMV0nKVxuICAgICAgICAuc3BsaXQoJy4nKVxuICAgICAgICAuZmlsdGVyKChrZXkpID0+IGtleSk7XG5cbiAgbGV0IGN1cnJlbnRPYmplY3RCeUtleTogYW55ID0gaXNTaWduYWwob2JqKSA/IG9iaigpIDogb2JqO1xuICBsZXQgcHJlT2JqZWN0QnlLZXkgPSBvYmo7XG5cbiAgcGF0aEFycmF5LmZvckVhY2goKGtleSwgaW5kZXgpID0+IHtcbiAgICBpZiAoaW5kZXggPCBwYXRoQXJyYXkubGVuZ3RoIC0gMSkge1xuICAgICAgaWYgKCEoa2V5IGluIGN1cnJlbnRPYmplY3RCeUtleSkgfHwgKHR5cGVvZiBjdXJyZW50T2JqZWN0QnlLZXlba2V5XSAhPT0gJ29iamVjdCcgJiYgIWlzU2lnbmFsKGN1cnJlbnRPYmplY3RCeUtleVtrZXldKSkpIHtcbiAgICAgICAgY29uc3QgbmV4dEtleSA9IHBhdGhBcnJheVtpbmRleCArIDFdO1xuICAgICAgICBrZXkgPSBrZXkucmVwbGFjZSgvXFxbKFxcZCspXS9nLCAnJDEnKTtcbiAgICAgICAgY3VycmVudE9iamVjdEJ5S2V5W2tleV0gPSAvXFxbKFxcZCspXS9nLnRlc3QobmV4dEtleSkgPyBbXSA6IHt9O1xuICAgICAgfVxuICAgICAgY3VycmVudE9iamVjdEJ5S2V5ID0ga2V5ID8gY3VycmVudE9iamVjdEJ5S2V5W2tleV0gOiBjdXJyZW50T2JqZWN0QnlLZXk7XG4gICAgICBwcmVPYmplY3RCeUtleSA9IGN1cnJlbnRPYmplY3RCeUtleTtcbiAgICAgIGN1cnJlbnRPYmplY3RCeUtleSA9IGlzU2lnbmFsKGN1cnJlbnRPYmplY3RCeUtleSkgPyBjdXJyZW50T2JqZWN0QnlLZXkoKSA6IGN1cnJlbnRPYmplY3RCeUtleTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIGN1cnJlbnRPYmplY3RCeUtleSAhPT0gJ29iamVjdCcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBHw6FuIGdpw6EgdHLhu4sg4bufIGN14buRaSDEkcaw4budbmcgZOG6q25cbiAgICBrZXkgPSBrZXkucmVwbGFjZSgvXFxbKFxcZCspXS9nLCAnJDEnKTtcbiAgICBjb25zdCB2YWx1ZU9mS2V5ID0gY3VycmVudE9iamVjdEJ5S2V5W2tleV07XG4gICAgY29uc3QgdmFsdWVPZktleUlzU2lnbmFsID0gaXNTaWduYWwodmFsdWVPZktleSk7XG5cbiAgICBpZiAodmFsdWVPZktleUlzU2lnbmFsICYmICh0eXBlb2YgdmFsdWVPZktleSgpICE9PSAnb2JqZWN0JyB8fCB2YWx1ZU9mS2V5KCkgPT09IG51bGwpKSB7XG4gICAgICAodmFsdWVPZktleSBhcyBXcml0YWJsZVNpZ25hbDxhbnk+KS5zZXQoaXNTaWduYWwodmFsdWUpID8gdmFsdWUoKSA6IHZhbHVlKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKGlzU2lnbmFsKHByZU9iamVjdEJ5S2V5KSkge1xuICAgICAgKHByZU9iamVjdEJ5S2V5IGFzIFdyaXRhYmxlU2lnbmFsPGFueT4pLnVwZGF0ZSgoZGF0YTogYW55KSA9PiB7XG4gICAgICAgIGNvbnN0IGRhdGFPZktleSA9IGRhdGFba2V5XTtcbiAgICAgICAgaWYgKGlzTmlsKGRhdGFPZktleSkgfHwgIXZhbHVlT2ZLZXlJc1NpZ25hbCkge1xuICAgICAgICAgIGRhdGFba2V5XSA9IHZhbHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHZhbHVlT2ZLZXlJc1NpZ25hbCkge1xuICAgICAgICAgICh2YWx1ZU9mS2V5IGFzIFdyaXRhYmxlU2lnbmFsPGFueT4pLnNldChpc1NpZ25hbCh2YWx1ZSkgPyB2YWx1ZSgpIDogdmFsdWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZGF0YSkpIHtcbiAgICAgICAgICByZXR1cm4gWy4uLmRhdGFdO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7IC4uLmRhdGEgfTtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAodmFsdWVPZktleUlzU2lnbmFsKSB7XG4gICAgICAodmFsdWVPZktleSBhcyBXcml0YWJsZVNpZ25hbDxhbnk+KS5zZXQoaXNTaWduYWwodmFsdWUpID8gdmFsdWUoKSA6IHZhbHVlKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY3VycmVudE9iamVjdEJ5S2V5W2tleV0gPSB2YWx1ZTtcbiAgfSk7XG5cbiAgcmV0dXJuIG9iajtcbn07XG5cbi8qKlxuICogVOG6oW8gbeG7mXQgYuG6o24gc2FvIHPDonUgY+G7p2EgbeG7mXQgxJHhu5FpIHTGsOG7o25nIGhv4bq3YyBnacOhIHRy4buLIGLhuqV0IGvhu7NcbiAqIEBwYXJhbSBkYXRhIEThu68gbGnhu4d1IGPhuqduIHNhbyBjaMOpcFxuICogQHBhcmFtIG9wdGlvbnMgVMO5eSBjaOG7jW4gY+G6pXUgaMOsbmhcbiAqIEBwYXJhbSBvcHRpb25zLmlnbm9yZVNpZ25hbCBO4bq/dSB0cnVlLCBz4bq9IGtow7RuZyBzYW8gY2jDqXAgY8OhYyBzaWduYWwgbcOgIHRy4bqjIHbhu4Egc2lnbmFsIGfhu5FjXG4gKiBAcGFyYW0gc2VlbiBXZWFrTWFwIMSR4buDIHRoZW8gZMO1aSBjw6FjIHRoYW0gY2hp4bq/dSDEkcOjIMSRxrDhu6NjIHNhbyBjaMOpcCwgdHLDoW5oIGzhurdwIHbDtCBo4bqhbiB24bubaSBjw6FjIHRoYW0gY2hp4bq/dSB2w7JuZ1xuICogQHJldHVybnMgQuG6o24gc2FvIHPDonUgY+G7p2EgZOG7ryBsaeG7h3UgxJHhuqd1IHbDoG9cbiAqIEBleGFtcGxlXG4gKiBjb25zdCBvYmogPSB7XG4gKiAgIGE6IDEsXG4gKiAgIGI6IHsgYzogMiB9LFxuICogICBkOiBbMSwgMiwgM11cbiAqIH07XG4gKiBjb25zdCBjbG9uZSA9IGNsb25lRGVlcChvYmopO1xuICogLy8gY2xvbmUgbMOgIG3hu5l0IGLhuqNuIHNhbyBob8OgbiB0b8OgbiDEkeG7mWMgbOG6rXAgY+G7p2Egb2JqXG4gKi9cbmV4cG9ydCBjb25zdCBjbG9uZURlZXAgPSA8VCA9IGFueT4oZGF0YTogYW55LCBvcHRpb25zID0geyBpZ25vcmVTaWduYWw6IGZhbHNlIH0sIHNlZW4gPSBuZXcgV2Vha01hcCgpKTogVCA9PiB7XG4gIGlmIChkYXRhID09PSBudWxsIHx8ICh0eXBlb2YgZGF0YSAhPT0gJ29iamVjdCcgJiYgIWlzU2lnbmFsKGRhdGEpKSkge1xuICAgIHJldHVybiBkYXRhO1xuICB9XG5cbiAgaWYgKHNlZW4uaGFzKGRhdGEpKSB7XG4gICAgcmV0dXJuIHNlZW4uZ2V0KGRhdGEpO1xuICB9XG5cbiAgaWYgKGRhdGEgaW5zdGFuY2VvZiBIdHRwUGFyYW1zKSB7XG4gICAgcmV0dXJuIG5ldyBVdGlsc0h0dHBQYXJhbXNSZXF1ZXN0KHVuZGVmaW5lZCwgZGF0YSkgYXMgVDtcbiAgfVxuXG4gIGlmIChkYXRhIGluc3RhbmNlb2YgRGF0ZSkge1xuICAgIHJldHVybiBuZXcgRGF0ZShkYXRhLmdldFRpbWUoKSkgYXMgVDtcbiAgfVxuXG4gIGlmIChkYXlqcy5pc0RheWpzKGRhdGEpKSB7XG4gICAgcmV0dXJuIGdldERheWpzKHsgZGF0ZTogZGF0YS52YWx1ZU9mKCkgfSkgYXMgVDtcbiAgfVxuXG4gIGlmIChkYXRhIGluc3RhbmNlb2YgUmVnRXhwKSB7XG4gICAgcmV0dXJuIG5ldyBSZWdFeHAoZGF0YS5zb3VyY2UsIGRhdGEuZmxhZ3MpIGFzIFQ7XG4gIH1cblxuICBpZiAoZGF0YSBpbnN0YW5jZW9mIE1hcCkge1xuICAgIGNvbnN0IG1hcENvcHkgPSBuZXcgTWFwKCk7XG4gICAgc2Vlbi5zZXQoZGF0YSwgbWFwQ29weSk7XG4gICAgZGF0YS5mb3JFYWNoKCh2YWwsIGtleSkgPT4ge1xuICAgICAgbWFwQ29weS5zZXQoY2xvbmVEZWVwKGtleSwgb3B0aW9ucywgc2VlbiksIGNsb25lRGVlcCh2YWwsIG9wdGlvbnMsIHNlZW4pKTtcbiAgICB9KTtcbiAgICByZXR1cm4gbWFwQ29weSBhcyBUO1xuICB9XG5cbiAgaWYgKGRhdGEgaW5zdGFuY2VvZiBTZXQpIHtcbiAgICBjb25zdCBzZXRDb3B5ID0gbmV3IFNldCgpO1xuICAgIHNlZW4uc2V0KGRhdGEsIHNldENvcHkpO1xuICAgIGRhdGEuZm9yRWFjaCgodmFsKSA9PiB7XG4gICAgICBzZXRDb3B5LmFkZChjbG9uZURlZXAodmFsLCBvcHRpb25zLCBzZWVuKSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIHNldENvcHkgYXMgVDtcbiAgfVxuXG4gIGlmIChBcnJheS5pc0FycmF5KGRhdGEpKSB7XG4gICAgc2Vlbi5zZXQoZGF0YSwgZGF0YS5tYXAoKGl0ZW0pID0+IGNsb25lRGVlcChpdGVtLCBvcHRpb25zLCBzZWVuKSkgYXMgVCk7XG4gICAgcmV0dXJuIHNlZW4uZ2V0KGRhdGEpIGFzIFQ7XG4gIH1cblxuICBpZiAoZGF0YSBpbnN0YW5jZW9mIEZpbGUgfHwgZGF0YSBpbnN0YW5jZW9mIEJsb2IgfHwgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGRhdGEpID09PSAnW29iamVjdCBGaWxlXScpIHtcbiAgICByZXR1cm4gZGF0YSBhcyBUO1xuICB9XG4gIGlmIChkYXRhIGluc3RhbmNlb2YgVGVtcGxhdGVSZWYgfHwgZGF0YSBpbnN0YW5jZW9mIEVsZW1lbnRSZWYgfHwgZGF0YSBpbnN0YW5jZW9mIEVsZW1lbnQgfHwgZGF0YSBpbnN0YW5jZW9mIFByb21pc2UgfHwgZGF0YSBpbnN0YW5jZW9mIE9ic2VydmFibGUpIHtcbiAgICByZXR1cm4gZGF0YSBhcyBUO1xuICB9XG4gIGlmIChpc1NpZ25hbChkYXRhKSkge1xuICAgIGlmIChvcHRpb25zPy5pZ25vcmVTaWduYWwpIHtcbiAgICAgIHJldHVybiBkYXRhIGFzIFQ7XG4gICAgfVxuICAgIHNlZW4uc2V0KGRhdGEsIHNpZ25hbChjbG9uZURlZXAoZGF0YSgpLCBvcHRpb25zLCBzZWVuKSkpO1xuICAgIHJldHVybiBzZWVuLmdldChkYXRhKSBhcyBUO1xuICB9XG5cbiAgY29uc3QgcmVzdWx0OiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge307XG4gIHNlZW4uc2V0KGRhdGEsIHJlc3VsdCk7XG4gIGZvciAoY29uc3Qga2V5IGluIGRhdGEpIHtcbiAgICBjb25zdCB2YWx1ZSA9IGRhdGFba2V5XTtcbiAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBIdHRwUGFyYW1zKSB7XG4gICAgICByZXN1bHRba2V5XSA9IG5ldyBVdGlsc0h0dHBQYXJhbXNSZXF1ZXN0KHVuZGVmaW5lZCwgdmFsdWUpIGFzIFQ7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG4gICAgaWYgKGRheWpzLmlzRGF5anModmFsdWUpKSB7XG4gICAgICByZXN1bHRba2V5XSA9IGdldERheWpzKHsgZGF0ZTogdmFsdWUudmFsdWVPZigpIH0pO1xuICAgICAgY29udGludWU7XG4gICAgfVxuICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIFRlbXBsYXRlUmVmIHx8IHZhbHVlIGluc3RhbmNlb2YgRWxlbWVudFJlZiB8fCB2YWx1ZSBpbnN0YW5jZW9mIEVsZW1lbnQgfHwgdmFsdWUgaW5zdGFuY2VvZiBQcm9taXNlIHx8IHZhbHVlIGluc3RhbmNlb2YgT2JzZXJ2YWJsZSkge1xuICAgICAgcmVzdWx0W2tleV0gPSB2YWx1ZTtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cbiAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGRhdGEsIGtleSkpIHtcbiAgICAgIHJlc3VsdFtrZXldID0gY2xvbmVEZWVwKHZhbHVlLCBvcHRpb25zLCBzZWVuKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gcmVzdWx0IGFzIFQ7XG59O1xuXG4vKipcbiAqIENodXnhu4NuIMSR4buVaSBt4buZdCBt4bqjbmcgY8OhYyDEkeG7kWkgdMaw4bujbmcgdGjDoG5oIG3hu5l0IMSR4buRaSB0xrDhu6NuZyB24bubaSBraMOzYSDEkcaw4bujYyBjaOG7iSDEkeG7i25oXG4gKiBAcGFyYW0gZGF0YSBN4bqjbmcgY8OhYyDEkeG7kWkgdMaw4bujbmcgY+G6p24gY2h1eeG7g24gxJHhu5VpXG4gKiBAcGFyYW0ga2V5IFTDqm4gdGh14buZYyB0w61uaCDEkcaw4bujYyBz4butIGThu6VuZyBsw6BtIGtow7NhIHRyb25nIMSR4buRaSB0xrDhu6NuZyBr4bq/dCBxdeG6o1xuICogQHJldHVybnMgxJDhu5FpIHTGsOG7o25nIHbhu5tpIGPDoWMgZ2nDoSB0cuG7iyB04burIG3huqNuZyDEkcaw4bujYyDEkcOhbmgga2V5IHRoZW8gdGh14buZYyB0w61uaCDEkcOjIGNo4buJIMSR4buLbmhcbiAqIEBleGFtcGxlXG4gKiBjb25zdCBkYXRhID0gW1xuICogICB7IGlkOiAxLCBuYW1lOiAnSm9obicgfSxcbiAqICAgeyBpZDogMiwgbmFtZTogJ0phbmUnIH1cbiAqIF07XG4gKiBrZXlCeShkYXRhLCAnaWQnKTtcbiAqIC8vIEvhur90IHF14bqjOiB7XG4gKiAvLyAgICcxJzogeyBpZDogMSwgbmFtZTogJ0pvaG4nIH0sXG4gKiAvLyAgICcyJzogeyBpZDogMiwgbmFtZTogJ0phbmUnIH1cbiAqIC8vIH1cbiAqL1xuZXhwb3J0IGNvbnN0IGtleUJ5ID0gKGRhdGE6IEFycmF5PFRZUEVfT0JKRUNUPiwga2V5OiBzdHJpbmcpOiBUWVBFX09CSkVDVCA9PiB7XG4gIGlmICghZGF0YSB8fCAhZGF0YS5sZW5ndGggfHwgIWtleSkge1xuICAgIHJldHVybiB7fTtcbiAgfVxuICByZXR1cm4gZGF0YS5yZWR1Y2UoKGRpciwgbmV4dEl0ZW0pID0+IHtcbiAgICBjb25zdCB2YWx1ZU9mS2V5ID0gZ2V0KG5leHRJdGVtLCBrZXkpO1xuICAgIGlmICh0eXBlb2YgdmFsdWVPZktleSAhPT0gJ3N0cmluZycgJiYgdHlwZW9mIHZhbHVlT2ZLZXkgIT09ICdudW1iZXInICYmIHR5cGVvZiB2YWx1ZU9mS2V5ICE9PSAnYm9vbGVhbicpIHtcbiAgICAgIHJldHVybiBkaXI7XG4gICAgfVxuICAgIGlmICghT2JqZWN0LmtleXMoZGlyKS5pbmNsdWRlcyhgJHt2YWx1ZU9mS2V5fWApKSB7XG4gICAgICBkaXJbYCR7dmFsdWVPZktleX1gXSA9IG5leHRJdGVtO1xuICAgIH1cbiAgICByZXR1cm4gZGlyO1xuICB9LCB7fSk7XG59O1xuXG4vKipcbiAqIE5ow7NtIGPDoWMgxJHhu5FpIHTGsOG7o25nIHRyb25nIG3hu5l0IG3huqNuZyB0aMOgbmggY8OhYyBuaMOzbSBk4buxYSB0csOqbiBt4buZdCB0aHXhu5ljIHTDrW5oIGPhu6UgdGjhu4NcbiAqIEBwYXJhbSBkYXRhIE3huqNuZyBjw6FjIMSR4buRaSB0xrDhu6NuZyBj4bqnbiBuaMOzbVxuICogQHBhcmFtIGtleSBUw6puIHRodeG7mWMgdMOtbmggxJHGsOG7o2Mgc+G7rSBk4bulbmcgbMOgbSBraMOzYSBuaMOzbVxuICogQHJldHVybnMgxJDhu5FpIHTGsOG7o25nIHbhu5tpIGPDoWMgZ2nDoSB0cuG7iyB04burIG3huqNuZyDEkcaw4bujYyBuaMOzbSB0aGVvIHRodeG7mWMgdMOtbmggxJHDoyBjaOG7iSDEkeG7i25oXG4gKiBAZXhhbXBsZVxuICogY29uc3QgZGF0YSA9IFtcbiAqICAgeyBpZDogMSwgbmFtZTogJ0pvaG4nIH0sXG4gKiAgIHsgaWQ6IDIsIG5hbWU6ICdKYW5lJyB9LFxuICogICB7IGlkOiAxLCBuYW1lOiAnSm9obicgfVxuICogXTtcbiAqIGdyb3VwQnkoZGF0YSwgJ2lkJyk7XG4gKiAvLyBL4bq/dCBxdeG6ozoge1xuICogLy8gICAnMSc6IFtcbiAqIC8vICAgICB7IGlkOiAxLCBuYW1lOiAnSm9obicgfSxcbiAqIC8vICAgICB7IGlkOiAxLCBuYW1lOiAnSm9obicgfVxuICogLy8gICBdLFxuICogLy8gICAnMic6IFtcbiAqIC8vICAgICB7IGlkOiAyLCBuYW1lOiAnSmFuZScgfVxuICogLy8gfVxuICovXG5leHBvcnQgY29uc3QgZ3JvdXBCeSA9IChkYXRhOiBBcnJheTxUWVBFX09CSkVDVD4sIGtleTogc3RyaW5nKTogVFlQRV9PQkpFQ1QgPT4ge1xuICBpZiAoIWRhdGEgfHwgIWRhdGEubGVuZ3RoIHx8ICFPYmplY3Qua2V5cyhnZXQoZGF0YSwgJzAnKSkubGVuZ3RoIHx8ICFrZXkpIHtcbiAgICByZXR1cm4ge307XG4gIH1cbiAgcmV0dXJuIGRhdGEucmVkdWNlKChkaXIsIG5leHRJdGVtKSA9PiB7XG4gICAgY29uc3QgdmFsdWVPZktleSA9IGdldChuZXh0SXRlbSwga2V5KTtcbiAgICBpZiAodHlwZW9mIHZhbHVlT2ZLZXkgIT09ICdzdHJpbmcnICYmIHR5cGVvZiB2YWx1ZU9mS2V5ICE9PSAnbnVtYmVyJyAmJiB0eXBlb2YgdmFsdWVPZktleSAhPT0gJ2Jvb2xlYW4nKSB7XG4gICAgICByZXR1cm4gZGlyO1xuICAgIH1cbiAgICBpZiAoIU9iamVjdC5rZXlzKGRpcikuaW5jbHVkZXMoYCR7dmFsdWVPZktleX1gKSkge1xuICAgICAgZGlyW2Ake3ZhbHVlT2ZLZXl9YF0gPSBbXTtcbiAgICB9XG4gICAgZGlyW2Ake3ZhbHVlT2ZLZXl9YF0ucHVzaChuZXh0SXRlbSk7XG4gICAgcmV0dXJuIGRpcjtcbiAgfSwge30pO1xufTtcblxuLyoqXG4gKiBU4bqhbyBt4buZdCBt4bqjbmcgY8OhYyBz4buRIHThu6sgZ2nDoSB0cuG7iyBi4bqvdCDEkeG6p3UgxJHhur9uIGdpw6EgdHLhu4sga+G6v3QgdGjDumMgduG7m2kgYsaw4bubYyBuaOG6o3kgdMO5eSBjaOG7jW5cbiAqIEBwYXJhbSBzdGFydCBHacOhIHRy4buLIGLhuq90IMSR4bqndSBj4bunYSBkw6N5IHPhu5EuIE7hur91IGNo4buJIGPDsyBt4buZdCB0aGFtIHPhu5EsIMSRw6J5IHPhur0gbMOgIGdpw6EgdHLhu4sga+G6v3QgdGjDumMgdsOgIGdpw6EgdHLhu4sgYuG6r3QgxJHhuqd1IHPhur0gbMOgIDBcbiAqIEBwYXJhbSBlbmQgR2nDoSB0cuG7iyBr4bq/dCB0aMO6YyBj4bunYSBkw6N5IHPhu5EgKHTDuXkgY2jhu41uKVxuICogQHBhcmFtIHN0ZXAgQsaw4bubYyBuaOG6o3kgZ2nhu69hIGPDoWMgc+G7kSB0cm9uZyBkw6N5ICh0w7l5IGNo4buNbikuIE3hurdjIMSR4buLbmggbMOgIDEgbuG6v3UgZW5kID4gc3RhcnQsIC0xIG7hur91IGVuZCA8IHN0YXJ0XG4gKiBAcmV0dXJucyBN4bqjbmcgY8OhYyBz4buRIHThu6sgc3RhcnQgxJHhur9uIGVuZCB24bubaSBixrDhu5tjIG5o4bqjeSBzdGVwXG4gKiBAZXhhbXBsZVxuICogcmFuZ2UoNCk7ICAgICAgLy8gWzAsIDEsIDIsIDNdXG4gKiByYW5nZSgxLCA1KTsgICAvLyBbMSwgMiwgMywgNF1cbiAqIHJhbmdlKDAsIDIwLCA1KTsgLy8gWzAsIDUsIDEwLCAxNV1cbiAqIHJhbmdlKDUsIDIpOyAgIC8vIFs1LCA0LCAzXVxuICovXG5leHBvcnQgY29uc3QgcmFuZ2UgPSAoc3RhcnQ6IG51bWJlciwgZW5kPzogbnVtYmVyLCBzdGVwPzogbnVtYmVyKTogQXJyYXk8bnVtYmVyPiA9PiB7XG4gIGlmIChlbmQgPT09IHVuZGVmaW5lZCB8fCBlbmQgPT09IG51bGwpIHtcbiAgICBlbmQgPSBzdGFydDtcbiAgICBzdGFydCA9IDA7XG4gIH1cblxuICBpZiAoIXN0ZXApIHtcbiAgICBzdGVwID0gZW5kIDwgMCA/IC0xIDogMTtcbiAgfVxuXG4gIGlmIChlbmQgPCBzdGFydCAmJiBzdGVwID4gMCkge1xuICAgIHN0ZXAgKj0gLTE7XG4gIH1cblxuICBjb25zdCB2YWx1ZVN0YXJ0QnlTdGVwID0gc3RlcCArIHN0YXJ0O1xuICBjb25zdCBkaXJlY3Rpb24gPSBzdGFydCA8IGVuZCA/ICdhc2MnIDogJ2Rlc2MnO1xuICBpZiAoKGRpcmVjdGlvbiA9PT0gJ2FzYycgJiYgKHZhbHVlU3RhcnRCeVN0ZXAgPCBzdGFydCB8fCB2YWx1ZVN0YXJ0QnlTdGVwID4gZW5kKSkgfHwgKGRpcmVjdGlvbiA9PT0gJ2Rlc2MnICYmICh2YWx1ZVN0YXJ0QnlTdGVwID4gc3RhcnQgfHwgdmFsdWVTdGFydEJ5U3RlcCA8IGVuZCkpKSB7XG4gICAgcmV0dXJuIFtzdGFydF07XG4gIH1cblxuICBjb25zdCBhcnIgPSBuZXcgQXJyYXk8bnVtYmVyPigpO1xuXG4gIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBNYXRoLmFicyhlbmQgLSBzdGFydCk7IGluZGV4KyspIHtcbiAgICBsZXQgdmFsdWUgPSBzdGFydCArIGluZGV4ICogc3RlcDtcbiAgICBpZiAoaW5kZXggPT09IDApIHtcbiAgICAgIHZhbHVlID0gc3RhcnQ7XG4gICAgfVxuXG4gICAgaWYgKChkaXJlY3Rpb24gPT09ICdhc2MnICYmICh2YWx1ZSA8IHN0YXJ0IHx8IHZhbHVlID4gZW5kKSkgfHwgKGRpcmVjdGlvbiA9PT0gJ2Rlc2MnICYmICh2YWx1ZSA+IHN0YXJ0IHx8IHZhbHVlIDwgZW5kKSkpIHtcbiAgICAgIHJldHVybiBhcnI7XG4gICAgfVxuXG4gICAgYXJyLnB1c2godmFsdWUpO1xuICB9XG5cbiAgcmV0dXJuIGFycjtcbn07XG5cbi8qKlxuICogU28gc8OhbmggaGFpIGdpw6EgdHLhu4sgYuG6pXQga+G7syBjw7MgYuG6sW5nIG5oYXUgaGF5IGtow7RuZ1xuICogQHBhcmFtIHZhbHVlMSBHacOhIHRy4buLIHRo4bupIG5o4bqldCBj4bqnbiBzbyBzw6FuaFxuICogQHBhcmFtIHZhbHVlMiBHacOhIHRy4buLIHRo4bupIGhhaSBj4bqnbiBzbyBzw6FuaFxuICogQHBhcmFtIGV4YWN0bHlQb3NpdGlvbiBDw7Mgc28gc8OhbmggY2jDrW5oIHjDoWMgduG7iyB0csOtIGPDoWMgcGjhuqduIHThu60gdHJvbmcgbeG6o25nIGhheSBraMO0bmdcbiAqIEByZXR1cm5zIHRydWUgbuG6v3UgaGFpIGdpw6EgdHLhu4sgYuG6sW5nIG5oYXUsIGZhbHNlIG7hur91IGtow7RuZyBi4bqxbmcgbmhhdVxuICogQGV4YW1wbGVcbiAqIGlzRXF1YWwoWzEsMiwzXSwgWzEsMiwzXSk7IC8vIHRydWVcbiAqIGlzRXF1YWwoWzEsMiwzXSwgWzMsMiwxXSk7IC8vIHRydWUga2hpIGV4YWN0bHlQb3NpdGlvbiA9IGZhbHNlXG4gKiBpc0VxdWFsKFsxLDIsM10sIFszLDIsMV0pOyAvLyBmYWxzZSBraGkgZXhhY3RseVBvc2l0aW9uID0gdHJ1ZVxuICogaXNFcXVhbCh7YToxfSwge2E6MX0pOyAvLyB0cnVlXG4gKi9cbmV4cG9ydCBjb25zdCBpc0VxdWFsID0gKFxuICB2YWx1ZTE6IGFueSxcbiAgdmFsdWUyOiBhbnksXG4gIG9wdGlvbnM/OiB7XG4gICAgZXhhY3RseVBvc2l0aW9uPzogYm9vbGVhbjtcbiAgICBpZ25vcmVFeGFjdGx5RGF0YVR5cGU/OiBib29sZWFuO1xuICB9XG4pOiBib29sZWFuID0+IHtcbiAgY29uc3QgeyBleGFjdGx5UG9zaXRpb24gPSBmYWxzZSwgaWdub3JlRXhhY3RseURhdGFUeXBlID0gZmFsc2UgfSA9IG9wdGlvbnMgfHwge307XG5cbiAgaWYgKHZhbHVlMSA9PT0gdmFsdWUyIHx8ICh2YWx1ZTEgPT09IG51bGwgJiYgdmFsdWUyID09PSBudWxsKSB8fCAodmFsdWUxID09PSB1bmRlZmluZWQgJiYgdmFsdWUyID09PSB1bmRlZmluZWQpKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBpZiAoaWdub3JlRXhhY3RseURhdGFUeXBlKSB7XG4gICAgcmV0dXJuIGlzRXF1YWwoaXNOaWwodmFsdWUxKSA/IHVuZGVmaW5lZCA6IGAke3ZhbHVlMX1gLCBpc05pbCh2YWx1ZTIpID8gdW5kZWZpbmVkIDogYCR7dmFsdWUyfWApO1xuICB9XG5cbiAgLy8gSGFuZGxlIHNpZ25hbHNcbiAgd2hpbGUgKGlzU2lnbmFsKHZhbHVlMSkpIHtcbiAgICB2YWx1ZTEgPSB2YWx1ZTEoKTtcbiAgfVxuICB3aGlsZSAoaXNTaWduYWwodmFsdWUyKSkge1xuICAgIHZhbHVlMiA9IHZhbHVlMigpO1xuICB9XG5cbiAgaWYgKHR5cGVvZiB2YWx1ZTEgIT09ICdvYmplY3QnIHx8IHR5cGVvZiB2YWx1ZTIgIT09ICdvYmplY3QnIHx8IChBcnJheS5pc0FycmF5KHZhbHVlMSkgJiYgIUFycmF5LmlzQXJyYXkodmFsdWUyKSkgfHwgKCFBcnJheS5pc0FycmF5KHZhbHVlMSkgJiYgQXJyYXkuaXNBcnJheSh2YWx1ZTIpKSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmIChBcnJheS5pc0FycmF5KHZhbHVlMSkpIHtcbiAgICBpZiAodmFsdWUxLmxlbmd0aCAhPT0gdmFsdWUyLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBpZiAoIWV4YWN0bHlQb3NpdGlvbikge1xuICAgICAgcmV0dXJuICF2YWx1ZTEuc29tZSgoaXRlbSkgPT4gIXZhbHVlMi5pbmNsdWRlcyhpdGVtKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuICF2YWx1ZTEuc29tZSgoaXRlbSwgaW5kZXgpID0+ICFpc0VxdWFsKGl0ZW0sIHZhbHVlMltpbmRleF0sIG9wdGlvbnMpKTtcbiAgfVxuXG4gIGlmIChPYmplY3Qua2V5cyh2YWx1ZTEpLmxlbmd0aCAhPT0gT2JqZWN0LmtleXModmFsdWUyKS5sZW5ndGgpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgcmV0dXJuICFPYmplY3Qua2V5cyh2YWx1ZTEpLnNvbWUoKGtleSkgPT4gIWlzRXF1YWwodmFsdWUxW2tleV0sIHZhbHVlMltrZXldLCBvcHRpb25zKSk7XG59O1xuXG4vKipcbiAqIExv4bqhaSBi4buPIGPDoWMgcGjhuqduIHThu60gdHLDuW5nIGzhurdwIHRyb25nIG3huqNuZyBk4buxYSB0csOqbiBt4buZdCB0aHXhu5ljIHTDrW5oIGNo4buJIMSR4buLbmhcbiAqIEBwYXJhbSBkYXRhIE3huqNuZyBk4buvIGxp4buHdSBj4bqnbiB44butIGzDvVxuICogQHBhcmFtIGtleSBUw6puIHRodeG7mWMgdMOtbmggZMO5bmcgxJHhu4Mgc28gc8OhbmggdHLDuW5nIGzhurdwLiBO4bq/dSBraMO0bmcgY8OzIGtleSB0aMOsIHNvIHPDoW5oIHRy4buxYyB0aeG6v3AgZ2nDoSB0cuG7i1xuICogQHJldHVybnMgTeG6o25nIG3hu5tpIGNo4bupYSBjw6FjIHBo4bqnbiB04butIGtow7RuZyB0csO5bmcgbOG6t3BcbiAqIEBleGFtcGxlXG4gKiBjb25zdCBhcnIgPSBbXG4gKiAgIHsgaWQ6IDEsIG5hbWU6ICdBJyB9LFxuICogICB7IGlkOiAyLCBuYW1lOiAnQicgfSxcbiAqICAgeyBpZDogMSwgbmFtZTogJ0MnIH1cbiAqIF07XG4gKiB1bmlxQnkoYXJyLCAnaWQnKTsgLy8gW3sgaWQ6IDEsIG5hbWU6ICdBJyB9LCB7IGlkOiAyLCBuYW1lOiAnQicgfV1cbiAqXG4gKiBjb25zdCBudW1iZXJzID0gWzEsIDIsIDIsIDMsIDNdO1xuICogdW5pcUJ5KG51bWJlcnMpOyAvLyBbMSwgMiwgM11cbiAqXG4gKiBjb25zdCBudW1iZXJzU2lnbmFsID0gW3NpZ25hbCgxKSwgc2lnbmFsKDIpLCBzaWduYWwoMyksIHNpZ25hbCgyKSwgc2lnbmFsKDUpLCBzaWduYWwoNCksIHNpZ25hbCgxKSwgc2lnbmFsKDYpLCBzaWduYWwoNyksIHNpZ25hbCg2KV07XG4gKiB1bmlxQnkobnVtYmVyc1NpZ25hbCk7IC8vIFtzaWduYWwoMSksIHNpZ25hbCgyKSwgc2lnbmFsKDMpLCBzaWduYWwoNSksIHNpZ25hbCg0KSwgc2lnbmFsKDYpLCBzaWduYWwoNyldXG4gKi9cbmV4cG9ydCBjb25zdCB1bmlxQnkgPSA8VD4oZGF0YTogQXJyYXk8VD4sIGtleT86IHN0cmluZyk6IEFycmF5PFQ+ID0+IHtcbiAgaWYgKCFrZXkgfHwgIWRhdGE/Lmxlbmd0aCB8fCB0eXBlb2YgZ2V0KGRhdGEsICcwJykgIT09ICdvYmplY3QnKSB7XG4gICAgLy8gWOG7rSBsw70gbeG6o25nIGNo4bupYSBzaWduYWwgdmFsdWVzXG4gICAgaWYgKGRhdGFbMF0gJiYgaXNTaWduYWwoZGF0YVswXSkpIHtcbiAgICAgIGNvbnN0IHNlZW4gPSBuZXcgU2V0PHN0cmluZz4oKTtcblxuICAgICAgcmV0dXJuIGRhdGEuZmlsdGVyKChpdGVtKSA9PiB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gYCR7Z2V0KGl0ZW0sICcnKX1gO1xuICAgICAgICBpZiAoc2Vlbi5oYXModmFsdWUpKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHNlZW4uYWRkKHZhbHVlKTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9KTtcbiAgICB9XG4gICAgLy8gWOG7rSBsw70gbeG6o25nIHByaW1pdGl2ZSB2YWx1ZXNcbiAgICByZXR1cm4gQXJyYXkuZnJvbShuZXcgU2V0KGRhdGEpKTtcbiAgfVxuXG4gIGNvbnN0IGRhdGFVbmlxdWUgPSBrZXlCeShkYXRhIGFzIEFycmF5PFJlY29yZDxzdHJpbmcsIGFueT4+LCBrZXkpO1xuXG4gIHJldHVybiBPYmplY3Qua2V5cyhkYXRhVW5pcXVlKS5tYXAoKGtleSkgPT4gZGF0YVVuaXF1ZVtrZXldKTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZW5lcmF0ZUludGVyZmFjZSA9IChvYmo6IGFueSwgaW50ZXJmYWNlTmFtZTogc3RyaW5nKTogc3RyaW5nID0+IHtcbiAgY29uc3QgZ2VuZXJhdGVUeXBlID0gKHZhbHVlOiBhbnkpOiBzdHJpbmcgPT4ge1xuICAgIGlmICh2YWx1ZSA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuICdudWxsJztcbiAgICB9XG4gICAgY29uc3QgdHlwZSA9IHR5cGVvZiB2YWx1ZTtcblxuICAgIGlmICh0eXBlID09PSAnc3RyaW5nJykge1xuICAgICAgcmV0dXJuICdzdHJpbmcnO1xuICAgIH1cbiAgICBpZiAodHlwZSA9PT0gJ251bWJlcicpIHtcbiAgICAgIHJldHVybiAnbnVtYmVyJztcbiAgICB9XG4gICAgaWYgKHR5cGUgPT09ICdib29sZWFuJykge1xuICAgICAgcmV0dXJuICdib29sZWFuJztcbiAgICB9XG4gICAgaWYgKHR5cGUgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICByZXR1cm4gJ2FueSc7XG4gICAgfVxuXG4gICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgRGF0ZSkge1xuICAgICAgcmV0dXJuICdEYXRlJztcbiAgICB9XG5cbiAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBSZWdFeHApIHtcbiAgICAgIHJldHVybiAnUmVnRXhwJztcbiAgICB9XG5cbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgIGlmICh2YWx1ZS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgcmV0dXJuICdBcnJheTxhbnk+JztcbiAgICAgIH1cbiAgICAgIHJldHVybiBgQXJyYXk8JHtnZW5lcmF0ZVR5cGUodmFsdWVbMF0pfT5gO1xuICAgIH1cblxuICAgIGlmICh0eXBlID09PSAnb2JqZWN0Jykge1xuICAgICAgbGV0IGludGVyZmFjZVN0ciA9ICd7XFxuJztcbiAgICAgIGZvciAoY29uc3Qga2V5IGluIHZhbHVlKSB7XG4gICAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodmFsdWUsIGtleSkpIHtcbiAgICAgICAgICBjb25zdCB2YWx1ZVR5cGUgPSBnZW5lcmF0ZVR5cGUodmFsdWVba2V5XSk7XG4gICAgICAgICAgaW50ZXJmYWNlU3RyICs9IGAgICR7a2V5fTogJHt2YWx1ZVR5cGV9O1xcbmA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGludGVyZmFjZVN0ciArPSAnfSc7XG4gICAgICByZXR1cm4gaW50ZXJmYWNlU3RyO1xuICAgIH1cblxuICAgIHJldHVybiAnYW55JztcbiAgfTtcblxuICBjb25zdCBpbnRlcmZhY2VTdHIgPSBgaW50ZXJmYWNlICR7aW50ZXJmYWNlTmFtZX0gJHtnZW5lcmF0ZVR5cGUob2JqKX1gO1xuICByZXR1cm4gaW50ZXJmYWNlU3RyO1xufTtcbiJdfQ==
|
package/esm2022/http-params.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
-
import { HttpParams } from
|
|
2
|
+
import { HttpParams } from '@angular/common/http';
|
|
3
3
|
export const UtilsHttpParamsRequestInstance = (options, instance) => {
|
|
4
4
|
return new UtilsHttpParamsRequest(options, instance);
|
|
5
5
|
};
|
|
@@ -77,4 +77,4 @@ export class UtilsHttpParamsRequest extends HttpParams {
|
|
|
77
77
|
// "pathVariable-location": '12',
|
|
78
78
|
// "pathVariable-name": '124',
|
|
79
79
|
// };
|
|
80
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1wYXJhbXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzLXVpL3V0aWxzL3NyYy9odHRwLXBhcmFtcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQ7QUFDdkQsT0FBTyxFQUFzQixVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUV0RSxNQUFNLENBQUMsTUFBTSw4QkFBOEIsR0FBRyxDQUFPLE9BQWlDLEVBQUUsUUFBcUIsRUFBZ0MsRUFBRTtJQUM3SSxPQUFPLElBQUksc0JBQXNCLENBQU8sT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0FBQzdELENBQUMsQ0FBQztBQUVGLE1BQU0sT0FBTyxzQkFBK0MsU0FBUSxVQUFVO0lBQ2xFLE1BQU0sR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDO0lBRXBDLFlBQVksT0FBaUMsRUFBRSxRQUFxQjtRQUNsRSxLQUFLLENBQUMsT0FBYyxDQUFDLENBQUM7UUFFdEIsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2QsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUV0QyxPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksUUFBUSxZQUFZLHNCQUFzQixFQUFFLENBQUM7WUFDL0MsSUFBSSxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUM7WUFFckMsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLFFBQVEsWUFBWSxVQUFVLEVBQUUsQ0FBQztZQUNuQyxJQUFJLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQztZQUV2QixPQUFPO1FBQ1QsQ0FBQztJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxXQUFXLENBQUMsUUFBb0I7UUFDOUIsSUFBSSxRQUFRLFlBQVksc0JBQXNCLEVBQUUsQ0FBQztZQUMvQyxJQUFJLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUVyQyxPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksUUFBUSxZQUFZLFVBQVUsRUFBRSxDQUFDO1lBQ25DLElBQUksQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDO1lBRXZCLE9BQU87UUFDVCxDQUFDO0lBQ0gsQ0FBQztJQUVRLEdBQUcsQ0FBQyxLQUFhLEVBQUUsS0FBZ0M7UUFDMUQsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFNUMsT0FBTyxJQUE4QixDQUFDO0lBQ3hDLENBQUM7SUFFUSxHQUFHLENBQUMsS0FBYTtRQUN4QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFUSxHQUFHLENBQUMsS0FBYTtRQUN4QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFUSxNQUFNLENBQUMsS0FBYTtRQUMzQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFUSxJQUFJO1FBQ1gsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFUSxNQUFNLENBQUMsS0FBYSxFQUFFLEtBQWdDO1FBQzdELElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRS9DLE9BQU8sSUFBa0IsQ0FBQztJQUM1QixDQUFDO0lBRVEsU0FBUyxDQUFDLE1BQWlHO1FBQ2xILElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFNUMsT0FBTyxJQUFrQixDQUFDO0lBQzVCLENBQUM7SUFFUSxNQUFNLENBQUMsS0FBYSxFQUFFLEtBQWlDO1FBQzlELElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRS9DLE9BQU8sSUFBOEIsQ0FBQztJQUN4QyxDQUFDO0lBRVEsUUFBUTtRQUNmLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0NBQ0Y7QUFpQkQsaUNBQWlDO0FBRWpDLHFCQUFxQjtBQUNyQixrQkFBa0I7QUFDbEIsaUJBQWlCO0FBQ2pCLHNCQUFzQjtBQUN0QixJQUFJO0FBRUosK0NBQStDO0FBRS9DLGlCQUFpQjtBQUNqQiwyQkFBMkI7QUFDM0IsbUNBQW1DO0FBQ25DLGdDQUFnQztBQUNoQyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuaW1wb3J0IHsgSHR0cFBhcmFtZXRlckNvZGVjLCBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuXG5leHBvcnQgY29uc3QgVXRpbHNIdHRwUGFyYW1zUmVxdWVzdEluc3RhbmNlID0gPFR5cGU+KG9wdGlvbnM/OiBIdHRwUGFyYW1zT3B0aW9uczxUeXBlPiwgaW5zdGFuY2U/OiBIdHRwUGFyYW1zKTogVXRpbHNIdHRwUGFyYW1zUmVxdWVzdDxUeXBlPiA9PiB7XG4gIHJldHVybiBuZXcgVXRpbHNIdHRwUGFyYW1zUmVxdWVzdDxUeXBlPihvcHRpb25zLCBpbnN0YW5jZSk7XG59O1xuXG5leHBvcnQgY2xhc3MgVXRpbHNIdHRwUGFyYW1zUmVxdWVzdDxUeXBlID0geyBwZW06IHN0cmluZyB9PiBleHRlbmRzIEh0dHBQYXJhbXMge1xuICBwcm90ZWN0ZWQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcblxuICBjb25zdHJ1Y3RvcihvcHRpb25zPzogSHR0cFBhcmFtc09wdGlvbnM8VHlwZT4sIGluc3RhbmNlPzogSHR0cFBhcmFtcykge1xuICAgIHN1cGVyKG9wdGlvbnMgYXMgYW55KTtcblxuICAgIGlmICghaW5zdGFuY2UpIHtcbiAgICAgIHRoaXMucGFyYW1zID0gbmV3IEh0dHBQYXJhbXMob3B0aW9ucyk7XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoaW5zdGFuY2UgaW5zdGFuY2VvZiBVdGlsc0h0dHBQYXJhbXNSZXF1ZXN0KSB7XG4gICAgICB0aGlzLnBhcmFtcyA9IGluc3RhbmNlLmdldEluc3RhbmNlKCk7XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoaW5zdGFuY2UgaW5zdGFuY2VvZiBIdHRwUGFyYW1zKSB7XG4gICAgICB0aGlzLnBhcmFtcyA9IGluc3RhbmNlO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuICB9XG5cbiAgZ2V0SW5zdGFuY2UoKTogSHR0cFBhcmFtcyB7XG4gICAgcmV0dXJuIHRoaXMucGFyYW1zO1xuICB9XG5cbiAgc2V0SW5zdGFuY2UoaW5zdGFuY2U6IEh0dHBQYXJhbXMpIHtcbiAgICBpZiAoaW5zdGFuY2UgaW5zdGFuY2VvZiBVdGlsc0h0dHBQYXJhbXNSZXF1ZXN0KSB7XG4gICAgICB0aGlzLnBhcmFtcyA9IGluc3RhbmNlLmdldEluc3RhbmNlKCk7XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoaW5zdGFuY2UgaW5zdGFuY2VvZiBIdHRwUGFyYW1zKSB7XG4gICAgICB0aGlzLnBhcmFtcyA9IGluc3RhbmNlO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuICB9XG5cbiAgb3ZlcnJpZGUgc2V0KHBhcmFtOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuKTogVXRpbHNIdHRwUGFyYW1zUmVxdWVzdCB7XG4gICAgdGhpcy5wYXJhbXMgPSB0aGlzLnBhcmFtcy5zZXQocGFyYW0sIHZhbHVlKTtcblxuICAgIHJldHVybiB0aGlzIGFzIFV0aWxzSHR0cFBhcmFtc1JlcXVlc3Q7XG4gIH1cblxuICBvdmVycmlkZSBoYXMocGFyYW06IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnBhcmFtcy5oYXMocGFyYW0pO1xuICB9XG5cbiAgb3ZlcnJpZGUgZ2V0KHBhcmFtOiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5wYXJhbXMuZ2V0KHBhcmFtKTtcbiAgfVxuXG4gIG92ZXJyaWRlIGdldEFsbChwYXJhbTogc3RyaW5nKTogc3RyaW5nW10gfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5wYXJhbXMuZ2V0QWxsKHBhcmFtKTtcbiAgfVxuXG4gIG92ZXJyaWRlIGtleXMoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiB0aGlzLnBhcmFtcy5rZXlzKCk7XG4gIH1cblxuICBvdmVycmlkZSBhcHBlbmQocGFyYW06IHN0cmluZywgdmFsdWU6IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4pOiBIdHRwUGFyYW1zIHtcbiAgICB0aGlzLnBhcmFtcyA9IHRoaXMucGFyYW1zLmFwcGVuZChwYXJhbSwgdmFsdWUpO1xuXG4gICAgcmV0dXJuIHRoaXMgYXMgSHR0cFBhcmFtcztcbiAgfVxuXG4gIG92ZXJyaWRlIGFwcGVuZEFsbChwYXJhbXM6IHsgW3BhcmFtOiBzdHJpbmddOiBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuIHwgUmVhZG9ubHlBcnJheTxzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuPiB9KTogSHR0cFBhcmFtcyB7XG4gICAgdGhpcy5wYXJhbXMgPSB0aGlzLnBhcmFtcy5hcHBlbmRBbGwocGFyYW1zKTtcblxuICAgIHJldHVybiB0aGlzIGFzIEh0dHBQYXJhbXM7XG4gIH1cblxuICBvdmVycmlkZSBkZWxldGUocGFyYW06IHN0cmluZywgdmFsdWU/OiBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuKTogVXRpbHNIdHRwUGFyYW1zUmVxdWVzdCB7XG4gICAgdGhpcy5wYXJhbXMgPSB0aGlzLnBhcmFtcy5kZWxldGUocGFyYW0sIHZhbHVlKTtcblxuICAgIHJldHVybiB0aGlzIGFzIFV0aWxzSHR0cFBhcmFtc1JlcXVlc3Q7XG4gIH1cblxuICBvdmVycmlkZSB0b1N0cmluZygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnBhcmFtcy50b1N0cmluZygpO1xuICB9XG59XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBIdHRwUGFyYW1zT3B0aW9uczxUeXBlPiB7XG4gIGZyb21TdHJpbmc/OiBzdHJpbmc7XG4gIGZyb21PYmplY3Q/OiBUWVBFX0ZST01fT0JKRUNUPFR5cGU+O1xuICBlbmNvZGVyPzogSHR0cFBhcmFtZXRlckNvZGVjO1xufVxuZXhwb3J0IHR5cGUgR0VUX1BBVEhfVkFSSUFCTEU8VHlwZVBhdGgsIFR5cGVPdGhlciA9IHVua25vd24+ID0ge1xuICBbUHJvcGVydHkgaW4ga2V5b2YgVHlwZVBhdGggYXMgYHBhdGhWYXJpYWJsZS0ke0xvd2VyY2FzZTxzdHJpbmcgJiBQcm9wZXJ0eT59YF06IFR5cGVQYXRoW1Byb3BlcnR5XTtcbn0gJiBUeXBlT3RoZXI7XG5cbnR5cGUgVFlQRV9GUk9NX09CSkVDVDxUeXBlPiA9IFR5cGUgZXh0ZW5kcyB1bmRlZmluZWQgfCBudWxsXG4gID8geyBwZW06IHN0cmluZyB9XG4gIDogeyBwZW0/OiBzdHJpbmcgfSAmIHtcbiAgICAgIFtQcm9wZXJ0eSBpbiBrZXlvZiBUeXBlXT86IFR5cGVbUHJvcGVydHldO1xuICAgIH07XG5cbi8vIERlbW8gc3UgZHVuZyBHRVRfUEFUSF9WQVJJQUJMRVxuXG4vLyBpbnRlcmZhY2UgUGVyc29uIHtcbi8vICAgbmFtZTogc3RyaW5nO1xuLy8gICBhZ2U6IG51bWJlcjtcbi8vICAgbG9jYXRpb246IHN0cmluZztcbi8vIH1cblxuLy8gdHlwZSBjID0gR0VUX1BBVEhfVkFSSUFCTEU8UGVyc29uLCB1bmtub3duPjtcblxuLy8gY29uc3QgYTogYyA9IHtcbi8vICAgXCJwYXRoVmFyaWFibGUtYWdlXCI6IDEsXG4vLyAgIFwicGF0aFZhcmlhYmxlLWxvY2F0aW9uXCI6ICcxMicsXG4vLyAgIFwicGF0aFZhcmlhYmxlLW5hbWVcIjogJzEyNCcsXG4vLyB9O1xuIl19
|
package/esm2022/index.mjs
CHANGED
|
@@ -26,4 +26,4 @@ export * from './uri';
|
|
|
26
26
|
export * from './format-text';
|
|
27
27
|
export * from './get-smart-axis-scale';
|
|
28
28
|
export * from './random';
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzLXVpL3V0aWxzL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLE9BQU8sQ0FBQztBQUN0QixjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLE9BQU8sQ0FBQztBQUN0QixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsVUFBVSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9kb20nO1xuZXhwb3J0ICogZnJvbSAnLi91cmwtc2VhcmNoLXBhcmFtcyc7XG5leHBvcnQgKiBmcm9tICcuL3V1aWQnO1xuZXhwb3J0ICogZnJvbSAnLi9oZWxwZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vY29sb3InO1xuZXhwb3J0ICogZnJvbSAnLi9jcnlwdG8nO1xuZXhwb3J0ICogZnJvbSAnLi9jcnlwdG8tM3JkJztcbmV4cG9ydCAqIGZyb20gJy4va2V5LWNvZGUnO1xuZXhwb3J0ICogZnJvbSAnLi9odHRwLXBhcmFtcyc7XG5leHBvcnQgKiBmcm9tICcuL2xhbmd1YWdlJztcbmV4cG9ydCAqIGZyb20gJy4va2V5LWNhY2hlJztcbmV4cG9ydCAqIGZyb20gJy4vY2FjaGUnO1xuZXhwb3J0ICogZnJvbSAnLi9mb3JtYXQtbnVtYmVyJztcbmV4cG9ydCAqIGZyb20gJy4vY29tbXVuaWNhdGUtbWljcm8nO1xuZXhwb3J0ICogZnJvbSAnLi9mdW5jdGlvbi1jaGVjay1lbWJlZC1mcmFtZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbnN0YW50cyc7XG5leHBvcnQgKiBmcm9tICcuL3BhdHRlcm4nO1xuZXhwb3J0ICogZnJvbSAnLi94c3MtZmlsdGVyJztcbmV4cG9ydCAqIGZyb20gJy4vdHdvLXdheS1zaWduYWwtb2JqZWN0JztcbmV4cG9ydCAqIGZyb20gJy4vZGF0ZSc7XG5leHBvcnQgKiBmcm9tICcuL2Rvd25sb2FkJztcbmV4cG9ydCAqIGZyb20gJy4vYmFzZTY0JztcbmV4cG9ydCAqIGZyb20gJy4vaW5qZWN0LXRva2VuJztcbmV4cG9ydCAqIGZyb20gJy4vZmlsZSc7XG5leHBvcnQgKiBmcm9tICcuL3VyaSc7XG5leHBvcnQgKiBmcm9tICcuL2Zvcm1hdC10ZXh0JztcbmV4cG9ydCAqIGZyb20gJy4vZ2V0LXNtYXJ0LWF4aXMtc2NhbGUnO1xuZXhwb3J0ICogZnJvbSAnLi9yYW5kb20nO1xuIl19
|
package/esm2022/inject-token.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { InjectionToken } from
|
|
1
|
+
import { InjectionToken } from '@angular/core';
|
|
2
2
|
export const LINK_IMAGE_ERROR_TOKEN_INJECT = new InjectionToken('LINK_IMAGE_ERROR_TOKEN_INJECT');
|
|
3
3
|
export const PROCESS_BAR_STANDARD_CONFIG_DEFAULT_TOKEN_INJECT = new InjectionToken('PROCESS_BAR_STANDARD_CONFIG_DEFAULT_TOKEN_INJECT');
|
|
4
4
|
export const PROCESS_BAR_STEPS_CONFIG_DEFAULT_TOKEN_INJECT = new InjectionToken('PROCESS_BAR_STEPS_CONFIG_DEFAULT_TOKEN_INJECT');
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5qZWN0LXRva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicy11aS91dGlscy9zcmMvaW5qZWN0LXRva2VuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0MsTUFBTSxDQUFDLE1BQU0sNkJBQTZCLEdBQUcsSUFBSSxjQUFjLENBQVMsK0JBQStCLENBQUMsQ0FBQztBQUN6RyxNQUFNLENBQUMsTUFBTSxnREFBZ0QsR0FBRyxJQUFJLGNBQWMsQ0FBUyxrREFBa0QsQ0FBQyxDQUFDO0FBQy9JLE1BQU0sQ0FBQyxNQUFNLDZDQUE2QyxHQUFHLElBQUksY0FBYyxDQUFTLCtDQUErQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgY29uc3QgTElOS19JTUFHRV9FUlJPUl9UT0tFTl9JTkpFQ1QgPSBuZXcgSW5qZWN0aW9uVG9rZW48c3RyaW5nPignTElOS19JTUFHRV9FUlJPUl9UT0tFTl9JTkpFQ1QnKTtcbmV4cG9ydCBjb25zdCBQUk9DRVNTX0JBUl9TVEFOREFSRF9DT05GSUdfREVGQVVMVF9UT0tFTl9JTkpFQ1QgPSBuZXcgSW5qZWN0aW9uVG9rZW48c3RyaW5nPignUFJPQ0VTU19CQVJfU1RBTkRBUkRfQ09ORklHX0RFRkFVTFRfVE9LRU5fSU5KRUNUJyk7XG5leHBvcnQgY29uc3QgUFJPQ0VTU19CQVJfU1RFUFNfQ09ORklHX0RFRkFVTFRfVE9LRU5fSU5KRUNUID0gbmV3IEluamVjdGlvblRva2VuPHN0cmluZz4oJ1BST0NFU1NfQkFSX1NURVBTX0NPTkZJR19ERUZBVUxUX1RPS0VOX0lOSkVDVCcpO1xuIl19
|
package/esm2022/key-cache.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
-
import { HttpParams } from
|
|
3
|
-
import { md5 } from
|
|
4
|
-
import { get } from
|
|
2
|
+
import { HttpParams } from '@angular/common/http';
|
|
3
|
+
import { md5 } from './crypto';
|
|
4
|
+
import { get } from './helpers';
|
|
5
5
|
export const getKeyCacheByArrayObject = (keyCache, argumentsValue) => {
|
|
6
6
|
if (!keyCache || !argumentsValue) {
|
|
7
7
|
return '';
|
|
@@ -13,8 +13,8 @@ export const getKeyCacheByArrayObject = (keyCache, argumentsValue) => {
|
|
|
13
13
|
keyBuild = `${keyBuild}${JSON.stringify(item)}`;
|
|
14
14
|
return;
|
|
15
15
|
}
|
|
16
|
-
const keys = (item instanceof HttpParams ? item.keys() : Object.keys(item)).sort((
|
|
17
|
-
keys.forEach(key => {
|
|
16
|
+
const keys = (item instanceof HttpParams ? item.keys() : Object.keys(item)).sort((str1, str2) => str1.localeCompare(str2));
|
|
17
|
+
keys.forEach((key) => {
|
|
18
18
|
if (key.toLocaleLowerCase() === 'pem') {
|
|
19
19
|
return;
|
|
20
20
|
}
|
|
@@ -28,4 +28,4 @@ export const getKeyCacheByArrayObject = (keyCache, argumentsValue) => {
|
|
|
28
28
|
const keyCacheMD5 = md5(keyCache);
|
|
29
29
|
return `${keyCacheMD5}-${md5(`${keyCacheMD5}-${keyCachePlus}`)}`;
|
|
30
30
|
};
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5LWNhY2hlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicy11aS91dGlscy9zcmMva2V5LWNhY2hlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUN2RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUMvQixPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRWhDLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLENBQUMsUUFBZ0IsRUFBRSxjQUErQixFQUFVLEVBQUU7SUFDcEcsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ2pDLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUNELElBQUksUUFBUSxHQUFHLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDO0lBRTNFLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFTLEVBQUUsRUFBRTtRQUNuQyxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQzdCLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUN4QixRQUFRLEdBQUcsR0FBRyxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUNoRCxPQUFPO1lBQ1QsQ0FBQztZQUNELE1BQU0sSUFBSSxHQUFHLENBQUMsSUFBSSxZQUFZLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBWSxFQUFFLElBQVksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBa0IsQ0FBQztZQUU1SixJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQ25CLElBQUksR0FBRyxDQUFDLGlCQUFpQixFQUFFLEtBQUssS0FBSyxFQUFFLENBQUM7b0JBQ3RDLE9BQU87Z0JBQ1QsQ0FBQztnQkFDRCxRQUFRLEdBQUcsR0FBRyxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUM1RCxDQUFDLENBQUMsQ0FBQztZQUNILE9BQU87UUFDVCxDQUFDO1FBQ0QsUUFBUSxHQUFHLEdBQUcsUUFBUSxHQUFHLElBQUksRUFBRSxDQUFDO0lBQ2xDLENBQUMsQ0FBQyxDQUFDO0lBRUgsTUFBTSxZQUFZLEdBQUcsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ25DLE1BQU0sV0FBVyxHQUFHLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUVsQyxPQUFPLEdBQUcsV0FBVyxJQUFJLEdBQUcsQ0FBQyxHQUFHLFdBQVcsSUFBSSxZQUFZLEVBQUUsQ0FBQyxFQUFFLENBQUM7QUFDbkUsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuaW1wb3J0IHsgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IG1kNSB9IGZyb20gJy4vY3J5cHRvJztcbmltcG9ydCB7IGdldCB9IGZyb20gJy4vaGVscGVycyc7XG5cbmV4cG9ydCBjb25zdCBnZXRLZXlDYWNoZUJ5QXJyYXlPYmplY3QgPSAoa2V5Q2FjaGU6IHN0cmluZywgYXJndW1lbnRzVmFsdWU/OiBBcnJheTx1bmtub3duPik6IHN0cmluZyA9PiB7XG4gIGlmICgha2V5Q2FjaGUgfHwgIWFyZ3VtZW50c1ZhbHVlKSB7XG4gICAgcmV0dXJuICcnO1xuICB9XG4gIGxldCBrZXlCdWlsZCA9IGAke0pTT04uc3RyaW5naWZ5KGFyZ3VtZW50c1ZhbHVlLnNsaWNlKDEpKX0ta2V5LWNhY2hlLXBsdXNgO1xuXG4gIGFyZ3VtZW50c1ZhbHVlLmZvckVhY2goKGl0ZW06IGFueSkgPT4ge1xuICAgIGlmICh0eXBlb2YgaXRlbSA9PT0gJ29iamVjdCcpIHtcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KGl0ZW0pKSB7XG4gICAgICAgIGtleUJ1aWxkID0gYCR7a2V5QnVpbGR9JHtKU09OLnN0cmluZ2lmeShpdGVtKX1gO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBjb25zdCBrZXlzID0gKGl0ZW0gaW5zdGFuY2VvZiBIdHRwUGFyYW1zID8gaXRlbS5rZXlzKCkgOiBPYmplY3Qua2V5cyhpdGVtKSkuc29ydCgoc3RyMTogc3RyaW5nLCBzdHIyOiBzdHJpbmcpID0+IHN0cjEubG9jYWxlQ29tcGFyZShzdHIyKSkgYXMgQXJyYXk8c3RyaW5nPjtcblxuICAgICAga2V5cy5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgICAgaWYgKGtleS50b0xvY2FsZUxvd2VyQ2FzZSgpID09PSAncGVtJykge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBrZXlCdWlsZCA9IGAke2tleUJ1aWxkfSR7SlNPTi5zdHJpbmdpZnkoZ2V0KGl0ZW0sIGtleSkpfWA7XG4gICAgICB9KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAga2V5QnVpbGQgPSBgJHtrZXlCdWlsZH0ke2l0ZW19YDtcbiAgfSk7XG5cbiAgY29uc3Qga2V5Q2FjaGVQbHVzID0gbWQ1KGtleUJ1aWxkKTtcbiAgY29uc3Qga2V5Q2FjaGVNRDUgPSBtZDUoa2V5Q2FjaGUpO1xuXG4gIHJldHVybiBgJHtrZXlDYWNoZU1ENX0tJHttZDUoYCR7a2V5Q2FjaGVNRDV9LSR7a2V5Q2FjaGVQbHVzfWApfWA7XG59O1xuIl19
|
package/esm2022/key-code.mjs
CHANGED
|
@@ -119,4 +119,4 @@ export class UtilsKeyCodeConstant {
|
|
|
119
119
|
static SINGLE_QUOTE = 222;
|
|
120
120
|
static MAC_META = 224;
|
|
121
121
|
}
|
|
122
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5LWNvZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzLXVpL3V0aWxzL3NyYy9rZXktY29kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQWdCLG9CQUFvQjtJQUN0QyxNQUFNLENBQVUsU0FBUyxHQUFHLENBQUMsQ0FBQztJQUM5QixNQUFNLENBQVUsU0FBUyxHQUFHLENBQUMsQ0FBQztJQUM5QixNQUFNLENBQVUsR0FBRyxHQUFHLENBQUMsQ0FBQztJQUN4QixNQUFNLENBQVUsVUFBVSxHQUFHLEVBQUUsQ0FBQztJQUNoQyxNQUFNLENBQVUsS0FBSyxHQUFHLEVBQUUsQ0FBQztJQUMzQixNQUFNLENBQVUsS0FBSyxHQUFHLEVBQUUsQ0FBQztJQUMzQixNQUFNLENBQVUsT0FBTyxHQUFHLEVBQUUsQ0FBQztJQUM3QixNQUFNLENBQVUsR0FBRyxHQUFHLEVBQUUsQ0FBQztJQUN6QixNQUFNLENBQVUsS0FBSyxHQUFHLEVBQUUsQ0FBQztJQUMzQixNQUFNLENBQVUsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUMvQixNQUFNLENBQVUsTUFBTSxHQUFHLEVBQUUsQ0FBQztJQUM1QixNQUFNLENBQVUsS0FBSyxHQUFHLEVBQUUsQ0FBQztJQUMzQixNQUFNLENBQVUsT0FBTyxHQUFHLEVBQUUsQ0FBQztJQUM3QixNQUFNLENBQVUsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUMvQixNQUFNLENBQVUsR0FBRyxHQUFHLEVBQUUsQ0FBQztJQUN6QixNQUFNLENBQVUsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUMxQixNQUFNLENBQVUsVUFBVSxHQUFHLEVBQUUsQ0FBQztJQUNoQyxNQUFNLENBQVUsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUM5QixNQUFNLENBQVUsV0FBVyxHQUFHLEVBQUUsQ0FBQztJQUNqQyxNQUFNLENBQVUsVUFBVSxHQUFHLEVBQUUsQ0FBQztJQUNoQyxNQUFNLENBQVUsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUMvQixNQUFNLENBQVUsWUFBWSxHQUFHLEVBQUUsQ0FBQztJQUNsQyxNQUFNLENBQVUsTUFBTSxHQUFHLEVBQUUsQ0FBQztJQUM1QixNQUFNLENBQVUsTUFBTSxHQUFHLEVBQUUsQ0FBQztJQUM1QixNQUFNLENBQVUsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUMxQixNQUFNLENBQVUsR0FBRyxHQUFHLEVBQUUsQ0FBQztJQUN6QixNQUFNLENBQVUsR0FBRyxHQUFHLEVBQUUsQ0FBQztJQUN6QixNQUFNLENBQVUsS0FBSyxHQUFHLEVBQUUsQ0FBQztJQUMzQixNQUFNLENBQVUsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUMxQixNQUFNLENBQVUsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUMxQixNQUFNLENBQVUsR0FBRyxHQUFHLEVBQUUsQ0FBQztJQUN6QixNQUFNLENBQVUsS0FBSyxHQUFHLEVBQUUsQ0FBQztJQUMzQixNQUFNLENBQVUsS0FBSyxHQUFHLEVBQUUsQ0FBQztJQUMzQixNQUFNLENBQVUsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUMxQixNQUFNLENBQVUsWUFBWSxHQUFHLEVBQUUsQ0FBQyxDQUFDLDBEQUEwRDtJQUM3RixNQUFNLENBQVUsU0FBUyxHQUFHLEVBQUUsQ0FBQyxDQUFDLHVEQUF1RDtJQUN2RixNQUFNLENBQVUsYUFBYSxHQUFHLEVBQUUsQ0FBQztJQUNuQyxNQUFNLENBQVUsT0FBTyxHQUFHLEVBQUUsQ0FBQztJQUM3QixNQUFNLENBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUN2QixNQUFNLENBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUN2QixNQUFNLENBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUN2QixNQUFNLENBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUN2QixNQUFNLENBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUN2QixNQUFNLENBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUN2QixNQUFNLENBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUN2QixNQUFNLENBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUN2QixNQUFNLENBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUN2QixNQUFNLENBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUN2QixNQUFNLENBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUN2QixNQUFNLENBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUN2QixNQUFNLENBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUN2QixNQUFNLENBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUN2QixNQUFNLENBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUN2QixNQUFNLENBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUN2QixNQUFNLENBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUN2QixNQUFNLENBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUN2QixNQUFNLENBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUN2QixNQUFNLENBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUN2QixNQUFNLENBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUN2QixNQUFNLENBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUN2QixNQUFNLENBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUN2QixNQUFNLENBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUN2QixNQUFNLENBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUN2QixNQUFNLENBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUN2QixNQUFNLENBQVUsSUFBSSxHQUFHLEVBQUUsQ0FBQyxDQUFDLGVBQWU7SUFDMUMsTUFBTSxDQUFVLGVBQWUsR0FBRyxFQUFFLENBQUM7SUFDckMsTUFBTSxDQUFVLGdCQUFnQixHQUFHLEVBQUUsQ0FBQztJQUN0QyxNQUFNLENBQVUsWUFBWSxHQUFHLEVBQUUsQ0FBQztJQUNsQyxNQUFNLENBQVUsV0FBVyxHQUFHLEVBQUUsQ0FBQztJQUNqQyxNQUFNLENBQVUsVUFBVSxHQUFHLEVBQUUsQ0FBQztJQUNoQyxNQUFNLENBQVUsVUFBVSxHQUFHLEVBQUUsQ0FBQztJQUNoQyxNQUFNLENBQVUsWUFBWSxHQUFHLEVBQUUsQ0FBQztJQUNsQyxNQUFNLENBQVUsV0FBVyxHQUFHLEdBQUcsQ0FBQztJQUNsQyxNQUFNLENBQVUsV0FBVyxHQUFHLEdBQUcsQ0FBQztJQUNsQyxNQUFNLENBQVUsVUFBVSxHQUFHLEdBQUcsQ0FBQztJQUNqQyxNQUFNLENBQVUsWUFBWSxHQUFHLEdBQUcsQ0FBQztJQUNuQyxNQUFNLENBQVUsWUFBWSxHQUFHLEdBQUcsQ0FBQztJQUNuQyxNQUFNLENBQVUsV0FBVyxHQUFHLEdBQUcsQ0FBQztJQUNsQyxNQUFNLENBQVUsZUFBZSxHQUFHLEdBQUcsQ0FBQztJQUN0QyxNQUFNLENBQVUsV0FBVyxHQUFHLEdBQUcsQ0FBQztJQUNsQyxNQUFNLENBQVUsWUFBWSxHQUFHLEdBQUcsQ0FBQztJQUNuQyxNQUFNLENBQVUsYUFBYSxHQUFHLEdBQUcsQ0FBQztJQUNwQyxNQUFNLENBQVUsYUFBYSxHQUFHLEdBQUcsQ0FBQztJQUNwQyxNQUFNLENBQVUsRUFBRSxHQUFHLEdBQUcsQ0FBQztJQUN6QixNQUFNLENBQVUsRUFBRSxHQUFHLEdBQUcsQ0FBQztJQUN6QixNQUFNLENBQVUsRUFBRSxHQUFHLEdBQUcsQ0FBQztJQUN6QixNQUFNLENBQVUsRUFBRSxHQUFHLEdBQUcsQ0FBQztJQUN6QixNQUFNLENBQVUsRUFBRSxHQUFHLEdBQUcsQ0FBQztJQUN6QixNQUFNLENBQVUsRUFBRSxHQUFHLEdBQUcsQ0FBQztJQUN6QixNQUFNLENBQVUsRUFBRSxHQUFHLEdBQUcsQ0FBQztJQUN6QixNQUFNLENBQVUsRUFBRSxHQUFHLEdBQUcsQ0FBQztJQUN6QixNQUFNLENBQVUsRUFBRSxHQUFHLEdBQUcsQ0FBQztJQUN6QixNQUFNLENBQVUsR0FBRyxHQUFHLEdBQUcsQ0FBQztJQUMxQixNQUFNLENBQVUsR0FBRyxHQUFHLEdBQUcsQ0FBQztJQUMxQixNQUFNLENBQVUsR0FBRyxHQUFHLEdBQUcsQ0FBQztJQUMxQixNQUFNLENBQVUsUUFBUSxHQUFHLEdBQUcsQ0FBQztJQUMvQixNQUFNLENBQVUsV0FBVyxHQUFHLEdBQUcsQ0FBQztJQUNsQyxNQUFNLENBQVUsV0FBVyxHQUFHLEdBQUcsQ0FBQztJQUNsQyxNQUFNLENBQVUsUUFBUSxHQUFHLEdBQUcsQ0FBQztJQUMvQixNQUFNLENBQVUsSUFBSSxHQUFHLEdBQUcsQ0FBQyxDQUFDLHFDQUFxQztJQUNqRSxNQUFNLENBQVUsV0FBVyxHQUFHLEdBQUcsQ0FBQyxDQUFDLDRDQUE0QztJQUMvRSxNQUFNLENBQVUsU0FBUyxHQUFHLEdBQUcsQ0FBQyxDQUFDLDBDQUEwQztJQUMzRSxNQUFNLENBQVUsT0FBTyxHQUFHLEdBQUcsQ0FBQztJQUM5QixNQUFNLENBQVUsY0FBYyxHQUFHLEdBQUcsQ0FBQztJQUNyQyxNQUFNLENBQVUsVUFBVSxHQUFHLEdBQUcsQ0FBQztJQUNqQyxNQUFNLENBQVUsWUFBWSxHQUFHLEdBQUcsQ0FBQztJQUNuQyxNQUFNLENBQVUsU0FBUyxHQUFHLEdBQUcsQ0FBQyxDQUFDLHlDQUF5QztJQUMxRSxNQUFNLENBQVUsTUFBTSxHQUFHLEdBQUcsQ0FBQyxDQUFDLHNDQUFzQztJQUNwRSxNQUFNLENBQVUsS0FBSyxHQUFHLEdBQUcsQ0FBQztJQUM1QixNQUFNLENBQVUsSUFBSSxHQUFHLEdBQUcsQ0FBQyxDQUFDLDJDQUEyQztJQUN2RSxNQUFNLENBQVUsTUFBTSxHQUFHLEdBQUcsQ0FBQztJQUM3QixNQUFNLENBQVUsS0FBSyxHQUFHLEdBQUcsQ0FBQztJQUM1QixNQUFNLENBQVUsVUFBVSxHQUFHLEdBQUcsQ0FBQztJQUNqQyxNQUFNLENBQVUsS0FBSyxHQUFHLEdBQUcsQ0FBQztJQUM1QixNQUFNLENBQVUsbUJBQW1CLEdBQUcsR0FBRyxDQUFDO0lBQzFDLE1BQU0sQ0FBVSxTQUFTLEdBQUcsR0FBRyxDQUFDO0lBQ2hDLE1BQU0sQ0FBVSxvQkFBb0IsR0FBRyxHQUFHLENBQUM7SUFDM0MsTUFBTSxDQUFVLFlBQVksR0FBRyxHQUFHLENBQUM7SUFDbkMsTUFBTSxDQUFVLFFBQVEsR0FBRyxHQUFHLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgYWJzdHJhY3QgY2xhc3MgVXRpbHNLZXlDb2RlQ29uc3RhbnQge1xuICAgIHN0YXRpYyByZWFkb25seSBNQUNfRU5URVIgPSAzO1xuICAgIHN0YXRpYyByZWFkb25seSBCQUNLU1BBQ0UgPSA4O1xuICAgIHN0YXRpYyByZWFkb25seSBUQUIgPSA5O1xuICAgIHN0YXRpYyByZWFkb25seSBOVU1fQ0VOVEVSID0gMTI7XG4gICAgc3RhdGljIHJlYWRvbmx5IEVOVEVSID0gMTM7XG4gICAgc3RhdGljIHJlYWRvbmx5IFNISUZUID0gMTY7XG4gICAgc3RhdGljIHJlYWRvbmx5IENPTlRST0wgPSAxNztcbiAgICBzdGF0aWMgcmVhZG9ubHkgQUxUID0gMTg7XG4gICAgc3RhdGljIHJlYWRvbmx5IFBBVVNFID0gMTk7XG4gICAgc3RhdGljIHJlYWRvbmx5IENBUFNfTE9DSyA9IDIwO1xuICAgIHN0YXRpYyByZWFkb25seSBFU0NBUEUgPSAyNztcbiAgICBzdGF0aWMgcmVhZG9ubHkgU1BBQ0UgPSAzMjtcbiAgICBzdGF0aWMgcmVhZG9ubHkgUEFHRV9VUCA9IDMzO1xuICAgIHN0YXRpYyByZWFkb25seSBQQUdFX0RPV04gPSAzNDtcbiAgICBzdGF0aWMgcmVhZG9ubHkgRU5EID0gMzU7XG4gICAgc3RhdGljIHJlYWRvbmx5IEhPTUUgPSAzNjtcbiAgICBzdGF0aWMgcmVhZG9ubHkgTEVGVF9BUlJPVyA9IDM3O1xuICAgIHN0YXRpYyByZWFkb25seSBVUF9BUlJPVyA9IDM4O1xuICAgIHN0YXRpYyByZWFkb25seSBSSUdIVF9BUlJPVyA9IDM5O1xuICAgIHN0YXRpYyByZWFkb25seSBET1dOX0FSUk9XID0gNDA7XG4gICAgc3RhdGljIHJlYWRvbmx5IFBMVVNfU0lHTiA9IDQzO1xuICAgIHN0YXRpYyByZWFkb25seSBQUklOVF9TQ1JFRU4gPSA0NDtcbiAgICBzdGF0aWMgcmVhZG9ubHkgSU5TRVJUID0gNDU7XG4gICAgc3RhdGljIHJlYWRvbmx5IERFTEVURSA9IDQ2O1xuICAgIHN0YXRpYyByZWFkb25seSBaRVJPID0gNDg7XG4gICAgc3RhdGljIHJlYWRvbmx5IE9ORSA9IDQ5O1xuICAgIHN0YXRpYyByZWFkb25seSBUV08gPSA1MDtcbiAgICBzdGF0aWMgcmVhZG9ubHkgVEhSRUUgPSA1MTtcbiAgICBzdGF0aWMgcmVhZG9ubHkgRk9VUiA9IDUyO1xuICAgIHN0YXRpYyByZWFkb25seSBGSVZFID0gNTM7XG4gICAgc3RhdGljIHJlYWRvbmx5IFNJWCA9IDU0O1xuICAgIHN0YXRpYyByZWFkb25seSBTRVZFTiA9IDU1O1xuICAgIHN0YXRpYyByZWFkb25seSBFSUdIVCA9IDU2O1xuICAgIHN0YXRpYyByZWFkb25seSBOSU5FID0gNTc7XG4gICAgc3RhdGljIHJlYWRvbmx5IEZGX1NFTUlDT0xPTiA9IDU5OyAvLyBGaXJlZm94IChHZWNrbykgZmlyZXMgdGhpcyBmb3Igc2VtaWNvbG9uIGluc3RlYWQgb2YgMTg2XG4gICAgc3RhdGljIHJlYWRvbmx5IEZGX0VRVUFMUyA9IDYxOyAvLyBGaXJlZm94IChHZWNrbykgZmlyZXMgdGhpcyBmb3IgZXF1YWxzIGluc3RlYWQgb2YgMTg3XG4gICAgc3RhdGljIHJlYWRvbmx5IFFVRVNUSU9OX01BUksgPSA2MztcbiAgICBzdGF0aWMgcmVhZG9ubHkgQVRfU0lHTiA9IDY0O1xuICAgIHN0YXRpYyByZWFkb25seSBBID0gNjU7XG4gICAgc3RhdGljIHJlYWRvbmx5IEIgPSA2NjtcbiAgICBzdGF0aWMgcmVhZG9ubHkgQyA9IDY3O1xuICAgIHN0YXRpYyByZWFkb25seSBEID0gNjg7XG4gICAgc3RhdGljIHJlYWRvbmx5IEUgPSA2OTtcbiAgICBzdGF0aWMgcmVhZG9ubHkgRiA9IDcwO1xuICAgIHN0YXRpYyByZWFkb25seSBHID0gNzE7XG4gICAgc3RhdGljIHJlYWRvbmx5IEggPSA3MjtcbiAgICBzdGF0aWMgcmVhZG9ubHkgSSA9IDczO1xuICAgIHN0YXRpYyByZWFkb25seSBKID0gNzQ7XG4gICAgc3RhdGljIHJlYWRvbmx5IEsgPSA3NTtcbiAgICBzdGF0aWMgcmVhZG9ubHkgTCA9IDc2O1xuICAgIHN0YXRpYyByZWFkb25seSBNID0gNzc7XG4gICAgc3RhdGljIHJlYWRvbmx5IE4gPSA3ODtcbiAgICBzdGF0aWMgcmVhZG9ubHkgTyA9IDc5O1xuICAgIHN0YXRpYyByZWFkb25seSBQID0gODA7XG4gICAgc3RhdGljIHJlYWRvbmx5IFEgPSA4MTtcbiAgICBzdGF0aWMgcmVhZG9ubHkgUiA9IDgyO1xuICAgIHN0YXRpYyByZWFkb25seSBTID0gODM7XG4gICAgc3RhdGljIHJlYWRvbmx5IFQgPSA4NDtcbiAgICBzdGF0aWMgcmVhZG9ubHkgVSA9IDg1O1xuICAgIHN0YXRpYyByZWFkb25seSBWID0gODY7XG4gICAgc3RhdGljIHJlYWRvbmx5IFcgPSA4NztcbiAgICBzdGF0aWMgcmVhZG9ubHkgWCA9IDg4O1xuICAgIHN0YXRpYyByZWFkb25seSBZID0gODk7XG4gICAgc3RhdGljIHJlYWRvbmx5IFogPSA5MDtcbiAgICBzdGF0aWMgcmVhZG9ubHkgTUVUQSA9IDkxOyAvLyBXSU5fS0VZX0xFRlRcbiAgICBzdGF0aWMgcmVhZG9ubHkgTUFDX1dLX0NNRF9MRUZUID0gOTE7XG4gICAgc3RhdGljIHJlYWRvbmx5IE1BQ19XS19DTURfUklHSFQgPSA5MztcbiAgICBzdGF0aWMgcmVhZG9ubHkgQ09OVEVYVF9NRU5VID0gOTM7XG4gICAgc3RhdGljIHJlYWRvbmx5IE5VTVBBRF9aRVJPID0gOTY7XG4gICAgc3RhdGljIHJlYWRvbmx5IE5VTVBBRF9PTkUgPSA5NztcbiAgICBzdGF0aWMgcmVhZG9ubHkgTlVNUEFEX1RXTyA9IDk4O1xuICAgIHN0YXRpYyByZWFkb25seSBOVU1QQURfVEhSRUUgPSA5OTtcbiAgICBzdGF0aWMgcmVhZG9ubHkgTlVNUEFEX0ZPVVIgPSAxMDA7XG4gICAgc3RhdGljIHJlYWRvbmx5IE5VTVBBRF9GSVZFID0gMTAxO1xuICAgIHN0YXRpYyByZWFkb25seSBOVU1QQURfU0lYID0gMTAyO1xuICAgIHN0YXRpYyByZWFkb25seSBOVU1QQURfU0VWRU4gPSAxMDM7XG4gICAgc3RhdGljIHJlYWRvbmx5IE5VTVBBRF9FSUdIVCA9IDEwNDtcbiAgICBzdGF0aWMgcmVhZG9ubHkgTlVNUEFEX05JTkUgPSAxMDU7XG4gICAgc3RhdGljIHJlYWRvbmx5IE5VTVBBRF9NVUxUSVBMWSA9IDEwNjtcbiAgICBzdGF0aWMgcmVhZG9ubHkgTlVNUEFEX1BMVVMgPSAxMDc7XG4gICAgc3RhdGljIHJlYWRvbmx5IE5VTVBBRF9NSU5VUyA9IDEwOTtcbiAgICBzdGF0aWMgcmVhZG9ubHkgTlVNUEFEX1BFUklPRCA9IDExMDtcbiAgICBzdGF0aWMgcmVhZG9ubHkgTlVNUEFEX0RJVklERSA9IDExMTtcbiAgICBzdGF0aWMgcmVhZG9ubHkgRjEgPSAxMTI7XG4gICAgc3RhdGljIHJlYWRvbmx5IEYyID0gMTEzO1xuICAgIHN0YXRpYyByZWFkb25seSBGMyA9IDExNDtcbiAgICBzdGF0aWMgcmVhZG9ubHkgRjQgPSAxMTU7XG4gICAgc3RhdGljIHJlYWRvbmx5IEY1ID0gMTE2O1xuICAgIHN0YXRpYyByZWFkb25seSBGNiA9IDExNztcbiAgICBzdGF0aWMgcmVhZG9ubHkgRjcgPSAxMTg7XG4gICAgc3RhdGljIHJlYWRvbmx5IEY4ID0gMTE5O1xuICAgIHN0YXRpYyByZWFkb25seSBGOSA9IDEyMDtcbiAgICBzdGF0aWMgcmVhZG9ubHkgRjEwID0gMTIxO1xuICAgIHN0YXRpYyByZWFkb25seSBGMTEgPSAxMjI7XG4gICAgc3RhdGljIHJlYWRvbmx5IEYxMiA9IDEyMztcbiAgICBzdGF0aWMgcmVhZG9ubHkgTlVNX0xPQ0sgPSAxNDQ7XG4gICAgc3RhdGljIHJlYWRvbmx5IFNDUk9MTF9MT0NLID0gMTQ1O1xuICAgIHN0YXRpYyByZWFkb25seSBGSVJTVF9NRURJQSA9IDE2NjtcbiAgICBzdGF0aWMgcmVhZG9ubHkgRkZfTUlOVVMgPSAxNzM7XG4gICAgc3RhdGljIHJlYWRvbmx5IE1VVEUgPSAxNzM7IC8vIEZpcmVmb3ggKEdlY2tvKSBmaXJlcyAxODEgZm9yIE1VVEVcbiAgICBzdGF0aWMgcmVhZG9ubHkgVk9MVU1FX0RPV04gPSAxNzQ7IC8vIEZpcmVmb3ggKEdlY2tvKSBmaXJlcyAxODIgZm9yIFZPTFVNRV9ET1dOXG4gICAgc3RhdGljIHJlYWRvbmx5IFZPTFVNRV9VUCA9IDE3NTsgLy8gRmlyZWZveCAoR2Vja28pIGZpcmVzIDE4MyBmb3IgVk9MVU1FX1VQXG4gICAgc3RhdGljIHJlYWRvbmx5IEZGX01VVEUgPSAxODE7XG4gICAgc3RhdGljIHJlYWRvbmx5IEZGX1ZPTFVNRV9ET1dOID0gMTgyO1xuICAgIHN0YXRpYyByZWFkb25seSBMQVNUX01FRElBID0gMTgzO1xuICAgIHN0YXRpYyByZWFkb25seSBGRl9WT0xVTUVfVVAgPSAxODM7XG4gICAgc3RhdGljIHJlYWRvbmx5IFNFTUlDT0xPTiA9IDE4NjsgLy8gRmlyZWZveCAoR2Vja28pIGZpcmVzIDU5IGZvciBTRU1JQ09MT05cbiAgICBzdGF0aWMgcmVhZG9ubHkgRVFVQUxTID0gMTg3OyAvLyBGaXJlZm94IChHZWNrbykgZmlyZXMgNjEgZm9yIEVRVUFMU1xuICAgIHN0YXRpYyByZWFkb25seSBDT01NQSA9IDE4ODtcbiAgICBzdGF0aWMgcmVhZG9ubHkgREFTSCA9IDE4OTsgLy8gRmlyZWZveCAoR2Vja28pIGZpcmVzIDE3MyBmb3IgREFTSC9NSU5VU1xuICAgIHN0YXRpYyByZWFkb25seSBQRVJJT0QgPSAxOTA7XG4gICAgc3RhdGljIHJlYWRvbmx5IFNMQVNIID0gMTkxO1xuICAgIHN0YXRpYyByZWFkb25seSBBUE9TVFJPUEhFID0gMTkyO1xuICAgIHN0YXRpYyByZWFkb25seSBUSUxERSA9IDE5MjtcbiAgICBzdGF0aWMgcmVhZG9ubHkgT1BFTl9TUVVBUkVfQlJBQ0tFVCA9IDIxOTtcbiAgICBzdGF0aWMgcmVhZG9ubHkgQkFDS1NMQVNIID0gMjIwO1xuICAgIHN0YXRpYyByZWFkb25seSBDTE9TRV9TUVVBUkVfQlJBQ0tFVCA9IDIyMTtcbiAgICBzdGF0aWMgcmVhZG9ubHkgU0lOR0xFX1FVT1RFID0gMjIyO1xuICAgIHN0YXRpYyByZWFkb25seSBNQUNfTUVUQSA9IDIyNDtcbiAgfVxuICAiXX0=
|
|
122
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5LWNvZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzLXVpL3V0aWxzL3NyYy9rZXktY29kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQWdCLG9CQUFvQjtJQUN4QyxNQUFNLENBQVUsU0FBUyxHQUFHLENBQUMsQ0FBQztJQUM5QixNQUFNLENBQVUsU0FBUyxHQUFHLENBQUMsQ0FBQztJQUM5QixNQUFNLENBQVUsR0FBRyxHQUFHLENBQUMsQ0FBQztJQUN4QixNQUFNLENBQVUsVUFBVSxHQUFHLEVBQUUsQ0FBQztJQUNoQyxNQUFNLENBQVUsS0FBSyxHQUFHLEVBQUUsQ0FBQztJQUMzQixNQUFNLENBQVUsS0FBSyxHQUFHLEVBQUUsQ0FBQztJQUMzQixNQUFNLENBQVUsT0FBTyxHQUFHLEVBQUUsQ0FBQztJQUM3QixNQUFNLENBQVUsR0FBRyxHQUFHLEVBQUUsQ0FBQztJQUN6QixNQUFNLENBQVUsS0FBSyxHQUFHLEVBQUUsQ0FBQztJQUMzQixNQUFNLENBQVUsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUMvQixNQUFNLENBQVUsTUFBTSxHQUFHLEVBQUUsQ0FBQztJQUM1QixNQUFNLENBQVUsS0FBSyxHQUFHLEVBQUUsQ0FBQztJQUMzQixNQUFNLENBQVUsT0FBTyxHQUFHLEVBQUUsQ0FBQztJQUM3QixNQUFNLENBQVUsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUMvQixNQUFNLENBQVUsR0FBRyxHQUFHLEVBQUUsQ0FBQztJQUN6QixNQUFNLENBQVUsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUMxQixNQUFNLENBQVUsVUFBVSxHQUFHLEVBQUUsQ0FBQztJQUNoQyxNQUFNLENBQVUsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUM5QixNQUFNLENBQVUsV0FBVyxHQUFHLEVBQUUsQ0FBQztJQUNqQyxNQUFNLENBQVUsVUFBVSxHQUFHLEVBQUUsQ0FBQztJQUNoQyxNQUFNLENBQVUsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUMvQixNQUFNLENBQVUsWUFBWSxHQUFHLEVBQUUsQ0FBQztJQUNsQyxNQUFNLENBQVUsTUFBTSxHQUFHLEVBQUUsQ0FBQztJQUM1QixNQUFNLENBQVUsTUFBTSxHQUFHLEVBQUUsQ0FBQztJQUM1QixNQUFNLENBQVUsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUMxQixNQUFNLENBQVUsR0FBRyxHQUFHLEVBQUUsQ0FBQztJQUN6QixNQUFNLENBQVUsR0FBRyxHQUFHLEVBQUUsQ0FBQztJQUN6QixNQUFNLENBQVUsS0FBSyxHQUFHLEVBQUUsQ0FBQztJQUMzQixNQUFNLENBQVUsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUMxQixNQUFNLENBQVUsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUMxQixNQUFNLENBQVUsR0FBRyxHQUFHLEVBQUUsQ0FBQztJQUN6QixNQUFNLENBQVUsS0FBSyxHQUFHLEVBQUUsQ0FBQztJQUMzQixNQUFNLENBQVUsS0FBSyxHQUFHLEVBQUUsQ0FBQztJQUMzQixNQUFNLENBQVUsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUMxQixNQUFNLENBQVUsWUFBWSxHQUFHLEVBQUUsQ0FBQyxDQUFDLDBEQUEwRDtJQUM3RixNQUFNLENBQVUsU0FBUyxHQUFHLEVBQUUsQ0FBQyxDQUFDLHVEQUF1RDtJQUN2RixNQUFNLENBQVUsYUFBYSxHQUFHLEVBQUUsQ0FBQztJQUNuQyxNQUFNLENBQVUsT0FBTyxHQUFHLEVBQUUsQ0FBQztJQUM3QixNQUFNLENBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUN2QixNQUFNLENBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUN2QixNQUFNLENBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUN2QixNQUFNLENBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUN2QixNQUFNLENBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUN2QixNQUFNLENBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUN2QixNQUFNLENBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUN2QixNQUFNLENBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUN2QixNQUFNLENBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUN2QixNQUFNLENBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUN2QixNQUFNLENBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUN2QixNQUFNLENBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUN2QixNQUFNLENBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUN2QixNQUFNLENBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUN2QixNQUFNLENBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUN2QixNQUFNLENBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUN2QixNQUFNLENBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUN2QixNQUFNLENBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUN2QixNQUFNLENBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUN2QixNQUFNLENBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUN2QixNQUFNLENBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUN2QixNQUFNLENBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUN2QixNQUFNLENBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUN2QixNQUFNLENBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUN2QixNQUFNLENBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUN2QixNQUFNLENBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUN2QixNQUFNLENBQVUsSUFBSSxHQUFHLEVBQUUsQ0FBQyxDQUFDLGVBQWU7SUFDMUMsTUFBTSxDQUFVLGVBQWUsR0FBRyxFQUFFLENBQUM7SUFDckMsTUFBTSxDQUFVLGdCQUFnQixHQUFHLEVBQUUsQ0FBQztJQUN0QyxNQUFNLENBQVUsWUFBWSxHQUFHLEVBQUUsQ0FBQztJQUNsQyxNQUFNLENBQVUsV0FBVyxHQUFHLEVBQUUsQ0FBQztJQUNqQyxNQUFNLENBQVUsVUFBVSxHQUFHLEVBQUUsQ0FBQztJQUNoQyxNQUFNLENBQVUsVUFBVSxHQUFHLEVBQUUsQ0FBQztJQUNoQyxNQUFNLENBQVUsWUFBWSxHQUFHLEVBQUUsQ0FBQztJQUNsQyxNQUFNLENBQVUsV0FBVyxHQUFHLEdBQUcsQ0FBQztJQUNsQyxNQUFNLENBQVUsV0FBVyxHQUFHLEdBQUcsQ0FBQztJQUNsQyxNQUFNLENBQVUsVUFBVSxHQUFHLEdBQUcsQ0FBQztJQUNqQyxNQUFNLENBQVUsWUFBWSxHQUFHLEdBQUcsQ0FBQztJQUNuQyxNQUFNLENBQVUsWUFBWSxHQUFHLEdBQUcsQ0FBQztJQUNuQyxNQUFNLENBQVUsV0FBVyxHQUFHLEdBQUcsQ0FBQztJQUNsQyxNQUFNLENBQVUsZUFBZSxHQUFHLEdBQUcsQ0FBQztJQUN0QyxNQUFNLENBQVUsV0FBVyxHQUFHLEdBQUcsQ0FBQztJQUNsQyxNQUFNLENBQVUsWUFBWSxHQUFHLEdBQUcsQ0FBQztJQUNuQyxNQUFNLENBQVUsYUFBYSxHQUFHLEdBQUcsQ0FBQztJQUNwQyxNQUFNLENBQVUsYUFBYSxHQUFHLEdBQUcsQ0FBQztJQUNwQyxNQUFNLENBQVUsRUFBRSxHQUFHLEdBQUcsQ0FBQztJQUN6QixNQUFNLENBQVUsRUFBRSxHQUFHLEdBQUcsQ0FBQztJQUN6QixNQUFNLENBQVUsRUFBRSxHQUFHLEdBQUcsQ0FBQztJQUN6QixNQUFNLENBQVUsRUFBRSxHQUFHLEdBQUcsQ0FBQztJQUN6QixNQUFNLENBQVUsRUFBRSxHQUFHLEdBQUcsQ0FBQztJQUN6QixNQUFNLENBQVUsRUFBRSxHQUFHLEdBQUcsQ0FBQztJQUN6QixNQUFNLENBQVUsRUFBRSxHQUFHLEdBQUcsQ0FBQztJQUN6QixNQUFNLENBQVUsRUFBRSxHQUFHLEdBQUcsQ0FBQztJQUN6QixNQUFNLENBQVUsRUFBRSxHQUFHLEdBQUcsQ0FBQztJQUN6QixNQUFNLENBQVUsR0FBRyxHQUFHLEdBQUcsQ0FBQztJQUMxQixNQUFNLENBQVUsR0FBRyxHQUFHLEdBQUcsQ0FBQztJQUMxQixNQUFNLENBQVUsR0FBRyxHQUFHLEdBQUcsQ0FBQztJQUMxQixNQUFNLENBQVUsUUFBUSxHQUFHLEdBQUcsQ0FBQztJQUMvQixNQUFNLENBQVUsV0FBVyxHQUFHLEdBQUcsQ0FBQztJQUNsQyxNQUFNLENBQVUsV0FBVyxHQUFHLEdBQUcsQ0FBQztJQUNsQyxNQUFNLENBQVUsUUFBUSxHQUFHLEdBQUcsQ0FBQztJQUMvQixNQUFNLENBQVUsSUFBSSxHQUFHLEdBQUcsQ0FBQyxDQUFDLHFDQUFxQztJQUNqRSxNQUFNLENBQVUsV0FBVyxHQUFHLEdBQUcsQ0FBQyxDQUFDLDRDQUE0QztJQUMvRSxNQUFNLENBQVUsU0FBUyxHQUFHLEdBQUcsQ0FBQyxDQUFDLDBDQUEwQztJQUMzRSxNQUFNLENBQVUsT0FBTyxHQUFHLEdBQUcsQ0FBQztJQUM5QixNQUFNLENBQVUsY0FBYyxHQUFHLEdBQUcsQ0FBQztJQUNyQyxNQUFNLENBQVUsVUFBVSxHQUFHLEdBQUcsQ0FBQztJQUNqQyxNQUFNLENBQVUsWUFBWSxHQUFHLEdBQUcsQ0FBQztJQUNuQyxNQUFNLENBQVUsU0FBUyxHQUFHLEdBQUcsQ0FBQyxDQUFDLHlDQUF5QztJQUMxRSxNQUFNLENBQVUsTUFBTSxHQUFHLEdBQUcsQ0FBQyxDQUFDLHNDQUFzQztJQUNwRSxNQUFNLENBQVUsS0FBSyxHQUFHLEdBQUcsQ0FBQztJQUM1QixNQUFNLENBQVUsSUFBSSxHQUFHLEdBQUcsQ0FBQyxDQUFDLDJDQUEyQztJQUN2RSxNQUFNLENBQVUsTUFBTSxHQUFHLEdBQUcsQ0FBQztJQUM3QixNQUFNLENBQVUsS0FBSyxHQUFHLEdBQUcsQ0FBQztJQUM1QixNQUFNLENBQVUsVUFBVSxHQUFHLEdBQUcsQ0FBQztJQUNqQyxNQUFNLENBQVUsS0FBSyxHQUFHLEdBQUcsQ0FBQztJQUM1QixNQUFNLENBQVUsbUJBQW1CLEdBQUcsR0FBRyxDQUFDO0lBQzFDLE1BQU0sQ0FBVSxTQUFTLEdBQUcsR0FBRyxDQUFDO0lBQ2hDLE1BQU0sQ0FBVSxvQkFBb0IsR0FBRyxHQUFHLENBQUM7SUFDM0MsTUFBTSxDQUFVLFlBQVksR0FBRyxHQUFHLENBQUM7SUFDbkMsTUFBTSxDQUFVLFFBQVEsR0FBRyxHQUFHLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgYWJzdHJhY3QgY2xhc3MgVXRpbHNLZXlDb2RlQ29uc3RhbnQge1xuICBzdGF0aWMgcmVhZG9ubHkgTUFDX0VOVEVSID0gMztcbiAgc3RhdGljIHJlYWRvbmx5IEJBQ0tTUEFDRSA9IDg7XG4gIHN0YXRpYyByZWFkb25seSBUQUIgPSA5O1xuICBzdGF0aWMgcmVhZG9ubHkgTlVNX0NFTlRFUiA9IDEyO1xuICBzdGF0aWMgcmVhZG9ubHkgRU5URVIgPSAxMztcbiAgc3RhdGljIHJlYWRvbmx5IFNISUZUID0gMTY7XG4gIHN0YXRpYyByZWFkb25seSBDT05UUk9MID0gMTc7XG4gIHN0YXRpYyByZWFkb25seSBBTFQgPSAxODtcbiAgc3RhdGljIHJlYWRvbmx5IFBBVVNFID0gMTk7XG4gIHN0YXRpYyByZWFkb25seSBDQVBTX0xPQ0sgPSAyMDtcbiAgc3RhdGljIHJlYWRvbmx5IEVTQ0FQRSA9IDI3O1xuICBzdGF0aWMgcmVhZG9ubHkgU1BBQ0UgPSAzMjtcbiAgc3RhdGljIHJlYWRvbmx5IFBBR0VfVVAgPSAzMztcbiAgc3RhdGljIHJlYWRvbmx5IFBBR0VfRE9XTiA9IDM0O1xuICBzdGF0aWMgcmVhZG9ubHkgRU5EID0gMzU7XG4gIHN0YXRpYyByZWFkb25seSBIT01FID0gMzY7XG4gIHN0YXRpYyByZWFkb25seSBMRUZUX0FSUk9XID0gMzc7XG4gIHN0YXRpYyByZWFkb25seSBVUF9BUlJPVyA9IDM4O1xuICBzdGF0aWMgcmVhZG9ubHkgUklHSFRfQVJST1cgPSAzOTtcbiAgc3RhdGljIHJlYWRvbmx5IERPV05fQVJST1cgPSA0MDtcbiAgc3RhdGljIHJlYWRvbmx5IFBMVVNfU0lHTiA9IDQzO1xuICBzdGF0aWMgcmVhZG9ubHkgUFJJTlRfU0NSRUVOID0gNDQ7XG4gIHN0YXRpYyByZWFkb25seSBJTlNFUlQgPSA0NTtcbiAgc3RhdGljIHJlYWRvbmx5IERFTEVURSA9IDQ2O1xuICBzdGF0aWMgcmVhZG9ubHkgWkVSTyA9IDQ4O1xuICBzdGF0aWMgcmVhZG9ubHkgT05FID0gNDk7XG4gIHN0YXRpYyByZWFkb25seSBUV08gPSA1MDtcbiAgc3RhdGljIHJlYWRvbmx5IFRIUkVFID0gNTE7XG4gIHN0YXRpYyByZWFkb25seSBGT1VSID0gNTI7XG4gIHN0YXRpYyByZWFkb25seSBGSVZFID0gNTM7XG4gIHN0YXRpYyByZWFkb25seSBTSVggPSA1NDtcbiAgc3RhdGljIHJlYWRvbmx5IFNFVkVOID0gNTU7XG4gIHN0YXRpYyByZWFkb25seSBFSUdIVCA9IDU2O1xuICBzdGF0aWMgcmVhZG9ubHkgTklORSA9IDU3O1xuICBzdGF0aWMgcmVhZG9ubHkgRkZfU0VNSUNPTE9OID0gNTk7IC8vIEZpcmVmb3ggKEdlY2tvKSBmaXJlcyB0aGlzIGZvciBzZW1pY29sb24gaW5zdGVhZCBvZiAxODZcbiAgc3RhdGljIHJlYWRvbmx5IEZGX0VRVUFMUyA9IDYxOyAvLyBGaXJlZm94IChHZWNrbykgZmlyZXMgdGhpcyBmb3IgZXF1YWxzIGluc3RlYWQgb2YgMTg3XG4gIHN0YXRpYyByZWFkb25seSBRVUVTVElPTl9NQVJLID0gNjM7XG4gIHN0YXRpYyByZWFkb25seSBBVF9TSUdOID0gNjQ7XG4gIHN0YXRpYyByZWFkb25seSBBID0gNjU7XG4gIHN0YXRpYyByZWFkb25seSBCID0gNjY7XG4gIHN0YXRpYyByZWFkb25seSBDID0gNjc7XG4gIHN0YXRpYyByZWFkb25seSBEID0gNjg7XG4gIHN0YXRpYyByZWFkb25seSBFID0gNjk7XG4gIHN0YXRpYyByZWFkb25seSBGID0gNzA7XG4gIHN0YXRpYyByZWFkb25seSBHID0gNzE7XG4gIHN0YXRpYyByZWFkb25seSBIID0gNzI7XG4gIHN0YXRpYyByZWFkb25seSBJID0gNzM7XG4gIHN0YXRpYyByZWFkb25seSBKID0gNzQ7XG4gIHN0YXRpYyByZWFkb25seSBLID0gNzU7XG4gIHN0YXRpYyByZWFkb25seSBMID0gNzY7XG4gIHN0YXRpYyByZWFkb25seSBNID0gNzc7XG4gIHN0YXRpYyByZWFkb25seSBOID0gNzg7XG4gIHN0YXRpYyByZWFkb25seSBPID0gNzk7XG4gIHN0YXRpYyByZWFkb25seSBQID0gODA7XG4gIHN0YXRpYyByZWFkb25seSBRID0gODE7XG4gIHN0YXRpYyByZWFkb25seSBSID0gODI7XG4gIHN0YXRpYyByZWFkb25seSBTID0gODM7XG4gIHN0YXRpYyByZWFkb25seSBUID0gODQ7XG4gIHN0YXRpYyByZWFkb25seSBVID0gODU7XG4gIHN0YXRpYyByZWFkb25seSBWID0gODY7XG4gIHN0YXRpYyByZWFkb25seSBXID0gODc7XG4gIHN0YXRpYyByZWFkb25seSBYID0gODg7XG4gIHN0YXRpYyByZWFkb25seSBZID0gODk7XG4gIHN0YXRpYyByZWFkb25seSBaID0gOTA7XG4gIHN0YXRpYyByZWFkb25seSBNRVRBID0gOTE7IC8vIFdJTl9LRVlfTEVGVFxuICBzdGF0aWMgcmVhZG9ubHkgTUFDX1dLX0NNRF9MRUZUID0gOTE7XG4gIHN0YXRpYyByZWFkb25seSBNQUNfV0tfQ01EX1JJR0hUID0gOTM7XG4gIHN0YXRpYyByZWFkb25seSBDT05URVhUX01FTlUgPSA5MztcbiAgc3RhdGljIHJlYWRvbmx5IE5VTVBBRF9aRVJPID0gOTY7XG4gIHN0YXRpYyByZWFkb25seSBOVU1QQURfT05FID0gOTc7XG4gIHN0YXRpYyByZWFkb25seSBOVU1QQURfVFdPID0gOTg7XG4gIHN0YXRpYyByZWFkb25seSBOVU1QQURfVEhSRUUgPSA5OTtcbiAgc3RhdGljIHJlYWRvbmx5IE5VTVBBRF9GT1VSID0gMTAwO1xuICBzdGF0aWMgcmVhZG9ubHkgTlVNUEFEX0ZJVkUgPSAxMDE7XG4gIHN0YXRpYyByZWFkb25seSBOVU1QQURfU0lYID0gMTAyO1xuICBzdGF0aWMgcmVhZG9ubHkgTlVNUEFEX1NFVkVOID0gMTAzO1xuICBzdGF0aWMgcmVhZG9ubHkgTlVNUEFEX0VJR0hUID0gMTA0O1xuICBzdGF0aWMgcmVhZG9ubHkgTlVNUEFEX05JTkUgPSAxMDU7XG4gIHN0YXRpYyByZWFkb25seSBOVU1QQURfTVVMVElQTFkgPSAxMDY7XG4gIHN0YXRpYyByZWFkb25seSBOVU1QQURfUExVUyA9IDEwNztcbiAgc3RhdGljIHJlYWRvbmx5IE5VTVBBRF9NSU5VUyA9IDEwOTtcbiAgc3RhdGljIHJlYWRvbmx5IE5VTVBBRF9QRVJJT0QgPSAxMTA7XG4gIHN0YXRpYyByZWFkb25seSBOVU1QQURfRElWSURFID0gMTExO1xuICBzdGF0aWMgcmVhZG9ubHkgRjEgPSAxMTI7XG4gIHN0YXRpYyByZWFkb25seSBGMiA9IDExMztcbiAgc3RhdGljIHJlYWRvbmx5IEYzID0gMTE0O1xuICBzdGF0aWMgcmVhZG9ubHkgRjQgPSAxMTU7XG4gIHN0YXRpYyByZWFkb25seSBGNSA9IDExNjtcbiAgc3RhdGljIHJlYWRvbmx5IEY2ID0gMTE3O1xuICBzdGF0aWMgcmVhZG9ubHkgRjcgPSAxMTg7XG4gIHN0YXRpYyByZWFkb25seSBGOCA9IDExOTtcbiAgc3RhdGljIHJlYWRvbmx5IEY5ID0gMTIwO1xuICBzdGF0aWMgcmVhZG9ubHkgRjEwID0gMTIxO1xuICBzdGF0aWMgcmVhZG9ubHkgRjExID0gMTIyO1xuICBzdGF0aWMgcmVhZG9ubHkgRjEyID0gMTIzO1xuICBzdGF0aWMgcmVhZG9ubHkgTlVNX0xPQ0sgPSAxNDQ7XG4gIHN0YXRpYyByZWFkb25seSBTQ1JPTExfTE9DSyA9IDE0NTtcbiAgc3RhdGljIHJlYWRvbmx5IEZJUlNUX01FRElBID0gMTY2O1xuICBzdGF0aWMgcmVhZG9ubHkgRkZfTUlOVVMgPSAxNzM7XG4gIHN0YXRpYyByZWFkb25seSBNVVRFID0gMTczOyAvLyBGaXJlZm94IChHZWNrbykgZmlyZXMgMTgxIGZvciBNVVRFXG4gIHN0YXRpYyByZWFkb25seSBWT0xVTUVfRE9XTiA9IDE3NDsgLy8gRmlyZWZveCAoR2Vja28pIGZpcmVzIDE4MiBmb3IgVk9MVU1FX0RPV05cbiAgc3RhdGljIHJlYWRvbmx5IFZPTFVNRV9VUCA9IDE3NTsgLy8gRmlyZWZveCAoR2Vja28pIGZpcmVzIDE4MyBmb3IgVk9MVU1FX1VQXG4gIHN0YXRpYyByZWFkb25seSBGRl9NVVRFID0gMTgxO1xuICBzdGF0aWMgcmVhZG9ubHkgRkZfVk9MVU1FX0RPV04gPSAxODI7XG4gIHN0YXRpYyByZWFkb25seSBMQVNUX01FRElBID0gMTgzO1xuICBzdGF0aWMgcmVhZG9ubHkgRkZfVk9MVU1FX1VQID0gMTgzO1xuICBzdGF0aWMgcmVhZG9ubHkgU0VNSUNPTE9OID0gMTg2OyAvLyBGaXJlZm94IChHZWNrbykgZmlyZXMgNTkgZm9yIFNFTUlDT0xPTlxuICBzdGF0aWMgcmVhZG9ubHkgRVFVQUxTID0gMTg3OyAvLyBGaXJlZm94IChHZWNrbykgZmlyZXMgNjEgZm9yIEVRVUFMU1xuICBzdGF0aWMgcmVhZG9ubHkgQ09NTUEgPSAxODg7XG4gIHN0YXRpYyByZWFkb25seSBEQVNIID0gMTg5OyAvLyBGaXJlZm94IChHZWNrbykgZmlyZXMgMTczIGZvciBEQVNIL01JTlVTXG4gIHN0YXRpYyByZWFkb25seSBQRVJJT0QgPSAxOTA7XG4gIHN0YXRpYyByZWFkb25seSBTTEFTSCA9IDE5MTtcbiAgc3RhdGljIHJlYWRvbmx5IEFQT1NUUk9QSEUgPSAxOTI7XG4gIHN0YXRpYyByZWFkb25seSBUSUxERSA9IDE5MjtcbiAgc3RhdGljIHJlYWRvbmx5IE9QRU5fU1FVQVJFX0JSQUNLRVQgPSAyMTk7XG4gIHN0YXRpYyByZWFkb25seSBCQUNLU0xBU0ggPSAyMjA7XG4gIHN0YXRpYyByZWFkb25seSBDTE9TRV9TUVVBUkVfQlJBQ0tFVCA9IDIyMTtcbiAgc3RhdGljIHJlYWRvbmx5IFNJTkdMRV9RVU9URSA9IDIyMjtcbiAgc3RhdGljIHJlYWRvbmx5IE1BQ19NRVRBID0gMjI0O1xufVxuIl19
|
package/esm2022/language.mjs
CHANGED
|
@@ -1,31 +1,31 @@
|
|
|
1
1
|
export class UtilsLanguageConstants {
|
|
2
|
-
static VI =
|
|
3
|
-
static EN =
|
|
4
|
-
static FR =
|
|
5
|
-
static DE =
|
|
6
|
-
static ES =
|
|
7
|
-
static ZH =
|
|
8
|
-
static ZH_TW =
|
|
9
|
-
static JA =
|
|
10
|
-
static KO =
|
|
11
|
-
static RU =
|
|
12
|
-
static IT =
|
|
13
|
-
static PT =
|
|
14
|
-
static TH =
|
|
15
|
-
static ID =
|
|
16
|
-
static MS =
|
|
17
|
-
static AR =
|
|
18
|
-
static HI =
|
|
19
|
-
static BN =
|
|
20
|
-
static TR =
|
|
21
|
-
static NL =
|
|
22
|
-
static KM =
|
|
23
|
-
static LO =
|
|
24
|
-
static MY =
|
|
25
|
-
static TL =
|
|
26
|
-
static CEB =
|
|
27
|
-
static JV =
|
|
28
|
-
static SU =
|
|
2
|
+
static VI = 'vi'; // Tiếng Việt
|
|
3
|
+
static EN = 'en'; // Tiếng Anh
|
|
4
|
+
static FR = 'fr'; // Tiếng Pháp
|
|
5
|
+
static DE = 'de'; // Tiếng Đức
|
|
6
|
+
static ES = 'es'; // Tiếng Tây Ban Nha
|
|
7
|
+
static ZH = 'zh'; // Tiếng Trung (Giản thể)
|
|
8
|
+
static ZH_TW = 'zh-TW'; // Tiếng Trung (Phồn thể)
|
|
9
|
+
static JA = 'ja'; // Tiếng Nhật
|
|
10
|
+
static KO = 'ko'; // Tiếng Hàn
|
|
11
|
+
static RU = 'ru'; // Tiếng Nga
|
|
12
|
+
static IT = 'it'; // Tiếng Ý
|
|
13
|
+
static PT = 'pt'; // Tiếng Bồ Đào Nha
|
|
14
|
+
static TH = 'th'; // Tiếng Thái
|
|
15
|
+
static ID = 'id'; // Tiếng Indonesia
|
|
16
|
+
static MS = 'ms'; // Tiếng Malaysia
|
|
17
|
+
static AR = 'ar'; // Tiếng Ả Rập
|
|
18
|
+
static HI = 'hi'; // Tiếng Hindi
|
|
19
|
+
static BN = 'bn'; // Tiếng Bengal
|
|
20
|
+
static TR = 'tr'; // Tiếng Thổ Nhĩ Kỳ
|
|
21
|
+
static NL = 'nl'; // Tiếng Hà Lan
|
|
22
|
+
static KM = 'km'; // Tiếng Khmer (Campuchia)
|
|
23
|
+
static LO = 'lo'; // Tiếng Lào
|
|
24
|
+
static MY = 'my'; // Tiếng Miến Điện (Myanmar)
|
|
25
|
+
static TL = 'tl'; // Tiếng Tagalog (Philippines)
|
|
26
|
+
static CEB = 'ceb'; // Tiếng Cebuano (Philippines)
|
|
27
|
+
static JV = 'jv'; // Tiếng Java (Indonesia)
|
|
28
|
+
static SU = 'su'; // Tiếng Sundanese (Indonesia)
|
|
29
29
|
// Ngôn ngữ mặc định
|
|
30
30
|
static defaultLang = UtilsLanguageConstants.VI;
|
|
31
31
|
// Danh sách các ngôn ngữ được hỗ trợ
|
|
@@ -67,4 +67,4 @@ export class UtilsLanguageConstants {
|
|
|
67
67
|
return UtilsLanguageConstants.supportedLanguages.has(lang);
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFuZ3VhZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzLXVpL3V0aWxzL3NyYy9sYW5ndWFnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sc0JBQXNCO0lBQzFCLE1BQU0sQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUMsYUFBYTtJQUMvQixNQUFNLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDLFlBQVk7SUFDOUIsTUFBTSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQyxhQUFhO0lBQy9CLE1BQU0sQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUMsWUFBWTtJQUM5QixNQUFNLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDLG9CQUFvQjtJQUN0QyxNQUFNLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDLHlCQUF5QjtJQUMzQyxNQUFNLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxDQUFDLHlCQUF5QjtJQUNqRCxNQUFNLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDLGFBQWE7SUFDL0IsTUFBTSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQyxZQUFZO0lBQzlCLE1BQU0sQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUMsWUFBWTtJQUM5QixNQUFNLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDLFVBQVU7SUFDNUIsTUFBTSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQyxtQkFBbUI7SUFDckMsTUFBTSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQyxhQUFhO0lBQy9CLE1BQU0sQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUMsa0JBQWtCO0lBQ3BDLE1BQU0sQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUMsaUJBQWlCO0lBQ25DLE1BQU0sQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUMsY0FBYztJQUNoQyxNQUFNLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDLGNBQWM7SUFDaEMsTUFBTSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQyxlQUFlO0lBQ2pDLE1BQU0sQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUMsbUJBQW1CO0lBQ3JDLE1BQU0sQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUMsZUFBZTtJQUNqQyxNQUFNLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDLDBCQUEwQjtJQUM1QyxNQUFNLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDLFlBQVk7SUFDOUIsTUFBTSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQyw0QkFBNEI7SUFDOUMsTUFBTSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQyw4QkFBOEI7SUFDaEQsTUFBTSxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUMsQ0FBQyw4QkFBOEI7SUFDbEQsTUFBTSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQyx5QkFBeUI7SUFDM0MsTUFBTSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQyw4QkFBOEI7SUFFdkQsb0JBQW9CO0lBQ2IsTUFBTSxDQUFDLFdBQVcsR0FBRyxzQkFBc0IsQ0FBQyxFQUFFLENBQUM7SUFFdEQscUNBQXFDO0lBQzlCLE1BQU0sQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLEdBQUcsQ0FBQztRQUN6QyxzQkFBc0IsQ0FBQyxFQUFFO1FBQ3pCLHNCQUFzQixDQUFDLEVBQUU7UUFDekIsc0JBQXNCLENBQUMsRUFBRTtRQUN6QixzQkFBc0IsQ0FBQyxFQUFFO1FBQ3pCLHNCQUFzQixDQUFDLEVBQUU7UUFDekIsc0JBQXNCLENBQUMsRUFBRTtRQUN6QixzQkFBc0IsQ0FBQyxLQUFLO1FBQzVCLHNCQUFzQixDQUFDLEVBQUU7UUFDekIsc0JBQXNCLENBQUMsRUFBRTtRQUN6QixzQkFBc0IsQ0FBQyxFQUFFO1FBQ3pCLHNCQUFzQixDQUFDLEVBQUU7UUFDekIsc0JBQXNCLENBQUMsRUFBRTtRQUN6QixzQkFBc0IsQ0FBQyxFQUFFO1FBQ3pCLHNCQUFzQixDQUFDLEVBQUU7UUFDekIsc0JBQXNCLENBQUMsRUFBRTtRQUN6QixzQkFBc0IsQ0FBQyxFQUFFO1FBQ3pCLHNCQUFzQixDQUFDLEVBQUU7UUFDekIsc0JBQXNCLENBQUMsRUFBRTtRQUN6QixzQkFBc0IsQ0FBQyxFQUFFO1FBQ3pCLHNCQUFzQixDQUFDLEVBQUU7UUFDekIsc0JBQXNCLENBQUMsRUFBRTtRQUN6QixzQkFBc0IsQ0FBQyxFQUFFO1FBQ3pCLHNCQUFzQixDQUFDLEVBQUU7UUFDekIsc0JBQXNCLENBQUMsRUFBRTtRQUN6QixzQkFBc0IsQ0FBQyxHQUFHO1FBQzFCLHNCQUFzQixDQUFDLEVBQUU7UUFDekIsc0JBQXNCLENBQUMsRUFBRTtLQUMxQixDQUFDLENBQUM7SUFFSDs7OztPQUlHO0lBQ0ksTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFZO1FBQ3BDLE9BQU8sc0JBQXNCLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgVXRpbHNMYW5ndWFnZUNvbnN0YW50cyB7XG4gIHB1YmxpYyBzdGF0aWMgVkkgPSAndmknOyAvLyBUaeG6v25nIFZp4buHdFxuICBwdWJsaWMgc3RhdGljIEVOID0gJ2VuJzsgLy8gVGnhur9uZyBBbmhcbiAgcHVibGljIHN0YXRpYyBGUiA9ICdmcic7IC8vIFRp4bq/bmcgUGjDoXBcbiAgcHVibGljIHN0YXRpYyBERSA9ICdkZSc7IC8vIFRp4bq/bmcgxJDhu6ljXG4gIHB1YmxpYyBzdGF0aWMgRVMgPSAnZXMnOyAvLyBUaeG6v25nIFTDonkgQmFuIE5oYVxuICBwdWJsaWMgc3RhdGljIFpIID0gJ3poJzsgLy8gVGnhur9uZyBUcnVuZyAoR2nhuqNuIHRo4buDKVxuICBwdWJsaWMgc3RhdGljIFpIX1RXID0gJ3poLVRXJzsgLy8gVGnhur9uZyBUcnVuZyAoUGjhu5NuIHRo4buDKVxuICBwdWJsaWMgc3RhdGljIEpBID0gJ2phJzsgLy8gVGnhur9uZyBOaOG6rXRcbiAgcHVibGljIHN0YXRpYyBLTyA9ICdrbyc7IC8vIFRp4bq/bmcgSMOgblxuICBwdWJsaWMgc3RhdGljIFJVID0gJ3J1JzsgLy8gVGnhur9uZyBOZ2FcbiAgcHVibGljIHN0YXRpYyBJVCA9ICdpdCc7IC8vIFRp4bq/bmcgw51cbiAgcHVibGljIHN0YXRpYyBQVCA9ICdwdCc7IC8vIFRp4bq/bmcgQuG7kyDEkMOgbyBOaGFcbiAgcHVibGljIHN0YXRpYyBUSCA9ICd0aCc7IC8vIFRp4bq/bmcgVGjDoWlcbiAgcHVibGljIHN0YXRpYyBJRCA9ICdpZCc7IC8vIFRp4bq/bmcgSW5kb25lc2lhXG4gIHB1YmxpYyBzdGF0aWMgTVMgPSAnbXMnOyAvLyBUaeG6v25nIE1hbGF5c2lhXG4gIHB1YmxpYyBzdGF0aWMgQVIgPSAnYXInOyAvLyBUaeG6v25nIOG6oiBS4bqtcFxuICBwdWJsaWMgc3RhdGljIEhJID0gJ2hpJzsgLy8gVGnhur9uZyBIaW5kaVxuICBwdWJsaWMgc3RhdGljIEJOID0gJ2JuJzsgLy8gVGnhur9uZyBCZW5nYWxcbiAgcHVibGljIHN0YXRpYyBUUiA9ICd0cic7IC8vIFRp4bq/bmcgVGjhu5UgTmjEqSBL4buzXG4gIHB1YmxpYyBzdGF0aWMgTkwgPSAnbmwnOyAvLyBUaeG6v25nIEjDoCBMYW5cbiAgcHVibGljIHN0YXRpYyBLTSA9ICdrbSc7IC8vIFRp4bq/bmcgS2htZXIgKENhbXB1Y2hpYSlcbiAgcHVibGljIHN0YXRpYyBMTyA9ICdsbyc7IC8vIFRp4bq/bmcgTMOgb1xuICBwdWJsaWMgc3RhdGljIE1ZID0gJ215JzsgLy8gVGnhur9uZyBNaeG6v24gxJBp4buHbiAoTXlhbm1hcilcbiAgcHVibGljIHN0YXRpYyBUTCA9ICd0bCc7IC8vIFRp4bq/bmcgVGFnYWxvZyAoUGhpbGlwcGluZXMpXG4gIHB1YmxpYyBzdGF0aWMgQ0VCID0gJ2NlYic7IC8vIFRp4bq/bmcgQ2VidWFubyAoUGhpbGlwcGluZXMpXG4gIHB1YmxpYyBzdGF0aWMgSlYgPSAnanYnOyAvLyBUaeG6v25nIEphdmEgKEluZG9uZXNpYSlcbiAgcHVibGljIHN0YXRpYyBTVSA9ICdzdSc7IC8vIFRp4bq/bmcgU3VuZGFuZXNlIChJbmRvbmVzaWEpXG5cbiAgLy8gTmfDtG4gbmfhu68gbeG6t2MgxJHhu4tuaFxuICBwdWJsaWMgc3RhdGljIGRlZmF1bHRMYW5nID0gVXRpbHNMYW5ndWFnZUNvbnN0YW50cy5WSTtcblxuICAvLyBEYW5oIHPDoWNoIGPDoWMgbmfDtG4gbmfhu68gxJHGsOG7o2MgaOG7lyB0cuG7o1xuICBwdWJsaWMgc3RhdGljIHN1cHBvcnRlZExhbmd1YWdlcyA9IG5ldyBTZXQoW1xuICAgIFV0aWxzTGFuZ3VhZ2VDb25zdGFudHMuVkksXG4gICAgVXRpbHNMYW5ndWFnZUNvbnN0YW50cy5FTixcbiAgICBVdGlsc0xhbmd1YWdlQ29uc3RhbnRzLkZSLFxuICAgIFV0aWxzTGFuZ3VhZ2VDb25zdGFudHMuREUsXG4gICAgVXRpbHNMYW5ndWFnZUNvbnN0YW50cy5FUyxcbiAgICBVdGlsc0xhbmd1YWdlQ29uc3RhbnRzLlpILFxuICAgIFV0aWxzTGFuZ3VhZ2VDb25zdGFudHMuWkhfVFcsXG4gICAgVXRpbHNMYW5ndWFnZUNvbnN0YW50cy5KQSxcbiAgICBVdGlsc0xhbmd1YWdlQ29uc3RhbnRzLktPLFxuICAgIFV0aWxzTGFuZ3VhZ2VDb25zdGFudHMuUlUsXG4gICAgVXRpbHNMYW5ndWFnZUNvbnN0YW50cy5JVCxcbiAgICBVdGlsc0xhbmd1YWdlQ29uc3RhbnRzLlBULFxuICAgIFV0aWxzTGFuZ3VhZ2VDb25zdGFudHMuVEgsXG4gICAgVXRpbHNMYW5ndWFnZUNvbnN0YW50cy5JRCxcbiAgICBVdGlsc0xhbmd1YWdlQ29uc3RhbnRzLk1TLFxuICAgIFV0aWxzTGFuZ3VhZ2VDb25zdGFudHMuQVIsXG4gICAgVXRpbHNMYW5ndWFnZUNvbnN0YW50cy5ISSxcbiAgICBVdGlsc0xhbmd1YWdlQ29uc3RhbnRzLkJOLFxuICAgIFV0aWxzTGFuZ3VhZ2VDb25zdGFudHMuVFIsXG4gICAgVXRpbHNMYW5ndWFnZUNvbnN0YW50cy5OTCxcbiAgICBVdGlsc0xhbmd1YWdlQ29uc3RhbnRzLktNLFxuICAgIFV0aWxzTGFuZ3VhZ2VDb25zdGFudHMuTE8sXG4gICAgVXRpbHNMYW5ndWFnZUNvbnN0YW50cy5NWSxcbiAgICBVdGlsc0xhbmd1YWdlQ29uc3RhbnRzLlRMLFxuICAgIFV0aWxzTGFuZ3VhZ2VDb25zdGFudHMuQ0VCLFxuICAgIFV0aWxzTGFuZ3VhZ2VDb25zdGFudHMuSlYsXG4gICAgVXRpbHNMYW5ndWFnZUNvbnN0YW50cy5TVSxcbiAgXSk7XG5cbiAgLyoqXG4gICAqIEtp4buDbSB0cmEgeGVtIG5nw7RuIG5n4buvIMSR4bqndSB2w6BvIGPDsyDEkcaw4bujYyBo4buXIHRy4bujIGtow7RuZ1xuICAgKiBAcGFyYW0gbGFuZyBNw6MgbmfDtG4gbmfhu68gY+G6p24ga2nhu4NtIHRyYVxuICAgKiBAcmV0dXJucyBUcnVlIG7hur91IMSRxrDhu6NjIGjhu5cgdHLhu6MsIEZhbHNlIG7hur91IGtow7RuZ1xuICAgKi9cbiAgcHVibGljIHN0YXRpYyBpc1N1cHBvcnRlZChsYW5nOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gVXRpbHNMYW5ndWFnZUNvbnN0YW50cy5zdXBwb3J0ZWRMYW5ndWFnZXMuaGFzKGxhbmcpO1xuICB9XG59XG4iXX0=
|
package/esm2022/pattern.mjs
CHANGED
|
@@ -59,4 +59,4 @@ export const patternKey = () => {
|
|
|
59
59
|
export const patternAccount = () => {
|
|
60
60
|
return /^(?=.*@)[a-z0-9@._-]{2,63}$/;
|
|
61
61
|
};
|
|
62
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0dGVybi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMtdWkvdXRpbHMvc3JjL3BhdHRlcm4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsc0NBQXNDO0FBQ3RDLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxHQUFHLEVBQUU7SUFDL0IsT0FBTyw2R0FBNkcsQ0FBQztBQUN2SCxDQUFDLENBQUM7QUFDRixNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsR0FBRyxFQUFFO0lBQzdCLE9BQU8sOENBQThDLENBQUM7QUFDeEQsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLEdBQUcsRUFBRTtJQUNqQyxPQUFPLG1DQUFtQyxDQUFDO0FBQzdDLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxHQUFHLEVBQUU7SUFDaEMsT0FBTyxnSEFBZ0gsQ0FBQztBQUMxSCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxHQUFHLEVBQUU7SUFDckMsT0FBTywwQkFBMEIsQ0FBQztBQUNwQyxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsR0FBRyxFQUFFO0lBQy9CLE9BQU8sZ0NBQWdDLENBQUM7QUFDMUMsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsR0FBRyxFQUFFO0lBQ3JDLE9BQU8saUNBQWlDLENBQUM7QUFDM0MsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLEdBQUcsRUFBRTtJQUNoQyxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDLENBQUM7QUFDRixNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxHQUFHLEVBQUU7SUFDbkMsT0FBTyxpQkFBaUIsQ0FBQztBQUMzQixDQUFDLENBQUM7QUFDRixNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsR0FBRyxFQUFFO0lBQzlCLE9BQU8sb0JBQW9CLENBQUM7QUFDOUIsQ0FBQyxDQUFDO0FBQ0YsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLEdBQUcsRUFBRTtJQUNsQyxPQUFPLHFKQUFxSixDQUFDO0FBQy9KLENBQUMsQ0FBQztBQUNGLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLEdBQUcsRUFBRTtJQUNyQyxPQUFPLDhCQUE4QixDQUFDO0FBQ3hDLENBQUMsQ0FBQztBQUNGLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLEdBQUcsRUFBRTtJQUNyQyxPQUFPLGdCQUFnQixDQUFDO0FBQzFCLENBQUMsQ0FBQztBQUNGLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxHQUFHLEVBQUU7SUFDL0IsT0FBTyxvR0FBb0csQ0FBQztBQUM5RyxDQUFDLENBQUM7QUFDRixNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxHQUFHLEVBQUU7SUFDMUMsT0FBTywwQkFBMEIsQ0FBQztBQUNwQyxDQUFDLENBQUM7QUFDRixNQUFNLENBQUMsTUFBTSxpQ0FBaUMsR0FBRyxHQUFHLEVBQUU7SUFDcEQsT0FBTyxjQUFjLENBQUM7QUFDeEIsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLEdBQUcsRUFBRTtJQUM3QixPQUFPLDJEQUEyRCxDQUFDO0FBQ3JFLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxHQUFHLEVBQUU7SUFDN0IsT0FBTywyQkFBMkIsQ0FBQztBQUNyQyxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsR0FBRyxFQUFFO0lBQzdCLE9BQU8sMkJBQTJCLENBQUM7QUFDckMsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLEdBQUcsRUFBRTtJQUNqQyxPQUFPLDZCQUE2QixDQUFDO0FBQ3ZDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLXVzZWxlc3MtZXNjYXBlICovXG5leHBvcnQgY29uc3QgcGF0dGVybkVtYWlsID0gKCkgPT4ge1xuICByZXR1cm4gL15bQS16MC05XStbQS16MC05XFxfXFwuXFwrXFwtXSpbQS16MC05XUBbQS16MC05XStbQS16MC05XFxfXFwuXFwrXFwtXSpbQS16MC05XVxcLltBLXowLTldK1tBLXowLTlcXF9cXC5cXCtcXC1dKltBLXowLTldJC87XG59O1xuZXhwb3J0IGNvbnN0IHBhdHRlcm5VcmwgPSAoKSA9PiB7XG4gIHJldHVybiAvXihodHRwfGh0dHBzfGZ0cCk6KFxcLyl7Mn1bXlxcc10rWy5dezF9W15cXHNdKyQvO1xufTtcblxuZXhwb3J0IGNvbnN0IHBhdHRlcm5Ib3N0VXJsID0gKCkgPT4ge1xuICByZXR1cm4gL14oKGh0dHBzfGh0dHB8ZnRwKTpbL117Mn1bXi9cXHNdKykvO1xufTtcblxuZXhwb3J0IGNvbnN0IHBhdHRlcm5Eb21haW4gPSAoKSA9PiB7XG4gIHJldHVybiAvXihbYS16QS1aMC05XSkoKFthLXowLTktXXsxLDYxfSk/W2EtejAtOV17MX0pPyhcXC5bYS16MC05XSgoW2EtejAtOS1dezEsNjF9KT9bYS16MC05XXsxfSk/KT8oXFwuW2EtekEtWl17Miw0fSkrJC87XG59O1xuXG5leHBvcnQgY29uc3QgcGF0dGVybk1vYmlsZVBob25lID0gKCkgPT4ge1xuICByZXR1cm4gL14oXFwrPzg0fDB8ODQpKFswLTldezl9KSQvO1xufTtcblxuZXhwb3J0IGNvbnN0IHBhdHRlcm5QaG9uZSA9ICgpID0+IHtcbiAgcmV0dXJuIC9eKFxcKz84NHxbMC05XXw4NCkoWzAtOV17Miw5fSkkLztcbn07XG5cbmV4cG9ydCBjb25zdCBwYXR0ZXJuUGhvbmVOb3JtYWwgPSAoKSA9PiB7XG4gIHJldHVybiAvXihcXCs/ODR8WzAtOV18ODQpKFswLTldezksMTB9KSQvO1xufTtcblxuZXhwb3J0IGNvbnN0IHBhdHRlcm5OdW1iZXIgPSAoKSA9PiB7XG4gIHJldHVybiAvXFxkKy9nO1xufTtcbmV4cG9ydCBjb25zdCBwYXR0ZXJuRW5jb2RlVXJpID0gKCkgPT4ge1xuICByZXR1cm4gLyUoWzAtOUEtRl17Mn0pL2c7XG59O1xuZXhwb3J0IGNvbnN0IHBhdHRlcm5OYW1lID0gKCkgPT4ge1xuICByZXR1cm4gL15cXHcrW0EtWmEtelxcc1xcZF0rJC87XG59O1xuZXhwb3J0IGNvbnN0IHBhdHRlcm5OYW1lVXRmOCA9ICgpID0+IHtcbiAgcmV0dXJuIC9eWyDDoMOh4bqjw6PhuqHEg+G6r+G6seG6teG6t+G6s8Oi4bqn4bql4bqt4bqr4bqpxJHDqMOp4bq74bq94bq5w6rhu4Hhur/hu4Phu4Xhu4fDrMOt4buJxKnhu4vDssOz4buPw7Xhu43DtOG7k+G7keG7leG7l+G7mcah4bud4bub4buf4buh4bujw7nDuuG7p8Wp4bulxrDhu6vhu6nhu63hu6/hu7Hhu7PDveG7t+G7ucOAw4HhuqLDg+G6oMSC4bqu4bqw4bq04bq24bqyw4LhuqbhuqThuqzhuqrhuqjEkMOIw4nhurrhurzhurjDiuG7gOG6vuG7guG7hOG7hsOMw43hu4jEqOG7isOSw5Phu47DleG7jMOU4buS4buQ4buU4buW4buYxqDhu5zhu5rhu57hu6Dhu6LDmcOa4bumxajhu6TGr+G7quG7qOG7rOG7ruG7sOG7ssOd4bu24bu4QS1aYS16MC05XSskLztcbn07XG5leHBvcnQgY29uc3QgcGF0dGVybk5hbWVTcGVjaWFsID0gKCkgPT4ge1xuICByZXR1cm4gL1t+IUAjJCVeJiooKS0rPTw+LD9cXC9cXFxcOjtcIiddLztcbn07XG5leHBvcnQgY29uc3QgcGF0dGVybk5hbWVQcm9maWxlID0gKCkgPT4ge1xuICByZXR1cm4gLyhbXFx3XFxXXFxkXFxzXSspKy87XG59O1xuZXhwb3J0IGNvbnN0IHBhdHRlcm5FbW9qaSA9ICgpID0+IHtcbiAgcmV0dXJuIC8oXFx1MDBhOXxcXHUwMGFlfFtcXHUyMDAwLVxcdTMzMDBdfFxcdWQ4M2NbXFx1ZDAwMC1cXHVkZmZmXXxcXHVkODNkW1xcdWQwMDAtXFx1ZGZmZl18XFx1ZDgzZVtcXHVkMDAwLVxcdWRmZmZdKS9nO1xufTtcbmV4cG9ydCBjb25zdCBwYXR0ZXJuUnVsZUZpZWxkUmVwbGFjZSA9ICgpID0+IHtcbiAgcmV0dXJuIC9be117Mn1bYS16QS1aXy1dK1t9XXsyfS9nO1xufTtcbmV4cG9ydCBjb25zdCBwYXR0ZXJuR2V0RmllbGRCeVJ1bGVGaWVsZFJlcGxhY2UgPSAoKSA9PiB7XG4gIHJldHVybiAvW2EtekEtWl8tXSsvZztcbn07XG5cbmV4cG9ydCBjb25zdCBwYXR0ZXJuUGVtID0gKCkgPT4ge1xuICByZXR1cm4gL14oMHwxKTooWzAtOV17MSwyfSk6KFxce1xce3BhdGgtYXBpXFx9XFx9KTooW2EtekEtWjAtOVxcL10rKSQvZztcbn07XG5cbmV4cG9ydCBjb25zdCBwYXR0ZXJuVGF4ID0gKCkgPT4ge1xuICByZXR1cm4gL14oWzAtOV0pezEwfSgtWzAtOV17M30pPyQvO1xufTtcblxuZXhwb3J0IGNvbnN0IHBhdHRlcm5LZXkgPSAoKSA9PiB7XG4gIHJldHVybiAvXihbMC05XSl7MTB9KC1bMC05XXszfSk/JC87XG59O1xuXG5leHBvcnQgY29uc3QgcGF0dGVybkFjY291bnQgPSAoKSA9PiB7XG4gIHJldHVybiAvXig/PS4qQClbYS16MC05QC5fLV17Miw2M30kLztcbn07XG4iXX0=
|
package/esm2022/random.mjs
CHANGED
|
@@ -13,7 +13,7 @@ export const revealString = (encoded) => {
|
|
|
13
13
|
const decoded = base
|
|
14
14
|
.split('')
|
|
15
15
|
.reverse()
|
|
16
|
-
.map(c => String.fromCharCode(c.charCodeAt(0) ^ xorKey))
|
|
16
|
+
.map((c) => String.fromCharCode(c.charCodeAt(0) ^ xorKey))
|
|
17
17
|
.join('');
|
|
18
18
|
return decoded;
|
|
19
19
|
};
|
|
@@ -39,4 +39,4 @@ export const createUniqueRandomIntGenerator = (min, max) => {
|
|
|
39
39
|
return num;
|
|
40
40
|
};
|
|
41
41
|
};
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFuZG9tLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicy11aS91dGlscy9zcmMvcmFuZG9tLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxDQUFDLEtBQWEsRUFBVSxFQUFFO0lBQ3JELE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQztJQUNsQixNQUFNLE9BQU8sR0FBRyxLQUFLO1NBQ2xCLEtBQUssQ0FBQyxFQUFFLENBQUM7U0FDVCxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQztTQUMvRCxPQUFPLEVBQUU7U0FDVCxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDWixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUN2QixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxPQUFlLEVBQVUsRUFBRTtJQUN0RCxNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUM7SUFDbEIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzNCLE1BQU0sT0FBTyxHQUFHLElBQUk7U0FDakIsS0FBSyxDQUFDLEVBQUUsQ0FBQztTQUNULE9BQU8sRUFBRTtTQUNULEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDO1NBQ3pELElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNaLE9BQU8sT0FBTyxDQUFDO0FBQ2pCLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUFHLENBQUMsR0FBVyxFQUFFLEdBQVcsRUFBRSxFQUFFO0lBQ3pFLElBQUksR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUFDLEdBQUcsR0FBRyxHQUFHLEVBQUUsRUFBRSxDQUFDO1FBQzdCLE1BQU0sSUFBSSxLQUFLLENBQUMsdURBQXVELENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBRUQsTUFBTSxPQUFPLEdBQWEsRUFBRSxDQUFDO0lBRTdCLE9BQU8sR0FBVyxFQUFFO1FBQ2xCLElBQUksR0FBVyxDQUFDO1FBQ2hCLElBQUksSUFBSSxHQUFHLENBQUMsQ0FBQztRQUViLEdBQUcsQ0FBQztZQUNGLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLEdBQUcsR0FBRyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUM7WUFDeEQsSUFBSSxFQUFFLENBQUM7WUFFUCxJQUFJLElBQUksR0FBRyxJQUFJLEVBQUUsQ0FBQztnQkFDaEIsTUFBTTtZQUNSLENBQUM7UUFDSCxDQUFDLFFBQVEsT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRTtRQUVoQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRWxCLElBQUksT0FBTyxDQUFDLE1BQU0sR0FBRyxFQUFFLEVBQUUsQ0FBQztZQUN4QixPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDbEIsQ0FBQztRQUVELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQyxDQUFDO0FBQ0osQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IHByb3RlY3RTdHJpbmcgPSAoaW5wdXQ6IHN0cmluZyk6IHN0cmluZyA9PiB7XG4gIGNvbnN0IHhvcktleSA9IDc3O1xuICBjb25zdCBlbmNvZGVkID0gaW5wdXRcbiAgICAuc3BsaXQoJycpXG4gICAgLm1hcCgoY2hhcikgPT4gU3RyaW5nLmZyb21DaGFyQ29kZShjaGFyLmNoYXJDb2RlQXQoMCkgXiB4b3JLZXkpKVxuICAgIC5yZXZlcnNlKClcbiAgICAuam9pbignJyk7XG4gIHJldHVybiBidG9hKGVuY29kZWQpO1xufTtcblxuZXhwb3J0IGNvbnN0IHJldmVhbFN0cmluZyA9IChlbmNvZGVkOiBzdHJpbmcpOiBzdHJpbmcgPT4ge1xuICBjb25zdCB4b3JLZXkgPSA3NztcbiAgY29uc3QgYmFzZSA9IGF0b2IoZW5jb2RlZCk7XG4gIGNvbnN0IGRlY29kZWQgPSBiYXNlXG4gICAgLnNwbGl0KCcnKVxuICAgIC5yZXZlcnNlKClcbiAgICAubWFwKChjKSA9PiBTdHJpbmcuZnJvbUNoYXJDb2RlKGMuY2hhckNvZGVBdCgwKSBeIHhvcktleSkpXG4gICAgLmpvaW4oJycpO1xuICByZXR1cm4gZGVjb2RlZDtcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVVbmlxdWVSYW5kb21JbnRHZW5lcmF0b3IgPSAobWluOiBudW1iZXIsIG1heDogbnVtYmVyKSA9PiB7XG4gIGlmIChtYXggLSBtaW4gKyAxIDwgbWluICsgMTApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFJhbmdlIHRvbyBzbWFsbDogbmVlZCBhdCBsZWFzdCBtaW4gKyAxMCB1bmlxdWUgdmFsdWVzYCk7XG4gIH1cblxuICBjb25zdCBoaXN0b3J5OiBudW1iZXJbXSA9IFtdO1xuXG4gIHJldHVybiAoKTogbnVtYmVyID0+IHtcbiAgICBsZXQgbnVtOiBudW1iZXI7XG4gICAgbGV0IGxvb3AgPSAwO1xuXG4gICAgZG8ge1xuICAgICAgbnVtID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogKG1heCAtIG1pbiArIDEpKSArIG1pbjtcbiAgICAgIGxvb3ArKztcblxuICAgICAgaWYgKGxvb3AgPiAxMDAwKSB7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH0gd2hpbGUgKGhpc3RvcnkuaW5jbHVkZXMobnVtKSk7XG5cbiAgICBoaXN0b3J5LnB1c2gobnVtKTtcblxuICAgIGlmIChoaXN0b3J5Lmxlbmd0aCA+IDEwKSB7XG4gICAgICBoaXN0b3J5LnNoaWZ0KCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bTtcbiAgfTtcbn07XG4iXX0=
|