define("wixCodeInit/utils/urlBuilder",[],function(){"use strict";function a(){var a=arguments[0];for(var b=1;b0){b(a.shift())}}}}return{get:a}});define("wixCodeInit/utils/iFrameUtils",[],function(){"use strict";function a(a,b){var c=document.createElement("iframe");c.style.display="none";c.src=a;c.className="wix-code-app";c.setAttribute("data-app-id",b.applicationId);c.setAttribute("data-app-definition-id",b.appDefinitionId);return c}function b(a,b){return b.source===a.contentWindow}return{getIFrameForApp:a,isIFrameEvent:b}});define("wixCodeInit/utils/appsUtils",["lodash"],function(a){"use strict";function b(b,c,d){if(!b){return}var e=b.getDynamicPageData();if(!e){return}var f=e.routerData;var g=e.routerDefinition;var h=g.appId===-1?a.find(c,{id:"dataBinding"}):a.find(c,{id:g.appId});if(h){h.routerData=f}else{var i=a.get(b.rendererModel.clientSpecMap[g.appId],"type")==="siteextension";if(i){a.forEach(d,function(b){var d=a.find(c,{id:b});if(d){d.routerData=f}})}}}function c(b){var c={displayName:"siteextension"};return a(b).reject(c).map(function(b){return a.assign({type:"Application"},b)}).value()}function d(b,c,d,e,f){if(a.find(b,c)){a.forEach(d,function(a){var b=e.getDataByQuery(a);if(!b){return}f.push({id:a,type:b.isPopup?"Popup":"Page",displayName:b.title})})}}function e(e,f,g){e=a.without(e,"masterPage");var h={displayName:"siteextension"};var i=c(g);d(g,h,e,f,i);b(f,i,e);return i}function f(){var a=arguments[0];for(var b=1;b0){c=b(c);c.widgets=c.widgets.filter(function(a){return d.indexOf(a.id)===-1});if(c.widgets.length===0){return null}}}return c}return{asyncGetPreLoadMessage:d,asyncGetPreInitMessage:e,filterPreLoadedWidgets:f}});define("wixCodeInit/utils/specMapUtils",[],function(){"use strict";var a="siteextension";function b(b){for(var c in b){if(b.hasOwnProperty(c)&&b[c].type===a){return b[c]}}}return{getAppSpec:b}});define("wixCodeInit/api/wixCodeAppApi",["wixCodeInit/utils/urlBuilder","wixCodeInit/utils/messageHolder","wixCodeInit/utils/iFrameUtils","wixCodeInit/utils/widgetsPreLoader","wixCodeInit/utils/specMapUtils"],function(a,b,c,d,e){"use strict";function f(a){return a.intent==="WIX_CODE"&&a.type==="wix_code_iframe_loaded"}function g(a){if(document.readyState!=="loading"){document.body.appendChild(a)}else{document.addEventListener("DOMContentLoaded",function(){document.body.appendChild(a)})}}function h(){var h=[];var i=[];var j=b.get();var k=false;var l=true;var m=null;var n=null;function o(a,b){if(!c.isIFrameEvent(a,b)){return}if(f(b.data)){j.setMessageTarget(function(b){a.contentWindow.postMessage(b,"*")})}h.forEach(function(a){a(b.data)})}function p(b,d,f){if(k){console.warn("Wix code is already initiated");return}var h=e.getAppSpec(d);if(h){var i=a.buildUrl(b,h,f);var j=c.getIFrameForApp(i,h);var l=o.bind(null,j);window.addEventListener("message",l,false);g(j);k=true}}function q(a){h.push(a)}function r(a){i.push(a)}function s(a){var b=a;i.forEach(function(a){b=a(b)});return b}function t(a){if(l){a=m?d.filterPreLoadedWidgets(m,a):a}if(a){j.sendOrHoldMessage(s(a))}l=false}function u(a,b){var c=e.getAppSpec(a.rendererModel.clientSpecMap);if(l&&!m&&c){d.asyncGetPreLoadMessage(a,b,function(a){if(l&&!m){m=a;j.sendOrHoldMessage(m)}})}}function v(a,b){var c=e.getAppSpec(a.rendererModel.clientSpecMap);if(l&&!n&&c){d.asyncGetPreInitMessage(a,b,function(a){if(l&&!n){n=a;j.sendOrHoldMessage(n)}})}}return{init:p,sendMessage:t,registerMessageHandler:q,registerMessageModifier:r,preLoadWidgets:u,preInitWidgets:v}}return{getApi:h}});define("wixCodeInit/api/initMainR",["wixCodeInit/utils/specMapUtils","wixCodeInit/utils/appsUtils"],function(a,b){"use strict";function c(c,d,e,f){var g={isMobileView:e,debug:f.getParameterByName("debug"),sdkSource:f.getParameterByName("sdkSource"),runtimeSource:f.getParameterByName("WixCodeRuntimeSource")};var h=f.getParameterByName("viewerPlatformAppSources");g.applications=b.getAppsBaseInfo(d.rendererModel.clientSpecMap,d.serviceTopology,h);var i=!!d.publicModel;function j(b){c.init(d,b,g);if(i&&a.getAppSpec(b)){c.preLoadWidgets(d,document.location.href)}}j(d.rendererModel.clientSpecMap)}return c});define("wixCodeInit",["wixCodeInit/api/wixCodeAppApi","wixCodeInit/api/initMainR","wixCodeInit/utils/specMapUtils","wixCodeInit/utils/appsUtils"],function(a,b,c,d){"use strict";return{getAppApi:a.getApi,initMainR:b,specMapUtils:c,appsUtils:d}});