sdc_client 0.55.4 → 0.56.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1,2 @@
1
- var e={d:(t,n)=>{for(var r in n)e.o(n,r)&&!e.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:n[r]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)},t={};let n;e.d(t,{wz:()=>ne,ms:()=>q,yA:()=>he,sD:()=>d,kb:()=>_,wH:()=>C,on:()=>S,YV:()=>O,eA:()=>m,YF:()=>E,WQ:()=>ue,QN:()=>de,gV:()=>F});const r=/([^\s,]+)/g,s=/((\/\/.*$)|(\/\*[\s\S]*?\*\/))/gm;function o(){return n||(n=$("body")),n}function i(){return new Promise((function(e){e()}))}function l(e){return(e=(e=e.replace(/[A-Z]/g,(e=>`-${e.toLowerCase()}`))).replace(/[0-9]+/g,(e=>`-${e}`))).replace(/^[-]/g,"")}function a(e){return e.replace(/-./g,(e=>`${e[1].toUpperCase()}`))}const c=(e,t)=>{let n=t,r=Object.getOwnPropertyNames(e.prototype).concat(Object.getOwnPropertySymbols(e.prototype));for(;""!==n.name;)Object.getOwnPropertyNames(n.prototype).concat(Object.getOwnPropertySymbols(n.prototype)).forEach((t=>{t.match(/^(?:constructor|prototype|arguments|caller|name|bind|call|apply|toString|length)$/)||r.includes(t)||(r.push(t),Object.defineProperty(e.prototype,t,Object.getOwnPropertyDescriptor(n.prototype,t)))})),n=Object.getPrototypeOf(n)};function h(e,t,n){return $.ajax({url:t,type:n||"POST",xhr:function(){var e=$.ajaxSettings.xhr();return e.upload&&e.upload.addEventListener("progress",u,!1),e},data:e,cache:!1,contentType:!1,processData:!1,beforeSend:function(e,t){(function(e){return/^(GET|HEAD|OPTIONS|TRACE)$/.test(e)})(t.type)||this.crossDomain||e.setRequestHeader("X-CSRFToken",window.CSRF_TOKEN)}})}function u(e){if(e.lengthComputable){var t=Math.round(e.loaded/e.total*100),n=$(".progress-container");100===t?n.hide():n.show(),t+="%",n.find(".progress-bar").css({width:t}).text(t)}}function d(e,t=null){return"string"!=typeof e?e:t&&void 0!==t[e]?"function"==typeof t[e]?t[e].bind(t):t[e]:e.match(/^(true|false)$/)?"true"===e:"undefined"!==e?"none"===e.toLowerCase()?null:e.match(/^-?\d+$/)?parseInt(e):e.match(/^-?\d+\.?\d+$/)?parseFloat(e):e.match(/^(['][^']*['])|(["][^"]*["])$/)?e.substr(1,e.length-2):e:void 0}function f(){return([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,(e=>(e^crypto.getRandomValues(new Uint8Array(1))[0]&15>>e/4).toString(16)))}function _(e){e.find(".has-error").removeClass("has-error").find(".alert-danger").remove(),e.find(".non-field-errors").remove()}function m(e,t){t=$("<div>").append(t),e.find(".has-error").removeClass("has-error").find(".alert-danger").safeRemove(),e.find(".non-field-errors").safeRemove();let n=t.find("input[type=file]").parent();e.find("input[type=file]").parent().each((function(e){$(this).replaceWith(n[e])}));let r=0===t.find(".non-field-errors").insertAfter(e.find(".hidden-form-fields")).length;return t.find(".has-error").each((function(){r=!1;let t=$(this),n=t.data("auto-id"),s=e.find(".form-group."+n);s.addClass("has-error"),s.find(".form-input-container").append(t.find(".alert-danger"))})),r}function p(e,t,n=null){let r=function(e,t){let n;e||(e=[]);let r=t.data(),s={};for(let t in r)r.hasOwnProperty(t)&&t!==R&&!e.includes(t)&&(s[t]=r[t]);n=[];for(let t=0;t<e.length;t++){let s=e[t];r.hasOwnProperty(s)?n.push(r[s]):n.push("undefined")}return n.push(s),n}(e,t);return function(e,t=null){let n=[];for(let r=0;r<e.length;r++){let s=d(e[r],t);n.push(s)}return n}(r,n)}function g(e,t,n){if(!e)return!1;if("function"!=typeof e.onInit)return!1;let o;var i;"function"==typeof e._on_init_params?o=e._on_init_params():o=(i=e.onInit.toString().replace(s,"")).slice(i.indexOf("(")+1,i.indexOf(")")).match(r)||[];let l=p(o,t,n._parentController);if(e.onInit.apply(n,l),n===e)for(let r in e._mixins)g(e._mixins[r],t,n)}let y={},v={};function w(){return Object.keys(v)}function b(e,t){if(e){let n=a(t._tagName);e._childController[n]||(e._childController[n]=[]),e._childController[n].push(t)}return t._parentController=e}function k(e,t,n,r){let s=[];r=function(e,t){e=(e=e.concat(v[t][1])).filter(((e,t,n)=>n.indexOf(e)===t));let n=!0;for(;n;){n=!1;for(let t of e)for(let r of v[t][1])e.includes(r)||(e.push(r),n=!0)}return e}(r,n);for(let e of r)s.push(v[e][0]);let o=new(function(e,...t){let n=class{constructor(...n){let r={};t.forEach((e=>{let t;Object.assign(this,t=new e),t._tagName=e.prototype._tagName,t._isMixin=!0,r[e.name]=t})),Object.assign(this,new e),this._mixins=r}get mixins(){return this._mixins}};return c(n,e),t.forEach((e=>{c(n,e)})),n}(v[n][0],...s));return o._tagName=n,b(e,o),o.$container=t,function(e,t){g(t,e,t)}(t,o),o}function C(e,t,n,r){let s=a(n);if(y[s]){let n=y[s];return b(e,n),n.$container=t,n}return k(e,t,n,r)}function O(e){const t=function(e){return function(e){let t={args:{}};return e.contentUrl&&(t=L(e,e.contentUrl),e.contentUrl=t.url),Promise.all([M(e.contentUrl,t.args,e._tagName,e.contentReload)]).then((function(e){let t=e[0];if(t)try{return $(t)}catch{return $("<div></div>").append(t)}return null}))}(e).then((t=>!e.onLoad||e._onLoadDone?t:(e._onLoadDone=!0,(e.onLoad(t)||i()).then((()=>t)))))}(e).then((function(t){return function(e,t){return D(e,t).then((function(t){if(t=t||!0,e.willShow){let n=e.willShow();if(n instanceof Promise)return n.then((function(){return t}))}return t}))}(e,t)})).then((()=>function(e){return e.refresh&&e.refresh()}(e))).catch((function(t){return D(e,t)}));return e.load_async?Promise.resolve():t}let N={},P={};function S(e,t){return E(e),P.hasOwnProperty(e)?t[P[e]]?void N[e].push(t):console.log("No event handler: "+e,t):console.log("No event: "+e,t)}function E(e,t){t||(t=e),P[e]||(P[e]=t,N[e]=[])}function q(e){for(let t in N)if(N.hasOwnProperty(t))for(let n=N[t].length;n>=0;n--)e===N[t][n]&&N[t].splice(n,1)}function F(e){let t=Array.apply(null,arguments);if(e=t.shift(),!N.hasOwnProperty(e)||!P.hasOwnProperty(e))return i();let n=N[e],r=P[e],s=[];for(let e=0;e<n.length;e++){let o=n[e][r].apply(n[e],t);void 0!==o&&s.push(o)}return Promise.all(s)}let x={};const R="_controller_",j="_sdc_controller_";function T(e,t,n){if(!e)return[];let r=e.children(),s=[];return r.each((function(e,r){let o=$(r),i=o.prop("tagName").toLowerCase().split("_");$.inArray(i[0],t)>=0?s.push({tag:i[0],super:i.splice(1)||[],dom:o}):i[0].startsWith("this.")?o.addClass(`_bind_to_update_handler sdc_uuid_${n._uuid}`):s=s.concat(T(o,t,n))})),s}function M(e,t,n,r){return e?x[n]?Promise.resolve(x[n]):(t.VERSION=he.VERSION,t._method="content",$.get(e,t).then((function(e){return r||(x[n]=e),e})).catch((function(e){throw 301===e.status&&F("_RedirectOnView",e.responseJSON["url-link"]),F("navLoaded",{controller_name:()=>e.status}),`<sdc-error data-code="${e.status}">${e.responseText}</sdc-error>`}))):Promise.resolve(!1)}function I(e,t){return t=t||e.data(R),J(he.tagNames,e,t)}function L(e){let t=e.contentUrl;if(e&&0===e._urlParams.length){let n,r=/%\(([^)]+)\)\w/gm;for(e._urlParams=[];n=r.exec(t);)e._urlParams.push(n[1]),e.contentReload=!0}let n=function(e,t){return p(e._urlParams,t)}(e,e.$container);return e._urlParams.length&&(t=function(e,t,n){for(let r in e._urlParams)if(e._urlParams.hasOwnProperty(r)){let s=e._urlParams[r],o=RegExp("%\\("+s+"\\)\\w","gm");t=t.replace(o,""+n.shift())}return t}(e,t,n)),e.parsedContentUrl=t,{url:t,args:n[n.length-1]}}function A(e){return e.hasClass(j)?e.data(`${R}`):e.closest(`.${j}`).data(`${R}`)}function U(e,t,n,r){let s=e.data(R);return s?I(e,s):(s=C(r,e,t,n),e.data(R,s),e.addClass(j),O(s))}function D(e,t){if(t&&t.length>0){e.$container.empty(),e.$container.attr(e._tagName,"");for(let t in e._mixins)e.$container.attr(e._mixins[t]._tagName,"");e.$container.append(t)}return I(e.$container,e)}function J(e,t,n){return new Promise((r=>{let s=T(t,e,n),o=s.length;if(0===o)return r();for(let e=0;e<s.length;e++)U(s[e].dom,s[e].tag,s[e].super,n).then((()=>{if(o--,0===o)return r()}))}))}function V(e){return G(e,e.$container)}function G(e,t){const n=[];return t.find(`._bind_to_update_handler.sdc_uuid_${e._uuid}`).each((function(){const t=$(this);let r;if(t.hasClass("_with_handler"))r=t.data("handler");else{let t=this.tagName.toLowerCase().replace(/^this./,"");e[t]&&(r=e[t])}void 0!==r&&("function"==typeof r&&(r=r.bind(e)(t.data())),n.push(Promise.resolve(r).then((n=>{const r=$("<div></div>");return r.append(n),J(w(),r,e).then((()=>G(e,r).then((()=>(t.safeEmpty().text("").append(n),!0)))))}))))})),Promise.all(n)}let W=!1,B=!1,K=null;const z=25e3;let H={};class Q{constructor(e,t){this.pk=e,this._model=t}set model(e){this._model=e}get model(){return this._model}load(e){if(!this._model)throw new TypeError("Model is not set!!");return e.newModel(this._model,{pk:this.pk})}}const Y={get(e,t){const n=e[t]??void 0;if(n instanceof Q){if(!n.pk&&0!==n.pk)return null;const e=new Number(n.pk);return e.load=n.load.bind(n),e}return n},set(e,t,n){if(t in e){const r=e[t];r instanceof Q?n.hasOwnProperty("pk")?r.pk=n.pk:r.pk=n:e[t]=n}else e[t]=n;return!0}};function X(){return B=!0,new Promise((e=>{K="https:"===window.location.protocol?new WebSocket(`wss://${window.location.host}/sdc_ws/ws/`):new WebSocket(`ws://${window.location.host}/sdc_ws/ws/`),K.onmessage=function(e){let t=JSON.parse(e.data);if(t.is_error)(t.msg||t.header)&&F("pushErrorMsg",t.header||"",t.msg||""),H[t.id]&&(H[t.id][1](t.data||null),delete H[t.id]);else if((t.msg||t.header)&&F("pushMsg",t.header||"",t.msg||""),t.type&&"sdc_recall"===t.type)H[t.id]&&(H[t.id][0](t.data),delete H[t.id]);else if(t.type&&"sdc_event"===t.type){let e=t.event;e&&F(e,t.payload)}else t.type&&"sdc_redirect"===t.type&&F("onNavLink",t.link)},K.onclose=function(){W&&console.error("SDC Socket closed unexpectedly"),W=!1;for(const[e,t]of Object.entries(H))t[1]({}),delete H[e];setTimeout((()=>{X()}),1e3)},K.onerror=function(e){if(console.error("Socket encountered error: ",e.message,"Closing socket"),W)try{K.close()}catch(e){}},K.onopen=function(){W=!0,B=!1,e()}}))}function Z(){if(W){W=!1;try{K.close()}catch(e){}}}function ee(){return new Promise((e=>W?e():B?void setTimeout((()=>{ee().then((()=>{e()}))}),200):e(X())))}class te{constructor(e,t={}){this.values_list=[],this.values={},this.model_name=e,this.model_query=t,this._is_connected=!1,this._is_conneting_process=!1,this._auto_reconnect=!0,this.socket=null,this.open_request={},this.on_update=()=>{},this.on_create=()=>{},this.form_id=f()}[Symbol.iterator](){let e=-1;return{next:()=>(++e,e<this.values_list.length?{value:this.values_list[e],done:!1}:{value:null,done:!0})}}length(){return this.values_list.length}byPk(e){if(null!==e){e=parseInt(e),isNaN(e)&&(e=-1);let t=this.values_list.find((t=>t.pk===e));return t||(t=new Proxy({pk:e},Y),this.values_list.push(t)),t}return{pk:e}}filter(e){return this.model_query=Object.assign({},this.model_query,e),this}load(){return this.isConnected().then((()=>{const e=f();return new Promise(((t,n)=>{this.socket.send(JSON.stringify({event:"model",event_type:"load",event_id:e,args:{model_name:this.model_name,model_query:this.model_query}})),this.open_request[e]=[t,n]}))}))}listView(e={},t=null,n=null){let r=$('<div class="container-fluid">');return this.isConnected().then((()=>{const s=f();this.socket.send(JSON.stringify({event:"model",event_type:"list_view",event_id:s,args:{model_name:this.model_name,model_query:this.model_query,filter:e}})),this.open_request[s]=[e=>{r.append(e.html),he.refresh(r),t&&t(e)},e=>{n&&n(e)}]})),r}detailView(e=-1,t=null,n=null){e=parseInt(e),isNaN(e)&&(e=-1);let r,s=$('<div class="container-fluid">');return r=0!==this.values_list.length?this.isConnected():this.load(),r.then((()=>{-1===e&&(e=this.values_list[0].pk);const r=f();this.socket.send(JSON.stringify({event:"model",event_type:"detail_view",event_id:r,args:{model_name:this.model_name,model_query:this.model_query,pk:e}})),this.open_request[r]=[e=>{s.append(e.html),he.refresh(s),t&&t(e)},e=>{n&&n(e)}]})),s}syncFormToModel(e){return this.syncForm(e)}syncModelToForm(e){e&&e.hasClass(this.form_id)||(e=$(`.${this.form_id}`));let t=this;e.each((function(){if(!this.hasAttribute("data-model_pk"))return;let e=$(this).data("model_pk"),n=t.byPk(e);for(let e of this.elements){let t=e.name;if(t&&""!==t)if("checkbox"===e.type)e.checked=n[t];else if("file"===e.type&&n[t]instanceof File){let r=new DataTransfer;r.items.add(n[t]),e.files=r}else $(e).val(n[t])}}))}syncForm(e){e&&e.hasClass(this.form_id)||(e=$(`.${this.form_id}`));const t=this;let n=[];return e.each((function(){let e=$(this).data("model_pk"),r=t.byPk(e);for(let e of this.elements){let t=e.name;t&&""!==t&&("hidden"===e.type?r[t]=(s=$(e).val()).toLowerCase().match(/^(true|false)$/)?"true"===s.toLowerCase():"undefined"!==s?"none"===s.toLowerCase()?null:s.match(/^-?\d+$/)?parseInt(s):s.match(/^-?\d+\.?\d+$/)?parseFloat(s):s.match(/^(['][^']*['])|(["][^"]*["])$/)?s.substring(1,s.length-1):s:void 0:"checkbox"===e.type?r[t]=e.checked:"file"===e.type?r[t]=e.files[0]:r[t]=$(e).val())}var s;return n.push(r),r})),this.values_list.length<=1&&n.length>0&&(this.values=n.at(-1)),n}createForm(e=null,t=null){let n=$('<div class="container-fluid">');return this.isConnected().then((()=>{this._getForm(null,"create_form",null,n,e,t)})),n}editForm(e=-1,t=null,n=null){let r;e=parseInt(e),isNaN(e)&&(e=-1),r=0!==this.values_list.length?this.isConnected():this.load();let s=$('<div class="container-fluid">');return r.then((()=>{e<=-1&&(e=this.values_list.at(e).pk),this._getForm(e,"edit_form",null,s,t,n)})),s}namedForm(e=-1,t,n=null,r=null){let s;e=parseInt(e),isNaN(e)&&(e=-1),s=0!==this.values_list.length?this.isConnected():this.load();let o=$('<div class="container-fluid">');return s.then((()=>{e<=-1&&(e=this.values_list.at(e).pk),this._getForm(e,"named_form",t,o,n,r)})),o}_getForm(e,t,n,r,s,o){e=parseInt(e),isNaN(e)&&(e=-1);const i=f();this.socket.send(JSON.stringify({event:"model",event_type:t,event_id:i,args:{model_name:this.model_name,model_query:this.model_query,pk:e,form_name:n}}));const l=null===e||-1===e?"create":"edit";this.open_request[i]=[t=>{r.append(t.html);let n=r.closest("form").addClass(`sdc-model-${l}-form sdc-model-form ${this.form_id}`).data("model",this).data("model_pk",e);n.length>0&&!n[0].hasAttribute("sdc_submit")&&n.attr("sdc_submit","submitModelFormDistributor"),he.refresh(r),s&&s(t)},e=>{o&&o(e)}]}new(){return new Promise(((e,t)=>{const n=$("<form>").append(this.createForm((()=>{this.syncFormToModel(n),e()}),t))}))}save(e=-1){return e=parseInt(e),isNaN(e)&&(e=-1),this.isConnected().then((()=>{let t;t=e>-1?[this.byPk(e)]:this.values_list;let n=[];return t.forEach((e=>{const t=f();n.push(new Promise(((n,r)=>{this._readFiles(e).then((s=>{this.socket.send(JSON.stringify({event:"model",event_type:"save",event_id:t,args:{model_name:this.model_name,model_query:this.model_query,data:e,files:s}})),this.open_request[t]=[e=>{let t="string"==typeof e.data.instance?JSON.parse(e.data.instance):e.data.instance;e.data.instance=this._parseServerRes(t),n(e)},r]}))})))})),Promise.all(n)}))}create(e=this.values){const t=f();return this.isConnected().then((()=>new Promise(((n,r)=>{this._readFiles(e).then((s=>{this.socket.send(JSON.stringify({event:"model",event_type:"create",event_id:t,args:{model_name:this.model_name,model_query:this.model_query,data:e,files:s}})),this.open_request[t]=[e=>{let t="string"==typeof e.data.instance?JSON.parse(e.data.instance):e.data.instance;e.data.instance=this._parseServerRes(t)[0],n(e)},r]}))}))))}delete(e=-1){e=parseInt(e),isNaN(e)&&(e=-1),-1===e&&(e=this.values?.pk);const t=f();return this.isConnected().then((()=>new Promise(((n,r)=>{this.socket.send(JSON.stringify({event:"model",event_type:"delete",event_id:t,args:{model_name:this.model_name,model_query:this.model_query,pk:e}})),this.open_request[t]=[n,r]}))))}isConnected(){return new Promise(((e,t)=>{if(this._is_connected)e();else if(this._is_conneting_process){const[n,r]=this.open_request._connecting_process;this.open_request._connecting_process=[()=>{n(),e()},()=>{r(),t()}]}else this._is_conneting_process=!0,this.open_request._connecting_process=[()=>{},()=>{}],this._connectToServer().then((()=>{e(this._checkConnection())}))}))}close(){this.socket&&(this._auto_reconnect=!1,this.socket.onclose=()=>{},this.socket.close(),delete this.socket)}clean(){return this.values_list=[],this.values={},this}_readFiles(e){let t=[],n={};for(const[r,s]of Object.entries(e))s instanceof File&&t.push(new Promise(((e,t)=>{((r,s)=>{let o=new FileReader;o.onload=o=>{const i=f();this.open_request[i]=[e,t];let l=o.target.result,a=parseInt(Math.ceil(l.length/z));n[r]={id:i,file_name:s.name,field_name:r,content_length:s.size};for(let e=0;e<a;++e)this.socket.send(JSON.stringify({event:"model",event_type:"upload",event_id:i,args:{chunk:l.slice(z*e,z*(e+1)),idx:e,number_of_chunks:a,file_name:s.name,field_name:r,content_length:s.size,content_type:s.type,model_name:this.model_name,model_query:this.model_query}}))},o.onerror=()=>{t()},o.readAsBinaryString(s)})(r,s)})));return Promise.all(t).then((()=>n))}_onMessage(e){let t=JSON.parse(e.data);if(t.is_error)this.open_request.hasOwnProperty(t.event_id)&&(this.open_request[t.event_id][1](t),delete this.open_request[t.event_id]),(t.msg||t.header)&&F("pushErrorMsg",t.header||"",t.msg||""),"connect"===t.type&&(this.open_request._connecting_process[1](t),delete this.open_request._connecting_process,this._auto_reconnect=!1,this.socket.close());else{if((t.msg||t.header)&&F("pushMsg",t.header||"",t.msg||""),"connect"===t.type)this._is_connected=!0,this._is_conneting_process=!1,this.open_request._connecting_process[0](t),delete this.open_request._connecting_process;else if("load"===t.type){const e=JSON.parse(t.args.data);this.values_list=[],t.args.data=this._parseServerRes(e)}else if("on_update"===t.type||"on_create"===t.type){const e=JSON.parse(t.args.data);let n,r=this._parseServerRes(e);n="on_create"===t.type?this.on_create:this.on_update,n(r),t.args.data=r}let e=t.data?.instance;e&&(t.data.instance=JSON.parse(t.data.instance)),this.open_request.hasOwnProperty(t.event_id)&&(this.open_request[t.event_id][0](t),delete this.open_request[t.event_id])}}_connectToServer(){return new Promise((e=>{const t=`${this.model_name}`+(this.model_id>0?`/${this.model_id}`:"");"https:"===window.location.protocol?this.socket=new WebSocket(`wss://${window.location.host}/sdc_ws/model/${t}`):this.socket=new WebSocket(`ws://${window.location.host}/sdc_ws/model/${t}`),this.socket.onmessage=this._onMessage.bind(this),this.socket.onclose=e=>{console.error(`SDC Model (${this.model_name}, ${this.model_id}) Socket closed unexpectedly`),this._is_connected=!1;for(const[t,n]of Object.entries(this.open_request))n[1](e);this.open_request={},setTimeout((()=>{this._auto_reconnect&&this._connectToServer().then((()=>{}))}),1e3)},this.socket.onerror=e=>{if(console.error(`Model Socket encountered error: ${e} Closing socket`),this._is_connected)try{this.socket.close()}catch(e){}},this.socket.onopen=()=>{e()}}))}_checkConnection(){const e=f();return new Promise(((t,n)=>{this.socket.send(JSON.stringify({event:"model",event_type:"connect",event_id:e,args:{model_name:this.model_name,model_query:this.model_query}})),this.open_request[e]=[t,n]}))}_parseServerRes(e){let t=[];for(let n of e){const e=n.pk,r=this.byPk(e);for(const[e,t]of Object.entries(n.fields))t&&"object"==typeof t&&t.__is_sdc_model__?r[e]=new Q(t.pk,t.model):r[e]=t;t.push(r)}return 1===this.values_list.length?this.values=this.values_list.at(-1):this.values={},t}}class ne{constructor(){this._uuid=f(),this.contentUrl="",this.contentReload=!1,this.hasSubnavView=!1,this.events=[],this.load_async=!1,this.isEventsSet=!1,this._allEvents=null,this._urlParams=[],this._models=[],this._cssUrls=[],this.afterShow=()=>{console.warn("afterShow is deprecated!!")},this._mixins={},this._tagName="",this._childController={},this._parentController=null,this._onLoadDone=!1,this.$container=null,this._isMixin=!1}_runLifecycle(e,t){he.DEBUG&&console.debug(e,this._tagName);let n=[];if(!this._isMixin){this._isMixin=!0;for(let r in this._mixins){let s=this._mixins[r];"function"==typeof s[e]&&n.push(s[e].apply(this,t))}return Promise.all(n).then((()=>{this._isMixin=!1}))}}onInit(){he.DEBUG&&console.DEBUG(Array.apply(null,arguments),this._tagName)}get parentController(){return this._parentController}get childController(){return this._childController}onLoad(){return this._runLifecycle("onLoad",arguments)}willShow(){return this._runLifecycle("willShow",arguments)}onRefresh(){return this._runLifecycle("onRefresh",arguments)}onRemove(){return this._runLifecycle("onRemove",arguments),!0}remove(){for(const e of this._models)e.close();let e=this._childController;for(let t in e)if(e.hasOwnProperty(t))for(let n of e[t])if(!n.remove())return!1;if(!this.onRemove||this.onRemove()){q(this);const e=a(this._tagName);if(this._parentController._childController[e]){let t=this._parentController._childController[e];for(let e=0;e<t.length;e++)t[e]===this&&t.splice(e,1)}return this.$container.remove(),!0}return!1}controller_name(){return this._tagName.replace(/-./g,(e=>` ${e[1].toUpperCase()}`)).replace(/^./g,(e=>`${e.toUpperCase()}`))}addEvent(e,t,n){this.getEvents(),this._allEvents[e]=this._allEvents[e]||{},this._allEvents[e][t]=n}getEvents(){if(this._allEvents)return this._allEvents;let e=[];e=e.concat(this.events);for(let t in this._mixins){let n=this._mixins[t];Array.isArray(n.events)&&(e=e.concat(n.events))}return this._allEvents=Object.assign({},...e)}post(e,t){return he.post(this,e,t)}get(e,t){return he.get(this,e,t)}submitForm(e,t,n){return he.submitFormAndUpdateView(this,e,t,n)}serverCall(e,t){let n=this.contentUrl.match(/sdc_view\/([^/]+)/i);if(n&&!(n.length<2))return function(e,t,n,r){let s=f();return ee().then((()=>{K.send(JSON.stringify({event:"sdc_call",id:s,controller:t,app:e,function:n,args:r}))})),new Promise(((e,t)=>{H[s]=[e,t]}))}(n[1],this._tagName,e,t);console.error("To use the serverCall function the contentUrl must be set: "+this.name)}newModel(e,t={}){if(e instanceof Number&&e.hasOwnProperty("load"))return e.load(this);const n=new te(e,t);return this._models.push(n),n}updateModel(e,t={},n){let r=new te(e,t);return r.load().then((()=>{r.values|=n,r.save().then((()=>(r.close(),r.values)))}))}find(e){return this.$container.find(e)}refresh(){return he.refresh(this.$container,this)}reload(){return he.reloadController(this)}submitModelFormDistributor(e,t){return"function"==typeof this._submitModelForm?this._submitModelForm(e,t):"function"==typeof this.submitModelForm?this.submitModelForm(e,t):this.defaultSubmitModelForm(e,t)}iterateAllChildren(){let e=this._childController,t=[];for(let n in e)if(e.hasOwnProperty(n))for(let r of e[n])t.push(r),t.push(...r.iterateAllChildren());return t}defaultSubmitModelForm(e,t){let n=[];if(!this._isMixin){t.stopPropagation(),t.preventDefault();let r=e.data("model");const s=r.syncForm(e);for(let t of s)n.push(new Promise(((n,s)=>{let o;o=null!==t.pk&&t.pk>=0?r.save(t.pk):r.create(t),o.then((t=>{_(e),this.submit_model_form_success&&this.submit_model_form_success(t[0]);for(const e of this.iterateAllChildren())e.submit_model_form_success&&e.submit_model_form_success(t[0]);n(t)})).catch((t=>{m(e,$(t.html)),this.submit_model_form_error&&this.submit_model_form_error(t);for(const e of this.iterateAllChildren())e.submit_model_form_error&&e.submit_model_form_error(t);s(t)}))})))}return Promise.all(n).then((e=>Object.assign({},...e.flat())))}}const re=["onbeforeunload"],se=Object.keys(window).filter((e=>/^on/.test(e)&&!re.includes(e))).map((e=>e.slice(2)));function oe(e){let t=e.type;e.hasOwnProperty("namespace")&&e.namespace&&e.namespace.length&&(t+=`.${e.namespace}`);let n=$(e.target),r=null,s=!1,o=!1;for(e.stopImmediatePropagation=()=>o=!0,e.stopPropagation=()=>o=s=!0;n.length;){let i=n.attr(`sdc_${t}`);if(i){if(!r&&(r=A(n),!r))return;for(;r;){if(i.split(" ").forEach((o=>{if(s)return;let i=null;if("function"==typeof o)i=o;else if("function"==typeof r[o])i=r[o];else if("string"==typeof o&&o.startsWith("this.event_")){if(i=r.getEvents()[t],!i)return;if(i=i[o.slice(11)],!i)return}i&&i.call(r,n,e)})),o)return;r=r._parentController}}if(s)return;n=n.parent()}return{res:!0}}function ie(e){if(e.isEventsSet)return;const t=e.getEvents();for(let n in t)if(t.hasOwnProperty(n)){let r=t[n];for(let t in r)r.hasOwnProperty(t)&&e.find(t).each((function(){let e=$(this),r=e.attr(`sdc_${n}`)||null;r=r?r.split(" "):[];const s=`this.event_${t}`;-1===r.indexOf(s)&&(r.push(s),e.attr(`sdc_${n}`,r.join(" ")))}))}}const le={classname:"class"};window.sdcDom=function(e,t,...n){if(!e)return"";const r=function(e,t){let n,r=!1;if("string"==typeof e)n=$(document.createElement(e));else{const t=`this.${e.name}`;n=$(document.createElement(t)),n.data("handler",e),r=!0}return t&&Object.entries(t).forEach((([e,t])=>{e.startsWith("on")?n[0].addEventListener(e.substring(2).toLowerCase(),t):(le[e.toLowerCase()]&&(e=le[e.toLowerCase()]),n[0].setAttribute(e,t))})),r&&n.addClass("_bind_to_update_handler _with_handler"),n}(e,t);for(const e of n)r.append(e);return r};let ae,ce,he={CSRF_TOKEN:window.CSRF_TOKEN||"",LANGUAGE_CODE:window.LANGUAGE_CODE||"en",DEBUG:window.DEBUG||!1,VERSION:window.VERSION||"0.0",tagNames:[],Global:y,rootController:null,_isInit:!1,_origin_trigger:null,init_sdc:()=>{he._isInit||(he._isInit=!0,he._origin_trigger?Z():(he._origin_trigger=$.fn.trigger,$.fn.trigger=function(e){const t={}.hasOwnProperty.call(e,"type")?e.type:e;return se.includes(t)||(se.push(t),$(window).on(t,oe)),he._origin_trigger.call(this,e)},he.updateJquery()),ee(),function(){const e=$(window);se.forEach((t=>{e.off(t).on(t,oe)}))}(),he.rootController=he.rootController||new ne),he.tagNames=w();for(let[e,t]of Object.entries(he.Global))t.$container||(y[e].$container=o());return J(he.tagNames,o(),he.rootController)},updateJquery:()=>{$.fn.safeReplace=function(e){return he.safeReplace($(this),e)},$.fn.safeEmpty=function(){return he.safeEmpty($(this))},$.fn.safeRemove=function(){return he.safeRemove($(this))}},controllerToTag:e=>l(e.name).replace(/-controller$/,""),registerGlobal:e=>{let t=he.controllerToTag(e),n=new e;v[t]=[n,[]],n._tagName=t,window[a(t)]=y[a(t)]=n},cleanCache:()=>{x={}},register:e=>{let t=he.controllerToTag(e);return v[t]=[e,[]],e.prototype._tagName=t,{addMixin:(...e)=>{for(let n of e){let e;"string"==typeof n?e=l(n):n&&(e=he.controllerToTag(n)),v[t][1].push(e)}}}},post:(e,t,n)=>(n||(n={}),n.CSRF_TOKEN=he.CSRF_TOKEN,he.ajax(e,t,params,$.post)),get:(e,t,n)=>he.ajax(e,t,n,$.get),ajax:(e,t,n,r)=>{n||(n={}),n.VERSION=he.VERSION,n._method=n._method||"api";const s=new Promise(((o,i)=>r(t,n).then(((t,n,r)=>{o(t,n,r),"redirect"===t.status?F("onNavLink",t["url-link"]):s.then((()=>{he.refresh(e.$container)}))})).catch(i)));return s},submitFormAndUpdateView:(e,t,n,r)=>{let s=new FormData(t);const o=e=>{e["url-link"]?F("onNavLink",e["url-link"]):window.location.href=e.url},i=new Promise(((l,a)=>{h(s,n||t.action,r||t.method).then(((t,n,r)=>{l(t,n,r),"redirect"===t.status?o(t):i.then((()=>{he.refresh(e.$container)}))})).catch(((e,t,n)=>{301===e.status?(e=e.responseJSON,o(e),l(e,t,n)):a(e,t,n)}))}));return i},submitForm:(e,t,n)=>{let r=new FormData(e);return new Promise(((s,o)=>{h(r,t||e.action,n||e.method).then(s).catch(o)}))},getController:e=>A(e),safeEmpty:e=>(e.children().each((function(e,t){let n=$(t);he.safeRemove(n)})),e),safeReplace:(e,t)=>(t.insertBefore(e),he.safeRemove(e)),safeRemove:e=>(e.each((function(){let e=$(this);e.data(`${R}`)&&e.data(`${R}`).remove()})),e.find(`.${j}`).each((function(){const e=$(this).data(`${R}`);e&&e.remove()})),e.remove()),reloadController:e=>function(e){if(e.contentUrl){let t=L(e,e.contentUrl);return e.contentUrl=t.url,M(e.contentUrl,t.args,e._tagName,e.contentReload)}return new Promise((e=>{e($())}))}(e).then((t=>{let n=$(t);e._childController={},J(he.tagNames,n,e).then((()=>{he.safeEmpty(e.$container),e.$container.append(n),he.refresh(e.$container,e)}))})),refresh:(e,t)=>{if(t||(t=he.getController(e)),!t)return i();let n=t,r=[];for(;n;)n.isEventsSet=!1,r.unshift(n),n=n._parentController;return J(he.tagNames,t.$container,t).then((()=>{V(t).then((()=>{for(let e of r)ie(e);t.onRefresh(e)}))}))}};const ue=Z,de={get_controller:async function(e,t={},n=""){if(!jest)throw new Error("JEST is not defined");ae||(ce=$.ajax.bind($),ae=jest.spyOn($,"ajax"),ae.mockImplementation((function(e){return ce(e).then((e=>e)).catch((e=>e))})));const r=$("body");he.updateJquery(),r.safeEmpty();const s=$(`<${e}>${n}</${e}>`);for(const[e,n]of Object.entries(t))s.data(e,n);const o=$("<div></div>").append(s);return r.append(o),he._isInit=!1,he.cleanCache(),await he.init_sdc(),he.getController(s)}};var fe=t.wz,_e=t.ms,me=t.yA,pe=t.sD,ge=t.kb,ye=t.wH,ve=t.on,we=t.YV,$e=t.eA,be=t.YF,ke=t.WQ,Ce=t.QN,Oe=t.gV;export{fe as AbstractSDC,_e as allOff,me as app,pe as checkIfParamNumberBoolOrString,ge as clearErrorsInForm,ye as controllerFactory,ve as on,we as runControlFlowFunctions,$e as setErrorsInForm,be as setEvent,ke as socketReconnect,Ce as test_utils,Oe as trigger};
1
+ /*! For license information please see ugly.index.js.LICENSE.txt */
2
+ var t={543:function(t,n,e){var r;t=e.nmd(t),function(){var i,o="Expected a function",u="__lodash_hash_undefined__",a="__lodash_placeholder__",s=32,c=128,l=1/0,f=9007199254740991,h=NaN,p=4294967295,_=[["ary",c],["bind",1],["bindKey",2],["curry",8],["curryRight",16],["flip",512],["partial",s],["partialRight",64],["rearg",256]],d="[object Arguments]",v="[object Array]",g="[object Boolean]",m="[object Date]",y="[object Error]",w="[object Function]",b="[object GeneratorFunction]",$="[object Map]",x="[object Number]",k="[object Object]",O="[object Promise]",C="[object RegExp]",S="[object Set]",j="[object String]",E="[object Symbol]",A="[object WeakMap]",N="[object ArrayBuffer]",R="[object DataView]",P="[object Float32Array]",I="[object Float64Array]",F="[object Int8Array]",L="[object Int16Array]",q="[object Int32Array]",T="[object Uint8Array]",U="[object Uint8ClampedArray]",z="[object Uint16Array]",M="[object Uint32Array]",D=/\b__p \+= '';/g,W=/\b(__p \+=) '' \+/g,B=/(__e\(.*?\)|\b__t\)) \+\n'';/g,J=/&(?:amp|lt|gt|quot|#39);/g,V=/[&<>"']/g,G=RegExp(J.source),Z=RegExp(V.source),K=/<%-([\s\S]+?)%>/g,H=/<%([\s\S]+?)%>/g,Y=/<%=([\s\S]+?)%>/g,X=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Q=/^\w*$/,tt=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,nt=/[\\^$.*+?()[\]{}|]/g,et=RegExp(nt.source),rt=/^\s+/,it=/\s/,ot=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,ut=/\{\n\/\* \[wrapped with (.+)\] \*/,at=/,? & /,st=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,ct=/[()=,{}\[\]\/\s]/,lt=/\\(\\)?/g,ft=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,ht=/\w*$/,pt=/^[-+]0x[0-9a-f]+$/i,_t=/^0b[01]+$/i,dt=/^\[object .+?Constructor\]$/,vt=/^0o[0-7]+$/i,gt=/^(?:0|[1-9]\d*)$/,mt=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,yt=/($^)/,wt=/['\n\r\u2028\u2029\\]/g,bt="\\ud800-\\udfff",$t="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",xt="\\u2700-\\u27bf",kt="a-z\\xdf-\\xf6\\xf8-\\xff",Ot="A-Z\\xc0-\\xd6\\xd8-\\xde",Ct="\\ufe0e\\ufe0f",St="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",jt="["+bt+"]",Et="["+St+"]",At="["+$t+"]",Nt="\\d+",Rt="["+xt+"]",Pt="["+kt+"]",It="[^"+bt+St+Nt+xt+kt+Ot+"]",Ft="\\ud83c[\\udffb-\\udfff]",Lt="[^"+bt+"]",qt="(?:\\ud83c[\\udde6-\\uddff]){2}",Tt="[\\ud800-\\udbff][\\udc00-\\udfff]",Ut="["+Ot+"]",zt="\\u200d",Mt="(?:"+Pt+"|"+It+")",Dt="(?:"+Ut+"|"+It+")",Wt="(?:['’](?:d|ll|m|re|s|t|ve))?",Bt="(?:['’](?:D|LL|M|RE|S|T|VE))?",Jt="(?:"+At+"|"+Ft+")?",Vt="["+Ct+"]?",Gt=Vt+Jt+"(?:"+zt+"(?:"+[Lt,qt,Tt].join("|")+")"+Vt+Jt+")*",Zt="(?:"+[Rt,qt,Tt].join("|")+")"+Gt,Kt="(?:"+[Lt+At+"?",At,qt,Tt,jt].join("|")+")",Ht=RegExp("['’]","g"),Yt=RegExp(At,"g"),Xt=RegExp(Ft+"(?="+Ft+")|"+Kt+Gt,"g"),Qt=RegExp([Ut+"?"+Pt+"+"+Wt+"(?="+[Et,Ut,"$"].join("|")+")",Dt+"+"+Bt+"(?="+[Et,Ut+Mt,"$"].join("|")+")",Ut+"?"+Mt+"+"+Wt,Ut+"+"+Bt,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Nt,Zt].join("|"),"g"),tn=RegExp("["+zt+bt+$t+Ct+"]"),nn=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,en=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],rn=-1,on={};on[P]=on[I]=on[F]=on[L]=on[q]=on[T]=on[U]=on[z]=on[M]=!0,on[d]=on[v]=on[N]=on[g]=on[R]=on[m]=on[y]=on[w]=on[$]=on[x]=on[k]=on[C]=on[S]=on[j]=on[A]=!1;var un={};un[d]=un[v]=un[N]=un[R]=un[g]=un[m]=un[P]=un[I]=un[F]=un[L]=un[q]=un[$]=un[x]=un[k]=un[C]=un[S]=un[j]=un[E]=un[T]=un[U]=un[z]=un[M]=!0,un[y]=un[w]=un[A]=!1;var an={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},sn=parseFloat,cn=parseInt,ln="object"==typeof e.g&&e.g&&e.g.Object===Object&&e.g,fn="object"==typeof self&&self&&self.Object===Object&&self,hn=ln||fn||Function("return this")(),pn=n&&!n.nodeType&&n,_n=pn&&t&&!t.nodeType&&t,dn=_n&&_n.exports===pn,vn=dn&&ln.process,gn=function(){try{return _n&&_n.require&&_n.require("util").types||vn&&vn.binding&&vn.binding("util")}catch(t){}}(),mn=gn&&gn.isArrayBuffer,yn=gn&&gn.isDate,wn=gn&&gn.isMap,bn=gn&&gn.isRegExp,$n=gn&&gn.isSet,xn=gn&&gn.isTypedArray;function kn(t,n,e){switch(e.length){case 0:return t.call(n);case 1:return t.call(n,e[0]);case 2:return t.call(n,e[0],e[1]);case 3:return t.call(n,e[0],e[1],e[2])}return t.apply(n,e)}function On(t,n,e,r){for(var i=-1,o=null==t?0:t.length;++i<o;){var u=t[i];n(r,u,e(u),t)}return r}function Cn(t,n){for(var e=-1,r=null==t?0:t.length;++e<r&&!1!==n(t[e],e,t););return t}function Sn(t,n){for(var e=null==t?0:t.length;e--&&!1!==n(t[e],e,t););return t}function jn(t,n){for(var e=-1,r=null==t?0:t.length;++e<r;)if(!n(t[e],e,t))return!1;return!0}function En(t,n){for(var e=-1,r=null==t?0:t.length,i=0,o=[];++e<r;){var u=t[e];n(u,e,t)&&(o[i++]=u)}return o}function An(t,n){return!(null==t||!t.length)&&zn(t,n,0)>-1}function Nn(t,n,e){for(var r=-1,i=null==t?0:t.length;++r<i;)if(e(n,t[r]))return!0;return!1}function Rn(t,n){for(var e=-1,r=null==t?0:t.length,i=Array(r);++e<r;)i[e]=n(t[e],e,t);return i}function Pn(t,n){for(var e=-1,r=n.length,i=t.length;++e<r;)t[i+e]=n[e];return t}function In(t,n,e,r){var i=-1,o=null==t?0:t.length;for(r&&o&&(e=t[++i]);++i<o;)e=n(e,t[i],i,t);return e}function Fn(t,n,e,r){var i=null==t?0:t.length;for(r&&i&&(e=t[--i]);i--;)e=n(e,t[i],i,t);return e}function Ln(t,n){for(var e=-1,r=null==t?0:t.length;++e<r;)if(n(t[e],e,t))return!0;return!1}var qn=Bn("length");function Tn(t,n,e){var r;return e(t,(function(t,e,i){if(n(t,e,i))return r=e,!1})),r}function Un(t,n,e,r){for(var i=t.length,o=e+(r?1:-1);r?o--:++o<i;)if(n(t[o],o,t))return o;return-1}function zn(t,n,e){return n==n?function(t,n,e){for(var r=e-1,i=t.length;++r<i;)if(t[r]===n)return r;return-1}(t,n,e):Un(t,Dn,e)}function Mn(t,n,e,r){for(var i=e-1,o=t.length;++i<o;)if(r(t[i],n))return i;return-1}function Dn(t){return t!=t}function Wn(t,n){var e=null==t?0:t.length;return e?Gn(t,n)/e:h}function Bn(t){return function(n){return null==n?i:n[t]}}function Jn(t){return function(n){return null==t?i:t[n]}}function Vn(t,n,e,r,i){return i(t,(function(t,i,o){e=r?(r=!1,t):n(e,t,i,o)})),e}function Gn(t,n){for(var e,r=-1,o=t.length;++r<o;){var u=n(t[r]);u!==i&&(e=e===i?u:e+u)}return e}function Zn(t,n){for(var e=-1,r=Array(t);++e<t;)r[e]=n(e);return r}function Kn(t){return t?t.slice(0,he(t)+1).replace(rt,""):t}function Hn(t){return function(n){return t(n)}}function Yn(t,n){return Rn(n,(function(n){return t[n]}))}function Xn(t,n){return t.has(n)}function Qn(t,n){for(var e=-1,r=t.length;++e<r&&zn(n,t[e],0)>-1;);return e}function te(t,n){for(var e=t.length;e--&&zn(n,t[e],0)>-1;);return e}var ne=Jn({À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"}),ee=Jn({"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"});function re(t){return"\\"+an[t]}function ie(t){return tn.test(t)}function oe(t){var n=-1,e=Array(t.size);return t.forEach((function(t,r){e[++n]=[r,t]})),e}function ue(t,n){return function(e){return t(n(e))}}function ae(t,n){for(var e=-1,r=t.length,i=0,o=[];++e<r;){var u=t[e];u!==n&&u!==a||(t[e]=a,o[i++]=e)}return o}function se(t){var n=-1,e=Array(t.size);return t.forEach((function(t){e[++n]=t})),e}function ce(t){var n=-1,e=Array(t.size);return t.forEach((function(t){e[++n]=[t,t]})),e}function le(t){return ie(t)?function(t){for(var n=Xt.lastIndex=0;Xt.test(t);)++n;return n}(t):qn(t)}function fe(t){return ie(t)?function(t){return t.match(Xt)||[]}(t):function(t){return t.split("")}(t)}function he(t){for(var n=t.length;n--&&it.test(t.charAt(n)););return n}var pe=Jn({"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'"}),_e=function t(n){var e,r=(n=null==n?hn:_e.defaults(hn.Object(),n,_e.pick(hn,en))).Array,it=n.Date,bt=n.Error,$t=n.Function,xt=n.Math,kt=n.Object,Ot=n.RegExp,Ct=n.String,St=n.TypeError,jt=r.prototype,Et=$t.prototype,At=kt.prototype,Nt=n["__core-js_shared__"],Rt=Et.toString,Pt=At.hasOwnProperty,It=0,Ft=(e=/[^.]+$/.exec(Nt&&Nt.keys&&Nt.keys.IE_PROTO||""))?"Symbol(src)_1."+e:"",Lt=At.toString,qt=Rt.call(kt),Tt=hn._,Ut=Ot("^"+Rt.call(Pt).replace(nt,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),zt=dn?n.Buffer:i,Mt=n.Symbol,Dt=n.Uint8Array,Wt=zt?zt.allocUnsafe:i,Bt=ue(kt.getPrototypeOf,kt),Jt=kt.create,Vt=At.propertyIsEnumerable,Gt=jt.splice,Zt=Mt?Mt.isConcatSpreadable:i,Kt=Mt?Mt.iterator:i,Xt=Mt?Mt.toStringTag:i,tn=function(){try{var t=so(kt,"defineProperty");return t({},"",{}),t}catch(t){}}(),an=n.clearTimeout!==hn.clearTimeout&&n.clearTimeout,ln=it&&it.now!==hn.Date.now&&it.now,fn=n.setTimeout!==hn.setTimeout&&n.setTimeout,pn=xt.ceil,_n=xt.floor,vn=kt.getOwnPropertySymbols,gn=zt?zt.isBuffer:i,qn=n.isFinite,Jn=jt.join,de=ue(kt.keys,kt),ve=xt.max,ge=xt.min,me=it.now,ye=n.parseInt,we=xt.random,be=jt.reverse,$e=so(n,"DataView"),xe=so(n,"Map"),ke=so(n,"Promise"),Oe=so(n,"Set"),Ce=so(n,"WeakMap"),Se=so(kt,"create"),je=Ce&&new Ce,Ee={},Ae=qo($e),Ne=qo(xe),Re=qo(ke),Pe=qo(Oe),Ie=qo(Ce),Fe=Mt?Mt.prototype:i,Le=Fe?Fe.valueOf:i,qe=Fe?Fe.toString:i;function Te(t){if(ta(t)&&!Wu(t)&&!(t instanceof De)){if(t instanceof Me)return t;if(Pt.call(t,"__wrapped__"))return To(t)}return new Me(t)}var Ue=function(){function t(){}return function(n){if(!Qu(n))return{};if(Jt)return Jt(n);t.prototype=n;var e=new t;return t.prototype=i,e}}();function ze(){}function Me(t,n){this.__wrapped__=t,this.__actions__=[],this.__chain__=!!n,this.__index__=0,this.__values__=i}function De(t){this.__wrapped__=t,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=p,this.__views__=[]}function We(t){var n=-1,e=null==t?0:t.length;for(this.clear();++n<e;){var r=t[n];this.set(r[0],r[1])}}function Be(t){var n=-1,e=null==t?0:t.length;for(this.clear();++n<e;){var r=t[n];this.set(r[0],r[1])}}function Je(t){var n=-1,e=null==t?0:t.length;for(this.clear();++n<e;){var r=t[n];this.set(r[0],r[1])}}function Ve(t){var n=-1,e=null==t?0:t.length;for(this.__data__=new Je;++n<e;)this.add(t[n])}function Ge(t){var n=this.__data__=new Be(t);this.size=n.size}function Ze(t,n){var e=Wu(t),r=!e&&Du(t),i=!e&&!r&&Gu(t),o=!e&&!r&&!i&&sa(t),u=e||r||i||o,a=u?Zn(t.length,Ct):[],s=a.length;for(var c in t)!n&&!Pt.call(t,c)||u&&("length"==c||i&&("offset"==c||"parent"==c)||o&&("buffer"==c||"byteLength"==c||"byteOffset"==c)||vo(c,s))||a.push(c);return a}function Ke(t){var n=t.length;return n?t[Jr(0,n-1)]:i}function He(t,n){return Ro(Ci(t),or(n,0,t.length))}function Ye(t){return Ro(Ci(t))}function Xe(t,n,e){(e!==i&&!Uu(t[n],e)||e===i&&!(n in t))&&rr(t,n,e)}function Qe(t,n,e){var r=t[n];Pt.call(t,n)&&Uu(r,e)&&(e!==i||n in t)||rr(t,n,e)}function tr(t,n){for(var e=t.length;e--;)if(Uu(t[e][0],n))return e;return-1}function nr(t,n,e,r){return lr(t,(function(t,i,o){n(r,t,e(t),o)})),r}function er(t,n){return t&&Si(n,Aa(n),t)}function rr(t,n,e){"__proto__"==n&&tn?tn(t,n,{configurable:!0,enumerable:!0,value:e,writable:!0}):t[n]=e}function ir(t,n){for(var e=-1,o=n.length,u=r(o),a=null==t;++e<o;)u[e]=a?i:Oa(t,n[e]);return u}function or(t,n,e){return t==t&&(e!==i&&(t=t<=e?t:e),n!==i&&(t=t>=n?t:n)),t}function ur(t,n,e,r,o,u){var a,s=1&n,c=2&n,l=4&n;if(e&&(a=o?e(t,r,o,u):e(t)),a!==i)return a;if(!Qu(t))return t;var f=Wu(t);if(f){if(a=function(t){var n=t.length,e=new t.constructor(n);return n&&"string"==typeof t[0]&&Pt.call(t,"index")&&(e.index=t.index,e.input=t.input),e}(t),!s)return Ci(t,a)}else{var h=fo(t),p=h==w||h==b;if(Gu(t))return wi(t,s);if(h==k||h==d||p&&!o){if(a=c||p?{}:po(t),!s)return c?function(t,n){return Si(t,lo(t),n)}(t,function(t,n){return t&&Si(n,Na(n),t)}(a,t)):function(t,n){return Si(t,co(t),n)}(t,er(a,t))}else{if(!un[h])return o?t:{};a=function(t,n,e){var r,i=t.constructor;switch(n){case N:return bi(t);case g:case m:return new i(+t);case R:return function(t,n){var e=n?bi(t.buffer):t.buffer;return new t.constructor(e,t.byteOffset,t.byteLength)}(t,e);case P:case I:case F:case L:case q:case T:case U:case z:case M:return $i(t,e);case $:return new i;case x:case j:return new i(t);case C:return function(t){var n=new t.constructor(t.source,ht.exec(t));return n.lastIndex=t.lastIndex,n}(t);case S:return new i;case E:return r=t,Le?kt(Le.call(r)):{}}}(t,h,s)}}u||(u=new Ge);var _=u.get(t);if(_)return _;u.set(t,a),oa(t)?t.forEach((function(r){a.add(ur(r,n,e,r,t,u))})):na(t)&&t.forEach((function(r,i){a.set(i,ur(r,n,e,i,t,u))}));var v=f?i:(l?c?no:to:c?Na:Aa)(t);return Cn(v||t,(function(r,i){v&&(r=t[i=r]),Qe(a,i,ur(r,n,e,i,t,u))})),a}function ar(t,n,e){var r=e.length;if(null==t)return!r;for(t=kt(t);r--;){var o=e[r],u=n[o],a=t[o];if(a===i&&!(o in t)||!u(a))return!1}return!0}function sr(t,n,e){if("function"!=typeof t)throw new St(o);return jo((function(){t.apply(i,e)}),n)}function cr(t,n,e,r){var i=-1,o=An,u=!0,a=t.length,s=[],c=n.length;if(!a)return s;e&&(n=Rn(n,Hn(e))),r?(o=Nn,u=!1):n.length>=200&&(o=Xn,u=!1,n=new Ve(n));t:for(;++i<a;){var l=t[i],f=null==e?l:e(l);if(l=r||0!==l?l:0,u&&f==f){for(var h=c;h--;)if(n[h]===f)continue t;s.push(l)}else o(n,f,r)||s.push(l)}return s}Te.templateSettings={escape:K,evaluate:H,interpolate:Y,variable:"",imports:{_:Te}},Te.prototype=ze.prototype,Te.prototype.constructor=Te,Me.prototype=Ue(ze.prototype),Me.prototype.constructor=Me,De.prototype=Ue(ze.prototype),De.prototype.constructor=De,We.prototype.clear=function(){this.__data__=Se?Se(null):{},this.size=0},We.prototype.delete=function(t){var n=this.has(t)&&delete this.__data__[t];return this.size-=n?1:0,n},We.prototype.get=function(t){var n=this.__data__;if(Se){var e=n[t];return e===u?i:e}return Pt.call(n,t)?n[t]:i},We.prototype.has=function(t){var n=this.__data__;return Se?n[t]!==i:Pt.call(n,t)},We.prototype.set=function(t,n){var e=this.__data__;return this.size+=this.has(t)?0:1,e[t]=Se&&n===i?u:n,this},Be.prototype.clear=function(){this.__data__=[],this.size=0},Be.prototype.delete=function(t){var n=this.__data__,e=tr(n,t);return!(e<0||(e==n.length-1?n.pop():Gt.call(n,e,1),--this.size,0))},Be.prototype.get=function(t){var n=this.__data__,e=tr(n,t);return e<0?i:n[e][1]},Be.prototype.has=function(t){return tr(this.__data__,t)>-1},Be.prototype.set=function(t,n){var e=this.__data__,r=tr(e,t);return r<0?(++this.size,e.push([t,n])):e[r][1]=n,this},Je.prototype.clear=function(){this.size=0,this.__data__={hash:new We,map:new(xe||Be),string:new We}},Je.prototype.delete=function(t){var n=uo(this,t).delete(t);return this.size-=n?1:0,n},Je.prototype.get=function(t){return uo(this,t).get(t)},Je.prototype.has=function(t){return uo(this,t).has(t)},Je.prototype.set=function(t,n){var e=uo(this,t),r=e.size;return e.set(t,n),this.size+=e.size==r?0:1,this},Ve.prototype.add=Ve.prototype.push=function(t){return this.__data__.set(t,u),this},Ve.prototype.has=function(t){return this.__data__.has(t)},Ge.prototype.clear=function(){this.__data__=new Be,this.size=0},Ge.prototype.delete=function(t){var n=this.__data__,e=n.delete(t);return this.size=n.size,e},Ge.prototype.get=function(t){return this.__data__.get(t)},Ge.prototype.has=function(t){return this.__data__.has(t)},Ge.prototype.set=function(t,n){var e=this.__data__;if(e instanceof Be){var r=e.__data__;if(!xe||r.length<199)return r.push([t,n]),this.size=++e.size,this;e=this.__data__=new Je(r)}return e.set(t,n),this.size=e.size,this};var lr=Ai(mr),fr=Ai(yr,!0);function hr(t,n){var e=!0;return lr(t,(function(t,r,i){return e=!!n(t,r,i)})),e}function pr(t,n,e){for(var r=-1,o=t.length;++r<o;){var u=t[r],a=n(u);if(null!=a&&(s===i?a==a&&!aa(a):e(a,s)))var s=a,c=u}return c}function _r(t,n){var e=[];return lr(t,(function(t,r,i){n(t,r,i)&&e.push(t)})),e}function dr(t,n,e,r,i){var o=-1,u=t.length;for(e||(e=_o),i||(i=[]);++o<u;){var a=t[o];n>0&&e(a)?n>1?dr(a,n-1,e,r,i):Pn(i,a):r||(i[i.length]=a)}return i}var vr=Ni(),gr=Ni(!0);function mr(t,n){return t&&vr(t,n,Aa)}function yr(t,n){return t&&gr(t,n,Aa)}function wr(t,n){return En(n,(function(n){return Hu(t[n])}))}function br(t,n){for(var e=0,r=(n=vi(n,t)).length;null!=t&&e<r;)t=t[Lo(n[e++])];return e&&e==r?t:i}function $r(t,n,e){var r=n(t);return Wu(t)?r:Pn(r,e(t))}function xr(t){return null==t?t===i?"[object Undefined]":"[object Null]":Xt&&Xt in kt(t)?function(t){var n=Pt.call(t,Xt),e=t[Xt];try{t[Xt]=i;var r=!0}catch(t){}var o=Lt.call(t);return r&&(n?t[Xt]=e:delete t[Xt]),o}(t):function(t){return Lt.call(t)}(t)}function kr(t,n){return t>n}function Or(t,n){return null!=t&&Pt.call(t,n)}function Cr(t,n){return null!=t&&n in kt(t)}function Sr(t,n,e){for(var o=e?Nn:An,u=t[0].length,a=t.length,s=a,c=r(a),l=1/0,f=[];s--;){var h=t[s];s&&n&&(h=Rn(h,Hn(n))),l=ge(h.length,l),c[s]=!e&&(n||u>=120&&h.length>=120)?new Ve(s&&h):i}h=t[0];var p=-1,_=c[0];t:for(;++p<u&&f.length<l;){var d=h[p],v=n?n(d):d;if(d=e||0!==d?d:0,!(_?Xn(_,v):o(f,v,e))){for(s=a;--s;){var g=c[s];if(!(g?Xn(g,v):o(t[s],v,e)))continue t}_&&_.push(v),f.push(d)}}return f}function jr(t,n,e){var r=null==(t=Oo(t,n=vi(n,t)))?t:t[Lo(Ko(n))];return null==r?i:kn(r,t,e)}function Er(t){return ta(t)&&xr(t)==d}function Ar(t,n,e,r,o){return t===n||(null==t||null==n||!ta(t)&&!ta(n)?t!=t&&n!=n:function(t,n,e,r,o,u){var a=Wu(t),s=Wu(n),c=a?v:fo(t),l=s?v:fo(n),f=(c=c==d?k:c)==k,h=(l=l==d?k:l)==k,p=c==l;if(p&&Gu(t)){if(!Gu(n))return!1;a=!0,f=!1}if(p&&!f)return u||(u=new Ge),a||sa(t)?Xi(t,n,e,r,o,u):function(t,n,e,r,i,o,u){switch(e){case R:if(t.byteLength!=n.byteLength||t.byteOffset!=n.byteOffset)return!1;t=t.buffer,n=n.buffer;case N:return!(t.byteLength!=n.byteLength||!o(new Dt(t),new Dt(n)));case g:case m:case x:return Uu(+t,+n);case y:return t.name==n.name&&t.message==n.message;case C:case j:return t==n+"";case $:var a=oe;case S:var s=1&r;if(a||(a=se),t.size!=n.size&&!s)return!1;var c=u.get(t);if(c)return c==n;r|=2,u.set(t,n);var l=Xi(a(t),a(n),r,i,o,u);return u.delete(t),l;case E:if(Le)return Le.call(t)==Le.call(n)}return!1}(t,n,c,e,r,o,u);if(!(1&e)){var _=f&&Pt.call(t,"__wrapped__"),w=h&&Pt.call(n,"__wrapped__");if(_||w){var b=_?t.value():t,O=w?n.value():n;return u||(u=new Ge),o(b,O,e,r,u)}}return!!p&&(u||(u=new Ge),function(t,n,e,r,o,u){var a=1&e,s=to(t),c=s.length;if(c!=to(n).length&&!a)return!1;for(var l=c;l--;){var f=s[l];if(!(a?f in n:Pt.call(n,f)))return!1}var h=u.get(t),p=u.get(n);if(h&&p)return h==n&&p==t;var _=!0;u.set(t,n),u.set(n,t);for(var d=a;++l<c;){var v=t[f=s[l]],g=n[f];if(r)var m=a?r(g,v,f,n,t,u):r(v,g,f,t,n,u);if(!(m===i?v===g||o(v,g,e,r,u):m)){_=!1;break}d||(d="constructor"==f)}if(_&&!d){var y=t.constructor,w=n.constructor;y==w||!("constructor"in t)||!("constructor"in n)||"function"==typeof y&&y instanceof y&&"function"==typeof w&&w instanceof w||(_=!1)}return u.delete(t),u.delete(n),_}(t,n,e,r,o,u))}(t,n,e,r,Ar,o))}function Nr(t,n,e,r){var o=e.length,u=o,a=!r;if(null==t)return!u;for(t=kt(t);o--;){var s=e[o];if(a&&s[2]?s[1]!==t[s[0]]:!(s[0]in t))return!1}for(;++o<u;){var c=(s=e[o])[0],l=t[c],f=s[1];if(a&&s[2]){if(l===i&&!(c in t))return!1}else{var h=new Ge;if(r)var p=r(l,f,c,t,n,h);if(!(p===i?Ar(f,l,3,r,h):p))return!1}}return!0}function Rr(t){return!(!Qu(t)||(n=t,Ft&&Ft in n))&&(Hu(t)?Ut:dt).test(qo(t));var n}function Pr(t){return"function"==typeof t?t:null==t?es:"object"==typeof t?Wu(t)?Tr(t[0],t[1]):qr(t):fs(t)}function Ir(t){if(!bo(t))return de(t);var n=[];for(var e in kt(t))Pt.call(t,e)&&"constructor"!=e&&n.push(e);return n}function Fr(t,n){return t<n}function Lr(t,n){var e=-1,i=Ju(t)?r(t.length):[];return lr(t,(function(t,r,o){i[++e]=n(t,r,o)})),i}function qr(t){var n=ao(t);return 1==n.length&&n[0][2]?xo(n[0][0],n[0][1]):function(e){return e===t||Nr(e,t,n)}}function Tr(t,n){return mo(t)&&$o(n)?xo(Lo(t),n):function(e){var r=Oa(e,t);return r===i&&r===n?Ca(e,t):Ar(n,r,3)}}function Ur(t,n,e,r,o){t!==n&&vr(n,(function(u,a){if(o||(o=new Ge),Qu(u))!function(t,n,e,r,o,u,a){var s=Co(t,e),c=Co(n,e),l=a.get(c);if(l)Xe(t,e,l);else{var f=u?u(s,c,e+"",t,n,a):i,h=f===i;if(h){var p=Wu(c),_=!p&&Gu(c),d=!p&&!_&&sa(c);f=c,p||_||d?Wu(s)?f=s:Vu(s)?f=Ci(s):_?(h=!1,f=wi(c,!0)):d?(h=!1,f=$i(c,!0)):f=[]:ra(c)||Du(c)?(f=s,Du(s)?f=va(s):Qu(s)&&!Hu(s)||(f=po(c))):h=!1}h&&(a.set(c,f),o(f,c,r,u,a),a.delete(c)),Xe(t,e,f)}}(t,n,a,e,Ur,r,o);else{var s=r?r(Co(t,a),u,a+"",t,n,o):i;s===i&&(s=u),Xe(t,a,s)}}),Na)}function zr(t,n){var e=t.length;if(e)return vo(n+=n<0?e:0,e)?t[n]:i}function Mr(t,n,e){n=n.length?Rn(n,(function(t){return Wu(t)?function(n){return br(n,1===t.length?t[0]:t)}:t})):[es];var r=-1;n=Rn(n,Hn(oo()));var i=Lr(t,(function(t,e,i){var o=Rn(n,(function(n){return n(t)}));return{criteria:o,index:++r,value:t}}));return function(t,n){var r=t.length;for(t.sort((function(t,n){return function(t,n,e){for(var r=-1,i=t.criteria,o=n.criteria,u=i.length,a=e.length;++r<u;){var s=xi(i[r],o[r]);if(s)return r>=a?s:s*("desc"==e[r]?-1:1)}return t.index-n.index}(t,n,e)}));r--;)t[r]=t[r].value;return t}(i)}function Dr(t,n,e){for(var r=-1,i=n.length,o={};++r<i;){var u=n[r],a=br(t,u);e(a,u)&&Hr(o,vi(u,t),a)}return o}function Wr(t,n,e,r){var i=r?Mn:zn,o=-1,u=n.length,a=t;for(t===n&&(n=Ci(n)),e&&(a=Rn(t,Hn(e)));++o<u;)for(var s=0,c=n[o],l=e?e(c):c;(s=i(a,l,s,r))>-1;)a!==t&&Gt.call(a,s,1),Gt.call(t,s,1);return t}function Br(t,n){for(var e=t?n.length:0,r=e-1;e--;){var i=n[e];if(e==r||i!==o){var o=i;vo(i)?Gt.call(t,i,1):si(t,i)}}return t}function Jr(t,n){return t+_n(we()*(n-t+1))}function Vr(t,n){var e="";if(!t||n<1||n>f)return e;do{n%2&&(e+=t),(n=_n(n/2))&&(t+=t)}while(n);return e}function Gr(t,n){return Eo(ko(t,n,es),t+"")}function Zr(t){return Ke(Ua(t))}function Kr(t,n){var e=Ua(t);return Ro(e,or(n,0,e.length))}function Hr(t,n,e,r){if(!Qu(t))return t;for(var o=-1,u=(n=vi(n,t)).length,a=u-1,s=t;null!=s&&++o<u;){var c=Lo(n[o]),l=e;if("__proto__"===c||"constructor"===c||"prototype"===c)return t;if(o!=a){var f=s[c];(l=r?r(f,c,s):i)===i&&(l=Qu(f)?f:vo(n[o+1])?[]:{})}Qe(s,c,l),s=s[c]}return t}var Yr=je?function(t,n){return je.set(t,n),t}:es,Xr=tn?function(t,n){return tn(t,"toString",{configurable:!0,enumerable:!1,value:Qa(n),writable:!0})}:es;function Qr(t){return Ro(Ua(t))}function ti(t,n,e){var i=-1,o=t.length;n<0&&(n=-n>o?0:o+n),(e=e>o?o:e)<0&&(e+=o),o=n>e?0:e-n>>>0,n>>>=0;for(var u=r(o);++i<o;)u[i]=t[i+n];return u}function ni(t,n){var e;return lr(t,(function(t,r,i){return!(e=n(t,r,i))})),!!e}function ei(t,n,e){var r=0,i=null==t?r:t.length;if("number"==typeof n&&n==n&&i<=2147483647){for(;r<i;){var o=r+i>>>1,u=t[o];null!==u&&!aa(u)&&(e?u<=n:u<n)?r=o+1:i=o}return i}return ri(t,n,es,e)}function ri(t,n,e,r){var o=0,u=null==t?0:t.length;if(0===u)return 0;for(var a=(n=e(n))!=n,s=null===n,c=aa(n),l=n===i;o<u;){var f=_n((o+u)/2),h=e(t[f]),p=h!==i,_=null===h,d=h==h,v=aa(h);if(a)var g=r||d;else g=l?d&&(r||p):s?d&&p&&(r||!_):c?d&&p&&!_&&(r||!v):!_&&!v&&(r?h<=n:h<n);g?o=f+1:u=f}return ge(u,4294967294)}function ii(t,n){for(var e=-1,r=t.length,i=0,o=[];++e<r;){var u=t[e],a=n?n(u):u;if(!e||!Uu(a,s)){var s=a;o[i++]=0===u?0:u}}return o}function oi(t){return"number"==typeof t?t:aa(t)?h:+t}function ui(t){if("string"==typeof t)return t;if(Wu(t))return Rn(t,ui)+"";if(aa(t))return qe?qe.call(t):"";var n=t+"";return"0"==n&&1/t==-1/0?"-0":n}function ai(t,n,e){var r=-1,i=An,o=t.length,u=!0,a=[],s=a;if(e)u=!1,i=Nn;else if(o>=200){var c=n?null:Vi(t);if(c)return se(c);u=!1,i=Xn,s=new Ve}else s=n?[]:a;t:for(;++r<o;){var l=t[r],f=n?n(l):l;if(l=e||0!==l?l:0,u&&f==f){for(var h=s.length;h--;)if(s[h]===f)continue t;n&&s.push(f),a.push(l)}else i(s,f,e)||(s!==a&&s.push(f),a.push(l))}return a}function si(t,n){return null==(t=Oo(t,n=vi(n,t)))||delete t[Lo(Ko(n))]}function ci(t,n,e,r){return Hr(t,n,e(br(t,n)),r)}function li(t,n,e,r){for(var i=t.length,o=r?i:-1;(r?o--:++o<i)&&n(t[o],o,t););return e?ti(t,r?0:o,r?o+1:i):ti(t,r?o+1:0,r?i:o)}function fi(t,n){var e=t;return e instanceof De&&(e=e.value()),In(n,(function(t,n){return n.func.apply(n.thisArg,Pn([t],n.args))}),e)}function hi(t,n,e){var i=t.length;if(i<2)return i?ai(t[0]):[];for(var o=-1,u=r(i);++o<i;)for(var a=t[o],s=-1;++s<i;)s!=o&&(u[o]=cr(u[o]||a,t[s],n,e));return ai(dr(u,1),n,e)}function pi(t,n,e){for(var r=-1,o=t.length,u=n.length,a={};++r<o;){var s=r<u?n[r]:i;e(a,t[r],s)}return a}function _i(t){return Vu(t)?t:[]}function di(t){return"function"==typeof t?t:es}function vi(t,n){return Wu(t)?t:mo(t,n)?[t]:Fo(ga(t))}var gi=Gr;function mi(t,n,e){var r=t.length;return e=e===i?r:e,!n&&e>=r?t:ti(t,n,e)}var yi=an||function(t){return hn.clearTimeout(t)};function wi(t,n){if(n)return t.slice();var e=t.length,r=Wt?Wt(e):new t.constructor(e);return t.copy(r),r}function bi(t){var n=new t.constructor(t.byteLength);return new Dt(n).set(new Dt(t)),n}function $i(t,n){var e=n?bi(t.buffer):t.buffer;return new t.constructor(e,t.byteOffset,t.length)}function xi(t,n){if(t!==n){var e=t!==i,r=null===t,o=t==t,u=aa(t),a=n!==i,s=null===n,c=n==n,l=aa(n);if(!s&&!l&&!u&&t>n||u&&a&&c&&!s&&!l||r&&a&&c||!e&&c||!o)return 1;if(!r&&!u&&!l&&t<n||l&&e&&o&&!r&&!u||s&&e&&o||!a&&o||!c)return-1}return 0}function ki(t,n,e,i){for(var o=-1,u=t.length,a=e.length,s=-1,c=n.length,l=ve(u-a,0),f=r(c+l),h=!i;++s<c;)f[s]=n[s];for(;++o<a;)(h||o<u)&&(f[e[o]]=t[o]);for(;l--;)f[s++]=t[o++];return f}function Oi(t,n,e,i){for(var o=-1,u=t.length,a=-1,s=e.length,c=-1,l=n.length,f=ve(u-s,0),h=r(f+l),p=!i;++o<f;)h[o]=t[o];for(var _=o;++c<l;)h[_+c]=n[c];for(;++a<s;)(p||o<u)&&(h[_+e[a]]=t[o++]);return h}function Ci(t,n){var e=-1,i=t.length;for(n||(n=r(i));++e<i;)n[e]=t[e];return n}function Si(t,n,e,r){var o=!e;e||(e={});for(var u=-1,a=n.length;++u<a;){var s=n[u],c=r?r(e[s],t[s],s,e,t):i;c===i&&(c=t[s]),o?rr(e,s,c):Qe(e,s,c)}return e}function ji(t,n){return function(e,r){var i=Wu(e)?On:nr,o=n?n():{};return i(e,t,oo(r,2),o)}}function Ei(t){return Gr((function(n,e){var r=-1,o=e.length,u=o>1?e[o-1]:i,a=o>2?e[2]:i;for(u=t.length>3&&"function"==typeof u?(o--,u):i,a&&go(e[0],e[1],a)&&(u=o<3?i:u,o=1),n=kt(n);++r<o;){var s=e[r];s&&t(n,s,r,u)}return n}))}function Ai(t,n){return function(e,r){if(null==e)return e;if(!Ju(e))return t(e,r);for(var i=e.length,o=n?i:-1,u=kt(e);(n?o--:++o<i)&&!1!==r(u[o],o,u););return e}}function Ni(t){return function(n,e,r){for(var i=-1,o=kt(n),u=r(n),a=u.length;a--;){var s=u[t?a:++i];if(!1===e(o[s],s,o))break}return n}}function Ri(t){return function(n){var e=ie(n=ga(n))?fe(n):i,r=e?e[0]:n.charAt(0),o=e?mi(e,1).join(""):n.slice(1);return r[t]()+o}}function Pi(t){return function(n){return In(Ha(Da(n).replace(Ht,"")),t,"")}}function Ii(t){return function(){var n=arguments;switch(n.length){case 0:return new t;case 1:return new t(n[0]);case 2:return new t(n[0],n[1]);case 3:return new t(n[0],n[1],n[2]);case 4:return new t(n[0],n[1],n[2],n[3]);case 5:return new t(n[0],n[1],n[2],n[3],n[4]);case 6:return new t(n[0],n[1],n[2],n[3],n[4],n[5]);case 7:return new t(n[0],n[1],n[2],n[3],n[4],n[5],n[6])}var e=Ue(t.prototype),r=t.apply(e,n);return Qu(r)?r:e}}function Fi(t){return function(n,e,r){var o=kt(n);if(!Ju(n)){var u=oo(e,3);n=Aa(n),e=function(t){return u(o[t],t,o)}}var a=t(n,e,r);return a>-1?o[u?n[a]:a]:i}}function Li(t){return Qi((function(n){var e=n.length,r=e,u=Me.prototype.thru;for(t&&n.reverse();r--;){var a=n[r];if("function"!=typeof a)throw new St(o);if(u&&!s&&"wrapper"==ro(a))var s=new Me([],!0)}for(r=s?r:e;++r<e;){var c=ro(a=n[r]),l="wrapper"==c?eo(a):i;s=l&&yo(l[0])&&424==l[1]&&!l[4].length&&1==l[9]?s[ro(l[0])].apply(s,l[3]):1==a.length&&yo(a)?s[c]():s.thru(a)}return function(){var t=arguments,r=t[0];if(s&&1==t.length&&Wu(r))return s.plant(r).value();for(var i=0,o=e?n[i].apply(this,t):r;++i<e;)o=n[i].call(this,o);return o}}))}function qi(t,n,e,o,u,a,s,l,f,h){var p=n&c,_=1&n,d=2&n,v=24&n,g=512&n,m=d?i:Ii(t);return function c(){for(var y=arguments.length,w=r(y),b=y;b--;)w[b]=arguments[b];if(v)var $=io(c),x=function(t,n){for(var e=t.length,r=0;e--;)t[e]===n&&++r;return r}(w,$);if(o&&(w=ki(w,o,u,v)),a&&(w=Oi(w,a,s,v)),y-=x,v&&y<h){var k=ae(w,$);return Bi(t,n,qi,c.placeholder,e,w,k,l,f,h-y)}var O=_?e:this,C=d?O[t]:t;return y=w.length,l?w=function(t,n){for(var e=t.length,r=ge(n.length,e),o=Ci(t);r--;){var u=n[r];t[r]=vo(u,e)?o[u]:i}return t}(w,l):g&&y>1&&w.reverse(),p&&f<y&&(w.length=f),this&&this!==hn&&this instanceof c&&(C=m||Ii(C)),C.apply(O,w)}}function Ti(t,n){return function(e,r){return function(t,n,e,r){return mr(t,(function(t,i,o){n(r,e(t),i,o)})),r}(e,t,n(r),{})}}function Ui(t,n){return function(e,r){var o;if(e===i&&r===i)return n;if(e!==i&&(o=e),r!==i){if(o===i)return r;"string"==typeof e||"string"==typeof r?(e=ui(e),r=ui(r)):(e=oi(e),r=oi(r)),o=t(e,r)}return o}}function zi(t){return Qi((function(n){return n=Rn(n,Hn(oo())),Gr((function(e){var r=this;return t(n,(function(t){return kn(t,r,e)}))}))}))}function Mi(t,n){var e=(n=n===i?" ":ui(n)).length;if(e<2)return e?Vr(n,t):n;var r=Vr(n,pn(t/le(n)));return ie(n)?mi(fe(r),0,t).join(""):r.slice(0,t)}function Di(t){return function(n,e,o){return o&&"number"!=typeof o&&go(n,e,o)&&(e=o=i),n=ha(n),e===i?(e=n,n=0):e=ha(e),function(t,n,e,i){for(var o=-1,u=ve(pn((n-t)/(e||1)),0),a=r(u);u--;)a[i?u:++o]=t,t+=e;return a}(n,e,o=o===i?n<e?1:-1:ha(o),t)}}function Wi(t){return function(n,e){return"string"==typeof n&&"string"==typeof e||(n=da(n),e=da(e)),t(n,e)}}function Bi(t,n,e,r,o,u,a,c,l,f){var h=8&n;n|=h?s:64,4&(n&=~(h?64:s))||(n&=-4);var p=[t,n,o,h?u:i,h?a:i,h?i:u,h?i:a,c,l,f],_=e.apply(i,p);return yo(t)&&So(_,p),_.placeholder=r,Ao(_,t,n)}function Ji(t){var n=xt[t];return function(t,e){if(t=da(t),(e=null==e?0:ge(pa(e),292))&&qn(t)){var r=(ga(t)+"e").split("e");return+((r=(ga(n(r[0]+"e"+(+r[1]+e)))+"e").split("e"))[0]+"e"+(+r[1]-e))}return n(t)}}var Vi=Oe&&1/se(new Oe([,-0]))[1]==l?function(t){return new Oe(t)}:as;function Gi(t){return function(n){var e=fo(n);return e==$?oe(n):e==S?ce(n):function(t,n){return Rn(n,(function(n){return[n,t[n]]}))}(n,t(n))}}function Zi(t,n,e,u,l,f,h,p){var _=2&n;if(!_&&"function"!=typeof t)throw new St(o);var d=u?u.length:0;if(d||(n&=-97,u=l=i),h=h===i?h:ve(pa(h),0),p=p===i?p:pa(p),d-=l?l.length:0,64&n){var v=u,g=l;u=l=i}var m=_?i:eo(t),y=[t,n,e,u,l,v,g,f,h,p];if(m&&function(t,n){var e=t[1],r=n[1],i=e|r,o=i<131,u=r==c&&8==e||r==c&&256==e&&t[7].length<=n[8]||384==r&&n[7].length<=n[8]&&8==e;if(!o&&!u)return t;1&r&&(t[2]=n[2],i|=1&e?0:4);var s=n[3];if(s){var l=t[3];t[3]=l?ki(l,s,n[4]):s,t[4]=l?ae(t[3],a):n[4]}(s=n[5])&&(l=t[5],t[5]=l?Oi(l,s,n[6]):s,t[6]=l?ae(t[5],a):n[6]),(s=n[7])&&(t[7]=s),r&c&&(t[8]=null==t[8]?n[8]:ge(t[8],n[8])),null==t[9]&&(t[9]=n[9]),t[0]=n[0],t[1]=i}(y,m),t=y[0],n=y[1],e=y[2],u=y[3],l=y[4],!(p=y[9]=y[9]===i?_?0:t.length:ve(y[9]-d,0))&&24&n&&(n&=-25),n&&1!=n)w=8==n||16==n?function(t,n,e){var o=Ii(t);return function u(){for(var a=arguments.length,s=r(a),c=a,l=io(u);c--;)s[c]=arguments[c];var f=a<3&&s[0]!==l&&s[a-1]!==l?[]:ae(s,l);return(a-=f.length)<e?Bi(t,n,qi,u.placeholder,i,s,f,i,i,e-a):kn(this&&this!==hn&&this instanceof u?o:t,this,s)}}(t,n,p):n!=s&&33!=n||l.length?qi.apply(i,y):function(t,n,e,i){var o=1&n,u=Ii(t);return function n(){for(var a=-1,s=arguments.length,c=-1,l=i.length,f=r(l+s),h=this&&this!==hn&&this instanceof n?u:t;++c<l;)f[c]=i[c];for(;s--;)f[c++]=arguments[++a];return kn(h,o?e:this,f)}}(t,n,e,u);else var w=function(t,n,e){var r=1&n,i=Ii(t);return function n(){return(this&&this!==hn&&this instanceof n?i:t).apply(r?e:this,arguments)}}(t,n,e);return Ao((m?Yr:So)(w,y),t,n)}function Ki(t,n,e,r){return t===i||Uu(t,At[e])&&!Pt.call(r,e)?n:t}function Hi(t,n,e,r,o,u){return Qu(t)&&Qu(n)&&(u.set(n,t),Ur(t,n,i,Hi,u),u.delete(n)),t}function Yi(t){return ra(t)?i:t}function Xi(t,n,e,r,o,u){var a=1&e,s=t.length,c=n.length;if(s!=c&&!(a&&c>s))return!1;var l=u.get(t),f=u.get(n);if(l&&f)return l==n&&f==t;var h=-1,p=!0,_=2&e?new Ve:i;for(u.set(t,n),u.set(n,t);++h<s;){var d=t[h],v=n[h];if(r)var g=a?r(v,d,h,n,t,u):r(d,v,h,t,n,u);if(g!==i){if(g)continue;p=!1;break}if(_){if(!Ln(n,(function(t,n){if(!Xn(_,n)&&(d===t||o(d,t,e,r,u)))return _.push(n)}))){p=!1;break}}else if(d!==v&&!o(d,v,e,r,u)){p=!1;break}}return u.delete(t),u.delete(n),p}function Qi(t){return Eo(ko(t,i,Bo),t+"")}function to(t){return $r(t,Aa,co)}function no(t){return $r(t,Na,lo)}var eo=je?function(t){return je.get(t)}:as;function ro(t){for(var n=t.name+"",e=Ee[n],r=Pt.call(Ee,n)?e.length:0;r--;){var i=e[r],o=i.func;if(null==o||o==t)return i.name}return n}function io(t){return(Pt.call(Te,"placeholder")?Te:t).placeholder}function oo(){var t=Te.iteratee||rs;return t=t===rs?Pr:t,arguments.length?t(arguments[0],arguments[1]):t}function uo(t,n){var e,r,i=t.__data__;return("string"==(r=typeof(e=n))||"number"==r||"symbol"==r||"boolean"==r?"__proto__"!==e:null===e)?i["string"==typeof n?"string":"hash"]:i.map}function ao(t){for(var n=Aa(t),e=n.length;e--;){var r=n[e],i=t[r];n[e]=[r,i,$o(i)]}return n}function so(t,n){var e=function(t,n){return null==t?i:t[n]}(t,n);return Rr(e)?e:i}var co=vn?function(t){return null==t?[]:(t=kt(t),En(vn(t),(function(n){return Vt.call(t,n)})))}:_s,lo=vn?function(t){for(var n=[];t;)Pn(n,co(t)),t=Bt(t);return n}:_s,fo=xr;function ho(t,n,e){for(var r=-1,i=(n=vi(n,t)).length,o=!1;++r<i;){var u=Lo(n[r]);if(!(o=null!=t&&e(t,u)))break;t=t[u]}return o||++r!=i?o:!!(i=null==t?0:t.length)&&Xu(i)&&vo(u,i)&&(Wu(t)||Du(t))}function po(t){return"function"!=typeof t.constructor||bo(t)?{}:Ue(Bt(t))}function _o(t){return Wu(t)||Du(t)||!!(Zt&&t&&t[Zt])}function vo(t,n){var e=typeof t;return!!(n=null==n?f:n)&&("number"==e||"symbol"!=e&&gt.test(t))&&t>-1&&t%1==0&&t<n}function go(t,n,e){if(!Qu(e))return!1;var r=typeof n;return!!("number"==r?Ju(e)&&vo(n,e.length):"string"==r&&n in e)&&Uu(e[n],t)}function mo(t,n){if(Wu(t))return!1;var e=typeof t;return!("number"!=e&&"symbol"!=e&&"boolean"!=e&&null!=t&&!aa(t))||Q.test(t)||!X.test(t)||null!=n&&t in kt(n)}function yo(t){var n=ro(t),e=Te[n];if("function"!=typeof e||!(n in De.prototype))return!1;if(t===e)return!0;var r=eo(e);return!!r&&t===r[0]}($e&&fo(new $e(new ArrayBuffer(1)))!=R||xe&&fo(new xe)!=$||ke&&fo(ke.resolve())!=O||Oe&&fo(new Oe)!=S||Ce&&fo(new Ce)!=A)&&(fo=function(t){var n=xr(t),e=n==k?t.constructor:i,r=e?qo(e):"";if(r)switch(r){case Ae:return R;case Ne:return $;case Re:return O;case Pe:return S;case Ie:return A}return n});var wo=Nt?Hu:ds;function bo(t){var n=t&&t.constructor;return t===("function"==typeof n&&n.prototype||At)}function $o(t){return t==t&&!Qu(t)}function xo(t,n){return function(e){return null!=e&&e[t]===n&&(n!==i||t in kt(e))}}function ko(t,n,e){return n=ve(n===i?t.length-1:n,0),function(){for(var i=arguments,o=-1,u=ve(i.length-n,0),a=r(u);++o<u;)a[o]=i[n+o];o=-1;for(var s=r(n+1);++o<n;)s[o]=i[o];return s[n]=e(a),kn(t,this,s)}}function Oo(t,n){return n.length<2?t:br(t,ti(n,0,-1))}function Co(t,n){if(("constructor"!==n||"function"!=typeof t[n])&&"__proto__"!=n)return t[n]}var So=No(Yr),jo=fn||function(t,n){return hn.setTimeout(t,n)},Eo=No(Xr);function Ao(t,n,e){var r=n+"";return Eo(t,function(t,n){var e=n.length;if(!e)return t;var r=e-1;return n[r]=(e>1?"& ":"")+n[r],n=n.join(e>2?", ":" "),t.replace(ot,"{\n/* [wrapped with "+n+"] */\n")}(r,function(t,n){return Cn(_,(function(e){var r="_."+e[0];n&e[1]&&!An(t,r)&&t.push(r)})),t.sort()}(function(t){var n=t.match(ut);return n?n[1].split(at):[]}(r),e)))}function No(t){var n=0,e=0;return function(){var r=me(),o=16-(r-e);if(e=r,o>0){if(++n>=800)return arguments[0]}else n=0;return t.apply(i,arguments)}}function Ro(t,n){var e=-1,r=t.length,o=r-1;for(n=n===i?r:n;++e<n;){var u=Jr(e,o),a=t[u];t[u]=t[e],t[e]=a}return t.length=n,t}var Po,Io,Fo=(Po=Pu((function(t){var n=[];return 46===t.charCodeAt(0)&&n.push(""),t.replace(tt,(function(t,e,r,i){n.push(r?i.replace(lt,"$1"):e||t)})),n}),(function(t){return 500===Io.size&&Io.clear(),t})),Io=Po.cache,Po);function Lo(t){if("string"==typeof t||aa(t))return t;var n=t+"";return"0"==n&&1/t==-1/0?"-0":n}function qo(t){if(null!=t){try{return Rt.call(t)}catch(t){}try{return t+""}catch(t){}}return""}function To(t){if(t instanceof De)return t.clone();var n=new Me(t.__wrapped__,t.__chain__);return n.__actions__=Ci(t.__actions__),n.__index__=t.__index__,n.__values__=t.__values__,n}var Uo=Gr((function(t,n){return Vu(t)?cr(t,dr(n,1,Vu,!0)):[]})),zo=Gr((function(t,n){var e=Ko(n);return Vu(e)&&(e=i),Vu(t)?cr(t,dr(n,1,Vu,!0),oo(e,2)):[]})),Mo=Gr((function(t,n){var e=Ko(n);return Vu(e)&&(e=i),Vu(t)?cr(t,dr(n,1,Vu,!0),i,e):[]}));function Do(t,n,e){var r=null==t?0:t.length;if(!r)return-1;var i=null==e?0:pa(e);return i<0&&(i=ve(r+i,0)),Un(t,oo(n,3),i)}function Wo(t,n,e){var r=null==t?0:t.length;if(!r)return-1;var o=r-1;return e!==i&&(o=pa(e),o=e<0?ve(r+o,0):ge(o,r-1)),Un(t,oo(n,3),o,!0)}function Bo(t){return null!=t&&t.length?dr(t,1):[]}function Jo(t){return t&&t.length?t[0]:i}var Vo=Gr((function(t){var n=Rn(t,_i);return n.length&&n[0]===t[0]?Sr(n):[]})),Go=Gr((function(t){var n=Ko(t),e=Rn(t,_i);return n===Ko(e)?n=i:e.pop(),e.length&&e[0]===t[0]?Sr(e,oo(n,2)):[]})),Zo=Gr((function(t){var n=Ko(t),e=Rn(t,_i);return(n="function"==typeof n?n:i)&&e.pop(),e.length&&e[0]===t[0]?Sr(e,i,n):[]}));function Ko(t){var n=null==t?0:t.length;return n?t[n-1]:i}var Ho=Gr(Yo);function Yo(t,n){return t&&t.length&&n&&n.length?Wr(t,n):t}var Xo=Qi((function(t,n){var e=null==t?0:t.length,r=ir(t,n);return Br(t,Rn(n,(function(t){return vo(t,e)?+t:t})).sort(xi)),r}));function Qo(t){return null==t?t:be.call(t)}var tu=Gr((function(t){return ai(dr(t,1,Vu,!0))})),nu=Gr((function(t){var n=Ko(t);return Vu(n)&&(n=i),ai(dr(t,1,Vu,!0),oo(n,2))})),eu=Gr((function(t){var n=Ko(t);return n="function"==typeof n?n:i,ai(dr(t,1,Vu,!0),i,n)}));function ru(t){if(!t||!t.length)return[];var n=0;return t=En(t,(function(t){if(Vu(t))return n=ve(t.length,n),!0})),Zn(n,(function(n){return Rn(t,Bn(n))}))}function iu(t,n){if(!t||!t.length)return[];var e=ru(t);return null==n?e:Rn(e,(function(t){return kn(n,i,t)}))}var ou=Gr((function(t,n){return Vu(t)?cr(t,n):[]})),uu=Gr((function(t){return hi(En(t,Vu))})),au=Gr((function(t){var n=Ko(t);return Vu(n)&&(n=i),hi(En(t,Vu),oo(n,2))})),su=Gr((function(t){var n=Ko(t);return n="function"==typeof n?n:i,hi(En(t,Vu),i,n)})),cu=Gr(ru),lu=Gr((function(t){var n=t.length,e=n>1?t[n-1]:i;return e="function"==typeof e?(t.pop(),e):i,iu(t,e)}));function fu(t){var n=Te(t);return n.__chain__=!0,n}function hu(t,n){return n(t)}var pu=Qi((function(t){var n=t.length,e=n?t[0]:0,r=this.__wrapped__,o=function(n){return ir(n,t)};return!(n>1||this.__actions__.length)&&r instanceof De&&vo(e)?((r=r.slice(e,+e+(n?1:0))).__actions__.push({func:hu,args:[o],thisArg:i}),new Me(r,this.__chain__).thru((function(t){return n&&!t.length&&t.push(i),t}))):this.thru(o)})),_u=ji((function(t,n,e){Pt.call(t,e)?++t[e]:rr(t,e,1)})),du=Fi(Do),vu=Fi(Wo);function gu(t,n){return(Wu(t)?Cn:lr)(t,oo(n,3))}function mu(t,n){return(Wu(t)?Sn:fr)(t,oo(n,3))}var yu=ji((function(t,n,e){Pt.call(t,e)?t[e].push(n):rr(t,e,[n])})),wu=Gr((function(t,n,e){var i=-1,o="function"==typeof n,u=Ju(t)?r(t.length):[];return lr(t,(function(t){u[++i]=o?kn(n,t,e):jr(t,n,e)})),u})),bu=ji((function(t,n,e){rr(t,e,n)}));function $u(t,n){return(Wu(t)?Rn:Lr)(t,oo(n,3))}var xu=ji((function(t,n,e){t[e?0:1].push(n)}),(function(){return[[],[]]})),ku=Gr((function(t,n){if(null==t)return[];var e=n.length;return e>1&&go(t,n[0],n[1])?n=[]:e>2&&go(n[0],n[1],n[2])&&(n=[n[0]]),Mr(t,dr(n,1),[])})),Ou=ln||function(){return hn.Date.now()};function Cu(t,n,e){return n=e?i:n,n=t&&null==n?t.length:n,Zi(t,c,i,i,i,i,n)}function Su(t,n){var e;if("function"!=typeof n)throw new St(o);return t=pa(t),function(){return--t>0&&(e=n.apply(this,arguments)),t<=1&&(n=i),e}}var ju=Gr((function(t,n,e){var r=1;if(e.length){var i=ae(e,io(ju));r|=s}return Zi(t,r,n,e,i)})),Eu=Gr((function(t,n,e){var r=3;if(e.length){var i=ae(e,io(Eu));r|=s}return Zi(n,r,t,e,i)}));function Au(t,n,e){var r,u,a,s,c,l,f=0,h=!1,p=!1,_=!0;if("function"!=typeof t)throw new St(o);function d(n){var e=r,o=u;return r=u=i,f=n,s=t.apply(o,e)}function v(t){var e=t-l;return l===i||e>=n||e<0||p&&t-f>=a}function g(){var t=Ou();if(v(t))return m(t);c=jo(g,function(t){var e=n-(t-l);return p?ge(e,a-(t-f)):e}(t))}function m(t){return c=i,_&&r?d(t):(r=u=i,s)}function y(){var t=Ou(),e=v(t);if(r=arguments,u=this,l=t,e){if(c===i)return function(t){return f=t,c=jo(g,n),h?d(t):s}(l);if(p)return yi(c),c=jo(g,n),d(l)}return c===i&&(c=jo(g,n)),s}return n=da(n)||0,Qu(e)&&(h=!!e.leading,a=(p="maxWait"in e)?ve(da(e.maxWait)||0,n):a,_="trailing"in e?!!e.trailing:_),y.cancel=function(){c!==i&&yi(c),f=0,r=l=u=c=i},y.flush=function(){return c===i?s:m(Ou())},y}var Nu=Gr((function(t,n){return sr(t,1,n)})),Ru=Gr((function(t,n,e){return sr(t,da(n)||0,e)}));function Pu(t,n){if("function"!=typeof t||null!=n&&"function"!=typeof n)throw new St(o);var e=function(){var r=arguments,i=n?n.apply(this,r):r[0],o=e.cache;if(o.has(i))return o.get(i);var u=t.apply(this,r);return e.cache=o.set(i,u)||o,u};return e.cache=new(Pu.Cache||Je),e}function Iu(t){if("function"!=typeof t)throw new St(o);return function(){var n=arguments;switch(n.length){case 0:return!t.call(this);case 1:return!t.call(this,n[0]);case 2:return!t.call(this,n[0],n[1]);case 3:return!t.call(this,n[0],n[1],n[2])}return!t.apply(this,n)}}Pu.Cache=Je;var Fu=gi((function(t,n){var e=(n=1==n.length&&Wu(n[0])?Rn(n[0],Hn(oo())):Rn(dr(n,1),Hn(oo()))).length;return Gr((function(r){for(var i=-1,o=ge(r.length,e);++i<o;)r[i]=n[i].call(this,r[i]);return kn(t,this,r)}))})),Lu=Gr((function(t,n){var e=ae(n,io(Lu));return Zi(t,s,i,n,e)})),qu=Gr((function(t,n){var e=ae(n,io(qu));return Zi(t,64,i,n,e)})),Tu=Qi((function(t,n){return Zi(t,256,i,i,i,n)}));function Uu(t,n){return t===n||t!=t&&n!=n}var zu=Wi(kr),Mu=Wi((function(t,n){return t>=n})),Du=Er(function(){return arguments}())?Er:function(t){return ta(t)&&Pt.call(t,"callee")&&!Vt.call(t,"callee")},Wu=r.isArray,Bu=mn?Hn(mn):function(t){return ta(t)&&xr(t)==N};function Ju(t){return null!=t&&Xu(t.length)&&!Hu(t)}function Vu(t){return ta(t)&&Ju(t)}var Gu=gn||ds,Zu=yn?Hn(yn):function(t){return ta(t)&&xr(t)==m};function Ku(t){if(!ta(t))return!1;var n=xr(t);return n==y||"[object DOMException]"==n||"string"==typeof t.message&&"string"==typeof t.name&&!ra(t)}function Hu(t){if(!Qu(t))return!1;var n=xr(t);return n==w||n==b||"[object AsyncFunction]"==n||"[object Proxy]"==n}function Yu(t){return"number"==typeof t&&t==pa(t)}function Xu(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=f}function Qu(t){var n=typeof t;return null!=t&&("object"==n||"function"==n)}function ta(t){return null!=t&&"object"==typeof t}var na=wn?Hn(wn):function(t){return ta(t)&&fo(t)==$};function ea(t){return"number"==typeof t||ta(t)&&xr(t)==x}function ra(t){if(!ta(t)||xr(t)!=k)return!1;var n=Bt(t);if(null===n)return!0;var e=Pt.call(n,"constructor")&&n.constructor;return"function"==typeof e&&e instanceof e&&Rt.call(e)==qt}var ia=bn?Hn(bn):function(t){return ta(t)&&xr(t)==C},oa=$n?Hn($n):function(t){return ta(t)&&fo(t)==S};function ua(t){return"string"==typeof t||!Wu(t)&&ta(t)&&xr(t)==j}function aa(t){return"symbol"==typeof t||ta(t)&&xr(t)==E}var sa=xn?Hn(xn):function(t){return ta(t)&&Xu(t.length)&&!!on[xr(t)]},ca=Wi(Fr),la=Wi((function(t,n){return t<=n}));function fa(t){if(!t)return[];if(Ju(t))return ua(t)?fe(t):Ci(t);if(Kt&&t[Kt])return function(t){for(var n,e=[];!(n=t.next()).done;)e.push(n.value);return e}(t[Kt]());var n=fo(t);return(n==$?oe:n==S?se:Ua)(t)}function ha(t){return t?(t=da(t))===l||t===-1/0?17976931348623157e292*(t<0?-1:1):t==t?t:0:0===t?t:0}function pa(t){var n=ha(t),e=n%1;return n==n?e?n-e:n:0}function _a(t){return t?or(pa(t),0,p):0}function da(t){if("number"==typeof t)return t;if(aa(t))return h;if(Qu(t)){var n="function"==typeof t.valueOf?t.valueOf():t;t=Qu(n)?n+"":n}if("string"!=typeof t)return 0===t?t:+t;t=Kn(t);var e=_t.test(t);return e||vt.test(t)?cn(t.slice(2),e?2:8):pt.test(t)?h:+t}function va(t){return Si(t,Na(t))}function ga(t){return null==t?"":ui(t)}var ma=Ei((function(t,n){if(bo(n)||Ju(n))Si(n,Aa(n),t);else for(var e in n)Pt.call(n,e)&&Qe(t,e,n[e])})),ya=Ei((function(t,n){Si(n,Na(n),t)})),wa=Ei((function(t,n,e,r){Si(n,Na(n),t,r)})),ba=Ei((function(t,n,e,r){Si(n,Aa(n),t,r)})),$a=Qi(ir),xa=Gr((function(t,n){t=kt(t);var e=-1,r=n.length,o=r>2?n[2]:i;for(o&&go(n[0],n[1],o)&&(r=1);++e<r;)for(var u=n[e],a=Na(u),s=-1,c=a.length;++s<c;){var l=a[s],f=t[l];(f===i||Uu(f,At[l])&&!Pt.call(t,l))&&(t[l]=u[l])}return t})),ka=Gr((function(t){return t.push(i,Hi),kn(Pa,i,t)}));function Oa(t,n,e){var r=null==t?i:br(t,n);return r===i?e:r}function Ca(t,n){return null!=t&&ho(t,n,Cr)}var Sa=Ti((function(t,n,e){null!=n&&"function"!=typeof n.toString&&(n=Lt.call(n)),t[n]=e}),Qa(es)),ja=Ti((function(t,n,e){null!=n&&"function"!=typeof n.toString&&(n=Lt.call(n)),Pt.call(t,n)?t[n].push(e):t[n]=[e]}),oo),Ea=Gr(jr);function Aa(t){return Ju(t)?Ze(t):Ir(t)}function Na(t){return Ju(t)?Ze(t,!0):function(t){if(!Qu(t))return function(t){var n=[];if(null!=t)for(var e in kt(t))n.push(e);return n}(t);var n=bo(t),e=[];for(var r in t)("constructor"!=r||!n&&Pt.call(t,r))&&e.push(r);return e}(t)}var Ra=Ei((function(t,n,e){Ur(t,n,e)})),Pa=Ei((function(t,n,e,r){Ur(t,n,e,r)})),Ia=Qi((function(t,n){var e={};if(null==t)return e;var r=!1;n=Rn(n,(function(n){return n=vi(n,t),r||(r=n.length>1),n})),Si(t,no(t),e),r&&(e=ur(e,7,Yi));for(var i=n.length;i--;)si(e,n[i]);return e})),Fa=Qi((function(t,n){return null==t?{}:function(t,n){return Dr(t,n,(function(n,e){return Ca(t,e)}))}(t,n)}));function La(t,n){if(null==t)return{};var e=Rn(no(t),(function(t){return[t]}));return n=oo(n),Dr(t,e,(function(t,e){return n(t,e[0])}))}var qa=Gi(Aa),Ta=Gi(Na);function Ua(t){return null==t?[]:Yn(t,Aa(t))}var za=Pi((function(t,n,e){return n=n.toLowerCase(),t+(e?Ma(n):n)}));function Ma(t){return Ka(ga(t).toLowerCase())}function Da(t){return(t=ga(t))&&t.replace(mt,ne).replace(Yt,"")}var Wa=Pi((function(t,n,e){return t+(e?"-":"")+n.toLowerCase()})),Ba=Pi((function(t,n,e){return t+(e?" ":"")+n.toLowerCase()})),Ja=Ri("toLowerCase"),Va=Pi((function(t,n,e){return t+(e?"_":"")+n.toLowerCase()})),Ga=Pi((function(t,n,e){return t+(e?" ":"")+Ka(n)})),Za=Pi((function(t,n,e){return t+(e?" ":"")+n.toUpperCase()})),Ka=Ri("toUpperCase");function Ha(t,n,e){return t=ga(t),(n=e?i:n)===i?function(t){return nn.test(t)}(t)?function(t){return t.match(Qt)||[]}(t):function(t){return t.match(st)||[]}(t):t.match(n)||[]}var Ya=Gr((function(t,n){try{return kn(t,i,n)}catch(t){return Ku(t)?t:new bt(t)}})),Xa=Qi((function(t,n){return Cn(n,(function(n){n=Lo(n),rr(t,n,ju(t[n],t))})),t}));function Qa(t){return function(){return t}}var ts=Li(),ns=Li(!0);function es(t){return t}function rs(t){return Pr("function"==typeof t?t:ur(t,1))}var is=Gr((function(t,n){return function(e){return jr(e,t,n)}})),os=Gr((function(t,n){return function(e){return jr(t,e,n)}}));function us(t,n,e){var r=Aa(n),i=wr(n,r);null!=e||Qu(n)&&(i.length||!r.length)||(e=n,n=t,t=this,i=wr(n,Aa(n)));var o=!(Qu(e)&&"chain"in e&&!e.chain),u=Hu(t);return Cn(i,(function(e){var r=n[e];t[e]=r,u&&(t.prototype[e]=function(){var n=this.__chain__;if(o||n){var e=t(this.__wrapped__);return(e.__actions__=Ci(this.__actions__)).push({func:r,args:arguments,thisArg:t}),e.__chain__=n,e}return r.apply(t,Pn([this.value()],arguments))})})),t}function as(){}var ss=zi(Rn),cs=zi(jn),ls=zi(Ln);function fs(t){return mo(t)?Bn(Lo(t)):function(t){return function(n){return br(n,t)}}(t)}var hs=Di(),ps=Di(!0);function _s(){return[]}function ds(){return!1}var vs,gs=Ui((function(t,n){return t+n}),0),ms=Ji("ceil"),ys=Ui((function(t,n){return t/n}),1),ws=Ji("floor"),bs=Ui((function(t,n){return t*n}),1),$s=Ji("round"),xs=Ui((function(t,n){return t-n}),0);return Te.after=function(t,n){if("function"!=typeof n)throw new St(o);return t=pa(t),function(){if(--t<1)return n.apply(this,arguments)}},Te.ary=Cu,Te.assign=ma,Te.assignIn=ya,Te.assignInWith=wa,Te.assignWith=ba,Te.at=$a,Te.before=Su,Te.bind=ju,Te.bindAll=Xa,Te.bindKey=Eu,Te.castArray=function(){if(!arguments.length)return[];var t=arguments[0];return Wu(t)?t:[t]},Te.chain=fu,Te.chunk=function(t,n,e){n=(e?go(t,n,e):n===i)?1:ve(pa(n),0);var o=null==t?0:t.length;if(!o||n<1)return[];for(var u=0,a=0,s=r(pn(o/n));u<o;)s[a++]=ti(t,u,u+=n);return s},Te.compact=function(t){for(var n=-1,e=null==t?0:t.length,r=0,i=[];++n<e;){var o=t[n];o&&(i[r++]=o)}return i},Te.concat=function(){var t=arguments.length;if(!t)return[];for(var n=r(t-1),e=arguments[0],i=t;i--;)n[i-1]=arguments[i];return Pn(Wu(e)?Ci(e):[e],dr(n,1))},Te.cond=function(t){var n=null==t?0:t.length,e=oo();return t=n?Rn(t,(function(t){if("function"!=typeof t[1])throw new St(o);return[e(t[0]),t[1]]})):[],Gr((function(e){for(var r=-1;++r<n;){var i=t[r];if(kn(i[0],this,e))return kn(i[1],this,e)}}))},Te.conforms=function(t){return function(t){var n=Aa(t);return function(e){return ar(e,t,n)}}(ur(t,1))},Te.constant=Qa,Te.countBy=_u,Te.create=function(t,n){var e=Ue(t);return null==n?e:er(e,n)},Te.curry=function t(n,e,r){var o=Zi(n,8,i,i,i,i,i,e=r?i:e);return o.placeholder=t.placeholder,o},Te.curryRight=function t(n,e,r){var o=Zi(n,16,i,i,i,i,i,e=r?i:e);return o.placeholder=t.placeholder,o},Te.debounce=Au,Te.defaults=xa,Te.defaultsDeep=ka,Te.defer=Nu,Te.delay=Ru,Te.difference=Uo,Te.differenceBy=zo,Te.differenceWith=Mo,Te.drop=function(t,n,e){var r=null==t?0:t.length;return r?ti(t,(n=e||n===i?1:pa(n))<0?0:n,r):[]},Te.dropRight=function(t,n,e){var r=null==t?0:t.length;return r?ti(t,0,(n=r-(n=e||n===i?1:pa(n)))<0?0:n):[]},Te.dropRightWhile=function(t,n){return t&&t.length?li(t,oo(n,3),!0,!0):[]},Te.dropWhile=function(t,n){return t&&t.length?li(t,oo(n,3),!0):[]},Te.fill=function(t,n,e,r){var o=null==t?0:t.length;return o?(e&&"number"!=typeof e&&go(t,n,e)&&(e=0,r=o),function(t,n,e,r){var o=t.length;for((e=pa(e))<0&&(e=-e>o?0:o+e),(r=r===i||r>o?o:pa(r))<0&&(r+=o),r=e>r?0:_a(r);e<r;)t[e++]=n;return t}(t,n,e,r)):[]},Te.filter=function(t,n){return(Wu(t)?En:_r)(t,oo(n,3))},Te.flatMap=function(t,n){return dr($u(t,n),1)},Te.flatMapDeep=function(t,n){return dr($u(t,n),l)},Te.flatMapDepth=function(t,n,e){return e=e===i?1:pa(e),dr($u(t,n),e)},Te.flatten=Bo,Te.flattenDeep=function(t){return null!=t&&t.length?dr(t,l):[]},Te.flattenDepth=function(t,n){return null!=t&&t.length?dr(t,n=n===i?1:pa(n)):[]},Te.flip=function(t){return Zi(t,512)},Te.flow=ts,Te.flowRight=ns,Te.fromPairs=function(t){for(var n=-1,e=null==t?0:t.length,r={};++n<e;){var i=t[n];r[i[0]]=i[1]}return r},Te.functions=function(t){return null==t?[]:wr(t,Aa(t))},Te.functionsIn=function(t){return null==t?[]:wr(t,Na(t))},Te.groupBy=yu,Te.initial=function(t){return null!=t&&t.length?ti(t,0,-1):[]},Te.intersection=Vo,Te.intersectionBy=Go,Te.intersectionWith=Zo,Te.invert=Sa,Te.invertBy=ja,Te.invokeMap=wu,Te.iteratee=rs,Te.keyBy=bu,Te.keys=Aa,Te.keysIn=Na,Te.map=$u,Te.mapKeys=function(t,n){var e={};return n=oo(n,3),mr(t,(function(t,r,i){rr(e,n(t,r,i),t)})),e},Te.mapValues=function(t,n){var e={};return n=oo(n,3),mr(t,(function(t,r,i){rr(e,r,n(t,r,i))})),e},Te.matches=function(t){return qr(ur(t,1))},Te.matchesProperty=function(t,n){return Tr(t,ur(n,1))},Te.memoize=Pu,Te.merge=Ra,Te.mergeWith=Pa,Te.method=is,Te.methodOf=os,Te.mixin=us,Te.negate=Iu,Te.nthArg=function(t){return t=pa(t),Gr((function(n){return zr(n,t)}))},Te.omit=Ia,Te.omitBy=function(t,n){return La(t,Iu(oo(n)))},Te.once=function(t){return Su(2,t)},Te.orderBy=function(t,n,e,r){return null==t?[]:(Wu(n)||(n=null==n?[]:[n]),Wu(e=r?i:e)||(e=null==e?[]:[e]),Mr(t,n,e))},Te.over=ss,Te.overArgs=Fu,Te.overEvery=cs,Te.overSome=ls,Te.partial=Lu,Te.partialRight=qu,Te.partition=xu,Te.pick=Fa,Te.pickBy=La,Te.property=fs,Te.propertyOf=function(t){return function(n){return null==t?i:br(t,n)}},Te.pull=Ho,Te.pullAll=Yo,Te.pullAllBy=function(t,n,e){return t&&t.length&&n&&n.length?Wr(t,n,oo(e,2)):t},Te.pullAllWith=function(t,n,e){return t&&t.length&&n&&n.length?Wr(t,n,i,e):t},Te.pullAt=Xo,Te.range=hs,Te.rangeRight=ps,Te.rearg=Tu,Te.reject=function(t,n){return(Wu(t)?En:_r)(t,Iu(oo(n,3)))},Te.remove=function(t,n){var e=[];if(!t||!t.length)return e;var r=-1,i=[],o=t.length;for(n=oo(n,3);++r<o;){var u=t[r];n(u,r,t)&&(e.push(u),i.push(r))}return Br(t,i),e},Te.rest=function(t,n){if("function"!=typeof t)throw new St(o);return Gr(t,n=n===i?n:pa(n))},Te.reverse=Qo,Te.sampleSize=function(t,n,e){return n=(e?go(t,n,e):n===i)?1:pa(n),(Wu(t)?He:Kr)(t,n)},Te.set=function(t,n,e){return null==t?t:Hr(t,n,e)},Te.setWith=function(t,n,e,r){return r="function"==typeof r?r:i,null==t?t:Hr(t,n,e,r)},Te.shuffle=function(t){return(Wu(t)?Ye:Qr)(t)},Te.slice=function(t,n,e){var r=null==t?0:t.length;return r?(e&&"number"!=typeof e&&go(t,n,e)?(n=0,e=r):(n=null==n?0:pa(n),e=e===i?r:pa(e)),ti(t,n,e)):[]},Te.sortBy=ku,Te.sortedUniq=function(t){return t&&t.length?ii(t):[]},Te.sortedUniqBy=function(t,n){return t&&t.length?ii(t,oo(n,2)):[]},Te.split=function(t,n,e){return e&&"number"!=typeof e&&go(t,n,e)&&(n=e=i),(e=e===i?p:e>>>0)?(t=ga(t))&&("string"==typeof n||null!=n&&!ia(n))&&!(n=ui(n))&&ie(t)?mi(fe(t),0,e):t.split(n,e):[]},Te.spread=function(t,n){if("function"!=typeof t)throw new St(o);return n=null==n?0:ve(pa(n),0),Gr((function(e){var r=e[n],i=mi(e,0,n);return r&&Pn(i,r),kn(t,this,i)}))},Te.tail=function(t){var n=null==t?0:t.length;return n?ti(t,1,n):[]},Te.take=function(t,n,e){return t&&t.length?ti(t,0,(n=e||n===i?1:pa(n))<0?0:n):[]},Te.takeRight=function(t,n,e){var r=null==t?0:t.length;return r?ti(t,(n=r-(n=e||n===i?1:pa(n)))<0?0:n,r):[]},Te.takeRightWhile=function(t,n){return t&&t.length?li(t,oo(n,3),!1,!0):[]},Te.takeWhile=function(t,n){return t&&t.length?li(t,oo(n,3)):[]},Te.tap=function(t,n){return n(t),t},Te.throttle=function(t,n,e){var r=!0,i=!0;if("function"!=typeof t)throw new St(o);return Qu(e)&&(r="leading"in e?!!e.leading:r,i="trailing"in e?!!e.trailing:i),Au(t,n,{leading:r,maxWait:n,trailing:i})},Te.thru=hu,Te.toArray=fa,Te.toPairs=qa,Te.toPairsIn=Ta,Te.toPath=function(t){return Wu(t)?Rn(t,Lo):aa(t)?[t]:Ci(Fo(ga(t)))},Te.toPlainObject=va,Te.transform=function(t,n,e){var r=Wu(t),i=r||Gu(t)||sa(t);if(n=oo(n,4),null==e){var o=t&&t.constructor;e=i?r?new o:[]:Qu(t)&&Hu(o)?Ue(Bt(t)):{}}return(i?Cn:mr)(t,(function(t,r,i){return n(e,t,r,i)})),e},Te.unary=function(t){return Cu(t,1)},Te.union=tu,Te.unionBy=nu,Te.unionWith=eu,Te.uniq=function(t){return t&&t.length?ai(t):[]},Te.uniqBy=function(t,n){return t&&t.length?ai(t,oo(n,2)):[]},Te.uniqWith=function(t,n){return n="function"==typeof n?n:i,t&&t.length?ai(t,i,n):[]},Te.unset=function(t,n){return null==t||si(t,n)},Te.unzip=ru,Te.unzipWith=iu,Te.update=function(t,n,e){return null==t?t:ci(t,n,di(e))},Te.updateWith=function(t,n,e,r){return r="function"==typeof r?r:i,null==t?t:ci(t,n,di(e),r)},Te.values=Ua,Te.valuesIn=function(t){return null==t?[]:Yn(t,Na(t))},Te.without=ou,Te.words=Ha,Te.wrap=function(t,n){return Lu(di(n),t)},Te.xor=uu,Te.xorBy=au,Te.xorWith=su,Te.zip=cu,Te.zipObject=function(t,n){return pi(t||[],n||[],Qe)},Te.zipObjectDeep=function(t,n){return pi(t||[],n||[],Hr)},Te.zipWith=lu,Te.entries=qa,Te.entriesIn=Ta,Te.extend=ya,Te.extendWith=wa,us(Te,Te),Te.add=gs,Te.attempt=Ya,Te.camelCase=za,Te.capitalize=Ma,Te.ceil=ms,Te.clamp=function(t,n,e){return e===i&&(e=n,n=i),e!==i&&(e=(e=da(e))==e?e:0),n!==i&&(n=(n=da(n))==n?n:0),or(da(t),n,e)},Te.clone=function(t){return ur(t,4)},Te.cloneDeep=function(t){return ur(t,5)},Te.cloneDeepWith=function(t,n){return ur(t,5,n="function"==typeof n?n:i)},Te.cloneWith=function(t,n){return ur(t,4,n="function"==typeof n?n:i)},Te.conformsTo=function(t,n){return null==n||ar(t,n,Aa(n))},Te.deburr=Da,Te.defaultTo=function(t,n){return null==t||t!=t?n:t},Te.divide=ys,Te.endsWith=function(t,n,e){t=ga(t),n=ui(n);var r=t.length,o=e=e===i?r:or(pa(e),0,r);return(e-=n.length)>=0&&t.slice(e,o)==n},Te.eq=Uu,Te.escape=function(t){return(t=ga(t))&&Z.test(t)?t.replace(V,ee):t},Te.escapeRegExp=function(t){return(t=ga(t))&&et.test(t)?t.replace(nt,"\\$&"):t},Te.every=function(t,n,e){var r=Wu(t)?jn:hr;return e&&go(t,n,e)&&(n=i),r(t,oo(n,3))},Te.find=du,Te.findIndex=Do,Te.findKey=function(t,n){return Tn(t,oo(n,3),mr)},Te.findLast=vu,Te.findLastIndex=Wo,Te.findLastKey=function(t,n){return Tn(t,oo(n,3),yr)},Te.floor=ws,Te.forEach=gu,Te.forEachRight=mu,Te.forIn=function(t,n){return null==t?t:vr(t,oo(n,3),Na)},Te.forInRight=function(t,n){return null==t?t:gr(t,oo(n,3),Na)},Te.forOwn=function(t,n){return t&&mr(t,oo(n,3))},Te.forOwnRight=function(t,n){return t&&yr(t,oo(n,3))},Te.get=Oa,Te.gt=zu,Te.gte=Mu,Te.has=function(t,n){return null!=t&&ho(t,n,Or)},Te.hasIn=Ca,Te.head=Jo,Te.identity=es,Te.includes=function(t,n,e,r){t=Ju(t)?t:Ua(t),e=e&&!r?pa(e):0;var i=t.length;return e<0&&(e=ve(i+e,0)),ua(t)?e<=i&&t.indexOf(n,e)>-1:!!i&&zn(t,n,e)>-1},Te.indexOf=function(t,n,e){var r=null==t?0:t.length;if(!r)return-1;var i=null==e?0:pa(e);return i<0&&(i=ve(r+i,0)),zn(t,n,i)},Te.inRange=function(t,n,e){return n=ha(n),e===i?(e=n,n=0):e=ha(e),function(t,n,e){return t>=ge(n,e)&&t<ve(n,e)}(t=da(t),n,e)},Te.invoke=Ea,Te.isArguments=Du,Te.isArray=Wu,Te.isArrayBuffer=Bu,Te.isArrayLike=Ju,Te.isArrayLikeObject=Vu,Te.isBoolean=function(t){return!0===t||!1===t||ta(t)&&xr(t)==g},Te.isBuffer=Gu,Te.isDate=Zu,Te.isElement=function(t){return ta(t)&&1===t.nodeType&&!ra(t)},Te.isEmpty=function(t){if(null==t)return!0;if(Ju(t)&&(Wu(t)||"string"==typeof t||"function"==typeof t.splice||Gu(t)||sa(t)||Du(t)))return!t.length;var n=fo(t);if(n==$||n==S)return!t.size;if(bo(t))return!Ir(t).length;for(var e in t)if(Pt.call(t,e))return!1;return!0},Te.isEqual=function(t,n){return Ar(t,n)},Te.isEqualWith=function(t,n,e){var r=(e="function"==typeof e?e:i)?e(t,n):i;return r===i?Ar(t,n,i,e):!!r},Te.isError=Ku,Te.isFinite=function(t){return"number"==typeof t&&qn(t)},Te.isFunction=Hu,Te.isInteger=Yu,Te.isLength=Xu,Te.isMap=na,Te.isMatch=function(t,n){return t===n||Nr(t,n,ao(n))},Te.isMatchWith=function(t,n,e){return e="function"==typeof e?e:i,Nr(t,n,ao(n),e)},Te.isNaN=function(t){return ea(t)&&t!=+t},Te.isNative=function(t){if(wo(t))throw new bt("Unsupported core-js use. Try https://npms.io/search?q=ponyfill.");return Rr(t)},Te.isNil=function(t){return null==t},Te.isNull=function(t){return null===t},Te.isNumber=ea,Te.isObject=Qu,Te.isObjectLike=ta,Te.isPlainObject=ra,Te.isRegExp=ia,Te.isSafeInteger=function(t){return Yu(t)&&t>=-9007199254740991&&t<=f},Te.isSet=oa,Te.isString=ua,Te.isSymbol=aa,Te.isTypedArray=sa,Te.isUndefined=function(t){return t===i},Te.isWeakMap=function(t){return ta(t)&&fo(t)==A},Te.isWeakSet=function(t){return ta(t)&&"[object WeakSet]"==xr(t)},Te.join=function(t,n){return null==t?"":Jn.call(t,n)},Te.kebabCase=Wa,Te.last=Ko,Te.lastIndexOf=function(t,n,e){var r=null==t?0:t.length;if(!r)return-1;var o=r;return e!==i&&(o=(o=pa(e))<0?ve(r+o,0):ge(o,r-1)),n==n?function(t,n,e){for(var r=e+1;r--;)if(t[r]===n)return r;return r}(t,n,o):Un(t,Dn,o,!0)},Te.lowerCase=Ba,Te.lowerFirst=Ja,Te.lt=ca,Te.lte=la,Te.max=function(t){return t&&t.length?pr(t,es,kr):i},Te.maxBy=function(t,n){return t&&t.length?pr(t,oo(n,2),kr):i},Te.mean=function(t){return Wn(t,es)},Te.meanBy=function(t,n){return Wn(t,oo(n,2))},Te.min=function(t){return t&&t.length?pr(t,es,Fr):i},Te.minBy=function(t,n){return t&&t.length?pr(t,oo(n,2),Fr):i},Te.stubArray=_s,Te.stubFalse=ds,Te.stubObject=function(){return{}},Te.stubString=function(){return""},Te.stubTrue=function(){return!0},Te.multiply=bs,Te.nth=function(t,n){return t&&t.length?zr(t,pa(n)):i},Te.noConflict=function(){return hn._===this&&(hn._=Tt),this},Te.noop=as,Te.now=Ou,Te.pad=function(t,n,e){t=ga(t);var r=(n=pa(n))?le(t):0;if(!n||r>=n)return t;var i=(n-r)/2;return Mi(_n(i),e)+t+Mi(pn(i),e)},Te.padEnd=function(t,n,e){t=ga(t);var r=(n=pa(n))?le(t):0;return n&&r<n?t+Mi(n-r,e):t},Te.padStart=function(t,n,e){t=ga(t);var r=(n=pa(n))?le(t):0;return n&&r<n?Mi(n-r,e)+t:t},Te.parseInt=function(t,n,e){return e||null==n?n=0:n&&(n=+n),ye(ga(t).replace(rt,""),n||0)},Te.random=function(t,n,e){if(e&&"boolean"!=typeof e&&go(t,n,e)&&(n=e=i),e===i&&("boolean"==typeof n?(e=n,n=i):"boolean"==typeof t&&(e=t,t=i)),t===i&&n===i?(t=0,n=1):(t=ha(t),n===i?(n=t,t=0):n=ha(n)),t>n){var r=t;t=n,n=r}if(e||t%1||n%1){var o=we();return ge(t+o*(n-t+sn("1e-"+((o+"").length-1))),n)}return Jr(t,n)},Te.reduce=function(t,n,e){var r=Wu(t)?In:Vn,i=arguments.length<3;return r(t,oo(n,4),e,i,lr)},Te.reduceRight=function(t,n,e){var r=Wu(t)?Fn:Vn,i=arguments.length<3;return r(t,oo(n,4),e,i,fr)},Te.repeat=function(t,n,e){return n=(e?go(t,n,e):n===i)?1:pa(n),Vr(ga(t),n)},Te.replace=function(){var t=arguments,n=ga(t[0]);return t.length<3?n:n.replace(t[1],t[2])},Te.result=function(t,n,e){var r=-1,o=(n=vi(n,t)).length;for(o||(o=1,t=i);++r<o;){var u=null==t?i:t[Lo(n[r])];u===i&&(r=o,u=e),t=Hu(u)?u.call(t):u}return t},Te.round=$s,Te.runInContext=t,Te.sample=function(t){return(Wu(t)?Ke:Zr)(t)},Te.size=function(t){if(null==t)return 0;if(Ju(t))return ua(t)?le(t):t.length;var n=fo(t);return n==$||n==S?t.size:Ir(t).length},Te.snakeCase=Va,Te.some=function(t,n,e){var r=Wu(t)?Ln:ni;return e&&go(t,n,e)&&(n=i),r(t,oo(n,3))},Te.sortedIndex=function(t,n){return ei(t,n)},Te.sortedIndexBy=function(t,n,e){return ri(t,n,oo(e,2))},Te.sortedIndexOf=function(t,n){var e=null==t?0:t.length;if(e){var r=ei(t,n);if(r<e&&Uu(t[r],n))return r}return-1},Te.sortedLastIndex=function(t,n){return ei(t,n,!0)},Te.sortedLastIndexBy=function(t,n,e){return ri(t,n,oo(e,2),!0)},Te.sortedLastIndexOf=function(t,n){if(null!=t&&t.length){var e=ei(t,n,!0)-1;if(Uu(t[e],n))return e}return-1},Te.startCase=Ga,Te.startsWith=function(t,n,e){return t=ga(t),e=null==e?0:or(pa(e),0,t.length),n=ui(n),t.slice(e,e+n.length)==n},Te.subtract=xs,Te.sum=function(t){return t&&t.length?Gn(t,es):0},Te.sumBy=function(t,n){return t&&t.length?Gn(t,oo(n,2)):0},Te.template=function(t,n,e){var r=Te.templateSettings;e&&go(t,n,e)&&(n=i),t=ga(t),n=wa({},n,r,Ki);var o,u,a=wa({},n.imports,r.imports,Ki),s=Aa(a),c=Yn(a,s),l=0,f=n.interpolate||yt,h="__p += '",p=Ot((n.escape||yt).source+"|"+f.source+"|"+(f===Y?ft:yt).source+"|"+(n.evaluate||yt).source+"|$","g"),_="//# sourceURL="+(Pt.call(n,"sourceURL")?(n.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++rn+"]")+"\n";t.replace(p,(function(n,e,r,i,a,s){return r||(r=i),h+=t.slice(l,s).replace(wt,re),e&&(o=!0,h+="' +\n__e("+e+") +\n'"),a&&(u=!0,h+="';\n"+a+";\n__p += '"),r&&(h+="' +\n((__t = ("+r+")) == null ? '' : __t) +\n'"),l=s+n.length,n})),h+="';\n";var d=Pt.call(n,"variable")&&n.variable;if(d){if(ct.test(d))throw new bt("Invalid `variable` option passed into `_.template`")}else h="with (obj) {\n"+h+"\n}\n";h=(u?h.replace(D,""):h).replace(W,"$1").replace(B,"$1;"),h="function("+(d||"obj")+") {\n"+(d?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(o?", __e = _.escape":"")+(u?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+h+"return __p\n}";var v=Ya((function(){return $t(s,_+"return "+h).apply(i,c)}));if(v.source=h,Ku(v))throw v;return v},Te.times=function(t,n){if((t=pa(t))<1||t>f)return[];var e=p,r=ge(t,p);n=oo(n),t-=p;for(var i=Zn(r,n);++e<t;)n(e);return i},Te.toFinite=ha,Te.toInteger=pa,Te.toLength=_a,Te.toLower=function(t){return ga(t).toLowerCase()},Te.toNumber=da,Te.toSafeInteger=function(t){return t?or(pa(t),-9007199254740991,f):0===t?t:0},Te.toString=ga,Te.toUpper=function(t){return ga(t).toUpperCase()},Te.trim=function(t,n,e){if((t=ga(t))&&(e||n===i))return Kn(t);if(!t||!(n=ui(n)))return t;var r=fe(t),o=fe(n);return mi(r,Qn(r,o),te(r,o)+1).join("")},Te.trimEnd=function(t,n,e){if((t=ga(t))&&(e||n===i))return t.slice(0,he(t)+1);if(!t||!(n=ui(n)))return t;var r=fe(t);return mi(r,0,te(r,fe(n))+1).join("")},Te.trimStart=function(t,n,e){if((t=ga(t))&&(e||n===i))return t.replace(rt,"");if(!t||!(n=ui(n)))return t;var r=fe(t);return mi(r,Qn(r,fe(n))).join("")},Te.truncate=function(t,n){var e=30,r="...";if(Qu(n)){var o="separator"in n?n.separator:o;e="length"in n?pa(n.length):e,r="omission"in n?ui(n.omission):r}var u=(t=ga(t)).length;if(ie(t)){var a=fe(t);u=a.length}if(e>=u)return t;var s=e-le(r);if(s<1)return r;var c=a?mi(a,0,s).join(""):t.slice(0,s);if(o===i)return c+r;if(a&&(s+=c.length-s),ia(o)){if(t.slice(s).search(o)){var l,f=c;for(o.global||(o=Ot(o.source,ga(ht.exec(o))+"g")),o.lastIndex=0;l=o.exec(f);)var h=l.index;c=c.slice(0,h===i?s:h)}}else if(t.indexOf(ui(o),s)!=s){var p=c.lastIndexOf(o);p>-1&&(c=c.slice(0,p))}return c+r},Te.unescape=function(t){return(t=ga(t))&&G.test(t)?t.replace(J,pe):t},Te.uniqueId=function(t){var n=++It;return ga(t)+n},Te.upperCase=Za,Te.upperFirst=Ka,Te.each=gu,Te.eachRight=mu,Te.first=Jo,us(Te,(vs={},mr(Te,(function(t,n){Pt.call(Te.prototype,n)||(vs[n]=t)})),vs),{chain:!1}),Te.VERSION="4.17.21",Cn(["bind","bindKey","curry","curryRight","partial","partialRight"],(function(t){Te[t].placeholder=Te})),Cn(["drop","take"],(function(t,n){De.prototype[t]=function(e){e=e===i?1:ve(pa(e),0);var r=this.__filtered__&&!n?new De(this):this.clone();return r.__filtered__?r.__takeCount__=ge(e,r.__takeCount__):r.__views__.push({size:ge(e,p),type:t+(r.__dir__<0?"Right":"")}),r},De.prototype[t+"Right"]=function(n){return this.reverse()[t](n).reverse()}})),Cn(["filter","map","takeWhile"],(function(t,n){var e=n+1,r=1==e||3==e;De.prototype[t]=function(t){var n=this.clone();return n.__iteratees__.push({iteratee:oo(t,3),type:e}),n.__filtered__=n.__filtered__||r,n}})),Cn(["head","last"],(function(t,n){var e="take"+(n?"Right":"");De.prototype[t]=function(){return this[e](1).value()[0]}})),Cn(["initial","tail"],(function(t,n){var e="drop"+(n?"":"Right");De.prototype[t]=function(){return this.__filtered__?new De(this):this[e](1)}})),De.prototype.compact=function(){return this.filter(es)},De.prototype.find=function(t){return this.filter(t).head()},De.prototype.findLast=function(t){return this.reverse().find(t)},De.prototype.invokeMap=Gr((function(t,n){return"function"==typeof t?new De(this):this.map((function(e){return jr(e,t,n)}))})),De.prototype.reject=function(t){return this.filter(Iu(oo(t)))},De.prototype.slice=function(t,n){t=pa(t);var e=this;return e.__filtered__&&(t>0||n<0)?new De(e):(t<0?e=e.takeRight(-t):t&&(e=e.drop(t)),n!==i&&(e=(n=pa(n))<0?e.dropRight(-n):e.take(n-t)),e)},De.prototype.takeRightWhile=function(t){return this.reverse().takeWhile(t).reverse()},De.prototype.toArray=function(){return this.take(p)},mr(De.prototype,(function(t,n){var e=/^(?:filter|find|map|reject)|While$/.test(n),r=/^(?:head|last)$/.test(n),o=Te[r?"take"+("last"==n?"Right":""):n],u=r||/^find/.test(n);o&&(Te.prototype[n]=function(){var n=this.__wrapped__,a=r?[1]:arguments,s=n instanceof De,c=a[0],l=s||Wu(n),f=function(t){var n=o.apply(Te,Pn([t],a));return r&&h?n[0]:n};l&&e&&"function"==typeof c&&1!=c.length&&(s=l=!1);var h=this.__chain__,p=!!this.__actions__.length,_=u&&!h,d=s&&!p;if(!u&&l){n=d?n:new De(this);var v=t.apply(n,a);return v.__actions__.push({func:hu,args:[f],thisArg:i}),new Me(v,h)}return _&&d?t.apply(this,a):(v=this.thru(f),_?r?v.value()[0]:v.value():v)})})),Cn(["pop","push","shift","sort","splice","unshift"],(function(t){var n=jt[t],e=/^(?:push|sort|unshift)$/.test(t)?"tap":"thru",r=/^(?:pop|shift)$/.test(t);Te.prototype[t]=function(){var t=arguments;if(r&&!this.__chain__){var i=this.value();return n.apply(Wu(i)?i:[],t)}return this[e]((function(e){return n.apply(Wu(e)?e:[],t)}))}})),mr(De.prototype,(function(t,n){var e=Te[n];if(e){var r=e.name+"";Pt.call(Ee,r)||(Ee[r]=[]),Ee[r].push({name:n,func:e})}})),Ee[qi(i,2).name]=[{name:"wrapper",func:i}],De.prototype.clone=function(){var t=new De(this.__wrapped__);return t.__actions__=Ci(this.__actions__),t.__dir__=this.__dir__,t.__filtered__=this.__filtered__,t.__iteratees__=Ci(this.__iteratees__),t.__takeCount__=this.__takeCount__,t.__views__=Ci(this.__views__),t},De.prototype.reverse=function(){if(this.__filtered__){var t=new De(this);t.__dir__=-1,t.__filtered__=!0}else(t=this.clone()).__dir__*=-1;return t},De.prototype.value=function(){var t=this.__wrapped__.value(),n=this.__dir__,e=Wu(t),r=n<0,i=e?t.length:0,o=function(t,n,e){for(var r=-1,i=e.length;++r<i;){var o=e[r],u=o.size;switch(o.type){case"drop":t+=u;break;case"dropRight":n-=u;break;case"take":n=ge(n,t+u);break;case"takeRight":t=ve(t,n-u)}}return{start:t,end:n}}(0,i,this.__views__),u=o.start,a=o.end,s=a-u,c=r?a:u-1,l=this.__iteratees__,f=l.length,h=0,p=ge(s,this.__takeCount__);if(!e||!r&&i==s&&p==s)return fi(t,this.__actions__);var _=[];t:for(;s--&&h<p;){for(var d=-1,v=t[c+=n];++d<f;){var g=l[d],m=g.iteratee,y=g.type,w=m(v);if(2==y)v=w;else if(!w){if(1==y)continue t;break t}}_[h++]=v}return _},Te.prototype.at=pu,Te.prototype.chain=function(){return fu(this)},Te.prototype.commit=function(){return new Me(this.value(),this.__chain__)},Te.prototype.next=function(){this.__values__===i&&(this.__values__=fa(this.value()));var t=this.__index__>=this.__values__.length;return{done:t,value:t?i:this.__values__[this.__index__++]}},Te.prototype.plant=function(t){for(var n,e=this;e instanceof ze;){var r=To(e);r.__index__=0,r.__values__=i,n?o.__wrapped__=r:n=r;var o=r;e=e.__wrapped__}return o.__wrapped__=t,n},Te.prototype.reverse=function(){var t=this.__wrapped__;if(t instanceof De){var n=t;return this.__actions__.length&&(n=new De(this)),(n=n.reverse()).__actions__.push({func:hu,args:[Qo],thisArg:i}),new Me(n,this.__chain__)}return this.thru(Qo)},Te.prototype.toJSON=Te.prototype.valueOf=Te.prototype.value=function(){return fi(this.__wrapped__,this.__actions__)},Te.prototype.first=Te.prototype.head,Kt&&(Te.prototype[Kt]=function(){return this}),Te}();hn._=_e,(r=function(){return _e}.call(n,e,n,t))===i||(t.exports=r)}.call(this)}},n={};function e(r){var i=n[r];if(void 0!==i)return i.exports;var o=n[r]={id:r,loaded:!1,exports:{}};return t[r].call(o.exports,o,o.exports,e),o.loaded=!0,o.exports}e.d=(t,n)=>{for(var r in n)e.o(n,r)&&!e.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:n[r]})},e.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),e.o=(t,n)=>Object.prototype.hasOwnProperty.call(t,n),e.nmd=t=>(t.paths=[],t.children||(t.children=[]),t);var r={};let i;e.d(r,{n$:()=>ot,du:()=>R,yA:()=>pt,g3:()=>_,u2:()=>v,n9:()=>C,on:()=>A,yy:()=>S,R6:()=>g,$n:()=>N,hA:()=>_t,VB:()=>dt,hZ:()=>P});const o=/([^\s,]+)/g,u=/((\/\/.*$)|(\/\*[\s\S]*?\*\/))/gm;function a(){return i||(i=$("body")),i}function s(){return new Promise((function(t){t()}))}function c(t){return(t=(t=t.replace(/[A-Z]/g,(t=>`-${t.toLowerCase()}`))).replace(/[0-9]+/g,(t=>`-${t}`))).replace(/^[-]/g,"")}function l(t){return t.replace(/-./g,(t=>`${t[1].toUpperCase()}`))}const f=(t,n)=>{let e=n,r=Object.getOwnPropertyNames(t.prototype).concat(Object.getOwnPropertySymbols(t.prototype));for(;""!==e.name;)Object.getOwnPropertyNames(e.prototype).concat(Object.getOwnPropertySymbols(e.prototype)).forEach((n=>{n.match(/^(?:constructor|prototype|arguments|caller|name|bind|call|apply|toString|length)$/)||r.includes(n)||(r.push(n),Object.defineProperty(t.prototype,n,Object.getOwnPropertyDescriptor(e.prototype,n)))})),e=Object.getPrototypeOf(e)};function h(t,n,e){return $.ajax({url:n,type:e||"POST",xhr:function(){var t=$.ajaxSettings.xhr();return t.upload&&t.upload.addEventListener("progress",p,!1),t},data:t,cache:!1,contentType:!1,processData:!1,beforeSend:function(t,n){(function(t){return/^(GET|HEAD|OPTIONS|TRACE)$/.test(t)})(n.type)||this.crossDomain||t.setRequestHeader("X-CSRFToken",window.CSRF_TOKEN)}})}function p(t){if(t.lengthComputable){var n=Math.round(t.loaded/t.total*100),e=$(".progress-container");100===n?e.hide():e.show(),n+="%",e.find(".progress-bar").css({width:n}).text(n)}}function _(t,n=null){return"string"!=typeof t?t:n&&void 0!==n[t]?"function"==typeof n[t]?n[t].bind(n):n[t]:t.match(/^(true|false)$/)?"true"===t:"undefined"!==t?"none"===t.toLowerCase()?null:t.match(/^-?\d+$/)?parseInt(t):t.match(/^-?\d+\.?\d+$/)?parseFloat(t):t.match(/^(['][^']*['])|(["][^"]*["])$/)?t.substr(1,t.length-2):t:void 0}function d(){return([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,(t=>(t^crypto.getRandomValues(new Uint8Array(1))[0]&15>>t/4).toString(16)))}function v(t){t.find(".has-error").removeClass("has-error").find(".alert-danger").remove(),t.find(".non-field-errors").remove()}function g(t,n){n=$("<div>").append(n),t.find(".has-error").removeClass("has-error").find(".alert-danger").safeRemove(),t.find(".non-field-errors").safeRemove();let e=n.find("input[type=file]").parent();t.find("input[type=file]").parent().each((function(t){$(this).replaceWith(e[t])}));let r=0===n.find(".non-field-errors").insertAfter(t.find(".hidden-form-fields")).length;return n.find(".has-error").each((function(){r=!1;let n=$(this),e=n.data("auto-id"),i=t.find(".form-group."+e);i.addClass("has-error"),i.find(".form-input-container").append(n.find(".alert-danger"))})),r}function m(t,n,e=null){let r=function(t,n){let e;t||(t=[]);let r=n.data(),i={};for(let n in r)r.hasOwnProperty(n)&&n!==F&&!t.includes(n)&&(i[n]=r[n]);e=[];for(let n=0;n<t.length;n++){let i=t[n];r.hasOwnProperty(i)?e.push(r[i]):e.push("undefined")}return e.push(i),e}(t,n);return function(t,n=null){let e=[];for(let r=0;r<t.length;r++){let i=_(t[r],n);e.push(i)}return e}(r,e)}function y(t,n,e){if(!t)return!1;if("function"!=typeof t.onInit)return!1;let r;var i;"function"==typeof t._on_init_params?r=t._on_init_params():r=(i=t.onInit.toString().replace(u,"")).slice(i.indexOf("(")+1,i.indexOf(")")).match(o)||[];let a=m(r,n,e._parentController);if(t.onInit.apply(e,a),e===t)for(let r in t._mixins)y(t._mixins[r],n,e)}let w={},b={};function x(){return Object.keys(b)}function k(t,n){if(t){let e=l(n._tagName);t._childController[e]||(t._childController[e]=[]),t._childController[e].push(n)}return n._parentController=t}function O(t,n,e,r){let i=[];r=function(t,n){t=(t=t.concat(b[n][1])).filter(((t,n,e)=>e.indexOf(t)===n));let e=!0;for(;e;){e=!1;for(let n of t)for(let r of b[n][1])t.includes(r)||(t.push(r),e=!0)}return t}(r,e);for(let t of r)i.push(b[t][0]);let o=new(function(t,...n){let e=class{constructor(...e){let r={};n.forEach((t=>{let n;Object.assign(this,n=new t),n._tagName=t.prototype._tagName,n._isMixin=!0,r[t.name]=n})),Object.assign(this,new t),this._mixins=r}get mixins(){return this._mixins}};return f(e,t),n.forEach((t=>{f(e,t)})),e}(b[e][0],...i));return o._tagName=e,k(t,o),o.$container=n,function(t,n){y(n,t,n)}(n,o),o}function C(t,n,e,r){let i=l(e);if(w[i]){let e=w[i];return k(t,e),e.$container=n,e}return O(t,n,e,r)}function S(t){const n=function(t){return function(t){let n={args:{}};return t.contentUrl&&(n=z(t,t.contentUrl),t.contentUrl=n.url),Promise.all([T(t.contentUrl,n.args,t._tagName,t.contentReload)]).then((function(t){let n=t[0];if(n)try{return $(n)}catch{return $("<div></div>").append(n)}return null}))}(t).then((n=>!t.onLoad||t._onLoadDone?n:(t._onLoadDone=!0,(t.onLoad(n)||s()).then((()=>n)))))}(t).then((function(n){return function(t,n){return W(t,n).then((function(n){if(n=n||!0,t.willShow){let e=t.willShow();if(e instanceof Promise)return e.then((function(){return n}))}return n}))}(t,n)})).then((()=>function(t){return t.refresh&&t.refresh()}(t))).catch((function(n){return W(t,n)}));return t.load_async?Promise.resolve():n}let j={},E={};function A(t,n){return N(t),E.hasOwnProperty(t)?n[E[t]]?void j[t].push(n):console.log("No event handler: "+t,n):console.log("No event: "+t,n)}function N(t,n){n||(n=t),E[t]||(E[t]=n,j[t]=[])}function R(t){for(let n in j)if(j.hasOwnProperty(n))for(let e=j[n].length;e>=0;e--)t===j[n][e]&&j[n].splice(e,1)}function P(t){let n=Array.apply(null,arguments);if(t=n.shift(),!j.hasOwnProperty(t)||!E.hasOwnProperty(t))return s();let e=j[t],r=E[t],i=[];for(let t=0;t<e.length;t++){let o=e[t][r].apply(e[t],n);void 0!==o&&i.push(o)}return Promise.all(i)}let I={};const F="_controller_",L="_sdc_controller_";function q(t,n,e){if(!t)return[];let r=t.children(),i=[];return r.each((function(t,r){let o=$(r),u=o.prop("tagName").toLowerCase().split("_");$.inArray(u[0],n)>=0?i.push({tag:u[0],super:u.splice(1)||[],dom:o}):u[0].startsWith("this.")?o.addClass(`_bind_to_update_handler sdc_uuid_${e._uuid}`):i=i.concat(q(o,n,e))})),i}function T(t,n,e,r){return t?I[e]?Promise.resolve(I[e]):(n.VERSION=pt.VERSION,n._method="content",$.get(t,n).then((function(t){return r||(I[e]=t),t})).catch((function(t){throw 301===t.status&&P("_RedirectOnView",t.responseJSON["url-link"]),P("navLoaded",{controller_name:()=>t.status}),`<sdc-error data-code="${t.status}">${t.responseText}</sdc-error>`}))):Promise.resolve(!1)}function U(t,n){return n=n||t.data(F),B(pt.tagNames,t,n)}function z(t){let n=t.contentUrl;if(t&&0===t._urlParams.length){let e,r=/%\(([^)]+)\)\w/gm;for(t._urlParams=[];e=r.exec(n);)t._urlParams.push(e[1]),t.contentReload=!0}let e=function(t,n){return m(t._urlParams,n)}(t,t.$container);return t._urlParams.length&&(n=function(t,n,e){for(let r in t._urlParams)if(t._urlParams.hasOwnProperty(r)){let i=t._urlParams[r],o=RegExp("%\\("+i+"\\)\\w","gm");n=n.replace(o,""+e.shift())}return n}(t,n,e)),t.parsedContentUrl=n,{url:n,args:e[e.length-1]}}function M(t){return t.hasClass(L)?t.data(`${F}`):t.closest(`.${L}`).data(`${F}`)}function D(t,n,e,r){let i=t.data(F);return i?U(t,i):(i=C(r,t,n,e),t.data(F,i),t.addClass(L),S(i))}function W(t,n){if(n&&n.length>0){t.$container.empty(),t.$container.attr(t._tagName,"");for(let n in t._mixins)t.$container.attr(t._mixins[n]._tagName,"");t.$container.append(n)}return U(t.$container,t)}function B(t,n,e){return new Promise((r=>{let i=q(n,t,e),o=i.length;if(0===o)return r();for(let t=0;t<i.length;t++)D(i[t].dom,i[t].tag,i[t].super,e).then((()=>{if(o--,0===o)return r()}))}))}function J(t){return V(t,t.$container)}function V(t,n){const e=[];return n.find(`._bind_to_update_handler.sdc_uuid_${t._uuid}`).each((function(){const n=$(this);let r;if(n.hasClass("_with_handler"))r=n.data("handler");else{let n=this.tagName.toLowerCase().replace(/^this./,"");t[n]&&(r=t[n])}void 0!==r&&("function"==typeof r&&(r=r.bind(t)(n.data())),e.push(Promise.resolve(r).then((e=>{const r=$("<div></div>");return r.append(e),B(x(),r,t).then((()=>V(t,r).then((()=>(n.safeEmpty().text("").append(e),!0)))))}))))})),Promise.all(e)}let G=!1,Z=!1,K=null;const H=25e3;let Y={};class X{constructor(t,n){this.pk=t,this._model=n}set model(t){this._model=t}get model(){return this._model}load(t){if(!this._model)throw new TypeError("Model is not set!!");return t.newModel(this._model,{pk:this.pk})}}const Q={get(t,n){const e=t[n]??void 0;if(e instanceof X){if(!e.pk&&0!==e.pk)return null;const t=new Number(e.pk);return t.load=e.load.bind(e),t}return e},set(t,n,e){if(n in t){const r=t[n];r instanceof X?e.hasOwnProperty("pk")?r.pk=e.pk:r.pk=e:t[n]=e}else t[n]=e;return!0}};function tt(){return Z=!0,new Promise((t=>{K="https:"===window.location.protocol?new WebSocket(`wss://${window.location.host}/sdc_ws/ws/`):new WebSocket(`ws://${window.location.host}/sdc_ws/ws/`),K.onmessage=function(t){let n=JSON.parse(t.data);if(n.is_error)(n.msg||n.header)&&P("pushErrorMsg",n.header||"",n.msg||""),Y[n.id]&&(Y[n.id][1](n.data||null),delete Y[n.id]);else if((n.msg||n.header)&&P("pushMsg",n.header||"",n.msg||""),n.type&&"sdc_recall"===n.type)Y[n.id]&&(Y[n.id][0](n.data),delete Y[n.id]);else if(n.type&&"sdc_event"===n.type){let t=n.event;t&&P(t,n.payload)}else n.type&&"sdc_redirect"===n.type&&P("onNavLink",n.link)},K.onclose=function(){G&&console.error("SDC Socket closed unexpectedly"),G=!1;for(const[t,n]of Object.entries(Y))n[1]({}),delete Y[t];setTimeout((()=>{tt()}),1e3)},K.onerror=function(t){if(console.error("Socket encountered error: ",t.message,"Closing socket"),G)try{K.close()}catch(t){}},K.onopen=function(){G=!0,Z=!1,t()}}))}function nt(){if(G){G=!1;try{K.close()}catch(t){}}}function et(){return new Promise((t=>G?t():Z?void setTimeout((()=>{et().then((()=>{t()}))}),200):t(tt())))}class rt{constructor(t,n={}){this.values_list=[],this.values={},this.model_name=t,this.model_query=n,this._is_connected=!1,this._is_conneting_process=!1,this._auto_reconnect=!0,this.socket=null,this.open_request={},this.on_update=()=>{},this.on_create=()=>{},this.form_id=d()}[Symbol.iterator](){let t=-1;return{next:()=>(++t,t<this.values_list.length?{value:this.values_list[t],done:!1}:{value:null,done:!0})}}length(){return this.values_list.length}byPk(t){if(null!==t){t=parseInt(t),isNaN(t)&&(t=-1);let n=this.values_list.find((n=>n.pk===t));return n||(n=new Proxy({pk:t},Q),this.values_list.push(n)),n}return{pk:t}}filter(t){return this.model_query=Object.assign({},this.model_query,t),this}load(){return this.isConnected().then((()=>{const t=d();return new Promise(((n,e)=>{this.socket.send(JSON.stringify({event:"model",event_type:"load",event_id:t,args:{model_name:this.model_name,model_query:this.model_query}})),this.open_request[t]=[n,e]}))}))}listView(t={},n=null,e=null){let r=$('<div class="container-fluid">');return this.isConnected().then((()=>{const i=d();this.socket.send(JSON.stringify({event:"model",event_type:"list_view",event_id:i,args:{model_name:this.model_name,model_query:this.model_query,filter:t}})),this.open_request[i]=[t=>{r.append(t.html),pt.refresh(r),n&&n(t)},t=>{e&&e(t)}]})),r}detailView(t=-1,n=null,e=null){t=parseInt(t),isNaN(t)&&(t=-1);let r,i=$('<div class="container-fluid">');return r=0!==this.values_list.length?this.isConnected():this.load(),r.then((()=>{-1===t&&(t=this.values_list[0].pk);const r=d();this.socket.send(JSON.stringify({event:"model",event_type:"detail_view",event_id:r,args:{model_name:this.model_name,model_query:this.model_query,pk:t}})),this.open_request[r]=[t=>{i.append(t.html),pt.refresh(i),n&&n(t)},t=>{e&&e(t)}]})),i}syncFormToModel(t){return this.syncForm(t)}syncModelToForm(t){t&&t.hasClass(this.form_id)||(t=$(`.${this.form_id}`));let n=this;t.each((function(){if(!this.hasAttribute("data-model_pk"))return;let t=$(this).data("model_pk"),e=n.byPk(t);for(let t of this.elements){let n=t.name;if(n&&""!==n)if("checkbox"===t.type)t.checked=e[n];else if("file"===t.type&&e[n]instanceof File){let r=new DataTransfer;r.items.add(e[n]),t.files=r}else $(t).val(e[n])}}))}syncForm(t){t&&t.hasClass(this.form_id)||(t=$(`.${this.form_id}`));const n=this;let e=[];return t.each((function(){let t=$(this).data("model_pk"),r=n.byPk(t);for(let t of this.elements){let n=t.name;n&&""!==n&&("hidden"===t.type?r[n]=(i=$(t).val()).toLowerCase().match(/^(true|false)$/)?"true"===i.toLowerCase():"undefined"!==i?"none"===i.toLowerCase()?null:i.match(/^-?\d+$/)?parseInt(i):i.match(/^-?\d+\.?\d+$/)?parseFloat(i):i.match(/^(['][^']*['])|(["][^"]*["])$/)?i.substring(1,i.length-1):i:void 0:"checkbox"===t.type?r[n]=t.checked:"file"===t.type?r[n]=t.files[0]:r[n]=$(t).val())}var i;return e.push(r),r})),this.values_list.length<=1&&e.length>0&&(this.values=e.at(-1)),e}createForm(t=null,n=null){let e=$('<div class="container-fluid">');return this.isConnected().then((()=>{this._getForm(null,"create_form",null,e,t,n)})),e}editForm(t=-1,n=null,e=null){let r;t=parseInt(t),isNaN(t)&&(t=-1),r=0!==this.values_list.length?this.isConnected():this.load();let i=$('<div class="container-fluid">');return r.then((()=>{t<=-1&&(t=this.values_list.at(t).pk),this._getForm(t,"edit_form",null,i,n,e)})),i}namedForm(t=-1,n,e=null,r=null){let i;t=parseInt(t),isNaN(t)&&(t=-1),i=0!==this.values_list.length?this.isConnected():this.load();let o=$('<div class="container-fluid">');return i.then((()=>{t<=-1&&(t=this.values_list.at(t).pk),this._getForm(t,"named_form",n,o,e,r)})),o}_getForm(t,n,e,r,i,o){t=parseInt(t),isNaN(t)&&(t=-1);const u=d();this.socket.send(JSON.stringify({event:"model",event_type:n,event_id:u,args:{model_name:this.model_name,model_query:this.model_query,pk:t,form_name:e}}));const a=null===t||-1===t?"create":"edit";this.open_request[u]=[n=>{r.append(n.html);let e=r.closest("form").addClass(`sdc-model-${a}-form sdc-model-form ${this.form_id}`).data("model",this).data("model_pk",t);e.length>0&&!e[0].hasAttribute("sdc_submit")&&e.attr("sdc_submit","submitModelFormDistributor"),pt.refresh(r),i&&i(n)},t=>{o&&o(t)}]}new(){return new Promise(((t,n)=>{const e=$("<form>").append(this.createForm((()=>{this.syncFormToModel(e),t()}),n))}))}save(t=-1){return t=parseInt(t),isNaN(t)&&(t=-1),this.isConnected().then((()=>{let n;n=t>-1?[this.byPk(t)]:this.values_list;let e=[];return n.forEach((t=>{const n=d();e.push(new Promise(((e,r)=>{this._readFiles(t).then((i=>{this.socket.send(JSON.stringify({event:"model",event_type:"save",event_id:n,args:{model_name:this.model_name,model_query:this.model_query,data:t,files:i}})),this.open_request[n]=[t=>{let n="string"==typeof t.data.instance?JSON.parse(t.data.instance):t.data.instance;t.data.instance=this._parseServerRes(n),e(t)},r]}))})))})),Promise.all(e)}))}create(t=this.values){const n=d();return this.isConnected().then((()=>new Promise(((e,r)=>{this._readFiles(t).then((i=>{this.socket.send(JSON.stringify({event:"model",event_type:"create",event_id:n,args:{model_name:this.model_name,model_query:this.model_query,data:t,files:i}})),this.open_request[n]=[t=>{let n="string"==typeof t.data.instance?JSON.parse(t.data.instance):t.data.instance;t.data.instance=this._parseServerRes(n)[0],e(t)},r]}))}))))}delete(t=-1){t=parseInt(t),isNaN(t)&&(t=-1),-1===t&&(t=this.values?.pk);const n=d();return this.isConnected().then((()=>new Promise(((e,r)=>{this.socket.send(JSON.stringify({event:"model",event_type:"delete",event_id:n,args:{model_name:this.model_name,model_query:this.model_query,pk:t}})),this.open_request[n]=[e,r]}))))}isConnected(){return new Promise(((t,n)=>{if(this._is_connected)t();else if(this._is_conneting_process){const[e,r]=this.open_request._connecting_process;this.open_request._connecting_process=[()=>{e(),t()},()=>{r(),n()}]}else this._is_conneting_process=!0,this.open_request._connecting_process=[()=>{},()=>{}],this._connectToServer().then((()=>{t(this._checkConnection())}))}))}close(){this.socket&&(this._auto_reconnect=!1,this.socket.onclose=()=>{},this.socket.close(),delete this.socket)}clean(){return this.values_list=[],this.values={},this}_readFiles(t){let n=[],e={};for(const[r,i]of Object.entries(t))i instanceof File&&n.push(new Promise(((t,n)=>{((r,i)=>{let o=new FileReader;o.onload=o=>{const u=d();this.open_request[u]=[t,n];let a=o.target.result,s=parseInt(Math.ceil(a.length/H));e[r]={id:u,file_name:i.name,field_name:r,content_length:i.size};for(let t=0;t<s;++t)this.socket.send(JSON.stringify({event:"model",event_type:"upload",event_id:u,args:{chunk:a.slice(H*t,H*(t+1)),idx:t,number_of_chunks:s,file_name:i.name,field_name:r,content_length:i.size,content_type:i.type,model_name:this.model_name,model_query:this.model_query}}))},o.onerror=()=>{n()},o.readAsBinaryString(i)})(r,i)})));return Promise.all(n).then((()=>e))}_onMessage(t){let n=JSON.parse(t.data);if(n.is_error)this.open_request.hasOwnProperty(n.event_id)&&(this.open_request[n.event_id][1](n),delete this.open_request[n.event_id]),(n.msg||n.header)&&P("pushErrorMsg",n.header||"",n.msg||""),"connect"===n.type&&(this.open_request._connecting_process[1](n),delete this.open_request._connecting_process,this._auto_reconnect=!1,this.socket.close());else{if((n.msg||n.header)&&P("pushMsg",n.header||"",n.msg||""),"connect"===n.type)this._is_connected=!0,this._is_conneting_process=!1,this.open_request._connecting_process[0](n),delete this.open_request._connecting_process;else if("load"===n.type){const t=JSON.parse(n.args.data);this.values_list=[],n.args.data=this._parseServerRes(t)}else if("on_update"===n.type||"on_create"===n.type){const t=JSON.parse(n.args.data);let e,r=this._parseServerRes(t);e="on_create"===n.type?this.on_create:this.on_update,e(r),n.args.data=r}let t=n.data?.instance;t&&(n.data.instance=JSON.parse(n.data.instance)),this.open_request.hasOwnProperty(n.event_id)&&(this.open_request[n.event_id][0](n),delete this.open_request[n.event_id])}}_connectToServer(){return new Promise((t=>{const n=`${this.model_name}`+(this.model_id>0?`/${this.model_id}`:"");"https:"===window.location.protocol?this.socket=new WebSocket(`wss://${window.location.host}/sdc_ws/model/${n}`):this.socket=new WebSocket(`ws://${window.location.host}/sdc_ws/model/${n}`),this.socket.onmessage=this._onMessage.bind(this),this.socket.onclose=t=>{console.error(`SDC Model (${this.model_name}, ${this.model_id}) Socket closed unexpectedly`),this._is_connected=!1;for(const[n,e]of Object.entries(this.open_request))e[1](t);this.open_request={},setTimeout((()=>{this._auto_reconnect&&this._connectToServer().then((()=>{}))}),1e3)},this.socket.onerror=t=>{if(console.error(`Model Socket encountered error: ${t} Closing socket`),this._is_connected)try{this.socket.close()}catch(t){}},this.socket.onopen=()=>{t()}}))}_checkConnection(){const t=d();return new Promise(((n,e)=>{this.socket.send(JSON.stringify({event:"model",event_type:"connect",event_id:t,args:{model_name:this.model_name,model_query:this.model_query}})),this.open_request[t]=[n,e]}))}_parseServerRes(t){let n=[];for(let e of t){const t=e.pk,r=this.byPk(t);for(const[t,n]of Object.entries(e.fields))n&&"object"==typeof n&&n.__is_sdc_model__?r[t]=new X(n.pk,n.model):r[t]=n;n.push(r)}return 1===this.values_list.length?this.values=this.values_list.at(-1):this.values={},n}}var it=e(543);class ot{constructor(){this._uuid=d(),this.contentUrl="",this.contentReload=!1,this.events=[],this.load_async=!1,this._isEventsSet=!1,this._allEvents=null,this._urlParams=[],this._models=[],this._cssUrls=[],this.afterShow=()=>{console.warn("afterShow is deprecated!!")},this._mixins={},this._tagName="",this._childController={},this._parentController=null,this._onLoadDone=!1,this.$container=null,this._isMixin=!1}_runLifecycle(t,n){pt.DEBUG&&console.debug(t,this._tagName);let e=[];if(!this._isMixin){this._isMixin=!0;for(let r in this._mixins){let i=this._mixins[r];"function"==typeof i[t]&&e.push(i[t].apply(this,n))}return Promise.all(e).then((()=>{this._isMixin=!1}))}}onInit(){pt.DEBUG&&console.DEBUG(Array.apply(null,arguments),this._tagName)}get parentController(){return this._parentController}get childController(){return this._childController}onLoad(){return this._runLifecycle("onLoad",arguments)}willShow(){return this._runLifecycle("willShow",arguments)}onRefresh(){return this._runLifecycle("onRefresh",arguments)}onRemove(){return this._runLifecycle("onRemove",arguments),!0}remove(){for(const t of this._models)t.close();let t=this._childController;for(let n in t)if(t.hasOwnProperty(n))for(let e of t[n])if(!e.remove())return!1;if(!this.onRemove||this.onRemove()){R(this);const t=l(this._tagName);if(this._parentController._childController[t]){let n=this._parentController._childController[t];for(let t=0;t<n.length;t++)n[t]===this&&n.splice(t,1)}return this.$container.remove(),!0}return!1}controller_name(){return this._tagName.replace(/-./g,(t=>` ${t[1].toUpperCase()}`)).replace(/^./g,(t=>`${t.toUpperCase()}`))}addEvent(t,n,e){this.getEvents(),this._allEvents[t]=this._allEvents[t]||{},this._allEvents[t][n]=e}getEvents(){if(this._allEvents)return this._allEvents;let t=[];t=t.concat(this.events);for(let n in this._mixins){let e=this._mixins[n];Array.isArray(e.events)&&(t=t.concat(e.events))}return this._allEvents=(0,it.merge)(...t)}post(t,n){return pt.post(this,t,n)}get(t,n){return pt.get(this,t,n)}submitForm(t,n,e){return pt.submitFormAndUpdateView(this,t,n,e)}serverCall(t,n){let e=this.contentUrl.match(/sdc_view\/([^/]+)/i);if(e&&!(e.length<2))return function(t,n,e,r){let i=d();return et().then((()=>{K.send(JSON.stringify({event:"sdc_call",id:i,controller:n,app:t,function:e,args:r}))})),new Promise(((t,n)=>{Y[i]=[t,n]}))}(e[1],this._tagName,t,n);console.error("To use the serverCall function the contentUrl must be set: "+this.name)}newModel(t,n={}){if(t instanceof Number&&t.hasOwnProperty("load"))return t.load(this);const e=new rt(t,n);return this._models.push(e),e}updateModel(t,n={},e){let r=new rt(t,n);return r.load().then((()=>{r.values|=e,r.save().then((()=>(r.close(),r.values)))}))}find(t){return this.$container.find(t)}refresh(){return pt.refresh(this.$container,this)}reload(){return pt.reloadController(this)}submitModelFormDistributor(t,n){return"function"==typeof this._submitModelForm?this._submitModelForm(t,n):"function"==typeof this.submitModelForm?this.submitModelForm(t,n):this.defaultSubmitModelForm(t,n)}iterateAllChildren(){let t=this._childController,n=[];for(let e in t)if(t.hasOwnProperty(e))for(let r of t[e])n.push(r),n.push(...r.iterateAllChildren());return n}defaultSubmitModelForm(t,n){let e=[];if(!this._isMixin){n.stopPropagation(),n.preventDefault();let r=t.data("model");const i=r.syncForm(t);for(let n of i)e.push(new Promise(((e,i)=>{let o;o=null!==n.pk&&n.pk>=0?r.save(n.pk):r.create(n),o.then((n=>{v(t),this.submit_model_form_success&&this.submit_model_form_success(n[0]);for(const t of this.iterateAllChildren())t.submit_model_form_success&&t.submit_model_form_success(n[0]);e(n)})).catch((n=>{g(t,$(n.html)),this.submit_model_form_error&&this.submit_model_form_error(n);for(const t of this.iterateAllChildren())t.submit_model_form_error&&t.submit_model_form_error(n);i(n)}))})))}return Promise.all(e).then((t=>Object.assign({},...t.flat())))}}const ut=["onbeforeunload"],at=Object.keys(window).filter((t=>/^on/.test(t)&&!ut.includes(t))).map((t=>t.slice(2)));function st(t){let n=t.type;t.hasOwnProperty("namespace")&&t.namespace&&t.namespace.length&&(n+=`.${t.namespace}`);let e=$(t.target),r=null,i=!1,o=!1;for(t.stopImmediatePropagation=()=>o=!0,t.stopPropagation=()=>o=i=!0;e.length;){let u=e.attr(`sdc_${n}`);if(u){if(!r&&(r=M(e),!r))return;for(;r;){if(u.split(" ").forEach((o=>{if(i)return;let u=null;if("function"==typeof o)u=o;else if("function"==typeof r[o])u=r[o];else if("string"==typeof o&&o.startsWith("this.event_")){if(u=r.getEvents()[n],!u)return;if(u=u[o.slice(11)],!u)return}u&&u.call(r,e,t)})),o)return;r=r._parentController}}if(i)return;e=e.parent()}return{res:!0}}function ct(t){if(t._isEventsSet)return;const n=t.getEvents();for(let e in n)if(n.hasOwnProperty(e)){let r=n[e];for(let n in r)r.hasOwnProperty(n)&&t.find(n).each((function(){let t=$(this),r=t.attr(`sdc_${e}`)||null;r=r?r.split(" "):[];const i=`this.event_${n}`;-1===r.indexOf(i)&&(r.push(i),t.attr(`sdc_${e}`,r.join(" ")))}))}}const lt={classname:"class"};window.sdcDom=function(t,n,...e){if(!t)return"";const r=function(t,n){let e,r=!1;if("string"==typeof t)e=$(document.createElement(t));else{const n=`this.${t.name}`;e=$(document.createElement(n)),e.data("handler",t),r=!0}return n&&Object.entries(n).forEach((([t,n])=>{t.startsWith("on")?e[0].addEventListener(t.substring(2).toLowerCase(),n):(lt[t.toLowerCase()]&&(t=lt[t.toLowerCase()]),e[0].setAttribute(t,n))})),r&&e.addClass("_bind_to_update_handler _with_handler"),e}(t,n);for(const t of e)r.append(t);return r};let ft,ht,pt={CSRF_TOKEN:window.CSRF_TOKEN||"",LANGUAGE_CODE:window.LANGUAGE_CODE||"en",DEBUG:window.DEBUG||!1,VERSION:window.VERSION||"0.0",tagNames:[],Global:w,rootController:null,_isInit:!1,_origin_trigger:null,init_sdc:()=>{pt._isInit||(pt._isInit=!0,pt._origin_trigger?nt():(pt._origin_trigger=$.fn.trigger,$.fn.trigger=function(t){const n={}.hasOwnProperty.call(t,"type")?t.type:t;return at.includes(n)||(at.push(n),$(window).on(n,st)),pt._origin_trigger.call(this,t)},pt.updateJquery()),et(),function(){const t=$(window);at.forEach((n=>{t.off(n).on(n,st)}))}(),pt.rootController=pt.rootController||new ot),pt.tagNames=x();for(let[t,n]of Object.entries(pt.Global))n.$container||(w[t].$container=a());return B(pt.tagNames,a(),pt.rootController)},updateJquery:()=>{$.fn.safeReplace=function(t){return pt.safeReplace($(this),t)},$.fn.safeEmpty=function(){return pt.safeEmpty($(this))},$.fn.safeRemove=function(){return pt.safeRemove($(this))}},controllerToTag:t=>c(t.name).replace(/-controller$/,""),registerGlobal:t=>{let n=pt.controllerToTag(t),e=new t;b[n]=[e,[]],e._tagName=n,window[l(n)]=w[l(n)]=e},cleanCache:()=>{I={}},register:t=>{let n=pt.controllerToTag(t);return b[n]=[t,[]],t.prototype._tagName=n,{addMixin:(...t)=>{for(let e of t){let t;"string"==typeof e?t=c(e):e&&(t=pt.controllerToTag(e)),b[n][1].push(t)}}}},post:(t,n,e)=>(e||(e={}),e.CSRF_TOKEN=pt.CSRF_TOKEN,pt.ajax(t,n,params,$.post)),get:(t,n,e)=>pt.ajax(t,n,e,$.get),ajax:(t,n,e,r)=>{e||(e={}),e.VERSION=pt.VERSION,e._method=e._method||"api";const i=new Promise(((o,u)=>r(n,e).then(((n,e,r)=>{o(n,e,r),"redirect"===n.status?P("onNavLink",n["url-link"]):i.then((()=>{pt.refresh(t.$container)}))})).catch(u)));return i},submitFormAndUpdateView:(t,n,e,r)=>{let i=new FormData(n);const o=t=>{t["url-link"]?P("onNavLink",t["url-link"]):window.location.href=t.url},u=new Promise(((a,s)=>{h(i,e||n.action,r||n.method).then(((n,e,r)=>{a(n,e,r),"redirect"===n.status?o(n):u.then((()=>{pt.refresh(t.$container)}))})).catch(((t,n,e)=>{301===t.status?(t=t.responseJSON,o(t),a(t,n,e)):s(t,n,e)}))}));return u},submitForm:(t,n,e)=>{let r=new FormData(t);return new Promise(((i,o)=>{h(r,n||t.action,e||t.method).then(i).catch(o)}))},getController:t=>M(t),safeEmpty:t=>(t.children().each((function(t,n){let e=$(n);pt.safeRemove(e)})),t),safeReplace:(t,n)=>(n.insertBefore(t),pt.safeRemove(t)),safeRemove:t=>(t.each((function(){let t=$(this);t.data(`${F}`)&&t.data(`${F}`).remove()})),t.find(`.${L}`).each((function(){const t=$(this).data(`${F}`);t&&t.remove()})),t.remove()),reloadController:t=>function(t){if(t.contentUrl){let n=z(t,t.contentUrl);return t.contentUrl=n.url,T(t.contentUrl,n.args,t._tagName,t.contentReload)}return new Promise((t=>{t($())}))}(t).then((n=>{let e=$(n);t._childController={},B(pt.tagNames,e,t).then((()=>{pt.safeEmpty(t.$container),t.$container.append(e),pt.refresh(t.$container,t)}))})),refresh:(t,n)=>{if(n||(n=pt.getController(t)),!n)return s();let e=n,r=[];for(;e;)e._isEventsSet=!1,r.unshift(e),e=e._parentController;return B(pt.tagNames,n.$container,n).then((()=>{J(n).then((()=>{for(let t of r)ct(t);n.onRefresh(t)}))}))}};const _t=nt,dt={get_controller:async function(t,n={},e=""){if(!jest)throw new Error("JEST is not defined");ft||(ht=$.ajax.bind($),ft=jest.spyOn($,"ajax"),ft.mockImplementation((function(t){return ht(t).then((t=>t)).catch((t=>t))})));const r=$("body");pt.updateJquery(),r.safeEmpty();const i=$(`<${t}>${e}</${t}>`);for(const[t,e]of Object.entries(n))i.data(t,e);const o=$("<div></div>").append(i);return r.append(o),pt._isInit=!1,pt.cleanCache(),await pt.init_sdc(),pt.getController(i)}};var vt=r.n$,gt=r.du,mt=r.yA,yt=r.g3,wt=r.u2,bt=r.n9,$t=r.on,xt=r.yy,kt=r.R6,Ot=r.$n,Ct=r.hA,St=r.VB,jt=r.hZ;export{vt as AbstractSDC,gt as allOff,mt as app,yt as checkIfParamNumberBoolOrString,wt as clearErrorsInForm,bt as controllerFactory,$t as on,xt as runControlFlowFunctions,kt as setErrorsInForm,Ot as setEvent,Ct as socketReconnect,St as test_utils,jt as trigger};
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license
3
+ * Lodash <https://lodash.com/>
4
+ * Copyright OpenJS Foundation and other contributors <https://openjsf.org/>
5
+ * Released under MIT license <https://lodash.com/license>
6
+ * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
7
+ * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
8
+ */
package/gulp/gulp.jsx CHANGED
@@ -21,7 +21,8 @@ function scss() {
21
21
  * @returns {*}
22
22
  */
23
23
  function pre_compile_javascript() {
24
- return src(['.js', '.json'].map((x)=> `./src/**/*${x}`), {follow: true})
24
+ let file_extentions =process.env.JS_CILENT_FILE_EXTENTIONS?.split(',') || ['.js', '.json'];
25
+ return src(file_extentions.map((x)=> `./src/**/*${x}`), {follow: true})
25
26
  .pipe(through.obj(function (obj, enc, next) {
26
27
  let srcFile = obj.path
27
28
  if (!obj.isNull() && !obj.isDirectory() && obj.isBuffer() && /.js$/.test(srcFile)) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sdc_client",
3
- "version": "0.55.4",
3
+ "version": "0.56.1",
4
4
  "description": "Simple Dom Control",
5
5
  "main": "dist/ugly.index.js",
6
6
  "type": "module",
@@ -34,9 +34,9 @@
34
34
  "gulp": "^4.0.2",
35
35
  "jest": "^28.1.3",
36
36
  "jest-environment-jsdom": "^29.7.0",
37
- "micromatch": "^4.0.6",
37
+ "micromatch": "^4.0.8",
38
38
  "vinyl-named": "^1.1.0",
39
- "webpack": "^5.89.0",
39
+ "webpack": "^5.95.0",
40
40
  "webpack-stream": "^7.0.0",
41
41
  "chokidar": "^3.5.3",
42
42
  "dotenv": "^16.4.1",
@@ -2,16 +2,16 @@ import {allOff} from "./sdc_events.js";
2
2
  import {app} from "./sdc_main.js";
3
3
  import {callServer, Model} from "./sdc_socket.js";
4
4
  import {uuidv4, setErrorsInForm, clearErrorsInForm, tagNameToCamelCase, tagNameToReadableName} from "./sdc_utils.js";
5
+ import {merge} from "lodash";
5
6
 
6
7
  export class AbstractSDC {
7
8
  constructor() {
8
9
  this._uuid = uuidv4();
9
10
  this.contentUrl = '';
10
11
  this.contentReload = false;
11
- this.hasSubnavView = false;
12
12
  this.events = [];
13
13
  this.load_async = false;
14
- this.isEventsSet = false;
14
+ this._isEventsSet = false;
15
15
  this._allEvents = null;
16
16
 
17
17
  this._urlParams = [];
@@ -180,7 +180,7 @@ export class AbstractSDC {
180
180
  }
181
181
 
182
182
 
183
- return (this._allEvents = Object.assign({}, ...allEvents));
183
+ return (this._allEvents = merge(...allEvents));
184
184
  }
185
185
 
186
186
  post(url, args) {
@@ -69,7 +69,7 @@ export function initEvents() {
69
69
  */
70
70
  export function setControllerEvents(controller) {
71
71
 
72
- if (controller.isEventsSet) {
72
+ if (controller._isEventsSet) {
73
73
  return;
74
74
  }
75
75
 
@@ -95,6 +95,6 @@ export function setControllerEvents(controller) {
95
95
  }
96
96
  }
97
97
  }
98
-
99
- //controller.isEventsSet = true;
98
+ // TODO: Is it needed
99
+ //controller._isEventsSet = true;
100
100
  }
@@ -365,7 +365,7 @@ export let app = {
365
365
  let controller = leafController;
366
366
  let controllerList = [];
367
367
  while (controller) {
368
- controller.isEventsSet = false;
368
+ controller._isEventsSet = false;
369
369
  controllerList.unshift(controller);
370
370
  controller = controller._parentController;
371
371
  }
@@ -128,7 +128,6 @@ describe('Controller', () => {
128
128
  let ctr = new TestCtr();
129
129
  expect(ctr.contentUrl).toBe("TestCtr");
130
130
  expect(ctr.contentReload).toBe(true);
131
- expect(ctr.hasSubnavView).toBe(false);
132
131
  });
133
132
 
134
133
  });
package/test/dist.test.js CHANGED
@@ -122,7 +122,6 @@ describe('Controller', () => {
122
122
  let ctr = new TestCtr();
123
123
  expect(ctr.contentUrl).toBe("TestCtr");
124
124
  expect(ctr.contentReload).toBe(true);
125
- expect(ctr.hasSubnavView).toBe(false);
126
125
  });
127
126
 
128
127
  });