Liferay.Loader.define("frontend-js-metal-web$metal-dom@2.16.6/lib/dom",["module","exports","require","./domNamed"],function(module,exports,require){var define=undefined;Object.defineProperty(exports,"__esModule",{value:true});exports.dom=undefined;var _domNamed=require("./domNamed");Object.keys(_domNamed).forEach(function(key){if(key==="default"||key==="__esModule")return;Object.defineProperty(exports,key,{enumerable:true,get:function get(){return _domNamed[key]}})});var dom=_interopRequireWildcard(_domNamed);
function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;else{var newObj={};if(obj!=null)for(var key in obj)if(Object.prototype.hasOwnProperty.call(obj,key))newObj[key]=obj[key];newObj.default=obj;return newObj}}exports.default=dom;exports.dom=dom});
Liferay.Loader.define("frontend-js-metal-web$metal-dom@2.16.6/lib/DomEventEmitterProxy",["module","exports","require","./dom","frontend-js-metal-web$metal-events"],function(module,exports,require){var define=undefined;Object.defineProperty(exports,"__esModule",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=
true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _get=function get(object,property,receiver){if(object===null)object=Function.prototype;var desc=Object.getOwnPropertyDescriptor(object,property);if(desc===undefined){var parent=Object.getPrototypeOf(object);if(parent===null)return undefined;
else return get(parent,property,receiver)}else if("value"in desc)return desc.value;else{var getter=desc.get;if(getter===undefined)return undefined;return getter.call(receiver)}};var _dom=require("./dom");var _metalEvents=require("frontend-js-metal-web$metal-events");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function");}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
return call&&(typeof call==="object"||typeof call==="function")?call:self}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=
superClass}var DomEventEmitterProxy=function(_EventEmitterProxy){_inherits(DomEventEmitterProxy,_EventEmitterProxy);function DomEventEmitterProxy(){_classCallCheck(this,DomEventEmitterProxy);return _possibleConstructorReturn(this,(DomEventEmitterProxy.__proto__||Object.getPrototypeOf(DomEventEmitterProxy)).apply(this,arguments))}_createClass(DomEventEmitterProxy,[{key:"addListener_",value:function addListener_(event,listener){if(this.originEmitter_.addEventListener)if(this.isDelegateEvent_(event)){var index=
event.indexOf(":",9);var eventName=event.substring(9,index);var selector=event.substring(index+1);return(0,_dom.delegate)(this.originEmitter_,eventName,selector,listener)}else return(0,_dom.on)(this.originEmitter_,event,listener);else return _get(DomEventEmitterProxy.prototype.__proto__||Object.getPrototypeOf(DomEventEmitterProxy.prototype),"addListener_",this).call(this,event,listener)}},{key:"isDelegateEvent_",value:function isDelegateEvent_(event){return event.substr(0,9)==="delegate:"}},{key:"isSupportedDomEvent_",
value:function isSupportedDomEvent_(event){if(!this.originEmitter_||!this.originEmitter_.addEventListener)return true;return this.isDelegateEvent_(event)&&event.indexOf(":",9)!==-1||(0,_dom.supportsEvent)(this.originEmitter_,event)}},{key:"shouldProxyEvent_",value:function shouldProxyEvent_(event){return _get(DomEventEmitterProxy.prototype.__proto__||Object.getPrototypeOf(DomEventEmitterProxy.prototype),"shouldProxyEvent_",this).call(this,event)&&this.isSupportedDomEvent_(event)}}]);return DomEventEmitterProxy}(_metalEvents.EventEmitterProxy);
exports.default=DomEventEmitterProxy});
Liferay.Loader.define("frontend-js-metal-web$metal-dom@2.16.6/lib/features",["module","exports","require","./dom","frontend-js-metal-web$metal"],function(module,exports,require){var define=undefined;Object.defineProperty(exports,"__esModule",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=
true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _dom=require("./dom");var _metal=require("frontend-js-metal-web$metal");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function");}var features=function(){function features(){_classCallCheck(this,
features)}_createClass(features,null,[{key:"checkAnimationEventName",value:function checkAnimationEventName(){if(features.animationEventName_===undefined)features.animationEventName_={animation:features.checkAnimationEventName_("animation"),transition:features.checkAnimationEventName_("transition")};return features.animationEventName_}},{key:"checkAnimationEventName_",value:function checkAnimationEventName_(type){var prefixes=["Webkit","MS","O",""];var typeTitleCase=_metal.string.replaceInterval(type,
0,1,type.substring(0,1).toUpperCase());var suffixes=[typeTitleCase+"End",typeTitleCase+"End",typeTitleCase+"End",type+"end"];if(!features.animationElement_)features.animationElement_=document.createElement("div");for(var i=0;i<prefixes.length;i++)if(features.animationElement_.style[prefixes[i]+typeTitleCase]!==undefined)return prefixes[i].toLowerCase()+suffixes[i];return type+"end"}},{key:"checkAttrOrderChange",value:function checkAttrOrderChange(){if(features.attrOrderChange_===undefined){var originalContent=
'\x3cdiv data-component\x3d"" data-ref\x3d""\x3e\x3c/div\x3e';var element=document.createElement("div");(0,_dom.append)(element,originalContent);features.attrOrderChange_=originalContent!==element.innerHTML}return features.attrOrderChange_}}]);return features}();features.animationElement_=undefined;features.animationEventName_=undefined;features.attrOrderChange_=undefined;exports.default=features});
Liferay.Loader.define("frontend-js-metal-web$metal-dom@2.16.6/lib/globalEval",["module","exports","require","frontend-js-metal-web$metal","./dom"],function(module,exports,require){var define=undefined;Object.defineProperty(exports,"__esModule",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=
true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _metal=require("frontend-js-metal-web$metal");var _dom=require("./dom");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function");}var globalEval=function(){function globalEval(){_classCallCheck(this,
globalEval)}_createClass(globalEval,null,[{key:"run",value:function run(text,appendFn){var script=document.createElement("script");script.text=text;if(appendFn)appendFn(script);else document.head.appendChild(script);(0,_dom.exitDocument)(script);return script}},{key:"runFile",value:function runFile(src,defaultFn,appendFn){var script=document.createElement("script");script.src=src;var callback=function callback(){(0,_dom.exitDocument)(script);defaultFn&&defaultFn()};(0,_dom.once)(script,"load",callback);
(0,_dom.once)(script,"error",callback);if(appendFn)appendFn(script);else document.head.appendChild(script);return script}},{key:"runScript",value:function runScript(script,defaultFn,appendFn){var callback=function callback(){defaultFn&&defaultFn()};if(script.type&&script.type!=="text/javascript"){_metal.async.nextTick(callback);return}(0,_dom.exitDocument)(script);if(script.src)return globalEval.runFile(script.src,defaultFn,appendFn);else{_metal.async.nextTick(callback);return globalEval.run(script.text,
appendFn)}}},{key:"runScriptsInElement",value:function runScriptsInElement(element,defaultFn,appendFn){var scripts=element.querySelectorAll("script");if(scripts.length)globalEval.runScriptsInOrder(scripts,0,defaultFn,appendFn);else if(defaultFn)_metal.async.nextTick(defaultFn)}},{key:"runScriptsInOrder",value:function runScriptsInOrder(scripts,index,defaultFn,appendFn){globalEval.runScript(scripts.item(index),function(){if(index<scripts.length-1)globalEval.runScriptsInOrder(scripts,index+1,defaultFn,
appendFn);else if(defaultFn)_metal.async.nextTick(defaultFn)},appendFn)}}]);return globalEval}();exports.default=globalEval});
Liferay.Loader.define("frontend-js-metal-web$metal-dom@2.16.6/lib/globalEvalStyles",["module","exports","require","frontend-js-metal-web$metal","./dom"],function(module,exports,require){var define=undefined;Object.defineProperty(exports,"__esModule",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=
true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _metal=require("frontend-js-metal-web$metal");var _dom=require("./dom");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function");}var globalEvalStyles=function(){function globalEvalStyles(){_classCallCheck(this,
globalEvalStyles)}_createClass(globalEvalStyles,null,[{key:"run",value:function run(text,appendFn){var style=document.createElement("style");style.innerHTML=text;if(appendFn)appendFn(style);else document.head.appendChild(style);return style}},{key:"runFile",value:function runFile(href,defaultFn,appendFn){var link=document.createElement("link");link.rel="stylesheet";link.href=href;globalEvalStyles.runStyle(link,defaultFn,appendFn);return link}},{key:"runStyle",value:function runStyle(style,defaultFn,
appendFn){var callback=function callback(){defaultFn&&defaultFn()};if(style.rel&&style.rel!=="stylesheet"){_metal.async.nextTick(callback);return}if(style.tagName==="STYLE")_metal.async.nextTick(callback);else{(0,_dom.once)(style,"load",callback);(0,_dom.once)(style,"error",callback)}if(appendFn)appendFn(style);else document.head.appendChild(style);return style}},{key:"runStylesInElement",value:function runStylesInElement(element,defaultFn,appendFn){var styles=element.querySelectorAll("style,link");
if(styles.length===0&&defaultFn){_metal.async.nextTick(defaultFn);return}var loadCount=0;var callback=function callback(){if(defaultFn&&++loadCount===styles.length)_metal.async.nextTick(defaultFn)};for(var i=0;i<styles.length;i++)globalEvalStyles.runStyle(styles[i],callback,appendFn)}}]);return globalEvalStyles}();exports.default=globalEvalStyles});
Liferay.Loader.define("frontend-js-metal-web$metal-dom@2.16.6/lib/events",["module","exports","require","frontend-js-metal-web$metal","./dom","./features"],function(module,exports,require){var define=undefined;var _metal=require("frontend-js-metal-web$metal");var _dom=require("./dom");var _features=require("./features");var _features2=_interopRequireDefault(_features);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function registerEvents(){var mouseEventMap={mouseenter:"mouseover",
mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"};Object.keys(mouseEventMap).forEach(function(eventName){(0,_dom.registerCustomEvent)(eventName,{delegate:true,handler:function handler(callback,event){var related=event.relatedTarget;var target=event.delegateTarget;if(!related||related!==target&&!target.contains(related)){event.customType=eventName;return callback(event)}},originalEvent:mouseEventMap[eventName]})});var animationEventMap={animation:"animationend",transition:"transitionend"};
Object.keys(animationEventMap).forEach(function(eventType){var eventName=animationEventMap[eventType];(0,_dom.registerCustomEvent)(eventName,{event:true,delegate:true,handler:function handler(callback,event){event.customType=eventName;return callback(event)},originalEvent:_features2.default.checkAnimationEventName()[eventType]})})}if(!(0,_metal.isServerSide)())registerEvents()});
Liferay.Loader.define("frontend-js-metal-web$metal-dom@2.16.6/lib/all/dom",["module","exports","require","../dom","../domData","../DomEventEmitterProxy","../DomEventHandle","../features","../globalEval","../globalEvalStyles","../events"],function(module,exports,require){var define=undefined;Object.defineProperty(exports,"__esModule",{value:true});exports.globalEvalStyles=exports.globalEval=exports.features=exports.DomEventHandle=exports.DomEventEmitterProxy=exports.domData=undefined;var _dom=require("../dom");
Object.keys(_dom).forEach(function(key){if(key==="default"||key==="__esModule")return;Object.defineProperty(exports,key,{enumerable:true,get:function get(){return _dom[key]}})});var _dom2=_interopRequireDefault(_dom);var _domData=require("../domData");var _domData2=_interopRequireDefault(_domData);var _DomEventEmitterProxy=require("../DomEventEmitterProxy");var _DomEventEmitterProxy2=_interopRequireDefault(_DomEventEmitterProxy);var _DomEventHandle=require("../DomEventHandle");var _DomEventHandle2=
_interopRequireDefault(_DomEventHandle);var _features=require("../features");var _features2=_interopRequireDefault(_features);var _globalEval=require("../globalEval");var _globalEval2=_interopRequireDefault(_globalEval);var _globalEvalStyles=require("../globalEvalStyles");var _globalEvalStyles2=_interopRequireDefault(_globalEvalStyles);require("../events");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}exports.domData=_domData2.default;exports.DomEventEmitterProxy=
_DomEventEmitterProxy2.default;exports.DomEventHandle=_DomEventHandle2.default;exports.features=_features2.default;exports.globalEval=_globalEval2.default;exports.globalEvalStyles=_globalEvalStyles2.default;exports.default=_dom2.default});
Liferay.Loader.define("frontend-js-node-shims$path-browserify@0.0.0/index",["module","exports","require"],function(module,exports,require){var define=undefined;function normalizeArray(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last===".")parts.splice(i,1);else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot)for(;up--;up)parts.unshift("..");return parts}var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;
var splitPath=function(filename){return splitPathRe.exec(filename).slice(1)};exports.resolve=function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:process.cwd();if(typeof path!=="string")throw new TypeError("Arguments to path.resolve must be strings");else if(!path)continue;resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=normalizeArray(filter(resolvedPath.split("/"),function(p){return!!p}),
!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."};exports.normalize=function(path){var isAbsolute=exports.isAbsolute(path),trailingSlash=substr(path,-1)==="/";path=normalizeArray(filter(path.split("/"),function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute)path=".";if(path&&trailingSlash)path+="/";return(isAbsolute?"/":"")+path};exports.isAbsolute=function(path){return path.charAt(0)==="/"};exports.join=function(){var paths=Array.prototype.slice.call(arguments,
0);return exports.normalize(filter(paths,function(p,index){if(typeof p!=="string")throw new TypeError("Arguments to path.join must be strings");return p}).join("/"))};exports.relative=function(from,to){from=exports.resolve(from).substr(1);to=exports.resolve(to).substr(1);function trim(arr){var start=0;for(;start<arr.length;start++)if(arr[start]!=="")break;var end=arr.length-1;for(;end>=0;end--)if(arr[end]!=="")break;if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));
var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i<length;i++)if(fromParts[i]!==toParts[i]){samePartsLength=i;break}var outputParts=[];for(var i=samePartsLength;i<fromParts.length;i++)outputParts.push("..");outputParts=outputParts.concat(toParts.slice(samePartsLength));return outputParts.join("/")};exports.sep="/";exports.delimiter=":";exports.dirname=function(path){var result=splitPath(path),root=result[0],dir=result[1];if(!root&&
!dir)return".";if(dir)dir=dir.substr(0,dir.length-1);return root+dir};exports.basename=function(path,ext){var f=splitPath(path)[2];if(ext&&f.substr(-1*ext.length)===ext)f=f.substr(0,f.length-ext.length);return f};exports.extname=function(path){return splitPath(path)[3]};function filter(xs,f){if(xs.filter)return xs.filter(f);var res=[];for(var i=0;i<xs.length;i++)if(f(xs[i],i,xs))res.push(xs[i]);return res}var substr="ab".substr(-1)==="b"?function(str,start,len){return str.substr(start,len)}:function(str,
start,len){if(start<0)start=str.length+start;return str.substr(start,len)}});
Liferay.Loader.define("frontend-js-node-shims$path@0.0.0/index",["module","frontend-js-node-shims$path-browserify"],function(module,shim){module.exports=shim});
/*
 https://mths.be/punycode v1.3.2 by @mathias */
Liferay.Loader.define("frontend-js-node-shims$punycode@1.3.2/punycode",["module","exports","require"],function(module,exports,require){var define=undefined;(function(root){var freeExports=typeof exports=="object"&&exports&&!exports.nodeType&&exports;var freeModule=typeof module=="object"&&module&&!module.nodeType&&module;var freeGlobal=typeof global=="object"&&global;if(freeGlobal.global===freeGlobal||freeGlobal.window===freeGlobal||freeGlobal.self===freeGlobal)root=freeGlobal;var punycode,maxInt=
2147483647,base=36,tMin=1,tMax=26,skew=38,damp=700,initialBias=72,initialN=128,delimiter="-",regexPunycode=/^xn--/,regexNonASCII=/[^\x20-\x7E]/,regexSeparators=/[\x2E\u3002\uFF0E\uFF61]/g,errors={"overflow":"Overflow: input needs wider integers to process","not-basic":"Illegal input \x3e\x3d 0x80 (not a basic code point)","invalid-input":"Invalid input"},baseMinusTMin=base-tMin,floor=Math.floor,stringFromCharCode=String.fromCharCode,key;function error(type){throw RangeError(errors[type]);}function map(array,
fn){var length=array.length;var result=[];while(length--)result[length]=fn(array[length]);return result}function mapDomain(string,fn){var parts=string.split("@");var result="";if(parts.length>1){result=parts[0]+"@";string=parts[1]}string=string.replace(regexSeparators,".");var labels=string.split(".");var encoded=map(labels,fn).join(".");return result+encoded}function ucs2decode(string){var output=[],counter=0,length=string.length,value,extra;while(counter<length){value=string.charCodeAt(counter++);
if(value>=55296&&value<=56319&&counter<length){extra=string.charCodeAt(counter++);if((extra&64512)==56320)output.push(((value&1023)<<10)+(extra&1023)+65536);else{output.push(value);counter--}}else output.push(value)}return output}function ucs2encode(array){return map(array,function(value){var output="";if(value>65535){value-=65536;output+=stringFromCharCode(value>>>10&1023|55296);value=56320|value&1023}output+=stringFromCharCode(value);return output}).join("")}function basicToDigit(codePoint){if(codePoint-
48<10)return codePoint-22;if(codePoint-65<26)return codePoint-65;if(codePoint-97<26)return codePoint-97;return base}function digitToBasic(digit,flag){return digit+22+75*(digit<26)-((flag!=0)<<5)}function adapt(delta,numPoints,firstTime){var k=0;delta=firstTime?floor(delta/damp):delta>>1;delta+=floor(delta/numPoints);for(;delta>baseMinusTMin*tMax>>1;k+=base)delta=floor(delta/baseMinusTMin);return floor(k+(baseMinusTMin+1)*delta/(delta+skew))}function decode(input){var output=[],inputLength=input.length,
out,i=0,n=initialN,bias=initialBias,basic,j,index,oldi,w,k,digit,t,baseMinusT;basic=input.lastIndexOf(delimiter);if(basic<0)basic=0;for(j=0;j<basic;++j){if(input.charCodeAt(j)>=128)error("not-basic");output.push(input.charCodeAt(j))}for(index=basic>0?basic+1:0;index<inputLength;){for(oldi=i,w=1,k=base;;k+=base){if(index>=inputLength)error("invalid-input");digit=basicToDigit(input.charCodeAt(index++));if(digit>=base||digit>floor((maxInt-i)/w))error("overflow");i+=digit*w;t=k<=bias?tMin:k>=bias+tMax?
tMax:k-bias;if(digit<t)break;baseMinusT=base-t;if(w>floor(maxInt/baseMinusT))error("overflow");w*=baseMinusT}out=output.length+1;bias=adapt(i-oldi,out,oldi==0);if(floor(i/out)>maxInt-n)error("overflow");n+=floor(i/out);i%=out;output.splice(i++,0,n)}return ucs2encode(output)}function encode(input){var n,delta,handledCPCount,basicLength,bias,j,m,q,k,t,currentValue,output=[],inputLength,handledCPCountPlusOne,baseMinusT,qMinusT;input=ucs2decode(input);inputLength=input.length;n=initialN;delta=0;bias=
initialBias;for(j=0;j<inputLength;++j){currentValue=input[j];if(currentValue<128)output.push(stringFromCharCode(currentValue))}handledCPCount=basicLength=output.length;if(basicLength)output.push(delimiter);while(handledCPCount<inputLength){for(m=maxInt,j=0;j<inputLength;++j){currentValue=input[j];if(currentValue>=n&&currentValue<m)m=currentValue}handledCPCountPlusOne=handledCPCount+1;if(m-n>floor((maxInt-delta)/handledCPCountPlusOne))error("overflow");delta+=(m-n)*handledCPCountPlusOne;n=m;for(j=
0;j<inputLength;++j){currentValue=input[j];if(currentValue<n&&++delta>maxInt)error("overflow");if(currentValue==n){for(q=delta,k=base;;k+=base){t=k<=bias?tMin:k>=bias+tMax?tMax:k-bias;if(q<t)break;qMinusT=q-t;baseMinusT=base-t;output.push(stringFromCharCode(digitToBasic(t+qMinusT%baseMinusT,0)));q=floor(qMinusT/baseMinusT)}output.push(stringFromCharCode(digitToBasic(q,0)));bias=adapt(delta,handledCPCountPlusOne,handledCPCount==basicLength);delta=0;++handledCPCount}}++delta;++n}return output.join("")}
function toUnicode(input){return mapDomain(input,function(string){return regexPunycode.test(string)?decode(string.slice(4).toLowerCase()):string})}function toASCII(input){return mapDomain(input,function(string){return regexNonASCII.test(string)?"xn--"+encode(string):string})}punycode={"version":"1.3.2","ucs2":{"decode":ucs2decode,"encode":ucs2encode},"decode":decode,"encode":encode,"toASCII":toASCII,"toUnicode":toUnicode};if(typeof define=="function"&&typeof define.amd=="object"&&define.amd)define("punycode",
function(){return punycode});else if(freeExports&&freeModule)if(module.exports==freeExports)freeModule.exports=punycode;else for(key in punycode)punycode.hasOwnProperty(key)&&(freeExports[key]=punycode[key]);else root.punycode=punycode})(this)});
Liferay.Loader.define("frontend-js-node-shims$url@0.11.0/util",["module","exports","require"],function(module,exports,require){var define=undefined;module.exports={isString:function(arg){return typeof arg==="string"},isObject:function(arg){return typeof arg==="object"&&arg!==null},isNull:function(arg){return arg===null},isNullOrUndefined:function(arg){return arg==null}}});
Liferay.Loader.define("frontend-js-node-shims$querystring@0.2.0/decode",["module","exports","require"],function(module,exports,require){var define=undefined;function hasOwnProperty(obj,prop){return Object.prototype.hasOwnProperty.call(obj,prop)}module.exports=function(qs,sep,eq,options){sep=sep||"\x26";eq=eq||"\x3d";var obj={};if(typeof qs!=="string"||qs.length===0)return obj;var regexp=/\+/g;qs=qs.split(sep);var maxKeys=1E3;if(options&&typeof options.maxKeys==="number")maxKeys=options.maxKeys;var len=
qs.length;if(maxKeys>0&&len>maxKeys)len=maxKeys;for(var i=0;i<len;++i){var x=qs[i].replace(regexp,"%20"),idx=x.indexOf(eq),kstr,vstr,k,v;if(idx>=0){kstr=x.substr(0,idx);vstr=x.substr(idx+1)}else{kstr=x;vstr=""}k=decodeURIComponent(kstr);v=decodeURIComponent(vstr);if(!hasOwnProperty(obj,k))obj[k]=v;else if(Array.isArray(obj[k]))obj[k].push(v);else obj[k]=[obj[k],v]}return obj}});
Liferay.Loader.define("frontend-js-node-shims$querystring@0.2.0/encode",["module","exports","require"],function(module,exports,require){var define=undefined;var stringifyPrimitive=function(v){switch(typeof v){case "string":return v;case "boolean":return v?"true":"false";case "number":return isFinite(v)?v:"";default:return""}};module.exports=function(obj,sep,eq,name){sep=sep||"\x26";eq=eq||"\x3d";if(obj===null)obj=undefined;if(typeof obj==="object")return Object.keys(obj).map(function(k){var ks=encodeURIComponent(stringifyPrimitive(k))+
eq;if(Array.isArray(obj[k]))return obj[k].map(function(v){return ks+encodeURIComponent(stringifyPrimitive(v))}).join(sep);else return ks+encodeURIComponent(stringifyPrimitive(obj[k]))}).join(sep);if(!name)return"";return encodeURIComponent(stringifyPrimitive(name))+eq+encodeURIComponent(stringifyPrimitive(obj))}});
Liferay.Loader.define("frontend-js-node-shims$querystring@0.2.0/index",["module","exports","require","./decode","./encode"],function(module,exports,require){var define=undefined;exports.decode=exports.parse=require("./decode");exports.encode=exports.stringify=require("./encode")});
Liferay.Loader.define("frontend-js-node-shims$url@0.11.0/url",["module","exports","require","frontend-js-node-shims$punycode","./util","frontend-js-node-shims$querystring"],function(module,exports,require){var define=undefined;var punycode=require("frontend-js-node-shims$punycode");var util=require("./util");exports.parse=urlParse;exports.resolve=urlResolve;exports.resolveObject=urlResolveObject;exports.format=urlFormat;exports.Url=Url;function Url(){this.protocol=null;this.slashes=null;this.auth=
null;this.host=null;this.port=null;this.hostname=null;this.hash=null;this.search=null;this.query=null;this.pathname=null;this.path=null;this.href=null}var protocolPattern=/^([a-z0-9.+-]+:)/i,portPattern=/:[0-9]*$/,simplePathPattern=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,delims=["\x3c","\x3e",'"',"`"," ","\r","\n","\t"],unwise=["{","}","|","\\","^","`"].concat(delims),autoEscape=["'"].concat(unwise),nonHostChars=["%","/","?",";","#"].concat(autoEscape),hostEndingChars=["/","?","#"],hostnameMaxLen=255,
hostnamePartPattern=/^[+a-z0-9A-Z_-]{0,63}$/,hostnamePartStart=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,unsafeProtocol={"javascript":true,"javascript:":true},hostlessProtocol={"javascript":true,"javascript:":true},slashedProtocol={"http":true,"https":true,"ftp":true,"gopher":true,"file":true,"http:":true,"https:":true,"ftp:":true,"gopher:":true,"file:":true},querystring=require("frontend-js-node-shims$querystring");function urlParse(url,parseQueryString,slashesDenoteHost){if(url&&util.isObject(url)&&url instanceof
Url)return url;var u=new Url;u.parse(url,parseQueryString,slashesDenoteHost);return u}Url.prototype.parse=function(url,parseQueryString,slashesDenoteHost){if(!util.isString(url))throw new TypeError("Parameter 'url' must be a string, not "+typeof url);var queryIndex=url.indexOf("?"),splitter=queryIndex!==-1&&queryIndex<url.indexOf("#")?"?":"#",uSplit=url.split(splitter),slashRegex=/\\/g;uSplit[0]=uSplit[0].replace(slashRegex,"/");url=uSplit.join(splitter);var rest=url;rest=rest.trim();if(!slashesDenoteHost&&
url.split("#").length===1){var simplePath=simplePathPattern.exec(rest);if(simplePath){this.path=rest;this.href=rest;this.pathname=simplePath[1];if(simplePath[2]){this.search=simplePath[2];if(parseQueryString)this.query=querystring.parse(this.search.substr(1));else this.query=this.search.substr(1)}else if(parseQueryString){this.search="";this.query={}}return this}}var proto=protocolPattern.exec(rest);if(proto){proto=proto[0];var lowerProto=proto.toLowerCase();this.protocol=lowerProto;rest=rest.substr(proto.length)}if(slashesDenoteHost||
proto||rest.match(/^\/\/[^@\/]+@[^@\/]+/)){var slashes=rest.substr(0,2)==="//";if(slashes&&!(proto&&hostlessProtocol[proto])){rest=rest.substr(2);this.slashes=true}}if(!hostlessProtocol[proto]&&(slashes||proto&&!slashedProtocol[proto])){var hostEnd=-1;for(var i=0;i<hostEndingChars.length;i++){var hec=rest.indexOf(hostEndingChars[i]);if(hec!==-1&&(hostEnd===-1||hec<hostEnd))hostEnd=hec}var auth,atSign;if(hostEnd===-1)atSign=rest.lastIndexOf("@");else atSign=rest.lastIndexOf("@",hostEnd);if(atSign!==
-1){auth=rest.slice(0,atSign);rest=rest.slice(atSign+1);this.auth=decodeURIComponent(auth)}hostEnd=-1;for(var i=0;i<nonHostChars.length;i++){var hec=rest.indexOf(nonHostChars[i]);if(hec!==-1&&(hostEnd===-1||hec<hostEnd))hostEnd=hec}if(hostEnd===-1)hostEnd=rest.length;this.host=rest.slice(0,hostEnd);rest=rest.slice(hostEnd);this.parseHost();this.hostname=this.hostname||"";var ipv6Hostname=this.hostname[0]==="["&&this.hostname[this.hostname.length-1]==="]";if(!ipv6Hostname){var hostparts=this.hostname.split(/\./);
for(var i=0,l=hostparts.length;i<l;i++){var part=hostparts[i];if(!part)continue;if(!part.match(hostnamePartPattern)){var newpart="";for(var j=0,k=part.length;j<k;j++)if(part.charCodeAt(j)>127)newpart+="x";else newpart+=part[j];if(!newpart.match(hostnamePartPattern)){var validParts=hostparts.slice(0,i);var notHost=hostparts.slice(i+1);var bit=part.match(hostnamePartStart);if(bit){validParts.push(bit[1]);notHost.unshift(bit[2])}if(notHost.length)rest="/"+notHost.join(".")+rest;this.hostname=validParts.join(".");
break}}}}if(this.hostname.length>hostnameMaxLen)this.hostname="";else this.hostname=this.hostname.toLowerCase();if(!ipv6Hostname)this.hostname=punycode.toASCII(this.hostname);var p=this.port?":"+this.port:"";var h=this.hostname||"";this.host=h+p;this.href+=this.host;if(ipv6Hostname){this.hostname=this.hostname.substr(1,this.hostname.length-2);if(rest[0]!=="/")rest="/"+rest}}if(!unsafeProtocol[lowerProto])for(var i=0,l=autoEscape.length;i<l;i++){var ae=autoEscape[i];if(rest.indexOf(ae)===-1)continue;
var esc=encodeURIComponent(ae);if(esc===ae)esc=escape(ae);rest=rest.split(ae).join(esc)}var hash=rest.indexOf("#");if(hash!==-1){this.hash=rest.substr(hash);rest=rest.slice(0,hash)}var qm=rest.indexOf("?");if(qm!==-1){this.search=rest.substr(qm);this.query=rest.substr(qm+1);if(parseQueryString)this.query=querystring.parse(this.query);rest=rest.slice(0,qm)}else if(parseQueryString){this.search="";this.query={}}if(rest)this.pathname=rest;if(slashedProtocol[lowerProto]&&this.hostname&&!this.pathname)this.pathname=
"/";if(this.pathname||this.search){var p=this.pathname||"";var s=this.search||"";this.path=p+s}this.href=this.format();return this};function urlFormat(obj){if(util.isString(obj))obj=urlParse(obj);if(!(obj instanceof Url))return Url.prototype.format.call(obj);return obj.format()}Url.prototype.format=function(){var auth=this.auth||"";if(auth){auth=encodeURIComponent(auth);auth=auth.replace(/%3A/i,":");auth+="@"}var protocol=this.protocol||"",pathname=this.pathname||"",hash=this.hash||"",host=false,
query="";if(this.host)host=auth+this.host;else if(this.hostname){host=auth+(this.hostname.indexOf(":")===-1?this.hostname:"["+this.hostname+"]");if(this.port)host+=":"+this.port}if(this.query&&util.isObject(this.query)&&Object.keys(this.query).length)query=querystring.stringify(this.query);var search=this.search||query&&"?"+query||"";if(protocol&&protocol.substr(-1)!==":")protocol+=":";if(this.slashes||(!protocol||slashedProtocol[protocol])&&host!==false){host="//"+(host||"");if(pathname&&pathname.charAt(0)!==
"/")pathname="/"+pathname}else if(!host)host="";if(hash&&hash.charAt(0)!=="#")hash="#"+hash;if(search&&search.charAt(0)!=="?")search="?"+search;pathname=pathname.replace(/[?#]/g,function(match){return encodeURIComponent(match)});search=search.replace("#","%23");return protocol+host+pathname+search+hash};function urlResolve(source,relative){return urlParse(source,false,true).resolve(relative)}Url.prototype.resolve=function(relative){return this.resolveObject(urlParse(relative,false,true)).format()};
function urlResolveObject(source,relative){if(!source)return relative;return urlParse(source,false,true).resolveObject(relative)}Url.prototype.resolveObject=function(relative){if(util.isString(relative)){var rel=new Url;rel.parse(relative,false,true);relative=rel}var result=new Url;var tkeys=Object.keys(this);for(var tk=0;tk<tkeys.length;tk++){var tkey=tkeys[tk];result[tkey]=this[tkey]}result.hash=relative.hash;if(relative.href===""){result.href=result.format();return result}if(relative.slashes&&
!relative.protocol){var rkeys=Object.keys(relative);for(var rk=0;rk<rkeys.length;rk++){var rkey=rkeys[rk];if(rkey!=="protocol")result[rkey]=relative[rkey]}if(slashedProtocol[result.protocol]&&result.hostname&&!result.pathname)result.path=result.pathname="/";result.href=result.format();return result}if(relative.protocol&&relative.protocol!==result.protocol){if(!slashedProtocol[relative.protocol]){var keys=Object.keys(relative);for(var v=0;v<keys.length;v++){var k=keys[v];result[k]=relative[k]}result.href=
result.format();return result}result.protocol=relative.protocol;if(!relative.host&&!hostlessProtocol[relative.protocol]){var relPath=(relative.pathname||"").split("/");while(relPath.length&&!(relative.host=relPath.shift()));if(!relative.host)relative.host="";if(!relative.hostname)relative.hostname="";if(relPath[0]!=="")relPath.unshift("");if(relPath.length<2)relPath.unshift("");result.pathname=relPath.join("/")}else result.pathname=relative.pathname;result.search=relative.search;result.query=relative.query;
result.host=relative.host||"";result.auth=relative.auth;result.hostname=relative.hostname||relative.host;result.port=relative.port;if(result.pathname||result.search){var p=result.pathname||"";var s=result.search||"";result.path=p+s}result.slashes=result.slashes||relative.slashes;result.href=result.format();return result}var isSourceAbs=result.pathname&&result.pathname.charAt(0)==="/",isRelAbs=relative.host||relative.pathname&&relative.pathname.charAt(0)==="/",mustEndAbs=isRelAbs||isSourceAbs||result.host&&
relative.pathname,removeAllDots=mustEndAbs,srcPath=result.pathname&&result.pathname.split("/")||[],relPath=relative.pathname&&relative.pathname.split("/")||[],psychotic=result.protocol&&!slashedProtocol[result.protocol];if(psychotic){result.hostname="";result.port=null;if(result.host)if(srcPath[0]==="")srcPath[0]=result.host;else srcPath.unshift(result.host);result.host="";if(relative.protocol){relative.hostname=null;relative.port=null;if(relative.host)if(relPath[0]==="")relPath[0]=relative.host;
else relPath.unshift(relative.host);relative.host=null}mustEndAbs=mustEndAbs&&(relPath[0]===""||srcPath[0]==="")}if(isRelAbs){result.host=relative.host||relative.host===""?relative.host:result.host;result.hostname=relative.hostname||relative.hostname===""?relative.hostname:result.hostname;result.search=relative.search;result.query=relative.query;srcPath=relPath}else if(relPath.length){if(!srcPath)srcPath=[];srcPath.pop();srcPath=srcPath.concat(relPath);result.search=relative.search;result.query=relative.query}else if(!util.isNullOrUndefined(relative.search)){if(psychotic){result.hostname=
result.host=srcPath.shift();var authInHost=result.host&&result.host.indexOf("@")>0?result.host.split("@"):false;if(authInHost){result.auth=authInHost.shift();result.host=result.hostname=authInHost.shift()}}result.search=relative.search;result.query=relative.query;if(!util.isNull(result.pathname)||!util.isNull(result.search))result.path=(result.pathname?result.pathname:"")+(result.search?result.search:"");result.href=result.format();return result}if(!srcPath.length){result.pathname=null;if(result.search)result.path=
"/"+result.search;else result.path=null;result.href=result.format();return result}var last=srcPath.slice(-1)[0];var hasTrailingSlash=(result.host||relative.host||srcPath.length>1)&&(last==="."||last==="..")||last==="";var up=0;for(var i=srcPath.length;i>=0;i--){last=srcPath[i];if(last===".")srcPath.splice(i,1);else if(last===".."){srcPath.splice(i,1);up++}else if(up){srcPath.splice(i,1);up--}}if(!mustEndAbs&&!removeAllDots)for(;up--;up)srcPath.unshift("..");if(mustEndAbs&&srcPath[0]!==""&&(!srcPath[0]||
srcPath[0].charAt(0)!=="/"))srcPath.unshift("");if(hasTrailingSlash&&srcPath.join("/").substr(-1)!=="/")srcPath.push("");var isAbsolute=srcPath[0]===""||srcPath[0]&&srcPath[0].charAt(0)==="/";if(psychotic){result.hostname=result.host=isAbsolute?"":srcPath.length?srcPath.shift():"";var authInHost=result.host&&result.host.indexOf("@")>0?result.host.split("@"):false;if(authInHost){result.auth=authInHost.shift();result.host=result.hostname=authInHost.shift()}}mustEndAbs=mustEndAbs||result.host&&srcPath.length;
if(mustEndAbs&&!isAbsolute)srcPath.unshift("");if(!srcPath.length){result.pathname=null;result.path=null}else result.pathname=srcPath.join("/");if(!util.isNull(result.pathname)||!util.isNull(result.search))result.path=(result.pathname?result.pathname:"")+(result.search?result.search:"");result.auth=relative.auth||result.auth;result.slashes=result.slashes||relative.slashes;result.href=result.format();return result};Url.prototype.parseHost=function(){var host=this.host;var port=portPattern.exec(host);
if(port){port=port[0];if(port!==":")this.port=port.substr(1);host=host.substr(0,host.length-port.length)}if(host)this.hostname=host}});
Liferay.Loader.define("frontend-js-metal-web$metal-uri@2.4.0/node",["module","exports","require","./lib/Uri","frontend-js-node-shims$path","frontend-js-node-shims$url"],function(module,exports,require){var define=undefined;var Uri=require("./lib/Uri").default;if(typeof URL==="undefined"&&typeof require!=="undefined"){var path=require("frontend-js-node-shims$path");var url=require("frontend-js-node-shims$url");Uri.setParseFn(function(urlStr){var parsed=url.parse(urlStr);parsed.pathname=path.normalize(parsed.pathname);
return parsed})}module.exports=Uri});
Liferay.Loader.define("frontend-js-spa-web$senna@2.7.3/lib/utils/utils",["module","exports","require","frontend-js-metal-web$metal-dom","../globals/globals","frontend-js-metal-web$metal-uri"],function(module,exports,require){var define=undefined;Object.defineProperty(exports,"__esModule",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=
true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _metalDom=require("frontend-js-metal-web$metal-dom");var _globals=require("../globals/globals");var _globals2=_interopRequireDefault(_globals);var _metalUri=require("frontend-js-metal-web$metal-uri");
var _metalUri2=_interopRequireDefault(_metalUri);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function");}var utils=function(){function utils(){_classCallCheck(this,utils)}_createClass(utils,null,[{key:"copyNodeAttributes",value:function copyNodeAttributes(source,target){Array.prototype.slice.call(source.attributes).forEach(function(attribute){return target.setAttribute(attribute.name,
attribute.value)})}},{key:"getCurrentBrowserPath",value:function getCurrentBrowserPath(){return this.getCurrentBrowserPathWithoutHash()+_globals2.default.window.location.hash}},{key:"getCurrentBrowserPathWithoutHash",value:function getCurrentBrowserPathWithoutHash(){return _globals2.default.window.location.pathname+_globals2.default.window.location.search}},{key:"getNodeOffset",value:function getNodeOffset(node){var offsetLeft=0,offsetTop=0;do{offsetLeft+=node.offsetLeft;offsetTop+=node.offsetTop;
node=node.offsetParent}while(node);return{offsetLeft:offsetLeft,offsetTop:offsetTop}}},{key:"getUrlPath",value:function getUrlPath(url){var uri=new _metalUri2.default(url);return uri.getPathname()+uri.getSearch()+uri.getHash()}},{key:"getUrlPathWithoutHash",value:function getUrlPathWithoutHash(url){var uri=new _metalUri2.default(url);return uri.getPathname()+uri.getSearch()}},{key:"getUrlPathWithoutHashAndSearch",value:function getUrlPathWithoutHashAndSearch(url){var uri=new _metalUri2.default(url);
return uri.getPathname()}},{key:"isCurrentBrowserPath",value:function isCurrentBrowserPath(url){if(url){var currentBrowserPath=this.getCurrentBrowserPathWithoutHash();return utils.getUrlPathWithoutHash(url)===this.getUrlPath(currentBrowserPath)}return false}},{key:"isHtml5HistorySupported",value:function isHtml5HistorySupported(){return!!(_globals2.default.window.history&&_globals2.default.window.history.pushState)}},{key:"isWebUri",value:function isWebUri(url){try{return new _metalUri2.default(url)}catch(err){return false}}},
{key:"clearNodeAttributes",value:function clearNodeAttributes(node){Array.prototype.slice.call(node.attributes).forEach(function(attribute){return node.removeAttribute(attribute.name)})}},{key:"removeElementsFromDocument",value:function removeElementsFromDocument(elements){elements.forEach(function(element){return(0,_metalDom.exitDocument)(element)})}},{key:"removePathTrailingSlash",value:function removePathTrailingSlash(path){var length=path?path.length:0;if(length>1&&path[length-1]==="/")path=path.substr(0,
length-1);return path}},{key:"setElementWithRandomHref",value:function setElementWithRandomHref(element){element.href=element.href+"?q\x3d"+Math.random();return element}},{key:"setReferrer",value:function setReferrer(referrer){Object.defineProperty(_globals2.default.document,"referrer",{configurable:true,get:function get(){return referrer}})}}]);return utils}();exports.default=utils});
Liferay.Loader.define("frontend-js-spa-web$senna@2.7.3/lib/app/version",["module","exports","require"],function(module,exports,require){var define=undefined;Object.defineProperty(exports,"__esModule",{value:true});var version="2.7.3";exports.default=version});
/*
 Promises polyfill from Google's Closure Library.

      Copyright 2013 The Closure Library Authors. All Rights Reserved.

 NOTE(eduardo): Promise support is not ready on all supported browsers,
 therefore metal-promise is temporarily using Google's promises as polyfill.
 It supports cancellable promises and has clean and fast implementation.
*/
Liferay.Loader.define("frontend-js-metal-web$metal-promise@2.0.1/lib/promise/Promise",["module","exports","require","frontend-js-metal-web$metal"],function(module,exports,require){var define=undefined;Object.defineProperty(exports,"__esModule",{value:true});exports.CancellablePromise=undefined;var _metal=require("frontend-js-metal-web$metal");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function");}function _possibleConstructorReturn(self,
call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return call&&(typeof call==="object"||typeof call==="function")?call:self}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});
if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass}var Thenable=function Thenable(){};Thenable.prototype.then=function(){};Thenable.IMPLEMENTED_BY_PROP="$goog_Thenable";Thenable.addImplementation=function(ctor){ctor.prototype.then=ctor.prototype.then;ctor.prototype.$goog_Thenable=true};Thenable.isImplementedBy=function(object){if(!object)return false;try{return!!object.$goog_Thenable}catch(e){return false}};var partial=function partial(fn){var args=
Array.prototype.slice.call(arguments,1);return function(){var newArgs=args.slice();newArgs.push.apply(newArgs,arguments);return fn.apply(this,newArgs)}};var CancellablePromise=function CancellablePromise(resolver,opt_context){this.state_=CancellablePromise.State_.PENDING;this.result_=undefined;this.parent_=null;this.callbackEntries_=null;this.executing_=false;if(CancellablePromise.UNHANDLED_REJECTION_DELAY>0)this.unhandledRejectionId_=0;else if(CancellablePromise.UNHANDLED_REJECTION_DELAY===0)this.hadUnhandledRejection_=
false;try{var self=this;resolver.call(opt_context,function(value){self.resolve_(CancellablePromise.State_.FULFILLED,value)},function(reason){self.resolve_(CancellablePromise.State_.REJECTED,reason)})}catch(e){this.resolve_(CancellablePromise.State_.REJECTED,e)}};CancellablePromise.UNHANDLED_REJECTION_DELAY=0;CancellablePromise.State_={PENDING:0,BLOCKED:1,FULFILLED:2,REJECTED:3};CancellablePromise.CallbackEntry_=null;CancellablePromise.resolve=function(opt_value){return new CancellablePromise(function(resolve){resolve(opt_value)})};
CancellablePromise.reject=function(opt_reason){return new CancellablePromise(function(resolve,reject){reject(opt_reason)})};CancellablePromise.race=function(promises){return new CancellablePromise(function(resolve,reject){if(!promises.length)resolve(undefined);for(var i=0,promise;promise=promises[i];i++)promise.then(resolve,reject)})};CancellablePromise.all=function(promises){return new CancellablePromise(function(resolve,reject){var toFulfill=promises.length;var values=[];if(!toFulfill){resolve(values);
return}var onFulfill=function onFulfill(index,value){toFulfill--;values[index]=value;if(toFulfill===0)resolve(values)};var onReject=function onReject(reason){reject(reason)};for(var i=0,promise;promise=promises[i];i++)promise.then(partial(onFulfill,i),onReject)})};CancellablePromise.firstFulfilled=function(promises){return new CancellablePromise(function(resolve,reject){var toReject=promises.length;var reasons=[];if(!toReject){resolve(undefined);return}var onFulfill=function onFulfill(value){resolve(value)};
var onReject=function onReject(index,reason){toReject--;reasons[index]=reason;if(toReject===0)reject(reasons)};for(var i=0,promise;promise=promises[i];i++)promise.then(onFulfill,partial(onReject,i))})};CancellablePromise.prototype.then=function(opt_onFulfilled,opt_onRejected,opt_context){return this.addChildPromise_((0,_metal.isFunction)(opt_onFulfilled)?opt_onFulfilled:null,(0,_metal.isFunction)(opt_onRejected)?opt_onRejected:null,opt_context)};Thenable.addImplementation(CancellablePromise);CancellablePromise.prototype.thenAlways=
function(onResolved,opt_context){var callback=function callback(){try{onResolved.call(opt_context)}catch(err){CancellablePromise.handleRejection_.call(null,err)}};this.addCallbackEntry_({child:null,onRejected:callback,onFulfilled:callback});return this};CancellablePromise.prototype.thenCatch=function(onRejected,opt_context){return this.addChildPromise_(null,onRejected,opt_context)};CancellablePromise.prototype.catch=CancellablePromise.prototype.thenCatch;CancellablePromise.prototype.cancel=function(opt_message){if(this.state_===
CancellablePromise.State_.PENDING)_metal.async.run(function(){var err=new CancellablePromise.CancellationError(opt_message);err.IS_CANCELLATION_ERROR=true;this.cancelInternal_(err)},this)};CancellablePromise.prototype.cancelInternal_=function(err){if(this.state_===CancellablePromise.State_.PENDING)if(this.parent_)this.parent_.cancelChild_(this,err);else this.resolve_(CancellablePromise.State_.REJECTED,err)};CancellablePromise.prototype.cancelChild_=function(childPromise,err){if(!this.callbackEntries_)return;
var childCount=0;var childIndex=-1;for(var i=0,entry;entry=this.callbackEntries_[i];i++){var child=entry.child;if(child){childCount++;if(child===childPromise)childIndex=i;if(childIndex>=0&&childCount>1)break}}if(childIndex>=0)if(this.state_===CancellablePromise.State_.PENDING&&childCount===1)this.cancelInternal_(err);else{var callbackEntry=this.callbackEntries_.splice(childIndex,1)[0];this.executeCallback_(callbackEntry,CancellablePromise.State_.REJECTED,err)}};CancellablePromise.prototype.addCallbackEntry_=
function(callbackEntry){if((!this.callbackEntries_||!this.callbackEntries_.length)&&(this.state_===CancellablePromise.State_.FULFILLED||this.state_===CancellablePromise.State_.REJECTED))this.scheduleCallbacks_();if(!this.callbackEntries_)this.callbackEntries_=[];this.callbackEntries_.push(callbackEntry)};CancellablePromise.prototype.addChildPromise_=function(onFulfilled,onRejected,opt_context){var callbackEntry={child:null,onFulfilled:null,onRejected:null};callbackEntry.child=new CancellablePromise(function(resolve,
reject){callbackEntry.onFulfilled=onFulfilled?function(value){try{var result=onFulfilled.call(opt_context,value);resolve(result)}catch(err){reject(err)}}:resolve;callbackEntry.onRejected=onRejected?function(reason){try{var result=onRejected.call(opt_context,reason);if(!(0,_metal.isDef)(result)&&reason.IS_CANCELLATION_ERROR)reject(reason);else resolve(result)}catch(err){reject(err)}}:reject});callbackEntry.child.parent_=this;this.addCallbackEntry_(callbackEntry);return callbackEntry.child};CancellablePromise.prototype.unblockAndFulfill_=
function(value){if(this.state_!==CancellablePromise.State_.BLOCKED)throw new Error("CancellablePromise is not blocked.");this.state_=CancellablePromise.State_.PENDING;this.resolve_(CancellablePromise.State_.FULFILLED,value)};CancellablePromise.prototype.unblockAndReject_=function(reason){if(this.state_!==CancellablePromise.State_.BLOCKED)throw new Error("CancellablePromise is not blocked.");this.state_=CancellablePromise.State_.PENDING;this.resolve_(CancellablePromise.State_.REJECTED,reason)};CancellablePromise.prototype.resolve_=
function(state,x){if(this.state_!==CancellablePromise.State_.PENDING)return;if(this===x){state=CancellablePromise.State_.REJECTED;x=new TypeError("CancellablePromise cannot resolve to itself")}else if(Thenable.isImplementedBy(x)){x=x;this.state_=CancellablePromise.State_.BLOCKED;x.then(this.unblockAndFulfill_,this.unblockAndReject_,this);return}else if((0,_metal.isObject)(x))try{var then=x.then;if((0,_metal.isFunction)(then)){this.tryThen_(x,then);return}}catch(e){state=CancellablePromise.State_.REJECTED;
x=e}this.result_=x;this.state_=state;this.scheduleCallbacks_();if(state===CancellablePromise.State_.REJECTED&&!x.IS_CANCELLATION_ERROR)CancellablePromise.addUnhandledRejection_(this,x)};CancellablePromise.prototype.tryThen_=function(thenable,then){this.state_=CancellablePromise.State_.BLOCKED;var promise=this;var called=false;var resolve=function resolve(value){if(!called){called=true;promise.unblockAndFulfill_(value)}};var reject=function reject(reason){if(!called){called=true;promise.unblockAndReject_(reason)}};
try{then.call(thenable,resolve,reject)}catch(e){reject(e)}};CancellablePromise.prototype.scheduleCallbacks_=function(){if(!this.executing_){this.executing_=true;_metal.async.run(this.executeCallbacks_,this)}};CancellablePromise.prototype.executeCallbacks_=function(){while(this.callbackEntries_&&this.callbackEntries_.length){var entries=this.callbackEntries_;this.callbackEntries_=[];for(var i=0;i<entries.length;i++)this.executeCallback_(entries[i],this.state_,this.result_)}this.executing_=false};CancellablePromise.prototype.executeCallback_=
function(callbackEntry,state,result){if(state===CancellablePromise.State_.FULFILLED)callbackEntry.onFulfilled(result);else{this.removeUnhandledRejection_();callbackEntry.onRejected(result)}};CancellablePromise.prototype.removeUnhandledRejection_=function(){var p;if(CancellablePromise.UNHANDLED_REJECTION_DELAY>0)for(p=this;p&&p.unhandledRejectionId_;p=p.parent_){clearTimeout(p.unhandledRejectionId_);p.unhandledRejectionId_=0}else if(CancellablePromise.UNHANDLED_REJECTION_DELAY===0)for(p=this;p&&p.hadUnhandledRejection_;p=
p.parent_)p.hadUnhandledRejection_=false};CancellablePromise.addUnhandledRejection_=function(promise,reason){if(CancellablePromise.UNHANDLED_REJECTION_DELAY>0)promise.unhandledRejectionId_=setTimeout(function(){CancellablePromise.handleRejection_.call(null,reason)},CancellablePromise.UNHANDLED_REJECTION_DELAY);else if(CancellablePromise.UNHANDLED_REJECTION_DELAY===0){promise.hadUnhandledRejection_=true;_metal.async.run(function(){if(promise.hadUnhandledRejection_)CancellablePromise.handleRejection_.call(null,
reason)})}};CancellablePromise.handleRejection_=_metal.async.throwException;CancellablePromise.setUnhandledRejectionHandler=function(handler){CancellablePromise.handleRejection_=handler};CancellablePromise.CancellationError=function(_Error){_inherits(_class,_Error);function _class(opt_message){_classCallCheck(this,_class);var _this=_possibleConstructorReturn(this,_Error.call(this,opt_message));if(opt_message)_this.message=opt_message;return _this}return _class}(Error);CancellablePromise.CancellationError.prototype.name=
"cancel";exports.CancellablePromise=CancellablePromise;exports.default=CancellablePromise});
Liferay.Loader.define("frontend-js-metal-web$metal-ajax@2.1.1/lib/Ajax",["module","exports","require","frontend-js-metal-web$metal","frontend-js-metal-web$metal-uri","frontend-js-metal-web$metal-promise"],function(module,exports,require){var define=undefined;Object.defineProperty(exports,"__esModule",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=
true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _metal=require("frontend-js-metal-web$metal");var _metalUri=require("frontend-js-metal-web$metal-uri");var _metalUri2=_interopRequireDefault(_metalUri);var _metalPromise=require("frontend-js-metal-web$metal-promise");
function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function");}var Ajax=function(){function Ajax(){_classCallCheck(this,Ajax)}_createClass(Ajax,null,[{key:"parseResponseHeaders",value:function parseResponseHeaders(allHeaders){var headers=[];if(!allHeaders)return headers;var pairs=allHeaders.split("\r\n");for(var i=0;i<pairs.length;i++){var index=
pairs[i].indexOf(": ");if(index>0){var name=pairs[i].substring(0,index);var value=pairs[i].substring(index+2);headers.push({name:name,value:value})}}return headers}},{key:"request",value:function request(url,method,body,opt_headers,opt_params,opt_timeout,opt_sync,opt_withCredentials){url=url||"";method=method||"GET";var request=new XMLHttpRequest;var previousReadyState=0;var promise=(new _metalPromise.CancellablePromise(function(resolve,reject){request.onload=function(){if(request.aborted){request.onerror();
return}resolve(request)};request.onreadystatechange=function(){if(previousReadyState&&previousReadyState<3&&4===request.readyState)request.terminatedPrematurely=true;previousReadyState=request.readyState};request.onerror=function(){var message="Request error";if(request.terminatedPrematurely)message="Request terminated prematurely";var error=new Error(message);error.request=request;reject(error)}})).thenCatch(function(reason){request.abort();throw reason;}).thenAlways(function(){clearTimeout(timeout)});
url=new _metalUri2.default(url);if(opt_params)url.addParametersFromMultiMap(opt_params).toString();url=url.toString();request.open(method,url,!opt_sync);if(opt_withCredentials)request.withCredentials=true;if(opt_headers)opt_headers.names().forEach(function(name){request.setRequestHeader(name,opt_headers.getAll(name).join(", "))});request.send((0,_metal.isDef)(body)?body:null);if((0,_metal.isDefAndNotNull)(opt_timeout))var timeout=setTimeout(function(){promise.cancel("Request timeout")},opt_timeout);
return promise}}]);return Ajax}();exports.default=Ajax});
Liferay.Loader.define("frontend-js-spa-web$senna@2.7.3/lib/errors/errors",["module","exports","require"],function(module,exports,require){var define=undefined;Object.defineProperty(exports,"__esModule",{value:true});function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function");}var errors=function errors(){_classCallCheck(this,errors)};errors.INVALID_STATUS="Invalid status code";errors.REQUEST_ERROR="Request error";errors.REQUEST_TIMEOUT=
"Request timeout";errors.REQUEST_PREMATURE_TERMINATION="Request terminated prematurely";exports.default=errors});
Liferay.Loader.define("frontend-js-spa-web$senna@2.7.3/lib/cacheable/Cacheable",["module","exports","require","frontend-js-metal-web$metal"],function(module,exports,require){var define=undefined;Object.defineProperty(exports,"__esModule",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;
Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _metal=require("frontend-js-metal-web$metal");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function");}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
return call&&(typeof call==="object"||typeof call==="function")?call:self}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=
superClass}var Cacheable=function(_Disposable){_inherits(Cacheable,_Disposable);function Cacheable(){_classCallCheck(this,Cacheable);var _this=_possibleConstructorReturn(this,(Cacheable.__proto__||Object.getPrototypeOf(Cacheable)).call(this));_this.cache=null;_this.cacheable=false;return _this}_createClass(Cacheable,[{key:"addCache",value:function addCache(content){if(this.cacheable)this.cache=content;return this}},{key:"clearCache",value:function clearCache(){this.cache=null;return this}},{key:"disposeInternal",
value:function disposeInternal(){this.clearCache()}},{key:"getCache",value:function getCache(){return this.cache}},{key:"isCacheable",value:function isCacheable(){return this.cacheable}},{key:"setCacheable",value:function setCacheable(cacheable){if(!cacheable)this.clearCache();this.cacheable=cacheable}}]);return Cacheable}(_metal.Disposable);exports.default=Cacheable});
Liferay.Loader.define("frontend-js-spa-web$senna@2.7.3/lib/screen/Screen",["module","exports","require","frontend-js-metal-web$metal","frontend-js-metal-web$metal-dom","../cacheable/Cacheable","frontend-js-metal-web$metal-promise"],function(module,exports,require){var define=undefined;Object.defineProperty(exports,"__esModule",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||
false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _get=function get(object,property,receiver){if(object===null)object=Function.prototype;var desc=Object.getOwnPropertyDescriptor(object,property);if(desc===undefined){var parent=
Object.getPrototypeOf(object);if(parent===null)return undefined;else return get(parent,property,receiver)}else if("value"in desc)return desc.value;else{var getter=desc.get;if(getter===undefined)return undefined;return getter.call(receiver)}};var _metal=require("frontend-js-metal-web$metal");var _metalDom=require("frontend-js-metal-web$metal-dom");var _Cacheable2=require("../cacheable/Cacheable");var _Cacheable3=_interopRequireDefault(_Cacheable2);var _metalPromise=require("frontend-js-metal-web$metal-promise");
var _metalPromise2=_interopRequireDefault(_metalPromise);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function");}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return call&&(typeof call==="object"||typeof call==="function")?call:self}function _inherits(subClass,
superClass){if(typeof superClass!=="function"&&superClass!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass}var Screen=function(_Cacheable){_inherits(Screen,_Cacheable);function Screen(){_classCallCheck(this,
Screen);var _this=_possibleConstructorReturn(this,(Screen.__proto__||Object.getPrototypeOf(Screen)).call(this));_this.id=_this.makeId_((0,_metal.getUid)());_this.title=null;return _this}_createClass(Screen,[{key:"activate",value:function activate(){}},{key:"beforeActivate",value:function beforeActivate(){}},{key:"beforeDeactivate",value:function beforeDeactivate(){}},{key:"beforeUpdateHistoryPath",value:function beforeUpdateHistoryPath(path){return path}},{key:"beforeUpdateHistoryState",value:function beforeUpdateHistoryState(state){return state}},
{key:"deactivate",value:function deactivate(){}},{key:"disposeInternal",value:function disposeInternal(){_get(Screen.prototype.__proto__||Object.getPrototypeOf(Screen.prototype),"disposeInternal",this).call(this)}},{key:"evaluateScripts",value:function evaluateScripts(surfaces){Object.keys(surfaces).forEach(function(sId){if(surfaces[sId].activeChild)_metalDom.globalEval.runScriptsInElement(surfaces[sId].activeChild)});return _metalPromise2.default.resolve()}},{key:"evaluateStyles",value:function evaluateStyles(){return _metalPromise2.default.resolve()}},
{key:"flip",value:function flip(surfaces){var _this2=this;var transitions=[];Object.keys(surfaces).forEach(function(sId){var surface=surfaces[sId];var deferred=surface.show(_this2.id);transitions.push(deferred)});return _metalPromise2.default.all(transitions)}},{key:"getId",value:function getId(){return this.id}},{key:"getSurfaceContent",value:function getSurfaceContent(){}},{key:"getTitle",value:function getTitle(){return this.title}},{key:"load",value:function load(){return _metalPromise2.default.resolve()}},
{key:"makeId_",value:function makeId_(id){return"screen_"+id}},{key:"setId",value:function setId(id){this.id=id}},{key:"setTitle",value:function setTitle(title){this.title=title}},{key:"toString",value:function toString(){return this.id}}]);return Screen}(_Cacheable3.default);Screen.isImplementedBy=function(object){return object instanceof Screen};exports.default=Screen});
Liferay.Loader.define("frontend-js-metal-web$metal-useragent@3.0.0/lib/UA",["module","exports","require","frontend-js-metal-web$metal"],function(module,exports,require){var define=undefined;Object.defineProperty(exports,"__esModule",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,
descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _metal=require("frontend-js-metal-web$metal");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function");}var UA=function(){function UA(){_classCallCheck(this,UA)}_createClass(UA,null,[{key:"getNativeUserAgent",
value:function getNativeUserAgent(){var navigator=UA.globals.window&&UA.globals.window.navigator;if(navigator){var userAgent=navigator.userAgent;if(userAgent)return userAgent}return""}},{key:"getNativePlatform",value:function getNativePlatform(){var navigator=UA.globals.window&&UA.globals.window.navigator;if(navigator){var platform=navigator.platform;if(platform)return platform}return""}},{key:"matchPlatform",value:function matchPlatform(str){return UA.platform.indexOf(str)!==-1}},{key:"matchUserAgent",
value:function matchUserAgent(str){return UA.userAgent.indexOf(str)!==-1}},{key:"testUserAgent",value:function testUserAgent(){var userAgent=arguments.length>0&&arguments[0]!==undefined?arguments[0]:"";var platform=arguments.length>1&&arguments[1]!==undefined?arguments[1]:"";UA.userAgent=userAgent;UA.platform=platform;UA.isMac=UA.matchPlatform("Mac");UA.isWin=UA.matchPlatform("Win");UA.isOpera=UA.matchUserAgent("Opera")||UA.matchUserAgent("OPR");UA.isIe=UA.matchUserAgent("Trident")||UA.matchUserAgent("MSIE");
UA.isEdge=UA.matchUserAgent("Edge");UA.isIeOrEdge=UA.isIe||UA.isEdge;UA.isChrome=(UA.matchUserAgent("Chrome")||UA.matchUserAgent("CriOS"))&&!UA.isOpera&&!UA.isEdge;UA.isSafari=UA.matchUserAgent("Safari")&&!(UA.isChrome||UA.isOpera||UA.isEdge);UA.isFirefox=UA.matchUserAgent("Firefox")}}]);return UA}();Object.defineProperty(UA,"globals",{writable:true,value:{window:(0,_metal.isServerSide)()?null:window}});UA.testUserAgent(UA.getNativeUserAgent(),UA.getNativePlatform());exports.default=UA});
Liferay.Loader.define("frontend-js-spa-web$senna@2.7.3/lib/screen/RequestScreen",["module","exports","require","frontend-js-metal-web$metal","frontend-js-metal-web$metal-ajax","frontend-js-metal-web$metal-structs","frontend-js-metal-web$metal-promise","../errors/errors","../utils/utils","../globals/globals","./Screen","frontend-js-metal-web$metal-uri","frontend-js-metal-web$metal-useragent"],function(module,exports,require){var define=undefined;Object.defineProperty(exports,"__esModule",{value:true});
var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();
var _metal=require("frontend-js-metal-web$metal");var _metalAjax=require("frontend-js-metal-web$metal-ajax");var _metalAjax2=_interopRequireDefault(_metalAjax);var _metalStructs=require("frontend-js-metal-web$metal-structs");var _metalPromise=require("frontend-js-metal-web$metal-promise");var _metalPromise2=_interopRequireDefault(_metalPromise);var _errors=require("../errors/errors");var _errors2=_interopRequireDefault(_errors);var _utils=require("../utils/utils");var _utils2=_interopRequireDefault(_utils);
var _globals=require("../globals/globals");var _globals2=_interopRequireDefault(_globals);var _Screen2=require("./Screen");var _Screen3=_interopRequireDefault(_Screen2);var _metalUri=require("frontend-js-metal-web$metal-uri");var _metalUri2=_interopRequireDefault(_metalUri);var _metalUseragent=require("frontend-js-metal-web$metal-useragent");var _metalUseragent2=_interopRequireDefault(_metalUseragent);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,
Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function");}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return call&&(typeof call==="object"||typeof call==="function")?call:self}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);
subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass}var RequestScreen=function(_Screen){_inherits(RequestScreen,_Screen);function RequestScreen(){_classCallCheck(this,RequestScreen);var _this=_possibleConstructorReturn(this,(RequestScreen.__proto__||Object.getPrototypeOf(RequestScreen)).call(this));
_this.cacheable=true;_this.httpHeaders={"X-PJAX":"true","X-Requested-With":"XMLHttpRequest"};_this.httpMethod=RequestScreen.GET;_this.request=null;_this.timeout=3E4;return _this}_createClass(RequestScreen,[{key:"assertValidResponseStatusCode",value:function assertValidResponseStatusCode(status){if(!this.isValidResponseStatusCode(status)){var error=new Error(_errors2.default.INVALID_STATUS);error.invalidStatus=true;error.statusCode=status;throw error;}}},{key:"beforeUpdateHistoryPath",value:function beforeUpdateHistoryPath(path){var redirectPath=
this.getRequestPath();if(redirectPath&&redirectPath!==path)return redirectPath;return path}},{key:"beforeUpdateHistoryState",value:function beforeUpdateHistoryState(state){if(state.senna&&state.form&&state.redirectPath===state.path)return null;return state}},{key:"formatLoadPath",value:function formatLoadPath(path){var uri=new _metalUri2.default(path);uri.setHostname(_globals2.default.window.location.hostname);uri.setProtocol(_globals2.default.window.location.protocol);if(_globals2.default.window.location.port)uri.setPort(_globals2.default.window.location.port);
if(_metalUseragent2.default.isIeOrEdge&&this.httpMethod===RequestScreen.GET)return uri.makeUnique().toString();return uri.toString()}},{key:"getHttpHeaders",value:function getHttpHeaders(){return this.httpHeaders}},{key:"getHttpMethod",value:function getHttpMethod(){return this.httpMethod}},{key:"getRequestPath",value:function getRequestPath(){var request=this.getRequest();if(request){var requestPath=request.requestPath;var responseUrl=this.maybeExtractResponseUrlFromRequest(request);if(responseUrl)requestPath=
responseUrl;if(_metalUseragent2.default.isIeOrEdge&&this.httpMethod===RequestScreen.GET)requestPath=(new _metalUri2.default(requestPath)).removeUnique().toString();return _utils2.default.getUrlPath(requestPath)}return null}},{key:"getRequest",value:function getRequest(){return this.request}},{key:"getTimeout",value:function getTimeout(){return this.timeout}},{key:"isValidResponseStatusCode",value:function isValidResponseStatusCode(statusCode){return statusCode>=200&&statusCode<=399}},{key:"load",
value:function load(path){var _this2=this;var cache=this.getCache();if((0,_metal.isDefAndNotNull)(cache))return _metalPromise2.default.resolve(cache);var body=null;var httpMethod=this.httpMethod;var headers=new _metalStructs.MultiMap;Object.keys(this.httpHeaders).forEach(function(header){return headers.add(header,_this2.httpHeaders[header])});if(_globals2.default.capturedFormElement){this.addSafariXHRPolyfill();body=new FormData(_globals2.default.capturedFormElement);this.maybeAppendSubmitButtonValue_(body);
httpMethod=RequestScreen.POST;if(_metalUseragent2.default.isIeOrEdge)headers.add("If-None-Match",'"0"')}var requestPath=this.formatLoadPath(path);return _metalAjax2.default.request(requestPath,httpMethod,body,headers,null,this.timeout).then(function(xhr){_this2.removeSafariXHRPolyfill();_this2.setRequest(xhr);_this2.assertValidResponseStatusCode(xhr.status);if(httpMethod===RequestScreen.GET&&_this2.isCacheable())_this2.addCache(xhr.responseText);xhr.requestPath=requestPath;return xhr.responseText}).catch(function(reason){_this2.removeSafariXHRPolyfill();
switch(reason.message){case _errors2.default.REQUEST_TIMEOUT:reason.timeout=true;break;case _errors2.default.REQUEST_ERROR:reason.requestError=true;break;case _errors2.default.REQUEST_PREMATURE_TERMINATION:reason.requestError=true;reason.requestPrematureTermination=true;break}throw reason;})}},{key:"maybeAppendSubmitButtonValue_",value:function maybeAppendSubmitButtonValue_(body){var button=_globals2.default.capturedFormButtonElement;if(button&&button.name)body.append(button.name,button.value)}},
{key:"maybeExtractResponseUrlFromRequest",value:function maybeExtractResponseUrlFromRequest(request){var responseUrl=request.responseURL;if(responseUrl)return responseUrl;return request.getResponseHeader(RequestScreen.X_REQUEST_URL_HEADER)}},{key:"addSafariXHRPolyfill",value:function addSafariXHRPolyfill(){if(_globals2.default.capturedFormElement&&_metalUseragent2.default.isSafari){var inputs=_globals2.default.capturedFormElement.querySelectorAll('input[type\x3d"file"]:not([disabled])');for(var index=
0;index<inputs.length;index++){var input=inputs[index];if(input.files.length>0)return;input.setAttribute("data-safari-temp-disabled","true");input.setAttribute("disabled","")}}}},{key:"removeSafariXHRPolyfill",value:function removeSafariXHRPolyfill(){if(_globals2.default.capturedFormElement&&_metalUseragent2.default.isSafari){var inputs=_globals2.default.capturedFormElement.querySelectorAll('input[type\x3d"file"][data-safari-temp-disabled]');for(var index=0;index<inputs.length;index++){var input=
inputs[index];input.removeAttribute("data-safari-temp-disabled");input.removeAttribute("disabled")}}}},{key:"setHttpHeaders",value:function setHttpHeaders(httpHeaders){this.httpHeaders=httpHeaders}},{key:"setHttpMethod",value:function setHttpMethod(httpMethod){this.httpMethod=httpMethod.toLowerCase()}},{key:"setRequest",value:function setRequest(request){this.request=request}},{key:"setTimeout",value:function setTimeout(timeout){this.timeout=timeout}}]);return RequestScreen}(_Screen3.default);RequestScreen.GET=
"get";RequestScreen.POST="post";RequestScreen.X_REQUEST_URL_HEADER="X-Request-URL";exports.default=RequestScreen});
