@kepler.gl/duckdb 3.1.0-alpha.6 → 3.1.0-alpha.7
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/preview-data-panel.js +1 -3
- package/dist/components/sql-panel.js +6 -2
- package/dist/components/tree.js +5 -4
- package/dist/plugin.d.ts +1 -0
- package/dist/plugin.js +2 -1
- package/dist/processors/data-processor.js +4 -5
- package/dist/table/duckdb-table-utils.d.ts +13 -0
- package/dist/table/duckdb-table-utils.js +110 -0
- package/dist/table/duckdb-table.d.ts +7 -2
- package/dist/table/duckdb-table.js +189 -44
- package/package.json +6 -6
|
@@ -42,8 +42,6 @@ var PreviewDataPanelWOTheme = function PreviewDataPanelWOTheme(_ref) {
|
|
|
42
42
|
return (0, _processors.arrowSchemaToFields)(result.schema);
|
|
43
43
|
}, [result.schema]);
|
|
44
44
|
var dataContainer = (0, _react.useMemo)(function () {
|
|
45
|
-
// const fields = arrowSchemaToFields(result.schema);
|
|
46
|
-
|
|
47
45
|
var cols = (0, _toConsumableArray2["default"])(Array(result.numCols).keys()).map(function (i) {
|
|
48
46
|
return result.getChildAt(i);
|
|
49
47
|
});
|
|
@@ -135,4 +133,4 @@ var PreviewDataPanelWOTheme = function PreviewDataPanelWOTheme(_ref) {
|
|
|
135
133
|
});
|
|
136
134
|
};
|
|
137
135
|
var PreviewDataPanel = exports.PreviewDataPanel = (0, _styledComponents.withTheme)(PreviewDataPanelWOTheme);
|
|
138
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfY29tcG9uZW50cyIsIl91dGlscyIsIl9wcm9jZXNzb3JzIiwiX3N0eWxlZENvbXBvbmVudHMiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJvd25LZXlzIiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsIm8iLCJmaWx0ZXIiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJERUZBVUxUX1JPV1NfVE9fQ0FMQ1VMQVRFX1BSRVZJRVciLCJtaW5DZWxsU2l6ZSIsIm9wdGlvbkJ1dHRvbldpZHRoIiwicGluQnV0dG9uIiwiY2VsbFBhZGRpbmciLCJQcmV2aWV3RGF0YVBhbmVsV09UaGVtZSIsIl9yZWYiLCJyZXN1bHQiLCJfcmVmJHJvd3NUb0NhbGN1bGF0ZVAiLCJyb3dzVG9DYWxjdWxhdGVQcmV2aWV3Iiwic2V0Q29sdW1uRGlzcGxheUZvcm1hdCIsIl9yZWYkZGVmYXVsdFBpbm5lZENvbCIsImRlZmF1bHRQaW5uZWRDb2x1bW5zIiwidGhlbWUiLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJwaW5uZWRDb2x1bW5zIiwic2V0UGlubmVkQ29sdW1ucyIsImZpZWxkcyIsInVzZU1lbW8iLCJhcnJvd1NjaGVtYVRvRmllbGRzIiwic2NoZW1hIiwiZGF0YUNvbnRhaW5lciIsImNvbHMiLCJfdG9Db25zdW1hYmxlQXJyYXkyIiwiQXJyYXkiLCJudW1Db2xzIiwibWFwIiwiZ2V0Q2hpbGRBdCIsImNyZWF0ZURhdGFDb250YWluZXIiLCJpbnB1dERhdGFGb3JtYXQiLCJEYXRhRm9ybSIsIkNPTFNfQVJSQVkiLCJjb2x1bW5zIiwiZiIsIm5hbWUiLCJjb2xNZXRhIiwicmVkdWNlIiwiYWNjIiwiX3JlZjIiLCJjb2xJZHgiLCJkaXNwbGF5TmFtZSIsInR5cGUiLCJkaXNwbGF5Rm9ybWF0IiwidW5kZWZpbmVkIiwiY29weVRhYmxlQ29sdW1uIiwidXNlQ2FsbGJhY2siLCJjb2x1bW4iLCJfbmF2aWdhdG9yIiwiX2NvbE1ldGEkY29sdW1uIiwidGV4dCIsIm1hcEluZGV4Iiwicm93IiwicGFyc2VGaWVsZFZhbHVlIiwidmFsdWVBdCIsImluZGV4Iiwiam9pbiIsIm5hdmlnYXRvciIsImNsaXBib2FyZCIsIndyaXRlVGV4dCIsInBpblRhYmxlQ29sdW1uIiwiaW5jbHVkZXMiLCJjIiwiY29uY2F0IiwiZGF0YVRhYmxlU3R5bGUiLCJvcHRpb25zQnV0dG9uIiwiZmllbGRUb2tlbldpZHRoIiwiZmllbGRUb2tlblJpZ2h0TWFyZ2luIiwiZm9udFNpemUiLCJjZWxsRm9udFNpemUiLCJmb250IiwiZm9udEZhbWlseSIsImNlbGxTaXplQ2FjaGUiLCJfY29sTWV0YSRjb2x1bW4yIiwicmVuZGVyZWRTaXplIiwibnVtUm93c1RvQ2FsY3VsYXRlIiwiY3JlYXRlRWxlbWVudCIsIkRhdGFUYWJsZSIsIlByZXZpZXdEYXRhUGFuZWwiLCJleHBvcnRzIiwid2l0aFRoZW1lIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbXBvbmVudHMvcHJldmlldy1kYXRhLXBhbmVsLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgUmVhY3QsIHt1c2VDYWxsYmFjaywgdXNlTWVtbywgdXNlU3RhdGUsIENTU1Byb3BlcnRpZXN9IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHtEYXRhVGFibGUsIHJlbmRlcmVkU2l6ZX0gZnJvbSAnQGtlcGxlci5nbC9jb21wb25lbnRzJztcbmltcG9ydCB7cGFyc2VGaWVsZFZhbHVlLCBjcmVhdGVEYXRhQ29udGFpbmVyfSBmcm9tICdAa2VwbGVyLmdsL3V0aWxzJztcbmltcG9ydCB7YXJyb3dTY2hlbWFUb0ZpZWxkc30gZnJvbSAnQGtlcGxlci5nbC9wcm9jZXNzb3JzJztcbmltcG9ydCB7RGF0YUZvcm19IGZyb20gJ0BrZXBsZXIuZ2wvdXRpbHMnO1xuaW1wb3J0IHt3aXRoVGhlbWV9IGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcblxudHlwZSBCYXNlQ29tcG9uZW50UHJvcHMgPSB7XG4gIGNsYXNzTmFtZT86IHN0cmluZztcbiAgc3R5bGU/OiBDU1NQcm9wZXJ0aWVzO1xufTtcblxuY29uc3QgREVGQVVMVF9ST1dTX1RPX0NBTENVTEFURV9QUkVWSUVXID0gMTAwO1xuLy8gbWluIENlbGxzaXplIHNob3VsZCB0YWtlIGludG8gYWNjb3VudCBvcHRpb24gYnV0dG9uIGFuZCBmaWVsZCB0b2tlblxuY29uc3QgbWluQ2VsbFNpemUgPSA4MDtcbi8vIG9wdGlvbiBidXR0b25zIGFuZCBmaWVsZCB0b2tlblxuY29uc3Qgb3B0aW9uQnV0dG9uV2lkdGggPSAyMDtcbmNvbnN0IHBpbkJ1dHRvbiA9IDIwO1xuY29uc3QgY2VsbFBhZGRpbmcgPSAyMDtcblxuZXhwb3J0IHR5cGUgQ29sTWV0YSA9IHtcbiAgW2tleTogc3RyaW5nXToge1xuICAgIGNvbElkeDogbnVtYmVyO1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBkaXNwbGF5TmFtZTogc3RyaW5nO1xuICAgIHR5cGU6IHN0cmluZztcbiAgfTtcbn07XG5cbmV4cG9ydCB0eXBlIERhdGFUYWJsZVN0eWxlID0ge1xuICBtaW5DZWxsU2l6ZT86IG51bWJlcjtcbiAgY2VsbFBhZGRpbmc/OiBudW1iZXI7XG4gIGZvbnRTaXplPzogbnVtYmVyO1xuICBmb250Pzogc3RyaW5nO1xuICBvcHRpb25zQnV0dG9uPzogbnVtYmVyO1xufTtcblxuZXhwb3J0IHR5cGUgUHJldmlld0RhdGFQYW5lbFByb3BzID0gQmFzZUNvbXBvbmVudFByb3BzICYge1xuICByZXN1bHQ6IGFueTtcbiAgcm93c1RvQ2FsY3VsYXRlUHJldmlldz86IG51bWJlcjtcbiAgdGhlbWU/OiBhbnk7XG4gIHNldENvbHVtbkRpc3BsYXlGb3JtYXQ/OiAoZm9ybWF0czoge1trZXk6IHN0cmluZ106IHN0cmluZ30pID0+IHZvaWQ7XG4gIGRlZmF1bHRQaW5uZWRDb2x1bW5zPzogc3RyaW5nW107XG4gIGRhdGFUYWJsZVN0eWxlOiBEYXRhVGFibGVTdHlsZTtcbiAgb25BZGRSZXN1bHRUb01hcDogKHJlc3VsdDogYW55KSA9PiB2b2lkO1xufTtcblxuY29uc3QgUHJldmlld0RhdGFQYW5lbFdPVGhlbWU6IFJlYWN0LkZDPFByZXZpZXdEYXRhUGFuZWxQcm9wcz4gPSAoe1xuICByZXN1bHQsXG4gIHJvd3NUb0NhbGN1bGF0ZVByZXZpZXcgPSBERUZBVUxUX1JPV1NfVE9fQ0FMQ1VMQVRFX1BSRVZJRVcsXG4gIHNldENvbHVtbkRpc3BsYXlGb3JtYXQsXG4gIGRlZmF1bHRQaW5uZWRDb2x1bW5zID0gW10sXG4gIHRoZW1lXG59KSA9PiB7XG4gIGNvbnN0IFtwaW5uZWRDb2x1bW5zLCBzZXRQaW5uZWRDb2x1bW5zXSA9IHVzZVN0YXRlPHN0cmluZ1tdPihkZWZhdWx0UGlubmVkQ29sdW1ucyk7XG4gIGNvbnN0IGZpZWxkcyA9IHVzZU1lbW8oKCkgPT4gYXJyb3dTY2hlbWFUb0ZpZWxkcyhyZXN1bHQuc2NoZW1hKSwgW3Jlc3VsdC5zY2hlbWFdKTtcbiAgY29uc3QgZGF0YUNvbnRhaW5lciA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIC8vIGNvbnN0IGZpZWxkcyA9IGFycm93U2NoZW1hVG9GaWVsZHMocmVzdWx0LnNjaGVtYSk7XG5cbiAgICBjb25zdCBjb2xzID0gWy4uLkFycmF5KHJlc3VsdC5udW1Db2xzKS5rZXlzKCldLm1hcChpID0+IHJlc3VsdC5nZXRDaGlsZEF0KGkpKTtcblxuICAgIGNvbnN0IGRhdGFDb250YWluZXIgPSBjcmVhdGVEYXRhQ29udGFpbmVyKGNvbHMsIHtcbiAgICAgIGZpZWxkcyxcbiAgICAgIGlucHV0RGF0YUZvcm1hdDogRGF0YUZvcm0uQ09MU19BUlJBWVxuICAgIH0pO1xuICAgIHJldHVybiBkYXRhQ29udGFpbmVyO1xuICB9LCBbcmVzdWx0LCBmaWVsZHNdKTtcblxuICBjb25zdCBjb2x1bW5zID0gdXNlTWVtbygoKSA9PiBmaWVsZHMubWFwKGYgPT4gZi5uYW1lKSwgW2ZpZWxkc10pO1xuICBjb25zdCBjb2xNZXRhID0gdXNlTWVtbyhcbiAgICAoKSA9PlxuICAgICAgZmllbGRzLnJlZHVjZShcbiAgICAgICAgKGFjYywge25hbWUsIGRpc3BsYXlOYW1lLCB0eXBlLCBkaXNwbGF5Rm9ybWF0fSwgY29sSWR4KSA9PiAoe1xuICAgICAgICAgIC4uLmFjYyxcbiAgICAgICAgICBbbmFtZV06IHtcbiAgICAgICAgICAgIC8vIGJlY2F1c2UgJycgfHwgJ2FhYScgPSAnYWFhJ1xuICAgICAgICAgICAgbmFtZTogZGlzcGxheU5hbWUgIT09IHVuZGVmaW5lZCA/IGRpc3BsYXlOYW1lIDogbmFtZSxcbiAgICAgICAgICAgIGRpc3BsYXlOYW1lLFxuICAgICAgICAgICAgZGlzcGxheUZvcm1hdCxcbiAgICAgICAgICAgIHR5cGUsXG4gICAgICAgICAgICBjb2xJZHhcbiAgICAgICAgICB9XG4gICAgICAgIH0pLFxuICAgICAgICB7fVxuICAgICAgKSxcbiAgICBbZmllbGRzXVxuICApO1xuICBjb25zdCBjb3B5VGFibGVDb2x1bW4gPSB1c2VDYWxsYmFjayhcbiAgICBjb2x1bW4gPT4ge1xuICAgICAgY29uc3Qge2NvbElkeCwgdHlwZX0gPSBjb2xNZXRhW2NvbHVtbl07XG4gICAgICBjb25zdCB0ZXh0ID0gZGF0YUNvbnRhaW5lclxuICAgICAgICAubWFwSW5kZXgocm93ID0+IHBhcnNlRmllbGRWYWx1ZShkYXRhQ29udGFpbmVyLnZhbHVlQXQocm93LmluZGV4LCBjb2xJZHgpLCB0eXBlKSlcbiAgICAgICAgLmpvaW4oJ1xcbicpO1xuICAgICAgbmF2aWdhdG9yPy5jbGlwYm9hcmQud3JpdGVUZXh0KHRleHQpO1xuICAgIH0sXG4gICAgW2NvbE1ldGEsIGRhdGFDb250YWluZXJdXG4gICk7XG4gIGNvbnN0IHBpblRhYmxlQ29sdW1uID0gdXNlQ2FsbGJhY2soXG4gICAgY29sdW1uID0+XG4gICAgICBwaW5uZWRDb2x1bW5zLmluY2x1ZGVzKGNvbHVtbilcbiAgICAgICAgPyBzZXRQaW5uZWRDb2x1bW5zKHBpbm5lZENvbHVtbnMuZmlsdGVyKGMgPT4gYyAhPT0gY29sdW1uKSlcbiAgICAgICAgOiBzZXRQaW5uZWRDb2x1bW5zKFsuLi5waW5uZWRDb2x1bW5zLCBjb2x1bW5dKSxcbiAgICBbcGlubmVkQ29sdW1uc11cbiAgKTtcblxuICAvLyBUT0RPIFBvdGVudGlhbGx5IGNvc3RseSBvcGVyYXRpb24gZm9yIG5vbiByb3cgYmFzZWQgZGF0YSBjb250YWluZXJzLiBSZXZpc2l0IHNvcnRpbmcgYmVsb3cuXG4gIGNvbnN0IGRhdGFUYWJsZVN0eWxlID0gdXNlTWVtbyhcbiAgICAoKSA9PiAoe1xuICAgICAgbWluQ2VsbFNpemUsXG4gICAgICBjZWxsUGFkZGluZyxcbiAgICAgIG9wdGlvbnNCdXR0b246XG4gICAgICAgIHRoZW1lLmZpZWxkVG9rZW5XaWR0aCArIHRoZW1lLmZpZWxkVG9rZW5SaWdodE1hcmdpbiArIG9wdGlvbkJ1dHRvbldpZHRoICsgcGluQnV0dG9uLFxuICAgICAgZm9udFNpemU6IHRoZW1lLmNlbGxGb250U2l6ZSxcbiAgICAgIGZvbnQ6IHRoZW1lLmZvbnRGYW1pbHlcbiAgICB9KSxcbiAgICBbdGhlbWVdXG4gICk7XG4gIGNvbnN0IGNlbGxTaXplQ2FjaGUgPSB1c2VNZW1vKCgpID0+IHtcbiAgICByZXR1cm4gY29sdW1ucy5yZWR1Y2UoKGFjYywgY29sdW1uKSA9PiB7XG4gICAgICBjb25zdCB7Y29sSWR4LCBkaXNwbGF5TmFtZSwgdHlwZX0gPSBjb2xNZXRhW2NvbHVtbl07XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5hY2MsXG4gICAgICAgIFtjb2x1bW5dOiByZW5kZXJlZFNpemUoe1xuICAgICAgICAgIHRleHQ6IHtcbiAgICAgICAgICAgIGRhdGFDb250YWluZXIsXG4gICAgICAgICAgICBjb2x1bW46IGRpc3BsYXlOYW1lXG4gICAgICAgICAgfSxcbiAgICAgICAgICBjb2xJZHgsXG4gICAgICAgICAgdHlwZSxcbiAgICAgICAgICBudW1Sb3dzVG9DYWxjdWxhdGU6IHJvd3NUb0NhbGN1bGF0ZVByZXZpZXcsXG4gICAgICAgICAgLi4uZGF0YVRhYmxlU3R5bGVcbiAgICAgICAgfSlcbiAgICAgIH07XG4gICAgfSwge30pO1xuICB9LCBbY29sdW1ucywgY29sTWV0YSwgZGF0YUNvbnRhaW5lciwgcm93c1RvQ2FsY3VsYXRlUHJldmlldywgZGF0YVRhYmxlU3R5bGVdKTtcblxuICByZXR1cm4gKFxuICAgIDxEYXRhVGFibGVcbiAgICAgIGNvbE1ldGE9e2NvbE1ldGF9XG4gICAgICBjb2x1bW5zPXtjb2x1bW5zfVxuICAgICAgY2VsbFNpemVDYWNoZT17Y2VsbFNpemVDYWNoZX1cbiAgICAgIGRhdGFDb250YWluZXI9e2RhdGFDb250YWluZXJ9XG4gICAgICBwaW5uZWRDb2x1bW5zPXtwaW5uZWRDb2x1bW5zfVxuICAgICAgLy8gICBzb3J0Q29sdW1uPXtzb3J0Q29sdW1uQ29uZmlnfVxuICAgICAgY29weVRhYmxlQ29sdW1uPXtjb3B5VGFibGVDb2x1bW59XG4gICAgICBwaW5UYWJsZUNvbHVtbj17cGluVGFibGVDb2x1bW59XG4gICAgICAvLyAgIHNvcnRUYWJsZUNvbHVtbj17c2V0VGFibGVTb3J0Q29sdW1ufVxuICAgICAgc2V0Q29sdW1uRGlzcGxheUZvcm1hdD17c2V0Q29sdW1uRGlzcGxheUZvcm1hdCA/PyAoKCkgPT4gbnVsbCl9XG4gICAgLz5cbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBQcmV2aWV3RGF0YVBhbmVsID0gd2l0aFRoZW1lKFxuICBQcmV2aWV3RGF0YVBhbmVsV09UaGVtZVxuKSBhcyBSZWFjdC5GQzxQcmV2aWV3RGF0YVBhbmVsUHJvcHM+O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUdBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFDLFdBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLE1BQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLFdBQUEsR0FBQUgsT0FBQTtBQUVBLElBQUFJLGlCQUFBLEdBQUFKLE9BQUE7QUFBNEMsU0FBQUsseUJBQUFDLENBQUEsNkJBQUFDLE9BQUEsbUJBQUFDLENBQUEsT0FBQUQsT0FBQSxJQUFBRSxDQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEseUJBQUFDLENBQUEsV0FBQUEsQ0FBQSxHQUFBRyxDQUFBLEdBQUFELENBQUEsS0FBQUYsQ0FBQTtBQUFBLFNBQUFQLHdCQUFBTyxDQUFBLEVBQUFFLENBQUEsU0FBQUEsQ0FBQSxJQUFBRixDQUFBLElBQUFBLENBQUEsQ0FBQUksVUFBQSxTQUFBSixDQUFBLGVBQUFBLENBQUEsZ0JBQUFLLE9BQUEsQ0FBQUwsQ0FBQSwwQkFBQUEsQ0FBQSxzQkFBQUEsQ0FBQSxRQUFBRyxDQUFBLEdBQUFKLHdCQUFBLENBQUFHLENBQUEsT0FBQUMsQ0FBQSxJQUFBQSxDQUFBLENBQUFHLEdBQUEsQ0FBQU4sQ0FBQSxVQUFBRyxDQUFBLENBQUFJLEdBQUEsQ0FBQVAsQ0FBQSxPQUFBUSxDQUFBLEtBQUFDLFNBQUEsVUFBQUMsQ0FBQSxHQUFBQyxNQUFBLENBQUFDLGNBQUEsSUFBQUQsTUFBQSxDQUFBRSx3QkFBQSxXQUFBQyxDQUFBLElBQUFkLENBQUEs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
|
|
136
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfY29tcG9uZW50cyIsIl91dGlscyIsIl9wcm9jZXNzb3JzIiwiX3N0eWxlZENvbXBvbmVudHMiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJvd25LZXlzIiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsIm8iLCJmaWx0ZXIiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJERUZBVUxUX1JPV1NfVE9fQ0FMQ1VMQVRFX1BSRVZJRVciLCJtaW5DZWxsU2l6ZSIsIm9wdGlvbkJ1dHRvbldpZHRoIiwicGluQnV0dG9uIiwiY2VsbFBhZGRpbmciLCJQcmV2aWV3RGF0YVBhbmVsV09UaGVtZSIsIl9yZWYiLCJyZXN1bHQiLCJfcmVmJHJvd3NUb0NhbGN1bGF0ZVAiLCJyb3dzVG9DYWxjdWxhdGVQcmV2aWV3Iiwic2V0Q29sdW1uRGlzcGxheUZvcm1hdCIsIl9yZWYkZGVmYXVsdFBpbm5lZENvbCIsImRlZmF1bHRQaW5uZWRDb2x1bW5zIiwidGhlbWUiLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJwaW5uZWRDb2x1bW5zIiwic2V0UGlubmVkQ29sdW1ucyIsImZpZWxkcyIsInVzZU1lbW8iLCJhcnJvd1NjaGVtYVRvRmllbGRzIiwic2NoZW1hIiwiZGF0YUNvbnRhaW5lciIsImNvbHMiLCJfdG9Db25zdW1hYmxlQXJyYXkyIiwiQXJyYXkiLCJudW1Db2xzIiwibWFwIiwiZ2V0Q2hpbGRBdCIsImNyZWF0ZURhdGFDb250YWluZXIiLCJpbnB1dERhdGFGb3JtYXQiLCJEYXRhRm9ybSIsIkNPTFNfQVJSQVkiLCJjb2x1bW5zIiwiZiIsIm5hbWUiLCJjb2xNZXRhIiwicmVkdWNlIiwiYWNjIiwiX3JlZjIiLCJjb2xJZHgiLCJkaXNwbGF5TmFtZSIsInR5cGUiLCJkaXNwbGF5Rm9ybWF0IiwidW5kZWZpbmVkIiwiY29weVRhYmxlQ29sdW1uIiwidXNlQ2FsbGJhY2siLCJjb2x1bW4iLCJfbmF2aWdhdG9yIiwiX2NvbE1ldGEkY29sdW1uIiwidGV4dCIsIm1hcEluZGV4Iiwicm93IiwicGFyc2VGaWVsZFZhbHVlIiwidmFsdWVBdCIsImluZGV4Iiwiam9pbiIsIm5hdmlnYXRvciIsImNsaXBib2FyZCIsIndyaXRlVGV4dCIsInBpblRhYmxlQ29sdW1uIiwiaW5jbHVkZXMiLCJjIiwiY29uY2F0IiwiZGF0YVRhYmxlU3R5bGUiLCJvcHRpb25zQnV0dG9uIiwiZmllbGRUb2tlbldpZHRoIiwiZmllbGRUb2tlblJpZ2h0TWFyZ2luIiwiZm9udFNpemUiLCJjZWxsRm9udFNpemUiLCJmb250IiwiZm9udEZhbWlseSIsImNlbGxTaXplQ2FjaGUiLCJfY29sTWV0YSRjb2x1bW4yIiwicmVuZGVyZWRTaXplIiwibnVtUm93c1RvQ2FsY3VsYXRlIiwiY3JlYXRlRWxlbWVudCIsIkRhdGFUYWJsZSIsIlByZXZpZXdEYXRhUGFuZWwiLCJleHBvcnRzIiwid2l0aFRoZW1lIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbXBvbmVudHMvcHJldmlldy1kYXRhLXBhbmVsLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgUmVhY3QsIHt1c2VDYWxsYmFjaywgdXNlTWVtbywgdXNlU3RhdGUsIENTU1Byb3BlcnRpZXN9IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHtEYXRhVGFibGUsIHJlbmRlcmVkU2l6ZX0gZnJvbSAnQGtlcGxlci5nbC9jb21wb25lbnRzJztcbmltcG9ydCB7cGFyc2VGaWVsZFZhbHVlLCBjcmVhdGVEYXRhQ29udGFpbmVyfSBmcm9tICdAa2VwbGVyLmdsL3V0aWxzJztcbmltcG9ydCB7YXJyb3dTY2hlbWFUb0ZpZWxkc30gZnJvbSAnQGtlcGxlci5nbC9wcm9jZXNzb3JzJztcbmltcG9ydCB7RGF0YUZvcm19IGZyb20gJ0BrZXBsZXIuZ2wvdXRpbHMnO1xuaW1wb3J0IHt3aXRoVGhlbWV9IGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcblxudHlwZSBCYXNlQ29tcG9uZW50UHJvcHMgPSB7XG4gIGNsYXNzTmFtZT86IHN0cmluZztcbiAgc3R5bGU/OiBDU1NQcm9wZXJ0aWVzO1xufTtcblxuY29uc3QgREVGQVVMVF9ST1dTX1RPX0NBTENVTEFURV9QUkVWSUVXID0gMTAwO1xuLy8gbWluIENlbGxzaXplIHNob3VsZCB0YWtlIGludG8gYWNjb3VudCBvcHRpb24gYnV0dG9uIGFuZCBmaWVsZCB0b2tlblxuY29uc3QgbWluQ2VsbFNpemUgPSA4MDtcbi8vIG9wdGlvbiBidXR0b25zIGFuZCBmaWVsZCB0b2tlblxuY29uc3Qgb3B0aW9uQnV0dG9uV2lkdGggPSAyMDtcbmNvbnN0IHBpbkJ1dHRvbiA9IDIwO1xuY29uc3QgY2VsbFBhZGRpbmcgPSAyMDtcblxuZXhwb3J0IHR5cGUgQ29sTWV0YSA9IHtcbiAgW2tleTogc3RyaW5nXToge1xuICAgIGNvbElkeDogbnVtYmVyO1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBkaXNwbGF5TmFtZTogc3RyaW5nO1xuICAgIHR5cGU6IHN0cmluZztcbiAgfTtcbn07XG5cbmV4cG9ydCB0eXBlIERhdGFUYWJsZVN0eWxlID0ge1xuICBtaW5DZWxsU2l6ZT86IG51bWJlcjtcbiAgY2VsbFBhZGRpbmc/OiBudW1iZXI7XG4gIGZvbnRTaXplPzogbnVtYmVyO1xuICBmb250Pzogc3RyaW5nO1xuICBvcHRpb25zQnV0dG9uPzogbnVtYmVyO1xufTtcblxuZXhwb3J0IHR5cGUgUHJldmlld0RhdGFQYW5lbFByb3BzID0gQmFzZUNvbXBvbmVudFByb3BzICYge1xuICByZXN1bHQ6IGFueTtcbiAgcm93c1RvQ2FsY3VsYXRlUHJldmlldz86IG51bWJlcjtcbiAgdGhlbWU/OiBhbnk7XG4gIHNldENvbHVtbkRpc3BsYXlGb3JtYXQ/OiAoZm9ybWF0czoge1trZXk6IHN0cmluZ106IHN0cmluZ30pID0+IHZvaWQ7XG4gIGRlZmF1bHRQaW5uZWRDb2x1bW5zPzogc3RyaW5nW107XG4gIGRhdGFUYWJsZVN0eWxlOiBEYXRhVGFibGVTdHlsZTtcbiAgb25BZGRSZXN1bHRUb01hcDogKHJlc3VsdDogYW55KSA9PiB2b2lkO1xufTtcblxuY29uc3QgUHJldmlld0RhdGFQYW5lbFdPVGhlbWU6IFJlYWN0LkZDPFByZXZpZXdEYXRhUGFuZWxQcm9wcz4gPSAoe1xuICByZXN1bHQsXG4gIHJvd3NUb0NhbGN1bGF0ZVByZXZpZXcgPSBERUZBVUxUX1JPV1NfVE9fQ0FMQ1VMQVRFX1BSRVZJRVcsXG4gIHNldENvbHVtbkRpc3BsYXlGb3JtYXQsXG4gIGRlZmF1bHRQaW5uZWRDb2x1bW5zID0gW10sXG4gIHRoZW1lXG59KSA9PiB7XG4gIGNvbnN0IFtwaW5uZWRDb2x1bW5zLCBzZXRQaW5uZWRDb2x1bW5zXSA9IHVzZVN0YXRlPHN0cmluZ1tdPihkZWZhdWx0UGlubmVkQ29sdW1ucyk7XG4gIGNvbnN0IGZpZWxkcyA9IHVzZU1lbW8oKCkgPT4gYXJyb3dTY2hlbWFUb0ZpZWxkcyhyZXN1bHQuc2NoZW1hKSwgW3Jlc3VsdC5zY2hlbWFdKTtcbiAgY29uc3QgZGF0YUNvbnRhaW5lciA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGNvbnN0IGNvbHMgPSBbLi4uQXJyYXkocmVzdWx0Lm51bUNvbHMpLmtleXMoKV0ubWFwKGkgPT4gcmVzdWx0LmdldENoaWxkQXQoaSkpO1xuXG4gICAgY29uc3QgZGF0YUNvbnRhaW5lciA9IGNyZWF0ZURhdGFDb250YWluZXIoY29scywge1xuICAgICAgZmllbGRzLFxuICAgICAgaW5wdXREYXRhRm9ybWF0OiBEYXRhRm9ybS5DT0xTX0FSUkFZXG4gICAgfSk7XG4gICAgcmV0dXJuIGRhdGFDb250YWluZXI7XG4gIH0sIFtyZXN1bHQsIGZpZWxkc10pO1xuXG4gIGNvbnN0IGNvbHVtbnMgPSB1c2VNZW1vKCgpID0+IGZpZWxkcy5tYXAoZiA9PiBmLm5hbWUpLCBbZmllbGRzXSk7XG4gIGNvbnN0IGNvbE1ldGEgPSB1c2VNZW1vKFxuICAgICgpID0+XG4gICAgICBmaWVsZHMucmVkdWNlKFxuICAgICAgICAoYWNjLCB7bmFtZSwgZGlzcGxheU5hbWUsIHR5cGUsIGRpc3BsYXlGb3JtYXR9LCBjb2xJZHgpID0+ICh7XG4gICAgICAgICAgLi4uYWNjLFxuICAgICAgICAgIFtuYW1lXToge1xuICAgICAgICAgICAgLy8gYmVjYXVzZSAnJyB8fCAnYWFhJyA9ICdhYWEnXG4gICAgICAgICAgICBuYW1lOiBkaXNwbGF5TmFtZSAhPT0gdW5kZWZpbmVkID8gZGlzcGxheU5hbWUgOiBuYW1lLFxuICAgICAgICAgICAgZGlzcGxheU5hbWUsXG4gICAgICAgICAgICBkaXNwbGF5Rm9ybWF0LFxuICAgICAgICAgICAgdHlwZSxcbiAgICAgICAgICAgIGNvbElkeFxuICAgICAgICAgIH1cbiAgICAgICAgfSksXG4gICAgICAgIHt9XG4gICAgICApLFxuICAgIFtmaWVsZHNdXG4gICk7XG4gIGNvbnN0IGNvcHlUYWJsZUNvbHVtbiA9IHVzZUNhbGxiYWNrKFxuICAgIGNvbHVtbiA9PiB7XG4gICAgICBjb25zdCB7Y29sSWR4LCB0eXBlfSA9IGNvbE1ldGFbY29sdW1uXTtcbiAgICAgIGNvbnN0IHRleHQgPSBkYXRhQ29udGFpbmVyXG4gICAgICAgIC5tYXBJbmRleChyb3cgPT4gcGFyc2VGaWVsZFZhbHVlKGRhdGFDb250YWluZXIudmFsdWVBdChyb3cuaW5kZXgsIGNvbElkeCksIHR5cGUpKVxuICAgICAgICAuam9pbignXFxuJyk7XG4gICAgICBuYXZpZ2F0b3I/LmNsaXBib2FyZC53cml0ZVRleHQodGV4dCk7XG4gICAgfSxcbiAgICBbY29sTWV0YSwgZGF0YUNvbnRhaW5lcl1cbiAgKTtcbiAgY29uc3QgcGluVGFibGVDb2x1bW4gPSB1c2VDYWxsYmFjayhcbiAgICBjb2x1bW4gPT5cbiAgICAgIHBpbm5lZENvbHVtbnMuaW5jbHVkZXMoY29sdW1uKVxuICAgICAgICA/IHNldFBpbm5lZENvbHVtbnMocGlubmVkQ29sdW1ucy5maWx0ZXIoYyA9PiBjICE9PSBjb2x1bW4pKVxuICAgICAgICA6IHNldFBpbm5lZENvbHVtbnMoWy4uLnBpbm5lZENvbHVtbnMsIGNvbHVtbl0pLFxuICAgIFtwaW5uZWRDb2x1bW5zXVxuICApO1xuXG4gIC8vIFRPRE8gUG90ZW50aWFsbHkgY29zdGx5IG9wZXJhdGlvbiBmb3Igbm9uIHJvdyBiYXNlZCBkYXRhIGNvbnRhaW5lcnMuIFJldmlzaXQgc29ydGluZyBiZWxvdy5cbiAgY29uc3QgZGF0YVRhYmxlU3R5bGUgPSB1c2VNZW1vKFxuICAgICgpID0+ICh7XG4gICAgICBtaW5DZWxsU2l6ZSxcbiAgICAgIGNlbGxQYWRkaW5nLFxuICAgICAgb3B0aW9uc0J1dHRvbjpcbiAgICAgICAgdGhlbWUuZmllbGRUb2tlbldpZHRoICsgdGhlbWUuZmllbGRUb2tlblJpZ2h0TWFyZ2luICsgb3B0aW9uQnV0dG9uV2lkdGggKyBwaW5CdXR0b24sXG4gICAgICBmb250U2l6ZTogdGhlbWUuY2VsbEZvbnRTaXplLFxuICAgICAgZm9udDogdGhlbWUuZm9udEZhbWlseVxuICAgIH0pLFxuICAgIFt0aGVtZV1cbiAgKTtcbiAgY29uc3QgY2VsbFNpemVDYWNoZSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIHJldHVybiBjb2x1bW5zLnJlZHVjZSgoYWNjLCBjb2x1bW4pID0+IHtcbiAgICAgIGNvbnN0IHtjb2xJZHgsIGRpc3BsYXlOYW1lLCB0eXBlfSA9IGNvbE1ldGFbY29sdW1uXTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLmFjYyxcbiAgICAgICAgW2NvbHVtbl06IHJlbmRlcmVkU2l6ZSh7XG4gICAgICAgICAgdGV4dDoge1xuICAgICAgICAgICAgZGF0YUNvbnRhaW5lcixcbiAgICAgICAgICAgIGNvbHVtbjogZGlzcGxheU5hbWVcbiAgICAgICAgICB9LFxuICAgICAgICAgIGNvbElkeCxcbiAgICAgICAgICB0eXBlLFxuICAgICAgICAgIG51bVJvd3NUb0NhbGN1bGF0ZTogcm93c1RvQ2FsY3VsYXRlUHJldmlldyxcbiAgICAgICAgICAuLi5kYXRhVGFibGVTdHlsZVxuICAgICAgICB9KVxuICAgICAgfTtcbiAgICB9LCB7fSk7XG4gIH0sIFtjb2x1bW5zLCBjb2xNZXRhLCBkYXRhQ29udGFpbmVyLCByb3dzVG9DYWxjdWxhdGVQcmV2aWV3LCBkYXRhVGFibGVTdHlsZV0pO1xuXG4gIHJldHVybiAoXG4gICAgPERhdGFUYWJsZVxuICAgICAgY29sTWV0YT17Y29sTWV0YX1cbiAgICAgIGNvbHVtbnM9e2NvbHVtbnN9XG4gICAgICBjZWxsU2l6ZUNhY2hlPXtjZWxsU2l6ZUNhY2hlfVxuICAgICAgZGF0YUNvbnRhaW5lcj17ZGF0YUNvbnRhaW5lcn1cbiAgICAgIHBpbm5lZENvbHVtbnM9e3Bpbm5lZENvbHVtbnN9XG4gICAgICAvLyAgIHNvcnRDb2x1bW49e3NvcnRDb2x1bW5Db25maWd9XG4gICAgICBjb3B5VGFibGVDb2x1bW49e2NvcHlUYWJsZUNvbHVtbn1cbiAgICAgIHBpblRhYmxlQ29sdW1uPXtwaW5UYWJsZUNvbHVtbn1cbiAgICAgIC8vICAgc29ydFRhYmxlQ29sdW1uPXtzZXRUYWJsZVNvcnRDb2x1bW59XG4gICAgICBzZXRDb2x1bW5EaXNwbGF5Rm9ybWF0PXtzZXRDb2x1bW5EaXNwbGF5Rm9ybWF0ID8/ICgoKSA9PiBudWxsKX1cbiAgICAvPlxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IFByZXZpZXdEYXRhUGFuZWwgPSB3aXRoVGhlbWUoXG4gIFByZXZpZXdEYXRhUGFuZWxXT1RoZW1lXG4pIGFzIFJlYWN0LkZDPFByZXZpZXdEYXRhUGFuZWxQcm9wcz47XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBR0EsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUMsV0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsTUFBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsV0FBQSxHQUFBSCxPQUFBO0FBRUEsSUFBQUksaUJBQUEsR0FBQUosT0FBQTtBQUE0QyxTQUFBSyx5QkFBQUMsQ0FBQSw2QkFBQUMsT0FBQSxtQkFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSx5QkFBQUMsQ0FBQSxXQUFBQSxDQUFBLEdBQUFHLENBQUEsR0FBQUQsQ0FBQSxLQUFBRixDQUFBO0FBQUEsU0FBQVAsd0JBQUFPLENBQUEsRUFBQUUsQ0FBQSxTQUFBQSxDQUFBLElBQUFGLENBQUEsSUFBQUEsQ0FBQSxDQUFBSSxVQUFBLFNBQUFKLENBQUEsZUFBQUEsQ0FBQSxnQkFBQUssT0FBQSxDQUFBTCxDQUFBLDBCQUFBQSxDQUFBLHNCQUFBQSxDQUFBLFFBQUFHLENBQUEsR0FBQUosd0JBQUEsQ0FBQUcsQ0FBQSxPQUFBQyxDQUFBLElBQUFBLENBQUEsQ0FBQUcsR0FBQSxDQUFBTixDQUFBLFVBQUFHLENBQUEsQ0FBQUksR0FBQSxDQUFBUCxDQUFBLE9BQUFRLENBQUEsS0FBQUMsU0FBQSxVQUFBQyxDQUFBLEdBQUFDLE1BQUEsQ0FBQUMsY0FBQSxJQUFBRCxNQUFBLENBQUFFLHdCQUFBLFdBQUFDLENBQUEsSUFBQWQsQ0FBQSxvQkFBQWMsQ0FBQSxPQUFBQyxjQUFBLENBQUFDLElBQUEsQ0FBQWhCLENBQUEsRUFBQWMsQ0FBQSxTQUFBRyxDQUFBLEdBQUFQLENBQUEsR0FBQUMsTUFBQSxDQUFBRSx3QkFBQSxDQUFBYixDQUFBLEVBQUFjLENBQUEsVUFBQUcsQ0FBQSxLQUFBQSxDQUFBLENBQUFWLEdBQUEsSUFBQVUsQ0FBQSxDQUFBQyxHQUFBLElBQUFQLE1BQUEsQ0FBQUMsY0FBQSxDQUFBSixDQUFBLEVBQUFNLENBQUEsRUFBQUcsQ0FBQSxJQUFBVCxDQUFBLENBQUFNLENBQUEsSUFBQWQsQ0FBQSxDQUFBYyxDQUFBLFlBQUFOLENBQUEsY0FBQVIsQ0FBQSxFQUFBRyxDQUFBLElBQUFBLENBQUEsQ0FBQWUsR0FBQSxDQUFBbEIsQ0FBQSxFQUFBUSxDQUFBLEdBQUFBLENBQUE7QUFBQSxTQUFBVyxRQUFBbkIsQ0FBQSxFQUFBRSxDQUFBLFFBQUFDLENBQUEsR0FBQVEsTUFBQSxDQUFBUyxJQUFBLENBQUFwQixDQUFBLE9BQUFXLE1BQUEsQ0FBQVUscUJBQUEsUUFBQUMsQ0FBQSxHQUFBWCxNQUFBLENBQUFVLHFCQUFBLENBQUFyQixDQUFBLEdBQUFFLENBQUEsS0FBQW9CLENBQUEsR0FBQUEsQ0FBQSxDQUFBQyxNQUFBLFdBQUFyQixDQUFBLFdBQUFTLE1BQUEsQ0FBQUUsd0JBQUEsQ0FBQWIsQ0FBQSxFQUFBRSxDQUFBLEVBQUFzQixVQUFBLE9BQUFyQixDQUFBLENBQUFzQixJQUFBLENBQUFDLEtBQUEsQ0FBQXZCLENBQUEsRUFBQW1CLENBQUEsWUFBQW5CLENBQUE7QUFBQSxTQUFBd0IsY0FBQTNCLENBQUEsYUFBQUUsQ0FBQSxNQUFBQSxDQUFBLEdBQUEwQixTQUFBLENBQUFDLE1BQUEsRUFBQTNCLENBQUEsVUFBQUMsQ0FBQSxXQUFBeUIsU0FBQSxDQUFBMUIsQ0FBQSxJQUFBMEIsU0FBQSxDQUFBMUIsQ0FBQSxRQUFBQSxDQUFBLE9BQUFpQixPQUFBLENBQUFSLE1BQUEsQ0FBQVIsQ0FBQSxPQUFBMkIsT0FBQSxXQUFBNUIsQ0FBQSxRQUFBNkIsZ0JBQUEsYUFBQS9CLENBQUEsRUFBQUUsQ0FBQSxFQUFBQyxDQUFBLENBQUFELENBQUEsU0FBQVMsTUFBQSxDQUFBcUIseUJBQUEsR0FBQXJCLE1BQUEsQ0FBQXNCLGdCQUFBLENBQUFqQyxDQUFBLEVBQUFXLE1BQUEsQ0FBQXFCLHlCQUFBLENBQUE3QixDQUFBLEtBQUFnQixPQUFBLENBQUFSLE1BQUEsQ0FBQVIsQ0FBQSxHQUFBMkIsT0FBQSxXQUFBNUIsQ0FBQSxJQUFBUyxNQUFBLENBQUFDLGNBQUEsQ0FBQVosQ0FBQSxFQUFBRSxDQUFBLEVBQUFTLE1BQUEsQ0FBQUUsd0JBQUEsQ0FBQVYsQ0FBQSxFQUFBRCxDQUFBLGlCQUFBRixDQUFBLElBVDVDO0FBQ0E7QUFlQSxJQUFNa0MsaUNBQWlDLEdBQUcsR0FBRztBQUM3QztBQUNBLElBQU1DLFdBQVcsR0FBRyxFQUFFO0FBQ3RCO0FBQ0EsSUFBTUMsaUJBQWlCLEdBQUcsRUFBRTtBQUM1QixJQUFNQyxTQUFTLEdBQUcsRUFBRTtBQUNwQixJQUFNQyxXQUFXLEdBQUcsRUFBRTtBQTZCdEIsSUFBTUMsdUJBQXdELEdBQUcsU0FBM0RBLHVCQUF3REEsQ0FBQUMsSUFBQSxFQU14RDtFQUFBLElBTEpDLE1BQU0sR0FBQUQsSUFBQSxDQUFOQyxNQUFNO0lBQUFDLHFCQUFBLEdBQUFGLElBQUEsQ0FDTkcsc0JBQXNCO0lBQXRCQSxzQkFBc0IsR0FBQUQscUJBQUEsY0FBR1IsaUNBQWlDLEdBQUFRLHFCQUFBO0lBQzFERSxzQkFBc0IsR0FBQUosSUFBQSxDQUF0Qkksc0JBQXNCO0lBQUFDLHFCQUFBLEdBQUFMLElBQUEsQ0FDdEJNLG9CQUFvQjtJQUFwQkEsb0JBQW9CLEdBQUFELHFCQUFBLGNBQUcsRUFBRSxHQUFBQSxxQkFBQTtJQUN6QkUsS0FBSyxHQUFBUCxJQUFBLENBQUxPLEtBQUs7RUFFTCxJQUFBQyxTQUFBLEdBQTBDLElBQUFDLGVBQVEsRUFBV0gsb0JBQW9CLENBQUM7SUFBQUksVUFBQSxPQUFBQyxlQUFBLGFBQUFILFNBQUE7SUFBM0VJLGFBQWEsR0FBQUYsVUFBQTtJQUFFRyxnQkFBZ0IsR0FBQUgsVUFBQTtFQUN0QyxJQUFNSSxNQUFNLEdBQUcsSUFBQUMsY0FBTyxFQUFDO0lBQUEsT0FBTSxJQUFBQywrQkFBbUIsRUFBQ2YsTUFBTSxDQUFDZ0IsTUFBTSxDQUFDO0VBQUEsR0FBRSxDQUFDaEIsTUFBTSxDQUFDZ0IsTUFBTSxDQUFDLENBQUM7RUFDakYsSUFBTUMsYUFBYSxHQUFHLElBQUFILGNBQU8sRUFBQyxZQUFNO0lBQ2xDLElBQU1JLElBQUksR0FBRyxJQUFBQyxtQkFBQSxhQUFJQyxLQUFLLENBQUNwQixNQUFNLENBQUNxQixPQUFPLENBQUMsQ0FBQzFDLElBQUksQ0FBQyxDQUFDLEVBQUUyQyxHQUFHLENBQUMsVUFBQTlDLENBQUM7TUFBQSxPQUFJd0IsTUFBTSxDQUFDdUIsVUFBVSxDQUFDL0MsQ0FBQyxDQUFDO0lBQUEsRUFBQztJQUU3RSxJQUFNeUMsYUFBYSxHQUFHLElBQUFPLDBCQUFtQixFQUFDTixJQUFJLEVBQUU7TUFDOUNMLE1BQU0sRUFBTkEsTUFBTTtNQUNOWSxlQUFlLEVBQUVDLGVBQVEsQ0FBQ0M7SUFDNUIsQ0FBQyxDQUFDO0lBQ0YsT0FBT1YsYUFBYTtFQUN0QixDQUFDLEVBQUUsQ0FBQ2pCLE1BQU0sRUFBRWEsTUFBTSxDQUFDLENBQUM7RUFFcEIsSUFBTWUsT0FBTyxHQUFHLElBQUFkLGNBQU8sRUFBQztJQUFBLE9BQU1ELE1BQU0sQ0FBQ1MsR0FBRyxDQUFDLFVBQUFPLENBQUM7TUFBQSxPQUFJQSxDQUFDLENBQUNDLElBQUk7SUFBQSxFQUFDO0VBQUEsR0FBRSxDQUFDakIsTUFBTSxDQUFDLENBQUM7RUFDaEUsSUFBTWtCLE9BQU8sR0FBRyxJQUFBakIsY0FBTyxFQUNyQjtJQUFBLE9BQ0VELE1BQU0sQ0FBQ21CLE1BQU0sQ0FDWCxVQUFDQyxHQUFHLEVBQUFDLEtBQUEsRUFBNENDLE1BQU07TUFBQSxJQUEvQ0wsSUFBSSxHQUFBSSxLQUFBLENBQUpKLElBQUk7UUFBRU0sV0FBVyxHQUFBRixLQUFBLENBQVhFLFdBQVc7UUFBRUMsSUFBSSxHQUFBSCxLQUFBLENBQUpHLElBQUk7UUFBRUMsYUFBYSxHQUFBSixLQUFBLENBQWJJLGFBQWE7TUFBQSxPQUFBcEQsYUFBQSxDQUFBQSxhQUFBLEtBQ3hDK0MsR0FBRyxXQUFBM0MsZ0JBQUEsaUJBQ0x3QyxJQUFJLEVBQUc7UUFDTjtRQUNBQSxJQUFJLEVBQUVNLFdBQVcsS0FBS0csU0FBUyxHQUFHSCxXQUFXLEdBQUdOLElBQUk7UUFDcERNLFdBQVcsRUFBWEEsV0FBVztRQUNYRSxhQUFhLEVBQWJBLGFBQWE7UUFDYkQsSUFBSSxFQUFKQSxJQUFJO1FBQ0pGLE1BQU0sRUFBTkE7TUFDRixDQUFDO0lBQUEsQ0FDRCxFQUNGLENBQUMsQ0FDSCxDQUFDO0VBQUEsR0FDSCxDQUFDdEIsTUFBTSxDQUNULENBQUM7RUFDRCxJQUFNMkIsZUFBZSxHQUFHLElBQUFDLGtCQUFXLEVBQ2pDLFVBQUFDLE1BQU0sRUFBSTtJQUFBLElBQUFDLFVBQUE7SUFDUixJQUFBQyxlQUFBLEdBQXVCYixPQUFPLENBQUNXLE1BQU0sQ0FBQztNQUEvQlAsTUFBTSxHQUFBUyxlQUFBLENBQU5ULE1BQU07TUFBRUUsSUFBSSxHQUFBTyxlQUFBLENBQUpQLElBQUk7SUFDbkIsSUFBTVEsSUFBSSxHQUFHNUIsYUFBYSxDQUN2QjZCLFFBQVEsQ0FBQyxVQUFBQyxHQUFHO01BQUEsT0FBSSxJQUFBQyxzQkFBZSxFQUFDL0IsYUFBYSxDQUFDZ0MsT0FBTyxDQUFDRixHQUFHLENBQUNHLEtBQUssRUFBRWYsTUFBTSxDQUFDLEVBQUVFLElBQUksQ0FBQztJQUFBLEVBQUMsQ0FDaEZjLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDYixDQUFBUixVQUFBLEdBQUFTLFNBQVMsY0FBQVQsVUFBQSxlQUFUQSxVQUFBLENBQVdVLFNBQVMsQ0FBQ0MsU0FBUyxDQUFDVCxJQUFJLENBQUM7RUFDdEMsQ0FBQyxFQUNELENBQUNkLE9BQU8sRUFBRWQsYUFBYSxDQUN6QixDQUFDO0VBQ0QsSUFBTXNDLGNBQWMsR0FBRyxJQUFBZCxrQkFBVyxFQUNoQyxVQUFBQyxNQUFNO0lBQUEsT0FDSi9CLGFBQWEsQ0FBQzZDLFFBQVEsQ0FBQ2QsTUFBTSxDQUFDLEdBQzFCOUIsZ0JBQWdCLENBQUNELGFBQWEsQ0FBQzdCLE1BQU0sQ0FBQyxVQUFBMkUsQ0FBQztNQUFBLE9BQUlBLENBQUMsS0FBS2YsTUFBTTtJQUFBLEVBQUMsQ0FBQyxHQUN6RDlCLGdCQUFnQixJQUFBOEMsTUFBQSxLQUFBdkMsbUJBQUEsYUFBS1IsYUFBYSxJQUFFK0IsTUFBTSxFQUFDLENBQUM7RUFBQSxHQUNsRCxDQUFDL0IsYUFBYSxDQUNoQixDQUFDOztFQUVEO0VBQ0EsSUFBTWdELGNBQWMsR0FBRyxJQUFBN0MsY0FBTyxFQUM1QjtJQUFBLE9BQU87TUFDTHBCLFdBQVcsRUFBWEEsV0FBVztNQUNYRyxXQUFXLEVBQVhBLFdBQVc7TUFDWCtELGFBQWEsRUFDWHRELEtBQUssQ0FBQ3VELGVBQWUsR0FBR3ZELEtBQUssQ0FBQ3dELHFCQUFxQixHQUFHbkUsaUJBQWlCLEdBQUdDLFNBQVM7TUFDckZtRSxRQUFRLEVBQUV6RCxLQUFLLENBQUMwRCxZQUFZO01BQzVCQyxJQUFJLEVBQUUzRCxLQUFLLENBQUM0RDtJQUNkLENBQUM7RUFBQSxDQUFDLEVBQ0YsQ0FBQzVELEtBQUssQ0FDUixDQUFDO0VBQ0QsSUFBTTZELGFBQWEsR0FBRyxJQUFBckQsY0FBTyxFQUFDLFlBQU07SUFDbEMsT0FBT2MsT0FBTyxDQUFDSSxNQUFNLENBQUMsVUFBQ0MsR0FBRyxFQUFFUyxNQUFNLEVBQUs7TUFDckMsSUFBQTBCLGdCQUFBLEdBQW9DckMsT0FBTyxDQUFDVyxNQUFNLENBQUM7UUFBNUNQLE1BQU0sR0FBQWlDLGdCQUFBLENBQU5qQyxNQUFNO1FBQUVDLFdBQVcsR0FBQWdDLGdCQUFBLENBQVhoQyxXQUFXO1FBQUVDLElBQUksR0FBQStCLGdCQUFBLENBQUovQixJQUFJO01BQ2hDLE9BQUFuRCxhQUFBLENBQUFBLGFBQUEsS0FDSytDLEdBQUcsV0FBQTNDLGdCQUFBLGlCQUNMb0QsTUFBTSxFQUFHLElBQUEyQix3QkFBWSxFQUFBbkYsYUFBQTtRQUNwQjJELElBQUksRUFBRTtVQUNKNUIsYUFBYSxFQUFiQSxhQUFhO1VBQ2J5QixNQUFNLEVBQUVOO1FBQ1YsQ0FBQztRQUNERCxNQUFNLEVBQU5BLE1BQU07UUFDTkUsSUFBSSxFQUFKQSxJQUFJO1FBQ0ppQyxrQkFBa0IsRUFBRXBFO01BQXNCLEdBQ3ZDeUQsY0FBYyxDQUNsQixDQUFDO0lBRU4sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0VBQ1IsQ0FBQyxFQUFFLENBQUMvQixPQUFPLEVBQUVHLE9BQU8sRUFBRWQsYUFBYSxFQUFFZixzQkFBc0IsRUFBRXlELGNBQWMsQ0FBQyxDQUFDO0VBRTdFLG9CQUNFNUcsTUFBQSxZQUFBd0gsYUFBQSxDQUFDckgsV0FBQSxDQUFBc0gsU0FBUztJQUNSekMsT0FBTyxFQUFFQSxPQUFRO0lBQ2pCSCxPQUFPLEVBQUVBLE9BQVE7SUFDakJ1QyxhQUFhLEVBQUVBLGFBQWM7SUFDN0JsRCxhQUFhLEVBQUVBLGFBQWM7SUFDN0JOLGFBQWEsRUFBRUE7SUFDZjtJQUFBO0lBQ0E2QixlQUFlLEVBQUVBLGVBQWdCO0lBQ2pDZSxjQUFjLEVBQUVBO0lBQ2hCO0lBQUE7SUFDQXBELHNCQUFzQixFQUFFQSxzQkFBc0IsYUFBdEJBLHNCQUFzQixjQUF0QkEsc0JBQXNCLEdBQUs7TUFBQSxPQUFNLElBQUk7SUFBQTtFQUFFLENBQ2hFLENBQUM7QUFFTixDQUFDO0FBRU0sSUFBTXNFLGdCQUFnQixHQUFBQyxPQUFBLENBQUFELGdCQUFBLEdBQUcsSUFBQUUsMkJBQVMsRUFDdkM3RSx1QkFDRixDQUFvQyIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -41,6 +41,9 @@ var StyledResizeHandle = (0, _styledComponents["default"])(_reactResizablePanels
|
|
|
41
41
|
var StyledVerticalResizeHandle = (0, _styledComponents["default"])(_reactResizablePanels.PanelResizeHandle)(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n height: 4px;\n cursor: row-resize;\n\n &:hover {\n background-color: #555;\n }\n"])), _styles.panelBorderColor);
|
|
42
42
|
var StyledLoadingContainer = _styledComponents["default"].div(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: center;\n align-items: center;\n height: 100%;\n"])));
|
|
43
43
|
var StyledErrorContainer = _styledComponents["default"].pre(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n padding: 12px;\n color: red;\n font-size: 12px;\n background-color: ", ";\n height: 100%;\n overflow: auto;\n"])), _styles.sidePanelBg);
|
|
44
|
+
var SCHEMA_PANEL_STYLE = {
|
|
45
|
+
overflow: 'auto'
|
|
46
|
+
};
|
|
44
47
|
var SqlPanel = exports.SqlPanel = function SqlPanel(_ref) {
|
|
45
48
|
var _ref$initialSql = _ref.initialSql,
|
|
46
49
|
initialSql = _ref$initialSql === void 0 ? '' : _ref$initialSql;
|
|
@@ -158,7 +161,8 @@ var SqlPanel = exports.SqlPanel = function SqlPanel(_ref) {
|
|
|
158
161
|
direction: "horizontal"
|
|
159
162
|
}, /*#__PURE__*/_react["default"].createElement(_reactResizablePanels.Panel, {
|
|
160
163
|
defaultSize: 20,
|
|
161
|
-
minSize: 15
|
|
164
|
+
minSize: 15,
|
|
165
|
+
style: SCHEMA_PANEL_STYLE
|
|
162
166
|
}, /*#__PURE__*/_react["default"].createElement(_schemaPanel.SchemaPanel, {
|
|
163
167
|
setTableSchema: setTableSchema
|
|
164
168
|
})), /*#__PURE__*/_react["default"].createElement(StyledResizeHandle, null), /*#__PURE__*/_react["default"].createElement(_reactResizablePanels.Panel, {
|
|
@@ -196,4 +200,4 @@ var SqlPanel = exports.SqlPanel = function SqlPanel(_ref) {
|
|
|
196
200
|
onAddResultToMap: onAddResultToMap
|
|
197
201
|
})) : null))))));
|
|
198
202
|
};
|
|
199
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RSZWR1eCIsIl9zdHlsZWRDb21wb25lbnRzIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9yZWFjdFJlc2l6YWJsZVBhbmVscyIsIl9tb25hY29FZGl0b3IiLCJfc2NoZW1hUGFuZWwiLCJfcHJldmlld0RhdGFQYW5lbCIsIl9pbml0IiwiX2NvbXBvbmVudHMiLCJfY29tbW9uVXRpbHMiLCJfYWN0aW9ucyIsIl9zdHlsZXMiLCJfdXRpbHMiLCJfcHJvY2Vzc29ycyIsIl90ZW1wbGF0ZU9iamVjdCIsIl90ZW1wbGF0ZU9iamVjdDIiLCJfdGVtcGxhdGVPYmplY3QzIiwiX3RlbXBsYXRlT2JqZWN0NCIsIl90ZW1wbGF0ZU9iamVjdDUiLCJfdGVtcGxhdGVPYmplY3Q2IiwiX3RlbXBsYXRlT2JqZWN0NyIsIl90ZW1wbGF0ZU9iamVjdDgiLCJfdGVtcGxhdGVPYmplY3Q5IiwiX3RlbXBsYXRlT2JqZWN0MTAiLCJfdGVtcGxhdGVPYmplY3QxMSIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIlN0eWxlZFNxbFBhbmVsIiwic3R5bGVkIiwiZGl2IiwiX3RhZ2dlZFRlbXBsYXRlTGl0ZXJhbDIiLCJzaWRlUGFuZWxCZyIsIlN0eWxlZFNxbEFjdGlvbnMiLCJTdHlsZWRTcWxFZGl0b3IiLCJTdHlsZWRFZGl0b3JQYW5lbCIsIlN0eWxlZERhdGFQYW5lbCIsIlN0eWxlZEVkaXRvciIsInByb3BzIiwiaXNSdW5uaW5nIiwiU3R5bGVkUmVzdWx0QWN0aW9ucyIsIlN0eWxlZFJlc2l6ZUhhbmRsZSIsIlBhbmVsUmVzaXplSGFuZGxlIiwicGFuZWxCb3JkZXJDb2xvciIsIlN0eWxlZFZlcnRpY2FsUmVzaXplSGFuZGxlIiwiU3R5bGVkTG9hZGluZ0NvbnRhaW5lciIsIlN0eWxlZEVycm9yQ29udGFpbmVyIiwicHJlIiwiU3FsUGFuZWwiLCJleHBvcnRzIiwiX3JlZiIsIl9yZWYkaW5pdGlhbFNxbCIsImluaXRpYWxTcWwiLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsInBhcmFtcyIsIlVSTFNlYXJjaFBhcmFtcyIsIndpbmRvdyIsImxvY2F0aW9uIiwic2VhcmNoIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsInNxbCIsInNldFNxbCIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwicmVzdWx0Iiwic2V0UmVzdWx0IiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJlcnJvciIsInNldEVycm9yIiwiX3VzZVN0YXRlNyIsIl91c2VTdGF0ZTgiLCJjb3VudGVyIiwic2V0Q291bnRlciIsIl91c2VTdGF0ZTkiLCJfdXNlU3RhdGUxMCIsInRhYmxlU2NoZW1hIiwic2V0VGFibGVTY2hlbWEiLCJfdXNlU3RhdGUxMSIsIl91c2VTdGF0ZTEyIiwic2V0SXNSdW5uaW5nIiwiX3VzZVN0YXRlMTMiLCJpc0FwcGxlRGV2aWNlIiwiX3VzZVN0YXRlMTQiLCJpc01hYyIsImRpc3BhdGNoIiwidXNlRGlzcGF0Y2giLCJ1c2VFZmZlY3QiLCJjdXJyZW50VXJsIiwiVVJMIiwiaHJlZiIsInNlYXJjaFBhcmFtcyIsImhpc3RvcnkiLCJyZXBsYWNlU3RhdGUiLCJ0b1N0cmluZyIsInJ1blF1ZXJ5IiwidXNlQ2FsbGJhY2siLCJfYXN5bmNUb0dlbmVyYXRvcjIiLCJfcmVnZW5lcmF0b3IiLCJtYXJrIiwiX2NhbGxlZSIsImRiIiwiY29ubmVjdGlvbiIsImFycm93UmVzdWx0Iiwid3JhcCIsIl9jYWxsZWUkIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsInRyaW0iLCJFcnJvciIsImFicnVwdCIsImdldER1Y2tEQiIsInNlbnQiLCJjb25uZWN0IiwicXVlcnkiLCJjbG9zZSIsInQwIiwiZmluaXNoIiwic3RvcCIsIm9uQ2hhbmdlIiwidmFsdWUiLCJvbkFkZFJlc3VsdFRvTWFwIiwia2VwbGVyRmllbGRzIiwiYXJyb3dTY2hlbWFUb0ZpZWxkcyIsInNjaGVtYSIsImRhdGFzZXRUb0FkZCIsImRhdGEiLCJmaWVsZHMiLCJyb3dzIiwiaW5mbyIsImlkIiwiZ2VuZXJhdGVIYXNoSWQiLCJsYWJlbCIsImNvbmNhdCIsImZvcm1hdCIsImFkZERhdGFUb01hcCIsImRhdGFzZXRzIiwiY3JlYXRlRWxlbWVudCIsIlBhbmVsR3JvdXAiLCJkaXJlY3Rpb24iLCJQYW5lbCIsImRlZmF1bHRTaXplIiwibWluU2l6ZSIsIlNjaGVtYVBhbmVsIiwiY2xhc3NOYW1lIiwiSWNvbkJ1dHRvbiIsIm9uQ2xpY2siLCJkaXNhYmxlZCIsIkljb25zIiwiUGxheSIsImhlaWdodCIsIlRvb2x0aXAiLCJwbGFjZSIsImVmZmVjdCIsImlzUmVhZE9ubHkiLCJvblJ1blF1ZXJ5IiwiY29kZSIsIkxvYWRpbmdTcGlubmVyIiwibWVzc2FnZSIsIkJ1dHRvbiIsInNlY29uZGFyeSIsIm51bVJvd3MiLCJQcmV2aWV3RGF0YVBhbmVsIiwiZGF0YVRhYmxlU3R5bGUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tcG9uZW50cy9zcWwtcGFuZWwudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCAqIGFzIGFycm93IGZyb20gJ2FwYWNoZS1hcnJvdyc7XG5pbXBvcnQgUmVhY3QsIHt1c2VDYWxsYmFjaywgdXNlU3RhdGUsIHVzZUVmZmVjdH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHt1c2VEaXNwYXRjaH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQge1BhbmVsLCBQYW5lbEdyb3VwLCBQYW5lbFJlc2l6ZUhhbmRsZX0gZnJvbSAncmVhY3QtcmVzaXphYmxlLXBhbmVscyc7XG5pbXBvcnQgTW9uYWNvRWRpdG9yIGZyb20gJy4vbW9uYWNvLWVkaXRvcic7XG5pbXBvcnQge1NjaGVtYVBhbmVsfSBmcm9tICcuL3NjaGVtYS1wYW5lbCc7XG5pbXBvcnQge1ByZXZpZXdEYXRhUGFuZWx9IGZyb20gJy4vcHJldmlldy1kYXRhLXBhbmVsJztcbmltcG9ydCB7Z2V0RHVja0RCfSBmcm9tICcuLi9pbml0JztcbmltcG9ydCB7QnV0dG9uLCBJY29uQnV0dG9uLCBUb29sdGlwfSBmcm9tICdAa2VwbGVyLmdsL2NvbXBvbmVudHMnO1xuaW1wb3J0IHtnZW5lcmF0ZUhhc2hJZH0gZnJvbSAnQGtlcGxlci5nbC9jb21tb24tdXRpbHMnO1xuaW1wb3J0IHthZGREYXRhVG9NYXB9IGZyb20gJ0BrZXBsZXIuZ2wvYWN0aW9ucyc7XG5pbXBvcnQge0ljb25zLCBMb2FkaW5nU3Bpbm5lcn0gZnJvbSAnQGtlcGxlci5nbC9jb21wb25lbnRzJztcbmltcG9ydCB7c2lkZVBhbmVsQmcsIHBhbmVsQm9yZGVyQ29sb3J9IGZyb20gJ0BrZXBsZXIuZ2wvc3R5bGVzJztcbmltcG9ydCB7aXNBcHBsZURldmljZX0gZnJvbSAnQGtlcGxlci5nbC91dGlscyc7XG5pbXBvcnQge2Fycm93U2NoZW1hVG9GaWVsZHN9IGZyb20gJ0BrZXBsZXIuZ2wvcHJvY2Vzc29ycyc7XG5cbmNvbnN0IFN0eWxlZFNxbFBhbmVsID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3NpZGVQYW5lbEJnfTtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjMzMzO1xuYDtcblxuY29uc3QgU3R5bGVkU3FsQWN0aW9ucyA9IHN0eWxlZC5kaXZgXG4gIGZsZXg6IDAgMCA1MHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nLXRvcDogMTJweDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzMzMztcbmA7XG5cbmNvbnN0IFN0eWxlZFNxbEVkaXRvciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXg6IDE7XG4gIG1pbi13aWR0aDogMDsgLy8gUHJldmVudHMgZmxleCBjaGlsZCBmcm9tIG92ZXJmbG93aW5nXG4gIGhlaWdodDogMTAwJTtcbmA7XG5cbmNvbnN0IFN0eWxlZEVkaXRvclBhbmVsID0gc3R5bGVkLmRpdmBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtzaWRlUGFuZWxCZ307XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogMTAwJTtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZ2FwOiA1cHg7XG4gIGZsZXgtZ3JvdzogMTtcbmA7XG5cbmNvbnN0IFN0eWxlZERhdGFQYW5lbCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG5gO1xuXG5jb25zdCBTdHlsZWRFZGl0b3IgPSBzdHlsZWQuZGl2PHtpc1J1bm5pbmc6IGJvb2xlYW59PmBcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZzogMTJweCAxMnB4IDEycHggMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDMwLCAzMCwgMzApO1xuICBvcGFjaXR5OiAke3Byb3BzID0+IChwcm9wcy5pc1J1bm5pbmcgPyAwLjUgOiAxKX07XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDA7IC8vIFByZXZlbnRzIGZsZXggY2hpbGQgZnJvbSBvdmVyZmxvd2luZ1xuYDtcblxuY29uc3QgU3R5bGVkUmVzdWx0QWN0aW9ucyA9IHN0eWxlZC5kaXZgXG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBwYWRkaW5nOiAycHggMTJweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmb250LXNpemU6IDEycHg7XG5gO1xuXG5jb25zdCBTdHlsZWRSZXNpemVIYW5kbGUgPSBzdHlsZWQoUGFuZWxSZXNpemVIYW5kbGUpYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3BhbmVsQm9yZGVyQ29sb3J9O1xuICB3aWR0aDogNHB4O1xuICBjdXJzb3I6IGNvbC1yZXNpemU7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgfVxuYDtcblxuY29uc3QgU3R5bGVkVmVydGljYWxSZXNpemVIYW5kbGUgPSBzdHlsZWQoUGFuZWxSZXNpemVIYW5kbGUpYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3BhbmVsQm9yZGVyQ29sb3J9O1xuICBoZWlnaHQ6IDRweDtcbiAgY3Vyc29yOiByb3ctcmVzaXplO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1NTU7XG4gIH1cbmA7XG5cbmNvbnN0IFN0eWxlZExvYWRpbmdDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgaGVpZ2h0OiAxMDAlO1xuYDtcblxuY29uc3QgU3R5bGVkRXJyb3JDb250YWluZXIgPSBzdHlsZWQucHJlYFxuICBwYWRkaW5nOiAxMnB4O1xuICBjb2xvcjogcmVkO1xuICBmb250LXNpemU6IDEycHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICR7c2lkZVBhbmVsQmd9O1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiBhdXRvO1xuYDtcblxudHlwZSBTcWxQYW5lbFByb3BzID0ge1xuICBpbml0aWFsU3FsPzogc3RyaW5nO1xufTtcblxuZXhwb3J0IGNvbnN0IFNxbFBhbmVsOiBSZWFjdC5GQzxTcWxQYW5lbFByb3BzPiA9ICh7aW5pdGlhbFNxbCA9ICcnfSkgPT4ge1xuICBjb25zdCBbc3FsLCBzZXRTcWxdID0gdXNlU3RhdGUoKCkgPT4ge1xuICAgIGNvbnN0IHBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMod2luZG93LmxvY2F0aW9uLnNlYXJjaCk7XG4gICAgcmV0dXJuIHBhcmFtcy5nZXQoJ3NxbCcpIHx8IGluaXRpYWxTcWw7XG4gIH0pO1xuICBjb25zdCBbcmVzdWx0LCBzZXRSZXN1bHRdID0gdXNlU3RhdGU8bnVsbCB8IGFycm93LlRhYmxlPihudWxsKTtcbiAgY29uc3QgW2Vycm9yLCBzZXRFcnJvcl0gPSB1c2VTdGF0ZTxFcnJvciB8IG51bGw+KG51bGwpO1xuICBjb25zdCBbY291bnRlciwgc2V0Q291bnRlcl0gPSB1c2VTdGF0ZSgwKTtcbiAgY29uc3QgW3RhYmxlU2NoZW1hLCBzZXRUYWJsZVNjaGVtYV0gPSB1c2VTdGF0ZShbXSk7XG4gIGNvbnN0IFtpc1J1bm5pbmcsIHNldElzUnVubmluZ10gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IFtpc01hY10gPSB1c2VTdGF0ZSgoKSA9PiBpc0FwcGxlRGV2aWNlKCkpO1xuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBjdXJyZW50VXJsID0gbmV3IFVSTCh3aW5kb3cubG9jYXRpb24uaHJlZik7XG4gICAgaWYgKHNxbCkge1xuICAgICAgY3VycmVudFVybC5zZWFyY2hQYXJhbXMuc2V0KCdzcWwnLCBzcWwpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjdXJyZW50VXJsLnNlYXJjaFBhcmFtcy5kZWxldGUoJ3NxbCcpO1xuICAgIH1cbiAgICB3aW5kb3cuaGlzdG9yeS5yZXBsYWNlU3RhdGUoe30sICcnLCBjdXJyZW50VXJsLnRvU3RyaW5nKCkpO1xuICB9LCBbc3FsXSk7XG5cbiAgY29uc3QgcnVuUXVlcnkgPSB1c2VDYWxsYmFjayhhc3luYyAoKSA9PiB7XG4gICAgc2V0SXNSdW5uaW5nKHRydWUpO1xuICAgIHRyeSB7XG4gICAgICBpZiAoIXNxbD8udHJpbSgpKSB7XG4gICAgICAgIHNldEVycm9yKG5ldyBFcnJvcignUXVlcnkgaXMgZW1wdHknKSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgZGIgPSBhd2FpdCBnZXREdWNrREIoKTtcbiAgICAgIGNvbnN0IGNvbm5lY3Rpb24gPSBhd2FpdCBkYi5jb25uZWN0KCk7XG5cbiAgICAgIGNvbnN0IGFycm93UmVzdWx0ID0gYXdhaXQgY29ubmVjdGlvbi5xdWVyeShzcWwpO1xuICAgICAgc2V0UmVzdWx0KGFycm93UmVzdWx0KTtcbiAgICAgIHNldEVycm9yKG51bGwpO1xuXG4gICAgICBjb25uZWN0aW9uLmNsb3NlKCk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgc2V0RXJyb3IoZSBhcyBFcnJvcik7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHNldElzUnVubmluZyhmYWxzZSk7XG4gICAgfVxuICB9LCBbc3FsXSk7XG5cbiAgY29uc3Qgb25DaGFuZ2UgPSB1c2VDYWxsYmFjayhcbiAgICB2YWx1ZSA9PiB7XG4gICAgICBzZXRTcWwodmFsdWUpO1xuICAgIH0sXG4gICAgW3NldFNxbF1cbiAgKTtcblxuICBjb25zdCBvbkFkZFJlc3VsdFRvTWFwID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGlmICghcmVzdWx0KSByZXR1cm47XG5cbiAgICBjb25zdCBrZXBsZXJGaWVsZHMgPSBhcnJvd1NjaGVtYVRvRmllbGRzKHJlc3VsdC5zY2hlbWEpO1xuXG4gICAgY29uc3QgZGF0YXNldFRvQWRkID0ge1xuICAgICAgZGF0YToge1xuICAgICAgICBmaWVsZHM6IGtlcGxlckZpZWxkcyxcbiAgICAgICAgLy8gVE9ETyB0eXBlIEFkZERhdGFUb01hcFBheWxvYWQgLT4gcm93cyAtPiArIGFycm93LlRhYmxlXG4gICAgICAgIHJvd3M6IHJlc3VsdCBhcyBhbnlcbiAgICAgIH0sXG4gICAgICBpbmZvOiB7XG4gICAgICAgIGlkOiBnZW5lcmF0ZUhhc2hJZCgpLFxuICAgICAgICBsYWJlbDogYFF1ZXJ5IFJlc3VsdCR7Y291bnRlciA+IDAgPyBgICgke2NvdW50ZXJ9KWAgOiAnJ31gLFxuICAgICAgICBmb3JtYXQ6ICdhcnJvdydcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgZGlzcGF0Y2goYWRkRGF0YVRvTWFwKHtkYXRhc2V0czogW2RhdGFzZXRUb0FkZF19KSk7XG4gICAgc2V0Q291bnRlcihjb3VudGVyICsgMSk7XG4gIH0sIFtyZXN1bHQsIGNvdW50ZXIsIGRpc3BhdGNoXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkU3FsUGFuZWw+XG4gICAgICA8UGFuZWxHcm91cCBkaXJlY3Rpb249XCJob3Jpem9udGFsXCI+XG4gICAgICAgIDxQYW5lbCBkZWZhdWx0U2l6ZT17MjB9IG1pblNpemU9ezE1fT5cbiAgICAgICAgICA8U2NoZW1hUGFuZWwgc2V0VGFibGVTY2hlbWE9e3NldFRhYmxlU2NoZW1hfSAvPlxuICAgICAgICA8L1BhbmVsPlxuXG4gICAgICAgIDxTdHlsZWRSZXNpemVIYW5kbGUgLz5cblxuICAgICAgICA8UGFuZWwgbWluU2l6ZT17NDB9PlxuICAgICAgICAgIDxTdHlsZWRTcWxFZGl0b3I+XG4gICAgICAgICAgICA8UGFuZWxHcm91cCBkaXJlY3Rpb249XCJ2ZXJ0aWNhbFwiPlxuICAgICAgICAgICAgICA8UGFuZWwgZGVmYXVsdFNpemU9ezMwfSBjbGFzc05hbWU9XCJlZGl0b3ItcGFuZWxcIj5cbiAgICAgICAgICAgICAgICA8U3R5bGVkRWRpdG9yUGFuZWw+XG4gICAgICAgICAgICAgICAgICA8U3R5bGVkU3FsQWN0aW9ucz5cbiAgICAgICAgICAgICAgICAgICAgPEljb25CdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICBkYXRhLXRpcFxuICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZm9yPVwicnVuLXF1ZXJ5LXRvb2x0aXBcIlxuICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e3J1blF1ZXJ5fVxuICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtpc1J1bm5pbmcgfHwgIXNxbH1cbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIDxJY29ucy5QbGF5IGhlaWdodD1cIjE4cHhcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgIDxUb29sdGlwIGlkPVwicnVuLXF1ZXJ5LXRvb2x0aXBcIiBwbGFjZT1cInRvcFwiIGVmZmVjdD1cInNvbGlkXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICBSdW4gUXVlcnkgKHtpc01hYyA/ICfijJhFbnRlcicgOiAnQ3RybCtFbnRlcid9IG9yIFNoaWZ0K0VudGVyKVxuICAgICAgICAgICAgICAgICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAgICAgICAgICAgICAgPC9JY29uQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgPC9TdHlsZWRTcWxBY3Rpb25zPlxuICAgICAgICAgICAgICAgICAgPFN0eWxlZEVkaXRvciBpc1J1bm5pbmc9e2lzUnVubmluZ30+XG4gICAgICAgICAgICAgICAgICAgIDxNb25hY29FZGl0b3JcbiAgICAgICAgICAgICAgICAgICAgICBpc1JlYWRPbmx5PXtpc1J1bm5pbmd9XG4gICAgICAgICAgICAgICAgICAgICAgb25SdW5RdWVyeT17cnVuUXVlcnl9XG4gICAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlfVxuICAgICAgICAgICAgICAgICAgICAgIHRhYmxlU2NoZW1hPXt0YWJsZVNjaGVtYX1cbiAgICAgICAgICAgICAgICAgICAgICBjb2RlPXtzcWx9XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8L1N0eWxlZEVkaXRvcj5cbiAgICAgICAgICAgICAgICA8L1N0eWxlZEVkaXRvclBhbmVsPlxuICAgICAgICAgICAgICA8L1BhbmVsPlxuXG4gICAgICAgICAgICAgIDxTdHlsZWRWZXJ0aWNhbFJlc2l6ZUhhbmRsZSAvPlxuICAgICAgICAgICAgICA8UGFuZWw+XG4gICAgICAgICAgICAgICAge2lzUnVubmluZyA/IChcbiAgICAgICAgICAgICAgICAgIDxTdHlsZWRMb2FkaW5nQ29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8TG9hZGluZ1NwaW5uZXIgLz5cbiAgICAgICAgICAgICAgICAgIDwvU3R5bGVkTG9hZGluZ0NvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICApIDogZXJyb3IgPyAoXG4gICAgICAgICAgICAgICAgICA8U3R5bGVkRXJyb3JDb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXY+e2Vycm9yLm1lc3NhZ2V9PC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L1N0eWxlZEVycm9yQ29udGFpbmVyPlxuICAgICAgICAgICAgICAgICkgOiByZXN1bHQgPyAoXG4gICAgICAgICAgICAgICAgICA8U3R5bGVkRGF0YVBhbmVsPlxuICAgICAgICAgICAgICAgICAgICA8U3R5bGVkUmVzdWx0QWN0aW9ucz5cbiAgICAgICAgICAgICAgICAgICAgICA8QnV0dG9uIHNlY29uZGFyeSBvbkNsaWNrPXtvbkFkZFJlc3VsdFRvTWFwfT5cbiAgICAgICAgICAgICAgICAgICAgICAgIEFkZCB0byBNYXBcbiAgICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2PntyZXN1bHQubnVtUm93c30gcm93czwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L1N0eWxlZFJlc3VsdEFjdGlvbnM+XG4gICAgICAgICAgICAgICAgICAgIDxQcmV2aWV3RGF0YVBhbmVsXG4gICAgICAgICAgICAgICAgICAgICAgcmVzdWx0PXtyZXN1bHR9XG4gICAgICAgICAgICAgICAgICAgICAgZGF0YVRhYmxlU3R5bGU9e3t9fVxuICAgICAgICAgICAgICAgICAgICAgIG9uQWRkUmVzdWx0VG9NYXA9e29uQWRkUmVzdWx0VG9NYXB9XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8L1N0eWxlZERhdGFQYW5lbD5cbiAgICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgICAgPC9QYW5lbD5cbiAgICAgICAgICAgIDwvUGFuZWxHcm91cD5cbiAgICAgICAgICA8L1N0eWxlZFNxbEVkaXRvcj5cbiAgICAgICAgPC9QYW5lbD5cbiAgICAgIDwvUGFuZWxHcm91cD5cbiAgICA8L1N0eWxlZFNxbFBhbmVsPlxuICApO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBSUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsV0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsaUJBQUEsR0FBQUMsc0JBQUEsQ0FBQUgsT0FBQTtBQUNBLElBQUFJLHFCQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxhQUFBLEdBQUFGLHNCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBTSxZQUFBLEdBQUFOLE9BQUE7QUFDQSxJQUFBTyxpQkFBQSxHQUFBUCxPQUFBO0FBQ0EsSUFBQVEsS0FBQSxHQUFBUixPQUFBO0FBQ0EsSUFBQVMsV0FBQSxHQUFBVCxPQUFBO0FBQ0EsSUFBQVUsWUFBQSxHQUFBVixPQUFBO0FBQ0EsSUFBQVcsUUFBQSxHQUFBWCxPQUFBO0FBRUEsSUFBQVksT0FBQSxHQUFBWixPQUFBO0FBQ0EsSUFBQWEsTUFBQSxHQUFBYixPQUFBO0FBQ0EsSUFBQWMsV0FBQSxHQUFBZCxPQUFBO0FBQTBELElBQUFlLGVBQUEsRUFBQUMsZ0JBQUEsRUFBQUMsZ0JBQUEsRUFBQUMsZ0JBQUEsRUFBQUMsZ0JBQUEsRUFBQUMsZ0JBQUEsRUFBQUMsZ0JBQUEsRUFBQUMsZ0JB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
|
|
203
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RSZWR1eCIsIl9zdHlsZWRDb21wb25lbnRzIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9yZWFjdFJlc2l6YWJsZVBhbmVscyIsIl9tb25hY29FZGl0b3IiLCJfc2NoZW1hUGFuZWwiLCJfcHJldmlld0RhdGFQYW5lbCIsIl9pbml0IiwiX2NvbXBvbmVudHMiLCJfY29tbW9uVXRpbHMiLCJfYWN0aW9ucyIsIl9zdHlsZXMiLCJfdXRpbHMiLCJfcHJvY2Vzc29ycyIsIl90ZW1wbGF0ZU9iamVjdCIsIl90ZW1wbGF0ZU9iamVjdDIiLCJfdGVtcGxhdGVPYmplY3QzIiwiX3RlbXBsYXRlT2JqZWN0NCIsIl90ZW1wbGF0ZU9iamVjdDUiLCJfdGVtcGxhdGVPYmplY3Q2IiwiX3RlbXBsYXRlT2JqZWN0NyIsIl90ZW1wbGF0ZU9iamVjdDgiLCJfdGVtcGxhdGVPYmplY3Q5IiwiX3RlbXBsYXRlT2JqZWN0MTAiLCJfdGVtcGxhdGVPYmplY3QxMSIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIlN0eWxlZFNxbFBhbmVsIiwic3R5bGVkIiwiZGl2IiwiX3RhZ2dlZFRlbXBsYXRlTGl0ZXJhbDIiLCJzaWRlUGFuZWxCZyIsIlN0eWxlZFNxbEFjdGlvbnMiLCJTdHlsZWRTcWxFZGl0b3IiLCJTdHlsZWRFZGl0b3JQYW5lbCIsIlN0eWxlZERhdGFQYW5lbCIsIlN0eWxlZEVkaXRvciIsInByb3BzIiwiaXNSdW5uaW5nIiwiU3R5bGVkUmVzdWx0QWN0aW9ucyIsIlN0eWxlZFJlc2l6ZUhhbmRsZSIsIlBhbmVsUmVzaXplSGFuZGxlIiwicGFuZWxCb3JkZXJDb2xvciIsIlN0eWxlZFZlcnRpY2FsUmVzaXplSGFuZGxlIiwiU3R5bGVkTG9hZGluZ0NvbnRhaW5lciIsIlN0eWxlZEVycm9yQ29udGFpbmVyIiwicHJlIiwiU0NIRU1BX1BBTkVMX1NUWUxFIiwib3ZlcmZsb3ciLCJTcWxQYW5lbCIsImV4cG9ydHMiLCJfcmVmIiwiX3JlZiRpbml0aWFsU3FsIiwiaW5pdGlhbFNxbCIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwicGFyYW1zIiwiVVJMU2VhcmNoUGFyYW1zIiwid2luZG93IiwibG9jYXRpb24iLCJzZWFyY2giLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkyIiwic3FsIiwic2V0U3FsIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJyZXN1bHQiLCJzZXRSZXN1bHQiLCJfdXNlU3RhdGU1IiwiX3VzZVN0YXRlNiIsImVycm9yIiwic2V0RXJyb3IiLCJfdXNlU3RhdGU3IiwiX3VzZVN0YXRlOCIsImNvdW50ZXIiLCJzZXRDb3VudGVyIiwiX3VzZVN0YXRlOSIsIl91c2VTdGF0ZTEwIiwidGFibGVTY2hlbWEiLCJzZXRUYWJsZVNjaGVtYSIsIl91c2VTdGF0ZTExIiwiX3VzZVN0YXRlMTIiLCJzZXRJc1J1bm5pbmciLCJfdXNlU3RhdGUxMyIsImlzQXBwbGVEZXZpY2UiLCJfdXNlU3RhdGUxNCIsImlzTWFjIiwiZGlzcGF0Y2giLCJ1c2VEaXNwYXRjaCIsInVzZUVmZmVjdCIsImN1cnJlbnRVcmwiLCJVUkwiLCJocmVmIiwic2VhcmNoUGFyYW1zIiwiaGlzdG9yeSIsInJlcGxhY2VTdGF0ZSIsInRvU3RyaW5nIiwicnVuUXVlcnkiLCJ1c2VDYWxsYmFjayIsIl9hc3luY1RvR2VuZXJhdG9yMiIsIl9yZWdlbmVyYXRvciIsIm1hcmsiLCJfY2FsbGVlIiwiZGIiLCJjb25uZWN0aW9uIiwiYXJyb3dSZXN1bHQiLCJ3cmFwIiwiX2NhbGxlZSQiLCJfY29udGV4dCIsInByZXYiLCJuZXh0IiwidHJpbSIsIkVycm9yIiwiYWJydXB0IiwiZ2V0RHVja0RCIiwic2VudCIsImNvbm5lY3QiLCJxdWVyeSIsImNsb3NlIiwidDAiLCJmaW5pc2giLCJzdG9wIiwib25DaGFuZ2UiLCJ2YWx1ZSIsIm9uQWRkUmVzdWx0VG9NYXAiLCJrZXBsZXJGaWVsZHMiLCJhcnJvd1NjaGVtYVRvRmllbGRzIiwic2NoZW1hIiwiZGF0YXNldFRvQWRkIiwiZGF0YSIsImZpZWxkcyIsInJvd3MiLCJpbmZvIiwiaWQiLCJnZW5lcmF0ZUhhc2hJZCIsImxhYmVsIiwiY29uY2F0IiwiZm9ybWF0IiwiYWRkRGF0YVRvTWFwIiwiZGF0YXNldHMiLCJjcmVhdGVFbGVtZW50IiwiUGFuZWxHcm91cCIsImRpcmVjdGlvbiIsIlBhbmVsIiwiZGVmYXVsdFNpemUiLCJtaW5TaXplIiwic3R5bGUiLCJTY2hlbWFQYW5lbCIsImNsYXNzTmFtZSIsIkljb25CdXR0b24iLCJvbkNsaWNrIiwiZGlzYWJsZWQiLCJJY29ucyIsIlBsYXkiLCJoZWlnaHQiLCJUb29sdGlwIiwicGxhY2UiLCJlZmZlY3QiLCJpc1JlYWRPbmx5Iiwib25SdW5RdWVyeSIsImNvZGUiLCJMb2FkaW5nU3Bpbm5lciIsIm1lc3NhZ2UiLCJCdXR0b24iLCJzZWNvbmRhcnkiLCJudW1Sb3dzIiwiUHJldmlld0RhdGFQYW5lbCIsImRhdGFUYWJsZVN0eWxlIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbXBvbmVudHMvc3FsLXBhbmVsLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgKiBhcyBhcnJvdyBmcm9tICdhcGFjaGUtYXJyb3cnO1xuaW1wb3J0IFJlYWN0LCB7dXNlQ2FsbGJhY2ssIHVzZVN0YXRlLCB1c2VFZmZlY3R9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7dXNlRGlzcGF0Y2h9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IHtQYW5lbCwgUGFuZWxHcm91cCwgUGFuZWxSZXNpemVIYW5kbGV9IGZyb20gJ3JlYWN0LXJlc2l6YWJsZS1wYW5lbHMnO1xuaW1wb3J0IE1vbmFjb0VkaXRvciBmcm9tICcuL21vbmFjby1lZGl0b3InO1xuaW1wb3J0IHtTY2hlbWFQYW5lbH0gZnJvbSAnLi9zY2hlbWEtcGFuZWwnO1xuaW1wb3J0IHtQcmV2aWV3RGF0YVBhbmVsfSBmcm9tICcuL3ByZXZpZXctZGF0YS1wYW5lbCc7XG5pbXBvcnQge2dldER1Y2tEQn0gZnJvbSAnLi4vaW5pdCc7XG5pbXBvcnQge0J1dHRvbiwgSWNvbkJ1dHRvbiwgVG9vbHRpcH0gZnJvbSAnQGtlcGxlci5nbC9jb21wb25lbnRzJztcbmltcG9ydCB7Z2VuZXJhdGVIYXNoSWR9IGZyb20gJ0BrZXBsZXIuZ2wvY29tbW9uLXV0aWxzJztcbmltcG9ydCB7YWRkRGF0YVRvTWFwfSBmcm9tICdAa2VwbGVyLmdsL2FjdGlvbnMnO1xuaW1wb3J0IHtJY29ucywgTG9hZGluZ1NwaW5uZXJ9IGZyb20gJ0BrZXBsZXIuZ2wvY29tcG9uZW50cyc7XG5pbXBvcnQge3NpZGVQYW5lbEJnLCBwYW5lbEJvcmRlckNvbG9yfSBmcm9tICdAa2VwbGVyLmdsL3N0eWxlcyc7XG5pbXBvcnQge2lzQXBwbGVEZXZpY2V9IGZyb20gJ0BrZXBsZXIuZ2wvdXRpbHMnO1xuaW1wb3J0IHthcnJvd1NjaGVtYVRvRmllbGRzfSBmcm9tICdAa2VwbGVyLmdsL3Byb2Nlc3NvcnMnO1xuXG5jb25zdCBTdHlsZWRTcWxQYW5lbCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtzaWRlUGFuZWxCZ307XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzMzMztcbmA7XG5cbmNvbnN0IFN0eWxlZFNxbEFjdGlvbnMgPSBzdHlsZWQuZGl2YFxuICBmbGV4OiAwIDAgNTBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZy10b3A6IDEycHg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMzMzM7XG5gO1xuXG5jb25zdCBTdHlsZWRTcWxFZGl0b3IgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4OiAxO1xuICBtaW4td2lkdGg6IDA7IC8vIFByZXZlbnRzIGZsZXggY2hpbGQgZnJvbSBvdmVyZmxvd2luZ1xuICBoZWlnaHQ6IDEwMCU7XG5gO1xuXG5jb25zdCBTdHlsZWRFZGl0b3JQYW5lbCA9IHN0eWxlZC5kaXZgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7c2lkZVBhbmVsQmd9O1xuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGdhcDogNXB4O1xuICBmbGV4LWdyb3c6IDE7XG5gO1xuXG5jb25zdCBTdHlsZWREYXRhUGFuZWwgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuYDtcblxuY29uc3QgU3R5bGVkRWRpdG9yID0gc3R5bGVkLmRpdjx7aXNSdW5uaW5nOiBib29sZWFufT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmc6IDEycHggMTJweCAxMnB4IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigzMCwgMzAsIDMwKTtcbiAgb3BhY2l0eTogJHtwcm9wcyA9PiAocHJvcHMuaXNSdW5uaW5nID8gMC41IDogMSl9O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtaW4taGVpZ2h0OiAwOyAvLyBQcmV2ZW50cyBmbGV4IGNoaWxkIGZyb20gb3ZlcmZsb3dpbmdcbmA7XG5cbmNvbnN0IFN0eWxlZFJlc3VsdEFjdGlvbnMgPSBzdHlsZWQuZGl2YFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgcGFkZGluZzogMnB4IDEycHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZm9udC1zaXplOiAxMnB4O1xuYDtcblxuY29uc3QgU3R5bGVkUmVzaXplSGFuZGxlID0gc3R5bGVkKFBhbmVsUmVzaXplSGFuZGxlKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwYW5lbEJvcmRlckNvbG9yfTtcbiAgd2lkdGg6IDRweDtcbiAgY3Vyc29yOiBjb2wtcmVzaXplO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1NTU7XG4gIH1cbmA7XG5cbmNvbnN0IFN0eWxlZFZlcnRpY2FsUmVzaXplSGFuZGxlID0gc3R5bGVkKFBhbmVsUmVzaXplSGFuZGxlKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwYW5lbEJvcmRlckNvbG9yfTtcbiAgaGVpZ2h0OiA0cHg7XG4gIGN1cnNvcjogcm93LXJlc2l6ZTtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1O1xuICB9XG5gO1xuXG5jb25zdCBTdHlsZWRMb2FkaW5nQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGhlaWdodDogMTAwJTtcbmA7XG5cbmNvbnN0IFN0eWxlZEVycm9yQ29udGFpbmVyID0gc3R5bGVkLnByZWBcbiAgcGFkZGluZzogMTJweDtcbiAgY29sb3I6IHJlZDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3NpZGVQYW5lbEJnfTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogYXV0bztcbmA7XG5cbnR5cGUgU3FsUGFuZWxQcm9wcyA9IHtcbiAgaW5pdGlhbFNxbD86IHN0cmluZztcbn07XG5cbmNvbnN0IFNDSEVNQV9QQU5FTF9TVFlMRSA9IHtvdmVyZmxvdzogJ2F1dG8nfTtcblxuZXhwb3J0IGNvbnN0IFNxbFBhbmVsOiBSZWFjdC5GQzxTcWxQYW5lbFByb3BzPiA9ICh7aW5pdGlhbFNxbCA9ICcnfSkgPT4ge1xuICBjb25zdCBbc3FsLCBzZXRTcWxdID0gdXNlU3RhdGUoKCkgPT4ge1xuICAgIGNvbnN0IHBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMod2luZG93LmxvY2F0aW9uLnNlYXJjaCk7XG4gICAgcmV0dXJuIHBhcmFtcy5nZXQoJ3NxbCcpIHx8IGluaXRpYWxTcWw7XG4gIH0pO1xuICBjb25zdCBbcmVzdWx0LCBzZXRSZXN1bHRdID0gdXNlU3RhdGU8bnVsbCB8IGFycm93LlRhYmxlPihudWxsKTtcbiAgY29uc3QgW2Vycm9yLCBzZXRFcnJvcl0gPSB1c2VTdGF0ZTxFcnJvciB8IG51bGw+KG51bGwpO1xuICBjb25zdCBbY291bnRlciwgc2V0Q291bnRlcl0gPSB1c2VTdGF0ZSgwKTtcbiAgY29uc3QgW3RhYmxlU2NoZW1hLCBzZXRUYWJsZVNjaGVtYV0gPSB1c2VTdGF0ZShbXSk7XG4gIGNvbnN0IFtpc1J1bm5pbmcsIHNldElzUnVubmluZ10gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IFtpc01hY10gPSB1c2VTdGF0ZSgoKSA9PiBpc0FwcGxlRGV2aWNlKCkpO1xuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBjdXJyZW50VXJsID0gbmV3IFVSTCh3aW5kb3cubG9jYXRpb24uaHJlZik7XG4gICAgaWYgKHNxbCkge1xuICAgICAgY3VycmVudFVybC5zZWFyY2hQYXJhbXMuc2V0KCdzcWwnLCBzcWwpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjdXJyZW50VXJsLnNlYXJjaFBhcmFtcy5kZWxldGUoJ3NxbCcpO1xuICAgIH1cbiAgICB3aW5kb3cuaGlzdG9yeS5yZXBsYWNlU3RhdGUoe30sICcnLCBjdXJyZW50VXJsLnRvU3RyaW5nKCkpO1xuICB9LCBbc3FsXSk7XG5cbiAgY29uc3QgcnVuUXVlcnkgPSB1c2VDYWxsYmFjayhhc3luYyAoKSA9PiB7XG4gICAgc2V0SXNSdW5uaW5nKHRydWUpO1xuICAgIHRyeSB7XG4gICAgICBpZiAoIXNxbD8udHJpbSgpKSB7XG4gICAgICAgIHNldEVycm9yKG5ldyBFcnJvcignUXVlcnkgaXMgZW1wdHknKSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgZGIgPSBhd2FpdCBnZXREdWNrREIoKTtcbiAgICAgIGNvbnN0IGNvbm5lY3Rpb24gPSBhd2FpdCBkYi5jb25uZWN0KCk7XG5cbiAgICAgIGNvbnN0IGFycm93UmVzdWx0ID0gYXdhaXQgY29ubmVjdGlvbi5xdWVyeShzcWwpO1xuICAgICAgc2V0UmVzdWx0KGFycm93UmVzdWx0KTtcbiAgICAgIHNldEVycm9yKG51bGwpO1xuXG4gICAgICBjb25uZWN0aW9uLmNsb3NlKCk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgc2V0RXJyb3IoZSBhcyBFcnJvcik7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHNldElzUnVubmluZyhmYWxzZSk7XG4gICAgfVxuICB9LCBbc3FsXSk7XG5cbiAgY29uc3Qgb25DaGFuZ2UgPSB1c2VDYWxsYmFjayhcbiAgICB2YWx1ZSA9PiB7XG4gICAgICBzZXRTcWwodmFsdWUpO1xuICAgIH0sXG4gICAgW3NldFNxbF1cbiAgKTtcblxuICBjb25zdCBvbkFkZFJlc3VsdFRvTWFwID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGlmICghcmVzdWx0KSByZXR1cm47XG5cbiAgICBjb25zdCBrZXBsZXJGaWVsZHMgPSBhcnJvd1NjaGVtYVRvRmllbGRzKHJlc3VsdC5zY2hlbWEpO1xuXG4gICAgY29uc3QgZGF0YXNldFRvQWRkID0ge1xuICAgICAgZGF0YToge1xuICAgICAgICBmaWVsZHM6IGtlcGxlckZpZWxkcyxcbiAgICAgICAgLy8gVE9ETyB0eXBlIEFkZERhdGFUb01hcFBheWxvYWQgLT4gcm93cyAtPiArIGFycm93LlRhYmxlXG4gICAgICAgIHJvd3M6IHJlc3VsdCBhcyBhbnlcbiAgICAgIH0sXG4gICAgICBpbmZvOiB7XG4gICAgICAgIGlkOiBnZW5lcmF0ZUhhc2hJZCgpLFxuICAgICAgICBsYWJlbDogYFF1ZXJ5IFJlc3VsdCR7Y291bnRlciA+IDAgPyBgICgke2NvdW50ZXJ9KWAgOiAnJ31gLFxuICAgICAgICBmb3JtYXQ6ICdhcnJvdydcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgZGlzcGF0Y2goYWRkRGF0YVRvTWFwKHtkYXRhc2V0czogW2RhdGFzZXRUb0FkZF19KSk7XG4gICAgc2V0Q291bnRlcihjb3VudGVyICsgMSk7XG4gIH0sIFtyZXN1bHQsIGNvdW50ZXIsIGRpc3BhdGNoXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkU3FsUGFuZWw+XG4gICAgICA8UGFuZWxHcm91cCBkaXJlY3Rpb249XCJob3Jpem9udGFsXCI+XG4gICAgICAgIDxQYW5lbCBkZWZhdWx0U2l6ZT17MjB9IG1pblNpemU9ezE1fSBzdHlsZT17U0NIRU1BX1BBTkVMX1NUWUxFfT5cbiAgICAgICAgICA8U2NoZW1hUGFuZWwgc2V0VGFibGVTY2hlbWE9e3NldFRhYmxlU2NoZW1hfSAvPlxuICAgICAgICA8L1BhbmVsPlxuXG4gICAgICAgIDxTdHlsZWRSZXNpemVIYW5kbGUgLz5cblxuICAgICAgICA8UGFuZWwgbWluU2l6ZT17NDB9PlxuICAgICAgICAgIDxTdHlsZWRTcWxFZGl0b3I+XG4gICAgICAgICAgICA8UGFuZWxHcm91cCBkaXJlY3Rpb249XCJ2ZXJ0aWNhbFwiPlxuICAgICAgICAgICAgICA8UGFuZWwgZGVmYXVsdFNpemU9ezMwfSBjbGFzc05hbWU9XCJlZGl0b3ItcGFuZWxcIj5cbiAgICAgICAgICAgICAgICA8U3R5bGVkRWRpdG9yUGFuZWw+XG4gICAgICAgICAgICAgICAgICA8U3R5bGVkU3FsQWN0aW9ucz5cbiAgICAgICAgICAgICAgICAgICAgPEljb25CdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICBkYXRhLXRpcFxuICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZm9yPVwicnVuLXF1ZXJ5LXRvb2x0aXBcIlxuICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e3J1blF1ZXJ5fVxuICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtpc1J1bm5pbmcgfHwgIXNxbH1cbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIDxJY29ucy5QbGF5IGhlaWdodD1cIjE4cHhcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgIDxUb29sdGlwIGlkPVwicnVuLXF1ZXJ5LXRvb2x0aXBcIiBwbGFjZT1cInRvcFwiIGVmZmVjdD1cInNvbGlkXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICBSdW4gUXVlcnkgKHtpc01hYyA/ICfijJhFbnRlcicgOiAnQ3RybCtFbnRlcid9IG9yIFNoaWZ0K0VudGVyKVxuICAgICAgICAgICAgICAgICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAgICAgICAgICAgICAgPC9JY29uQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgPC9TdHlsZWRTcWxBY3Rpb25zPlxuICAgICAgICAgICAgICAgICAgPFN0eWxlZEVkaXRvciBpc1J1bm5pbmc9e2lzUnVubmluZ30+XG4gICAgICAgICAgICAgICAgICAgIDxNb25hY29FZGl0b3JcbiAgICAgICAgICAgICAgICAgICAgICBpc1JlYWRPbmx5PXtpc1J1bm5pbmd9XG4gICAgICAgICAgICAgICAgICAgICAgb25SdW5RdWVyeT17cnVuUXVlcnl9XG4gICAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlfVxuICAgICAgICAgICAgICAgICAgICAgIHRhYmxlU2NoZW1hPXt0YWJsZVNjaGVtYX1cbiAgICAgICAgICAgICAgICAgICAgICBjb2RlPXtzcWx9XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8L1N0eWxlZEVkaXRvcj5cbiAgICAgICAgICAgICAgICA8L1N0eWxlZEVkaXRvclBhbmVsPlxuICAgICAgICAgICAgICA8L1BhbmVsPlxuXG4gICAgICAgICAgICAgIDxTdHlsZWRWZXJ0aWNhbFJlc2l6ZUhhbmRsZSAvPlxuICAgICAgICAgICAgICA8UGFuZWw+XG4gICAgICAgICAgICAgICAge2lzUnVubmluZyA/IChcbiAgICAgICAgICAgICAgICAgIDxTdHlsZWRMb2FkaW5nQ29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8TG9hZGluZ1NwaW5uZXIgLz5cbiAgICAgICAgICAgICAgICAgIDwvU3R5bGVkTG9hZGluZ0NvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICApIDogZXJyb3IgPyAoXG4gICAgICAgICAgICAgICAgICA8U3R5bGVkRXJyb3JDb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXY+e2Vycm9yLm1lc3NhZ2V9PC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L1N0eWxlZEVycm9yQ29udGFpbmVyPlxuICAgICAgICAgICAgICAgICkgOiByZXN1bHQgPyAoXG4gICAgICAgICAgICAgICAgICA8U3R5bGVkRGF0YVBhbmVsPlxuICAgICAgICAgICAgICAgICAgICA8U3R5bGVkUmVzdWx0QWN0aW9ucz5cbiAgICAgICAgICAgICAgICAgICAgICA8QnV0dG9uIHNlY29uZGFyeSBvbkNsaWNrPXtvbkFkZFJlc3VsdFRvTWFwfT5cbiAgICAgICAgICAgICAgICAgICAgICAgIEFkZCB0byBNYXBcbiAgICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2PntyZXN1bHQubnVtUm93c30gcm93czwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L1N0eWxlZFJlc3VsdEFjdGlvbnM+XG4gICAgICAgICAgICAgICAgICAgIDxQcmV2aWV3RGF0YVBhbmVsXG4gICAgICAgICAgICAgICAgICAgICAgcmVzdWx0PXtyZXN1bHR9XG4gICAgICAgICAgICAgICAgICAgICAgZGF0YVRhYmxlU3R5bGU9e3t9fVxuICAgICAgICAgICAgICAgICAgICAgIG9uQWRkUmVzdWx0VG9NYXA9e29uQWRkUmVzdWx0VG9NYXB9XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8L1N0eWxlZERhdGFQYW5lbD5cbiAgICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgICAgPC9QYW5lbD5cbiAgICAgICAgICAgIDwvUGFuZWxHcm91cD5cbiAgICAgICAgICA8L1N0eWxlZFNxbEVkaXRvcj5cbiAgICAgICAgPC9QYW5lbD5cbiAgICAgIDwvUGFuZWxHcm91cD5cbiAgICA8L1N0eWxlZFNxbFBhbmVsPlxuICApO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBSUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsV0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsaUJBQUEsR0FBQUMsc0JBQUEsQ0FBQUgsT0FBQTtBQUNBLElBQUFJLHFCQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxhQUFBLEdBQUFGLHNCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBTSxZQUFBLEdBQUFOLE9BQUE7QUFDQSxJQUFBTyxpQkFBQSxHQUFBUCxPQUFBO0FBQ0EsSUFBQVEsS0FBQSxHQUFBUixPQUFBO0FBQ0EsSUFBQVMsV0FBQSxHQUFBVCxPQUFBO0FBQ0EsSUFBQVUsWUFBQSxHQUFBVixPQUFBO0FBQ0EsSUFBQVcsUUFBQSxHQUFBWCxPQUFBO0FBRUEsSUFBQVksT0FBQSxHQUFBWixPQUFBO0FBQ0EsSUFBQWEsTUFBQSxHQUFBYixPQUFBO0FBQ0EsSUFB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
|
package/dist/components/tree.js
CHANGED
|
@@ -14,7 +14,7 @@ var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
|
14
14
|
var _react = _interopRequireWildcard(require("react"));
|
|
15
15
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
16
16
|
var _components = require("@kepler.gl/components");
|
|
17
|
-
var _templateObject, _templateObject2; // SPDX-License-Identifier: MIT
|
|
17
|
+
var _templateObject, _templateObject2, _templateObject3; // SPDX-License-Identifier: MIT
|
|
18
18
|
// Copyright contributors to the kepler.gl project
|
|
19
19
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
20
20
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
@@ -74,11 +74,12 @@ function TreeNode(props) {
|
|
|
74
74
|
});
|
|
75
75
|
}) : null));
|
|
76
76
|
}
|
|
77
|
+
var StyledDatasetNode = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n font-weight: bold;\n"])));
|
|
77
78
|
var DatasetNode = exports.DatasetNode = function DatasetNode(_ref) {
|
|
78
79
|
var node = _ref.node;
|
|
79
|
-
return /*#__PURE__*/_react["default"].createElement(
|
|
80
|
+
return /*#__PURE__*/_react["default"].createElement(StyledDatasetNode, null, node.object.tableName);
|
|
80
81
|
};
|
|
81
|
-
var StyledColumnNode = _styledComponents["default"].div(
|
|
82
|
+
var StyledColumnNode = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n padding: 4px 0;\n margin-left: 16px;\n\n .column-name {\n margin-left: 8px;\n }\n"])));
|
|
82
83
|
var ColumnNode = exports.ColumnNode = function ColumnNode(_ref2) {
|
|
83
84
|
var node = _ref2.node;
|
|
84
85
|
return /*#__PURE__*/_react["default"].createElement(StyledColumnNode, null, /*#__PURE__*/_react["default"].createElement(_components.FieldToken, {
|
|
@@ -87,4 +88,4 @@ var ColumnNode = exports.ColumnNode = function ColumnNode(_ref2) {
|
|
|
87
88
|
className: "column-name"
|
|
88
89
|
}, node.object.name));
|
|
89
90
|
};
|
|
90
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3RDb2xsYXBzaWJsZSIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl9jbGFzc25hbWVzIiwiX2NvbXBvbmVudHMiLCJfdGVtcGxhdGVPYmplY3QiLCJfdGVtcGxhdGVPYmplY3QyIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0IiwiVHJlZSIsInByb3BzIiwidHJlZURhdGEiLCJyZW5kZXJOb2RlIiwiY3JlYXRlRWxlbWVudCIsImNsYXNzTmFtZSIsIlRyZWVOb2RlIiwiU3R5bGVkQ29sbGFwc2libGVUcmlnZ2VyQ29udGVudCIsInN0eWxlZCIsImRpdiIsIl90YWdnZWRUZW1wbGF0ZUxpdGVyYWwyIiwiY2hpbGRyZW4iLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsIkJvb2xlYW4iLCJpc09wZW4iLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkyIiwic2V0SXNPcGVuIiwidXNlRWZmZWN0IiwiQ29sbGFwc2libGUiLCJvcGVuIiwib25PcGVuQ2hhbmdlIiwiQ29sbGFwc2libGVUcmlnZ2VyIiwiYXNDaGlsZCIsIkljb25zIiwiQXJyb3dSaWdodCIsImNsYXNzTmFtZXMiLCJoZWlnaHQiLCJDb2xsYXBzaWJsZUNvbnRlbnQiLCJtYXAiLCJjaGlsZCIsImtleSIsIkRhdGFzZXROb2RlIiwiZXhwb3J0cyIsIl9yZWYiLCJub2RlIiwib2JqZWN0IiwidGFibGVOYW1lIiwiU3R5bGVkQ29sdW1uTm9kZSIsIkNvbHVtbk5vZGUiLCJfcmVmMiIsIkZpZWxkVG9rZW4iLCJ0eXBlIiwiZmllbGRUeXBlIiwibmFtZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL3RyZWUudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCB7Q29sbGFwc2libGUsIENvbGxhcHNpYmxlVHJpZ2dlciwgQ29sbGFwc2libGVDb250ZW50fSBmcm9tICdAcmFkaXgtdWkvcmVhY3QtY29sbGFwc2libGUnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgUmVhY3QsIHt1c2VFZmZlY3QsIHVzZVN0YXRlfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgY2xhc3NOYW1lcyBmcm9tICdjbGFzc25hbWVzJztcblxuaW1wb3J0IHtJY29ucywgRmllbGRUb2tlbn0gZnJvbSAnQGtlcGxlci5nbC9jb21wb25lbnRzJztcblxuZXhwb3J0IHR5cGUgVHJlZU5vZGVEYXRhPFQ+ID0ge1xuICBrZXk6IHN0cmluZztcbiAgb2JqZWN0OiBUO1xuICBjaGlsZHJlbj86IFRyZWVOb2RlRGF0YTxUPltdO1xuICBpc09wZW4/OiBib29sZWFuO1xufTtcblxuZXhwb3J0IHR5cGUgVHJlZVByb3BzPFQ+ID0ge1xuICBjbGFzc05hbWU/OiBzdHJpbmc7XG4gIHRyZWVEYXRhOiBUcmVlTm9kZURhdGE8VD47XG4gIHJlbmRlck5vZGU6IFRyZWVOb2RlUHJvcHM8VD5bJ3JlbmRlck5vZGUnXTtcbn07XG5cbi8vIFRPRE86IGNvbnNpZGVyIHVzaW5nIHJlYWN0LXZ0cmVlL3JlYWN0LXdpbmRvdyBmb3IgdmlydHVhbGl6YXRpb25cblxuLyoqXG4gKiBDb21wb25lbnQgdGhhdCByZW5kZXJzIGEgZ2VuZXJpYyB0cmVlLlxuICogQHBhcmFtIHRyZWVEYXRhIC0gVGhlIHRyZWUgZGF0YS5cbiAqIEBwYXJhbSByZW5kZXJOb2RlIC0gQSBmdW5jdGlvbiB0aGF0IHJlbmRlcnMgYSB0cmVlIG5vZGUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBUcmVlPFQ+KHByb3BzOiBUcmVlUHJvcHM8VD4pOiBSZWFjdC5SZWFjdEVsZW1lbnQge1xuICBjb25zdCB7dHJlZURhdGEsIHJlbmRlck5vZGV9ID0gcHJvcHM7XG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGZsZXgtY29sXCI+XG4gICAgICA8VHJlZU5vZGU8VD4gdHJlZURhdGE9e3RyZWVEYXRhfSByZW5kZXJOb2RlPXtyZW5kZXJOb2RlfSAvPlxuICAgIDwvZGl2PlxuICApO1xufVxuXG5leHBvcnQgdHlwZSBUcmVlTm9kZVByb3BzPFQ+ID0ge1xuICB0cmVlRGF0YTogVHJlZU5vZGVEYXRhPFQ+O1xuICByZW5kZXJOb2RlOiAobm9kZTogVHJlZU5vZGVEYXRhPFQ+LCBpc09wZW46IGJvb2xlYW4pID0+IEpTWC5FbGVtZW50IHwgbnVsbDtcbn07XG5cbmNvbnN0IFN0eWxlZENvbGxhcHNpYmxlVHJpZ2dlckNvbnRlbnQgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuYDtcbi8qKlxuICogQ29tcG9uZW50IHRoYXQgcmVuZGVycyBhIHRyZWUgbm9kZS5cbiAqL1xuZnVuY3Rpb24gVHJlZU5vZGU8VD4ocHJvcHM6IFRyZWVOb2RlUHJvcHM8VD4pOiBKU1guRWxlbWVudCB8IG51bGwge1xuICBjb25zdCB7dHJlZURhdGEsIHJlbmRlck5vZGV9ID0gcHJvcHM7XG4gIGNvbnN0IHtjaGlsZHJlbn0gPSB0cmVlRGF0YTtcbiAgY29uc3QgW2lzT3Blbiwgc2V0SXNPcGVuXSA9IHVzZVN0YXRlKEJvb2xlYW4odHJlZURhdGEuaXNPcGVuKSk7XG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgc2V0SXNPcGVuKEJvb2xlYW4odHJlZURhdGEuaXNPcGVuKSk7XG4gIH0sIFt0cmVlRGF0YS5pc09wZW5dKTtcbiAgaWYgKCFjaGlsZHJlbikge1xuICAgIHJldHVybiByZW5kZXJOb2RlKHRyZWVEYXRhLCBpc09wZW4pO1xuICB9XG4gIHJldHVybiAoXG4gICAgPENvbGxhcHNpYmxlIG9wZW49e2lzT3Blbn0gb25PcGVuQ2hhbmdlPXtzZXRJc09wZW59PlxuICAgICAgPENvbGxhcHNpYmxlVHJpZ2dlciBjbGFzc05hbWU9XCJ3LWZ1bGxcIiBhc0NoaWxkPlxuICAgICAgICA8U3R5bGVkQ29sbGFwc2libGVUcmlnZ2VyQ29udGVudD5cbiAgICAgICAgICA8SWNvbnMuQXJyb3dSaWdodFxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWVzKCdmbGV4LXNocmluay0wIHRleHQtZ3JheS01MDAnLCB7J3JvdGF0ZS05MCB0cmFuc2Zvcm0nOiBpc09wZW59KX1cbiAgICAgICAgICAgIGhlaWdodD1cIjE4cHhcIlxuICAgICAgICAgIC8+XG4gICAgICAgICAge3JlbmRlck5vZGUodHJlZURhdGEsIGlzT3Blbil9XG4gICAgICAgIDwvU3R5bGVkQ29sbGFwc2libGVUcmlnZ2VyQ29udGVudD5cbiAgICAgIDwvQ29sbGFwc2libGVUcmlnZ2VyPlxuICAgICAgPENvbGxhcHNpYmxlQ29udGVudCBjbGFzc05hbWU9XCJwbC00XCI+XG4gICAgICAgIHtpc09wZW5cbiAgICAgICAgICA/IGNoaWxkcmVuLm1hcChjaGlsZCA9PiAoXG4gICAgICAgICAgICAgIDxUcmVlTm9kZTxUPiBrZXk9e2NoaWxkLmtleX0gdHJlZURhdGE9e2NoaWxkfSByZW5kZXJOb2RlPXtyZW5kZXJOb2RlfSAvPlxuICAgICAgICAgICAgKSlcbiAgICAgICAgICA6IG51bGx9XG4gICAgICA8L0NvbGxhcHNpYmxlQ29udGVudD5cbiAgICA8L0NvbGxhcHNpYmxlPlxuICApO1xufVxuXG5leHBvcnQgY29uc3QgRGF0YXNldE5vZGUgPSAoe25vZGV9KSA9PiB7XG4gIHJldHVybiA8ZGl2Pntub2RlLm9iamVjdC50YWJsZU5hbWV9PC9kaXY+O1xufTtcblxuY29uc3QgU3R5bGVkQ29sdW1uTm9kZSA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDRweCAwO1xuICBtYXJnaW4tbGVmdDogMTZweDtcblxuICAuY29sdW1uLW5hbWUge1xuICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG4gIH1cbmA7XG5leHBvcnQgY29uc3QgQ29sdW1uTm9kZSA9ICh7bm9kZX0pID0+IHtcbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkQ29sdW1uTm9kZT5cbiAgICAgIDxGaWVsZFRva2VuIHR5cGU9e25vZGUub2JqZWN0LmZpZWxkVHlwZX0gLz5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sdW1uLW5hbWVcIj57bm9kZS5vYmplY3QubmFtZX08L2Rpdj5cbiAgICA8L1N0eWxlZENvbHVtbk5vZGU+XG4gICk7XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUdBLElBQUFBLGlCQUFBLEdBQUFDLE9BQUE7QUFDQSxJQUFBQyxpQkFBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsTUFBQSxHQUFBQyx1QkFBQSxDQUFBSixPQUFBO0FBQ0EsSUFBQUssV0FBQSxHQUFBSCxzQkFBQSxDQUFBRixPQUFBO0FBRUEsSUFBQU0sV0FBQSxHQUFBTixPQUFBO0FBQXdELElBQUFPLGVBQUEsRUFBQUMsZ0JBQUEsRUFSeEQ7QUFDQTtBQUFBLFNBQUFDLHlCQUFBQyxDQUFBLDZCQUFBQyxPQUFBLG1CQUFBQyxDQUFBLE9BQUFELE9BQUEsSUFBQUUsQ0FBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxDQUFBLFdBQUFBLENBQUEsR0FBQUcsQ0FBQSxHQUFBRCxDQUFBLEtBQUFGLENBQUE7QUFBQSxTQUFBTix3QkFBQU0sQ0FBQSxFQUFBRSxDQUFBLFNBQUFBLENBQUEsSUFBQUYsQ0FBQSxJQUFB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
|
|
91
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3RDb2xsYXBzaWJsZSIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl9jbGFzc25hbWVzIiwiX2NvbXBvbmVudHMiLCJfdGVtcGxhdGVPYmplY3QiLCJfdGVtcGxhdGVPYmplY3QyIiwiX3RlbXBsYXRlT2JqZWN0MyIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIlRyZWUiLCJwcm9wcyIsInRyZWVEYXRhIiwicmVuZGVyTm9kZSIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJUcmVlTm9kZSIsIlN0eWxlZENvbGxhcHNpYmxlVHJpZ2dlckNvbnRlbnQiLCJzdHlsZWQiLCJkaXYiLCJfdGFnZ2VkVGVtcGxhdGVMaXRlcmFsMiIsImNoaWxkcmVuIiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJCb29sZWFuIiwiaXNPcGVuIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsInNldElzT3BlbiIsInVzZUVmZmVjdCIsIkNvbGxhcHNpYmxlIiwib3BlbiIsIm9uT3BlbkNoYW5nZSIsIkNvbGxhcHNpYmxlVHJpZ2dlciIsImFzQ2hpbGQiLCJJY29ucyIsIkFycm93UmlnaHQiLCJjbGFzc05hbWVzIiwiaGVpZ2h0IiwiQ29sbGFwc2libGVDb250ZW50IiwibWFwIiwiY2hpbGQiLCJrZXkiLCJTdHlsZWREYXRhc2V0Tm9kZSIsIkRhdGFzZXROb2RlIiwiZXhwb3J0cyIsIl9yZWYiLCJub2RlIiwib2JqZWN0IiwidGFibGVOYW1lIiwiU3R5bGVkQ29sdW1uTm9kZSIsIkNvbHVtbk5vZGUiLCJfcmVmMiIsIkZpZWxkVG9rZW4iLCJ0eXBlIiwiZmllbGRUeXBlIiwibmFtZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL3RyZWUudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCB7Q29sbGFwc2libGUsIENvbGxhcHNpYmxlVHJpZ2dlciwgQ29sbGFwc2libGVDb250ZW50fSBmcm9tICdAcmFkaXgtdWkvcmVhY3QtY29sbGFwc2libGUnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgUmVhY3QsIHt1c2VFZmZlY3QsIHVzZVN0YXRlfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgY2xhc3NOYW1lcyBmcm9tICdjbGFzc25hbWVzJztcblxuaW1wb3J0IHtJY29ucywgRmllbGRUb2tlbn0gZnJvbSAnQGtlcGxlci5nbC9jb21wb25lbnRzJztcblxuZXhwb3J0IHR5cGUgVHJlZU5vZGVEYXRhPFQ+ID0ge1xuICBrZXk6IHN0cmluZztcbiAgb2JqZWN0OiBUO1xuICBjaGlsZHJlbj86IFRyZWVOb2RlRGF0YTxUPltdO1xuICBpc09wZW4/OiBib29sZWFuO1xufTtcblxuZXhwb3J0IHR5cGUgVHJlZVByb3BzPFQ+ID0ge1xuICBjbGFzc05hbWU/OiBzdHJpbmc7XG4gIHRyZWVEYXRhOiBUcmVlTm9kZURhdGE8VD47XG4gIHJlbmRlck5vZGU6IFRyZWVOb2RlUHJvcHM8VD5bJ3JlbmRlck5vZGUnXTtcbn07XG5cbi8vIFRPRE86IGNvbnNpZGVyIHVzaW5nIHJlYWN0LXZ0cmVlL3JlYWN0LXdpbmRvdyBmb3IgdmlydHVhbGl6YXRpb25cblxuLyoqXG4gKiBDb21wb25lbnQgdGhhdCByZW5kZXJzIGEgZ2VuZXJpYyB0cmVlLlxuICogQHBhcmFtIHRyZWVEYXRhIC0gVGhlIHRyZWUgZGF0YS5cbiAqIEBwYXJhbSByZW5kZXJOb2RlIC0gQSBmdW5jdGlvbiB0aGF0IHJlbmRlcnMgYSB0cmVlIG5vZGUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBUcmVlPFQ+KHByb3BzOiBUcmVlUHJvcHM8VD4pOiBSZWFjdC5SZWFjdEVsZW1lbnQge1xuICBjb25zdCB7dHJlZURhdGEsIHJlbmRlck5vZGV9ID0gcHJvcHM7XG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGZsZXgtY29sXCI+XG4gICAgICA8VHJlZU5vZGU8VD4gdHJlZURhdGE9e3RyZWVEYXRhfSByZW5kZXJOb2RlPXtyZW5kZXJOb2RlfSAvPlxuICAgIDwvZGl2PlxuICApO1xufVxuXG5leHBvcnQgdHlwZSBUcmVlTm9kZVByb3BzPFQ+ID0ge1xuICB0cmVlRGF0YTogVHJlZU5vZGVEYXRhPFQ+O1xuICByZW5kZXJOb2RlOiAobm9kZTogVHJlZU5vZGVEYXRhPFQ+LCBpc09wZW46IGJvb2xlYW4pID0+IEpTWC5FbGVtZW50IHwgbnVsbDtcbn07XG5cbmNvbnN0IFN0eWxlZENvbGxhcHNpYmxlVHJpZ2dlckNvbnRlbnQgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuYDtcbi8qKlxuICogQ29tcG9uZW50IHRoYXQgcmVuZGVycyBhIHRyZWUgbm9kZS5cbiAqL1xuZnVuY3Rpb24gVHJlZU5vZGU8VD4ocHJvcHM6IFRyZWVOb2RlUHJvcHM8VD4pOiBKU1guRWxlbWVudCB8IG51bGwge1xuICBjb25zdCB7dHJlZURhdGEsIHJlbmRlck5vZGV9ID0gcHJvcHM7XG4gIGNvbnN0IHtjaGlsZHJlbn0gPSB0cmVlRGF0YTtcbiAgY29uc3QgW2lzT3Blbiwgc2V0SXNPcGVuXSA9IHVzZVN0YXRlKEJvb2xlYW4odHJlZURhdGEuaXNPcGVuKSk7XG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgc2V0SXNPcGVuKEJvb2xlYW4odHJlZURhdGEuaXNPcGVuKSk7XG4gIH0sIFt0cmVlRGF0YS5pc09wZW5dKTtcbiAgaWYgKCFjaGlsZHJlbikge1xuICAgIHJldHVybiByZW5kZXJOb2RlKHRyZWVEYXRhLCBpc09wZW4pO1xuICB9XG4gIHJldHVybiAoXG4gICAgPENvbGxhcHNpYmxlIG9wZW49e2lzT3Blbn0gb25PcGVuQ2hhbmdlPXtzZXRJc09wZW59PlxuICAgICAgPENvbGxhcHNpYmxlVHJpZ2dlciBjbGFzc05hbWU9XCJ3LWZ1bGxcIiBhc0NoaWxkPlxuICAgICAgICA8U3R5bGVkQ29sbGFwc2libGVUcmlnZ2VyQ29udGVudD5cbiAgICAgICAgICA8SWNvbnMuQXJyb3dSaWdodFxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWVzKCdmbGV4LXNocmluay0wIHRleHQtZ3JheS01MDAnLCB7J3JvdGF0ZS05MCB0cmFuc2Zvcm0nOiBpc09wZW59KX1cbiAgICAgICAgICAgIGhlaWdodD1cIjE4cHhcIlxuICAgICAgICAgIC8+XG4gICAgICAgICAge3JlbmRlck5vZGUodHJlZURhdGEsIGlzT3Blbil9XG4gICAgICAgIDwvU3R5bGVkQ29sbGFwc2libGVUcmlnZ2VyQ29udGVudD5cbiAgICAgIDwvQ29sbGFwc2libGVUcmlnZ2VyPlxuICAgICAgPENvbGxhcHNpYmxlQ29udGVudCBjbGFzc05hbWU9XCJwbC00XCI+XG4gICAgICAgIHtpc09wZW5cbiAgICAgICAgICA/IGNoaWxkcmVuLm1hcChjaGlsZCA9PiAoXG4gICAgICAgICAgICAgIDxUcmVlTm9kZTxUPiBrZXk9e2NoaWxkLmtleX0gdHJlZURhdGE9e2NoaWxkfSByZW5kZXJOb2RlPXtyZW5kZXJOb2RlfSAvPlxuICAgICAgICAgICAgKSlcbiAgICAgICAgICA6IG51bGx9XG4gICAgICA8L0NvbGxhcHNpYmxlQ29udGVudD5cbiAgICA8L0NvbGxhcHNpYmxlPlxuICApO1xufVxuXG5jb25zdCBTdHlsZWREYXRhc2V0Tm9kZSA9IHN0eWxlZC5kaXZgXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuYDtcblxuZXhwb3J0IGNvbnN0IERhdGFzZXROb2RlID0gKHtub2RlfSkgPT4ge1xuICByZXR1cm4gPFN0eWxlZERhdGFzZXROb2RlPntub2RlLm9iamVjdC50YWJsZU5hbWV9PC9TdHlsZWREYXRhc2V0Tm9kZT47XG59O1xuXG5jb25zdCBTdHlsZWRDb2x1bW5Ob2RlID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogNHB4IDA7XG4gIG1hcmdpbi1sZWZ0OiAxNnB4O1xuXG4gIC5jb2x1bW4tbmFtZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgfVxuYDtcbmV4cG9ydCBjb25zdCBDb2x1bW5Ob2RlID0gKHtub2RlfSkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxTdHlsZWRDb2x1bW5Ob2RlPlxuICAgICAgPEZpZWxkVG9rZW4gdHlwZT17bm9kZS5vYmplY3QuZmllbGRUeXBlfSAvPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2x1bW4tbmFtZVwiPntub2RlLm9iamVjdC5uYW1lfTwvZGl2PlxuICAgIDwvU3R5bGVkQ29sdW1uTm9kZT5cbiAgKTtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBR0EsSUFBQUEsaUJBQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLGlCQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBRyxNQUFBLEdBQUFDLHVCQUFBLENBQUFKLE9BQUE7QUFDQSxJQUFBSyxXQUFBLEdBQUFILHNCQUFBLENBQUFGLE9BQUE7QUFFQSxJQUFBTSxXQUFBLEdBQUFOLE9BQUE7QUFBd0QsSUFBQU8sZUFBQSxFQUFBQyxnQkFBQSxFQUFBQyxnQkFBQSxFQVJ4RDtBQUNBO0FBQUEsU0FBQUMseUJBQUFDLENBQUEsNkJBQUFDLE9BQUEsbUJBQUFDLENBQUEsT0FBQUQsT0FBQSxJQUFBRSxDQUFB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
|
package/dist/plugin.d.ts
CHANGED
package/dist/plugin.js
CHANGED
|
@@ -12,6 +12,7 @@ var _init = require("./init");
|
|
|
12
12
|
// Copyright contributors to the kepler.gl project
|
|
13
13
|
|
|
14
14
|
var keplerGlDuckDBPlugin = exports.keplerGlDuckDBPlugin = {
|
|
15
|
+
name: 'duckdb',
|
|
15
16
|
init: function init() {
|
|
16
17
|
return (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
17
18
|
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
@@ -29,4 +30,4 @@ var keplerGlDuckDBPlugin = exports.keplerGlDuckDBPlugin = {
|
|
|
29
30
|
}))();
|
|
30
31
|
}
|
|
31
32
|
};
|
|
32
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
33
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfaW5pdCIsInJlcXVpcmUiLCJrZXBsZXJHbER1Y2tEQlBsdWdpbiIsImV4cG9ydHMiLCJuYW1lIiwiaW5pdCIsIl9hc3luY1RvR2VuZXJhdG9yMiIsIl9yZWdlbmVyYXRvciIsIm1hcmsiLCJfY2FsbGVlIiwid3JhcCIsIl9jYWxsZWUkIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsImluaXRpYWxpemVEdWNrRGIiLCJjb25zb2xlIiwibG9nIiwic3RvcCJdLCJzb3VyY2VzIjpbIi4uL3NyYy9wbHVnaW4udHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IHtpbml0aWFsaXplRHVja0RifSBmcm9tICcuL2luaXQnO1xuXG5leHBvcnQgY29uc3Qga2VwbGVyR2xEdWNrREJQbHVnaW4gPSB7XG4gIG5hbWU6ICdkdWNrZGInLFxuICBhc3luYyBpbml0KCkge1xuICAgIGF3YWl0IGluaXRpYWxpemVEdWNrRGIoKTtcbiAgICBjb25zb2xlLmxvZygna2VwbGVyLmdsIER1Y2tEQiBQbHVnaW4gaW5pdGlhbGl6ZWQnKTtcbiAgfVxufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBR0EsSUFBQUEsS0FBQSxHQUFBQyxPQUFBO0FBSEE7QUFDQTs7QUFJTyxJQUFNQyxvQkFBb0IsR0FBQUMsT0FBQSxDQUFBRCxvQkFBQSxHQUFHO0VBQ2xDRSxJQUFJLEVBQUUsUUFBUTtFQUNSQyxJQUFJLFdBQUpBLElBQUlBLENBQUEsRUFBRztJQUFBLFdBQUFDLGtCQUFBLDJCQUFBQyxZQUFBLFlBQUFDLElBQUEsVUFBQUMsUUFBQTtNQUFBLE9BQUFGLFlBQUEsWUFBQUcsSUFBQSxVQUFBQyxTQUFBQyxRQUFBO1FBQUEsa0JBQUFBLFFBQUEsQ0FBQUMsSUFBQSxHQUFBRCxRQUFBLENBQUFFLElBQUE7VUFBQTtZQUFBRixRQUFBLENBQUFFLElBQUE7WUFBQSxPQUNMLElBQUFDLHNCQUFnQixFQUFDLENBQUM7VUFBQTtZQUN4QkMsT0FBTyxDQUFDQyxHQUFHLENBQUMscUNBQXFDLENBQUM7VUFBQztVQUFBO1lBQUEsT0FBQUwsUUFBQSxDQUFBTSxJQUFBO1FBQUE7TUFBQSxHQUFBVCxPQUFBO0lBQUE7RUFDckQ7QUFDRixDQUFDIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -315,14 +315,13 @@ function processGeojson(rawData) {
|
|
|
315
315
|
if (!normalizedGeojson || !Array.isArray(normalizedGeojson.features)) {
|
|
316
316
|
var error = new Error("Read File Failed: File is not a valid GeoJSON. Read more about [supported file format](".concat(_constants.GUIDES_FILE_FORMAT_DOC, ")"));
|
|
317
317
|
throw error;
|
|
318
|
-
// fail to normalize geojson
|
|
319
318
|
}
|
|
320
|
-
// console.log(normalizedGeojson);
|
|
321
319
|
|
|
320
|
+
// @ts-expect-error Don't pass empty fields, as duck db outputs an empty dataset
|
|
322
321
|
return {
|
|
323
|
-
rows: normalizedGeojson
|
|
322
|
+
rows: normalizedGeojson
|
|
324
323
|
// TODO get fields to preserve field names?
|
|
325
|
-
fields: []
|
|
324
|
+
// fields: []
|
|
326
325
|
};
|
|
327
326
|
}
|
|
328
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZ2VvanNvbk5vcm1hbGl6ZSIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX2NvbW1vblV0aWxzIiwiX2NvbnN0YW50cyIsIl9wcm9jZXNzb3JzIiwiX2luaXQiLCJfY3JlYXRlRm9yT2ZJdGVyYXRvckhlbHBlciIsInIiLCJlIiwidCIsIlN5bWJvbCIsIml0ZXJhdG9yIiwiQXJyYXkiLCJpc0FycmF5IiwiX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5IiwibGVuZ3RoIiwiX24iLCJGIiwicyIsIm4iLCJkb25lIiwidmFsdWUiLCJmIiwiVHlwZUVycm9yIiwibyIsImEiLCJ1IiwiY2FsbCIsIm5leHQiLCJfYXJyYXlMaWtlVG9BcnJheSIsInRvU3RyaW5nIiwic2xpY2UiLCJjb25zdHJ1Y3RvciIsIm5hbWUiLCJmcm9tIiwidGVzdCIsIm93bktleXMiLCJPYmplY3QiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiZmlsdGVyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5MiIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiZGVmaW5lUHJvcGVydHkiLCJDU1ZfTlVMTFMiLCJleHBvcnRzIiwiQ09MVU1OX1RZUEVTIiwiQ09MVU1OX1RZUEVTX1BSSU9SSVRJRVMiLCJjb2x1bW5UeXBlVG9GaWVsZFR5cGUiLCJjb2x1bW5UeXBlIiwiQk9PTEVBTiIsIkFMTF9GSUVMRF9UWVBFUyIsIkRBVEUiLCJkYXRlIiwiSU5URUdFUiIsImludGVnZXIiLCJGTE9BVCIsInJlYWwiLCJWQVJDSEFSIiwic3RyaW5nIiwiVElNRVNUQU1QIiwidGltZXN0YW1wIiwiR0VPTUVUUlkiLCJnZW9qc29uIiwiY29uc29sZSIsIndhcm4iLCJjb25jYXQiLCJmaWVsZFR5cGVUb0NvbHVtblR5cGUiLCJmaWVsZFR5cGUiLCJwcm9jZXNzS2VwbGVyZ2xKU09OZm9yRHVja0RiIiwiX3giLCJfcHJvY2Vzc0tlcGxlcmdsSlNPTmZvckR1Y2tEYiIsIl9hc3luY1RvR2VuZXJhdG9yMiIsIl9yZWdlbmVyYXRvciIsIm1hcmsiLCJfY2FsbGVlIiwia2VwbGVySnNvbiIsInJlcyIsImRhdGFzZXRzIiwiX2l0ZXJhdG9yIiwiX3N0ZXAiLCJfbG9vcDIiLCJ3cmFwIiwiX2NhbGxlZSQiLCJfY29udGV4dDIiLCJwcmV2IiwicHJvY2Vzc0tlcGxlcmdsSlNPTiIsImRhdGFzZXQiLCJyb3dzQWxsIiwiZmllbGRzQWxsIiwiaGVhZGVyIiwic2FtcGxlIiwic2NoZW1hIiwiZmllbGRzVXBkIiwiX2xvb3AyJCIsIl9jb250ZXh0IiwiZGF0YSIsInJvd3MiLCJmaWVsZHMiLCJtYXAiLCJnZXRTYW1wbGVGb3JUeXBlQW5hbHl6ZSIsInNuaWZmQ3N2U2NoZW1hIiwidDAiLCJzZW50IiwicmVkdWNlIiwiYWNjIiwiZmllbGQiLCJ0eXBlIiwiY29uc29saWRhdGVGaWVsZFR5cGVzIiwiaSIsInN0b3AiLCJkZWxlZ2F0ZVlpZWxkIiwidDEiLCJmaW5pc2giLCJhYnJ1cHQiLCJwcm9jZXNzQ3N2Um93T2JqZWN0IiwiX3gyIiwiX3Byb2Nlc3NDc3ZSb3dPYmplY3QiLCJfY2FsbGVlMiIsInJhd0RhdGEiLCJmaWVsZHNXQW5hbHl6ZXJUeXBlIiwiX2NhbGxlZTIkIiwiX2NvbnRleHQzIiwiY2xlYW5VcEZhbHN5Q3N2VmFsdWUiLCJnZXRGaWVsZHNGcm9tRGF0YSIsInJlIiwiUmVnRXhwIiwiX2xvb3AiLCJrZXkiLCJtYXRjaCIsImNvbHVtbk5hbWUiLCJkZXRlY3RlZENvbHVtblR5cGUiLCJkdWNrREJDb2x1bW5UeXBlIiwidG9DU1ZSb3ciLCJyb3ciLCJyVG9TdHIiLCJub3ROdWxsb3JVbmRlZmluZWQiLCJTdHJpbmciLCJyZXBsYWNlIiwiaW5jbHVkZXMiLCJqb2luIiwiX3gzIiwiX3NuaWZmQ3N2U2NoZW1hIiwiX2NhbGxlZTMiLCJoZWFkZXJSb3ciLCJjc3ZDb250ZW50IiwiZGIiLCJjIiwiZmlsZU5hbWUiLCJyZXN1bHQiLCJzY2hlbWFSZXN1bHQiLCJjb2x1bW5zIiwiX2NhbGxlZTMkIiwiX2NvbnRleHQ0IiwiYWNjdSIsInZhbHVlcyIsImdldER1Y2tEQiIsImNvbm5lY3QiLCJnZW5lcmF0ZUhhc2hJZCIsInJlZ2lzdGVyRmlsZVRleHQiLCJxdWVyeSIsInRvQXJyYXkiLCJ0b0pTT04iLCJDb2x1bW5zIiwiZ2V0IiwicHJvY2Vzc0dlb2pzb24iLCJub3JtYWxpemVkR2VvanNvbiIsIm5vcm1hbGl6ZSIsImZlYXR1cmVzIiwiZXJyb3IiLCJFcnJvciIsIkdVSURFU19GSUxFX0ZPUk1BVF9ET0MiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJvY2Vzc29ycy9kYXRhLXByb2Nlc3Nvci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgKiBhcyBhcnJvdyBmcm9tICdhcGFjaGUtYXJyb3cnO1xuaW1wb3J0IG5vcm1hbGl6ZSBmcm9tICdAbWFwYm94L2dlb2pzb24tbm9ybWFsaXplJztcblxuaW1wb3J0IHtcbiAgZ2V0U2FtcGxlRm9yVHlwZUFuYWx5emUsXG4gIGdldEZpZWxkc0Zyb21EYXRhLFxuICBnZW5lcmF0ZUhhc2hJZCxcbiAgbm90TnVsbG9yVW5kZWZpbmVkXG59IGZyb20gJ0BrZXBsZXIuZ2wvY29tbW9uLXV0aWxzJztcbmltcG9ydCB7UHJvdG9EYXRhc2V0RmllbGR9IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuaW1wb3J0IHtBTExfRklFTERfVFlQRVMsIEdVSURFU19GSUxFX0ZPUk1BVF9ET0N9IGZyb20gJ0BrZXBsZXIuZ2wvY29uc3RhbnRzJztcbmltcG9ydCB7cHJvY2Vzc0tlcGxlcmdsSlNPTn0gZnJvbSAnQGtlcGxlci5nbC9wcm9jZXNzb3JzJztcblxuaW1wb3J0IHtnZXREdWNrREJ9IGZyb20gJy4uL2luaXQnO1xuXG5leHBvcnQgY29uc3QgQ1NWX05VTExTID0gL14obnVsbHxOVUxMfE51bGx8TmFOfFxcL058fCkkLztcblxudHlwZSBSb3dzQXNBcnJheSA9IGFueVtdW107XG50eXBlIFJvd3NBc09iamVjdCA9IFJlY29yZDxzdHJpbmcsIHVua25vd24+W107XG50eXBlIFJvd0RhdGEgPSBSb3dzQXNBcnJheSB8IFJvd3NBc09iamVjdDtcblxuZXhwb3J0IHR5cGUgUHJvY2Vzc29yUmVzdWx0ID0ge1xuICBjb2xzPzogYXJyb3cuVmVjdG9yW107XG4gIHJvd3M6IFJvd0RhdGE7XG4gIGZpZWxkczogUHJvdG9EYXRhc2V0RmllbGRbXTtcbn07XG5cbmVudW0gQ09MVU1OX1RZUEVTIHtcbiAgR0VPTUVUUlkgPSAnR0VPTUVUUlknLFxuICBCT09MRUFOID0gJ0JPT0xFQU4nLFxuICBJTlRFR0VSID0gJ0lOVEVHRVInLFxuICBGTE9BVCA9ICdGTE9BVCcsXG4gIFRJTUUgPSAnVElNRScsXG4gIERBVEUgPSAnREFURScsXG4gIFRJTUVTVEFNUCA9ICdUSU1FU1RBTVAnLFxuICBWQVJDSEFSID0gJ1ZBUkNIQVInXG59XG4vLyBAdHMtZXhwZWN0LWVycm9yIGh0dHBzOi8vZHVja2RiLm9yZy9kb2NzL2RhdGEvY3N2L2F1dG9fZGV0ZWN0aW9uLmh0bWwjdHlwZS1kZXRlY3Rpb25cbmNvbnN0IENPTFVNTl9UWVBFU19QUklPUklUSUVTID0gW1xuICAnR0VPTUVUUlknLFxuICAnQk9PTEVBTicsXG4gICdJTlRFR0VSJyxcbiAgJ0ZMT0FUJyxcbiAgJ1RJTUUnLFxuICAnREFURScsXG4gICdUSU1FU1RBTVAnLFxuICAnVkFSQ0hBUidcbl07XG5cbmV4cG9ydCBmdW5jdGlvbiBjb2x1bW5UeXBlVG9GaWVsZFR5cGUoY29sdW1uVHlwZTogc3RyaW5nKTogc3RyaW5nIHwgbnVsbCB7XG4gIHN3aXRjaCAoY29sdW1uVHlwZSkge1xuICAgIGNhc2UgQ09MVU1OX1RZUEVTLkJPT0xFQU46XG4gICAgICByZXR1cm4gQUxMX0ZJRUxEX1RZUEVTLmJvb2xlYW47XG4gICAgY2FzZSBDT0xVTU5fVFlQRVMuREFURTpcbiAgICAgIHJldHVybiBBTExfRklFTERfVFlQRVMuZGF0ZTtcbiAgICBjYXNlIENPTFVNTl9UWVBFUy5JTlRFR0VSOlxuICAgICAgcmV0dXJuIEFMTF9GSUVMRF9UWVBFUy5pbnRlZ2VyO1xuICAgIGNhc2UgQ09MVU1OX1RZUEVTLkZMT0FUOlxuICAgICAgcmV0dXJuIEFMTF9GSUVMRF9UWVBFUy5yZWFsO1xuICAgIGNhc2UgQ09MVU1OX1RZUEVTLlZBUkNIQVI6XG4gICAgICByZXR1cm4gQUxMX0ZJRUxEX1RZUEVTLnN0cmluZztcbiAgICBjYXNlIENPTFVNTl9UWVBFUy5USU1FU1RBTVA6XG4gICAgICByZXR1cm4gQUxMX0ZJRUxEX1RZUEVTLnRpbWVzdGFtcDtcbiAgICBjYXNlIENPTFVNTl9UWVBFUy5HRU9NRVRSWTpcbiAgICAgIHJldHVybiBBTExfRklFTERfVFlQRVMuZ2VvanNvbjtcbiAgICBkZWZhdWx0OlxuICAgICAgLy8gaXMgdGhlcmUgYW55IG90aGVyIHR5cGUgd2UgZGlkbid0IGNvdmVyP1xuICAgICAgY29uc29sZS53YXJuKGBVbnN1cHBvcnRlZCBEdWNrREIgQ29sdW1uIHR5cGU6ICR7Y29sdW1uVHlwZX1gKTtcbiAgICAgIHJldHVybiBudWxsO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaWVsZFR5cGVUb0NvbHVtblR5cGUoZmllbGRUeXBlOiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsIHtcbiAgc3dpdGNoIChmaWVsZFR5cGUpIHtcbiAgICBjYXNlIEFMTF9GSUVMRF9UWVBFUy5ib29sZWFuOlxuICAgICAgcmV0dXJuIENPTFVNTl9UWVBFUy5CT09MRUFOO1xuICAgIGNhc2UgQUxMX0ZJRUxEX1RZUEVTLmRhdGU6XG4gICAgICByZXR1cm4gQ09MVU1OX1RZUEVTLkRBVEU7XG4gICAgY2FzZSBBTExfRklFTERfVFlQRVMuaW50ZWdlcjpcbiAgICAgIHJldHVybiBDT0xVTU5fVFlQRVMuSU5URUdFUjtcbiAgICBjYXNlIEFMTF9GSUVMRF9UWVBFUy5yZWFsOlxuICAgICAgcmV0dXJuIENPTFVNTl9UWVBFUy5GTE9BVDtcbiAgICBjYXNlIEFMTF9GSUVMRF9UWVBFUy5zdHJpbmc6XG4gICAgICByZXR1cm4gQ09MVU1OX1RZUEVTLlZBUkNIQVI7XG4gICAgY2FzZSBBTExfRklFTERfVFlQRVMudGltZXN0YW1wOlxuICAgICAgcmV0dXJuIENPTFVNTl9UWVBFUy5USU1FU1RBTVA7XG4gICAgY2FzZSBBTExfRklFTERfVFlQRVMuZ2VvanNvbjpcbiAgICAgIHJldHVybiBDT0xVTU5fVFlQRVMuR0VPTUVUUlk7XG4gICAgZGVmYXVsdDpcbiAgICAgIC8vIGlzIHRoZXJlIGFueSBvdGhlciB0eXBlIHdlIGRpZG4ndCBjb3Zlcj9cbiAgICAgIGNvbnNvbGUud2FybihgVW5zdXBwb3J0ZWQgRmllbGQgdHlwZSBmb3IgRHVja0RiOiAke2ZpZWxkVHlwZX1gKTtcbiAgICAgIHJldHVybiBudWxsO1xuICB9XG59XG5cbi8qXG4gKiBQcm9jZXNzIHVwbG9hZGVkIGV4cG9ydGVkIEtlcGxlcmdsIGpzb24gbWFwLlxuICogV2UgbmVlZCB0byBwb3B1bGF0ZSBmaWVsZCB3aXRoIHByb3BlciBEdWNrRGIgY29tcGF0aWJsZSB0eXBlLlxuICovXG4vLyBUT0RPOiBtZXJnZSB3aXRoIGxvZ2ljIGZyb20gcHJvY2Vzc0NzdlJvd09iamVjdC4gRGlmZmVyZW50IGZvcm1hdHM6IFtbXV0gdnMgW3t9XVxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHByb2Nlc3NLZXBsZXJnbEpTT05mb3JEdWNrRGIoXG4gIGtlcGxlckpzb25cbik6IFByb21pc2U8UmV0dXJuVHlwZTx0eXBlb2YgcHJvY2Vzc0tlcGxlcmdsSlNPTj4+IHtcbiAgY29uc3QgcmVzID0gcHJvY2Vzc0tlcGxlcmdsSlNPTihrZXBsZXJKc29uKTtcblxuICBjb25zdCBkYXRhc2V0cyA9IHJlcz8uZGF0YXNldHMgfHwgW107XG4gIGZvciAoY29uc3QgZGF0YXNldCBvZiBkYXRhc2V0cykge1xuICAgIGNvbnN0IHJvd3NBbGwgPSBkYXRhc2V0LmRhdGEucm93cztcbiAgICBjb25zdCBmaWVsZHNBbGwgPSBkYXRhc2V0LmRhdGEuZmllbGRzO1xuXG4gICAgY29uc3QgaGVhZGVyID0gZmllbGRzQWxsLm1hcChmID0+IGYubmFtZSk7XG4gICAgY29uc3Qgc2FtcGxlID0gZ2V0U2FtcGxlRm9yVHlwZUFuYWx5emUoe2ZpZWxkczogaGVhZGVyLCByb3dzOiByb3dzQWxsfSk7XG5cbiAgICBjb25zdCBzY2hlbWEgPVxuICAgICAgc2FtcGxlLmxlbmd0aCA+IDBcbiAgICAgICAgPyBhd2FpdCBzbmlmZkNzdlNjaGVtYShzYW1wbGUpXG4gICAgICAgIDogZmllbGRzQWxsLnJlZHVjZSgoYWNjLCBmaWVsZCkgPT4ge1xuICAgICAgICAgICAgYWNjW2ZpZWxkLm5hbWVdID0gZmllbGRUeXBlVG9Db2x1bW5UeXBlKGZpZWxkLnR5cGUpO1xuICAgICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgICB9LCB7fSk7XG4gICAgY29uc3QgZmllbGRzVXBkID0gY29uc29saWRhdGVGaWVsZFR5cGVzKGRhdGFzZXQuZGF0YS5maWVsZHMsIHNjaGVtYSk7XG5cbiAgICBkYXRhc2V0LmRhdGEuZmllbGRzID0gZmllbGRzQWxsLm1hcCgoZiwgaSkgPT4ge1xuICAgICAgcmV0dXJuIHsuLi5maWVsZHNVcGRbaV0sIC4uLmZ9O1xuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIHJlcztcbn1cblxuLypcbiAqIFByb2Nlc3MgdXBsb2FkZWQgY3N2IHJldHVybmVkIGJ5IGxvYWRlcnMuZ2wgYXMgcm93IG9iamVjdCBhbmQgc3RyaW5nIHZhbHVlXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBwcm9jZXNzQ3N2Um93T2JqZWN0KFxuICByYXdEYXRhOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBudWxsPltdXG4pOiBQcm9taXNlPFByb2Nlc3NvclJlc3VsdD4ge1xuICBpZiAoIUFycmF5LmlzQXJyYXkocmF3RGF0YSkgfHwgIXJhd0RhdGEubGVuZ3RoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGZpZWxkczogW10sXG4gICAgICByb3dzOiBbXVxuICAgIH07XG4gIH1cblxuICBjb25zdCBoZWFkZXIgPSBPYmplY3Qua2V5cyhyYXdEYXRhWzBdKTsgLy8gW2xhdCwgbG5nLCB2YWx1ZV1cblxuICAvLyByb3cgb2JqZWN0IGNhbiBzdGlsbCBjb250YWluIHZhbHVlcyBsaWtlIGBOdWxsYCBvciBgTi9BYFxuICBjbGVhblVwRmFsc3lDc3ZWYWx1ZShyYXdEYXRhKTtcbiAgY29uc3Qgc2FtcGxlID0gZ2V0U2FtcGxlRm9yVHlwZUFuYWx5emUoe2ZpZWxkczogaGVhZGVyLCByb3dzOiByYXdEYXRhfSk7XG4gIC8vIGFkZCBzYW1wbGUgZGF0YSB0byBkdWNrZGIgYW5kIGdldCBzY2hlbWFcbiAgY29uc3Qgc2NoZW1hID0gYXdhaXQgc25pZmZDc3ZTY2hlbWEoc2FtcGxlKTtcblxuICBjb25zdCBmaWVsZHNXQW5hbHl6ZXJUeXBlID0gZ2V0RmllbGRzRnJvbURhdGEoc2FtcGxlLCBoZWFkZXIpO1xuXG4gIGNvbnN0IGZpZWxkcyA9IGNvbnNvbGlkYXRlRmllbGRUeXBlcyhmaWVsZHNXQW5hbHl6ZXJUeXBlLCBzY2hlbWEpO1xuXG4gIHJldHVybiB7cm93czogcmF3RGF0YSwgZmllbGRzfTtcbn1cblxuZnVuY3Rpb24gY2xlYW5VcEZhbHN5Q3N2VmFsdWUocm93czogUm93RGF0YSk6IHZvaWQge1xuICBjb25zdCByZSA9IG5ldyBSZWdFeHAoQ1NWX05VTExTLCAnZycpO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IHJvd3MubGVuZ3RoOyBpKyspIHtcbiAgICBPYmplY3Qua2V5cyhyb3dzW2ldKS5mb3JFYWNoKGtleSA9PiB7XG4gICAgICAvLyBoZXJlIHdlIHBhcnNlIGVtcHR5IGRhdGEgYXMgbnVsbFxuICAgICAgaWYgKHR5cGVvZiByb3dzW2ldW2tleV0gPT09ICdzdHJpbmcnICYmIChyb3dzW2ldW2tleV0gYXMgc3RyaW5nKS5tYXRjaChyZSkpIHtcbiAgICAgICAgcm93c1tpXVtrZXldID0gbnVsbDtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuXG4vLyBhbGlnbiB0eXBlIGFuYWx5emVyIHR5cGVzIHdpdGggRHVja0RCIGNzdiBhdXRvIGRldGVjdGVkIGNvbHVtbiB0eXBlc1xuZnVuY3Rpb24gY29uc29saWRhdGVGaWVsZFR5cGVzKGZpZWxkcywgc2NoZW1hKSB7XG4gIHJldHVybiBmaWVsZHMubWFwKGZpZWxkID0+IHtcbiAgICBjb25zdCBjb2x1bW5OYW1lID0gZmllbGQubmFtZTtcblxuICAgIGNvbnN0IGRldGVjdGVkQ29sdW1uVHlwZSA9IHNjaGVtYVtjb2x1bW5OYW1lXTtcblxuICAgIC8vIFRPRE8gY29sdW1uVHlwZVRvRmllbGRUeXBlIHRyYW5mb3JtcyBkZXRlY3RlZCB0aW1lc3RhbXBzIHRvIHN0cmluZyxcbiAgICAvLyBjb21wbGV0ZWx5IGJyZWFraW5nIHRpbWUgZmlsdGVyIGxvZ2ljLlxuICAgIC8vIGNvbnN0IGZpZWxkVHlwZSA9IGNvbHVtblR5cGVUb0ZpZWxkVHlwZShkZXRlY3RlZENvbHVtblR5cGUpIHx8IGZpZWxkLnR5cGU7XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4uZmllbGQsXG4gICAgICAvLyB0eXBlOiBmaWVsZFR5cGUsXG4gICAgICBkdWNrREJDb2x1bW5UeXBlOiBkZXRlY3RlZENvbHVtblR5cGVcbiAgICB9O1xuICB9KTtcbn1cblxuZnVuY3Rpb24gdG9DU1ZSb3cocm93OiB1bmtub3duW10pOiBzdHJpbmcge1xuICByZXR1cm4gYCR7cm93XG4gICAgLm1hcChyID0+IHtcbiAgICAgIGNvbnN0IHJUb1N0ciA9IG5vdE51bGxvclVuZGVmaW5lZChyKSA/IFN0cmluZyhyKS5yZXBsYWNlKC9cIi9nLCAnXFxcXFwiJykgOiAnJztcbiAgICAgIHJldHVybiByVG9TdHIuaW5jbHVkZXMoJywnKSA/IGBcIiR7clRvU3RyfVwiYCA6IHJUb1N0cjtcbiAgICB9KVxuICAgIC5qb2luKCcsJyl9XFxuYDtcbn1cblxuLy8gVXNlIER1Y2NrREIgdG8gZGV0ZWN0IGNzdiBjb2x1bW4gc2NoZW1hXG5hc3luYyBmdW5jdGlvbiBzbmlmZkNzdlNjaGVtYShzYW1wbGU6IFJvd0RhdGEpIHtcbiAgaWYgKCFBcnJheS5pc0FycmF5KHNhbXBsZSkgfHwgc2FtcGxlLmxlbmd0aCA8IDApIHtcbiAgICByZXR1cm47XG4gIH1cbiAgY29uc3QgaGVhZGVyUm93ID0gdG9DU1ZSb3coT2JqZWN0LmtleXMoc2FtcGxlWzBdKSk7XG5cbiAgY29uc3QgY3N2Q29udGVudCA9IChzYW1wbGUgYXMgKGFueVtdIHwgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pW10pLnJlZHVjZShcbiAgICAoYWNjdTogc3RyaW5nLCByb3cpID0+IGAke2FjY3V9JHt0b0NTVlJvdyhPYmplY3QudmFsdWVzKHJvdykpfWAsXG4gICAgaGVhZGVyUm93XG4gICk7XG5cbiAgY29uc3QgZGIgPSBhd2FpdCBnZXREdWNrREIoKTtcbiAgY29uc3QgYyA9IGF3YWl0IGRiLmNvbm5lY3QoKTtcblxuICBjb25zdCBmaWxlTmFtZSA9IGdlbmVyYXRlSGFzaElkKCk7XG4gIGF3YWl0IGRiLnJlZ2lzdGVyRmlsZVRleHQoYCR7ZmlsZU5hbWV9LSR7Z2VuZXJhdGVIYXNoSWR9LmNzdmAsIGNzdkNvbnRlbnQpO1xuXG4gIC8vIGh0dHBzOi8vZHVja2RiLm9yZy9kb2NzL2RhdGEvY3N2L2F1dG9fZGV0ZWN0aW9uLmh0bWxcbiAgY29uc3QgcmVzdWx0ID0gYXdhaXQgYy5xdWVyeShgXG4gICAgICAgIEZST00gc25pZmZfY3N2KCcke2ZpbGVOYW1lfS0ke2dlbmVyYXRlSGFzaElkfS5jc3YnLCBcbiAgICAgICAgc2FtcGxlX3NpemUgPSA1MDAsXG4gICAgICAgIGF1dG9fdHlwZV9jYW5kaWRhdGVzID0gWydGTE9BVCcsICdJTlRFR0VSJywgJ1RJTUVTVEFNUCcsICdEQVRFJywgJ1RJTUUnLCAnVkFSQ0hBUicsICdCT09MRUFOJ10pO1xuICAgIGApO1xuXG4gIGNvbnN0IHNjaGVtYVJlc3VsdCA9IHJlc3VsdC50b0FycmF5KCkubWFwKHJvdyA9PiByb3cudG9KU09OKCkpO1xuXG4gIGNvbnN0IGNvbHVtbnMgPSBzY2hlbWFSZXN1bHRbMF0uQ29sdW1ucztcbiAgY29uc3Qgc2NoZW1hID0ge307XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgY29sdW1ucy5sZW5ndGg7IGkrKykge1xuICAgIHNjaGVtYVtjb2x1bW5zLmdldChpKS5uYW1lXSA9IGNvbHVtbnMuZ2V0KGkpLnR5cGU7XG4gIH1cblxuICByZXR1cm4gc2NoZW1hO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJvY2Vzc0dlb2pzb24ocmF3RGF0YTogdW5rbm93bik6IFByb2Nlc3NvclJlc3VsdCB7XG4gIGNvbnN0IG5vcm1hbGl6ZWRHZW9qc29uID0gbm9ybWFsaXplKHJhd0RhdGEpO1xuXG4gIGlmICghbm9ybWFsaXplZEdlb2pzb24gfHwgIUFycmF5LmlzQXJyYXkobm9ybWFsaXplZEdlb2pzb24uZmVhdHVyZXMpKSB7XG4gICAgY29uc3QgZXJyb3IgPSBuZXcgRXJyb3IoXG4gICAgICBgUmVhZCBGaWxlIEZhaWxlZDogRmlsZSBpcyBub3QgYSB2YWxpZCBHZW9KU09OLiBSZWFkIG1vcmUgYWJvdXQgW3N1cHBvcnRlZCBmaWxlIGZvcm1hdF0oJHtHVUlERVNfRklMRV9GT1JNQVRfRE9DfSlgXG4gICAgKTtcbiAgICB0aHJvdyBlcnJvcjtcbiAgICAvLyBmYWlsIHRvIG5vcm1hbGl6ZSBnZW9qc29uXG4gIH1cbiAgLy8gY29uc29sZS5sb2cobm9ybWFsaXplZEdlb2pzb24pO1xuXG4gIHJldHVybiB7XG4gICAgcm93czogbm9ybWFsaXplZEdlb2pzb24sXG4gICAgLy8gVE9ETyBnZXQgZmllbGRzIHRvIHByZXNlcnZlIGZpZWxkIG5hbWVzP1xuICAgIGZpZWxkczogW11cbiAgfTtcbn1cbiJd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LE1BQUEsQ0FBSTRGLDJCQUFjLFdBQVFiLFVBQVUsQ0FBQztRQUFBO1VBQUFRLFNBQUEsQ0FBQXJJLElBQUE7VUFBQSxPQUdyRCtILENBQUMsQ0FBQ2EsS0FBSyw4QkFBQTlGLE1BQUEsQ0FDSmtGLFFBQVEsT0FBQWxGLE1BQUEsQ0FBSTRGLDJCQUFjLHdKQUcvQyxDQUFDO1FBQUE7VUFKRVQsTUFBTSxHQUFBSSxTQUFBLENBQUFsRCxJQUFBO1VBTU4rQyxZQUFZLEdBQUdELE1BQU0sQ0FBQ1ksT0FBTyxDQUFDLENBQUMsQ0FBQzlELEdBQUcsQ0FBQyxVQUFBbUMsR0FBRztZQUFBLE9BQUlBLEdBQUcsQ0FBQzRCLE1BQU0sQ0FBQyxDQUFDO1VBQUEsRUFBQztVQUV4RFgsT0FBTyxHQUFHRCxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUNhLE9BQU87VUFDakN2RSxNQUFNLEdBQUcsQ0FBQyxDQUFDO1VBQ2pCLEtBQVNpQixDQUFDLEdBQUcsQ0FBQyxFQUFFQSxDQUFDLEdBQUcwQyxPQUFPLENBQUNoSixNQUFNLEVBQUVzRyxDQUFDLEVBQUUsRUFBRTtZQUN2Q2pCLE1BQU0sQ0FBQzJELE9BQU8sQ0FBQ2EsR0FBRyxDQUFDdkQsQ0FBQyxDQUFDLENBQUNwRixJQUFJLENBQUMsR0FBRzhILE9BQU8sQ0FBQ2EsR0FBRyxDQUFDdkQsQ0FBQyxDQUFDLENBQUNGLElBQUk7VUFDbkQ7VUFBQyxPQUFBOEMsU0FBQSxDQUFBdkMsTUFBQSxXQUVNdEIsTUFBTTtRQUFBO1FBQUE7VUFBQSxPQUFBNkQsU0FBQSxDQUFBM0MsSUFBQTtNQUFBO0lBQUEsR0FBQWlDLFFBQUE7RUFBQSxDQUNkO0VBQUEsT0FBQUQsZUFBQSxDQUFBMUcsS0FBQSxPQUFBRSxTQUFBO0FBQUE7QUFFTSxTQUFTK0gsY0FBY0EsQ0FBQzlDLE9BQWdCLEVBQW1CO0VBQ2hFLElBQU0rQyxpQkFBaUIsR0FBRyxJQUFBQyw0QkFBUyxFQUFDaEQsT0FBTyxDQUFDO0VBRTVDLElBQUksQ0FBQytDLGlCQUFpQixJQUFJLENBQUNsSyxLQUFLLENBQUNDLE9BQU8sQ0FBQ2lLLGlCQUFpQixDQUFDRSxRQUFRLENBQUMsRUFBRTtJQUNwRSxJQUFNQyxLQUFLLEdBQUcsSUFBSUMsS0FBSywyRkFBQXhHLE1BQUEsQ0FDcUV5RyxpQ0FBc0IsTUFDbEgsQ0FBQztJQUNELE1BQU1GLEtBQUs7SUFDWDtFQUNGO0VBQ0E7O0VBRUEsT0FBTztJQUNMeEUsSUFBSSxFQUFFcUUsaUJBQWlCO0lBQ3ZCO0lBQ0FwRSxNQUFNLEVBQUU7RUFDVixDQUFDO0FBQ0giLCJpZ25vcmVMaXN0IjpbXX0=
|
|
327
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZ2VvanNvbk5vcm1hbGl6ZSIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX2NvbW1vblV0aWxzIiwiX2NvbnN0YW50cyIsIl9wcm9jZXNzb3JzIiwiX2luaXQiLCJfY3JlYXRlRm9yT2ZJdGVyYXRvckhlbHBlciIsInIiLCJlIiwidCIsIlN5bWJvbCIsIml0ZXJhdG9yIiwiQXJyYXkiLCJpc0FycmF5IiwiX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5IiwibGVuZ3RoIiwiX24iLCJGIiwicyIsIm4iLCJkb25lIiwidmFsdWUiLCJmIiwiVHlwZUVycm9yIiwibyIsImEiLCJ1IiwiY2FsbCIsIm5leHQiLCJfYXJyYXlMaWtlVG9BcnJheSIsInRvU3RyaW5nIiwic2xpY2UiLCJjb25zdHJ1Y3RvciIsIm5hbWUiLCJmcm9tIiwidGVzdCIsIm93bktleXMiLCJPYmplY3QiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiZmlsdGVyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5MiIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiZGVmaW5lUHJvcGVydHkiLCJDU1ZfTlVMTFMiLCJleHBvcnRzIiwiQ09MVU1OX1RZUEVTIiwiQ09MVU1OX1RZUEVTX1BSSU9SSVRJRVMiLCJjb2x1bW5UeXBlVG9GaWVsZFR5cGUiLCJjb2x1bW5UeXBlIiwiQk9PTEVBTiIsIkFMTF9GSUVMRF9UWVBFUyIsIkRBVEUiLCJkYXRlIiwiSU5URUdFUiIsImludGVnZXIiLCJGTE9BVCIsInJlYWwiLCJWQVJDSEFSIiwic3RyaW5nIiwiVElNRVNUQU1QIiwidGltZXN0YW1wIiwiR0VPTUVUUlkiLCJnZW9qc29uIiwiY29uc29sZSIsIndhcm4iLCJjb25jYXQiLCJmaWVsZFR5cGVUb0NvbHVtblR5cGUiLCJmaWVsZFR5cGUiLCJwcm9jZXNzS2VwbGVyZ2xKU09OZm9yRHVja0RiIiwiX3giLCJfcHJvY2Vzc0tlcGxlcmdsSlNPTmZvckR1Y2tEYiIsIl9hc3luY1RvR2VuZXJhdG9yMiIsIl9yZWdlbmVyYXRvciIsIm1hcmsiLCJfY2FsbGVlIiwia2VwbGVySnNvbiIsInJlcyIsImRhdGFzZXRzIiwiX2l0ZXJhdG9yIiwiX3N0ZXAiLCJfbG9vcDIiLCJ3cmFwIiwiX2NhbGxlZSQiLCJfY29udGV4dDIiLCJwcmV2IiwicHJvY2Vzc0tlcGxlcmdsSlNPTiIsImRhdGFzZXQiLCJyb3dzQWxsIiwiZmllbGRzQWxsIiwiaGVhZGVyIiwic2FtcGxlIiwic2NoZW1hIiwiZmllbGRzVXBkIiwiX2xvb3AyJCIsIl9jb250ZXh0IiwiZGF0YSIsInJvd3MiLCJmaWVsZHMiLCJtYXAiLCJnZXRTYW1wbGVGb3JUeXBlQW5hbHl6ZSIsInNuaWZmQ3N2U2NoZW1hIiwidDAiLCJzZW50IiwicmVkdWNlIiwiYWNjIiwiZmllbGQiLCJ0eXBlIiwiY29uc29saWRhdGVGaWVsZFR5cGVzIiwiaSIsInN0b3AiLCJkZWxlZ2F0ZVlpZWxkIiwidDEiLCJmaW5pc2giLCJhYnJ1cHQiLCJwcm9jZXNzQ3N2Um93T2JqZWN0IiwiX3gyIiwiX3Byb2Nlc3NDc3ZSb3dPYmplY3QiLCJfY2FsbGVlMiIsInJhd0RhdGEiLCJmaWVsZHNXQW5hbHl6ZXJUeXBlIiwiX2NhbGxlZTIkIiwiX2NvbnRleHQzIiwiY2xlYW5VcEZhbHN5Q3N2VmFsdWUiLCJnZXRGaWVsZHNGcm9tRGF0YSIsInJlIiwiUmVnRXhwIiwiX2xvb3AiLCJrZXkiLCJtYXRjaCIsImNvbHVtbk5hbWUiLCJkZXRlY3RlZENvbHVtblR5cGUiLCJkdWNrREJDb2x1bW5UeXBlIiwidG9DU1ZSb3ciLCJyb3ciLCJyVG9TdHIiLCJub3ROdWxsb3JVbmRlZmluZWQiLCJTdHJpbmciLCJyZXBsYWNlIiwiaW5jbHVkZXMiLCJqb2luIiwiX3gzIiwiX3NuaWZmQ3N2U2NoZW1hIiwiX2NhbGxlZTMiLCJoZWFkZXJSb3ciLCJjc3ZDb250ZW50IiwiZGIiLCJjIiwiZmlsZU5hbWUiLCJyZXN1bHQiLCJzY2hlbWFSZXN1bHQiLCJjb2x1bW5zIiwiX2NhbGxlZTMkIiwiX2NvbnRleHQ0IiwiYWNjdSIsInZhbHVlcyIsImdldER1Y2tEQiIsImNvbm5lY3QiLCJnZW5lcmF0ZUhhc2hJZCIsInJlZ2lzdGVyRmlsZVRleHQiLCJxdWVyeSIsInRvQXJyYXkiLCJ0b0pTT04iLCJDb2x1bW5zIiwiZ2V0IiwicHJvY2Vzc0dlb2pzb24iLCJub3JtYWxpemVkR2VvanNvbiIsIm5vcm1hbGl6ZSIsImZlYXR1cmVzIiwiZXJyb3IiLCJFcnJvciIsIkdVSURFU19GSUxFX0ZPUk1BVF9ET0MiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJvY2Vzc29ycy9kYXRhLXByb2Nlc3Nvci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgKiBhcyBhcnJvdyBmcm9tICdhcGFjaGUtYXJyb3cnO1xuaW1wb3J0IG5vcm1hbGl6ZSBmcm9tICdAbWFwYm94L2dlb2pzb24tbm9ybWFsaXplJztcblxuaW1wb3J0IHtcbiAgZ2V0U2FtcGxlRm9yVHlwZUFuYWx5emUsXG4gIGdldEZpZWxkc0Zyb21EYXRhLFxuICBnZW5lcmF0ZUhhc2hJZCxcbiAgbm90TnVsbG9yVW5kZWZpbmVkXG59IGZyb20gJ0BrZXBsZXIuZ2wvY29tbW9uLXV0aWxzJztcbmltcG9ydCB7UHJvdG9EYXRhc2V0RmllbGR9IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuaW1wb3J0IHtBTExfRklFTERfVFlQRVMsIEdVSURFU19GSUxFX0ZPUk1BVF9ET0N9IGZyb20gJ0BrZXBsZXIuZ2wvY29uc3RhbnRzJztcbmltcG9ydCB7cHJvY2Vzc0tlcGxlcmdsSlNPTn0gZnJvbSAnQGtlcGxlci5nbC9wcm9jZXNzb3JzJztcblxuaW1wb3J0IHtnZXREdWNrREJ9IGZyb20gJy4uL2luaXQnO1xuXG5leHBvcnQgY29uc3QgQ1NWX05VTExTID0gL14obnVsbHxOVUxMfE51bGx8TmFOfFxcL058fCkkLztcblxudHlwZSBSb3dzQXNBcnJheSA9IGFueVtdW107XG50eXBlIFJvd3NBc09iamVjdCA9IFJlY29yZDxzdHJpbmcsIHVua25vd24+W107XG50eXBlIFJvd0RhdGEgPSBSb3dzQXNBcnJheSB8IFJvd3NBc09iamVjdDtcblxuZXhwb3J0IHR5cGUgUHJvY2Vzc29yUmVzdWx0ID0ge1xuICBjb2xzPzogYXJyb3cuVmVjdG9yW107XG4gIHJvd3M6IFJvd0RhdGE7XG4gIGZpZWxkczogUHJvdG9EYXRhc2V0RmllbGRbXTtcbn07XG5cbmVudW0gQ09MVU1OX1RZUEVTIHtcbiAgR0VPTUVUUlkgPSAnR0VPTUVUUlknLFxuICBCT09MRUFOID0gJ0JPT0xFQU4nLFxuICBJTlRFR0VSID0gJ0lOVEVHRVInLFxuICBGTE9BVCA9ICdGTE9BVCcsXG4gIFRJTUUgPSAnVElNRScsXG4gIERBVEUgPSAnREFURScsXG4gIFRJTUVTVEFNUCA9ICdUSU1FU1RBTVAnLFxuICBWQVJDSEFSID0gJ1ZBUkNIQVInXG59XG4vLyBAdHMtZXhwZWN0LWVycm9yIGh0dHBzOi8vZHVja2RiLm9yZy9kb2NzL2RhdGEvY3N2L2F1dG9fZGV0ZWN0aW9uLmh0bWwjdHlwZS1kZXRlY3Rpb25cbmNvbnN0IENPTFVNTl9UWVBFU19QUklPUklUSUVTID0gW1xuICAnR0VPTUVUUlknLFxuICAnQk9PTEVBTicsXG4gICdJTlRFR0VSJyxcbiAgJ0ZMT0FUJyxcbiAgJ1RJTUUnLFxuICAnREFURScsXG4gICdUSU1FU1RBTVAnLFxuICAnVkFSQ0hBUidcbl07XG5cbmV4cG9ydCBmdW5jdGlvbiBjb2x1bW5UeXBlVG9GaWVsZFR5cGUoY29sdW1uVHlwZTogc3RyaW5nKTogc3RyaW5nIHwgbnVsbCB7XG4gIHN3aXRjaCAoY29sdW1uVHlwZSkge1xuICAgIGNhc2UgQ09MVU1OX1RZUEVTLkJPT0xFQU46XG4gICAgICByZXR1cm4gQUxMX0ZJRUxEX1RZUEVTLmJvb2xlYW47XG4gICAgY2FzZSBDT0xVTU5fVFlQRVMuREFURTpcbiAgICAgIHJldHVybiBBTExfRklFTERfVFlQRVMuZGF0ZTtcbiAgICBjYXNlIENPTFVNTl9UWVBFUy5JTlRFR0VSOlxuICAgICAgcmV0dXJuIEFMTF9GSUVMRF9UWVBFUy5pbnRlZ2VyO1xuICAgIGNhc2UgQ09MVU1OX1RZUEVTLkZMT0FUOlxuICAgICAgcmV0dXJuIEFMTF9GSUVMRF9UWVBFUy5yZWFsO1xuICAgIGNhc2UgQ09MVU1OX1RZUEVTLlZBUkNIQVI6XG4gICAgICByZXR1cm4gQUxMX0ZJRUxEX1RZUEVTLnN0cmluZztcbiAgICBjYXNlIENPTFVNTl9UWVBFUy5USU1FU1RBTVA6XG4gICAgICByZXR1cm4gQUxMX0ZJRUxEX1RZUEVTLnRpbWVzdGFtcDtcbiAgICBjYXNlIENPTFVNTl9UWVBFUy5HRU9NRVRSWTpcbiAgICAgIHJldHVybiBBTExfRklFTERfVFlQRVMuZ2VvanNvbjtcbiAgICBkZWZhdWx0OlxuICAgICAgLy8gaXMgdGhlcmUgYW55IG90aGVyIHR5cGUgd2UgZGlkbid0IGNvdmVyP1xuICAgICAgY29uc29sZS53YXJuKGBVbnN1cHBvcnRlZCBEdWNrREIgQ29sdW1uIHR5cGU6ICR7Y29sdW1uVHlwZX1gKTtcbiAgICAgIHJldHVybiBudWxsO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaWVsZFR5cGVUb0NvbHVtblR5cGUoZmllbGRUeXBlOiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsIHtcbiAgc3dpdGNoIChmaWVsZFR5cGUpIHtcbiAgICBjYXNlIEFMTF9GSUVMRF9UWVBFUy5ib29sZWFuOlxuICAgICAgcmV0dXJuIENPTFVNTl9UWVBFUy5CT09MRUFOO1xuICAgIGNhc2UgQUxMX0ZJRUxEX1RZUEVTLmRhdGU6XG4gICAgICByZXR1cm4gQ09MVU1OX1RZUEVTLkRBVEU7XG4gICAgY2FzZSBBTExfRklFTERfVFlQRVMuaW50ZWdlcjpcbiAgICAgIHJldHVybiBDT0xVTU5fVFlQRVMuSU5URUdFUjtcbiAgICBjYXNlIEFMTF9GSUVMRF9UWVBFUy5yZWFsOlxuICAgICAgcmV0dXJuIENPTFVNTl9UWVBFUy5GTE9BVDtcbiAgICBjYXNlIEFMTF9GSUVMRF9UWVBFUy5zdHJpbmc6XG4gICAgICByZXR1cm4gQ09MVU1OX1RZUEVTLlZBUkNIQVI7XG4gICAgY2FzZSBBTExfRklFTERfVFlQRVMudGltZXN0YW1wOlxuICAgICAgcmV0dXJuIENPTFVNTl9UWVBFUy5USU1FU1RBTVA7XG4gICAgY2FzZSBBTExfRklFTERfVFlQRVMuZ2VvanNvbjpcbiAgICAgIHJldHVybiBDT0xVTU5fVFlQRVMuR0VPTUVUUlk7XG4gICAgZGVmYXVsdDpcbiAgICAgIC8vIGlzIHRoZXJlIGFueSBvdGhlciB0eXBlIHdlIGRpZG4ndCBjb3Zlcj9cbiAgICAgIGNvbnNvbGUud2FybihgVW5zdXBwb3J0ZWQgRmllbGQgdHlwZSBmb3IgRHVja0RiOiAke2ZpZWxkVHlwZX1gKTtcbiAgICAgIHJldHVybiBudWxsO1xuICB9XG59XG5cbi8qXG4gKiBQcm9jZXNzIHVwbG9hZGVkIGV4cG9ydGVkIEtlcGxlcmdsIGpzb24gbWFwLlxuICogV2UgbmVlZCB0byBwb3B1bGF0ZSBmaWVsZCB3aXRoIHByb3BlciBEdWNrRGIgY29tcGF0aWJsZSB0eXBlLlxuICovXG4vLyBUT0RPOiBtZXJnZSB3aXRoIGxvZ2ljIGZyb20gcHJvY2Vzc0NzdlJvd09iamVjdC4gRGlmZmVyZW50IGZvcm1hdHM6IFtbXV0gdnMgW3t9XVxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHByb2Nlc3NLZXBsZXJnbEpTT05mb3JEdWNrRGIoXG4gIGtlcGxlckpzb25cbik6IFByb21pc2U8UmV0dXJuVHlwZTx0eXBlb2YgcHJvY2Vzc0tlcGxlcmdsSlNPTj4+IHtcbiAgY29uc3QgcmVzID0gcHJvY2Vzc0tlcGxlcmdsSlNPTihrZXBsZXJKc29uKTtcblxuICBjb25zdCBkYXRhc2V0cyA9IHJlcz8uZGF0YXNldHMgfHwgW107XG4gIGZvciAoY29uc3QgZGF0YXNldCBvZiBkYXRhc2V0cykge1xuICAgIGNvbnN0IHJvd3NBbGwgPSBkYXRhc2V0LmRhdGEucm93cztcbiAgICBjb25zdCBmaWVsZHNBbGwgPSBkYXRhc2V0LmRhdGEuZmllbGRzO1xuXG4gICAgY29uc3QgaGVhZGVyID0gZmllbGRzQWxsLm1hcChmID0+IGYubmFtZSk7XG4gICAgY29uc3Qgc2FtcGxlID0gZ2V0U2FtcGxlRm9yVHlwZUFuYWx5emUoe2ZpZWxkczogaGVhZGVyLCByb3dzOiByb3dzQWxsfSk7XG5cbiAgICBjb25zdCBzY2hlbWEgPVxuICAgICAgc2FtcGxlLmxlbmd0aCA+IDBcbiAgICAgICAgPyBhd2FpdCBzbmlmZkNzdlNjaGVtYShzYW1wbGUpXG4gICAgICAgIDogZmllbGRzQWxsLnJlZHVjZSgoYWNjLCBmaWVsZCkgPT4ge1xuICAgICAgICAgICAgYWNjW2ZpZWxkLm5hbWVdID0gZmllbGRUeXBlVG9Db2x1bW5UeXBlKGZpZWxkLnR5cGUpO1xuICAgICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgICB9LCB7fSk7XG4gICAgY29uc3QgZmllbGRzVXBkID0gY29uc29saWRhdGVGaWVsZFR5cGVzKGRhdGFzZXQuZGF0YS5maWVsZHMsIHNjaGVtYSk7XG5cbiAgICBkYXRhc2V0LmRhdGEuZmllbGRzID0gZmllbGRzQWxsLm1hcCgoZiwgaSkgPT4ge1xuICAgICAgcmV0dXJuIHsuLi5maWVsZHNVcGRbaV0sIC4uLmZ9O1xuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIHJlcztcbn1cblxuLypcbiAqIFByb2Nlc3MgdXBsb2FkZWQgY3N2IHJldHVybmVkIGJ5IGxvYWRlcnMuZ2wgYXMgcm93IG9iamVjdCBhbmQgc3RyaW5nIHZhbHVlXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBwcm9jZXNzQ3N2Um93T2JqZWN0KFxuICByYXdEYXRhOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBudWxsPltdXG4pOiBQcm9taXNlPFByb2Nlc3NvclJlc3VsdD4ge1xuICBpZiAoIUFycmF5LmlzQXJyYXkocmF3RGF0YSkgfHwgIXJhd0RhdGEubGVuZ3RoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGZpZWxkczogW10sXG4gICAgICByb3dzOiBbXVxuICAgIH07XG4gIH1cblxuICBjb25zdCBoZWFkZXIgPSBPYmplY3Qua2V5cyhyYXdEYXRhWzBdKTsgLy8gW2xhdCwgbG5nLCB2YWx1ZV1cblxuICAvLyByb3cgb2JqZWN0IGNhbiBzdGlsbCBjb250YWluIHZhbHVlcyBsaWtlIGBOdWxsYCBvciBgTi9BYFxuICBjbGVhblVwRmFsc3lDc3ZWYWx1ZShyYXdEYXRhKTtcbiAgY29uc3Qgc2FtcGxlID0gZ2V0U2FtcGxlRm9yVHlwZUFuYWx5emUoe2ZpZWxkczogaGVhZGVyLCByb3dzOiByYXdEYXRhfSk7XG4gIC8vIGFkZCBzYW1wbGUgZGF0YSB0byBkdWNrZGIgYW5kIGdldCBzY2hlbWFcbiAgY29uc3Qgc2NoZW1hID0gYXdhaXQgc25pZmZDc3ZTY2hlbWEoc2FtcGxlKTtcblxuICBjb25zdCBmaWVsZHNXQW5hbHl6ZXJUeXBlID0gZ2V0RmllbGRzRnJvbURhdGEoc2FtcGxlLCBoZWFkZXIpO1xuXG4gIGNvbnN0IGZpZWxkcyA9IGNvbnNvbGlkYXRlRmllbGRUeXBlcyhmaWVsZHNXQW5hbHl6ZXJUeXBlLCBzY2hlbWEpO1xuXG4gIHJldHVybiB7cm93czogcmF3RGF0YSwgZmllbGRzfTtcbn1cblxuZnVuY3Rpb24gY2xlYW5VcEZhbHN5Q3N2VmFsdWUocm93czogUm93RGF0YSk6IHZvaWQge1xuICBjb25zdCByZSA9IG5ldyBSZWdFeHAoQ1NWX05VTExTLCAnZycpO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IHJvd3MubGVuZ3RoOyBpKyspIHtcbiAgICBPYmplY3Qua2V5cyhyb3dzW2ldKS5mb3JFYWNoKGtleSA9PiB7XG4gICAgICAvLyBoZXJlIHdlIHBhcnNlIGVtcHR5IGRhdGEgYXMgbnVsbFxuICAgICAgaWYgKHR5cGVvZiByb3dzW2ldW2tleV0gPT09ICdzdHJpbmcnICYmIChyb3dzW2ldW2tleV0gYXMgc3RyaW5nKS5tYXRjaChyZSkpIHtcbiAgICAgICAgcm93c1tpXVtrZXldID0gbnVsbDtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuXG4vLyBhbGlnbiB0eXBlIGFuYWx5emVyIHR5cGVzIHdpdGggRHVja0RCIGNzdiBhdXRvIGRldGVjdGVkIGNvbHVtbiB0eXBlc1xuZnVuY3Rpb24gY29uc29saWRhdGVGaWVsZFR5cGVzKGZpZWxkcywgc2NoZW1hKSB7XG4gIHJldHVybiBmaWVsZHMubWFwKGZpZWxkID0+IHtcbiAgICBjb25zdCBjb2x1bW5OYW1lID0gZmllbGQubmFtZTtcblxuICAgIGNvbnN0IGRldGVjdGVkQ29sdW1uVHlwZSA9IHNjaGVtYVtjb2x1bW5OYW1lXTtcblxuICAgIC8vIFRPRE8gY29sdW1uVHlwZVRvRmllbGRUeXBlIHRyYW5mb3JtcyBkZXRlY3RlZCB0aW1lc3RhbXBzIHRvIHN0cmluZyxcbiAgICAvLyBjb21wbGV0ZWx5IGJyZWFraW5nIHRpbWUgZmlsdGVyIGxvZ2ljLlxuICAgIC8vIGNvbnN0IGZpZWxkVHlwZSA9IGNvbHVtblR5cGVUb0ZpZWxkVHlwZShkZXRlY3RlZENvbHVtblR5cGUpIHx8IGZpZWxkLnR5cGU7XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4uZmllbGQsXG4gICAgICAvLyB0eXBlOiBmaWVsZFR5cGUsXG4gICAgICBkdWNrREJDb2x1bW5UeXBlOiBkZXRlY3RlZENvbHVtblR5cGVcbiAgICB9O1xuICB9KTtcbn1cblxuZnVuY3Rpb24gdG9DU1ZSb3cocm93OiB1bmtub3duW10pOiBzdHJpbmcge1xuICByZXR1cm4gYCR7cm93XG4gICAgLm1hcChyID0+IHtcbiAgICAgIGNvbnN0IHJUb1N0ciA9IG5vdE51bGxvclVuZGVmaW5lZChyKSA/IFN0cmluZyhyKS5yZXBsYWNlKC9cIi9nLCAnXFxcXFwiJykgOiAnJztcbiAgICAgIHJldHVybiByVG9TdHIuaW5jbHVkZXMoJywnKSA/IGBcIiR7clRvU3RyfVwiYCA6IHJUb1N0cjtcbiAgICB9KVxuICAgIC5qb2luKCcsJyl9XFxuYDtcbn1cblxuLy8gVXNlIER1Y2NrREIgdG8gZGV0ZWN0IGNzdiBjb2x1bW4gc2NoZW1hXG5hc3luYyBmdW5jdGlvbiBzbmlmZkNzdlNjaGVtYShzYW1wbGU6IFJvd0RhdGEpIHtcbiAgaWYgKCFBcnJheS5pc0FycmF5KHNhbXBsZSkgfHwgc2FtcGxlLmxlbmd0aCA8IDApIHtcbiAgICByZXR1cm47XG4gIH1cbiAgY29uc3QgaGVhZGVyUm93ID0gdG9DU1ZSb3coT2JqZWN0LmtleXMoc2FtcGxlWzBdKSk7XG5cbiAgY29uc3QgY3N2Q29udGVudCA9IChzYW1wbGUgYXMgKGFueVtdIHwgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pW10pLnJlZHVjZShcbiAgICAoYWNjdTogc3RyaW5nLCByb3cpID0+IGAke2FjY3V9JHt0b0NTVlJvdyhPYmplY3QudmFsdWVzKHJvdykpfWAsXG4gICAgaGVhZGVyUm93XG4gICk7XG5cbiAgY29uc3QgZGIgPSBhd2FpdCBnZXREdWNrREIoKTtcbiAgY29uc3QgYyA9IGF3YWl0IGRiLmNvbm5lY3QoKTtcblxuICBjb25zdCBmaWxlTmFtZSA9IGdlbmVyYXRlSGFzaElkKCk7XG4gIGF3YWl0IGRiLnJlZ2lzdGVyRmlsZVRleHQoYCR7ZmlsZU5hbWV9LSR7Z2VuZXJhdGVIYXNoSWR9LmNzdmAsIGNzdkNvbnRlbnQpO1xuXG4gIC8vIGh0dHBzOi8vZHVja2RiLm9yZy9kb2NzL2RhdGEvY3N2L2F1dG9fZGV0ZWN0aW9uLmh0bWxcbiAgY29uc3QgcmVzdWx0ID0gYXdhaXQgYy5xdWVyeShgXG4gICAgICAgIEZST00gc25pZmZfY3N2KCcke2ZpbGVOYW1lfS0ke2dlbmVyYXRlSGFzaElkfS5jc3YnLCBcbiAgICAgICAgc2FtcGxlX3NpemUgPSA1MDAsXG4gICAgICAgIGF1dG9fdHlwZV9jYW5kaWRhdGVzID0gWydGTE9BVCcsICdJTlRFR0VSJywgJ1RJTUVTVEFNUCcsICdEQVRFJywgJ1RJTUUnLCAnVkFSQ0hBUicsICdCT09MRUFOJ10pO1xuICAgIGApO1xuXG4gIGNvbnN0IHNjaGVtYVJlc3VsdCA9IHJlc3VsdC50b0FycmF5KCkubWFwKHJvdyA9PiByb3cudG9KU09OKCkpO1xuXG4gIGNvbnN0IGNvbHVtbnMgPSBzY2hlbWFSZXN1bHRbMF0uQ29sdW1ucztcbiAgY29uc3Qgc2NoZW1hID0ge307XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgY29sdW1ucy5sZW5ndGg7IGkrKykge1xuICAgIHNjaGVtYVtjb2x1bW5zLmdldChpKS5uYW1lXSA9IGNvbHVtbnMuZ2V0KGkpLnR5cGU7XG4gIH1cblxuICByZXR1cm4gc2NoZW1hO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJvY2Vzc0dlb2pzb24ocmF3RGF0YTogdW5rbm93bik6IFByb2Nlc3NvclJlc3VsdCB7XG4gIGNvbnN0IG5vcm1hbGl6ZWRHZW9qc29uID0gbm9ybWFsaXplKHJhd0RhdGEpO1xuXG4gIGlmICghbm9ybWFsaXplZEdlb2pzb24gfHwgIUFycmF5LmlzQXJyYXkobm9ybWFsaXplZEdlb2pzb24uZmVhdHVyZXMpKSB7XG4gICAgY29uc3QgZXJyb3IgPSBuZXcgRXJyb3IoXG4gICAgICBgUmVhZCBGaWxlIEZhaWxlZDogRmlsZSBpcyBub3QgYSB2YWxpZCBHZW9KU09OLiBSZWFkIG1vcmUgYWJvdXQgW3N1cHBvcnRlZCBmaWxlIGZvcm1hdF0oJHtHVUlERVNfRklMRV9GT1JNQVRfRE9DfSlgXG4gICAgKTtcbiAgICB0aHJvdyBlcnJvcjtcbiAgfVxuXG4gIC8vIEB0cy1leHBlY3QtZXJyb3IgRG9uJ3QgcGFzcyBlbXB0eSBmaWVsZHMsIGFzIGR1Y2sgZGIgb3V0cHV0cyBhbiBlbXB0eSBkYXRhc2V0XG4gIHJldHVybiB7XG4gICAgcm93czogbm9ybWFsaXplZEdlb2pzb25cbiAgICAvLyBUT0RPIGdldCBmaWVsZHMgdG8gcHJlc2VydmUgZmllbGQgbmFtZXM/XG4gICAgLy8gZmllbGRzOiBb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a0YsUUFBUSxPQUFBbEYsTUFBQSxDQUFJNEYsMkJBQWMsV0FBUWIsVUFBVSxDQUFDO1FBQUE7VUFBQVEsU0FBQSxDQUFBckksSUFBQTtVQUFBLE9BR3JEK0gsQ0FBQyxDQUFDYSxLQUFLLDhCQUFBOUYsTUFBQSxDQUNKa0YsUUFBUSxPQUFBbEYsTUFBQSxDQUFJNEYsMkJBQWMsd0pBRy9DLENBQUM7UUFBQTtVQUpFVCxNQUFNLEdBQUFJLFNBQUEsQ0FBQWxELElBQUE7VUFNTitDLFlBQVksR0FBR0QsTUFBTSxDQUFDWSxPQUFPLENBQUMsQ0FBQyxDQUFDOUQsR0FBRyxDQUFDLFVBQUFtQyxHQUFHO1lBQUEsT0FBSUEsR0FBRyxDQUFDNEIsTUFBTSxDQUFDLENBQUM7VUFBQSxFQUFDO1VBRXhEWCxPQUFPLEdBQUdELFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQ2EsT0FBTztVQUNqQ3ZFLE1BQU0sR0FBRyxDQUFDLENBQUM7VUFDakIsS0FBU2lCLENBQUMsR0FBRyxDQUFDLEVBQUVBLENBQUMsR0FBRzBDLE9BQU8sQ0FBQ2hKLE1BQU0sRUFBRXNHLENBQUMsRUFBRSxFQUFFO1lBQ3ZDakIsTUFBTSxDQUFDMkQsT0FBTyxDQUFDYSxHQUFHLENBQUN2RCxDQUFDLENBQUMsQ0FBQ3BGLElBQUksQ0FBQyxHQUFHOEgsT0FBTyxDQUFDYSxHQUFHLENBQUN2RCxDQUFDLENBQUMsQ0FBQ0YsSUFBSTtVQUNuRDtVQUFDLE9BQUE4QyxTQUFBLENBQUF2QyxNQUFBLFdBRU10QixNQUFNO1FBQUE7UUFBQTtVQUFBLE9BQUE2RCxTQUFBLENBQUEzQyxJQUFBO01BQUE7SUFBQSxHQUFBaUMsUUFBQTtFQUFBLENBQ2Q7RUFBQSxPQUFBRCxlQUFBLENBQUExRyxLQUFBLE9BQUFFLFNBQUE7QUFBQTtBQUVNLFNBQVMrSCxjQUFjQSxDQUFDOUMsT0FBZ0IsRUFBbUI7RUFDaEUsSUFBTStDLGlCQUFpQixHQUFHLElBQUFDLDRCQUFTLEVBQUNoRCxPQUFPLENBQUM7RUFFNUMsSUFBSSxDQUFDK0MsaUJBQWlCLElBQUksQ0FBQ2xLLEtBQUssQ0FBQ0MsT0FBTyxDQUFDaUssaUJBQWlCLENBQUNFLFFBQVEsQ0FBQyxFQUFFO0lBQ3BFLElBQU1DLEtBQUssR0FBRyxJQUFJQyxLQUFLLDJGQUFBeEcsTUFBQSxDQUNxRXlHLGlDQUFzQixNQUNsSCxDQUFDO0lBQ0QsTUFBTUYsS0FBSztFQUNiOztFQUVBO0VBQ0EsT0FBTztJQUNMeEUsSUFBSSxFQUFFcUU7SUFDTjtJQUNBO0VBQ0YsQ0FBQztBQUNIIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { DataType } from 'apache-arrow/type';
|
|
2
|
+
/** Checks whether the given Apache Arrow JS type is a Point data type */
|
|
3
|
+
export declare function isGeoArrowPoint(type: DataType): boolean;
|
|
4
|
+
/** Checks whether the given Apache Arrow JS type is a Point data type */
|
|
5
|
+
export declare function isGeoArrowLineString(type: DataType): boolean;
|
|
6
|
+
/** Checks whether the given Apache Arrow JS type is a Polygon data type */
|
|
7
|
+
export declare function isGeoArrowPolygon(type: DataType): boolean;
|
|
8
|
+
/** Checks whether the given Apache Arrow JS type is a Polygon data type */
|
|
9
|
+
export declare function isGeoArrowMultiPoint(type: DataType): boolean;
|
|
10
|
+
/** Checks whether the given Apache Arrow JS type is a Polygon data type */
|
|
11
|
+
export declare function isGeoArrowMultiLineString(type: DataType): boolean;
|
|
12
|
+
/** Checks whether the given Apache Arrow JS type is a Polygon data type */
|
|
13
|
+
export declare function isGeoArrowMultiPolygon(type: DataType): boolean;
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.isGeoArrowLineString = isGeoArrowLineString;
|
|
7
|
+
exports.isGeoArrowMultiLineString = isGeoArrowMultiLineString;
|
|
8
|
+
exports.isGeoArrowMultiPoint = isGeoArrowMultiPoint;
|
|
9
|
+
exports.isGeoArrowMultiPolygon = isGeoArrowMultiPolygon;
|
|
10
|
+
exports.isGeoArrowPoint = isGeoArrowPoint;
|
|
11
|
+
exports.isGeoArrowPolygon = isGeoArrowPolygon;
|
|
12
|
+
var _type = require("apache-arrow/type");
|
|
13
|
+
// SPDX-License-Identifier: MIT
|
|
14
|
+
// Copyright contributors to the kepler.gl project
|
|
15
|
+
|
|
16
|
+
// loaders.gl
|
|
17
|
+
// SPDX-License-Identifier: MIT
|
|
18
|
+
// Copyright (c) vis.gl contributors
|
|
19
|
+
|
|
20
|
+
// Copied from loaders.gl/geoarrow
|
|
21
|
+
|
|
22
|
+
// TODO: Remove once Kepler.gl is upgraded to loaders.gl 4.4+
|
|
23
|
+
|
|
24
|
+
/** Checks whether the given Apache Arrow JS type is a Point data type */
|
|
25
|
+
function isGeoArrowPoint(type) {
|
|
26
|
+
if (_type.DataType.isFixedSizeList(type)) {
|
|
27
|
+
// Check list size
|
|
28
|
+
if (![2, 3, 4].includes(type.listSize)) {
|
|
29
|
+
return false;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
// Check child of FixedSizeList is floating type
|
|
33
|
+
if (!_type.DataType.isFloat(type.children[0])) {
|
|
34
|
+
return false;
|
|
35
|
+
}
|
|
36
|
+
return true;
|
|
37
|
+
}
|
|
38
|
+
return false;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/** Checks whether the given Apache Arrow JS type is a Point data type */
|
|
42
|
+
function isGeoArrowLineString(type) {
|
|
43
|
+
// Check the outer type is a List
|
|
44
|
+
if (!_type.DataType.isList(type)) {
|
|
45
|
+
return false;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
// Check the child is a point type
|
|
49
|
+
if (!isGeoArrowPoint(type.children[0].type)) {
|
|
50
|
+
return false;
|
|
51
|
+
}
|
|
52
|
+
return true;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/** Checks whether the given Apache Arrow JS type is a Polygon data type */
|
|
56
|
+
function isGeoArrowPolygon(type) {
|
|
57
|
+
// Check the outer vector is a List
|
|
58
|
+
if (!_type.DataType.isList(type)) {
|
|
59
|
+
return false;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
// Check the child is a linestring vector
|
|
63
|
+
if (!isGeoArrowLineString(type.children[0].type)) {
|
|
64
|
+
return false;
|
|
65
|
+
}
|
|
66
|
+
return true;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
/** Checks whether the given Apache Arrow JS type is a Polygon data type */
|
|
70
|
+
function isGeoArrowMultiPoint(type) {
|
|
71
|
+
// Check the outer vector is a List
|
|
72
|
+
if (!_type.DataType.isList(type)) {
|
|
73
|
+
return false;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
// Check the child is a point vector
|
|
77
|
+
if (!isGeoArrowPoint(type.children[0].type)) {
|
|
78
|
+
return false;
|
|
79
|
+
}
|
|
80
|
+
return true;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
/** Checks whether the given Apache Arrow JS type is a Polygon data type */
|
|
84
|
+
function isGeoArrowMultiLineString(type) {
|
|
85
|
+
// Check the outer vector is a List
|
|
86
|
+
if (!_type.DataType.isList(type)) {
|
|
87
|
+
return false;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
// Check the child is a linestring vector
|
|
91
|
+
if (!isGeoArrowLineString(type.children[0].type)) {
|
|
92
|
+
return false;
|
|
93
|
+
}
|
|
94
|
+
return true;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
/** Checks whether the given Apache Arrow JS type is a Polygon data type */
|
|
98
|
+
function isGeoArrowMultiPolygon(type) {
|
|
99
|
+
// Check the outer vector is a List
|
|
100
|
+
if (!_type.DataType.isList(type)) {
|
|
101
|
+
return false;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
// Check the child is a polygon vector
|
|
105
|
+
if (!isGeoArrowPolygon(type.children[0].type)) {
|
|
106
|
+
return false;
|
|
107
|
+
}
|
|
108
|
+
return true;
|
|
109
|
+
}
|
|
110
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdHlwZSIsInJlcXVpcmUiLCJpc0dlb0Fycm93UG9pbnQiLCJ0eXBlIiwiRGF0YVR5cGUiLCJpc0ZpeGVkU2l6ZUxpc3QiLCJpbmNsdWRlcyIsImxpc3RTaXplIiwiaXNGbG9hdCIsImNoaWxkcmVuIiwiaXNHZW9BcnJvd0xpbmVTdHJpbmciLCJpc0xpc3QiLCJpc0dlb0Fycm93UG9seWdvbiIsImlzR2VvQXJyb3dNdWx0aVBvaW50IiwiaXNHZW9BcnJvd011bHRpTGluZVN0cmluZyIsImlzR2VvQXJyb3dNdWx0aVBvbHlnb24iXSwic291cmNlcyI6WyIuLi8uLi9zcmMvdGFibGUvZHVja2RiLXRhYmxlLXV0aWxzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbi8vIGxvYWRlcnMuZ2xcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCAoYykgdmlzLmdsIGNvbnRyaWJ1dG9yc1xuXG4vLyBDb3BpZWQgZnJvbSBsb2FkZXJzLmdsL2dlb2Fycm93XG5cbi8vIFRPRE86IFJlbW92ZSBvbmNlIEtlcGxlci5nbCBpcyB1cGdyYWRlZCB0byBsb2FkZXJzLmdsIDQuNCtcblxuaW1wb3J0IHtEYXRhVHlwZX0gZnJvbSAnYXBhY2hlLWFycm93L3R5cGUnO1xuXG4vKiogQ2hlY2tzIHdoZXRoZXIgdGhlIGdpdmVuIEFwYWNoZSBBcnJvdyBKUyB0eXBlIGlzIGEgUG9pbnQgZGF0YSB0eXBlICovXG5leHBvcnQgZnVuY3Rpb24gaXNHZW9BcnJvd1BvaW50KHR5cGU6IERhdGFUeXBlKSB7XG4gIGlmIChEYXRhVHlwZS5pc0ZpeGVkU2l6ZUxpc3QodHlwZSkpIHtcbiAgICAvLyBDaGVjayBsaXN0IHNpemVcbiAgICBpZiAoIVsyLCAzLCA0XS5pbmNsdWRlcyh0eXBlLmxpc3RTaXplKSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIC8vIENoZWNrIGNoaWxkIG9mIEZpeGVkU2l6ZUxpc3QgaXMgZmxvYXRpbmcgdHlwZVxuICAgIGlmICghRGF0YVR5cGUuaXNGbG9hdCh0eXBlLmNoaWxkcmVuWzBdKSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG4vKiogQ2hlY2tzIHdoZXRoZXIgdGhlIGdpdmVuIEFwYWNoZSBBcnJvdyBKUyB0eXBlIGlzIGEgUG9pbnQgZGF0YSB0eXBlICovXG5leHBvcnQgZnVuY3Rpb24gaXNHZW9BcnJvd0xpbmVTdHJpbmcodHlwZTogRGF0YVR5cGUpIHtcbiAgLy8gQ2hlY2sgdGhlIG91dGVyIHR5cGUgaXMgYSBMaXN0XG4gIGlmICghRGF0YVR5cGUuaXNMaXN0KHR5cGUpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgLy8gQ2hlY2sgdGhlIGNoaWxkIGlzIGEgcG9pbnQgdHlwZVxuICBpZiAoIWlzR2VvQXJyb3dQb2ludCh0eXBlLmNoaWxkcmVuWzBdLnR5cGUpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcmV0dXJuIHRydWU7XG59XG5cbi8qKiBDaGVja3Mgd2hldGhlciB0aGUgZ2l2ZW4gQXBhY2hlIEFycm93IEpTIHR5cGUgaXMgYSBQb2x5Z29uIGRhdGEgdHlwZSAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzR2VvQXJyb3dQb2x5Z29uKHR5cGU6IERhdGFUeXBlKSB7XG4gIC8vIENoZWNrIHRoZSBvdXRlciB2ZWN0b3IgaXMgYSBMaXN0XG4gIGlmICghRGF0YVR5cGUuaXNMaXN0KHR5cGUpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgLy8gQ2hlY2sgdGhlIGNoaWxkIGlzIGEgbGluZXN0cmluZyB2ZWN0b3JcbiAgaWYgKCFpc0dlb0Fycm93TGluZVN0cmluZyh0eXBlLmNoaWxkcmVuWzBdLnR5cGUpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcmV0dXJuIHRydWU7XG59XG5cbi8qKiBDaGVja3Mgd2hldGhlciB0aGUgZ2l2ZW4gQXBhY2hlIEFycm93IEpTIHR5cGUgaXMgYSBQb2x5Z29uIGRhdGEgdHlwZSAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzR2VvQXJyb3dNdWx0aVBvaW50KHR5cGU6IERhdGFUeXBlKSB7XG4gIC8vIENoZWNrIHRoZSBvdXRlciB2ZWN0b3IgaXMgYSBMaXN0XG4gIGlmICghRGF0YVR5cGUuaXNMaXN0KHR5cGUpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgLy8gQ2hlY2sgdGhlIGNoaWxkIGlzIGEgcG9pbnQgdmVjdG9yXG4gIGlmICghaXNHZW9BcnJvd1BvaW50KHR5cGUuY2hpbGRyZW5bMF0udHlwZSkpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICByZXR1cm4gdHJ1ZTtcbn1cblxuLyoqIENoZWNrcyB3aGV0aGVyIHRoZSBnaXZlbiBBcGFjaGUgQXJyb3cgSlMgdHlwZSBpcyBhIFBvbHlnb24gZGF0YSB0eXBlICovXG5leHBvcnQgZnVuY3Rpb24gaXNHZW9BcnJvd011bHRpTGluZVN0cmluZyh0eXBlOiBEYXRhVHlwZSkge1xuICAvLyBDaGVjayB0aGUgb3V0ZXIgdmVjdG9yIGlzIGEgTGlzdFxuICBpZiAoIURhdGFUeXBlLmlzTGlzdCh0eXBlKSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIC8vIENoZWNrIHRoZSBjaGlsZCBpcyBhIGxpbmVzdHJpbmcgdmVjdG9yXG4gIGlmICghaXNHZW9BcnJvd0xpbmVTdHJpbmcodHlwZS5jaGlsZHJlblswXS50eXBlKSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHJldHVybiB0cnVlO1xufVxuXG4vKiogQ2hlY2tzIHdoZXRoZXIgdGhlIGdpdmVuIEFwYWNoZSBBcnJvdyBKUyB0eXBlIGlzIGEgUG9seWdvbiBkYXRhIHR5cGUgKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0dlb0Fycm93TXVsdGlQb2x5Z29uKHR5cGU6IERhdGFUeXBlKSB7XG4gIC8vIENoZWNrIHRoZSBvdXRlciB2ZWN0b3IgaXMgYSBMaXN0XG4gIGlmICghRGF0YVR5cGUuaXNMaXN0KHR5cGUpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgLy8gQ2hlY2sgdGhlIGNoaWxkIGlzIGEgcG9seWdvbiB2ZWN0b3JcbiAgaWYgKCFpc0dlb0Fycm93UG9seWdvbih0eXBlLmNoaWxkcmVuWzBdLnR5cGUpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcmV0dXJuIHRydWU7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBV0EsSUFBQUEsS0FBQSxHQUFBQyxPQUFBO0FBWEE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBSUE7QUFDTyxTQUFTQyxlQUFlQSxDQUFDQyxJQUFjLEVBQUU7RUFDOUMsSUFBSUMsY0FBUSxDQUFDQyxlQUFlLENBQUNGLElBQUksQ0FBQyxFQUFFO0lBQ2xDO0lBQ0EsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQ0csUUFBUSxDQUFDSCxJQUFJLENBQUNJLFFBQVEsQ0FBQyxFQUFFO01BQ3RDLE9BQU8sS0FBSztJQUNkOztJQUVBO0lBQ0EsSUFBSSxDQUFDSCxjQUFRLENBQUNJLE9BQU8sQ0FBQ0wsSUFBSSxDQUFDTSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtNQUN2QyxPQUFPLEtBQUs7SUFDZDtJQUVBLE9BQU8sSUFBSTtFQUNiO0VBRUEsT0FBTyxLQUFLO0FBQ2Q7O0FBRUE7QUFDTyxTQUFTQyxvQkFBb0JBLENBQUNQLElBQWMsRUFBRTtFQUNuRDtFQUNBLElBQUksQ0FBQ0MsY0FBUSxDQUFDTyxNQUFNLENBQUNSLElBQUksQ0FBQyxFQUFFO0lBQzFCLE9BQU8sS0FBSztFQUNkOztFQUVBO0VBQ0EsSUFBSSxDQUFDRCxlQUFlLENBQUNDLElBQUksQ0FBQ00sUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDTixJQUFJLENBQUMsRUFBRTtJQUMzQyxPQUFPLEtBQUs7RUFDZDtFQUVBLE9BQU8sSUFBSTtBQUNiOztBQUVBO0FBQ08sU0FBU1MsaUJBQWlCQSxDQUFDVCxJQUFjLEVBQUU7RUFDaEQ7RUFDQSxJQUFJLENBQUNDLGNBQVEsQ0FBQ08sTUFBTSxDQUFDUixJQUFJLENBQUMsRUFBRTtJQUMxQixPQUFPLEtBQUs7RUFDZDs7RUFFQTtFQUNBLElBQUksQ0FBQ08sb0JBQW9CLENBQUNQLElBQUksQ0FBQ00sUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDTixJQUFJLENBQUMsRUFBRTtJQUNoRCxPQUFPLEtBQUs7RUFDZDtFQUVBLE9BQU8sSUFBSTtBQUNiOztBQUVBO0FBQ08sU0FBU1Usb0JBQW9CQSxDQUFDVixJQUFjLEVBQUU7RUFDbkQ7RUFDQSxJQUFJLENBQUNDLGNBQVEsQ0FBQ08sTUFBTSxDQUFDUixJQUFJLENBQUMsRUFBRTtJQUMxQixPQUFPLEtBQUs7RUFDZDs7RUFFQTtFQUNBLElBQUksQ0FBQ0QsZUFBZSxDQUFDQyxJQUFJLENBQUNNLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQ04sSUFBSSxDQUFDLEVBQUU7SUFDM0MsT0FBTyxLQUFLO0VBQ2Q7RUFFQSxPQUFPLElBQUk7QUFDYjs7QUFFQTtBQUNPLFNBQVNXLHlCQUF5QkEsQ0FBQ1gsSUFBYyxFQUFFO0VBQ3hEO0VBQ0EsSUFBSSxDQUFDQyxjQUFRLENBQUNPLE1BQU0sQ0FBQ1IsSUFBSSxDQUFDLEVBQUU7SUFDMUIsT0FBTyxLQUFLO0VBQ2Q7O0VBRUE7RUFDQSxJQUFJLENBQUNPLG9CQUFvQixDQUFDUCxJQUFJLENBQUNNLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQ04sSUFBSSxDQUFDLEVBQUU7SUFDaEQsT0FBTyxLQUFLO0VBQ2Q7RUFFQSxPQUFPLElBQUk7QUFDYjs7QUFFQTtBQUNPLFNBQVNZLHNCQUFzQkEsQ0FBQ1osSUFBYyxFQUFFO0VBQ3JEO0VBQ0EsSUFBSSxDQUFDQyxjQUFRLENBQUNPLE1BQU0sQ0FBQ1IsSUFBSSxDQUFDLEVBQUU7SUFDMUIsT0FBTyxLQUFLO0VBQ2Q7O0VBRUE7RUFDQSxJQUFJLENBQUNTLGlCQUFpQixDQUFDVCxJQUFJLENBQUNNLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQ04sSUFBSSxDQUFDLEVBQUU7SUFDN0MsT0FBTyxLQUFLO0VBQ2Q7RUFFQSxPQUFPLElBQUk7QUFDYiIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -7,6 +7,10 @@ declare type ImportDataToDuckProps = {
|
|
|
7
7
|
db: AsyncDuckDB;
|
|
8
8
|
c: AsyncDuckDBConnection;
|
|
9
9
|
};
|
|
10
|
+
declare type ImportDataToDuckResult = {
|
|
11
|
+
addWKBMetadata?: Record<string, boolean>;
|
|
12
|
+
useNewFields?: boolean;
|
|
13
|
+
};
|
|
10
14
|
export declare class KeplerGlDuckDbTable extends KeplerTable {
|
|
11
15
|
readonly id: string;
|
|
12
16
|
label: string;
|
|
@@ -14,8 +18,8 @@ export declare class KeplerGlDuckDbTable extends KeplerTable {
|
|
|
14
18
|
metadata: Record<string, any>;
|
|
15
19
|
constructor(props: any);
|
|
16
20
|
importRowData({ data, db, c }: ImportDataToDuckProps): Promise<void>;
|
|
17
|
-
importGeoJsonData({ data, db, c }: ImportDataToDuckProps): Promise<
|
|
18
|
-
importArrowData({ data, db, c }: ImportDataToDuckProps): Promise<
|
|
21
|
+
importGeoJsonData({ data, db, c }: ImportDataToDuckProps): Promise<ImportDataToDuckResult>;
|
|
22
|
+
importArrowData({ data, db, c }: ImportDataToDuckProps): Promise<ImportDataToDuckResult>;
|
|
19
23
|
/**
|
|
20
24
|
* Creates a table from data, returns an arrow table with the data
|
|
21
25
|
* @param data
|
|
@@ -33,5 +37,6 @@ export declare class KeplerGlDuckDbTable extends KeplerTable {
|
|
|
33
37
|
processor: any;
|
|
34
38
|
format: any;
|
|
35
39
|
};
|
|
40
|
+
static getInputDataValidator: () => (d: any) => any;
|
|
36
41
|
}
|
|
37
42
|
export {};
|
|
@@ -15,24 +15,45 @@ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime
|
|
|
15
15
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
16
16
|
var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
|
|
17
17
|
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
18
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
19
18
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
19
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
20
20
|
var arrow = _interopRequireWildcard(require("apache-arrow"));
|
|
21
21
|
var _constants = require("@kepler.gl/constants");
|
|
22
22
|
var _table = require("@kepler.gl/table");
|
|
23
23
|
var _processors = require("@kepler.gl/processors");
|
|
24
24
|
var _init = require("../init");
|
|
25
25
|
var _dataProcessor = require("../processors/data-processor");
|
|
26
|
+
var _duckdbTableUtils = require("./duckdb-table-utils");
|
|
26
27
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
27
28
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof3(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
29
|
+
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
30
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
31
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
28
32
|
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; }
|
|
29
33
|
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; }
|
|
30
34
|
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
|
|
31
35
|
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
32
36
|
function _superPropGet(t, e, r, o) { var p = (0, _get2["default"])((0, _getPrototypeOf2["default"])(1 & o ? t.prototype : t), e, r); return 2 & o ? function (t) { return p.apply(r, t); } : p; } // SPDX-License-Identifier: MIT
|
|
33
37
|
// Copyright contributors to the kepler.gl project
|
|
34
|
-
// TODO
|
|
35
|
-
|
|
38
|
+
// TODO use files from disk or url directly, without parsing by loaders and then ingection into DeckDb
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Default DuckDb geometry columns created by ST_READ
|
|
42
|
+
*/
|
|
43
|
+
var DUCKDB_GEOM_COLUMN = 'geom';
|
|
44
|
+
var DUCKDB_WKB_COLUMN = 'wkb_geometry';
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
Default column name for processed geojson in Kepler.
|
|
48
|
+
Use this name to rename default 'geom' column from DuckDb
|
|
49
|
+
in order to support Kepler maps saved before introduction of DuckDb plugin.
|
|
50
|
+
*/
|
|
51
|
+
var KEPLER_GEOM_FROM_GEOJSON_COLUMN = '_geojson';
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Names of columns that most likely contain binary wkb geometry
|
|
55
|
+
*/
|
|
56
|
+
var SUGGESTED_GEOM_COLUMNS = (0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])({}, KEPLER_GEOM_FROM_GEOJSON_COLUMN, true), DUCKDB_GEOM_COLUMN, true), "geometry", true);
|
|
36
57
|
/**
|
|
37
58
|
* Creates an arrow table from arrow vectors and fields.
|
|
38
59
|
* @param columns An array of arrow vectors.
|
|
@@ -139,7 +160,7 @@ var KeplerGlDuckDbTable = exports.KeplerGlDuckDbTable = /*#__PURE__*/function (_
|
|
|
139
160
|
_context3.next = 5;
|
|
140
161
|
return db.registerFileText(this.id, JSON.stringify(rows));
|
|
141
162
|
case 5:
|
|
142
|
-
createTableSql = "\n install spatial;\n load spatial;\n CREATE TABLE '".concat(this.label, "' AS \n SELECT *\n FROM ST_READ('").concat(this.id, "');\n ");
|
|
163
|
+
createTableSql = "\n install spatial;\n load spatial;\n CREATE TABLE '".concat(this.label, "' AS \n SELECT *\n FROM ST_READ('").concat(this.id, "', keep_wkb = TRUE);\n ALTER TABLE '").concat(this.label, "' RENAME '").concat(DUCKDB_WKB_COLUMN, "' TO '").concat(KEPLER_GEOM_FROM_GEOJSON_COLUMN, "';\n ");
|
|
143
164
|
_context3.next = 8;
|
|
144
165
|
return c.query(createTableSql);
|
|
145
166
|
case 8:
|
|
@@ -150,6 +171,10 @@ var KeplerGlDuckDbTable = exports.KeplerGlDuckDbTable = /*#__PURE__*/function (_
|
|
|
150
171
|
_context3.t0 = _context3["catch"](1);
|
|
151
172
|
console.error('importGeoJsonData', _context3.t0);
|
|
152
173
|
case 13:
|
|
174
|
+
return _context3.abrupt("return", {
|
|
175
|
+
addWKBMetadata: (0, _defineProperty2["default"])({}, KEPLER_GEOM_FROM_GEOJSON_COLUMN, true)
|
|
176
|
+
});
|
|
177
|
+
case 14:
|
|
153
178
|
case "end":
|
|
154
179
|
return _context3.stop();
|
|
155
180
|
}
|
|
@@ -191,6 +216,12 @@ var KeplerGlDuckDbTable = exports.KeplerGlDuckDbTable = /*#__PURE__*/function (_
|
|
|
191
216
|
// 1) Arrow Type with extension name: geoarrow.point and format: +w:2 is not currently supported in DuckDB.
|
|
192
217
|
console.error('importArrowData', _context4.t0);
|
|
193
218
|
case 13:
|
|
219
|
+
return _context4.abrupt("return", {
|
|
220
|
+
addWKBMetadata: _objectSpread({}, SUGGESTED_GEOM_COLUMNS),
|
|
221
|
+
// use metadata from arrow table
|
|
222
|
+
useNewFields: true
|
|
223
|
+
});
|
|
224
|
+
case 14:
|
|
194
225
|
case "end":
|
|
195
226
|
return _context4.stop();
|
|
196
227
|
}
|
|
@@ -210,7 +241,7 @@ var KeplerGlDuckDbTable = exports.KeplerGlDuckDbTable = /*#__PURE__*/function (_
|
|
|
210
241
|
key: "createTableAndGetArrow",
|
|
211
242
|
value: (function () {
|
|
212
243
|
var _createTableAndGetArrow = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5(data) {
|
|
213
|
-
var db, c, tableName, format, _data$rows, _data$rows2, _data$rows3, _data$cols, fields, cols, _data$fields,
|
|
244
|
+
var db, c, tableName, format, _data$rows, _data$rows2, _data$rows3, _data$cols, importDetails, fields, cols, _data$fields, _ref5, _ref5$addWKBMetadata, addWKBMetadata, _ref5$useNewFields, useNewFields, canCastST_asWKB, getArrowQuery, arrowResult;
|
|
214
245
|
return _regenerator["default"].wrap(function _callee5$(_context5) {
|
|
215
246
|
while (1) switch (_context5.prev = _context5.next) {
|
|
216
247
|
case 0:
|
|
@@ -248,11 +279,11 @@ var KeplerGlDuckDbTable = exports.KeplerGlDuckDbTable = /*#__PURE__*/function (_
|
|
|
248
279
|
c: c
|
|
249
280
|
});
|
|
250
281
|
case 14:
|
|
251
|
-
_context5.next =
|
|
282
|
+
_context5.next = 29;
|
|
252
283
|
break;
|
|
253
284
|
case 16:
|
|
254
285
|
if (!(format === _constants.DATASET_FORMATS.geojson)) {
|
|
255
|
-
_context5.next =
|
|
286
|
+
_context5.next = 22;
|
|
256
287
|
break;
|
|
257
288
|
}
|
|
258
289
|
_context5.next = 19;
|
|
@@ -262,71 +293,72 @@ var KeplerGlDuckDbTable = exports.KeplerGlDuckDbTable = /*#__PURE__*/function (_
|
|
|
262
293
|
c: c
|
|
263
294
|
});
|
|
264
295
|
case 19:
|
|
265
|
-
|
|
296
|
+
importDetails = _context5.sent;
|
|
297
|
+
_context5.next = 29;
|
|
266
298
|
break;
|
|
267
|
-
case
|
|
299
|
+
case 22:
|
|
268
300
|
if (!(format === _constants.DATASET_FORMATS.arrow)) {
|
|
269
|
-
_context5.next =
|
|
301
|
+
_context5.next = 28;
|
|
270
302
|
break;
|
|
271
303
|
}
|
|
272
|
-
_context5.next =
|
|
304
|
+
_context5.next = 25;
|
|
273
305
|
return this.importArrowData({
|
|
274
306
|
data: data,
|
|
275
307
|
db: db,
|
|
276
308
|
c: c
|
|
277
309
|
});
|
|
278
|
-
case
|
|
279
|
-
|
|
310
|
+
case 25:
|
|
311
|
+
importDetails = _context5.sent;
|
|
312
|
+
_context5.next = 29;
|
|
280
313
|
break;
|
|
281
|
-
case
|
|
314
|
+
case 28:
|
|
282
315
|
console.error('Unrecognized format', format);
|
|
283
|
-
case
|
|
316
|
+
case 29:
|
|
284
317
|
fields = [];
|
|
285
318
|
cols = [];
|
|
286
|
-
_context5.prev =
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
})); // TODO don't do this for all columns named 'geom', check whether it's a wkb and not something else!
|
|
294
|
-
// query and transform geometry column to wkb
|
|
295
|
-
_context5.next = 36;
|
|
296
|
-
return c.query("SELECT * ".concat(hasBinaryGeoField ? "EXCLUDE ".concat(GEOMETRY_COLUMN, ", ST_AsWKB(").concat(GEOMETRY_COLUMN, ") as ").concat(GEOMETRY_COLUMN) : '', " FROM '").concat(tableName, "';"));
|
|
297
|
-
case 36:
|
|
298
|
-
arrowResult = _context5.sent;
|
|
299
|
-
geoField = arrowResult.schema.fields.find(function (f) {
|
|
300
|
-
return f.name === GEOMETRY_COLUMN && arrow.DataType.isBinary(f.type);
|
|
319
|
+
_context5.prev = 31;
|
|
320
|
+
_ref5 = importDetails || {}, _ref5$addWKBMetadata = _ref5.addWKBMetadata, addWKBMetadata = _ref5$addWKBMetadata === void 0 ? {} : _ref5$addWKBMetadata, _ref5$useNewFields = _ref5.useNewFields, useNewFields = _ref5$useNewFields === void 0 ? false : _ref5$useNewFields; // Try to figure out whether geometry should be transformed by ST_AsWKB
|
|
321
|
+
// TODO if canCastST_asWKB contains any keys then add ST_AsWKB to the following query
|
|
322
|
+
_context5.next = 35;
|
|
323
|
+
return tryST_AsWKB({
|
|
324
|
+
tableName: tableName,
|
|
325
|
+
c: c
|
|
301
326
|
});
|
|
302
|
-
|
|
303
|
-
|
|
327
|
+
case 35:
|
|
328
|
+
canCastST_asWKB = _context5.sent;
|
|
329
|
+
getArrowQuery = "SELECT * FROM '".concat(tableName, "';");
|
|
330
|
+
_context5.next = 39;
|
|
331
|
+
return c.query(getArrowQuery);
|
|
332
|
+
case 39:
|
|
333
|
+
arrowResult = _context5.sent;
|
|
334
|
+
restoreGeoarrowMetadata(arrowResult, canCastST_asWKB, addWKBMetadata);
|
|
335
|
+
fields = useNewFields ? (0, _processors.arrowSchemaToFields)(arrowResult.schema) : (_data$fields = data.fields) !== null && _data$fields !== void 0 ? _data$fields : (0, _processors.arrowSchemaToFields)(arrowResult.schema);
|
|
304
336
|
cols = (0, _toConsumableArray2["default"])(Array(arrowResult.numCols).keys()).map(function (i) {
|
|
305
337
|
return arrowResult.getChildAt(i);
|
|
306
338
|
}).filter(function (col) {
|
|
307
339
|
return col;
|
|
308
340
|
});
|
|
309
|
-
_context5.next =
|
|
341
|
+
_context5.next = 48;
|
|
310
342
|
break;
|
|
311
|
-
case
|
|
312
|
-
_context5.prev =
|
|
313
|
-
_context5.t0 = _context5["catch"](
|
|
343
|
+
case 45:
|
|
344
|
+
_context5.prev = 45;
|
|
345
|
+
_context5.t0 = _context5["catch"](31);
|
|
314
346
|
// Known issues:
|
|
315
347
|
// 1) ST_AsWKB binder error, no type match
|
|
316
348
|
console.error('DuckDb table: binary geometry column to wkb', _context5.t0);
|
|
317
|
-
case 46:
|
|
318
|
-
_context5.next = 48;
|
|
319
|
-
return c.close();
|
|
320
349
|
case 48:
|
|
350
|
+
_context5.next = 50;
|
|
351
|
+
return c.close();
|
|
352
|
+
case 50:
|
|
321
353
|
return _context5.abrupt("return", {
|
|
322
354
|
fields: fields,
|
|
323
355
|
cols: cols
|
|
324
356
|
});
|
|
325
|
-
case
|
|
357
|
+
case 51:
|
|
326
358
|
case "end":
|
|
327
359
|
return _context5.stop();
|
|
328
360
|
}
|
|
329
|
-
}, _callee5, this, [[
|
|
361
|
+
}, _callee5, this, [[31, 45]]);
|
|
330
362
|
}));
|
|
331
363
|
function createTableAndGetArrow(_x6) {
|
|
332
364
|
return _createTableAndGetArrow.apply(this, arguments);
|
|
@@ -336,12 +368,12 @@ var KeplerGlDuckDbTable = exports.KeplerGlDuckDbTable = /*#__PURE__*/function (_
|
|
|
336
368
|
}, {
|
|
337
369
|
key: "importData",
|
|
338
370
|
value: function () {
|
|
339
|
-
var _importData = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee6(
|
|
371
|
+
var _importData = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee6(_ref6) {
|
|
340
372
|
var data, _yield$this$createTab, fields, cols;
|
|
341
373
|
return _regenerator["default"].wrap(function _callee6$(_context6) {
|
|
342
374
|
while (1) switch (_context6.prev = _context6.next) {
|
|
343
375
|
case 0:
|
|
344
|
-
data =
|
|
376
|
+
data = _ref6.data;
|
|
345
377
|
if (!(this.type === _constants.DatasetType.VECTOR_TILE)) {
|
|
346
378
|
_context6.next = 4;
|
|
347
379
|
break;
|
|
@@ -417,6 +449,13 @@ var KeplerGlDuckDbTable = exports.KeplerGlDuckDbTable = /*#__PURE__*/function (_
|
|
|
417
449
|
}()
|
|
418
450
|
}]);
|
|
419
451
|
}(_table.KeplerTable);
|
|
452
|
+
/**
|
|
453
|
+
* Try to restore geoarrow metadata lost during DuckDb ingestion.
|
|
454
|
+
* Note that this function can generate wrong geometry types.
|
|
455
|
+
* @param arrowTable Arrow table to update.
|
|
456
|
+
* @param canCastST_asWKB A map with fields that are likely in DeckDB's internal WBK format.
|
|
457
|
+
* @param addWKBMetadata A map with field names that usually used to store WKB geometry.
|
|
458
|
+
*/
|
|
420
459
|
(0, _defineProperty2["default"])(KeplerGlDuckDbTable, "getFileProcessor", function (data, inputFormat) {
|
|
421
460
|
var processor;
|
|
422
461
|
var format;
|
|
@@ -440,4 +479,110 @@ var KeplerGlDuckDbTable = exports.KeplerGlDuckDbTable = /*#__PURE__*/function (_
|
|
|
440
479
|
format: format
|
|
441
480
|
};
|
|
442
481
|
});
|
|
443
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJhcnJvdyIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwicmVxdWlyZSIsIl9jb25zdGFudHMiLCJfdGFibGUiLCJfcHJvY2Vzc29ycyIsIl9pbml0IiwiX2RhdGFQcm9jZXNzb3IiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsIl90eXBlb2YzIiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0Iiwib3duS2V5cyIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJvIiwiZmlsdGVyIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5MiIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiX2NhbGxTdXBlciIsIl9nZXRQcm90b3R5cGVPZjIiLCJfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybjIiLCJfaXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0IiwiUmVmbGVjdCIsImNvbnN0cnVjdCIsImNvbnN0cnVjdG9yIiwiQm9vbGVhbiIsInByb3RvdHlwZSIsInZhbHVlT2YiLCJfc3VwZXJQcm9wR2V0IiwicCIsIl9nZXQyIiwiR0VPTUVUUllfQ09MVU1OIiwicmVzdG9yZUFycm93VGFibGUiLCJjb2x1bW5zIiwiZmllbGRzIiwiY3JlYU9wdHMiLCJtYXAiLCJmaWVsZCIsImluZGV4IiwibmFtZSIsIlRhYmxlIiwiZHJvcElmVGFibGVFeGlzdHMiLCJfcmVmIiwiX2FzeW5jVG9HZW5lcmF0b3IyIiwiX3JlZ2VuZXJhdG9yIiwibWFyayIsIl9jYWxsZWUiLCJjIiwidGFibGVOYW1lIiwid3JhcCIsIl9jYWxsZWUkIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsInF1ZXJ5IiwiY29uY2F0IiwidDAiLCJjb25zb2xlIiwiZXJyb3IiLCJzdG9wIiwiX3giLCJfeDIiLCJLZXBsZXJHbER1Y2tEYlRhYmxlIiwiZXhwb3J0cyIsIl9LZXBsZXJUYWJsZSIsInByb3BzIiwiX2NsYXNzQ2FsbENoZWNrMiIsIl9pbmhlcml0czIiLCJfY3JlYXRlQ2xhc3MyIiwia2V5IiwidmFsdWUiLCJfaW1wb3J0Um93RGF0YSIsIl9jYWxsZWUyIiwiX3JlZjIiLCJkYXRhIiwiZGIiLCJyb3dzIiwicm93c0ZvckRiIiwiY3JlYXRlVGFibGVTcWwiLCJfY2FsbGVlMiQiLCJfY29udGV4dDIiLCJBcnJheSIsImlzQXJyYXkiLCJyb3ciLCJuZXdSb3ciLCJyZWdpc3RlckZpbGVUZXh0IiwiaWQiLCJKU09OIiwic3RyaW5naWZ5IiwicmVkdWNlIiwiYWNjIiwiZHVja0RCQ29sdW1uVHlwZSIsImxhYmVsIiwibG9nIiwiaW1wb3J0Um93RGF0YSIsIl94MyIsIl9pbXBvcnRHZW9Kc29uRGF0YSIsIl9jYWxsZWUzIiwiX3JlZjMiLCJfY2FsbGVlMyQiLCJfY29udGV4dDMiLCJpbXBvcnRHZW9Kc29uRGF0YSIsIl94NCIsIl9pbXBvcnRBcnJvd0RhdGEiLCJfY2FsbGVlNCIsIl9yZWY0IiwiYXJyb3dUYWJsZSIsInNldHVwU3FsIiwiX2NhbGxlZTQkIiwiX2NvbnRleHQ0IiwiY29scyIsImluc2VydEFycm93VGFibGUiLCJpbXBvcnRBcnJvd0RhdGEiLCJfeDUiLCJfY3JlYXRlVGFibGVBbmRHZXRBcnJvdyIsIl9jYWxsZWU1IiwiZm9ybWF0IiwiX2RhdGEkcm93cyIsIl9kYXRhJHJvd3MyIiwiX2RhdGEkcm93czMiLCJfZGF0YSRjb2xzIiwiX2RhdGEkZmllbGRzIiwiZHVtbXlSZXN1bHQiLCJoYXNCaW5hcnlHZW9GaWVsZCIsImFycm93UmVzdWx0IiwiZ2VvRmllbGQiLCJfY2FsbGVlNSQiLCJfY29udGV4dDUiLCJnZXREdWNrREIiLCJzZW50IiwiY29ubmVjdCIsIm1ldGFkYXRhIiwiX3R5cGVvZjIiLCJEQVRBU0VUX0ZPUk1BVFMiLCJ0eXBlIiwiZ2VvanNvbiIsIlZlY3RvciIsInNjaGVtYSIsImZpbmQiLCJmIiwiRGF0YVR5cGUiLCJpc0JpbmFyeSIsImFycm93U2NoZW1hVG9GaWVsZHMiLCJfdG9Db25zdW1hYmxlQXJyYXkyIiwibnVtQ29scyIsImdldENoaWxkQXQiLCJjb2wiLCJjbG9zZSIsImFicnVwdCIsImNyZWF0ZVRhYmxlQW5kR2V0QXJyb3ciLCJfeDYiLCJfaW1wb3J0RGF0YSIsIl9jYWxsZWU2IiwiX3JlZjUiLCJfeWllbGQkdGhpcyRjcmVhdGVUYWIiLCJfY2FsbGVlNiQiLCJfY29udGV4dDYiLCJEYXRhc2V0VHlwZSIsIlZFQ1RPUl9USUxFIiwiaW1wb3J0RGF0YSIsIl94NyIsIl91cGRhdGUiLCJfY2FsbGVlNyIsIl95aWVsZCR0aGlzJGNyZWF0ZVRhYjIiLCJfY2FsbGVlNyQiLCJfY29udGV4dDciLCJ1cGRhdGUiLCJfeDgiLCJLZXBsZXJUYWJsZSIsImlucHV0Rm9ybWF0IiwicHJvY2Vzc29yIiwiaXNBcnJvd0RhdGEiLCJwcm9jZXNzQXJyb3dCYXRjaGVzIiwia2VwbGVyZ2wiLCJpc0tlcGxlckdsTWFwIiwicHJvY2Vzc0tlcGxlcmdsSlNPTmZvckR1Y2tEYiIsImlzUm93T2JqZWN0IiwicHJvY2Vzc0NzdlJvd09iamVjdCIsImlzR2VvSnNvbiIsInByb2Nlc3NHZW9qc29uIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3RhYmxlL2R1Y2tkYi10YWJsZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgKiBhcyBhcnJvdyBmcm9tICdhcGFjaGUtYXJyb3cnO1xuaW1wb3J0IHtBc3luY0R1Y2tEQiwgQXN5bmNEdWNrREJDb25uZWN0aW9ufSBmcm9tICdAZHVja2RiL2R1Y2tkYi13YXNtJztcblxuaW1wb3J0IHtEYXRhc2V0VHlwZSwgREFUQVNFVF9GT1JNQVRTfSBmcm9tICdAa2VwbGVyLmdsL2NvbnN0YW50cyc7XG5pbXBvcnQge0tlcGxlclRhYmxlfSBmcm9tICdAa2VwbGVyLmdsL3RhYmxlJztcbmltcG9ydCB7RmllbGQsIFByb3RvRGF0YXNldEZpZWxkfSBmcm9tICdAa2VwbGVyLmdsL3R5cGVzJztcbmltcG9ydCB7XG4gIGFycm93U2NoZW1hVG9GaWVsZHMsXG4gIGlzQXJyb3dEYXRhLFxuICBpc0dlb0pzb24sXG4gIGlzS2VwbGVyR2xNYXAsXG4gIGlzUm93T2JqZWN0LFxuICBwcm9jZXNzQXJyb3dCYXRjaGVzXG59IGZyb20gJ0BrZXBsZXIuZ2wvcHJvY2Vzc29ycyc7XG5cbmltcG9ydCB7Z2V0RHVja0RCfSBmcm9tICcuLi9pbml0JztcbmltcG9ydCB7XG4gIHByb2Nlc3NDc3ZSb3dPYmplY3QsXG4gIHByb2Nlc3NHZW9qc29uLFxuICBwcm9jZXNzS2VwbGVyZ2xKU09OZm9yRHVja0RiLFxuICBQcm9jZXNzb3JSZXN1bHRcbn0gZnJvbSAnLi4vcHJvY2Vzc29ycy9kYXRhLXByb2Nlc3Nvcic7XG5cbi8vIFRPRE8gZm9ybWF0IGdlb2pzb24sIGFsbCBiaW5hcnkgZ2VvZ3NvbiBjb2x1bW5zIHNob3VsZCBiZSB0cmFuZm9ybWVkIHRvIHdrYlxuY29uc3QgR0VPTUVUUllfQ09MVU1OID0gJ2dlb20nO1xuXG50eXBlIEltcG9ydERhdGFUb0R1Y2tQcm9wcyA9IHtcbiAgZGF0YTogUHJvY2Vzc29yUmVzdWx0O1xuICBkYjogQXN5bmNEdWNrREI7XG4gIGM6IEFzeW5jRHVja0RCQ29ubmVjdGlvbjtcbn07XG5cbi8qKlxuICogQ3JlYXRlcyBhbiBhcnJvdyB0YWJsZSBmcm9tIGFycm93IHZlY3RvcnMgYW5kIGZpZWxkcy5cbiAqIEBwYXJhbSBjb2x1bW5zIEFuIGFycmF5IG9mIGFycm93IHZlY3RvcnMuXG4gKiBAcGFyYW0gZmllbGRzIEFuIGFycmF5IG9mIGZpZWxkcyBwZXIgYXJyb3cgdmVjdG9yLlxuICogQHJldHVybnMgQW4gYXJyb3cgdGFibGUuXG4gKi9cbi8vIFRPRE86IGNvbnNpZGVyIHVzaW5nIG9yaWdpbmFsIGRyYWcmZHJvcHBlZCBhcnJvdyB0YWJsZSwgYXMgaXQgY291bGQgY29udGFpbiBleHRyYSBtZXRhZGF0YSwgbm90IHBhc3NlZCB0byB0aGUgZmllbGRzLlxuY29uc3QgcmVzdG9yZUFycm93VGFibGUgPSAoY29sdW1uczogYXJyb3cuVmVjdG9yW10sIGZpZWxkczogUHJvdG9EYXRhc2V0RmllbGRbXSkgPT4ge1xuICBjb25zdCBjcmVhT3B0cyA9IHt9O1xuICBmaWVsZHMubWFwKChmaWVsZCwgaW5kZXgpID0+IHtcbiAgICBjcmVhT3B0c1tmaWVsZC5uYW1lXSA9IGNvbHVtbnNbaW5kZXhdO1xuICB9KTtcbiAgcmV0dXJuIG5ldyBhcnJvdy5UYWJsZShjcmVhT3B0cyk7XG59O1xuXG5jb25zdCBkcm9wSWZUYWJsZUV4aXN0cyA9IGFzeW5jIChjOiBBc3luY0R1Y2tEQkNvbm5lY3Rpb24sIHRhYmxlTmFtZTogc3RyaW5nKSA9PiB7XG4gIHRyeSB7XG4gICAgYXdhaXQgYy5xdWVyeShgRFJPUCBUQUJMRSBJRiBFWElTVFMgXCIke3RhYmxlTmFtZX1cIjtgKTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICBjb25zb2xlLmVycm9yKCdEcm9wcGluZyB0YWJsZSBmYWlsZWQnLCB0YWJsZU5hbWUsIGVycm9yKTtcbiAgfVxufTtcblxuZXhwb3J0IGNsYXNzIEtlcGxlckdsRHVja0RiVGFibGUgZXh0ZW5kcyBLZXBsZXJUYWJsZSB7XG4gIGRlY2xhcmUgcmVhZG9ubHkgaWQ6IHN0cmluZztcbiAgZGVjbGFyZSBsYWJlbDogc3RyaW5nO1xuICBkZWNsYXJlIHR5cGU6IHN0cmluZztcbiAgZGVjbGFyZSBtZXRhZGF0YTogUmVjb3JkPHN0cmluZywgYW55PjtcblxuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xuICAgIHN1cGVyKHByb3BzKTtcbiAgfVxuXG4gIGFzeW5jIGltcG9ydFJvd0RhdGEoe2RhdGEsIGRiLCBjfTogSW1wb3J0RGF0YVRvRHVja1Byb3BzKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHtmaWVsZHMsIHJvd3N9ID0gZGF0YTtcblxuICAgICAgLy8gREFUQVNFVF9GT1JNQVRTLmtlcGxlcmdsIGxvYWRzIGRhdGEgYXMgYW55W11bXSBpbnN0ZWFkIG9mIFt7fV1cbiAgICAgIC8vIFRPRE8gcG90ZW50aWFsIG1lbW9yeSB1c2FnZSBleHBsb3Npb246IG9yaWdpbmFsIGRhdGEsIG5ldyBvYmplY3QgYW5kIHRoZW4gRHVja0RiIHRhYmxlXG4gICAgICBjb25zdCByb3dzRm9yRGIgPSBBcnJheS5pc0FycmF5KHJvd3NbMF0pXG4gICAgICAgID8gcm93cy5tYXAocm93ID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG5ld1JvdyA9IHt9O1xuICAgICAgICAgICAgcm93LmZvckVhY2goKHZhbHVlLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICBuZXdSb3dbZmllbGRzW2luZGV4XS5uYW1lXSA9IHZhbHVlO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gbmV3Um93O1xuICAgICAgICAgIH0pXG4gICAgICAgIDogcm93cztcblxuICAgICAgYXdhaXQgZGIucmVnaXN0ZXJGaWxlVGV4dCh0aGlzLmlkLCBKU09OLnN0cmluZ2lmeShyb3dzRm9yRGIpKTtcblxuICAgICAgY29uc3QgY29sdW1ucyA9IGZpZWxkcy5yZWR1Y2UoKGFjYywgZmllbGQsIGluZGV4KSA9PiB7XG4gICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgVE9ETyBleHRlbmQgZmllbGRzIHRvIGNvbnRhaW4gZHVja0RCQ29sdW1uVHlwZVxuICAgICAgICByZXR1cm4gYCR7YWNjfSR7aW5kZXggPiAwID8gJywnIDogJyd9ICcke2ZpZWxkLm5hbWV9JzogJyR7ZmllbGQuZHVja0RCQ29sdW1uVHlwZX0nYDtcbiAgICAgIH0sICcnKTtcblxuICAgICAgY29uc3QgY3JlYXRlVGFibGVTcWwgPSBgXG4gICAgICAgIENSRUFURSBUQUJMRSAnJHt0aGlzLmxhYmVsfScgQVNcbiAgICAgICAgU0VMRUNUICpcbiAgICAgICAgRlJPTSByZWFkX2pzb24oJyR7dGhpcy5pZH0nLFxuICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW5zID0geyR7Y29sdW1uc319KTtcbiAgICAgIGA7XG4gICAgICBhd2FpdCBjLnF1ZXJ5KGNyZWF0ZVRhYmxlU3FsKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5sb2coJ2ltcG9ydFJvd0RhdGEnLCBlcnJvcik7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgaW1wb3J0R2VvSnNvbkRhdGEoe2RhdGEsIGRiLCBjfTogSW1wb3J0RGF0YVRvRHVja1Byb3BzKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHtyb3dzfSA9IGRhdGE7XG4gICAgICBhd2FpdCBkYi5yZWdpc3RlckZpbGVUZXh0KHRoaXMuaWQsIEpTT04uc3RyaW5naWZ5KHJvd3MpKTtcblxuICAgICAgY29uc3QgY3JlYXRlVGFibGVTcWwgPSBgXG4gICAgICAgIGluc3RhbGwgc3BhdGlhbDtcbiAgICAgICAgbG9hZCBzcGF0aWFsO1xuICAgICAgICBDUkVBVEUgVEFCTEUgJyR7dGhpcy5sYWJlbH0nIEFTIFxuICAgICAgICBTRUxFQ1QgKlxuICAgICAgICBGUk9NIFNUX1JFQUQoJyR7dGhpcy5pZH0nKTtcbiAgICAgIGA7XG4gICAgICBhd2FpdCBjLnF1ZXJ5KGNyZWF0ZVRhYmxlU3FsKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignaW1wb3J0R2VvSnNvbkRhdGEnLCBlcnJvcik7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgaW1wb3J0QXJyb3dEYXRhKHtkYXRhLCBkYiwgY306IEltcG9ydERhdGFUb0R1Y2tQcm9wcyk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICAvLyAxKSBkYXRhLnJvd3MgY29udGFpbnMgYW4gYXJyb3cgdGFibGUgY3JlYXRlZCBieSBBZGQgdG8gTWFwIGRhdGEgZnJvbSBEdWNrRGIgcXVlcnkuXG4gICAgICAvLyAyKSBhcnJvdyB0YWJsZSBpcyBpbiBjb2xzICYgZmllbGRzIHdoZW4gYSBmaWxlIGlzIGRyYWdnZWQgJiBkcm9wcGVkIGludG8gQWRkIERhdGEgVG8gTWFwIGRpYWxvZy5cbiAgICAgIGNvbnN0IGFycm93VGFibGUgPVxuICAgICAgICBkYXRhLnJvd3MgaW5zdGFuY2VvZiBhcnJvdy5UYWJsZVxuICAgICAgICAgID8gZGF0YS5yb3dzXG4gICAgICAgICAgOiByZXN0b3JlQXJyb3dUYWJsZShkYXRhLmNvbHMgfHwgW10sIGRhdGEuZmllbGRzKTtcblxuICAgICAgY29uc3Qgc2V0dXBTcWwgPSBgXG4gICAgICAgIGluc3RhbGwgc3BhdGlhbDtcbiAgICAgICAgbG9hZCBzcGF0aWFsO1xuICAgICAgYDtcbiAgICAgIGF3YWl0IGMucXVlcnkoc2V0dXBTcWwpO1xuICAgICAgYXdhaXQgYy5pbnNlcnRBcnJvd1RhYmxlKGFycm93VGFibGUsIHtuYW1lOiB0aGlzLmxhYmVsfSk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIC8vIEtub3duIGlzc3VlczpcbiAgICAgIC8vIDEpIEFycm93IFR5cGUgd2l0aCBleHRlbnNpb24gbmFtZTogZ2VvYXJyb3cucG9pbnQgYW5kIGZvcm1hdDogK3c6MiBpcyBub3QgY3VycmVudGx5IHN1cHBvcnRlZCBpbiBEdWNrREIuXG4gICAgICBjb25zb2xlLmVycm9yKCdpbXBvcnRBcnJvd0RhdGEnLCBlcnJvcik7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSB0YWJsZSBmcm9tIGRhdGEsIHJldHVybnMgYW4gYXJyb3cgdGFibGUgd2l0aCB0aGUgZGF0YVxuICAgKiBAcGFyYW0gZGF0YVxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx7ZmllbGRzOiBGaWVsZFtdLCBjb2xzOiBhbnlbXX0+fVxuICAgKi9cbiAgcHJvdGVjdGVkIGFzeW5jIGNyZWF0ZVRhYmxlQW5kR2V0QXJyb3coZGF0YSk6IFByb21pc2U8e2ZpZWxkczogYW55W107IGNvbHM6IGFycm93LlZlY3RvcltdfT4ge1xuICAgIGNvbnN0IGRiID0gYXdhaXQgZ2V0RHVja0RCKCk7XG4gICAgY29uc3QgYyA9IGF3YWl0IGRiLmNvbm5lY3QoKTtcblxuICAgIGNvbnN0IHRhYmxlTmFtZSA9IHRoaXMubGFiZWw7XG4gICAgYXdhaXQgZHJvcElmVGFibGVFeGlzdHMoYywgdGFibGVOYW1lKTtcblxuICAgIGxldCBmb3JtYXQgPSB0aGlzLm1ldGFkYXRhLmZvcm1hdDtcbiAgICBpZiAoIWZvcm1hdCkge1xuICAgICAgLy8gZm9ybWF0IGlzIG1pc3Npbmcgd2hlbiB3ZSBsb2FkIEtlcGxlci5nbCBleGFtcGxlc1xuICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZGF0YS5yb3dzPy5bMF0pIHx8IHR5cGVvZiBkYXRhLnJvd3M/LlswXSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgZm9ybWF0ID0gREFUQVNFVF9GT1JNQVRTLnJvdztcbiAgICAgIH0gZWxzZSBpZiAoZGF0YS5yb3dzPy50eXBlID09PSAnRmVhdHVyZUNvbGxlY3Rpb24nKSB7XG4gICAgICAgIGZvcm1hdCA9IERBVEFTRVRfRk9STUFUUy5nZW9qc29uO1xuICAgICAgfSBlbHNlIGlmIChkYXRhLmNvbHM/LlswXSBpbnN0YW5jZW9mIGFycm93LlZlY3Rvcikge1xuICAgICAgICBmb3JtYXQgPSBEQVRBU0VUX0ZPUk1BVFMuYXJyb3c7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGZvcm1hdCA9PT0gREFUQVNFVF9GT1JNQVRTLnJvdykge1xuICAgICAgYXdhaXQgdGhpcy5pbXBvcnRSb3dEYXRhKHtkYXRhLCBkYiwgY30pO1xuICAgIH0gZWxzZSBpZiAoZm9ybWF0ID09PSBEQVRBU0VUX0ZPUk1BVFMuZ2VvanNvbikge1xuICAgICAgYXdhaXQgdGhpcy5pbXBvcnRHZW9Kc29uRGF0YSh7ZGF0YSwgZGIsIGN9KTtcbiAgICB9IGVsc2UgaWYgKGZvcm1hdCA9PT0gREFUQVNFVF9GT1JNQVRTLmFycm93KSB7XG4gICAgICBhd2FpdCB0aGlzLmltcG9ydEFycm93RGF0YSh7ZGF0YSwgZGIsIGN9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS5lcnJvcignVW5yZWNvZ25pemVkIGZvcm1hdCcsIGZvcm1hdCk7XG4gICAgfVxuXG4gICAgbGV0IGZpZWxkczogRmllbGRbXSA9IFtdO1xuICAgIGxldCBjb2xzOiBhcnJvdy5WZWN0b3JbXSA9IFtdO1xuXG4gICAgdHJ5IHtcbiAgICAgIC8vIFdlIG5lZWQgdG8gdHJhbnNmb3JtIHRoZSBiaW5hcnkgZ2VvbWV0cnkgY29sdW1uIHRvIHByb3BlciB3a2IuXG4gICAgICAvLyBGaXJzdCBjaGVjayB3aGV0aGVyIHN1Y2ggYSBjb2x1bW4gZXhpc3RzLCB0aGVuIHF1ZXJ5IHdpdGggU1RfQXNXS0IuXG4gICAgICBjb25zdCBkdW1teVJlc3VsdCA9IGF3YWl0IGMucXVlcnkoYFxuICAgICAgICBTRUxFQ1QgKiBGUk9NICcke3RhYmxlTmFtZX0nIExJTUlUIDA7XG4gICAgICBgKTtcbiAgICAgIGNvbnN0IGhhc0JpbmFyeUdlb0ZpZWxkID0gQm9vbGVhbihcbiAgICAgICAgZHVtbXlSZXN1bHQuc2NoZW1hLmZpZWxkcy5maW5kKFxuICAgICAgICAgIGYgPT4gZi5uYW1lID09PSBHRU9NRVRSWV9DT0xVTU4gJiYgYXJyb3cuRGF0YVR5cGUuaXNCaW5hcnkoZi50eXBlKVxuICAgICAgICApXG4gICAgICApO1xuXG4gICAgICAvLyBUT0RPIGRvbid0IGRvIHRoaXMgZm9yIGFsbCBjb2x1bW5zIG5hbWVkICdnZW9tJywgY2hlY2sgd2hldGhlciBpdCdzIGEgd2tiIGFuZCBub3Qgc29tZXRoaW5nIGVsc2UhXG4gICAgICAvLyBxdWVyeSBhbmQgdHJhbnNmb3JtIGdlb21ldHJ5IGNvbHVtbiB0byB3a2JcbiAgICAgIGNvbnN0IGFycm93UmVzdWx0ID0gYXdhaXQgYy5xdWVyeShcbiAgICAgICAgYFNFTEVDVCAqICR7XG4gICAgICAgICAgaGFzQmluYXJ5R2VvRmllbGRcbiAgICAgICAgICAgID8gYEVYQ0xVREUgJHtHRU9NRVRSWV9DT0xVTU59LCBTVF9Bc1dLQigke0dFT01FVFJZX0NPTFVNTn0pIGFzICR7R0VPTUVUUllfQ09MVU1OfWBcbiAgICAgICAgICAgIDogJydcbiAgICAgICAgfSBGUk9NICcke3RhYmxlTmFtZX0nO2BcbiAgICAgICk7XG4gICAgICBjb25zdCBnZW9GaWVsZCA9IGFycm93UmVzdWx0LnNjaGVtYS5maWVsZHMuZmluZChcbiAgICAgICAgZiA9PiBmLm5hbWUgPT09IEdFT01FVFJZX0NPTFVNTiAmJiBhcnJvdy5EYXRhVHlwZS5pc0JpbmFyeShmLnR5cGUpXG4gICAgICApO1xuICAgICAgZ2VvRmllbGQ/Lm1ldGFkYXRhLnNldCgnQVJST1c6ZXh0ZW5zaW9uOm5hbWUnLCAnZ2VvYXJyb3cud2tiJyk7XG5cbiAgICAgIGZpZWxkcyA9IGRhdGEuZmllbGRzID8/IGFycm93U2NoZW1hVG9GaWVsZHMoYXJyb3dSZXN1bHQuc2NoZW1hKTtcbiAgICAgIGNvbHMgPSBbLi4uQXJyYXkoYXJyb3dSZXN1bHQubnVtQ29scykua2V5cygpXVxuICAgICAgICAubWFwKGkgPT4gYXJyb3dSZXN1bHQuZ2V0Q2hpbGRBdChpKSlcbiAgICAgICAgLmZpbHRlcihjb2wgPT4gY29sKSBhcyBhcnJvdy5WZWN0b3JbXTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgLy8gS25vd24gaXNzdWVzOlxuICAgICAgLy8gMSkgU1RfQXNXS0IgYmluZGVyIGVycm9yLCBubyB0eXBlIG1hdGNoXG4gICAgICBjb25zb2xlLmVycm9yKCdEdWNrRGIgdGFibGU6IGJpbmFyeSBnZW9tZXRyeSBjb2x1bW4gdG8gd2tiJywgZXJyb3IpO1xuICAgIH1cblxuICAgIGF3YWl0IGMuY2xvc2UoKTtcblxuICAgIHJldHVybiB7ZmllbGRzLCBjb2xzfTtcbiAgfVxuXG4gIGFzeW5jIGltcG9ydERhdGEoe2RhdGF9OiB7ZGF0YTogUHJvY2Vzc29yUmVzdWx0fSk6IFByb21pc2U8dm9pZD4ge1xuICAgIC8vIFZlY3RvclRpbGUgaXMgYSBzcGVjaWFsIGNhc2UsIGlnbm9yZSBmb3Igbm93XG4gICAgaWYgKHRoaXMudHlwZSA9PT0gRGF0YXNldFR5cGUuVkVDVE9SX1RJTEUpIHtcbiAgICAgIHN1cGVyLmltcG9ydERhdGEoe2RhdGE6IHsuLi5kYXRhLCByb3dzOiBbXX19KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCB7ZmllbGRzLCBjb2xzfSA9IGF3YWl0IHRoaXMuY3JlYXRlVGFibGVBbmRHZXRBcnJvdyhkYXRhKTtcblxuICAgIHN1cGVyLmltcG9ydERhdGEoe2RhdGE6IHtmaWVsZHMsIGNvbHMsIHJvd3M6IFtdfX0pO1xuICB9XG5cbiAgYXN5bmMgdXBkYXRlKGRhdGEpIHtcbiAgICAvLyBWZWN0b3JUaWxlIGlzIGEgc3BlY2lhbCBjYXNlLCBpZ25vcmUgZm9yIG5vd1xuICAgIGlmICh0aGlzLnR5cGUgPT09IERhdGFzZXRUeXBlLlZFQ1RPUl9USUxFKSB7XG4gICAgICBzdXBlci5pbXBvcnREYXRhKHtkYXRhfSk7XG4gICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBjb25zdCB7Y29sc30gPSBhd2FpdCB0aGlzLmNyZWF0ZVRhYmxlQW5kR2V0QXJyb3coZGF0YSk7XG5cbiAgICByZXR1cm4gc3VwZXIudXBkYXRlKHtjb2xzLCByb3dzOiBbXSwgZmllbGRzOiBbXX0pO1xuICB9XG5cbiAgc3RhdGljIGdldEZpbGVQcm9jZXNzb3IgPSBmdW5jdGlvbiAoZGF0YTogYW55LCBpbnB1dEZvcm1hdD86IHN0cmluZykge1xuICAgIGxldCBwcm9jZXNzb3I7XG4gICAgbGV0IGZvcm1hdDtcbiAgICBpZiAoaW5wdXRGb3JtYXQgPT09IERBVEFTRVRfRk9STUFUUy5hcnJvdyB8fCBpc0Fycm93RGF0YShkYXRhKSkge1xuICAgICAgZm9ybWF0ID0gREFUQVNFVF9GT1JNQVRTLmFycm93O1xuICAgICAgLy8gVE9ETyBpbmplc3QgYXJyb3cgZmlsZXMgZnJvbSBkaXNrIHdpdGhvdXQgbG9hZGVyc1xuICAgICAgcHJvY2Vzc29yID0gcHJvY2Vzc0Fycm93QmF0Y2hlcztcbiAgICB9IGVsc2UgaWYgKGlucHV0Rm9ybWF0ID09PSBEQVRBU0VUX0ZPUk1BVFMua2VwbGVyZ2wgfHwgaXNLZXBsZXJHbE1hcChkYXRhKSkge1xuICAgICAgZm9ybWF0ID0gREFUQVNFVF9GT1JNQVRTLmtlcGxlcmdsO1xuICAgICAgcHJvY2Vzc29yID0gcHJvY2Vzc0tlcGxlcmdsSlNPTmZvckR1Y2tEYjtcbiAgICB9IGVsc2UgaWYgKGlucHV0Rm9ybWF0ID09PSBEQVRBU0VUX0ZPUk1BVFMucm93IHx8IGlzUm93T2JqZWN0KGRhdGEpKSB7XG4gICAgICAvLyBjc3YgZmlsZSBnb2VzIGhlcmVcbiAgICAgIGZvcm1hdCA9IERBVEFTRVRfRk9STUFUUy5yb3c7XG4gICAgICBwcm9jZXNzb3IgPSBwcm9jZXNzQ3N2Um93T2JqZWN0OyAvLyBkaXJlY3RseSBpbXBvcnQganNvbiBvYmplY3QgaW50byBkdWNrZGItd2FzbVxuICAgIH0gZWxzZSBpZiAoaW5wdXRGb3JtYXQgPT09IERBVEFTRVRfRk9STUFUUy5nZW9qc29uIHx8IGlzR2VvSnNvbihkYXRhKSkge1xuICAgICAgZm9ybWF0ID0gREFUQVNFVF9GT1JNQVRTLmdlb2pzb247XG4gICAgICBwcm9jZXNzb3IgPSBwcm9jZXNzR2VvanNvbjtcbiAgICB9XG4gICAgcmV0dXJuIHtwcm9jZXNzb3IsIGZvcm1hdH07XG4gIH07XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFHQSxJQUFBQSxLQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFHQSxJQUFBQyxVQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxNQUFBLEdBQUFGLE9BQUE7QUFFQSxJQUFB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
|
|
482
|
+
(0, _defineProperty2["default"])(KeplerGlDuckDbTable, "getInputDataValidator", function () {
|
|
483
|
+
return function (d) {
|
|
484
|
+
return d;
|
|
485
|
+
};
|
|
486
|
+
});
|
|
487
|
+
var restoreGeoarrowMetadata = /*#__PURE__*/function () {
|
|
488
|
+
var _ref7 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee8(arrowTable, canCastST_asWKB, addWKBMetadata) {
|
|
489
|
+
return _regenerator["default"].wrap(function _callee8$(_context8) {
|
|
490
|
+
while (1) switch (_context8.prev = _context8.next) {
|
|
491
|
+
case 0:
|
|
492
|
+
arrowTable.schema.fields.forEach(function (f) {
|
|
493
|
+
if (arrow.DataType.isBinary(f.type) && (addWKBMetadata[f.name] || canCastST_asWKB[f.name])) {
|
|
494
|
+
f.metadata.set('ARROW:extension:name', 'geoarrow.wkb');
|
|
495
|
+
} else if ((0, _duckdbTableUtils.isGeoArrowPoint)(f.type)) {
|
|
496
|
+
f.metadata.set('ARROW:extension:name', 'geoarrow.point');
|
|
497
|
+
} else if ((0, _duckdbTableUtils.isGeoArrowLineString)(f.type)) {
|
|
498
|
+
f.metadata.set('ARROW:extension:name', 'geoarrow.linestring');
|
|
499
|
+
} else if ((0, _duckdbTableUtils.isGeoArrowPolygon)(f.type)) {
|
|
500
|
+
f.metadata.set('ARROW:extension:name', 'geoarrow.polygon');
|
|
501
|
+
} else if ((0, _duckdbTableUtils.isGeoArrowMultiPoint)(f.type)) {
|
|
502
|
+
f.metadata.set('ARROW:extension:name', 'geoarrow.multipoint');
|
|
503
|
+
} else if ((0, _duckdbTableUtils.isGeoArrowMultiLineString)(f.type)) {
|
|
504
|
+
f.metadata.set('ARROW:extension:name', 'geoarrow.multilinestring');
|
|
505
|
+
} else if ((0, _duckdbTableUtils.isGeoArrowMultiPolygon)(f.type)) {
|
|
506
|
+
f.metadata.set('ARROW:extension:name', 'geoarrow.multipolygon');
|
|
507
|
+
}
|
|
508
|
+
});
|
|
509
|
+
case 1:
|
|
510
|
+
case "end":
|
|
511
|
+
return _context8.stop();
|
|
512
|
+
}
|
|
513
|
+
}, _callee8);
|
|
514
|
+
}));
|
|
515
|
+
return function restoreGeoarrowMetadata(_x9, _x10, _x11) {
|
|
516
|
+
return _ref7.apply(this, arguments);
|
|
517
|
+
};
|
|
518
|
+
}();
|
|
519
|
+
|
|
520
|
+
/**
|
|
521
|
+
* For all binary columns tries to transform geometry from DuckDB's internal format into proper WKB.
|
|
522
|
+
* @param props
|
|
523
|
+
* @returns A map of fields that should be transformed to valid WKB.
|
|
524
|
+
*/
|
|
525
|
+
var tryST_AsWKB = /*#__PURE__*/function () {
|
|
526
|
+
var _ref8 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee9(props) {
|
|
527
|
+
var c, tableName, resultWithSchema, binaryColumns, canCastST_asWKB, _iterator, _step, column, columnName, query;
|
|
528
|
+
return _regenerator["default"].wrap(function _callee9$(_context9) {
|
|
529
|
+
while (1) switch (_context9.prev = _context9.next) {
|
|
530
|
+
case 0:
|
|
531
|
+
c = props.c, tableName = props.tableName;
|
|
532
|
+
_context9.next = 3;
|
|
533
|
+
return c.query("\n SELECT * FROM '".concat(tableName, "' LIMIT 0;\n "));
|
|
534
|
+
case 3:
|
|
535
|
+
resultWithSchema = _context9.sent;
|
|
536
|
+
binaryColumns = resultWithSchema.schema.fields.filter(function (f) {
|
|
537
|
+
return arrow.DataType.isBinary(f.type);
|
|
538
|
+
});
|
|
539
|
+
canCastST_asWKB = {};
|
|
540
|
+
_iterator = _createForOfIteratorHelper(binaryColumns);
|
|
541
|
+
_context9.prev = 7;
|
|
542
|
+
_iterator.s();
|
|
543
|
+
case 9:
|
|
544
|
+
if ((_step = _iterator.n()).done) {
|
|
545
|
+
_context9.next = 24;
|
|
546
|
+
break;
|
|
547
|
+
}
|
|
548
|
+
column = _step.value;
|
|
549
|
+
_context9.prev = 11;
|
|
550
|
+
columnName = column.name;
|
|
551
|
+
query = "SELECT * EXCLUDE ".concat(columnName, ", ST_AsWKB(").concat(columnName, ") as ").concat(columnName, " FROM '").concat(tableName, "' LIMIT 1;");
|
|
552
|
+
_context9.next = 16;
|
|
553
|
+
return c.query(query);
|
|
554
|
+
case 16:
|
|
555
|
+
canCastST_asWKB[column.name] = true;
|
|
556
|
+
_context9.next = 22;
|
|
557
|
+
break;
|
|
558
|
+
case 19:
|
|
559
|
+
_context9.prev = 19;
|
|
560
|
+
_context9.t0 = _context9["catch"](11);
|
|
561
|
+
canCastST_asWKB[column.name] = false;
|
|
562
|
+
case 22:
|
|
563
|
+
_context9.next = 9;
|
|
564
|
+
break;
|
|
565
|
+
case 24:
|
|
566
|
+
_context9.next = 29;
|
|
567
|
+
break;
|
|
568
|
+
case 26:
|
|
569
|
+
_context9.prev = 26;
|
|
570
|
+
_context9.t1 = _context9["catch"](7);
|
|
571
|
+
_iterator.e(_context9.t1);
|
|
572
|
+
case 29:
|
|
573
|
+
_context9.prev = 29;
|
|
574
|
+
_iterator.f();
|
|
575
|
+
return _context9.finish(29);
|
|
576
|
+
case 32:
|
|
577
|
+
return _context9.abrupt("return", canCastST_asWKB);
|
|
578
|
+
case 33:
|
|
579
|
+
case "end":
|
|
580
|
+
return _context9.stop();
|
|
581
|
+
}
|
|
582
|
+
}, _callee9, null, [[7, 26, 29, 32], [11, 19]]);
|
|
583
|
+
}));
|
|
584
|
+
return function tryST_AsWKB(_x12) {
|
|
585
|
+
return _ref8.apply(this, arguments);
|
|
586
|
+
};
|
|
587
|
+
}();
|
|
588
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJhcnJvdyIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwicmVxdWlyZSIsIl9jb25zdGFudHMiLCJfdGFibGUiLCJfcHJvY2Vzc29ycyIsIl9pbml0IiwiX2RhdGFQcm9jZXNzb3IiLCJfZHVja2RiVGFibGVVdGlscyIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZjMiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJfY3JlYXRlRm9yT2ZJdGVyYXRvckhlbHBlciIsIlN5bWJvbCIsIml0ZXJhdG9yIiwiQXJyYXkiLCJpc0FycmF5IiwiX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5IiwibGVuZ3RoIiwiX24iLCJGIiwicyIsImRvbmUiLCJ2YWx1ZSIsImYiLCJUeXBlRXJyb3IiLCJvIiwibmV4dCIsIl9hcnJheUxpa2VUb0FycmF5IiwidG9TdHJpbmciLCJzbGljZSIsImNvbnN0cnVjdG9yIiwibmFtZSIsImZyb20iLCJ0ZXN0Iiwib3duS2V5cyIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJmaWx0ZXIiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJfY2FsbFN1cGVyIiwiX2dldFByb3RvdHlwZU9mMiIsIl9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuMiIsIl9pc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QiLCJSZWZsZWN0IiwiY29uc3RydWN0IiwiQm9vbGVhbiIsInByb3RvdHlwZSIsInZhbHVlT2YiLCJfc3VwZXJQcm9wR2V0IiwicCIsIl9nZXQyIiwiRFVDS0RCX0dFT01fQ09MVU1OIiwiRFVDS0RCX1dLQl9DT0xVTU4iLCJLRVBMRVJfR0VPTV9GUk9NX0dFT0pTT05fQ09MVU1OIiwiU1VHR0VTVEVEX0dFT01fQ09MVU1OUyIsInJlc3RvcmVBcnJvd1RhYmxlIiwiY29sdW1ucyIsImZpZWxkcyIsImNyZWFPcHRzIiwibWFwIiwiZmllbGQiLCJpbmRleCIsIlRhYmxlIiwiZHJvcElmVGFibGVFeGlzdHMiLCJfcmVmIiwiX2FzeW5jVG9HZW5lcmF0b3IyIiwiX3JlZ2VuZXJhdG9yIiwibWFyayIsIl9jYWxsZWUiLCJjIiwidGFibGVOYW1lIiwid3JhcCIsIl9jYWxsZWUkIiwiX2NvbnRleHQiLCJwcmV2IiwicXVlcnkiLCJjb25jYXQiLCJ0MCIsImNvbnNvbGUiLCJlcnJvciIsInN0b3AiLCJfeCIsIl94MiIsIktlcGxlckdsRHVja0RiVGFibGUiLCJleHBvcnRzIiwiX0tlcGxlclRhYmxlIiwicHJvcHMiLCJfY2xhc3NDYWxsQ2hlY2syIiwiX2luaGVyaXRzMiIsIl9jcmVhdGVDbGFzczIiLCJrZXkiLCJfaW1wb3J0Um93RGF0YSIsIl9jYWxsZWUyIiwiX3JlZjIiLCJkYXRhIiwiZGIiLCJyb3dzIiwicm93c0ZvckRiIiwiY3JlYXRlVGFibGVTcWwiLCJfY2FsbGVlMiQiLCJfY29udGV4dDIiLCJyb3ciLCJuZXdSb3ciLCJyZWdpc3RlckZpbGVUZXh0IiwiaWQiLCJKU09OIiwic3RyaW5naWZ5IiwicmVkdWNlIiwiYWNjIiwiZHVja0RCQ29sdW1uVHlwZSIsImxhYmVsIiwibG9nIiwiaW1wb3J0Um93RGF0YSIsIl94MyIsIl9pbXBvcnRHZW9Kc29uRGF0YSIsIl9jYWxsZWUzIiwiX3JlZjMiLCJfY2FsbGVlMyQiLCJfY29udGV4dDMiLCJhYnJ1cHQiLCJhZGRXS0JNZXRhZGF0YSIsImltcG9ydEdlb0pzb25EYXRhIiwiX3g0IiwiX2ltcG9ydEFycm93RGF0YSIsIl9jYWxsZWU0IiwiX3JlZjQiLCJhcnJvd1RhYmxlIiwic2V0dXBTcWwiLCJfY2FsbGVlNCQiLCJfY29udGV4dDQiLCJjb2xzIiwiaW5zZXJ0QXJyb3dUYWJsZSIsInVzZU5ld0ZpZWxkcyIsImltcG9ydEFycm93RGF0YSIsIl94NSIsIl9jcmVhdGVUYWJsZUFuZEdldEFycm93IiwiX2NhbGxlZTUiLCJmb3JtYXQiLCJfZGF0YSRyb3dzIiwiX2RhdGEkcm93czIiLCJfZGF0YSRyb3dzMyIsIl9kYXRhJGNvbHMiLCJpbXBvcnREZXRhaWxzIiwiX2RhdGEkZmllbGRzIiwiX3JlZjUiLCJfcmVmNSRhZGRXS0JNZXRhZGF0YSIsIl9yZWY1JHVzZU5ld0ZpZWxkcyIsImNhbkNhc3RTVF9hc1dLQiIsImdldEFycm93UXVlcnkiLCJhcnJvd1Jlc3VsdCIsIl9jYWxsZWU1JCIsIl9jb250ZXh0NSIsImdldER1Y2tEQiIsInNlbnQiLCJjb25uZWN0IiwibWV0YWRhdGEiLCJfdHlwZW9mMiIsIkRBVEFTRVRfRk9STUFUUyIsInR5cGUiLCJnZW9qc29uIiwiVmVjdG9yIiwidHJ5U1RfQXNXS0IiLCJyZXN0b3JlR2VvYXJyb3dNZXRhZGF0YSIsImFycm93U2NoZW1hVG9GaWVsZHMiLCJzY2hlbWEiLCJfdG9Db25zdW1hYmxlQXJyYXkyIiwibnVtQ29scyIsImdldENoaWxkQXQiLCJjb2wiLCJjbG9zZSIsImNyZWF0ZVRhYmxlQW5kR2V0QXJyb3ciLCJfeDYiLCJfaW1wb3J0RGF0YSIsIl9jYWxsZWU2IiwiX3JlZjYiLCJfeWllbGQkdGhpcyRjcmVhdGVUYWIiLCJfY2FsbGVlNiQiLCJfY29udGV4dDYiLCJEYXRhc2V0VHlwZSIsIlZFQ1RPUl9USUxFIiwiaW1wb3J0RGF0YSIsIl94NyIsIl91cGRhdGUiLCJfY2FsbGVlNyIsIl95aWVsZCR0aGlzJGNyZWF0ZVRhYjIiLCJfY2FsbGVlNyQiLCJfY29udGV4dDciLCJ1cGRhdGUiLCJfeDgiLCJLZXBsZXJUYWJsZSIsImlucHV0Rm9ybWF0IiwicHJvY2Vzc29yIiwiaXNBcnJvd0RhdGEiLCJwcm9jZXNzQXJyb3dCYXRjaGVzIiwia2VwbGVyZ2wiLCJpc0tlcGxlckdsTWFwIiwicHJvY2Vzc0tlcGxlcmdsSlNPTmZvckR1Y2tEYiIsImlzUm93T2JqZWN0IiwicHJvY2Vzc0NzdlJvd09iamVjdCIsImlzR2VvSnNvbiIsInByb2Nlc3NHZW9qc29uIiwiZCIsIl9yZWY3IiwiX2NhbGxlZTgiLCJfY2FsbGVlOCQiLCJfY29udGV4dDgiLCJEYXRhVHlwZSIsImlzQmluYXJ5IiwiaXNHZW9BcnJvd1BvaW50IiwiaXNHZW9BcnJvd0xpbmVTdHJpbmciLCJpc0dlb0Fycm93UG9seWdvbiIsImlzR2VvQXJyb3dNdWx0aVBvaW50IiwiaXNHZW9BcnJvd011bHRpTGluZVN0cmluZyIsImlzR2VvQXJyb3dNdWx0aVBvbHlnb24iLCJfeDkiLCJfeDEwIiwiX3gxMSIsIl9yZWY4IiwiX2NhbGxlZTkiLCJyZXN1bHRXaXRoU2NoZW1hIiwiYmluYXJ5Q29sdW1ucyIsIl9pdGVyYXRvciIsIl9zdGVwIiwiY29sdW1uIiwiY29sdW1uTmFtZSIsIl9jYWxsZWU5JCIsIl9jb250ZXh0OSIsInQxIiwiZmluaXNoIiwiX3gxMiJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90YWJsZS9kdWNrZGItdGFibGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0ICogYXMgYXJyb3cgZnJvbSAnYXBhY2hlLWFycm93JztcbmltcG9ydCB7QXN5bmNEdWNrREIsIEFzeW5jRHVja0RCQ29ubmVjdGlvbn0gZnJvbSAnQGR1Y2tkYi9kdWNrZGItd2FzbSc7XG5cbmltcG9ydCB7RGF0YXNldFR5cGUsIERBVEFTRVRfRk9STUFUU30gZnJvbSAnQGtlcGxlci5nbC9jb25zdGFudHMnO1xuaW1wb3J0IHtLZXBsZXJUYWJsZX0gZnJvbSAnQGtlcGxlci5nbC90YWJsZSc7XG5pbXBvcnQge0ZpZWxkLCBQcm90b0RhdGFzZXRGaWVsZH0gZnJvbSAnQGtlcGxlci5nbC90eXBlcyc7XG5pbXBvcnQge1xuICBhcnJvd1NjaGVtYVRvRmllbGRzLFxuICBpc0Fycm93RGF0YSxcbiAgaXNHZW9Kc29uLFxuICBpc0tlcGxlckdsTWFwLFxuICBpc1Jvd09iamVjdCxcbiAgcHJvY2Vzc0Fycm93QmF0Y2hlc1xufSBmcm9tICdAa2VwbGVyLmdsL3Byb2Nlc3NvcnMnO1xuXG5pbXBvcnQge2dldER1Y2tEQn0gZnJvbSAnLi4vaW5pdCc7XG5pbXBvcnQge1xuICBwcm9jZXNzQ3N2Um93T2JqZWN0LFxuICBwcm9jZXNzR2VvanNvbixcbiAgcHJvY2Vzc0tlcGxlcmdsSlNPTmZvckR1Y2tEYixcbiAgUHJvY2Vzc29yUmVzdWx0XG59IGZyb20gJy4uL3Byb2Nlc3NvcnMvZGF0YS1wcm9jZXNzb3InO1xuXG5pbXBvcnQge1xuICBpc0dlb0Fycm93UG9pbnQsXG4gIGlzR2VvQXJyb3dMaW5lU3RyaW5nLFxuICBpc0dlb0Fycm93UG9seWdvbixcbiAgaXNHZW9BcnJvd011bHRpUG9pbnQsXG4gIGlzR2VvQXJyb3dNdWx0aUxpbmVTdHJpbmcsXG4gIGlzR2VvQXJyb3dNdWx0aVBvbHlnb25cbn0gZnJvbSAnLi9kdWNrZGItdGFibGUtdXRpbHMnO1xuXG4vLyBUT0RPIHVzZSBmaWxlcyBmcm9tIGRpc2sgb3IgdXJsIGRpcmVjdGx5LCB3aXRob3V0IHBhcnNpbmcgYnkgbG9hZGVycyBhbmQgdGhlbiBpbmdlY3Rpb24gaW50byBEZWNrRGJcblxuLyoqXG4gKiBEZWZhdWx0IER1Y2tEYiBnZW9tZXRyeSBjb2x1bW5zIGNyZWF0ZWQgYnkgU1RfUkVBRFxuICovXG5jb25zdCBEVUNLREJfR0VPTV9DT0xVTU4gPSAnZ2VvbSc7XG5jb25zdCBEVUNLREJfV0tCX0NPTFVNTiA9ICd3a2JfZ2VvbWV0cnknO1xuXG4vKipcbiBEZWZhdWx0IGNvbHVtbiBuYW1lIGZvciBwcm9jZXNzZWQgZ2VvanNvbiBpbiBLZXBsZXIuXG4gVXNlIHRoaXMgbmFtZSB0byByZW5hbWUgZGVmYXVsdCAnZ2VvbScgY29sdW1uIGZyb20gRHVja0RiXG4gaW4gb3JkZXIgdG8gc3VwcG9ydCBLZXBsZXIgbWFwcyBzYXZlZCBiZWZvcmUgaW50cm9kdWN0aW9uIG9mIER1Y2tEYiBwbHVnaW4uXG4gKi9cbmNvbnN0IEtFUExFUl9HRU9NX0ZST01fR0VPSlNPTl9DT0xVTU4gPSAnX2dlb2pzb24nO1xuXG4vKipcbiAqIE5hbWVzIG9mIGNvbHVtbnMgdGhhdCBtb3N0IGxpa2VseSBjb250YWluIGJpbmFyeSB3a2IgZ2VvbWV0cnlcbiAqL1xuY29uc3QgU1VHR0VTVEVEX0dFT01fQ09MVU1OUyA9IHtcbiAgW0tFUExFUl9HRU9NX0ZST01fR0VPSlNPTl9DT0xVTU5dOiB0cnVlLFxuICBbRFVDS0RCX0dFT01fQ09MVU1OXTogdHJ1ZSxcbiAgZ2VvbWV0cnk6IHRydWVcbn07XG5cbnR5cGUgSW1wb3J0RGF0YVRvRHVja1Byb3BzID0ge1xuICBkYXRhOiBQcm9jZXNzb3JSZXN1bHQ7XG4gIGRiOiBBc3luY0R1Y2tEQjtcbiAgYzogQXN5bmNEdWNrREJDb25uZWN0aW9uO1xufTtcblxudHlwZSBJbXBvcnREYXRhVG9EdWNrUmVzdWx0ID0ge1xuICAvLyBEdWNrRGIgZHJvcHMgZ2VvYXJyb3cgbWV0YWRhdGEsIHNvIHRyeSB0byBwcmVzZXJ2ZSBzb21ldGluZ1xuICBhZGRXS0JNZXRhZGF0YT86IFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+O1xuICAvLyBVc2UgZmllbGRzIGZyb20gYXJyb3cgdGFibGUgZXZlbiBpZiBmaWVsZHMgYXJlIHByb3ZpZGVkXG4gIHVzZU5ld0ZpZWxkcz86IGJvb2xlYW47XG59O1xuXG4vKipcbiAqIENyZWF0ZXMgYW4gYXJyb3cgdGFibGUgZnJvbSBhcnJvdyB2ZWN0b3JzIGFuZCBmaWVsZHMuXG4gKiBAcGFyYW0gY29sdW1ucyBBbiBhcnJheSBvZiBhcnJvdyB2ZWN0b3JzLlxuICogQHBhcmFtIGZpZWxkcyBBbiBhcnJheSBvZiBmaWVsZHMgcGVyIGFycm93IHZlY3Rvci5cbiAqIEByZXR1cm5zIEFuIGFycm93IHRhYmxlLlxuICovXG4vLyBUT0RPOiBjb25zaWRlciB1c2luZyBvcmlnaW5hbCBkcmFnJmRyb3BwZWQgYXJyb3cgdGFibGUsIGFzIGl0IGNvdWxkIGNvbnRhaW4gZXh0cmEgbWV0YWRhdGEsIG5vdCBwYXNzZWQgdG8gdGhlIGZpZWxkcy5cbmNvbnN0IHJlc3RvcmVBcnJvd1RhYmxlID0gKGNvbHVtbnM6IGFycm93LlZlY3RvcltdLCBmaWVsZHM6IFByb3RvRGF0YXNldEZpZWxkW10pID0+IHtcbiAgY29uc3QgY3JlYU9wdHMgPSB7fTtcbiAgZmllbGRzLm1hcCgoZmllbGQsIGluZGV4KSA9PiB7XG4gICAgY3JlYU9wdHNbZmllbGQubmFtZV0gPSBjb2x1bW5zW2luZGV4XTtcbiAgfSk7XG4gIHJldHVybiBuZXcgYXJyb3cuVGFibGUoY3JlYU9wdHMpO1xufTtcblxuY29uc3QgZHJvcElmVGFibGVFeGlzdHMgPSBhc3luYyAoYzogQXN5bmNEdWNrREJDb25uZWN0aW9uLCB0YWJsZU5hbWU6IHN0cmluZykgPT4ge1xuICB0cnkge1xuICAgIGF3YWl0IGMucXVlcnkoYERST1AgVEFCTEUgSUYgRVhJU1RTIFwiJHt0YWJsZU5hbWV9XCI7YCk7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgY29uc29sZS5lcnJvcignRHJvcHBpbmcgdGFibGUgZmFpbGVkJywgdGFibGVOYW1lLCBlcnJvcik7XG4gIH1cbn07XG5cbmV4cG9ydCBjbGFzcyBLZXBsZXJHbER1Y2tEYlRhYmxlIGV4dGVuZHMgS2VwbGVyVGFibGUge1xuICBkZWNsYXJlIHJlYWRvbmx5IGlkOiBzdHJpbmc7XG4gIGRlY2xhcmUgbGFiZWw6IHN0cmluZztcbiAgZGVjbGFyZSB0eXBlOiBzdHJpbmc7XG4gIGRlY2xhcmUgbWV0YWRhdGE6IFJlY29yZDxzdHJpbmcsIGFueT47XG5cbiAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG4gIH1cblxuICBhc3luYyBpbXBvcnRSb3dEYXRhKHtkYXRhLCBkYiwgY306IEltcG9ydERhdGFUb0R1Y2tQcm9wcyk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCB7ZmllbGRzLCByb3dzfSA9IGRhdGE7XG5cbiAgICAgIC8vIERBVEFTRVRfRk9STUFUUy5rZXBsZXJnbCBsb2FkcyBkYXRhIGFzIGFueVtdW10gaW5zdGVhZCBvZiBbe31dXG4gICAgICAvLyBUT0RPIHBvdGVudGlhbCBtZW1vcnkgdXNhZ2UgZXhwbG9zaW9uOiBvcmlnaW5hbCBkYXRhLCBuZXcgb2JqZWN0IGFuZCB0aGVuIER1Y2tEYiB0YWJsZVxuICAgICAgY29uc3Qgcm93c0ZvckRiID0gQXJyYXkuaXNBcnJheShyb3dzWzBdKVxuICAgICAgICA/IHJvd3MubWFwKHJvdyA9PiB7XG4gICAgICAgICAgICBjb25zdCBuZXdSb3cgPSB7fTtcbiAgICAgICAgICAgIHJvdy5mb3JFYWNoKCh2YWx1ZSwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgbmV3Um93W2ZpZWxkc1tpbmRleF0ubmFtZV0gPSB2YWx1ZTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuIG5ld1JvdztcbiAgICAgICAgICB9KVxuICAgICAgICA6IHJvd3M7XG5cbiAgICAgIGF3YWl0IGRiLnJlZ2lzdGVyRmlsZVRleHQodGhpcy5pZCwgSlNPTi5zdHJpbmdpZnkocm93c0ZvckRiKSk7XG5cbiAgICAgIGNvbnN0IGNvbHVtbnMgPSBmaWVsZHMucmVkdWNlKChhY2MsIGZpZWxkLCBpbmRleCkgPT4ge1xuICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yIFRPRE8gZXh0ZW5kIGZpZWxkcyB0byBjb250YWluIGR1Y2tEQkNvbHVtblR5cGVcbiAgICAgICAgcmV0dXJuIGAke2FjY30ke2luZGV4ID4gMCA/ICcsJyA6ICcnfSAnJHtmaWVsZC5uYW1lfSc6ICcke2ZpZWxkLmR1Y2tEQkNvbHVtblR5cGV9J2A7XG4gICAgICB9LCAnJyk7XG5cbiAgICAgIGNvbnN0IGNyZWF0ZVRhYmxlU3FsID0gYFxuICAgICAgICBDUkVBVEUgVEFCTEUgJyR7dGhpcy5sYWJlbH0nIEFTXG4gICAgICAgIFNFTEVDVCAqXG4gICAgICAgIEZST00gcmVhZF9qc29uKCcke3RoaXMuaWR9JyxcbiAgICAgICAgICAgICAgICAgICAgICAgY29sdW1ucyA9IHske2NvbHVtbnN9fSk7XG4gICAgICBgO1xuICAgICAgYXdhaXQgYy5xdWVyeShjcmVhdGVUYWJsZVNxbCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUubG9nKCdpbXBvcnRSb3dEYXRhJywgZXJyb3IpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGltcG9ydEdlb0pzb25EYXRhKHtkYXRhLCBkYiwgY306IEltcG9ydERhdGFUb0R1Y2tQcm9wcyk6IFByb21pc2U8SW1wb3J0RGF0YVRvRHVja1Jlc3VsdD4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCB7cm93c30gPSBkYXRhO1xuICAgICAgYXdhaXQgZGIucmVnaXN0ZXJGaWxlVGV4dCh0aGlzLmlkLCBKU09OLnN0cmluZ2lmeShyb3dzKSk7XG5cbiAgICAgIGNvbnN0IGNyZWF0ZVRhYmxlU3FsID0gYFxuICAgICAgICBpbnN0YWxsIHNwYXRpYWw7XG4gICAgICAgIGxvYWQgc3BhdGlhbDtcbiAgICAgICAgQ1JFQVRFIFRBQkxFICcke3RoaXMubGFiZWx9JyBBUyBcbiAgICAgICAgU0VMRUNUICpcbiAgICAgICAgRlJPTSBTVF9SRUFEKCcke3RoaXMuaWR9Jywga2VlcF93a2IgPSBUUlVFKTtcbiAgICAgICAgQUxURVIgVEFCTEUgJyR7dGhpcy5sYWJlbH0nIFJFTkFNRSAnJHtEVUNLREJfV0tCX0NPTFVNTn0nIFRPICcke0tFUExFUl9HRU9NX0ZST01fR0VPSlNPTl9DT0xVTU59JztcbiAgICAgIGA7XG4gICAgICBhd2FpdCBjLnF1ZXJ5KGNyZWF0ZVRhYmxlU3FsKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignaW1wb3J0R2VvSnNvbkRhdGEnLCBlcnJvcik7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGFkZFdLQk1ldGFkYXRhOiB7W0tFUExFUl9HRU9NX0ZST01fR0VPSlNPTl9DT0xVTU5dOiB0cnVlfVxuICAgIH07XG4gIH1cblxuICBhc3luYyBpbXBvcnRBcnJvd0RhdGEoe2RhdGEsIGRiLCBjfTogSW1wb3J0RGF0YVRvRHVja1Byb3BzKTogUHJvbWlzZTxJbXBvcnREYXRhVG9EdWNrUmVzdWx0PiB7XG4gICAgdHJ5IHtcbiAgICAgIC8vIDEpIGRhdGEucm93cyBjb250YWlucyBhbiBhcnJvdyB0YWJsZSBjcmVhdGVkIGJ5IEFkZCB0byBNYXAgZGF0YSBmcm9tIER1Y2tEYiBxdWVyeS5cbiAgICAgIC8vIDIpIGFycm93IHRhYmxlIGlzIGluIGNvbHMgJiBmaWVsZHMgd2hlbiBhIGZpbGUgaXMgZHJhZ2dlZCAmIGRyb3BwZWQgaW50byBBZGQgRGF0YSBUbyBNYXAgZGlhbG9nLlxuICAgICAgY29uc3QgYXJyb3dUYWJsZSA9XG4gICAgICAgIGRhdGEucm93cyBpbnN0YW5jZW9mIGFycm93LlRhYmxlXG4gICAgICAgICAgPyBkYXRhLnJvd3NcbiAgICAgICAgICA6IHJlc3RvcmVBcnJvd1RhYmxlKGRhdGEuY29scyB8fCBbXSwgZGF0YS5maWVsZHMpO1xuXG4gICAgICBjb25zdCBzZXR1cFNxbCA9IGBcbiAgICAgICAgaW5zdGFsbCBzcGF0aWFsO1xuICAgICAgICBsb2FkIHNwYXRpYWw7XG4gICAgICBgO1xuICAgICAgYXdhaXQgYy5xdWVyeShzZXR1cFNxbCk7XG4gICAgICBhd2FpdCBjLmluc2VydEFycm93VGFibGUoYXJyb3dUYWJsZSwge25hbWU6IHRoaXMubGFiZWx9KTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgLy8gS25vd24gaXNzdWVzOlxuICAgICAgLy8gMSkgQXJyb3cgVHlwZSB3aXRoIGV4dGVuc2lvbiBuYW1lOiBnZW9hcnJvdy5wb2ludCBhbmQgZm9ybWF0OiArdzoyIGlzIG5vdCBjdXJyZW50bHkgc3VwcG9ydGVkIGluIER1Y2tEQi5cbiAgICAgIGNvbnNvbGUuZXJyb3IoJ2ltcG9ydEFycm93RGF0YScsIGVycm9yKTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgYWRkV0tCTWV0YWRhdGE6IHsuLi5TVUdHRVNURURfR0VPTV9DT0xVTU5TfSxcbiAgICAgIC8vIHVzZSBtZXRhZGF0YSBmcm9tIGFycm93IHRhYmxlXG4gICAgICB1c2VOZXdGaWVsZHM6IHRydWVcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSB0YWJsZSBmcm9tIGRhdGEsIHJldHVybnMgYW4gYXJyb3cgdGFibGUgd2l0aCB0aGUgZGF0YVxuICAgKiBAcGFyYW0gZGF0YVxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx7ZmllbGRzOiBGaWVsZFtdLCBjb2xzOiBhbnlbXX0+fVxuICAgKi9cbiAgcHJvdGVjdGVkIGFzeW5jIGNyZWF0ZVRhYmxlQW5kR2V0QXJyb3coZGF0YSk6IFByb21pc2U8e2ZpZWxkczogYW55W107IGNvbHM6IGFycm93LlZlY3RvcltdfT4ge1xuICAgIGNvbnN0IGRiID0gYXdhaXQgZ2V0RHVja0RCKCk7XG4gICAgY29uc3QgYyA9IGF3YWl0IGRiLmNvbm5lY3QoKTtcblxuICAgIGNvbnN0IHRhYmxlTmFtZSA9IHRoaXMubGFiZWw7XG4gICAgYXdhaXQgZHJvcElmVGFibGVFeGlzdHMoYywgdGFibGVOYW1lKTtcblxuICAgIGxldCBmb3JtYXQgPSB0aGlzLm1ldGFkYXRhLmZvcm1hdDtcbiAgICBpZiAoIWZvcm1hdCkge1xuICAgICAgLy8gZm9ybWF0IGlzIG1pc3Npbmcgd2hlbiB3ZSBsb2FkIEtlcGxlci5nbCBleGFtcGxlc1xuICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZGF0YS5yb3dzPy5bMF0pIHx8IHR5cGVvZiBkYXRhLnJvd3M/LlswXSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgZm9ybWF0ID0gREFUQVNFVF9GT1JNQVRTLnJvdztcbiAgICAgIH0gZWxzZSBpZiAoZGF0YS5yb3dzPy50eXBlID09PSAnRmVhdHVyZUNvbGxlY3Rpb24nKSB7XG4gICAgICAgIGZvcm1hdCA9IERBVEFTRVRfRk9STUFUUy5nZW9qc29uO1xuICAgICAgfSBlbHNlIGlmIChkYXRhLmNvbHM/LlswXSBpbnN0YW5jZW9mIGFycm93LlZlY3Rvcikge1xuICAgICAgICBmb3JtYXQgPSBEQVRBU0VUX0ZPUk1BVFMuYXJyb3c7XG4gICAgICB9XG4gICAgfVxuXG4gICAgbGV0IGltcG9ydERldGFpbHM6IEltcG9ydERhdGFUb0R1Y2tSZXN1bHQgfCB1bmRlZmluZWQ7XG4gICAgaWYgKGZvcm1hdCA9PT0gREFUQVNFVF9GT1JNQVRTLnJvdykge1xuICAgICAgYXdhaXQgdGhpcy5pbXBvcnRSb3dEYXRhKHtkYXRhLCBkYiwgY30pO1xuICAgIH0gZWxzZSBpZiAoZm9ybWF0ID09PSBEQVRBU0VUX0ZPUk1BVFMuZ2VvanNvbikge1xuICAgICAgaW1wb3J0RGV0YWlscyA9IGF3YWl0IHRoaXMuaW1wb3J0R2VvSnNvbkRhdGEoe2RhdGEsIGRiLCBjfSk7XG4gICAgfSBlbHNlIGlmIChmb3JtYXQgPT09IERBVEFTRVRfRk9STUFUUy5hcnJvdykge1xuICAgICAgaW1wb3J0RGV0YWlscyA9IGF3YWl0IHRoaXMuaW1wb3J0QXJyb3dEYXRhKHtkYXRhLCBkYiwgY30pO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdVbnJlY29nbml6ZWQgZm9ybWF0JywgZm9ybWF0KTtcbiAgICB9XG5cbiAgICBsZXQgZmllbGRzOiBGaWVsZFtdID0gW107XG4gICAgbGV0IGNvbHM6IGFycm93LlZlY3RvcltdID0gW107XG5cbiAgICB0cnkge1xuICAgICAgY29uc3Qge2FkZFdLQk1ldGFkYXRhID0ge30sIHVzZU5ld0ZpZWxkcyA9IGZhbHNlfSA9IGltcG9ydERldGFpbHMgfHwge307XG5cbiAgICAgIC8vIFRyeSB0byBmaWd1cmUgb3V0IHdoZXRoZXIgZ2VvbWV0cnkgc2hvdWxkIGJlIHRyYW5zZm9ybWVkIGJ5IFNUX0FzV0tCXG4gICAgICAvLyBUT0RPIGlmIGNhbkNhc3RTVF9hc1dLQiBjb250YWlucyBhbnkga2V5cyB0aGVuIGFkZCBTVF9Bc1dLQiB0byB0aGUgZm9sbG93aW5nIHF1ZXJ5XG4gICAgICBjb25zdCBjYW5DYXN0U1RfYXNXS0IgPSBhd2FpdCB0cnlTVF9Bc1dLQih7dGFibGVOYW1lLCBjfSk7XG5cbiAgICAgIGNvbnN0IGdldEFycm93UXVlcnkgPSBgU0VMRUNUICogRlJPTSAnJHt0YWJsZU5hbWV9JztgO1xuICAgICAgY29uc3QgYXJyb3dSZXN1bHQgPSBhd2FpdCBjLnF1ZXJ5KGdldEFycm93UXVlcnkpO1xuXG4gICAgICByZXN0b3JlR2VvYXJyb3dNZXRhZGF0YShhcnJvd1Jlc3VsdCwgY2FuQ2FzdFNUX2FzV0tCLCBhZGRXS0JNZXRhZGF0YSk7XG5cbiAgICAgIGZpZWxkcyA9IHVzZU5ld0ZpZWxkc1xuICAgICAgICA/IGFycm93U2NoZW1hVG9GaWVsZHMoYXJyb3dSZXN1bHQuc2NoZW1hKVxuICAgICAgICA6IGRhdGEuZmllbGRzID8/IGFycm93U2NoZW1hVG9GaWVsZHMoYXJyb3dSZXN1bHQuc2NoZW1hKTtcbiAgICAgIGNvbHMgPSBbLi4uQXJyYXkoYXJyb3dSZXN1bHQubnVtQ29scykua2V5cygpXVxuICAgICAgICAubWFwKGkgPT4gYXJyb3dSZXN1bHQuZ2V0Q2hpbGRBdChpKSlcbiAgICAgICAgLmZpbHRlcihjb2wgPT4gY29sKSBhcyBhcnJvdy5WZWN0b3JbXTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgLy8gS25vd24gaXNzdWVzOlxuICAgICAgLy8gMSkgU1RfQXNXS0IgYmluZGVyIGVycm9yLCBubyB0eXBlIG1hdGNoXG4gICAgICBjb25zb2xlLmVycm9yKCdEdWNrRGIgdGFibGU6IGJpbmFyeSBnZW9tZXRyeSBjb2x1bW4gdG8gd2tiJywgZXJyb3IpO1xuICAgIH1cblxuICAgIGF3YWl0IGMuY2xvc2UoKTtcblxuICAgIHJldHVybiB7ZmllbGRzLCBjb2xzfTtcbiAgfVxuXG4gIGFzeW5jIGltcG9ydERhdGEoe2RhdGF9OiB7ZGF0YTogUHJvY2Vzc29yUmVzdWx0fSk6IFByb21pc2U8dm9pZD4ge1xuICAgIC8vIFZlY3RvclRpbGUgaXMgYSBzcGVjaWFsIGNhc2UsIGlnbm9yZSBmb3Igbm93XG4gICAgaWYgKHRoaXMudHlwZSA9PT0gRGF0YXNldFR5cGUuVkVDVE9SX1RJTEUpIHtcbiAgICAgIHN1cGVyLmltcG9ydERhdGEoe2RhdGE6IHsuLi5kYXRhLCByb3dzOiBbXX19KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCB7ZmllbGRzLCBjb2xzfSA9IGF3YWl0IHRoaXMuY3JlYXRlVGFibGVBbmRHZXRBcnJvdyhkYXRhKTtcblxuICAgIHN1cGVyLmltcG9ydERhdGEoe2RhdGE6IHtmaWVsZHMsIGNvbHMsIHJvd3M6IFtdfX0pO1xuICB9XG5cbiAgYXN5bmMgdXBkYXRlKGRhdGEpIHtcbiAgICAvLyBWZWN0b3JUaWxlIGlzIGEgc3BlY2lhbCBjYXNlLCBpZ25vcmUgZm9yIG5vd1xuICAgIGlmICh0aGlzLnR5cGUgPT09IERhdGFzZXRUeXBlLlZFQ1RPUl9USUxFKSB7XG4gICAgICBzdXBlci5pbXBvcnREYXRhKHtkYXRhfSk7XG4gICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBjb25zdCB7Y29sc30gPSBhd2FpdCB0aGlzLmNyZWF0ZVRhYmxlQW5kR2V0QXJyb3coZGF0YSk7XG5cbiAgICByZXR1cm4gc3VwZXIudXBkYXRlKHtjb2xzLCByb3dzOiBbXSwgZmllbGRzOiBbXX0pO1xuICB9XG5cbiAgc3RhdGljIGdldEZpbGVQcm9jZXNzb3IgPSBmdW5jdGlvbiAoZGF0YTogYW55LCBpbnB1dEZvcm1hdD86IHN0cmluZykge1xuICAgIGxldCBwcm9jZXNzb3I7XG4gICAgbGV0IGZvcm1hdDtcbiAgICBpZiAoaW5wdXRGb3JtYXQgPT09IERBVEFTRVRfRk9STUFUUy5hcnJvdyB8fCBpc0Fycm93RGF0YShkYXRhKSkge1xuICAgICAgZm9ybWF0ID0gREFUQVNFVF9GT1JNQVRTLmFycm93O1xuICAgICAgLy8gVE9ETyBpbmplc3QgYXJyb3cgZmlsZXMgZnJvbSBkaXNrIHdpdGhvdXQgbG9hZGVyc1xuICAgICAgcHJvY2Vzc29yID0gcHJvY2Vzc0Fycm93QmF0Y2hlcztcbiAgICB9IGVsc2UgaWYgKGlucHV0Rm9ybWF0ID09PSBEQVRBU0VUX0ZPUk1BVFMua2VwbGVyZ2wgfHwgaXNLZXBsZXJHbE1hcChkYXRhKSkge1xuICAgICAgZm9ybWF0ID0gREFUQVNFVF9GT1JNQVRTLmtlcGxlcmdsO1xuICAgICAgcHJvY2Vzc29yID0gcHJvY2Vzc0tlcGxlcmdsSlNPTmZvckR1Y2tEYjtcbiAgICB9IGVsc2UgaWYgKGlucHV0Rm9ybWF0ID09PSBEQVRBU0VUX0ZPUk1BVFMucm93IHx8IGlzUm93T2JqZWN0KGRhdGEpKSB7XG4gICAgICAvLyBjc3YgZmlsZSBnb2VzIGhlcmVcbiAgICAgIGZvcm1hdCA9IERBVEFTRVRfRk9STUFUUy5yb3c7XG4gICAgICBwcm9jZXNzb3IgPSBwcm9jZXNzQ3N2Um93T2JqZWN0OyAvLyBkaXJlY3RseSBpbXBvcnQganNvbiBvYmplY3QgaW50byBkdWNrZGItd2FzbVxuICAgIH0gZWxzZSBpZiAoaW5wdXRGb3JtYXQgPT09IERBVEFTRVRfRk9STUFUUy5nZW9qc29uIHx8IGlzR2VvSnNvbihkYXRhKSkge1xuICAgICAgZm9ybWF0ID0gREFUQVNFVF9GT1JNQVRTLmdlb2pzb247XG4gICAgICBwcm9jZXNzb3IgPSBwcm9jZXNzR2VvanNvbjtcbiAgICB9XG4gICAgcmV0dXJuIHtwcm9jZXNzb3IsIGZvcm1hdH07XG4gIH07XG5cbiAgc3RhdGljIGdldElucHV0RGF0YVZhbGlkYXRvciA9IGZ1bmN0aW9uICgpIHtcbiAgICByZXR1cm4gZCA9PiBkO1xuICB9O1xufVxuXG4vKipcbiAqIFRyeSB0byByZXN0b3JlIGdlb2Fycm93IG1ldGFkYXRhIGxvc3QgZHVyaW5nIER1Y2tEYiBpbmdlc3Rpb24uXG4gKiBOb3RlIHRoYXQgdGhpcyBmdW5jdGlvbiBjYW4gZ2VuZXJhdGUgd3JvbmcgZ2VvbWV0cnkgdHlwZXMuXG4gKiBAcGFyYW0gYXJyb3dUYWJsZSBBcnJvdyB0YWJsZSB0byB1cGRhdGUuXG4gKiBAcGFyYW0gY2FuQ2FzdFNUX2FzV0tCIEEgbWFwIHdpdGggZmllbGRzIHRoYXQgYXJlIGxpa2VseSBpbiBEZWNrREIncyBpbnRlcm5hbCBXQksgZm9ybWF0LlxuICogQHBhcmFtIGFkZFdLQk1ldGFkYXRhIEEgbWFwIHdpdGggZmllbGQgbmFtZXMgdGhhdCB1c3VhbGx5IHVzZWQgdG8gc3RvcmUgV0tCIGdlb21ldHJ5LlxuICovXG5jb25zdCByZXN0b3JlR2VvYXJyb3dNZXRhZGF0YSA9IGFzeW5jIChcbiAgYXJyb3dUYWJsZTogYXJyb3cuVGFibGUsXG4gIGNhbkNhc3RTVF9hc1dLQjogUmVjb3JkPHN0cmluZywgYm9vbGVhbj4sXG4gIGFkZFdLQk1ldGFkYXRhOiBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPlxuKSA9PiB7XG4gIGFycm93VGFibGUuc2NoZW1hLmZpZWxkcy5mb3JFYWNoKGYgPT4ge1xuICAgIGlmIChhcnJvdy5EYXRhVHlwZS5pc0JpbmFyeShmLnR5cGUpICYmIChhZGRXS0JNZXRhZGF0YVtmLm5hbWVdIHx8IGNhbkNhc3RTVF9hc1dLQltmLm5hbWVdKSkge1xuICAgICAgZi5tZXRhZGF0YS5zZXQoJ0FSUk9XOmV4dGVuc2lvbjpuYW1lJywgJ2dlb2Fycm93LndrYicpO1xuICAgIH0gZWxzZSBpZiAoaXNHZW9BcnJvd1BvaW50KGYudHlwZSkpIHtcbiAgICAgIGYubWV0YWRhdGEuc2V0KCdBUlJPVzpleHRlbnNpb246bmFtZScsICdnZW9hcnJvdy5wb2ludCcpO1xuICAgIH0gZWxzZSBpZiAoaXNHZW9BcnJvd0xpbmVTdHJpbmcoZi50eXBlKSkge1xuICAgICAgZi5tZXRhZGF0YS5zZXQoJ0FSUk9XOmV4dGVuc2lvbjpuYW1lJywgJ2dlb2Fycm93LmxpbmVzdHJpbmcnKTtcbiAgICB9IGVsc2UgaWYgKGlzR2VvQXJyb3dQb2x5Z29uKGYudHlwZSkpIHtcbiAgICAgIGYubWV0YWRhdGEuc2V0KCdBUlJPVzpleHRlbnNpb246bmFtZScsICdnZW9hcnJvdy5wb2x5Z29uJyk7XG4gICAgfSBlbHNlIGlmIChpc0dlb0Fycm93TXVsdGlQb2ludChmLnR5cGUpKSB7XG4gICAgICBmLm1ldGFkYXRhLnNldCgnQVJST1c6ZXh0ZW5zaW9uOm5hbWUnLCAnZ2VvYXJyb3cubXVsdGlwb2ludCcpO1xuICAgIH0gZWxzZSBpZiAoaXNHZW9BcnJvd011bHRpTGluZVN0cmluZyhmLnR5cGUpKSB7XG4gICAgICBmLm1ldGFkYXRhLnNldCgnQVJST1c6ZXh0ZW5zaW9uOm5hbWUnLCAnZ2VvYXJyb3cubXVsdGlsaW5lc3RyaW5nJyk7XG4gICAgfSBlbHNlIGlmIChpc0dlb0Fycm93TXVsdGlQb2x5Z29uKGYudHlwZSkpIHtcbiAgICAgIGYubWV0YWRhdGEuc2V0KCdBUlJPVzpleHRlbnNpb246bmFtZScsICdnZW9hcnJvdy5tdWx0aXBvbHlnb24nKTtcbiAgICB9XG4gIH0pO1xufTtcblxuLyoqXG4gKiBGb3IgYWxsIGJpbmFyeSBjb2x1bW5zIHRyaWVzIHRvIHRyYW5zZm9ybSBnZW9tZXRyeSBmcm9tIER1Y2tEQidzIGludGVybmFsIGZvcm1hdCBpbnRvIHByb3BlciBXS0IuXG4gKiBAcGFyYW0gcHJvcHNcbiAqIEByZXR1cm5zIEEgbWFwIG9mIGZpZWxkcyB0aGF0IHNob3VsZCBiZSB0cmFuc2Zvcm1lZCB0byB2YWxpZCBXS0IuXG4gKi9cbmNvbnN0IHRyeVNUX0FzV0tCID0gYXN5bmMgKHByb3BzOiB7dGFibGVOYW1lOiBzdHJpbmc7IGM6IEFzeW5jRHVja0RCQ29ubmVjdGlvbn0pID0+IHtcbiAgY29uc3Qge2MsIHRhYmxlTmFtZX0gPSBwcm9wcztcblxuICBjb25zdCByZXN1bHRXaXRoU2NoZW1hID0gYXdhaXQgYy5xdWVyeShgXG4gICAgICAgIFNFTEVDVCAqIEZST00gJyR7dGFibGVOYW1lfScgTElNSVQgMDtcbiAgICAgIGApO1xuICBjb25zdCBiaW5hcnlDb2x1bW5zID0gcmVzdWx0V2l0aFNjaGVtYS5zY2hlbWEuZmllbGRzLmZpbHRlcihmID0+IGFycm93LkRhdGFUeXBlLmlzQmluYXJ5KGYudHlwZSkpO1xuXG4gIGNvbnN0IGNhbkNhc3RTVF9hc1dLQjogUmVjb3JkPHN0cmluZywgYm9vbGVhbj4gPSB7fTtcbiAgZm9yIChjb25zdCBjb2x1bW4gb2YgYmluYXJ5Q29sdW1ucykge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBjb2x1bW5OYW1lID0gY29sdW1uLm5hbWU7XG4gICAgICBjb25zdCBxdWVyeSA9IGBTRUxFQ1QgKiBFWENMVURFICR7Y29sdW1uTmFtZX0sIFNUX0FzV0tCKCR7Y29sdW1uTmFtZX0pIGFzICR7Y29sdW1uTmFtZX0gRlJPTSAnJHt0YWJsZU5hbWV9JyBMSU1JVCAxO2A7XG4gICAgICBhd2FpdCBjLnF1ZXJ5KHF1ZXJ5KTtcblxuICAgICAgY2FuQ2FzdFNUX2FzV0tCW2NvbHVtbi5uYW1lXSA9IHRydWU7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNhbkNhc3RTVF9hc1dLQltjb2x1bW4ubmFtZV0gPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gY2FuQ2FzdFNUX2FzV0tCO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUdBLElBQUFBLEtBQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUdBLElBQUFDLFVBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLE1BQUEsR0FBQUYsT0FBQTtBQUVBLElBQUFHLFdBQUEsR0FBQUgsT0FBQTtBQVNBLElBQUFJLEtBQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLGNBQUEsR0FBQUwsT0FBQTtBQU9BLElBQUFNLGlCQUFBLEdBQUFOLE9BQUE7QUFPOEIsU0FBQU8seUJBQUFDLENBQUEsNkJBQUFDLE9BQUEsbUJBQUFDLENBQUEsT0FBQUQsT0FBQSxJQUFBRSxDQUFBLE9BQUFGLE9BQUEs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
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kepler.gl/duckdb",
|
|
3
3
|
"author": "Shan He <heshan0131@gmail.com>",
|
|
4
|
-
"version": "3.1.0-alpha.
|
|
4
|
+
"version": "3.1.0-alpha.7",
|
|
5
5
|
"description": "DuckDB plugin for Kepler.gl",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"main": "dist/index.js",
|
|
@@ -26,11 +26,11 @@
|
|
|
26
26
|
],
|
|
27
27
|
"dependencies": {
|
|
28
28
|
"@duckdb/duckdb-wasm": "^1.28.0",
|
|
29
|
-
"@kepler.gl/common-utils": "3.1.0-alpha.
|
|
30
|
-
"@kepler.gl/constants": "3.1.0-alpha.
|
|
31
|
-
"@kepler.gl/processors": "3.1.0-alpha.
|
|
32
|
-
"@kepler.gl/table": "3.1.0-alpha.
|
|
33
|
-
"@kepler.gl/types": "3.1.0-alpha.
|
|
29
|
+
"@kepler.gl/common-utils": "3.1.0-alpha.7",
|
|
30
|
+
"@kepler.gl/constants": "3.1.0-alpha.7",
|
|
31
|
+
"@kepler.gl/processors": "3.1.0-alpha.7",
|
|
32
|
+
"@kepler.gl/table": "3.1.0-alpha.7",
|
|
33
|
+
"@kepler.gl/types": "3.1.0-alpha.7",
|
|
34
34
|
"@monaco-editor/react": "^4.6.0",
|
|
35
35
|
"@radix-ui/react-collapsible": "^1.1.0",
|
|
36
36
|
"apache-arrow": ">=15.0.0",
|