{"version":3,"file":"discourse-data-explorer.js","names":["define","_exports","_buildPlugin","Object","defineProperty","value","default","extend","_component","_templateOnly","_templateFactory","__COLOCATED_TEMPLATE__","createTemplateFactory","id","block","moduleName","isStrictMode","setComponentTemplate","_component2","_object","_loadScript","_decorators","_themeColor","_class","_defineProperty","obj","key","i","t","r","e","Symbol","toPrimitive","call","TypeError","String","Number","_toPrimitive","enumerable","configurable","writable","_applyDecoratedDescriptor","target","property","decorators","descriptor","context","desc","keys","forEach","initializer","slice","reverse","reduce","decorator","undefined","DataExplorerBarChart","constructor","super","arguments","this","config","type","data","options","labels","args","datasets","label","datasetName","values","backgroundColor","barsColor","hoverBackgroundColor","barsHoverColor","scales","legend","fontColor","labelsColor","xAxes","gridLines","color","gridColor","zeroLineColor","ticks","yAxes","beginAtZero","initChart","canvas","getContext","chart","Chart","updateChartData","update","willDestroy","destroy","prototype","bind","getOwnPropertyDescriptor","action","_tracking","_utils","_dec","_descriptor","_descriptor2","_descriptor3","_initializerDefineProperty","ExplorerSchema","debounce","transformedSchema","schema","hasOwnProperty","col","notes_components","primary","push","is_nullable","column_default","fkey_info","denormal","notes","join","enum","column_desc","havepopup","havetypeinfo","filteredTables","tables","filter","isBlank","RegExp","haveFilter","source","unshift","name","columns","open","test","filterCols","column_name","isEmpty","updateFilter","loading","filterChanged","collapseSchema","hideSchema","updateHideSchema","expandSchema","tracked","EnumInfo","enuminfo","entries","map","_ref","OneTable","styles","toggleOpen","table","_template","_dModal","_i18n","QueryHelp","scope","htmlSafe","_service","_string","_category","_I18n","_descriptor4","layoutMap","int","bigint","boolean","string","time","date","datetime","double","user_id","post_id","topic_id","category_id","group_id","badge_id","int_list","string_list","user_list","group_list","ParamInput","identifier","info","initialValues","initialValue","nullable","nullableBoolValue","updateParams","boolValue","dasherizeCategoryId","defaultValue","input","document","createElement","attributes","allowsInputTypeTime","valid","intVal","parseInt","intValid","isNaN","isPositiveInt","parseFloat","split","every","trim","site","categories","find","c","match","exec","findBySlug","dasherize","groups","get","g","allGroups","updateValue","length","toString","updateBoolValue","checked","updateNullableBoolValue","updateGroupValue","inject","_runloop","_ajax","_badge","_getUrl","_badge2","_category2","_group","_html","_json","_post","_reltime","_text","_topic","_url","_user","VIEW_COMPONENTS","topic","text","post","reltime","badge","url","user","group","html","json","category","QueryResult","colRender","content","colrender","rows","params","explainText","explain","chartDatasetName","columnNames","colName","endsWith","dIdx","indexOf","substring","columnComponents","_","idx","component","chartValues","mapBy","colCount","resultCount","count","result_count","default_limit","duration","toNumber","precision","parameterAry","arr","transformedUserTable","transformedRelTable","relations","transformedBadgeTable","transformedPostTable","transformedTopicTable","transformedGroupTable","canShowChart","hasTwoColumns","secondColumnContainsNumber","secondColumnContainsId","chartLabels","labelSelectors","username","title","relationName","lookupFunc","capitalize","labelSelector","relation","_cutChartLabel","lookupUser","lookupBadge","lookupPost","lookupTopic","lookupGroup","lookupCategory","findById","labelString","downloadResultJson","_downloadResult","downloadResultCsv","showChart","chartDisplayed","hideChart","_download_url","format","windowName","replace","Math","random","window","btoa","form","addInput","field","setAttribute","appendChild","query","JSON","stringify","ajax","then","csrf","body","submit","schedule","removeChild","modelClass","result","item","create","_utilities","QueryRowContent","results","row","ctx","baseuri","textValue","escapeExpression","dest","guessUrl","cached","_iconLibrary","Badge","iconOrImageReplacement","icon","iconHTML","convertIconClass","_categoryLink","Category","categoryBadgeReplacement","categoryLinkHTML","allowUncategorized","_fullscreenCode","Json","parsedJson","parse","viewJson","modal","show","model","code","codeClasses","_formatter","Reltime","boundDateReplacement","autoUpdatingRelativeAge","Date","ShareReport","link","mouseDownHandler","element","contains","close","keyDownHandler","keyCode","registerListeners","isDestroying","isDestroyed","addEventListener","unregisterListeners","removeEventListener","focusInput","select","focus","preventDefault","visible","shouldRender","has_visible_data_explorer_queries","_controller","_rsvp","_ajaxError","_queryHelp","_query","_descriptor5","_descriptor6","_descriptor7","_descriptor8","_descriptor9","_descriptor10","_descriptor11","_descriptor12","_descriptor13","_descriptor14","_descriptor15","_descriptor16","_descriptor17","_descriptor18","NoQuery","fake","group_ids","selectedQueryId","validQueryPresent","selectedItem","saveDisabled","dirty","runDisabled","sortedQueries","sortBy","sortByProperty","sortDescending","parsedParams","filteredContent","regexp","search","description","createDisabled","newQueryName","findBy","editDisabled","groupOptions","othersDirty","q","addCreatedRecord","record","pushObject","setProperties","showResults","editingName","editingQuery","save","error","popupAjaxError","saveAndRun","run","_importQuery","file","_readFileAsTextAsync","_parseQuery","store","createRecord","sql","Promise","resolve","reject","reader","FileReader","onload","onerror","readAsText","dragMove","movementY","movementX","editPane","querySelector","grippie","initialPaneWidth","originalPaneHeight","originalPaneWidth","clientWidth","clientHeight","newHeight","max","newWidth","style","height","width","appEvents","trigger","didStartDrag","didEndDrag","scrollTop","scrollTo","updateGroupIds","set","import","files","jqXHR","SyntaxError","dialog","alert","console","displayCreate","showCreate","editName","editQuery","download","downloadUrl","goHome","order","router","transitionTo","queryParams","showHelpModal","resetParams","updateSortProperty","discard","getProperties","updatePropertyNames","Array","isArray","destroyQuery","destroyRecord","recover","updateSearch","updateNewQueryName","setDirty","exitEdit","success","catch","err","status","responseJSON","finally","GroupReportsIndexController","_bookmark","_bookmark2","_bookmark3","hasParams","param_info","bookmarkLabel","queryGroupBookmark","bookmarkIcon","reminder_at","WITH_REMINDER_ICON","NO_REMINDER_ICON","bookmarkClassName","response","toggleBookmark","modalBookmark","bookmarkable_type","bookmarkable_id","queryGroup","currentUser","bookmark","BookmarkFormData","afterSave","savedData","attachedTo","afterDelete","resource","path","route","initialize","container","lookup","addPluralization","getComputedStyle","getPropertyValue","_rest","Query","newParams","oldParams","pinfo","updateProperties","props","destroyed","createProperties","_discourse","AdminPluginsExplorer","admin","disallow","groupPromise","schemaPromise","cache","queryPromise","findAll","groupNames","setupController","controller","modelFor","queries","afterModel","query_id","query_group","acc","param","assign","_deprecationsHelper"],"sources":["discourse/plugins/discourse-data-explorer/admin/adapters/query.js","discourse/plugins/discourse-data-explorer/discourse/components/code-view.js","discourse/plugins/discourse-data-explorer/discourse/components/data-explorer-bar-chart.js","discourse/plugins/discourse-data-explorer/discourse/components/explorer-schema.js","discourse/plugins/discourse-data-explorer/discourse/components/explorer-schema/enum-info.js","discourse/plugins/discourse-data-explorer/discourse/components/explorer-schema/one-table.js","discourse/plugins/discourse-data-explorer/discourse/components/modal/query-help.js","discourse/plugins/discourse-data-explorer/discourse/components/param-input.js","discourse/plugins/discourse-data-explorer/discourse/components/param-inputs-wrapper.js","discourse/plugins/discourse-data-explorer/discourse/components/query-result.js","discourse/plugins/discourse-data-explorer/discourse/components/query-results-wrapper.js","discourse/plugins/discourse-data-explorer/discourse/components/query-row-content.js","discourse/plugins/discourse-data-explorer/discourse/components/result-types/badge.js","discourse/plugins/discourse-data-explorer/discourse/components/result-types/category.js","discourse/plugins/discourse-data-explorer/discourse/components/result-types/group.js","discourse/plugins/discourse-data-explorer/discourse/components/result-types/html.js","discourse/plugins/discourse-data-explorer/discourse/components/result-types/json.js","discourse/plugins/discourse-data-explorer/discourse/components/result-types/post.js","discourse/plugins/discourse-data-explorer/discourse/components/result-types/reltime.js","discourse/plugins/discourse-data-explorer/discourse/components/result-types/text.js","discourse/plugins/discourse-data-explorer/discourse/components/result-types/topic.js","discourse/plugins/discourse-data-explorer/discourse/components/result-types/url.js","discourse/plugins/discourse-data-explorer/discourse/components/result-types/user.js","discourse/plugins/discourse-data-explorer/discourse/components/share-report.js","discourse/plugins/discourse-data-explorer/discourse/connectors/group-reports-nav-item/nav-item.js","discourse/plugins/discourse-data-explorer/discourse/controllers/admin-plugins-explorer.js","discourse/plugins/discourse-data-explorer/discourse/controllers/group-reports-index.js","discourse/plugins/discourse-data-explorer/discourse/controllers/group-reports-show.js","discourse/plugins/discourse-data-explorer/discourse/explorer-route-map.js","discourse/plugins/discourse-data-explorer/discourse/group-reports-route-map.js","discourse/plugins/discourse-data-explorer/discourse/initializers/initialize-data-explorer.js","discourse/plugins/discourse-data-explorer/discourse/lib/themeColor.js","discourse/plugins/discourse-data-explorer/discourse/models/query.js","discourse/plugins/discourse-data-explorer/discourse/routes/admin-plugins-explorer.js","discourse/plugins/discourse-data-explorer/discourse/routes/group-reports-index.js","discourse/plugins/discourse-data-explorer/discourse/routes/group-reports-show.js","discourse/plugins/discourse-data-explorer/discourse/templates/admin/plugins-explorer.js","discourse/plugins/discourse-data-explorer/discourse/templates/connectors/group-reports-nav-item/nav-item.js","discourse/plugins/discourse-data-explorer/discourse/templates/group-reports-index.js","discourse/plugins/discourse-data-explorer/discourse/templates/group-reports-show.js"],"sourcesContent":["define(\"discourse/plugins/discourse-data-explorer/admin/adapters/query\", [\"exports\", \"admin/adapters/build-plugin\"], function (_exports, _buildPlugin) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = (0, _buildPlugin.default)(\"explorer\").extend({});\n});","define(\"discourse/plugins/discourse-data-explorer/discourse/components/code-view\", [\"exports\", \"@ember/component\", \"@ember/component/template-only\", \"@ember/template-factory\"], function (_exports, _component, _templateOnly, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  const __COLOCATED_TEMPLATE__ = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <pre><code class={{@codeClass}}>{{@value}}</code></pre>\n  */\n  {\n    \"id\": \"wTTbT+uR\",\n    \"block\": \"[[[10,\\\"pre\\\"],[12],[10,\\\"code\\\"],[15,0,[30,1]],[12],[1,[30,2]],[13],[13]],[\\\"@codeClass\\\",\\\"@value\\\"],false,[]]\",\n    \"moduleName\": \"discourse/plugins/discourse-data-explorer/discourse/components/code-view.hbs\",\n    \"isStrictMode\": false\n  });\n  var _default = _exports.default = (0, _component.setComponentTemplate)(__COLOCATED_TEMPLATE__, (0, _templateOnly.default)());\n});","define(\"discourse/plugins/discourse-data-explorer/discourse/components/data-explorer-bar-chart\", [\"exports\", \"@ember/component\", \"@glimmer/component\", \"@ember/object\", \"discourse/lib/load-script\", \"discourse-common/utils/decorators\", \"discourse/plugins/discourse-data-explorer/discourse/lib/themeColor\", \"@ember/template-factory\"], function (_exports, _component, _component2, _object, _loadScript, _decorators, _themeColor, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _class;\n  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n  function _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == typeof i ? i : i + \"\"; }\n  function _toPrimitive(t, r) { if (\"object\" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != typeof i) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\n  function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object.keys(descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object.defineProperty(target, property, desc); desc = null; } return desc; }\n  const __COLOCATED_TEMPLATE__ = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <canvas\n    {{did-insert this.initChart}}\n    {{on \"change\" this.updateChartData}}\n  ></canvas>\n  */\n  {\n    \"id\": \"rMRjbU49\",\n    \"block\": \"[[[11,\\\"canvas\\\"],[4,[38,0],[[30,0,[\\\"initChart\\\"]]],null],[4,[38,1],[\\\"change\\\",[30,0,[\\\"updateChartData\\\"]]],null],[12],[13]],[],false,[\\\"did-insert\\\",\\\"on\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-data-explorer/discourse/components/data-explorer-bar-chart.hbs\",\n    \"isStrictMode\": false\n  });\n  let DataExplorerBarChart = _exports.default = (_class = class DataExplorerBarChart extends _component2.default {\n    constructor() {\n      super(...arguments);\n      _defineProperty(this, \"chart\", void 0);\n      _defineProperty(this, \"barsColor\", (0, _themeColor.default)(\"--tertiary\"));\n      _defineProperty(this, \"barsHoverColor\", (0, _themeColor.default)(\"--tertiary-high\"));\n      _defineProperty(this, \"gridColor\", (0, _themeColor.default)(\"--primary-low\"));\n      _defineProperty(this, \"labelsColor\", (0, _themeColor.default)(\"--primary-medium\"));\n    }\n    get config() {\n      const data = this.data;\n      const options = this.options;\n      return {\n        type: \"bar\",\n        data,\n        options\n      };\n    }\n    get data() {\n      const labels = this.args.labels;\n      return {\n        labels,\n        datasets: [{\n          label: this.args.datasetName,\n          data: this.args.values,\n          backgroundColor: this.barsColor,\n          hoverBackgroundColor: this.barsHoverColor\n        }]\n      };\n    }\n    get options() {\n      return {\n        scales: {\n          legend: {\n            labels: {\n              fontColor: this.labelsColor\n            }\n          },\n          xAxes: [{\n            gridLines: {\n              color: this.gridColor,\n              zeroLineColor: this.gridColor\n            },\n            ticks: {\n              fontColor: this.labelsColor\n            }\n          }],\n          yAxes: [{\n            gridLines: {\n              color: this.gridColor,\n              zeroLineColor: this.gridColor\n            },\n            ticks: {\n              beginAtZero: true,\n              fontColor: this.labelsColor\n            }\n          }]\n        }\n      };\n    }\n    async initChart(canvas) {\n      await (0, _loadScript.default)(\"/javascripts/Chart.min.js\");\n      const context = canvas.getContext(\"2d\");\n      // eslint-disable-next-line\n      this.chart = new Chart(context, this.config);\n    }\n    updateChartData() {\n      this.chart.data = this.data;\n      this.chart.update();\n    }\n    willDestroy() {\n      super.willDestroy(...arguments);\n      this.chart.destroy();\n    }\n  }, (_applyDecoratedDescriptor(_class.prototype, \"initChart\", [_decorators.bind], Object.getOwnPropertyDescriptor(_class.prototype, \"initChart\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"updateChartData\", [_object.action], Object.getOwnPropertyDescriptor(_class.prototype, \"updateChartData\"), _class.prototype)), _class);\n  (0, _component.setComponentTemplate)(__COLOCATED_TEMPLATE__, DataExplorerBarChart);\n});","define(\"discourse/plugins/discourse-data-explorer/discourse/components/explorer-schema\", [\"exports\", \"@ember/component\", \"@glimmer/component\", \"@glimmer/tracking\", \"@ember/object\", \"@ember/utils\", \"discourse-common/utils/decorators\", \"@ember/template-factory\"], function (_exports, _component, _component2, _tracking, _object, _utils, _decorators, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _dec, _class, _descriptor, _descriptor2, _descriptor3;\n  function _initializerDefineProperty(target, property, descriptor, context) { if (!descriptor) return; Object.defineProperty(target, property, { enumerable: descriptor.enumerable, configurable: descriptor.configurable, writable: descriptor.writable, value: descriptor.initializer ? descriptor.initializer.call(context) : void 0 }); }\n  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n  function _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == typeof i ? i : i + \"\"; }\n  function _toPrimitive(t, r) { if (\"object\" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != typeof i) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\n  function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object.keys(descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object.defineProperty(target, property, desc); desc = null; } return desc; }\n  function _initializerWarningHelper(descriptor, context) { throw new Error('Decorating class property failed. Please ensure that ' + 'transform-class-properties is enabled and runs after the decorators transform.'); }\n  const __COLOCATED_TEMPLATE__ = (0, _templateFactory.createTemplateFactory)(\n  /*\n    {{#if this.hideSchema}}\n    <DButton\n      @action={{this.expandSchema}}\n      @icon=\"chevron-left\"\n      class=\"no-text unhide\"\n    />\n  {{else}}\n    <div class=\"schema\">\n      <div class=\"schema-search inline-form full-width\">\n        <input\n          type=\"text\"\n          {{on \"input\" (action \"filterChanged\" value=\"target.value\")}}\n        />\n        <DButton\n          @action={{this.collapseSchema}}\n          @icon=\"chevron-right\"\n          class=\"no-text\"\n        />\n      </div>\n  \n      <div class=\"schema-container\">\n        <ConditionalLoadingSpinner @condition={{this.loading}}>\n          <ul>\n            {{#each this.filteredTables as |table|}}\n              <ExplorerSchema::OneTable @table={{table}} />\n            {{/each}}\n          </ul>\n        </ConditionalLoadingSpinner>\n      </div>\n    </div>\n  {{/if}}\n  */\n  {\n    \"id\": \"q90m2Gd1\",\n    \"block\": \"[[[41,[30,0,[\\\"hideSchema\\\"]],[[[1,\\\"  \\\"],[8,[39,1],[[24,0,\\\"no-text unhide\\\"]],[[\\\"@action\\\",\\\"@icon\\\"],[[30,0,[\\\"expandSchema\\\"]],\\\"chevron-left\\\"]],null],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\"  \\\"],[10,0],[14,0,\\\"schema\\\"],[12],[1,\\\"\\\\n    \\\"],[10,0],[14,0,\\\"schema-search inline-form full-width\\\"],[12],[1,\\\"\\\\n      \\\"],[11,\\\"input\\\"],[24,4,\\\"text\\\"],[4,[38,2],[\\\"input\\\",[28,[37,3],[[30,0],\\\"filterChanged\\\"],[[\\\"value\\\"],[\\\"target.value\\\"]]]],null],[12],[13],[1,\\\"\\\\n      \\\"],[8,[39,1],[[24,0,\\\"no-text\\\"]],[[\\\"@action\\\",\\\"@icon\\\"],[[30,0,[\\\"collapseSchema\\\"]],\\\"chevron-right\\\"]],null],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\\n    \\\"],[10,0],[14,0,\\\"schema-container\\\"],[12],[1,\\\"\\\\n      \\\"],[8,[39,4],null,[[\\\"@condition\\\"],[[30,0,[\\\"loading\\\"]]]],[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[10,\\\"ul\\\"],[12],[1,\\\"\\\\n\\\"],[42,[28,[37,6],[[28,[37,6],[[30,0,[\\\"filteredTables\\\"]]],null]],null],null,[[[1,\\\"            \\\"],[8,[39,7],null,[[\\\"@table\\\"],[[30,1]]],null],[1,\\\"\\\\n\\\"]],[1]],null],[1,\\\"        \\\"],[13],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n  \\\"],[13],[1,\\\"\\\\n\\\"]],[]]]],[\\\"table\\\"],false,[\\\"if\\\",\\\"d-button\\\",\\\"on\\\",\\\"action\\\",\\\"conditional-loading-spinner\\\",\\\"each\\\",\\\"-track-array\\\",\\\"explorer-schema/one-table\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-data-explorer/discourse/components/explorer-schema.hbs\",\n    \"isStrictMode\": false\n  });\n  let ExplorerSchema = _exports.default = (_dec = (0, _decorators.debounce)(500), (_class = class ExplorerSchema extends _component2.default {\n    constructor() {\n      super(...arguments);\n      _initializerDefineProperty(this, \"filter\", _descriptor, this);\n      _initializerDefineProperty(this, \"loading\", _descriptor2, this);\n      _initializerDefineProperty(this, \"hideSchema\", _descriptor3, this);\n    }\n    get transformedSchema() {\n      const schema = this.args.schema;\n      for (const key in schema) {\n        if (!schema.hasOwnProperty(key)) {\n          continue;\n        }\n        schema[key].forEach(col => {\n          const notes_components = [];\n          if (col.primary) {\n            notes_components.push(\"primary key\");\n          }\n          if (col.is_nullable) {\n            notes_components.push(\"null\");\n          }\n          if (col.column_default) {\n            notes_components.push(\"default \" + col.column_default);\n          }\n          if (col.fkey_info) {\n            notes_components.push(\"fkey \" + col.fkey_info);\n          }\n          if (col.denormal) {\n            notes_components.push(\"denormal \" + col.denormal);\n          }\n          const notes = notes_components.join(\", \");\n          if (notes) {\n            col.notes = notes;\n          }\n          if (col.enum || col.column_desc) {\n            col.havepopup = true;\n          }\n          col.havetypeinfo = !!(col.notes || col.enum || col.column_desc);\n        });\n      }\n      return schema;\n    }\n    get filteredTables() {\n      let tables = [];\n      let filter = this.filter;\n      try {\n        if (!(0, _utils.isBlank)(this.filter)) {\n          filter = new RegExp(this.filter);\n        }\n      } catch {\n        filter = null;\n      }\n      const haveFilter = !!filter;\n      for (const key in this.transformedSchema) {\n        if (!this.transformedSchema.hasOwnProperty(key)) {\n          continue;\n        }\n        if (!haveFilter) {\n          tables.push({\n            name: key,\n            columns: this.transformedSchema[key],\n            open: false\n          });\n          continue;\n        }\n\n        // Check the table name vs the filter\n        if (filter.source === key || filter.source + \"s\" === key) {\n          tables.unshift({\n            name: key,\n            columns: this.transformedSchema[key],\n            open: haveFilter\n          });\n        } else if (filter.test(key)) {\n          // whole table matches\n          tables.push({\n            name: key,\n            columns: this.transformedSchema[key],\n            open: haveFilter\n          });\n        } else {\n          // filter the columns\n          let filterCols = [];\n          this.transformedSchema[key].forEach(col => {\n            if (filter.source === col.column_name) {\n              filterCols.unshift(col);\n            } else if (filter.test(col.column_name)) {\n              filterCols.push(col);\n            }\n          });\n          if (!(0, _utils.isEmpty)(filterCols)) {\n            tables.push({\n              name: key,\n              columns: filterCols,\n              open: haveFilter\n            });\n          }\n        }\n      }\n      return tables;\n    }\n    updateFilter(value) {\n      this.filter = value;\n      this.loading = false;\n    }\n    filterChanged(value) {\n      this.loading = true;\n      this.updateFilter(value);\n    }\n    collapseSchema() {\n      this.hideSchema = true;\n      this.args.updateHideSchema(true);\n    }\n    expandSchema() {\n      this.hideSchema = false;\n      this.args.updateHideSchema(false);\n    }\n  }, (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"filter\", [_tracking.tracked], {\n    configurable: true,\n    enumerable: true,\n    writable: true,\n    initializer: null\n  }), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, \"loading\", [_tracking.tracked], {\n    configurable: true,\n    enumerable: true,\n    writable: true,\n    initializer: null\n  }), _descriptor3 = _applyDecoratedDescriptor(_class.prototype, \"hideSchema\", [_tracking.tracked], {\n    configurable: true,\n    enumerable: true,\n    writable: true,\n    initializer: function () {\n      return this.args.hideSchema;\n    }\n  }), _applyDecoratedDescriptor(_class.prototype, \"updateFilter\", [_dec], Object.getOwnPropertyDescriptor(_class.prototype, \"updateFilter\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"filterChanged\", [_object.action], Object.getOwnPropertyDescriptor(_class.prototype, \"filterChanged\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"collapseSchema\", [_object.action], Object.getOwnPropertyDescriptor(_class.prototype, \"collapseSchema\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"expandSchema\", [_object.action], Object.getOwnPropertyDescriptor(_class.prototype, \"expandSchema\"), _class.prototype)), _class));\n  (0, _component.setComponentTemplate)(__COLOCATED_TEMPLATE__, ExplorerSchema);\n});","define(\"discourse/plugins/discourse-data-explorer/discourse/components/explorer-schema/enum-info\", [\"exports\", \"@ember/component\", \"@glimmer/component\", \"@ember/template-factory\"], function (_exports, _component, _component2, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  const __COLOCATED_TEMPLATE__ = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <ol>\n    {{#each this.enuminfo as |enum|}}\n      <li value={{enum.value}}>\n        {{enum.name}}\n      </li>\n    {{/each}}\n  </ol>\n  */\n  {\n    \"id\": \"M3PtpU/P\",\n    \"block\": \"[[[10,\\\"ol\\\"],[12],[1,\\\"\\\\n\\\"],[42,[28,[37,1],[[28,[37,1],[[30,0,[\\\"enuminfo\\\"]]],null]],null],null,[[[1,\\\"    \\\"],[10,\\\"li\\\"],[15,2,[30,1,[\\\"value\\\"]]],[12],[1,\\\"\\\\n      \\\"],[1,[30,1,[\\\"name\\\"]]],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\"]],[1]],null],[13]],[\\\"enum\\\"],false,[\\\"each\\\",\\\"-track-array\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-data-explorer/discourse/components/explorer-schema/enum-info.hbs\",\n    \"isStrictMode\": false\n  });\n  class EnumInfo extends _component2.default {\n    get enuminfo() {\n      return Object.entries(this.args.col.enum).map(_ref => {\n        let [value, name] = _ref;\n        return {\n          value,\n          name\n        };\n      });\n    }\n  }\n  _exports.default = EnumInfo;\n  (0, _component.setComponentTemplate)(__COLOCATED_TEMPLATE__, EnumInfo);\n});","define(\"discourse/plugins/discourse-data-explorer/discourse/components/explorer-schema/one-table\", [\"exports\", \"@ember/component\", \"@glimmer/component\", \"@glimmer/tracking\", \"discourse-common/utils/decorators\", \"@ember/template-factory\"], function (_exports, _component, _component2, _tracking, _decorators, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _class, _descriptor;\n  function _initializerDefineProperty(target, property, descriptor, context) { if (!descriptor) return; Object.defineProperty(target, property, { enumerable: descriptor.enumerable, configurable: descriptor.configurable, writable: descriptor.writable, value: descriptor.initializer ? descriptor.initializer.call(context) : void 0 }); }\n  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n  function _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == typeof i ? i : i + \"\"; }\n  function _toPrimitive(t, r) { if (\"object\" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != typeof i) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\n  function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object.keys(descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object.defineProperty(target, property, desc); desc = null; } return desc; }\n  function _initializerWarningHelper(descriptor, context) { throw new Error('Decorating class property failed. Please ensure that ' + 'transform-class-properties is enabled and runs after the decorators transform.'); }\n  const __COLOCATED_TEMPLATE__ = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <li class=\"schema-table {{this.styles}}\">\n    {{! template-lint-enable no-invalid-interactive }}\n    <div class=\"schema-table-name\" role=\"button\" {{on \"click\" this.toggleOpen}}>\n      {{#if this.open}}\n        {{d-icon \"caret-down\"}}\n      {{else}}\n        {{d-icon \"caret-right\"}}\n      {{/if}}\n      {{@table.name}}\n    </div>\n  \n    <div class=\"schema-table-cols\">\n      {{#if this.open}}\n        <dl>\n          {{#each @table.columns as |col|}}\n            <div>\n              <dt\n                class={{if col.sensitive \"sensitive\"}}\n                title={{if col.sensitive (i18n \"explorer.schema.sensitive\")}}\n              >\n                {{#if col.sensitive}}\n                  {{d-icon \"exclamation-triangle\"}}\n                {{/if}}\n                {{col.column_name}}\n              </dt>\n              <dd>\n                {{col.data_type}}\n                {{#if col.havetypeinfo}}\n                  <br />\n                  {{#if col.havepopup}}\n                    <div class=\"popup-info\">\n                      {{d-icon \"info\"}}\n                      <div class=\"popup\">\n                        {{col.column_desc}}\n                        {{#if col.enum}}\n                          <ExplorerSchema::EnumInfo @col={{col}} />\n                        {{/if}}\n                      </div>\n                    </div>\n                  {{/if}}\n                  <span class=\"schema-typenotes\">\n                    {{col.notes}}\n                  </span>\n                {{/if}}\n              </dd>\n            </div>\n          {{/each}}\n        </dl>\n      {{/if}}\n    </div>\n  </li>\n  */\n  {\n    \"id\": \"11mZj1Fa\",\n    \"block\": \"[[[10,\\\"li\\\"],[15,0,[29,[\\\"schema-table \\\",[30,0,[\\\"styles\\\"]]]]],[12],[1,\\\"\\\\n\\\"],[1,\\\"  \\\"],[11,0],[24,0,\\\"schema-table-name\\\"],[24,\\\"role\\\",\\\"button\\\"],[4,[38,0],[\\\"click\\\",[30,0,[\\\"toggleOpen\\\"]]],null],[12],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"open\\\"]],[[[1,\\\"      \\\"],[1,[28,[35,2],[\\\"caret-down\\\"],null]],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\"      \\\"],[1,[28,[35,2],[\\\"caret-right\\\"],null]],[1,\\\"\\\\n\\\"]],[]]],[1,\\\"    \\\"],[1,[30,1,[\\\"name\\\"]]],[1,\\\"\\\\n  \\\"],[13],[1,\\\"\\\\n\\\\n  \\\"],[10,0],[14,0,\\\"schema-table-cols\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"open\\\"]],[[[1,\\\"      \\\"],[10,\\\"dl\\\"],[12],[1,\\\"\\\\n\\\"],[42,[28,[37,4],[[28,[37,4],[[30,1,[\\\"columns\\\"]]],null]],null],null,[[[1,\\\"          \\\"],[10,0],[12],[1,\\\"\\\\n            \\\"],[10,\\\"dt\\\"],[15,0,[52,[30,2,[\\\"sensitive\\\"]],\\\"sensitive\\\"]],[15,\\\"title\\\",[52,[30,2,[\\\"sensitive\\\"]],[28,[37,5],[\\\"explorer.schema.sensitive\\\"],null]]],[12],[1,\\\"\\\\n\\\"],[41,[30,2,[\\\"sensitive\\\"]],[[[1,\\\"                \\\"],[1,[28,[35,2],[\\\"exclamation-triangle\\\"],null]],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"              \\\"],[1,[30,2,[\\\"column_name\\\"]]],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n            \\\"],[10,\\\"dd\\\"],[12],[1,\\\"\\\\n              \\\"],[1,[30,2,[\\\"data_type\\\"]]],[1,\\\"\\\\n\\\"],[41,[30,2,[\\\"havetypeinfo\\\"]],[[[1,\\\"                \\\"],[10,\\\"br\\\"],[12],[13],[1,\\\"\\\\n\\\"],[41,[30,2,[\\\"havepopup\\\"]],[[[1,\\\"                  \\\"],[10,0],[14,0,\\\"popup-info\\\"],[12],[1,\\\"\\\\n                    \\\"],[1,[28,[35,2],[\\\"info\\\"],null]],[1,\\\"\\\\n                    \\\"],[10,0],[14,0,\\\"popup\\\"],[12],[1,\\\"\\\\n                      \\\"],[1,[30,2,[\\\"column_desc\\\"]]],[1,\\\"\\\\n\\\"],[41,[30,2,[\\\"enum\\\"]],[[[1,\\\"                        \\\"],[8,[39,6],null,[[\\\"@col\\\"],[[30,2]]],null],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"                    \\\"],[13],[1,\\\"\\\\n                  \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"                \\\"],[10,1],[14,0,\\\"schema-typenotes\\\"],[12],[1,\\\"\\\\n                  \\\"],[1,[30,2,[\\\"notes\\\"]]],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"            \\\"],[13],[1,\\\"\\\\n          \\\"],[13],[1,\\\"\\\\n\\\"]],[2]],null],[1,\\\"      \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"  \\\"],[13],[1,\\\"\\\\n\\\"],[13]],[\\\"@table\\\",\\\"col\\\"],false,[\\\"on\\\",\\\"if\\\",\\\"d-icon\\\",\\\"each\\\",\\\"-track-array\\\",\\\"i18n\\\",\\\"explorer-schema/enum-info\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-data-explorer/discourse/components/explorer-schema/one-table.hbs\",\n    \"isStrictMode\": false\n  });\n  let OneTable = _exports.default = (_class = class OneTable extends _component2.default {\n    constructor() {\n      super(...arguments);\n      _initializerDefineProperty(this, \"open\", _descriptor, this);\n    }\n    get styles() {\n      return this.open ? \"open\" : \"\";\n    }\n    toggleOpen() {\n      this.open = !this.open;\n    }\n  }, (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"open\", [_tracking.tracked], {\n    configurable: true,\n    enumerable: true,\n    writable: true,\n    initializer: function () {\n      return this.args.table.open;\n    }\n  }), _applyDecoratedDescriptor(_class.prototype, \"toggleOpen\", [_decorators.bind], Object.getOwnPropertyDescriptor(_class.prototype, \"toggleOpen\"), _class.prototype)), _class);\n  (0, _component.setComponentTemplate)(__COLOCATED_TEMPLATE__, OneTable);\n});","define(\"discourse/plugins/discourse-data-explorer/discourse/components/modal/query-help\", [\"exports\", \"@ember/template\", \"discourse/components/d-modal\", \"discourse-common/helpers/i18n\", \"@ember/template-factory\", \"@ember/component\", \"@ember/component/template-only\"], function (_exports, _template, _dModal, _i18n, _templateFactory, _component, _templateOnly) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  const QueryHelp = (0, _component.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n  /*\n    \n    <DModal\n      @title={{i18n \"explorer.help.modal_title\"}}\n      @closeModal={{@closeModal}}\n    >\n      <:body>\n        {{htmlSafe (i18n \"explorer.help.auto_resolution\")}}\n        {{htmlSafe (i18n \"explorer.help.custom_params\")}}\n        {{htmlSafe (i18n \"explorer.help.default_values\")}}\n        {{htmlSafe (i18n \"explorer.help.data_types\")}}\n      </:body>\n    </DModal>\n  \n  */\n  {\n    \"id\": \"DG9/T/vs\",\n    \"block\": \"[[[1,\\\"\\\\n  \\\"],[8,[32,0],null,[[\\\"@title\\\",\\\"@closeModal\\\"],[[28,[32,1],[\\\"explorer.help.modal_title\\\"],null],[30,1]]],[[\\\"body\\\"],[[[[1,\\\"\\\\n      \\\"],[1,[28,[32,2],[[28,[32,1],[\\\"explorer.help.auto_resolution\\\"],null]],null]],[1,\\\"\\\\n      \\\"],[1,[28,[32,2],[[28,[32,1],[\\\"explorer.help.custom_params\\\"],null]],null]],[1,\\\"\\\\n      \\\"],[1,[28,[32,2],[[28,[32,1],[\\\"explorer.help.default_values\\\"],null]],null]],[1,\\\"\\\\n      \\\"],[1,[28,[32,2],[[28,[32,1],[\\\"explorer.help.data_types\\\"],null]],null]],[1,\\\"\\\\n    \\\"]],[]]]]],[1,\\\"\\\\n\\\"]],[\\\"@closeModal\\\"],false,[]]\",\n    \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/discourse-data-explorer/discourse/components/modal/query-help.js\",\n    \"scope\": () => [_dModal.default, _i18n.default, _template.htmlSafe],\n    \"isStrictMode\": true\n  }), (0, _templateOnly.default)());\n  var _default = _exports.default = QueryHelp;\n});","define(\"discourse/plugins/discourse-data-explorer/discourse/components/param-input\", [\"exports\", \"@ember/component\", \"@glimmer/component\", \"@glimmer/tracking\", \"@ember/object\", \"@ember/service\", \"@ember/string\", \"@ember/utils\", \"discourse/models/category\", \"I18n\", \"@ember/template-factory\"], function (_exports, _component, _component2, _tracking, _object, _service, _string, _utils, _category, _I18n, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _class, _descriptor, _descriptor2, _descriptor3, _descriptor4;\n  function _initializerDefineProperty(target, property, descriptor, context) { if (!descriptor) return; Object.defineProperty(target, property, { enumerable: descriptor.enumerable, configurable: descriptor.configurable, writable: descriptor.writable, value: descriptor.initializer ? descriptor.initializer.call(context) : void 0 }); }\n  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n  function _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == typeof i ? i : i + \"\"; }\n  function _toPrimitive(t, r) { if (\"object\" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != typeof i) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\n  function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object.keys(descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object.defineProperty(target, property, desc); desc = null; } return desc; }\n  function _initializerWarningHelper(descriptor, context) { throw new Error('Decorating class property failed. Please ensure that ' + 'transform-class-properties is enabled and runs after the decorators transform.'); }\n  const __COLOCATED_TEMPLATE__ = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <div class=\"param {{if this.valid 'valid' 'invalid'}}\">\n    {{#if (eq this.type \"boolean\")}}\n      {{#if @info.nullable}}\n        <ComboBox\n          @valueAttribute=\"id\"\n          @value={{this.nullableBoolValue}}\n          @nameProperty=\"name\"\n          @content={{this.boolTypes}}\n          @onChange={{this.updateNullableBoolValue}}\n          name={{@info.identifier}}\n        />\n      {{else}}\n        <Input\n          @type=\"checkbox\"\n          @checked={{this.boolvalue}}\n          {{on \"change\" this.updateBoolValue}}\n          name={{@info.identifier}}\n        />\n      {{/if}}\n      <span class=\"param-name\">{{@info.identifier}}</span>\n  \n    {{else if (eq this.type \"int\")}}\n      <Input\n        @type=\"number\"\n        @value={{this.value}}\n        {{on \"change\" this.updateValue}}\n        name={{@info.identifier}}\n      />\n      <span class=\"param-name\">{{@info.identifier}}</span>\n  \n    {{else if (eq this.type \"string\")}}\n      <TextField\n        @value={{this.value}}\n        @type=\"text\"\n        @onChange={{this.updateValue}}\n        name={{@info.identifier}}\n      />\n      <span class=\"param-name\">{{@info.identifier}}</span>\n  \n    {{else if (eq this.type \"user_id\")}}\n      <EmailGroupUserChooser\n        @value={{this.value}}\n        @options={{hash maximum=1}}\n        @onChange={{this.updateValue}}\n        name={{@info.identifier}}\n      />\n      <span class=\"param-name\">{{@info.identifier}}</span>\n  \n    {{else if (eq this.type \"group_list\")}}\n      <GroupChooser\n        @content={{this.allGroups}}\n        @value={{this.value}}\n        @labelProperty=\"name\"\n        @valueProperty=\"name\"\n        @onChange={{this.updateGroupValue}}\n      />\n      <span class=\"param-name\">{{@info.identifier}}</span>\n  \n    {{else if (eq this.type \"user_list\")}}\n      <EmailGroupUserChooser\n        @value={{this.value}}\n        @onChange={{this.updateValue}}\n        name={{@info.identifier}}\n      />\n      <span class=\"param-name\">{{@info.identifier}}</span>\n  \n    {{else}}\n      <TextField\n        @value={{this.value}}\n        @onChange={{this.updateValue}}\n        name={{@info.identifier}}\n      />\n      <span class=\"param-name\">{{@info.identifier}}</span>\n    {{/if}}\n  </div>\n  */\n  {\n    \"id\": \"GvpcJnzO\",\n    \"block\": \"[[[10,0],[15,0,[29,[\\\"param \\\",[52,[30,0,[\\\"valid\\\"]],\\\"valid\\\",\\\"invalid\\\"]]]],[12],[1,\\\"\\\\n\\\"],[41,[28,[37,1],[[30,0,[\\\"type\\\"]],\\\"boolean\\\"],null],[[[41,[30,1,[\\\"nullable\\\"]],[[[1,\\\"      \\\"],[8,[39,2],[[16,3,[30,1,[\\\"identifier\\\"]]]],[[\\\"@valueAttribute\\\",\\\"@value\\\",\\\"@nameProperty\\\",\\\"@content\\\",\\\"@onChange\\\"],[\\\"id\\\",[30,0,[\\\"nullableBoolValue\\\"]],\\\"name\\\",[30,0,[\\\"boolTypes\\\"]],[30,0,[\\\"updateNullableBoolValue\\\"]]]],null],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\"      \\\"],[8,[39,3],[[16,3,[30,1,[\\\"identifier\\\"]]],[4,[38,4],[\\\"change\\\",[30,0,[\\\"updateBoolValue\\\"]]],null]],[[\\\"@type\\\",\\\"@checked\\\"],[\\\"checkbox\\\",[30,0,[\\\"boolvalue\\\"]]]],null],[1,\\\"\\\\n\\\"]],[]]],[1,\\\"    \\\"],[10,1],[14,0,\\\"param-name\\\"],[12],[1,[30,1,[\\\"identifier\\\"]]],[13],[1,\\\"\\\\n\\\\n\\\"]],[]],[[[41,[28,[37,1],[[30,0,[\\\"type\\\"]],\\\"int\\\"],null],[[[1,\\\"    \\\"],[8,[39,3],[[16,3,[30,1,[\\\"identifier\\\"]]],[4,[38,4],[\\\"change\\\",[30,0,[\\\"updateValue\\\"]]],null]],[[\\\"@type\\\",\\\"@value\\\"],[\\\"number\\\",[30,0,[\\\"value\\\"]]]],null],[1,\\\"\\\\n    \\\"],[10,1],[14,0,\\\"param-name\\\"],[12],[1,[30,1,[\\\"identifier\\\"]]],[13],[1,\\\"\\\\n\\\\n\\\"]],[]],[[[41,[28,[37,1],[[30,0,[\\\"type\\\"]],\\\"string\\\"],null],[[[1,\\\"    \\\"],[8,[39,5],[[16,3,[30,1,[\\\"identifier\\\"]]]],[[\\\"@value\\\",\\\"@type\\\",\\\"@onChange\\\"],[[30,0,[\\\"value\\\"]],\\\"text\\\",[30,0,[\\\"updateValue\\\"]]]],null],[1,\\\"\\\\n    \\\"],[10,1],[14,0,\\\"param-name\\\"],[12],[1,[30,1,[\\\"identifier\\\"]]],[13],[1,\\\"\\\\n\\\\n\\\"]],[]],[[[41,[28,[37,1],[[30,0,[\\\"type\\\"]],\\\"user_id\\\"],null],[[[1,\\\"    \\\"],[8,[39,6],[[16,3,[30,1,[\\\"identifier\\\"]]]],[[\\\"@value\\\",\\\"@options\\\",\\\"@onChange\\\"],[[30,0,[\\\"value\\\"]],[28,[37,7],null,[[\\\"maximum\\\"],[1]]],[30,0,[\\\"updateValue\\\"]]]],null],[1,\\\"\\\\n    \\\"],[10,1],[14,0,\\\"param-name\\\"],[12],[1,[30,1,[\\\"identifier\\\"]]],[13],[1,\\\"\\\\n\\\\n\\\"]],[]],[[[41,[28,[37,1],[[30,0,[\\\"type\\\"]],\\\"group_list\\\"],null],[[[1,\\\"    \\\"],[8,[39,8],null,[[\\\"@content\\\",\\\"@value\\\",\\\"@labelProperty\\\",\\\"@valueProperty\\\",\\\"@onChange\\\"],[[30,0,[\\\"allGroups\\\"]],[30,0,[\\\"value\\\"]],\\\"name\\\",\\\"name\\\",[30,0,[\\\"updateGroupValue\\\"]]]],null],[1,\\\"\\\\n    \\\"],[10,1],[14,0,\\\"param-name\\\"],[12],[1,[30,1,[\\\"identifier\\\"]]],[13],[1,\\\"\\\\n\\\\n\\\"]],[]],[[[41,[28,[37,1],[[30,0,[\\\"type\\\"]],\\\"user_list\\\"],null],[[[1,\\\"    \\\"],[8,[39,6],[[16,3,[30,1,[\\\"identifier\\\"]]]],[[\\\"@value\\\",\\\"@onChange\\\"],[[30,0,[\\\"value\\\"]],[30,0,[\\\"updateValue\\\"]]]],null],[1,\\\"\\\\n    \\\"],[10,1],[14,0,\\\"param-name\\\"],[12],[1,[30,1,[\\\"identifier\\\"]]],[13],[1,\\\"\\\\n\\\\n\\\"]],[]],[[[1,\\\"    \\\"],[8,[39,5],[[16,3,[30,1,[\\\"identifier\\\"]]]],[[\\\"@value\\\",\\\"@onChange\\\"],[[30,0,[\\\"value\\\"]],[30,0,[\\\"updateValue\\\"]]]],null],[1,\\\"\\\\n    \\\"],[10,1],[14,0,\\\"param-name\\\"],[12],[1,[30,1,[\\\"identifier\\\"]]],[13],[1,\\\"\\\\n  \\\"]],[]]]],[]]]],[]]]],[]]]],[]]]],[]]],[13]],[\\\"@info\\\"],false,[\\\"if\\\",\\\"eq\\\",\\\"combo-box\\\",\\\"input\\\",\\\"on\\\",\\\"text-field\\\",\\\"email-group-user-chooser\\\",\\\"hash\\\",\\\"group-chooser\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-data-explorer/discourse/components/param-input.hbs\",\n    \"isStrictMode\": false\n  });\n  const layoutMap = {\n    int: \"int\",\n    bigint: \"int\",\n    boolean: \"boolean\",\n    string: \"generic\",\n    time: \"generic\",\n    date: \"generic\",\n    datetime: \"generic\",\n    double: \"string\",\n    user_id: \"user_id\",\n    post_id: \"string\",\n    topic_id: \"generic\",\n    category_id: \"generic\",\n    group_id: \"generic\",\n    badge_id: \"generic\",\n    int_list: \"generic\",\n    string_list: \"generic\",\n    user_list: \"user_list\",\n    group_list: \"group_list\"\n  };\n  let ParamInput = _exports.default = (_class = class ParamInput extends _component2.default {\n    constructor() {\n      super(...arguments);\n      _initializerDefineProperty(this, \"site\", _descriptor, this);\n      _initializerDefineProperty(this, \"value\", _descriptor2, this);\n      _initializerDefineProperty(this, \"boolValue\", _descriptor3, this);\n      _initializerDefineProperty(this, \"nullableBoolValue\", _descriptor4, this);\n      _defineProperty(this, \"boolTypes\", [{\n        name: _I18n.default.t(\"explorer.types.bool.true\"),\n        id: \"Y\"\n      }, {\n        name: _I18n.default.t(\"explorer.types.bool.false\"),\n        id: \"N\"\n      }, {\n        name: _I18n.default.t(\"explorer.types.bool.null_\"),\n        id: \"#null\"\n      }]);\n      const identifier = this.args.info.identifier;\n      const initialValues = this.args.initialValues;\n\n      // access parsed params if present to update values to previously ran values\n      if (initialValues && identifier in initialValues) {\n        const initialValue = initialValues[identifier];\n        if (this.type === \"boolean\") {\n          if (this.args.info.nullable) {\n            this.nullableBoolValue = initialValue;\n            this.args.updateParams(this.args.info.identifier, this.nullableBoolValue);\n          } else {\n            this.boolValue = initialValue !== \"false\";\n            this.args.updateParams(this.args.info.identifier, this.boolValue);\n          }\n        } else {\n          this.value = this.args.info.type === \"category_id\" ? this.dasherizeCategoryId(initialValue) : initialValue;\n          this.args.updateParams(this.args.info.identifier, this.value);\n        }\n      } else {\n        // if no parsed params then get and set default values\n        const defaultValue = this.args.info.default;\n        this.value = this.args.info.type === \"category_id\" ? this.dasherizeCategoryId(defaultValue) : defaultValue;\n        this.boolValue = defaultValue !== \"false\";\n        this.nullableBoolValue = defaultValue;\n      }\n    }\n    get type() {\n      const type = this.args.info.type;\n      if ((type === \"time\" || type === \"date\") && !allowsInputTypeTime()) {\n        return \"string\";\n      }\n      return layoutMap[type] || \"generic\";\n    }\n    get valid() {\n      const nullable = this.args.info.nullable;\n      // intentionally use 'this.args' here instead of 'this.type'\n      // to get the original key instead of the translated value from the layoutMap\n      const type = this.args.info.type;\n      let value;\n      if (type === \"boolean\") {\n        value = nullable ? this.nullableBoolValue : this.boolValue;\n      } else {\n        value = this.value;\n      }\n      if ((0, _utils.isEmpty)(value)) {\n        return nullable;\n      }\n      const intVal = parseInt(value, 10);\n      const intValid = !isNaN(intVal) && intVal < 2147483648 && intVal > -2147483649;\n      const isPositiveInt = /^\\d+$/.test(value);\n      switch (type) {\n        case \"int\":\n          return /^-?\\d+$/.test(value) && intValid;\n        case \"bigint\":\n          return /^-?\\d+$/.test(value) && !isNaN(intVal);\n        case \"boolean\":\n          return /^Y|N|#null|true|false/.test(value);\n        case \"double\":\n          return !isNaN(parseFloat(value)) || /^(-?)Inf(inity)?$/i.test(value) || /^(-?)NaN$/i.test(value);\n        case \"int_list\":\n          return value.split(\",\").every(i => /^(-?\\d+|null)$/.test(i.trim()));\n        case \"post_id\":\n          return isPositiveInt || /\\d+\\/\\d+(\\?u=.*)?$/.test(value) || /\\/t\\/[^/]+\\/(\\d+)(\\?u=.*)?/.test(value);\n        case \"topic_id\":\n          return isPositiveInt || /\\/t\\/[^/]+\\/(\\d+)/.test(value);\n        case \"category_id\":\n          if (isPositiveInt) {\n            return !!this.site.categories.find(c => c.id === intVal);\n          } else if (/\\//.test(value)) {\n            const match = /(.*)\\/(.*)/.exec(value);\n            if (!match) {\n              return false;\n            }\n            const result = _category.default.findBySlug((0, _string.dasherize)(match[2]), (0, _string.dasherize)(match[1]));\n            return !!result;\n          } else {\n            return !!_category.default.findBySlug((0, _string.dasherize)(value));\n          }\n        case \"group_id\":\n          const groups = this.site.get(\"groups\");\n          if (isPositiveInt) {\n            return !!groups.find(g => g.id === intVal);\n          } else {\n            return !!groups.find(g => g.name === value);\n          }\n      }\n      return true;\n    }\n    get allGroups() {\n      return this.site.get(\"groups\");\n    }\n    dasherizeCategoryId(value) {\n      const isPositiveInt = /^\\d+$/.test(value);\n      if (!isPositiveInt && value !== (0, _string.dasherize)(value)) {\n        return (0, _string.dasherize)(value);\n      }\n      return value;\n    }\n    updateValue(input) {\n      // handle selectKit inputs as well as traditional inputs\n      const value = input.target ? input.target.value : input;\n      if (value.length) {\n        this.value = this.args.info.type === \"category_id\" ? this.dasherizeCategoryId(value.toString()) : value.toString();\n      } else {\n        this.value = value;\n      }\n      this.args.updateParams(this.args.info.identifier, this.value);\n    }\n    updateBoolValue(input) {\n      this.boolValue = input.target.checked;\n      this.args.updateParams(this.args.info.identifier, this.boolValue.toString());\n    }\n    updateNullableBoolValue(input) {\n      this.nullableBoolValue = input;\n      this.args.updateParams(this.args.info.identifier, this.nullableBoolValue);\n    }\n    updateGroupValue(input) {\n      this.value = input;\n      this.args.updateParams(this.args.info.identifier, this.value.join(\",\"));\n    }\n  }, (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"site\", [_service.inject], {\n    configurable: true,\n    enumerable: true,\n    writable: true,\n    initializer: null\n  }), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, \"value\", [_tracking.tracked], {\n    configurable: true,\n    enumerable: true,\n    writable: true,\n    initializer: null\n  }), _descriptor3 = _applyDecoratedDescriptor(_class.prototype, \"boolValue\", [_tracking.tracked], {\n    configurable: true,\n    enumerable: true,\n    writable: true,\n    initializer: null\n  }), _descriptor4 = _applyDecoratedDescriptor(_class.prototype, \"nullableBoolValue\", [_tracking.tracked], {\n    configurable: true,\n    enumerable: true,\n    writable: true,\n    initializer: null\n  }), _applyDecoratedDescriptor(_class.prototype, \"updateValue\", [_object.action], Object.getOwnPropertyDescriptor(_class.prototype, \"updateValue\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"updateBoolValue\", [_object.action], Object.getOwnPropertyDescriptor(_class.prototype, \"updateBoolValue\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"updateNullableBoolValue\", [_object.action], Object.getOwnPropertyDescriptor(_class.prototype, \"updateNullableBoolValue\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"updateGroupValue\", [_object.action], Object.getOwnPropertyDescriptor(_class.prototype, \"updateGroupValue\"), _class.prototype)), _class);\n  function allowsInputTypeTime() {\n    try {\n      const input = document.createElement(\"input\");\n      input.attributes.type = \"time\";\n      input.attributes.type = \"date\";\n      return true;\n    } catch (e) {\n      return false;\n    }\n  }\n  (0, _component.setComponentTemplate)(__COLOCATED_TEMPLATE__, ParamInput);\n});","define(\"discourse/plugins/discourse-data-explorer/discourse/components/param-inputs-wrapper\", [\"exports\", \"@ember/component\", \"@ember/component/template-only\", \"@ember/template-factory\"], function (_exports, _component, _templateOnly, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  const __COLOCATED_TEMPLATE__ = (0, _templateFactory.createTemplateFactory)(\n  /*\n    {{#if @hasParams}}\n    <div class=\"query-params\">\n      {{#each @paramInfo as |pinfo|}}\n        <ParamInput\n          @params={{@params}}\n          @initialValues={{@initialValues}}\n          @info={{pinfo}}\n          @updateParams={{@updateParams}}\n        />\n      {{/each}}\n    </div>\n  {{/if}}\n  */\n  {\n    \"id\": \"ArIoh7OG\",\n    \"block\": \"[[[41,[30,1],[[[1,\\\"  \\\"],[10,0],[14,0,\\\"query-params\\\"],[12],[1,\\\"\\\\n\\\"],[42,[28,[37,2],[[28,[37,2],[[30,2]],null]],null],null,[[[1,\\\"      \\\"],[8,[39,3],null,[[\\\"@params\\\",\\\"@initialValues\\\",\\\"@info\\\",\\\"@updateParams\\\"],[[30,4],[30,5],[30,3],[30,6]]],null],[1,\\\"\\\\n\\\"]],[3]],null],[1,\\\"  \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null]],[\\\"@hasParams\\\",\\\"@paramInfo\\\",\\\"pinfo\\\",\\\"@params\\\",\\\"@initialValues\\\",\\\"@updateParams\\\"],false,[\\\"if\\\",\\\"each\\\",\\\"-track-array\\\",\\\"param-input\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-data-explorer/discourse/components/param-inputs-wrapper.hbs\",\n    \"isStrictMode\": false\n  });\n  var _default = _exports.default = (0, _component.setComponentTemplate)(__COLOCATED_TEMPLATE__, (0, _templateOnly.default)());\n});","define(\"discourse/plugins/discourse-data-explorer/discourse/components/query-result\", [\"exports\", \"@ember/component\", \"@glimmer/component\", \"@glimmer/tracking\", \"@ember/object\", \"@ember/runloop\", \"@ember/service\", \"@ember/string\", \"discourse/lib/ajax\", \"discourse/models/badge\", \"discourse/models/category\", \"discourse-common/lib/get-url\", \"I18n\", \"discourse/plugins/discourse-data-explorer/discourse/components/result-types/badge\", \"discourse/plugins/discourse-data-explorer/discourse/components/result-types/category\", \"discourse/plugins/discourse-data-explorer/discourse/components/result-types/group\", \"discourse/plugins/discourse-data-explorer/discourse/components/result-types/html\", \"discourse/plugins/discourse-data-explorer/discourse/components/result-types/json\", \"discourse/plugins/discourse-data-explorer/discourse/components/result-types/post\", \"discourse/plugins/discourse-data-explorer/discourse/components/result-types/reltime\", \"discourse/plugins/discourse-data-explorer/discourse/components/result-types/text\", \"discourse/plugins/discourse-data-explorer/discourse/components/result-types/topic\", \"discourse/plugins/discourse-data-explorer/discourse/components/result-types/url\", \"discourse/plugins/discourse-data-explorer/discourse/components/result-types/user\", \"@ember/template-factory\"], function (_exports, _component, _component2, _tracking, _object, _runloop, _service, _string, _ajax, _badge, _category, _getUrl, _I18n, _badge2, _category2, _group, _html, _json, _post, _reltime, _text, _topic, _url, _user, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _class, _descriptor, _descriptor2;\n  function _initializerDefineProperty(target, property, descriptor, context) { if (!descriptor) return; Object.defineProperty(target, property, { enumerable: descriptor.enumerable, configurable: descriptor.configurable, writable: descriptor.writable, value: descriptor.initializer ? descriptor.initializer.call(context) : void 0 }); }\n  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n  function _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == typeof i ? i : i + \"\"; }\n  function _toPrimitive(t, r) { if (\"object\" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != typeof i) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\n  function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object.keys(descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object.defineProperty(target, property, desc); desc = null; } return desc; }\n  function _initializerWarningHelper(descriptor, context) { throw new Error('Decorating class property failed. Please ensure that ' + 'transform-class-properties is enabled and runs after the decorators transform.'); }\n  const __COLOCATED_TEMPLATE__ = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <article>\n    <header class=\"result-header\">\n      <div class=\"result-info\">\n        <DButton\n          @action={{this.downloadResultJson}}\n          @icon=\"download\"\n          @label=\"explorer.download_json\"\n        />\n  \n        <DButton\n          @action={{this.downloadResultCsv}}\n          @icon=\"download\"\n          @label=\"explorer.download_csv\"\n        />\n  \n        {{#if this.canShowChart}}\n          {{#if this.chartDisplayed}}\n            <DButton\n              @action={{this.hideChart}}\n              @icon=\"table\"\n              @label=\"explorer.show_table\"\n            />\n          {{else}}\n            <DButton\n              @action={{this.showChart}}\n              @icon=\"chart-bar\"\n              @label=\"explorer.show_graph\"\n            />\n          {{/if}}\n        {{/if}}\n      </div>\n  \n      <div class=\"result-about\">\n        {{this.resultCount}}\n        {{this.duration}}\n      </div>\n  \n      <br />\n  \n      {{~#if this.explainText}}\n        <pre class=\"result-explain\">\n          <code>\n            {{~this.explainText}}\n          </code>\n        </pre>\n      {{~/if}}\n  \n      <br />\n    </header>\n  \n    <section>\n      {{#if this.chartDisplayed}}\n        <DataExplorerBarChart\n          @labels={{this.chartLabels}}\n          @values={{this.chartValues}}\n          @datasetName={{this.chartDatasetName}}\n        />\n      {{else}}\n        <table>\n          <thead>\n            <tr class=\"headers\">\n              {{#each this.columnNames as |col|}}\n                <th>{{col}}</th>\n              {{/each}}\n            </tr>\n          </thead>\n          <tbody>\n            {{#each this.rows as |row|}}\n              <QueryRowContent\n                @row={{row}}\n                @columnComponents={{this.columnComponents}}\n                @lookupUser={{this.lookupUser}}\n                @lookupBadge={{this.lookupBadge}}\n                @lookupPost={{this.lookupPost}}\n                @lookupTopic={{this.lookupTopic}}\n                @lookupGroup={{this.lookupGroup}}\n                @lookupCategory={{this.lookupCategory}}\n                @transformedPostTable={{this.transformedPostTable}}\n                @transformedBadgeTable={{this.transformedBadgeTable}}\n                @transformedUserTable={{this.transformedUserTable}}\n                @transformedGroupTable={{this.transformedGroupTable}}\n                @transformedTopicTable={{this.transformedTopicTable}}\n                @site={{this.site}}\n              />\n            {{/each}}\n          </tbody>\n        </table>\n      {{/if}}\n    </section>\n  </article>\n  */\n  {\n    \"id\": \"uIgeiTZ7\",\n    \"block\": \"[[[10,\\\"article\\\"],[12],[1,\\\"\\\\n  \\\"],[10,\\\"header\\\"],[14,0,\\\"result-header\\\"],[12],[1,\\\"\\\\n    \\\"],[10,0],[14,0,\\\"result-info\\\"],[12],[1,\\\"\\\\n      \\\"],[8,[39,0],null,[[\\\"@action\\\",\\\"@icon\\\",\\\"@label\\\"],[[30,0,[\\\"downloadResultJson\\\"]],\\\"download\\\",\\\"explorer.download_json\\\"]],null],[1,\\\"\\\\n\\\\n      \\\"],[8,[39,0],null,[[\\\"@action\\\",\\\"@icon\\\",\\\"@label\\\"],[[30,0,[\\\"downloadResultCsv\\\"]],\\\"download\\\",\\\"explorer.download_csv\\\"]],null],[1,\\\"\\\\n\\\\n\\\"],[41,[30,0,[\\\"canShowChart\\\"]],[[[41,[30,0,[\\\"chartDisplayed\\\"]],[[[1,\\\"          \\\"],[8,[39,0],null,[[\\\"@action\\\",\\\"@icon\\\",\\\"@label\\\"],[[30,0,[\\\"hideChart\\\"]],\\\"table\\\",\\\"explorer.show_table\\\"]],null],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\"          \\\"],[8,[39,0],null,[[\\\"@action\\\",\\\"@icon\\\",\\\"@label\\\"],[[30,0,[\\\"showChart\\\"]],\\\"chart-bar\\\",\\\"explorer.show_graph\\\"]],null],[1,\\\"\\\\n\\\"]],[]]]],[]],null],[1,\\\"    \\\"],[13],[1,\\\"\\\\n\\\\n    \\\"],[10,0],[14,0,\\\"result-about\\\"],[12],[1,\\\"\\\\n      \\\"],[1,[30,0,[\\\"resultCount\\\"]]],[1,\\\"\\\\n      \\\"],[1,[30,0,[\\\"duration\\\"]]],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\\n    \\\"],[10,\\\"br\\\"],[12],[13],[41,[30,0,[\\\"explainText\\\"]],[[[1,\\\"      \\\"],[10,\\\"pre\\\"],[14,0,\\\"result-explain\\\"],[12],[1,\\\"        \\\"],[10,\\\"code\\\"],[12],[1,[30,0,[\\\"explainText\\\"]]],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n      \\\"],[13]],[]],null],[1,\\\"\\\\n    \\\"],[10,\\\"br\\\"],[12],[13],[1,\\\"\\\\n  \\\"],[13],[1,\\\"\\\\n\\\\n  \\\"],[10,\\\"section\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"chartDisplayed\\\"]],[[[1,\\\"      \\\"],[8,[39,2],null,[[\\\"@labels\\\",\\\"@values\\\",\\\"@datasetName\\\"],[[30,0,[\\\"chartLabels\\\"]],[30,0,[\\\"chartValues\\\"]],[30,0,[\\\"chartDatasetName\\\"]]]],null],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\"      \\\"],[10,\\\"table\\\"],[12],[1,\\\"\\\\n        \\\"],[10,\\\"thead\\\"],[12],[1,\\\"\\\\n          \\\"],[10,\\\"tr\\\"],[14,0,\\\"headers\\\"],[12],[1,\\\"\\\\n\\\"],[42,[28,[37,4],[[28,[37,4],[[30,0,[\\\"columnNames\\\"]]],null]],null],null,[[[1,\\\"              \\\"],[10,\\\"th\\\"],[12],[1,[30,1]],[13],[1,\\\"\\\\n\\\"]],[1]],null],[1,\\\"          \\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n        \\\"],[10,\\\"tbody\\\"],[12],[1,\\\"\\\\n\\\"],[42,[28,[37,4],[[28,[37,4],[[30,0,[\\\"rows\\\"]]],null]],null],null,[[[1,\\\"            \\\"],[8,[39,5],null,[[\\\"@row\\\",\\\"@columnComponents\\\",\\\"@lookupUser\\\",\\\"@lookupBadge\\\",\\\"@lookupPost\\\",\\\"@lookupTopic\\\",\\\"@lookupGroup\\\",\\\"@lookupCategory\\\",\\\"@transformedPostTable\\\",\\\"@transformedBadgeTable\\\",\\\"@transformedUserTable\\\",\\\"@transformedGroupTable\\\",\\\"@transformedTopicTable\\\",\\\"@site\\\"],[[30,2],[30,0,[\\\"columnComponents\\\"]],[30,0,[\\\"lookupUser\\\"]],[30,0,[\\\"lookupBadge\\\"]],[30,0,[\\\"lookupPost\\\"]],[30,0,[\\\"lookupTopic\\\"]],[30,0,[\\\"lookupGroup\\\"]],[30,0,[\\\"lookupCategory\\\"]],[30,0,[\\\"transformedPostTable\\\"]],[30,0,[\\\"transformedBadgeTable\\\"]],[30,0,[\\\"transformedUserTable\\\"]],[30,0,[\\\"transformedGroupTable\\\"]],[30,0,[\\\"transformedTopicTable\\\"]],[30,0,[\\\"site\\\"]]]],null],[1,\\\"\\\\n\\\"]],[2]],null],[1,\\\"        \\\"],[13],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n\\\"]],[]]],[1,\\\"  \\\"],[13],[1,\\\"\\\\n\\\"],[13]],[\\\"col\\\",\\\"row\\\"],false,[\\\"d-button\\\",\\\"if\\\",\\\"data-explorer-bar-chart\\\",\\\"each\\\",\\\"-track-array\\\",\\\"query-row-content\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-data-explorer/discourse/components/query-result.hbs\",\n    \"isStrictMode\": false\n  });\n  const VIEW_COMPONENTS = {\n    topic: _topic.default,\n    text: _text.default,\n    post: _post.default,\n    reltime: _reltime.default,\n    badge: _badge2.default,\n    url: _url.default,\n    user: _user.default,\n    group: _group.default,\n    html: _html.default,\n    json: _json.default,\n    category: _category2.default\n  };\n  let QueryResult = _exports.default = (_class = class QueryResult extends _component2.default {\n    constructor() {\n      super(...arguments);\n      _initializerDefineProperty(this, \"site\", _descriptor, this);\n      _initializerDefineProperty(this, \"chartDisplayed\", _descriptor2, this);\n    }\n    get colRender() {\n      return this.args.content.colrender || {};\n    }\n    get rows() {\n      return this.args.content.rows;\n    }\n    get columns() {\n      return this.args.content.columns;\n    }\n    get params() {\n      return this.args.content.params;\n    }\n    get explainText() {\n      return this.args.content.explain;\n    }\n    get chartDatasetName() {\n      return this.columnNames[1];\n    }\n    get columnNames() {\n      if (!this.columns) {\n        return [];\n      }\n      return this.columns.map(colName => {\n        if (colName.endsWith(\"_id\")) {\n          return colName.slice(0, -3);\n        }\n        const dIdx = colName.indexOf(\"$\");\n        if (dIdx >= 0) {\n          return colName.substring(dIdx + 1);\n        }\n        return colName;\n      });\n    }\n    get columnComponents() {\n      if (!this.columns) {\n        return [];\n      }\n      return this.columns.map((_, idx) => {\n        let type = \"text\";\n        if (this.colRender[idx]) {\n          type = this.colRender[idx];\n        }\n        return {\n          name: type,\n          component: VIEW_COMPONENTS[type]\n        };\n      });\n    }\n    get chartValues() {\n      // return an array with the second value of this.row\n      return this.rows.mapBy(1);\n    }\n    get colCount() {\n      return this.columns.length;\n    }\n    get resultCount() {\n      const count = this.args.content.result_count;\n      if (count === this.args.content.default_limit) {\n        return _I18n.default.t(\"explorer.max_result_count\", {\n          count\n        });\n      } else {\n        return _I18n.default.t(\"explorer.result_count\", {\n          count\n        });\n      }\n    }\n    get duration() {\n      return _I18n.default.t(\"explorer.run_time\", {\n        value: _I18n.default.toNumber(this.args.content.duration, {\n          precision: 1\n        })\n      });\n    }\n    get parameterAry() {\n      let arr = [];\n      for (let key in this.params) {\n        if (this.params.hasOwnProperty(key)) {\n          arr.push({\n            key,\n            value: this.params[key]\n          });\n        }\n      }\n      return arr;\n    }\n    get transformedUserTable() {\n      return transformedRelTable(this.args.content.relations.user);\n    }\n    get transformedBadgeTable() {\n      return transformedRelTable(this.args.content.relations.badge, _badge.default);\n    }\n    get transformedPostTable() {\n      return transformedRelTable(this.args.content.relations.post);\n    }\n    get transformedTopicTable() {\n      return transformedRelTable(this.args.content.relations.topic);\n    }\n    get transformedGroupTable() {\n      return transformedRelTable(this.site.groups);\n    }\n    get canShowChart() {\n      const hasTwoColumns = this.colCount === 2;\n      const secondColumnContainsNumber = this.resultCount[0] > 0 && typeof this.rows[0][1] === \"number\";\n      const secondColumnContainsId = this.colRender[1];\n      return hasTwoColumns && secondColumnContainsNumber && !secondColumnContainsId;\n    }\n    get chartLabels() {\n      const labelSelectors = {\n        user: user => user.username,\n        badge: badge => badge.name,\n        topic: topic => topic.title,\n        group: group => group.name,\n        category: category => category.name\n      };\n      const relationName = this.colRender[0];\n      if (relationName) {\n        const lookupFunc = this[`lookup${(0, _string.capitalize)(relationName)}`];\n        const labelSelector = labelSelectors[relationName];\n        if (lookupFunc && labelSelector) {\n          return this.rows.map(r => {\n            const relation = lookupFunc.call(this, r[0]);\n            const label = labelSelector(relation);\n            return this._cutChartLabel(label);\n          });\n        }\n      }\n      return this.rows.map(r => this._cutChartLabel(r[0]));\n    }\n    lookupUser(id) {\n      return this.transformedUserTable[id];\n    }\n    lookupBadge(id) {\n      return this.transformedBadgeTable[id];\n    }\n    lookupPost(id) {\n      return this.transformedPostTable[id];\n    }\n    lookupTopic(id) {\n      return this.transformedTopicTable[id];\n    }\n    lookupGroup(id) {\n      return this.transformedGroupTable[id];\n    }\n    lookupCategory(id) {\n      return _category.default.findById(id);\n    }\n    _cutChartLabel(label) {\n      const labelString = label.toString();\n      if (labelString.length > 25) {\n        return `${labelString.substring(0, 25)}...`;\n      } else {\n        return labelString;\n      }\n    }\n    downloadResultJson() {\n      this._downloadResult(\"json\");\n    }\n    downloadResultCsv() {\n      this._downloadResult(\"csv\");\n    }\n    showChart() {\n      this.chartDisplayed = true;\n    }\n    hideChart() {\n      this.chartDisplayed = false;\n    }\n    _download_url() {\n      return this.args.group ? `/g/${this.args.group.name}/reports/` : \"/admin/plugins/explorer/queries/\";\n    }\n    _downloadResult(format) {\n      // Create a frame to submit the form in (?)\n      // to avoid leaving an about:blank behind\n      let windowName = randomIdShort();\n      const newWindowContents = \"<style>body{font-size:36px;display:flex;justify-content:center;align-items:center;}</style><body>Click anywhere to close this window once the download finishes.<script>window.onclick=function(){window.close()};</script>\";\n      window.open(\"data:text/html;base64,\" + btoa(newWindowContents), windowName);\n      let form = document.createElement(\"form\");\n      form.setAttribute(\"id\", \"query-download-result\");\n      form.setAttribute(\"method\", \"post\");\n      form.setAttribute(\"action\", (0, _getUrl.default)(this._download_url() + this.args.query.id + \"/run.\" + format + \"?download=1\"));\n      form.setAttribute(\"target\", windowName);\n      form.setAttribute(\"style\", \"display:none;\");\n      function addInput(name, value) {\n        let field;\n        field = document.createElement(\"input\");\n        field.setAttribute(\"name\", name);\n        field.setAttribute(\"value\", value);\n        form.appendChild(field);\n      }\n      addInput(\"params\", JSON.stringify(this.params));\n      addInput(\"explain\", this.explainText);\n      addInput(\"limit\", \"1000000\");\n      (0, _ajax.ajax)(\"/session/csrf.json\").then(csrf => {\n        addInput(\"authenticity_token\", csrf.csrf);\n        document.body.appendChild(form);\n        form.submit();\n        (0, _runloop.schedule)(\"afterRender\", () => document.body.removeChild(form));\n      });\n    }\n  }, (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"site\", [_service.inject], {\n    configurable: true,\n    enumerable: true,\n    writable: true,\n    initializer: null\n  }), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, \"chartDisplayed\", [_tracking.tracked], {\n    configurable: true,\n    enumerable: true,\n    writable: true,\n    initializer: function () {\n      return false;\n    }\n  }), _applyDecoratedDescriptor(_class.prototype, \"downloadResultJson\", [_object.action], Object.getOwnPropertyDescriptor(_class.prototype, \"downloadResultJson\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"downloadResultCsv\", [_object.action], Object.getOwnPropertyDescriptor(_class.prototype, \"downloadResultCsv\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"showChart\", [_object.action], Object.getOwnPropertyDescriptor(_class.prototype, \"showChart\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"hideChart\", [_object.action], Object.getOwnPropertyDescriptor(_class.prototype, \"hideChart\"), _class.prototype)), _class);\n  function randomIdShort() {\n    return \"xxxxxxxx\".replace(/[xy]/g, () => {\n      /*eslint-disable*/\n      return (Math.random() * 16 | 0).toString(16);\n      /*eslint-enable*/\n    });\n  }\n  function transformedRelTable(table, modelClass) {\n    const result = {};\n    table.forEach(item => {\n      if (modelClass) {\n        result[item.id] = modelClass.create(item);\n      } else {\n        result[item.id] = item;\n      }\n    });\n    return result;\n  }\n  (0, _component.setComponentTemplate)(__COLOCATED_TEMPLATE__, QueryResult);\n});","define(\"discourse/plugins/discourse-data-explorer/discourse/components/query-results-wrapper\", [\"exports\", \"@ember/component\", \"@ember/component/template-only\", \"@ember/template-factory\"], function (_exports, _component, _templateOnly, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  const __COLOCATED_TEMPLATE__ = (0, _templateFactory.createTemplateFactory)(\n  /*\n    {{#if @results}}\n    <div class=\"query-results\">\n      {{#if @showResults}}\n        <QueryResult @query={{@query}} @content={{@results}} />\n      {{else}}\n        {{#each @results.errors as |err|}}\n          <pre class=\"query-error\"><code>{{~err}}</code></pre>\n        {{/each}}\n      {{/if}}\n    </div>\n  {{/if}}\n  */\n  {\n    \"id\": \"CMQdIpMe\",\n    \"block\": \"[[[41,[30,1],[[[1,\\\"  \\\"],[10,0],[14,0,\\\"query-results\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,2],[[[1,\\\"      \\\"],[8,[39,1],null,[[\\\"@query\\\",\\\"@content\\\"],[[30,3],[30,1]]],null],[1,\\\"\\\\n\\\"]],[]],[[[42,[28,[37,3],[[28,[37,3],[[30,1,[\\\"errors\\\"]]],null]],null],null,[[[1,\\\"        \\\"],[10,\\\"pre\\\"],[14,0,\\\"query-error\\\"],[12],[10,\\\"code\\\"],[12],[1,[30,4]],[13],[13],[1,\\\"\\\\n\\\"]],[4]],null]],[]]],[1,\\\"  \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null]],[\\\"@results\\\",\\\"@showResults\\\",\\\"@query\\\",\\\"err\\\"],false,[\\\"if\\\",\\\"query-result\\\",\\\"each\\\",\\\"-track-array\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-data-explorer/discourse/components/query-results-wrapper.hbs\",\n    \"isStrictMode\": false\n  });\n  var _default = _exports.default = (0, _component.setComponentTemplate)(__COLOCATED_TEMPLATE__, (0, _templateOnly.default)());\n});","define(\"discourse/plugins/discourse-data-explorer/discourse/components/query-row-content\", [\"exports\", \"@ember/component\", \"@glimmer/component\", \"@glimmer/tracking\", \"@ember/string\", \"discourse/lib/utilities\", \"discourse-common/lib/get-url\", \"discourse/plugins/discourse-data-explorer/discourse/components/result-types/text\", \"@ember/template-factory\"], function (_exports, _component, _component2, _tracking, _string, _utilities, _getUrl, _text, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _class;\n  function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object.keys(descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object.defineProperty(target, property, desc); desc = null; } return desc; }\n  const __COLOCATED_TEMPLATE__ = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <tr>\n    {{#each this.results as |result|}}\n      <td>\n        <result.component\n          @ctx={{result.ctx}}\n          @params={{result.params}}\n          @textValue={{result.textValue}}\n        />\n      </td>\n    {{/each}}\n  </tr>\n  */\n  {\n    \"id\": \"fBLn+HHd\",\n    \"block\": \"[[[10,\\\"tr\\\"],[12],[1,\\\"\\\\n\\\"],[42,[28,[37,1],[[28,[37,1],[[30,0,[\\\"results\\\"]]],null]],null],null,[[[1,\\\"    \\\"],[10,\\\"td\\\"],[12],[1,\\\"\\\\n      \\\"],[8,[30,1,[\\\"component\\\"]],null,[[\\\"@ctx\\\",\\\"@params\\\",\\\"@textValue\\\"],[[30,1,[\\\"ctx\\\"]],[30,1,[\\\"params\\\"]],[30,1,[\\\"textValue\\\"]]]],null],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\"]],[1]],null],[13]],[\\\"result\\\"],false,[\\\"each\\\",\\\"-track-array\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-data-explorer/discourse/components/query-row-content.hbs\",\n    \"isStrictMode\": false\n  });\n  let QueryRowContent = _exports.default = (_class = class QueryRowContent extends _component2.default {\n    get results() {\n      return this.args.columnComponents.map((t, idx) => {\n        const value = this.args.row[idx],\n          id = parseInt(value, 10);\n        const ctx = {\n          value,\n          id,\n          baseuri: (0, _getUrl.default)(\"\")\n        };\n        if (this.args.row[idx] === null) {\n          return {\n            component: _text.default,\n            textValue: \"NULL\"\n          };\n        } else if (t.name === \"text\") {\n          return {\n            component: _text.default,\n            textValue: (0, _utilities.escapeExpression)(this.args.row[idx].toString())\n          };\n        }\n        const lookupFunc = this.args[`lookup${(0, _string.capitalize)(t.name)}`];\n        if (lookupFunc) {\n          ctx[t.name] = lookupFunc.call(this.args, id);\n        }\n        if (t.name === \"url\") {\n          let [url, name] = guessUrl(value);\n          ctx[\"href\"] = url;\n          ctx[\"target\"] = name;\n        }\n        try {\n          return {\n            component: t.component || _text.default,\n            ctx\n          };\n        } catch (e) {\n          return \"error\";\n        }\n      });\n    }\n  }, (_applyDecoratedDescriptor(_class.prototype, \"results\", [_tracking.cached], Object.getOwnPropertyDescriptor(_class.prototype, \"results\"), _class.prototype)), _class);\n  function guessUrl(t) {\n    let [dest, name] = [t, t];\n    const split = t.split(/,(.+)/);\n    if (split.length > 1) {\n      name = split[0];\n      dest = split[1];\n    }\n    return [dest, name];\n  }\n  (0, _component.setComponentTemplate)(__COLOCATED_TEMPLATE__, QueryRowContent);\n});","define(\"discourse/plugins/discourse-data-explorer/discourse/components/result-types/badge\", [\"exports\", \"@ember/component\", \"@glimmer/component\", \"@ember/template\", \"@ember/utils\", \"discourse-common/lib/icon-library\", \"@ember/template-factory\"], function (_exports, _component, _component2, _template, _utils, _iconLibrary, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  const __COLOCATED_TEMPLATE__ = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <a\n    href=\"{{@ctx.baseuri}}/badges/{{@ctx.badge.id}}/{{@ctx.badge.name}}\"\n    class=\"user-badge {{@ctx.badge.badgeTypeClassName}}\"\n    title={{@ctx.badge.display_name}}\n    data-badge-name={{@ctx.badge.name}}\n  >\n    {{this.iconOrImageReplacement}}\n    <span class=\"badge-display-name\">{{@ctx.badge.display_name}}</span>\n  </a>\n  */\n  {\n    \"id\": \"V9JpgCow\",\n    \"block\": \"[[[10,3],[15,6,[29,[[30,1,[\\\"baseuri\\\"]],\\\"/badges/\\\",[30,1,[\\\"badge\\\",\\\"id\\\"]],\\\"/\\\",[30,1,[\\\"badge\\\",\\\"name\\\"]]]]],[15,0,[29,[\\\"user-badge \\\",[30,1,[\\\"badge\\\",\\\"badgeTypeClassName\\\"]]]]],[15,\\\"title\\\",[30,1,[\\\"badge\\\",\\\"display_name\\\"]]],[15,\\\"data-badge-name\\\",[30,1,[\\\"badge\\\",\\\"name\\\"]]],[12],[1,\\\"\\\\n  \\\"],[1,[30,0,[\\\"iconOrImageReplacement\\\"]]],[1,\\\"\\\\n  \\\"],[10,1],[14,0,\\\"badge-display-name\\\"],[12],[1,[30,1,[\\\"badge\\\",\\\"display_name\\\"]]],[13],[1,\\\"\\\\n\\\"],[13]],[\\\"@ctx\\\"],false,[]]\",\n    \"moduleName\": \"discourse/plugins/discourse-data-explorer/discourse/components/result-types/badge.hbs\",\n    \"isStrictMode\": false\n  });\n  class Badge extends _component2.default {\n    get iconOrImageReplacement() {\n      if ((0, _utils.isEmpty)(this.args.ctx.badge.icon)) {\n        return \"\";\n      }\n      if (this.args.ctx.badge.icon.indexOf(\"fa-\") > -1) {\n        const icon = (0, _iconLibrary.iconHTML)((0, _iconLibrary.convertIconClass)(this.args.ctx.badge.icon));\n        return (0, _template.htmlSafe)(icon);\n      } else {\n        return (0, _template.htmlSafe)(\"<img src='\" + this.args.ctx.badge.icon + \"'>\");\n      }\n    }\n  }\n  _exports.default = Badge;\n  (0, _component.setComponentTemplate)(__COLOCATED_TEMPLATE__, Badge);\n});","define(\"discourse/plugins/discourse-data-explorer/discourse/components/result-types/category\", [\"exports\", \"@ember/component\", \"@glimmer/component\", \"discourse/helpers/category-link\", \"@ember/template-factory\"], function (_exports, _component, _component2, _categoryLink, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  const __COLOCATED_TEMPLATE__ = (0, _templateFactory.createTemplateFactory)(\n  /*\n    {{#if @ctx.category}}\n    {{this.categoryBadgeReplacement}}\n  {{else}}\n    <a href=\"{{@ctx.baseuri}}/t/{{@ctx.id}}\">{{@ctx.id}}</a>\n  {{/if}}\n  */\n  {\n    \"id\": \"m99yca22\",\n    \"block\": \"[[[41,[30,1,[\\\"category\\\"]],[[[1,\\\"  \\\"],[1,[30,0,[\\\"categoryBadgeReplacement\\\"]]],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\"  \\\"],[10,3],[15,6,[29,[[30,1,[\\\"baseuri\\\"]],\\\"/t/\\\",[30,1,[\\\"id\\\"]]]]],[12],[1,[30,1,[\\\"id\\\"]]],[13],[1,\\\"\\\\n\\\"]],[]]]],[\\\"@ctx\\\"],false,[\\\"if\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-data-explorer/discourse/components/result-types/category.hbs\",\n    \"isStrictMode\": false\n  });\n  class Category extends _component2.default {\n    get categoryBadgeReplacement() {\n      return (0, _categoryLink.categoryLinkHTML)(this.args.ctx.category, {\n        allowUncategorized: true\n      });\n    }\n  }\n  _exports.default = Category;\n  (0, _component.setComponentTemplate)(__COLOCATED_TEMPLATE__, Category);\n});","define(\"discourse/plugins/discourse-data-explorer/discourse/components/result-types/group\", [\"exports\", \"@ember/component\", \"@ember/component/template-only\", \"@ember/template-factory\"], function (_exports, _component, _templateOnly, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  const __COLOCATED_TEMPLATE__ = (0, _templateFactory.createTemplateFactory)(\n  /*\n    {{#if @ctx.group}}\n    <a href=\"{{@ctx.baseuri}}/groups/{{@ctx.group.name}}\">{{@ctx.group.name}}</a>\n  {{else}}\n    {{@ctx.id}}\n  {{/if}}\n  */\n  {\n    \"id\": \"AjwfIfNJ\",\n    \"block\": \"[[[41,[30,1,[\\\"group\\\"]],[[[1,\\\"  \\\"],[10,3],[15,6,[29,[[30,1,[\\\"baseuri\\\"]],\\\"/groups/\\\",[30,1,[\\\"group\\\",\\\"name\\\"]]]]],[12],[1,[30,1,[\\\"group\\\",\\\"name\\\"]]],[13],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\"  \\\"],[1,[30,1,[\\\"id\\\"]]],[1,\\\"\\\\n\\\"]],[]]]],[\\\"@ctx\\\"],false,[\\\"if\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-data-explorer/discourse/components/result-types/group.hbs\",\n    \"isStrictMode\": false\n  });\n  var _default = _exports.default = (0, _component.setComponentTemplate)(__COLOCATED_TEMPLATE__, (0, _templateOnly.default)());\n});","define(\"discourse/plugins/discourse-data-explorer/discourse/components/result-types/html\", [\"exports\", \"@ember/component\", \"@ember/component/template-only\", \"@ember/template-factory\"], function (_exports, _component, _templateOnly, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  const __COLOCATED_TEMPLATE__ = (0, _templateFactory.createTemplateFactory)(\n  /*\n    {{html-safe @ctx.value}}\n  */\n  {\n    \"id\": \"i0ad8qW6\",\n    \"block\": \"[[[1,[28,[35,0],[[30,1,[\\\"value\\\"]]],null]]],[\\\"@ctx\\\"],false,[\\\"html-safe\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-data-explorer/discourse/components/result-types/html.hbs\",\n    \"isStrictMode\": false\n  });\n  var _default = _exports.default = (0, _component.setComponentTemplate)(__COLOCATED_TEMPLATE__, (0, _templateOnly.default)());\n});","define(\"discourse/plugins/discourse-data-explorer/discourse/components/result-types/json\", [\"exports\", \"@ember/component\", \"@glimmer/component\", \"@glimmer/tracking\", \"@ember/object\", \"@ember/service\", \"discourse/components/modal/fullscreen-code\", \"@ember/template-factory\"], function (_exports, _component, _component2, _tracking, _object, _service, _fullscreenCode, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _class, _descriptor, _descriptor2;\n  function _initializerDefineProperty(target, property, descriptor, context) { if (!descriptor) return; Object.defineProperty(target, property, { enumerable: descriptor.enumerable, configurable: descriptor.configurable, writable: descriptor.writable, value: descriptor.initializer ? descriptor.initializer.call(context) : void 0 }); }\n  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n  function _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == typeof i ? i : i + \"\"; }\n  function _toPrimitive(t, r) { if (\"object\" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != typeof i) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\n  function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object.keys(descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object.defineProperty(target, property, desc); desc = null; } return desc; }\n  function _initializerWarningHelper(descriptor, context) { throw new Error('Decorating class property failed. Please ensure that ' + 'transform-class-properties is enabled and runs after the decorators transform.'); }\n  const __COLOCATED_TEMPLATE__ = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <div class=\"result-json\">\n    <div class=\"result-json-value\">{{@ctx.value}}</div>\n    <DButton\n      class=\"result-json-button\"\n      @action={{action \"viewJson\"}}\n      @icon=\"ellipsis-h\"\n      @title=\"explorer.view_json\"\n    />\n  </div>\n  */\n  {\n    \"id\": \"CYU+4LhH\",\n    \"block\": \"[[[10,0],[14,0,\\\"result-json\\\"],[12],[1,\\\"\\\\n  \\\"],[10,0],[14,0,\\\"result-json-value\\\"],[12],[1,[30,1,[\\\"value\\\"]]],[13],[1,\\\"\\\\n  \\\"],[8,[39,0],[[24,0,\\\"result-json-button\\\"]],[[\\\"@action\\\",\\\"@icon\\\",\\\"@title\\\"],[[28,[37,1],[[30,0],\\\"viewJson\\\"],null],\\\"ellipsis-h\\\",\\\"explorer.view_json\\\"]],null],[1,\\\"\\\\n\\\"],[13]],[\\\"@ctx\\\"],false,[\\\"d-button\\\",\\\"action\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-data-explorer/discourse/components/result-types/json.hbs\",\n    \"isStrictMode\": false\n  });\n  let Json = _exports.default = (_class = class Json extends _component2.default {\n    constructor() {\n      super(...arguments);\n      _initializerDefineProperty(this, \"dialog\", _descriptor, this);\n      _initializerDefineProperty(this, \"modal\", _descriptor2, this);\n    }\n    get parsedJson() {\n      try {\n        return JSON.parse(this.args.ctx.value);\n      } catch {\n        return null;\n      }\n    }\n    viewJson() {\n      this.modal.show(_fullscreenCode.default, {\n        model: {\n          code: this.parsedJson ? JSON.stringify(this.parsedJson, null, 2) : this.args.ctx.value,\n          codeClasses: \"\"\n        }\n      });\n    }\n  }, (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"dialog\", [_service.inject], {\n    configurable: true,\n    enumerable: true,\n    writable: true,\n    initializer: null\n  }), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, \"modal\", [_service.inject], {\n    configurable: true,\n    enumerable: true,\n    writable: true,\n    initializer: null\n  }), _applyDecoratedDescriptor(_class.prototype, \"parsedJson\", [_tracking.cached], Object.getOwnPropertyDescriptor(_class.prototype, \"parsedJson\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"viewJson\", [_object.action], Object.getOwnPropertyDescriptor(_class.prototype, \"viewJson\"), _class.prototype)), _class);\n  (0, _component.setComponentTemplate)(__COLOCATED_TEMPLATE__, Json);\n});","define(\"discourse/plugins/discourse-data-explorer/discourse/components/result-types/post\", [\"exports\", \"@ember/component\", \"@ember/component/template-only\", \"@ember/template-factory\"], function (_exports, _component, _templateOnly, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  const __COLOCATED_TEMPLATE__ = (0, _templateFactory.createTemplateFactory)(\n  /*\n    {{#if @ctx.post}}\n    <aside\n      class=\"quote\"\n      data-post={{@ctx.post.post_number}}\n      data-topic={{@ctx.post.topic_id}}\n    >\n      <div class=\"title\">\n        <div class=\"quote-controls\">\n          {{! template-lint-disable no-invalid-link-text }}\n          <a\n            href=\"/t/via-quote/{{@ctx.post.topic_id}}/{{@ctx.post.post_number}}\"\n            title=\"go to the quoted post\"\n            class=\"quote-other-topic\"\n          >\n          </a>\n        </div>\n  \n        <a\n          class=\"result-post-link\"\n          href=\"/t/{{@ctx.post.topic_id}}/{{@ctx.post.post_number}}\"\n        >\n          {{avatar @ctx.post imageSize=\"tiny\"}}{{@ctx.post.username}}:\n        </a>\n      </div>\n  \n      <blockquote>\n        <p>\n          {{html-safe @ctx.post.excerpt}}\n        </p>\n      </blockquote>\n    </aside>\n  {{else}}\n    {{@ctx.id}}\n  {{/if}}\n  */\n  {\n    \"id\": \"ucTv8+JZ\",\n    \"block\": \"[[[41,[30,1,[\\\"post\\\"]],[[[1,\\\"  \\\"],[10,\\\"aside\\\"],[14,0,\\\"quote\\\"],[15,\\\"data-post\\\",[30,1,[\\\"post\\\",\\\"post_number\\\"]]],[15,\\\"data-topic\\\",[30,1,[\\\"post\\\",\\\"topic_id\\\"]]],[12],[1,\\\"\\\\n    \\\"],[10,0],[14,0,\\\"title\\\"],[12],[1,\\\"\\\\n      \\\"],[10,0],[14,0,\\\"quote-controls\\\"],[12],[1,\\\"\\\\n\\\"],[1,\\\"        \\\"],[10,3],[15,6,[29,[\\\"/t/via-quote/\\\",[30,1,[\\\"post\\\",\\\"topic_id\\\"]],\\\"/\\\",[30,1,[\\\"post\\\",\\\"post_number\\\"]]]]],[14,\\\"title\\\",\\\"go to the quoted post\\\"],[14,0,\\\"quote-other-topic\\\"],[12],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n\\\\n      \\\"],[10,3],[14,0,\\\"result-post-link\\\"],[15,6,[29,[\\\"/t/\\\",[30,1,[\\\"post\\\",\\\"topic_id\\\"]],\\\"/\\\",[30,1,[\\\"post\\\",\\\"post_number\\\"]]]]],[12],[1,\\\"\\\\n        \\\"],[1,[28,[35,1],[[30,1,[\\\"post\\\"]]],[[\\\"imageSize\\\"],[\\\"tiny\\\"]]]],[1,[30,1,[\\\"post\\\",\\\"username\\\"]]],[1,\\\":\\\\n      \\\"],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\\n    \\\"],[10,\\\"blockquote\\\"],[12],[1,\\\"\\\\n      \\\"],[10,2],[12],[1,\\\"\\\\n        \\\"],[1,[28,[35,2],[[30,1,[\\\"post\\\",\\\"excerpt\\\"]]],null]],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n  \\\"],[13],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\"  \\\"],[1,[30,1,[\\\"id\\\"]]],[1,\\\"\\\\n\\\"]],[]]]],[\\\"@ctx\\\"],false,[\\\"if\\\",\\\"avatar\\\",\\\"html-safe\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-data-explorer/discourse/components/result-types/post.hbs\",\n    \"isStrictMode\": false\n  });\n  var _default = _exports.default = (0, _component.setComponentTemplate)(__COLOCATED_TEMPLATE__, (0, _templateOnly.default)());\n});","define(\"discourse/plugins/discourse-data-explorer/discourse/components/result-types/reltime\", [\"exports\", \"@ember/component\", \"@glimmer/component\", \"@ember/template\", \"discourse/lib/formatter\", \"@ember/template-factory\"], function (_exports, _component, _component2, _template, _formatter, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  const __COLOCATED_TEMPLATE__ = (0, _templateFactory.createTemplateFactory)(\n  /*\n    {{this.boundDateReplacement}}\n  */\n  {\n    \"id\": \"Qf3v0/KO\",\n    \"block\": \"[[[1,[30,0,[\\\"boundDateReplacement\\\"]]]],[],false,[]]\",\n    \"moduleName\": \"discourse/plugins/discourse-data-explorer/discourse/components/result-types/reltime.hbs\",\n    \"isStrictMode\": false\n  });\n  class Reltime extends _component2.default {\n    get boundDateReplacement() {\n      return (0, _template.htmlSafe)((0, _formatter.autoUpdatingRelativeAge)(new Date(this.args.ctx.value), {\n        title: true\n      }));\n    }\n  }\n  _exports.default = Reltime;\n  (0, _component.setComponentTemplate)(__COLOCATED_TEMPLATE__, Reltime);\n});","define(\"discourse/plugins/discourse-data-explorer/discourse/components/result-types/text\", [\"exports\", \"@ember/component\", \"@ember/component/template-only\", \"@ember/template-factory\"], function (_exports, _component, _templateOnly, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  const __COLOCATED_TEMPLATE__ = (0, _templateFactory.createTemplateFactory)(\n  /*\n    {{@textValue}}\n  */\n  {\n    \"id\": \"nlXzG5uv\",\n    \"block\": \"[[[1,[30,1]]],[\\\"@textValue\\\"],false,[]]\",\n    \"moduleName\": \"discourse/plugins/discourse-data-explorer/discourse/components/result-types/text.hbs\",\n    \"isStrictMode\": false\n  });\n  var _default = _exports.default = (0, _component.setComponentTemplate)(__COLOCATED_TEMPLATE__, (0, _templateOnly.default)());\n});","define(\"discourse/plugins/discourse-data-explorer/discourse/components/result-types/topic\", [\"exports\", \"@ember/component\", \"@ember/component/template-only\", \"@ember/template-factory\"], function (_exports, _component, _templateOnly, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  const __COLOCATED_TEMPLATE__ = (0, _templateFactory.createTemplateFactory)(\n  /*\n    {{#if @ctx.topic}}\n    <a href=\"{{@ctx.baseuri}}/t/{{@ctx.topic.slug}}/{{@ctx.topic.id}}\">\n      {{html-safe @ctx.topic.fancy_title}}\n    </a>\n    ({{@ctx.topic.posts_count}})\n  {{else}}\n    <a href=\"{{@ctx.baseuri}}/t/{{@ctx.id}}\">{{@ctx.id}}</a>\n  {{/if}}\n  */\n  {\n    \"id\": \"RxCbvO7x\",\n    \"block\": \"[[[41,[30,1,[\\\"topic\\\"]],[[[1,\\\"  \\\"],[10,3],[15,6,[29,[[30,1,[\\\"baseuri\\\"]],\\\"/t/\\\",[30,1,[\\\"topic\\\",\\\"slug\\\"]],\\\"/\\\",[30,1,[\\\"topic\\\",\\\"id\\\"]]]]],[12],[1,\\\"\\\\n    \\\"],[1,[28,[35,1],[[30,1,[\\\"topic\\\",\\\"fancy_title\\\"]]],null]],[1,\\\"\\\\n  \\\"],[13],[1,\\\"\\\\n  (\\\"],[1,[30,1,[\\\"topic\\\",\\\"posts_count\\\"]]],[1,\\\")\\\\n\\\"]],[]],[[[1,\\\"  \\\"],[10,3],[15,6,[29,[[30,1,[\\\"baseuri\\\"]],\\\"/t/\\\",[30,1,[\\\"id\\\"]]]]],[12],[1,[30,1,[\\\"id\\\"]]],[13],[1,\\\"\\\\n\\\"]],[]]]],[\\\"@ctx\\\"],false,[\\\"if\\\",\\\"html-safe\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-data-explorer/discourse/components/result-types/topic.hbs\",\n    \"isStrictMode\": false\n  });\n  var _default = _exports.default = (0, _component.setComponentTemplate)(__COLOCATED_TEMPLATE__, (0, _templateOnly.default)());\n});","define(\"discourse/plugins/discourse-data-explorer/discourse/components/result-types/url\", [\"exports\", \"@ember/component\", \"@ember/component/template-only\", \"@ember/template-factory\"], function (_exports, _component, _templateOnly, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  const __COLOCATED_TEMPLATE__ = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <a href={{@ctx.href}}>{{@ctx.target}}</a>\n  */\n  {\n    \"id\": \"tVGKiwpM\",\n    \"block\": \"[[[10,3],[15,6,[30,1,[\\\"href\\\"]]],[12],[1,[30,1,[\\\"target\\\"]]],[13]],[\\\"@ctx\\\"],false,[]]\",\n    \"moduleName\": \"discourse/plugins/discourse-data-explorer/discourse/components/result-types/url.hbs\",\n    \"isStrictMode\": false\n  });\n  var _default = _exports.default = (0, _component.setComponentTemplate)(__COLOCATED_TEMPLATE__, (0, _templateOnly.default)());\n});","define(\"discourse/plugins/discourse-data-explorer/discourse/components/result-types/user\", [\"exports\", \"@ember/component\", \"@ember/component/template-only\", \"@ember/template-factory\"], function (_exports, _component, _templateOnly, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  const __COLOCATED_TEMPLATE__ = (0, _templateFactory.createTemplateFactory)(\n  /*\n    {{#if @ctx.user}}\n    <a\n      href=\"{{@ctx.baseuri}}/u/{{@ctx.user.username}}/activity\"\n      data-user-card={{@ctx.user.username}}\n    >\n      {{avatar @ctx.user imageSize=\"tiny\"}}\n      {{@ctx.user.username}}\n    </a>\n  {{else}}\n    {{@ctx.id}}\n  {{/if}}\n  */\n  {\n    \"id\": \"vYgS4yPl\",\n    \"block\": \"[[[41,[30,1,[\\\"user\\\"]],[[[1,\\\"  \\\"],[10,3],[15,6,[29,[[30,1,[\\\"baseuri\\\"]],\\\"/u/\\\",[30,1,[\\\"user\\\",\\\"username\\\"]],\\\"/activity\\\"]]],[15,\\\"data-user-card\\\",[30,1,[\\\"user\\\",\\\"username\\\"]]],[12],[1,\\\"\\\\n    \\\"],[1,[28,[35,1],[[30,1,[\\\"user\\\"]]],[[\\\"imageSize\\\"],[\\\"tiny\\\"]]]],[1,\\\"\\\\n    \\\"],[1,[30,1,[\\\"user\\\",\\\"username\\\"]]],[1,\\\"\\\\n  \\\"],[13],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\"  \\\"],[1,[30,1,[\\\"id\\\"]]],[1,\\\"\\\\n\\\"]],[]]]],[\\\"@ctx\\\"],false,[\\\"if\\\",\\\"avatar\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-data-explorer/discourse/components/result-types/user.hbs\",\n    \"isStrictMode\": false\n  });\n  var _default = _exports.default = (0, _component.setComponentTemplate)(__COLOCATED_TEMPLATE__, (0, _templateOnly.default)());\n});","define(\"discourse/plugins/discourse-data-explorer/discourse/components/share-report\", [\"exports\", \"@ember/component\", \"@glimmer/component\", \"@glimmer/tracking\", \"@ember/object\", \"discourse-common/lib/get-url\", \"discourse-common/utils/decorators\", \"@ember/template-factory\"], function (_exports, _component, _component2, _tracking, _object, _getUrl, _decorators, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _class, _descriptor;\n  function _initializerDefineProperty(target, property, descriptor, context) { if (!descriptor) return; Object.defineProperty(target, property, { enumerable: descriptor.enumerable, configurable: descriptor.configurable, writable: descriptor.writable, value: descriptor.initializer ? descriptor.initializer.call(context) : void 0 }); }\n  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n  function _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == typeof i ? i : i + \"\"; }\n  function _toPrimitive(t, r) { if (\"object\" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != typeof i) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\n  function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object.keys(descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object.defineProperty(target, property, desc); desc = null; } return desc; }\n  function _initializerWarningHelper(descriptor, context) { throw new Error('Decorating class property failed. Please ensure that ' + 'transform-class-properties is enabled and runs after the decorators transform.'); }\n  const __COLOCATED_TEMPLATE__ = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <div class=\"share-report\">\n    <a href=\"#\" {{on \"click\" this.open}} class=\"share-report-button\">\n      {{d-icon \"link\"}}\n      {{@group}}\n    </a>\n  \n    {{#if this.visible}}\n      <div\n        class=\"popup\"\n        {{did-insert this.registerListeners}}\n        {{will-destroy this.unregisterListeners}}\n      >\n        <label>{{i18n \"explorer.link\"}} {{@group}}</label>\n        <input type=\"text\" value={{this.link}} {{did-insert this.focusInput}} />\n  \n        <DButton\n          @action={{this.close}}\n          @icon=\"times\"\n          @aria-label=\"share.close\"\n          @title=\"share.close\"\n          class=\"btn-flat close\"\n        />\n      </div>\n    {{/if}}\n  </div>\n  */\n  {\n    \"id\": \"g4Pe1UEy\",\n    \"block\": \"[[[10,0],[14,0,\\\"share-report\\\"],[12],[1,\\\"\\\\n  \\\"],[11,3],[24,6,\\\"#\\\"],[24,0,\\\"share-report-button\\\"],[4,[38,0],[\\\"click\\\",[30,0,[\\\"open\\\"]]],null],[12],[1,\\\"\\\\n    \\\"],[1,[28,[35,1],[\\\"link\\\"],null]],[1,\\\"\\\\n    \\\"],[1,[30,1]],[1,\\\"\\\\n  \\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[41,[30,0,[\\\"visible\\\"]],[[[1,\\\"    \\\"],[11,0],[24,0,\\\"popup\\\"],[4,[38,3],[[30,0,[\\\"registerListeners\\\"]]],null],[4,[38,4],[[30,0,[\\\"unregisterListeners\\\"]]],null],[12],[1,\\\"\\\\n      \\\"],[10,\\\"label\\\"],[12],[1,[28,[35,5],[\\\"explorer.link\\\"],null]],[1,\\\" \\\"],[1,[30,1]],[13],[1,\\\"\\\\n      \\\"],[11,\\\"input\\\"],[16,2,[30,0,[\\\"link\\\"]]],[24,4,\\\"text\\\"],[4,[38,3],[[30,0,[\\\"focusInput\\\"]]],null],[12],[13],[1,\\\"\\\\n\\\\n      \\\"],[8,[39,6],[[24,0,\\\"btn-flat close\\\"]],[[\\\"@action\\\",\\\"@icon\\\",\\\"@aria-label\\\",\\\"@title\\\"],[[30,0,[\\\"close\\\"]],\\\"times\\\",\\\"share.close\\\",\\\"share.close\\\"]],null],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[13]],[\\\"@group\\\"],false,[\\\"on\\\",\\\"d-icon\\\",\\\"if\\\",\\\"did-insert\\\",\\\"will-destroy\\\",\\\"i18n\\\",\\\"d-button\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-data-explorer/discourse/components/share-report.hbs\",\n    \"isStrictMode\": false\n  });\n  let ShareReport = _exports.default = (_class = class ShareReport extends _component2.default {\n    constructor() {\n      super(...arguments);\n      _initializerDefineProperty(this, \"visible\", _descriptor, this);\n      _defineProperty(this, \"element\", void 0);\n    }\n    get link() {\n      return (0, _getUrl.default)(`/g/${this.args.group}/reports/${this.args.query.id}`);\n    }\n    mouseDownHandler(e) {\n      if (!this.element.contains(e.target)) {\n        this.close();\n      }\n    }\n    keyDownHandler(e) {\n      if (e.keyCode === 27) {\n        this.close();\n      }\n    }\n    registerListeners(element) {\n      if (!element || this.isDestroying || this.isDestroyed) {\n        return;\n      }\n      this.element = element;\n      document.addEventListener(\"mousedown\", this.mouseDownHandler);\n      element.addEventListener(\"keydown\", this.keyDownHandler);\n    }\n    unregisterListeners(element) {\n      this.element = element;\n      document.removeEventListener(\"mousedown\", this.mouseDownHandler);\n      element.removeEventListener(\"keydown\", this.keyDownHandler);\n    }\n    focusInput(e) {\n      e.select();\n      e.focus();\n    }\n    open(e) {\n      e.preventDefault();\n      this.visible = true;\n    }\n    close() {\n      this.visible = false;\n    }\n  }, (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"visible\", [_tracking.tracked], {\n    configurable: true,\n    enumerable: true,\n    writable: true,\n    initializer: function () {\n      return false;\n    }\n  }), _applyDecoratedDescriptor(_class.prototype, \"mouseDownHandler\", [_decorators.bind], Object.getOwnPropertyDescriptor(_class.prototype, \"mouseDownHandler\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"keyDownHandler\", [_decorators.bind], Object.getOwnPropertyDescriptor(_class.prototype, \"keyDownHandler\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"registerListeners\", [_object.action], Object.getOwnPropertyDescriptor(_class.prototype, \"registerListeners\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"unregisterListeners\", [_object.action], Object.getOwnPropertyDescriptor(_class.prototype, \"unregisterListeners\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"focusInput\", [_object.action], Object.getOwnPropertyDescriptor(_class.prototype, \"focusInput\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"open\", [_object.action], Object.getOwnPropertyDescriptor(_class.prototype, \"open\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"close\", [_object.action], Object.getOwnPropertyDescriptor(_class.prototype, \"close\"), _class.prototype)), _class);\n  (0, _component.setComponentTemplate)(__COLOCATED_TEMPLATE__, ShareReport);\n});","define(\"discourse/plugins/discourse-data-explorer/discourse/connectors/group-reports-nav-item/nav-item\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = {\n    shouldRender(args) {\n      return args.group.has_visible_data_explorer_queries;\n    }\n  };\n});","define(\"discourse/plugins/discourse-data-explorer/discourse/controllers/admin-plugins-explorer\", [\"exports\", \"@glimmer/tracking\", \"@ember/controller\", \"@ember/object\", \"@ember/service\", \"rsvp\", \"discourse/lib/ajax\", \"discourse/lib/ajax-error\", \"discourse-common/utils/decorators\", \"I18n\", \"discourse/plugins/discourse-data-explorer/discourse/components/modal/query-help\", \"discourse/plugins/discourse-data-explorer/discourse/models/query\"], function (_exports, _tracking, _controller, _object, _service, _rsvp, _ajax, _ajaxError, _decorators, _I18n, _queryHelp, _query) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _class, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6, _descriptor7, _descriptor8, _descriptor9, _descriptor10, _descriptor11, _descriptor12, _descriptor13, _descriptor14, _descriptor15, _descriptor16, _descriptor17, _descriptor18;\n  function _initializerDefineProperty(target, property, descriptor, context) { if (!descriptor) return; Object.defineProperty(target, property, { enumerable: descriptor.enumerable, configurable: descriptor.configurable, writable: descriptor.writable, value: descriptor.initializer ? descriptor.initializer.call(context) : void 0 }); }\n  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n  function _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == typeof i ? i : i + \"\"; }\n  function _toPrimitive(t, r) { if (\"object\" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != typeof i) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\n  function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object.keys(descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object.defineProperty(target, property, desc); desc = null; } return desc; }\n  function _initializerWarningHelper(descriptor, context) { throw new Error('Decorating class property failed. Please ensure that ' + 'transform-class-properties is enabled and runs after the decorators transform.'); }\n  const NoQuery = _query.default.create({\n    name: \"No queries\",\n    fake: true,\n    group_ids: []\n  });\n  let PluginsExplorerController = _exports.default = (_class = class PluginsExplorerController extends _controller.default {\n    constructor() {\n      super(...arguments);\n      _initializerDefineProperty(this, \"modal\", _descriptor, this);\n      _initializerDefineProperty(this, \"dialog\", _descriptor2, this);\n      _initializerDefineProperty(this, \"appEvents\", _descriptor3, this);\n      _initializerDefineProperty(this, \"router\", _descriptor4, this);\n      _initializerDefineProperty(this, \"sortByProperty\", _descriptor5, this);\n      _initializerDefineProperty(this, \"sortDescending\", _descriptor6, this);\n      _initializerDefineProperty(this, \"params\", _descriptor7, this);\n      _initializerDefineProperty(this, \"search\", _descriptor8, this);\n      _initializerDefineProperty(this, \"newQueryName\", _descriptor9, this);\n      _initializerDefineProperty(this, \"showCreate\", _descriptor10, this);\n      _initializerDefineProperty(this, \"editingName\", _descriptor11, this);\n      _initializerDefineProperty(this, \"editingQuery\", _descriptor12, this);\n      _initializerDefineProperty(this, \"selectedQueryId\", _descriptor13, this);\n      _initializerDefineProperty(this, \"loading\", _descriptor14, this);\n      _initializerDefineProperty(this, \"showResults\", _descriptor15, this);\n      _initializerDefineProperty(this, \"hideSchema\", _descriptor16, this);\n      _initializerDefineProperty(this, \"results\", _descriptor17, this);\n      _initializerDefineProperty(this, \"dirty\", _descriptor18, this);\n      _defineProperty(this, \"queryParams\", [\"params\", {\n        selectedQueryId: \"id\"\n      }]);\n      _defineProperty(this, \"explain\", false);\n      _defineProperty(this, \"acceptedImportFileTypes\", [\"application/json\"]);\n      _defineProperty(this, \"order\", null);\n    }\n    get validQueryPresent() {\n      return !!this.selectedItem.id;\n    }\n    get saveDisabled() {\n      return !this.dirty;\n    }\n    get runDisabled() {\n      return this.dirty;\n    }\n    get sortedQueries() {\n      const sortedQueries = this.model.sortBy(this.sortByProperty);\n      return this.sortDescending ? sortedQueries.reverse() : sortedQueries;\n    }\n    get parsedParams() {\n      return this.params ? JSON.parse(this.params) : null;\n    }\n    get filteredContent() {\n      const regexp = new RegExp(this.search, \"i\");\n      return this.sortedQueries.filter(result => regexp.test(result.name) || regexp.test(result.description));\n    }\n    get createDisabled() {\n      return (this.newQueryName || \"\").trim().length === 0;\n    }\n    get selectedItem() {\n      const query = this.model.findBy(\"id\", parseInt(this.selectedQueryId, 10));\n      return query || NoQuery;\n    }\n    get editDisabled() {\n      return parseInt(this.selectedQueryId, 10) < 0 ? true : false;\n    }\n    get groupOptions() {\n      return this.groups.filter(g => g.id !== 0).map(g => {\n        return {\n          id: g.id,\n          name: g.name\n        };\n      });\n    }\n    get othersDirty() {\n      return !!this.model.find(q => q !== this.selectedItem && this.dirty);\n    }\n    addCreatedRecord(record) {\n      this.model.pushObject(record);\n      this.selectedQueryId = record.id;\n      this.dirty = false;\n      this.setProperties({\n        showResults: false,\n        results: null,\n        editingName: true,\n        editingQuery: true\n      });\n    }\n    async save() {\n      try {\n        this.loading = true;\n        await this.selectedItem.save();\n        this.dirty = false;\n        this.editingName = false;\n      } catch (error) {\n        (0, _ajaxError.popupAjaxError)(error);\n        throw error;\n      } finally {\n        this.loading = false;\n      }\n    }\n    saveAndRun() {\n      this.save().then(() => this.run());\n    }\n    async _importQuery(file) {\n      const json = await this._readFileAsTextAsync(file);\n      const query = this._parseQuery(json);\n      const record = this.store.createRecord(\"query\", query);\n      const response = await record.save();\n      return response.target;\n    }\n    _parseQuery(json) {\n      const parsed = JSON.parse(json);\n      const query = parsed.query;\n      if (!query || !query.sql) {\n        throw new TypeError();\n      }\n      query.id = 0; // 0 means no Id yet\n      return query;\n    }\n    _readFileAsTextAsync(file) {\n      return new _rsvp.Promise((resolve, reject) => {\n        const reader = new FileReader();\n        reader.onload = () => {\n          resolve(reader.result);\n        };\n        reader.onerror = reject;\n        reader.readAsText(file);\n      });\n    }\n    dragMove(e) {\n      if (!e.movementY && !e.movementX) {\n        return;\n      }\n      const editPane = document.querySelector(\".query-editor\");\n      const target = editPane.querySelector(\".panels-flex\");\n      const grippie = editPane.querySelector(\".grippie\");\n\n      // we need to get the initial height / width of edit pane\n      // before we manipulate the size\n      if (!this.initialPaneWidth && !this.originalPaneHeight) {\n        this.originalPaneWidth = target.clientWidth;\n        this.originalPaneHeight = target.clientHeight;\n      }\n      const newHeight = Math.max(this.originalPaneHeight, target.clientHeight + e.movementY);\n      const newWidth = Math.max(this.originalPaneWidth, target.clientWidth + e.movementX);\n      target.style.height = newHeight + \"px\";\n      target.style.width = newWidth + \"px\";\n      grippie.style.width = newWidth + \"px\";\n      this.appEvents.trigger(\"ace:resize\");\n    }\n    didStartDrag() {}\n    didEndDrag() {}\n    scrollTop() {\n      window.scrollTo(0, 0);\n      this.editingName = false;\n      this.editingQuery = false;\n    }\n    updateGroupIds(value) {\n      this.dirty = true;\n      this.selectedItem.set(\"group_ids\", value);\n    }\n    updateHideSchema(value) {\n      this.hideSchema = value;\n    }\n    async import(files) {\n      try {\n        this.loading = true;\n        const file = files[0];\n        const record = await this._importQuery(file);\n        this.addCreatedRecord(record);\n      } catch (e) {\n        if (e.jqXHR) {\n          (0, _ajaxError.popupAjaxError)(e);\n        } else if (e instanceof SyntaxError) {\n          this.dialog.alert(_I18n.default.t(\"explorer.import.unparseable_json\"));\n        } else if (e instanceof TypeError) {\n          this.dialog.alert(_I18n.default.t(\"explorer.import.wrong_json\"));\n        } else {\n          this.dialog.alert(_I18n.default.t(\"errors.desc.unknown\"));\n          // eslint-disable-next-line no-console\n          console.error(e);\n        }\n      } finally {\n        this.loading = false;\n        this.dirty = true;\n      }\n    }\n    displayCreate() {\n      this.showCreate = true;\n    }\n    editName() {\n      this.editingName = true;\n    }\n    editQuery() {\n      this.editingQuery = true;\n    }\n    download() {\n      window.open(this.selectedItem.downloadUrl, \"_blank\");\n    }\n    goHome() {\n      this.order = null;\n      this.showResults = false;\n      this.selectedQueryId = null;\n      this.params = null;\n      this.sortByProperty = \"last_run_at\";\n      this.sortDescending = true;\n      this.router.transitionTo({\n        queryParams: {\n          id: null,\n          params: null\n        }\n      });\n    }\n    showHelpModal() {\n      this.modal.show(_queryHelp.default);\n    }\n    resetParams() {\n      this.selectedItem.resetParams();\n    }\n    updateSortProperty(property) {\n      if (this.sortByProperty === property) {\n        this.sortDescending = !this.sortDescending;\n      } else {\n        this.sortByProperty = property;\n        this.sortDescending = true;\n      }\n    }\n    async create() {\n      try {\n        const name = this.newQueryName.trim();\n        this.loading = true;\n        this.showCreate = false;\n        const result = await this.store.createRecord(\"query\", {\n          name\n        }).save();\n        this.addCreatedRecord(result.target);\n      } catch (error) {\n        (0, _ajaxError.popupAjaxError)(error);\n      } finally {\n        this.loading = false;\n        this.dirty = true;\n      }\n    }\n    async discard() {\n      try {\n        this.loading = true;\n        const result = await this.store.find(\"query\", this.selectedItem.id);\n        this.selectedItem.setProperties(result.getProperties(_query.default.updatePropertyNames));\n        if (!this.selectedItem.group_ids || !Array.isArray(this.selectedItem.group_ids)) {\n          this.selectedItem.set(\"group_ids\", []);\n        }\n        this.dirty = false;\n      } catch (error) {\n        (0, _ajaxError.popupAjaxError)(error);\n      } finally {\n        this.loading = false;\n      }\n    }\n    async destroyQuery() {\n      try {\n        this.loading = true;\n        this.showResults = false;\n        await this.store.destroyRecord(\"query\", this.selectedItem);\n        this.selectedItem.set(\"destroyed\", true);\n      } catch (error) {\n        (0, _ajaxError.popupAjaxError)(error);\n      } finally {\n        this.loading = false;\n      }\n    }\n    async recover() {\n      try {\n        this.loading = true;\n        this.showResults = true;\n        await this.selectedItem.save();\n        this.selectedItem.set(\"destroyed\", false);\n      } catch (error) {\n        (0, _ajaxError.popupAjaxError)(error);\n      } finally {\n        this.loading = false;\n      }\n    }\n    updateParams(identifier, value) {\n      this.selectedItem.set(`params.${identifier}`, value);\n    }\n    updateSearch(value) {\n      this.search = value;\n    }\n    updateNewQueryName(value) {\n      this.newQueryName = value;\n    }\n    setDirty() {\n      this.dirty = true;\n    }\n    exitEdit() {\n      this.editingName = false;\n    }\n    run() {\n      this.setProperties({\n        loading: true,\n        showResults: false,\n        params: JSON.stringify(this.selectedItem.params)\n      });\n      (0, _ajax.ajax)(\"/admin/plugins/explorer/queries/\" + this.selectedItem.id + \"/run\", {\n        type: \"POST\",\n        data: {\n          params: JSON.stringify(this.selectedItem.params),\n          explain: this.explain\n        }\n      }).then(result => {\n        this.results = result;\n        if (!result.success) {\n          this.showResults = false;\n          return;\n        }\n        this.showResults = true;\n      }).catch(err => {\n        this.showResults = false;\n        if (err.jqXHR && err.jqXHR.status === 422 && err.jqXHR.responseJSON) {\n          this.results = err.jqXHR.responseJSON;\n        } else {\n          (0, _ajaxError.popupAjaxError)(err);\n        }\n      }).finally(() => this.loading = false);\n    }\n  }, (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"modal\", [_service.inject], {\n    configurable: true,\n    enumerable: true,\n    writable: true,\n    initializer: null\n  }), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, \"dialog\", [_service.inject], {\n    configurable: true,\n    enumerable: true,\n    writable: true,\n    initializer: null\n  }), _descriptor3 = _applyDecoratedDescriptor(_class.prototype, \"appEvents\", [_service.inject], {\n    configurable: true,\n    enumerable: true,\n    writable: true,\n    initializer: null\n  }), _descriptor4 = _applyDecoratedDescriptor(_class.prototype, \"router\", [_service.inject], {\n    configurable: true,\n    enumerable: true,\n    writable: true,\n    initializer: null\n  }), _descriptor5 = _applyDecoratedDescriptor(_class.prototype, \"sortByProperty\", [_tracking.tracked], {\n    configurable: true,\n    enumerable: true,\n    writable: true,\n    initializer: function () {\n      return \"last_run_at\";\n    }\n  }), _descriptor6 = _applyDecoratedDescriptor(_class.prototype, \"sortDescending\", [_tracking.tracked], {\n    configurable: true,\n    enumerable: true,\n    writable: true,\n    initializer: function () {\n      return true;\n    }\n  }), _descriptor7 = _applyDecoratedDescriptor(_class.prototype, \"params\", [_tracking.tracked], {\n    configurable: true,\n    enumerable: true,\n    writable: true,\n    initializer: null\n  }), _descriptor8 = _applyDecoratedDescriptor(_class.prototype, \"search\", [_tracking.tracked], {\n    configurable: true,\n    enumerable: true,\n    writable: true,\n    initializer: null\n  }), _descriptor9 = _applyDecoratedDescriptor(_class.prototype, \"newQueryName\", [_tracking.tracked], {\n    configurable: true,\n    enumerable: true,\n    writable: true,\n    initializer: null\n  }), _descriptor10 = _applyDecoratedDescriptor(_class.prototype, \"showCreate\", [_tracking.tracked], {\n    configurable: true,\n    enumerable: true,\n    writable: true,\n    initializer: null\n  }), _descriptor11 = _applyDecoratedDescriptor(_class.prototype, \"editingName\", [_tracking.tracked], {\n    configurable: true,\n    enumerable: true,\n    writable: true,\n    initializer: function () {\n      return false;\n    }\n  }), _descriptor12 = _applyDecoratedDescriptor(_class.prototype, \"editingQuery\", [_tracking.tracked], {\n    configurable: true,\n    enumerable: true,\n    writable: true,\n    initializer: function () {\n      return false;\n    }\n  }), _descriptor13 = _applyDecoratedDescriptor(_class.prototype, \"selectedQueryId\", [_tracking.tracked], {\n    configurable: true,\n    enumerable: true,\n    writable: true,\n    initializer: null\n  }), _descriptor14 = _applyDecoratedDescriptor(_class.prototype, \"loading\", [_tracking.tracked], {\n    configurable: true,\n    enumerable: true,\n    writable: true,\n    initializer: function () {\n      return false;\n    }\n  }), _descriptor15 = _applyDecoratedDescriptor(_class.prototype, \"showResults\", [_tracking.tracked], {\n    configurable: true,\n    enumerable: true,\n    writable: true,\n    initializer: function () {\n      return false;\n    }\n  }), _descriptor16 = _applyDecoratedDescriptor(_class.prototype, \"hideSchema\", [_tracking.tracked], {\n    configurable: true,\n    enumerable: true,\n    writable: true,\n    initializer: function () {\n      return false;\n    }\n  }), _descriptor17 = _applyDecoratedDescriptor(_class.prototype, \"results\", [_tracking.tracked], {\n    configurable: true,\n    enumerable: true,\n    writable: true,\n    initializer: function () {\n      return this.selectedItem.results;\n    }\n  }), _descriptor18 = _applyDecoratedDescriptor(_class.prototype, \"dirty\", [_tracking.tracked], {\n    configurable: true,\n    enumerable: true,\n    writable: true,\n    initializer: function () {\n      return false;\n    }\n  }), _applyDecoratedDescriptor(_class.prototype, \"save\", [_object.action], Object.getOwnPropertyDescriptor(_class.prototype, \"save\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"saveAndRun\", [_object.action], Object.getOwnPropertyDescriptor(_class.prototype, \"saveAndRun\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"dragMove\", [_decorators.bind], Object.getOwnPropertyDescriptor(_class.prototype, \"dragMove\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"didStartDrag\", [_decorators.bind], Object.getOwnPropertyDescriptor(_class.prototype, \"didStartDrag\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"didEndDrag\", [_decorators.bind], Object.getOwnPropertyDescriptor(_class.prototype, \"didEndDrag\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"scrollTop\", [_decorators.bind], Object.getOwnPropertyDescriptor(_class.prototype, \"scrollTop\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"updateGroupIds\", [_object.action], Object.getOwnPropertyDescriptor(_class.prototype, \"updateGroupIds\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"updateHideSchema\", [_object.action], Object.getOwnPropertyDescriptor(_class.prototype, \"updateHideSchema\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"import\", [_object.action], Object.getOwnPropertyDescriptor(_class.prototype, \"import\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"displayCreate\", [_object.action], Object.getOwnPropertyDescriptor(_class.prototype, \"displayCreate\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"editName\", [_object.action], Object.getOwnPropertyDescriptor(_class.prototype, \"editName\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"editQuery\", [_object.action], Object.getOwnPropertyDescriptor(_class.prototype, \"editQuery\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"download\", [_object.action], Object.getOwnPropertyDescriptor(_class.prototype, \"download\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"goHome\", [_object.action], Object.getOwnPropertyDescriptor(_class.prototype, \"goHome\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"showHelpModal\", [_object.action], Object.getOwnPropertyDescriptor(_class.prototype, \"showHelpModal\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"resetParams\", [_object.action], Object.getOwnPropertyDescriptor(_class.prototype, \"resetParams\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"updateSortProperty\", [_object.action], Object.getOwnPropertyDescriptor(_class.prototype, \"updateSortProperty\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"create\", [_object.action], Object.getOwnPropertyDescriptor(_class.prototype, \"create\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"discard\", [_object.action], Object.getOwnPropertyDescriptor(_class.prototype, \"discard\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"destroyQuery\", [_object.action], Object.getOwnPropertyDescriptor(_class.prototype, \"destroyQuery\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"recover\", [_object.action], Object.getOwnPropertyDescriptor(_class.prototype, \"recover\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"updateParams\", [_object.action], Object.getOwnPropertyDescriptor(_class.prototype, \"updateParams\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"updateSearch\", [_object.action], Object.getOwnPropertyDescriptor(_class.prototype, \"updateSearch\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"updateNewQueryName\", [_object.action], Object.getOwnPropertyDescriptor(_class.prototype, \"updateNewQueryName\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"setDirty\", [_object.action], Object.getOwnPropertyDescriptor(_class.prototype, \"setDirty\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"exitEdit\", [_object.action], Object.getOwnPropertyDescriptor(_class.prototype, \"exitEdit\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"run\", [_object.action], Object.getOwnPropertyDescriptor(_class.prototype, \"run\"), _class.prototype)), _class);\n});","define(\"discourse/plugins/discourse-data-explorer/discourse/controllers/group-reports-index\", [\"exports\", \"@ember/controller\"], function (_exports, _controller) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  class GroupReportsIndexController extends _controller.default {}\n  _exports.default = GroupReportsIndexController;\n});","define(\"discourse/plugins/discourse-data-explorer/discourse/controllers/group-reports-show\", [\"exports\", \"@glimmer/tracking\", \"@ember/controller\", \"@ember/object\", \"@ember/service\", \"discourse/components/modal/bookmark\", \"discourse/lib/ajax\", \"discourse/lib/ajax-error\", \"discourse/lib/bookmark\", \"discourse/models/bookmark\", \"discourse-common/utils/decorators\"], function (_exports, _tracking, _controller, _object, _service, _bookmark, _ajax, _ajaxError, _bookmark2, _bookmark3, _decorators) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _class, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6;\n  function _initializerDefineProperty(target, property, descriptor, context) { if (!descriptor) return; Object.defineProperty(target, property, { enumerable: descriptor.enumerable, configurable: descriptor.configurable, writable: descriptor.writable, value: descriptor.initializer ? descriptor.initializer.call(context) : void 0 }); }\n  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n  function _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == typeof i ? i : i + \"\"; }\n  function _toPrimitive(t, r) { if (\"object\" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != typeof i) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\n  function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object.keys(descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object.defineProperty(target, property, desc); desc = null; } return desc; }\n  function _initializerWarningHelper(descriptor, context) { throw new Error('Decorating class property failed. Please ensure that ' + 'transform-class-properties is enabled and runs after the decorators transform.'); }\n  let GroupReportsShowController = _exports.default = (_class = class GroupReportsShowController extends _controller.default {\n    constructor() {\n      super(...arguments);\n      _initializerDefineProperty(this, \"currentUser\", _descriptor, this);\n      _initializerDefineProperty(this, \"modal\", _descriptor2, this);\n      _initializerDefineProperty(this, \"showResults\", _descriptor3, this);\n      _initializerDefineProperty(this, \"loading\", _descriptor4, this);\n      _initializerDefineProperty(this, \"results\", _descriptor5, this);\n      _initializerDefineProperty(this, \"queryGroupBookmark\", _descriptor6, this);\n      _defineProperty(this, \"explain\", false);\n    }\n    get hasParams() {\n      return this.model.param_info.length > 0;\n    }\n    get bookmarkLabel() {\n      return this.queryGroupBookmark ? \"bookmarked.edit_bookmark\" : \"bookmarked.title\";\n    }\n    get bookmarkIcon() {\n      if (this.queryGroupBookmark && this.queryGroupBookmark.reminder_at) {\n        return _bookmark3.WITH_REMINDER_ICON;\n      }\n      return _bookmark3.NO_REMINDER_ICON;\n    }\n    get bookmarkClassName() {\n      return this.queryGroupBookmark ? [\"query-group-bookmark\", \"bookmarked\"].join(\" \") : \"query-group-bookmark\";\n    }\n    async run() {\n      this.loading = true;\n      this.showResults = false;\n      try {\n        const response = await (0, _ajax.ajax)(`/g/${this.get(\"group.name\")}/reports/${this.model.id}/run`, {\n          type: \"POST\",\n          data: {\n            params: JSON.stringify(this.model.params),\n            explain: this.explain\n          }\n        });\n        this.results = response;\n        if (!response.success) {\n          return;\n        }\n        this.showResults = true;\n      } catch (error) {\n        if (error.jqXHR?.status === 422 && error.jqXHR.responseJSON) {\n          this.results = error.jqXHR.responseJSON;\n        } else {\n          (0, _ajaxError.popupAjaxError)(error);\n        }\n      } finally {\n        this.loading = false;\n      }\n    }\n    toggleBookmark() {\n      const modalBookmark = this.queryGroupBookmark || this.store.createRecord(\"bookmark\", {\n        bookmarkable_type: \"DiscourseDataExplorer::QueryGroup\",\n        bookmarkable_id: this.queryGroup.id,\n        user_id: this.currentUser.id\n      });\n      return this.modal.show(_bookmark.default, {\n        model: {\n          bookmark: new _bookmark2.BookmarkFormData(modalBookmark),\n          afterSave: savedData => {\n            const bookmark = this.store.createRecord(\"bookmark\", savedData);\n            this.queryGroupBookmark = bookmark;\n            this.appEvents.trigger(\"bookmarks:changed\", savedData, bookmark.attachedTo());\n          },\n          afterDelete: () => {\n            this.queryGroupBookmark = null;\n          }\n        }\n      });\n    }\n\n    // This is necessary with glimmer's one way data stream to get the child's\n    // changes of 'params' to bubble up.\n    updateParams(identifier, value) {\n      this.set(`model.params.${identifier}`, value);\n    }\n  }, (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"currentUser\", [_service.inject], {\n    configurable: true,\n    enumerable: true,\n    writable: true,\n    initializer: null\n  }), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, \"modal\", [_service.inject], {\n    configurable: true,\n    enumerable: true,\n    writable: true,\n    initializer: null\n  }), _descriptor3 = _applyDecoratedDescriptor(_class.prototype, \"showResults\", [_tracking.tracked], {\n    configurable: true,\n    enumerable: true,\n    writable: true,\n    initializer: function () {\n      return false;\n    }\n  }), _descriptor4 = _applyDecoratedDescriptor(_class.prototype, \"loading\", [_tracking.tracked], {\n    configurable: true,\n    enumerable: true,\n    writable: true,\n    initializer: function () {\n      return false;\n    }\n  }), _descriptor5 = _applyDecoratedDescriptor(_class.prototype, \"results\", [_tracking.tracked], {\n    configurable: true,\n    enumerable: true,\n    writable: true,\n    initializer: function () {\n      return this.model.results;\n    }\n  }), _descriptor6 = _applyDecoratedDescriptor(_class.prototype, \"queryGroupBookmark\", [_tracking.tracked], {\n    configurable: true,\n    enumerable: true,\n    writable: true,\n    initializer: function () {\n      return this.queryGroup?.bookmark;\n    }\n  }), _applyDecoratedDescriptor(_class.prototype, \"run\", [_decorators.bind], Object.getOwnPropertyDescriptor(_class.prototype, \"run\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"toggleBookmark\", [_object.action], Object.getOwnPropertyDescriptor(_class.prototype, \"toggleBookmark\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"updateParams\", [_object.action], Object.getOwnPropertyDescriptor(_class.prototype, \"updateParams\"), _class.prototype)), _class);\n});","define(\"discourse/plugins/discourse-data-explorer/discourse/explorer-route-map\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = {\n    resource: \"admin.adminPlugins\",\n    path: \"/plugins\",\n    map() {\n      this.route(\"explorer\");\n    }\n  };\n});","define(\"discourse/plugins/discourse-data-explorer/discourse/group-reports-route-map\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = {\n    resource: \"group\",\n    map() {\n      this.route(\"reports\", function () {\n        this.route(\"show\", {\n          path: \"/:query_id\"\n        });\n      });\n    }\n  };\n});","define(\"discourse/plugins/discourse-data-explorer/discourse/initializers/initialize-data-explorer\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = {\n    name: \"initialize-data-explorer\",\n    initialize(container) {\n      container.lookup(\"service:store\").addPluralization(\"query\", \"queries\");\n    }\n  };\n});","define(\"discourse/plugins/discourse-data-explorer/discourse/lib/themeColor\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = themeColor;\n  function themeColor(name) {\n    const style = getComputedStyle(document.body);\n    return style.getPropertyValue(name);\n  }\n});","define(\"discourse/plugins/discourse-data-explorer/discourse/models/query\", [\"exports\", \"discourse/models/rest\", \"discourse-common/lib/get-url\"], function (_exports, _rest, _getUrl) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n  function _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == typeof i ? i : i + \"\"; }\n  function _toPrimitive(t, r) { if (\"object\" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != typeof i) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\n  class Query extends _rest.default {\n    constructor() {\n      super(...arguments);\n      _defineProperty(this, \"params\", {});\n      this.param_info?.resetParams();\n    }\n    get downloadUrl() {\n      return (0, _getUrl.default)(`/admin/plugins/explorer/queries/${this.id}.json?export=1`);\n    }\n    get hasParams() {\n      return this.param_info.length;\n    }\n    resetParams() {\n      const newParams = {};\n      const oldParams = this.params;\n      this.param_info.forEach(pinfo => {\n        const name = pinfo.identifier;\n        if (oldParams[pinfo.identifier]) {\n          newParams[name] = oldParams[name];\n        } else if (pinfo[\"default\"] !== null) {\n          newParams[name] = pinfo[\"default\"];\n        } else if (pinfo[\"type\"] === \"boolean\") {\n          newParams[name] = \"false\";\n        } else if (pinfo[\"type\"] === \"user_id\") {\n          newParams[name] = null;\n        } else if (pinfo[\"type\"] === \"user_list\") {\n          newParams[name] = null;\n        } else if (pinfo[\"type\"] === \"group_list\") {\n          newParams[name] = null;\n        } else {\n          newParams[name] = \"\";\n        }\n      });\n      this.params = newParams;\n    }\n    updateProperties() {\n      const props = this.getProperties(Query.updatePropertyNames);\n      if (this.destroyed) {\n        props.id = this.id;\n      }\n      return props;\n    }\n    createProperties() {\n      if (this.sql) {\n        // Importing\n        return this.updateProperties();\n      }\n      return this.getProperties(\"name\");\n    }\n  }\n  _exports.default = Query;\n  _defineProperty(Query, \"updatePropertyNames\", [\"name\", \"description\", \"sql\", \"user_id\", \"created_at\", \"group_ids\", \"last_run_at\"]);\n});","define(\"discourse/plugins/discourse-data-explorer/discourse/routes/admin-plugins-explorer\", [\"exports\", \"discourse/lib/ajax\", \"discourse/routes/discourse\"], function (_exports, _ajax, _discourse) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  class AdminPluginsExplorer extends _discourse.default {\n    model() {\n      if (!this.currentUser.admin) {\n        // display \"Only available to admins\" message\n        return {\n          model: null,\n          schema: null,\n          disallow: true,\n          groups: null\n        };\n      }\n      const groupPromise = (0, _ajax.ajax)(\"/admin/plugins/explorer/groups.json\");\n      const schemaPromise = (0, _ajax.ajax)(\"/admin/plugins/explorer/schema.json\", {\n        cache: true\n      });\n      const queryPromise = this.store.findAll(\"query\");\n      return groupPromise.then(groups => {\n        let groupNames = {};\n        groups.forEach(g => {\n          groupNames[g.id] = g.name;\n        });\n        return schemaPromise.then(schema => {\n          return queryPromise.then(model => {\n            model.forEach(query => {\n              query.set(\"group_names\", (query.group_ids || []).map(id => groupNames[id]));\n            });\n            return {\n              model,\n              schema,\n              groups\n            };\n          });\n        });\n      });\n    }\n    setupController(controller, model) {\n      controller.setProperties(model);\n    }\n  }\n  _exports.default = AdminPluginsExplorer;\n});","define(\"discourse/plugins/discourse-data-explorer/discourse/routes/group-reports-index\", [\"exports\", \"@ember/service\", \"discourse/lib/ajax\", \"discourse/routes/discourse\"], function (_exports, _service, _ajax, _discourse) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _class, _descriptor;\n  function _initializerDefineProperty(target, property, descriptor, context) { if (!descriptor) return; Object.defineProperty(target, property, { enumerable: descriptor.enumerable, configurable: descriptor.configurable, writable: descriptor.writable, value: descriptor.initializer ? descriptor.initializer.call(context) : void 0 }); }\n  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n  function _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == typeof i ? i : i + \"\"; }\n  function _toPrimitive(t, r) { if (\"object\" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != typeof i) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\n  function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object.keys(descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object.defineProperty(target, property, desc); desc = null; } return desc; }\n  function _initializerWarningHelper(descriptor, context) { throw new Error('Decorating class property failed. Please ensure that ' + 'transform-class-properties is enabled and runs after the decorators transform.'); }\n  let GroupReportsIndexRoute = _exports.default = (_class = class GroupReportsIndexRoute extends _discourse.default {\n    constructor() {\n      super(...arguments);\n      _initializerDefineProperty(this, \"router\", _descriptor, this);\n    }\n    model() {\n      const group = this.modelFor(\"group\");\n      return (0, _ajax.ajax)(`/g/${group.name}/reports`).then(queries => {\n        return {\n          model: queries,\n          group\n        };\n      }).catch(() => this.router.transitionTo(\"group.members\", group));\n    }\n    afterModel(model) {\n      if (!model.group.get(\"is_group_user\") && !(this.currentUser && this.currentUser.admin)) {\n        this.router.transitionTo(\"group.members\", model.group);\n      }\n    }\n    setupController(controller, model) {\n      controller.setProperties(model);\n    }\n  }, (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"router\", [_service.inject], {\n    configurable: true,\n    enumerable: true,\n    writable: true,\n    initializer: null\n  })), _class);\n});","define(\"discourse/plugins/discourse-data-explorer/discourse/routes/group-reports-show\", [\"exports\", \"@ember/service\", \"discourse/lib/ajax\", \"discourse/routes/discourse\"], function (_exports, _service, _ajax, _discourse) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _class, _descriptor;\n  function _initializerDefineProperty(target, property, descriptor, context) { if (!descriptor) return; Object.defineProperty(target, property, { enumerable: descriptor.enumerable, configurable: descriptor.configurable, writable: descriptor.writable, value: descriptor.initializer ? descriptor.initializer.call(context) : void 0 }); }\n  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n  function _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == typeof i ? i : i + \"\"; }\n  function _toPrimitive(t, r) { if (\"object\" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != typeof i) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\n  function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object.keys(descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object.defineProperty(target, property, desc); desc = null; } return desc; }\n  function _initializerWarningHelper(descriptor, context) { throw new Error('Decorating class property failed. Please ensure that ' + 'transform-class-properties is enabled and runs after the decorators transform.'); }\n  let GroupReportsShowRoute = _exports.default = (_class = class GroupReportsShowRoute extends _discourse.default {\n    constructor() {\n      super(...arguments);\n      _initializerDefineProperty(this, \"router\", _descriptor, this);\n    }\n    model(params) {\n      const group = this.modelFor(\"group\");\n      return (0, _ajax.ajax)(`/g/${group.name}/reports/${params.query_id}`).then(response => {\n        const query = response.query;\n        const queryGroup = response.query_group;\n        const queryParamInfo = query.param_info;\n        const queryParams = queryParamInfo.reduce((acc, param) => {\n          acc[param.identifier] = param.default;\n          return acc;\n        }, {});\n        return {\n          model: Object.assign({\n            params: queryParams\n          }, query),\n          group,\n          queryGroup,\n          results: null,\n          showResults: false\n        };\n      }).catch(() => {\n        this.router.transitionTo(\"group.members\", group);\n      });\n    }\n    setupController(controller, model) {\n      controller.setProperties(model);\n    }\n  }, (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"router\", [_service.inject], {\n    configurable: true,\n    enumerable: true,\n    writable: true,\n    initializer: null\n  })), _class);\n});","define(\"discourse/plugins/discourse-data-explorer/discourse/templates/admin/plugins-explorer\", [\"exports\", \"ember-this-fallback/deprecations-helper\", \"@ember/template-factory\"], function (_exports, _deprecationsHelper, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = (0, _templateFactory.createTemplateFactory)(\n  /*\n    {{#if this.disallow}}\n    <h1>{{i18n \"explorer.admins_only\"}}</h1>\n  {{else}}\n    {{#unless this.validQueryPresent}}\n      <div class=\"query-list\">\n        <TextField\n          @value={{this.search}}\n          @placeholderKey=\"explorer.search_placeholder\"\n          @onChange={{this.updateSearch}}\n        />\n        <DButton\n          @action={{this.displayCreate}}\n          @icon=\"plus\"\n          class=\"no-text btn-right\"\n        />\n        <PickFilesButton\n          @label=\"explorer.import.label\"\n          @icon=\"upload\"\n          @acceptedFormatsOverride={{this.acceptedImportFileTypes}}\n          @showButton=\"true\"\n          @onFilesPicked={{this.import}}\n          class=\"import-btn\"\n        />\n      </div>\n  \n      {{#if this.showCreate}}\n        <div class=\"query-create\">\n          <TextField\n            @value={{this.newQueryName}}\n            @placeholderKey=\"explorer.create_placeholder\"\n            @onChange={{this.updateNewQueryName}}\n          />\n          <DButton\n            @action={{this.create}}\n            @disabled={{this.createDisabled}}\n            @label=\"explorer.create\"\n            @icon=\"plus\"\n          />\n        </div>\n      {{/if}}\n  \n      {{#if this.othersDirty}}\n        <div class=\"warning\">\n          {{d-icon \"exclamation-triangle\"}}\n          {{i18n \"explorer.others_dirty\"}}\n        </div>\n      {{/if}}\n    {{/unless}}\n  \n    {{#if this.model.length}}\n      {{#unless this.selectedItem.fake}}\n        <div class=\"query-edit {{if this.editName 'editing'}}\">\n          {{#if this.selectedItem}}\n            {{#if this.editingName}}\n              <div class=\"name\">\n                <DButton\n                  @action={{this.goHome}}\n                  @icon=\"chevron-left\"\n                  class=\"previous\"\n                />\n                <DButton\n                  @action={{this.exitEdit}}\n                  @icon=\"times\"\n                  class=\"previous\"\n                />\n                <div class=\"name-text-field\">\n                  <TextField\n                    @value={{this.selectedItem.name}}\n                    @onChange={{this.setDirty}}\n                  />\n                </div>\n              </div>\n  \n              <div class=\"desc\">\n                <DTextarea\n                  @value={{this.selectedItem.description}}\n                  @placeholder={{i18n \"explorer.description_placeholder\"}}\n                  @input={{this.setDirty}}\n                />\n              </div>\n            {{else}}\n              <div class=\"name\">\n                <DButton\n                  @action={{this.goHome}}\n                  @icon=\"chevron-left\"\n                  class=\"previous\"\n                />\n  \n                <h1>\n                  {{this.selectedItem.name}}\n                  {{#unless this.editDisabled}}\n                    <a href {{action \"editName\"}} class=\"edit-query-name\">\n                      {{d-icon \"pencil-alt\"}}\n                    </a>\n                  {{/unless}}\n                </h1>\n              </div>\n  \n              <div class=\"desc\">\n                {{this.selectedItem.description}}\n              </div>\n            {{/if}}\n  \n            {{#unless this.selectedItem.destroyed}}\n              <div class=\"pull-left\">\n                <div class=\"groups\">\n                  <span class=\"label\">{{i18n \"explorer.allow_groups\"}}</span>\n                  <span>\n                    <MultiSelect\n                      @value={{this.selectedItem.group_ids}}\n                      @content={{this.groupOptions}}\n                      @options={{hash allowAny=false}}\n                      @onChange={{this.updateGroupIds}}\n                    />\n                  </span>\n                </div>\n              </div>\n            {{/unless}}\n  \n            <div class=\"clear\"></div>\n  \n            {{#if this.editingQuery}}\n              <div class=\"query-editor {{if this.hideSchema 'no-schema'}}\">\n                <div class=\"panels-flex\">\n                  <div class=\"editor-panel\">\n                    <AceEditor\n                      @content={{this.selectedItem.sql}}\n                      @mode=\"sql\"\n                      @disabled={{this.selectedItem.destroyed}}\n                      {{on \"click\" this.setDirty}}\n                    />\n                  </div>\n  \n                  <div class=\"right-panel\">\n                    <ExplorerSchema\n                      @schema={{this.schema}}\n                      @hideSchema={{this.hideSchema}}\n                      @updateHideSchema={{this.updateHideSchema}}\n                    />\n                  </div>\n                </div>\n  \n                <div\n                  class=\"grippie\"\n                  {{draggable\n                    didStartDrag=this.didStartDrag\n                    didEndDrag=this.didEndDrag\n                    dragMove=this.dragMove\n                  }}\n                >\n                  {{d-icon \"discourse-expand\"}}\n                </div>\n  \n                <div class=\"clear\"></div>\n              </div>\n            {{else}}\n              <div class=\"sql\">\n                <CodeView\n                  @value={{selectedItem.sql}}\n                  @codeClass=\"sql\"\n                  @setDirty={{this.setDirty}}\n                />\n              </div>\n            {{/if}}\n  \n            <div class=\"clear\"></div>\n  \n            <div class=\"pull-left left-buttons\">\n              {{#if this.editingQuery}}\n                <DButton\n                  @action={{this.save}}\n                  @label=\"explorer.save\"\n                  @disabled={{this.saveDisabled}}\n                />\n              {{else}}\n                {{#unless this.editDisabled}}\n                  <DButton\n                    @action={{this.editQuery}}\n                    @label=\"explorer.edit\"\n                    @icon=\"pencil-alt\"\n                  />\n                {{/unless}}\n              {{/if}}\n  \n              <DButton\n                @action={{this.download}}\n                @label=\"explorer.export\"\n                @disabled={{this.runDisabled}}\n                @icon=\"download\"\n              />\n  \n              {{#if this.editingQuery}}\n                <DButton\n                  @action={{this.showHelpModal}}\n                  @label=\"explorer.help.label\"\n                  @icon=\"question-circle\"\n                />\n              {{/if}}\n            </div>\n  \n            <div class=\"pull-right right-buttons\">\n              {{#if this.selectedItem.destroyed}}\n                <DButton\n                  @action={{this.recover}}\n                  @icon=\"undo\"\n                  @label=\"explorer.recover\"\n                />\n              {{else}}\n                {{#if this.editingQuery}}\n                  <DButton\n                    @action={{this.discard}}\n                    @icon=\"undo\"\n                    @label=\"explorer.undo\"\n                    @disabled={{this.saveDisabled}}\n                  />\n                {{/if}}\n  \n                <DButton\n                  @action={{this.destroyQuery}}\n                  @icon=\"trash-alt\"\n                  @label=\"explorer.delete\"\n                  class=\"btn-danger\"\n                />\n              {{/if}}\n            </div>\n  \n            <div class=\"clear\"></div>\n          {{/if}}\n        </div>\n  \n        <form class=\"query-run\" {{on \"submit\" this.run}}>\n          <ParamInputsWrapper\n            @hasParams={{this.selectedItem.hasParams}}\n            @params={{this.selectedItem.params}}\n            @initialValues={{this.parsedParams}}\n            @paramInfo={{this.selectedItem.param_info}}\n            @updateParams={{this.updateParams}}\n          />\n  \n          {{#if this.runDisabled}}\n            {{#if this.saveDisabled}}\n              <DButton\n                @label=\"explorer.run\"\n                @disabled=\"true\"\n                class=\"btn-primary\"\n              />\n            {{else}}\n              <DButton\n                @action={{this.saveAndRun}}\n                @icon=\"play\"\n                @label=\"explorer.saverun\"\n                class=\"btn-primary\"\n              />\n            {{/if}}\n          {{else}}\n            <DButton\n              @action={{this.run}}\n              @icon=\"play\"\n              @label=\"explorer.run\"\n              @disabled={{this.runDisabled}}\n              @type=\"submit\"\n              class=\"btn-primary\"\n            />\n          {{/if}}\n  \n          <label class=\"query-plan\">\n            <Input @type=\"checkbox\" @checked={{this.explain}} name=\"explain\" />\n            {{i18n \"explorer.explain_label\"}}\n          </label>\n        </form>\n        <hr />\n      {{/unless}}\n  \n      <ConditionalLoadingSpinner @condition={{this.loading}} />\n  \n      {{#unless this.selectedItem.fake}}\n        <QueryResultsWrapper\n          @results={{this.results}}\n          @showResults={{this.showResults}}\n          @query={{this.selectedItem}}\n          @content={{this.results}}\n        />\n      {{/unless}}\n  \n      {{#unless this.validQueryPresent}}\n        <div class=\"container\">\n          <table class=\"recent-queries\">\n            <thead class=\"heading-container\">\n              <th class=\"col heading name\">\n                <div\n                  role=\"button\"\n                  class=\"heading-toggle\"\n                  {{on \"click\" (fn this.updateSortProperty \"name\")}}\n                >\n                  <TableHeaderToggle\n                    @field=\"name\"\n                    @labelKey=\"explorer.query_user\"\n                    @order={{this.order}}\n                    @asc={{not this.sortDescending}}\n                    @automatic=\"true\"\n                  />\n                </div>\n              </th>\n              <th class=\"col heading created-by\">\n                <div\n                  role=\"button\"\n                  class=\"heading-toggle\"\n                  {{on \"click\" (fn this.updateSortProperty \"username\")}}\n                >\n                  <TableHeaderToggle\n                    @field=\"username\"\n                    @labelKey=\"explorer.query_user\"\n                    @order={{this.order}}\n                    @asc={{not this.sortDescending}}\n                    @automatic=\"true\"\n                  />\n                </div>\n              </th>\n              <th class=\"col heading group-names\">\n                <div class=\"group-names-header\">\n                  {{i18n \"explorer.query_groups\"}}\n                </div>\n              </th>\n              <th class=\"col heading created-at\">\n                <div\n                  role=\"button\"\n                  class=\"heading-toggle\"\n                  {{on \"click\" (fn this.updateSortProperty \"last_run_at\")}}\n                >\n                  <TableHeaderToggle\n                    @field=\"last_run_at\"\n                    @labelKey=\"explorer.query_time\"\n                    @order={{this.order}}\n                    @asc={{not this.sortDescending}}\n                    @automatic=\"true\"\n                  />\n                </div>\n              </th>\n            </thead>\n            <tbody>\n              {{#each this.filteredContent as |query|}}\n                <tr class=\"query-row\">\n                  <td>\n                    <a\n                      {{on \"click\" this.scrollTop}}\n                      href=\"/admin/plugins/explorer/?id={{query.id}}\"\n                    >\n                      <b class=\"query-name\">{{query.name}}</b>\n                      <medium class=\"query-desc\">{{query.description}}</medium>\n                    </a>\n                  </td>\n                  <td class=\"query-created-by\">\n                    {{#if query.username}}\n                      <a href=\"/u/{{query.username}}/activity\">\n                        <medium>{{query.username}}</medium>\n                      </a>\n                    {{/if}}\n                  </td>\n                  <td class=\"query-group-names\">\n                    {{#each query.group_names as |group|}}\n                      <ShareReport @group={{group}} @query={{query}} />\n                    {{/each}}\n                  </td>\n                  <td class=\"query-created-at\">\n                    {{#if query.last_run_at}}\n                      <medium>\n                        {{bound-date query.last_run_at}}\n                      </medium>\n                    {{else if query.created_at}}\n                      <medium>\n                        {{bound-date query.created_at}}\n                      </medium>\n                    {{/if}}\n                  </td>\n                </tr>\n              {{else}}\n                <br />\n                <em class=\"no-search-results\">\n                  {{i18n \"explorer.no_search_results\"}}\n                </em>\n              {{/each}}\n            </tbody>\n          </table>\n        </div>\n      {{/unless}}\n  \n      <div class=\"explorer-pad-bottom\"></div>\n    {{/if}}\n  {{/if}}\n  */\n  {\n    \"id\": \"jiry2tVd\",\n    \"block\": \"[[[41,[30,0,[\\\"disallow\\\"]],[[[1,\\\"  \\\"],[10,\\\"h1\\\"],[12],[1,[28,[35,1],[\\\"explorer.admins_only\\\"],null]],[13],[1,\\\"\\\\n\\\"]],[]],[[[41,[51,[30,0,[\\\"validQueryPresent\\\"]]],[[[1,\\\"    \\\"],[10,0],[14,0,\\\"query-list\\\"],[12],[1,\\\"\\\\n      \\\"],[8,[39,3],null,[[\\\"@value\\\",\\\"@placeholderKey\\\",\\\"@onChange\\\"],[[30,0,[\\\"search\\\"]],\\\"explorer.search_placeholder\\\",[30,0,[\\\"updateSearch\\\"]]]],null],[1,\\\"\\\\n      \\\"],[8,[39,4],[[24,0,\\\"no-text btn-right\\\"]],[[\\\"@action\\\",\\\"@icon\\\"],[[30,0,[\\\"displayCreate\\\"]],\\\"plus\\\"]],null],[1,\\\"\\\\n      \\\"],[8,[39,5],[[24,0,\\\"import-btn\\\"]],[[\\\"@label\\\",\\\"@icon\\\",\\\"@acceptedFormatsOverride\\\",\\\"@showButton\\\",\\\"@onFilesPicked\\\"],[\\\"explorer.import.label\\\",\\\"upload\\\",[30,0,[\\\"acceptedImportFileTypes\\\"]],\\\"true\\\",[30,0,[\\\"import\\\"]]]],null],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[41,[30,0,[\\\"showCreate\\\"]],[[[1,\\\"      \\\"],[10,0],[14,0,\\\"query-create\\\"],[12],[1,\\\"\\\\n        \\\"],[8,[39,3],null,[[\\\"@value\\\",\\\"@placeholderKey\\\",\\\"@onChange\\\"],[[30,0,[\\\"newQueryName\\\"]],\\\"explorer.create_placeholder\\\",[30,0,[\\\"updateNewQueryName\\\"]]]],null],[1,\\\"\\\\n        \\\"],[8,[39,4],null,[[\\\"@action\\\",\\\"@disabled\\\",\\\"@label\\\",\\\"@icon\\\"],[[30,0,[\\\"create\\\"]],[30,0,[\\\"createDisabled\\\"]],\\\"explorer.create\\\",\\\"plus\\\"]],null],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"othersDirty\\\"]],[[[1,\\\"      \\\"],[10,0],[14,0,\\\"warning\\\"],[12],[1,\\\"\\\\n        \\\"],[1,[28,[35,6],[\\\"exclamation-triangle\\\"],null]],[1,\\\"\\\\n        \\\"],[1,[28,[35,1],[\\\"explorer.others_dirty\\\"],null]],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null]],[]],null],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"model\\\",\\\"length\\\"]],[[[41,[51,[30,0,[\\\"selectedItem\\\",\\\"fake\\\"]]],[[[1,\\\"      \\\"],[10,0],[15,0,[29,[\\\"query-edit \\\",[52,[30,0,[\\\"editName\\\"]],\\\"editing\\\"]]]],[12],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"selectedItem\\\"]],[[[41,[30,0,[\\\"editingName\\\"]],[[[1,\\\"            \\\"],[10,0],[14,0,\\\"name\\\"],[12],[1,\\\"\\\\n              \\\"],[8,[39,4],[[24,0,\\\"previous\\\"]],[[\\\"@action\\\",\\\"@icon\\\"],[[30,0,[\\\"goHome\\\"]],\\\"chevron-left\\\"]],null],[1,\\\"\\\\n              \\\"],[8,[39,4],[[24,0,\\\"previous\\\"]],[[\\\"@action\\\",\\\"@icon\\\"],[[30,0,[\\\"exitEdit\\\"]],\\\"times\\\"]],null],[1,\\\"\\\\n              \\\"],[10,0],[14,0,\\\"name-text-field\\\"],[12],[1,\\\"\\\\n                \\\"],[8,[39,3],null,[[\\\"@value\\\",\\\"@onChange\\\"],[[30,0,[\\\"selectedItem\\\",\\\"name\\\"]],[30,0,[\\\"setDirty\\\"]]]],null],[1,\\\"\\\\n              \\\"],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n\\\\n            \\\"],[10,0],[14,0,\\\"desc\\\"],[12],[1,\\\"\\\\n              \\\"],[8,[39,7],null,[[\\\"@value\\\",\\\"@placeholder\\\",\\\"@input\\\"],[[30,0,[\\\"selectedItem\\\",\\\"description\\\"]],[28,[37,1],[\\\"explorer.description_placeholder\\\"],null],[30,0,[\\\"setDirty\\\"]]]],null],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\"            \\\"],[10,0],[14,0,\\\"name\\\"],[12],[1,\\\"\\\\n              \\\"],[8,[39,4],[[24,0,\\\"previous\\\"]],[[\\\"@action\\\",\\\"@icon\\\"],[[30,0,[\\\"goHome\\\"]],\\\"chevron-left\\\"]],null],[1,\\\"\\\\n\\\\n              \\\"],[10,\\\"h1\\\"],[12],[1,\\\"\\\\n                \\\"],[1,[30,0,[\\\"selectedItem\\\",\\\"name\\\"]]],[1,\\\"\\\\n\\\"],[41,[51,[30,0,[\\\"editDisabled\\\"]]],[[[1,\\\"                  \\\"],[11,3],[24,6,\\\"\\\"],[24,0,\\\"edit-query-name\\\"],[4,[38,8],[[30,0],\\\"editName\\\"],null],[12],[1,\\\"\\\\n                    \\\"],[1,[28,[35,6],[\\\"pencil-alt\\\"],null]],[1,\\\"\\\\n                  \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"              \\\"],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n\\\\n            \\\"],[10,0],[14,0,\\\"desc\\\"],[12],[1,\\\"\\\\n              \\\"],[1,[30,0,[\\\"selectedItem\\\",\\\"description\\\"]]],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n\\\"]],[]]],[1,\\\"\\\\n\\\"],[41,[51,[30,0,[\\\"selectedItem\\\",\\\"destroyed\\\"]]],[[[1,\\\"            \\\"],[10,0],[14,0,\\\"pull-left\\\"],[12],[1,\\\"\\\\n              \\\"],[10,0],[14,0,\\\"groups\\\"],[12],[1,\\\"\\\\n                \\\"],[10,1],[14,0,\\\"label\\\"],[12],[1,[28,[35,1],[\\\"explorer.allow_groups\\\"],null]],[13],[1,\\\"\\\\n                \\\"],[10,1],[12],[1,\\\"\\\\n                  \\\"],[8,[39,9],null,[[\\\"@value\\\",\\\"@content\\\",\\\"@options\\\",\\\"@onChange\\\"],[[30,0,[\\\"selectedItem\\\",\\\"group_ids\\\"]],[30,0,[\\\"groupOptions\\\"]],[28,[37,10],null,[[\\\"allowAny\\\"],[false]]],[30,0,[\\\"updateGroupIds\\\"]]]],null],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n              \\\"],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n          \\\"],[10,0],[14,0,\\\"clear\\\"],[12],[13],[1,\\\"\\\\n\\\\n\\\"],[41,[30,0,[\\\"editingQuery\\\"]],[[[1,\\\"            \\\"],[10,0],[15,0,[29,[\\\"query-editor \\\",[52,[30,0,[\\\"hideSchema\\\"]],\\\"no-schema\\\"]]]],[12],[1,\\\"\\\\n              \\\"],[10,0],[14,0,\\\"panels-flex\\\"],[12],[1,\\\"\\\\n                \\\"],[10,0],[14,0,\\\"editor-panel\\\"],[12],[1,\\\"\\\\n                  \\\"],[8,[39,11],[[4,[38,12],[\\\"click\\\",[30,0,[\\\"setDirty\\\"]]],null]],[[\\\"@content\\\",\\\"@mode\\\",\\\"@disabled\\\"],[[30,0,[\\\"selectedItem\\\",\\\"sql\\\"]],\\\"sql\\\",[30,0,[\\\"selectedItem\\\",\\\"destroyed\\\"]]]],null],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,0],[14,0,\\\"right-panel\\\"],[12],[1,\\\"\\\\n                  \\\"],[8,[39,13],null,[[\\\"@schema\\\",\\\"@hideSchema\\\",\\\"@updateHideSchema\\\"],[[30,0,[\\\"schema\\\"]],[30,0,[\\\"hideSchema\\\"]],[30,0,[\\\"updateHideSchema\\\"]]]],null],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n              \\\"],[13],[1,\\\"\\\\n\\\\n              \\\"],[11,0],[24,0,\\\"grippie\\\"],[4,[38,14],null,[[\\\"didStartDrag\\\",\\\"didEndDrag\\\",\\\"dragMove\\\"],[[30,0,[\\\"didStartDrag\\\"]],[30,0,[\\\"didEndDrag\\\"]],[30,0,[\\\"dragMove\\\"]]]]],[12],[1,\\\"\\\\n                \\\"],[1,[28,[35,6],[\\\"discourse-expand\\\"],null]],[1,\\\"\\\\n              \\\"],[13],[1,\\\"\\\\n\\\\n              \\\"],[10,0],[14,0,\\\"clear\\\"],[12],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\"            \\\"],[10,0],[14,0,\\\"sql\\\"],[12],[1,\\\"\\\\n              \\\"],[8,[39,15],null,[[\\\"@value\\\",\\\"@codeClass\\\",\\\"@setDirty\\\"],[[30,0,[\\\"selectedItem\\\",\\\"sql\\\"]],\\\"sql\\\",[30,0,[\\\"setDirty\\\"]]]],null],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n\\\"]],[]]],[1,\\\"\\\\n          \\\"],[10,0],[14,0,\\\"clear\\\"],[12],[13],[1,\\\"\\\\n\\\\n          \\\"],[10,0],[14,0,\\\"pull-left left-buttons\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"editingQuery\\\"]],[[[1,\\\"              \\\"],[8,[39,4],null,[[\\\"@action\\\",\\\"@label\\\",\\\"@disabled\\\"],[[30,0,[\\\"save\\\"]],\\\"explorer.save\\\",[30,0,[\\\"saveDisabled\\\"]]]],null],[1,\\\"\\\\n\\\"]],[]],[[[41,[51,[30,0,[\\\"editDisabled\\\"]]],[[[1,\\\"                \\\"],[8,[39,4],null,[[\\\"@action\\\",\\\"@label\\\",\\\"@icon\\\"],[[30,0,[\\\"editQuery\\\"]],\\\"explorer.edit\\\",\\\"pencil-alt\\\"]],null],[1,\\\"\\\\n\\\"]],[]],null]],[]]],[1,\\\"\\\\n            \\\"],[8,[39,4],null,[[\\\"@action\\\",\\\"@label\\\",\\\"@disabled\\\",\\\"@icon\\\"],[[30,0,[\\\"download\\\"]],\\\"explorer.export\\\",[30,0,[\\\"runDisabled\\\"]],\\\"download\\\"]],null],[1,\\\"\\\\n\\\\n\\\"],[41,[30,0,[\\\"editingQuery\\\"]],[[[1,\\\"              \\\"],[8,[39,4],null,[[\\\"@action\\\",\\\"@label\\\",\\\"@icon\\\"],[[30,0,[\\\"showHelpModal\\\"]],\\\"explorer.help.label\\\",\\\"question-circle\\\"]],null],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"          \\\"],[13],[1,\\\"\\\\n\\\\n          \\\"],[10,0],[14,0,\\\"pull-right right-buttons\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"selectedItem\\\",\\\"destroyed\\\"]],[[[1,\\\"              \\\"],[8,[39,4],null,[[\\\"@action\\\",\\\"@icon\\\",\\\"@label\\\"],[[30,0,[\\\"recover\\\"]],\\\"undo\\\",\\\"explorer.recover\\\"]],null],[1,\\\"\\\\n\\\"]],[]],[[[41,[30,0,[\\\"editingQuery\\\"]],[[[1,\\\"                \\\"],[8,[39,4],null,[[\\\"@action\\\",\\\"@icon\\\",\\\"@label\\\",\\\"@disabled\\\"],[[30,0,[\\\"discard\\\"]],\\\"undo\\\",\\\"explorer.undo\\\",[30,0,[\\\"saveDisabled\\\"]]]],null],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n              \\\"],[8,[39,4],[[24,0,\\\"btn-danger\\\"]],[[\\\"@action\\\",\\\"@icon\\\",\\\"@label\\\"],[[30,0,[\\\"destroyQuery\\\"]],\\\"trash-alt\\\",\\\"explorer.delete\\\"]],null],[1,\\\"\\\\n\\\"]],[]]],[1,\\\"          \\\"],[13],[1,\\\"\\\\n\\\\n          \\\"],[10,0],[14,0,\\\"clear\\\"],[12],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"      \\\"],[13],[1,\\\"\\\\n\\\\n      \\\"],[11,\\\"form\\\"],[24,0,\\\"query-run\\\"],[4,[38,12],[\\\"submit\\\",[30,0,[\\\"run\\\"]]],null],[12],[1,\\\"\\\\n        \\\"],[8,[39,16],null,[[\\\"@hasParams\\\",\\\"@params\\\",\\\"@initialValues\\\",\\\"@paramInfo\\\",\\\"@updateParams\\\"],[[30,0,[\\\"selectedItem\\\",\\\"hasParams\\\"]],[30,0,[\\\"selectedItem\\\",\\\"params\\\"]],[30,0,[\\\"parsedParams\\\"]],[30,0,[\\\"selectedItem\\\",\\\"param_info\\\"]],[30,0,[\\\"updateParams\\\"]]]],null],[1,\\\"\\\\n\\\\n\\\"],[41,[30,0,[\\\"runDisabled\\\"]],[[[41,[30,0,[\\\"saveDisabled\\\"]],[[[1,\\\"            \\\"],[8,[39,4],[[24,0,\\\"btn-primary\\\"]],[[\\\"@label\\\",\\\"@disabled\\\"],[\\\"explorer.run\\\",\\\"true\\\"]],null],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\"            \\\"],[8,[39,4],[[24,0,\\\"btn-primary\\\"]],[[\\\"@action\\\",\\\"@icon\\\",\\\"@label\\\"],[[30,0,[\\\"saveAndRun\\\"]],\\\"play\\\",\\\"explorer.saverun\\\"]],null],[1,\\\"\\\\n\\\"]],[]]]],[]],[[[1,\\\"          \\\"],[8,[39,4],[[24,0,\\\"btn-primary\\\"]],[[\\\"@action\\\",\\\"@icon\\\",\\\"@label\\\",\\\"@disabled\\\",\\\"@type\\\"],[[30,0,[\\\"run\\\"]],\\\"play\\\",\\\"explorer.run\\\",[30,0,[\\\"runDisabled\\\"]],\\\"submit\\\"]],null],[1,\\\"\\\\n\\\"]],[]]],[1,\\\"\\\\n        \\\"],[10,\\\"label\\\"],[14,0,\\\"query-plan\\\"],[12],[1,\\\"\\\\n          \\\"],[8,[39,17],[[24,3,\\\"explain\\\"]],[[\\\"@type\\\",\\\"@checked\\\"],[\\\"checkbox\\\",[30,0,[\\\"explain\\\"]]]],null],[1,\\\"\\\\n          \\\"],[1,[28,[35,1],[\\\"explorer.explain_label\\\"],null]],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n      \\\"],[10,\\\"hr\\\"],[12],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n    \\\"],[8,[39,18],null,[[\\\"@condition\\\"],[[30,0,[\\\"loading\\\"]]]],null],[1,\\\"\\\\n\\\\n\\\"],[41,[51,[30,0,[\\\"selectedItem\\\",\\\"fake\\\"]]],[[[1,\\\"      \\\"],[8,[39,19],null,[[\\\"@results\\\",\\\"@showResults\\\",\\\"@query\\\",\\\"@content\\\"],[[30,0,[\\\"results\\\"]],[30,0,[\\\"showResults\\\"]],[30,0,[\\\"selectedItem\\\"]],[30,0,[\\\"results\\\"]]]],null],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n\\\"],[41,[51,[30,0,[\\\"validQueryPresent\\\"]]],[[[1,\\\"      \\\"],[10,0],[14,0,\\\"container\\\"],[12],[1,\\\"\\\\n        \\\"],[10,\\\"table\\\"],[14,0,\\\"recent-queries\\\"],[12],[1,\\\"\\\\n          \\\"],[10,\\\"thead\\\"],[14,0,\\\"heading-container\\\"],[12],[1,\\\"\\\\n            \\\"],[10,\\\"th\\\"],[14,0,\\\"col heading name\\\"],[12],[1,\\\"\\\\n              \\\"],[11,0],[24,\\\"role\\\",\\\"button\\\"],[24,0,\\\"heading-toggle\\\"],[4,[38,12],[\\\"click\\\",[28,[37,20],[[30,0,[\\\"updateSortProperty\\\"]],\\\"name\\\"],null]],null],[12],[1,\\\"\\\\n                \\\"],[8,[39,21],null,[[\\\"@field\\\",\\\"@labelKey\\\",\\\"@order\\\",\\\"@asc\\\",\\\"@automatic\\\"],[\\\"name\\\",\\\"explorer.query_user\\\",[30,0,[\\\"order\\\"]],[28,[37,22],[[30,0,[\\\"sortDescending\\\"]]],null],\\\"true\\\"]],null],[1,\\\"\\\\n              \\\"],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n            \\\"],[10,\\\"th\\\"],[14,0,\\\"col heading created-by\\\"],[12],[1,\\\"\\\\n              \\\"],[11,0],[24,\\\"role\\\",\\\"button\\\"],[24,0,\\\"heading-toggle\\\"],[4,[38,12],[\\\"click\\\",[28,[37,20],[[30,0,[\\\"updateSortProperty\\\"]],\\\"username\\\"],null]],null],[12],[1,\\\"\\\\n                \\\"],[8,[39,21],null,[[\\\"@field\\\",\\\"@labelKey\\\",\\\"@order\\\",\\\"@asc\\\",\\\"@automatic\\\"],[\\\"username\\\",\\\"explorer.query_user\\\",[30,0,[\\\"order\\\"]],[28,[37,22],[[30,0,[\\\"sortDescending\\\"]]],null],\\\"true\\\"]],null],[1,\\\"\\\\n              \\\"],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n            \\\"],[10,\\\"th\\\"],[14,0,\\\"col heading group-names\\\"],[12],[1,\\\"\\\\n              \\\"],[10,0],[14,0,\\\"group-names-header\\\"],[12],[1,\\\"\\\\n                \\\"],[1,[28,[35,1],[\\\"explorer.query_groups\\\"],null]],[1,\\\"\\\\n              \\\"],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n            \\\"],[10,\\\"th\\\"],[14,0,\\\"col heading created-at\\\"],[12],[1,\\\"\\\\n              \\\"],[11,0],[24,\\\"role\\\",\\\"button\\\"],[24,0,\\\"heading-toggle\\\"],[4,[38,12],[\\\"click\\\",[28,[37,20],[[30,0,[\\\"updateSortProperty\\\"]],\\\"last_run_at\\\"],null]],null],[12],[1,\\\"\\\\n                \\\"],[8,[39,21],null,[[\\\"@field\\\",\\\"@labelKey\\\",\\\"@order\\\",\\\"@asc\\\",\\\"@automatic\\\"],[\\\"last_run_at\\\",\\\"explorer.query_time\\\",[30,0,[\\\"order\\\"]],[28,[37,22],[[30,0,[\\\"sortDescending\\\"]]],null],\\\"true\\\"]],null],[1,\\\"\\\\n              \\\"],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n          \\\"],[13],[1,\\\"\\\\n          \\\"],[10,\\\"tbody\\\"],[12],[1,\\\"\\\\n\\\"],[42,[28,[37,24],[[28,[37,24],[[30,0,[\\\"filteredContent\\\"]]],null]],null],null,[[[1,\\\"              \\\"],[10,\\\"tr\\\"],[14,0,\\\"query-row\\\"],[12],[1,\\\"\\\\n                \\\"],[10,\\\"td\\\"],[12],[1,\\\"\\\\n                  \\\"],[11,3],[16,6,[29,[\\\"/admin/plugins/explorer/?id=\\\",[30,1,[\\\"id\\\"]]]]],[4,[38,12],[\\\"click\\\",[30,0,[\\\"scrollTop\\\"]]],null],[12],[1,\\\"\\\\n                    \\\"],[10,\\\"b\\\"],[14,0,\\\"query-name\\\"],[12],[1,[30,1,[\\\"name\\\"]]],[13],[1,\\\"\\\\n                    \\\"],[10,\\\"medium\\\"],[14,0,\\\"query-desc\\\"],[12],[1,[30,1,[\\\"description\\\"]]],[13],[1,\\\"\\\\n                  \\\"],[13],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n                \\\"],[10,\\\"td\\\"],[14,0,\\\"query-created-by\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,1,[\\\"username\\\"]],[[[1,\\\"                    \\\"],[10,3],[15,6,[29,[\\\"/u/\\\",[30,1,[\\\"username\\\"]],\\\"/activity\\\"]]],[12],[1,\\\"\\\\n                      \\\"],[10,\\\"medium\\\"],[12],[1,[30,1,[\\\"username\\\"]]],[13],[1,\\\"\\\\n                    \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"                \\\"],[13],[1,\\\"\\\\n                \\\"],[10,\\\"td\\\"],[14,0,\\\"query-group-names\\\"],[12],[1,\\\"\\\\n\\\"],[42,[28,[37,24],[[28,[37,24],[[30,1,[\\\"group_names\\\"]]],null]],null],null,[[[1,\\\"                    \\\"],[8,[39,25],null,[[\\\"@group\\\",\\\"@query\\\"],[[30,2],[30,1]]],null],[1,\\\"\\\\n\\\"]],[2]],null],[1,\\\"                \\\"],[13],[1,\\\"\\\\n                \\\"],[10,\\\"td\\\"],[14,0,\\\"query-created-at\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,1,[\\\"last_run_at\\\"]],[[[1,\\\"                    \\\"],[10,\\\"medium\\\"],[12],[1,\\\"\\\\n                      \\\"],[1,[28,[35,26],[[30,1,[\\\"last_run_at\\\"]]],null]],[1,\\\"\\\\n                    \\\"],[13],[1,\\\"\\\\n\\\"]],[]],[[[41,[30,1,[\\\"created_at\\\"]],[[[1,\\\"                    \\\"],[10,\\\"medium\\\"],[12],[1,\\\"\\\\n                      \\\"],[1,[28,[35,26],[[30,1,[\\\"created_at\\\"]]],null]],[1,\\\"\\\\n                    \\\"],[13],[1,\\\"\\\\n                  \\\"]],[]],null]],[]]],[1,\\\"                \\\"],[13],[1,\\\"\\\\n              \\\"],[13],[1,\\\"\\\\n\\\"]],[1]],[[[1,\\\"              \\\"],[10,\\\"br\\\"],[12],[13],[1,\\\"\\\\n              \\\"],[10,\\\"em\\\"],[14,0,\\\"no-search-results\\\"],[12],[1,\\\"\\\\n                \\\"],[1,[28,[35,1],[\\\"explorer.no_search_results\\\"],null]],[1,\\\"\\\\n              \\\"],[13],[1,\\\"\\\\n\\\"]],[]]],[1,\\\"          \\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n    \\\"],[10,0],[14,0,\\\"explorer-pad-bottom\\\"],[12],[13],[1,\\\"\\\\n\\\"]],[]],null]],[]]],[1,[28,[32,0],[\\\"[[\\\\\\\"The `selectedItem` property path was used in the `discourse/plugins/discourse-data-explorer/discourse/templates/admin/plugins-explorer.hbs` template without using `this`. This fallback behavior has been deprecated, all properties must be looked up on `this` when used in the template: {{this.selectedItem}}\\\\\\\",false,{\\\\\\\"id\\\\\\\":\\\\\\\"ember-this-fallback.this-property-fallback\\\\\\\",\\\\\\\"until\\\\\\\":\\\\\\\"n/a\\\\\\\",\\\\\\\"for\\\\\\\":\\\\\\\"ember-this-fallback\\\\\\\",\\\\\\\"url\\\\\\\":\\\\\\\"https://deprecations.emberjs.com/v3.x#toc_this-property-fallback\\\\\\\",\\\\\\\"since\\\\\\\":{\\\\\\\"available\\\\\\\":\\\\\\\"0.2.0\\\\\\\"}}]]\\\"],null]]],[\\\"query\\\",\\\"group\\\"],false,[\\\"if\\\",\\\"i18n\\\",\\\"unless\\\",\\\"text-field\\\",\\\"d-button\\\",\\\"pick-files-button\\\",\\\"d-icon\\\",\\\"d-textarea\\\",\\\"action\\\",\\\"multi-select\\\",\\\"hash\\\",\\\"ace-editor\\\",\\\"on\\\",\\\"explorer-schema\\\",\\\"draggable\\\",\\\"code-view\\\",\\\"param-inputs-wrapper\\\",\\\"input\\\",\\\"conditional-loading-spinner\\\",\\\"query-results-wrapper\\\",\\\"fn\\\",\\\"table-header-toggle\\\",\\\"not\\\",\\\"each\\\",\\\"-track-array\\\",\\\"share-report\\\",\\\"bound-date\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-data-explorer/discourse/templates/admin/plugins-explorer.hbs\",\n    \"scope\": () => [_deprecationsHelper.default],\n    \"isStrictMode\": false\n  });\n});","define(\"discourse/plugins/discourse-data-explorer/discourse/templates/connectors/group-reports-nav-item/nav-item\", [\"exports\", \"@ember/template-factory\"], function (_exports, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <LinkTo @route=\"group.reports\">\n    {{d-icon \"chart-bar\"}}{{i18n \"group.reports\"}}\n  </LinkTo>\n  */\n  {\n    \"id\": \"C6vpZXij\",\n    \"block\": \"[[[8,[39,0],null,[[\\\"@route\\\"],[\\\"group.reports\\\"]],[[\\\"default\\\"],[[[[1,\\\"\\\\n  \\\"],[1,[28,[35,1],[\\\"chart-bar\\\"],null]],[1,[28,[35,2],[\\\"group.reports\\\"],null]],[1,\\\"\\\\n\\\"]],[]]]]]],[],false,[\\\"link-to\\\",\\\"d-icon\\\",\\\"i18n\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-data-explorer/discourse/templates/connectors/group-reports-nav-item/nav-item.hbs\",\n    \"isStrictMode\": false\n  });\n});","define(\"discourse/plugins/discourse-data-explorer/discourse/templates/group-reports-index\", [\"exports\", \"ember-this-fallback/deprecations-helper\", \"@ember/template-factory\"], function (_exports, _deprecationsHelper, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <section class=\"user-content\">\n    <table class=\"group-reports\">\n      <thead>\n        <th>\n          {{i18n \"explorer.report_name\"}}\n        </th>\n        <th>\n          {{i18n \"explorer.query_description\"}}\n        </th>\n        <th>\n          {{i18n \"explorer.query_time\"}}\n        </th>\n      </thead>\n      <tbody>\n        {{#each this.model.queries as |query|}}\n          <tr>\n            <td>\n              <LinkTo\n                @route=\"group.reports.show\"\n                @models={{array group.name query.id}}\n              >\n                {{query.name}}\n              </LinkTo>\n            </td>\n            <td>{{query.description}}</td>\n            <td>\n              {{#if query.last_run_at}}\n                {{bound-date query.last_run_at}}\n              {{/if}}\n            </td>\n          </tr>\n        {{/each}}\n      </tbody>\n    </table>\n  </section>\n  */\n  {\n    \"id\": \"mTtABkMt\",\n    \"block\": \"[[[10,\\\"section\\\"],[14,0,\\\"user-content\\\"],[12],[1,\\\"\\\\n  \\\"],[10,\\\"table\\\"],[14,0,\\\"group-reports\\\"],[12],[1,\\\"\\\\n    \\\"],[10,\\\"thead\\\"],[12],[1,\\\"\\\\n      \\\"],[10,\\\"th\\\"],[12],[1,\\\"\\\\n        \\\"],[1,[28,[35,0],[\\\"explorer.report_name\\\"],null]],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n      \\\"],[10,\\\"th\\\"],[12],[1,\\\"\\\\n        \\\"],[1,[28,[35,0],[\\\"explorer.query_description\\\"],null]],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n      \\\"],[10,\\\"th\\\"],[12],[1,\\\"\\\\n        \\\"],[1,[28,[35,0],[\\\"explorer.query_time\\\"],null]],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n    \\\"],[10,\\\"tbody\\\"],[12],[1,\\\"\\\\n\\\"],[42,[28,[37,2],[[28,[37,2],[[30,0,[\\\"model\\\",\\\"queries\\\"]]],null]],null],null,[[[1,\\\"        \\\"],[10,\\\"tr\\\"],[12],[1,\\\"\\\\n          \\\"],[10,\\\"td\\\"],[12],[1,\\\"\\\\n            \\\"],[8,[39,3],null,[[\\\"@route\\\",\\\"@models\\\"],[\\\"group.reports.show\\\",[28,[37,4],[[30,0,[\\\"group\\\",\\\"name\\\"]],[30,1,[\\\"id\\\"]]],null]]],[[\\\"default\\\"],[[[[1,\\\"\\\\n              \\\"],[1,[30,1,[\\\"name\\\"]]],[1,\\\"\\\\n            \\\"]],[]]]]],[1,\\\"\\\\n          \\\"],[13],[1,\\\"\\\\n          \\\"],[10,\\\"td\\\"],[12],[1,[30,1,[\\\"description\\\"]]],[13],[1,\\\"\\\\n          \\\"],[10,\\\"td\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,1,[\\\"last_run_at\\\"]],[[[1,\\\"              \\\"],[1,[28,[35,6],[[30,1,[\\\"last_run_at\\\"]]],null]],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"          \\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n\\\"]],[1]],null],[1,\\\"    \\\"],[13],[1,\\\"\\\\n  \\\"],[13],[1,\\\"\\\\n\\\"],[13],[1,[28,[32,0],[\\\"[[\\\\\\\"The `group` property path was used in the `discourse/plugins/discourse-data-explorer/discourse/templates/group-reports-index.hbs` template without using `this`. This fallback behavior has been deprecated, all properties must be looked up on `this` when used in the template: {{this.group}}\\\\\\\",false,{\\\\\\\"id\\\\\\\":\\\\\\\"ember-this-fallback.this-property-fallback\\\\\\\",\\\\\\\"until\\\\\\\":\\\\\\\"n/a\\\\\\\",\\\\\\\"for\\\\\\\":\\\\\\\"ember-this-fallback\\\\\\\",\\\\\\\"url\\\\\\\":\\\\\\\"https://deprecations.emberjs.com/v3.x#toc_this-property-fallback\\\\\\\",\\\\\\\"since\\\\\\\":{\\\\\\\"available\\\\\\\":\\\\\\\"0.2.0\\\\\\\"}}]]\\\"],null]]],[\\\"query\\\"],false,[\\\"i18n\\\",\\\"each\\\",\\\"-track-array\\\",\\\"link-to\\\",\\\"array\\\",\\\"if\\\",\\\"bound-date\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-data-explorer/discourse/templates/group-reports-index.hbs\",\n    \"scope\": () => [_deprecationsHelper.default],\n    \"isStrictMode\": false\n  });\n});","define(\"discourse/plugins/discourse-data-explorer/discourse/templates/group-reports-show\", [\"exports\", \"@ember/template-factory\"], function (_exports, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <section class=\"user-content\">\n    <h1>{{this.model.name}}</h1>\n    <p>{{this.model.description}}</p>\n  \n    <form class=\"query-run\" {{on \"submit\" this.run}}>\n      <ParamInputsWrapper\n        @hasParams={{this.hasParams}}\n        @params={{this.model.params}}\n        @paramInfo={{this.model.param_info}}\n        @updateParams={{this.updateParams}}\n      />\n  \n      <DButton\n        @action={{this.run}}\n        @icon=\"play\"\n        @label=\"explorer.run\"\n        @type=\"submit\"\n        class=\"btn-primary\"\n      />\n  \n      <DButton\n        @action={{this.toggleBookmark}}\n        @label={{this.bookmarkLabel}}\n        @icon={{this.bookmarkIcon}}\n        class={{this.bookmarkClassName}}\n      />\n    </form>\n  \n    <ConditionalLoadingSpinner @condition={{this.loading}} />\n  \n    {{#if this.results}}\n      <div class=\"query-results\">\n        {{#if this.showResults}}\n          <QueryResult\n            @query={{this.model}}\n            @content={{this.results}}\n            @group={{this.group}}\n          />\n        {{else}}\n          {{#each this.results.errors as |err|}}\n            <pre class=\"query-error\"><code>{{~err}}</code></pre>\n          {{/each}}\n        {{/if}}\n      </div>\n    {{/if}}\n  </section>\n  */\n  {\n    \"id\": \"5ZodjP8o\",\n    \"block\": \"[[[10,\\\"section\\\"],[14,0,\\\"user-content\\\"],[12],[1,\\\"\\\\n  \\\"],[10,\\\"h1\\\"],[12],[1,[30,0,[\\\"model\\\",\\\"name\\\"]]],[13],[1,\\\"\\\\n  \\\"],[10,2],[12],[1,[30,0,[\\\"model\\\",\\\"description\\\"]]],[13],[1,\\\"\\\\n\\\\n  \\\"],[11,\\\"form\\\"],[24,0,\\\"query-run\\\"],[4,[38,0],[\\\"submit\\\",[30,0,[\\\"run\\\"]]],null],[12],[1,\\\"\\\\n    \\\"],[8,[39,1],null,[[\\\"@hasParams\\\",\\\"@params\\\",\\\"@paramInfo\\\",\\\"@updateParams\\\"],[[30,0,[\\\"hasParams\\\"]],[30,0,[\\\"model\\\",\\\"params\\\"]],[30,0,[\\\"model\\\",\\\"param_info\\\"]],[30,0,[\\\"updateParams\\\"]]]],null],[1,\\\"\\\\n\\\\n    \\\"],[8,[39,2],[[24,0,\\\"btn-primary\\\"]],[[\\\"@action\\\",\\\"@icon\\\",\\\"@label\\\",\\\"@type\\\"],[[30,0,[\\\"run\\\"]],\\\"play\\\",\\\"explorer.run\\\",\\\"submit\\\"]],null],[1,\\\"\\\\n\\\\n    \\\"],[8,[39,2],[[16,0,[30,0,[\\\"bookmarkClassName\\\"]]]],[[\\\"@action\\\",\\\"@label\\\",\\\"@icon\\\"],[[30,0,[\\\"toggleBookmark\\\"]],[30,0,[\\\"bookmarkLabel\\\"]],[30,0,[\\\"bookmarkIcon\\\"]]]],null],[1,\\\"\\\\n  \\\"],[13],[1,\\\"\\\\n\\\\n  \\\"],[8,[39,3],null,[[\\\"@condition\\\"],[[30,0,[\\\"loading\\\"]]]],null],[1,\\\"\\\\n\\\\n\\\"],[41,[30,0,[\\\"results\\\"]],[[[1,\\\"    \\\"],[10,0],[14,0,\\\"query-results\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"showResults\\\"]],[[[1,\\\"        \\\"],[8,[39,5],null,[[\\\"@query\\\",\\\"@content\\\",\\\"@group\\\"],[[30,0,[\\\"model\\\"]],[30,0,[\\\"results\\\"]],[30,0,[\\\"group\\\"]]]],null],[1,\\\"\\\\n\\\"]],[]],[[[42,[28,[37,7],[[28,[37,7],[[30,0,[\\\"results\\\",\\\"errors\\\"]]],null]],null],null,[[[1,\\\"          \\\"],[10,\\\"pre\\\"],[14,0,\\\"query-error\\\"],[12],[10,\\\"code\\\"],[12],[1,[30,1]],[13],[13],[1,\\\"\\\\n\\\"]],[1]],null]],[]]],[1,\\\"    \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[13]],[\\\"err\\\"],false,[\\\"on\\\",\\\"param-inputs-wrapper\\\",\\\"d-button\\\",\\\"conditional-loading-spinner\\\",\\\"if\\\",\\\"query-result\\\",\\\"each\\\",\\\"-track-array\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-data-explorer/discourse/templates/group-reports-show.hbs\",\n    \"isStrictMode\": false\n  });\n});"],"mappings":"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"}