sk-front-lib 0.17.45 → 0.17.46
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/api/model/api-config.d.ts +6 -0
- package/api/model/api-pageable-param.d.ts +11 -0
- package/api/model/api-pageable.d.ts +11 -0
- package/api/model/api-response.d.ts +8 -0
- package/api/model/index.d.ts +4 -0
- package/api/package.json +10 -0
- package/api/public_api.d.ts +3 -0
- package/api/sk-api.module.d.ts +12 -0
- package/api/sk-api.service.d.ts +34 -0
- package/api/sk-front-lib-api.d.ts +5 -0
- package/article/package.json +10 -0
- package/article/public_api.d.ts +6 -0
- package/article/sk-article-editor-server.component.d.ts +23 -0
- package/article/sk-article-editor.component.d.ts +27 -0
- package/article/sk-article-server.module.d.ts +10 -0
- package/article/sk-article.module.d.ts +9 -0
- package/article/sk-article.service.d.ts +96 -0
- package/article/sk-froala-editor.directive.d.ts +40 -0
- package/article/sk-front-lib-article.d.ts +5 -0
- package/crud/package.json +10 -0
- package/crud/public_api.d.ts +24 -0
- package/crud/sk-account.service.d.ts +16 -0
- package/crud/sk-affiliate.service.d.ts +38 -0
- package/crud/sk-auth-admin.guard.d.ts +13 -0
- package/crud/sk-auth.guard.d.ts +13 -0
- package/crud/sk-auth.service.d.ts +33 -0
- package/crud/sk-board.service.d.ts +21 -0
- package/crud/sk-brand.service.d.ts +19 -0
- package/crud/sk-cart.service.d.ts +72 -0
- package/crud/sk-category.service.d.ts +28 -0
- package/crud/sk-comment.service.d.ts +15 -0
- package/crud/sk-config.service.d.ts +13 -0
- package/crud/sk-contact.service.d.ts +15 -0
- package/crud/sk-coupon.service.d.ts +24 -0
- package/crud/sk-document.service.d.ts +51 -0
- package/crud/sk-etc.service.d.ts +12 -0
- package/crud/sk-file.service.d.ts +18 -0
- package/crud/sk-front-lib-crud.d.ts +5 -0
- package/crud/sk-keyword.service.d.ts +19 -0
- package/crud/sk-order.service.d.ts +45 -0
- package/crud/sk-point.service.d.ts +17 -0
- package/crud/sk-product.service.d.ts +84 -0
- package/crud/sk-promotion.service.d.ts +41 -0
- package/crud/sk-search.service.d.ts +12 -0
- package/crud/sk-store.service.d.ts +17 -0
- package/crud/sk-user.service.d.ts +25 -0
- package/esm2020/api/model/api-config.mjs +2 -0
- package/esm2020/api/model/api-pageable-param.mjs +29 -0
- package/esm2020/api/model/api-pageable.mjs +3 -0
- package/esm2020/api/model/api-response.mjs +3 -0
- package/esm2020/api/model/index.mjs +4 -0
- package/esm2020/api/public_api.mjs +4 -0
- package/esm2020/api/sk-api.module.mjs +35 -0
- package/esm2020/api/sk-api.service.mjs +145 -0
- package/esm2020/api/sk-front-lib-api.mjs +5 -0
- package/esm2020/article/public_api.mjs +7 -0
- package/esm2020/article/sk-article-editor-server.component.mjs +51 -0
- package/esm2020/article/sk-article-editor.component.mjs +93 -0
- package/esm2020/article/sk-article-server.module.mjs +33 -0
- package/esm2020/article/sk-article.module.mjs +32 -0
- package/esm2020/article/sk-article.service.mjs +248 -0
- package/esm2020/article/sk-froala-editor.directive.mjs +325 -0
- package/esm2020/article/sk-front-lib-article.mjs +5 -0
- package/esm2020/crud/public_api.mjs +25 -0
- package/esm2020/crud/sk-account.service.mjs +36 -0
- package/esm2020/crud/sk-affiliate.service.mjs +94 -0
- package/esm2020/crud/sk-auth-admin.guard.mjs +31 -0
- package/esm2020/crud/sk-auth.guard.mjs +31 -0
- package/esm2020/crud/sk-auth.service.mjs +67 -0
- package/esm2020/crud/sk-board.service.mjs +54 -0
- package/esm2020/crud/sk-brand.service.mjs +46 -0
- package/esm2020/crud/sk-cart.service.mjs +256 -0
- package/esm2020/crud/sk-category.service.mjs +63 -0
- package/esm2020/crud/sk-comment.service.mjs +43 -0
- package/esm2020/crud/sk-config.service.mjs +31 -0
- package/esm2020/crud/sk-contact.service.mjs +39 -0
- package/esm2020/crud/sk-coupon.service.mjs +62 -0
- package/esm2020/crud/sk-document.service.mjs +110 -0
- package/esm2020/crud/sk-etc.service.mjs +25 -0
- package/esm2020/crud/sk-file.service.mjs +37 -0
- package/esm2020/crud/sk-front-lib-crud.mjs +5 -0
- package/esm2020/crud/sk-keyword.service.mjs +46 -0
- package/esm2020/crud/sk-order.service.mjs +133 -0
- package/esm2020/crud/sk-point.service.mjs +45 -0
- package/esm2020/crud/sk-product.service.mjs +168 -0
- package/esm2020/crud/sk-promotion.service.mjs +84 -0
- package/esm2020/crud/sk-search.service.mjs +25 -0
- package/esm2020/crud/sk-store.service.mjs +47 -0
- package/esm2020/crud/sk-user.service.mjs +73 -0
- package/esm2020/google-analytics/google-analytics-router.module.mjs +30 -0
- package/esm2020/google-analytics/google-analytics.module.mjs +40 -0
- package/esm2020/google-analytics/initializers/google-analytics-router.initializer.mjs +24 -0
- package/esm2020/google-analytics/initializers/google-analytics.initializer.mjs +46 -0
- package/esm2020/google-analytics/interfaces/google-analytics-command.mjs +2 -0
- package/esm2020/google-analytics/interfaces/google-analytics-settings.mjs +2 -0
- package/esm2020/google-analytics/public_api.mjs +11 -0
- package/esm2020/google-analytics/services/google-analytics.service.mjs +223 -0
- package/esm2020/google-analytics/sk-front-lib-google-analytics.mjs +5 -0
- package/esm2020/google-analytics/tokens/google-analytics-settings-token.mjs +5 -0
- package/esm2020/google-analytics/types/ga-action.type.mjs +2 -0
- package/esm2020/google-analytics/types/ga-bind.type.mjs +2 -0
- package/esm2020/image/public_api.mjs +3 -0
- package/esm2020/image/sk-front-lib-image.mjs +5 -0
- package/esm2020/image/sk-image.component.mjs +262 -0
- package/esm2020/image/sk-image.module.mjs +43 -0
- package/{esm2022 → esm2020}/lib/sk-byte.pipe.mjs +4 -4
- package/{esm2022 → esm2020}/lib/sk-date-time.pipe.mjs +4 -4
- package/{esm2022 → esm2020}/lib/sk-date.pipe.mjs +4 -4
- package/esm2020/lib/sk-front-lib.module.mjs +41 -0
- package/{esm2022 → esm2020}/lib/sk-keys.pipe.mjs +4 -4
- package/{esm2022 → esm2020}/lib/sk-time.pipe.mjs +4 -4
- package/esm2020/model/lib/article.mjs +11 -0
- package/esm2020/model/lib/audit.mjs +12 -0
- package/esm2020/model/lib/auth.mjs +2 -0
- package/esm2020/model/lib/board.mjs +21 -0
- package/esm2020/model/lib/cart.mjs +29 -0
- package/esm2020/model/lib/comment.mjs +25 -0
- package/esm2020/model/lib/contact.mjs +28 -0
- package/esm2020/model/lib/coupon.mjs +23 -0
- package/esm2020/model/lib/document.mjs +49 -0
- package/esm2020/model/lib/etc.mjs +57 -0
- package/esm2020/model/lib/file.mjs +8 -0
- package/esm2020/model/lib/filetype.mjs +179 -0
- package/esm2020/model/lib/grid.mjs +83 -0
- package/esm2020/model/lib/nicepay.mjs +81 -0
- package/esm2020/model/lib/order.mjs +106 -0
- package/esm2020/model/lib/payment.mjs +30 -0
- package/esm2020/model/lib/point.mjs +47 -0
- package/esm2020/model/lib/product-series.mjs +2 -0
- package/esm2020/model/lib/product.mjs +156 -0
- package/esm2020/model/lib/promotion.mjs +80 -0
- package/esm2020/model/lib/shipping.mjs +37 -0
- package/esm2020/model/lib/user.mjs +61 -0
- package/esm2020/model/public_api.mjs +23 -0
- package/esm2020/model/sk-front-lib-model.mjs +5 -0
- package/esm2020/search-address/dialog/dialog.component.mjs +27 -0
- package/esm2020/search-address/public_api.mjs +4 -0
- package/esm2020/search-address/sk-front-lib-search-address.mjs +5 -0
- package/esm2020/search-address/sk-search-address.directive.mjs +41 -0
- package/esm2020/search-address/sk-search-address.model.mjs +8 -0
- package/esm2020/search-address/sk-search-address.module.mjs +52 -0
- package/esm2020/search-address/sk-search-address.service.mjs +65 -0
- package/esm2020/uploader/public_api.mjs +4 -0
- package/esm2020/uploader/sk-front-lib-uploader.mjs +5 -0
- package/esm2020/uploader/sk-uploader-file-item.model.mjs +95 -0
- package/esm2020/uploader/sk-uploader.animation.mjs +47 -0
- package/esm2020/uploader/sk-uploader.class.mjs +188 -0
- package/esm2020/uploader/sk-uploader.component.mjs +120 -0
- package/esm2020/uploader/sk-uploader.directive.mjs +44 -0
- package/esm2020/uploader/sk-uploader.module.mjs +62 -0
- package/fesm2015/sk-front-lib-api.mjs +218 -0
- package/fesm2015/sk-front-lib-api.mjs.map +1 -0
- package/fesm2015/sk-front-lib-article.mjs +762 -0
- package/fesm2015/sk-front-lib-article.mjs.map +1 -0
- package/fesm2015/sk-front-lib-crud.mjs +1529 -0
- package/fesm2015/sk-front-lib-crud.mjs.map +1 -0
- package/fesm2015/sk-front-lib-google-analytics.mjs +361 -0
- package/fesm2015/sk-front-lib-google-analytics.mjs.map +1 -0
- package/fesm2015/sk-front-lib-image.mjs +306 -0
- package/fesm2015/sk-front-lib-image.mjs.map +1 -0
- package/fesm2015/sk-front-lib-model.mjs +1105 -0
- package/fesm2015/sk-front-lib-model.mjs.map +1 -0
- package/fesm2015/sk-front-lib-search-address.mjs +188 -0
- package/fesm2015/sk-front-lib-search-address.mjs.map +1 -0
- package/fesm2015/sk-front-lib-uploader.mjs +551 -0
- package/fesm2015/sk-front-lib-uploader.mjs.map +1 -0
- package/{fesm2022 → fesm2015}/sk-front-lib.mjs +27 -27
- package/{fesm2022 → fesm2015}/sk-front-lib.mjs.map +1 -1
- package/fesm2020/sk-front-lib-api.mjs +216 -0
- package/fesm2020/sk-front-lib-api.mjs.map +1 -0
- package/fesm2020/sk-front-lib-article.mjs +771 -0
- package/fesm2020/sk-front-lib-article.mjs.map +1 -0
- package/fesm2020/sk-front-lib-crud.mjs +1525 -0
- package/fesm2020/sk-front-lib-crud.mjs.map +1 -0
- package/fesm2020/sk-front-lib-google-analytics.mjs +358 -0
- package/fesm2020/sk-front-lib-google-analytics.mjs.map +1 -0
- package/fesm2020/sk-front-lib-image.mjs +309 -0
- package/fesm2020/sk-front-lib-image.mjs.map +1 -0
- package/fesm2020/sk-front-lib-model.mjs +1105 -0
- package/fesm2020/sk-front-lib-model.mjs.map +1 -0
- package/fesm2020/sk-front-lib-search-address.mjs +186 -0
- package/fesm2020/sk-front-lib-search-address.mjs.map +1 -0
- package/fesm2020/sk-front-lib-uploader.mjs +549 -0
- package/fesm2020/sk-front-lib-uploader.mjs.map +1 -0
- package/fesm2020/sk-front-lib.mjs +538 -0
- package/fesm2020/sk-front-lib.mjs.map +1 -0
- package/google-analytics/google-analytics-router.module.d.ts +8 -0
- package/google-analytics/google-analytics.module.d.ts +10 -0
- package/google-analytics/initializers/google-analytics-router.initializer.d.ts +5 -0
- package/google-analytics/initializers/google-analytics.initializer.d.ts +4 -0
- package/google-analytics/interfaces/google-analytics-command.d.ts +4 -0
- package/google-analytics/interfaces/google-analytics-settings.d.ts +6 -0
- package/google-analytics/package.json +10 -0
- package/google-analytics/public_api.d.ts +10 -0
- package/google-analytics/services/google-analytics.service.d.ts +85 -0
- package/google-analytics/sk-front-lib-google-analytics.d.ts +5 -0
- package/google-analytics/tokens/google-analytics-settings-token.d.ts +3 -0
- package/google-analytics/types/ga-action.type.d.ts +1 -0
- package/google-analytics/types/ga-bind.type.d.ts +1 -0
- package/image/package.json +10 -0
- package/image/public_api.d.ts +3 -0
- package/image/sk-front-lib-image.d.ts +5 -0
- package/image/sk-image.component.d.ts +112 -0
- package/image/sk-image.module.d.ts +12 -0
- package/lib/sk-byte.pipe.d.ts +1 -1
- package/lib/sk-date-time.pipe.d.ts +1 -1
- package/lib/sk-date.pipe.d.ts +1 -1
- package/lib/sk-keys.pipe.d.ts +1 -1
- package/lib/sk-time.pipe.d.ts +1 -1
- package/model/lib/article.d.ts +13 -0
- package/model/lib/audit.d.ts +13 -0
- package/model/lib/auth.d.ts +8 -0
- package/model/lib/board.d.ts +39 -0
- package/model/lib/cart.d.ts +45 -0
- package/model/lib/comment.d.ts +43 -0
- package/model/lib/contact.d.ts +40 -0
- package/model/lib/coupon.d.ts +116 -0
- package/model/lib/document.d.ts +104 -0
- package/model/lib/etc.d.ts +220 -0
- package/model/lib/file.d.ts +24 -0
- package/model/lib/filetype.d.ts +10 -0
- package/model/lib/grid.d.ts +97 -0
- package/model/lib/nicepay.d.ts +39 -0
- package/model/lib/order.d.ts +163 -0
- package/model/lib/payment.d.ts +27 -0
- package/model/lib/point.d.ts +30 -0
- package/model/lib/product-series.d.ts +25 -0
- package/model/lib/product.d.ts +308 -0
- package/model/lib/promotion.d.ts +169 -0
- package/model/lib/shipping.d.ts +44 -0
- package/model/lib/user.d.ts +54 -0
- package/model/package.json +10 -0
- package/model/public_api.d.ts +22 -0
- package/model/sk-front-lib-model.d.ts +5 -0
- package/package.json +77 -7
- package/search-address/dialog/dialog.component.d.ts +13 -0
- package/search-address/package.json +10 -0
- package/search-address/public_api.d.ts +3 -0
- package/search-address/sk-front-lib-search-address.d.ts +5 -0
- package/search-address/sk-search-address.directive.d.ts +15 -0
- package/search-address/sk-search-address.model.d.ts +40 -0
- package/search-address/sk-search-address.module.d.ts +14 -0
- package/search-address/sk-search-address.service.d.ts +13 -0
- package/uploader/package.json +10 -0
- package/uploader/public_api.d.ts +4 -0
- package/uploader/sk-front-lib-uploader.d.ts +5 -0
- package/uploader/sk-uploader-file-item.model.d.ts +29 -0
- package/uploader/sk-uploader.animation.d.ts +1 -0
- package/uploader/sk-uploader.class.d.ts +47 -0
- package/uploader/sk-uploader.component.d.ts +28 -0
- package/uploader/sk-uploader.directive.d.ts +15 -0
- package/uploader/sk-uploader.module.d.ts +16 -0
- package/esm2022/lib/sk-front-lib.module.mjs +0 -41
- /package/{esm2022 → esm2020}/lib/sk-animations.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/sk-utils.mjs +0 -0
- /package/{esm2022 → esm2020}/public-api.mjs +0 -0
- /package/{esm2022 → esm2020}/sk-front-lib.mjs +0 -0
- /package/{index.d.ts → sk-front-lib.d.ts} +0 -0
|
@@ -0,0 +1,248 @@
|
|
|
1
|
+
import { Inject, Injectable } from '@angular/core';
|
|
2
|
+
import FroalaEditor from 'froala-editor';
|
|
3
|
+
import 'froala-editor/js/plugins.pkgd.min.js';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class SkArticleService {
|
|
6
|
+
constructor(environment) {
|
|
7
|
+
this.environment = environment;
|
|
8
|
+
this.initializeFroala();
|
|
9
|
+
}
|
|
10
|
+
initializeFroala() {
|
|
11
|
+
FroalaEditor.DefineIconTemplate('material_design', '<i class="material-icons">[NAME]</i>');
|
|
12
|
+
this.loadFontWeight();
|
|
13
|
+
this.registerShortcuts();
|
|
14
|
+
}
|
|
15
|
+
loadFontWeight() {
|
|
16
|
+
// Define an icon.
|
|
17
|
+
FroalaEditor.DefineIcon('font-weight', { NAME: 'format_size', template: 'material_design' });
|
|
18
|
+
// Define a dropdown button.
|
|
19
|
+
FroalaEditor.RegisterCommand('font-weight-drop', {
|
|
20
|
+
// Button title.
|
|
21
|
+
title: 'Font Weight',
|
|
22
|
+
// Mark the button as a dropdown.
|
|
23
|
+
type: 'dropdown',
|
|
24
|
+
// Specify the icon for the button.
|
|
25
|
+
// If this option is not specified, the button name will be used.
|
|
26
|
+
icon: 'font-weight',
|
|
27
|
+
// Options for the dropdown.
|
|
28
|
+
options: {
|
|
29
|
+
100: 'Thin',
|
|
30
|
+
300: 'Light',
|
|
31
|
+
400: 'Regular',
|
|
32
|
+
500: 'Medium',
|
|
33
|
+
700: 'Bold',
|
|
34
|
+
900: 'Black'
|
|
35
|
+
},
|
|
36
|
+
// If present, the options property will be ignored.
|
|
37
|
+
// It can be used to define a custom HTML for the dropdown.
|
|
38
|
+
// html: function () {
|
|
39
|
+
// // The current context is the editor instance.
|
|
40
|
+
// return '';
|
|
41
|
+
// },
|
|
42
|
+
// Save the dropdown action into undo stack.
|
|
43
|
+
undo: true,
|
|
44
|
+
// Focus inside the editor before callback.
|
|
45
|
+
focus: true,
|
|
46
|
+
// Refresh the button state after the callback.
|
|
47
|
+
refreshAfterCallback: true,
|
|
48
|
+
// Callback.
|
|
49
|
+
callback(cmd, val, params) {
|
|
50
|
+
this.format.removeStyle('font-weight');
|
|
51
|
+
this.format.applyStyle('font-weight', val);
|
|
52
|
+
},
|
|
53
|
+
// Called when the dropdown button state might have changed.
|
|
54
|
+
// refresh: function ($btn) {
|
|
55
|
+
// // The current context is the editor instance.
|
|
56
|
+
// console.log (this.selection.element());
|
|
57
|
+
// console.log(this);
|
|
58
|
+
// },
|
|
59
|
+
// Called when the dropdown is shown.
|
|
60
|
+
// refreshOnShow: function ($btn, $dropdown) {
|
|
61
|
+
// // The current context is the editor instance.
|
|
62
|
+
// console.log (this.selection.element());
|
|
63
|
+
// }
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
registerShortcuts() {
|
|
67
|
+
FroalaEditor.RegisterShortcut(49, 'paragraphFormat', 'H1', '1', false);
|
|
68
|
+
FroalaEditor.RegisterShortcut(50, 'paragraphFormat', 'H2', '2', false);
|
|
69
|
+
FroalaEditor.RegisterShortcut(51, 'paragraphFormat', 'H3', '3', false);
|
|
70
|
+
FroalaEditor.RegisterShortcut(52, 'paragraphFormat', 'N', '4', false);
|
|
71
|
+
FroalaEditor.RegisterShortcut(66, 'font-weight-drop', '700');
|
|
72
|
+
}
|
|
73
|
+
getBaseConfig() {
|
|
74
|
+
return {
|
|
75
|
+
key: 'Ig1A7vB2D2E2E1F1B4muvugzxmwA-7I-7A5B-21qrC-11A2B2C2A1C9B3B3C6E2C1==',
|
|
76
|
+
editorClass: 'sk-custom',
|
|
77
|
+
fontFamily: {
|
|
78
|
+
'Noto Sans KR, Noto Sans, Arial,Helvetica,sans-serif': 'Noto Sans',
|
|
79
|
+
'Roboto, Arial,Helvetica,sans-serif': 'Roboto',
|
|
80
|
+
'Georgia,serif': 'Georgia',
|
|
81
|
+
'Impact,Charcoal,sans-serif': 'Impact',
|
|
82
|
+
'Tahoma,Geneva,sans-serif': 'Tahoma',
|
|
83
|
+
'\'Times New Roman\',Times,serif': 'Times New Roman',
|
|
84
|
+
'Verdana,Geneva,sans-serif': 'Verdana'
|
|
85
|
+
},
|
|
86
|
+
imageDefaultWidth: 0,
|
|
87
|
+
// remove image manager
|
|
88
|
+
// imageInsertButtons: ['imageBack', '|', 'imageUpload', 'imageByURL', 'imageManager'],
|
|
89
|
+
imageInsertButtons: ['imageBack', '|', 'imageUpload', 'imageByURL'],
|
|
90
|
+
imageEditButtons: ['imageAlign', 'imageCaption', 'imageRemove', '|', 'imageLink', 'linkOpen', 'linkEdit', 'linkRemove', '-', 'imageDisplay', 'imageStyle', 'imageAlt', 'imageSize'],
|
|
91
|
+
imageAllowedTypes: ['jpeg', 'jpg', 'png', 'gif'],
|
|
92
|
+
// remove video upload
|
|
93
|
+
// ['videoBack', '|', 'videoByURL', 'videoEmbed', 'videoUpload']
|
|
94
|
+
videoInsertButtons: ['videoBack', '|', 'videoByURL', 'videoEmbed'],
|
|
95
|
+
videoUpload: false,
|
|
96
|
+
videoResponsive: true,
|
|
97
|
+
pastePlain: true,
|
|
98
|
+
pasteDeniedAttrs: ['class', 'id', 'style'],
|
|
99
|
+
pasteDeniedTags: ['div'],
|
|
100
|
+
wordPasteKeepFormatting: false,
|
|
101
|
+
imagePaste: false,
|
|
102
|
+
quickInsertEnabled: false,
|
|
103
|
+
paragraphFormat: {
|
|
104
|
+
H1: '대제목',
|
|
105
|
+
H2: '소제목',
|
|
106
|
+
H3: '문단 제목',
|
|
107
|
+
N: '본문'
|
|
108
|
+
},
|
|
109
|
+
// toolbarContainer: '.sk-custom-editor-toolbar',
|
|
110
|
+
toolbarSticky: false,
|
|
111
|
+
toolbarBottom: false,
|
|
112
|
+
attribution: false,
|
|
113
|
+
helpSets: [
|
|
114
|
+
{
|
|
115
|
+
title: 'Gearlounge Custom',
|
|
116
|
+
commands: [
|
|
117
|
+
{ val: 'OSkey1', desc: '대제목' },
|
|
118
|
+
{ val: 'OSkey2', desc: '소제목' },
|
|
119
|
+
{ val: 'OSkey3', desc: '문단 제목' },
|
|
120
|
+
{ val: 'OSkey4', desc: '본문' }
|
|
121
|
+
]
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
title: 'Inline Editor',
|
|
125
|
+
commands: [
|
|
126
|
+
{ val: 'OSkeyE', desc: 'Show the editor' }
|
|
127
|
+
]
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
title: 'Common actions',
|
|
131
|
+
commands: [
|
|
132
|
+
{ val: 'OSkeyC', desc: 'Copy' },
|
|
133
|
+
{ val: 'OSkeyX', desc: 'Cut' },
|
|
134
|
+
{ val: 'OSkeyV', desc: 'Paste' },
|
|
135
|
+
{ val: 'OSkeyZ', desc: 'Undo' },
|
|
136
|
+
{ val: 'OSkeyShift+Z', desc: 'Redo' },
|
|
137
|
+
{ val: 'OSkeyK', desc: 'Insert Link' },
|
|
138
|
+
{ val: 'OSkeyP', desc: 'Insert Image' }
|
|
139
|
+
]
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
title: 'Basic Formatting',
|
|
143
|
+
commands: [
|
|
144
|
+
{ val: 'OSkeyA', desc: 'Select All' },
|
|
145
|
+
{ val: 'OSkeyB', desc: 'Bold' },
|
|
146
|
+
{ val: 'OSkeyI', desc: 'Italic' },
|
|
147
|
+
{ val: 'OSkeyU', desc: 'Underline' },
|
|
148
|
+
{ val: 'OSkeyS', desc: 'Strikethrough' },
|
|
149
|
+
{ val: 'OSkey]', desc: 'Increase Indent' },
|
|
150
|
+
{ val: 'OSkey[', desc: 'Decrease Indent' }
|
|
151
|
+
]
|
|
152
|
+
},
|
|
153
|
+
{
|
|
154
|
+
title: 'Quote',
|
|
155
|
+
commands: [
|
|
156
|
+
{ val: 'OSkey\'', desc: 'Increase quote level' },
|
|
157
|
+
{ val: 'OSkeyShift+\'', desc: 'Decrease quote level' }
|
|
158
|
+
]
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
title: 'Image / Video',
|
|
162
|
+
commands: [
|
|
163
|
+
{ val: 'OSkey+', desc: 'Resize larger' },
|
|
164
|
+
{ val: 'OSkey-', desc: 'Resize smaller' }
|
|
165
|
+
]
|
|
166
|
+
},
|
|
167
|
+
{
|
|
168
|
+
title: 'Table',
|
|
169
|
+
commands: [
|
|
170
|
+
{ val: 'Alt+Space', desc: 'Select table cell' },
|
|
171
|
+
{ val: 'Shift+Left/Right arrow', desc: 'Extend selection one cell' },
|
|
172
|
+
{ val: 'Shift+Up/Down arrow', desc: 'Extend selection one row' }
|
|
173
|
+
]
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
title: 'Navigation',
|
|
177
|
+
commands: [
|
|
178
|
+
{ val: 'OSkey/', desc: 'Shortcuts' },
|
|
179
|
+
{ val: 'Alt+F10', desc: 'Focus popup / toolbar' },
|
|
180
|
+
{ val: 'Esc', desc: 'Return focus to previous position' }
|
|
181
|
+
]
|
|
182
|
+
}
|
|
183
|
+
],
|
|
184
|
+
};
|
|
185
|
+
}
|
|
186
|
+
getToolbar(type = 'default') {
|
|
187
|
+
if (type === 'default') {
|
|
188
|
+
return {
|
|
189
|
+
toolbarButtons: {
|
|
190
|
+
moreText: {
|
|
191
|
+
buttons: ['font-weight-drop', 'fontFamily', 'fontSize', 'textColor', 'clearFormatting', 'italic', 'strikeThrough', 'subscript', 'superscript', 'backgroundColor', 'inlineClass', 'inlineStyle'],
|
|
192
|
+
buttonsVisible: 5
|
|
193
|
+
},
|
|
194
|
+
moreParagraph: {
|
|
195
|
+
buttons: ['paragraphFormat', 'alignLeft', 'alignCenter', 'formatUL', 'quote', 'alignRight', 'alignJustify', 'formatOLSimple', 'formatOL', 'paragraphStyle', 'lineHeight', 'outdent', 'indent'],
|
|
196
|
+
buttonsVisible: 5
|
|
197
|
+
},
|
|
198
|
+
moreRich: {
|
|
199
|
+
buttons: ['insertLink', 'insertImage', 'insertVideo', 'insertHR', 'insertTable', 'emoticons', 'fontAwesome', 'specialCharacters', 'embedly', 'insertFile'],
|
|
200
|
+
buttonsVisible: 4
|
|
201
|
+
},
|
|
202
|
+
moreMisc: {
|
|
203
|
+
buttons: ['undo', 'redo', 'fullscreen', 'print', 'getPDF', 'spellChecker', 'selectAll', 'html', 'help'],
|
|
204
|
+
align: 'right',
|
|
205
|
+
buttonsVisible: 3
|
|
206
|
+
}
|
|
207
|
+
},
|
|
208
|
+
toolbarButtonsSm: {
|
|
209
|
+
moreText: {
|
|
210
|
+
buttons: ['font-weight-drop', 'underline', 'strikeThrough', 'subscript', 'superscript', 'fontFamily', 'fontSize', 'textColor', 'backgroundColor', 'inlineClass', 'inlineStyle', 'clearFormatting'],
|
|
211
|
+
buttonsVisible: 2
|
|
212
|
+
},
|
|
213
|
+
moreParagraph: {
|
|
214
|
+
buttons: ['alignLeft', 'alignCenter', 'formatOLSimple', 'alignRight', 'alignJustify', 'formatOL', 'formatUL', 'paragraphFormat', 'paragraphStyle', 'lineHeight', 'outdent', 'indent', 'quote'],
|
|
215
|
+
buttonsVisible: 2
|
|
216
|
+
},
|
|
217
|
+
moreRich: {
|
|
218
|
+
buttons: ['insertLink', 'insertImage', 'insertVideo', 'insertTable', 'emoticons', 'fontAwesome', 'specialCharacters', 'embedly', 'insertFile', 'insertHR'],
|
|
219
|
+
buttonsVisible: 2
|
|
220
|
+
},
|
|
221
|
+
moreMisc: {
|
|
222
|
+
buttons: ['undo', 'redo', 'fullscreen', 'print', 'getPDF', 'spellChecker', 'selectAll', 'html', 'help'],
|
|
223
|
+
align: 'right',
|
|
224
|
+
buttonsVisible: 2
|
|
225
|
+
}
|
|
226
|
+
},
|
|
227
|
+
};
|
|
228
|
+
}
|
|
229
|
+
else if (type === 'simple') {
|
|
230
|
+
return {
|
|
231
|
+
toolbarButtons: [['font-weight-drop', 'fontFamily', 'fontSize', 'textColor', 'clearFormatting'], ['paragraphFormat', 'alignLeft', 'alignCenter', 'formatUL', 'quote'], ['insertLink']],
|
|
232
|
+
toolbarButtonsSm: [['font-weight-drop', 'fontFamily', 'fontSize', 'textColor', 'clearFormatting'], ['paragraphFormat', 'alignLeft', 'alignCenter', 'formatUL', 'quote'], ['insertLink']],
|
|
233
|
+
};
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
SkArticleService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: SkArticleService, deps: [{ token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
238
|
+
SkArticleService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: SkArticleService, providedIn: 'root' });
|
|
239
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: SkArticleService, decorators: [{
|
|
240
|
+
type: Injectable,
|
|
241
|
+
args: [{
|
|
242
|
+
providedIn: 'root'
|
|
243
|
+
}]
|
|
244
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
245
|
+
type: Inject,
|
|
246
|
+
args: ['environment']
|
|
247
|
+
}] }]; } });
|
|
248
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2stYXJ0aWNsZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvc2stZnJvbnQtbGliL2FydGljbGUvc3JjL3NrLWFydGljbGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLFlBQVksTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxzQ0FBc0MsQ0FBQzs7QUFLOUMsTUFBTSxPQUFPLGdCQUFnQjtJQUV6QixZQUEwQyxXQUFnQjtRQUFoQixnQkFBVyxHQUFYLFdBQVcsQ0FBSztRQUN0RCxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsZ0JBQWdCO1FBQ1osWUFBWSxDQUFDLGtCQUFrQixDQUFDLGlCQUFpQixFQUFFLHNDQUFzQyxDQUFDLENBQUM7UUFFM0YsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCxjQUFjO1FBQ1Ysa0JBQWtCO1FBQ2xCLFlBQVksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLEVBQUMsSUFBSSxFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQUMsQ0FBQyxDQUFDO1FBRTNGLDRCQUE0QjtRQUM1QixZQUFZLENBQUMsZUFBZSxDQUFDLGtCQUFrQixFQUFFO1lBQzdDLGdCQUFnQjtZQUNoQixLQUFLLEVBQUUsYUFBYTtZQUVwQixpQ0FBaUM7WUFDakMsSUFBSSxFQUFFLFVBQVU7WUFFaEIsbUNBQW1DO1lBQ25DLGlFQUFpRTtZQUNqRSxJQUFJLEVBQUUsYUFBYTtZQUVuQiw0QkFBNEI7WUFDNUIsT0FBTyxFQUFFO2dCQUNMLEdBQUcsRUFBRSxNQUFNO2dCQUNYLEdBQUcsRUFBRSxPQUFPO2dCQUNaLEdBQUcsRUFBRSxTQUFTO2dCQUNkLEdBQUcsRUFBRSxRQUFRO2dCQUNiLEdBQUcsRUFBRSxNQUFNO2dCQUNYLEdBQUcsRUFBRSxPQUFPO2FBQ2Y7WUFFRCxvREFBb0Q7WUFDcEQsMkRBQTJEO1lBQzNELHNCQUFzQjtZQUN0QixxREFBcUQ7WUFDckQsaUJBQWlCO1lBQ2pCLEtBQUs7WUFFTCw0Q0FBNEM7WUFDNUMsSUFBSSxFQUFFLElBQUk7WUFFViwyQ0FBMkM7WUFDM0MsS0FBSyxFQUFFLElBQUk7WUFFWCwrQ0FBK0M7WUFDL0Msb0JBQW9CLEVBQUUsSUFBSTtZQUUxQixZQUFZO1lBQ1osUUFBUSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTTtnQkFDckIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLENBQUM7Z0JBQ3ZDLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUMvQyxDQUFDO1lBRUQsNERBQTREO1lBQzVELDZCQUE2QjtZQUM3QixxREFBcUQ7WUFDckQsOENBQThDO1lBQzlDLHlCQUF5QjtZQUN6QixLQUFLO1lBRUwscUNBQXFDO1lBQ3JDLDhDQUE4QztZQUM5QyxxREFBcUQ7WUFDckQsOENBQThDO1lBQzlDLElBQUk7U0FDUCxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsaUJBQWlCO1FBQ2IsWUFBWSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsRUFBRSxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3ZFLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLEVBQUUsaUJBQWlCLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN2RSxZQUFZLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxFQUFFLGlCQUFpQixFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDdkUsWUFBWSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsRUFBRSxpQkFBaUIsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3RFLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLEVBQUUsa0JBQWtCLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVELGFBQWE7UUFDVCxPQUFPO1lBQ0gsR0FBRyxFQUFFLHFFQUFxRTtZQUMxRSxXQUFXLEVBQUUsV0FBVztZQUN4QixVQUFVLEVBQUU7Z0JBQ1IscURBQXFELEVBQUUsV0FBVztnQkFDbEUsb0NBQW9DLEVBQUUsUUFBUTtnQkFDOUMsZUFBZSxFQUFFLFNBQVM7Z0JBQzFCLDRCQUE0QixFQUFFLFFBQVE7Z0JBQ3RDLDBCQUEwQixFQUFFLFFBQVE7Z0JBQ3BDLGlDQUFpQyxFQUFFLGlCQUFpQjtnQkFDcEQsMkJBQTJCLEVBQUUsU0FBUzthQUN6QztZQUNELGlCQUFpQixFQUFFLENBQUM7WUFDcEIsdUJBQXVCO1lBQ3ZCLHVGQUF1RjtZQUN2RixrQkFBa0IsRUFBRSxDQUFDLFdBQVcsRUFBRSxHQUFHLEVBQUUsYUFBYSxFQUFFLFlBQVksQ0FBQztZQUNuRSxnQkFBZ0IsRUFBRSxDQUFDLFlBQVksRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsR0FBRyxFQUFFLGNBQWMsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLFdBQVcsQ0FBQztZQUNuTCxpQkFBaUIsRUFBRSxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQztZQUVoRCxzQkFBc0I7WUFDdEIsZ0VBQWdFO1lBQ2hFLGtCQUFrQixFQUFFLENBQUMsV0FBVyxFQUFFLEdBQUcsRUFBRSxZQUFZLEVBQUUsWUFBWSxDQUFDO1lBQ2xFLFdBQVcsRUFBRSxLQUFLO1lBQ2xCLGVBQWUsRUFBRSxJQUFJO1lBRXJCLFVBQVUsRUFBRSxJQUFJO1lBQ2hCLGdCQUFnQixFQUFFLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLENBQUM7WUFDMUMsZUFBZSxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQ3hCLHVCQUF1QixFQUFFLEtBQUs7WUFDOUIsVUFBVSxFQUFFLEtBQUs7WUFFakIsa0JBQWtCLEVBQUUsS0FBSztZQUV6QixlQUFlLEVBQUU7Z0JBQ2IsRUFBRSxFQUFFLEtBQUs7Z0JBQ1QsRUFBRSxFQUFFLEtBQUs7Z0JBQ1QsRUFBRSxFQUFFLE9BQU87Z0JBQ1gsQ0FBQyxFQUFFLElBQUk7YUFDVjtZQUVELGlEQUFpRDtZQUNqRCxhQUFhLEVBQUUsS0FBSztZQUNwQixhQUFhLEVBQUUsS0FBSztZQUdwQixXQUFXLEVBQUUsS0FBSztZQUVsQixRQUFRLEVBQUU7Z0JBQ047b0JBQ0ksS0FBSyxFQUFFLG1CQUFtQjtvQkFDMUIsUUFBUSxFQUFFO3dCQUNOLEVBQUMsR0FBRyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFDO3dCQUM1QixFQUFDLEdBQUcsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBQzt3QkFDNUIsRUFBQyxHQUFHLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUM7d0JBQzlCLEVBQUMsR0FBRyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFDO3FCQUM5QjtpQkFDSjtnQkFDRDtvQkFDSSxLQUFLLEVBQUUsZUFBZTtvQkFDdEIsUUFBUSxFQUFFO3dCQUNOLEVBQUMsR0FBRyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsaUJBQWlCLEVBQUM7cUJBQzNDO2lCQUNKO2dCQUNEO29CQUNJLEtBQUssRUFBRSxnQkFBZ0I7b0JBQ3ZCLFFBQVEsRUFBRTt3QkFDTixFQUFDLEdBQUcsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBQzt3QkFDN0IsRUFBQyxHQUFHLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUM7d0JBQzVCLEVBQUMsR0FBRyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFDO3dCQUM5QixFQUFDLEdBQUcsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBQzt3QkFDN0IsRUFBQyxHQUFHLEVBQUUsY0FBYyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUM7d0JBQ25DLEVBQUMsR0FBRyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFDO3dCQUNwQyxFQUFDLEdBQUcsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBQztxQkFDeEM7aUJBQ0o7Z0JBQ0Q7b0JBQ0ksS0FBSyxFQUFFLGtCQUFrQjtvQkFDekIsUUFBUSxFQUFFO3dCQUNOLEVBQUMsR0FBRyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFDO3dCQUNuQyxFQUFDLEdBQUcsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBQzt3QkFDN0IsRUFBQyxHQUFHLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUM7d0JBQy9CLEVBQUMsR0FBRyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFDO3dCQUNsQyxFQUFDLEdBQUcsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBQzt3QkFDdEMsRUFBQyxHQUFHLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxpQkFBaUIsRUFBQzt3QkFDeEMsRUFBQyxHQUFHLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxpQkFBaUIsRUFBQztxQkFDM0M7aUJBQ0o7Z0JBQ0Q7b0JBQ0ksS0FBSyxFQUFFLE9BQU87b0JBQ2QsUUFBUSxFQUFFO3dCQUNOLEVBQUMsR0FBRyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsc0JBQXNCLEVBQUM7d0JBQzlDLEVBQUMsR0FBRyxFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUUsc0JBQXNCLEVBQUM7cUJBQ3ZEO2lCQUNKO2dCQUNEO29CQUNJLEtBQUssRUFBRSxlQUFlO29CQUN0QixRQUFRLEVBQUU7d0JBQ04sRUFBQyxHQUFHLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUM7d0JBQ3RDLEVBQUMsR0FBRyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUM7cUJBQzFDO2lCQUNKO2dCQUNEO29CQUNJLEtBQUssRUFBRSxPQUFPO29CQUNkLFFBQVEsRUFBRTt3QkFDTixFQUFDLEdBQUcsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLG1CQUFtQixFQUFDO3dCQUM3QyxFQUFDLEdBQUcsRUFBRSx3QkFBd0IsRUFBRSxJQUFJLEVBQUUsMkJBQTJCLEVBQUM7d0JBQ2xFLEVBQUMsR0FBRyxFQUFFLHFCQUFxQixFQUFFLElBQUksRUFBRSwwQkFBMEIsRUFBQztxQkFDakU7aUJBQ0o7Z0JBQ0Q7b0JBQ0ksS0FBSyxFQUFFLFlBQVk7b0JBQ25CLFFBQVEsRUFBRTt3QkFDTixFQUFDLEdBQUcsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBQzt3QkFDbEMsRUFBQyxHQUFHLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSx1QkFBdUIsRUFBQzt3QkFDL0MsRUFBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxtQ0FBbUMsRUFBQztxQkFDMUQ7aUJBQ0o7YUFDSjtTQUNKLENBQUM7SUFDTixDQUFDO0lBRUQsVUFBVSxDQUFDLE9BQWUsU0FBUztRQUMvQixJQUFJLElBQUksS0FBSyxTQUFTLEVBQUU7WUFDcEIsT0FBTztnQkFDSCxjQUFjLEVBQUU7b0JBQ1osUUFBUSxFQUFFO3dCQUNOLE9BQU8sRUFBRSxDQUFDLGtCQUFrQixFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBRSxlQUFlLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxhQUFhLEVBQUUsYUFBYSxDQUFDO3dCQUMvTCxjQUFjLEVBQUUsQ0FBQztxQkFDcEI7b0JBQ0QsYUFBYSxFQUFFO3dCQUNYLE9BQU8sRUFBRSxDQUFDLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLFFBQVEsQ0FBQzt3QkFDOUwsY0FBYyxFQUFFLENBQUM7cUJBQ3BCO29CQUNELFFBQVEsRUFBRTt3QkFDTixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsbUJBQW1CLEVBQUUsU0FBUyxFQUFFLFlBQVksQ0FBQzt3QkFDMUosY0FBYyxFQUFFLENBQUM7cUJBQ3BCO29CQUNELFFBQVEsRUFBRTt3QkFDTixPQUFPLEVBQUUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQzt3QkFDdkcsS0FBSyxFQUFFLE9BQU87d0JBQ2QsY0FBYyxFQUFFLENBQUM7cUJBQ3BCO2lCQUNKO2dCQUNELGdCQUFnQixFQUFFO29CQUNkLFFBQVEsRUFBRTt3QkFDTixPQUFPLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQzt3QkFDbE0sY0FBYyxFQUFFLENBQUM7cUJBQ3BCO29CQUNELGFBQWEsRUFBRTt3QkFDWCxPQUFPLEVBQUUsQ0FBQyxXQUFXLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUM7d0JBQzlMLGNBQWMsRUFBRSxDQUFDO3FCQUNwQjtvQkFDRCxRQUFRLEVBQUU7d0JBQ04sT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsbUJBQW1CLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxVQUFVLENBQUM7d0JBQzFKLGNBQWMsRUFBRSxDQUFDO3FCQUNwQjtvQkFDRCxRQUFRLEVBQUU7d0JBQ04sT0FBTyxFQUFFLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxjQUFjLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUM7d0JBQ3ZHLEtBQUssRUFBRSxPQUFPO3dCQUNkLGNBQWMsRUFBRSxDQUFDO3FCQUNwQjtpQkFDSjthQUNKLENBQUM7U0FDTDthQUFNLElBQUksSUFBSSxLQUFLLFFBQVEsRUFBRTtZQUMxQixPQUFPO2dCQUNILGNBQWMsRUFBRSxDQUFDLENBQUMsa0JBQWtCLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsaUJBQWlCLENBQUMsRUFBRSxDQUFDLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLE9BQU8sQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLENBQUM7Z0JBQ3RMLGdCQUFnQixFQUFFLENBQUMsQ0FBQyxrQkFBa0IsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsQ0FBQzthQUMzTCxDQUFDO1NBQ0w7SUFFTCxDQUFDOzs2R0EvUFEsZ0JBQWdCLGtCQUVMLGFBQWE7aUhBRnhCLGdCQUFnQixjQUZiLE1BQU07MkZBRVQsZ0JBQWdCO2tCQUg1QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQjs7MEJBR2dCLE1BQU07MkJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgRnJvYWxhRWRpdG9yIGZyb20gJ2Zyb2FsYS1lZGl0b3InO1xuaW1wb3J0ICdmcm9hbGEtZWRpdG9yL2pzL3BsdWdpbnMucGtnZC5taW4uanMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFNrQXJ0aWNsZVNlcnZpY2Uge1xuXG4gICAgY29uc3RydWN0b3IoQEluamVjdCgnZW52aXJvbm1lbnQnKSBwdWJsaWMgZW52aXJvbm1lbnQ6IGFueSkge1xuICAgICAgICB0aGlzLmluaXRpYWxpemVGcm9hbGEoKTtcbiAgICB9XG5cbiAgICBpbml0aWFsaXplRnJvYWxhKCkge1xuICAgICAgICBGcm9hbGFFZGl0b3IuRGVmaW5lSWNvblRlbXBsYXRlKCdtYXRlcmlhbF9kZXNpZ24nLCAnPGkgY2xhc3M9XCJtYXRlcmlhbC1pY29uc1wiPltOQU1FXTwvaT4nKTtcblxuICAgICAgICB0aGlzLmxvYWRGb250V2VpZ2h0KCk7XG4gICAgICAgIHRoaXMucmVnaXN0ZXJTaG9ydGN1dHMoKTtcbiAgICB9XG5cbiAgICBsb2FkRm9udFdlaWdodCgpIHtcbiAgICAgICAgLy8gRGVmaW5lIGFuIGljb24uXG4gICAgICAgIEZyb2FsYUVkaXRvci5EZWZpbmVJY29uKCdmb250LXdlaWdodCcsIHtOQU1FOiAnZm9ybWF0X3NpemUnLCB0ZW1wbGF0ZTogJ21hdGVyaWFsX2Rlc2lnbid9KTtcblxuICAgICAgICAvLyBEZWZpbmUgYSBkcm9wZG93biBidXR0b24uXG4gICAgICAgIEZyb2FsYUVkaXRvci5SZWdpc3RlckNvbW1hbmQoJ2ZvbnQtd2VpZ2h0LWRyb3AnLCB7XG4gICAgICAgICAgICAvLyBCdXR0b24gdGl0bGUuXG4gICAgICAgICAgICB0aXRsZTogJ0ZvbnQgV2VpZ2h0JyxcblxuICAgICAgICAgICAgLy8gTWFyayB0aGUgYnV0dG9uIGFzIGEgZHJvcGRvd24uXG4gICAgICAgICAgICB0eXBlOiAnZHJvcGRvd24nLFxuXG4gICAgICAgICAgICAvLyBTcGVjaWZ5IHRoZSBpY29uIGZvciB0aGUgYnV0dG9uLlxuICAgICAgICAgICAgLy8gSWYgdGhpcyBvcHRpb24gaXMgbm90IHNwZWNpZmllZCwgdGhlIGJ1dHRvbiBuYW1lIHdpbGwgYmUgdXNlZC5cbiAgICAgICAgICAgIGljb246ICdmb250LXdlaWdodCcsXG5cbiAgICAgICAgICAgIC8vIE9wdGlvbnMgZm9yIHRoZSBkcm9wZG93bi5cbiAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAxMDA6ICdUaGluJyxcbiAgICAgICAgICAgICAgICAzMDA6ICdMaWdodCcsXG4gICAgICAgICAgICAgICAgNDAwOiAnUmVndWxhcicsXG4gICAgICAgICAgICAgICAgNTAwOiAnTWVkaXVtJyxcbiAgICAgICAgICAgICAgICA3MDA6ICdCb2xkJyxcbiAgICAgICAgICAgICAgICA5MDA6ICdCbGFjaydcbiAgICAgICAgICAgIH0sXG5cbiAgICAgICAgICAgIC8vIElmIHByZXNlbnQsIHRoZSBvcHRpb25zIHByb3BlcnR5IHdpbGwgYmUgaWdub3JlZC5cbiAgICAgICAgICAgIC8vIEl0IGNhbiBiZSB1c2VkIHRvIGRlZmluZSBhIGN1c3RvbSBIVE1MIGZvciB0aGUgZHJvcGRvd24uXG4gICAgICAgICAgICAvLyBodG1sOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAvLyAgICAgLy8gVGhlIGN1cnJlbnQgY29udGV4dCBpcyB0aGUgZWRpdG9yIGluc3RhbmNlLlxuICAgICAgICAgICAgLy8gICAgIHJldHVybiAnJztcbiAgICAgICAgICAgIC8vIH0sXG5cbiAgICAgICAgICAgIC8vIFNhdmUgdGhlIGRyb3Bkb3duIGFjdGlvbiBpbnRvIHVuZG8gc3RhY2suXG4gICAgICAgICAgICB1bmRvOiB0cnVlLFxuXG4gICAgICAgICAgICAvLyBGb2N1cyBpbnNpZGUgdGhlIGVkaXRvciBiZWZvcmUgY2FsbGJhY2suXG4gICAgICAgICAgICBmb2N1czogdHJ1ZSxcblxuICAgICAgICAgICAgLy8gUmVmcmVzaCB0aGUgYnV0dG9uIHN0YXRlIGFmdGVyIHRoZSBjYWxsYmFjay5cbiAgICAgICAgICAgIHJlZnJlc2hBZnRlckNhbGxiYWNrOiB0cnVlLFxuXG4gICAgICAgICAgICAvLyBDYWxsYmFjay5cbiAgICAgICAgICAgIGNhbGxiYWNrKGNtZCwgdmFsLCBwYXJhbXMpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmZvcm1hdC5yZW1vdmVTdHlsZSgnZm9udC13ZWlnaHQnKTtcbiAgICAgICAgICAgICAgICB0aGlzLmZvcm1hdC5hcHBseVN0eWxlKCdmb250LXdlaWdodCcsIHZhbCk7XG4gICAgICAgICAgICB9LFxuXG4gICAgICAgICAgICAvLyBDYWxsZWQgd2hlbiB0aGUgZHJvcGRvd24gYnV0dG9uIHN0YXRlIG1pZ2h0IGhhdmUgY2hhbmdlZC5cbiAgICAgICAgICAgIC8vIHJlZnJlc2g6IGZ1bmN0aW9uICgkYnRuKSB7XG4gICAgICAgICAgICAvLyAgICAgLy8gVGhlIGN1cnJlbnQgY29udGV4dCBpcyB0aGUgZWRpdG9yIGluc3RhbmNlLlxuICAgICAgICAgICAgLy8gICAgIGNvbnNvbGUubG9nICh0aGlzLnNlbGVjdGlvbi5lbGVtZW50KCkpO1xuICAgICAgICAgICAgLy8gICAgIGNvbnNvbGUubG9nKHRoaXMpO1xuICAgICAgICAgICAgLy8gfSxcblxuICAgICAgICAgICAgLy8gQ2FsbGVkIHdoZW4gdGhlIGRyb3Bkb3duIGlzIHNob3duLlxuICAgICAgICAgICAgLy8gcmVmcmVzaE9uU2hvdzogZnVuY3Rpb24gKCRidG4sICRkcm9wZG93bikge1xuICAgICAgICAgICAgLy8gICAgIC8vIFRoZSBjdXJyZW50IGNvbnRleHQgaXMgdGhlIGVkaXRvciBpbnN0YW5jZS5cbiAgICAgICAgICAgIC8vICAgICBjb25zb2xlLmxvZyAodGhpcy5zZWxlY3Rpb24uZWxlbWVudCgpKTtcbiAgICAgICAgICAgIC8vIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJTaG9ydGN1dHMoKSB7XG4gICAgICAgIEZyb2FsYUVkaXRvci5SZWdpc3RlclNob3J0Y3V0KDQ5LCAncGFyYWdyYXBoRm9ybWF0JywgJ0gxJywgJzEnLCBmYWxzZSk7XG4gICAgICAgIEZyb2FsYUVkaXRvci5SZWdpc3RlclNob3J0Y3V0KDUwLCAncGFyYWdyYXBoRm9ybWF0JywgJ0gyJywgJzInLCBmYWxzZSk7XG4gICAgICAgIEZyb2FsYUVkaXRvci5SZWdpc3RlclNob3J0Y3V0KDUxLCAncGFyYWdyYXBoRm9ybWF0JywgJ0gzJywgJzMnLCBmYWxzZSk7XG4gICAgICAgIEZyb2FsYUVkaXRvci5SZWdpc3RlclNob3J0Y3V0KDUyLCAncGFyYWdyYXBoRm9ybWF0JywgJ04nLCAnNCcsIGZhbHNlKTtcbiAgICAgICAgRnJvYWxhRWRpdG9yLlJlZ2lzdGVyU2hvcnRjdXQoNjYsICdmb250LXdlaWdodC1kcm9wJywgJzcwMCcpO1xuICAgIH1cblxuICAgIGdldEJhc2VDb25maWcoKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBrZXk6ICdJZzFBN3ZCMkQyRTJFMUYxQjRtdXZ1Z3p4bXdBLTdJLTdBNUItMjFxckMtMTFBMkIyQzJBMUM5QjNCM0M2RTJDMT09JyxcbiAgICAgICAgICAgIGVkaXRvckNsYXNzOiAnc2stY3VzdG9tJyxcbiAgICAgICAgICAgIGZvbnRGYW1pbHk6IHtcbiAgICAgICAgICAgICAgICAnTm90byBTYW5zIEtSLCBOb3RvIFNhbnMsIEFyaWFsLEhlbHZldGljYSxzYW5zLXNlcmlmJzogJ05vdG8gU2FucycsXG4gICAgICAgICAgICAgICAgJ1JvYm90bywgQXJpYWwsSGVsdmV0aWNhLHNhbnMtc2VyaWYnOiAnUm9ib3RvJyxcbiAgICAgICAgICAgICAgICAnR2VvcmdpYSxzZXJpZic6ICdHZW9yZ2lhJyxcbiAgICAgICAgICAgICAgICAnSW1wYWN0LENoYXJjb2FsLHNhbnMtc2VyaWYnOiAnSW1wYWN0JyxcbiAgICAgICAgICAgICAgICAnVGFob21hLEdlbmV2YSxzYW5zLXNlcmlmJzogJ1RhaG9tYScsXG4gICAgICAgICAgICAgICAgJ1xcJ1RpbWVzIE5ldyBSb21hblxcJyxUaW1lcyxzZXJpZic6ICdUaW1lcyBOZXcgUm9tYW4nLFxuICAgICAgICAgICAgICAgICdWZXJkYW5hLEdlbmV2YSxzYW5zLXNlcmlmJzogJ1ZlcmRhbmEnXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgaW1hZ2VEZWZhdWx0V2lkdGg6IDAsXG4gICAgICAgICAgICAvLyByZW1vdmUgaW1hZ2UgbWFuYWdlclxuICAgICAgICAgICAgLy8gaW1hZ2VJbnNlcnRCdXR0b25zOiBbJ2ltYWdlQmFjaycsICd8JywgJ2ltYWdlVXBsb2FkJywgJ2ltYWdlQnlVUkwnLCAnaW1hZ2VNYW5hZ2VyJ10sXG4gICAgICAgICAgICBpbWFnZUluc2VydEJ1dHRvbnM6IFsnaW1hZ2VCYWNrJywgJ3wnLCAnaW1hZ2VVcGxvYWQnLCAnaW1hZ2VCeVVSTCddLFxuICAgICAgICAgICAgaW1hZ2VFZGl0QnV0dG9uczogWydpbWFnZUFsaWduJywgJ2ltYWdlQ2FwdGlvbicsICdpbWFnZVJlbW92ZScsICd8JywgJ2ltYWdlTGluaycsICdsaW5rT3BlbicsICdsaW5rRWRpdCcsICdsaW5rUmVtb3ZlJywgJy0nLCAnaW1hZ2VEaXNwbGF5JywgJ2ltYWdlU3R5bGUnLCAnaW1hZ2VBbHQnLCAnaW1hZ2VTaXplJ10sXG4gICAgICAgICAgICBpbWFnZUFsbG93ZWRUeXBlczogWydqcGVnJywgJ2pwZycsICdwbmcnLCAnZ2lmJ10sXG5cbiAgICAgICAgICAgIC8vIHJlbW92ZSB2aWRlbyB1cGxvYWRcbiAgICAgICAgICAgIC8vIFsndmlkZW9CYWNrJywgJ3wnLCAndmlkZW9CeVVSTCcsICd2aWRlb0VtYmVkJywgJ3ZpZGVvVXBsb2FkJ11cbiAgICAgICAgICAgIHZpZGVvSW5zZXJ0QnV0dG9uczogWyd2aWRlb0JhY2snLCAnfCcsICd2aWRlb0J5VVJMJywgJ3ZpZGVvRW1iZWQnXSxcbiAgICAgICAgICAgIHZpZGVvVXBsb2FkOiBmYWxzZSxcbiAgICAgICAgICAgIHZpZGVvUmVzcG9uc2l2ZTogdHJ1ZSxcblxuICAgICAgICAgICAgcGFzdGVQbGFpbjogdHJ1ZSxcbiAgICAgICAgICAgIHBhc3RlRGVuaWVkQXR0cnM6IFsnY2xhc3MnLCAnaWQnLCAnc3R5bGUnXSxcbiAgICAgICAgICAgIHBhc3RlRGVuaWVkVGFnczogWydkaXYnXSxcbiAgICAgICAgICAgIHdvcmRQYXN0ZUtlZXBGb3JtYXR0aW5nOiBmYWxzZSxcbiAgICAgICAgICAgIGltYWdlUGFzdGU6IGZhbHNlLFxuXG4gICAgICAgICAgICBxdWlja0luc2VydEVuYWJsZWQ6IGZhbHNlLFxuXG4gICAgICAgICAgICBwYXJhZ3JhcGhGb3JtYXQ6IHtcbiAgICAgICAgICAgICAgICBIMTogJ+uMgOygnOuqqScsXG4gICAgICAgICAgICAgICAgSDI6ICfshozsoJzrqqknLFxuICAgICAgICAgICAgICAgIEgzOiAn66y464uoIOygnOuqqScsXG4gICAgICAgICAgICAgICAgTjogJ+uzuOusuCdcbiAgICAgICAgICAgIH0sXG5cbiAgICAgICAgICAgIC8vIHRvb2xiYXJDb250YWluZXI6ICcuc2stY3VzdG9tLWVkaXRvci10b29sYmFyJyxcbiAgICAgICAgICAgIHRvb2xiYXJTdGlja3k6IGZhbHNlLFxuICAgICAgICAgICAgdG9vbGJhckJvdHRvbTogZmFsc2UsXG5cblxuICAgICAgICAgICAgYXR0cmlidXRpb246IGZhbHNlLFxuXG4gICAgICAgICAgICBoZWxwU2V0czogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdHZWFybG91bmdlIEN1c3RvbScsXG4gICAgICAgICAgICAgICAgICAgIGNvbW1hbmRzOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICB7dmFsOiAnT1NrZXkxJywgZGVzYzogJ+uMgOygnOuqqSd9LFxuICAgICAgICAgICAgICAgICAgICAgICAge3ZhbDogJ09Ta2V5MicsIGRlc2M6ICfshozsoJzrqqknfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHt2YWw6ICdPU2tleTMnLCBkZXNjOiAn66y464uoIOygnOuqqSd9LFxuICAgICAgICAgICAgICAgICAgICAgICAge3ZhbDogJ09Ta2V5NCcsIGRlc2M6ICfrs7jrrLgnfVxuICAgICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiAnSW5saW5lIEVkaXRvcicsXG4gICAgICAgICAgICAgICAgICAgIGNvbW1hbmRzOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICB7dmFsOiAnT1NrZXlFJywgZGVzYzogJ1Nob3cgdGhlIGVkaXRvcid9XG4gICAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdDb21tb24gYWN0aW9ucycsXG4gICAgICAgICAgICAgICAgICAgIGNvbW1hbmRzOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICB7dmFsOiAnT1NrZXlDJywgZGVzYzogJ0NvcHknfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHt2YWw6ICdPU2tleVgnLCBkZXNjOiAnQ3V0J30sXG4gICAgICAgICAgICAgICAgICAgICAgICB7dmFsOiAnT1NrZXlWJywgZGVzYzogJ1Bhc3RlJ30sXG4gICAgICAgICAgICAgICAgICAgICAgICB7dmFsOiAnT1NrZXlaJywgZGVzYzogJ1VuZG8nfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHt2YWw6ICdPU2tleVNoaWZ0K1onLCBkZXNjOiAnUmVkbyd9LFxuICAgICAgICAgICAgICAgICAgICAgICAge3ZhbDogJ09Ta2V5SycsIGRlc2M6ICdJbnNlcnQgTGluayd9LFxuICAgICAgICAgICAgICAgICAgICAgICAge3ZhbDogJ09Ta2V5UCcsIGRlc2M6ICdJbnNlcnQgSW1hZ2UnfVxuICAgICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiAnQmFzaWMgRm9ybWF0dGluZycsXG4gICAgICAgICAgICAgICAgICAgIGNvbW1hbmRzOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICB7dmFsOiAnT1NrZXlBJywgZGVzYzogJ1NlbGVjdCBBbGwnfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHt2YWw6ICdPU2tleUInLCBkZXNjOiAnQm9sZCd9LFxuICAgICAgICAgICAgICAgICAgICAgICAge3ZhbDogJ09Ta2V5SScsIGRlc2M6ICdJdGFsaWMnfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHt2YWw6ICdPU2tleVUnLCBkZXNjOiAnVW5kZXJsaW5lJ30sXG4gICAgICAgICAgICAgICAgICAgICAgICB7dmFsOiAnT1NrZXlTJywgZGVzYzogJ1N0cmlrZXRocm91Z2gnfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHt2YWw6ICdPU2tleV0nLCBkZXNjOiAnSW5jcmVhc2UgSW5kZW50J30sXG4gICAgICAgICAgICAgICAgICAgICAgICB7dmFsOiAnT1NrZXlbJywgZGVzYzogJ0RlY3JlYXNlIEluZGVudCd9XG4gICAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdRdW90ZScsXG4gICAgICAgICAgICAgICAgICAgIGNvbW1hbmRzOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICB7dmFsOiAnT1NrZXlcXCcnLCBkZXNjOiAnSW5jcmVhc2UgcXVvdGUgbGV2ZWwnfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHt2YWw6ICdPU2tleVNoaWZ0K1xcJycsIGRlc2M6ICdEZWNyZWFzZSBxdW90ZSBsZXZlbCd9XG4gICAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdJbWFnZSAvIFZpZGVvJyxcbiAgICAgICAgICAgICAgICAgICAgY29tbWFuZHM6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgIHt2YWw6ICdPU2tleSsnLCBkZXNjOiAnUmVzaXplIGxhcmdlcid9LFxuICAgICAgICAgICAgICAgICAgICAgICAge3ZhbDogJ09Ta2V5LScsIGRlc2M6ICdSZXNpemUgc21hbGxlcid9XG4gICAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdUYWJsZScsXG4gICAgICAgICAgICAgICAgICAgIGNvbW1hbmRzOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICB7dmFsOiAnQWx0K1NwYWNlJywgZGVzYzogJ1NlbGVjdCB0YWJsZSBjZWxsJ30sXG4gICAgICAgICAgICAgICAgICAgICAgICB7dmFsOiAnU2hpZnQrTGVmdC9SaWdodCBhcnJvdycsIGRlc2M6ICdFeHRlbmQgc2VsZWN0aW9uIG9uZSBjZWxsJ30sXG4gICAgICAgICAgICAgICAgICAgICAgICB7dmFsOiAnU2hpZnQrVXAvRG93biBhcnJvdycsIGRlc2M6ICdFeHRlbmQgc2VsZWN0aW9uIG9uZSByb3cnfVxuICAgICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiAnTmF2aWdhdGlvbicsXG4gICAgICAgICAgICAgICAgICAgIGNvbW1hbmRzOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICB7dmFsOiAnT1NrZXkvJywgZGVzYzogJ1Nob3J0Y3V0cyd9LFxuICAgICAgICAgICAgICAgICAgICAgICAge3ZhbDogJ0FsdCtGMTAnLCBkZXNjOiAnRm9jdXMgcG9wdXAgLyB0b29sYmFyJ30sXG4gICAgICAgICAgICAgICAgICAgICAgICB7dmFsOiAnRXNjJywgZGVzYzogJ1JldHVybiBmb2N1cyB0byBwcmV2aW91cyBwb3NpdGlvbid9XG4gICAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIGdldFRvb2xiYXIodHlwZTogc3RyaW5nID0gJ2RlZmF1bHQnKSB7XG4gICAgICAgIGlmICh0eXBlID09PSAnZGVmYXVsdCcpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgdG9vbGJhckJ1dHRvbnM6IHtcbiAgICAgICAgICAgICAgICAgICAgbW9yZVRleHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJ1dHRvbnM6IFsnZm9udC13ZWlnaHQtZHJvcCcsICdmb250RmFtaWx5JywgJ2ZvbnRTaXplJywgJ3RleHRDb2xvcicsICdjbGVhckZvcm1hdHRpbmcnLCAnaXRhbGljJywgJ3N0cmlrZVRocm91Z2gnLCAnc3Vic2NyaXB0JywgJ3N1cGVyc2NyaXB0JywgJ2JhY2tncm91bmRDb2xvcicsICdpbmxpbmVDbGFzcycsICdpbmxpbmVTdHlsZSddLFxuICAgICAgICAgICAgICAgICAgICAgICAgYnV0dG9uc1Zpc2libGU6IDVcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgbW9yZVBhcmFncmFwaDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgYnV0dG9uczogWydwYXJhZ3JhcGhGb3JtYXQnLCAnYWxpZ25MZWZ0JywgJ2FsaWduQ2VudGVyJywgJ2Zvcm1hdFVMJywgJ3F1b3RlJywgJ2FsaWduUmlnaHQnLCAnYWxpZ25KdXN0aWZ5JywgJ2Zvcm1hdE9MU2ltcGxlJywgJ2Zvcm1hdE9MJywgJ3BhcmFncmFwaFN0eWxlJywgJ2xpbmVIZWlnaHQnLCAnb3V0ZGVudCcsICdpbmRlbnQnXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGJ1dHRvbnNWaXNpYmxlOiA1XG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIG1vcmVSaWNoOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBidXR0b25zOiBbJ2luc2VydExpbmsnLCAnaW5zZXJ0SW1hZ2UnLCAnaW5zZXJ0VmlkZW8nLCAnaW5zZXJ0SFInLCAnaW5zZXJ0VGFibGUnLCAnZW1vdGljb25zJywgJ2ZvbnRBd2Vzb21lJywgJ3NwZWNpYWxDaGFyYWN0ZXJzJywgJ2VtYmVkbHknLCAnaW5zZXJ0RmlsZSddLFxuICAgICAgICAgICAgICAgICAgICAgICAgYnV0dG9uc1Zpc2libGU6IDRcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgbW9yZU1pc2M6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJ1dHRvbnM6IFsndW5kbycsICdyZWRvJywgJ2Z1bGxzY3JlZW4nLCAncHJpbnQnLCAnZ2V0UERGJywgJ3NwZWxsQ2hlY2tlcicsICdzZWxlY3RBbGwnLCAnaHRtbCcsICdoZWxwJ10sXG4gICAgICAgICAgICAgICAgICAgICAgICBhbGlnbjogJ3JpZ2h0JyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGJ1dHRvbnNWaXNpYmxlOiAzXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHRvb2xiYXJCdXR0b25zU206IHtcbiAgICAgICAgICAgICAgICAgICAgbW9yZVRleHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJ1dHRvbnM6IFsnZm9udC13ZWlnaHQtZHJvcCcsICd1bmRlcmxpbmUnLCAnc3RyaWtlVGhyb3VnaCcsICdzdWJzY3JpcHQnLCAnc3VwZXJzY3JpcHQnLCAnZm9udEZhbWlseScsICdmb250U2l6ZScsICd0ZXh0Q29sb3InLCAnYmFja2dyb3VuZENvbG9yJywgJ2lubGluZUNsYXNzJywgJ2lubGluZVN0eWxlJywgJ2NsZWFyRm9ybWF0dGluZyddLFxuICAgICAgICAgICAgICAgICAgICAgICAgYnV0dG9uc1Zpc2libGU6IDJcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgbW9yZVBhcmFncmFwaDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgYnV0dG9uczogWydhbGlnbkxlZnQnLCAnYWxpZ25DZW50ZXInLCAnZm9ybWF0T0xTaW1wbGUnLCAnYWxpZ25SaWdodCcsICdhbGlnbkp1c3RpZnknLCAnZm9ybWF0T0wnLCAnZm9ybWF0VUwnLCAncGFyYWdyYXBoRm9ybWF0JywgJ3BhcmFncmFwaFN0eWxlJywgJ2xpbmVIZWlnaHQnLCAnb3V0ZGVudCcsICdpbmRlbnQnLCAncXVvdGUnXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGJ1dHRvbnNWaXNpYmxlOiAyXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIG1vcmVSaWNoOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBidXR0b25zOiBbJ2luc2VydExpbmsnLCAnaW5zZXJ0SW1hZ2UnLCAnaW5zZXJ0VmlkZW8nLCAnaW5zZXJ0VGFibGUnLCAnZW1vdGljb25zJywgJ2ZvbnRBd2Vzb21lJywgJ3NwZWNpYWxDaGFyYWN0ZXJzJywgJ2VtYmVkbHknLCAnaW5zZXJ0RmlsZScsICdpbnNlcnRIUiddLFxuICAgICAgICAgICAgICAgICAgICAgICAgYnV0dG9uc1Zpc2libGU6IDJcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgbW9yZU1pc2M6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJ1dHRvbnM6IFsndW5kbycsICdyZWRvJywgJ2Z1bGxzY3JlZW4nLCAncHJpbnQnLCAnZ2V0UERGJywgJ3NwZWxsQ2hlY2tlcicsICdzZWxlY3RBbGwnLCAnaHRtbCcsICdoZWxwJ10sXG4gICAgICAgICAgICAgICAgICAgICAgICBhbGlnbjogJ3JpZ2h0JyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGJ1dHRvbnNWaXNpYmxlOiAyXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfSBlbHNlIGlmICh0eXBlID09PSAnc2ltcGxlJykge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICB0b29sYmFyQnV0dG9uczogW1snZm9udC13ZWlnaHQtZHJvcCcsICdmb250RmFtaWx5JywgJ2ZvbnRTaXplJywgJ3RleHRDb2xvcicsICdjbGVhckZvcm1hdHRpbmcnXSwgWydwYXJhZ3JhcGhGb3JtYXQnLCAnYWxpZ25MZWZ0JywgJ2FsaWduQ2VudGVyJywgJ2Zvcm1hdFVMJywgJ3F1b3RlJ10sIFsnaW5zZXJ0TGluayddXSxcbiAgICAgICAgICAgICAgICB0b29sYmFyQnV0dG9uc1NtOiBbWydmb250LXdlaWdodC1kcm9wJywgJ2ZvbnRGYW1pbHknLCAnZm9udFNpemUnLCAndGV4dENvbG9yJywgJ2NsZWFyRm9ybWF0dGluZyddLCBbJ3BhcmFncmFwaEZvcm1hdCcsICdhbGlnbkxlZnQnLCAnYWxpZ25DZW50ZXInLCAnZm9ybWF0VUwnLCAncXVvdGUnXSwgWydpbnNlcnRMaW5rJ11dLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuXG4gICAgfVxuXG5cbn1cbiJdfQ==
|