/*! Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one or more contributor license agreements. * Licensed under the Elastic License 2.0; you may not use this file except in compliance with the Elastic License 2.0. */ (window.ml_bundle_jsonpfunction=window.ml_bundle_jsonpfunction||[]).push([[13,32],{113:function(e,t,n){"use strict";n.d(t,"j",(function(){return u})),n.d(t,"g",(function(){return f})),n.d(t,"h",(function(){return g})),n.d(t,"f",(function(){return b})),n.d(t,"k",(function(){return p})),n.d(t,"n",(function(){return y})),n.d(t,"e",(function(){return m})),n.d(t,"d",(function(){return O})),n.d(t,"l",(function(){return v})),n.d(t,"m",(function(){return T})),n.d(t,"a",(function(){return E})),n.d(t,"b",(function(){return h})),n.d(t,"i",(function(){return N})),n.d(t,"c",(function(){return C}));var i=n(6),a=n(114),r=n(98),o=n(118),d=n(1),l=n(112),s=n(105);const c=e=>t=>{let n=o.a.getFieldById(t);return null===n&&(t===r.e?n=r.H:e.length&&(n=e.find((e=>e.id===t))||null)),n};function u(e,t,n,i=!1){const a=i?function(e,t){return _(e.analysis_config.detectors)}(e):function(e,t){let n=e.analysis_config.detectors;const i=p(e,t);if(void 0!==t.aggregations&&e.analysis_config.detectors[0].function===r.n.NON_ZERO_COUNT&&!1===i){var a,o,d,l,s;const e=null==t||null===(a=t.aggregations)||void 0===a||null===(o=a.buckets)||void 0===o||null===(d=o.aggregations)||void 0===d||null===(l=d.dc_region)||void 0===l||null===(s=l.cardinality)||void 0===s?void 0:s.field;void 0!==e&&(n=[{function:r.n.DISTINCT_COUNT,field_name:e}])}else n=_(n),n=n.map((e=>{switch(e.function){case r.n.NON_ZERO_COUNT:return{...e,field_name:r.c,function:r.n.COUNT};case r.n.HIGH_NON_ZERO_COUNT:return{...e,field_name:r.c,function:r.n.HIGH_COUNT};case r.n.LOW_NON_ZERO_COUNT:return{...e,field_name:r.c,function:r.n.LOW_COUNT};case r.n.NON_NULL_SUM:return{...e,function:r.n.SUM};case r.n.HIGH_NON_NULL_SUM:return{...e,function:r.n.HIGH_SUM};case r.n.LOW_NON_NULL_SUM:return{...e,function:r.n.LOW_SUM};default:return e}}));return n}(e,t),d=c(n);return a.map((e=>{var t,n,i;let a=null,r=null,l=null,s=null;return void 0!==e.field_name&&(a=d(e.field_name)),void 0!==e.by_field_name&&(r=d(e.by_field_name)),void 0!==e.over_field_name&&(l=d(e.over_field_name)),void 0!==e.partition_field_name&&(s=d(e.partition_field_name)),{agg:o.a.getAggById(e.function),field:a,byField:r,overField:l,partitionField:s,excludeFrequent:null!==(t=e.exclude_frequent)&&void 0!==t?t:null,description:null!==(n=e.detector_description)&&void 0!==n?n:null,useNull:null!==(i=e.use_null)&&void 0!==i?i:null}}))}function f(e,t){return[...e.filter((e=>e.id!==r.c)).map((e=>({label:e.name,field:e}))),...t.filter((t=>!1===e.some((e=>e.id===t.id)))).map((e=>({label:e.id,field:e})))].sort(((e,t)=>e.label.localeCompare(t.label)))}function g(e){return null===e?[]:[{label:r.e}]}function b(e){return e?[{label:r.a}]:[{label:r.u}]}function _(e){return e.map((e=>{switch(e.function){case r.n.COUNT:case r.n.HIGH_COUNT:case r.n.LOW_COUNT:case r.n.NON_ZERO_COUNT:case r.n.HIGH_NON_ZERO_COUNT:case r.n.LOW_NON_ZERO_COUNT:case r.n.RARE:case r.n.FREQ_RARE:case r.n.TIME_OF_DAY:case r.n.TIME_OF_WEEK:return{...e,field_name:r.c};default:return e}}))}function p(e,t){var n,i,a,o,d;const l=e.analysis_config.detectors;if(void 0===(null==t||null===(n=t.aggregations)||void 0===n||null===(i=n.buckets)||void 0===i||null===(a=i.aggregations)||void 0===a||null===(o=a.dc_region)||void 0===o||null===(d=o.cardinality)||void 0===d?void 0:d.field))for(const e of l)if(r.t.includes(e.function))return!0;return!1}function y(e,t=!1,n=!1,i=!1){var a;l.a.tempJobCloningObjects.job=e.jobConfig,l.a.tempJobCloningObjects.datafeed=e.datafeedConfig,l.a.tempJobCloningObjects.createdBy=null!==(a=e.createdBy)&&void 0!==a?a:void 0,l.a.tempJobCloningObjects.skipTimeRangeStep=t,!0===n&&!1===i?(l.a.tempJobCloningObjects.start=e.start,l.a.tempJobCloningObjects.end=e.end):!0===i&&(l.a.tempJobCloningObjects.autoSetTimeRange=!0),l.a.tempJobCloningObjects.calendars=e.calendars}function m(e,t){e.createdBy=s.a.MULTI_METRIC,e.modelPlot=!1,y(e,!0,!0),t(d.b.ANOMALY_DETECTION_CREATE_JOB_CONVERT_TO_MULTI_METRIC,!0)}function O(e,t){e.createdBy=null,y(e,!0,!0),t(d.b.ANOMALY_DETECTION_CREATE_JOB_CONVERT_TO_ADVANCED,!0)}function v(e,t){e.createdBy=null,y(e,!0,!1),t(d.b.ANOMALY_DETECTION_CREATE_JOB)}function T(e,t){e.jobId="",y(e,!0,!0),t(d.b.ANOMALY_DETECTION_CREATE_JOB)}function E(e,t){null!==e&&y(e,!1,!1),t("/jobs")}function h(e){return!1===e.some((e=>null===e.agg.dslName))}function N(e){switch(e.type){case s.f.SINGLE_METRIC:return i.i18n.translate("xpack.ml.newJob.wizard.jobCreatorTitle.singleMetric",{defaultMessage:"Single metric"});case s.f.MULTI_METRIC:return i.i18n.translate("xpack.ml.newJob.wizard.jobCreatorTitle.multiMetric",{defaultMessage:"Multi-metric"});case s.f.POPULATION:return i.i18n.translate("xpack.ml.newJob.wizard.jobCreatorTitle.population",{defaultMessage:"Population"});case s.f.ADVANCED:return i.i18n.translate("xpack.ml.newJob.wizard.jobCreatorTitle.advanced",{defaultMessage:"Advanced"});case s.f.CATEGORIZATION:return i.i18n.translate("xpack.ml.newJob.wizard.jobCreatorTitle.categorization",{defaultMessage:"Categorization"});case s.f.RARE:return i.i18n.translate("xpack.ml.newJob.wizard.jobCreatorTitle.rare",{defaultMessage:"Rare"});case s.f.GEO:return i.i18n.translate("xpack.ml.newJob.wizard.jobCreatorTitle.geo",{defaultMessage:"Geo"});default:return""}}function C(e,t){for(const n in e)null!==e[n]&&"object"==typeof e[n]&&("aggregations"!==n&&"aggs"!==n||Object.keys(e[n]).forEach((e=>{"aggregations"!==e&&"aggs"!==e&&t.push({id:e,name:e,type:a.a.KEYWORD,aggregatable:!0,counter:!1})})),C(e[n],t))}},118:function(e,t,n){"use strict";n.d(t,"a",(function(){return c}));var i=n(5),a=n.n(i),r=n(114),o=n(98),d=n(126),l=n(12),s=n(174);class NewJobCapsService extends s.a{constructor(...e){super(...e),a()(this,"_catFields",[]),a()(this,"_dateFields",[]),a()(this,"_geoFields",[]),a()(this,"_includeEventRateField",!0),a()(this,"_removeTextFields",!0)}get catFields(){return this._catFields}get dateFields(){return this._dateFields}get geoFields(){return this._geoFields}get categoryFields(){return Object(d.c)(this._fields)}async initializeFromDataVIew(e,t=!0,n=!0){try{this._includeEventRateField=t,this._removeTextFields=n;const i=await l.ml.jobs.newJobCaps(e.getIndexPattern(),"rollup"===e.type),{fields:a,aggs:c}=function(e,t){const n=e[t],i=[],a=[],r={},o={};return void 0!==n&&(n.aggs.forEach((e=>{const t={...e,...void 0!==e.fieldIds?{fields:[]}:{}};r[t.id]=t,a.push(t)})),n.fields.forEach((e=>{const t={...e,aggs:[]};void 0!==t.aggIds&&(o[t.id]=t.aggIds),i.push(t)})),i.forEach((e=>{o[e.id].forEach((t=>{!function(e,t){void 0===t.fields&&(t.fields=[]),void 0===e.aggs&&(e.aggs=[]),t.fields.push(e),e.aggs.push(t)}(e,r[t])}))}))),i.forEach((e=>delete e.aggIds)),a.forEach((e=>delete e.fieldIds)),{fields:i,aggs:a}}(i,e.getIndexPattern());!0===this._includeEventRateField&&function(e,t){const n={id:o.c,name:"Event rate",type:r.a.INTEGER,aggregatable:!0,counter:!1,aggs:[]};e.forEach((e=>{void 0!==n.aggs&&void 0===e.fields&&(e.fields=[n],n.aggs.push(e))})),t.splice(0,0,n)}(c,a);const{fieldsPreferringKeyword:u,fieldsPreferringText:f}=Object(s.b)(a),g=f.filter((e=>e.type===r.a.KEYWORD||e.type===r.a.TEXT)),b=f.filter((e=>e.type===r.a.DATE)),_=Object(d.d)(a),p=this._removeTextFields?u:a;this._fields=p,this.removeCounterFields(),this._catFields=g,this._dateFields=b,this._geoFields=_,this._aggs=c}catch(e){console.error("Unable to load new job capabilities",e)}}}const c=new NewJobCapsService},126:function(e,t,n){"use strict";n.d(t,"a",(function(){return r})),n.d(t,"b",(function(){return o})),n.d(t,"d",(function(){return l})),n.d(t,"e",(function(){return s})),n.d(t,"c",(function(){return c}));var i=n(114),a=n(98);const r=[i.a.TEXT,i.a.KEYWORD,i.a.IP,i.a.VERSION];function o(e,t,n){const r=function(e){return e.filter((e=>e.type===i.a.KEYWORD||e.type===i.a.VERSION))}(e),o=function(e){return e.filter((e=>e.type===i.a.TEXT))}(e),s=function(e){return e.filter((e=>e.type===i.a.LONG||e.type===i.a.UNSIGNED_LONG||e.type===i.a.INTEGER||e.type===i.a.SHORT||e.type===i.a.BYTE||e.type===i.a.DOUBLE||e.type===i.a.FLOAT||e.type===i.a.HALF_FLOAT||e.type===i.a.SCALED_FLOAT))}(e),c=function(e){return e.filter((e=>e.type===i.a.IP))}(e),u=l(e),f=Object.keys(n).length>0,g=function(e,t){return function(n,i){(!1===e||t[n.id]&&t[n.id].find((e=>e.agg===i.dslName)))&&(void 0!==n.aggs&&n.aggs.push(i),void 0!==i.fields&&i.fields.push(n))}}(f,n);return t.forEach((e=>{if(e.type===a.d&&void 0!==e.fields)switch(e.id){case a.n.LAT_LONG:u.forEach((t=>g(t,e)));break;case a.n.INFO_CONTENT:case a.n.HIGH_INFO_CONTENT:case a.n.LOW_INFO_CONTENT:o.forEach((t=>g(t,e)));case a.n.DISTINCT_COUNT:case a.n.HIGH_DISTINCT_COUNT:case a.n.LOW_DISTINCT_COUNT:r.forEach((t=>g(t,e))),c.forEach((t=>g(t,e)));default:s.forEach((t=>{t.aggregatable&&g(t,e)}))}})),{aggs:t,fields:f?d(e):e}}function d(e){return e.filter((e=>e.aggs&&(e.aggs.length>0||0===e.aggs.length&&e.type===i.a.DATE)))}function l(e){return e.filter((e=>e.type===i.a.GEO_POINT||e.type===i.a.GEO_SHAPE))}function s(e){if(0===e.length)return e;let t;return e[0].id===a.c&&([t]=e.splice(0,1)),e.sort(((e,t)=>e.name.localeCompare(t.name))),void 0!==t&&e.splice(0,0,t),e}function c(e,t=!0){return e.filter((e=>r.includes(e.type)===t))}},132:function(e,t,n){"use strict";n.d(t,"c",(function(){return r})),n.d(t,"b",(function(){return o})),n.d(t,"a",(function(){return d}));var i=n(98),a=n(106);function r(){return{job_id:"",description:"",groups:[],analysis_config:{bucket_span:"",detectors:[],influencers:[]},data_description:{time_field:""}}}function o(e){return{datafeed_id:"",job_id:"",indices:Object(a.v)(e),query:{}}}function d(e,t){const n={function:e.id};return t.id!==i.c&&(n.field_name=t.id),n}},174:function(e,t,n){"use strict";n.d(t,"b",(function(){return o})),n.d(t,"a",(function(){return NewJobCapabilitiesServiceBase}));var i=n(5),a=n.n(i),r=n(114);function o(e){const t=e.filter((e=>e.type===r.a.KEYWORD)).map((e=>e.id)),n=e.filter((e=>e.type===r.a.TEXT)).map((e=>e.id));return{fieldsPreferringKeyword:e.filter((e=>e.type!==r.a.TEXT||e.type===r.a.TEXT&&!1===t.includes(`${e.id}.keyword`))),fieldsPreferringText:e.filter((e=>e.type!==r.a.KEYWORD||e.type===r.a.KEYWORD&&!1===n.includes(e.id.replace(/\.keyword$/,""))))}}class NewJobCapabilitiesServiceBase{constructor(){a()(this,"_fields",void 0),a()(this,"_aggs",void 0),this._fields=[],this._aggs=[]}get fields(){return this._fields}get aggs(){return this._aggs}get newJobCaps(){return{fields:this._fields,aggs:this._aggs}}getFieldById(e){const t=this._fields.find((t=>t.id===e));return void 0===t?null:t}getAggById(e){const t=this._aggs.find((t=>t.id===e));return void 0===t?null:t}removeCounterFields(){this._fields=this._fields.filter((e=>!1===e.counter))}}},216:function(e,t,n){"use strict";n.r(t),n.d(t,"resolver",(function(){return p})),n.d(t,"QuickGeoJobCreator",(function(){return quick_create_job_QuickGeoJobCreator})),n.d(t,"getJobsItemsFromEmbeddable",(function(){return g})),n.d(t,"isCompatibleMapVisualization",(function(){return f})),n.d(t,"redirectToGeoJobWizard",(function(){return u})),n.d(t,"VisualizationExtractor",(function(){return visualization_extractor_VisualizationExtractor}));var i=n(34),a=n.n(i),r=n(6),o=n(13),d=n(105),l=n(132),s=n(113),c=n(1);async function u(e,t,n,i,a,r){const{query:o,filters:d,to:l,from:s}=await g(e),u=await e.getQuery(),f=await e.getFilters(),b=r.url.locators.get(c.a),_={dashboard:{query:o,filters:d},dataViewId:t,embeddable:{query:u,filters:f},geoField:n,splitField:a,from:s,to:l,...i?{layer:{query:i}}:{}},p=await(null==b?void 0:b.getUrl({page:c.b.ANOMALY_DETECTION_CREATE_JOB_FROM_MAP,pageState:_}));window.open(p,"_blank")}function f(e){return e.getLayerList().some((e=>{const t=e.getGeoFieldNames().length?e.getGeoFieldNames()[0]:void 0,n=e.getIndexPatternIds().length?e.getIndexPatternIds()[0]:void 0;return t&&n}))}async function g(e){var t;const{filters:n,timeRange:i,...a}=e.getInput(),o=void 0===a.query?{query:"",language:"kuery"}:a.query;if(void 0===i)throw Error(r.i18n.translate("xpack.ml.newJob.fromGeo.createJob.error.noTimeRange",{defaultMessage:"Time range not specified."}));const{to:d,from:l}=i;return{from:l,to:d,query:o,filters:n,dashboard:"dashboard"===(null===(t=e.parent)||void 0===t?void 0:t.type)?e.parent:void 0}}var b=n(218),_=n(144);class quick_create_job_QuickGeoJobCreator extends b.a{constructor(e,t,n,i){super(e,t,n,i)}async createAndSaveGeoJob({jobId:e,bucketSpan:t,embeddable:n,startJob:i,runInRealTime:a,dataViewId:r,sourceDataView:o,geoField:l,splitField:s,layerLevelQuery:c}){var u,f;const{query:b,filters:p,to:y,from:m,dashboard:O}=await g(n),v=null!==(u=await n.getQuery())&&void 0!==u?u:Object(_.d)(),T=null!==(f=await n.getFilters())&&void 0!==f?f:[];if(void 0===b||void 0===p)throw new Error("Cannot create job, query and filters are undefined");const{jobConfig:E,datafeedConfig:h,start:N,end:C}=await this.createGeoJob({dataViewId:r,sourceDataView:o,from:m,to:y,query:b,filters:p,embeddableQuery:v,embeddableFilters:T,layerLevelQuery:c,geoField:l,splitField:s,bucketSpan:t});return await this.putJobAndDataFeed({jobId:e,datafeedConfig:h,jobConfig:E,createdByLabel:d.a.GEO,dashboard:O,start:N,end:C,startJob:i,runInRealTime:a})}async createAndStashGeoJob(e,t,n,i,a,r,o,l,c=null,u){try{const{jobConfig:f,datafeedConfig:g,start:b,end:_,includeTimeRange:p}=await this.createGeoJob({dataViewId:e,from:t,to:n,query:i,filters:a,embeddableQuery:r,embeddableFilters:o,geoField:l,splitField:c,layerLevelQuery:u});Object(s.n)({jobConfig:f,datafeedConfig:g,createdBy:d.a.GEO,start:b,end:_},!0,p,!p)}catch(e){console.error(e)}}async createGeoJob({dataViewId:e,sourceDataView:t,from:n,to:i,query:a,filters:o,embeddableQuery:d,embeddableFilters:l,layerLevelQuery:s,geoField:c,splitField:u,bucketSpan:f}){const{jobConfig:g,datafeedConfig:b,jobType:_}=await this.createGeoJobFromMapEmbeddable({sourceDataView:t,dataViewId:e,dashboard:{query:a,filters:o},embeddable:{query:d,filters:l},layerLevelQuery:s,geoField:c,splitField:u,...f?{bucketSpan:f}:{}});let p,y,m=!0;try{const{min:e,max:t}=this.timeFilter.calculateBounds({to:i,from:n});if(p=null==e?void 0:e.valueOf(),y=null==t?void 0:t.valueOf(),void 0===p||void 0===y||isNaN(p)||isNaN(y))throw Error(r.i18n.translate("xpack.ml.newJob.fromLens.createJob.error.timeRange",{defaultMessage:"Incompatible time range"}))}catch(e){console.error(e),m=!1,p=void 0,y=void 0}return{jobConfig:g,datafeedConfig:b,jobType:_,start:p,end:y,includeTimeRange:m}}async createGeoJobFromMapEmbeddable({sourceDataView:e,dataViewId:t,dashboard:n,embeddable:i,layerLevelQuery:a,bucketSpan:r,geoField:s,splitField:c}){const u=e||await Object(o.c)().get(t,!0),f=Object(l.c)(),g=Object(l.b)(u.getIndexPattern()),b=this.combineQueriesAndFilters(n,i,u,a?{query:a,filters:[]}:void 0);return g.query=b,f.analysis_config.detectors=[{function:"lat_long",field_name:s,...c?{partition_field_name:c}:{}}],f.data_description.time_field=u.timeFieldName,f.analysis_config.bucket_span=null!=r?r:d.b,c&&(f.analysis_config.influencers=[c]),{jobConfig:f,datafeedConfig:g,jobType:d.f.GEO}}}async function p(e,t,n,i,r,o,d,l,s){var c;const{kibanaConfig:u,timeFilter:f,dashboardService:g,mlApiServices:b}=e;let p,y,m,O,v,T,E;try{v=a.a.decode(n)}catch(e){v=""}try{p=a.a.decode(t)}catch(e){p={query:Object(_.d)(),filters:[]}}try{y=a.a.decode(i)}catch(e){y={query:Object(_.d)(),filters:[]}}if(s)try{m=a.a.decode(s)}catch(e){m={query:Object(_.d)(),filters:[]}}try{O=a.a.decode(o)}catch(e){O=null}try{T=a.a.decode(d)}catch(e){T=""}try{E=a.a.decode(l)}catch(e){E=""}const h=new quick_create_job_QuickGeoJobCreator(u,f,g,b);await h.createAndStashGeoJob(v,T,E,p.query,p.filters,y.query,y.filters,r,O,null===(c=m)||void 0===c?void 0:c.query)}var y=n(81),m=n(126);class visualization_extractor_VisualizationExtractor{constructor(){}async getResultLayersFromEmbeddable(e){var t,n;const i=[],a=null!==(t=null===(n=e.getRoot())||void 0===n?void 0:n.getAllDataViews())&&void 0!==t?t:[],r={};return await Object(y.asyncForEach)(e.getLayerList(),(async e=>{const t=e.getGeoFieldNames().length?e.getGeoFieldNames()[0]:void 0,n=e.getIndexPatternIds().length?e.getIndexPatternIds()[0]:void 0,o=await e.getDisplayName(),d=await e.getId(),l=await e.getQuery();if(t&&n&&void 0===r[t]){r[t]=!0;const e=a.find((e=>e.id===n));i.push({layerId:d,layerDisplayName:o,geoField:t,dataViewId:n,dataView:e,query:l,...e?{splitFieldOptions:await this.getSplitFieldOptions(e)}:{splitFieldOptions:[]}})}})),i}async getSplitFieldOptions(e){var t;return(null!==(t=e.fields.getAll().sort(((e,t)=>e.name.localeCompare(t.name))))&&void 0!==t?t:[]).filter((e=>m.a.some((t=>{var n;return null===(n=e.esTypes)||void 0===n?void 0:n.includes(t)})))).map((e=>({label:e.name,field:e.name})))}}}}]);