function printStackTrace(a){var b=a&&a.e?a.e:null,c=!a||!!a.guess,d=Object.create(printStackTrace_impl),e=d.run(b);return c?d.guessFunctions(e):e}function buildStack(a){null==a&&(a="
");for(var b=printStackTrace(),c=0;c<5;c++)b.shift();return a+b.join(a)+a}var AR=AR||{};if(AR.build=AR.build||{},!AR.build.mobile){var AR=AR||{};AR.build=AR.build||{},AR.build.desktop=!0,AR=AR||{},AR.js=AR.js||{},AR.js.clickbuster={},AR.js.clickbuster.preventGhostClick=function(a,b){AR.js.clickbuster.coordinates.push(a,b),window.setTimeout(AR.js.clickbuster.pop,2500)},AR.js.clickbuster.pop=function(){AR.js.clickbuster.coordinates.splice(0,2)},AR.js.clickbuster.coordinates=[],AR.js.click={},AR.js.click.onClickTrigger=function(a){for(var b=0;b0&&c.length>c.indexOf("#")+1&&(c=c.substring(0,c.lastIndexOf("#")),"/"===c[c.length-1]&&(c+="/")),c=c.substring(0,c.lastIndexOf("/")+1);var d=b+c;return"/"!==d[d.length-1]&&(d+="/"),"/"===a[0]&&(d=d.substring(0,d.indexOf("/",d.indexOf("//")+2))),d+a},AR.VALIDATE={HEX_CHARS:"0123456789ABCDEF",isDefined:function(a){return!(null==a||void 0==a)},isBoolean:function(a){return"boolean"==typeof a},isNumeric:function(a){return"number"==typeof a},isPositive:function(a){return this.isNumeric(a)&&a>0},isNonNegative:function(a){return this.isNumeric(a)&&a>=0},isInRange:function(a,b,c){return this.isNumeric(a)&&a>=b&&a<=c},isFunction:function(a){return"function"==typeof a},isWholeNumber:function(a){return this.isNumeric(a)&&Math.round(a)==a},isTypeOf:function(a,b){return a instanceof b},isString:function(a){return"string"==typeof a},isArrayOf:function(a,b){if(!(a instanceof Array))return!1;for(var c=0;c");break;case AR.EXCEPTION.TYPE.INVALID_VALUE:e=AR.EXCEPTION.EXCEPTION_PREFIX+a+" is invalid"+buildStack("
");break;case AR.EXCEPTION.TYPE.RANGE:e=AR.EXCEPTION.EXCEPTION_PREFIX+a+" is not in the valid range "+c+buildStack("
");break;case AR.EXCEPTION.TYPE.ENUMERATION:e=AR.EXCEPTION.EXCEPTION_PREFIX+a+" is not one of the allowed values defined in the 'enumeration-object' "+c+buildStack("
");break;case AR.EXCEPTION.TYPE.FLOAT:e=AR.EXCEPTION.EXCEPTION_PREFIX+a+" is not a numeric value."+buildStack("
");break;case AR.EXCEPTION.TYPE.INT:e=AR.EXCEPTION.EXCEPTION_PREFIX+a+" is not a whole number."+buildStack("
");break;case AR.EXCEPTION.TYPE.BOOLEAN:e=AR.EXCEPTION.EXCEPTION_PREFIX+a+" is not a boolean value."+buildStack("
");break;case AR.EXCEPTION.TYPE.ARRAY_CONTENT:e=AR.EXCEPTION.EXCEPTION_PREFIX+a+" contains invalid values in the array."+buildStack("
");break;case AR.EXCEPTION.TYPE.OBJECT:e=AR.EXCEPTION.EXCEPTION_PREFIX+a+" of object type "+d+" is not of the expected object type "+c+buildStack("
");break;case AR.EXCEPTION.TYPE.IMMUTABLE:e=AR.EXCEPTION.EXCEPTION_PREFIX+a+" must not be altered."+buildStack("
");break;case AR.EXCEPTION.TYPE.HEX:e=AR.EXCEPTION.EXCEPTION_PREFIX+a+" is not a valid hex value."+buildStack("
");break;case AR.EXCEPTION.TYPE.UNKNOWN_PROPERTY:e=AR.EXCEPTION.EXCEPTION_PREFIX+"Property "+a+" cannot be found."+buildStack("
");break;case AR.EXCEPTION.TYPE.STRING:e=AR.EXCEPTION.EXCEPTION_PREFIX+a+" is not a String value."+buildStack("
");break;case AR.EXCEPTION.TYPE.DOM_ELEMENT:e=AR.EXCEPTION.EXCEPTION_PREFIX+a+" is not a DOM element."+buildStack("
");break;case AR.EXCEPTION.TYPE.TYPE_OBJECT:e=AR.EXCEPTION.EXCEPTION_PREFIX+a+" is not an Object."+buildStack("
");break;case AR.EXCEPTION.TYPE.ILLEGAL_STATE:e=AR.EXCEPTION.EXCEPTION_PREFIX+a+" may only be changed during state "+c+". Current state is: "+d+"."+buildStack("
")}return AR.logger.error(e),e},TYPE:{UNDEFINED:"___UNDEFINED___",INVALID_VALUE:"___INVALID___",RANGE:"___RANGE___",FLOAT:"___FLOAT___",INT:"___INT___",BOOLEAN:"___BOOLEAN___",ARRAY_CONTENT:"___ARRAY_CONTENT___",OBJECT:"___OBJECT___",IMMUTABLE:"___IMMUTABLE___",HEX:"___HEX___",UNKNOWN_PROPERTY:"___UNKNOWN_PROPERTY___",STRING:"___STRING___",ENUMERATION:"___ENUMERATION___",DOM_ELEMENT:"___DOM_ELEMENT___",TYPE_OBJECT:"___TYPE_OBJECT___",ILLEGAL_STATE:"___ILLEGAL_STATE___"}},_PROPERTY_VALIDATOR={TYPE:{FUNCTION:1,BOOLEAN:2,STRING:3,POSITIVE:4,UNIT_INTERVAL:5,CLASS:6,ARRAY:7,ARRAY_OR_PROPERTY:8,NUMERIC:9,POSITIVE_INT:10,NON_NEGATIVE_INT:11,INT:12,RGBA:13,NON_NEGATIVE:14,DOM_ELEMENT:15,OBJECT:16},RULE:{MUST_BE_SET:0,CAN_BE_EMPTY:1},validate:function(a,b,c,d,e){var f=!0;switch(d){case _PROPERTY_VALIDATOR.RULE.CAN_BE_EMPTY:if(null==b||void 0==b){f=!1;break}break;case _PROPERTY_VALIDATOR.RULE.MUST_BE_SET:if(null==b||void 0==b)throw AR.EXCEPTION.create(a,AR.EXCEPTION.TYPE.UNDEFINED)}if(f&&c)switch(c.type||(c={type:c}),c.type){case _PROPERTY_VALIDATOR.TYPE.FUNCTION:if("function"==typeof b)break;throw AR.EXCEPTION.create(a,AR.EXCEPTION.TYPE.OBJECT,"function",typeof b);case _PROPERTY_VALIDATOR.TYPE.BOOLEAN:if("boolean"==typeof b)break;throw AR.EXCEPTION.create(a,AR.EXCEPTION.TYPE.BOOLEAN);case _PROPERTY_VALIDATOR.TYPE.STRING:if("string"==typeof b)break;throw AR.EXCEPTION.create(a,AR.EXCEPTION.TYPE.STRING);case _PROPERTY_VALIDATOR.TYPE.NUMERIC:if("number"!=typeof b)throw AR.EXCEPTION.create(a,AR.EXCEPTION.TYPE.FLOAT);break;case _PROPERTY_VALIDATOR.TYPE.UNIT_INTERVAL:if((b=_PROPERTY_VALIDATOR.validate(a,b,_PROPERTY_VALIDATOR.TYPE.NUMERIC,d,e))<0||b>1)throw AR.EXCEPTION.create(a,AR.EXCEPTION.TYPE.RANGE,"[0, 1]");break;case _PROPERTY_VALIDATOR.TYPE.POSITIVE:if((b=_PROPERTY_VALIDATOR.validate(a,b,_PROPERTY_VALIDATOR.TYPE.NUMERIC,d,e))<=0)throw AR.EXCEPTION.create(a,AR.EXCEPTION.TYPE.RANGE,"(0, infinity)");break;case _PROPERTY_VALIDATOR.TYPE.NON_NEGATIVE:if((b=_PROPERTY_VALIDATOR.validate(a,b,_PROPERTY_VALIDATOR.TYPE.NUMERIC,d,e))<0)throw AR.EXCEPTION.create(a,AR.EXCEPTION.TYPE.RANGE,"[0, infinity)");break;case _PROPERTY_VALIDATOR.TYPE.POSITIVE_INT:if((b=_PROPERTY_VALIDATOR.validate(a,b,_PROPERTY_VALIDATOR.TYPE.INT,d,e))<=0)throw AR.EXCEPTION.create(a,AR.EXCEPTION.TYPE.RANGE,"(0, infinity)");break;case _PROPERTY_VALIDATOR.TYPE.INT:if("number"!=typeof b)throw AR.EXCEPTION.create(a,AR.EXCEPTION.TYPE.FLOAT);if(Math.round(b)!=b)throw AR.EXCEPTION.create(a,AR.EXCEPTION.TYPE.INT);break;case _PROPERTY_VALIDATOR.TYPE.NON_NEGATIVE_INT:if((b=_PROPERTY_VALIDATOR.validate(a,b,_PROPERTY_VALIDATOR.TYPE.INT,d,e))<=0)throw AR.EXCEPTION.create(a,AR.EXCEPTION.TYPE.RANGE,"(0, infinity)");break;case _PROPERTY_VALIDATOR.TYPE.CLASS:if(b instanceof c.ofType)break;throw AR.EXCEPTION.create(a,AR.EXCEPTION.TYPE.OBJECT,c.ofType);case _PROPERTY_VALIDATOR.TYPE.ARRAY:if(!(b instanceof Array))throw AR.EXCEPTION.create(a,AR.EXCEPTION.TYPE.ARRAY_CONTENT);for(var g=0;g100)throw AR.EXCEPTION.create(a,AR.EXCEPTION.TYPE.RANGE,"(0, 100)");return b}),f=a,AR.i.callAsync({is:"AR.i.hardwareInterface.camera_setCameraManualFocusDistance",distance:a})}),this.setFocusPointOfInterest=function(a){AR.i.callAsync({is:"AR.i.hardwareInterface.camera_setFocusPointOfInterest",x:a.x,y:a.y})},this.setExposurePointOfInterest=function(a){AR.i.callAsync({is:"AR.i.hardwareInterface.camera_setExposurePointOfInterest",x:a.x,y:a.y})},this.__defineGetter__("features",function(){return AR.i.callSync({is:"AR.i.hardwareInterface.getCameraFeatures"})}),this.__defineSetter__("features",function(){throw AR.EXCEPTION.create("features",AR.EXCEPTION.TYPE.IMMUTABLE)}),this.__defineGetter__("onError",function(){return g}),this.__defineSetter__("onError",function(a){g=_PROPERTY_VALIDATOR.validate("onError",a,_PROPERTY_VALIDATOR.TYPE.FUNCTION,_PROPERTY_VALIDATOR.RULE.MUST_BE_SET),AR.i.callAsync({is:"AR.i.hardwareInterface.camera_setOnErrorTriggerActive",onErrorTriggerActive:null!==g})})},b=function(){_enabled=!0,this.__defineGetter__("enabled",function(){return _enabled}),this.__defineSetter__("enabled",function(a){a=_PROPERTY_VALIDATOR.validate("sensors.enabled",a,_PROPERTY_VALIDATOR.TYPE.BOOLEAN,_PROPERTY_VALIDATOR.RULE.MUST_BE_SET),_enabled=a,AR.i.callAsync({is:"AR.i.hardwareInterface.setServiceEnabled",service:"sensors",enabled:_enabled})});var a=function(){this.__defineGetter__("correctionAngle",function(){return AR.i.callSync({is:"AR.i.hardwareInterface.compass_getCorrectionAngle"})}),this.__defineSetter__("correctionAngle",function(a){a=_PROPERTY_VALIDATOR.validate("correctionAngle",a,_PROPERTY_VALIDATOR.TYPE.NON_NEGATIVE,_PROPERTY_VALIDATOR.RULE.MUST_BE_SET),AR.i.callAsync({is:"AR.i.hardwareInterface.compass_setCorrectionAngle",correctionAngle:a})})},b=new a;this.__defineGetter__("compass",function(){return b}),this.__defineSetter__("compass",function(){throw AR.EXCEPTION.create("compass",AR.EXCEPTION.TYPE.IMMUTABLE)})},c=this,d=function(){this.SmartAvailability={INDETERMINATE_QUERY_FAILED:0,CHECKING_QUERY_ONGOING:1,UNSUPPORTED:2,SUPPORTED_UPDATE_REQUIRED:3,SUPPORTED:4},this.isPlatformAssistedTrackingSupported=function(){AR.i.callAsync({is:"AR.i.hardwareInterface.arKitCore_isDeviceSupported"})},this.__defineSetter__("onPlatformAssistedTrackingAvailabilityChanged",function(a){a=c.validateFunction("onPlatformAssistedTrackingAvailabilityChanged",a),_onPlatformAssistedTrackingAvailabilityChanged=a,AR.i.callAsync({is:"AR.i.hardwareInterface.setOnPlatformAssistedTrackingAvailabilityChangedTriggerActive",onPlatformAssistedTrackingAvailabilityChangedTriggerActive:null!=_onPlatformAssistedTrackingAvailabilityChanged})}),this.__defineGetter__("onPlatformAssistedTrackingAvailabilityChanged",function(){return _onPlatformAssistedTrackingAvailabilityChanged})},e=new a;this.__defineGetter__("camera",function(){return e}),this.__defineSetter__("camera",function(){throw AR.EXCEPTION.create("camera",AR.EXCEPTION.TYPE.IMMUTABLE)});var f=new b;this.__defineGetter__("sensors",function(){return f}),this.__defineSetter__("sensors",function(){throw AR.EXCEPTION.create("sensors",AR.EXCEPTION.TYPE.IMMUTABLE)});var g=new d;this.__defineGetter__("smart",function(){return g}),this.__defineSetter__("smart",function(){throw AR.EXCEPTION.create("smart",AR.EXCEPTION.TYPE.IMMUTABLE)}),AR.OneTimeUseContextConstructionPlan=null}}), AR.hardware=new AR.OneTimeUseContextConstructionPlan,AR.OneTimeUseLoggerConstructionPlan=function(){var a=!1,b=[],c=null,d=!1,e=!1,f=[],g=[];this.registerRegistrar=function(a,b){c=a,e=b||!1},this.changeHTMLLogLevelEnabled=function(a,b){b?-1==f.indexOf(a)&&f.push(a):-1!=f.indexOf(a)&&f.splice(f.indexOf(a),1),i()},this.changePlatformLogLevelEnabled=function(a,b){b?-1==g.indexOf(a)&&g.push(a):-1!=g.indexOf(a)&&g.splice(g.indexOf(a),1)},this.toggleLogLevelEnabled=function(a){this.changeHTMLLogLevelEnabled(a,-1==f.indexOf(a))},this.togglePlatformLogLevelEnabled=function(a){this.changePlatformLogLevelEnabled(a,-1==g.indexOf(a))},this.error=function(a){h(new AR.__LOGGER_MESSAGE__("ERROR",a))},this.warning=function(a){h(new AR.__LOGGER_MESSAGE__("WARNING",a))},this.info=function(a){h(new AR.__LOGGER_MESSAGE__("INFO",a))},this.debug=function(a){h(new AR.__LOGGER_MESSAGE__("DEBUG",a))};var h=function(a){c&&(b.push(a),-1!=f.indexOf(a.type)&&c.appendLine(a.toString(e),a.color)),d&&-1!=g.indexOf(a.type)&&AR.i.callAsync({is:"AR.i.platformInterface.log",logLevel:g.indexOf(a.type),message:a.message})},i=function(){if(c){c.clearConsole();for(var a=b.length,d=0;d"+b+"":b};var c=function(a){var b=a.getHours(),c=a.getMinutes(),e=a.getSeconds();return d(b)+":"+d(c)+":"+d(e)},d=function(a){return a<10?"0"+a:a}},AR.OneTimeUseRadarConstructionPlan=PClass.create({init:function(){var a,b,c,d=null,e=!1,f=.5,g=.5,h=.5,i=new AR._NorthIndicator,j=0,k=0,l=this;this.__defineSetter__("enabled",function(a){a=_PROPERTY_VALIDATOR.validate("enabled",a,_PROPERTY_VALIDATOR.TYPE.BOOLEAN,_PROPERTY_VALIDATOR.RULE.MUST_BE_SET),e=a,AR.i.callAsync({is:"AR.i.radarInterface.setEnabled",enabled:a})}),this.__defineGetter__("enabled",function(){return e}),this.__defineSetter__("background",function(b){b=_PROPERTY_VALIDATOR.validate("background",b,{type:_PROPERTY_VALIDATOR.TYPE.CLASS,ofType:AR.ImageResource},_PROPERTY_VALIDATOR.RULE.MUST_BE_SET),a=b,AR.i.callAsync({is:"AR.i.radarInterface.setBackground",backgroundId:null==b||void 0==b?null:b.__id})}),this.__defineGetter__("background",function(){return a}),this.__defineSetter__("centerX",function(a){a=_PROPERTY_VALIDATOR.validate("centerX",a,_PROPERTY_VALIDATOR.TYPE.UNIT_INTERVAL,_PROPERTY_VALIDATOR.RULE.MUST_BE_SET),f=a,AR.i.callAsync({is:"AR.i.radarInterface.setCenterX",centerX:a})}),this.__defineGetter__("centerX",function(){return f}),this.__defineSetter__("centerY",function(a){a=_PROPERTY_VALIDATOR.validate("centerY",a,_PROPERTY_VALIDATOR.TYPE.UNIT_INTERVAL,_PROPERTY_VALIDATOR.RULE.MUST_BE_SET),g=a,AR.i.callAsync({is:"AR.i.radarInterface.setCenterY",centerY:a})}),this.__defineGetter__("centerY",function(){return g}),this.__defineSetter__("radius",function(a){a=_PROPERTY_VALIDATOR.validate("radius",a,_PROPERTY_VALIDATOR.TYPE.UNIT_INTERVAL,_PROPERTY_VALIDATOR.RULE.MUST_BE_SET),h=a,AR.i.callAsync({is:"AR.i.radarInterface.setRadius",radius:a})}),this.__defineGetter__("radius",function(){return h}),this.__defineSetter__("container",function(a){_PROPERTY_VALIDATOR.validate("container",a,_PROPERTY_VALIDATOR.TYPE.DOM_ELEMENT,_PROPERTY_VALIDATOR.RULE.MUST_BE_SET),d=a,this.notifyUpdateRadarPosition()}),this.__defineGetter__("container",function(){return d}),this.__defineSetter__("maxDistance",function(a){a=_PROPERTY_VALIDATOR.validate("maxDistance",a,_PROPERTY_VALIDATOR.TYPE.POSITIVE,_PROPERTY_VALIDATOR.RULE.CAN_BE_EMPTY),b=a,AR.i.callAsync({is:"AR.i.radarInterface.setMaxDistance",maxDistance:a||-1})}),this.__defineGetter__("maxDistance",function(){return b}),this.__defineSetter__("northIndicator",function(a){throw AR.EXCEPTION.create("northIndicator",AR.EXCEPTION.TYPE.IMMUTABLE)}),this.__defineGetter__("northIndicator",function(){return i}),this.__defineSetter__("onClick",function(a){a=_PROPERTY_VALIDATOR.validate("onClick",a,_PROPERTY_VALIDATOR.TYPE.FUNCTION,_PROPERTY_VALIDATOR.RULE.CAN_BE_EMPTY),c=a,AR.i.callAsync({is:"AR.i.radarInterface.setOnClickTriggerActive",onClickTriggerActive:null!=a})}),this.__defineGetter__("onClick",function(){return c}),this.notifyUpdateRadarPositionHelper=function(a,b,c){var d=a.left/b,e=a.right/b,f=a.top/c,g=a.bottom/c;AR.i.callAsync({is:"AR.i.radarInterface.setBoundingBox",left:d,right:e,top:f,bottom:g})},this.notifyUpdateRadarPosition=function(){if(d){var a=0,b=0;if(0===j&&0===k)a=window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth,j=a,b=window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight,k=b,l.notifyUpdateRadarPositionHelper(d.getBoundingClientRect(),a,b);else{var c=setInterval(function(){if(a=window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth,b=window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight,a!==j&&b!==k){j=a,k=b;var c=d.getBoundingClientRect();l.notifyUpdateRadarPositionHelper(c,a,b)}},10);setTimeout(function(){clearInterval(c)},250)}}},AR.OneTimeUseRadarConstructionPlan=null}}),AR._NorthIndicator=PClass.create({init:function(){var a,b=.5;this.__defineSetter__("image",function(b){b=_PROPERTY_VALIDATOR.validate("northIndicator.image",b,{type:_PROPERTY_VALIDATOR.TYPE.CLASS,ofType:AR.ImageResource},_PROPERTY_VALIDATOR.RULE.CAN_BE_EMPTY),a=b,AR.i.callAsync({is:"AR.i.radarInterface.setNorthIndicatorImage",northIndicatorImageId:null==b||void 0==b?null:b.__id})}),this.__defineGetter__("image",function(){return a}),this.__defineSetter__("radius",function(a){a=_PROPERTY_VALIDATOR.validate("northIndicator.radius",a,_PROPERTY_VALIDATOR.TYPE.UNIT_INTERVAL,_PROPERTY_VALIDATOR.RULE.MUST_BE_SET),b=a,AR.i.callAsync({is:"AR.i.radarInterface.setNorthIndicatorRadius",northIndicatorRadius:a})}),this.__defineGetter__("radius",function(){return b})}}),AR.radar=new AR.OneTimeUseRadarConstructionPlan,window.addEventListener("orientationchange",AR.radar.notifyUpdateRadarPosition),window.addEventListener("resize",AR.radar.notifyUpdateRadarPosition),AR.VideoDrawable=AR.Drawable2D.extend({init:function(a,b,c){var d,e,f,g,h=_PROPERTY_VALIDATOR.validate("height",b,_PROPERTY_VALIDATOR.TYPE.NON_NEGATIVE,_PROPERTY_VALIDATOR.RULE.MUST_BE_SET),i=this.validateUri(a),j=!1;null!=c&&(null!=c.onLoaded&&(d=_PROPERTY_VALIDATOR.validate("onLoaded",c.onLoaded,_PROPERTY_VALIDATOR.TYPE.FUNCTION,_PROPERTY_VALIDATOR.RULE.CAN_BE_EMPTY)),null!=c.onPlaybackStarted&&(e=_PROPERTY_VALIDATOR.validate("onPlaybackStarted",c.onPlaybackStarted,_PROPERTY_VALIDATOR.TYPE.FUNCTION,_PROPERTY_VALIDATOR.RULE.CAN_BE_EMPTY)),null!=c.onFinishedPlaying&&(f=_PROPERTY_VALIDATOR.validate("onFinishedPlaying",c.onFinishedPlaying,_PROPERTY_VALIDATOR.TYPE.FUNCTION,_PROPERTY_VALIDATOR.RULE.CAN_BE_EMPTY)),null!=c.onError&&(g=_PROPERTY_VALIDATOR.validate("onError",c.onError,_PROPERTY_VALIDATOR.TYPE.FUNCTION,_PROPERTY_VALIDATOR.RULE.CAN_BE_EMPTY)),null!=c.isTransparent&&(j=_PROPERTY_VALIDATOR.validate("isTransparent",c.isTransparent,_PROPERTY_VALIDATOR.TYPE.BOOLEAN,_PROPERTY_VALIDATOR.RULE.CAN_BE_EMPTY)));var k=this._super(AR.CONST.HORIZONTAL_ANCHOR.CENTER,AR.CONST.VERTICAL_ANCHOR.MIDDLE,c);this.__defineSetter__("height",function(a){a=_PROPERTY_VALIDATOR.validate("height",a,_PROPERTY_VALIDATOR.TYPE.NON_NEGATIVE,_PROPERTY_VALIDATOR.RULE.MUST_BE_SET),AR.i.callAsync({is:"AR.i.videoDrawableInterface.setHeight",objectId:this.__id,height:a}),h=a}),this.__defineGetter__("height",function(){return this.__isDirty("height")&&AR.i.callSync({is:"AR.i.videoDrawableInterface.getHeight",objectId:this.__id}),h}),this.__defineSetter__("onLoaded",function(a){a=_PROPERTY_VALIDATOR.validate("onLoaded",a,_PROPERTY_VALIDATOR.TYPE.FUNCTION,_PROPERTY_VALIDATOR.RULE.CAN_BE_EMPTY),d=a,AR.i.callAsync({is:"AR.i.videoDrawableInterface.setOnLoadedTriggerActive",objectId:m,onLoadedTriggerActive:null!=a})}),this.__defineGetter__("onLoaded",function(){return d}),this.__defineSetter__("onPlaybackStarted",function(a){a=_PROPERTY_VALIDATOR.validate("onPlaybackStarted",a,_PROPERTY_VALIDATOR.TYPE.FUNCTION,_PROPERTY_VALIDATOR.RULE.CAN_BE_EMPTY),e=a,AR.i.callAsync({is:"AR.i.videoDrawableInterface.setOnPlaybackStartedTriggerActive",objectId:m,onPlaybackStartedTriggerActive:null!=a})}),this.__defineGetter__("onPlaybackStarted",function(){return e}),this.__defineSetter__("onFinishedPlaying",function(a){a=_PROPERTY_VALIDATOR.validate("onFinishedPlaying",a,_PROPERTY_VALIDATOR.TYPE.FUNCTION,_PROPERTY_VALIDATOR.RULE.CAN_BE_EMPTY),f=a,AR.i.callAsync({is:"AR.i.videoDrawableInterface.setOnFinishedPlayingTriggerActive",objectId:m,onFinishedPlayingTriggerActive:null!=a})}),this.__defineGetter__("onFinishedPlaying",function(){return f}),this.__defineSetter__("onError",function(a){a=_PROPERTY_VALIDATOR.validate("onError",a,_PROPERTY_VALIDATOR.TYPE.FUNCTION,_PROPERTY_VALIDATOR.RULE.CAN_BE_EMPTY),g=a,AR.i.callAsync({is:"AR.i.videoDrawableInterface.setOnErrorTriggerActive",objectId:m,onErrorTriggerActive:null!=a})}),this.__defineGetter__("onError",function(){return g}),this.getUri=function(){return i},this.isTransparent=function(){return j},this.__defineSetter__("__id",function(a){throw AR.EXCEPTION.create("__id",AR.EXCEPTION.TYPE.IMMUTABLE)}),this.__defineGetter__("__id",function(){return m});var l=AR.om.createObjectID();AR.i.callAsync({is:"AR.i.videoDrawableInterface.createVideoDrawable",objectId:l,enabled:k.enabled,mirrored:k.mirrored,rotatesToCamera:k.rotatesToCamera,zOrder:k.zOrder,onClickTriggerActive:k.onClickActive,onDragBeganTriggerActive:k.onDragBeganActive,onDragChangedTriggerActive:k.onDragChangedActive,onDragEndedTriggerActive:k.onDragEndedActive,onPanBeganTriggerActive:k.onPanBeganActive,onPanChangedTriggerActive:k.onPanChangedActive,onPanEndedTriggerActive:k.onPanEndedActive,onRotationBeganTriggerActive:k.onRotationBeganActive,onRotationChangedTriggerActive:k.onRotationChangedActive,onRotationEndedTriggerActive:k.onRotationEndedActive,onScaleBeganTriggerActive:k.onScaleBeganActive,onScaleChangedTriggerActive:k.onScaleChangedActive,onScaleEndedTriggerActive:k.onScaleEndedActive,horizontalAnchor:k.horizontalAnchor,verticalAnchor:k.verticalAnchor,opacity:k.opacity,onLoadedTriggerActive:null!=d,onPlaybackStartedTriggerActive:null!=e,onFinishedPlayingTriggerActive:null!=f,onErrorTriggerActive:null!=g,uri:AR.__resourceUrl(i),height:h,isTransparent:j,globalRotationX:k.rotate.global.x,globalRotationY:k.rotate.global.y,globalRotationZ:k.rotate.global.z,globalTranslateX:k.translate.global.x,globalTranslateY:k.translate.global.y,globalTranslateZ:k.translate.global.z,rotationX:k.rotate.x,rotationY:k.rotate.y,rotationZ:k.rotate.z,translateX:k.translate.x,translateY:k.translate.y,translateZ:k.translate.z,scaleX:k.scale.x,scaleY:k.scale.y,scaleZ:k.scale.z});var m=l;AR.om.registerObjectForID(m,this)},validateUri:function(a){if(!AR.VALIDATE.isDefined(a))throw AR.EXCEPTION.create("uri",AR.EXCEPTION.TYPE.UNDEFINED);if(!AR.VALIDATE.isString(a))throw AR.EXCEPTION.create("uri",AR.EXCEPTION.TYPE.STRING);return a},play:function(a){AR.i.callAsync({is:"AR.i.videoDrawableInterface.play",objectId:this.__id,loopTimes:a||1})},pause:function(){return AR.i.callAsync({is:"AR.i.videoDrawableInterface.pause",objectId:this.__id})},resume:function(){return AR.i.callAsync({is:"AR.i.videoDrawableInterface.resume",objectId:this.__id})},stop:function(){return AR.i.callAsync({is:"AR.i.videoDrawableInterface.stop",objectId:this.__id})}}),AR.Drawable&&(AR.DrawableRotate.prototype.__defineSetter__("roll",function(a){this.global.z=a}),AR.DrawableRotate.prototype.__defineGetter__("roll",function(){return this.global?this.global.z:void 0}),AR.DrawableRotate.prototype.__defineSetter__("tilt",function(a){this.global.x=a}),AR.DrawableRotate.prototype.__defineGetter__("tilt",function(){return this.global?this.global.x:void 0}),AR.DrawableRotate.prototype.__defineSetter__("heading",function(a){this.global.y=a}),AR.DrawableRotate.prototype.__defineGetter__("heading",function(){return this.global?this.global.y:void 0})),AR.Drawable2D&&(AR.Drawable2D.prototype.__defineSetter__("offsetX",function(a){this.translate.x=a}),AR.Drawable2D.prototype.__defineGetter__("offsetX",function(){return this.translate?this.translate.x:void 0}),AR.Drawable2D.prototype.__defineSetter__("offsetY",function(a){this.translate.y=a}),AR.Drawable2D.prototype.__defineGetter__("offsetY",function(){return this.translate?this.translate.y:void 0}),AR.Drawable2D.prototype.__defineSetter__("rotation",function(a){this.rotate.z=a}),AR.Drawable2D.prototype.__defineGetter__("rotation",function(){return this.rotate?this.rotate.z:void 0})),AR.Positionable=AR.ARObject.extend({init:function(a,b){b=b||{};var c,d,e=this._super(b),f=AR.om.createObjectID(),g=new AR.ScreenSnapper(this,b.snapToScreen?b.snapToScreen:null);b.triggers&&(b.triggers.onEnterFieldOfVision&&(c=_PROPERTY_VALIDATOR.validate("triggers.onEnterFieldOfVision",b.triggers.onEnterFieldOfVision,_PROPERTY_VALIDATOR.TYPE.FUNCTION,_PROPERTY_VALIDATOR.RULE.CAN_BE_EMPTY)),b.triggers.onExitFieldOfVision&&(d=_PROPERTY_VALIDATOR.validate("triggers.onExitFieldOfVision",b.triggers.onExitFieldOfVision,_PROPERTY_VALIDATOR.TYPE.FUNCTION,_PROPERTY_VALIDATOR.RULE.CAN_BE_EMPTY))),b.onEnterFieldOfVision&&(c=_PROPERTY_VALIDATOR.validate("onEnterFieldOfVision",b.onEnterFieldOfVision,_PROPERTY_VALIDATOR.TYPE.FUNCTION,_PROPERTY_VALIDATOR.RULE.CAN_BE_EMPTY)),b.onExitFieldOfVision&&(d=_PROPERTY_VALIDATOR.validate("onExitFieldOfVision",b.onExitFieldOfVision,_PROPERTY_VALIDATOR.TYPE.FUNCTION,_PROPERTY_VALIDATOR.RULE.CAN_BE_EMPTY));var h=g.resolvedBoundingBox;AR.i.callAsync({objectId:f,is:"AR.i.positionableInterface.createPositionable",name:a,enabled:e.enabled,onEnterFieldOfVisionTriggerActive:null!=c,onExitFieldOfVisionTriggerActive:null!=d,onClickTriggerActive:e.onClickTriggerActive,onDragBeganTriggerActive:e.onDragBeganTriggerActive,onDragChangedTriggerActive:e.onDragChangedTriggerActive,onDragEndedTriggerActive:e.onDragEndedTriggerActive,onPanBeganTriggerActive:e.onPanBeganTriggerActive,onPanChangedTriggerActive:e.onPanChangedTriggerActive,onPanEndedTriggerActive:e.onPanEndedTriggerActive,onRotationBeganTriggerActive:e.onRotationBeganTriggerActive,onRotationChangedTriggerActive:e.onRotationChangedTriggerActive,onRotationEndedTriggerActive:e.onRotationEndedTriggerActive,onScaleBeganTriggerActive:e.onScaleBeganTriggerActive,onScaleChangedTriggerActive:e.onScaleChangedTriggerActive,onScaleEndedTriggerActive:e.onScaleEndedTriggerActive,camDrawableIds:AR.__toJSONString__(AR.om.__getIds__(e.drawables.cam)),renderingOrder:e.renderingOrder,snapToScreenEnabled:g.enabled,screenSnapDelay:g.enableDelayed,snapToScreenEnabledOnExitFieldOfVision:g.enabledOnExitFieldOfVision,snapContainerId:h.id,snapPositionRight:h.right,snapPositionTop:h.top,snapPositionLeft:h.left,snapPositionBottom:h.bottom,onSnappedToScreenTriggerActive:null!=g.onSnappedToScreen,onDelayedSnapInterruptionTriggerActive:null!=g.onDelayedSnapInterruption}),AR.om.registerObjectForID(f,this),this.__defineSetter__("__id",function(a){throw AR.EXCEPTION.create("__id",AR.EXCEPTION.TYPE.IMMUTABLE)}),this.__defineGetter__("__id",function(){return f}),this.__defineSetter__("name",function(a){throw AR.EXCEPTION.create("name",AR.EXCEPTION.TYPE.IMMUTABLE)}),this.__defineGetter__("name",function(){return _targetName}),this.__defineSetter__("onEnterFieldOfVision",function(a){a=_PROPERTY_VALIDATOR.validate("onEnterFieldOfVision",a,_PROPERTY_VALIDATOR.TYPE.FUNCTION,_PROPERTY_VALIDATOR.RULE.CAN_BE_EMPTY),c=a,AR.i.callAsync({objectId:this.__id,onEnterFieldOfVisionTriggerActive:null!=a,is:"AR.i.positionableInterface.setOnEnterFieldOfVisionTriggerActive"})}),this.__defineGetter__("onEnterFieldOfVision",function(){return c}),this.__defineSetter__("onExitFieldOfVision",function(a){a=_PROPERTY_VALIDATOR.validate("onExitFieldOfVision",a,_PROPERTY_VALIDATOR.TYPE.FUNCTION,_PROPERTY_VALIDATOR.RULE.CAN_BE_EMPTY),d=a,AR.i.callAsync({objectId:this.__id,onExitFieldOfVisionTriggerActive:null!=a,is:"AR.i.positionableInterface.setOnExitFieldOfVisionTriggerActive"})}),this.__defineGetter__("onExitFieldOfVision",function(){return d})}}),AR=AR||{},AR.js=AR.js||{},AR.js.touch={},AR.js.touch.onDragBegan=function(a,b,c){for(var d=0;d");e=AR.om.createObjectID(),AR.i.callAsync({objectId:e,is:"AR.i.instantTrackerInterface.createTracker",enabled:f,onDisabledTriggerActive:null!=c,onErrorTriggerActive:null!=b,onChangedStateTriggerActive:null!=d,deviceHeight:g,trackingPlaneOrientation:h,arKitCoreEnabled:i,trackerEfficiencyMode:j}),AR.om.registerObjectForID(e,this),this.__defineSetter__("__id",function(){throw AR.EXCEPTION.create("__id",AR.EXCEPTION.TYPE.IMMUTABLE)}),this.__defineGetter__("__id",function(){return e}),this.__defineSetter__("__smartEnabled",function(){throw AR.EXCEPTION.create("__smartEnabled",AR.EXCEPTION.TYPE.IMMUTABLE)}),this.__defineGetter__("__smartEnabled",function(){return i}),this.__defineSetter__("state",function(a){a=_PROPERTY_VALIDATOR.validate("state",a,_PROPERTY_VALIDATOR.TYPE.INT,_PROPERTY_VALIDATOR.RULE.MUST_BE_SET),AR.i.callAsync({objectId:e,is:"AR.i.instantTrackerInterface.setState",state:a})}),this.__defineGetter__("state",function(){return AR.i.callSync({objectId:e,is:"AR.i.instantTrackerInterface.getState"})}),this.__defineSetter__("canStartTracking",function(a){throw AR.EXCEPTION.create("canStartTracking",AR.EXCEPTION.TYPE.IMMUTABLE)}),this.__defineGetter__("canStartTracking",function(){return AR.i.callSync({objectId:e,is:"AR.i.instantTrackerInterface.canStartTracking"})}),this.__defineSetter__("enabled",function(a){a=_PROPERTY_VALIDATOR.validate("enabled",a,_PROPERTY_VALIDATOR.TYPE.BOOLEAN,_PROPERTY_VALIDATOR.RULE.MUST_BE_SET),AR.i.callAsync({objectId:e,is:"AR.i.instantTrackerInterface.setEnabled",enabled:a})}),this.__defineGetter__("enabled",function(){return AR.i.callSync({objectId:e,is:"AR.i.instantTrackerInterface.isEnabled"})}),this.__defineSetter__("onError",function(a){a=_PROPERTY_VALIDATOR.validate("onError",a,_PROPERTY_VALIDATOR.TYPE.FUNCTION,_PROPERTY_VALIDATOR.RULE.MUST_BE_SET),b=a,AR.i.callAsync({objectId:e,is:"AR.i.instantTrackerInterface.setOnErrorTriggerActive",onErrorTriggerActive:null!=a})}),this.__defineGetter__("onError",function(){return b}),this.__defineSetter__("onDisabled",function(a){a=_PROPERTY_VALIDATOR.validate("onDisabled",a,_PROPERTY_VALIDATOR.TYPE.FUNCTION,_PROPERTY_VALIDATOR.RULE.MUST_BE_SET),c=a,AR.i.callAsync({objectId:e,is:"AR.i.instantTrackerInterface.setOnDisabledTriggerActive",onDisabledTriggerActive:null!=a})}),this.__defineGetter__("onDisabled",function(){return c}),this.__defineSetter__("onChangedState",function(a){a=_PROPERTY_VALIDATOR.validate("onChangedState",a,_PROPERTY_VALIDATOR.TYPE.FUNCTION,_PROPERTY_VALIDATOR.RULE.MUST_BE_SET),d=a,AR.i.callAsync({objectId:e,is:"AR.i.instantTrackerInterface.setOnChangedStateTriggerActive",onChangedStateTriggerActive:null!=a})}),this.__defineGetter__("onChangedState",function(){return d}),this.__defineSetter__("deviceHeight",function(a){if(a=_PROPERTY_VALIDATOR.validate("deviceHeight",a,_PROPERTY_VALIDATOR.TYPE.NUMERIC,_PROPERTY_VALIDATOR.RULE.MUST_BE_SET),this.state!==AR.InstantTrackerState.INITIALIZING)throw AR.EXCEPTION.create("deviceHeight",AR.EXCEPTION.TYPE.ILLEGAL_STATE,"AR.InstantTrackerState.INITIALIZING ("+AR.InstantTrackerState.INITIALIZING+")",_state);g=a,AR.i.callAsync({objectId:e,is:"AR.i.instantTrackerInterface.setDeviceHeight",deviceHeight:a})}),this.__defineGetter__("deviceHeight",function(){return g}),this.__defineSetter__("trackingPlaneOrientation",function(a){if(i&&AR.hardware.smart.platformAssistedTrackingSupported)return void(null!=b&&b(new AR.Error(300,"InstantTracking","Unable to set the trackingPlaneOrientation when using platform assisted tracking. Disable SMART to use this feature.")));if(a=_PROPERTY_VALIDATOR.validate("trackingPlaneOrientation",a,_PROPERTY_VALIDATOR.TYPE.NUMERIC,_PROPERTY_VALIDATOR.RULE.MUST_BE_SET),this.state!==AR.InstantTrackerState.INITIALIZING)throw AR.EXCEPTION.create("trackingPlaneOrientation",AR.EXCEPTION.TYPE.ILLEGAL_STATE,"AR.InstantTrackerState.INITIALIZING ("+AR.InstantTrackerState.INITIALIZING+")",_state);h=a,AR.i.callAsync({objectId:e,is:"AR.i.instantTrackerInterface.setTrackingPlaneOrientation",trackingPlaneOrientation:a})}),this.__defineGetter__("trackingPlaneOrientation",function(){return h}),this.__defineGetter__("saveCurrentInstantTargetCompletionHandler",function(){return this._saveCurrentInstantTargetCompletionHandler}),this.__defineGetter__("saveCurrentInstantTargetErrorHandler",function(){return this._saveCurrentInstantTargetErrorHandler}),this.__defineGetter__("loadExistingInstantTargetCompletionHandler",function(){return this._loadExistingInstantTargetCompletionHandler}),this.__defineGetter__("loadExistingInstantTargetErrorHandler",function(){return this._loadExistingInstantTargetErrorHandler})},saveCurrentInstantTarget:function(a,b,c){a=_PROPERTY_VALIDATOR.validate("uri",a,_PROPERTY_VALIDATOR.TYPE.STRING,_PROPERTY_VALIDATOR.RULE.MUST_BE_SET),this._saveCurrentInstantTargetCompletionHandler=_PROPERTY_VALIDATOR.validate("completionHandler",b,_PROPERTY_VALIDATOR.TYPE.FUNCTION,_PROPERTY_VALIDATOR.RULE.MUST_BE_SET),this._saveCurrentInstantTargetErrorHandler=_PROPERTY_VALIDATOR.validate("errorHandler",c,_PROPERTY_VALIDATOR.TYPE.FUNCTION,_PROPERTY_VALIDATOR.RULE.MUST_BE_SET),AR.i.callAsync({objectId:this.__id,is:"AR.i.instantTrackerInterface.saveCurrentInstantTarget",uri:a})},loadExistingInstantTarget:function(a,b,c,d){if(!(a instanceof AR.TargetCollectionResource))throw AR.EXCEPTION.create("targetCollectionResource",AR.EXCEPTION.TYPE.OBJECT,"AR.TargetCollectionResource") ;var e=AR.CONST.INSTANT_TARGET_EXPANSION_POLICY.DISALLOW_EXPANSION;d&&(e=_PROPERTY_VALIDATOR.validate("expansionPolicy",d.expansionPolicy,_PROPERTY_VALIDATOR.TYPE.NUMERIC,_PROPERTY_VALIDATOR.RULE.CAN_BE_EMPTY,function(a,b){if(b!==AR.CONST.INSTANT_TARGET_EXPANSION_POLICY.ALLOW_EXPANSION&&b!==AR.CONST.INSTANT_TARGET_EXPANSION_POLICY.DISALLOW_EXPANSION)throw AR.EXCEPTION.create(a,AR.EXCEPTION.TYPE.INVALID_VALUE);return b})),this._loadExistingInstantTargetCompletionHandler=_PROPERTY_VALIDATOR.validate("completionHandler",b,_PROPERTY_VALIDATOR.TYPE.FUNCTION,_PROPERTY_VALIDATOR.RULE.MUST_BE_SET),this._loadExistingInstantTargetErrorHandler=_PROPERTY_VALIDATOR.validate("errorHandler",c,_PROPERTY_VALIDATOR.TYPE.FUNCTION,_PROPERTY_VALIDATOR.RULE.MUST_BE_SET),AR.i.callAsync({objectId:this.__id,is:"AR.i.instantTrackerInterface.loadExistingInstantTarget",resourceId:a.__id,expansionPolicy:e})}}),AR.InstantTrackable=AR.ARObject.extend({init:function(a,b){b=b||{};var c,d,e,f,g,h,i=this._super(b),j=_PROPERTY_VALIDATOR.validate("tracker",a,{type:_PROPERTY_VALIDATOR.TYPE.CLASS,ofType:AR.InstantTracker},_PROPERTY_VALIDATOR.RULE.MUST_BE_SET),k=new AR.ScreenSnapper(this,b.snapToScreen?b.snapToScreen:null);b.onTrackingPlaneClick&&(c=_PROPERTY_VALIDATOR.validate("onTrackingPlaneClick",b.onTrackingPlaneClick,_PROPERTY_VALIDATOR.TYPE.FUNCTION,_PROPERTY_VALIDATOR.RULE.CAN_BE_EMPTY)),b.onTrackingPlaneDragBegan&&(d=_PROPERTY_VALIDATOR.validate("onTrackingPlaneDragBegan",b.onTrackingPlaneDragBegan,_PROPERTY_VALIDATOR.TYPE.FUNCTION,_PROPERTY_VALIDATOR.RULE.CAN_BE_EMPTY)),b.onTrackingPlaneDragChanged&&(e=_PROPERTY_VALIDATOR.validate("onTrackingPlaneDragChanged",b.onTrackingPlaneDragChanged,_PROPERTY_VALIDATOR.TYPE.FUNCTION,_PROPERTY_VALIDATOR.RULE.CAN_BE_EMPTY)),b.onTrackingPlaneDragEnded&&(f=_PROPERTY_VALIDATOR.validate("onTrackingPlaneDragEnded",b.onTrackingPlaneDragEnded,_PROPERTY_VALIDATOR.TYPE.FUNCTION,_PROPERTY_VALIDATOR.RULE.CAN_BE_EMPTY)),b.onTrackingStarted&&(g=_PROPERTY_VALIDATOR.validate("onTrackingStarted",b.onTrackingStarted,_PROPERTY_VALIDATOR.TYPE.FUNCTION,_PROPERTY_VALIDATOR.RULE.CAN_BE_EMPTY)),b.onTrackingStopped&&(h=_PROPERTY_VALIDATOR.validate("onTrackingStopped",b.onTrackingStopped,_PROPERTY_VALIDATOR.TYPE.FUNCTION,_PROPERTY_VALIDATOR.RULE.CAN_BE_EMPTY));var l=AR.om.createObjectID(),m=k.resolvedBoundingBox;AR.i.callAsync({objectId:l,is:"AR.i.instantTrackableInterface.createInstantTrackable",trackerId:j.__id,enabled:i.enabled,onEnterFieldOfVisionTriggerActive:i.onEnterFieldOfVisionTriggerActive,onExitFieldOfVisionTriggerActive:i.onExitFieldOfVisionTriggerActive,onClickTriggerActive:i.onClickTriggerActive,onDragBeganTriggerActive:i.onDragBeganTriggerActive,onDragChangedTriggerActive:i.onDragChangedTriggerActive,onDragEndedTriggerActive:i.onDragEndedTriggerActive,onPanBeganTriggerActive:i.onPanBeganTriggerActive,onPanChangedTriggerActive:i.onPanChangedTriggerActive,onPanEndedTriggerActive:i.onPanEndedTriggerActive,onRotationBeganTriggerActive:i.onRotationBeganTriggerActive,onRotationChangedTriggerActive:i.onRotationChangedTriggerActive,onRotationEndedTriggerActive:i.onRotationEndedTriggerActive,onScaleBeganTriggerActive:i.onScaleBeganTriggerActive,onScaleChangedTriggerActive:i.onScaleChangedTriggerActive,onScaleEndedTriggerActive:i.onScaleEndedTriggerActive,onTrackingPlaneClickTriggerActive:null!=c,onTrackingPlaneDragBeganTriggerActive:null!=d,onTrackingPlaneDragChangedTriggerActive:null!=e,onTrackingPlaneDragEndedTriggerActive:null!=f,onTrackingStartedTriggerActive:null!=g,onTrackingStoppedTriggerActive:null!=h,camDrawableIds:AR.__toJSONString__(AR.om.__getIds__(i.drawables.cam)),initializationDrawableIds:AR.__toJSONString__(AR.om.__getIds__(i.drawables.initialization)),renderingOrder:i.renderingOrder,snapToScreenEnabled:k.enabled,screenSnapDelay:k.enableDelayed,snapToScreenEnabledOnExitFieldOfVision:k.enabledOnExitFieldOfVision,snapContainerId:m.id,snapPositionRight:m.right,snapPositionTop:m.top,snapPositionLeft:m.left,snapPositionBottom:m.bottom,onSnappedToScreenTriggerActive:null!=k.onSnappedToScreen,onDelayedSnapInterruptionTriggerActive:null!=k.onDelayedSnapInterruption}),AR.om.registerObjectForID(l,this),this.__defineSetter__("__id",function(a){throw AR.EXCEPTION.create("__id",AR.EXCEPTION.TYPE.IMMUTABLE)}),this.__defineGetter__("__id",function(){return l}),this.__defineSetter__("tracker",function(a){throw AR.EXCEPTION.create("tracker",AR.EXCEPTION.TYPE.IMMUTABLE)}),this.__defineGetter__("tracker",function(){return j}),this.__defineSetter__("snapToScreen",function(a){k=new AR.ScreenSnapper(this,a)}),this.__defineGetter__("snapToScreen",function(){return k}),this.__defineSetter__("onTrackingPlaneClick",function(a){a=_PROPERTY_VALIDATOR.validate("onTrackingPlaneClick",a,_PROPERTY_VALIDATOR.TYPE.FUNCTION,_PROPERTY_VALIDATOR.RULE.CAN_BE_EMPTY),c=a,AR.i.callAsync({objectId:this.__id,onTrackingPlaneClickTriggerActive:null!=a,is:"AR.i.instantTrackableInterface.setOnTrackingPlaneClickTriggerActive"})}),this.__defineGetter__("onTrackingPlaneClick",function(){return c}),this.__defineSetter__("onTrackingPlaneDragBegan",function(a){a=_PROPERTY_VALIDATOR.validate("onTrackingPlaneDragBegan",a,_PROPERTY_VALIDATOR.TYPE.FUNCTION,_PROPERTY_VALIDATOR.RULE.CAN_BE_EMPTY),d=a,AR.i.callAsync({objectId:this.__id,onTrackingPlaneDragBeganTriggerActive:null!=a,is:"AR.i.instantTrackableInterface.setOnTrackingPlaneDragBeganTriggerActive"})}),this.__defineGetter__("onTrackingPlaneDragBegan",function(){return d}),this.__defineSetter__("onTrackingPlaneDragChanged",function(a){a=_PROPERTY_VALIDATOR.validate("onTrackingPlaneDragChanged",a,_PROPERTY_VALIDATOR.TYPE.FUNCTION,_PROPERTY_VALIDATOR.RULE.CAN_BE_EMPTY),e=a,AR.i.callAsync({objectId:this.__id,onTrackingPlaneDragChangedTriggerActive:null!=a,is:"AR.i.instantTrackableInterface.setOnTrackingPlaneDragChangedTriggerActive"})}),this.__defineGetter__("onTrackingPlaneDragChanged",function(){return e}),this.__defineSetter__("onTrackingPlaneDragEnded",function(a){a=_PROPERTY_VALIDATOR.validate("onTrackingPlaneDragEnded",a,_PROPERTY_VALIDATOR.TYPE.FUNCTION,_PROPERTY_VALIDATOR.RULE.CAN_BE_EMPTY),f=a,AR.i.callAsync({objectId:this.__id,onTrackingPlaneDragEndedTriggerActive:null!=a,is:"AR.i.instantTrackableInterface.setOnTrackingPlaneDragEndedTriggerActive"})}),this.__defineGetter__("onTrackingPlaneDragEnded",function(){return f}),this.__defineSetter__("onTrackingStarted",function(a){a=_PROPERTY_VALIDATOR.validate("onTrackingStarted",a,_PROPERTY_VALIDATOR.TYPE.FUNCTION,_PROPERTY_VALIDATOR.RULE.CAN_BE_EMPTY),g=a,AR.i.callAsync({objectId:this.__id,onTrackingStartedTriggerActive:null!=a,is:"AR.i.instantTrackableInterface.setOnTrackingStartedTriggerActive"})}),this.__defineGetter__("onTrackingStarted",function(){return g}),this.__defineSetter__("onTrackingStopped",function(a){a=_PROPERTY_VALIDATOR.validate("onTrackingStopped",a,_PROPERTY_VALIDATOR.TYPE.FUNCTION,_PROPERTY_VALIDATOR.RULE.CAN_BE_EMPTY),h=a,AR.i.callAsync({objectId:this.__id,onTrackingStoppedTriggerActive:null!=a,is:"AR.i.instantTrackableInterface.setOnTrackingStoppedTriggerActive"})}),this.__defineGetter__("onTrackingStopped",function(){return h}),this.__defineGetter__("screenCoordinateToPointCloudCoordinateConversionCompletionHandler",function(){return this._conversionCompletionHandler}),this.__defineGetter__("screenCoordinateToPointCloudCoordinateConversionErrorHandler",function(){return this._conversionErrorHandler})},convertScreenCoordinateToPointCloudCoordinate:function(a,b,c,d){c=_PROPERTY_VALIDATOR.validate("completionHandler",c,_PROPERTY_VALIDATOR.TYPE.FUNCTION,_PROPERTY_VALIDATOR.RULE.MUST_BE_SET),d=_PROPERTY_VALIDATOR.validate("errorHandler",d,_PROPERTY_VALIDATOR.TYPE.FUNCTION,_PROPERTY_VALIDATOR.RULE.MUST_BE_SET),this._conversionCompletionHandler=c,this._conversionErrorHandler=d,AR.i.callAsync({is:"AR.i.instantTrackableInterface.convertScreenCoordinateToPointCloudCoordinate",objectId:this.__id,screenX:a,screenY:b})}}),AR.EasingCurve=AR.ARchitectObject.extend({init:function(a,b){this._super(),this.type=a,null!=b&&(null!=b.amplitude&&(this.amplitude=b.amplitude),null!=b.overshoot&&(this.overshoot=b.overshoot),null!=b.period&&(this.period=b.period))}}),AR.OneTimeUseContextConstructionPlanPlatform=PClass.create({init:function(){AR.OneTimeUseContextConstructionPlanPlatform=null},sendJSONObject:function(a){a=_PROPERTY_VALIDATOR.validate("jsonObject",a,_PROPERTY_VALIDATOR.TYPE.OBJECT,_PROPERTY_VALIDATOR.RULE.MUST_BE_SET),a=JSON.stringify(a),AR.i.callAsync({is:"AR.i.platformInterface.sendJSONObject",jsonObject:a})}}),AR.platform=new AR.OneTimeUseContextConstructionPlanPlatform,AR.OneTimeUseLoggerConstructionPlan=function(){var a=[];this.addPluginAvailabilityObserver=function(b){a.push(b)},this.callSync=function(a,b,c){return AR.i.callSync({is:"AR.i.pluginInterface.callSync",pluginId:a,methodId:b,parameter:c})},this.callAsync=function(a,b,c){AR.i.callAsync({is:"AR.i.pluginInterface.callAsync",pluginId:a,methodId:b,parameter:c})},this.createInstance=function(a,b,c){var d=AR.om.createObjectID();return AR.i.callAsync({is:"AR.i.pluginInterface.createInstance",objectId:d,pluginId:a,className:b.constructor.name,parameter:c}),AR.om.registerObjectForID(d,b),d},this.get=function(a){return AR.om.getObjectForID(a)},this._pluginAdded=function(b){for(var c=0;c"+a+"":a},e=null,f=null,g="#00000000",h=null,i=null,j=256,k=256,l=1024,m=!1,n=!1,o=null ;if(!a)throw AR.EXCEPTION.create("content",AR.EXCEPTION.TYPE.UNDEFINED);e=_PROPERTY_VALIDATOR.validate("content.html",a.html,_PROPERTY_VALIDATOR.TYPE.STRING,_PROPERTY_VALIDATOR.RULE.CAN_BE_EMPTY),f=_PROPERTY_VALIDATOR.validate("content.uri",a.uri,_PROPERTY_VALIDATOR.TYPE.STRING,_PROPERTY_VALIDATOR.RULE.CAN_BE_EMPTY);var p=_PROPERTY_VALIDATOR.validate("width",b,_PROPERTY_VALIDATOR.TYPE.NON_NEGATIVE,_PROPERTY_VALIDATOR.RULE.MUST_BE_SET);if(!e&&!f)throw AR.EXCEPTION.create("content.html and content.uri",AR.EXCEPTION.TYPE.UNDEFINED);if(c){if(c.onLoaded&&(h=_PROPERTY_VALIDATOR.validate("onLoaded",c.onLoaded,_PROPERTY_VALIDATOR.TYPE.FUNCTION,_PROPERTY_VALIDATOR.RULE.CAN_BE_EMPTY)),c.onError&&(i=_PROPERTY_VALIDATOR.validate("onError",c.onError,_PROPERTY_VALIDATOR.TYPE.FUNCTION,_PROPERTY_VALIDATOR.RULE.CAN_BE_EMPTY)),c.viewportWidth&&(j=_PROPERTY_VALIDATOR.validate("viewportWidth",c.viewportWidth,_PROPERTY_VALIDATOR.TYPE.POSITIVE_INT,_PROPERTY_VALIDATOR.RULE.CAN_BE_EMPTY))>l)throw AR.EXCEPTION.create("viewportWidth",AR.EXCEPTION.TYPE.RANGE,"(0, "+l+"]");if(c.viewportHeight&&(k=_PROPERTY_VALIDATOR.validate("viewportHeight",c.viewportHeight,_PROPERTY_VALIDATOR.TYPE.POSITIVE_INT,_PROPERTY_VALIDATOR.RULE.CAN_BE_EMPTY))>l)throw AR.EXCEPTION.create("viewportHeight",AR.EXCEPTION.TYPE.RANGE,"(0, "+l+"]");c.backgroundColor&&(g=_PROPERTY_VALIDATOR.validate("backgroundColor",c.backgroundColor,_PROPERTY_VALIDATOR.TYPE.RGBA,_PROPERTY_VALIDATOR.RULE.CAN_BE_EMPTY)),c.clickThroughEnabled&&(m=_PROPERTY_VALIDATOR.validate("clickThroughEnabled",c.clickThroughEnabled,_PROPERTY_VALIDATOR.TYPE.BOOLEAN,_PROPERTY_VALIDATOR.RULE.CAN_BE_EMPTY)),c.allowDocumentLocationChanges&&(n=_PROPERTY_VALIDATOR.validate("allowDocumentLocationChanges",c.allowDocumentLocationChanges,_PROPERTY_VALIDATOR.TYPE.BOOLEAN,_PROPERTY_VALIDATOR.RULE.CAN_BE_EMPTY)),c.onDocumentLocationChanged&&(o=_PROPERTY_VALIDATOR.validate("onDocumentLocationChanged",c.onDocumentLocationChanged,_PROPERTY_VALIDATOR.TYPE.FUNCTION,_PROPERTY_VALIDATOR.RULE.CAN_BE_EMPTY)),c.mirrored||(c.mirrored=!1)}else c={mirrored:!1};f&&(f=AR.__resourceUrl(f)),e&&(e=d(e));var q=this._super(AR.CONST.HORIZONTAL_ANCHOR.CENTER,AR.CONST.VERTICAL_ANCHOR.MIDDLE,c),r=AR.om.createObjectID();AR.i.callAsync({objectId:r,is:"AR.i.htmlDrawableInterface.createHtmlDrawable",enabled:q.enabled,mirrored:q.mirrored,rotatesToCamera:q.rotatesToCamera,zOrder:q.zOrder,onClickTriggerActive:q.onClickActive,onDragBeganTriggerActive:q.onDragBeganActive,onDragChangedTriggerActive:q.onDragChangedActive,onDragEndedTriggerActive:q.onDragEndedActive,onPanBeganTriggerActive:q.onPanBeganActive,onPanChangedTriggerActive:q.onPanChangedActive,onPanEndedTriggerActive:q.onPanEndedActive,onRotationBeganTriggerActive:q.onRotationBeganActive,onRotationChangedTriggerActive:q.onRotationChangedActive,onRotationEndedTriggerActive:q.onRotationEndedActive,onScaleBeganTriggerActive:q.onScaleBeganActive,onScaleChangedTriggerActive:q.onScaleChangedActive,onScaleEndedTriggerActive:q.onScaleEndedActive,horizontalAnchor:q.horizontalAnchor,verticalAnchor:q.verticalAnchor,opacity:q.opacity,htmlOrUri:AR.__toJSONString__({html:e,uri:f}),viewportWidth:j,viewportHeight:k,width:p,onLoadedTriggerActive:null!=h,onErrorTriggerActive:null!=i,clickThroughEnabled:m,allowDocumentLocationChanges:n,onDocumentLocationChangedTriggerActive:null!=o,backgroundColor:g,globalRotationX:q.rotate.global.x,globalRotationY:q.rotate.global.y,globalRotationZ:q.rotate.global.z,globalTranslateX:q.translate.global.x,globalTranslateY:q.translate.global.y,globalTranslateZ:q.translate.global.z,rotationX:q.rotate.x,rotationY:q.rotate.y,rotationZ:q.rotate.z,translateX:q.translate.x,translateY:q.translate.y,translateZ:q.translate.z,scaleX:q.scale.x,scaleY:q.scale.y,scaleZ:q.scale.z});var s=r;AR.om.registerObjectForID(s,this),this.__defineSetter__("__id",function(a){throw AR.EXCEPTION.create("__id",AR.EXCEPTION.TYPE.IMMUTABLE)}),this.__defineGetter__("__id",function(){return s}),this.__defineSetter__("html",function(a){a=_PROPERTY_VALIDATOR.validate("html",a,_PROPERTY_VALIDATOR.TYPE.STRING,_PROPERTY_VALIDATOR.RULE.CAN_BE_EMPTY),a=d(a),AR.i.callAsync({is:"AR.i.htmlDrawableInterface.setHtml",objectId:s,html:a}),e=a}),this.__defineGetter__("html",function(){return e}),this.__defineSetter__("uri",function(a){a=_PROPERTY_VALIDATOR.validate("uri",a,_PROPERTY_VALIDATOR.TYPE.STRING,_PROPERTY_VALIDATOR.RULE.CAN_BE_EMPTY),a&&(a=AR.__resourceUrl(a)),AR.i.callAsync({is:"AR.i.htmlDrawableInterface.setUri",objectId:s,uri:a}),f=a}),this.__defineGetter__("uri",function(){return f}),this.__defineSetter__("backgroundColor",function(a){a=_PROPERTY_VALIDATOR.validate("backgroundColor",a,_PROPERTY_VALIDATOR.TYPE.RGBA,_PROPERTY_VALIDATOR.RULE.MUST_BE_SET),AR.i.callAsync({is:"AR.i.htmlDrawableInterface.setBackgroundColor",objectId:s,backgroundColor:a}),g=a}),this.__defineGetter__("backgroundColor",function(){return g}),this.__defineSetter__("width",function(a){a=_PROPERTY_VALIDATOR.validate("width",a,_PROPERTY_VALIDATOR.TYPE.NON_NEGATIVE,_PROPERTY_VALIDATOR.RULE.MUST_BE_SET),AR.i.callAsync({is:"AR.i.htmlDrawableInterface.setWidth",objectId:s,width:a}),p=a}),this.__defineGetter__("width",function(){return this.__isDirty("width")?AR.i.callSync({is:"AR.i.htmlDrawableInterface.getWidth",objectId:s}):p}),this.__defineSetter__("viewportWidth",function(a){if((a=_PROPERTY_VALIDATOR.validate("viewportWidth",a,_PROPERTY_VALIDATOR.TYPE.POSITIVE_INT,_PROPERTY_VALIDATOR.RULE.MUST_BE_SET))>l)throw AR.EXCEPTION.create("viewportWidth",AR.EXCEPTION.TYPE.RANGE,"(0, "+l+"]");AR.i.callAsync({is:"AR.i.htmlDrawableInterface.setViewportWidth",objectId:s,viewportWidth:a}),j=a}),this.__defineGetter__("viewportWidth",function(){return j}),this.__defineSetter__("viewportHeight",function(a){if((a=_PROPERTY_VALIDATOR.validate("viewportHeight",a,_PROPERTY_VALIDATOR.TYPE.POSITIVE_INT,_PROPERTY_VALIDATOR.RULE.MUST_BE_SET))>l)throw AR.EXCEPTION.create("viewportHeight",AR.EXCEPTION.TYPE.RANGE,"(0, "+l+"]");AR.i.callAsync({is:"AR.i.htmlDrawableInterface.setViewportHeight",objectId:s,viewportHeight:a}),k=a}),this.__defineGetter__("viewportHeight",function(){return k}),this.__defineSetter__("clickThroughEnabled",function(a){a=_PROPERTY_VALIDATOR.validate("clickThroughEnabled",a,_PROPERTY_VALIDATOR.TYPE.BOOLEAN,_PROPERTY_VALIDATOR.RULE.MUST_BE_SET),AR.i.callAsync({is:"AR.i.htmlDrawableInterface.setClickThroughEnabled",objectId:s,clickThroughEnabled:a}),m=a}),this.__defineGetter__("clickThroughEnabled",function(){return m}),this.__defineSetter__("allowDocumentLocationChanges",function(a){a=_PROPERTY_VALIDATOR.validate("allowDocumentLocationChanges",a,_PROPERTY_VALIDATOR.TYPE.BOOLEAN,_PROPERTY_VALIDATOR.RULE.MUST_BE_SET),AR.i.callAsync({is:"AR.i.htmlDrawableInterface.setAllowDocumentLocationChanges",objectId:s,allowDocumentLocationChanges:a}),n=a}),this.__defineGetter__("allowDocumentLocationChanges",function(){return n}),this.__defineSetter__("onDocumentLocationChanged",function(a){a=_PROPERTY_VALIDATOR.validate("onDocumentLocationChanged",a,_PROPERTY_VALIDATOR.TYPE.FUNCTION,_PROPERTY_VALIDATOR.RULE.CAN_BE_EMPTY),o=a,AR.i.callAsync({is:"AR.i.htmlDrawableInterface.setOnDocumentLocationChangedTriggerActive",objectId:s,onDocumentLocationChangedTriggerActive:null!=a})}),this.__defineGetter__("onDocumentLocationChanged",function(){return o}),this.__defineSetter__("onLoaded",function(a){a=_PROPERTY_VALIDATOR.validate("onLoaded",a,_PROPERTY_VALIDATOR.TYPE.FUNCTION,_PROPERTY_VALIDATOR.RULE.CAN_BE_EMPTY),h=a,AR.i.callAsync({is:"AR.i.htmlDrawableInterface.setOnLoadedTriggerActive",objectId:s,onLoadedTriggerActive:null!=a})}),this.__defineGetter__("onLoaded",function(){return h}),this.__defineSetter__("onError",function(a){a=_PROPERTY_VALIDATOR.validate("onError",a,_PROPERTY_VALIDATOR.TYPE.FUNCTION,_PROPERTY_VALIDATOR.RULE.CAN_BE_EMPTY),i=a,AR.i.callAsync({is:"AR.i.htmlDrawableInterface.setOnErrorTriggerActive",objectId:s,onErrorTriggerActive:null!=a})}),this.__defineGetter__("onError",function(){return i})},evalJavaScript:function(a){_PROPERTY_VALIDATOR.validate("js",a,_PROPERTY_VALIDATOR.TYPE.STRING,_PROPERTY_VALIDATOR.RULE.MUST_BE_SET),AR.i.callAsync({is:"AR.i.htmlDrawableInterface.evalJavaScript",objectId:this.__id,js:a})}}),AR.ImageTracker=AR.ARchitectObject.extend({validateExtendedRangeRecognition:function(a){if(!AR.CONST.IMAGE_RECOGNITION_RANGE_EXTENSION.isValidRangeExtension(a))throw AR.EXCEPTION.create("extendedRangeRecognition",AR.EXCEPTION.TYPE.OBJECT,"IMAGE_RECOGNITION_RANGE_EXTENSION.___",typeof a);return a},validateTrackerEfficiencyMode:function(a){if(!AR.CONST.TRACKER_EFFICIENCY_MODE.isValidTrackerEfficiencyMode(a))throw AR.EXCEPTION.create("trackerEfficiencyMode",AR.EXCEPTION.TYPE.OBJECT,"TRACKER_EFFICIENCY_MODE.___",typeof a);return a},init:function(a,b){if(!(a instanceof AR.TargetCollectionResource||a instanceof AR.CloudRecognitionService))throw AR.EXCEPTION.create("trackerSource",AR.EXCEPTION.TYPE.OBJECT,"AR.TargetCollectionResource or AR.CloudRecognitionService");var c,d,e,f,g,h=a.__id,i=!0,j=AR.CONST.IMAGE_RECOGNITION_RANGE_EXTENSION.AUTO,k=1,l=AR.CONST.TRACKER_EFFICIENCY_MODE.HIGH_ACCURACY,m=0,n=0,o=0;if(b){if(null!=b.enabled&&(i=_PROPERTY_VALIDATOR.validate("enabled",b.enabled,_PROPERTY_VALIDATOR.TYPE.BOOLEAN,_PROPERTY_VALIDATOR.RULE.MUST_BE_SET)),null!=b.physicalTargetImageHeights){for(var p in b.physicalTargetImageHeights)_PROPERTY_VALIDATOR.validate("physicalTargetImageHeights",b.physicalTargetImageHeights[p],_PROPERTY_VALIDATOR.TYPE.POSITIVE_INT,_PROPERTY_VALIDATOR.RULE.MUST_BE_SET);d=b.physicalTargetImageHeights}null!=b.extendedRangeRecognition&&(j=this.validateExtendedRangeRecognition(b.extendedRangeRecognition)),b.maximumNumberOfConcurrentlyTrackableTargets&&(k=_PROPERTY_VALIDATOR.validate("maximumNumberOfConcurrentlyTrackableTargets",b.maximumNumberOfConcurrentlyTrackableTargets,_PROPERTY_VALIDATOR.TYPE.POSITIVE_INT,_PROPERTY_VALIDATOR.RULE.MUST_BE_SET)),b.trackerEfficiencyMode&&(l=this.validateTrackerEfficiencyMode(b.trackerEfficiencyMode)),b.onTargetsLoaded&&(e=_PROPERTY_VALIDATOR.validate("onTargetsLoaded",b.onTargetsLoaded,_PROPERTY_VALIDATOR.TYPE.FUNCTION,_PROPERTY_VALIDATOR.RULE.CAN_BE_EMPTY)),b.onError&&(f=_PROPERTY_VALIDATOR.validate("onError",b.onError,_PROPERTY_VALIDATOR.TYPE.FUNCTION,_PROPERTY_VALIDATOR.RULE.CAN_BE_EMPTY)),b.onDisabled&&(g=_PROPERTY_VALIDATOR.validate("onDisabled",b.onDisabled,_PROPERTY_VALIDATOR.TYPE.FUNCTION,_PROPERTY_VALIDATOR.RULE.CAN_BE_EMPTY)),b.onDistanceChangedThreshold&&(m=_PROPERTY_VALIDATOR.validate("onDistanceChangedThreshold",b.onDistanceChangedThreshold,_PROPERTY_VALIDATOR.TYPE.POSITIVE,_PROPERTY_VALIDATOR.RULE.MUST_BE_SET)),b.onTranslationChangedThreshold&&(n=_PROPERTY_VALIDATOR.validate("onTranslationChangedThreshold",b.onTranslationChangedThreshold,_PROPERTY_VALIDATOR.TYPE.POSITIVE,_PROPERTY_VALIDATOR.RULE.MUST_BE_SET)),b.onRotationChangedThreshold&&(o=_PROPERTY_VALIDATOR.validate("onRotationChangedThreshold",b.onRotationChangedThreshold,_PROPERTY_VALIDATOR.TYPE.POSITIVE,_PROPERTY_VALIDATOR.RULE.MUST_BE_SET))}c=AR.om.createObjectID(),AR.i.callAsync({objectId:c,is:"AR.i.imageTrackerInterface.createTracker",sourceId:h,enabled:i,physicalTargetImageHeights:AR.__toJSONString__(d),extendedRangeRecognition:j,maximumNumberOfConcurrentlyTrackableTargets:k,trackerEfficiencyMode:l,onDisabledTriggerActive:null!=g,onTargetsLoadedTriggerActive:null!=e,onErrorTriggerActive:null!=f,onDistanceChangedThreshold:m,onTranslationChangedThreshold:n,onRotationChangedThreshold:o}),AR.om.registerObjectForID(c,this),this.__defineSetter__("__id",function(){throw AR.EXCEPTION.create("__id",AR.EXCEPTION.TYPE.IMMUTABLE)}),this.__defineGetter__("__id",function(){return c}),this.__defineSetter__("__maximumNumberOfConcurrentlyTrackableTargets",function(){throw AR.EXCEPTION.create("__maximumNumberOfConcurrentlyTrackableTargets",AR.EXCEPTION.TYPE.IMMUTABLE)}),this.__defineGetter__("__maximumNumberOfConcurrentlyTrackableTargets",function(){return k}),this.__defineSetter__("enabled",function(a){a=_PROPERTY_VALIDATOR.validate("enabled",a,_PROPERTY_VALIDATOR.TYPE.BOOLEAN,_PROPERTY_VALIDATOR.RULE.MUST_BE_SET),AR.i.callAsync({objectId:c,is:"AR.i.imageTrackerInterface.setEnabled",enabled:a})}),this.__defineGetter__("enabled",function(){return AR.i.callSync({objectId:c,is:"AR.i.imageTrackerInterface.isEnabled"})}),this.__defineSetter__("physicalTargetImageHeights",function(a){for(var b in a)_PROPERTY_VALIDATOR.validate("physicalTargetImageHeights",a[b],_PROPERTY_VALIDATOR.TYPE.POSITIVE_INT,_PROPERTY_VALIDATOR.RULE.MUST_BE_SET);d=a,AR.i.callAsync({objectId:c,is:"AR.i.imageTrackerInterface.setPhysicalTargetImageHeights",physicalTargetImageHeights:d})}),this.__defineGetter__("physicalTargetImageHeights",function(){return d}),this.__defineSetter__("onTargetsLoaded",function(a){a=_PROPERTY_VALIDATOR.validate("onTargetsLoaded",a,_PROPERTY_VALIDATOR.TYPE.FUNCTION,_PROPERTY_VALIDATOR.RULE.MUST_BE_SET),e=a,AR.i.callAsync({objectId:c,is:"AR.i.imageTrackerInterface.setOnTargetsLoadedTriggerActive",onTargetsLoadedTriggerActive:null!=a})}),this.__defineGetter__("onTargetsLoaded",function(){return e}),this.__defineSetter__("onError",function(a){a=_PROPERTY_VALIDATOR.validate("onError",a,_PROPERTY_VALIDATOR.TYPE.FUNCTION,_PROPERTY_VALIDATOR.RULE.MUST_BE_SET),f=a,AR.i.callAsync({objectId:c,is:"AR.i.imageTrackerInterface.setOnErrorTriggerActive",onErrorTriggerActive:null!=a})}),this.__defineGetter__("onError",function(){return f}),this.__defineSetter__("onDisabled",function(a){a=_PROPERTY_VALIDATOR.validate("onDisabled",a,_PROPERTY_VALIDATOR.TYPE.FUNCTION,_PROPERTY_VALIDATOR.RULE.MUST_BE_SET),g=a,AR.i.callAsync({objectId:c,is:"AR.i.imageTrackerInterface.setOnDisabledTriggerActive",onDisabledTriggerActive:null!=a})}),this.__defineGetter__("onDisabled",function(){return g}),this.__defineSetter__("onDistanceChangedThreshold",function(a){m=_PROPERTY_VALIDATOR.validate("onDistanceChangedThreshold",a,_PROPERTY_VALIDATOR.TYPE.POSITIVE_INT,_PROPERTY_VALIDATOR.RULE.MUST_BE_SET),AR.i.callAsync({objectId:c,is:"AR.i.imageTrackerInterface.setOnDistanceChangedThreshold",onDistanceChangedThreshold:m})}),this.__defineGetter__("onDistanceChangedThreshold",function(){return m}),this.__defineSetter__("onTranslationChangedThreshold",function(a){n=_PROPERTY_VALIDATOR.validate("onTranslationChangedThreshold",a,_PROPERTY_VALIDATOR.TYPE.POSITIVE_INT,_PROPERTY_VALIDATOR.RULE.MUST_BE_SET),AR.i.callAsync({objectId:c,is:"AR.i.imageTrackerInterface.setOnTranslationChangedThreshold",onTranslationChangedThreshold:n})}),this.__defineGetter__("onTranslationChangedThreshold",function(){return n}),this.__defineSetter__("onRotationChangedThreshold",function(a){o=_PROPERTY_VALIDATOR.validate("onRotationChangedThreshold",a,_PROPERTY_VALIDATOR.TYPE.POSITIVE_INT,_PROPERTY_VALIDATOR.RULE.MUST_BE_SET),AR.i.callAsync({objectId:c,is:"AR.i.imageTrackerInterface.setOnRotationChangedThreshold",onRotationChangedThreshold:o})}),this.__defineGetter__("onRotationChangedThreshold",function(){return o})}}),AR.ImageTarget=AR.ARchitectObject.extend({init:function(a,b,c){var d=[],e=a,f=b,g=c,h=function(){},i=function(){},j=function(){};this.__defineSetter__("__trackableId",function(){throw AR.EXCEPTION.create("__trackableId",AR.EXCEPTION.TYPE.IMMUTABLE)}),this.__defineGetter__("__trackableId",function(){return g}),this.__defineSetter__("__drawables",function(a){d=a}),this.__defineGetter__("__drawables",function(){return d}),this.__defineSetter__("name",function(){throw AR.EXCEPTION.create("name",AR.EXCEPTION.TYPE.IMMUTABLE)}),this.__defineGetter__("name",function(){return e}),this.__defineSetter__("uniqueId",function(){throw AR.EXCEPTION.create("uniqueId",AR.EXCEPTION.TYPE.IMMUTABLE)}),this.__defineGetter__("uniqueId",function(){return f}),this.__defineSetter__("onDistanceChanged",function(a){h=_PROPERTY_VALIDATOR.validate("onDistanceChanged",a,_PROPERTY_VALIDATOR.TYPE.FUNCTION,_PROPERTY_VALIDATOR.RULE.CAN_BE_EMPTY),AR.i.callAsync({objectId:this.__trackableId,is:"AR.i.imageTrackableInterface.setImageTargetOnDistanceChangedTriggerActive",imageTargetName:this.name,imageTargetUniqueId:this.uniqueId,onDistanceChangedTriggerActive:null!=h})}),this.__defineGetter__("onDistanceChanged",function(){return h}),this.__defineSetter__("onTranslationChanged",function(a){i=_PROPERTY_VALIDATOR.validate("onTranslationChanged",a,_PROPERTY_VALIDATOR.TYPE.FUNCTION,_PROPERTY_VALIDATOR.RULE.CAN_BE_EMPTY),AR.i.callAsync({objectId:this.__trackableId,is:"AR.i.imageTrackableInterface.setImageTargetOnTranslationChangedTriggerActive",imageTargetName:this.name,imageTargetUniqueId:this.uniqueId,onTranslationChangedTriggerActive:null!=i})}),this.__defineGetter__("onTranslationChanged",function(){return i}),this.__defineSetter__("onRotationChanged",function(a){j=_PROPERTY_VALIDATOR.validate("onRotationChanged",a,_PROPERTY_VALIDATOR.TYPE.FUNCTION,_PROPERTY_VALIDATOR.RULE.CAN_BE_EMPTY),AR.i.callAsync({objectId:this.__trackableId,is:"AR.i.imageTrackableInterface.setImageTargetOnRotationChangedTriggerActive",imageTargetName:this.name,imageTargetUniqueId:this.uniqueId,onRotationChangedTriggerActive:null!=j})}),this.__defineGetter__("onRotationChanged",function(){return j})},getDistanceTo:function(a){return a=_PROPERTY_VALIDATOR.validate("destinationTarget",a,{type:_PROPERTY_VALIDATOR.TYPE.OBJECT,ofType:AR.ImageTarget},_PROPERTY_VALIDATOR.RULE.MUST_BE_SET),AR.i.callSync({objectId:this.__trackableId,is:"AR.i.imageTrackableInterface.getImageTargetDistanceTo",imageTargetName:this.name,imageTargetUniqueId:this.uniqueId,destinationImageTargetName:a.name,destinationImageTargetUniqueId:a.uniqueId})},getTranslationTo:function(a){return a=_PROPERTY_VALIDATOR.validate("destinationTarget",a,{type:_PROPERTY_VALIDATOR.TYPE.OBJECT,ofType:AR.ImageTarget},_PROPERTY_VALIDATOR.RULE.MUST_BE_SET),AR.i.callSync({objectId:this.__trackableId,is:"AR.i.imageTrackableInterface.getImageTargetTranslationTo",imageTargetName:this.name,imageTargetUniqueId:this.uniqueId,destinationImageTargetName:a.name,destinationImageTargetUniqueId:a.uniqueId})},getRotationTo:function(a){return a=_PROPERTY_VALIDATOR.validate("destinationTarget",a,{type:_PROPERTY_VALIDATOR.TYPE.OBJECT,ofType:AR.ImageTarget},_PROPERTY_VALIDATOR.RULE.MUST_BE_SET),AR.i.callSync({objectId:this.__trackableId,is:"AR.i.imageTrackableInterface.getImageTargetRotationTo",imageTargetName:this.name,imageTargetUniqueId:this.uniqueId,destinationImageTargetName:a.name,destinationImageTargetUniqueId:a.uniqueId})}}),AR.TargetCollectionResource=AR.ARchitectObject.extend({init:function(a,b){var c,d,e,f,g=_PROPERTY_VALIDATOR.validate("url",a,_PROPERTY_VALIDATOR.TYPE.STRING,_PROPERTY_VALIDATOR.RULE.MUST_BE_SET);b&&(b.onProgress&&(c=_PROPERTY_VALIDATOR.validate("onProgress",b.onProgress,_PROPERTY_VALIDATOR.TYPE.FUNCTION,_PROPERTY_VALIDATOR.RULE.CAN_BE_EMPTY)),b.onLoaded&&(d=_PROPERTY_VALIDATOR.validate("onLoaded",b.onLoaded,_PROPERTY_VALIDATOR.TYPE.FUNCTION,_PROPERTY_VALIDATOR.RULE.CAN_BE_EMPTY)),b.onError&&(e=_PROPERTY_VALIDATOR.validate("onError",b.onError,_PROPERTY_VALIDATOR.TYPE.FUNCTION,_PROPERTY_VALIDATOR.RULE.CAN_BE_EMPTY))),f=AR.om.createObjectID(),AR.i.callAsync({objectId:f,is:"AR.i.targetCollectionResourceInterface.createTargetCollectionResource",url:AR.__resourceUrl(g),onProgressTriggerActive:null!=c,onLoadedTriggerActive:null!=d,onErrorTriggerActive:null!=e}),AR.om.registerObjectForID(f,this),this.__defineSetter__("URL",function(){throw AR.EXCEPTION.create("URL",AR.EXCEPTION.TYPE.IMMUTABLE)}),this.__defineGetter__("URL",function(){return g}),this.__defineSetter__("loading",function(){throw AR.EXCEPTION.create("loading",AR.EXCEPTION.TYPE.IMMUTABLE)}),this.__defineGetter__("loading",function(){return AR.i.callSync({objectId:f,is:"AR.i.targetCollectionResourceInterface.isLoading"})}),this.__defineSetter__("onProgress",function(a){a=_PROPERTY_VALIDATOR.validate("onProgress",a,_PROPERTY_VALIDATOR.TYPE.FUNCTION,_PROPERTY_VALIDATOR.RULE.CAN_BE_EMPTY),c=a,AR.i.callAsync({objectId:f,is:"AR.i.targetCollectionResourceInterface.setOnProgressTriggerActive",onProgressTriggerActive:null!=a})}),this.__defineGetter__("onProgress",function(){return c}),this.__defineSetter__("onLoaded",function(a){a=_PROPERTY_VALIDATOR.validate("onLoaded",a,_PROPERTY_VALIDATOR.TYPE.FUNCTION,_PROPERTY_VALIDATOR.RULE.CAN_BE_EMPTY),d=a,AR.i.callAsync({objectId:f,is:"AR.i.targetCollectionResourceInterface.setOnLoadedTriggerActive",onLoadedTriggerActive:null!=a})}),this.__defineGetter__("onLoaded",function(){return d}),this.__defineSetter__("onError",function(a){a=_PROPERTY_VALIDATOR.validate("onError",a,_PROPERTY_VALIDATOR.TYPE.FUNCTION,_PROPERTY_VALIDATOR.RULE.CAN_BE_EMPTY),e=a,AR.i.callAsync({objectId:f,is:"AR.i.targetCollectionResourceInterface.setOnErrorTriggerActive",onErrorTriggerActive:null!=a})}),this.__defineGetter__("onError",function(){return e}),this.__defineSetter__("__id",function(){throw AR.EXCEPTION.create("__id",AR.EXCEPTION.TYPE.IMMUTABLE)}),this.__defineGetter__("__id",function(){return f}),this.cancel=function(){AR.i.callAsync({objectId:f,is:"AR.i.targetCollectionResourceInterface.cancel"})}}}),AR.CloudRecognitionService=AR.ARchitectObject.extend({init:function(a,b,c,d){var e,f,g,h;"string"==typeof a&&"string"==typeof b&&void 0==c&&void 0==d?(e=_PROPERTY_VALIDATOR.validate("clientToken",a,_PROPERTY_VALIDATOR.TYPE.STRING,_PROPERTY_VALIDATOR.RULE.MUST_BE_SET),f="",g=_PROPERTY_VALIDATOR.validate("targetCollectionId",b,_PROPERTY_VALIDATOR.TYPE.STRING,_PROPERTY_VALIDATOR.RULE.MUST_BE_SET),h=void 0):"string"==typeof a&&"string"==typeof b&&"object"==typeof c&&void 0==d?(e=_PROPERTY_VALIDATOR.validate("clientToken",a,_PROPERTY_VALIDATOR.TYPE.STRING,_PROPERTY_VALIDATOR.RULE.MUST_BE_SET),f="",g=_PROPERTY_VALIDATOR.validate("targetCollectionId",b,_PROPERTY_VALIDATOR.TYPE.STRING,_PROPERTY_VALIDATOR.RULE.MUST_BE_SET),h=c):"string"==typeof a&&"string"==typeof b&&"string"==typeof c&&void 0==d?(e=_PROPERTY_VALIDATOR.validate("clientToken",a,_PROPERTY_VALIDATOR.TYPE.STRING,_PROPERTY_VALIDATOR.RULE.MUST_BE_SET),f=_PROPERTY_VALIDATOR.validate("groupId",b,_PROPERTY_VALIDATOR.TYPE.STRING,_PROPERTY_VALIDATOR.RULE.MUST_BE_SET),g=_PROPERTY_VALIDATOR.validate("targetCollectionId",c,_PROPERTY_VALIDATOR.TYPE.STRING,_PROPERTY_VALIDATOR.RULE.MUST_BE_SET),h=void 0):"string"==typeof a&&"string"==typeof b&&"string"==typeof c&&"object"==typeof d&&(e=_PROPERTY_VALIDATOR.validate("clientToken",a,_PROPERTY_VALIDATOR.TYPE.STRING,_PROPERTY_VALIDATOR.RULE.MUST_BE_SET),f=_PROPERTY_VALIDATOR.validate("groupId",b,_PROPERTY_VALIDATOR.TYPE.STRING,_PROPERTY_VALIDATOR.RULE.MUST_BE_SET),g=_PROPERTY_VALIDATOR.validate("targetCollectionId",c,_PROPERTY_VALIDATOR.TYPE.STRING,_PROPERTY_VALIDATOR.RULE.MUST_BE_SET),h=d);var i,j,k,l,m,n,o=e,p=f,q=g,r="",s=1e3;h&&(h.onInitialized&&(i=_PROPERTY_VALIDATOR.validate("onInitialized",h.onInitialized,_PROPERTY_VALIDATOR.TYPE.FUNCTION,_PROPERTY_VALIDATOR.RULE.CAN_BE_EMPTY)),h.onError&&(j=_PROPERTY_VALIDATOR.validate("onError",h.onError,_PROPERTY_VALIDATOR.TYPE.FUNCTION,_PROPERTY_VALIDATOR.RULE.CAN_BE_EMPTY)),h.cloudRecognitionServerURL&&(r=_PROPERTY_VALIDATOR.validate("cloudRecognitionServerURL",h.cloudRecognitionServerURL,_PROPERTY_VALIDATOR.TYPE.STRING,_PROPERTY_VALIDATOR.RULE.CAN_BE_EMPTY))),k=AR.om.createObjectID(),AR.i.callAsync({objectId:k,is:"AR.i.cloudRecognitionServiceInterface.createCloudRecognitionService",clientToken:o,groupId:p,targetCollectionId:q,onInitializedTriggerActive:null!=i,onErrorTriggerActive:null!=j,cloudRecognitionServerURL:r}),AR.om.registerObjectForID(k,this),this.__defineSetter__("clientToken",function(){throw AR.EXCEPTION.create("clientToken",AR.EXCEPTION.TYPE.IMMUTABLE)}),this.__defineGetter__("clientToken",function(){return o}),this.__defineSetter__("groupId",function(){throw AR.EXCEPTION.create("groupId",AR.EXCEPTION.TYPE.IMMUTABLE)}),this.__defineGetter__("groupId",function(){return p}),this.__defineSetter__("targetCollectionId",function(){throw AR.EXCEPTION.create("targetCollectionId",AR.EXCEPTION.TYPE.IMMUTABLE)}),this.__defineGetter__("targetCollectionId",function(){return q}),this.__defineSetter__("onInitialized",function(a){a=_PROPERTY_VALIDATOR.validate("onInitialized",a,_PROPERTY_VALIDATOR.TYPE.FUNCTION,_PROPERTY_VALIDATOR.RULE.CAN_BE_EMPTY),i=a,AR.i.callAsync({objectId:k,is:"AR.i.cloudRecognitionServiceInterface.setOnInitializedTriggerActive",onInitializedTriggerActive:null!=a})}),this.__defineGetter__("onInitialized",function(){return i}),this.__defineSetter__("onError",function(a){a=_PROPERTY_VALIDATOR.validate("onError",a,_PROPERTY_VALIDATOR.TYPE.FUNCTION,_PROPERTY_VALIDATOR.RULE.CAN_BE_EMPTY),j=a,AR.i.callAsync({objectId:k,is:"AR.i.cloudRecognitionServiceInterface.setOnErrorTriggerActive",onErrorTriggerActive:null!=a})}),this.__defineGetter__("onError",function(){return j}),this.__defineSetter__("__id",function(){throw AR.EXCEPTION.create("__id",AR.EXCEPTION.TYPE.IMMUTABLE)}),this.__defineGetter__("__id",function(){return k}),this.recognize=function(a,b){l=_PROPERTY_VALIDATOR.validate("onRecognized",a,_PROPERTY_VALIDATOR.TYPE.FUNCTION,_PROPERTY_VALIDATOR.RULE.MUST_BE_SET),m=_PROPERTY_VALIDATOR.validate("onError",b,_PROPERTY_VALIDATOR.TYPE.FUNCTION,_PROPERTY_VALIDATOR.RULE.CAN_BE_EMPTY),AR.i.callAsync({is:"AR.i.cloudRecognitionServiceInterface.recognize",objectId:k,onRecognizedTriggerActive:null!=l,onRecognitionErrorTriggerActive:null!=m})},this.startContinuousRecognition=function(a,b,c,d){s=_PROPERTY_VALIDATOR.validate("interval",a,_PROPERTY_VALIDATOR.TYPE.POSITIVE_INT,_PROPERTY_VALIDATOR.RULE.MUST_BE_SET,function(a,b){return b<500&&AR.logger.error("The supplied interval is too short. A minimum interval of 500 ms is required. Continuous recognition is started with 500 ms."),Math.max(b,500)}),l=_PROPERTY_VALIDATOR.validate("onRecognized",c,_PROPERTY_VALIDATOR.TYPE.FUNCTION,_PROPERTY_VALIDATOR.RULE.MUST_BE_SET),m=_PROPERTY_VALIDATOR.validate("onRecognitionError",d,_PROPERTY_VALIDATOR.TYPE.FUNCTION,_PROPERTY_VALIDATOR.RULE.CAN_BE_EMPTY),n=_PROPERTY_VALIDATOR.validate("onInterruption",b,_PROPERTY_VALIDATOR.TYPE.FUNCTION,_PROPERTY_VALIDATOR.RULE.CAN_BE_EMPTY),AR.i.callAsync({is:"AR.i.cloudRecognitionServiceInterface.startContinuousRecognition",objectId:k,continuousInterval:s,onRecognizedTriggerActive:null!=l,onRecognitionErrorTriggerActive:null!=m,onContinuousRecognitionInterruptionTriggerActive:null!=n})},this.stopContinuousRecognition=function(){AR.i.callAsync({is:"AR.i.cloudRecognitionServiceInterface.stopContinuousRecognition",objectId:k})},this.__defineSetter__("onRecognized",function(a){a=_PROPERTY_VALIDATOR.validate("onRecognized",a,_PROPERTY_VALIDATOR.TYPE.FUNCTION,_PROPERTY_VALIDATOR.RULE.MUST_BE_SET),l=a,AR.i.callAsync({objectId:k,is:"AR.i.cloudRecognitionServiceInterface.setOnRecognizedTriggerActive",onRecognizedTriggerActive:null!=a})}),this.__defineGetter__("onRecognized",function(){return l}),this.__defineSetter__("onRecognitionError",function(a){a=_PROPERTY_VALIDATOR.validate("onRecognitionError",a,_PROPERTY_VALIDATOR.TYPE.FUNCTION,_PROPERTY_VALIDATOR.RULE.MUST_BE_SET),m=a,AR.i.callAsync({objectId:k,is:"AR.i.cloudRecognitionServiceInterface.setOnRecognitionErrorTriggerActive",onRecognitionErrorTriggerActive:null!=a})}),this.__defineGetter__("onRecognitionError",function(){return m}),this.__defineSetter__("onContinuousRecognitionInterruption",function(a){a=_PROPERTY_VALIDATOR.validate("onContinuousRecognitionInterruption",a,_PROPERTY_VALIDATOR.TYPE.FUNCTION,_PROPERTY_VALIDATOR.RULE.MUST_BE_SET),n=a,AR.i.callAsync({objectId:k,is:"AR.i.cloudRecognitionServiceInterface.setOnContinuousRecognitionInterruptionTriggerActive",onContinuousRecognitionInterruptionTriggerActive:null!=a})}),this.__defineGetter__("onContinuousRecognitionInterruption",function(){return n})}}),AR.ImageTrackable=AR.ARObject.extend({init:function(a,b,c){c=c||{};var d=this._super(c),e=_PROPERTY_VALIDATOR.validate("tracker",a,{type:_PROPERTY_VALIDATOR.TYPE.CLASS,ofType:AR.ARchitectObject},_PROPERTY_VALIDATOR.RULE.MUST_BE_SET,function(a,b){if(b instanceof AR.ImageTracker||b instanceof AR.BaseTracker)return b;throw AR.EXCEPTION.create(a,AR.EXCEPTION.TYPE.OBJECT,"ImageTracker (or deprecated Cloud-/ClientTracker) ")});if(c.snapToScreen&&e.__maximumNumberOfConcurrentlyTrackableTargets>1)throw AR.EXCEPTION.create("snapToScreen",AR.EXCEPTION.TYPE.ILLEGAL_STATE,"SnapToScreen may not be set when tracking multiple concurrent images.");var f,g,h,i,j,k,l=_PROPERTY_VALIDATOR.validate("targetName",b,_PROPERTY_VALIDATOR.TYPE.STRING,_PROPERTY_VALIDATOR.RULE.MUST_BE_SET),m=new AR.ScreenSnapper(this,c.snapToScreen?c.snapToScreen:null),n=new AR.DistanceToTargetController(this,c.distanceToTarget?c.distanceToTarget:null),o=_PROPERTY_VALIDATOR.validate("enableExtendedTracking",!!c.enableExtendedTracking&&c.enableExtendedTracking,_PROPERTY_VALIDATOR.TYPE.BOOLEAN,_PROPERTY_VALIDATOR.RULE.CAN_BE_EMPTY),p=_PROPERTY_VALIDATOR.validate("extendedTarget",null!=c.extendedTarget||void 0!=c.extendedTarget?c.extendedTarget:"*",_PROPERTY_VALIDATOR.TYPE.STRING,_PROPERTY_VALIDATOR.RULE.CAN_BE_EMPTY),q=_PROPERTY_VALIDATOR.validate("onExtendedTrackingQualityChanged",c.onExtendedTrackingQualityChanged?c.onExtendedTrackingQualityChanged:null,_PROPERTY_VALIDATOR.TYPE.FUNCTION,_PROPERTY_VALIDATOR.RULE.CAN_BE_EMPTY),r=[];c.triggers&&(c.triggers.onEnterFieldOfVision&&(j=_PROPERTY_VALIDATOR.validate("triggers.onEnterFieldOfVision",c.triggers.onEnterFieldOfVision,_PROPERTY_VALIDATOR.TYPE.FUNCTION,_PROPERTY_VALIDATOR.RULE.CAN_BE_EMPTY)),c.triggers.onExitFieldOfVision&&(k=_PROPERTY_VALIDATOR.validate("triggers.onExitFieldOfVision",c.triggers.onExitFieldOfVision,_PROPERTY_VALIDATOR.TYPE.FUNCTION,_PROPERTY_VALIDATOR.RULE.CAN_BE_EMPTY))),c.onEnterFieldOfVision&&(j=_PROPERTY_VALIDATOR.validate("onEnterFieldOfVision",c.onEnterFieldOfVision,_PROPERTY_VALIDATOR.TYPE.FUNCTION,_PROPERTY_VALIDATOR.RULE.CAN_BE_EMPTY)),c.onExitFieldOfVision&&(k=_PROPERTY_VALIDATOR.validate("onExitFieldOfVision",c.onExitFieldOfVision,_PROPERTY_VALIDATOR.TYPE.FUNCTION,_PROPERTY_VALIDATOR.RULE.CAN_BE_EMPTY));var s,t;c.onImageRecognized&&(s=_PROPERTY_VALIDATOR.validate("onImageRecognized",c.onImageRecognized,_PROPERTY_VALIDATOR.TYPE.FUNCTION,_PROPERTY_VALIDATOR.RULE.CAN_BE_EMPTY)),c.onImageLost&&(t=_PROPERTY_VALIDATOR.validate("onImageLost",c.onImageLost,_PROPERTY_VALIDATOR.TYPE.FUNCTION,_PROPERTY_VALIDATOR.RULE.CAN_BE_EMPTY)),c.onTrackingPlaneClick&&(f=_PROPERTY_VALIDATOR.validate("onTrackingPlaneClick",c.onTrackingPlaneClick,_PROPERTY_VALIDATOR.TYPE.FUNCTION,_PROPERTY_VALIDATOR.RULE.CAN_BE_EMPTY)),c.onTrackingPlaneDragBegan&&(g=_PROPERTY_VALIDATOR.validate("onTrackingPlaneDragBegan",c.onTrackingPlaneDragBegan,_PROPERTY_VALIDATOR.TYPE.FUNCTION,_PROPERTY_VALIDATOR.RULE.CAN_BE_EMPTY)),c.onTrackingPlaneDragChanged&&(h=_PROPERTY_VALIDATOR.validate("onTrackingPlaneDragChanged",c.onTrackingPlaneDragChanged,_PROPERTY_VALIDATOR.TYPE.FUNCTION,_PROPERTY_VALIDATOR.RULE.CAN_BE_EMPTY)),c.onTrackingPlaneDragEnded&&(i=_PROPERTY_VALIDATOR.validate("onTrackingPlaneDragEnded",c.onTrackingPlaneDragEnded,_PROPERTY_VALIDATOR.TYPE.FUNCTION,_PROPERTY_VALIDATOR.RULE.CAN_BE_EMPTY));var u=AR.om.createObjectID(),v=m.resolvedBoundingBox;AR.i.callAsync({objectId:u,is:"AR.i.imageTrackableInterface.createImageTrackable",trackerId:e.__id,targetName:b,enabled:d.enabled,onEnterFieldOfVisionTriggerActive:null!=j,onExitFieldOfVisionTriggerActive:null!=k,onClickTriggerActive:d.onClickTriggerActive,onDragBeganTriggerActive:d.onDragBeganTriggerActive,onDragChangedTriggerActive:d.onDragChangedTriggerActive,onDragEndedTriggerActive:d.onDragEndedTriggerActive,onPanBeganTriggerActive:d.onPanBeganTriggerActive,onPanChangedTriggerActive:d.onPanChangedTriggerActive,onPanEndedTriggerActive:d.onPanEndedTriggerActive,onRotationBeganTriggerActive:d.onRotationBeganTriggerActive,onRotationChangedTriggerActive:d.onRotationChangedTriggerActive,onRotationEndedTriggerActive:d.onRotationEndedTriggerActive,onScaleBeganTriggerActive:d.onScaleBeganTriggerActive,onScaleChangedTriggerActive:d.onScaleChangedTriggerActive, onScaleEndedTriggerActive:d.onScaleEndedTriggerActive,camDrawableIds:AR.__toJSONString__(AR.om.__getIds__(d.drawables.cam)),renderingOrder:d.renderingOrder,snapToScreenEnabled:m.enabled,screenSnapDelay:m.enableDelayed,snapToScreenEnabledOnExitFieldOfVision:m.enabledOnExitFieldOfVision,snapContainerId:v.id,snapPositionRight:v.right,snapPositionTop:v.top,snapPositionLeft:v.left,snapPositionBottom:v.bottom,onSnappedToScreenTriggerActive:null!=m.onSnappedToScreen,onDelayedSnapInterruptionTriggerActive:null!=m.onDelayedSnapInterruption,distanceToTargetChangedThreshold:n.changedThreshold,distanceToTargetChangedTriggerActive:null!=n.onDistanceChanged,enableExtendedTracking:o,extendedTarget:p,onExtendedTrackingQualityChangedTriggerActive:null!=q,onImageRecognizedTriggerActive:null!=s,onImageLostTriggerActive:null!=t,onTrackingPlaneClickTriggerActive:null!=f,onTrackingPlaneDragBeganTriggerActive:null!=g,onTrackingPlaneDragChangedTriggerActive:null!=h,onTrackingPlaneDragEndedTriggerActive:null!=i}),AR.om.registerObjectForID(u,this),this.__defineSetter__("__id",function(a){throw AR.EXCEPTION.create("__id",AR.EXCEPTION.TYPE.IMMUTABLE)}),this.__defineGetter__("__id",function(){return u}),this.__createImageTarget=function(a,b){var c=new AR.ImageTarget(a,b,u);return r.push({name:a,uniqueId:b,target:c}),c},this.__getImageTarget=function(a,b){var c;return r.forEach(function(d){d.name==a&&d.uniqueId==b&&(c=d.target)}),c},this.__destroyImageTarget=function(a,b){var c=-1;r.forEach(function(d){d.name==a&&d.uniqueId==b&&(c=r.indexOf(d))}),c>=0&&r.splice(c,1)},this.__defineSetter__("onTrackingPlaneClick",function(a){a=_PROPERTY_VALIDATOR.validate("onTrackingPlaneClick",a,_PROPERTY_VALIDATOR.TYPE.FUNCTION,_PROPERTY_VALIDATOR.RULE.CAN_BE_EMPTY),f=a,AR.i.callAsync({objectId:this.__id,onTrackingPlaneClickTriggerActive:null!=a,is:"AR.i.imageTrackableInterface.setOnTrackingPlaneClickTriggerActive"})}),this.__defineGetter__("onTrackingPlaneClick",function(){return f}),this.__defineSetter__("onTrackingPlaneDragBegan",function(a){a=_PROPERTY_VALIDATOR.validate("onTrackingPlaneDragBegan",a,_PROPERTY_VALIDATOR.TYPE.FUNCTION,_PROPERTY_VALIDATOR.RULE.CAN_BE_EMPTY),g=a,AR.i.callAsync({objectId:this.__id,onTrackingPlaneDragBeganTriggerActive:null!=a,is:"AR.i.imageTrackableInterface.setOnTrackingPlaneDragBeganTriggerActive"})}),this.__defineGetter__("onTrackingPlaneDragBegan",function(){return g}),this.__defineSetter__("onTrackingPlaneDragChanged",function(a){a=_PROPERTY_VALIDATOR.validate("onTrackingPlaneDragChanged",a,_PROPERTY_VALIDATOR.TYPE.FUNCTION,_PROPERTY_VALIDATOR.RULE.CAN_BE_EMPTY),h=a,AR.i.callAsync({objectId:this.__id,onTrackingPlaneDragChangedTriggerActive:null!=a,is:"AR.i.imageTrackableInterface.setOnTrackingPlaneDragChangedTriggerActive"})}),this.__defineGetter__("onTrackingPlaneDragChanged",function(){return h}),this.__defineSetter__("onTrackingPlaneDragEnded",function(a){a=_PROPERTY_VALIDATOR.validate("onTrackingPlaneDragEnded",a,_PROPERTY_VALIDATOR.TYPE.FUNCTION,_PROPERTY_VALIDATOR.RULE.CAN_BE_EMPTY),i=a,AR.i.callAsync({objectId:this.__id,onTrackingPlaneDragEndedTriggerActive:null!=a,is:"AR.i.imageTrackableInterface.setOnTrackingPlaneDragEndedTriggerActive"})}),this.__defineGetter__("onTrackingPlaneDragEnded",function(){return i}),this.__defineSetter__("tracker",function(a){throw AR.EXCEPTION.create("tracker",AR.EXCEPTION.TYPE.IMMUTABLE)}),this.__defineGetter__("tracker",function(){return e}),this.__defineSetter__("targetName",function(a){throw AR.EXCEPTION.create("targetName",AR.EXCEPTION.TYPE.IMMUTABLE)}),this.__defineGetter__("targetName",function(){return l}),this.__defineSetter__("enableExtendedTracking",function(a){throw AR.EXCEPTION.create("enableExtendedTracking",AR.EXCEPTION.TYPE.IMMUTABLE)}),this.__defineGetter__("enableExtendedTracking",function(){return o}),this.__defineSetter__("extendedTarget",function(a){p=_PROPERTY_VALIDATOR.validate("extendedTarget",null!=a||void 0!=a?a:"*",_PROPERTY_VALIDATOR.TYPE.STRING,_PROPERTY_VALIDATOR.RULE.MUST_BE_SET),AR.i.callAsync({objectId:u,is:"AR.i.imageTrackableInterface.setExtendedTarget",extendedTarget:p})}),this.__defineGetter__("extendedTarget",function(){return p}),this.__defineSetter__("onExtendedTrackingQualityChanged",function(a){q=_PROPERTY_VALIDATOR.validate("onExtendedTrackingQualityChanged",a||null,_PROPERTY_VALIDATOR.TYPE.FUNCTION,_PROPERTY_VALIDATOR.RULE.CAN_BE_EMPTY),AR.i.callAsync({objectId:u,is:"AR.i.imageTrackableInterface.setOnExtendedTrackingQualityChangedTriggerActive",onExtendedTrackingQualityChangedTriggerActive:null!=q})}),this.__defineGetter__("onExtendedTrackingQualityChanged",function(){return q}),this.__defineSetter__("snapToScreen",function(a){m=new AR.ScreenSnapper(this,a)}),this.__defineGetter__("snapToScreen",function(){return m}),this.__defineSetter__("distanceToTarget",function(a){throw AR.EXCEPTION.create("distanceToTarget",AR.EXCEPTION.TYPE.IMMUTABLE)}),this.__defineGetter__("distanceToTarget",function(){return n}),this.__defineSetter__("aspectRatio",function(a){throw AR.EXCEPTION.create("aspectRatio",AR.EXCEPTION.TYPE.IMMUTABLE)}),this.__defineGetter__("aspectRatio",function(){var a=AR.i.callSync({objectId:u,is:"AR.i.imageTrackableInterface.getAspectRatio"});return a<0?void 0:a}),this.__defineSetter__("onEnterFieldOfVision",function(a){a=_PROPERTY_VALIDATOR.validate("onEnterFieldOfVision",a,_PROPERTY_VALIDATOR.TYPE.FUNCTION,_PROPERTY_VALIDATOR.RULE.CAN_BE_EMPTY),j=a,AR.i.callAsync({objectId:this.__id,onEnterFieldOfVisionTriggerActive:null!=a,is:"AR.i.imageTrackableInterface.setOnEnterFieldOfVisionTriggerActive"})}),this.__defineGetter__("onEnterFieldOfVision",function(){return j}),this.__defineSetter__("onExitFieldOfVision",function(a){a=_PROPERTY_VALIDATOR.validate("onExitFieldOfVision",a,_PROPERTY_VALIDATOR.TYPE.FUNCTION,_PROPERTY_VALIDATOR.RULE.CAN_BE_EMPTY),k=a,AR.i.callAsync({objectId:this.__id,onExitFieldOfVisionTriggerActive:null!=a,is:"AR.i.imageTrackableInterface.setOnExitFieldOfVisionTriggerActive"})}),this.__defineGetter__("onExitFieldOfVision",function(){return k}),this.__defineSetter__("onImageRecognized",function(a){a=_PROPERTY_VALIDATOR.validate("onImageRecognized",a,_PROPERTY_VALIDATOR.TYPE.FUNCTION,_PROPERTY_VALIDATOR.RULE.CAN_BE_EMPTY),s=a,AR.i.callAsync({objectId:this.__id,onImageRecognizedTriggerActive:null!=a,is:"AR.i.imageTrackableInterface.setOnImageRecognizedTriggerActive"})}),this.__defineGetter__("onImageRecognized",function(){return s}),this.__defineSetter__("onImageLost",function(a){a=_PROPERTY_VALIDATOR.validate("onImageLost",a,_PROPERTY_VALIDATOR.TYPE.FUNCTION,_PROPERTY_VALIDATOR.RULE.CAN_BE_EMPTY),t=a,AR.i.callAsync({objectId:this.__id,onImageLostTriggerActive:null!=a,is:"AR.i.imageTrackableInterface.setOnImageLostTriggerActive"})}),this.__defineGetter__("onImageLost",function(){return t}),this.addImageTargetCamDrawables=function(a,b,c){Array.isArray(b)?b.reverse().forEach(function(b){a.__drawables=d.arObject.__addDrawable(a.__drawables,b,c,AR.Drawable)}):a.__drawables=d.arObject.__addDrawable(a.__drawables,b,c,AR.Drawable),AR.i.callAsync({objectId:this.__id,is:"AR.i.imageTrackableInterface.setImageTargetCamDrawables",targetImageCamDrawableIds:AR.__toJSONString__(AR.om.__getIds__(a.__drawables)),targetImageName:a.name,targetImageUniqueId:a.uniqueId})},this.removeImageTargetCamDrawables=function(a,b){Array.isArray(b)?b.forEach(function(b){a.__drawables=d.arObject.__removeDrawable(a.__drawables,b,AR.Drawable)}):b>-1?a.__drawables.splice(b,1):a.__drawables=d.arObject.__removeDrawable(a.__drawables,b,AR.Drawable),AR.i.callAsync({objectId:this.__id,is:"AR.i.imageTrackableInterface.setImageTargetCamDrawables",targetImageCamDrawableIds:AR.__toJSONString__(AR.om.__getIds__(a.__drawables)),targetImageName:a.name,targetImageUniqueId:a.uniqueId})}},stopExtendedTracking:function(){AR.i.callAsync({objectId:this.__id,is:"AR.i.imageTrackableInterface.stopExtendedTracking"})}}),AR.Trackable2DObject=AR.ImageTrackable,AR.BaseTracker=AR.ARchitectObject.extend({init:function(a,b){this._super();var c=!1,d=function(){},e=function(){c=!0,d()};a.onLoaded&&(a.onTargetsLoaded=e,d=_PROPERTY_VALIDATOR.validate("onLoaded",a.onLoaded,_PROPERTY_VALIDATOR.TYPE.FUNCTION,_PROPERTY_VALIDATOR.RULE.CAN_BE_EMPTY));var f=new AR.ImageTracker(b,a);return this.__defineSetter__("enabled",function(a){f.enabled=a}),this.__defineGetter__("enabled",function(){return f.enabled}),this.__defineSetter__("physicalTargetImageHeights",function(a){f.physicalTargetImageHeights=a}),this.__defineGetter__("physicalTargetImageHeights",function(){return f.physicalTargetImageHeights}),this.__defineSetter__("onDisabled",function(a){f.onDisabled=a}),this.__defineGetter__("onDisabled",function(){return f.onDisabled}),this.__defineSetter__("onLoaded",function(a){d=_PROPERTY_VALIDATOR.validate("onLoaded",a,_PROPERTY_VALIDATOR.TYPE.FUNCTION,_PROPERTY_VALIDATOR.RULE.CAN_BE_EMPTY)}),this.__defineGetter__("onLoaded",function(){return d}),this.__defineSetter__("onError",function(a){f.onError=a}),this.__defineGetter__("onError",function(){return f.onError}),this.isLoaded=function(){return c},f.__id}}),AR.CloudTracker=AR.BaseTracker.extend({init:function(a,b,c){c=c||{},c.onLoaded&&(c.onInitialized=c.onLoaded,delete c.onLoaded),this._cloudRecognitionService=new AR.CloudRecognitionService(a,b,c),delete c.onError;var d=this._super(c,this._cloudRecognitionService);this.__defineSetter__("token",function(a){throw AR.EXCEPTION.create("token",AR.EXCEPTION.TYPE.IMMUTABLE)}),this.__defineGetter__("token",function(){return this._cloudRecognitionService.clientToken}),this.__defineSetter__("targetCollectionID",function(a){throw AR.EXCEPTION.create("targetCollectionID",AR.EXCEPTION.TYPE.IMMUTABLE)}),this.__defineGetter__("targetCollectionID",function(){return this._cloudRecognitionService.targetCollectionId}),this.__defineSetter__("onRecognized",function(a){throw AR.EXCEPTION.create("onRecognized",AR.EXCEPTION.TYPE.IMMUTABLE)}),this.__defineGetter__("onRecognized",function(){return this._cloudRecognitionService.onRecognized}),this.__defineSetter__("onRecognitionError",function(a){throw AR.EXCEPTION.create("onRecognitionError",AR.EXCEPTION.TYPE.IMMUTABLE)}),this.__defineGetter__("onRecognitionError",function(){return this._cloudRecognitionService.onRecognitionError}),this.__defineSetter__("__id",function(a){throw AR.EXCEPTION.create("__id",AR.EXCEPTION.TYPE.IMMUTABLE)}),this.__defineGetter__("__id",function(){return d}),this.__defineGetter__("__onContinuousInterruption__",function(){return this._cloudRecognitionService.onContinuousRecognitionInterruption}),this.recognize=function(a,b){this._cloudRecognitionService.recognize(a,b)},this.startContinuousRecognition=function(a,b,c,d){this._cloudRecognitionService.startContinuousRecognition(a,d,b,c)},this.stopContinuousRecognition=function(){this._cloudRecognitionService.stopContinuousRecognition()}},destroy:function(a){this._cloudRecognitionService.destroy(a),Object.getPrototypeOf(this.constructor.prototype).destroy.call(this,a)}}),AR.ClientTracker=AR.BaseTracker.extend({init:function(a,b){b=b||{};var c=_PROPERTY_VALIDATOR.validate("src",a,_PROPERTY_VALIDATOR.TYPE.STRING,_PROPERTY_VALIDATOR.RULE.MUST_BE_SET);this.resource=new AR.TargetCollectionResource(a);var d=this._super(b,this.resource);this.__defineSetter__("__id",function(a){throw AR.EXCEPTION.create("__id",AR.EXCEPTION.TYPE.IMMUTABLE)}),this.__defineGetter__("__id",function(){return d}),this.__defineSetter__("src",function(a){throw AR.EXCEPTION.create("src",AR.EXCEPTION.TYPE.IMMUTABLE)}),this.__defineGetter__("src",function(){return c})},destroy:function(a){this.resource.destroy(a),Object.getPrototypeOf(this.constructor.prototype).destroy.call(this,a)}}),AR.ImageTarget.prototype.toString=function(){return this.name};var printStackTrace_impl={run:function(a){a=a||function(){try{return this.undef(),null}catch(a){return AR.logger.info&&AR.logger.info("Exception caught: "+a),a}}();var b=this._mode||this.mode(a);return"other"===b?this.other(arguments.callee):this[b](a)},mode:function(a){return a.arguments?this._mode="chrome":"undefined"!=typeof window&&window.opera&&a.stacktrace?this._mode="opera10":a.stack?this._mode="firefox":"undefined"==typeof window||!window.opera||"stacktrace"in a?this._mode="other":this._mode="opera"},instrumentFunction:function(a,b,c){a=a||window,a["_old"+b]=a[b],a[b]=function(){return c.call(this,printStackTrace()),a["_old"+b].apply(this,arguments)},a[b]._instrumented=!0},deinstrumentFunction:function(a,b){a[b].constructor===Function&&a[b]._instrumented&&a["_old"+b].constructor===Function&&(a[b]=a["_old"+b])},chrome:function(a){return a.stack.replace(/^[^\(]+?[\n$]/gm,"").replace(/^\s+at\s+/gm,"").replace(/^Object.\s*\(/gm,"{anonymous}()@").split("\n")},firefox:function(a){return a.stack.replace(/(?:\n@:0)?\s+$/m,"").replace(/^\(/gm,"{anonymous}(").split("\n")},opera10:function(a){var b,c,d,e=a.stacktrace,f=e.split("\n"),g="{anonymous}",h=/.*line (\d+), column (\d+) in ((/g,g),f[c++]=j+"@"+i}return f.splice(c,f.length-c),f},opera:function(a){var b,c,d,e=a.message.split("\n"),f="{anonymous}",g=/Line\s+(\d+).*script\s+(http\S+)(?:.*in\s+function\s+(\S+))?/i;for(b=4,c=0,d=e.length;b0&&l()};(function(a){window.attachEvent?window.attachEvent("onload",a):window.addEventListener&&window.addEventListener("load",a,!1)})(d),function(){var a=document.createElement("style"),b="";if(b+="div.__OVERLAY__mainDiv {-webkit-box-shadow: #333 0px 0px 10px 0px; box-shadow: #333 0px 0px 10px 0px; background: #F0F0F0; position: absolute;top: 5%;left: 5%;right: 5%;bottom: 5%;z-index: 2147483647;padding: 20px;overflow: auto;font-family:Verdana;font-size:small;}",b+="input.__OVERLAY__closeButton {float: right;}",b+="div.__OVERLAY__openButton {position: absolute;right: 0px;bottom: 0px;z-index: 2147483647;width: 0; height: 0; border-bottom: 40px solid #FF8C0A; border-left: 40px solid transparent; }",b+="div.__OVERLAY__tab {margin-right:2px;border-style: groove;margin-bottom:1px;width: 30%;background: #F0F0F0;text-align: center;vertical-align: middle;font-weight: bold;height: 20px;border-top-left-radius:20px;border-top-right-radius:20px;cursor:pointer;cursor: pointer;border-width: 1px;border-color: black;}",b+="#toolTipDiv {font-family:Verdana; position: absolute;right: 5px;bottom: 65px;width: 220px;background-color: #FFBB24;padding-bottom: 5px;padding-top: 5px;z-index: 2147483646;}",b+="#toolTipDiv:before { content: ' '; position: absolute; right: 20px;bottom: -40px;border: 20px solid;border-color: #FFBB24 #FFBB24 transparent transparent;}",a.setAttribute("type","text/css"),document.getElementsByTagName("head")[0].appendChild(a),a.styleSheet)a.styleSheet.cssText=b;else{var c=document.createTextNode(b);a.appendChild(c)}}(),a=document.createElement("div"),a.id="overlayDiv",a.setAttribute("class","__OVERLAY__mainDiv"),a.style.display="none";var e=document.createElement("input");e.setAttribute("class","__OVERLAY__closeButton"),e.setAttribute("type","button"),e.setAttribute("value","X"),e.onclick=function(){a.style.display="none",f.style.display="block"},a.appendChild(e);var f=document.createElement("div");f.setAttribute("class","__OVERLAY__openButton"),f.setAttribute("type","button"),f.setAttribute("value","^^"),f.onclick=function(){a.style.display="block",f.style.display="none"},f.setEnabled=function(a){f.style.display=a?"block":"none"},f.setEnabled(!1);var g=document.createElement("div");a.appendChild(g);var h=document.createElement("div");h.setAttribute("style","clear: right;"),a.appendChild(h);var i=0,j=null,k=null;this.appendOverlay=function(a,d,e){0==c&&(f.setEnabled(!0),l());var m=document.createElement("div");return m.setAttribute("class","__OVERLAY__tab"),m.setAttribute("style","margin-left:"+31*i+"%;"+(0==i?"float:left;":"")),m.appendChild(document.createTextNode(a)),j?d.style.display="none":(j=d,k=m,m.style.backgroundColor="#BEBEBE"),m.onclick=function(){j.style.display="none",k.style.backgroundColor="#F0F0F0",d.style.display="block",m.style.backgroundColor="#BEBEBE",j=d,k=m},g.appendChild(m),h.appendChild(d),b[i]={tab:m,htmlElement:d,initFunction:e},i++,c++,i-1},this.setVisibility=function(a){a?(h.style.visibility="visible",f.style.visibility="visible"):(e.click(),h.style.visibility="hidden",f.style.visibility="hidden",m())};var l=function(){var a=document.createElement("div");a.setAttribute("id","toolTipDiv"),a.innerHTML="Open Logger and/or ADE by pressing this button",document.body&&document.body.appendChild(a),window.setTimeout(m,3e3)},m=function(){var a=document.getElementById("toolTipDiv");a&&document.body.removeChild(a)};this.removeOverlay=function(a){b[a].tab.style.display="none",0==--c&&(f.setEnabled(!1),m())}},AR.overlay.OVERLAY_CONTAINER=new AR.overlay.__OVERLAY_CONTAINER__CONSTRUCTION_PLAN,AR.overlay.__OVERLAY_CONTAINER__CONSTRUCTION_PLAN=void 0;var __ARCHITECT_LOGGER_FRAMEWORK__=new function(){var a=null,b=null,c=null,d={};!function(){var a=document.createElement("style"),b="";if(b+="div.__LOGGER__logSelector {cursor:pointer; border: 1px solid black; border-radius:20px; width: 99%;float: left;font-size: large;margin-top: 0.3%;padding: 0.3%;text-align: center;margin-bottom: 0.3%;}",b+="div.__LOGGER__messagesContainer {width: 99%;overflow: auto;font-family: monospace;margin-top: 5px;}",b+="table.__LOGGER__selectorTable {width: 100%;table-layout: fixed;}",b+="div.__LOGGER__logMessage{font-family:monospace;} div.red {color:red;} div.green {color:green;} div.orange {color:orange;} div.black {color:black;}",b+="#__LOGGER__ARCHITECT_ERROR_LOG_CONSOLE {width : 100%; overflow : auto; font-family: monospace;}",b+="#__LOGGER__masterDiv {top: 0; width: 100%;}",b+="#__LOGGER__CONTROL_DIV {width: 100%;}",a.setAttribute("type","text/css"),document.getElementsByTagName("head")[0].appendChild(a),a.styleSheet)a.styleSheet.cssText=b;else{var c=document.createTextNode(b);a.appendChild(c)}}();var e={ERROR:[!0,"red"],WARNING:[!0,"orange"],INFO:[!1,"green"],DEBUG:[!1,"grey"]};this.__toggleLogLevel__=function(a){e[a][0]=!e[a][0],AR.logger.changeHTMLLogLevelEnabled(a,e[a][0]),f(a)};var f=function(a){var b=d[a];e[a][0]?b.style.backgroundColor=e[a][1]:b.style.backgroundColor="#F0F0F0"},g=function(){function a(a,b,c,e){var f=document.createElement("div");return f.setAttribute("class","__LOGGER__logSelector"),f.setAttribute("id","LOG_SELECTOR_"+b),f.setAttribute("style","background-color:"+e+";"),f.onclick=function(){__ARCHITECT_LOGGER_FRAMEWORK__.__toggleLogLevel__(b)},f.appendChild(document.createTextNode(a)),d[b]=f,f}var b=document.createElement("div");b.setAttribute("id","__LOGGER__CONTROL_DIV");var c=document.createElement("table");c.setAttribute("class","__LOGGER__selectorTable");var e=document.createElement("tr"),f=document.createElement("td"),g=document.createElement("td");e.appendChild(f),e.appendChild(g),c.appendChild(e);var h=document.createElement("tr"),i=document.createElement("td"),j=document.createElement("td");h.appendChild(i),h.appendChild(j),c.appendChild(h),f.appendChild(a("Error","ERROR",!0,"red")),g.appendChild(a("Warning","WARNING",!0,"orange")),i.appendChild(a("Info","INFO",!1,"green")),j.appendChild(a("Debug","DEBUG",!1,"grey")),b.appendChild(c);var k=document.createElement("div");k.setAttribute("class","__LOGGER__clearButtonDiv");var l=document.createElement("input");return l.setAttribute("type","button"),l.setAttribute("value","Clear Console"),l.onclick=function(){AR.logger.clearConsole()},k.appendChild(l),b.appendChild(k),b},h=function(){var a=document.createElement("div");return a.setAttribute("id","ARCHITECT_ERROR_LOG_CONSOLE"),a.scrollTop=a.scrollHeight,a.appendLine=function(b,c){var d=document.createElement("div");d.setAttribute("class","__LOGGER__logMessage "+c),d.appendChild(document.createTextNode(b)),a.insertBefore(d,a.firstChild)},a.clearConsole=function(){for(;a.hasChildNodes();)a.removeChild(a.firstChild)},a.canHandleColorCodes=!1,a},i=function(){var a=document.createElement("div");return a.setAttribute("id","__LOGGER__masterDiv"),a};this.setDebugModeEnabled=function(d){if(d)if(null==b){b=g(),c=h(),a=i(),a.appendChild(b),a.appendChild(c),AR.logger.registerRegistrar(c,c.canHandleColorCodes),AR.logger.changeHTMLLogLevelEnabled("ERROR",!0),AR.logger.changeHTMLLogLevelEnabled("WARNING",!0),f("ERROR"),f("WARNING"),f("INFO"),f("DEBUG");AR.overlay.OVERLAY_CONTAINER.appendOverlay("Logger",a)}else AR.overlay.OVERLAY_CONTAINER.setVisibility(!0);else AR.overlay.OVERLAY_CONTAINER.setVisibility(!1)}},__ARCHITECT_PROFILER_FRAMEWORK__=new function(){var a=null,b=null,c=null,d={},e={};!function(){var a=document.createElement("style"),b="";if(b+="div.__PROFILER__logSelector {cursor:pointer; border: 1px solid black; border-radius:20px; width: 99%;float: left;font-size: large;margin-top: 0.3%;padding: 0.3%;text-align: center;margin-bottom: 0.3%;}",b+="div.__PROFILER__messagesContainer {width: 99%;overflow: auto;font-family: monospace;margin-top: 5px;}",b+="table.__PROFILER__selectorTable {width: 100%;table-layout: fixed;}",b+="div.__PROFILER__logMessage{font-family:monospace;} div.red {color:red;} div.green {color:green;} div.orange {color:orange;} div.black {color:black;}",b+="#__PROFILER__ARCHITECT_ERROR_LOG_CONSOLE {width : 100%; overflow : auto; font-family: monospace;}",b+="#__PROFILER__masterDiv {top: 0; width: 100%;}",b+="#__PROFILER__CONTROL_DIV {width: 100%;}",a.setAttribute("type","text/css"),document.getElementsByTagName("head")[0].appendChild(a),a.styleSheet)a.styleSheet.cssText=b;else{var c=document.createTextNode(b);a.appendChild(c)}}();var f={CALLCOUNT:[!0,"#ff8c0a"],FPS:[!0,"#ff8c0a"],DURATION:[!0,"#ff8c0a"]};this.__toggleProfilerGroupVisibility=function(a){f[a][0]=!f[a][0],g(a),e[a].style.display=f[a][0]?"block":"none"};var g=function(a){var b=d[a];f[a][0]?b.style.backgroundColor=f[a][1]:b.style.backgroundColor="#F0F0F0"},h=function(){function a(a,b,c,e){var f=document.createElement("div");return f.setAttribute("class","__PROFILER__logSelector"),f.setAttribute("id","LOG_SELECTOR_"+b),f.setAttribute("style","background-color:"+e+";"),f.onclick=function(){__ARCHITECT_PROFILER_FRAMEWORK__.__toggleProfilerGroupVisibility(b)},f.appendChild(document.createTextNode(a)),d[b]=f,f}var b=document.createElement("div");b.setAttribute("id","__PROFILER__CONTROL_DIV");var c=document.createElement("table");c.setAttribute("class","__PROFILER__selectorTable");var e=document.createElement("tr"),f=document.createElement("td"),g=document.createElement("td"),h=document.createElement("td");e.appendChild(f),e.appendChild(g),e.appendChild(h),c.appendChild(e),f.appendChild(a("Call Count","CALLCOUNT",!0,"#434343")),g.appendChild(a("FPS","FPS",!0,"#434343")),h.appendChild(a("Duration","DURATION",!0,"#434343")),b.appendChild(c);var i=document.createElement("div");i.setAttribute("class","__PROFILER__RELOADOPTIONSDIV");var j=document.createElement("input");j.setAttribute("type","button"),j.setAttribute("value","Upload Report"),j.onclick=function(){AR.profiler.sendProfilingReportRequest()},i.appendChild(j);var k=document.createElement("input");k.setAttribute("type","button"),k.setAttribute("value","Reload Data"),k.onclick=function(){AR.profiler.sendProfileReportRequest()},i.appendChild(k),i.appendChild(document.createTextNode(" < or > "));var l=document.createElement("input");l.setAttribute("type","checkbox"),l.onchange=AR.profiler.automaticReloadSettingChanged,i.appendChild(l),i.appendChild(document.createTextNode("Automatic Reload every: "));var m=document.createElement("select");m.setAttribute("id","__ARCHITECT_PROFILER_RELOAD_SELECTION__");for(var n=1;n<=10;n++)m.options[n-1]=new Option(n,n);return m.options[1].selected=!0,i.appendChild(m),i.appendChild(document.createTextNode(" seconds")),b.appendChild(i),b};this.getReloadInterval=function(){var a=document.getElementById("__ARCHITECT_PROFILER_RELOAD_SELECTION__");return Number(a.options[a.selectedIndex].text)};var i=function(){var a=document.createElement("div");a.setAttribute("id","ARCHITECT_PROFILER_MASTER_CONSOLE"),a.scrollTop=a.scrollHeight;var b=document.createElement("div");b.setAttribute("id","ARCHITECT_PROFILER_CALLCOUNT_CONSOLE"),b.appendLine=function(a,c){var d=document.createElement("div");d.setAttribute("class","__PROFILER__logMessage "+c),d.appendChild(document.createTextNode(a)),b.appendChild(d)},e.CALLCOUNT=b;var c=document.createElement("div");c.setAttribute("id","ARCHITECT_PROFILER_FPS_CONSOLE"),c.style.display="block",c.appendLine=function(a,b){var d=document.createElement("div");d.setAttribute("class","__PROFILER__logMessage "+b),d.appendChild(document.createTextNode(a)),c.appendChild(d)},e.FPS=c;var d=document.createElement("div");return d.setAttribute("id","ARCHITECT_PROFILER_DURATION_CONSOLE"),d.appendLine=function(a,b){var c=document.createElement("div");c.setAttribute("class","__PROFILER__logMessage "+b),c.appendChild(document.createTextNode(a)),d.appendChild(c)},e.DURATION=d,a.appendLine=function(b,c){var d=document.createElement("div");d.setAttribute("class","__PROFILER__logMessage "+c),d.appendChild(document.createTextNode(b)),a.insertBefore(d,a.firstChild)},a.clearConsole=function(){for(;a.hasChildNodes();)a.removeChild(a.firstChild)},a.canHandleColorCodes=!1,a.appendChild(b),a.appendChild(c),a.appendChild(d),a.callCountDiv=b,a.fpsDiv=c,a.durationDiv=d,a.appendLine("======= *Profiling* ======","black"),__ARCHITECT_PROFILER_FRAMEWORK__.clearAllProfileConsoles(),a},j=function(){var a=document.createElement("div");return a.setAttribute("id","__PROFILER__masterDiv"),a};this.activateProfiler=function(){b=h(),c=i(),a=j(),a.appendChild(b),a.appendChild(c),AR.profiler.registerRegistrar(c,c.canHandleColorCodes),g("CALLCOUNT"),g("FPS"),g("DURATION");AR.overlay.OVERLAY_CONTAINER.appendOverlay("Profiler",a);activateDebugMode=null},this.clearAllProfileConsoles=function(){__ARCHITECT_PROFILER_FRAMEWORK__.clearProfilerConsole("ARCHITECT_PROFILER_CALLCOUNT_CONSOLE","------ Call Count -------"),__ARCHITECT_PROFILER_FRAMEWORK__.clearProfilerConsole("ARCHITECT_PROFILER_FPS_CONSOLE","------ FPS -------"),__ARCHITECT_PROFILER_FRAMEWORK__.clearProfilerConsole("ARCHITECT_PROFILER_DURATION_CONSOLE","------ Duration -------")},this.clearProfilerConsole=function(a,b){var c=document.getElementById(a);if(null!==c){for(;c.firstChild;)c.removeChild(c.firstChild);c.appendLine("* ","black"),c.appendLine("* ","black"),c.appendLine(b,"black")}}},AR=AR||{};AR.ADE=AR.ADE||{},AR.ADE.Screen=function(){var a="LS_PREDEF_LOCATIONS_";!function(){ var a=document.createElement("style"),b="table.ygtvtable{margin-bottom:0;border:0;border-collapse:collapse}td.ygtvcell{border:0;padding:0}a.ygtvspacer{text-decoration:none;outline-style:none;display:block}.ygtvtn{width:18px;height:22px;background:url(http://yui.yahooapis.com/2.9.0/build/treeview/assets/skins/sam/treeview-sprite.gif) 0 -5600px no-repeat;cursor:pointer}.ygtvtm{width:18px;height:22px;cursor:pointer;background:url(http://yui.yahooapis.com/2.9.0/build/treeview/assets/skins/sam/treeview-sprite.gif) 0 -4000px no-repeat}.ygtvtmh,.ygtvtmhh{width:18px;height:22px;cursor:pointer;background:url(http://yui.yahooapis.com/2.9.0/build/treeview/assets/skins/sam/treeview-sprite.gif) 0 -4800px no-repeat}.ygtvtp{width:18px;height:22px;cursor:pointer;background:url(http://yui.yahooapis.com/2.9.0/build/treeview/assets/skins/sam/treeview-sprite.gif) 0 -6400px no-repeat}.ygtvtph,.ygtvtphh{width:18px;height:22px;cursor:pointer;background:url(http://yui.yahooapis.com/2.9.0/build/treeview/assets/skins/sam/treeview-sprite.gif) 0 -7200px no-repeat}.ygtvln{width:18px;height:22px;background:url(http://yui.yahooapis.com/2.9.0/build/treeview/assets/skins/sam/treeview-sprite.gif) 0 -1600px no-repeat;cursor:pointer}.ygtvlm{width:18px;height:22px;cursor:pointer;background:url(http://yui.yahooapis.com/2.9.0/build/treeview/assets/skins/sam/treeview-sprite.gif) 0 0 no-repeat}.ygtvlmh,.ygtvlmhh{width:18px;height:22px;cursor:pointer;background:url(http://yui.yahooapis.com/2.9.0/build/treeview/assets/skins/sam/treeview-sprite.gif) 0 -800px no-repeat}.ygtvlp{width:18px;height:22px;cursor:pointer;background:url(http://yui.yahooapis.com/2.9.0/build/treeview/assets/skins/sam/treeview-sprite.gif) 0 -2400px no-repeat}.ygtvlph,.ygtvlphh{width:18px;height:22px;cursor:pointer;background:url(http://yui.yahooapis.com/2.9.0/build/treeview/assets/skins/sam/treeview-sprite.gif) 0 -3200px no-repeat;cursor:pointer}.ygtvloading{width:18px;height:22px;background:url(http://yui.yahooapis.com/2.9.0/build/treeview/assets/skins/sam/treeview-loading.gif) 0 0 no-repeat}.ygtvdepthcell{width:18px;height:22px;background:url(http://yui.yahooapis.com/2.9.0/build/treeview/assets/skins/sam/treeview-sprite.gif) 0 -8000px no-repeat}.ygtvblankdepthcell{width:18px;height:22px}* html .ygtvchildren{height:2%}.ygtvlabel,.ygtvlabel:link,.ygtvlabel:visited,.ygtvlabel:hover{margin-left:2px;text-decoration:none;cursor:pointer}.ygtvcontent{cursor:default}.ygtvspacer{height:22px;width:18px}.ygtvfocus{background-color:#c0e0e0;border:0}.ygtvfocus .ygtvlabel,.ygtvfocus .ygtvlabel:link,.ygtvfocus .ygtvlabel:visited,.ygtvfocus .ygtvlabel:hover{background-color:#c0e0e0}.ygtvfocus a{outline-style:none}.ygtvok{width:18px;height:22px;background:url(http://yui.yahooapis.com/2.9.0/build/treeview/assets/skins/sam/treeview-sprite.gif) 0 -8800px no-repeat}.ygtvok:hover{background:url(http://yui.yahooapis.com/2.9.0/build/treeview/assets/skins/sam/treeview-sprite.gif) 0 -8844px no-repeat}.ygtvcancel{width:18px;height:22px;background:url(http://yui.yahooapis.com/2.9.0/build/treeview/assets/skins/sam/treeview-sprite.gif) 0 -8822px no-repeat}.ygtvcancel:hover{background:url(http://yui.yahooapis.com/2.9.0/build/treeview/assets/skins/sam/treeview-sprite.gif) 0 -8866px no-repeat}.ygtv-label-editor{background-color:#f2f2f2;border:1px solid silver;position:absolute;display:none;overflow:hidden;margin:auto;z-index:9000}.ygtv-edit-TextNode{width:190px}.ygtv-edit-TextNode .ygtvcancel,.ygtv-edit-TextNode .ygtvok{border:0}.ygtv-edit-TextNode .ygtv-button-container{float:right}.ygtv-edit-TextNode .ygtv-input input{width:140px}.ygtv-edit-DateNode .ygtvcancel{border:0}.ygtv-edit-DateNode .ygtvok{display:none}.ygtv-edit-DateNode .ygtv-button-container{text-align:right;margin:auto}.ygtv-highlight .ygtv-highlight1,.ygtv-highlight .ygtv-highlight1 .ygtvlabel{background-color:blue;color:white}.ygtv-highlight .ygtv-highlight2,.ygtv-highlight .ygtv-highlight2 .ygtvlabel{background-color:silver}.ygtv-highlight .ygtv-highlight0 .ygtvfocus .ygtvlabel,.ygtv-highlight .ygtv-highlight1 .ygtvfocus .ygtvlabel,.ygtv-highlight .ygtv-highlight2 .ygtvfocus .ygtvlabel{background-color:#c0e0e0}.ygtv-highlight .ygtvcontent{padding-right:1em}.ygtv-checkbox .ygtv-highlight0 .ygtvcontent{padding-left:1em;background:url(http://yui.yahooapis.com/2.9.0/build/treeview/assets/skins/sam/check0.gif) no-repeat}.ygtv-checkbox .ygtv-highlight0 .ygtvfocus.ygtvcontent,.ygtv-checkbox .ygtv-highlight1 .ygtvfocus.ygtvcontent,.ygtv-checkbox .ygtv-highlight2 .ygtvfocus.ygtvcontent{background-color:#c0e0e0}.ygtv-checkbox .ygtv-highlight1 .ygtvcontent{padding-left:1em;background:url(http://yui.yahooapis.com/2.9.0/build/treeview/assets/skins/sam/check1.gif) no-repeat}.ygtv-checkbox .ygtv-highlight2 .ygtvcontent{padding-left:1em;background:url(http://yui.yahooapis.com/2.9.0/build/treeview/assets/skins/sam/check2.gif) no-repeat}";if(b+="#__ADE__tree_div{padding-top:5px;padding-left:20px;min-height:400px;height:auto !important;height:400px; }",b+="div.__ADE__header{clear:left;font-weight:bold;padding-bottom: 10px;padding-left: 2px;padding-top: 10px;background-color:#707070; color: white;}",b+="#__ADE__treeDivHeader{padding-bottom:12px;}",b+="#__ADE__settingsMainBox{float:right;border:2px solid;border-color:#9D9D9D;min-height:100px;height:auto !important;height:100px;}",b+="#__ADE__applyButton{margin-right: 5px}",b+="#__ADE__saveButton{margin-left: 5px}",b+="#__ADE__settingsSubHeader{font-weight: bold;padding: 3px;background-color: #9D9D9D;padding: 3px;margin-top: 2px;font-size: smaller;}",b+="div.__ADE__settingsEntryBox{margin-top: 5px;border-bottom: 1px solid;padding: 5px;border-color: #9D9D9D;}div.settingsEntryHeader{font-weight: bold;margin-bottom: 2px;font-size: x-small;}",b+="#__ADE__hitARObjectDiv{font-family:Verdana;z-index: 2147483647;position: fixed;top: 50%;left: 50%;background-color: #FFBB24;margin-left: -280px;padding: 20px;border: 2px solid;}",a.setAttribute("type","text/css"),document.getElementsByTagName("head")[0].appendChild(a),a.styleSheet)a.styleSheet.cssText=b;else{var c=document.createTextNode(b);a.appendChild(c)}}(),function(){ var a='if(typeof YAHOO=="undefined"||!YAHOO){var YAHOO={};}YAHOO.namespace=function(){var b=arguments,g=null,e,c,f;for(e=0;e":">",\'"\':""","\'":"'","/":"/","`":"`"},d=["toString","valueOf"],e={isArray:function(j){return a.toString.apply(j)===c;},isBoolean:function(j){return typeof j==="boolean";},isFunction:function(j){return(typeof j==="function")||a.toString.apply(j)===h;},isNull:function(j){return j===null;},isNumber:function(j){return typeof j==="number"&&isFinite(j);},isObject:function(j){return(j&&(typeof j==="object"||f.isFunction(j)))||false;},isString:function(j){return typeof j==="string";},isUndefined:function(j){return typeof j==="undefined";},_IEEnumFix:(YAHOO.env.ua.ie)?function(l,k){var j,n,m;for(j=0;j"\'\\/`]/g,function(k){return g[k];});},extend:function(m,n,l){if(!n||!m){throw new Error("extend failed, please check that "+"all dependencies are included.");}var k=function(){},j;k.prototype=n.prototype;m.prototype=new k();m.prototype.constructor=m;m.superclass=n.prototype;if(n.prototype.constructor==a.constructor){n.prototype.constructor=n;}if(l){for(j in l){if(f.hasOwnProperty(l,j)){m.prototype[j]=l[j];}}f._IEEnumFix(m.prototype,l);}},augmentObject:function(n,m){if(!m||!n){throw new Error("Absorb failed, verify dependencies.");}var j=arguments,l,o,k=j[2];if(k&&k!==true){for(l=2;l0)?f.dump(j[l],p-1):t);}else{r.push(j[l]);}r.push(q);}if(r.length>1){r.pop();}r.push("]");}else{r.push("{");for(l in j){if(f.hasOwnProperty(j,l)){r.push(l+m);if(f.isObject(j[l])){r.push((p>0)?f.dump(j[l],p-1):t);}else{r.push(j[l]);}r.push(q);}}if(r.length>1){r.pop();}r.push("}");}return r.join("");},substitute:function(x,y,E,l){var D,C,B,G,t,u,F=[],p,z=x.length,A="dump",r=" ",q="{",m="}",n,w;for(;;){D=x.lastIndexOf(q,z);if(D<0){break;}C=x.indexOf(m,D);if(D+1>C){break;}p=x.substring(D+1,C);G=p;u=null;B=G.indexOf(r);if(B>-1){u=G.substring(B+1);G=G.substring(0,B);}t=y[G];if(E){t=E(G,t,u);}if(f.isObject(t)){if(f.isArray(t)){t=f.dump(t,parseInt(u,10));}else{u=u||"";n=u.indexOf(A);if(n>-1){u=u.substring(4);}w=t.toString();if(w===i||n>-1){t=f.dump(t,parseInt(u,10));}else{t=w;}}}else{if(!f.isString(t)&&!f.isNumber(t)){t="~-"+F.length+"-~";F[F.length]=p;}}x=x.substring(0,D)+t+x.substring(C+1);if(l===false){z=D-1;}}for(D=F.length-1;D>=0;D=D-1){x=x.replace(new RegExp("~-"+D+"-~"),"{"+F[D]+"}","g");}return x;},trim:function(j){try{return j.replace(/^\\s+|\\s+$/g,"");}catch(k){return j;}},merge:function(){var n={},k=arguments,j=k.length,m;for(m=0;m-1;}}else{}return G;},addClass:function(W,G){return e.Dom.batch(W,e.Dom._addClass,G);},_addClass:function(X,W){var G=false,Y;if(X&&W){Y=e.Dom._getAttribute(X,f)||i;if(!e.Dom._hasClass(X,W)){e.Dom.setAttribute(X,f,a(Y+b+W));G=true;}}else{}return G;},removeClass:function(W,G){return e.Dom.batch(W,e.Dom._removeClass,G);},_removeClass:function(Y,X){var W=false,aa,Z,G;if(Y&&X){aa=e.Dom._getAttribute(Y,f)||i;e.Dom.setAttribute(Y,f,aa.replace(e.Dom._getClassRegex(X),i));Z=e.Dom._getAttribute(Y,f);if(aa!==Z){e.Dom.setAttribute(Y,f,a(Z));W=true;if(e.Dom._getAttribute(Y,f)===""){G=(Y.hasAttribute&&Y.hasAttribute(E))?E:f;Y.removeAttribute(G);}}}else{}return W;},replaceClass:function(X,W,G){return e.Dom.batch(X,e.Dom._replaceClass,{from:W,to:G});},_replaceClass:function(Y,X){var W,ab,aa,G=false,Z;if(Y&&X){ab=X.from;aa=X.to;if(!aa){G=false;}else{if(!ab){G=e.Dom._addClass(Y,X.to);}else{if(ab!==aa){Z=e.Dom._getAttribute(Y,f)||i;W=(b+Z.replace(e.Dom._getClassRegex(ab),b+aa).replace(/\\s+/g,b)).split(e.Dom._getClassRegex(aa));W.splice(1,0,b+aa);e.Dom.setAttribute(Y,f,a(W.join(i)));G=true;}}}}else{}return G;},generateId:function(G,X){X=X||"yui-gen";var W=function(Y){if(Y&&Y.id){return Y.id;}var Z=X+YAHOO.env._id_counter++;if(Y){if(Y[C]&&Y[C].getElementById(Z)){return e.Dom.generateId(Y,Z+X);}Y.id=Z;}return Z;};return e.Dom.batch(G,W,e.Dom,true)||W.apply(e.Dom,arguments);},isAncestor:function(W,X){W=e.Dom.get(W);X=e.Dom.get(X);var G=false;if((W&&X)&&(W[K]&&X[K])){if(W.contains&&W!==X){G=W.contains(X);}else{if(W.compareDocumentPosition){G=!!(W.compareDocumentPosition(X)&16);}}}else{}return G;},inDocument:function(G,W){return e.Dom._inDoc(e.Dom.get(G),W);},_inDoc:function(W,X){var G=false;if(W&&W[c]){X=X||W[C];G=e.Dom.isAncestor(X[U],W);}else{}return G;},getElementsBy:function(W,af,ab,ad,X,ac,ae){af=af||"*";ab=(ab)?e.Dom.get(ab):null||j;var aa=(ae)?null:[],G;if(ab){G=ab.getElementsByTagName(af);for(var Y=0,Z=G.length;Y=8){e.Dom.DOT_ATTRIBUTES.type=true;}})();YAHOO.util.Region=function(d,e,a,c){this.top=d;this.y=d;this[1]=d;this.right=e;this.bottom=a;this.left=c;this.x=c;this[0]=c;this.width=this.right-this.left;this.height=this.bottom-this.top;};YAHOO.util.Region.prototype.contains=function(a){return(a.left>=this.left&&a.right<=this.right&&a.top>=this.top&&a.bottom<=this.bottom);};YAHOO.util.Region.prototype.getArea=function(){return((this.bottom-this.top)*(this.right-this.left));};YAHOO.util.Region.prototype.intersect=function(f){var d=Math.max(this.top,f.top),e=Math.min(this.right,f.right),a=Math.min(this.bottom,f.bottom),c=Math.max(this.left,f.left);if(a>=d&&e>=c){return new YAHOO.util.Region(d,e,a,c);}else{return null;}};YAHOO.util.Region.prototype.union=function(f){var d=Math.min(this.top,f.top),e=Math.max(this.right,f.right),a=Math.max(this.bottom,f.bottom),c=Math.min(this.left,f.left);return new YAHOO.util.Region(d,e,a,c);};YAHOO.util.Region.prototype.toString=function(){return("Region {"+"top: "+this.top+", right: "+this.right+", bottom: "+this.bottom+", left: "+this.left+", height: "+this.height+", width: "+this.width+"}");};YAHOO.util.Region.getRegion=function(e){var g=YAHOO.util.Dom.getXY(e),d=g[1],f=g[0]+e.offsetWidth,a=g[1]+e.offsetHeight,c=g[0];return new YAHOO.util.Region(d,f,a,c);};YAHOO.util.Point=function(a,b){if(YAHOO.lang.isArray(a)){b=a[1];a=a[0];}YAHOO.util.Point.superclass.constructor.call(this,b,a,b,a);};YAHOO.extend(YAHOO.util.Point,YAHOO.util.Region);(function(){var b=YAHOO.util,a="clientTop",f="clientLeft",j="parentNode",k="right",w="hasLayout",i="px",u="opacity",l="auto",d="borderLeftWidth",g="borderTopWidth",p="borderRightWidth",v="borderBottomWidth",s="visible",q="transparent",n="height",e="width",h="style",t="currentStyle",r=/^width|height$/,o=/^(\\d[.\\d]*)+(em|ex|px|gd|rem|vw|vh|vm|ch|mm|cm|in|pt|pc|deg|rad|ms|s|hz|khz|%){1}?/i,m={get:function(x,z){var y="",A=x[t][z];if(z===u){y=b.Dom.getStyle(x,u);}else{if(!A||(A.indexOf&&A.indexOf(i)>-1)){y=A;}else{if(b.Dom.IE_COMPUTED[z]){y=b.Dom.IE_COMPUTED[z](x,z);}else{if(o.test(A)){y=b.Dom.IE.ComputedStyle.getPixel(x,z);}else{y=A;}}}}return y;},getOffset:function(z,E){var B=z[t][E],x=E.charAt(0).toUpperCase()+E.substr(1),C="offset"+x,y="pixel"+x,A="",D;if(B==l){D=z[C];if(D===undefined){A=0;}A=D;if(r.test(E)){z[h][E]=D;if(z[C]>D){A=D-(z[C]-D);}z[h][E]=l;}}else{if(!z[h][y]&&!z[h][E]){z[h][E]=B;}A=z[h][y];}return A+i;},getBorderWidth:function(x,z){var y=null;if(!x[t][w]){x[h].zoom=1;}switch(z){case g:y=x[a];break;case v:y=x.offsetHeight-x.clientHeight-x[a];break;case d:y=x[f];break;case p:y=x.offsetWidth-x.clientWidth-x[f];break;}return y+i;},getPixel:function(y,x){var A=null,B=y[t][k],z=y[t][x];y[h][k]=z;A=y[h].pixelRight;y[h][k]=B;return A+i;},getMargin:function(y,x){var z;if(y[t][x]==l){z=0+i;}else{z=b.Dom.IE.ComputedStyle.getPixel(y,x);}return z;},getVisibility:function(y,x){var z;while((z=y[t])&&z[x]=="inherit"){y=y[j];}return(z)?z[x]:s;},getColor:function(y,x){return b.Dom.Color.toRGB(y[t][x])||q;},getBorderColor:function(y,x){var z=y[t],A=z[x]||z.color;return b.Dom.Color.toRGB(b.Dom.Color.toHex(A));}},c={};c.top=c.right=c.bottom=c.left=c[e]=c[n]=m.getOffset;c.color=m.getColor;c[g]=c[p]=c[v]=c[d]=m.getBorderWidth;c.marginTop=c.marginRight=c.marginBottom=c.marginLeft=m.getMargin;c.visibility=m.getVisibility;c.borderColor=c.borderTopColor=c.borderRightColor=c.borderBottomColor=c.borderLeftColor=m.getBorderColor;b.Dom.IE_COMPUTED=c;b.Dom.IE_ComputedStyle=m;})();(function(){var c="toString",a=parseInt,b=RegExp,d=YAHOO.util;d.Dom.Color={KEYWORDS:{black:"000",silver:"c0c0c0",gray:"808080",white:"fff",maroon:"800000",red:"f00",purple:"800080",fuchsia:"f0f",green:"008000",lime:"0f0",olive:"808000",yellow:"ff0",navy:"000080",blue:"00f",teal:"008080",aqua:"0ff"},re_RGB:/^rgb\\(([0-9]+)\\s*,\\s*([0-9]+)\\s*,\\s*([0-9]+)\\)$/i,re_hex:/^#?([0-9A-F]{2})([0-9A-F]{2})([0-9A-F]{2})$/i,re_hex3:/([0-9A-F])/gi,toRGB:function(e){if(!d.Dom.Color.re_RGB.test(e)){e=d.Dom.Color.toHex(e);}if(d.Dom.Color.re_hex.exec(e)){e="rgb("+[a(b.$1,16),a(b.$2,16),a(b.$3,16)].join(", ")+")";}return e;},toHex:function(f){f=d.Dom.Color.KEYWORDS[f]||f;if(d.Dom.Color.re_RGB.exec(f)){f=[Number(b.$1).toString(16),Number(b.$2).toString(16),Number(b.$3).toString(16)];for(var e=0;e0){i=c[0];}try{b=g.fn.call(f,i,g.obj);}catch(h){this.lastError=h;if(a){throw h;}}}else{try{b=g.fn.call(f,this.type,c,g.obj);}catch(d){this.lastError=d;if(a){throw d;}}}return b;},unsubscribeAll:function(){var a=this.subscribers.length,b;for(b=a-1;b>-1;b--){this._delete(b);}this.subscribers=[];return a;},_delete:function(a){var b=this.subscribers[a];if(b){delete b.fn;delete b.obj;}this.subscribers.splice(a,1);},toString:function(){return"CustomEvent: "+"\'"+this.type+"\', "+"context: "+this.scope;}};YAHOO.util.Subscriber=function(a,b,c){this.fn=a;this.obj=YAHOO.lang.isUndefined(b)?null:b;this.overrideContext=c;};YAHOO.util.Subscriber.prototype.getScope=function(a){if(this.overrideContext){if(this.overrideContext===true){return this.obj;}else{return this.overrideContext;}}return a;};YAHOO.util.Subscriber.prototype.contains=function(a,b){if(b){return(this.fn==a&&this.obj==b);}else{return(this.fn==a);}};YAHOO.util.Subscriber.prototype.toString=function(){return"Subscriber { obj: "+this.obj+", overrideContext: "+(this.overrideContext||"no")+" }";};if(!YAHOO.util.Event){YAHOO.util.Event=function(){var g=false,h=[],j=[],a=0,e=[],b=0,c={63232:38,63233:40,63234:37,63235:39,63276:33,63277:34,25:9},d=YAHOO.env.ua.ie,f="focusin",i="focusout";return{POLL_RETRYS:500,POLL_INTERVAL:40,EL:0,TYPE:1,FN:2,WFN:3,UNLOAD_OBJ:3,ADJ_SCOPE:4,OBJ:5,OVERRIDE:6,CAPTURE:7,lastError:null,isSafari:YAHOO.env.ua.webkit,webkit:YAHOO.env.ua.webkit,isIE:d,_interval:null,_dri:null,_specialTypes:{focusin:(d?"focusin":"focus"),focusout:(d?"focusout":"blur")},DOMReady:false,throwErrors:false,startInterval:function(){if(!this._interval){this._interval=YAHOO.lang.later(this.POLL_INTERVAL,this,this._tryPreloadAttach,null,true);}},onAvailable:function(q,m,o,p,n){var k=(YAHOO.lang.isString(q))?[q]:q;for(var l=0;l-1;m--){s=(this.removeListener(l[m],k,r)&&s);}return s;}}if(!r||!r.call){return this.purgeElement(l,false,k);}if("unload"==k){for(m=j.length-1;m>-1;m--){u=j[m];if(u&&u[0]==l&&u[1]==k&&u[2]==r){j.splice(m,1);return true;}}return false;}var n=null;var o=arguments[3];if("undefined"===typeof o){o=this._getCacheIndex(h,l,k,r);}if(o>=0){n=h[o];}if(!l||!n){return false;}var t=n[this.CAPTURE]===true?true:false;try{this._simpleRemove(l,k,n[this.WFN],t);}catch(q){this.lastError=q;return false;}delete h[o][this.WFN];delete h[o][this.FN];h.splice(o,1);return true;},getTarget:function(m,l){var k=m.target||m.srcElement;return this.resolveTextNode(k);},resolveTextNode:function(l){try{if(l&&3==l.nodeType){return l.parentNode;}}catch(k){return null;}return l;},getPageX:function(l){var k=l.pageX;if(!k&&0!==k){k=l.clientX||0;if(this.isIE){k+=this._getScrollLeft();}}return k;},getPageY:function(k){var l=k.pageY;if(!l&&0!==l){l=k.clientY||0;if(this.isIE){l+=this._getScrollTop();}}return l;},getXY:function(k){return[this.getPageX(k),this.getPageY(k)];},getRelatedTarget:function(l){var k=l.relatedTarget;if(!k){if(l.type=="mouseout"){k=l.toElement;}else{if(l.type=="mouseover"){k=l.fromElement;}}}return this.resolveTextNode(k);},getTime:function(m){if(!m.time){var l=new Date().getTime();try{m.time=l;}catch(k){this.lastError=k;return l;}}return m.time;},stopEvent:function(k){this.stopPropagation(k);this.preventDefault(k);},stopPropagation:function(k){if(k.stopPropagation){k.stopPropagation();}else{k.cancelBubble=true;}},preventDefault:function(k){if(k.preventDefault){k.preventDefault();}else{k.returnValue=false;}},getEvent:function(m,k){var l=m||window.event;if(!l){var n=this.getEvent.caller;while(n){l=n.arguments[0];if(l&&Event==l.constructor){break;}n=n.caller;}}return l;},getCharCode:function(l){var k=l.keyCode||l.charCode||0;if(YAHOO.env.ua.webkit&&(k in c)){k=c[k];}return k;},_getCacheIndex:function(n,q,r,p){for(var o=0,m=n.length;o0&&e.length>0);}var p=[];var r=function(t,u){var s=t;if(u.overrideContext){if(u.overrideContext===true){s=u.obj;}else{s=u.overrideContext;}}u.fn.call(s,u.obj);};var l,k,o,n,m=[];for(l=0,k=e.length;l-1;l--){o=e[l];if(!o||!o.id){e.splice(l,1);}}this.startInterval();}else{if(this._interval){this._interval.cancel();this._interval=null;}}this.locked=false;},purgeElement:function(p,q,s){var n=(YAHOO.lang.isString(p))?this.getEl(p):p;var r=this.getListeners(n,s),o,k;if(r){for(o=r.length-1;o>-1;o--){var m=r[o];this.removeListener(n,m.type,m.fn);}}if(q&&n&&n.childNodes){for(o=0,k=n.childNodes.length;o-1;o--){n=h[o];if(n){try{m.removeListener(n[m.EL],n[m.TYPE],n[m.FN],o);}catch(v){}}}n=null;}try{m._simpleRemove(window,"unload",m._unload);m._simpleRemove(window,"load",m._load);}catch(u){}},_getScrollLeft:function(){return this._getScroll()[1];},_getScrollTop:function(){return this._getScroll()[0];},_getScroll:function(){var k=document.documentElement,l=document.body;if(k&&(k.scrollTop||k.scrollLeft)){return[k.scrollTop,k.scrollLeft];}else{if(l){return[l.scrollTop,l.scrollLeft];}else{return[0,0];}}},regCE:function(){},_simpleAdd:function(){if(window.addEventListener){return function(m,n,l,k){m.addEventListener(n,l,(k));};}else{if(window.attachEvent){return function(m,n,l,k){m.attachEvent("on"+n,l);};}else{return function(){};}}}(),_simpleRemove:function(){if(window.removeEventListener){return function(m,n,l,k){m.removeEventListener(n,l,(k));};}else{if(window.detachEvent){return function(l,m,k){l.detachEvent("on"+m,k);};}else{return function(){};}}}()};}();(function(){var a=YAHOO.util.Event;a.on=a.addListener;a.onFocus=a.addFocusListener;a.onBlur=a.addBlurListener;/*! DOMReady: based on work by: Dean Edwards/John Resig/Matthias Miller/Diego Perini */if(a.isIE){if(self!==self.top){document.onreadystatechange=function(){if(document.readyState=="complete"){document.onreadystatechange=null;a._ready();}};}else{YAHOO.util.Event.onDOMReady(YAHOO.util.Event._tryPreloadAttach,YAHOO.util.Event,true);var b=document.createElement("p");a._dri=setInterval(function(){try{b.doScroll("left");clearInterval(a._dri);a._dri=null;a._ready();b=null;}catch(c){}},a.POLL_INTERVAL);}}else{if(a.webkit&&a.webkit<525){a._dri=setInterval(function(){var c=document.readyState;if("loaded"==c||"complete"==c){clearInterval(a._dri);a._dri=null;a._ready();}},a.POLL_INTERVAL);}else{a._simpleAdd(document,"DOMContentLoaded",a._ready);}}a._simpleAdd(window,"load",a._load);a._simpleAdd(window,"unload",a._unload);a._tryPreloadAttach();})();}YAHOO.util.EventProvider=function(){};YAHOO.util.EventProvider.prototype={__yui_events:null,__yui_subscribers:null,subscribe:function(a,c,f,e){this.__yui_events=this.__yui_events||{};var d=this.__yui_events[a];if(d){d.subscribe(c,f,e);}else{this.__yui_subscribers=this.__yui_subscribers||{};var b=this.__yui_subscribers;if(!b[a]){b[a]=[];}b[a].push({fn:c,obj:f,overrideContext:e});}},unsubscribe:function(c,e,g){this.__yui_events=this.__yui_events||{};var a=this.__yui_events;if(c){var f=a[c];if(f){return f.unsubscribe(e,g);}}else{var b=true;for(var d in a){if(YAHOO.lang.hasOwnProperty(a,d)){b=b&&a[d].unsubscribe(e,g);}}return b;}return false;},unsubscribeAll:function(a){return this.unsubscribe(a);},createEvent:function(b,g){this.__yui_events=this.__yui_events||{};var e=g||{},d=this.__yui_events,f;if(d[b]){}else{f=new YAHOO.util.CustomEvent(b,e.scope||this,e.silent,YAHOO.util.CustomEvent.FLAT,e.fireOnce);d[b]=f;if(e.onSubscribeCallback){f.subscribeEvent.subscribe(e.onSubscribeCallback);}this.__yui_subscribers=this.__yui_subscribers||{};var a=this.__yui_subscribers[b];if(a){for(var c=0;c0||(d&&this.isDynamic()&&!this.dynamicLoadComplete));}},toggle:function(){if(!this.tree.locked&&(this.hasChildren(true)||this.isDynamic())){if(this.expanded){this.collapse();}else{this.expand();}}},getHtml:function(){this.childrenRendered=false;return[\'
\',this.getNodeHtml(),this.getChildrenHtml(),"
"].join("");},getChildrenHtml:function(){var d=[];d[d.length]=\'