raise-common-lib 0.0.192 → 0.0.194
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/raise-common-lib.umd.js +1357 -49
- package/bundles/raise-common-lib.umd.js.map +1 -1
- package/bundles/raise-common-lib.umd.min.js +1 -1
- package/bundles/raise-common-lib.umd.min.js.map +1 -1
- package/esm2015/lib/common-grid/index.component.js +2 -2
- package/esm2015/lib/form/drawer-form/drawer-form.component.js +112 -44
- package/esm2015/lib/form/richtexteditor/ai-config.js +70 -0
- package/esm2015/lib/form/richtexteditor/data-config.js +273 -0
- package/esm2015/lib/form/richtexteditor/index.component.js +601 -0
- package/esm2015/lib/form/richtexteditor/openapi.js +175 -0
- package/esm2015/lib/layout/page-tab/index.component.js +6 -2
- package/esm2015/lib/raise-common-lib.module.js +7 -2
- package/esm2015/raise-common-lib.js +5 -4
- package/esm5/lib/common-grid/index.component.js +2 -2
- package/esm5/lib/form/drawer-form/drawer-form.component.js +123 -45
- package/esm5/lib/form/richtexteditor/ai-config.js +73 -0
- package/esm5/lib/form/richtexteditor/data-config.js +273 -0
- package/esm5/lib/form/richtexteditor/index.component.js +681 -0
- package/esm5/lib/form/richtexteditor/openapi.js +208 -0
- package/esm5/lib/layout/page-tab/index.component.js +6 -2
- package/esm5/lib/raise-common-lib.module.js +7 -2
- package/esm5/raise-common-lib.js +5 -4
- package/fesm2015/raise-common-lib.js +1230 -48
- package/fesm2015/raise-common-lib.js.map +1 -1
- package/fesm5/raise-common-lib.js +1356 -49
- package/fesm5/raise-common-lib.js.map +1 -1
- package/lib/form/drawer-form/drawer-form.component.d.ts +10 -5
- package/lib/form/richtexteditor/ai-config.d.ts +10 -0
- package/lib/form/richtexteditor/data-config.d.ts +14 -0
- package/lib/form/richtexteditor/index.component.d.ts +78 -0
- package/lib/form/richtexteditor/openapi.d.ts +3 -0
- package/lib/layout/page-tab/index.component.d.ts +1 -0
- package/package.json +1 -1
- package/raise-common-lib.d.ts +4 -3
- package/raise-common-lib.metadata.json +1 -1
- package/src/assets/img/editor-copy.svg +5 -0
- package/src/assets/img/info.svg +5 -0
- package/src/assets/style/reset/grid.scss +2 -1
|
@@ -0,0 +1,273 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview added by tsickle
|
|
3
|
+
* Generated from: lib/form/richtexteditor/data-config.ts
|
|
4
|
+
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
5
|
+
*/
|
|
6
|
+
// font family
|
|
7
|
+
/** @type {?} */
|
|
8
|
+
export const fontFamily = {
|
|
9
|
+
default: "Arial",
|
|
10
|
+
items: [
|
|
11
|
+
{
|
|
12
|
+
text: "Arial",
|
|
13
|
+
value: "Arial, Helvetica, sans-serif",
|
|
14
|
+
cssClass: "e-arial",
|
|
15
|
+
command: "Font",
|
|
16
|
+
subCommand: "FontName",
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
text: "Times New Roman",
|
|
20
|
+
value: "Times New Roman,Times,serif",
|
|
21
|
+
cssClass: "e-times-new-roman",
|
|
22
|
+
command: "Font",
|
|
23
|
+
subCommand: "FontName",
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
text: "Helvetica",
|
|
27
|
+
value: "Helvetica",
|
|
28
|
+
cssClass: "e-helvetica",
|
|
29
|
+
command: "Font",
|
|
30
|
+
subCommand: "FontName",
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
text: "Calibri",
|
|
34
|
+
value: "Calibri, Helvetica, sans-serif",
|
|
35
|
+
cssClass: "e-calibri",
|
|
36
|
+
command: "Font",
|
|
37
|
+
subCommand: "FontName",
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
text: "Verdana",
|
|
41
|
+
value: "Verdana,Geneva,sans-serif",
|
|
42
|
+
cssClass: "e-verdana",
|
|
43
|
+
command: "Font",
|
|
44
|
+
subCommand: "FontName",
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
text: "Georgia",
|
|
48
|
+
value: "Georgia,serif",
|
|
49
|
+
cssClass: "e-georgia",
|
|
50
|
+
command: "Font",
|
|
51
|
+
subCommand: "FontName",
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
text: "Open Sans",
|
|
55
|
+
value: "Open Sans, sans-serif",
|
|
56
|
+
cssClass: "e-open-sans",
|
|
57
|
+
command: "Font",
|
|
58
|
+
subCommand: "FontName",
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
text: "Roboto",
|
|
62
|
+
value: "Roboto",
|
|
63
|
+
cssClass: "e-roboto",
|
|
64
|
+
command: "Font",
|
|
65
|
+
subCommand: "FontName",
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
text: "Lato",
|
|
69
|
+
value: "Lato, sans-serif",
|
|
70
|
+
cssClass: "e-lato",
|
|
71
|
+
command: "Font",
|
|
72
|
+
subCommand: "FontName",
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
text: "Montserrat",
|
|
76
|
+
value: "Montserrat, sans-serif",
|
|
77
|
+
cssClass: "e-montserrat",
|
|
78
|
+
command: "Font",
|
|
79
|
+
subCommand: "FontName",
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
text: "Segoe UI",
|
|
83
|
+
value: "Segoe UI",
|
|
84
|
+
cssClass: "e-segoe-ui",
|
|
85
|
+
command: "Font",
|
|
86
|
+
subCommand: "FontName",
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
text: "Impact",
|
|
90
|
+
value: "Impact,Charcoal,sans-serif",
|
|
91
|
+
cssClass: "e-impact",
|
|
92
|
+
command: "Font",
|
|
93
|
+
subCommand: "FontName",
|
|
94
|
+
},
|
|
95
|
+
],
|
|
96
|
+
};
|
|
97
|
+
// line height配置
|
|
98
|
+
/** @type {?} */
|
|
99
|
+
export const lineHeight_items = [
|
|
100
|
+
{
|
|
101
|
+
text: "1.0",
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
text: "1.15",
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
text: "1.5",
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
text: "2.0",
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
text: "2.5",
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
text: "3.0",
|
|
117
|
+
},
|
|
118
|
+
];
|
|
119
|
+
/**
|
|
120
|
+
* @record
|
|
121
|
+
*/
|
|
122
|
+
export function BulletStyle() { }
|
|
123
|
+
if (false) {
|
|
124
|
+
/** @type {?} */
|
|
125
|
+
BulletStyle.prototype.id;
|
|
126
|
+
/** @type {?} */
|
|
127
|
+
BulletStyle.prototype.text;
|
|
128
|
+
/** @type {?} */
|
|
129
|
+
BulletStyle.prototype.symbol;
|
|
130
|
+
/** @type {?} */
|
|
131
|
+
BulletStyle.prototype.iconCss;
|
|
132
|
+
/** @type {?} */
|
|
133
|
+
BulletStyle.prototype.description;
|
|
134
|
+
}
|
|
135
|
+
/** @type {?} */
|
|
136
|
+
export const BULLET_STYLES = [
|
|
137
|
+
{
|
|
138
|
+
id: "disc",
|
|
139
|
+
text: "● 实心圆点",
|
|
140
|
+
symbol: "●",
|
|
141
|
+
iconCss: "e-icons e-bullet-disc",
|
|
142
|
+
description: "标准实心圆点",
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
id: "circle",
|
|
146
|
+
text: "○ 空心圆点",
|
|
147
|
+
symbol: "○",
|
|
148
|
+
iconCss: "e-icons e-bullet-circle",
|
|
149
|
+
description: "空心圆点",
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
id: "square",
|
|
153
|
+
text: "■ 实心方块",
|
|
154
|
+
symbol: "■",
|
|
155
|
+
iconCss: "e-icons e-bullet-square",
|
|
156
|
+
description: "实心方块",
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
id: "diamond",
|
|
160
|
+
text: "◆ 实心菱形",
|
|
161
|
+
symbol: "◆",
|
|
162
|
+
iconCss: "e-icons e-bullet-diamond",
|
|
163
|
+
description: "实心菱形",
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
id: "triangle",
|
|
167
|
+
text: "► 实心三角",
|
|
168
|
+
symbol: "►",
|
|
169
|
+
iconCss: "e-icons e-bullet-triangle",
|
|
170
|
+
description: "实心三角形",
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
id: "arrow",
|
|
174
|
+
text: "➤ 箭头",
|
|
175
|
+
symbol: "➤",
|
|
176
|
+
iconCss: "e-icons e-bullet-arrow",
|
|
177
|
+
description: "箭头符号",
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
id: "star",
|
|
181
|
+
text: "★ 星形",
|
|
182
|
+
symbol: "★",
|
|
183
|
+
iconCss: "e-icons e-bullet-star",
|
|
184
|
+
description: "星形符号",
|
|
185
|
+
},
|
|
186
|
+
{
|
|
187
|
+
id: "check",
|
|
188
|
+
text: "✓ 对勾",
|
|
189
|
+
symbol: "✓",
|
|
190
|
+
iconCss: "e-icons e-bullet-check",
|
|
191
|
+
description: "对勾符号",
|
|
192
|
+
},
|
|
193
|
+
{
|
|
194
|
+
id: "heart",
|
|
195
|
+
text: "♥ 心形",
|
|
196
|
+
symbol: "♥",
|
|
197
|
+
iconCss: "e-icons e-bullet-heart",
|
|
198
|
+
description: "心形符号",
|
|
199
|
+
},
|
|
200
|
+
{
|
|
201
|
+
id: "bullet",
|
|
202
|
+
text: "• 小圆点",
|
|
203
|
+
symbol: "•",
|
|
204
|
+
iconCss: "e-icons e-bullet-bullet",
|
|
205
|
+
description: "小圆点",
|
|
206
|
+
},
|
|
207
|
+
];
|
|
208
|
+
// 获取符号样式
|
|
209
|
+
/**
|
|
210
|
+
* @param {?} id
|
|
211
|
+
* @return {?}
|
|
212
|
+
*/
|
|
213
|
+
export function getBulletStyle(id) {
|
|
214
|
+
return BULLET_STYLES.find((/**
|
|
215
|
+
* @param {?} style
|
|
216
|
+
* @return {?}
|
|
217
|
+
*/
|
|
218
|
+
(style) => style.id === id));
|
|
219
|
+
}
|
|
220
|
+
// 获取所有符号样式
|
|
221
|
+
/**
|
|
222
|
+
* @return {?}
|
|
223
|
+
*/
|
|
224
|
+
export function getAllBulletStyles() {
|
|
225
|
+
return BULLET_STYLES;
|
|
226
|
+
}
|
|
227
|
+
// 应用符号样式到列表
|
|
228
|
+
/**
|
|
229
|
+
* @param {?} ul
|
|
230
|
+
* @param {?} style
|
|
231
|
+
* @return {?}
|
|
232
|
+
*/
|
|
233
|
+
export function applyBulletStyle(ul, style) {
|
|
234
|
+
if (style.id === "disc" || style.id === "circle" || style.id === "square") {
|
|
235
|
+
// 使用CSS list-style-type
|
|
236
|
+
ul.style.listStyleType = style.id;
|
|
237
|
+
// 移除自定义符号
|
|
238
|
+
ul.querySelectorAll(".custom-bullet").forEach((/**
|
|
239
|
+
* @param {?} bullet
|
|
240
|
+
* @return {?}
|
|
241
|
+
*/
|
|
242
|
+
(bullet) => bullet.remove()));
|
|
243
|
+
}
|
|
244
|
+
else {
|
|
245
|
+
// 使用自定义符号
|
|
246
|
+
ul.style.listStyleType = "none";
|
|
247
|
+
ul.setAttribute("data-bullet-style", style.id);
|
|
248
|
+
/** @type {?} */
|
|
249
|
+
const listItems = ul.querySelectorAll("li");
|
|
250
|
+
listItems.forEach((/**
|
|
251
|
+
* @param {?} li
|
|
252
|
+
* @return {?}
|
|
253
|
+
*/
|
|
254
|
+
(li) => {
|
|
255
|
+
// 移除现有的自定义符号
|
|
256
|
+
/** @type {?} */
|
|
257
|
+
const existingBullet = li.querySelector(".custom-bullet");
|
|
258
|
+
if (existingBullet) {
|
|
259
|
+
existingBullet.remove();
|
|
260
|
+
}
|
|
261
|
+
// 添加新的自定义符号
|
|
262
|
+
/** @type {?} */
|
|
263
|
+
const bullet = document.createElement("span");
|
|
264
|
+
bullet.className = "custom-bullet";
|
|
265
|
+
bullet.textContent = style.symbol;
|
|
266
|
+
bullet.style.marginRight = "8px";
|
|
267
|
+
bullet.style.color = "#666";
|
|
268
|
+
// 将符号插入到列表项的开头
|
|
269
|
+
li.insertBefore(bullet, li.firstChild);
|
|
270
|
+
}));
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1jb25maWcuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9yYWlzZS1jb21tb24tbGliLyIsInNvdXJjZXMiOlsibGliL2Zvcm0vcmljaHRleHRlZGl0b3IvZGF0YS1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUlBLE1BQU0sT0FBTyxVQUFVLEdBQVc7SUFDaEMsT0FBTyxFQUFFLE9BQU87SUFDaEIsS0FBSyxFQUFFO1FBQ0w7WUFDRSxJQUFJLEVBQUUsT0FBTztZQUNiLEtBQUssRUFBRSw4QkFBOEI7WUFDckMsUUFBUSxFQUFFLFNBQVM7WUFDbkIsT0FBTyxFQUFFLE1BQU07WUFDZixVQUFVLEVBQUUsVUFBVTtTQUN2QjtRQUNEO1lBQ0UsSUFBSSxFQUFFLGlCQUFpQjtZQUN2QixLQUFLLEVBQUUsNkJBQTZCO1lBQ3BDLFFBQVEsRUFBRSxtQkFBbUI7WUFDN0IsT0FBTyxFQUFFLE1BQU07WUFDZixVQUFVLEVBQUUsVUFBVTtTQUN2QjtRQUNEO1lBQ0UsSUFBSSxFQUFFLFdBQVc7WUFDakIsS0FBSyxFQUFFLFdBQVc7WUFDbEIsUUFBUSxFQUFFLGFBQWE7WUFDdkIsT0FBTyxFQUFFLE1BQU07WUFDZixVQUFVLEVBQUUsVUFBVTtTQUN2QjtRQUNEO1lBQ0UsSUFBSSxFQUFFLFNBQVM7WUFDZixLQUFLLEVBQUUsZ0NBQWdDO1lBQ3ZDLFFBQVEsRUFBRSxXQUFXO1lBQ3JCLE9BQU8sRUFBRSxNQUFNO1lBQ2YsVUFBVSxFQUFFLFVBQVU7U0FDdkI7UUFDRDtZQUNFLElBQUksRUFBRSxTQUFTO1lBQ2YsS0FBSyxFQUFFLDJCQUEyQjtZQUNsQyxRQUFRLEVBQUUsV0FBVztZQUNyQixPQUFPLEVBQUUsTUFBTTtZQUNmLFVBQVUsRUFBRSxVQUFVO1NBQ3ZCO1FBQ0Q7WUFDRSxJQUFJLEVBQUUsU0FBUztZQUNmLEtBQUssRUFBRSxlQUFlO1lBQ3RCLFFBQVEsRUFBRSxXQUFXO1lBQ3JCLE9BQU8sRUFBRSxNQUFNO1lBQ2YsVUFBVSxFQUFF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QUFNLEVBQUUsRUFBQyxDQUFDO0tBQzVFO1NBQU07UUFDTCxVQUFVO1FBQ1YsRUFBRSxDQUFDLEtBQUssQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDO1FBQ2hDLEVBQUUsQ0FBQyxZQUFZLENBQUMsbUJBQW1CLEVBQUUsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDOztjQUV6QyxTQUFTLEdBQUcsRUFBRSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQztRQUMzQyxTQUFTLENBQUMsT0FBTzs7OztRQUFDLENBQUMsRUFBRSxFQUFFLEVBQUU7OztrQkFFakIsY0FBYyxHQUFHLEVBQUUsQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUM7WUFDekQsSUFBSSxjQUFjLEVBQUU7Z0JBQ2xCLGNBQWMsQ0FBQyxNQUFNLEVBQUUsQ0FBQzthQUN6Qjs7O2tCQUdLLE1BQU0sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQztZQUM3QyxNQUFNLENBQUMsU0FBUyxHQUFHLGVBQWUsQ0FBQztZQUNuQyxNQUFNLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7WUFDbEMsTUFBTSxDQUFDLEtBQUssQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1lBQ2pDLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQztZQUU1QixlQUFlO1lBQ2YsRUFBRSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3pDLENBQUMsRUFBQyxDQUFDO0tBQ0o7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSXRlbU1vZGVsIH0gZnJvbSBcIkBzeW5jZnVzaW9uL2VqMi1hbmd1bGFyLXNwbGl0YnV0dG9uc1wiO1xyXG5cclxuLy8gZm9udCBmYW1pbHlcclxuXHJcbmV4cG9ydCBjb25zdCBmb250RmFtaWx5OiBPYmplY3QgPSB7XHJcbiAgZGVmYXVsdDogXCJBcmlhbFwiLFxyXG4gIGl0ZW1zOiBbXHJcbiAgICB7XHJcbiAgICAgIHRleHQ6IFwiQXJpYWxcIixcclxuICAgICAgdmFsdWU6IFwiQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZlwiLFxyXG4gICAgICBjc3NDbGFzczogXCJlLWFyaWFsXCIsXHJcbiAgICAgIGNvbW1hbmQ6IFwiRm9udFwiLFxyXG4gICAgICBzdWJDb21tYW5kOiBcIkZvbnROYW1lXCIsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICB0ZXh0OiBcIlRpbWVzIE5ldyBSb21hblwiLFxyXG4gICAgICB2YWx1ZTogXCJUaW1lcyBOZXcgUm9tYW4sVGltZXMsc2VyaWZcIixcclxuICAgICAgY3NzQ2xhc3M6IFwiZS10aW1lcy1uZXctcm9tYW5cIixcclxuICAgICAgY29tbWFuZDogXCJGb250XCIsXHJcbiAgICAgIHN1YkNvbW1hbmQ6IFwiRm9udE5hbWVcIixcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHRleHQ6IFwiSGVsdmV0aWNhXCIsXHJcbiAgICAgIHZhbHVlOiBcIkhlbHZldGljYVwiLFxyXG4gICAgICBjc3NDbGFzczogXCJlLWhlbHZldGljYVwiLFxyXG4gICAgICBjb21tYW5kOiBcIkZvbnRcIixcclxuICAgICAgc3ViQ29tbWFuZDogXCJGb250TmFtZVwiLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgdGV4dDogXCJDYWxpYnJpXCIsXHJcbiAgICAgIHZhbHVlOiBcIkNhbGlicmksIEhlbHZldGljYSwgc2Fucy1zZXJpZlwiLFxyXG4gICAgICBjc3NDbGFzczogXCJlLWNhbGlicmlcIixcclxuICAgICAgY29tbWFuZDogXCJGb250XCIsXHJcbiAgICAgIHN1YkNvbW1hbmQ6IFwiRm9udE5hbWVcIixcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHRleHQ6IFwiVmVyZGFuYVwiLFxyXG4gICAgICB2YWx1ZTogXCJWZXJkYW5hLEdlbmV2YSxzYW5zLXNlcmlmXCIsXHJcbiAgICAgIGNzc0NsYXNzOiBcImUtdmVyZGFuYVwiLFxyXG4gICAgICBjb21tYW5kOiBcIkZvbnRcIixcclxuICAgICAgc3ViQ29tbWFuZDogXCJGb250TmFtZVwiLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgdGV4dDogXCJHZW9yZ2lhXCIsXHJcbiAgICAgIHZhbHVlOiBcIkdlb3JnaWEsc2VyaWZcIixcclxuICAgICAgY3NzQ2xhc3M6IFwiZS1nZW9yZ2lhXCIsXHJcbiAgICAgIGNvbW1hbmQ6IFwiRm9udFwiLFxyXG4gICAgICBzdWJDb21tYW5kOiBcIkZvbnROYW1lXCIsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICB0ZXh0OiBcIk9wZW4gU2Fuc1wiLFxyXG4gICAgICB2YWx1ZTogXCJPcGVuIFNhbnMsIHNhbnMtc2VyaWZcIixcclxuICAgICAgY3NzQ2xhc3M6IFwiZS1vcGVuLXNhbnNcIixcclxuICAgICAgY29tbWFuZDogXCJGb250XCIsXHJcbiAgICAgIHN1YkNvbW1hbmQ6IFwiRm9udE5hbWVcIixcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHRleHQ6IFwiUm9ib3RvXCIsXHJcbiAgICAgIHZhbHVlOiBcIlJvYm90b1wiLFxyXG4gICAgICBjc3NDbGFzczogXCJlLXJvYm90b1wiLFxyXG4gICAgICBjb21tYW5kOiBcIkZvbnRcIixcclxuICAgICAgc3ViQ29tbWFuZDogXCJGb250TmFtZVwiLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgdGV4dDogXCJMYXRvXCIsXHJcbiAgICAgIHZhbHVlOiBcIkxhdG8sIHNhbnMtc2VyaWZcIixcclxuICAgICAgY3NzQ2xhc3M6IFwiZS1sYXRvXCIsXHJcbiAgICAgIGNvbW1hbmQ6IFwiRm9udFwiLFxyXG4gICAgICBzdWJDb21tYW5kOiBcIkZvbnROYW1lXCIsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICB0ZXh0OiBcIk1vbnRzZXJyYXRcIixcclxuICAgICAgdmFsdWU6IFwiTW9udHNlcnJhdCwgc2Fucy1zZXJpZlwiLFxyXG4gICAgICBjc3NDbGFzczogXCJlLW1vbnRzZXJyYXRcIixcclxuICAgICAgY29tbWFuZDogXCJGb250XCIsXHJcbiAgICAgIHN1YkNvbW1hbmQ6IFwiRm9udE5hbWVcIixcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHRleHQ6IFwiU2Vnb2UgVUlcIixcclxuICAgICAgdmFsdWU6IFwiU2Vnb2UgVUlcIixcclxuICAgICAgY3NzQ2xhc3M6IFwiZS1zZWdvZS11aVwiLFxyXG4gICAgICBjb21tYW5kOiBcIkZvbnRcIixcclxuICAgICAgc3ViQ29tbWFuZDogXCJGb250TmFtZVwiLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgdGV4dDogXCJJbXBhY3RcIixcclxuICAgICAgdmFsdWU6IFwiSW1wYWN0LENoYXJjb2FsLHNhbnMtc2VyaWZcIixcclxuICAgICAgY3NzQ2xhc3M6IFwiZS1pbXBhY3RcIixcclxuICAgICAgY29tbWFuZDogXCJGb250XCIsXHJcbiAgICAgIHN1YkNvbW1hbmQ6IFwiRm9udE5hbWVcIixcclxuICAgIH0sXHJcbiAgXSxcclxufTtcclxuXHJcbi8vIGxpbmUgaGVpZ2h06YWN572uXHJcbmV4cG9ydCBjb25zdCBsaW5lSGVpZ2h0X2l0ZW1zOiBJdGVtTW9kZWxbXSA9IFtcclxuICB7XHJcbiAgICB0ZXh0OiBcIjEuMFwiLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdGV4dDogXCIxLjE1XCIsXHJcbiAgfSxcclxuICB7XHJcbiAgICB0ZXh0OiBcIjEuNVwiLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdGV4dDogXCIyLjBcIixcclxuICB9LFxyXG4gIHtcclxuICAgIHRleHQ6IFwiMi41XCIsXHJcbiAgfSxcclxuICB7XHJcbiAgICB0ZXh0OiBcIjMuMFwiLFxyXG4gIH0sXHJcbl07XHJcblxyXG4vLyDml6Dluo/liJfooajnrKblj7fphY3nva5cclxuZXhwb3J0IGludGVyZmFjZSBCdWxsZXRTdHlsZSB7XHJcbiAgaWQ6IHN0cmluZztcclxuICB0ZXh0OiBzdHJpbmc7XHJcbiAgc3ltYm9sOiBzdHJpbmc7XHJcbiAgaWNvbkNzczogc3RyaW5nO1xyXG4gIGRlc2NyaXB0aW9uOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBCVUxMRVRfU1RZTEVTOiBCdWxsZXRTdHlsZVtdID0gW1xyXG4gIHtcclxuICAgIGlkOiBcImRpc2NcIixcclxuICAgIHRleHQ6IFwi4pePIOWunuW/g+WchueCuVwiLFxyXG4gICAgc3ltYm9sOiBcIuKXj1wiLFxyXG4gICAgaWNvbkNzczogXCJlLWljb25zIGUtYnVsbGV0LWRpc2NcIixcclxuICAgIGRlc2NyaXB0aW9uOiBcIuagh+WHhuWunuW/g+WchueCuVwiLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgaWQ6IFwiY2lyY2xlXCIsXHJcbiAgICB0ZXh0OiBcIuKXiyDnqbrlv4PlnIbngrlcIixcclxuICAgIHN5bWJvbDogXCLil4tcIixcclxuICAgIGljb25Dc3M6IFwiZS1pY29ucyBlLWJ1bGxldC1jaXJjbGVcIixcclxuICAgIGRlc2NyaXB0aW9uOiBcIuepuuW/g+WchueCuVwiLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgaWQ6IFwic3F1YXJlXCIsXHJcbiAgICB0ZXh0OiBcIuKWoCDlrp7lv4PmlrnlnZdcIixcclxuICAgIHN5bWJvbDogXCLilqBcIixcclxuICAgIGljb25Dc3M6IFwiZS1pY29ucyBlLWJ1bGxldC1zcXVhcmVcIixcclxuICAgIGRlc2NyaXB0aW9uOiBcIuWunuW/g+aWueWdl1wiLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgaWQ6IFwiZGlhbW9uZFwiLFxyXG4gICAgdGV4dDogXCLil4Yg5a6e5b+D6I+x5b2iXCIsXHJcbiAgICBzeW1ib2w6IFwi4peGXCIsXHJcbiAgICBpY29uQ3NzOiBcImUtaWNvbnMgZS1idWxsZXQtZGlhbW9uZFwiLFxyXG4gICAgZGVzY3JpcHRpb246IFwi5a6e5b+D6I+x5b2iXCIsXHJcbiAgfSxcclxuICB7XHJcbiAgICBpZDogXCJ0cmlhbmdsZVwiLFxyXG4gICAgdGV4dDogXCLilrog5a6e5b+D5LiJ6KeSXCIsXHJcbiAgICBzeW1ib2w6IFwi4pa6XCIsXHJcbiAgICBpY29uQ3NzOiBcImUtaWNvbnMgZS1idWxsZXQtdHJpYW5nbGVcIixcclxuICAgIGRlc2NyaXB0aW9uOiBcIuWunuW/g+S4ieinkuW9olwiLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgaWQ6IFwiYXJyb3dcIixcclxuICAgIHRleHQ6IFwi4p6kIOeureWktFwiLFxyXG4gICAgc3ltYm9sOiBcIuKepFwiLFxyXG4gICAgaWNvbkNzczogXCJlLWljb25zIGUtYnVsbGV0LWFycm93XCIsXHJcbiAgICBkZXNjcmlwdGlvbjogXCLnrq3lpLTnrKblj7dcIixcclxuICB9LFxyXG4gIHtcclxuICAgIGlkOiBcInN0YXJcIixcclxuICAgIHRleHQ6IFwi4piFIOaYn+W9olwiLFxyXG4gICAgc3ltYm9sOiBcIuKYhVwiLFxyXG4gICAgaWNvbkNzczogXCJlLWljb25zIGUtYnVsbGV0LXN0YXJcIixcclxuICAgIGRlc2NyaXB0aW9uOiBcIuaYn+W9ouespuWPt1wiLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgaWQ6IFwiY2hlY2tcIixcclxuICAgIHRleHQ6IFwi4pyTIOWvueWLvlwiLFxyXG4gICAgc3ltYm9sOiBcIuKck1wiLFxyXG4gICAgaWNvbkNzczogXCJlLWljb25zIGUtYnVsbGV0LWNoZWNrXCIsXHJcbiAgICBkZXNjcmlwdGlvbjogXCLlr7nli77nrKblj7dcIixcclxuICB9LFxyXG4gIHtcclxuICAgIGlkOiBcImhlYXJ0XCIsXHJcbiAgICB0ZXh0OiBcIuKZpSDlv4PlvaJcIixcclxuICAgIHN5bWJvbDogXCLimaVcIixcclxuICAgIGljb25Dc3M6IFwiZS1pY29ucyBlLWJ1bGxldC1oZWFydFwiLFxyXG4gICAgZGVzY3JpcHRpb246IFwi5b+D5b2i56ym5Y+3XCIsXHJcbiAgfSxcclxuICB7XHJcbiAgICBpZDogXCJidWxsZXRcIixcclxuICAgIHRleHQ6IFwi4oCiIOWwj+WchueCuVwiLFxyXG4gICAgc3ltYm9sOiBcIuKAolwiLFxyXG4gICAgaWNvbkNzczogXCJlLWljb25zIGUtYnVsbGV0LWJ1bGxldFwiLFxyXG4gICAgZGVzY3JpcHRpb246IFwi5bCP5ZyG54K5XCIsXHJcbiAgfSxcclxuXTtcclxuXHJcbi8vIOiOt+WPluespuWPt+agt+W8j1xyXG5leHBvcnQgZnVuY3Rpb24gZ2V0QnVsbGV0U3R5bGUoaWQ6IHN0cmluZyk6IEJ1bGxldFN0eWxlIHwgdW5kZWZpbmVkIHtcclxuICByZXR1cm4gQlVMTEVUX1NUWUxFUy5maW5kKChzdHlsZSkgPT4gc3R5bGUuaWQgPT09IGlkKTtcclxufVxyXG5cclxuLy8g6I635Y+W5omA5pyJ56ym5Y+35qC35byPXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRBbGxCdWxsZXRTdHlsZXMoKTogQnVsbGV0U3R5bGVbXSB7XHJcbiAgcmV0dXJuIEJVTExFVF9TVFlMRVM7XHJcbn1cclxuXHJcbi8vIOW6lOeUqOespuWPt+agt+W8j+WIsOWIl+ihqFxyXG5leHBvcnQgZnVuY3Rpb24gYXBwbHlCdWxsZXRTdHlsZSh1bDogSFRNTEVsZW1lbnQsIHN0eWxlOiBCdWxsZXRTdHlsZSk6IHZvaWQge1xyXG4gIGlmIChzdHlsZS5pZCA9PT0gXCJkaXNjXCIgfHwgc3R5bGUuaWQgPT09IFwiY2lyY2xlXCIgfHwgc3R5bGUuaWQgPT09IFwic3F1YXJlXCIpIHtcclxuICAgIC8vIOS9v+eUqENTUyBsaXN0LXN0eWxlLXR5cGVcclxuICAgIHVsLnN0eWxlLmxpc3RTdHlsZVR5cGUgPSBzdHlsZS5pZDtcclxuICAgIC8vIOenu+mZpOiHquWumuS5ieespuWPt1xyXG4gICAgdWwucXVlcnlTZWxlY3RvckFsbChcIi5jdXN0b20tYnVsbGV0XCIpLmZvckVhY2goKGJ1bGxldCkgPT4gYnVsbGV0LnJlbW92ZSgpKTtcclxuICB9IGVsc2Uge1xyXG4gICAgLy8g5L2/55So6Ieq5a6a5LmJ56ym5Y+3XHJcbiAgICB1bC5zdHlsZS5saXN0U3R5bGVUeXBlID0gXCJub25lXCI7XHJcbiAgICB1bC5zZXRBdHRyaWJ1dGUoXCJkYXRhLWJ1bGxldC1zdHlsZVwiLCBzdHlsZS5pZCk7XHJcblxyXG4gICAgY29uc3QgbGlzdEl0ZW1zID0gdWwucXVlcnlTZWxlY3RvckFsbChcImxpXCIpO1xyXG4gICAgbGlzdEl0ZW1zLmZvckVhY2goKGxpKSA9PiB7XHJcbiAgICAgIC8vIOenu+mZpOeOsOacieeahOiHquWumuS5ieespuWPt1xyXG4gICAgICBjb25zdCBleGlzdGluZ0J1bGxldCA9IGxpLnF1ZXJ5U2VsZWN0b3IoXCIuY3VzdG9tLWJ1bGxldFwiKTtcclxuICAgICAgaWYgKGV4aXN0aW5nQnVsbGV0KSB7XHJcbiAgICAgICAgZXhpc3RpbmdCdWxsZXQucmVtb3ZlKCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vIOa3u+WKoOaWsOeahOiHquWumuS5ieespuWPt1xyXG4gICAgICBjb25zdCBidWxsZXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwic3BhblwiKTtcclxuICAgICAgYnVsbGV0LmNsYXNzTmFtZSA9IFwiY3VzdG9tLWJ1bGxldFwiO1xyXG4gICAgICBidWxsZXQudGV4dENvbnRlbnQgPSBzdHlsZS5zeW1ib2w7XHJcbiAgICAgIGJ1bGxldC5zdHlsZS5tYXJnaW5SaWdodCA9IFwiOHB4XCI7XHJcbiAgICAgIGJ1bGxldC5zdHlsZS5jb2xvciA9IFwiIzY2NlwiO1xyXG5cclxuICAgICAgLy8g5bCG56ym5Y+35o+S5YWl5Yiw5YiX6KGo6aG555qE5byA5aS0XHJcbiAgICAgIGxpLmluc2VydEJlZm9yZShidWxsZXQsIGxpLmZpcnN0Q2hpbGQpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|