Liferay.Loader.define('frontend-js-metal-web@2.0.5/bridge/metal-dom/src/all/dom',['module','frontend-js-metal-web$metal-dom/lib/all/dom'],function(module,src){module.exports=src;});'use strict';Liferay.Loader.define('frontend-js-metal-web$metal-uri@2.4.0/lib/parseFromAnchor',['module','exports','require'],function(module,exports,require){var define=undefined;Object.defineProperty(exports,"__esModule",{value:true});function isPortProvidedToURL(uri){return(/:\d+(?!\@)/.test(uri));}
function isAnchorInvalidatedByBrowser(a){try{if('javascript:'===a.protocol)return false;if(':'===a.protocol)return true;if(!/:/.test(a.href))return true;if(isPortProvidedToURL(a)&&''===a.port)return true;}catch(e){throw new TypeError(e.message);}
return false;}
function parseFromAnchor(opt_uri){var link=document.createElement('a');link.href=opt_uri;if(isAnchorInvalidatedByBrowser(link)){throw new TypeError(opt_uri+' is not a valid URL');}
return{hash:link.hash,hostname:link.hostname,password:link.password,pathname:link.pathname[0]==='/'?link.pathname:'/'+link.pathname,port:link.port,protocol:link.protocol,search:link.search,username:link.username};}
exports.default=parseFromAnchor;});'use strict';Liferay.Loader.define('frontend-js-metal-web$metal-uri@2.4.0/lib/parse',['module','exports','require','frontend-js-metal-web$metal','./parseFromAnchor'],function(module,exports,require){var define=undefined;Object.defineProperty(exports,"__esModule",{value:true});var _metal=require('frontend-js-metal-web$metal');var _parseFromAnchor=require('./parseFromAnchor');var _parseFromAnchor2=_interopRequireDefault(_parseFromAnchor);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}
function parse(opt_uri){if((0,_metal.isFunction)(URL)&&URL.length){var url=void 0;try{url=new URL(opt_uri);}catch(e){throw new TypeError(opt_uri+' is not a valid URL');}
if(url.port&&url.href.indexOf(url.port)===-1){throw new TypeError(opt_uri+' is not a valid URL');}
return url;}else{return(0,_parseFromAnchor2.default)(opt_uri);}}
exports.default=parse;});'use strict';Liferay.Loader.define('frontend-js-metal-web$metal-structs@1.0.1/lib/MultiMap',['module','exports','require','frontend-js-metal-web$metal'],function(module,exports,require){var define=undefined;Object.defineProperty(exports,"__esModule",{value:true});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 create=Object.create;var MultiMap=function(_Disposable){_inherits(MultiMap,_Disposable);function MultiMap(){_classCallCheck(this,MultiMap);var _this=_possibleConstructorReturn(this,_Disposable.call(this));_this.keys=create(null);_this.values=create(null);return _this;}
MultiMap.prototype.add=function add(name,value){this.keys[name.toLowerCase()]=name;this.values[name.toLowerCase()]=this.values[name.toLowerCase()]||[];this.values[name.toLowerCase()].push(value);return this;};MultiMap.prototype.clear=function clear(){this.keys=create(null);this.values=create(null);return this;};MultiMap.prototype.contains=function contains(name){return name.toLowerCase()in this.values;};MultiMap.prototype.disposeInternal=function disposeInternal(){this.values=null;};MultiMap.fromObject=function fromObject(obj){var map=new MultiMap();var keys=Object.keys(obj);for(var i=0;i<keys.length;i++){map.set(keys[i],obj[keys[i]]);}
return map;};MultiMap.prototype.get=function get(name){var values=this.values[name.toLowerCase()];if(values){return values[0];}};MultiMap.prototype.getAll=function getAll(name){return this.values[name.toLowerCase()];};MultiMap.prototype.isEmpty=function isEmpty(){return this.size()===0;};MultiMap.prototype.names=function names(){var _this2=this;return Object.keys(this.values).map(function(key){return _this2.keys[key];});};MultiMap.prototype.remove=function remove(name){delete this.keys[name.toLowerCase()];delete this.values[name.toLowerCase()];return this;};MultiMap.prototype.set=function set(name,value){this.keys[name.toLowerCase()]=name;this.values[name.toLowerCase()]=[value];return this;};MultiMap.prototype.size=function size(){return this.names().length;};MultiMap.prototype.toString=function toString(){return JSON.stringify(this.values);};return MultiMap;}(_metal.Disposable);exports.default=MultiMap;});'use strict';Liferay.Loader.define('frontend-js-metal-web$metal-structs@1.0.1/lib/TreeNode',['module','exports','require','frontend-js-metal-web$metal'],function(module,exports,require){var define=undefined;Object.defineProperty(exports,"__esModule",{value:true});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 TreeNode=function(){function TreeNode(value){_classCallCheck(this,TreeNode);this.value_=value;this.parent_=null;this.children_=null;}
TreeNode.prototype.addChild=function addChild(child){assertChildHasNoParent(child);child.setParent(this);this.children_=this.children_||[];this.children_.push(child);};TreeNode.prototype.contains=function contains(node){var current=node.getParent();while(current){if(current===this){return true;}
current=current.getParent();}
return false;};TreeNode.prototype.getAncestors=function getAncestors(){var ancestors=[];var node=this.getParent();while(node){ancestors.push(node);node=node.getParent();}
return ancestors;};TreeNode.prototype.getChildAt=function getChildAt(index){return this.getChildren()[index]||null;};TreeNode.prototype.getChildren=function getChildren(){return this.children_||TreeNode.EMPTY_ARRAY;};TreeNode.prototype.getChildCount=function getChildCount(){return this.getChildren().length;};TreeNode.prototype.getDepth=function getDepth(){var depth=0;var node=this;while(node.getParent()){depth++;node=node.getParent();}
return depth;};TreeNode.prototype.getParent=function getParent(){return this.parent_;};TreeNode.prototype.getRoot=function getRoot(){var root=this;while(root.getParent()){root=root.getParent();}
return root;};TreeNode.prototype.getValue=function getValue(){return this.value_;};TreeNode.prototype.isLeaf=function isLeaf(){return!this.getChildCount();};TreeNode.prototype.removeChild=function removeChild(child){if(_metal.array.remove(this.getChildren(),child)){return child;}
return null;};TreeNode.prototype.setParent=function setParent(parent){this.parent_=parent;};TreeNode.prototype.traverse=function traverse(opt_preorderFn,opt_postorderFn){if(opt_preorderFn){opt_preorderFn(this);}
this.getChildren().forEach(function(child){return child.traverse(opt_preorderFn,opt_postorderFn);});if(opt_postorderFn){opt_postorderFn(this);}};return TreeNode;}();TreeNode.EMPTY_ARRAY=[];var assertChildHasNoParent=function assertChildHasNoParent(child){if(child.getParent()){throw new Error('Cannot add child with parent.');}};exports.default=TreeNode;});'use strict';Liferay.Loader.define('frontend-js-metal-web$metal-structs@1.0.1/lib/all/structs',['module','exports','require','../MultiMap','../TreeNode'],function(module,exports,require){var define=undefined;Object.defineProperty(exports,"__esModule",{value:true});exports.TreeNode=exports.MultiMap=undefined;var _MultiMap=require('../MultiMap');var _MultiMap2=_interopRequireDefault(_MultiMap);var _TreeNode=require('../TreeNode');var _TreeNode2=_interopRequireDefault(_TreeNode);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}
exports.MultiMap=_MultiMap2.default;exports.TreeNode=_TreeNode2.default;});'use strict';Liferay.Loader.define("frontend-js-metal-web$metal-uri@2.4.0/lib/Uri",['module','exports','require','frontend-js-metal-web$metal','./parse','frontend-js-metal-web$metal-structs'],function(module,exports,require){var define=undefined;Object.defineProperty(exports,"__esModule",{value:true});var _slicedToArray=function(){function sliceIterator(arr,i){var _arr=[];var _n=true;var _d=false;var _e=undefined;try{for(var _i=arr[Symbol.iterator](),_s;!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break;}}catch(err){_d=true;_e=err;}finally{try{if(!_n&&_i["return"])_i["return"]();}finally{if(_d)throw _e;}}return _arr;}return function(arr,i){if(Array.isArray(arr)){return arr;}else if(Symbol.iterator in Object(arr)){return sliceIterator(arr,i);}else{throw new TypeError("Invalid attempt to destructure non-iterable instance");}};}();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 _parse=require('./parse');var _parse2=_interopRequireDefault(_parse);var _metalStructs=require("frontend-js-metal-web$metal-structs");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 parseFn_=_parse2.default;var Uri=function(){function Uri(){var opt_uri=arguments.length>0&&arguments[0]!==undefined?arguments[0]:'';_classCallCheck(this,Uri);this.url=Uri.parse(this.maybeAddProtocolAndHostname_(opt_uri));}
_createClass(Uri,[{key:'addParametersFromMultiMap',value:function addParametersFromMultiMap(multimap){var _this=this;multimap.names().forEach(function(name){multimap.getAll(name).forEach(function(value){_this.addParameterValue(name,value);});});return this;}},{key:'addParameterValue',value:function addParameterValue(name,value){this.ensureQueryInitialized_();if((0,_metal.isDef)(value)){value=String(value);}
this.query.add(name,value);return this;}},{key:'addParameterValues',value:function addParameterValues(name,values){var _this2=this;values.forEach(function(value){return _this2.addParameterValue(name,value);});return this;}},{key:'ensureQueryInitialized_',value:function ensureQueryInitialized_(){var _this3=this;if(this.query){return;}
this.query=new _metalStructs.MultiMap();var search=this.url.search;if(search){search.substring(1).split('&').forEach(function(param){var _param$split=param.split('='),_param$split2=_slicedToArray(_param$split,2),key=_param$split2[0],value=_param$split2[1];if((0,_metal.isDef)(value)){value=Uri.urlDecode(value);}
_this3.addParameterValue(key,value);});}}},{key:'getHash',value:function getHash(){return this.url.hash||'';}},{key:'getHost',value:function getHost(){var host=this.getHostname();if(host){var port=this.getPort();if(port&&port!=='80'){host+=':'+port;}}
return host;}},{key:'getHostname',value:function getHostname(){var hostname=this.url.hostname;if(hostname===Uri.HOSTNAME_PLACEHOLDER){return '';}
return hostname;}},{key:'getOrigin',value:function getOrigin(){var host=this.getHost();if(host){return this.getProtocol()+'//'+host;}
return '';}},{key:'getParameterValue',value:function getParameterValue(name){this.ensureQueryInitialized_();return this.query.get(name);}},{key:'getParameterValues',value:function getParameterValues(name){this.ensureQueryInitialized_();return this.query.getAll(name);}},{key:'getParameterNames',value:function getParameterNames(){this.ensureQueryInitialized_();return this.query.names();}},{key:'getPathname',value:function getPathname(){return this.url.pathname;}},{key:'getPort',value:function getPort(){return this.url.port;}},{key:'getProtocol',value:function getProtocol(){return this.url.protocol;}},{key:'getSearch',value:function getSearch(){var _this4=this;var search='';var querystring='';this.getParameterNames().forEach(function(name){_this4.getParameterValues(name).forEach(function(value){querystring+=name;if((0,_metal.isDef)(value)){querystring+='='+encodeURIComponent(value);}
querystring+='&';});});querystring=querystring.slice(0,-1);if(querystring){search+='?'+querystring;}
return search;}},{key:'hasParameter',value:function hasParameter(name){this.ensureQueryInitialized_();return this.query.contains(name);}},{key:'isUsingDefaultProtocol',value:function isUsingDefaultProtocol(){return this.usingDefaultProtocol_;}},{key:'makeUnique',value:function makeUnique(){this.setParameterValue(Uri.RANDOM_PARAM,_metal.string.getRandomString());return this;}},{key:'maybeAddProtocolAndHostname_',value:function maybeAddProtocolAndHostname_(opt_uri){var url=opt_uri;if(opt_uri.indexOf('://')===-1&&opt_uri.indexOf('javascript:')!==0){url=Uri.DEFAULT_PROTOCOL;this.usingDefaultProtocol_=true;if(opt_uri[0]!=='/'||opt_uri[1]!=='/'){url+='//';}
switch(opt_uri.charAt(0)){case '.':case '?':case '#':url+=Uri.HOSTNAME_PLACEHOLDER;url+='/';url+=opt_uri;break;case '':case '/':if(opt_uri[1]!=='/'){url+=Uri.HOSTNAME_PLACEHOLDER;}
url+=opt_uri;break;default:url+=opt_uri;}}else{this.usingDefaultProtocol_=false;}
return url;}},{key:'removeParameter',value:function removeParameter(name){this.ensureQueryInitialized_();this.query.remove(name);return this;}},{key:'removeUnique',value:function removeUnique(){this.removeParameter(Uri.RANDOM_PARAM);return this;}},{key:'setHash',value:function setHash(hash){this.url.hash=hash;return this;}},{key:'setHostname',value:function setHostname(hostname){this.url.hostname=hostname;return this;}},{key:'setParameterValue',value:function setParameterValue(name,value){this.removeParameter(name);this.addParameterValue(name,value);return this;}},{key:'setParameterValues',value:function setParameterValues(name,values){var _this5=this;this.removeParameter(name);values.forEach(function(value){return _this5.addParameterValue(name,value);});return this;}},{key:'setPathname',value:function setPathname(pathname){this.url.pathname=pathname;return this;}},{key:'setPort',value:function setPort(port){this.url.port=port;return this;}},{key:'setProtocol',value:function setProtocol(protocol){this.url.protocol=protocol;if(this.url.protocol[this.url.protocol.length-1]!==':'){this.url.protocol+=':';}
return this;}},{key:'toString',value:function toString(){var href='';var host=this.getHost();if(host){href+=this.getProtocol()+'//';}
href+=host+this.getPathname()+this.getSearch()+this.getHash();return href;}}],[{key:'getParseFn',value:function getParseFn(){return parseFn_;}},{key:'parse',value:function parse(opt_uri){return parseFn_(opt_uri);}},{key:'setParseFn',value:function setParseFn(parseFn){parseFn_=parseFn;}},{key:'joinPaths',value:function joinPaths(basePath){for(var _len=arguments.length,paths=Array(_len>1?_len-1:0),_key=1;_key<_len;_key++){paths[_key-1]=arguments[_key];}
if(basePath.charAt(basePath.length-1)==='/'){basePath=basePath.substring(0,basePath.length-1);}
paths=paths.map(function(path){return path.charAt(0)==='/'?path.substring(1):path;});return[basePath].concat(paths).join('/').replace(/\/$/,'');}},{key:'urlDecode',value:function urlDecode(str){return decodeURIComponent(str.replace(/\+/g,' '));}}]);return Uri;}();var isSecure=function isSecure(){return typeof window!=='undefined'&&window.location&&window.location.protocol&&window.location.protocol.indexOf('https')===0;};Uri.DEFAULT_PROTOCOL=isSecure()?'https:':'http:';Uri.HOSTNAME_PLACEHOLDER='hostname'+Date.now();Uri.RANDOM_PARAM='zx';exports.default=Uri;});Liferay.Loader.define('frontend-js-metal-web@2.0.5/bridge/metal-uri/src/Uri',['module','frontend-js-metal-web$metal-uri/lib/Uri'],function(module,src){module.exports=src;});'use strict';Liferay.Loader.define('frontend-js-metal-web$metal-component@2.16.5/lib/events/events',['module','exports','require','frontend-js-metal-web$metal'],function(module,exports,require){var define=undefined;Object.defineProperty(exports,"__esModule",{value:true});exports.addListenersFromObj=addListenersFromObj;exports.getComponentFn=getComponentFn;var _metal=require('frontend-js-metal-web$metal');function addListenersFromObj(component,events){var eventNames=Object.keys(events||{});var handles=[];for(var i=0;i<eventNames.length;i++){var info=extractListenerInfo_(component,events[eventNames[i]]);if(info.fn){var handle=void 0;if(info.selector){handle=component.delegate(eventNames[i],info.selector,info.fn);}else{handle=component.on(eventNames[i],info.fn);}
handles.push(handle);}}
return handles;}
function extractListenerInfo_(component,value){var info={fn:value};if((0,_metal.isObject)(value)&&!(0,_metal.isFunction)(value)){info.selector=value.selector;info.fn=value.fn;}
if((0,_metal.isString)(info.fn)){info.fn=getComponentFn(component,info.fn);}
return info;}
function getComponentFn(component,fnName){if((0,_metal.isFunction)(component[fnName])){return component[fnName].bind(component);}else{console.error('No function named '+fnName+' was found in the component\n\t\t\t"'+(0,_metal.getFunctionName)(component.constructor)+'". Make sure that you specify\n\t\t\tvalid function names when adding inline listeners');}}});'use strict';Liferay.Loader.define('frontend-js-metal-web$metal-component@2.16.5/lib/sync/sync',['module','exports','require','frontend-js-metal-web$metal'],function(module,exports,require){var define=undefined;Object.defineProperty(exports,"__esModule",{value:true});exports.syncState=syncState;var _metal=require('frontend-js-metal-web$metal');var SYNC_FNS_KEY='__METAL_SYNC_FNS__';function getSyncFns_(component){var ctor=component.constructor;if(ctor.hasOwnProperty(SYNC_FNS_KEY)){return ctor[SYNC_FNS_KEY];}
var fns={};var keys=component.getDataManager().getSyncKeys(component);var canCache=true;for(var i=0;i<keys.length;i++){var name='sync'+keys[i].charAt(0).toUpperCase()+keys[i].slice(1);var fn=component[name];if(fn){fns[keys[i]]=fn;canCache=canCache&&component.constructor.prototype[name];}}
if(canCache){ctor[SYNC_FNS_KEY]=fns;}
return fns;}
function syncState(component,changes){var syncFns=getSyncFns_(component);var keys=Object.keys(changes||syncFns);for(var i=0;i<keys.length;i++){var fn=syncFns[keys[i]];if((0,_metal.isFunction)(fn)){var change=changes&&changes[keys[i]];var manager=component.getDataManager();fn.call(component,change?change.newVal:manager.get(component,keys[i]),change?change.prevVal:undefined);}}}});'use strict';Liferay.Loader.define("frontend-js-metal-web$metal-dom@2.16.8/lib/domData",['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 METAL_DATA='__metal_data__';var domData=function(){function domData(){_classCallCheck(this,domData);}
_createClass(domData,null,[{key:'get',value:function get(element,name,initialValue){if(!element[METAL_DATA]){element[METAL_DATA]={};}
if(!name){return element[METAL_DATA];}
if(!(0,_metal.isDef)(element[METAL_DATA][name])&&(0,_metal.isDef)(initialValue)){element[METAL_DATA][name]=initialValue;}
return element[METAL_DATA][name];}},{key:'has',value:function has(element){return!!element[METAL_DATA];}},{key:'set',value:function set(element,name,value){if(!element[METAL_DATA]){element[METAL_DATA]={};}
if(!name||!(0,_metal.isDef)(value)){return element[METAL_DATA];}
element[METAL_DATA][name]=value;return element[METAL_DATA][name];}}]);return domData;}();exports.default=domData;});'use strict';Liferay.Loader.define("frontend-js-metal-web$metal-dom@2.16.8/lib/DomDelegatedEventHandle",['module','exports','require','frontend-js-metal-web$metal','./domData','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 _metal=require("frontend-js-metal-web$metal");var _domData=require('./domData');var _domData2=_interopRequireDefault(_domData);var _metalEvents=require("frontend-js-metal-web$metal-events");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 DomDelegatedEventHandle=function(_EventHandle){_inherits(DomDelegatedEventHandle,_EventHandle);function DomDelegatedEventHandle(emitter,event,listener,selector){_classCallCheck(this,DomDelegatedEventHandle);var _this=_possibleConstructorReturn(this,(DomDelegatedEventHandle.__proto__||Object.getPrototypeOf(DomDelegatedEventHandle)).call(this,emitter,event,listener));_this.selector_=selector;return _this;}
_createClass(DomDelegatedEventHandle,[{key:'removeListener',value:function removeListener(){var delegating=_domData2.default.get(this.emitter_,'delegating',{});var listeners=_domData2.default.get(this.emitter_,'listeners',{});var selector=this.selector_;var arr=(0,_metal.isString)(selector)?delegating[this.event_].selectors:listeners;var key=(0,_metal.isString)(selector)?selector:this.event_;_metal.array.remove(arr[key]||[],this.listener_);if(arr[key]&&arr[key].length===0){delete arr[key];}}}]);return DomDelegatedEventHandle;}(_metalEvents.EventHandle);exports.default=DomDelegatedEventHandle;});'use strict';Liferay.Loader.define("frontend-js-metal-web$metal-dom@2.16.8/lib/DomEventHandle",['module','exports','require','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 _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 DomEventHandle=function(_EventHandle){_inherits(DomEventHandle,_EventHandle);function DomEventHandle(emitter,event,listener,capture){_classCallCheck(this,DomEventHandle);var _this=_possibleConstructorReturn(this,(DomEventHandle.__proto__||Object.getPrototypeOf(DomEventHandle)).call(this,emitter,event,listener));_this.capture_=capture;return _this;}
_createClass(DomEventHandle,[{key:'removeListener',value:function removeListener(){this.emitter_.removeEventListener(this.event_,this.listener_,this.capture_);}}]);return DomEventHandle;}(_metalEvents.EventHandle);exports.default=DomEventHandle;});'use strict';Liferay.Loader.define('frontend-js-metal-web$metal-dom@2.16.8/lib/domNamed',['module','exports','require','frontend-js-metal-web$metal','./domData','./DomDelegatedEventHandle','./DomEventHandle'],function(module,exports,require){var define=undefined;Object.defineProperty(exports,"__esModule",{value:true});exports.customEvents=undefined;exports.addClasses=addClasses;exports.closest=closest;exports.append=append;exports.buildFragment=buildFragment;exports.contains=contains;exports.delegate=delegate;exports.isNodeListLike=isNodeListLike;exports.enterDocument=enterDocument;exports.exitDocument=exitDocument;exports.hasClass=hasClass;exports.isEmpty=isEmpty;exports.match=match;exports.next=next;exports.on=on;exports.once=once;exports.parent=parent;exports.prepend=prepend;exports.registerCustomEvent=registerCustomEvent;exports.removeChildren=removeChildren;exports.removeClasses=removeClasses;exports.replace=replace;exports.supportsEvent=supportsEvent;exports.toElement=toElement;exports.toggleClasses=toggleClasses;exports.triggerEvent=triggerEvent;var _metal=require('frontend-js-metal-web$metal');var _domData=require('./domData');var _domData2=_interopRequireDefault(_domData);var _DomDelegatedEventHandle=require('./DomDelegatedEventHandle');var _DomDelegatedEventHandle2=_interopRequireDefault(_DomDelegatedEventHandle);var _DomEventHandle=require('./DomEventHandle');var _DomEventHandle2=_interopRequireDefault(_DomEventHandle);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}
var elementsByTag_={};var supportCache_={};var customEvents=exports.customEvents={};var LAST_CONTAINER='__metal_last_container__';var USE_CAPTURE={blur:true,error:true,focus:true,invalid:true,load:true,scroll:true};function addClasses(elements,classes){if(!(0,_metal.isObject)(elements)||!(0,_metal.isString)(classes)){return;}
if(!elements.length){elements=[elements];}
for(var i=0;i<elements.length;i++){if('classList'in elements[i]){addClassesWithNative_(elements[i],classes);}else{addClassesWithoutNative_(elements[i],classes);}}}
function addClassesWithNative_(element,classes){classes.split(' ').forEach(function(className){if(className){element.classList.add(className);}});}
function addClassesWithoutNative_(element,classes){var elementClassName=' '+element.className+' ';var classesToAppend='';classes=classes.split(' ');for(var i=0;i<classes.length;i++){var className=classes[i];if(elementClassName.indexOf(' '+className+' ')===-1){classesToAppend+=' '+className;}}
if(classesToAppend){element.className=element.className+classesToAppend;}}
function addElementListener_(element,eventName,listener){addToArr_(_domData2.default.get(element,'listeners',{}),eventName,listener);}
function addSelectorListener_(element,eventName,selector,listener){var delegatingData=_domData2.default.get(element,'delegating',{});addToArr_(delegatingData[eventName].selectors,selector,listener);}
function addToArr_(arr,key,value){if(!arr[key]){arr[key]=[];}
arr[key].push(value);}
function attachDelegateEvent_(element,eventName){var delegatingData=_domData2.default.get(element,'delegating',{});if(!delegatingData[eventName]){delegatingData[eventName]={handle:on(element,eventName,handleDelegateEvent_,!!USE_CAPTURE[eventName]),selectors:{}};}}
function closest(element,selector){while(element&&!match(element,selector)){element=element.parentNode;}
return element;}
function append(parent,child){if((0,_metal.isString)(child)){child=buildFragment(child);}
if(isNodeListLike(child)){var childArr=Array.prototype.slice.call(child);for(var i=0;i<childArr.length;i++){parent.appendChild(childArr[i]);}}else{parent.appendChild(child);}
return child;}
function buildFragment(htmlString){var tempDiv=document.createElement('div');tempDiv.innerHTML='<br>'+htmlString;tempDiv.removeChild(tempDiv.firstChild);var fragment=document.createDocumentFragment();while(tempDiv.firstChild){fragment.appendChild(tempDiv.firstChild);}
return fragment;}
function contains(element1,element2){if((0,_metal.isDocument)(element1)){return element1.documentElement.contains(element2);}else{return element1.contains(element2);}}
function delegate(element,eventName,selectorOrTarget,callback,defaultListener){var customConfig=customEvents[eventName];if(customConfig&&customConfig.delegate){eventName=customConfig.originalEvent;callback=customConfig.handler.bind(customConfig,callback);}
if(defaultListener){callback=callback.bind();callback.defaultListener_=true;}
attachDelegateEvent_(element,eventName);if((0,_metal.isString)(selectorOrTarget)){addSelectorListener_(element,eventName,selectorOrTarget,callback);}else{addElementListener_(selectorOrTarget,eventName,callback);}
return new _DomDelegatedEventHandle2.default((0,_metal.isString)(selectorOrTarget)?element:selectorOrTarget,eventName,callback,(0,_metal.isString)(selectorOrTarget)?selectorOrTarget:null);}
function isAbleToInteractWith_(node,eventName,eventObj){if(eventObj&&eventName==='click'&&eventObj.button===2){return false;}
var matchesSelector=['BUTTON','INPUT','SELECT','TEXTAREA','FIELDSET'];if(eventName==='click'&&matchesSelector.indexOf(node.tagName)>-1){return!(node.disabled||parent(node,'fieldset[disabled]'));}
return true;}
function isNodeListLike(val){return(0,_metal.isDefAndNotNull)(val)&&typeof val.length==='number'&&typeof val.item==='function';}
function enterDocument(node){node&&append(document.body,node);}
function exitDocument(node){if(node&&node.parentNode){node.parentNode.removeChild(node);}}
function handleDelegateEvent_(event){normalizeDelegateEvent_(event);var ret=true;var container=event.currentTarget;var defFns=[];ret&=triggerDelegatedListeners_(container,event,defFns);ret&=triggerDefaultDelegatedListeners_(defFns,event);event.delegateTarget=null;event[LAST_CONTAINER]=container;return ret;}
function hasClass(element,className){if('classList'in element){return hasClassWithNative_(element,className);}else{return hasClassWithoutNative_(element,className);}}
function hasClassWithNative_(element,className){return className.indexOf(' ')===-1&&element.classList.contains(className);}
function hasClassWithoutNative_(element,className){return(' '+element.className+' ').indexOf(' '+className+' ')>=0&&className.split(' ').length===1;}
function isEmpty(element){return element.childNodes.length===0;}
function match(element,selector){if(!element||element.nodeType!==1){return false;}
var p=Element.prototype;var m=p.matches||p.webkitMatchesSelector||p.mozMatchesSelector||p.msMatchesSelector||p.oMatchesSelector;if(m){return m.call(element,selector);}
return matchFallback_(element,selector);}
function matchFallback_(element,selector){var parentNode=element.parentNode;if(parentNode){var nodes=parentNode.querySelectorAll(selector);for(var i=0;i<nodes.length;++i){if(nodes[i]===element){return true;}}}
return false;}
function next(element,selector){do{element=element.nextSibling;if(element&&match(element,selector)){return element;}}while(element);return null;}
function normalizeDelegateEvent_(event){event.stopPropagation=stopPropagation_;event.stopImmediatePropagation=stopImmediatePropagation_;}
function on(element,eventName,callback,capture){if((0,_metal.isString)(element)){return delegate(document,eventName,element,callback);}
var customConfig=customEvents[eventName];if(customConfig&&customConfig.event){eventName=customConfig.originalEvent;callback=customConfig.handler.bind(customConfig,callback);}
element.addEventListener(eventName,callback,capture);return new _DomEventHandle2.default(element,eventName,callback,capture);}
function once(element,eventName,callback){var domEventHandle=on(element,eventName,function(){domEventHandle.removeListener();return callback.apply(this,arguments);});return domEventHandle;}
function parent(element,selector){return closest(element.parentNode,selector);}
function prepend(parent,child){if((0,_metal.isString)(child)){child=buildFragment(child);}
if(!isNodeListLike(child)&&!(0,_metal.isDefAndNotNull)(parent.firstChild)){return append(parent,child);}
if(isNodeListLike(child)){var childArr=Array.prototype.slice.call(child);for(var i=childArr.length-1;i>=0;i--){parent.insertBefore(childArr[i],parent.firstChild);}}else{parent.insertBefore(child,parent.firstChild);}
return child;}
function registerCustomEvent(eventName,customConfig){customEvents[eventName]=customConfig;}
function removeChildren(node){var child=void 0;while(child=node.firstChild){node.removeChild(child);}}
function removeClasses(elements,classes){if(!(0,_metal.isObject)(elements)||!(0,_metal.isString)(classes)){return;}
if(!elements.length){elements=[elements];}
for(var i=0;i<elements.length;i++){if('classList'in elements[i]){removeClassesWithNative_(elements[i],classes);}else{removeClassesWithoutNative_(elements[i],classes);}}}
function removeClassesWithNative_(element,classes){classes.split(' ').forEach(function(className){if(className){element.classList.remove(className);}});}
function removeClassesWithoutNative_(element,classes){var elementClassName=' '+element.className+' ';classes=classes.split(' ');for(var i=0;i<classes.length;i++){elementClassName=elementClassName.replace(' '+classes[i]+' ',' ');}
element.className=elementClassName.trim();}
function replace(element1,element2){if(element1&&element2&&element1!==element2&&element1.parentNode){element1.parentNode.replaceChild(element2,element1);}}
function stopImmediatePropagation_(){var event=this;event.stopped=true;event.stoppedImmediate=true;Event.prototype.stopImmediatePropagation.call(event);}
function stopPropagation_(){var event=this;event.stopped=true;Event.prototype.stopPropagation.call(event);}
function supportsEvent(element,eventName){if(customEvents[eventName]){return true;}
if((0,_metal.isString)(element)){if(!elementsByTag_[element]){elementsByTag_[element]=document.createElement(element);}
element=elementsByTag_[element];}
var tag=element.tagName;if(!supportCache_[tag]||!supportCache_[tag].hasOwnProperty(eventName)){supportCache_[tag]=supportCache_[tag]||{};supportCache_[tag][eventName]='on'+eventName in element;}
return supportCache_[tag][eventName];}
function triggerDefaultDelegatedListeners_(defFns,event){var ret=true;for(var i=0;i<defFns.length&&!event.defaultPrevented;i++){event.delegateTarget=defFns[i].element;ret&=defFns[i].fn(event);}
return ret;}
function triggerDelegatedListeners_(container,event,defaultFns){var ret=true;var currElement=event.target;var limit=container.parentNode;while(currElement&&currElement!==limit&&!event.stopped){if(isAbleToInteractWith_(currElement,event.type,event)){event.delegateTarget=currElement;ret&=triggerElementListeners_(currElement,event,defaultFns);ret&=triggerSelectorListeners_(container,currElement,event,defaultFns);}
currElement=currElement.parentNode;}
return ret;}
function toElement(selectorOrElement){if((0,_metal.isElement)(selectorOrElement)||(0,_metal.isDocument)(selectorOrElement)||(0,_metal.isDocumentFragment)(selectorOrElement)){return selectorOrElement;}else if((0,_metal.isString)(selectorOrElement)){return document.querySelector(selectorOrElement);}else{return null;}}
function toggleClasses(element,classes){if(!(0,_metal.isObject)(element)||!(0,_metal.isString)(classes)){return;}
if('classList'in element){toggleClassesWithNative_(element,classes);}else{toggleClassesWithoutNative_(element,classes);}}
function toggleClassesWithNative_(element,classes){classes.split(' ').forEach(function(className){element.classList.toggle(className);});}
function toggleClassesWithoutNative_(element,classes){var elementClassName=' '+element.className+' ';classes=classes.split(' ');for(var i=0;i<classes.length;i++){var className=' '+classes[i]+' ';var classIndex=elementClassName.indexOf(className);if(classIndex===-1){elementClassName=''+elementClassName+classes[i]+' ';}else{var before=elementClassName.substring(0,classIndex);var after=elementClassName.substring(classIndex+className.length);elementClassName=before+' '+after;}}
element.className=elementClassName.trim();}
function triggerElementListeners_(element,event,defaultFns){var lastContainer=event[LAST_CONTAINER];if(!(0,_metal.isDef)(lastContainer)||!contains(lastContainer,element)){var listeners=_domData2.default.get(element,'listeners',{})[event.type];return triggerListeners_(listeners,event,element,defaultFns);}
return true;}
function triggerEvent(element,eventName,eventObj){if(isAbleToInteractWith_(element,eventName,eventObj)){var payload=document.createEvent('HTMLEvents');payload.initEvent(eventName,true,true);_metal.object.mixin(payload,eventObj);element.dispatchEvent(payload);}}
function triggerListeners_(listeners,event,element,defaultFns){var ret=true;listeners=listeners||[];for(var i=0;i<listeners.length&&!event.stoppedImmediate;i++){if(listeners[i].defaultListener_){defaultFns.push({element:element,fn:listeners[i]});}else{ret&=listeners[i](event);}}
return ret;}
function triggerSelectorListeners_(container,element,event,defaultFns){var ret=true;var data=_domData2.default.get(container,'delegating',{});var map=data[event.type].selectors;var selectors=Object.keys(map);for(var i=0;i<selectors.length&&!event.stoppedImmediate;i++){if(match(element,selectors[i])){var listeners=map[selectors[i]];ret&=triggerListeners_(listeners,event,element,defaultFns);}}
return ret;}});'use strict';Liferay.Loader.define('frontend-js-metal-web$metal-dom@2.16.8/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;});'use strict';Liferay.Loader.define("frontend-js-metal-web$metal-dom@2.16.8/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;});'use strict';Liferay.Loader.define("frontend-js-metal-web$metal-dom@2.16.8/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='<div data-component="" data-ref=""></div>';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;});'use strict';Liferay.Loader.define("frontend-js-metal-web$metal-dom@2.16.8/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;});'use strict';Liferay.Loader.define("frontend-js-metal-web$metal-dom@2.16.8/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'&&style.rel!=='canonical'&&style.rel!=='alternate'){_metal.async.nextTick(callback);return;}
if(style.tagName==='STYLE'||style.rel==='canonical'||style.rel==='alternate'){_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;});'use strict';Liferay.Loader.define('frontend-js-metal-web$metal-dom@2.16.8/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&&!(0,_dom.contains)(target,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();}});'use strict';Liferay.Loader.define('frontend-js-metal-web$metal-dom@2.16.8/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;});'use strict';Liferay.Loader.define("frontend-js-metal-web$metal-state@2.16.8/lib/validators",['module','exports','require','frontend-js-metal-web$metal'],function(module,exports,require){var define=undefined;Object.defineProperty(exports,"__esModule",{value:true});var _typeof=typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"?function(obj){return typeof obj;}:function(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj;};var _metal=require("frontend-js-metal-web$metal");var ERROR_OBJECT_OF_TYPE='Expected object of one type.';var ERROR_ONE_OF='Expected one of the following values:';var ERROR_ONE_OF_TYPE='Expected one of given types.';var validators={any:function any(){return function(){return true;};},array:buildTypeValidator('array'),bool:buildTypeValidator('boolean'),func:buildTypeValidator('function'),number:buildTypeValidator('number'),object:buildTypeValidator('object'),string:buildTypeValidator('string'),arrayOf:function arrayOf(validator){if(isInvalid(validators.func(validator))){throwConfigError('function',validator,'arrayOf');}
return maybe(function(value,name,context){var result=validators.array(value,name,context);if(isInvalid(result)){return result;}
return validateArrayItems(validator,value,name,context);});},inRange:function inRange(min,max){var minResult=validators.number(min);var maxResult=validators.number(max);if(isInvalid(minResult)){return minResult;}
if(isInvalid(maxResult)){return maxResult;}
return maybe(function(value){var valueResult=validators.number(value);if(isInvalid(valueResult)){return valueResult;}
return value>=min&&value<=max;});},instanceOf:function instanceOf(expectedClass){return maybe(function(value,name,context){if(value instanceof expectedClass){return true;}
var msg='Expected instance of '+expectedClass;return composeError(msg,name,context);});},objectOf:function objectOf(validator){if(isInvalid(validators.func(validator))){throwConfigError('function',validator,'objectOf');}
return maybe(function(value,name,context){for(var key in value){if(isInvalid(validator(value[key]))){return composeError(ERROR_OBJECT_OF_TYPE,name,context);}}
return true;});},oneOf:function oneOf(arrayOfValues){return maybe(function(value,name,context){var result=validators.array(arrayOfValues,name,context);if(isInvalid(result)){return result;}
return arrayOfValues.indexOf(value)===-1?composeError(composeOneOfErrorMessage(arrayOfValues),name,context):true;});},oneOfType:function oneOfType(arrayOfTypeValidators){return maybe(function(value,name,context){var result=validators.array(arrayOfTypeValidators,name,context);if(isInvalid(result)){return result;}
for(var i=0;i<arrayOfTypeValidators.length;i++){if(!isInvalid(arrayOfTypeValidators[i](value,name,context))){return true;}}
return composeError(ERROR_ONE_OF_TYPE,name,context);});},shapeOf:function shapeOf(shape){if(isInvalid(validators.object(shape))){throwConfigError('object',shape,'shapeOf');}
return maybe(function(value,name,context){var valueResult=validators.object(value,name,context);if(isInvalid(valueResult)){return valueResult;}
for(var key in shape){if(Object.prototype.hasOwnProperty.call(shape,key)){var validator=shape[key];var required=false;if(validator.config){required=validator.config.required;validator=validator.config.validator;}
if(required&&!(0,_metal.isDefAndNotNull)(value[key])||isInvalid(validator(value[key]))){return validator(value[key],name+'.'+key,context);}}}
return true;});}};function buildTypeValidator(expectedType){var validatorFn=maybe(validateType.bind(null,expectedType));return function(){if(arguments.length===0){return validatorFn;}else{return validatorFn.apply(undefined,arguments);}};}
function composeError(error,name,context){var compName=context?(0,_metal.getFunctionName)(context.constructor):null;var renderer=context&&context.getRenderer&&context.getRenderer();var parent=renderer&&renderer.getParent&&renderer.getParent();var parentName=parent?(0,_metal.getFunctionName)(parent.constructor):null;var location=parentName?'Check render method of \''+parentName+'\'.':'';return new Error('Invalid state passed to \''+name+'\'.'+(' '+error+' Passed to \''+compName+'\'. '+location));}
function composeOneOfErrorMessage(arrayOfValues){return ERROR_ONE_OF+' '+JSON.stringify(arrayOfValues)+'.';}
function getType(value){return Array.isArray(value)?'array':typeof value==='undefined'?'undefined':_typeof(value);}
function isInvalid(result){return result instanceof Error;}
function maybe(typeValidator){return function(value,name,context){return(0,_metal.isDefAndNotNull)(value)?typeValidator(value,name,context):true;};}
function throwConfigError(expectedType,value,name){var type=getType(value);throw new Error('Expected type '+expectedType+', but received type '+type+'. passed to '+name+'.');}
function validateArrayItems(validator,value,name,context){for(var i=0;i<value.length;i++){if(isInvalid(validator(value[i],name,context))){var itemValidatorError=validator(value[i],name,context);var errorMessage='Validator for '+name+'['+i+'] says: "'+itemValidatorError+'"';return composeError(errorMessage,name,context);}}
return true;}
function validateType(expectedType,value,name,context){var type=getType(value);if(type!==expectedType){var msg='Expected type \''+expectedType+'\', but received type \''+type+'\'.';return composeError(msg,name,context);}
return true;}
exports.default=validators;});'use strict';Liferay.Loader.define('frontend-js-metal-web$metal-state@2.16.8/lib/Config',['module','exports','require','./validators'],function(module,exports,require){var define=undefined;Object.defineProperty(exports,"__esModule",{value:true});var _validators=require('./validators');var _validators2=_interopRequireDefault(_validators);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}
var Config={any:setPrimitiveValidators('any'),array:setPrimitiveValidators('array'),arrayOf:setNestedValidators('arrayOf'),bool:setPrimitiveValidators('bool'),func:setPrimitiveValidators('func'),inRange:function inRange(min,max){return this.validator(_validators2.default.inRange(min,max));},instanceOf:setExplicitValueValidators('instanceOf'),number:setPrimitiveValidators('number'),object:setPrimitiveValidators('object'),objectOf:setNestedValidators('objectOf'),oneOf:setExplicitValueValidators('oneOf'),oneOfType:function oneOfType(validatorArray){validatorArray=validatorArray.map(function(configObj){return configObj.config.validator;});return this.validator(_validators2.default.oneOfType(validatorArray));},shapeOf:function shapeOf(shapeObj){shapeObj=destructShapeOfConfigs(shapeObj);return this.validator(_validators2.default.shapeOf(shapeObj));},string:setPrimitiveValidators('string'),internal:function internal(){var internal=arguments.length>0&&arguments[0]!==undefined?arguments[0]:true;return mergeConfig(this,{internal:internal});},required:function required(){var required=arguments.length>0&&arguments[0]!==undefined?arguments[0]:true;return mergeConfig(this,{required:required});},setter:function setter(_setter){return mergeConfig(this,{setter:_setter});},validator:function validator(_validator){return mergeConfig(this,{validator:_validator});},value:function value(_value){return mergeConfig(this,{value:_value});},valueFn:function valueFn(_valueFn){return mergeConfig(this,{valueFn:_valueFn});},writeOnce:function writeOnce(){var writeOnce=arguments.length>0&&arguments[0]!==undefined?arguments[0]:false;return mergeConfig(this,{writeOnce:writeOnce});}};function destructShapeOfConfigs(shape){var keys=Object.keys(shape);var retShape={};keys.forEach(function(key){var value=shape[key];retShape[key]=value.config&&value.config.validator?value.config.validator:destructShapeOfConfigs(value);});return retShape;}
function mergeConfig(context,config){var obj=context;var objConfig=obj.config||{};obj=Object.create(Config);obj.config={};Object.assign(obj.config,objConfig,config);return obj;}
function setExplicitValueValidators(name){return function(arg){return this.validator(_validators2.default[name](arg));};}
function setNestedValidators(name){return function(arg){return this.validator(_validators2.default[name](arg.config.validator));};}
function setPrimitiveValidators(name){return function(){return this.validator(_validators2.default[name]);};}
exports.default=Config;});'use strict';Liferay.Loader.define("frontend-js-metal-web$metal-state@2.16.8/lib/State",['module','exports','require','frontend-js-metal-web$metal','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 _metal=require("frontend-js-metal-web$metal");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 State=function(_EventEmitter){_inherits(State,_EventEmitter);function State(config,obj,context){_classCallCheck(this,State);var _this=_possibleConstructorReturn(this,(State.__proto__||Object.getPrototypeOf(State)).call(this));_this.context_=context||_this;_this.keysBlacklist_=null;_this.obj_=obj||_this;_this.eventData_=null;_this.scheduledBatchData_=null;_this.stateInfo_={};_this.stateConfigs_={};_this.initialValues_=_metal.object.mixin({},config);_this.setShouldUseFacade(true);_this.configStateFromStaticHint_();Object.defineProperty(_this.obj_,State.STATE_REF_KEY,{configurable:true,enumerable:false,value:_this});return _this;}
_createClass(State,[{key:'assertGivenIfRequired_',value:function assertGivenIfRequired_(name){var config=this.stateConfigs_[name];if(config.required){var info=this.getStateInfo(name);var value=info.state===State.KeyStates.INITIALIZED?this.get(name):this.initialValues_[name];if(!(0,_metal.isDefAndNotNull)(value)){var errorMessage='The property called "'+name+'" is required but didn\'t receive a value.';if(this.shouldThrowValidationError()){throw new Error(errorMessage);}else{console.error(errorMessage);}}}}},{key:'assertValidatorReturnInstanceOfError_',value:function assertValidatorReturnInstanceOfError_(validatorReturn){if(validatorReturn instanceof Error){if(this.shouldThrowValidationError()){throw validatorReturn;}else{console.error('Warning: '+validatorReturn);}}}},{key:'assertValidStateKeyName_',value:function assertValidStateKeyName_(name){if(this.keysBlacklist_&&this.keysBlacklist_[name]){throw new Error('It\'s not allowed to create a state key with the name "'+name+'".');}}},{key:'buildKeyPropertyDef_',value:function buildKeyPropertyDef_(name){return{configurable:true,enumerable:true,get:function get(){return this[State.STATE_REF_KEY].getStateKeyValue_(name);},set:function set(val){this[State.STATE_REF_KEY].setStateKeyValue_(name,val);}};}},{key:'callFunction_',value:function callFunction_(fn,args){if((0,_metal.isString)(fn)){return this.context_[fn].apply(this.context_,args);}else if((0,_metal.isFunction)(fn)){return fn.apply(this.context_,args);}}},{key:'callSetter_',value:function callSetter_(name,value,currentValue){var config=this.stateConfigs_[name];if(config.setter){value=this.callFunction_(config.setter,[value,currentValue]);}
return value;}},{key:'callValidator_',value:function callValidator_(name,value){var config=this.stateConfigs_[name];if(config.validator){var validatorReturn=this.callFunction_(config.validator,[value,name,this.context_]);this.assertValidatorReturnInstanceOfError_(validatorReturn);return validatorReturn;}
return true;}},{key:'canSetState',value:function canSetState(name){var info=this.getStateInfo(name);return!this.stateConfigs_[name].writeOnce||!info.written;}},{key:'configState',value:function configState(configs,context){var names=Object.keys(configs);if(names.length===0){return;}
if(context!==false){var props={};for(var i=0;i<names.length;i++){var name=names[i];this.assertValidStateKeyName_(name);props[name]=this.buildKeyPropertyDef_(name);}
Object.defineProperties(context||this.obj_,props);}
this.stateConfigs_=configs;for(var _i=0;_i<names.length;_i++){var _name=names[_i];configs[_name]=configs[_name].config?configs[_name].config:configs[_name];this.assertGivenIfRequired_(names[_i]);this.validateInitialValue_(names[_i]);}}},{key:'configStateFromStaticHint_',value:function configStateFromStaticHint_(){var ctor=this.constructor;if(ctor!==State){var defineContext=void 0;if(this.obj_===this){var staticKey=State.STATE_STATIC_HINT_CONFIGURED;ctor[staticKey]=ctor[staticKey]||{};defineContext=ctor[staticKey][ctor.name]?false:ctor.prototype;ctor[staticKey][ctor.name]=true;}
this.configState(State.getStateStatic(ctor),defineContext);}}},{key:'disposeInternal',value:function disposeInternal(){_get(State.prototype.__proto__||Object.getPrototypeOf(State.prototype),'disposeInternal',this).call(this);this.initialValues_=null;this.stateInfo_=null;this.stateConfigs_=null;this.scheduledBatchData_=null;}},{key:'emitBatchEvent_',value:function emitBatchEvent_(){if(!this.isDisposed()){this.context_.emit('stateWillChange',this.scheduledBatchData_);var data=this.scheduledBatchData_;this.scheduledBatchData_=null;this.context_.emit('stateChanged',data);}}},{key:'get',value:function get(name){return this.obj_[name];}},{key:'getState',value:function getState(){var names=arguments.length>0&&arguments[0]!==undefined?arguments[0]:this.getStateKeys();var state={};for(var i=0;i<names.length;i++){state[names[i]]=this.get(names[i]);}
return state;}},{key:'getStateInfo',value:function getStateInfo(name){if(!this.stateInfo_[name]){this.stateInfo_[name]={};}
return this.stateInfo_[name];}},{key:'getStateKeyConfig',value:function getStateKeyConfig(name){return this.stateConfigs_?this.stateConfigs_[name]:null;}},{key:'getStateKeys',value:function getStateKeys(){return this.stateConfigs_?Object.keys(this.stateConfigs_):[];}},{key:'getStateKeyValue_',value:function getStateKeyValue_(name){if(!this.warnIfDisposed_(name)){this.initStateKey_(name);return this.getStateInfo(name).value;}}},{key:'hasBeenSet',value:function hasBeenSet(name){var info=this.getStateInfo(name);return info.state===State.KeyStates.INITIALIZED||this.hasInitialValue_(name);}},{key:'hasInitialValue_',value:function hasInitialValue_(name){return this.initialValues_.hasOwnProperty(name)&&(0,_metal.isDef)(this.initialValues_[name]);}},{key:'hasStateKey',value:function hasStateKey(key){if(!this.warnIfDisposed_(key)){return!!this.stateConfigs_[key];}}},{key:'informChange_',value:function informChange_(name,prevVal){if(this.shouldInformChange_(name,prevVal)){var data=_metal.object.mixin({key:name,newVal:this.get(name),prevVal:prevVal},this.eventData_);this.context_.emit(name+'Changed',data);this.context_.emit('stateKeyChanged',data);this.scheduleBatchEvent_(data);}}},{key:'initStateKey_',value:function initStateKey_(name){var info=this.getStateInfo(name);if(info.state!==State.KeyStates.UNINITIALIZED){return;}
info.state=State.KeyStates.INITIALIZING;this.setInitialValue_(name);if(!info.written){this.setDefaultValue(name);}
info.state=State.KeyStates.INITIALIZED;}},{key:'removeStateKey',value:function removeStateKey(name){this.stateInfo_[name]=null;this.stateConfigs_[name]=null;delete this.obj_[name];}},{key:'scheduleBatchEvent_',value:function scheduleBatchEvent_(changeData){if(!this.scheduledBatchData_){_metal.async.nextTick(this.emitBatchEvent_,this);this.scheduledBatchData_=_metal.object.mixin({changes:{}},this.eventData_);}
var name=changeData.key;var changes=this.scheduledBatchData_.changes;if(changes[name]){changes[name].newVal=changeData.newVal;}else{changes[name]=changeData;}}},{key:'set',value:function set(name,value){if(this.hasStateKey(name)){this.obj_[name]=value;}}},{key:'setDefaultValue',value:function setDefaultValue(name){var config=this.stateConfigs_[name];if(config.value!==undefined){this.set(name,config.value);}else{this.set(name,this.callFunction_(config.valueFn));}}},{key:'setEventData',value:function setEventData(data){this.eventData_=data;}},{key:'setInitialValue_',value:function setInitialValue_(name){if(this.hasInitialValue_(name)){this.set(name,this.initialValues_[name]);this.initialValues_[name]=undefined;}}},{key:'setKeysBlacklist',value:function setKeysBlacklist(blacklist){this.keysBlacklist_=blacklist;}},{key:'setState',value:function setState(values,callback){var _this2=this;Object.keys(values).forEach(function(name){return _this2.set(name,values[name]);});if(callback&&this.scheduledBatchData_){this.context_.once('stateChanged',callback);}}},{key:'setStateKeyValue_',value:function setStateKeyValue_(name,value){if(this.warnIfDisposed_(name)||!this.canSetState(name)||!this.validateKeyValue_(name,value)){return;}
var prevVal=this.get(name);var info=this.getStateInfo(name);info.value=this.callSetter_(name,value,prevVal);this.assertGivenIfRequired_(name);info.written=true;this.informChange_(name,prevVal);}},{key:'shouldInformChange_',value:function shouldInformChange_(name,prevVal){var info=this.getStateInfo(name);return info.state===State.KeyStates.INITIALIZED&&((0,_metal.isObject)(prevVal)||prevVal!==this.get(name));}},{key:'shouldThrowValidationError',value:function shouldThrowValidationError(){return false;}},{key:'validateInitialValue_',value:function validateInitialValue_(name){if(this.initialValues_.hasOwnProperty(name)&&!this.callValidator_(name,this.initialValues_[name])){delete this.initialValues_[name];}}},{key:'validateKeyValue_',value:function validateKeyValue_(name,value){var info=this.getStateInfo(name);return info.state===State.KeyStates.INITIALIZING||this.callValidator_(name,value);}},{key:'warnIfDisposed_',value:function warnIfDisposed_(name){var disposed=this.isDisposed();if(disposed){console.warn('Error. Trying to access property "'+name+'" on disposed instance');}
return disposed;}}],[{key:'getStateStatic',value:function getStateStatic(ctor){return(0,_metal.getStaticProperty)(ctor,'STATE',State.mergeState);}},{key:'mergeState',value:function mergeState(mergedVal,currVal){return _metal.object.mixin({},currVal,mergedVal);}}]);return State;}(_metalEvents.EventEmitter);State.STATE_REF_KEY='__METAL_STATE_REF_KEY__';State.STATE_STATIC_HINT_CONFIGURED='__METAL_STATE_STATIC_HINT_CONFIGURED__';State.KeyStates={UNINITIALIZED:undefined,INITIALIZING:1,INITIALIZED:2};exports.default=State;});