require(["app/DA-ITSI-CP-aws-dashboards/js/libs/underscore","app/DA-ITSI-CP-aws-dashboards/js/libs/jquery_configure","app/DA-ITSI-CP-aws-dashboards/js/swc-aws/configure_index","app/DA-ITSI-CP-aws-dashboards/js/libs/backbone_configure"],function(n,t,o,e){return function(n){var t={};function o(e){if(t[e])return t[e].exports;var A=t[e]={exports:{},id:e,loaded:!1};return n[e].call(A.exports,A,A.exports,o),A.loaded=!0,A.exports}return o.m=n,o.c=t,o.p="",o(0)}([function(n,t,o){var e;o.p=function(){function n(n,t){if(window.$C&&window.$C.hasOwnProperty(n))return window.$C[n];if(void 0!==t)return t;throw new Error("getConfigValue - "+n+" not set, no default provided")}return function(){for(var t,o,e="",A=0,r=arguments.length;A1&&"/"==t.charAt(o-1)&&(t=t.substring(0,o-1)),"/"!=t.charAt(0)?e+="/"+t:e+=t;if("/"!=e){var i=e.split("/"),a=i[1];if("static"==a||"modules"==a){var l=e.substring(a.length+2,e.length);e="/"+a,window.$C.BUILD_NUMBER&&(e+="/@"+window.$C.BUILD_NUMBER),window.$C.BUILD_PUSH_NUMBER&&(e+="."+window.$C.BUILD_PUSH_NUMBER),"app"==i[2]&&(e+=":"+n("APP_BUILD",0)),e+="/"+l}}var d=n("MRSPARKLE_ROOT_PATH","/"),s=n("DJANGO_ROOT_PATH",""),C=n("LOCALE","en-US"),p="";return p=s&&e.substring(0,s.length)===s?e.replace(s,s+"/"+C.toLowerCase()):"/"+C+e,""==d||"/"==d?p:d+p}("/static/app/DA-ITSI-CP-aws-dashboards")+"/"}(),e=[o(1),o(4),o(17)],function(n,t){var o=t.Router_utils;new n,o.start_backbone_history()}.apply(null,e)},function(n,t,o){var e,A;e=[o(2),o(3),o(4),o(5),o(7),o(8),o(9),o(14)],void 0===(A=function(n,t,o,e,A,r,i,a){var l=o.BaseRouter;return l.extend({routes:{":locale/app/:app/:page(/)":"_route","*root/:locale/app/:app/:page(/)":"_routeRooted"},initialize:function(){l.prototype.initialize.apply(this,arguments),this.setPageTitle(a.gettext("Configure AWS Billing Tags")),this.model=t.extend(this.model,{application:this.model.application}),this.errorView=new r,e.subscribe("error",this._renderError.bind(this)),e.subscribe("warning",this._renderWarning.bind(this)),this.headerView=new A({model:this.model}),this._structureReady=!1,this.fetchAppLocals=!0,this.listenToOnce(this.model.appNav,"change:nav",function(n){})},_renderStructure:function(){t(".preload").replaceWith(this.pageView.el),this.pageView.$(".main-section-body").append('
\t
\t
\t
\t
'),this.pageView.$(".app-page-header").html(this.headerView.render().el),this.pageView.$(".app-page-error").html(this.errorView.render().$el)},_renderError:function(n,t){this._structureReady&&this.errorView.showError(n)},_renderWarning:function(n){this._structureReady&&this.errorView.showWarning(n)},_renderBody:function(){this.pageView.$(".app-page-body").html(this.currentView.render().el)},_parseQueryString:function(t){var o={};if(!n.isString(t))return o;t=t.substring(t.indexOf("?")+1);var e=decodeURI(t).split(/&/g);return n.each(e,function(n){var t,e=n.split("=");e.length>=1&&(2===e.length&&(t=e[1]),o[e[0]]=t)}),o},_route:function(n,t,o,A){var r=this;l.prototype.page.apply(this,arguments);var i=this._parseQueryString(A);this.deferreds.pageViewRendered.done(function(){r._structureReady||(r._renderStructure(),r._structureReady=!0),"function"==typeof r._pages.manager?(r.currentView&&r.currentView.remove(),r._pages.manager.call(r,n,t,o,i)):e.raise("Page type manager not found")})},_routeRooted:function(n,t,o,e,A){this.model.application.set({root:n},{silent:!0}),this._route(t,o,e,A)},_pages:{manager:function(n,t,o,e){this.currentView=new i({model:this.model}),this._renderBody()}}})}.apply(t,e))||(n.exports=A)},function(t,o){t.exports=n},function(n,o){n.exports=t},function(n,t){n.exports=o},function(n,t,o){var e,A;e=[o(2),o(6)],void 0===(A=function(n,t){var o={};n.extend(o,t.Events);return{raise:function(n,t){o.trigger("error",function(n,t){return n}(n),t)},warning:function(n){o.trigger("warning",n)},clear:function(){},subscribe:function(n,t){o.on(n,t)}}}.apply(t,e))||(n.exports=A)},function(n,t){n.exports=e},function(n,t,o){var e,A;e=[o(4)],void 0===(A=function(n){var t=n.BaseView;return t.extend({initialize:function(){t.prototype.initialize.apply(this,arguments)},render:function(){return this.$el.html(this.template),this},template:'\t
\t
Configure AWS Billing Tags
\t
\t '})}.apply(t,e))||(n.exports=A)},function(n,t,o){var e,A;e=[o(3),o(2),o(6),o(4)],void 0===(A=function(n,t,o,e){var A=e.BaseView;return A.extend({initialize:function(){A.prototype.initialize.apply(this,arguments)},showMsg:function(n,t){"string"==typeof n&&(n={type:t||"MSG_TYPE_ERROR",msg:n}),"MSG_TYPE_WARNING"!==n.type&&"MSG_TYPE_ERROR"!==n.type||(this.content=n.msg,this.type=n.type,this.render())},showError:function(n){return this.showMsg(n,"MSG_TYPE_ERROR")},showWarning:function(n){return this.showMsg(n,"MSG_TYPE_WARNING")},render:function(){var n=this.compiledTemplate({msgClass:this.type?"MSG_TYPE_WARNING"===this.type?"msg-warning":"msg-error":"msg-none",iconClass:"MSG_TYPE_WARNING"===this.type?"icon-warning-sign":"icon-alert-circle"});return this.$el.html(n),this.$(".msg-text").html(this.content),this.$el.show(),this},events:{"click .close":"hide"},hide:function(){this.$el.hide()},template:'\t
\t \t \t
\t
\t
'})}.apply(t,e))||(n.exports=A)},function(n,t,o){var e,A;e=[o(2),o(4),o(10),o(16),o(14)],void 0===(A=function(n,t,o,e,A){"use strict";var r=t.BaseView;return r.extend({initialize:function(n){var t=this;r.prototype.initialize.apply(this,arguments),this.children.billingTagView=new o({CUR:"",CUR_LABEL:""}),this.children.billingTagViewCUR=new o({CUR:"-cur",CUR_LABEL:" CUR"}),this.children.billingSection=new e({className:"billing-setting-section",label:A.gettext("Billing")}),this.children.billingSectionCUR=new e({className:"billing-setting-section",label:A.gettext("Billing CUR")}),this.children.billingSection.renderContent=function(n){n.append(t.children.billingTagView.render().el)},this.children.billingSectionCUR.renderContent=function(n){n.append(t.children.billingTagViewCUR.render().el)}},render:function(){return this.$el.append(this.children.billingSection.render().el),this.$el.append(this.children.billingSectionCUR.render().el),this}})}.apply(t,e))||(n.exports=A)},function(n,t,o){var e,A;e=[o(2),o(6),o(4),o(11)],void 0===(A=function(n,t,o,e){"use strict";var A=o.BaseView;return A.extend({className:"billing-tag-view",events:{"click #edit-billing-tags":"onEdit","click #edit-billing-tags-cur":"onEdit"},initialize:function(){A.prototype.initialize.apply(this,arguments),this.model=new t.Model,this.listenTo(this.model,"change:state",this.renderState,this),this.listenTo(this.model,"change:loaded",this.renderLoaded,this)},renderState:function(n,t){this.$("#edit-billing-tags"+this.options.CUR).text(t)},renderLoaded:function(n,t){t?this.$("#edit-billing-tags"+this.options.CUR).removeClass("disabled").text("Select Billing Tags"+this.options.CUR_LABEL):this.$("#edit-billing-tags"+this.options.CUR).addClass("disabled")},onEdit:function(){this.tagModal.show()},render:function(){var n='Select Billing Tags'+this.options.CUR_LABEL+"";return this.$el.html(n),this.tagModal||(this.tagModal=new e({model:this.model,CUR:this.options.CUR,CUR_LABEL:this.options.CUR_LABEL}).render()),this}})}.apply(t,e))||(n.exports=A)},function(n,t,o){var e,A;e=[o(2),o(3),o(6),o(4),o(12),o(13),o(15),o(14)],void 0===(A=function(n,t,o,e,A,r,i,a){"use strict";var l,d,s,C,p=e.mvc,c=e.utils,b=e.CheckboxGroup,B=e.Modal,g=e.splunkd_utils,u=c.getPageInfo().app,h=g.fullpath("saas-aws/da_itsi_cp_aws_data_model",{app:u,sharing:"app"}),m=g.fullpath("saas-aws/da_itsi_cp_aws_data_model_cur",{app:u,sharing:"app"});return B.extend({events:{"click #tag-save":"onSave","click #tag-cancel":"onCancel","click #tag-save-cur":"onSave","click #tag-cancel-cur":"onCancel"},constructor:function(t){t||(t={}),n.extend(t,{keyboard:!1,backdrop:"static"}),B.call(this,t)},initialize:function(){var t=this;d=''+a.gettext("Save")+"",s=''+a.gettext("Cancel")+"",B.prototype.initialize.apply(this,arguments),this.checkBoxTemplate='\t
/><%-tag%>
\t ',this.warningTemplate='\t

You can filter and group data in your Capacity Planner and Historical \t Detailed Billing dashboards using your own custom tags. Select the tags \t you would like to use on these dashboards from the list below. For best \t performance, select only the tags you need.

\t
\t

All changes on this screen cause your Capacity Planner and Historical \t Detailed Billing dashboards to be unavailable while their underlying data \t models are rebuilt. The time required depends on the volume of your \t billing data.
\t Note: Please make sure that you have the appropriate permissions \t to configure the Billing tags.

\t '+r.buildLinkNode(i.AWS_BILLING_TAGS)+"
",this.model||(this.model=new o.Model),this.model.set({loaded:!1,tags:[],modelTags:[],state:"Loading reports..."});var e=/user:(.*?),/g,C=/user:(.*?)=/,c=n.uniqueId("tags"),b="";t.options.CUR?(b='| inputlookup billing_report_assemblyid_cur | fields assemblyId | map search="| search `aws-billing-sourcetype-cur-digest` source="*$assemblyId$*"" | head 1 | fields _raw',e=/user:(.*?)"/g,C=/user:(.*?)"/,l="| `aws-billing-datamodel-tags-cur` | fields title | search title=*"):(b='| inputlookup billing_report_s3key | search eventtype=aws_billing_detail_report | fields source| map search="| search `aws-billing-details("*")` source="$source$" | head 1 | fields _raw"',l="| `aws-billing-datamodel-tags` | fields title | search title=*"),A.search(b,{id:c}).then(function(o){o&&0!==o.length&&o.forEach(function(o){var A=t.model.get("tags")||[];try{var r=o._raw.match(e);if(!r)return;var i=r.map(function(n){var t=n.match(C);if(t&&t[1])return t[1]});i=A.concat(i),i=n.uniq(i),t.model.set("tags",i)}catch(n){console.log(n),t.model.set("tags",A)}})}).always(function(){t.model.set("loaded",!0)});var g=p.Components.get(c);g&&g.on("search:progress",function(n){t.model.set("state","Loading reports... "+Math.round(100*n.content.doneProgress)+"%")}),A.search(l).then(function(n){0!==n.length&&t.model.set("modelTags",n.map(function(n){return n.title}))}),t.listenTo(t.model,"change:loaded",t.reRenderBody)},reRenderBody:function(){var t=this.model.get("tags")||[],o=this.model.get("modelTags")||[],e=this.$(B.BODY_SELECTOR).find("#tag-list"+this.options.CUR);if(t=t.concat(o.filter(function(n){return-1===t.indexOf(n)})),C=this.options.CUR?'\t
\t \t No custom tags found. Please check "Billing CUR: Billing Reports AssemblyId Generator" is scheduled.\t
\t ':'\t
\t \t No custom tags found. Please check "Billing: Billing Reports S3Key Generator" is scheduled.\t
\t ',!t||0===t.length)return e.html(n.template(C)),void this.$el.find("#tag-save"+this.options.CUR).hide();var A=t.map(function(n){return{label:n,value:n}});this.children.tagsCheckbox&&this.children.tagsCheckbox.remove(),this.children.tagsCheckbox=new b({model:this.model,modelAttribute:"modelTags",items:A}),e.empty().append(this.children.tagsCheckbox.render().el)},render:function(){this.$el.html(B.TEMPLATE),this.$(B.HEADER_TITLE_SELECTOR).html("Select Billing Tags"+this.options.CUR_LABEL),this.$(B.BODY_SELECTOR).append(B.FORM_HORIZONTAL),this.$(B.BODY_SELECTOR).append(n.template(this.warningTemplate)),this.$(B.BODY_SELECTOR).append('
'),this.$(B.FOOTER_SELECTOR).append(s),this.$(B.FOOTER_SELECTOR).append(d)},onSave:function(){var n=this,o=this.model.get("modelTags"),e=void 0;e=this.options.CUR?m:h,t.ajax({url:e+"?output_mode=json",type:"post",dataType:"json",data:{name:"datamodel",tags:o.join("|")},success:function(){n.onCancel()},error:function(){}})},onCancel:function(){this.hide()}})}.apply(t,e))||(n.exports=A)},function(n,t,o){var e,A;e=[o(2),o(4)],void 0===(A=function(n,t){"use strict";var o=t.SearchManager,e=t.utils.getPageInfo().app;return{search:function(t,A,r){A||(A={});var i,a=r?{tokens:!0}:null,l=$.Deferred(),d=new o($.extend({id:n.uniqueId("adhoc"),search:t,preview:!1,app:e,count:1e4,offset:0},A),a);return d.once("search:done",function(){(i=d.data(A.data||"results",{output_mode:"json",count:1e4})).once("data",function(){l.resolve(i.data().results)}),i.once("error",l.reject),i.fetch()}),d.once("search:error search:fail search:cancelled",l.reject),l.always(function(){i&&i.destroy(),d.cancel()}).promise()}}}.apply(t,e))||(n.exports=A)},function(n,t,o){var e,A;e=[o(2),o(14)],void 0===(A=function(n,t){var o=encodeURIComponent("[DA-ITSI-CP-aws-dashboards:1.3.2]");return{buildLinkNode:function(n,e){return e=e||t.gettext("Learn more"),""+e+""}}}.apply(t,e))||(n.exports=A)},function(n,t){"use strict";var o;function e(n){o=n}function A(){e("undefined"!=typeof window&&window.gettext||function(n){return n})}Object.defineProperty(t,"__esModule",{value:!0}),t.gettext=function(){return o.apply(void 0,arguments)},t._=function(){return o.apply(void 0,arguments)},t.setSharedTranslator=e,t.resetSharedTranslator=A,A()},function(n,t,o){var e;void 0===(e=function(){return{AWS_RECOMMENDATION_DEPENDENCY:"aws.recommendation.dependency",AWS_DASHBOARD_SOURCETYPECHECKER:"aws.dashboard.sourcetypechecker",AWS_BILLING_TAGS:"aws.billing.tags",AWS_RECOMMENDATION_SECURITYGROUP:"aws.recommendation.securitygroup",AWS_RECOMMENDATION_ELB:"aws.recommendation.elb",AWS_RECOMMENDATION_EC2:"aws.recommendation.ec2",AWS_DASHBOARD_ACCOUNTNAME:"aws.dashboard.accountname",AWS_DASHBOARD_BILLINGDATAMODEL:"aws.dashboard.billingdatamodel",AWS_CUSTOM_INDEX:"aws.dashboard.customindex",AWS_DATA_FORWARDING:"aws.dashboard.dataforwarding",AWS_RI_PLANNER:"aws.dashboard.riplanner",AWS_RECOMMENDATION_EBS:"aws.dashboard.ebs",AWS_ANOMALY_DETECTION:"aws.dashboard.anomalydetection",AWS_BEFORE_UPGRADE:"beforeUpgrade",AWS_AFTER_UPGRADE:"afterUpgrade"}}.call(t,o,t,n))||(n.exports=e)},function(n,t,o){var e,A;e=[o(3),o(2),o(6),o(4)],void 0===(A=function(n,t,o,e){var A=e.BaseView;return A.extend({initialize:function(){A.prototype.initialize.apply(this,arguments),this.label=this.options.label,this.allowExpand=this.options.allowExpand||!1,this.expand=!this.options.expand||!1},sectionReady:function(){return n.Deferred().resolve()},enable:function(){this.$el.removeClass("disabled"),this.invokeOnChildren("enable")},disable:function(){this.$el.addClass("disabled"),this.invokeOnChildren("disable")},signalChanged:function(){var o=arguments;t.debounce(function(){this.trigger.apply(this,n.merge(["changed"],o))}.bind(this),50)()},render:function(){return this.$el.html(this.compiledTemplate({label:this.label,allowExpand:this.allowExpand})),this.renderPreSection(this.$(".pre-section")),this.renderContent(this.$(".section-body")),this._onHeaderClick(),this},renderPreSection:function(n){},renderContent:function(n){this.$(".section-header").addClass("empty-body-section")},events:{"click .section-header":"_onHeaderClick"},_onHeaderClick:function(){this.allowExpand&&(this.expand?(this.$(".section-header i").removeClass("icon-chevron-down").addClass("icon-chevron-right"),this.$(".section-body").hide(),this.expand=!1):(this.$(".section-header i").removeClass("icon-chevron-right").addClass("icon-chevron-down"),this.$(".section-body").show(),this.expand=!0))},expandSection:function(){this.allowExpand&&(this.expand||(this.$(".section-header i").removeClass("icon-chevron-right").addClass("icon-chevron-down"),this.$(".section-body").show(),this.expand=!0))},template:'\t
\t <% if (allowExpand) { %>\t