sonamu 0.7.21 → 0.7.23
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/dist/ai/agents/agent.d.ts +6 -1
- package/dist/ai/agents/agent.d.ts.map +1 -1
- package/dist/ai/agents/agent.js +20 -5
- package/dist/api/base-frame.d.ts +4 -0
- package/dist/api/base-frame.d.ts.map +1 -1
- package/dist/api/base-frame.js +9 -1
- package/dist/api/caster.d.ts.map +1 -1
- package/dist/api/caster.js +2 -2
- package/dist/api/config.d.ts +35 -3
- package/dist/api/config.d.ts.map +1 -1
- package/dist/api/config.js +1 -1
- package/dist/api/decorators.d.ts +4 -4
- package/dist/api/decorators.d.ts.map +1 -1
- package/dist/api/decorators.js +80 -18
- package/dist/api/index.d.ts +1 -0
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/index.js +2 -1
- package/dist/api/secret.d.ts +7 -0
- package/dist/api/secret.d.ts.map +1 -0
- package/dist/api/secret.js +17 -0
- package/dist/api/sonamu.d.ts +17 -8
- package/dist/api/sonamu.d.ts.map +1 -1
- package/dist/api/sonamu.js +265 -47
- package/dist/cache/cache-manager.d.ts +11 -0
- package/dist/cache/cache-manager.d.ts.map +1 -0
- package/dist/cache/cache-manager.js +22 -0
- package/dist/cache/decorator.d.ts +31 -0
- package/dist/cache/decorator.d.ts.map +1 -0
- package/dist/cache/decorator.js +86 -0
- package/dist/cache/drivers.d.ts +33 -0
- package/dist/cache/drivers.d.ts.map +1 -0
- package/dist/cache/drivers.js +36 -0
- package/dist/cache/index.d.ts +4 -0
- package/dist/cache/index.d.ts.map +1 -0
- package/dist/cache/index.js +8 -0
- package/dist/cache/types.d.ts +28 -0
- package/dist/cache/types.d.ts.map +1 -0
- package/dist/cache/types.js +6 -0
- package/dist/database/base-model.d.ts +4 -2
- package/dist/database/base-model.d.ts.map +1 -1
- package/dist/database/base-model.js +9 -4
- package/dist/database/code-generator.d.ts +3 -1
- package/dist/database/code-generator.d.ts.map +1 -1
- package/dist/database/code-generator.js +3 -2
- package/dist/database/db.d.ts +1 -1
- package/dist/database/db.d.ts.map +1 -1
- package/dist/database/db.js +5 -5
- package/dist/database/knex.d.ts +3 -0
- package/dist/database/knex.d.ts.map +1 -0
- package/dist/database/knex.js +29 -0
- package/dist/database/puri.types.d.ts.map +1 -1
- package/dist/database/puri.types.js +1 -1
- package/dist/database/upsert-builder.d.ts.map +1 -1
- package/dist/database/upsert-builder.js +49 -5
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -1
- package/dist/logger/category.d.ts +4 -0
- package/dist/logger/category.d.ts.map +1 -0
- package/dist/logger/category.js +34 -0
- package/dist/logger/configure.d.ts +9 -0
- package/dist/logger/configure.d.ts.map +1 -0
- package/dist/logger/configure.js +115 -0
- package/dist/migration/code-generation.d.ts +5 -1
- package/dist/migration/code-generation.d.ts.map +1 -1
- package/dist/migration/code-generation.js +13 -7
- package/dist/migration/migrator.d.ts +1 -1
- package/dist/migration/migrator.d.ts.map +1 -1
- package/dist/migration/migrator.js +7 -7
- package/dist/migration/postgresql-schema-reader.d.ts.map +1 -1
- package/dist/migration/postgresql-schema-reader.js +5 -3
- package/dist/naite/naite.d.ts +0 -4
- package/dist/naite/naite.d.ts.map +1 -1
- package/dist/naite/naite.js +11 -19
- package/dist/ssr/index.d.ts +4 -0
- package/dist/ssr/index.d.ts.map +1 -0
- package/dist/ssr/index.js +4 -0
- package/dist/ssr/registry.d.ts +10 -0
- package/dist/ssr/registry.d.ts.map +1 -0
- package/dist/ssr/registry.js +43 -0
- package/dist/ssr/renderer.d.ts +6 -0
- package/dist/ssr/renderer.d.ts.map +1 -0
- package/dist/ssr/renderer.js +70 -0
- package/dist/ssr/types.d.ts +19 -0
- package/dist/ssr/types.d.ts.map +1 -0
- package/dist/ssr/types.js +4 -0
- package/dist/syncer/syncer.d.ts +1 -0
- package/dist/syncer/syncer.d.ts.map +1 -1
- package/dist/syncer/syncer.js +58 -1
- package/dist/tasks/decorator.d.ts +1 -0
- package/dist/tasks/decorator.d.ts.map +1 -1
- package/dist/tasks/decorator.js +9 -7
- package/dist/tasks/step-wrapper.d.ts +5 -0
- package/dist/tasks/step-wrapper.d.ts.map +1 -1
- package/dist/tasks/step-wrapper.js +11 -6
- package/dist/tasks/workflow-manager.d.ts +2 -0
- package/dist/tasks/workflow-manager.d.ts.map +1 -1
- package/dist/tasks/workflow-manager.js +5 -2
- package/dist/template/implementations/entry-server.template.d.ts +17 -0
- package/dist/template/implementations/entry-server.template.d.ts.map +1 -0
- package/dist/template/implementations/entry-server.template.js +78 -0
- package/dist/template/implementations/model.template.d.ts.map +1 -1
- package/dist/template/implementations/model.template.js +5 -3
- package/dist/template/implementations/queries.template.d.ts +17 -0
- package/dist/template/implementations/queries.template.d.ts.map +1 -0
- package/dist/template/implementations/queries.template.js +83 -0
- package/dist/template/implementations/view_enums_select.template.d.ts.map +1 -1
- package/dist/template/implementations/view_enums_select.template.js +34 -20
- package/dist/template/implementations/view_form.template.d.ts +2 -1
- package/dist/template/implementations/view_form.template.d.ts.map +1 -1
- package/dist/template/implementations/view_form.template.js +301 -129
- package/dist/template/implementations/view_id_async_select.template.d.ts.map +1 -1
- package/dist/template/implementations/view_id_async_select.template.js +136 -57
- package/dist/template/implementations/view_list.template.d.ts +2 -0
- package/dist/template/implementations/view_list.template.d.ts.map +1 -1
- package/dist/template/implementations/view_list.template.js +392 -227
- package/dist/template/implementations/view_search_input.template.d.ts.map +1 -1
- package/dist/template/implementations/view_search_input.template.js +46 -30
- package/dist/template/zod-converter.d.ts.map +1 -1
- package/dist/template/zod-converter.js +2 -2
- package/dist/testing/bootstrap.d.ts +28 -0
- package/dist/testing/bootstrap.d.ts.map +1 -0
- package/dist/testing/bootstrap.js +120 -0
- package/dist/testing/fixture-loader.d.ts +21 -0
- package/dist/testing/fixture-loader.d.ts.map +1 -0
- package/dist/testing/fixture-loader.js +28 -0
- package/dist/testing/fixture-manager.d.ts +1 -1
- package/dist/testing/fixture-manager.d.ts.map +1 -1
- package/dist/testing/fixture-manager.js +7 -7
- package/dist/testing/index.d.ts +4 -0
- package/dist/testing/index.d.ts.map +1 -0
- package/dist/testing/index.js +5 -0
- package/dist/testing/naite-vitest-reporter.d.ts +12 -0
- package/dist/testing/naite-vitest-reporter.d.ts.map +1 -0
- package/dist/testing/naite-vitest-reporter.js +17 -0
- package/dist/types/types.d.ts +5 -6
- package/dist/types/types.d.ts.map +1 -1
- package/dist/types/types.js +7 -8
- package/dist/ui/ai-client.d.ts +3 -1
- package/dist/ui/ai-client.d.ts.map +1 -1
- package/dist/ui/ai-client.js +27 -8
- package/dist/ui-web/assets/index-CTYv3qL6.js +92 -0
- package/dist/ui-web/index.html +1 -1
- package/package.json +43 -20
- package/src/ai/agents/agent.ts +38 -19
- package/src/api/base-frame.ts +8 -0
- package/src/api/caster.ts +6 -1
- package/src/api/config.ts +38 -4
- package/src/api/decorators.ts +106 -20
- package/src/api/index.ts +1 -0
- package/src/api/secret.ts +23 -0
- package/src/api/sonamu.ts +334 -61
- package/src/cache/cache-manager.ts +23 -0
- package/src/cache/decorator.ts +116 -0
- package/src/cache/drivers.ts +42 -0
- package/src/cache/index.ts +16 -0
- package/src/cache/types.ts +32 -0
- package/src/database/base-model.ts +7 -3
- package/src/database/code-generator.ts +3 -1
- package/src/database/db.ts +5 -5
- package/src/database/knex.ts +34 -0
- package/src/database/puri.types.ts +2 -3
- package/src/database/upsert-builder.ts +58 -4
- package/src/index.ts +4 -0
- package/src/logger/category.ts +42 -0
- package/src/logger/configure.ts +132 -0
- package/src/migration/code-generation.ts +19 -6
- package/src/migration/migrator.ts +7 -6
- package/src/migration/postgresql-schema-reader.ts +7 -2
- package/src/naite/naite.ts +10 -18
- package/src/shared/web.shared.ts.txt +1 -1
- package/src/ssr/index.ts +13 -0
- package/src/ssr/registry.ts +52 -0
- package/src/ssr/renderer.ts +105 -0
- package/src/ssr/types.ts +20 -0
- package/src/syncer/syncer.ts +59 -0
- package/src/tasks/decorator.ts +20 -4
- package/src/tasks/step-wrapper.ts +14 -5
- package/src/tasks/workflow-manager.ts +9 -1
- package/src/template/implementations/entry-server.template.ts +81 -0
- package/src/template/implementations/model.template.ts +4 -2
- package/src/template/implementations/queries.template.ts +111 -0
- package/src/template/implementations/view_enums_select.template.ts +33 -19
- package/src/template/implementations/view_form.template.ts +324 -145
- package/src/template/implementations/view_id_async_select.template.ts +145 -56
- package/src/template/implementations/view_list.template.ts +446 -236
- package/src/template/implementations/view_search_input.template.ts +45 -29
- package/src/template/zod-converter.ts +4 -1
- package/src/testing/bootstrap.ts +176 -0
- package/src/testing/fixture-loader.ts +28 -0
- package/src/testing/fixture-manager.ts +7 -6
- package/src/testing/index.ts +3 -0
- package/src/testing/naite-vitest-reporter.ts +18 -0
- package/src/types/types.ts +4 -5
- package/src/ui/ai-client.ts +82 -50
- package/dist/template/implementations/view_enums_dropdown.template.d.ts +0 -17
- package/dist/template/implementations/view_enums_dropdown.template.d.ts.map +0 -1
- package/dist/template/implementations/view_enums_dropdown.template.js +0 -50
- package/dist/ui-web/assets/index-B87IyofX.js +0 -92
- package/src/template/implementations/view_enums_dropdown.template.ts +0 -53
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view_id_async_select.template.d.ts","sourceRoot":"","sources":["../../../src/template/implementations/view_id_async_select.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACpF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,qBAAa,8BAA+B,SAAQ,QAAQ;;IAK1D,gBAAgB,CAAC,KAAK,EAAE,iBAAiB;;;;IAOzC,MAAM,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,eAAe,CAAC,sBAAsB,CAAC;;;;;;
|
|
1
|
+
{"version":3,"file":"view_id_async_select.template.d.ts","sourceRoot":"","sources":["../../../src/template/implementations/view_id_async_select.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACpF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,qBAAa,8BAA+B,SAAQ,QAAQ;;IAK1D,gBAAgB,CAAC,KAAK,EAAE,iBAAiB;;;;IAOzC,MAAM,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,eAAe,CAAC,sBAAsB,CAAC;;;;;;CAoLxE"}
|
|
@@ -13,86 +13,165 @@ export class Template__view_id_async_select extends Template {
|
|
|
13
13
|
render({ entityId, textField }) {
|
|
14
14
|
const names = EntityManager.getNamesFromId(entityId);
|
|
15
15
|
const entity = EntityManager.get(entityId);
|
|
16
|
+
// textField가 지정되지 않은 경우 모든 subset에 공통으로 있는 필드 찾기
|
|
16
17
|
if (!textField) {
|
|
17
|
-
const
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
18
|
+
const subsetKeys = Object.keys(entity.subsets);
|
|
19
|
+
if (subsetKeys.length > 0) {
|
|
20
|
+
// 모든 subset에 공통으로 포함된 직접 필드만 추출
|
|
21
|
+
const commonFields = subsetKeys.reduce((common, key)=>{
|
|
22
|
+
const fields = entity.subsets[key].filter((path)=>!path.includes(".")) // 직접 필드만
|
|
23
|
+
.map((path)=>path);
|
|
24
|
+
return common.filter((field)=>fields.includes(field));
|
|
25
|
+
}, entity.subsets[subsetKeys[0]].filter((path)=>!path.includes(".")));
|
|
26
|
+
// 우선순위: name > title > 첫 번째 string 타입
|
|
27
|
+
const pickedProp = entity.props.find((prop)=>[
|
|
28
|
+
"name",
|
|
29
|
+
"title"
|
|
30
|
+
].includes(prop.name) && commonFields.includes(prop.name));
|
|
31
|
+
if (pickedProp) {
|
|
32
|
+
textField = pickedProp.name;
|
|
27
33
|
} else {
|
|
28
|
-
|
|
34
|
+
const candidateProp = entity.props.find((prop)=>prop.type === "string" && commonFields.includes(prop.name));
|
|
35
|
+
if (candidateProp) {
|
|
36
|
+
textField = candidateProp.name;
|
|
37
|
+
} else {
|
|
38
|
+
// 공통 필드가 없으면 id 사용
|
|
39
|
+
textField = "id";
|
|
40
|
+
console.log(`Warning: ${entityId}에 모든 subset에 공통으로 포함된 string 필드가 없어 id를 사용합니다`);
|
|
41
|
+
}
|
|
29
42
|
}
|
|
30
43
|
}
|
|
31
44
|
}
|
|
32
45
|
return {
|
|
33
46
|
...this.getTargetAndPath(names),
|
|
34
47
|
body: `
|
|
35
|
-
import React, { useState, useEffect,
|
|
36
|
-
import {
|
|
48
|
+
import React, { useState, useEffect, useMemo, useCallback } from "react";
|
|
49
|
+
import { AsyncSelect, AsyncSelectOption, MultiSelect, MultiSelectOption } from "@sonamu-kit/react-components/components";
|
|
37
50
|
import { ${names.capital}SubsetKey, ${names.capital}SubsetMapping } from "@/services/sonamu.generated";
|
|
38
51
|
import { ${names.capital}Service } from "@/services/services.generated";
|
|
39
52
|
import { ${names.capital}ListParams } from "@/services/${names.fs}/${names.fs}.types";
|
|
40
53
|
|
|
41
|
-
export
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
54
|
+
export type ${names.capital}IdAsyncSelectProps<T extends ${names.capital}SubsetKey> = {
|
|
55
|
+
subset: T;
|
|
56
|
+
baseListParams?: ${names.capital}ListParams;
|
|
57
|
+
textField${textField ? "?" : ""}: keyof ${names.capital}SubsetMapping[T];
|
|
58
|
+
valueField?: keyof ${names.capital}SubsetMapping[T];
|
|
59
|
+
placeholder?: string;
|
|
60
|
+
clearable?: boolean;
|
|
61
|
+
disabled?: boolean;
|
|
62
|
+
className?: string;
|
|
63
|
+
multiple?: boolean;
|
|
64
|
+
} & (
|
|
65
|
+
| {
|
|
66
|
+
multiple?: false;
|
|
67
|
+
value?: number | null;
|
|
68
|
+
onChange?: (e: React.SyntheticEvent | null, data: { value: number | undefined }) => void;
|
|
69
|
+
}
|
|
70
|
+
| {
|
|
71
|
+
multiple: true;
|
|
72
|
+
value?: number[];
|
|
73
|
+
onChange?: (e: React.SyntheticEvent | null, data: { value: number[] }) => void;
|
|
74
|
+
}
|
|
75
|
+
);
|
|
76
|
+
|
|
77
|
+
export function ${names.capital}IdAsyncSelect<T extends ${names.capital}SubsetKey>({
|
|
78
|
+
subset,
|
|
79
|
+
value,
|
|
80
|
+
onChange,
|
|
81
|
+
baseListParams,
|
|
82
|
+
textField,
|
|
83
|
+
valueField,
|
|
84
|
+
placeholder = "${entity.title ?? names.constant}",
|
|
85
|
+
clearable,
|
|
86
|
+
disabled,
|
|
87
|
+
className,
|
|
88
|
+
multiple = false,
|
|
89
|
+
}: ${names.capital}IdAsyncSelectProps<T>) {
|
|
50
90
|
const [listParams, setListParams] = useState<${names.capital}ListParams>(
|
|
51
|
-
baseListParams ?? {}
|
|
91
|
+
baseListParams ?? {}
|
|
52
92
|
);
|
|
53
93
|
|
|
54
|
-
const { data,
|
|
55
|
-
const { rows: ${names.camelPlural}
|
|
94
|
+
const { data, isLoading } = ${names.capital}Service.use${names.capitalPlural}(subset, listParams);
|
|
95
|
+
const { rows: ${names.camelPlural} } = data ?? {};
|
|
56
96
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
97
|
+
// 옵션 생성
|
|
98
|
+
const options = useMemo(() => {
|
|
99
|
+
return (${names.camelPlural} ?? []).map((${names.camel}) => {
|
|
100
|
+
// textField가 지정되지 않은 경우 기본값 사용
|
|
101
|
+
const label = (() => {
|
|
102
|
+
if (textField) {
|
|
103
|
+
return String(${names.camel}[textField]);
|
|
104
|
+
}
|
|
105
|
+
return String(${names.camel}.${textField || "id"});
|
|
106
|
+
})();
|
|
107
|
+
|
|
108
|
+
return {
|
|
109
|
+
value: String(${names.camel}[valueField ?? "id"] as number),
|
|
110
|
+
label,
|
|
111
|
+
};
|
|
112
|
+
});
|
|
113
|
+
}, [${names.camelPlural}, textField, valueField]);
|
|
68
114
|
|
|
115
|
+
// baseListParams 변경 시 반영
|
|
69
116
|
useEffect(() => {
|
|
70
|
-
setListParams({
|
|
71
|
-
...
|
|
117
|
+
setListParams((prev) => ({
|
|
118
|
+
...prev,
|
|
72
119
|
...baseListParams,
|
|
73
|
-
});
|
|
120
|
+
}));
|
|
74
121
|
}, [baseListParams]);
|
|
75
122
|
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
123
|
+
// 검색어 변경 핸들러
|
|
124
|
+
const handleSearch = useCallback((keyword: string) => {
|
|
125
|
+
setListParams((prev) => ({
|
|
126
|
+
...prev,
|
|
127
|
+
keyword: keyword || undefined,
|
|
128
|
+
}));
|
|
129
|
+
}, []);
|
|
130
|
+
|
|
131
|
+
// Multiple select
|
|
132
|
+
if (multiple) {
|
|
133
|
+
const multiValue = Array.isArray(value) ? value.map(String) : [];
|
|
134
|
+
|
|
135
|
+
const handleMultiChange = (selectedValues: string[]) => {
|
|
136
|
+
if (onChange) {
|
|
137
|
+
const numericValues = selectedValues.map(Number);
|
|
138
|
+
(onChange as (e: React.SyntheticEvent | null, data: { value: number[] }) => void)(null, { value: numericValues });
|
|
139
|
+
}
|
|
140
|
+
};
|
|
141
|
+
|
|
142
|
+
return (
|
|
143
|
+
<MultiSelect
|
|
144
|
+
options={options}
|
|
145
|
+
onValueChange={handleMultiChange}
|
|
146
|
+
defaultValue={multiValue}
|
|
147
|
+
placeholder={placeholder}
|
|
148
|
+
disabled={disabled}
|
|
149
|
+
className={className}
|
|
150
|
+
/>
|
|
151
|
+
);
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
// Single select
|
|
155
|
+
const singleValue = typeof value === "number" ? value : undefined;
|
|
156
|
+
|
|
157
|
+
const handleSingleChange = (e: React.SyntheticEvent | null, data: { value: string | undefined }) => {
|
|
158
|
+
if (onChange) {
|
|
159
|
+
const numericValue = data.value ? Number(data.value) : undefined;
|
|
160
|
+
(onChange as (e: React.SyntheticEvent | null, data: { value: number | undefined }) => void)(e, { value: numericValue });
|
|
161
|
+
}
|
|
84
162
|
};
|
|
85
163
|
|
|
86
164
|
return (
|
|
87
|
-
<
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
{
|
|
165
|
+
<AsyncSelect
|
|
166
|
+
options={options as AsyncSelectOption<string>[]}
|
|
167
|
+
value={singleValue !== undefined ? String(singleValue) : undefined}
|
|
168
|
+
onChange={handleSingleChange}
|
|
169
|
+
isLoading={isLoading}
|
|
170
|
+
placeholder={placeholder}
|
|
171
|
+
clearable={clearable}
|
|
172
|
+
disabled={disabled}
|
|
173
|
+
className={className}
|
|
174
|
+
onSearch={handleSearch}
|
|
96
175
|
/>
|
|
97
176
|
);
|
|
98
177
|
}
|
|
@@ -102,4 +181,4 @@ export function ${names.capital}IdAsyncSelect<T extends ${names.capital}SubsetKe
|
|
|
102
181
|
}
|
|
103
182
|
}
|
|
104
183
|
|
|
105
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90ZW1wbGF0ZS9pbXBsZW1lbnRhdGlvbnMvdmlld19pZF9hc3luY19zZWxlY3QudGVtcGxhdGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW50aXR5TWFuYWdlciwgdHlwZSBFbnRpdHlOYW1lc1JlY29yZCB9IGZyb20gXCIuLi8uLi9lbnRpdHkvZW50aXR5LW1hbmFnZXJcIjtcbmltcG9ydCB0eXBlIHsgVGVtcGxhdGVPcHRpb25zIH0gZnJvbSBcIi4uLy4uL3R5cGVzL3R5cGVzXCI7XG5pbXBvcnQgeyBUZW1wbGF0ZSB9IGZyb20gXCIuLi90ZW1wbGF0ZVwiO1xuXG5leHBvcnQgY2xhc3MgVGVtcGxhdGVfX3ZpZXdfaWRfYXN5bmNfc2VsZWN0IGV4dGVuZHMgVGVtcGxhdGUge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcihcInZpZXdfaWRfYXN5bmNfc2VsZWN0XCIpO1xuICB9XG5cbiAgZ2V0VGFyZ2V0QW5kUGF0aChuYW1lczogRW50aXR5TmFtZXNSZWNvcmQpIHtcbiAgICByZXR1cm4ge1xuICAgICAgdGFyZ2V0OiBcIndlYi9zcmMvY29tcG9uZW50c1wiLFxuICAgICAgcGF0aDogYCR7bmFtZXMuZnN9LyR7bmFtZXMuY2FwaXRhbH1JZEFzeW5jU2VsZWN0LnRzeGAsXG4gICAgfTtcbiAgfVxuXG4gIHJlbmRlcih7IGVudGl0eUlkLCB0ZXh0RmllbGQgfTogVGVtcGxhdGVPcHRpb25zW1widmlld19pZF9hc3luY19zZWxlY3RcIl0pIHtcbiAgICBjb25zdCBuYW1lcyA9IEVudGl0eU1hbmFnZXIuZ2V0TmFtZXNGcm9tSWQoZW50aXR5SWQpO1xuXG4gICAgY29uc3QgZW50aXR5ID0gRW50aXR5TWFuYWdlci5nZXQoZW50aXR5SWQpO1xuICAgIGlmICghdGV4dEZpZWxkKSB7XG4gICAgICBjb25zdCBwaWNrZWRQcm9wID0gZW50aXR5LnByb3BzLmZpbmQoKHByb3ApID0+IFtcIm5hbWVcIiwgXCJ0aXRsZVwiXS5pbmNsdWRlcyhwcm9wLm5hbWUpKTtcbiAgICAgIGlmIChwaWNrZWRQcm9wKSB7XG4gICAgICAgIHRleHRGaWVsZCA9IHBpY2tlZFByb3AubmFtZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IGNhbmRpZGF0ZVByb3AgPSBlbnRpdHkucHJvcHMuZmluZCgocHJvcCkgPT4gcHJvcC50eXBlID09PSBcInN0cmluZ1wiKTtcbiAgICAgICAgaWYgKGNhbmRpZGF0ZVByb3ApIHtcbiAgICAgICAgICB0ZXh0RmllbGQgPSBjYW5kaWRhdGVQcm9wLm5hbWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc29sZS5sb2coXCJ0ZXh0RmllbGQg7LC+7J2EIOyImCDsl4bsnYxcIik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4udGhpcy5nZXRUYXJnZXRBbmRQYXRoKG5hbWVzKSxcbiAgICAgIGJvZHk6IGBcbmltcG9ydCBSZWFjdCwgeyB1c2VTdGF0ZSwgdXNlRWZmZWN0LCBTeW50aGV0aWNFdmVudCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgRHJvcGRvd25Qcm9wcywgRHJvcGRvd25JdGVtUHJvcHMsIERyb3Bkb3duT25TZWFyY2hDaGFuZ2VEYXRhLCBEcm9wZG93biB9IGZyb20gXCJzZW1hbnRpYy11aS1yZWFjdFwiO1xuaW1wb3J0IHsgJHtuYW1lcy5jYXBpdGFsfVN1YnNldEtleSwgJHtcbiAgICAgICAgbmFtZXMuY2FwaXRhbFxuICAgICAgfVN1YnNldE1hcHBpbmcgfSBmcm9tIFwiQC9zZXJ2aWNlcy9zb25hbXUuZ2VuZXJhdGVkXCI7XG5pbXBvcnQgeyAke25hbWVzLmNhcGl0YWx9U2VydmljZSB9IGZyb20gXCJAL3NlcnZpY2VzL3NlcnZpY2VzLmdlbmVyYXRlZFwiO1xuaW1wb3J0IHsgJHtuYW1lcy5jYXBpdGFsfUxpc3RQYXJhbXMgfSBmcm9tIFwiQC9zZXJ2aWNlcy8ke25hbWVzLmZzfS8ke25hbWVzLmZzfS50eXBlc1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gJHtuYW1lcy5jYXBpdGFsfUlkQXN5bmNTZWxlY3Q8VCBleHRlbmRzICR7bmFtZXMuY2FwaXRhbH1TdWJzZXRLZXk+KFxuICB7IHN1YnNldCwgYmFzZUxpc3RQYXJhbXMsIHRleHRGaWVsZCwgdmFsdWVGaWVsZCwgLi4ucHJvcHMgfTogRHJvcGRvd25Qcm9wcyAmIHtcbiAgICBzdWJzZXQ6IFQ7XG4gICAgYmFzZUxpc3RQYXJhbXM/OiAke25hbWVzLmNhcGl0YWx9TGlzdFBhcmFtcztcbiAgICB0ZXh0RmllbGQke3RleHRGaWVsZCA/IFwiP1wiIDogXCJcIn06IGtleW9mICR7bmFtZXMuY2FwaXRhbH1TdWJzZXRNYXBwaW5nW1RdO1xuICAgIHZhbHVlRmllbGQ/OiBrZXlvZiAke25hbWVzLmNhcGl0YWx9U3Vic2V0TWFwcGluZ1tUXTtcbiAgfSxcbikge1xuICBjb25zdCBbb3B0aW9ucywgc2V0T3B0aW9uc10gPSB1c2VTdGF0ZTxEcm9wZG93bkl0ZW1Qcm9wc1tdPihbXSk7XG4gIGNvbnN0IFtsaXN0UGFyYW1zLCBzZXRMaXN0UGFyYW1zXSA9IHVzZVN0YXRlPCR7bmFtZXMuY2FwaXRhbH1MaXN0UGFyYW1zPihcbiAgICBiYXNlTGlzdFBhcmFtcyA/PyB7fSxcbiAgKTtcblxuICBjb25zdCB7IGRhdGEsIGVycm9yIH0gPSAke25hbWVzLmNhcGl0YWx9U2VydmljZS51c2Uke25hbWVzLmNhcGl0YWxQbHVyYWx9KHN1YnNldCwgbGlzdFBhcmFtcyk7XG4gIGNvbnN0IHsgcm93czogJHtuYW1lcy5jYW1lbFBsdXJhbH0sIHRvdGFsIH0gPSBkYXRhID8/IHt9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgc2V0T3B0aW9ucyhcbiAgICAgICgke25hbWVzLmNhbWVsUGx1cmFsfSA/PyBbXSkubWFwKCgke25hbWVzLmNhbWVsfSkgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGtleTogJHtuYW1lcy5jYW1lbH0uaWQsXG4gICAgICAgICAgdmFsdWU6ICR7bmFtZXMuY2FtZWx9W3ZhbHVlRmllbGQgPz8gJ2lkJ10gYXMgc3RyaW5nIHwgbnVtYmVyLFxuICAgICAgICAgIHRleHQ6IFN0cmluZygke25hbWVzLmNhbWVsfVt0ZXh0RmllbGQke3RleHRGaWVsZCA/IGAgPz8gJyR7dGV4dEZpZWxkfSdgIDogXCJcIn1dKSxcbiAgICAgICAgfTtcbiAgICAgIH0pLFxuICAgICk7XG4gIH0sIFske25hbWVzLmNhbWVsUGx1cmFsfV0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgc2V0TGlzdFBhcmFtcyh7XG4gICAgICAuLi5saXN0UGFyYW1zLFxuICAgICAgLi4uYmFzZUxpc3RQYXJhbXMsXG4gICAgfSk7XG4gIH0sIFtiYXNlTGlzdFBhcmFtc10pO1xuXG4gIGNvbnN0IGhhbmRsZVNlYXJjaENoYW5nZSA9IChcbiAgICBlOiBTeW50aGV0aWNFdmVudDxIVE1MRWxlbWVudCwgRXZlbnQ+LFxuICAgIGRhdGE6IERyb3Bkb3duT25TZWFyY2hDaGFuZ2VEYXRhLFxuICApID0+IHtcbiAgICBzZXRMaXN0UGFyYW1zKHtcbiAgICAgIC4uLmxpc3RQYXJhbXMsXG4gICAgICBrZXl3b3JkOiBkYXRhLnNlYXJjaFF1ZXJ5LFxuICAgIH0pO1xuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPERyb3Bkb3duXG4gICAgICBwbGFjZWhvbGRlcj1cIiR7ZW50aXR5LnRpdGxlID8/IG5hbWVzLmNvbnN0YW50fVwiXG4gICAgICBzZWxlY3Rpb25cbiAgICAgIG9wdGlvbnM9e29wdGlvbnN9XG4gICAgICBvblNlYXJjaENoYW5nZT17aGFuZGxlU2VhcmNoQ2hhbmdlfVxuICAgICAgZGlzYWJsZWQ9eyEke25hbWVzLmNhbWVsUGx1cmFsfX1cbiAgICAgIGxvYWRpbmc9eyEke25hbWVzLmNhbWVsUGx1cmFsfX1cbiAgICAgIHNlbGVjdE9uQmx1cj17ZmFsc2V9XG4gICAgICB7Li4ucHJvcHN9XG4gICAgLz5cbiAgKTtcbn1cbiAgICAgIGAudHJpbSgpLFxuICAgICAgaW1wb3J0S2V5czogW10sXG4gICAgfTtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIkVudGl0eU1hbmFnZXIiLCJUZW1wbGF0ZSIsIlRlbXBsYXRlX192aWV3X2lkX2FzeW5jX3NlbGVjdCIsImdldFRhcmdldEFuZFBhdGgiLCJuYW1lcyIsInRhcmdldCIsInBhdGgiLCJmcyIsImNhcGl0YWwiLCJyZW5kZXIiLCJlbnRpdHlJZCIsInRleHRGaWVsZCIsImdldE5hbWVzRnJvbUlkIiwiZW50aXR5IiwiZ2V0IiwicGlja2VkUHJvcCIsInByb3BzIiwiZmluZCIsInByb3AiLCJpbmNsdWRlcyIsIm5hbWUiLCJjYW5kaWRhdGVQcm9wIiwidHlwZSIsImNvbnNvbGUiLCJsb2ciLCJib2R5IiwiY2FwaXRhbFBsdXJhbCIsImNhbWVsUGx1cmFsIiwiY2FtZWwiLCJ0aXRsZSIsImNvbnN0YW50IiwidHJpbSIsImltcG9ydEtleXMiXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLGFBQWEsUUFBZ0MsaUNBQThCO0FBRXBGLFNBQVNDLFFBQVEsUUFBUSxpQkFBYztBQUV2QyxPQUFPLE1BQU1DLHVDQUF1Q0Q7SUFDbEQsYUFBYztRQUNaLEtBQUssQ0FBQztJQUNSO0lBRUFFLGlCQUFpQkMsS0FBd0IsRUFBRTtRQUN6QyxPQUFPO1lBQ0xDLFFBQVE7WUFDUkMsTUFBTSxHQUFHRixNQUFNRyxFQUFFLENBQUMsQ0FBQyxFQUFFSCxNQUFNSSxPQUFPLENBQUMsaUJBQWlCLENBQUM7UUFDdkQ7SUFDRjtJQUVBQyxPQUFPLEVBQUVDLFFBQVEsRUFBRUMsU0FBUyxFQUEyQyxFQUFFO1FBQ3ZFLE1BQU1QLFFBQVFKLGNBQWNZLGNBQWMsQ0FBQ0Y7UUFFM0MsTUFBTUcsU0FBU2IsY0FBY2MsR0FBRyxDQUFDSjtRQUNqQyxJQUFJLENBQUNDLFdBQVc7WUFDZCxNQUFNSSxhQUFhRixPQUFPRyxLQUFLLENBQUNDLElBQUksQ0FBQyxDQUFDQyxPQUFTO29CQUFDO29CQUFRO2lCQUFRLENBQUNDLFFBQVEsQ0FBQ0QsS0FBS0UsSUFBSTtZQUNuRixJQUFJTCxZQUFZO2dCQUNkSixZQUFZSSxXQUFXSyxJQUFJO1lBQzdCLE9BQU87Z0JBQ0wsTUFBTUMsZ0JBQWdCUixPQUFPRyxLQUFLLENBQUNDLElBQUksQ0FBQyxDQUFDQyxPQUFTQSxLQUFLSSxJQUFJLEtBQUs7Z0JBQ2hFLElBQUlELGVBQWU7b0JBQ2pCVixZQUFZVSxjQUFjRCxJQUFJO2dCQUNoQyxPQUFPO29CQUNMRyxRQUFRQyxHQUFHLENBQUM7Z0JBQ2Q7WUFDRjtRQUNGO1FBRUEsT0FBTztZQUNMLEdBQUcsSUFBSSxDQUFDckIsZ0JBQWdCLENBQUNDLE1BQU07WUFDL0JxQixNQUFNLENBQUM7OztTQUdKLEVBQUVyQixNQUFNSSxPQUFPLENBQUMsV0FBVyxFQUM1QkosTUFBTUksT0FBTyxDQUNkO1NBQ0UsRUFBRUosTUFBTUksT0FBTyxDQUFDO1NBQ2hCLEVBQUVKLE1BQU1JLE9BQU8sQ0FBQyw4QkFBOEIsRUFBRUosTUFBTUcsRUFBRSxDQUFDLENBQUMsRUFBRUgsTUFBTUcsRUFBRSxDQUFDOztnQkFFOUQsRUFBRUgsTUFBTUksT0FBTyxDQUFDLHdCQUF3QixFQUFFSixNQUFNSSxPQUFPLENBQUM7OztxQkFHbkQsRUFBRUosTUFBTUksT0FBTyxDQUFDO2FBQ3hCLEVBQUVHLFlBQVksTUFBTSxHQUFHLFFBQVEsRUFBRVAsTUFBTUksT0FBTyxDQUFDO3VCQUNyQyxFQUFFSixNQUFNSSxPQUFPLENBQUM7Ozs7K0NBSVEsRUFBRUosTUFBTUksT0FBTyxDQUFDOzs7OzBCQUlyQyxFQUFFSixNQUFNSSxPQUFPLENBQUMsV0FBVyxFQUFFSixNQUFNc0IsYUFBYSxDQUFDO2dCQUMzRCxFQUFFdEIsTUFBTXVCLFdBQVcsQ0FBQzs7OztPQUk3QixFQUFFdkIsTUFBTXVCLFdBQVcsQ0FBQyxhQUFhLEVBQUV2QixNQUFNd0IsS0FBSyxDQUFDOztlQUV2QyxFQUFFeEIsTUFBTXdCLEtBQUssQ0FBQztpQkFDWixFQUFFeEIsTUFBTXdCLEtBQUssQ0FBQzt1QkFDUixFQUFFeEIsTUFBTXdCLEtBQUssQ0FBQyxVQUFVLEVBQUVqQixZQUFZLENBQUMsS0FBSyxFQUFFQSxVQUFVLENBQUMsQ0FBQyxHQUFHLEdBQUc7Ozs7TUFJakYsRUFBRVAsTUFBTXVCLFdBQVcsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O21CQXFCUCxFQUFFZCxPQUFPZ0IsS0FBSyxJQUFJekIsTUFBTTBCLFFBQVEsQ0FBQzs7OztpQkFJbkMsRUFBRTFCLE1BQU11QixXQUFXLENBQUM7Z0JBQ3JCLEVBQUV2QixNQUFNdUIsV0FBVyxDQUFDOzs7Ozs7TUFNOUIsQ0FBQyxDQUFDSSxJQUFJO1lBQ05DLFlBQVksRUFBRTtRQUNoQjtJQUNGO0FBQ0YifQ==
|
|
184
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90ZW1wbGF0ZS9pbXBsZW1lbnRhdGlvbnMvdmlld19pZF9hc3luY19zZWxlY3QudGVtcGxhdGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW50aXR5TWFuYWdlciwgdHlwZSBFbnRpdHlOYW1lc1JlY29yZCB9IGZyb20gXCIuLi8uLi9lbnRpdHkvZW50aXR5LW1hbmFnZXJcIjtcbmltcG9ydCB0eXBlIHsgVGVtcGxhdGVPcHRpb25zIH0gZnJvbSBcIi4uLy4uL3R5cGVzL3R5cGVzXCI7XG5pbXBvcnQgeyBUZW1wbGF0ZSB9IGZyb20gXCIuLi90ZW1wbGF0ZVwiO1xuXG5leHBvcnQgY2xhc3MgVGVtcGxhdGVfX3ZpZXdfaWRfYXN5bmNfc2VsZWN0IGV4dGVuZHMgVGVtcGxhdGUge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcihcInZpZXdfaWRfYXN5bmNfc2VsZWN0XCIpO1xuICB9XG5cbiAgZ2V0VGFyZ2V0QW5kUGF0aChuYW1lczogRW50aXR5TmFtZXNSZWNvcmQpIHtcbiAgICByZXR1cm4ge1xuICAgICAgdGFyZ2V0OiBcIndlYi9zcmMvY29tcG9uZW50c1wiLFxuICAgICAgcGF0aDogYCR7bmFtZXMuZnN9LyR7bmFtZXMuY2FwaXRhbH1JZEFzeW5jU2VsZWN0LnRzeGAsXG4gICAgfTtcbiAgfVxuXG4gIHJlbmRlcih7IGVudGl0eUlkLCB0ZXh0RmllbGQgfTogVGVtcGxhdGVPcHRpb25zW1widmlld19pZF9hc3luY19zZWxlY3RcIl0pIHtcbiAgICBjb25zdCBuYW1lcyA9IEVudGl0eU1hbmFnZXIuZ2V0TmFtZXNGcm9tSWQoZW50aXR5SWQpO1xuXG4gICAgY29uc3QgZW50aXR5ID0gRW50aXR5TWFuYWdlci5nZXQoZW50aXR5SWQpO1xuXG4gICAgLy8gdGV4dEZpZWxk6rCAIOyngOygleuQmOyngCDslYrsnYAg6rK97JqwIOuqqOuToCBzdWJzZXTsl5Ag6rO17Ya17Jy866GcIOyeiOuKlCDtlYTrk5wg7LC+6riwXG4gICAgaWYgKCF0ZXh0RmllbGQpIHtcbiAgICAgIGNvbnN0IHN1YnNldEtleXMgPSBPYmplY3Qua2V5cyhlbnRpdHkuc3Vic2V0cyk7XG4gICAgICBpZiAoc3Vic2V0S2V5cy5sZW5ndGggPiAwKSB7XG4gICAgICAgIC8vIOuqqOuToCBzdWJzZXTsl5Ag6rO17Ya17Jy866GcIO2PrO2VqOuQnCDsp4HsoJEg7ZWE65Oc66eMIOy2lOy2nFxuICAgICAgICBjb25zdCBjb21tb25GaWVsZHMgPSBzdWJzZXRLZXlzLnJlZHVjZShcbiAgICAgICAgICAoY29tbW9uLCBrZXkpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGZpZWxkcyA9IGVudGl0eS5zdWJzZXRzW2tleV1cbiAgICAgICAgICAgICAgLmZpbHRlcigocGF0aCkgPT4gIXBhdGguaW5jbHVkZXMoXCIuXCIpKSAvLyDsp4HsoJEg7ZWE65Oc66eMXG4gICAgICAgICAgICAgIC5tYXAoKHBhdGgpID0+IHBhdGgpO1xuICAgICAgICAgICAgcmV0dXJuIGNvbW1vbi5maWx0ZXIoKGZpZWxkKSA9PiBmaWVsZHMuaW5jbHVkZXMoZmllbGQpKTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIGVudGl0eS5zdWJzZXRzW3N1YnNldEtleXNbMF1dLmZpbHRlcigocGF0aCkgPT4gIXBhdGguaW5jbHVkZXMoXCIuXCIpKSxcbiAgICAgICAgKTtcblxuICAgICAgICAvLyDsmrDshKDsiJzsnIQ6IG5hbWUgPiB0aXRsZSA+IOyyqyDrsojsp7ggc3RyaW5nIO2DgOyehVxuICAgICAgICBjb25zdCBwaWNrZWRQcm9wID0gZW50aXR5LnByb3BzLmZpbmQoXG4gICAgICAgICAgKHByb3ApID0+IFtcIm5hbWVcIiwgXCJ0aXRsZVwiXS5pbmNsdWRlcyhwcm9wLm5hbWUpICYmIGNvbW1vbkZpZWxkcy5pbmNsdWRlcyhwcm9wLm5hbWUpLFxuICAgICAgICApO1xuICAgICAgICBpZiAocGlja2VkUHJvcCkge1xuICAgICAgICAgIHRleHRGaWVsZCA9IHBpY2tlZFByb3AubmFtZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zdCBjYW5kaWRhdGVQcm9wID0gZW50aXR5LnByb3BzLmZpbmQoXG4gICAgICAgICAgICAocHJvcCkgPT4gcHJvcC50eXBlID09PSBcInN0cmluZ1wiICYmIGNvbW1vbkZpZWxkcy5pbmNsdWRlcyhwcm9wLm5hbWUpLFxuICAgICAgICAgICk7XG4gICAgICAgICAgaWYgKGNhbmRpZGF0ZVByb3ApIHtcbiAgICAgICAgICAgIHRleHRGaWVsZCA9IGNhbmRpZGF0ZVByb3AubmFtZTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8g6rO17Ya1IO2VhOuTnOqwgCDsl4bsnLzrqbQgaWQg7IKs7JqpXG4gICAgICAgICAgICB0ZXh0RmllbGQgPSBcImlkXCI7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcbiAgICAgICAgICAgICAgYFdhcm5pbmc6ICR7ZW50aXR5SWR97JeQIOuqqOuToCBzdWJzZXTsl5Ag6rO17Ya17Jy866GcIO2PrO2VqOuQnCBzdHJpbmcg7ZWE65Oc6rCAIOyXhuyWtCBpZOulvCDsgqzsmqntlanri4jri6RgLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4udGhpcy5nZXRUYXJnZXRBbmRQYXRoKG5hbWVzKSxcbiAgICAgIGJvZHk6IGBcbmltcG9ydCBSZWFjdCwgeyB1c2VTdGF0ZSwgdXNlRWZmZWN0LCB1c2VNZW1vLCB1c2VDYWxsYmFjayB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgQXN5bmNTZWxlY3QsIEFzeW5jU2VsZWN0T3B0aW9uLCBNdWx0aVNlbGVjdCwgTXVsdGlTZWxlY3RPcHRpb24gfSBmcm9tIFwiQHNvbmFtdS1raXQvcmVhY3QtY29tcG9uZW50cy9jb21wb25lbnRzXCI7XG5pbXBvcnQgeyAke25hbWVzLmNhcGl0YWx9U3Vic2V0S2V5LCAke25hbWVzLmNhcGl0YWx9U3Vic2V0TWFwcGluZyB9IGZyb20gXCJAL3NlcnZpY2VzL3NvbmFtdS5nZW5lcmF0ZWRcIjtcbmltcG9ydCB7ICR7bmFtZXMuY2FwaXRhbH1TZXJ2aWNlIH0gZnJvbSBcIkAvc2VydmljZXMvc2VydmljZXMuZ2VuZXJhdGVkXCI7XG5pbXBvcnQgeyAke25hbWVzLmNhcGl0YWx9TGlzdFBhcmFtcyB9IGZyb20gXCJAL3NlcnZpY2VzLyR7bmFtZXMuZnN9LyR7bmFtZXMuZnN9LnR5cGVzXCI7XG5cbmV4cG9ydCB0eXBlICR7bmFtZXMuY2FwaXRhbH1JZEFzeW5jU2VsZWN0UHJvcHM8VCBleHRlbmRzICR7bmFtZXMuY2FwaXRhbH1TdWJzZXRLZXk+ID0ge1xuICBzdWJzZXQ6IFQ7XG4gIGJhc2VMaXN0UGFyYW1zPzogJHtuYW1lcy5jYXBpdGFsfUxpc3RQYXJhbXM7XG4gIHRleHRGaWVsZCR7dGV4dEZpZWxkID8gXCI/XCIgOiBcIlwifToga2V5b2YgJHtuYW1lcy5jYXBpdGFsfVN1YnNldE1hcHBpbmdbVF07XG4gIHZhbHVlRmllbGQ/OiBrZXlvZiAke25hbWVzLmNhcGl0YWx9U3Vic2V0TWFwcGluZ1tUXTtcbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gIGNsZWFyYWJsZT86IGJvb2xlYW47XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgY2xhc3NOYW1lPzogc3RyaW5nO1xuICBtdWx0aXBsZT86IGJvb2xlYW47XG59ICYgKFxuICB8IHtcbiAgICAgIG11bHRpcGxlPzogZmFsc2U7XG4gICAgICB2YWx1ZT86IG51bWJlciB8IG51bGw7XG4gICAgICBvbkNoYW5nZT86IChlOiBSZWFjdC5TeW50aGV0aWNFdmVudCB8IG51bGwsIGRhdGE6IHsgdmFsdWU6IG51bWJlciB8IHVuZGVmaW5lZCB9KSA9PiB2b2lkO1xuICAgIH1cbiAgfCB7XG4gICAgICBtdWx0aXBsZTogdHJ1ZTtcbiAgICAgIHZhbHVlPzogbnVtYmVyW107XG4gICAgICBvbkNoYW5nZT86IChlOiBSZWFjdC5TeW50aGV0aWNFdmVudCB8IG51bGwsIGRhdGE6IHsgdmFsdWU6IG51bWJlcltdIH0pID0+IHZvaWQ7XG4gICAgfVxuKTtcblxuZXhwb3J0IGZ1bmN0aW9uICR7bmFtZXMuY2FwaXRhbH1JZEFzeW5jU2VsZWN0PFQgZXh0ZW5kcyAke25hbWVzLmNhcGl0YWx9U3Vic2V0S2V5Pih7XG4gIHN1YnNldCxcbiAgdmFsdWUsXG4gIG9uQ2hhbmdlLFxuICBiYXNlTGlzdFBhcmFtcyxcbiAgdGV4dEZpZWxkLFxuICB2YWx1ZUZpZWxkLFxuICBwbGFjZWhvbGRlciA9IFwiJHtlbnRpdHkudGl0bGUgPz8gbmFtZXMuY29uc3RhbnR9XCIsXG4gIGNsZWFyYWJsZSxcbiAgZGlzYWJsZWQsXG4gIGNsYXNzTmFtZSxcbiAgbXVsdGlwbGUgPSBmYWxzZSxcbn06ICR7bmFtZXMuY2FwaXRhbH1JZEFzeW5jU2VsZWN0UHJvcHM8VD4pIHtcbiAgY29uc3QgW2xpc3RQYXJhbXMsIHNldExpc3RQYXJhbXNdID0gdXNlU3RhdGU8JHtuYW1lcy5jYXBpdGFsfUxpc3RQYXJhbXM+KFxuICAgIGJhc2VMaXN0UGFyYW1zID8/IHt9XG4gICk7XG5cbiAgY29uc3QgeyBkYXRhLCBpc0xvYWRpbmcgfSA9ICR7bmFtZXMuY2FwaXRhbH1TZXJ2aWNlLnVzZSR7bmFtZXMuY2FwaXRhbFBsdXJhbH0oc3Vic2V0LCBsaXN0UGFyYW1zKTtcbiAgY29uc3QgeyByb3dzOiAke25hbWVzLmNhbWVsUGx1cmFsfSB9ID0gZGF0YSA/PyB7fTtcblxuICAvLyDsmLXshZgg7IOd7ISxXG4gIGNvbnN0IG9wdGlvbnMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICByZXR1cm4gKCR7bmFtZXMuY2FtZWxQbHVyYWx9ID8/IFtdKS5tYXAoKCR7bmFtZXMuY2FtZWx9KSA9PiB7XG4gICAgICAvLyB0ZXh0RmllbGTqsIAg7KeA7KCV65CY7KeAIOyViuydgCDqsr3smrAg6riw67O46rCSIOyCrOyaqVxuICAgICAgY29uc3QgbGFiZWwgPSAoKCkgPT4ge1xuICAgICAgICBpZiAodGV4dEZpZWxkKSB7XG4gICAgICAgICAgcmV0dXJuIFN0cmluZygke25hbWVzLmNhbWVsfVt0ZXh0RmllbGRdKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gU3RyaW5nKCR7bmFtZXMuY2FtZWx9LiR7dGV4dEZpZWxkIHx8IFwiaWRcIn0pO1xuICAgICAgfSkoKTtcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdmFsdWU6IFN0cmluZygke25hbWVzLmNhbWVsfVt2YWx1ZUZpZWxkID8/IFwiaWRcIl0gYXMgbnVtYmVyKSxcbiAgICAgICAgbGFiZWwsXG4gICAgICB9O1xuICAgIH0pO1xuICB9LCBbJHtuYW1lcy5jYW1lbFBsdXJhbH0sIHRleHRGaWVsZCwgdmFsdWVGaWVsZF0pO1xuXG4gIC8vIGJhc2VMaXN0UGFyYW1zIOuzgOqyvSDsi5wg67CY7JiBXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgc2V0TGlzdFBhcmFtcygocHJldikgPT4gKHtcbiAgICAgIC4uLnByZXYsXG4gICAgICAuLi5iYXNlTGlzdFBhcmFtcyxcbiAgICB9KSk7XG4gIH0sIFtiYXNlTGlzdFBhcmFtc10pO1xuXG4gIC8vIOqygOyDieyWtCDrs4Dqsr0g7ZW465Ok65+sXG4gIGNvbnN0IGhhbmRsZVNlYXJjaCA9IHVzZUNhbGxiYWNrKChrZXl3b3JkOiBzdHJpbmcpID0+IHtcbiAgICBzZXRMaXN0UGFyYW1zKChwcmV2KSA9PiAoe1xuICAgICAgLi4ucHJldixcbiAgICAgIGtleXdvcmQ6IGtleXdvcmQgfHwgdW5kZWZpbmVkLFxuICAgIH0pKTtcbiAgfSwgW10pO1xuXG4gIC8vIE11bHRpcGxlIHNlbGVjdFxuICBpZiAobXVsdGlwbGUpIHtcbiAgICBjb25zdCBtdWx0aVZhbHVlID0gQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZS5tYXAoU3RyaW5nKSA6IFtdO1xuXG4gICAgY29uc3QgaGFuZGxlTXVsdGlDaGFuZ2UgPSAoc2VsZWN0ZWRWYWx1ZXM6IHN0cmluZ1tdKSA9PiB7XG4gICAgICBpZiAob25DaGFuZ2UpIHtcbiAgICAgICAgY29uc3QgbnVtZXJpY1ZhbHVlcyA9IHNlbGVjdGVkVmFsdWVzLm1hcChOdW1iZXIpO1xuICAgICAgICAob25DaGFuZ2UgYXMgKGU6IFJlYWN0LlN5bnRoZXRpY0V2ZW50IHwgbnVsbCwgZGF0YTogeyB2YWx1ZTogbnVtYmVyW10gfSkgPT4gdm9pZCkobnVsbCwgeyB2YWx1ZTogbnVtZXJpY1ZhbHVlcyB9KTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxNdWx0aVNlbGVjdFxuICAgICAgICBvcHRpb25zPXtvcHRpb25zfVxuICAgICAgICBvblZhbHVlQ2hhbmdlPXtoYW5kbGVNdWx0aUNoYW5nZX1cbiAgICAgICAgZGVmYXVsdFZhbHVlPXttdWx0aVZhbHVlfVxuICAgICAgICBwbGFjZWhvbGRlcj17cGxhY2Vob2xkZXJ9XG4gICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgICAvPlxuICAgICk7XG4gIH1cblxuICAvLyBTaW5nbGUgc2VsZWN0XG4gIGNvbnN0IHNpbmdsZVZhbHVlID0gdHlwZW9mIHZhbHVlID09PSBcIm51bWJlclwiID8gdmFsdWUgOiB1bmRlZmluZWQ7XG5cbiAgY29uc3QgaGFuZGxlU2luZ2xlQ2hhbmdlID0gKGU6IFJlYWN0LlN5bnRoZXRpY0V2ZW50IHwgbnVsbCwgZGF0YTogeyB2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkIH0pID0+IHtcbiAgICBpZiAob25DaGFuZ2UpIHtcbiAgICAgIGNvbnN0IG51bWVyaWNWYWx1ZSA9IGRhdGEudmFsdWUgPyBOdW1iZXIoZGF0YS52YWx1ZSkgOiB1bmRlZmluZWQ7XG4gICAgICAob25DaGFuZ2UgYXMgKGU6IFJlYWN0LlN5bnRoZXRpY0V2ZW50IHwgbnVsbCwgZGF0YTogeyB2YWx1ZTogbnVtYmVyIHwgdW5kZWZpbmVkIH0pID0+IHZvaWQpKGUsIHsgdmFsdWU6IG51bWVyaWNWYWx1ZSB9KTtcbiAgICB9XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8QXN5bmNTZWxlY3RcbiAgICAgIG9wdGlvbnM9e29wdGlvbnMgYXMgQXN5bmNTZWxlY3RPcHRpb248c3RyaW5nPltdfVxuICAgICAgdmFsdWU9e3NpbmdsZVZhbHVlICE9PSB1bmRlZmluZWQgPyBTdHJpbmcoc2luZ2xlVmFsdWUpIDogdW5kZWZpbmVkfVxuICAgICAgb25DaGFuZ2U9e2hhbmRsZVNpbmdsZUNoYW5nZX1cbiAgICAgIGlzTG9hZGluZz17aXNMb2FkaW5nfVxuICAgICAgcGxhY2Vob2xkZXI9e3BsYWNlaG9sZGVyfVxuICAgICAgY2xlYXJhYmxlPXtjbGVhcmFibGV9XG4gICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZX1cbiAgICAgIG9uU2VhcmNoPXtoYW5kbGVTZWFyY2h9XG4gICAgLz5cbiAgKTtcbn1cbiAgICAgIGAudHJpbSgpLFxuICAgICAgaW1wb3J0S2V5czogW10sXG4gICAgfTtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIkVudGl0eU1hbmFnZXIiLCJUZW1wbGF0ZSIsIlRlbXBsYXRlX192aWV3X2lkX2FzeW5jX3NlbGVjdCIsImdldFRhcmdldEFuZFBhdGgiLCJuYW1lcyIsInRhcmdldCIsInBhdGgiLCJmcyIsImNhcGl0YWwiLCJyZW5kZXIiLCJlbnRpdHlJZCIsInRleHRGaWVsZCIsImdldE5hbWVzRnJvbUlkIiwiZW50aXR5IiwiZ2V0Iiwic3Vic2V0S2V5cyIsIk9iamVjdCIsImtleXMiLCJzdWJzZXRzIiwibGVuZ3RoIiwiY29tbW9uRmllbGRzIiwicmVkdWNlIiwiY29tbW9uIiwia2V5IiwiZmllbGRzIiwiZmlsdGVyIiwiaW5jbHVkZXMiLCJtYXAiLCJmaWVsZCIsInBpY2tlZFByb3AiLCJwcm9wcyIsImZpbmQiLCJwcm9wIiwibmFtZSIsImNhbmRpZGF0ZVByb3AiLCJ0eXBlIiwiY29uc29sZSIsImxvZyIsImJvZHkiLCJ0aXRsZSIsImNvbnN0YW50IiwiY2FwaXRhbFBsdXJhbCIsImNhbWVsUGx1cmFsIiwiY2FtZWwiLCJ0cmltIiwiaW1wb3J0S2V5cyJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsYUFBYSxRQUFnQyxpQ0FBOEI7QUFFcEYsU0FBU0MsUUFBUSxRQUFRLGlCQUFjO0FBRXZDLE9BQU8sTUFBTUMsdUNBQXVDRDtJQUNsRCxhQUFjO1FBQ1osS0FBSyxDQUFDO0lBQ1I7SUFFQUUsaUJBQWlCQyxLQUF3QixFQUFFO1FBQ3pDLE9BQU87WUFDTEMsUUFBUTtZQUNSQyxNQUFNLEdBQUdGLE1BQU1HLEVBQUUsQ0FBQyxDQUFDLEVBQUVILE1BQU1JLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQztRQUN2RDtJQUNGO0lBRUFDLE9BQU8sRUFBRUMsUUFBUSxFQUFFQyxTQUFTLEVBQTJDLEVBQUU7UUFDdkUsTUFBTVAsUUFBUUosY0FBY1ksY0FBYyxDQUFDRjtRQUUzQyxNQUFNRyxTQUFTYixjQUFjYyxHQUFHLENBQUNKO1FBRWpDLGlEQUFpRDtRQUNqRCxJQUFJLENBQUNDLFdBQVc7WUFDZCxNQUFNSSxhQUFhQyxPQUFPQyxJQUFJLENBQUNKLE9BQU9LLE9BQU87WUFDN0MsSUFBSUgsV0FBV0ksTUFBTSxHQUFHLEdBQUc7Z0JBQ3pCLGdDQUFnQztnQkFDaEMsTUFBTUMsZUFBZUwsV0FBV00sTUFBTSxDQUNwQyxDQUFDQyxRQUFRQztvQkFDUCxNQUFNQyxTQUFTWCxPQUFPSyxPQUFPLENBQUNLLElBQUksQ0FDL0JFLE1BQU0sQ0FBQyxDQUFDbkIsT0FBUyxDQUFDQSxLQUFLb0IsUUFBUSxDQUFDLE1BQU0sU0FBUztxQkFDL0NDLEdBQUcsQ0FBQyxDQUFDckIsT0FBU0E7b0JBQ2pCLE9BQU9nQixPQUFPRyxNQUFNLENBQUMsQ0FBQ0csUUFBVUosT0FBT0UsUUFBUSxDQUFDRTtnQkFDbEQsR0FDQWYsT0FBT0ssT0FBTyxDQUFDSCxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUNVLE1BQU0sQ0FBQyxDQUFDbkIsT0FBUyxDQUFDQSxLQUFLb0IsUUFBUSxDQUFDO2dCQUdoRSxzQ0FBc0M7Z0JBQ3RDLE1BQU1HLGFBQWFoQixPQUFPaUIsS0FBSyxDQUFDQyxJQUFJLENBQ2xDLENBQUNDLE9BQVM7d0JBQUM7d0JBQVE7cUJBQVEsQ0FBQ04sUUFBUSxDQUFDTSxLQUFLQyxJQUFJLEtBQUtiLGFBQWFNLFFBQVEsQ0FBQ00sS0FBS0MsSUFBSTtnQkFFcEYsSUFBSUosWUFBWTtvQkFDZGxCLFlBQVlrQixXQUFXSSxJQUFJO2dCQUM3QixPQUFPO29CQUNMLE1BQU1DLGdCQUFnQnJCLE9BQU9pQixLQUFLLENBQUNDLElBQUksQ0FDckMsQ0FBQ0MsT0FBU0EsS0FBS0csSUFBSSxLQUFLLFlBQVlmLGFBQWFNLFFBQVEsQ0FBQ00sS0FBS0MsSUFBSTtvQkFFckUsSUFBSUMsZUFBZTt3QkFDakJ2QixZQUFZdUIsY0FBY0QsSUFBSTtvQkFDaEMsT0FBTzt3QkFDTCxtQkFBbUI7d0JBQ25CdEIsWUFBWTt3QkFDWnlCLFFBQVFDLEdBQUcsQ0FDVCxDQUFDLFNBQVMsRUFBRTNCLFNBQVMsNkNBQTZDLENBQUM7b0JBRXZFO2dCQUNGO1lBQ0Y7UUFDRjtRQUVBLE9BQU87WUFDTCxHQUFHLElBQUksQ0FBQ1AsZ0JBQWdCLENBQUNDLE1BQU07WUFDL0JrQyxNQUFNLENBQUM7OztTQUdKLEVBQUVsQyxNQUFNSSxPQUFPLENBQUMsV0FBVyxFQUFFSixNQUFNSSxPQUFPLENBQUM7U0FDM0MsRUFBRUosTUFBTUksT0FBTyxDQUFDO1NBQ2hCLEVBQUVKLE1BQU1JLE9BQU8sQ0FBQyw4QkFBOEIsRUFBRUosTUFBTUcsRUFBRSxDQUFDLENBQUMsRUFBRUgsTUFBTUcsRUFBRSxDQUFDOztZQUVsRSxFQUFFSCxNQUFNSSxPQUFPLENBQUMsNkJBQTZCLEVBQUVKLE1BQU1JLE9BQU8sQ0FBQzs7bUJBRXRELEVBQUVKLE1BQU1JLE9BQU8sQ0FBQztXQUN4QixFQUFFRyxZQUFZLE1BQU0sR0FBRyxRQUFRLEVBQUVQLE1BQU1JLE9BQU8sQ0FBQztxQkFDckMsRUFBRUosTUFBTUksT0FBTyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O2dCQW1CckIsRUFBRUosTUFBTUksT0FBTyxDQUFDLHdCQUF3QixFQUFFSixNQUFNSSxPQUFPLENBQUM7Ozs7Ozs7aUJBT3ZELEVBQUVLLE9BQU8wQixLQUFLLElBQUluQyxNQUFNb0MsUUFBUSxDQUFDOzs7OztHQUsvQyxFQUFFcEMsTUFBTUksT0FBTyxDQUFDOytDQUM0QixFQUFFSixNQUFNSSxPQUFPLENBQUM7Ozs7OEJBSWpDLEVBQUVKLE1BQU1JLE9BQU8sQ0FBQyxXQUFXLEVBQUVKLE1BQU1xQyxhQUFhLENBQUM7Z0JBQy9ELEVBQUVyQyxNQUFNc0MsV0FBVyxDQUFDOzs7O1lBSXhCLEVBQUV0QyxNQUFNc0MsV0FBVyxDQUFDLGFBQWEsRUFBRXRDLE1BQU11QyxLQUFLLENBQUM7Ozs7d0JBSW5DLEVBQUV2QyxNQUFNdUMsS0FBSyxDQUFDOztzQkFFaEIsRUFBRXZDLE1BQU11QyxLQUFLLENBQUMsQ0FBQyxFQUFFaEMsYUFBYSxLQUFLOzs7O3NCQUluQyxFQUFFUCxNQUFNdUMsS0FBSyxDQUFDOzs7O01BSTlCLEVBQUV2QyxNQUFNc0MsV0FBVyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztNQWlFcEIsQ0FBQyxDQUFDRSxJQUFJO1lBQ05DLFlBQVksRUFBRTtRQUNoQjtJQUNGO0FBQ0YifQ==
|
|
@@ -15,6 +15,8 @@ export declare class Template__view_list extends Template {
|
|
|
15
15
|
getDefault(columns: RenderingNode[]): {
|
|
16
16
|
orderBy: string;
|
|
17
17
|
search: string;
|
|
18
|
+
hasSearch: boolean;
|
|
19
|
+
hasOrderBy: boolean;
|
|
18
20
|
};
|
|
19
21
|
render({ entityId }: TemplateOptions["view_list"]): Promise<{
|
|
20
22
|
body: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view_list.template.d.ts","sourceRoot":"","sources":["../../../src/template/implementations/view_list.template.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"view_list.template.d.ts","sourceRoot":"","sources":["../../../src/template/implementations/view_list.template.ts"],"names":[],"mappings":"AAGA,OAAO,EAAiB,KAAK,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACpF,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGrF,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,qBAAa,mBAAoB,SAAQ,QAAQ;;IAK/C,gBAAgB,CAAC,KAAK,EAAE,iBAAiB;;;;IAOzC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,GAAE,OAAc,EAAE,SAAS,GAAE,MAAW;IAMpF,YAAY,CACV,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,iBAAiB,EACxB,SAAS,GAAE,MAAc,EACzB,WAAW,GAAE,OAAe,GAC3B,MAAM;IAqFT,kBAAkB,CAChB,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,iBAAiB,GACvB,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE;IAwBpB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,iBAAiB;IAiCjF,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,iBAAiB;IAkC3E,UAAU,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG;QACpC,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,OAAO,CAAC;QACnB,UAAU,EAAE,OAAO,CAAC;KACrB;IAoBK,MAAM,CAAC,EAAE,QAAQ,EAAE,EAAE,eAAe,CAAC,WAAW,CAAC;;;;;;;;;;CAsfxD"}
|