@carto/kepler.gl 0.0.15 → 0.0.16-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/common/icons/index.js +9 -1
- package/dist/components/common/icons/swap-horizontal.js +68 -0
- package/dist/components/side-panel/layer-panel/color-palette.js +12 -6
- package/dist/components/side-panel/layer-panel/color-range-selector.js +51 -17
- package/dist/components/side-panel/layer-panel/custom-palette.js +22 -8
- package/dist/components/side-panel/layer-panel/layer-config-group.js +19 -10
- package/dist/components/side-panel/layer-panel/layer-configurator.js +4 -4
- package/dist/components/side-panel/layer-panel/text-label-panel.js +18 -10
- package/dist/constants/default-settings.js +2 -2
- package/dist/localization/en.js +6 -1
- package/package.json +1 -1
- package/src/components/common/icons/index.js +1 -0
- package/src/components/common/icons/swap-horizontal.js +43 -0
- package/src/components/side-panel/layer-panel/color-palette.js +10 -3
- package/src/components/side-panel/layer-panel/color-range-selector.js +68 -28
- package/src/components/side-panel/layer-panel/custom-palette.js +23 -17
- package/src/components/side-panel/layer-panel/layer-config-group.js +16 -7
- package/src/components/side-panel/layer-panel/layer-configurator.js +20 -12
- package/src/components/side-panel/layer-panel/text-label-panel.js +15 -6
- package/src/localization/en.js +5 -0
- package/umd/keplergl.min.js +26 -26
package/dist/localization/en.js
CHANGED
|
@@ -420,6 +420,11 @@ var _default = {
|
|
|
420
420
|
type: 'type',
|
|
421
421
|
reversed: 'reversed'
|
|
422
422
|
},
|
|
423
|
+
customPalette: {
|
|
424
|
+
apply: 'Apply',
|
|
425
|
+
cancel: 'Cancel',
|
|
426
|
+
addStep: '+ Add Step'
|
|
427
|
+
},
|
|
423
428
|
scale: {
|
|
424
429
|
colorScale: 'Color Scale',
|
|
425
430
|
sizeScale: 'Size Scale',
|
|
@@ -461,4 +466,4 @@ var _default = {
|
|
|
461
466
|
Share: 'Share'
|
|
462
467
|
};
|
|
463
468
|
exports["default"] = _default;
|
|
464
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sb2NhbGl6YXRpb24vZW4uanMiXSwibmFtZXMiOlsicHJvcGVydHkiLCJ3ZWlnaHQiLCJsYWJlbCIsImZpbGxDb2xvciIsImNvbG9yIiwiY292ZXJhZ2UiLCJzdHJva2VDb2xvciIsInJhZGl1cyIsIm91dGxpbmUiLCJzdHJva2UiLCJkZW5zaXR5IiwiaGVpZ2h0Iiwic3VtIiwicG9pbnRDb3VudCIsInBsYWNlaG9sZGVyIiwic2VhcmNoIiwic2VsZWN0RmllbGQiLCJ5QXhpcyIsInNlbGVjdFR5cGUiLCJzZWxlY3RWYWx1ZSIsImVudGVyVmFsdWUiLCJlbXB0eSIsIm1pc2MiLCJieSIsInZhbHVlc0luIiwidmFsdWVFcXVhbHMiLCJkYXRhU291cmNlIiwiYnJ1c2hSYWRpdXMiLCJtYXBMYXllcnMiLCJ0aXRsZSIsInJvYWQiLCJib3JkZXIiLCJidWlsZGluZyIsIndhdGVyIiwibGFuZCIsInBhbmVsIiwidGV4dCIsImxhYmVsV2l0aElkIiwiZm9udFNpemUiLCJmb250Q29sb3IiLCJ0ZXh0QW5jaG9yIiwiYWxpZ25tZW50IiwiYWRkTW9yZUxhYmVsIiwic2lkZWJhciIsInBhbmVscyIsImxheWVyIiwiZmlsdGVyIiwiaW50ZXJhY3Rpb24iLCJiYXNlbWFwIiwicmVxdWlyZWQiLCJwcm9wZXJ0eUJhc2VkT24iLCJzdHJva2VXaWR0aCIsImJhc2ljIiwidHJhaWxMZW5ndGgiLCJ0cmFpbExlbmd0aERlc2NyaXB0aW9uIiwibmV3TGF5ZXIiLCJlbGV2YXRpb25CeURlc2NyaXB0aW9uIiwiY29sb3JCeURlc2NyaXB0aW9uIiwiYWdncmVnYXRlQnkiLCJ0eXBlIiwicG9pbnQiLCJhcmMiLCJsaW5lIiwiZ3JpZCIsImhleGJpbiIsInBvbHlnb24iLCJnZW9qc29uIiwiY2x1c3RlciIsImljb24iLCJoZWF0bWFwIiwiaGV4YWdvbiIsImhleGFnb25pZCIsInRyaXAiLCJzMiIsImxheWVyVmlzQ29uZmlncyIsImFuZ2xlIiwic3Ryb2tlV2lkdGhSYW5nZSIsImZpeGVkUmFkaXVzIiwiZml4ZWRSYWRpdXNEZXNjcmlwdGlvbiIsInJhZGl1c1JhbmdlIiwiY2x1c3RlclJhZGl1cyIsInJhZGl1c1JhbmdlUGl4ZWxzIiwib3BhY2l0eSIsImNvbG9yUmFuZ2UiLCJzdHJva2VDb2xvclJhbmdlIiwidGFyZ2V0Q29sb3IiLCJjb2xvckFnZ3JlZ2F0aW9uIiwiaGVpZ2h0QWdncmVnYXRpb24iLCJyZXNvbHV0aW9uUmFuZ2UiLCJzaXplU2NhbGUiLCJ3b3JsZFVuaXRTaXplIiwiZWxldmF0aW9uU2NhbGUiLCJlbmFibGVFbGV2YXRpb25ab29tRmFjdG9yIiwiZW5hYmxlRWxldmF0aW9uWm9vbUZhY3RvckRlc2NyaXB0aW9uIiwiZW5hYmxlSGVpZ2h0Wm9vbUZhY3RvciIsImhlaWdodFNjYWxlIiwiY292ZXJhZ2VSYW5nZSIsImhpZ2hQcmVjaXNpb25SZW5kZXJpbmciLCJoaWdoUHJlY2lzaW9uUmVuZGVyaW5nRGVzY3JpcHRpb24iLCJoZWlnaHREZXNjcmlwdGlvbiIsImZpbGwiLCJlbmFibGVQb2x5Z29uSGVpZ2h0Iiwic2hvd1dpcmVmcmFtZSIsIndlaWdodEludGVuc2l0eSIsInpvb21TY2FsZSIsImhlaWdodFJhbmdlIiwiaGVpZ2h0TXVsdGlwbGllciIsImxheWVyTWFuYWdlciIsImFkZERhdGEiLCJhZGRMYXllciIsImxheWVyQmxlbmRpbmciLCJtYXBNYW5hZ2VyIiwibWFwU3R5bGUiLCJhZGRNYXBTdHlsZSIsImxheWVyQ29uZmlndXJhdGlvbiIsImRlZmF1bHREZXNjcmlwdGlvbiIsImhvd1RvIiwiZmlsdGVyTWFuYWdlciIsImFkZEZpbHRlciIsImRhdGFzZXRUaXRsZSIsInNob3dEYXRhVGFibGUiLCJyZW1vdmVEYXRhc2V0IiwiZGF0YXNldEluZm8iLCJyb3dDb3VudCIsInRvb2x0aXAiLCJoaWRlTGF5ZXIiLCJzaG93TGF5ZXIiLCJoaWRlRmVhdHVyZSIsInNob3dGZWF0dXJlIiwiaGlkZSIsInNob3ciLCJyZW1vdmVMYXllciIsImR1cGxpY2F0ZUxheWVyIiwibGF5ZXJTZXR0aW5ncyIsImNsb3NlUGFuZWwiLCJzd2l0Y2hUb0R1YWxWaWV3Iiwic2hvd0xlZ2VuZCIsImRpc2FibGUzRE1hcCIsIkRyYXdPbk1hcCIsInNlbGVjdExvY2FsZSIsImhpZGVMYXllclBhbmVsIiwic2hvd0xheWVyUGFuZWwiLCJtb3ZlVG9Ub3AiLCJzZWxlY3RCYXNlTWFwU3R5bGUiLCJ0aW1lUGxheWJhY2siLCJjbG91ZFN0b3JhZ2UiLCJhbmltYXRpb25CeVdpbmRvdyIsImFuaW1hdGlvbkJ5SW5jcmVtZW50YWwiLCJzcGVlZCIsInBsYXkiLCJwYXVzZSIsInJlc2V0IiwidG9vbGJhciIsImV4cG9ydEltYWdlIiwiZXhwb3J0RGF0YSIsImV4cG9ydE1hcCIsInNoYXJlTWFwVVJMIiwic2F2ZU1hcCIsInNlbGVjdCIsInJlY3RhbmdsZSIsIkxPQ0FMRVMiLCJlZGl0b3IiLCJmaWx0ZXJMYXllciIsImNvcHlHZW9tZXRyeSIsIm1vZGFsIiwiZGVsZXRlRGF0YXNldCIsImFkZERhdGFUb01hcCIsImFkZEN1c3RvbU1hcGJveFN0eWxlIiwic2hhcmVVUkwiLCJidXR0b24iLCJkb3dubG9hZCIsImFkZFN0eWxlIiwic2F2ZSIsImRlZmF1bHRDYW5jZWwiLCJkZWZhdWx0Q29uZmlybSIsInJhdGlvVGl0bGUiLCJyYXRpb0Rlc2NyaXB0aW9uIiwicmF0aW9PcmlnaW5hbFNjcmVlbiIsInJhdGlvQ3VzdG9tIiwicmF0aW80XzMiLCJyYXRpbzE2XzkiLCJyZXNvbHV0aW9uVGl0bGUiLCJyZXNvbHV0aW9uRGVzY3JpcHRpb24iLCJtYXBMZWdlbmRUaXRsZSIsIm1hcExlZ2VuZEFkZCIsImRhdGFzZXRTdWJ0aXRsZSIsImFsbERhdGFzZXRzIiwiZGF0YVR5cGVUaXRsZSIsImRhdGFUeXBlU3VidGl0bGUiLCJmaWx0ZXJEYXRhVGl0bGUiLCJmaWx0ZXJEYXRhU3VidGl0bGUiLCJmaWx0ZXJlZERhdGEiLCJ1bmZpbHRlcmVkRGF0YSIsImZpbGVDb3VudCIsImRlbGV0ZURhdGEiLCJ3YXJuaW5nIiwicHVibGlzaFRpdGxlIiwicHVibGlzaFN1YnRpdGxlMSIsInB1Ymxpc2hTdWJ0aXRsZTIiLCJwdWJsaXNoU3VidGl0bGUzIiwicHVibGlzaFN1YnRpdGxlNCIsInB1Ymxpc2hTdWJ0aXRsZTUiLCJwdWJsaXNoU3VidGl0bGU2IiwicHVibGlzaFN1YnRpdGxlNyIsImV4YW1wbGVUb2tlbiIsInBhc3RlVGl0bGUiLCJwYXN0ZVN1YnRpdGxlMCIsInBhc3RlU3VidGl0bGUxIiwicGFzdGVTdWJ0aXRsZTIiLCJwYXN0ZVN1YnRpdGxlMyIsInBhc3RlU3VidGl0bGU0IiwibmFtaW5nVGl0bGUiLCJzaGFyZU1hcCIsInNoYXJlVXJpVGl0bGUiLCJzaGFyZVVyaVN1YnRpdGxlIiwiY2xvdWRUaXRsZSIsImNsb3VkU3VidGl0bGUiLCJzaGFyZURpc2NsYWltZXIiLCJnb3RvUGFnZSIsInN0YXR1c1BhbmVsIiwibWFwVXBsb2FkaW5nIiwiZXJyb3IiLCJzdWJ0aXRsZSIsImZvcm1hdFRpdGxlIiwiZm9ybWF0U3VidGl0bGUiLCJodG1sIiwic2VsZWN0aW9uIiwidG9rZW5UaXRsZSIsInRva2VuU3VidGl0bGUiLCJ0b2tlblBsYWNlaG9sZGVyIiwidG9rZW5NaXN1c2VXYXJuaW5nIiwidG9rZW5EaXNjbGFpbWVyIiwidG9rZW5VcGRhdGUiLCJtb2RlVGl0bGUiLCJtb2RlU3VidGl0bGUxIiwibW9kZVN1YnRpdGxlMiIsIm1vZGVEZXNjcmlwdGlvbiIsInJlYWQiLCJlZGl0IiwianNvbiIsImNvbmZpZ1RpdGxlIiwiY29uZmlnRGlzY2xhaW1lciIsImRpc2NsYWltZXIiLCJsb2FkaW5nRGlhbG9nIiwibG9hZGluZyIsImxvYWREYXRhIiwidXBsb2FkIiwic3RvcmFnZSIsInRyaXBJbmZvIiwiZGVzY3JpcHRpb24xIiwiY29kZSIsImRlc2NyaXB0aW9uMiIsImV4YW1wbGUiLCJpY29uSW5mbyIsImljb25zIiwic3RvcmFnZU1hcFZpZXdlciIsImxhc3RNb2RpZmllZCIsImJhY2siLCJvdmVyd3JpdGVNYXAiLCJhbHJlYWR5RXhpc3RzIiwibG9hZFN0b3JhZ2VNYXAiLCJnb1RvUGFnZSIsInN0b3JhZ2VNYXBzIiwibm9TYXZlZE1hcHMiLCJoZWFkZXIiLCJ2aXNpYmxlTGF5ZXJzIiwibGF5ZXJMZWdlbmQiLCJpbnRlcmFjdGlvbnMiLCJicnVzaCIsImNvb3JkaW5hdGUiLCJnZW9jb2RlciIsImFkZGl0aXZlIiwibm9ybWFsIiwic3VidHJhY3RpdmUiLCJjb2x1bW5zIiwibGF0IiwibG5nIiwiYWx0aXR1ZGUiLCJ0b2tlbiIsImxhdDAiLCJsbmcwIiwibGF0MSIsImxuZzEiLCJhbHQwIiwiYWx0MSIsImhleF9pZCIsImN1c3RvbVBhbGV0dGUiLCJzdGVwcyIsInJldmVyc2VkIiwic2NhbGUiLCJjb2xvclNjYWxlIiwic3Ryb2tlU2NhbGUiLCJmaWxlVXBsb2FkZXIiLCJtZXNzYWdlIiwiY2hyb21lTWVzc2FnZSIsImNvbmZpZ1VwbG9hZE1lc3NhZ2UiLCJicm93c2VGaWxlcyIsInVwbG9hZGluZyIsImZpbGVOb3RTdXBwb3J0ZWQiLCJvciIsImZpZWxkU2VsZWN0b3IiLCJjbGVhckFsbCIsImZvcm1hdHRpbmciLCJjb21wYXJlIiwibW9kZUxhYmVsIiwidHlwZUxhYmVsIiwidHlwZXMiLCJhYnNvbHV0ZSIsInJlbGF0aXZlIiwibWFwUG9wb3ZlciIsInByaW1hcnkiLCJTYXZlIiwiU2hhcmUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBb0JBOzs7Ozs7ZUFFZTtBQUNiQSxFQUFBQSxRQUFRLEVBQUU7QUFDUkMsSUFBQUEsTUFBTSxFQUFFLFFBREE7QUFFUkMsSUFBQUEsS0FBSyxFQUFFLE9BRkM7QUFHUkMsSUFBQUEsU0FBUyxFQUFFLFlBSEg7QUFJUkMsSUFBQUEsS0FBSyxFQUFFLE9BSkM7QUFLUkMsSUFBQUEsUUFBUSxFQUFFLFVBTEY7QUFNUkMsSUFBQUEsV0FBVyxFQUFFLGNBTkw7QUFPUkMsSUFBQUEsTUFBTSxFQUFFLFFBUEE7QUFRUkMsSUFBQUEsT0FBTyxFQUFFLFNBUkQ7QUFTUkMs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Q1gsbUZBSFU7QUFJWnBELElBQUFBLFVBQVUsRUFDUiw4R0FDQSxtREFOVTtBQU9acUQsSUFBQUEsbUJBQW1CLEVBQ2pCLDhGQVJVO0FBU1pDLElBQUFBLFdBQVcsRUFBRSxtQkFURDtBQVVaQyxJQUFBQSxTQUFTLEVBQUUsV0FWQztBQVdaQyxJQUFBQSxnQkFBZ0IsRUFBRSxxQ0FYTjtBQVlaQyxJQUFBQSxFQUFFLEVBQUU7QUFaUSxHQXphRDtBQXViYjdCLEVBQUFBLFFBQVEsRUFBRTtBQUNSalAsSUFBQUEsS0FBSyxFQUFFO0FBREMsR0F2Ykc7QUEwYmIrUSxFQUFBQSxhQUFhLEVBQUU7QUFDYkMsSUFBQUEsUUFBUSxFQUFFLFdBREc7QUFFYkMsSUFBQUEsVUFBVSxFQUFFO0FBRkMsR0ExYkY7QUE4YmJDLEVBQUFBLE9BQU8sRUFBRTtBQUNQQyxJQUFBQSxTQUFTLEVBQUUsaUJBREo7QUFFUEMsSUFBQUEsU0FBUyxFQUFFLGlCQUZKO0FBR1BDLElBQUFBLEtBQUssRUFBRTtBQUNMQyxNQUFBQSxRQUFRLEVBQUUsVUFETDtBQUVMQyxNQUFBQSxRQUFRLEVBQUU7QUFGTDtBQUhBLEdBOWJJO0FBc2NiQyxFQUFBQSxVQUFVLEVBQUU7QUFDVkMsSUFBQUEsT0FBTyxFQUFFO0FBREMsR0F0Y0M7QUF5Y2I1UyxFQUFBQSxPQUFPLEVBQUUsU0F6Y0k7QUEwY2IsZ0JBQWMsWUExY0Q7QUEyY2IsZ0JBQWMsWUEzY0Q7QUE0Y2I2UyxFQUFBQSxJQUFJLEVBQUUsTUE1Y087QUE2Y2JDLEVBQUFBLEtBQUssRUFBRTtBQTdjTSxDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIxIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IHtMT0NBTEVTfSBmcm9tICcuL2xvY2FsZXMnO1xuXG5leHBvcnQgZGVmYXVsdCB7XG4gIHByb3BlcnR5OiB7XG4gICAgd2VpZ2h0OiAnd2VpZ2h0JyxcbiAgICBsYWJlbDogJ2xhYmVsJyxcbiAgICBmaWxsQ29sb3I6ICdmaWxsIGNvbG9yJyxcbiAgICBjb2xvcjogJ2NvbG9yJyxcbiAgICBjb3ZlcmFnZTogJ2NvdmVyYWdlJyxcbiAgICBzdHJva2VDb2xvcjogJ3N0cm9rZSBjb2xvcicsXG4gICAgcmFkaXVzOiAncmFkaXVzJyxcbiAgICBvdXRsaW5lOiAnb3V0bGluZScsXG4gICAgc3Ryb2tlOiAnc3Ryb2tlJyxcbiAgICBkZW5zaXR5OiAnZGVuc2l0eScsXG4gICAgaGVpZ2h0OiAnaGVpZ2h0JyxcbiAgICBzdW06ICdzdW0nLFxuICAgIHBvaW50Q291bnQ6ICdQb2ludCBDb3VudCdcbiAgfSxcbiAgcGxhY2Vob2xkZXI6IHtcbiAgICBzZWFyY2g6ICdTZWFyY2gnLFxuICAgIHNlbGVjdEZpZWxkOiAnU2VsZWN0IGEgZmllbGQnLFxuICAgIHlBeGlzOiAnWSBBeGlzJyxcbiAgICBzZWxlY3RUeXBlOiAnU2VsZWN0IEEgVHlwZScsXG4gICAgc2VsZWN0VmFsdWU6ICdTZWxlY3QgQSBWYWx1ZScsXG4gICAgZW50ZXJWYWx1ZTogJ0VudGVyIGEgdmFsdWUnLFxuICAgIGVtcHR5OiAnZW1wdHknXG4gIH0sXG4gIG1pc2M6IHtcbiAgICBieTogJycsXG4gICAgdmFsdWVzSW46ICdWYWx1ZXMgaW4nLFxuICAgIHZhbHVlRXF1YWxzOiAnVmFsdWUgZXF1YWxzJyxcbiAgICBkYXRhU291cmNlOiAnRGF0YSBTb3VyY2UnLFxuICAgIGJydXNoUmFkaXVzOiAnQnJ1c2ggUmFkaXVzIChrbSknLFxuICAgIGVtcHR5OiAnICdcbiAgfSxcbiAgbWFwTGF5ZXJzOiB7XG4gICAgdGl0bGU6ICdNYXAgTGF5ZXJzJyxcbiAgICBsYWJlbDogJ0xhYmVsJyxcbiAgICByb2FkOiAnUm9hZCcsXG4gICAgYm9yZGVyOiAnQm9yZGVyJyxcbiAgICBidWlsZGluZzogJ0J1aWxkaW5nJyxcbiAgICB3YXRlcjogJ1dhdGVyJyxcbiAgICBsYW5kOiAnTGFuZCcsXG4gICAgJzNkQnVpbGRpbmcnOiAnM2QgQnVpbGRpbmcnXG4gIH0sXG4gIHBhbmVsOiB7XG4gICAgdGV4dDoge1xuICAgICAgbGFiZWw6ICdsYWJlbCcsXG4gICAgICBsYWJlbFdpdGhJZDogJ0xhYmVsIHtsYWJlbElkfScsXG4gICAgICBmb250U2l6ZTogJ0ZvbnQgc2l6ZScsXG4gICAgICBmb250Q29sb3I6ICdGb250IGNvbG9yJyxcbiAgICAgIHRleHRBbmNob3I6ICdUZXh0IGFuY2hvcicsXG4gICAgICBhbGlnbm1lbnQ6ICdBbGlnbm1lbnQnLFxuICAgICAgYWRkTW9yZUxhYmVsOiAnQWRkIE1vcmUgTGFiZWwnXG4gICAgfVxuICB9LFxuICBzaWRlYmFyOiB7XG4gICAgcGFuZWxzOiB7XG4gICAgICBsYXllcjogJ0xheWVycycsXG4gICAgICBmaWx0ZXI6ICdGaWx0ZXJzJyxcbiAgICAgIGludGVyYWN0aW9uOiAnSW50ZXJhY3Rpb25zJyxcbiAgICAgIGJhc2VtYXA6ICdCYXNlIG1hcCdcbiAgICB9XG4gIH0sXG4gIGxheWVyOiB7XG4gICAgcmVxdWlyZWQ6ICdSZXF1aXJlZConLFxuICAgIHJhZGl1czogJ1JhZGl1cycsXG4gICAgY29sb3I6ICdDb2xvcicsXG4gICAgZmlsbENvbG9yOiAnRmlsbCBDb2xvcicsXG4gICAgb3V0bGluZTogJ091dGxpbmUnLFxuICAgIHdlaWdodDogJ1dlaWdodCcsXG4gICAgcHJvcGVydHlCYXNlZE9uOiAne3Byb3BlcnR5fSBiYXNlZCBvbicsXG4gICAgY292ZXJhZ2U6ICdDb3ZlcmFnZScsXG4gICAgc3Ryb2tlOiAnU3Ryb2tlJyxcbiAgICBzdHJva2VXaWR0aDogJ1N0cm9rZSBXaWR0aCcsXG4gICAgc3Ryb2tlQ29sb3I6ICdTdHJva2UgQ29sb3InLFxuICAgIGJhc2ljOiAnQmFzaWMnLFxuICAgIHRyYWlsTGVuZ3RoOiAnVHJhaWwgTGVuZ3RoJyxcbiAgICB0cmFpbExlbmd0aERlc2NyaXB0aW9uOiAnTnVtYmVyIG9mIHNlY29uZHMgZm9yIGEgcGF0aCB0byBjb21wbGV0ZWx5IGZhZGUgb3V0JyxcbiAgICBuZXdMYXllcjogJ25ldyBsYXllcicsXG4gICAgZWxldmF0aW9uQnlEZXNjcmlwdGlvbjogJ1doZW4gb2ZmLCBoZWlnaHQgaXMgYmFzZWQgb24gY291bnQgb2YgcG9pbnRzJyxcbiAgICBjb2xvckJ5RGVzY3JpcHRpb246ICdXaGVuIG9mZiwgY29sb3IgaXMgYmFzZWQgb24gY291bnQgb2YgcG9pbnRzJyxcbiAgICBhZ2dyZWdhdGVCeTogJ0FnZ3JlZ2F0ZSB7ZmllbGR9IGJ5JyxcbiAgICAnM0RNb2RlbCc6ICczRCBNb2RlbCcsXG4gICAgJzNETW9kZWxPcHRpb25zJzogJzNEIE1vZGVsIE9wdGlvbnMnLFxuICAgIHR5cGU6IHtcbiAgICAgIHBvaW50OiAncG9pbnQnLFxuICAgICAgYXJjOiAnYXJjJyxcbiAgICAgIGxpbmU6ICdsaW5lJyxcbiAgICAgIGdyaWQ6ICdncmlkJyxcbiAgICAgIGhleGJpbjogJ2hleGJpbicsXG4gICAgICBwb2x5Z29uOiAncG9seWdvbicsXG4gICAgICBnZW9qc29uOiAnZ2VvanNvbicsXG4gICAgICBjbHVzdGVyOiAnY2x1c3RlcicsXG4gICAgICBpY29uOiAnaWNvbicsXG4gICAgICBoZWF0bWFwOiAnaGVhdG1hcCcsXG4gICAgICBoZXhhZ29uOiAnaGV4YWdvbicsXG4gICAgICBoZXhhZ29uaWQ6ICdIMycsXG4gICAgICB0cmlwOiAndHJpcCcsXG4gICAgICBzMjogJ1MyJyxcbiAgICAgICczZCc6ICczRCdcbiAgICB9XG4gIH0sXG4gIGxheWVyVmlzQ29uZmlnczoge1xuICAgIGFuZ2xlOiAnQW5nbGUnLFxuICAgIHN0cm9rZVdpZHRoOiAnU3Ryb2tlIFdpZHRoIChQaXhlbHMpJyxcbiAgICBzdHJva2VXaWR0aFJhbmdlOiAnU3Ryb2tlIFdpZHRoIFJhbmdlJyxcbiAgICByYWRpdXM6ICdSYWRpdXMnLFxuICAgIGZpeGVkUmFkaXVzOiAnRml4ZWQgUmFkaXVzIHRvIG1ldGVyJyxcbiAgICBmaXhlZFJhZGl1c0Rlc2NyaXB0aW9uOiAnTWFwIHJhZGl1cyB0byBhYnNvbHV0ZSByYWRpdXMgaW4gbWV0ZXJzLCBlLmcuIDUgdG8gNSBtZXRlcnMnLFxuICAgIHJhZGl1c1JhbmdlOiAnUmFkaXVzIFJhbmdlJyxcbiAgICBjbHVzdGVyUmFkaXVzOiAnQ2x1c3RlciBSYWRpdXMgaW4gUGl4ZWxzJyxcbiAgICByYWRpdXNSYW5nZVBpeGVsczogJ1JhZGl1cyBSYW5nZSBpbiBwaXhlbHMnLFxuICAgIG9wYWNpdHk6ICdPcGFjaXR5JyxcbiAgICBjb3ZlcmFnZTogJ0NvdmVyYWdlJyxcbiAgICBvdXRsaW5lOiAnT3V0bGluZScsXG4gICAgY29sb3JSYW5nZTogJ0NvbG9yIHJhbmdlJyxcbiAgICBzdHJva2U6ICdTdHJva2UnLFxuICAgIHN0cm9rZUNvbG9yOiAnU3Ryb2tlIENvbG9yJyxcbiAgICBzdHJva2VDb2xvclJhbmdlOiAnU3Ryb2tlIENvbG9yIHJhbmdlJyxcbiAgICB0YXJnZXRDb2xvcjogJ1RhcmdldCBDb2xvcicsXG4gICAgY29sb3JBZ2dyZWdhdGlvbjogJ0NvbG9yIEFnZ3JlZ2F0aW9uJyxcbiAgICBoZWlnaHRBZ2dyZWdhdGlvbjogJ0hlaWdodCBBZ2dyZWdhdGlvbicsXG4gICAgcmVzb2x1dGlvblJhbmdlOiAnUmVzb2x1dGlvbiByYW5nZScsXG4gICAgc2l6ZVNjYWxlOiAnU2l6ZSBTY2FsZScsXG4gICAgd29ybGRVbml0U2l6ZTogJ1dvcmxkIFVuaXQgU2l6ZScsXG4gICAgZWxldmF0aW9uU2NhbGU6ICdFbGV2YXRpb24gU2NhbGUnLFxuICAgIGVuYWJsZUVsZXZhdGlvblpvb21GYWN0b3I6ICdVc2UgZWxldmF0aW9uIHpvb20gZmFjdG9yJyxcbiAgICBlbmFibGVFbGV2YXRpb25ab29tRmFjdG9yRGVzY3JpcHRpb246ICdBZGp1c3QgaGVpZ2h0L2VsZXZhdGlvbiBiYXNlZCBvbiBjdXJyZW50IHpvb20gZmFjdG9yJyxcbiAgICBlbmFibGVIZWlnaHRab29tRmFjdG9yOiAnVXNlIGhlaWdodCB6b29tIGZhY3RvcicsXG4gICAgaGVpZ2h0U2NhbGU6ICdIZWlnaHQgU2NhbGUnLFxuICAgIGNvdmVyYWdlUmFuZ2U6ICdDb3ZlcmFnZSBSYW5nZScsXG4gICAgaGlnaFByZWNpc2lvblJlbmRlcmluZzogJ0hpZ2ggUHJlY2lzaW9uIFJlbmRlcmluZycsXG4gICAgaGlnaFByZWNpc2lvblJlbmRlcmluZ0Rlc2NyaXB0aW9uOiAnSGlnaCBwcmVjaXNpb24gd2lsbCByZXN1bHQgaW4gc2xvd2VyIHBlcmZvcm1hbmNlJyxcbiAgICBoZWlnaHQ6ICdIZWlnaHQnLFxuICAgIGhlaWdodERlc2NyaXB0aW9uOiAnQ2xpY2sgYnV0dG9uIGF0IHRvcCByaWdodCBvZiB0aGUgbWFwIHRvIHN3aXRjaCB0byAzZCB2aWV3JyxcbiAgICBmaWxsOiAnRmlsbCcsXG4gICAgZW5hYmxlUG9seWdvbkhlaWdodDogJ0VuYWJsZSBQb2x5Z29uIEhlaWdodCcsXG4gICAgc2hvd1dpcmVmcmFtZTogJ1Nob3cgV2lyZWZyYW1lJyxcbiAgICB3ZWlnaHRJbnRlbnNpdHk6ICdXZWlnaHQgSW50ZW5zaXR5JyxcbiAgICB6b29tU2NhbGU6ICdab29tIFNjYWxlJyxcbiAgICBoZWlnaHRSYW5nZTogJ0hlaWdodCBSYW5nZScsXG4gICAgaGVpZ2h0TXVsdGlwbGllcjogJ0hlaWdodCBNdWx0aXBsaWVyJ1xuICB9LFxuICBsYXllck1hbmFnZXI6IHtcbiAgICBhZGREYXRhOiAnQWRkIERhdGEnLFxuICAgIGFkZExheWVyOiAnQWRkIExheWVyJyxcbiAgICBsYXllckJsZW5kaW5nOiAnTGF5ZXIgQmxlbmRpbmcnXG4gIH0sXG4gIG1hcE1hbmFnZXI6IHtcbiAgICBtYXBTdHlsZTogJ01hcCBzdHlsZScsXG4gICAgYWRkTWFwU3R5bGU6ICdBZGQgTWFwIFN0eWxlJyxcbiAgICAnM2RCdWlsZGluZ0NvbG9yJzogJzNEIEJ1aWxkaW5nIENvbG9yJ1xuICB9LFxuICBsYXllckNvbmZpZ3VyYXRpb246IHtcbiAgICBkZWZhdWx0RGVzY3JpcHRpb246ICdDYWxjdWxhdGUge3Byb3BlcnR5fSBiYXNlZCBvbiBzZWxlY3RlZCBmaWVsZCcsXG4gICAgaG93VG86ICdIb3cgdG8nXG4gIH0sXG4gIGZpbHRlck1hbmFnZXI6IHtcbiAgICBhZGRGaWx0ZXI6ICdBZGQgRmlsdGVyJ1xuICB9LFxuICBkYXRhc2V0VGl0bGU6IHtcbiAgICBzaG93RGF0YVRhYmxlOiAnU2hvdyBkYXRhIHRhYmxlJyxcbiAgICByZW1vdmVEYXRhc2V0OiAnUmVtb3ZlIGRhdGFzZXQnXG4gIH0sXG4gIGRhdGFzZXRJbmZvOiB7XG4gICAgcm93Q291bnQ6ICd7cm93Q291bnR9IHJvd3MnXG4gIH0sXG4gIHRvb2x0aXA6IHtcbiAgICBoaWRlTGF5ZXI6ICdoaWRlIGxheWVyJyxcbiAgICBzaG93TGF5ZXI6ICdzaG93IGxheWVyJyxcbiAgICBoaWRlRmVhdHVyZTogJ0hpZGUgRmVhdHVyZScsXG4gICAgc2hvd0ZlYXR1cmU6ICdTaG93IGZlYXR1cmUnLFxuICAgIGhpZGU6ICdoaWRlJyxcbiAgICBzaG93OiAnc2hvdycsXG4gICAgcmVtb3ZlTGF5ZXI6ICdSZW1vdmUgbGF5ZXInLFxuICAgIGR1cGxpY2F0ZUxheWVyOiAnRHVwbGljYXRlIGxheWVyJyxcbiAgICBsYXllclNldHRpbmdzOiAnTGF5ZXIgc2V0dGluZ3MnLFxuICAgIGNsb3NlUGFuZWw6ICdDbG9zZSBjdXJyZW50IHBhbmVsJyxcbiAgICBzd2l0Y2hUb0R1YWxWaWV3OiAnU3dpdGNoIHRvIGR1YWwgbWFwIHZpZXcnLFxuICAgIHNob3dMZWdlbmQ6ICdzaG93IGxlZ2VuZCcsXG4gICAgZGlzYWJsZTNETWFwOiAnRGlzYWJsZSAzRCBNYXAnLFxuICAgIERyYXdPbk1hcDogJ0RyYXcgb24gbWFwJyxcbiAgICBzZWxlY3RMb2NhbGU6ICdTZWxlY3QgbG9jYWxlJyxcbiAgICBoaWRlTGF5ZXJQYW5lbDogJ0hpZGUgbGF5ZXIgcGFuZWwnLFxuICAgIHNob3dMYXllclBhbmVsOiAnU2hvdyBsYXllciBwYW5lbCcsXG4gICAgbW92ZVRvVG9wOiAnTW92ZSB0byB0b3Agb2YgZGF0YSBsYXllcnMnLFxuICAgIHNlbGVjdEJhc2VNYXBTdHlsZTogJ1NlbGVjdCBCYXNlIE1hcCBTdHlsZScsXG4gICAgZGVsZXRlOiAnRGVsZXRlJyxcbiAgICB0aW1lUGxheWJhY2s6ICdUaW1lIFBsYXliYWNrJyxcbiAgICBjbG91ZFN0b3JhZ2U6ICdDbG91ZCBTdG9yYWdlJyxcbiAgICAnM0RNYXAnOiAnM0QgTWFwJyxcbiAgICBhbmltYXRpb25CeVdpbmRvdzogJ01vdmluZyBUaW1lIFdpbmRvdycsXG4gICAgYW5pbWF0aW9uQnlJbmNyZW1lbnRhbDogJ0luY3JlbWVudGFsIFRpbWUgV2luZG93JyxcbiAgICBzcGVlZDogJ3NwZWVkJyxcbiAgICBwbGF5OiAncGxheScsXG4gICAgcGF1c2U6ICdwYXVzZScsXG4gICAgcmVzZXQ6ICdyZXNldCdcbiAgfSxcbiAgdG9vbGJhcjoge1xuICAgIGV4cG9ydEltYWdlOiAnRXhwb3J0IEltYWdlJyxcbiAgICBleHBvcnREYXRhOiAnRXhwb3J0IERhdGEnLFxuICAgIGV4cG9ydE1hcDogJ0V4cG9ydCBNYXAnLFxuICAgIHNoYXJlTWFwVVJMOiAnU2hhcmUgTWFwIFVSTCcsXG4gICAgc2F2ZU1hcDogJ1NhdmUgTWFwJyxcbiAgICBzZWxlY3Q6ICdTZWxlY3QnLFxuICAgIHBvbHlnb246ICdQb2x5Z29uJyxcbiAgICByZWN0YW5nbGU6ICdSZWN0YW5nbGUnLFxuICAgIGhpZGU6ICdIaWRlJyxcbiAgICBzaG93OiAnU2hvdycsXG4gICAgLi4uTE9DQUxFU1xuICB9LFxuICBlZGl0b3I6IHtcbiAgICBmaWx0ZXJMYXllcjogJ0ZpbHRlciBMYXllcnMnLFxuICAgIGNvcHlHZW9tZXRyeTogJ0NvcHkgR2VvbWV0cnknXG4gIH0sXG5cbiAgbW9kYWw6IHtcbiAgICB0aXRsZToge1xuICAgICAgZGVsZXRlRGF0YXNldDogJ0RlbGV0ZSBEYXRhc2V0JyxcbiAgICAgIGFkZERhdGFUb01hcDogJ0FkZCBEYXRhIFRvIE1hcCcsXG4gICAgICBleHBvcnRJbWFnZTogJ0V4cG9ydCBJbWFnZScsXG4gICAgICBleHBvcnREYXRhOiAnRXhwb3J0IERhdGEnLFxuICAgICAgZXhwb3J0TWFwOiAnRXhwb3J0IE1hcCcsXG4gICAgICBhZGRDdXN0b21NYXBib3hTdHlsZTogJ0FkZCBDdXN0b20gTWFwIFN0eWxlJyxcbiAgICAgIHNhdmVNYXA6ICdTYXZlIE1hcCcsXG4gICAgICBzaGFyZVVSTDogJ1NoYXJlIFVSTCdcbiAgICB9LFxuICAgIGJ1dHRvbjoge1xuICAgICAgZGVsZXRlOiAnRGVsZXRlJyxcbiAgICAgIGRvd25sb2FkOiAnRG93bmxvYWQnLFxuICAgICAgZXhwb3J0OiAnRXhwb3J0JyxcbiAgICAgIGFkZFN0eWxlOiAnQWRkIFN0eWxlJyxcbiAgICAgIHNhdmU6ICdTYXZlJyxcbiAgICAgIGRlZmF1bHRDYW5jZWw6ICdDYW5jZWwnLFxuICAgICAgZGVmYXVsdENvbmZpcm06ICdDb25maXJtJ1xuICAgIH0sXG4gICAgZXhwb3J0SW1hZ2U6IHtcbiAgICAgIHJhdGlvVGl0bGU6ICdSYXRpbycsXG4gICAgICByYXRpb0Rlc2NyaXB0aW9uOiAnQ2hvb3NlIHRoZSByYXRpbyBmb3IgdmFyaW91cyB1c2FnZXMuJyxcbiAgICAgIHJhdGlvT3JpZ2luYWxTY3JlZW46ICdPcmlnaW5hbCBTY3JlZW4nLFxuICAgICAgcmF0aW9DdXN0b206ICdDdXN0b20nLFxuICAgICAgcmF0aW80XzM6ICc0OjMnLFxuICAgICAgcmF0aW8xNl85OiAnMTY6OScsXG4gICAgICByZXNvbHV0aW9uVGl0bGU6ICdSZXNvbHV0aW9uJyxcbiAgICAgIHJlc29sdXRpb25EZXNjcmlwdGlvbjogJ0hpZ2ggcmVzb2x1dGlvbiBpcyBiZXR0ZXIgZm9yIHByaW50cy4nLFxuICAgICAgbWFwTGVnZW5kVGl0bGU6ICdNYXAgTGVnZW5kJyxcbiAgICAgIG1hcExlZ2VuZEFkZDogJ0FkZCBsZWdlbmQgb24gbWFwJ1xuICAgIH0sXG4gICAgZXhwb3J0RGF0YToge1xuICAgICAgZGF0YXNldFRpdGxlOiAnRGF0YXNldCcsXG4gICAgICBkYXRhc2V0U3VidGl0bGU6ICdDaG9vc2UgdGhlIGRhdGFzZXRzIHlvdSB3YW50IHRvIGV4cG9ydCcsXG4gICAgICBhbGxEYXRhc2V0czogJ0FsbCcsXG4gICAgICBkYXRhVHlwZVRpdGxlOiAnRGF0YSBUeXBlJyxcbiAgICAgIGRhdGFUeXBlU3VidGl0bGU6ICdDaG9vc2UgdGhlIHR5cGUgb2YgZGF0YSB5b3Ugd2FudCB0byBleHBvcnQnLFxuICAgICAgZmlsdGVyRGF0YVRpdGxlOiAnRmlsdGVyIERhdGEnLFxuICAgICAgZmlsdGVyRGF0YVN1YnRpdGxlOiAnWW91IGNhbiBjaG9vc2UgZXhwb3J0aW5nIG9yaWdpbmFsIGRhdGEgb3IgZmlsdGVyZWQgZGF0YScsXG4gICAgICBmaWx0ZXJlZERhdGE6ICdGaWx0ZXJlZCBkYXRhJyxcbiAgICAgIHVuZmlsdGVyZWREYXRhOiAnVW5maWx0ZXJlZCBEYXRhJyxcbiAgICAgIGZpbGVDb3VudDogJ3tmaWxlQ291bnR9IEZpbGVzJyxcbiAgICAgIHJvd0NvdW50OiAne3Jvd0NvdW50fSBSb3dzJ1xuICAgIH0sXG4gICAgZGVsZXRlRGF0YToge1xuICAgICAgd2FybmluZzogJ3lvdSBhcmUgZ29pbmcgdG8gZGVsZXRlIHRoaXMgZGF0YXNldC4gSXQgd2lsbCBhZmZlY3Qge2xlbmd0aH0gbGF5ZXJzJ1xuICAgIH0sXG4gICAgYWRkU3R5bGU6IHtcbiAgICAgIHB1Ymxpc2hUaXRsZTpcbiAgICAgICAgJzIuIElmIGVudGVyZWQgbWFwYm94IHN0dWxlIHVybCBpbiBzdGVwLjEsIHB1Ymxpc2ggeW91ciBzdHlsZSBhdCBtYXBib3ggb3IgcHJvdmlkZSBhY2Nlc3MgdG9rZW4uIChPcHRpb25hbCknLFxuICAgICAgcHVibGlzaFN1YnRpdGxlMTogJ1lvdSBjYW4gY3JlYXRlIHlvdXIgb3duIG1hcCBzdHlsZSBhdCcsXG4gICAgICBwdWJsaXNoU3VidGl0bGUyOiAnYW5kJyxcbiAgICAgIHB1Ymxpc2hTdWJ0aXRsZTM6ICdwdWJsaXNoJyxcbiAgICAgIHB1Ymxpc2hTdWJ0aXRsZTQ6ICdpdC4nLFxuICAgICAgcHVibGlzaFN1YnRpdGxlNTogJ1RvIHVzZSBwcml2YXRlIHN0eWxlLCBwYXN0ZSB5b3VyJyxcbiAgICAgIHB1Ymxpc2hTdWJ0aXRsZTY6ICdhY2Nlc3MgdG9rZW4nLFxuICAgICAgcHVibGlzaFN1YnRpdGxlNzpcbiAgICAgICAgJ2hlcmUuICprZXBsZXIuZ2wgaXMgYSBjbGllbnQtc2lkZSBhcHBsaWNhdGlvbiwgZGF0YSBzdGF5cyBpbiB5b3VyIGJyb3dzZXIuLicsXG4gICAgICBleGFtcGxlVG9rZW46ICdlLmcuIHBrLmFiY2RlZmcueHh4eHh4JyxcbiAgICAgIHBhc3RlVGl0bGU6ICcxLiBQYXN0ZSBzdHlsZSB1cmwnLFxuICAgICAgcGFzdGVTdWJ0aXRsZTA6ICdTdHlsZSB1cmwgY2FuIGJlIGEgbWFwYm94JyxcbiAgICAgIHBhc3RlU3VidGl0bGUxOiAnV2hhdCBpcyBhJyxcbiAgICAgIHBhc3RlU3VidGl0bGUyOiAnc3R5bGUgVVJMJyxcbiAgICAgIHBhc3RlU3VidGl0bGUzOiAnb3IgYSBzdHlsZS5qc29uIHVzaW5nIHRoZScsXG4gICAgICBwYXN0ZVN1YnRpdGxlNDogJ01hcGJveCBHTCBTdHlsZSBTcGVjJyxcbiAgICAgIG5hbWluZ1RpdGxlOiAnMy4gTmFtZSB5b3VyIHN0eWxlJ1xuICAgIH0sXG4gICAgc2hhcmVNYXA6IHtcbiAgICAgIHNoYXJlVXJpVGl0bGU6ICdTaGFyZSBNYXAgVXJsJyxcbiAgICAgIHNoYXJlVXJpU3VidGl0bGU6ICdHZW5lcmF0ZSBhIG1hcCB1cmwgdG8gc2hhcmUgd2l0aCBvdGhlcnMnLFxuICAgICAgY2xvdWRUaXRsZTogJ0Nsb3VkIHN0b3JhZ2UnLFxuICAgICAgY2xvdWRTdWJ0aXRsZTogJ0xvZ2luIGFuZCB1cGxvYWQgbWFwIGRhdGEgdG8geW91ciBwZXJzb25hbCBjbG91ZCBzdG9yYWdlJyxcbiAgICAgIHNoYXJlRGlzY2xhaW1lcjpcbiAgICAgICAgJ2tlcGxlci5nbCB3aWxsIHNhdmUgeW91ciBtYXAgZGF0YSB0byB5b3VyIHBlcnNvbmFsIGNsb3VkIHN0b3JhZ2UsIG9ubHkgcGVvcGxlIHdpdGggdGhlIFVSTCBjYW4gYWNjZXNzIHlvdXIgbWFwIGFuZCBkYXRhLiAnICtcbiAgICAgICAgJ1lvdSBjYW4gZWRpdC9kZWxldGUgdGhlIGRhdGEgZmlsZSBpbiB5b3VyIGNsb3VkIGFjY291bnQgYW55dGltZS4nLFxuICAgICAgZ290b1BhZ2U6ICdHbyB0byB5b3VyIEtlcGxlci5nbCB7Y3VycmVudFByb3ZpZGVyfSBwYWdlJ1xuICAgIH0sXG4gICAgc3RhdHVzUGFuZWw6IHtcbiAgICAgIG1hcFVwbG9hZGluZzogJ01hcCBVcGxvYWRpbmcnLFxuICAgICAgZXJyb3I6ICdFcnJvcidcbiAgICB9LFxuICAgIHNhdmVNYXA6IHtcbiAgICAgIHRpdGxlOiAnQ2xvdWQgc3RvcmFnZScsXG4gICAgICBzdWJ0aXRsZTogJ0xvZ2luIHRvIHNhdmUgbWFwIHRvIHlvdXIgcGVyc29uYWwgY2xvdWQgc3RvcmFnZSdcbiAgICB9LFxuICAgIGV4cG9ydE1hcDoge1xuICAgICAgZm9ybWF0VGl0bGU6ICdNYXAgZm9ybWF0JyxcbiAgICAgIGZvcm1hdFN1YnRpdGxlOiAnQ2hvb3NlIHRoZSBmb3JtYXQgdG8gZXhwb3J0IHlvdXIgbWFwIHRvJyxcbiAgICAgIGh0bWw6IHtcbiAgICAgICAgc2VsZWN0aW9uOiAnRXhwb3J0IHlvdXIgbWFwIGludG8gYW4gaW50ZXJhY3RpdmUgaHRtbCBmaWxlLicsXG4gICAgICAgIHRva2VuVGl0bGU6ICdNYXBib3ggYWNjZXNzIHRva2VuJyxcbiAgICAgICAgdG9rZW5TdWJ0aXRsZTogJ1VzZSB5b3VyIG93biBNYXBib3ggYWNjZXNzIHRva2VuIGluIHRoZSBodG1sIChvcHRpb25hbCknLFxuICAgICAgICB0b2tlblBsYWNlaG9sZGVyOiAnUGFzdGUgeW91ciBNYXBib3ggYWNjZXNzIHRva2VuJyxcbiAgICAgICAgdG9rZW5NaXN1c2VXYXJuaW5nOlxuICAgICAgICAgICcqIElmIHlvdSBkbyBub3QgcHJvdmlkZSB5b3VyIG93biB0b2tlbiwgdGhlIG1hcCBtYXkgZmFpbCB0byBkaXNwbGF5IGF0IGFueSB0aW1lIHdoZW4gd2UgcmVwbGFjZSBvdXJzIHRvIGF2b2lkIG1pc3VzZS4gJyxcbiAgICAgICAgdG9rZW5EaXNjbGFpbWVyOiAnWW91IGNhbiBjaGFuZ2UgdGhlIE1hcGJveCB0b2tlbiBsYXRlciB1c2luZyB0aGUgZm9sbG93aW5nIGluc3RydWN0aW9uczogJyxcbiAgICAgICAgdG9rZW5VcGRhdGU6ICdIb3cgdG8gdXBkYXRlIGFuIGV4aXN0aW5nIG1hcCB0b2tlbi4nLFxuICAgICAgICBtb2RlVGl0bGU6ICdNYXAgTW9kZScsXG4gICAgICAgIG1vZGVTdWJ0aXRsZTE6ICdTZWxlY3QgdGhlIGFwcCBtb2RlLiBNb3JlICcsXG4gICAgICAgIG1vZGVTdWJ0aXRsZTI6ICdpbmZvJyxcbiAgICAgICAgbW9kZURlc2NyaXB0aW9uOiAnQWxsb3cgdXNlcnMgdG8ge21vZGV9IHRoZSBtYXAnLFxuICAgICAgICByZWFkOiAncmVhZCcsXG4gICAgICAgIGVkaXQ6ICdlZGl0J1xuICAgICAgfSxcbiAgICAgIGpzb246IHtcbiAgICAgICAgY29uZmlnVGl0bGU6ICdNYXAgQ29uZmlnJyxcbiAgICAgICAgY29uZmlnRGlzY2xhaW1lcjpcbiAgICAgICAgICAnTWFwIGNvbmZpZyB3aWxsIGJlIGluY2x1ZGVkIGluIHRoZSBKc29uIGZpbGUuIElmIHlvdSBhcmUgdXNpbmcga2VwbGVyLmdsIGluIHlvdXIgb3duIGFwcC4gWW91IGNhbiBjb3B5IHRoaXMgY29uZmlnIGFuZCBwYXNzIGl0IHRvICcsXG4gICAgICAgIHNlbGVjdGlvbjpcbiAgICAgICAgICAnRXhwb3J0IGN1cnJlbnQgbWFwIGRhdGEgYW5kIGNvbmZpZyBpbnRvIGEgc2luZ2xlIEpzb24gZmlsZS4gWW91IGNhbiBsYXRlciBvcGVuIHRoZSBzYW1lIG1hcCBieSB1cGxvYWRpbmcgdGhpcyBmaWxlIHRvIGtlcGxlci5nbC4nLFxuICAgICAgICBkaXNjbGFpbWVyOlxuICAgICAgICAgICcqIE1hcCBjb25maWcgaXMgY291cGxlZCB3aXRoIGxvYWRlZCBkYXRhc2V0cy4g4oCYZGF0YUlk4oCZIGlzIHVzZWQgdG8gYmluZCBsYXllcnMsIGZpbHRlcnMsIGFuZCB0b29sdGlwcyB0byBhIHNwZWNpZmljIGRhdGFzZXQuICcgK1xuICAgICAgICAgICdXaGVuIHBhc3NpbmcgdGhpcyBjb25maWcgdG8gYWRkRGF0YVRvTWFwLCBtYWtlIHN1cmUgdGhlIGRhdGFzZXQgaWQgbWF0Y2hlcyB0aGUgZGF0YUlkL3MgaW4gdGhpcyBjb25maWcuJ1xuICAgICAgfVxuICAgIH0sXG4gICAgbG9hZGluZ0RpYWxvZzoge1xuICAgICAgbG9hZGluZzogJ0xvYWRpbmcuLi4nXG4gICAgfSxcbiAgICBsb2FkRGF0YToge1xuICAgICAgdXBsb2FkOiAnTG9hZCBGaWxlcycsXG4gICAgICBzdG9yYWdlOiAnTG9hZCBmcm9tIFN0b3JhZ2UnXG4gICAgfSxcbiAgICB0cmlwSW5mbzoge1xuICAgICAgdGl0bGU6ICdIb3cgdG8gZW5hYmxlIHRyaXAgYW5pbWF0aW9uJyxcbiAgICAgIGRlc2NyaXB0aW9uMTpcbiAgICAgICAgJ0luIG9yZGVyIHRvIGFuaW1hdGUgdGhlIHBhdGgsIHRoZSBnZW9KU09OIGRhdGEgbmVlZHMgdG8gY29udGFpbiBgTGluZVN0cmluZ2AgaW4gaXRzIGZlYXR1cmUgZ2VvbWV0cnksIGFuZCB0aGUgY29vcmRpbmF0ZXMgaW4gdGhlIExpbmVTdHJpbmcgbmVlZCB0byBoYXZlIDQgZWxlbWVudHMgaW4gdGhlIGZvcm1hdHMgb2YnLFxuICAgICAgY29kZTogJyBbbG9uZ2l0dWRlLCBsYXRpdHVkZSwgYWx0aXR1ZGUsIHRpbWVzdGFtcF0gJyxcbiAgICAgIGRlc2NyaXB0aW9uMjpcbiAgICAgICAgJ3dpdGggdGhlIGxhc3QgZWxlbWVudCBiZWluZyBhIHRpbWVzdGFtcC4gVmFsaWQgdGltZXN0YW1wIGZvcm1hdHMgaW5jbHVkZSB1bml4IGluIHNlY29uZHMgc3VjaCBhcyBgMTU2NDE4NDM2M2Agb3IgaW4gbWlsbGlzZWNvbmRzIHN1Y2ggYXMgYDE1NjQxODQzNjMwMDBgLicsXG4gICAgICBleGFtcGxlOiAnRXhhbXBsZTonXG4gICAgfSxcbiAgICBpY29uSW5mbzoge1xuICAgICAgdGl0bGU6ICdIb3cgdG8gZHJhdyBpY29ucycsXG4gICAgICBkZXNjcmlwdGlvbjE6XG4gICAgICAgICdJbiB5b3VyIGNzdiwgY3JlYXRlIGEgY29sdW1uLCBwdXQgdGhlIG5hbWUgb2YgdGhlIGljb24geW91IHdhbnQgdG8gZHJhdyBpbiBpdC4gWW91IGNhbiBsZWF2ZSB0aGUgY2VsbCBlbXB0eSBpZiB5b3UgZG8gbm90IHdhbnQgdGhlIGljb24gdG8gc2hvdyBmb3Igc29tZSBwb2ludHMuIFdoZW4gdGhlIGNvbHVtbiBpcyBuYW1lZCcsXG4gICAgICBjb2RlOiAnaWNvbicsXG4gICAgICBkZXNjcmlwdGlvbjI6ICcga2VwbGVyLmdsIHdpbGwgYXV0b21hdGljYWxseSBjcmVhdGUgYSBpY29uIGxheWVyIGZvciB5b3UuJyxcbiAgICAgIGV4YW1wbGU6ICdFeGFtcGxlOicsXG4gICAgICBpY29uczogJ0ljb25zJ1xuICAgIH0sXG4gICAgc3RvcmFnZU1hcFZpZXdlcjoge1xuICAgICAgbGFzdE1vZGlmaWVkOiAnTGFzdCBtb2RpZmllZCB7bGFzdFVwZGF0ZWR9IGFnbycsXG4gICAgICBiYWNrOiAnQmFjaydcbiAgICB9LFxuICAgIG92ZXJ3cml0ZU1hcDoge1xuICAgICAgdGl0bGU6ICdTYXZpbmcgbWFwLi4uJyxcbiAgICAgIGFscmVhZHlFeGlzdHM6ICdhbHJlYWR5IGV4aXN0cyBpbiB5b3VyIHttYXBTYXZlZH0uIFdvdWxkIHlvdSBsaWtlIHRvIG92ZXJ3cml0ZSBpdD8nXG4gICAgfSxcbiAgICBsb2FkU3RvcmFnZU1hcDoge1xuICAgICAgYmFjazogJ0JhY2snLFxuICAgICAgZ29Ub1BhZ2U6ICdHbyB0byB5b3VyIEtlcGxlci5nbCB7ZGlzcGxheU5hbWV9IHBhZ2UnLFxuICAgICAgc3RvcmFnZU1hcHM6ICdTdG9yYWdlIC8gTWFwcycsXG4gICAgICBub1NhdmVkTWFwczogJ05vIHNhdmVkIG1hcHMgeWV0J1xuICAgIH1cbiAgfSxcbiAgaGVhZGVyOiB7XG4gICAgdmlzaWJsZUxheWVyczogJ1Zpc2libGUgbGF5ZXJzJyxcbiAgICBsYXllckxlZ2VuZDogJ0xlZ2VuZCdcbiAgfSxcbiAgaW50ZXJhY3Rpb25zOiB7XG4gICAgdG9vbHRpcDogJ1Rvb2x0aXAnLFxuICAgIGJydXNoOiAnQnJ1c2gnLFxuICAgIGNvb3JkaW5hdGU6ICdDb29yZGluYXRlcycsXG4gICAgZ2VvY29kZXI6ICdHZW9jb2RlcidcbiAgfSxcbiAgbGF5ZXJCbGVuZGluZzoge1xuICAgIHRpdGxlOiAnTGF5ZXIgQmxlbmRpbmcnLFxuICAgIGFkZGl0aXZlOiAnYWRkaXRpdmUnLFxuICAgIG5vcm1hbDogJ25vcm1hbCcsXG4gICAgc3VidHJhY3RpdmU6ICdzdWJ0cmFjdGl2ZSdcbiAgfSxcbiAgY29sdW1uczoge1xuICAgIHRpdGxlOiAnQ29sdW1ucycsXG4gICAgbGF0OiAnbGF0JyxcbiAgICBsbmc6ICdsb24nLFxuICAgIGFsdGl0dWRlOiAnYWx0aXR1ZGUnLFxuICAgIGljb246ICdpY29uJyxcbiAgICBnZW9qc29uOiAnZ2VvanNvbicsXG4gICAgdG9rZW46ICd0b2tlbicsXG4gICAgYXJjOiB7XG4gICAgICBsYXQwOiAnc291cmNlIGxhdCcsXG4gICAgICBsbmcwOiAnc291cmNlIGxuZycsXG4gICAgICBsYXQxOiAndGFyZ2V0IGxhdCcsXG4gICAgICBsbmcxOiAndGFyZ2V0IGxuZydcbiAgICB9LFxuICAgIGxpbmU6IHtcbiAgICAgIGFsdDA6ICdzb3VyY2UgYWx0aXR1ZGUnLFxuICAgICAgYWx0MTogJ3RhcmdldCBhbHRpdHVkZSdcbiAgICB9LFxuICAgIGdyaWQ6IHtcbiAgICAgIHdvcmxkVW5pdFNpemU6ICdHcmlkIFNpemUgKGttKSdcbiAgICB9LFxuICAgIGhleGFnb246IHtcbiAgICAgIHdvcmxkVW5pdFNpemU6ICdIZXhhZ29uIFJhZGl1cyAoa20pJ1xuICAgIH0sXG4gICAgaGV4X2lkOiAnaGV4IGlkJ1xuICB9LFxuICBjb2xvcjoge1xuICAgIGN1c3RvbVBhbGV0dGU6ICdDdXN0b20gUGFsZXR0ZScsXG4gICAgc3RlcHM6ICdzdGVwcycsXG4gICAgdHlwZTogJ3R5cGUnLFxuICAgIHJldmVyc2VkOiAncmV2ZXJzZWQnXG4gIH0sXG4gIHNjYWxlOiB7XG4gICAgY29sb3JTY2FsZTogJ0NvbG9yIFNjYWxlJyxcbiAgICBzaXplU2NhbGU6ICdTaXplIFNjYWxlJyxcbiAgICBzdHJva2VTY2FsZTogJ1N0cm9rZSBTY2FsZScsXG4gICAgc2NhbGU6ICdTY2FsZSdcbiAgfSxcbiAgZmlsZVVwbG9hZGVyOiB7XG4gICAgbWVzc2FnZTogJ0RyYWcgJiBEcm9wIFlvdXIgRmlsZShzKSBIZXJlJyxcbiAgICBjaHJvbWVNZXNzYWdlOlxuICAgICAgJypDaHJvbWUgdXNlcjogTGltaXQgZmlsZSBzaXplIHRvIDI1MG1iLCBpZiBuZWVkIHRvIHVwbG9hZCBsYXJnZXIgZmlsZSwgdHJ5IFNhZmFyaScsXG4gICAgZGlzY2xhaW1lcjpcbiAgICAgICcqa2VwbGVyLmdsIGlzIGEgY2xpZW50LXNpZGUgYXBwbGljYXRpb24gd2l0aCBubyBzZXJ2ZXIgYmFja2VuZC4gRGF0YSBsaXZlcyBvbmx5IG9uIHlvdXIgbWFjaGluZS9icm93c2VyLiAnICtcbiAgICAgICdObyBpbmZvcm1hdGlvbiBvciBtYXAgZGF0YSBpcyBzZW50IHRvIGFueSBzZXJ2ZXIuJyxcbiAgICBjb25maWdVcGxvYWRNZXNzYWdlOlxuICAgICAgJ1VwbG9hZCB7ZmlsZUZvcm1hdE5hbWVzfSBvciBzYXZlZCBtYXAgKipKc29uKiouIFJlYWQgbW9yZSBhYm91dCBbKipzdXBwb3J0ZWQgZmlsZSBmb3JtYXRzKipdJyxcbiAgICBicm93c2VGaWxlczogJ2Jyb3dzZSB5b3VyIGZpbGVzJyxcbiAgICB1cGxvYWRpbmc6ICdVcGxvYWRpbmcnLFxuICAgIGZpbGVOb3RTdXBwb3J0ZWQ6ICdGaWxlIHtlcnJvckZpbGVzfSBpcyBub3Qgc3VwcG9ydGVkLicsXG4gICAgb3I6ICdvcidcbiAgfSxcbiAgZ2VvY29kZXI6IHtcbiAgICB0aXRsZTogJ0VudGVyIGFuIGFkZHJlc3Mgb3IgY29vcmRpbmF0ZXMsIGV4IDM3Ljc5LC0xMjIuNDAnXG4gIH0sXG4gIGZpZWxkU2VsZWN0b3I6IHtcbiAgICBjbGVhckFsbDogJ0NsZWFyIEFsbCcsXG4gICAgZm9ybWF0dGluZzogJ0Zvcm1hdHRpbmcnXG4gIH0sXG4gIGNvbXBhcmU6IHtcbiAgICBtb2RlTGFiZWw6ICdDb21wYXJpc29uIE1vZGUnLFxuICAgIHR5cGVMYWJlbDogJ0NvbXBhcmlzb24gVHlwZScsXG4gICAgdHlwZXM6IHtcbiAgICAgIGFic29sdXRlOiAnQWJzb2x1dGUnLFxuICAgICAgcmVsYXRpdmU6ICdSZWxhdGl2ZSdcbiAgICB9XG4gIH0sXG4gIG1hcFBvcG92ZXI6IHtcbiAgICBwcmltYXJ5OiAnUHJpbWFyeSdcbiAgfSxcbiAgZGVuc2l0eTogJ2RlbnNpdHknLFxuICAnQnVnIFJlcG9ydCc6ICdCdWcgUmVwb3J0JyxcbiAgJ1VzZXIgR3VpZGUnOiAnVXNlciBHdWlkZScsXG4gIFNhdmU6ICdTYXZlJyxcbiAgU2hhcmU6ICdTaGFyZSdcbn07XG4iXX0=
|
|
469
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sb2NhbGl6YXRpb24vZW4uanMiXSwibmFtZXMiOlsicHJvcGVydHkiLCJ3ZWlnaHQiLCJsYWJlbCIsImZpbGxDb2xvciIsImNvbG9yIiwiY292ZXJhZ2UiLCJzdHJva2VDb2xvciIsInJhZGl1cyIsIm91dGxpbmUiLCJzdHJva2UiLCJkZW5zaXR5IiwiaGVpZ2h0Iiwic3VtIiwicG9pbnRDb3VudCIsInBsYWNlaG9sZGVyIiwic2VhcmNoIiwic2VsZWN0RmllbGQiLCJ5QXhpcyIsInNlbGVjdFR5cGUiLCJzZWxlY3RWYWx1ZSIsImVudGVyVmFsdWUiLCJlbXB0eSIsIm1pc2MiLCJieSIsInZhbHVlc0luIiwidmFsdWVFcXVhbHMiLCJkYXRhU291cmNlIiwiYnJ1c2hSYWRpdXMiLCJtYXBMYXllcnMiLCJ0aXRsZSIsInJvYWQiLCJib3JkZXIiLCJidWlsZGluZyIsIndhdGVyIiwibGFuZCIsInBhbmVsIiwidGV4dCIsImxhYmVsV2l0aElkIiwiZm9udFNpemUiLCJmb250Q29sb3IiLCJ0ZXh0QW5jaG9yIiwiYWxpZ25tZW50IiwiYWRkTW9yZUxhYmVsIiwic2lkZWJhciIsInBhbmVscyIsImxheWVyIiwiZmlsdGVyIiwiaW50ZXJhY3Rpb24iLCJiYXNlbWFwIiwicmVxdWlyZWQiLCJwcm9wZXJ0eUJhc2VkT24iLCJzdHJva2VXaWR0aCIsImJhc2ljIiwidHJhaWxMZW5ndGgiLCJ0cmFpbExlbmd0aERlc2NyaXB0aW9uIiwibmV3TGF5ZXIiLCJlbGV2YXRpb25CeURlc2NyaXB0aW9uIiwiY29sb3JCeURlc2NyaXB0aW9uIiwiYWdncmVnYXRlQnkiLCJ0eXBlIiwicG9pbnQiLCJhcmMiLCJsaW5lIiwiZ3JpZCIsImhleGJpbiIsInBvbHlnb24iLCJnZW9qc29uIiwiY2x1c3RlciIsImljb24iLCJoZWF0bWFwIiwiaGV4YWdvbiIsImhleGFnb25pZCIsInRyaXAiLCJzMiIsImxheWVyVmlzQ29uZmlncyIsImFuZ2xlIiwic3Ryb2tlV2lkdGhSYW5nZSIsImZpeGVkUmFkaXVzIiwiZml4ZWRSYWRpdXNEZXNjcmlwdGlvbiIsInJhZGl1c1JhbmdlIiwiY2x1c3RlclJhZGl1cyIsInJhZGl1c1JhbmdlUGl4ZWxzIiwib3BhY2l0eSIsImNvbG9yUmFuZ2UiLCJzdHJva2VDb2xvclJhbmdlIiwidGFyZ2V0Q29sb3IiLCJjb2xvckFnZ3JlZ2F0aW9uIiwiaGVpZ2h0QWdncmVnYXRpb24iLCJyZXNvbHV0aW9uUmFuZ2UiLCJzaXplU2NhbGUiLCJ3b3JsZFVuaXRTaXplIiwiZWxldmF0aW9uU2NhbGUiLCJlbmFibGVFbGV2YXRpb25ab29tRmFjdG9yIiwiZW5hYmxlRWxldmF0aW9uWm9vbUZhY3RvckRlc2NyaXB0aW9uIiwiZW5hYmxlSGVpZ2h0Wm9vbUZhY3RvciIsImhlaWdodFNjYWxlIiwiY292ZXJhZ2VSYW5nZSIsImhpZ2hQcmVjaXNpb25SZW5kZXJpbmciLCJoaWdoUHJlY2lzaW9uUmVuZGVyaW5nRGVzY3JpcHRpb24iLCJoZWlnaHREZXNjcmlwdGlvbiIsImZpbGwiLCJlbmFibGVQb2x5Z29uSGVpZ2h0Iiwic2hvd1dpcmVmcmFtZSIsIndlaWdodEludGVuc2l0eSIsInpvb21TY2FsZSIsImhlaWdodFJhbmdlIiwiaGVpZ2h0TXVsdGlwbGllciIsImxheWVyTWFuYWdlciIsImFkZERhdGEiLCJhZGRMYXllciIsImxheWVyQmxlbmRpbmciLCJtYXBNYW5hZ2VyIiwibWFwU3R5bGUiLCJhZGRNYXBTdHlsZSIsImxheWVyQ29uZmlndXJhdGlvbiIsImRlZmF1bHREZXNjcmlwdGlvbiIsImhvd1RvIiwiZmlsdGVyTWFuYWdlciIsImFkZEZpbHRlciIsImRhdGFzZXRUaXRsZSIsInNob3dEYXRhVGFibGUiLCJyZW1vdmVEYXRhc2V0IiwiZGF0YXNldEluZm8iLCJyb3dDb3VudCIsInRvb2x0aXAiLCJoaWRlTGF5ZXIiLCJzaG93TGF5ZXIiLCJoaWRlRmVhdHVyZSIsInNob3dGZWF0dXJlIiwiaGlkZSIsInNob3ciLCJyZW1vdmVMYXllciIsImR1cGxpY2F0ZUxheWVyIiwibGF5ZXJTZXR0aW5ncyIsImNsb3NlUGFuZWwiLCJzd2l0Y2hUb0R1YWxWaWV3Iiwic2hvd0xlZ2VuZCIsImRpc2FibGUzRE1hcCIsIkRyYXdPbk1hcCIsInNlbGVjdExvY2FsZSIsImhpZGVMYXllclBhbmVsIiwic2hvd0xheWVyUGFuZWwiLCJtb3ZlVG9Ub3AiLCJzZWxlY3RCYXNlTWFwU3R5bGUiLCJ0aW1lUGxheWJhY2siLCJjbG91ZFN0b3JhZ2UiLCJhbmltYXRpb25CeVdpbmRvdyIsImFuaW1hdGlvbkJ5SW5jcmVtZW50YWwiLCJzcGVlZCIsInBsYXkiLCJwYXVzZSIsInJlc2V0IiwidG9vbGJhciIsImV4cG9ydEltYWdlIiwiZXhwb3J0RGF0YSIsImV4cG9ydE1hcCIsInNoYXJlTWFwVVJMIiwic2F2ZU1hcCIsInNlbGVjdCIsInJlY3RhbmdsZSIsIkxPQ0FMRVMiLCJlZGl0b3IiLCJmaWx0ZXJMYXllciIsImNvcHlHZW9tZXRyeSIsIm1vZGFsIiwiZGVsZXRlRGF0YXNldCIsImFkZERhdGFUb01hcCIsImFkZEN1c3RvbU1hcGJveFN0eWxlIiwic2hhcmVVUkwiLCJidXR0b24iLCJkb3dubG9hZCIsImFkZFN0eWxlIiwic2F2ZSIsImRlZmF1bHRDYW5jZWwiLCJkZWZhdWx0Q29uZmlybSIsInJhdGlvVGl0bGUiLCJyYXRpb0Rlc2NyaXB0aW9uIiwicmF0aW9PcmlnaW5hbFNjcmVlbiIsInJhdGlvQ3VzdG9tIiwicmF0aW80XzMiLCJyYXRpbzE2XzkiLCJyZXNvbHV0aW9uVGl0bGUiLCJyZXNvbHV0aW9uRGVzY3JpcHRpb24iLCJtYXBMZWdlbmRUaXRsZSIsIm1hcExlZ2VuZEFkZCIsImRhdGFzZXRTdWJ0aXRsZSIsImFsbERhdGFzZXRzIiwiZGF0YVR5cGVUaXRsZSIsImRhdGFUeXBlU3VidGl0bGUiLCJmaWx0ZXJEYXRhVGl0bGUiLCJmaWx0ZXJEYXRhU3VidGl0bGUiLCJmaWx0ZXJlZERhdGEiLCJ1bmZpbHRlcmVkRGF0YSIsImZpbGVDb3VudCIsImRlbGV0ZURhdGEiLCJ3YXJuaW5nIiwicHVibGlzaFRpdGxlIiwicHVibGlzaFN1YnRpdGxlMSIsInB1Ymxpc2hTdWJ0aXRsZTIiLCJwdWJsaXNoU3VidGl0bGUzIiwicHVibGlzaFN1YnRpdGxlNCIsInB1Ymxpc2hTdWJ0aXRsZTUiLCJwdWJsaXNoU3VidGl0bGU2IiwicHVibGlzaFN1YnRpdGxlNyIsImV4YW1wbGVUb2tlbiIsInBhc3RlVGl0bGUiLCJwYXN0ZVN1YnRpdGxlMCIsInBhc3RlU3VidGl0bGUxIiwicGFzdGVTdWJ0aXRsZTIiLCJwYXN0ZVN1YnRpdGxlMyIsInBhc3RlU3VidGl0bGU0IiwibmFtaW5nVGl0bGUiLCJzaGFyZU1hcCIsInNoYXJlVXJpVGl0bGUiLCJzaGFyZVVyaVN1YnRpdGxlIiwiY2xvdWRUaXRsZSIsImNsb3VkU3VidGl0bGUiLCJzaGFyZURpc2NsYWltZXIiLCJnb3RvUGFnZSIsInN0YXR1c1BhbmVsIiwibWFwVXBsb2FkaW5nIiwiZXJyb3IiLCJzdWJ0aXRsZSIsImZvcm1hdFRpdGxlIiwiZm9ybWF0U3VidGl0bGUiLCJodG1sIiwic2VsZWN0aW9uIiwidG9rZW5UaXRsZSIsInRva2VuU3VidGl0bGUiLCJ0b2tlblBsYWNlaG9sZGVyIiwidG9rZW5NaXN1c2VXYXJuaW5nIiwidG9rZW5EaXNjbGFpbWVyIiwidG9rZW5VcGRhdGUiLCJtb2RlVGl0bGUiLCJtb2RlU3VidGl0bGUxIiwibW9kZVN1YnRpdGxlMiIsIm1vZGVEZXNjcmlwdGlvbiIsInJlYWQiLCJlZGl0IiwianNvbiIsImNvbmZpZ1RpdGxlIiwiY29uZmlnRGlzY2xhaW1lciIsImRpc2NsYWltZXIiLCJsb2FkaW5nRGlhbG9nIiwibG9hZGluZyIsImxvYWREYXRhIiwidXBsb2FkIiwic3RvcmFnZSIsInRyaXBJbmZvIiwiZGVzY3JpcHRpb24xIiwiY29kZSIsImRlc2NyaXB0aW9uMiIsImV4YW1wbGUiLCJpY29uSW5mbyIsImljb25zIiwic3RvcmFnZU1hcFZpZXdlciIsImxhc3RNb2RpZmllZCIsImJhY2siLCJvdmVyd3JpdGVNYXAiLCJhbHJlYWR5RXhpc3RzIiwibG9hZFN0b3JhZ2VNYXAiLCJnb1RvUGFnZSIsInN0b3JhZ2VNYXBzIiwibm9TYXZlZE1hcHMiLCJoZWFkZXIiLCJ2aXNpYmxlTGF5ZXJzIiwibGF5ZXJMZWdlbmQiLCJpbnRlcmFjdGlvbnMiLCJicnVzaCIsImNvb3JkaW5hdGUiLCJnZW9jb2RlciIsImFkZGl0aXZlIiwibm9ybWFsIiwic3VidHJhY3RpdmUiLCJjb2x1bW5zIiwibGF0IiwibG5nIiwiYWx0aXR1ZGUiLCJ0b2tlbiIsImxhdDAiLCJsbmcwIiwibGF0MSIsImxuZzEiLCJhbHQwIiwiYWx0MSIsImhleF9pZCIsImN1c3RvbVBhbGV0dGUiLCJzdGVwcyIsInJldmVyc2VkIiwiYXBwbHkiLCJjYW5jZWwiLCJhZGRTdGVwIiwic2NhbGUiLCJjb2xvclNjYWxlIiwic3Ryb2tlU2NhbGUiLCJmaWxlVXBsb2FkZXIiLCJtZXNzYWdlIiwiY2hyb21lTWVzc2FnZSIsImNvbmZpZ1VwbG9hZE1lc3NhZ2UiLCJicm93c2VGaWxlcyIsInVwbG9hZGluZyIsImZpbGVOb3RTdXBwb3J0ZWQiLCJvciIsImZpZWxkU2VsZWN0b3IiLCJjbGVhckFsbCIsImZvcm1hdHRpbmciLCJjb21wYXJlIiwibW9kZUxhYmVsIiwidHlwZUxhYmVsIiwidHlwZXMiLCJhYnNvbHV0ZSIsInJlbGF0aXZlIiwibWFwUG9wb3ZlciIsInByaW1hcnkiLCJTYXZlIiwiU2hhcmUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBb0JBOzs7Ozs7ZUFFZTtBQUNiQSxFQUFBQSxRQUFRLEVBQUU7QUFDUkMsSUFBQUEsTUFBTSxFQUFFLFFBREE7QUFFUkMsSUFBQUEsS0FBSyxFQUFFLE9BRkM7QUFHUkMsSUFBQUEsU0FBUyxFQUFFLFlBSEg7QUFJUkMsSUFBQUEsS0FBSyxFQUFFLE9BSkM7QUFLUkMsSUFBQUEsUUFBUSxFQUFFLFVBTEY7QUFNUkMsSUFBQUEsV0FBVyxFQUFFLGNBTkw7QUFPUkMsSUFBQUEsTUFBTSxFQUFFLFFBUEE7QUFRUkMs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LFlBRk47QUFHTDZNLElBQUFBLFdBQVcsRUFBRSxjQUhSO0FBSUxGLElBQUFBLEtBQUssRUFBRTtBQUpGLEdBeGFNO0FBOGFiRyxFQUFBQSxZQUFZLEVBQUU7QUFDWkMsSUFBQUEsT0FBTyxFQUFFLCtCQURHO0FBRVpDLElBQUFBLGFBQWEsRUFDWCxtRkFIVTtBQUladkQsSUFBQUEsVUFBVSxFQUNSLDhHQUNBLG1EQU5VO0FBT1p3RCxJQUFBQSxtQkFBbUIsRUFDakIsOEZBUlU7QUFTWkMsSUFBQUEsV0FBVyxFQUFFLG1CQVREO0FBVVpDLElBQUFBLFNBQVMsRUFBRSxXQVZDO0FBV1pDLElBQUFBLGdCQUFnQixFQUFFLHFDQVhOO0FBWVpDLElBQUFBLEVBQUUsRUFBRTtBQVpRLEdBOWFEO0FBNGJiaEMsRUFBQUEsUUFBUSxFQUFFO0FBQ1JqUCxJQUFBQSxLQUFLLEVBQUU7QUFEQyxHQTViRztBQStiYmtSLEVBQUFBLGFBQWEsRUFBRTtBQUNiQyxJQUFBQSxRQUFRLEVBQUUsV0FERztBQUViQyxJQUFBQSxVQUFVLEVBQUU7QUFGQyxHQS9iRjtBQW1jYkMsRUFBQUEsT0FBTyxFQUFFO0FBQ1BDLElBQUFBLFNBQVMsRUFBRSxpQkFESjtBQUVQQyxJQUFBQSxTQUFTLEVBQUUsaUJBRko7QUFHUEMsSUFBQUEsS0FBSyxFQUFFO0FBQ0xDLE1BQUFBLFFBQVEsRUFBRSxVQURMO0FBRUxDLE1BQUFBLFFBQVEsRUFBRTtBQUZMO0FBSEEsR0FuY0k7QUEyY2JDLEVBQUFBLFVBQVUsRUFBRTtBQUNWQyxJQUFBQSxPQUFPLEVBQUU7QUFEQyxHQTNjQztBQThjYi9TLEVBQUFBLE9BQU8sRUFBRSxTQTljSTtBQStjYixnQkFBYyxZQS9jRDtBQWdkYixnQkFBYyxZQWhkRDtBQWlkYmdULEVBQUFBLElBQUksRUFBRSxNQWpkTztBQWtkYkMsRUFBQUEsS0FBSyxFQUFFO0FBbGRNLEMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjEgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQge0xPQ0FMRVN9IGZyb20gJy4vbG9jYWxlcyc7XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgcHJvcGVydHk6IHtcbiAgICB3ZWlnaHQ6ICd3ZWlnaHQnLFxuICAgIGxhYmVsOiAnbGFiZWwnLFxuICAgIGZpbGxDb2xvcjogJ2ZpbGwgY29sb3InLFxuICAgIGNvbG9yOiAnY29sb3InLFxuICAgIGNvdmVyYWdlOiAnY292ZXJhZ2UnLFxuICAgIHN0cm9rZUNvbG9yOiAnc3Ryb2tlIGNvbG9yJyxcbiAgICByYWRpdXM6ICdyYWRpdXMnLFxuICAgIG91dGxpbmU6ICdvdXRsaW5lJyxcbiAgICBzdHJva2U6ICdzdHJva2UnLFxuICAgIGRlbnNpdHk6ICdkZW5zaXR5JyxcbiAgICBoZWlnaHQ6ICdoZWlnaHQnLFxuICAgIHN1bTogJ3N1bScsXG4gICAgcG9pbnRDb3VudDogJ1BvaW50IENvdW50J1xuICB9LFxuICBwbGFjZWhvbGRlcjoge1xuICAgIHNlYXJjaDogJ1NlYXJjaCcsXG4gICAgc2VsZWN0RmllbGQ6ICdTZWxlY3QgYSBmaWVsZCcsXG4gICAgeUF4aXM6ICdZIEF4aXMnLFxuICAgIHNlbGVjdFR5cGU6ICdTZWxlY3QgQSBUeXBlJyxcbiAgICBzZWxlY3RWYWx1ZTogJ1NlbGVjdCBBIFZhbHVlJyxcbiAgICBlbnRlclZhbHVlOiAnRW50ZXIgYSB2YWx1ZScsXG4gICAgZW1wdHk6ICdlbXB0eSdcbiAgfSxcbiAgbWlzYzoge1xuICAgIGJ5OiAnJyxcbiAgICB2YWx1ZXNJbjogJ1ZhbHVlcyBpbicsXG4gICAgdmFsdWVFcXVhbHM6ICdWYWx1ZSBlcXVhbHMnLFxuICAgIGRhdGFTb3VyY2U6ICdEYXRhIFNvdXJjZScsXG4gICAgYnJ1c2hSYWRpdXM6ICdCcnVzaCBSYWRpdXMgKGttKScsXG4gICAgZW1wdHk6ICcgJ1xuICB9LFxuICBtYXBMYXllcnM6IHtcbiAgICB0aXRsZTogJ01hcCBMYXllcnMnLFxuICAgIGxhYmVsOiAnTGFiZWwnLFxuICAgIHJvYWQ6ICdSb2FkJyxcbiAgICBib3JkZXI6ICdCb3JkZXInLFxuICAgIGJ1aWxkaW5nOiAnQnVpbGRpbmcnLFxuICAgIHdhdGVyOiAnV2F0ZXInLFxuICAgIGxhbmQ6ICdMYW5kJyxcbiAgICAnM2RCdWlsZGluZyc6ICczZCBCdWlsZGluZydcbiAgfSxcbiAgcGFuZWw6IHtcbiAgICB0ZXh0OiB7XG4gICAgICBsYWJlbDogJ2xhYmVsJyxcbiAgICAgIGxhYmVsV2l0aElkOiAnTGFiZWwge2xhYmVsSWR9JyxcbiAgICAgIGZvbnRTaXplOiAnRm9udCBzaXplJyxcbiAgICAgIGZvbnRDb2xvcjogJ0ZvbnQgY29sb3InLFxuICAgICAgdGV4dEFuY2hvcjogJ1RleHQgYW5jaG9yJyxcbiAgICAgIGFsaWdubWVudDogJ0FsaWdubWVudCcsXG4gICAgICBhZGRNb3JlTGFiZWw6ICdBZGQgTW9yZSBMYWJlbCdcbiAgICB9XG4gIH0sXG4gIHNpZGViYXI6IHtcbiAgICBwYW5lbHM6IHtcbiAgICAgIGxheWVyOiAnTGF5ZXJzJyxcbiAgICAgIGZpbHRlcjogJ0ZpbHRlcnMnLFxuICAgICAgaW50ZXJhY3Rpb246ICdJbnRlcmFjdGlvbnMnLFxuICAgICAgYmFzZW1hcDogJ0Jhc2UgbWFwJ1xuICAgIH1cbiAgfSxcbiAgbGF5ZXI6IHtcbiAgICByZXF1aXJlZDogJ1JlcXVpcmVkKicsXG4gICAgcmFkaXVzOiAnUmFkaXVzJyxcbiAgICBjb2xvcjogJ0NvbG9yJyxcbiAgICBmaWxsQ29sb3I6ICdGaWxsIENvbG9yJyxcbiAgICBvdXRsaW5lOiAnT3V0bGluZScsXG4gICAgd2VpZ2h0OiAnV2VpZ2h0JyxcbiAgICBwcm9wZXJ0eUJhc2VkT246ICd7cHJvcGVydHl9IGJhc2VkIG9uJyxcbiAgICBjb3ZlcmFnZTogJ0NvdmVyYWdlJyxcbiAgICBzdHJva2U6ICdTdHJva2UnLFxuICAgIHN0cm9rZVdpZHRoOiAnU3Ryb2tlIFdpZHRoJyxcbiAgICBzdHJva2VDb2xvcjogJ1N0cm9rZSBDb2xvcicsXG4gICAgYmFzaWM6ICdCYXNpYycsXG4gICAgdHJhaWxMZW5ndGg6ICdUcmFpbCBMZW5ndGgnLFxuICAgIHRyYWlsTGVuZ3RoRGVzY3JpcHRpb246ICdOdW1iZXIgb2Ygc2Vjb25kcyBmb3IgYSBwYXRoIHRvIGNvbXBsZXRlbHkgZmFkZSBvdXQnLFxuICAgIG5ld0xheWVyOiAnbmV3IGxheWVyJyxcbiAgICBlbGV2YXRpb25CeURlc2NyaXB0aW9uOiAnV2hlbiBvZmYsIGhlaWdodCBpcyBiYXNlZCBvbiBjb3VudCBvZiBwb2ludHMnLFxuICAgIGNvbG9yQnlEZXNjcmlwdGlvbjogJ1doZW4gb2ZmLCBjb2xvciBpcyBiYXNlZCBvbiBjb3VudCBvZiBwb2ludHMnLFxuICAgIGFnZ3JlZ2F0ZUJ5OiAnQWdncmVnYXRlIHtmaWVsZH0gYnknLFxuICAgICczRE1vZGVsJzogJzNEIE1vZGVsJyxcbiAgICAnM0RNb2RlbE9wdGlvbnMnOiAnM0QgTW9kZWwgT3B0aW9ucycsXG4gICAgdHlwZToge1xuICAgICAgcG9pbnQ6ICdwb2ludCcsXG4gICAgICBhcmM6ICdhcmMnLFxuICAgICAgbGluZTogJ2xpbmUnLFxuICAgICAgZ3JpZDogJ2dyaWQnLFxuICAgICAgaGV4YmluOiAnaGV4YmluJyxcbiAgICAgIHBvbHlnb246ICdwb2x5Z29uJyxcbiAgICAgIGdlb2pzb246ICdnZW9qc29uJyxcbiAgICAgIGNsdXN0ZXI6ICdjbHVzdGVyJyxcbiAgICAgIGljb246ICdpY29uJyxcbiAgICAgIGhlYXRtYXA6ICdoZWF0bWFwJyxcbiAgICAgIGhleGFnb246ICdoZXhhZ29uJyxcbiAgICAgIGhleGFnb25pZDogJ0gzJyxcbiAgICAgIHRyaXA6ICd0cmlwJyxcbiAgICAgIHMyOiAnUzInLFxuICAgICAgJzNkJzogJzNEJ1xuICAgIH1cbiAgfSxcbiAgbGF5ZXJWaXNDb25maWdzOiB7XG4gICAgYW5nbGU6ICdBbmdsZScsXG4gICAgc3Ryb2tlV2lkdGg6ICdTdHJva2UgV2lkdGggKFBpeGVscyknLFxuICAgIHN0cm9rZVdpZHRoUmFuZ2U6ICdTdHJva2UgV2lkdGggUmFuZ2UnLFxuICAgIHJhZGl1czogJ1JhZGl1cycsXG4gICAgZml4ZWRSYWRpdXM6ICdGaXhlZCBSYWRpdXMgdG8gbWV0ZXInLFxuICAgIGZpeGVkUmFkaXVzRGVzY3JpcHRpb246ICdNYXAgcmFkaXVzIHRvIGFic29sdXRlIHJhZGl1cyBpbiBtZXRlcnMsIGUuZy4gNSB0byA1IG1ldGVycycsXG4gICAgcmFkaXVzUmFuZ2U6ICdSYWRpdXMgUmFuZ2UnLFxuICAgIGNsdXN0ZXJSYWRpdXM6ICdDbHVzdGVyIFJhZGl1cyBpbiBQaXhlbHMnLFxuICAgIHJhZGl1c1JhbmdlUGl4ZWxzOiAnUmFkaXVzIFJhbmdlIGluIHBpeGVscycsXG4gICAgb3BhY2l0eTogJ09wYWNpdHknLFxuICAgIGNvdmVyYWdlOiAnQ292ZXJhZ2UnLFxuICAgIG91dGxpbmU6ICdPdXRsaW5lJyxcbiAgICBjb2xvclJhbmdlOiAnQ29sb3IgcmFuZ2UnLFxuICAgIHN0cm9rZTogJ1N0cm9rZScsXG4gICAgc3Ryb2tlQ29sb3I6ICdTdHJva2UgQ29sb3InLFxuICAgIHN0cm9rZUNvbG9yUmFuZ2U6ICdTdHJva2UgQ29sb3IgcmFuZ2UnLFxuICAgIHRhcmdldENvbG9yOiAnVGFyZ2V0IENvbG9yJyxcbiAgICBjb2xvckFnZ3JlZ2F0aW9uOiAnQ29sb3IgQWdncmVnYXRpb24nLFxuICAgIGhlaWdodEFnZ3JlZ2F0aW9uOiAnSGVpZ2h0IEFnZ3JlZ2F0aW9uJyxcbiAgICByZXNvbHV0aW9uUmFuZ2U6ICdSZXNvbHV0aW9uIHJhbmdlJyxcbiAgICBzaXplU2NhbGU6ICdTaXplIFNjYWxlJyxcbiAgICB3b3JsZFVuaXRTaXplOiAnV29ybGQgVW5pdCBTaXplJyxcbiAgICBlbGV2YXRpb25TY2FsZTogJ0VsZXZhdGlvbiBTY2FsZScsXG4gICAgZW5hYmxlRWxldmF0aW9uWm9vbUZhY3RvcjogJ1VzZSBlbGV2YXRpb24gem9vbSBmYWN0b3InLFxuICAgIGVuYWJsZUVsZXZhdGlvblpvb21GYWN0b3JEZXNjcmlwdGlvbjogJ0FkanVzdCBoZWlnaHQvZWxldmF0aW9uIGJhc2VkIG9uIGN1cnJlbnQgem9vbSBmYWN0b3InLFxuICAgIGVuYWJsZUhlaWdodFpvb21GYWN0b3I6ICdVc2UgaGVpZ2h0IHpvb20gZmFjdG9yJyxcbiAgICBoZWlnaHRTY2FsZTogJ0hlaWdodCBTY2FsZScsXG4gICAgY292ZXJhZ2VSYW5nZTogJ0NvdmVyYWdlIFJhbmdlJyxcbiAgICBoaWdoUHJlY2lzaW9uUmVuZGVyaW5nOiAnSGlnaCBQcmVjaXNpb24gUmVuZGVyaW5nJyxcbiAgICBoaWdoUHJlY2lzaW9uUmVuZGVyaW5nRGVzY3JpcHRpb246ICdIaWdoIHByZWNpc2lvbiB3aWxsIHJlc3VsdCBpbiBzbG93ZXIgcGVyZm9ybWFuY2UnLFxuICAgIGhlaWdodDogJ0hlaWdodCcsXG4gICAgaGVpZ2h0RGVzY3JpcHRpb246ICdDbGljayBidXR0b24gYXQgdG9wIHJpZ2h0IG9mIHRoZSBtYXAgdG8gc3dpdGNoIHRvIDNkIHZpZXcnLFxuICAgIGZpbGw6ICdGaWxsJyxcbiAgICBlbmFibGVQb2x5Z29uSGVpZ2h0OiAnRW5hYmxlIFBvbHlnb24gSGVpZ2h0JyxcbiAgICBzaG93V2lyZWZyYW1lOiAnU2hvdyBXaXJlZnJhbWUnLFxuICAgIHdlaWdodEludGVuc2l0eTogJ1dlaWdodCBJbnRlbnNpdHknLFxuICAgIHpvb21TY2FsZTogJ1pvb20gU2NhbGUnLFxuICAgIGhlaWdodFJhbmdlOiAnSGVpZ2h0IFJhbmdlJyxcbiAgICBoZWlnaHRNdWx0aXBsaWVyOiAnSGVpZ2h0IE11bHRpcGxpZXInXG4gIH0sXG4gIGxheWVyTWFuYWdlcjoge1xuICAgIGFkZERhdGE6ICdBZGQgRGF0YScsXG4gICAgYWRkTGF5ZXI6ICdBZGQgTGF5ZXInLFxuICAgIGxheWVyQmxlbmRpbmc6ICdMYXllciBCbGVuZGluZydcbiAgfSxcbiAgbWFwTWFuYWdlcjoge1xuICAgIG1hcFN0eWxlOiAnTWFwIHN0eWxlJyxcbiAgICBhZGRNYXBTdHlsZTogJ0FkZCBNYXAgU3R5bGUnLFxuICAgICczZEJ1aWxkaW5nQ29sb3InOiAnM0QgQnVpbGRpbmcgQ29sb3InXG4gIH0sXG4gIGxheWVyQ29uZmlndXJhdGlvbjoge1xuICAgIGRlZmF1bHREZXNjcmlwdGlvbjogJ0NhbGN1bGF0ZSB7cHJvcGVydHl9IGJhc2VkIG9uIHNlbGVjdGVkIGZpZWxkJyxcbiAgICBob3dUbzogJ0hvdyB0bydcbiAgfSxcbiAgZmlsdGVyTWFuYWdlcjoge1xuICAgIGFkZEZpbHRlcjogJ0FkZCBGaWx0ZXInXG4gIH0sXG4gIGRhdGFzZXRUaXRsZToge1xuICAgIHNob3dEYXRhVGFibGU6ICdTaG93IGRhdGEgdGFibGUnLFxuICAgIHJlbW92ZURhdGFzZXQ6ICdSZW1vdmUgZGF0YXNldCdcbiAgfSxcbiAgZGF0YXNldEluZm86IHtcbiAgICByb3dDb3VudDogJ3tyb3dDb3VudH0gcm93cydcbiAgfSxcbiAgdG9vbHRpcDoge1xuICAgIGhpZGVMYXllcjogJ2hpZGUgbGF5ZXInLFxuICAgIHNob3dMYXllcjogJ3Nob3cgbGF5ZXInLFxuICAgIGhpZGVGZWF0dXJlOiAnSGlkZSBGZWF0dXJlJyxcbiAgICBzaG93RmVhdHVyZTogJ1Nob3cgZmVhdHVyZScsXG4gICAgaGlkZTogJ2hpZGUnLFxuICAgIHNob3c6ICdzaG93JyxcbiAgICByZW1vdmVMYXllcjogJ1JlbW92ZSBsYXllcicsXG4gICAgZHVwbGljYXRlTGF5ZXI6ICdEdXBsaWNhdGUgbGF5ZXInLFxuICAgIGxheWVyU2V0dGluZ3M6ICdMYXllciBzZXR0aW5ncycsXG4gICAgY2xvc2VQYW5lbDogJ0Nsb3NlIGN1cnJlbnQgcGFuZWwnLFxuICAgIHN3aXRjaFRvRHVhbFZpZXc6ICdTd2l0Y2ggdG8gZHVhbCBtYXAgdmlldycsXG4gICAgc2hvd0xlZ2VuZDogJ3Nob3cgbGVnZW5kJyxcbiAgICBkaXNhYmxlM0RNYXA6ICdEaXNhYmxlIDNEIE1hcCcsXG4gICAgRHJhd09uTWFwOiAnRHJhdyBvbiBtYXAnLFxuICAgIHNlbGVjdExvY2FsZTogJ1NlbGVjdCBsb2NhbGUnLFxuICAgIGhpZGVMYXllclBhbmVsOiAnSGlkZSBsYXllciBwYW5lbCcsXG4gICAgc2hvd0xheWVyUGFuZWw6ICdTaG93IGxheWVyIHBhbmVsJyxcbiAgICBtb3ZlVG9Ub3A6ICdNb3ZlIHRvIHRvcCBvZiBkYXRhIGxheWVycycsXG4gICAgc2VsZWN0QmFzZU1hcFN0eWxlOiAnU2VsZWN0IEJhc2UgTWFwIFN0eWxlJyxcbiAgICBkZWxldGU6ICdEZWxldGUnLFxuICAgIHRpbWVQbGF5YmFjazogJ1RpbWUgUGxheWJhY2snLFxuICAgIGNsb3VkU3RvcmFnZTogJ0Nsb3VkIFN0b3JhZ2UnLFxuICAgICczRE1hcCc6ICczRCBNYXAnLFxuICAgIGFuaW1hdGlvbkJ5V2luZG93OiAnTW92aW5nIFRpbWUgV2luZG93JyxcbiAgICBhbmltYXRpb25CeUluY3JlbWVudGFsOiAnSW5jcmVtZW50YWwgVGltZSBXaW5kb3cnLFxuICAgIHNwZWVkOiAnc3BlZWQnLFxuICAgIHBsYXk6ICdwbGF5JyxcbiAgICBwYXVzZTogJ3BhdXNlJyxcbiAgICByZXNldDogJ3Jlc2V0J1xuICB9LFxuICB0b29sYmFyOiB7XG4gICAgZXhwb3J0SW1hZ2U6ICdFeHBvcnQgSW1hZ2UnLFxuICAgIGV4cG9ydERhdGE6ICdFeHBvcnQgRGF0YScsXG4gICAgZXhwb3J0TWFwOiAnRXhwb3J0IE1hcCcsXG4gICAgc2hhcmVNYXBVUkw6ICdTaGFyZSBNYXAgVVJMJyxcbiAgICBzYXZlTWFwOiAnU2F2ZSBNYXAnLFxuICAgIHNlbGVjdDogJ1NlbGVjdCcsXG4gICAgcG9seWdvbjogJ1BvbHlnb24nLFxuICAgIHJlY3RhbmdsZTogJ1JlY3RhbmdsZScsXG4gICAgaGlkZTogJ0hpZGUnLFxuICAgIHNob3c6ICdTaG93JyxcbiAgICAuLi5MT0NBTEVTXG4gIH0sXG4gIGVkaXRvcjoge1xuICAgIGZpbHRlckxheWVyOiAnRmlsdGVyIExheWVycycsXG4gICAgY29weUdlb21ldHJ5OiAnQ29weSBHZW9tZXRyeSdcbiAgfSxcblxuICBtb2RhbDoge1xuICAgIHRpdGxlOiB7XG4gICAgICBkZWxldGVEYXRhc2V0OiAnRGVsZXRlIERhdGFzZXQnLFxuICAgICAgYWRkRGF0YVRvTWFwOiAnQWRkIERhdGEgVG8gTWFwJyxcbiAgICAgIGV4cG9ydEltYWdlOiAnRXhwb3J0IEltYWdlJyxcbiAgICAgIGV4cG9ydERhdGE6ICdFeHBvcnQgRGF0YScsXG4gICAgICBleHBvcnRNYXA6ICdFeHBvcnQgTWFwJyxcbiAgICAgIGFkZEN1c3RvbU1hcGJveFN0eWxlOiAnQWRkIEN1c3RvbSBNYXAgU3R5bGUnLFxuICAgICAgc2F2ZU1hcDogJ1NhdmUgTWFwJyxcbiAgICAgIHNoYXJlVVJMOiAnU2hhcmUgVVJMJ1xuICAgIH0sXG4gICAgYnV0dG9uOiB7XG4gICAgICBkZWxldGU6ICdEZWxldGUnLFxuICAgICAgZG93bmxvYWQ6ICdEb3dubG9hZCcsXG4gICAgICBleHBvcnQ6ICdFeHBvcnQnLFxuICAgICAgYWRkU3R5bGU6ICdBZGQgU3R5bGUnLFxuICAgICAgc2F2ZTogJ1NhdmUnLFxuICAgICAgZGVmYXVsdENhbmNlbDogJ0NhbmNlbCcsXG4gICAgICBkZWZhdWx0Q29uZmlybTogJ0NvbmZpcm0nXG4gICAgfSxcbiAgICBleHBvcnRJbWFnZToge1xuICAgICAgcmF0aW9UaXRsZTogJ1JhdGlvJyxcbiAgICAgIHJhdGlvRGVzY3JpcHRpb246ICdDaG9vc2UgdGhlIHJhdGlvIGZvciB2YXJpb3VzIHVzYWdlcy4nLFxuICAgICAgcmF0aW9PcmlnaW5hbFNjcmVlbjogJ09yaWdpbmFsIFNjcmVlbicsXG4gICAgICByYXRpb0N1c3RvbTogJ0N1c3RvbScsXG4gICAgICByYXRpbzRfMzogJzQ6MycsXG4gICAgICByYXRpbzE2Xzk6ICcxNjo5JyxcbiAgICAgIHJlc29sdXRpb25UaXRsZTogJ1Jlc29sdXRpb24nLFxuICAgICAgcmVzb2x1dGlvbkRlc2NyaXB0aW9uOiAnSGlnaCByZXNvbHV0aW9uIGlzIGJldHRlciBmb3IgcHJpbnRzLicsXG4gICAgICBtYXBMZWdlbmRUaXRsZTogJ01hcCBMZWdlbmQnLFxuICAgICAgbWFwTGVnZW5kQWRkOiAnQWRkIGxlZ2VuZCBvbiBtYXAnXG4gICAgfSxcbiAgICBleHBvcnREYXRhOiB7XG4gICAgICBkYXRhc2V0VGl0bGU6ICdEYXRhc2V0JyxcbiAgICAgIGRhdGFzZXRTdWJ0aXRsZTogJ0Nob29zZSB0aGUgZGF0YXNldHMgeW91IHdhbnQgdG8gZXhwb3J0JyxcbiAgICAgIGFsbERhdGFzZXRzOiAnQWxsJyxcbiAgICAgIGRhdGFUeXBlVGl0bGU6ICdEYXRhIFR5cGUnLFxuICAgICAgZGF0YVR5cGVTdWJ0aXRsZTogJ0Nob29zZSB0aGUgdHlwZSBvZiBkYXRhIHlvdSB3YW50IHRvIGV4cG9ydCcsXG4gICAgICBmaWx0ZXJEYXRhVGl0bGU6ICdGaWx0ZXIgRGF0YScsXG4gICAgICBmaWx0ZXJEYXRhU3VidGl0bGU6ICdZb3UgY2FuIGNob29zZSBleHBvcnRpbmcgb3JpZ2luYWwgZGF0YSBvciBmaWx0ZXJlZCBkYXRhJyxcbiAgICAgIGZpbHRlcmVkRGF0YTogJ0ZpbHRlcmVkIGRhdGEnLFxuICAgICAgdW5maWx0ZXJlZERhdGE6ICdVbmZpbHRlcmVkIERhdGEnLFxuICAgICAgZmlsZUNvdW50OiAne2ZpbGVDb3VudH0gRmlsZXMnLFxuICAgICAgcm93Q291bnQ6ICd7cm93Q291bnR9IFJvd3MnXG4gICAgfSxcbiAgICBkZWxldGVEYXRhOiB7XG4gICAgICB3YXJuaW5nOiAneW91IGFyZSBnb2luZyB0byBkZWxldGUgdGhpcyBkYXRhc2V0LiBJdCB3aWxsIGFmZmVjdCB7bGVuZ3RofSBsYXllcnMnXG4gICAgfSxcbiAgICBhZGRTdHlsZToge1xuICAgICAgcHVibGlzaFRpdGxlOlxuICAgICAgICAnMi4gSWYgZW50ZXJlZCBtYXBib3ggc3R1bGUgdXJsIGluIHN0ZXAuMSwgcHVibGlzaCB5b3VyIHN0eWxlIGF0IG1hcGJveCBvciBwcm92aWRlIGFjY2VzcyB0b2tlbi4gKE9wdGlvbmFsKScsXG4gICAgICBwdWJsaXNoU3VidGl0bGUxOiAnWW91IGNhbiBjcmVhdGUgeW91ciBvd24gbWFwIHN0eWxlIGF0JyxcbiAgICAgIHB1Ymxpc2hTdWJ0aXRsZTI6ICdhbmQnLFxuICAgICAgcHVibGlzaFN1YnRpdGxlMzogJ3B1Ymxpc2gnLFxuICAgICAgcHVibGlzaFN1YnRpdGxlNDogJ2l0LicsXG4gICAgICBwdWJsaXNoU3VidGl0bGU1OiAnVG8gdXNlIHByaXZhdGUgc3R5bGUsIHBhc3RlIHlvdXInLFxuICAgICAgcHVibGlzaFN1YnRpdGxlNjogJ2FjY2VzcyB0b2tlbicsXG4gICAgICBwdWJsaXNoU3VidGl0bGU3OlxuICAgICAgICAnaGVyZS4gKmtlcGxlci5nbCBpcyBhIGNsaWVudC1zaWRlIGFwcGxpY2F0aW9uLCBkYXRhIHN0YXlzIGluIHlvdXIgYnJvd3Nlci4uJyxcbiAgICAgIGV4YW1wbGVUb2tlbjogJ2UuZy4gcGsuYWJjZGVmZy54eHh4eHgnLFxuICAgICAgcGFzdGVUaXRsZTogJzEuIFBhc3RlIHN0eWxlIHVybCcsXG4gICAgICBwYXN0ZVN1YnRpdGxlMDogJ1N0eWxlIHVybCBjYW4gYmUgYSBtYXBib3gnLFxuICAgICAgcGFzdGVTdWJ0aXRsZTE6ICdXaGF0IGlzIGEnLFxuICAgICAgcGFzdGVTdWJ0aXRsZTI6ICdzdHlsZSBVUkwnLFxuICAgICAgcGFzdGVTdWJ0aXRsZTM6ICdvciBhIHN0eWxlLmpzb24gdXNpbmcgdGhlJyxcbiAgICAgIHBhc3RlU3VidGl0bGU0OiAnTWFwYm94IEdMIFN0eWxlIFNwZWMnLFxuICAgICAgbmFtaW5nVGl0bGU6ICczLiBOYW1lIHlvdXIgc3R5bGUnXG4gICAgfSxcbiAgICBzaGFyZU1hcDoge1xuICAgICAgc2hhcmVVcmlUaXRsZTogJ1NoYXJlIE1hcCBVcmwnLFxuICAgICAgc2hhcmVVcmlTdWJ0aXRsZTogJ0dlbmVyYXRlIGEgbWFwIHVybCB0byBzaGFyZSB3aXRoIG90aGVycycsXG4gICAgICBjbG91ZFRpdGxlOiAnQ2xvdWQgc3RvcmFnZScsXG4gICAgICBjbG91ZFN1YnRpdGxlOiAnTG9naW4gYW5kIHVwbG9hZCBtYXAgZGF0YSB0byB5b3VyIHBlcnNvbmFsIGNsb3VkIHN0b3JhZ2UnLFxuICAgICAgc2hhcmVEaXNjbGFpbWVyOlxuICAgICAgICAna2VwbGVyLmdsIHdpbGwgc2F2ZSB5b3VyIG1hcCBkYXRhIHRvIHlvdXIgcGVyc29uYWwgY2xvdWQgc3RvcmFnZSwgb25seSBwZW9wbGUgd2l0aCB0aGUgVVJMIGNhbiBhY2Nlc3MgeW91ciBtYXAgYW5kIGRhdGEuICcgK1xuICAgICAgICAnWW91IGNhbiBlZGl0L2RlbGV0ZSB0aGUgZGF0YSBmaWxlIGluIHlvdXIgY2xvdWQgYWNjb3VudCBhbnl0aW1lLicsXG4gICAgICBnb3RvUGFnZTogJ0dvIHRvIHlvdXIgS2VwbGVyLmdsIHtjdXJyZW50UHJvdmlkZXJ9IHBhZ2UnXG4gICAgfSxcbiAgICBzdGF0dXNQYW5lbDoge1xuICAgICAgbWFwVXBsb2FkaW5nOiAnTWFwIFVwbG9hZGluZycsXG4gICAgICBlcnJvcjogJ0Vycm9yJ1xuICAgIH0sXG4gICAgc2F2ZU1hcDoge1xuICAgICAgdGl0bGU6ICdDbG91ZCBzdG9yYWdlJyxcbiAgICAgIHN1YnRpdGxlOiAnTG9naW4gdG8gc2F2ZSBtYXAgdG8geW91ciBwZXJzb25hbCBjbG91ZCBzdG9yYWdlJ1xuICAgIH0sXG4gICAgZXhwb3J0TWFwOiB7XG4gICAgICBmb3JtYXRUaXRsZTogJ01hcCBmb3JtYXQnLFxuICAgICAgZm9ybWF0U3VidGl0bGU6ICdDaG9vc2UgdGhlIGZvcm1hdCB0byBleHBvcnQgeW91ciBtYXAgdG8nLFxuICAgICAgaHRtbDoge1xuICAgICAgICBzZWxlY3Rpb246ICdFeHBvcnQgeW91ciBtYXAgaW50byBhbiBpbnRlcmFjdGl2ZSBodG1sIGZpbGUuJyxcbiAgICAgICAgdG9rZW5UaXRsZTogJ01hcGJveCBhY2Nlc3MgdG9rZW4nLFxuICAgICAgICB0b2tlblN1YnRpdGxlOiAnVXNlIHlvdXIgb3duIE1hcGJveCBhY2Nlc3MgdG9rZW4gaW4gdGhlIGh0bWwgKG9wdGlvbmFsKScsXG4gICAgICAgIHRva2VuUGxhY2Vob2xkZXI6ICdQYXN0ZSB5b3VyIE1hcGJveCBhY2Nlc3MgdG9rZW4nLFxuICAgICAgICB0b2tlbk1pc3VzZVdhcm5pbmc6XG4gICAgICAgICAgJyogSWYgeW91IGRvIG5vdCBwcm92aWRlIHlvdXIgb3duIHRva2VuLCB0aGUgbWFwIG1heSBmYWlsIHRvIGRpc3BsYXkgYXQgYW55IHRpbWUgd2hlbiB3ZSByZXBsYWNlIG91cnMgdG8gYXZvaWQgbWlzdXNlLiAnLFxuICAgICAgICB0b2tlbkRpc2NsYWltZXI6ICdZb3UgY2FuIGNoYW5nZSB0aGUgTWFwYm94IHRva2VuIGxhdGVyIHVzaW5nIHRoZSBmb2xsb3dpbmcgaW5zdHJ1Y3Rpb25zOiAnLFxuICAgICAgICB0b2tlblVwZGF0ZTogJ0hvdyB0byB1cGRhdGUgYW4gZXhpc3RpbmcgbWFwIHRva2VuLicsXG4gICAgICAgIG1vZGVUaXRsZTogJ01hcCBNb2RlJyxcbiAgICAgICAgbW9kZVN1YnRpdGxlMTogJ1NlbGVjdCB0aGUgYXBwIG1vZGUuIE1vcmUgJyxcbiAgICAgICAgbW9kZVN1YnRpdGxlMjogJ2luZm8nLFxuICAgICAgICBtb2RlRGVzY3JpcHRpb246ICdBbGxvdyB1c2VycyB0byB7bW9kZX0gdGhlIG1hcCcsXG4gICAgICAgIHJlYWQ6ICdyZWFkJyxcbiAgICAgICAgZWRpdDogJ2VkaXQnXG4gICAgICB9LFxuICAgICAganNvbjoge1xuICAgICAgICBjb25maWdUaXRsZTogJ01hcCBDb25maWcnLFxuICAgICAgICBjb25maWdEaXNjbGFpbWVyOlxuICAgICAgICAgICdNYXAgY29uZmlnIHdpbGwgYmUgaW5jbHVkZWQgaW4gdGhlIEpzb24gZmlsZS4gSWYgeW91IGFyZSB1c2luZyBrZXBsZXIuZ2wgaW4geW91ciBvd24gYXBwLiBZb3UgY2FuIGNvcHkgdGhpcyBjb25maWcgYW5kIHBhc3MgaXQgdG8gJyxcbiAgICAgICAgc2VsZWN0aW9uOlxuICAgICAgICAgICdFeHBvcnQgY3VycmVudCBtYXAgZGF0YSBhbmQgY29uZmlnIGludG8gYSBzaW5nbGUgSnNvbiBmaWxlLiBZb3UgY2FuIGxhdGVyIG9wZW4gdGhlIHNhbWUgbWFwIGJ5IHVwbG9hZGluZyB0aGlzIGZpbGUgdG8ga2VwbGVyLmdsLicsXG4gICAgICAgIGRpc2NsYWltZXI6XG4gICAgICAgICAgJyogTWFwIGNvbmZpZyBpcyBjb3VwbGVkIHdpdGggbG9hZGVkIGRhdGFzZXRzLiDigJhkYXRhSWTigJkgaXMgdXNlZCB0byBiaW5kIGxheWVycywgZmlsdGVycywgYW5kIHRvb2x0aXBzIHRvIGEgc3BlY2lmaWMgZGF0YXNldC4gJyArXG4gICAgICAgICAgJ1doZW4gcGFzc2luZyB0aGlzIGNvbmZpZyB0byBhZGREYXRhVG9NYXAsIG1ha2Ugc3VyZSB0aGUgZGF0YXNldCBpZCBtYXRjaGVzIHRoZSBkYXRhSWQvcyBpbiB0aGlzIGNvbmZpZy4nXG4gICAgICB9XG4gICAgfSxcbiAgICBsb2FkaW5nRGlhbG9nOiB7XG4gICAgICBsb2FkaW5nOiAnTG9hZGluZy4uLidcbiAgICB9LFxuICAgIGxvYWREYXRhOiB7XG4gICAgICB1cGxvYWQ6ICdMb2FkIEZpbGVzJyxcbiAgICAgIHN0b3JhZ2U6ICdMb2FkIGZyb20gU3RvcmFnZSdcbiAgICB9LFxuICAgIHRyaXBJbmZvOiB7XG4gICAgICB0aXRsZTogJ0hvdyB0byBlbmFibGUgdHJpcCBhbmltYXRpb24nLFxuICAgICAgZGVzY3JpcHRpb24xOlxuICAgICAgICAnSW4gb3JkZXIgdG8gYW5pbWF0ZSB0aGUgcGF0aCwgdGhlIGdlb0pTT04gZGF0YSBuZWVkcyB0byBjb250YWluIGBMaW5lU3RyaW5nYCBpbiBpdHMgZmVhdHVyZSBnZW9tZXRyeSwgYW5kIHRoZSBjb29yZGluYXRlcyBpbiB0aGUgTGluZVN0cmluZyBuZWVkIHRvIGhhdmUgNCBlbGVtZW50cyBpbiB0aGUgZm9ybWF0cyBvZicsXG4gICAgICBjb2RlOiAnIFtsb25naXR1ZGUsIGxhdGl0dWRlLCBhbHRpdHVkZSwgdGltZXN0YW1wXSAnLFxuICAgICAgZGVzY3JpcHRpb24yOlxuICAgICAgICAnd2l0aCB0aGUgbGFzdCBlbGVtZW50IGJlaW5nIGEgdGltZXN0YW1wLiBWYWxpZCB0aW1lc3RhbXAgZm9ybWF0cyBpbmNsdWRlIHVuaXggaW4gc2Vjb25kcyBzdWNoIGFzIGAxNTY0MTg0MzYzYCBvciBpbiBtaWxsaXNlY29uZHMgc3VjaCBhcyBgMTU2NDE4NDM2MzAwMGAuJyxcbiAgICAgIGV4YW1wbGU6ICdFeGFtcGxlOidcbiAgICB9LFxuICAgIGljb25JbmZvOiB7XG4gICAgICB0aXRsZTogJ0hvdyB0byBkcmF3IGljb25zJyxcbiAgICAgIGRlc2NyaXB0aW9uMTpcbiAgICAgICAgJ0luIHlvdXIgY3N2LCBjcmVhdGUgYSBjb2x1bW4sIHB1dCB0aGUgbmFtZSBvZiB0aGUgaWNvbiB5b3Ugd2FudCB0byBkcmF3IGluIGl0LiBZb3UgY2FuIGxlYXZlIHRoZSBjZWxsIGVtcHR5IGlmIHlvdSBkbyBub3Qgd2FudCB0aGUgaWNvbiB0byBzaG93IGZvciBzb21lIHBvaW50cy4gV2hlbiB0aGUgY29sdW1uIGlzIG5hbWVkJyxcbiAgICAgIGNvZGU6ICdpY29uJyxcbiAgICAgIGRlc2NyaXB0aW9uMjogJyBrZXBsZXIuZ2wgd2lsbCBhdXRvbWF0aWNhbGx5IGNyZWF0ZSBhIGljb24gbGF5ZXIgZm9yIHlvdS4nLFxuICAgICAgZXhhbXBsZTogJ0V4YW1wbGU6JyxcbiAgICAgIGljb25zOiAnSWNvbnMnXG4gICAgfSxcbiAgICBzdG9yYWdlTWFwVmlld2VyOiB7XG4gICAgICBsYXN0TW9kaWZpZWQ6ICdMYXN0IG1vZGlmaWVkIHtsYXN0VXBkYXRlZH0gYWdvJyxcbiAgICAgIGJhY2s6ICdCYWNrJ1xuICAgIH0sXG4gICAgb3ZlcndyaXRlTWFwOiB7XG4gICAgICB0aXRsZTogJ1NhdmluZyBtYXAuLi4nLFxuICAgICAgYWxyZWFkeUV4aXN0czogJ2FscmVhZHkgZXhpc3RzIGluIHlvdXIge21hcFNhdmVkfS4gV291bGQgeW91IGxpa2UgdG8gb3ZlcndyaXRlIGl0PydcbiAgICB9LFxuICAgIGxvYWRTdG9yYWdlTWFwOiB7XG4gICAgICBiYWNrOiAnQmFjaycsXG4gICAgICBnb1RvUGFnZTogJ0dvIHRvIHlvdXIgS2VwbGVyLmdsIHtkaXNwbGF5TmFtZX0gcGFnZScsXG4gICAgICBzdG9yYWdlTWFwczogJ1N0b3JhZ2UgLyBNYXBzJyxcbiAgICAgIG5vU2F2ZWRNYXBzOiAnTm8gc2F2ZWQgbWFwcyB5ZXQnXG4gICAgfVxuICB9LFxuICBoZWFkZXI6IHtcbiAgICB2aXNpYmxlTGF5ZXJzOiAnVmlzaWJsZSBsYXllcnMnLFxuICAgIGxheWVyTGVnZW5kOiAnTGVnZW5kJ1xuICB9LFxuICBpbnRlcmFjdGlvbnM6IHtcbiAgICB0b29sdGlwOiAnVG9vbHRpcCcsXG4gICAgYnJ1c2g6ICdCcnVzaCcsXG4gICAgY29vcmRpbmF0ZTogJ0Nvb3JkaW5hdGVzJyxcbiAgICBnZW9jb2RlcjogJ0dlb2NvZGVyJ1xuICB9LFxuICBsYXllckJsZW5kaW5nOiB7XG4gICAgdGl0bGU6ICdMYXllciBCbGVuZGluZycsXG4gICAgYWRkaXRpdmU6ICdhZGRpdGl2ZScsXG4gICAgbm9ybWFsOiAnbm9ybWFsJyxcbiAgICBzdWJ0cmFjdGl2ZTogJ3N1YnRyYWN0aXZlJ1xuICB9LFxuICBjb2x1bW5zOiB7XG4gICAgdGl0bGU6ICdDb2x1bW5zJyxcbiAgICBsYXQ6ICdsYXQnLFxuICAgIGxuZzogJ2xvbicsXG4gICAgYWx0aXR1ZGU6ICdhbHRpdHVkZScsXG4gICAgaWNvbjogJ2ljb24nLFxuICAgIGdlb2pzb246ICdnZW9qc29uJyxcbiAgICB0b2tlbjogJ3Rva2VuJyxcbiAgICBhcmM6IHtcbiAgICAgIGxhdDA6ICdzb3VyY2UgbGF0JyxcbiAgICAgIGxuZzA6ICdzb3VyY2UgbG5nJyxcbiAgICAgIGxhdDE6ICd0YXJnZXQgbGF0JyxcbiAgICAgIGxuZzE6ICd0YXJnZXQgbG5nJ1xuICAgIH0sXG4gICAgbGluZToge1xuICAgICAgYWx0MDogJ3NvdXJjZSBhbHRpdHVkZScsXG4gICAgICBhbHQxOiAndGFyZ2V0IGFsdGl0dWRlJ1xuICAgIH0sXG4gICAgZ3JpZDoge1xuICAgICAgd29ybGRVbml0U2l6ZTogJ0dyaWQgU2l6ZSAoa20pJ1xuICAgIH0sXG4gICAgaGV4YWdvbjoge1xuICAgICAgd29ybGRVbml0U2l6ZTogJ0hleGFnb24gUmFkaXVzIChrbSknXG4gICAgfSxcbiAgICBoZXhfaWQ6ICdoZXggaWQnXG4gIH0sXG4gIGNvbG9yOiB7XG4gICAgY3VzdG9tUGFsZXR0ZTogJ0N1c3RvbSBQYWxldHRlJyxcbiAgICBzdGVwczogJ3N0ZXBzJyxcbiAgICB0eXBlOiAndHlwZScsXG4gICAgcmV2ZXJzZWQ6ICdyZXZlcnNlZCdcbiAgfSxcbiAgY3VzdG9tUGFsZXR0ZToge1xuICAgIGFwcGx5OiAnQXBwbHknLFxuICAgIGNhbmNlbDogJ0NhbmNlbCcsXG4gICAgYWRkU3RlcDogJysgQWRkIFN0ZXAnXG4gIH0sXG4gIHNjYWxlOiB7XG4gICAgY29sb3JTY2FsZTogJ0NvbG9yIFNjYWxlJyxcbiAgICBzaXplU2NhbGU6ICdTaXplIFNjYWxlJyxcbiAgICBzdHJva2VTY2FsZTogJ1N0cm9rZSBTY2FsZScsXG4gICAgc2NhbGU6ICdTY2FsZSdcbiAgfSxcbiAgZmlsZVVwbG9hZGVyOiB7XG4gICAgbWVzc2FnZTogJ0RyYWcgJiBEcm9wIFlvdXIgRmlsZShzKSBIZXJlJyxcbiAgICBjaHJvbWVNZXNzYWdlOlxuICAgICAgJypDaHJvbWUgdXNlcjogTGltaXQgZmlsZSBzaXplIHRvIDI1MG1iLCBpZiBuZWVkIHRvIHVwbG9hZCBsYXJnZXIgZmlsZSwgdHJ5IFNhZmFyaScsXG4gICAgZGlzY2xhaW1lcjpcbiAgICAgICcqa2VwbGVyLmdsIGlzIGEgY2xpZW50LXNpZGUgYXBwbGljYXRpb24gd2l0aCBubyBzZXJ2ZXIgYmFja2VuZC4gRGF0YSBsaXZlcyBvbmx5IG9uIHlvdXIgbWFjaGluZS9icm93c2VyLiAnICtcbiAgICAgICdObyBpbmZvcm1hdGlvbiBvciBtYXAgZGF0YSBpcyBzZW50IHRvIGFueSBzZXJ2ZXIuJyxcbiAgICBjb25maWdVcGxvYWRNZXNzYWdlOlxuICAgICAgJ1VwbG9hZCB7ZmlsZUZvcm1hdE5hbWVzfSBvciBzYXZlZCBtYXAgKipKc29uKiouIFJlYWQgbW9yZSBhYm91dCBbKipzdXBwb3J0ZWQgZmlsZSBmb3JtYXRzKipdJyxcbiAgICBicm93c2VGaWxlczogJ2Jyb3dzZSB5b3VyIGZpbGVzJyxcbiAgICB1cGxvYWRpbmc6ICdVcGxvYWRpbmcnLFxuICAgIGZpbGVOb3RTdXBwb3J0ZWQ6ICdGaWxlIHtlcnJvckZpbGVzfSBpcyBub3Qgc3VwcG9ydGVkLicsXG4gICAgb3I6ICdvcidcbiAgfSxcbiAgZ2VvY29kZXI6IHtcbiAgICB0aXRsZTogJ0VudGVyIGFuIGFkZHJlc3Mgb3IgY29vcmRpbmF0ZXMsIGV4IDM3Ljc5LC0xMjIuNDAnXG4gIH0sXG4gIGZpZWxkU2VsZWN0b3I6IHtcbiAgICBjbGVhckFsbDogJ0NsZWFyIEFsbCcsXG4gICAgZm9ybWF0dGluZzogJ0Zvcm1hdHRpbmcnXG4gIH0sXG4gIGNvbXBhcmU6IHtcbiAgICBtb2RlTGFiZWw6ICdDb21wYXJpc29uIE1vZGUnLFxuICAgIHR5cGVMYWJlbDogJ0NvbXBhcmlzb24gVHlwZScsXG4gICAgdHlwZXM6IHtcbiAgICAgIGFic29sdXRlOiAnQWJzb2x1dGUnLFxuICAgICAgcmVsYXRpdmU6ICdSZWxhdGl2ZSdcbiAgICB9XG4gIH0sXG4gIG1hcFBvcG92ZXI6IHtcbiAgICBwcmltYXJ5OiAnUHJpbWFyeSdcbiAgfSxcbiAgZGVuc2l0eTogJ2RlbnNpdHknLFxuICAnQnVnIFJlcG9ydCc6ICdCdWcgUmVwb3J0JyxcbiAgJ1VzZXIgR3VpZGUnOiAnVXNlciBHdWlkZScsXG4gIFNhdmU6ICdTYXZlJyxcbiAgU2hhcmU6ICdTaGFyZSdcbn07XG4iXX0=
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@carto/kepler.gl",
|
|
3
3
|
"author": "CARTO",
|
|
4
4
|
"homepage": "https://github.com/CartoDB/carto-kepler#readme",
|
|
5
|
-
"version": "0.0.
|
|
5
|
+
"version": "0.0.16-alpha.0",
|
|
6
6
|
"description": "kepler.gl is a webgl based application to visualize large scale location data in the browser",
|
|
7
7
|
"license": "MIT",
|
|
8
8
|
"main": "dist/index.js",
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
// Copyright (c) 2021 Uber Technologies, Inc.
|
|
2
|
+
//
|
|
3
|
+
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
4
|
+
// of this software and associated documentation files (the "Software"), to deal
|
|
5
|
+
// in the Software without restriction, including without limitation the rights
|
|
6
|
+
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
7
|
+
// copies of the Software, and to permit persons to whom the Software is
|
|
8
|
+
// furnished to do so, subject to the following conditions:
|
|
9
|
+
//
|
|
10
|
+
// The above copyright notice and this permission notice shall be included in
|
|
11
|
+
// all copies or substantial portions of the Software.
|
|
12
|
+
//
|
|
13
|
+
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
14
|
+
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
15
|
+
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
16
|
+
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
17
|
+
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
18
|
+
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
19
|
+
// THE SOFTWARE.
|
|
20
|
+
|
|
21
|
+
import React, {Component} from 'react';
|
|
22
|
+
import PropTypes from 'prop-types';
|
|
23
|
+
import Base from './base';
|
|
24
|
+
|
|
25
|
+
export default class SwapHorizontal extends Component {
|
|
26
|
+
static propTypes = {
|
|
27
|
+
/** Set the height of the icon, ex. '16px' */
|
|
28
|
+
height: PropTypes.string
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
static defaultProps = {
|
|
32
|
+
height: '16px',
|
|
33
|
+
predefinedClassName: 'data-ex-icons-swap-horizontal'
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
render() {
|
|
37
|
+
return (
|
|
38
|
+
<Base viewBox="0 0 24 24" {...this.props}>
|
|
39
|
+
<path d="M21,9L17,5V8H10V10H17V13M7,11L3,15L7,19V16H14V14H7V11Z" />
|
|
40
|
+
</Base>
|
|
41
|
+
);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
@@ -27,7 +27,9 @@ const propTypes = {
|
|
|
27
27
|
height: PropTypes.number,
|
|
28
28
|
className: PropTypes.string,
|
|
29
29
|
isSelected: PropTypes.bool,
|
|
30
|
-
isReversed: PropTypes.bool
|
|
30
|
+
isReversed: PropTypes.bool,
|
|
31
|
+
children: PropTypes.node,
|
|
32
|
+
rootProps: PropTypes.object
|
|
31
33
|
};
|
|
32
34
|
|
|
33
35
|
const defaultProps = {
|
|
@@ -67,13 +69,18 @@ const StyledColorBlock = styled.div.attrs({
|
|
|
67
69
|
flex-grow: 1;
|
|
68
70
|
`;
|
|
69
71
|
|
|
70
|
-
const ColorPalette = ({colors, height, className, isSelected, isReversed}) => (
|
|
71
|
-
<PaletteContainer
|
|
72
|
+
const ColorPalette = ({colors, height, className, isSelected, isReversed, children, rootProps}) => (
|
|
73
|
+
<PaletteContainer
|
|
74
|
+
className={className}
|
|
75
|
+
isSelected={isSelected}
|
|
76
|
+
{...(Boolean(rootProps) && rootProps)}
|
|
77
|
+
>
|
|
72
78
|
<PaletteWrapper style={{height, transform: `scale(${isReversed ? -1 : 1}, 1)`}}>
|
|
73
79
|
{colors.map((color, index) => (
|
|
74
80
|
<StyledColorBlock key={`${color}-${index}`} style={{backgroundColor: color}} />
|
|
75
81
|
))}
|
|
76
82
|
</PaletteWrapper>
|
|
83
|
+
{Boolean(children) && children}
|
|
77
84
|
</PaletteContainer>
|
|
78
85
|
);
|
|
79
86
|
|
|
@@ -25,7 +25,7 @@ import styled from 'styled-components';
|
|
|
25
25
|
import {createSelector} from 'reselect';
|
|
26
26
|
|
|
27
27
|
import ItemSelector from 'components/common/item-selector/item-selector';
|
|
28
|
-
import {PanelLabel} from 'components/common/styled-components';
|
|
28
|
+
import {PanelLabel, Button, Tooltip} from 'components/common/styled-components';
|
|
29
29
|
import Switch from 'components/common/switch';
|
|
30
30
|
import ColorPalette from './color-palette';
|
|
31
31
|
import CustomPalette from './custom-palette';
|
|
@@ -33,12 +33,13 @@ import {COLOR_RANGES} from 'constants/color-ranges';
|
|
|
33
33
|
import {numberSort} from 'utils/data-utils';
|
|
34
34
|
import {reverseColorRange} from 'utils/color-utils';
|
|
35
35
|
import {FormattedMessage} from 'localization';
|
|
36
|
+
import {SwapHorizontal} from 'components/common/icons';
|
|
36
37
|
|
|
37
|
-
export const ALL_TYPES = uniq(
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
);
|
|
38
|
+
export const ALL_TYPES = uniq([
|
|
39
|
+
'all',
|
|
40
|
+
...COLOR_RANGES.map(c => c.type).filter(ctype => ctype),
|
|
41
|
+
'custom'
|
|
42
|
+
]);
|
|
42
43
|
|
|
43
44
|
export const ALL_STEPS = uniq(COLOR_RANGES.map(d => d.colors.length)).sort(numberSort);
|
|
44
45
|
|
|
@@ -66,8 +67,15 @@ const StyledPaletteConfig = styled.div`
|
|
|
66
67
|
.item-selector .item-selector__dropdown {
|
|
67
68
|
${props => props.theme.secondaryInput};
|
|
68
69
|
}
|
|
70
|
+
.color-palette__config__button {
|
|
71
|
+
svg {
|
|
72
|
+
margin: 0;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
69
75
|
`;
|
|
70
76
|
|
|
77
|
+
const CONFIG_SETTINGS_CUSTOM_REVERSED_BUTTON_TYPE = 'custom-reversed-button';
|
|
78
|
+
|
|
71
79
|
const CONFIG_SETTINGS = {
|
|
72
80
|
type: {
|
|
73
81
|
type: 'select',
|
|
@@ -78,12 +86,7 @@ const CONFIG_SETTINGS = {
|
|
|
78
86
|
options: ALL_STEPS
|
|
79
87
|
},
|
|
80
88
|
reversed: {
|
|
81
|
-
type:
|
|
82
|
-
options: [true, false]
|
|
83
|
-
},
|
|
84
|
-
custom: {
|
|
85
|
-
label: 'customPalette',
|
|
86
|
-
type: 'switch',
|
|
89
|
+
type: CONFIG_SETTINGS_CUSTOM_REVERSED_BUTTON_TYPE,
|
|
87
90
|
options: [true, false]
|
|
88
91
|
}
|
|
89
92
|
};
|
|
@@ -122,7 +125,10 @@ export default class ColorRangeSelect extends Component {
|
|
|
122
125
|
);
|
|
123
126
|
|
|
124
127
|
_updateConfig = ({key, value}) => {
|
|
125
|
-
this._setColorRangeConfig({
|
|
128
|
+
this._setColorRangeConfig({
|
|
129
|
+
[key]: value,
|
|
130
|
+
...(key === 'type' && {custom: value === 'custom'})
|
|
131
|
+
});
|
|
126
132
|
};
|
|
127
133
|
|
|
128
134
|
_onSetCustomPalette = config => {
|
|
@@ -157,16 +163,21 @@ export default class ColorRangeSelect extends Component {
|
|
|
157
163
|
|
|
158
164
|
return (
|
|
159
165
|
<StyledColorRangeSelector>
|
|
160
|
-
<StyledColorConfig>
|
|
161
|
-
{
|
|
162
|
-
|
|
163
|
-
key
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
166
|
+
<StyledColorConfig className="color-range-selector__config">
|
|
167
|
+
{Object.keys(colorRangeConfig)
|
|
168
|
+
.filter(
|
|
169
|
+
key =>
|
|
170
|
+
Boolean(CONFIG_SETTINGS[key]) && (colorRangeConfig.custom ? key === 'type' : true)
|
|
171
|
+
)
|
|
172
|
+
.map(key => (
|
|
173
|
+
<PaletteConfig
|
|
174
|
+
key={key}
|
|
175
|
+
label={CONFIG_SETTINGS[key].label || key}
|
|
176
|
+
config={CONFIG_SETTINGS[key]}
|
|
177
|
+
value={colorRangeConfig[key]}
|
|
178
|
+
onChange={value => this._updateConfig({key, value})}
|
|
179
|
+
/>
|
|
180
|
+
))}
|
|
170
181
|
</StyledColorConfig>
|
|
171
182
|
|
|
172
183
|
{colorRangeConfig.custom ? (
|
|
@@ -193,11 +204,16 @@ export default class ColorRangeSelect extends Component {
|
|
|
193
204
|
}
|
|
194
205
|
|
|
195
206
|
export const PaletteConfig = ({label, value, config: {type, options}, onChange}) => (
|
|
196
|
-
<StyledPaletteConfig
|
|
207
|
+
<StyledPaletteConfig
|
|
208
|
+
className={`color-palette__config color-palette__config--${label}`}
|
|
209
|
+
onClick={e => e.stopPropagation()}
|
|
210
|
+
>
|
|
197
211
|
<div className="color-palette__config__label">
|
|
198
|
-
|
|
199
|
-
<
|
|
200
|
-
|
|
212
|
+
{type !== CONFIG_SETTINGS_CUSTOM_REVERSED_BUTTON_TYPE && (
|
|
213
|
+
<PanelLabel>
|
|
214
|
+
<FormattedMessage id={`color.${label}`} />
|
|
215
|
+
</PanelLabel>
|
|
216
|
+
)}
|
|
201
217
|
</div>
|
|
202
218
|
{type === 'select' && (
|
|
203
219
|
<div className="color-palette__config__select">
|
|
@@ -213,6 +229,22 @@ export const PaletteConfig = ({label, value, config: {type, options}, onChange})
|
|
|
213
229
|
{type === 'switch' && (
|
|
214
230
|
<Switch checked={value} id={`${label}-toggle`} onChange={() => onChange(!value)} secondary />
|
|
215
231
|
)}
|
|
232
|
+
{type === CONFIG_SETTINGS_CUSTOM_REVERSED_BUTTON_TYPE && (
|
|
233
|
+
<Button
|
|
234
|
+
className={`color-palette__config__button ${
|
|
235
|
+
value ? 'color-palette__config__button--active' : ''
|
|
236
|
+
}`}
|
|
237
|
+
data-tip
|
|
238
|
+
data-for={`${label}-tooltip`}
|
|
239
|
+
{...(!value && {link: true})}
|
|
240
|
+
onClick={() => onChange(!value)}
|
|
241
|
+
>
|
|
242
|
+
<SwapHorizontal />
|
|
243
|
+
<Tooltip id={`${label}-tooltip`} effect="solid" place="top">
|
|
244
|
+
{label}
|
|
245
|
+
</Tooltip>
|
|
246
|
+
</Button>
|
|
247
|
+
)}
|
|
216
248
|
</StyledPaletteConfig>
|
|
217
249
|
);
|
|
218
250
|
|
|
@@ -237,7 +269,15 @@ export const ColorPaletteGroup = ({reversed, onSelect, selected, colorRanges}) =
|
|
|
237
269
|
colors={colorRange.colors}
|
|
238
270
|
isReversed={reversed}
|
|
239
271
|
isSelected={colorRange.name === selected.name && reversed === Boolean(selected.reversed)}
|
|
240
|
-
|
|
272
|
+
rootProps={{
|
|
273
|
+
'data-tip': true,
|
|
274
|
+
'data-for': `color-range-${i}-tooltip`
|
|
275
|
+
}}
|
|
276
|
+
>
|
|
277
|
+
<Tooltip id={`color-range-${i}-tooltip`} effect="solid" place="top">
|
|
278
|
+
{colorRange.name}
|
|
279
|
+
</Tooltip>
|
|
280
|
+
</ColorPalette>
|
|
241
281
|
</StyledColorRange>
|
|
242
282
|
))}
|
|
243
283
|
</div>
|
|
@@ -30,6 +30,7 @@ import {VertDots, Trash} from 'components/common/icons';
|
|
|
30
30
|
import ColorPalette from './color-palette';
|
|
31
31
|
import CustomPicker from './custom-picker';
|
|
32
32
|
import {arrayMove} from 'utils/data-utils';
|
|
33
|
+
import {FormattedMessage} from 'react-intl';
|
|
33
34
|
|
|
34
35
|
const dragHandleActive = css`
|
|
35
36
|
.layer__drag-handle {
|
|
@@ -115,7 +116,9 @@ const StyledButtonContainer = styled.div`
|
|
|
115
116
|
direction: rtl;
|
|
116
117
|
`;
|
|
117
118
|
|
|
118
|
-
const StyledInlineInput = styled.div
|
|
119
|
+
const StyledInlineInput = styled.div.attrs({
|
|
120
|
+
className: 'custom-palette__input'
|
|
121
|
+
})`
|
|
119
122
|
margin-left: 12px;
|
|
120
123
|
input {
|
|
121
124
|
color: ${props => props.theme.textColorHl};
|
|
@@ -198,7 +201,6 @@ class CustomPalette extends Component {
|
|
|
198
201
|
_onApply = event => {
|
|
199
202
|
event.stopPropagation();
|
|
200
203
|
event.preventDefault();
|
|
201
|
-
this.props.onCancel();
|
|
202
204
|
this.props.onApply(this.props.customPalette, event);
|
|
203
205
|
};
|
|
204
206
|
|
|
@@ -254,27 +256,31 @@ class CustomPalette extends Component {
|
|
|
254
256
|
id={`input-layer-label-${index}`}
|
|
255
257
|
/>
|
|
256
258
|
</StyledInlineInput>
|
|
257
|
-
<StyledTrash
|
|
259
|
+
<StyledTrash
|
|
260
|
+
className="custom-palette__trash"
|
|
261
|
+
onClick={() => this._onColorDelete(index)}
|
|
262
|
+
>
|
|
258
263
|
<Trash className="trashbin" />
|
|
259
264
|
</StyledTrash>
|
|
260
265
|
</SortableItem>
|
|
261
266
|
))}
|
|
262
267
|
</WrappedSortableContainer>
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
<StyledLine />
|
|
268
|
-
{/* Cancel or Confirm Buttons */}
|
|
269
|
-
<StyledButtonContainer>
|
|
270
|
-
<Button className="confirm-apply__button" link onClick={this._onApply}>
|
|
271
|
-
Confirm
|
|
272
|
-
</Button>
|
|
273
|
-
<Button link onClick={this.props.onCancel}>
|
|
274
|
-
Cancel
|
|
268
|
+
<div className="custom-palette-actions">
|
|
269
|
+
{/* Add Step Button */}
|
|
270
|
+
<Button className="add-step__button" link onClick={this._onColorAdd}>
|
|
271
|
+
<FormattedMessage id="customPalette.addStep" />
|
|
275
272
|
</Button>
|
|
276
|
-
|
|
277
|
-
|
|
273
|
+
<StyledLine className="custom-palette-actions__separator" />
|
|
274
|
+
{/* Cancel or Confirm Buttons */}
|
|
275
|
+
<StyledButtonContainer>
|
|
276
|
+
<Button className="confirm-apply__button" link onClick={this._onApply}>
|
|
277
|
+
<FormattedMessage id="customPalette.apply" />
|
|
278
|
+
</Button>
|
|
279
|
+
<Button className="cancel-apply__button" link onClick={this.props.onCancel}>
|
|
280
|
+
<FormattedMessage id="customPalette.cancel" />
|
|
281
|
+
</Button>
|
|
282
|
+
</StyledButtonContainer>
|
|
283
|
+
</div>
|
|
278
284
|
<Portaled isOpened={this.props.showSketcher !== false} left={280} top={-300}>
|
|
279
285
|
<CustomPicker
|
|
280
286
|
color={colors[this.props.showSketcher]}
|
|
@@ -144,7 +144,8 @@ function LayerConfigGroupFactory(LayerConfigGroupLabel) {
|
|
|
144
144
|
expanded: false,
|
|
145
145
|
onChange: () => {},
|
|
146
146
|
description: null,
|
|
147
|
-
disabled: false
|
|
147
|
+
disabled: false,
|
|
148
|
+
CollapseButton: VertThreeDots
|
|
148
149
|
};
|
|
149
150
|
|
|
150
151
|
static getDerivedStateFromProps(props, state) {
|
|
@@ -153,6 +154,10 @@ function LayerConfigGroupFactory(LayerConfigGroupLabel) {
|
|
|
153
154
|
return {collapsed: false};
|
|
154
155
|
}
|
|
155
156
|
|
|
157
|
+
if (props.layer && !props.layer.config.visConfig[props.property] && !state.collapsed) {
|
|
158
|
+
return {collapsed: true};
|
|
159
|
+
}
|
|
160
|
+
|
|
156
161
|
return null;
|
|
157
162
|
}
|
|
158
163
|
|
|
@@ -169,17 +174,15 @@ function LayerConfigGroupFactory(LayerConfigGroupLabel) {
|
|
|
169
174
|
onChange,
|
|
170
175
|
collapsible,
|
|
171
176
|
description,
|
|
172
|
-
disabled
|
|
177
|
+
disabled,
|
|
178
|
+
CollapseButton
|
|
173
179
|
} = this.props;
|
|
174
180
|
|
|
175
181
|
const {collapsed} = this.state;
|
|
176
182
|
|
|
177
183
|
return (
|
|
178
184
|
<StyledLayerConfigGroup className={classnames('layer-config-group', {collapsed, disabled})}>
|
|
179
|
-
<StyledConfigGroupHeader
|
|
180
|
-
className="layer-config-group__header"
|
|
181
|
-
onClick={() => this.setState({collapsed: !this.state.collapsed})}
|
|
182
|
-
>
|
|
185
|
+
<StyledConfigGroupHeader className="layer-config-group__header">
|
|
183
186
|
<LayerConfigGroupLabel label={label} description={description} />
|
|
184
187
|
<StyledLayerConfigGroupAction className="layer-config-group__action">
|
|
185
188
|
{property ? (
|
|
@@ -189,7 +192,13 @@ function LayerConfigGroupFactory(LayerConfigGroupLabel) {
|
|
|
189
192
|
onChange={() => onChange({[property]: !layer.config.visConfig[property]})}
|
|
190
193
|
/>
|
|
191
194
|
) : null}
|
|
192
|
-
{collapsible ?
|
|
195
|
+
{collapsible ? (
|
|
196
|
+
<CollapseButton
|
|
197
|
+
onClick={() => this.setState({collapsed: !this.state.collapsed})}
|
|
198
|
+
active={!this.state.collapsed}
|
|
199
|
+
height="18px"
|
|
200
|
+
/>
|
|
201
|
+
) : null}
|
|
193
202
|
</StyledLayerConfigGroupAction>
|
|
194
203
|
</StyledConfigGroupHeader>
|
|
195
204
|
<ConfigGroupContent
|
|
@@ -951,7 +951,11 @@ export default function LayerConfiguratorFactory(
|
|
|
951
951
|
{layer.layerInfoModal ? (
|
|
952
952
|
<HowToButton onClick={() => this.props.openModal(layer.layerInfoModal)} />
|
|
953
953
|
) : null}
|
|
954
|
-
<LayerConfigGroup
|
|
954
|
+
<LayerConfigGroup
|
|
955
|
+
label={'layer.basic'}
|
|
956
|
+
collapsible={Object.keys(layer.config.columns).length > 0}
|
|
957
|
+
expanded={!layer.hasAllColumns()}
|
|
958
|
+
>
|
|
955
959
|
<LayerTypeSelector
|
|
956
960
|
datasets={datasets}
|
|
957
961
|
layer={layer}
|
|
@@ -966,17 +970,21 @@ export default function LayerConfiguratorFactory(
|
|
|
966
970
|
onSelect={value => updateLayerConfig({dataId: value})}
|
|
967
971
|
/>
|
|
968
972
|
)}
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
973
|
+
{Object.keys(layer.config.columns).length > 0 && (
|
|
974
|
+
<ConfigGroupCollapsibleContent>
|
|
975
|
+
<LayerColumnConfig
|
|
976
|
+
columnPairs={layer.columnPairs}
|
|
977
|
+
columns={layer.config.columns}
|
|
978
|
+
assignColumnPairs={layer.assignColumnPairs.bind(layer)}
|
|
979
|
+
assignColumn={layer.assignColumn.bind(layer)}
|
|
980
|
+
columnLabels={layer.columnLabels}
|
|
981
|
+
fields={fields}
|
|
982
|
+
fieldPairs={fieldPairs}
|
|
983
|
+
updateLayerConfig={updateLayerConfig}
|
|
984
|
+
updateLayerType={this.props.updateLayerType}
|
|
985
|
+
/>
|
|
986
|
+
</ConfigGroupCollapsibleContent>
|
|
987
|
+
)}
|
|
980
988
|
</LayerConfigGroup>
|
|
981
989
|
{this[renderTemplate] &&
|
|
982
990
|
this[renderTemplate]({
|