var MigratoryDataClient={}; MigratoryDataClient.a=function(){return navigator.userAgent&&navigator.userAgent.indexOf("ANTGalio")!==-1?"Opera":navigator.userAgent&&navigator.userAgent.indexOf("Chrome")!==-1&&navigator.userAgent.indexOf("WebKit")!==-1?"WebKit Chrome":navigator.userAgent&&navigator.userAgent.indexOf("Android")!==-1?"WebKit Android":navigator.userAgent&&navigator.userAgent.indexOf("iPhone")!==-1?"WebKit iPhone":navigator.userAgent&&navigator.userAgent.indexOf("WebKit")!==-1?"WebKit":navigator.userAgent&&navigator.userAgent.indexOf("MSIE")!== -1?"IE":navigator.userAgent&&navigator.userAgent.indexOf("Gecko")!==-1?"Gecko":navigator.userAgent&&navigator.userAgent.indexOf("Opera Mobi")!==-1?"Opera Mobile":navigator.userAgent&&navigator.userAgent.indexOf("Opera Mini")!==-1?"unknown":window.opera?"Opera":"unknown"};MigratoryDataClient.b=function(a){if(!document.body)throw"Error: The document doesn't have a body!";var b=true;if(this.c==="unknown"){b=false;if(a)if(this.d===null)throw"Error: Browser not supported!";else this.d(this.NOTIFY_UNSUPPORTED_BROWSER)}return b}; MigratoryDataClient.e=function(){if(document.readyState==="complete")this.f();else if(document.addEventListener){document.addEventListener("DOMContentLoaded",this.f,false);window.addEventListener("load",this.f,false)}else if(document.attachEvent){document.attachEvent("onreadystatechange",this.f);window.attachEvent("onload",this.f);var a=false;try{a=window.frameElement==null}catch(b){}document.documentElement.doScroll&&a&&this.g()}}; MigratoryDataClient.g=function(){if(!MigratoryDataClient.h){try{document.documentElement.doScroll("left")}catch(a){setTimeout(MigratoryDataClient.g,1);return}MigratoryDataClient.f()}};MigratoryDataClient.i=function(a){this.h?a():this.j.push(a)};MigratoryDataClient.f=function(){if(!MigratoryDataClient.h)if(document.body){MigratoryDataClient.h=true;for(var a=0;a0&&c.lastIndexOf(":")!==-1)c=c.substring(0,c.lastIndexOf(":"));var e=a.indexOf("//");if(e===-1)return null;var f=a.substring(0,e);if(b!==f)return null;a=a.substring(f.length+2);e=a.indexOf("/");if(e!==-1)a=a.substring(0,e);e=a.lastIndexOf(":");b="";if(e!==-1){b=a.substring(e+1);a=a.substring(0,e)}if(navigator.userAgent&& navigator.userAgent.indexOf("ANTGalio")!==-1){e=80;if(f==="https:")e=443;if(b!==""&&b!==e&&d!==e)if(b!==d)return null}else if(b!==d)return null;if(a.length<4)return null;var g=-1;e=a.length-1;for(var i=c.length-1;e>=0&&i>=0;e--,i--)if(a.charAt(e)!==c.charAt(i)){g=e;break}d="";if(g===-1)if(e===-1&&i===-1){e=a.indexOf(".");d=a.substring(e+1)}else if(e===-1)if(c.charAt(i-1)===".")d=a;else{e=a.indexOf(".");if(e===-1)return null;d=a.substring(e+1)}else{if(i===-1)if(a.charAt(e-1)===".")d=c;else{e=c.indexOf("."); if(e===-1)return null;d=c.substring(e+1)}}else{e=a.indexOf(".",g+1);if(e===-1)return null;d=a.substring(e+1)}if(d.length<4||d.indexOf(".")===-1)return null;d+=b.length>0?":"+b:"";a=f+"//"+a+(b.length>0?":"+b:"")+"/";if(this.n>=2){c=d.split(".");if(c.length>=this.n)d=c.slice(-1*this.n).join(".")}return{l:d,m:a}};MigratoryDataClient.o=function(a){return this.k(a)===null}; MigratoryDataClient.p=function(a,b){if(a.name)a=a.name;else{var c=a.toString();a=c.substring(c.indexOf("function")+8,c.indexOf("("));a=a.replace(/^\s+|\s+$/g,"");if(a.length===0)a="anonymous";if(a==="anonymous"&&typeof b==="object")for(var d=0;d0)b+=", ";if(a.hasOwnProperty(d))b+=d+":"+this.q(a[d]);c++}b+="}";return b}; MigratoryDataClient.s=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=Math.random()*16|0;return(a=="x"?b:b&3|8).toString(16)})}; MigratoryDataClient.t=function(a,b){var c=MigratoryDataClient.u;if(a>0){if(a<=this.v)c=a*MigratoryDataClient.w-Math.floor(Math.random()*MigratoryDataClient.w);else if(MigratoryDataClient.x===MigratoryDataClient.TRUNCATED_EXPONENTIAL_BACKOFF){a=a-this.v;c=Math.min(MigratoryDataClient.y*Math.pow(2,a)-Math.floor(Math.random()*MigratoryDataClient.y*a),MigratoryDataClient.z)}else c=MigratoryDataClient.y;if(b!==undefined&&c0)b+=", ";b+=this.q(a[c])}b+="]";return b}; MigratoryDataClient.a6=function(a,b){if(a===this.a7.a8)this.a9(b);else if(a===this.a7.aa)this.ab(b);else if(a===this.a7.ac)this.ad(b);else if(this.ae!==null)if(this.ae.af===this.ag&&a===this.a7.ag)this.ah(b);else if(this.ae.af===this.ai&&a===this.a7.ai)this.aj(b);else this.ae.af===this.ak&&a===this.a7.ak&&this.al(b)}; MigratoryDataClient.ah=function(a){var b=a[this.a7.am];if(b!==undefined)this.an(this.ao,this.ap.aq[b]);else{if(this.ar!==this.as){b=a[this.a7.at];if(b===undefined){MigratoryDataClient.an(this.ao,"server subscribe response is missing the session id");return}this.au=b;b=a[this.a7.av];if(b!==undefined&&b!==null)if(b==1)MigratoryDataClient.aw=true;this.ax=a[this.a7.ay];a=this.ar;this.ar=this.as;this.b0=this.az=0;this.b1();if(a!==this.b2){this.b3.b4[this.b5].b6++;if(a===null||this.b7)this.b8({type:this.NOTIFY_SERVER_UP, info:""})}else this.b3.b4[this.b5].b9++;this.b7=false}this.ba()}};MigratoryDataClient.aj=function(a){a=a[this.a7.am];a!==undefined?this.an(this.ao,this.ap.aq[a]):this.ba()}; MigratoryDataClient.a9=function(a){for(var b=[],c=0,d=0;d-14400000)f.latency=g}if(MigratoryDataClient.aw==true&&this.bi[f.subject]===undefined){g=parseInt(e[this.a7.bj]);e=parseInt(e[this.a7.bk]);j=this.bl[f.subject];if(j===undefined){this.bl[f.subject]={seqid:7E4,seq:0,recovery:false};j=this.bl[f.subject]}else j.seq++;if(j.seqid!==g){j.seqid=g;j.seq=e;j.recovery=false}else if(j.seq!==e)if(j.recovery==false){j.seq--;if(e<=j.seq)continue;MigratoryDataClient.bm();return}else{j.recovery=false;if(e>j.seq){g={type:this.NOTIFY_DATA_RESYNC, info:f.subject};this.b8(g)}else continue;j.seq=e}else if(j.recovery==true){j.recovery=false;g={type:this.NOTIFY_DATA_SYNC,info:f.subject};this.b8(g)}}b[c]=f;c++}if(c>0){this.b3.b4[this.b5].bn++;this.b8(b)}};MigratoryDataClient.an=function(a,b){a=a+", "+b;b=this.b3.b4[this.b5].aq;if(b[a]===undefined)b[a]=1;else b[a]++;this.b0++;this.bm()}; MigratoryDataClient.ab=function(a){var b=this.a7.bo,c=this.a7.bb;if(!(a[b]===undefined||a[c]===undefined))switch(a[b]){case "a":a={type:this.NOTIFY_SUBSCRIBE_ALLOW,info:a[c]};this.b8(a);break;case "d":a={type:this.NOTIFY_SUBSCRIBE_DENY,info:a[c]};this.b8(a);break}}; MigratoryDataClient.b8=function(a){this.bp.push(a);setTimeout(function(){var b=MigratoryDataClient.bp.shift();if(b&&b instanceof Array)MigratoryDataClient.bq.call(window,b);else MigratoryDataClient.d!==null&&MigratoryDataClient.d.call(window,b)},0)};MigratoryDataClient.al=function(a){this.ad(a);this.ba()};MigratoryDataClient.ad=function(a){var b=a[this.a7.br];a=a[this.a7.bo];b!==undefined&&b!==null&&this.b8({type:MigratoryDataClient.bs(a),info:b})}; MigratoryDataClient.bs=function(a){if(a===undefined||a===null)return MigratoryDataClient.NOTIFY_PUBLISH_FAILED;switch(a){case "NOT_SUBSCRIBED":return MigratoryDataClient.NOTIFY_PUBLISH_NO_SUBSCRIBER;case "OK":return MigratoryDataClient.NOTIFY_PUBLISH_OK;case "DENY":return MigratoryDataClient.NOTIFY_PUBLISH_DENIED;default:return MigratoryDataClient.NOTIFY_PUBLISH_FAILED}}; MigratoryDataClient.bt=function(){this.b3.bu=(new Date).getTime();this.b3.b4[this.b5].bv++;this.bw!==null&&this.b1();this.ae!==null&&this.ae.af===this.bx&&this.ba();var a=(new Date).getTime();if(a-this.by>=this.bz){this.by=a;a={};a.af=this.bx;this.c0(a)}};MigratoryDataClient.b1=function(){this.bw!==null&&clearTimeout(this.bw);this.bw=setTimeout(function(){MigratoryDataClient.b0++;MigratoryDataClient.bm()},this.c1)}; MigratoryDataClient.bm=function(){this.b3.b4[this.b5].c2++;if(this.c3!==null){clearTimeout(this.c3);this.c3=null}this.c4();this.c5();this.c6();if(this.ar!==null)this.ar=this.c7;this.c8.push(this.c9[this.b5]);this.ax=this.au=this.b5=null;this.az++;if(this.bw!==null){clearTimeout(this.bw);this.bw=null}if(!this.b7&&(this.az===this.ca||this.az===this.c9.length)){this.b7=true;var a={type:this.NOTIFY_SERVER_DOWN,info:""};MigratoryDataClient.d!==null&&MigratoryDataClient.d.call(window,a)}a=false;if(MigratoryDataClient.aw== true){a=true;for(var b in this.bl){var c=this.bl[b];if(c.seqid!=7E4)if(c.recovery==true)a=false;else c.recovery=true}}if(MigratoryDataClient.cb)if(this.c9.length>0){b={};b.af=this.cc;this.c0(b)}MigratoryDataClient.cd=false;if(this.ce.length>0){b={};b.af=this.ag;if(a==true)b.cf=true;b.ce=this.ce;this.c0(b)}}; MigratoryDataClient.cg=function(){this.ch();var a=this.c9[this.b5].m;if(MigratoryDataClient.cb){encoding=this.ci;transport=this.cj}if("/"!==a.substring(a.length-1,a.length))a+="/";var b=MigratoryDataClient.t(this.b0,this.cc);this.ck=setTimeout(function(){MigratoryDataClient.ck=null;MigratoryDataClient.an(MigratoryDataClient.cl,MigratoryDataClient.ae.af)},b);transport.call(this,a,this.b5,null)}; MigratoryDataClient.cm=function(){this.ch();var a=false,b=this.c9[this.b5].m,c=this.o(b),d=null;if(!MigratoryDataClient.cd&&MigratoryDataClient.cn!=="")d=MigratoryDataClient.cn;if(!MigratoryDataClient.cb){if(!this.co||!c)b=this.cp(b);if(!c&&!this.cq(b,this.b5))return}this.ce=this.a4(this.ce,this.ae.ce);var e=c&&!this.cr?this.cs:null,f=null,g=null,i=this.ct,k=this.a7,l=null,j=null;if(MigratoryDataClient.cb){i=this.cu;e=this.ci}else if(this.c==="IE"&&c&&MigratoryDataClient.cv){i=this.cw;k=this.cx;e= this.cy}if(this.ar!==this.as){if(!MigratoryDataClient.cb)if(this.c==="IE"&&!c)if(this.cz){e=this.d0;i=this.d1}else{e=this.d2;f="MigratoryDataClient0.d3";g=this.d4;i=this.d5;k=this.cx}else if(this.c==="IE"&&MigratoryDataClient.cv&&this.cz){a=true;e=this.d0;i=this.d6;k=this.cx}else{i=this.d7;if(this.c==="WebKit Android")i=this.d8;e=c&&!this.cr?this.cs:i;i=this.d9}l=navigator.userAgent;j=this.da}var m=null;if(this.ae.db!==undefined&&this.ae.db!==null)m=this.ae.db;c="";for(var h=0;h 0)g=f=null;if(!MigratoryDataClient.cd)MigratoryDataClient.cd=true;c+=this.dc(this.ae.ce[h],e,f,g,this.au,k,this.ae.cf,d,a,l,j,m);j=l=null}if("/"!==b.substring(b.length-1,b.length))b+="/";a=MigratoryDataClient.u;if(MigratoryDataClient.cb===false)a=MigratoryDataClient.t(this.b0,this.ag);this.ck=setTimeout(function(){MigratoryDataClient.ck=null;MigratoryDataClient.an(MigratoryDataClient.cl,MigratoryDataClient.ae.af)},a);i.call(this,b,this.b5,c)}; MigratoryDataClient.dd=function(){this.ch();var a=this.c9[this.b5].m,b=this.o(a);if(!MigratoryDataClient.cb){if(!this.co||!b)a=this.cp(a);if(!b&&!this.cq(a,this.b5))return}this.ce=this.a2(this.ce,this.ae.ce);if(this.ar!==this.as){this.ba();for(b=0;b0;){var a=this.dk[0];switch(a.af){case this.ag:var b=a.dq;a=this.a2(a.ce,this.ce);if(a.length>0){this.ce=this.a4(this.ce,a);for(var c=0;c=100){b=Math.floor(b/100)*100;this.bi[a[c]]=b}}}break;case this.ai:a=this.a3(a.ce,this.ce);if(a.length>0){this.ce=this.a2(this.ce,a);for(c=0;c0){var a={};a.af=this.ag;if(MigratoryDataClient.aw==true)a.cf=true;a.ce=this.ce;this.c0(a)}}};MigratoryDataClient.ch=function(){if(this.b5===null)this.b5=this.e1()}; MigratoryDataClient.e1=function(){var a=this.a2(this.c9,this.c8);if(a.length===0){this.c8=[];a=this.c9}if(a.length===0)throw"Error: e1() No available servers!";for(var b=0,c=0;ce){d=c;break}}}return this.a0(this.c9,a[d])}; MigratoryDataClient.cp=function(a){var b=this.k(a);if(b===null||this.d4!==null&&b.l!==this.d4)throw"Error: Invalid common parent domain of the servers! Cause server is '"+a+"'.";if(this.d4===null){this.d4=b.l;if(b.l.indexOf(":")===-1)document.domain=b.l}return b.m};MigratoryDataClient.cq=function(a,b){var c="MigratoryDataClient2"+b;if(window.frames[c]===undefined||window.frames[c].e3===undefined){this.e4(a,b);return false}return true}; MigratoryDataClient.e4=function(a,b){b="MigratoryDataClient2"+b;var c=document.getElementById(b);if(!c){c=document.createElement("iframe");c.name=b;c.id=b;c.style.display="none";document.body.appendChild(c)}this.ck=setTimeout(function(){MigratoryDataClient.ck=null;c.src="";c.parentNode.removeChild(c);MigratoryDataClient.an(MigratoryDataClient.cl,"iframe")},this.u);if("/"!==a.substring(a.length-1,a.length))a+="/";c.src=a+"_"+this.e5(this.d4,"e3","MigratoryDataClient.e6")}; MigratoryDataClient.e6=function(){clearTimeout(this.ck);this.ck=null;this.dl(true)};MigratoryDataClient.e7=function(a){return this.cr?new XMLHttpRequest:this.e8(a)}; MigratoryDataClient.e8=function(a){if(a){if(this.e9)this.e9.responseText="";else this.e9={open:function(b,c){b=MigratoryDataClient.ea(c);MigratoryDataClient.eb.connect("0",b.host,b.port,"MigratoryDataClient.ec")},setRequestHeader:function(){},send:function(b){MigratoryDataClient.eb.write("0","POST / HTTP/1.1\r\nContent-Length: "+b.length+"\r\n\r\n"+b)},readyState:4,status:200,responseText:"",abort:function(){this.responseText="";MigratoryDataClient.eb.close("0")}};return this.e9}if(this.ed)this.ed.responseText= "";else this.ed={open:function(b,c){b=MigratoryDataClient.ea(c);MigratoryDataClient.eb.connect("1",b.host,80,"MigratoryDataClient.ee")},setRequestHeader:function(){},send:function(b){MigratoryDataClient.eb.write("1","POST / HTTP/1.1\r\nContent-Length: "+b.length+"\r\n\r\n"+b)},readyState:4,status:200,responseText:"",abort:function(){this.responseText="";MigratoryDataClient.eb.close("1")}};return this.ed}; MigratoryDataClient.ea=function(a){var b,c;b=a.indexOf("https://")==0?"https://":"http://";a=a.substring(b.length);var d=a.indexOf("/");if(d!=-1){c=a.substring(0,d);a.substring(d)}else c=a;d=c.lastIndexOf(":");if(d!=-1){a=c.substring(d+1);c=c.substring(0,d)}else a=b=="https://"?"443":"80";return{host:c,port:a}};MigratoryDataClient.ee=function(a){if(this.dr){this.dr.responseText+=a;this.ef()}};MigratoryDataClient.ec=function(a){if(this.dt){this.dt.responseText+=a;this.eg()}}; MigratoryDataClient.eh=function(){this.b(false);var a=document.createElement("div");document.body.appendChild(a);var b=document.createElement("div");b.id="MigratoryDataClient3";a.appendChild(b);setTimeout(function(){var c="flash-transport.swf";if(typeof MigratoryDataClientFlashTransport==="string")c=MigratoryDataClientFlashTransport;swfobject.embedSWF(c,"MigratoryDataClient3","0","0","9",false,{readyCallback:"MigratoryDataClient.ei"},{allowFullScreen:false,allowScriptAccess:"always"},{id:"MigratoryDataClient4", name:"MigratoryDataClient4"})},0)};MigratoryDataClient.ei=function(){MigratoryDataClient.eb=document.getElementById("MigratoryDataClient4");if(!MigratoryDataClient.eb)throw"Error: Could not get the reference of the flash-transport.swf!";MigratoryDataClient.dp()}; MigratoryDataClient.cw=function(a,b,c){b=document.getElementById("MigratoryDataClient5");if(b===null){b=document.createElement("iframe");b.id="MigratoryDataClient5";b.style.display="none";document.body.appendChild(b)}var d=(new Date).getTime();b.src=a+"_"+c+d}; MigratoryDataClient.d5=function(a,b,c){this.dt=new ActiveXObject("htmlfile");this.dt.open();MigratoryDataClient.d4.indexOf(":")===-1?this.dt.write("