xmp.createNamespace("xmp.util.internals");xmp.util.internals.XMPError=function(aa,ba,ca,da){xmp.util.internals.XMPError.ctor.call(this);this.name=aa;this.context=ba;this.rawMessage=ca;this.extendedInfo=da;this.innerError=null;this.setMessage();};xmp.DERIVE_CLASS(Error,xmp.util.internals.XMPError);xmp.util.internals.XMPError.prototype.setInnerError=function(e){this.innerError=e;this.setMessage();};xmp.util.internals.XMPError.prototype.setMessage=function(){this.message="Error Type:  "+this.name+((this.context)?"\n\nOccured While:  "+this.context:"")+((this.innerError)?"\n\nInner/Nested Error Type:  "+this.innerError.name:"")+"\n\nError Text:  "+this.rawMessage;var i=0;var ea=0;if(this.extendedInfo){ea=this.extendedInfo.length;for(i=0;i<ea;i++){this.message+="\n\n"+this.extendedInfo[i].label+":  "+this.extendedInfo[i].text;}}
if(this.innerError&&this.innerError.extendedInfo){ea=this.innerError.extendedInfo.length;for(i=0;i<ea;i++){this.message+="\n\n"+this.innerError.extendedInfo[i].label+":  "+this.innerError.extendedInfo[i].text;}}
var fa=((this.innerError)?this.innerError:this);if(fa.number){this.message+="\n\nError Number:  "+fa.number;}
if(fa.lineNumber){this.message+="\n\nLine Number:  "+fa.lineNumber;}
if(fa.fileName){this.message+="\n\nFile Name:  "+fa.fileName;}
if(fa.stack){this.message+="\n\nStack Trace:\n\n"+fa.stack;}};xmp.util.internals.XMPError.prototype.addExtendedInfo=function(ga){if(!this.extendedInfo){this.extendedInfo=[];}
this.extendedInfo.push(ga);this.setMessage();};xmp.createNamespace("xmp.util");xmp.util.PlayableNode=function(){this._instanceNumber=xmp.util.PlayableNode._instanceNumberCounter;xmp.util.PlayableNode._instanceNumberCounter++;this._valid=false;this._init();};xmp.util.PlayableNode._instanceNumberCounter=0;xmp.util.PlayableNode._nodeOfTypeCounterMap={};xmp.util.PlayableNode._staticInit=function(){xmp.util.PlayableNode._nodeOfTypeCounterMap={};};xmp.util.PlayableNode.prototype._init=function(){this._internalId='';this._mime_type='';this._uri='';this._isUriAbsolute=false;this._timeLimitInSeconds=-1;this._endedFrame='';this._streamingMode='';this._mimeTypes=[];this._sizes=[];this._rules=[];this._nodeOwnsRules=true;this._nodeType=null;this._patternAddress=null;this._emptySlot=false;this._dataProvider=null;this._dataId='';this._data=null;this._metadataMap=null;this._nodeOwnsMetadataMap=false;this._metaResourceBundle=null;this._valid=true;};xmp.util.PlayableNode.prototype._clear=function(){var ha=[];var ia='';for(ia in this){ha.push(ia);}
for(var i=0;i<ha.length;i++){ia=ha[i];if(ia==='_instanceNumber'||ia==='_valid'){continue;}
if(typeof this[ia]==='function'){continue;}
delete this[ia];}
this._valid=false;};xmp.util.PlayableNode.prototype.isValid=function(){return this._valid;};xmp.util.PlayableNode.prototype.getNodeTypeName=function(){return this.getNodeType().getTypeName();};xmp.util.PlayableNode.prototype.getNodeTypeId=function(){return this.getNodeType().getId();};xmp.util.PlayableNode.prototype.isContentType=function(){return this.getNodeType().isContentType();};xmp.util.PlayableNode.prototype.getMetadata=function(ja,ka){if(this._metadataMap===null){return ka;}
return this._metadataMap._get(ja,ka);};xmp.util.PlayableNode.prototype.setMetadata=function(la,ma){this._swivelMetadataMapReferenceBeforeModification();this._metadataMap._set(la,ma);};xmp.util.PlayableNode.prototype.getMetaResource=function(na){return this._metaResourceBundle.getMetaResource(na);};xmp.util.PlayableNode.prototype.setMetaResource=function(oa){this._metaResourceBundle.setMetaResource(oa);};xmp.util.PlayableNode.prototype.getMetaResourceBundle=function(){return this._metaResourceBundle;};xmp.util.PlayableNode.prototype.reSetMetaResourceBundle=function(pa){this._metaResourceBundle=pa;};xmp.util.PlayableNode.prototype.getPlayableData=function(){if(this._dataId.length>0){return this._dataProvider._getPlayableData(this._dataId);}
else{return this._data;}};xmp.util.PlayableNode.prototype.getBestId=function(){var id=this.getPlayableData().getMetaResourceId();if(id.length===0){id=this.getPlayableData().getCompositeMetaResourceId();}
if(id.length===0){id=this._getInternalId();}
return id;};xmp.util.PlayableNode.safeGetBestId=function(qa){try{if(!qa){return"NULL/UNDEFINED";}
return qa.getBestId();}
catch(e){return"UNKNOWN/ERROR";}};xmp.util.PlayableNode.prototype.getUniqueId=function(){return this._getHashKey();};xmp.util.PlayableNode.prototype.getMimeType=function(){return this._mime_type;};xmp.util.PlayableNode.prototype.setMimeType=function(ra){xmp.validateArguments(arguments,[xmp.STRING_TYPE],"PlayableNode.setMimeType");if(ra===null||ra.length===0){throw new xmp.util.internals.InvalidArgsError("Invalid playable node mime type (null or empty).");}
this._mime_type=ra;};xmp.util.PlayableNode.prototype.getURI=function(){return this._uri;};xmp.util.PlayableNode.prototype.setURI=function(sa){xmp.validateArguments(arguments,[xmp.STRING_TYPE],"PlayableNode.setURI");if(sa===null||sa.length===0){throw new xmp.util.internals.InvalidArgsError("Invalid playable node uri (null or empty).");}
this._uri=sa;};xmp.util.PlayableNode.prototype.setUriAbsolute=function(ta){this._isUriAbsolute=ta;};xmp.util.PlayableNode.prototype.isUriAbsolute=function(){return this._isUriAbsolute;};xmp.util.PlayableNode.prototype.getTimeLimitInSeconds=function(){return this._timeLimitInSeconds;};xmp.util.PlayableNode.prototype.setTimeLimitInSeconds=function(ua){xmp.validateArguments(arguments,[xmp.NUMBER_TYPE],"PlayableNode.setTimeLimitInSeconds");if(ua<-1){throw new xmp.util.internals.InvalidArgsError("Invalid time limit (cannot be less than -1).");}
this._timeLimitInSeconds=ua;};xmp.util.PlayableNode.prototype.getEndedFrame=function(){return this._endedFrame;};xmp.util.PlayableNode.prototype.setEndedFrame=function(va){xmp.validateArguments(arguments,[xmp.STRING_TYPE],"PlayableNode.setEndedFrame");if(va!="First"&&va!="Last"){throw new xmp.util.internals.InvalidArgsError("Invalid playable node ended frame \""+va+"\".  Expected \"First\" or \"Last\" frame.");}
this._endedFrame=va;};xmp.util.PlayableNode.prototype.getNodeType=function(){return this._nodeType;};xmp.util.PlayableNode.prototype.getRuleCount=function(){return this._rules.length;};xmp.util.PlayableNode.prototype.getRule=function(wa){xmp.validateArguments(arguments,[xmp.NUMBER_TYPE],"PlayableNode.getChild");return this._rules[wa];};xmp.util.PlayableNode.prototype.addRule=function(xa){xmp.validateArguments(arguments,[xmp.OBJECT_TYPE],"PlayableNode.addRule");if(xa===null){throw new xmp.util.internals.InvalidArgsError("Invalid rule context (null).");}
this._swivelRuleArrayReferenceBeforeModification();return this._rules.push(xa);};xmp.util.PlayableNode.prototype.insertRule=function(ya,za){xmp.validateArguments(arguments,[xmp.OBJECT_TYPE,xmp.NUMBER_TYPE],"PlayableNode.insertRule");if(ya===null){throw new xmp.util.internals.InvalidArgsError("Invalid rule context (null).");}
this._swivelRuleArrayReferenceBeforeModification();this._rules.splice(za,0,ya);return this._rules.length;};xmp.util.PlayableNode.prototype.removeRule=function(Aa){xmp.validateArguments(arguments,[xmp.NUMBER_TYPE],"PlayableNode.removeRule");this._swivelRuleArrayReferenceBeforeModification();this._rules.splice(Aa,1);return this._rules.length;};xmp.util.PlayableNode.prototype._getRuleArrayReference=function(){return this._rules;};xmp.util.PlayableNode.prototype._swivelRuleArrayReferenceBeforeModification=function(){if(!this._nodeOwnsRules){this._nodeOwnsRules=true;this._rules=[];if(this.getNodeType()!==null){this._rules=this._rules.concat(this.getNodeType()._getRuleContextArray());}}};xmp.util.PlayableNode.prototype._swivelMetadataMapReferenceBeforeModification=function(){if(!this._nodeOwnsMetadataMap){this._nodeOwnsMetadataMap=true;var Ba=this._metadataMap;this._metadataMap=new xmp.util.internals.MetadataMap(false);if(Ba!==null){this._metadataMap._reInitialize(Ba._getClonedWrappedMetadata());}}};xmp.util.PlayableNode.prototype._setNodeType=function(Ca){this._internalId=this._makeInternalId(Ca);this._nodeType=Ca;this._rules=this.getNodeType()._getRuleContextArray();this._nodeOwnsRules=false;this._metadataMap=this.getNodeType()._getMetadataMapRef();this._nodeOwnsMetadataMap=false;this._metaResourceBundle=this.getNodeType().getMetaResourceBundle().clone();};xmp.util.PlayableNode.prototype._getInstanceNumber=function(){return this._instanceNumber;};xmp.util.PlayableNode.prototype._getHashKey=function(){return('PlayableNode_'+this._instanceNumber);};xmp.util.PlayableNode.prototype._getPatternAddress=function(){return this._patternAddress;};xmp.util.PlayableNode.prototype._setPatternAddress=function(id){this._patternAddress=id;};xmp.util.PlayableNode.prototype._isEmptySlot=function(){return this._emptySlot;};xmp.util.PlayableNode.prototype._mutateEmptySlot=function(Da){this._emptySlot=Da;};xmp.util.PlayableNode.prototype._getInternalId=function(){return this._internalId;};xmp.util.PlayableNode.prototype._linkData=function(Ea,Fa){this._dataProvider=Ea;this._dataId=Fa;};xmp.util.PlayableNode.prototype._setData=function(Ga){this._data=Ga;};xmp.util.PlayableNode.prototype._makeInternalId=function(Ha){var Ia=xmp.util.PlayableNode._getNodeOfTypeCount(Ha.getTypeName());var Ja=8;var id=Ha.getTypeName()+'_'+this._zeroPad(Ia,Ja);return id;};xmp.util.PlayableNode._getNodeOfTypeCount=function(Ka){var La=xmp.util.PlayableNode._nodeOfTypeCounterMap[Ka];if(typeof La==='undefined'){La=0;}
else{La++;}
xmp.util.PlayableNode._nodeOfTypeCounterMap[Ka]=La;return La;};xmp.util.PlayableNode.prototype._zeroPad=function(Ma,Na){var Oa='';Oa+=Ma;var Pa=Oa.length;for(var i=Pa;i<Na;i++){Oa=('0'+Oa);}
return Oa;};xmp.util.PlayableNode.prototype.getStreamingMode=function(){return this._streamingMode;};xmp.util.PlayableNode.prototype.setStreamingMode=function(Qa){xmp.validateArguments(arguments,[xmp.STRING_TYPE],"PlayableNode.setStreamingMode");var Ra=xmp.PlayerPolicy.getStreamingModes();var Sa=Ra.length;for(var i=0;i<Sa;i++){if(Ra[i]===Qa){this._streamingMode=Qa;return;}}
throw new xmp.util.internals.InvalidArgsError("Invalid playable node streaming mode \""+Qa+"\".  Expected "+Ra.join(", ")+".");};xmp.util.PlayableNode.prototype.getMimeTypes=function(){return this._mimeTypes;};xmp.util.PlayableNode.prototype.setMimeTypes=function(Ta){xmp.validateArguments(arguments,[xmp.OBJECT_TYPE],"PlayableNode.setMimeTypes");if(Ta.length===0){throw new xmp.util.internals.InvalidArgsError("Invalid playable node mime types.  Expeced at least 1 mime type.");}
this._mimeTypes=Ta;};xmp.util.PlayableNode.prototype.getSizes=function(){return this._sizes;};xmp.util.PlayableNode.prototype.setSizes=function(Ua){xmp.validateArguments(arguments,[xmp.OBJECT_TYPE],"PlayableNode.setSizes");if(Ua.length===0){throw new xmp.util.internals.InvalidArgsError("Invalid playable node mime types.  Expeced at least 1 size.");}
this._sizes=Ua;};xmp.createNamespace("xmp.util.internals");xmp.util.internals.InvalidArgsError=function(Va){xmp.util.internals.InvalidArgsError.ctor.call(this,"InvalidArgsError",null,Va);};xmp.DERIVE_CLASS(xmp.util.internals.XMPError,xmp.util.internals.InvalidArgsError);xmp.createNamespace("xmp.util");xmp.util.AbstractLoggerListener=function(Wa){this.setLogLevel(Wa);};xmp.util.AbstractLoggerListener.prototype.handleLog=function(Xa,Ya,Za,$a){if(Xa<=this.getLogLevel()){if(typeof $a!='undefined'){Za+=(" -- Error: "+xmp.extractErrorMessage($a));}
this.handleLogMessage(Xa,Ya,Za);}};xmp.util.AbstractLoggerListener.prototype.handleLogMessage=function(ab,bb,db){throw new Error("Subclass must implement handleLogMessage");};xmp.util.AbstractLoggerListener.prototype.getLogLevel=function(){return this._logLevel;};xmp.util.AbstractLoggerListener.prototype.setLogLevel=function(eb){var fb=xmp.util.LogLevels._calc(eb);this._logLevel=fb;xmp.util.Logger.getInstance().listenerChanged();};xmp.createNamespace("xmp.util");xmp.util.Callback=function(id,gb,hb){xmp.validateArguments(arguments,[xmp.STRING_TYPE,xmp.FUNCTION_TYPE,xmp.OBJECT_TYPE],"Callback.ctor");if(id===null||id.length===0||gb===null){throw new xmp.util.internals.InvalidArgsError("The 'id' argument must be non-empty, and the 'theMethod' argument must be non-null.");}
this._id=id;this._theMethod=gb;this._theContextObject=(!hb)?null:hb;this._metadataMap=new xmp.util.internals.MetadataMap(false);};xmp.util.Callback.prototype.getId=function(){return this._id;};xmp.util.Callback.prototype.call=function(){var ib=[];ib.push(this);for(var i=0;i<arguments.length;i++){ib.push(arguments[i]);}
this._theMethod.apply(this._theContextObject,ib);};xmp.util.Callback.prototype.getMetadata=function(jb,kb){return this._metadataMap._get(jb,kb);};xmp.util.Callback.prototype.setMetadata=function(lb,mb){this._metadataMap._set(lb,mb);};xmp.createNamespace("xmp.util");xmp.util.Cookie=function(){};xmp.util.Cookie.canUse=function(){var nb=false;if(document.cookie===''){document.cookie='WM_acceptsCookies=yes';if(document.cookie.indexOf('WM_acceptsCookies=yes')!=-1){nb=true;}}else{nb=true;}
return(nb);};xmp.util.Cookie.write=function(ob,pb,qb,rb,sb,tb){if(xmp.util.Cookie.canUse()){var ub=0;var vb=(navigator&&navigator.appName&&(navigator.appName==='Netscape')&&navigator.appVersion&&(parseInt(navigator.appVersion,0)==2))?false:true;if(qb&&vb){if((typeof(qb)=='string')&&Date.parse(qb)){ub=qb;}else if(typeof(qb)=='number'){ub=(new Date((new Date()).getTime()+qb*3600000)).toGMTString();}}
document.cookie=ob+'='+escape(pb)+((ub)?(';expires='+ub):'')+((rb)?';path='+path:'')+((sb)?';domain='+domain:'')+((tb&&(tb===true))?'; secure':'');}};xmp.util.Cookie.read=function(wb){if(document.cookie===''){return false;}else{var xb,lastChar;var yb=document.cookie;xb=yb.indexOf(wb);var zb=xb+wb.length;if((xb!=-1)&&(yb.charAt(zb)=='=')){xb+=wb.length+1;lastChar=yb.indexOf(';',xb);if(lastChar==-1)lastChar=yb.length;return unescape(yb.substring(xb,lastChar));}else{return false;}}};xmp.util.Cookie.kill=function(Ab,Bb,Cb){var Db=xmp.util.Cookie.read(Ab);if(Db){document.cookie=Ab+'='+Db+'; expires=Fri, 13-Apr-1970 00:00:00 GMT'+((Bb)?';path='+path:'')+((Cb)?';domain='+domain:'');}};xmp.CriticalException=function(Eb,Fb,Gb,Hb,Ib){this._code=xmp.XmpErrorCodes._calc(Eb);var Jb=Hb+" CRTICAL ERROR CODE: "+this.getCriticalErrorCode().toString()+": "+this.getCriticalErrorCodeString();xmp.CriticalException.ctor.call(this,Fb,Gb,Jb,Ib);};xmp.DERIVE_CLASS(xmp.util.internals.XMPError,xmp.CriticalException);xmp.CriticalException.prototype.getCriticalErrorCode=function(){return this._code;};xmp.CriticalException.prototype.getCriticalErrorCodeString=function(){return xmp.XmpErrorCodes.stringify(this._code);};xmp.CriticalException.createCriticalException=function(Kb,Lb,Mb){return new xmp.CriticalException(Kb,'CriticalException',Lb,Mb);};xmp.FatalException=function(Nb,Ob,Pb,Qb){this._code=xmp.XmpErrorCodes._calc(Nb);var Rb=Qb+" FATAL ERROR CODE: "+this.getFatalErrorCode().toString()+": "+this.getFatalErrorCodeString();xmp.FatalException.ctor.call(this,Ob,Pb,Rb);};xmp.DERIVE_CLASS(xmp.util.internals.XMPError,xmp.FatalException);xmp.FatalException.prototype.getFatalErrorCode=function(){return this._code;};xmp.FatalException.prototype.getFatalErrorCodeString=function(){return xmp.XmpErrorCodes.stringify(this._code);};xmp.FatalException.createFatalException=function(Sb,Tb,Ub){return new xmp.FatalException(Sb,'FatalException',Tb,Ub);};xmp.createNamespace("xmp.util");xmp.util.FlashUtility=function(){};xmp.util.FlashUtility.buildFSCommandScript=function(Vb,Wb,Xb){var Yb=document.createElement('script');var Zb='';if(navigator.appName.indexOf(xmp.MICROSOFT_BROWSER)!==-1){Yb.defer=true;Yb.event='FSCommand(command,args)';Yb.htmlFor=Wb;Zb=Xb;Yb.text=Zb;Vb.insertBefore(Yb,null);}
else{Zb="function "+Wb+"_DoFSCommand(command, args) { "+Xb+" }";Yb.innerHTML=Zb;Vb.insertBefore(Yb,null);}};xmp.util.FlashUtility.splitFSCommandData=function($b,ac){if(ac<1){throw new xmp.util.internals.InvalidArgsError('Must call fn with "count" >= 1');}
if(ac===1){return[$b];}
var bc=$b.split(xmp.DELIMITER);if(bc.length===ac){return bc;}
if(bc.length<ac){throw new xmp.util.internals.InvalidArgsError('Expected '+ac.toString()+' arguments, got '+bc.length.toString());}
var cc=bc.slice(0,ac-1);var dc=bc.slice(ac-1);var ec=dc.join(xmp.DELIMITER);cc.push(ec);return cc;};xmp.util.FlashUtility.externalInterfaceDecode=function(fc){if(fc.indexOf('&xmp_')===-1){return fc;}
var gc=fc;gc=gc.replace(/&xmp_custom_lt;/g,'<');gc=gc.replace(/&xmp_custom_gt;/g,'>');gc=gc.replace(/&xmp_lit_lf;/g,'\\n');gc=gc.replace(/&xmp_lit_cr;/g,'\\r');gc=gc.replace(/&xmp_lit_tab;/g,'\\t');gc=gc.replace(/&xmp_lit_bs;/g,'\\\\');gc=gc.replace(/&xmp_lit_apos;/g,'\\\'');gc=gc.replace(/&xmp_lit_quot;/g,'\\\"');return gc;};xmp.createNamespace("xmp.util");xmp.util.JsonPath=function(hc,ic){this._nextObj=hc;this._nextPath=ic;this._keepEvaluating=true;};xmp.util.JsonPath.evaluate=function(jc,kc){var lc=new xmp.util.JsonPath(jc,kc);lc._evalInternal();return lc._getResult();};xmp.util.JsonPath.prototype._getResult=function(){if(!this._keepEvaluating||!this._isSNB(this._nextObj)){return null;}
return this._nextObj.toString();};xmp.util.JsonPath.prototype._calcNextObj=function(mc){if(typeof this._nextObj[mc]==='undefined'){this._keepEvaluating=false;return;}
this._nextObj=this._nextObj[mc];};xmp.util.JsonPath.prototype._evalInternal=function(){while(this._keepEvaluating&&this._nextPath.length>0){var nc='';for(var i=0;i<this._nextPath.length;i++){var c=this._nextPath.charAt(i);if(c==='.'){this._calcNextObj(nc);this._calcNextPath(nc);break;}
else if(c==='['){if(nc.length>0){this._calcNextObj(nc);this._calcNextPath(nc);break;}
var oc=this._getBracketExpression();if(oc.charAt(0)==='@'){this._doArrayMatch(oc.substr(1));}
else if(xmp.isNumber(oc,false)){var pc=parseInt(oc,0);if(pc>=this._nextObj.length){this._keepEvaluating=false;break;}
this._nextObj=this._nextObj[pc];}
else{this._calcNextObj(this._unQuote(oc));}
break;}
else{nc+=c;if(i===(this._nextPath.length-1)){this._calcNextObj(nc);this._calcNextPath(nc);}}}}};xmp.util.JsonPath.prototype._unQuote=function(qc){if(qc.length>1){if(qc.charAt(0)==='\''||qc.charAt(0)==='\"'){return this._stripFirstAndLast(qc);}}
return qc;};xmp.util.JsonPath.prototype._stripFirstAndLast=function(rc){var sc=rc.substr(1);sc=sc.substr(0,sc.length-1);return sc;};xmp.util.JsonPath.prototype._getBracketExpression=function(){var be='';for(var i=0;i<this._nextPath.length;i++){var cb=this._nextPath.charAt(i);be+=cb;if(cb===']'){break;}}
this._calcNextPath(be);return this._stripFirstAndLast(be);};xmp.util.JsonPath.prototype._doArrayMatch=function(tc){var uc=tc.split('=');var vc=uc[0];var wc=this._unQuote(uc[1]);var xc=false;for(var i=0;i<this._nextObj.length;i++){var yc=this._nextObj[i];if(typeof yc[vc]==='undefined'){continue;}
if(!this._isSNB(yc[vc])){this._keepEvaluating=false;break;}
if(yc[vc].toString()===wc){this._nextObj=yc;xc=true;break;}}
if(!xc){this._keepEvaluating=false;}};xmp.util.JsonPath.prototype._isSNB=function(zc){var Ac=(typeof zc);return(Ac==='string'||Ac==='boolean'||Ac==='number');};xmp.util.JsonPath.prototype._calcNextPath=function(Bc){if(Bc.length===this._nextPath.length){this._nextPath='';}
else{this._nextPath=this._nextPath.substr(Bc.length);if(this._nextPath.indexOf('.')===0){this._nextPath=this._nextPath.substr(1);}}};xmp.createNamespace("xmp.commmon");xmp.util.Latch=function(Cc,Dc){this.cbState={};this.cbComplete={};for(var i=0;i<Cc.length;i++){this.cbComplete[Cc[i]]=false;}
this.completionCb=Dc;};xmp.util.Latch.prototype.called=function(Ec,Fc){this.cbComplete[Ec]=true;this.cbState[Ec]=Fc;var Gc=true;for(var cb in this.cbComplete){Gc=Gc&&this.cbComplete[cb];if(!Gc)break;}
if(Gc){for(cb in this.cbState){this.completionCb.setMetadata(cb,this.cbState[cb]);}
this.completionCb.call();}};xmp.util.Latch.prototype.clear=function(){for(var cb in this.cbComplete){this.cbComplete[cb]=false;}
delete this.cbState;this.cbState={};};xmp.util.Latch.prototype.addCbName=function(Hc){this.cbComplete[Hc]=false;};xmp.createNamespace("xmp.util");xmp.util.Loadable=function(){this._loaded=false;this._rawData=null;this._errorMessage=null;};xmp.util.Loadable.prototype._setRawData=function(Ic){this._rawData=Ic;this._loaded=true;};xmp.util.Loadable.prototype._setErrorMessage=function(Jc){this._errorMessage=Jc;this._loaded=false;};xmp.util.Loadable.prototype.isLoaded=function(){return this._loaded;};xmp.util.Loadable.prototype.isError=function(){return(this._errorMessage!==null);};xmp.util.Loadable.prototype.getErrorMessage=function(){return this._errorMessage;};xmp.util.Loadable.prototype.getError=function(){return(new xmp.util.LoadableDataException(this.isError()?this._errorMessage:'NO ERROR'));};xmp.util.Loadable.prototype.getDataObject=function(){if(this._rawData===null||!this.isLoaded()){throw new Error("Loadable not loaded yet for node: "+this.getLoadableId());}
return this._rawData;};xmp.util.Loadable.prototype.getLoadableId=function(){throw new Error('Subclass must override!');};xmp.util.LoadableDataException=function(Kc){xmp.util.LoadableDataException.ctor.call(this,"LoadableDataException",null,Kc);};xmp.DERIVE_CLASS(xmp.util.internals.XMPError,xmp.util.LoadableDataException);xmp.createNamespace("xmp.commmon");xmp.util.Loader=function(){this.loadedUris=[];};xmp.util.Loader.instance=null;xmp.util.Loader.getInstance=function(){if(xmp.util.Loader.instance===null){xmp.util.Loader.instance=new xmp.util.Loader();}
return xmp.util.Loader.instance;};xmp.util.Loader.prototype.loadModule=function(Lc,cb){if(!Lc){return;}
var Mc=Lc.replace(/\./g,"/")+".js";this.loadUri(Mc,Lc,cb);};xmp.util.Loader.prototype.loadUri=function(Nc,Oc,cb){if(!this.loadedUris[Nc]){var Pc=xmp.net.AjaxRequestManager.getInstance();var Qc=new xmp.util.Callback('loader.getText',this.callback,this);Qc.setMetadata("cb",cb);Qc.setMetadata("uri",Nc);Pc.request(Nc,Qc,Oc,Nc,xmp.net.ContentTypes.TEXT);}else{cb(Nc,true);}};xmp.util.Loader.prototype.callback=function(Rc,Sc){var Tc=xmp.net.AjaxRequestManager.getInstance();Tc._parseJavaScript(Sc.getText());var Uc=Rc.getMetadata("uri",'');var cb=Rc.getMetadata("cb",function(Uc){});if(Uc===''||cb===function(Uc){}){throw new xmp.util.LoadException("uri: "+Uc+" cb: "+cb);}
this.loadedUris[Uc]=true;cb(Uc,false);};xmp.util.Loader.prototype.flushCache=function(){this.loadedUris=[];};xmp.util.LoadException=function(Vc){this.name="LoadException";this.message=Vc;};xmp.DERIVE_CLASS(Error,xmp.util.LoadException);xmp.createNamespace("xmp.util");xmp.util.LogLevels=function(){};xmp.util.LogLevels.NONE=0;xmp.util.LogLevels.FATAL=1;xmp.util.LogLevels.CRITICAL=2;xmp.util.LogLevels.WARN=3;xmp.util.LogLevels.INFO=4;xmp.util.LogLevels.DEBUG=5;xmp.util.LogLevels._BEGIN=0;xmp.util.LogLevels._END=5;xmp.util.LogLevels._calc=function(Wc){var Xc=xmp.util.LogLevels;if((typeof Wc!=='number')||(Wc<Xc._BEGIN)||(Wc>Xc._END)){return Xc._BEGIN;}
return Wc;};xmp.util.LogLevels.stringify=function(Yc){var Zc=xmp.util.LogLevels;var $c=Zc._calc(Yc);switch($c){case Zc.NONE:return'none';case Zc.FATAL:return'fatal';case Zc.CRITICAL:return'critical';case Zc.WARN:return'warn';case Zc.INFO:return'info';case Zc.DEBUG:return'debug';default:return'none';}};xmp.util.LogLevels.fromString=function(ad){var bd=xmp.util.LogLevels;switch(ad){case'none':return bd.NONE;case'fatal':return bd.FATAL;case'critical':return bd.CRITICAL;case'warn':return bd.WARN;case'info':return bd.INFO;case'debug':return bd.DEBUG;default:return bd.NONE;}};xmp.util.Logger=function(){this._levelRef=xmp.util.LogLevels;this._commonLogLevel=this._levelRef.NONE;this._listeners=[];this._filteredCategoryMap={};};xmp.util.Logger._singeltonInstance=null;xmp.util.Logger.getInstance=function(){if(xmp.util.Logger._singeltonInstance===null){xmp.util.Logger._singeltonInstance=new xmp.util.Logger();}
return xmp.util.Logger._singeltonInstance;};xmp.util.Logger.prototype.addListener=function(cd){if(cd){for(var i=0;i<this._listeners.length;i++){if(this._listeners[i]===cd){return;}}
this._listeners.push(cd);this.listenerChanged();}};xmp.util.Logger.prototype.setCategoryFilterArray=function(dd){this._filteredCategoryMap={};for(var i=0;i<dd.length;i++){var ed=dd[i];this._filteredCategoryMap[ed]='true';}};xmp.util.Logger.prototype.fatal=function(fd,gd,hd){this._logCore(this._levelRef.FATAL,fd,gd,hd);};xmp.util.Logger.prototype.critical=function(jd,kd,ld){this._logCore(this._levelRef.CRITICAL,jd,kd,ld);};xmp.util.Logger.prototype.warn=function(md,nd,od){this._logCore(this._levelRef.WARN,md,nd,od);};xmp.util.Logger.prototype.info=function(pd,qd,rd){this._logCore(this._levelRef.INFO,pd,qd,rd);};xmp.util.Logger.prototype.debug=function(sd,td,ud){this._logCore(this._levelRef.DEBUG,sd,td,ud);};xmp.util.Logger.prototype.isFatalEnabled=function(vd){return(this._commonLogLevel>=this._levelRef.FATAL&&!this._isFilteredOut(vd));};xmp.util.Logger.prototype.isCriticalEnabled=function(wd){return(this._commonLogLevel>=this._levelRef.CRITICAL&&!this._isFilteredOut(wd));};xmp.util.Logger.prototype.isWarnEnabled=function(xd){return(this._commonLogLevel>=this._levelRef.WARN&&!this._isFilteredOut(xd));};xmp.util.Logger.prototype.isInfoEnabled=function(yd){return(this._commonLogLevel>=this._levelRef.INFO&&!this._isFilteredOut(yd));};xmp.util.Logger.prototype.isDebugEnabled=function(zd){return(this._commonLogLevel>=this._levelRef.DEBUG&&!this._isFilteredOut(zd));};xmp.util.Logger.prototype._logCore=function(Ad,Bd,Cd,Dd){if(this._commonLogLevel>=Ad&&!this._isFilteredOut(Bd)){try{for(var i=0;i<this._listeners.length;i++){this._listeners[i].handleLog(Ad,Bd,Cd,Dd);}}
catch(e){xmp.showFatalErrorMessage('Exception occurred while calling LoggerListener.handleLogMessage, disconnecting logging: .'+xmp.extractErrorMessage(e));this._commonLogLevel=this._levelRef.NONE;}}};xmp.util.Logger.prototype._isFilteredOut=function(Ed){return(this._filteredCategoryMap[Ed]==='true');};xmp.util.Logger.prototype.listenerChanged=function(){this._recalcCommonLogLevel();};xmp.util.Logger.prototype._recalcCommonLogLevel=function(){this._commonLogLevel=this._levelRef.NONE;for(var i=0;i<this._listeners.length;i++){var Fd=this._listeners[i].getLogLevel();if(Fd>this._commonLogLevel){this._commonLogLevel=Fd;}}};xmp.createNamespace("xmp.util");xmp.util.PlayableData=function(Gd){xmp.util.PlayableData.ctor.call(this);if(typeof Gd!=='string'){throw new xmp.util.internals.InvalidArgsError("Argument 'metaResourceId' must be a string.");}
this._metaResourceId=Gd;this._compositeMetaResourceId='';this._metadataMap=new xmp.util.internals.MetadataMap(false);};xmp.DERIVE_CLASS(xmp.util.Loadable,xmp.util.PlayableData);xmp.util.PlayableData.prototype._setCompositeMetaResourceId=function(Hd){this._compositeMetaResourceId=Hd;};xmp.util.PlayableData.prototype.getPlayableId=function(){return this.getDataObject().id;};xmp.util.PlayableData.prototype.getMimeTypeArray=function(){return this.getDataObject().mimeTypes;};xmp.util.PlayableData.prototype.getTotalRunTime=function(){return this.getDataObject().trt;};xmp.util.PlayableData.prototype.getMetaResourceId=function(){return this._metaResourceId;};xmp.util.PlayableData.prototype.getCompositeMetaResourceId=function(){return this._compositeMetaResourceId;};xmp.util.PlayableData.prototype.getRuntimeMetadata=function(Id,Jd){return this._metadataMap._get(Id,Jd);};xmp.util.PlayableData.prototype.setRuntimeMetadata=function(Kd,Ld){this._metadataMap._set(Kd,Ld);};xmp.util.PlayableData.prototype.reInitRuntimeMetadata=function(){this._metadataMap._reInitialize({});};xmp.util.PlayableData.prototype.getLoadableId=function(){return this.getMetaResourceId();};xmp.createNamespace("xmp.util");xmp.util.PlayerStats=function(){this._array=[];this._map={};this._packCommon();};xmp.util.PlayerStats._singeltonInstance=null;xmp.util.PlayerStats.getInstance=function(){if(xmp.util.PlayerStats._singeltonInstance===null){xmp.util.PlayerStats._singeltonInstance=new xmp.util.PlayerStats();}
return xmp.util.PlayerStats._singeltonInstance;};xmp.util.PlayerStats.prototype.setValue=function(Md,Nd){var Od=Md.toString();if(typeof(this._map[Od])==='undefined'){this._array.push(Od);}
this._map[Od]=Nd.toString();};xmp.util.PlayerStats.prototype.getValue=function(Pd){var Qd=Pd.toString();var Rd=this._map[Qd];if(typeof(Rd)==='undefined'){return'';}
return Rd;};xmp.util.PlayerStats.prototype.getKeys=function(){var Sd=[];for(var i=0;i<this._array.length;i++){Sd.push(this._array[i]);}
return Sd;};xmp.util.PlayerStats.prototype._packCommon=function(){this.setValue('sessionId',((new Date()).getTime()).toString());this.setValue('userId',xmp.util.Cookie.read('CNNid'));this.setValue('geoId',xmp.util.Cookie.read('adDEmas'));};xmp.createNamespace("xmp.util");xmp.util.PreferenceNode=function(Td,Ud,Vd){this._parent=null;this._root=null;this._isSystemNode=false;this._name='';this._absolutePath='';this._children={};this._map={};if(typeof Ud!=='string'){throw new xmp.util.internals.InvalidArgsError("Argument 'name' must be a non-null string.");}
if(Td===null){if(Ud.length>0){throw new xmp.util.internals.InvalidArgsError("Root node cannot have a name.");}
this._root=this;this._absolutePath=xmp.util.PreferenceNode._PATH_SEPARATOR;}
else{if(Ud.length===0){throw new xmp.util.internals.InvalidArgsError("Non-root node cannot have an empty name.");}
this._root=Td.getRoot();if(Td===this._root){this._absolutePath=Td.getAbsolutePath()+Ud;}
else{this._absolutePath=Td.getAbsolutePath()+xmp.util.PreferenceNode._PATH_SEPARATOR+Ud;}
Td._addChild(Ud,this);}
this._isSystemNode=Vd;this._parent=Td;this._name=Ud;};xmp.util.PreferenceNode._PATH_SEPARATOR='/';xmp.util.PreferenceNode.prototype.getAbsolutePath=function(){return this._absolutePath;};xmp.util.PreferenceNode.prototype.retrieveChildrenNames=function(){var Wd=[];var Xd='';for(Xd in this._children){Wd.push(Xd);}
return Wd.sort();};xmp.util.PreferenceNode.prototype.retrieveChildren=function(){var Yd=this.retrieveChildrenNames();var Zd=[];for(var i=0;i<Yd.length;i++){var $d=this._getChild(Yd[i]);Zd.push($d);}
return Zd;};xmp.util.PreferenceNode.prototype.retrieveKeys=function(){var ae=[];var ce='';for(ce in this._map){ae.push(ce);}
return ae.sort();};xmp.util.PreferenceNode.prototype.getName=function(){return this._name;};xmp.util.PreferenceNode.prototype.getParent=function(){return this._parent;};xmp.util.PreferenceNode.prototype.getRoot=function(){return this._root;};xmp.util.PreferenceNode.prototype.getNodeForPath=function(de){try{var ee=this._splitPathAndReturnStartingNode(de);return this._getNodeForPathRecursive(ee[0],ee[1]);}
catch(e){throw new Error("Error calling getNodeForPath: "+xmp.extractErrorMessage(e));}};xmp.util.PreferenceNode.prototype.nodeExists=function(fe){if(fe===xmp.util.PreferenceNode._PATH_SEPARATOR){return true;}
var ge=this._splitPathAndReturnStartingNode(fe);var he=ge[0];var ie=ge[1];for(var i=0;i<ie.length;i++){var je=ie[i];he=he._getChild(je);if(!he){return false;}}
return true;};xmp.util.PreferenceNode.prototype.getString=function(ke,le){xmp.validateArguments(arguments,[xmp.STRING_TYPE,xmp.STRING_TYPE],"PreferenceNode.getString");var me=this._get(ke);if(!me){return le;}
if(typeof me!=='string'){throw new Error("Found value, but was not a string.");}
return me;};xmp.util.PreferenceNode.prototype.getBoolean=function(ne,oe){xmp.validateArguments(arguments,[xmp.STRING_TYPE,xmp.BOOLEAN_TYPE],"PreferenceNode.getBoolean");var pe=this._get(ne);if(!pe){return oe;}
pe=pe.toLowerCase();if(pe==='false'){return false;}
if(pe==='true'){return true;}
throw new Error("Found value, but was not a boolean.");};xmp.util.PreferenceNode.prototype.getInt=function(qe,re){xmp.validateArguments(arguments,[xmp.STRING_TYPE,xmp.NUMBER_TYPE],"PreferenceNode.getInt");if(re!==Math.floor(re)){throw new xmp.util.internals.InvalidArgsError("The 'defaultValue' argument must be an integer.");}
var se=this._get(qe);if(!se){return re;}
if(!this._isNumber(se,false)){throw new Error("Found value, but was not an integer.");}
return parseInt(se,0);};xmp.util.PreferenceNode.prototype.getFloat=function(te,ue){xmp.validateArguments(arguments,[xmp.STRING_TYPE,xmp.NUMBER_TYPE],"PreferenceNode.getFloat");var ve=this._get(te);if(!ve){return ue;}
if(!this._isNumber(ve,true)){throw new Error("Found value, but was not a float.");}
return parseFloat(ve,0);};xmp.util.PreferenceNode.prototype._addChild=function(we,xe){this._children[we]=xe;};xmp.util.PreferenceNode.prototype._createChild=function(ye){return new xmp.util.PreferenceNode(this,ye,this._isSystemNode);};xmp.util.PreferenceNode.prototype._getChild=function(ze){return this._children[ze];};xmp.util.PreferenceNode.prototype._get=function(Ae){if(Ae.length===0){throw new xmp.util.internals.InvalidArgsError("The 'key' argument must be a non-empty string.");}
var Be=this._map[Ae];return Be;};xmp.util.PreferenceNode.prototype._addValue=function(Ce,De){this._map[Ce]=De;};xmp.util.PreferenceNode.prototype._isNumber=function(Ee,Fe){return xmp.isNumber(Ee,Fe);};xmp.util.PreferenceNode.prototype._splitPathAndReturnStartingNode=function(Ge){var He=this;var Ie=Ge.split(xmp.util.PreferenceNode._PATH_SEPARATOR);var i=0;var j=0;for(i=0,j=Ie.length;i<j;i++){if(Ie[i].length===0){if(i===0){He=this._root;}
else{throw new Error("pathName contains consecutive slashes: "+Ge,"pathName");}}}
if(Ie[0].length===0){Ie.shift();}
return[He,Ie];};xmp.util.PreferenceNode.prototype._getNodeForPathRecursive=function(Je,Ke){if(Ke.length>0){var Le=Ke[0];var Me=Je._getChild(Le);if(!Me){Me=Je._createChild(Le);Je._addChild(Le,Me);}
Je=Me;Ke.shift();return Je._getNodeForPathRecursive(Je,Ke);}
return this;};xmp.createNamespace("xmp.util");xmp.util.SettingsManager=function(){this._root=null;this._buildingRoot=null;this._backingStoreArray=[];this._context='';this._contextNode=null;this._globalContextNode=null;this._contextChangeListeners=[];};xmp.util.SettingsManager._singeltonInstance=null;xmp.util.SettingsManager.getInstance=function(){if(xmp.util.SettingsManager._singeltonInstance===null){xmp.util.SettingsManager._singeltonInstance=new xmp.util.SettingsManager();}
return xmp.util.SettingsManager._singeltonInstance;};xmp.util.SettingsManager.prototype.getRoot=function(){return this._root;};xmp.util.SettingsManager.prototype.getContextNode=function(){return this._contextNode;};xmp.util.SettingsManager.prototype.getGlobalContextNode=function(){return this._globalContextNode;};xmp.util.SettingsManager.prototype.getContext=function(){return this._context;};xmp.util.SettingsManager.prototype.init=function(Ne,Oe){this._context=(!Oe)?'':Oe;this._root=null;this._contextNode=null;this._globalContextNode=null;this._buildingRoot=null;this._backingStoreArray=[];this._backingStoreArray.push(Ne);this._build();};xmp.util.SettingsManager.prototype.addContextChangeListener=function(Pe){this._contextChangeListeners.push(Pe);};xmp.util.SettingsManager.prototype.setContext=function(Qe){this._context=(!Qe)?'':Qe;this._contextNode=null;if(this._context.length!==0){this._contextNode=this._root.getNodeForPath('/PlayerContexts/'+this._context);}
for(var i=0;i<this._contextChangeListeners.length;i++){this._contextChangeListeners[i].call();}};xmp.util.SettingsManager.prototype._build=function(){this._buildingRoot=new xmp.util.PreferenceNode(null,'',true);try{for(var i=0;i<this._backingStoreArray.length;i++){var Re=this._backingStoreArray[i];this._buildBackingStore(Re);}}
catch(e){this._backingStoreArray=[];this._buildingRoot=null;throw e;}
this._backingStoreArray=[];this._root=this._buildingRoot;this.setContext(this._context);this._globalContextNode=this._root.getNodeForPath('/PlayerContexts/Global');};xmp.util.SettingsManager.prototype._buildBackingStore=function(Se){try{var Te=Se;var Ue=this._buildingRoot;this._buildMap(Ue,Te.map);this._buildNodes(Ue,Te.nodes);}
catch(e){throw new Error("Error calling _buildBackingStore: "+xmp.extractErrorMessage(e));}};xmp.util.SettingsManager.prototype._buildNode=function(Ve,We){if(!xmp.isNonEmptyString(We.name)){throw new Error("Missing 'name' or 'name' is empty");}
var Xe=Ve.getNodeForPath(We.name);this._buildMap(Xe,We.map);this._buildNodes(Xe,We.nodes);};xmp.util.SettingsManager.prototype._buildMap=function(Ye,Ze){for(var i=0;i<Ze.length;i++){var $e=Ze[i];if(!xmp.isNonEmptyString($e.key)||(typeof $e.value!=='string')){throw new Error("Missing or empty 'key' or missing 'value'.");}
Ye._addValue($e.key,$e.value);}};xmp.util.SettingsManager.prototype._buildNodes=function(af,bf){for(var i=0;i<bf.length;i++){var cf=bf[i];this._buildNode(af,cf);}};xmp.createNamespace("xmp.util");xmp.util.Timer=function(id,df,ef,ff){xmp.validateArguments(arguments,[xmp.STRING_TYPE,xmp.NUMBER_TYPE,xmp.NUMBER_TYPE,xmp.OBJECT_TYPE],"Timer.ctor");if(id===null||id.length===0||df<0||!(ef===-1||ef>0)||ff===null){throw new xmp.util.internals.InvalidArgsError("The 'id' argument must be non-empty, "+"and the 'interval' argument must a positive integer, "+"and the 'maxRepeatCount' argument must be -1 or a positive integer, "+"and the 'callback' must be non-null.");}
this._id=id;this._interval=df;this._maxRepeatCount=ef;this._callback=ff;this._repeatCount=0;this._cookie=-1;};xmp.util.Timer._simpleIdCounter=0;xmp.util.Timer._simpleTimerMap={};xmp.util.Timer.doSimpleCallback=function(gf){xmp.util.Timer.doSimpleCallbackEx(xmp.DEFAULT_TIMER_INTERVAL,gf);};xmp.util.Timer.doSimpleCallbackEx=function(hf,jf){xmp.util.Timer._simpleIdCounter++;var id='SimpleTimer_'+xmp.util.Timer._simpleIdCounter.toString();var kf=new xmp.util.Callback(id,xmp.util.Timer._doSimpleCallbackCb,null);kf.setMetadata('relayCb',jf);var lf=new xmp.util.Timer(id,hf,1,kf);xmp.util.Timer._simpleTimerMap[lf.getId()]=lf;lf.start();};xmp.util.Timer._doSimpleCallbackCb=function(mf,nf){if(typeof(xmp.util.Timer._simpleTimerMap[nf.getId()])!=='undefined'){delete xmp.util.Timer._simpleTimerMap[nf.getId()];}
var of=mf.getMetadata('relayCb',xmp.util.internals.MetadataMap.defaultObj);of.call();};xmp.util.Timer.prototype.getId=function(){return this._id;};xmp.util.Timer.prototype.isRunning=function(){return(this._cookie!==-1);};xmp.util.Timer.prototype.start=function(){this.stop();this._repeatCount=0;var pf=this;this._cookie=window.setInterval(function(){pf._timerCallback();},this._interval);};xmp.util.Timer.prototype.stop=function(){if(this._cookie!==-1){window.clearInterval(this._cookie);this._cookie=-1;}};xmp.util.Timer.prototype._timerCallback=function(){if(!this.isRunning()){return;}
try{this._callback.call(this);}
catch(ex){xmp.util.internals.CategoryLogger.create('Timer').warn('Exception calling timer calback.',ex);}
if(!this.isRunning()){return;}
this._repeatCount++;if(this._maxRepeatCount!==-1&&this._repeatCount>=this._maxRepeatCount){this.stop();}};xmp.createNamespace("xmp.util");xmp.util.Version=function(){};xmp.util.Version.getAsString=function(){var qf="0.0.0.0";return qf;};xmp.XmpErrorCodes=function(){};xmp.XmpErrorCodes.NONE=0;xmp.XmpErrorCodes.FATAL_UNSPECIFIED_ERROR=1;xmp.XmpErrorCodes.FATAL_PLATFORM=1000;xmp.XmpErrorCodes.FATAL_PLUGIN=2000;xmp.XmpErrorCodes.FATAL_PLUGIN_INIT=2100;xmp.XmpErrorCodes.CRITICAL_UNSPECIFIED_AJAX_ERROR=5000;xmp.XmpErrorCodes.CRITICAL_FIRST_FRAME_TIMEOUT=6000;xmp.XmpErrorCodes.CRITICAL_PLAYER_CONNECTION=7000;xmp.XmpErrorCodes._calc=function(rf){var sf=xmp.XmpErrorCodes;if(typeof rf==='number'){var tf='';for(tf in sf){var v=sf[tf];if(v===rf){return rf;}}}
return sf.NONE;};xmp.XmpErrorCodes.stringify=function(uf){var vf=xmp.XmpErrorCodes;var wf=vf._calc(uf);switch(wf){case vf.NONE:return'none';case vf.FATAL_UNSPECIFIED_ERROR:return'fatal_unspecified_error';case vf.FATAL_PLATFORM:return'Unsupported Platform (fatal error)';case vf.FATAL_PLUGIN:return'Plugin Not Found (fatal error)';case vf.FATAL_PLUGIN_INIT:return'Plugin Timeout (fatal error)';case vf.CRITICAL_UNSPECIFIED_AJAX_ERROR:return'Unspecified Ajax Error (critical error)';case vf.CRITICAL_FIRST_FRAME_TIMEOUT:return'Video First Frame Timeout (critical error)';case vf.CRITICAL_PLAYER_CONNECTION:return'Video Connection Problem (critical error)';default:return'none';}};var Base64={_keyStr:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",encode:function(xf){var yf="";var zf,chr2,chr3,enc1,enc2,enc3,enc4;var i=0;xf=Base64._utf8_encode(xf);while(i<xf.length){zf=xf.charCodeAt(i);i++;chr2=xf.charCodeAt(i);i++;chr3=xf.charCodeAt(i);i++;enc1=zf>>2;enc2=((zf&3)<<4)|(chr2>>4);enc3=((chr2&15)<<2)|(chr3>>6);enc4=chr3&63;if(isNaN(chr2)){enc3=enc4=64;}else if(isNaN(chr3)){enc4=64;}
yf=yf+this._keyStr.charAt(enc1)+this._keyStr.charAt(enc2)+this._keyStr.charAt(enc3)+this._keyStr.charAt(enc4);}
return yf;},decode:function(Af){var Bf="";var Cf,chr2,chr3;var Df,enc2,enc3,enc4;var i=0;Af=Af.replace(/[^A-Za-z0-9\+\/\=]/g,"");while(i<Af.length){Df=this._keyStr.indexOf(Af.charAt(i));i++;enc2=this._keyStr.indexOf(Af.charAt(i));i++;enc3=this._keyStr.indexOf(Af.charAt(i));i++;enc4=this._keyStr.indexOf(Af.charAt(i));i++;Cf=(Df<<2)|(enc2>>4);chr2=((enc2&15)<<4)|(enc3>>2);chr3=((enc3&3)<<6)|enc4;Bf=Bf+String.fromCharCode(Cf);if(enc3!=64){Bf=Bf+String.fromCharCode(chr2);}
if(enc4!=64){Bf=Bf+String.fromCharCode(chr3);}}
Bf=Base64._utf8_decode(Bf);return Bf;},_utf8_encode:function(Ef){Ef=Ef.replace(/\r\n/g,"\n");var Ff="";for(var n=0;n<Ef.length;n++){var c=Ef.charCodeAt(n);if(c<128){Ff+=String.fromCharCode(c);}
else if((c>127)&&(c<2048)){Ff+=String.fromCharCode((c>>6)|192);Ff+=String.fromCharCode((c&63)|128);}
else{Ff+=String.fromCharCode((c>>12)|224);Ff+=String.fromCharCode(((c>>6)&63)|128);Ff+=String.fromCharCode((c&63)|128);}}
return Ff;},_utf8_decode:function(Gf){var Hf="";var i=0;var c=0;var c1=0;var c2=0;var c3=0;while(i<Gf.length){c=Gf.charCodeAt(i);if(c<128){Hf+=String.fromCharCode(c);i++;}
else if((c>191)&&(c<224)){c2=Gf.charCodeAt(i+1);Hf+=String.fromCharCode(((c&31)<<6)|(c2&63));i+=2;}
else{c2=Gf.charCodeAt(i+1);c3=Gf.charCodeAt(i+2);Hf+=String.fromCharCode(((c&15)<<12)|((c2&63)<<6)|(c3&63));i+=3;}}
return Hf;}};xmp.createNamespace("xmp.util.internals");xmp.util.internals.BrowserDetect={init:function(){this.browser=this.searchString(this.dataBrowser)||"An unknown browser";this.version=this.searchVersion(navigator.userAgent)||this.searchVersion(navigator.appVersion)||"an unknown version";this.OS=this.searchString(this.dataOS)||"an unknown OS";},searchString:function(If){for(var i=0;i<If.length;i++){var Jf=If[i].string;var Kf=If[i].prop;this.versionSearchString=If[i].versionSearch||If[i].identity;if(Jf){if(Jf.indexOf(If[i].subString)!=-1)return If[i].identity;}
else if(Kf)return If[i].identity;}
return"";},searchVersion:function(Lf){var Mf=Lf.indexOf(this.versionSearchString);if(Mf==-1){return"";}
return parseFloat(Lf.substring(Mf+this.versionSearchString.length+1));},dataBrowser:[{string:navigator.userAgent,subString:"OmniWeb",versionSearch:"OmniWeb/",identity:"OmniWeb"},{string:navigator.vendor,subString:"Apple",identity:"Safari"},{prop:window.opera,identity:"Opera"},{string:navigator.vendor,subString:"iCab",identity:"iCab"},{string:navigator.vendor,subString:"KDE",identity:"Konqueror"},{string:navigator.userAgent,subString:"Firefox",identity:"Firefox"},{string:navigator.vendor,subString:"Camino",identity:"Camino"},{string:navigator.userAgent,subString:"SeaMonkey",identity:"SeaMonkey"},{string:navigator.userAgent,subString:"Netscape",identity:"Netscape"},{string:navigator.userAgent,subString:"MSIE",identity:"Explorer",versionSearch:"MSIE"},{string:navigator.userAgent,subString:"Gecko",identity:"Mozilla",versionSearch:"rv"},{string:navigator.userAgent,subString:"Mozilla",identity:"Netscape",versionSearch:"Mozilla"}],dataOS:[{string:navigator.platform,subString:"Win",identity:"Windows"},{string:navigator.platform,subString:"Mac",identity:"Mac"},{string:navigator.platform,subString:"Linux",identity:"Linux"}]};xmp.util.internals.BrowserDetect.init();xmp.createNamespace("xmp.util.internals");xmp.util.internals.CategoryLogger=function(Nf){this._logger=xmp.util.Logger.getInstance();this._category=(Nf&&Nf.length>0)?Nf:"NULL CATEGORY";};xmp.util.internals.CategoryLogger.create=function(Of){return new xmp.util.internals.CategoryLogger(Of);};xmp.util.internals.CategoryLogger.prototype.fatal=function(Pf,Qf){this._logger.fatal(this._category,Pf,Qf);};xmp.util.internals.CategoryLogger.prototype.critical=function(Rf,Sf){this._logger.critical(this._category,Rf,Sf);};xmp.util.internals.CategoryLogger.prototype.warn=function(Tf,Uf){this._logger.warn(this._category,Tf,Uf);};xmp.util.internals.CategoryLogger.prototype.info=function(Vf,Wf){this._logger.info(this._category,Vf,Wf);};xmp.util.internals.CategoryLogger.prototype.debug=function(Xf,Yf){this._logger.debug(this._category,Xf,Yf);};xmp.util.internals.CategoryLogger.prototype.isWarnEnabled=function(){return this._logger.isWarnEnabled(this._category);};xmp.util.internals.CategoryLogger.prototype.isInfoEnabled=function(){return this._logger.isInfoEnabled(this._category);};xmp.util.internals.CategoryLogger.prototype.isDebugEnabled=function(){return this._logger.isDebugEnabled(this._category);};xmp.createNamespace("xmp.util.internals");xmp.util.internals.MetadataMap=function(Zf){xmp.validateArguments(arguments,[xmp.BOOLEAN_TYPE],"MetadataMap.ctor");this._readOnly=Zf;this._wrappedMetadata={};};xmp.util.internals.MetadataMap.defaultObj={};xmp.util.internals.MetadataMap.prototype._isReadOnly=function(){return this._readOnly;};xmp.util.internals.MetadataMap.prototype._get=function($f,ag){if(!((arguments.length===2)&&xmp.isNonEmptyString($f))){throw new xmp.util.internals.InvalidArgsError("Invalid 'key' (undefined, null, or empty).");}
var bg=this._wrappedMetadata[$f];return xmp.chooseValueOrDefault(bg,ag);};xmp.util.internals.MetadataMap.prototype._set=function(cg,dg){if(this._readOnly){throw new xmp.playlistapi.internals.PlayListError("Cannot modify readonly MetadataMap");}
if(!xmp.isNonEmptyString(cg)||typeof dg==="undefined"){throw new xmp.util.internals.InvalidArgsError("Invalid key (null or empty) or invalid value (undefined)");}
this._wrappedMetadata[cg]=dg;};xmp.util.internals.MetadataMap.prototype._remove=function(eg){if(!xmp.isNonEmptyString(eg)){throw new xmp.util.internals.InvalidArgsError("Invalid key (null or empty)");}
if(typeof(this._wrappedMetadata[eg])!=='undefined'){delete this._wrappedMetadata[eg];}};xmp.util.internals.MetadataMap.prototype._reInitialize=function(fg){this._wrappedMetadata=fg;};xmp.util.internals.MetadataMap.prototype._getClonedWrappedMetadata=function(){var gg={};var hg='';for(hg in this._wrappedMetadata){var ig=this._wrappedMetadata[hg];gg[hg]=ig;}
return gg;};xmp.createNamespace("xmp.util.internals");xmp.util.internals.NullLoggerListener=function(){};xmp.util.internals.NullLoggerListener.prototype.handleLogMessage=function(jg,kg,lg){};xmp.createNamespace("xmp.util.internals");xmp.util.internals.UnsupportedOperationError=function(mg){xmp.util.internals.UnsupportedOperationError.ctor.call(this,"UnsupportedOperationError",null,mg);};xmp.DERIVE_CLASS(xmp.util.internals.XMPError,xmp.util.internals.UnsupportedOperationError);