raise-common-lib-new 0.0.36 → 0.0.38

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.
Files changed (122) hide show
  1. package/README.md +24 -24
  2. package/esm2022/lib/actions/toolbar/constants.mjs +2 -0
  3. package/esm2022/lib/{layout → actions}/toolbar/index.component.mjs +3 -3
  4. package/esm2022/lib/actions/toolbar-item/index.component.mjs +82 -0
  5. package/esm2022/lib/commentary/index.component.mjs +19 -10
  6. package/esm2022/lib/common-grid/grid-action/grid-action-item/grid-action-item.component.mjs +42 -3
  7. package/esm2022/lib/common-grid/grid-action/grid-action.component.mjs +2 -2
  8. package/esm2022/lib/common-grid/index.component.mjs +30 -3
  9. package/esm2022/lib/dialog/common-delete-dialog/index.component.mjs +11 -7
  10. package/esm2022/lib/dialog/common-dialog/index.component.mjs +45 -12
  11. package/esm2022/lib/float-box/index.component.mjs +3 -1
  12. package/esm2022/lib/form/confirm-select/index.component.mjs +78 -0
  13. package/esm2022/lib/form/drawer-form/constants.mjs +1 -1
  14. package/esm2022/lib/form/drawer-form/drawer-form.component.mjs +52 -24
  15. package/esm2022/lib/form/richtexteditor/ai-config.mjs +35 -0
  16. package/esm2022/lib/form/richtexteditor/data-config.mjs +222 -0
  17. package/esm2022/lib/form/richtexteditor/index.component.mjs +425 -0
  18. package/esm2022/lib/form/richtexteditor/openapi.mjs +121 -0
  19. package/esm2022/lib/form/search-input/index.component.mjs +45 -0
  20. package/esm2022/lib/form/tag-input/index.component.mjs +1 -1
  21. package/esm2022/lib/layout/drawer/index.component.mjs +28 -18
  22. package/esm2022/lib/layout/grid-box/index.component.mjs +28 -19
  23. package/esm2022/lib/layout/main-container/index.component.mjs +3 -3
  24. package/esm2022/lib/layout/multi-tab/index.component.mjs +80 -41
  25. package/esm2022/lib/layout/page-list/index.component.mjs +28 -19
  26. package/esm2022/lib/layout/rs-aside/index.component.mjs +12 -9
  27. package/esm2022/lib/layout/rs-footer/index.component.mjs +2 -2
  28. package/esm2022/lib/layout/rs-header/index.component.mjs +6 -3
  29. package/esm2022/lib/raise-common-lib.module.mjs +43 -15
  30. package/esm2022/lib/service/dialog.service.mjs +9 -6
  31. package/esm2022/lib/service/drawer.service.mjs +8 -6
  32. package/esm2022/lib/truncated-text-toggle/index.component.mjs +41 -0
  33. package/esm2022/public-api.mjs +7 -4
  34. package/fesm2022/raise-common-lib-new.mjs +1433 -220
  35. package/fesm2022/raise-common-lib-new.mjs.map +1 -1
  36. package/lib/{form → actions}/toolbar-item/index.component.d.ts +2 -1
  37. package/lib/commentary/index.component.d.ts +2 -2
  38. package/lib/common-grid/grid-action/grid-action-item/grid-action-item.component.d.ts +6 -1
  39. package/lib/common-grid/index.component.d.ts +10 -1
  40. package/lib/dialog/common-delete-dialog/index.component.d.ts +8 -2
  41. package/lib/dialog/common-dialog/index.component.d.ts +10 -2
  42. package/lib/float-box/index.component.d.ts +2 -2
  43. package/lib/form/confirm-select/index.component.d.ts +28 -0
  44. package/lib/form/drawer-form/constants.d.ts +2 -0
  45. package/lib/form/drawer-form/drawer-form.component.d.ts +8 -5
  46. package/lib/form/richtexteditor/ai-config.d.ts +10 -0
  47. package/lib/form/richtexteditor/data-config.d.ts +14 -0
  48. package/lib/form/richtexteditor/index.component.d.ts +83 -0
  49. package/lib/form/richtexteditor/openapi.d.ts +3 -0
  50. package/lib/form/search-input/index.component.d.ts +17 -0
  51. package/lib/layout/drawer/index.component.d.ts +8 -7
  52. package/lib/layout/grid-box/index.component.d.ts +9 -6
  53. package/lib/layout/multi-tab/index.component.d.ts +9 -3
  54. package/lib/layout/page-list/index.component.d.ts +9 -6
  55. package/lib/layout/rs-aside/index.component.d.ts +3 -1
  56. package/lib/layout/rs-header/index.component.d.ts +2 -1
  57. package/lib/raise-common-lib.module.d.ts +37 -32
  58. package/lib/service/dialog.service.d.ts +3 -1
  59. package/lib/service/drawer.service.d.ts +1 -1
  60. package/lib/truncated-text-toggle/index.component.d.ts +15 -0
  61. package/package.json +2 -2
  62. package/public-api.d.ts +6 -3
  63. package/src/assets/img/arrow_right.svg +4 -4
  64. package/src/assets/img/calendar-disabled.svg +6 -6
  65. package/src/assets/img/calendar.svg +6 -6
  66. package/src/assets/img/calendar_arrow_left.svg +3 -3
  67. package/src/assets/img/calendar_arrow_right.svg +3 -3
  68. package/src/assets/img/checked-vector.svg +3 -3
  69. package/src/assets/img/click_show_more_icon.svg +3 -0
  70. package/src/assets/img/dialog-close.svg +4 -0
  71. package/src/assets/img/dialog-grow.svg +6 -0
  72. package/src/assets/img/dialog-shrink.svg +6 -0
  73. package/src/assets/img/editor-copy.svg +5 -0
  74. package/src/assets/img/grid-action-detail.svg +4 -5
  75. package/src/assets/img/grid-action-duplicate.svg +6 -0
  76. package/src/assets/img/grid-action-export.svg +4 -11
  77. package/src/assets/img/grid-action-preview.svg +7 -0
  78. package/src/assets/img/grid-action-refresh.svg +4 -0
  79. package/src/assets/img/grid-action-verify.svg +7 -0
  80. package/src/assets/img/grid-action-viewStatus.svg +3 -0
  81. package/src/assets/img/grid-menu-arrow-up.svg +4 -0
  82. package/src/assets/img/grid-menu-filter.svg +6 -0
  83. package/src/assets/img/info.svg +5 -0
  84. package/src/assets/img/plus.svg +4 -4
  85. package/src/assets/img/search.svg +4 -4
  86. package/src/assets/img/shrink-icon.svg +6 -0
  87. package/src/assets/img/time-disabled.svg +4 -4
  88. package/src/assets/img/time.svg +4 -4
  89. package/src/assets/img/toolbar-action-addFolder.svg +17 -0
  90. package/src/assets/img/toolbar-action-calculator.svg +11 -0
  91. package/src/assets/img/toolbar-action-collapse.svg +7 -0
  92. package/src/assets/img/toolbar-action-combine.svg +4 -0
  93. package/src/assets/img/toolbar-action-edit.svg +4 -0
  94. package/src/assets/img/toolbar-action-expand.svg +7 -0
  95. package/src/assets/img/toolbar-action-fetchData.svg +3 -0
  96. package/src/assets/img/toolbar-action-folderMove.svg +8 -0
  97. package/src/assets/img/toolbar-action-lock.svg +6 -0
  98. package/src/assets/img/toolbar-action-preview.svg +7 -0
  99. package/src/assets/img/toolbar-action-publish.svg +5 -0
  100. package/src/assets/img/toolbar-action-refresh.svg +3 -13
  101. package/src/assets/img/toolbar-action-reminders.svg +10 -0
  102. package/src/assets/img/toolbar-action-rename.svg +7 -0
  103. package/src/assets/img/toolbar-action-saveSequence.svg +5 -0
  104. package/src/assets/img/toolbar-action-send-file.svg +5 -0
  105. package/src/assets/img/toolbar-action-settle.svg +7 -0
  106. package/src/assets/img/toolbar-action-share.svg +5 -0
  107. package/src/assets/img/toolbar-action-submitForApproval.svg +4 -0
  108. package/src/assets/img/toolbar-action-sync.svg +4 -0
  109. package/src/assets/img/toolbar-action-template.svg +6 -0
  110. package/src/assets/img/toolbar-action-update.svg +11 -0
  111. package/src/assets/img/toolbar-action-workflow.svg +9 -0
  112. package/src/assets/style/reset/button.scss +3 -3
  113. package/src/assets/style/reset/checkbox.scss +15 -9
  114. package/src/assets/style/reset/dropdown.scss +56 -14
  115. package/src/assets/style/reset/grid.scss +134 -2
  116. package/src/assets/style/reset/mat-dialog.scss +1 -2
  117. package/src/assets/style/reset/radio.scss +33 -35
  118. package/src/assets/style/style.scss +0 -1
  119. package/esm2022/lib/form/toolbar-item/index.component.mjs +0 -56
  120. package/esm2022/lib/layout/toolbar/constants.mjs +0 -2
  121. /package/lib/{layout → actions}/toolbar/constants.d.ts +0 -0
  122. /package/lib/{layout → actions}/toolbar/index.component.d.ts +0 -0
@@ -0,0 +1,222 @@
1
+ // font family
2
+ export const fontFamily = {
3
+ default: "Arial",
4
+ items: [
5
+ {
6
+ text: "Arial",
7
+ value: "Arial, Helvetica, sans-serif",
8
+ cssClass: "e-arial",
9
+ command: "Font",
10
+ subCommand: "FontName",
11
+ },
12
+ {
13
+ text: "Times New Roman",
14
+ value: "Times New Roman,Times,serif",
15
+ cssClass: "e-times-new-roman",
16
+ command: "Font",
17
+ subCommand: "FontName",
18
+ },
19
+ {
20
+ text: "Helvetica",
21
+ value: "Helvetica",
22
+ cssClass: "e-helvetica",
23
+ command: "Font",
24
+ subCommand: "FontName",
25
+ },
26
+ {
27
+ text: "Calibri",
28
+ value: "Calibri, Helvetica, sans-serif",
29
+ cssClass: "e-calibri",
30
+ command: "Font",
31
+ subCommand: "FontName",
32
+ },
33
+ {
34
+ text: "Verdana",
35
+ value: "Verdana,Geneva,sans-serif",
36
+ cssClass: "e-verdana",
37
+ command: "Font",
38
+ subCommand: "FontName",
39
+ },
40
+ {
41
+ text: "Georgia",
42
+ value: "Georgia,serif",
43
+ cssClass: "e-georgia",
44
+ command: "Font",
45
+ subCommand: "FontName",
46
+ },
47
+ {
48
+ text: "Open Sans",
49
+ value: "Open Sans, sans-serif",
50
+ cssClass: "e-open-sans",
51
+ command: "Font",
52
+ subCommand: "FontName",
53
+ },
54
+ {
55
+ text: "Roboto",
56
+ value: "Roboto",
57
+ cssClass: "e-roboto",
58
+ command: "Font",
59
+ subCommand: "FontName",
60
+ },
61
+ {
62
+ text: "Lato",
63
+ value: "Lato, sans-serif",
64
+ cssClass: "e-lato",
65
+ command: "Font",
66
+ subCommand: "FontName",
67
+ },
68
+ {
69
+ text: "Montserrat",
70
+ value: "Montserrat, sans-serif",
71
+ cssClass: "e-montserrat",
72
+ command: "Font",
73
+ subCommand: "FontName",
74
+ },
75
+ {
76
+ text: "Segoe UI",
77
+ value: "Segoe UI",
78
+ cssClass: "e-segoe-ui",
79
+ command: "Font",
80
+ subCommand: "FontName",
81
+ },
82
+ {
83
+ text: "Impact",
84
+ value: "Impact,Charcoal,sans-serif",
85
+ cssClass: "e-impact",
86
+ command: "Font",
87
+ subCommand: "FontName",
88
+ },
89
+ ],
90
+ };
91
+ // line height配置
92
+ export const lineHeight_items = [
93
+ {
94
+ text: "1.0",
95
+ },
96
+ {
97
+ text: "1.15",
98
+ },
99
+ {
100
+ text: "1.5",
101
+ },
102
+ {
103
+ text: "2.0",
104
+ },
105
+ {
106
+ text: "2.5",
107
+ },
108
+ {
109
+ text: "3.0",
110
+ },
111
+ ];
112
+ export const BULLET_STYLES = [
113
+ {
114
+ id: "disc",
115
+ text: "● 实心圆点",
116
+ symbol: "●",
117
+ iconCss: "e-icons e-bullet-disc",
118
+ description: "标准实心圆点",
119
+ },
120
+ {
121
+ id: "circle",
122
+ text: "○ 空心圆点",
123
+ symbol: "○",
124
+ iconCss: "e-icons e-bullet-circle",
125
+ description: "空心圆点",
126
+ },
127
+ {
128
+ id: "square",
129
+ text: "■ 实心方块",
130
+ symbol: "■",
131
+ iconCss: "e-icons e-bullet-square",
132
+ description: "实心方块",
133
+ },
134
+ {
135
+ id: "diamond",
136
+ text: "◆ 实心菱形",
137
+ symbol: "◆",
138
+ iconCss: "e-icons e-bullet-diamond",
139
+ description: "实心菱形",
140
+ },
141
+ {
142
+ id: "triangle",
143
+ text: "► 实心三角",
144
+ symbol: "►",
145
+ iconCss: "e-icons e-bullet-triangle",
146
+ description: "实心三角形",
147
+ },
148
+ {
149
+ id: "arrow",
150
+ text: "➤ 箭头",
151
+ symbol: "➤",
152
+ iconCss: "e-icons e-bullet-arrow",
153
+ description: "箭头符号",
154
+ },
155
+ {
156
+ id: "star",
157
+ text: "★ 星形",
158
+ symbol: "★",
159
+ iconCss: "e-icons e-bullet-star",
160
+ description: "星形符号",
161
+ },
162
+ {
163
+ id: "check",
164
+ text: "✓ 对勾",
165
+ symbol: "✓",
166
+ iconCss: "e-icons e-bullet-check",
167
+ description: "对勾符号",
168
+ },
169
+ {
170
+ id: "heart",
171
+ text: "♥ 心形",
172
+ symbol: "♥",
173
+ iconCss: "e-icons e-bullet-heart",
174
+ description: "心形符号",
175
+ },
176
+ {
177
+ id: "bullet",
178
+ text: "• 小圆点",
179
+ symbol: "•",
180
+ iconCss: "e-icons e-bullet-bullet",
181
+ description: "小圆点",
182
+ },
183
+ ];
184
+ // 获取符号样式
185
+ export function getBulletStyle(id) {
186
+ return BULLET_STYLES.find((style) => style.id === id);
187
+ }
188
+ // 获取所有符号样式
189
+ export function getAllBulletStyles() {
190
+ return BULLET_STYLES;
191
+ }
192
+ // 应用符号样式到列表
193
+ export function applyBulletStyle(ul, style) {
194
+ if (style.id === "disc" || style.id === "circle" || style.id === "square") {
195
+ // 使用CSS list-style-type
196
+ ul.style.listStyleType = style.id;
197
+ // 移除自定义符号
198
+ ul.querySelectorAll(".custom-bullet").forEach((bullet) => bullet.remove());
199
+ }
200
+ else {
201
+ // 使用自定义符号
202
+ ul.style.listStyleType = "none";
203
+ ul.setAttribute("data-bullet-style", style.id);
204
+ const listItems = ul.querySelectorAll("li");
205
+ listItems.forEach((li) => {
206
+ // 移除现有的自定义符号
207
+ const existingBullet = li.querySelector(".custom-bullet");
208
+ if (existingBullet) {
209
+ existingBullet.remove();
210
+ }
211
+ // 添加新的自定义符号
212
+ const bullet = document.createElement("span");
213
+ bullet.className = "custom-bullet";
214
+ bullet.textContent = style.symbol;
215
+ bullet.style.marginRight = "8px";
216
+ bullet.style.color = "#666";
217
+ // 将符号插入到列表项的开头
218
+ li.insertBefore(bullet, li.firstChild);
219
+ });
220
+ }
221
+ }
222
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yYWlzZS1jb21tb24tbGliL3NyYy9saWIvZm9ybS9yaWNodGV4dGVkaXRvci9kYXRhLWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxjQUFjO0FBRWQsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFXO0lBQ2hDLE9BQU8sRUFBRSxPQUFPO0lBQ2hCLEtBQUssRUFBRTtRQUNMO1lBQ0UsSUFBSSxFQUFFLE9BQU87WUFDYixLQUFLLEVBQUUsOEJBQThCO1lBQ3JDLFFBQVEsRUFBRSxTQUFTO1lBQ25CLE9BQU8sRUFBRSxNQUFNO1lBQ2YsVUFBVSxFQUFFLFVBQVU7U0FDdkI7UUFDRDtZQUNFLElBQUksRUFBRSxpQkFBaUI7WUFDdkIsS0FBSyxFQUFFLDZCQUE2QjtZQUNwQyxRQUFRLEVBQUUsbUJBQW1CO1lBQzdCLE9BQU8sRUFBRSxNQUFNO1lBQ2YsVUFBVSxFQUFFLFVBQVU7U0FDdkI7UUFDRDtZQUNFLElBQUksRUFBRSxXQUFXO1lBQ2pCLEtBQUssRUFBRSxXQUFXO1lBQ2xCLFFBQVEsRUFBRSxhQUFhO1lBQ3ZCLE9BQU8sRUFBRSxNQUFNO1lBQ2YsVUFBVSxFQUFFLFVBQVU7U0FDdkI7UUFDRDtZQUNFLElBQUksRUFBRSxTQUFTO1lBQ2YsS0FBSyxFQUFFLGdDQUFnQztZQUN2QyxRQUFRLEVBQUUsV0FBVztZQUNyQixPQUFPLEVBQUUsTUFBTTtZQUNmLFVBQVUsRUFBRSxVQUFVO1NBQ3ZCO1FBQ0Q7WUFDRSxJQUFJLEVBQUUsU0FBUztZQUNmLEtBQUssRUFBRSwyQkFBMkI7WUFDbEMsUUFBUSxFQUFFLFdBQVc7WUFDckIsT0FBTyxFQUFFLE1BQU07WUFDZixVQUFVLEVBQUUsVUFBVTtTQUN2QjtRQUNEO1lBQ0UsSUFBSSxFQUFFLFNBQVM7WUFDZixLQUFLLEVBQUUsZUFBZTtZQUN0QixRQUFRLEVBQUUsV0FBVztZ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TSxFQUFFLENBQUMsQ0FBQztLQUM1RTtTQUFNO1FBQ0wsVUFBVTtRQUNWLEVBQUUsQ0FBQyxLQUFLLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQztRQUNoQyxFQUFFLENBQUMsWUFBWSxDQUFDLG1CQUFtQixFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUUvQyxNQUFNLFNBQVMsR0FBRyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFO1lBQ3ZCLGFBQWE7WUFDYixNQUFNLGNBQWMsR0FBRyxFQUFFLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLENBQUM7WUFDMUQsSUFBSSxjQUFjLEVBQUU7Z0JBQ2xCLGNBQWMsQ0FBQyxNQUFNLEVBQUUsQ0FBQzthQUN6QjtZQUVELFlBQVk7WUFDWixNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzlDLE1BQU0sQ0FBQyxTQUFTLEdBQUcsZUFBZSxDQUFDO1lBQ25DLE1BQU0sQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQztZQUNsQyxNQUFNLENBQUMsS0FBSyxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7WUFDakMsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDO1lBRTVCLGVBQWU7WUFDZixFQUFFLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDekMsQ0FBQyxDQUFDLENBQUM7S0FDSjtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJdGVtTW9kZWwgfSBmcm9tIFwiQHN5bmNmdXNpb24vZWoyLWFuZ3VsYXItc3BsaXRidXR0b25zXCI7XHJcblxyXG4vLyBmb250IGZhbWlseVxyXG5cclxuZXhwb3J0IGNvbnN0IGZvbnRGYW1pbHk6IE9iamVjdCA9IHtcclxuICBkZWZhdWx0OiBcIkFyaWFsXCIsXHJcbiAgaXRlbXM6IFtcclxuICAgIHtcclxuICAgICAgdGV4dDogXCJBcmlhbFwiLFxyXG4gICAgICB2YWx1ZTogXCJBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmXCIsXHJcbiAgICAgIGNzc0NsYXNzOiBcImUtYXJpYWxcIixcclxuICAgICAgY29tbWFuZDogXCJGb250XCIsXHJcbiAgICAgIHN1YkNvbW1hbmQ6IFwiRm9udE5hbWVcIixcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHRleHQ6IFwiVGltZXMgTmV3IFJvbWFuXCIsXHJcbiAgICAgIHZhbHVlOiBcIlRpbWVzIE5ldyBSb21hbixUaW1lcyxzZXJpZlwiLFxyXG4gICAgICBjc3NDbGFzczogXCJlLXRpbWVzLW5ldy1yb21hblwiLFxyXG4gICAgICBjb21tYW5kOiBcIkZvbnRcIixcclxuICAgICAgc3ViQ29tbWFuZDogXCJGb250TmFtZVwiLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgdGV4dDogXCJIZWx2ZXRpY2FcIixcclxuICAgICAgdmFsdWU6IFwiSGVsdmV0aWNhXCIsXHJcbiAgICAgIGNzc0NsYXNzOiBcImUtaGVsdmV0aWNhXCIsXHJcbiAgICAgIGNvbW1hbmQ6IFwiRm9udFwiLFxyXG4gICAgICBzdWJDb21tYW5kOiBcIkZvbnROYW1lXCIsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICB0ZXh0OiBcIkNhbGlicmlcIixcclxuICAgICAgdmFsdWU6IFwiQ2FsaWJyaSwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmXCIsXHJcbiAgICAgIGNzc0NsYXNzOiBcImUtY2FsaWJyaVwiLFxyXG4gICAgICBjb21tYW5kOiBcIkZvbnRcIixcclxuICAgICAgc3ViQ29tbWFuZDogXCJGb250TmFtZVwiLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgdGV4dDogXCJWZXJkYW5hXCIsXHJcbiAgICAgIHZhbHVlOiBcIlZlcmRhbmEsR2VuZXZhLHNhbnMtc2VyaWZcIixcclxuICAgICAgY3NzQ2xhc3M6IFwiZS12ZXJkYW5hXCIsXHJcbiAgICAgIGNvbW1hbmQ6IFwiRm9udFwiLFxyXG4gICAgICBzdWJDb21tYW5kOiBcIkZvbnROYW1lXCIsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICB0ZXh0OiBcIkdlb3JnaWFcIixcclxuICAgICAgdmFsdWU6IFwiR2VvcmdpYSxzZXJpZlwiLFxyXG4gICAgICBjc3NDbGFzczogXCJlLWdlb3JnaWFcIixcclxuICAgICAgY29tbWFuZDogXCJGb250XCIsXHJcbiAgICAgIHN1YkNvbW1hbmQ6IFwiRm9udE5hbWVcIixcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHRleHQ6IFwiT3BlbiBTYW5zXCIsXHJcbiAgICAgIHZhbHVlOiBcIk9wZW4gU2Fucywgc2Fucy1zZXJpZlwiLFxyXG4gICAgICBjc3NDbGFzczogXCJlLW9wZW4tc2Fuc1wiLFxyXG4gICAgICBjb21tYW5kOiBcIkZvbnRcIixcclxuICAgICAgc3ViQ29tbWFuZDogXCJGb250TmFtZVwiLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgdGV4dDogXCJSb2JvdG9cIixcclxuICAgICAgdmFsdWU6IFwiUm9ib3RvXCIsXHJcbiAgICAgIGNzc0NsYXNzOiBcImUtcm9ib3RvXCIsXHJcbiAgICAgIGNvbW1hbmQ6IFwiRm9udFwiLFxyXG4gICAgICBzdWJDb21tYW5kOiBcIkZvbnROYW1lXCIsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICB0ZXh0OiBcIkxhdG9cIixcclxuICAgICAgdmFsdWU6IFwiTGF0bywgc2Fucy1zZXJpZlwiLFxyXG4gICAgICBjc3NDbGFzczogXCJlLWxhdG9cIixcclxuICAgICAgY29tbWFuZDogXCJGb250XCIsXHJcbiAgICAgIHN1YkNvbW1hbmQ6IFwiRm9udE5hbWVcIixcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHRleHQ6IFwiTW9udHNlcnJhdFwiLFxyXG4gICAgICB2YWx1ZTogXCJNb250c2VycmF0LCBzYW5zLXNlcmlmXCIsXHJcbiAgICAgIGNzc0NsYXNzOiBcImUtbW9udHNlcnJhdFwiLFxyXG4gICAgICBjb21tYW5kOiBcIkZvbnRcIixcclxuICAgICAgc3ViQ29tbWFuZDogXCJGb250TmFtZVwiLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgdGV4dDogXCJTZWdvZSBVSVwiLFxyXG4gICAgICB2YWx1ZTogXCJTZWdvZSBVSVwiLFxyXG4gICAgICBjc3NDbGFzczogXCJlLXNlZ29lLXVpXCIsXHJcbiAgICAgIGNvbW1hbmQ6IFwiRm9udFwiLFxyXG4gICAgICBzdWJDb21tYW5kOiBcIkZvbnROYW1lXCIsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICB0ZXh0OiBcIkltcGFjdFwiLFxyXG4gICAgICB2YWx1ZTogXCJJbXBhY3QsQ2hhcmNvYWwsc2Fucy1zZXJpZlwiLFxyXG4gICAgICBjc3NDbGFzczogXCJlLWltcGFjdFwiLFxyXG4gICAgICBjb21tYW5kOiBcIkZvbnRcIixcclxuICAgICAgc3ViQ29tbWFuZDogXCJGb250TmFtZVwiLFxyXG4gICAgfSxcclxuICBdLFxyXG59O1xyXG5cclxuLy8gbGluZSBoZWlnaHTphY3nva5cclxuZXhwb3J0IGNvbnN0IGxpbmVIZWlnaHRfaXRlbXM6IEl0ZW1Nb2RlbFtdID0gW1xyXG4gIHtcclxuICAgIHRleHQ6IFwiMS4wXCIsXHJcbiAgfSxcclxuICB7XHJcbiAgICB0ZXh0OiBcIjEuMTVcIixcclxuICB9LFxyXG4gIHtcclxuICAgIHRleHQ6IFwiMS41XCIsXHJcbiAgfSxcclxuICB7XHJcbiAgICB0ZXh0OiBcIjIuMFwiLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdGV4dDogXCIyLjVcIixcclxuICB9LFxyXG4gIHtcclxuICAgIHRleHQ6IFwiMy4wXCIsXHJcbiAgfSxcclxuXTtcclxuXHJcbi8vIOaXoOW6j+WIl+ihqOespuWPt+mFjee9rlxyXG5leHBvcnQgaW50ZXJmYWNlIEJ1bGxldFN0eWxlIHtcclxuICBpZDogc3RyaW5nO1xyXG4gIHRleHQ6IHN0cmluZztcclxuICBzeW1ib2w6IHN0cmluZztcclxuICBpY29uQ3NzOiBzdHJpbmc7XHJcbiAgZGVzY3JpcHRpb246IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IEJVTExFVF9TVFlMRVM6IEJ1bGxldFN0eWxlW10gPSBbXHJcbiAge1xyXG4gICAgaWQ6IFwiZGlzY1wiLFxyXG4gICAgdGV4dDogXCLil48g5a6e5b+D5ZyG54K5XCIsXHJcbiAgICBzeW1ib2w6IFwi4pePXCIsXHJcbiAgICBpY29uQ3NzOiBcImUtaWNvbnMgZS1idWxsZXQtZGlzY1wiLFxyXG4gICAgZGVzY3JpcHRpb246IFwi5qCH5YeG5a6e5b+D5ZyG54K5XCIsXHJcbiAgfSxcclxuICB7XHJcbiAgICBpZDogXCJjaXJjbGVcIixcclxuICAgIHRleHQ6IFwi4peLIOepuuW/g+WchueCuVwiLFxyXG4gICAgc3ltYm9sOiBcIuKXi1wiLFxyXG4gICAgaWNvbkNzczogXCJlLWljb25zIGUtYnVsbGV0LWNpcmNsZVwiLFxyXG4gICAgZGVzY3JpcHRpb246IFwi56m65b+D5ZyG54K5XCIsXHJcbiAgfSxcclxuICB7XHJcbiAgICBpZDogXCJzcXVhcmVcIixcclxuICAgIHRleHQ6IFwi4pagIOWunuW/g+aWueWdl1wiLFxyXG4gICAgc3ltYm9sOiBcIuKWoFwiLFxyXG4gICAgaWNvbkNzczogXCJlLWljb25zIGUtYnVsbGV0LXNxdWFyZVwiLFxyXG4gICAgZGVzY3JpcHRpb246IFwi5a6e5b+D5pa55Z2XXCIsXHJcbiAgfSxcclxuICB7XHJcbiAgICBpZDogXCJkaWFtb25kXCIsXHJcbiAgICB0ZXh0OiBcIuKXhiDlrp7lv4Poj7HlvaJcIixcclxuICAgIHN5bWJvbDogXCLil4ZcIixcclxuICAgIGljb25Dc3M6IFwiZS1pY29ucyBlLWJ1bGxldC1kaWFtb25kXCIsXHJcbiAgICBkZXNjcmlwdGlvbjogXCLlrp7lv4Poj7HlvaJcIixcclxuICB9LFxyXG4gIHtcclxuICAgIGlkOiBcInRyaWFuZ2xlXCIsXHJcbiAgICB0ZXh0OiBcIuKWuiDlrp7lv4PkuInop5JcIixcclxuICAgIHN5bWJvbDogXCLilrpcIixcclxuICAgIGljb25Dc3M6IFwiZS1pY29ucyBlLWJ1bGxldC10cmlhbmdsZVwiLFxyXG4gICAgZGVzY3JpcHRpb246IFwi5a6e5b+D5LiJ6KeS5b2iXCIsXHJcbiAgfSxcclxuICB7XHJcbiAgICBpZDogXCJhcnJvd1wiLFxyXG4gICAgdGV4dDogXCLinqQg566t5aS0XCIsXHJcbiAgICBzeW1ib2w6IFwi4p6kXCIsXHJcbiAgICBpY29uQ3NzOiBcImUtaWNvbnMgZS1idWxsZXQtYXJyb3dcIixcclxuICAgIGRlc2NyaXB0aW9uOiBcIueureWktOespuWPt1wiLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgaWQ6IFwic3RhclwiLFxyXG4gICAgdGV4dDogXCLimIUg5pif5b2iXCIsXHJcbiAgICBzeW1ib2w6IFwi4piFXCIsXHJcbiAgICBpY29uQ3NzOiBcImUtaWNvbnMgZS1idWxsZXQtc3RhclwiLFxyXG4gICAgZGVzY3JpcHRpb246IFwi5pif5b2i56ym5Y+3XCIsXHJcbiAgfSxcclxuICB7XHJcbiAgICBpZDogXCJjaGVja1wiLFxyXG4gICAgdGV4dDogXCLinJMg5a+55Yu+XCIsXHJcbiAgICBzeW1ib2w6IFwi4pyTXCIsXHJcbiAgICBpY29uQ3NzOiBcImUtaWNvbnMgZS1idWxsZXQtY2hlY2tcIixcclxuICAgIGRlc2NyaXB0aW9uOiBcIuWvueWLvuespuWPt1wiLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgaWQ6IFwiaGVhcnRcIixcclxuICAgIHRleHQ6IFwi4pmlIOW/g+W9olwiLFxyXG4gICAgc3ltYm9sOiBcIuKZpVwiLFxyXG4gICAgaWNvbkNzczogXCJlLWljb25zIGUtYnVsbGV0LWhlYXJ0XCIsXHJcbiAgICBkZXNjcmlwdGlvbjogXCLlv4PlvaLnrKblj7dcIixcclxuICB9LFxyXG4gIHtcclxuICAgIGlkOiBcImJ1bGxldFwiLFxyXG4gICAgdGV4dDogXCLigKIg5bCP5ZyG54K5XCIsXHJcbiAgICBzeW1ib2w6IFwi4oCiXCIsXHJcbiAgICBpY29uQ3NzOiBcImUtaWNvbnMgZS1idWxsZXQtYnVsbGV0XCIsXHJcbiAgICBkZXNjcmlwdGlvbjogXCLlsI/lnIbngrlcIixcclxuICB9LFxyXG5dO1xyXG5cclxuLy8g6I635Y+W56ym5Y+35qC35byPXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRCdWxsZXRTdHlsZShpZDogc3RyaW5nKTogQnVsbGV0U3R5bGUgfCB1bmRlZmluZWQge1xyXG4gIHJldHVybiBCVUxMRVRfU1RZTEVTLmZpbmQoKHN0eWxlKSA9PiBzdHlsZS5pZCA9PT0gaWQpO1xyXG59XHJcblxyXG4vLyDojrflj5bmiYDmnInnrKblj7fmoLflvI9cclxuZXhwb3J0IGZ1bmN0aW9uIGdldEFsbEJ1bGxldFN0eWxlcygpOiBCdWxsZXRTdHlsZVtdIHtcclxuICByZXR1cm4gQlVMTEVUX1NUWUxFUztcclxufVxyXG5cclxuLy8g5bqU55So56ym5Y+35qC35byP5Yiw5YiX6KGoXHJcbmV4cG9ydCBmdW5jdGlvbiBhcHBseUJ1bGxldFN0eWxlKHVsOiBIVE1MRWxlbWVudCwgc3R5bGU6IEJ1bGxldFN0eWxlKTogdm9pZCB7XHJcbiAgaWYgKHN0eWxlLmlkID09PSBcImRpc2NcIiB8fCBzdHlsZS5pZCA9PT0gXCJjaXJjbGVcIiB8fCBzdHlsZS5pZCA9PT0gXCJzcXVhcmVcIikge1xyXG4gICAgLy8g5L2/55SoQ1NTIGxpc3Qtc3R5bGUtdHlwZVxyXG4gICAgdWwuc3R5bGUubGlzdFN0eWxlVHlwZSA9IHN0eWxlLmlkO1xyXG4gICAgLy8g56e76Zmk6Ieq5a6a5LmJ56ym5Y+3XHJcbiAgICB1bC5xdWVyeVNlbGVjdG9yQWxsKFwiLmN1c3RvbS1idWxsZXRcIikuZm9yRWFjaCgoYnVsbGV0KSA9PiBidWxsZXQucmVtb3ZlKCkpO1xyXG4gIH0gZWxzZSB7XHJcbiAgICAvLyDkvb/nlKjoh6rlrprkuYnnrKblj7dcclxuICAgIHVsLnN0eWxlLmxpc3RTdHlsZVR5cGUgPSBcIm5vbmVcIjtcclxuICAgIHVsLnNldEF0dHJpYnV0ZShcImRhdGEtYnVsbGV0LXN0eWxlXCIsIHN0eWxlLmlkKTtcclxuXHJcbiAgICBjb25zdCBsaXN0SXRlbXMgPSB1bC5xdWVyeVNlbGVjdG9yQWxsKFwibGlcIik7XHJcbiAgICBsaXN0SXRlbXMuZm9yRWFjaCgobGkpID0+IHtcclxuICAgICAgLy8g56e76Zmk546w5pyJ55qE6Ieq5a6a5LmJ56ym5Y+3XHJcbiAgICAgIGNvbnN0IGV4aXN0aW5nQnVsbGV0ID0gbGkucXVlcnlTZWxlY3RvcihcIi5jdXN0b20tYnVsbGV0XCIpO1xyXG4gICAgICBpZiAoZXhpc3RpbmdCdWxsZXQpIHtcclxuICAgICAgICBleGlzdGluZ0J1bGxldC5yZW1vdmUoKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLy8g5re75Yqg5paw55qE6Ieq5a6a5LmJ56ym5Y+3XHJcbiAgICAgIGNvbnN0IGJ1bGxldCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJzcGFuXCIpO1xyXG4gICAgICBidWxsZXQuY2xhc3NOYW1lID0gXCJjdXN0b20tYnVsbGV0XCI7XHJcbiAgICAgIGJ1bGxldC50ZXh0Q29udGVudCA9IHN0eWxlLnN5bWJvbDtcclxuICAgICAgYnVsbGV0LnN0eWxlLm1hcmdpblJpZ2h0ID0gXCI4cHhcIjtcclxuICAgICAgYnVsbGV0LnN0eWxlLmNvbG9yID0gXCIjNjY2XCI7XHJcblxyXG4gICAgICAvLyDlsIbnrKblj7fmj5LlhaXliLDliJfooajpobnnmoTlvIDlpLRcclxuICAgICAgbGkuaW5zZXJ0QmVmb3JlKGJ1bGxldCwgbGkuZmlyc3RDaGlsZCk7XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIl19