!function(n,e,t,o,r,a){var i,c,s,u=Math.floor(1e4*Math.random()),l=Function.prototype,f=/^((http.?:)\/\/([^:\/\s]+)(:\d+)*)/,p=/[\-\w]+\/\.\.\//,d=/([^:])\/\//g,m="",g={},h=n.easyXDM,v="easyXDM_",y=!1;function b(n,e){var t=typeof n[e];return"function"==t||!("object"!=t||!n[e])||"unknown"==t}if(b(n,"addEventListener"))c=function(n,e,t){n.addEventListener(e,t,!1)},s=function(n,e,t){n.removeEventListener(e,t,!1)};else{if(!b(n,"attachEvent"))throw new Error("Browser not supported");c=function(n,e,t){n.attachEvent("on"+e,t)},s=function(n,e,t){n.detachEvent("on"+e,t)}}var w,k=!1,_=[];function O(){if(!k){k=!0;for(var n=0;n<_.length;n++)_[n]();_.length=0}}if("readyState"in e?(w=e.readyState,k="complete"==w||~navigator.userAgent.indexOf("AppleWebKit/")&&("loaded"==w||"interactive"==w)):k=!!e.body,!k){if(b(n,"addEventListener"))c(e,"DOMContentLoaded",O);else if(c(e,"readystatechange",function(){"complete"==e.readyState&&O()}),e.documentElement.doScroll&&n===top){var x=function(){if(!k){try{e.documentElement.doScroll("left")}catch(n){return void o(x,1)}O()}};x()}c(n,"load",O)}function M(n,e){k?n.call(e):_.push(function(){n.call(e)})}function E(n){var e=n.toLowerCase().match(f);if(!e)return"";var t=e[2],o=e[3],r=e[4]||"";return("http:"==t&&":80"==r||"https:"==t&&":443"==r)&&(r=""),t+"//"+o+r}function R(n){if(!(n=n.replace(d,"$1/")).match(/^(http||https):\/\//)){var e="/"===n.substring(0,1)?"":t.pathname;"/"!==e.substring(e.length-1)&&(e=e.substring(0,e.lastIndexOf("/")+1)),n=t.protocol+"//"+t.host+e+n}for(;p.test(n);)n=n.replace(p,"");return n}function P(n,e){var t="",o=n.indexOf("#");-1!==o&&(t=n.substring(o),n=n.substring(0,o));var r=[];for(var i in e)e.hasOwnProperty(i)&&r.push(i+"="+a(e[i]));return n+(y?"#":-1==n.indexOf("?")?"?":"&")+r.join("&")+t}var S=function(n){for(var e,t={},o=(n=n.substring(1).split("&")).length;o--;)t[(e=n[o].split("="))[0]]=r(e[1]);return t}(/xdm_e=/.test(t.search)?t.search:t.hash);function N(n){return void 0===n}var H,D=function(){var n={},e={a:[1,2,3]},t='{"a":[1,2,3]}';return"undefined"!=typeof JSON&&"function"==typeof JSON.stringify&&JSON.stringify(e).replace(/\s/g,"")===t?JSON:(Object.toJSON&&Object.toJSON(e).replace(/\s/g,"")===t&&(n.stringify=Object.toJSON),"function"==typeof String.prototype.evalJSON&&(e=t.evalJSON()).a&&3===e.a.length&&3===e.a[2]&&(n.parse=function(n){return n.evalJSON()}),n.stringify&&n.parse?(D=function(){return n},n):null)};function C(n,e,t){var o;for(var r in e)e.hasOwnProperty(r)&&(r in n?"object"==typeof(o=e[r])?C(n[r],o,t):t||(n[r]=e[r]):n[r]=e[r]);return n}function T(n){var t;N(i)&&function(){var n=e.body.appendChild(e.createElement("form")),t=n.appendChild(e.createElement("input"));t.name=v+"TEST"+u,i=t!==n.elements[t.name],e.body.removeChild(n)}(),i?t=e.createElement(''):(t=e.createElement("IFRAME")).name=n.props.name,t.title="Giving Form",t.id=t.name=n.props.name,delete n.props.name,"string"==typeof n.container&&(n.container=e.getElementById(n.container)),n.container||(C(t.style,{position:"absolute",top:"-2000px",left:"0px"}),n.container=e.body);var o=n.props.src;if(n.props.src="javascript:false",C(t,n.props),t.border=t.frameBorder=0,t.allowTransparency=!0,n.container.appendChild(t),n.onLoad&&c(t,"load",n.onLoad),n.usePost){var r,a=n.container.appendChild(e.createElement("form"));if(a.target=t.name,a.action=o,a.method="POST","object"==typeof n.usePost)for(var s in n.usePost)n.usePost.hasOwnProperty(s)&&(i?r=e.createElement(''):(r=e.createElement("INPUT")).name=s,r.value=n.usePost[s],a.appendChild(r));a.submit(),a.parentNode.removeChild(a)}else t.src=o;return n.props.src=o,t}function B(o){var r,a=o.protocol;if(o.isHost=o.isHost||N(S.xdm_p),y=o.hash||!1,o.props||(o.props={}),o.isHost)o.remote=R(o.remote),o.channel=o.channel||"default"+u++,o.secret=Math.random().toString(16).substring(2),N(a)&&(a=E(t.href)==E(o.remote)?"4":b(n,"postMessage")||b(e,"postMessage")?"1":"Gecko"===navigator.product&&"frameElement"in n&&-1==navigator.userAgent.indexOf("WebKit")?"5":o.remoteHelper?"2":"0");else if(o.channel=S.xdm_c.replace(/["'<>\\]/g,""),o.secret=S.xdm_s,o.remote=S.xdm_e.replace(/["'<>\\]/g,""),a=S.xdm_p,o.acl&&!function(n,e){"string"==typeof n&&(n=[n]);for(var t,o=n.length;o--;)if(t="^"===n[o].substr(0,1)&&"$"===n[o].substr(n[o].length-1,1)?n[o]:"^"+n[o].replace(/[-[\]\/{}()+.\^$|]/g,"\\$&").replace(/(\*)/g,".$1").replace(/\?/g,".")+"$",(t=new RegExp(t)).test(e))return!0;return!1}(o.acl,o.remote))throw new Error("Access denied for "+o.remote);switch(o.protocol=a,a){case"0":if(C(o,{interval:100,delay:2e3,useResize:!0,useParent:!1,usePolling:!1},!0),o.isHost){if(!o.local){for(var i,c=t.protocol+"//"+t.host,s=e.body.getElementsByTagName("img"),l=s.length;l--;)if((i=s[l]).src.substring(0,c.length)===c){o.local=i.src;break}o.local||(o.local=n)}var f={xdm_c:o.channel,xdm_p:0};o.local===n?(o.usePolling=!0,o.useParent=!0,o.local=t.protocol+"//"+t.host+t.pathname+t.search,f.xdm_e=o.local,f.xdm_pa=1):f.xdm_e=R(o.local),o.container&&(o.useResize=!1,f.xdm_po=1),o.remote=P(o.remote,f)}else C(o,{useParent:!N(S.xdm_pa),usePolling:!N(S.xdm_po),useResize:!o.useParent&&o.useResize});r=[new g.stack.HashTransport(o),new g.stack.ReliableBehavior({}),new g.stack.QueueBehavior({encode:!0,maxLength:4e3-o.remote.length}),new g.stack.VerifyBehavior({initiate:o.isHost})];break;case"1":r=[new g.stack.PostMessageTransport(o)];break;case"2":o.isHost&&(o.remoteHelper=R(o.remoteHelper)),r=[new g.stack.NameTransport(o),new g.stack.QueueBehavior,new g.stack.VerifyBehavior({initiate:o.isHost})];break;case"3":r=[new g.stack.NixTransport(o)];break;case"4":r=[new g.stack.SameOriginTransport(o)];break;case"5":r=[new g.stack.FrameElementTransport(o)]}return r.push(new g.stack.QueueBehavior({lazy:o.lazy,remove:!0})),r}function j(n){for(var e,t={incoming:function(n,e){this.up.incoming(n,e)},outgoing:function(n,e){this.down.outgoing(n,e)},callback:function(n){this.up.callback(n)},init:function(){this.down.init()},destroy:function(){this.down.destroy()}},o=0,r=n.length;o<\/script>')}},H={},g.Fn={set:function(n,e){H[n]=e},get:function(n,e){if(H.hasOwnProperty(n)){var t=H[n];return e&&delete H[n],t}}},g.Socket=function(n){var e=j(B(n).concat([{incoming:function(e,t){n.onMessage(e,t)},callback:function(e){n.onReady&&n.onReady(e)}}])),t=E(n.remote);this.origin=E(n.remote),this.destroy=function(){e.destroy()},this.postMessage=function(n){e.outgoing(n,t)},e.init()},g.Rpc=function(n,e){if(e.local)for(var t in e.local)if(e.local.hasOwnProperty(t)){var o=e.local[t];"function"==typeof o&&(e.local[t]={method:o})}var r=j(B(n).concat([new g.stack.RpcBehavior(this,e),{callback:function(e){n.onReady&&n.onReady(e)}}]));this.origin=E(n.remote),this.context=n.context||null,this.destroy=function(){r.destroy()},r.init()},g.stack.SameOriginTransport=function(n){var e,r,a,i;return e={outgoing:function(n,e,t){a(n),t&&t()},destroy:function(){r&&(r.parentNode.removeChild(r),r=null)},onDOMReady:function(){i=E(n.remote),n.isHost?(C(n.props,{src:P(n.remote,{xdm_e:t.protocol+"//"+t.host+t.pathname,xdm_c:n.channel,xdm_p:4}),name:v+n.channel+"_provider"}),r=T(n),g.Fn.set(n.channel,function(n){return a=n,o(function(){e.up.callback(!0)},0),function(n){e.up.incoming(n,i)}})):(a=function(){var n=parent;if(""!==m)for(var e=0,t=m.split(".");ed)throw new Error("Unable to reference listenerwindow");try{u=l.contentWindow.frames[v+e.channel+"_consumer"]}catch(n){}u?(m(),t.up.callback(!0)):o(n,50)}()}l=T(e)}else u=n,m(),f?(l=parent,t.up.callback(!0)):(C(e,{props:{src:e.remote+"#"+e.channel+new Date,name:v+e.channel+"_consumer"},onLoad:function(){t.up.callback(!0)}}),l=T(e))},init:function(){M(t.onDOMReady,t)}}},g.stack.ReliableBehavior=function(n){var e,t,o=0,r=0,a="";return e={incoming:function(n,i){var c=n.indexOf("_"),s=n.substring(0,c).split(",");n=n.substring(c+1),s[0]==o&&(a="",t&&t(!0)),n.length>0&&(e.down.outgoing(s[1]+","+o+"_"+a,i),r!=s[1]&&(r=s[1],e.up.incoming(n,i)))},outgoing:function(n,i,c){a=n,t=c,e.down.outgoing(r+","+ ++o+"_"+n,i)}}},g.stack.QueueBehavior=function(n){var e,t,i=[],c=!0,s="",u=0,l=!1,f=!1;function p(){if(n.remove&&0===i.length)return(r=e).up.down=r.down,r.down.up=r.up,void(r.up=r.down=null);var r;if(!c&&0!==i.length&&!t){c=!0;var a=i.shift();e.down.outgoing(a.data,a.origin,function(n){c=!1,a.callback&&o(function(){a.callback(n)},0),p()})}}return e={init:function(){N(n)&&(n={}),n.maxLength&&(u=n.maxLength,f=!0),n.lazy?l=!0:e.down.init()},callback:function(n){c=!1;var t=e.up;p(),t.callback(n)},incoming:function(t,o){if(f){var a=t.indexOf("_"),i=parseInt(t.substring(0,a),10);s+=t.substring(a+1),0===i&&(n.encode&&(s=r(s)),e.up.incoming(s,o),s="")}else e.up.incoming(t,o)},outgoing:function(t,o,r){n.encode&&(t=a(t));var c,s=[];if(f){for(;0!==t.length;)c=t.substring(0,u),t=t.substring(c.length),s.push(c);for(;c=s.shift();)i.push({data:s.length+"_"+c,origin:o,callback:0===s.length?r:null})}else i.push({data:t,origin:o,callback:r});l?e.down.init():p()},destroy:function(){t=!0,e.down.destroy()}}},g.stack.VerifyBehavior=function(n){var e,t,o;function r(){t=Math.random().toString(16).substring(2),e.down.outgoing(t)}return e={incoming:function(a,i){var c=a.indexOf("_");-1===c?a===t?e.up.callback(!0):o||(o=a,n.initiate||r(),e.down.outgoing(a)):a.substring(0,c)===o&&e.up.incoming(a.substring(c+1),i)},outgoing:function(n,o,r){e.down.outgoing(t+"_"+n,o,r)},callback:function(e){n.initiate&&r()}}},g.stack.RpcBehavior=function(n,e){var t,o=e.serializer||D(),r=0,a={};function i(n){n.jsonrpc="2.0",t.down.outgoing(o.stringify(n))}function c(n,e){var t=Array.prototype.slice;return function(){var o,c=arguments.length,s={method:e};c>0&&"function"==typeof arguments[c-1]?(c>1&&"function"==typeof arguments[c-2]?(o={success:arguments[c-2],error:arguments[c-1]},s.params=t.call(arguments,0,c-2)):(o={success:arguments[c-1]},s.params=t.call(arguments,0,c-1)),a[""+ ++r]=o,s.id=r):s.params=t.call(arguments,0),n.namedParams&&1===s.params.length&&(s.params=s.params[0]),i(s)}}function s(e,t,o,r){if(o){var a,c,s;t?(a=function(n){a=l,i({id:t,result:n})},c=function(n,e){c=l;var o={id:t,error:{code:-32099,message:n}};e&&(o.error.data=e),i(o)}):a=c=l,s=r,"[object Array]"!==Object.prototype.toString.call(s)&&(r=[r]);try{var u=n.context||o.scope,f=o.method.apply(u,r.concat([a,c]));N(f)||a(f)}catch(n){c(n.message)}}else t&&i({id:t,error:{code:-32601,message:"Procedure not found."}})}return t={incoming:function(n,t){var r=o.parse(n);if(r.method)e.handle?e.handle(r,i):s(r.method,r.id,e.local[r.method],r.params);else{var c=a[r.id];r.error?c.error&&c.error(r.error):c.success&&c.success(r.result),delete a[r.id]}},init:function(){if(e.remote)for(var o in e.remote)e.remote.hasOwnProperty(o)&&(n[o]=c(e.remote[o],o));t.down.init()},destroy:function(){for(var o in e.remote)e.remote.hasOwnProperty(o)&&n.hasOwnProperty(o)&&delete n[o];t.down.destroy()}}},this.easyXDM=g}(window,document,location,window.setTimeout,decodeURIComponent,encodeURIComponent);