PageSourceSearch

https://portal.nakivo.com/web/content/3499922-5f76b88/1/web.assets_frontend.js

js nakivo.com collected 2026-09-24 15:20:50 UTC 954,113 bytes, 2,369 lines download raw bytes

1
2/* /web/static/src/js/services/session.js defined in bundle 'web.assets_frontend' */
3odoo.define('web.session',function(require){"use strict";var Session=require('web.Session');var modules=odoo._modules;var session=new Session(undefined,undefined,{modules:modules,use_cors:false});session.is_bound=session.session_bind();return session;});;
4
5/* /website/static/src/js/content/website_root.js defined in bundle 'web.assets_frontend' */
6odoo.define('root.widget',function(require){'use strict';require('web.dom_ready');var websiteRootData=require('website.WebsiteRoot');var websiteRoot=new websiteRootData.WebsiteRoot(null);return websiteRoot.attachTo(document.body).then(function(){return websiteRoot;});});odoo.define('website.WebsiteRoot',function(require){'use strict';var ajax=require('web.ajax');var core=require('web.core');var Dialog=require('web.Dialog');var utils=require('web.utils');var BodyManager=require('web_editor.BodyManager');var weContext=require('web_editor.context');var rootWidget=require('web_editor.root_widget');var sAnimation=require('website.content.snippets.animation');require("website.content.zoomodoo");var _t=core._t;var websiteRootRegistry=new rootWidget.RootWidgetRegistry();var lang=utils.get_cookie('frontend_lang')||weContext.get().lang;var localeDef=ajax.loadJS('/web/webclient/locale/'+lang.replace('-','_'));var WebsiteRoot=BodyManager.extend({events:_.extend({},BodyManager.prototype.events||{},{'click .js_change_lang':'_onLangChangeClick','click .js_publish_management .js_publish_btn':'_onPublishBtnClick','submit .js_website_submit_form':'_onWebsiteFormSubmit','click .js_disable_on_click':'_onDisableOnClick','click .js_multi_website_switch':'_multiWebsiteSwitch','click .js_multi_company_switch':'_multiCompanySwitch',}),custom_events:_.extend({},BodyManager.prototype.custom_events||{},{animation_start_demand:'_onAnimationStartDemand',animation_stop_demand:'_onAnimationStopDemand',main_object_request:'_onMainObjectRequest',ready_to_clean_for_save:'_onAnimationStopDemand',}),init:function(){this._super.apply(this,arguments);this.animations=[];},willStart:function(){return $.when(this._super.apply(this,arguments),localeDef);},start:function(){var defs=[this._super.apply(this,arguments)];defs.push(this._startAnimations());if(!this.$('.js_change_lang').length){var $links=this.$('ul.js_language_selector li a:not([data-oe-id])');var m=$(_.min($links,function(l){return $(l).attr('href').length;})).attr('href');$links.each(function(){var $link=$(this);var t=$link.attr('href');var l=(t===m)?"default":t.split('/')[1];$link.data('lang',l).addClass('js_change_lang');});}
7this.$(".o_image[data-mimetype^='image']").each(function(){var $img=$(this);if(/gif|jpe|jpg|png/.test($img.data('mimetype'))&&$img.data('src')){$img.css('background-image',"url('"+$img.data('src')+"')");}});this.$('.zoomable img[data-zoom]').zoomOdoo();if(window.location.hash.indexOf("scrollTop=")>-1){this.el.scrollTop=+window.location.hash.match(/scrollTop=([0-9]+)/)[1];}
8if($.fn.placeholder){$('input, textarea').placeholder();}
9return $.when.apply($,defs);},_getRegistry:function(){return websiteRootRegistry;},_startAnimations:function(editableMode,$from){var self=this;editableMode=editableMode||false;if($from===undefined){$from=this.$('#wrapwrap');}
10this._stopAnimations($from);var defs=_.map(sAnimation.registry,function(Animation,animationName){var selector=Animation.prototype.selector||'';var $target=$from.find(selector).addBack(selector);var defs=_.map($target,function(el){var animation=new Animation(self,editableMode);self.animations.push(animation);return animation.attachTo($(el));});return $.when.apply($,defs);});return $.when.apply($,defs);},_stopAnimations:function($from){var removedAnimations=_.map(this.animations,function(animation){if(!$from||$from.filter(animation.el).length||$from.find(animation.el).length){animation.destroy();return animation;}
11return null;});this.animations=_.difference(this.animations,removedAnimations);},_onAnimationStartDemand:function(ev){this._startAnimations(ev.data.editableMode,ev.data.$target).done(ev.data.onSuccess).fail(ev.data.onFailure);},_onAnimationStopDemand:function(ev){this._stopAnimations(ev.data.$target);},_onLangChangeClick:function(ev){ev.preventDefault();var $target=$(ev.target);var redirect={lang:$target.data('lang'),url:encodeURIComponent($target.attr('href').replace(/[&?]edit_translations[^&?]+/,'')),hash:encodeURIComponent(window.location.hash)};
11window.location.href=_.str.sprintf("/website/lang/%(lang)s?r=%(url)s%(hash)s",redirect);},_onMainObjectRequest:function(ev){var repr=$('html').data('main-object');var m=repr.match(/(.+)\((\d+),(.*)\)/);ev.data.callback({model:m[1],id:m[2]|0,});},_onPublishBtnClick:function(ev){ev.preventDefault();var $data=$(ev.currentTarget).parents(".js_publish_management:first");this._rpc({route:$data.data('controller')||'/website/publish',params:{id:+$data.data('id'),object:$data.data('object'),},}).done(function(result){$data.toggleClass("css_unpublished css_published");$data.find('input').prop("checked",result);$data.parents("[data-publish]").attr("data-publish",+result?'on':'off');});},_onWebsiteFormSubmit:function(ev){var $buttons=$(ev.currentTarget).find('button[type="submit"], a.a-submit');_.each($buttons,function(btn){var $btn=$(btn);$btn.html('<i class="fa fa-spinner fa-spin"></i> '+$btn.text());$btn.prop('disabled',true);});},_onDisableOnClick:function(ev){$(ev.currentTarget).addClass('disabled');},_multiWebsiteSwitch:function(ev){var websiteId=ev.currentTarget.getAttribute('website-id');var websiteDomain=ev.currentTarget.getAttribute('domain');var url=window.location.href;if(websiteDomain&&window.location.hostname!==websiteDomain){var path=window.location.pathname+window.location.search+window.location.hash;url=websiteDomain+path;}
12window.location.href=$.param.querystring(url,{'fw':websiteId});},_multiCompanySwitch:function(ev){var company_id_to_switch_to=ev.currentTarget.getAttribute('company-id');this._rpc({model:'res.users',method:'write',args:[odoo.session_info.user_id,{'company_id':parseInt(company_id_to_switch_to,10)}],}).then(function(){window.location.reload(true);});},});return{WebsiteRoot:WebsiteRoot,websiteRootRegistry:websiteRootRegistry,};});;
13
14/* /web_editor/static/src/js/content/body_manager.js defined in bundle 'web.assets_frontend' */
15odoo.define('web_editor.BodyManager',function(require){'use strict';var weContext=require('web_editor.context');var rootWidget=require('web_editor.root_widget');var ServiceProviderMixin=require('web.ServiceProviderMixin');var session=require('web.session');var BodyManager=rootWidget.RootWidget.extend(ServiceProviderMixin,{init:function(){this._super.apply(this,arguments);ServiceProviderMixin.init.call(this);},willStart:function(){return $.when(this._super.apply(this,arguments),session.is_bound);},_call_service:function(event){if(event.data.service==='ajax'&&event.data.method==='rpc'){var route=event.data.args[0];if(_.str.startsWith(route,'/web/dataset/call_kw/')){var params=event.data.args[1];var options=event.data.args[2];params.kwargs.context=_.extend({},weContext.get(),params.kwargs.context||{});if(options){params.kwargs.context=_.omit(params.kwargs.context,options.noContextKeys);event.data.args[2]=_.omit(options,'noContextKeys');}
16params.kwargs.context=JSON.parse(JSON.stringify(params.kwargs.context));}}
17return ServiceProviderMixin._call_service.apply(this,arguments);},});return BodyManager;});;
18
19/* /web_editor/static/src/js/root_widget.js defined in bundle 'web.assets_frontend' */
20odoo.define('web_editor.root_widget',function(require){'use strict';var Class=require('web.Class');var dom=require('web.dom');var mixins=require('web.mixins');var session=require('web.session');var Widget=require('web.Widget');var RootWidget=Widget.extend({custom_events:_.extend({},Widget.prototype.custom_events||{},{registry_update:'_onRegistryUpdate',get_session:'_onGetSession',}),init:function(){this._super.apply(this,arguments);this._widgets=[];this._listenToUpdates=false;this._getRegistry().setParent(this);},start:function(){var defs=[this._super.apply(this,arguments)];defs.push(this._attachComponents());this._listenToUpdates=true;return $.when.apply($,defs);},_attachComponent:function(childInfo,$from){var self=this;var $elements=dom.cssFind($from||this.$el,childInfo.selector);var defs=_.map($elements,function(element){var w=new childInfo.Widget(self);self._widgets.push(w);return w.attachTo(element);});return $.when.apply($,defs);},_attachComponents:function($from){var self=this;var childInfos=this._getRegistry().get();var defs=_.map(childInfos,function(childInfo){return self._attachComponent(childInfo,$from);});return $.when.apply($,defs);},_getRegistry:function(){},_onGetSession:function(event){if(event.data.callback){event.data.callback(session);}},_onRegistryUpdate:function(ev){ev.stopPropagation();if(this._listenToUpdates){this._attachComponent(ev.data);}},});var RootWidgetRegistry=Class.extend(mixins.EventDispatcherMixin,{init:function(){mixins.EventDispatcherMixin.init.call(this);this._registry=[];},add:function(Widget,selector){var registryInfo={Widget:Widget,selector:selector,};this._registry.push(registryInfo);this.trigger_up('registry_update',registryInfo);},get:function(){return this._registry;},});return{RootWidget:RootWidget,RootWidgetRegistry:RootWidgetRegistry,};});;
21
22/* /portal/static/src/js/portal.js defined in bundle 'web.assets_frontend' */
23odoo.define('portal.portal',function(require){'use strict';require('web.dom_ready');if(!$('.o_portal').length){return $.Deferred().reject("DOM doesn't contain '.o_portal'");}
24if($('.o_portal_details').length){var state_options=$("select[name='state_id']:enabled o
24ption:not(:first)");$('.o_portal_details').on('change',"select[name='country_id']",function(){var select=$("select[name='state_id']");state_options.detach();var displayed_state=state_options.filter("[data-country_id="+($(this).val()||0)+"]");var nb=displayed_state.appendTo(select).show().size();select.parent().toggle(nb>=1);});$('.o_portal_details').find("select[name='country_id']").change();}
25if($('.o_portal_search_panel').length){$('.o_portal_search_panel .search-submit').click(function(){var search=$.deparam(window.location.search.substring(1));search.search_in=$(".o_portal_search_panel .dropdown-item.active").attr("href").replace("#","");search.search=$(".o_portal_search_panel input[name='search']").val();window.location.search=$.param(search);});$('.o_portal_search_panel .dropdown-menu').find('.dropdown-item').click(function(e){e.preventDefault();$(this).parents('.dropdown-menu').find('.dropdown-item').removeClass('active');$(this).closest('.dropdown-item').addClass('active');var label=$(this).clone();label.find('span.nolabel').remove();$(".o_portal_search_panel span#search_label").text(label.text());});$('.o_portal_search_panel .dropdown-menu').find('.dropdown-item.active').trigger('click');$(".o_portal_search_panel input[name='search']").on('keyup',function(e){if(e.keyCode===13){$('.o_portal_search_panel .search-submit').trigger('click');}});}});;
26
27/* /portal/static/src/js/portal_tour.js defined in bundle 'web.assets_frontend' */
28odoo.define('portal.tour',function(require){'use strict';var tour=require("web_tour.tour");tour.register('portal_load_homepage',{test:true,url:'/my',},[{content:"Check portal is loaded",trigger:'a[href*="/my/account"]:contains("Edit"):first',},{content:"Load my account details",trigger:'input[value="Joel Willis"]'}]);});;
29
30/* /portal/static/src/js/portal_chatter.js defined in bundle 'web.assets_frontend' */
31odoo.define('portal.chatter',function(require){'use strict';var base=require('web_editor.base');var ajax=require('web.ajax');var core=require('web.core');var dom=require('web.dom');var Widget=require('web.Widget');var rpc=require('web.rpc');var time=require('web.time');var qweb=core.qweb;var _t=core._t;var PortalChatter=Widget.extend({template:'portal.chatter',events:{"click .o_portal_chatter_pager_btn":'_onClickPager','click .o_portal_chatter_composer_btn':'_onSubmitButtonClick',},init:function(parent,options){this._super.apply(this,arguments);this.options=_.defaults(options||{},{'allow_composer':true,'display_composer':false,'csrf_token':odoo.csrf_token,'message_count':0,'pager_step':10,'pager_scope':5,'pager_start':1,'is_user_public':true,'is_user_publisher':false,'domain':[],});this.set('messages',[]);this.set('message_count',this.options['message_count']);this.set('pager',{});this.set('domain',this.options['domain']);this._current_page=this.options['pager_start'];this._onSubmitButtonClick=dom.makeButtonHandler(this._onSubmitButtonClick);},willStart:function(){var self=this;return $.when(rpc.query({route:'/mail/chatter_init',params:this._messageFetchPrepareParams()}),this._loadTemplates()).then(function(result){self.result=result;self.options=_.extend(self.options,self.result['options']||{});return result;});},start:function(){this.on("change:messages",this,this._renderMessages);this.on("change:message_count",this,function(){this._renderMessageCount();this.set('pager',this._pager(this._current_page));});this.on("change:pager",this,this._renderPager);this.on("change:domain",this,this._onChangeDomain);this.set('message_count',this.options['message_count']);this.set('messages',this.preprocessMessages(this.result['messages']));return this._super.apply(this,arguments);},messageFetch:function(domain){var self=this;return rpc.query({route:'/mail/chatter_fetch',params:self._messageFetchPrepareParams()}).then(function(result){self.set('messages',self.preprocessMessages(result['messages']));self.set('message_count',result['message_count']);});},preprocessMessages:function(messages){_.each(messages,function(m){m['author_avatar_url']=_.str.sprintf('/web/image/%s/%s/author_avatar/50x50','mail.message',m.id);m['published_date_str']=_.str.sprintf(_t('Published on %s'),moment(time.str_to_datetime(m.date)).format('MMMM Do YYYY, h:mm:ss a'));});return messages;},_changeCurrentPage:function(page,domain){this._current_page=page;var d=domain?domain:_.clone(this.get('domain'));this.set('domain',d);},_loadTemplates:function(){return ajax.loadXML('/portal/static/src/xml/portal_chatter.xml',qweb);},_messageFetchPrepareParams:function(){var self=this;var data={'res_model':this.options['res_model'],'res_id':this.options['res_id'],'limit':this.options['pager_step'],'offset':(this._current_page-1)*this.options['pager_step'],'allow_composer':this.options['allow_composer'],};if(self.options['token']){data['token']=self.options['token'];}
32if(this.get('domain')){data['domain']=this.get('domain');}
33return data;},_pager:function(page){var page=page||1;var total=this.get('message_count');var scope=this.options['pager_scope'];var step=this.options['pager_step'];var page_count=Math.ceil(parseFloat(total)/step);var page=Math.max(1,Math.min(parseInt(page),page_count));scope-=1;var pmin=Math.max(page-parseInt(Math.floor(scope/2)),1);var pmax=Math.min(pmin+scope,page_count);if(pmax-scope>0){pmin=pmax-scope;}else{pmin=1;}
34var pages=[];_.each(_.range(pmin,pmax+1),function(index){pages.push(index);});return{"page_count":page_count,"offset":(page-1)*step,"page":page,"page_start":pmin,"page_previous":Math.max(pmin,page-1),"page_next":Math.min(pmax,page+1),"page_end":pmax,"pages":pages};},_renderMessages:function(){this.$('.o_portal_chatter_messages').html(qweb.render("portal.chatter_messages",{widget:this}));},_renderMessageCount:function(){this.$('.o_message_counter').replaceWith(qweb.render("portal.chatter_message_count",{widget:this}));},_renderPager:function(){this.$('.o_portal_chatter_pager').replaceWith(qweb.render("portal.pager",{widget:this}));},_onChangeDomain:function(){var self=this;this.messageFetch().then(function(){var p=self._current_page;self.set('pager',self._pager(p));});},_onClickPager:function(ev){ev.preventDefault();var page=$(ev.currentTarget).data('page');this._changeCurrentPage(page);},_onSubmitButtonClick:function(){return $.Deferred();},});base.ready().then(function(){$('.o_portal_chatter').each(function(index){var $elem=$(this);var mail_thread=new PortalChatter(null,$elem.data());mail_thread.appendTo($elem);});});return{PortalChatter:PortalChatter,};});;
35
36/* /portal/static/src/js/portal_signature.js defined in bundle 'web.assets_frontend' */
37odoo.define('portal.signature_form',function(require){"use strict";require('web_editor.ready');var ajax=require('web.ajax');var base=require('web_editor.base');var core=require('web.core');
37var Widget=require("web.Widget");var rpc=require("web.rpc");var qweb=core.qweb;var SignatureForm=Widget.extend({template:'portal.portal_signature',events:{'click #o_portal_sign_clear':'clearSign','click .o_portal_sign_submit':'submitSign','init #o_portal_sign_accept':'initSign',},init:function(parent,options){this._super.apply(this,arguments);this.options=_.extend(options||{},{csrf_token:odoo.csrf_token,});},willStart:function(){return this._loadTemplates();},start:function(){this.initSign();},initSign:function(){this.$("#o_portal_signature").empty().jSignature({'decor-color':'#D1D0CE','color':'#000','background-color':'#fff','height':'142px','width':'100%',});this.empty_sign=this.$("#o_portal_signature").jSignature('getData','image');},clearSign:function(){this.$("#o_portal_signature").jSignature('reset');},submitSign:function(ev){ev.preventDefault();var self=this;var $confirm_btn=self.$el.find('button[type="submit"]');var partner_name=self.$("#o_portal_sign_name").val();var signature=self.$("#o_portal_signature").jSignature('getData','image');var is_empty=signature?this.empty_sign[1]===signature[1]:true;this.$('#o_portal_sign_name').parent().toggleClass('o_has_error',!partner_name).find('.form-control, .custom-select').toggleClass('is-invalid',!partner_name);this.$('#o_portal_sign_draw').toggleClass('bg-danger text-white',is_empty);if(is_empty||!partner_name){return false;}
38$confirm_btn.prepend('<i class="fa fa-spinner fa-spin"></i> ');$confirm_btn.attr('disabled',true);return rpc.query({route:this.options.callUrl,params:{'res_id':this.options.resId,'access_token':this.options.accessToken,'partner_name':partner_name,'signature':signature?signature[1]:false,},}).then(function(data){self.$('.fa-spinner').remove();if(data.error){self.$('.o_portal_sign_error_msg').remove();$confirm_btn.before(qweb.render('portal.portal_signature_error',{message:data.error}));$confirm_btn.attr('disabled',false);}
39else if(data.success){$confirm_btn.remove();var $success=qweb.render("portal.portal_signature_success",{widget:data});self.$('#o_portal_sign_draw').parent().replaceWith($success);}
40if(data.force_refresh){if(data.redirect_url){window.location=data.redirect_url;}else{window.location.reload();}}});},_loadTemplates:function(){return ajax.loadXML('/portal/static/src/xml/portal_signature.xml',qweb);},});base.ready().then(function(){$('.o_portal_signature_form').each(function(){var hasBeenReset=false;var $elem=$(this);var form=new SignatureForm(null,$elem.data());form.appendTo($elem);$elem.parents('.modal').on('shown.bs.modal',function(ev){$elem.trigger('resize');if(!hasBeenReset){hasBeenReset=true;form.initSign();}});});});return{SignatureForm:SignatureForm,};});;
41
42/* /portal/static/src/js/portal_sidebar.js defined in bundle 'web.assets_frontend' */
43odoo.define('portal.PortalSidebar',function(require){"use strict";var config=require('web.config');var core=require('web.core');var Widget=require('web.Widget');var time=require('web.time');var session=require('web.session');var _t=core._t;var PortalSidebar=Widget.extend({start:function(){var self=this;this._super.apply(this,arguments);this._setDelayLabel();},_setDelayLabel:function(){var $sidebarTimeago=this.$el.find('.o_portal_sidebar_timeago');_.each($sidebarTimeago,function(el){var dateTime=moment(time.auto_str_to_date($(el).attr('datetime'))),today=moment().startOf('day'),diff=dateTime.diff(today,'days',true),displayStr;session.is_bound.then(function(){if(diff===0){displayStr=_t('Due today');}else if(diff>0){displayStr=_.str.sprintf(_t('Due in %1d days'),Math.abs(diff));}else{displayStr=_.str.sprintf(_t('%1d days overdue'),Math.abs(diff));}
44$(el).text(displayStr);});});},_printIframeContent:function(href){if($.browser.mozilla){window.open(href,'_blank');return;}
45if(!this.printContent){this.printContent=$('<iframe id="print_iframe_content" src="'+href+'" style="display:none"></iframe>');this.$el.append(this.printContent);this.printContent.on('load',function(){$(this).get(0).contentWindow.print();});}else{this.printContent.get(0).contentWindow.print();}},});return PortalSidebar;});;
46
47/* /auth_signup/static/src/js/signup.js defined in bundle 'web.assets_frontend' */
48odoo.define('auth_signup.signup',function(require){'use strict';var base=require('web_editor.base');base.ready().then(function(){if($('.oe_signup_form').length>0){$('.oe_signup_form').on('submit',function(ev){var $form=$(ev.currentTarget);var $btn=$form.find('.oe_login_buttons > button[type="submit"]');$btn.attr('disabled','disabled');$btn.prepend('<i class="fa fa-refresh fa-spin"/> ');});}});});;
49
50/* /website/static/src/js/utils.js defined in bundle 'web.assets_frontend' */
51odoo.define('website.utils',function(require){'use strict';var ajax=require('web.ajax');var core=require('web.core');var weContext=require('web_editor.context');var qweb=core.qweb;function autocompleteWithPages(self,$input){$input.autocomplete({source:function(request,response){return self._rpc({model:'website',method:'search_pages',args:[null,request.term],kwargs:{limit:15,},}).then(function(exists){var rs=_.map(exists,function(r){return r.loc;});response(rs);});},});}
52function prompt(options,_qweb){if(typeof options==='string'){options={text:options};}
53var xmlDef;if(_.isUndefined(_qweb)){_qweb='website.prompt';xmlDef=ajax.loadXML('/website/static/src/xml/website.xml',core.qweb);}
54options=_.extend({window_title:'',field_name:'','default':'',init:function(){},},options||{});var type=_.intersection(Object.keys(options),['input','textarea','select']);type=type.length?type[0]:'input';options.field_type=type;options.field_name=options.field_name||options[type];var def=$.Deferred();$.when(xmlDef).then(function(){var dialog=$(qweb.render(_qweb,options)).appendTo('body');options.$dialog=dialog;var field=dialog.find(options.field_type).first();field.val(options['default']);field.fillWith=function(data){if(field.is('select')){var select=field[0];data.forEach(function(item){select.options[select.options.length]=new window.Option(item[1],item[0]);});}else{field.val(data);}};var init=options.init(field,dialog);$.when(init).then(function(fill){if(fill){field.fillWith(fill);}
55dialog.modal('show');field.focus();dialog.on('click','.btn-primary',function(){var backdrop=$('.modal-backdrop');def.resolve(field.val(),field,dialog);dialog.modal('hide').remove();backdrop.remove();});});dialog.on('hidden.bs.modal',function(){var backdrop=$('.modal-backdrop');def.reject();dialog.remove();backdrop.remove();});if(field.is('input[type="text"], select')){field.keypress(function(e){if(e.which===13){e.preventDefault();dialog.find('.btn-primary').trigger('click');}});}});return def;}
56function websiteDomain(){var websiteID=weContext.get()['website_id'];return['|',['website_id','=',false],['website_id','=',websiteID]];}
57return{autocompleteWithPages:autocompleteWithPages,prompt:prompt,websiteDomain:websiteDomain,};});;
58
59/* /website/static/src/js/website.js defined in bundle 'web.assets_frontend' */
60odoo.define('website.website',function(require){'use strict';var weContext=require('web_editor.context');var weGetContext=weContext.get;weContext.get=function(context){var html=document.documentElement;return _.extend({website_id:html.getAttribute('data-website-id')|0,},weGetContext(context),context);};});odoo.define('website.website_modal',function(require){'use strict';require('web.dom_ready');$('body').on('shown.bs.modal',function(e){$(e.target).addClass('modal_shown');});});;
61
62/* /website/static/src/js/content/compatibility.js defined in bundle 'web.assets_frontend' */
63odoo.define('website.content.compatibility',function(require){'use strict';require('web.dom_ready');var browser=_.findKey($.browser,function(v){return v===true;});if($.browser.mozilla&&+$.browser.version.replace(/^([0-9]+\.[0-9]+).*/,'\$1')<20){browser='msie';}
64browser+=(','+$.browser.version);var mobileRegex=/android|webos|iphone|ipad|ipod|blackberry|iemobile|opera mini/i;if(mobileRegex.test(window.navigator.userAgent.toLowerCase())){browser+=',mobile';}
65document.documentElement.setAttribute('data-browser',browser);var htmlStyle=document.documentElement.style;var isFlexSupported=(('flexWrap'in htmlStyle)||('WebkitFlexWrap'in htmlStyle)||('msFlexWrap'in htmlStyle));if(!isFlexSupported){document.documentElement.setAttribute('data-no-flex','');}
66return{browser:browser,isFlexSupported:isFlexSupported,};});;
67
68/* /website/static/src/js/content/lazy_template_call.js defined in bundle 'web.assets_frontend' */
69odoo.define('website.content.lazy_template_call',function(require){'use strict';var Widget=require('web.Widget');var websiteRootData=require('website.WebsiteRoot');var LazyTemplateRenderer=Widget.extend({start:function(){var $oeCalls=this.$('[data-oe-call]');var oeCalls=_.uniq($oeCalls.map(function(){return $(this).data('oe-call');}).get());if(!oeCalls.length){return $.when(this._super.apply(this,arguments));}
70var def=this._rpc({route:'/website/multi_render',params:{ids_or_xml_ids:oeCalls,},}).then(function(data){_.each(data,function(d,k){var $data=$(d).addClass('o_block_'+k);$oeCalls.filter('[data-oe-call="'+k+'"]').each(function(){$(this).replaceWith($data.clone());});});});return $.when(this._super.apply(this,arguments),def);},});websiteRootData.websiteRootRegistry.add(LazyTemplateRenderer,'#wrapwrap');return LazyTemplateRenderer;});;
71
72/* /website/static/src/js/content/menu.js defined in bundle 'web.assets_frontend' */
73odoo.define('website.content.menu',function(require){'use strict';var dom=require('web.dom');var sAnimation=require('website.content.snippets.animation');sAnimation.registry.affixMenu=sAnimation.Class.extend({selector:'header.o_affix_enabled',start:function(){var def=this._super.apply(this,arguments);if(this.editableMode){return def;}
74var self=this;this.$headerClone=this.$target.clone().addClass('o_header_affix affix').removeClass('o_affix_enabled');this.$headerClone.insertAfter(this.$target);this.$headers=this.$target.add(this.$headerClone);this.$dropdowns=this.$headers.find('.dropdown');this.$dropdownMenus=this.$headers.find('.dropdown-menu');this.$navbarCollapses=this.$headers.find('.navbar-collapse');_.each(this.$headerClone.find('[data-toggle="collapse"]'),function(el){var $source=$(el);var targetIDSelector=$source.attr('data-target');var $target=self.$headerClone.find(targetIDSelector);$source.attr('data-target',targetIDSelector+'_clone');$target.attr('id',targetIDSelector.substr(1)+'_clone');});$(window).on('resize.affixMenu scroll.affixMenu',_.throttle(this._onWindowUpdate.bind(this),200));setTimeout(this._onWindowUpdate.bind(this),0);return def;},destroy:function(){if(this.$headerClone){this.$headerClone.remove();$(window).off('.affixMenu');}
75this._super.apply(this,arguments);},_onWindowUpdate:function(){if(this.$navbarCollapses.hasClass('show')){return;}
76var wOffset=$(window).scrollTop();var hOffset=this.$target.scrollTop();this.$headerClone.toggleClass('affixed',wOffset>(hOffset+300));this.$dropdowns.add(this.$dropdownMenus).removeClass('show');this.$navbarCollapses.removeClass('show').attr('aria-expanded',false);},});sAnimation.registry.autohideMenu=sAnimation.Class.extend({selector:'header #top_menu',start:function(){var self=this;var defs=[this._super.apply(this,arguments)];this.noAutohide=this.$el.closest('.o_no_autohide_menu').length;if(!this.noAutohide){var $navbar=this.$el.closest('.navbar');_.each($navbar.find('img'),function(img){if(img.complete){return;}
77var def=$.Deferred();defs.push(def);$(img).one('load',function(){def.resolve();});});var $window=$(window);$window.on('load.autohideMenu',function(){$window.trigger('resize');});}
78return $.when.apply($,defs).then(function(){if(!self.noAutohide){dom.initAutoMoreMenu(self.$el,{unfoldable:'.divider, .divider ~ li'});}
79self.$el.removeClass('o_menu_loading');});},destroy:function(){this._super.apply(this,arguments);if(!this.noAutohide){$(window).off('.autohideMenu');dom.destroyAutoMoreMenu(this.$el);}},});sAnimation.registry.menuDirection=sAnimation.Class.extend({selector:'header .navbar .nav',events:{'show.bs.dropdown':'_onDropdownShow',},start:function(){this.defaultAlignment=this.$el.is('.ml-auto, .ml-auto ~ *')?'right':'left';return this._super.apply(this,arguments);},_checkOpening:function(alignment,liOffset,liWidth,menuWidth,windowWidth){if(alignment==='left'){return(liOffset+menuWidth<=windowWidth);}else{return(liOffset+liWidth-menuWidth>=0);}},_onDropdownShow:function(ev){var $li=$(ev.target);var $menu=$li.children('.dropdown-menu');var liOffset=$li.offset().left;var liWidth=$li.outerWidth();var menuWidth=$menu.outerWidth();var windowWidth=$(window).outerWidth();$menu.removeClass('dropdown-menu-left dropdown-menu-right');var alignment=this.defaultAlignment;if($li.nextAll(':visible').length===0){alignment='right';}
80for(var i=0;i<2;i++){if(!this._checkOpening(alignment,liOffset,liWidth,menuWidth,windowWidth)){alignment=(alignment==='left'?'right':'left');}}
81$menu.addClass('dropdown-menu-'+alignment);},});});;
82
83/* /website/static/src/js/content/snippets.animation.js defined in bundle 'web.assets_frontend' */
84odoo.define('website.content.snippets.animation',function(require){'use strict';var Class=require('web.Class');var core=require('web.core');var dom=require('web.dom');var mixins=require('web.mixins');var utils=require('web.utils');var Widget=require('web.Widget');var qweb=core.qweb;window.requestAnimationFrame=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame||function(callback){setTimeout(callback,10);};window.cancelAnimationFrame=window.cancelAnimationFrame||window.webkitCancelAnimationFrame||window.mozCancelAnimationFrame||window.msCancelAnimationFrame||window.oCancelAnimationFrame||function(id){clearTimeout(id);};if(!window.performance||!window.performance.now){window.performance={now:function(){return Date.now();}};}
85var AnimationEffect=Class.extend(mixins.ParentedMixin,{init:function(parent,updateCallback,startEvents,$startTarget,options){mixins.ParentedMixin.init.call(this);this.setParent(parent);options=options||{};this._minFrameTime=1000/(options.maxFPS||100);this._updateCallback=updateCallback;this.startEvents=startEvents||'scroll';this.$startTarget=$($startTarget||window);this._getStateCallback=options.getStateCallback||((this.startEvents==='scroll'&&this.$startTarget[0]===window)?function(){return window.pageYOffset;}:false)||((this.startEvents==='resize'&&this.$startTarget[0]===window)?function(){return{width:window.innerWidth,height:window.innerHeight};}:false)||function(){return undefined;};this.endEvents=options.endEvents||false;this.$endTarget=options.$endTarget?$(options.$endTarget):this.$startTarget;this._updateCallback=this._updateCallback.bind(parent);this._getStateCallback=this._getStateCallback.bind(parent);this._uid='_animationEffect'+_.uniqueId();this.startEvents=_processEvents(this.startEvents,this._uid);if(this.endEvents){this.endEvents=_processEvents(this.endEvents,this._uid);}
86function _processEvents(events,namespace){events=events.split(' ');return _.each(events,function(e,index){events[index]+=('.'+namespace);}).join(' ');}},destroy:function(){mixins.ParentedMixin.destroy.call(this);this.stop();},start:function(){this._paused=false;this._rafID=window.requestAnimationFrame((function(t){this._update(t);this._paused=true;}).bind(this));if(this.endEvents){this.$startTarget.on(this.startEvents,(function(e){if(this._paused){_.defer(this.play.bind(this,e));}}).bind(this));this.$endTarget.on(this.endEvents,(function(){if(!this._paused){_.defer(this.pause.bind(this));}}).bind(this));}else{var pauseTimer=null;this.$startTarget.on(this.startEvents,_.throttle((function(e){this.play(e);clearTimeout(pauseTimer);pauseTimer=_.delay((function(){this.pause();pauseTimer=null;}).bind(this),2000);}).bind(this),250,{trailing:false}));}},stop:function(){this.$startTarget.off(this.startEvents);if(this.endEvents){this.$endTarget.off(this.endEvents);}
87this.pause();},play:function(e){this._newEvent=e;if(!this._paused)return;this._paused=false;this._rafID=window.requestAnimationFrame(this._update.bind(this));this._lastUpdateTimestamp=undefined;},pause:function(){if(this._paused)return;this._paused=true;window.cancelAnimationFrame(this._rafID);this._lastUpdateTimestamp=undefined;},_update:function(timestamp){if(this._paused)return;this._rafID=window.requestAnimationFrame(this
87._update.bind(this));var elapsedTime=0;if(this._lastUpdateTimestamp){elapsedTime=timestamp-this._lastUpdateTimestamp;if(elapsedTime<this._minFrameTime)return;}
88var animationState=this._getStateCallback(elapsedTime,this._newEvent);if(!this._newEvent&&animationState!==undefined&&_.isEqual(animationState,this._animationLastState)){return;}
89this._animationLastState=animationState;this._updateCallback(this._animationLastState,elapsedTime,this._newEvent);this._lastUpdateTimestamp=timestamp;this._newEvent=undefined;},});var Animation=Widget.extend({selector:false,events:{},edit_events:{},read_events:{},maxFPS:100,effects:[],init:function(parent,editableMode){this._super.apply(this,arguments);this.editableMode=editableMode;if(editableMode){this.events=_.extend({},this.events||{},this.edit_events||{});}else{this.events=_.extend({},this.events||{},this.read_events||{});}},start:function(){this._prepareEffects();_.each(this._animationEffects,function(effect){effect.start();});return this._super.apply(this,arguments);},destroy:function(){var $oldel=this.$el;this.setElement(null);this._super.apply(this,arguments);this.$el=$oldel;this.el=$oldel[0];this.$target=this.$el;this.target=this.el;},setElement:function(){this._super.apply(this,arguments);this.$target=this.$el;this.target=this.el;},_delegateEvents:function(){var self=this;var originalEvents=this.events;var events={};_.each(this.events,function(method,event){if(typeof method!=='string'){events[event]=method;return;}
90var methodOptions=method.split(' ');if(methodOptions.length<=1){events[event]=method;return;}
91var isAsync=_.contains(methodOptions,'async');if(!isAsync){events[event]=method;return;}
92method=self.proxy(methodOptions[methodOptions.length-1]);if(_.str.startsWith(event,'click')){method=dom.makeButtonHandler(method);}else{method=dom.makeAsyncHandler(method);}
93events[event]=method;});this.events=events;this._super.apply(this,arguments);this.events=originalEvents;},_prepareEffects:function(){this._animationEffects=[];var self=this;_.each(this.effects,function(desc){self._addEffect(self[desc.update],desc.startEvents,_findTarget(desc.startTarget),{getStateCallback:desc.getState&&self[desc.getState],endEvents:desc.endEvents||undefined,$endTarget:_findTarget(desc.endTarget),maxFPS:self.maxFPS,});function _findTarget(selector){if(selector){if(selector==='selector'){return self.$target;}
94return self.$(selector);}
95return undefined;}});},_addEffect:function(updateCallback,startEvents,$startTarget,options){this._animationEffects.push(new AnimationEffect(this,updateCallback,startEvents,$startTarget,options));},});var registry={};registry.slider=Animation.extend({selector:'.carousel',edit_events:{'slid.bs.carousel':'_onEditionSlide',},start:function(){if(!this.editableMode){this.$('img').on('load.slider',this._onImageLoaded.bind(this));this._computeHeights();}
96this.$target.carousel();return this._super.apply(this,arguments);},destroy:function(){this._super.apply(this,arguments);this.$('img').off('.slider');this.$target.carousel('pause');this.$target.removeData('bs.carousel');_.each(this.$('.carousel-item'),function(el){$(el).css('min-height','');});},_computeHeights:function(){var maxHeight=0;var $items=this.$('.carousel-item');_.each($items,function(el){var $item=$(el);var isActive=$item.hasClass('active');$item.addClass('active');var height=$item.outerHeight();if(height>maxHeight){maxHeight=height;}
97$item.toggleClass('active',isActive);});_.each($items,function(el){$(el).css('min-height',maxHeight);});},_onEditionSlide:function(){this._computeHeights();},_onImageLoaded:function(){this._computeHeights();},});registry.parallax=Animation.extend({selector:'.parallax',effects:[{startEvents:'scroll',update:'_onWindowScroll',}],start:function(){this._rebuild();$(window).on('resize.animation_parallax',_.debounce(this._rebuild.bind(this),500));return this._super.apply(this,arguments);},destroy:function(){this._super.apply(this,arguments);$(window).off('.animation_parallax');},_rebuild:function(){if(!this.$bg||!this.$bg.length){this.$bg=this.$('> .s_parallax_bg');if(!this.$bg.length){this.$bg=$('<span/>',{class:'s_parallax_bg'+(this.$target.hasClass('oe_custom_bg')?' oe_custom_bg':''),}).prependTo(this.$target);}}
98var urlTarget=this.$target.css('background-image');if(urlTarget!=='none'){this.$bg.css('background-image',urlTarget);}
99this.$target.css('background-image','none');this.speed=parseFloat(this.$target.attr('data-scroll-background-ratio')||0);this.$target.toggleClass('s_parallax_is_fixed',this.speed===1);var noParallaxSpeed=(this.speed===0||this.speed===1);this.$target.toggleClass('s_parallax_no_overflow_hidden',noParallaxSpeed);if(noParallaxSpeed){this.$bg.css({transform:'',top:'',bottom:'',});return;}
100this.viewport=document.body.clientHeight-$('#wrapwrap').position().top;this.visible_area=[this.$target.offset().top];this.visible_area.push(this.visible_area[0]+this.$target.innerHe
100ight()+this.viewport);this.ratio=this.speed*(this.viewport/10);this.$bg.css({top:-this.ratio,bottom:-this.ratio,});},_onWindowScroll:function(scrollOffset){if(this.speed===0||this.speed===1){return;}
101var vpEndOffset=scrollOffset+this.viewport;if(vpEndOffset>=this.visible_area[0]&&vpEndOffset<=this.visible_area[1]){this.$bg.css('transform','translateY('+_getNormalizedPosition.call(this,vpEndOffset)+'px)');}
102function _getNormalizedPosition(pos){var r=(pos-this.visible_area[1])/(this.visible_area[0]-this.visible_area[1]);return Math.round(this.ratio*(2*r-1));}},});registry.share=Animation.extend({selector:'.s_share, .oe_share',start:function(){var url_regex=/(\?(?:|.*&)(?:u|url|body)=)(.*?)(&|#|$)/;var title_regex=/(\?(?:|.*&)(?:title|text|subject)=)(.*?)(&|#|$)/;var url=encodeURIComponent(window.location.href);var title=encodeURIComponent($('title').text());this.$('a').each(function(){var $a=$(this);$a.attr('href',function(i,href){return href.replace(url_regex,function(match,a,b,c){return a+url+c;}).replace(title_regex,function(match,a,b,c){return a+title+c;});});if($a.attr('target')&&$a.attr('target').match(/_blank/i)&&!$a.closest('.o_editable').length){$a.on('click',function(){window.open(this.href,'','menubar=no,toolbar=no,resizable=yes,scrollbars=yes,height=550,width=600');return false;});}});return this._super.apply(this,arguments);},});registry.mediaVideo=Animation.extend({selector:'.media_iframe_video',
102start:function(){var def=this._super.apply(this,arguments);if(this.$target.children('iframe').length){return def;}
103this.$target.empty();this.$target.append('<div class="css_editable_mode_display">&nbsp;</div>'+'<div class="media_iframe_video_size">&nbsp;</div>');this.$target.append($('<iframe/>',{src:_.escape(this.$target.data('oe-expression')||this.$target.data('src')),frameborder:'0',allowfullscreen:'allowfullscreen',sandbox:'allow-scripts allow-same-origin',}));return def;},});registry.ul=Animation.extend({selector:'ul.o_ul_folded, ol.o_ul_folded',events:{'click .o_ul_toggle_next':'_onToggleNextClick','click .o_ul_toggle_self':'_onToggleSelfClick',},_onToggleNextClick:function(ev){ev.preventDefault();var $target=$(ev.currentTarget);$target.toggleClass('o_open');$target.closest('li').next().toggleClass('o_close');},_onToggleSelfClick:function(ev){ev.preventDefault();var $target=$(ev.currentTarget);$target.toggleClass('o_open');$target.closest('li').find('ul,ol').toggleClass('o_close');},});registry.gallery=Animation.extend({selector:'.o_gallery:not(.o_slideshow)',xmlDependencies:['/website/static/src/xml/website.gallery.xml'],read_events:{'click img':'_onClickImg',},_onClickImg:function(ev){var self=this;var $cur=$(ev.currentTarget);var urls=[];var idx=undefined;var milliseconds=undefined;var params=undefined;var $images=$cur.closest('.o_gallery').find('img');var size=0.8;var dimensions={min_width:Math.round(window.innerWidth*size*0.9),min_height:Math.round(window.innerHeight*size),max_width:Math.round(window.innerWidth*size*0.9),max_height:Math.round(window.innerHeight*size),width:Math.round(window.innerWidth*size*0.9),height:Math.round(window.innerHeight*size)};$images.each(function(){urls.push($(this).attr('src'));});var $img=($cur.is('img')===true)?$cur:$cur.closest('img');idx=urls.indexOf($img.attr('src'));milliseconds=$cur.closest('.o_gallery').data('interval')||false;params={srcs:urls,index:idx,dim:dimensions,interval:milliseconds,id:_.uniqueId('slideshow_')};var $modal=$(qweb.render('website.gallery.slideshow.lightbox',params));$modal.modal({keyboard:true,backdrop:true,});$modal.on('hidden.bs.modal',function(){$(this).hide();$(this).siblings().filter('.modal-backdrop').remove();$(this).remove();});$modal.find('.modal-content, .modal-body.o_slideshow').css('height','100%');$modal.appendTo(document.body);$modal.one('shown.bs.modal',function(){self.trigger_up('animation_start_demand',{editableMode:false,$target:$modal.find('.modal-body.o_slideshow'),});});},});registry.gallerySlider=Animation.extend({selector:'.o_slideshow',xmlDependencies:['/website/static/src/xml/website.gallery.xml'],start:function(){var self=this;this.$carousel=this.$target.is('.carousel')?this.$target:this.$target.find('.carousel');this.$indicator=this.$carousel.find('.carousel-indicators');this.$prev=this.$indicator.find('li.o_indicators_left').css('visibility','');this.$next=this.$indicator.find('li.o_indicators_right').css('visibility','');var $lis=this.$indicator.find('li[data-slide-to]');var nbPerPage=Math.floor(this.$indicator.width()/$lis.first().outerWidth(true))-3;var realNbPerPage=nbPerPage||1;var nbPages=Math.ceil($lis.length/realNbPerPage);var index;var page;update();function hide(){$lis.each(function(i){$(this).toggleClass('d-none',!(i>=page*nbPerPage&&i<(page+1)*nbPerPage));});if(self.editableMode){return;}
104if(page<=0){self.$prev.detach();}else{self.$prev.prependTo(self.$indicator);}
105if(page>=nbPages-1){self.$next.detach();}else{self.$next.appendTo(self.$indicator);}}
106function update(){index=$lis.index($lis.filter('.active'))||0;page=Math.floor(index/realNbPerPage);hide();}
107this.$carousel.on('slide.bs.carousel.gallery_slider',function(){setTimeout(function(){var $item=self.$carousel.find('.carousel-inner .carousel-item-prev, .carousel-inner .carousel-item-next');var index=$item.index();$lis.removeClass('active').filter('[data-slide-to="'+index+'"]').addClass('active');},0);});this.$indicator.on('click.gallery_slider','> li:not([data-slide-to])',function(){page+=($(this).hasClass('o_indicators_left')?-1:1);page=Math.max(0,Math.min(nbPages-1,page));self.$carousel.carousel(page*realNbPerPage);hide();});this.$carousel.on('slid.bs.carousel.gallery_slider',update);return this._super.apply(this,arguments);},destroy:function(){this._super.apply(this,arguments);if(!this.$indicator){return;}
108this.$prev.prependTo(this.$indicator);this.$next.appendTo(this.$indicator);this.$carousel.off('.gallery_slider');this.$indicator.off('.gallery_slider');},});registry.socialShare=Animation.extend({selector:'.oe_social_share',xmlDependencies:['/website/static/src/xml/website.share.xml'],read_events:{'mouseenter':'_onMouseEnter',},_bindSocialEvent:function(){this.$('.oe_social_facebook').click($.proxy(this._renderSocial,this,'facebook'));this.$('.oe_social_twitter').click($.proxy(this._renderSocial,this,'twitter'));this.$('.oe_social_linkedin').click($.proxy(this._renderSocial,this,'linkedin'));this.$('.oe_social_google-plus').click($.proxy(this._renderSocial,this,'google-plus'));},_render:function(){this.$target.popover({content:qweb.render('website.social_hover',{medias:this.socialList}),placement:'bottom',container:this.$target,html:true,trigger:'manual',animation:false,}).popover("show");
108this.$target.off('mouseleave.socialShare').on('mouseleave.socialShare',function(){var self=this;setTimeout(function(){if(!$(".popover:hover").length){$(self).popover('dispose');}},200);});},_renderSocial:function(social){var url=encodeURIComponent(document.URL.split(/[?#]/)[0]);var title=document.title.split(" | ")[0];var hashtags=' #'+document.title.split(" | ")[1].replace(' ','')+' '+this.hashtags;var social_network={'facebook':'https://www.facebook.com/sharer/sharer.php?u='+url,'twitter':'https://twitter.com/intent/tweet?original_referer='+url+'&text='+encodeURIComponent(title+hashtags+' - ')+url,'linkedin':'https://www.linkedin.com/shareArticle?mini=true&url='+url+'&title='+encodeURIComponent(title),'google-plus':'https://plus.google.com/share?url='+url,};if(!_.contains(_.keys(social_network),social)){return;}
109var wHeight=500;var wWidth=500;window.open(social_network[social],'','menubar=no, toolbar=no, resizable=yes, scrollbar=yes, height='+wHeight+',width='+wWidth);},_onMouseEnter:function(){var social=this.$target.data('social');this.socialList=social?social.split(','):['facebook','twitter','linkedin','google-plus'];this.hashtags=this.$target.data('hashtags')||'';this._render();this._bindSocialEvent();},});registry.facebookPage=Animation.extend({selector:'.o_facebook_page',start:function(){var def=this._super.apply(this,arguments);var params=_.pick(this.$el.data(),'href','height','tabs','small_header','hide_cover','show_facepile');if(!params.href){return def;}
110params.width=utils.confine(Math.floor(this.$el.width()),180,500);var src=$.param.querystring('https://www.facebook.com/plugins/page.php',params);this.$iframe=$('<iframe/>',{src:src,class:'o_temp_auto_element',width:params.width,height:params.height,css:{border:'none',overflow:'hidden',},scrolling:'no',frameborder:'0',allowTransparency:'true',});this.$el.append(this.$iframe);return def;},destroy:function(){this._super.apply(this,arguments);if(this.$iframe){this.$iframe.remove();}},});registry._fixAppleCollapse=Animation.extend({selector:'.s_faq_collapse [data-toggle="collapse"]',events:{'click':function(){},},});return{Class:Animation,registry:registry,};});;
111
112/* /website/static/src/js/content/zoomodoo.js defined in bundle 'web.assets_frontend' */
113odoo.define('website.content.zoomodoo',function(require){'use strict';var dw,dh,rw,rh,lx,ly;var defaults={linkTag:'a',linkAttribute:'data-zoom-image',event:'click',preventClicks:true,disabledOnMobile:true,beforeShow:$.noop,beforeHide:$.noop,onShow:$.noop,onHide:$.noop,onMove:$.noop};function ZoomOdoo(target,options){this.$target=$(target);this.opts=$.extend({},defaults,options,this.$target.data());if(this.isOpen===undefined){this._init();}}
114ZoomOdoo.prototype._init=function(){if(window.outerWidth>467||!this.opts.disabledOnMobile){this.$link=this.$target.find(this.opts.linkTag).length&&this.$target.find(this.opts.linkTag)||this.$target;this.$image=this.$target.find('img').length&&this.$target.find('img')||this.$target;this.$flyout=$('<div class="zoomodoo-flyout" />');var $attach=this.$target;if(this.opts.attach!==undefined&&this.$target.parents(this.opts.attach).length){$attach=this.$target.parents(this.opts.attach);}
115$attach.parent().on('mousemove.zoomodoo touchmove.zoomodoo',$.proxy(this._onMove,this));$attach.parent().on('mouseleave.zoomodoo touchend.zoomodoo',$.proxy(this._onLeave,this));this.$target.on(this.opts.event+'.zoomodoo touchstart.zoomodoo',$.proxy(this._onEnter,this));if(this.opts.preventClicks){this.$target.on('click.zoomodoo',function(e){e.preventDefault();});}}};ZoomOdoo.prototype.show=function(e,testMouseOver){var w1,h1,w2,h2;var self=this;if(this.opts.beforeShow.call(this)===false)return;if(!this.isReady){return this._loadImage(this.$link.attr(this.opts.linkAttribute),function(){if(self.isMouseOver||!testMouseOver){self.show(e);}});}
116var $attach=this.$target;if(this.opts.attach!==undefined&&this.$target.parents(this.opts.attach).length){$attach=this.$target.parents(this.opts.attach);}
117$attach.parent().append(this.$flyout);w1=this.$target.width();h1=this.$target.height();w2=this.$flyout.width();h2=this.$flyout.height();dw=this.$zoom.width()-w2;dh=this.$zoom.height()-h2;if(dw<0)dw=0;if(dh<0)dh=0;rw=dw/w1;rh=dh/h1;this.isOpen=true;this.opts.onShow.call(this);if(e){this._move(e);}};ZoomOdoo.prototype._onEnter=function(e){var touches=e.originalEvent.touches;this.isMouseOver=true;if(!touches||touches.length===1){e.preventDefault();this.show(e,true);}};ZoomOdoo.prototype._onMove=function(e){if(!this.isOpen)return;e.preventDefault();this._move(e);};ZoomOdoo.prototype._onLeave=function(){this.isMouseOver=false;if(this.isOpen){this.hide();}};ZoomOdoo.prototype._onLoad=function(e){if(!e.currentTarget.width)return;this.isReady=true;this.$flyout.html(this.$zoom);if(e.data.call){e.data();}};ZoomOdoo.prototype._loadImage=function(href,callback){var zoom=new Image();this.$zoom=$(zoom).on('load',callback,$.proxy(this._onLoad,this));zoom.style.position='absolute';zoom.src=href;};ZoomOdoo.prototype._move=function(e){if(e.type.indexOf('touch')===0){var touchlist=e.touches||e.originalEvent.touches;lx=touchlist[0].pageX;ly=touchlist[0].pageY;}else{lx=e.pageX||lx;ly=e.pageY||ly;}
118var offset=this.$target.offset();var pt=ly-offset.top;var pl=lx-offset.left;var xt=Math.ceil(pt*rh);var xl=Math.ceil(pl*rw);if(xl<0||xt<0||xl>dw||xt>dh){this.hide();}else{var top=xt*-1;var left=xl*-1;this.$zoom.css({top:top,left:left});this.opts.onMove.call(this,top,left);}};ZoomOdoo.prototype.hide=function(){if(!this.isOpen)return;if(this.opts.beforeHide.call(this)===false)return;this.$flyout.detach();this.isOpen=false;this.opts.onHide.call(this);};$.fn.zoomOdoo=function(options){return this.each(function(){var api=$.data(this,'zoomOdoo');if(!api){$.data(this,'zoomOdoo',new ZoomOdoo(this,options));}
118else if(api.isOpen===undefined){api._init();}});};});;
119
120/* /website/static/src/js/menu/navbar.js defined in bundle 'web.assets_frontend' */
121odoo.define('website.navbar',function(require){'use strict';var rootWidget=require('web_editor.root_widget');var concurrency=require('web.concurrency');var Widget=require('web.Widget');var websiteRootData=require('website.WebsiteRoot');var websiteNavbarRegistry=new rootWidget.RootWidgetRegistry();var WebsiteNavbar=rootWidget.RootWidget.extend({events:_.extend({},rootWidget.RootWidget.prototype.events||{},{'click [data-action]':'_onActionMenuClick','mouseover > ul > li.dropdown:not(.show)':'_onMenuHovered','click .o_mobile_menu_toggle':'_onMobileMenuToggleClick',}),custom_events:_.extend({},rootWidget.RootWidget.prototype.custom_events||{},{action_demand:'_onActionDemand',edit_mode:'_onEditMode',ready_to_save:'_onSave',}),init:function(){this._super.apply(this,arguments);this._widgetDefs=[$.Deferred()];},start:function(){var self=this;return this._super.apply(this,arguments).then(function(){self._widgetDefs[0].resolve();});},_attachComponent:function(){var def=this._super.apply(this,arguments);this._widgetDefs.push(def);return def;},_getRegistry:function(){return websiteNavbarRegistry;},_handleAction:function(actionName,params,_i){var self=this;return this._whenReadyForActions().then(function(){var defs=[];_.each(self._widgets,function(w){if(!w.handleAction){return;}
122var def=w.handleAction(actionName,params);if(def!==null){defs.push(def);}});if(!defs.length){if(_i>50){console.warn(_.str.sprintf("Action '%s' was not able to be handled.",actionName));return $.Deferred().reject();}
123return concurrency.delay(100).then(function(){return self._handleAction(actionName,params,(_i||0)+1);});}
124return $.when.apply($,defs);});},_whenReadyForActions:function(){return $.when.apply($,this._widgetDefs);},_onActionMenuClick:function(ev){var $button=$(ev.currentTarget);$button.prop('disabled',true);this._handleAction($button.data('action')).always(function(){$button.prop('disabled',false);});},_onActionDemand:function(ev){var def=this._handleAction(ev.data.actionName,ev.data.params);if(ev.data.onSuccess){def.done(ev.data.onSuccess);}
125if(ev.data.onFailure){def.fail(ev.data.onFailure);}},_onEditMode:function(){var self=this;this.$el.addClass('editing_mode');_.delay(function(){self.do_hide();},800);},_onMenuHovered:function(ev){var $opened=this.$('> ul > li.dropdown.show');if($opened.length){$opened.find('.dropdown-toggle').dropdown('toggle');$(ev.currentTarget).find('.dropdown-toggle').dropdown('toggle');}},_onMobileMenuToggleClick:function(){this.$el.parent().toggleClass('o_mobile_menu_opened');},_onSave:function(ev){ev.data.defs.push(this._handleAction('on_save'));},});var WebsiteNavbarActionWidget=Widget.extend({actions:{},handleAction:function(actionName,params){var action=this[this.actions[actionName]];if(action){return $.when(action.apply(this,params||[]));}
126return null;},});websiteRootData.websiteRootRegistry.add(WebsiteNavbar,'#oe_main_menu_navbar');return{WebsiteNavbar:WebsiteNavbar,websiteNavbarRegistry:websiteNavbarRegistry,WebsiteNavbarActionWidget:WebsiteNavbarActionWidget,};});;
127
128/* /website/static/src/js/html_editor.test.js defined in bundle 'web.assets_frontend' */
129odoo.define('website.test.html_editor',function(require){'use strict';var tour=require('web_tour.tour');var base=require('web_editor.base');tour.register('html_editor_multiple_templates',{test:true,url:'/aboutus',wait_for:base.ready(),},[{content:"enter edit mode",trigger:'a[data-action=edit]',},{content:"drop a snippet",trigger:'#oe_snippets .oe_snippet:has(.s_cover) .oe_snippet_thumbnail',run:"drag_and_drop #oe_structure_test_ui",},{content:"save the page",extra_trigger:'#wrapwrap .s_cover',trigger:"#web_editor-top-edit button[data-action=save]",},{content:"open customize menu",extra_trigger:"body:not(.editor_enable)",trigger:'#customize-menu > a',},{content:"open html editor",trigger:'#html_editor',},{content:"add something in the aboutus view",trigger:'div.ace_line .ace_xml:contains("aboutus")',run:function(){ace.edit('ace-view-editor').getSession().insert({row:3,column:1},'<p>somenewcontent</p>\n');},},{content:"select oe_structure specific view",trigger:'div.ace_line .ace_xml:contains("somenewcontent")',run:function(){var viewId=$('#ace-view-list option:contains("oe_structure")').val();$('#ace-view-list').val(viewId).trigger('change');},},{content:"add something in the oe_structure specific view",extra_trigger:'#ace-view-id:contains("website.aboutus_oe_structure_test_ui")',trigger:'div.ace_line .ace_xml:contains("s_cover")',run:function(){ace.edit('ace-view-editor').getSession().insert({row:2,column:1},'<p>anothernewcontent</p>\n');},},{content:"save the html editor",extra_trigger:'div.ace_line .ace_xml:contains("anothernewcontent")',trigger:".o_ace_view_editor button[data-action=save]",},{content:"check that the page has both modification",extra_trigger:'#wrapwrap:contains("anothernewcontent")',trigger:'#wrapwrap:contains("somenewcontent")',run:function(){},},]);tour.register('test_html_editor_scss',{test:true,url:'/aboutus',wait_for:base.ready(),},[{content:"open customize menu",extra_trigger:'#wrap:visible',trigger:'#customize-menu > a',},{content:"open html editor",trigger:'#html_editor',},{content:"open type switcher",trigger:'.o_ace_type_switcher button',},{content:"select scss files",trigger:'.o_ace_type_switcher_choice[data-type="scss"]',},{content:"select 'website.ui.scss'",trigger:'#ace-scss-list',run:function(){var scssId=$('#ace-scss-list option:contains("website.ui")').val();$('#ace-scss-list').val(scssId).trigger('change');},},{content:"add some scss content in the file",trigger:'div.ace_line .ace_variable:contains("body.o_connected_user")',run:function(){ace.edit('ace-view-editor').getSession().insert({row:2,column:0},'#wrap {display: none;}\n');},},{content:"save the html editor",extra_trigger:'div.ace_line:contains("#wrap {display: none;}")',trigger:".o_ace_view_editor button[data-action=save]",},{content:"check that the scss modification got applied",trigger:'body:has(#wrap:hidden)',run:function(){},},{content:"reset view (after reload, html editor should have been reopened where it was)",trigger:'#ace-view-id button[data-action="reset"]',},{content:"confirm reset warning",trigger:'.modal-footer .btn-primary',},{content:"check that the scss file was reset correctly, wrap content should now be visible again",trigger:'#wrap:visible',run:function(){},},]);});;
130
131/* /website_enterprise/static/src/js/website_enterprise.js defined in bundle 'web.assets_frontend' */
132odoo.define('website.home_menu',function(require){'use strict';var session=require('web.session');var websiteNavbarData=require('website.navbar');websiteNavbarData.WebsiteNavbar.include({events:_.extend({},websiteNavbarData.WebsiteNavbar.prototype.events||{},{'click .o_menu_toggle':'_onMenuToggleClick',}),_onMenuToggleClick:function(ev){ev.preventDefault();var $button=$(ev.currentTarget);if(!$button.hasClass('fa')){return;}
133$button.removeClass('fa fa-th').append($('<span/>',{'class':'fa fa-spin fa-spinner'}));var url='/web#home';window.location.href=session.debug?$.param.querystring(url,{debug:session.debug}):url;},});});;
134
135/* /website_form/static/src/js/website_form.js defined in bundle 'web.assets_frontend' */
136odoo.define('website_form.animation',function(require){'use strict';var core=require('web.core');var time=require('web.time');var ajax=require('web.ajax');var sAnimation=require('website.content.snippets.animation');var _t=core._t;var qweb=core.qweb;sAnimation.registry.form_builder_send=sAnimation.Class.extend({selector:'.s_website_form',willStart:function(){var def;if(!$.fn.datetimepicker){def=ajax.loadJS("/web/static/lib/tempusdominus/tempusdominus.js");}
137return $.when(this._super.apply(this,arguments),def);},start:function(editable_mode){if(editable_mode){this.stop();return;}
138var self=this;this.templates_loaded=ajax.loadXML('/website_form/static/src/xml/website_form.xml',qweb);this.$target.find('.o_website_form_send').on('click',function(e){self.send(e);});var l10n=_t.database.parameters;var datepickers_options={minDate:moment({y:1900}
138),maxDate:moment({y:9999,M:11,d:31}),calendarWeeks:true,icons:{time:'fa fa-clock-o',date:'fa fa-calendar',next:'fa fa-chevron-right',previous:'fa fa-chevron-left',up:'fa fa-chevron-up',down:'fa fa-chevron-down',},locale:moment.locale(),format:time.getLangDatetimeFormat(),};this.$target.find('.o_website_form_datetime').datetimepicker(datepickers_options);datepickers_options.format=time.getLangDateFormat();this.$target.find('.o_website_form_date').datetimepicker(datepickers_options);return this._super.apply(this,arguments);},destroy:function(){this._super.apply(this,arguments);this.$target.find('button').off('click');},send:function(e){e.preventDefault();this.$target.find('.o_website_form_send').off('click').addClass('disabled').attr('disabled','disabled');var self=this;self.$target.find('#o_website_form_result').empty();if(!self.check_error_fields({})){self.update_status('invalid');return false;}
139this.form_fields=this.$target.serializeArray();$.each(this.$target.find('input[type=file]'),function(outer_index,input){$.each($(input).prop('files'),function(index,file){self.form_fields.push({name:input.name+'['+outer_index+']['+index+']',value:file});});});var form_values={};_.each(this.form_fields,function(input){if(input.name in form_values){if(Array.isArray(form_values[input.name])){form_values[input.name].push(input.value);}else{form_values[input.name]=[form_values[input.name],input.value];}}else{if(input.value!==''){form_values[input.name]=input.value;}}});for(var key in this.$target.data()){if(_.str.startsWith(key,'form_field_')){form_values[key.replace('form_field_','')]=this.$target.data(key);}}
140ajax.post(this.$target.attr('action')+(this.$target.data('force_action')||this.$target.data('model_name')),form_values).then(function(result_data){result_data=$.parseJSON(result_data);if(!result_data.id){self.update_status('error');if(result_data.error_fields){self.check_error_fields(result_data.error_fields);}}else{var success_page=self.$target.attr('data-success_page');if(success_page){$(window.location).attr('href',success_page);}
141else{self.update_status('success');}
142self.$target[0].reset();}}).fail(function(result_data){self.update_status('error');});},check_error_fields:function(error_fields){var self=this;var form_valid=true;this.$target.find('.form-field').each(function(k,field){var $field=$(field);var field_name=$field.find('.col-form-label').attr('for');var inputs=$field.find('.o_website_form_input:not(#editable_select)');var invalid_inputs=inputs.toArray().filter(function(input,k,inputs){if(input.required&&input.type==='checkbox'){var checkboxes=_.filter(inputs,function(input){return input.required&&input.type==='checkbox';});return!_.any(checkboxes,function(checkbox){return checkbox.checked;});}else if($(input).hasClass('o_website_form_date')){if(!self.is_datetime_valid(input.value,'date')){return true;}}else if($(input).hasClass('o_website_form_datetime')){if(!self.is_datetime_valid(input.value,'datetime')){return true;}}
143return!input.checkValidity();});$field.removeClass('o_has_error').find('.form-control, .custom-select').removeClass('is-invalid');if(invalid_inputs.length||error_fields[field_name]){$field.addClass('o_has_error').find('.form-control, .custom-select').addClass('is-invalid')
144if(_.isString(error_fields[field_name])){$field.popover({content:error_fields[field_name],trigger:'hover',container:'body',placement:'top'});$field.data("bs.popover").config.content=error_fields[field_name];$field.popover('show');}
145form_valid=false;}});return form_valid;},is_datetime_valid:function(value,type_of_date){if(value===""){return true;}else{try{this.parse_date(value,type_of_date);return true;}catch(e){return false;}}},parse_date:function(value,type_of_date,value_if_empty){var date_pattern=time.getLangDateFormat(),time_pattern=time.getLangTimeFormat();var date_pattern_wo_zero=date_pattern.replace('MM','M').replace('DD','D'),time_pattern_wo_zero=time_pattern.replace('HH','H').replace('mm','m').replace('ss','s');switch(type_of_date){case'datetime':var datetime=moment(value,[date_pattern+' '+time_pattern,date_pattern_wo_zero+' '+time_pattern_wo_zero],true);if(datetime.isValid())
146return time.datetime_to_str(datetime.toDate());throw new Error(_.str.sprintf(_t("'%s' is not a correct datetime"),value));case'date':var date=moment(value,[date_pattern,date_pattern_wo_zero],true);if(date.isValid())
147return time.date_to_str(date.toDate());throw new Error(_.str.sprintf(_t("'%s' is not a correct date"),value));}
148return value;},update_status:function(status){var self=this;if(status!=='success'){this.$target.find('.o_website_form_send').removeClass('disabled').removeAttr('disabled').on('click',function(e){self.send(e);});}
149var $result=this.$('#o_website_form_result');this.templates_loaded.done(function(){$result.replaceWith(qweb.render("website_form.status_"+status));});},});});;
150
151/* /website_mail/static/src/js/follow.js defined in bundle 'web.assets_frontend' */
152odoo.define('website_mail.follow',function(require){'use strict';var sAnimation=require('website.content.snippets.animation');sAnimation.registry.follow=sAnimation.Class.extend({selector:'.js_follow',
152start:function(){var self=this;this.is_user=false;this._rpc({route:'/website_mail/is_follower',params:{model:this.$target.data('object'),res_id:this.$target.data('id'),},}).always(function(data){self.is_user=data.is_user;self.email=data.email;self.toggle_subscription(data.is_follower,data.email);self.$target.removeClass('d-none');});if(!this.editableMode){$('.js_follow > .input-group-append.d-none').removeClass('d-none');this.$target.find('.js_follow_btn, .js_unfollow_btn').on('click',function(event){event.preventDefault();self._onClick();});}
153return this._super.apply(this,arguments);},_onClick:function(){var self=this;var $email=this.$target.find(".js_follow_email");if($email.length&&!$email.val().match(/.+@.+/)){this.$target.addClass('o_has_error').find('.form-control, .custom-select').addClass('is-invalid');return false;}
154this.$target.removeClass('o_has_error').find('.form-control, .custom-select').removeClass('is-invalid');var email=$email.length?$email.val():false;if(email||this.is_user){this._rpc({route:'/website_mail/follow',params:{'id':+this.$target.data('id'),'object':this.$target.data('object'),'message_is_follower':this.$target.attr("data-follow")||"off",'email':email,},}).then(function(follow){self.toggle_subscription(follow,email);});}},toggle_subscription:function(follow,email){follow=follow||(!email&&this.$target.attr('data-unsubscribe'));if(follow){this.$target.find(".js_follow_btn").addClass('d-none');this.$target.find(".js_unfollow_btn").removeClass('d-none');}
155else{this.$target.find(".js_follow_btn").removeClass('d-none');this.$target.find(".js_unfollow_btn").addClass('d-none');}
156this.$target.find('input.js_follow_email').val(email||"").attr("disabled",email&&(follow||this.is_user)?"disabled":false);this.$target.attr("data-follow",follow?'on':'off');},});});;
157
158/* /website_mail/static/src/js/website_mail.js defined in bundle 'web.assets_frontend' */
159odoo.define('website_mail.thread',function(require){'use strict';var ajax=require('web.ajax');var core=require('web.core');var qweb=core.qweb;var PortalChatter=require('portal.chatter').PortalChatter;PortalChatter.include({_loadTemplates:function(){return $.when(this._super(),ajax.loadXML('/website_mail/static/src/xml/website_mail.xml',qweb));},});});;
160
161/* /website_links/static/src/js/website_links.js defined in bundle 'web.assets_frontend' */
162odoo.define('website_links.website_links',function(require){'use strict';require('web.dom_ready');var ajax=require('web.ajax');var core=require('web.core');var rpc=require('web.rpc');var Widget=require('web.Widget');var base=require('web_editor.base');var weContext=require('web_editor.context');var qweb=core.qweb;var _t=core._t;var exports={};if(!$('.o_website_links_create_tracked_url').length){return $.Deferred().reject("DOM doesn't contain '.o_website_links_create_tracked_url'");}
163var SelectBox=Widget.extend({init:function(obj){this.obj=obj;},start:function(element,placeholder){var self=this;this.element=element;this.placeholder=placeholder;this.fetch_objects().then(function(results){self.objects=results;element.select2({placeholder:self.placeholder,allowClear:true,createSearchChoice:function(term){if(self.object_exists(term)){return null;}
164return{id:term,text:_.str.sprintf("Create '%s'",term)};},createSearchChoicePosition:'bottom',multiple:false,data:self.objects,});element.on('change',function(e){self.on_change(e);});});},fetch_objects:function(){return rpc.query({model:this.obj,method:'search_read',context:weContext.get(),}).then(function(result){return _.map(result,function(val){return{id:val.id,text:val.name};});});},object_exists:function(query){return _.find(this.objects,function(val){return val.text.toLowerCase()===query.toLowerCase();})!==undefined;},on_change:function(e){if(e.added&&_.isString(e.added.id)){this.create_object(e.added.id);}},create_object:function(name){var self=this;return rpc.query({model:this.obj,method:'create',args:[{name:name}],context:weContext.get(),}).then(function(record){self.element.attr('value',record);self.objects.push({'id':record,'text':name});});},});var RecentLinkBox=Widget.extend({template:'website_links.RecentLink',events:{'click .btn_shorten_url_clipboard':'toggle_copy_button','click .o_website_links_edit_code':'edit_code','click .o_website_links_ok_edit':function(e){e.preventDefault();this.submit_code();},'click .o_website_links_cancel_edit':function(e){e.preventDefault();this.cancel_edit();},'submit #o_website_links_edit_code_form':function(e){e.preventDefault();this.submit_code();},},init:function(parent,link_obj){this._super(parent);this.link_obj=link_obj;this.animating_copy=false;},start:function(){new ClipboardJS(this.$('.btn_shorten_url_clipboard').get(0));return this._super.apply(this,arguments);},toggle_copy_button:function(){var self=this;if(!this.animating_copy){this.animating_copy=true;var top=this.$('.o_website_links_short_url').position().top;this.$('.o_website_links_short_url').clone().css('position','absolute').css('left',15).css('top',top-2).css('z-index',2).removeClass('o_website_links_short_url').addClass('animated-link').insertAfter(this.$('.o_website_links_short_url')).animate({opacity:0,top:"-=20",},500,function(){self.$('.animated-link').remove();self.animating_copy=false;});}},remove:function(){this.getParent().remove_link(this);},notification:function(message){this.$('.notification').append('<strong>'+message+'</strong>');},edit_code:function(){var init_code=this.$('#o_website_links_code').html();this.$('#o_website_links_code').html("<form style='display:inline;' id='o_website_links_edit_code_form'><input type='hidden' id='init_code' value='"+init_code+"'/><input type='text' id='new_code' value='"+init_code+"'/></form>");this.$('.o_website_links_edit_code').hide();
164this.$('.copy-to-clipboard').hide();this.$('.o_website_links_edit_tools').show();},cancel_edit:function(){this.$('.o_website_links_edit_code').show();this.$('.copy-to-clipboard').show();this.$('.o_website_links_edit_tools').hide();this.$('.o_website_links_code_error').hide();var old_code=this.$('#o_website_links_edit_code_form #init_code').val();this.$('#o_website_links_code').html(old_code);this.$('#code-error').remove();this.$('#o_website_links_code form').remove();},submit_code:function(){var self=this;var init_code=this.$('#o_website_links_edit_code_form #init_code').val();var new_code=this.$('#o_website_links_edit_code_form #new_code').val();if(new_code===''){self.$('.o_website_links_code_error').html("The code cannot be left empty");self.$('.o_website_links_code_error').show();return;}
165function show_new_code(new_code){self.$('.o_website_links_code_error').html('');self.$('.o_website_links_code_error').hide();self.$('#o_website_links_code form').remove();var host=self.$('#o_website_links_host').html();self.$('#o_website_links_code').html(new_code);self.$('.btn_shorten_url_clipboard').attr('data-clipboard-text',host+new_code);self.$('.o_website_links_edit_code').show();self.$('.copy-to-clipboard').show();self.$('.o_website_links_edit_tools').hide();}
166if(init_code===new_code){show_new_code(new_code);}
167else{ajax.jsonRpc('/website_links/add_code','call',{'init_code':init_code,'new_code':new_code}).then(function(result){show_new_code(result[0].code);}).fail(function(){self.$('.o_website_links_code_error').show();self.$('.o_website_links_code_error').html("This code is already taken");});}},});var RecentLinks=Widget.extend({init:function(){this._super();},get_recent_links:function(filter){var self=this;ajax.jsonRpc('/website_links/recent_links','call',{'filter':filter,'limit':20}).then(function(result){_.each(result.reverse(),function(link){self.add_link(link);});self.update_notification();}).fail(function(){var message=_t("Unable to get recent links");self.$el.append("<div class='alert alert-danger'>"+message+"</div>");});},add_link:function(link){var nb_links=this.getChildren().length;var recent_link_box=new RecentLinkBox(this,link);recent_link_box.prependTo(this.$el);$('.link-tooltip').tooltip();if(nb_links===0){this.update_notification();}},remove_links:function(){_.invoke(this.getChildren(),'remove');},remove_link:function(link){link.destroy();},update_notification:function(){if(this.getChildren().length===0){var message=_t("You don't have any recent links.");$('.o_website_links_recent_links_notification').html("<div class='alert alert-info'>"+message+"</div>");}
168else{$('.o_website_links_recent_links_notification').empty();}},});ajax.loadXML('/website_links/static/src/xml/recent_link.xml',qweb);base.ready().done(function(){var campaign_select=new SelectBox('utm.campaign');campaign_select.start($("#campaign-select"),_t('e.g. Promotion of June, Winter Newsletter, ..'));var medium_select=new SelectBox('utm.medium');medium_select.start($("#channel-select"),_t('e.g. Newsletter, Social Network, ..'));var source_select=new SelectBox('utm.source');source_select.start($("#source-select"),_t('e.g. Search Engine, Website page, ..'));var recent_links=new RecentLinks();recent_links.appendTo($("#o_website_links_recent_links"));recent_links.get_recent_links('newest');$('#filter-newest-links').click(function(){recent_links.remove_links();recent_links.get_recent_links('newest');});$('#filter-most-clicked-links').click(function(){recent_links.remove_links();recent_links.get_recent_links('most-clicked');});$('#filter-recently-used-links').click(function(){recent_links.remove_links();recent_links.get_recent_links('recently-used');});new ClipboardJS($("#btn_shorten_url").get(0));$("#generated_tracked_link a").click(function(){$("#generated_tracked_link a").text("Copied").removeClass("btn-primary").addClass("btn-success");setTimeout(function(){$("#generated_tracked_link a").text("Copy").removeClass("btn-success").addClass("btn-primary");},'5000');});$('#url').on('keyup',function(e){if($('#btn_shorten_url').hasClass('btn-copy')&&e.which!==13){$('#btn_shorten_url').removeClass('btn-success btn-copy').addClass('btn-primary').html('Get tracked link');$('#generated_tracked_link').css('display','none');$('.o_website_links_utm_forms').show();}});var url_copy_animating=false;$('#btn_shorten_url').click(function(){if($('#btn_shorten_url').hasClass('btn-copy')){if(!url_copy_animating){url_copy_animating=true;$('#generated_tracked_link').clone().css('position','absolute').css('left','78px').css('bottom','8px').css('z-index',2).removeClass('#generated_tracked_link').addClass('url-animated-link').appendTo($('#generated_tracked_link')).animate({opacity:0,bottom:"+=20",},500,function(){$('.url-animated-link').remove();url_copy_animating=false;});}}});$("#o_website_links_link_tracker_form").submit(function(event){if($('#btn_shorten_url').hasClass('btn-copy')){event.preventDefault();return;}
169event.preventDefault();event.stopPropagation();var campaign_id=$('#campaign-select').attr('value');var medium_id=$('#channel-select').attr('value');var source_id=$('#source-select').attr('value');var params={};params.url=$("#url").val();if(campaign_id!==''){params.campaign_id=parseInt(campaign_id);}
170if(medium_id!==''){params.medium_id=parseInt(medium_id);}
171if(source_id!==''){params.source_id=parseInt(source_id);}
172$('#btn_shorten_url').text(_t('Generating link...'));ajax.jsonRpc("/website_links/new",'call',params).then(function(result){if('error'in result){if(result.error==='empty_url'){$('.notification').html("<div class='alert alert-danger'>The URL is empty.</div>");}
173else if(result.error==='url_not_found'){$('.notification').html("<div class='alert alert-danger'>URL not found (404)</div>");}
174else{$('.notification').html("<div class='alert alert-danger'>An error occur while trying to generate your link. Try again later.</div>");}}
175else{var link=result[0];$('#btn_shorten_url').removeClass('btn-primary').addClass('btn-success btn-copy').html('Copy');$('#btn_shorten_url').attr('data-clipboard-text',link.short_url);$('.notification').html('');$('#generated_tracked_link').html(link.short_url);$('#generated_tracked_link').css('display','inline');recent_links.add_link(link);$('#campaign-select').select2('val','');$('#channel-select').select2('val','');$('#source-select').select2('val','');$('.o_website_links_utm_forms').hide();}});});$(function(){$('[data-toggle="tooltip"]').tooltip();});});exports.SelectBox=SelectBox;exports.RecentLinkBox=RecentLinkBox;exports.RecentLinks=RecentLinks;return exports;});;
176
177/* /website_links/static/src/js/website_links_code_editor.js defined in bundle 'web.assets_frontend' */
178odoo.define('website_links.code_editor',function(require){'use strict';require('web.dom_ready');var ajax=require('web.ajax');if(!$('.o_website_links_edit_code').length){return $.Deferred().reject("DOM doesn't contain '.o_website_links_edit_code'");}
179$('.o_website_links_edit_code').on('click',function(e){e.preventDefault();var init_code=$('#o_website_links_code').html();$('#o_website_links_code').html("<form style='display:inline;' id='edit-code-form'><input type='hidden' id='init_code' value='"+init_code+"'/><input type='text' id='new_code' value='"+init_code+"'/></form>");$('.o_website_links_edit_code').hide();$('.copy-to-clipboard').hide();$('.o_website_links_edit_tools').show();$('.o_website_links_cancel_edit').on('click',function(e){e.preventDefault();$('.o_website_links_edit_code').show();$('.copy-to-clipboard').show();$('.o_website_links_edit_tools').hide();$('.o_website_links_code_error').hide();var old_code=$('#edit-code-form #init_code').val();$('#o_website_links_code').html(old_code);$('#code-error').remove();$('#o_website_links_code form').remove();});function submit_code(){var init_code=$('#edit-code-form #init_code').val();var new_code=$('#edit-code-form #new_code').val();if(new_code===''){self.$('.o_website_links_code_error').html("The code cannot be left empty");self.$('.o_website_links_code_error').show();return;}
180function show_new_code(new_code){$('.o_website_links_code_error').html('');$('.o_website_links_code_error').hide();$('#o_website_links_code form').remove();var host=$('#short-url-host').html();$('#o_website_links_code').html(new_code);$('.copy-to-clipboard').attr('data-clipboard-text',host+new_code);$('.o_website_links_edit_code').show();$('.copy-to-clipboard').show();$('.o_website_links_edit_tools').hide();}
181if(init_code===new_code){show_new_code(new_code);}
182else{ajax.jsonRpc('/website_links/add_code','call',{'init_code':init_code,'new_code':new_code}).then(function(result){show_new_code(result[0].code);}).fail(function(){$('.o_website_links_code_error').show();$('.o_website_links_code_error').html("This code is already taken");});}}
183$('#edit-code-form').submit(function(e){e.preventDefault();submit_code();});$('.o_website_links_ok_edit').click(function(e){e.preventDefault();submit_code();});});});;
184
185/* /website_links/static/src/js/website_links_charts.js defined in bundle 'web.assets_frontend' */
186odoo.define('website_links.charts',function(require){'use strict';require('web.dom_ready');var rpc=require('web.rpc');var Widget=require('web.Widget');var base=require('web_editor.base');var weContext=require('web_editor.context');var core=require('web.core');var _t=core._t;var exports={};if(!$('.o_website_links_chart').length){return $.Deferred().reject("DOM doesn't contain '.o_website_links_chart'");}
187var BarChart=Widget.extend({init:function($element,begin_date,end_date,dates){this.$element=$element;this.begin_date=begin_date;this.end_date=end_date;this.number_of_days=this.end_date.diff(this.begin_date,'days')+2;this.dates=dates;},start:function(){var self=this;function getDate(d){return new Date(d[0]);}
188function getNbClicks(d){return d[1];}
189function getPrunedTickValues(ticks,nb_desired_ticks){var nb_values=ticks.length;var keep_one_of=Math.max(1,Math.floor(nb_values/nb_desired_ticks));return _.filter(ticks,function(d,i){return i%keep_one_of===0;});}
190var clicks_array=[];var begin_date_copy=this.begin_date;for(var i=0;i<this.number_of_days;i++){var date_key=begin_date_copy.format('YYYY-MM-DD');clicks_array.push([date_key,(date_key in this.dates)?this.dates[date_key]:0]);begin_date_copy.add(1,'days');}
191var nb_clicks=_.reduce(clicks_array,function(total,val){return total+val[1];},0);$(this.$element+' .title').html(nb_clicks+_t(' clicks'));var chart_data=[{}];chart_data[0]['key']=_t('# of clicks');chart_data[0]['values']=clicks_array;nv.addGraph(function(){var chart=nv.models.lineChart().x(function(d){return getDate(d);}).y(function(d){return getNbClicks(d);}).margin({top:10,right:60,bottom:60,left:60}).showYAxis(true).showXAxis(true);var tick_values=getPrunedTickValues(chart_data[0]['values'],10);chart.xAxis.tickFormat(function(d){return d3.time.format("%d/%m/%y")(new Date(d));}).tickValues(_.map(tick_values,function(d){return getDate(d).getTime();})).rotateLabels(55);chart.yAxis.tickFormat(d3.format("d")).ticks(Math.min(chart_data[0]['values'].length-1,10));d3.select(self.$element+' svg').datum(chart_data).call(chart);return self.chart=chart;});},});var PieChart=Widget.extend({init:function($element,data){this.data=data;this.$element=$element;},start:function(){var self=this;var processed_data=[];for(var i=0;i<this.data.length;i++){var country_name=this.data[i]['country_id']?this.data[i]['country_id'][1]:_t('Undefined');processed_data.push({'label':country_name+' ('+this.data[i]['country_id_count']+')','value':this.data[i]['country_id_count']});}
192$(this.$element+' .title').html(this.data.length+_t(' countries'));nv.addGraph(function(){var chart=nv.models.pieChart().x(function(d){return d.label;}).y(function(d){return d.value;}).showLabels(false);d3.select(self.$element+' svg').datum(processed_data).transition().duration(1200).call(chart);return self.chart=chart;});},});base.ready().done(function(){var charts={};$(".graph-tabs li a").click(function(e){e.preventDefault();$(this).tab('show');_.chain(charts).pluck('chart').invoke('update');});var link_id=$('#link_id').val();
192var links_domain=['link_id','=',parseInt(link_id)];var total_clicks=function(){return rpc.query({model:'link.tracker.click',method:'search_count',args:[[links_domain]],context:weContext.get(),});};var clicks_by_day=function(){return rpc.query({model:'link.tracker.click',method:'read_group',args:[[links_domain],['create_date']],kwargs:{groupby:'create_date:day'},context:weContext.get(),});};var clicks_by_country=function(){return rpc.query({model:'link.tracker.click',method:'read_group',args:[[links_domain],['country_id']],kwargs:{groupby:'country_id'},context:weContext.get(),});};var last_week_clicks_by_country=function(){var interval=moment().subtract(7,'days').format("YYYY-MM-DD");return rpc.query({model:'link.tracker.click',method:'read_group',args:[[links_domain,['create_date','>',interval]],['country_id']],kwargs:{groupby:'country_id'},context:weContext.get(),});};var last_month_clicks_by_country=function(){var interval=moment().subtract(30,'days').format("YYYY-MM-DD");return rpc.query({model:'link.tracker.click',method:'read_group',args:[[links_domain,['create_date','>',interval]],['country_id']],kwargs:{groupby:'country_id'},context:weContext.get(),});};$.when(total_clicks(),clicks_by_day(),clicks_by_country(),last_week_clicks_by_country(),last_month_clicks_by_country()).done(function(total_clicks,clicks_by_day,clicks_by_country,last_week_clicks_by_country,last_month_clicks_by_country){if(total_clicks){var formatted_clicks_by_day={};var begin_date,end_date;for(var i=0;i<clicks_by_day.length;i++){var date=moment(clicks_by_day[i]['create_date:day'],"DD MMMM YYYY");if(i===0){begin_date=date;}
193if(i===clicks_by_day.length-1){end_date=date;}
194formatted_clicks_by_day[date.format("YYYY-MM-DD")]=clicks_by_day[i]['create_date_count'];}
195var now=moment();charts.all_time_bar=new BarChart('#all_time_clicks_chart',begin_date,now,formatted_clicks_by_day);begin_date=moment().subtract(30,'days');charts.last_month_bar=new BarChart('#last_month_clicks_chart',begin_date,now,formatted_clicks_by_day);begin_date=moment().subtract(7,'days');charts.last_week_bar=new BarChart('#last_week_clicks_chart',begin_date,now,formatted_clicks_by_day);charts.all_time_pie=new PieChart('#all_time_countries_charts',clicks_by_country);charts.last_month_pie=new PieChart('#last_month_countries_charts',last_month_clicks_by_country);charts.last_week_pie=new PieChart('#last_week_countries_charts',last_week_clicks_by_country);var row_width=$('#all_time_countries_charts').parent().width();var charts_svg=$('#all_time_countries_charts,last_month_countries_charts,last_week_countries_charts').find('svg');charts_svg.css('height',Math.max(clicks_by_country.length*(row_width>750?1:2),20)+'em');_.invoke(charts,'start');nv.utils.windowResize(function(){_.chain(charts).pluck('chart').invoke('update');});}
196else{$('#all_time_charts').prepend(_t('There is no data to show'));$('#last_month_charts').prepend(_t('There is no data to show'));$('#last_week_charts').prepend(_t('There is no data to show'));}});new ClipboardJS($('.copy-to-clipboard')[0]);var animating_copy=false;$('.copy-to-clipboard').on('click',function(e){e.preventDefault();if(!animating_copy){animating_copy=true;$('.o_website_links_short_url').clone().css('position','absolute').css('left','15px').css('bottom','10px').css('z-index',2).removeClass('.o_website_links_short_url').addClass('animated-link').appendTo($('.o_website_links_short_url')).animate({opacity:0,bottom:"+=20",},500,function(){$('.animated-link').remove();animating_copy=false;});}});});exports.BarChart=BarChart;exports.PieChart=PieChart;return exports;});;
197
198/* /website_mass_mailing/static/src/js/website_mass_mailing.js defined in bundle 'web.assets_frontend' */
199odoo.define('mass_mailing.website_integration',function(require){"use strict";var utils=require('web.utils');var sAnimation=require('website.content.snippets.animation');sAnimation.registry.subscribe=sAnimation.Class.extend({selector:".js_subscribe",start:function(){var self=this;self.$target.find("input").removeClass('d-none');this._rpc({route:'/website_mass_mailing/is_subscriber',params:{list_id:this.$target.data('list-id'),},}).always(function(data){self.$target.find('input.js_subscribe_email').val(data.email?data.email:"").attr("disabled",data.is_subscriber&&data.email.length?"disabled":false);self.$target.attr("data-subscribe",data.is_subscriber?'on':'off');self.$target.find('a.js_subscribe_btn').attr("disabled",data.is_subscriber&&data.email.length?"disabled":false);self.$target.removeClass('d-none');self.$target.find('.js_subscribe_btn').toggleClass('d-none',!!data.is_subscriber);
199self.$target.find('.js_subscribed_btn').toggleClass('d-none',!data.is_subscriber);});if(!this.editableMode){$('.js_subscribe > .alert').addClass('d-none');$('.js_subscribe > .input-group-append.d-none').removeClass('d-none');this.$target.find('.js_subscribe_btn').on('click',function(event){event.preventDefault();self._onClick();});}},_onClick:function(){var self=this;var $email=this.$target.find(".js_subscribe_email:visible");if($email.length&&!$email.val().match(/.+@.+/)){this.$target.addClass('o_has_error').find('.form-control, .custom-select').addClass('is-invalid');return false;}
200this.$target.removeClass('o_has_error').find('.form-control, .custom-select').removeClass('is-invalid');this._rpc({route:'/website_mass_mailing/subscribe',params:{'list_id':this.$target.data('list-id'),'email':$email.length?$email.val():false,},}).then(function(subscribe){self.$target.find(".js_subscribe_email, .input-group-append").addClass('d-none');self.$target.find(".alert").removeClass('d-none');self.$target.find('input.js_subscribe_email').attr("disabled",subscribe?"disabled":false);self.$target.attr("data-subscribe",subscribe?'on':'off');});},});sAnimation.registry.newsletter_popup=sAnimation.Class.extend({selector:".o_newsletter_popup",start:function(){var self=this;var $modal=this.$('.modal');if($modal.is('.modal-dialog')){$modal.removeClass('modal-md modal-dialog');var $modalContent=$modal.find('.modal-content');$modalContent.wrapAll($('<div/>',{class:'modal-dialog'}));}
201var popupcontent=self.$target.find(".o_popup_content_dev").empty();if(!self.$target.data('list-id')){return;}
202this._rpc({route:'/website_mass_mailing/get_content',params:{newsletter_id:self.$target.data('list-id'),},}).then(function(data){if(data.content){$('<div></div>').append(data.content).appendTo(popupcontent);}
203self.$target.find('input.popup_subscribe_email').val(data.email||"");self.redirect_url=data.redirect_url;if(!self.editableMode&&!data.is_subscriber){$(document).on('mouseleave',_.bind(self.show_banner,self));self.$target.find('.popup_subscribe_btn').on('click',function(event){event.preventDefault();self._onClickSubscribe();});}else{$(document).off('mouseleave');}});},_onClickSubscribe:function(){var self=this;var $email=self.$target.find(".popup_subscribe_email:visible");if($email.length&&!$email.val().match(/.+@.+/)){this.$target.addClass('o_has_error').find('.form-control, .custom-select').addClass('is-invalid');return false;}
204this.$target.removeClass('o_has_error').find('.form-control, .custom-select').removeClass('is-invalid');this._rpc({route:'/website_mass_mailing/subscribe',params:{'list_id':self.$target.data('list-id'),'email':$email.length?$email.val():false,},}).then(function(subscribe){self.$target.find('#o_newsletter_popup').modal('hide');$(document).off('mouseleave');if(self.redirect_url){if(_.contains(self.redirect_url.split('/'),window.location.host)||self.redirect_url.indexOf('/')===0){window.location.href=self.redirect_url;}else{window.open(self.redirect_url,'_blank');}}});},show_banner:function(){var self=this;if(!utils.get_cookie("newsletter-popup-"+self.$target.data('list-id'))&&self.$target){$('#o_newsletter_popup:first').modal('show').css({'margin-top':'70px','position':'fixed'}).find('.o_popup_bounce_small span.popup_newsletter_input_conserve').each(function(){if($(this).prev('input').length===0){$(this).before($('<input>').attr($(this).getAttributes()).removeClass('d-none popup_newsletter_input_conserve'));}}).remove();document.cookie="newsletter-popup-"+self.$target.data('list-id')+"="+true+";path=/";}}});});;
205
206/* /website_rating/static/src/js/website_mail.js defined in bundle 'web.assets_frontend' */
207odoo.define('website_rating.thread',function(require){'use strict';var ajax=require('web.ajax');var core=require('web.core');var Widget=require('web.Widget');var qweb=core.qweb;var _t=core._t;var PortalChatter=require('portal.chatter').PortalChatter;PortalChatter.include({events:_.extend({},PortalChatter.prototype.events,{"mousemove .stars i":"_onMoveStar","mouseleave .stars i":"_onMoveOutStar","click .stars":"_onClickStar","mouseleave .stars":"_onMouseleaveStar","click .o_website_rating_select":"_onClickStarDomain","click .o_website_rating_select_text":"_onClickStarDomainReset",}),init:function(parent,options){this._super.apply(this,arguments);if(!_.contains(this.options,'display_rating')){this.options=_.defaults(this.options,{'display_rating':false,'rating_default_value':0.0,});}
208this.set('rating_card_values',{});this.set('rating_value',false);this.on("change:rating_value",this,this._onChangeRatingDomain);this.labels={'0':"",'1':_t("I hate it"),'2':_t("I don't like it"),'3':_t("It's okay"),'4':_t("I like it"),'5':_t("I love it"),};this.user_click=false;this.set("star_value",this.options.rating_default_value);this.on("change:star_value",this,this._onChangeStarValue);},willStart:function(){var self=this;return this._super.apply(this,arguments).then(function(result){if(result['rating_stats']){var rating_data={'avg':self.round_to_half(result['rating_stats']['avg']),'percent':[],};_.each(_.keys(result['rating_stats']['percent']),function(rating){if(0<rating&&rating<=5){rating_data['percent'].push({'num':rating,'percent':result['rating_stats']['percent'][rating],});}});self.set('rating_card_values',rating_data);}});},start:function(){var self=this;return this._super.apply(this,arguments).then(function(){self.$input=self.$('input[name="rating_value"]');self.$star_list=self.$('.stars').find('i');self.set("star_value",self.options.rating_default_value);});},preprocessMessages:function(messages){var self=this;var messages=this._super.apply(this,arguments);if(this.options['display_rating']){_.each(messages,function(m){m['rating_value']=self.round_to_half(m['rating_value']);});}
209return messages;},round_to_half:function(value){var converted=parseFloat(value);var decimal=(converted-parseInt(converted,10));decimal=Math.round(decimal*10);if(decimal===5){return(parseInt(converted,10)+0.5);}
210if((decimal<3)||(decimal>7)){return Math.round(converted);}else{return(parseInt(converted,10)+0.5);}},_loadTemplates:function(){return $.when(this._super(),ajax.loadXML('/website_rating/static/src/xml/website_mail.xml',qweb));},_messageFetchPrepareParams:function(){var params=this._super.apply(this,arguments);if(this.options['display_rating']){params['rating_include']=true;}
211return params;},_onClickStar:function(e){this.user_click=true;this.$input.val(this.get("star_value"));},_onClickStarDomain:function(e){var $tr=this.$(e.currentTarget);var num=$tr.data('star');if($tr.css('opacity')==1){this.set('rating_value',num);this.$('.o_website_rating_select').css({'opacity':0.5,});this.$('.o_website_rating_select_text[data-star="'+num+'"]').css({'visibility':'visible','opacity':1,});this.$('.o_website_rating_select[data-star="'+num+'"]').css({'opacity':1,});}},_onClickStarDomainReset:function(e){e.stopPropagation();this.set('rating_value',false);this.$('.o_website_rating_select_text').css('visibility','hidden');this.$('.o_website_rating_select').css({'opacity':1,});},_onChangeRatingDomain:function(){var domain=[];if(this.get('rating_value')){domain=[['rating_value','=',this.get('rating_value')
211]];}
212this._changeCurrentPage(1,domain);},_onChangeStarValue:function(){var val=this.get("star_value");var index=Math.floor(val);var decimal=val-index;this.$star_list.removeClass('fa-star fa-star-half-o').addClass('fa-star-o');this.$('.stars').find("i:lt("+index+")").removeClass('fa-star-o fa-star-half-o').addClass('fa-star');if(decimal){this.$('.stars').find("i:eq("+(index)+")").removeClass('fa-star-o fa-star fa-star-half-o').addClass('fa-star-half-o');}
213this.$('.rate_text .label').text(this.labels[index]);},_onMouseleaveStar:function(e){this.$('.rate_text').hide();},_onMoveStar:function(e){var index=this.$('.stars i').index(e.currentTarget);this.$('.rate_text').show();this.set("star_value",index+1);},_onMoveOutStar:function(){if(!this.user_click){this.set("star_value",parseInt(this.$input.val()));}
214this.user_click=false;},});});;
215
216/* /sale/static/src/js/product_configurator_mixin.js defined in bundle 'web.assets_frontend' */
217odoo.define('sale.ProductConfiguratorMixin',function(require){'use strict';var concurrency=require('web.concurrency');var core=require('web.core');var utils=require('web.utils');var ajax=require('web.ajax');var _t=core._t;var ProductConfiguratorMixin={events:{'change .css_attribute_color input':'_onChangeColorAttribute','change .main_product:not(.in_cart) input.js_quantity':'onChangeAddQuantity','change [data-attribute_exclusions]':'onChangeVariant'},isSelectedVariantAllowed:true,computePriceTotal:function(){},onChangeVariant:function(ev){var $parent=$(ev.target).closest('.js_product');if(!$parent.data('uniqueId')){$parent.data('uniqueId',_.uniqueId());}
218this._throttledGetCombinationInfo($parent.data('uniqueId'))(ev);},_getCombinationInfo:function(ev){var self=this;var $component;if($(ev.currentTarget).closest('form').length>0){$component=$(ev.currentTarget).closest('form');}else if($(ev.currentTarget).closest('.oe_optional_products_modal').length>0){$component=$(ev.currentTarget).closest('.oe_optional_products_modal');}else if($(ev.currentTarget).closest('.o_product_configurator').length>0){$component=$(ev.currentTarget).closest('.o_product_configurator');}else{$component=$(ev.currentTarget);}
219var qty=$component.find('input[name="add_qty"]').val();var $parent=$(ev.target).closest('.js_product');var combination=this.getSelectedVariantValues($parent);var parentCombination=$parent.find('ul[data-attribute_exclusions]').data('attribute_exclusions').parent_combination;var productTemplateId=parseInt($parent.find('.product_template_id').val());self._checkExclusions($parent,combination);return ajax.jsonRpc(this._getUri('/product_configurator/get_combination_info'),'call',{'product_template_id':productTemplateId,'product_id':this._getProductId($parent),'combination':combination,'add_qty':parseInt(qty),'pricelist_id':this.pricelistId||false,'parent_combination':parentCombination,}).then(function(combinationData){self._onChangeCombination(ev,$parent,combinationData);});},handleCustomValues:function($target){var $variantContainer;var $customInput=false;if($target.is('input[type=radio]')&&$target.is(':checked')){$variantContainer=$target.closest('ul').closest('li');$customInput=$target;}else if($target.is('select')){$variantContainer=$target.closest('li');$customInput=$target.find('option[value="'+$target.val()+'"]');}
220if($variantContainer){if($customInput&&$customInput.data('is_custom')){var attributeValueId=$customInput.data('value_id');var attributeValueName=$customInput.data('value_name');if($variantContainer.find('.variant_custom_value').length===0||$variantContainer.find('.variant_custom_value').data('attribute_value_id')!==parseInt(attributeValueId)){$variantContainer.find('.variant_custom_value_label').remove();$variantContainer.find('.variant_custom_value').remove();var $input=$('<input>',{type:'text','data-attribute_value_id':attributeValueId,'data-attribute_value_name':attributeValueName,class:'variant_custom_value form-control'});var isRadioInput=$target.is('input[type=radio]')&&$target.closest('label.css_attribute_color').length===0;if(isRadioInput){$input.addClass('custom_value_radio');$target.closest('div').after($input);}else{var $label=$('<label>',{html:attributeValueName+': ',class:'variant_custom_value_label'});$variantContainer.append($label).append($input);}}}else{$variantContainer.find('.variant_custom_value_label').remove();$variantContainer.find('.variant_custom_value').remove();}}},onClickAddCartJSON:function(ev){ev.preventDefault();var $link=$(ev.currentTarget);var $input=$link.closest('.input-group').find("input");var min=parseFloat($input.data("min")||0);var max=parseFloat($input.data("max")||Infinity);var previousQty=parseFloat($input.val()||0,10);var quantity=($link.has(".fa-minus").length?-1:1)+previousQty;var newQty=quantity>min?(quantity<max?quantity:max):min;if(newQty!==previousQty){$input.val(newQty).trigger('change');}
221return false;},onChangeAddQuantity:function(ev){var $parent;if($(ev.currentTarget).closest('.oe_optional_products_modal').length>0){$parent=$(ev.currentTarget).closest('.oe_optional_products_modal');}else if($(ev.currentTarget).closest('form').length>0){$parent=$(ev.currentTarget).closest('form');}else{$parent=$(ev.currentTarget).closest('.o_product_configurator');}
222this.triggerVariantChange($parent);},triggerVariantChange:function($container){var self=this;$container.find('ul[data-attribute_exclusions]').trigger('change',{$container:$container});$container.find('input.js_variant_change:checked, select.js_variant_change').each(function(){self.handleCustomValues($(this));});},getCustomVariantValues:function($container){var variantCustomValues=[];$container.find('.variant_custom_value').each(function(){var $variantCustomValueInput=$(this);if($variantCustomValueInput.length!==0){variantCustomValues.push({'attribute_value_id':$variantCustomValueInput.data('attribute_value_id'),'attribute_value_name':$variantCustomValueInput.data('attribute_value_name'),'custom_value':$variantCustomValueInput.val(),});}});return variantCustomValues;},getNoVariantAttributeValues:function($container){var noVariantAttributeValues=[];var variantsValuesSelectors=['input.no_variant.js_variant_change:checked','select.no_variant.js_variant_change'];$container.find(variantsValuesSelectors.join(',')).each(function(){var $variantValueInput=$(this);if($variantValueInput.is('select')){$variantValueInput=$variantValueInput.find('option[value='+$variantValueInput.val()+']');}
223if($variantValueInput.length!==0){noVariantAttributeValues.push({'attribute_value_id':$variantValueInput.data('value_id'),'attribute_value_name':$variantValueInput.data('value_name'),'value':$variantValueInput.val(),'attribute_name':$variantValueInput.data('attribute_name'),'is_custom':$variantValueInput.data('is_custom')});}});return noVariantAttributeValues;},getSelectedVariantValues:function($container){var values=[];var unchangedValues=$container.find('div.oe_unchanged_value_ids').data('unchanged_value_ids')||[];var variantsValuesSelectors=['input.js_variant_change:checked','select.js_variant_change'];_.each($container.find(variantsValuesSelectors.join(', ')),function(el){values.push(+$(el).val());});return values.concat(unchangedValues);},selectOrCreateProduct:function($container,productId,productTemplateId,useAjax){var self=this;productId=parseInt(productId);productTemplateId=parseInt(productTemplateId);var productReady=$.Deferred();if(productId){productReady.resolve(productId);}else{var params={product_template_id:productTemplateId,product_template_attribute_value_ids:JSON.stringify(self.getSelectedVariantValues($container)),};var route='/product_configurator/create_product_variant';if(useAjax){productReady=ajax.jsonRpc(route,'call',params);}else{productReady=this._rpc({route:route,params:params});}}
224return productReady;},_checkExclusions:function($parent,combination){var self=this;var combinationData=$parent.find('ul[data-attribute_exclusions]').data('attribute_exclusions');$parent.find('option, input, label').removeClass('css_not_available');if(combinationData.exclusions){_.each(combination,function(current_ptav){if(combinationData.exclusions.hasOwnProperty(current_ptav)){_.each(combinationData.exclusions[current_ptav],function(excluded_ptav){self._disableInput($parent,excluded_ptav);});}});}
225_.each(combinationData.parent_exclusions,function(ptav){self._disableInput($parent,ptav);});},_getProductId:function($parent){return parseInt($parent.find('.product_id').val());},_disableInput:function($parent,attributeValueId){var $input=$parent.find('option[value='+attributeValueId+'], input[value='+attributeValueId+']');$input.addClass('css_not_available');$input.closest('label').addClass('css_not_available');},_onChangeCombination:function(ev,$parent,combination){var self=this;var $price=$parent.find(".oe_price:first .oe_currency_value");var $default_price=$parent.find(".oe_default_price:first .oe_currency_value");var $optional_price=$parent.find(".oe_optional:first .oe_currency_value");var isCombinationPossible=this.isSelectedVariantAllowed;if(combination.is_combination_possible!==undefined){isCombinationPossible=combination.is_combination_possible;}
226this._toggleDisable($parent,isCombinationPossible);$price.html(self._priceToStr(combination.price));$default_price.html(self._priceToStr(combination.list_price));var compatibility_check=combination.list_price-combination.price>=0.01;if(combination.has_discounted_price!==undefined?combination.has_discounted_price:compatibility_check){$default_price.closest('.oe_website_sale').addClass("discount");$optional_price.closest('.oe_optional').removeClass('d-none').css('text-decoration','line-through');$default_price.parent().removeClass('d-none');}else{$default_price.closest('.oe_website_sale').removeClass("discount");$optional_price.closest('.oe_optional').addClass('d-none');$default_price.parent().addClass('d-none');}
227var rootComponentSelectors=['tr.js_product','.oe_website_sale','.o_product_configurator'];if(combination.product_id!==this.last_product_id){this.last_product_id=combination.product_id;self._updateProductImage($parent.closest(rootComponentSelectors.join(', ')),combination.product_id,combination.product_template_id,combination.carousel,isCombinationPossible);}
228$parent.find('.product_id').first().val(combination.product_id||0).trigger('change');$parent.find('.product_display_name').first().val(combination.display_name);$parent.find('.js_raw_price').first().html(combination.price);this.handleCustomValues($(ev.target));},_priceToStr:function(price){var l10n=_t.database.parameters;var precision=2;if($('.decimal_precision').length){precision=parseInt($('.decimal_precision').last().data('precision'));}
229var formatted=_.str.sprintf('%.'+precision+'f',price).split('.');formatted[0]=utils.insert_thousand_seps(formatted[0]);return formatted.join(l10n.decimal_point);},_throttledGetCombinationInfo:_.memoize(function(uniqueId){var dropMisordered=new concurrency.DropMisordered();var _getCombinationInfo=_.throttle(this._getCombinationInfo.bind(this),500);return function(ev){return dropMisordered.add(_getCombinationInfo(ev));};}),_toggleDisable:function($parent,isCombinationPossible){$parent.toggleClass('css_not_available',!isCombinationPossible);}
229,_updateProductImage:function($productContainer,productId,productTemplateId){var model=productId?'product.product':'product.template';var modelId=productId||productTemplateId;var imageUrl='/web/image/{0}/{1}/'+(this._productImageField?this._productImageField:'image');var imageSrc=imageUrl.replace("{0}",model).replace("{1}",modelId);var imagesSelectors=['span[data-oe-model^="product."][data-oe-type="image"] img:first','img.product_detail_img','span.variant_image img','img.variant_image',];var $img=$productContainer.find(imagesSelectors.join(', '));$img.attr('src',imageSrc);},_onChangeColorAttribute:function(ev){var $parent=$(ev.target).closest('.js_product');$parent.find('.css_attribute_color').removeClass("active").filter(':has(input:checked)').addClass("active");},_getUri:function(uri){if(this.isWebsite){return uri+'_website';}else{return uri;}}};return ProductConfiguratorMixin;});;
230
231/* /sale/static/src/js/product_configurator_modal.js defined in bundle 'web.assets_frontend' */
232odoo.define('sale.OptionalProductsModal',function(require){"use strict";var ajax=require('web.ajax');var Dialog=require('web.Dialog');var ServicesMixin=require('web.ServicesMixin');var ProductConfiguratorMixin=require('sale.ProductConfiguratorMixin');var weContext=require('web_editor.context');var productNameMap={};var optionalProductsMap={};var OptionalProductsModal=Dialog.extend(ServicesMixin,ProductConfiguratorMixin,{events:_.extend({},Dialog.prototype.events,ProductConfiguratorMixin.events,{'click a.js_add, a.js_remove':'_onAddOrRemoveOption','click button.js_add_cart_json':'onClickAddCartJSON','change .in_cart.main_product input.js_quantity':'_onChangeQuantity',}),init:function(parent,params){var self=this;var options=_.extend({size:'large',buttons:[{text:params.okButtonText,click:this._onConfirmButtonClick,classes:'btn-primary'},{text:params.cancelButtonText,click:this._onCancelButtonClick}],technical:!params.isWebsite,},params||{});this._super(parent,options);this.rootProduct=params.rootProduct;this.container=parent;this.pricelistId=params.pricelistId;this.isWebsite=params.isWebsite;this.dialogClass='oe_optional_products_modal'+(params.isWebsite?' oe_website_sale':'');this._productImageField='image_medium';},willStart:function(){var self=this;var uri=this._getUri("/product_configurator/show_optional_products");var getModalContent=ajax.jsonRpc(uri,'call',{product_id:self.rootProduct.product_id,variant_values:self.rootProduct.variant_values,pricelist_id:self.pricelistId||false,add_qty:self.rootProduct.quantity,kwargs:{context:_.extend({'quantity':self.rootProduct.quantity},weContext.get()),}}).then(function(modalContent){if(modalContent){var $modalContent=$(modalContent);$modalContent=self._postProcessContent($modalContent);self.$content=$modalContent;}else{self.trigger('options_empty');self.preventOpening=true;}});var parentInit=self._super.apply(self,arguments);return $.when(getModalContent,parentInit);},open:function(options){$('.tooltip').remove();var self=this;this.appendTo($('<div/>')).then(function(){if(!self.preventOpening){self.$modal.find(".modal-body").replaceWith(self.$el);self.$modal.attr('open',true);self.$modal.removeAttr("aria-hidden");self.$modal.modal().appendTo(self.container);self.$modal.focus();self._opened.resolve();}});if(options&&options.shouldFocusButtons){self._onFocusControlButton();}
233return self;},start:function(){var def=this._super.apply(this,arguments);var self=this;this.$el.find('input[name="add_qty"]').val(this.rootProduct.quantity);return def.then(function(){self._opened.then(function(){self.triggerVariantChange(self.$el);});});},computePriceTotal:function(){if($('.js_price_total').length){var price=0;$('.js_product.in_cart').each(function(){var quantity=parseInt($('input[name="add_qty"]').first().val());price+=parseFloat($(this).find('.js_raw_price').html())*quantity;});$('.js_price_total .oe_currency_value').html(this._priceToStr(parseFloat(price)));}
234ProductConfiguratorMixin.computePriceTotal.apply(this,arguments);}
234,getSelectedProducts:function(){var self=this;var products=[this.rootProduct];this.$modal.find('.js_product.in_cart:not(.main_product)').each(function(){var quantity=0;var $item=$(this);if($item.find('input[name="add_qty"]').length){quantity=$item.find('input[name="add_qty"]').val();}else{quantity=parseInt($item.find('.optional_product_quantity span.add_qty').html().trim());}
235var productCustomVariantValues=self.getCustomVariantValues($(this));var noVariantAttributeValues=self.getNoVariantAttributeValues($(this));products.push({product_id:parseInt($item.find('input.product_id').val()),quantity:quantity,product_custom_attribute_values:productCustomVariantValues,no_variant_attribute_values:noVariantAttributeValues});});return products;},_postProcessContent:function($modalContent){var productId=this.rootProduct.product_id;$modalContent.find('img:first').attr("src","/web/image/product.product/"+productId+"/image_medium");if(this.rootProduct&&(this.rootProduct.product_custom_attribute_values||this.rootProduct.no_variant_attribute_values)){var $productDescription=$modalContent.find('.main_product').find('td.td-product_name div.text-muted.small > div:first');var $updatedDescription=$('<div/>');$updatedDescription.append($('<p>',{text:$productDescription.text()}));$.each(this.rootProduct.product_custom_attribute_values,function(){$updatedDescription.append($('<div>',{text:this.attribute_value_name+': '+this.custom_value}));});$.each(this.rootProduct.no_variant_attribute_values,function(){if(this.is_custom!=='True'){$updatedDescription.append($('<div>',{text:this.attribute_name+': '+this.attribute_value_name}));}});$productDescription.replaceWith($updatedDescription);}
236return $modalContent;},_onConfirmButtonClick:function(){this.trigger('confirm');this.close();},_onCancelButtonClick:function(){this.trigger('back');this.close();},_onAddOrRemoveOption:function(ev){ev.preventDefault();var self=this;var $target=$(ev.currentTarget);var $modal=$target.parents('.oe_optional_products_modal');var $parent=$target.parents('.js_product:first');$parent.find("a.js_add, span.js_remove").toggleClass('d-none');$parent.find("input.js_optional_same_quantity").val($target.hasClass("js_add")?1:0);$parent.find(".js_remove");var productTemplateId=$parent.find(".product_template_id").val();if($target.hasClass('js_add')){self._onAddOption($modal,$parent,productTemplateId);}else{self._onRemoveOption($modal,$parent,productTemplateId);}
237self.computePriceTotal();},_onAddOption:function($modal,$parent,productTemplateId){var self=this;var $main_product=$modal.find('.js_product:first');var $selectOptionsText=$modal.find('.o_select_options');$parent.addClass('in_cart');$parent.find('.td-qty').addClass('text-center');$parent.find('.td-qty').append($parent.find('.optional_product_quantity'));productNameMap[productTemplateId]=$parent.find(".product-name").html();$parent.find(".product-name").html($parent.find(".product_display_name").val());var productCustomVariantValues=self.getCustomVariantValues($parent);var noVariantAttributeValues=self.getNoVariantAttributeValues($parent);if(productCustomVariantValues||noVariantAttributeValues){var $productDescription=$parent.find('td.td-product_name div.float-left');var $customAttributeValuesDescription=$('<div>',{class:'custom_attribute_values_description text-muted small'});if(productCustomVariantValues.length!==0||noVariantAttributeValues.length!==0){$customAttributeValuesDescription.append($('<br/>'));}
238$.each(productCustomVariantValues,function(){$customAttributeValuesDescription.append($('<div>',{text:this.attribute_value_name+': '+this.custom_value}));});$.each(noVariantAttributeValues,function(){if(this.is_custom!=='True'){$customAttributeValuesDescription.append($('<div>',{text:this.attribute_name+': '+this.attribute_value_name}));}});$productDescription.append($customAttributeValuesDescription);}
239var parentProductId=null;for(var productIdKey in optionalProductsMap){if(optionalProductsMap[productIdKey].indexOf(productTemplateId)!==-1){parentProductId=productIdKey;break;}
240$('tr:last').after($parent);}
241if(parentProductId){$modal.find('.product_template_id').filter(function(){return parentProductId===$(this).val();}).parents('.js_product:first').after($parent);}else{$main_product.after($parent);}
242var productReady=this.selectOrCreateProduct($parent,$parent.find('.product_id').val(),productTemplateId,true);productReady.done(function(productId){$parent.find('.product_id').val(productId);ajax.jsonRpc(self._getUri("/product_configurator/optional_product_items"),'call',{'product_id':productId,'pricelist_id':self.pricelistId||false,}).then(function(addedItem){var $addedItem=$(addedItem);$modal.find('tr:last').after($addedItem);self.$el.find('input[name="add_qty"]').trigger('change');self.triggerVariantChange($addedItem);if($addedItem.find(".product_template_id").length>0){optionalProductsMap[productTemplateId]=$addedItem.find(".product_template_id").map(function(){return $(this).val();}).get();}
243if($selectOptionsText.nextAll('.js_product').length===0){$selectOptionsText.hide();}});});},_onRemoveOption:function($modal,$parent,productTemplateId){$parent.removeClass('in_cart');$parent.find('.td-qty').removeClass('text-center');$parent.find('.js_remove.d-none').prepend($parent.find('.optional_product_quantity'));$parent.find('.custom_attribute_values_description').remove();var $select_options_text=$modal.find('.o_select_options');$select_options_text.show();$parent.find(".product-name").html(productNameMap[productTemplateId]);delete productNameMap[productTemplateId];this._removeOptionOption($modal,productTemplateId);$modal.find('tr:last').after($parent);},_removeOptionOption:function($modal,optionId){var self=this;if(optionalProductsMap[optionId]){optionalProductsMap[optionId].forEac
243h(function(productId){$modal.find('.product_template_id').filter(function(){return productId===$(this).val();}).parents('.js_product:first').remove();self._removeOptionOption($modal,productId);});delete optionalProductsMap[optionId];}},_onChangeCombination:function(ev,$parent,combination){$parent.find('.td-product_name .product-name').first().text(combination.display_name);ProductConfiguratorMixin._onChangeCombination.apply(this,arguments);this.computePriceTotal();},_onChangeQuantity:function(ev){var $quantity=$(ev.currentTarget);var qty=parseFloat($quantity.val());var $modal=$quantity.parents('.oe_optional_products_modal');if(qty===1){$modal.find(".js_items").addClass('d-none').removeClass('add_qty');$modal.find(".js_item").removeClass('d-none').addClass('add_qty');}else{$modal.find(".js_items").removeClass('d-none').addClass('add_qty').text(qty);$modal.find(".js_item").addClass('d-none').removeClass('add_qty');}
244this.rootProduct.quantity=qty;if(!this.isWebsite){this.onChangeAddQuantity(ev);}
245this.trigger('update_quantity',qty);}});return OptionalProductsModal;});;
246
247/* /website_sale/static/src/js/website_sale.js defined in bundle 'web.assets_frontend' */
248odoo.define('website_sale.cart',function(require){'use strict';var sAnimations=require('website.content.snippets.animation');var core=require('web.core');var _t=core._t;var timeout;sAnimations.registry.websiteSaleCartLink=sAnimations.Class.extend({selector:'#top_menu a[href$="/shop/cart"]',read_events:{'mouseenter':'_onMouseEnter','mouseleave':'_onMouseLeave','click':'_onClick',},init:function(){this._super.apply(this,arguments);this._popoverRPC=null;},start:function(){var def=this._super.apply(this,arguments);if(this.editableMode){return def;}
249this.$el.popover({trigger:'manual',animation:true,html:true,title:function(){return _t("My Cart");},container:'body',placement:'auto',template:'<div class="popover mycart-popover" role="tooltip"><div class="arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>'});return def;},_onMouseEnter:function(ev){var self=this;clearTimeout(timeout);$(this.selector).not(ev.currentTarget).popover('hide');timeout=setTimeout(function(){if(!self.$el.is(':hover')||$('.mycart-popover:visible').length){return;}
250self._popoverRPC=$.get("/shop/cart",{type:'popover',}).then(function(data){self.$el.data("bs.popover").config.content=data;self.$el.popover("show");$('.popover').on('mouseleave',function(){self.$el.trigger('mouseleave');});});},300);},_onMouseLeave:function(ev){var self=this;setTimeout(function(){if($('.popover:hover').length){return;}
251if(!self.$el.is(':hover')){self.$el.popover('hide');}},1000);},_onClick:function(ev){clearTimeout(timeout);if(this._popoverRPC&&this._popoverRPC.state()==='pending'){ev.preventDefault();var href=ev.currentTarget.href;this._popoverRPC.then(function(){window.location.href=href;});}},});});odoo.define('website_sale.website_sale_category',function(require){'use strict';var sAnimations=require('website.content.snippets.animation');sAnimations.registry.websiteSaleCategory=sAnimations.Class.extend({selector:'#o_shop_collapse_category',read_events:{'click .fa-chevron-right':'_onOpenClick','click .fa-chevron-down':'_onCloseClick',},_onOpenClick:function(ev){var $fa=$(ev.currentTarget);$fa.parent().siblings().find('.fa-chevron-down:first').click();$fa.parents('li').find('ul:first').show('normal');$fa.toggleClass('fa-chevron-down fa-chevron-right');},_onCloseClick:function(ev){var $fa=$(ev.currentTarget);$fa.parent().find('ul:first').hide('normal');$fa.toggleClass('fa-chevron-down fa-chevron-right');},});});odoo.define('website_sale.website_sale',function(require){'use strict';var utils=require('web.utils');var ProductConfiguratorMixin=require('sale.ProductConfiguratorMixin');var core=require('web.core');var config=require('web.config');var sAnimations=require('website.content.snippets.animation');require("website.content.zoomodoo");var _t=core._t;sAnimations.registry.WebsiteSale=sAnimations.Class.extend(ProductConfiguratorMixin,{selector:'.oe_website_sale',read_events:{'change form .js_product:first input[name="add_qty"]':'_onChangeAddQuantity','mouseup .js_publish':'_onMouseupPublish','touchend .js_publish':'_onMouseupPublish','change .oe_cart input.js_quantity[data-product-id]':'_onChangeCartQuantity','click .oe_cart a.js_add_suggested_products':'_onClickSuggestedProduct','click a.js_add_cart_json':'_onClickAddCartJSON','click .a-submit':'_onClickSubmit','change form.js_attributes input, form.js_attributes select':'_onChangeAttribute','mouseup form.js_add_cart_json label':'_onMouseupAddCartLabel','touchend form.js_add_cart_json label':'_onMouseupAddCartLabel','click .show_coupon':'_onClickShowCoupon','submit .o_website_sale_search':'_onSubmitSaleSearch','change select[name="country_id"]':'_onChangeCountry','change #shipping_use_same':'_onChangeShippingUseSame','click .toggle_summary':'_onToggleSummary','click input.js_product_change':'onChangeVariant','change .js_main_product [data-attribute_exclusions]':'onChangeVariant',},init:function(){this._super.apply(this,arguments);this._changeCartQuantity=_.debounce(this._changeCartQuantity.bind(this),500);this._changeCountry=_.debounce(this._changeCountry.bind(this),500);this.isWebsite=true;delete this.events['change .main_product:not(.in_cart) input.js_quantity'];delete this.events['change [data-attribute_exclusions]'];},start:function(){var def=this._super.apply(this,arguments);if(this.editableMode){return def;}
252_.each(this.$('div.js_product'),function(product){$('input.js_product_change',product).first().trigger('change');});this.triggerVariantChange(this.$el);this.$('select[name="country_id"]').change();this.$('#checkbox_cgv').trigger('change');core.bus.on('resize',this,function(){if(config.device.size_class===config.device.SIZES.XL){$('.toggle_summary_div').addClass('d-none d-xl-block');}});this._startZoom();return def;},getSelectedVariantValues:function($container){var combination=$container.find('input.js_product_change:checked').data('combination');if(combination){return combination;}
253return ProductConfiguratorMixin.getSelectedVariantValues.apply(this,arguments);},_changeCartQuantity:function($input,value,$dom_optional,line_id,productIDs){_.each($dom_optional,function(elem){$(elem).find('.js_quantity').text(value);productIDs.push($(elem).find('span[data-product-id]').data('product-id'));});$input.data('update_change',true);this._rpc({route:"/shop/cart/update_json",params:{line_id:line_id,product_id:parseInt($input.data('product-id'),10),set_qty:value},}).then(function(data){$input.data('update_change',false);var check_value=parseInt($input.val()||0,10);if(isNaN(check_value)){check_value=1;}
254if(value!==check_value){$input.trigger('change');return;}
255var $q=$(".my_cart_quantity");if(data.cart_quantity){$q.parents('li:first').removeClass('d-none');}
256else{window.location='/shop/cart';}
257$q.html(data.cart_quantity).hide().fadeIn(600);$input.val(data.quantity);$('.js_quantity[data-line-id='+line_id+']').val(data.quantity).html(data.quantity);$(".js_cart_lines").first().before(data['website_sale.cart_lines']).end().remove();$(".js_cart_summary").first().before(data['website_sale.short_cart_summary']).end().remove();if(data.warning){var cart_alert=$('.oe_cart').parent().find('#data_warning');if(cart_alert.length===0){$('.oe_cart').prepend('<div class="alert alert-danger alert-dismissable" role="alert" id="data_warning">'+'<button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button> '+data.warning+'</div>');}
258else{cart_alert.html('<button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button> '+data.warning);}
259$input.val(data.quantity);}});},_changeCountry:function(){if(!$("#country_id").val()){return;}
260this._rpc({route:"/shop/country_infos/"+$("#country_id").val(),params:{mode:'shipping',},}).then(function(data){var selectStates=$("select[name='state_id']");
260if(selectStates.data('init')===0||selectStates.find('option').length===1){if(data.states.length){selectStates.html('');_.each(data.states,function(x){var opt=$('<option>').text(x[1]).attr('value',x[0]).attr('data-code',x[2]);selectStates.append(opt);});selectStates.parent('div').show();}else{selectStates.val('').parent('div').hide();}
261selectStates.data('init',0);}else{selectStates.data('init',0);}
262if(data.fields){if($.inArray('zip',data.fields)>$.inArray('city',data.fields)){$(".div_zip").before($(".div_city"));}else{$(".div_zip").after($(".div_city"));}
263var all_fields=["street","zip","city","country_name"];_.each(all_fields,function(field){$(".checkout_autoformat .div_"+field.split('_')[0]).toggle($.inArray(field,data.fields)>=0);});}});},_getProductId:function($parent){if($parent.find('input.js_product_change').length!==0){return parseInt($parent.find('input.js_product_change:checked').val());}
264else{return ProductConfiguratorMixin._getProductId.apply(this,arguments);}},_startZoom:function(){if(!config.device.isMobile){var autoZoom=$('.ecom-zoomable').data('ecom-zoom-auto')||false,factorZoom=parseFloat($('.ecom-zoomable').data('ecom-zoom-factor'))||1.5,attach='#o-carousel-product';_.each($('.ecom-zoomable img[data-zoom]'),function(el){onImageLoaded(el,function(){var $img=$(el);if(!_.str.endsWith(el.src,el.dataset.zoomImage)||el.naturalWidth>=$(attach).width()*factorZoom||el.naturalHeight>=$(attach).height()*factorZoom){$img.zoomOdoo({event:autoZoom?'mouseenter':'click',attach:attach});$img.attr('data-zoom',1);}else{$img.removeAttr('data-zoom');$img.attr('data-zoom-image','');}});});}
265function onImageLoaded(img,callback){$(img).on('load',function(){callback();});if(img.complete){callback();}}},_updateProductImage:function($productContainer,productId,productTemplateId,new_carousel,isCombinationPossible){var $img;var $carousel=$productContainer.find('#o-carousel-product');if(isCombinationPossible===undefined){isCombinationPossible=this.isSelectedVariantAllowed;}
266if(new_carousel){if(window.location.search.indexOf('enable_editor')===-1){var $new_carousel=$(new_carousel);$carousel.after($new_carousel);$carousel.remove();$carousel=$new_carousel;$carousel.carousel(0);this._startZoom();this.trigger_up('animation_start_demand',{$target:$carousel});}}
267else{var model=productId?'product.product':'product.template';var modelId=productId||productTemplateId;var imageSrc='/web/image/{0}/{1}/image'.replace("{0}",model).replace("{1}",modelId);$img=$productContainer.find('img.js_variant_img');$img.attr("src",imageSrc);$img.parent().attr('data-oe-model',model).attr('data-oe-id',modelId).data('oe-model',model).data('oe-id',modelId);var $thumbnail=$productContainer.find('img.js_variant_img_small');if($thumbnail.length!==0){$thumbnail.attr("src","/web/image/{0}/{1}/image/90x90".replace('{0}',model).replace('{1}',modelId));$('.carousel').carousel(0);}
268$img.filter('[data-zoom-image]').attr('data-zoom-image',$img.attr('src'));if($img.data('zoomOdoo')!==undefined){$img.data('zoomOdoo').isReady=false;}}
269$carousel.toggleClass('css_not_available',!isCombinationPossible);},_onClickAddCartJSON:function(ev){this.onClickAddCartJSON(ev);},_onChangeAddQuantity:function(ev){this.onChangeAddQuantity(ev);},_onMouseupPublish:function(ev){$(ev.currentTarget).parents('.thumbnail').toggleClass('disabled');},_onChangeCartQuantity:function(ev){var $input=$(ev.currentTarget);if($input.data('update_change')){return;}
270var value=parseInt($input.val()||0,10);if(isNaN(value)){value=1;}
271var $dom=$input.closest('tr');var $dom_optional=$dom.nextUntil(':not(.optional_product.info)');var line_id=parseInt($input.data('line-id'),10);var productIDs=[parseInt($input.data('product-id'),10)];this._changeCartQuantity($input,value,$dom_optional,line_id,productIDs);},_onClickSuggestedProduct:function(ev){$(ev.currentTarget).prev('input').val(1).trigger('change');},_onClickSubmit:function(ev,forceSubmit){if($(ev.currentTarget).is('#add_to_cart, #products_grid .a-submit')&&!forceSubmit){return;}
272var $aSubmit=$(ev.currentTarget);if(!ev.isDefaultPrevented()&&!$aSubmit.is(".disabled")){ev.preventDefault();$aSubmit.closest('form').submit();}
273if($aSubmit.hasClass('a-submit-disable')){$aSubmit.addClass("disabled");}
274if($aSubmit.hasClass('a-submit-loading')){var loading='<span class="fa fa-cog fa-spin"/>';var fa_span=$aSubmit.find('span[class*="fa"]');if(fa_span.length){fa_span.replaceWith(loading);}else{$aSubmit.append(loading);}}},_onChangeAttribute:function(ev){if(!ev.isDefaultPrevented()){ev.preventDefault();$(ev.currentTarget).closest("form").submit();}},_onMouseupAddCartLabel:function(ev){var $label=$(ev.currentTarget);var $price=$label.parents("form:first").find(".oe_price .oe_currency_value");if(!$price.data("price")){$price.data("price",parseFloat($price.text()));}
275var value=$price.data("price")+parseFloat($label.find(".badge span").text()||0);var dec=value%1;$price.html(value+(dec<0.01?".00":(dec<1?"0":"")));},_onClickShowCoupon:function(ev){$(ev.currentTarget).hide();$('.coupon_form').removeClass('d-none');},_onSubmitSaleSearch:function(ev){if(!this.$('.dropdown_sorty_by').length){return;}
276var $this=$(ev.currentTarget);if(!ev.isDefaultPrevented()&&!$this.is(".disabled")){ev.preventDefault();var oldurl=$this.attr('action');oldurl+=(oldurl.indexOf("?")===-1)?"?":"";var search=$this.find('input.search-query');window.location=oldurl+'&'+search.attr('name')+'='+encodeURIComponent(search.val());}},_onChangeCountry:function(ev){if(!this.$('.checkout_autoformat').length){return;}
277this._changeCountry();},_onChangeShippingUseSame:function(ev){$('.ship_to_other').toggle(!$(ev.currentTarget).prop('checked'));},_toggleDisable:function($parent,isCombinationPossible){ProductConfiguratorMixin._toggleDisable.apply(this,arguments);$parent.find("#add_to_cart").toggleClass('disabled',!isCombinationPossible);},_onToggleSummary:function(){$('.toggle_summary_div').toggleClass('d-none');$('.toggle_summary_div').removeClass('d-xl-block');},});sAnimations.registry.websiteSaleCart=sAnimations.Class.extend({selector:'.oe_website_sale .oe_cart',read_events:{'click .js_change_shipping':'_onClickChangeShipping','click .js_edit_address':'_onClickEditAddress','click .js_delete_product':'_onClickDeleteProduct',},_onClickChangeShipping:function(ev){var $old=$('.all_shipping').find('.card.border_primary');$old.find('.btn-ship').toggle();$old.addClass('js_change_shipping');$old.removeClass('border_primary');var $new=$(ev.currentTarget).parent('div.one_kanban').find('.card');$new.find('.btn-ship').toggle();$new.removeClass('js_change_shipping');$new.addClass('border_primary');var $form=$(ev.currentTarget).parent('div.one_kanban').find('form.d-none');$.post($form.attr('action'),$form.serialize()+'&xhr=1');},_onClickEditAddress:function(ev){ev.preventDefault();$(ev.currentTarget).closest('div.one_kanban').find('form.d-none').attr('action','/s
277hop/address').submit();},_onClickDeleteProduct:function(ev){ev.preventDefault();$(ev.currentTarget).closest('tr').find('.js_quantity').val(0).trigger('change');},});});;
278
279/* /website_sale/static/src/js/website_sale_utils.js defined in bundle 'web.assets_frontend' */
280odoo.define('website_sale.utils',function(require){'use strict';function animateClone($cart,$elem,offsetTop,offsetLeft){$cart.find('.o_animate_blink').addClass('o_red_highlight o_shadow_animation').delay(500).queue(function(){$(this).removeClass("o_shadow_animation").dequeue();}).delay(2000).queue(function(){$(this).removeClass("o_red_highlight").dequeue();});var $imgtodrag=$elem.find('img').eq(0);if($imgtodrag.length){var $imgclone=$imgtodrag.clone().offset({top:$imgtodrag.offset().top,left:$imgtodrag.offset().left}).addClass('o_website_sale_animate').appendTo(document.body).animate({top:$cart.offset().top+offsetTop,left:$cart.offset().left+offsetLeft,width:75,height:75,},1000,'easeInOutExpo');$imgclone.animate({width:0,height:0,},function(){$(this).detach();});}}
281return{animateClone:animateClone,};});;
282
283/* /website_sale/static/src/js/website_sale_payment.js defined in bundle 'web.assets_frontend' */
284odoo.define('website_sale.payment',function(require){'use strict';require('web.dom_ready');var $checkbox=$("#checkbox_cgv");if(!$checkbox.length){return;}
285var $pay_button=$('button#o_payment_form_pay');$checkbox.on('change',function(ev){$pay_button.data('disabled_reasons',$pay_button.data('disabled_reasons')||{});$pay_button.data('disabled_reasons').cgv=!ev.target.checked;$pay_button.prop('disabled',_.contains($pay_button.data('disabled_reasons'),true));});$checkbox.change();});;
286
287/* /website_sale/static/src/js/website_sale_validate.js defined in bundle 'web.assets_frontend' */
288odoo.define('website_sale.validate',function(require){'use strict';var sAnimations=require('website.content.snippets.animation');var core=require('web.core');var _t=core._t;sAnimations.registry.websiteSaleValidate=sAnimations.Class.extend({selector:'div.oe_website_sale_tx_status[data-order-id]',start:function(){var def=this._super.apply(this,arguments);if(this.editableMode){return def;}
289this._poll_nbr=0;this._paymentTransationPollStatus();return def;},_paymentTransationPollStatus:function(){var self=this;this._rpc({route:'/shop/payment/get_status/'+parseInt(this.$el.data('order-id')),}).then(function(result){self._poll_nbr+=1;if(result.recall){if(self._poll_nbr<20){setTimeout(function(){self._paymentTransationPollStatus();},Math.ceil(self._poll_nbr/3)*1000);}else{var $message=$(result.message);var $warning=$("<i class='fa fa-warning' style='margin-right:10px;'>");$warning.attr("title",_t("We are waiting the confirmation of the bank or payment provider"));$message.find('span:first').prepend($warning);result.message=$message.html();}}
290self.$el.html(result.message);});},});});;
291
292/* /website_sale/static/src/js/website_sale_tour_buy.js defined in bundle 'web.assets_frontend' */
293odoo.define('website_sale.tour',function(require){'use strict';var tour=require("web_tour.tour");var base=require("web_editor.base");tour.register('shop_buy_product',{test:true,url:'/shop',wait_for:base.ready()},[{content:"search conference chair",trigger:'form input[name="search"]',run:"text conference chair",},{content:"search conference chair",trigger:'form:has(input[name="search"]) .oe_search_button',},{content:"select conference chair",trigger:'.oe_product_cart:first a:contains("Conference Chair")',},{content:"select Conference Chair Aluminium",extra_trigger:'#product_detail',trigger:'label:contains(Aluminium) input',},{content:"select Conference Chair Steel",extra_trigger:'#product_detail',trigger:'label:contains(Steel) input',},{content:"click on add to cart",extra_trigger:'label:contains(Steel) input:propChecked',trigger:'#product_detail form[action^="/shop/cart/update"] .btn-primary',},{content:"click in modal on 'Proceed to checkout' button",trigger:'button:contains("Proceed to Checkout")',},{content:"add suggested",extra_trigger:'#wrap:not(:has(#cart_products:contains("Storage Box")))',trigger:'.oe_cart:has(tr:contains("Storage Box")) a:contains("Add to Cart")',},{content:"add one more",extra_trigger:'#cart_products tr:contains("Storage Box")',trigger:'#cart_products tr:contains("Steel") a.js_add_cart_json:eq(1)',},{content:"remove Storage Box",extra_trigger:'#cart_products tr:contains("Steel") input.js_quantity:propValue(2)',trigger:'#cart_products tr:contains("Storage Box") a.js_add_cart_json:first',},{content:"set one",extra_trigger:'#wrap:not(:has(#cart_products tr:contains("Storage Box")))',trigger:'#cart_products input.js_quantity',run:'text 1',},{content:"go to checkout",extra_trigger:'#cart_products input.js_quantity:propValue(1)',trigger:'a[href*="/shop/checkout"]',},{content:"select payment",trigger:'#payment_method label:contains("Wire Transfer")',},{content:"Pay Now",extra_trigger:'#payment_method label:contains("Wire Transfer") input:checked,#payment_method:not(:has("input
293:radio:visible"))',trigger:'button[id="o_payment_form_pay"]:visible:not(:disabled)',},{content:"finish",trigger:'.oe_website_sale:contains("Pending... The order will be validated after the payment.")',run:function(){window.location.href='/aboutus';},timeout:30000,},{content:"wait page loaded",trigger:'h3:contains("Great products for great people")',run:function(){},},]);});;
294
295/* /website_sale/static/src/js/website_sale_tracking.js defined in bundle 'web.assets_frontend' */
296odoo.define('website_sale.tracking',function(require){var sAnimations=require('website.content.snippets.animation');sAnimations.registry.websiteSaleTracking=sAnimations.Class.extend({selector:'.oe_website_sale',read_events:{'click form[action="/shop/cart/update"] a.a-submit':'_onAddProductIntoCart','click a[href="/shop/checkout"]':'_onCheckoutStart','click div.oe_cart a[href^="/web?redirect"][href$="/shop/checkout"]':'_onCustomerSignin','click form[action="/shop/confirm_order"] a.a-submit':'_onOrder','click form[target="_self"] button[type=submit]':'_onOrderPayment',},start:function(){var self=this;var def=this._super.apply(this,arguments);if(this.editableMode){return def;}
297if(this.$el.is('#product_detail')){var productID=this.$('input[name="product_id"]').attr('value');this._vpv('/stats/ecom/product_view/'+productID);}
298if(this.$('div.oe_website_sale_tx_status').length){this._trackGA('require','ecommerce');var orderID=this.$('div.oe_website_sale_tx_status').data('order-id');this._vpv('/stats/ecom/order_confirmed/'+orderID);this._rpc({route:'/shop/tracking_last_order/',}).then(function(o){self._trackGA('ecommerce:clear');if(o.transaction&&o.lines){self._trackGA('ecommerce:addTransaction',o.transaction);_.forEach(o.lines,function(line){self._trackGA('ecommerce:addItem',line);});}
299self._trackGA('ecommerce:send');});}
300return def;},_trackGA:function(){websiteGA=window.ga||function(){};websiteGA.apply(this,arguments);},_vpv:function(page){this._trackGA('send','pageview',{'page':page,'title':document.title,});},_onAddProductIntoCart:function(){var productID=this.$('input[name="product_id"]').attr('value');this._vpv('/stats/ecom/product_add_to_cart/'+productID);},_onCheckoutStart:function(){this._vpv('/stats/ecom/customer_checkout');},_onCustomerSignin:function(){this._vpv('/stats/ecom/customer_signin');},_onOrder:function(){if($('#top_menu [href="/web/login"]').length){this._vpv('/stats/ecom/customer_signup');}
301this._vpv('/stats/ecom/order_checkout');},_onOrderPayment:function(){var method=$('#payment_method input[name=acquirer]:checked').nextAll('span:first').text();this._vpv('/stats/ecom/order_payment/'+method);},});});;
302
303/* /website_sale/static/src/js/website_sale_tour_shop_customize.js defined in bundle 'web.assets_frontend' */
304odoo.define('website_sale.tour_shop_customize',function(require){'use strict';var tour=require("web_tour.tour");var base=require("web_editor.base");tour.register('shop_customize',{test:true,url:'/shop',wait_for:base.ready()},[{content:"open customize menu",trigger:'#customize-menu > a',},{content:"click on 'Product Attribute's Filters'",trigger:"#customize-menu a:contains(Product Attribute's Filters)",},{content:"select product attribute Steel",extra_trigger:'body:not(:has(#customize-menu:visible .dropdown-menu:visible))',trigger:'form.js_attributes label:contains(Steel) input:not(:checked)',},{content:"check the selection",trigger:'form.js_attributes label:contains(Steel) input:checked',run:function(){},},{content:"select product",extra_trigger:'body:not(:has(.oe_website_sale .oe_product_cart:eq(3)))',trigger:'.oe_product_cart a:contains("Test Product")',},{content:"open customize menu",trigger:'#customize-menu',extra_trigger:"#product_detail",run:function(){$('body').addClass('notReady');var ajax=odoo.__DEBUG__.services['web.ajax'];var get_group_payload={model:'ir.model.data',method:'xmlid_to_res_id',args:['product.group_product_variant',false],kwargs:{}};ajax.jsonpRpc('/web/dataset/call_kw','call',get_group_payload).then(function(group_id){ajax.jsonpRpc('/web/dataset/call_kw','call',{model:'res.groups',method:'write',args:[group_id,{'users':[[4,1]]}],kwargs:{}}).then(function(){location.reload(true);});});},},{content:"open customize menu",trigger:'#customize-menu > a',extra_trigger:'body:not(.notReady)',},{content:"check page loaded after enable  variant group",trigger:'#customize-menu a:contains(List View of Variants)',run:function(){},},{content:"check list view of variants is disabled initially",trigger:'body:not(:has(.js_product_change))',run:function(){},},{content:"click on 'List View of Variants'",trigger:"#customize-menu a:contains(List View of Variants)",},{content:"check page loaded after list of variant customization enabled",trigger:'.js_product_change',run:function(){},},{context:"check variant price",trigger:'.custom-radio:contains("Aluminium") .badge:contains("+") .oe_currency_value:contains("50.4")',run:function(){},},{content:"check price is 750",trigger:".product_price .oe_price .oe_currency_value:containsExact(750.00)",run:function(){},}
304,{content:"switch to another variant",trigger:".js_product label:contains('Aluminium')",},{content:"verify that price has changed when changing variant",trigger:".product_price .oe_price .oe_currency_value:containsExact(800.40)",run:function(){},},{content:"open customize menu",trigger:'#customize-menu > a',},{content:"remove 'List View of Variants'",trigger:"#customize-menu a:contains(List View of Variants):has(input:checked)",},{content:"check page loaded after list of variant customization disabled",trigger:".js_product:not(:has(.js_product_change))",run:function(){},},{content:"check price is 750",trigger:".product_price .oe_price .oe_currency_value:containsExact(750.00)",run:function(){},},{content:"switch to Aluminium variant",trigger:'.js_product input[data-value_name="Aluminium"]',},{content:"verify that price has changed when changing variant",trigger:".product_price .oe_price .oe_currency_value:containsExact(800.40)",run:function(){},},{content:"switch back to Steel variant",trigger:".js_product label:contains('Steel')",},{content:"check price is 750",trigger:".product_price .oe_price .oe_currency_value:containsExact(750.00)",run:function(){},},{content:"click on 'Add to Cart' button",trigger:"a:contains(Add to Cart)",},{content:"check quantity",trigger:'.my_cart_quantity:containsExact(1),.o_extra_menu_items .fa-plus',run:function(){},},{content:"click on shop",trigger:"a:contains(Continue Shopping)",extra_trigger:'body:not(:has(#products_grid_before .js_attributes))',},{content:"open customize menu bis",extra_trigger:'#products_grid_before .js_attributes',trigger:'#customize-menu > a',},{content:"remove 'Product Attribute's Filters'",trigger:"#customize-menu a:contains(Product Attribute's Filters):has(input:checked)",},{content:"finish",extra_trigger:'body:not(:has(#products_grid_before .js_attributes))',trigger:'#wrap:not(:has(li:has(.my_cart_quantity):visible))',run:function(){},},]);});;
305
306/* /website_sale/static/src/js/website_sale_tour_shop_custom_attribute_value.js defined in bundle 'web.assets_frontend' */
307odoo.define("website_sale.tour_shop_custom_attribute_value",function(require){"use strict";var tour=require("web_tour.tour");var base=require("web_editor.base");var optionVariantImage;tour.register("shop_custom_attribute_value",{url:"/shop?search=Customizable Desk",test:true,wait_for:base.ready()},[{content:"click on Customizable Desk",trigger:'.oe_product_cart a:contains("Customizable Desk")',},{trigger:'li.js_attribute_value span:contains(Custom)',extra_trigger:'li.js_attribute_value',run:'click',},{trigger:'input.variant_custom_value',run:'text Wood',},{trigger:'a:contains(Add to Cart)',run:'click',},{trigger:'div:contains(Custom: Wood)',extra_trigger:'.js_product.in_cart.main_product',run:function(){}},{trigger:'button.js_add_cart_json:has(i.fa-plus)',run:'click',},{trigger:'div.oe_striked_price span:contains(750)',run:function(){},},{trigger:'span.oe_price span:contains(600)',run:function(){},},{trigger:'.oe_optional_products_modal .js_product:eq(1) div:contains("Conference Chair (Steel)")',run:function(){optionVariantImage=$('.oe_optional_products_modal .js_product:eq(1) img.variant_image').attr('src');}},{trigger:'.oe_optional_products_modal .js_product:eq(1) input[data-value_name="Aluminium"]',},{trigger:'.oe_optional_products_modal .js_product:eq(1) div:contains("Conference Chair (Aluminium)")',run:function(){var newVariantImage=$('.oe_optional_products_modal .js_product:eq(1) img.variant_image').attr('src');if(newVariantImage!==optionVariantImage){$('<p>').text('image variant option src changed').insertAfter('.oe_optional_products_modal .js_product:eq(1) .product-name');}}},{extra_trigger:'.oe_optional_products_modal .js_product:eq(1) div:contains("image variant option src changed")',trigger:'.oe_optional_products_modal .js_product:eq(1) input[data-value_name="Steel"]',},{trigger:'li.js_attribute_value span:contains(Aluminium)',extra_trigger:'.oe_optional_products_modal',run:'click'},{trigger:'.oe_price span:contains(22.90)',run:function(){},},{trigger:'.oe_optional_products_modal .js_product:has(strong:contains(Conference Chair)) .js_add',extra_trigger:'.oe_optional_products_modal .js_product:has(strong:contains(Conference Chair))',run:'click'},{trigger:'.oe_optional_products_modal .js_product:has(strong:contains(Chair floor protection)) .js_add',extra_trigger:'.oe_optional_products_modal .js_product:has(strong:contains(Chair floor protection))',run:'click'},{trigger:'span:contains(1,269.80)',run:function(){},},{trigger:'button:has(span:contains(Proceed to Checkout))',run:'click',},{trigger:'span:contains(Custom: Wood)',extra_trigger:'#cart_products',run:function(){},}]);});;
308
309/* /website_sale/static/src/js/website_sale_tour_shop_zoom.js defined in bundle 'web.assets_frontend' */
310odoo.define('website_sale.tour_shop_zoom',function(require){'use strict';var tour=require('web_tour.tour');var base=require('web_editor.base');var imageSelector='#o-carousel-product .carousel-item.active img';var imageName="A Colorful Image";var nameGreen="Forest Green";tour.register('shop_zoom',{test:true,url:'/shop?search='+imageName,wait_for:base.ready(),},[{content:"select "+imageName,trigger:'.oe_product_cart a:containsExact("'+imageName+'")',},{content:"click on the image",trigger:imageSelector,run:'clicknoleave',},{content:"check there is no zoom on that small image",trigger:'body:not(:has(.zoomodoo-flyout img))',},{content:"change variant",trigger:'input[data-attribute_name="Beautiful Color"][data-value_name="'+nameGreen+'"]',run:'click',},{content:"wait for variant to be loaded",trigger:'.oe_currency_value:contains("21.00")'},{content:"click on the image",trigger:imageSelector,run:'clicknoleave',},{content:"check there is a zoom on that big image",trigger:'.zoomodoo-flyout img',},]);});;
311
312/* /website_sale/static/src/js/website_sale_tour_shop_dynamic_variants.js defined in bundle 'web.assets_frontend' */
313odoo.define('website_sale.tour_shop_dynamic_variants',function(require){'use strict';var tour=require('web_tour.tour');var base=require('web_editor.base');tour.register('tour_shop_dynamic_variants',{test:true,url:'/shop?search=Dynamic Product',wait_for:base.ready(),},[{content:"select Dynamic Product",trigger:'.oe_product_cart a:containsExact("Dynamic Product")',},{content:"click on the second variant",trigger:'input[data-attribute_name="Dynamic Attribute"][data-value_name="Dynamic Value 2"]',},{content:"wait for variant to be loaded",trigger:'.oe_price .oe_currency_value:contains("0.00")',run:function(){},},{content:"click add to cart",extra_trigger:'body:has(input[type="hidden"][name="product_id"][value=0])',trigger:'#add_to_cart',},{content:"check the variant is in the cart",trigger:'td.td-product_name:contains(Dynamic Product (Dynamic Value 2))',},]);});;
314
315/* /website_sale/static/src/js/website_sale_tour_shop_deleted_archived_variants.js defined in bundle 'web.assets_frontend' */
316odoo.define('website_sale.tour_shop_deleted_archived_variants',function(require){'use strict';var tour=require('web_tour.tour');var base=require('web_editor.base');tour.register('tour_shop_deleted_archived_variants',{test:true,url:'/shop?search=Test Product 2',wait_for:base.ready(),},[{content:"check price on /shop (template price)",trigger:'.oe_product_cart .oe_currency_value:contains("1.00")',},{content:"select Test Product 2",trigger:'.oe_product_cart a:containsExact("Test Product 2")',},{content:"check price (3rd variant)",trigger:'.oe_currency_value:contains("31.00")'},{content:"click on the second variant",trigger:'input[data-attribute_name="My Attribute"][data-value_name="My Value 2"]',},{content:"check combination is not possible",trigger:'.js_main_product.css_not_available .css_not_available_msg:contains("This combination does not exist.")'},{content:"click on the 3rd variant to reset the warning",trigger:'input[data-attribute_name="My Attribute"][data-value_name="My Value 3"]',},{content:"check price (3rd variant)",trigger:'.oe_currency_value:contains("31.00")'},{content:"click on the first variant",trigger:'input[data-attribute_name="My Attribute"][data-value_name="My Value 1"]',},{content:"check combination is not possible",trigger:'.js_main_product.css_not_available .css_not_available_msg:contains("This combination does not exist.")'},{content:"check add to cart not possible",trigger:'#add_to_cart.disabled',run:function(){},}]);});;
317
318/* /website_sale/static/src/js/website_sale_tour_shop_list_view_b2c.js defined in bundle 'web.assets_frontend' */
319odoo.define('website_sale.tour_shop_list_view_b2c',function(require){'use strict';var base=require('web_editor.base');var tour=require('web_tour.tour');tour.register('shop_list_view_b2c',{test:true,url:'/shop?search=Test Product',wait_for:base.ready()},[{content:"check price on /shop",trigger:'.oe_product_cart .oe_currency_value:contains("825.00")',run:function(){},},{content:"select product",trigger:'.oe_product_cart a:contains("Test Product")',},{content:"check list view of variants is disabled initially (when on /product page)",trigger:'body:not(:has(.js_product_change))',extra_trigger:'#product_details',run:function(){},},{content:"open customize menu",trigger:'#customize-menu > a',extra_trigger:'body:not(.notReady)',},{content:"click on 'List View of Variants'",trigger:'#customize-menu a:contains(List View of Variants)',},{content:"check page loaded after list of variant customization enabled",trigger:'.js_product_change',run:function(){},},{context:"check variant price",trigger:'.custom-radio:contains("Aluminium") .badge:contains("+") .oe_currency_value:contains("55.44")',run:function(){},},{content:"check price is 825",trigger:'.product_price .oe_price .oe_currency_value:containsExact("825.00")',run:function(){},},{content:"switch to another variant",trigger:'.js_product label:contains("Aluminium")',},{content:"verify that price has changed when changing variant",trigger:'.product_price .oe_price .oe_currency_value:containsExact("880.44")',run:function(){},},{content:"click on 'Add to Cart' button",trigger:'a:contains(Add to Cart)',},{content:"check price on /cart",trigger:'#cart_products .oe_currency_value:containsExact("880.44")',run:function(){},},]);});;
320
321/* /website_sale/static/src/js/website_sale_tour_shop_no_variant_attribute.js defined in bundle 'web.assets_frontend' */
322odoo.define('website_sale.tour_shop_no_variant_attribute',function(require){'use strict';var tour=require('web_tour.tour');var base=require('web_editor.base');tour.register('tour_shop_no_variant_attribute',{test:true,url:'/shop?search=Test Product 3',wait_for:base.ready(),},[{content:"select Test Product 3",trigger:'.oe_product_cart a:containsExact("Test Product 3")',},{content:"check price",trigger:'.oe_currency_value:contains("1.00")',run:function(){},},{content:"add to cart",trigger:'a:contains(Add to Cart)',},{content:"check no_variant value is present",trigger:'.td-product_name:contains(No Variant Attribute: No Variant Value)',extra_trigger:'#cart_products',run:function(){},},{content:"check price is correct",trigger:'.td-price:contains(11.0)',run:function(){},},]);});;
323
324/* /website_sale/static/src/js/website_sale_options.js defined in bundle 'web.assets_frontend' */
325odoo.define('website_sale_options.website_sale',function(require){'use strict';var core=require('web.core');var _t=core._t;var OptionalProductsModal=require('sale.OptionalProductsModal');var weContext=require('web_editor.context');var sAnimations=require('website.content.snippets.animation');var ProductConfiguratorMixin=require('sale.ProductConfiguratorMixin');require('website_sale.website_sale');sAnimations.registry.WebsiteSaleOptions=sAnimations.Class.extend(ProductConfiguratorMixin,{selector:'.oe_website_sale',read_events:{'click #add_to_cart, #products_grid .product_price .a-submit':'async _onClickAdd',},init:function(){this._super.apply(this,arguments);this.isWebsite=true;delete this.events['change .css_attribute_color input'];delete this.events['change .main_product:not(.in_cart) input.js_quantity'];delete this.events['change [data-attribute_exclusions]'];},_onClickAdd:function(ev){ev.preventDefault();return this._handleAdd($(ev.currentTarget).closest('form'));},_handleAdd:function($form){var self=this;this.$form=$form;this.isWebsite=true;var productSelector=['input[type="hidden"][name="product_id"]','input[type="radio"][name="product_id"]:checked'];var productReady=this.selectOrCreateProduct($form,parseInt($form.find(productSelector.join(', ')).first().val(),10),$form.find('.product_template_id').val(),false);return productReady.done(function(productId){$form.find(productSelector.join(', ')).val(productId);self.rootProduct={product_id:productId,quantity:parseFloat($form.find('input[name="add_qty"]').val()||1),product_custom_attribute_values:self.getCustomVariantValues($form.find('.js_product')),variant_values:self.getSelectedVariantValues($form.find('.js_product')),no_variant_attribute_values:self.getNoVariantAttributeValues($form.find('.js_product'))};self.optionalProductsModal=new OptionalProductsModal($form,{rootProduct:self.rootProduct,isWebsite:true,okButtonText:_t('Proceed to Checkout'),cancelButtonText:_t('Continue Shopping'),title:_t('Add to cart')}).open();self.optionalProductsModal.on('options_empty',null,self._onModalOptionsEmpty.bind(self));self.optionalProductsModal.on('update_quantity',null,self._onOptionsUpdateQuantity.bind(self));self.optionalProductsModal.on('confirm',null,self._onModalConfirm.bind(self));self.optionalProductsModal.on('back',null,self._onModalBack.bind(self));return self.optionalProductsModal.opened();});},_onModalOptionsEmpty:function(){var $productCustomVariantValues=$('<input>',{name:'product_custom_attribute_values',type:"hidden",value:JSON.stringify(this.rootProduct.product_custom_attribute_values)});this.$form.append($productCustomVariantValues);var $productNoVariantAttributeValues=$('<input>',{name:'no_variant_attribute_values',type:"hidden",value:JSON.stringify(this.rootProduct.no_variant_attribute_values)});this.$form.append($productNoVariantAttributeValues);this.$form.trigger('submit',[true]);}
325,_onOptionsUpdateQuantity:function(quantity){var $qtyInput=this.$form.find('.js_main_product input[name="add_qty"]').first();if($qtyInput.length){$qtyInput.val(quantity).trigger('change');}else{this.optionalProductsModal.triggerVariantChange(this.optionalProductsModal.$el);}},_onModalBack:function(){this._onModalSubmit(false);},_onModalConfirm:function(){this._onModalSubmit(true);},_onModalSubmit:function(goToShop){var customValues=JSON.stringify(this.optionalProductsModal.getSelectedProducts());this.$form.ajaxSubmit({url:'/shop/cart/update_option',data:{lang:weContext.get().lang,custom_values:customValues},success:function(quantity){if(goToShop){var path=window.location.pathname.replace(/shop([\/?].*)?$/,"shop/cart");window.location.pathname=path;}
326var $quantity=$(".my_cart_quantity");$quantity.parent().parent().removeClass("d-none",!quantity);$quantity.html(quantity).hide().fadeIn(600);}});},});return sAnimations.registry.WebsiteSaleOptions;});;
327
328/* /website_crm_partner_assign/static/src/js/crm_partner_assign.js defined in bundle 'web.assets_frontend' */
329odoo.define('crm.partner_assign',function(require){'use strict';var rpc=require('web.rpc');var weContext=require('web_editor.context');require('web.dom_ready');var interested_form=$('.interested_partner_assign_form');var desinterested_form=$('.desinterested_partner_assign_form');var opp_stage_buttons=$('.opp-stage-button');var new_opp_form=$('.new_opp_form');if(!interested_form.length&&!desinterested_form.length&&!opp_stage_buttons.length&&!new_opp_form.length){return $.Deferred().reject("DOM doesn't contain website_crm_partner_assign elements");}
330$('.interested_partner_assign_confirm').on('click',function(e){var $btn=$(this);if($('.interested_partner_assign_form .comment_interested').val()&&$('.interested_partner_assign_form .contacted_interested').prop('checked')){$btn.prop('disabled',true);rpc.query({model:'crm.lead',method:"partner_interested",args:[[parseInt($('.interested_partner_assign_form .assign_lead_id').val())],$('.interested_partner_assign_form .comment_interested').val()],context:weContext.get(),}).then(function(){window.location.href='/my/leads';}).always(function(){$btn.prop('disabled',false);});}else{$('.interested_partner_assign_form .error_partner_assign_interested').css('display','block');}
331return false;});$('.desinterested_partner_assign_confirm').on('click',function(){var $btn=$(this);$btn.prop('disabled',true);rpc.query({model:'crm.lead',method:'partner_desinterested',args:[[parseInt($('.desinterested_partner_assign_form .assign_lead_id').val())],$('.desinterested_partner_assign_form .comment_desinterested').val(),$('.desinterested_partner_assign_form .contacted_desinterested').prop('checked'),$('.desinterested_partner_assign_form .customer_mark_spam').prop('checked'),],context:weContext.get(),}).then(function(){window.location.href='/my/leads';}).always(function(){$btn.prop('disabled',false);});return false;});opp_stage_buttons.on('click',function(e){var $btn=$(this);$btn.prop('disabled',true);rpc.query({model:'crm.lead',method:'write',args:[[parseInt(e.currentTarget.getAttribute('opp'))],{stage_id:parseInt(e.currentTarget.getAttribute('data')),},],context:_.extend({website_partner_assign:1},weContext.get()),}).fail(function(){$btn.prop('disabled',false);}).done(function(){window.location.reload();});});$('.edit_contact_form .country_id').on('change',function(){var country_id=$('.edit_contact_form .country_id').find(":selected").attr('value');$(".edit_contact_form .state[country!="+country_id+"]").css('display','none');$(".edit_contact_form .state[country="+country_id+"]").css('display','block');});$('.edit_contact_confirm').on('click',function(){var $btn=$(this);$btn.prop('disabled',true);rpc.query({model:'crm.lead',method:"write",args:[[parseInt($('.edit_contact_form .opportunity_id').val())],{partner_name:$('.edit_contact_form .partner_name').val(),phone:$('.edit_contact_form .phone').val(),mobile:$('.edit_contact_form .mobile').val(),email_from:$('.edit_contact_form .email_from').val(),street:$('.edit_contact_form .street').val(),street2:$('.edit_contact_form .street2').val(),city:$('.edit_contact_form .city').val(),zip:$('.edit_contact_form .zip').val(),state_id:parseInt($('.edit_contact_form .state_id').find(":selected").attr('value')),country_id:parseInt($('.edit_contact_form .country_id').find(":selected").attr('value')),}],context:weContext.get(),}).fail(function(){$btn.prop('disabled',false);}).done(function(){window.location.reload();});return false;});$('.new_opp_confirm').on('click',function(e){var $btn=$(this);$btn.prop('disabled',true);rpc.query({model:'crm.lead',method:'create_opp_portal',args:[{contact_name:$('.new_opp_form .contact_name').val(),title:$('.new_opp_form .t
331itle').val(),description:$('.new_opp_form .description').val(),}],context:weContext.get(),}).done(function(response){if(response.errors){$('#new-opp-dialog .alert').remove();$('#new-opp-dialog div:first').prepend("<div class='alert alert-danger'>"+response.errors+"</div>");$btn.prop('disabled',false);}
332else{window.location='/my/opportunity/'+response.id;}}).fail(function(){$btn.prop('disabled',false);});return false;});$('.edit_opp_confirm').on('click',function(){var $btn=$(this);$btn.prop('disabled',true);rpc.query({model:'crm.lead',method:'update_lead_portal',args:[[parseInt($('.edit_opp_form .opportunity_id').val())],{date_deadline:$('.edit_opp_form .date_deadline').val(),planned_revenue:parseFloat($('.edit_opp_form .planned_revenue').val()),probability:parseFloat($('.edit_opp_form .probability').val()),activity_type_id:parseInt($('.edit_opp_form .next_activity').find(":selected").attr('data')),activity_summary:$('.edit_opp_form .activity_summary').val(),activity_date_deadline:$('.edit_opp_form .activity_date_deadline').val(),priority:$('input[name="PriorityRadioOptions"]:checked').val(),}],context:weContext.get(),}).fail(function(){$btn.prop('disabled',false);}).done(function(){window.location.reload();});return false;});$('.edit_opp_form .next_activity').on('change',function(){var selected=$('.edit_opp_form .next_activity').find(":selected");if(selected.attr('activity_summary')){$('.edit_opp_form .activity_summary').val(selected.attr('activity_summary'));}
333if(selected.attr('days')){var date_now=moment();var days=parseInt(selected.attr('days'));var date=date_now.add(days,'days');$('.edit_opp_form .activity_date_deadline').val(date.format('YYYY-MM-DD'));}});$("div.input-group span.fa-calendar").on('click',function(e){$(e.currentTarget).closest("div.date").datetimepicker({icons:{time:'fa fa-clock-o',date:'fa fa-calendar',up:'fa fa-chevron-up',down:'fa fa-chevron-down'},});});});;
334
335/* /website_helpdesk/static/src/js/website_helpdesk.menu.js defined in bundle 'web.assets_frontend' */
336odoo.define("website_helpdesk.menu",function(require){"use strict";require("web.dom_ready");var pathname=$(window.location).attr("pathname");var $link=$(".team_menu li a");if(pathname!=="/helpdesk/"){$link=$link.filter("[href$='"+pathname+"']");}
337$link.first().closest("li").addClass("active");});;
338
339/* /website_sale_coupon/static/src/js/website_sale_coupon.test.js defined in bundle 'web.assets_frontend' */
340odoo.define('website_sale_coupon.test',function(require){'use strict';require("website_sale.tour");var tour=require("web_tour.tour");var base=require("web_editor.base");var ajax=require('web.ajax');tour.register('shop_sale_coupon',{test:true,url:'/shop?search=Large%20Cabinet',wait_for:base.ready()},[{content:"open customize menu",extra_trigger:'.oe_website_sale .o_website_sale_search',trigger:'#customize-menu > a',},{content:"enable 'Show # found' if needed",trigger:"#customize-menu a:contains(Show # found)",run:function(){if(!$('#customize-menu a:contains(Show # found) input').prop('checked')){$('#customize-menu a:contains(Show # found)').click();}}},{content:"select Large Cabinet",extra_trigger:'.oe_search_found',trigger:'.oe_product_cart a:contains("Large Cabinet")',},{content:"add 2 Large Cabinet into cart",trigger:'#product_details input[name="add_qty"]',run:"text 2",},{content:"click on 'Add to Cart' button",trigger:"a:contains(Add to Cart)",},{content:"open customize menu",extra_trigger:'.oe_website_sale .oe_cart',trigger:'#customize-menu > a',},{content:"enable 'Promo Code' if needed",trigger:"#customize-menu a:contains(Promo Code)",run:function(){if(!$('#customize-menu a:contains(Promo Code) input').prop('checked')){$('#customize-menu a:contains(Promo Code)').click();}}},{content:"click on 'I have a promo code'",extra_trigger:'.show_coupon',trigger:'.show_coupon',},{content:"insert promo code '10pc'",extra_trigger:'form[name="coupon_code"]',trigger:'form[name="coupon_code"] input[name="promo"]',run:"text 10pc",},{content:"validate the coupon",trigger:'form[name="coupon_code"] .a-submit',},{content:"check reward product",trigger:'.reward_product:contains("10.0% discount on total amount")',run:function(){},},{content:"go to shop",trigger:'.reward_product:contains("10.0% discount on total amount")',run:function(){ajax.jsonRpc('/web/dataset/call','call',{model:'account.tax',method:'create',args:[{'name':'
34015% tax incl '+_.now(),'amount':15,}],}).then(function(tax_id){ajax.jsonRpc('/web/dataset/call','call',{model:'product.template',method:'create',args:[{'name':'Taxed Product','taxes_id':[([6,false,[tax_id]])],'list_price':100,'website_published':true,}],}).then(function(data){location.href='/shop';});});},},{content:"type Taxed Product in search",trigger:'form input[name="search"]',run:"text Taxed Product",},{content:"start search",trigger:'form:has(input[name="search"]) .oe_search_button',},{content:"select Taxed Product",extra_trigger:'.oe_search_found',trigger:'.oe_product_cart a:containsExact("Taxed Product")',},{content:"click on 'Add to Cart' button",trigger:"a:contains(Add to Cart)",},{content:"check reduction amount got recomputed and merged both discount lines into one only",extra_trigger:'.oe_currency_value:contains("-75.50"):not(#cart_total .oe_currency_value:contains("-75.50"))',trigger:'.oe_website_sale .oe_cart',run:function(){},},{content:"add one Large Cabinet",trigger:'#cart_products input.js_quantity',run:"text 3",},{content:"check reduction amount got recomputed when changing qty",trigger:'.oe_currency_value:contains("-107.50")',run:function(){},},{content:"add more Large Cabinet into cart",trigger:'#cart_products input.js_quantity',run:"text 4",},{content:"check free product is added",trigger:'#wrap:has(.reward_product:contains("Free Product - Large Cabinet"))',run:function(){},},{content:"remove one cabinet from cart",trigger:'#cart_products input.js_quantity[value="4"]',run:"text 3",},{content:"check free product is removed",trigger:'#wrap:not(:has(.reward_product:contains("Free Product - Large Cabinet")))',run:function(){},},{content:"go to checkout",trigger:'a[href="/shop/checkout?express=1"]',},{content:"check total is unchanged once we land on payment page",extra_trigger:'#payment_method h3:contains("Pay with")',trigger:'tr#order_total .oe_currency_value:contains("967.50")',run:function(){},},]);});;
341
342/* /mail/static/src/js/thread_windows/abstract_thread_window.js defined in bundle 'web.assets_frontend' */
343odoo.define('mail.AbstractThreadWindow',function(require){"use strict";var ThreadWidget=require('mail.widget.Thread');var config=require('web.config');var core=require('web.core');var Widget=require('web.Widget');var QWeb=core.qweb;var _t=core._t;var AbstractThreadWindow=Widget.extend({template:'mail.AbstractThreadWindow',custom_events:{escape_pressed:'_onEscapePressed',document_viewer_closed:'_onDocumentViewerClose',},events:{'click .o_thread_window_close':'_onClickClose','click .o_thread_window_title':'_onClickFold','click .o_composer_text_field':'_onComposerClick','click .o_mail_thread':'_onThreadWindowClicked','keydown .o_composer_text_field':'_onKeydown','keypress .o_composer_text_field':'_onKeypress',},FOLD_ANIMATION_DURATION:200,HEIGHT_OPEN:'400px',HEIGHT_FOLDED:'34px',init:function(parent,thread,options){this._super(parent);this.options=_.defaults(options||{},{autofocus:true,displayStars:true,displayReplyIcons:false,displayEmailIcons:false,placeholder:_t("Say something"),});this._hidden=false;this._thread=thread||null;this._debouncedOnScroll=_.debounce(this._onScroll.bind(this),100);if(!this.hasThread()){this._folded=false;}},start:function(){var self=this;this.$input=this.$('.o_composer_text_field');this.$header=this.$('.o_thread_window_header');this._threadWidget=new ThreadWidget(this,{areMessageAttachmentsDeletable:false,displayMarkAsRead:false,displayStars:this.options.displayStars,});if(this.isFolded()){this.$el.css('height',this.HEIGHT_FOLDED);}else if(this.options.autofocus){this._focusInput();}
344if(!config.device.isMobile){var margin_dir=_t.database.parameters.direction==="rtl"?"margin-left":"margin-right";this.$el.css(margin_dir,$.position.scrollbarWidth());}
345var def=this._threadWidget.replace(this.$('.o_thread_window_content')).then(function(){self._threadWidget.$el.on('scroll',self,self._debouncedOnScroll);});return $.when(this._super(),def);},do_hide:function(){this._hidden=true;this._super.apply(this,arguments);},do_show:function(){this._hidden=false;this._super.apply(this,arguments);},do_toggle:function(display){this._hidden=_.isBoolean(display)?!display:!this._hidden;this._super.apply(this,arguments);},close:function(){},getID:function(){return this._getThreadID();},getThreadStatus:function(){if(!this.hasThread()){return undefined;}
346return this._thread.getStatus();},getTitle:function(){if(!this.hasThread()){return _t("Undefined");}
347return this._thread.getTitle();},getUnreadCounter:function(){if(!this.hasThread()){return 0;}
348return this._thread.getUnreadCounter();},hasThread:function(){return!!this._thread;},isAtBottom:function(){return this._threadWidget.isAtBottom();},isFolded:function(){if(!this.hasThread()){return this._folded;}
349return this._thread.isFolded();},isMobile:function(){return config.device.isMobile;},isHidden:function(){return this._hidden;},needsComposer:function(){return this.hasThread();},render:function(){this.renderHeader();if(this.hasThread()){this._threadWidget.render(this._thread,{displayLoadMore:false});}},renderHeader:function(){var options=this._getHeaderRenderingOptions();this.$header.html(QWeb.render('mail.AbstractThreadWindow.HeaderContent',options));},renderTypingNotificationBar:function(){this._threadWidget.renderTypingNotificationBar(this._thread);},scrollToBottom:function(){this._threadWidget.scrollToBottom();},toggleFold:function(folded){if(!_.isBoolean(folded)){folded=!this.isFolded();}
350this._updateThreadFoldState(folded);},updateVisualFoldState:function(){if(!this.isFolded()){this._threadWidget.scrollToBottom();if(this.options.autofocus){this._focusInput();}}
351this._animateFold();},_animateFold:function(){this.$el.animate({height:this.isFolded()?this.HEIGHT_FOLDED:this.HEIGHT_OPEN},this.FOLD_ANIMATION_DURATION);},_focusInput:function(){if(config.device.touch&&config.device.size_class<=config.device.SIZES.SM){return;}
352this.$input.focus();},_getHeaderRenderingOptions:function(){return{status:this.getThreadStatus(),title:this.getTitle(),unreadCounter:this.getUnreadCounter(),widget:this,};},_getThreadID:function(){if(!this.hasThread()){return'_blank';}
353return this._thread.getID();},_hasFocus:function(){return this.$input.is(':focus');},_postMessage:function(messageData){var self=this;if(!this.hasThread()){return;}
354this._thread.postMessage(messageData).then(function(){self._threadWidget.scrollToBottom();});},_updateThreadFoldState:function(folded){if(this.hasThread()){this._thread.fold(folded);}else{this._folded=folded;this.updateVisualFoldState();}},_onClickClose:function(ev){ev.stopPropagation();ev.preventDefault();if(this.hasThread()&&this._thread.getUnreadCounter()>0&&!this.isFolded()){this._thread.markAsRead();}
355this.close();},_onClickFold:function(){if(!config.device.isMobile){this.toggleFold();}},_onComposerClick:function(ev){if($(ev.target).closest('a, button').length){return;}
356this._focusInput();},_onDocumentViewerClose:function(){this._focusInput();},_onEscapePressed:function(){if(!this.isFolded()){this.close();}},_onKeydown:function(ev){ev.stopPropagation();if(ev.which===13){var content=_.str.trim(this.$input.val());var messageData={content:content,attachment_ids:[],partner_ids:[],};this.$input.val('');if(content){this._postMessage(messageData);}}},_onKeypress:function(ev){ev.stopPropagation();},_onScroll:function(){if(this.hasThread()&&this.isAtBottom()){this._thread.markAsRead();}},_onThreadWindowClicked:function(){var selectObj=window.getSelection();if(selectObj.anchorOffset===selectObj.focusOffset){this.$input.focus();}},});return AbstractThreadWindow;});;
357
358/* /im_livechat/static/src/js/website_livechat_window.js defined in bundle 'web.assets_frontend' */
359odoo.define('im_livechat.WebsiteLivechatWindow',function(require){"use strict";var AbstractThreadWindow=require('mail.AbstractThreadWindow');var LivechatWindow=AbstractThreadWindow.extend({events:_.extend(AbstractThreadWindow.prototype.events,{'input .o_composer_text_field':'_onInput',}),init:function(parent,thread){this._super.apply(this,arguments);this._thread=thread;},close:function(){this.trigger_up('close_chat_window');},replaceContentWith:function($element){$element.replace(this._threadWidget.$el);},toggleFold:function(){this._super.apply(this,arguments);this.trigger_up('save_chat_window');this.updateVisualFoldState();},_postMessage:function(messageData){this.trigger_up('post_message_chat_window',{messageData:messageData});this._super.apply(this,arguments);},_onInput:function(){if(this.hasThread()&&this._thread.hasTypingNotification()){var isTyping=this.$input.val().length>0;this._thread.setMyselfTyping({typing:isTyping});}},});return LivechatWindow;});;
360
361/* /bus/static/src/js/longpolling_bus.js defined in bundle 'web.assets_frontend' */
362odoo.define('bus.Longpolling',function(require){"use strict";var Bus=require('web.Bus');var ServicesMixin=require('web.ServicesMixin');var LongpollingBus=Bus.extend(ServicesMixin,{PARTNERS_PRESENCE_CHECK_PERIOD:30000,ERROR_RETRY_DELAY:10000,POLL_ROUTE:'/longpolling/poll',_isActive:null,_lastNotificationID:0,_isOdooFocused:true,_pollRetryTimeout:null,init:function(parent,params){this._super.apply(this,arguments);this._id=_.uniqueId('bus');this._longPollingBusId=this._id;this._options={};this._channels=[];this._lastPresenceTime=new Date().getTime();this._lastPartnersPresenceCheck=this._lastPresenceTime;$(window).on("focus."+this._longPollingBusId,this._onFocusChange.bind(this,{focus:true}));$(window).on("blur."+this._longPollingBusId,this._onFocusChange.bind(this,{focus:false}));$(window).on("unload."+this._longPollingBusId,this._onFocusChange.bind(this,{focus:false}));$(window).on("click."+this._longPollingBusId,this._onPresence.bind(this));$(window).on("keydown."+this._longPollingBusId,this._onPresence.bind(this));$(window).on("keyup."+this._longPollingBusId,this._onPresence.bind(this));},destroy:function(){this.stopPolling();$(window).off("focus."+this._longPollingBusId);$(window).off("blur."+this._longPollingBusId);$(window).off("unload."+this._longPollingBusId);$(window).off("click."+this._longPollingBusId);$(window).off("keydown."+this._longPollingBusId);$(window).off("keyup."+this._longPollingBusId);this._super();}
362,addChannel:function(channel){if(this._channels.indexOf(channel)===-1){this._channels.push(channel);if(this._pollRpc){this._pollRpc.abort();}else{this.startPolling();}}},deleteChannel:function(channel){var index=this._channels.indexOf(channel);if(index!==-1){this._channels.splice(index,1);if(this._pollRpc){this._pollRpc.abort();}}},isOdooFocused:function(){return this._isOdooFocused;},startPolling:function(){if(this._isActive===null){this._poll=this._poll.bind(this);}
363if(!this._isActive){this._isActive=true;this._poll();}},stopPolling:function(){this._isActive=false;this._channels=[];clearTimeout(this._pollRetryTimeout);if(this._pollRpc){this._pollRpc.abort();}},updateOption:function(key,value){this._options[key]=value;},_getLastPresence:function(){return this._lastPresenceTime;},_poll:function(){var self=this;if(!this._isActive){return;}
364var now=new Date().getTime();var options=_.extend({},this._options,{bus_inactivity:now-this._getLastPresence(),});if(this._lastPartnersPresenceCheck+this.PARTNERS_PRESENCE_CHECK_PERIOD>now){options=_.omit(options,'bus_presence_partner_ids');}else{this._lastPartnersPresenceCheck=now;}
365var data={channels:this._channels,last:this._lastNotificationID,options:options};this._pollRpc=this._makePoll(data);this._pollRpc.then(function(result){self._pollRpc=false;self._onPoll(result);self._poll();},function(error,ev){self._pollRpc=false;ev.preventDefault();if(error&&error.message==="XmlHttpRequestError abort"){self._poll();}else{self._pollRetryTimeout=setTimeout(self._poll,self.ERROR_RETRY_DELAY+(Math.floor((Math.random()*20)+1)*1000));}});},_makePoll:function(data){return this._rpc({route:this.POLL_ROUTE,params:data},{shadow:true,timeout:60000});},_onFocusChange:function(params){this._isOdooFocused=params.focus;if(params.focus){this._lastPresenceTime=new Date().getTime();this.trigger('window_focus',this._isOdooFocused);}},_onPoll:function(notifications){var self=this;var notifs=_.map(notifications,function(notif){if(notif.id>self._lastNotificationID){self._lastNotificationID=notif.id;}
366return[notif.channel,notif.message];});this.trigger("notification",notifs);return notifs;},_onPresence:function(){this._lastPresenceTime=new Date().getTime();},});return LongpollingBus;});;
367
368/* /bus/static/src/js/crosstab_bus.js defined in bundle 'web.assets_frontend' */
369odoo.define('bus.CrossTab',function(require){"use strict";var Longpolling=require('bus.Longpolling');var session=require('web.session');var CrossTabBus=Longpolling.extend({TAB_HEARTBEAT_PERIOD:10000,MASTER_TAB_HEARTBEAT_PERIOD:1500,HEARTBEAT_OUT_OF_DATE_PERIOD:5000,HEARTBEAT_KILL_OLD_PERIOD:15000,LOCAL_STORAGE_PREFIX:'bus',_isMasterTab:false,_isRegistered:false,init:function(){this._super.apply(this,arguments);var now=new Date().getTime();this._sanitizedOrigin=session.origin.replace(/:\/{0,2}/g,'_');this._id=_.uniqueId(this.LOCAL_STORAGE_PREFIX)+':'+now;if(this._callLocalStorage('getItem','last_ts',0)+50000<now){this._callLocalStorage('removeItem','last');}
370this._lastNotificationID=this._callLocalStorage('getItem','last',0);this.call('local_storage','onStorage',this,this._onStorage);},destroy:function(){this._super();clearTimeout(this._heartbeatTimeout);},addChannel:function(){this._super.apply(this,arguments);this._callLocalStorage('setItem','channels',this._channels);},deleteChannel:function(){this._super.apply(this,arguments);this._callLocalStorage('setItem','channels',this._channels);},getTabId:function(){return this._id;},isMasterTab:function(){return this._isMasterTab;},startPolling:function(){if(this._isActive===null){this._heartbeat=this._heartbeat.bind(this);}
371if(!this._isRegistered){this._isRegistered=true;var peers=this._callLocalStorage('getItem','peers',{});peers[this._id]=new Date().getTime();this._callLocalStorage('setItem','peers',peers);this._registerWindowUnload();if(!this._callLocalStorage('getItem','master')){this._startElection();}
372this._heartbeat();if(this._isMasterTab){this._callLocalStorage('setItem','channels',this._channels);this._callLocalStorage('setItem','options',this._options);}else{this._channels=this._callLocalStorage('getItem','channels',this._channels);this._options=this._callLocalStorage('getItem','options',this._options);}
373return;}
374if(this._isMasterTab){this._super.apply(this,arguments);}},updateOption:function(){this._super.apply(this,arguments);this._callLocalStorage('setItem','options',this._options);},_callLocalStorage:function(method,key,param){return this.call('local_storage',method,this._generateKey(key),param);},_generateKey:function(key){return this.LOCAL_STORAGE_PREFIX+'.'+this._sanitizedOrigin+'.'+key;},_getLastPresence:function(){return this._callLocalStorage('getItem','lastPresence')||this._super();},_heartbeat:function(){var now=new Date().getTime();var heartbeatValue=parseInt(this._callLocalStorage('getItem','heartbeat',0));var peers=this._callLocalStorage('getItem','peers',{});if((heartbeatValue+this.HEARTBEAT_OUT_OF_DATE_PERIOD)<now){this._startElection();heartbeatValue=parseInt(this._callLocalStorage('getItem','heartbeat',0));}
375if(this._isMasterTab){var cleanedPeers={};for(var peerName in peers){if(peers[peerName]+this.HEARTBEAT_KILL_OLD_PERIOD>now){cleanedPeers[peerName]=peers[peerName];}}
376if(heartbeatValue!==this.lastHeartbeat){this._isMasterTab=false;this.lastHeartbeat=0;peers[this._id]=now;this._callLocalStorage('setItem','peers',peers);this.stopPolling();this.trigger('no_longer_master');}else{this.lastHeartbeat=now;this._callLocalStorage('setItem','heartbeat',now);this._callLocalStorage('setItem','peers',cleanedPeers);}}else{peers[this._id]=now;this._callLocalStorage('setItem','peers',peers);}
377var hbPeriod=this._isMasterTab?this.MASTER_TAB_HEARTBEAT_PERIOD:this.TAB_HEARTBEAT_PERIOD;if(this._lastPresenceTime+hbPeriod>now){this._callLocalStorage('setItem','lastPresence',this._lastPresenceTime);}
378this._heartbeatTimeout=setTimeout(this._heartbeat.bind(this),hbPeriod);},_registerWindowUnload:function(){$(window).on('unload.'+this._id,this._onUnload.bind(this));},_startElection:function(){if(this._isMasterTab){return;}
379var now=new Date().getTime();var peers=this._callLocalStorage('getItem','peers',{});var heartbeatKillOld=now-this.HEARTBEAT_KILL_OLD_PERIOD;var newMaster;for(var peerName in peers){if(peers[peerName]<heartbeatKillOld){continue;}
380newMaster=peerName;break;}
381if(newMaster===this._id){this.lastHeartbeat=now;this._callLocalStorage('setItem','heartbeat',this.lastHeartbeat);this._callLocalStorage('setItem','master',true);this._isMasterTab=true;this.startPolling();this.trigger('become_master');delete peers[newMaster];this._callLocalStorage('setItem','peers',peers);}},_onFocusChange:function(params){this._super.apply(this,arguments);this._callLocalStorage('setItem','focus',params.focus);},_onPoll:function(notifications){var notifs=this._super(notifications);if(this._isMasterTab&&notifs.length){this._callLocalStorage('setItem','last',this._lastNotificationID);this._callLocalStorage('setItem','last_ts',new Date().getTime());this._callLocalStorage('setItem','notification',notifs);}},_onStorage:function(e){var value=JSON.parse(e.newValue);var key=e.key;if(this._isRegistered&&key===this._generateKey('master')&&!value){this._startElection();}
382if(key===this._generateKey('last')){this._lastNotificationID=value||0;}
383else if(key===this._generateKey('notification')){if(!this._isMasterTab){this.trigger("notification",value);}}
384else if(key===this._generateKey('channels')){this._channels=value;}
385else if(key===this._generateKey('options')){this._options=value;}
386else if(key===this._generateKey('focus')){this._isOdooFocused=value;this.trigger('window_focus',this._isOdooFocused);}},_onUnload:function(){var peers=this._callLocalStorage('getItem','peers',{});delete peers[this._id];this._callLocalStorage('setItem','peers',peers);if(this._isMasterTab){this._callLocalStorage('removeItem','master');}},});return CrossTabBus;});;
387
388/* /bus/static/src/js/services/bus_service.js defined in bundle 'web.assets_frontend' */
389odoo.define('bus.BusService',function(require){"use strict";var CrossTab=require('bus.CrossTab');var core=require('web.core');var ServicesMixin=require('web.ServicesMixin');var BusService=CrossTab.extend(ServicesMixin,{dependencies:['local_storage'],_audio:null,start:function(){},sendNotification:function(title,content,callback){if(window.Notification&&Notification.permission==="granted"){if(this.isMasterTab()){try{this._sendNativeNotification(title,content,callback);}catch(error){if(error.message.indexOf('ServiceWorkerRegistration')>-1){this.do_notify(title,content);this._beep();}else{throw error;}}}}else{this.do_notify(title,content);if(this.isMasterTab()){this._beep();}}},onNotification:function(){this.on.apply(this,["notification"].concat(Array.prototype.slice.call(arguments)));},_beep:function(){if(typeof(Audio)!=="undefined"){if(!this._audio){this._audio=new Audio();var ext=this._audio.canPlayType("audio/ogg; codecs=vorbis")?".ogg":".mp3";var session=this.getSession();this._audio.src=session.url("/mail/static/src/audio/ting"+ext);}
390this._audio.play();}},_sendNativeNotification:function(title,content,callback){var notification=new Notification(title,{body:content,icon:"/mail/static/src/img/odoobot.png"});notification.onclick=function(){window.focus();if(this.cancel){this.cancel();}else if(this.close){this.close();}
391if(callback){callback();}};},});core.serviceRegistry.add('bus_service',BusService);return BusService;});;
392
393/* /mail/static/src/js/document_viewer.js defined in bundle 'web.assets_frontend' */
394odoo.define('mail.DocumentViewer',function(require){"use strict";var core=require('web.core');var Widget=require('web.Widget');var QWeb=core.qweb;var SCROLL_ZOOM_STEP=0.1;var ZOOM_STEP=0.5;var DocumentViewer=Widget.extend({template:"DocumentViewer",events:{'click .o_download_btn':'_onDownload','click .o_split_btn':'_onSplitPDF','click .o_viewer_img':'_onImageClicked','click .o_viewer_video':'_onVideoClicked','click .move_next':'_onNext','click .move_previous':'_onPrevious','click .o_rotate':'_onRotate','click .o_zoom_in':'_onZoomIn','click .o_zoom_out':'_onZoomOut','click .o_zoom_reset':'_onZoomReset','click .o_close_btn, .o_viewer_img_wrapper':'_onClose','click .o_print_btn':'_onPrint','DOMMouseScroll .o_viewer_content':'_onScroll','mousewheel .o_viewer_content':'_onScroll','keydown':'_onKeydown','keyup':'_onKeyUp','mousedown .o_viewer_img':'_onStartDrag','mousemove .o_viewer_content':'_onDrag','mouseup .o_viewer_content':'_onEndDrag'},init:function(parent,attachments,activeAttachmentID){this._super.apply(this,arguments);this.attachment=_.filter(attachments,function(attachment){var match=attachment.type=='url'?attachment.url.match("(youtu|.png|.jpg|.gif)"):attachment.mimetype.match("(image|video|application/pdf|text)");if(match){attachment.type=match[1];if(match[1].match("(.png|.jpg|.gif)")){attachment.type='image';}
395if(match[1]==='youtu'){var youtube_array=attachment.url.split('/');var youtube_token=youtube_array[youtube_array.length-1];if(youtube_token.indexOf('watch')!==-1){youtube_token=youtube_token.split('v=')[1];var amp=youtube_token.indexOf('&')
396if(amp!==-1){youtube_token=youtube_token.substring(0,amp);}}
397attachment.youtube=youtube_token;}
398return true;}}
398);this.activeAttachment=_.findWhere(attachments,{id:activeAttachmentID});this._reset();},start:function(){this.$el.modal('show');this.$el.on('hidden.bs.modal',_.bind(this._onDestroy,this));this.$('.o_viewer_img').load(_.bind(this._onImageLoaded,this));this.$('[data-toggle="tooltip"]').tooltip({delay:0});return this._super.apply(this,arguments);},destroy:function(){if(this.isDestroyed()){return;}
399this.trigger_up('document_viewer_closed');this.$el.modal('hide');this.$el.remove();this._super.apply(this,arguments);},_next:function(){var index=_.findIndex(this.attachment,this.activeAttachment);index=(index+1)%this.attachment.length;this.activeAttachment=this.attachment[index];this._updateContent();},_previous:function(){var index=_.findIndex(this.attachment,this.activeAttachment);index=index===0?this.attachment.length-1:index-1;this.activeAttachment=this.attachment[index];this._updateContent();},_reset:function(){this.scale=1;this.dragStartX=this.dragstopX=0;this.dragStartY=this.dragstopY=0;},_updateContent:function(){this.$('.o_viewer_content').html(QWeb.render('DocumentViewer.Content',{widget:this}));this.$('.o_viewer_img').load(_.bind(this._onImageLoaded,this));this.$('[data-toggle="tooltip"]').tooltip({delay:0});this._reset();},_getTransform:function(scale,angle){return'scale3d('+scale+', '+scale+', 1) rotate('+angle+'deg)';},_rotate:function(angle){this._reset();var new_angle=(this.angle||0)+angle;this.$('.o_viewer_img').css('transform',this._getTransform(this.scale,new_angle));this.$('.o_viewer_img').css('max-width',new_angle%180!==0?$(document).height():'100%');this.$('.o_viewer_img').css('max-height',new_angle%180!==0?$(document).width():'100%');this.angle=new_angle;},_zoom:function(scale){if(scale>0.5){this.$('.o_viewer_img').css('transform',this._getTransform(scale,this.angle||0));this.scale=scale;}
400this.$('.o_zoom_reset').add('.o_zoom_out').toggleClass('disabled',scale===1);},_onClose:function(e){e.preventDefault();this.destroy();},_onDestroy:function(){this.destroy();},_onDownload:function(e){e.preventDefault();window.location='/web/content/'+this.activeAttachment.id+'?download=true';},_onDrag:function(e){e.preventDefault();if(this.enableDrag){var $image=this.$('.o_viewer_img');var $zoomer=this.$('.o_viewer_zoomer');var top=$image.prop('offsetHeight')*this.scale>$zoomer.height()?e.clientY-this.dragStartY:0;var left=$image.prop('offsetWidth')*this.scale>$zoomer.width()?e.clientX-this.dragStartX:0;$zoomer.css("transform","translate3d("+left+"px, "+top+"px, 0)");$image.css('cursor','move');}},_onEndDrag:function(e){e.preventDefault();if(this.enableDrag){this.enableDrag=false;this.dragstopX=e.clientX-this.dragStartX;this.dragstopY=e.clientY-this.dragStartY;this.$('.o_viewer_img').css('cursor','');}},_onImageClicked:function(e){e.stopPropagation();},_onImageLoaded:function(){this.$('.o_loading_img').hide();},_onKeydown:function(e){switch(e.which){case $.ui.keyCode.RIGHT:e.preventDefault();this._next();break;case $.ui.keyCode.LEFT:e.preventDefault();this._previous();break;}},_onKeyUp:function(e){switch(e.which){case $.ui.keyCode.ESCAPE:e.preventDefault();this._onClose(e);break;}},_onNext:function(e){e.preventDefault();this._next();},_onPrevious:function(e){e.preventDefault();this._previous();},_onPrint:function(e){e.preventDefault();var src=this.$('.o_viewer_img').prop('src');var script=QWeb.render('PrintImage',{src:src});var printWindow=window.open('about:blank',"_new");printWindow.document.open();printWindow.document.write(script);printWindow.document.close();},_onScroll:function(e){var scale;if(e.originalEvent.wheelDelta>0||e.originalEvent.detail<0){scale=this.scale+SCROLL_ZOOM_STEP;this._zoom(scale);}else{scale=this.scale-SCROLL_ZOOM_STEP;this._zoom(scale);}},_onSplitPDF:function(e){e.stopPropagation();var self=this;var indices=$("input[name=Indices]").val();var remainder=$("input[type=checkbox][name=remainder]").is(":checked");this._rpc({model:'ir.attachment',method:'split_pdf',args:[this.activeAttachment.id,indices,remainder],}).always(function(){self.trigger_up('document_viewer_attachment_changed');self.destroy();});},_onStartDrag:function(e){e.preventDefault();this.enableDrag=true;this.dragStartX=e.clientX-(this.dragstopX||0);this.dragStartY=e.clientY-(this.dragstopY||0);},_onVideoClicked:function(e){e.stopPropagation();var videoElement=e.target;if(videoElement.paused){videoElement.play();}else{videoElement.pause();}},_onRotate:function(e){e.preventDefault();this._rotate(90);},_onZoomIn:function(e){e.preventDefault();var scale=this.scale+ZOOM_STEP;this._zoom(scale);},_onZoomOut:function(e){e.preventDefault();var scale=this.scale-ZOOM_STEP;this._zoom(scale);},_onZoomReset:function(e){e.preventDefault();this.$('.o_viewer_zoomer').css("transform","");this._zoom(1);},});return DocumentViewer;});;
401
402/* /mail/static/src/js/thread_widget.js defined in bundle 'web.assets_frontend' */
403odoo.define('mail.widget.Thread',function(require){"use strict";var DocumentViewer=require('mail.DocumentViewer');var mailUtils=require('mail.utils');var core=require('web.core');var time=require('web.time');var Widget=require('web.Widget');var QWeb=core.qweb;var _t=core._t;var _lt=core._lt;var ORDER={ASC:1,DESC:-1,};var READ_MORE=_lt("read more");var READ_LESS=_lt("read less");var ThreadWidget=Widget.extend({className:'o_mail_thread',events:{'click a':'_onClickRedirect','click img':'_onClickRedirect','click strong':'_onClickRedirect','click .o_thread_show_more':'_onClickShowMore','click .o_attachment_download':'_onAttachmentDownload','click .o_attachment_view':'_onAttachmentView','click .o_attachment_delete_cross':'_onDeleteAttachment','click .o_thread_message_needaction':'_onClickMessageNeedaction','click .o_thread_message_star':'_onClickMessageStar','click .o_thread_message_reply':'_onClickMessageReply','click .oe_mail_expand':'_onClickMailExpand','click .o_thread_message':'_onClickMessage','click':'_onClick','click .o_thread_message_email_exception':'_onClickEmailException','click .o_thread_message_email_bounce':'_onClickEmailException','click .o_thread_message_moderation':'_onClickMessageModeration','change .moderation_checkbox':'_onChangeModerationCheckbox',},init:function(parent,options){this._super.apply(this,arguments);this._enabledOptions=_.defaults(options||{},{areMessageAttachmentsDeletable:true,displayOrder:ORDER.ASC,displayMarkAsRead:true,displayModerationCommands:false,displayStars:true,displayDocumentLinks:true,displayAvatars:true,squashCloseMessages:true,displayEmailIcons:true,displayReplyIcons:false,loadMoreOnScroll:false,});this._disabledOptions={areMessageAttachmentsDeletable:false,displayOrder:this._enabledOptions.displayOrder,displayMarkAsRead:false,displayModerationCommands:false,displayStars:false,displayDocumentLinks:false,displayAvatars:this._enabledOptions.displayAvatars,squashCloseMessages:false,displayEmailIcons:false,displayReplyIcons:false,loadMoreOnScroll:this._enabledOptions.loadMoreOnScroll,};this._selectedMessageID=null;this._currentThreadID=null;this._messageMailPopover=null;},destroy:function(){clearInterval(this._updateTimestampsInterval);if(this._messageMailPopover){this._messageMailPopover.popover('hide');}
404this._super();},render:function(thread,options){var self=this;var shouldScrollToBottomAfterRendering=false;if(this._currentThreadID===thread.getID()&&this.isAtBottom()){shouldScrollToBottomAfterRendering=true;}
405this._currentThreadID=thread.getID();var messages=_.clone(thread.getMessages({domain:options.domain||[]}));var modeOptions=options.isCreateMode?this._disabledOptions:this._enabledOptions;this.attachments=_.uniq(_.flatten(_.map(messages,function(message){return message.getAttachments();})));options=_.extend({},modeOptions,options,{selectedMessageID:this._selectedMessageID,});var displayAuthorMessages={};var prevMessage;_.each(messages,function(message){if(!prevMessage||(Math.abs(message.getDate().diff(prevMessage.getDate()))>60000)||prevMessage.getType()!=='comment'||message.getType()!=='comment'||(prevMessage.getAuthorID()!==message.getAuthorID())||((prevMessage.isLinkedToDocumentThread()&&message.isLinkedToDocumentThread())&&(prevMessage.getDocumentModel()!==message.getDocumentModel()||prevMessage.getDocumentID()!==message.getDocumentID())
405)){displayAuthorMessages[message.getID()]=true;}else{displayAuthorMessages[message.getID()]=!options.squashCloseMessages;}
406prevMessage=message;});if(modeOptions.displayOrder===ORDER.DESC){messages.reverse();}
407this.$el.html(QWeb.render('mail.widget.Thread',{thread:thread,displayAuthorMessages:displayAuthorMessages,options:options,ORDER:ORDER,dateFormat:time.getLangDatetimeFormat(),}));if(thread.hasTypingNotification()){this.renderTypingNotificationBar(thread);}
408_.each(messages,function(message){var $message=self.$('.o_thread_message[data-message-id="'+message.getID()+'"]');$message.find('.o_mail_timestamp').data('date',message.getDate());self._insertReadMore($message);});if(shouldScrollToBottomAfterRendering){this.scrollToBottom();}
409if(!this._updateTimestampsInterval){this.updateTimestampsInterval=setInterval(function(){self._updateTimestamps();},1000*60);}
410this._renderMessageMailPopover(messages);},getScrolltop:function(){return this.$el.scrollTop();},isAtBottom:function(){var fullHeight=this.el.scrollHeight;var topHiddenHeight=this.$el.scrollTop();var visibleHeight=this.$el.outerHeight();var bottomHiddenHeight=fullHeight-topHiddenHeight-visibleHeight;return bottomHiddenHeight<5;},removeMessageAndRender:function(messageID,thread,options){var self=this;var done=$.Deferred();this.$('.o_thread_message[data-message-id="'+messageID+'"]').fadeOut({done:function(){self.render(thread,options);done.resolve();},duration:200,});return done;},renderTypingNotificationBar:function(thread){if(this._currentThreadID===thread.getID()){var shouldScrollToBottomAfterRendering=this.isAtBottom();var $typingBar=this.$('.o_thread_typing_notification_bar');var text=thread.getTypingMembersToText();$typingBar.toggleClass('o_hidden',!text);$typingBar.text(text);if(shouldScrollToBottomAfterRendering){this.scrollToBottom();}}},scrollToBottom:function(){this.$el.scrollTop(this.el.scrollHeight);},scrollToMessage:function(options){var $target=this.$('.o_thread_message[data-message-id="'+options.msgID+'"]');if(options.onlyIfNecessary){var delta=$target.parent().height()-$target.height();var offset=delta<0?0:delta-($target.offset().top-$target.offsetParent().offset().top);offset=-Math.min(offset,0);this.$el.scrollTo("+="+offset+"px",options.duration);}else if($target.length){this.$el.scrollTo($target);}},scrollToPosition:function(position){if(position){this.$el.scrollTop(position);}else{this.scrollToBottom();}},toggleModerationCheckboxes:function(checked){this.$('.moderation_checkbox').prop('checked',checked);},unselectMessage:function(){this.$('.o_thread_message').removeClass('o_thread_selected_message');this._selectedMessageID=null;},_insertReadMore:function($element){var self=this;var groups=[];var readMoreNodes;var $children=$element.contents().filter(function(){return this.nodeType===1||this.nodeType===3&&this.nodeValue.trim();});_.each($children,function(child){var $child=$(child);if(child.nodeType===3&&$child.prevAll('[id*="stopSpelling"]').length>0){$child=$('<span>',{text:child.textContent,'data-o-mail-quote':'1',});child.parentNode.replaceChild($child[0],child);}
411if($child.attr('data-o-mail-quote')||($child.get(0).nodeName==='BR'&&$child.prev('[data-o-mail-quote="1"]').length>0)){if(!readMoreNodes){readMoreNodes=[];groups.push(readMoreNodes);}
412$child.hide();readMoreNodes.push($child);}else{readMoreNodes=undefined;self._insertReadMore($child);}});_.each(groups,function(group){var $readMore=$('<a>',{class:'o_mail_read_more',href:'#',text:READ_MORE,}).insertBefore(group[0]);var isReadMore=true;$readMore.click(function(e){e.preventDefault();isReadMore=!isReadMore;_.each(group,function($child){$child.hide();$child.toggle(!isReadMore);});$readMore.text(isReadMore?READ_MORE:READ_LESS);});});},_onDeleteAttachment:function(ev){ev.stopPropagation();var $target=$(ev.currentTarget);this.trigger_up('delete_attachment',{attachmentId:$target.data('id'),attachmentName:$target.data('name')});},_redirect:_.debounce(function(options){if('channelID'in options){this.trigger('redirect_to_channel',options.channelID);}else{this.trigger('redirect',options.model,options.id);}},500,true),_renderMessageMailPopover:function(messages){if(this._messageMailPopover){this._messageMailPopover.popover('hide');}
413if(!this.$('.o_thread_tooltip').length){return;}
414this._messageMailPopover=this.$('.o_thread_tooltip').popover({html:true,boundary:'viewport',placement:'auto',trigger:'hover',offset:'0, 1',content:function(){var messageID=$(this).data('message-id');var message=_.find(messages,function(message){return message.getID()===messageID;});return QWeb.render('mail.widget.Thread.Message.MailTooltip',{data:message.hasCustomerEmailData()?message.getCustomerEmailData():[],});},});},_updateTimestamps:function(){var isAtBottom=this.isAtBottom();this.$('.o_mail_timestamp').each(function(){var date=$(this).data('date');$(this).html(mailUtils.timeFromNow(date));});if(isAtBottom&&!this.isAtBottom()){this.scrollToBottom();}},_onAttachmentDownload:function(event){event.stopPropagation();},_onAttachmentView:function(event){event.stopPropagation();var activeAttachmentID=$(event.currentTarget).data('id');if(activeAttachmentID){var attachmentViewer=new DocumentViewer(this,this.attachments,activeAttachmentID);attachmentViewer.appendTo($('body'));}},_onChangeModerationCheckbox:function(ev){this.trigger_up('update_moderation_buttons');},_onClick:function(){if(this._selectedMessageID){this.unselectMessage();this.trigger('unselect_message');}},_onClickEmailException:function(ev){var messageID=$(ev.currentTarget).data('message-id');this.do_action('mail.mail_resend_message_action',{additional_context:{mail_message_to_resend:messageID}});},_onClickMailExpand:function(ev){ev.preventDefault();},_onClickMessage:function(ev){$(ev.currentTarget).toggleClass('o_thread_selected_message');},_onClickMessageNeedaction:function(ev){var messageID=$(ev.currentTarget).data('message-id');this.trigger('mark_as_read',messageID);},_onClickMessageReply:function(ev){this._selectedMessageID=$(ev.currentTarget).data('message-id');this.$('.o_thread_message').removeClass('o_thread_selected_message');this.$('.o_thread_message[data-message-id="'+this._selectedMessageID+'"]').addClass('o_thread_selected_message');this.trigger('select_message',this._selectedMessageID);ev.stopPropagation();},_onClickMessageStar:function(ev){var messageID=$(ev.currentTarget).data('message-id');this.trigger('toggle_star_status',messageID);},_onClickMessageModeration:function(ev){var $button=$(ev.currentTarget);var messageID=$button.data('message-id');var decision=$button.data('decision');this.trigger_up('message_moderation',{messageID:messageID,decision:decision,});},_onClickRedirect:function(ev){if($(ev.target).data('oe-field')!==undefined){return;}
415var id=$(ev.target).data('oe-id');if(id){ev.preventDefault();var model=$(ev.target).data('oe-model');var options;if(model&&(model!=='mail.channel')){options={model:model,id:id};}else{options={channelID:id};}
416this._redirect(options);}},_onClickShowMore:function(){this.trigger('load_more_messages');},});ThreadWidget.ORDER=ORDER;return ThreadWidget;});;
417
418/* /mail/static/src/js/utils.js defined in bundle 'web.assets_frontend' */
419odoo.define('mail.utils',function(require){"use strict";var core=require('web.core');var _t=core._t;function parseAndTransform(htmlString,transformFunction){var openToken="OPEN"+Date.now();var string=htmlString.replace(/&lt;/g,openToken);var children;try{children=$('<div>').html(string).contents();}catch(e){children=$('<div>').html('<pre>'+string+'</pre>').contents();}
420return _parseAndTransform(children,transformFunction).replace(new RegExp(openToken,"g"),"&lt;");}
421function _parseAndTransform(nodes,transformFunction){return _.map(nodes,function(node){return transformFunction(node,function(){return _parseAndTransform(node.childNodes,transformFunction);});}).join("");}
422var urlRegexp=/\b(?:https?:\/\/\d{1,3}(?:\.\d{1,3}){3}|(?:https?:\/\/|(?:www\.))[-a-z0-9@:%._+~#=]{2,256}\.[a-z]{2,13})\b(?:[-a-z0-9@:%_+.~#?&'$//=;]*)/gi;function linkify(text,attrs){attrs=attrs||{};if(attrs.target===undefined){attrs.target='_blank';}
423attrs=_.map(attrs,function(value,key){return key+'="'+_.escape(value)+'"';}).join(' ');return text.replace(urlRegexp,function(url){var href=(!/^https?:\/\//i.test(url))?"http://"+url:url;return'<a '+attrs+' href="'+href+'">
423'+url+'</a>';});}
424function addLink(node,transformChildren){if(node.nodeType===3){return linkify(node.data);}
425if(node.tagName==="A")return node.outerHTML;node.innerHTML=transformChildren();return node.outerHTML;}
426function stripHTML(node,transformChildren){if(node.nodeType===3)return node.data;if(node.tagName==="BR")return"\n";return transformChildren();}
427function inline(node,transform_children){if(node.nodeType===3)return node.data;if(node.nodeType===8)return"";if(node.tagName==="BR")return" ";if(node.tagName.match(/^(A|P|DIV|PRE|BLOCKQUOTE)$/))return transform_children();node.innerHTML=transform_children();return node.outerHTML;}
428function parseEmail(text){if(text){var result=text.match(/(.*)<(.*@.*)>/);if(result){return[_.str.trim(result[1]),_.str.trim(result[2])];}
429result=text.match(/(.*@.*)/);if(result){return[_.str.trim(result[1]),_.str.trim(result[1])];}
430return[text,false];}}
431function getTextToHTML(text){return text.replace(/((?:https?|ftp):\/\/[\S]+)/g,'<a href="$1">$1</a> ').replace(/[\n\r]/g,'<br/>');}
432var accentedLettersMapping={'a':'[àáâãäå]','ae':'æ','c':'ç','e':'[èéêë]','i':'[ìíîï]','n':'ñ','o':'[òóôõö]','oe':'œ','u':'[ùúûűü]','y':'[ýÿ]',};function unaccent(str){_.each(accentedLettersMapping,function(value,key){str=str.replace(new RegExp(value,'g'),key);});return str;}
433function timeFromNow(date){if(moment().diff(date,'seconds')<45){return _t("now");}
434return date.fromNow();}
435return{addLink:addLink,getTextToHTML:getTextToHTML,inline:inline,linkify:linkify,parseAndTransform:parseAndTransform,parseEmail:parseEmail,stripHTML:stripHTML,timeFromNow:timeFromNow,unaccent:unaccent,};});;
436
437/* /im_livechat/static/src/js/im_livechat.js defined in bundle 'web.assets_frontend' */
438odoo.define('im_livechat.im_livechat',function(require){"use strict";require('bus.BusService');var concurrency=require('web.concurrency');var config=require('web.config');var core=require('web.core');var session=require('web.session');var time=require('web.time');var utils=require('web.utils');var Widget=require('web.Widget');var WebsiteLivechat=require('im_livechat.model.WebsiteLivechat');var WebsiteLivechatMessage=require('im_livechat.model.WebsiteLivechatMessage');var WebsiteLivechatWindow=require('im_livechat.WebsiteLivechatWindow');var _t=core._t;var QWeb=core.qweb;var LIVECHAT_COOKIE_HISTORY='im_livechat_history';var HISTORY_LIMIT=15;var RATING_TO_EMOJI={"10":"😊","5":"😐","1":"😞"};var page=window.location.href.replace(/^.*\/\/[^/]+/,'');var pageHistory=utils.get_cookie(LIVECHAT_COOKIE_HISTORY);var urlHistory=[];if(pageHistory){urlHistory=JSON.parse(pageHistory)||[];}
439if(!_.contains(urlHistory,page)){urlHistory.push(page);while(urlHistory.length>HISTORY_LIMIT){urlHistory.shift();}
440utils.set_cookie(LIVECHAT_COOKIE_HISTORY,JSON.stringify(urlHistory),60*60*24);}
441var LivechatButton=Widget.extend({custom_events:{'close_chat_window':'_onCloseChatWindow','post_message_chat_window':'_onPostMessageChatWindow','save_chat_window':'_onSaveChatWindow','updated_typing_partners':'_onUpdatedTypingPartners','updated_unread_counter':'_onUpdatedUnreadCounter',},events:{'click':'_openChat','click .o_livechat_hide':'_hideChat',},template:'im_livechat.OpenChatButton',init:function(parent,serverURL,options){this._super(parent);this.options=_.defaults(options||{},{input_placeholder:_t("Ask something ..."),default_username:_t("Visitor"),button_text:_t("Chat with one of our collaborators"),default_message:_t("How may I help you?"),});this._history=null;this._livechat=null;this._chatWindow=null;this._messages=[];this._serverURL=serverURL;},willStart:function(){var self=this;var cookie=utils.get_cookie('im_livechat_session');var ready;if(!cookie){ready=session.rpc('/im_livechat/init',{channel_id:this.options.channel_id}).then(function(result){if(!result.available_for_me){return $.Deferred().reject();}
442self._rule=result.rule;});}else{var channel=JSON.parse(cookie);ready=session.rpc('/mail/chat_history',{uuid:channel.uuid,limit:100}).then(function(history){self._history=history;});}
443return ready.then(this._loadQWebTemplate.bind(this));},start:function(){if(this._history){_.each(this._history.reverse(),this._addMessage.bind(this));this._openChat();}else if(!config.device.isMobile&&this._rule.action==='auto_popup'){var autoPopupCookie=utils.get_cookie('im_livechat_auto_popup');if(!autoPopupCookie||JSON.parse(autoPopupCookie)){this._autoPopupTimeout=setTimeout(this._openChat.bind(this),this._rule.auto_popup_t
443imer*1000);}}
444this.call('bus_service','onNotification',this,this._onNotification);return this._super();},_addMessage:function(data,options){options=_.extend({},this.options,options,{serverURL:this._serverURL,});var message=new WebsiteLivechatMessage(this,data,options);var hasAlreadyMessage=_.some(this._messages,function(msg){return message.getID()===msg.getID();});if(hasAlreadyMessage){return;}
445if(this._livechat){this._livechat.addMessage(message);}
446if(options&&options.prepend){this._messages.unshift(message);}else{this._messages.push(message);}},_askFeedback:function(){this._chatWindow.$('.o_thread_composer input').prop('disabled',true);var feedback=new Feedback(this,this._livechat);this._chatWindow.replaceContentWith(feedback);feedback.on('send_message',this,this._sendMessage);feedback.on('feedback_sent',this,this._closeChat);},_hideChat:function(ev){ev.stopPropagation();this.$el.hide();},_closeChat:function(){this._chatWindow.destroy();utils.set_cookie('im_livechat_session',"",-1);},_handleNotification:function(notification){if(this._livechat&&(notification[0]===this._livechat.getUUID())){if(notification[1]._type==='history_command'){var cookie=utils.get_cookie(LIVECHAT_COOKIE_HISTORY);var history=cookie?JSON.parse(cookie):[];session.rpc('/im_livechat/history',{pid:this._livechat.getOperatorPID()[0],channel_uuid:this._livechat.getUUID(),page_history:history,});}else if(notification[1].info==='typing_status'){var isWebsiteUser=notification[1].is_website_user;if(isWebsiteUser){return;}
447var partnerID=notification[1].partner_id;if(notification[1].is_typing){this._livechat.registerTyping({partnerID:partnerID});}else{this._livechat.unregisterTyping({partnerID:partnerID});}}else{this._addMessage(notification[1]);this._renderMessages();if(this._chatWindow.isFolded()||!this._chatWindow.isAtBottom()){this._livechat.incrementUnreadCounter();}}}},_loadQWebTemplate:function(){var xml_files=['/mail/static/src/xml/abstract_thread_window.xml','/mail/static/src/xml/thread.xml','/im_livechat/static/src/xml/im_livechat.xml'];var defs=_.map(xml_files,function(tmpl){return session.rpc('/web/proxy/load',{path:tmpl}).then(function(xml){QWeb.add_template(xml);});});return $.when.apply($,defs);},_openChat:_.debounce(function(){if(this._openingChat){return;}
448var self=this;var cookie=utils.get_cookie('im_livechat_session');var def;this._openingChat=true;clearTimeout(this._autoPopupTimeout);if(cookie){def=$.when(JSON.parse(cookie));}else{this._messages=[];def=session.rpc('/im_livechat/get_session',{channel_id:this.options.channel_id,anonymous_name:this.options.default_username,},{shadow:true});}
449def.then(function(livechatData){if(!livechatData||!livechatData.operator_pid){alert(_t("None of our collaborators seems to be available, please try again later."));}else{self._livechat=new WebsiteLivechat({parent:self,data:livechatData});self._openChatWindow();self._sendWelcomeMessage();self._renderMessages();self.call('bus_service','addChannel',self._livechat.getUUID());self.call('bus_service','startPolling');utils.set_cookie('im_livechat_session',JSON.stringify(self._livechat.toData()),60*60);utils.set_cookie('im_livechat_auto_popup',JSON.stringify(false),60*60);}}).always(function(){self._openingChat=false;});},200,true),_openChatWindow:function(){var self=this;var options={displayStars:false,placeholder:this.options.input_placeholder||"",};this._chatWindow=new WebsiteLivechatWindow(this,this._livechat,options);this._chatWindow.appendTo($('body')).then(function(){var cssProps={bottom:0};cssProps[_t.database.parameters.direction==='rtl'?'left':'right']=0;self._chatWindow.$el.css(cssProps);self.$el.hide();});},_renderMessages:function(){var shouldScroll=!this._chatWindow.isFolded()&&this._chatWindow.isAtBottom();this._livechat.setMessages(this._messages);this._chatWindow.render();if(shouldScroll){this._chatWindow.scrollToBottom();}},_sendMessage:function(message){var self=this;return session.rpc('/mail/chat_post',{uuid:this._livechat.getUUID(),message_content:message.content}).then(function(){self._chatWindow.scrollToBottom();});},_sendWelcomeMessage:function(){if(this.options.default_message){this._addMessage({id:'_welcome',attachment_ids:[],author_id:this._livechat.getOperatorPID(),body:this.options.default_message,channel_ids:[this._livechat.getID()],date:time.datetime_to_str(new Date()),tracking_value_ids:[],},{prepend:true});}},_onCloseChatWindow:function(ev){ev.stopPropagation();var isComposerDisabled=this._chatWindow.$('.o_thread_composer input').prop('disabled');var shouldAskFeedback=!isComposerDisabled&&_.find(this._messages,function(message){return message.getID()!=='_welcome';});if(shouldAskFeedback){this._chatWindow.toggleFold(false);this._askFeedback();}else{this._closeChat();}},_onNotification:function(notifications){var self=this;_.each(notifications,function(notification){self._handleNotification(notification);});},_onPostMessageChatWindow:function(ev){ev.stopPropagation();var self=this;var messageData=ev.data.messageData;this._sendMessage(messageData).fail(function(error,e){e.preventDefault();return self._sendMessage(messageData);});},_onSaveChatWindow:function(ev){ev.stopPropagation();utils.set_cookie('im_livechat_session',JSON.stringify(this._livechat.toData()),60*60);},_onUpdatedTypingPartners:function(ev){ev.stopPropagation();this._chatWindow.renderTypingNotificationBar();},_onUpdatedUnreadCounter:function(ev){ev.stopPropagation();this._chatWindow.renderHeader();},});var Feedback=Widget.extend({template:'im_livechat.FeedBack',events:{'click .o_livechat_rating_choices img':'_onClickSmiley','click .o_livechat_no_feedback span':'_onClickNoFeedback','click .o_rating_submit_button':'_onClickSend',},init:function(parent,livechat){this._super(parent);this._livechat=livechat;this.server_origin=session.origin;this.rating=undefined;this.dp=new concurrency.DropPrevious();},_sendFeedback:function(options){var self=this;var args={uuid:this._livechat.getUUID(),rate:this.rating,reason:options.reason};this.dp.add(session.rpc('/im_livechat/feedback',args)).then(function(){if(options.close){var emoji=RATING_TO_EMOJI[self.rating]||"??";var content=_.str.sprintf(_t("Rating: %s"),emoji);if(options.reason){content+=" \n"+options.reason;}
450self.trigger('send_message',{content:content});self.trigger('feedback_sent');}});},_onClickNoFeedback:function(){this.trigger('feedback_sent');},_onClickSend:function(){if(_.isNumber(this.rating)){this._sendFeedback({reason:this.$('textarea').val(),close:true});}},_onClickSmiley:function(ev){this.rating=parseInt($(ev.currentTarget).data('value'));this.$('.o_livechat_rating_choices img').removeClass('selected');this.$('.o_livechat_rating_choices img[data-value="'+this.rating+'"]').addClass('selected');var shouldCloseChatWindow=false;if(this.rating!==10){this.$('.o_livechat_rating_reason').show();}else{this.$('.o_livechat_rating_reason').hide();shouldCloseChatWindow=true;}
451this._sendFeedback({close:shouldCloseChatWindow});},});return{LivechatButton:LivechatButton,Feedback:Feedback,};});;
452
453/* /mail/static/src/js/models/threads/abstract_thread.js defined in bundle 'web.assets_frontend' */
454odoo.define('mail.model.AbstractThread',function(require){"use strict";var Class=require('web.Class');var Mixins=require('web.mixins');var AbstractThread=Class.extend(Mixins.EventDispatcherMixin,{init:function(params){Mixins.EventDispatcherMixin.init.call(this,arguments);this.setParent(params.parent);this._folded=false;this._id=params.data.id;this._name=params.data.name;this._status=params.data.status||'';this._unreadCounter=0;},addMessage:function(message){this._addMessage.apply(this,arguments);this.trigger('message_added',message);},fold:function(folded){this._folded=folded;},getID:function(){return this._id;},getMessages:function(){},getName:function(){return this._name;},getStatus:function(){return this._status;},getTitle:function(){return this.getName();},getUnreadCounter:function(){return this._unreadCounter;},hasMessages:function(){return!_.isEmpty(this.getMessages());},hasTypingNotification:function(){return false;},isFolded:function(){return this._folded;},markAsRead:function(){if(this._unreadCounter>0){return this._markAsRead();}
455return $.when();},postMessage:function(){return this._postMessage.apply(this,arguments).then(this.trigger.bind(this,'message_posted'));},resetUnreadCounter:function(){this._unreadCounter=0;this._warnUpdatedUnreadCounter();},_addMessage:function(message){},_incrementUnreadCounter:function(){this._unreadCounter++;},_markAsRead:function(){this.resetUnreadCounter();return $.when();},_postMessage:function(){return $.when();},_warnUpdatedUnreadCounter:function(){},});return AbstractThread;});;
456
457/* /im_livechat/static/src/js/models/website_livechat.js defined in bundle 'web.assets_frontend' */
458odoo.define('im_livechat.model.WebsiteLivechat',function(require){"use strict";var AbstractThread=require('mail.model.AbstractThread');var ThreadTypingMixin=require('mail.model.ThreadTypingMixin');var session=require('web.session');var WebsiteLivechat=AbstractThread.extend(ThreadTypingMixin,{init:function(params){this._super.apply(this,arguments);ThreadTypingMixin.init.call(this,arguments);this._members=[];this._operatorPID=params.data.operator_pid;this._uuid=params.data.uuid;if(params.data.message_unread_counter!==undefined){this._unreadCounter=params.data.message_unread_counter;}
459if(_.isBoolean(params.data.folded)){this._folded=params.data.folded;}else{this._folded=params.data.state==='folded';}
460this._members.push({id:this._operatorPID[0],name:this._operatorPID[1]});},getMessages:function(){return this._messages;},getOperatorPID:function(){return this._operatorPID;},getUUID:function(){return this._uuid;},incrementUnreadCounter:function(){this._incrementUnreadCounter();},setMessages:function(messages){this._messages=messages;},toData:function(){return{folded:this.isFolded(),id:this.getID(),message_unread_counter:this.getUnreadCounter(),operator_pid:this.getOperatorPID(),name:this.getName(),uuid:this.getUUID(),};},_isTypingMyselfInfo:function(params){return params.isWebsiteUser;},_notifyMyselfTyping:function(params){return session.rpc('/im_livechat/notify_typing',{uuid:this.getUUID(),is_typing:params.typing,},{shadow:true});},_warnUpdatedTypingPartners:function(){this.trigger_up('updated_typing_partners');},_warnUpdatedUnreadCounter:function(){this.trigger_up('updated_unread_counter');},_onTypingMessageAdded:function(message){var operatorID=this.getOperatorPID()[0];if(message.hasAuthor()&&message.getAuthorID()===operatorID){this.unregisterTyping({partnerID:operatorID});}},});return WebsiteLivechat;});;
461
462/* /mail/static/src/js/models/threads/thread_typing_mixin/thread_typing_mixin.js defined in bundle 'web.assets_frontend' */
463odoo.define('mail.model.ThreadTypingMixin',function(require){"use strict";var CCThrottleFunction=require('mail.model.CCThrottleFunction');var Timer=require('mail.model.Timer');var Timers=require('mail.model.Timers');var core=require('web.core');var _t=core._t;var ThreadTypingMixin={_DEFAULT_TYPING_PARTNER_ID:'_default',_DEFAULT_TYPING_PARTNER_NAME:'Someone',init:function(){this._lastNotifiedMyselfTyping=false;this._myselfLongTypingTimer=new Timer({duration:50*1000,onTimeout:this._onMyselfLongTypingTimeout.bind(this),});this._myselfTypingInactivityTimer=new Timer({duration:5*1000,onTimeout:this._onMyselfTypingInactivityTimeout.bind(this),});this._othersTypingTimers=new Timers({duration:60*1000,onTimeout:this._onOthersTypingTimeout.bind(this),});this._throttleNotifyMyselfTyping=CCThrottleFunction({duration:2.5*1000,func:this._onNotifyMyselfTyping.bind(this),});this._typingPartnerIDs=[];this.on('message_added',this,this._onTypingMessageAdded);this.on('message_posted',this,this._onTypingMessagePosted);},getTypingMembersToText:function(){var typingPartnerIDs=this._typingPartnerIDs;var typingMembers=_.filter(this._members,function(member){return _.contains(typingPartnerIDs,member.id);});var sortedTypingMembers=_.sortBy(typingMembers,function(member){return _.indexOf(typingPartnerIDs,member.id);});var displayableTypingMembers=sortedTypingMembers.slice(0,3);if(displayableTypingMembers.length===0){return'';}else if(displayableTypingMembers.length===1){return _.str.sprintf(_t("%s is typing..."),displayableTypingMembers[0].name);}else if(displayableTypingMembers.length===2){return _.str.sprintf(_t("%s and %s are typing..."),displayableTypingMembers[0].name,displayableTypingMembers[1].name);}else{return _.str.sprintf(_t("%s, %s and more are typing..."),displayableTypingMembers[0].name,displayableTypingMembers[1].name);}},hasTypingNotification:function(){return true;},registerTyping:function(params){if(this._isTypingMyselfInfo(params)){return;}
464this._othersTypingTimers.registerTimer({timeoutCallbackArguments:[params.partnerID],timerID:params.partnerID,});this._typingPartnerIDs.push(params.partnerID);this._warnUpdatedTypingPartners();},setMyselfTyping:function(params){var typing=params.typing;if(this._lastNotifiedMyselfTyping===typing){this._throttleNotifyMyselfTyping.cancel();}else{this._throttleNotifyMyselfTyping(params);}
465if(typing){this._myselfTypingInactivityTimer.reset();}else{this._myselfTypingInactivityTimer.clear();}},unregisterTyping:function(params){var partnerID=params.partnerID;this._othersTypingTimers.unregisterTimer({timerID:partnerID});this._typingPartnerIDs=_.reject(this._typingPartnerIDs,function(id){return id===partnerID;});this._warnUpdatedTypingPartners();},_isTypingMyselfInfo:function(params){return false;},_notifyMyselfTyping:function(params){return $.when();},_warnUpdatedTypingPartners:function(){},_onMyselfLongTypingTimeout:function(){this._throttleNotifyMyselfTyping.clear();this._throttleNotifyMyselfTyping({typing:true});},_onMyselfTypingInactivityTimeout:function(){this._throttleNotifyMyselfTyping.clear();this._throttleNotifyMyselfTyping({typing:false});},_onNotifyMyselfTyping:function(params){var typing=params.typing;this._lastNotifiedMyselfTyping=typing;this._notifyMyselfTyping(params);if(typing){this._myselfLongTypingTimer.reset();}else{this._myselfLongTypingTimer.clear();}},_onOthersTypingTimeout:function(partnerID){this.unregisterTyping({partnerID:partnerID});},_onTypingMessageAdded:function(message){var partnerID=message.hasAuthor()?message.getAuthorID():this._DEFAULT_TYPING_PARTNER_ID;this.unregisterTyping({partnerID:partnerID});},_onTypingMessagePosted:function(){this._lastNotifiedMyselfTyping=false;this._throttleNotifyMyselfTyping.clear();this._myselfLongTypingTimer.clear();this._myselfTypingInactivityTimer.clear();},};return ThreadTypingMixin;});;
466
467/* /mail/static/src/js/models/threads/thread_typing_mixin/timer.js defined in bundle 'web.assets_frontend' */
468odoo.define('mail.model.Timer',function(require){"use strict";var Class=require('web.Class');var Timer=Class.extend({init:function(params){this._duration=params.duration;this._timeout=undefined;this._timeoutCallback=params.onTimeout;},clear:function(){clearTimeout(this._timeout);},reset:function(){this.clear();this.start();},start:function(){this._timeout=setTimeout(this._onTimeout.bind(this),this._duration);},_onTimeout:function(){this._timeoutCallback();},});return Timer;});;
469
470/* /mail/static/src/js/models/threads/thread_typing_mixin/timers.js defined in bundle 'web.assets_frontend' */
471odoo.define('mail.model.Timers',function(require){"use strict";var Timer=require('mail.model.Timer');var Class=require('web.Class');var Timers=Class.extend({init:function(params){this._duration=params.duration;this._timeoutCallback=params.onTimeout;this._timers={};},registerTimer:function(params){var timerID=params.timerID;if(this._timers[timerID]){this._timers[timerID].clear();}
472var timerParams={duration:this._duration,onTimeout:this._timeoutCallback,};if('timeoutCallbackArguments'in params){timerParams.onTimeout=this._timeoutCallback.bind.apply(this._timeoutCallback,[null].concat(params.timeoutCallbackArguments));}else{timerParams.onTimeout=this._timeoutCallback;}
473this._timers[timerID]=new Timer(timerParams);this._timers[timerID].start();},unregisterTimer:function(params){var timerID=params.timerID;if(this._timers[timerID]){this._timers[timerID].clear();delete this._timers[timerID];}},});return Timers;});;
474
475/* /mail/static/src/js/models/threads/thread_typing_mixin/cc_throttle_function.js defined in bundle 'web.assets_frontend' */
476odoo.define('mail.model.CCThrottleFunctionObject',function(require){"use strict";var Class=require('web.Class');var CCThrottleFunctionObject=Class.extend({init:function(params){this._arguments=undefined;this._cooldownTimeout=undefined;this._duration=params.duration;this._func=params.func;this._shouldCallFunctionAfterCD=false;},cancel:function(){this._arguments=undefined;this._shouldCallFunctionAfterCD=false;},clear:function(){if(this._cooldownTimeout){clearTimeout(this._cooldownTimeout);this._onCooldownTimeout();}},do:function(){this._arguments=Array.prototype.slice.call(arguments);if(this._cooldownTimeout===undefined){this._callFunction();}else{this._shouldCallFunctionAfterCD=true;}},_callFunction:function(){this._func.apply(null,this._arguments);this._cooldown();},_cooldown:function(){this.cancel();this._cooldownTimeout=setTimeout(this._onCooldownTimeout.bind(this),this._duration);},_onCooldownTimeout:function(){if(this._shouldCallFunctionAfterCD){this._callFunction();}else{this._cooldownTimeout=undefined;}},});return CCThrottleFunctionObject;});odoo.define('mail.model.CCThrottleFunction',function(require){"use strict";var CCThrottleFunctionObject=require('mail.model.CCThrottleFunctionObject');var CCThrottleFunction=function(params){var duration=params.duration;var func=params.func;
476var throttleFunctionObject=new CCThrottleFunctionObject({duration:duration,func:func,});var callable=function(){return throttleFunctionObject.do.apply(throttleFunctionObject,arguments);};callable.cancel=function(){throttleFunctionObject.cancel();};callable.clear=function(){throttleFunctionObject.clear();};return callable;};return CCThrottleFunction;});;
477
478/* /mail/static/src/js/models/messages/abstract_message.js defined in bundle 'web.assets_frontend' */
479odoo.define('mail.model.AbstractMessage',function(require){"use strict";var mailUtils=require('mail.utils');var Class=require('web.Class');var core=require('web.core');var session=require('web.session');var time=require('web.time');var _t=core._t;var AbstractMessage=Class.extend({init:function(parent,data){this._attachmentIDs=data.attachment_ids||[];this._body=data.body||"";this._date=data.date?moment(time.str_to_datetime(data.date)):moment();this._id=data.id;this._isDiscussion=data.is_discussion;this._isNotification=data.is_notification;this._serverAuthorID=data.author_id;this._type=data.message_type||undefined;this._processAttachmentURL();this._attachmentIDs.forEach(function(attachment){attachment.filename=attachment.filename||attachment.name||_t("unnamed");});},getAttachments:function(){return this._attachmentIDs;},getAuthorID:function(){if(!this.hasAuthor()){return-1;}
480return this._serverAuthorID[0];},getAvatarSource:function(){},getBody:function(){return this._body;},getDate:function(){return this._date;},getDateDay:function(){var date=this.getDate().format('YYYY-MM-DD');if(date===moment().format('YYYY-MM-DD')){return _t("Today");}else if(date===moment().subtract(1,'days').format('YYYY-MM-DD')){return _t("Yesterday");}
481return this.getDate().format('LL');},getDisplayedAuthor:function(){return this.hasAuthor()?this._getAuthorName():null;},getID:function(){return this._id;},getImageAttachments:function(){return _.filter(this.getAttachments(),function(attachment){return attachment.mimetype&&attachment.mimetype.split('/')[0]==='image';});},getNonImageAttachments:function(){return _.difference(this.getAttachments(),this.getImageAttachments());},getTimeElapsed:function(){return mailUtils.timeFromNow(this.getDate());},getType:function(){return this._type;},hasAttachments:function(){return this.getAttachments().length>0;},hasAuthor:function(){return!!(this._serverAuthorID&&this._serverAuthorID[0]);},hasCustomerEmailData:function(){return false;},hasEmailFrom:function(){return false;},hasImageAttachments:function(){return _.some(this.getAttachments(),function(attachment){return attachment.mimetype&&attachment.mimetype.split('/')[0]==='image';});},hasNonImageAttachments:function(){return _.some(this.getAttachments(),function(attachment){return!(attachment.mimetype&&attachment.mimetype.split('/')[0]==='image');});},originatesFromChannel:function(){return false;},hasSubject:function(){return false;},hasSubtypeDescription:function(){return false;},hasTrackingValues:function(){return false;},isDiscussion:function(){return this._isDiscussion;},isLinkedToDocumentThread:function(){return false;},isNeedaction:function(){return false;},isNote:function(){return this._isNote;},isNotification:function(){return this._isNotification;},isStarred:function(){return false;},isSystemNotification:function(){return false;},needsModeration:function(){return false;},removeAttachments:function(attachmentIDs){this._attachmentIDs=_.reject(this._attachmentIDs,function(attachment){return _.contains(attachmentIDs,attachment.id);});},shouldRedirectToAuthor:function(){return!this._isMyselfAuthor();},_getAuthorName:function(){if(!this.hasAuthor()){return"";}
482return this._serverAuthorID[1];},_isMyselfAuthor:function(){return this.hasAuthor()&&(this.getAuthorID()===session.partner_id);},_processAttachmentURL:function(){_.each(this.getAttachments(),function(attachment){attachment.url='/web/content/'+attachment.id+'?download=true';});},});return AbstractMessage;});;
483
484/* /im_livechat/static/src/js/models/website_livechat_message.js defined in bundle 'web.assets_frontend' */
485odoo.define('im_livechat.model.WebsiteLivechatMessage',function(require){"use strict";var AbstractMessage=require('mail.model.AbstractMessage');var WebsiteLivechatMessage=AbstractMessage.extend({init:function(parent,data,options){this._super.apply(this,arguments);this._defaultUsername=options.default_username;this._serverURL=options.serverURL;},getAvatarSource:function(){var source=this._serverURL;if(this.hasAuthor()){source+='/web/image/res.partner/'+this.getAuthorID()+'/image_small';}else{source+='/mail/static/src/img/smiley/avatar.jpg';}
486return source;},getDisplayedAuthor:function(){return this._super.apply(this,arguments)||this._defaultUsername;},});return WebsiteLivechatMessage;});;
487
488/* /nakivo_calculator/static/src/lib/jquery-ui.min.js defined in bundle 'web.assets_frontend' */
489(function(t){"function"==typeof define&&define.amd?define(["jquery"],t):t(jQuery)})(function(t){t.ui=t.ui||{},t.ui.version="1.12.1";var e=0,i=Array.prototype.slice;t.cleanData=function(e){return function(i){var s,n,o;for(o=0;null!=(n=i[o]);o++)try{s=t._data(n,"events"),s&&s.remove&&t(n).triggerHandler("remove")}catch(a){}e(i)}}(t.cleanData),t.widget=function(e,i,s){var n,o,a,r={},l=e.split(".")[0];e=e.split(".")[1];var h=l+"-"+e;return s||(s=i,i=t.Widget),t.isArray(s)&&(s=t.extend.apply(null,[{}].concat(s))),t.expr[":"][h.toLowerCase()]=function(e){return!!t.data(e,h)},t[l]=t[l]||{},n=t[l][e],o=t[l][e]=function(t,e){return this._createWidget?(arguments.length&&this._createWidget(t,e),void 0):new o(t,e)},t.extend(o,n,{version:s.version,_proto:t.extend({},s),_childConstructors:[]}),a=new i,a.options=t.widget.extend({},a.options),t.each(s,function(e,s){return t.isFunction(s)?(r[e]=function(){function t(){return i.prototype[e].apply(this,arguments)}function n(t){return i.prototype[e].apply(this,t)}return function(){var e,i=this._super,o=this._superApply;return this._super=t,this._superApply=n,e=s.apply(this,arguments),this._super=i,this._superApply=o,e}}(),void 0):(r[e]=s,void 0)}),o.prototype=t.widget.extend(a,{widgetEventPrefix:n?a.widgetEventPrefix||e:e},r,{constructor:o,namespace:l,widgetName:e,widgetFullName:h}),n?(t.each(n._childConstructors,function(e,i){var s=i.prototype;t.widget(s.namespace+"."+s.widgetName,o,i._proto)}),delete n._childConstructors):i._childConstructors.push(o),t.widget.bridge(e,o),o}
vendor: 4,241 bytes, line 489
489,t.widget.extend=function(e){for(var s,n,o=i.call(arguments,1),a=0,r=o.length;r>a;a++)for(s in o[a])n=o[a][s],o[a].hasOwnProperty(s)&&void 0!==n&&(e[s]=t.isPlainObject(n)?t.isPlainObject(e[s])?t.widget.extend({},e[s],n):t.widget.extend({},n):n);return e},t.widget.bridge=function(e,s){var n=s.prototype.widgetFullName||e;t.fn[e]=function(o){var a="string"==typeof o,r=i.call(arguments,1),l=this;return a?this.length||"instance"!==o?this.each(function(){var i,s=t.data(this,n);return"instance"===o?(l=s,!1):s?t.isFunction(s[o])&&"_"!==o.charAt(0)?(i=s[o].apply(s,r),i!==s&&void 0!==i?(l=i&&i.jquery?l.pushStack(i.get()):i,!1):void 0):t.error("no such method '"+o+"' for "+e+" widget instance"):t.error("cannot call methods on "+e+" prior to initialization; "+"attempted to call method '"+o+"'")}):l=void 0:(r.length&&(o=t.widget.extend.apply(null,[o].concat(r))),this.each(function(){var e=t.data(this,n);e?(e.option(o||{}),e._init&&e._init()):t.data(this,n,new s(o,this))})),l}},t.Widget=function(){},t.Widget._childConstructors=[],t.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{classes:{},disabled:!1,create:null},_createWidget:function(i,s){s=t(s||this.defaultElement||this)[0],this.element=t(s),this.uuid=e++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=t(),this.hoverable=t(),this.focusable=t(),this.classesElementLookup={},s!==this&&(t.data(s,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===s&&this.destroy()}}),this.document=t(s.style?s.ownerDocument:s.document||s),this.window=t(this.document[0].defaultView||this.document[0].parentWindow)),this.options=t.widget.extend({},this.options,this._getCreateOptions(),i),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:t.noop,_create:t.noop,_init:t.noop,destroy:function(){var e=this;this._destroy(),t.each(this.classesElementLookup,function(t,i){e._removeClass(i,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:t.noop,widget:function(){return this.element},option:function(e,i){var s,n,o,a=e;if(0===arguments.length)return t.widget.extend({},this.options);if("string"==typeof e)if(a={},s=e.split("."),e=s.shift(),s.length){for(n=a[e]=t.widget.extend({},this.options[e]),o=0;s.length-1>o;o++)n[s[o]]=n[s[o]]||{},n=n[s[o]];if(e=s.pop(),1===arguments.length)return void 0===n[e]?null:n[e];n[e]=i}else{if(1===arguments.length)return void 0===this.options[e]?null:this.options[e];a[e]=i}return this._setOptions(a),this},_setOptions:function(t){var e;for(e in t)this._setOption(e,t[e]);return this},_setOption:function(t,e){return"classes"===t&&this._setOptionClasses(e),this.options[t]=e,"disabled"===t&&this._setOptionDisabled(e),this},_setOptionClasses:function(e){var i,s,n;for(i in e)n=this.classesElementLookup[i],e[i]!==this.options.classes[i]&&n&&n.length&&(s=t(n.get()),this._removeClass(n,i),s.addClass(this._classes({element:s,keys:i,classes:e,add:!0})))},_setOptionDisabled:function(t){this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!!t),t&&(this._removeClass(this.hoverable,null,"ui-state-hover"),this._removeClass(this.focusable,null,"ui-state-focus"))},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_classes:function(e){function i(i,o){var a,r;for(r=0;i.length>r;r++)a=n.classesElementLookup[i[r]]||t(),a=e.add?t(t.unique(a.get().concat(e.element.get()))):t(a.not(e.element).get()),n.classesElementLookup[i[r]]=a,s.push(i[r]),o&&e.classes[i[r]]&&s.push(e.classes[i[r]])}var s=[],n=this;return e=t.extend({element:this.element,classes:this.options.classes||{}},e),this._on(e.element,{remove:"_untrackClassesElement"}),e.keys&&i(e.keys.match(/\S+/g)||[],!0),e.extra&&i(e.extra.match(/\S+/g)||[]),s.join(" ")},_untrackClassesElement:function(e){var i=this;t.each(i.classesElementLookup,function(s,n){-1!==t.inArray(e.target,n)&&(i.classesElementLookup[s]=t(n.not(e.target).get()))})}
vendor: 6,106 bytes, line 489
489,_removeClass:function(t,e,i){return this._toggleClass(t,e,i,!1)},_addClass:function(t,e,i){return this._toggleClass(t,e,i,!0)},_toggleClass:function(t,e,i,s){s="boolean"==typeof s?s:i;var n="string"==typeof t||null===t,o={extra:n?e:i,keys:n?t:e,element:n?this.element:t,add:s};return o.element.toggleClass(this._classes(o),s),this},_on:function(e,i,s){var n,o=this;"boolean"!=typeof e&&(s=i,i=e,e=!1),s?(i=n=t(i),this.bindings=this.bindings.add(i)):(s=i,i=this.element,n=this.widget()),t.each(s,function(s,a){function r(){return e||o.options.disabled!==!0&&!t(this).hasClass("ui-state-disabled")?("string"==typeof a?o[a]:a).apply(o,arguments):void 0}"string"!=typeof a&&(r.guid=a.guid=a.guid||r.guid||t.guid++);var l=s.match(/^([\w:-]*)\s*(.*)$/),h=l[1]+o.eventNamespace,u=l[2];u?n.on(h,u,r):i.on(h,r)})},_off:function(e,i){i=(i||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,e.off(i).off(i),this.bindings=t(this.bindings.not(e).get()),this.focusable=t(this.focusable.not(e).get()),this.hoverable=t(this.hoverable.not(e).get())},_delay:function(t,e){function i(){return("string"==typeof t?s[t]:t).apply(s,arguments)}var s=this;return setTimeout(i,e||0)},_hoverable:function(e){this.hoverable=this.hoverable.add(e),this._on(e,{mouseenter:function(e){this._addClass(t(e.currentTarget),null,"ui-state-hover")},mouseleave:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-hover")}})},_focusable:function(e){this.focusable=this.focusable.add(e),this._on(e,{focusin:function(e){this._addClass(t(e.currentTarget),null,"ui-state-focus")},focusout:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-focus")}})},_trigger:function(e,i,s){var n,o,a=this.options[e];if(s=s||{},i=t.Event(i),i.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase(),i.target=this.element[0],o=i.originalEvent)for(n in o)n in i||(i[n]=o[n]);return this.element.trigger(i,s),!(t.isFunction(a)&&a.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented())}},t.each({show:"fadeIn",hide:"fadeOut"},function(e,i){t.Widget.prototype["_"+e]=function(s,n,o){"string"==typeof n&&(n={effect:n});var a,r=n?n===!0||"number"==typeof n?i:n.effect||i:e;n=n||{},"number"==typeof n&&(n={duration:n}),a=!t.isEmptyObject(n),n.complete=o,n.delay&&s.delay(n.delay),a&&t.effects&&t.effects.effect[r]?s[e](n):r!==e&&s[r]?s[r](n.duration,n.easing,o):s.queue(function(i){t(this)[e](),o&&o.call(s[0]),i()})}}),t.widget,t.ui.keyCode={BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38},t.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase());var s=!1;t(document).on("mouseup",function(){s=!1}),t.widget("ui.mouse",{version:"1.12.1",options:{cancel:"input, textarea, button, select, option",distance:1,delay:0},_mouseInit:function(){var e=this;this.element.on("mousedown."+this.widgetName,function(t){return e._mouseDown(t)}).on("click."+this.widgetName,function(i){return!0===t.data(i.target,e.widgetName+".preventClickEvent")?(t.removeData(i.target,e.widgetName+".preventClickEvent"),i.stopImmediatePropagation(),!1):void 0}),this.started=!1},_mouseDestroy:function(){this.element.off("."+this.widgetName),this._mouseMoveDelegate&&this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(e){if(!s){this._mouseMoved=!1,this._mouseStarted&&this._mouseUp(e),this._mouseDownEvent=e;var i=this,n=1===e.which,o="string"==typeof this.options.cancel&&e.target.nodeName?t(e.target).closest(this.options.cancel).length:!1;return n&&!o&&this._mouseCapture(e)?(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){i.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(e)!==!1,!this._mouseStarted)?(e.preventDefault(),!0):(!0===t.data(e.target,this.widgetName+".preventClickEvent")&&t.removeData(e.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(t){return i._mouseMove(t)},this._mouseUpDelegate=function(t){return i._mouseUp(t)},this.document.on("mousemove."+this.widgetName,this._mouseMoveDelegate).on("mouseup."+this.widgetName,this._mouseUpDelegate),e.preventDefault(),s=!0,!0)):!0}},_mouseMove:function(e){if(this._mouseMoved){if(t.ui.ie&&(!document.documentMode||9>document.documentMode)&&!e.button)return this._mouseUp(e);if(!e.which)if(e.originalEvent.altKey||e.originalEvent.ctrlKey||e.originalEvent.metaKey||e.originalEvent.shiftKey)this.ignoreMissingWhich=!0;else if(!this.ignoreMissingWhich)return this._mouseUp(e)}return(e.which||e.button)&&(this._mouseMoved=!0),this._mouseStarted?(this._mouseDrag(e),e.preventDefault()):(this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,e)!==!1,this._mouseStarted?this._mouseDrag(e):this._mouseUp(e)),!this._mouseStarted)},_mouseUp:function(e){this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,e.target===this._mouseDownEvent.target&&t.data(e.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(e)),this._mouseDelayTimer&&(clearTimeout(this._mouseDelayTimer),delete this._mouseDelayTimer),this.ignoreMissingWhich=!1,s=!1,e.preventDefault()},_mouseDistanceMet:function(t){return Math.max(Math.abs(this._mouseDownEvent.pageX-t.pageX),Math.abs(this._mouseDownEvent.pageY-t.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}}),t.widget("ui.slider",t.ui.mouse,{version:"1.12.1",widgetEventPrefix:"slide",options:{animate:!1,classes:{"ui-slider":"ui-corner-all","ui-slider-handle":"ui-corner-all","ui-slider-range":"ui-corner-all ui-widget-header"},distance:0,max:100,min:0,orientation:"horizontal",range:!1,step:1,value:0,values:null,change:null,slide:null,start:null,stop:null}
vendor: 4,732 bytes, line 489
489,numPages:5,_create:function(){this._keySliding=!1,this._mouseSliding=!1,this._animateOff=!0,this._handleIndex=null,this._detectOrientation(),this._mouseInit(),this._calculateNewMax(),this._addClass("ui-slider ui-slider-"+this.orientation,"ui-widget ui-widget-content"),this._refresh(),this._animateOff=!1},_refresh:function(){this._createRange(),this._createHandles(),this._setupEvents(),this._refreshValue()},_createHandles:function(){var e,i,s=this.options,n=this.element.find(".ui-slider-handle"),o="<span tabindex='0'></span>",a=[];for(i=s.values&&s.values.length||1,n.length>i&&(n.slice(i).remove(),n=n.slice(0,i)),e=n.length;i>e;e++)a.push(o);this.handles=n.add(t(a.join("")).appendTo(this.element)),this._addClass(this.handles,"ui-slider-handle","ui-state-default"),this.handle=this.handles.eq(0),this.handles.each(function(e){t(this).data("ui-slider-handle-index",e).attr("tabIndex",0)})},_createRange:function(){var e=this.options;e.range?(e.range===!0&&(e.values?e.values.length&&2!==e.values.length?e.values=[e.values[0],e.values[0]]:t.isArray(e.values)&&(e.values=e.values.slice(0)):e.values=[this._valueMin(),this._valueMin()]),this.range&&this.range.length?(this._removeClass(this.range,"ui-slider-range-min ui-slider-range-max"),this.range.css({left:"",bottom:""})):(this.range=t("<div>").appendTo(this.element),this._addClass(this.range,"ui-slider-range")),("min"===e.range||"max"===e.range)&&this._addClass(this.range,"ui-slider-range-"+e.range)):(this.range&&this.range.remove(),this.range=null)},_setupEvents:function(){this._off(this.handles),this._on(this.handles,this._handleEvents),this._hoverable(this.handles),this._focusable(this.handles)},_destroy:function(){this.handles.remove(),this.range&&this.range.remove(),this._mouseDestroy()},_mouseCapture:function(e){var i,s,n,o,a,r,l,h,u=this,c=this.options;return c.disabled?!1:(this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()},this.elementOffset=this.element.offset(),i={x:e.pageX,y:e.pageY},s=this._normValueFromMouse(i),n=this._valueMax()-this._valueMin()+1,this.handles.each(function(e){var i=Math.abs(s-u.values(e));(n>i||n===i&&(e===u._lastChangedValue||u.values(e)===c.min))&&(n=i,o=t(this),a=e)}),r=this._start(e,a),r===!1?!1:(this._mouseSliding=!0,this._handleIndex=a,this._addClass(o,null,"ui-state-active"),o.trigger("focus"),l=o.offset(),h=!t(e.target).parents().addBack().is(".ui-slider-handle"),this._clickOffset=h?{left:0,top:0}:{left:e.pageX-l.left-o.width()/2,top:e.pageY-l.top-o.height()/2-(parseInt(o.css("borderTopWidth"),10)||0)-(parseInt(o.css("borderBottomWidth"),10)||0)+(parseInt(o.css("marginTop"),10)||0)},this.handles.hasClass("ui-state-hover")||this._slide(e,a,s),this._animateOff=!0,!0))},_mouseStart:function(){return!0},_mouseDrag:function(t){var e={x:t.pageX,y:t.pageY},i=this._normValueFromMouse(e);return this._slide(t,this._handleIndex,i),!1},_mouseStop:function(t){return this._removeClass(this.handles,null,"ui-state-active"),this._mouseSliding=!1,this._stop(t,this._handleIndex),this._change(t,this._handleIndex),this._handleIndex=null,this._clickOffset=null,this._animateOff=!1,!1},_detectOrientation:function(){this.orientation="vertical"===this.options.orientation?"vertical":"horizontal"},_normValueFromMouse:function(t){var e,i,s,n,o;return"horizontal"===this.orientation?(e=this.elementSize.width,i=t.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)):(e=this.elementSize.height,i=t.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)),s=i/e,s>1&&(s=1),0>s&&(s=0),"vertical"===this.orientation&&(s=1-s),n=this._valueMax()-this._valueMin(),o=this._valueMin()+s*n,this._trimAlignValue(o)},_uiHash:function(t,e,i){var s={handle:this.handles[t],handleIndex:t,value:void 0!==e?e:this.value()};return this._hasMultipleValues()&&(s.value=void 0!==e?e:this.values(t),s.values=i||this.values()),s},_hasMultipleValues:function(){return this.options.values&&this.options.values.length},_start:function(t,e){return this._trigger("start",t,this._uiHash(e))},_slide:function(t,e,i){var s,n,o=this.value(),a=this.values();this._hasMultipleValues()&&(n=this.values(e?0:1),o=this.values(e),2===this.options.values.length&&this.options.range===!0&&(i=0===e?Math.min(n,i):Math.max(n,i)),a[e]=i),i!==o&&(s=this._trigger("slide",t,this._uiHash(e,i,a)),s!==!1&&(this._hasMultipleValues()?this.values(e,i):this.value(i)))},_stop:function(t,e){this._trigger("stop",t,this._uiHash(e))},_change:function(t,e){this._keySliding||this._mouseSliding||(this._lastChangedValue=e,this._trigger("change",t,this._uiHash(e)))},value:function(t){return arguments.length?(this.options.value=this._trimAlignValue(t),this._refreshValue(),this._change(null,0),void 0):this._value(
489)},values:function(e,i){var s,n,o;if(arguments.length>1)return this.options.values[e]=this._trimAlignValue(i),this._refreshValue(),this._change(null,e),void 0;if(!arguments.length)return this._values();if(!t.isArray(arguments[0]))return this._hasMultipleValues()?this._values(e):this.value();for(s=this.options.values,n=arguments[0],o=0;s.length>o;o+=1)s[o]=this._trimAlignValue(n[o]),this._change(null,o);this._refreshValue()},_setOption:function(e,i){var s,n=0;switch("range"===e&&this.options.range===!0&&("min"===i?(this.options.value=this._values(0),this.options.values=null):"max"===i&&(this.options.value=this._values(this.options.values.length-1),this.options.values=null)),t.isArray(this.options.values)&&(n=this.options.values.length),this._super(e,i),e){case"orientation":this._detectOrientation(),this._removeClass("ui-slider-horizontal ui-slider-vertical")._addClass("ui-slider-"+this.orientation),this._refreshValue(),this.options.range&&this._refreshRange(i),this.handles.css("horizontal"===i?"bottom":"left","");break;case"value":this._animateOff=!0,this._refreshValue(),this._change(null,0),this._animateOff=!1;break;case"values":for(this._animateOff=!0,this._refreshValue(),s=n-1;s>=0;s--)this._change(null,s);this._animateOff=!1;break;case"step":case"min":case"max":this._animateOff=!0,this._calculateNewMax(),this._refreshValue(),this._animateOff=!1;break;case"range":this._animateOff=!0,this._refresh(),this._animateOff=!1}},_setOptionDisabled:function(t){this._super(t),this._toggleClass(null,"ui-state-disabled",!!t)},_value:function(){var t=this.options.value;return t=this._trimAlignValue(t)},_values:function(t){var e,i,s;if(arguments.length)return e=this.options.values[t],e=this._trimAlignValue(e);if(this._hasMultipleValues()){for(i=this.options.values.slice(),s=0;i.length>s;s+=1)i[s]=this._trimAlignValue(i[s]);return i}return[]},_trimAlignValue:function(t){if(this._valueMin()>=t)return this._valueMin();if(t>=this._valueMax())return this._valueMax();var e=this.options.step>0?this.options.step:1,i=(t-this._valueMin())%e,s=t-i;return 2*Math.abs(i)>=e&&(s+=i>0?e:-e),parseFloat(s.toFixed(5))},_calculateNewMax:function(){var t=this.options.max,e=this._valueMin(),i=this.options.step,s=Math.round((t-e)/i)*i;t=s+e,t>this.options.max&&(t-=i),this.max=parseFloat(t.toFixed(this._precision()))},_precision:function(){var t=this._precisionOf(this.options.step);return null!==this.options.min&&(t=Math.max(t,this._precisionOf(this.options.min))),t},_precisionOf:function(t){var e=""+t,i=e.indexOf(".");return-1===i?0:e.length-i-1},_valueMin:function(){return this.options.min},_valueMax:function(){return this.max},_refreshRange:function(t){"vertical"===t&&this.range.css({width:"",left:""}),"horizontal"===t&&this.range.css({height:"",bottom:""})},_refreshValue:function(){var e,i,s,n,o,a=this.options.range,r=this.options,l=this,h=this._animateOff?!1:r.animate,u={};this._hasMultipleValues()?this.handles.each(function(s){i=100*((l.values(s)-l._valueMin())/(l._valueMax()-l._valueMin())),u["horizontal"===l.orientation?"left":"bottom"]=i+"%",t(this).stop(1,1)[h?"animate":"css"](u,r.animate),l.options.range===!0&&("horizontal"===l.orientation?(0===s&&l.range.stop(1,1)[h?"animate":"css"]({left:i+"%"},r.animate),1===s&&l.range[h?"animate":"css"]({width:i-e+"%"},{queue:!1,duration:r.animate})):(0===s&&l.range.stop(1,1)[h?"animate":"css"]({bottom:i+"%"},r.animate),1===s&&l.range[h?"animate":"css"]({height:i-e+"%"},{queue:!1,duration:r.animate}))),e=i}):(s=this.value(),n=this._valueMin(),o=this._valueMax(),i=o!==n?100*((s-n)/(o-n)):0,u["horizontal"===this.orientation?"left":"bottom"]=i+"%",this.handle.stop(1,1)[h?"animate":"css"](u,r.animate),"min"===a&&"horizontal"===this.orientation&&this.range.stop(1,1)[h?"animate":"css"]({width:i+"%"},r.animate),"max"===a&&"horizontal"===this.orientation&&this.range.stop(1,1)[h?"animate":"css"]({width:100-i+"%"},r.animate),"min"===a&&"vertical"===this.orientation&&this.range.stop(1,1)[h?"animate":"css"]({height:i+"%"},r.animate),"max"===a&&"vertical"===this.orientation&&this.range.stop(1,1)[h?"animate":"css"]({height:100-i+"%"},r.animate))},_handleEvents:{keydown:function(e){var i,s,n,o,a=t(e.target).data("ui-slider-handle-index");switch(e.keyCode){case t.ui.keyCode.HOME:case t.ui.keyCode.END:case t.ui.keyCode.PAGE_UP:case t.ui.keyCode.PAGE_DOWN:case t.ui.keyCode.UP:case t.ui.keyCode.RIGHT:case t.ui.keyCode.DOWN:case t.ui.keyCode.LEFT:if(e.preventDefault(),!this._keySliding&&(this._keySliding=!0,this._addClass(t(e.target),null,"ui-state-active"),i=this._start(e,a),i===!1))return}switch(o=this.options.step,s=n=this._hasMultipleValues()?this.values(a):this.value(),e.keyCode){case t.ui.keyCode.HOME:n=this._valueMin();break;case t.ui.keyCode.END:n=this._valueMax();break;case t.ui.keyCode.PAGE_UP:n=this._trimAlignValue(s+(this._valueMax()-this._valueMin())/this.numPages);break;case t.ui.keyCode.PAGE_DOWN:n=this._trimAlignValue(s-(this._valueMax()-this._valueMin())/this.numPages);break;case t.ui.keyCode.UP:case t.ui.keyCode.RIGHT:if(s===this._valueMax())return;n=this._trimAlignValue(s+o);break;case t.ui.keyCode.DOWN:case t.ui.keyCode.LEFT:if(s===this._valueMin())return;n=this._trimAlignValue(s-o)}this._slide(e,a,n)},keyup:function(e){var i=t(e.target).data("ui-slider-handle-index");this._keySliding&&(this._keySliding=!1,this._stop(e,i),this._change(e,i),this._removeClass(t(e.target),null,"ui-state-active"))}}})});;
490
491/* /nakivo_calculator/static/src/js/calculator.js defined in bundle 'web.assets_frontend' */
492odoo.define('nakivo_calculator.calculator',function(require){'use strict';require('web.dom_ready');let $form1=$("#form1-calc");$form1.show();$("#form2-calc").hide();$("#form3-calc").hide();$("#form4-calc").hide();$("#form5-calc").hide();$("#form6-calc").hide();$('[data-toggle="tooltip"]').tooltip();var calc_history=[1];var calc_history_position=0;var calc_position=1;function set_form(numb,direction){$('#csrf_token').val(odoo.csrf_token);let name;calc_position=numb;if(direction===0){if(calc_history.length!==calc_history_position+1){calc_history.length=calc_history_position+1;}
493calc_history.push(numb);calc_history_position++;$('#arrow-left-calc').addClass('active');$('#arrow-right-calc').removeClass('active');}else{if(direction===-1){if(calc_history_position===0){return false;}else{calc_history_position=calc_history_position+direction;numb=calc_history[calc_history_position];calc_position=numb;if(calc_history_position===0){$('#arrow-left-calc').removeClass('active');}
494$('#arrow-right-calc').addClass('active');}}else{if(calc_history.length===calc_history_position+1){return false;}else{calc_history_position=calc_history_position+direction;numb=calc_history[calc_history_position];calc_position=numb;if(calc_history.length===calc_history_position+1){$('#arrow-right-calc').removeClass('active');}else{$('#arrow-left-calc').addClass('active');$('#arrow-right-calc').addClass('active');}}}}
495name='#form'+numb+'-calc';$('[data-target]').css('display','none');$(name).css('display','block');}
496$('#arrow-left-calc').click(function(){set_form(0,-1);return false;});$('#arrow-right-calc').click(function(){set_form(0,1);return false;});$('#pp1').click(function(){set_form(3,0);return false;});$('#sp1').click(function(){set_form(2,0);return false;});$('#aw1').click(function(){set_form(6,0);return false;});$('#sub_button').click(function(){set_form(4,0);return false;});$('#per_button').click(function(){set_form(4,0);return false;});$('#mon_button').click(function(){set_form(4,0);return false;});function send_perpetual_form(){$('#pricing_type').val('perpetual');$("#license :contains('"+edition_name[$("#per_license :selected").val()]+"')").attr("selected","selected");$('#socket').val(per_sock);$('#physical').val(per_physical);$("#support :contains('"+$("#per_support :selected").text()+"')").attr("selected","selected");$('#current_currency').val(current_currency_per);$('#price_w').val(price_per_w);$('#numb_mon').val(numb_mon);$('#month_mon').val(month_mon);$('#price_mon').val(price_mon);}
497function send_subscription_form(){$('#pricing_type').val('subscription');$("#license :contains('"+edition_name[$("#sub_license :selected").val()]+"')").attr("selected","selected");$('#sub_year').val(sub_year);$('#sub_mach').val(sub_mach);$('#current_currency').val(current_currency_sub);$('#price_w').val(price_sub_w);$('#numb_mon').val(numb_mon);$('#month_mon').val(month_mon);$('#price_mon').val(price_mon);}
498function send_form(){$("#sub_license :contains('"+edition_name[$("#sub_license :selected").val()]+"')").attr("selected","selected");$('#sub_year').val(sub_year);$('#sub_mach').val(sub_mach);$("#per_license :contains('"+edition_name[$("#per_license :selected").val()]+"')").attr("selected","selected");$('#per_socket').val(per_sock);$("#per_support :contains('"+$("#per_support :selected").text()+"')").attr("selected","selected");$('#current_currency_sub').val(current_currency_sub);$('#price_sub_w').val(price_sub_w);$('#current_currency_per').val(current_currency_per);$('#price_per_w').val(price_per_w);$('#numb_mon').val(numb_mon);$('#month_mon').val(month_mon);$('#price_mon').val(price_mon);}
499function valEmail(email){var re=/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;return re.test(String(email).toLowerCase());}
500function calc_show_error(name){let text='';if(name==='public-email'){text='Please use your corporate email. Having problems? <a href="mailto:[email protected]" class="policy-link" target="_blank">Contact us</a>';}
501if(text){$('#err-form-popup .msg').html(text);$('#err-form-popup').removeClass('updown');}}
502function validation_calc(){$('#calc-name').removeClass('error');$('#calc-email').removeClass('error');$('#calc-agree-ind').removeClass('error');let error;error=0;if(error===1)return false;$('#err-form-popup').addClass('updown');return true;}
503$('#submit_subscription').click(function(){if(!validation_calc())return false;send_subscription_form();set_form(5,0);$('#form-calculator-submit-button').click();return false;});$('#submit_perpetual').click(function(){if(!validation_calc())return false;send_perpetual_form();set_form(5,0);$('#form-calculator-submit-button').click();return false;});$("#sub_license").change(function(){edition_sub=$("#sub_license :selected").val();if((edition_sub==='pe'||edition_sub==='ee')&&sub_mach>30){sub_mach=30;$('#slider-machines').slider('value',30);$('#slider-machines .scale-text').removeClass('active');$('#slider-machines .scale-text[data-pos="30"]').addClass('active');}
504calc_prise_sub(sub_year,sub_mach);});$("#per_license").change(function(){check_per_sock();let $per_physical=$("#per_physical");edition_per=$("#per_license :selected").val();if(edition_per==='b'){$per_physical.attr('max','0');$per_physical.val('0');$per_physical.attr("disabled",true);}
504else{$per_physical.attr("disabled",false);}
505min_sock=price_per[0][edition_per]['min'];max_sock=price_per[0][edition_per]['max'];if(min_sock===0){$("#per_socket").val('1');$per_physical.val('1');}else{$("#per_socket").val(min_sock);}
506if(min_sock===0){$("#per_socket").attr('min','1');$per_physical.attr('min','1');}else{$("#per_socket").attr('min',min_sock);$per_physical.attr('min',min_sock);}
507if(max_sock===0){$("#per_socket").attr('max','999999');$("#per_physical").attr('max','999999');}else{$("#per_socket").attr('max',max_sock);$("#per_physical").attr('max',max_sock);}
508check_per_sock();calc_prise_per(edition_per,per_sock,per_physical,per_supp);return false;});$("#per_support").change(function(){check_per_sock();per_supp=$("#per_support :selected").val();calc_prise_per(edition_per,per_sock,per_physical,per_supp);return false;});$("#per_socket").on('change input onpaste',function(){if($("#per_socket").val()==='')return false;check_per_sock();calc_prise_per(edition_per,per_sock,per_physical,per_supp);return false;});$("#per_physical").on('change input onpaste',function(){if($("#per_physical").val()==='')return false;check_per_physical();calc_prise_per(edition_per,per_sock,per_physical,per_supp);return false;});function check_per_physical(){per_sock=Number($("#per_socket").val());per_physical=Number($("#per_physical").val());let per_license=$("#per_license :selected").val();if(per_license==='b'){$("#per_physical").val(0);}else{if(min_sock!==0&&(per_sock+per_physical<min_sock||per_sock+per_physical>max_sock)){if(per_sock+per_physical<min_sock){$("#per_physical").val(min_sock);}
509if(per_sock+per_physical>max_sock){$("#per_physical").val(max_sock-per_sock);}
510per_physical=Number($("#per_physical").val());}}}
511function check_per_sock(){per_sock=Number($("#per_socket").val());per_physical=Number($("#per_physical").val());if(min_sock!==0&&(per_sock+per_physical<min_sock||per_sock+per_physical>max_sock)){if(per_sock+per_physical<min_sock){$("#per_socket").val(min_sock);}
512if(per_sock+per_physical>max_sock){$("#per_socket").val(max_sock-per_physical);}
513per_sock=Number($("#per_socket").val());}}
514$(".radio-wrap input[type='radio']").change(function(){calc_prise_mon(month_mon);return false;});var edition_name={"pe":"Pro Essentials","ee":"Enterprise Essentials","p":"Pro","e":"Enterprise","b":"Basic"};var currency_symbol={"USD":"$","EUR":"\u20ac","CHF":"\u20a3","GBP":"\u00a3"};var price_sub_obj={'USD':{"1":{"pe":{"p":221,"s":0,"f":221},"ee":{"p":322,"s":0,"f":322},"p":{"p":402,"s":0,"f":402},"e":{"p":653,"s":0,"f":653}},"2":{"pe":{"p":442,"s":0,"f":442},"ee":{"p":643,"s":0,"f":643},"p":{"p":804,"s":0,"f":804},"e":{"p":1307,"s":0,"f":1307}},"3":{"pe":{"p":663,"s":20,"f":531},"ee":{"p":996,"s":23,"f":772},"p":{"p":1206,"s":20,"f":965},"e":{"p":1959,"s":20,"f":1568}},"4":{"pe":{"p":884,"s":20,"f":708},"ee":{"p":1328,"s":23,"f":1029},"p":{"p":1608,"s":20,"f":1286},"e":{"p":2612,"s":20,"f":2090}},"5":{"pe":{"p":1105,"s":25,"f":829},"ee":{"p":1660,"s":27,"f":1206},"p":{"p":2010,"s":25,"f":1506},"e":{"p":3265,"s":25,"f":2450}}},'EUR':{"1":{"pe":{"p":195,"s":0,"f":195},"ee":{"p":283,"s":0,"f":283},"p":{"p":354,"s":0,"f":354},"e":{"p":575,"s":0,"f":575}},"2":{"pe":{"p":389,"s":0,"f":389},"ee":{"p":566,"s":0,"f":566},"p":{"p":708,"s":0,"f":708},"e":{"p":1150,"s":0,"f":1150}},"3":{"pe":{"p":585,"s":20,"f":467},"ee":{"p":849,"s":23,"f":679},"p":{"p":1062,"s":20,"f":849},"e":{"p":1725,"s":20,"f":1380}},"4":{"pe":{"p":780,"s":20,"f":623},"ee":{"p":1132,"s":23,"f":906},"p":{"p":1416,"s":20,"f":1132},"e":{"p":2300,"s":20,"f":1840}},"5":{"pe":{"p":975,"s":25,"f":730},"ee":{"p":1415,"s":27,"f":1061},"p":{"p":1770,"s":25,"f":1325},"e":{"p":2875,"s":25,"f":2156}}},'GBP':{"1":{"pe":{"p":168,"s":0,"f":168},"ee":{"p":244,"s":0,"f":244},"p":{"p":306,"s":0,"f":306},"e":{"p":496,"s":0,"f":496}},"2":{"pe":{"p":336,"s":0,"f":336},"ee":{"p":489,"s":0,"f":489},"p":{"p":611,"s":0,"f":611},"e":{"p":993,"s":0,"f":993}},"3":{"pe":{"p":504,"s":20,"f":403},"ee":{"p":732,"s":23,"f":587},"p":{"p":918,"s":20,"f":733},"e":{"p":1488,"s":20,"f":1192}},"4":{"pe":{"p":672,"s":20,"f":538},"ee":{"p":976,"s":23,"f":782},"p":{"p":1224,"s":20,"f":978},"e":{"p":1984,"s":20,"f":1589}},"5":{"pe":{"p":840,"s":25,"f":630},"ee":{"p":1220,"s":27,"f":917},"p":{"p":1530,"s":25,"f":1145},"e":{"p":2480,"s":25,"f":1862}}},'CHF':{"1":{"pe":{"p":221,"s":0,"f":221},"ee":{"p":322,"s":0,"f":322},"p":{"p":402,"s":0,"f":402},"e":{"p":653,"s":0,"f":653}},"2":{"pe":{"p":442,"s":0,"f":442},"ee":{"p":643,"s":0,"f":643},"p":{"p":804,"s":0,"f":804},"e":{"p":1307,"s":0,"f":1307}},"3":{"pe":{"p":663,"s":20,"f":531},"ee":{"p":996,"s":23,"f":772},"p":{"p":1206,"s":20,"f":965},"e":{"p":1959,"s":20,"f":1568}},"4":{"pe":{"p":884,"s":20,"f":708},"ee":{"p":1328,"s":23,"f":1029},"p":{"p":1608,"s":20,"f":1286},"e":{"p":2612,"s":20,"f":2090}},"5":{"pe":{"p":1105,"s":25,"f":829},"ee":{"p":1660,"s":27,"f":1206},"p":{"p":2010,"s":25,"f":1506},"e":{"p":3265,"s":25,"f":2450}}}};const price_per_obj={'USD':[{"b":{"p":99,"pp":0,"min":1,"max":4},"pe":{"p":199,"pp":59,"min":2,"max":6},"ee":{"p":299,"pp":69,"min":2,"max":6},"p":{"p":399,"pp":80,"min":0,"max":0},"e":{"p":599,"pp":130,"min":0,"max":0}},{"socket":[{"b":0,"pe":0,"ee":0,"p":0,"e":0},{"b":25,"pe":50,"ee":75,"p":99,"e":149},{"b":45,"pe":90,"ee":135,"p":179,"e":269},{"b":67,"pe":135,"ee":203,"p":269,"e":404},{"b":90,"pe":180,"ee":270,"p":358,"e":538},],"physical":[{"b":0,"pe":0,"ee":0,"p":0,"e":0},{"b":25,"pe":15,"ee":17,"p":20,"e":33},{"b":45,"pe":28,"ee":13,"p":38,"e":62},{"b":67,"pe":41,"ee":48,"p":55,"e":90},{"b":90,"pe":52,"ee":61,"p":70,"e":114},]}],'EUR':[{"b":{"p":84,"pp":0,"min":1,"max":4},"pe":{"p":169,"pp":51,"min":2,"max":6},"ee":{"p":249,"pp":60,"min":2,"max":6},"p":{"p":329,"pp":70,"min":0,"max":0},"e":{"p":509,"pp":113,"min":0,"max":0}},{"socket":[{"b":0,"pe":0,"ee":0,"p":0,"e":0},{"b":21,"pe":40,"ee":65,"p":79,"e":129},{"b":38,"pe":72,"ee":115,"p":149,"e":229},{"b":57,"pe":115,"ee":173,"p":229,"e":344},{"b":76,"pe":153,"ee":230,"p":305,"e":458}],"physical":[{"b":0,"pe":0,"ee":0,"p":0,"e":0},{"b":21,"pe":13,"ee":15,"p":17,"e":28},{"b":38,"pe":25,"ee":29,"p":33,"e":54},{"b":57,"pe":35,"ee":41,"p":48,"e":78},{"b":76,"pe":45,"ee":53,"p":61,"e":100}],}],'GBP':[{"b":{"p":69,"pp":0,"min":1,"max":4},"pe":{"p":149,"pp":51,"min":2,"max":6},"ee":{"p":209,"pp":60,"min":2,"max":6},"p":{"p":269,"pp":70,"min":0,"max":0},"e":{"p":419,"pp":113,"min":0,"max":0}},{"socket":[{"b":0,"pe":0,"ee":0,"p":0,"e":0},{"b":17,"pe":35,"ee":52,"p":69,"e":109},{"b":31,"pe":63,"ee":95,"p":119,"e":189},{"b":47,"pe":95,"ee":143,"p":179,"e":284},{"b":63,"pe":126,"ee":190,"p":238,"e":378}],"physical":[{"b":0,"pe":0,"ee":0,"p":0,"e":0},{"b":17,"pe":13,"ee":15,"p":17,"e":28},{"b":31,"pe":25,"ee":29,"p":33,"e":54},{"b":47,"pe":35,"ee":41,"p":48,"e":78},{"b":63,"pe":45,"ee":53,"p":61,"e":100}],}],'CHF':[{"b":{"p":109,"pp":0,"min":1,"max":4},"pe":{"p":219,"pp":65,"min":2,"max":6},"ee":{"p":329,"pp":76,"min":2,"max":6},"p":{"p":439,"pp":88,"min":0,"max":0},"e":{"p":659,"pp":130,"min":0,"max":0}},{"socket":[{"b":0,"pe":0,"ee":0,"p":0,"e":0},{"b":28,"pe":55,"ee":83,"p":119,"e":164},{"b":50,"pe":99,"ee":149,"p":199,"e":296},{"b":74,"pe":149,"ee":224,"p":299,"e":404},{"b":99,"pe":198,"ee":298,"p":398,"e":538}],"physical":[{"b":0,"pe":0,"ee":0,"p":0,"e":0},{"b":28,"pe":16,"ee":19,"p":22,"e":36},{"b":50,"pe":31,"ee":36,"p":42,"e":69},{"b":74,"pe":45,"ee":52,"p":61,"e":99},{"b":99,"pe":57,"ee":67,"p":77,"e":126}]}]};var price_sub=price_sub_obj.USD;var price_per=price_per_obj.USD;var price_mon,month_mon=1,numb_mon=10;var current_currency_sub='USD',current_currency_per='USD',edition_sub='pe',edition_per='pe';var sub_year=1,sub_mach=10,per_sock=2,per_physical=0,per_supp=0,min_sock=2,max_sock=6,price_sub_w=0,price_per_w=0;
514$('.sub-currency-switch a').click(function(){current_currency_sub=$(this).find('.currency-pic').attr('data-cur');$('.sub-currency-switch .currency-pic').removeClass('active');$('.sub-currency-switch [data-cur="'+current_currency_sub+'"]').addClass('active');price_sub=price_sub_obj[current_currency_sub];calc_prise_sub(sub_year,sub_mach);return false;});$('.per-currency-switch a').click(function(){current_currency_per=$(this).find('.currency-pic').attr('data-cur');$('.per-currency-switch .currency-pic').removeClass('active');$('.per-currency-switch [data-cur="'+current_currency_per+'"]').addClass('active');price_per=price_per_obj[current_currency_per];calc_prise_per(edition_per,per_sock,per_physical,per_supp);return false;});calc_prise_sub(sub_year,sub_mach);calc_prise_per(edition_per,per_sock,per_physical,per_supp);calc_prise_mon(month_mon);function calc_prise_sub(y,m){sub_year=y;sub_mach=m;let price,sale,final;price=Number(price_sub[y][edition_sub]['p'])*(Number(m)/10);sale=Number(price_sub[y][edition_sub]['s']);final=Number(price_sub[y][edition_sub]['f'])*(Number(m)/10);price_sub_w=final;if(!sale){$('#sub-discount').css('display','none');$('#sub-full-price-wrap').css('display','none');}else{$('#sub-discount').css('display','block');$('#sub-full-price-wrap').css('display','block');}
515$('#sub-currency').html(currency_symbol[current_currency_sub]);$('#sub-value').html(final.toLocaleString('EN'));$('#sub-discount').html('-'+sale+'%');$('#sub-full-currency').html(currency_symbol[current_currency_sub]);$('#sub-full-price').html(price.toLocaleString('EN'));}
516function calc_prise_per(lic,sock,physical,supp){edition_per=lic;per_sock=sock;per_physical=physical;per_supp=supp;let price,extra;price=Number(price_per[0][edition_per]['p'])*(Number(per_sock))+Number(price_per[0][edition_per]['pp'])*(Number(per_physical))+(Number(price_per[1]['socket'][per_supp][edition_per])*Number(per_sock))+(Number(price_per[1]['physical'][per_supp][edition_per])*Number(per_physical));price_per_w=price;$('#per-currency').html(currency_symbol[current_currency_per]);$('#per-value').html(price.toLocaleString('EN'));}
517function calc_prise_mon(mon){month_mon=Number(mon);let price;numb_mon=Number($(".radio-wrap input[type='radio']:checked").val());if(numb_mon===10){price=49*month_mon;}
518if(numb_mon===25){price=99*month_mon;}
519if(numb_mon===100){price=299*month_mon;}
520price_mon=price;if(price){$('#mon-value').html(price.toLocaleString('EN'));}}
521var width_years_mm,left_pos_mm=0,left_pos_line_mm=0,width_period_mm,arr_mm=[1,3,6,9,12],show_style_mm='',slider_mon_value=1,slider_mon_min=1,slider_mon_max=12,slider_mon_step=1;var width_years,left_pos=0,left_pos_line=0,width_period,arr=[1,3,5],show_style='',slider_years_value=1,slider_years_min=1,slider_years_max=5,slider_years_step=1;var width_years_m,left_pos_m=0,left_pos_line_m=0,width_period_m,arr_m=[10,50,100],show_style_m='',slider_mach_value=10,slider_mach_min=10,slider_mach_max=100,slider_mach_step=10;width_years=$form1.width();width_years=width_years+38;var width_mon_mm=width_years;var width_mach_m=width_years;$("#slider-years").slider({value:slider_years_value,min:slider_years_min,max:slider_years_max,step:slider_years_step,create:function(event,ui){width_period=width_years/(slider_years_max/slider_years_min);let width_period_add=width_period/4;var i=slider_years_min;do{if(arr.indexOf(i)===-1){show_style=''}else{show_style=' show'}
522$('#slider-years').append('<span class="scale-text'+show_style+'" style="left: '+left_pos+'px" data-pos="'+i+'">'+i+'</span>');$('#slider-years').append('<span class="scale-line" style="left: '+left_pos_line+'px" data-pos="'+i+'"/>');left_pos=left_pos+width_period+width_period_add+2;left_pos_line=left_pos_line+width_period+width_period_add+0.6;i=i+slider_years_step;}while(i<=slider_years_max);$('#slider-years .scale-text[data-pos="'+slider_years_value+'"]').addClass('active');},slide:function(event,ui){$('#slider-years .scale-text').removeClass('active');$('#slider-years .scale-text[data-pos="'+ui.value+'"]').addClass('active');calc_prise_sub(ui.value,sub_mach);}});$("#slider-machines").slider({value:slider_mach_value,min:slider_mach_min,max:slider_mach_max,step:slider_mach_step,create:function(event,ui){width_period_m=width_mach_m/(slider_mach_max/slider_mach_min);let width_period_add_m=width_period_m/10;var i=slider_mach_min;
522do{if(arr_m.indexOf(i)===-1){show_style_m=''}else{show_style_m=' show'}
523$('#slider-machines').append('<span class="scale-text'+show_style_m+'" style="left: '+left_pos_m+'px" data-pos="'+i+'">'+i+'</span>');$('#slider-machines').append('<span class="scale-line" style="left: '+left_pos_line_m+'px" data-pos="'+i+'"/>');left_pos_m=left_pos_m+width_period_m+width_period_add_m;left_pos_line_m=left_pos_line_m+width_period_m+width_period_add_m+0.6;i=i+slider_mach_step;}while(i<=slider_mach_max);$('#slider-machines .scale-text[data-pos="'+slider_mach_value+'"]').addClass('active');},slide:function(event,ui){if((edition_sub=='pe'||edition_sub=='ee')&&ui.value>30){return false;}else{$('#slider-machines .scale-text').removeClass('active');$('#slider-machines .scale-text[data-pos="'+ui.value+'"]').addClass('active');}
524calc_prise_sub(sub_year,ui.value);}});$("#slider-mon").slider({value:slider_mon_value,min:slider_mon_min,max:slider_mon_max,step:slider_mon_step,create:function(event,ui){width_period_mm=width_mon_mm/(slider_mon_max/slider_mon_min);let width_period_add_mm=width_period_mm/12;var i=slider_mon_min;do{if(arr_mm.indexOf(i)===-1){show_style_mm=''}else{show_style_mm=' show'}
525$('#slider-mon').append('<span class="scale-text'+show_style_mm+'" style="left: '+left_pos_mm+'px" data-pos="'+i+'">'+i+'</span>');$('#slider-mon').append('<span class="scale-line" style="left: '+left_pos_line_mm+'px" data-pos="'+i+'">'+i+'</span>');left_pos_mm=left_pos_mm+width_period_mm+width_period_add_mm+0.8;left_pos_line_mm=left_pos_line_mm+width_period_mm+width_period_add_mm+0.4;i=i+slider_mon_step;}while(i<=slider_mon_max);$('#slider-mon .scale-text[data-pos="'+slider_mon_value+'"]').addClass('active');},slide:function(event,ui){$('#slider-mon .scale-text').removeClass('active');$('#slider-mon .scale-text[data-pos="'+ui.value+'"]').addClass('active');calc_prise_mon(ui.value);}});});;
526
527/* /nakivo_shop/static/src/js/payment_variants.js defined in bundle 'web.assets_frontend' */
528odoo.define('nakivo_shop.shop',function(require){'use strict';require('web.dom_ready');if(!$('.o_custom_payment_form').length){return $.Deferred().reject("DOM doesn't contain custom form payment methods");}
529$("#pal_div").hide();$("#wire_div").hide();$("#card_placeholder").hide();$("#mock_card_placeholder").hide();var cardCredit;var payPal;var wireTransfer;$(function paymentOptions(){$('input[type="radio"]')[0].name='credit card'
530var paymentForms=document.getElementsByClassName('radio__label')
531for(var i=0;i<paymentForms.length;i++){if(paymentForms[i].innerText.includes("CREDIT")){cardCredit=paymentForms[i]
532cardCredit.id='card'}else if(paymentForms[i].innerText.includes("PAY")){payPal=paymentForms[i]
533payPal.id='pal'}else if(paymentForms[i].innerText.includes("WIRE")){wireTransfer=paymentForms[i]
534wireTransfer.id='wire'}}})});
535
536/* /nakivo_shop/static/src/js/stripe_custom_payment_form.js defined in bundle 'web.assets_frontend' */
537odoo.define('nakivo_payment_stripe.payment_form',function(require){"use strict";require('web.dom_ready');var ajax=require('web.ajax');var core=require('web.core');var rpc=require('web.rpc');var PaymentForm=require('payment.payment_form');var _t=core._t;PaymentForm.include({events:_.extend({},PaymentForm.prototype.events,{'click #card':'onCreditCardClick','click #pal':'onPayPalClick','click #wire':'onWireTransferClick','click #new_card':'onNewCardClick',}),willStart:function(){return this._super.apply(this,arguments).then(function(){return ajax.loadJS("https://js.stripe.com/v3/");})},start:function(){this.updateNewPaymentDisplayStatus();$('[data-toggle="tooltip"]').tooltip();this.cardLabelsCheck()},cardLabelsCheck:function(){var savedCards=$('label[for^=credit_card]')
538if(savedCards.length>0){for(var i=0;i<savedCards.length;i++){savedCards[i].addEventListener('click',function(){$("#card_placeholder").hide();$('#card_number_data')[0].value=this.innerText.match(/.{1,4}/g).join(' ')
539$("#mock_card_placeholder").show();})
540savedCards[0].previousElementSibling.checked=true
541$('#card_number_data')[0].value=savedCards[0].innerText.match(/.{1,4}/g).join(' ')
542$("#mock_card_placeholder").show();}}else{var card_provider=$('input[name="credit card"]')
543if(card_provider.length){card_provider[0].click()
544$("#card_placeholder").show();$('#new_card').prop('checked',true)}}},onCreditCardClick:function(){var element=$('#card_div')
545$('input[type="radio"]:checked').prop('checked',false)
546$('#o_payment_form_pay')[0].innerText='Pay'
547$('#pal_div').hide()
548$('#wire_div').hide()
549$('#card_placeholder').hide()
550this.cardLabelsCheck()
551element.show()},onPayPalClick:function(){$('input[type="radio"]:checked').prop('checked',false)
552$('#o_payment_form_pay')[0].innerText='Pay with Paypal'
553var element=$('#pal_div')
554$('#card_div').hide()
555$('#wire_div').hide()
556element.show()
557this.radioClickEvent()},onWireTransferClick:function(){$('input[type="radio"]:checked').prop('checked',false)
558$('#pal_div').hide()
559$('#card_div').hide()
560$('#o_payment_form_pay')[0].innerText='Place order'
561var element=$('#wire_div')
562element.show()
563this.radioClickEvent()},onNewCardClick:function(){var cardProvider=$('input[name="credit card"]')
564cardProvider[0].checked=false
565this.radioClickEvent()
566$("#mock_card_placeholder").hide();$("#card_placeholder").show();cardProvider[0].checked=true},_createStripeToken:function(ev,$checkedRadio,addPmEvent){var self=this;if(ev.type==='submit'){var button=$(ev.target).find('*[type="submit"]')[0]}else{var button=ev.target;}
567this.disableButton(button);var acquirerID=this.getAcquirerIdFromRadio($checkedRadio);var acquirerForm=this.$('#o_payment_add_token_acq_'+acquirerID);var inputsForm=$('input',acquirerForm);if(this.options.partnerId===undefined){console.warn('payment_form: unset partner_id when adding new token; things could go wrong');}
568var formData=self.getFormData(inputsForm);var stripe=this.stripe;var card=this.stripe_card_element;if(card._invalid){return;}
569return rpc.query({route:'/payment/stripe/s2s/create_setup_intent',params:{'acquirer_id':formData.acquirer_id}}).then(function(intent_secret){return $.Deferred(function(defer){stripe.handleCardSetup(intent_secret,card).then(function(result){defer.resolve(result)})});}).then(function(result){if(result.error){return $.Deferred().reject({"message":{"data":{"message":result.error.message}}});}else{_.extend(formData,{"payment_method":result.setupIntent.payment_method});return rpc.query({route:formData.data_set,params:formData,})}}).then(function(result){if(addPmEvent){if(formData.return_url){window.location=formData.return_url;}else{window.location.reload();}}else{$checkedRadio.val(result.id);self.el.submit();}}).fail(function(error,event){self.enableButton(button);self.displayError(_t('Unable to save card'),_t("We are not able to add your payment method at the moment. ")+
570error.message.data.message);});},_bindStripeCard:function($checkedRadio){var acquirerID=this.getAcquirerIdFromRadio($checkedRadio);var acquirerForm=this.$('#o_payment_add_token_acq_'+acquirerID);var inputsForm=$('input',acquirerForm);var formData=this.getFormData(inputsForm);var stripe=Stripe(formData.stripe_publishable_key);var element=stripe.elements();var cardNumber=element.create('cardNumber',{placeholder:'XXXX XXXX XXXX XXXX',});cardNumber.mount('#card-number-element');var cardExpiry=element.create('cardExpiry',{placeholder:'MM/YY',});cardExpiry.mount('#card-expiry-element');var cardCvc=element.create('cardCvc',{placeholder:'CVV Code',});cardCvc.mount('#card-cvc-element');var cardPostalCode=element.create('postalCode',{placeholder:'Zip code',});cardPostalCode.mount('#card-postal-code');function errorDisplay(event){var displayError=document.getElementById('card-errors');displayError.textContent='';if(event.error){displayError.textContent=event.error.message;}}
571cardNumber.on('change',function(event){errorDisplay(event)});cardExpiry.on('change',function(event){errorDisplay(event)});cardCvc.on('change',function(event){errorDisplay(event)});this.stripe=stripe;this.stripe_card_element=cardNumber;},payEvent:function(ev){ev.preventDefault();var postalCodeEmpty=function(){var displayError=document.getElementById('card-errors');displayError.textContent='Please fill zip code';}
572if(this.$('input[type="radio"]:checked')[1]){if($('#card-postal-code').hasClass('StripeElement--empty')&&this.$('input[type="radio"]:checked')[1].id==='new_card'){postalCodeEmpty()
573return}}else if($('.o_custom_payment_form').length&&this.$('input[type="radio"]:checked').data('provider')==='stripe'){if($('#card-postal-code').hasClass('StripeElement--empty')){postalCodeEmpty()
574return}}
575var $checkedRadio=this.$('input[type="radio"]:checked')
576if($checkedRadio[0].name==='credit card'){$checkedRadio.first().prop('checked',fal
576se)
577$checkedRadio=this.$('input[type="radio"]:checked')}
578if($checkedRadio.length===1&&$checkedRadio.data('provider')==='stripe'&&this.isNewPaymentRadio($checkedRadio)){return this._createStripeToken(ev,$checkedRadio);}else{return this._super.apply(this,arguments);}},});});;
579
580/* /nakivo_shop/static/src/js/website_sale.js defined in bundle 'web.assets_frontend' */
581odoo.define('nakivo_shop.website_sale',function(require){'use_strict';var sAnimations=require('website.content.snippets.animation')
582sAnimations.registry.WebsiteSale.include({read_events:_.extend({},sAnimations.registry.WebsiteSale.prototype.read_events,{'change #country_id':'_onChangeCountry',}),_changeCountry:function(){var country_val=$("#country_id").val()
583if(!country_val){return;}
584this._rpc({route:"/shop/country_infos/"+country_val,params:{mode:'shipping',},}).then(function(data){debugger
585var selectStates=$(".o_state_list");var selectStatesRoot=$("div[id='state_id']");var opt;if(selectStates.data('init')===0||selectStates.closest('div').length===1){$('#prev_selected_state').empty();$('#input_state_id').val('');if(data.states.length){selectStates.html('');_.each(data.states,function(x){opt=$('<div class="dropdown__item js-dropdown-item o_state_item">').text(x[1]).attr('value',x[0]).attr('data-code',x[0]);selectStates.append(opt);});selectStatesRoot.show();}else{selectStatesRoot.hide();}
586selectStates.data('init',0);}else{selectStates.data('init',0);}
587if(data.fields){if($.inArray('zip',data.fields)>$.inArray('city',data.fields)){$(".div_zip").before($(".div_city"));}else{$(".div_zip").after($(".div_city"));}
588var all_fields=["street","zip","city","country_name"];_.each(all_fields,function(field){$(".checkout_autoformat .div_"+field.split('_')[0]).toggle($.inArray(field,data.fields)>=0);});}});},})});
589
590/* /nakivo_shop/static/src/lib/mc-calendar.min.js defined in bundle 'web.assets_frontend' */
591!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.MCDatepicker=t():e.MCDatepicker=t()}(self,(function(){return(()=>{"use strict";var e={422:(e,t,n)=>{n.d(t,{default:()=>Oe});var a={theme_color:"#0072fa",main_background:"#f5f5f6",active_text_color:"rgb(0, 0, 0)",inactive_text_color:"rgba(0, 0, 0, 0.2)",display:{foreground:"rgba(255, 255, 255, 0.8)",background:"#0072fa"},picker:{foreground:"rgb(0, 0, 0)",background:"#f5f5f6"},picker_header:{active:"#818181",inactive:"rgba(0, 0, 0, 0.2)"},weekday:{foreground:"#0072fa"},button:{success:{foreground:"#0072fa"},danger:{foreground:"#e65151"}},date:{active:{default:{foreground:"rgb(0, 0, 0)"},picked:{foreground:"#ffffff",background:"#0072fa"},today:{foreground:"rgb(0, 0, 0)",background:"rgba(0, 0, 0, 0.2)"}},inactive:{default:{foreground:"rgba(0, 0, 0, 0.2)"},picked:{foreground:"#0072fa",background:"#0072fa"},today:{foreground:"rgba(0, 0, 0, 0.2)",background:"rgba(0, 0, 0, 0.2)"}},marcked:{foreground:"#0072fa"}},month_year_preview:{active:{default:{foreground:"rgb(0, 0, 0)"},picked:{foreground:"rgb(0, 0, 0)",background:"rgba(0, 0, 0,0.2)"}},inactive:{default:{foreground:"rgba(0, 0, 0, 0.2)"},picked:{foreground:"rgba(0, 0, 0, 0.2)",background:"rgba(0, 0, 0, 0.2)"}}}},r={DMY:["calendar","month","year"],DY:["calendar","month","year"],D:["calendar","month","year"],MY:["month","year"],M:["month"],Y:["year"]};const c={el:null,context:null,dateFormat:"DD-MMM-YYYY",bodyType:"modal",autoClose:!1,closeOndblclick:!0,closeOnBlur:!1,showCalendarDisplay:!0,customWeekDays:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],customMonths:["January","February","March","April","May","June","July","August","September","October","November","December"],customOkBTN:"OK",customClearBTN:"Clear",customCancelBTN:"CANCEL",firstWeekday:0,selectedDate:null,minDate:null,maxDate:null,jumpToMinMax:!0,jumpOverDisabled:!0,disableWeekends:!1,disableWeekDays:[],disableDates:[],allowedMonths:[],allowedYears:[],disableMonths:[],disableYears:[],markDates:[],theme:a};var i="show-calendar",o="hide-calendar",l="update-calendar",d="update-display",s="update-header",u="update-preview",v="date-pick",m="preview-pick",f="month-change",h="year-change",p="set-date",y="cancel-calendar",g=function(e){e.dispatchEvent(new CustomEvent(u,{bubbles:!0}))},b=function(e){e.dispatchEvent(new CustomEvent(s,{bubbles:!0}))},_=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];e.dispatchEvent(new CustomEvent(v,{bubbles:!0,detail:{dblclick:t,date:new Date(e.getAttribute("data-val-date"))}}))},k=function(e,t){e.dispatchEvent(new CustomEvent(f,{bubbles:!0,detail:{direction:t}}))},w=function(e,t){e.dispatchEvent(new CustomEvent(h,{bubbles:!0,detail:{direction:t}}))},D=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];e.dispatchEvent(new CustomEvent(m,{bubbles:!0,detail:{dblclick:t,data:e.children[0].innerHTML}}))},x=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{instance:null,date:null};e.dispatchEvent(new CustomEvent(p,{bubbles:!0,detail:t}))},M=function(e){e.dispatchEvent(new CustomEvent(y,{bubbles:!0}))};
591var L=function(e,t,n){var a=(t+1)%e.length,r=((t-1)%e.length+e.length)%e.length,c=(t+1)/e.length,i=(t-e.length)/e.length;return{newIndex:"next"===n?a:r,overlap:"next"===n?~~c:~~i}},E=function(e){return new Promise((function(t,n){setTimeout(t,e)}))},C=function(){var e=null;return{slide:function(t,n,a){var r="prev"===a?"slide-right--out":"slide-left--out",c="prev"===a?"slide-right--in":"slide-left--in";t.classList.add(r),n.classList.add(c),e=E(150).then((function(){t.remove(),n.removeAttribute("style"),n.classList.remove(c)}))},onFinish:function(t){!e&&t(),e&&e.then((function(){return t()})),e=null}}},T=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new Date,t=arguments.length>1?arguments[1]:void 0,n=t.customWeekDays,a=t.customMonths,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"dd-mmm-yyyy";if(W(e).date()&&$(r.toLocaleLowerCase()).isValid()){var c=e.getDay(),i=e.getDate(),o=e.getMonth(),l=e.getFullYear(),d={d:String(i),dd:String(i).padStart(2,"0"),ddd:n[c].substr(0,3),dddd:n[c],m:String(o+1),mm:String(o+1).padStart(2,"0"),mmm:a[o].substr(0,3),mmmm:a[o],yy:String(l).substr(2),yyyy:String(l)};return $(r.toLocaleLowerCase()).replaceMatch(d)}throw new Error(e+" Is not a Date object.")},O=function(e){return e.setHours(0,0,0,0).valueOf()},S=function(e){var t=e.getBoundingClientRect();return{t:Math.ceil(t.top),l:Math.ceil(t.left),b:Math.ceil(t.bottom),r:Math.ceil(t.right),w:Math.ceil(t.width),h:Math.ceil(t.height)}},Y=function(e,t){var n=function(e,t){var n=window.innerWidth,a=window.innerHeight,r=document.body.offsetHeight,c=S(t),i=S(e);return{vw:n,vh:a,dh:r,elementOffsetTop:c.t+ +window.scrollY,elementOffsetleft:c.l+window.scrollX,elem:c,cal:i}}(e,t),a=n.cal,r=n.elem,c=n.vw,i=n.vh,o=n.dh,l=n.elementOffsetTop,d=n.elementOffsetleft,s=function(e){var t=e.elem,n=e.cal;return{t:t.t-n.h-10,b:t.b+n.h+10,l:t.w>n.w?t.l:t.l-n.w,r:t.w>n.w?t.r:t.r+n.w}}(n),u=function(e){var t=e.elementOffsetTop,n=e.elem,a=e.cal;return{t:t-a.h-10,b:t+n.h+a.h+10}}(n),v=s.l>0,m=c>s.r,f=s.t>0,h=i>s.b,p=u.t>0,y=o>u.b,g=null,b=null;return m&&(b=d),!m&&v&&(b=d+r.w-a.w),m||v||(b=(c-a.w)/2),h&&(g=l+r.h+5),!h&&f&&(g=l-a.h-5),h||f||(y&&(g=l+r.h+5),!y&&p&&(g=l-a.h-5),y||p||(g=(i-a.h)/2)),{top:g,left:b}},j=function(e){return{active:function(){e.classList.remove("mc-select__nav--inactive")},inactive:function(){e.classList.add("mc-select__nav--inactive")}}},N=function(e,t){var n=e.calendar,a=e.calendarDisplay,r=e.calendarHeader,c=e.monthYearPreview;return{display:{target:t,date:null,set setDate(e){this.date=e,a.dispatchEvent(new CustomEvent(d,{bubbles:!0}))}},header:{target:t,month:null,year:null,set setTarget(e){this.target=e,b(r)},set setMonth(e){this.month=e,b(r)},set setYear(e){this.year=e,b(r)}},preview:{target:null,month:null,year:null,set setTarget(e){this.target=e,g(c)},set setMonth(e){this.month=e,g(c)},set setYear(e){this.year=e,g(c)}},calendar:{date:null,set setDate(e){this.date=e,n.dispatchEvent(new CustomEvent(l,{bubbles:!0}))}}}},A=function(e){var t=null,n=null,a=null,r=!1;return{opened:!1,closed:!0,blured:!1,isOpening:!1,isClosing:!1,isBluring:!1,open:function(n){var c=this;this.isClosing||(r=a&&a._id===n._id,this.isOpening=!0,clearTimeout(t),function(e,t){e.dispatchEvent(new CustomEvent(i,{bubbles:!0,detail:{instance:t}}))}(e,n),t=setTimeout((function(){c.isOpening=!1,c.opened=!0,c.closed=!1,a=n}),200))},close:function(){var t=this;this.closed||this.isOpening||this.isClosing||(r=!1,this.isClosing=!0,clearTimeout(n),e.dispatchEvent(new CustomEvent(o,{bubbles:!0})),n=setTimeout((function(){t.isClosing=!1,t.opened=!1,t.closed=!0}),200))},blur:function(){var e=this;return this.isBluring=!0,E(100).then((function(){return e.closed||e.isOpening||e.isClosing?!r:!(a&&!a.options.closeOnBlur)&&(e.close(),e.isBluring=!1,e.blured=!0,!0)}))}}},P=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:16;return parseInt(Math.ceil(Math.random()*Date.now()).toPrecision(e)).toString(16)};function F(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function V(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};
591t%2?F(Object(n),!0).forEach((function(t){B(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):F(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function B(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function q(e){return function(e){if(Array.isArray(e))return H(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return H(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return H(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function H(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=new Array(t);n<t;n++)a[n]=e[n];return a}var W=function(e){var t=Object.prototype.toString.call(e).match(/\s([a-zA-Z]+)/)[1].toLowerCase();return{object:function(){return"object"===t},array:function(){return"array"===t},date:function(){return"date"===t},number:function(){var n=Number.isNaN(e);return"number"===t&&!n},string:function(){return"string"===t},boolean:function(){return"boolean"===t},func:function(){return"function"===t}}},I=function(e){return W(e).string()&&/(?:#|0x)(?:[a-f0-9]{3}|[a-f0-9]{6})\b|(?:rgb|hsl)a?\([^\)]*\)/gi.test(e)},$=function(e){var t=/^(?:(d{1,4}|m{1,4}|y{4}|y{2})?\b(?:(?:,\s)|[.-\s\/]{1})?(d{1,4}|m{1,4}|y{4}|y{2})?\b(?:(?:,\s)|[.-\s\/]{1})?(d{1,4}|m{1,4}|y{4}|y{2})\b(?:(?:,\s)|[.-\s\/]{1})?(d{1,4}|m{1,4}|y{2}|y{4})?\b)$/gi;return{isValid:function(){var n=t.test(e);return n||console.error(new Error('"'.concat(e,'" format is not supported')))},replaceMatch:function(n){return e.replace(t,(function(e){for(var t=arguments.length,a=new Array(t>1?t-1:0),r=1;r<t;r++)a[r-1]=arguments[r];return a.forEach((function(t){t&&(e=e.replace(t,n[t]))})),e}))}}},z=function(e,t){return W(t).object()&&W(e).array()&&Object.keys(t).every((function(t){return e.includes(t)}))},J=function(e,t){return z(e,t)&&Object.keys(t).every((function(e){return I(t[e])}))},K=function(e,t){var n=Object.keys(t).filter((function(n){return!t[n](e[n])})).map((function(e){return new Error('Data does not match the schema for property: "'.concat(e,'"'))}));return 0===n.length||(n.forEach((function(e){return console.error(e)})),!1)},U={date:function(e){return W(e).date()},title:function(e){return W(e).string()},description:function(e){return W(e).string()}},R={type:function(e){return W(e).string()},color:function(e){return/^#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/.test(e)}},X={theme_color:function(e){return I(e)},main_background:function(e){return I(e)},active_text_color:function(e){return I(e)},inactive_text_color:function(e){return I(e)},display:function(e){return J(["foreground","background"],e)},picker:function(e){return J(["foreground","background"],e)},picker_header:function(e){return J(["active","inactive"],e)},weekday:function(e){return J(["foreground"],e)},button:function(e){return z(["success","danger"],e)&&Object.keys(e).every((function(t){return J(["foreground"],e[t])}))},date:function(e){var t=z(["active","inactive","marcked"],e),n=Object.keys(e).every((function(t){var n=e[t],a=z(["default","picked","today"],n);if("marcked"===t)return J(["foreground"],n);var r=Object.keys(n).every((function(e){return J("default"===e?["foreground"]:["foreground","background"],n[e])}));return a&&r}));return t&&n},month_year_preview:function(e){var t=z(["active","inactive"],e),n=Object.keys(e).every((function(t){var n=e[t],a=z(["default","picked"],n),r=Object.keys(n).every((function(e){return J("default"===e?["foreground"]:["foreground","background"],n[e])}));return a&&r}));return t&&n}},G={el:function(e){return/^[#][-\w]+$/.test(e)},context:function(e){return e.nodeType==Node.ELEMENT_NODE||e.nodeType==Node.DOCUMENT_FRAGMENT_NODE},dateFormat:function(e){return $(e).isValid()},bodyType:function(e){return["modal","inline","permanent"].includes(e)},autoClose:function(e){return W(e).boolean()},closeOndblclick:function(e){return W(e).boolean()},closeOnBlur:function(e){return W(e).boolean()},showCalendarDisplay:function(e){return W(e).boolean()},customWeekDays:function(e){return W(e).array()&&7===e.length&&e.every((function(e){return/^[^\d\s]{2,}$/.test(e)}))},customMonths:function(e){return W(e).array()&&12===e.length&&e.every((function(e){return/^[^\d\s]{2,}$/.test(e)}))}
591,customOkBTN:function(e){return W(e).string()},customClearBTN:function(e){return W(e).string()},customCancelBTN:function(e){return W(e).string()},firstWeekday:function(e){return W(e).number()&&/^[0-6]{1}$/.test(e)},selectedDate:function(e){return W(e).date()},minDate:function(e){return W(e).date()},maxDate:function(e){return W(e).date()},jumpToMinMax:function(e){return W(e).boolean()},jumpOverDisabled:function(e){return W(e).boolean()},disableWeekends:function(e){return W(e).boolean()},disableWeekDays:function(e){return W(e).array()&&e.every((function(e){return/^[0-6]{1}$/.test(e)}))},disableDates:function(e){return W(e).array()&&e.every((function(e){return W(e).date()}))},allowedMonths:function(e){return W(e).array()&&e.length<12&&e.every((function(e){return W(e).number()&&e<12}))},allowedYears:function(e){return W(e).array()&&e.every((function(e){return W(e).number()}))},disableMonths:function(e){return W(e).array()&&e.length<12&&e.every((function(e){return W(e).number()&&e<12}))},disableYears:function(e){return W(e).array()&&e.every((function(e){return W(e).number()}))},markDates:function(e){return W(e).array()&&e.every((function(e){return W(e).date()}))},markDatesCustom:function(e){return W(e).func()},daterange:function(e){return W(e).boolean()},theme:function(e){return W(e).object()&&(t=e,n=X,0===(a=Object.keys(t).filter((function(e){return n.hasOwnProperty(e)&&!n[e](t[e])})).map((function(e){return new Error('Data does not match the schema for property: "'.concat(e,'"'))}))).length||(a.forEach((function(e){return console.error(e)})),!1));var t,n,a},events:function(e){return W(e).array()&&e.every((function(e){return W(e).object()&&K(e,U)}))},eventColorScheme:function(e){return W(e).array()&&e.every((function(e){return W(e).object()&&K(e,R)}))}},Z=function(e,t){var n=Object.keys(e).filter((function(e){return!t.hasOwnProperty(e)})).map((function(e){return new Error('Property "'.concat(e,'" is not recognized'))}));e.hasOwnProperty("allowedMonths")&&e.hasOwnProperty("disableMonths")&&n.unshift(new Error('"disableMonths" option cannot be used along with "allowedMonths" option')),e.hasOwnProperty("allowedYears")&&e.hasOwnProperty("disableYears")&&n.unshift(new Error('"disableYears" option cannot be used along with "allowedYears" option'));var a=Object.keys(e).filter((function(n){return t.hasOwnProperty(n)&&!G[n](e[n])})).map((function(e){return new Error('Data does not match the schema for property: "'.concat(e,'"'))}));return e.hasOwnProperty("minDate")&&e.hasOwnProperty("maxDate")&&O(e.minDate)>=O(e.maxDate)&&n.push(new Error("maxDate should be greater than minDate")),a.length>0&&n.push.apply(n,q(a)),n.length>0?n.forEach((function(e){return console.error(e)})):(t.context=document.body,V(V({},t),e))},Q=function(e,t){return'<span style="transform: translateX('.concat("next"===e?"-100":"100",'px);">').concat(t,"</span>")};var ee=function(e){e.linkedElement&&(e.linkedElement.onfocus=function(t){e.open()})},te=function(e,t){return!(!e||!t)&&O(e)<O(t)},ne=function(e,t){return!(!e||!t)&&O(e)>O(t)},ae=function(e,t){var n=e.allowedMonths,a=e.disableMonths;return n.length?n.includes(t):!a.includes(t)},re=function(e,t){var n=e.disableYears,a=e.allowedYears;return a.length?a.includes(t):!n.includes(t)},ce=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return{date:e,day:e.getDay(),dateNumb:e.getDate(),month:e.getMonth(),year:e.getFullYear(),classList:[]}},ie=function(e,t){var n=e.options,a=e.pickedDate,r=new Date(t.getFullYear(),t.getMonth(),1),c=r.getMonth(),i=function(t){var r=["mc-date"];return t.ariaLabel=t.date.toDateString(),!function(e,t){return t.month===e}(c,t)||!ae(n,t.month)||!re(n,t.year)||function(e,t){var n=e.prevLimitDate,a=e.nextLimitDate,r=t.date,c=!!n&&O(r)<O(n),i=!!a&&O(a)<O(r);return c||i}(e,t)||function(e,t){var n=e.disableWeekends,a=t.day;return!!n&&(0===a||6===a)}(n,t)||function(e,t){var n=e.disableWeekDays,a=t.day;return!!n.length&&n.some((function(e){return e===a}))}(n,t)||function(e,t){var n=e.disableDates,a=t.date;return!!n.length&&n.some((function(e){return O(e)===O(a)}))}(n,t)?(r.push("mc-date--inactive"),t.tabindex=-1):(r.push("mc-date--active"),t.tabindex=0),function(e,t){var n=t.date;return null!==e&&O(e)===O(n)}(a,t)&&(r.push("mc-date--picked"),t.ariaLabel="Picked: ".concat(t.ariaLabel)),function(e,t){var n=e.options,a=e.markCustomCallbacks,r=t.date,c=n.markDates.some((function(e){return O(e)===O(r)})),i=a.some((function(e){return e.apply(null,[r])}));return c||i}(e,t)&&(r.push("mc-date--marked"),t.ariaLabel="Marked: ".concat(t.ariaLabel)),function(e){var t=e.date;return O(t)===O(new Date)}(t)&&(r.push("mc-date--today"),t.ariaLabel="Today: ".concat(t.ariaLabel)),t.classList=r.join(" "),t};return function(e,t){var n=[],a=e.firstWeekday,r=-1*(t.getDay()-(a-7)%7-1)%7;for(r=r>-6?r:1;n.length<42;){var c=new Date(t),i=new Date(c.setDate(r++));n.push(ce(i))}return n}(n,r).map((function(e){return i(e)}))};function oe(e){var t=document.createElement("div");t.className="mc-calendar",t.setAttribute("tabindex",0),t.innerHTML='<div class="mc-display" data-target="calendar">\n<div class="mc-display__header">\n<h3 class="mc-display__day">Thursday</h3>\n</div>\n<div class="mc-display__body">\n<div class="mc-display__data mc-display__data--primary">\n<h1 class="mc-display__date">1</h1>\n</div>\n<div class="mc-display__data mc-display__data--secondary">\n<h3 class="mc-display__month">January</h3>\n<h2 class="mc-display__year">1970</h2>\n</div>\n</div>\n</div>\n<div class="mc-picker">\n<div class="mc-picker__header mc-select mc-container" data-target="calendar">\n<div class="mc-select__month">\n<button id="mc-picker__month--prev" class="mc-select__nav mc-select__nav--prev" tabindex="0" aria-label="Previous Month">\n<svg class="icon-angle icon-angle--left" viewBox="0 0 256 512" width=\'10px\' height=\'100%\'>
591\n<path fill="currentColor" d="M31.7 239l136-136c9.4-9.4 24.6-9.4 33.9 0l22.6 22.6c9.4 9.4 9.4 24.6 0 33.9L127.9 256l96.4 96.4c9.4 9.4 9.4 24.6 0 33.9L201.7 409c-9.4 9.4-24.6 9.4-33.9 0l-136-136c-9.5-9.4-9.5-24.6-.1-34z" />\n</svg>\n</button>\n<div id="mc-current--month" class="mc-select__data mc-select__data--month" tabindex="0" aria-label="Click to select month" aria-haspopup="true" aria-expanded="false" aria-controls="mc-month-year__preview">\n<span>January</span>\n</div>\n<button id="mc-picker__month--next" class="mc-select__nav mc-select__nav--next" tabindex="0" aria-label="Next Month">\n<svg class="icon-angle icon-angle--right" viewBox="0 0 256 512" width=\'10px\' height=\'100%\'>\n<path fill="currentColor" d="M224.3 273l-136 136c-9.4 9.4-24.6 9.4-33.9 0l-22.6-22.6c-9.4-9.4-9.4-24.6 0-33.9l96.4-96.4-96.4-96.4c-9.4-9.4-9.4-24.6 0-33.9L54.3 103c9.4-9.4 24.6-9.4 33.9 0l136 136c9.5 9.4 9.5 24.6.1 34z" />\n</svg>\n</button>\n</div>\n<div class="mc-select__year">\n<button id="mc-picker__year--prev" class="mc-select__nav mc-select__nav--prev">\n<svg class="icon-angle icon-angle--left" viewBox="0 0 256 512" width=\'10px\' height=\'100%\'>\n<path fill="currentColor" d="M31.7 239l136-136c9.4-9.4 24.6-9.4 33.9 0l22.6 22.6c9.4 9.4 9.4 24.6 0 33.9L127.9 256l96.4 96.4c9.4 9.4 9.4 24.6 0 33.9L201.7 409c-9.4 9.4-24.6 9.4-33.9 0l-136-136c-9.5-9.4-9.5-24.6-.1-34z" />\n</svg>\n</button>\n<div id="mc-current--year" class="mc-select__data mc-select__data--year" tabindex="0" aria-label="Click to select year" aria-haspopup="true" aria-expanded="false" aria-controls="mc-month-year__preview">\n<span>1970</span>\n</div>\n<button id="mc-picker__year--next" class="mc-select__nav mc-select__nav--next">\n<svg class="icon-angle icon-angle--right" viewBox="0 0 256 512" width=\'10px\' height=\'100%\'>\n<path fill="currentColor" d="M224.3 273l-136 136c-9.4 9.4-24.6 9.4-33.9 0l-22.6-22.6c-9.4-9.4-9.4-24.6 0-33.9l96.4-96.4-96.4-96.4c-9.4-9.4-9.4-24.6 0-33.9L54.3 103c9.4-9.4 24.6-9.4 33.9 0l136 136c9.5 9.4 9.5 24.6.1 34z" />\n</svg>\n</button>\n</div>\n<div id="mc-picker__month-year" class="mc-picker-vhidden" aria-live="polite" aria-atomic="true">January 1970</div>\n</div>\n<div class="mc-picker__body">\n<table class="mc-table mc-container" aria-labelledby="mc-picker__month-year">\n<thead class="mc-table__header">\n<tr>\n<th class="mc-table__weekday">S</th>\n<th class="mc-table__weekday">M</th>\n<th class="mc-table__weekday">T</th>\n<th class="mc-table__weekday">W</th>\n<th class="mc-table__weekday">T</th>\n<th class="mc-table__weekday">F</th>\n<th class="mc-table__weekday">S</th>\n</tr>\n</thead>\n<tbody class="mc-table__body">\n<tr class="mc-table__week">\n<td class="mc-date mc-date--inactive" data-val-date="">28</td>\n<td class="mc-date mc-date--inactive" data-val-date="">29</td>\n<td class="mc-date mc-date--inactive" data-val-date="">30</td>\n<td class="mc-date mc-date--inactive" data-val-date="">31</td>\n<td class="mc-date mc-date--active" data-val-date="">1</td>\n<td class="mc-date mc-date--active" data-val-date="">2</td>\n<td class="mc-date mc-date--active" data-val-date="">3</td>\n</tr>\n<tr class="mc-table__week">\n<td class="mc-date mc-date--active" data-val-date="">4</td>\n<td class="mc-date mc-date--active" data-val-date="">5</td>\n<td class="mc-date mc-date--active" data-val-date="">6</td>\n<td class="mc-date mc-date--active" data-val-date="">7</td>\n<td class="mc-date mc-date--active" data-val-date="">8</td>\n<td class="mc-date mc-date--active" data-val-date="">9</td>\n<td class="mc-date mc-date--active" data-val-date="">10</td>\n</tr>\n<tr class="mc-table__week">\n<td class="mc-date mc-date--active" data-val-date="">11</td>\n<td class="mc-date mc-date--active" data-val-date="">12</td>\n<td class="mc-date mc-date--active" data-val-date="">13</td>\n<td class="mc-date mc-date--active" data-val-date="">14</td>\n<td class="mc-date mc-date--active" data-val-date="">15</td>\n<td class="mc-date mc-date--active" data-val-date="">16</td>\n<td class="mc-date mc-date--active" data-val-date="">17</td>\n</tr>\n<tr class="mc-table__week">\n<td class="mc-date mc-date--active" data-val-date="">18</td>\n<td class="mc-date mc-date--active" data-val-date="">19</td>\n<td class="mc-date mc-date--active" data-val-date="">20</td>\n<td class="mc-date mc-date--active" data-val-date="">21</td>\n<td class="mc-date mc-date--active" data-val-date="">22</td>\n<td class="mc-date mc-date--active" data-val-date="">23</td>\n<td class="mc-date mc-date--active" data-val-date="">24</td>\n</tr>\n<tr class="mc-table__week">\n<td class="mc-date mc-date--active" data-val-date="">25</td>\n<td class="mc-date mc-date--active" data-val-date="">26</td>\n<td class="mc-date mc-date--active" data-val-date="">27</td>\n<td class="mc-date mc-date--active" data-val-date="">28</td>\n<td class="mc-date mc-date--active" data-val-date="">29</td>\n<td class="mc-date mc-date--active" data-val-date="">30</td>\n<td class="mc-date mc-date--active" data-val-date="">31</td>\n</tr>\n<tr class="mc-table__week">\n<td class="mc-date mc-date--inactive" data-val-date="">1</td>\n<td class="mc-date mc-date--inactive" data-val-date="">2</td>\n<td class="mc-date mc-date--inactive" data-val-date="">3</td>\n<td class="mc-date mc-date--inactive" data-val-date="">4</td>\n<td class="mc-date mc-date--inactive" data-val-date="">5</td>\n<td class="mc-date mc-date--inactive" data-val-date="">6</td>\n<td class="mc-date mc-date--inactive" data-val-date="">7</td>\n</tr>\n</tbody>\n</table>\n<div id="mc-month-year__preview" class="mc-month-year__preview" data-target=null role="menu">\n<div class="mc-month-year__cell"></div>\n<div class="mc-month-year__cell"></div>\n<div class="mc-month-year__cell"></div>\n<div class="mc-month-year__cell"></div>\n<div class="mc-month-year__cell"></div>\n<div class="mc-month-year__cell"></div>\n<div class="mc-month-year__cell"></div>\n<div class="mc-month-year__cell"></div>\n<div class="mc-month-year__cell"></div>\n<div class="mc-month-year__cell"></div>\n<div class="mc-month-year__cell"></div>\n<div class="mc-month-year__cell"></div>\n</div>\n</div>\n<div class="mc-picker__footer mc-container">
591\n<div class="mc-footer__section mc-footer__section--primary">\n<button id="mc-btn__clear" class="mc-btn mc-btn--danger" tabindex="0">Clear</button>\n</div>\n<div class="mc-footer__section mc-footer__section--secondary">\n<button id="mc-btn__cancel" class="mc-btn mc-btn--success" tabindex="0">CANCEL</button>\n<button id="mc-btn__ok" class="mc-btn mc-btn--success" tabindex="0">OK</button>\n</div>\n</div>\n</div>',document.body.appendChild(t);var n=se(t);return function(e){var t=null,n=!0,a=e.calendarStates,r=e.calendar,c=e.calendarDisplay,g=e.calendarPicker,b=e.calendarHeader,x=e.currentMonthSelect,L=e.currentYearSelect,E=e.monthYearPreview,T=e.monthNavPrev,O=e.monthNavNext,S=e.yearNavPrev,Y=e.yearNavNext,j=e.dateCells,N=e.previewCells,A=e.cancelButton,P=e.okButton,F=e.clearButton;r.addEventListener(i,(function(n){t=n.detail.instance,xe(e,t),r.classList.add("mc-calendar--opened"),r.focus(),t.onOpenCallbacks.forEach((function(e){return e.apply(null)}))})),r.addEventListener(o,(function(){var e=t,n=(e.store,e.options),a=e.onCloseCallbacks;r.classList.remove("mc-calendar--opened"),"inline"==n.bodyType&&r.removeAttribute("style"),t=null,a.forEach((function(e){return e.apply(null)}))})),r.addEventListener(v,(function(e){var n=t.options,r=n.autoClose,c=n.closeOndblclick;if(!e.target.classList.contains("mc-date--inactive")){if(e.detail.dblclick){if(!c)return;return pe(t,a)}t.pickedDate=e.detail.date,t.store.display.setDate=e.detail.date,j.forEach((function(e){return e.classList.remove("mc-date--picked")})),e.target.classList.add("mc-date--picked"),r&&pe(t,a)}})),r.addEventListener(m,(function(e){var n=e.detail,r=n.data,c=n.dblclick,i=t,o=i.store,l=i.options,d=i.viewLayers,s=l.customMonths,u=l.autoClose,v=l.closeOndblclick,m=o.preview.target;if(!e.target.classList.contains("mc-month-year__cell--inactive")){if(N.forEach((function(e){return e.classList.remove("mc-month-year__cell--picked")})),e.target.classList.add("mc-month-year__cell--picked"),c&&o.preview.target===d[0]){if(!v)return;return pe(t,a)}var f=o.preview.year,h=s[o.header.month];"year"===d[0]&&(h=s[0]),"month"===m&&(h=r),"year"===m&&(f=Number(r));var p=s.findIndex((function(e){return e.includes(h)})),y=ve(t,new Date(f,p));o.header.month=y.getMonth(),o.preview.year=y.getFullYear(),"year"!==d[0]&&(o.header.year=y.getFullYear()),o.preview.month=y.getMonth(),"calendar"!==d[0]&&(t.pickedDate=y),"calendar"!==d[0]&&(o.display.setDate=y),"calendar"===d[0]&&(o.calendar.setDate=y),o.preview.setTarget=d[0],o.header.setTarget=d[0],x.setAttribute("aria-expanded",!1),L.setAttribute("aria-expanded",!1),"month"==m&&x.focus(),"year"==m&&L.focus(),u&&o.preview.target===d[0]&&pe(t,a)}})),r.addEventListener(p,(function(e){var n=e.detail,a=n.instance,r=n.date;if(a.pickedDate=r,ye(a),t._id===a._id){var c=t.store;c.display.setDate=r,c.calendar.setDate=c.calendar.date,"calendar"!==c.preview.target&&(c.preview.month=r.getMonth(),c.preview.year=r.getFullYear(),c.preview.setTarget=c.preview.target),"month"===c.header.target&&(c.header.month=r.getMonth(),c.header.year=r.getFullYear(),c.header.setTarget=c.header.target)}})),r.addEventListener(l,(function(n){return be(e,t)})),r.addEventListener("blur",(function(e){e.preventDefault(),!r.contains(e.relatedTarget)&&t&&a.blur()})),r.addEventListener(y,(function(e){t.onCancelCallbacks.forEach((function(e){return e.apply(null)})),a.close()})),c.addEventListener(d,(function(n){ge(e,t)})),b.addEventListener(s,(function(n){return _e(e,t)})),E.addEventListener(u,(function(n){return ke(e,t)})),x.addEventListener(f,(function(e){if(n){n=!n;var a=C(),r=t,c=r.store,i=r.viewLayers,o=r.options,l=r.onMonthChangeCallbacks,d=r.onYearChangeCallbacks,s=o.customMonths,u=e.detail.direction,v=s[c.header.month],m=c.header.year,f=me(t,v,u),h=f.newMonth,p=f.overlap,y=0!==p?fe(o,m,u):m,g=new Date(y,h.index,1);0!==p&&(L.innerHTML+=Q(u,y),a.slide(L.children[0],L.children[1],u),d.forEach((function(e){return e.apply(null)}))),e.target.innerHTML+=Q(u,h.name),a.slide(e.target.children[0],e.target.children[1],u),a.onFinish((function(){"calendar"===i[0]&&(c.calendar.setDate=g),"calendar"!==i[0]&&(c.display.setDate=g),"month"===i[0]&&(t.pickedDate=g),c.header.year=g.getFullYear(),c.header.setMonth=g.getMonth(),c.preview.year=g.getFullYear(),c.preview.setMonth=g.getMonth(),l.forEach((function(e){return e.apply(null)})),n=!n}))}})),L.addEventListener(h,(function(e){if(n){n=!n;var a=e.detail.direction,r=t,c=r.store,i=r.viewLayers,o=r.options,l=r.onMonthChangeCallbacks,d=r.onYearChangeCallbacks,s=r.prevLimitDate,u=r.nextLimitDate,v=o.customMonths,m=C(),f="next"===a,h=c.header.year,p=c.header.month,y=c.header.target,g=fe(o,h,a),b=null,_=g&&ve(t,new Date(g,p,1));if(g||(_=f?u:s),_.getMonth()!==p&&(b=v[_.getMonth()]),"year"===y){var k=c.header.year,w=f?k+12:k-12;return c.header.setYear=w,c.preview.setTarget="year",void(n=!n)}b&&(x.innerHTML+=Q(a,b),m.slide(x.children[0],x.children[1],a),l.forEach((function(e){return e.apply(null)}))),g&&(e.target.innerHTML+=Q(a,g),m.slide(e.target.children[0],e.target.children[1],a),d.forEach((function(e){return e.apply(null)}))),m.onFinish((function(){"calendar"===i[0]&&(c.calendar.setDate=_),"calendar"!==i[0]&&(c.display.setDate=_),"calendar"!==i[0]&&(t.pickedDate=_),c.preview.year=_.getFullYear(),c.preview.setMonth=_.getMonth(),c.header.year=_.getFullYear(),c.header.setMonth=_.getMonth(),n=!n}))}})),x.addEventListener("click",(function(){return we(t,e)})),L.addEventListener("keydown",(function(n){"Enter"==n.key&&we(t,e,"keyboard"),"Tab"!=n.key||n.shiftKey||(n.preventDefault(),L.focus())})),L.addEventListener("click",(function(){return De(t,e)})),L.addEventListener("keydown",(function(n){if("Enter"==n.key&&De(t,e,"keyboard"),"Tab"==n.key){if(n.preventDefault(),n.shiftKey)return x.focus();
591O.focus()}})),N.forEach((function(e){e.addEventListener("click",(function(e){return 1===e.detail&&D(e.currentTarget)})),e.addEventListener("dblclick",(function(e){return 2===e.detail&&D(e.currentTarget,!0)})),e.addEventListener("keydown",(function(e){return"Enter"===e.key&&D(e.currentTarget)}))})),j.forEach((function(e){e.addEventListener("click",(function(e){return 1===e.detail&&_(e.target)})),e.addEventListener("dblclick",(function(e){return 2===e.detail&&_(e.target,!0)})),e.addEventListener("keydown",(function(e){"Enter"===e.key&&_(e.target),"End"===e.key&&F.focus()}))})),T.addEventListener("click",(function(e){e.currentTarget.classList.contains("mc-select__nav--inactive")||k(x,"prev")})),O.addEventListener("click",(function(e){e.currentTarget.classList.contains("mc-select__nav--inactive")||k(x,"next")})),O.addEventListener("keydown",(function(e){if("Tab"==e.key){if(e.preventDefault(),e.shiftKey)return L.focus();b.nextElementSibling.querySelector('[tabindex="0"]').focus()}})),S.addEventListener("click",(function(e){e.currentTarget.classList.contains("mc-select__nav--inactive")||w(L,"prev")})),Y.addEventListener("click",(function(e){e.currentTarget.classList.contains("mc-select__nav--inactive")||w(L,"next")})),A.addEventListener("click",(function(e){return M(r)})),g.addEventListener("keyup",(function(e){return"Escape"==e.key&&M(r)})),P.addEventListener("click",(function(e){return pe(t,a)})),F.addEventListener("click",(function(e){var n=t,a=n.linkedElement,r=n.onClearCallbacks;j.forEach((function(e){return e.classList.remove("mc-date--picked")})),t.pickedDate=null,a&&(a.value=null),r.forEach((function(e){return e.apply(null)}))}))}(n),n}function le(e){return function(e){if(Array.isArray(e))return de(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return de(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return de(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function de(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=new Array(t);n<t;n++)a[n]=e[n];return a}var se=function(e){return{calendar:e,calendarDisplay:e.querySelector(".mc-display"),calendarPicker:e.querySelector(".mc-picker"),displayDay:e.querySelector(".mc-display__day"),displayDate:e.querySelector(".mc-display__date"),displayMonth:e.querySelector(".mc-display__month"),displayYear:e.querySelector(".mc-display__year"),accessibilityMonthYear:e.querySelector("#mc-picker__month-year"),calendarHeader:e.querySelector(".mc-picker__header"),currentMonthSelect:e.querySelector("#mc-current--month"),currentYearSelect:e.querySelector("#mc-current--year"),monthNavPrev:e.querySelector("#mc-picker__month--prev"),monthNavNext:e.querySelector("#mc-picker__month--next"),yearNavPrev:e.querySelector("#mc-picker__year--prev"),yearNavNext:e.querySelector("#mc-picker__year--next"),weekdays:e.querySelectorAll(".mc-table__weekday"),okButton:e.querySelector("#mc-btn__ok"),cancelButton:e.querySelector("#mc-btn__cancel"),clearButton:e.querySelector("#mc-btn__clear"),dateCells:e.querySelectorAll(".mc-date"),monthYearPreview:e.querySelector(".mc-month-year__preview"),previewCells:e.querySelectorAll(".mc-month-year__cell"),calendarStates:A(e)}},ue=function(e){var t=e.dateFormat.split(/(?:(?:,\s)|[.-\s\/]{1})/).map((function(e){return e.charAt(0).toUpperCase()})),n=le(new Set(t)).sort().join("");return r[n]},ve=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=e.options,a=e.pickedDate,r=e.prevLimitDate,c=e.nextLimitDate,i=e.activeMonths,o=a||new Date,l=o.getMonth();if(!ae(n,l)){var d=i.reduce((function(e,t){return Math.abs(t.index-l)<Math.abs(e.index-l)?t:e}));o.setMonth(d.index)}return t&&(o=t),r&&te(o,r)&&(o=r),c&&ne(o,c)&&(o=c),o},me=function(e,t,n){var a=e.activeMonths,r=e.options,c=r.customMonths;if(!r.jumpOverDisabled){var i=L(c,c.indexOf(t),n),o=i.newIndex,l=i.overlap;return{newMonth:{name:c[o],index:o},overlap:l}}var d=a.findIndex((function(e){return e.name===t})),s=L(a,d,n),u=s.newIndex,v=s.overlap;return{newMonth:a[u],overlap:v}},fe=function(e,t,n){var a=e.allowedYears,r="next"===n?t+1:t-1;
591if(!e.jumpOverDisabled)return r;if(a.length){var c=L(a,a.indexOf(t),n),i=c.newIndex;return r=0!==c.overlap?null:a[i]}for(;!re(e,r);)"next"===n?r++:r--;return r},he=function(e){return e.customMonths.map((function(t,n){return ae(e,n)?{name:t,index:n}:null})).filter((function(e){return e}))},pe=function(e,t){if(e){var n=e.pickedDate,a=e.linkedElement,r=e.onSelectCallbacks,c=e.options,i=c.dateFormat,o=n?T(n,c,i):null;a&&(a.value=o),r.forEach((function(e){return e.apply(null,[n,o])})),t.close()}},ye=function(e){var t=e.pickedDate,n=e.linkedElement,a=e.options,r=a.dateFormat;n&&t&&(n.value=T(t,a,r))},ge=function(e,t){var n=e.displayDay,a=e.displayDate,r=e.displayMonth,c=e.displayYear,i=e.calendarDisplay,o=t.store,l=t.options,d=o.display,s=d.target,u=d.date,v=l.customWeekDays,m=l.customMonths;l.showCalendarDisplay?i.classList.remove("u-display-none"):i.classList.add("u-display-none"),i.setAttribute("data-target",o.display.target),c.innerText=u.getFullYear(),"year"!==s&&(r.innerText=m[u.getMonth()],"month"!==s&&(n.innerText=v[u.getDay()],a.innerText=u.getDate()))},be=function(e,t){var n=e.dateCells,a=t.store,r=t.viewLayers,c=a.calendar.date;if("calendar"===r[0]){var i=ie(t,c);n.forEach((function(e,t){e.innerText=i[t].dateNumb,e.classList=i[t].classList,e.setAttribute("data-val-date",i[t].date),e.setAttribute("tabindex",i[t].tabindex),e.setAttribute("aria-label",i[t].ariaLabel)}))}},_e=function(e,t){var n=e.currentMonthSelect,a=e.currentYearSelect,r=e.calendarHeader,c=e.accessibilityMonthYear,i=t.store,o=t.options.customMonths,l=i.header,d=l.target,s=l.month,u=l.year;if(r.setAttribute("data-target",d),function(e,t){var n=e.monthNavPrev,a=e.monthNavNext,r=e.yearNavPrev,c=e.yearNavNext,i=t.store,o=t.prevLimitDate,l=t.nextLimitDate,d=t.options,s=d.customMonths,u=d.jumpToMinMax,v=i.header.target,m=i.header.month,f=i.header.year,h=j(n),p=j(a),y=j(r),g=j(c);if(y.active(),g.active(),h.active(),p.active(),"year"===v)return h.inactive(),p.inactive(),o&&o.getFullYear()>f-1&&y.inactive(),void(l&&l.getFullYear()<f+12&&g.inactive());var b=me(t,s[m],"prev"),_=me(t,s[m],"next"),k="year"!==v&&fe(d,f,"prev"),w="year"!==v&&fe(d,f,"next");if("calendar"===v&&0!==b.overlap&&!k&&h.inactive(),"calendar"===v&&0!==b.overlap&&!k&&y.inactive(),"calendar"===v&&0!==_.overlap&&!w&&p.inactive(),"calendar"===v&&0!==_.overlap&&!w&&g.inactive(),o){var D=new Date(f,m,1),x=new Date(k,m+1,0),M=te(D,o),L=te(x,o);u&&M&&y.inactive(),u||!L&&w||y.inactive(),M&&h.inactive()}if(l){var E=new Date(f,m+1,0),C=new Date(w,m,1),T=ne(E,l),O=ne(C,l);u&&T&&g.inactive(),u||!O&&w||g.inactive(),T&&p.inactive()}}(e,t),"year"!==d)n.innerHTML="<span>".concat(o[s],"</span>"),a.innerHTML="<span>".concat(u,"</span>"),c.innerText="".concat(o[s]," ").concat(u);else{var v=u;a.innerHTML="<span>".concat(v,"</span><span> - </span><span>").concat(v+11,"</span>")}},ke=function(e,t){if(t){var n=e.monthYearPreview,a=t.store.preview.target,r=t.store.header.year;if("calendar"===a)return n.classList.remove("mc-month-year__preview--opened");n.setAttribute("data-target",a),n.classList.add("mc-month-year__preview--opened"),"month"==a&&function(e,t){var n=e.previewCells,a=e.currentMonthSelect,r=t.store,c=t.prevLimitDate,i=t.nextLimitDate,o=t.options,l=o.customMonths,d=l[r.preview.month],s=r.preview.year;a.setAttribute("aria-expanded",!0),l.map((function(e,t){var a=["mc-month-year__cell"],r=new Date(Number(s),t),l=new Date(Number(s),t+1,0),u=c&&O(l)<O(c),v=i&&O(r)>O(i),m=e;e===d&&(a.push("mc-month-year__cell--picked"),m="Current Month: ".concat(m)),u||v||!ae(o,t)||!re(o,Number(s))?(a.push("mc-month-year__cell--inactive"),n[t].setAttribute("tabindex",-1)):n[t].setAttribute("tabindex",0),n[t].classList=a.join(" "),n[t].innerHTML="<span>".concat(e.substr(0,3),"</span>"),n[t].setAttribute("aria-label",e)}))}(e,t),"year"==a&&function(e,t,n){var a=e.previewCells,r=e.currentYearSelect,c=t.store,i=t.prevLimitDate,o=t.nextLimitDate,l=t.options,d=i&&i.getFullYear(),s=o&&o.getFullYear(),u=c.preview.year;r.setAttribute("aria-expanded",!0),a.forEach((function(e,t){var r=["mc-month-year__cell"],c=n+t,v=i&&c<d,m=o&&c>s;c===u&&r.push("mc-month-year__cell--picked"),v||m||!re(l,c)?(r.push("mc-month-year__cell--inactive"),a[t].setAttribute("tabindex",-1)):a[t].setAttribute("tabindex",0),e.classList=r.join(" "),e.innerHTML="<span>
591".concat(c,"</span>")}))}(e,t,r)}},we=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"click",a=e.store,r=e.viewLayers;if("month"!==r[0]){var c=t.monthYearPreview,i=c.classList.contains("mc-month-year__preview--opened"),o="month"===a.preview.target;i&&o?a.preview.setTarget=r[0]:(a.header.setTarget="month",a.preview.setTarget="month","keyboard"==n&&c.querySelector('[tabindex="0"]').focus())}},De=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"click",a=e.store,r=e.viewLayers;if("year"!==r[0]){var c=t.monthYearPreview,i=c.classList.contains("mc-month-year__preview--opened"),o=a.preview.target,l="year"===o;if(i&&l)return a.header.year=a.preview.year,a.preview.setTarget=r[0],void(a.header.setTarget=r[0]);a.header.year=a.preview.year-4,a.header.setTarget="year",a.preview.setTarget="year","keyboard"==n&&c.querySelector('[tabindex="0"]').focus()}},xe=function(e,t){var n=e.calendar,a=t.store,r=t.viewLayers,c=t.options,i=t.pickedDate,o=c.bodyType,l=c.theme,d=ve(t),s=d.getFullYear(),u=d.getMonth();n.classList="mc-calendar",n.classList.add("mc-calendar--".concat(o)),a.display.target=r[0],a.display.setDate=i||new Date,a.calendar.setDate=d,a.header.month=u,a.header.year="year"===r[0]?s-4:s,a.preview.month=u,a.preview.year=s,a.header.setTarget=r[0],a.preview.setTarget=r[0],function(e,t){Object.values(t).forEach((function(t){return e.style.setProperty(t.cssVar,t.color)}))}(n,l),function(e,t){var n=e.weekdays,a=t.customWeekDays,r=t.firstWeekday;n.forEach((function(e,t){var n=(r+t)%a.length;e.innerText=a[n].substr(0,2),e.setAttribute("aria-label",a[n])}))}(e,c),function(e,t){var n=t.customOkBTN,a=t.customClearBTN,r=t.customCancelBTN,c=e.okButton,i=e.clearButton,o=e.cancelButton;c.innerText=n,i.innerText=a,o.innerText=r}(e,c),function(e,t){var n=e.calendar,a=t.options,r=t.linkedElement;if("inline"===a.bodyType){var c=Y(n,r),i=c.top,o=c.left;n.style.top="".concat(i,"px"),n.style.left="".concat(o,"px")}else n.style.removeProperty("top"),n.style.removeProperty("left")}(e,t)};function Me(e,t,n){n.allowedYears.sort((function(e,t){return e-t}));var r=null!==n.el?n.context.querySelector(n.el):null,c=he(n),i=function(e){var t=e.minDate,n=e.maxDate,a=e.allowedYears,r=null,c=null,i=he(e),o=i[0],l=i[i.length-1],d=a.length?Math.min.apply(Math,le(a)):null,s=a.length?Math.max.apply(Math,le(a)):null,u=d?new Date(d,o.index,1):null,v=s?new Date(s,l.index+1,0):null;return t&&u&&(r=new Date(Math.max(t,u))),n&&v&&(c=new Date(Math.min(n,v))),r||(r=t||u),c||(c=n||v),{prevLimitDate:r,nextLimitDate:c}}(n),o=i.prevLimitDate,l=i.nextLimitDate,d=ue(n),s=N(t,d[0]),u=function(e,t){var n,a,r,c,i,o,l,d,s,u,v,m,f,h,p,y,g,b,_,k,w,D,x,M,L,E,C,T,O,S,Y,j,N,A,P,F,V,B,q,H,W,I,$,z,J,K,U,R,X,G,Z,Q,ee,te,ne,ae,re,ce,ie,oe,le;return{theme_color:{cssVar:"--mc-theme-color",color:(null==t?void 0:t.theme_color)||e.theme_color},main_background:{cssVar:"--mc-main-bg",color:(null==t?void 0:t.main_background)||e.main_background},active_text_color:{cssVar:"--mc-active-text-color",color:(null==t?void 0:t.active_text_color)||e.active_text_color},inactive_text_color:{cssVar:"--mc-inactive-text-color",color:(null==t?void 0:t.inactive_text_color)||e.inactive_text_color},display_foreground:{cssVar:"--mc-display-foreground",color:(null==t||null===(n=t.display)||void 0===n?void 0:n.foreground)||e.display.foreground},display_background:{cssVar:"--mc-display-background",color:(null==t||null===(a=t.display)||void 0===a?void 0:a.background)||(null==t?void 0:t.theme_color)||e.display.background},picker_foreground:{cssVar:"--mc-picker-foreground",color:(null==t||null===(r=t.picker)||void 0===r?void 0:r.foreground)||(null==t?void 0:t.active_text_color)||e.picker.foreground},picker_background:{cssVar:"--mc-picker-background",color:(null==t||null===(c=t.picker)||void 0===c?void 0:c.background)||(null==t?void 0:t.main_background)||e.picker.background},picker_header_active:{cssVar:"--mc-picker-header-active",color:(null==t||null===(i=t.picker_header)||void 0===i?void 0:i.active)||e.picker_header.active},picker_header_inactive:{cssVar:"--mc-picker-header-inactive",color:(null==t||null===(o=t.picker_header)||void 0===o?void 0:o.inactive)||(null==t?void 0:t.inactive_text_color)||e.picker_header.inactive},weekday_foreground:{cssVar:"--mc-weekday-foreground",color:(null==t||null===(l=t.weekday)||void 0===l?void 0:l.foreground)||(null==t?void 0:t.theme_color)||e.weekday.foreground},button_success_foreground:{cssVar:"--mc-btn-success-foreground",color:(null==t||null===(d=t.button)||void 0===d||null===(s=d.success)||void 0===s?void 0:s.foreground)||(null==t?void 0:t.theme_color)||e.button.success.foreground},button_danger_foreground:{cssVar:"--mc-btn-danger-foreground",color:(null==t||null===(u=t.button)||void 0===u||null===(v=u.danger)||void 0===v?void 0:v.foreground)||e.button.danger.foreground},date_active_default_foreground:{cssVar:"--mc-date-active-def-foreground",color:(null==t||null===(m=t.date)||void 0===m||null===(f=m.active)||void 0===f||null===(h=f.default)||void 0===h?void 0:h.foreground)||(null==t?void 0:t.active_text_color)||e.date.active.default.foreground},date_active_picked_foreground:{cssVar:"--mc-date-active-pick-foreground",color:(null==t||null===(p=t.date)||void 0===p||null===(y=
591p.active)||void 0===y||null===(g=y.picked)||void 0===g?void 0:g.foreground)||e.date.active.picked.foreground},date_active_picked_background:{cssVar:"--mc-date-active-pick-background",color:(null==t||null===(b=t.date)||void 0===b||null===(_=b.active)||void 0===_||null===(k=_.picked)||void 0===k?void 0:k.background)||(null==t?void 0:t.theme_color)||e.date.active.picked.background},date_active_today_foreground:{cssVar:"--mc-date-active-today-foreground",color:(null==t||null===(w=t.date)||void 0===w||null===(D=w.active)||void 0===D||null===(x=D.today)||void 0===x?void 0:x.foreground)||(null==t?void 0:t.active_text_color)||e.date.active.today.foreground},date_active_today_background:{cssVar:"--mc-date-active-today-background",color:(null==t||null===(M=t.date)||void 0===M||null===(L=M.active)||void 0===L||null===(E=L.today)||void 0===E?void 0:E.background)||(null==t?void 0:t.inactive_text_color)||e.date.active.today.background},date_inactive_default_foreground:{cssVar:"--mc-date-inactive-def-foreground",color:(null==t||null===(C=t.date)||void 0===C||null===(T=C.inactive)||void 0===T||null===(O=T.default)||void 0===O?void 0:O.foreground)||(null==t?void 0:t.inactive_text_color)||e.date.inactive.default.foreground},date_inactive_picked_foreground:{cssVar:"--mc-date-inactive-pick-foreground",color:(null==t||null===(S=t.date)||void 0===S||null===(Y=S.inactive)||void 0===Y||null===(j=Y.picked)||void 0===j?void 0:j.foreground)||(null==t?void 0:t.theme_color)||e.date.inactive.picked.foreground},date_inactive_picked_background:{cssVar:"--mc-date-inactive-pick-background",color:(null==t||null===(N=t.date)||void 0===N||null===(A=N.inactive)||void 0===A||null===(P=A.picked)||void 0===P?void 0:P.background)||(null==t?void 0:t.theme_color)||e.date.inactive.picked.background},date_inactive_today_foreground:{cssVar:"--mc-date-inactive-today-foreground",color:(null==t||null===(F=t.date)||void 0===F||null===(V=F.inactive)||void 0===V||null===(B=V.today)||void 0===B?void 0:B.foreground)||(null==t?void 0:t.inactive_text_color)||e.date.inactive.today.foreground},date_inactive_today_background:{cssVar:"--mc-date-inactive-today-background",color:(null==t||null===(q=t.date)||void 0===q||null===(H=q.inactive)||void 0===H||null===(W=H.today)||void 0===W?void 0:W.background)||(null==t?void 0:t.inactive_text_color)||e.date.inactive.today.background},date_marcked_foreground:{cssVar:"--mc-date-marcked-foreground",color:(null==t||null===(I=t.date)||void 0===I||null===($=I.marcked)||void 0===$?void 0:$.foreground)||(null==t?void 0:t.theme_color)||e.date.marcked.foreground},month_year_preview_active_default_foreground:{cssVar:"--mc-prev-active-def-foreground",color:(null==t||null===(z=t.month_year_preview)||void 0===z||null===(J=z.active)||void 0===J||null===(K=J.default)||void 0===K?void 0:K.foreground)||(null==t?void 0:t.active_text_color)||e.month_year_preview.active.default.foreground},month_year_preview_active_picked_foreground:{cssVar:"--mc-prev-active-pick-foreground",color:(null==t||null===(U=t.month_year_preview)||void 0===U||null===(R=U.active)||void 0===R||null===(X=R.picked)||void 0===X?void 0:X.foreground)||(null==t?void 0:t.active_text_color)||e.month_year_preview.active.picked.foreground},month_year_preview_active_picked_background:{cssVar:"--mc-prev-active-pick-background",color:(null==t||null===(G=t.month_year_preview)||void 0===G||null===(Z=G.active)||void 0===Z||null===(Q=Z.picked)||void 0===Q?void 0:Q.background)||e.month_year_preview.active.picked.background},month_year_preview_inactive_default_foreground:{cssVar:"--mc-prev-inactive-def-foreground",color:(null==t||null===(ee=t.month_year_preview)||void 0===ee||null===(te=ee.inactive)||void 0===te||null===(ne=te.default)||void 0===ne?void 0:ne.foreground)||(null==t?void 0:t.inactive_text_color)||e.month_year_preview.inactive.default.foreground},month_year_preview_inactive_picked_foreground:{cssVar:"--mc-prev-inactive-pick-foreground",color:(null==t||null===(ae=t.month_year_preview)||void 0===ae||null===(re=ae.inactive)||void 0===re||null===(ce=re.picked)||void 0===ce?void 0:ce.foreground)||(null==t?void 0:t.inactive_text_color)||e.month_year_preview.inactive.picked.foreground},month_year_preview_inactive_picked_background:{cssVar:"--mc-prev-inactive-pick-background",color:(null==t||null===(ie=t.month_year_preview)||void 0===ie||null===(oe=ie.inactive)||void 0===oe||null===(le=oe.picked)||void 0===le?void 0:le.background)||(null==t?void 0:t.inactive_text_color)||e.month_year_preview.inactive.picked.background}}}(a,n.theme);return n.theme=u,{_id:P(),datepicker:e,el:n.el,context:n.context,linkedElement:r,pickedDate:n.selectedDate,viewLayers:d,activeMonths:c,prevLimitDate:o,nextLimitDate:l,options:n,onOpenCallbacks:[],onCloseCallbacks:[],onSelectCallbacks:[],onCancelCallbacks:[],onClearCallbacks:[],onMonthChangeCallbacks:[],onYearChangeCallbacks:[],markCustomCallbacks:[],store:s,open:function(){e.open(this._id)},close:function(){e.close()},reset:function(){this.pickedDate=null,this.linkedElement&&(this.linkedElement.value=null)},destroy:function(){e.remove(this._id)},onOpen:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:function(){};this.onOpenCallbacks.push(e)},onClose:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:function(){};this.onCloseCallbacks.push(e)},onSelect:function(e){this.onSelectCallbacks.push(e)},onCancel:function(e){this.onCancelCallbacks.push(e)},onClear:function(e){this.onClearCallbacks.push(e)},onMonthChange:function(e){this.onMonthChangeCallbacks.push(e)},onYearChange:function(e){this.onYearChangeCallbacks.push(e)},getDay:function(){return this.pickedDate?this.pickedDate.getDay():null},getDate:function(){return this.pickedDate?this.pickedDate.getDate():null},getMonth:function(){return this.pickedDate?this.pickedDate.getMonth():null},getYear:function(){return this.pickedDate?this.pickedDate.getFullYear():null},getFullDate:function(){return this.pickedDate},getFormatedDate:function(){return this.pickedDate?T(this.pickedDate,this.options,this.options.dateFormat):null},markDatesCustom:function(e){this.markCustomCallbacks.push(e)},setFullDate:function(e){if(!W(e).date())throw new TypeError("Parameter of setFullDate() is not of type date");x(t.calendar,{instance:this,date:e})},setDate:function(e){if(!W(e).number())throw new TypeError("Parameter 'date' of setDate() is not of type number");var n=this.pickedDate?new Date(this.pickedDate):new Date;n.setDate(e),x(t.calendar,{instance:this,date:n})},setMonth:function(e){if(!W(e).number())throw new TypeError("Parameter 'month' of setMonth() is not of type number");var n=this.pickedDate?new Date(this.pickedDate):new Date;n.setMonth(e),x(t.calendar,{instance:this,date:n})},setYear:function(e){if(!W(e).number())throw new TypeError("Parameter 'year' of setYear() is not of type number");var n=this.pickedDate?new Date(this.pickedDate):new Date;n.setFullYear(e),x(t.calendar,{instance:this,date:n})}}}var Le,Ee,Ce,Te=(Le=[],Ee=null,Ce=function(e){Ee||(Ee=oe())},{create:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=Z(e,c);Ce();var n=Me(Te,Ee,t);return Le.push(n),ee(n),n},remove:function(e){var t,n=Le.find((function(t){return t._id===e}));if(Le.length&&n&&((t=n.linkedElement)&&(t.onfocus=null),Le.splice(Le.indexOf(n),1),!Le.length)){var a=Ee.calendar;a.parentNode.removeChild(a),Ee=null}}
591,open:function(e){var t=Le.find((function(t){return t._id===e}));(t||Ee)&&Ee.calendarStates.open(t)},close:function(){Ee&&Ee.calendarStates.close()}});const Oe=Te}},t={};function n(a){if(t[a])return t[a].exports;var r=t[a]={exports:{}};return e[a](r,r.exports,n),r.exports}return n.d=(e,t)=>{for(var a in t)n.o(t,a)&&!n.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n(422)})().default}));;
592
593/* /nakivo_shop/static/src/lib/notify.min.js defined in bundle 'web.assets_frontend' */
594(function(e){typeof define=="function"&&define.amd?define(["jquery"],e):typeof module=="object"&&module.exports?module.exports=function(t,n){return n===undefined&&(typeof window!="undefined"?n=require("jquery"):n=require("jquery")(t)),e(n),n}:e(jQuery)})(function(e){function A(t,n,i){typeof i=="string"&&(i={className:i}),this.options=E(w,e.isPlainObject(i)?i:{}),this.loadHTML(),this.wrapper=e(h.html),this.options.clickToHide&&this.wrapper.addClass(r+"-hidable"),this.wrapper.data(r,this),this.arrow=this.wrapper.find("."+r+"-arrow"),this.container=this.wrapper.find("."+r+"-container"),this.container.append(this.userContainer),t&&t.length&&(this.elementType=t.attr("type"),this.originalElement=t,this.elem=N(t),this.elem.data(r,this),this.elem.before(this.wrapper)),this.container.hide(),this.run(n)}var t=[].indexOf||function(e){for(var t=0,n=this.length;t<n;t++)if(t in this&&this[t]===e)return t;return-1},n="notify",r=n+"js",i=n+"!blank",s={t:"top",m:"middle",b:"bottom",l:"left",c:"center",r:"right"},o=["l","c","r"],u=["t","m","b"],a=["t","b","l","r"],f={t:"b",m:null,b:"t",l:"r",c:null,r:"l"},l=function(t){var n;return n=[],e.each(t.split(/\W+/),function(e,t){var r;r=t.toLowerCase().charAt(0);if(s[r])return n.push(r)}),n},c={},h={name:"core",html:'<div class="'+r+'-wrapper">\n	<div class="'+r+'-arrow"></div>\n	<div class="'+r+'-container"></div>\n</div>',css:"."+r+"-corner {\n	position: fixed;\n	margin: 5px;\n	z-index: 1050;\n}\n\n."+r+"-corner ."+r+"-wrapper,\n."+r+"-corner ."+r+"-container {\n	position: relative;\n	display: block;\n	height: inherit;\n	width: inherit;\n	margin: 3px;\n}\n\n."+r+"-wrapper {\n	z-index: 1;\n	position: absolute;\n	display: inline-block;\n	height: 0;\n	width: 0;\n}\n\n."+r+"-container {\n	display: none;\n	z-index: 1;\n	position: absolute;\n}\n\n."+r+"-hidable {\n	cursor: pointer;\n}\n\n[data-notify-text],[data-notify-html] {\n	position: relative;\n}\n\n."+r+"-arrow {\n	position: absolute;\n	z-index: 2;\n	width: 0;\n	height: 0;\n}"},p={"border-radius":["-webkit-","-moz-"]},d=function(e){return c[e]},v=function(e){if(!e)throw"Missing Style name";c[e]&&delete c[e]},m=function(t,i){if(!t)throw"Missing Style name";if(!i)throw"Missing Style definition";if(!i.html)throw"Missing Style HTML";var s=c[t];s&&s.cssElem&&(window.console&&console.warn(n+": overwriting style '"+t+"'"),c[t].cssElem.remove()),i.name=t,c[t]=i;var o="";i.classes&&e.each(i.classes,function(t,n){return o+="."+r+"-"+i.name+"-"+t+" {\n",e.each(n,function(t,n){return p[t]&&e.each(p[t],function(e,r){return o+="	"+r+t+": "+n+";\n"}),o+="	"+t+": "+n+";\n"}),o+="}\n"}),i.css&&(o+="/* styles for "+i.name+" */\n"+i.css),o&&(i.cssElem=g(o),i.cssElem.attr("id","notify-"+i.name));var u={},a=e(i.html);y("html",a,u),y("text",a,u),i.fields=u},g=function(t){var n,r,i;r=x("style"),r.attr("type","text/css"),e("head").append(r);try{r.html(t)}catch(s){r[0].styleSheet.cssText=t}return r},y=function(t,n,r){var s;return t!=="html"&&(t="text"),s="data-notify-"+t,b(n,"["+s+"]").each(function(){var n;n=e(this).attr(s),n||(n=i),r[n]=t})},b=function(e,t){return e.is(t)?e:e.find(t)},w={clickToHide:!0,autoHide:!0,autoHideDelay:5e3,arrowShow:!0,arrowSize:5,breakNewLines:!0,elementPosition:"bottom",globalPosition:"top right",style:"bootstrap",className:"error",showAnimation:"slideDown",showDuration:400,hideAnimation:"slideUp",hideDuration:200,gap:5},E=function(t,n){var r;return r=function(){},r.prototype=t,e.extend(!0,new r,n)},S=function(t){return e.extend(w,t)},x=function(t){return e("<"+t+"></"+t+">")},T={},N=function(t){var n;return t.is("[type=radio]")&&(n=t.parents("form:first").find("[type=radio]").filter(function(n,r){return e(r).attr("name")===t.attr("name")}
594),t=n.first()),t},C=function(e,t,n){var r,i;if(typeof n=="string")n=parseInt(n,10);else if(typeof n!="number")return;if(isNaN(n))return;return r=s[f[t.charAt(0)]],i=t,e[r]!==undefined&&(t=s[r.charAt(0)],n=-n),e[t]===undefined?e[t]=n:e[t]+=n,null},k=function(e,t,n){if(e==="l"||e==="t")return 0;if(e==="c"||e==="m")return n/2-t/2;if(e==="r"||e==="b")return n-t;throw"Invalid alignment"},L=function(e){return L.e=L.e||x("div"),L.e.text(e).html()};A.prototype.loadHTML=function(){var t;t=this.getStyle(),this.userContainer=e(t.html),this.userFields=t.fields},A.prototype.show=function(e,t){var n,r,i,s,o;r=function(n){return function(){!e&&!n.elem&&n.destroy();if(t)return t()}}(this),o=this.container.parent().parents(":hidden").length>0,i=this.container.add(this.arrow),n=[];if(o&&e)s="show";else if(o&&!e)s="hide";else if(!o&&e)s=this.options.showAnimation,n.push(this.options.showDuration);else{if(!!o||!!e)return r();s=this.options.hideAnimation,n.push(this.options.hideDuration)}return n.push(r),i[s].apply(i,n)},A.prototype.setGlobalPosition=function(){var t=this.getPosition(),n=t[0],i=t[1],o=s[n],u=s[i],a=n+"|"+i,f=T[a];if(!f||!document.body.contains(f[0])){f=T[a]=x("div");var l={};l[o]=0,u==="middle"?l.top="45%":u==="center"?l.left="45%":l[u]=0,f.css(l).addClass(r+"-corner"),e("body").append(f)}return f.prepend(this.wrapper)},A.prototype.setElementPosition=function(){var n,r,i,l,c,h,p,d,v,m,g,y,b,w,E,S,x,T,N,L,A,O,M,_,D,P,H,B,j;H=this.getPosition(),_=H[0],O=H[1],M=H[2],g=this.elem.position(),d=this.elem.outerHeight(),y=this.elem.outerWidth(),v=this.elem.innerHe
594ight(),m=this.elem.innerWidth(),j=this.wrapper.position(),c=this.container.height(),h=this.container.width(),T=s[_],L=f[_],A=s[L],p={},p[A]=_==="b"?d:_==="r"?y:0,C(p,"top",g.top-j.top),C(p,"left",g.left-j.left),B=["top","left"];for(w=0,S=B.length;w<S;w++)D=B[w],N=parseInt(this.elem.css("margin-"+D),10),N&&C(p,D,N);b=Math.max(0,this.options.gap-(this.options.arrowShow?i:0)),C(p,A,b);if(!this.options.arrowShow)this.arrow.hide();else{i=this.options.arrowSize,r=e.extend({},p),n=this.userContainer.css("border-color")||this.userContainer.css("border-top-color")||this.userContainer.css("background-color")||"white";for(E=0,x=a.length;E<x;E++){D=a[E],P=s[D];if(D===L)continue;l=P===T?n:"transparent",r["border-"+P]=i+"px solid "+l}C(p,s[L],i),t.call(a,O)>=0&&C(r,s[O],i*2)}t.call(u,_)>=0?(C(p,"left",k(O,h,y)),r&&C(r,"left",k(O,i,m))):t.call(o,_)>=0&&(C(p,"top",k(O,c,d)),r&&C(r,"top",k(O,i,v))),this.container.is(":visible")&&(p.display="block"),this.container.removeAttr("style").css(p);if(r)return this.arrow.removeAttr("style").css(r)},A.prototype.getPosition=function(){var e,n,r,i,s,f,c,h;h=this.options.position||(this.elem?this.options.elementPosition:this.options.globalPosition),e=l(h),e.length===0&&(e[0]="b");if(n=e[0],t.call(a,n)<0)throw"Must be one of ["+a+"]";if(e.length===1||(r=e[0],t.call(u,r)>=0)&&(i=e[1],t.call(o,i)<0)||(s=e[0],t.call(o,s)>=0)&&(f=e[1],t.call(u,f)<0))e[1]=(c=e[0],t.call(o,c)>=0)?"m":"l";return e.length===2&&(e[2]=e[1]),e},A.prototype.getStyle=function(e){var t;e||(e=this.options.style),e||(e="default"),t=c[e];if(!t)throw"Missing style: "+e;return t},A.prototype.updateClasses=function(){var t,n;return t=["base"],e.isArray(this.options.className)?t=t.concat(this.options.className):this.options.className&&t.push(this.options.className),n=this.getStyle(),t=e.map(t,function(e){return r+"-"+n.name+"-"+e}).join(" "),this.userContainer.attr("class",t)},A.prototype.run=function(t,n){var r,s,o,u,a;e.isPlainObject(n)?e.extend(this.options,n):e.type(n)==="string"&&(this.options.className=n);if(this.container&&!t){this.show(!1);return}if(!this.container&&!t)return;s={},e.isPlainObject(t)?s=t:s[i]=t;for(o in s){r=s[o],u=this.userFields[o];if(!u)continue;u==="text"&&(r=L(r),this.options.breakNewLines&&(r=r.replace(/\n/g,"<br/>"))),a=o===i?"":"="+o,b(this.userContainer,"[data-notify-"+u+a+"]").html(r)}this.updateClasses(),this.elem?this.setElementPosition():this.setGlobalPosition(),this.show(!0),this.options.autoHide&&(clearTimeout(this.autohideTimer),this.autohideTimer=setTimeout(this.show.bind(this,!1),this.options.autoHideDelay))},A.prototype.destroy=function(){this.wrapper.data(r,null),this.wrapper.remove()},e[n]=function(t,r,i){return t&&t.nodeName||t.jquery?e(t)[n](r,i):(i=r,r=t,new A(null,r,i)),t},e.fn[n]=function(t,n){return e(this).each(function(){var i=N(e(this)).data(r);i&&i.destroy();var s=new A(e(this),t,n)}),this},e.extend(e[n],{defaults:S,addStyle:m,removeStyle:v,pluginOptions:w,getStyle:d,insertCSS:g}),m("bootstrap",{html:"<div>\n<span data-notify-text></span>\n</div>",classes:{base:{"font-weight":"bold",padding:"8px 15px 8px 14px","text-shadow":"0 1px 0 rgba(255, 255, 255, 0.5)","background-color":"#fcf8e3",border:"1px solid #fbeed5","border-radius":"4px","white-space":"nowrap","padding-left":"25px","background-repeat":"no-repeat","background-position":"3px 7px"},error:{color:"#B94A48","background-color":"#F2DEDE","border-color":"#EED3D7","background-image":"url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAtRJREFUeNqkVc1u00AQHq+dOD+0poIQfkIjalW0SEGqRMuRnHos3DjwAH0ArlyQeANOOSMeAA5VjyBxKBQhgSpVUKKQNGloFdw4cWw2jtfMOna6JOUArDTazXi/b3dm55socPqQhFka++aHBsI8GsopRJERNFlY88FCEk9Yiwf8RhgRyaHFQpPHCDmZG5oX2ui2yilkcTT1AcDsbYC1NMAyOi7zTX2Agx7A9luAl88BauiiQ/cJaZQfIpAlngDcvZZMrl8vFPK5+XktrWlx3/ehZ5r9+t6e+WVnp1pxnNIjgBe4/6dAysQc8dsmHwPcW9C0h3fW1hans1ltwJhy0GxK7XZbUlMp5Ww2eyan6+ft/f2FAqXGK4CvQk5HueFz7D6GOZtIrK+srupdx1GRBBqNBtzc2AiMr7nPplRdKhb1q6q6zjFhrklEFOUutoQ50xcX86ZlqaZpQrfbBdu2R6/G19zX6XSgh6RX5ubyHCM8nqSID6ICrGiZjGYYxojEsiw4PDwMSL5VKsC8Yf4VRYFzMzMaxwjlJSlCyAQ9l0CW44PBADzXhe7xMdi9HtTrdYjFYkDQL0cn4Xdq2/EAE+InCnvADTf2eah4Sx9vExQjkqXT6aAERICMewd/UAp/IeYANM2joxt+q5VI+ieq2i0Wg3l6DNzHwTERPgo1ko7XBXj3vdlsT2F+UuhIhYkp7u7CarkcrFOCtR3H5JiwbAIeImjT/YQKKBtGjRFCU5IUgFRe7fF4cCNVIPMYo3VKqxwjyNAXNepuopyqnld602qVsfRpEkkz+GFL1wPj6ySXBpJtWVa5xlhpcyhBNwpZHmtX8AGgfIExo0ZpzkWVTBGiXCSEaHh62/PoR0p/vHaczxXGnj4bSo+G78lELU80h1uogBwWLf5YlsPmgDEd4M236xjm+8nm4IuE/9u+/PH2JXZfbwz4zw1WbO+SQPpXfwG/BBgAhCNZiSb/pOQAAAAASUVORK5CYII=)"},success:{color:"#468847","background-color":"#DFF0D8","border-color":"#D6E9C6","background-image":"url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAutJREFUeNq0lctPE0Ecx38zu/RFS1EryqtgJFA08YCiMZIAQQ4eRG8eDGdPJiYeTIwHTfwPiAcvXIwXLwoXPaDxkWgQ6islKlJLS
594QWLUraPLTv7Gme32zoF9KSTfLO7v53vZ3d/M7/fIth+IO6INt2jjoA7bjHCJoAlzCRw59YwHYjBnfMPqAKWQYKjGkfCJqAF0xwZjipQtA3MxeSG87VhOOYegVrUCy7UZM9S6TLIdAamySTclZdYhFhRHloGYg7mgZv1Zzztvgud7V1tbQ2twYA34LJmF4p5dXF1KTufnE+SxeJtuCZNsLDCQU0+RyKTF27Unw101l8e6hns3u0PBalORVVVkcaEKBJDgV3+cGM4tKKmI+ohlIGnygKX00rSBfszz/n2uXv81wd6+rt1orsZCHRdr1Imk2F2Kob3hutSxW8thsd8AXNaln9D7CTfA6O+0UgkMuwVvEFFUbbAcrkcTA8+AtOk8E6KiQiDmMFSDqZItAzEVQviRkdDdaFgPp8HSZKAEAL5Qh7Sq2lIJBJwv2scUqkUnKoZgNhcDKhKg5aH+1IkcouCAdFGAQsuWZYhOjwFHQ96oagWgRoUov1T9kRBEODAwxM2QtEUl+Wp+Ln9VRo6BcMw4ErHRYjH4/B26AlQoQQTRdHWwcd9AH57+UAXddvDD37DmrBBV34WfqiXPl61g+vr6xA9zsGeM9gOdsNXkgpEtTwVvwOklXLKm6+/p5ezwk4B+j6droBs2CsGa/gNs6RIxazl4Tc25mpTgw/apPR1LYlNRFAzgsOxkyXYLIM1V8NMwyAkJSctD1eGVKiq5wWjSPdjmeTkiKvVW4f2YPHWl3GAVq6ymcyCTgovM3FzyRiDe2TaKcEKsLpJvNHjZgPNqEtyi6mZIm4SRFyLMUsONSSdkPeFtY1n0mczoY3BHTLhwPRy9/lzcziCw9ACI+yql0VLzcGAZbYSM5CCSZg1/9oc/nn7+i8N9p/8An4JMADxhH+xHfuiKwAAAABJRU5ErkJggg==)"},info:{color:"#3A87AD","background-color":"#D9EDF7","border-color":"#BCE8F1","background-image":"url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3QYFAhkSsdes/QAAA8dJREFUOMvVlGtMW2UYx//POaWHXg6lLaW0ypAtw1UCgbniNOLcVOLmAjHZolOYlxmTGXVZdAnRfXQm+7SoU4mXaOaiZsEpC9FkiQs6Z6bdCnNYruM6KNBw6YWewzl9z+sHImEWv+vz7XmT95f/+3/+7wP814v+efDOV3/SoX3lHAA+6ODeUFfMfjOWMADgdk+eEKz0pF7aQdMAcOKLLjrcVMVX3xdWN29/GhYP7SvnP0cWfS8caSkfHZsPE9Fgnt02JNutQ0QYHB2dDz9/pKX8QjjuO9xUxd/66HdxTeCHZ3rojQObGQBcuNjfplkD3b19Y/6MrimSaKgSMmpGU5WevmE/swa6Oy73tQHA0Rdr2Mmv/6A1n9w9suQ7097Z9lM4FlTgTDrzZTu4StXVfpiI48rVcUDM5cmEksrFnHxfpTtU/3BFQzCQF/2bYVoNbH7zmItbSoMj40JSzmMyX5qDvriA7QdrIIpA+3cdsMpu0nXI8cV0MtKXCPZev+gCEM1S2NHPvWfP/hL+7FSr3+0p5RBEyhEN5JCKYr8XnASMT0xBNyzQGQeI8fjsGD39RMPk7se2bd5ZtTyoFYXftF6y37gx7NeUtJJOTFlAHDZLDuILU3j3+H5oOrD3yWbIztugaAzg
594nBKJuBLpGfQrS8wO4FZgV+c1IxaLgWVU0tMLEETCos4xMzEIv9cJXQcyagIwigDGwJgOAtHAwAhisQUjy0ORGERiELgG4iakkzo4MYAxcM5hAMi1WWG1yYCJIcMUaBkVRLdGeSU2995TLWzcUAzONJ7J6FBVBYIggMzmFbvdBV44Corg8vjhzC+EJEl8U1kJtgYrhCzgc/vvTwXKSib1paRFVRVORDAJAsw5FuTaJEhWM2SHB3mOAlhkNxwuLzeJsGwqWzf5TFNdKgtY5qHp6ZFf67Y/sAVadCaVY5YACDDb3Oi4NIjLnWMw2QthCBIsVhsUTU9tvXsjeq9+X1d75/KEs4LNOfcdf/+HthMnvwxOD0wmHaXr7ZItn2wuH2SnBzbZAbPJwpPx+VQuzcm7dgRCB57a1uBzUDRL4bfnI0RE0eaXd9W89mpjqHZnUI5Hh2l2dkZZUhOqpi2qSmpOmZ64Tuu9qlz/SEXo6MEHa3wOip46F1n7633eekV8ds8Wxjn37Wl63VVa+ej5oeEZ/82ZBETJjpJ1Rbij2D3Z/1trXUvLsblCK0XfOx0SX2kMsn9dX+d+7Kf6h8o4AIykuffjT8L20LU+w4AZd5VvEPY+XpWqLV327HR7DzXuDnD8r+ovkBehJ8i+y8YAAAAASUVORK5CYII=)"},warn:{color:"#C09853","background-color":"#FCF8E3","border-color":"#FBEED5","background-image":"url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAMAAAC6V+0/AAABJlBMVEXr6eb/2oD/wi7/xjr/0mP/ykf/tQD/vBj/3o7/uQ//vyL/twebhgD/4pzX1K3z8e349vK6tHCilCWbiQymn0jGworr6dXQza3HxcKkn1vWvV/5uRfk4dXZ1bD18+/52YebiAmyr5S9mhCzrWq5t6ufjRH54aLs0oS+qD751XqPhAybhwXsujG3sm+Zk0PTwG6Shg+PhhObhwOPgQL4zV2nlyrf27uLfgCPhRHu7OmLgAafkyiWkD3l49ibiAfTs0C+lgCniwD4sgDJxqOilzDWowWFfAH08uebig6qpFHBvH/aw26FfQTQzsvy8OyEfz20r3jAvaKbhgG9q0nc2LbZxXanoUu/u5WSggCtp1anpJKdmFz/zlX/1nGJiYmuq5Dx7+sAAADoPUZSAAAAAXRSTlMAQObYZgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfdBgUBGhh4aah5AAAAlklEQVQY02NgoBIIE8EUcwn1FkIXM1Tj5dDUQhPU502Mi7XXQxGz5uVIjGOJUUUW81HnYEyMi2HVcUOICQZzMMYmxrEyMylJwgUt5BljWRLjmJm4pI1hYp5SQLGYxDgmLnZOVxuooClIDKgXKMbN5ggV1ACLJcaBxNgcoiGCBiZwdWxOETBDrTyEFey0jYJ4eHjMGWgEAIpRFRCUt08qAAAAAElFTkSuQmCC)"}}}),e(function(){g(h.css).attr("id","core-notify"),e(document).on("click","."+r+"-hidable",function(t){e(this).trigger("notify-hide")}),e(document).on("notify-hide","."+r+"-wrapper",function(t){var n=e(this).data(r);n&&n.show(!1)})})});
595
596/* /nakivo_shop/static/src/lib/parsley.min.js defined in bundle 'web.assets_frontend' */
vendor: 42,732 bytes, line 597
597!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],e):(t=t||self).parsley=e(t.jQuery)}(this,function(h){"use strict";function n(t){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function l(){return(l=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var i=arguments[e];for(var r in i)Object.prototype.hasOwnProperty.call(i,r)&&(t[r]=i[r])}return t}).apply(this,arguments)}function o(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if(!(Symbol.iterator in Object(t)||"[object Arguments]"===Object.prototype.toString.call(t)))return;var i=[],r=!0,n=!1,s=void 0;try{for(var a,o=t[Symbol.iterator]();!(r=(a=o.next()).done)&&(i.push(a.value),!e||i.length!==e);r=!0);}catch(t){n=!0,s=t}finally{try{r||null==o.return||o.return()}finally{if(n)throw s}}return i}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function u(t){return function(t){if(Array.isArray(t)){for(var e=0,i=new Array(t.length);e<t.length;e++)i[e]=t[e];return i}}(t)||function(t){if(Symbol.iterator in Object(t)||"[object Arguments]"===Object.prototype.toString.call(t))return Array.from(t)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}var t=1,e={},d={attr:function(t,e,i){var r,n,s,a=new RegExp("^"+e,"i");if(void 0===i)i={};else for(r in i)i.hasOwnProperty(r)&&delete i[r];if(!t)return i;for(r=(s=t.attributes).length;r--;)(n=s[r])&&n.specified&&a.test(n.name)&&(i[this.camelize(n.name.slice(e.length))]=this.deserializeValue(n.value));return i},checkAttr:function(t,e,i){return t.hasAttribute(e+i)},setAttr:function(t,e,i,r){t.setAttribute(this.dasherize(e+i),String(r))},getType:function(t){return t.getAttribute("type")||"text"},generateID:function(){return""+t++},deserializeValue:function(e){var t;try{return e?"true"==e||"false"!=e&&("null"==e?null:isNaN(t=Number(e))?/^[\[\{]/.test(e)?JSON.parse(e):e:t):e}catch(t){return e}},camelize:function(t){return t.replace(/-+(.)?/g,function(t,e){return e?e.toUpperCase():""})},dasherize:function(t){return t.replace(/::/g,"/").replace(/([A-Z]+)([A-Z][a-z])/g,"$1_$2").replace(/([a-z\d])([A-Z])/g,"$1_$2").replace(/_/g,"-").toLowerCase()},warn:function(){var t;window.console&&"function"==typeof window.console.warn&&(t=window.console).warn.apply(t,arguments)},warnOnce:function(t){e[t]||(e[t]=!0,this.warn.apply(this,arguments))},_resetWarnings:function(){e={}},trimString:function(t){return t.replace(/^\s+|\s+$/g,"")},parse:{date:function(t){var e=t.match(/^(\d{4,})-(\d\d)-(\d\d)$/);if(!e)return null;var i=o(e.map(function(t){return parseInt(t,10)}),4),r=(i[0],i[1]),n=i[2],s=i[3],a=new Date(r,n-1,s);return a.getFullYear()!==r||a.getMonth()+1!==n||a.getDate()!==s?null:a},string:function(t){return t},integer:function(t){return isNaN(t)?null:parseInt(t,10)},number:function(t){if(isNaN(t))throw null;return parseFloat(t)},boolean:function(t){return!/^\s*false\s*$/i.test(t)},object:function(t){return d.deserializeValue(t)},regexp:function(t){var e="";return t=/^\/.*\/(?:[gimy]*)$/.test(t)?(e=t.replace(/.*\/([gimy]*)$/,"$1"),t.replace(new RegExp("^/(.*?)/"+e+"$"),"$1")):"^"+t+"$",new RegExp(t,e)}},parseRequirement:function(t,e){var i=this.parse[t||"string"];if(!i)throw'Unknown requirement specification: "'+t+'"';var r=i(e);if(null===r)throw"Requirement is not a ".concat(t,': "').concat(e,'"');return r},namespaceEvents:function(t,e){return(t=this.trimString(t||"").split(/\s+/))[0]?h.map(t,function(t){return"".concat(t,".").concat(e)}).join(" "):""},difference:function(t,i){var r=[];return h.each(t,function(t,e){-1==i.indexOf(e)&&r.push(e)}),r},all:function(t){return h.when.apply(h,u(t).concat([42,42]))},objectCreate:Object.create||function(t){if(1<arguments.length)throw Error("Second argument not supported");if("object"!=n(t))throw TypeError("Argument must be an object");i.prototype=t;var e=new i;return i.prototype=null,e},_SubmitSelector:'input[type="submit"], button:submit'};function i(){}function r(){this.__id__=d.generateID()}var s={namespace:"data-parsley-",inputs:"input, textarea, select",excluded:"input[type=button], input[type=submit], input[type=reset], input[type=hidden]",priorityEnabled:!0,multiple:null,group:null,uiEnabled:!0,validationThreshold:3,focus:"first",trigger:!1,triggerAfterFailure:"input",errorClass:"parsley-error",successClass:"parsley-success",classHandler:function(){},errorsContainer:function(){},errorsWrapper:'<ul class="parsley-errors-list"></ul>',errorTemplate:"<li></li>"};r.prototype={asyncSupport:!0,_pipeAccordingToValidationResult:function(){function t(){var t=h.Deferred();return!0!==e.validationResult&&t.reject(),t.resolve().promise()}var e=this;return[t,t]},actualizeOptions:function(){return d.attr(this.element,this.options.namespace,this.domOptions),this.parent&&this.parent.actualizeOptions&&this.parent.actualizeOptions(),this},_resetOptions:function(t){for(var e in this.domOptions=d.objectCreate(this.parent.options),this.options=d.objectCreate(this.domOptions),t)t.hasOwnProperty(e)&&(this.options[e]=t[e]);this.actualizeOptions()},_listeners:null,on:function(t,e){return this._listeners=this._listeners||{},(this._listeners[t]=this._listeners[t]||[]).push(e),this},subscribe:function(t,e){h.listenTo(this,t.toLowerCase(),e)},off:function(t,e){var i=this._listeners&&this._listeners[t];if(i)if(e)for(var r=i.length;r--;)i[r]===e&&i.splice(r,1);else delete this._listeners[t];return this},unsubscribe:function(t){h.unsubscribeTo(this,t.toLowerCase())},trigger:function(t,e,i){e=e||this;var r,n=this._listeners&&this._listeners[t];if(n)for(var s=n.length;s--;)if(!1===(r=n[s].call(e,e,i)))return r;return!this.parent||this.parent.trigger(t,e,i)},asyncIsValid:function(t,e){return d.warnOnce("asyncIsValid is deprecated; please use whenValid instead"),this.whenValid({group:t,force:e})},_findRelated:function(){return this.options.multiple?h(this.parent.element.querySelectorAll("[".concat(this.options.namespace,'multiple="').concat(this.options.multiple,'"]'))):this.$element}};function c(t){h.extend(!0,this,t)}c.prototype={validate:function(t,e){if(this.fn)return 3<arguments.length&&(e=[].slice.call(arguments,1,-1)),this.fn(t,e);if(Array.isArray(t)){if(!this.validateMultiple)throw"Validator `"+this.name+"` does not handle multiple values";return this.validateMultiple.apply(this,arguments)}var i=arguments[arguments.length-1];if(this.validateDate&&i._isDateInput())return arguments[0]=d.parse.date(arguments[0]),null!==arguments[0]&&this.validateDate.apply(this,arguments);if(this.validateNumber)return!t||!isNaN(t)&&(arguments[0]=parseFloat(arguments[0]),this.validateNumber.apply(this,arguments));if(this.validateString)return this.validateString.apply(this,arguments);throw"Validator `"+this.name+"` only handles multiple values"},parseRequirements:function(t,e){if("string"!=typeof t)return Array.isArray(t)?t:[t];var i=this.requirementType;if(Array.isArray(i)){for(var r=function(t,e){var i=t.match(/^\s*\[(.*)\]\s*$/);if(!i)throw'Requirement is not an array: "'+t+'"';var r=i[1].split(",").map(d.trimString);if(r.length!==e)throw"Requirement has "+r.length+" values when "+e+" are needed";return r}(t,i.length),n=0;n<r.length;n++)r[n]=d.parseRequirement(i[n],r[n]);return r}return h.isPlainObject(i)?function(t,e,i){var r=null,n={};for(var s in t)if(s){var a=i(s);"string"==typeof a&&(a=d.parseRequirement(t[s],a)),n[s]=a}else r=d.parseRequirement(t[s],e);return[r,n]}(i,t,e):[d.parseRequirement(i,t)]},requirementType:"string",priority:2};function a(t,e){this.__class__="ValidatorRegistry",this.locale="en",this.init(t||{},e||{})}var p={email:/^((([a-zA-Z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-zA-Z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-zA-Z]|\d|-|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-zA-Z]|\d|-|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))$/,number:/^-?(\d*\.)?\d+(e[-+]?\d+)?$/i,integer:/^-?\d+$/,digits:/^\d+$/,alphanum:/^\w+$/i,date:{test:function(t){return null!==d.parse.date(t)}},url:new RegExp("^(?:(?:https?|ftp)://)?(?:\\S+(?::\\S*)?@)?(?:(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-zA-Z\\u00a1-\\uffff0-9]-*)*[a-zA-Z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-zA-Z\\u00a1-\\uffff0-9]-*)*[a-zA-Z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-zA-Z\\u00a1-\\uffff]{2,})))(?::\\d{2,5})?(?:/\\S*)?$")};p.range=p.number;function f(t){var e=(""+t).match(/(?:\.(\d+))?(?:[eE]([+-]?\d+))?$/);return e?Math.max(0,(e[1]?e[1].length:0)-(e[2]?+e[2]:0)):0}function m(s,a){return function(t){for(var e=arguments.length,i=new Array(1<e?e-1:0),r=1;r<e;r++)i[r-1]=arguments[r];return i.pop(),a.apply(void 0,[t].concat(u((n=s,i.map(d.parse[n])))));var n}}function g(t){return{validateDate:m("date",t),validateNumber:m("number",t),requirementType:t.length<=2?"string":["string","string"],priority:30}}a.prototype={init:function(t,e){for(var i in this.catalog=e,this.validators=l({},this.validators),t)this.addValidator(i,t[i].fn,t[i].priority);window.Parsley.trigger("parsley:validator:init")},setLocale:function(t){if(void 0===this.catalog[t])throw new Error(t+" is not available in the catalog");return this.locale=t,this},addCatalog:function(t,e,i){return"object"===n(e)&&(this.catalog[t]=e),!0===i?this.setLocale(t):this},addMessage:function(t,e,i){return void 0===this.catalog[t]&&(this.catalog[t]={}),this.catalog[t][e]=i,this},addMessages:function(t,e){for(var i in e)this.addMessage(t,i,e[i]);return this},addValidator:function(t,e,i){if(this.validators[t])d.warn('Validator "'+t+'" is already defined.');else if(s.hasOwnProperty(t))return void d.warn('"'+t+'" is a restricted keyword and is not a valid validator name.');return this._setValidator.apply(this,arguments)},hasValidator:function(t){return!!this.validators[t]},updateValidator:function(t,e,i){return this.validators[t]?this._setValidator.apply(this,arguments):(d.warn('Validator "'+t+'" is not already defined.'),this.addValidator.apply(this,arguments))},removeValidator:function(t){return this.validators[t]||d.warn('Validator "'+t+'" is not defined.'),delete this.validators[t],this},_setValidator:function(t,e,i){for(var r in"object"!==n(e)&&(e={fn:e,priority:i}),e.validate||(e=new c(e)),(this.validators[t]=e).messages||{})this.addMessage(r,t,e.messages[r]);return this},getErrorMessage:function(t){var e;"type"===t.name?e=(this.catalog[this.locale][t.name]||{})[t.requirements]:e=this.formatMessage(this.catalog[this.locale][t.name],t.requirements);return e||this.catalog[this.locale].defaultMessage||this.catalog.en.defaultMessage},formatMessage:function(t,e){if("object"!==n(e))return"string"==typeof t?t.replace(/%s/i,e):"";for(var i in e)t=this.formatMessage(t,e[i]);return t},validators:{notblank:{validateString:function(t){return/\S/.test(t)},priority:2},required:{validateMultiple:function(t){return 0<t.length},validateString:function(t){return/\S/.test(t)},priority:512},type:{validateString:function(t,e,i){var r=2<arguments.length&&void 0!==i?i:{},n=r.step,s=void 0===n?"any":n,a=r.base,o=void 0===a?0:a,l=p[e];if(!l)throw new Error("validator type `"+e+"` is not supported");if(!t)return!0;if(!l.test(t))return!1;if("number"===e&&!/^any$/i.test(s||"")){var u=Number(t),d=Math.max(f(s),f(o));if(f(u)>d)return!1;var h=function(t){return Math.round(t*Math.pow(10,d))};if((h(u)-h(o))%h(s)!=0)return!1}return!0},requirementType:{"":"string",step:"string",base:"number"},priority:256},pattern:{validateString:function(t,e){return!t||e.test(t)},requirementType:"regexp",priority:64},minlength:{validateString:function(t,e){return!t||t.length>=e},requirementType:"integer",priority:30},maxlength:{validateString:function(t,e){return t.length<=e},requirementType:"integer",priority:30},length:{validateString:function(t,e,i){return!t||t.length>=e&&t.length<=i},requirementType:["integer","integer"],priority:30},mincheck:{validateMultiple:function(t,e){return t.length>=e},requirementType:"integer",priority:30},maxcheck:{validateMultiple:function(t,e){return t.length<=e},requirementType:"integer",priority:30},check:{validateMultiple:function(t,e,i){return t.length>=e&&t.length<=i},requirementType:["integer","integer"],priority:30},min:g(function(t,e){return e<=t}),max:g(function(t,e){return t<=e}),range:g(function(t,e,i){return e<=t&&t<=i}),equalto:{validateString:function(t,e){if(!t)return!0;var i=h(e);return i.length?t===i.val():t===e},priority:256},euvatin:{validateString:function(t){if(!t)return!0;return/^[A-Z][A-Z][A-Za-z0-9 -]{2,}$/.test(t)},priority:30}}};var v={};v.Form={_actualizeTriggers:function(){var e=this;this.$element.on("submit.Parsley",function(t){e.onSubmitValidate(t)}),this.$element.on("click.Parsley",d._SubmitSelector,function(t){e.onSubmitButton(t)}),!1!==this.options.uiEnabled&&this.element.setAttribute("novalidate","")},focus:function(){if(!(this._focusedField=null)===this.validationResult||"none"===this.options.focus)return null;for(var t=0;t<this.fields.length;t++){var e=this.fields[t];if(!0!==e.validationResult&&0<e.validationResult.length&&void 0===e.options.noFocus&&(this._focusedField=e.$element,"first"===this.options.focus))break}return null===this._focusedField?null:this._focusedField.focus()},_destroyUI:function(){this.$element.off(".Parsley")}},v.Field={_reflowUI:function(){if(this._buildUI(),this._ui){var t=function t(e,i,r){for(var n=[],s=[],a=0;a<e.length;a++){for(var o=!1,l=0;l<i.length;l++)if(e[a].assert.name===i[l].assert.name){o=!0;break}o?s.push(e[a]):n.push(e[a])}return{kept:s,added:n,removed:r?[]:t(i,e,!0).added}}(this.validationResult,this._ui.lastValidationResult);this._ui.lastValidationResult=this.validationResult,this._manageStatusClass(),this._manageErrorsMessages(t),this._actualizeTriggers(),!t.kept.length&&!t.added.length||this._failedOnce||(this._failedOnce=!0,this._actualizeTriggers())}},getErrorsMessages:function(){if(!0===this.validationResult)return[];for(var t=[],e=0;e<this.validationResult.length;e++)t.push(this.validationResult[e].errorMessage||this._getErrorMessage(this.validationResult[e].assert));return t},addError:function(t,e){var i=1<arguments.length&&void 0!==e?e:{},r=i.message,n=i.assert,s=i.updateClass,a=void 0===s||s;this._buildUI(),this._addError(t,{message:r,assert:n}),a&&this._errorClass()},updateError:function(t,e){var i=1<arguments.length&&void 0!==e?e:{},r=i.message,n=i.assert,s=i.updateClass,a=void 0===s||s;this._buildUI(),this._updateError(t,{message:r,assert:n}),a&&this._errorClass()},removeError:function(t,e){var i=(1<arguments.length&&void 0!==e?e:{}).updateClass,r=void 0===i||i;this._buildUI(),this._removeError(t),r&&this._manageStatusClass()},_manageStatusClass:function(){this.hasConstraints()&&this.needsValidation()&&!0===this.validationResult?this._successClass():0<this.validationResult.length?this._errorClass():this._resetClass()},_manageErrorsMessages:function(t){if(void 0===this.options.errorsMessagesDisabled){if(void 0!==this.options.errorMessage)return t.added.length||t.kept.length?(this._insertErrorWrapper(),0===this._ui.$errorsWrapper.find(".parsley-custom-error-message").length&&this._ui.$errorsWrapper.append(h(this.options.errorTemplate).addClass("parsley-custom-error-message")),this._ui.$errorClassHandler.attr("aria-describedby",this._ui.errorsWrapperId),this._ui.$errorsWrapper.addClass("filled").attr("aria-hidden","false").find(".parsley-custom-error-message").html(this.options.errorMessage)):(this._ui.$errorClassHandler.removeAttr("aria-describedby"),this._ui.$errorsWrapper.removeClass("filled").attr("aria-hidden","true").find(".parsley-custom-error-message").remove());for(var e=0;e<t.removed.length;e++)this._removeError(t.removed[e].assert.name);for(e=0;e<t.added.length;e++)this._addError(t.added[e].assert.name,{message:t.added[e].errorMessage,assert:t.added[e].assert});for(e=0;e<t.kept.length;e++)this._updateError(t.kept[e].assert.name,{message:t.kept[e].errorMessage,assert:t.kept[e].assert})}},_addError:function(t,e){var i=e.message,r=e.assert;this._insertErrorWrapper(),this._ui.$errorClassHandler.attr("aria-describedby",this._ui.errorsWrapperId),this._ui.$errorsWrapper.addClass("filled").attr("aria-hidden","false").append(h(this.options.errorTemplate).addClass("parsley-"+t).html(i||this._getErrorMessage(r)))},_updateError:function(t,e){var i=e.message,r=e.assert;this._ui.$errorsWrapper.addClass("filled").find(".parsley-"+t).html(i||this._getErrorMessage(r))},_removeError:function(t){this._ui.$errorClassHandler.removeAttr("aria-describedby"),this._ui.$errorsWrapper.removeClass("filled").attr("aria-hidden","true").find(".parsley-"+t).remove()},_getErrorMessage:function(t){var e=t.name+"Message";return void 0!==this.options[e]?window.Parsley.formatMessage(this.options[e],t.requirements):window.Parsley.getErrorMessage(t)},_buildUI:function(){if(!this._ui&&!1!==this.options.uiEnabled){var t={};this.element.setAttribute(this.options.namespace+"id",this.__id__),t.$errorClassHandler=this._manageClassHandler(),t.errorsWrapperId="parsley-id-"+(this.options.multiple?"multiple-"+this.options.multiple:this.__id__),t.$errorsWrapper=h(this.options.errorsWrapper).attr("id",t.errorsWrapperId),t.lastValidationResult=[],t.validationInformationVisible=!1,this._ui=t}},_manageClassHandler:function(){if("string"==typeof this.options.classHandler&&h(this.options.classHandler).length)return h(this.options.classHandler);var t=this.options.classHandler;if("string"==typeof this.options.classHandler&&"function"==typeof window[this.options.classHandler]&&(t=window[this.options.classHandler]),"function"==typeof t){var e=t.call(this,this);if(void 0!==e&&e.length)return e}else{if("object"===n(t)&&t instanceof jQuery&&t.length)return t;t&&d.warn("The class handler `"+t+"` does not exist in DOM nor as a global JS function")}return this._inputHolder()},_inputHolder:function(){return this.options.multiple&&"SELECT"!==this.element.nodeName?this.$element.parent():this.$element},_insertErrorWrapper:function(){var t=this.options.errorsContainer;if(0!==this._ui.$errorsWrapper.parent().length)return this._ui.$errorsWrapper.parent();if("string"==typeof t){if(h(t).length)return h(t).append(this._ui.$errorsWrapper);"function"==typeof window[t]?t=window[t]:d.warn("The errors container `"+t+"` does not exist in DOM nor as a global JS function")}return"function"==typeof t&&(t=t.call(this,this)),"object"===n(t)&&t.length?t.append(this._ui.$errorsWrapper):this._inputHolder().after(this._ui.$errorsWrapper)},_actualizeTriggers:function(){var t,e=this,i=this._findRelated();i.off(".Parsley"),this._failedOnce?i.on(d.namespaceEvents(this.options.triggerAfterFailure,"Parsley"),function(){e._validateIfNeeded()}):(t=d.namespaceEvents(this.options.trigger,"Parsley"))&&i.on(t,function(t){e._validateIfNeeded(t)})},_validateIfNeeded:function(t){var e=this;t&&/key|input/.test(t.type)&&(!this._ui||!this._ui.validationInformationVisible)&&this.getValue().length<=this.options.validationThreshold||(this.options.debounce?(window.clearTimeout(this._debounced),this._debounced=window.setTimeout(function(){return e.validate()},this.options.debounce)):this.validate())},_resetUI:function(){this._failedOnce=!1,this._actualizeTriggers(),void 0!==this._ui&&(this._ui.$errorsWrapper.removeClass("filled").children().remove(),this._resetClass(),this._ui.lastValidationResult=[],this._ui.validationInformationVisible=!1)},_destroyUI:function(){this._resetUI(),void 0!==this._ui&&this._ui.$errorsWrapper.remove(),delete this._ui},_successClass:function(){this._ui.validationInformationVisible=!0,this._ui.$errorClassHandler.removeClass(this.options.errorClass).addClass(this.options.successClass)},_errorClass:function(){this._ui.validationInformationVisible=!0,this._ui.$errorClassHandler.removeClass(this.options.successClass).addClass(this.options.errorClass)},_resetClass:function(){this._ui.$errorClassHandler.removeClass(this.options.successClass).removeClass(this.options.errorClass)}};function y(t,e,i){this.__class__="Form",this.element=t,this.$element=h(t),this.domOptions=e,this.options=i,this.parent=window.Parsley,this.fields=[],this.validationResult=null}var _={pending:null,resolved:!0,rejected:!1};y.prototype={onSubmitValidate:function(t){var e=this;if(!0!==t.parsley){var i=this._submitSource||this.$element.find(d._SubmitSelector)[0];if(this._submitSource=null,this.$element.find(".parsley-synthetic-submit-button").prop("disabled",!0),!i||null===i.getAttribute("formnovalidate")){window.Parsley._remoteCache={};var r=this.whenValidate({event:t});"resolved"===r.state()&&!1!==this._trigger("submit")||(t.stopImmediatePropagation(),t.preventDefault(),"pending"===r.state()&&r.done(function(){e._submit(i)}))}}},onSubmitButton:function(t){this._submitSource=t.currentTarget},_submit:function(t){if(!1!==this._trigger("submit")){if(t){var e=this.$element.find(".parsley-synthetic-submit-button").prop("disabled",!1);0===e.length&&(e=h('<input class="parsley-synthetic-submit-button" type="hidden">').appendTo(this.$element)),e.attr({name:t.getAttribute("name"),value:t.getAttribute("value")})}this.$element.trigger(l(h.Event("submit"),{parsley:!0}))}},validate:function(t){if(1<=arguments.length&&!h.isPlainObject(t)){d.warnOnce("Calling validate on a parsley form without passing arguments as an object is deprecated.");var e=Array.prototype.slice.call(arguments);t={group:e[0],force:e[1],event:e[2]}}return _[this.whenValidate(t).state()]},whenValidate:function(t){var e,i=this,r=0<arguments.length&&void 0!==t?t:{},n=r.group,s=r.force,a=r.event;(this.submitEvent=a)&&(this.submitEvent=l({},a,{preventDefault:function(){d.warnOnce("Using `this.submitEvent.preventDefault()` is deprecated; instead, call `this.validationResult = false`"),i.validationResult=!1}})),this.validationResult=!0,this._trigger("validate"),this._refreshFields();var o=this._withoutReactualizingFormOptions(function(){return h.map(i.fields,function(t){return t.whenValidate({force:s,group:n})})});return(e=d.all(o).done(function(){i._trigger("success")}).fail(function(){i.validationResult=!1,i.focus(),i._trigger("error")}).always(function(){i._trigger("validated")})).pipe.apply(e,u(this._pipeAccordingToValidationResult()))},isValid:function(t){if(1<=arguments.length&&!h.isPlainObject(t)){d.warnOnce("Calling isValid on a parsley form without passing arguments as an object is deprecated.");var e=Array.prototype.slice.call(arguments);t={group:e[0],force:e[1]}}return _[this.whenValid(t).state()]},whenValid:function(t){var e=this,i=0<arguments.length&&void 0!==t?t:{},r=i.group,n=i.force;this._refreshFields();var s=this._withoutReactualizingFormOptions(function(){return h.map(e.fields,function(t){return t.whenValid({group:r,force:n})})});return d.all(s)},refresh:function(){return this._refreshFields(),this},reset:function(){for(var t=0;t<this.fields.length;t++)this.fields[t].reset();this._trigger("reset")},destroy:function(){this._destroyUI();for(var t=0;t<this.fields.length;t++)this.fields[t].destroy();this.$element.removeData("Parsley"),this._trigger("destroy")},_refreshFields:function(){return this.actualizeOptions()._bindFields()},_bindFields:function(){var n=this,t=this.fields;return this.fields=[],this.fieldsMappedById={},this._withoutReactualizingFormOptions(function(){n.$element.find(n.options.inputs).not(n.options.excluded).not("[".concat(n.options.namespace,"excluded=true]")).each(function(t,e){var i=new window.Parsley.Factory(e,{},n);if("Field"===i.__class__||"FieldMultiple"===i.__class__){var r=i.__class__+"-"+i.__id__;void 0===n.fieldsMappedById[r]&&(n.fieldsMappedById[r]=i,n.fields.push(i))}}),h.each(d.difference(t,n.fields),function(t,e){e.reset()})}),this},_withoutReactualizingFormOptions:function(t){var e=this.actualizeOptions;this.actualizeOptions=function(){return this};var i=t();return this.actualizeOptions=e,i},_trigger:function(t){return this.trigger("form:"+t)}};function b(t,e,i,r,n){var s=window.Parsley._validatorRegistry.validators[e],a=new c(s);l(this,{validator:a,name:e,requirements:i,priority:r=r||t.options[e+"Priority"]||a.priority,isDomConstraint:n=!0===n}),this._parseRequirements(t.options)}function w(t,e,i,r){this.__class__="Field",this.element=t,this.$element=h(t),void 0!==r&&(this.parent=r),this.options=i,this.domOptions=e,this.constraints=[],this.constraintsByName={},this.validationResult=!0,this._bindConstraints()}var F={pending:null,resolved:!0,rejected:!(b.prototype={validate:function(t,e){var i;return(i=this.validator).validate.apply(i,[t].concat(u(this.requirementList),[e]))},_parseRequirements:function(i){var r=this;this.requirementList=this.validator.parseRequirements(this.requirements,function(t){return i[r.name+((e=t)[0].toUpperCase()+e.slice(1))];var e})}})};w.prototype={validate:function(t){1<=arguments.length&&!h.isPlainObject(t)&&(d.warnOnce("Calling validate on a parsley field without passing arguments as an object is deprecated."),t={options:t});var e=this.whenValidate(t);if(!e)return!0;switch(e.state()){case"pending":return null;case"resolved":return!0;case"rejected":return this.validationResult}},whenValidate:function(t){var e,i=this,r=0<arguments.length&&void 0!==t?t:{},n=r.force,s=r.group;if(this.refresh(),!s||this._isInGroup(s))return this.value=this.getValue(),this._trigger("validate"),(e=this.whenValid({force:n,value:this.value,_refreshed:!0}).always(function(){i._reflowUI()}).done(function(){i._trigger("success")}).fail(function(){i._trigger("error")}).always(function(){i._trigger("validated")})).pipe.apply(e,u(this._pipeAccordingToValidationResult()))},hasConstraints:function(){return 0!==this.constraints.length},needsValidation:function(t){return void 0===t&&(t=this.getValue()),!(!t.length&&!this._isRequired()&&void 0===this.options.validateIfEmpty)},_isInGroup:function(t){return Array.isArray(this.options.group)?-1!==h.inArray(t,this.options.group):this.options.group===t},isValid:function(t){if(1<=arguments.length&&!h.isPlainObject(t)){d.warnOnce("Calling isValid on a parsley field without passing arguments as an object is deprecated.");var e=Array.prototype.slice.call(arguments);t={force:e[0],value:e[1]}}var i=this.whenValid(t);return!i||F[i.state()]},whenValid:function(t){var r=this,e=0<arguments.length&&void 0!==t?t:{},i=e.force,n=void 0!==i&&i,s=e.value,a=e.group;if(e._refreshed||this.refresh(),!a||this._isInGroup(a)){if(this.validationResult=!0,!this.hasConstraints())return h.when();if(null==s&&(s=this.getValue()),!this.needsValidation(s)&&!0!==n)return h.when();var o=this._getGroupedConstraints(),l=[];return h.each(o,function(t,e){var i=d.all(h.map(e,function(t){return r._validateConstraint(s,t)}));if(l.push(i),"rejected"===i.state())return!1}),d.all(l)}},_validateConstraint:function(t,e){var i=this,r=e.validate(t,this);return!1===r&&(r=h.Deferred().reject()),d.all([r]).fail(function(t){i.validationResult instanceof Array||(i.validationResult=[]),i.validationResult.push({assert:e,errorMessage:"string"==typeof t&&t})})},getValue:function(){var t;return null==(t="function"==typeof this.options.value?this.options.value(this):void 0!==this.options.value?this.options.value:this.$element.val())?"":this._handleWhitespace(t)},reset:function(){return this._resetUI(),this._trigger("reset")},destroy:function(){this._destroyUI(),this.$element.removeData("Parsley"),this.$element.removeData("FieldMultiple"),this._trigger("destroy")},refresh:function(){return this._refreshConstraints(),this},_refreshConstraints:function(){return this.actualizeOptions()._bindConstraints()},refreshConstraints:function(){return d.warnOnce("Parsley's refreshConstraints is deprecated. Please use refresh"),this.refresh()},addConstraint:function(t,e,i,r){if(window.Parsley._validatorRegistry.validators[t]){var n=new b(this,t,e,i,r);"undefined"!==this.constraintsByName[n.name]&&this.removeConstraint(n.name),this.constraints.push(n),this.constraintsByName[n.name]=n}return this},removeConstraint:function(t){for(var e=0;e<this.constraints.length;e++)if(t===this.constraints[e].name){this.constraints.splice(e,1);break}return delete this.constraintsByName[t],this},updateConstraint:function(t,e,i){return this.removeConstraint(t).addConstraint(t,e,i)},_bindConstraints:function(){for(var t=[],e={},i=0;i<this.constraints.length;i++)!1===this.constraints[i].isDomConstraint&&(t.push(this.constraints[i]),e[this.constraints[i].name]=this.constraints[i]);for(var r in this.constraints=t,this.constraintsByName=e,this.options)this.addConstraint(r,this.options[r],void 0,!0);return this._bindHtml5Constraints()},_bindHtml5Constraints:function(){null!==this.element.getAttribute("required")&&this.addConstraint("required",!0,void 0,!0),null!==this.element.getAttribute("pattern")&&this.addConstraint("pattern",this.element.getAttribute("pattern"),void 0,!0);var t=this.element.getAttribute("min"),e=this.element.getAttribute("max");null!==t&&null!==e?this.addConstraint("range",[t,e],void 0,!0):null!==t?this.addConstraint("min",t,void 0,!0):null!==e&&this.addConstraint("max",e,void 0,!0),null!==this.element.getAttribute("minlength")&&null!==this.element.getAttribute("maxlength")?this.addConstraint("length",[this.element.getAttribute("minlength"),this.element.getAttribute("maxlength")],void 0,!0):null!==this.element.getAttribute("minlength")?this.addConstraint("minlength",this.element.getAttribute("minlength"),void 0,!0):null!==this.element.getAttribute("maxlength")&&this.addConstraint("maxlength",this.element.getAttribute("maxlength"),void 0,!0);var i=d.getType(this.element);return"number"===i?this.addConstraint("type",["number",{step:this.element.getAttribute("step")||"1",base:t||this.element.getAttribute("value")}],void 0,!0):/^(email|url|range|date)$/i.test(i)?this.addConstraint("type",i,void 0,!0):this},_isRequired:function(){return void 0!==this.constraintsByName.required&&!1!==this.constraintsByName.required.requirements},_trigger:function(t){return this.trigger("field:"+t)},_handleWhitespace:function(t){return!0===this.options.trimValue&&d.warnOnce('data-parsley-trim-value="true" is deprecated, please use data-parsley-whitespace="trim"'),"squish"===this.options.whitespace&&(t=t.replace(/\s{2,}/g," ")),"trim"!==this.options.whitespace&&"squish"!==this.options.whitespace&&!0!==this.options.trimValue||(t=d.trimString(t)),t},_isDateInput:function(){var t=this.constraintsByName.type;return t&&"date"===t.requirements},_getGroupedConstraints:function(){if(!1===this.options.priorityEnabled)return[this.constraints];for(var t=[],e={},i=0;i<this.constraints.length;i++){var r=this.constraints[i].priority;e[r]||t.push(e[r]=[]),e[r].push(this.constraints[i])}return t.sort(function(t,e){return e[0].priority-t[0].priority}),t}};function C(){this.__class__="FieldMultiple"}C.prototype={addElement:function(t){return this.$elements.push(t),this},_refreshConstraints:function(){var t;if(this.constraints=[],"SELECT"===this.element.nodeName)return this.actualizeOptions()._bindConstraints(),this;for(var e=0;e<this.$elements.length;e++)if(h("html").has(this.$elements[e]).length){t=this.$elements[e].data("FieldMultiple")._refreshConstraints().constraints;for(var i=0;i<t.length;i++)this.addConstraint(t[i].name,t[i].requirements,t[i].priority,t[i].isDomConstraint)}else this.$elements.splice(e,1);return this},getValue:function(){if("function"==typeof this.options.value)return this.options.value(this);if(void 0!==this.options.value)return this.options.value;if("INPUT"===this.element.nodeName){var t=d.getType(this.element);if("radio"===t)return this._findRelated().filter(":checked").val()||"";if("checkbox"===t){var e=[];return this._findRelated().filter(":checked").each(function(){e.push(h(this).val())}),e}}return"SELECT"===this.element.nodeName&&null===this.$element.val()?[]:this.$element.val()},_init:function(){return this.$elements=[this.$element],this}};function A(t,e,i){this.element=t,this.$element=h(t);var r=this.$element.data("Parsley");if(r)return void 0!==i&&r.parent===window.Parsley&&(r.parent=i,r._resetOptions(r.options)),"object"===n(e)&&l(r.options,e),r;if(!this.$element.length)throw new Error("You must bind Parsley on an existing element.");if(void 0!==i&&"Form"!==i.__class__)throw new Error("Parent instance must be a Form instance");return this.parent=i||window.Parsley,this.init(e)}A.prototype={init:function(t){return this.__class__="Parsley",this.__version__="2.9.2",this.__id__=d.generateID(),this._resetOptions(t),"FORM"===this.element.nodeName||d.checkAttr(this.element,this.options.namespace,"validate")&&!this.$element.is(this.options.inputs)?this.bind("parsleyForm"):this.isMultiple()?this.handleMultiple():this.bind("parsleyField")},isMultiple:function(){var t=d.getType(this.element);return"radio"===t||"checkbox"===t||"SELECT"===this.element.nodeName&&null!==this.element.getAttribute("multiple")},handleMultiple:function(){var t,e,r=this;if(this.options.multiple=this.options.multiple||(t=this.element.getAttribute("name"))||this.element.getAttribute("id"),"SELECT"===this.element.nodeName&&null!==this.element.getAttribute("multiple"))return this.options.multiple=this.options.multiple||this.__id__,this.bind("parsleyFieldMultiple");if(!this.options.multiple)return d.warn("To be bound by Parsley, a radio, a checkbox and a multiple select input must have either a name or a multiple option.",this.$element),this;this.options.multiple=this.options.multiple.replace(/(:|\.|\[|\]|\{|\}|\$)/g,""),t&&h('input[name="'+t+'"]').each(function(t,e){var i=d.getType(e);"radio"!==i&&"checkbox"!==i||e.setAttribute(r.options.namespace+"multiple",r.options.multiple)});for(var i=this._findRelated(),n=0;n<i.length;n++)if(void 0!==(e=h(i.get(n)).data("Parsley"))){this.$element.data("FieldMultiple")||e.addElement(this.$element);break}return this.bind("parsleyField",!0),e||this.bind("parsleyFieldMultiple")},bind:function(t,e){var i;switch(t){case"parsleyForm":i=h.extend(new y(this.element,this.domOptions,this.options),new r,window.ParsleyExtend)._bindFields();break;case"parsleyField":i=h.extend(new w(this.element,this.domOptions,this.options,this.parent),new r,window.ParsleyExtend);break;case"parsleyFieldMultiple":i=h.extend(new w(this.element,this.domOptions,this.options,this.parent),new C,new r,window.ParsleyExtend)._init();break;default:throw new Error(t+"is not a supported Parsley type")}return this.options.multiple&&d.setAttr(this.element,this.options.namespace,"multiple",this.options.multiple),void 0!==e?this.$element.data("FieldMultiple",i):(this.$element.data("Parsley",i),i._actualizeTriggers(),i._trigger("init")),i}};var E=h.fn.jquery.split(".");if(parseInt(E[0])<=1&&parseInt(E[1])<8)throw"The loaded version of jQuery is too old. Please upgrade to 1.8.x or better.";E.forEach||d.warn("Parsley requires ES5 to run properly. Please include https://github.com/es-shims/es5-shim");var x=l(new r,{element:document,$element:h(document),actualizeOptions:null,_resetOptions:null,Factory:A,version:"2.9.2"});l(w.prototype,v.Field,r.prototype),l(y.prototype,v.Form,r.prototype),l(A.prototype,r.prototype),h.fn.parsley=h.fn.psly=function(t){if(1<this.length){var e=[];return this.each(function(){e.push(h(this).parsley(t))}),e}if(0!=this.length)return new A(this[0],t)},void 0===window.ParsleyExtend&&(window.ParsleyExtend={}),x.options=l(d.objectCreate(s),window.ParsleyConfig),window.ParsleyConfig=x.options,window.Parsley=window.psly=x,x.Utils=d,window.ParsleyUtils={},h.each(d,function(t,e){"function"==typeof e&&(window.ParsleyUtils[t]=function(){return d.warnOnce("Accessing `window.ParsleyUtils` is deprecated. Use `window.Parsley.Utils` instead."),d[t].apply(d,arguments)})});var $=window.Parsley._validatorRegistry=new a(window.ParsleyConfig.validators,window.ParsleyConfig.i18n);window.ParsleyValidator={},h.each("setLocale addCatalog addMessage addMessages getErrorMessage formatMessage addValidator updateValidator removeValidator hasValidator".split(" "),function(t,e){window.Parsley[e]=function(){return $[e].apply($,arguments)},window.ParsleyValidator[e]=function(){var t;return d.warnOnce("Accessing the method '".concat(e,"' through Validator is deprecated. Simply call 'window.Parsley.").concat(e,"(...)'")),(t=window.Parsley)[e].apply(t,arguments)}}),window.Parsley.UI=v,window.ParsleyUI={removeError:function(t,e,i){var r=!0!==i;return d.warnOnce("Accessing UI is deprecated. Call 'removeError' on the instance directly. Please comment in issue 1073 as to your need to call this method."),t.removeError(e,{updateClass:r})},getErrorsMessages:function(t){return d.warnOnce("Accessing UI is deprecated. Call 'getErrorsMessages' on the instance directly."),t.getErrorsMessages()}},h.each("addError updateError".split(" "),function(t,a){window.ParsleyUI[a]=function(t,e,i,r,n){var s=!0!==n;return d.warnOnce("Accessing UI is deprecated. Call '".concat(a,"' on the instance directly. Please comment in issue 1073 as to your need to call this method.")),t[a](e,{message:i,assert:r,updateClass:s})}}),!1!==window.ParsleyConfig.autoBind&&h(function(){h("[data-parsley-validate]").length&&h("[data-parsley-validate]").parsley()});function V(){d.warnOnce("Parsley's pubsub module is deprecated; use the 'on' and 'off' methods on parsley instances or window.Parsley")}var P=h({});function O(e,i){return e.parsleyAdaptedCallback||(e.parsleyAdaptedCallback=function(){var t=Array.prototype.slice.call(arguments,0);t.unshift(this),e.apply(i||P,t)}),e.parsleyAdaptedCallback}var T="parsley:";function M(t){return 0===t.lastIndexOf(T,0)?t.substr(T.length):t}return h.listen=function(t,e){var i;if(V(),"object"===n(arguments[1])&&"function"==typeof arguments[2]&&(i=arguments[1],e=arguments[2]),"function"!=typeof e)throw new Error("Wrong parameters");window.Parsley.on(M(t),O(e,i))},h.listenTo=function(t,e,i){if(V(),!(t instanceof w||t instanceof y))throw new Error("Must give Parsley instance");if("string"!=typeof e||"function"!=typeof i)throw new Error("Wrong parameters");t.on(M(e),O(i))},h.unsubscribe=function(t,e){if(V(),"string"!=typeof t||"function"!=typeof e)throw new Error("Wrong arguments");window.Parsley.off(M(t),e.parsleyAdaptedCallback)},h.unsubscribeTo=function(t,e){if(V(),!(t instanceof w||t instanceof y))throw new Error("Must give Parsley instance");t.off(M(e))},h.unsubscribeAll=function(e){V(),window.Parsley.off(M(e)),h("form,input,textarea,select").each(function(){var t=h(this).data("Parsley");t&&t.off(M(e))})},h.emit=function(t,e){V();var i=e instanceof w||e instanceof y,r=Array.prototype.slice.call(arguments,i?2:1);r.unshift(M(t)),i||(e=window.Parsley),e.trigger.apply(e,u(r))},h.extend(!0,x,{asyncValidators:{default:{fn:function(t){return 200<=t.status&&t.status<300},url:!1},reverse:{fn:function(t){return t.status<200||300<=t.status},url:!1}},addAsyncValidator:function(t,e,i,r){return x.asyncValidators[t]={fn:e,url:i||!1,options:r||{}},this}}),x.addValidator("remote",{requirementType:{"":"string",validator:"string",reverse:"boolean",options:"object"},validateString:function(t,e,i,r){var n,s,a={},o=i.validator||(!0===i.reverse?"reverse":"default");if(void 0===x.asyncValidators[o])throw new Error("Calling an undefined async validator: `"+o+"`");-1<(e=x.asyncValidators[o].url||e).indexOf("{value}")?e=e.replace("{value}",encodeURIComponent(t)):a[r.element.getAttribute("name")||r.element.getAttribute("id")]=t;var l=h.extend(!0,i.options||{},x.asyncValidators[o].options);n=h.extend(!0,{},{url:e,data:a,type:"GET"},l),r.trigger("field:ajaxoptions",r,n),s=h.param(n),void 0===x._remoteCache&&(x._remoteCache={});function u(){var t=x.asyncValidators[o].fn.call(r,d,e,i);return t=t||h.Deferred().reject(),h.when(t)}var d=x._remoteCache[s]=x._remoteCache[s]||h.ajax(n);return d.then(u,u)},priority:-1}),x.on("form:submit",function(){x._remoteCache={}}),r.prototype.addAsyncValidator=function(){return d.warnOnce("Accessing the method `addAsyncValidator` through an instance is deprecated. Simply call `Parsley.addAsyncValidator(...)`"),x.addAsyncValidator.apply(x,arguments)},x.addMessages("en",{defaultMessage:"This value seems to be invalid.",type:{email:"This value should be a valid email.",url:"This value should be a valid url.",number:"This value should be a valid number.",integer:"This value should be a valid integer.",digits:"This value should be digits.",alphanum:"This value should be alphanumeric."},notblank:"This value should not be blank.",required:"This value is required.",pattern:"This value seems to be invalid.",min:"This value should be greater than or equal to %s.",max:"This value should be lower than or equal to %s.",range:"This value should be between %s and %s.",minlength:"This value is too short. It should have %s characters or more.",maxlength:"This value is too long. It should have %s characters or fewer.",length:"This value length is invalid. It should be between %s and %s characters long.",mincheck:"You must select at least %s choices.",maxcheck:"You must select %s choices or fewer.",check:"You must select between %s and %s choices.",equalto:"This value should be the same.",euvatin:"It's not a valid VAT Identification Number."}),x.setLocale("en"),(new function(){var r=this,n=window||global;l(this,{isNativeEvent:function(t){return t.originalEvent&&!1!==t.originalEvent.isTrusted},fakeInputEvent:function(t){r.isNativeEvent(t)&&h(t.target).trigger("input")},misbehaves:function(t){r.isNativeEvent(t)&&(r.behavesOk(t),h(document).on("change.inputevent",t.data.selector,r.fakeInputEvent),r.fakeInputEvent(t))},behavesOk:function(t){r.isNativeEvent(t)&&h(document).off("input.inputevent",t.data.selector,r.behavesOk).off("change.inputevent",t.data.selector,r.misbehaves)},install:function(){if(!n.inputEventPatched){n.inputEventPatched="0.0.3";for(var t=0,e=["select",'input[type="checkbox"]','input[type="radio"]','input[type="file"]'];t<e.length;t++){var i=e[t];h(document).on("input.inputevent",i,{selector:i},r.behavesOk).on("change.inputevent",i,{selector:i},r.misbehaves)}}},uninstall:function(){delete n.inputEventPatched,h(document).off(".inputevent")}})}).install(),x});
597;
598
599/* /nakivo_shop/static/src/js/base.js defined in bundle 'web.assets_frontend' */
600odoo.define('nakivo_shop.nakivo_base',function(require){"use strict";require('web.dom_ready');var FC={};function show_spinner(element){element.removeClass('nakivo-hide');}
601function remove_spinner(element){element.addClass('nakivo-hide');}
602function notification_init(){$.notify.addStyle('straight',{html:"<div><span data-notify-text/></div>",classes:{base:{"white-space":"nowrap","background-color":"white","color":"black","padding":"13px","font-weight":"700"},warning:{"color":"#856404","background-color":"#fff3cd","border-color":"#ffeeba"},error:{"color":"#721c24","background-color":"#f8d7da","border-color":"#f5c6cb"},success:{"color":"#155724","background-color":"#d4edda","border-color":"#c3e6cb"}}});$.notify.addStyle('confirmation',{html:"<div>"+"<div class='confirmation-notification'>"+"<div class='title' data-notify-html='title'/>"+"<div class='buttons'>"+"<a href='#' class='p-button p-button--back no' style='margin-right: 13px;'>Cancel</a>"+"<button type='button' class='p-button p-button--next yes'>Process anyway</button>"+"</div>"+"</div>"+"</div>"});}
603FC.show_spinner=show_spinner;FC.remove_spinner=remove_spinner;notification_init();$('.p-modal__close').click(function(ev){});return FC;});;
604
605/* /nakivo_shop/static/src/lib/nouislider.min.js defined in bundle 'web.assets_frontend' */
606!function(t){"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?module.exports=t():window.noUiSlider=t()}(function(){"use strict";var lt="14.5.0";function ut(t){t.parentElement.removeChild(t)}function a(t){return null!=t}function ct(t){t.preventDefault()}function o(t){return"number"==typeof t&&!isNaN(t)&&isFinite(t)}function pt(t,e,r){0<r&&(ht(t,e),setTimeout(function(){mt(t,e)},r))}function ft(t){return Math.max(Math.min(t,100),0)}function dt(t){return Array.isArray(t)?t:[t]}function e(t){var e=(t=String(t)).split(".");return 1<e.length?e[1].length:0}function ht(t,e){t.classList&&!/\s/.test(e)?t.classList.add(e):t.className+=" "+e}function mt(t,e){t.classList&&!/\s/.test(e)?t.classList.remove(e):t.className=t.className.replace(new RegExp("(^|\\b)"+e.split(" ").join("|")+"(\\b|$)","gi")," ")}function gt(t){var e=void 0!==window.pageXOffset,r="CSS1Compat"===(t.compatMode||"");return{x:e?window.pageXOffset:r?t.documentElement.scrollLeft:t.body.scrollLeft,y:e?window.pageYOffset:r?t.documentElement.scrollTop:t.body.scrollTop}}function c(t,e){return 100/(e-t)}function p(t,e,r){return 100*e/(t[r+1]-t[r])}function f(t,e){for(var r=1;t>=e[r];)r+=1;return r}function r(t,e,r){if(r>=t.slice(-1)[0])return 100;var n,i,o=f(r,t),s=t[o-1],a=t[o],l=e[o-1],u=e[o];return l+(i=r,p(n=[s,a],n[0]<0?i+Math.abs(n[0]):i-n[0],0)/c(l,u))}function n(t,e,r,n){if(100===n)return n;var i,o,s=f(n,t),a=t[s-1],l=t[s];return r?(l-a)/2<n-a?l:a:e[s-1]?t[s-1]+(i=n-t[s-1],o=e[s-1],Math.round(i/o)*o):n}function s(t,e,r){var n;if("number"==typeof e&&(e=[e]),!Array.isArray(e))throw new Error("noUiSlider ("+lt+"): 'range' contains invalid value.");if(!o(n="min"===t?0:"max"===t?100:parseFloat(t))||!o(e[0]))throw new Error("noUiSlider ("+lt+"): 'range' value isn't numeric.");r.xPct.push(n),r.xVal.push(e[0]),n?r.xSteps.push(!isNaN(e[1])&&e[1]):isNaN(e[1])||(r.xSteps[0]=e[1]),r.xHighestCompleteStep.push(0)}function l(t,e,r){if(e)if(r.xVal[t]!==r.xVal[t+1]){r.xSteps[t]=p([r.xVal[t],r.xVal[t+1]],e,0)/c(r.xPct[t],r.xPct[t+1]);var n=(r.xVal[t+1]-r.xVal[t])/r.xNumSteps[t],i=Math.ceil(Number(n.toFixed(3))-1),o=r.xVal[t]+r.xNumSteps[t]*i;r.xHighestCompleteStep[t]=o}else r.xSteps[t]=r.xHighestCompleteStep[t]=r.xVal[t]}function i(t,e,r){var n;this.xPct=[],this.xVal=[],this.xSteps=[r||!1],this.xNumSteps=[!1],this.xHighestCompleteStep=[],this.snap=e;var i=[];for(n in t)t.hasOwnProperty(n)&&i.push([t[n],n]);for(i.length&&"object"==typeof i[0][0]?i.sort(function(t,e){return t[0][0]-e[0][0]}):i.sort(function(t,e){return t[0]-e[0]}),n=0;n<i.length;n++)s(i[n][1],i[n][0],this);for(this.xNumSteps=this.xSteps.slice(0),n=0;n<this.xNumSteps.length;n++)l(n,this.xNumSteps[n],this)}i.prototype.getDistance=function(t){var e,r=[];for(e=0;e<this.xNumSteps.length-1;e++){var n=this.xNumSteps[e];if(n&&t/n%1!=0)throw new Error("noUiSlider ("+lt+"): 'limit', 'margin' and 'padding' of "+this.xPct[e]+"% range must be divisible by step.");r[e]=p(this.xVal,t,e)}return r},i.prototype.getAbsoluteDistance=function(t,e,r){var n,i=0;if(t<this.xPct[this.xPct.length-1])for(;t>this.xPct[i+1];)i++;else t===this.xPct[this.xPct.length-1]&&(i=this.xPct.length-2);r||t!==this.xPct[i+1]||i++;var o=1,s=e[i],a=0,l=0,u=0,c=0;for(n=r?(t-this.xPct[i])/(this.xPct[i+1]-this.xPct[i]):(this.xPct[i+1]-t)/(this.xPct[i+1]-this.xPct[i]);0<s;)a=this.xPct[i+1+c]-this.xPct[i+c],100<e[i+c]*o+100-100*n?(l=a*n,o=(s-100*n)/e[i+c],n=1):(l=e[i+c]*a/100*o,o=0),r?(u-=l,1<=this.xPct.length+c&&c--):(u+=l,1<=this.xPct.length-c&&c++),s=e[i+c]*o;return t+u},i.prototype.toStepping=function(t){return t=r(this.xVal,this.xPct,t)},i.prototype.fromStepping=function(t){return function(t,e,r){if(100<=r)return t.slice(-1)[0];var n,i=f(r,e),o=t[i-1],s=t[i],a=e[i-1],l=e[i];return n=[o,s],(r-a)*c(a,l)*(n[1]-n[0])/100+n[0]}(this.xVal,this.xPct,t)},i.prototype.getStep=function(t){return t=n(this.xPct,this.xSteps,this.snap,t)},i.prototype.getDefaultStep=function(t,e,r){var n=f(t,this.xPct);return(100===t||e&&t===this.xPct[n-1])&&(n=Math.max(n-1,1)),(this.xVal[n]-this.xVal[n-1])/r},i.prototype.getNearbySteps=function(t){var e=f(t,this.xPct);return{stepBefore:{startValue:this.xVal[e-2],step:this.xNumSteps[e-2],highestStep:this.xHighestCompleteStep[e-2]},thisStep:{startValue:this.xVal[e-1],step:this.xNumSteps[e-1],highestStep:this.xHighestCompleteStep[e-1]},stepAfter:{startValue:this.xVal[e],step:this.xNumSteps[e],highestStep:this.xHighestCompleteStep[e]}}},i.prototype.countStepDecimals=function(){var t=this.xNumSteps.map(e);return Math.max.apply(null,t)}
606,i.prototype.convert=function(t){return this.getStep(this.toStepping(t))};var u={to:function(t){return void 0!==t&&t.toFixed(2)},from:Number},d={target:"target",base:"base",origin:"origin",handle:"handle",handleLower:"handle-lower",handleUpper:"handle-upper",touchArea:"touch-area",horizontal:"horizontal",vertical:"vertical",background:"background",connect:"connect",connects:"connects",ltr:"ltr",rtl:"rtl",textDirectionLtr:"txt-dir-ltr",textDirectionRtl:"txt-dir-rtl",draggable:"draggable",drag:"state-drag",tap:"state-tap",active:"active",tooltip:"tooltip",pips:"pips",pipsHorizontal:"pips-horizontal",pipsVertical:"pips-vertical",marker:"marker",markerHorizontal:"marker-horizontal",markerVertical:"marker-vertical",markerNormal:"marker-normal",markerLarge:"marker-large",markerSub:"marker-sub",value:"value",valueHorizontal:"value-horizontal",valueVertical:"value-vertical",valueNormal:"value-normal",valueLarge:"value-large",valueSub:"value-sub"};function h(t){if("object"==typeof(e=t)&&"function"==typeof e.to&&"function"==typeof e.from)return!0;var e;throw new Error("noUiSlider ("+lt+"): 'format' requires 'to' and 'from' methods.")}function m(t,e){if(!o(e))throw new Error("noUiSlider ("+lt+"): 'step' is not numeric.");t.singleStep=e}function g(t,e){if("object"!=typeof e||Array.isArray(e))throw new Error("noUiSlider ("+lt+"): 'range' is not an object.");if(void 0===e.min||void 0===e.max)throw new Error("noUiSlider ("+lt+"): Missing 'min' or 'max' in 'range'.");if(e.min===e.max)throw new Error("noUiSlider ("+lt+"): 'range' 'min' and 'max' cannot be equal.");t.spectrum=new i(e,t.snap,t.singleStep)}function v(t,e){if(e=dt(e),!Array.isArray(e)||!e.length)throw new Error("noUiSlider ("+lt+"): 'start' option is incorrect.");t.handles=e.length,t.start=e}function x(t,e){if("boolean"!=typeof(t.snap=e))throw new Error("noUiSlider ("+lt+"): 'snap' option must be a boolean.")}function b(t,e){if("boolean"!=typeof(t.animate=e))throw new Error("noUiSlider ("+lt+"): 'animate' option must be a boolean.")}function S(t,e){if("number"!=typeof(t.animationDuration=e))throw new Error("noUiSlider ("+lt+"): 'animationDuration' option must be a number.")}function w(t,e){var r,n=[!1];if("lower"===e?e=[!0,!1]:"upper"===e&&(e=[!1,!0]),!0===e||!1===e){for(r=1;r<t.handles;r++)n.push(e);n.push(!1)}else{if(!Array.isArray(e)||!e.length||e.length!==t.handles+1)throw new Error("noUiSlider ("+lt+"): 'connect' option doesn't match handle count.");n=e}t.connect=n}function y(t,e){switch(e){case"horizontal":t.ort=0;break;case"vertical":t.ort=1;break;default:throw new Error("noUiSlider ("+lt+"): 'orientation' option is invalid.")}}function E(t,e){if(!o(e))throw new Error("noUiSlider ("+lt+"): 'margin' option must be numeric.");0!==e&&(t.margin=t.spectrum.getDistance(e))}function C(t,e){if(!o(e))throw new Error("noUiSlider ("+lt+"): 'limit' option must be numeric.");if(t.limit=t.spectrum.getDistance(e),!t.limit||t.handles<2)throw new Error("noUiSlider ("+lt+"): 'limit' option is only supported on linear sliders with 2 or more handles.")}function N(t,e){var r;if(!o(e)&&!Array.isArray(e))throw new Error("noUiSlider ("+lt+"): 'padding' option must be numeric or array of exactly 2 numbers.");if(Array.isArray(e)&&2!==e.length&&!o(e[0])&&!o(e[1]))throw new Error("noUiSlider ("+lt+"): 'padding' option must be numeric or array of exactly 2 numbers.");if(0!==e){for(Array.isArray(e)||(e=[e,e]),t.padding=[t.spectrum.getDistance(e[0]),t.spectrum.getDistance(e[1])],r=0;r<t.spectrum.xNumSteps.length-1;r++)if(t.padding[0][r]<0||t.padding[1][r]<0)throw new Error("noUiSlider ("+lt+"): 'padding' option must be a positive number(s).");var n=e[0]+e[1],i=t.spectrum.xVal[0];if(1<n/(t.spectrum.xVal[t.spectrum.xVal.length-1]-i))throw new Error("noUiSlider ("+lt+"): 'padding' option must not exceed 100% of the range.")}}function P(t,e){switch(e){case"ltr":t.dir=0;break;case"rtl":t.dir=1;break;default:throw new Error("noUiSlider ("+lt+"): 'direction' option was not recognized.")}}function U(t,e){if("string"!=typeof e)throw new Error("noUiSlider ("+lt+"): 'behaviour' must be a string containing options.");var r=0<=e.indexOf("tap"),n=0<=e.indexOf("drag"),i=0<=e.indexOf("fixed"),o=0<=e.indexOf("snap"),s=0<=e.indexOf("hover"),a=0<=e.indexOf("unconstrained");if(i){if(2!==t.handles)throw new Error("noUiSlider ("+lt+"): 'fixed' behaviour must be used with 2 handles");E(t,t.start[1]-t.start[0])}if(a&&(t.margin||t.limit))throw new Error("noUiSlider ("+lt+"): 'unconstrained' behaviour cannot be used with margin or limit");t.events={tap:r||o,drag:n,fixed:i,snap:o,hover:s,unconstrained:a}}function A(t,e){if(!1!==e)if(!0===e){t.tooltips=[];for(var r=0;r<t.handles;r++)t.tooltips.push(!0)}else{if(t.tooltips=dt(e),t.tooltips.length!==t.handles)throw new Error("noUiSlider ("+lt+"): must pass a formatter for all handles.");t.tooltips.forEach(function(t){if("boolean"!=typeof t&&("object"!=typeof t||"function"!=typeof t.to))throw new Error("noUiSlider ("+lt+"): 'tooltips' must be passed a formatter or 'false'.")})}}function V(t,e){h(t.ariaFormat=e)}function k(t,e){h(t.format=e)}function D(t,e){if("boolean"!=typeof(t.keyboardSupport=e))throw new Error("noUiSlider ("+lt+"): 'keyboardSupport' option must be a boolean.")}function M(t,e){t.documentElement=e}function O(t,e){if("string"!=typeof e&&!1!==e)throw new Error("noUiSlider ("+lt+"): 'cssPrefix' must be a string or `false`.");t.cssPrefix=e}function L(t,e){if("object"!=typeof e)throw new Error("noUiSlider ("+lt+"): 'cssClasse
606s' must be an object.");if("string"==typeof t.cssPrefix)for(var r in t.cssClasses={},e)e.hasOwnProperty(r)&&(t.cssClasses[r]=t.cssPrefix+e[r]);else t.cssClasses=e}function vt(e){var r={margin:0,limit:0,padding:0,animate:!0,animationDuration:300,ariaFormat:u,format:u},n={step:{r:!1,t:m},start:{r:!0,t:v},connect:{r:!0,t:w},direction:{r:!0,t:P},snap:{r:!1,t:x},animate:{r:!1,t:b},animationDuration:{r:!1,t:S},range:{r:!0,t:g},orientation:{r:!1,t:y},margin:{r:!1,t:E},limit:{r:!1,t:C},padding:{r:!1,t:N},behaviour:{r:!0,t:U},ariaFormat:{r:!1,t:V},format:{r:!1,t:k},tooltips:{r:!1,t:A},keyboardSupport:{r:!0,t:D},documentElement:{r:!1,t:M},cssPrefix:{r:!0,t:O},cssClasses:{r:!0,t:L}},i={connect:!1,direction:"ltr",behaviour:"tap",orientation:"horizontal",keyboardSupport:!0,cssPrefix:"noUi-",cssClasses:d};e.format&&!e.ariaFormat&&(e.ariaFormat=e.format),Object.keys(n).forEach(function(t){if(!a(e[t])&&void 0===i[t]){if(n[t].r)throw new Error("noUiSlider ("+lt+"): '"+t+"' is required.");return!0}n[t].t(r,a(e[t])?e[t]:i[t])}),r.pips=e.pips;var t=document.createElement("div"),o=void 0!==t.style.msTransform,s=void 0!==t.style.transform;r.transformRule=s?"transform":o?"msTransform":"webkitTransform";return r.style=[["left","top"],["right","bottom"]][r.dir][r.ort],r}function z(t,v,o){var l,u,s,c,i,a,e,p,f=window.navigator.pointerEnabled?{start:"pointerdown",move:"pointermove",end:"pointerup"}:window.navigator.msPointerEnabled?{start:"MSPointerDown",move:"MSPointerMove",end:"MSPointerUp"}:{start:"mousedown touchstart",move:"mousemove touchmove",end:"mouseup touchend"},d=window.CSS&&CSS.supports&&CSS.supports("touch-action","none")&&function(){var t=!1;try{var e=Object.defineProperty({},"passive",{get:function(){t=!0}});window.addEventListener("test",null,e)}catch(t){}return t}(),h=t,y=v.spectrum,x=[],b=[],m=[],g=0,S={},w=t.ownerDocument,E=v.documentElement||w.documentElement,C=w.body,N=-1,P=0,U=1,A=2,V="rtl"===w.dir||1===v.ort?0:100;function k(t,e){var r=w.createElement("div");return e&&ht(r,e),t.appendChild(r),r}function D(t,e){var r=k(t,v.cssClasses.origin),n=k(r,v.cssClasses.handle);return k(n,v.cssClasses.touchArea),n.setAttribute("data-handle",e),v.keyboardSupport&&(n.setAttribute("tabindex","0"),n.addEventListener("keydown",function(t){return function(t,e){if(O()||L(e))return!1;var r=["Left","Right"],n=["Down","Up"],i=["PageDown","PageUp"],o=["Home","End"];v.dir&&!v.ort?r.reverse():v.ort&&!v.dir&&(n.reverse(),i.reverse());var s,a=t.key.replace("Arrow",""),l=a===i[0],u=a===i[1],c=a===n[0]||a===r[0]||l,p=a===n[1]||a===r[1]||u,f=a===o[0],d=a===o[1];if(!(c||p||f||d))return!0;if(t.preventDefault(),p||c){var h=c?0:1,m=at(e),g=m[h];if(null===g)return!1;!1===g&&(g=y.getDefaultStep(b[e],c,10)),(u||l)&&(g*=5),g=Math.max(g,1e-7),g*=c?-1:1,s=x[e]+g}else s=d?v.spectrum.xVal[v.spectrum.xVal.length-1]:v.spectrum.xVal[0];return rt(e,y.toStepping(s),!0,!0),J("slide",e),J("update",e),J("change",e),J("set",e),!1}(t,e)})),n.setAttribute("role","slider"),n.setAttribute("aria-orientation",v.ort?"vertical":"horizontal"),0===e?ht(n,v.cssClasses.handleLower):e===v.handles-1&&ht(n,v.cssClasses.handleUpper),r}function M(t,e){return!!e&&k(t,v.cssClasses.connect)}function r(t,e){return!!v.tooltips[e]&&k(t.firstChild,v.cssClasses.tooltip)}function O(){return h.hasAttribute("disabled")}function L(t){return u[t].hasAttribute("disabled")}function z(){i&&(G("update.tooltips"),i.forEach(function(t){t&&ut(t)}),i=null)}function H(){z(),i=u.map(r),$("update.tooltips",function(t,e,r){if(i[e]){var n=t[e];!0!==v.tooltips[e]&&(n=v.tooltips[e].to(r[e])),i[e].innerHTML=n}})}function j(e,i,o){var s=w.createElement("div"),a=[];a[P]=v.cssClasses.valueNormal,a[U]=v.cssClasses.valueLarge,a[A]=v.cssClasses.valueSub;var l=[];l[P]=v.cssClasses.markerNormal,l[U]=v.cssClasses.markerLarge,l[A]=v.cssClasses.markerSub;var u=[v.cssClasses.valueHorizontal,v.cssClasses.valueVertical],c=[v.cssClasses.markerHorizontal,v.cssClasses.markerVertical];function p(t,e){var r=e===v.cssClasses.value,n=r?a:l;return e+" "+(r?u:c)[v.ort]+" "+n[t]}return ht(s,v.cssClasses.pips),ht(s,0===v.ort?v.cssClasses.pipsHorizontal:v.cssClasse
606s.pipsVertical),Object.keys(e).forEach(function(t){!function(t,e,r){if((r=i?i(e,r):r)!==N){var n=k(s,!1);n.className=p(r,v.cssClasses.marker),n.style[v.style]=t+"%",P<r&&((n=k(s,!1)).className=p(r,v.cssClasses.value),n.setAttribute("data-value",e),n.style[v.style]=t+"%",n.innerHTML=o.to(e))}}(t,e[t][0],e[t][1])}),s}function F(){c&&(ut(c),c=null)}function R(t){F();var m,g,v,x,e,r,b,S,w,n=t.mode,i=t.density||1,o=t.filter||!1,s=function(t,e,r){if("range"===t||"steps"===t)return y.xVal;if("count"===t){if(e<2)throw new Error("noUiSlider ("+lt+"): 'values' (>= 2) required for mode 'count'.");var n=e-1,i=100/n;for(e=[];n--;)e[n]=n*i;e.push(100),t="positions"}return"positions"===t?e.map(function(t){return y.fromStepping(r?y.getStep(t):t)}):"values"===t?r?e.map(function(t){return y.fromStepping(y.getStep(y.toStepping(t)))}):e:void 0}(n,t.values||!1,t.stepped||!1),a=(m=i,g=n,v=s,x={},e=y.xVal[0],r=y.xVal[y.xVal.length-1],S=b=!1,w=0,(v=v.slice().sort(function(t,e){return t-e}).filter(function(t){return!this[t]&&(this[t]=!0)},{}))[0]!==e&&(v.unshift(e),b=!0),v[v.length-1]!==r&&(v.push(r),S=!0),v.forEach(function(t,e){var r,n,i,o,s,a,l,u,c,p,f=t,d=v[e+1],h="steps"===g;if(h&&(r=y.xNumSteps[e]),r||(r=d-f),!1!==f&&void 0!==d)for(r=Math.max(r,1e-7),n=f;n<=d;n=(n+r).toFixed(7)/1){for(u=(s=(o=y.toStepping(n))-w)/m,p=s/(c=Math.round(u)),i=1;i<=c;i+=1)x[(a=w+i*p).toFixed(5)]=[y.fromStepping(a),0];l=-1<v.indexOf(n)?U:h?A:P,!e&&b&&n!==d&&(l=0),n===d&&S||(x[o.toFixed(5)]=[n,l]),w=o}}),x),l=t.format||{to:Math.round};return c=h.appendChild(j(a,o,l))}function T(){var t=l.getBoundingClientRect(),e="offset"+["Width","Height"][v.ort];return 0===v.ort?t.width||l[e]:t.height||l[e]}function B(n,i,o,s){var e=function(t){return!!(t=function(t,e,r){var n,i,o=0===t.type.indexOf("touch"),s=0===t.type.indexOf("mouse"),a=0===t.type.indexOf("pointer");0===t.type.indexOf("MSPointer")&&(a=!0);if(o){var l=function(t){return t.target===r||r.contains(t.target)||t.target.shadowRoot&&t.target.shadowRoot.contains(r)};if("touchstart"===t.type){var u=Array.prototype.filter.call(t.touches,l);if(1<u.length)return!1;n=u[0].pageX,i=u[0].pageY}else{var c=Array.prototype.find.call(t.changedTouches,l);if(!c)return!1;n=c.pageX,i=c.pageY}}e=e||gt(w),(s||a)&&(n=t.clientX+e.x,i=t.clientY+e.y);return t.pageOffset=e,t.points=[n,i],t.cursor=s||a,t}(t,s.pageOffset,s.target||i))&&(!(O()&&!s.doNotReject)&&(e=h,r=v.cssClasses.tap,!((e.classList?e.classList.contains(r):new RegExp("\\b"+r+"\\b").test(e.className))&&!s.doNotReject)&&(!(n===f.start&&void 0!==t.buttons&&1<t.buttons)&&((!s.hover||!t.buttons)&&(d||t.preventDefault(),t.calcPoint=t.points[v.ort],void o(t,s))))));var e,r},r=[];return n.split(" ").forEach(function(t){i.addEventListener(t,e,!!d&&{passive:!0}),r.push([t,e])}),r}function q(t){var e,r,n,i,o,s,a=100*(t-(e=l,r=v.ort,n=e.getBoundingClientRect(),i=e.ownerDocument,o=i.documentElement,s=gt(i),/webkit.*Chrome.*Mobile/i.test(navigator.userAgent)&&(s.x=0),r?n.top+s.y-o.clientTop:n.left+s.x-o.clientLeft))/T();return a=ft(a),v.dir?100-a:a}function X(t,e){"mouseout"===t.type&&"HTML"===t.target.nodeName&&null===t.relatedTarget&&_(t,e)}function Y(t,e){if(-1===navigator.appVersion.indexOf("MSIE 9")&&0===t.buttons&&0!==e.buttonsProperty)return _(t,e);var r=(v.dir?-1:1)*(t.calcPoint-e.startCalcPoint);Z(0<r,100*r/e.baseSize,e.locations,e.handleNumbers)}function _(t,e){e.handle&&(mt(e.handle,v.cssClasses.active),g-=1),e.listeners.forEach(function(t){E.removeEventListener(t[0],t[1])}),0===g&&(mt(h,v.cssClasses.drag),et(),t.cursor&&(C.style.cursor="",C.removeEventListener("selectstart",ct))),e.handleNumbers.forEach(function(t){J("change",t),J("set",t),J("end",t)})}function I(t,e){if(e.handleNumbers.some(L))return!1;var r;1===e.handleNumbers.length&&(r=u[e.handleNumbers[0]].children[0],g+=1,ht(r,v.cssClasses.active));t.stopPropagation();var n=[],i=B(f.move,E,Y,{target:t.target,handle:r,listeners:n,startCalcPoint:t.calcPoint,baseSize:T(),pageOffset:t.pageOffset,handleNumbers:e.handleNumbers,buttonsProperty:t.buttons,locations:b.slice()}),o=B(f.end,E,_,{target:t.target,handle:r,listeners:n,doNotReject:!0,handleNumbers:e.handleNumbers}),s=B("mouseout",E,X,{target:t.target,handle:r,listeners:n,doNotReject:!0,handleNumbers:e.handleNumbers});n.push.apply(n,i.concat(o,s)),t.cursor&&(C.style.cursor=getComputedStyle(t.target).cursor,1<u.length&&ht(h,v.cssClasse
606s.drag),C.addEventListener("selectstart",ct,!1)),e.handleNumbers.forEach(function(t){J("start",t)})}function n(t){t.stopPropagation();var i,o,s,e=q(t.calcPoint),r=(i=e,s=!(o=100),u.forEach(function(t,e){if(!L(e)){var r=b[e],n=Math.abs(r-i);(n<o||n<=o&&r<i||100===n&&100===o)&&(s=e,o=n)}}),s);if(!1===r)return!1;v.events.snap||pt(h,v.cssClasses.tap,v.animationDuration),rt(r,e,!0,!0),et(),J("slide",r,!0),J("update",r,!0),J("change",r,!0),J("set",r,!0),v.events.snap&&I(t,{handleNumbers:[r]})}function W(t){var e=q(t.calcPoint),r=y.getStep(e),n=y.fromStepping(r);Object.keys(S).forEach(function(t){"hover"===t.split(".")[0]&&S[t].forEach(function(t){t.call(a,n)})})}function $(t,e){S[t]=S[t]||[],S[t].push(e),"update"===t.split(".")[0]&&u.forEach(function(t,e){J("update",e)})}function G(t){var n=t&&t.split(".")[0],i=n&&t.substring(n.length);Object.keys(S).forEach(function(t){var e=t.split(".")[0],r=t.substring(e.length);n&&n!==e||i&&i!==r||delete S[t]})}function J(r,n,i){Object.keys(S).forEach(function(t){var e=t.split(".")[0];r===e&&S[t].forEach(function(t){t.call(a,x.map(v.format.to),n,x.slice(),i||!1,b.slice(),a)})})}function K(t,e,r,n,i,o){var s;return 1<u.length&&!v.events.unconstrained&&(n&&0<e&&(s=y.getAbsoluteDistance(t[e-1],v.margin,0),r=Math.max(r,s)),i&&e<u.length-1&&(s=y.getAbsoluteDistance(t[e+1],v.margin,1),r=Math.min(r,s))),1<u.length&&v.limit&&(n&&0<e&&(s=y.getAbsoluteDistance(t[e-1],v.limit,0),r=Math.min(r,s)),i&&e<u.length-1&&(s=y.getAbsoluteDistance(t[e+1],v.limit,1),r=Math.max(r,s))),v.padding&&(0===e&&(s=y.getAbsoluteDistance(0,v.padding[0],0),r=Math.max(r,s)),e===u.length-1&&(s=y.getAbsoluteDistance(100,v.padding[1],1),r=Math.min(r,s))),!((r=ft(r=y.getStep(r)))===t[e]&&!o)&&r}function Q(t,e){var r=v.ort;return(r?e:t)+", "+(r?t:e)}function Z(t,n,r,e){var i=r.slice(),o=[!t,t],s=[t,!t];e=e.slice(),t&&e.reverse(),1<e.length?e.forEach(function(t,e){var r=K(i,t,i[t]+n,o[e],s[e],!1);!1===r?n=0:(n=r-i[t],i[t]=r)}):o=s=[!0];var a=!1;e.forEach(function(t,e){a=rt(t,r[t]+n,o[e],s[e])||a}),a&&e.forEach(function(t){J("update",t),J("slide",t)})}function tt(t,e){return v.dir?100-t-e:t}function et(){m.forEach(function(t){var e=50<b[t]?-1:1,r=3+(u.length+e*t);u[t].style.zIndex=r})}function rt(t,e,r,n){return!1!==(e=K(b,t,e,r,n,!1))&&(function(t,e){b[t]=e,x[t]=y.fromStepping(e);var r="translate("+Q(10*(tt(e,0)-V)+"%","0")+")";u[t].style[v.transformRule]=r,nt(t),nt(t+1)}(t,e),!0)}function nt(t){if(s[t]){var e=0,r=100;0!==t&&(e=b[t-1]),t!==s.length-1&&(r=b[t]);var n=r-e,i="translate("+Q(tt(e,n)+"%","0")+")",o="scale("+Q(n/100,"1")+")";s[t].style[v.transformRule]=i+" "+o}}function it(t,e){return null===t||!1===t||void 0===t?b[e]:("number"==typeof t&&(t=String(t)),t=v.format.from(t),!1===(t=y.toStepping(t))||isNaN(t)?b[e]:t)}function ot(t,e){var r=dt(t),n=void 0===b[0];e=void 0===e||!!e,v.animate&&!n&&pt(h,v.cssClasses.tap,v.animationDuration),m.forEach(function(t){rt(t,it(r[t],t),!0,!1)});for(var i=1===m.length?0:1;i<m.length;++i)m.forEach(function(t){rt(t,b[t],!0,!0)});et(),m.forEach(function(t){J("update",t),null!==r[t]&&e&&J("set",t)})}function st(){var t=x.map(v.format.to);return 1===t.length?t[0]:t}function at(t){var e=b[t],r=y.getNearbySteps(e),n=x[t],i=r.thisStep.step,o=null;if(v.snap)return[n-r.stepBefore.startValue||null,r.stepAfter.startValue-n||null];!1!==i&&n+i>r.stepAfter.startValue&&(i=r.stepAfter.startValue-n),o=n>r.thisStep.startValue?r.thisStep.step:!1!==r.stepBefore.step&&n-r.stepBefore.highestStep,100===e?i=null:0===e&&(o=null);var s=y.countStepDecimals();return null!==i&&!1!==i&&(i=Number(i.toFixed(s))),null!==o&&!1!==o&&(o=Number(o.toFixed(s))),[o,i]}return ht(e=h,v.cssClasses.target),0===v.dir?ht(e,v.cssClasses.ltr):ht(e,v.cssClasses.rtl),0===v.ort?ht(e,v.cssClasses.horizontal):ht(e,v.cssClasses.vertical),ht(e,"rtl"===getComputedStyle(e).direction?v.cssClasses.textDirectionRtl:v.cssClasses.textDirectionLtr),l=k(e,v.cssClasses.base),function(t,e){var r=k(e,v.cssClasses.connects);u=[],(s=[]).push(M(r,t[0]));for(var n=0;n<v.handles;n++)u.push(D(e,n)),m[n]=n,s.push(M(r,t[n+1]))}(v.connect,l),(p=v.events).fixed||u.forEach(function(t,e){B(f.start,t.children[0],I,{handleNumbers:[e]})}),p.tap&&B(f.start,l,n,{}),p.hover&&B(f.move,l,W,{hover:!0}
606),p.drag&&s.forEach(function(t,e){if(!1!==t&&0!==e&&e!==s.length-1){var r=u[e-1],n=u[e],i=[t];ht(t,v.cssClasses.draggable),p.fixed&&(i.push(r.children[0]),i.push(n.children[0])),i.forEach(function(t){B(f.start,t,I,{handles:[r,n],handleNumbers:[e-1,e]})})}}),ot(v.start),v.pips&&R(v.pips),v.tooltips&&H(),$("update",function(t,e,s,r,a){m.forEach(function(t){var e=u[t],r=K(b,t,0,!0,!0,!0),n=K(b,t,100,!0,!0,!0),i=a[t],o=v.ariaFormat.to(s[t]);r=y.fromStepping(r).toFixed(1),n=y.fromStepping(n).toFixed(1),i=y.fromStepping(i).toFixed(1),e.children[0].setAttribute("aria-valuemin",r),e.children[0].setAttribute("aria-valuemax",n),e.children[0].setAttribute("aria-valuenow",i),e.children[0].setAttribute("aria-valuetext",o)})}),a={destroy:function(){for(var t in v.cssClasses)v.cssClasses.hasOwnProperty(t)&&mt(h,v.cssClasses[t]);for(;h.firstChild;)h.removeChild(h.firstChild);delete h.noUiSlider},steps:function(){return m.map(at)},on:$,off:G,get:st,set:ot,setHandle:function(t,e,r){if(!(0<=(t=Number(t))&&t<m.length))throw new Error("noUiSlider ("+lt+"): invalid handle number, got: "+t);rt(t,it(e,t),!0,!0),J("update",t),r&&J("set",t)},reset:function(t){ot(v.start,t)},__moveHandles:function(t,e,r){Z(t,e,b,r)},options:o,updateOptions:function(e,t){var r=st(),n=["margin","limit","padding","range","animate","snap","step","format","pips","tooltips"];n.forEach(function(t){void 0!==e[t]&&(o[t]=e[t])});var i=vt(o);n.forEach(function(t){void 0!==e[t]&&(v[t]=i[t])}),y=i.spectrum,v.margin=i.margin,v.limit=i.limit,v.padding=i.padding,v.pips?R(v.pips):F(),v.tooltips?H():z(),b=[],ot(e.start||r,t)},target:h,removePips:F,removeTooltips:z,getTooltips:function(){return i},getOrigins:function(){return u},pips:R}}return{__spectrum:i,version:lt,cssClasses:d,create:function(t,e){if(!t||!t.nodeName)throw new Error("noUiSlider ("+lt+"): create requires a single element, got: "+t);if(t.noUiSlider)throw new Error("noUiSlider ("+lt+"): Slider was already initialized.");var r=z(t,vt(e),e);return t.noUiSlider=r}}});;
607
608/* /nakivo_shop/static/src/lib/balancetext.min.js defined in bundle 'web.assets_frontend' */
609(function(root,factory){if(typeof define==="function"&&define.amd){define([],factory)}else if(typeof module==="object"&&module.exports){module.exports=factory()}else{root.balanceText=factory()}})(this,()=>{let breakMatches,wsnwMatches,wsnwOffset;const watching={sel:[],el:[]};let handlersInitialized=false;let polyfilled=false;function noop(){}function forEach(elements,callback){Array.prototype.forEach.call(elements,callback)}function ready(fn){if(document.readyState!=="loading"){fn()}else if(document.addEventListener){document.addEventListener("DOMContentLoaded",fn)}else{document.attachEvent("onreadystatechange",()=>{if(document.readyState!=="loading"){fn()}})}}function debounce(func,threshold,execAsap,...args){let timeout;return function(){const obj=this;function delayed(){if(!execAsap){func.apply(obj,args)}timeout=null}if(timeout){clearTimeout(timeout)}else if(execAsap){func.apply(obj,args)}timeout=setTimeout(delayed,threshold||100)}}function hasTextWrap(){if(typeof window==="undefined"){return false}const{style:style}=document.documentElement;return style.textWrap||style.WebkitTextWrap||style.MozTextWrap||style.MsTextWrap}function NextWS_params(){this.reset()}NextWS_params.prototype.reset=function(){this.index=0;this.width=0};function isWhiteSpaceNoWrap(index){return wsnwMatches.some(range=>range.start<index&&index<range.end)}function recursiveCalcNoWrapOffsetsForLine(el,includeTag){if(el.nodeType===el.ELEMENT_NODE){const style=window.getComputedStyle(el);if(style.whiteSpace==="nowrap"){const len=el.outerHTML.length;wsnwMatches.push({start:wsnwOffset,end:wsnwOffset+len});wsnwOffset+=len}else{forEach(el.childNodes,child=>{recursiveCalcNoWrapOffsetsForLine(child,true)});if(includeTag){wsnwOffset+=el.outerHTML.length-el.innerHTML.length}}}else if(el.nodeType===el.COMMENT_NODE){wsnwOffset+=el.length+7}else if(el.nodeType===el.PROCESSING_INSTRUCTION_NODE){wsnwOffset+=el.length+2}else{wsnwOffset+=el.length}}function calcNoWrapOffsetsForLine(el,oldWS,lineCharOffset){if(lineCharOffset===0){el.style.whiteSpace=oldWS;wsnwOffset=0;wsnwMatches=[];recursiveCalcNoWrapOffsetsForLine(el,false);el.style.whiteSpace="nowrap"}else{const newMatches=[];
vendor: 6,160 bytes, line 609
609wsnwMatches.forEach(match=>{if(match.start>lineCharOffset){newMatches.push({start:match.start-lineCharOffset,end:match.end-lineCharOffset})}});wsnwMatches=newMatches}}function removeTags(el){let brs=el.querySelectorAll('br[data-owner="balance-text-hyphen"]');forEach(brs,br=>{br.outerHTML=""});brs=el.querySelectorAll('br[data-owner="balance-text"]');forEach(brs,br=>{br.outerHTML=" "});let spans=el.querySelectorAll('span[data-owner="balance-text-softhyphen"]');if(spans.length>0){forEach(spans,span=>{const textNode=document.createTextNode("­");span.parentNode.insertBefore(textNode,span);span.parentNode.removeChild(span)})}spans=el.querySelectorAll('span[data-owner="balance-text-justify"]');if(spans.length>0){let txt="";forEach(spans,span=>{txt+=span.textContent;span.parentNode.removeChild(span)});el.innerHTML=txt}}const isJustified=function(el){const style=el.currentStyle||window.getComputedStyle(el,null);return style.textAlign==="justify"};function justify(el,txt,conWidth){txt=txt.trim();const words=txt.split(" ").length;txt=`${txt}`;if(words<2){return txt}const tmp=document.createElement("span");tmp.innerHTML=txt;el.appendChild(tmp);const size=tmp.offsetWidth;tmp.parentNode.removeChild(tmp);const wordSpacing=Math.floor((conWidth-size)/(words-1));tmp.style.wordSpacing=`${wordSpacing}px`;tmp.setAttribute("data-owner","balance-text-justify");const div=document.createElement("div");div.appendChild(tmp);return div.innerHTML}function isBreakChar(txt,index){const re=/([^\S\u00a0]|-|\u2014|\u2013|\u00ad)(?![^<]*>)/g;let match;if(!breakMatches){breakMatches=[];match=re.exec(txt);while(match!==null){if(!isWhiteSpaceNoWrap(match.index)){breakMatches.push(match.index)}match=re.exec(txt)}}return breakMatches.indexOf(index)!==-1}function isBreakOpportunity(txt,index){return index===0||index===txt.length||isBreakChar(txt,index-1)&&!isBreakChar(txt,index)}function findBreakOpportunity(el,txt,conWidth,desWidth,dir,c,ret){let w;if(txt&&typeof txt==="string"){for(;;){while(!isBreakOpportunity(txt,c)){c+=dir}el.innerHTML=txt.substr(0,c);w=el.offsetWidth;if(dir<0){if(w<=desWidth||w<=0||c===0){break}}else if(desWidth<=w||conWidth<=w||c===txt.length){break}c+=dir}}ret.index=c;ret.width=w}function getSpaceWidth(el,h){const container=document.createElement("div");container.style.display="block";container.style.position="absolute";container.style.bottom=0;container.style.right=0;container.style.width=0;container.style.height=0;container.style.margin=0;container.style.padding=0;container.style.visibility="hidden";container.style.overflow="hidden";const space=document.createElement("span");space.style.fontSize="2000px";space.innerHTML="&nbsp;";container.appendChild(space);el.appendChild(container);const dims=space.getBoundingClientRect();container.parentNode.removeChild(container);const spaceRatio=dims.height/dims.width;return h/spaceRatio}function getElementsList(elements){if(!elements){return[]}if(typeof elements==="string"){return document.querySelectorAll(elements)}if(elements.tagName&&elements.querySelectorAll){return[elements]}return elements}function balanceText(elements){forEach(getElementsList(elements),el=>{const maxTextWidth=5e3;removeTags(el);const oldWS=el.style.whiteSpace;const oldFloat=el.style.float;const oldDisplay=el.style.display;const oldPosition=el.style.position;const oldLH=el.style.lineHeight;el.style.lineHeight="normal";const containerWidth=el.offsetWidth;const containerHeight=el.offsetHeight;el.style.whiteSpace="nowrap";el.style.float="none";el.style.display="inline";el.style.position="static";let nowrapWidth=el.offsetWidth;const nowrapHeight=el.offsetHeight;const spaceWidth=oldWS==="pre-wrap"?0:getSpaceWidth(el,nowrapHeight);if(containerWidth>0&&nowrapWidth>containerWidth&&nowrapWidth<maxTextWidth){let remainingText=el.innerHTML;let newText="";let lineText="";const shouldJustify=isJustified(el);const totLines=Math.round(containerHeight/nowrapHeight);let remLines=totLines;let lineCharOffset=0;let desiredWidth,guessIndex,le,ge,splitIndex,isHyphen,isSoftHyphen;while(remLines>1){breakMatches=null;calcNoWrapOffsetsForLine(el,oldWS,lineCharOffset);desiredWidth=Math.round((nowrapWidth+spaceWidth)/remLines-spaceWidth);guessIndex=Math.round((remainingText.length+1)/remLines)-1;le=new NextWS_params;findBreakOpportunity(el,remainingText,containerWidth,desiredWidth,-1,guessIndex,le);ge=new NextWS_params;guessIndex=le.index;findBreakOpportunity(el,remainingText,containerWidth,desiredWidth,+1,guessIndex,ge);le.reset();guessIndex=ge.index;findBreakOpportunity(el,remainingText,containerWidth,desiredWidth,-1,guessIndex,le);if(le.index===0){splitIndex=ge.index}else if(containerWidth<ge.width||le.index===ge.index){splitIndex=le.index}else{splitIndex=Math.abs(desiredWidth-le.width)<Math.abs(ge.width-desiredWidth)?le.index:ge.index}lineText=remainingText.substr(0,splitIndex).replace(/\s$/,"");isSoftHyphen=Boolean(lineText.match(/\u00ad$/));if(isSoftHyphen){lineText=lineText.replace(/\u00ad$/,'<span data-owner="balance-text-softhyphen">-</span>')}if(shouldJustify){newText+=justify(el,lineText,containerWidth)}else{newText+=lineText;isHyphen=isSoftHyphen||Boolean(lineText.match(/(-|\u2014|\u2013)$/));newText+=isHyphen?'<br data-owner="balance-text-hyphen" />':'<br data-owner="balance-text" aria-hidden="true" />'}remainingText=remainingText.substr(splitIndex);lineCharOffset=splitIndex;remLines--;el.innerHTML=remainingText;nowrapWidth=el.offsetWidth}if(shouldJustify){el.innerHTML=newText+justify(el,remainingText,containerWidth)}else{el.innerHTML=newText+remainingText}}el.style.whiteSpace=oldWS;el.style.float=oldFloat;el.style.display=oldDisplay;el.style.position=oldPosition;el.style.lineHeight=oldLH})}function updateWatched(){const selectors=watching.sel.join(",");const selectedElements=getElementsList(selectors);const elements=Array.prototype.concat.apply(watching.el,selectedElements);balanceText(elements)}function initHandlers(){if(handlersInitialized){return}ready(updateWatched);window.addEventListener("load",updateWatched);window.addEventListener("resize",debounce(updateWatched));handlersInitialized=true}function balanceTextAndWatch(elements){if(typeof elements==="str
609ing"){watching.sel.push(elements)}else{forEach(getElementsList(elements),el=>{watching.el.push(el)})}initHandlers();updateWatched()}function unwatch(elements){if(typeof elements==="string"){watching.sel=watching.sel.filter(el=>el!==elements)}else{elements=getElementsList(elements);watching.el=watching.el.filter(el=>elements.indexOf(el)===-1)}}function polyfill(){if(polyfilled){return}watching.sel.push(".balance-text");initHandlers();polyfilled=true}function publicInterface(elements,options){if(!elements){polyfill()}else if(options&&options.watch===true){balanceTextAndWatch(elements)}else if(options&&options.watch===false){unwatch(elements)}else{balanceText(elements)}}publicInterface.updateWatched=updateWatched;if(hasTextWrap()){noop.updateWatched=noop;return noop}return publicInterface});;
610
611/* /nakivo_shop/static/src/js/svgInline.js defined in bundle 'web.assets_frontend' */
612odoo.define('nakivo_shop.svgInline',function(require){"use strict";return function(selector){if(document.querySelector(selector)){document.querySelectorAll(selector).forEach(function(img){const imgID=img.id;const imgClass=img.className;const imgURL=img.src;const req=new XMLHttpRequest();req.open('GET',imgURL,true);req.onreadystatechange=function(){if(req.readyState===4&&req.status===200){const parser=new DOMParser();const xmlDoc=parser.parseFromString(req.responseText,"text/xml");const svg=xmlDoc.getElementsByTagName('svg')[0];if(typeof imgID!=='undefined'){svg.setAttribute('id',imgID);}
613if(typeof imgClass!=='undefined'){svg.setAttribute('class',imgClass+' replaced-svg');}
614svg.removeAttribute('xmlns:a');if(!svg.getAttribute('viewBox')&&svg.getAttribute('height')&&svg.getAttribute('width')){svg.setAttribute('viewBox','0 0 '+svg.getAttribute('height')+' '+svg.getAttribute('width'))}
615img.parentNode.replaceChild(svg,img);}};req.send();});}}});
616
617/* /nakivo_shop/static/src/js/dropdowns.js defined in bundle 'web.assets_frontend' */
618odoo.define('nakivo_shop.dropdowns',function(require){'use strict';function triggerCountry(e){if($(e.target).hasClass('o_country_item')){var $country=$('#country_id');if($country.length){$country.trigger('change');}}}
619function getCoords(elem){return{top:elem.getBoundingClientRect().top+pageYOffset,left:elem.getBoundingClientRect().left+pageXOffset};}
620return function dropdowns(el){if(document.querySelector(el)){const closeAll=()=>{const dropdowns=document.querySelectorAll(el);for(let drop of dropdowns){drop.classList.remove('opened');drop.querySelector(`${el}-title`).classList.remove('opened');drop.querySelector(`${el}-list`).hidden=true;}};const openThis=i=>{i.classList.toggle('opened');i.querySelector(`${el}-title`).classList.toggle('opened');i.querySelector(`${el}-list`).hidden=i.querySelector(`${el}-list`).hidden===false;};document.documentElement.addEventListener('click',function(e){if(e.target.closest(el)&&e.target.tagName!=='INPUT'){const dropdown=e.target.closest(el);if(e.target.closest(el+'-item')){const item=e.target.closest(el+'-item');if(item.querySelector(`${el}-sub-list`)){const dropdownSub=item.querySelector(`${el}-sub-list`);const allDropdownSub=document.querySelectorAll(`${el}-sub-list`);const thisOpened=dropdownSub.hidden===false;const windowWidth=window.innerWidth;for(let sub of allDropdownSub){sub.hidden=true;sub.classList.remove('bottom');}
621if(!thisOpened){dropdownSub.hidden=false;}
622if(getCoords(dropdownSub).left+dropdownSub.offsetWidth>windowWidth){dropdownSub.classList.add('bottom');}else{dropdownSub.classList.remove('bottom');}}
623if(item.classList.contains((`${el}-item-static`).slice(1))){return;}
624if(Object.keys(item.dataset).length!==0){if(item.dataset.hash){window.location.hash=item.dataset.hash;dropdown.querySelector(`${el}-input`).value=item.dataset.hash;}else{const data=item.dataset;for(const key in data){dropdown.querySelector(`${el}-input`).value=data[key];}}}else{dropdown.querySelector(`${el}-input`).value=item.textContent;}
625dropdown.querySelector(`${el}-title`).innerHTML=item.innerHTML;dropdown.querySelector(`${el}-title`).classList.add('selected');closeAll();triggerCountry(e);return;}
626if(dropdown.classList.contains('opened')){closeAll();return;}
627closeAll();openThis(dropdown);}});document.documentElement.addEventListener('click',e=>{if(!e.target.closest(el)){closeAll();}});}}});
628
629/* /nakivo_shop/static/src/js/tooltip.js defined in bundle 'web.assets_frontend' */
630odoo.define('nakivo_shop.tooltip',function(require){'use strict';return function tooltip(selector,className,maxWidth=300,indent=0){let refTooltip;let timer;document.documentElement.addEventListener('mouseover',(event)=>{if(event.target.closest(selector)){const target=event.target.closest(selector);const tooltip=document.createElement('div');const triangle=document.createElement('div');tooltip.classList.add(className);triangle.classList.add(`${className}
630__triangle`);tooltip.style.width=target.scrollWidth;tooltip.style.height=target.scrollHeight;tooltip.innerHTML=target.dataset.tooltip;timer=setTimeout(()=>{tooltip.appendChild(triangle);document.body.appendChild(tooltip);let top,left;if(tooltip.offsetWidth>maxWidth){tooltip.style.width=`${maxWidth}px`;tooltip.style.whiteSpace='normal';}
631if(target.getBoundingClientRect().top-tooltip.offsetHeight<0){top=target.getBoundingClientRect().bottom+tooltip.offsetHeight+indent;tooltip.classList.add('bottom');}else{top=target.getBoundingClientRect().top-indent;}
632if(target.getBoundingClientRect().right+((tooltip.offsetWidth-target.offsetWidth)/2)>window.innerWidth){left=target.getBoundingClientRect().right-tooltip.offsetWidth;tooltip.classList.add('right');}else{left=target.getBoundingClientRect().left-((tooltip.offsetWidth-target.offsetWidth)/2);}
633if(left<0){left=target.getBoundingClientRect().left;tooltip.classList.remove('right');tooltip.classList.add('left');}
634if(left+tooltip.offsetWidth>window.innerWidth){left=10;tooltip.style.width='300px';triangle.style.left=(target.getBoundingClientRect().left+target.offsetWidth/2)-15+'px';tooltip.classList.remove('left');tooltip.classList.remove('right');}
635tooltip.style.top=top-tooltip.offsetHeight+'px';tooltip.style.left=left+'px';refTooltip=tooltip;},300);let elemToObserve=target;let prevClassState=elemToObserve.classList.contains(selector.slice(1));let observer=new MutationObserver((mutations)=>{mutations.forEach((mutation)=>{if(mutation.attributeName==="class"){const currentClassState=mutation.target.classList.contains(selector.slice(1));if(prevClassState!==currentClassState){prevClassState=currentClassState;if(!currentClassState){clearTimeout(timer);if(refTooltip){document.body.removeChild(refTooltip);refTooltip=null;}}}}});});observer.observe(elemToObserve,{attributes:true});}});document.documentElement.addEventListener('mouseout',(event)=>{if(event.target.closest(selector)){clearTimeout(timer);if(refTooltip){document.body.removeChild(refTooltip);refTooltip=null;}}});}});
636
637/* /nakivo_shop/static/src/js/inputNumbers.js defined in bundle 'web.assets_frontend' */
638odoo.define('nakivo_shop.inputNumbers',function(require){"use strict";return function(el){if(document.querySelector(el)){const elems=document.querySelectorAll(el);elems.forEach(i=>{i.addEventListener('input',function(){this.value=this.value.replace(/\D/gi,'').replace(/^0+/,'');});});}}});
639
640/* /nakivo_shop/static/src/js/rangeSlider.js defined in bundle 'web.assets_frontend' */
641odoo.define('nakivo_shop.rangeSlider',function(require){"use strict";require('web.dom_ready');return function(elems){if(document.querySelector(elems)){document.querySelectorAll(elems).forEach(elem=>{const slider=elem.querySelector(`${elems}-slider`);const field=slider.closest(elems).querySelector(`${elems}-field`);const min=Number(slider.dataset.min);const max=Number(slider.dataset.max);const step=slider.dataset.step?Number(slider.dataset.step):1;try{noUiSlider.create(slider,{start:min,connect:true,range:{'min':min,'max':max},step:step,pips:{mode:'steps',filter:()=>0,density:-1,}});}catch(e){console.log('Slider was created!');}
642slider.noUiSlider.set(field.value);slider.noUiSlider.on('update',()=>{field.value=parseInt(slider.noUiSlider.get()[0]);field.dispatchEvent(new Event('change'));});if($('.js-readonly')&&$('.js-readonly').length==1){$('.js-readonly').attr('disabled',true);}});}}});
643
644/* /nakivo_shop/static/src/js/main.js defined in bundle 'web.assets_frontend' */
645odoo.define('nakivo_shop.main',function(require){"use strict";var svgInline=require('nakivo_shop.svgInline');var dropdowns=require('nakivo_shop.dropdowns');var tooltip=require('nakivo_shop.tooltip');var inputNumbers=require('nakivo_shop.inputNumbers');var rangeSlider=require('nakivo_shop.rangeSlider');require('web.dom_ready');svgInline('.js-svg img');dropdowns('.js-dropdown');tooltip('.js-tooltip','tooltip_shop',300,10);inputNumbers('.js-number-field');rangeSlider('.js-range');});
646
647/* /nakivo_shop/static/src/js/logic.js defined in bundle 'web.assets_frontend' */
648odoo.define('nakivo_shop.logic',function(require){'use strict';var rpc=require('web.rpc');require('web.dom_ready');var shop=$('.o_nakivo_shop');if(!shop.length){return $.Deferred().reject("DOM doesn't contain o_
648nakivo_shop elements");}
649let get_db_url='/get_products_json';let $obj={license_type:{title:'License Type',type:'radio',values:{subscription:{title:'Per-workload subscription',enabled:1,flags:[],messages:[],eflags:[],error:0},perpetual:{title:'Perpetual',enabled:1,flags:[],messages:[],eflags:[],error:0},},value:'perpetual',},global_message:{enabled:0,type:'block',messages:[],},socket:{title:'Sockets',enabled:0,type:'text',value:0,error:0,flags:[],eflags:[],messages:[]},vmware:{title:'VMware VMs',enabled:1,type:'text',value:0,error:0,flags:[],eflags:[],messages:[]},hyperv:{title:'Hyper-V VMs',enabled:1,type:'text',value:0,error:0,flags:[],eflags:[],messages:[]},nutanix:{title:'Nutanix AHV VMs',enabled:1,type:'text',value:0,error:0,flags:[],eflags:[],messages:[]},win_srv:{title:'Windows Servers',enabled:1,type:'text',value:0,error:0,flags:[],eflags:[],messages:[]},lin_srv:{title:'Linux Servers',enabled:1,type:'text',value:0,error:0,flags:[],eflags:[],messages:[]},win_ws:{title:'Windows Workstations',enabled:1,type:'text',value:0,error:0,flags:[],eflags:[],messages:[]},aws:{title:'AWS EC2 instances',enabled:1,type:'text',value:0,error:0,flags:[],eflags:[],messages:[]},oracle:{title:'Oracle RMAN',enabled:1,type:'text',value:0,error:0,flags:[],eflags:[],messages:[]},ms365_count:{title:'Microsoft 365 users',enabled:1,type:'text',value:0,error:0,flags:[],eflags:[],messages:[]},ms365_year:{title:'Years of Microsoft 365 subscription',enabled:1,type:'slider',level:'',value:2,messages:[]},edition:{title:'Edition',type:'radio',values:{basic:{title:'Basic',enabled:0,messages:['l3'],flags:['in_subscription'],eflags:[],error:0},pro_essentials:{title:'Pro Essentials',enabled:1,messages:[],flags:[],eflags:[],error:0},pro:{title:'Pro',enabled:1,messages:[],flags:[],eflags:[],error:0},enterprise_essentials:{title:'Enterprise Essentials',enabled:1,messages:[],flags:[],eflags:[],error:0},enterprise:{title:'Enterprise',enabled:1,messages:[],flags:[],eflags:[],error:0},enterprise_plus:{title:'Enterprise Plus',enabled:1,messages:[],flags:[],eflags:[],error:0},},value:'enterprise',},support_level:{title:'Support level',type:'radio',values:{standard_support:{title:'Standard',enabled:1,flags:[],messages:[],eflags:[],error:0},support_24:{title:'24/7',enabled:1,flags:[],messages:[],eflags:[],error:0},},value:'standard_support',},support_years:{title:'Years of subscription',enabled:1,type:'slider',scale:'1-5',value:1,messages:[]},submit:{title:'Next',enabled:0,type:'button',value:0,messages:['l21'],flags:['zero_price']},};let $db;let $o_price={USD:0,CHF:0,EUR:0,GBP:0};let $price={USD:0,CHF:0,EUR:0,GBP:0};let $max_price={USD:5000,CHF:5500,EUR:4350,GBP:4350};let $end_price=0;let $s_price={USD:0,CHF:0,EUR:0,GBP:0};let $discount=0;let $current_currency='USD';let $currency_symbol={USD:'$',CHF:'₣',EUR:'€',GBP:'£'};
649let $min_workload=5;let $message={l1:"Not available for Per-workload subscription",g2:"Per-workload subscription is not available for CPU sockets. Items in disabled fields will not be included in the order.",l3:"Not available for Per-workload subscription",l4:"24/7 support is included for Subscription licensing",l5:"Maximum 50 workloads allowed",l6:"Maximum 50 workloads allowed for Essentials editions",l7:"Not available for Perpetual licensing",g8:"Perpetual licensing is not available for VMs and AWS EC2 instances. Items in disabled fields will not be included in the order.",l9:"Min 2 and max 6 sockets allowed for Essentials editions",l10:"Min 10 and max 50 physical servers allowed for Essentials editions",l11:"Min 10 and max 150 Windows workstations allowed for Essentials editions",l12:"Max 30 sockets and 5-physical machine bundles allowed for Essentials editions",l13:"Maximum 4 sockets allowed",l14:"Maximum 4 sockets allowed for Basic edition",l15:"Not available for Basic edition",l16:"Not available for Physical, AWS EC2 and Oracle RMAN",l17:"Not available for Oracle RMAN",l18:"Available only for Enterprise Plus",l19:"Minimum 10 users per order",l20:"Maximum order size is "+$currency_symbol[$current_currency]+$max_price[$current_currency],l21:"Please select at least one item for your order to proceed",l22:"Not available for Basic licenses",l23:"Please check that everything is filled correctly"};let $result=[];let $positions=[];rpc.query({route:get_db_url}).then(function(response){$db=JSON.parse(response);after_stat();after_change('license_type');function after_stat(){if(typeof $db.positions!=="undefined"){$obj.license_type.value=$db.positions.license_type;$obj.socket.value=Number($db.positions.socket);$obj.vmware.value=Number($db.positions.vmware);$obj.hyperv.value=Number($db.positions.hyperv);$obj.nutanix.value=Number($db.positions.nutanix);$obj.win_srv.value=Number($db.positions.win_srv);$obj.lin_srv.value=Number($db.positions.lin_srv);$obj.win_ws.value=Number($db.positions.win_ws);$obj.aws.value=Number($db.positions.aws);$obj.oracle.value=Number($db.positions.oracle);$obj.ms365_count.value=Number($db.positions.ms365_count);$obj.edition.value=$db.positions.edition;$obj.support_level.value=$db.positions.support_level;if($obj.license_type.value==="perpetual"){$obj.support_years.value=Number($db.positions.support_years)+1;}else{$obj.support_years.value=Number($db.positions.support_years);}
650$current_currency=$db.positions.currency;show_obj();}
651if(typeof $db.discount!=="undefined"){$discount=$db.discount;}}
652function show_obj(){$("input[name='license_type']").val($obj.license_type.value);$("input[name='edition']").val($obj.edition.value);check_radio('support_level',$obj.support_level.value);check_radio('currency',$current_currency);$("#support_years").val($obj.support_years.value);document.querySelector("#support_years").dispatchEvent(new Event('change'));$("#socket").val($obj.socket.value);$("#vmware").val($obj.vmware.value);$("#hyperv").val($obj.hyperv.value);$("#nutanix").val($obj.nutanix.value);$("#win_srv").val($obj.win_srv.value);$("#lin_srv").val($obj.lin_srv.value);$("#win_ws").val($obj.win_ws.value);$("#aws").val($obj.aws.value);$("#oracle").val($obj.oracle.value);$("#ms365_count").val($obj.ms365_count.value);}
653function after_change(changed){reset();$message['l20']="Maximum order size is "+$currency_symbol[$current_currency]+$max_price[$current_currency];edit_oracle();change_edition(changed);change_license_type_state();basic_edition_actions();change_socket();edit_ms365();perp_phys_ws_aws_oracle();sum_virt_fiz_srv_win_round_ws_aws_30(changed);change_physical_servers('win_srv');change_physical_servers('lin_srv');change_phys_win_ws();basic_edition_actions();basic_perpetual();set_support_years();show_details();calc_price();show_price();alloy_submit();submit_button_message();render_obj();get_positions();}
654function get_positions(){$positions={license_type:$obj.license_type.value,socket:$obj.socket.value,vmware:$obj.vmware.value,hyperv:$obj.hyperv.value,nutanix:$obj.nutanix.value,win_srv:$obj.win_srv.value,lin_srv:$obj.lin_srv.value,win_ws:$obj.win_ws.value,aws:$obj.aws.value,oracle:$obj.oracle.value,ms365_count:$obj.ms365_count.value,edition:$obj.edition.value,support_level:$obj.support_level.value,support_years:$obj.support_years.value,currency:$current_currency}}
655function submit_button_message(){if($obj.submit.flags.length){$obj.submit.messages=[];$obj.submit.messages=array_action($obj.submit.messages,'add','l23');}}
656function change_license_type_state(){if($obj.license_type.value==='subscription'){set_color_error_virt_fiz_roun
656d_srv_win_ws_aws(0,0);if($obj.socket.value!==0){$obj.global_message.messages=array_action($obj.global_message.messages,'remove','g8');$obj.global_message.messages=array_action($obj.global_message.messages,'add','g2');$obj.global_message.enabled=1;$obj.socket.error=1;$obj.socket.eflags=array_action($obj.socket.eflags,'add','sub_sock');}
657else{$obj.global_message.enabled=0;$obj.socket.error=0;$obj.socket.eflags=array_action($obj.socket.eflags,'remove','sub_sock');}
658$obj.socket.enabled=0;$obj.socket.flags=array_action($obj.socket.flags,'add','lic_type_sub');$obj.socket.messages=array_action($obj.socket.messages,'add','l3');$obj.aws.enabled=1;$obj.aws.flags=array_action($obj.aws.flags,'remove','lic_type_sub');$obj.aws.messages=array_action($obj.aws.messages,'remove','l7');$obj.vmware.enabled=1;$obj.vmware.flags=array_action($obj.vmware.flags,'remove','lic_type_sub');$obj.vmware.messages=array_action($obj.vmware.messages,'remove','l7');$obj.hyperv.enabled=1;$obj.hyperv.flags=array_action($obj.hyperv.flags,'remove','lic_type_sub');$obj.hyperv.messages=array_action($obj.hyperv.messages,'remove','l7');$obj.nutanix.enabled=1;$obj.nutanix.flags=array_action($obj.nutanix.flags,'remove','lic_type_sub');$obj.nutanix.messages=array_action($obj.nutanix.messages,'remove','l7');$obj.support_level.value='support_24';$obj.support_years.scale='1-5';$obj.support_level.values.standard_support.enabled=0;$obj.support_level.values.standard_support.flags=array_action($obj.support_level.values.standard_support.flags,'add','ss_disabled_for_subscription');$obj.support_level.values.standard_support.messages=array_action($obj.support_level.values.standard_support.messages,'add','l4');basic_edition_actions();sum_virt_fiz_srv_win_round_ws_aws_30();}
659else{set_color_socket_round_fiz_srv_round_win_ws(0,0);if($obj.aws.value!==0||$obj.vmware.value!==0||$obj.hyperv.value!==0||$obj.nutanix.value!==0){$obj.global_message.messages=array_action($obj.global_message.messages,'remove','g2');$obj.global_message.messages=array_action($obj.global_message.messages,'add','g8');$obj.global_message.enabled=1;if($obj.aws.value!==0){$obj.aws.error=1;$obj.aws.eflags=array_action($obj.aws.eflags,'add','per_avhn');}
660if($obj.vmware.value!==0){$obj.vmware.error=1;$obj.vmware.eflags=array_action($obj.vmware.eflags,'add','per_avhn');}
661if($obj.hyperv.value!==0){$obj.hyperv.error=1;$obj.hyperv.eflags=array_action($obj.hyperv.eflags,'add','per_avhn');}
662if($obj.nutanix.value!==0){$obj.nutanix.error=1;$obj.nutanix.eflags=array_action($obj.nutanix.eflags,'add','per_avhn');}}
663else{$obj.global_message.enabled=0;$obj.aws.error=0;$obj.aws.eflags=array_action($obj.aws.eflags,'remove','per_avhn');$obj.vmware.error=0;$obj.vmware.eflags=array_action($obj.vmware.eflags,'remove','per_avhn');$obj.hyperv.error=0;$obj.hyperv.eflags=array_action($obj.hyperv.eflags,'remove','per_avhn');$obj.nutanix.error=0;$obj.nutanix.eflags=array_action($obj.nutanix.eflags,'remove','per_avhn');}
664$obj.socket.enabled=1;$obj.socket.flags=array_action($obj.socket.flags,'remove','lic_type_sub');$obj.socket.messages=array_action($obj.socket.messages,'remove','l3');$obj.aws.enabled=0;$obj.aws.flags=array_action($obj.aws.flags,'add','lic_type_sub');$obj.aws.messages=array_action($obj.aws.messages,'add','l7');$obj.vmware.enabled=0;$obj.vmware.flags=array_action($obj.vmware.flags,'add','lic_type_sub');$obj.vmware.messages=array_action($obj.vmware.messages,'add','l7');$obj.hyperv.enabled=0;$obj.hyperv.flags=array_action($obj.hyperv.flags,'add','lic_type_sub');$obj.hyperv.messages=array_action($obj.hyperv.messages,'add','l7');$obj.nutanix.enabled=0;$obj.nutanix.flags=array_action($obj.nutanix.flags,'add','lic_type_sub');$obj.nutanix.messages=array_action($obj.nutanix.messages,'add','l7');$obj.support_level.values.standard_support.enabled=1;$obj.support_level.values.standard_support.flags=array_action($obj.support_level.values.standard_support.flags,'remove','ss_disabled_for_subscription');$obj.support_level.values.standard_support.messages=array_action($obj.support_level.values.standard_support.messages,'remove','l4');$obj.support_years.scale='0-4';$obj.edition.values.basic.enabled=1;$obj.edition.values.basic.flags=array_action($obj.edition.values.basic.flags,'remove','in_subscription');$obj.edition.values.basic.messages=array_action($obj.edition.values.basic.messages,'remove','l3');}}
665function edit_ms365(){if($obj.ms365_count.value>0&&$obj.ms365_count.value<10){$obj.ms365_count.error=1;$obj.ms365_count.eflags=array_action($obj.ms365_count.eflags,'add','m365');$obj.ms365_count.messages=array_action($obj.ms365_count.messages,'add','l19');$obj.submit.flags=array_action($obj.submit.flags,'add','ms365_count_out_range');}else{$obj.ms365_count.error=0;$obj.ms365_count.eflags=array_action($obj.ms365_count.eflags,'remove','m365');$obj.ms365_count.messages=array_action($obj.ms365_count.messages,'remove','l19');$obj.submit.flags=array_action($obj.submit.flags,'remove','ms365_count_out_range');}}
666function edit_oracle(){if($obj.oracle.value>0){$obj.edition.values.basic.enabled=0;$obj.edition.values.basic.flags=array_action($obj.edition.values.basic.flags,'add','oracle');$obj.edition.values.pro_essentials.enabled=0;$obj.edition.values.pro_essentials.flags=array_action($obj.edition.values.pro_essentials.flags,'add','oracle');$obj.edition.values.pro.enabled=0;$obj.edition.values.pro.flags=array_action($obj.edition.values.pro.flags,'add','oracle');$obj.edition.values.enterprise_essentials.enabled=0;$obj.edition.values.enterprise_essentials.flags=array_action($obj.edition.values.enterprise_essentials.flags,'add','oracle');$obj.edition.values.enterprise.enabled=0;$obj.edition.values.enterprise.flags=array_action($obj.edition.values.enterprise.flags,'add','oracle');$obj.edition.values.basic.messages=array_action($obj.edition.values.basic.messages,'add','l17');$obj.edition.values.pro_essentials.messages=array_action($obj.edition.values.pro_essentials.messages,'add','l17');$obj.edition.values.pro.messages=array_action($obj.edition.values.pro.messages,'add','l17');$obj.edition.values.enterprise_essentials.messages=array_action($obj.edition.values.enterprise_essentials.messages,'add','l17');$obj.edition.values.enterprise.messages=array_action($obj.edition.values.enterprise.messages,'add','l17');$obj.edition.value='enterprise_plus';}else{$obj.edition.values.basic.enabled=1;$obj.edition.values.basic.flags=array_action($obj.edition.values.basic.flags,'remove','oracle');$obj.edition.values.pro_essentials.enabled=1;$obj.edition.values.pro_essentials.flags=array_action($obj.edition.values.pro_essentials.flags,'remove','oracle');$obj.edition.values.pro.enabled=1;$obj.edition.values.pro.flags=array_action($obj.edition.values.pro.flags,'remove','oracle');$obj.edition.values.enterprise_essentials.enabled=1;$obj.edition.values.enterprise_essentials.flags=array_action($obj.edition.values.enterprise_essentials.flags,'remove','oracle');$obj.edition.values.enterprise.enabled=1;$obj.edition.values.enterprise.flags=array_action($obj.edition.values.enterprise.flags,'remove','oracle');$obj.edition.values.basic.messages=array_action($obj.edition.values.basic.messages,'remove','l17');$obj.edition.values.pro_essentials.messages=array_action($obj.edition.values.pro_essentials.messages,'remove','l17');$obj.edition.values.pro.messages=array_action($obj.edition.values.pro.messages,'remove','l17');$obj.edition.values.enterprise_essentials.messages=array_action($obj.edition.values.enterprise_essentials.messages,'remove','l17');$obj.edition.values.enterprise.messages=array_action($obj.edition.values.enterprise.messages,'remove','l17');}}
667function check_socket_basic_24_7(){$obj.support_level.values.support_24.messages=array_action($obj.support_level.values.support_24.messages,'remove','l22');if($obj.license_type.value==='perpetual'){if($obj.edition.value==='basic'){if($obj.support_level.value==='support_24'){if($obj.socket.value>0){$obj.support_level.value='standard_support';$obj.support_level.values.support_24.messages=array_action($obj.support_level.values.support_24.messages,'add','l22');}else{$obj.support_level.values.support_24.messages=array_action($obj.support_level.values.support_24.messages,'remove','l22');}}}}}
668function perp_phys_ws_aws_oracle(){if($obj.license_type.value==='perpetual'){if($obj.win_srv.value>0||$obj.lin_srv.value>0||$obj.win_ws.value>0||$obj.aws.value>0||$obj.oracle.value>0){$obj.edition.values.basic.enabled=0;$obj.edition.values.basic.flags=array_action($obj.edition.values.basic.flags,'add','phys_oracle');$obj.edition.values.basic.messages=array_action($obj.edition.values.basic.messages,'add','l16');}
669else{$obj.edition.values.basic.enabled=1;$obj.edition.values.basic.flags=array_action($obj.edition.values.basic.flags,'remove','phys_oracle');$obj.edition.values.basic.messages=array_action($obj.edition.values.basic.messages,'remove','l16');}}}
670function change_basic_edition(){if($obj.edition.value==='basic'){if($obj.socket.value>4){$obj.submit.flags=array_action($obj.submit.flags,'add','basic_more_4');$obj.socket.error=1;$obj.socket.eflags=array_action($obj.socket.eflags,'add','basic_more_4');$obj.socket.messages=array_action($obj.socket.messages,'add','l14');}
671else{$obj.submit.flags=array_action($obj.submit.flags,'remove','basic_more_4');$obj.socket.error=0;$obj.socket.eflags=array_action($obj.socket.eflags,'remove','basic_more_4');$obj.socket.messages=array_action($obj.socket.messages,'remove','l14');}}else{if($obj.socket.value>4){$obj.edition.values.basic.enabled=0;$obj.edition.values.basic.flags=array_action($obj.edition.values.basic.flags,'add','more_than_4');$obj.edition.values.basic.messages=array_action($obj.edition.values.basic.messages,'add','l13');}
672else{$obj.edition.values.basic.enabled=1;$obj.edition.values.basic.flags=array_action($obj.edition.values.basic.flags,'remove','more_than_4');$obj.edition.values.basic.messages=array_action($obj.edition.values.basic.messages,'remove','l13');}}}
673function basic_edition_actions(){if($obj.license_type.value==='subscription'){if($obj.edition.value==='basic'){$obj.edition.value='pro_essentials';}
674else{$obj.submit.flags=array_action($obj.submit.flags,'remove','subscription_select_basic');$obj.edition.values.basic.eflags=array_action($obj.edition.values.basic.eflags,'remove','sub_sel_basic');}
675$obj.edition.values.basic.enabled=0;$obj.edition.values.basic.flags=array_action($obj.edition.values.basic.flags,'add','in_subscription');$obj.edition.values.basic.messages=array_action($obj.edition.values.basic.messages,'add','l3');}
676else{if($obj.edition.value==='basic'){$obj.win_srv.enabled=0;$obj.win_srv.flags=array_action($obj.win_srv.flags,'add','basic_per');$obj.lin_srv.enabled=0;$obj.lin_srv.flags=array_action($obj.lin_srv.flags,'add','basic_per');$obj.win_ws.enabled=0;$obj.win_ws.flags=array_action($obj.win_ws.flags,'add','basic_per');$obj.aws.enabled=0;$obj.aws.flags=array_action($obj.aws.flags,'add','basic_per');$obj.oracle.enabled=0;$obj.oracle.flags=array_action($obj.oracle.flags,'add','basic_per');$obj.win_srv.messages=array_action($obj.win_srv.messages,'add','l15');$obj.lin_srv.messages=array_action($obj.lin_srv.messages,'add','l15');$obj.win_ws.messages=array_action($obj.win_ws.messages,'add','l15');$obj.aws.messages=array_action($obj.aws.messages,'add','l15');$obj.oracle.messages=array_action($obj.oracle.messages,'add','l15');}
677else{$obj.win_srv.enabled=1;$obj.win_srv.flags=array_action($obj.win_srv.flags,'remove','basic_per');$obj.lin_srv.enabled=1;$obj.lin_srv.flags=array_action($obj.lin_srv.flags,'remove','basic_per');$obj.win_ws.enabled=1;$obj.win_ws.flags=array_action($obj.win_ws.flags,'remove','basic_per');$obj.aws.enabled=1;$obj.aws.flags=array_action($obj.aws.flags,'remove','basic_per');$obj.oracle.enabled=1;$obj.oracle.flags=array_action($obj.oracle.flags,'remove','basic_per');$obj.win_srv.messages=array_action($obj.win_srv.messages,'remove','l15');$obj.lin_srv.messages=array_action($obj.lin_srv.messages,'remove','l15');$obj.win_ws.messages=array_action($obj.win_ws.messages,'remove','l15');$obj.aws.messages=array_action($obj.aws.messages,'remove','l15');$obj.oracle.messages=array_action($obj.oracle.messages,'remove','l15');}
678$obj.edition.values.basic.error=0;$obj.edition.values.basic.eflags=array_action($obj.edition.values.basic.eflags,'remove','sub_sel_basic');change_basic_edition();}}
679function change_edition(selected){sum_virt_fiz_srv_win_round_ws_aws_30(selected)}
680function basic_perpetual(){if($obj.edition.value==='basic'){$obj.support_level.value='standard_support';$obj.support_level.values.support_24.flags=array_action($obj.support_level.values.support_24.flags,'add','select_basic');$obj.support_level.values.support_24.messages=array_action($obj.support_level.values.support_24.messages,'add','l15');}else{$obj.support_level.values.support_24.flags=array_action($obj.support_level.values.support_24.flags,'remove','select_basic');$obj.support_level.values.support_24.messages=array_action($obj.support_level.values.support_24.messages,'remove','l15');}}
681function sum_virt_fiz_srv_win_round_ws_aws_30(selected){if($obj.license_type.value==='subscription'){if($obj.edition.value==='pro_essentials'||$obj.edition.value==='enterprise_essentials'){if(sum_virt_fiz_srv_win_round_ws_aws()>50){$obj.submit.flags=array_action($obj.submit.flags,'add','sum_virt_fiz_srv_win_ws_aws');
681set_color_error_virt_fiz_round_srv_win_ws_aws(1,'l6');}
682else{$obj.submit.flags=array_action($obj.submit.flags,'remove','sum_virt_fiz_srv_win_ws_aws');set_color_error_virt_fiz_round_srv_win_ws_aws(0,'l6');}}
683else{if(sum_virt_fiz_srv_win_round_ws_aws()>50){$obj.edition.values.pro_essentials.enabled=0;$obj.edition.values.pro_essentials.flags=array_action($obj.edition.values.pro_essentials.flags,'add','sub_more_than_30');$obj.edition.values.pro_essentials.messages=array_action($obj.edition.values.pro_essentials.messages,'add','l5');$obj.edition.values.enterprise_essentials.enabled=0;$obj.edition.values.enterprise_essentials.flags=array_action($obj.edition.values.enterprise_essentials.flags,'add','sub_more_than_30');$obj.edition.values.enterprise_essentials.messages=array_action($obj.edition.values.enterprise_essentials.messages,'add','l5');}
684else{$obj.edition.values.pro_essentials.enabled=1;$obj.edition.values.pro_essentials.flags=array_action($obj.edition.values.pro_essentials.flags,'remove','sub_more_than_30');$obj.edition.values.pro_essentials.messages=array_action($obj.edition.values.pro_essentials.messages,'remove','l5');$obj.edition.values.enterprise_essentials.enabled=1;$obj.edition.values.enterprise_essentials.flags=array_action($obj.edition.values.enterprise_essentials.flags,'remove','sub_more_than_30');$obj.edition.values.enterprise_essentials.messages=array_action($obj.edition.values.enterprise_essentials.messages,'remove','l5');}}}
685else{if($obj.edition.value==='pro_essentials'||$obj.edition.value==='enterprise_essentials'){if(sum_socket_round_fiz_srv_round_win_ws()>30&&sum_socket_round_fiz_srv_round_win_ws_count()){$obj.submit.flags=array_action($obj.submit.flags,'add','sum_socket_fiz_srv_win_ws');set_color_socket_round_fiz_srv_round_win_ws(1,'l12');}
686else{$obj.submit.flags=array_action($obj.submit.flags,'remove','sum_socket_fiz_srv_win_ws');set_color_socket_round_fiz_srv_round_win_ws(0,'l12');}}
687else{if(sum_socket_round_fiz_srv_round_win_ws()>30&&sum_socket_round_fiz_srv_round_win_ws_count()){$obj.edition.values.pro_essentials.enabled=0;$obj.edition.values.pro_essentials.flags=array_action($obj.edition.values.pro_essentials.flags,'add','per_more_than_30');$obj.edition.values.pro_essentials.messages=array_action($obj.edition.values.pro_essentials.messages,'add','l12');$obj.edition.values.enterprise_essentials.enabled=0;$obj.edition.values.enterprise_essentials.flags=array_action($obj.edition.values.enterprise_essentials.flags,'add','per_more_than_30');$obj.edition.values.enterprise_essentials.messages=array_action($obj.edition.values.enterprise_essentials.messages,'add','l12');}
688else{$obj.edition.values.pro_essentials.enabled=1;$obj.edition.values.pro_essentials.flags=array_action($obj.edition.values.pro_essentials.flags,'remove','per_more_than_30');$obj.edition.values.pro_essentials.messages=array_action($obj.edition.values.pro_essentials.messages,'remove','l12');$obj.edition.values.enterprise_essentials.enabled=1;$obj.edition.values.enterprise_essentials.flags=array_action($obj.edition.values.enterprise_essentials.flags,'remove','per_more_than_30');$obj.edition.values.enterprise_essentials.messages=array_action($obj.edition.values.enterprise_essentials.messages,'remove','l12');}}}
689change_socket();}
690function change_phys_win_ws(){if($obj.license_type.value==='perpetual'){if($obj.edition.value==='pro_essentials'||$obj.edition.value==='enterprise_essentials'){if(($obj.win_ws.value>0&&$obj.win_ws.value<10)||($obj.win_ws.value>150)){$obj.win_ws.error=1;$obj.win_ws.eflags=array_action($obj.win_ws.eflags,'add','per_win_ws');$obj.win_ws.messages=array_action($obj.win_ws.messages,'add','l11');$obj.submit.flags=array_action($obj.submit.flags,'add','essential_win_ws_out_range');}
691else{$obj.win_ws.error=0;$obj.win_ws.eflags=array_action($obj.win_ws.eflags,'remove','per_win_ws');$obj.win_ws.messages=array_action($obj.win_ws.messages,'remove','l11');$obj.submit.flags=array_action($obj.submit.flags,'remove','essential_win_ws_out_range');}}
692else{if(($obj.win_ws.value>0&&$obj.win_ws.value<10)||($obj.win_ws.value>150)){$obj.edition.values.pro_essentials.enabled=0;$obj.edition.values.pro_essentials.flags=array_action($obj.edition.values.pro_essentials.flags,'add','per_more_than_150');$obj.edition.values.pro_essentials.messages=array_action($obj.edition.values.pro_essentials.messages,'add','l11');$obj.edition.values.enterprise_essentials.enabled=0;$obj.edition.values.enterprise_essentials.flags=array_action($obj.edition.values.enterprise_essentials.flags,'add','per_more_than_150');$obj.edition.values.enterprise_essentials.messages=array_action($obj.edition.values.enterprise_essentials.messages,'add','l11');}
693else{$obj.edition.values.pro_essentials.enabled=1;$obj.edition.values.pro_essentials.flags=array_action($obj.edition.values.pro_essentials.flags,'remove','per_more_than_150');$obj.edition.values.pro_essentials.messages=array_action($obj.edition.values.pro_essentials.messages,'remove','l11');$obj.edition.values.enterprise_essentials.enabled=1;$obj.edition.values.enterprise_essentials.flags=array_action($obj.edition.values.enterprise_essentials.flags,'remove','per_more_than_150');$obj.edition.values.enterprise_essentials.messages=array_action($obj.edition.values.enterprise_essentials.messages,'remove','l11');}}}
694else{sum_virt_fiz_srv_win_round_ws_aws_30();}}
695function change_physical_servers(physical){if($obj.license_type.value==='perpetual'){if($obj.edition.value==='pro_essentials'||$obj.edition.value==='enterprise_essentials'){let sum=$obj.win_srv.value+$obj.lin_srv.value;if((sum>0&&sum<10)||(sum>50)){$obj[physical].error=1;
695if($obj.win_srv.value>0)$obj.win_srv.eflags=array_action($obj.win_srv.eflags,'add','per_phys_srv');if($obj.lin_srv.value>0)$obj.lin_srv.eflags=array_action($obj.lin_srv.eflags,'add','per_phys_srv');if($obj.win_srv.value>0)$obj.win_srv.messages=array_action($obj.win_srv.messages,'add','l10');if($obj.lin_srv.value>0)$obj.lin_srv.messages=array_action($obj.lin_srv.messages,'add','l10');$obj.submit.flags=array_action($obj.submit.flags,'add','essential_physical_out_range');}
696else{$obj.win_srv.error=0;$obj.win_srv.eflags=array_action($obj.win_srv.eflags,'remove','per_phys_srv');$obj.win_srv.messages=array_action($obj.win_srv.messages,'remove','l10');$obj.lin_srv.error=0;$obj.lin_srv.eflags=array_action($obj.lin_srv.eflags,'remove','per_phys_srv');$obj.lin_srv.messages=array_action($obj.lin_srv.messages,'remove','l10');$obj.submit.flags=array_action($obj.submit.flags,'remove','essential_physical_out_range');}}
697else{let sum=$obj.win_srv.value+$obj.lin_srv.value;if((sum>0&&sum<10)||(sum>50)){$obj.edition.values.pro_essentials.enabled=0;$obj.edition.values.pro_essentials.flags=array_action($obj.edition.values.pro_essentials.flags,'add','per_more_than_50');$obj.edition.values.pro_essentials.messages=array_action($obj.edition.values.pro_essentials.messages,'add','l10');$obj.edition.values.enterprise_essentials.enabled=0;$obj.edition.values.enterprise_essentials.flags=array_action($obj.edition.values.enterprise_essentials.flags,'add','per_more_than_50');$obj.edition.values.enterprise_essentials.messages=array_action($obj.edition.values.enterprise_essentials.messages,'add','l10');}else{$obj.edition.values.pro_essentials.enabled=1;$obj.edition.values.pro_essentials.flags=array_action($obj.edition.values.pro_essentials.flags,'remove','per_more_than_50');$obj.edition.values.pro_essentials.messages=array_action($obj.edition.values.pro_essentials.messages,'remove','l10');$obj.edition.values.enterprise_essentials.enabled=1;$obj.edition.values.enterprise_essentials.flags=array_action($obj.edition.values.enterprise_essentials.flags,'remove','per_more_than_50');$obj.edition.values.enterprise_essentials.messages=array_action($obj.edition.values.enterprise_essentials.messages,'remove','l10');}}}
698else{sum_virt_fiz_srv_win_round_ws_aws_30();}}
699function change_socket(){if($obj.license_type.value==='perpetual'){if($obj.edition.value==='pro_essentials'||$obj.edition.value==='enterprise_essentials'){if($obj.socket.value===1||$obj.socket.value>6){$obj.socket.error=1;$obj.socket.eflags=array_action($obj.socket.eflags,'add','per_sock_essential_out_range');$obj.socket.messages=array_action($obj.socket.messages,'add','l9');$obj.submit.flags=array_action($obj.submit.flags,'add','essential_socket_out_range');}
700else{$obj.socket.error=0;$obj.socket.eflags=array_action($obj.socket.eflags,'remove','per_sock_essential_out_range');$obj.socket.messages=array_action($obj.socket.messages,'remove','l9');$obj.submit.flags=array_action($obj.submit.flags,'remove','essential_socket_out_range');}}
701else{if($obj.socket.value===1||$obj.socket.value>6){$obj.edition.values.pro_essentials.enabled=0;$obj.edition.values.pro_essentials.flags=array_action($obj.edition.values.pro_essentials.flags,'add','per_more_than_6');$obj.edition.values.pro_essentials.messages=array_action($obj.edition.values.pro_essentials.messages,'add','l9');$obj.edition.values.enterprise_essentials.enabled=0;$obj.edition.values.enterprise_essentials.flags=array_action($obj.edition.values.enterprise_essentials.flags,'add','per_more_than_6');$obj.edition.values.enterprise_essentials.messages=array_action($obj.edition.values.enterprise_essentials.messages,'add','l9');}else{$obj.edition.values.pro_essentials.enabled=1;$obj.edition.values.pro_essentials.flags=array_action($obj.edition.values.pro_essentials.flags,'remove','per_more_than_6');$obj.edition.values.pro_essentials.messages=array_action($obj.edition.values.pro_essentials.messages,'remove','l9');$obj.edition.values.enterprise_essentials.enabled=1;$obj.edition.values.enterprise_essentials.flags=array_action($obj.edition.values.enterprise_essentials.flags,'remove','per_more_than_6');$obj.edition.values.enterprise_essentials.messages=array_action($obj.edition.values.enterprise_essentials.messages,'remove','l9');}}}}
702$("input[name='license_type']").change(function(){$obj.license_type.value=$(this).attr('id');after_change('license_type');});$("input[name='support_level']").change(function(){$obj.support_level.value=$(this).attr('id');after_change('support_level');});$("input[name='edition']").change(function(){$obj.edition.value=$(this).attr('id');after_change('edition');});$("input[name='currency']").change(function(){$current_currency=$(this).attr('id');after_change('currency');});$("#socket").on("change keyup paste",function(){if($(this).val()==='')$(this).val(0);$obj.socket.value=Number($(this).val());after_change('socket');});$("#vmware").on("change keyup paste",function(){if($(this).val()==='')$(this).val(0);$obj.vmware.value=Number($(this).val());after_change('vmware');});$("#hyperv").on("change keyup paste",function(){if($(this).val()==='')$(this).val(0);$obj.hyperv.value=Number($(this).val());after_change('hyperv');});$("#nutanix").on("change keyup paste",function(){if($(this).val()==='')$(this).val(0);$obj.nutanix.value=Number($(this).val());after_change('nutanix');});$("#win_srv").on("change keyup paste",function(){if($(this).val()==='')$(this).val(0);$obj.win_srv.value=Number($(this).val());after_change('win_srv');});$("#lin_srv").on("change keyup paste",function(){if($(this).val()==='')$(this).val(0);$obj.lin_srv.value=Number($(this).val());after_change('lin_srv');});$("#win_ws").on("change keyup paste",function(){if($(this).val()==='')$(this).val(0);$obj.win_ws.value=Number($(this).val());after_change('win_ws');});$("#aws").on("change keyup paste",function(){if($(this).val()==='')$(this).val(0);$obj.aws.value=Number($(this).val());after_change('aws');});$("#oracle").on("change keyup paste",function(){if($(this).val()==='')$(this).val(0);$obj.oracle.value=Number($(this).val());after_change('oracle');});$("#ms365_count").on("change keyup paste",function(){if($(this).val()==='')$(this).val(0);$obj.ms365_count.value=Number($(this).val());after_change('ms365_count');});$('#ms365_year').on("change",function(){$obj.ms365_year.value=Number($(this).val());after_change('ms365_year');});$('#support_years').on("change",function(){if($obj.license_type.value==='perpetual'){$obj.support_years.value=Number($(this).val())-1;}else{$obj.support_years.value=Number($(this).val());}
703after_change('support_year');});$("#calc_form").submit(function(){$('#result').val(JSON.stringify({currency:$current_currency,result:array_action($result,'to_obj'),positions:$positions}));return true;});
703function show_details(){if($obj.license_type.value==='perpetual'){$('#d_workloads').parent('tr').hide();$('#d_socket').parent('tr').show();$('#d_phys_srv').parent('tr').show();$('#d_phys_ws').parent('tr').show();$('#d_oracle').parent('tr').show();$('#d_socket').text($obj.socket.value);if($obj.socket.value){$('#d_socket').parent('tr').show();}else{$('#d_socket').parent('tr').hide();}
704$('#d_phys_srv').text(round_up_to_5($obj.win_srv.value+$obj.lin_srv.value));if($obj.win_srv.value+$obj.lin_srv.value){$('#d_phys_srv').parent('tr').show();}else{$('#d_phys_srv').parent('tr').hide();}
705$('#d_phys_ws').text(round_up_to_5($obj.win_ws.value));if($obj.win_ws.value){$('#d_phys_ws').parent('tr').show();}else{$('#d_phys_ws').parent('tr').hide();}
706$('#d_oracle').text($obj.oracle.value);if($obj.oracle.value){$('#d_oracle').parent('tr').show();}else{$('#d_oracle').parent('tr').hide();}}else{$('#d_workloads').parent('tr').show();$('#d_socket').parent('tr').hide();$('#d_phys_srv').parent('tr').hide();$('#d_phys_ws').parent('tr').hide();$('#d_oracle').parent('tr').hide();let sum_work=sum_workloads()*$min_workload;$('#d_workloads').text(sum_work);if(sum_work){$('#d_workloads').parent('tr').show();}else{$('#d_workloads').parent('tr').hide();}}
707$('#d_ms365_users').text($obj.ms365_count.value);if($obj.ms365_count.value){$('#d_ms365_users').parent('tr').show();}else{$('#d_ms365_users').parent('tr').hide();}
708$('#d_edition').text($obj.edition.values[$obj.edition.value].title);$('#d_support_type').text($obj.support_level.values[$obj.support_level.value].title);$('#d_support_date').text(get_support_end_date());}
709function round_up_to_5(count){return Math.ceil(count/5)*5;}
710function get_support_end_date(){let d=new Date();let new_year=d.getFullYear()+$obj.support_years.value;if($obj.license_type.value==='perpetual'){new_year+=1;}
711return new Date(d.setFullYear(new_year)).toLocaleDateString('EN');}
712function toggle_text_input(id,enable){if(enable){$('#'+id).removeAttr('disabled').closest('.js-form-group').removeClass('disabled');}else{$('#'+id).prop('disabled',true).closest('.js-form-group').addClass('disabled');}}
713function toggle_radio_input_only(id,enable){if(enable){$('#'+id).removeAttr('disabled').closest('.js-form-group').removeClass('disabled');}else{$('#'+id).prop('disabled',true).closest('.js-form-group').addClass('disabled');}}
714function toggle_radio_input_error_only(id,enable){if(enable){$('#'+id).addClass('error');}else{$('#'+id).removeClass('error');}}
715function toggle_radio_input_only_message(id,enable,message){if(enable){$('#'+id).closest('div').addClass('js-tooltip').attr('data-tooltip',message);}else{$('#'+id).closest('div').removeClass('js-tooltip');}}
716function check_radio(name,id){$('input[name='+name+']').prop('checked',false);if(id){$('#'+id).prop('checked',true);}}
717function toggle_support_years(type_support){if(type_support==='0-4'){$('#support_scale_item_0').text('0 years');$('#support_scale_item_1').text('1 year');$('#support_scale_item_2').text('2 years');$('#support_scale_item_3').text('3 years');$('#support_scale_item_4').text('4 years');$('#support_title').text('Additional years of support');}else{$('#support_scale_item_0').text('1 year');$('#support_scale_item_1').text('2 years');$('#support_scale_item_2').text('3 years');$('#support_scale_item_3').text('4 years');$('#support_scale_item_4').text('5 years');$('#support_title').text('Years of subscription');}}
718function clear_error_radio(){$obj.edition.values.basic.error=0;}
719function set_color_error_virt_fiz_round_srv_win_ws_aws(set,message){if(set){if($obj.vmware.value>0){$obj.vmware.error=1;$obj.vmware.eflags=array_action($obj.vmware.eflags,'add','sub_vfswa');}
720if($obj.hyperv.value>0){$obj.hyperv.error=1;$obj.hyperv.eflags=array_action($obj.hyperv.eflags,'add','sub_vfswa');}
721if($obj.nutanix.value>0){$obj.nutanix.error=1;$obj.nutanix.eflags=array_action($obj.nutanix.eflags,'add','sub_vfswa');}
722if($obj.win_srv.value>0){$obj.win_srv.error=1;$obj.win_srv.eflags=array_action($obj.win_srv.eflags,'add','sub_vfswa');}
723if($obj.lin_srv.value>0){$obj.lin_srv.error=1;$obj.lin_srv.eflags=array_action($obj.lin_srv.eflags,'add','sub_vfswa');}
724if($obj.win_ws.value>0){$obj.win_ws.error=1;$obj.win_ws.eflags=array_action($obj.win_ws.eflags,'add','sub_vfswa');}
725if($obj.aws.value>0){$obj.aws.error=1;$obj.aws.eflags=array_action($obj.aws.eflags,'add','sub_vfswa');}
726if(message){if($obj.vmware.value>0)$obj.vmware.messages=array_action($obj.vmware.messages,'add',message);if($obj.hyperv.value>0)$obj.hyperv.messages=array_action($obj.hyperv.messages,'add',message);if($obj.nutanix.value>0)$obj.nutanix.messages=array_action($obj.nutanix.messages,'add',message);if($obj.win_srv.value>0)$obj.win_srv.messages=array_action($obj.win_srv.messages,'add',message);if($obj.lin_srv.value>0)$obj.lin_srv.messages=array_action($obj.lin_srv.messages,'add',message);if($obj.win_ws.value>0)$obj.win_ws.messages=array_action($obj.win_ws.messages,'add',message);if($obj.aws.value>0)$obj.aws.messages=array_action($obj.aws.messages,'add',message);}}else{$obj.vmware.error=0;$obj.vmware.eflags=array_action($obj.vmware.eflags,'remove','sub_vfswa');$obj.hyperv.error=0;$obj.hyperv.eflags=array_action($obj.hyperv.eflags,'remove','sub_vfswa');$obj.nutanix.error=0;$obj.nutanix.eflags=array_action($obj.nutanix.eflags,'remove','sub_vfswa');$obj.win_srv.error=0;$obj.win_srv.eflags=array_action($obj.win_srv.eflags,'remove','sub_vfswa');$obj.lin_srv.error=0;$obj.lin_srv.eflags=array_action($obj.lin_srv.eflags,'remove','sub_vfswa');$obj.win_ws.error=0;$obj.win_ws.eflags=array_action($obj.win_ws.eflags,'remove','sub_vfswa');$obj.aws.error=0;$obj.aws.eflags=array_action($obj.aws.eflags,'remove','sub_vfswa');if(message){$obj.vmware.messages=array_action($obj.vmware.messages,'remove',message);$obj.hyperv.messages=array_action($obj.hyperv.messages,'remove',message);$obj.nutanix.messages=array_action($obj.nutanix.messages,'remove',message);$obj.win_srv.messages=array_action($obj.win_srv.messages,'remove',message);$obj.lin_srv.messages=array_action($obj.lin_srv.messages,'remove',message);$obj.win_ws.messages=array_action($obj.win_ws.messages,'remove',message);$obj.aws.messages=array_action($obj.aws.messages,'remove',message);}}}
727function set_color_socket_round_fiz_srv_round_win_ws(set,message){if(set){if($obj.socket.value>0){$obj.socket.error=1;$obj.socket.eflags=array_action($obj.socket.eflags,'add','per_sfsw');}
728if($obj.win_srv.value>0){$obj.win_srv.error=1;$obj.win_srv.eflags=array_action($obj.win_srv.eflags,'add','per_sfsw');}
729if($obj.lin_srv.value>0){$obj.lin_srv.error=1;$obj.lin_srv.eflags=array_action($obj.lin_srv.eflags,'add','per_sfsw');}
730if($obj.win_ws.value>0){$obj.win_ws.error=1;$obj.win_ws.eflags=array_action($obj.win_ws.eflags,'add','per_sfsw');}
731if(message){if($obj.socket.value>0)$obj.socket.messages=array_action($obj.socket.messages,'add',message);if($obj.win_srv.value>0)$obj.win_srv.messages=array_action($obj.win_srv.messages,'add',message);if($obj.lin_srv.value>0)$obj.lin_srv.messages=array_action($obj.lin_srv.messages,'add',message);if($obj.win_ws.value>0)$obj.win_ws.messages=array_action($obj.win_ws.messages,'add',message);}}else{$obj.socket.error=0;$obj.socket.eflags=array_action($obj.socket.eflags,'remove','per_sfsw');$obj.win_srv.error=0;$obj.win_srv.eflags=array_action($obj.win_srv.eflags,'remove','per_sfsw');$obj.lin_srv.error=0;$obj.lin_srv.eflags=array_action($obj.lin_srv.eflags,'remove','per_sfsw');$obj.win_ws.error=0;$obj.win_ws.eflags=array_action($obj.win_ws.eflags,'remove','per_sfsw');
731if(message){$obj.socket.messages=array_action($obj.socket.messages,'remove',message);$obj.win_srv.messages=array_action($obj.win_srv.messages,'remove',message);$obj.lin_srv.messages=array_action($obj.lin_srv.messages,'remove',message);$obj.win_ws.messages=array_action($obj.win_ws.messages,'remove',message);}}}
732function set_color_only(id,set){if(set){$('#'+id).removeClass('error');}else{$('#'+id).addClass('error');}}
733function set_message_only(id,set,message){if(set){$('#'+id).closest('.js-form-group').addClass('js-tooltip').attr('data-tooltip',message);}else{$('#'+id).closest('.js-form-group').removeClass('js-tooltip');}}
734function set_message_button_only(id,set,message){if(set){$('button').closest('.button-wrapper').addClass('js-tooltip').attr('data-tooltip',message);}else{$('button').closest('.button-wrapper').removeClass('js-tooltip');}}
735function reset(){for(let key in $obj){if($obj[key].type==='text'){$obj[key].eflags=[];$obj[key].flags=[];$obj[key].messages=[];}
736if($obj[key].type==='radio'){for(let k in $obj[key].values){$obj[key].values[k].flags=[];$obj[key].values[k].messages=[];$obj[key].values[k].eflags=[];}}}
737$obj.submit.flags=[];$obj.submit.messages=[];}
738function reset_multi_select_essential(){if($obj.license_type.value==='perpetual'){if($obj.edition.value==='pro_essentials'||$obj.edition.value==='enterprise_essentials'){let sum=0;let count=0;if($obj.socket.value)sum+=1;count+=$obj.socket.value;count+=Math.ceil($obj.win_srv.value/5);if($obj.lin_srv.value||$obj.win_srv.value)sum+=1;count+=Math.ceil($obj.lin_srv.value/5);if($obj.win_ws.value)sum+=1;count+=Math.ceil($obj.win_ws.value/5);if(sum>1&&count<=30){reset_multi_select_essential_action();}}}}
739function reset_multi_select_essential_action(){$obj.socket.eflags=array_action($obj.socket.eflags,'remove','per_sock_essential_out_range');$obj.socket.messages=array_action($obj.socket.messages,'remove','l9');$obj.win_srv.eflags=array_action($obj.win_srv.eflags,'remove','per_phys_srv');$obj.win_srv.messages=array_action($obj.win_srv.messages,'remove','l10');$obj.lin_srv.eflags=array_action($obj.lin_srv.eflags,'remove','per_phys_srv');$obj.lin_srv.messages=array_action($obj.lin_srv.messages,'remove','l10');$obj.win_ws.eflags=array_action($obj.win_ws.eflags,'remove','per_win_ws');$obj.win_ws.messages=array_action($obj.win_ws.messages,'remove','l11');$obj.socket.eflags=array_action($obj.socket.eflags,'remove','per_sfsw');$obj.win_srv.eflags=array_action($obj.win_srv.eflags,'remove','per_sfsw');$obj.lin_srv.eflags=array_action($obj.lin_srv.eflags,'remove','per_sfsw');$obj.win_ws.eflags=array_action($obj.win_ws.eflags,'remove','per_sfsw');$obj.socket.messages=array_action($obj.socket.messages,'remove','l12');$obj.win_srv.messages=array_action($obj.win_srv.messages,'remove','l12');$obj.lin_srv.messages=array_action($obj.lin_srv.messages,'remove','l12');$obj.win_ws.messages=array_action($obj.win_ws.messages,'remove','l12');$obj.submit.flags=array_action($obj.submit.flags,'remove','essential_socket_out_range');$obj.submit.flags=array_action($obj.submit.flags,'remove','essential_physical_out_range');$obj.submit.flags=array_action($obj.submit.flags,'remove','essential_win_ws_out_range');$obj.submit.flags=array_action($obj.submit.flags,'remove','sum_socket_fiz_srv_win_ws');}
740function render_obj(){for(let key in $obj){if($obj[key].type==='text'){if($obj[key].flags.length){toggle_text_input(key,0);}else{toggle_text_input(key,1);}
741if($obj[key].eflags.length){set_color_only(key,0);}else{set_color_only(key,1);}
742if($obj[key].messages.length){set_message_only(key,1,generate_message($obj[key].messages));}else{set_message_only(key,0,generate_message($obj[key].messages));}}
743if($obj[key].type==='radio'){for(let k in $obj[key].values){if(!$obj[key].values[k].flags.length){toggle_radio_input_only(k,1);}else{toggle_radio_input_only(k,0);}
744if($obj[key].values[k].messages.length){toggle_radio_input_only_message(k,1,generate_message($obj[key].values[k].messages));}else{toggle_radio_input_only_message(k,0,generate_message($obj[key].values[k].messages));}
745if($obj[key].values[k].eflags.length){toggle_radio_input_error_only(k,1);}else{toggle_radio_input_error_only(k,0);}}
746check_radio(key,$obj[key].value);}
747if(key==='global_message'){if($obj[key].messages.length){$('#warning_global').html(generate_message($obj[key].messages));}
748if($obj[key].enabled){$('#warning_global_block').show();}else{$('#warning_global_block').hide();}}
749if(key==='support_years'){if($obj[key].scale==='0-4'){toggle_support_years('0-4');}
750else{toggle_support_years('1-5');}}
751if(key==='submit'){if(!$obj[key].flags.length){$('#submit_button').prop('disabled',false);}else{$('#submit_button').prop('disabled',true);}
752if($obj[key].messages.length){set_message_button_only(key,1,generate_message($obj[key].messages));}else{set_message_button_only(key,0,generate_message($obj[key].messages));}}}}
753function generate_message(arr){let str='';for(let k in arr){str+=$message[arr[k]]+'<br><br>';}
754return str.substr(0,str.length-8);}
755function show_price(){if($obj.license_type.value==='subscription'){$('#license_type_price').text('For Per-workload subscription');}
756else{$('#license_type_price').text('For Perpetual Licenses');}
757$('#price').html($currency_symbol[$current_currency]+$price[$current_currency].toLocaleStr
757ing('EN'));$('#o_price').html($currency_symbol[$current_currency]+$o_price[$current_currency].toLocaleString('EN'));let total_price=$price[$current_currency]+$o_price[$current_currency];$('#full_price').html($currency_symbol[$current_currency]+total_price.toLocaleString('EN'));$('#saved_money').html($s_price[$current_currency]);$('#discount_percent').html($discount.toLocaleString('EN'));$end_price=$price[$current_currency]+$o_price[$current_currency]-$s_price[$current_currency];$('#total_price').html($currency_symbol[$current_currency]+$end_price.toLocaleString('EN'));$('#max-price').text($currency_symbol[$current_currency]+$max_price[$current_currency].toLocaleString('EN'));if($end_price<$max_price[$current_currency]){$('#total_price').removeClass('h-color-danger');$('#warning-price-block').css('display','none');}else{$('#total_price').addClass('h-color-danger');$('#warning-price-block').css('display','flex');}
758if(!$discount)$('#discount_wrap').hide();}
759function sum_virt_fiz_srv_win_round_ws_aws(){let sum=0;sum+=$obj.vmware.value+$obj.hyperv.value+$obj.nutanix.value;sum+=$obj.win_srv.value+$obj.lin_srv.value;sum+=Math.ceil($obj.win_ws.value/3);sum+=$obj.aws.value;return sum;}
760function sum_socket_round_fiz_srv_round_win_ws(){let sum=0;sum+=$obj.socket.value;sum+=Math.ceil(($obj.win_srv.value+$obj.lin_srv.value)/5);sum+=Math.ceil($obj.win_ws.value/5);return sum;}
761function sum_socket_round_fiz_srv_round_win_ws_count(){let sum=0;if($obj.socket.value){sum+=1;}
762if($obj.win_ws.value){sum+=1;}
763if($obj.win_srv.value||$obj.lin_srv.value){sum+=1;}
764if(sum>1){return true;}
765return false;}
766function array_action(arr,action,value){let new_arr=[];if(action==='to_obj'){let obj={};arr.forEach(function(item,i,arr){if(item){obj[i]=item;}});return obj;}
767if(action==='clear'){return new_arr.push(value);}
768if(arr.indexOf(value)===-1&&action==='add'){arr.push(value);return arr;}
769if(arr.indexOf(value)!==-1&&action==='remove'){let pos=arr.indexOf(value);arr.splice(pos,1);return arr;}
770return arr;}
771function sum_workloads(){return Math.ceil(($obj.vmware.value+
772$obj.hyperv.value+
773$obj.nutanix.value+
774$obj.win_srv.value+
775$obj.lin_srv.value+
776Math.ceil($obj.win_ws.value/3)+
777$obj.aws.value+
778$obj.oracle.value)/$min_workload);}
779function calc_price(){try{$o_price.USD=0;$o_price.CHF=0;$o_price.EUR=0;$o_price.GBP=0;$result=[];if($obj.license_type.value==='subscription'){if($db.renewal_license_data!==undefined){if($obj.ms365_count.value>$db.renewal_license_data.ms365_count){var license_ms365_count=$db.renewal_license_data.ms365_count
780var new_license_ms365_count=$obj.ms365_count.value-license_ms365_count
781$o_price.USD=$db.subscription.office_365.office_365.new_license.regular[$obj.support_years.value+'_y'].price['USD']*new_license_ms365_count+
782$db.subscription.office_365.office_365.renewal.regular[$obj.support_years.value+'_y'].price['USD']*license_ms365_count;$o_price.CHF=$db.subscription.office_365.office_365.new_license.regular[$obj.support_years.value+'_y'].price['CHF']*new_license_ms365_count+
783$db.subscription.office_365.office_365.renewal.regular[$obj.support_years.value+'_y'].price['CHF']*license_ms365_count;$o_price.EUR=$db.subscription.office_365.office_365.new_license.regular[$obj.support_years.value+'_y'].price['EUR']*new_license_ms365_count+
784$db.subscription.office_365.office_365.renewal.regular[$obj.support_years.value+'_y'].price['EUR']*license_ms365_count;$o_price.GBP=$db.subscription.office_365.office_365.new_license.regular[$obj.support_years.value+'_y'].price['GBP']*new_license_ms365_count+
785$db.subscription.office_365.office_365.renewal.regular[$obj.support_years.value+'_y'].price['GBP']*license_ms365_count;$result[$db.subscription.office_365.office_365.new_license.regular[$obj.support_years.value+'_y'].id]=new_license_ms365_count;if(license_ms365_count>0){$result[$db.subscription.office_365.office_365.renewal.regular[$obj.support_years.value+'_y'].id]=license_ms365_count;}}
786else{var renewal_ms365_count=$obj.ms365_count.value
787$o_price.USD=$db.subscription.office_365.office_365.renewal.regular[$obj.support_years.value+'_y'].price['USD']*renewal_ms365_count;$o_price.CHF=$db.subscription.office_365.office_365.renewal.regular[$obj.support_years.value+'_y'].price['CHF']*renewal_ms365_count;$o_price.EUR=$db.subscription.office_365.office_365.renewal.regular[$obj.support_years.value+'_y'].price['EUR']*renewal_ms365_count;$o_price.GBP=$db.subscription.office_365.office_365.renewal.regular[$obj.support_years.value+'_y'].price['GBP']*renewal_ms365_count;$result[$db.subscription.office_365.office_365.renewal.regular[$obj.support_years.value+'_y'].id]=renewal_ms365_count;}}
788else{$o_price.USD=$db.subscription.office_365.office_365.new_license.regular[$obj.support_years.value+'_y'].price['USD']*$obj.ms365_count.value;$o_price.CHF=$db.subscription.office_365.office_365.new_license.regular[$obj.support_years.value+'_y'].price['CHF']*$obj.ms365_count.value;$o_price.EUR=$db.subscription.office_365.office_365.new_license.regular[$obj.support_years.value+'_y'].price['EUR']*$obj.ms365_count.value;$o_price.GBP=$db.subscription.office_365.office_365.new_license.regular[$obj.support_years.value+'_y'].price['GBP']*$obj.ms365_count.value;$result[$db.subscription.office_365.office_365.new_license.regular[$obj.support_years.value+'_y'].id]=$obj.ms365_count.value;}}else{$o_price.USD=$db.subscription.office_365.office_365.new_license.regular[($obj.support_years.value+1)+'_y'].price['USD']*$obj.ms365_count.value;$o_price.CHF=$db.subscription.office_365.office_365.new_license.regular[($obj.support_years.value+1)+'_y'].price['CHF']*$obj.ms365_count.value;$o_price.EUR=$db.subscription.office_365.office_365.new_license.regular[($obj.support_years.value+1)+'_y'].price['EUR']*$obj.ms365_count.value;$o_price.GBP=$db.subscription.office_365.office_365.new_license.regular[($obj.support_years.value+1)+'_y'].price['GBP']*$obj.ms365_count.value;$result[$db.subscription.office_365.office_365.new_license.regular[($obj.support_years.value+1)+'_y'].id]=$obj.ms365_count.value;}
789$price.USD=0;$price.CHF=0;$price.EUR=0;$price.GBP=0;if($obj.license_type.value==='subscription'){if($obj.edition.value){let sum=sum_workloads();
789if($db.renewal_license_data!==undefined){let renewal_license_sum=$db.renewal_license_data.workloads;if(sum>renewal_license_sum){var new_license_sum=sum-renewal_license_sum
790$price.USD+=$db.subscription[$obj.edition.value].virtual_physical_cloud.new_license.regular[$obj.support_years.value+'_y'].price['USD']*new_license_sum+
791$db.subscription[$obj.edition.value].virtual_physical_cloud.renewal.regular[$obj.support_years.value+'_y'].price['USD']*renewal_license_sum;$price.CHF+=$db.subscription[$obj.edition.value].virtual_physical_cloud.new_license.regular[$obj.support_years.value+'_y'].price['CHF']*new_license_sum+
792$db.subscription[$obj.edition.value].virtual_physical_cloud.renewal.regular[$obj.support_years.value+'_y'].price['CHF']*renewal_license_sum;$price.EUR+=$db.subscription[$obj.edition.value].virtual_physical_cloud.new_license.regular[$obj.support_years.value+'_y'].price['EUR']*new_license_sum+
793$db.subscription[$obj.edition.value].virtual_physical_cloud.renewal.regular[$obj.support_years.value+'_y'].price['EUR']*renewal_license_sum;$price.GBP+=$db.subscription[$obj.edition.value].virtual_physical_cloud.new_license.regular[$obj.support_years.value+'_y'].price['GBP']*new_license_sum+
794$db.subscription[$obj.edition.value].virtual_physical_cloud.renewal.regular[$obj.support_years.value+'_y'].price['GBP']*renewal_license_sum;$result[$db.subscription[$obj.edition.value].virtual_physical_cloud.new_license.regular[$obj.support_years.value+'_y'].id]=new_license_sum;if(renewal_license_sum>0){$result[$db.subscription[$obj.edition.value].virtual_physical_cloud.renewal.regular[$obj.support_years.value+'_y'].id]=renewal_license_sum;}}
795else{var renewal_sum=sum
796$price.USD+=$db.subscription[$obj.edition.value].virtual_physical_cloud.renewal.regular[$obj.support_years.value+'_y'].price['USD']*renewal_sum;$price.CHF+=$db.subscription[$obj.edition.value].virtual_physical_cloud.renewal.regular[$obj.support_years.value+'_y'].price['CHF']*renewal_sum;$price.EUR+=$db.subscription[$obj.edition.value].virtual_physical_cloud.renewal.regular[$obj.support_years.value+'_y'].price['EUR']*renewal_sum;$price.GBP+=$db.subscription[$obj.edition.value].virtual_physical_cloud.renewal.regular[$obj.support_years.value+'_y'].price['GBP']*renewal_sum;$result[$db.subscription[$obj.edition.value].virtual_physical_cloud.renewal.regular[$obj.support_years.value+'_y'].id]=renewal_sum;}}
797else{$price.USD+=$db.subscription[$obj.edition.value].virtual_physical_cloud.new_license.regular[$obj.support_years.value+'_y'].price['USD']*sum;$price.CHF+=$db.subscription[$obj.edition.value].virtual_physical_cloud.new_license.regular[$obj.support_years.value+'_y'].price['CHF']*sum;$price.EUR+=$db.subscription[$obj.edition.value].virtual_physical_cloud.new_license.regular[$obj.support_years.value+'_y'].price['EUR']*sum;$price.GBP+=$db.subscription[$obj.edition.value].virtual_physical_cloud.new_license.regular[$obj.support_years.value+'_y'].price['GBP']*sum;$result[$db.subscription[$obj.edition.value].virtual_physical_cloud.new_license.regular[$obj.support_years.value+'_y'].id]=sum;}}}
798else{if($obj.edition.value){let years=$obj.support_years.value;if($obj.socket.value){$price.USD+=$db.perpetual[$obj.edition.value].virtual.new_license.regular.price.USD*$obj.socket.value;$price.CHF+=$db.perpetual[$obj.edition.value].virtual.new_license.regular.price.CHF*$obj.socket.value;$price.EUR+=$db.perpetual[$obj.edition.value].virtual.new_license.regular.price.EUR*$obj.socket.value;$price.GBP+=$db.perpetual[$obj.edition.value].virtual.new_license.regular.price.GBP*$obj.socket.value;$result[$db.perpetual[$obj.edition.value].virtual.new_license.regular.id]=$obj.socket.value;if($obj.support_level.value==='standard_support'){if(years>0){$price.USD+=$db.perpetual[$obj.edition.value].virtual.standard_support.additional_years[years+'_y'].price['USD']*$obj.socket.value;$price.CHF+=$db.perpetual[$obj.edition.value].virtual.standard_support.additional_years[years+'_y'].price['CHF']*$obj.socket.value;$price.EUR+=$db.perpetual[$obj.edition.value].virtual.standard_support.additional_years[years+'_y'].price['EUR']*$obj.socket.value;$price.GBP+=$db.perpetual[$obj.edition.value].virtual.standard_support.additional_years[years+'_y'].price['GBP']*$obj.socket.value;$result[$db.perpetual[$obj.edition.value].virtual.standard_support.additional_years[years+'_y'].id]=$obj.socket.value;}}
799else{if(years>0){$price.USD+=$db.perpetual[$obj.edition.value].virtual['24/7_support'].additional_years[years+'_y'].price['USD']*$obj.socket.value;$price.CHF+=$db.perpetual[$obj.edition.value].virtual['24/7_support'].additional_years[years+'_y'].price['CHF']*$obj.socket.value;$price.EUR+=$db.perpetual[$obj.edition.value].virtual['24/7_support'].additional_years[years+'_y'].price['EUR']*$obj.socket.value;$price.GBP+=$db.perpetual[$obj.edition.value].virtual['24/7_support'].additional_years[years+'_y'].price['GBP']*$obj.socket.value;$result[$db.perpetual[$obj.edition.value].virtual['24/7_support'].additional_years[years+'_y'].id]=$obj.socket.value;}
800$price.USD+=$db.perpetual[$obj.edition.value].virtual['24/7_support'].uplift.price['USD']*$obj.socket.value;$price.CHF+=$db.perpetual[$obj.edition.value].virtual['24/7_support'].uplift.price['CHF']*$obj.socket.value;$price.EUR+=$db.perpetual[$obj.edition.value].virtual['24/7_support'].uplift.price['EUR']*$obj.socket.value;$price.GBP+=$db.perpetual[$obj.edition.value].virtual['24/7_support'].uplift.price['GBP']*$obj.socket.value;$result[$db.perpetual[$obj.edition.value].virtual['24/7_support'].uplift.id]=$obj.socket.value;}}
801let phys_sum=Math.ceil(($obj.win_srv.value+$obj.lin_srv.value)/5);if(phys_sum>0){$price.USD+=$db.perpetual[$obj.edition.value].physical_server.new_license.regular.price.USD*phys_sum;$price.CHF+=$db.perpetual[$obj.edition.value].physical_server.new_license.regular.price.CHF*phys_sum;$price.EUR+=$db.perpetual[$obj.edition.value].physical_server.new_license.regular.price.EUR
801*phys_sum;$price.GBP+=$db.perpetual[$obj.edition.value].physical_server.new_license.regular.price.GBP*phys_sum;$result[$db.perpetual[$obj.edition.value].physical_server.new_license.regular.id]=phys_sum;if($obj.support_level.value==='standard_support'){if(years>0){$price.USD+=$db.perpetual[$obj.edition.value].physical_server.standard_support.additional_years[years+'_y'].price['USD']*phys_sum;$price.CHF+=$db.perpetual[$obj.edition.value].physical_server.standard_support.additional_years[years+'_y'].price['CHF']*phys_sum;$price.EUR+=$db.perpetual[$obj.edition.value].physical_server.standard_support.additional_years[years+'_y'].price['EUR']*phys_sum;$price.GBP+=$db.perpetual[$obj.edition.value].physical_server.standard_support.additional_years[years+'_y'].price['GBP']*phys_sum;$result[$db.perpetual[$obj.edition.value].physical_server.standard_support.additional_years[years+'_y'].id]=phys_sum;}}
802else{if(years>0){$price.USD+=$db.perpetual[$obj.edition.value].physical_server['24/7_support'].additional_years[years+'_y'].price['USD']*phys_sum;$price.CHF+=$db.perpetual[$obj.edition.value].physical_server['24/7_support'].additional_years[years+'_y'].price['CHF']*phys_sum;$price.EUR+=$db.perpetual[$obj.edition.value].physical_server['24/7_support'].additional_years[years+'_y'].price['EUR']*phys_sum;$price.GBP+=$db.perpetual[$obj.edition.value].physical_server['24/7_support'].additional_years[years+'_y'].price['GBP']*phys_sum;$result[$db.perpetual[$obj.edition.value].physical_server['24/7_support'].additional_years[years+'_y'].id]=phys_sum;}
803$price.USD+=$db.perpetual[$obj.edition.value].physical_server['24/7_support'].uplift.price['USD']*phys_sum;$price.CHF+=$db.perpetual[$obj.edition.value].physical_server['24/7_support'].uplift.price['CHF']*phys_sum;$price.EUR+=$db.perpetual[$obj.edition.value].physical_server['24/7_support'].uplift.price['EUR']*phys_sum;$price.GBP+=$db.perpetual[$obj.edition.value].physical_server['24/7_support'].uplift.price['GBP']*phys_sum;$result[$db.perpetual[$obj.edition.value].physical_server['24/7_support'].uplift.id]=phys_sum;}}
804let ws_sum=Math.ceil($obj.win_ws.value/5);if(ws_sum>0){$price.USD+=$db.perpetual[$obj.edition.value].physical_workstation.new_license.regular.price.USD*ws_sum;$price.CHF+=$db.perpetual[$obj.edition.value].physical_workstation.new_license.regular.price.CHF*ws_sum;$price.EUR+=$db.perpetual[$obj.edition.value].physical_workstation.new_license.regular.price.EUR*ws_sum;$price.GBP+=$db.perpetual[$obj.edition.value].physical_workstation.new_license.regular.price.GBP*ws_sum;$result[$db.perpetual[$obj.edition.value].physical_workstation.new_license.regular.id]=ws_sum;if($obj.support_level.value==='standard_support'){if(years>0){$price.USD+=$db.perpetual[$obj.edition.value].physical_workstation.standard_support.additional_years[years+'_y'].price['USD']*ws_sum;$price.CHF+=$db.perpetual[$obj.edition.value].physical_workstation.standard_support.additional_years[years+'_y'].price['CHF']*ws_sum;$price.EUR+=$db.perpetual[$obj.edition.value].physical_workstation.standard_support.additional_years[years+'_y'].price['EUR']*ws_sum;$price.GBP+=$db.perpetual[$obj.edition.value].physical_workstation.standard_support.additional_years[years+'_y'].price['GBP']*ws_sum;$result[$db.perpetual[$obj.edition.value].physical_workstation.standard_support.additional_years[years+'_y'].id]=ws_sum;}}
805else{if(years>0){$price.USD+=$db.perpetual[$obj.edition.value].physical_workstation['24/7_support'].additional_years[years+'_y'].price['USD']*ws_sum;$price.CHF+=$db.perpetual[$obj.edition.value].physical_workstation['24/7_support'].additional_years[years+'_y'].price['CHF']*ws_sum;$price.EUR+=$db.perpetual[$obj.edition.value].physical_workstation['24/7_support'].additional_years[years+'_y'].price['EUR']*ws_sum;$price.GBP+=$db.perpetual[$obj.edition.value].physical_workstation['24/7_support'].additional_years[years+'_y'].price['GBP']*ws_sum;$result[$db.perpetual[$obj.edition.value].physical_workstation['24/7_support'].additional_years[years+'_y'].id]=ws_sum;}
806$price.USD+=$db.perpetual[$obj.edition.value].physical_workstation['24/7_support'].uplift.price['USD']*ws_sum;$price.CHF+=$db.perpetual[$obj.edition.value].physical_workstation['24/7_support'].uplift.price['CHF']*ws_sum;$price.EUR+=$db.perpetual[$obj.edition.value].physical_workstation['24/7_support'].uplift.price['EUR']*ws_sum;$price.GBP+=$db.perpetual[$obj.edition.value].physical_workstation['24/7_support'].uplift.price['GBP']*ws_sum;$result[$db.perpetual[$obj.edition.value].physical_workstation['24/7_support'].uplift.id]=ws_sum;}}
807if($obj.oracle.value>0){$price.USD+=$db.perpetual[$obj.edition.value].oracle_database.new_license.regular.price.USD*$obj.oracle.value;$price.CHF+=$db.perpetual[$obj.edition.value].oracle_database.new_license.regular.price.CHF*$obj.oracle.value;$price.EUR+=$db.perpetual[$obj.edition.value].oracle_database.new_license.regular.price.EUR
807*$obj.oracle.value;$price.GBP+=$db.perpetual[$obj.edition.value].oracle_database.new_license.regular.price.GBP*$obj.oracle.value;$result[$db.perpetual[$obj.edition.value].oracle_database.new_license.regular.id]=$obj.oracle.value;if($obj.support_level.value==='standard_support'){if(years>0){$price.USD+=$db.perpetual[$obj.edition.value].oracle_database.standard_support.additional_years[years+'_y'].price['USD']*$obj.oracle.value;$price.CHF+=$db.perpetual[$obj.edition.value].oracle_database.standard_support.additional_years[years+'_y'].price['CHF']*$obj.oracle.value;$price.EUR+=$db.perpetual[$obj.edition.value].oracle_database.standard_support.additional_years[years+'_y'].price['EUR']*$obj.oracle.value;$price.GBP+=$db.perpetual[$obj.edition.value].oracle_database.standard_support.additional_years[years+'_y'].price['GBP']*$obj.oracle.value;$result[$db.perpetual[$obj.edition.value].oracle_database.standard_support.additional_years[years+'_y'].id]=$obj.oracle.value;}}
808else{if(years>0){$price.USD+=$db.perpetual[$obj.edition.value].oracle_database['24/7_support'].additional_years[years+'_y'].price['USD']*$obj.oracle.value;$price.CHF+=$db.perpetual[$obj.edition.value].oracle_database['24/7_support'].additional_years[years+'_y'].price['CHF']*$obj.oracle.value;$price.EUR+=$db.perpetual[$obj.edition.value].oracle_database['24/7_support'].additional_years[years+'_y'].price['EUR']*$obj.oracle.value;$price.GBP+=$db.perpetual[$obj.edition.value].oracle_database['24/7_support'].additional_years[years+'_y'].price['GBP']*$obj.oracle.value;$result[$db.perpetual[$obj.edition.value].oracle_database['24/7_support'].additional_years[years+'_y'].id]=$obj.oracle.value;}
809$price.USD+=$db.perpetual[$obj.edition.value].oracle_database['24/7_support'].uplift.price['USD']*$obj.oracle.value;$price.CHF+=$db.perpetual[$obj.edition.value].oracle_database['24/7_support'].uplift.price['CHF']*$obj.oracle.value;$price.EUR+=$db.perpetual[$obj.edition.value].oracle_database['24/7_support'].uplift.price['EUR']*$obj.oracle.value;$price.GBP+=$db.perpetual[$obj.edition.value].oracle_database['24/7_support'].uplift.price['GBP']*$obj.oracle.value;$result[$db.perpetual[$obj.edition.value].oracle_database['24/7_support'].uplift.id]=$obj.oracle.value;}}}}
810$s_price.USD=parseFloat(($price.USD+$o_price.USD)/100*$discount).toFixed(2);$s_price.CHF=parseFloat(($price.CHF+$o_price.CHF)/100*$discount).toFixed(2);$s_price.EUR=parseFloat(($price.EUR+$o_price.EUR)/100*$discount).toFixed(2);$s_price.GBP=parseFloat(($price.GBP+$o_price.GBP)/100*$discount).toFixed(2);if($s_price.USD<0)$s_price.USD=0;if($s_price.CHF<0)$s_price.CHF=0;if($s_price.EUR<0)$s_price.EUR=0;if($s_price.GBP<0)$s_price.GBP=0;}catch(e){console.log(e);}}
811function alloy_submit(){if($price[$current_currency]===0&&$o_price[$current_currency]===0){$obj.submit.flags=array_action($obj.submit.flags,'add','zero_price');$obj.submit.messages=array_action($obj.submit.messages,'add','l21');}
812else{$obj.submit.flags=array_action($obj.submit.flags,'remove','zero_price');$obj.submit.messages=array_action($obj.submit.messages,'remove','l21');}
813if($end_price>$max_price[$current_currency]){$obj.submit.flags=array_action($obj.submit.flags,'add','out_of_range_price');$obj.submit.messages=array_action($obj.submit.messages,'add','l20');}
814else{$obj.submit.flags=array_action($obj.submit.flags,'remove','out_of_range_price');$obj.submit.messages=array_action($obj.submit.messages,'remove','l20');}}
815function set_support_years(){if($obj.license_type.value==='perpetual'){$obj.support_years.value=Number($('#support_years').val())-1;}else{$obj.support_years.value=Number($('#support_years').val());}}}).then(function(elems='.js-range'){if(document.querySelector(elems)){document.querySelectorAll(elems).forEach(elem=>{const slider=elem.querySelector(`${elems}-slider`);const field=slider.closest(elems).querySelector(`${elems}-field`);const min=Number(slider.dataset.min);const max=Number(slider.dataset.max);const step=slider.dataset.step?Number(slider.dataset.step):1;try{noUiSlider.create(slider,{start:min,connect:true,range:{'min':min,'max':max},step:step,pips:{mode:'steps',filter:()=>0,density:-1,}});}catch(e){console.log('Slider was created!');}
816slider.noUiSlider.set(field.value);slider.noUiSlider.on('update',()=>{field.value=parseInt(slider.noUiSlider.get()[0]);field.dispatchEvent(new Event('change'));});});}});});;
817
818/* /nakivo_shop/static/src/js/my_account.js defined in bundle 'web.assets_frontend' */
819odoo.define('nakivo_shop.my_account',function(require){"use strict";var ajax=require('web.ajax');var base=require('nakivo_shop.nakivo_base');var core=require('web.core');var qweb=core.qweb;var renewal_dialog_step_1_data=ajax.loadXML('/nakivo_shop/static/src/xml/renewal_dialog_step_1.xml',core.qweb);require('web.dom_ready');if($('.o_portal_details_nakivo').length){change_country();change_state();search_country();search_state();validate_form();form_submit();}
820if($('.portal_my_opportunity_nakivo').length){change_country();change_state();search_country();search_state();}
821if($('.o_portal_customer_nakivo').length){customer_renewal_dialog_step_init();customer_renewal();
821notify_event();}
822function nakivo_hide(items){items.removeClass('nakivo-hide');items.addClass('nakivo-hide');}
823function nakivo_show(items){items.removeClass('nakivo-hide');}
824function filter(word,items){let length=items.length
825let collection=[]
826let hidden=0
827for(let i=0;i<length;i++){if($(items[i]).text().toString().toLowerCase().includes(word)){nakivo_show($(items[i]));}else{nakivo_hide($(items[i]));hidden++}}}
828function form_submit(){Parsley.on('form:submit',function(){let res=validate_special_fields();if(!res){return false;}
829var spinner=this.$element.find('.nakivo_o_loader');var container=document.querySelector(".my_account_form");this.$element.find('button[type="submit"]').prop('disabled',true);base.show_spinner(spinner);save_data(this.$element,container);return false;});}
830function save_data(form,container){var fields=['first_name','last_name','email','phone','street','country_id','state_id','auto_support_notify','enable_customer_tickets','zip','city'];var data={};fields.forEach(get_data);function get_data(item){let item_element=$(`input[name=${item}]`);if(item_element.length>0){let value=item_element.val();if(item=='country_id'||item=='state_id'){value=parseInt(value);}
831if(item=='auto_support_notify'||item=='enable_customer_tickets'){value=item_element.is(':checked');}
832data[item]=value;}}
833data['1']=2;data['12']=2;data['13']=2;ajax.rpc("/my/account/save",data).then(function(result){if(result.result){$.notify("Your update is processing, it will complete in few minutes. Thank you!",{arrowSize:5,style:'straight',className:'success'});var spinner=form.find('.nakivo_o_loader');base.remove_spinner(spinner);form.find('button[type="submit"]').prop('disabled',false);}
834else{if(result.code=='401'){var spinner=form.find('.nakivo_o_loader');base.remove_spinner(spinner);form.find('button[type="submit"]').prop('disabled',false);}
835if(result.code=='402'){setTimeout(function(){var spinner=form.find('.nakivo_o_loader');base.remove_spinner(spinner);form.find('button[type="submit"]').prop('disabled',false);},10000);}
836if(result.code=='403'){setTimeout(function(){var spinner=form.find('.nakivo_o_loader');base.remove_spinner(spinner);form.find('button[type="submit"]').prop('disabled',false);},3600000);}
837$.notify$(result.message,{arrowSize:5,style:'straight',className:'warning'});}});}
838function validate_form(){$('.my_account_form').parsley();}
839function validate_special_fields(){let country_id=$("[name='country_id']").val();let state_id=$("[name='state_id']").val();var res=true;if(country_id==''||country_id==undefined){$('#parsley-id-special-1').attr("aria-hidden","false");$(".country-dropdown-label").addClass("fake-focus");res=false;}
840else{$('#parsley-id-special-1').attr("aria-hidden","true");$(".country-dropdown-label").removeClass("fake-focus");}
841if(state_id==''||state_id==undefined){$('#parsley-id-special-2').attr("aria-hidden","false");$(".state-dropdown-label").addClass("fake-focus");res=false;}
842else{$('#parsley-id-special-2').attr("aria-hidden","true");$(".state-dropdown-label").removeClass("fake-focus");}
843return res;}
844function search_country(){let search_country=$('.search-country');search_country.on('input',function(){let countries=$('.country-list-item');filter($(search_country).val().trim().toLowerCase(),countries);});}
845function search_state(){let search_state=$('.search-state');search_state.on('input',function(){let text_search=$(search_state).val().trim().toLowerCase();if(text_search==''||text_search==undefined){let container=document.querySelector(".state-dropdown");let country_id=$("[name='country_id']").val();var states=container.querySelectorAll(`div[country-state="${country_id}"]`);}
846else{var states=$('.state-list-item:not(.nakivo-hide)');}
847filter(text_search,states);});}
848function change_country(){$('.country-dropdown .country-list-item').click(function(){let country_id=$(this).attr('data-country');let container=document.querySelector(".state-dropdown");let states=container.querySelectorAll(`div[country-state="${country_id}"]`);nakivo_hide($('.state-list-item'));states.forEach(function(item){nakivo_show($(item))});if($('.o_portal_details_nakivo').length){setTimeout(function(){validate_special_fields();},100);}});}
849function change_state(){$('.state-dropdown .state-list-item').click(function(){setTimeout(function(){validate_special_fields();},100);});}
850function customer_renewal_dialog_step_init(){var currentModal=$("div[id='renewal-step-1'");currentModal.find('.p-button--back').click(function(){currentModal.modal('hide');});currentModal.find('.p-modal__close').click(function(){currentModal.modal('hide');});currentModal.find('.p-button--next').click(function(ev){var checked_license=$("input[name='UUID']:checked");if(!checked_license||checked_license.length==0){$.notify("Please choose a license to Renew/ Upgrade/ Expand!",{arrowSize:5,style:'straight',className:'warning'});}
851else{$(ev.target).prop('disabled',true);currentModal.find('.p-modal__close').hide();currentModal.find('.p-button--back').hide();var license_id=parseInt(checked_license.attr('license_id'));if(license_id){ajax.rpc("/my/customer/license/renew",{license_id:license_id}).then(function(result){if(result.code=='200'){window.location='/shop'}
852if(result.code=='303'){$.notify({title:result.message,button:'Confirm'},{style:'confirmation',autoHide:false,clickToHide:false});}});}
853else{$.notify("Couldn't find your license! Please contact our sales.",{arrowSize:5,style:'straight',className:'warning'});}}});}
854function notify_event(){var currentModal=$("div[id='renewal-step-1'");$(document).on('click','.notifyjs-confirmation-base .no',function(){$(this).trigger('notify-hide');currentModal.find('.p-modal__close').show();currentModal.find('.p-button--back').show();currentModal.find('.p-button--next ').prop('disabled',false);});$(document).on('click','.notifyjs-confirmation-base .yes',function(){var checked_license=$("input[name='UUID']:checked");var license_id=parseInt(checked_license.attr('license_id'));$(this).prop('disabled',true);if(license_id){ajax.rpc("/my/customer/license/renew",{license_id:license_id,process_anyway:'yes'}).then(function(result){if(result.code=='200'){window.location='/shop'}
855if(result.code=='303'){$.notify({title:result.message,button:'Confirm'},{style:'confirmation',autoHide:false,clickToHide:false});}});}
856else{$.notify("Couldn't find your license! Please contact our sales.",{arrowSize:5,style:'straight',className:'warning'});$(this).prop('disabled',false);$(this).trigger('notify-hide');}});}
857function raw_licenses(partner_id){renewal_dialog_step_1_data.then(function(){ajax.rpc("/my/customer/licenses",{partner_id:partner_id}).then(function(licenses){var table=qweb.render('nakivo_shop.renewal_dialog_step_1_data',{licenses:licenses});$("div[id='renewal-step-1'").find(".p-table__table").empty().append(table);$("div[id='renewal-step-1'").modal('toggle');});});}});;
858
859/* /nakivo_shop/static/src/js/my_opportunity.js defined in bundle 'web.assets_frontend' */
860odoo.define('nakivo_shop.my_opportunities',function(require){'use strict';var ajax=require('web.ajax');var base=require('nakivo_shop.nakivo_base');var core=require('web.core');var qweb=core.qweb;var refresh_opportunity=ajax.loadXML('/nakivo_shop/static/src/xml/my_opportunity.xml',core.qweb);var weContext=require('web_editor.context');var rpc=require('web.rpc');require('web.dom_ready');if($('.portal_my_opportunities_nakivo').length){modal_add_opportunity_action();}
861if($('.portal_my_opportunity_nakivo').length){modal_edit_opportunity_action();my_edit_opportunity_init();modal_edit_opportunity_contact_action();}
862function validateEmail(email){const re=/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;return re.test(String(email).toLowerCase());}
863function my_edit_opportunity_init(){const date_deadline_picker=MCDatepicker.create({el:'#deadline_datepicker',bodyType:'inline',dateFormat:'YYYY-MM-DD',autoClose:true,});const activity_date_deadline_picker=MCDatepicker.create({el:'#activity_date_deadline_datepicker',bodyType:'inline',dateFormat:'YYYY-MM-DD',autoClose:true,});}
864function modal_add_opportunity_action(){var currentModal=$("div[id='model_add_opportunity'");currentModal.find('.p-button--back').click(function(){currentModal.modal('hide');});currentModal.find('.p-modal__close').click(function(){currentModal.modal('hide');});currentModal.find('.add_new_opp_confirm').click(function(e){var $btn=$(this);$btn.prop('disabled',true);currentModal.find('.p-modal__close').hide();currentModal.find('.p-button--back').hide();var expected_revenue=$('.nakivo_new_opp_form .opp_expected_revenue').val();rpc.query({model:'crm.lead',method:'create_opp_portal',args:[{contact_name:$('.nakivo_new_opp_form .contact_name').val(),title:$('.nakivo_new_opp_form .opp_title').val(),description:$('.nakivo_new_opp_form .description').val(),currency:$('input[name="add_currency"]:checked').val(),expected_revenue:expected_revenue,}],context:weContext.get(),}).done(function(response){$btn.prop('disabled',true);currentModal.find('.p-modal__close').show();currentModal.find('.p-button--back').show();if(response.errors){$btn.prop('disabled',false);$.notify(response.errors,{arrowSize:5,style:'straight',className:'error'});}
865else{window.location='/my/opportunity/'+response.id;}}).fail(function(){$btn.prop('disabled',false);currentModal.find('.p-modal__close').show();currentModal.find('.p-button--back').show();});});}
866function validate_close_action(currentModal,isSaving){if(!isSaving){currentModal.modal('hide');}
867else{$.notify("Your data is saving. Please wait until it's done!",{arrowSize:5,style:'straight',className:'warning'});}}
868function refresh_opportunity_data_from_server(opportunity_id){refresh_opportunity.then(function(){ajax.rpc("/my/opportunity/rf",{opportunity_id:opportunity_id}).then(function(result){var data=qweb.render('nakivo_shop.my_opportunities_form',result);$(".portal_my_opportunity_nakivo_form").empty().append(data);});});}
869function modal_edit_opportunity_action(){var saving=false;var currentModal=$("div[id='modal_edit_opportunity'");currentModal.find('.p-button--back').click(function(){validate_close_action(currentModal,saving);});currentModal.find('.p-modal__close').click(function(){validate_close_action(currentModal,saving);});currentModal.find('.nakivo_edit_opp_confirm').click(function(e){saving=true;var $btn=$(this);$btn.prop('disabled',true);currentModal.find('.p-modal__close').hide();currentModal.find('.p-button--back').hide();rpc.query({model:'crm.lead',method:'update_lead_portal',args:[[parseInt($('.modal_edit_opportunity .opportunity_id').val())],{date_deadline:$('.modal_edit_opportunity .date_deadline').val(),planned_revenue:parseFloat($('.modal_edit_opportunity .planned_revenue').val()),probability:parseFloat($('.modal_edit_opportunity .probability').val()),activity_type_id:parseInt($('.modal_edit_opportunity .next_activity').val()),activity_summary:$('.modal_edit_opportunity .activity_summary').val(),activity_date_deadline:$('.modal_edit_opportunity .activity_date_deadline').val(),priority:$('input[name="PriorityRadioOptions"]:checked').val(),}],context:weContext.get(),}).fail(function(){$.notify("Could not save your data. Please try again or c
869ontact to our sales!",{arrowSize:5,style:'straight',className:'error'});$btn.prop('disabled',false);currentModal.find('.p-modal__close').show();currentModal.find('.p-button--back').show();saving=false;}).done(function(){window.location.reload();$btn.prop('disabled',false);currentModal.find('.p-modal__close').show();currentModal.find('.p-button--back').show();saving=false;currentModal.modal('hide');});return false;});}
870function modal_edit_opportunity_contact_action(){saving=true;var saving=false;var currentModal=$("div[id='modal_edit_opportunity_contact'");currentModal.find('.p-button--back').click(function(){validate_close_action(currentModal,saving);});currentModal.find('.p-modal__close').click(function(){validate_close_action(currentModal,saving);});$('.nakivo_edit_contact_confirm').on('click',function(){var email_from=$('.modal_edit_contact .email_from').val();if(email_from&&email_from!=undefined&&!validateEmail(email_from)){$.notify("Your email is not in corrected format. Please change it. Thank you!",{arrowSize:5,style:'straight',className:'warning'});return false;}
871var $btn=$(this);$btn.prop('disabled',true);currentModal.find('.p-modal__close').hide();currentModal.find('.p-button--back').hide();rpc.query({model:'crm.lead',method:"update_lead_portal_contact",args:[[parseInt($('.modal_edit_contact .opportunity_id').val())],{partner_name:$('.modal_edit_contact .partner_name').val(),phone:$('.modal_edit_contact .phone').val(),mobile:$('.modal_edit_contact .mobile').val(),email_from:email_from,street:$('.modal_edit_contact .street').val(),street2:$('.modal_edit_contact .street2').val(),city:$('.modal_edit_contact .city').val(),zip:$('.modal_edit_contact .zip').val(),state_id:parseInt($('.modal_edit_contact .state_id').val()),country_id:parseInt($('.modal_edit_contact .country_id').val()),}],context:weContext.get(),}).fail(function(){$btn.prop('disabled',false);currentModal.find('.p-modal__close').show();currentModal.find('.p-button--back').show();saving=false;}).done(function(){window.location.reload();$btn.prop('disabled',false);currentModal.find('.p-modal__close').show();currentModal.find('.p-button--back').show();saving=false;currentModal.modal('hide');});return false;});}});;
872
873/* /nakivo_shop/static/src/js/portal_chatter.js defined in bundle 'web.assets_frontend' */
874odoo.define('nakivo_shop.chatter',function(require){'use strict';var portal_chatter=require('portal.chatter');var core=require('web.core');var qweb=core.qweb;var ajax=require('web.ajax');var portal_chatter_template=ajax.loadXML('/nakivo_shop/static/src/xml/portal_chatter.xml',core.qweb);var time=require('web.time');var base=require('nakivo_shop.nakivo_base');var _t=core._t;portal_chatter.PortalChatter.include({template:'nakivo_shop.chatter',events:_.extend({},portal_chatter.PortalChatter.prototype.events,{"click .add_message":'_onClickAddMessage',"click .fetch_last_message":'_onClickRefreshMessage',"click .load_more_message":"_onClickMoreMassage",}),_loadTemplates:function(){ajax.loadXML('/portal/static/src/xml/portal_chatter.xml',qweb);return ajax.loadXML('/nakivo_shop/static/src/xml/portal_chatter.xml',core.qweb);},_renderMessages:function(){this.$('.o_nakivo_portal_chatter_messages').html(qweb.render("nakivo_shop.chatter_messages",{widget:this}));},_renderMessageCount:function(){this.$('.o_nakivo_message_counter').replaceWith(qweb.render("nakivo_shop.chatter_message_count",{widget:this}));},_renderPager:function(){return false;},_onInputMessage:function(){var message=$("textarea[name='message']").val();var warning_box=$('.o_portal_chatter_composer_warning');if(message){warning_box.removeClass('nakivo-hide');warning_box.addClass('nakivo-hide');}
875else{warning_box.text('Please fill your message. Thank you!');warning_box.removeClass('nakivo-hide');}},_onClickRefreshMessage:function(ev){var self=this;var last_message=$('.o_nakivo_portal_chatter_messages .p-comments__post').first();var last_message_id=parseInt(last_message.attr('data-id'));var res_model=$("input[name='res_model']").val();var res_id=$("input[name='res_id']").val();$(ev.currentTarget).prop('disabled',true);portal_chatter_template.then(function(){ajax.rpc("/mail/chatter_fetch_new_message/json",{last_message_id:last_message_id,res_model:res_model,res_id:res_id,}).then(function(new_messages){if(new_messages&&new_messages.length>0){for(var i=0;i<new_messages.length;i++){new_messages[i]['published_date_str']=_.str.sprintf(_t('Published on %s'),moment(time.str_to_datetime(new_messages[i].date)).format('MMMM Do YYYY, h:mm:ss a'));}
876var messages=qweb.render('nakivo_shop.chatter_message',{new_messages:new_messages});$(".o_nakivo_portal_chatter_messages").prepend(messages);var message_count=parseInt($("input[name='message_count']").val());var current_count=parseInt($("input[name='current_count']").val());var message_unit='Comment';if(!message_count){$('.fa-no-comments').removeClass('nakivo-hide');}
877else{if(message_count==1){message_unit='Comment';}
878else{message_unit='Comments';}}
879let count_str=`${message_count+new_messages.length}`+' '+`${message_unit}`;$('.o_message_count').text(count_str);$("input[name='current_count']").val(current_count+new_messages.length);$("input[name='message_count']").val(message_count+new_messages.length);self.update_message_progress(new_messages.length);$("textarea[name='message']").notify(_.str.sprintf(_t('Fetched %s last messages!'),new_messages.length),{position:"bottom right",arrowSize:5,style:'straight',className:'success'});}
880else{$("textarea[name='message']").notify('All last messages was fetched!',{position:"bottom right",arrowSize:5,style:'straight',className:'warning'});}
881$(ev.currentTarget).prop('disabled',false);});});},_onClickMoreMassage:function(ev){var self=this;var previous_message=$('.o_nakivo_portal_chatter_messages .p-comments__post').last();var previous_message_id=parseInt(previous_message.attr('data-id'));var spinner=$(ev.currentTarget).find('.nakivo_o_loader');var res_model=$("input[name='res_model']").val();var res_id=$("input[name='res_id']").val();var limit=parseInt($("input[name='limit']").val());$(ev.currentTarget).prop('disabled',true);base.show_spinner(spinner);portal_chatter_template.then(function(){ajax.rpc("/mail/chatter_fetch_old_message/json",{previous_message_id:previous_message_id,res_model:res_model,res_id:res_id,limit:limit}).then(function(old_messages){if(old_messages){for(var i=0;i<old_messages.length;i++){old_messages[i]['published_date_str']=_.str.sprintf(_t('Published on %s'),moment(time.str_to_datetime(old_messages[i].date)).format('MMMM Do YYYY, h:mm:ss a'));}
882var messages=qweb.render('nakivo_shop.chatter_message',{new_messages:old_messages});$(".o_nakivo_portal_chatter_messages").append(messages);self.update_message_progress(limit);$(ev.currentTarget).prop('disabled',false);base.remove_spinner(spinner);}});});},_onClickAddMessage:function(ev){var self=this;var message_count=$('.o_message_count').attr('count')?parseInt($('.o_message_count').attr('count')):false;var message_unit='Comment';if(!message_count){message_count=1;$('.fa-no-comments').removeClass('nakivo-hide');}
883else{message_count+=1;if(message_count==1){message_unit='Comment';}
884else{message_unit='Comments';}}
885var message=$("textarea[name='message']").val();
885if(!message||message==undefined||message==''){$("textarea[name='message']").notify("Please fill your message. Thank you!",{position:"bottom right",arrowSize:5,style:'straight',className:'warning'});}
886else{var spinner=$(ev.currentTarget).find('.nakivo_o_loader');var res_model=$("input[name='res_model']").val();var res_id=$("input[name='res_id']").val();var token=$("input[name='token']").val();var pid=$("input[name='pid']").val();var hash=$("input[name='hash']").val();var sha_in=$("input[name='sha_in']").val();var sha_time=$("input[name='sha_time']").val();$('.add_message').prop('disabled',true);$("textarea[name='message']").prop('disabled',true);base.show_spinner(spinner);portal_chatter_template.then(function(){ajax.rpc("/mail/chatter_post/json",{res_model:res_model,res_id:res_id,message:message,token:token,pid:pid,hash:hash,sha_in:sha_in,sha_time:sha_time}).then(function(new_messages){if(new_messages){new_messages[0]['published_date_str']=_.str.sprintf(_t('Published on %s'),moment(time.str_to_datetime(new_messages[0].date)).format('MMMM Do YYYY, h:mm:ss a'));var message=qweb.render('nakivo_shop.chatter_message',{new_messages:new_messages});$("textarea[name='message']").val('');$(".o_nakivo_portal_chatter_messages").prepend(message);var message_count=parseInt($("input[name='message_count']").val());let count_str=`${message_count+1}`+' '+`${message_unit}`;$('.o_message_count').text(count_str);$('.add_message').prop('disabled',false);$("textarea[name='message']").prop('disabled',false);base.remove_spinner(spinner);$("textarea[name='message']").notify("Your message added successfully!",{position:"bottom right",arrowSize:5,style:'straight',className:'success'});var current_count=parseInt($("input[name='current_count']").val());$("input[name='current_count']").val(current_count+1);$("input[name='message_count']").val(message_count+1);self.update_message_progress(0);}});});}},update_message_progress:function(interval){var current_count=parseInt($("input[name='current_count']").val());var message_count=parseInt($("input[name='message_count']").val());var tmp_count=current_count+interval;$("input[name='current_count']").val(tmp_count);if(tmp_count<message_count){$('.message_count_progress').empty().text(`(${tmp_count}/${message_count})`);}
887else{$('.load_more_message').hide();}},show_empty_warning:function(){let warning_box=$('.o_portal_chatter_composer_warning');warning_box.text('Please fill your message. Thank you!');warning_box.removeClass('nakivo-hide');},});});;
888
889/* /nakivo_shop/static/src/js/mdf_program_application.js defined in bundle 'web.assets_frontend' */
890odoo.define('nakivo_shop.mdf_program_application',function(require){"use strict";require('web.dom_ready');if($('.mdf-program-container').length){initFileInput();$('.mdf_application_form').parsley();$('.mdf_result_form').parsley();$(".total_budget").change(function(){if($(".total_budget").val()){try{let value=parseFloat($(".total_budget").val());$(".nakivo_funding").val(value/2);$(".partner_funding").val(value/2);}catch(e){console.log('Wrong type...')}}});}
891function initFileInput(){const files=document.querySelectorAll('.js-file');const max_label_preview=4;files.forEach((item)=>{const filePreview=item.querySelector('.js-file-preview');const inputFile=item.querySelector('.js-file-input');inputFile.addEventListener('change',function(){if(inputFile.files&&inputFile.files[0]){filePreview.innerHTML=inputFile.files[0].name;filePreview.classList.add('active');}});});}});;
892
893/* /nakivo_portal/static/src/js/nakivo_portal.js defined in bundle 'web.assets_frontend' */
894odoo.define('nakivo_portal.website',function(require){require('web.dom_ready');if(this.document.location.pathname==='/web/login'||this.document.location.pathname==='/web/reset_password'){$('.nav-link').addClass('login-menu-item');$('footer').hide();}
895var $navbar=$('.customer-navbar');var fixed='fixed-navbar-unlogin';var origOffsetY=$navbar.offset().top;if($(".o_connected_user").length>0){fixed='fixed-navbar-login';}
896function onScroll(){if($(window).scrollTop()>=origOffsetY){$navbar.addClass(fixed);}else{$navbar.removeClass(fixed);}}
897$(function(){var rpc=require('web.rpc')
898var Dialog=require('web.Dialog')
899var uStates;var partnerID;var modalShopRedirect=$('#shop-redirect')
900if(modalShopRedirect&&!window.location.href.indexOf('/shop')>-1){rpc.query({route:"/shop/country_infos/"+'233',params:{mode:'shipping',},}).then(function(states){uStates=states});var save=function(){var stateValue=document.getElementById('select-state-id').value
901rpc.query({model:'res.partner',method:'write',args:[partnerID,{'state_id':parseInt(stateValue)}]})
902return window.location.replace('/shop')};modalShopRedirect.click(function(ev){ev.preventDefault()
903var userId=window.odoo.session_info.user_id
904var userDomain=[['id','=',userId]];return rpc.query({model:'res.users',fields:['partner_id'],method:'search_read',args:[userDomain]}).then(function(partner){var partnerDomain=[['id','=',partner[0].partner_id[0]]]
905rpc.query({model:'res.partner',fields:['state_id','country_id'],method:'search_read',args:[partnerDomain]}).then(function(partnerData){partnerID=partnerData[0].id
906if(partnerData&&partnerData[0].country_id[0]===233&&partnerData[0].state_id===false){var $content=document.createElement('div');$content.className='select-wrapper';var select=document.createElement('select');select.className='default-browser custom-select';select.size=8;select.id='select-state-id';$content.appendChild(select);for(var i=0;i<uStates.states.length;i++){var opt=document.createElement('option');opt.value=uStates.states[i][0];opt.innerHTML=uStates.states[i][1];select.appendChild(opt);}
907return new Dialog(this,{id:'shop-state-check-modal',title:'Please choose your state',size:'medium',$content:$content,buttons:[{text:'Save',classes:'btn-primary',close:true,click:save},{text:'Cancel',close:true}]}).open();}
908else return window.location.replace('/shop')});});});}});});;
909
910/* /web/static/lib/nvd3/d3.v3.js defined in bundle 'web.assets_frontend' */
911!function(){var d3={version:"3.5.6"};var d3_arraySlice=[].slice,d3_array=function(list){return d3_arraySlice.call(list);};var d3_document=this.document;function d3_documentElement(node){return node&&(node.ownerDocument||node.document||node).documentElement;}
912function d3_window(node){return node&&(node.ownerDocument&&node.ownerDocument.defaultView||node.document&&node||node.defaultView);}
913if(d3_document){try{d3_array(d3_document.documentElement.childNodes)[0].nodeType;}catch(e){d3_array=function(list){var i=list.length,array=new Array(i);while(i--)array[i]=list[i];return array;};}}
914if(!Date.now)Date.now=function(){return+new Date();};if(d3_document){try{d3_document.createElement("DIV").style.setProperty("opacity",0,"");}catch(error){var d3_element_prototype=this.Element.prototype,d3_element_setAttribute=d3_element_prototype.setAttribute,d3_element_setAttributeNS=d3_element_prototype.setAttributeNS,d3_style_prototype=this.CSSStyleDeclaration.prototype,d3_style_setProperty=d3_style_prototype.setProperty;d3_element_prototype.setAttribute=function(name,value){d3_element_setAttribute.call(this,name,value+"");};d3_element_prototype.setAttributeNS=function(space,local,value){d3_element_setAttributeNS.call(this,space,local,value+"");};d3_style_prototype.setProperty=function(name,value,priority){d3_style_setProperty.call(this,name,value+"",priority);};}}
915d3.ascending=d3_ascending;function d3_ascending(a,b){return a<b?-1:a>b?1:a>=b?0:NaN;}
916d3.descending=function(a,b){return b<a?-1:b>a?1:b>=a?0:NaN;};d3.min=function(array,f){var i=-1,n=array.length,a,b;if(arguments.length===1){while(++i<n)if((b=array[i])!=null&&b>=b){a=b;break;}
917while(++i<n)if((b=array[i])!=null&&a>b)a=b;}else{while(++i<n)if((b=f.call(array,array[i],i))!=null&&b>=b){a=b;break;}
918while(++i<n)if((b=f.call(array,array[i],i))!=null&&a>b)a=b;}
919return a;};d3.max=function(array,f){var i=-1,n=array.length,a,b;if(arguments.length===1){while(++i<n)if((b=array[i])!=null&&b>=b){a=b;break;}
920while(++i<n)if((b=array[i])!=null&&b>a)a=b;}else{while(++i<n)if((b=f.call(array,array[i],i))!=null&&b>=b){a=b;break;}
921while(++i<n)if((b=f.call(array,array[i],i))!=null&&b>a)a=b;}
922return a;};d3.extent=function(array,f){var i=-1,n=array.length,a,b,c;if(arguments.length===1){while(++i<n)if((b=array[i])!=null&&b>=b){a=c=b;break;}
923while(++i<n)if((b=array[i])!=null){if(a>b)a=b;if(c<b)c=b;}}else{while(++i<n)if((b=f.call(array,array[i],i))!=null&&b>=b){a=c=b;break;}
924while(++i<n)if((b=f.call(array,array[i],i))!=null){if(a>b)a=b;if(c<b)c=b;}}
925return[a,c];};function d3_number(x){return x===null?NaN:+x;}
926function d3_numeric(x){return!isNaN(x);}
927d3.sum=function(array,f){var s=0,n=array.length,a,i=-1;
927if(arguments.length===1){while(++i<n)if(d3_numeric(a=+array[i]))s+=a;}else{while(++i<n)if(d3_numeric(a=+f.call(array,array[i],i)))s+=a;}
928return s;};d3.mean=function(array,f){var s=0,n=array.length,a,i=-1,j=n;if(arguments.length===1){while(++i<n)if(d3_numeric(a=d3_number(array[i])))s+=a;else--j;}else{while(++i<n)if(d3_numeric(a=d3_number(f.call(array,array[i],i))))s+=a;else--j;}
929if(j)return s/j;};d3.quantile=function(values,p){var H=(values.length-1)*p+1,h=Math.floor(H),v=+values[h-1],e=H-h;return e?v+e*(values[h]-v):v;};d3.median=function(array,f){var numbers=[],n=array.length,a,i=-1;if(arguments.length===1){while(++i<n)if(d3_numeric(a=d3_number(array[i])))numbers.push(a);}else{while(++i<n)if(d3_numeric(a=d3_number(f.call(array,array[i],i))))numbers.push(a);}
930if(numbers.length)return d3.quantile(numbers.sort(d3_ascending),.5);};d3.variance=function(array,f){var n=array.length,m=0,a,d,s=0,i=-1,j=0;if(arguments.length===1){while(++i<n){if(d3_numeric(a=d3_number(array[i]))){d=a-m;m+=d/++j;s+=d*(a-m);}}}else{while(++i<n){if(d3_numeric(a=d3_number(f.call(array,array[i],i)))){d=a-m;m+=d/++j;s+=d*(a-m);}}}
931if(j>1)return s/(j-1);};d3.deviation=function(){var v=d3.variance.apply(this,arguments);return v?Math.sqrt(v):v;};function d3_bisector(compare){return{left:function(a,x,lo,hi){if(arguments.length<3)lo=0;if(arguments.length<4)hi=a.length;while(lo<hi){var mid=lo+hi>>>1;if(compare(a[mid],x)<0)lo=mid+1;else hi=mid;}
932return lo;},right:function(a,x,lo,hi){if(arguments.length<3)lo=0;if(arguments.length<4)hi=a.length;while(lo<hi){var mid=lo+hi>>>1;if(compare(a[mid],x)>0)hi=mid;else lo=mid+1;}
933return lo;}};}
934var d3_bisect=d3_bisector(d3_ascending);d3.bisectLeft=d3_bisect.left;d3.bisect=d3.bisectRight=d3_bisect.right;d3.bisector=function(f){return d3_bisector(f.length===1?function(d,x){return d3_ascending(f(d),x);}:f);};d3.shuffle=function(array,i0,i1){if((m=arguments.length)<3){i1=array.length;if(m<2)i0=0;}
935var m=i1-i0,t,i;while(m){i=Math.random()*m--|0;t=array[m+i0],array[m+i0]=array[i+i0],array[i+i0]=t;}
936return array;};d3.permute=function(array,indexes){var i=indexes.length,permutes=new Array(i);while(i--)permutes[i]=array[indexes[i]];return permutes;};d3.pairs=function(array){var i=0,n=array.length-1,p0,p1=array[0],pairs=new Array(n<0?0:n);while(i<n)pairs[i]=[p0=p1,p1=array[++i]];return pairs;};d3.zip=function(){if(!(n=arguments.length))return[];for(var i=-1,m=d3.min(arguments,d3_zipLength),zips=new Array(m);++i<m;){for(var j=-1,n,zip=zips[i]=new Array(n);++j<n;){zip[j]=arguments[j][i];}}
937return zips;};function d3_zipLength(d){return d.length;}
938d3.transpose=function(matrix){return d3.zip.apply(d3,matrix);};d3.keys=function(map){var keys=[];for(var key in map)keys.push(key);return keys;};d3.values=function(map){var values=[];for(var key in map)values.push(map[key]);return values;};d3.entries=function(map){var entries=[];for(var key in map)entries.push({key:key,value:map[key]});return entries;};d3.merge=function(arrays){var n=arrays.length,m,i=-1,j=0,merged,array;while(++i<n)j+=arrays[i].length;merged=new Array(j);while(--n>=0){array=arrays[n];m=array.length;while(--m>=0){merged[--j]=array[m];}}
939return merged;};var abs=Math.abs;d3.range=function(start,stop,step){if(arguments.length<3){step=1;if(arguments.length<2){stop=start;start=0;}}
940if((stop-start)/step===Infinity)throw new Error("infinite range");var range=[],k=d3_range_integerScale(abs(step)),i=-1,j;start*=k,stop*=k,step*=k;if(step<0)while((j=start+step*++i)>stop)range.push(j/k);else while((j=start+step*++i)<stop)range.push(j/k);return range;};function d3_range_integerScale(x){var k=1;while(x*k%1)k*=10;return k;}
941function d3_class(ctor,properties){for(var key in properties){Object.defineProperty(ctor.prototype,key,{value:properties[key],enumerable:false});}}
942d3.map=function(object,f){var map=new d3_Map();if(object instanceof d3_Map){object.forEach(function(key,value){map.set(key,value);});}else if(Array.isArray(object)){var i=-1,n=object.length,o;if(arguments.length===1)while(++i<n)map.set(i,object[i]);else while(++i<n)map.set(f.call(object,o=object[i],i),o);}else{for(var key in object)map.set(key,object[key]);}
943return map;};function d3_Map(){this._=Object.create(null);}
944var d3_map_proto="__proto__",d3_map_zero="\x00";d3_class(d3_Map,{has:d3_map_has,get:function(key){return this._[d3_map_escape(key)];},set:function(key,value){return this._[d3_map_escape(key)]=value;},remove:d3_map_remove,keys:d3_map_keys,values:function(){var values=[];for(var key in this._)values.push(this._[key]);return values;},entries:function(){var entries=[];for(var key in this._)entries.push({key:d3_map_unescape(key),value:this._[key]});return entries;}
944,size:d3_map_size,empty:d3_map_empty,forEach:function(f){for(var key in this._)f.call(this,d3_map_unescape(key),this._[key]);}});function d3_map_escape(key){return(key+="")===d3_map_proto||key[0]===d3_map_zero?d3_map_zero+key:key;}
945function d3_map_unescape(key){return(key+="")[0]===d3_map_zero?key.slice(1):key;}
946function d3_map_has(key){return d3_map_escape(key)in this._;}
947function d3_map_remove(key){return(key=d3_map_escape(key))in this._&&delete this._[key];}
948function d3_map_keys(){var keys=[];for(var key in this._)keys.push(d3_map_unescape(key));return keys;}
949function d3_map_size(){var size=0;for(var key in this._)++size;return size;}
950function d3_map_empty(){for(var key in this._)return false;return true;}
951d3.nest=function(){var nest={},keys=[],sortKeys=[],sortValues,rollup;function map(mapType,array,depth){if(depth>=keys.length)return rollup?rollup.call(nest,array):sortValues?array.sort(sortValues):array;var i=-1,n=array.length,key=keys[depth++],keyValue,object,setter,valuesByKey=new d3_Map(),values;while(++i<n){if(values=valuesByKey.get(keyValue=key(object=array[i]))){values.push(object);}else{valuesByKey.set(keyValue,[object]);}}
952if(mapType){object=mapType();setter=function(keyValue,values){object.set(keyValue,map(mapType,values,depth));};}else{object={};setter=function(keyValue,values){object[keyValue]=map(mapType,values,depth);};}
953valuesByKey.forEach(setter);return object;}
954function entries(map,depth){if(depth>=keys.length)return map;var array=[],sortKey=sortKeys[depth++];map.forEach(function(key,keyMap){array.push({key:key,values:entries(keyMap,depth)});});return sortKey?array.sort(function(a,b){return sortKey(a.key,b.key);}):array;}
955nest.map=function(array,mapType){return map(mapType,array,0);};nest.entries=function(array){return entries(map(d3.map,array,0),0);};nest.key=function(d){keys.push(d);return nest;};nest.sortKeys=function(order){sortKeys[keys.length-1]=order;return nest;};nest.sortValues=function(order){sortValues=order;return nest;};nest.rollup=function(f){rollup=f;return nest;};return nest;};d3.set=function(array){var set=new d3_Set();if(array)for(var i=0,n=array.length;i<n;++i)set.add(array[i]);return set;};function d3_Set(){this._=Object.create(null);}
956d3_class(d3_Set,{has:d3_map_has,add:function(key){this._[d3_map_escape(key+="")]=true;return key;},remove:d3_map_remove,values:d3_map_keys,size:d3_map_size,empty:d3_map_empty,forEach:function(f){for(var key in this._)f.call(this,d3_map_unescape(key));}});d3.behavior={};function d3_identity(d){return d;}
957d3.rebind=function(target,source){var i=1,n=arguments.length,method;while(++i<n)target[method=arguments[i]]=d3_rebind(target,source,source[method]);return target;};function d3_rebind(target,source,method){return function(){var value=method.apply(source,arguments);return value===source?target:value;};}
958function d3_vendorSymbol(object,name){if(name in object)return name;name=name.charAt(0).toUpperCase()+name.slice(1);for(var i=0,n=d3_vendorPrefixes.length;i<n;++i){var prefixName=d3_vendorPrefixes[i]+name;if(prefixName in object)return prefixName;}}
959var d3_vendorPrefixes=["webkit","ms","moz","Moz","o","O"];function d3_noop(){}
960d3.dispatch=function(){var dispatch=new d3_dispatch(),i=-1,n=arguments.length;while(++i<n)dispatch[arguments[i]]=d3_dispatch_event(dispatch);return dispatch;};function d3_dispatch(){}
961d3_dispatch.prototype.on=function(type,listener){var i=type.indexOf("."),name="";if(i>=0){name=type.slice(i+1);type=type.slice(0,i);}
962if(type)return arguments.length<2?this[type].on(name):this[type].on(name,listener);if(arguments.length===2){if(listener==null)for(type in this){if(this.hasOwnProperty(type))this[type].on(name,null);}
963return this;}};function d3_dispatch_event(dispatch){var listeners=[],listenerByName=new d3_Map();function event(){var z=listeners,i=-1,n=z.length,l;while(++i<n)if(l=z[i].on)l.apply(this,arguments);return dispatch;}
964event.on=function(name,listener){var l=listenerByName.get(name),i;if(arguments.length<2)return l&&l.on;if(l){l.on=null;listeners=listeners.slice(0,i=listeners.indexOf(l)).concat(listeners.slice(i+1));listenerByName.remove(name);}
965if(listener)listeners.push(listenerByName.set(name,{on:listener}));
965return dispatch;};return event;}
966d3.event=null;function d3_eventPreventDefault(){d3.event.preventDefault();}
967function d3_eventSource(){var e=d3.event,s;while(s=e.sourceEvent)e=s;return e;}
968function d3_eventDispatch(target){var dispatch=new d3_dispatch(),i=0,n=arguments.length;while(++i<n)dispatch[arguments[i]]=d3_dispatch_event(dispatch);dispatch.of=function(thiz,argumentz){return function(e1){try{var e0=e1.sourceEvent=d3.event;e1.target=target;d3.event=e1;dispatch[e1.type].apply(thiz,argumentz);}finally{d3.event=e0;}};};return dispatch;}
969d3.requote=function(s){return s.replace(d3_requote_re,"\\$&");};var d3_requote_re=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g;var d3_subclass={}.__proto__?function(object,prototype){object.__proto__=prototype;}:function(object,prototype){for(var property in prototype)object[property]=prototype[property];};function d3_selection(groups){d3_subclass(groups,d3_selectionPrototype);return groups;}
970var d3_select=function(s,n){return n.querySelector(s);},d3_selectAll=function(s,n){return n.querySelectorAll(s);},d3_selectMatches=function(n,s){var d3_selectMatcher=n.matches||n[d3_vendorSymbol(n,"matchesSelector")];d3_selectMatches=function(n,s){return d3_selectMatcher.call(n,s);};return d3_selectMatches(n,s);};if(typeof Sizzle==="function"){d3_select=function(s,n){return Sizzle(s,n)[0]||null;};d3_selectAll=Sizzle;d3_selectMatches=Sizzle.matchesSelector;}
971d3.selection=function(){return d3.select(d3_document.documentElement);};var d3_selectionPrototype=d3.selection.prototype=[];d3_selectionPrototype.select=function(selector){var subgroups=[],subgroup,subnode,group,node;selector=d3_selection_selector(selector);for(var j=-1,m=this.length;++j<m;){subgroups.push(subgroup=[]);subgroup.parentNode=(group=this[j]).parentNode;for(var i=-1,n=group.length;++i<n;){if(node=group[i]){subgroup.push(subnode=selector.call(node,node.__data__,i,j));if(subnode&&"__data__"in node)subnode.__data__=node.__data__;}else{subgroup.push(null);}}}
972return d3_selection(subgroups);};function d3_selection_selector(selector){return typeof selector==="function"?selector:function(){return d3_select(selector,this);};}
973d3_selectionPrototype.selectAll=function(selector){var subgroups=[],subgroup,node;selector=d3_selection_selectorAll(selector);for(var j=-1,m=this.length;++j<m;){for(var group=this[j],i=-1,n=group.length;++i<n;){if(node=group[i]){subgroups.push(subgroup=d3_array(selector.call(node,node.__data__,i,j)));subgroup.parentNode=node;}}}
974return d3_selection(subgroups);};function d3_selection_selectorAll(selector){return typeof selector==="function"?selector:function(){return d3_selectAll(selector,this);};}
975var d3_nsPrefix={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};d3.ns={prefix:d3_nsPrefix,qualify:function(name){var i=name.indexOf(":"),prefix=name;if(i>=0){prefix=name.slice(0,i);name=name.slice(i+1);}
976return d3_nsPrefix.hasOwnProperty(prefix)?{space:d3_nsPrefix[prefix],local:name}:name;}};d3_selectionPrototype.attr=function(name,value){if(arguments.length<2){if(typeof name==="string"){var node=this.node();name=d3.ns.qualify(name);return name.local?node.getAttributeNS(name.space,name.local):node.getAttribute(name);}
977for(value in name)this.each(d3_selection_attr(value,name[value]));return this;}
978return this.each(d3_selection_attr(name,value));};function d3_selection_attr(name,value){name=d3.ns.qualify(name);function attrNull(){this.removeAttribute(name);}
979function attrNullNS(){this.removeAttributeNS(name.space,name.local);}
980function attrConstant(){this.setAttribute(name,value);}
981function attrConstantNS(){this.setAttributeNS(name.space,name.local,value);}
982function attrFunction(){var x=value.apply(this,arguments);if(x==null)this.removeAttribute(name);else this.setAttribute(name,x);}
983function attrFunctionNS(){var x=value.apply(this,arguments);if(x==null)this.removeAttributeNS(name.space,name.local);else this.setAttributeNS(name.space,name.local,x);}
984return value==null?name.local?attrNullNS:attrNull:typeof value==="function"?name.local?attrFunctionNS:attrFunction:name.local?attrConstantNS:attrConstant;}
985function d3_collapse(s){return s.trim().replace(/\s+/g," ");}
986d3_selectionPrototype.classed=function(name,value){if(arguments.length<2){if(typeof name==="string"){var node=this.node(),n=(name=d3_selection_classes(name)).length,i=-1;
986if(value=node.classList){while(++i<n)if(!value.contains(name[i]))return false;}else{value=node.getAttribute("class");while(++i<n)if(!d3_selection_classedRe(name[i]).test(value))return false;}
987return true;}
988for(value in name)this.each(d3_selection_classed(value,name[value]));return this;}
989return this.each(d3_selection_classed(name,value));};function d3_selection_classedRe(name){return new RegExp("(?:^|\\s+)"+d3.requote(name)+"(?:\\s+|$)","g");}
990function d3_selection_classes(name){return(name+"").trim().split(/^|\s+/);}
991function d3_selection_classed(name,value){name=d3_selection_classes(name).map(d3_selection_classedName);var n=name.length;function classedConstant(){var i=-1;while(++i<n)name[i](this,value);}
992function classedFunction(){var i=-1,x=value.apply(this,arguments);while(++i<n)name[i](this,x);}
993return typeof value==="function"?classedFunction:classedConstant;}
994function d3_selection_classedName(name){var re=d3_selection_classedRe(name);return function(node,value){if(c=node.classList)return value?c.add(name):c.remove(name);var c=node.getAttribute("class")||"";if(value){re.lastIndex=0;if(!re.test(c))node.setAttribute("class",d3_collapse(c+" "+name));}else{node.setAttribute("class",d3_collapse(c.replace(re," ")));}};}
995d3_selectionPrototype.style=function(name,value,priority){var n=arguments.length;if(n<3){if(typeof name!=="string"){if(n<2)value="";for(priority in name)this.each(d3_selection_style(priority,name[priority],value));return this;}
996if(n<2){var node=this.node();return d3_window(node).getComputedStyle(node,null).getPropertyValue(name);}
997priority="";}
998return this.each(d3_selection_style(name,value,priority));};function d3_selection_style(name,value,priority){function styleNull(){this.style.removeProperty(name);}
999function styleConstant(){this.style.setProperty(name,value,priority);}
1000function styleFunction(){var x=value.apply(this,arguments);if(x==null)this.style.removeProperty(name);else this.style.setProperty(name,x,priority);}
1001return value==null?styleNull:typeof value==="function"?styleFunction:styleConstant;}
1002d3_selectionPrototype.property=function(name,value){if(arguments.length<2){if(typeof name==="string")return this.node()[name];for(value in name)this.each(d3_selection_property(value,name[value]));return this;}
1003return this.each(d3_selection_property(name,value));};function d3_selection_property(name,value){function propertyNull(){delete this[name];}
1004function propertyConstant(){this[name]=value;}
1005function propertyFunction(){var x=value.apply(this,arguments);if(x==null)delete this[name];else this[name]=x;}
1006return value==null?propertyNull:typeof value==="function"?propertyFunction:propertyConstant;}
1007d3_selectionPrototype.text=function(value){return arguments.length?this.each(typeof value==="function"?function(){var v=value.apply(this,arguments);this.textContent=v==null?"":v;}:value==null?function(){this.textContent="";}:function(){this.textContent=value;}):this.node().textContent;};d3_selectionPrototype.html=function(value){return arguments.length?this.each(typeof value==="function"?function(){var v=value.apply(this,arguments);this.innerHTML=v==null?"":v;}:value==null?function(){this.innerHTML="";}:function(){this.innerHTML=value;}):this.node().innerHTML;};d3_selectionPrototype.append=function(name){name=d3_selection_creator(name);return this.select(function(){return this.appendChild(name.apply(this,arguments));});};function d3_selection_creator(name){function create(){var document=this.ownerDocument,namespace=this.namespaceURI;return namespace?document.createElementNS(namespace,name):document.createElement(name);}
1008function createNS(){return this.ownerDocument.createElementNS(name.space,name.local);}
1009return typeof name==="function"?name:(name=d3.ns.qualify(name)).local?createNS:create;}
1010d3_selectionPrototype.insert=function(name,before){name=d3_selection_creator(name);before=d3_selection_selector(before);return this.select(function(){return this.insertBefore(name.apply(this,arguments),before.apply(this,arguments)||null);});};d3_selectionPrototype.remove=function(){return this.each(d3_selectionRemove);};function d3_selectionRemove(){var parent=this.parentNode;if(parent)parent.removeChild(this);}
1011d3_selectionPrototype.data=function(value,key){var i=-1,n=this.length,group,node;if(!arguments.length){value=new Array(n=(group=this[0]).length);while(++i<n){if(node=group[i]){value[i]=node.__data__;}}
1012return value;}
1013function bind(group,groupData){var i,n=group.length,m=groupData.length,n0=Math.min(n,m),updateNodes=new Array(m),enterNodes=new Array(m),exitNodes=new Array(n),node,nodeData;if(key){var nodeByKeyValue=new d3_Map(),keyValues=new Array(n),keyValue;for(i=-1;++i<n;){if(nodeByKeyValue.has(keyValue=key.call(node=group[i],node.__data__,i))){exitNodes[i]=node;}else{nodeByKeyValue.set(keyValue,node);}
1014keyValues[i]=keyValue;}
1015for(i=-1;++i<m;){if(!(node=nodeByKeyValue.get(keyValue=key.call(groupData,nodeData=groupData[i],i)))){enterNodes[i]=d3_selection_dataNode(nodeData);}else if(node!==true){updateNodes[i]=node;node.__data__=nodeData;}
1016nodeByKeyValue.set(keyValue,true);}
1017for(i=-1;++i<n;){if(nodeByKeyValue.get(keyValues[i])!==true){exitNodes[i]=group[i];}}}else{for(i=-1;++i<n0;){node=group[i];
1017nodeData=groupData[i];if(node){node.__data__=nodeData;updateNodes[i]=node;}else{enterNodes[i]=d3_selection_dataNode(nodeData);}}
1018for(;i<m;++i){enterNodes[i]=d3_selection_dataNode(groupData[i]);}
1019for(;i<n;++i){exitNodes[i]=group[i];}}
1020enterNodes.update=updateNodes;enterNodes.parentNode=updateNodes.parentNode=exitNodes.parentNode=group.parentNode;enter.push(enterNodes);update.push(updateNodes);exit.push(exitNodes);}
1021var enter=d3_selection_enter([]),update=d3_selection([]),exit=d3_selection([]);if(typeof value==="function"){while(++i<n){bind(group=this[i],value.call(group,group.parentNode.__data__,i));}}else{while(++i<n){bind(group=this[i],value);}}
1022update.enter=function(){return enter;};update.exit=function(){return exit;};return update;};function d3_selection_dataNode(data){return{__data__:data};}
1023d3_selectionPrototype.datum=function(value){return arguments.length?this.property("__data__",value):this.property("__data__");};d3_selectionPrototype.filter=function(filter){var subgroups=[],subgroup,group,node;if(typeof filter!=="function")filter=d3_selection_filter(filter);for(var j=0,m=this.length;j<m;j++){subgroups.push(subgroup=[]);subgroup.parentNode=(group=this[j]).parentNode;for(var i=0,n=group.length;i<n;i++){if((node=group[i])&&filter.call(node,node.__data__,i,j)){subgroup.push(node);}}}
1024return d3_selection(subgroups);};function d3_selection_filter(selector){return function(){return d3_selectMatches(this,selector);};}
1025d3_selectionPrototype.order=function(){for(var j=-1,m=this.length;++j<m;){for(var group=this[j],i=group.length-1,next=group[i],node;--i>=0;){if(node=group[i]){if(next&&next!==node.nextSibling)next.parentNode.insertBefore(node,next);next=node;}}}
1026return this;};d3_selectionPrototype.sort=function(comparator){comparator=d3_selection_sortComparator.apply(this,arguments);for(var j=-1,m=this.length;++j<m;)this[j].sort(comparator);return this.order();};function d3_selection_sortComparator(comparator){if(!arguments.length)comparator=d3_ascending;return function(a,b){return a&&b?comparator(a.__data__,b.__data__):!a-!b;};}
1027d3_selectionPrototype.each=function(callback){return d3_selection_each(this,function(node,i,j){callback.call(node,node.__data__,i,j);});};function d3_selection_each(groups,callback){for(var j=0,m=groups.length;j<m;j++){for(var group=groups[j],i=0,n=group.length,node;i<n;i++){if(node=group[i])callback(node,i,j);}}
1028return groups;}
1029d3_selectionPrototype.call=function(callback){var args=d3_array(arguments);callback.apply(args[0]=this,args);return this;};d3_selectionPrototype.empty=function(){return!this.node();};d3_selectionPrototype.node=function(){for(var j=0,m=this.length;j<m;j++){for(var group=this[j],i=0,n=group.length;i<n;i++){var node=group[i];if(node)return node;}}
1030return null;};d3_selectionPrototype.size=function(){var n=0;d3_selection_each(this,function(){++n;});return n;};function d3_selection_enter(selection){d3_subclass(selection,d3_selection_enterPrototype);return selection;}
1031var d3_selection_enterPrototype=[];d3.selection.enter=d3_selection_enter;d3.selection.enter.prototype=d3_selection_enterPrototype;d3_selection_enterPrototype.append=d3_selectionPrototype.append;d3_selection_enterPrototype.empty=d3_selectionPrototype.empty;d3_selection_enterPrototype.node=d3_selectionPrototype.node;d3_selection_enterPrototype.call=d3_selectionPrototype.call;d3_selection_enterPrototype.size=d3_selectionPrototype.size;d3_selection_enterPrototype.select=function(selector){var subgroups=[],subgroup,subnode,upgroup,group,node;for(var j=-1,m=this.length;++j<m;){upgroup=(group=this[j]).update;subgroups.push(subgroup=[]);subgroup.parentNode=group.parentNode;for(var i=-1,n=group.length;++i<n;){if(node=group[i]){subgroup.push(upgroup[i]=subnode=selector.call(group.parentNode,node.__data__,i,j));subnode.__data__=node.__data__;}else{subgroup.push(null);}}}
1032return d3_selection(subgroups);};d3_selection_enterPrototype.insert=function(name,before){if(arguments.length<2)before=d3_selection_enterInsertBefore(this);return d3_selectionPrototype.insert.call(this,name,before);};function d3_selection_enterInsertBefore(enter){var i0,j0;
1032return function(d,i,j){var group=enter[j].update,n=group.length,node;if(j!=j0)j0=j,i0=0;if(i>=i0)i0=i+1;while(!(node=group[i0])&&++i0<n);return node;};}
1033d3.select=function(node){var group;if(typeof node==="string"){group=[d3_select(node,d3_document)];group.parentNode=d3_document.documentElement;}else{group=[node];group.parentNode=d3_documentElement(node);}
1034return d3_selection([group]);};d3.selectAll=function(nodes){var group;if(typeof nodes==="string"){group=d3_array(d3_selectAll(nodes,d3_document));group.parentNode=d3_document.documentElement;}else{group=nodes;group.parentNode=null;}
1035return d3_selection([group]);};d3_selectionPrototype.on=function(type,listener,capture){var n=arguments.length;if(n<3){if(typeof type!=="string"){if(n<2)listener=false;for(capture in type)this.each(d3_selection_on(capture,type[capture],listener));return this;}
1036if(n<2)return(n=this.node()["__on"+type])&&n._;capture=false;}
1037return this.each(d3_selection_on(type,listener,capture));};function d3_selection_on(type,listener,capture){var name="__on"+type,i=type.indexOf("."),wrap=d3_selection_onListener;if(i>0)type=type.slice(0,i);var filter=d3_selection_onFilters.get(type);if(filter)type=filter,wrap=d3_selection_onFilter;function onRemove(){var l=this[name];if(l){this.removeEventListener(type,l,l.$);delete this[name];}}
1038function onAdd(){var l=wrap(listener,d3_array(arguments));onRemove.call(this);this.addEventListener(type,this[name]=l,l.$=capture);l._=listener;}
1039function removeAll(){var re=new RegExp("^__on([^.]+)"+d3.requote(type)+"$"),match;for(var name in this){if(match=name.match(re)){var l=this[name];this.removeEventListener(match[1],l,l.$);delete this[name];}}}
1040return i?listener?onAdd:onRemove:listener?d3_noop:removeAll;}
1041var d3_selection_onFilters=d3.map({mouseenter:"mouseover",mouseleave:"mou
1041seout"});if(d3_document){d3_selection_onFilters.forEach(function(k){if("on"+k in d3_document)d3_selection_onFilters.remove(k);});}
1042function d3_selection_onListener(listener,argumentz){return function(e){var o=d3.event;d3.event=e;argumentz[0]=this.__data__;try{listener.apply(this,argumentz);}finally{d3.event=o;}};}
1043function d3_selection_onFilter(listener,argumentz){var l=d3_selection_onListener(listener,argumentz);return function(e){var target=this,related=e.relatedTarget;if(!related||related!==target&&!(related.compareDocumentPosition(target)&8)){l.call(target,e);}};}
1044var d3_event_dragSelect,d3_event_dragId=0;function d3_event_dragSuppress(node){var name=".dragsuppress-"+ ++d3_event_dragId,click="click"+name,w=d3.select(d3_window(node)).on("touchmove"+name,d3_eventPreventDefault).on("dragstart"+name,d3_eventPreventDefault).on("selectstart"+name,d3_eventPreventDefault);if(d3_event_dragSelect==null){d3_event_dragSelect="onselectstart"in node?false:d3_vendorSymbol(node.style,"userSelect");}
1045if(d3_event_dragSelect){var style=d3_documentElement(node).style,select=style[d3_event_dragSelect];style[d3_event_dragSelect]="none";}
1046return function(suppressClick){w.on(name,null);if(d3_event_dragSelect)style[d3_event_dragSelect]=select;if(suppressClick){var off=function(){w.on(click,null);};w.on(click,function(){d3_eventPreventDefault();off();},true);setTimeout(off,0);}};}
1047d3.mouse=function(container){return d3_mousePoint(container,d3_eventSource());};var d3_mouse_bug44083=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;function d3_mousePoint(container,e){if(e.changedTouches)e=e.changedTouches[0];var svg=container.ownerSVGElement||container;if(svg.createSVGPoint){var point=svg.createSVGPoint();if(d3_mouse_bug44083<0){var window=d3_window(container);if(window.scrollX||window.scrollY){svg=d3.select("body").append("svg").style({position:"absolute",top:0,left:0,margin:0,padding:0,border:"none"},"important");var ctm=svg[0][0].getScreenCTM();d3_mouse_bug44083=!(ctm.f||ctm.e);svg.remove();}}
1048if(d3_mouse_bug44083)point.x=e.pageX,point.y=e.pageY;else point.x=e.clientX,point.y=e.clientY;point=point.matrixTransform(container.getScreenCTM().inverse());return[point.x,point.y];}
1049var rect=container.getBoundingClientRect();return[e.clientX-rect.left-container.clientLeft,e.clientY-rect.top-container.clientTop];}
1050d3.touch=function(container,touches,identifier){if(arguments.length<3)identifier=touches,touches=d3_eventSource().changedTouches;if(touches)for(var i=0,n=touches.length,touch;i<n;++i){if((touch=touches[i]).identifier===identifier){return d3_mousePoint(container,touch);}}};d3.behavior.drag=function(){var event=d3_eventDispatch(drag,"drag","dragstart","dragend"),origin=null,mousedown=dragstart(d3_noop,d3.mouse,d3_window,"mousemove","mouseup"),touchstart=dragstart(d3_behavior_dragTouchId,d3.touch,d3_identity,"touchmove","touchend");function drag(){this.on("mousedown.drag",mousedown).on("touchstart.drag",touchstart);}
1051function dragstart(id,position,subject,move,end){return function(){var that=this,target=d3.event.target,parent=that.parentNode,dispatch=event.of(that,arguments),dragged=0,dragId=id(),dragName=".drag"+(dragId==null?"":"-"+dragId),dragOffset,dragSubject=d3.select(subject(target)).on(move+dragName,moved).on(end+dragName,ended),dragRestore=d3_event_dragSuppress(target),position0=position(parent,dragId);if(origin){dragOffset=origin.apply(that,arguments);dragOffset=[dragOffset.x-position0[0],dragOffset.y-position0[1]];}else{dragOffset=[0,0];}
1052dispatch({type:"dragstart"});function moved(){var position1=position(parent,dragId),dx,dy;if(!position1)return;dx=position1[0]-position0[0];dy=position1[1]-position0[1];dragged|=dx|dy;position0=position1;dispatch({type:"drag",x:position1[0]+dragOffset[0],y:position1[1]+dragOffset[1],dx:dx,dy:dy});}
1053function ended(){if(!position(parent,dragId))return;dragSubject.on(move+dragName,null).on(end+dragName,null);dragRestore(dragged&&d3.event.target===target);dispatch({type:"dragend"});}};}
1054drag.origin=function(x){if(!arguments.length)return origin;origin=x;return drag;};return d3.rebind(drag,event,"on");};function d3_behavior_dragTouchId(){return d3.event.changedTouches[0].identifier;}
1055d3.touches=function(container,touches){if(arguments.length<2)touches=d3_eventSource().touches;return touches?d3_array(touches).map(function(touch){var point=d3_mousePoint(container,touch);point.identifier=touch.identifier;return point;}):[];};var ε=1e-6,ε2=ε*ε,π=Math.PI,τ=2*π,τε=τ-ε,halfπ=π/2,d3_radians=π/180,d3_degrees=180/π;function d3_sgn(x){return x>0?1:x<0?-1:0;}
1056function d3_cross2d(a,b,c){return(b[0]-a[0])*(c[1]-a[1])-(b[1]-a[1])*(c[0]-a[0]);}
1057function d3_acos(x){return x>1?0:x<-1?π:Math.acos(x);}
1058function d3_asin(x){return x>1?halfπ:x<-1?-halfπ:Math.asin(x);}
1059function d3_sinh(x){return((x=Math.exp(x))-1/x)/2;}
1060function d3_cosh(x){return((x=Math.exp(x))+1/x)/2;}
1061function d3_tanh(x){return((x=Math.exp(2*x))-1)/(x+1);}
1062function d3_haversin(x){return(x=Math.sin(x/2))*x;}
1063var ρ=Math.SQRT2,ρ2=2,ρ4=4;d3.interpolateZoom=function(p0,p1){var ux0=p0[0],uy0=p0[1],w0=p0[2],ux1=p1[0],uy1=p1[1],w1=p1[2];var dx=ux1-ux0,dy=uy1-uy0,d2=dx*dx+dy*dy,d1=Math.sqrt(d2),b0=(w1*w1-w0*w0+ρ4*d2)/(2*w0*ρ2*d1),b1=(w1*w1-w0*w0-ρ4*d2)/(2*w1*ρ2*d1),r0=Math.log(Math.sqrt(b0*b0+1)-b0),r1=Math.log(Math.sqrt(b1*b1+1)-b1),dr=r1-r0,S=(dr||Math.log(w1/w0))/ρ;function interpolate(t){var s=t*S;if(dr){var coshr0=d3_cosh(r0),u=w0/(ρ2*d1)*(coshr0*d3_tanh(ρ*s+r0)-d3_sinh(r0));return[ux0+u*dx,uy0+u*dy,w0*coshr0/d3_cosh(ρ*s+r0)];}
1064return[ux0+t*dx,uy0+t*dy,w0*Math.exp(ρ*s)];}
1065interpolate.duration=S*1e3;return interpolate;};d3.behavior.zoom=function(){var view={x:0,y:0,k:1},translate0,center0,center,size=[960,500],scaleExtent=d3_behavior_zoomInfinity,duration=250,zooming=0,mousedown="mousedown.zoom",mousemove="mou
1065semove.zoom",mouseup="mouseup.zoom",mousewheelTimer,touchstart="touchstart.zoom",touchtime,event=d3_eventDispatch(zoom,"zoomstart","zoom","zoomend"),x0,x1,y0,y1;if(!d3_behavior_zoomWheel){d3_behavior_zoomWheel="onwheel"in d3_document?(d3_behavior_zoomDelta=function(){return-d3.event.deltaY*(d3.event.deltaMode?120:1);},"wheel"):"onmousewheel"in d3_document?(d3_behavior_zoomDelta=function(){return d3.event.wheelDelta;},"mousewheel"):(d3_behavior_zoomDelta=function(){return-d3.event.detail;},"MozMousePixelScroll");}
1066function zoom(g){g.on(mousedown,mousedowned).on(d3_behavior_zoomWheel+".zoom",mousewheeled).on("dblclick.zoom",dblclicked).on(touchstart,touchstarted);}
1067zoom.event=function(g){g.each(function(){var dispatch=event.of(this,arguments),view1=view;if(d3_transitionInheritId){d3.select(this).transition().each("start.zoom",function(){view=this.__chart__||{x:0,y:0,k:1};zoomstarted(dispatch);}).tween("zoom:zoom",function(){var dx=size[0],dy=size[1],cx=center0?center0[0]:dx/2,cy=center0?center0[1]:dy/2,i=d3.interpolateZoom([(cx-view.x)/view.k,(cy-view.y)/view.k,dx/view.k],[(cx-view1.x)/view1.k,(cy-view1.y)/view1.k,dx/view1.k]);return function(t){var l=i(t),k=dx/l[2];this.__chart__=view={x:cx-l[0]*k,y:cy-l[1]*k,k:k};zoomed(dispatch);};}).each("interrupt.zoom",function(){zoomended(dispatch);}).each("end.zoom",function(){zoomended(dispatch);});}else{this.__chart__=view;zoomstarted(dispatch);zoomed(dispatch);zoomended(dispatch);}});};zoom.translate=function(_){if(!arguments.length)return[view.x,view.y];view={x:+_[0],y:+_[1],k:view.k};rescale();return zoom;};zoom.scale=function(_){if(!arguments.length)return view.k;view={x:view.x,y:view.y,k:+_};rescale();return zoom;};zoom.scaleExtent=function(_){if(!arguments.length)return scaleExtent;scaleExtent=_==null?d3_behavior_zoomInfinity:[+_[0],+_[1]];return zoom;};zoom.center=function(_){if(!arguments.length)return center;center=_&&[+_[0],+_[1]];return zoom;};zoom.size=function(_){if(!arguments.length)return size;size=_&&[+_[0],+_[1]];return zoom;};zoom.duration=function(_){if(!arguments.length)return duration;duration=+_;return zoom;};zoom.x=function(z){if(!arguments.length)return x1;x1=z;x0=z.copy();view={x:0,y:0,k:1};return zoom;};zoom.y=function(z){if(!arguments.length)return y1;y1=z;y0=z.copy();view={x:0,y:0,k:1};return zoom;};function location(p){return[(p[0]-view.x)/view.k,(p[1]-view.y)/view.k];}
1068function point(l){return[l[0]*view.k+view.x,l[1]*view.k+view.y];}
1069function scaleTo(s){view.k=Math.max(scaleExtent[0],Math.min(scaleExtent[1],s));}
1070function translateTo(p,l){l=point(l);view.x+=p[0]-l[0];view.y+=p[1]-l[1];}
1071function zoomTo(that,p,l,k){that.__chart__={x:view.x,y:view.y,k:view.k};scaleTo(Math.pow(2,k));translateTo(center0=p,l);that=d3.select(that);if(duration>0)that=that.transition().duration(duration);that.call(zoom.event);}
1072function rescale(){if(x1)x1.domain(x0.range().map(function(x){return(x-view.x)/view.k;}).map(x0.invert));if(y1)y1.domain(y0.range().map(function(y){return(y-view.y)/view.k;}).map(y0.invert));}
1073function zoomstarted(dispatch){if(!zooming++)dispatch({type:"zoomstart"});}
1074function zoomed(dispatch){rescale();dispatch({type:"zoom",scale:view.k,translate:[view.x,view.y]});}
1075function zoomended(dispatch){if(!--zooming)dispatch({type:"zoomend"}),center0=null;}
1076function mousedowned(){var that=this,target=d3.event.target,dispatch=event.of(that,arguments),dragged=0,subject=d3.select(d3_window(that)).on(mousemove,moved).on(mouseup,ended),location0=location(d3.mouse(that)),dragRestore=d3_event_dragSuppress(that);d3_selection_interrupt.call(that);zoomstarted(dispatch);function moved(){dragged=1;translateTo(d3.mouse(that),location0);zoomed(dispatch);}
1077function ended(){subject.on(mousemove,null).on(mouseup,null);dragRestore(dragged&&d3.event.target===target);zoomended(dispatch);}}
1078function touchstarted(){var that=this,dispatch=event.of(that,arguments),locations0={},distance0=0,scale0,zoomName=".zoom-"+d3.event.changedTouches[0].identifier,touchmove="touchmove"+zoomName,touchend="touchend"+zoomName,targets=[],subject=d3.select(that),dragRestore=d3_event_dragSuppress(that);started();zoomstarted(dispatch);subject.on(mousedown,null).on(touchstart,started);function relocate(){var touches=d3.touches(that);scale0=view.k;
1078touches.forEach(function(t){if(t.identifier in locations0)locations0[t.identifier]=location(t);});return touches;}
1079function started(){var target=d3.event.target;d3.select(target).on(touchmove,moved).on(touchend,ended);targets.push(target);var changed=d3.event.changedTouches;for(var i=0,n=changed.length;i<n;++i){locations0[changed[i].identifier]=null;}
1080var touches=relocate(),now=Date.now();if(touches.length===1){if(now-touchtime<500){var p=touches[0];zoomTo(that,p,locations0[p.identifier],Math.floor(Math.log(view.k)/Math.LN2)+1);d3_eventPreventDefault();}
1081touchtime=now;}else if(touches.length>1){var p=touches[0],q=touches[1],dx=p[0]-q[0],dy=p[1]-q[1];distance0=dx*dx+dy*dy;}}
1082function moved(){var touches=d3.touches(that),p0,l0,p1,l1;d3_selection_interrupt.call(that);for(var i=0,n=touches.length;i<n;++i,l1=null){p1=touches[i];if(l1=locations0[p1.identifier]){if(l0)break;p0=p1,l0=l1;}}
1083if(l1){var distance1=(distance1=p1[0]-p0[0])*distance1+(distance1=p1[1]-p0[1])*distance1,scale1=distance0&&Math.sqrt(distance1/distance0);p0=[(p0[0]+p1[0])/2,(p0[1]+p1[1])/2];l0=[(l0[0]+l1[0])/2,(l0[1]+l1[1])/2];scaleTo(scale1*scale0);}
1084touchtime=null;translateTo(p0,l0);zoomed(dispatch);}
1085function ended(){if(d3.event.touches.length){var changed=d3.event.changedTouches;for(var i=0,n=changed.length;i<n;++i){delete locations0[changed[i].identifier];}
1086for(var identifier in locations0){return void relocate();}}
1087d3.selectAll(targets).on(zoomName,null);subject.on(mousedown,mousedowned).on(touchstart,touchstarted);dragRestore();zoomended(dispatch);}}
1088function mousewheeled(){var dispatch=event.of(this,arguments);if(mousewheelTimer)clearTimeout(mousewheelTimer);else d3_selection_interrupt.call(this),translate0=location(center0=center||d3.mouse(this)),zoomstarted(dispatch);mousewheelTimer=setTimeout(function(){mousewheelTimer=null;zoomended(dispatch);},50);d3_eventPreventDefault();scaleTo(Math.pow(2,d3_behavior_zoomDelta()*.002)*view.k);translateTo(center0,translate0);zoomed(dispatch);}
1089function dblclicked(){var p=d3.mouse(this),k=Math.log(view.k)/Math.LN2;zoomTo(this,p,location(p),d3.event.shiftKey?Math.ceil(k)-1:Math.floor(k)+1);}
1090return d3.rebind(zoom,event,"on");};var d3_behavior_zoomInfinity=[0,Infinity],d3_behavior_zoomDelta,d3_behavior_zoomWheel;d3.color=d3_color;function d3_color(){}
1091d3_color.prototype.toString=function(){return this.rgb()+"";};d3.hsl=d3_hsl;function d3_hsl(h,s,l){return this instanceof d3_hsl?void(this.h=+h,this.s=+s,this.l=+l):arguments.length<2?h instanceof d3_hsl?new d3_hsl(h.h,h.s,h.l):d3_rgb_parse(""+h,d3_rgb_hsl,d3_hsl):new d3_hsl(h,s,l);}
1092var d3_hslPrototype=d3_hsl.prototype=new d3_color();d3_hslPrototype.brighter=function(k){k=Math.pow(.7,arguments.length?k:1);return new d3_hsl(this.h,this.s,this.l/k);};d3_hslPrototype.darker=function(k){k=Math.pow(.7,arguments.length?k:1);return new d3_hsl(this.h,this.s,k*this.l);};d3_hslPrototype.rgb=function(){return d3_hsl_rgb(this.h,this.s,this.l);};function d3_hsl_rgb(h,s,l){var m1,m2;h=isNaN(h)?0:(h%=360)<0?h+360:h;s=isNaN(s)?0:s<0?0:s>1?1:s;l=l<0?0:l>1?1:l;m2=l<=.5?l*(1+s):l+s-l*s;m1=2*l-m2;function v(h){if(h>360)h-=360;else if(h<0)h+=360;if(h<60)return m1+(m2-m1)*h/60;if(h<180)return m2;if(h<240)return m1+(m2-m1)*(240-h)/60;return m1;}
1093function vv(h){return Math.round(v(h)*255);}
1094return new d3_rgb(vv(h+120),vv(h),vv(h-120));}
1095d3.hcl=d3_hcl;function d3_hcl(h,c,l){return this instanceof d3_hcl?void(this.h=+h,this.c=+c,this.l=+l):arguments.length<2?h instanceof d3_hcl?new d3_hcl(h.h,h.c,h.l):h instanceof d3_lab?d3_lab_hcl(h.l,h.a,h.b):d3_lab_hcl((h=d3_rgb_lab((h=d3.rgb(h)).r,h.g,h.b)).l,h.a,h.b):new d3_hcl(h,c,l);}
1096var d3_hclPrototype=d3_hcl.prototype=new d3_color();d3_hclPrototype.brighter=function(k){return new d3_hcl(this.h,this.c,Math.min(100,this.l+d3_lab_K*(arguments.length?k:1)));};d3_hclPrototype.darker=function(k){return new d3_hcl(this.h,this.c,Math.max(0,this.l-d3_lab_K*(arguments.length?k:1)));};d3_hclPrototype.rgb=function(){return d3_hcl_lab(this.h,this.c,this.l).rgb();};function d3_hcl_lab(h,c,l){if(isNaN(h))h=0;if(isNaN(c))c=0;return new d3_lab(l,Math.cos(h*=d3_radians)*c,Math.sin(h)*c);}
1097d3.lab=d3_lab;function d3_lab(l,a,b){return this instanceof d3_lab?void(this.l=+l,this.a=+a,this.b=+b):arguments.length<2?l instanceof d3_lab?new d3_lab(l.l,l.a,l.b):l instanceof d3_hcl?d3_hcl_lab(l.h,l.c,l.l):d3_rgb_lab((l=d3_rgb(l)).r,l.g,l.b):new d3_lab(l,a,b);}
1098var d3_lab_K=18;var d3_lab_X=.95047,d3_lab_Y=1,d3_lab_Z=1.08883;var d3_labPrototype=d3_lab.prototype=new d3_color();d3_labPrototype.brighter=function(k){return new d3_lab(Math.min(100,this.l+d3_lab_K*(arguments.length?k:1)),this.a,this.b);};d3_labPrototype.darker=function(k){return new d3_lab(Math.max(0,this.l-d3_lab_K*(arguments.length?k:1)),this.a,this.b);};d3_labPrototype.rgb=function(){return d3_lab_rgb(this.l,this.a,this.b);};function d3_lab_rgb(l,a,b){var y=(l+16)/116,x=y+a/500,z=y-b/200;x=d3_lab_xyz(x)*d3_lab_X;y=d3_lab_xyz(y)*d3_lab_Y;z=d3_lab_xyz(z)*d3_lab_Z;return new d3_rgb(d3_xyz_rgb(3.2404542*x-1.5371385*y-.4985314*z),d3_xyz_rgb(-.969266*x+1.8760108*y+.041556*z),d3_xyz_rgb(.0556434*x-.2040259*y+1.0572252*z));}
1099function d3_lab_hcl(l,a,b){return l>0?new d3_hcl(Math.atan2(b,a)*d3_degrees,Math.sqrt(a*a+b*b),l):new d3_hcl(NaN,NaN,l);}
1100function d3_lab_xyz(x){return x>.206893034?x*x*x:(x-4/29)/7.787037;}
1101function d3_xyz_lab(x){return x>.008856?Math.pow(x,1/3):7.787037*x+4/29;}
1102function d3_xyz_rgb(r){return Math.round(255*(r<=.00304?12.92*r:1.055*M
1102ath.pow(r,1/2.4)-.055));}
1103d3.rgb=d3_rgb;function d3_rgb(r,g,b){return this instanceof d3_rgb?void(this.r=~~r,this.g=~~g,this.b=~~b):arguments.length<2?r instanceof d3_rgb?new d3_rgb(r.r,r.g,r.b):d3_rgb_parse(""+r,d3_rgb,d3_hsl_rgb):new d3_rgb(r,g,b);}
1104function d3_rgbNumber(value){return new d3_rgb(value>>16,value>>8&255,value&255);}
1105function d3_rgbString(value){return d3_rgbNumber(value)+"";}
1106var d3_rgbPrototype=d3_rgb.prototype=new d3_color();d3_rgbPrototype.brighter=function(k){k=Math.pow(.7,arguments.length?k:1);var r=this.r,g=this.g,b=this.b,i=30;if(!r&&!g&&!b)return new d3_rgb(i,i,i);if(r&&r<i)r=i;if(g&&g<i)g=i;if(b&&b<i)b=i;return new d3_rgb(Math.min(255,r/k),Math.min(255,g/k),Math.min(255,b/k));};d3_rgbPrototype.darker=function(k){k=Math.pow(.7,arguments.length?k:1);return new d3_rgb(k*this.r,k*this.g,k*this.b);};d3_rgbPrototype.hsl=function(){return d3_rgb_hsl(this.r,this.g,this.b);};d3_rgbPrototype.toString=function(){return"#"+d3_rgb_hex(this.r)+d3_rgb_hex(this.g)+d3_rgb_hex(this.b);};function d3_rgb_hex(v){return v<16?"0"+Math.max(0,v).toString(16):Math.min(255,v).toString(16);}
1107function d3_rgb_parse(format,rgb,hsl){var r=0,g=0,b=0,m1,m2,color;m1=/([a-z]+)\((.*)\)/.exec(format=format.toLowerCase());if(m1){m2=m1[2].split(",");switch(m1[1]){case"hsl":{return hsl(parseFloat(m2[0]),parseFloat(m2[1])/100,parseFloat(m2[2])/100);}
1108case"rgb":{return rgb(d3_rgb_parseNumber(m2[0]),d3_rgb_parseNumber(m2[1]),d3_rgb_parseNumber(m2[2]));}}}
1109if(color=d3_rgb_names.get(format)){return rgb(color.r,color.g,color.b);}
1110if(format!=null&&format.charAt(0)==="#"&&!isNaN(color=parseInt(format.slice(1),16))){if(format.length===4){r=(color&3840)>>4;r=r>>4|r;g=color&240;g=g>>4|g;b=color&15;b=b<<4|b;}else if(format.length===7){r=(color&16711680)>>16;g=(color&65280)>>8;b=color&255;}}
1111return rgb(r,g,b);}
1112function d3_rgb_hsl(r,g,b){var min=Math.min(r/=255,g/=255,b/=255),max=Math.max(r,g,b),d=max-min,h,s,l=(max+min)/2;if(d){s=l<.5?d/(max+min):d/(2-max-min);if(r==max)h=(g-b)/d+(g<b?6:0);else if(g==max)h=(b-r)/d+2;else h=(r-g)/d+4;h*=60;}else{h=NaN;s=l>0&&l<1?0:h;}
1113return new d3_hsl(h,s,l);}
1114function d3_rgb_lab(r,g,b){r=d3_rgb_xyz(r);g=d3_rgb_xyz(g);b=d3_rgb_xyz(b);var x=d3_xyz_lab((.4124564*r+.3575761*g+.1804375*b)/d3_lab_X),y=d3_xyz_lab((.2126729*r+.7151522*g+.072175*b)/d3_lab_Y),z=d3_xyz_lab((.0193339*r+.119192*g+.9503041*b)/d3_lab_Z);return d3_lab(116*y-16,500*(x-y),200*(y-z));}
1115function d3_rgb_xyz(r){return(r/=255)<=.04045?r/12.92:Math.pow((r+.055)/1.055,2.4);}
1116function d3_rgb_parseNumber(c){var f=parseFloat(c);return c.charAt(c.length-1)==="%"?Math.round(f*2.55):f;}
1117var d3_rgb_names=d3.map({aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074});
1117d3_rgb_names.forEach(function(key,value){d3_rgb_names.set(key,d3_rgbNumber(value));});function d3_functor(v){return typeof v==="function"?v:function(){return v;};}
1118d3.functor=d3_functor;d3.xhr=d3_xhrType(d3_identity);function d3_xhrType(response){return function(url,mimeType,callback){if(arguments.length===2&&typeof mimeType==="function")callback=mimeType,mimeType=null;return d3_xhr(url,mimeType,response,callback);};}
1119function d3_xhr(url,mimeType,response,callback){var xhr={},dispatch=d3.dispatch("beforesend","progress","load","error"),headers={},request=new XMLHttpRequest(),responseType=null;if(this.XDomainRequest&&!("withCredentials"in request)&&/^(http(s)?:)?\/\//.test(url))request=new XDomainRequest();"onload"in request?request.onload=request.onerror=respond:request.onreadystatechange=function(){request.readyState>3&&respond();};function respond(){var status=request.status,result;if(!status&&d3_xhrHasResponse(request)||status>=200&&status<300||status===304){try{result=response.call(xhr,request);}catch(e){dispatch.error.call(xhr,e);return;}
1120dispatch.load.call(xhr,result);}else{dispatch.error.call(xhr,request);}}
1121request.onprogress=function(event){var o=d3.event;d3.event=event;try{dispatch.progress.call(xhr,request);}finally{d3.event=o;}};xhr.header=function(name,value){name=(name+"").toLowerCase();if(arguments.length<2)return headers[name];if(value==null)delete headers[name];else headers[name]=value+"";return xhr;};xhr.mimeType=function(value){if(!arguments.length)return mimeType;mimeType=value==null?null:value+"";return xhr;};xhr.responseType=function(value){if(!arguments.length)return responseType;responseType=value;return xhr;};xhr.response=function(value){response=value;return xhr;};["get","post"].forEach(function(method){xhr[method]=function(){return xhr.send.apply(xhr,[method].concat(d3_array(arguments)));};});xhr.send=function(method,data,callback){if(arguments.length===2&&typeof data==="function")callback=data,data=null;request.open(method,url,true);if(mimeType!=null&&!("accept"in headers))headers["accept"]=mimeType+",*/*";if(request.setRequestHeader)for(var name in headers)request.setRequestHeader(name,headers[name]);if(mimeType!=null&&request.overrideMimeType)request.overrideMimeType(mimeType);if(responseType!=null)request.responseType=responseType;if(callback!=null)xhr.on("error",callback).on("load",function(request){callback(null,request);});dispatch.beforesend.call(xhr,request);request.send(data==null?null:data);return xhr;};xhr.abort=function(){request.abort();return xhr;};d3.rebind(xhr,dispatch,"on");return callback==null?xhr:xhr.get(d3_xhr_fixCallback(callback));}
1122function d3_xhr_fixCallback(callback){return callback.length===1?function(error,request){callback(error==null?request:null);}:callback;}
1123function d3_xhrHasResponse(request){var type=request.responseType;return type&&type!=="text"?request.response:request.responseText;}
1124d3.dsv=function(delimiter,mimeType){var reFormat=new RegExp('["'+delimiter+"\n]"),delimiterCode=delimiter.charCodeAt(0);function dsv(url,row,callback){if(arguments.length<3)callback=row,row=null;var xhr=d3_xhr(url,mimeType,row==null?response:typedResponse(row),callback);xhr.row=function(_){return arguments.length?xhr.response((row=_)==null?response:typedResponse(_)):row;};return xhr;}
1125function response(request){return dsv.parse(request.responseText);}
1126function typedResponse(f){return function(request){return dsv.parse(request.responseText,f);};}
1127dsv.parse=function(text,f){var o;return dsv.parseRows(text,function(row,i){if(o)return o(row,i-1);var a=new Function("d","return {"+row.map(function(name,i){return JSON.stringify(name)+": d["+i+"]";}).join(",")+"}");o=f?function(row,i){return f(a(row),i);}:a;});};dsv.parseRows=function(text,f){var EOL={},EOF={},rows=[],N=text.length,I=0,n=0,t,eol;function token(){if(I>=N)return EOF;if(eol)return eol=false,EOL;var j=I;if(text.charCodeAt(j)===34){var i=j;while(i++<N){if(text.charCodeAt(i)===34){if(text.charCodeAt(i+1)!==34)break;++i;}}
1128I=i+2;var c=text.charCodeAt(i+1);if(c===13){eol=true;if(text.charCodeAt(i+2)===10)++I;}else if(c===10){eol=true;}
1129return text.slice(j+1,i).replace(/""/g,'"');}
1130while(I<N){var c=text.charCodeAt(I++),k=1;if(c===10)eol=true;else if(c===13){eol=true;if(text.charCodeAt(I)===10)++I,++k;}else if(c!==delimiterCode)continue;return text.slice(j,I-k);}
1131return text.slice(j);}
1132while((t=token())!==EOF){var a=[];while(t!==EOL&&t!==EOF){a.push(t);t=token();}
1133if(f&&(a=f(a,n++))==null)continue;rows.push(a);}
1134return rows;};dsv.format=function(rows){if(Array.isArray(rows[0]))return dsv.formatRows(rows);var fieldSet=new d3_Set(),fields=[];
1134rows.forEach(function(row){for(var field in row){if(!fieldSet.has(field)){fields.push(fieldSet.add(field));}}});return[fields.map(formatValue).join(delimiter)].concat(rows.map(function(row){return fields.map(function(field){return formatValue(row[field]);}).join(delimiter);})).join("\n");};dsv.formatRows=function(rows){return rows.map(formatRow).join("\n");};function formatRow(row){return row.map(formatValue).join(delimiter);}
1135function formatValue(text){return reFormat.test(text)?'"'+text.replace(/\"/g,'""')+'"':text;}
1136return dsv;};d3.csv=d3.dsv(",","text/csv");d3.tsv=d3.dsv("	","text/tab-separated-values");var d3_timer_queueHead,d3_timer_queueTail,d3_timer_interval,d3_timer_timeout,d3_timer_active,d3_timer_frame=this[d3_vendorSymbol(this,"requestAnimationFrame")]||function(callback){setTimeout(callback,17);};d3.timer=function(callback,delay,then){var n=arguments.length;if(n<2)delay=0;if(n<3)then=Date.now();var time=then+delay,timer={c:callback,t:time,f:false,n:null};if(d3_timer_queueTail)d3_timer_queueTail.n=timer;else d3_timer_queueHead=timer;d3_timer_queueTail=timer;if(!d3_timer_interval){d3_timer_timeout=clearTimeout(d3_timer_timeout);d3_timer_interval=1;d3_timer_frame(d3_timer_step);}};function d3_timer_step(){var now=d3_timer_mark(),delay=d3_timer_sweep()-now;if(delay>24){if(isFinite(delay)){clearTimeout(d3_timer_timeout);d3_timer_timeout=setTimeout(d3_timer_step,delay);}
1137d3_timer_interval=0;}else{d3_timer_interval=1;d3_timer_frame(d3_timer_step);}}
1138d3.timer.flush=function(){d3_timer_mark();d3_timer_sweep();};function d3_timer_mark(){var now=Date.now();d3_timer_active=d3_timer_queueHead;while(d3_timer_active){if(now>=d3_timer_active.t)d3_timer_active.f=d3_timer_active.c(now-d3_timer_active.t);d3_timer_active=d3_timer_active.n;}
1139return now;}
1140function d3_timer_sweep(){var t0,t1=d3_timer_queueHead,time=Infinity;while(t1){if(t1.f){t1=t0?t0.n=t1.n:d3_timer_queueHead=t1.n;}else{if(t1.t<time)time=t1.t;t1=(t0=t1).n;}}
1141d3_timer_queueTail=t0;return time;}
1142function d3_format_precision(x,p){return p-(x?Math.ceil(Math.log(x)/Math.LN10):1);}
1143d3.round=function(x,n){return n?Math.round(x*(n=Math.pow(10,n)))/n:Math.round(x);};var d3_formatPrefixes=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"].map(d3_formatPrefix);d3.formatPrefix=function(value,precision){var i=0;if(value){if(value<0)value*=-1;if(precision)value=d3.round(value,d3_format_precision(value,precision));i=1+Math.floor(1e-12+Math.log(value)/Math.LN10);i=Math.max(-24,Math.min(24,Math.floor((i-1)/3)*3));}
1144return d3_formatPrefixes[8+i/3];};function d3_formatPrefix(d,i){var k=Math.pow(10,abs(8-i)*3);return{scale:i>8?function(d){return d/k;}:function(d){return d*k;},symbol:d};}
1145function d3_locale_numberFormat(locale){var locale_decimal=locale.decimal,locale_thousands=locale.thousands,locale_grouping=locale.grouping,locale_currency=locale.currency,formatGroup=locale_grouping&&locale_thousands?function(value,width){var i=value.length,t=[],j=0,g=locale_grouping[0],length=0;while(i>0&&g>0){if(length+g+1>width)g=Math.max(1,width-length);t.push(value.substring(i-=g,i+g));if((length+=g+1)>width)break;g=locale_grouping[j=(j+1)%locale_grouping.length];}
1146return t.reverse().join(locale_thousands);}:d3_identity;return function(specifier){var match=d3_format_re.exec(specifier),fill=match[1]||" ",align=match[2]||">",sign=match[3]||"-",symbol=match[4]||"",zfill=match[5],width=+match[6],comma=match[7],precision=match[8],type=match[9],scale=1,prefix="",suffix="",integer=false,exponent=true;if(precision)precision=+precision.substring(1);if(zfill||fill==="0"&&align==="="){zfill=fill="0";align="=";}
1147switch(type){case"n":comma=true;type="g";break;case"%":scale=100;suffix="%";type="f";break;case"p":scale=100;suffix="%";type="r";break;case"b":case"o":case"x":case"X":if(symbol==="#")prefix="0"+type.toLowerCase();case"c":exponent=false;case"d":integer=true;precision=0;break;case"s":scale=-1;type="r";break;}
1148if(symbol==="$")prefix=locale_currency[0],suffix=locale_currency[1];if(type=="r"&&!precision)type="g";if(precision!=null){if(type=="g")precision=Math.max(1,Math.min(21,precision));else if(type=="e"||type=="f")precision=Math.max(0,Math.min(20,precision));}
1149type=d3_format_types.get(type)||d3_format_typeDefault;var zcomma=zfill&&comma;return function(value){var fullSuffix=suffix;if(integer&&value%1)return"";var negative=value<0||value===0&&1/value<0?(value=-value,"-"):sign==="-"?"":sign;if(scale<0){var unit=d3.formatPrefix(value,precision);value=unit.scale(value);fullSuffix=unit.symbol+suffix;}else{value*=scale;}
1150value=type(value,precision);var i=value.lastIndexOf("."),before,after;if(i<0){var j=exponent?value.lastIndexOf("e"):-1;if(j<0)before=value,after="";else before=value.substring(0,j),after=value.substring(j);}else{before=value.substring(0,i);after=locale_decimal+value.substring(i+1);}
1151if(!zfill&&comma)before=formatGroup(before,Infinity);var length=prefix.length+before.length+after.length+(zcomma?0:negative.length),padding=length<width?new Array(length=width-length+1).join(fill):"";if(zcomma)before=formatGroup(padding+before,padding.length?width-after.length:Infinity);negative+=prefix;value=before+after;return(align==="<"?negative+value+padding:align===">"?padding+negative+value:align==="^"?padding.substring(0,length>>=1)+negative+value+padding.substring(length):negative+(zcomma?value:padding+value))+fullSuffix;};};}
1152var d3_format_re=/(?:([^{])?([<>=^]))?([+\- ])?([$#])?(0)?(\d+)?(,)?(\.-?\d+)?([a-z%])?/i;var d3_format_types=d3.map({b:function(x){return x.toString(2);},c:function(x){return String.fromCharCode(x);},o:function(x){return x.toString(8);},x:function(x){return x.toString(16);},X:function(x){return x.toString(16).toUpperCase();},g:function(x,p){return x.toPrecision(p);},e:function(x,p){return x.toExponential(p);},f:function(x,p){return x.toFixed(p);},r:function(x,p){return(x=d3.round(x,d3_format_precision(x,p))).toFixed(Math.max(0,Math.min(20,d3_format_precision(x*(1+1e-15),p))));}});function d3_format_typeDefault(x){return x+"";}
1153var d3_time=d3.time={},d3_date=Date;function d3_date_utc(){this._=new Date(arguments.length>1?Date.UTC.apply(this,arguments):arguments[0]);}
1154d3_date_utc.prototype={getDate:function(){return this._.getUTCDate();},getDay:function(){return this._.getUTCDay();},getFullYear:function(){return this._.getUTCFullYear();},getHours:function(){return this._.getUTCHours();},getMilliseconds:function(){return this._.getUTCMilliseconds();},getMinutes:function(){return this._.getUTCMinutes();},getMonth:function(){return this._.getUTCMonth();},getSeconds:function(){return this._.getUTCSeconds();},getTime:function(){return this._.getTime();},getTimezoneOffset:function(){return 0;}
1154,valueOf:function(){return this._.valueOf();},setDate:function(){d3_time_prototype.setUTCDate.apply(this._,arguments);},setDay:function(){d3_time_prototype.setUTCDay.apply(this._,arguments);},setFullYear:function(){d3_time_prototype.setUTCFullYear.apply(this._,arguments);},setHours:function(){d3_time_prototype.setUTCHours.apply(this._,arguments);},setMilliseconds:function(){d3_time_prototype.setUTCMilliseconds.apply(this._,arguments);},setMinutes:function(){d3_time_prototype.setUTCMinutes.apply(this._,arguments);},setMonth:function(){d3_time_prototype.setUTCMonth.apply(this._,arguments);},setSeconds:function(){d3_time_prototype.setUTCSeconds.apply(this._,arguments);},setTime:function(){d3_time_prototype.setTime.apply(this._,arguments);}};var d3_time_prototype=Date.prototype;function d3_time_interval(local,step,number){function round(date){var d0=local(date),d1=offset(d0,1);return date-d0<d1-date?d0:d1;}
1155function ceil(date){step(date=local(new d3_date(date-1)),1);return date;}
1156function offset(date,k){step(date=new d3_date(+date),k);return date;}
1157function range(t0,t1,dt){var time=ceil(t0),times=[];if(dt>1){while(time<t1){if(!(number(time)%dt))times.push(new Date(+time));step(time,1);}}else{while(time<t1)times.push(new Date(+time)),step(time,1);}
1158return times;}
1159function range_utc(t0,t1,dt){try{d3_date=d3_date_utc;var utc=new d3_date_utc();utc._=t0;return range(utc,t1,dt);}finally{d3_date=Date;}}
1160local.floor=local;local.round=round;local.ceil=ceil;local.offset=offset;local.range=range;var utc=local.utc=d3_time_interval_utc(local);utc.floor=utc;utc.round=d3_time_interval_utc(round);utc.ceil=d3_time_interval_utc(ceil);utc.offset=d3_time_interval_utc(offset);utc.range=range_utc;return local;}
1161function d3_time_interval_utc(method){return function(date,k){try{d3_date=d3_date_utc;var utc=new d3_date_utc();utc._=date;return method(utc,k)._;}finally{d3_date=Date;}};}
1162d3_time.year=d3_time_interval(function(date){date=d3_time.day(date);date.setMonth(0,1);return date;},function(date,offset){date.setFullYear(date.getFullYear()+offset);},function(date){return date.getFullYear();});d3_time.years=d3_time.year.range;d3_time.years.utc=d3_time.year.utc.range;d3_time.day=d3_time_interval(function(date){var day=new d3_date(2e3,0);day.setFullYear(date.getFullYear(),date.getMonth(),date.getDate());return day;},function(date,offset){date.setDate(date.getDate()+offset);},function(date){return date.getDate()-1;});d3_time.days=d3_time.day.range;d3_time.days.utc=d3_time.day.utc.range;d3_time.dayOfYear=function(date){var year=d3_time.year(date);return Math.floor((date-year-(date.getTimezoneOffset()-year.getTimezoneOffset())*6e4)/864e5);};["sunday","monday","tuesday","wednesday","thursday","friday","saturday"].forEach(function(day,i){i=7-i;var interval=d3_time[day]=d3_time_interval(function(date){(date=d3_time.day(date)).setDate(date.getDate()-(date.getDay()+i)%7);return date;},function(date,offset){date.setDate(date.getDate()+Math.floor(offset)*7);},function(date){var day=d3_time.year(date).getDay();return Math.floor((d3_time.dayOfYear(date)+(day+i)%7)/7)-(day!==i);});d3_time[day+"s"]=interval.range;d3_time[day+"s"].utc=interval.utc.range;d3_time[day+"OfYear"]=function(date){var day=d3_time.year(date).getDay();return Math.floor((d3_time.dayOfYear(date)+(day+i)%7)/7);};});d3_time.week=d3_time.sunday;d3_time.weeks=d3_time.sunday.range;d3_time.weeks.utc=d3_time.sunday.utc.range;d3_time.weekOfYear=d3_time.sundayOfYear;function d3_locale_timeFormat(locale){var locale_dateTime=locale.dateTime,locale_date=locale.date,locale_time=locale.time,locale_periods=locale.periods,locale_days=locale.days,locale_shortDays=locale.shortDays,locale_months=locale.months,locale_shortMonths=locale.shortMonths;function d3_time_format(template){var n=template.length;function format(date){var string=[],i=-1,j=0,c,p,f;while(++i<n){if(template.charCodeAt(i)===37){string.push(template.slice(j,i));if((p=d3_time_formatPads[c=template.charAt(++i)])!=null)c=template.charAt(++i);if(f=d3_time_formats[c])c=f(date,p==null?c==="e"?" ":"0":p);string.push(c);j=i+1;}}
1163string.push(template.slice(j,i));return string.join("");}
1164format.parse=function(string){var d={y:1900,m:0,d:1,H:0,M:0,S:0,L:0,Z:null},i=d3_time_parse(d,template,string,0);if(i!=string.length)return null;if("p"in d)d.H=d.H%12+d.p*12;var localZ=d.Z!=null&&d3_date!==d3_date_utc,date=new(localZ?d3_date_utc:d3_date)();if("j"in d)date.setFullYear(d.y,0,d.j);else if("w"in d&&("W"in d||"U"in d)){date.setFullYear(d.y,0,1);date.setFullYear(d.y,0,"W"in d?(d.w+6)%7+d.W*7-(date.getDay()+5)%7:d.w+d.U*7-(date.getDay()+6)%7);}else date.setFullYear(d.y,d.m,d.d);date.setHours(d.H+(d.Z/100|0),d.M+d.Z%100,d.S,d.L);return localZ?date._:date;};format.toString=function(){return template;};return format;}
1165function d3_time_parse(date,template,string,j){var c,p,t,i=0,n=template.length,m=string.length;while(i<n){if(j>=m)return-1;c=template.charCodeAt(i++);if(c===37){t=template.charAt(i++);p=d3_time_parsers[t in d3_time_formatPads?template.charAt(i++):t];if(!p||(j=p(date,string,j))<0)return-1;}else if(c!=string.charCodeAt(j++)){return-1;}}
1166return j;}
1167d3_time_format.utc=function(template){var local=d3_time_format(template);function format(date){try{d3_date=d3_date_utc;var utc=new d3_date();utc._=date;return local(utc);}finally{d3_date=Date;}}
1168format.parse=function(string){try{d3_date=d3_date_utc;var date=local.parse(string);return date&&date._;}finally{d3_date=Date;}};format.toString=local.toString;return format;};d3_time_format.multi=d3_time_format.utc.multi=d3_time_formatMulti;var d3_time_periodLookup=d3.map(),d3_time_dayRe=d3_time_formatRe(locale_days),d3_time_dayLookup=d3_time_formatLookup(locale_days),d3_time_dayAbbrevRe=d3_time_formatRe(locale_shortDays),d3_time_dayAbbrevLookup=d3_time_formatLookup(locale_shortDays),d3_time_monthRe=d3_time_formatRe(locale_months),d3_time_monthLookup=d3_time_formatLookup(locale_months),d3_time_monthAbbrevRe=d3_time_formatRe(locale_shortMonths),d3_time_monthAbbrevLookup=d3_time_formatLookup(locale_shortMonths);locale_periods.forEach(function(p,i){d3_time_periodLookup.set(p.toLowerCase(),i);});var d3_time_formats={a:function(d){return locale_shortDays[d.getDay()];},A:function(d){return locale_days[d.getDay()];},b:function(d){return locale_shortMonths[d.getMonth()];},B:function(d){return locale_months[d.getMonth()];},c:d3_time_format(locale_dateTime),d:function(d,p){return d3_time_formatPad(d.getDate(),p,2);},e:function(d,p){return d3_time_formatPad(d.getDate(),p,2);},H:function(d,p){return d3_time_formatPad(d.getHours(),p,2);},I:function(d,p){return d3_time_formatPad(d.getHours()%12||12,p,2);},j:function(d,p){return d3_time_formatPad(1+d3_time.dayOfYear(d),p,3);},L:function(d,p){return d3_time_formatPad(d.getMilliseconds(),p,3);},m:function(d,p){return d3_time_formatPad(d.getMonth()+1,p,2);},M:function(d,p){return d3_time_formatPad(d.getMinutes(),p,2);},p:function(d){return locale_periods[+(d.getHours()>=12)];},S:function(d,p){return d3_time_formatPad(d.getSeconds(),p,2);},U:function(d,p){return d3_time_formatPad(d3_time.sundayOfYear(d),p,2);},w:function(d){return d.getDay();},W:function(d,p){return d3_time_formatPad(d3_time.mondayOfYear(d),p,2);},x:d3_time_format(locale_date),X:d3_time_format(locale_time),y:function(d,p){return d3_time_formatPad(d.getFullYear()%100,p,2);},Y:function(d,p){return d3_time_formatPad(d.getFullYear()%1e4,p,4);},Z:d3_time_zone,"%":function(){return"%";}};var d3_time_parsers={a:d3_time_parseWeekdayAbbrev,A:d3_time_parseWeekday,b:d3_time_parseMonthAbbrev,B:d3_time_parseMonth,c:d3_time_parseLocaleFull,d:d3_time_parseDay,e:d3_time_parseDay,H:d3_time_parseHour24,I:d3_time_parseHour24,j:d3_time_parseDayOfYear,L:d3_time_parseMilliseconds,m:d3_time_parseMonthNumber,M:d3_time_parseMinutes,p:d3_time_parseAmPm,S:d3_time_parseSeconds,U:d3_time_parseWeekNumberSunday,w:d3_time_parseWeekdayNumber,W:
1168d3_time_parseWeekNumberMonday,x:d3_time_parseLocaleDate,X:d3_time_parseLocaleTime,y:d3_time_parseYear,Y:d3_time_parseFullYear,Z:d3_time_parseZone,"%":d3_time_parseLiteralPercent};function d3_time_parseWeekdayAbbrev(date,string,i){d3_time_dayAbbrevRe.lastIndex=0;var n=d3_time_dayAbbrevRe.exec(string.slice(i));return n?(date.w=d3_time_dayAbbrevLookup.get(n[0].toLowerCase()),i+n[0].length):-1;}
1169function d3_time_parseWeekday(date,string,i){d3_time_dayRe.lastIndex=0;var n=d3_time_dayRe.exec(string.slice(i));return n?(date.w=d3_time_dayLookup.get(n[0].toLowerCase()),i+n[0].length):-1;}
1170function d3_time_parseMonthAbbrev(date,string,i){d3_time_monthAbbrevRe.lastIndex=0;var n=d3_time_monthAbbrevRe.exec(string.slice(i));return n?(date.m=d3_time_monthAbbrevLookup.get(n[0].toLowerCase()),i+n[0].length):-1;}
1171function d3_time_parseMonth(date,string,i){d3_time_monthRe.lastIndex=0;var n=d3_time_monthRe.exec(string.slice(i));return n?(date.m=d3_time_monthLookup.get(n[0].toLowerCase()),i+n[0].length):-1;}
1172function d3_time_parseLocaleFull(date,string,i){return d3_time_parse(date,d3_time_formats.c.toString(),string,i);}
1173function d3_time_parseLocaleDate(date,string,i){return d3_time_parse(date,d3_time_formats.x.toString(),string,i);}
1174function d3_time_parseLocaleTime(date,string,i){return d3_time_parse(date,d3_time_formats.X.toString(),string,i);}
1175function d3_time_parseAmPm(date,string,i){var n=d3_time_periodLookup.get(string.slice(i,i+=2).toLowerCase());return n==null?-1:(date.p=n,i);}
1176return d3_time_format;}
1177var d3_time_formatPads={"-":"",_:" ","0":"0"},d3_time_numberRe=/^\s*\d+/,d3_time_percentRe=/^%/;function d3_time_formatPad(value,fill,width){var sign=value<0?"-":"",string=(sign?-value:value)+"",length=string.length;return sign+(length<width?new Array(width-length+1).join(fill)+string:string);}
1178function d3_time_formatRe(names){return new RegExp("^(?:"+names.map(d3.requote).join("|")+")","i");}
1179function d3_time_formatLookup(names){var map=new d3_Map(),i=-1,n=names.length;while(++i<n)map.set(names[i].toLowerCase(),i);return map;}
1180function d3_time_parseWeekdayNumber(date,string,i){d3_time_numberRe.lastIndex=0;var n=d3_time_numberRe.exec(string.slice(i,i+1));return n?(date.w=+n[0],i+n[0].length):-1;}
1181function d3_time_parseWeekNumberSunday(date,string,i){d3_time_numberRe.lastIndex=0;var n=d3_time_numberRe.exec(string.slice(i));return n?(date.U=+n[0],i+n[0].length):-1;}
1182function d3_time_parseWeekNumberMonday(date,string,i){d3_time_numberRe.lastIndex=0;var n=d3_time_numberRe.exec(string.slice(i));return n?(date.W=+n[0],i+n[0].length):-1;}
1183function d3_time_parseFullYear(date,string,i){d3_time_numberRe.lastIndex=0;var n=d3_time_numberRe.exec(string.slice(i,i+4));return n?(date.y=+n[0],i+n[0].length):-1;}
1184function d3_time_parseYear(date,string,i){d3_time_numberRe.lastIndex=0;var n=d3_time_numberRe.exec(string.slice(i,i+2));return n?(date.y=d3_time_expandYear(+n[0]),i+n[0].length):-1;}
1185function d3_time_parseZone(date,string,i){return/^[+-]\d{4}$/.test(string=string.slice(i,i+5))?(date.Z=-string,i+5):-1;}
1186function d3_time_expandYear(d){return d+(d>68?1900:2e3);}
1187function d3_time_parseMonthNumber(date,string,i){d3_time_numberRe.lastIndex=0;var n=d3_time_numberRe.exec(string.slice(i,i+2));return n?(date.m=n[0]-1,i+n[0].length):-1;}
1188function d3_time_parseDay(date,string,i){d3_time_numberRe.lastIndex=0;var n=d3_time_numberRe.exec(string.slice(i,i+2));return n?(date.d=+n[0],i+n[0].length):-1;}
1189function d3_time_parseDayOfYear(date,string,i){d3_time_numberRe.lastIndex=0;var n=d3_time_numberRe.exec(string.slice(i,i+3));return n?(date.j=+n[0],i+n[0].length):-1;}
1190function d3_time_parseHour24(date,string,i){d3_time_numberRe.lastIndex=0;var n=d3_time_numberRe.exec(string.slice(i,i+2));return n?(date.H=+n[0],i+n[0].length):-1;}
1191function d3_time_parseMinutes(date,string,i){d3_time_numberRe.lastIndex=0;var n=d3_time_numberRe.exec(string.slice(i,i+2));return n?(date.M=+n[0],i+n[0].length):-1;}
1192function d3_time_parseSeconds(date,string,i){d3_time_numberRe.lastIndex=0;var n=d3_time_numberRe.exec(string.slice(i,i+2));return n?(date.S=+n[0],i+n[0].length):-1;}
1193function d3_time_parseMilliseconds(date,string,i){d3_time_numberRe.lastIndex=0;var n=d3_time_numberRe.exec(string.slice(i,i+3));return n?(date.L=+n[0],i+n[0].length):-1;}
1194function d3_time_zone(d){var z=d.getTimezoneOffset(),zs=z>0?"-":"+",zh=abs(z)/60|0,zm=abs(z)%60;return zs+d3_time_formatPad(zh,"0",2)+d3_time_formatPad(zm,"0",2);}
1195function d3_time_parseLiteralPercent(date,string,i){d3_time_percentRe.lastIndex=0;var n=d3_time_percentRe.exec(string.slice(i,i+1));return n?i+n[0].length:-1;}
1196function d3_time_formatMulti(formats){var n=formats.length,i=-1;while(++i<n)formats[i][0]=this(formats[i][0]);return function(date){var i=0,f=formats[i];while(!f[1](date))f=formats[++i];return f[0](date);};}
1197d3.locale=function(locale){return{numberFormat:d3_locale_numberFormat(locale),timeFormat:d3_locale_timeFormat(locale)};};var d3_locale_enUS=d3.locale({decimal:".",thousands:",",grouping:[3],currency:["$",""],dateTime:"%a %b %e %X %Y",date:"%m/%d/%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Frid
1197ay","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});d3.format=d3_locale_enUS.numberFormat;d3.geo={};function d3_adder(){}
1198d3_adder.prototype={s:0,t:0,add:function(y){d3_adderSum(y,this.t,d3_adderTemp);d3_adderSum(d3_adderTemp.s,this.s,this);if(this.s)this.t+=d3_adderTemp.t;else this.s=d3_adderTemp.t;},reset:function(){this.s=this.t=0;},valueOf:function(){return this.s;}};var d3_adderTemp=new d3_adder();function d3_adderSum(a,b,o){var x=o.s=a+b,bv=x-a,av=x-bv;o.t=a-av+(b-bv);}
1199d3.geo.stream=function(object,listener){if(object&&d3_geo_streamObjectType.hasOwnProperty(object.type)){d3_geo_streamObjectType[object.type](object,listener);}else{d3_geo_streamGeometry(object,listener);}};function d3_geo_streamGeometry(geometry,listener){if(geometry&&d3_geo_streamGeometryType.hasOwnProperty(geometry.type)){d3_geo_streamGeometryType[geometry.type](geometry,listener);}}
1200var d3_geo_streamObjectType={Feature:function(feature,listener){d3_geo_streamGeometry(feature.geometry,listener);},FeatureCollection:function(object,listener){var features=object.features,i=-1,n=features.length;while(++i<n)d3_geo_streamGeometry(features[i].geometry,listener);}};var d3_geo_streamGeometryType={Sphere:function(object,listener){listener.sphere();},Point:function(object,listener){object=object.coordinates;listener.point(object[0],object[1],object[2]);},MultiPoint:function(object,listener){var coordinates=object.coordinates,i=-1,n=coordinates.length;while(++i<n)object=coordinates[i],listener.point(object[0],object[1],object[2]);},LineString:function(object,listener){d3_geo_streamLine(object.coordinates,listener,0);},MultiLineString:function(object,listener){var coordinates=object.coordinates,i=-1,n=coordinates.length;while(++i<n)d3_geo_streamLine(coordinates[i],listener,0);},Polygon:function(object,listener){d3_geo_streamPolygon(object.coordinates,listener);},MultiPolygon:function(object,listener){var coordinates=object.coordinates,i=-1,n=coordinates.length;while(++i<n)d3_geo_streamPolygon(coordinates[i],listener);},GeometryCollection:function(object,listener){var geometries=object.geometries,i=-1,n=geometries.length;while(++i<n)d3_geo_streamGeometry(geometries[i],listener);}};function d3_geo_streamLine(coordinates,listener,closed){var i=-1,n=coordinates.length-closed,coordinate;listener.lineStart();while(++i<n)coordinate=coordinates[i],listener.point(coordinate[0],coordinate[1],coordinate[2]);listener.lineEnd();}
1201function d3_geo_streamPolygon(coordinates,listener){var i=-1,n=coordinates.length;listener.polygonStart();while(++i<n)d3_geo_streamLine(coordinates[i],listener,1);listener.polygonEnd();}
1202d3.geo.area=function(object){d3_geo_areaSum=0;d3.geo.stream(object,d3_geo_area);return d3_geo_areaSum;};var d3_geo_areaSum,d3_geo_areaRingSum=new d3_adder();var d3_geo_area={sphere:function(){d3_geo_areaSum+=4*π;},point:d3_noop,lineStart:d3_noop,lineEnd:d3_noop,polygonStart:function(){d3_geo_areaRingSum.reset();d3_geo_area.lineStart=d3_geo_areaRingStart;},polygonEnd:function(){var area=2*d3_geo_areaRingSum;d3_geo_areaSum+=area<0?4*π+area:area;d3_geo_area.lineStart=d3_geo_area.lineEnd=d3_geo_area.point=d3_noop;}};function d3_geo_areaRingStart(){var λ00,φ00,λ0,cosφ0,sinφ0;d3_geo_area.point=function(λ,φ){d3_geo_area.point=nextPoint;λ0=(λ00=λ)*d3_radians,cosφ0=Math.cos(φ=(φ00=φ)*d3_radians/2+π/4),sinφ0=Math.sin(φ);};function nextPoint(λ,φ){λ*=d3_radians;φ=φ*d3_radians/2+π/4;var dλ=λ-λ0,sdλ=dλ>=0?1:-1,adλ=sdλ*dλ,cosφ=Math.cos(φ),sinφ=Math.sin(φ),k=sinφ0*sinφ,u=cosφ0*cosφ+k*Math.cos(adλ),v=k*sdλ*Math.sin(adλ);d3_geo_areaRingSum.add(Math.atan2(v,u));λ0=λ,cosφ0=cosφ,sinφ0=sinφ;}
1203d3_geo_area.lineEnd=function(){nextPoint(λ00,φ00);};}
1204function d3_geo_cartesian(spherical){var λ=spherical[0],φ=spherical[1],cosφ=Math.cos(φ);return[cosφ*Math.cos(λ),cosφ*Math.sin(λ),Math.sin(φ)];}
1205function d3_geo_cartesianDot(a,b){return a[0]*b[0]+a[1]*b[1]+a[2]*b[2];}
1206function d3_geo_cartesianCross(a,b){return[a[1]*b[2]-a[2]*b[1],a[2]*b[0]-a[0]*b[2],a[0]*b[1]-a[1]
1206*b[0]];}
1207function d3_geo_cartesianAdd(a,b){a[0]+=b[0];a[1]+=b[1];a[2]+=b[2];}
1208function d3_geo_cartesianScale(vector,k){return[vector[0]*k,vector[1]*k,vector[2]*k];}
1209function d3_geo_cartesianNormalize(d){var l=Math.sqrt(d[0]*d[0]+d[1]*d[1]+d[2]*d[2]);d[0]/=l;d[1]/=l;d[2]/=l;}
1210function d3_geo_spherical(cartesian){return[Math.atan2(cartesian[1],cartesian[0]),d3_asin(cartesian[2])];}
1211function d3_geo_sphericalEqual(a,b){return abs(a[0]-b[0])<ε&&abs(a[1]-b[1])<ε;}
1212d3.geo.bounds=function(){var λ0,φ0,λ1,φ1,λ_,λ__,φ__,p0,dλSum,ranges,range;var bound={point:point,lineStart:lineStart,lineEnd:lineEnd,polygonStart:function(){bound.point=ringPoint;bound.lineStart=ringStart;bound.lineEnd=ringEnd;dλSum=0;d3_geo_area.polygonStart();},polygonEnd:function(){d3_geo_area.polygonEnd();bound.point=point;bound.lineStart=lineStart;bound.lineEnd=lineEnd;if(d3_geo_areaRingSum<0)λ0=-(λ1=180),φ0=-(φ1=90);else if(dλSum>ε)φ1=90;else if(dλSum<-ε)φ0=-90;range[0]=λ0,range[1]=λ1;}};function point(λ,φ){ranges.push(range=[λ0=λ,λ1=λ]);if(φ<φ0)φ0=φ;if(φ>φ1)φ1=φ;}
1213function linePoint(λ,φ){var p=d3_geo_cartesian([λ*d3_radians,φ*d3_radians]);if(p0){var normal=d3_geo_cartesianCross(p0,p),equatorial=[normal[1],-normal[0],0],inflection=d3_geo_cartesianCross(equatorial,normal);d3_geo_cartesianNormalize(inflection);inflection=d3_geo_spherical(inflection);var dλ=λ-λ_,s=dλ>0?1:-1,λi=inflection[0]*d3_degrees*s,antimeridian=abs(dλ)>180;if(antimeridian^(s*λ_<λi&&λi<s*λ)){var φi=inflection[1]*d3_degrees;if(φi>φ1)φ1=φi;}else if(λi=(λi+360)%360-180,antimeridian^(s*λ_<λi&&λi<s*λ)){var φi=-inflection[1]*d3_degrees;if(φi<φ0)φ0=φi;}else{if(φ<φ0)φ0=φ;if(φ>φ1)φ1=φ;}
1214if(antimeridian){if(λ<λ_){if(angle(λ0,λ)>angle(λ0,λ1))λ1=λ;}else{if(angle(λ,λ1)>angle(λ0,λ1))λ0=λ;}}else{if(λ1>=λ0){if(λ<λ0)λ0=λ;if(λ>λ1)λ1=λ;}else{if(λ>λ_){if(angle(λ0,λ)>angle(λ0,λ1))λ1=λ;}else{if(angle(λ,λ1)>angle(λ0,λ1))λ0=λ;}}}}else{point(λ,φ);}
1215p0=p,λ_=λ;}
1216function lineStart(){bound.point=linePoint;}
1217function lineEnd(){range[0]=λ0,range[1]=λ1;bound.point=point;p0=null;}
1218function ringPoint(λ,φ){if(p0){var dλ=λ-λ_;dλSum+=abs(dλ)>180?dλ+(dλ>0?360:-360):dλ;}else λ__=λ,φ__=φ;d3_geo_area.point(λ,φ);linePoint(λ,φ);}
1219function ringStart(){d3_geo_area.lineStart();}
1220function ringEnd(){ringPoint(λ__,φ__);d3_geo_area.lineEnd();if(abs(dλSum)>ε)λ0=-(λ1=180);range[0]=λ0,range[1]=λ1;p0=null;}
1221function angle(λ0,λ1){return(λ1-=λ0)<0?λ1+360:λ1;}
1222function compareRanges(a,b){return a[0]-b[0];}
1223function withinRange(x,range){return range[0]<=range[1]?range[0]<=x&&x<=range[1]:x<range[0]||range[1]<x;}
1224return function(feature){φ1=λ1=-(λ0=φ0=Infinity);ranges=[];d3.geo.stream(feature,bound);var n=ranges.length;if(n){ranges.sort(compareRanges);for(var i=1,a=ranges[0],b,merged=[a];i<n;++i){b=ranges[i];if(withinRange(b[0],a)||withinRange(b[1],a)){if(angle(a[0],b[1])>angle(a[0],a[1]))a[1]=b[1];if(angle(b[0],a[1])>angle(a[0],a[1]))a[0]=b[0];}else{merged.push(a=b);}}
1225var best=-Infinity,dλ;for(var n=merged.length-1,i=0,a=merged[n],b;i<=n;a=b,++i){b=merged[i];if((dλ=angle(a[1],b[0]))>best)best=dλ,λ0=b[0],λ1=a[1];}}
1226ranges=range=null;return λ0===Infinity||φ0===Infinity?[[NaN,NaN],[NaN,NaN]]:[[λ0,φ0],[λ1,φ1]];};}();d3.geo.centroid=function(object){d3_geo_centroidW0=d3_geo_centroidW1=d3_geo_centroidX0=d3_geo_centroidY0=d3_geo_centroidZ0=d3_geo_centroidX1=d3_geo_centroidY1=d3_geo_centroidZ1=d3_geo_centroidX2=d3_geo_centroidY2=d3_geo_centroidZ2=0;d3.geo.stream(object,d3_geo_centroid);var x=d3_geo_centroidX2,y=d3_geo_centroidY2,z=d3_geo_centroidZ2,m=x*x+y*y+z*z;if(m<ε2){x=d3_geo_centroidX1,y=d3_geo_centroidY1,z=d3_geo_centroidZ1;if(d3_geo_centroidW1<ε)x=d3_geo_centroidX0,y=d3_geo_centroidY0,z=d3_geo_centroidZ0;m=x*x+y*y+z*z;if(m<ε2)return[NaN,NaN];}
1227return[Math.atan2(y,x)*d3_degrees,d3_asin(z/Math.sqrt(m))*d3_degrees];};var d3_geo_centroidW0,d3_geo_centroidW1,d3_geo_centroidX0,d3_geo_centroidY0,d3_geo_centroidZ0,d3_geo_centroidX1,d3_geo_centroidY1,d3_geo_centroidZ1,d3_geo_centroidX2,d3_geo_centroidY2,d3_geo_centroidZ2;var d3_geo_centroid={sphere:d3_noop,point:d3_geo_centroidPoint,lineStart:d3_geo_centroidLineStart,lineEnd:d3_geo_centroidLineEnd,pol
1227ygonStart:function(){d3_geo_centroid.lineStart=d3_geo_centroidRingStart;},polygonEnd:function(){d3_geo_centroid.lineStart=d3_geo_centroidLineStart;}};function d3_geo_centroidPoint(λ,φ){λ*=d3_radians;var cosφ=Math.cos(φ*=d3_radians);d3_geo_centroidPointXYZ(cosφ*Math.cos(λ),cosφ*Math.sin(λ),Math.sin(φ));}
1228function d3_geo_centroidPointXYZ(x,y,z){++d3_geo_centroidW0;d3_geo_centroidX0+=(x-d3_geo_centroidX0)/d3_geo_centroidW0;d3_geo_centroidY0+=(y-d3_geo_centroidY0)/d3_geo_centroidW0;d3_geo_centroidZ0+=(z-d3_geo_centroidZ0)/d3_geo_centroidW0;}
1229function d3_geo_centroidLineStart(){var x0,y0,z0;d3_geo_centroid.point=function(λ,φ){λ*=d3_radians;var cosφ=Math.cos(φ*=d3_radians);x0=cosφ*Math.cos(λ);y0=cosφ*Math.sin(λ);z0=Math.sin(φ);d3_geo_centroid.point=nextPoint;d3_geo_centroidPointXYZ(x0,y0,z0);};function nextPoint(λ,φ){λ*=d3_radians;var cosφ=Math.cos(φ*=d3_radians),x=cosφ*Math.cos(λ),y=cosφ*Math.sin(λ),z=Math.sin(φ),w=Math.atan2(Math.sqrt((w=y0*z-z0*y)*w+(w=z0*x-x0*z)*w+(w=x0*y-y0*x)*w),x0*x+y0*y+z0*z);d3_geo_centroidW1+=w;d3_geo_centroidX1+=w*(x0+(x0=x));d3_geo_centroidY1+=w*(y0+(y0=y));d3_geo_centroidZ1+=w*(z0+(z0=z));d3_geo_centroidPointXYZ(x0,y0,z0);}}
1230function d3_geo_centroidLineEnd(){d3_geo_centroid.point=d3_geo_centroidPoint;}
1231function d3_geo_centroidRingStart(){var λ00,φ00,x0,y0,z0;d3_geo_centroid.point=function(λ,φ){λ00=λ,φ00=φ;d3_geo_centroid.point=nextPoint;λ*=d3_radians;var cosφ=Math.cos(φ*=d3_radians);x0=cosφ*Math.cos(λ);y0=cosφ*Math.sin(λ);z0=Math.sin(φ);d3_geo_centroidPointXYZ(x0,y0,z0);};d3_geo_centroid.lineEnd=function(){nextPoint(λ00,φ00);d3_geo_centroid.lineEnd=d3_geo_centroidLineEnd;d3_geo_centroid.point=d3_geo_centroidPoint;};function nextPoint(λ,φ){λ*=d3_radians;var cosφ=Math.cos(φ*=d3_radians),x=cosφ*Math.cos(λ),y=cosφ*Math.sin(λ),z=Math.sin(φ),cx=y0*z-z0*y,cy=z0*x-x0*z,cz=x0*y-y0*x,m=Math.sqrt(cx*cx+cy*cy+cz*cz),u=x0*x+y0*y+z0*z,v=m&&-d3_acos(u)/m,w=Math.atan2(m,u);d3_geo_centroidX2+=v*cx;d3_geo_centroidY2+=v*cy;d3_geo_centroidZ2+=v*cz;d3_geo_centroidW1+=w;d3_geo_centroidX1+=w*(x0+(x0=x));d3_geo_centroidY1+=w*(y0+(y0=y));d3_geo_centroidZ1+=w*(z0+(z0=z));d3_geo_centroidPointXYZ(x0,y0,z0);}}
1232function d3_geo_compose(a,b){function compose(x,y){return x=a(x,y),b(x[0],x[1]);}
1233if(a.invert&&b.invert)compose.invert=function(x,y){return x=b.invert(x,y),x&&a.invert(x[0],x[1]);};return compose;}
1234function d3_true(){return true;}
1235function d3_geo_clipPolygon(segments,compare,clipStartInside,interpolate,listener){var subject=[],clip=[];segments.forEach(function(segment){if((n=segment.length-1)<=0)return;var n,p0=segment[0],p1=segment[n];if(d3_geo_sphericalEqual(p0,p1)){listener.lineStart();for(var i=0;i<n;++i)listener.point((p0=segment[i])[0],p0[1]);listener.lineEnd();return;}
1236var a=new d3_geo_clipPolygonIntersection(p0,segment,null,true),b=new d3_geo_clipPolygonIntersection(p0,null,a,false);a.o=b;subject.push(a);clip.push(b);
1236a=new d3_geo_clipPolygonIntersection(p1,segment,null,false);b=new d3_geo_clipPolygonIntersection(p1,null,a,true);a.o=b;subject.push(a);clip.push(b);});clip.sort(compare);d3_geo_clipPolygonLinkCircular(subject);d3_geo_clipPolygonLinkCircular(clip);if(!subject.length)return;for(var i=0,entry=clipStartInside,n=clip.length;i<n;++i){clip[i].e=entry=!entry;}
1237var start=subject[0],points,point;while(1){var current=start,isSubject=true;while(current.v)if((current=current.n)===start)return;points=current.z;listener.lineStart();do{current.v=current.o.v=true;if(current.e){if(isSubject){for(var i=0,n=points.length;i<n;++i)listener.point((point=points[i])[0],point[1]);}else{interpolate(current.x,current.n.x,1,listener);}
1238current=current.n;}else{if(isSubject){points=current.p.z;for(var i=points.length-1;i>=0;--i)listener.point((point=points[i])[0],point[1]);}else{interpolate(current.x,current.p.x,-1,listener);}
1239current=current.p;}
1240current=current.o;points=current.z;isSubject=!isSubject;}while(!current.v);listener.lineEnd();}}
1241function d3_geo_clipPolygonLinkCircular(array){if(!(n=array.length))return;var n,i=0,a=array[0],b;while(++i<n){a.n=b=array[i];b.p=a;a=b;}
1242a.n=b=array[0];b.p=a;}
1243function d3_geo_clipPolygonIntersection(point,points,other,entry){this.x=point;this.z=points;this.o=other;this.e=entry;this.v=false;this.n=this.p=null;}
1244function d3_geo_clip(pointVisible,clipLine,interpolate,clipStart){return function(rotate,listener){var line=clipLine(listener),rotatedClipStart=rotate.invert(clipStart[0],clipStart[1]);var clip={point:point,lineStart:lineStart,lineEnd:lineEnd,polygonStart:function(){clip.point=pointRing;clip.lineStart=ringStart;clip.lineEnd=ringEnd;segments=[];polygon=[];},polygonEnd:function(){clip.point=point;clip.lineStart=lineStart;clip.lineEnd=lineEnd;segments=d3.merge(segments);var clipStartInside=d3_geo_pointInPolygon(rotatedClipStart,polygon);if(segments.length){if(!polygonStarted)listener.polygonStart(),polygonStarted=true;d3_geo_clipPolygon(segments,d3_geo_clipSort,clipStartInside,interpolate,listener);}else if(clipStartInside){if(!polygonStarted)listener.polygonStart(),polygonStarted=true;listener.lineStart();interpolate(null,null,1,listener);listener.lineEnd();}
1245if(polygonStarted)listener.polygonEnd(),polygonStarted=false;segments=polygon=null;},sphere:function(){listener.polygonStart();listener.lineStart();interpolate(null,null,1,listener);listener.lineEnd();listener.polygonEnd();}};function point(λ,φ){var point=rotate(λ,φ);if(pointVisible(λ=point[0],φ=point[1]))listener.point(λ,φ);}
1246function pointLine(λ,φ){var point=rotate(λ,φ);line.point(point[0],point[1]);}
1247function lineStart(){clip.point=pointLine;line.lineStart();}
1248function lineEnd(){clip.point=point;line.lineEnd();}
1249var segments;var buffer=d3_geo_clipBufferListener(),ringListener=clipLine(buffer),polygonStarted=false,polygon,ring;function pointRing(λ,φ){ring.push([λ,φ]);var point=rotate(λ,φ);ringListener.point(point[0],point[1]);}
1250function ringStart(){ringListener.lineStart();ring=[];}
1251function ringEnd(){pointRing(ring[0][0],ring[0][1]);ringListener.lineEnd();var clean=ringListener.clean(),ringSegments=buffer.buffer(),segment,n=ringSegments.length;ring.pop();polygon.push(ring);ring=null;if(!n)return;if(clean&1){segment=ringSegments[0];var n=segment.length-1,i=-1,point;if(n>0){if(!polygonStarted)listener.polygonStart(),polygonStarted=true;listener.lineStart();while(++i<n)listener.point((point=segment[i])[0],point[1]);listener.lineEnd();}
1252return;}
1253if(n>1&&clean&2)ringSegments.push(ringSegments.pop().concat(ringSegments.shift()));segments.push(ringSegments.filter(d3_geo_clipSegmentLength1));}
1254return clip;};}
1255function d3_geo_clipSegmentLength1(segment){return segment.length>1;}
1256function d3_geo_clipBufferListener(){var lines=[],line;return{lineStart:function(){lines.push(line=[]);},point:function(λ,φ){line.push([λ,φ]);},lineEnd:d3_noop,buffer:function(){var buffer=lines;lines=[];line=null;return buffer;},rejoin:function(){if(lines.length>1)lines.push(lines.pop().concat(lines.shift()));}};}
1257function d3_geo_clipSort(a,b){return((a=a.x)[0]<0?a[1]-halfπ-ε:halfπ-a[1])-((b=b.x)[0]<0?b[1]-halfπ-ε:halfπ-b[1]);}
1258var d3_geo_clipAntimeridian=d3_geo_clip(d3_true,d3_geo_clipAntimeridianLine,d3_geo_clipAntimeridianInterpolate,[-π,-π/2]);function d3_geo_clipAntimeridianLine(listener){var λ0=NaN,φ0=NaN,sλ0=NaN,clean;return{lineStart:function(){listener.lineStart();clean=1;},point:function(λ1,φ1){var sλ1=λ1>0?π:-π,dλ=abs(λ1-λ0);if(abs(dλ-π)<ε){listener.point(λ0,φ0=(φ0+φ1)/2>0?halfπ:-halfπ);listener.point(sλ0,φ0);listener.lineEnd();listener.lineStart();listener.point(sλ1,φ0);listener.point(λ1,φ0);clean=0;}else if(sλ0!==sλ1&&dλ>=π){if(abs(λ0-sλ0)<ε)λ0-=sλ0*ε;if(abs(λ1-sλ1)<ε)λ1-=sλ1*ε;φ0=d3_geo_clipAntimeridianIntersect(λ0,φ0,λ1,φ1);listener.point(sλ0,φ0);listener.lineEnd();listener.lineStart();listener.point(sλ1,φ0);clean=0;}
1259listener.point(λ0=λ1,φ0=φ1);sλ0=sλ1;},lineEnd:function(){listener.lineEnd();λ0=φ0=NaN;},clean:function(){return 2-clean;}};}
1260function d3_geo_clipAntimeridianIntersect(λ0,φ0,λ1,φ1){var cosφ0,cosφ1,sinλ0_λ1=Math.sin(λ0-λ1);return abs(sinλ0_λ1)>ε?Math.atan((Math.sin(φ0)*(cosφ1=Math.cos(φ1))*Math.sin(λ1)-Math.sin(φ1)*(cosφ0=Math.cos(φ0))*Math.sin(λ0))/(cosφ0*cosÏ
1260†1*sinλ0_λ1)):(φ0+φ1)/2;}
1261function d3_geo_clipAntimeridianInterpolate(from,to,direction,listener){var φ;if(from==null){φ=direction*halfπ;listener.point(-π,φ);listener.point(0,φ);listener.point(π,φ);listener.point(π,0);listener.point(π,-φ);listener.point(0,-φ);listener.point(-π,-φ);listener.point(-π,0);listener.point(-π,φ);}else if(abs(from[0]-to[0])>ε){var s=from[0]<to[0]?π:-π;φ=direction*s/2;listener.point(-s,φ);listener.point(0,φ);listener.point(s,φ);}else{listener.point(to[0],to[1]);}}
1262function d3_geo_pointInPolygon(point,polygon){var meridian=point[0],parallel=point[1],meridianNormal=[Math.sin(meridian),-Math.cos(meridian),0],polarAngle=0,winding=0;d3_geo_areaRingSum.reset();for(var i=0,n=polygon.length;i<n;++i){var ring=polygon[i],m=ring.length;if(!m)continue;var point0=ring[0],λ0=point0[0],φ0=point0[1]/2+π/4,sinφ0=Math.sin(φ0),cosφ0=Math.cos(φ0),j=1;while(true){if(j===m)j=0;point=ring[j];var λ=point[0],φ=point[1]/2+π/4,sinφ=Math.sin(φ),cosφ=Math.cos(φ),dλ=λ-λ0,sdλ=dλ>=0?1:-1,adλ=sdλ*dλ,antimeridian=adλ>π,k=sinφ0*sinφ;d3_geo_areaRingSum.add(Math.atan2(k*sdλ*Math.sin(adλ),cosφ0*cosÏ
1262†+k*Math.cos(adλ)));polarAngle+=antimeridian?dλ+sdλ*τ:dλ;if(antimeridian^λ0>=meridian^λ>=meridian){var arc=d3_geo_cartesianCross(d3_geo_cartesian(point0),d3_geo_cartesian(point));d3_geo_cartesianNormalize(arc);var intersection=d3_geo_cartesianCross(meridianNormal,arc);d3_geo_cartesianNormalize(intersection);var φarc=(antimeridian^dλ>=0?-1:1)*d3_asin(intersection[2]);if(parallel>φarc||parallel===φarc&&(arc[0]||arc[1])){winding+=antimeridian^dλ>=0?1:-1;}}
1263if(!j++)break;λ0=λ,sinφ0=sinφ,cosφ0=cosφ,point0=point;}}
1264return(polarAngle<-ε||polarAngle<ε&&d3_geo_areaRingSum<0)^winding&1;}
1265function d3_geo_clipCircle(radius){var cr=Math.cos(radius),smallRadius=cr>0,notHemisphere=abs(cr)>ε,interpolate=d3_geo_circleInterpolate(radius,6*d3_radians);return d3_geo_clip(visible,clipLine,interpolate,smallRadius?[0,-radius]:[-π,radius-π]);function visible(λ,φ){return Math.cos(λ)*Math.cos(φ)>cr;}
1266function clipLine(listener){var point0,c0,v0,v00,clean;return{lineStart:function(){v00=v0=false;clean=1;},point:function(λ,φ){var point1=[λ,φ],point2,v=visible(λ,φ),c=smallRadius?v?0:code(λ,φ):v?code(λ+(λ<0?π:-π),φ):0;if(!point0&&(v00=v0=v))listener.lineStart();if(v!==v0){point2=intersect(point0,point1);if(d3_geo_sphericalEqual(point0,point2)||d3_geo_sphericalEqual(point1,point2)){point1[0]+=ε;point1[1]+=ε;v=visible(point1[0],point1[1]);}}
1267if(v!==v0){clean=0;if(v){listener.lineStart();point2=intersect(point1,point0);listener.point(point2[0],point2[1]);}else{point2=intersect(point0,point1);listener.point(point2[0],point2[1]);listener.lineEnd();}
1268point0=point2;}else if(notHemisphere&&point0&&smallRadius^v){var t;if(!(c&c0)&&(t=intersect(point1,point0,true))){clean=0;if(smallRadius){listener.lineStart();listener.point(t[0][0],t[0][1]);listener.point(t[1][0],t[1][1]);listener.lineEnd();}else{listener.point(t[1][0],t[1][1]);listener.lineEnd();listener.lineStart();listener.point(t[0][0],t[0][1]);}}}
1269if(v&&(!point0||!d3_geo_sphericalEqual(point0,point1))){listener.point(point1[0],point1[1]);}
1270point0=point1,v0=v,c0=c;},lineEnd:function(){if(v0)listener.lineEnd();point0=null;},clean:function(){return clean|(v00&&v0)<<1;}};}
1271function intersect(a,b,two){var pa=d3_geo_cartesian(a),pb=d3_geo_cartesian(b);var n1=[1,0,0],n2=d3_geo_cartesianCross(pa,pb),n2n2=d3_geo_cartesianDot(n2,n2),n1n2=n2[0],determinant=n2n2-n1n2*n1n2;if(!determinant)return!two&&a;var c1=cr*n2n2/determinant,c2=-cr*n1n2/determinant,n1xn2=d3_geo_cartesianCross(n1,n2),A=d3_geo_cartesianScale(n1,c1),B=d3_geo_cartesianScale(n2,c2);d3_geo_cartesianAdd(A,B);var u=n1xn2,w=d3_geo_cartesianDot(A,u),uu=d3_geo_cartesianDot(u,u),t2=w*w-uu*(d3_geo_cartesianDot(A,A)-1);if(t2<0)return;var t=Math.sqrt(t2),q=d3_geo_cartesianScale(u,(-w-t)/uu);d3_geo_cartesianAdd(q,A);q=d3_geo_spherical(q);if(!two)return q;var λ0=a[0],λ1=b[0],φ0=a[1],φ1=b[1],z;if(λ1<λ0)z=λ0,λ0=λ1,λ1=z;var δλ=λ1-λ0,polar=abs(δλ-π)<ε,meridian=polar||δλ<ε;if(!polar&&φ1<φ0)z=φ0,φ0=φ1,φ1=z;if(meridian?polar?φ0+φ1>0^q[1]<(abs(q[0]-λ0)<ε?φ0:φ1):φ0<=q[1]&&q[1]<=φ1:δλ>π^(λ0<=q[0]&&q[0]<=λ1)){var q1=d3_geo_cartesianScale(u,(-w+t)/uu);d3_geo_cartesianAdd(q1,A);return[q,d3_geo_spherical(q1)];}}
1272function code(λ,φ){var r=smallRadius?radius:π-radius,code=0;if(λ<-r)code|=1;else if(λ>r)code|=2;if(φ<-r)code|=4;else if(φ>r)code|=8;return code;}}
1273function d3_geom_clipLine(x0,y0,x1,y1){return function(line){var a=line.a,b=line.b,ax=a.x,ay=a.y,bx=b.x,by=b.y,t0=0,t1=1,dx=bx-ax,dy=by-ay,r;r=x0-ax;if(!dx&&r>0)return;r/=dx;if(dx<0){if(r<t0)return;if(r<t1)t1=r;}else if(dx>0){if(r>t1)return;if(r>t0)t0=r;}
1274r=x1-ax;if(!dx&&r<0)return;r/=dx;if(dx<0){if(r>t1)return;if(r>t0)t0=r;}else if(dx>0){if(r<t0)return;if(r<t1)t1=r;}
1275r=y0-ay;if(!dy&&r>0)return;r/=dy;if(dy<0){if(r<t0)return;if(r<t1)t1=r;}else if(dy>0){if(r>t1)return;if(r>t0)t0=r;}
1276r=y1-ay;if(!dy&&r<0)return;r/=dy;if(dy<0){if(r>t1)return;if(r>t0)t0=r;}else if(dy>0){if(r<t0)return;if(r<t1)t1=r;}
1277if(t0>0)line.a={x:ax+t0*dx,y:ay+t0*dy};if(t1<1)line.b={x:ax+t1*dx,y:ay+t1*dy};return line;};}
1278var d3_geo_clipExtentMAX=1e9;d3.geo.clipExtent=function(){var x0,y0,x1,y1,stream,clip,clipExtent={stream
1278:function(output){if(stream)stream.valid=false;stream=clip(output);stream.valid=true;return stream;},extent:function(_){if(!arguments.length)return[[x0,y0],[x1,y1]];clip=d3_geo_clipExtent(x0=+_[0][0],y0=+_[0][1],x1=+_[1][0],y1=+_[1][1]);if(stream)stream.valid=false,stream=null;return clipExtent;}};return clipExtent.extent([[0,0],[960,500]]);};function d3_geo_clipExtent(x0,y0,x1,y1){return function(listener){var listener_=listener,bufferListener=d3_geo_clipBufferListener(),clipLine=d3_geom_clipLine(x0,y0,x1,y1),segments,polygon,ring;var clip={point:point,lineStart:lineStart,lineEnd:lineEnd,polygonStart:function(){listener=bufferListener;segments=[];polygon=[];clean=true;},polygonEnd:function(){listener=listener_;segments=d3.merge(segments);var clipStartInside=insidePolygon([x0,y1]),inside=clean&&clipStartInside,visible=segments.length;if(inside||visible){listener.polygonStart();if(inside){listener.lineStart();interpolate(null,null,1,listener);listener.lineEnd();}
1279if(visible){d3_geo_clipPolygon(segments,compare,clipStartInside,interpolate,listener);}
1280listener.polygonEnd();}
1281segments=polygon=ring=null;}};function insidePolygon(p){var wn=0,n=polygon.length,y=p[1];for(var i=0;i<n;++i){for(var j=1,v=polygon[i],m=v.length,a=v[0],b;j<m;++j){b=v[j];if(a[1]<=y){if(b[1]>y&&d3_cross2d(a,b,p)>0)++wn;}else{if(b[1]<=y&&d3_cross2d(a,b,p)<0)--wn;}
1282a=b;}}
1283return wn!==0;}
1284function interpolate(from,to,direction,listener){var a=0,a1=0;if(from==null||(a=corner(from,direction))!==(a1=corner(to,direction))||comparePoints(from,to)<0^direction>0){do{listener.point(a===0||a===3?x0:x1,a>1?y1:y0);}while((a=(a+direction+4)%4)!==a1);}else{listener.point(to[0],to[1]);}}
1285function pointVisible(x,y){return x0<=x&&x<=x1&&y0<=y&&y<=y1;}
1286function point(x,y){if(pointVisible(x,y))listener.point(x,y);}
1287var x__,y__,v__,x_,y_,v_,first,clean;function lineStart(){clip.point=linePoint;if(polygon)polygon.push(ring=[]);first=true;v_=false;x_=y_=NaN;}
1288function lineEnd(){if(segments){linePoint(x__,y__);if(v__&&v_)bufferListener.rejoin();segments.push(bufferListener.buffer());}
1289clip.point=point;if(v_)listener.lineEnd();}
1290function linePoint(x,y){x=Math.max(-d3_geo_clipExtentMAX,Math.min(d3_geo_clipExtentMAX,x));y=Math.max(-d3_geo_clipExtentMAX,Math.min(d3_geo_clipExtentMAX,y));var v=pointVisible(x,y);if(polygon)ring.push([x,y]);if(first){x__=x,y__=y,v__=v;first=false;if(v){listener.lineStart();listener.point(x,y);}}else{if(v&&v_)listener.point(x,y);else{var l={a:{x:x_,y:y_},b:{x:x,y:y}};if(clipLine(l)){if(!v_){listener.lineStart();listener.point(l.a.x,l.a.y);}
1291listener.point(l.b.x,l.b.y);if(!v)listener.lineEnd();clean=false;}else if(v){listener.lineStart();listener.point(x,y);clean=false;}}}
1292x_=x,y_=y,v_=v;}
1293return clip;};function corner(p,direction){return abs(p[0]-x0)<ε?direction>0?0:3:abs(p[0]-x1)<ε?direction>0?2:1:abs(p[1]-y0)<ε?direction>0?1:0:direction>0?3:2;}
1294function compare(a,b){return comparePoints(a.x,b.x);}
1295function comparePoints(a,b){var ca=corner(a,1),cb=corner(b,1);return ca!==cb?ca-cb:ca===0?b[1]-a[1]:ca===1?a[0]-b[0]:ca===2?a[1]-b[1]:b[0]-a[0];}}
1296function d3_geo_conic(projectAt){var φ0=0,φ1=π/3,m=d3_geo_projectionMutator(projectAt),p=m(φ0,φ1);p.parallels=function(_){if(!arguments.length)return[φ0/π*180,φ1/π*180];return m(φ0=_[0]*π/180,φ1=_[1]*π/180);};return p;}
1297function d3_geo_conicEqualArea(φ0,φ1){var sinφ0=Math.sin(φ0),n=(sinφ0+Math.sin(φ1))/2,C=1+sinφ0*(2*n-sinφ0),ρ0=Math.sqrt(C)/n;function forward(λ,φ){var ρ=Math.sqrt(C-2*n*Math.sin(φ))/n;return[ρ*Math.sin(λ*=n),ρ0-ρ*Math.cos(λ)];}
1298forward.invert=function(x,y){var ρ0_y=ρ0-y;return[Math.atan2(x,ρ0_y)/n,d3_asin((C-(x*x+ρ0_y*ρ0_y)*n*n)/(2*n))];};return forward;}
1299(d3.geo.conicEqualArea=function(){return d3_geo_conic(d3_geo_conicEqualArea);}).raw=d3_geo_conicEqualArea;d3.geo.albers=function(){return d3.geo.conicEqualArea().rotate([96,0]).center([-.6,38.7]).parallels([29.5,45.5]).scale(1070);};d3.geo.albersUsa=function(){var lower48=d3.geo.albers();var alaska=d3.geo.conicEqualArea().rotate([154,0]).center([-2,58.5]).parallels([55,65]);var hawaii=d3.geo.conicEqualArea().rotate([157,0]).center([-3,19.9]).parallels([8,18]);var point,pointStream={point:function(x,y){point=[x,y];}},lower48Point,alaskaPoint,hawaiiPoint;function albersUsa(coordinates){var x=coordinates[0],y=coordinates[1];point=null;(lower48Point(x,y),point)||(alaskaPoint(x,y),point)||hawaiiPoint(x,y);return point;}
1300albersUsa.invert=function(coordinates){var k=lower48.scale(),t=lower48.translate(),x=(coordinates[0]-t[0])/k,y=(coordinates[1]-t[1])/k;return(y>=.12&&y<.234&&x>=-.425&&x<-.214?alaska:y>=.166&&y<.234&&x>=-.214&&x<-.115?hawaii:lower48).invert(coordinates);};albersUsa.stream=function(stream){var lower48Stream=lower48.stream(stream),alaskaStream=alaska.stream(stream),hawaiiStream
1300=hawaii.stream(stream);return{point:function(x,y){lower48Stream.point(x,y);alaskaStream.point(x,y);hawaiiStream.point(x,y);},sphere:function(){lower48Stream.sphere();alaskaStream.sphere();hawaiiStream.sphere();},lineStart:function(){lower48Stream.lineStart();alaskaStream.lineStart();hawaiiStream.lineStart();},lineEnd:function(){lower48Stream.lineEnd();alaskaStream.lineEnd();hawaiiStream.lineEnd();},polygonStart:function(){lower48Stream.polygonStart();alaskaStream.polygonStart();hawaiiStream.polygonStart();},polygonEnd:function(){lower48Stream.polygonEnd();alaskaStream.polygonEnd();hawaiiStream.polygonEnd();}};};albersUsa.precision=function(_){if(!arguments.length)return lower48.precision();lower48.precision(_);alaska.precision(_);hawaii.precision(_);return albersUsa;};albersUsa.scale=function(_){if(!arguments.length)return lower48.scale();lower48.scale(_);alaska.scale(_*.35);hawaii.scale(_);return albersUsa.translate(lower48.translate());};albersUsa.translate=function(_){if(!arguments.length)return lower48.translate();var k=lower48.scale(),x=+_[0],y=+_[1];lower48Point=lower48.translate(_).clipExtent([[x-.455*k,y-.238*k],[x+.455*k,y+.238*k]]).stream(pointStream).point;alaskaPoint=alaska.translate([x-.307*k,y+.201*k]).clipExtent([[x-.425*k+ε,y+.12*k+ε],[x-.214*k-ε,y+.234*k-ε]]).stream(pointStream).point;hawaiiPoint=hawaii.translate([x-.205*k,y+.212*k]).clipExtent([[x-.214*k+ε,y+.166*k+ε],[x-.115*k-ε,y+.234*k-ε]]).stream(pointStream).point;return albersUsa;};return albersUsa.scale(1070);};var d3_geo_pathAreaSum,d3_geo_pathAreaPolygon,d3_geo_pathArea={point:d3_noop,lineStart:d3_noop,lineEnd:d3_noop,polygonStart:function(){d3_geo_pathAreaPolygon=0;d3_geo_pathArea.lineStart=d3_geo_pathAreaRingStart;},polygonEnd:function(){d3_geo_pathArea.lineStart=d3_geo_pathArea.lineEnd=d3_geo_pathArea.point=d3_noop;d3_geo_pathAreaSum+=abs(d3_geo_pathAreaPolygon/2);}};function d3_geo_pathAreaRingStart(){var x00,y00,x0,y0;d3_geo_pathArea.point=function(x,y){d3_geo_pathArea.point=nextPoint;x00=x0=x,y00=y0=y;};function nextPoint(x,y){d3_geo_pathAreaPolygon+=y0*x-x0*y;x0=x,y0=y;}
1301d3_geo_pathArea.lineEnd=function(){nextPoint(x00,y00);};}
1302var d3_geo_pathBoundsX0,d3_geo_pathBoundsY0,d3_geo_pathBoundsX1,d3_geo_pathBoundsY1;var d3_geo_pathBounds={point:d3_geo_pathBoundsPoint,lineStart:d3_noop,lineEnd:d3_noop,polygonStart:d3_noop,pol
1302ygonEnd:d3_noop};function d3_geo_pathBoundsPoint(x,y){if(x<d3_geo_pathBoundsX0)d3_geo_pathBoundsX0=x;if(x>d3_geo_pathBoundsX1)d3_geo_pathBoundsX1=x;if(y<d3_geo_pathBoundsY0)d3_geo_pathBoundsY0=y;if(y>d3_geo_pathBoundsY1)d3_geo_pathBoundsY1=y;}
1303function d3_geo_pathBuffer(){var pointCircle=d3_geo_pathBufferCircle(4.5),buffer=[];var stream={point:point,lineStart:function(){stream.point=pointLineStart;},lineEnd:lineEnd,polygonStart:function(){stream.lineEnd=lineEndPolygon;},polygonEnd:function(){stream.lineEnd=lineEnd;stream.point=point;},pointRadius:function(_){pointCircle=d3_geo_pathBufferCircle(_);return stream;},result:function(){if(buffer.length){var result=buffer.join("");buffer=[];return result;}}};function point(x,y){buffer.push("M",x,",",y,pointCircle);}
1304function pointLineStart(x,y){buffer.push("M",x,",",y);stream.point=pointLine;}
1305function pointLine(x,y){buffer.push("L",x,",",y);}
1306function lineEnd(){stream.point=point;}
1307function lineEndPolygon(){buffer.push("Z");}
1308return stream;}
1309function d3_geo_pathBufferCircle(radius){return"m0,"+radius+"a"+radius+","+radius+" 0 1,1 0,"+-2*radius+"a"+radius+","+radius+" 0 1,1 0,"+2*radius+"z";}
1310var d3_geo_pathCentroid={point:d3_geo_pathCentroidPoint,lineStart:d3_geo_pathCentroidLineStart,lineEnd:d3_geo_pathCentroidLineEnd,polygonStart:function(){d3_geo_pathCentroid.lineStart=d3_geo_pathCentroidRingStart;},polygonEnd:function(){d3_geo_pathCentroid.point=d3_geo_pathCentroidPoint;d3_geo_pathCentroid.lineStart=d3_geo_pathCentroidLineStart;d3_geo_pathCentroid.lineEnd=d3_geo_pathCentroidLineEnd;}};function d3_geo_pathCentroidPoint(x,y){d3_geo_centroidX0+=x;d3_geo_centroidY0+=y;++d3_geo_centroidZ0;}
1311function d3_geo_pathCentroidLineStart(){var x0,y0;d3_geo_pathCentroid.point=function(x,y){d3_geo_pathCentroid.point=nextPoint;d3_geo_pathCentroidPoint(x0=x,y0=y);};function nextPoint(x,y){var dx=x-x0,dy=y-y0,z=Math.sqrt(dx*dx+dy*dy);d3_geo_centroidX1+=z*(x0+x)/2;d3_geo_centroidY1+=z*(y0+y)/2;d3_geo_centroidZ1+=z;d3_geo_pathCentroidPoint(x0=x,y0=y);}}
1312function d3_geo_pathCentroidLineEnd(){d3_geo_pathCentroid.point=d3_geo_pathCentroidPoint;}
1313function d3_geo_pathCentroidRingStart(){var x00,y00,x0,y0;d3_geo_pathCentroid.point=function(x,y){d3_geo_pathCentroid.point=nextPoint;d3_geo_pathCentroidPoint(x00=x0=x,y00=y0=y);};function nextPoint(x,y){var dx=x-x0,dy=y-y0,z=Math.sqrt(dx*dx+dy*dy);d3_geo_centroidX1+=z*(x0+x)/2;d3_geo_centroidY1+=z*(y0+y)/2;d3_geo_centroidZ1+=z;z=y0*x-x0*y;d3_geo_centroidX2+=z*(x0+x);d3_geo_centroidY2+=z*(y0+y);d3_geo_centroidZ2+=z*3;d3_geo_pathCentroidPoint(x0=x,y0=y);}
1314d3_geo_pathCentroid.lineEnd=function(){nextPoint(x00,y00);};}
1315function d3_geo_pathContext(context){var pointRadius=4.5;var stream={point:point,lineStart:function(){stream.point=pointLineStart;}
1315,lineEnd:lineEnd,polygonStart:function(){stream.lineEnd=lineEndPolygon;},polygonEnd:function(){stream.lineEnd=lineEnd;stream.point=point;},pointRadius:function(_){pointRadius=_;return stream;},result:d3_noop};function point(x,y){context.moveTo(x+pointRadius,y);context.arc(x,y,pointRadius,0,τ);}
1316function pointLineStart(x,y){context.moveTo(x,y);stream.point=pointLine;}
1317function pointLine(x,y){context.lineTo(x,y);}
1318function lineEnd(){stream.point=point;}
1319function lineEndPolygon(){context.closePath();}
1320return stream;}
1321function d3_geo_resample(project){var δ2=.5,cosMinDistance=Math.cos(30*d3_radians),maxDepth=16;function resample(stream){return(maxDepth?resampleRecursive:resampleNone)(stream);}
1322function resampleNone(stream){return d3_geo_transformPoint(stream,function(x,y){x=project(x,y);stream.point(x[0],x[1]);});}
1323function resampleRecursive(stream){var λ00,φ00,x00,y00,a00,b00,c00,λ0,x0,y0,a0,b0,c0;var resample={point:point,lineStart:lineStart,lineEnd:lineEnd,polygonStart:function(){stream.polygonStart();resample.lineStart=ringStart;},polygonEnd:function(){stream.polygonEnd();resample.lineStart=lineStart;}};function point(x,y){x=project(x,y);stream.point(x[0],x[1]);}
1324function lineStart(){x0=NaN;resample.point=linePoint;stream.lineStart();}
1325function linePoint(λ,φ){var c=d3_geo_cartesian([λ,φ]),p=project(λ,φ);resampleLineTo(x0,y0,λ0,a0,b0,c0,x0=p[0],y0=p[1],λ0=λ,a0=c[0],b0=c[1],c0=c[2],maxDepth,stream);stream.point(x0,y0);}
1326function lineEnd(){resample.point=point;stream.lineEnd();}
1327function ringStart(){lineStart();resample.point=ringPoint;resample.lineEnd=ringEnd;}
1328function ringPoint(λ,φ){linePoint(λ00=λ,φ00=φ),x00=x0,y00=y0,a00=a0,b00=b0,c00=c0;resample.point=linePoint;}
1329function ringEnd(){resampleLineTo(x0,y0,λ0,a0,b0,c0,x00,y00,λ00,a00,b00,c00,maxDepth,stream);resample.lineEnd=lineEnd;lineEnd();}
1330return resample;}
1331function resampleLineTo(x0,y0,λ0,a0,b0,c0,x1,y1,λ1,a1,b1,c1,depth,stream){var dx=x1-x0,dy=y1-y0,d2=dx*dx+dy*dy;if(d2>4*δ2&&depth--){var a=a0+a1,b=b0+b1,c=c0+c1,m=Math.sqrt(a*a+b*b+c*c),φ2=Math.asin(c/=m),λ2=abs(abs(c)-1)<ε||abs(λ0-λ1)<ε?(λ0+λ1)/2:Math.atan2(b,a),p=project(λ2,φ2),x2=p[0],y2=p[1],dx2=x2-x0,dy2=y2-y0,dz=dy*dx2-dx*dy2;if(dz*dz/d2>δ2||abs((dx*dx2+dy*dy2)/d2-.5)>.3||a0*a1+b0*b1+c0*c1<cosMinDistance){resampleLineTo(x0,y0,λ0,a0,b0,c0,x2,y2,λ2,a/=m,b/=m,c,depth,stream);stream.point(x2,y2);resampleLineTo(x2,y2,λ2,a,b,c,x1,y1,λ1,a1,b1,c1,depth,stream);}}}
1332resample.precision=function(_){if(!arguments.length)return Math.sqrt(δ2);maxDepth=(δ2=_*_)>0&&16;return resample;};return resample;}
1333d3.geo.path=function(){var pointRadius=4.5,projection,context,projectStream,contextStream,cacheStream;function path(object){if(object){if(typeof pointRadius==="function")contextStream.pointRadius(+pointRadius.apply(this,arguments));if(!cacheStream||!cacheStream.valid)cacheStream=projectStream(contextStream);d3.geo.stream(object,cacheStream);}
1334return contextStream.result();}
1335path.area=function(object){d3_geo_pathAreaSum=0;d3.geo.stream(object,projectStream(d3_geo_pathArea));return d3_geo_pathAreaSum;};path.centroid=function(object){d3_geo_centroidX0=d3_geo_centroidY0=d3_geo_centroidZ0=d3_geo_centroidX1=d3_geo_centroidY1=d3_geo_centroidZ1=d3_geo_centroidX2=d3_geo_centroidY2=d3_geo_centroidZ2=0;d3.geo.stream(object,projectStream(d3_geo_pathCentroid));return d3_geo_centroidZ2?[d3_geo_centroidX2/d3_geo_centroidZ2,d3_geo_centroidY2/d3_geo_centroidZ2]:d3_geo_centroidZ1?[d3_geo_centroidX1/d3_geo_centroidZ1,d3_geo_centroidY1/d3_geo_centroidZ1]:d3_geo_centroidZ0?[d3_geo_centroidX0/d3_geo_centroidZ0,d3_geo_centroidY0/d3_geo_centroidZ0]:[NaN,NaN];};path.bounds=function(object){d3_geo_pathBoundsX1=d3_geo_pathBoundsY1=-(d3_geo_pathBoundsX0=d3_geo_pathBoundsY0=Infinity);d3.geo.stream(object,projectStream(d3_geo_pathBounds));return[[d3_geo_pathBoundsX0,d3_geo_pathBoundsY0],[d3_geo_pathBoundsX1,d3_geo_pathBoundsY1]];};path.projection=function(_){if(!arguments.length)return projection;projectStream=(projection=_)?_.stream||d3_geo_pathProjectStream(_):d3_identity;return reset();};path.context=function(_){if(!arguments.length)return context;contextStream=(context=_)==null?new d3_geo_pathBuffer():new d3_geo_pathContext(_);if(typeof pointRadius!=="function")contextStream.pointRadius(pointRadius);return reset();};path.pointRadius=function(_){if(!arguments.length)return pointRadius;pointRadius=typeof _==="function"?_:(contextStream.pointRadius(+_),+_);return path;};function reset(){cacheStream=null;return path;}
1336return path.projection(d3.geo.albersUsa()).context(null);};function d3_geo_pathProjectStream(project){var resample=d3_geo_resample(function(x,y){return project([x*d3_degrees,y*d3_degrees]);});return function(stream){return d3_geo_projectionRadians(resample(stream));};}
1337d3.geo.transform=function(methods){return{stream:function(stream){var transform=new d3_geo_transform(stream);for(var k in methods)transform[k]=methods[k];return transform;}};};function d3_geo_transform(stream){this.stream=stream;}
1338d3_geo_transform.prototype={point:function(x,y){this.stream.point(x,y);},sphere:function(){this.stream.sphere();},lineStart:function(){this.stream.lineStart();},lineEnd:function(){this.stream.lineEnd();},polygonStart:function(){this.stream.polygonStart();},polygonEnd:function(){this.stream.polygonEnd();}};function d3_geo_transformPoint(stream,point){return{point:point,sphere:function(){stream.sphere();},lineStart:function(){stream.lineStart();},lineEnd:function(){stream.lineEnd();},polygonStart:function(){stream.polygonStart();},polygonEnd:function(){stream.polygonEnd();}};}
1339d3.geo.projection=d3_geo_projection;d3.geo.projectionMutator=d3_geo_projectionMutator;function d3_geo_projection(project){return d3_geo_projectionMutator(function(){return project;})();}
1340function d3_geo_projectionMutator(projectAt){var project,rotate,projectRotate,projectResample=d3_geo_resample(function(x,y){x=project(x,y);return[x[0]*k+δx,δy-x[1]*k];}),k=150,x=480,y=250,λ=0,φ=0,δλ=0,δφ=0,δγ=0,δx,δy,preclip=d3_geo_clipAntimeridian,postclip=d3_identity,clipAngle=null,clipExtent=null,stream;function projection(point){point=projectRotate(point[0]*d3_radians,point[1]*d3_radians);return[point[0]*k+δx,δy-point[1]*k];}
1341function invert(point){point=projectRotate.invert((point[0]-δx)/k,(δy-point[1])/k);return point&&[point[0]*d3_degrees,point[1]*d3_degrees];}
1342projection.stream=function(output){if(stream)stream.valid=false;stream=d3_geo_projectionRadians(preclip(rotate,projectResample(postclip(output))));stream.valid=true;return stream;};projection.clipAngle=function(_){if(!arguments.length)return clipAngle;preclip=_==null?(clipAngle=_,d3_geo_clipAntimeridian):d3_geo_clipCircle((clipAngle=+_)*d3_radians);return invalidate();};projection.clipExtent=function(_){if(!arguments.length)return clipExtent;clipExtent=_;postclip=_?d3_geo_clipExtent(_[0][0],_[0][1],_[1][0],_[1][1]):d3_identity;return invalidate();};projection.scale=function(_){if(!arguments.length)return k;k=+_;return reset();};projection.translate=function(_){if(!arguments.length)return[x,y];x=+_[0];y=+_[1];return reset();};projection.center=function(_){if(!arguments.length)return[λ*d3_degrees,φ*d3_degrees];λ=_[0]%360*d3_radians;φ=_[1]%360*d3_radians;return reset();};projection.rotate=function(_){if(!arguments.length)return[δλ*d3_degrees,δφ*d3_degrees,δγ*d3_degrees];δλ=_[0]%360*d3_radians;δφ=_[1]%360*d3_radians;δγ=_.length>2?_[2]%360*d3_radians:0;return reset();};d3.rebind(projection,projectResample,"precision");function reset(){projectRotate=d3_geo_compose(rotate=d3_geo_rotation(δλ,δφ,δγ),project);var center=project(λ,φ);δx=x-center[0]*k;δy=y+center[1]*k;return invalidate();}
1343function invalidate(){if(stream)stream.valid=false,stream=null;return projection;}
1344return function(){project=projectAt.apply(this,arguments);projection.invert=project.invert&&invert;return reset();};}
1345function d3_geo_projectionRadians(stream){return d3_geo_transformPoint(stream,function(x,y){stream.point(x*d3_radians,y*d3_radians);});}
1346function d3_geo_equirectangular(λ,φ){return[λ,φ];}
1347(d3.geo.equirectangular=function(){return d3_geo_projection(d3_geo_equirectangular);}).raw=d3_geo_equirectangular.invert=d3_geo_equirectangular;d3.geo.rotation=function(rotate){rotate=d3_geo_rotation(rotate[0]%360*d3_radians,rotate[1]*d3_radians,rotate.length>2?rotate[2]*d3_radians:0);function forward(coordinates){coordinates=rotate(coordinates[0]*d3_radians,coordinates[1]*d3_radians);return coordinates[0]*=d3_degrees,coordinates[1]*=d3_degrees,coordinates;}
1348forward.invert=function(coordinates){coordinates=rotate.invert(coordinates[0]*d3_radians,coordinates[1]*d3_radians);return coordinates[0]*=d3_degrees,coordinates[1]*=d3_degrees,coordinates;};return forward;};function d3_geo_identityRotation(λ,φ){return[λ>π?λ-τ:λ<-π?λ+τ:λ,φ];}
1349d3_geo_identityRotation.invert=d3_geo_equirectangular;function d3_geo_rotation(δλ,δφ,δγ){return δλ?δφ||δγ?d3_geo_compose(d3_geo_rotationλ(δλ
1349),d3_geo_rotationφγ(δφ,δγ)):d3_geo_rotationλ(δλ):δφ||δγ?d3_geo_rotationφγ(δφ,δγ):d3_geo_identityRotation;}
1350function d3_geo_forwardRotationλ(δλ){return function(λ,φ){return λ+=δλ,[λ>π?λ-τ:λ<-π?λ+τ:λ,φ];};}
1351function d3_geo_rotationλ(δλ){var rotation=d3_geo_forwardRotationλ(δλ);rotation.invert=d3_geo_forwardRotationλ(-δλ);return rotation;}
1352function d3_geo_rotationφγ(δφ,δγ){var cosδφ=Math.cos(δφ),sinδφ=Math.sin(δφ),cosδγ=Math.cos(δγ),sinδγ=Math.sin(δγ);function rotation(λ,φ){var cosφ=Math.cos(φ),x=Math.cos(λ)*cosφ,y=Math.sin(λ)*cosφ,z=Math.sin(φ),k=z*cosδφ+x*sinδφ;return[Math.atan2(y*cosδγ-k*sinδγ,x*cosδφ-z*sinδφ),d3_asin(k*cosδγ+y*sinδγ)];}
1353rotation.invert=function(λ,φ){var cosφ=Math.cos(φ),x=Math.cos(λ)*cosφ,y=Math.sin(λ)*cosφ,z=Math.sin(φ),k=z*cosδγ-y*sinδγ;return[Math.atan2(y*cosδγ+z*sinδγ,x*cosδφ+k*sinδφ),d3_asin(k*cosδφ-x*sinδφ)];};return rotation;}
1354d3.geo.circle=function(){var origin=[0,0],angle,precision=6,interpolate;function circle(){var center=typeof origin==="function"?origin.apply(this,arguments):origin,rotate=d3_geo_rotation(-center[0]*d3_radians,-center[1]*d3_radians,0).invert,ring=[];interpolate(null,null,1,{point:function(x,y){ring.push(x=rotate(x,y));x[0]*=d3_degrees,x[1]*=d3_degrees;}});return{type:"Polygon",coordinates:[ring]};}
1355circle.origin=function(x){if(!arguments.length)return origin;origin=x;return circle;};circle.angle=function(x){if(!arguments.length)return angle;interpolate=d3_geo_circleInterpolate((angle=+x)*d3_radians,precision*d3_radians);return circle;};circle.precision=function(_){if(!arguments.length)return precision;interpolate=d3_geo_circleInterpolate(angle*d3_radians,(precision=+_)*d3_radians);return circle;};
1355return circle.angle(90);};function d3_geo_circleInterpolate(radius,precision){var cr=Math.cos(radius),sr=Math.sin(radius);return function(from,to,direction,listener){var step=direction*precision;if(from!=null){from=d3_geo_circleAngle(cr,from);to=d3_geo_circleAngle(cr,to);if(direction>0?from<to:from>to)from+=direction*τ;}else{from=radius+direction*τ;to=radius-.5*step;}
1356for(var point,t=from;direction>0?t>to:t<to;t-=step){listener.point((point=d3_geo_spherical([cr,-sr*Math.cos(t),-sr*Math.sin(t)]))[0],point[1]);}};}
1357function d3_geo_circleAngle(cr,point){var a=d3_geo_cartesian(point);a[0]-=cr;d3_geo_cartesianNormalize(a);var angle=d3_acos(-a[1]);return((-a[2]<0?-angle:angle)+2*Math.PI-ε)%(2*Math.PI);}
1358d3.geo.distance=function(a,b){var Δλ=(b[0]-a[0])*d3_radians,φ0=a[1]*d3_radians,φ1=b[1]*d3_radians,sinΔλ=Math.sin(Δλ),cosΔλ=Math.cos(Δλ),sinφ0=Math.sin(φ0),cosφ0=Math.cos(φ0),sinφ1=Math.sin(φ1),cosφ1=Math.cos(φ1),t;return Math.atan2(Math.sqrt((t=cosφ1*sinΔλ)*t+(t=cosφ0*sinφ1-sinφ0*cosφ1*cosΔλ)*t),sinφ0*sinφ1+cosφ0*cosφ1*cosΔλ);};d3.geo.graticule=function(){var x1,x0,X1,X0,y1,y0,Y1,Y0,dx=10,dy=dx,DX=90,DY=360,x,y,X,Y,precision=2.5;function graticule(){return{type:"MultiLineString",coordinates:lines()};}
1359function lines(){return d3.range(Math.ceil(X0/DX)*DX,X1,DX).map(X).concat(d3.range(Math.ceil(Y0/DY)*DY,Y1,DY).map(Y)).concat(d3.range(Math.ceil(x0/dx)*dx,x1,dx).filter(function(x){return abs(x%DX)>ε;}).map(x)).concat(d3.range(Math.ceil(y0/dy)*dy,y1,dy).filter(function(y){return abs(y%DY)>ε;}).map(y));}
1360graticule.lines=function(){return lines().map(function(coordinates){return{type:"LineString",coordinates:coordinates};});};graticule.outline=function(){return{type:"Polygon",coordinates:[X(X0).concat(Y(Y1).slice(1),X(X1).reverse().slice(1),Y(Y0).reverse().slice(1))]};};graticule.extent=function(_){if(!arguments.length)return graticule.minorExtent();return graticule.majorExtent(_).minorExtent(_);};graticule.majorExtent=function(_){if(!arguments.length)return[[X0,Y0],[X1,Y1]];X0=+_[0][0],X1=+_[1][0];Y0=+_[0][1],Y1=+_[1][1];if(X0>X1)_=X0,X0=X1,X1=_;if(Y0>Y1)_=Y0,Y0=Y1,Y1=_;return graticule.precision(precision);};graticule.minorExtent=function(_){if(!arguments.length)return[[x0,y0],[x1,y1]];x0=+_[0][0],x1=+_[1][0];y0=+_[0][1],y1=+_[1][1];if(x0>x1)_=x0,x0=x1,x1=_;if(y0>y1)_=y0,y0=y1,y1=_;return graticule.precision(precision);};graticule.step=function(_){if(!arguments.length)return graticule.minorStep();return graticule.majorStep(_).minorStep(_);};graticule.majorStep=function(_){if(!arguments.length)return[DX,DY];DX=+_[0],DY=+_[1];return graticule;};graticule.minorStep=function(_){if(!arguments.length)return[dx,dy];dx=+_[0],dy=+_[1];return graticule;};graticule.precision=function(_){if(!arguments.length)return precision;precision=+_;x=d3_geo_graticuleX(y0,y1,90);y=d3_geo_graticuleY(x0,x1,precision);X=d3_geo_graticuleX(Y0,Y1,90);Y=d3_geo_graticuleY(X0,X1,precision);return graticule;};return graticule.majorExtent([[-180,-90+ε],[180,90-ε]]).minorExtent([[-180,-80-ε],[180,80+ε]]);};function d3_geo_graticuleX(y0,y1,dy){var y=d3.range(y0,y1-ε,dy).concat(y1);return function(x){return y.map(function(y){return[x,y];});};}
1361function d3_geo_graticuleY(x0,x1,dx){var x=d3.range(x0,x1-ε,dx).concat(x1);return function(y){return x.map(function(x){return[x,y];});};}
1362function d3_source(d){return d.source;}
1363function d3_target(d){return d.target;}
1364d3.geo.greatArc=function(){var source=d3_source,source_,target=d3_target,target_;function greatArc(){return{type:"LineString",coordinates:[source_||source.apply(this,arguments),target_||target.apply(this,arguments)]};}
1365greatArc.distance=function(){return d3.geo.distance(source_||source.apply(this,arguments),target_||target.apply(this,arguments));};greatArc.source=function(_){if(!arguments.length)return source;source=_,source_=typeof _==="function"?null:_;return greatArc;};greatArc.target=function(_){if(!arguments.length)return target;target=_,target_=typeof _==="function"?null:_;return greatArc;};greatArc.precision=function(){return arguments.length?greatArc:0;};return greatArc;};d3.geo.interpolate=function(source,target){return d3_geo_interpolate(source[0]*d3_radians,source[1]*d3_radians,target[0]*d3_radians,target[1]*d3_radians);};function d3_geo_interpolate(x0,y0,x1,y1){var cy0=Math.cos(y0),sy0=Math.sin(y0),cy1=Math.cos(y1),sy1=Math.sin(y1),kx0=cy0*Math.cos(x0),ky0=cy0*Math.sin(x0),kx1=cy1*Math.cos(x1),ky1=cy1*Math.sin(x1),d=2*Math.asin(Math.sqrt(d3_haversin(y1-y0)+cy0*cy1*d3_haversin(x1-x0))),k=1/Math.sin(d);var interpolate=d?function(t){var B=Math.sin(t*=d)*k,A=Math.sin(d-t)*k,x=A*kx0+B*kx1,y=A*ky0+B*ky1,z=A*sy0+B*sy1;return[Math.atan2(y,x)*d3_degrees,Math.atan2(z,Math.sqrt(x*x+y*y))*d3_degrees];}:function(){return[x0*d3_degrees,y0*d3_degrees];};interpolate.distance=d;return interpolate;}
1366d3.geo.length=function(object){d3_geo_lengthSum=0;d3.geo.stream(object,d3_geo_length);return d3_geo_lengthSum;};var d3_geo_lengthSum;var d3_geo_length={sphere:d3_noop,point:d3_noop,lineStart:d3_geo_lengthLineStart,lineEnd:d3_noop,pol
1366ygonStart:d3_noop,polygonEnd:d3_noop};function d3_geo_lengthLineStart(){var λ0,sinφ0,cosφ0;d3_geo_length.point=function(λ,φ){λ0=λ*d3_radians,sinφ0=Math.sin(φ*=d3_radians),cosφ0=Math.cos(φ);d3_geo_length.point=nextPoint;};d3_geo_length.lineEnd=function(){d3_geo_length.point=d3_geo_length.lineEnd=d3_noop;};function nextPoint(λ,φ){var sinφ=Math.sin(φ*=d3_radians),cosφ=Math.cos(φ),t=abs((λ*=d3_radians)-λ0),cosΔλ=Math.cos(t);d3_geo_lengthSum+=Math.atan2(Math.sqrt((t=cosφ*Math.sin(t))*t+(t=cosφ0*sinφ-sinφ0*cosφ*cosΔλ)*t),sinφ0*sinφ+cosφ0*cosφ*cosΔλ);λ0=λ,sinφ0=sinφ,cosφ0=cosφ;}}
1367function d3_geo_azimuthal(scale,angle){function azimuthal(λ,φ){var cosλ=Math.cos(λ),cosφ=Math.cos(φ),k=scale(cosλ*cosφ);return[k*cosφ*Math.sin(λ),k*Math.sin(φ)];}
1368azimuthal.invert=function(x,y){var ρ=Math.sqrt(x*x+y*y),c=angle(ρ),sinc=Math.sin(c),cosc=Math.cos(c);return[Math.atan2(x*sinc,ρ*cosc),Math.asin(ρ&&y*sinc/ρ)];};return azimuthal;}
1369var d3_geo_azimuthalEqualArea=d3_geo_azimuthal(function(cosλcosφ){return Math.sqrt(2/(1+cosλcosφ));},function(ρ){return 2*Math.asin(ρ/2);});(d3.geo.azimuthalEqualArea=function(){return d3_geo_projection(d3_geo_azimuthalEqualArea);}).raw=d3_geo_azimuthalEqualArea;var d3_geo_azimuthalEquidistant=d3_geo_azimuthal(function(cosλcosφ){var c=Math.acos(cosλcosφ);return c&&c/Math.sin(c);},d3_identity);(d3.geo.azimuthalEquidistant=function(){return d3_geo_projection(d3_geo_azimuthalEquidistant);}).raw=d3_geo_azimuthalEquidistant;function d3_geo_conicConformal(φ0,φ1){var cosφ0=Math.cos(φ0),t=function(φ){return Math.tan(π/4+φ/2);},n=φ0===φ1?Math.sin(φ0):Math.log(cosφ0/Math.cos(φ1))/Math.log(t(φ1)/t(φ0)),F=cosφ0*Math.pow(t(φ0),n)/n;if(!n)return d3_geo_mercator;function forward(λ,φ){if(F>0){if(φ<-halfπ+ε)φ=-halfπ+ε;}else{if(φ>halfπ-ε)φ=halfπ-ε;}
1370var ρ=F/Math.pow(t(φ),n);return[ρ*Math.sin(n*λ),F-ρ*Math.cos(n*λ)];}
1371forward.invert=function(x,y){var ρ0_y=F-y,ρ=d3_sgn(n)*Math.sqrt(x*x+ρ0_y*ρ0_y);return[Math.atan2(x,ρ0_y)/n,2*Math.atan(Math.pow(F/ρ,1/n))-halfπ];};return forward;}
1372(d3.geo.conicConformal=function(){return d3_geo_conic(d3_geo_conicConformal);}).raw=d3_geo_conicConformal;function d3_geo_conicEquidistant(φ0,φ1){var cosφ0=Math.cos(φ0),n=φ0===φ1?Math.sin(φ0):(cosφ0-Math.cos(φ1))/(φ1-φ0),G=cosφ0/n+φ0;if(abs(n)<ε)return d3_geo_equirectangular;function forward(λ,φ){var ρ=G-φ;return[ρ*Math.sin(n*λ),G-ρ*Math.cos(n*λ)];}
1373forward.invert=function(x,y){var ρ0_y=G-y;return[Math.atan2(x,ρ0_y)/n,G-d3_sgn(n)*Math.sqrt(x*x+ρ0_y*ρ0_y)];};return forward;}
1374(d3.geo.conicEquidistant=function(){return d3_geo_conic(d3_geo_conicEquidistant);}).raw=d3_geo_conicEquidistant;var d3_geo_gnomonic=d3_geo_azimuthal(function(cosλcosφ){return 1/cosλcosφ;},Math.atan);(d3.geo.gnomonic=function(){return d3_geo_projection(d3_geo_gnomonic);}).raw=d3_geo_gnomonic;function d3_geo_mercator(λ,φ){return[λ,Math.log(Math.tan(π/4+φ/2))];}
1375d3_geo_mercator.invert=function(x,y){return[x,2*Math.atan(Math.exp(y))-halfπ];};function d3_geo_mercatorProjection(project){var m=d3_geo_projection(project),scale=m.scale,translate=m.translate,clipExtent=m.clipExtent,clipAuto;m.scale=function(){var v=scale.apply(m,arguments);return v===m?clipAuto?m.clipExtent(null):m:v;};m.translate=function(){var v=translate.apply(m,arguments);return v===m?clipAuto?m.clipExtent(null):m:v;};m.clipExtent=function(_){var v=clipExtent.apply(m,arguments);if(v===m){if(clipAuto=_==null){var k=π*scale(),t=translate();clipExtent([[t[0]-k,t[1]-k],[t[0]+k,t[1]+k]]);}}else if(clipAuto){v=null;}
1376return v;};return m.clipExtent(null);}
1377(d3.geo.mercator=function(){return d3_geo_mercatorProjection(d3_geo_mercator);}).raw=d3_geo_mercator;var d3_geo_orthographic=d3_geo_azimuthal(function(){return 1;},Math.asin);(d3.geo.orthographic=function(){return d3_geo_projection(d3_geo_orthographic);}).raw=d3_geo_orthographic;var d3_geo_stereographic=d3_geo_azimuthal(function(cosλcosφ){return 1/(1+cosλcosφ);},function(ρ){return 2*Math.atan(ρ);});(d3.geo.stereographic=function(){return d3_geo_projection(d3_geo_stereographic);}).raw=d3_geo_stereographic;function d3_geo_transverseMercator(λ,φ){return[Math.log(Math.tan(π/4+φ/2)),-λ];}
1378d3_geo_transverseMercator.invert=function(x,y){return[-y,2*Math.atan(Math.exp(x))-halfπ];};(d3.geo.transverseMercator=function(){var projection=d3_geo_mercatorProjection(d3_geo_transverseMercator),center=projection.center,rotate=projection.rotate;projection.center=function(_){return _?center([-_[1],_[0]]):(_=center(),[_[1],-_[0]]);};projection.rotate=function(_){return _?rotate([_[0],_[1],_.length>2?_[2]+90:90]):(_=rotate(),[_[0],_[1],_[2]-90]);};return rotate([0,0,90]);}).raw=d3_geo_transverseMercator;d3.geom={};function d3_geom_pointX(d){return d[0];}
1379function d3_geom_pointY(d){return d[1];}
1380d3.geom.hull=function(vertices){var x=d3_geom_pointX,y=d3_geom_pointY;if(arguments.length)return hull(vertices);function hull(data){if(data.length<3)return[];var fx=d3_functor(x),fy=d3_functor(y),i,n=data.length,points=[],flippedPoints=[];for(i=0;i<n;i++){points.push([+fx.call(this,data[i],i),+fy.call(this,data[i],i),i]);}
1381points.sort(d3_geom_hullOrder);for(i=0;i<n;i++)flippedPoints.push([points[i][0],-points[i][1]]);var upper=d3_geom_hullUpper(points),lower=d3_geom_hullUpper(flippedPoints);var skipLeft=lower[0]===upper[0],skipRight=lower[lower.length-1]===upper[upper.length-1],polygon=[];for(i=upper.length-1;i>=0;--i)polygon.push(data[points[upper[i]][2]]);for(i=+skipLeft;i<lower.length-skipRight;++i)polygon.push(data[points[lower[i]][2]]);return polygon;}
1382hull.x=function(_){return arguments.length?(x=_,hull):x;};hull.y=function(_){return arguments.length?(y=_,hull):y;};return hull;};function d3_geom_hullUpper(points){var n=points.length,hull=[0,1],hs=2;for(var i=2;i<n;i++){while(hs>1&&d3_cross2d(points[hull[hs-2]],points[hull[hs-1]],points[i])<=0)--hs;hull[hs++]=i;}
1383return hull.slice(0,hs);}
1384function d3_geom_hullOrder(a,b){return a[0]-b[0]||a[1]-b[1];}
1385d3.geom.polygon=function(coordinates){d3_subclass(coordinates,d3_geom_polygonPrototype);return coordinates;};var d3_geom_polygonPrototype=d3.geom.polygon.prototype=[];d3_geom_polygonPrototype.area=function(){var i=-1,n=this.length,a,b=this[n-1],area=0;while(++i<n){a=b;b=this[i];area+=a[1]*b[0]-a[0]*b[1];}
1386return area*.5;};d3_geom_polygonPrototype.centroid=function(k){var i=-1,n=this.length,x=0,y=0,a,b=this[n-1],c;if(!arguments.length)k=-1/(6*this.area());while(++i<n){a=b;b=this[i];c=a[0]*b[1]-b[0]*a[1];x+=(a[0]+b[0])*c;y+=(a[1]+b[1])*c;}
1387return[x*k,y*k];};d3_geom_polygonPrototype.clip=function(subject){var input,closed=d3_geom_polygonClosed(subject),i=-1,n=this.length-d3_geom_polygonClosed(this),j,m,a=this[n-1],b,c,d;while(++i<n){input=subject.slice();subject.length=0;b=this[i];c=input[(m=input.length-closed)-1];j=-1;while(++j<m){d=input[j];if(d3_geom_polygonInside(d,a,b)){if(!d3_geom_polygonInside(c,a,b)){subject.push(d3_geom_polygonIntersect(c,d,a,b));}
1388subject.push(d);}else if(d3_geom_polygonInside(c,a,b)){subject.push(d3_geom_polygonIntersect(c,d,a,b));}
1389c=d;}
1390if(closed)subject.push(subject[0]);a=b;}
1391return subject;};function d3_geom_polygonInside(p,a,b){return(b[0]-a[0])*(p[1]-a[1])<(b[1]-a[1])*(p[0]-a[0]);}
1392function d3_geom_polygonIntersect(c,d,a,b){var x1=c[0],x3=a[0],x21=d[0]-x1,x43=b[0]-x3,y1=c[1],y3=a[1],y21=d[1]-y1,y43=b[1]-y3,ua=(x43*(y1-y3)-y43*(x1-x3))/(y43*x21-x43*y21);return[x1+ua*x21,y1+ua*y21];}
1393function d3_geom_polygonClosed(coordinates){var a=coordinates[0],b=coordinates[coordinates.length-1];return!(a[0]-b[0]||a[1]-b[1]);}
1394var d3_geom_voronoiEdges,d3_geom_voronoiCells,d3_geom_voronoiBeaches,d3_geom_voronoiBeachPool=[],d3_geom_voronoiFirstCircle,d3_geom_voronoiCircles,d3_geom_voronoiCirclePool=[];function d3_geom_voronoiBeach(){d3_geom_voronoiRedBlackNode(this);this.edge=this.site=this.circle=null;}
1395function d3_geom_voronoiCreateBeach(site){var beach=d3_geom_voronoiBeachPool.pop()||new d3_geom_voronoiBeach();beach.site=site;return beach;}
1396function d3_geom_voronoiDetachBeach(beach){d3_geom_voronoiDetachCircle(beach);d3_geom_voronoiBeaches.remove(beach);
1396d3_geom_voronoiBeachPool.push(beach);d3_geom_voronoiRedBlackNode(beach);}
1397function d3_geom_voronoiRemoveBeach(beach){var circle=beach.circle,x=circle.x,y=circle.cy,vertex={x:x,y:y},previous=beach.P,next=beach.N,disappearing=[beach];d3_geom_voronoiDetachBeach(beach);var lArc=previous;while(lArc.circle&&abs(x-lArc.circle.x)<ε&&abs(y-lArc.circle.cy)<ε){previous=lArc.P;disappearing.unshift(lArc);d3_geom_voronoiDetachBeach(lArc);lArc=previous;}
1398disappearing.unshift(lArc);d3_geom_voronoiDetachCircle(lArc);var rArc=next;while(rArc.circle&&abs(x-rArc.circle.x)<ε&&abs(y-rArc.circle.cy)<ε){next=rArc.N;disappearing.push(rArc);d3_geom_voronoiDetachBeach(rArc);rArc=next;}
1399disappearing.push(rArc);d3_geom_voronoiDetachCircle(rArc);var nArcs=disappearing.length,iArc;for(iArc=1;iArc<nArcs;++iArc){rArc=disappearing[iArc];lArc=disappearing[iArc-1];d3_geom_voronoiSetEdgeEnd(rArc.edge,lArc.site,rArc.site,vertex);}
1400lArc=disappearing[0];rArc=disappearing[nArcs-1];rArc.edge=d3_geom_voronoiCreateEdge(lArc.site,rArc.site,null,vertex);d3_geom_voronoiAttachCircle(lArc);d3_geom_voronoiAttachCircle(rArc);}
1401function d3_geom_voronoiAddBeach(site){var x=site.x,directrix=site.y,lArc,rArc,dxl,dxr,node=d3_geom_voronoiBeaches._;while(node){dxl=d3_geom_voronoiLeftBreakPoint(node,directrix)-x;if(dxl>ε)node=node.L;else{dxr=x-d3_geom_voronoiRightBreakPoint(node,directrix);if(dxr>ε){if(!node.R){lArc=node;break;}
1402node=node.R;}else{if(dxl>-ε){lArc=node.P;rArc=node;}else if(dxr>-ε){lArc=node;rArc=node.N;}else{lArc=rArc=node;}
1403break;}}}
1404var newArc=d3_geom_voronoiCreateBeach(site);d3_geom_voronoiBeaches.insert(lArc,newArc);if(!lArc&&!rArc)return;if(lArc===rArc){d3_geom_voronoiDetachCircle(lArc);rArc=d3_geom_voronoiCreateBeach(lArc.site);d3_geom_voronoiBeaches.insert(newArc,rArc);newArc.edge=rArc.edge=d3_geom_voronoiCreateEdge(lArc.site,newArc.site);d3_geom_voronoiAttachCircle(lArc);d3_geom_voronoiAttachCircle(rArc);return;}
1405if(!rArc){newArc.edge=d3_geom_voronoiCreateEdge(lArc.site,newArc.site);return;}
1406d3_geom_voronoiDetachCircle(lArc);d3_geom_voronoiDetachCircle(rArc);var lSite=lArc.site,ax=lSite.x,ay=lSite.y,bx=site.x-ax,by=site.y-ay,rSite=rArc.site,cx=rSite.x-ax,cy=rSite.y-ay,d=2*(bx*cy-by*cx),hb=bx*bx+by*by,hc=cx*cx+cy*cy,vertex={x:(cy*hb-by*hc)/d+ax,y:(bx*hc-cx*hb)/d+ay};d3_geom_voronoiSetEdgeEnd(rArc.edge,lSite,rSite,vertex);newArc.edge=d3_geom_voronoiCreateEdge(lSite,site,null,vertex);rArc.edge=d3_geom_voronoiCreateEdge(site,rSite,null,vertex);d3_geom_voronoiAttachCircle(lArc);d3_geom_voronoiAttachCircle(rArc);}
1407function d3_geom_voronoiLeftBreakPoint(arc,directrix){var site=arc.site,rfocx=site.x,rfocy=site.y,pby2=rfocy-directrix;if(!pby2)return rfocx;var lArc=arc.P;if(!lArc)return-Infinity;site=lArc.site;var lfocx=site.x,lfocy=site.y,plby2=lfocy-directrix;if(!plby2)return lfocx;var hl=lfocx-rfocx,aby2=1/pby2-1/plby2,b=hl/plby2;if(aby2)return(-b+Math.sqrt(b*b-2*aby2*(hl*hl/(-2*plby2)-lfocy+plby2/2+rfocy-pby2/2)))/aby2+rfocx;return(rfocx+lfocx)/2;}
1408function d3_geom_voronoiRightBreakPoint(arc,directrix){var rArc=arc.N;if(rArc)return d3_geom_voronoiLeftBreakPoint(rArc,directrix);var site=arc.site;return site.y===directrix?site.x:Infinity;}
1409function d3_geom_voronoiCell(site){this.site=site;this.edges=[];}
1410d3_geom_voronoiCell.prototype.prepare=function(){var halfEdges=this.edges,iHalfEdge=halfEdges.length,edge;while(iHalfEdge--){edge=halfEdges[iHalfEdge].edge;if(!edge.b||!edge.a)halfEdges.splice(iHalfEdge,1);}
1411halfEdges.sort(d3_geom_voronoiHalfEdgeOrder);return halfEdges.length;};function d3_geom_voronoiCloseCells(extent){var x0=extent[0][0],x1=extent[1][0],y0=extent[0][1],y1=extent[1][1],x2,y2,x3,y3,cells=d3_geom_voronoiCells,iCell=cells.length,cell,iHalfEdge,halfEdges,nHalfEdges,start,end;while(iCell--){cell=cells[iCell];if(!cell||!cell.prepare())continue;halfEdges=cell.edges;nHalfEdges=halfEdges.length;iHalfEdge=0;while(iHalfEdge<nHalfEdges){end=halfEdges[iHalfEdge].end(),x3=end.x,y3=end.y;start=halfEdges[++iHalfEdge%nHalfEdges].start(),x2=start.x,y2=start.y;if(abs(x3-x2)>ε||abs(y3-y2)>ε){halfEdges.splice(iHalfEdge,0,new d3_geom_voronoiHalfEdge(d3_geom_voronoiCreateBorderEdge(cell.site,end,abs(x3-x0)<ε&&y1-y3>ε?{x:x0,y:abs(x2-x0)<ε?y2:y1}:abs(y3-y1)<ε&&x1-x3>ε?{x:abs(y2-y1)<ε?x2:x1,y:y1}:abs(x3-x1)<ε&&y3-y0>ε?{x:x1,y:abs(x2-x1)<ε?y2:y0}:abs(y3-y0)<ε&&x3-x0>ε?{x:abs(y2-y0)<ε?x2:x0,y:y0}:null),cell.site,null));++nHalfEdges;}}}}
1412function d3_geom_voronoiHalfEdgeOrder(a,b){return b.angle-a.angle;}
1413function d3_geom_voronoiCircle(){d3_geom_voronoiRedBlackNode(this);this.x=this.y=this.arc=this.site=this.cy=null;}
1414function d3_geom_voronoiAttachCircle(arc){var lArc=arc.P,rArc=arc.N;if(!lArc||!rArc)return;var lSite=lArc.site,cSite=arc.site,rSite=rArc.site;if(lSite===rSite)return;var bx=cSite.x,by=cSite.y,ax=lSite.x-bx,ay=lSite.y-by,cx=rSite.x-bx,cy=rSite.y-by;var d=2*(ax*cy-ay*cx);if(d>=-ε2)return;var ha=ax*ax+ay*ay,hc=cx*cx+cy*cy,x=(cy*ha-ay*hc)/d,y=(ax*hc-cx*ha)/d,cy=y+by;var circle=d3_geom_voronoiCirclePool.pop()||new d3_geom_voronoiCircle();
1414circle.arc=arc;circle.site=cSite;circle.x=x+bx;circle.y=cy+Math.sqrt(x*x+y*y);circle.cy=cy;arc.circle=circle;var before=null,node=d3_geom_voronoiCircles._;while(node){if(circle.y<node.y||circle.y===node.y&&circle.x<=node.x){if(node.L)node=node.L;else{before=node.P;break;}}else{if(node.R)node=node.R;else{before=node;break;}}}
1415d3_geom_voronoiCircles.insert(before,circle);if(!before)d3_geom_voronoiFirstCircle=circle;}
1416function d3_geom_voronoiDetachCircle(arc){var circle=arc.circle;if(circle){if(!circle.P)d3_geom_voronoiFirstCircle=circle.N;d3_geom_voronoiCircles.remove(circle);d3_geom_voronoiCirclePool.push(circle);d3_geom_voronoiRedBlackNode(circle);arc.circle=null;}}
1417function d3_geom_voronoiClipEdges(extent){var edges=d3_geom_voronoiEdges,clip=d3_geom_clipLine(extent[0][0],extent[0][1],extent[1][0],extent[1][1]),i=edges.length,e;while(i--){e=edges[i];if(!d3_geom_voronoiConnectEdge(e,extent)||!clip(e)||abs(e.a.x-e.b.x)<ε&&abs(e.a.y-e.b.y)<ε){e.a=e.b=null;edges.splice(i,1);}}}
1418function d3_geom_voronoiConnectEdge(edge,extent){var vb=edge.b;if(vb)return true;var va=edge.a,x0=extent[0][0],x1=extent[1][0],y0=extent[0][1],y1=extent[1][1],lSite=edge.l,rSite=edge.r,lx=lSite.x,ly=lSite.y,rx=rSite.x,ry=rSite.y,fx=(lx+rx)/2,fy=(ly+ry)/2,fm,fb;if(ry===ly){if(fx<x0||fx>=x1)return;if(lx>rx){if(!va)va={x:fx,y:y0};else if(va.y>=y1)return;vb={x:fx,y:y1};}else{if(!va)va={x:fx,y:y1};else if(va.y<y0)return;vb={x:fx,y:y0};}}else{fm=(lx-rx)/(ry-ly);fb=fy-fm*fx;if(fm<-1||fm>1){if(lx>rx){if(!va)va={x:(y0-fb)/fm,y:y0};else if(va.y>=y1)return;vb={x:(y1-fb)/fm,y:y1};}else{if(!va)va={x:(y1-fb)/fm,y:y1};else if(va.y<y0)return;vb={x:(y0-fb)/fm,y:y0};}}else{if(ly<ry){if(!va)va={x:x0,y:fm*x0+fb};else if(va.x>=x1)return;vb={x:x1,y:fm*x1+fb};}else{if(!va)va={x:x1,y:fm*x1+fb};else if(va.x<x0)return;vb={x:x0,y:fm*x0+fb};}}}
1419edge.a=va;edge.b=vb;return true;}
1420function d3_geom_voronoiEdge(lSite,rSite){this.l=lSite;this.r=rSite;this.a=this.b=null;}
1421function d3_geom_voronoiCreateEdge(lSite,rSite,va,vb){var edge=new d3_geom_voronoiEdge(lSite,rSite);d3_geom_voronoiEdges.push(edge);if(va)d3_geom_voronoiSetEdgeEnd(edge,lSite,rSite,va);if(vb)d3_geom_voronoiSetEdgeEnd(edge,rSite,lSite,vb);d3_geom_voronoiCells[lSite.i].edges.push(new d3_geom_voronoiHalfEdge(edge,lSite,rSite));d3_geom_voronoiCells[rSite.i].edges.push(new d3_geom_voronoiHalfEdge(edge,rSite,lSite));return edge;}
1422function d3_geom_voronoiCreateBorderEdge(lSite,va,vb){var edge=new d3_geom_voronoiEdge(lSite,null);edge.a=va;edge.b=vb;d3_geom_voronoiEdges.push(edge);return edge;}
1423function d3_geom_voronoiSetEdgeEnd(edge,lSite,rSite,vertex){if(!edge.a&&!edge.b){edge.a=vertex;edge.l=lSite;edge.r=rSite;}else if(edge.l===rSite){edge.b=vertex;}else{edge.a=vertex;}}
1424function d3_geom_voronoiHalfEdge(edge,lSite,rSite){var va=edge.a,vb=edge.b;this.edge=edge;this.site=lSite;this.angle=rSite?Math.atan2(rSite.y-lSite.y,rSite.x-lSite.x):edge.l===lSite?Math.atan2(vb.x-va.x,va.y-vb.y):Math.atan2(va.x-vb.x,vb.y-va.y);}
1425d3_geom_voronoiHalfEdge.prototype={start:function(){return this.edge.l===this.site?this.edge.a:this.edge.b;},end:function(){return this.edge.l===this.site?this.edge.b:this.edge.a;}};function d3_geom_voronoiRedBlackTree(){this._=null;}
1426function d3_geom_voronoiRedBlackNode(node){node.U=node.C=node.L=node.R=node.P=node.N=null;}
1427d3_geom_voronoiRedBlackTree.prototype={insert:function(after,node){var parent,grandpa,uncle;if(after){node.P=after;node.N=after.N;if(after.N)after.N.P=node;after.N=node;if(after.R){after=after.R;while(after.L)after=after.L;after.L=node;}else{after.R=node;}
1428parent=after;}else if(this._){after=d3_geom_voronoiRedBlackFirst(this._);node.P=null;node.N=after;after.P=after.L=node;parent=after;}else{node.P=node.N=null;this._=node;parent=null;}
1429node.L=node.R=null;
1429node.U=parent;node.C=true;after=node;while(parent&&parent.C){grandpa=parent.U;if(parent===grandpa.L){uncle=grandpa.R;if(uncle&&uncle.C){parent.C=uncle.C=false;grandpa.C=true;after=grandpa;}else{if(after===parent.R){d3_geom_voronoiRedBlackRotateLeft(this,parent);after=parent;parent=after.U;}
1430parent.C=false;grandpa.C=true;d3_geom_voronoiRedBlackRotateRight(this,grandpa);}}else{uncle=grandpa.L;if(uncle&&uncle.C){parent.C=uncle.C=false;grandpa.C=true;after=grandpa;}else{if(after===parent.L){d3_geom_voronoiRedBlackRotateRight(this,parent);after=parent;parent=after.U;}
1431parent.C=false;grandpa.C=true;d3_geom_voronoiRedBlackRotateLeft(this,grandpa);}}
1432parent=after.U;}
1433this._.C=false;},remove:function(node){if(node.N)node.N.P=node.P;if(node.P)node.P.N=node.N;node.N=node.P=null;var parent=node.U,sibling,left=node.L,right=node.R,next,red;if(!left)next=right;else if(!right)next=left;else next=d3_geom_voronoiRedBlackFirst(right);if(parent){if(parent.L===node)parent.L=next;else parent.R=next;}else{this._=next;}
1434if(left&&right){red=next.C;next.C=node.C;next.L=left;left.U=next;if(next!==right){parent=next.U;next.U=node.U;node=next.R;parent.L=node;next.R=right;right.U=next;}else{next.U=parent;parent=next;node=next.R;}}else{red=node.C;node=next;}
1435if(node)node.U=parent;if(red)return;if(node&&node.C){node.C=false;return;}
1436do{if(node===this._)break;if(node===parent.L){sibling=parent.R;if(sibling.C){sibling.C=false;parent.C=true;d3_geom_voronoiRedBlackRotateLeft(this,parent);sibling=parent.R;}
1437if(sibling.L&&sibling.L.C||sibling.R&&sibling.R.C){if(!sibling.R||!sibling.R.C){sibling.L.C=false;sibling.C=true;d3_geom_voronoiRedBlackRotateRight(this,sibling);sibling=parent.R;}
1438sibling.C=parent.C;parent.C=sibling.R.C=false;d3_geom_voronoiRedBlackRotateLeft(this,parent);node=this._;break;}}else{sibling=parent.L;if(sibling.C){sibling.C=false;parent.C=true;d3_geom_voronoiRedBlackRotateRight(this,parent);sibling=parent.L;}
1439if(sibling.L&&sibling.L.C||sibling.R&&sibling.R.C){if(!sibling.L||!sibling.L.C){sibling.R.C=false;sibling.C=true;d3_geom_voronoiRedBlackRotateLeft(this,sibling);sibling=parent.L;}
1440sibling.C=parent.C;parent.C=sibling.L.C=false;d3_geom_voronoiRedBlackRotateRight(this,parent);node=this._;break;}}
1441sibling.C=true;node=parent;parent=parent.U;}while(!node.C);if(node)node.C=false;}};function d3_geom_voronoiRedBlackRotateLeft(tree,node){var p=node,q=node.R,parent=p.U;if(parent){if(parent.L===p)parent.L=q;else parent.R=q;}else{tree._=q;}
1442q.U=parent;p.U=q;p.R=q.L;if(p.R)p.R.U=p;q.L=p;}
1443function d3_geom_voronoiRedBlackRotateRight(tree,node){var p=node,q=node.L,parent=p.U;if(parent){if(parent.L===p)parent.L=q;else parent.R=q;}else{tree._=q;}
1444q.U=parent;p.U=q;p.L=q.R;if(p.L)p.L.U=p;q.R=p;}
1445function d3_geom_voronoiRedBlackFirst(node){while(node.L)node=node.L;return node;}
1446function d3_geom_voronoi(sites,bbox){var site=sites.sort(d3_geom_voronoiVertexOrder).pop(),x0,y0,circle;d3_geom_voronoiEdges=[];d3_geom_voronoiCells=new Array(sites.length);d3_geom_voronoiBeaches=new d3_geom_voronoiRedBlackTree();d3_geom_voronoiCircles=new d3_geom_voronoiRedBlackTree();while(true){circle=d3_geom_voronoiFirstCircle;if(site&&(!circle||site.y<circle.y||site.y===circle.y&&site.x<circle.x)){if(site.x!==x0||site.y!==y0){d3_geom_voronoiCells[site.i]=new d3_geom_voronoiCell(site);d3_geom_voronoiAddBeach(site);x0=site.x,y0=site.y;}
1447site=sites.pop();}else if(circle){d3_geom_voronoiRemoveBeach(circle.arc);}else{break;}}
1448if(bbox)d3_geom_voronoiClipEdges(bbox),d3_geom_voronoiCloseCells(bbox);var diagram={cells:d3_geom_voronoiCells,edges:d3_geom_voronoiEdges};d3_geom_voronoiBeaches=d3_geom_voronoiCircles=d3_geom_voronoiEdges=d3_geom_voronoiCells=null;return diagram;}
1449function d3_geom_voronoiVertexOrder(a,b){return b.y-a.y||b.x-a.x;}
1450d3.geom.voronoi=function(points){var x=d3_geom_pointX,y=d3_geom_pointY,fx=x,fy=y,clipExtent=d3_geom_voronoiClipExtent;if(points)return voronoi(points);function voronoi(data){var polygons=new Array(data.length),x0=clipExtent[0][0],y0=clipExtent[0][1],x1=clipExtent[1][0],y1=clipExtent[1][1];d3_geom_voronoi(sites(data),clipExtent).cells.forEach(function(cell,i){var edges=cell.edges,site=cell.site,polygon=polygons[i]=edges.length?edges.map(function(e){var s=e.start();return[s.x,s.y];}):site.x>=x0&&site.x<=x1&&site.y>=y0&&site.y<=y1?[[x0,y1],[x1,y1],[x1,y0],[x0,y0]]:[];polygon.point=data[i];});return polygons;}
1451function sites(data){return data.map(function(d,i){return{x:Math.round(fx(d,i)/ε)*ε,y:Math.round(fy(d,i)/ε)*ε,i:i};});}
1452voronoi.links=function(data){return d3_geom_voronoi(sites(data)).edges.filter(function(edge){return edge.l&&edge.r;}).map(function(edge){return{source:data[edge.l.i],target:data[edge.r.i]};});};voronoi.triangles=function(data){var triangles=[];
1452d3_geom_voronoi(sites(data)).cells.forEach(function(cell,i){var site=cell.site,edges=cell.edges.sort(d3_geom_voronoiHalfEdgeOrder),j=-1,m=edges.length,e0,s0,e1=edges[m-1].edge,s1=e1.l===site?e1.r:e1.l;while(++j<m){e0=e1;s0=s1;e1=edges[j].edge;s1=e1.l===site?e1.r:e1.l;if(i<s0.i&&i<s1.i&&d3_geom_voronoiTriangleArea(site,s0,s1)<0){triangles.push([data[i],data[s0.i],data[s1.i]]);}}});return triangles;};voronoi.x=function(_){return arguments.length?(fx=d3_functor(x=_),voronoi):x;};voronoi.y=function(_){return arguments.length?(fy=d3_functor(y=_),voronoi):y;};voronoi.clipExtent=function(_){if(!arguments.length)return clipExtent===d3_geom_voronoiClipExtent?null:clipExtent;clipExtent=_==null?d3_geom_voronoiClipExtent:_;return voronoi;};voronoi.size=function(_){if(!arguments.length)return clipExtent===d3_geom_voronoiClipExtent?null:clipExtent&&clipExtent[1];return voronoi.clipExtent(_&&[[0,0],_]);};return voronoi;};var d3_geom_voronoiClipExtent=[[-1e6,-1e6],[1e6,1e6]];function d3_geom_voronoiTriangleArea(a,b,c){return(a.x-c.x)*(b.y-a.y)-(a.x-b.x)*(c.y-a.y);}
1453d3.geom.delaunay=function(vertices){return d3.geom.voronoi().triangles(vertices);};d3.geom.quadtree=function(points,x1,y1,x2,y2){var x=d3_geom_pointX,y=d3_geom_pointY,compat;if(compat=arguments.length){x=d3_geom_quadtreeCompatX;y=d3_geom_quadtreeCompatY;if(compat===3){y2=y1;x2=x1;y1=x1=0;}
1454return quadtree(points);}
1455function quadtree(data){var d,fx=d3_functor(x),fy=d3_functor(y),xs,ys,i,n,x1_,y1_,x2_,y2_;if(x1!=null){x1_=x1,y1_=y1,x2_=x2,y2_=y2;}else{x2_=y2_=-(x1_=y1_=Infinity);xs=[],ys=[];n=data.length;if(compat)for(i=0;i<n;++i){d=data[i];if(d.x<x1_)x1_=d.x;if(d.y<y1_)y1_=d.y;if(d.x>x2_)x2_=d.x;if(d.y>y2_)y2_=d.y;xs.push(d.x);ys.push(d.y);}else for(i=0;i<n;++i){var x_=+fx(d=data[i],i),y_=+fy(d,i);if(x_<x1_)x1_=x_;if(y_<y1_)y1_=y_;if(x_>x2_)x2_=x_;if(y_>y2_)y2_=y_;xs.push(x_);ys.push(y_);}}
1456var dx=x2_-x1_,dy=y2_-y1_;if(dx>dy)y2_=y1_+dx;else x2_=x1_+dy;function insert(n,d,x,y,x1,y1,x2,y2){if(isNaN(x)||isNaN(y))return;if(n.leaf){var nx=n.x,ny=n.y;if(nx!=null){if(abs(nx-x)+abs(ny-y)<.01){insertChild(n,d,x,y,x1,y1,x2,y2);}else{var nPoint=n.point;n.x=n.y=n.point=null;insertChild(n,nPoint,nx,ny,x1,y1,x2,y2);insertChild(n,d,x,y,x1,y1,x2,y2);}}else{n.x=x,n.y=y,n.point=d;}}else{insertChild(n,d,x,y,x1,y1,x2,y2);}}
1457function insertChild(n,d,x,y,x1,y1,x2,y2){var xm=(x1+x2)*.5,ym=(y1+y2)*.5,right=x>=xm,below=y>=ym,i=below<<1|right;n.leaf=false;n=n.nodes[i]||(n.nodes[i]=d3_geom_quadtreeNode());if(right)x1=xm;else x2=xm;if(below)y1=ym;else y2=ym;insert(n,d,x,y,x1,y1,x2,y2);}
1458var root=d3_geom_quadtreeNode();root.add=function(d){insert(root,d,+fx(d,++i),+fy(d,i),x1_,y1_,x2_,y2_);};root.visit=function(f){d3_geom_quadtreeVisit(f,root,x1_,y1_,x2_,y2_);};root.find=function(point){return d3_geom_quadtreeFind(root,point[0],point[1],x1_,y1_,x2_,y2_);};i=-1;if(x1==null){while(++i<n){insert(root,data[i],xs[i],ys[i],x1_,y1_,x2_,y2_);}
1459--i;}else data.forEach(root.add);xs=ys=data=d=null;return root;}
1460quadtree.x=function(_){return arguments.length?(x=_,quadtree):x;};quadtree.y=function(_){return arguments.length?(y=_,quadtree):y;};quadtree.extent=function(_){if(!arguments.length)return x1==null?null:[[x1,y1],[x2,y2]];if(_==null)x1=y1=x2=y2=null;else x1=+_[0][0],y1=+_[0][1],x2=+_[1][0],y2=+_[1][1];return quadtree;};quadtree.size=function(_){if(!arguments.length)return x1==null?null:[x2-x1,y2-y1];if(_==null)x1=y1=x2=y2=null;else x1=y1=0,x2=+_[0],y2=+_[1];return quadtree;};return quadtree;};function d3_geom_quadtreeCompatX(d){return d.x;}
1461function d3_geom_quadtreeCompatY(d){return d.y;}
1462function d3_geom_quadtreeNode(){return{leaf:true,nodes:[],point:null,x:null,y:null};}
1463function d3_geom_quadtreeVisit(f,node,x1,y1,x2,y2){if(!f(node,x1,y1,x2,y2)){var sx=(x1+x2)*.5,sy=(y1+y2)*.5,children=node.nodes;if(children[0])d3_geom_quadtreeVisit(f,children[0],x1,y1,sx,sy);if(children[1])d3_geom_quadtreeVisit(f,children[1],sx,y1,x2,sy);if(children[2])d3_geom_quadtreeVisit(f,children[2],x1,sy,sx,y2);if(children[3])d3_geom_quadtreeVisit(f,children[3],sx,sy,x2,y2);}}
1464function d3_geom_quadtreeFind(root,x,y,x0,y0,x3,y3){var minDistance2=Infinity,closestPoint;(function find(node,x1,y1,x2,y2){if(x1>x3||y1>y3||x2<x0||y2<y0)return;if(point=node.point){var point,dx=x-node.x,dy=y-node.y,distance2=dx*dx+dy*dy;if(distance2<minDistance2){var distance=Math.sqrt(minDistance2=distance2);x0=x-distance,y0=y-distance;x3=x+distance,y3=y+distance;closestPoint=point;}}
1465var children=node.nodes,xm=(x1+x2)*.5,ym=(y1+y2)*.5,right=x>=xm,below=y>=ym;for(var i=below<<1|right,j=i+4;i<j;++i){if(node=children[i&3])switch(i&3){case 0:find(node,x1,y1,xm,ym);break;case 1:find(node,xm,y1,x2,ym);break;case 2:find(node,x1,ym,xm,y2);break;case 3:find(node,xm,ym,x2,y2);break;}}})(root,x0,y0,x3,y3);return closestPoint;}
1466d3.interpolateRgb=d3_interpolateRgb;function d3_interpolateRgb(a,b){a=d3.rgb(a);
1466b=d3.rgb(b);var ar=a.r,ag=a.g,ab=a.b,br=b.r-ar,bg=b.g-ag,bb=b.b-ab;return function(t){return"#"+d3_rgb_hex(Math.round(ar+br*t))+d3_rgb_hex(Math.round(ag+bg*t))+d3_rgb_hex(Math.round(ab+bb*t));};}
1467d3.interpolateObject=d3_interpolateObject;function d3_interpolateObject(a,b){var i={},c={},k;for(k in a){if(k in b){i[k]=d3_interpolate(a[k],b[k]);}else{c[k]=a[k];}}
1468for(k in b){if(!(k in a)){c[k]=b[k];}}
1469return function(t){for(k in i)c[k]=i[k](t);return c;};}
1470d3.interpolateNumber=d3_interpolateNumber;function d3_interpolateNumber(a,b){a=+a,b=+b;return function(t){return a*(1-t)+b*t;};}
1471d3.interpolateString=d3_interpolateString;function d3_interpolateString(a,b){var bi=d3_interpolate_numberA.lastIndex=d3_interpolate_numberB.lastIndex=0,am,bm,bs,i=-1,s=[],q=[];a=a+"",b=b+"";while((am=d3_interpolate_numberA.exec(a))&&(bm=d3_interpolate_numberB.exec(b))){if((bs=bm.index)>bi){bs=b.slice(bi,bs);if(s[i])s[i]+=bs;else s[++i]=bs;}
1472if((am=am[0])===(bm=bm[0])){if(s[i])s[i]+=bm;else s[++i]=bm;}else{s[++i]=null;q.push({i:i,x:d3_interpolateNumber(am,bm)});}
1473bi=d3_interpolate_numberB.lastIndex;}
1474if(bi<b.length){bs=b.slice(bi);if(s[i])s[i]+=bs;else s[++i]=bs;}
1475return s.length<2?q[0]?(b=q[0].x,function(t){return b(t)+"";}):function(){return b;}:(b=q.length,function(t){for(var i=0,o;i<b;++i)s[(o=q[i]).i]=o.x(t);return s.join("");});}
1476var d3_interpolate_numberA=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,d3_interpolate_numberB=new RegExp(d3_interpolate_numberA.source,"g");d3.interpolate=d3_interpolate;function d3_interpolate(a,b){var i=d3.interpolators.length,f;while(--i>=0&&!(f=d3.interpolators[i](a,b)));return f;}
1477d3.interpolators=[function(a,b){var t=typeof b;return(t==="string"?d3_rgb_names.has(b.toLowerCase())||/^(#|rgb\(|hsl\()/i.test(b)?d3_interpolateRgb:d3_interpolateString:b instanceof d3_color?d3_interpolateRgb:Array.isArray(b)?d3_interpolateArray:t==="object"&&isNaN(b)?d3_interpolateObject:d3_interpolateNumber)(a,b);}];d3.interpolateArray=d3_interpolateArray;function d3_interpolateArray(a,b){var x=[],c=[],na=a.length,nb=b.length,n0=Math.min(a.length,b.length),i;for(i=0;i<n0;++i)x.push(d3_interpolate(a[i],b[i]));for(;i<na;++i)c[i]=a[i];for(;i<nb;++i)c[i]=b[i];return function(t){for(i=0;i<n0;++i)c[i]=x[i](t);return c;};}
1478var d3_ease_default=function(){return d3_identity;};var d3_ease=d3.map({linear:d3_ease_default,poly:d3_ease_poly,quad:function(){return d3_ease_quad;},cubic:function(){return d3_ease_cubic;},sin:function(){return d3_ease_sin;},exp:function(){return d3_ease_exp;},circle:function(){return d3_ease_circle;},elastic:d3_ease_elastic,back:d3_ease_back,bounce:function(){return d3_ease_bounce;}});var d3_ease_mode=d3.map({"in":d3_identity,out:d3_ease_reverse,"in-out":d3_ease_reflect,"out-in":function(f){return d3_ease_reflect(d3_ease_reverse(f));}});d3.ease=function(name){var i=name.indexOf("-"),t=i>=0?name.slice(0,i):name,m=i>=0?name.slice(i+1):"in";t=d3_ease.get(t)||d3_ease_default;m=d3_ease_mode.get(m)||d3_identity;return d3_ease_clamp(m(t.apply(null,d3_arraySlice.call(arguments,1))));};function d3_ease_clamp(f){return function(t){return t<=0?0:t>=1?1:f(t);};}
1479function d3_ease_reverse(f){return function(t){return 1-f(1-t);};}
1480function d3_ease_reflect(f){return function(t){return.5*(t<.5?f(2*t):2-f(2-2*t));};}
1481function d3_ease_quad(t){return t*t;}
1482function d3_ease_cubic(t){return t*t*t;}
1483function d3_ease_cubicInOut(t){if(t<=0)return 0;if(t>=1)return 1;var t2=t*t,t3=t2*t;return 4*(t<.5?t3:3*(t-t2)+t3-.75);}
1484function d3_ease_poly(e){return function(t){return Math.pow(t,e);};}
1485function d3_ease_sin(t){return 1-Math.cos(t*halfπ);}
1486function d3_ease_exp(t){return Math.pow(2,10*(t-1));}
1487function d3_ease_circle(t){return 1-Math.sqrt(1-t*t);}
1488function d3_ease_elastic(a,p){var s;if(arguments.length<2)p=.45;if(arguments.length)s=p/τ*Math.asin(1/a);else a=1,s=p/4;return function(t){return 1+a*Math.pow(2,-10*t)*Math.sin((t-s)*τ/p);};}
1489function d3_ease_back(s){if(!s)s=1.70158;return function(t){return t*t*((s+1)*t-s);};}
1490function d3_ease_bounce(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375;}
1491d3.interpolateHcl=d3_interpolateHcl;function d3_interpolateHcl(a,b){a=d3.hcl(a);
1491b=d3.hcl(b);var ah=a.h,ac=a.c,al=a.l,bh=b.h-ah,bc=b.c-ac,bl=b.l-al;if(isNaN(bc))bc=0,ac=isNaN(ac)?b.c:ac;if(isNaN(bh))bh=0,ah=isNaN(ah)?b.h:ah;else if(bh>180)bh-=360;else if(bh<-180)bh+=360;return function(t){return d3_hcl_lab(ah+bh*t,ac+bc*t,al+bl*t)+"";};}
1492d3.interpolateHsl=d3_interpolateHsl;function d3_interpolateHsl(a,b){a=d3.hsl(a);b=d3.hsl(b);var ah=a.h,as=a.s,al=a.l,bh=b.h-ah,bs=b.s-as,bl=b.l-al;if(isNaN(bs))bs=0,as=isNaN(as)?b.s:as;if(isNaN(bh))bh=0,ah=isNaN(ah)?b.h:ah;else if(bh>180)bh-=360;else if(bh<-180)bh+=360;return function(t){return d3_hsl_rgb(ah+bh*t,as+bs*t,al+bl*t)+"";};}
1493d3.interpolateLab=d3_interpolateLab;function d3_interpolateLab(a,b){a=d3.lab(a);b=d3.lab(b);var al=a.l,aa=a.a,ab=a.b,bl=b.l-al,ba=b.a-aa,bb=b.b-ab;return function(t){return d3_lab_rgb(al+bl*t,aa+ba*t,ab+bb*t)+"";};}
1494d3.interpolateRound=d3_interpolateRound;function d3_interpolateRound(a,b){b-=a;return function(t){return Math.round(a+b*t);};}
1495d3.transform=function(string){var g=d3_document.createElementNS(d3.ns.prefix.svg,"g");return(d3.transform=function(string){if(string!=null){g.setAttribute("transform",string);var t=g.transform.baseVal.consolidate();}
1496return new d3_transform(t?t.matrix:d3_transformIdentity);})(string);};function d3_transform(m){var r0=[m.a,m.b],r1=[m.c,m.d],kx=d3_transformNormalize(r0),kz=d3_transformDot(r0,r1),ky=d3_transformNormalize(d3_transformCombine(r1,r0,-kz))||0;if(r0[0]*r1[1]<r1[0]*r0[1]){r0[0]*=-1;r0[1]*=-1;kx*=-1;kz*=-1;}
1497this.rotate=(kx?Math.atan2(r0[1],r0[0]):Math.atan2(-r1[0],r1[1]))*d3_degrees;this.translate=[m.e,m.f];this.scale=[kx,ky];this.skew=ky?Math.atan2(kz,ky)*d3_degrees:0;}
1498d3_transform.prototype.toString=function(){return"translate("+this.translate+")rotate("+this.rotate+")skewX("+this.skew+")scale("+this.scale+")";};function d3_transformDot(a,b){return a[0]*b[0]+a[1]*b[1];}
1499function d3_transformNormalize(a){var k=Math.sqrt(d3_transformDot(a,a));if(k){a[0]/=k;a[1]/=k;}
1500return k;}
1501function d3_transformCombine(a,b,k){a[0]+=k*b[0];a[1]+=k*b[1];return a;}
1502var d3_transformIdentity={a:1,b:0,c:0,d:1,e:0,f:0};d3.interpolateTransform=d3_interpolateTransform;function d3_interpolateTransform(a,b){var s=[],q=[],n,A=d3.transform(a),B=d3.transform(b),ta=A.translate,tb=B.translate,ra=A.rotate,rb=B.rotate,wa=A.skew,wb=B.skew,ka=A.scale,kb=B.scale;if(ta[0]!=tb[0]||ta[1]!=tb[1]){s.push("translate(",null,",",null,")");q.push({i:1,x:d3_interpolateNumber(ta[0],tb[0])},{i:3,x:d3_interpolateNumber(ta[1],tb[1])});}else if(tb[0]||tb[1]){s.push("translate("+tb+")");}else{s.push("");}
1503if(ra!=rb){if(ra-rb>180)rb+=360;else if(rb-ra>180)ra+=360;q.push({i:s.push(s.pop()+"rotate(",null,")")-2,x:d3_interpolateNumber(ra,rb)});}else if(rb){s.push(s.pop()+"rotate("+rb+")");}
1504if(wa!=wb){q.push({i:s.push(s.pop()+"skewX(",null,")")-2,x:d3_interpolateNumber(wa,wb)});}else if(wb){s.push(s.pop()+"skewX("+wb+")");}
1505if(ka[0]!=kb[0]||ka[1]!=kb[1]){n=s.push(s.pop()+"scale(",null,",",null,")");q.push({i:n-4,x:d3_interpolateNumber(ka[0],kb[0])},{i:n-2,x:d3_interpolateNumber(ka[1],kb[1])});}else if(kb[0]!=1||kb[1]!=1){s.push(s.pop()+"scale("+kb+")");}
1506n=q.length;return function(t){var i=-1,o;while(++i<n)s[(o=q[i]).i]=o.x(t);return s.join("");};}
1507function d3_uninterpolateNumber(a,b){b=(b-=a=+a)||1/b;return function(x){return(x-a)/b;};}
1508function d3_uninterpolateClamp(a,b){b=(b-=a=+a)||1/b;return function(x){return Math.max(0,Math.min(1,(x-a)/b));};}
1509d3.layout={};d3.layout.bundle=function(){return function(links){var paths=[],i=-1,n=links.length;while(++i<n)paths.push(d3_layout_bundlePath(links[i]));return paths;};};function d3_layout_bundlePath(link){var start=link.source,end=link.target,lca=d3_layout_bundleLeastCommonAncestor(start,end),points=[start];while(start!==lca){start=start.parent;points.push(start);}
1510var k=points.length;while(end!==lca){points.splice(k,0,end);end=end.parent;}
1511return points;}
1512function d3_layout_bundleAncestors(node){var ancestors=[],parent=node.parent;while(parent!=null){ancestors.push(node);node=parent;parent=parent.parent;}
1513ancestors.push(node);return ancestors;}
1514function d3_layout_bundleLeastCommonAncestor(a,b){if(a===b)return a;var aNodes=d3_layout_bundleAncestors(a),bNodes=d3_layout_bundleAncestors(b),aNode=aNodes.pop(),bNode=bNodes.pop(),sharedNode=null;while(aNode===bNode){sharedNode=aNode;aNode=aNodes.pop();bNode=bNodes.pop();}
1515return sharedNode;}
1516d3.layout.chord=function(){var chord={},chords,groups,matrix,n,padding=0,sortGroups,sortSubgroups,sortChords;function relayout(){var subgroups={},groupSums=[],groupIndex=d3.range(n),subgroupIndex=[],k,x,x0,i,j;chords=[];groups=[];k=0,i=-1;while(++i<n){x=0,j=-1;while(++j<n){x+=matrix[i][j];}
1517groupSums.push(x);subgroupIndex.push(d3.range(n));k+=x;}
1518if(sortGroups){groupIndex.sort(function(a,b){return sortGroups(groupSums[a],groupSums[b]);});}
1519if(sortSubgroups){subgroupIndex.forEach(function(d,i){d.sort(function(a,b){return sortSubgroups(matrix[i][a],matrix[i][b]);});});}
1520k=(τ-padding*n)/k;x=0,i=-1;while(++i<n){x0=x,j=-1;while(++j<n){var di=groupIndex[i],dj=subgroupIndex[di][j],v=matrix[di][dj],a0=x,a1=x+=v*k;subgroups[di+"-"+dj]={index:di,subindex:dj,startAngle:a0,endAngle:a1,value:v};}
1521groups[di]={index:di,startAngle:x0,endAngle:x,value:(x-x0)/k};x+=padding;}
1522i=-1;while(++i<n){j=i-1;
1522while(++j<n){var source=subgroups[i+"-"+j],target=subgroups[j+"-"+i];if(source.value||target.value){chords.push(source.value<target.value?{source:target,target:source}:{source:source,target:target});}}}
1523if(sortChords)resort();}
1524function resort(){chords.sort(function(a,b){return sortChords((a.source.value+a.target.value)/2,(b.source.value+b.target.value)/2);});}
1525chord.matrix=function(x){if(!arguments.length)return matrix;n=(matrix=x)&&matrix.length;chords=groups=null;return chord;};chord.padding=function(x){if(!arguments.length)return padding;padding=x;chords=groups=null;return chord;};chord.sortGroups=function(x){if(!arguments.length)return sortGroups;sortGroups=x;chords=groups=null;return chord;};chord.sortSubgroups=function(x){if(!arguments.length)return sortSubgroups;sortSubgroups=x;chords=null;return chord;};chord.sortChords=function(x){if(!arguments.length)return sortChords;sortChords=x;if(chords)resort();return chord;};chord.chords=function(){if(!chords)relayout();return chords;};chord.groups=function(){if(!groups)relayout();return groups;};return chord;};d3.layout.force=function(){var force={},event=d3.dispatch("start","tick","end"),size=[1,1],drag,alpha,friction=.9,linkDistance=d3_layout_forceLinkDistance,linkStrength=d3_layout_forceLinkStrength,charge=-30,chargeDistance2=d3_layout_forceChargeDistance2,gravity=.1,theta2=.64,nodes=[],links=[],distances,strengths,charges;function repulse(node){return function(quad,x1,_,x2){if(quad.point!==node){var dx=quad.cx-node.x,dy=quad.cy-node.y,dw=x2-x1,dn=dx*dx+dy*dy;if(dw*dw/theta2<dn){if(dn<chargeDistance2){var k=quad.charge/dn;node.px-=dx*k;node.py-=dy*k;}
1526return true;}
1527if(quad.point&&dn&&dn<chargeDistance2){var k=quad.pointCharge/dn;node.px-=dx*k;node.py-=dy*k;}}
1528return!quad.charge;};}
1529force.tick=function(){if((alpha*=.99)<.005){event.end({type:"end",alpha:alpha=0});return true;}
1530var n=nodes.length,m=links.length,q,i,o,s,t,l,k,x,y;for(i=0;i<m;++i){o=links[i];s=o.source;t=o.target;x=t.x-s.x;y=t.y-s.y;if(l=x*x+y*y){l=alpha*strengths[i]*((l=Math.sqrt(l))-distances[i])/l;x*=l;y*=l;t.x-=x*(k=s.weight/(t.weight+s.weight));t.y-=y*k;s.x+=x*(k=1-k);s.y+=y*k;}}
1531if(k=alpha*gravity){x=size[0]/2;y=size[1]/2;i=-1;if(k)while(++i<n){o=nodes[i];o.x+=(x-o.x)*k;o.y+=(y-o.y)*k;}}
1532if(charge){d3_layout_forceAccumulate(q=d3.geom.quadtree(nodes),alpha,charges);i=-1;while(++i<n){if(!(o=nodes[i]).fixed){q.visit(repulse(o));}}}
1533i=-1;while(++i<n){o=nodes[i];if(o.fixed){o.x=o.px;o.y=o.py;}else{o.x-=(o.px-(o.px=o.x))*friction;o.y-=(o.py-(o.py=o.y))*friction;}}
1534event.tick({type:"tick",alpha:alpha});};force.nodes=function(x){if(!arguments.length)return nodes;nodes=x;return force;};force.links=function(x){if(!arguments.length)return links;links=x;return force;};force.size=function(x){if(!arguments.length)return size;size=x;return force;};force.linkDistance=function(x){if(!arguments.length)return linkDistance;linkDistance=typeof x==="function"?x:+x;return force;};force.distance=force.linkDistance;force.linkStrength=function(x){if(!arguments.length)return linkStrength;linkStrength=typeof x==="function"?x:+x;return force;};force.friction=function(x){if(!arguments.length)return friction;friction=+x;return force;};force.charge=function(x){if(!arguments.length)return charge;charge=typeof x==="function"?x:+x;return force;};force.chargeDistance=function(x){if(!arguments.length)return Math.sqrt(chargeDistance2);chargeDistance2=x*x;return force;};force.gravity=function(x){if(!arguments.length)return gravity;gravity=+x;return force;};force.theta=function(x){if(!arguments.length)return Math.sqrt(theta2);theta2=x*x;return force;};force.alpha=function(x){if(!arguments.length)return alpha;x=+x;if(alpha){if(x>0)alpha=x;else alpha=0;}else if(x>0){event.start({type:"start",alpha:alpha=x});d3.timer(force.tick);}
1535return force;};force.start=function(){var i,n=nodes.length,m=links.length,w=size[0],h=size[1],neighbors,o;for(i=0;i<n;++i){(o=nodes[i]).index=i;o.weight=0;}
1536for(i=0;i<m;++i){o=links[i];if(typeof o.source=="number")o.source=nodes[o.source];if(typeof o.target=="number")o.target=nodes[o.target];++o.source.weight;++o.target.weight;}
1537for(i=0;i<n;++i){o=nodes[i];if(isNaN(o.x))o.x=position("x",w);if(isNaN(o.y))o.y=position("y",h);if(isNaN(o.px))o.px=o.x;if(isNaN(o.py))o.py=o.y;}
1538distances=[];if(typeof linkDistance==="function")for(i=0;i<m;++i)distances[i]=+linkDistance.call(this,links[i],i);else for(i=0;i<m;++i)distances[i]=linkDistance;strengths=[];if(typeof linkStrength==="function")for(i=0;i<m;++i)strengths[i]=+linkStrength.call(this,links[i],i);else for(i=0;i<m;++i)strengths[i]=linkStrength;charges=[];if(typeof charge==="function")for(i=0;i<n;++i)charges[i]=+charge.call(this,nodes[i],i);else for(i=0;i<n;++i)charges[i]=charge;function position(dimension,size){if(!neighbors){neighbors=new Array(n);for(j=0;j<n;++j){neighbors[j]=[];}
1539for(j=0;j<m;++j){var o=links[j];neighbors[o.source.index].push(o.target);neighbors[o.target.index].push(o.source);}}
1540var candidates=neighbors[i],j=-1,l=candidates.length,x;while(++j<l)if(!isNaN(x=candidates[j][dimension]))return x;return Math.random()*size;}
1541return force.resume();};force.resume=function(){return force.alpha(.1);};force.stop=function(){return force.alpha(0);};force.drag=function(){if(!drag)drag=d3.behavior.drag().origin(d3_identity).on("dragstart.force",d3_layout_forceDragstart).on("drag.force",dragmove).on("dragend.force",d3_layout_forceDragend);if(!arguments.length)return drag;this.on("mouseover.force",d3_layout_forceMouseover).on("mouseout.force",d3_layout_forceMouseout).call(drag);};function dragmove(d){d.px=d3.event.x,d.py=d3.event.y;force.resume();}
1542return d3.rebind(force,event,"on");};function d3_layout_forceDragstart(d){d.fixed|=2;}
1543function d3_layout_forceDragend(d){d.fixed&=~6;}
1544function d3_layout_forceMouseover(d){d.fixed|=4;d.px=d.x,d.py=d.y;}
1545function d3_layout_forceMouseout(d){d.fixed&=~4;}
1546function d3_layout_forceAccumulate(quad,alpha,charges){var cx=0,cy=0;quad.charge=0;
1546if(!quad.leaf){var nodes=quad.nodes,n=nodes.length,i=-1,c;while(++i<n){c=nodes[i];if(c==null)continue;d3_layout_forceAccumulate(c,alpha,charges);quad.charge+=c.charge;cx+=c.charge*c.cx;cy+=c.charge*c.cy;}}
1547if(quad.point){if(!quad.leaf){quad.point.x+=Math.random()-.5;quad.point.y+=Math.random()-.5;}
1548var k=alpha*charges[quad.point.index];quad.charge+=quad.pointCharge=k;cx+=k*quad.point.x;cy+=k*quad.point.y;}
1549quad.cx=cx/quad.charge;quad.cy=cy/quad.charge;}
1550var d3_layout_forceLinkDistance=20,d3_layout_forceLinkStrength=1,d3_layout_forceChargeDistance2=Infinity;d3.layout.hierarchy=function(){var sort=d3_layout_hierarchySort,children=d3_layout_hierarchyChildren,value=d3_layout_hierarchyValue;function hierarchy(root){var stack=[root],nodes=[],node;root.depth=0;while((node=stack.pop())!=null){nodes.push(node);if((childs=children.call(hierarchy,node,node.depth))&&(n=childs.length)){var n,childs,child;while(--n>=0){stack.push(child=childs[n]);child.parent=node;child.depth=node.depth+1;}
1551if(value)node.value=0;node.children=childs;}else{if(value)node.value=+value.call(hierarchy,node,node.depth)||0;delete node.children;}}
1552d3_layout_hierarchyVisitAfter(root,function(node){var childs,parent;if(sort&&(childs=node.children))childs.sort(sort);if(value&&(parent=node.parent))parent.value+=node.value;});return nodes;}
1553hierarchy.sort=function(x){if(!arguments.length)return sort;sort=x;return hierarchy;};hierarchy.children=function(x){if(!arguments.length)return children;children=x;return hierarchy;};hierarchy.value=function(x){if(!arguments.length)return value;value=x;return hierarchy;};hierarchy.revalue=function(root){if(value){d3_layout_hierarchyVisitBefore(root,function(node){if(node.children)node.value=0;});d3_layout_hierarchyVisitAfter(root,function(node){var parent;if(!node.children)node.value=+value.call(hierarchy,node,node.depth)||0;if(parent=node.parent)parent.value+=node.value;});}
1554return root;};return hierarchy;};function d3_layout_hierarchyRebind(object,hierarchy){d3.rebind(object,hierarchy,"sort","children","value");object.nodes=object;object.links=d3_layout_hierarchyLinks;return object;}
1555function d3_layout_hierarchyVisitBefore(node,callback){var nodes=[node];while((node=nodes.pop())!=null){callback(node);if((children=node.children)&&(n=children.length)){var n,children;while(--n>=0)nodes.push(children[n]);}}
1555}
1556function d3_layout_hierarchyVisitAfter(node,callback){var nodes=[node],nodes2=[];while((node=nodes.pop())!=null){nodes2.push(node);if((children=node.children)&&(n=children.length)){var i=-1,n,children;while(++i<n)nodes.push(children[i]);}}
1557while((node=nodes2.pop())!=null){callback(node);}}
1558function d3_layout_hierarchyChildren(d){return d.children;}
1559function d3_layout_hierarchyValue(d){return d.value;}
1560function d3_layout_hierarchySort(a,b){return b.value-a.value;}
1561function d3_layout_hierarchyLinks(nodes){return d3.merge(nodes.map(function(parent){return(parent.children||[]).map(function(child){return{source:parent,target:child};});}));}
1562d3.layout.partition=function(){var hierarchy=d3.layout.hierarchy(),size=[1,1];function position(node,x,dx,dy){var children=node.children;node.x=x;node.y=node.depth*dy;node.dx=dx;node.dy=dy;if(children&&(n=children.length)){var i=-1,n,c,d;dx=node.value?dx/node.value:0;while(++i<n){position(c=children[i],x,d=c.value*dx,dy);x+=d;}}}
1563function depth(node){var children=node.children,d=0;if(children&&(n=children.length)){var i=-1,n;while(++i<n)d=Math.max(d,depth(children[i]));}
1564return 1+d;}
1565function partition(d,i){var nodes=hierarchy.call(this,d,i);position(nodes[0],0,size[0],size[1]/depth(nodes[0]));return nodes;}
1566partition.size=function(x){if(!arguments.length)return size;size=x;return partition;};return d3_layout_hierarchyRebind(partition,hierarchy);};d3.layout.pie=function(){var value=Number,sort=d3_layout_pieSortByValue,startAngle=0,endAngle=τ,padAngle=0;function pie(data){var n=data.length,values=data.map(function(d,i){return+value.call(pie,d,i);}),a=+(typeof startAngle==="function"?startAngle.apply(this,arguments):startAngle),da=(typeof endAngle==="function"?endAngle.apply(this,arguments):endAngle)-a,p=Math.min(Math.abs(da)/n,+(typeof padAngle==="function"?padAngle.apply(this,arguments):padAngle)),pa=p*(da<0?-1:1),k=(da-n*pa)/d3.sum(values),index=d3.range(n),arcs=[],v;if(sort!=null)index.sort(sort===d3_layout_pieSortByValue?function(i,j){return values[j]-values[i];}:function(i,j){return sort(data[i],data[j]);});index.forEach(function(i){arcs[i]={data:data[i],value:v=values[i],startAngle:a,endAngle:a+=v*k+pa,padAngle:p};});return arcs;}
1567pie.value=function(_){if(!arguments.length)return value;value=_;return pie;};pie.sort=function(_){if(!arguments.length)return sort;sort=_;return pie;};pie.startAngle=function(_){if(!arguments.length)return startAngle;startAngle=_;return pie;};pie.endAngle=function(_){if(!arguments.length)return endAngle;endAngle=_;return pie;};pie.padAngle=function(_){if(!arguments.length)return padAngle;padAngle=_;return pie;};return pie;};var d3_layout_pieSortByValue={};d3.layout.stack=function(){var values=d3_identity,order=d3_layout_stackOrderDefault,offset=d3_layout_stackOffsetZero,out=d3_layout_stackOut,x=d3_layout_stackX,y=d3_layout_stackY;function stack(data,index){if(!(n=data.length))return data;var series=data.map(function(d,i){return values.call(stack,d,i);});var points=series.map(function(d){return d.map(function(v,i){return[x.call(stack,v,i),y.call(stack,v,i)];});});var orders=order.call(stack,points,index);series=d3.permute(series,orders);points=d3.permute(points,orders);var offsets=offset.call(stack,points,index);var m=series[0].length,n,i,j,o;for(j=0;j<m;++j){out.call(stack,series[0][j],o=offsets[j],points[0][j][1]);for(i=1;i<n;++i){out.call(stack,series[i][j],o+=points[i-1][j][1],points[i][j][1]);}}
1568return data;}
1569stack.values=function(x){if(!arguments.length)return values;values=x;return stack;};stack.order=function(x){if(!arguments.length)return order;order=typeof x==="function"?x:d3_layout_stackOrders.get(x)||d3_layout_stackOrderDefault;return stack;};stack.offset=function(x){if(!arguments.length)return offset;offset=typeof x==="function"?x:d3_layout_stackOffsets.get(x)||d3_layout_stackOffsetZero;return stack;};stack.x=function(z){if(!arguments.length)return x;x=z;return stack;};stack.y=function(z){if(!arguments.length)return y;y=z;return stack;};stack.out=function(z){if(!arguments.length)return out;out=z;return stack;};return stack;};function d3_layout_stackX(d){return d.x;}
1570function d3_layout_stackY(d){return d.y;}
1571function d3_layout_stackOut(d,y0,y){d.y0=y0;d.y=y;}
1572var d3_layout_stackOrders=d3.map({"inside-out":function(data){var n=data.length,i,j,max=data.map(d3_layout_stackMaxIndex),sums=data.map(d3_layout_stackReduceSum),index=d3.range(n).sort(function(a,b){return max[a]-max[b];}),top=0,bottom=0,tops=[],bottoms=[];for(i=0;i<n;++i){j=index[i];if(top<bottom){top+=sums[j];tops.push(j);}else{bottom+=sums[j];bottoms.push(j);}}
1573return bottoms.reverse().concat(tops);},reverse:function(data){return d3.range(data.length).reverse();},"default":d3_layout_stackOrderDefault});var d3_layout_stackOffsets=d3.map({silhouette:function(data){var n=data.length,m=data[0].length,sums=[],max=0,i,j,o,y0=[];for(j=0;j<m;++j){for(i=0,o=0;i<n;i++)o+=data[i][j][1];if(o>max)max=o;sums.push(o);}
1574for(j=0;j<m;++j){y0[j]=(max-sums[j])/2;}
1575return y0;},wiggle:function(data){var n=data.length,x=data[0],m=x.length,i,j,k,s1,s2,s3,dx,o,o0,y0=[];y0[0]=o=o0=0;for(j=1;j<m;++j){for(i=0,s1=0;i<n;++i)s1+=data[i][j][1];for(i=0,s2=0,dx=x[j][0]-x[j-1][0];i<n;++i){for(k=0,s3=(data[i][j][1]-data[i][j-1][1])/(2*dx);k<i;++k){s3+=(data[k][j][1]-data[k][j-1][1])/dx;}
1576s2+=s3*data[i][j][1];}
1577y0[j]=o-=s1?s2/s1*dx:0;if(o<o0)o0=o;}
1578for(j=0;j<m;++j)y0[j]-=o0;return y0;},expand:function(data){var n=data.length,m=data[0].length,k=1/n,i,j,o,y0=[];for(j=0;j<m;++j){for(i=0,o=0;i<n;i++)o+=data[i][j][1];if(o)for(i=0;i<n;i++)data[i][j][1]/=o;else for(i=0;i<n;i++)data[i][j][1]=k;}
1579for(j=0;j<m;++j)y0[j]=0;return y0;},zero:d3_layout_stackOffsetZero});function d3_layout_stackOrderDefault(data){return d3.range(data.length);}
1580function d3_layout_stackOffsetZero(data){var j=-1,m=data[0].length,y0=[];while(++j<m)y0[j]=0;return y0;}
1581function d3_layout_stackMaxIndex(array){var i=1,j=0,v=array[0][1],k,n=array.length;for(;i<n;++i){if((k=array[i][1])>v){j=i;v=k;}}
1582return j;}
1583function d3_layout_stackReduceSum(d){return d.reduce(d3_layout_stackSum,0);}
1584function d3_layout_stackSum(p,d){return p+d[1];}
1585d3.layout.histogram=function(){var frequency=true,valuer=Number,ranger=d3_layout_histogramRange,binner=d3_layout_histogramBinSturges;function histogram(data,i){var bins=[],values=data.map(valuer,this),range=ranger.call(this,values,i),thresholds=binner.call(this,range,values,i),bin,i=-1,n=values.length,m=thresholds.length-1,k=frequency?1:1/n,x;while(++i<m){bin=bins[i]=[];bin.dx=thresholds[i+1]-(bin.x=thresholds[i]);bin.y=0;}
1586if(m>0){i=-1;while(++i<n){x=values[i];if(x>=range[0]&&x<=range[1]){bin=bins[d3.bisect(thresholds,x,1,m)-1];bin.y+=k;bin.push(data[i]);}}}
1587return bins;}
1588histogram.value=function(x){if(!arguments.length)return valuer;valuer=x;return histogram;};histogram.range=function(x){if(!arguments.length)return ranger;ranger=d3_functor(x);return histogram;};histogram.bins=function(x){if(!arguments.length)return binner;binner=typeof x==="number"?function(range){return d3_layout_histogramBinFixed(range,x);}:d3_functor(x);return histogram;};histogram.frequency=function(x){if(!arguments.length)return frequency;frequency=!!x;return histogram;};return histogram;};function d3_layout_histogramBinSturges(range,values){return d3_layout_histogramBinFixed(range,Math.ceil(Math.log(values.length)/Math.LN2+1));}
1589function d3_layout_histogramBinFixed(range,n){var x=-1,b=+range[0],m=(range[1]-b)/n,f=[];while(++x<=n)f[x]=m*x+b;return f;}
1590function d3_layout_histogramRange(values){return[d3.min(values),d3.max(values)];}
1591d3.layout.pack=function(){var hierarchy=d3.layout.hierarchy().sort(d3_layout_packSort),padding=0,size=[1,1],radius;function pack(d,i){var nodes=hierarchy.call(this,d,i),root=nodes[0],w=size[0],h=size[1],r=radius==null?Math.sqrt:typeof radius==="function"?radius:function(){return radius;};root.x=root.y=0;d3_layout_hierarchyVisitAfter(root,function(d){d.r=+r(d.value);});d3_layout_hierarchyVisitAfter(root,d3_layout_packSiblings);if(padding){var dr=padding*(radius?1:Math.max(2*root.r/w,2*root.r/h))/2;d3_layout_hierarchyVisitAfter(root,function(d){d.r+=dr;});d3_layout_hierarchyVisitAfter(root,d3_layout_packSiblings);d3_layout_hierarchyVisitAfter(root,function(d){d.r-=dr;});}
1592d3_layout_packTransform(root,w/2,h/2,radius?1:1/Math.max(2*root.r/w,2*root.r/h));return nodes;}
1593pack.size=function(_){if(!arguments.length)return size;size=_;return pack;};
1593pack.radius=function(_){if(!arguments.length)return radius;radius=_==null||typeof _==="function"?_:+_;return pack;};pack.padding=function(_){if(!arguments.length)return padding;padding=+_;return pack;};return d3_layout_hierarchyRebind(pack,hierarchy);};function d3_layout_packSort(a,b){return a.value-b.value;}
1594function d3_layout_packInsert(a,b){var c=a._pack_next;a._pack_next=b;b._pack_prev=a;b._pack_next=c;c._pack_prev=b;}
1595function d3_layout_packSplice(a,b){a._pack_next=b;b._pack_prev=a;}
1596function d3_layout_packIntersects(a,b){var dx=b.x-a.x,dy=b.y-a.y,dr=a.r+b.r;return.999*dr*dr>dx*dx+dy*dy;}
1597function d3_layout_packSiblings(node){if(!(nodes=node.children)||!(n=nodes.length))return;var nodes,xMin=Infinity,xMax=-Infinity,yMin=Infinity,yMax=-Infinity,a,b,c,i,j,k,n;function bound(node){xMin=Math.min(node.x-node.r,xMin);xMax=Math.max(node.x+node.r,xMax);yMin=Math.min(node.y-node.r,yMin);yMax=Math.max(node.y+node.r,yMax);}
1598nodes.forEach(d3_layout_packLink);a=nodes[0];a.x=-a.r;a.y=0;bound(a);if(n>1){b=nodes[1];b.x=b.r;b.y=0;bound(b);if(n>2){c=nodes[2];d3_layout_packPlace(a,b,c);bound(c);d3_layout_packInsert(a,c);a._pack_prev=c;d3_layout_packInsert(c,b);b=a._pack_next;for(i=3;i<n;i++){d3_layout_packPlace(a,b,c=nodes[i]);var isect=0,s1=1,s2=1;for(j=b._pack_next;j!==b;j=j._pack_next,s1++){if(d3_layout_packIntersects(j,c)){isect=1;break;}}
1599if(isect==1){for(k=a._pack_prev;k!==j._pack_prev;k=k._pack_prev,s2++){if(d3_layout_packIntersects(k,c)){break;}}}
1600if(isect){if(s1<s2||s1==s2&&b.r<a.r)d3_layout_packSplice(a,b=j);else d3_layout_packSplice(a=k,b);i--;}else{d3_layout_packInsert(a,c);b=c;bound(c);}}}}
1601var cx=(xMin+xMax)/2,cy=(yMin+yMax)/2,cr=0;for(i=0;i<n;i++){c=nodes[i];c.x-=cx;c.y-=cy;cr=Math.max(cr,c.r+Math.sqrt(c.x*c.x+c.y*c.y));}
1602node.r=cr;nodes.forEach(d3_layout_packUnlink);}
1603function d3_layout_packLink(node){node._pack_next=node._pack_prev=node;}
1604function d3_layout_packUnlink(node){delete node._pack_next;delete node._pack_prev;}
1605function d3_layout_packTransform(node,x,y,k){var children=node.children;node.x=x+=k*node.x;node.y=y+=k*node.y;node.r*=k;if(children){var i=-1,n=children.length;while(++i<n)d3_layout_packTransform(children[i],x,y,k);}}
1606function d3_layout_packPlace(a,b,c){var db=a.r+c.r,dx=b.x-a.x,dy=b.y-a.y;if(db&&(dx||dy)){var da=b.r+c.r,dc=dx*dx+dy*dy;da*=da;db*=db;var x=.5+(db-da)/(2*dc),y=Math.sqrt(Math.max(0,2*da*(db+dc)-(db-=dc)*db-da*da))/(2*dc);c.x=a.x+x*dx+y*dy;c.y=a.y+x*dy-y*dx;}else{c.x=a.x+db;c.y=a.y;}}
1607d3.layout.tree=function(){var hierarchy=d3.layout.hierarchy().sort(null).value(null),separation=d3_layout_treeSeparation,size=[1,1],nodeSize=null;function tree(d,i){var nodes=hierarchy.call(this,d,i),root0=nodes[0],root1=wrapTree(root0);d3_layout_hierarchyVisitAfter(root1,firstWalk),root1.parent.m=-root1.z;d3_layout_hierarchyVisitBefore(root1,secondWalk);if(nodeSize)d3_layout_hierarchyVisitBefore(root0,sizeNode);else{var left=root0,right=root0,bottom=root0;d3_layout_hierarchyVisitBefore(root0,function(node){if(node.x<left.x)left=node;if(node.x>right.x)right=node;if(node.depth>bottom.depth)bottom=node;});var tx=separation(left,right)/2-left.x,kx=size[0]/(right.x+separation(right,left)/2+tx),ky=size[1]/(bottom.depth||1);d3_layout_hierarchyVisitBefore(root0,function(node){node.x=(node.x+tx)*kx;node.y=node.depth*ky;});}
1608return nodes;}
1609function wrapTree(root0){var root1={A:null,children:[root0]},queue=[root1],node1;while((node1=queue.pop())!=null){for(var children=node1.children,child,i=0,n=children.length;i<n;++i){queue.push((children[i]=child={_:children[i],parent:node1,children:(child=children[i].children)&&child.slice()||[],A:null,a:null,z:0,m:0,c:0,s:0,t:null,i:i}).a=child);}}
1610return root1.children[0];}
1611function firstWalk(v){var children=v.children,siblings=v.parent.children,w=v.i?siblings[v.i-1]:null;if(children.length){d3_layout_treeShift(v);var midpoint=(children[0].z+children[children.length-1].z)/2;if(w){v.z=w.z+separation(v._,w._);v.m=v.z-midpoint;}else{v.z=midpoint;}}else if(w){v.z=w.z+separation(v._,w._);}
1612v.parent.A=apportion(v,w,v.parent.A||siblings[0]);}
1613function secondWalk(v){v._.x=v.z+v.parent.m;v.m+=v.parent.m;}
1614function apportion(v,w,ancestor){if(w){var vip=v,vop=v,vim=w,vom=vip.parent.children[0],sip=vip.m,sop=vop.m,sim=vim.m,som=vom.m,shift;while(vim=d3_layout_treeRight(vim),vip=d3_layout_treeLeft(vip),vim&&vip){vom=d3_layout_treeLeft(vom);vop=d3_layout_treeRight(vop);vop.a=v;shift=vim.z+sim-vip.z-sip+separation(vim._,vip._);if(shift>0){d3_layout_treeMove(d3_layout_treeAncestor(vim,v,ancestor),v,shift);sip+=shift;sop+=shift;}
1615sim+=vim.m;sip+=vip.m;som+=vom.m;sop+=vop.m;}
1616if(vim&&!d3_layout_treeRight(vop)){vop.t=vim;vop.m+=sim-sop;}
1617if(vip&&!d3_layout_treeLeft(vom)){vom.t=vip;vom.m+=sip-som;ancestor=v;}}
1618return ancestor;}
1619function sizeNode(node){node.x*=size[0];node.y=node.depth*size[1];}
1620tree.separation=function(x){if(!arguments.length)return separation;separation=x;return tree;};tree.size=function(x){if(!arguments.length)return nodeSize?null:size;nodeSize=(size=x)==null?sizeNode:null;return tree;};tree.nodeSize=function(x){if(!arguments.length)return nodeSize?size:null;nodeSize=(size=x)==null?null:sizeNode;return tree;};return d3_layout_hierarchyRebind(tree,hierarchy);};function d3_layout_treeSeparation(a,b){return a.parent==b.parent?1:2;}
1621function d3_layout_treeLeft(v){var children=v.children;return children.length?children[0]:v.t;}
1622function d3_layout_treeRight(v){var children=v.children,n;return(n=children.length)?children[n-1]:v.t;}
1623function d3_layout_treeMove(wm,wp,shift){var change=shift/(wp.i-wm.i);wp.c-=change;wp.s+=shift;wm.c+=change;wp.z+=shift;wp.m+=shift;}
1624function d3_layout_treeShift(v){var shift=0,change=0,children=v.children,i=children.length,w;while(--i>=0){w=children[i];w.z+=shift;w.m+=shift;shift+=w.s+(change+=w.c);}}
1625function d3_layout_treeAncestor(vim,v,ancestor){return vim.a.parent===v.parent?vim.a:ancestor;}
1626d3.layout.cluster=function(){var hierarchy=d3.layout.hierarchy().sort(null).value(null),separation=d3_layout_treeSeparation,size=[1,1],nodeSize=false;function cluster(d,i){var nodes=hierarchy.call(this,d,i),root=nodes[0],previousNode,x=0;d3_layout_hierarchyVisitAfter(root,function(node){var children=node.children;if(children&&children.length){node.x=d3_layout_clusterX(children);node.y=d3_layout_clusterY(children);}else{node.x=previousNode?x+=separation(node,previousNode):0;node.y=0;previousNode=node;}});var left=d3_layout_clusterLeft(root),right=d3_layout_clusterRight(root),x0=left.x-separation(left,right)/2,x1=right.x+separation(right,left)/2;d3_layout_hierarchyVisitAfter(root,nodeSize?function(node){node.x=(node.x-root.x)*size[0];node.y=(root.y-node.y)*size[1];}:function(node){node.x=(node.x-x0)/(x1-x0)*size[0];node.y=(1-(root.y?node.y/root.y:1))*size[1];});return nodes;}
1627cluster.separation=function(x){if(!arguments.length)return separation;separation=x;return cluster;};cluster.size=function(x){if(!arguments.length)return nodeSize?null:size;nodeSize=(size=x)==null;return cluster;};cluster.nodeSize=function(x){if(!arguments.length)return nodeSize?size:null;nodeSize=(size=x)!=null;return cluster;};return d3_layout_hierarchyRebind(cluster,hierarchy);};function d3_layout_clusterY(children){return 1+d3.max(children,function(child){return child.y;});}
1628function d3_layout_clusterX(children){return children.reduce(function(x,child){return x+child.x;},0)/children.length;}
1629function d3_layout_clusterLeft(node){var children=node.children;return children&&children.length?d3_layout_clusterLeft(children[0]):node;}
1630function d3_layout_clusterRight(node){var children=node.children,n;return children&&(n=children.length)?d3_layout_clusterRight(children[n-1]):node;}
1631d3.layout.treemap=function(){var hierarchy=d3.layout.hierarchy(),round=Math.round,size=[1,1],padding=null,pad=d3_layout_treemapPadNull,sticky=false,stickies,mode="squarify",ratio=.5*(1+Math.sqrt(5));function scale(children,k){var i=-1,n=children.length,child,area;while(++i<n){area=(child=children[i]).value*(k<0?0:k);child.area=isNaN(area)||area<=0?0:area;}}
1632function squarify(node){var children=node.children;if(children&&children.length){var rect=pad(node),row=[],remaining=children.slice(),child,best=Infinity,score,u=mode==="slice"?rect.dx:mode==="dice"?rect.dy:mode==="slice-dice"?node.depth&1?rect.dy:rect.dx:Math.min(rect.dx,rect.dy),n;scale(remaining,rect.dx*rect.dy/node.value);row.area=0;while((n=remaining.length)>0){row.push(child=remaining[n-1]);row.area+=child.area;if(mode!=="squarify"||(score=worst(row,u))<=best){remaining.pop();best=score;}else{row.area-=row.pop().area;position(row,u,rect,false);u=Math.min(rect.dx,rect.dy);row.length=row.area=0;best=Infinity;}}
1633if(row.length){position(row,u,rect,true);row.length=row.area=0;}
1634children.forEach(squarify);}}
1634
1635function stickify(node){var children=node.children;if(children&&children.length){var rect=pad(node),remaining=children.slice(),child,row=[];scale(remaining,rect.dx*rect.dy/node.value);row.area=0;while(child=remaining.pop()){row.push(child);row.area+=child.area;if(child.z!=null){position(row,child.z?rect.dx:rect.dy,rect,!remaining.length);row.length=row.area=0;}}
1636children.forEach(stickify);}}
1637function worst(row,u){var s=row.area,r,rmax=0,rmin=Infinity,i=-1,n=row.length;while(++i<n){if(!(r=row[i].area))continue;if(r<rmin)rmin=r;if(r>rmax)rmax=r;}
1638s*=s;u*=u;return s?Math.max(u*rmax*ratio/s,s/(u*rmin*ratio)):Infinity;}
1639function position(row,u,rect,flush){var i=-1,n=row.length,x=rect.x,y=rect.y,v=u?round(row.area/u):0,o;if(u==rect.dx){if(flush||v>rect.dy)v=rect.dy;while(++i<n){o=row[i];o.x=x;o.y=y;o.dy=v;x+=o.dx=Math.min(rect.x+rect.dx-x,v?round(o.area/v):0);}
1640o.z=true;o.dx+=rect.x+rect.dx-x;rect.y+=v;rect.dy-=v;}else{if(flush||v>rect.dx)v=rect.dx;while(++i<n){o=row[i];o.x=x;o.y=y;o.dx=v;y+=o.dy=Math.min(rect.y+rect.dy-y,v?round(o.area/v):0);}
1641o.z=false;o.dy+=rect.y+rect.dy-y;rect.x+=v;rect.dx-=v;}}
1642function treemap(d){var nodes=stickies||hierarchy(d),root=nodes[0];root.x=0;root.y=0;root.dx=size[0];root.dy=size[1];if(stickies)hierarchy.revalue(root);scale([root],root.dx*root.dy/root.value);(stickies?stickify:squarify)(root);if(sticky)stickies=nodes;return nodes;}
1643treemap.size=function(x){if(!arguments.length)return size;size=x;return treemap;};treemap.padding=function(x){if(!arguments.length)return padding;function padFunction(node){var p=x.call(treemap,node,node.depth);return p==null?d3_layout_treemapPadNull(node):d3_layout_treemapPad(node,typeof p==="number"?[p,p,p,p]:p);}
1644function padConstant(node){return d3_layout_treemapPad(node,x);}
1645var type;pad=(padding=x)==null?d3_layout_treemapPadNull:(type=typeof x)==="function"?padFunction:type==="number"?(x=[x,x,x,x],padConstant):padConstant;return treemap;};treemap.round=function(x){if(!arguments.length)return round!=Number;round=x?Math.round:Number;return treemap;};treemap.sticky=function(x){if(!arguments.length)return sticky;sticky=x;stickies=null;return treemap;};treemap.ratio=function(x){if(!arguments.length)return ratio;ratio=x;return treemap;};treemap.mode=function(x){if(!arguments.length)return mode;mode=x+"";return treemap;};return d3_layout_hierarchyRebind(treemap,hierarchy);};function d3_layout_treemapPadNull(node){return{x:node.x,y:node.y,dx:node.dx,dy:node.dy};}
1646function d3_layout_treemapPad(node,padding){var x=node.x+padding[3],y=node.y+padding[0],dx=node.dx-padding[1]-padding[3],dy=node.dy-padding[0]-padding[2];if(dx<0){x+=dx/2;dx=0;}
1647if(dy<0){y+=dy/2;dy=0;}
1648return{x:x,y:y,dx:dx,dy:dy};}
1649d3.random={normal:function(µ,σ){var n=arguments.length;if(n<2)σ=1;if(n<1)µ=0;return function(){var x,y,r;do{x=Math.random()*2-1;y=Math.random()*2-1;r=x*x+y*y;}while(!r||r>1);return µ+σ*x*Math.sqrt(-2*Math.log(r)/r);};},logNormal:function(){var random=d3.random.normal.apply(d3,arguments);return function(){return Math.exp(random());};},bates:function(m){var random=d3.random.irwinHall(m);return function(){return random()/m;};},irwinHall:function(m){return function(){for(var s=0,j=0;j<m;j++)s+=Math.random();return s;};}};d3.scale={};function d3_scaleExtent(domain){var start=domain[0],stop=domain[domain.length-1];return start<stop?[start,stop]:[stop,start];}
1650function d3_scaleRange(scale){return scale.rangeExtent?scale.rangeExtent():d3_scaleExtent(scale.range());}
1651function d3_scale_bilinear(domain,range,uninterpolate,interpolate){var u=uninterpolate(domain[0],domain[1]),i=interpolate(range[0],range[1]);return function(x){return i(u(x));};}
1652function d3_scale_nice(domain,nice){var i0=0,i1=domain.length-1,x0=domain[i0],x1=domain[i1],dx;if(x1<x0){dx=i0,i0=i1,i1=dx;dx=x0,x0=x1,x1=dx;}
1653domain[i0]=nice.floor(x0);domain[i1]=nice.ceil(x1);return domain;}
1654function d3_scale_niceStep(step){return step?{floor:function(x){return Math.floor(x/step)*step;},ceil:function(x){return Math.ceil(x/step)*step;}}:d3_scale_niceIdentity;}
1655var d3_scale_niceIdentity={floor:d3_identity,ceil:d3_identity};function d3_scale_polylinear(domain,range,uninterpolate,interpolate){var u=[],i=[],j=0,k=Math.min(domain.length,range.length)-1;if(domain[k]<domain[0]){domain=domain.slice().reverse();range=range.slice().reverse();}
1656while(++j<=k){u.push(uninterpolate(domain[j-1],domain[j]));i.push(interpolate(range[j-1],range[j]));}
1657return function(x){var j=d3.bisect(domain,x,1,k)-1;return i[j](u[j](x));};}
1658d3.scale.linear=function(){return d3_scale_linear([0,1],[0,1],d3_interpolate,false);};function d3_scale_linear(domain,range,interpolate,clamp){var output,input;function rescale(){var linear=Math.min(domain.length,range.length)>2?d3_scale_polylinear:d3_scale_bilinear,uninterpolate=clamp?d3_uninterpolateClamp:d3_uninterpolateNumber;output=linear(domain,range,uninterpolate,interpolate);input=linear(range,domain,uninterpolate,d3_interpolate);return scale;}
1659function scale(x){return output(x);}
1660scale.invert=function(y){return input(y);};scale.domain=function(x){if(!arguments.length)return domain;domain=x.map(Number);return rescale();};scale.range=function(x){if(!arguments.length)return range;range=x;return rescale();};scale.rangeRound=function(x){return scale.range(x).interpolate(d3_interpolateRound);};scale.clamp=function(x){if(!arguments.length)return clamp;clamp=x;return rescale();};scale.interpolate=function(x){if(!arguments.length)return interpolate;interpolate=x;return rescale();};scale.ticks=function(m){return d3_scale_linearTicks(domain,m);};scale.tickFormat=function(m,format){return d3_scale_linearTickFormat(domain,m,format);};scale.nice=function(m){d3_scale_linearNice(domain,m);return rescale();};scale.copy=function(){return d3_scale_linear(domain,range,interpolate,clamp);};return rescale();}
1661function d3_scale_linearRebind(scale,linear){return d3.rebind(scale,linear,"range","rangeRound","interpolate","clamp");}
1662function d3_scale_linearNice(domain,m){return d3_scale_nice(domain,d3_scale_niceStep(d3_scale_linearTickRange(domain,m)[2]));}
1663function d3_scale_linearTickRange(domain,m){if(m==null)m=10;var extent=d3_scaleExtent(domain),span=extent[1]-extent[0],step=Math.pow(10,Math.floor(Math.log(span/m)/Math.LN10)),err=m/span*step;if(err<=.15)step*=10;else if(err<=.35)step*=5;else if(err<=.75)step*=2;extent[0]=Math.ceil(extent[0]/step)*step;extent[1]=Math.floor(extent[1]/step)*step+step*.5;extent[2]=step;return extent;}
1664function d3_scale_linearTicks(domain,m){return d3.range.apply(d3,d3_scale_linearTickRange(domain,m));}
1665function d3_scale_linearTickFormat(domain,m,format){var range=d3_scale_linearTickRange(domain,m);if(format){var match=d3_format_re.exec(format);match.shift();if(match[8]==="s"){var prefix=d3.formatPrefix(Math.max(abs(range[0]),abs(range[1])));if(!match[7])match[7]="."+d3_scale_linearPrecision(prefix.scale(range[2]));match[8]="f";format=d3.format(match.join(""));return function(d){return format(prefix.scale(d))+prefix.symbol;};}
1666if(!match[7])match[7]="."+d3_scale_linearFormatPrecision(match[8],range);format=match.join("");}else{format=",."+d3_scale_linearPrecision(range[2])+"f";}
1667return d3.format(format);}
1668var d3_scale_linearFormatSignificant={s:1,g:1,p:1,r:1,e:1};function d3_scale_linearPrecision(value){return-Math.floor(Math.log(value)/Math.LN10+.01);}
1669function d3_scale_linearFormatPrecision(type,range){var p=d3_scale_linearPrecision(range[2]);return type in d3_scale_linearFormatSignificant?Math.abs(p-d3_scale_linearPrecision(Math.max(abs(range[0]),abs(range[1]))))+ +(type!=="e"):p-(type==="%")*2;}
1670d3.scale.log=function(){return d3_scale_log(d3.scale.linear().domain([0,1]),10,true,[1,10]);};function d3_scale_log(linear,base,positive,domain){function log(x){return(positive?Math.log(x<0?0:x):-Math.log(x>0?0:-x))/Math.log(base);}
1671function pow(x){return positive?Math.pow(base,x):-Math.pow(base,-x);}
1672function scale(x){return linear(log(x));}
1673scale.invert=function(x){return pow(linear.invert(x));};scale.domain=function(x){if(!arguments.length)return domain;positive=x[0]>=0;linear.domain((domain=x.map(Number)).map(log));return scale;};scale.base=function(_){if(!arguments.length)return base;base=+_;linear.domain(domain.map(log));return scale;};scale.nice=function(){var niced=d3_scale_nice(domain.map(log),positive?Math:d3_scale_logNiceNegative);linear.domain(niced);domain=niced.map(pow);return scale;};scale.ticks=function(){var extent=d3_scaleExtent(domain),ticks=[],u=extent[0],v=extent[1],i=Math.floor(log(u)),j=Math.ceil(log(v)),n=base%1?2:base;if(isFinite(j-i)){if(positive){for(;i<j;i++)for(var k=1;k<n;k++)ticks.push(pow(i)*k);ticks.push(pow(i));}else{ticks.push(pow(i));for(;i++<j;)for(var k=n-1;k>0;k--)ticks.push(pow(i)*k);}
1674for(i=0;ticks[i]<u;i++){}
1675for(j=ticks.length;ticks[j-1]>v;j--){}
1676ticks=ticks.slice(i,j);}
1677return ticks;};scale.tickFormat=function(n,format){if(!arguments.length)return d3_scale_logFormat;if(arguments.length<2)format=d3_scale_logFormat;else if(typeof format!=="function")format=d3.format(format);var k=Math.max(.1,n/scale.ticks().length),f=positive?(e=1e-12,Math.ceil):(e=-1e-12,Math.floor),e;return function(d){return d/pow(f(log(d)+e))<=k?format(d):"";};};scale.copy=function(){return d3_scale_log(linear.copy(),base,positive,domain);};return d3_scale_linearRebind(scale,linear);}
1678var d3_scale_logFormat=d3.format(".0e"),d3_scale_logNiceNegative={floor:function(x){return-Math.ceil(-x);},ceil:function(x){return-Math.floor(-x);}}
1678;d3.scale.pow=function(){return d3_scale_pow(d3.scale.linear(),1,[0,1]);};function d3_scale_pow(linear,exponent,domain){var powp=d3_scale_powPow(exponent),powb=d3_scale_powPow(1/exponent);function scale(x){return linear(powp(x));}
1679scale.invert=function(x){return powb(linear.invert(x));};scale.domain=function(x){if(!arguments.length)return domain;linear.domain((domain=x.map(Number)).map(powp));return scale;};scale.ticks=function(m){return d3_scale_linearTicks(domain,m);};scale.tickFormat=function(m,format){return d3_scale_linearTickFormat(domain,m,format);};scale.nice=function(m){return scale.domain(d3_scale_linearNice(domain,m));};scale.exponent=function(x){if(!arguments.length)return exponent;powp=d3_scale_powPow(exponent=x);powb=d3_scale_powPow(1/exponent);linear.domain(domain.map(powp));return scale;};scale.copy=function(){return d3_scale_pow(linear.copy(),exponent,domain);};return d3_scale_linearRebind(scale,linear);}
1680function d3_scale_powPow(e){return function(x){return x<0?-Math.pow(-x,e):Math.pow(x,e);};}
1681d3.scale.sqrt=function(){return d3.scale.pow().exponent(.5);};d3.scale.ordinal=function(){return d3_scale_ordinal([],{t:"range",a:[[]]});};function d3_scale_ordinal(domain,ranger){var index,range,rangeBand;function scale(x){return range[((index.get(x)||(ranger.t==="range"?index.set(x,domain.push(x)):NaN))-1)%range.length];}
1682function steps(start,step){return d3.range(domain.length).map(function(i){return start+step*i;});}
1683scale.domain=function(x){if(!arguments.length)return domain;domain=[];index=new d3_Map();var i=-1,n=x.length,xi;while(++i<n)if(!index.has(xi=x[i]))index.set(xi,domain.push(xi));return scale[ranger.t].apply(scale,ranger.a);};scale.range=function(x){if(!arguments.length)return range;range=x;rangeBand=0;ranger={t:"range",a:arguments};return scale;};scale.rangePoints=function(x,padding){if(arguments.length<2)padding=0;var start=x[0],stop=x[1],step=domain.length<2?(start=(start+stop)/2,0):(stop-start)/(domain.length-1+padding);range=steps(start+step*padding/2,step);rangeBand=0;ranger={t:"rangePoints",a:arguments};return scale;};scale.rangeRoundPoints=function(x,padding){if(arguments.length<2)padding=0;var start=x[0],stop=x[1],step=domain.length<2?(start=stop=Math.round((start+stop)/2),0):(stop-start)/(domain.length-1+padding)|0;range=steps(start+Math.round(step*padding/2+(stop-start-(domain.length-1+padding)*step)/2),step);rangeBand=0;ranger={t:"rangeRoundPoints",a:arguments};return scale;};scale.rangeBands=function(x,padding,outerPadding){if(arguments.length<2)padding=0;if(arguments.length<3)outerPadding=padding;var reverse=x[1]<x[0],start=x[reverse-0],stop=x[1-reverse],step=(stop-start)/(domain.length-padding+2*outerPadding);range=steps(start+step*outerPadding,step);if(reverse)range.reverse();rangeBand=step*(1-padding);ranger={t:"rangeBands",a:arguments};return scale;};scale.rangeRoundBands=function(x,padding,outerPadding){if(arguments.length<2)padding=0;if(arguments.length<3)outerPadding=padding;var reverse=x[1]<x[0],start=x[reverse-0],stop=x[1-reverse],step=Math.floor((stop-start)/(domain.length-padding+2*outerPadding));range=steps(start+Math.round((stop-start-(domain.length-padding)*step)/2),step);if(reverse)range.reverse();rangeBand=Math.round(step*(1-padding));ranger={t:"rangeRoundBands",a:arguments};return scale;};scale.rangeBand=function(){return rangeBand;};scale.rangeExtent=function(){return d3_scaleExtent(ranger.a[0]);};scale.copy=function(){return d3_scale_ordinal(domain,ranger);};return scale.domain(domain);}
1684d3.scale.category10=function(){return d3.scale.ordinal().range(d3_category10);};d3.scale.category20=function(){return d3.scale.ordinal().range(d3_category20);};d3.scale.category20b=function(){return d3.scale.ordinal().range(d3_category20b);};d3.scale.category20c=function(){return d3.scale.ordinal().range(d3_category20c);};var d3_category10=[2062260,16744206,2924588,14034728,9725885,9197131,14907330,8355711,12369186,1556175].map(d3_rgbString);var d3_category20=[2062260,11454440,16744206,16759672,2924588,10018698,14034728,16750742,9725885,12955861,9197131,12885140,14907330,16234194,8355711,13092807,12369186,14408589,1556175,10410725].map(d3_rgbString);var d3_category20b=[3750777,5395619,7040719,10264286,6519097,9216594,11915115,13556636,9202993,12426809,15186514,15190932,8666169,11356490,14049643,15177372,8077683,10834324,13528509,14589654].map(d3_rgbString);var d3_category20c=[3244733,7057110,10406625,13032431,15095053,16616764,16625259,16634018,3253076,7652470,10607003,13101504,7695281,10394312,12369372,14342891,6513507,9868950,12434877,14277081].map(d3_rgbString);d3.scale.quantile=function(){return d3_scale_quantile([],[]);};function d3_scale_quantile(domain,range){var thresholds;function rescale(){var k=0,q=range.length;thresholds=[];while(++k<q)thresholds[k-1]=d3.quantile(domain,k/q);return scale;}
1685function scale(x){if(!isNaN(x=+x))return range[d3.bisect(thresholds,x)];}
1686scale.domain=function(x){if(!arguments.length)return domain;domain=x.map(d3_number).filter(d3_numeric).sort(d3_ascending);return rescale();};scale.range=function(x){if(!arguments.length)return range;range=x;return rescale();};scale.quantiles=function(){return thresholds;};scale.invertExtent=function(y){y=range.indexOf(y);return y<0?[NaN,NaN]:[y>0?thresholds[y-1]:domain[0],y<thresholds.length?thresholds[y]:domain[domain.length-1]];};scale.copy=function(){return d3_scale_quantile(domain,range);};return rescale();}
1687d3.scale.quantize=function(){return d3_scale_quantize(0,1,[0,1]);};function d3_scale_quantize(x0,x1,range){var kx,i;function scale(x){return range[Math.max(0,Math.min(i,Math.floor(kx*(x-x0))))];}
1688function rescale(){kx=range.length/(x1-x0);i=range.length-1;return scale;}
1689scale.domain=function(x){if(!arguments.length)return[x0,x1];x0=+x[0];x1=+x[x.length-1];return rescale();};scale.range=function(x){if(!arguments.length)return range;range=x;return rescale();};scale.invertExtent=function(y){y=range.indexOf(y);y=y<0?NaN:y/kx+x0;return[y,y+1/kx];};scale.copy=function(){return d3_scale_quantize(x0,x1,range);};return rescale();}
1690d3.scale.threshold=function(){return d3_scale_threshold([.5],[0,1]);};function d3_scale_threshold(domain,range){function scale(x){if(x<=x)return range[d3.bisect(domain,x)];}
1691scale.domain=function(_){if(!arguments.length)return domain;domain=_;return scale;};scale.range=function(_){if(!arguments.length)return range;range=_;return scale;};scale.invertExtent=function(y){y=range.indexOf(y);return[domain[y-1],domain[y]];};scale.copy=function(){return d3_scale_threshold(domain,range);};return scale;}
1692d3.scale.identity=function(){return d3_scale_identity([0,1]);};function d3_scale_identity(domain){function identity(x){return+x;}
1693identity.invert=identity;identity.domain=identity.range=function(x){if(!arguments.length)return domain;domain=x.map(identity);return identity;};identity.ticks=function(m){return d3_scale_linearTicks(domain,m);};
1693identity.tickFormat=function(m,format){return d3_scale_linearTickFormat(domain,m,format);};identity.copy=function(){return d3_scale_identity(domain);};return identity;}
1694d3.svg={};function d3_zero(){return 0;}
1695d3.svg.arc=function(){var innerRadius=d3_svg_arcInnerRadius,outerRadius=d3_svg_arcOuterRadius,cornerRadius=d3_zero,padRadius=d3_svg_arcAuto,startAngle=d3_svg_arcStartAngle,endAngle=d3_svg_arcEndAngle,padAngle=d3_svg_arcPadAngle;function arc(){var r0=Math.max(0,+innerRadius.apply(this,arguments)),r1=Math.max(0,+outerRadius.apply(this,arguments)),a0=startAngle.apply(this,arguments)-halfπ,a1=endAngle.apply(this,arguments)-halfπ,da=Math.abs(a1-a0),cw=a0>a1?0:1;if(r1<r0)rc=r1,r1=r0,r0=rc;if(da>=τε)return circleSegment(r1,cw)+(r0?circleSegment(r0,1-cw):"")+"Z";var rc,cr,rp,ap,p0=0,p1=0,x0,y0,x1,y1,x2,y2,x3,y3,path=[];if(ap=(+padAngle.apply(this,arguments)||0)/2){rp=padRadius===d3_svg_arcAuto?Math.sqrt(r0*r0+r1*r1):+padRadius.apply(this,arguments);if(!cw)p1*=-1;if(r1)p1=d3_asin(rp/r1*Math.sin(ap));if(r0)p0=d3_asin(rp/r0*Math.sin(ap));}
1696if(r1){x0=r1*Math.cos(a0+p1);y0=r1*Math.sin(a0+p1);x1=r1*Math.cos(a1-p1);y1=r1*Math.sin(a1-p1);var l1=Math.abs(a1-a0-2*p1)<=π?0:1;if(p1&&d3_svg_arcSweep(x0,y0,x1,y1)===cw^l1){var h1=(a0+a1)/2;x0=r1*Math.cos(h1);y0=r1*Math.sin(h1);x1=y1=null;}}else{x0=y0=0;}
1697if(r0){x2=r0*Math.cos(a1-p0);y2=r0*Math.sin(a1-p0);x3=r0*Math.cos(a0+p0);y3=r0*Math.sin(a0+p0);var l0=Math.abs(a0-a1+2*p0)<=π?0:1;if(p0&&d3_svg_arcSweep(x2,y2,x3,y3)===1-cw^l0){var h0=(a0+a1)/2;x2=r0*Math.cos(h0);y2=r0*Math.sin(h0);x3=y3=null;}}else{x2=y2=0;}
1698if((rc=Math.min(Math.abs(r1-r0)/2,+cornerRadius.apply(this,arguments)))>.001){cr=r0<r1^cw?0:1;var oc=x3==null?[x2,y2]:x1==null?[x0,y0]:d3_geom_polygonIntersect([x0,y0],[x3,y3],[x1,y1],[x2,y2]),ax=x0-oc[0],ay=y0-oc[1],bx=x1-oc[0],by=y1-oc[1],kc=1/Math.sin(Math.acos((ax*bx+ay*by)/(Math.sqrt(ax*ax+ay*ay)*Math.sqrt(bx*bx+by*by)))/2),lc=Math.sqrt(oc[0]*oc[0]+oc[1]*oc[1]);if(x1!=null){var rc1=Math.min(rc,(r1-lc)/(kc+1)),t30=d3_svg_arcCornerTangents(x3==null?[x2,y2]:[x3,y3],[x0,y0],r1,rc1,cw),t12=d3_svg_arcCornerTangents([x1,y1],[x2,y2],r1,rc1,cw);if(rc===rc1){path.push("M",t30[0],"A",rc1,",",rc1," 0 0,",cr," ",t30[1],"A",r1,",",r1," 0 ",1-cw^d3_svg_arcSweep(t30[1][0],t30[1][1],t12[1][0],t12[1][1]),",",cw," ",t12[1],"A",rc1,",",rc1," 0 0,",cr," ",t12[0]);}else{path.push("M",t30[0],"A",rc1,",",rc1," 0 1,",cr," ",t12[0]);}}else{path.push("M",x0,",",y0);}
1699if(x3!=null){var rc0=Math.min(rc,(r0-lc)/(kc-1)),t03=d3_svg_arcCornerTangents([x0,y0],[x3,y3],r0,-rc0,cw),t21=d3_svg_arcCornerTangents([x2,y2],x1==null?[x0,y0]:[x1,y1],r0,-rc0,cw);if(rc===rc0){path.push("L",t21[0],"A",rc0,",",rc0," 0 0,",cr," ",t21[1],"A",r0,",",r0," 0 ",cw^d3_svg_arcSweep(t21[1][0],t21[1][1],t03[1][0],t03[1][1]),",",1-cw," ",t03[1],"A",rc0,",",rc0," 0 0,",cr," ",t03[0]);}else{path.push("L",t21[0],"A",rc0,",",rc0," 0 0,",cr," ",t03[0]);}}else{path.push("L",x2,",",y2);}}else{path.push("M",x0,",",y0);if(x1!=null)path.push("A",r1,",",r1," 0 ",l1,",",cw," ",x1,",",y1);path.push("L",x2,",",y2);if(x3!=null)path.push("A",r0,",",r0," 0 ",l0,",",1-cw," ",x3,",",y3);}
1700path.push("Z");return path.join("");}
1701function circleSegment(r1,cw){return"M0,"+r1+"A"+r1+","+r1+" 0 1,"+cw+" 0,"+-r1+"A"+r1+","+r1+" 0 1,"+cw+" 0,"+r1;}
1702arc.innerRadius=function(v){if(!arguments.length)return innerRadius;innerRadius=d3_functor(v);return arc;};arc.outerRadius=function(v){if(!arguments.length)return outerRadius;outerRadius=d3_functor(v);return arc;};arc.cornerRadius=function(v){if(!arguments.length)return cornerRadius;cornerRadius=d3_functor(v);return arc;};arc.padRadius=function(v){if(!arguments.length)return padRadius;padRadius=v==d3_svg_arcAuto?d3_svg_arcAuto:d3_functor(v);return arc;};arc.startAngle=function(v){if(!arguments.length)return startAngle;startAngle=d3_functor(v);return arc;};arc.endAngle=function(v){if(!arguments.length)return endAngle;endAngle=d3_functor(v);return arc;};arc.padAngle=function(v){if(!arguments.length)return padAngle;padAngle=d3_functor(v);return arc;};arc.centroid=function(){var r=(+innerRadius.apply(this,arguments)+ +outerRadius.apply(this,arguments))/2,a=(+startAngle.apply(this,arguments)+ +endAngle.apply(this,arguments))/2-halfπ;return[Math.cos(a)*r,Math.sin(a)*r];};return arc;};var d3_svg_arcAuto="auto";function d3_svg_arcInnerRadius(d){return d.innerRadius;}
1703function d3_svg_arcOuterRadius(d){return d.outerRadius;}
1704function d3_svg_arcStartAngle(d){return d.startAngle;}
1705function d3_svg_arcEndAngle(d){return d.endAngle;}
1706function d3_svg_arcPadAngle(d){return d&&d.padAngle;}
1707function d3_svg_arcSweep(x0,y0,x1,y1){return(x0-x1)*y0-(y0-y1)*x0>0?0:1;}
1708function d3_svg_arcCornerTangents(p0,p1,r1,rc,cw){var x01=p0[0]-p1[0],y01=p0[1]-p1[1],lo=(cw?rc:-rc)/Math.sqrt(x01*x01+y01*y01),ox=lo*y01,oy=-lo*x01,x1=p0[0]+ox,y1=p0[1]+oy,x2=p1[0]+ox,y2=p1[1]+oy,x3=(x1+x2)/2,y3=(y1+y2)/2,dx=x2-x1,dy=y2-y1,d2=dx*dx+dy*dy,r=r1-rc,D=x1*y2-x2*y1,d=(dy<0?-1:1)*Math.sqrt(r*r*d2-D*D),cx0=(D*dy-dx*d)/d2,cy0=(-D*dx-dy*d)/d2,cx1=(D*dy+dx*d)/d2,cy1=(-D*dx+dy*d)/d2,dx0=cx0-x3,dy0=cy0-y3,dx1=cx1-x3,dy1=cy1-y3;if(dx0*dx0+dy0*dy0>dx1*dx1+dy1*dy1)cx0=cx1,cy0=cy1;return[[cx0-ox,cy0-oy],[cx0*r1/r,cy0*r1/r]];}
1709function d3_svg_line(projection){var x=d3_geom_pointX,y=d3_geom_pointY,defined=d3_true,interpolate=d3_svg_lineLinear,interpolateKey=interpolate.key,tension=.7;function line(data){var segments=[],points=[],i=-1,n=data.length,d,fx=d3_functor(x),fy=d3_functor(y);function segment(){segments.push("M",interpolate(projection(points),tension));}
1710while(++i<n){if(defined.call(this,d=data[i],i)){points.push([+fx.call(this,d,i),+fy.call(this,d,i)]);}else if(points.length){segment();points=[];}}
1711if(points.length)segment();return segments.length?segments.join(""):null;}
1712line.x=function(_){if(!arguments.length)return x;x=_;return line;};line.y=function(_){if(!arguments.length)return y;y=_;return line;};line.defined=function(_){if(!arguments.length)return defined;defined=_;return line;};line.interpolate=function(_){if(!arguments.length)return interpolateKey;if(typeof _==="function")interpolateKey=interpolate=_;else interpolateKey=(interpolate=d3_svg_lineInterpolators.get(_)||d3_svg_lineLinear).key;return line;};line.tension=function(_){if(!arguments.length)return tension;tension=_;return line;};return line;}
1713d3.svg.line=function(){return d3_svg_line(d3_identity);};var d3_svg_lineInterpolators=d3.map({linear:d3_svg_lineLinear,"linear-closed":d3_svg_lineLinearClosed,step:d3_svg_lineStep,"step-before":d3_svg_lineStepBefore,"step-after":d3_svg_lineStepAfter,basis:d3_svg_lineBasis,"basis-open":d3_svg_lineBasisOpen,"basis-closed":d3_svg_lineBasisClosed,bundle:d3_svg_lineBundle,cardinal:d3_svg_lineCardinal,"cardinal-open":d3_svg_lineCardinalOpen,"cardinal-closed":d3_svg_lineCardinalClosed,monotone:d3_svg_lineMonotone});
1713d3_svg_lineInterpolators.forEach(function(key,value){value.key=key;value.closed=/-closed$/.test(key);});function d3_svg_lineLinear(points){return points.join("L");}
1714function d3_svg_lineLinearClosed(points){return d3_svg_lineLinear(points)+"Z";}
1715function d3_svg_lineStep(points){var i=0,n=points.length,p=points[0],path=[p[0],",",p[1]];while(++i<n)path.push("H",(p[0]+(p=points[i])[0])/2,"V",p[1]);if(n>1)path.push("H",p[0]);return path.join("");}
1716function d3_svg_lineStepBefore(points){var i=0,n=points.length,p=points[0],path=[p[0],",",p[1]];while(++i<n)path.push("V",(p=points[i])[1],"H",p[0]);return path.join("");}
1717function d3_svg_lineStepAfter(points){var i=0,n=points.length,p=points[0],path=[p[0],",",p[1]];while(++i<n)path.push("H",(p=points[i])[0],"V",p[1]);return path.join("");}
1718function d3_svg_lineCardinalOpen(points,tension){return points.length<4?d3_svg_lineLinear(points):points[1]+d3_svg_lineHermite(points.slice(1,-1),d3_svg_lineCardinalTangents(points,tension));}
1719function d3_svg_lineCardinalClosed(points,tension){return points.length<3?d3_svg_lineLinear(points):points[0]+d3_svg_lineHermite((points.push(points[0]),points),d3_svg_lineCardinalTangents([points[points.length-2]].concat(points,[points[1]]),tension));}
1720function d3_svg_lineCardinal(points,tension){return points.length<3?d3_svg_lineLinear(points):points[0]+d3_svg_lineHermite(points,d3_svg_lineCardinalTangents(points,tension));}
1721function d3_svg_lineHermite(points,tangents){if(tangents.length<1||points.length!=tangents.length&&points.length!=tangents.length+2){return d3_svg_lineLinear(points);}
1722var quad=points.length!=tangents.length,path="",p0=points[0],p=points[1],t0=tangents[0],t=t0,pi=1;if(quad){path+="Q"+(p[0]-t0[0]*2/3)+","+(p[1]-t0[1]*2/3)+","+p[0]+","+p[1];p0=points[1];pi=2;}
1723if(tangents.length>1){t=tangents[1];p=points[pi];pi++;path+="C"+(p0[0]+t0[0])+","+(p0[1]+t0[1])+","+(p[0]-t[0])+","+(p[1]-t[1])+","+p[0]+","+p[1];for(var i=2;i<tangents.length;i++,pi++){p=points[pi];t=tangents[i];path+="S"+(p[0]-t[0])+","+(p[1]-t[1])+","+p[0]+","+p[1];}}
1724if(quad){var lp=points[pi];path+="Q"+(p[0]+t[0]*2/3)+","+(p[1]+t[1]*2/3)+","+lp[0]+","+lp[1];}
1725return path;}
1726function d3_svg_lineCardinalTangents(points,tension){var tangents=[],a=(1-tension)/2,p0,p1=points[0],p2=points[1],i=1,n=points.length;while(++i<n){p0=p1;p1=p2;p2=points[i];tangents.push([a*(p2[0]-p0[0]),a*(p2[1]-p0[1])]);}
1727return tangents;}
1728function d3_svg_lineBasis(points){if(points.length<3)return d3_svg_lineLinear(points);var i=1,n=points.length,pi=points[0],x0=pi[0],y0=pi[1],px=[x0,x0,x0,(pi=points[1])[0]],py=[y0,y0,y0,pi[1]],path=[x0,",",y0,"L",d3_svg_lineDot4(d3_svg_lineBasisBezier3,px),",",d3_svg_lineDot4(d3_svg_lineBasisBezier3,py)];points.push(points[n-1]);while(++i<=n){pi=points[i];px.shift();px.push(pi[0]);py.shift();py.push(pi[1]);d3_svg_lineBasisBezier(path,px,py);}
1729points.pop();path.push("L",pi);return path.join("");}
1730function d3_svg_lineBasisOpen(points){if(points.length<4)return d3_svg_lineLinear(points);var path=[],i=-1,n=points.length,pi,px=[0],py=[0];while(++i<3){pi=points[i];px.push(pi[0]);py.push(pi[1]);}
1731path.push(d3_svg_lineDot4(d3_svg_lineBasisBezier3,px)+","+d3_svg_lineDot4(d3_svg_lineBasisBezier3,py));--i;while(++i<n){pi=points[i];px.shift();px.push(pi[0]);py.shift();py.push(pi[1]);d3_svg_lineBasisBezier(path,px,py);}
1732return path.join("");}
1733function d3_svg_lineBasisClosed(points){var path,i=-1,n=points.length,m=n+4,pi,px=[],py=[];while(++i<4){pi=points[i%n];px.push(pi[0]);py.push(pi[1]);}
1734path=[d3_svg_lineDot4(d3_svg_lineBasisBezier3,px),",",d3_svg_lineDot4(d3_svg_lineBasisBezier3,py)];--i;while(++i<m){pi=points[i%n];px.shift();px.push(pi[0]);py.shift();py.push(pi[1]);d3_svg_lineBasisBezier(path,px,py);}
1735return path.join("");}
1736function d3_svg_lineBundle(points,tension){var n=points.length-1;if(n){var x0=points[0][0],y0=points[0][1],dx=points[n][0]-x0,dy=points[n][1]-y0,i=-1,p,t;while(++i<=n){p=points[i];t=i/n;p[0]=tension*p[0]+(1-tension)*(x0+t*dx);p[1]=tension*p[1]+(1-tension)*(y0+t*dy);}}
1737return d3_svg_lineBasis(points);}
1738function d3_svg_lineDot4(a,b){return a[0]*b[0]+a[1]*b[1]+a[2]*b[2]+a[3]*b[3];}
1739var d3_svg_lineBasisBezier1=[0,2/3,1/3,0],d3_svg_lineBasisBezier2=[0,1/3,2/3,0],d3_svg_lineBasisBezier3=[0,1/6,2/3,1/6];function d3_svg_lineBasisBezier(path,x,y){path.push("C",d3_svg_lineDot4(d3_svg_lineBasisBezier1,x),",",d3_svg_lineDot4(d3_svg_lineBasisBezier1,y),",",d3_svg_lineDot4(d3_svg_lineBasisBezier2,x),",",d3_svg_lineDot4(d3_svg_lineBasisBezier2,y),",",d3_svg_lineDot4(d3_svg_lineBasisBezier3,x),",",d3_svg_lineDot4(d3_svg_lineBasisBezier3,y));}
1740function d3_svg_lineSlope(p0,p1){return(p1[1]-p0[1])/(p1[0]-p0[0]);}
1741function d3_svg_lineFiniteDifferences(points){var i=0,j=points.length-1,m=[],p0=points[0],p1=points[1],d=m[0]=d3_svg_lineSlope(p0,p1);while(++i<j){m[i]=(d+(d=d3_svg_lineSlope(p0=p1,p1=points[i+1])))/2;}
1742m[i]=d;return m;}
1743function d3_svg_lineMonotoneTangents(points){var tangents=[],d,a,b,s,m=d3_svg_lineFiniteDifferences(points),i=-1,j=points.length-1;while(++i<j){d=d3_svg_lineSlope(points[i],points[i+1]);if(abs(d)<ε){m[i]=m[i+1]=0;}else{a=m[i]/d;b=m[i+1]/d;s=a*a+b*b;if(s>9){s=d*3/Math.sqrt(s);m[i]=s*a;m[i+1]=s*b;}}}
1744i=-1;while(++i<=j){s=(points[Math.min(j,i+1)][0]-points[Math.max(0,i-1)][0])/(6*(1+m[i]*m[i]));tangents.push([s||0,m[i]*s||0]);}
1745return tangents;}
1746function d3_svg_lineMonotone(points){return points.length<3?d3_svg_lineLinear(points):points[0]+d3_svg_lineHermite(points,d3_svg_lineMonotoneTangents(points));}
1747d3.svg.line.radial=function(){var line=d3_svg_line(d3_svg_lineRadial);line.radius=line.x,delete line.x;line.angle=line.y,delete line.y;return line;};function d3_svg_lineRadial(points){var point,i=-1,n=points.length,r,a;while(++i<n){point=points[i];r=point[0];a=point[1]-halfπ;point[0]=r*Math.cos(a);point[1]=r*Math.sin(a);}
1748return points;}
1749function d3_svg_area(projection){var x0=d3_geom_pointX,x1=d3_geom_pointX,y0=0,y1=d3_geom_pointY,defined=d3_true,interpolate=d3_svg_lineLinear,interpolateKey=interpolate.key,interpolateReverse=interpolate,L="L",tension=.7;function area(data){var segments=[],points0=[],points1=[],i=-1,n=data.length,d,fx0=d3_functor(x0),fy0=d3_functor(y0),fx1=x0===x1?function(){return x;}:d3_functor(x1),fy1=y0===y1?function(){return y;}:d3_functor(y1),x,y;function segment(){segments.push("M",interpolate(projection(points1),tension),L,interpolateReverse(projection(points0.reverse()),tension),"Z");}
1750while(++i<n){if(defined.call(this,d=data[i],i)){points0.push([x=+fx0.call(this,d,i),y=+fy0.call(this,d,i)]);
1750points1.push([+fx1.call(this,d,i),+fy1.call(this,d,i)]);}else if(points0.length){segment();points0=[];points1=[];}}
1751if(points0.length)segment();return segments.length?segments.join(""):null;}
1752area.x=function(_){if(!arguments.length)return x1;x0=x1=_;return area;};area.x0=function(_){if(!arguments.length)return x0;x0=_;return area;};area.x1=function(_){if(!arguments.length)return x1;x1=_;return area;};area.y=function(_){if(!arguments.length)return y1;y0=y1=_;return area;};area.y0=function(_){if(!arguments.length)return y0;y0=_;return area;};area.y1=function(_){if(!arguments.length)return y1;y1=_;return area;};area.defined=function(_){if(!arguments.length)return defined;defined=_;return area;};area.interpolate=function(_){if(!arguments.length)return interpolateKey;if(typeof _==="function")interpolateKey=interpolate=_;else interpolateKey=(interpolate=d3_svg_lineInterpolators.get(_)||d3_svg_lineLinear).key;interpolateReverse=interpolate.reverse||interpolate;L=interpolate.closed?"M":"L";return area;};area.tension=function(_){if(!arguments.length)return tension;tension=_;return area;};return area;}
1753d3_svg_lineStepBefore.reverse=d3_svg_lineStepAfter;d3_svg_lineStepAfter.reverse=d3_svg_lineStepBefore;d3.svg.area=function(){return d3_svg_area(d3_identity);};d3.svg.area.radial=function(){var area=d3_svg_area(d3_svg_lineRadial);area.radius=area.x,delete area.x;area.innerRadius=area.x0,delete area.x0;area.outerRadius=area.x1,delete area.x1;area.angle=area.y,delete area.y;area.startAngle=area.y0,delete area.y0;area.endAngle=area.y1,delete area.y1;return area;};d3.svg.chord=function(){var source=d3_source,target=d3_target,radius=d3_svg_chordRadius,startAngle=d3_svg_arcStartAngle,endAngle=d3_svg_arcEndAngle;function chord(d,i){var s=subgroup(this,source,d,i),t=subgroup(this,target,d,i);return"M"+s.p0+arc(s.r,s.p1,s.a1-s.a0)+(equals(s,t)?curve(s.r,s.p1,s.r,s.p0):curve(s.r,s.p1,t.r,t.p0)+arc(t.r,t.p1,t.a1-t.a0)+curve(t.r,t.p1,s.r,s.p0))+"Z";}
1754function subgroup(self,f,d,i){var subgroup=f.call(self,d,i),r=radius.call(self,subgroup,i),a0=startAngle.call(self,subgroup,i)-halfπ,a1=endAngle.call(self,subgroup,i)-halfπ;return{r:r,a0:a0,a1:a1,p0:[r*Math.cos(a0),r*Math.sin(a0)],p1:[r*Math.cos(a1),r*Math.sin(a1)]};}
1755function equals(a,b){return a.a0==b.a0&&a.a1==b.a1;}
1756function arc(r,p,a){return"A"+r+","+r+" 0 "+ +(a>π)+",1 "+p;}
1757function curve(r0,p0,r1,p1){return"Q 0,0 "+p1;}
1758chord.radius=function(v){if(!arguments.length)return radius;radius=d3_functor(v);return chord;};chord.source=function(v){if(!arguments.length)return source;source=d3_functor(v);return chord;};chord.target=function(v){if(!arguments.length)return target;target=d3_functor(v);return chord;};chord.startAngle=function(v){if(!arguments.length)return startAngle;startAngle=d3_functor(v);return chord;};chord.endAngle=function(v){if(!arguments.length)return endAngle;endAngle=d3_functor(v);return chord;};return chord;};function d3_svg_chordRadius(d){return d.radius;}
1759d3.svg.diagonal=function(){var source=d3_source,target=d3_target,projection=d3_svg_diagonalProjection;function diagonal(d,i){var p0=source.call(this,d,i),p3=target.call(this,d,i),m=(p0.y+p3.y)/2,p=[p0,{x:p0.x,y:m},{x:p3.x,y:m},p3];p=p.map(projection);return"M"+p[0]+"C"+p[1]+" "+p[2]+" "+p[3];}
1760diagonal.source=function(x){if(!arguments.length)return source;source=d3_functor(x);return diagonal;};diagonal.target=function(x){if(!arguments.length)return target;target=d3_functor(x);return diagonal;};diagonal.projection=function(x){if(!arguments.length)return projection;projection=x;return diagonal;};return diagonal;};function d3_svg_diagonalProjection(d){return[d.x,d.y];}
1761d3.svg.diagonal.radial=function(){var diagonal=d3.svg.diagonal(),projection=d3_svg_diagonalProjection,projection_=diagonal.projection;diagonal.projection=function(x){return arguments.length?projection_(d3_svg_diagonalRadialProjection(projection=x)):projection;};return diagonal;};function d3_svg_diagonalRadialProjection(projection){return function(){var d=projection.apply(this,arguments),r=d[0],a=d[1]-halfπ;return[r*Math.cos(a),r*Math.sin(a)];};}
1762d3.svg.symbol=function(){var type=d3_svg_symbolType,size=d3_svg_symbolSize;function symbol(d,i){return(d3_svg_symbols.get(type.call(this,d,i))||d3_svg_symbolCircle)(size.call(this,d,i));}
1763symbol.type=function(x){if(!arguments.length)return type;type=d3_functor(x);return symbol;};symbol.size=function(x){if(!arguments.length)return size;size=d3_functor(x);return symbol;};return symbol;};function d3_svg_symbolSize(){return 64;}
1764function d3_svg_symbolType(){return"circle";}
1765function d3_svg_symbolCircle(size){var r=Math.sqrt(size/π);return"M0,"+r+"A"+r+","+r+" 0 1,1 0,"+-r+"A"+r+","+r+" 0 1,1 0,"+r+"Z";}
1766var d3_svg_symbols=d3.map({circle:d3_svg_symbolCircle,cross:function(size){var r=Math.sqrt(size/5)/2;return"M"+-3*r+","+-r+"H"+-r+"V"+-3*r+"H"+r+"V"+-r+"H"+3*r+"V"+r+"H"+r+"V"+3*r+"H"+-r+"V"+r+"H"+-3*r+"Z";},diamond:function(size){var ry=Math.sqrt(size/(2*d3_svg_symbolTan30)),rx=ry*d3_svg_symbolTan30;return"M0,"+-ry+"L"+rx+",0"+" 0,"+ry+" "+-rx+",0"+"Z";},square:function(size){var r=Math.sqrt(size)/2;return"M"+-r+","+-r+"L"+r+","+-r+" "+r+","+r+" "+-r+","+r+"Z";},"triangle-down":function(size){var rx=Math.sqrt(size/d3_svg_symbolSqrt3),ry=rx*d3_svg_symbolSqrt3/2;return"M0,"+ry+"L"+rx+","+-ry+" "+-rx+","+-ry+"Z";},"triangle-up":function(size){var rx=Math.sqrt(size/d3_svg_symbolSqrt3),ry=rx*d3_svg_symbolSqrt3/2;return"M0,"+-ry+"L"+rx+","+ry+" "+-rx+","+ry+"Z";}});d3.svg.symbolTypes=d3_svg_symbols.keys();var d3_svg_symbolSqrt3=Math.sqrt(3),d3_svg_symbolTan30=Math.tan(30*d3_radians);d3_selectionPrototype.transition=function(name){var id=d3_transitionInheritId||++d3_transitionId,ns=d3_transitionNamespace(name),subgroups=[],subgroup,node,transition=d3_transitionInherit||{time:Date.now(),ease:d3_ease_cubicInOut,delay:0,duration:250};for(var j=-1,m=this.length;++j<m;){subgroups.push(subgroup=[]);for(var group=this[j],i=-1,n=group.length;++i<n;){if(node=group[i])d3_transitionNode(node,i,ns,id,transition);subgroup.push(node);}}
1767return d3_transition(subgroups,ns,id);};d3_selectionPrototype.interrupt=function(name){return this.each(name==null?d3_selection_interrupt:d3_selection_interruptNS(d3_transitionNamespace(name)));};var d3_selection_interrupt=d3_selection_interruptNS(d3_transitionNamespace());function d3_selection_interruptNS(ns){return function(){var lock,active;if((lock=this[ns])&&(active=lock[lock.active])){if(--lock.count)delete lock[lock.active];else delete this[ns];lock.active+=.5;active.event&&active.event.interrupt.call(this,this.__data__,active.index);}};}
1768function d3_transition(groups,ns,id){d3_subclass(groups,d3_transitionPrototype);groups.namespace=ns;groups.id=id;return groups;}
1769var d3_transitionPrototype=[],d3_transitionId=0,d3_transitionInheritId,d3_transitionInherit;d3_transitionPrototype.call=d3_selectionPrototype.call;d3_transitionPrototype.empty=d3_selectionPrototype.empty;d3_transitionPrototype.node=d3_selectionPrototype.node;d3_transitionPrototype.size=d3_selectionPrototype.size;d3.transition=function(selection,name){return selection&&selection.transition?d3_transitionInheritId?selection.transition(name):selection:d3.selection().transition(selection);};d3.transition.prototype=d3_transitionPrototype;d3_transitionPrototype.select=function(selector){var id=this.id,ns=this.namespace,subgroups=[],subgroup,subnode,n
1769ode;selector=d3_selection_selector(selector);for(var j=-1,m=this.length;++j<m;){subgroups.push(subgroup=[]);for(var group=this[j],i=-1,n=group.length;++i<n;){if((node=group[i])&&(subnode=selector.call(node,node.__data__,i,j))){if("__data__"in node)subnode.__data__=node.__data__;d3_transitionNode(subnode,i,ns,id,node[ns][id]);subgroup.push(subnode);}else{subgroup.push(null);}}}
1770return d3_transition(subgroups,ns,id);};d3_transitionPrototype.selectAll=function(selector){var id=this.id,ns=this.namespace,subgroups=[],subgroup,subnodes,node,subnode,transition;selector=d3_selection_selectorAll(selector);for(var j=-1,m=this.length;++j<m;){for(var group=this[j],i=-1,n=group.length;++i<n;){if(node=group[i]){transition=node[ns][id];subnodes=selector.call(node,node.__data__,i,j);subgroups.push(subgroup=[]);for(var k=-1,o=subnodes.length;++k<o;){if(subnode=subnodes[k])d3_transitionNode(subnode,k,ns,id,transition);subgroup.push(subnode);}}}}
1771return d3_transition(subgroups,ns,id);};d3_transitionPrototype.filter=function(filter){var subgroups=[],subgroup,group,node;if(typeof filter!=="function")filter=d3_selection_filter(filter);for(var j=0,m=this.length;j<m;j++){subgroups.push(subgroup=[]);for(var group=this[j],i=0,n=group.length;i<n;i++){if((node=group[i])&&filter.call(node,node.__data__,i,j)){subgroup.push(node);}}}
1772return d3_transition(subgroups,this.namespace,this.id);};d3_transitionPrototype.tween=function(name,tween){var id=this.id,ns=this.namespace;if(arguments.length<2)return this.node()[ns][id].tween.get(name);return d3_selection_each(this,tween==null?function(node){node[ns][id].tween.remove(name);}:function(node){node[ns][id].tween.set(name,tween);});};function d3_transition_tween(groups,name,value,tween){var id=groups.id,ns=groups.namespace;return d3_selection_each(groups,typeof value==="function"?function(node,i,j){node[ns][id].tween.set(name,tween(value.call(node,node.__data__,i,j)));}:(value=tween(value),function(node){node[ns][id].tween.set(name,value);}));}
1773d3_transitionPrototype.attr=function(nameNS,value){if(arguments.length<2){for(value in nameNS)this.attr(value,nameNS[value]);return this;}
1774var interpolate=nameNS=="transform"?d3_interpolateTransform:d3_interpolate,name=d3.ns.qualify(nameNS);function attrNull(){this.removeAttribute(name);}
1775function attrNullNS(){this.removeAttributeNS(name.space,name.local);}
1776function attrTween(b){return b==null?attrNull:(b+="",function(){var a=this.getAttribute(name),i;return a!==b&&(i=interpolate(a,b),function(t){this.setAttribute(name,i(t));});});}
1777function attrTweenNS(b){return b==null?attrNullNS:(b+="",function(){var a=this.getAttributeNS(name.space,name.local),i;return a!==b&&(i=interpolate(a,b),function(t){this.setAttributeNS(name.space,name.local,i(t));});});}
1778return d3_transition_tween(this,"attr."+nameNS,value,name.local?attrTweenNS:attrTween);};d3_transitionPrototype.attrTween=function(nameNS,tween){var name=d3.ns.qualify(nameNS);function attrTween(d,i){var f=tween.call(this,d,i,this.getAttribute(name));return f&&function(t){this.setAttribute(name,f(t));};}
1779function attrTweenNS(d,i){var f=tween.call(this,d,i,this.getAttributeNS(name.space,name.local));return f&&function(t){this.setAttributeNS(name.space,name.local,f(t));};}
1780return this.tween("attr."+nameNS,name.local?attrTweenNS:attrTween);};d3_transitionPrototype.style=function(name,value,priority){var n=arguments.length;if(n<3){if(typeof name!=="string"){if(n<2)value="";for(priority in name)this.style(priority,name[priority],value);return this;}
1781priority="";}
1782function styleNull(){this.style.removeProperty(name);}
1783function styleString(b){return b==null?styleNull:(b+="",function(){var a=d3_window(this).getComputedStyle(this,null).getPropertyValue(name),i;return a!==b&&(i=d3_interpolate(a,b),function(t){this.style.setProperty(name,i(t),priority);});});}
1784return d3_transition_tween(this,"style."+name,value,styleString);};d3_transitionPrototype.styleTween=function(name,tween,priority){if(arguments.length<3)priority="";function styleTween(d,i){var f=tween.call(this,d,i,d3_window(this).getComputedStyle(this,null).getPropertyValue(name));return f&&function(t){this.style.setProperty(name,f(t),priority);};}
1785return this.tween("style."+name,styleTween);};d3_transitionPrototype.text=function(value){return d3_transition_tween(this,"text",value,d3_transition_text);};function d3_transition_text(b){if(b==null)b="";return function(){this.textContent=b;};}
1786d3_transitionPrototype.remove=function(){var ns=this.namespace;return this.each("end.transition",function(){var p;if(this[ns].count<2&&(p=this.parentNode))p.removeChild(this);});};d3_transitionPrototype.ease=function(value){var id=this.id,ns=this.namespace;if(arguments.length<1)return this.node()[ns][id].ease;if(typeof value!=="function")value=d3.ease.apply(d3,arguments);return d3_selection_each(this,function(node){node[ns][id].ease=value;});};d3_transitionPrototype.delay=function(value){var id=this.id,ns=this.namespace;if(arguments.length<1)return this.node()[ns][id].delay;return d3_selection_each(this,typeof value==="function"?function(node,i,j){node[ns][id].delay=+value.call(node,node.__data__,i,j);}:(value=+value,function(node){node[ns][id].delay=value;}));};d3_transitionPrototype.duration=function(value){var id=this.id,ns=this.namespace;if(arguments.length<1)return this.node()[ns][id].duration;return d3_selection_each(this,typeof value==="function"?function(node,i,j){node[ns][id].duration=Math.max(1,value.call(node,node.__data__,i,j));}:(value=Math.max(1,value),function(node){node[ns][id].duration=value;}));};d3_transitionPrototype.each=function(type,listener){var id=this.id,ns=this.namespace;if(arguments.length<2){var inherit=d3_transitionInherit,inheritId=d3_transitionInheritId;try{d3_transitionInheritId=id;d3_selection_each(this,function(node,i,j){d3_transitionInherit=node[ns][id];type.call(node,node.__data__,i,j);});}finally{d3_transitionInherit=inherit;d3_transitionInheritId=inheritId;}}else{d3_selection_each(this,function(node){var transition=node[ns][id];
1786(transition.event||(transition.event=d3.dispatch("start","end","interrupt"))).on(type,listener);});}
1787return this;};d3_transitionPrototype.transition=function(){var id0=this.id,id1=++d3_transitionId,ns=this.namespace,subgroups=[],subgroup,group,node,transition;for(var j=0,m=this.length;j<m;j++){subgroups.push(subgroup=[]);for(var group=this[j],i=0,n=group.length;i<n;i++){if(node=group[i]){transition=node[ns][id0];d3_transitionNode(node,i,ns,id1,{time:transition.time,ease:transition.ease,delay:transition.delay+transition.duration,duration:transition.duration});}
1788subgroup.push(node);}}
1789return d3_transition(subgroups,ns,id1);};function d3_transitionNamespace(name){return name==null?"__transition__":"__transition_"+name+"__";}
1790function d3_transitionNode(node,i,ns,id,inherit){var lock=node[ns]||(node[ns]={active:0,count:0}),transition=lock[id];if(!transition){var time=inherit.time;transition=lock[id]={tween:new d3_Map(),time:time,delay:inherit.delay,duration:inherit.duration,ease:inherit.ease,index:i};inherit=null;++lock.count;d3.timer(function(elapsed){var delay=transition.delay,duration,ease,timer=d3_timer_active,tweened=[];timer.t=delay+time;if(delay<=elapsed)return start(elapsed-delay);timer.c=start;function start(elapsed){if(lock.active>id)return stop();var active=lock[lock.active];if(active){--lock.count;delete lock[lock.active];active.event&&active.event.interrupt.call(node,node.__data__,active.index);}
1791lock.active=id;transition.event&&transition.event.start.call(node,node.__data__,i);transition.tween.forEach(function(key,value){if(value=value.call(node,node.__data__,i)){tweened.push(value);}});ease=transition.ease;duration=transition.duration;d3.timer(function(){timer.c=tick(elapsed||1)?d3_true:tick;return 1;},0,time);}
1792function tick(elapsed){if(lock.active!==id)return 1;var t=elapsed/duration,e=ease(t),n=tweened.length;while(n>0){tweened[--n].call(node,e);}
1793if(t>=1){transition.event&&transition.event.end.call(node,node.__data__,i);return stop();}}
1794function stop(){if(--lock.count)delete lock[id];else delete node[ns];return 1;}},0,time);}}
1795d3.svg.axis=function(){var scale=d3.scale.linear(),orient=d3_svg_axisDefaultOrient,innerTickSize=6,outerTickSize=6,tickPadding=3,tickArguments_=[10],tickValues=null,tickFormat_;function axis(g){g.each(function(){var g=d3.select(this);var scale0=this.__chart__||scale,scale1=this.__chart__=scale.copy();var ticks=tickValues==null?scale1.ticks?scale1.ticks.apply(scale1,tickArguments_):scale1.domain():tickValues,tickFormat=tickFormat_==null?scale1.tickFormat?scale1.tickFormat.apply(scale1,tickArguments_):d3_identity:tickFormat_,tick=g.selectAll(".tick").data(ticks,scale1),tickEnter=tick.enter().insert("g",".domain").attr("class","tick").style("opacity",ε),tickExit=d3.transition(tick.exit()).style("opacity",ε).remove(),tickUpdate=d3.transition(tick.order()).style("opacity",1),tickSpacing=Math.max(innerTickSize,0)+tickPadding,tickTransform;var range=d3_scaleRange(scale1),path=g.selectAll(".domain").data([0]),pathUpdate=(path.enter().append("path").attr("class","domain"),d3.transition(path));tickEnter.append("line");tickEnter.append("text");var lineEnter=tickEnter.select("line"),lineUpdate=tickUpdate.select("line"),text=tick.select("text").text(tickFormat),textEnter=tickEnter.select("text"),textUpdate=tickUpdate.select("text"),sign=orient==="top"||orient==="left"?-1:1,x1,x2,y1,y2;if(orient==="bottom"||orient==="top"){tickTransform=d3_svg_axisX,x1="x",y1="y",x2="x2",y2="y2";text.attr("dy",sign<0?"0em":".71em").style("text-anchor","middle");pathUpdate.attr("d","M"+range[0]+","+sign*outerTickSize+"V0H"+range[1]+"V"+sign*outerTickSize);}else{tickTransform=d3_svg_axisY,x1="y",y1="x",x2="y2",y2="x2";text.attr("dy",".32em").style("text-anchor",sign<0?"end":"start");pathUpdate.attr("d","M"+sign*outerTickSize+","+range[0]+"H0V"+range[1]+"H"+sign*outerTickSize);}
1796lineEnter.attr(y2,sign*innerTickSize);textEnter.attr(y1,sign*tickSpacing);lineUpdate.attr(x2,0).attr(y2,sign*innerTickSize);textUpdate.attr(x1,0).attr(y1,sign*tickSpacing);if(scale1.rangeBand){var x=scale1,dx=x.rangeBand()/2;scale0=scale1=function(d){return x(d)+dx;};}else if(scale0.rangeBand){scale0=scale1;}else{tickExit.call(tickTransform,scale1,scale0);}
1797tickEnter.call(tickTransform,scale0,scale1);tickUpdate.call(tickTransform,scale1,scale1);});}
1798axis.scale=function(x){if(!arguments.length)return scale;scale=x;return axis;};axis.orient=function(x){if(!arguments.length)return orient;orient=x in d3_svg_axisOrients?x+"":d3_svg_axisDefaultOrient;return axis;};axis.ticks=function(){if(!arguments.length)return tickArguments_;tickArguments_=arguments;return axis;};axis.tickValues=function(x){if(!arguments.length)return tickValues;tickValues=x;return axis;};axis.tickFormat=function(x){if(!arguments.length)return tickFormat_;tickFormat_=x;return axis;};axis.tickSize=function(x){var n=arguments.length;if(!n)return innerTickSize;innerTickSize=+x;outerTickSize=+arguments[n-1];return axis;};axis.innerTickSize=function(x){if(!arguments.length)return innerTickSize;innerTickSize=+x;return axis;};axis.outerTickSize=function(x){if(!arguments.length)return outerTickSize;outerTickSize=+x;return axis;};axis.tickPadding=function(x){if(!arguments.length)return tickPadding;tickPadding=+x;return axis;};axis.tickSubdivide=function(){return arguments.length&&axis;};return axis;};var d3_svg_axisDefaultOrient="bottom",d3_svg_axisOrients={top:1,right:1,bottom:1,left:1};function d3_svg_axisX(selection,x0,x1){selection.attr("transform",function(d){var v0=x0(d);return"translate("+(isFinite(v0)?v0:x1(d))+",0)";});}
1799function d3_svg_axisY(selection,y0,y1){selection.attr("transform",function(d){var v0=y0(d);return"translate(0,"+(isFinite(v0)?v0:y1(d))+")";});}
1800d3.svg.brush=function(){var event=d3_eventDispatch(brush,"brushstart","brush","brushend"),x=null,y=null,xExtent=[0,0],yExtent=[0,0],xExtentDomain,yExtentDomain,xClamp=true,yClamp=true,resizes=d3_svg_brushResizes[0];function brush(g){g.each(function(){var g=d3.select(this).style("pointer-events","all").style("-webkit-tap-highlight-color","rgba(0,0,0,0)").on("mousedown.brush",brushstart).on("touchstart.brush",brushstart);var background=g.selectAll(".background").data([0]);background.enter().append("rect").attr("class","background").style("visibility","hidden").style("cursor","crosshair");g.selectAll(".extent").data([0]).enter().append("rect").attr("class","extent").style("cursor","move");var resize=g.selectAll(".resize").data(resizes,d3_identity);resize.exit().remove();resize.enter().append("g").attr("class",function(d){return"resize "+d;}).style("cursor",function(d){return d3_svg_brushCursor[d];}).append("rect").attr("x",function(d){return/[ew]$/.test(d)?-3:null;}).attr("y",function(d){return/^[ns]/.test(d)?-3:null;}).attr("width",6).attr("height",6).style("visibility","hidden");resize.style("display",brush.empty()?"none":null);var gUpdate=d3.transition(g),backgroundUpdate=d3.transition(background),range;
1800if(x){range=d3_scaleRange(x);backgroundUpdate.attr("x",range[0]).attr("width",range[1]-range[0]);redrawX(gUpdate);}
1801if(y){range=d3_scaleRange(y);backgroundUpdate.attr("y",range[0]).attr("height",range[1]-range[0]);redrawY(gUpdate);}
1802redraw(gUpdate);});}
1803brush.event=function(g){g.each(function(){var event_=event.of(this,arguments),extent1={x:xExtent,y:yExtent,i:xExtentDomain,j:yExtentDomain},extent0=this.__chart__||extent1;this.__chart__=extent1;if(d3_transitionInheritId){d3.select(this).transition().each("start.brush",function(){xExtentDomain=extent0.i;yExtentDomain=extent0.j;xExtent=extent0.x;yExtent=extent0.y;event_({type:"brushstart"});}).tween("brush:brush",function(){var xi=d3_interpolateArray(xExtent,extent1.x),yi=d3_interpolateArray(yExtent,extent1.y);xExtentDomain=yExtentDomain=null;return function(t){xExtent=extent1.x=xi(t);yExtent=extent1.y=yi(t);event_({type:"brush",mode:"resize"});};}).each("end.brush",function(){xExtentDomain=extent1.i;yExtentDomain=extent1.j;event_({type:"brush",mode:"resize"});event_({type:"brushend"});});}else{event_({type:"brushstart"});event_({type:"brush",mode:"resize"});event_({type:"brushend"});}});};function redraw(g){g.selectAll(".resize").attr("transform",function(d){return"translate("+xExtent[+/e$/.test(d)]+","+yExtent[+/^s/.test(d)]+")";});}
1804function redrawX(g){g.select(".extent").attr("x",xExtent[0]);g.selectAll(".extent,.n>rect,.s>rect").attr("width",xExtent[1]-xExtent[0]);}
1805function redrawY(g){g.select(".extent").attr("y",yExtent[0]);g.selectAll(".extent,.e>rect,.w>rect").attr("height",yExtent[1]-yExtent[0]);}
1806function brushstart(){var target=this,eventTarget=d3.select(d3.event.target),event_=event.of(target,arguments),g=d3.select(target),resizing=eventTarget.datum(),resizingX=!/^(n|s)$/.test(resizing)&&x,resizingY=!/^(e|w)$/.test(resizing)&&y,dragging=eventTarget.classed("extent"),dragRestore=d3_event_dragSuppress(target),center,origin=d3.mouse(target),offset;var w=d3.select(d3_window(target)).on("keydown.brush",keydown).on("keyup.brush",keyup);if(d3.event.changedTouches){w.on("touchmove.brush",brushmove).on("touchend.brush",brushend);}else{w.on("mousemove.brush",brushmove).on("mouseup.brush",brushend);}
1807g.interrupt().selectAll("*").interrupt();if(dragging){origin[0]=xExtent[0]-origin[0];origin[1]=yExtent[0]-origin[1];}else if(resizing){var ex=+/w$/.test(resizing),ey=+/^n/.test(resizing);offset=[xExtent[1-ex]-origin[0],yExtent[1-ey]-origin[1]];origin[0]=xExtent[ex];origin[1]=yExtent[ey];}else if(d3.event.altKey)center=origin.slice();g.style("pointer-events","none").selectAll(".resize").style("display",null);d3.select("body").style("cursor",eventTarget.style("cursor"));event_({type:"brushstart"});brushmove();function keydown(){if(d3.event.keyCode==32){if(!dragging){center=null;origin[0]-=xExtent[1];origin[1]-=yExtent[1];dragging=2;}
1808d3_eventPreventDefault();}}
1809function keyup(){if(d3.event.keyCode==32&&dragging==2){origin[0]+=xExtent[1];origin[1]+=yExtent[1];dragging=0;d3_eventPreventDefault();}}
1810function brushmove(){var point=d3.mouse(target),moved=false;if(offset){point[0]+=offset[0];point[1]+=offset[1];}
1811if(!dragging){if(d3.event.altKey){if(!center)center=[(xExtent[0]+xExtent[1])/2,(yExtent[0]+yExtent[1])/2];origin[0]=xExtent[+(point[0]<center[0])];origin[1]=yExtent[+(point[1]<center[1])];}else center=null;}
1812if(resizingX&&move1(point,x,0)){redrawX(g);moved=true;}
1813if(resizingY&&move1(point,y,1)){redrawY(g);moved=true;}
1814if(moved){redraw(g);event_({type:"brush",mode:dragging?"move":"resize"});}}
1815function move1(point,scale,i){var range=d3_scaleRange(scale),r0=range[0],r1=range[1],position=origin[i],extent=i?yExtent:xExtent,size=extent[1]-extent[0],min,max;if(dragging){r0-=position;r1-=size+position;}
1816min=(i?yClamp:xClamp)?Math.max(r0,Math.min(r1,point[i])):point[i];if(dragging){max=(min+=position)+size;}else{if(center)position=Math.max(r0,Math.min(r1,2*center[i]-min));if(position<min){max=min;min=position;}else{max=position;}}
1817if(extent[0]!=min||extent[1]!=max){if(i)yExtentDomain=null;else xExtentDomain=null;extent[0]=min;extent[1]=max;return true;}}
1818function brushend(){brushmove();g.style("pointer-events","all").selectAll(".resize").style("display",brush.empty()?"none":null);d3.select("body").style("cursor",null);w.on("mousemove.brush",null).on("mouseup.brush",null).on("touchmove.brush",null).on("touchend.brush",null).on("keydown.brush",null).on("keyup.brush",null);dragRestore();event_({type:"brushend"});}}
1819brush.x=function(z){if(!arguments.length)return x;x=z;resizes=d3_svg_brushResizes[!x<<1|!y];return brush;};brush.y=function(z){if(!arguments.length)return y;y=z;resizes=d3_svg_brushResizes[!x<<1|!y];return brush;};brush.clamp=function(z){if(!arguments.length)return x&&y?[xClamp,yClamp]:x?xClamp:y?yClamp:null;if(x&&y)xClamp=!!z[0],yClamp=!!z[1];else if(x)xClamp=!!z;else if(y)yClamp=!!z;return brush;};brush.extent=function(z){var x0,x1,y0,y1,t;if(!arguments.length){if(x){if(xExtentDomain){x0=xExtentDomain[0],x1=xExtentDomain[1];}else{x0=xExtent[0],x1=xExtent[1];if(x.invert)x0=x.invert(x0),x1=x.invert(x1);if(x1<x0)t=x0,x0=x1,x1=t;}}
1820if(y){if(yExtentDomain){y0=yExtentDomain[0],y1=yExtentDomain[1];}else{y0=yExtent[0],y1=yExtent[1];if(y.invert)y0=y.invert(y0),y1=y.invert(y1);if(y1<y0)t=y0,y0=y1,y1=t;}}
1821return x&&y?[[x0,y0],[x1,y1]]:x?[x0,x1]:y&&[y0,y1];}
1822if(x){x0=z[0],x1=z[1];if(y)x0=x0[0],x1=x1[0];xExtentDomain=[x0,x1];if(x.invert)x0=x(x0),x1=x(x1);if(x1<x0)t=x0,x0=x1,x1=t;if(x0!=xExtent[0]||x1!=xExtent[1])xExtent=[x0,x1];}
1823if(y){y0=z[0],y1=z[1];if(x)y0=y0[1],y1=y1[1];yExtentDomain=[y0,y1];if(y.invert)y0=y(y0),y1=y(y1);if(y1<y0)t=y0,y0=y1,y1=t;if(y0!=yExtent[0]||y1!=yExtent[1])yExtent=[y0,y1];}
1824return brush;};brush.clear=function(){if(!brush.empty()){xExtent=[0,0],yExtent=[0,0];xExtentDomain=yExtentDomain=null;}
1825return brush;};
1825brush.empty=function(){return!!x&&xExtent[0]==xExtent[1]||!!y&&yExtent[0]==yExtent[1];};return d3.rebind(brush,event,"on");};var d3_svg_brushCursor={n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"};var d3_svg_brushResizes=[["n","e","s","w","nw","ne","se","sw"],["e","w"],["n","s"],[]];var d3_time_format=d3_time.format=d3_locale_enUS.timeFormat;var d3_time_formatUtc=d3_time_format.utc;var d3_time_formatIso=d3_time_formatUtc("%Y-%m-%dT%H:%M:%S.%LZ");d3_time_format.iso=Date.prototype.toISOString&&+new Date("2000-01-01T00:00:00.000Z")?d3_time_formatIsoNative:d3_time_formatIso;function d3_time_formatIsoNative(date){return date.toISOString();}
1826d3_time_formatIsoNative.parse=function(string){var date=new Date(string);return isNaN(date)?null:date;};d3_time_formatIsoNative.toString=d3_time_formatIso.toString;d3_time.second=d3_time_interval(function(date){return new d3_date(Math.floor(date/1e3)*1e3);},function(date,offset){date.setTime(date.getTime()+Math.floor(offset)*1e3);},function(date){return date.getSeconds();});d3_time.seconds=d3_time.second.range;d3_time.seconds.utc=d3_time.second.utc.range;d3_time.minute=d3_time_interval(function(date){return new d3_date(Math.floor(date/6e4)*6e4);},function(date,offset){date.setTime(date.getTime()+Math.floor(offset)*6e4);},function(date){return date.getMinutes();});d3_time.minutes=d3_time.minute.range;d3_time.minutes.utc=d3_time.minute.utc.range;d3_time.hour=d3_time_interval(function(date){var timezone=date.getTimezoneOffset()/60;return new d3_date((Math.floor(date/36e5-timezone)+timezone)*36e5);},function(date,offset){date.setTime(date.getTime()+Math.floor(offset)*36e5);},function(date){return date.getHours();});d3_time.hours=d3_time.hour.range;d3_time.hours.utc=d3_time.hour.utc.range;d3_time.month=d3_time_interval(function(date){date=d3_time.day(date);date.setDate(1);return date;},function(date,offset){date.setMonth(date.getMonth()+offset);},function(date){return date.getMonth();});d3_time.months=d3_time.month.range;d3_time.months.utc=d3_time.month.utc.range;function d3_time_scale(linear,methods,format){function scale(x){return linear(x);}
1827scale.invert=function(x){return d3_time_scaleDate(linear.invert(x));};scale.domain=function(x){if(!arguments.length)return linear.domain().map(d3_time_scaleDate);linear.domain(x);return scale;};function tickMethod(extent,count){var span=extent[1]-extent[0],target=span/count,i=d3.bisect(d3_time_scaleSteps,target);return i==d3_time_scaleSteps.length?[methods.year,d3_scale_linearTickRange(extent.map(function(d){return d/31536e6;}),count)[2]]:!i?[d3_time_scaleMilliseconds,d3_scale_linearTickRange(extent,count)[2]]:methods[target/d3_time_scaleSteps[i-1]<d3_time_scaleSteps[i]/target?i-1:i];}
1828scale.nice=function(interval,skip){var domain=scale.domain(),extent=d3_scaleExtent(domain),method=interval==null?tickMethod(extent,10):typeof interval==="number"&&tickMethod(extent,interval);if(method)interval=method[0],skip=method[1];function skipped(date){return!isNaN(date)&&!interval.range(date,d3_time_scaleDate(+date+1),skip).length;}
1829return scale.domain(d3_scale_nice(domain,skip>1?{floor:function(date){while(skipped(date=interval.floor(date)))date=d3_time_scaleDate(date-1);return date;},ceil:function(date){while(skipped(date=interval.ceil(date)))date=d3_time_scaleDate(+date+1);return date;}}:interval));};scale.ticks=function(interval,skip){var extent=d3_scaleExtent(scale.domain()),method=interval==null?tickMethod(extent,10):typeof interval==="number"?tickMethod(extent,interval):!interval.range&&[{range:interval},skip];if(method)interval=method[0],skip=method[1];return interval.range(extent[0],d3_time_scaleDate(+extent[1]+1),skip<1?1:skip);};scale.tickFormat=function(){return format;};scale.copy=function(){return d3_time_scale(linear.copy(),methods,format);};return d3_scale_linearRebind(scale,linear);}
1830function d3_time_scaleDate(t){return new Date(t);}
1831var d3_time_scaleSteps=[1e3,5e3,15e3,3e4,6e4,3e5,9e5,18e5,36e5,108e5,216e5,432e5,864e5,1728e5,6048e5,2592e6,7776e6,31536e6];var d3_time_scaleLocalMethods=[[d3_time.second,1],[d3_time.second,5],[d3_time.second,15],[d3_time.second,30],[d3_time.minute,1],[d3_time.minute,5],[d3_time.minute,15],[d3_time.minute,30],[d3_time.hour,1],[d3_time.hour,3],[d3_time.hour,6],[d3_time.hour,12],[d3_time.day,1],[d3_time.day,2],[d3_time.week,1],[d3_time.month,1],[d3_time.month,3],[d3_time.year,1]];var d3_time_scaleLocalFormat=d3_time_format.multi([[".%L",function(d){return d.getMilliseconds();}],[":%S",function(d){return d.getSeconds();}],["%I:%M",function(d){return d.getMinutes();}],["%I %p",function(d){return d.getHours();}],["%a %d",function(d){return d.getDay()&&d.getDate()!=1;}],["%b %d",function(d){return d.getDate()!=1;}],["%B",function(d){return d.getMonth();}],["%Y",d3_true]]);var d3_time_scaleMilliseconds={range:function(start,stop,step){return d3.range(Math.ceil(start/step)*step,+stop,step).map(d3_time_scaleDate);},floor:d3_identity,ceil:d3_identity};d3_time_scaleLocalMethods.year=d3_time.year;d3_time.scale=function(){return d3_time_scale(d3.scale.linear(),d3_time_scaleLocalMethods,d3_time_scaleLocalFormat);};var d3_time_scaleUtcMethods=d3_time_scaleLocalMethods.map(function(m){return[m[0].utc,m[1]];});var d3_time_scaleUtcFormat=d3_time_formatUtc.multi([[".%L",function(d){return d.getUTCMilliseconds();}],[":%S",function(d){return d.getUTCSeconds();}],["%I:%M",function(d){return d.getUTCMinutes();}],["%I %p",function(d){return d.getUTCHours();}],["%a %d",function(d){return d.getUTCDay()&&d.getUTCDate()!=1;}],["%b %d",function(d){return d.getUTCDate()!=1;}],["%B",function(d){return d.getUTCMonth();}],["%Y",d3_true]]);d3_time_scaleUtcMethods.year=d3_time.year.utc;d3_time.scale.utc=function(){return d3_time_scale(d3.scale.linear(),d3_time_scaleUtcMethods,d3_time_scaleUtcFormat);};d3.text=d3_xhrType(function(request){return request.responseText;});d3.json=function(url,callback){return d3_xhr(url,"application/json",d3_json,callback);};function d3_json(request){return JSON.parse(request.responseText);}
1832d3.html=function(url,callback){return d3_xhr(url,"text/html",d3_html,callback);};function d3_html(request){var range=d3_document.createRange();range.selectNode(d3_document.body);return range.createContextualFragment(request.responseText);}
1833d3.xml=d3_xhrType(function(request){return request.responseXML;});if(typeof define==="function"&&define.amd)define(d3);else if(typeof module==="object"&&module.exports)module.exports=d3;this.d3=d3;}();;
1834
1835/* /web/static/lib/nvd3/nv.d3.js defined in bundle 'web.assets_frontend' */
1836(function(){var nv={};nv.dev=false;nv.tooltip=nv.tooltip||{};nv.utils=nv.utils||{};nv.models=nv.models||{};nv.charts={};nv.logs={};nv.dom={};if(typeof(module)!=='undefined'&&typeof(exports)!=='undefined'&&typeof(d3)=='undefined'){d3=require('d3');}
1837nv.dispatch=d3.dispatch('render_start','render_end');
1837if(!Function.prototype.bind){Function.prototype.bind=function(oThis){if(typeof this!=="function"){throw new TypeError("Function.prototype.bind - what is trying to be bound is not callable");}
1838var aArgs=Array.prototype.slice.call(arguments,1),fToBind=this,fNOP=function(){},fBound=function(){return fToBind.apply(this instanceof fNOP&&oThis?this:oThis,aArgs.concat(Array.prototype.slice.call(arguments)));};fNOP.prototype=this.prototype;fBound.prototype=new fNOP();return fBound;};}
1839if(nv.dev){nv.dispatch.on('render_start',function(e){nv.logs.startTime=+new Date();});nv.dispatch.on('render_end',function(e){nv.logs.endTime=+new Date();nv.logs.totalTime=nv.logs.endTime-nv.logs.startTime;nv.log('total',nv.logs.totalTime);});}
1840nv.log=function(){if(nv.dev&&window.console&&console.log&&console.log.apply)
1841console.log.apply(console,arguments);else if(nv.dev&&window.console&&typeof console.log=="function"&&Function.prototype.bind){var log=Function.prototype.bind.call(console.log,console);log.apply(console,arguments);}
1842return arguments[arguments.length-1];};nv.deprecated=function(name,info){if(console&&console.warn){console.warn('nvd3 warning: `'+name+'` has been deprecated. ',info||'');}};nv.render=function render(step){step=step||1;nv.render.active=true;nv.dispatch.render_start();var renderLoop=function(){var chart,graph;for(var i=0;i<step&&(graph=nv.render.queue[i]);i++){chart=graph.generate();if(typeof graph.callback==typeof(Function))graph.callback(chart);}
1843nv.render.queue.splice(0,i);if(nv.render.queue.length){setTimeout(renderLoop);}
1844else{nv.dispatch.render_end();nv.render.active=false;}};setTimeout(renderLoop);};nv.render.active=false;nv.render.queue=[];nv.addGraph=function(obj){if(typeof arguments[0]===typeof(Function)){obj={generate:arguments[0],callback:arguments[1]};}
1845nv.render.queue.push(obj);if(!nv.render.active){nv.render();}};if(typeof(module)!=='undefined'&&typeof(exports)!=='undefined'){module.exports=nv;}
1846if(typeof(window)!=='undefined'){window.nv=nv;}
1847nv.dom.write=function(callback){if(window.fastdom!==undefined){return fastdom.write(callback);}
1848return callback();};nv.dom.read=function(callback){if(window.fastdom!==undefined){return fastdom.read(callback);}
1849return callback();};nv.interactiveGuideline=function(){"use strict";var margin={left:0,top:0},width=null,height=null,xScale=d3.scale.linear(),dispatch=d3.dispatch('elementMousemove','elementMouseout','elementClick','elementDblclick','elementMouseDown','elementMouseUp'),showGuideLine=true,svgContainer=null,tooltip=nv.models.tooltip(),isMSIE="ActiveXObject"in window;tooltip.duration(0).hideDelay(0).hidden(false);function layer(selection){selection.each(function(data){var container=d3.select(this);var availableWidth=(width||960),availableHeight=(height||400);var wrap=container.selectAll("g.nv-wrap.nv-interactiveLineLayer").data([data]);var wrapEnter=wrap.enter().append("g").attr("class"," nv-wrap nv-interactiveLineLayer");wrapEnter.append("g").attr("class","nv-interactiveGuideLine");if(!svgContainer){return;}
1850function mouseHandler(){var d3mouse=d3.mouse(this);var mouseX=d3mouse[0];var mouseY=d3mouse[1];var subtractMargin=true;var mouseOutAnyReason=false;if(isMSIE){mouseX=d3.event.offsetX;mouseY=d3.event.offsetY;if(d3.event.target.tagName!=="svg"){subtractMargin=false;}
1851if(d3.event.target.className.baseVal.match("nv-legend")){mouseOutAnyReason=true;}}
1852if(subtractMargin){mouseX-=margin.left;mouseY-=margin.top;}
1853if(d3.event.type==='mouseout'||mouseX<0||mouseY<0||mouseX>availableWidth||mouseY>availableHeight||(d3.event.relatedTarget&&d3.event.relatedTarget.ownerSVGElement===undefined)||mouseOutAnyReason){if(isMSIE){if(d3.event.relatedTarget&&d3.event.relatedTarget.ownerSVGElement===undefined&&(d3.event.relatedTarget.className===undefined||d3.event.relatedTarget.className.match(tooltip.nvPointerEventsClass))){return;}}
1854dispatch.elementMouseout({mouseX:mouseX,mouseY:mouseY});layer.renderGuideLine(null);tooltip.hidden(true);return;}else{tooltip.hidden(false);}
1855var scaleIsOrdinal=typeof xScale.rangeBands==='function';var pointXValue=undefined;if(scaleIsOrdinal){var elementIndex=d3.bisect(xScale.range(),mouseX)-1;if(xScale.range()[elementIndex]+xScale.rangeBand()>=mouseX){pointXValue=xScale.domain()[d3.bisect(xScale.range(),mouseX)-1];}
1856else{dispatch.elementMouseout({mouseX:mouseX,mouseY:mouseY});layer.renderGuideLine(null);tooltip.hidden(true);return;}}
1857else{pointXValue=xScale.invert(mouseX);}
1858dispatch.elementMousemove({mouseX:mouseX,mouseY:mouseY,pointXValue:pointXValue});if(d3.event.type==="dblclick"){dispatch.elementDblclick({mouseX:mouseX,mouseY:mouseY,pointXValue:pointXValue});}
1859if(d3.event.type==='click'){dispatch.elementClick({mouseX:mouseX,mouseY:mouseY,pointXValue:pointXValue});}
1860if(d3.event.type==='mousedown'){dispatch.elementMouseDown({mouseX:mouseX,mouseY:mouseY,pointXValue:pointXValue});}
1861if(d3.event.type==='mouseup'){dispatch.elementMouseUp({mouseX:mouseX,mouseY:mouseY,pointXValue:pointXValue});}}
1862svgContainer.on("touchmove",mouseHandler).on("mousemove",mouseHandler,true).on("mouseout",mouseHandler,true).on("mousedown",mouseHandler,true).on("mouseup",mouseHandler,true).on("dblclick",mouseHandler).on("click",mouseHandler);layer.guideLine=null;layer.renderGuideLine=function(x){if(!showGuideLine)return;if(layer.guideLine&&layer.guideLine.attr("x1")===x)return;nv.dom.write(function(){var line=wrap.select(".nv-interactiveGuideLine").selectAll("line").data((x!=null)?[nv.utils.NaNtoZero(x)]:[],String);line.enter().append("line").attr("class","nv-guideline").attr("x1",function(d){return d;}).attr("x2",function(d){return d;}).attr("y1",availableHeight).attr("y2",0);line.exit().remove();});}});}
1863layer.dispatch=dispatch;layer.tooltip=tooltip;layer.margin=function(_){if(!arguments.length)return margin;margin.top=typeof _.top!='undefined'?_.top:margin.top;margin.left=typeof _.left!='undefined'?_.left:margin.left;return layer;};layer.width=function(_){if(!arguments.length)return width;width=_;return layer;};layer.height=function(_){if(!arguments.length)return height;height=_;return layer;};layer.xScale=function(_){if(!arguments.length)return xScale;xScale=_;return layer;};layer.showGuideLine=function(_){if(!arguments.length)return showGuideLine;showGuideLine=_;return layer;};layer.svgContainer=function(_){if(!arguments.length)return svgContainer;svgContainer=_;return layer;};return layer;};nv.interactiveBisect=function(values,searchVal,xAccessor){"use strict";if(!(values instanceof Array)){return null;}
1864var _xAccessor;if(typeof xAccessor!=='function'){_xAccessor=function(d){return d.x;}}else{_xAccessor=xAccessor;}
1865var _cmp=function(d,v){return _xAccessor(d)-v;};var bisect=d3.bisector(_cmp).left;var index=d3.max([0,bisect(values,searchVal)-1]);var currentValue=_xAccessor(values[index]);if(typeof currentValue==='undefined'){currentValue=index;}
1866if(currentValue===searchVal){return index;}
1867var nextIndex=d3.min([index+1,values.length-1]);var nextValue=_xAccessor(values[nextIndex]);if(typeof nextValue==='undefined'){nextValue=nextIndex;}
1868if(Math.abs(nextValue-searchVal)>=Math.abs(currentValue-searchVal)){return index;}else{return nextIndex}};nv.nearestValueIndex=function(values,searchVal,threshold){"use strict";var yDistMax=Infinity,indexToHighlight=null;values.forEach(function(d,i){var delta=Math.abs(searchVal-d);if(d!=null&&delta<=yDistMax&&delta<threshold){yDistMax=delta;indexToHighlight=i;}});return indexToHighlight;};nv.models.tooltip=function(){"use strict";var id="nvtooltip-"+Math.floor(Math.random()*100000),data=null,gravity='w',distance=25,snapDistance=0,classes=null,chartContainer=null,hidden=true,hideDelay=200,tooltip=null,lastPosition={left:null,top:null},enabled=true,duration=100,headerEnabled=true,nvPointerEventsClass="nv-pointer-events-none";var position=function(){return{left:d3.event!==null?d3.event.clientX:0,top:d3.event!==null?d3.event.clientY:0};};var valueFormatter=function(d,i){return d;};var headerFormatter=function(d){return d;};var keyFormatter=function(d,i){return d;};var contentGenerator=function(d){if(d===null){return'';}
1869var table=d3.select(document.createElement("table"));if(headerEnabled){var theadEnter=table.selectAll("thead").data([d]).enter().append("thead");theadEnter.append("tr").append("td").attr("colspan",3).append("strong").classed("x-value",true).html(headerFormatter(d.value));}
1870var tbodyEnter=table.selectAll("tbody").data([d]).enter().append("tbody");var trowEnter=tbodyEnter.selectAll("tr").data(function(p){return p.series}).enter().append("tr").classed("highlight",function(p){return p.highlight});trowEnter.append("td").classed("legend-color-guide",true).append("div").style("background-color",function(p){return p.color});trowEnter.append("td").classed("key",true).classed("total",function(p){return!!p.total}).html(function(p,i){return keyFormatter(p.key,i)});trowEnter.append("td").classed("value",true).html(function(p,i){return valueFormatter(p.value,i)});trowEnter.selectAll("td").each(function(p){if(p.highlight){var opacityScale=d3.scale.linear().domain([0,1]).range(["#fff",p.color]);var opacity=0.6;d3.select(this).style("border-bottom-color",opacityScale(opacity)).style("border-top-color",opacityScale(opacity));}});var html=table.node().outerHTML;if(d.footer!==undefined)
1871html+="<div class='footer'>"+d.footer+"</div>";return html;};var dataSeriesExists=function(d){if(d&&d.series){if(nv.utils.isArray(d.series)){return true;}
1872if(nv.utils.isObject(d.series)){d.series=[d.series];return true;}}
1873return false;};var calcGravityOffset=function(pos){var height=tooltip.node().offsetHeight,width=tooltip.node().offsetWidth,clientWidth=document.documentElement.clientWidth,clientHeight=document.documentElement.clientHeight,left,top,tmp;switch(gravity){case'e':left=-width-distance;top=-(height/2);if(pos.left+left<0)left=distance;if((tmp=pos.top+top)<0)top-=tmp;if((tmp=pos.top+top+height)>clientHeight)top-=tmp-clientHeight;break;case'w':left=distance;top=-(height/2);if(pos.left+left+width>clientWidth)left=-width-distance;if((tmp=pos.top+top)<0)top-=tmp;if((tmp=pos.top+top+height)>clientHeight)top-=tmp-clientHeight;break;case'n':left=-(width/2)-5;top=distance;if(pos.top+top+height>clientHeight)top=-height-distance;if((tmp=pos.left+left)<0)left-=tmp;if((tmp=pos.left+left+width)>clientWidth)left-=tmp-clientWidth;break;case's':left=-(width/2);
1873top=-height-distance;if(pos.top+top<0)top=distance;if((tmp=pos.left+left)<0)left-=tmp;if((tmp=pos.left+left+width)>clientWidth)left-=tmp-clientWidth;break;case'center':left=-(width/2);top=-(height/2);break;default:left=0;top=0;break;}
1874return{'left':left,'top':top};};var positionTooltip=function(){nv.dom.read(function(){var pos=position(),gravityOffset=calcGravityOffset(pos),left=pos.left+gravityOffset.left,top=pos.top+gravityOffset.top;if(hidden){tooltip.interrupt().transition().delay(hideDelay).duration(0).style('opacity',0);}else{var old_translate='translate('+lastPosition.left+'px, '+lastPosition.top+'px)';var new_translate='translate('+left+'px, '+top+'px)';var translateInterpolator=d3.interpolateString(old_translate,new_translate);var is_hidden=tooltip.style('opacity')<0.1;tooltip.interrupt().transition().duration(is_hidden?0:duration).styleTween('transform',function(d){return translateInterpolator;},'important').styleTween('-webkit-transform',function(d){return translateInterpolator;}).style('-ms-transform',new_translate).style('opacity',1);}
1875lastPosition.left=left;lastPosition.top=top;});};function initTooltip(){if(!tooltip||!tooltip.node()){var container=chartContainer?chartContainer:document.body;var data=[1];tooltip=d3.select(container).selectAll('.nvtooltip').data(data);tooltip.enter().append('div').attr("class","nvtooltip "+(classes?classes:"xy-tooltip")).attr("id",id).style("top",0).style("left",0).style('opacity',0).style('position','fixed').selectAll("div, table, td, tr").classed(nvPointerEventsClass,true).classed(nvPointerEventsClass,true);tooltip.exit().remove()}}
1876function nvtooltip(){if(!enabled)return;if(!dataSeriesExists(data))return;nv.dom.write(function(){initTooltip();var newContent=contentGenerator(data);if(newContent){tooltip.node().innerHTML=newContent;}
1877positionTooltip();});return nvtooltip;}
1878nvtooltip.nvPointerEventsClass=nvPointerEventsClass;nvtooltip.options=nv.utils.optionsFunc.bind(nvtooltip);nvtooltip._options=Object.create({},{duration:{get:function(){return duration;},set:function(_){duration=_;}},gravity:{get:function(){return gravity;},set:function(_){gravity=_;}},distance:{get:function(){return distance;},set:function(_){distance=_;}},snapDistance:{get:function(){return snapDistance;},set:function(_){snapDistance=_;}},classes:{get:function(){return classes;},set:function(_){classes=_;}},chartContainer:{get:function(){return chartContainer;},set:function(_){chartContainer=_;}},enabled:{get:function(){return enabled;},set:function(_){enabled=_;}},hideDelay:{get:function(){return hideDelay;},set:function(_){hideDelay=_;}},contentGenerator:{get:function(){return contentGenerator;},set:function(_){contentGenerator=_;}},valueFormatter:{get:function(){return valueFormatter;},set:function(_){valueFormatter=_;}},headerFormatter:{get:function(){return headerFormatter;},set:function(_){headerFormatter=_;}},keyFormatter:{get:function(){return keyFormatter;},set:function(_){keyFormatter=_;}},headerEnabled:{get:function(){return headerEnabled;},set:function(_){headerEnabled=_;}},position:{get:function(){return position;},set:function(_){position=_;}},fixedTop:{get:function(){return null;},set:function(_){nv.deprecated('fixedTop','feature removed after 1.8.1');}},offset:{get:function(){return{left:0,top:0};},set:function(_){nv.deprecated('offset','use chart.tooltip.distance() instead');}},hidden:{get:function(){return hidden;},set:function(_){if(hidden!=_){hidden=!!_;nvtooltip();}}},data:{get:function(){return data;},set:function(_){if(_.point){_.value=_.point.x;_.series=_.series||{};_.series.value=_.point.y;_.series.color=_.point.color||_.series.color;}
1879data=_;}},node:{get:function(){return tooltip.node();},set:function(_){}},id:{get:function(){return id;},set:function(_){}}});nv.utils.initOptions(nvtooltip);return nvtooltip;};nv.utils.windowSize=function(){var size={width:640,height:480};if(window.innerWidth&&window.innerHeight){size.width=window.innerWidth;size.height=window.innerHeight;return(size);}
1880if(document.compatMode=='CSS1Compat'&&document.documentElement&&document.documentElement.offsetWidth){size.width=document.documentElement.offsetWidth;size.height=document.documentElement.offsetHeight;return(size);}
1881if(document.body&&document.body.offsetWidth){size.width=document.body.offsetWidth;size.height=document.body.offsetHeight;return(size);}
1882return(size);};nv.utils.isArray=Array.isArray;nv.utils.isObject=function(a){return a!==null&&typeof a==='object';};nv.utils.isFunction=function(a){return typeof a==='function';};nv.utils.isDate=function(a){return toString.call(a)==='[object Date]';};nv.utils.isNumber=function(a){return!isNaN(a)&&typeof a==='number';};nv.utils.windowResize=function(handler){if(window.addEventListener){window.addEventListener('resize',handler);}else{nv.log("ERROR: Failed to bind to window.resize with: ",handler);}
1883return{callback:handler,clear:function(){window.removeEventListener('resize',handler);}}};nv.utils.getColor=function(color){if(color===undefined){return nv.utils.defaultColor();}else if(nv.utils.isArray(color)){var color_scale=d3.scale.ordinal().range(color);return function(d,i){var key=i===undefined?d:i;return d.color||color_scale(key);};}else{return color;}};nv.utils.defaultColor=function(){return nv.utils.getColor(d3.scale.category20().range());};nv.utils.customTheme=function(dictionary,getKey,defaultColors){getKey=getKey||function(series){return series.key};defaultColors=defaultColors||d3.scale.category20().range();var defIndex=defaultColors.length;
1883return function(series,index){var key=getKey(series);if(nv.utils.isFunction(dictionary[key])){return dictionary[key]();}else if(dictionary[key]!==undefined){return dictionary[key];}else{if(!defIndex){defIndex=defaultColors.length;}
1884defIndex=defIndex-1;return defaultColors[defIndex];}};};nv.utils.pjax=function(links,content){var load=function(href){d3.html(href,function(fragment){var target=d3.select(content).node();target.parentNode.replaceChild(d3.select(fragment).select(content).node(),target);nv.utils.pjax(links,content);});};d3.selectAll(links).on("click",function(){history.pushState(this.href,this.textContent,this.href);load(this.href);d3.event.preventDefault();});d3.select(window).on("popstate",function(){if(d3.event.state){load(d3.event.state);}});};nv.utils.calcApproxTextWidth=function(svgTextElem){if(nv.utils.isFunction(svgTextElem.style)&&nv.utils.isFunction(svgTextElem.text)){var fontSize=parseInt(svgTextElem.style("font-size").replace("px",""),10);var textLength=svgTextElem.text().length;return nv.utils.NaNtoZero(textLength*fontSize*0.5);}
1885return 0;};nv.utils.NaNtoZero=function(n){if(!nv.utils.isNumber(n)||isNaN(n)||n===null||n===Infinity||n===-Infinity){return 0;}
1886return n;};d3.selection.prototype.watchTransition=function(renderWatch){var args=[this].concat([].slice.call(arguments,1));return renderWatch.transition.apply(renderWatch,args);};nv.utils.renderWatch=function(dispatch,duration){if(!(this instanceof nv.utils.renderWatch)){return new nv.utils.renderWatch(dispatch,duration);}
1887var _duration=duration!==undefined?duration:250;var renderStack=[];var self=this;this.models=function(models){models=[].slice.call(arguments,0);models.forEach(function(model){model.__rendered=false;(function(m){m.dispatch.on('renderEnd',function(arg){m.__rendered=true;self.renderEnd('model');});})(model);if(renderStack.indexOf(model)<0){renderStack.push(model);}});return this;};this.reset=function(duration){if(duration!==undefined){_duration=duration;}
1888renderStack=[];};this.transition=function(selection,args,duration){args=arguments.length>1?[].slice.call(arguments,1):[];if(args.length>1){duration=args.pop();}else{duration=_duration!==undefined?_duration:250;}
1889selection.__rendered=false;if(renderStack.indexOf(selection)<0){renderStack.push(selection);}
1890if(duration===0){selection.__rendered=true;selection.delay=function(){return this;};selection.duration=function(){return this;};return selection;}else{if(selection.length===0){selection.__rendered=true;}else if(selection.every(function(d){return!d.length;})){selection.__rendered=true;}else{selection.__rendered=false;}
1891var n=0;return selection.transition().duration(duration).each(function(){++n;}).each('end',function(d,i){if(--n===0){selection.__rendered=true;self.renderEnd.apply(this,args);}});}};this.renderEnd=function(){if(renderStack.every(function(d){return d.__rendered;})){renderStack.forEach(function(d){d.__rendered=false;});dispatch.renderEnd.apply(this,arguments);}}};nv.utils.deepExtend=function(dst){var sources=arguments.length>1?[].slice.call(arguments,1):[];sources.forEach(function(source){for(var key in source){var isArray=nv.utils.isArray(dst[key]);var isObject=nv.utils.isObject(dst[key]);var srcObj=nv.utils.isObject(source[key]);if(isObject&&!isArray&&srcObj){nv.utils.deepExtend(dst[key],source[key]);}else{dst[key]=source[key];}}});};nv.utils.state=function(){if(!(this instanceof nv.utils.state)){return new nv.utils.state();}
1892var state={};var _self=this;var _setState=function(){};var _getState=function(){return{};};var init=null;var changed=null;this.dispatch=d3.dispatch('change','set');this.dispatch.on('set',function(state){_setState(state,true);});this.getter=function(fn){_getState=fn;return this;};this.setter=function(fn,callback){if(!callback){callback=function(){};}
1893_setState=function(state,update){fn(state);if(update){callback();}};return this;};this.init=function(state){init=init||{};nv.utils.deepExtend(init,state);};var _set=function(){var settings=_getState();if(JSON.stringify(settings)===JSON.stringify(state)){return false;}
1894for(var key in settings){if(state[key]===undefined){state[key]={};}
1895state[key]=settings[key];changed=true;}
1896return true;};this.update=function(){if(init){_setState(init,false);init=null;}
1897if(_set.call(this)){this.dispatch.change(state);}};};nv.utils.optionsFunc=function(args){if(args){d3.map(args).forEac
1897h((function(key,value){if(nv.utils.isFunction(this[key])){this[key](value);}}).bind(this));}
1898return this;};nv.utils.calcTicksX=function(numTicks,data){var numValues=1;var i=0;for(i;i<data.length;i+=1){var stream_len=data[i]&&data[i].values?data[i].values.length:0;numValues=stream_len>numValues?stream_len:numValues;}
1899nv.log("Requested number of ticks: ",numTicks);nv.log("Calculated max values to be: ",numValues);numTicks=numTicks>numValues?numTicks=numValues-1:numTicks;numTicks=numTicks<1?1:numTicks;numTicks=Math.floor(numTicks);nv.log("Calculating tick count as: ",numTicks);return numTicks;};nv.utils.calcTicksY=function(numTicks,data){return nv.utils.calcTicksX(numTicks,data);};nv.utils.initOption=function(chart,name){if(chart._calls&&chart._calls[name]){chart[name]=chart._calls[name];}else{chart[name]=function(_){if(!arguments.length)return chart._options[name];chart._overrides[name]=true;chart._options[name]=_;return chart;};chart['_'+name]=function(_){if(!arguments.length)return chart._options[name];if(!chart._overrides[name]){chart._options[name]=_;}
1900return chart;}}};nv.utils.initOptions=function(chart){chart._overrides=chart._overrides||{};var ops=Object.getOwnPropertyNames(chart._options||{});var calls=Object.getOwnPropertyNames(chart._calls||{});ops=ops.concat(calls);for(var i in ops){nv.utils.initOption(chart,ops[i]);}};nv.utils.inheritOptionsD3=function(target,d3_source,oplist){target._d3options=oplist.concat(target._d3options||[]);oplist.unshift(d3_source);oplist.unshift(target);d3.rebind.apply(this,oplist);};nv.utils.arrayUnique=function(a){return a.sort().filter(function(item,pos){return!pos||item!=a[pos-1];});};nv.utils.symbolMap=d3.map();nv.utils.symbol=function(){var type,size=64;function symbol(d,i){var t=type.call(this,d,i);var s=size.call(this,d,i);if(d3.svg.symbolTypes.indexOf(t)!==-1){return d3.svg.symbol().type(t).size(s)();}else{return nv.utils.symbolMap.get(t)(s);}}
1901symbol.type=function(_){if(!arguments.length)return type;type=d3.functor(_);return symbol;};symbol.size=function(_){if(!arguments.length)return size;size=d3.functor(_);return symbol;};return symbol;};nv.utils.inheritOptions=function(target,source){var ops=Object.getOwnPropertyNames(source._options||{});var calls=Object.getOwnPropertyNames(source._calls||{});var inherited=source._inherited||[];var d3ops=source._d3options||[];var args=ops.concat(calls).concat(inherited).concat(d3ops);args.unshift(source);args.unshift(target);d3.rebind.apply(this,args);target._inherited=nv.utils.arrayUnique(ops.concat(calls).concat(inherited).concat(ops).concat(target._inherited||[]));target._d3options=nv.utils.arrayUnique(d3ops.concat(target._d3options||[]));};nv.utils.initSVG=function(svg){svg.classed({'nvd3-svg':true});};nv.utils.sanitizeHeight=function(height,container){return(height||parseInt(container.style('height'),10)||400);};nv.utils.sanitizeWidth=function(width,container){return(width||parseInt(container.style('width'),10)||960);};nv.utils.availableHeight=function(height,container,margin){return Math.max(0,nv.utils.sanitizeHeight(height,container)-margin.top-margin.bottom);};nv.utils.availableWidth=function(width,container,margin){return Math.max(0,nv.utils.sanitizeWidth(width,container)-margin.left-margin.right);};nv.utils.noData=function(chart,container){var opt=chart.options(),margin=opt.margin(),noData=opt.noData(),data=(noData==null)?["No Data Available."]:[noData],height=nv.utils.availableHeight(null,container,margin),width=nv.utils.availableWidth(null,container,margin),x=margin.left+width/2,y=margin.top+height/2;container.selectAll('g').remove();var noDataText=container.selectAll('.nv-noData').data(data);noDataText.enter().append('text').attr('class','nvd3 nv-noData').attr('dy','-.7em').style('text-anchor','middle');noDataText.attr('x',x).attr('y',y).text(function(t){return t;});};nv.utils.wrapTicks=function(text,width){text.each(function(){var text=d3.select(this),words=text.text().split(/\s+/).reverse(),word,line=[],lineNumber=0,lineHeight=1.1,y=text.attr("y"),dy=parseFloat(text.attr("dy")),tspan=text.text(null).append("tspan").attr("x",0).attr("y",y).attr("dy",dy+"em");while(word=words.pop()){line.push(word);tspan.text(line.join(" "));if(tspan.node().getComputedTextLength()>width){line.pop();tspan.text(line.join(" "));line=[word];tspan=text.append("tspan").attr("x",0).attr("y",y).attr("dy",++lineNumber*lineHeight+dy+"em").text(word);}}});};nv.utils.arrayEquals=function(array1,array2){if(array1===array2)
1902return true;if(!array1||!array2)
1903return false;if(array1.length!=array2.length)
1904return false;for(var i=0,l=array1.length;i<l;i++){if(array1[i]instanceof Array&&array2[i]instanceof Array){if(!nv.arrayEquals(array1[i],array2[i]))
1905return false;}else if(array1[i]!=array2[i]){return false;}}
1906return true;};nv.models.axis=function(){"use strict";var axis=d3.svg.axis();var scale=d3.scale.linear();var margin={top:0,right:0,bottom:0,left:0},width=75,height=60,axisLabelText=null,showMaxMin=true,rotateLabels=0,rotateYLabel=true,staggerLabels=false,isOrdinal=false,ticks=null,axisLabelDistance=0,fontSize=undefined,duration=250,dispatch=d3.dispatch('renderEnd');axis.scale(scale).orient('bottom').tickFormat(function(d){return d});var scale0;var renderWatch=nv.utils.renderWatch(dispatch,duration);function chart(selection){renderWatch.reset();selection.each(function(data){var container=d3.select(this);nv.utils.initSVG(container);var wrap=container.selectAll('g.nv-wrap.nv-axis').data([data]);var wrapEnter=wrap.enter().append('g').attr('class','nvd3 nv-wrap nv-axis');var gEnter=wrapEnter.append('g');var g=wrap.select('g');if(ticks!==null)
1907axis.ticks(ticks);else if(axis.orient()=='top'||axis.orient()=='bottom')
1908axis.ticks(Math.abs(scale.range()[1]-scale.range()[0])/100);g.watchTransition(renderWatch,'axis').call(axis);
1908scale0=scale0||axis.scale();var fmt=axis.tickFormat();if(fmt==null){fmt=scale0.tickFormat();}
1909var axisLabel=g.selectAll('text.nv-axislabel').data([axisLabelText||null]);axisLabel.exit().remove();if(fontSize!==undefined){g.selectAll('g').select("text").style('font-size',fontSize);}
1910var xLabelMargin;var axisMaxMin;var w;switch(axis.orient()){case'top':axisLabel.enter().append('text').attr('class','nv-axislabel');w=0;if(scale.range().length===1){w=isOrdinal?scale.range()[0]*2+scale.rangeBand():0;}else if(scale.range().length===2){w=isOrdinal?scale.range()[0]+scale.range()[1]+scale.rangeBand():scale.range()[1];}else if(scale.range().length>2){w=scale.range()[scale.range().length-1]+(scale.range()[1]-scale.range()[0]);};axisLabel.attr('text-anchor','middle').attr('y',0).attr('x',w/2);if(showMaxMin){axisMaxMin=wrap.selectAll('g.nv-axisMaxMin').data(scale.domain());axisMaxMin.enter().append('g').attr('class',function(d,i){return['nv-axisMaxMin','nv-axisMaxMin-x',(i==0?'nv-axisMin-x':'nv-axisMax-x')].join(' ')}).append('text');axisMaxMin.exit().remove();axisMaxMin.attr('transform',function(d,i){return'translate('+nv.utils.NaNtoZero(scale(d))+',0)'}).select('text').attr('dy','-0.5em').attr('y',-axis.tickPadding()).attr('text-anchor','middle').text(function(d,i){var v=fmt(d);return(''+v).match('NaN')?'':v;});axisMaxMin.watchTransition(renderWatch,'min-max top').attr('transform',function(d,i){return'translate('+nv.utils.NaNtoZero(scale.range()[i])+',0)'});}
1911break;case'bottom':xLabelMargin=axisLabelDistance+36;var maxTextWidth=30;var textHeight=0;var xTicks=g.selectAll('g').select("text");var rotateLabelsRule='';if(rotateLabels%360){xTicks.attr('transform','');xTicks.each(function(d,i){var box=this.getBoundingClientRect();var width=box.width;textHeight=box.height;if(width>maxTextWidth)maxTextWidth=width;});rotateLabelsRule='rotate('+rotateLabels+' 0,'+(textHeight/2+axis.tickPadding())+')';var sin=Math.abs(Math.sin(rotateLabels*Math.PI/180));xLabelMargin=(sin?sin*maxTextWidth:maxTextWidth)+30;xTicks.attr('transform',rotateLabelsRule).style('text-anchor',rotateLabels%360>0?'start':'end');}else{if(staggerLabels){xTicks.attr('transform',function(d,i){return'translate(0,'+(i%2==0?'0':'12')+')'});}else{xTicks.attr('transform',"translate(0,0)");}}
1912axisLabel.enter().append('text').attr('class','nv-axislabel');w=0;if(scale.range().length===1){w=isOrdinal?scale.range()[0]*2+scale.rangeBand():0;}else if(scale.range().length===2){w=isOrdinal?scale.range()[0]+scale.range()[1]+scale.rangeBand():scale.range()[1];}else if(scale.range().length>2){w=scale.range()[scale.range().length-1]+(scale.range()[1]-scale.range()[0]);};axisLabel.attr('text-anchor','middle').attr('y',xLabelMargin).attr('x',w/2);if(showMaxMin){axisMaxMin=wrap.selectAll('g.nv-axisMaxMin').data([scale.domain()[0],scale.domain()[scale.domain().length-1]]);axisMaxMin.enter().append('g').attr('class',function(d,i){return['nv-axisMaxMin','nv-axisMaxMin-x',(i==0?'nv-axisMin-x':'nv-axisMax-x')].join(' ')}).append('text');axisMaxMin.exit().remove();axisMaxMin.attr('transform',function(d,i){return'translate('+nv.utils.NaNtoZero((scale(d)+(isOrdinal?scale.rangeBand()/2:0)))+',0)'}).select('text').attr('dy','.71em').attr('y',axis.tickPadding()).attr('transform',rotateLabelsRule).style('text-anchor',rotateLabels?(rotateLabels%360>0?'start':'end'):'middle').text(function(d,i){var v=fmt(d);return(''+v).match('NaN')?'':v;});axisMaxMin.watchTransition(renderWatch,'min-max bottom').attr('transform',function(d,i){return'translate('+nv.utils.NaNtoZero((scale(d)+(isOrdinal?scale.rangeBand()/2:0)))+',0)'});}
1913break;case'right':axisLabel.enter().append('text').attr('class','nv-axislabel');axisLabel.style('text-anchor',rotateYLabel?'middle':'begin').attr('transform',rotateYLabel?'rotate(90)':'').attr('y',rotateYLabel?(-Math.max(margin.right,width)+12):-10).attr('x',rotateYLabel?(d3.max(scale.range())/2):axis.tickPadding());if(showMaxMin){axisMaxMin=wrap.selectAll('g.nv-axisMaxMin').data(scale.domain());axisMaxMin.enter().append('g').attr('class',function(d,i){return['nv-axisMaxMin','nv-axisMaxMin-y',(i==0?'nv-axisMin-y':'nv-axisMax-y')].join(' ')}).append('text').style('opacity',0);axisMaxMin.exit().remove();axisMaxMin.attr('transform',function(d,i){return'translate(0,'+nv.utils.NaNtoZero(scale(d))+')'}).select('text').attr('dy','.32em').attr('y',0).attr('x',axis.tickPadding()).style('text-anchor','start').text(function(d,i){var v=fmt(d
1913);return(''+v).match('NaN')?'':v;});axisMaxMin.watchTransition(renderWatch,'min-max right').attr('transform',function(d,i){return'translate(0,'+nv.utils.NaNtoZero(scale.range()[i])+')'}).select('text').style('opacity',1);}
1914break;case'left':axisLabel.enter().append('text').attr('class','nv-axislabel');axisLabel.style('text-anchor',rotateYLabel?'middle':'end').attr('transform',rotateYLabel?'rotate(-90)':'').attr('y',rotateYLabel?(-Math.max(margin.left,width)+25-(axisLabelDistance||0)):-10).attr('x',rotateYLabel?(-d3.max(scale.range())/2):-axis.tickPadding());if(showMaxMin){axisMaxMin=wrap.selectAll('g.nv-axisMaxMin').data(scale.domain());axisMaxMin.enter().append('g').attr('class',function(d,i){return['nv-axisMaxMin','nv-axisMaxMin-y',(i==0?'nv-axisMin-y':'nv-axisMax-y')].join(' ')}).append('text').style('opacity',0);axisMaxMin.exit().remove();axisMaxMin.attr('transform',function(d,i){return'translate(0,'+nv.utils.NaNtoZero(scale0(d))+')'}).select('text').attr('dy','.32em').attr('y',0).attr('x',-axis.tickPadding()).attr('text-anchor','end').text(function(d,i){var v=fmt(d);return(''+v).match('NaN')?'':v;});axisMaxMin.watchTransition(renderWatch,'min-max right').attr('transform',function(d,i){return'translate(0,'+nv.utils.NaNtoZero(scale.range()[i])+')'}).select('text').style('opacity',1);}
1915break;}
1916axisLabel.text(function(d){return d});if(showMaxMin&&(axis.orient()==='left'||axis.orient()==='right')){g.selectAll('g').each(function(d,i){d3.select(this).select('text').attr('opacity',1);if(scale(d)<scale.range()[1]+10||scale(d)>scale.range()[0]-10){if(d>1e-10||d<-1e-10)
1917d3.select(this).attr('opacity',0);d3.select(this).select('text').attr('opacity',0);}});if(scale.domain()[0]==scale.domain()[1]&&scale.domain()[0]==0){wrap.selectAll('g.nv-axisMaxMin').style('opacity',function(d,i){return!i?1:0});}}
1918if(showMaxMin&&(axis.orient()==='top'||axis.orient()==='bottom')){var maxMinRange=[];wrap.selectAll('g.nv-axisMaxMin').each(function(d,i){try{if(i)
1919maxMinRange.push(scale(d)-this.getBoundingClientRect().width-4);else
1920maxMinRange.push(scale(d)+this.getBoundingClientRect().width+4)}catch(err){if(i)
1921maxMinRange.push(scale(d)-4);else
1922maxMinRange.push(scale(d)+4);}});g.selectAll('g').each(function(d,i){if(scale(d)<maxMinRange[0]||scale(d)>maxMinRange[1]){if(d>1e-10||d<-1e-10)
1923d3.select(this).remove();else
1924d3.select(this).select('text').remove();}});}
1925g.selectAll('.tick').filter(function(d){return!parseFloat(Math.round(d*100000)/1000000)&&(d!==undefined)}).classed('zero',true);scale0=scale.copy();});renderWatch.renderEnd('axis immediate');return chart;}
1926chart.axis=axis;chart.dispatch=dispatch;chart.options=nv.utils.optionsFunc.bind(chart);chart._options=Object.create({},{axisLabelDistance:{get:function(){return axisLabelDistance;},set:function(_){axisLabelDistance=_;}},staggerLabels:{get:function(){return staggerLabels;},set:function(_){staggerLabels=_;}},rotateLabels:{get:function(){return rotateLabels;},set:function(_){rotateLabels=_;}},rotateYLabel:{get:function(){return rotateYLabel;},set:function(_){rotateYLabel=_;}},showMaxMin:{get:function(){return showMaxMin;},set:function(_){showMaxMin=_;}},axisLabel:{get:function(){return axisLabelText;},set:function(_){axisLabelText=_;}},height:{get:function(){return height;},set:function(_){height=_;}},ticks:{get:function(){return ticks;},set:function(_){ticks=_;}},width:{get:function(){return width;},set:function(_){width=_;}},fontSize:{get:function(){return fontSize;},set:function(_){fontSize=_;}},margin:{get:function(){return margin;},set:function(_){margin.top=_.top!==undefined?_.top:margin.top;margin.right=_.right!==undefined?_.right:margin.right;margin.bottom=_.bottom!==undefined?_.bottom:margin.bottom;margin.left=_.left!==undefined?_.left:margin.left;}},duration:{get:function(){return duration;},set:function(_){duration=_;renderWatch.reset(duration);}},scale:{get:function(){return scale;},set:function(_){scale=_;axis.scale(scale);isOrdinal=typeof scale.rangeBands==='function';nv.utils.inheritOptionsD3(chart,scale,['domain','range','rangeBand','rangeBands']);}}});nv.utils.initOptions(chart);nv.utils.inheritOptionsD3(chart,axis,['orient','tickValues','tickSubdivide','tickSize','tickPadding','tickFormat']);nv.utils.inheritOptionsD3(chart,scale,['domain','range','rangeBand','rangeBands']);return chart;};nv.models.scatter=function(){"use strict";var margin={top:0,right:0,bottom:0,left:0},width=null,height=null,color=nv.utils.defaultColor(),id=Math.floor(Math.random()*100000),container=null,x=d3.scale.linear(),y=d3.scale.linear(),z=d3.scale.linear(),getX=function(d){return d.x},getY=function(d){return d.y},getSize=function(d){return d.size||1},getShape=function(d){return d.shape||'circle'},forceX=[],forceY=[],forceSize=[],interactive=true,pointActive=function(d){return!d.notActive},padData=false,padDataOuter=.1,clipEdge=false,clipVoronoi=true,showVoronoi=false,clipRadius=function(){return 25},xDomain=null,yDomain=null,xRange=null,yRange=null,sizeDomain=null,sizeRange=null,singlePoint=false,dispatch=d3.dispatch('elementClick','elementDblClick','elementMouseover','elementMouseout','renderEnd'),useVoronoi=true,duration=250,interactiveUpdateDelay=300,showLabels=false;var x0,y0,z0,timeoutID,needsUpdate=false,renderWatch=nv.utils.renderWatch(dispatch,duration),_sizeRange_def=[16,256],_caches;function getCache(d){var cache,i;cache=_caches=_caches||{};i=d[0].series;cache=cache[i]=cache[i]||{};i=d[1];cache=cache[i]=cache[i]||{};return cache;}
1927function getDiffs(d){var i,key,point=d[0],cache=getCache(d),diffs=false;for(i=1;i<arguments.length;i++){key=arguments[i];if(cache[key]!==point[key]||!cache.hasOwnProperty(key)){cache[key]=point[key];diffs=true;}}
1928return diffs;}
1929function chart(selection){renderWatch.reset();selection.each(function(data){container=d3.select(this);var availableWidth=nv.utils.availableWidth(width,container,margin),availableHeight=nv.utils.availableHeight(height,container,margin);nv.utils.initSVG(container);
1929data.forEach(function(series,i){series.values.forEach(function(point){point.series=i;});});var logScale=chart.yScale().name===d3.scale.log().name?true:false;var seriesData=(xDomain&&yDomain&&sizeDomain)?[]:d3.merge(data.map(function(d){return d.values.map(function(d,i){return{x:getX(d,i),y:getY(d,i),size:getSize(d,i)}})}));x.domain(xDomain||d3.extent(seriesData.map(function(d){return d.x;}).concat(forceX)))
1930if(padData&&data[0])
1931x.range(xRange||[(availableWidth*padDataOuter+availableWidth)/(2*data[0].values.length),availableWidth-availableWidth*(1+padDataOuter)/(2*data[0].values.length)]);else
1932x.range(xRange||[0,availableWidth]);if(logScale){var min=d3.min(seriesData.map(function(d){if(d.y!==0)return d.y;}));y.clamp(true).domain(yDomain||d3.extent(seriesData.map(function(d){if(d.y!==0)return d.y;else return min*0.1;}).concat(forceY))).range(yRange||[availableHeight,0]);}else{y.domain(yDomain||d3.extent(seriesData.map(function(d){return d.y;}).concat(forceY))).range(yRange||[availableHeight,0]);}
1933z.domain(sizeDomain||d3.extent(seriesData.map(function(d){return d.size}).concat(forceSize))).range(sizeRange||_sizeRange_def);singlePoint=x.domain()[0]===x.domain()[1]||y.domain()[0]===y.domain()[1];if(x.domain()[0]===x.domain()[1])
1934x.domain()[0]?x.domain([x.domain()[0]-x.domain()[0]*0.01,x.domain()[1]+x.domain()[1]*0.01]):x.domain([-1,1]);if(y.domain()[0]===y.domain()[1])
1935y.domain()[0]?y.domain([y.domain()[0]-y.domain()[0]*0.01,y.domain()[1]+y.domain()[1]*0.01]):y.domain([-1,1]);if(isNaN(x.domain()[0])){x.domain([-1,1]);}
1936if(isNaN(y.domain()[0])){y.domain([-1,1]);}
1937x0=x0||x;y0=y0||y;z0=z0||z;var scaleDiff=x(1)!==x0(1)||y(1)!==y0(1)||z(1)!==z0(1);var wrap=container.selectAll('g.nv-wrap.nv-scatter').data([data]);var wrapEnter=wrap.enter().append('g').attr('class','nvd3 nv-wrap nv-scatter nv-chart-'+id);var defsEnter=wrapEnter.append('defs');var gEnter=wrapEnter.append('g');var g=wrap.select('g');wrap.classed('nv-single-point',singlePoint);gEnter.append('g').attr('class','nv-groups');gEnter.append('g').attr('class','nv-point-paths');wrapEnter.append('g').attr('class','nv-point-clips');wrap.attr('transform','translate('+margin.left+','+margin.top+')');defsEnter.append('clipPath').attr('id','nv-edge-clip-'+id).append('rect');wrap.select('#nv-edge-clip-'+id+' rect').attr('width',availableWidth).attr('height',(availableHeight>0)?availableHeight:0);g.attr('clip-path',clipEdge?'url(#nv-edge-clip-'+id+')':'');function updateInteractiveLayer(){needsUpdate=false;if(!interactive)return false;if(useVoronoi===true){var vertices=d3.merge(data.map(function(group,groupIndex){return group.values.map(function(point,pointIndex){var pX=getX(point,pointIndex);var pY=getY(point,pointIndex);return[nv.utils.NaNtoZero(x(pX))+Math.random()*1e-4,nv.utils.NaNtoZero(y(pY))+Math.random()*1e-4,groupIndex,pointIndex,point];}).filter(function(pointArray,pointIndex){return pointActive(pointArray[4],pointIndex);})}));if(vertices.length==0)return false;if(vertices.length<3){vertices.push([x.range()[0]-20,y.range()[0]-20,null,null]);vertices.push([x.range()[1]+20,y.range()[1]+20,null,null]);vertices.push([x.range()[0]-20,y.range()[0]+20,null,null]);vertices.push([x.range()[1]+20,y.range()[1]-20,null,null]);}
1938var bounds=d3.geom.polygon([[-10,-10],[-10,height+10],[width+10,height+10],[width+10,-10]]);var voronoi=d3.geom.voronoi(vertices).map(function(d,i){return{'data':bounds.clip(d),'series':vertices[i][2],'point':vertices[i][3]}});wrap.select('.nv-point-paths').selectAll('path').remove();var pointPaths=wrap.select('.nv-point-paths').selectAll('path').data(voronoi);var vPointPaths=pointPaths.enter().append("svg:path").attr("d",function(d){if(!d||!d.data||d.data.length===0)
1939return'M 0 0';else
1940return"M"+d.data.join(",")+"Z";}).attr("id",function(d,i){return"nv-path-"+i;}).attr("clip-path",function(d,i){return"url(#nv-clip-"+id+"-"+i+")";});if(showVoronoi){vPointPaths.style("fill",d3.rgb(230,230,230)).style('fill-opacity',0.4).style('stroke-opacity',1).style("stroke",d3.rgb(200,200,200));}
1941if(clipVoronoi){wrap.select('.nv-point-clips').selectAll('*').remove();var pointClips=wrap.select('.nv-point-clips').selectAll('clipPath').data(vertices);var vPointClips=pointClips.enter().append("svg:clipPath").attr("id",function(d,i){return"nv-clip-"+id+"-"+i;}).append("svg:circle").attr('cx',function(d){return d[0];}).attr('cy',function(d){return d[1];}).attr('r',clipRadius);}
1942var mouseEventCallback=function(d,mDispatch){if(needsUpdate)return 0;var series=data[d.series];if(series===undefined)return;var point=series.values[d.point];point['color']=color(series,d.series);point['x']=getX(point);point['y']=getY(point);var box=container.node().getBoundingClientRect();var scrollTop=window.pageYOffset||document.documentElement.scrollTop;var scrollLeft=window.pageXOffset||document.documentElement.scrollLeft;var pos={left:x(getX(point,d.point))+box.left+scrollLeft+margin.left+10,top:y(getY(point,d.point))+box.top+scrollTop+margin.top+10};mDispatch({point:point,series:series,pos:pos,relativePos:[x(getX(point,d.point))+margin.left,y(getY(point,d.point))+margin.top],seriesIndex:d.series,pointIndex:d.point});};pointPaths.on('click',function(d){mouseEventCallback(d,dispatch.elementClick);}).on('dblclick',function(d){mouseEventCallback(d,dispatch.elementDblClick);}).on('mouseover',function(d){mouseEventCallback(d,dispatch.elementMouseover);}).on('mouseout',function(d,i){mouseEventCallback(d,dispatch.elementMouseout);});}else{wrap.select('.nv-groups').selectAll('.nv-group').selectAll('.nv-point').on('click',function(d,i){if(needsUpdate||!data[d.series])return 0;var series=data[d.series],point=series.values[i];dispatch.elementClick({point:point,series:series,pos:[x(getX(point,i))+margin.left,y(getY(point,i))+margin.top],relativePos:[x(getX(point,i))+margin.left,y(getY(point,i))+margin.top],seriesIndex:d.series,pointIndex:i});}).on('dblclick',function(d,i){if(needsUpdate||!data[d.series])return 0;var series=data[d.series],point=series.values[i];dispatch.elementDblClick({point:point,series:series,pos:[x(getX(point,i))+margin.left,y(getY(point,i))+margin.top],relativePos:[x(getX(point,i))+margin.left,y(getY(point,i))+margin.top],seriesIndex:d.series,pointIndex:i});}).on('mouseover',function(d,i){if(needsUpdate||!data[d.series])return 0;var series=data[d.series],point=series.values[i];dispatch.elementMouseover({point:point,series:series,pos:[x(getX(point,i))+margin.left,y(getY(point,i))+margin.top],relativePos:[x(getX(point,i))+margin.left,y(getY(point,i))+margin.top],seriesIndex:d.series,pointIndex:i,color:color(d,i)});}).on('mouseout',function(d,i){if(needsUpdate||!data[d.series])return 0;var series=data[d.series],point=series.values[i];dispatch.elementMouseout({point:point,series:series,pos:[x(getX(point,i))+margin.left,y(getY(point,i))+margin.top],relativePos:[x(getX(point,i))+margin.left,y(getY(point,i))+margin.top],seriesIndex:d.series,pointIndex:i,color:color(d,i)});});}}
1943needsUpdate=true;var groups=wrap.select('.nv-groups').selectAll('.nv-group').data(function(d){return d},function(d){return d.key});groups.enter().append('g').style('stroke-opacity',1e-6).style('fill-opacity',1e-6);groups.exit().remove();groups.attr('class',function(d,i){return(d.classed||'')+' nv-group nv-series-'+i;}).classed('nv-noninteractive',!interactive).classed('hover',function(d){return d.hover});groups.watchTransition(renderWatch,'scatter: groups').style('fill',function(d,i){return color(d,i)}).style('stroke',function(d,i){return color(d,i)}).style('stroke-opacity',1).style('fill-opacity',.5);var points=groups.selectAll('path.nv-point').data(function(d){return d.values.map(function(point,pointIndex){return[point,pointIndex]}).filter(function(pointArray,pointIndex){return pointActive(pointArray[0],pointIndex)})});points.enter().append('path').attr('class',function(d){return'nv-point nv-point-'+d[1];}).style('fill',function(d){return d.color}).style('stroke',function(d){return d.color}).attr('transform',function(d){return'translate('+nv.utils.NaNtoZero(x0(getX(d[0],d[1])))+','+nv.utils.NaNtoZero(y0(getY(d[0],d[1])))+')'}).attr('d',nv.utils.symbol().type(function(d){return getShape(d[0]);}
1943).size(function(d){return z(getSize(d[0],d[1]))}));points.exit().remove();groups.exit().selectAll('path.nv-point').watchTransition(renderWatch,'scatter exit').attr('transform',function(d){return'translate('+nv.utils.NaNtoZero(x(getX(d[0],d[1])))+','+nv.utils.NaNtoZero(y(getY(d[0],d[1])))+')'}).remove();points.filter(function(d){return scaleDiff||getDiffs(d,'x','y');}).watchTransition(renderWatch,'scatter points').attr('transform',function(d){return'translate('+nv.utils.NaNtoZero(x(getX(d[0],d[1])))+','+nv.utils.NaNtoZero(y(getY(d[0],d[1])))+')'});points.filter(function(d){return scaleDiff||getDiffs(d,'shape','size');}).watchTransition(renderWatch,'scatter points').attr('d',nv.utils.symbol().type(function(d){return getShape(d[0]);}).size(function(d){return z(getSize(d[0],d[1]))}));if(showLabels)
1944{var titles=groups.selectAll('.nv-label').data(function(d){return d.values.map(function(point,pointIndex){return[point,pointIndex]}).filter(function(pointArray,pointIndex){return pointActive(pointArray[0],pointIndex)})});titles.enter().append('text').style('fill',function(d,i){return d.color}).style('stroke-opacity',0).style('fill-opacity',1).attr('transform',function(d){var dx=nv.utils.NaNtoZero(x0(getX(d[0],d[1])))+Math.sqrt(z(getSize(d[0],d[1]))/Math.PI)+2;return'translate('+dx+','+nv.utils.NaNtoZero(y0(getY(d[0],d[1])))+')';}).text(function(d,i){return d[0].label;});titles.exit().remove();groups.exit().selectAll('path.nv-label').watchTransition(renderWatch,'scatter exit').attr('transform',function(d){var dx=nv.utils.NaNtoZero(x(getX(d[0],d[1])))+Math.sqrt(z(getSize(d[0],d[1]))/Math.PI)+2;return'translate('+dx+','+nv.utils.NaNtoZero(y(getY(d[0],d[1])))+')';}).remove();titles.each(function(d){d3.select(this).classed('nv-label',true).classed('nv-label-'+d[1],false).classed('hover',false);});titles.watchTransition(renderWatch,'scatter labels').attr('transform',function(d){var dx=nv.utils.NaNtoZero(x(getX(d[0],d[1])))+Math.sqrt(z(getSize(d[0],d[1]))/Math.PI)+2;return'translate('+dx+','+nv.utils.NaNtoZero(y(getY(d[0],d[1])))+')'});}
1945if(interactiveUpdateDelay)
1946{clearTimeout(timeoutID);timeoutID=setTimeout(updateInteractiveLayer,interactiveUpdateDelay);}
1947else
1948{updateInteractiveLayer();}
1949x0=x.copy();y0=y.copy();z0=z.copy();});renderWatch.renderEnd('scatter immediate');return chart;}
1950chart.dispatch=dispatch;chart.options=nv.utils.optionsFunc.bind(chart);chart._calls=new function(){this.clearHighlights=function(){nv.dom.write(function(){container.selectAll(".nv-point.hover").classed("hover",false);});return null;};this.highlightPoint=function(seriesIndex,pointIndex,isHoverOver){nv.dom.write(function(){container.select('.nv-groups').selectAll(".nv-series-"+seriesIndex).selectAll(".nv-point-"+pointIndex).classed("hover",isHoverOver);});};};dispatch.on('elementMouseover.point',function(d){if(interactive)chart._calls.highlightPoint(d.seriesIndex,d.pointIndex,true);});dispatch.on('elementMouseout.point',function(d){if(interactive)chart._calls.highlightPoint(d.seriesIndex,d.pointIndex,false);});chart._options=Object.create({},{width:{get:function(){return width;},set:function(_){width=_;}},height:{get:function(){return height;},set:function(_){height=_;}},xScale:{get:function(){return x;},set:function(_){x=_;}},yScale:{get:function(){return y;},set:function(_){y=_;}},pointScale:{get:function(){return z;},set:function(_){z=_;}},xDomain:{get:function(){return xDomain;},set:function(_){xDomain=_;}},yDomain:{get:function(){return yDomain;},set:function(_){yDomain=_;}},pointDomain:{get:function(){return sizeDomain;},set:function(_){sizeDomain=_;}},xRange:{get:function(){return xRange;},set:function(_){xRange=_;}},yRange:{get:function(){return yRange;},set:function(_){yRange=_;}},pointRange:{get:function(){return sizeRange;},set:function(_){sizeRange=_;}},forceX:{get:function(){return forceX;},set:function(_){forceX=_;}},forceY:{get:function(){return forceY;},set:function(_){forceY=_;}},forcePoint:{get:function(){return forceSize;},set:function(_){forceSize=_;}},interactive:{get:function(){return interactive;},set:function(_){interactive=_;}},pointActive:{get:function(){return pointActive;},set:function(_){pointActive=_;}}
1950,padDataOuter:{get:function(){return padDataOuter;},set:function(_){padDataOuter=_;}},padData:{get:function(){return padData;},set:function(_){padData=_;}},clipEdge:{get:function(){return clipEdge;},set:function(_){clipEdge=_;}},clipVoronoi:{get:function(){return clipVoronoi;},set:function(_){clipVoronoi=_;}},clipRadius:{get:function(){return clipRadius;},set:function(_){clipRadius=_;}},showVoronoi:{get:function(){return showVoronoi;},set:function(_){showVoronoi=_;}},id:{get:function(){return id;},set:function(_){id=_;}},interactiveUpdateDelay:{get:function(){return interactiveUpdateDelay;},set:function(_){interactiveUpdateDelay=_;}},showLabels:{get:function(){return showLabels;},set:function(_){showLabels=_;}},x:{get:function(){return getX;},set:function(_){getX=d3.functor(_);}},y:{get:function(){return getY;},set:function(_){getY=d3.functor(_);}},pointSize:{get:function(){return getSize;},set:function(_){getSize=d3.functor(_);}},pointShape:{get:function(){return getShape;},set:function(_){getShape=d3.functor(_);}},margin:{get:function(){return margin;},set:function(_){margin.top=_.top!==undefined?_.top:margin.top;margin.right=_.right!==undefined?_.right:margin.right;margin.bottom=_.bottom!==undefined?_.bottom:margin.bottom;margin.left=_.left!==undefined?_.left:margin.left;}},duration:{get:function(){return duration;},set:function(_){duration=_;renderWatch.reset(duration);}},color:{get:function(){return color;},set:function(_){color=nv.utils.getColor(_);}},useVoronoi:{get:function(){return useVoronoi;},set:function(_){useVoronoi=_;if(useVoronoi===false){clipVoronoi=false;}}}});nv.utils.initOptions(chart);return chart;};nv.models.multiBar=function(){"use strict";var margin={top:0,right:0,bottom:0,left:0},width=960,height=500,x=d3.scale.ordinal(),y=d3.scale.linear(),id=Math.floor(Math.random()*10000),container=null,getX=function(d){return d.x},getY=function(d){return d.y},forceY=[0],clipEdge=true,stacked=false,stackOffset='zero',color=nv.utils.defaultColor(),hideable=false,barColor=null,disabled,duration=500,xDomain,yDomain,xRange,yRange,groupSpacing=0.1,dispatch=d3.dispatch('chartClick','elementClick','elementDblClick','elementMouseover','elementMouseout','elementMousemove','renderEnd');var x0,y0,renderWatch=nv.utils.renderWatch(dispatch,duration);var last_datalength=0;function chart(selection){renderWatch.reset();selection.each(function(data){var availableWidth=width-margin.left-margin.right,availableHeight=height-margin.top-margin.bottom;container=d3.select(this);nv.utils.initSVG(container);var nonStackableCount=0;var endFn=function(d,i){if(d.series===data.length-1&&i===data[0].values.length-1)
1951return true;return false;};if(hideable&&data.length)hideable=[{values:data[0].values.map(function(d){return{x:d.x,y:0,series:d.series,size:0.01};})}];if(stacked){var parsed=d3.layout.stack().offset(stackOffset).values(function(d){return d.values}).y(getY)
1952(!data.length&&hideable?hideable:data);parsed.forEach(function(series,i){if(series.nonStackable){data[i].nonStackableSeries=nonStackableCount++;parsed[i]=data[i];}else{if(i>0&&parsed[i-1].nonStackable){parsed[i].values.map(function(d,j){d.y0-=parsed[i-1].values[j].y;d.y1=d.y0+d.y;});}}});data=parsed;}
1953data.forEach(function(series,i){series.values.forEach(function(point){point.series=i;point.key=series.key;});});if(stacked){data[0].values.map(function(d,i){var posBase=0,negBase=0;data.map(function(d,idx){if(!data[idx].nonStackable){var f=d.values[i]
1954f.size=Math.abs(f.y);if(f.y<0){f.y1=negBase;negBase=negBase-f.size;}else
1955{f.y1=f.size+posBase;posBase=posBase+f.size;}}});});}
1956var seriesData=(xDomain&&yDomain)?[]:data.map(function(d,idx){return d.values.map(function(d,i){return{x:getX(d,i),y:getY(d,i),y0:d.y0,y1:d.y1,idx:idx}})});x.domain(xDomain||d3.merge(seriesData).map(function(d){return d.x})).rangeBands(xRange||[0,availableWidth],groupSpacing);y.domain(yDomain||d3.extent(d3.merge(seriesData).map(function(d){var domain=d.y;if(stacked&&!data[d.idx].nonStackable){if(d.y>0){domain=d.y1}else{domain=d.y1+d.y}}
1957return domain;}).concat(forceY))).range(yRange||[availableHeight,0]);if(x.domain()[0]===x.domain()[1])
1958x.domain()[0]?x.domain([x.domain()[0]-x.domain()[0]*0.01,x.domain()[1]+x.domain()[1]*0.01]):x.domain([-1,1]);if(y.domain()[0]===y.domain()[1])
1959y.domain()[0]?y.domain([y.domain()[0]+y.domain()[0]*0.01,y.domain()[1]-y.domain()[1]*0.01]):y.domain([-1,1]);x0=x0||x;y0=y0||y;var wrap=container.selectAll('g.nv-wrap.nv-multibar').data([data]);var wrapEnter=wrap.enter().append('g').attr('class','nvd3 nv-wrap nv-multibar');var defsEnter=wrapEnter.append('defs');var gEnter=wrapEnter.append('g');var g=wrap.select('g');gEnter.append('g').attr('class','nv-groups');wrap.attr('transform','translate('+margin.left+','+margin.top+')');defsEnter.append('clipPath').attr('id','nv-edge-clip-'+id).append('rect');wrap.select('#nv-edge-clip-'+id+' rect').attr('width',availableWidth).attr('height',availableHeight);g.attr('clip-path',clipEdge?'url(#nv-edge-clip-'+id+')':'');var groups=wrap.select('.nv-groups').selectAll('.nv-group').data(function(d){return d},function(d,i){return i});groups.enter().append('g').style('stroke-opacity',1e-6).style('fill-opacity',1e-6);var exitTransition=renderWatch.transition(groups.exit().selectAll('rect.nv-bar'),'multibarExit',Math.min(100,duration)).attr('y',function(d,i,j){var yVal=y0(0)||0;if(stacked){if(data[d.series]&&!data[d.series].nonStackable){yVal=y0(d.y0);}}
1960return yVal;}).attr('height',0).remove();if(exitTransition.delay)
1961exitTransition.delay(function(d,i){var delay=i*(duration/(last_datalength+1))-i;return delay;});groups.attr('class',function(d,i){return'nv-group nv-series-'+i}).classed('hover',function(d){return d.hover}).style('fill',function(d,i){return color(d,i)}).style('stroke',function(d,i){return color(d,i)});groups.style('stroke-opacity',1).style('fill-opacity',0.75);var bars=groups.selectAll('rect.nv-bar').data(function(d){return(
1961hideable&&!data.length)?hideable.values:d.values});bars.exit().remove();var barsEnter=bars.enter().append('rect').attr('class',function(d,i){return getY(d,i)<0?'nv-bar negative':'nv-bar positive'}).attr('x',function(d,i,j){return stacked&&!data[j].nonStackable?0:(j*x.rangeBand()/data.length)}).attr('y',function(d,i,j){return y0(stacked&&!data[j].nonStackable?d.y0:0)||0}).attr('height',0).attr('width',function(d,i,j){return x.rangeBand()/(stacked&&!data[j].nonStackable?1:data.length)}).attr('transform',function(d,i){return'translate('+x(getX(d,i))+',0)';});bars.style('fill',function(d,i,j){return color(d,j,i);}).style('stroke',function(d,i,j){return color(d,j,i);}).on('mouseover',function(d,i){d3.select(this).classed('hover',true);dispatch.elementMouseover({data:d,index:i,color:d3.select(this).style("fill")});}).on('mouseout',function(d,i){d3.select(this).classed('hover',false);dispatch.elementMouseout({data:d,index:i,color:d3.select(this).style("fill")});}).on('mousemove',function(d,i){dispatch.elementMousemove({data:d,index:i,color:d3.select(this).style("fill")});}).on('click',function(d,i){var element=this;dispatch.elementClick({data:d,index:i,color:d3.select(this).style("fill"),event:d3.event,element:element});d3.event.stopPropagation();}).on('dblclick',function(d,i){dispatch.elementDblClick({data:d,index:i,color:d3.select(this).style("fill")});d3.event.stopPropagation();});bars.attr('class',function(d,i){return getY(d,i)<0?'nv-bar negative':'nv-bar positive'}).attr('transform',function(d,i){return'translate('+x(getX(d,i))+',0)';})
1962if(barColor){if(!disabled)disabled=data.map(function(){return true});bars.style('fill',function(d,i,j){return d3.rgb(barColor(d,i)).darker(disabled.map(function(d,i){return i}).filter(function(d,i){return!disabled[i]})[j]).toString();}).style('stroke',function(d,i,j){return d3.rgb(barColor(d,i)).darker(disabled.map(function(d,i){return i}).filter(function(d,i){return!disabled[i]})[j]).toString();});}
1963var barSelection=bars.watchTransition(renderWatch,'multibar',Math.min(250,duration)).delay(function(d,i){return i*duration/data[0].values.length;});if(stacked){barSelection.attr('y',function(d,i,j){var yVal=0;if(!data[j].nonStackable){yVal=y(d.y1);}else{if(getY(d,i)<0){yVal=y(0);}else{if(y(0)-y(getY(d,i))<-1){yVal=y(0)-1;}else{yVal=y(getY(d,i))||0;}}}
1964return yVal;}).attr('height',function(d,i,j){if(!data[j].nonStackable){return Math.max(Math.abs(y(d.y+d.y0)-y(d.y0)),0);}else{return Math.max(Math.abs(y(getY(d,i))-y(0)),0)||0;}}).attr('x',function(d,i,j){var width=0;if(data[j].nonStackable){width=d.series*x.rangeBand()/data.length;if(data.length!==nonStackableCount){width=data[j].nonStackableSeries*x.rangeBand()/(nonStackableCount*2);}}
1965return width;}).attr('width',function(d,i,j){if(!data[j].nonStackable){return x.rangeBand();}else{var width=(x.rangeBand()/nonStackableCount);if(data.length!==nonStackableCount){width=x.rangeBand()/(nonStackableCount*2);}
1966return width;}});}
1967else{barSelection.attr('x',function(d,i){return d.series*x.rangeBand()/data.length;}).attr('width',x.rangeBand()/data.length).attr('y',function(d,i){return getY(d,i)<0?y(0):y(0)-y(getY(d,i))<1?y(0)-1:y(getY(d,i))||0;}).attr('height',function(d,i){return Math.max(Math.abs(y(getY(d,i))-y(0)),1)||0;});}
1968x0=x.copy();y0=y.copy();if(data[0]&&data[0].values){last_datalength=data[0].values.length;}});renderWatch.renderEnd('multibar immediate');return chart;}
1969chart.dispatch=dispatch;chart.options=nv.utils.optionsFunc.bind(chart);chart._options=Object.create({},{width:{get:function(){return width;},set:function(_){width=_;}},height:{get:function(){return height;},set:function(_){height=_;}},x:{get:function(){return getX;},set:function(_){getX=_;}},y:{get:function(){return getY;},set:function(_){getY=_;}},xScale:{get:function(){return x;},set:function(_){x=_;}},yScale:{get:function(){return y;},set:function(_){y=_;}},xDomain:{get:function(){return xDomain;},set:function(_){xDomain=_;}},yDomain:{get:function(){return yDomain;},set:function(_){yDomain=_;}},xRange:{get:function(){return xRange;},set:function(_){xRange=_;}},yRange:{get:function(){return yRange;},set:function(_){yRange=_;}},forceY:{get:function(){return forceY;},set:function(_){forceY=_;}},stacked:{get:function(){return stacked;},set:function(_){stacked=_;}},stackOffset:{get:function(){return stackOffset;},set:function(_){stackOffset=_;}},clipEdge:{get:function(){return clipEdge;},set:function(_){clipEdge=_;}},disabled:{get:function(){return disabled;},set:function(_){disabled=_;}},id:{get:function(){return id;},set:function(_){id=_;}},hideable:{get:function(){return hideable;},set:function(_){hideable=_;}},groupSpacing:{get:function(){return groupSpacing;},set:function(_){groupSpacing=_;}},margin:{get:function(){return margin;},set:function(_){margin.top=_.top!==undefined?_.top:margin.top;
1969margin.right=_.right!==undefined?_.right:margin.right;margin.bottom=_.bottom!==undefined?_.bottom:margin.bottom;margin.left=_.left!==undefined?_.left:margin.left;}},duration:{get:function(){return duration;},set:function(_){duration=_;renderWatch.reset(duration);}},color:{get:function(){return color;},set:function(_){color=nv.utils.getColor(_);}},barColor:{get:function(){return barColor;},set:function(_){barColor=_?nv.utils.getColor(_):null;}}});nv.utils.initOptions(chart);return chart;};nv.models.legend=function(){"use strict";var margin={top:5,right:0,bottom:5,left:0},width=400,height=20,getKey=function(d){return d.key},color=nv.utils.getColor(),maxKeyLength=20,align=true,padding=32,rightAlign=true,updateState=true,radioButtonMode=false,expanded=false,dispatch=d3.dispatch('legendClick','legendDblclick','legendMouseover','legendMouseout','stateChange'),vers='classic';function chart(selection){selection.each(function(data){var availableWidth=width-margin.left-margin.right,container=d3.select(this);nv.utils.initSVG(container);var wrap=container.selectAll('g.nv-legend').data([data]);var gEnter=wrap.enter().append('g').attr('class','nvd3 nv-legend').append('g');var g=wrap.select('g');wrap.attr('transform','translate('+margin.left+','+margin.top+')');var series=g.selectAll('.nv-series').data(function(d){if(vers!='furious')return d;return d.filter(function(n){return expanded?true:!n.disengaged;});});var seriesEnter=series.enter().append('g').attr('class','nv-series');var seriesShape;var versPadding;switch(vers){case'furious':versPadding=23;break;case'classic':versPadding=20;}
1970if(vers=='classic'){seriesEnter.append('circle').style('stroke-width',2).attr('class','nv-legend-symbol').attr('r',5);seriesShape=series.select('circle');}else if(vers=='furious'){seriesEnter.append('rect').style('stroke-width',2).attr('class','nv-legend-symbol').attr('rx',3).attr('ry',3);seriesShape=series.select('.nv-legend-symbol');seriesEnter.append('g').attr('class','nv-check-box').property('innerHTML','<path d="M0.5,5 L22.5,5 L22.5,26.5 L0.5,26.5 L0.5,5 Z" class="nv-box"></path><path d="M5.5,12.8618467 L11.9185089,19.2803556 L31,0.198864511" class="nv-check"></path>').attr('transform','translate(-10,-8)scale(0.5)');var seriesCheckbox=series.select('.nv-check-box');seriesCheckbox.each(function(d,i){d3.select(this).selectAll('path').attr('stroke',setTextColor(d,i));});}
1971seriesEnter.append('text').attr('text-anchor','start').attr('class','nv-legend-text').attr('dy','.32em').attr('dx','8');var seriesText=series.select('text.nv-legend-text');series.on('mouseover',function(d,i){dispatch.legendMouseover(d,i);}).on('mouseout',function(d,i){dispatch.legendMouseout(d,i);}).on('click',function(d,i){dispatch.legendClick(d,i);var data=series.data();if(updateState){if(vers=='classic'){if(radioButtonMode){data.forEach(function(series){series.disabled=true});d.disabled=false;}
1972else{d.disabled=!d.disabled;if(data.every(function(series){return series.disabled})){data.forEach(function(series){series.disabled=false});}}}else if(vers=='furious'){if(expanded){d.disengaged=!d.disengaged;d.userDisabled=d.userDisabled==undefined?!!d.disabled:d.userDisabled;d.disabled=d.disengaged||d.userDisabled;}else if(!expanded){d.disabled=!d.disabled;d.userDisabled=d.disabled;var engaged=data.filter(function(d){return!d.disengaged;});if(engaged.every(function(series){return series.userDisabled})){data.forEach(function(series){series.disabled=series.userDisabled=false;});}}}
1973dispatch.stateChange({disabled:data.map(function(d){return!!d.disabled}),disengaged:data.map(function(d){return!!d.disengaged})});}}).on('dblclick',function(d,i){if(vers=='furious'&&expanded)return;dispatch.legendDblclick(d,i);if(updateState){var data=series.data();data.forEach(function(series){series.disabled=true;if(vers=='furious')series.userDisabled=series.disabled;});d.disabled=false;if(vers=='furious')d.userDisabled=d.disabled;dispatch.stateChange({disabled:data.map(function(d){return!!d.disabled})});}});series.classed('nv-disabled',function(d){return d.userDisabled});series.exit().remove();seriesText.attr('fill',setTextColor).text(getKey);var legendWidth=0;if(align){var seriesWidths=[];series.each(function(d,i){var legendText;if(getKey(d).length>maxKeyLength){var trimmedKey=getKey(d).substring(0,maxKeyLength);legendText=d3.select(this).select('text').text(trimmedKey+"...");d3.select(this).append("svg:title").text(getKey(d));}else{legendText=d3.select(this).select('text');}
1974var nodeTextLength;try{nodeTextLength=legendText.node().getComputedTextLength();if(nodeTextLength<=0)throw Error();}
1975catch(e){nodeTextLength=nv.utils.calcApproxTextWidth(legendText);}
1976seriesWidths.push(nodeTextLength+padding);});var seriesPerRow=0;var columnWidths=[];legendWidth=0;while(legendWidth<availableWidth&&seriesPerRow<seriesWidths.length){columnWidths[seriesPerRow]=seriesWidths[seriesPerRow];legendWidth+=seriesWidths[seriesPerRow++];}
1977if(seriesPerRow===0)seriesPerRow=1;while(legendWidth>availableWidth&&seriesPerRow>1){columnWidths=[];seriesPerRow--;for(var k=0;k<seriesWidths.length;k++){if(seriesWidths[k]>(columnWidths[k%seriesPerRow]||0))
1978columnWidths[k%seriesPerRow]=seriesWidths[k];}
1979legendWidth=columnWidths.reduce(function(prev,cur,index,array){return prev+cur;});}
1980var xPositions=[];for(var i=0,curX=0;i<seriesPerRow;i++){xPositions[i]=curX;curX+=columnWidths[i];}
1981series.attr('transform',function(d,i){return'translate('+xPositions[i%seriesPerRow]+','+(5+Math.floor(i/seriesPerRow)*versPadding)+')';});
1981if(rightAlign){g.attr('transform','translate('+(width-margin.right-legendWidth)+','+margin.top+')');}
1982else{g.attr('transform','translate(0'+','+margin.top+')');}
1983height=margin.top+margin.bottom+(Math.ceil(seriesWidths.length/seriesPerRow)*versPadding);}else{var ypos=5,newxpos=5,maxwidth=0,xpos;series.attr('transform',function(d,i){var length=d3.select(this).select('text').node().getComputedTextLength()+padding;xpos=newxpos;if(width<margin.left+margin.right+xpos+length){newxpos=xpos=5;ypos+=versPadding;}
1984newxpos+=length;if(newxpos>maxwidth)maxwidth=newxpos;if(legendWidth<xpos+maxwidth){legendWidth=xpos+maxwidth;}
1985return'translate('+xpos+','+ypos+')';});g.attr('transform','translate('+(width-margin.right-maxwidth)+','+margin.top+')');height=margin.top+margin.bottom+ypos+15;}
1986if(vers=='furious'){seriesShape.attr('width',function(d,i){return seriesText[0][i].getComputedTextLength()+27;}).attr('height',18).attr('y',-9).attr('x',-15);gEnter.insert('rect',':first-child').attr('class','nv-legend-bg').attr('fill','#eee').attr('opacity',0);var seriesBG=g.select('.nv-legend-bg');seriesBG.transition().duration(300).attr('x',-versPadding).attr('width',legendWidth+versPadding-12).attr('height',height+10).attr('y',-margin.top-10).attr('opacity',expanded?1:0);}
1987seriesShape.style('fill',setBGColor).style('fill-opacity',setBGOpacity).style('stroke',setBGColor);});function setTextColor(d,i){if(vers!='furious')return'#000';if(expanded){return d.disengaged?'#000':'#fff';}else if(!expanded){if(!d.color)d.color=color(d,i);return!!d.disabled?d.color:'#fff';}}
1988function setBGColor(d,i){if(expanded&&vers=='furious'){return d.disengaged?'#eee':d.color||color(d,i);}else{return d.color||color(d,i);}}
1989function setBGOpacity(d,i){if(expanded&&vers=='furious'){return 1;}else{return!!d.disabled?0:1;}}
1990return chart;}
1991chart.dispatch=dispatch;chart.options=nv.utils.optionsFunc.bind(chart);chart._options=Object.create({},{width:{get:function(){return width;},set:function(_){width=_;}},height:{get:function(){return height;},set:function(_){height=_;}},key:{get:function(){return getKey;},set:function(_){getKey=_;}},align:{get:function(){return align;},set:function(_){align=_;}},maxKeyLength:{get:function(){return maxKeyLength;},set:function(_){maxKeyLength=_;}},rightAlign:{get:function(){return rightAlign;},set:function(_){rightAlign=_;}},padding:{get:function(){return padding;},set:function(_){padding=_;}},updateState:{get:function(){return updateState;},set:function(_){updateState=_;}},radioButtonMode:{get:function(){return radioButtonMode;},set:function(_){radioButtonMode=_;}},expanded:{get:function(){return expanded;},set:function(_){expanded=_;}},vers:{get:function(){return vers;},set:function(_){vers=_;}},margin:{get:function(){return margin;},set:function(_){margin.top=_.top!==undefined?_.top:margin.top;margin.right=_.right!==undefined?_.right:margin.right;margin.bottom=_.bottom!==undefined?_.bottom:margin.bottom;margin.left=_.left!==undefined?_.left:margin.left;}},color:{get:function(){return color;},set:function(_){color=nv.utils.getColor(_);}}});nv.utils.initOptions(chart);return chart;};nv.models.lineChart=function(){"use strict";var lines=nv.models.line(),xAxis=nv.models.axis(),yAxis=nv.models.axis(),legend=nv.models.legend(),interactiveLayer=nv.interactiveGuideline(),tooltip=nv.models.tooltip(),lines2=nv.models.line(),x2Axis=nv.models.axis(),y2Axis=nv.models.axis(),brush=d3.svg.brush();var margin={top:30,right:20,bottom:50,left:60},margin2={top:0,right:20,bottom:20,left:60},color=nv.utils.defaultColor(),width=null,height=null,showLegend=true,legendPosition='top',showXAxis=true,showYAxis=true,rightAlignYAxis=false,useInteractiveGuideline=false,x,y,x2,y2,focusEnable=false,focusShowAxisY=false,focusShowAxisX=true,focusHeight=50,brushExtent=null,state=nv.utils.state(),defaultState=null,noData=null,dispatch=d3.dispatch('tooltipShow','tooltipHide','brush','stateChange','changeState','renderEnd'),duration=250;xAxis.orient('bottom').tickPadding(7);yAxis.orient(rightAlignYAxis?'right':'left');lines.clipEdge(true).duration(0);lines2.interactive(false);lines2.pointActive(function(d){return false;});x2Axis.orient('bottom').tickPadding(5);y2Axis.orient(rightAlignYAxis?'right':'left');tooltip.valueFormatter(function(d,i){return yAxis.tickFormat()(d,i);}).headerFormatter(function(d,i){return xAxis.tickFormat()(d,i);});interactiveLayer.tooltip.valueFormatter(function(d,i){return yAxis.tickFormat()(d,i);}).headerFormatter(function(d,i){return xAxis.tickFormat()(d,i);});var renderWatch=nv.utils.renderWatch(dispatch,duration);var stateGetter=function(data){return function(){return{active:data.map(function(d){return!d.disabled;})};};};var stateSetter=function(data){return function(state){if(state.active!==undefined)
1992data.forEach(function(series,i){series.disabled=!state.active[i];});};};function chart(selection){renderWatch.reset();renderWatch.models(lines);renderWatch.models(lines2);if(showXAxis)renderWatch.models(xAxis);if(showYAxis)renderWatch.models(yAxis);if(focusShowAxisX)renderWatch.models(x2Axis);if(focusShowAxisY)renderWatch.models(y2Axis);selection.each(function(data){var container=d3.select(this);nv.utils.initSVG(container);var availableWidth=nv.utils.availableWidth(width,container,margin),availableHeight1=nv.utils.availableHeight(height,container,margin)-(focusEnable?focusHeight:0),availableHeight2=focusHeight-margin2.top-margin2.bottom;chart.update=function(){if(duration===0){container.call(chart);}else{container.transition().duration(duration).call(chart);}};chart.container=this;state.setter(stateSetter(data),chart.update).getter(stateGetter(data)).update();state.disabled=data.map(function(d){return!!d.disabled;});if(!defaultState){var key;defaultState={};for(key in state){if(state[key]instanceof Array)
1993defaultState[key]=state[key].slice(0);else
1994defaultState[key]=state[key];}}
1995if(!data||!data.length||!data.filter(function(d){return d.values.length;}).length){nv.utils.noData(chart,container);return chart;}else{container.selectAll('.nv-noData').remove();}
1996x=lines.xScale();y=lines.yScale();x2=lines2.xScale();y2=lines2.yScale();var wrap=container.selectAll('g.nv-wrap.nv-lineChart').data([data]);var gEnter=wrap.enter().append('g').attr('class','nvd3 nv-wrap nv-lineChart').append('g');var g=wrap.select('g');gEnter.append('g').attr('class','nv-legendWrap');var focusEnter=gEnter.append('g').attr('class','nv-focus');focusEnter.append('g').attr('class','nv-background').append('rect');focusEnter.append('g').attr('class','nv-x nv-axis');focusEnter.append('g').attr('class','nv-y nv-axis');focusEnter.append('g').attr('class','nv-linesWrap');focusEnter.append('g').attr('class','nv-interactive');var contextEnter=gEnter.append('g').attr('class','nv-context');contextEnter.append('g').attr('class','nv-background').append('rect');contextEnter.append('g').attr('class','nv-x nv-axis');contextEnter.append('g').attr('class','nv-y nv-axis');contextEnter.append('g').attr('class','nv-linesWrap');
1996contextEnter.append('g').attr('class','nv-brushBackground');contextEnter.append('g').attr('class','nv-x nv-brush');if(!showLegend){g.select('.nv-legendWrap').selectAll('*').remove();}else{legend.width(availableWidth);g.select('.nv-legendWrap').datum(data).call(legend);if(legendPosition==='bottom'){wrap.select('.nv-legendWrap').attr('transform','translate(0,'+(availableHeight1+legend.height())+')');}else if(legendPosition==='top'){if(margin.top!=legend.height()){margin.top=legend.height();availableHeight1=nv.utils.availableHeight(height,container,margin)-(focusEnable?focusHeight:0);}
1997wrap.select('.nv-legendWrap').attr('transform','translate(0,'+(-margin.top)+')');}}
1998wrap.attr('transform','translate('+margin.left+','+margin.top+')');if(rightAlignYAxis){g.select(".nv-y.nv-axis").attr("transform","translate("+availableWidth+",0)");}
1999if(useInteractiveGuideline){interactiveLayer.width(availableWidth).height(availableHeight1).margin({left:margin.left,top:margin.top}).svgContainer(container).xScale(x);wrap.select(".nv-interactive").call(interactiveLayer);}
2000g.select('.nv-focus .nv-background rect').attr('width',availableWidth).attr('height',availableHeight1);lines.width(availableWidth).height(availableHeight1).color(data.map(function(d,i){return d.color||color(d,i);}).filter(function(d,i){return!data[i].disabled;}));var linesWrap=g.select('.nv-linesWrap').datum(data.filter(function(d){return!d.disabled;}));if(showXAxis){xAxis.scale(x)._ticks(nv.utils.calcTicksX(availableWidth/100,data)).tickSize(-availableHeight1,0);}
2001if(showYAxis){yAxis.scale(y)._ticks(nv.utils.calcTicksY(availableHeight1/36,data)).tickSize(-availableWidth,0);}
2002function updateXAxis(){if(showXAxis){g.select('.nv-focus .nv-x.nv-axis').transition().duration(duration).call(xAxis);}}
2003function updateYAxis(){if(showYAxis){g.select('.nv-focus .nv-y.nv-axis').transition().duration(duration).call(yAxis);}}
2004g.select('.nv-focus .nv-x.nv-axis').attr('transform','translate(0,'+availableHeight1+')');if(!focusEnable)
2005{linesWrap.call(lines);updateXAxis();updateYAxis();}
2006else
2007{lines2.defined(lines.defined()).width(availableWidth).height(availableHeight2).color(data.map(function(d,i){return d.color||color(d,i);}).filter(function(d,i){return!data[i].disabled;}));g.select('.nv-context').attr('transform','translate(0,'+(availableHeight1+margin.bottom+margin2.top)+')').style('display',focusEnable?'initial':'none');var contextLinesWrap=g.select('.nv-context .nv-linesWrap').datum(data.filter(function(d){return!d.disabled;}));d3.transition(contextLinesWrap).call(lines2);brush.x(x2).on('brush',function(){onBrush();});if(brushExtent)brush.extent(brushExtent);var brushBG=g.select('.nv-brushBackground').selectAll('g').data([brushExtent||brush.extent()]);var brushBGenter=brushBG.enter().append('g');brushBGenter.append('rect').attr('class','left').attr('x',0).attr('y',0).attr('height',availableHeight2);brushBGenter.append('rect').attr('class','right').attr('x',0).attr('y',0).attr('height',availableHeight2);var gBrush=g.select('.nv-x.nv-brush').call(brush);gBrush.selectAll('rect').attr('height',availableHeight2);gBrush.selectAll('.resize').append('path').attr('d',resizePath);onBrush();g.select('.nv-context .nv-background rect').attr('width',availableWidth).attr('height',availableHeight2);if(focusShowAxisX){x2Axis.scale(x2)._ticks(nv.utils.calcTicksX(availableWidth/100,data)).tickSize(-availableHeight2,0);g.select('.nv-context .nv-x.nv-axis').attr('transform','translate(0,'+y2.range()[0]+')');d3.transition(g.select('.nv-context .nv-x.nv-axis')).call(x2Axis);}
2008if(focusShowAxisY){y2Axis.scale(y2)._ticks(nv.utils.calcTicksY(availableHeight2/36,data)).tickSize(-availableWidth,0);d3.transition(g.select('.nv-context .nv-y.nv-axis')).call(y2Axis);}
2009g.select('.nv-context .nv-x.nv-axis').attr('transform','translate(0,'+y2.range()[0]+')');}
2010legend.dispatch.on('stateChange',function(newState){for(var key in newState)
2011state[key]=newState[key];dispatch.stateChange(state);chart.update();});interactiveLayer.dispatch.on('elementMousemove',function(e){lines.clearHighlights();var singlePoint,pointIndex,pointXLocation,allData=[];data.filter(function(series,i){series.seriesIndex=i;return!series.disabled&&!series.disableTooltip;}
2011).forEach(function(series,i){var extent=focusEnable?(brush.empty()?x2.domain():brush.extent()):x.domain();var currentValues=series.values.filter(function(d,i){return lines.x()(d,i)>=extent[0]&&lines.x()(d,i)<=extent[1];});pointIndex=nv.interactiveBisect(currentValues,e.pointXValue,lines.x());var point=currentValues[pointIndex];var pointYValue=chart.y()(point,pointIndex);if(pointYValue!==null){lines.highlightPoint(series.seriesIndex,pointIndex,true);}
2012if(point===undefined)return;if(singlePoint===undefined)singlePoint=point;if(pointXLocation===undefined)pointXLocation=chart.xScale()(chart.x()(point,pointIndex));allData.push({key:series.key,value:pointYValue,color:color(series,series.seriesIndex),data:point});});if(allData.length>2){var yValue=chart.yScale().invert(e.mouseY);var domainExtent=Math.abs(chart.yScale().domain()[0]-chart.yScale().domain()[1]);var threshold=0.03*domainExtent;var indexToHighlight=nv.nearestValueIndex(allData.map(function(d){return d.value;}),yValue,threshold);if(indexToHighlight!==null)
2013allData[indexToHighlight].highlight=true;}
2014var defaultValueFormatter=function(d,i){return d==null?"N/A":yAxis.tickFormat()(d);};interactiveLayer.tooltip.chartContainer(chart.container.parentNode).valueFormatter(interactiveLayer.tooltip.valueFormatter()||defaultValueFormatter).data({value:chart.x()(singlePoint,pointIndex),index:pointIndex,series:allData})();interactiveLayer.renderGuideLine(pointXLocation);});interactiveLayer.dispatch.on('elementClick',function(e){var pointXLocation,allData=[];data.filter(function(series,i){series.seriesIndex=i;return!series.disabled;}).forEach(function(series){var pointIndex=nv.interactiveBisect(series.values,e.pointXValue,chart.x());var point=series.values[pointIndex];if(typeof point==='undefined')return;if(typeof pointXLocation==='undefined')pointXLocation=chart.xScale()(chart.x()(point,pointIndex));var yPos=chart.yScale()(chart.y()(point,pointIndex));allData.push({point:point,pointIndex:pointIndex,pos:[pointXLocation,yPos],seriesIndex:series.seriesIndex,series:series});});lines.dispatch.elementClick(allData);});interactiveLayer.dispatch.on("elementMouseout",function(e){lines.clearHighlights();});dispatch.on('changeState',function(e){if(typeof e.disabled!=='undefined'&&data.length===e.disabled.length){data.forEach(function(series,i){series.disabled=e.disabled[i];});state.disabled=e.disabled;}
2015chart.update();});function resizePath(d){var e=+(d=='e'),x=e?1:-1,y=availableHeight2/3;return'M'+(0.5*x)+','+y
2016+'A6,6 0 0 '+e+' '+(6.5*x)+','+(y+6)
2017+'V'+(2*y-6)
2018+'A6,6 0 0 '+e+' '+(0.5*x)+','+(2*y)
2019+'Z'
2020+'M'+(2.5*x)+','+(y+8)
2021+'V'+(2*y-8)
2022+'M'+(4.5*x)+','+(y+8)
2023+'V'+(2*y-8);}
2024function updateBrushBG(){if(!brush.empty())brush.extent(brushExtent);brushBG.data([brush.empty()?x2.domain():brushExtent]).each(function(d,i){var leftWidth=x2(d[0])-x.range()[0],rightWidth=availableWidth-x2(d[1]);d3.select(this).select('.left').attr('width',leftWidth<0?0:leftWidth);d3.select(this).select('.right').attr('x',x2(d[1])).attr('width',rightWidth<0?0:rightWidth);});}
2025function onBrush(){brushExtent=brush.empty()?null:brush.extent();var extent=brush.empty()?x2.domain():brush.extent();if(Math.abs(extent[0]-extent[1])<=1){return;}
2026dispatch.brush({extent:extent,brush:brush});updateBrushBG();var focusLinesWrap=g.select('.nv-focus .nv-linesWrap').datum(data.filter(function(d){return!d.disabled;}).map(function(d,i){return{key:d.key,area:d.area,classed:d.classed,values:d.values.filter(function(d,i){return lines.x()(d,i)>=extent[0]&&lines.x()(d,i)<=extent[1];}),disableTooltip:d.disableTooltip};}));focusLinesWrap.transition().duration(duration).call(lines);updateXAxis();updateYAxis();}});renderWatch.renderEnd('lineChart immediate');return chart;}
2027lines.dispatch.on('elementMouseover.tooltip',function(evt){if(!evt.series.disableTooltip){tooltip.data(evt).hidden(false);}});lines.dispatch.on('elementMouseout.tooltip',function(evt){tooltip.hidden(true);});chart.dispatch=dispatch;chart.lines=lines;chart.lines2=lines2;chart.legend=legend;chart.xAxis=xAxis;chart.x2Axis=x2Axis;chart.yAxis=yAxis;chart.y2Axis=y2Axis;chart.interactiveLayer=interactiveLayer;chart.tooltip=tooltip;chart.state=state;
2027chart.dispatch=dispatch;chart.options=nv.utils.optionsFunc.bind(chart);chart._options=Object.create({},{width:{get:function(){return width;},set:function(_){width=_;}},height:{get:function(){return height;},set:function(_){height=_;}},showLegend:{get:function(){return showLegend;},set:function(_){showLegend=_;}},legendPosition:{get:function(){return legendPosition;},set:function(_){legendPosition=_;}},showXAxis:{get:function(){return showXAxis;},set:function(_){showXAxis=_;}},showYAxis:{get:function(){return showYAxis;},set:function(_){showYAxis=_;}},focusEnable:{get:function(){return focusEnable;},set:function(_){focusEnable=_;}},focusHeight:{get:function(){return height2;},set:function(_){focusHeight=_;}},focusShowAxisX:{get:function(){return focusShowAxisX;},set:function(_){focusShowAxisX=_;}},focusShowAxisY:{get:function(){return focusShowAxisY;},set:function(_){focusShowAxisY=_;}},brushExtent:{get:function(){return brushExtent;},set:function(_){brushExtent=_;}},defaultState:{get:function(){return defaultState;},set:function(_){defaultState=_;}},noData:{get:function(){return noData;},set:function(_){noData=_;}},margin:{get:function(){return margin;},set:function(_){margin.top=_.top!==undefined?_.top:margin.top;margin.right=_.right!==undefined?_.right:margin.right;margin.bottom=_.bottom!==undefined?_.bottom:margin.bottom;margin.left=_.left!==undefined?_.left:margin.left;}},duration:{get:function(){return duration;},set:function(_){duration=_;renderWatch.reset(duration);lines.duration(duration);xAxis.duration(duration);x2Axis.duration(duration);yAxis.duration(duration);y2Axis.duration(duration);}},focusMargin:{get:function(){return margin2;},set:function(_){margin2.top=_.top!==undefined?_.top:margin2.top;margin2.right=_.right!==undefined?_.right:margin2.right;margin2.bottom=_.bottom!==undefined?_.bottom:margin2.bottom;margin2.left=_.left!==undefined?_.left:margin2.left;}},color:{get:function(){return color;},set:function(_){color=nv.utils.getColor(_);legend.color(color);lines.color(color);}},interpolate:{get:function(){return lines.interpolate();},set:function(_){lines.interpolate(_);lines2.interpolate(_);}},xTickFormat:{get:function(){return xAxis.tickFormat();},set:function(_){xAxis.tickFormat(_);x2Axis.tickFormat(_);}},yTickFormat:{get:function(){return yAxis.tickFormat();},set:function(_){yAxis.tickFormat(_);y2Axis.tickFormat(_);}},x:{get:function(){return lines.x();},set:function(_){lines.x(_);lines2.x(_);}},y:{get:function(){return lines.y();},set:function(_){lines.y(_);lines2.y(_);}},rightAlignYAxis:{get:function(){return rightAlignYAxis;},set:function(_){rightAlignYAxis=_;yAxis.orient(rightAlignYAxis?'right':'left');}},useInteractiveGuideline:{get:function(){return useInteractiveGuideline;},set:function(_){useInteractiveGuideline=_;if(useInteractiveGuideline){lines.interactive(false);lines.useVoronoi(false);}}}});nv.utils.inheritOptions(chart,lines);nv.utils.initOptions(chart);return chart;};nv.models.lineWithFocusChart=function(){return nv.models.lineChart().margin({bottom:30}).focusEnable(true);};nv.models.line=function(){"use strict";var scatter=nv.models.scatter();var margin={top:0,right:0,bottom:0,left:0},width=960,height=500,container=null,strokeWidth=1.5,color=nv.utils.defaultColor(),getX=function(d){return d.x},getY=function(d){return d.y},defined=function(d,i){return!isNaN(getY(d,i))&&getY(d,i)!==null},isArea=function(d){return d.area},clipEdge=false,x,y,interpolate="linear",duration=250,dispatch=d3.dispatch('elementClick','elementMouseover','elementMouseout','renderEnd');scatter.pointSize(16).pointDomain([16,256]);var x0,y0,renderWatch=nv.utils.renderWatch(dispatch,duration);function chart(selection){renderWatch.reset();renderWatch.models(scatter);selection.each(function(data){container=d3.select(this);var availableWidth=nv.utils.availableWidth(width,container,margin),availableHeight=nv.utils.availableHeight(height,container,margin);nv.utils.initSVG(container);x=scatter.xScale();y=scatter.yScale();x0=x0||x;y0=y0||y;var wrap=container.selectAll('g.nv-wrap.nv-line').data([data]);var wrapEnter=wrap.enter().append('g').attr('class','nvd3 nv-wrap nv-line');var defsEnter=wrapEnter.append('defs');var gEnter=wrapEnter.append('g');var g=wrap.select('g');gEnter.append('g').attr('class','nv-groups');gEnter.append('g').attr('class','nv-scatterWrap');wrap.attr('transform','translate('+margin.left+','+margin.top+')');scatter.width(availableWidth).height(availableHeight);var scatterWrap=wrap.select('.nv-scatterWrap');scatterWrap.call(scatter);defsEnter.append('clipPath').attr('id','nv-edge-clip-'+scatter.id()).append('rect');wrap.select('#nv-edge-clip-'+scatter.id()+' rect').attr('width',availableWidth).attr('height',(availableHeight>0)?availableHeight:0);g.attr('clip-path',clipEdge?'url(#nv-edge-clip-'+scatter.id()+')':'');scatterWrap.attr('clip-path',clipEdge?'url(#nv-edge-clip-'+scatter.id()+')':'');var groups=wrap.select('.nv-groups').selectAll('.nv-group').data(function(d){return d},function(d){return d.key});groups.enter().append('g').style('stroke-opacity',1e-6).style('stroke-width',function(d){return d.strokeWidth||strokeWidth}).style('fill-opacity',1e-6);groups.exit().remove();groups.attr('class',function(d,i){return(d.classed||'')+' nv-group nv-series-'+i;}).classed('hover',function(d){return d.hover}).style('fill',function(d,i){return color(d,i)}).style('stroke',function(d,i){return color(d,i)});groups.watchTransition(renderWatch,'line: groups').style('stroke-opacity',1).style('fill-opacity',function(d){return d.fillOpacity||.5});var areaPaths=groups.selectAll('path.nv-area').data(function(d){return isArea(d)?[d]:[]});areaPaths.enter().append('path').attr('class','nv-area').attr('d',function(d){return d3.svg.area().interpolate(interpolate).defined(defined).x(function(d,i){return nv.utils.NaNtoZero(x0(getX(d,i)))}).y0(function(d,i){return nv.utils.NaNtoZero(y0(getY(d,i)))}).y1(function(d,i){return y0(y.domain()[0]<=0?y.domain()[1]>=0?0:y.domain()[1]:y.domain()[0])}).apply(this,[d.values])});groups.exit().selectAll('path.nv-area').remove();areaPaths.watchTransition(renderWatch,'line: areaPaths').attr('d',function(d){return d3.svg.area().interpolate(interpolate).defined(defined).x(function(d,i){return nv.utils.NaNtoZero(x(getX(d,i)))}).y0(function(d,i){return nv.utils.NaNtoZero(y(getY(d,i)))}).y1(function(d,i){return y(y.domain()[0]<=0?y.domain()[1]>=0?0:y.domain()[1]:y.domain()[0])}).apply(this,[d.values])});var linePaths=groups.selectAll('path.nv-line').data(function(d){return[d.values]});linePaths.enter().append('path').attr('class','nv-line').attr('d',d3.svg.line().interpolate(interpolate).defined(defined).x(function(d,i){return nv.utils.NaNtoZero(x0(getX(d,i)))}).y(function(d,i){return nv.utils.NaNtoZero(y0(getY(d,i)))}));linePaths.watchTransition(renderWatch,'line: linePaths').attr('d',d3.svg.line().interpolate(interpolate).defined(defined).x(function(d,i){return nv.utils.NaNtoZero(x(getX(d,i)))}).y(function(d,i){return nv.utils.NaNtoZero(y(getY(d,i)))}));x0=x.copy();y0=y.copy();});renderWatch.renderEnd('line immediate');return chart;}
2028chart.dispatch=dispatch;chart.scatter=scatter;scatter.dispatch.on('elementClick',function(){dispatch.elementClick.apply(this,arguments);});scatter.dispatch.on('elementMouseover',function(){dispatch.elementMouseover.apply(this,arguments);});scatter.dispatch.on('elementMouseout',function(){dispatch.elementMouseout.apply(this,arguments);});chart.options=nv.utils.optionsFunc.bind(chart);chart._options=Object.create({},{width:{get:function(){return width;},set:function(_){width=_;}},height:{get:function(){return height;},set:function(_){height=_;}},defined:{get:function(){return defined;},set:function(_){defined=_;}},interpolate:{get:function(){return interpolate;},set:function(_){interpolate=_;}},clipEdge:{get:function(){return clipEdge;},set:function(_){clipEdge=_;}},margin:{get:function(){return margin;},set:function(_){margin.top=_.top!==undefined?_.top:margin.top;margin.right=_.right!==undefined?_.right:margin.right;margin.bottom=_.bottom!==undefined?_.bottom:margin.bottom;margin.left=_.left!==undefined?_.left:margin.left;}},duration:{get:function(){return duration;},set:function(_){duration=_;renderWatch.reset(duration);scatter.duration(duration);}},isArea:{get:function(){return isArea;},set:function(_){isArea=d3.functor(_);}},x:{get:function(){return getX;},set:function(_){getX=_;scatter.x(_);}},y:{get:function(){return getY;},set:function(_){getY=_;scatter.y(_);}},color:{get:function(){return color;},set:function(_){color=nv.utils.getColor(_);scatter.color(color);}}});nv.utils.inheritOptions(chart,scatter);nv.utils.initOptions(chart);return chart;};nv.models.discreteBarChart=function(){"use strict";var discretebar=nv.models.discreteBar(),xAxis=nv.models.axis(),yAxis=nv.models.axis(),legend=nv.models.legend(),tooltip=nv.models.tooltip();var margin={top:15,right:10,bottom:50,left:60},width=null,height=null,color=nv.utils.getColor(),showLegend=false,showXAxis=true,showYAxis=true,rightAlignYAxis=false,staggerLabels=false,wrapLabels=false,rotateLabels=0,x,y,noData=null,dispatch=d3.dispatch('beforeUpdate','renderEnd'),duration=250;xAxis.orient('bottom').showMaxMin(false).tickFormat(function(d){return d});yAxis.orient((rightAlignYAxis)?'right':'left').tickFormat(d3.format(',.1f'));tooltip.duration(0).headerEnabled(false).valueFormatter(function(d,i){return yAxis.tickFormat()(d,i);}).keyFormatter(function(d,i){return xAxis.tickFormat()(d,i);});var renderWatch=nv.utils.renderWatch(dispatch,duration);function chart(selection){renderWatch.reset();renderWatch.models(discretebar);if(showXAxis)renderWatch.models(xAxis);if(showYAxis)renderWatch.models(yAxis);selection.each(function(data){var container=d3.select(this),that=this;nv.utils.initSVG(container);var availableWidth=nv.utils.availableWidth(width,container,margin),availableHeight=nv.utils.availableHeight(height,container,margin);chart.update=function(){dispatch.beforeUpdate();container.transition().duration(duration).call(chart);};chart.container=this;if(!data||!data.length||!data.filter(function(d){return d.values.length}).length){nv.utils.noData(chart,container);return chart;}else{container.selectAll('.nv-noData').remove();}
2029x=discretebar.xScale();y=discretebar.yScale().clamp(true);var wrap=container.selectAll('g.nv-wrap.nv-discreteBarWithAxes').data([data]);var gEnter=wrap.enter().append('g').attr('class','nvd3 nv-wrap nv-discreteBarWithAxes').append('g');var defsEnter=gEnter.append('defs');var g=wrap.select('g');gEnter.append('g').attr('class','nv-x nv-axis');gEnter.append('g').attr('class','nv-y nv-axis').append('g').attr('class','nv-zeroLine').append('line');gEnter.append('g').attr('class','nv-barsWrap');gEnter.append('g').attr('class','nv-legendWrap');g.attr('transform','translate('+margin.left+','+margin.top+')');if(!showLegend){g.select('.nv-legendWrap').selectAll('*').remove();}else{legend.width(availableWidth);g.select('.nv-legendWrap').datum(data).call(legend);if(margin.top!=legend.height()){margin.top=legend.height();availableHeight=nv.utils.availableHeight(height,container,margin);}
2030wrap.select('.nv-legendWrap').attr('transform','translate(0,'+(-margin.top)+')')}
2031if(rightAlignYAxis){g.select(".nv-y.nv-axis").attr("transform","translate("+availableWidth+",0)");}
2032discretebar.width(availableWidth).height(availableHeight);var barsWrap=g.select('.nv-barsWrap').datum(data.filter(function(d){return!d.disabled}));
2032barsWrap.transition().call(discretebar);defsEnter.append('clipPath').attr('id','nv-x-label-clip-'+discretebar.id()).append('rect');g.select('#nv-x-label-clip-'+discretebar.id()+' rect').attr('width',x.rangeBand()*(staggerLabels?2:1)).attr('height',16).attr('x',-x.rangeBand()/(staggerLabels?1:2));if(showXAxis){xAxis.scale(x)._ticks(nv.utils.calcTicksX(availableWidth/100,data)).tickSize(-availableHeight,0);g.select('.nv-x.nv-axis').attr('transform','translate(0,'+(y.range()[0]+((discretebar.showValues()&&y.domain()[0]<0)?16:0))+')');g.select('.nv-x.nv-axis').call(xAxis);var xTicks=g.select('.nv-x.nv-axis').selectAll('g');if(staggerLabels){xTicks.selectAll('text').attr('transform',function(d,i,j){return'translate(0,'+(j%2==0?'5':'17')+')'})}
2033if(rotateLabels){xTicks.selectAll('.tick text').attr('transform','rotate('+rotateLabels+' 0,0)').style('text-anchor',rotateLabels>0?'start':'end');}
2034if(wrapLabels){g.selectAll('.tick text').call(nv.utils.wrapTicks,chart.xAxis.rangeBand())}}
2035if(showYAxis){yAxis.scale(y)._ticks(nv.utils.calcTicksY(availableHeight/36,data)).tickSize(-availableWidth,0);g.select('.nv-y.nv-axis').call(yAxis);}
2036g.select(".nv-zeroLine line").attr("x1",0).attr("x2",(rightAlignYAxis)?-availableWidth:availableWidth).attr("y1",y(0)).attr("y2",y(0));});renderWatch.renderEnd('discreteBar chart immediate');return chart;}
2037discretebar.dispatch.on('elementMouseover.tooltip',function(evt){evt['series']={key:chart.x()(evt.data),value:chart.y()(evt.data),color:evt.color};tooltip.data(evt).hidden(false);});discretebar.dispatch.on('elementMouseout.tooltip',function(evt){tooltip.hidden(true);});discretebar.dispatch.on('elementMousemove.tooltip',function(evt){tooltip();});chart.dispatch=dispatch;chart.discretebar=discretebar;chart.legend=legend;chart.xAxis=xAxis;chart.yAxis=yAxis;chart.tooltip=tooltip;chart.options=nv.utils.optionsFunc.bind(chart);chart._options=Object.create({},{width:{get:function(){return width;},set:function(_){width=_;}},height:{get:function(){return height;},set:function(_){height=_;}},showLegend:{get:function(){return showLegend;},set:function(_){showLegend=_;}},staggerLabels:{get:function(){return staggerLabels;},set:function(_){staggerLabels=_;}},rotateLabels:{get:function(){return rotateLabels;},set:function(_){rotateLabels=_;}},wrapLabels:{get:function(){return wrapLabels;},set:function(_){wrapLabels=!!_;}},showXAxis:{get:function(){return showXAxis;},set:function(_){showXAxis=_;}},showYAxis:{get:function(){return showYAxis;},set:function(_){showYAxis=_;}},noData:{get:function(){return noData;},set:function(_){noData=_;}},margin:{get:function(){return margin;},set:function(_){margin.top=_.top!==undefined?_.top:margin.top;margin.right=_.right!==undefined?_.right:margin.right;margin.bottom=_.bottom!==undefined?_.bottom:margin.bottom;margin.left=_.left!==undefined?_.left:margin.left;}},duration:{get:function(){return duration;},set:function(_){duration=_;renderWatch.reset(duration);discretebar.duration(duration);xAxis.duration(duration);yAxis.duration(duration);}},color:{get:function(){return color;},set:function(_){color=nv.utils.getColor(_);discretebar.color(color);legend.color(color);}},rightAlignYAxis:{get:function(){return rightAlignYAxis;},set:function(_){rightAlignYAxis=_;yAxis.orient((_)?'right':'left');}}});nv.utils.inheritOptions(chart,discretebar);nv.utils.initOptions(chart);return chart;}
2038nv.models.pieChart=function(){"use strict";var pie=nv.models.pie();var legend=nv.models.legend();var tooltip=nv.models.tooltip();var margin={top:30,right:20,bottom:20,left:20},width=null,height=null,showLegend=true,legendPosition="top",color=nv.utils.defaultColor(),state=nv.utils.state(),defaultState=null,noData=null,duration=250,dispatch=d3.dispatch('stateChange','changeState','renderEnd');tooltip.duration(0).headerEnabled(false).valueFormatter(function(d,i){return pie.valueFormat()(d,i);});var renderWatch=nv.utils.renderWatch(dispatch);var stateGetter=function(data){return function(){return{active:data.map(function(d){return!d.disabled})};}};var stateSetter=function(data){return function(state){if(state.active!==undefined){data.forEach(function(series,i){series.disabled=!state.active[i];});}}};function chart(selection){renderWatch.reset();renderWatch.models(pie);selection.each(function(data){var container=d3.select(this);nv.utils.initSVG(container);var that=this;var availableWidth=nv.utils.availableWidth(width,container,margin),availableHeight=nv.utils.availableHeight(height,container,margin);chart.update=function(){container.transition().call(chart);};chart.container=this;state.setter(stateSetter(data),chart.update).getter(stateGetter(data)).update();state.disabled=data.map(function(d){return!!d.disabled});if(!defaultState){var key;defaultState={};for(key in state){if(state[key]instanceof Array)
2039defaultState[key]=state[key].slice(0);else
2040defaultState[key]=state[key];}}
2041if(!data||!data.length){nv.utils.noData(chart,container);return chart;}else{container.selectAll('.nv-noData').remove();}
2042var wrap=container.selectAll('g.nv-wrap.nv-pieChart').data([data]);var gEnter=wrap.enter().append('g').attr('class','nvd3 nv-wrap nv-pieChart').append('g');var g=wrap.select('g');gEnter.append('g').attr('class','nv-pieWrap');gEnter.append('g').attr('class','nv-legendWrap');
2042if(!showLegend){g.select('.nv-legendWrap').selectAll('*').remove();}else{if(legendPosition==="top"){legend.width(availableWidth).key(pie.x());wrap.select('.nv-legendWrap').datum(data).call(legend);if(margin.top!=legend.height()){margin.top=legend.height();availableHeight=nv.utils.availableHeight(height,container,margin);}
2043wrap.select('.nv-legendWrap').attr('transform','translate(0,'+(-margin.top)+')');}else if(legendPosition==="right"){var legendWidth=nv.models.legend().width();if(availableWidth/2<legendWidth){legendWidth=(availableWidth/2)}
2044legend.height(availableHeight).key(pie.x());legend.width(legendWidth);availableWidth-=legend.width();wrap.select('.nv-legendWrap').datum(data).call(legend).attr('transform','translate('+(availableWidth)+',0)');}}
2045wrap.attr('transform','translate('+margin.left+','+margin.top+')');pie.width(availableWidth).height(availableHeight);var pieWrap=g.select('.nv-pieWrap').datum([data]);d3.transition(pieWrap).call(pie);legend.dispatch.on('stateChange',function(newState){for(var key in newState){state[key]=newState[key];}
2046dispatch.stateChange(state);chart.update();});dispatch.on('changeState',function(e){if(typeof e.disabled!=='undefined'){data.forEach(function(series,i){series.disabled=e.disabled[i];});state.disabled=e.disabled;}
2047chart.update();});});renderWatch.renderEnd('pieChart immediate');return chart;}
2048pie.dispatch.on('elementMouseover.tooltip',function(evt){evt['series']={key:chart.x()(evt.data),value:chart.y()(evt.data),color:evt.color};tooltip.data(evt).hidden(false);});pie.dispatch.on('elementMouseout.tooltip',function(evt){tooltip.hidden(true);});pie.dispatch.on('elementMousemove.tooltip',function(evt){tooltip();});chart.legend=legend;chart.dispatch=dispatch;chart.pie=pie;chart.tooltip=tooltip;chart.options=nv.utils.optionsFunc.bind(chart);chart._options=Object.create({},{width:{get:function(){return width;},set:function(_){width=_;}},height:{get:function(){return height;},set:function(_){height=_;}},noData:{get:function(){return noData;},set:function(_){noData=_;}},showLegend:{get:function(){return showLegend;},set:function(_){showLegend=_;}},legendPosition:{get:function(){return legendPosition;},set:function(_){legendPosition=_;}},defaultState:{get:function(){return defaultState;},set:function(_){defaultState=_;}},color:{get:function(){return color;},set:function(_){color=_;legend.color(color);pie.color(color);}},duration:{get:function(){return duration;},set:function(_){duration=_;renderWatch.reset(duration);}},margin:{get:function(){return margin;},set:function(_){margin.top=_.top!==undefined?_.top:margin.top;margin.right=_.right!==undefined?_.right:margin.right;margin.bottom=_.bottom!==undefined?_.bottom:margin.bottom;margin.left=_.left!==undefined?_.left:margin.left;}}});nv.utils.inheritOptions(chart,pie);nv.utils.initOptions(chart);return chart;};nv.models.discreteBar=function(){"use strict";var margin={top:0,right:0,bottom:0,left:0},width=960,height=500,id=Math.floor(Math.random()*10000),container,x=d3.scale.ordinal(),y=d3.scale.linear(),getX=function(d){return d.x},getY=function(d){return d.y},forceY=[0],color=nv.utils.defaultColor(),showValues=false,valueFormat=d3.format(',.2f'),xDomain,yDomain,xRange,yRange,dispatch=d3.dispatch('chartClick','elementClick','elementDblClick','elementMouseover','elementMouseout','elementMousemove','renderEnd'),rectClass='discreteBar',duration=250;var x0,y0;var renderWatch=nv.utils.renderWatch(dispatch,duration);function chart(selection){renderWatch.reset();selection.each(function(data){var availableWidth=width-margin.left-margin.right,availableHeight=height-margin.top-margin.bottom;container=d3.select(this);nv.utils.initSVG(container);data.forEach(function(series,i){series.values.forEach(function(point){point.series=i;});});var seriesData=(xDomain&&yDomain)?[]:data.map(function(d){return d.values.map(function(d,i){return{x:getX(d,i),y:getY(d,i),y0:d.y0}})});x.domain(xDomain||d3.merge(seriesData).map(function(d){return d.x})).rangeBands(xRange||[0,availableWidth],.1);y.domain(yDomain||d3.extent(d3.merge(seriesData).map(function(d){return d.y}).concat(forceY)));if(showValues)y.range(yRange||[availableHeight-(y.domain()[0]<0?12:0),y.domain()[1]>0?12:0]);else y.range(yRange||[availableHeight,0]);x0=x0||x;y0=y0||y.copy().range([y(0),y(0)]);var wrap=container.selectAll('g.nv-wrap.nv-discretebar').data([data]);var wrapEnter=wrap.enter().append('g').attr('class','nvd3 nv-wrap nv-discretebar');var gEnter=wrapEnter.append('g');var g=wrap.select('g');gEnter.append('g').attr('class','nv-groups');wrap.attr('transform','translate('+margin.left+','+margin.top+')');var groups=wrap.select('.nv-groups').selectAll('.nv-group').data(function(d){return d},function(d){return d.key});groups.enter().append('g').style('stroke-opacity',1e-6).style('fill-opacity',1e-6);groups.exit().watchTransition(renderWatch,'discreteBar: exit groups').style('stroke-opacity',1e-6).style('fill-opacity',1e-6).remove();groups.attr('class',function(d,i){return'nv-group nv-series-'+i}).classed('hover',function(d){return d.hover});groups.watchTransition(renderWatch,'discreteBar: groups').style('stroke-opacity',1).style('fill-opacity',.75);var bars=groups.selectAll('g.nv-bar').data(function(d){return d.values});bars.exit().remove();var barsEnter=bars.enter().append('g').attr('transform',function(d,i,j){return'translate('+(x(getX(d,i))+x.rangeBand()*.05)+', '+y(0)+')'}).on('mouseover',function(d,i){d3.select(this).classed('hover',true);dispatch.elementMouseover({data:d,index:i,color:d3.select(this).style("fill")});}).on('mouseout',function(d,i){d3.select(this).classed('hover',false);dispatch.elementMouseout({data:d,index:i,color:d3.select(this).style("fill")});}).on('mousemove',function(d,i){dispatch.elementMousemove({data:d,index:i,color:d3.select(this).style("fill")});}).on('click',function(d,i){var element=this;dispatch.elementClick({data:d,index:i,color:d3.select(this).style("fill"),event:d3.event,element:element});d3.event.stopPropagation();}).on('dblclick',function(d,i){dispatch.elementDblClick({data:d,index:i,color:d3.select(this).style("fill")});d3.event.stopPropagation();});barsEnter.append('rect').attr('height',0).attr('width',x.rangeBand()*.9/data.length)
2049if(showValues){barsEnter.append('text').attr('text-anchor','middle');bars.select('text').text(function(d,i){return valueFormat(getY(d,i))}).watchTransition(renderWatch,'discreteBar: bars text').attr('x',x.rangeBand()*.9/2).attr('y',function(d,i){return getY(d,i)<0?y(getY(d,i))-y(0)+12:-4});}else{bars.selectAll('text').remove();}
2050bars.attr('class',function(d,i){return getY(d,i)<0?'nv-bar negative':'nv-bar positive'}).style('fill',function(d,i){return d.color||color(d,i)}).style('stroke',function(d,i){return d.color||color(d,i)}).select('rect').attr('class',rectClass).watchTransition(renderWatch,'discreteBar: bars rect').attr('width',x.rangeBand()*.9/data.length);bars.watchTransition(renderWatch,'discreteBar: bars').attr('transform',function(d,i){var left=x(getX(d,i))+x.rangeBand()*.05,top=getY(d,i)<0?y(0):y(0)-y(getY(d,i))<1?y(0)-1:y(getY(d,i));return'translate('+left+', '+top+')'}).select('rect').attr('height',function(d,i){return Math.max(Math.abs(y(getY(d,i))-y(0)),1)});x0=x.copy();y0=y.copy();});renderWatch.renderEnd('discreteBar immediate');return chart;}
2051chart.dispatch=dispatch;chart.options=nv.utils.optionsFunc.bind(chart);chart._options=Object.create({},{width:{get:function(){return width;},set:function(_){width=_;}},height:{get:function(){return height;},set:function(_){height=_;}},forceY:{get:function(){return forceY;},set:function(_){forceY=_;}},showValues:{get:function(){return showValues;},set:function(_){showValues=_;}},x:{get:function(){return getX;},set:function(_){getX=_;}},y:{get:function(){return getY;},set:function(_){getY=_;}},xScale:{get:function(){return x;},set:function(_){x=_;}},yScale:{get:function(){return y;},set:function(_){y=_;}},xDomain:{get:function(){return xDomain;},set:function(_){xDomain=_;}},yDomain:{get:function(){return yDomain;},set:function(_){yDomain=_;}},xRange:{get:function(){return xRange;},set:function(_){xRange=_;}},yRange:{get:function(){return yRange;},set:function(_){yRange=_;}},valueFormat:{get:function(){return valueFormat;},set:function(_){valueFormat=_;}},id:{get:function(){return id;},set:function(_){id=_;}},rectClass:{get:function(){return rectClass;},set:function(_){rectClass=_;}},margin:{get:function(){return margin;},set:function(_){margin.top=_.top!==undefined?_.top:margin.top;margin.right=_.right!==undefined?_.right:margin.right;margin.bottom=_.bottom!==undefined?_.bottom:margin.bottom;margin.left=_.left!==undefined?_.left:margin.left;}},color:{get:function(){return color;},set:function(_){color=nv.utils.getColor(_);}},duration:{get:function(){return duration;},set:function(_){duration=_;renderWatch.reset(duration);}}});nv.utils.initOptions(chart);return chart;};nv.models.multiBarChart=function(){"use strict";var multibar=nv.models.multiBar(),xAxis=nv.models.axis(),yAxis=nv.models.axis(),interactiveLayer=nv.interactiveGuideline(),legend=nv.models.legend(),controls=nv.models.legend(),tooltip=nv.models.tooltip();var margin={top:30,right:20,bottom:50,left:60},width=null,height=null,color=nv.utils.defaultColor(),showControls=true,controlLabels={},showLegend=true,showXAxis=true,showYAxis=true,rightAlignYAxis=false,reduceXTicks=true,staggerLabels=false,wrapLabels=false,rotateLabels=0,x,y,state=nv.utils.state(),defaultState=null,noData=null,dispatch=d3.dispatch('stateChange','changeState','renderEnd'),controlWidth=function(){return showControls?180:0},duration=250,useInteractiveGuideline=false;state.stacked=false
2052multibar.stacked(false);xAxis.orient('bottom').tickPadding(7).showMaxMin(false).tickFormat(function(d){return d});yAxis.orient((rightAlignYAxis)?'right':'left').tickFormat(d3.format(',.1f'));tooltip.duration(0).valueFormatter(function(d,i){return yAxis.tickFormat()(d,i);}).headerFormatter(function(d,i){return xAxis.tickFormat()(d,i);});controls.updateState(false);var renderWatch=nv.utils.renderWatch(dispatch);var stacked=false;var stateGetter=function(data){return function(){return{active:data.map(function(d){return!d.disabled}),stacked:stacked};}};var stateSetter=function(data){return function(state){if(state.stacked!==undefined)
2053stacked=state.stacked;if(state.active!==undefined)
2054data.forEach(function(series,i){series.disabled=!state.active[i];});}};function chart(selection){renderWatch.reset();renderWatch.models(multibar);if(showXAxis)renderWatch.models(xAxis);if(showYAxis)renderWatch.models(yAxis);selection.each(function(data){var container=d3.select(this),that=this;nv.utils.initSVG(container);var availableWidth=nv.utils.availableWidth(width,container,margin),availableHeight=nv.utils.availableHeight(height,container,margin);chart.update=function(){if(duration===0)
2055container.call(chart);else
2056container.transition().duration(duration).call(chart);};chart.container=this;state.setter(stateSetter(data),chart.update).getter(stateGetter(data)).update();state.disabled=data.map(function(d){return!!d.disabled});if(!defaultState){var key;defaultState={};for(key in state){if(state[key]instanceof Array)
2057defaultState[key]=state[key].slice(0);else
2058defaultState[key]=state[key];}}
2059if(!data||!data.length||!data.filter(function(d){return d.values.length}).length){nv.utils.noData(chart,container)
2060return chart;}else{container.selectAll('.nv-noData').remove();}
2061x=multibar.xScale();y=multibar.yScale();var wrap=container.selectAll('g.nv-wrap.nv-multiBarWithLegend').data([data]);var gEnter=wrap.enter().append('g').attr('class','nvd3 nv-wrap nv-multiBarWithLegend').append('g');var g=wrap.select('g');gEnter.append('g').attr('class','nv-x nv-axis');gEnter.append('g').attr('class','nv-y nv-axis');gEnter.append('g').attr('class','nv-barsWrap');gEnter.append('g').attr('class','nv-legendWrap');
2061gEnter.append('g').attr('class','nv-controlsWrap');gEnter.append('g').attr('class','nv-interactive');if(!showLegend){g.select('.nv-legendWrap').selectAll('*').remove();}else{legend.width(availableWidth-controlWidth());g.select('.nv-legendWrap').datum(data).call(legend);if(margin.top!=legend.height()){margin.top=legend.height();availableHeight=nv.utils.availableHeight(height,container,margin);}
2062g.select('.nv-legendWrap').attr('transform','translate('+controlWidth()+','+(-margin.top)+')');}
2063if(!showControls){g.select('.nv-controlsWrap').selectAll('*').remove();}else{var controlsData=[{key:controlLabels.grouped||'Grouped',disabled:multibar.stacked()},{key:controlLabels.stacked||'Stacked',disabled:!multibar.stacked()}];controls.width(controlWidth()).color(['#444','#444','#444']);g.select('.nv-controlsWrap').datum(controlsData).attr('transform','translate(0,'+(-margin.top)+')').call(controls);}
2064wrap.attr('transform','translate('+margin.left+','+margin.top+')');if(rightAlignYAxis){g.select(".nv-y.nv-axis").attr("transform","translate("+availableWidth+",0)");}
2065multibar.disabled(data.map(function(series){return series.disabled})).width(availableWidth).height(availableHeight).color(data.map(function(d,i){return d.color||color(d,i);}).filter(function(d,i){return!data[i].disabled}));var barsWrap=g.select('.nv-barsWrap').datum(data.filter(function(d){return!d.disabled}));barsWrap.call(multibar);if(showXAxis){xAxis.scale(x)._ticks(nv.utils.calcTicksX(availableWidth/100,data)).tickSize(-availableHeight,0);g.select('.nv-x.nv-axis').attr('transform','translate(0,'+y.range()[0]+')');g.select('.nv-x.nv-axis').call(xAxis);var xTicks=g.select('.nv-x.nv-axis > g').selectAll('g');xTicks.selectAll('line, text').style('opacity',1)
2066if(staggerLabels){var getTranslate=function(x,y){return"translate("+x+","+y+")";};var staggerUp=5,staggerDown=17;xTicks.selectAll("text").attr('transform',function(d,i,j){return getTranslate(0,(j%2==0?staggerUp:staggerDown));});var totalInBetweenTicks=d3.selectAll(".nv-x.nv-axis .nv-wrap g g text")[0].length;g.selectAll(".nv-x.nv-axis .nv-axisMaxMin text").attr("transform",function(d,i){return getTranslate(0,(i===0||totalInBetweenTicks%2!==0)?staggerDown:staggerUp);});}
2067if(wrapLabels){g.selectAll('.tick text').call(nv.utils.wrapTicks,chart.xAxis.rangeBand())}
2068if(reduceXTicks)
2069xTicks.filter(function(d,i){return i%Math.ceil(data[0].values.length/(availableWidth/100))!==0;}).selectAll('text, line').style('opacity',0);if(rotateLabels)
2070xTicks.selectAll('.tick text').attr('transform','rotate('+rotateLabels+' 0,0)').style('text-anchor',rotateLabels>0?'start':'end');g.select('.nv-x.nv-axis').selectAll('g.nv-axisMaxMin text').style('opacity',1);}
2071if(showYAxis){yAxis.scale(y)._ticks(nv.utils.calcTicksY(availableHeight/36,data)).tickSize(-availableWidth,0);g.select('.nv-y.nv-axis').call(yAxis);}
2072if(useInteractiveGuideline){interactiveLayer.width(availableWidth).height(availableHeight).margin({left:margin.left,top:margin.top}).svgContainer(container).xScale(x);wrap.select(".nv-interactive").call(interactiveLayer);}
2073legend.dispatch.on('stateChange',function(newState){for(var key in newState)
2074state[key]=newState[key];dispatch.stateChange(state);chart.update();});controls.dispatch.on('legendClick',function(d,i){if(!d.disabled)return;controlsData=controlsData.map(function(s){s.disabled=true;return s;});d.disabled=false;switch(d.key){case'Grouped':case controlLabels.grouped:multibar.stacked(false);break;case'Stacked':case controlLabels.stacked:multibar.stacked(true);break;}
2075state.stacked=multibar.stacked();dispatch.stateChange(state);chart.update();});dispatch.on('changeState',function(e){if(typeof e.disabled!=='undefined'){data.forEach(function(series,i){series.disabled=e.disabled[i];});state.disabled=e.disabled;}
2076if(typeof e.stacked!=='undefined'){multibar.stacked(e.stacked);state.stacked=e.stacked;stacked=e.stacked;}
2077chart.update();});if(useInteractiveGuideline){interactiveLayer.dispatch.on('elementMousemove',function(e){if(e.pointXValue==undefined)return;var singlePoint,pointIndex,pointXLocation,xValue,allData=[];data.filter(function(series,i){series.seriesIndex=i;return!series.disabled;}
2077).forEach(function(series,i){pointIndex=x.domain().indexOf(e.pointXValue)
2078var point=series.values[pointIndex];if(point===undefined)return;xValue=point.x;if(singlePoint===undefined)singlePoint=point;if(pointXLocation===undefined)pointXLocation=e.mouseX
2079allData.push({key:series.key,value:chart.y()(point,pointIndex),color:color(series,series.seriesIndex),data:series.values[pointIndex]});});interactiveLayer.tooltip.chartContainer(that.parentNode).data({value:xValue,index:pointIndex,series:allData})();interactiveLayer.renderGuideLine(pointXLocation);});interactiveLayer.dispatch.on("elementMouseout",function(e){interactiveLayer.tooltip.hidden(true);});}
2080else{multibar.dispatch.on('elementMouseover.tooltip',function(evt){evt.value=chart.x()(evt.data);evt['series']={key:evt.data.key,value:chart.y()(evt.data),color:evt.color};tooltip.data(evt).hidden(false);});multibar.dispatch.on('elementMouseout.tooltip',function(evt){tooltip.hidden(true);});multibar.dispatch.on('elementMousemove.tooltip',function(evt){tooltip();});}});renderWatch.renderEnd('multibarchart immediate');return chart;}
2081chart.dispatch=dispatch;chart.multibar=multibar;chart.legend=legend;chart.controls=controls;chart.xAxis=xAxis;chart.yAxis=yAxis;chart.state=state;chart.tooltip=tooltip;chart.interactiveLayer=interactiveLayer;chart.options=nv.utils.optionsFunc.bind(chart);chart._options=Object.create({},{width:{get:function(){return width;},set:function(_){width=_;}},height:{get:function(){return height;},set:function(_){height=_;}},showLegend:{get:function(){return showLegend;},set:function(_){showLegend=_;}},showControls:{get:function(){return showControls;},set:function(_){showControls=_;}},controlLabels:{get:function(){return controlLabels;},set:function(_){controlLabels=_;}},showXAxis:{get:function(){return showXAxis;},set:function(_){showXAxis=_;}},showYAxis:{get:function(){return showYAxis;},set:function(_){showYAxis=_;}},defaultState:{get:function(){return defaultState;},set:function(_){defaultState=_;}},noData:{get:function(){return noData;},set:function(_){noData=_;}},reduceXTicks:{get:function(){return reduceXTicks;},set:function(_){reduceXTicks=_;}},rotateLabels:{get:function(){return rotateLabels;},set:function(_){rotateLabels=_;}},staggerLabels:{get:function(){return staggerLabels;},set:function(_){staggerLabels=_;}},wrapLabels:{get:function(){return wrapLabels;},set:function(_){wrapLabels=!!_;}},margin:{get:function(){return margin;},set:function(_){margin.top=_.top!==undefined?_.top:margin.top;margin.right=_.right!==undefined?_.right:margin.right;margin.bottom=_.bottom!==undefined?_.bottom:margin.bottom;margin.left=_.left!==undefined?_.left:margin.left;}},duration:{get:function(){return duration;},set:function(_){duration=_;multibar.duration(duration);xAxis.duration(duration);yAxis.duration(duration);renderWatch.reset(duration);}},color:{get:function(){return color;},set:function(_){color=nv.utils.getColor(_);legend.color(color);}},rightAlignYAxis:{get:function(){return rightAlignYAxis;},set:function(_){rightAlignYAxis=_;yAxis.orient(rightAlignYAxis?'right':'left');}},useInteractiveGuideline:{get:function(){return useInteractiveGuideline;},set:function(_){useInteractiveGuideline=_;}},barColor:{get:function(){return multibar.barColor;},set:function(_){multibar.barColor(_);legend.color(function(d,i){return d3.rgb('#ccc').darker(i*1.5).toString();})}}});nv.utils.inheritOptions(chart,multibar);nv.utils.initOptions(chart);return chart;};nv.models.pie=function(){"use strict";var margin={top:0,right:0,bottom:0,left:0},width=500,height=500,getX=function(d){return d.x},getY=function(d){return d.y},id=Math.floor(Math.random()*10000),container=null,color=nv.utils.defaultColor(),valueFormat=d3.format(',.2f'),showLabels=true,labelsOutside=false,labelType="key",labelThreshold=.02,donut=false,title=false,growOnHover=true,titleOffset=0,labelSunbeamLayout=false,startAngle=false,padAngle=false,endAngle=false,cornerRadius=0,donutRatio=0.5,arcsRadius=[],dispatch=d3.dispatch('chartClick','elementClick','elementDblClick','elementMouseover','elementMouseout','elementMousemove','renderEnd');var arcs=[];var arcsOver=[];var renderWatch=nv.utils.renderWatch(dispatch);function chart(selection){renderWatch.reset();selection.each(function(data){var availableWidth=width-margin.left-margin.r
2081ight,availableHeight=height-margin.top-margin.bottom,radius=Math.min(availableWidth,availableHeight)/2,arcsRadiusOuter=[],arcsRadiusInner=[];container=d3.select(this)
2082if(arcsRadius.length===0){var outer=radius-radius/5;var inner=donutRatio*radius;for(var i=0;i<data[0].length;i++){arcsRadiusOuter.push(outer);arcsRadiusInner.push(inner);}}else{if(growOnHover){arcsRadiusOuter=arcsRadius.map(function(d){return(d.outer-d.outer/5)*radius;});arcsRadiusInner=arcsRadius.map(function(d){return(d.inner-d.inner/5)*radius;});donutRatio=d3.min(arcsRadius.map(function(d){return(d.inner-d.inner/5);}));}else{arcsRadiusOuter=arcsRadius.map(function(d){return d.outer*radius;});arcsRadiusInner=arcsRadius.map(function(d){return d.inner*radius;});donutRatio=d3.min(arcsRadius.map(function(d){return d.inner;}));}}
2083nv.utils.initSVG(container);var wrap=container.selectAll('.nv-wrap.nv-pie').data(data);var wrapEnter=wrap.enter().append('g').attr('class','nvd3 nv-wrap nv-pie nv-chart-'+id);var gEnter=wrapEnter.append('g');var g=wrap.select('g');var g_pie=gEnter.append('g').attr('class','nv-pie');gEnter.append('g').attr('class','nv-pieLabels');wrap.attr('transform','translate('+margin.left+','+margin.top+')');g.select('.nv-pie').attr('transform','translate('+availableWidth/2+','+availableHeight/2+')');g.select('.nv-pieLabels').attr('transform','translate('+availableWidth/2+','+availableHeight/2+')');container.on('click',function(d,i){dispatch.chartClick({data:d,index:i,pos:d3.event,id:id});});arcs=[];arcsOver=[];for(var i=0;i<data[0].length;i++){var arc=d3.svg.arc().outerRadius(arcsRadiusOuter[i]);var arcOver=d3.svg.arc().outerRadius(arcsRadiusOuter[i]+5);if(startAngle!==false){arc.startAngle(startAngle);arcOver.startAngle(startAngle);}
2084if(endAngle!==false){arc.endAngle(endAngle);arcOver.endAngle(endAngle);}
2085if(donut){arc.innerRadius(arcsRadiusInner[i]);arcOver.innerRadius(arcsRadiusInner[i]);}
2086if(arc.cornerRadius&&cornerRadius){arc.cornerRadius(cornerRadius);arcOver.cornerRadius(cornerRadius);}
2087arcs.push(arc);arcsOver.push(arcOver);}
2088var pie=d3.layout.pie().sort(null).value(function(d){return d.disabled?0:getY(d)});if(pie.padAngle&&padAngle){pie.padAngle(padAngle);}
2089if(donut&&title){g_pie.append("text").attr('class','nv-pie-title');wrap.select('.nv-pie-title').style("text-anchor","middle").text(function(d){return title;}).style("font-size",(Math.min(availableWidth,availableHeight))*donutRatio*2/(title.length+2)+"px").attr("dy","0.35em").attr('transform',function(d,i){return'translate(0, '+titleOffset+')';});}
2090var slices=wrap.select('.nv-pie').selectAll('.nv-slice').data(pie);var pieLabels=wrap.select('.nv-pieLabels').selectAll('.nv-label').data(pie);slices.exit().remove();pieLabels.exit().remove();var ae=slices.enter().append('g');ae.attr('class','nv-slice');ae.on('mouseover',function(d,i){d3.select(this).classed('hover',true);if(growOnHover){d3.select(this).select("path").transition().duration(70).attr("d",arcsOver[i]);}
2091dispatch.elementMouseover({data:d.data,index:i,color:d3.select(this).style("fill")});});ae.on('mouseout',function(d,i){d3.select(this).classed('hover',false);if(growOnHover){d3.select(this).select("path").transition().duration(50).attr("d",arcs[i]);}
2092dispatch.elementMouseout({data:d.data,index:i});});ae.on('mousemove',function(d,i){dispatch.elementMousemove({data:d.data,index:i});});ae.on('click',function(d,i){var element=this;dispatch.elementClick({data:d.data,index:i,color:d3.select(this).style("fill"),event:d3.event,element:element});});ae.on('dblclick',function(d,i){dispatch.elementDblClick({data:d.data,index:i,color:d3.select(this).style("fill")});});slices.attr('fill',function(d,i){return color(d.data,i);});slices.attr('stroke',function(d,i){return color(d.data,i);});var paths=ae.append('path').each(function(d){this._current=d;});slices.select('path').transition().attr('d',function(d,i){return arcs[i](d);}).attrTween('d',arcTween);if(showLabels){var labelsArc=[];for(var i=0;i<data[0].length;i++){labelsArc.push(arcs[i]);if(labelsOutside){if(donut){labelsArc[i]=d3.svg.arc().outerRadius(arcs[i].outerRadius());if(startAngle!==false)labelsArc[i].startAngle(startAngle);if(endAngle!==false)labelsArc[i].endAngle(endAngle);}}else if(!donut){labelsArc[i].innerRadius(0);}}
2093pieLabels.enter().append("g").classed("nv-label",true).each(function(d,i){var group=d3.select(this);group.attr('transform',function(d,i){if(labelSunbeamLayout){d.outerRadius=arcsRadiusOuter[i]+10;d.innerRadius=arcsRadiusOuter[i]+15;var rotateAngle=(d.startAngle+d.endAngle)/2*(180/Math.PI);if((d.startAngle+d.endAngle)/2<Math.PI){rotateAngle-=90;}else{rotateAngle+=90;}
2094return'translate('+labelsArc[i].centroid(d)+') rotate('+rotateAngle+')';}else{d.outerRadius=radius+10;d.innerRadius=radius+15;return'translate('+labelsArc[i].centroid(d)+')'}});group.append('rect').style('stroke','#fff').style('fill','#fff').attr("rx",3).attr("ry",3);group.append('text').style('text-anchor',labelSunbeamLayout?((d.startAngle+d.endAngle)/2<Math.PI?'start':'end'):'middle').style('fill','#000')});var labelLocationHash={};var avgHeight=14;var avgWidth=140;var createHashKey=function(coordinates){return Math.floor(coordinates[0]/avgWidth)*avgWidth+','+Math.floor(coordinates[1]/avgHeight)*avgHeight;};var getSlicePercentage=function(d){return(d.endAngle-d.startAngle)/(2*Math.PI);};pieLabels.watchTransition(renderWatch,'pie labels').attr('transform',function(d,i){if(labelSunbeamLayout){d.outerRadius=arcsRadiusOuter[i]+10;d.innerRadius=arcsRadiusOuter[i]+15;var rotateAngle=(d.startAngle+d.endAngle)/2*(180/Math.PI);if((d.startAngle+d.endAngle)/2<Math.PI){rotateAngle-=90;}else{rotateAngle+=90;}
2095return'translate('+labelsArc[i].centroid(d)+') rotate('+rotateAngle+')';}else{d.outerRadius=radius+10;d.innerRadius=radius+15;var center=labelsArc[i].centroid(d);var percent=getSlicePercentage(d);if(d.value&&percent>=labelThreshold){var hashKey=createHashKey(center);if(labelLocationHash[hashKey]){center[1]-=avgHeight;}
2096labelLocationHash[createHashKey(center)]=true;}
2097return'translate('+center+')'}});pieLabels.select(".nv-label text").style('text-anchor',function(d,i){return labelSunbeamLayout?((d.startAngle+d.endAngle)/2<Math.PI?'start':'end'):'middle';}).text(function(d,i){var percent=getSlicePercentage(d);var label='';if(!d.value||percent<labelThreshold)return'';if(typeof labelType==='function'){label=labelType(d,i,{'key':getX(d.data),'value':getY(d.data),'percent':valueFormat(percent)});}else{switch(labelType){case'key':label=getX(d.data);break;case'value':label=valueFormat(getY(d.data));break;case'percent':label=d3.format('%')(percent);break;}}
2098return label;});}
2099function angle(d){var a=(d.startAngle+d.endAngle)*90/Math.PI-90;return a>90?a-180:a;}
2100function arcTween(a,idx){a.endAngle=isNaN(a.endAngle)?0:a.endAngle;a.startAngle=isNaN(a.startAngle)?0:a.startAngle;if(!donut)a.innerRadius=0;var i=d3.interpolate(this._current,a);this._current=i(0);return function(t){return arcs[idx](i(t));};}});renderWatch.renderEnd('pie immediate');return chart;}
2101chart.dispatch=dispatch;chart.options=nv.utils.optionsFunc.bind(chart);chart._options=Object.create({},{arcsRadius:{get:function(){return arcsRadius;},set:function(_){arcsRadius=_;}},width:{get:function(){return width;},set:function(_){width=_;}},height:{get:function(){return height;},set:function(_){height=_;}},showLabels:{get:function(){return showLabels;},set:function(_){showLabels=_;}},title:{get:function(){return title;},set:function(_){title=_;}},titleOffset:{get:function(){return titleOffset;},set:function(_){titleOffset=_;}},labelThreshold:{get:function(){return labelThreshold;},set:function(_){labelThreshold=_;}},valueFormat:{get:function(){return valueFormat;},set:function(_){valueFormat=_;}},x:{get:function(){return getX;},set:function(_){getX=_;}},id:{get:function(){return id;},set:function(_){id=_;}},endAngle:{get:function(){return endAngle;},set:function(_){endAngle=_;}},startAngle:{get:function(){return startAngle;},set:function(_){startAngle=_;}},padAngle:{get:function(){return padAngle;},set:function(_){padAngle=_;}},cornerRadius:{get:function(){return cornerRadius;},set:function(_){cornerRadius=_;}},donutRatio:{get:function(){return donutRatio;},set:function(_){donutRatio=_;}},labelsOutside:{get:function(){return labelsOutside;},set:function(_){labelsOutside=_;}},labelSunbeamLayout:{get:function(){return labelSunbeamLayout;},set:function(_){labelSunbeamLayout=_;}},donut:{get:function(){return donut;},set:function(_){donut=_;}},growOnHover:{get:function(){return growOnHover;},set:function(_){growOnHover=_;}},pieLabelsOutside:{get:function(){return labelsOutside;},set:function(_){labelsOutside=_;nv.deprecated('pieLabelsOutside','use labelsOutside instead');}},donutLabelsOutside:{get:function(){return labelsOutside;},set:function(_){labelsOutside=_;nv.deprecated('donutLabelsOutside','use labelsOutside instead');}},labelFormat:{get:function(){return valueFormat;},set:function(_){valueFormat=_;nv.deprecated('labelFormat','use valueFormat instead');}},margin:{get:function(){return margin;},set:function(_){margin.top=typeof _.top!='undefined'?_.top:margin.top;margin.right=typeof _.right!='undefined'?_.right:margin.right;margin.bottom=typeof _.bottom!='undefined'?_.bottom:margin.bottom;margin.left=typeof _.left!='undefined'?_.left:margin.left;}},y:{get:function(){return getY;},set:function(_){getY=d3.functor(_);}},color:{get:function(){return color;},set:function(_){color=nv.utils.getColor(_);}},labelType:{get:function(){return labelType;},set:function(_){labelType=_||'key';}}});nv.utils.initOptions(chart);return chart;};nv.version="1.8.2-dev";})();;
2102
2103/* /survey/static/src/js/survey_result.js defined in bundle 'web.assets_frontend' */
2104odoo.define('survey.result',function(require){'use strict';require('web.dom_ready');if(!$('.js_surveyresult').length){return $.Deferred().reject("DOM doesn't contain '.js_surveyresult'");}
2105console.debug("[survey] Survey Result JS is loading...");var survey_pagination=$('.pagination');$.each(survey_pagination,function(index,pagination){var question_id=$(pagination).attr("data-question_id");var limit=$(pagination).attr("data-record_limit");$('#table_question_'+question_id+' tbody tr:lt('+limit+')').removeClass('d-none');$('#pagination_'+question_id+' li a').click(function(event){event.preventDefault();$('#pagination_'+question_id+' li').removeClass('active');$(this).parent('li').addClass('active');$('#table_question_'+question_id+' tbody tr').addClass('d-none');var num=$(this).text();var min=(limit*(num-1))-1;if(min==-1){$('#table_question_'+question_id+' tbody tr:lt('+limit*num+')').removeClass('d-none');}
2106else{$('#table_question_'+question_id+' tbody tr:lt('+limit*num+'):gt('+min+')').removeClass('d-none');}});$('#pagination_'+question_id+' li:first').addClass('active').find('a').click();});function init_multibar_chart(){var chart=nv.models.multiBarChart().x(function(d){return d.text;}).y(function(d){return d.count;}).staggerLabels(true);chart.tooltip(function(key,x,y,e){return'<h5 class="bg-primary text-white"><div class="card-header">'+x+'</div></h5>'+'<p>'+'<b>Responses : </b>'+key+'</p>'+'<p>'+"<b>Total Vote : </b>"+y+'</p>';});return chart;}
2107function init_bar_chart(){var chart=nv.models.discreteBarChart().x(function(d){return d.text;}).y(function(d){return d.count;}).staggerLabels(true).showValues(true);chart.tooltip.enabled(false);return chart;}
2108function init_pie_chart(){return nv.models.pieChart().x(function(d){return d.text;}).y(function(d){return d.count;}).showLabels(false);}
2109function load_chart(chart,response,question_id,tick_limit,graph_type){var customtick_function=function(d){if(!this||d.length<=tick_limit){return d;}
2110else{return d.slice(0,tick_limit)+'...';}};if(graph_type!='pie'){chart.xAxis.tickFormat(customtick_function);chart.yAxis.tickFormat(d3.format('d'));}
2111d3.select('#graph_question_'+question_id+' svg').datum(response).transition().duration(500).call(chart);nv.utils.windowResize(chart.update);return chart;}
2112var survey_graphs=$('.survey_graph');$.each(survey_graphs,function(index,graph){var question_id=$(graph).attr("data-question_id");var graph_type=$(graph).attr("data-graph_type");var graph_data=JSON.parse($(graph).attr("graph-data"));if(graph_type=='multi_bar'){nv.addGraph(function(){var chart=init_multibar_chart();return load_chart(chart,graph_data,question_id,25);});}
2113else if(graph_type=='bar'){nv.addGraph(function(){var chart=init_bar_chart();return load_chart(chart,graph_data,question_id,35);});}
2114else if(graph_type=='pie'){nv.addGraph(function(){var chart=init_pie_chart();return load_chart(chart,graph_data,question_id,25,'pie');});}});$('td.survey_answer').hover(function(){$(this).find('i.fa-filter').removeClass('invisible');},function(){$(this).find('i.fa-filter').addClass('invisible');});$('td.survey_answer i.fa-filter').click(function(){var cell=$(this);var row_id=cell.attr('data-row_id')|0;var answer_id=cell.attr('data-answer_id');if(document.URL.indexOf("?")==-1){window.location.href=document.URL+'?'+encodeURI(row_id+','+answer_id);}
2115else{window.location.href=document.URL+'&'+encodeURI(row_id+','+answer_id);}});$('.clear_survey_filter').click(function(){window.location.href=document.URL.substring(0,document.URL.indexOf("?"));});$('span.filter-all').click(function(){event.preventDefault();if(document.URL.indexOf("finished")!=-1){window.location.href=document.URL.replace('?finished&','?').replace('&finished&','&').replace('?finished','').replace('&finished','');}}).hover(function(){if(document.URL.indexOf("finished")==-1){$(this)[0].style.cursor='default';}});$('span.filter-finished').click(function(){event.preventDefault();if(document.URL.indexOf("?")==-1){window.location.href=document.URL+'?'+encodeURI('finished');}
2116else if(document.URL.indexOf("finished")==-1){window.location.href=document.URL+'&'+encodeURI('finished');}}).hover(function(){if(document.URL.indexOf("finished")!=-1){$(this)[0].style.cursor='default';}});console.debug("[survey] Survey Result JS loaded!");});;
2117
2118/* /survey/static/src/js/survey.js defined in bundle 'web.assets_frontend' */
2119odoo.define('survey.survey',function(require){'use strict';require('web.dom_ready');var core=require('web.core');var time=require('web.time');var ajax=require('web.ajax');var base=require('web_editor.base');var context=require('web_editor.context');var field_utils=require('web.field_utils');var _t=core._t;var the_form=$('.js_surveyform');if(!the_form.length){return $.Deferred().reject("DOM doesn't contain '.js_surveyform'");}
2120console.debug("[survey] Custom JS for survey is loading...");var prefill_controller=the_form.attr("data-prefill");var submit_controller=the_form.attr("data-submit");var scores_controller=the_form.attr("data-scores");var print_mode=false;var quiz_correction_mode=false;if(_.isUndefined(submit_controller)){$(".js_surveyform .input-group-text span.fa-calendar").
2120css("pointer-events","none");$('.js_surveyform :input').prop('disabled',true);print_mode=true;}
2121if(!_.isUndefined(scores_controller)){quiz_correction_mode=true;}
2122$('.js_comments>input[type="text"]').focusin(function(){$(this).prev().find('>input').attr("checked","checked");});$('.js_radio input[type="radio"][data-oe-survey-otherr!="1"]').click(function(){$(this).closest('.js_radio').find('.js_comments>input[type="text"]').val("");});$('.js_comments input[type="radio"]').click(function(){$(this).closest('.js_comments').find('>input[data-oe-survey-othert="1"]').focus();});$('.js_drop input[data-oe-survey-othert="1"]').hide();$('.js_drop select').change(function(){var other_val=$(this).find('.js_other_option').val();if($(this).val()===other_val){$(this).parent().removeClass('col-lg-12').addClass('col-lg-6');$(this).closest('.js_drop').find('input[data-oe-survey-othert="1"]').show().focus();}
2123else{$(this).parent().removeClass('col-lg-6').addClass('col-lg-12');$(this).closest('.js_drop').find('input[data-oe-survey-othert="1"]').val("").hide();}});$('.js_ck_comments>input[type="text"]').focusin(function(){$(this).prev().find('>input').attr("checked","checked");});$('.js_ck_comments input[type="checkbox"]').change(function(){if(!$(this).prop("checked")){$(this).closest('.js_ck_comments').find('input[type="text"]').val("");}});function prefill(){if(!_.isUndefined(prefill_controller)){var prefill_def=$.ajax(prefill_controller,{dataType:"json"}).done(function(json_data){_.each(json_data,function(value,key){var input=the_form.find(".form-control[name="+key+"]");if(input.attr('date')){var moment_date=field_utils.parse.date(value[0]);value=field_utils.format.date(moment_date,null,{timezone:true});}
2124input.val(value);if(_.string.endsWith(key,"_comment")&&(input.parent().hasClass("js_comments")||input.parent().hasClass("js_ck_comments"))){input.siblings().find('>input').attr("checked","checked");}
2125the_form.find("input[name^='"+key+"_'][type='checkbox']").each(function(){$(this).val(value);});the_form.find("input[name="+key+"][type!='text']").each(function(){$(this).val(value);});});}).fail(function(){console.warn("[survey] Unable to load prefill data");});return prefill_def;}}
2126function display_scores(){if(!_.isUndefined(scores_controller)){var score_def=$.ajax(scores_controller,{dataType:"json"}).done(function(json_data){_.each(json_data,function(value,key){the_form.find("span[data-score-question="+key+"]").text("Your score: "+value);});}).fail(function(){console.warn("[survey] Unable to load score data");});return score_def;}}
2127$('.js_surveyform').ajaxForm({url:submit_controller,type:'POST',dataType:'json',beforeSubmit:function(formData,$form,options){var date_fields=$form.find('div.date > input.form-control');for(var i=0;i<date_fields.length;i++){var el=date_fields[i];var moment_date=el.value!==''?field_utils.parse.date(el.value):'';if(moment_date){moment_date.toJSON=function(){return this.clone().locale('en').format('YYYY-MM-DD');};}
2128var field_obj=_.findWhere(formData,{'name':el.name});field_obj.value=JSON.parse(JSON.stringify(moment_date));}
2129$('.js_errzone').html("").hide();},success:function(response,status,xhr,wfe){if(_.has(response,'errors')){_.each(_.keys(response.errors),function(key){$("#"+key+'>.js_errzone').append($('<p>',{'text':response.errors[key]})).show();});return false;}
2130else if(_.has(response,'redirect')){window.location.replace(response.redirect);return true;}
2131else{console.error("Incorrect answer sent by server");return false;}},timeout:5000,error:function(jqXHR,textStatus,errorThrown){$('#AJAXErrorModal').modal('show');}});function load_locale(){var url="/web/webclient/locale/"+context.get().lang||'en_US';return ajax.loadJS(url);}
2132var ready_with_locale=$.when(base.ready(),load_locale());ready_with_locale.then(function(){_.each($('.input-group.date'),function(date_field){var minDate=$(date_field).data('mindate')||moment({y:1900});var maxDate=$(date_field).data('maxdate')||moment().add(200,"y");$('#'+date_field.id).datetimepicker({format:time.getLangDateFormat(),minDate:minDate,maxDate:maxDate,calendarWeeks:true,icons:{time:'fa fa-clock-o',date:'fa fa-calendar',next:'fa fa-chevron-right',previous:'fa fa-chevron-left',up:'fa fa-chevron-up',down:'fa fa-chevron-down',},locale:moment.locale(),allowInputToggle:true,keyBinds:null,});});prefill();if(quiz_correction_mode===true){display_scores();}});console.debug("[survey] Custom JS for survey loaded!");});;
2133
2134/* /web/static/src/js/fields/field_utils.js defined in bundle 'web.assets_frontend' */
2135odoo.define('web.field_utils',function(require){"use strict";var core=require('web.core');var dom=require('web.dom');var session=require('web.session');var time=require('web.time');var utils=require('web.utils');var _t=core._t;function formatBinary(value,field,options){if(!value){return'';}
2136return utils.binaryToBinsize(value);}
2137function formatBoolean(value,field,options){if(options&&options.forceString){return value?_t('True'):_t('False');}
2138return dom.renderCheckbox({prop:{checked:value,disabled:true,},});}
2139function formatChar(value,field,options){value=typeof value==='string'?value:'';if(options&&options.isPassword){return _.str.repeat('*',value?value.length:0);}
2140if(options&&options.escape){value=_.escape(value);}
2141return value;}
2142function formatDate(value,field,options){if(value===false){return"";}
2143if(field&&field.type==='datetime'){if(!options||!('timezone'in options)||options.timezone){value=value.clone().add(session.getTZOffset(value),'minutes');}}
2144var date_format=time.getLangDateFormat();return value.format(date_format);}
2145function formatDateTime(value,field,options){if(value===false){return"";}
2146if(!options||!('timezone'in options)||options.timezone){value=value.clone().add(session.getTZOffset(value),'minutes');}
2147return value.format(time.getLangDatetimeFormat());}
2148function formatFloat(value,field,options){options=options||{};if(value===false){return"";}
2149if(options.humanReadable&&options.humanReadable(value)){return utils.human_number(value,options.decimals,options.minDigits,options.formatterCallback);}
2150var l10n=core._t.database.parameters;var precision;if(options.digits){precision=options.digits[1];}else if(field&&field.digits){precision=field.digits[1];}else{precision=2;}
2151var formatted=_.str.sprintf('%.'+precision+'f',value||0).split('.');formatted[0]=utils.insert_thousand_seps(formatted[0]);return formatted.join(l10n.decimal_point);}
2152function formatFloatFactor(value,field,options){var factor=options.factor||1;return formatFloat(value*factor,field,options);}
2153function formatFloatTime(value){var pattern='%02d:%02d';if(value<0){value=Math.abs(value);pattern='-'+pattern;}
2154var hour=Math.floor(value);var min=Math.round((value%1)*60);if(min===60){min=0;hour=hour+1;}
2155return _.str.sprintf(pattern,hour,min);}
2156function formatInteger(value,field,options){options=options||{};if(options.isPassword){return _.str.repeat('*',String(value).length);}
2157if(!value&&value!==0){return"";}
2158if(options.humanReadable&&options.humanReadable(value)){return utils.human_number(value,options.decimals,options.minDigits,options.formatterCallback);}
2159return utils.insert_thousand_seps(_.str.sprintf('%d',value));}
2160function formatMany2one(value,field,options){if(!value){value='';}else if(_.isArray(value)){value=value[1];}else{while(value.data){value=value.data.display_name||'';}}
2161if(options&&options.escape){value=_.escape(value);}
2162return value;}
2163function formatX2Many(value){if(value.data.length===0){return _t('No records');}else if(value.data.length===1){return _t('1 record');}else{return value.data.length+_t(' records');}}
2164function formatMonetary(value,field,options){if(value===false){return"";}
2165options=options||{};var currency=options.currency;
2165if(!currency){var currency_id=options.currency_id;if(!currency_id&&options.data){var currency_field=options.currency_field||field.currency_field||'currency_id';currency_id=options.data[currency_field]&&options.data[currency_field].res_id;}
2166currency=session.get_currency(currency_id);}
2167var digits=(currency&&currency.digits)||options.digits;if(options.field_digits===true){digits=field.digits||digits;}
2168var formatted_value=formatFloat(value,field,_.extend({},options,{digits:digits}));if(!currency||options.noSymbol){return formatted_value;}
2169if(currency.position==="after"){return formatted_value+='&nbsp;'+currency.symbol;}else{return currency.symbol+'&nbsp;'+formatted_value;}}
2170function formatPercentage(value,field,options){options=options||{};var result=formatFloat(value*100,field,options)||'0';if(options.humanReadable&&options.humanReadable(value*100)){return result+"%";}
2171return(parseFloat(result)+"%").replace('.',_t.database.parameters.decimal_point);}
2172function formatSelection(value,field,options){var val=_.find(field.selection,function(option){return option[0]===value;});if(!val){return'';}
2173value=val[1];if(options&&options.escape){value=_.escape(value);}
2174return value;}
2175function parseDate(value,field,options){if(!value){return false;}
2176var datePattern=time.getLangDateFormat();var datePatternWoZero=datePattern.replace('MM','M').replace('DD','D');var date;if(options&&options.isUTC){date=moment.utc(value);}else{date=moment.utc(value,[datePattern,datePatternWoZero,moment.ISO_8601]);}
2177if(date.isValid()){if(date.year()===0){date.year(moment.utc().year());}
2178if(date.year()>=1900){date.toJSON=function(){return this.clone().locale('en').format('YYYY-MM-DD');};return date;}}
2179throw new Error(_.str.sprintf(core._t("'%s' is not a correct date"),value));}
2180function parseDateTime(value,field,options){if(!value){return false;}
2181var datePattern=time.getLangDateFormat(),timePattern=time.getLangTimeFormat();var datePatternWoZero=datePattern.replace('MM','M').replace('DD','D'),timePatternWoZero=timePattern.replace('HH','H').replace('mm','m').replace('ss','s');var pattern1=datePattern+' '+timePattern;var pattern2=datePatternWoZero+' '+timePatternWoZero;var datetime;if(options&&options.isUTC){datetime=moment.utc(value.replace(' ','T')+'Z');}else{datetime=moment.utc(value,[pattern1,pattern2,moment.ISO_8601]);if(options&&options.timezone){datetime.add(-session.getTZOffset(datetime),'minutes');}}
2182if(datetime.isValid()){if(datetime.year()===0){datetime.year(moment.utc().year());}
2183if(datetime.year()>=1900){datetime.toJSON=function(){return this.clone().locale('en').format('YYYY-MM-DD HH:mm:ss');};return datetime;}}
2184throw new Error(_.str.sprintf(core._t("'%s' is not a correct datetime"),value));}
2185function parseNumber(value){if(core._t.database.parameters.thousands_sep){var escapedSep=_.str.escapeRegExp(core._t.database.parameters.thousands_sep);value=value.replace(new RegExp(escapedSep,'g'),'');}
2186if(core._t.database.parameters.decimal_point){value=value.replace(core._t.database.parameters.decimal_point,'.');}
2187return Number(value);}
2188function parseFloat(value){var parsed=parseNumber(value);if(isNaN(parsed)){throw new Error(_.str.sprintf(core._t("'%s' is not a correct float"),value));}
2189return parsed;}
2190function parseMonetary(value,field,options){var values=value.split('&nbsp;');if(values.length===1){return parseFloat(value);}
2191else if(values.length!==2){throw new Error(_.str.sprintf(core._t("'%s' is not a correct monetary field"),value));}
2192options=options||{};var currency=options.currency;
2192if(!currency){var currency_id=options.currency_id;if(!currency_id&&options.data){var currency_field=options.currency_field||field.currency_field||'currency_id';currency_id=options.data[currency_field]&&options.data[currency_field].res_id;}
2193currency=session.get_currency(currency_id);}
2194return parseFloat(values[0]===currency.symbol?values[1]:values[0]);}
2195function parseFloatFactor(value,field,options){var parsed=parseFloat(value);var factor=options.factor||1.0;return parsed/factor;}
2196function parseFloatTime(value){var factor=1;if(value[0]==='-'){value=value.slice(1);factor=-1;}
2197var float_time_pair=value.split(":");if(float_time_pair.length!==2)
2198return factor*parseFloat(value);var hours=parseInteger(float_time_pair[0]);var minutes=parseInteger(float_time_pair[1]);return factor*(hours+(minutes/60));}
2199function parsePercentage(value){if(value.slice(-1)==='%'){return parseFloat(value.slice(0,-1))/100;}
2200return parseFloat(value);}
2201function parseInteger(value){var parsed=parseNumber(value);if(isNaN(parsed)||parsed%1||parsed<-2147483648||parsed>2147483647){throw new Error(_.str.sprintf(core._t("'%s' is not a correct integer"),value));}
2202return parsed;}
2203function parseMany2one(value){if(_.isArray(value)){return{id:value[0],display_name:value[1],};}
2204if(_.isNumber(value)||_.isString(value)){return{id:parseInt(value,10),};}
2205return value;}
2206return{format:{binary:formatBinary,boolean:formatBoolean,char:formatChar,date:formatDate,datetime:formatDateTime,float:formatFloat,float_factor:formatFloatFactor,float_time:formatFloatTime,html:_.identity,integer:formatInteger,many2many:formatX2Many,many2one:formatMany2one,monetary:formatMonetary,one2many:formatX2Many,percentage:formatPercentage,reference:formatMany2one,selection:formatSelection,text:formatChar,},parse:{binary:_.identity,boolean:_.identity,char:_.identity,date:parseDate,datetime:parseDateTime,float:parseFloat,float_factor:parseFloatFactor,float_time:parseFloatTime,html:_.identity,integer:parseInteger,many2many:_.identity,many2one:parseMany2one,monetary:parseMonetary,one2many:_.identity,percentage:parsePercentage,reference:parseMany2one,selection:_.identity,text:_.identity,},};});;
2207
2208/* /account/static/src/js/account_portal_sidebar.js defined in bundle 'web.assets_frontend' */
2209odoo.define('account.AccountPortalSidebar.instance',function(require){"use strict";require('web.dom_ready');var AccountPortalSidebar=require('account.AccountPortalSidebar');if(!$('.o_portal_invoice_sidebar').length){return $.Deferred().reject("DOM doesn't contain '.o_portal_invoice_sidebar'");}
2210var account_portal_sidebar=new AccountPortalSidebar();return account_portal_sidebar.attachTo($('.o_portal_invoice_sidebar')).then(function(){return account_portal_sidebar;});});odoo.define('account.AccountPortalSidebar',function(require){"use strict";var PortalSidebar=require('portal.PortalSidebar');var AccountPortalSidebar=PortalSidebar.extend({events:{'click .o_portal_invoice_print':'_onPrintInvoice',},start:function(){var self=this;this._super.apply(this,arguments);var $invoiceHtml=this.$el.find('iframe#invoice_html');var updateIframeSize=self._updateIframeSize.bind(self,$invoiceHtml);$invoiceHtml.on('load',updateIframeSize);$(window).on('resize',updateIframeSize);},_updateIframeSize:function($el){var $wrapwrap=$el.contents().find('div#wrapwrap');$el.height(0);$el.height($wrapwrap[0].scrollHeight);},_onPrintInvoice:function(ev){ev.preventDefault();var href=$(ev.currentTarget).attr('href');this._printIframeContent(href);},});return AccountPortalSidebar;});;
2211
2212/* /payment/static/lib/jquery.payment/jquery.payment.js defined in bundle 'web.assets_frontend' */
2213(function(){var $,cardFromNumber,cardFromType,cards,defaultFormat,formatBackCardNumber,formatBackExpiry,formatCardNumber,formatExpiry,formatForwardExpiry,formatForwardSlash,hasTextSelected,luhnCheck,reFormatCardNumber,restrictCVC,restrictCardNumber,restrictExpiry,restrictNumeric,setCardType,__slice=[].slice,__indexOf=[].indexOf||function(item){for(var i=0,l=this.length;i<l;i++){if(i in this&&this[i]===item)return i;}return-1;},_this=this;$=jQuery;$.payment={};$.payment.fn={};$.fn.payment=function(){var args,method;method=arguments[0],args=2<=arguments.length?__slice.call(arguments,1
2213):[];return $.payment.fn[method].apply(this,args);};defaultFormat=/(\d{1,4})/g;cards=[{type:'maestro',pattern:/^(5018|5020|5038|6304|6759|676[1-3])/,format:defaultFormat,length:[12,13,14,15,16,17,18,19],cvcLength:[3],luhn:true},{type:'dinersclub',pattern:/^(36|38|30[0-5])/,format:defaultFormat,length:[14],cvcLength:[3],luhn:true},{type:'laser',pattern:/^(6706|6771|6709)/,format:defaultFormat,length:[16,17,18,19],cvcLength:[3],luhn:true},{type:'jcb',pattern:/^35/,format:defaultFormat,length:[16],cvcLength:[3],luhn:true},{type:'unionpay',pattern:/^62/,format:defaultFormat,length:[16,17,18,19],cvcLength:[3],luhn:false},{type:'discover',pattern:/^(6011|65|64[4-9]|622)/,format:defaultFormat,length:[16],cvcLength:[3],luhn:true},{type:'mastercard',pattern:/^(5[1-5]|2[2-7])/,format:defaultFormat,length:[16],cvcLength:[3],luhn:true},{type:'amex',pattern:/^3[47]/,format:/(\d{1,4})(\d{1,6})?(\d{1,5})?/,length:[15],cvcLength:[3,4],luhn:true},{type:'visa',pattern:/^4/,format:defaultFormat,length:[13,14,15,16],cvcLength:[3],luhn:true}];cardFromNumber=function(num){var card,_i,_len;num=(num+'').replace(/\D/g,'');for(_i=0,_len=cards.length;_i<_len;_i++){card=cards[_i];if(card.pattern.test(num)){return card;}}};cardFromType=function(type){var card,_i,_len;for(_i=0,_len=cards.length;_i<_len;_i++){card=cards[_i];if(card.type===type){return card;}}};luhnCheck=function(num){var digit,digits,odd,sum,_i,_len;odd=true;sum=0;digits=(num+'').split('').reverse();for(_i=0,_len=digits.length;_i<_len;_i++){digit=digits[_i];digit=parseInt(digit,10);if((odd=!odd)){digit*=2;}
2214if(digit>9){digit-=9;}
2215sum+=digit;}
2216return sum%10===0;};hasTextSelected=function($target){var _ref;if(($target.prop('selectionStart')!=null)&&$target.prop('selectionStart')!==$target.prop('selectionEnd')){return true;}
2217if(typeof document!=="undefined"&&document!==null?(_ref=document.selection)!=null?typeof _ref.createRange==="function"?_ref.createRange().text:void 0:void 0:void 0){return true;}
2218return false;};reFormatCardNumber=function(e){var _this=this;return setTimeout(function(){var $target,value;$target=$(e.currentTarget);value=$target.val();value=$.payment.formatCardNumber(value);return $target.val(value);});};formatCardNumber=function(e){var $target,card,digit,length,re,upperLength,value;digit=String.fromCharCode(e.which);if(!/^\d+$/.test(digit)){return;}
2219$target=$(e.currentTarget);value=$target.val();card=cardFromNumber(value+digit);length=(value.replace(/\D/g,'')+digit).length;upperLength=16;if(card){upperLength=card.length[card.length.length-1];}
2220if(length>=upperLength){return;}
2221if(($target.prop('selectionStart')!=null)&&$target.prop('selectionStart')!==value.length){return;}
2222if(card&&card.type==='amex'){re=/^(\d{4}|\d{4}\s\d{6})$/;}else{re=/(?:^|\s)(\d{4})$/;}
2223if(re.test(value)){e.preventDefault();return $target.val(value+' '+digit);}else if(re.test(value+digit)){e.preventDefault();return $target.val(value+digit+' ');}};formatBackCardNumber=function(e){var $target,value;$target=$(e.currentTarget);value=$target.val();if(e.meta){return;}
2224if(e.which!==8){return;}
2225if(($target.prop('selectionStart')!=null)&&$target.prop('selectionStart')!==value.length){return;}
2226if(/\d\s$/.test(value)){e.preventDefault();return $target.val(value.replace(/\d\s$/,''));}else if(/\s\d?$/.test(value)){e.preventDefault();return $target.val(value.replace(/\s\d?$/,''));}};formatExpiry=function(e){var $target,digit,val;digit=String.fromCharCode(e.which);if(!/^\d+$/.test(digit)){return;}
2227$target=$(e.currentTarget);val=$target.val()+digit;if(/^\d$/.test(val)&&(val!=='0'&&val!=='1')){e.preventDefault();return $target.val("0"+val+" / ");}else if(/^\d\d$/.test(val)){e.preventDefault();return $target.val(""+val+" / ");}};formatForwardExpiry=function(e){var $target,digit,val;digit=String.fromCharCode(e.which);if(!/^\d+$/.test(digit)){return;}
2228$target=$(e.currentTarget);val=$target.val();if(/^\d\d$/.test(val)){return $target.val(""+val+" / ");}};formatForwardSlash=function(e){var $target,slash,val;slash=String.fromCharCode(e.which);if(slash!=='/'){return;}
2229$target=$(e.currentTarget);val=$target.val();if(/^\d$/.test(val)&&val!=='0'){return $target.val("0"+val+" / ");}};formatBackExpiry=function(e){var $target,value;if(e.meta){return;}
2230$target=$(e.currentTarget);value=$target.val();if(e.which!==8){return;}
2231if(($target.prop('selectionStart')!=null)&&$target.prop('selectionStart')!==value.length){return;}
2232if(/\d(\s|\/)+$/.test(value)){e.preventDefault();return $target.val(value.replace(/\d(\s|\/)*$/,''));}else if(/\s\/\s?\d?$/.test(value)){e.preventDefault();return $target.val(value.replace(/\s\/\s?\d?$/,''));}};restrictNumeric=function(e){var input;if(e.metaKey||e.ctrlKey){return true;}
2233if(e.which===32){return false;}
2234if(e.which===0){return true;}
2235if(e.which<33){return true;}
2236input=String.fromCharCode(e.which);return!!/[\d\s]/.test(input);};restrictCardNumber=function(e){var $target,card,digit,value;$target=$(e.currentTarget);digit=String.fromCharCode(e.which);if(!/^\d+$/.test(digit)){return;}
2237if(hasTextSelected($target)){return;}
2238value=($target.val()+digit).replace(/\D/g,'');card=cardFromNumber(value);if(card){return value.length<=card.length[card.length.length-1];}else{return value.length<=16;}};restrictExpiry=function(e){var $target,digit,value;$target=$(e.currentTarget);digit=String.fromCharCode(e.which);if(!/^\d+$/.test(digit)){return;}
2239if(hasTextSelected($target)){return;}
2240value=$target.val()+digit;value=value.replace(/\D/g,'');if(value.length>6){return false;}};restrictCVC=function(e){var $target,digit,val;$target=$(e.currentTarget);digit=String.fromCharCode(e.which);if(!/^\d+$/.test(digit)){return;}
2241val=$target.val()+digit;return val.length<=4;};setCardType=function(e){var $target,allTypes,card,cardType,val;$target=$(e.currentTarget);val=$target.val();cardType=$.payment.cardType(val)||'unknown';if(!$target.hasClass(cardType)){allTypes=(function(){var _i,_len,_results;_results=[];for(_i=0,_len=cards.length;_i<_len;_i++){card=cards[_i];_results.push(card.type);}
2242return _results;})();$target.removeClass('unknown');$target.removeClass(allTypes.join(' '));$target.addClass(cardType);$target.toggleClass('identified',cardType!=='unknown');return $target.trigger('payment.cardType',cardType);}};$.payment.fn.formatCardCVC=function(){this.payment('restrictNumeric');this.on('keypress',restrictCVC);return this;};$.payment.fn.formatCardExpiry=function(){this.payment('restrictNumeric');this.on('keypress',restrictExpiry);this.on('keypress',formatExpiry);this.on('keypress',formatForwardSlash);this.on('keypress',formatForwardExpiry);this.on('keydown',formatBackExpiry);return this;};$.payment.fn.formatCardNumber=function(){this.payment('restrictNumeric');this.on('keypress',restrictCardNumber);this.on('keypress',formatCardNumber);this.on('keydown',formatBackCardNumber);this.on('keyup',setCardType);this.on('paste',reFormatCardNumber);return this;};$.payment.fn.restrictNumeric=function(){this.on('keypress',restrictNumeric);return this;};$.payment.fn.cardExpiryVal=function(){return $.payment.cardExpiryVal($(this).val());};$.payment.cardExpiryVal=function(value){var month,prefix,year,_ref;value=value.replace(/\s/g,'');_ref=value.split('/',2),month=_ref[0],year=_ref[1];
2242if((year!=null?year.length:void 0)===2&&/^\d+$/.test(year)){prefix=(new Date).getFullYear();prefix=prefix.toString().slice(0,2);year=prefix+year;}
2243month=parseInt(month,10);year=parseInt(year,10);return{month:month,year:year};};$.payment.validateCardNumber=function(num){var card,_ref;num=(num+'').replace(/\s+|-/g,'');if(!/^\d+$/.test(num)){return false;}
2244card=cardFromNumber(num);if(!card){return false;}
2245return(_ref=num.length,__indexOf.call(card.length,_ref)>=0)&&(card.luhn===false||luhnCheck(num));};$.payment.validateCardExpiry=function(month,year){var currentTime,expiry,prefix,_ref;if(typeof month==='object'&&'month'in month){_ref=month,month=_ref.month,year=_ref.year;}
2246if(!(month&&year)){return false;}
2247month=$.trim(month);year=$.trim(year);if(!/^\d+$/.test(month)){return false;}
2248if(!/^\d+$/.test(year)){return false;}
2249if(!(parseInt(month,10)<=12)){return false;}
2250if(year.length===2){prefix=(new Date).getFullYear();prefix=prefix.toString().slice(0,2);year=prefix+year;}
2251expiry=new Date(year,month);currentTime=new Date;expiry.setMonth(expiry.getMonth()-1);expiry.setMonth(expiry.getMonth()+1,1);return expiry>currentTime;};$.payment.validateCardCVC=function(cvc,type){var _ref,_ref1;cvc=$.trim(cvc);if(!/^\d+$/.test(cvc)){return false;}
2252if(type){return _ref=cvc.length,__indexOf.call((_ref1=cardFromType(type))!=null?_ref1.cvcLength:void 0,_ref)>=0;}else{return cvc.length>=3&&cvc.length<=4;}};$.payment.cardType=function(num){var _ref;if(!num){return null;}
2253return((_ref=cardFromNumber(num))!=null?_ref.type:void 0)||null;};$.payment.formatCardNumber=function(num){var card,groups,upperLength,_ref;card=cardFromNumber(num);if(!card){return num;}
2254upperLength=card.length[card.length.length-1];num=num.replace(/\D/g,'');num=num.slice(0,+upperLength+1||9e9);if(card.format.global){return(_ref=num.match(card.format))!=null?_ref.join(' '):void 0;}else{groups=card.format.exec(num);if(groups!=null){groups.shift();}
2255return groups!=null?groups.join(' '):void 0;}};}).call(this);;
2256
2257/* /payment/static/src/js/payment_portal.js defined in bundle 'web.assets_frontend' */
2258$(document).ready(function(){$('input#cc_number').payment('formatCardNumber');$('input#cc_cvc').payment('formatCardCVC');$('input#cc_expiry').payment('formatCardExpiry')
2259$('input#cc_number').on('focusout',function(e){var valid_value=$.payment.validateCardNumber(this.value);var card_type=$.payment.cardType(this.value);if(card_type){$(this).parent('.form-group').children('.card_placeholder').removeClass().addClass('card_placeholder '+card_type);$(this).parent('.form-group').children('input[name="cc_brand"]').val(card_type)}
2260else{$(this).parent('.form-group').children('.card_placeholder').removeClass().addClass('card_placeholder');}
2261if(valid_value){$(this).parent('.form-group').addClass('o_has_success').find('.form-control, .custom-select').addClass('is-valid');$(this).parent('.form-group').removeClass('o_has_error').find('.form-control, .custom-select').removeClass('is-invalid');$(this).siblings('.o_invalid_field').remove();}
2262else{$(this).parent('.form-group').addClass('o_has_error').find('.form-control, .custom-select').addClass('is-invalid');$(this).parent('.form-group').removeClass('o_has_success').find('.form-control, .custom-select').removeClass('is-valid');}});$('input#cc_cvc').on('focusout',function(e){var cc_nbr=$(this).parents('.oe_cc').find('#cc_number').val();var card_type=$.payment.cardType(cc_nbr);var valid_value=$.payment.validateCardCVC(this.value,card_type);if(valid_value){$(this).parent('.form-group').addClass('o_has_success').find('.form-control, .custom-select').addClass('is-valid');$(this).parent('.form-group').removeClass('o_has_error').find('.form-control, .custom-select').removeClass('is-invalid');$(this).siblings('.o_invalid_field').remove();}
2263else{$(this).parent('.form-group').addClass('o_has_error').find('.form-control, .custom-select').addClass('is-invalid');$(this).parent('.form-group').removeClass('o_has_success').find('.form-control, .custom-select').removeClass('is-valid');}});$('input#cc_expiry').on('focusout',function(e){var expiry_value=$.payment.cardExpiryVal(this.value);var month=expiry_value.month||'';var year=expiry_value.year||'';
2263var valid_value=$.payment.validateCardExpiry(month,year);if(valid_value){$(this).parent('.form-group').addClass('o_has_success').find('.form-control, .custom-select').addClass('is-valid');$(this).parent('.form-group').removeClass('o_has_error').find('.form-control, .custom-select').removeClass('is-invalid');$(this).siblings('.o_invalid_field').remove();}
2264else{$(this).parent('.form-group').addClass('o_has_error').find('.form-control, .custom-select').addClass('is-invalid');$(this).parent('.form-group').removeClass('o_has_success').find('.form-control, .custom-select').removeClass('is-valid');}});$('select[name="pm_acquirer_id"]').on('change',function(){var acquirer_id=$(this).val();$('.acquirer').addClass('d-none');$('.acquirer[data-acquirer-id="'+acquirer_id+'"]').removeClass('d-none');});});;
2265
2266/* /payment/static/src/js/payment_transaction_portal.js defined in bundle 'web.assets_frontend' */
2267;
2268
2269/* /payment/static/src/js/payment_form.js defined in bundle 'web.assets_frontend' */
2270odoo.define('payment.payment_form',function(require){"use strict";var ajax=require('web.ajax');var config=require('web.config');var core=require('web.core');var dom=require('web.dom');var Dialog=require("web.Dialog");var Widget=require("web.Widget");var rpc=require("web.rpc");var _t=core._t;var PaymentForm=Widget.extend({events:{'click #o_payment_form_pay':'payEvent','click #o_payment_form_add_pm':'addPmEvent','click button[name="delete_pm"]':'deletePmEvent','click input[type="radio"]':'radioClickEvent','click .o_payment_form_pay_icon_more':'onClickMorePaymentIcon',},init:function(parent,options){this._super.apply(this,arguments);this.options=_.extend(options||{},{});},start:function(){this.updateNewPaymentDisplayStatus();$('[data-toggle="tooltip"]').tooltip();},disableButton:function(button){$(button).attr('disabled',true);$(button).children('.fa-lock').removeClass('fa-lock');$(button).prepend('<span class="o_loader"><i class="fa fa-refresh fa-spin"></i>&nbsp;</span>');},enableButton:function(button){$(button).attr('disabled',false);$(button).children('.fa').addClass('fa-lock');$(button).find('span.o_loader').remove();},payEvent:function(ev){ev.preventDefault();var form=this.el;var checked_radio=this.$('input[type="radio"]:checked');var self=this;var button=ev.target;if(checked_radio.length===1){checked_radio=checked_radio[0];var acquirer_id=this.getAcquirerIdFromRadio(checked_radio);var acquirer_form=false;if(this.isNewPaymentRadio(checked_radio)){acquirer_form=this.$('#o_payment_add_token_acq_'+acquirer_id);}else{acquirer_form=this.$('#o_payment_form_acq_'+acquirer_id);}
2271var inputs_form=$('input',acquirer_form);var ds=$('input[name="data_set"]',acquirer_form)[0];if(this.isNewPaymentRadio(checked_radio)){if(this.options.partnerId===undefined){console.warn('payment_form: unset partner_id when adding new token; things could go wrong');}
2272var form_data=this.getFormData(inputs_form);var wrong_input=false;inputs_form.toArray().forEach(function(element){if($(element).attr('type')=='hidden'){return true;}
2273$(element).closest('div.form-group').removeClass('o_has_error').find('.form-control, .custom-select').removeClass('is-invalid');$(element).siblings(".o_invalid_field").remove();$(element).trigger("focusout");if(element.dataset.isRequired&&element.value.length===0){$(element).closest('div.form-group').addClass('o_has_error').find('.form-control, .custom-select').addClass('is-invalid');$(element).closest('div.form-group').append('<div style="color: red" class="o_invalid_field" aria-invalid="true">'+_.str.escapeHTML("The value is invalid.")+'</div>');wrong_input=true;}
2274else if($(element).closest('div.form-group').hasClass('o_has_error')){wrong_input=true;$(element).closest('div.form-group').append('<div style="color: red" class="o_invalid_field" aria-invalid="true">'+_.str.escapeHTML("The value is invalid.")+'</div>');}});if(wrong_input){return;}
2275this.disableButton(button);var verify_validity=this.$el.find('input[name="verify_validity"]');if(verify_validity.length>0){form_data.verify_validity=verify_validity[0].value==="1";}
2276return ajax.jsonRpc(ds.dataset.createRoute,'call',form_data).then(function(data){if(data.result){if(data['3d_secure']!==false){$("body").html(data['3d_secure']);}
2277else{checked_radio.value=data.id;form.submit();return $.Deferred();}}
2278else{if(data.error){self.displayError('',data.error);}else{self.displayError(_t('Server Error'),_t('e.g. Your credit card details are wrong. Please verify.'));}}
2279self.enableButton(button);}).fail(function(error,event){self.enableButton(button);self.displayError(_t('Server Error'),_t("We are not able to add your payment method at the moment.")+
2280error.data.message);});}
2281else if(this.isFormPaymentRadio(checked_radio)){this.disableButton(button);var $tx_url=this.$el.find('input[name="prepare_tx_url"]');if($tx_url.length===1){var form_save_token=acquirer_form.find('input[name="o_payment_form_save_token"]').prop('checked');return ajax.jsonRpc($tx_url[0].value,'call',{'acquirer_id':parseInt(acquirer_id),'save_token':form_save_token,'access_token':self.options.accessToken,'success_url':self.options.successUrl,'error_url':self.options.errorUrl,'callback_method':self.options.callbackMethod,'order_id':self.options.orderId,}).then(function(result){if(result){var newForm=document.createElement('form');newForm.setAttribute("method","post");newForm.setAttribute("provider",checked_radio.dataset.provider);newForm.hidden=true;newForm.innerHTML=result;var action_url=$(newForm).find('input[name="data_set"]').data('actionUrl');newForm.setAttribute("action",action_url);$(document.getElementsByTagName('body')[0]).append(newForm);$(newForm).find('input[data-remove-me]').remove();if(action_url){newForm.submit();return $.Deferred();}}
2282else{self.displayError(_t('Server Error'),_t("We are not able to redirect you to the payment form."));self.enableButton(button);}}).fail(function(error,event){self.displayError(_t('Server Error'),_t("We are not able to redirect you to the payment form. ")+
2283error.data.message);self.enableButton(button);});}
2284else{this.displayError(_t("Cannot set-up the payment"),_t("We're unable to process your payment."));}}
2285else{this.disableButton(button);form.submit();return $.Deferred();}}
2286else{this.displayError(_t('No payment method selected'),_t('Please select a payment method.'));this.enableButton(button);}},addPmEvent:function(ev){ev.stopPropagation();ev.preventDefault();var checked_radio=this.$('input[type="radio"]:checked');var self=this;var button=ev.target;if(checked_radio.length===1&&this.isNewPaymentRadio(checked_radio[0])){checked_radio=checked_radio[0];var acquirer_id=this.getAcquirerIdFromRadio(checked_radio);var acquirer_form=this.$('#o_payment_add_token_acq_'+acquirer_id);var inputs_form=$('input',acquirer_form);var form_data=this.getFormData(inputs_form);var ds=$('input[name="data_set"]',acquirer_form)[0];var wrong_input=false;inputs_form.toArray().forEach(function(element){if($(element).attr('type')=='hidden'){return true;}
2287$(element).closest('div.form-group').removeClass('o_has_error').find('.form-control, .custom-select').removeClass('is-invalid');$(element).siblings(".o_invalid_field").remove();$(element).trigger("focusout");if(element.dataset.isRequired&&element.value.length===0){$(element).closest('div.form-group').addClass('o_has_error').find('.form-control, .custom-select').addClass('is-invalid');var message='<div style="color: red" class="o_invalid_field" aria-invalid="true">'+_.str.escapeHTML("The value is invalid.")+'</div>';$(element).closest('div.form-group').append(message);wrong_input=true;}
2288else if($(element).closest('div.form-group').hasClass('o_has_error')){wrong_input=true;var message='<div style="color: red" class="o_invalid_field" aria-invalid="true">'+_.str.escapeHTML("The value is invalid.")+'</div>';$(element).closest('div.form-group').append(message);}});if(wrong_input){return;}
2289$(button).attr('disabled',true);$(button).children('.fa-plus-circle').removeClass('fa-plus-circle')
2290$(button).prepend('<span class="o_loader"><i class="fa fa-refresh fa-spin"></i>&nbsp;</span>');form_data.verify_validity=true;ajax.jsonRpc(ds.dataset.createRoute,'call',form_data).then(function(data){if(data.result){if(data['3d_secure']!==false){$("body").html(data['3d_secure']);}
2291else{if(form_data.return_url){window.location=form_data.return_url;}
2292else{window.location.reload();}}}
2293else{if(data.error){self.displayError('',data.error);}
2293else{self.displayError(_t('Server Error'),_t('e.g. Your credit card details are wrong. Please verify.'));}}
2294$(button).attr('disabled',false);$(button).children('.fa').addClass('fa-plus-circle')
2295$(button).find('span.o_loader').remove();}).fail(function(error,event){$(button).attr('disabled',false);$(button).children('.fa').addClass('fa-plus-circle')
2296$(button).find('span.o_loader').remove();self.displayError(_t('Server error'),_t("We are not able to add your payment method at the moment.</p>")+
2297error.data.message);});}
2298else{this.displayError(_t('No payment method selected'),_t('Please select the option to add a new payment method.'));}},deletePmEvent:function(ev){ev.stopPropagation();ev.preventDefault();var self=this;var pm_id=parseInt(ev.target.value);var tokenDelete=function(){rpc.query({model:'payment.token',method:'unlink',args:[pm_id],}).then(function(result){if(result===true){ev.target.closest('div').remove();}},function(){self.displayError(_t('Server Error'),_t("We are not able to delete your payment method at the moment."));});};rpc.query({model:'payment.token',method:'get_linked_records',args:[pm_id],}).then(function(result){if(result[pm_id].length>0){var content='';result[pm_id].forEach(function(sub){content+='<p><a href="'+sub.url+'" title="'+sub.description+'">'+sub.name+'</a><p/>';});content=$('<div>').html(_t('<p>This card is currently linked to the following records:<p/>')+content);new Dialog(self,{title:_t('Warning!'),size:'medium',$content:content,buttons:[{text:_t('Confirm Deletion'),classes:'btn-primary',close:true,click:tokenDelete},{text:_t('Cancel'),close:true}]}).open();}
2299else{tokenDelete();}},function(err,event){self.displayError(_t('Server Error'),_t("We are not able to delete your payment method at the moment.")+err.data.message);});},onClickMorePaymentIcon:function(ev){ev.preventDefault();var $listItems=$(ev.currentTarget).parents('ul').children('li');var $moreItem=$(ev.currentTarget).parents('li');$listItems.removeClass('d-none');$moreItem.addClass('d-none');},radioClickEvent:function(ev){this.updateNewPaymentDisplayStatus();},updateNewPaymentDisplayStatus:function()
2300{var checked_radio=this.$('input[type="radio"]:checked');this.$('[id*="o_payment_add_token_acq_"]').addClass('d-none');this.$('[id*="o_payment_form_acq_"]').addClass('d-none');if(checked_radio.length!==1){return;}
2301checked_radio=checked_radio[0];var acquirer_id=this.getAcquirerIdFromRadio(checked_radio);if(this.isNewPaymentRadio(checked_radio)){this.$('#o_payment_add_token_acq_'+acquirer_id).removeClass('d-none');}
2302else if(this.isFormPaymentRadio(checked_radio)){this.$('#o_payment_form_acq_'+acquirer_id).removeClass('d-none');}},isNewPaymentRadio:function(element){return $(element).data('s2s-payment')==='True';},isFormPaymentRadio:function(element){return $(element).data('form-payment')==='True';},getAcquirerIdFromRadio:function(element){return $(element).data('acquirer-id');},displayError:function(title,message){var $checkedRadio=this.$('input[type="radio"]:checked'),acquirerID=this.getAcquirerIdFromRadio($checkedRadio[0]);var $acquirerForm;if(this.isNewPaymentRadio($checkedRadio[0])){$acquirerForm=this.$('#o_payment_add_token_acq_'+acquirerID);}
2303else if(this.isFormPaymentRadio($checkedRadio[0])){$acquirerForm=this.$('#o_payment_form_acq_'+acquirerID);}
2304if($checkedRadio.length===0){return new Dialog(null,{title:_t('Error: ')+_.str.escapeHTML(title),size:'medium',$content:"<p>"+(_.str.escapeHTML(message)||"")+"</p>",buttons:[{text:_t('Ok'),close:true}]}).open();}else{this.$('#payment_error').remove();var messageResult='<div class="alert alert-danger mb4" id="payment_error">';if(title!=''){messageResult=messageResult+'<b>'+_.str.escapeHTML(title)+':</b></br>';}
2305messageResult=messageResult+_.str.escapeHTML(message)+'</div>';$acquirerForm.append(messageResult);}},getFormData:function($form){var unindexed_array=$form.serializeArray();var indexed_array={};$.map(unindexed_array,function(n,i){indexed_array[n.name]=n.value;});return indexed_array;},});$(function(){if(!$('.o_payment_form').length){console.log("DOM doesn't contain '.o_payment_form'");return;}
2306$('.o_payment_form').each(function(){var $elem=$(this);var form=new PaymentForm(null,$elem.data());form.attachTo($elem);});});return PaymentForm;});;
2307
2308/* /payment/static/src/js/payment_processing.js defined in bundle 'web.assets_frontend' */
2309odoo.define('payment.processing',function(require){'use strict';var Widget=require('web.Widget');var Ajax=require('web.ajax');var Core=require('web.core');var Qweb=Core.qweb;var _t=Core._t;$.blockUI.defaults.css.border='0';$.blockUI.defaults.css["background-color"]='';$.blockUI.defaults.overlayCSS["opacity"]='0.9';
2309return Widget.extend({_payment_tx_ids:null,_pollCount:0,events:{},xmlDependencies:['/payment/static/src/xml/payment_processing.xml'],init:function(parent,payment_tx_ids){this._super.apply(this,arguments);this._payment_tx_ids=payment_tx_ids;},start:function(){this.displayLoading();this.poll();return this._super.apply(this,arguments);},startPolling:function(){var timeout=3000;if(this._pollCount>=10&&this._pollCount<20){timeout=10000;}
2310else if(this._pollCount>=20){timeout=30000;}
2311setTimeout(this.poll.bind(this),timeout);this._pollCount++;},poll:function(){var self=this;Ajax.jsonRpc('/payment/process/poll','call',{}).then(function(data){if(data.success===true){self.processPolledData(data.transactions);}
2312else{switch(data.error){case"tx_process_retry":break;case"no_tx_found":self.displayContent("payment.no_tx_found",{});break;default:self.displayContent("payment.exception",{exception_msg:data.error});break;}}
2313self.startPolling();}).fail(function(e){self.displayContent("payment.rpc_error",{});self.startPolling();});},processPolledData:function(transactions){var render_values={'tx_draft':[],'tx_pending':[],'tx_authorized':[],'tx_done':[],'tx_cancel':[],'tx_error':[],};if(transactions.length>0&&transactions[0].acquirer_provider=='transfer'){window.location=transactions[0].return_url;return;}
2314transactions.forEach(function(tx){var key='tx_'+tx.state;if(key in render_values){render_values[key].push(tx);}});function countTxInState(states){var nbTx=0;for(var prop in render_values){if(states.indexOf(prop)>-1&&render_values.hasOwnProperty(prop)){nbTx+=render_values[prop].length;}}
2315return nbTx;}
2316if(countTxInState(['tx_done','tx_error','tx_pending','tx_authorized'])===1){var tx=render_values['tx_done'][0]||render_values['tx_authorized'][0]||render_values['tx_error'][0];if(tx){window.location=tx.return_url;return;}}
2317this.displayContent("payment.display_tx_list",render_values);},displayContent:function(xmlid,render_values){var html=Qweb.render(xmlid,render_values);$.unblockUI();this.$el.find('.o_payment_processing_content').html(html);},displayLoading:function(){var msg=_t("We are processing your payments, please wait ...");$.blockUI({'message':'<h2 class="text-white"><img src="/web/static/src/img/spin.png" class="fa-pulse"/>'+'    <br />'+msg+'</h2>'});},});});;
2318
2319/* /sale/static/src/js/sale_portal_sidebar.js defined in bundle 'web.assets_frontend' */
2320odoo.define('sale.SalePortalSidebar.instance',function(require){"use strict";require('web.dom_ready');var SalePortalSidebar=require('sale.SalePortalSidebar');if(!$('.o_portal_sale_sidebar').length){return $.Deferred().reject("DOM doesn't contain '.o_portal_sale_sidebar'");}
2321var $spyWatch=$('body[data-target=".navspy"]'),sale_portal_sidebar=new SalePortalSidebar($spyWatch);return sale_portal_sidebar.attachTo($('.o_portal_sale_sidebar')).then(function(){return sale_portal_sidebar;});});odoo.define('sale.SalePortalSidebar',function(require){"use strict";var PortalSidebar=require('portal.PortalSidebar');var SalePortalSidebar=PortalSidebar.extend({init:function($watched_selector){this._super.apply(this,arguments);this.authorizedTextTag=['em','b','i','u'];this.spyWatched=$watched_selector;},start:function(){this._super.apply(this,arguments);var $spyWatcheElement=this.$el.find('[data-id="portal_sidebar"]');this._setElementId($spyWatcheElement);this._generateMenu();},_setElementId:function(prefix,$el){var id=_.uniqueId(prefix);this.spyWatched.find($el).attr('id',id);return id;}
2321,_generateMenu:function(){var self=this,lastLI=false,lastUL=null,$bsSidenav=this.$el.find('.bs-sidenav');$("#quote_content [id^=quote_header_], #quote_content [id^=quote_]",this.spyWatched).attr("id","");_.each(this.spyWatched.find("#quote_content h2, #quote_content h3"),function(el){var id,text;switch(el.tagName.toLowerCase()){case"h2":id=self._setElementId('quote_header_',el);text=self._extractText($(el));if(!text){break;}
2322lastLI=$("<li class='nav-item'>").append($('<a class="nav-link" style="max-width: 200px;" href="#'+id+'"/>').text(text)).appendTo($bsSidenav);lastUL=false;break;case"h3":id=self._setElementId('quote_',el);text=self._extractText($(el));if(!text){break;}
2323if(lastLI){if(!lastUL){lastUL=$("<ul class='nav flex-column'>").appendTo(lastLI);}
2324$("<li class='nav-item'>").append($('<a class="nav-link" style="max-width: 200px;" href="#'+id+'"/>').text(text)).appendTo(lastUL);}
2325break;}});},_extractText:function($node){var self=this;var rawText=[];_.each($node.contents(),function(el){var current=$(el);if($.trim(current.text())){var tagName=current.prop("tagName");if(_.isUndefined(tagName)||(!_.isUndefined(tagName)&&_.contains(self.authorizedTextTag,tagName.toLowerCase()))){rawText.push($.trim(current.text()));}}});return rawText.join(' ');},});return SalePortalSidebar;});;
2326
2327/* /sale_management/static/src/js/sale_management.js defined in bundle 'web.assets_frontend' */
2328odoo.define('sale_management.sale_management',function(require){'use strict';require('web.dom_ready');var ajax=require('web.ajax');var Widget=require('web.Widget');if(!$('.o_portal_sale_sidebar').length){return $.Deferred().reject("DOM doesn't contain '.o_portal_sale_sidebar'");}
2329var UpdateLineButton=Widget.extend({events:{'click':'onClick',},start:function(){var self=this;return this._super.apply(this,arguments).then(function(){self.elems=self._getUpdatableElements();self.elems.$lineQuantity.change(function(ev){var quantity=parseInt(this.value);self._onChangeQuantity(quantity);});});},_onChangeQuantity:function(quantity){var href=this.$el.attr("href");var order_id=href.match(/my\/orders\/([0-9]+)/);var line_id=href.match(/update_line\/([0-9]+)/);var params={'line_id':parseInt(line_id[1]),'remove':this.$el.is('[href*="remove"]'),'unlink':this.$el.is('[href*="unlink"]'),'input_quantity':quantity>=0?quantity:false,};var token=href.match(/token=([\w\d-]*)/)[1];if(token){params.access_token=token;}
2330order_id=parseInt(order_id[1])
2331this._callUpdateLineRoute(order_id,params).then(this._updateOrderValues.bind(this));return false;},onClick:function(ev){ev.preventDefault();return this._onChangeQuantity();},_callUpdateLineRoute:function(order_id,params){var def=new $.Deferred();var url="/my/orders/"+order_id+"/update_line_dict";ajax.jsonRpc(url,'call',params).then(def.resolve.bind(def)).fail(function(){delete params.input_quantity;ajax.jsonRpc("/my/orders/"+order_id+"/update_line",'call',params).fail(def.reject.bind(def)).then(function(data){var actualData=data;if(data){actualData={order_amount_total:data[1],order_line_product_uom_qty:data[0],};}
2332def.resolve(actualData);});});return def;},_updateOrderValues:function(data){if(!data){window.location.reload();}
2333var orderAmountTotal=data.order_amount_total;var orderAmountUntaxed=data.order_amount_untaxed;var orderAmountTax=data.order_amount_tax;var orderAmountUndiscounted=data.order_amount_undiscounted;var orderTotalsTable=$(data.order_totals_table);var lineProductUomQty=data.order_line_product_uom_qty;var linePriceTotal=data.order_line_price_total;var linePriceSubTotal=data.order_line_price_subtotal;this.elems.$lineQuantity.val(lineProductUomQty)
2334if(this.elems.$linePriceTotal.length&&linePriceTotal!==undefined){this.elems.$linePriceTotal.text(linePriceTotal);}
2335if(this.elems.$linePriceSubTotal.length&&linePriceSubTotal!==undefined){this.elems.$linePriceSubTotal.text(linePriceSubTotal);}
2336if(orderAmountUntaxed!==undefined){this.elems.$orderAmountUntaxed.text(orderAmountUntaxed);}
2337if(orderAmountTotal!==undefined){this.elems.$orderAmountTotal.text(orderAmountTotal);}
2338if(orderAmountUndiscounted!==undefined){this.elems.$orderAmountUndiscounted.text(orderAmountUndiscounted);}
2339if(orderTotalsTable){this.elems.$orderTotalsTable.find('table').replaceWith(orderTotalsTable);}}
2339,_getUpdatableElements:function(){var $parentTr=this.$el.parents('tr:first');var $linePriceTotal=$parentTr.find('.oe_order_line_price_total .oe_currency_value');var $linePriceSubTotal=$parentTr.find('.oe_order_line_price_subtotal .oe_currency_value');if(!$linePriceTotal.length&&!$linePriceSubTotal.length){$linePriceTotal=$linePriceSubTotal=$parentTr.find('.oe_currency_value').last();}
2340var $orderAmountUntaxed=$('[data-id="total_untaxed"]').find('span, b');var $orderAmountTotal=$('[data-id="total_amount"]').find('span, b');var $orderAmountUndiscounted=$('[data-id="amount_undiscounted"]').find('span, b');if(!$orderAmountUntaxed.length){$orderAmountUntaxed=$orderAmountTotal.eq(1);$orderAmountTotal=$orderAmountTotal.eq(0).add($orderAmountTotal.eq(2));}
2341return{$lineQuantity:this.$el.parents('.input-group:first').find('.js_quantity'),$linePriceSubTotal:$linePriceSubTotal,$linePriceTotal:$linePriceTotal,$orderAmountUntaxed:$orderAmountUntaxed,$orderAmountTotal:$orderAmountTotal,$orderTotalsTable:$('#total'),$orderAmountUndiscounted:$orderAmountUndiscounted,}}});var update_button_list=[];$('a.js_update_line_json').each(function(index){var button=new UpdateLineButton();button.setElement($(this)).start();update_button_list.push(button);});});;
2342
2343/* /sale_subscription/static/src/js/portal_subscription.js defined in bundle 'web.assets_frontend' */
2344odoo.define('sale_subscription.portal_subscription',function(require){'use strict';require('web.dom_ready');if(!$('.oe_website_contract').length){return $.Deferred().reject("DOM doesn't contain '.js_surveyresult'");}
2345$('.contract-submit').off('click').on('click',function(){$(this).attr('disabled',true);$(this).prepend('<i class="fa fa-refresh fa-spin"></i> ');$(this).closest('form').submit();});});;
2346
2347/* /auth_password_policy_signup/static/src/js/signup_policy.js defined in bundle 'web.assets_frontend' */
2348odoo.define('auth_password_policy_signup.policy',function(require){"use strict";var base=require('web_editor.base');var policy=require('auth_password_policy');var PasswordMeter=require('auth_password_policy.Meter');base.ready().then(function(){var $signupForm=$('.oe_signup_form, .oe_reset_password_form');if(!$signupForm.length){return;}
2349var $password=$signupForm.find('#password');var minlength=Number($password.attr('minlength'));if(isNaN(minlength)){return;}
2350var meter=new PasswordMeter(null,new policy.Policy({minlength:minlength}),policy.recommendations);meter.insertAfter($password);$password.on('input',function(){meter.update($password.val());});});});;
2351
2352/* /payment_stripe_sca/static/src/js/payment_form.js defined in bundle 'web.assets_frontend' */
2353odoo.define('payment_stripe.payment_form',function(require){"use strict";var ajax=require('web.ajax');var core=require('web.core');var rpc=require('web.rpc');var Dialog=require('web.Dialog');var PaymentForm=require('payment.payment_form');var _t=core._t;PaymentForm.include({willStart:function(){return this._super.apply(this,arguments).then(function(){return ajax.loadJS("https://js.stripe.com/v3/");})},_createStripeToken:function(ev,$checkedRadio,addPmEvent){var self=this;if(ev.type==='submit'){var button=$(ev.target).find('*[type="submit"]')[0]}else{var button=ev.target;}
2354this.disableButton(button);var acquirerID=this.getAcquirerIdFromRadio($checkedRadio);var acquirerForm=this.$('#o_payment_add_token_acq_'+acquirerID);var inputsForm=$('input',acquirerForm);if(this.options.partnerId===undefined){console.warn('payment_form: unset partner_id when adding new token; things could go wrong');}
2355var formData=self.getFormData(inputsForm);var stripe=this.stripe;var card=this.stripe_card_element;if(card._invalid){return;}
2356return rpc.query({route:'/payment/stripe/s2s/create_setup_intent',params:{'acquirer_id':formData.acquirer_id}}).then(function(intent_secret){return $.Deferred(function(defer){stripe.handleCardSetup(intent_secret,card).then(function(result){defer.resolve(result)})});}).then(function(result){if(result.error){return $.Deferred().reject({"message":{"data":{"message":result.error.message}}});}else{_.extend(formData,{"payment_method":result.setupIntent.payment_method});return rpc.query({route:formData.data_set,params:formData,})}}).then(function(result){if(addPmEvent){if(formData.return_url){window.location=formData.return_url;}else{window.location.reload();}}else{$checkedRadio.val(result.id);self.el.submit();}}).fail(function(error,event){self.enableButton(button);
2356self.displayError(_t('Unable to save card'),_t("We are not able to add your payment method at the moment. ")+
2357error.message.data.message);});},_bindStripeCard:function($checkedRadio){var acquirerID=this.getAcquirerIdFromRadio($checkedRadio);var acquirerForm=this.$('#o_payment_add_token_acq_'+acquirerID);var inputsForm=$('input',acquirerForm);var formData=this.getFormData(inputsForm);var stripe=Stripe(formData.stripe_publishable_key);var element=stripe.elements();var card=element.create('card',{hidePostalCode:true});card.mount('#card-element');card.on('ready',function(ev){card.focus();});card.addEventListener('change',function(event){var displayError=document.getElementById('card-errors');displayError.textContent='';if(event.error){displayError.textContent=event.error.message;}});this.stripe=stripe;this.stripe_card_element=card;},_unbindStripeCard:function(){if(this.stripe_card_element){this.stripe_card_element.destroy();}
2358this.stripe=undefined;this.stripe_card_element=undefined;},updateNewPaymentDisplayStatus:function(){var $checkedRadio=this.$('input[type="radio"]:checked');if($checkedRadio.length!==1){return;}
2359var provider=$checkedRadio.data('provider')
2360if(provider==='stripe'){this._unbindStripeCard();if(this.isNewPaymentRadio($checkedRadio)){this._bindStripeCard($checkedRadio);}}
2361return this._super.apply(this,arguments);},payEvent:function(ev){ev.preventDefault();var $checkedRadio=this.$('input[type="radio"]:checked');if($checkedRadio.length===1&&$checkedRadio.data('provider')==='stripe'&&this.isNewPaymentRadio($checkedRadio)){return this._createStripeToken(ev,$checkedRadio);}else{return this._super.apply(this,arguments);}},addPmEvent:function(ev){ev.stopPropagation();ev.preventDefault();var $checkedRadio=this.$('input[type="radio"]:checked');if($checkedRadio.length===1&&this.isNewPaymentRadio($checkedRadio)&&$checkedRadio.data('provider')==='stripe'){return this._createStripeToken(ev,$checkedRadio,true);}else{return this._super.apply(this,arguments);}},});});;
2362
2363/* /payment_stripe_sca/static/src/js/payment_processing.js defined in bundle 'web.assets_frontend' */
2364odoo.define('payment_stripe_sca.processing',function(require){'use strict';var ajax=require('web.ajax');var rpc=require('web.rpc')
2365var PaymentProcessing=require('payment.processing');return PaymentProcessing.include({init:function(){this._super.apply(this,arguments);this._authInProgress=false;},willStart:function(){return this._super.apply(this,arguments).then(function(){return ajax.loadJS("https://js.stripe.com/v3/");})},_stripeAuthenticate:function(tx){var stripe=Stripe(tx.stripe_publishable_key);return $.Deferred(function(defer){stripe.handleCardPayment(tx.stripe_payment_intent_secret).then(function(result){defer.resolve(result)})}).then(function(result){return rpc.query({route:'/payment/stripe/s2s/process_payment_intent',params:_.extend({},result.paymentIntent,{reference:tx.reference,error:result.error}),});}).then(function(result){window.location='/payment/process';}).fail(function(error){this._authInProgress=false;});},processPolledData:function(transactions){this._super.apply(this,arguments);for(var itx=0;itx<transactions.length;itx++){var tx=transactions[itx];if(tx.acquirer_provider==='stripe'&&tx.state==='pending'&&tx.stripe_payment_intent_secret&&!this._authInProgress){this._authInProgress=true;this._stripeAuthenticate(tx);}}},});});;
2366
2367/* /project/static/src/js/portal_rating.js defined in bundle 'web.assets_frontend' */
2368odoo.define('website_rating_project.rating',function(require){'use strict';var time=require('web.time');require('web.dom_ready');if(!$('.o_portal_project_rating').length){return $.Deferred().reject("DOM doesn't contain '.o_portal_project_rating'");}
2369$('.o_portal_project_rating .o_rating_image').popover({placement:'bottom',trigger:'hover',html:'true',content:function(){var id=$(this).data('id');var rating_date=$(this).data('rating-date');var base_date=time.auto_str_to_date(rating_date);var duration=moment(base_date).fromNow();$("#rating_"+id).find(".rating_timeduration").text(duration);return $("#rating_"+id).html();}});});

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.