UNPKG

kepler.gl.geoiq

Version:

kepler.gl is a webgl based application to visualize large scale location data in the browser

169 lines (159 loc) 20.1 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _keymirror = _interopRequireDefault(require("keymirror")); var _defaultSettings = require("./default-settings"); function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } /** * Kepler.gl action types, can be listened by reducers to perform additional tasks whenever an action is called in kepler.gl * @constant * @type {Object} * @public * * @example * // store.js * import {handleActions} from 'redux-actions'; * import {createStore, combineReducers, applyMiddleware} from 'redux'; * import {taskMiddleware} from 'react-palm/tasks'; * * import keplerGlReducer from 'kepler.gl/reducers'; * import {ActionTypes} from 'kepler.gl/actions'; * * const appReducer = handleActions({ * // listen on kepler.gl map update action to store a copy of viewport in app state * [ActionTypes.UPDATE_MAP]: (state, action) => ({ * ...state, * viewport: action.payload * }), * }, {}); * * const reducers = combineReducers({ * app: appReducer, * keplerGl: keplerGlReducer * }); * * export default createStore(reducers, {}, applyMiddleware(taskMiddleware)) */ var ActionTypes = (0, _keymirror["default"])({ // identity action REGISTER_ENTRY: null, DELETE_ENTRY: null, RENAME_ENTRY: null, // visState ADD_DATA: null, ADD_FILTER: null, ADD_LAYER: null, INTERACTION_CONFIG_CHANGE: null, ADD_WIDGET: null, LAYER_CONFIG_CHANGE: null, LAYER_VISUAL_CHANNEL_CHANGE: null, LAYER_TYPE_CHANGE: null, LAYER_VIS_CONFIG_CHANGE: null, LAYER_TEXT_LABEL_CHANGE: null, LAYER_HOVER: null, LAYER_CLICK: null, WIDGET_CONFIG_CHANGE: null, WIDGET_VISUAL_CHANNEL_CHANGE: null, WIDGET_TYPE_CHANGE: null, MAP_CLICK: null, MOUSE_MOVE: null, REMOVE_FILTER: null, REMOVE_LAYER: null, REMOVE_DATASET: null, REMOVE_WIDGET: null, REORDER_WIDGET: null, REORDER_LAYER: null, SET_FILTER: null, SET_FILTER_API: null, SHOW_DATASET_TABLE: null, UPDATE_LAYER_BLENDING: null, UPDATE_VIS_DATA: null, TOGGLE_FILTER_ANIMATION: null, UPDATE_FILTER_ANIMATION_SPEED: null, PLAY_ANIMATION: null, UPDATE_ANIMATION_TIME: null, UPDATE_ANIMATION_SPEED: null, UPDATE_LAYER_ANIMATION_SPEED: null, TOGGLE_LAYER_CONFIG_ACTIVE: null, ENLARGE_FILTER: null, SET_VISIBLE_LAYERS_FOR_MAP: null, TOGGLE_LAYER_FOR_MAP: null, SET_FILTER_PLOT: null, LOAD_FILES: null, LOAD_FILES_ERR: null, LAYER_COLOR_UI_CHANGE: null, TOGGLE_FEATURE_LAYER: null, UPDATE_STATE_LAYER_DATA: null, ASYNC_API_CALL: null, LOAD_ED_LINK: null, LOAD_URL: null, UPDATE_DATASET_INFO: null, // mapState UPDATE_MAP: null, FIT_BOUNDS: null, TOGGLE_PERSPECTIVE: null, TOGGLE_SPLIT_MAP: null, TOGGLE_FULLSCREEN: null, // mapStyle MAP_CONFIG_CHANGE: null, SET_DEFAULT_MAP_STYLE: null, MAP_STYLE_CHANGE: null, LOAD_MAP_STYLES: null, LOAD_MAP_STYLE_ERR: null, INPUT_MAP_STYLE: null, LOAD_CUSTOM_MAP_STYLE: null, ADD_CUSTOM_MAP_STYLE: null, REQUEST_MAP_STYLES: null, SET_3D_BUILDING_COLOR: null, // uiState TOGGLE_SIDE_PANEL: null, TOGGLE_MODAL: null, SHOW_EXPORT_DROPDOWN: null, HIDE_EXPORT_DROPDOWN: null, OPEN_DELETE_MODAL: null, TOGGLE_MAP_CONTROL: null, ADD_NOTIFICATION: null, REMOVE_NOTIFICATION: null, // uiState > export image SET_RATIO: null, SET_RESOLUTION: null, TOGGLE_LEGEND: null, START_EXPORTING_IMAGE: null, SET_EXPORT_IMAGE_DATA_URI: null, SET_EXPORT_IMAGE_ERROR: null, CLEANUP_EXPORT_IMAGE: null, // uiState > export data SET_EXPORT_SELECTED_DATASET: null, SET_EXPORT_DATA_TYPE: null, SET_EXPORT_FILTERED: null, SET_EXPORT_DATA: null, // uiState > export map SET_EXPORT_MAP_FORMAT: null, SET_USER_MAPBOX_ACCESS_TOKEN: null, SET_EXPORT_MAP_HTML_MODE: null, // uiState > editor SET_EDITOR_MODE: null, SET_SELECTED_FEATURE: null, // all INIT: null, ADD_DATA_TO_MAP: null, RECEIVE_MAP_CONFIG: null, RESET_MAP_CONFIG: null, // geo-operations SET_FEATURES: null, SET_POLYGON_FILTER_LAYER: null, DELETE_FEATURE: null, TOGGLE_EDITOR_VISIBILITY: null }); var addPrefix = function addPrefix(actions) { return Object.keys(actions).reduce(function (accu, key) { return _objectSpread(_objectSpread({}, accu), {}, (0, _defineProperty2["default"])({}, key, "".concat(_defaultSettings.ACTION_PREFIX).concat(actions[key]))); }, {}); }; var _default = exports["default"] = addPrefix(ActionTypes); //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25zdGFudHMvYWN0aW9uLXR5cGVzLmpzIl0sIm5hbWVzIjpbIkFjdGlvblR5cGVzIiwiUkVHSVNURVJfRU5UUlkiLCJERUxFVEVfRU5UUlkiLCJSRU5BTUVfRU5UUlkiLCJBRERfREFUQSIsIkFERF9GSUxURVIiLCJBRERfTEFZRVIiLCJJTlRFUkFDVElPTl9DT05GSUdfQ0hBTkdFIiwiQUREX1dJREdFVCIsIkxBWUVSX0NPTkZJR19DSEFOR0UiLCJMQVlFUl9WSVNVQUxfQ0hBTk5FTF9DSEFOR0UiLCJMQVlFUl9UWVBFX0NIQU5HRSIsIkxBWUVSX1ZJU19DT05GSUdfQ0hBTkdFIiwiTEFZRVJfVEVYVF9MQUJFTF9DSEFOR0UiLCJMQVlFUl9IT1ZFUiIsIkxBWUVSX0NMSUNLIiwiV0lER0VUX0NPTkZJR19DSEFOR0UiLCJXSURHRVRfVklTVUFMX0NIQU5ORUxfQ0hBTkdFIiwiV0lER0VUX1RZUEVfQ0hBTkdFIiwiTUFQX0NMSUNLIiwiTU9VU0VfTU9WRSIsIlJFTU9WRV9GSUxURVIiLCJSRU1PVkVfTEFZRVIiLCJSRU1PVkVfREFUQVNFVCIsIlJFTU9WRV9XSURHRVQiLCJSRU9SREVSX1dJREdFVCIsIlJFT1JERVJfTEFZRVIiLCJTRVRfRklMVEVSIiwiU0VUX0ZJTFRFUl9BUEkiLCJTSE9XX0RBVEFTRVRfVEFCTEUiLCJVUERBVEVfTEFZRVJfQkxFTkRJTkciLCJVUERBVEVfVklTX0RBVEEiLCJUT0dHTEVfRklMVEVSX0FOSU1BVElPTiIsIlVQREFURV9GSUxURVJfQU5JTUFUSU9OX1NQRUVEIiwiUExBWV9BTklNQVRJT04iLCJVUERBVEVfQU5JTUFUSU9OX1RJTUUiLCJVUERBVEVfQU5JTUFUSU9OX1NQRUVEIiwiVVBEQVRFX0xBWUVSX0FOSU1BVElPTl9TUEVFRCIsIlRPR0dMRV9MQVlFUl9DT05GSUdfQUNUSVZFIiwiRU5MQVJHRV9GSUxURVIiLCJTRVRfVklTSUJMRV9MQVlFUlNfRk9SX01BUCIsIlRPR0dMRV9MQVlFUl9GT1JfTUFQIiwiU0VUX0ZJTFRFUl9QTE9UIiwiTE9BRF9GSUxFUyIsIkxPQURfRklMRVNfRVJSIiwiTEFZRVJfQ09MT1JfVUlfQ0hBTkdFIiwiVE9HR0xFX0ZFQVRVUkVfTEFZRVIiLCJVUERBVEVfU1RBVEVfTEFZRVJfREFUQSIsIkFTWU5DX0FQSV9DQUxMIiwiTE9BRF9FRF9MSU5LIiwiTE9BRF9VUkwiLCJVUERBVEVfREFUQVNFVF9JTkZPIiwiVVBEQVRFX01BUCIsIkZJVF9CT1VORFMiLCJUT0dHTEVfUEVSU1BFQ1RJVkUiLCJUT0dHTEVfU1BMSVRfTUFQIiwiVE9HR0xFX0ZVTExTQ1JFRU4iLCJNQVBfQ09ORklHX0NIQU5HRSIsIlNFVF9ERUZBVUxUX01BUF9TVFlMRSIsIk1BUF9TVFlMRV9DSEFOR0UiLCJMT0FEX01BUF9TVFlMRVMiLCJMT0FEX01BUF9TVFlMRV9FUlIiLCJJTlBVVF9NQVBfU1RZTEUiLCJMT0FEX0NVU1RPTV9NQVBfU1RZTEUiLCJBRERfQ1VTVE9NX01BUF9TVFlMRSIsIlJFUVVFU1RfTUFQX1NUWUxFUyIsIlNFVF8zRF9CVUlMRElOR19DT0xPUiIsIlRPR0dMRV9TSURFX1BBTkVMIiwiVE9HR0xFX01PREFMIiwiU0hPV19FWFBPUlRfRFJPUERPV04iLCJISURFX0VYUE9SVF9EUk9QRE9XTiIsIk9QRU5fREVMRVRFX01PREFMIiwiVE9HR0xFX01BUF9DT05UUk9MIiwiQUREX05PVElGSUNBVElPTiIsIlJFTU9WRV9OT1RJRklDQVRJT04iLCJTRVRfUkFUSU8iLCJTRVRfUkVTT0xVVElPTiIsIlRPR0dMRV9MRUdFTkQiLCJTVEFSVF9FWFBPUlRJTkdfSU1BR0UiLCJTRVRfRVhQT1JUX0lNQUdFX0RBVEFfVVJJIiwiU0VUX0VYUE9SVF9JTUFHRV9FUlJPUiIsIkNMRUFOVVBfRVhQT1JUX0lNQUdFIiwiU0VUX0VYUE9SVF9TRUxFQ1RFRF9EQVRBU0VUIiwiU0VUX0VYUE9SVF9EQVRBX1RZUEUiLCJTRVRfRVhQT1JUX0ZJTFRFUkVEIiwiU0VUX0VYUE9SVF9EQVRBIiwiU0VUX0VYUE9SVF9NQVBfRk9STUFUIiwiU0VUX1VTRVJfTUFQQk9YX0FDQ0VTU19UT0tFTiIsIlNFVF9FWFBPUlRfTUFQX0hUTUxfTU9ERSIsIlNFVF9FRElUT1JfTU9ERSIsIlNFVF9TRUxFQ1RFRF9GRUFUVVJFIiwiSU5JVCIsIkFERF9EQVRBX1RPX01BUCIsIlJFQ0VJVkVfTUFQX0NPTkZJRyIsIlJFU0VUX01BUF9DT05GSUciLCJTRVRfRkVBVFVSRVMiLCJTRVRfUE9MWUdPTl9GSUxURVJfTEFZRVIiLCJERUxFVEVfRkVBVFVSRSIsIlRPR0dMRV9FRElUT1JfVklTSUJJTElUWSIsImFkZFByZWZpeCIsImFjdGlvbnMiLCJPYmplY3QiLCJrZXlzIiwicmVkdWNlIiwiYWNjdSIsImtleSIsIkFDVElPTl9QUkVGSVgiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBb0JBOztBQUNBOzs7Ozs7QUFFQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBOEJBLElBQU1BLFdBQVcsR0FBRywyQkFBVTtBQUM1QjtBQUNBQyxFQUFBQSxjQUFjLEVBQUUsSUFGWTtBQUc1QkMsRUFBQUEsWUFBWSxFQUFFLElBSGM7QUFJNUJDLEVBQUFBLFlBQVksRUFBRSxJQUpjO0FBTTVCO0FBQ0FDLEVBQUFBLFFBQVEsRUFBRSxJQVBrQjtBQVE1QkMsRUFBQUEsVUFBVSxFQUFFLElBUmdCO0FBUzVCQyxFQUFBQSxTQUFTLEVBQUUsSUFUaUI7QUFVNUJDLEVBQUFBLHlCQUF5QixFQUFFLElBVkM7QUFXNUJDLEVBQUFBLFVBQVUsRUFBRSxJQVhnQjtBQVk1QkMsRUFBQUEsbUJBQW1CLEVBQUUsSUFaTztBQWE1QkMsRUFBQUEsMkJBQTJCLEVBQUUsSUFiRDtBQWM1QkMsRUFBQUEsaUJBQWlCLEVBQUUsSUFkUztBQWU1QkMsRUFBQUEsdUJBQXVCLEVBQUUsSUFmRztBQWdCNUJDLEVBQUFBLHVCQUF1QixFQUFFLElBaEJHO0FBaUI1QkMsRUFBQUEsV0FBVyxFQUFFLElBakJlO0FBa0I1QkMsRUFBQUEsV0FBVyxFQUFFLElBbEJlO0FBbUI1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U0FDdkJDLE1BQU0sQ0FBQ0MsSUFBUCxDQUFZRixPQUFaLEVBQXFCRyxNQUFyQixDQUNFLFVBQUNDLElBQUQsRUFBT0MsR0FBUDtBQUFBLDJDQUNLRCxJQURMLDRDQUVHQyxHQUZILFlBRVlDLDhCQUZaLFNBRTRCTixPQUFPLENBQUNLLEdBQUQsQ0FGbkM7QUFBQSxHQURGLEVBS0UsRUFMRixDQUR1QjtBQUFBLENBQXpCOztvQ0FTZU4sU0FBUyxDQUFDbkcsV0FBRCxDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIzIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IGtleU1pcnJvciBmcm9tICdrZXltaXJyb3InO1xuaW1wb3J0IHtBQ1RJT05fUFJFRklYfSBmcm9tICcuL2RlZmF1bHQtc2V0dGluZ3MnO1xuXG4vKipcbiAqIEtlcGxlci5nbCBhY3Rpb24gdHlwZXMsIGNhbiBiZSBsaXN0ZW5lZCBieSByZWR1Y2VycyB0byBwZXJmb3JtIGFkZGl0aW9uYWwgdGFza3Mgd2hlbmV2ZXIgYW4gYWN0aW9uIGlzIGNhbGxlZCBpbiBrZXBsZXIuZ2xcbiAqIEBjb25zdGFudFxuICogQHR5cGUge09iamVjdH1cbiAqIEBwdWJsaWNcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gc3RvcmUuanNcbiAqIGltcG9ydCB7aGFuZGxlQWN0aW9uc30gZnJvbSAncmVkdXgtYWN0aW9ucyc7XG4gKiBpbXBvcnQge2NyZWF0ZVN0b3JlLCBjb21iaW5lUmVkdWNlcnMsIGFwcGx5TWlkZGxld2FyZX0gZnJvbSAncmVkdXgnO1xuICogaW1wb3J0IHt0YXNrTWlkZGxld2FyZX0gZnJvbSAncmVhY3QtcGFsbS90YXNrcyc7XG4gKlxuICogaW1wb3J0IGtlcGxlckdsUmVkdWNlciBmcm9tICdrZXBsZXIuZ2wvcmVkdWNlcnMnO1xuICogaW1wb3J0IHtBY3Rpb25UeXBlc30gZnJvbSAna2VwbGVyLmdsL2FjdGlvbnMnO1xuICpcbiAqIGNvbnN0IGFwcFJlZHVjZXIgPSBoYW5kbGVBY3Rpb25zKHtcbiAqICAgLy8gbGlzdGVuIG9uIGtlcGxlci5nbCBtYXAgdXBkYXRlIGFjdGlvbiB0byBzdG9yZSBhIGNvcHkgb2Ygdmlld3BvcnQgaW4gYXBwIHN0YXRlXG4gKiAgIFtBY3Rpb25UeXBlcy5VUERBVEVfTUFQXTogKHN0YXRlLCBhY3Rpb24pID0+ICh7XG4gKiAgICAgLi4uc3RhdGUsXG4gKiAgICAgdmlld3BvcnQ6IGFjdGlvbi5wYXlsb2FkXG4gKiAgIH0pLFxuICogfSwge30pO1xuICpcbiAqIGNvbnN0IHJlZHVjZXJzID0gY29tYmluZVJlZHVjZXJzKHtcbiAqICAgYXBwOiBhcHBSZWR1Y2VyLFxuICogICBrZXBsZXJHbDoga2VwbGVyR2xSZWR1Y2VyXG4gKiB9KTtcbiAqXG4gKiBleHBvcnQgZGVmYXVsdCBjcmVhdGVTdG9yZShyZWR1Y2Vycywge30sIGFwcGx5TWlkZGxld2FyZSh0YXNrTWlkZGxld2FyZSkpXG4gKi9cbmNvbnN0IEFjdGlvblR5cGVzID0ga2V5TWlycm9yKHtcbiAgLy8gaWRlbnRpdHkgYWN0aW9uXG4gIFJFR0lTVEVSX0VOVFJZOiBudWxsLFxuICBERUxFVEVfRU5UUlk6IG51bGwsXG4gIFJFTkFNRV9FTlRSWTogbnVsbCxcblxuICAvLyB2aXNTdGF0ZVxuICBBRERfREFUQTogbnVsbCxcbiAgQUREX0ZJTFRFUjogbnVsbCxcbiAgQUREX0xBWUVSOiBudWxsLFxuICBJTlRFUkFDVElPTl9DT05GSUdfQ0hBTkdFOiBudWxsLFxuICBBRERfV0lER0VUOiBudWxsLFxuICBMQVlFUl9DT05GSUdfQ0hBTkdFOiBudWxsLFxuICBMQVlFUl9WSVNVQUxfQ0hBTk5FTF9DSEFOR0U6IG51bGwsXG4gIExBWUVSX1RZUEVfQ0hBTkdFOiBudWxsLFxuICBMQVlFUl9WSVNfQ09ORklHX0NIQU5HRTogbnVsbCxcbiAgTEFZRVJfVEVYVF9MQUJFTF9DSEFOR0U6IG51bGwsXG4gIExBWUVSX0hPVkVSOiBudWxsLFxuICBMQVlFUl9DTElDSzogbnVsbCxcbiAgV0lER0VUX0NPTkZJR19DSEFOR0U6IG51bGwsXG4gIFdJREdFVF9WSVNVQUxfQ0hBTk5FTF9DSEFOR0U6IG51bGwsXG4gIFdJREdFVF9UWVBFX0NIQU5HRTogbnVsbCxcbiAgTUFQX0NMSUNLOiBudWxsLFxuICBNT1VTRV9NT1ZFOiBudWxsLFxuICBSRU1PVkVfRklMVEVSOiBudWxsLFxuICBSRU1PVkVfTEFZRVI6IG51bGwsXG4gIFJFTU9WRV9EQVRBU0VUOiBudWxsLFxuICBSRU1PVkVfV0lER0VUOiBudWxsLFxuICBSRU9SREVSX1dJREdFVDogbnVsbCxcbiAgUkVPUkRFUl9MQVlFUjogbnVsbCxcbiAgU0VUX0ZJTFRFUjogbnVsbCxcbiAgU0VUX0ZJTFRFUl9BUEk6IG51bGwsXG4gIFNIT1dfREFUQVNFVF9UQUJMRTogbnVsbCxcbiAgVVBEQVRFX0xBWUVSX0JMRU5ESU5HOiBudWxsLFxuICBVUERBVEVfVklTX0RBVEE6IG51bGwsXG4gIFRPR0dMRV9GSUxURVJfQU5JTUFUSU9OOiBudWxsLFxuICBVUERBVEVfRklMVEVSX0FOSU1BVElPTl9TUEVFRDogbnVsbCxcbiAgUExBWV9BTklNQVRJT046IG51bGwsXG4gIFVQREFURV9BTklNQVRJT05fVElNRTogbnVsbCxcbiAgVVBEQVRFX0FOSU1BVElPTl9TUEVFRDogbnVsbCxcbiAgVVBEQVRFX0xBWUVSX0FOSU1BVElPTl9TUEVFRDogbnVsbCxcbiAgVE9HR0xFX0xBWUVSX0NPTkZJR19BQ1RJVkU6IG51bGwsXG4gIEVOTEFSR0VfRklMVEVSOiBudWxsLFxuICBTRVRfVklTSUJMRV9MQVlFUlNfRk9SX01BUDogbnVsbCxcbiAgVE9HR0xFX0xBWUVSX0ZPUl9NQVA6IG51bGwsXG4gIFNFVF9GSUxURVJfUExPVDogbnVsbCxcbiAgTE9BRF9GSUxFUzogbnVsbCxcbiAgTE9BRF9GSUxFU19FUlI6IG51bGwsXG4gIExBWUVSX0NPTE9SX1VJX0NIQU5HRTogbnVsbCxcbiAgVE9HR0xFX0ZFQVRVUkVfTEFZRVI6IG51bGwsXG4gIFVQREFURV9TVEFURV9MQVlFUl9EQVRBOiBudWxsLFxuICBBU1lOQ19BUElfQ0FMTDogbnVsbCxcbiAgTE9BRF9FRF9MSU5LOiBudWxsLFxuICBMT0FEX1VSTDogbnVsbCxcbiAgVVBEQVRFX0RBVEFTRVRfSU5GTzogbnVsbCxcblxuICAvLyBtYXBTdGF0ZVxuICBVUERBVEVfTUFQOiBudWxsLFxuICBGSVRfQk9VTkRTOiBudWxsLFxuICBUT0dHTEVfUEVSU1BFQ1RJVkU6IG51bGwsXG4gIFRPR0dMRV9TUExJVF9NQVA6IG51bGwsXG4gIFRPR0dMRV9GVUxMU0NSRUVOOiBudWxsLFxuXG4gIC8vIG1hcFN0eWxlXG4gIE1BUF9DT05GSUdfQ0hBTkdFOiBudWxsLFxuICBTRVRfREVGQVVMVF9NQVBfU1RZTEU6IG51bGwsXG4gIE1BUF9TVFlMRV9DSEFOR0U6IG51bGwsXG4gIExPQURfTUFQX1NUWUxFUzogbnVsbCxcbiAgTE9BRF9NQVBfU1RZTEVfRVJSOiBudWxsLFxuICBJTlBVVF9NQVBfU1RZTEU6IG51bGwsXG4gIExPQURfQ1VTVE9NX01BUF9TVFlMRTogbnVsbCxcbiAgQUREX0NVU1RPTV9NQVBfU1RZTEU6IG51bGwsXG4gIFJFUVVFU1RfTUFQX1NUWUxFUzogbnVsbCxcbiAgU0VUXzNEX0JVSUxESU5HX0NPTE9SOiBudWxsLFxuXG4gIC8vIHVpU3RhdGVcbiAgVE9HR0xFX1NJREVfUEFORUw6IG51bGwsXG4gIFRPR0dMRV9NT0RBTDogbnVsbCxcbiAgU0hPV19FWFBPUlRfRFJPUERPV046IG51bGwsXG4gIEhJREVfRVhQT1JUX0RST1BET1dOOiBudWxsLFxuICBPUEVOX0RFTEVURV9NT0RBTDogbnVsbCxcbiAgVE9HR0xFX01BUF9DT05UUk9MOiBudWxsLFxuICBBRERfTk9USUZJQ0FUSU9OOiBudWxsLFxuICBSRU1PVkVfTk9USUZJQ0FUSU9OOiBudWxsLFxuXG4gIC8vIHVpU3RhdGUgPiBleHBvcnQgaW1hZ2VcbiAgU0VUX1JBVElPOiBudWxsLFxuICBTRVRfUkVTT0xVVElPTjogbnVsbCxcbiAgVE9HR0xFX0xFR0VORDogbnVsbCxcbiAgU1RBUlRfRVhQT1JUSU5HX0lNQUdFOiBudWxsLFxuICBTRVRfRVhQT1JUX0lNQUdFX0RBVEFfVVJJOiBudWxsLFxuICBTRVRfRVhQT1JUX0lNQUdFX0VSUk9SOiBudWxsLFxuICBDTEVBTlVQX0VYUE9SVF9JTUFHRTogbnVsbCxcblxuICAvLyB1aVN0YXRlID4gZXhwb3J0IGRhdGFcbiAgU0VUX0VYUE9SVF9TRUxFQ1RFRF9EQVRBU0VUOiBudWxsLFxuICBTRVRfRVhQT1JUX0RBVEFfVFlQRTogbnVsbCxcbiAgU0VUX0VYUE9SVF9GSUxURVJFRDogbnVsbCxcbiAgU0VUX0VYUE9SVF9EQVRBOiBudWxsLFxuXG4gIC8vIHVpU3RhdGUgPiBleHBvcnQgbWFwXG4gIFNFVF9FWFBPUlRfTUFQX0ZPUk1BVDogbnVsbCxcbiAgU0VUX1VTRVJfTUFQQk9YX0FDQ0VTU19UT0tFTjogbnVsbCxcbiAgU0VUX0VYUE9SVF9NQVBfSFRNTF9NT0RFOiBudWxsLFxuXG4gIC8vIHVpU3RhdGUgPiBlZGl0b3JcbiAgU0VUX0VESVRPUl9NT0RFOiBudWxsLFxuICBTRVRfU0VMRUNURURfRkVBVFVSRTogbnVsbCxcblxuICAvLyBhbGxcbiAgSU5JVDogbnVsbCxcbiAgQUREX0RBVEFfVE9fTUFQOiBudWxsLFxuICBSRUNFSVZFX01BUF9DT05GSUc6IG51bGwsXG4gIFJFU0VUX01BUF9DT05GSUc6IG51bGwsXG5cbiAgLy8gZ2VvLW9wZXJhdGlvbnNcbiAgU0VUX0ZFQVRVUkVTOiBudWxsLFxuICBTRVRfUE9MWUdPTl9GSUxURVJfTEFZRVI6IG51bGwsXG4gIERFTEVURV9GRUFUVVJFOiBudWxsLFxuICBUT0dHTEVfRURJVE9SX1ZJU0lCSUxJVFk6IG51bGxcbn0pO1xuXG5jb25zdCBhZGRQcmVmaXggPSBhY3Rpb25zID0+XG4gIE9iamVjdC5rZXlzKGFjdGlvbnMpLnJlZHVjZShcbiAgICAoYWNjdSwga2V5KSA9PiAoe1xuICAgICAgLi4uYWNjdSxcbiAgICAgIFtrZXldOiBgJHtBQ1RJT05fUFJFRklYfSR7YWN0aW9uc1trZXldfWBcbiAgICB9KSxcbiAgICB7fVxuICApO1xuXG5leHBvcnQgZGVmYXVsdCBhZGRQcmVmaXgoQWN0aW9uVHlwZXMpO1xuIl19