Added half relay timeout, terms page fix.

Ylian Saint-Hilaire committed May 13, 2019 at 14:06 UTC 72741beb260762e8fa151d7f00f436fcfc14e9ce
4 files changed +237 -274
meshrelay.js
+5 -1
@@ -161,6 +161,9 @@ module.exports.CreateMeshRelay = function (parent, ws, req, domain, user, cookie
161 relayinfo.peer1.ws.peer = relayinfo.peer2.ws;
162 relayinfo.peer2.ws.peer = relayinfo.peer1.ws;
163
164 + // Remove the timeout
165 + if (relayinfo.timeout) { clearTimeout(relayinfo.timeout); delete relayinfo.timeout; }
166 +
167 parent.parent.debug(1, 'Relay connected: ' + obj.id + ' (' + cleanRemoteAddr(ws._socket.remoteAddress) + ' --> ' + cleanRemoteAddr(obj.peer.ws._socket.remoteAddress) + ')');
168 } else {
169 // Connected already, drop (TODO: maybe we should re-connect?)
@@ -174,7 +177,7 @@ module.exports.CreateMeshRelay = function (parent, ws, req, domain, user, cookie
177 } else {
178 // Wait for other relay connection
179 ws._socket.pause(); // Hold traffic until the other connection
177 - parent.wsrelays[obj.id] = { peer1: obj, state: 1 };
180 + parent.wsrelays[obj.id] = { peer1: obj, state: 1, timeout: setTimeout(function () { closeBothSides(); }, 30000) };
181 parent.parent.debug(1, 'Relay holding: ' + obj.id + ' (' + cleanRemoteAddr(ws._socket.remoteAddress) + ') ' + (obj.authenticated ? 'Authenticated' : ''));
182
183 // Check if a peer server has this connection
@@ -241,6 +244,7 @@ module.exports.CreateMeshRelay = function (parent, ws, req, domain, user, cookie
244 } else {
245 parent.parent.debug(1, 'Relay disconnect: ' + obj.id + ' (' + cleanRemoteAddr(ws._socket.remoteAddress) + ')');
246 }
247 + try { ws.close(); } catch (ex) { }
248 delete parent.wsrelays[obj.id];
249 }
250 }
public/commander.htm
+40 -39
@@ -44,30 +44,31 @@ a).split("\r\n");if(null==p.amtVersion)for(n in p.socketHeader)0==p.socketHeader
44 p.socketParseState){b=-1;if(void 0==p.socketXHeader.connection||"close"!=p.socketXHeader.connection.toLowerCase()||void 0!=p.socketXHeader["transfer-encoding"]&&"chunked"==p.socketXHeader["transfer-encoding"].toLowerCase())if(void 0!=p.socketXHeader["content-length"]){b=parseInt(p.socketXHeader["content-length"]);if(p.socketAccumulator.length<b)break;a=p.socketAccumulator.substring(0,b);p.socketAccumulator=p.socketAccumulator.substring(b);p.socketData=a;b=0}else{c=p.socketAccumulator.indexOf("\r\n");
45 if(0>c)break;b=parseInt(p.socketAccumulator.substring(0,c),16);if(isNaN(b)){p.websocket&&p.websocket.close();break}if(p.socketAccumulator.length<c+2+b+2)break;a=p.socketAccumulator.substring(c+2,c+2+b);p.socketAccumulator=p.socketAccumulator.substring(c+2+b+2);p.socketData+=a}else b=0;0==b&&(c=p.socketXHeader,a=p.socketData,b=parseInt(c.Directive[1]),isNaN(b)&&(b=602),401==b&&3>++p.authcounter?p.challengeParams=p.parseDigest(c["www-authenticate"]):(c=p.pendingAjaxCall.shift(),p.authcounter=0,p.ActiveAjaxCount--,
46 p.gotNextMessages(a,"success",{status:b},c),p.PerformNextAjax()),p.socketParseState=0,p.socketHeader=null)}}}function n(a){0==p.inDataCount&&(p.tlsv1only=1-p.tlsv1only);p.socketState=0;null!=p.socket&&(p.socket.close(),p.socket=null);if(0<p.pendingAjaxCall.length){a=p.pendingAjaxCall.shift();var b=a[5];p.PerformAjaxExNodeJS2(a[0],a[1],a[2],a[3],a[4],--b)}}var p={PendingAjax:[],ActiveAjaxCount:0,MaxActiveAjaxCount:1,FailAllError:0,challengeParams:null,noncecounter:1,authcounter:0,socket:null,socketState:0};
47 -p.host=b;p.port=c;p.user=a;p.pass=d;p.tls=e;p.tlsv1only=0;p.cnonce=Math.random().toString(36).substring(7);p.inDataCount=0;p.amtVersion=null;p.PerformAjax=function(a,b,c,n,h,d){p.ActiveAjaxCount<p.MaxActiveAjaxCount&&0==p.PendingAjax.length?p.PerformAjaxEx(a,b,c,h,d):1==n?p.PendingAjax.unshift([a,b,c,h,d]):p.PendingAjax.push([a,b,c,h,d])};p.PerformNextAjax=function(){if(!(p.ActiveAjaxCount>=p.MaxActiveAjaxCount||0==p.PendingAjax.length)){var a=p.PendingAjax.shift();p.PerformAjaxEx(a[0],a[1],a[2],
48 -a[3],a[4]);p.PerformNextAjax()}};p.PerformAjaxEx=function(a,b,c,n,h){if(0!=p.FailAllError)p.gotNextMessagesError({status:p.FailAllError},"error",null,[a,b,c,n,h]);else return a||(a=""),p.ActiveAjaxCount++,p.PerformAjaxExNodeJS(a,b,c,n,h)};p.pendingAjaxCall=[];p.PerformAjaxExNodeJS=function(a,b,c,n,h){p.PerformAjaxExNodeJS2(a,b,c,n,h,3)};p.PerformAjaxExNodeJS2=function(a,b,c,n,h,d){0>=d||0!=p.FailAllError?(p.ActiveAjaxCount--,999!=p.FailAllError&&p.gotNextMessages(null,"error",{status:0==p.FailAllError?
49 -408:p.FailAllError},[a,b,c,n,h]),p.PerformNextAjax()):(p.pendingAjaxCall.push([a,b,c,n,h,d]),0==p.socketState?p.xxConnectHttpSocket():2==p.socketState&&p.sendRequest(a,n,h))};p.sendRequest=function(a,b,c){b=b?b:"/wsman";c=c?c:"POST";var n=c+" "+b+" HTTP/1.1\r\n";null!=p.challengeParams&&(c=hex_md5(hex_md5(p.user+":"+p.challengeParams.realm+":"+p.pass)+":"+p.challengeParams.nonce+":"+p.noncecounter+":"+p.cnonce+":"+p.challengeParams.qop+":"+hex_md5(c+":"+b)),n+="Authorization: "+p.renderDigest({username:p.user,
50 -realm:p.challengeParams.realm,nonce:p.challengeParams.nonce,uri:b,qop:p.challengeParams.qop,response:c,nc:p.noncecounter++,cnonce:p.cnonce})+"\r\n");a=n+="Host: "+p.host+":"+p.port+"\r\nContent-Length: "+a.length+"\r\n\r\n"+a;if(2==p.socketState&&null!=p.socket&&p.socket.readyState==WebSocket.OPEN){b=new Uint8Array(a.length);for(n=0;n<a.length;++n)b[n]=a.charCodeAt(n);try{p.socket.send(b.buffer)}catch(h){}}};p.parseDigest=function(a){a=a.substring(7).split(",");for(i in a)a[i]=a[i].trim();return a.reduce(function(a,
51 -b){var c=b.split("=");a[c[0]]=c[1].replace(/"/g,"");return a},{})};p.renderDigest=function(a){var b=[];for(i in a)b.push(i);return"Digest "+b.reduce(function(b,c){return b+","+c+'="'+a[c]+'"'},"").substring(1)};p.xxConnectHttpSocket=function(){p.inDataCount=0;p.socketState=1;p.socket=new WebSocket(window.location.protocol.replace("http","ws")+"//"+window.location.host+window.location.pathname.substring(0,window.location.pathname.lastIndexOf("/"))+"/webrelay.ashx?p=1&host="+p.host+"&port="+p.port+
52 -"&tls="+p.tls+"&tls1only="+p.tlsv1only+("*"==a?"&serverauth=1":"")+("undefined"===typeof d?"&serverauth=1&user="+a:""));p.socket.onopen=q;p.socket.onmessage=k;p.socket.onclose=n};var h=new FileReader,m=!1,w=[];h.readAsBinaryString?h.onload=function(a){v(a.target.result);0==w.length?m=!1:h.readAsBinaryString(new Blob([w.shift()]))}:h.readAsArrayBuffer&&(h.onloadend=function(a){v(a.target.result);0==w.length?m=!1:h.readAsArrayBuffer(w.shift())});p.gotNextMessages=function(a,b,c,n){if(999!=p.FailAllError)if(0!=
53 -p.FailAllError)n[1](null,p.FailAllError,n[2]);else if(200!=c.status)n[1](null,c.status,n[2]);else n[1](a,200,n[2])};p.gotNextMessagesError=function(a,b,c,n){if(999!=p.FailAllError)if(0!=p.FailAllError)n[1](null,p.FailAllError,n[2]);else n[1](p,null,{Header:{HttpError:a.status}},a.status,n[2])};p.CancelAllQueries=function(a){for(;0<p.PendingAjax.length;){var b=p.PendingAjax.shift();b[1](null,a,b[2])}null!=p.websocket&&(p.websocket.close(),p.websocket=null,p.socketState=0)};return p},CreateAmtRedirect=
54 -function(b){var c={};c.m=b;b.parent=c;c.State=0;c.socket=null;c.host=null;c.port=0;c.user=null;c.pass=null;c.authuri="/RedirectionService";c.tlsv1only=0;c.connectstate=0;c.protocol=b.protocol;c.amtaccumulator="";c.amtsequence=1;c.amtkeepalivetimer=null;c.onStateChanged=null;c.Start=function(a,b,d,n,e){c.host=a;c.port=b;c.user=d;c.pass=n;c.connectstate=0;c.socket=new WebSocket(window.location.protocol.replace("http","ws")+"//"+window.location.host+window.location.pathname.substring(0,window.location.pathname.lastIndexOf("/"))+
55 -"/webrelay.ashx?p=2&host="+a+"&port="+b+"&tls="+e+("*"==d?"&serverauth=1":"")+("undefined"===typeof n?"&serverauth=1&user="+d:"")+"&tls1only="+c.tlsv1only);c.socket.onopen=c.xxOnSocketConnected;c.socket.onmessage=c.xxOnMessage;c.socket.onclose=c.xxOnSocketClosed;c.xxStateChange(1)};c.xxOnSocketConnected=function(){urlvars&&urlvars.redirtrace&&console.log("REDIR-CONNECT");c.xxStateChange(2);1==c.protocol&&c.xxSend(c.RedirectStartSol);2==c.protocol&&c.xxSend(c.RedirectStartKvm);3==c.protocol&&c.xxSend(c.RedirectStartIder)};
56 -var a=new FileReader,d=!1,e=[];a.readAsBinaryString?a.onload=function(b){c.xxOnSocketData(b.target.result);0==e.length?d=!1:a.readAsBinaryString(new Blob([e.shift()]))}:a.readAsArrayBuffer&&(a.onloadend=function(b){c.xxOnSocketData(b.target.result);0==e.length?d=!1:a.readAsArrayBuffer(e.shift())});c.xxOnMessage=function(b){c.inDataCount++;if("object"==typeof b.data)if(1==d)e.push(b.data);else if(a.readAsBinaryString)d=!0,a.readAsBinaryString(new Blob([b.data]));else if(f.readAsArrayBuffer)d=!0,a.readAsArrayBuffer(b.data);
57 -else{var k="";b=new Uint8Array(b.data);for(var v=b.byteLength,n=0;n<v;n++)k+=String.fromCharCode(b[n]);c.xxOnSocketData(k)}else c.xxOnSocketData(b.data)};c.xxOnSocketData=function(a){if(a&&-1!=c.connectstate){if("object"===typeof a){var b="",d=new Uint8Array(a),n=d.byteLength;for(a=0;a<n;a++)b+=String.fromCharCode(d[a]);a=b}else if("string"!==typeof a)return;if((2==c.protocol||3==c.protocol)&&1==c.connectstate)return c.m.ProcessData(a);c.amtaccumulator+=a;for(urlvars&&urlvars.redirtrace&&console.log("REDIR-RECV("+
58 -c.amtaccumulator.length+"): "+rstr2hex(c.amtaccumulator));1<=c.amtaccumulator.length;){a=0;switch(c.amtaccumulator.charCodeAt(0)){case 17:if(4>c.amtaccumulator.length)return;switch(c.amtaccumulator.charCodeAt(1)){case 0:if(13>c.amtaccumulator.length)return;b=c.amtaccumulator.charCodeAt(12);if(c.amtaccumulator.length<13+b)return;c.xxSend(String.fromCharCode(19,0,0,0,0,0,0,0,0));a=13+b;break;default:c.Stop()}break;case 20:if(9>c.amtaccumulator.length)return;var e=ReadIntX(c.amtaccumulator,5);if(c.amtaccumulator.length<
59 -9+e)return;var n=c.amtaccumulator.charCodeAt(1),b=c.amtaccumulator.charCodeAt(4),h=[];for(a=0;a<e;a++)h.push(c.amtaccumulator.charCodeAt(9+a));d=c.amtaccumulator.substring(9,9+e);a=9+e;if(0==b)0<=h.indexOf(4)?c.xxSend(String.fromCharCode(19,0,0,0,4)+IntToStrX(c.user.length+c.authuri.length+8)+String.fromCharCode(c.user.length)+c.user+String.fromCharCode(0,0)+String.fromCharCode(c.authuri.length)+c.authuri+String.fromCharCode(0,0,0,0)):0<=h.indexOf(3)?c.xxSend(String.fromCharCode(19,0,0,0,3)+IntToStrX(c.user.length+
60 -c.authuri.length+7)+String.fromCharCode(c.user.length)+c.user+String.fromCharCode(0,0)+String.fromCharCode(c.authuri.length)+c.authuri+String.fromCharCode(0,0,0)):0<=h.indexOf(1)?c.xxSend(String.fromCharCode(19,0,0,0,1)+IntToStrX(c.user.length+c.pass.length+2)+String.fromCharCode(c.user.length)+c.user+String.fromCharCode(c.pass.length)+c.pass):c.Stop();else if(3!=b&&4!=b||1!=n)0==n?(1==c.protocol&&c.xxSend(String.fromCharCode(32,0,0,0)+IntToStrX(c.amtsequence++)+ShortToStrX(1E4)+ShortToStrX(100)+
61 -ShortToStrX(0)+ShortToStrX(1E4)+ShortToStrX(100)+ShortToStrX(0)+IntToStrX(0)),2==c.protocol&&c.xxSend(String.fromCharCode(64,0,0,0,0,0,0,0)),3==c.protocol&&(c.connectstate=1,c.xxStateChange(3))):c.Stop();else{var e=0,h=d.charCodeAt(e),n=d.substring(e+1,e+1+h),e=e+(h+1),m=d.charCodeAt(e),h=d.substring(e+1,e+1+m),e=e+(m+1),m=0,m=null,w=c.xxRandomNonce(32),B="";4==b&&(m=d.charCodeAt(e),m=d.substring(e+1,e+1+m),B="00000002:"+w+":"+m+":");d=hex_md5(hex_md5(c.user+":"+n+":"+c.pass)+":"+h+":"+B+hex_md5("POST:"+
62 -c.authuri));e=c.user.length+n.length+h.length+c.authuri.length+w.length+8+d.length+7;4==b&&(e+=m.length+1);d=String.fromCharCode(19,0,0,0,b)+IntToStrX(e)+String.fromCharCode(c.user.length)+c.user+String.fromCharCode(n.length)+n+String.fromCharCode(h.length)+h+String.fromCharCode(c.authuri.length)+c.authuri+String.fromCharCode(w.length)+w+String.fromCharCode(8)+"00000002"+String.fromCharCode(d.length)+d;4==b&&(d+=String.fromCharCode(m.length)+m);c.xxSend(d)}break;case 33:if(23>c.amtaccumulator.length)break;
63 -a=23;c.xxSend(String.fromCharCode(39,0,0,0)+IntToStrX(c.amtsequence++)+String.fromCharCode(0,0,27,0,0,0));1==c.protocol&&(c.amtkeepalivetimer=setInterval(c.xxSendAmtKeepAlive,2E3));c.connectstate=1;c.xxStateChange(3);break;case 41:if(10>c.amtaccumulator.length)break;a=10;break;case 42:if(10>c.amtaccumulator.length)break;b=10+((c.amtaccumulator.charCodeAt(9)&255)<<8)+(c.amtaccumulator.charCodeAt(8)&255);if(c.amtaccumulator.length<b)break;c.m.ProcessData(c.amtaccumulator.substring(10,b));a=b;break;
64 -case 43:if(8>c.amtaccumulator.length)break;a=8;break;case 65:if(8>c.amtaccumulator.length)break;c.connectstate=1;c.m.Start();8<c.amtaccumulator.length&&c.m.ProcessData(c.amtaccumulator.substring(8));a=c.amtaccumulator.length;break;default:console.log("Unknown Intel AMT command: "+c.amtaccumulator.charCodeAt(0)+" acclen="+c.amtaccumulator.length);c.Stop();return}if(0==a)break;c.amtaccumulator=c.amtaccumulator.substring(a)}}};c.xxSend=function(a){urlvars&&urlvars.redirtrace&&console.log("REDIR-SEND("+
65 -a.length+"): "+rstr2hex(a));if(null!=c.socket&&c.socket.readyState==WebSocket.OPEN){for(var b=new Uint8Array(a.length),d=0;d<a.length;++d)b[d]=a.charCodeAt(d);c.socket.send(b.buffer)}};c.Send=function(a){null!=c.socket&&1==c.connectstate&&(1==c.protocol?c.xxSend(String.fromCharCode(40,0,0,0)+IntToStrX(c.amtsequence++)+ShortToStrX(a.length)+a):c.xxSend(a))};c.xxSendAmtKeepAlive=function(){null!=c.socket&&c.xxSend(String.fromCharCode(43,0,0,0)+IntToStrX(c.amtsequence++))};c.xxRandomNonceX="abcdef0123456789";
66 -c.xxRandomNonce=function(a){for(var b="",d=0;d<a;d++)b+=c.xxRandomNonceX.charAt(Math.floor(Math.random()*c.xxRandomNonceX.length));return b};c.xxOnSocketClosed=function(){urlvars&&urlvars.redirtrace&&console.log("REDIR-CLOSED");c.Stop()};c.xxStateChange=function(a){if(c.State!=a&&(c.State=a,c.m.xxStateChange(c.State),null!=c.onStateChanged))c.onStateChanged(c,c.State)};c.Stop=function(){c.xxStateChange(0);c.connectstate=-1;c.amtaccumulator="";null!=c.socket&&(c.socket.close(),c.socket=null);null!=
67 -c.amtkeepalivetimer&&(clearInterval(c.amtkeepalivetimer),c.amtkeepalivetimer=null)};c.RedirectStartSol=String.fromCharCode(16,0,0,0,83,79,76,32);c.RedirectStartKvm=String.fromCharCode(16,1,0,0,75,86,77,82);c.RedirectStartIder=String.fromCharCode(16,0,0,0,73,68,69,82);return c},WsmanStackCreateService=function(b,c,a,d,e,q){function k(a){for(var b,c={},n=0;n<a.childNodes.length;n++){var d=a.childNodes[n];b=null==d.childElementCount||0==d.childElementCount?d.textContent:k(d);"true"==b&&(b=!0);"false"==
68 -b&&(b=!1);parseInt(b)+""===b&&(b=parseInt(b));var e=b;if(null!=d.attributes&&0<d.attributes.length)for(e={Value:b},b=0;b<d.attributes.length;b++)e["@"+d.attributes[b].name]=d.attributes[b].value;c[d.localName]instanceof Array?c[d.localName].push(e):c[d.localName]=null==c[d.localName]?e:[c[d.localName],e]}return c}function v(a){if(!a)return"";var b="",c;for(c in a)a.hasOwnProperty(c)&&0===c.indexOf("@")&&(b+=" "+c.substring(1)+'="'+a[c]+'"');return b}function n(a){if(!a)return"";if("string"==typeof a)return a;
69 -if(a.InstanceID)return'<w:SelectorSet><w:Selector Name="InstanceID">'+a.InstanceID+"</w:Selector></w:SelectorSet>";var b="<w:SelectorSet>",c;for(c in a)if(a.hasOwnProperty(c)){b+='<w:Selector Name="'+c+'">';if(a[c].ReferenceParameters){var b=b+"<a:EndpointReference>",b=b+("<a:Address>"+a[c].Address+"</a:Address><a:ReferenceParameters><w:ResourceURI>"+a[c].ReferenceParameters.ResourceURI+"</w:ResourceURI><w:SelectorSet>"),n=a[c].ReferenceParameters.SelectorSet.Selector;if(Array.isArray(n))for(var d=
70 -0;d<n.length;d++)b+="<w:Selector"+v(n[d])+">"+n[d].Value+"</w:Selector>";else b+="<w:Selector"+v(n)+">"+n.Value+"</w:Selector>";b+="</w:SelectorSet></a:ReferenceParameters></a:EndpointReference>"}else b+=a[c];b+="</w:Selector>"}return b+"</w:SelectorSet>"}var p={NextMessageId:1,Address:"/wsman"};p.comm=CreateWsmanComm(b,c,a,d,e,q);p.PerformAjax=function(a,b,c,n,d){null==d&&(d="");p.comm.PerformAjax('<?xml version="1.0" encoding="utf-8"?><Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:a="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:w="http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd" xmlns="http://www.w3.org/2003/05/soap-envelope" '+
47 +p.host=b;p.port=c;p.user=a;p.pass=d;p.tls=e;p.tlsv1only=0;p.cnonce=Math.random().toString(36).substring(7);p.inDataCount=0;p.amtVersion=null;p.digestRealmMatch=null;p.digestRealm=null;p.PerformAjax=function(a,b,c,n,h,d){p.ActiveAjaxCount<p.MaxActiveAjaxCount&&0==p.PendingAjax.length?p.PerformAjaxEx(a,b,c,h,d):1==n?p.PendingAjax.unshift([a,b,c,h,d]):p.PendingAjax.push([a,b,c,h,d])};p.PerformNextAjax=function(){if(!(p.ActiveAjaxCount>=p.MaxActiveAjaxCount||0==p.PendingAjax.length)){var a=p.PendingAjax.shift();
48 +p.PerformAjaxEx(a[0],a[1],a[2],a[3],a[4]);p.PerformNextAjax()}};p.PerformAjaxEx=function(a,b,c,n,h){if(0!=p.FailAllError)p.gotNextMessagesError({status:p.FailAllError},"error",null,[a,b,c,n,h]);else return a||(a=""),p.ActiveAjaxCount++,p.PerformAjaxExNodeJS(a,b,c,n,h)};p.pendingAjaxCall=[];p.PerformAjaxExNodeJS=function(a,b,c,n,h){p.PerformAjaxExNodeJS2(a,b,c,n,h,3)};p.PerformAjaxExNodeJS2=function(a,b,c,n,h,d){0>=d||0!=p.FailAllError?(p.ActiveAjaxCount--,999!=p.FailAllError&&p.gotNextMessages(null,
49 +"error",{status:0==p.FailAllError?408:p.FailAllError},[a,b,c,n,h]),p.PerformNextAjax()):(p.pendingAjaxCall.push([a,b,c,n,h,d]),0==p.socketState?p.xxConnectHttpSocket():2==p.socketState&&p.sendRequest(a,n,h))};p.sendRequest=function(a,b,c){b=b?b:"/wsman";c=c?c:"POST";var n=c+" "+b+" HTTP/1.1\r\n";if(null!=p.challengeParams){p.digestRealm=p.challengeParams.realm;if(p.digestRealmMatch&&p.digestRealm!=p.digestRealmMatch){p.FailAllError=997;p.CancelAllQueries(997);return}c=hex_md5(hex_md5(p.user+":"+p.challengeParams.realm+
50 +":"+p.pass)+":"+p.challengeParams.nonce+":"+p.noncecounter+":"+p.cnonce+":"+p.challengeParams.qop+":"+hex_md5(c+":"+b));n+="Authorization: "+p.renderDigest({username:p.user,realm:p.challengeParams.realm,nonce:p.challengeParams.nonce,uri:b,qop:p.challengeParams.qop,response:c,nc:p.noncecounter++,cnonce:p.cnonce})+"\r\n"}a=n+="Host: "+p.host+":"+p.port+"\r\nContent-Length: "+a.length+"\r\n\r\n"+a;if(2==p.socketState&&null!=p.socket&&p.socket.readyState==WebSocket.OPEN){b=new Uint8Array(a.length);for(n=
51 +0;n<a.length;++n)b[n]=a.charCodeAt(n);try{p.socket.send(b.buffer)}catch(h){}}};p.parseDigest=function(a){a=a.substring(7).split(",");for(i in a)a[i]=a[i].trim();return a.reduce(function(a,b){var c=b.split("=");a[c[0]]=c[1].replace(/"/g,"");return a},{})};p.renderDigest=function(a){var b=[];for(i in a)b.push(i);return"Digest "+b.reduce(function(b,c){return b+","+c+'="'+a[c]+'"'},"").substring(1)};p.xxConnectHttpSocket=function(){p.inDataCount=0;p.socketState=1;p.socket=new WebSocket(window.location.protocol.replace("http",
52 +"ws")+"//"+window.location.host+window.location.pathname.substring(0,window.location.pathname.lastIndexOf("/"))+"/webrelay.ashx?p=1&host="+p.host+"&port="+p.port+"&tls="+p.tls+"&tls1only="+p.tlsv1only+("*"==a?"&serverauth=1":"")+("undefined"===typeof d?"&serverauth=1&user="+a:""));p.socket.onopen=q;p.socket.onmessage=k;p.socket.onclose=n};var h=new FileReader,m=!1,w=[];h.readAsBinaryString?h.onload=function(a){v(a.target.result);0==w.length?m=!1:h.readAsBinaryString(new Blob([w.shift()]))}:h.readAsArrayBuffer&&
53 +(h.onloadend=function(a){v(a.target.result);0==w.length?m=!1:h.readAsArrayBuffer(w.shift())});p.gotNextMessages=function(a,b,c,n){if(999!=p.FailAllError)if(0!=p.FailAllError)n[1](null,p.FailAllError,n[2]);else if(200!=c.status)n[1](null,c.status,n[2]);else n[1](a,200,n[2])};p.gotNextMessagesError=function(a,b,c,n){if(999!=p.FailAllError)if(0!=p.FailAllError)n[1](null,p.FailAllError,n[2]);else n[1](p,null,{Header:{HttpError:a.status}},a.status,n[2])};p.CancelAllQueries=function(a){for(;0<p.PendingAjax.length;){var b=
54 +p.PendingAjax.shift();b[1](null,a,b[2])}null!=p.websocket&&(p.websocket.close(),p.websocket=null,p.socketState=0)};return p},CreateAmtRedirect=function(b){var c={};c.m=b;b.parent=c;c.State=0;c.socket=null;c.host=null;c.port=0;c.user=null;c.pass=null;c.authuri="/RedirectionService";c.tlsv1only=0;c.connectstate=0;c.protocol=b.protocol;c.amtaccumulator="";c.amtsequence=1;c.amtkeepalivetimer=null;c.digestRealmMatch=null;c.onStateChanged=null;c.Start=function(a,b,d,n,e){c.host=a;c.port=b;c.user=d;c.pass=
55 +n;c.connectstate=0;c.socket=new WebSocket(window.location.protocol.replace("http","ws")+"//"+window.location.host+window.location.pathname.substring(0,window.location.pathname.lastIndexOf("/"))+"/webrelay.ashx?p=2&host="+a+"&port="+b+"&tls="+e+("*"==d?"&serverauth=1":"")+("undefined"===typeof n?"&serverauth=1&user="+d:"")+"&tls1only="+c.tlsv1only);c.socket.onopen=c.xxOnSocketConnected;c.socket.onmessage=c.xxOnMessage;c.socket.onclose=c.xxOnSocketClosed;c.xxStateChange(1)};c.xxOnSocketConnected=function(){urlvars&&
56 +urlvars.redirtrace&&console.log("REDIR-CONNECT");c.xxStateChange(2);1==c.protocol&&c.xxSend(c.RedirectStartSol);2==c.protocol&&c.xxSend(c.RedirectStartKvm);3==c.protocol&&c.xxSend(c.RedirectStartIder)};var a=new FileReader,d=!1,e=[];a.readAsBinaryString?a.onload=function(b){c.xxOnSocketData(b.target.result);0==e.length?d=!1:a.readAsBinaryString(new Blob([e.shift()]))}:a.readAsArrayBuffer&&(a.onloadend=function(b){c.xxOnSocketData(b.target.result);0==e.length?d=!1:a.readAsArrayBuffer(e.shift())});
57 +c.xxOnMessage=function(b){c.inDataCount++;if("object"==typeof b.data)if(1==d)e.push(b.data);else if(a.readAsBinaryString)d=!0,a.readAsBinaryString(new Blob([b.data]));else if(f.readAsArrayBuffer)d=!0,a.readAsArrayBuffer(b.data);else{var k="";b=new Uint8Array(b.data);for(var v=b.byteLength,n=0;n<v;n++)k+=String.fromCharCode(b[n]);c.xxOnSocketData(k)}else c.xxOnSocketData(b.data)};c.xxOnSocketData=function(a){if(a&&-1!=c.connectstate){if("object"===typeof a){var b="",d=new Uint8Array(a),n=d.byteLength;
58 +for(a=0;a<n;a++)b+=String.fromCharCode(d[a]);a=b}else if("string"!==typeof a)return;if((2==c.protocol||3==c.protocol)&&1==c.connectstate)return c.m.ProcessData(a);c.amtaccumulator+=a;for(urlvars&&urlvars.redirtrace&&console.log("REDIR-RECV("+c.amtaccumulator.length+"): "+rstr2hex(c.amtaccumulator));1<=c.amtaccumulator.length;){a=0;switch(c.amtaccumulator.charCodeAt(0)){case 17:if(4>c.amtaccumulator.length)return;switch(c.amtaccumulator.charCodeAt(1)){case 0:if(13>c.amtaccumulator.length)return;b=
59 +c.amtaccumulator.charCodeAt(12);if(c.amtaccumulator.length<13+b)return;c.xxSend(String.fromCharCode(19,0,0,0,0,0,0,0,0));a=13+b;break;default:c.Stop()}break;case 20:if(9>c.amtaccumulator.length)return;var e=ReadIntX(c.amtaccumulator,5);if(c.amtaccumulator.length<9+e)return;var n=c.amtaccumulator.charCodeAt(1),b=c.amtaccumulator.charCodeAt(4),h=[];for(a=0;a<e;a++)h.push(c.amtaccumulator.charCodeAt(9+a));d=c.amtaccumulator.substring(9,9+e);a=9+e;if(0==b)0<=h.indexOf(4)?c.xxSend(String.fromCharCode(19,
60 +0,0,0,4)+IntToStrX(c.user.length+c.authuri.length+8)+String.fromCharCode(c.user.length)+c.user+String.fromCharCode(0,0)+String.fromCharCode(c.authuri.length)+c.authuri+String.fromCharCode(0,0,0,0)):0<=h.indexOf(3)?c.xxSend(String.fromCharCode(19,0,0,0,3)+IntToStrX(c.user.length+c.authuri.length+7)+String.fromCharCode(c.user.length)+c.user+String.fromCharCode(0,0)+String.fromCharCode(c.authuri.length)+c.authuri+String.fromCharCode(0,0,0)):0<=h.indexOf(1)?c.xxSend(String.fromCharCode(19,0,0,0,1)+IntToStrX(c.user.length+
61 +c.pass.length+2)+String.fromCharCode(c.user.length)+c.user+String.fromCharCode(c.pass.length)+c.pass):c.Stop();else if(3!=b&&4!=b||1!=n)0==n?(1==c.protocol&&c.xxSend(String.fromCharCode(32,0,0,0)+IntToStrX(c.amtsequence++)+ShortToStrX(1E4)+ShortToStrX(100)+ShortToStrX(0)+ShortToStrX(1E4)+ShortToStrX(100)+ShortToStrX(0)+IntToStrX(0)),2==c.protocol&&c.xxSend(String.fromCharCode(64,0,0,0,0,0,0,0)),3==c.protocol&&(c.connectstate=1,c.xxStateChange(3))):c.Stop();else{e=0;h=d.charCodeAt(e);n=d.substring(e+
62 +1,e+1+h);e+=h+1;if(c.digestRealmMatch&&c.digestRealmMatch!=n){c.Stop();return}var m=d.charCodeAt(e),h=d.substring(e+1,e+1+m),e=e+(m+1),m=0,m=null,w=c.xxRandomNonce(32),B="";4==b&&(m=d.charCodeAt(e),m=d.substring(e+1,e+1+m),B="00000002:"+w+":"+m+":");d=hex_md5(hex_md5(c.user+":"+n+":"+c.pass)+":"+h+":"+B+hex_md5("POST:"+c.authuri));e=c.user.length+n.length+h.length+c.authuri.length+w.length+8+d.length+7;4==b&&(e+=m.length+1);d=String.fromCharCode(19,0,0,0,b)+IntToStrX(e)+String.fromCharCode(c.user.length)+
63 +c.user+String.fromCharCode(n.length)+n+String.fromCharCode(h.length)+h+String.fromCharCode(c.authuri.length)+c.authuri+String.fromCharCode(w.length)+w+String.fromCharCode(8)+"00000002"+String.fromCharCode(d.length)+d;4==b&&(d+=String.fromCharCode(m.length)+m);c.xxSend(d)}break;case 33:if(23>c.amtaccumulator.length)break;a=23;c.xxSend(String.fromCharCode(39,0,0,0)+IntToStrX(c.amtsequence++)+String.fromCharCode(0,0,27,0,0,0));1==c.protocol&&(c.amtkeepalivetimer=setInterval(c.xxSendAmtKeepAlive,2E3));
64 +c.connectstate=1;c.xxStateChange(3);break;case 41:if(10>c.amtaccumulator.length)break;a=10;break;case 42:if(10>c.amtaccumulator.length)break;b=10+((c.amtaccumulator.charCodeAt(9)&255)<<8)+(c.amtaccumulator.charCodeAt(8)&255);if(c.amtaccumulator.length<b)break;c.m.ProcessData(c.amtaccumulator.substring(10,b));a=b;break;case 43:if(8>c.amtaccumulator.length)break;a=8;break;case 65:if(8>c.amtaccumulator.length)break;c.connectstate=1;c.m.Start();8<c.amtaccumulator.length&&c.m.ProcessData(c.amtaccumulator.substring(8));
65 +a=c.amtaccumulator.length;break;default:console.log("Unknown Intel AMT command: "+c.amtaccumulator.charCodeAt(0)+" acclen="+c.amtaccumulator.length);c.Stop();return}if(0==a)break;c.amtaccumulator=c.amtaccumulator.substring(a)}}};c.xxSend=function(a){urlvars&&urlvars.redirtrace&&console.log("REDIR-SEND("+a.length+"): "+rstr2hex(a));if(null!=c.socket&&c.socket.readyState==WebSocket.OPEN){for(var b=new Uint8Array(a.length),d=0;d<a.length;++d)b[d]=a.charCodeAt(d);c.socket.send(b.buffer)}};c.Send=function(a){null!=
66 +c.socket&&1==c.connectstate&&(1==c.protocol?c.xxSend(String.fromCharCode(40,0,0,0)+IntToStrX(c.amtsequence++)+ShortToStrX(a.length)+a):c.xxSend(a))};c.xxSendAmtKeepAlive=function(){null!=c.socket&&c.xxSend(String.fromCharCode(43,0,0,0)+IntToStrX(c.amtsequence++))};c.xxRandomNonceX="abcdef0123456789";c.xxRandomNonce=function(a){for(var b="",d=0;d<a;d++)b+=c.xxRandomNonceX.charAt(Math.floor(Math.random()*c.xxRandomNonceX.length));return b};c.xxOnSocketClosed=function(){urlvars&&urlvars.redirtrace&&
67 +console.log("REDIR-CLOSED");c.Stop()};c.xxStateChange=function(a){if(c.State!=a&&(c.State=a,c.m.xxStateChange(c.State),null!=c.onStateChanged))c.onStateChanged(c,c.State)};c.Stop=function(){c.xxStateChange(0);c.connectstate=-1;c.amtaccumulator="";null!=c.socket&&(c.socket.close(),c.socket=null);null!=c.amtkeepalivetimer&&(clearInterval(c.amtkeepalivetimer),c.amtkeepalivetimer=null)};c.RedirectStartSol=String.fromCharCode(16,0,0,0,83,79,76,32);c.RedirectStartKvm=String.fromCharCode(16,1,0,0,75,86,
68 +77,82);c.RedirectStartIder=String.fromCharCode(16,0,0,0,73,68,69,82);return c},WsmanStackCreateService=function(b,c,a,d,e,q){function k(a){for(var b,c={},n=0;n<a.childNodes.length;n++){var d=a.childNodes[n];b=null==d.childElementCount||0==d.childElementCount?d.textContent:k(d);"true"==b&&(b=!0);"false"==b&&(b=!1);parseInt(b)+""===b&&(b=parseInt(b));var e=b;if(null!=d.attributes&&0<d.attributes.length)for(e={Value:b},b=0;b<d.attributes.length;b++)e["@"+d.attributes[b].name]=d.attributes[b].value;c[d.localName]instanceof
69 +Array?c[d.localName].push(e):c[d.localName]=null==c[d.localName]?e:[c[d.localName],e]}return c}function v(a){if(!a)return"";var b="",c;for(c in a)a.hasOwnProperty(c)&&0===c.indexOf("@")&&(b+=" "+c.substring(1)+'="'+a[c]+'"');return b}function n(a){if(!a)return"";if("string"==typeof a)return a;if(a.InstanceID)return'<w:SelectorSet><w:Selector Name="InstanceID">'+a.InstanceID+"</w:Selector></w:SelectorSet>";var b="<w:SelectorSet>",c;for(c in a)if(a.hasOwnProperty(c)){b+='<w:Selector Name="'+c+'">';
70 +if(a[c].ReferenceParameters){var b=b+"<a:EndpointReference>",b=b+("<a:Address>"+a[c].Address+"</a:Address><a:ReferenceParameters><w:ResourceURI>"+a[c].ReferenceParameters.ResourceURI+"</w:ResourceURI><w:SelectorSet>"),n=a[c].ReferenceParameters.SelectorSet.Selector;if(Array.isArray(n))for(var d=0;d<n.length;d++)b+="<w:Selector"+v(n[d])+">"+n[d].Value+"</w:Selector>";else b+="<w:Selector"+v(n)+">"+n.Value+"</w:Selector>";b+="</w:SelectorSet></a:ReferenceParameters></a:EndpointReference>"}else b+=a[c];
71 +b+="</w:Selector>"}return b+"</w:SelectorSet>"}var p={NextMessageId:1,Address:"/wsman"};p.comm=CreateWsmanComm(b,c,a,d,e,q);p.PerformAjax=function(a,b,c,n,d){null==d&&(d="");p.comm.PerformAjax('<?xml version="1.0" encoding="utf-8"?><Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:a="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:w="http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd" xmlns="http://www.w3.org/2003/05/soap-envelope" '+
72 d+"><Header><a:Action>"+a,function(a,c,n){200!=c?b(p,null,{Header:{HttpError:c}},c,n):(a=p.ParseWsman(a))&&null!=a?b(p,a.Header.ResourceURI,a,200,n):b(p,null,{Header:{HttpError:c}},601,n)},c,n)};p.CancelAllQueries=function(a){p.comm.CancelAllQueries(a)};p.GetNameFromUrl=function(a){var b=a.lastIndexOf("/");return-1==b?a:a.substring(b+1)};p.ExecSubscribe=function(a,b,c,d,e,g,x,u,J,A){var y="",H="";u="";null!=J&&null!=A&&(y='<t:IssuedTokens xmlns:t="http://schemas.xmlsoap.org/ws/2005/02/trust" xmlns:se="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"><t:RequestSecurityTokenResponse><t:TokenType>http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#UsernameToken</t:TokenType><t:RequestedSecurityToken><se:UsernameToken><se:Username>'+
73 J+'</se:Username><se:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd#PasswordText">'+A+"</se:Password></se:UsernameToken></t:RequestedSecurityToken></t:RequestSecurityTokenResponse></t:IssuedTokens>",H='<w:Auth Profile="http://schemas.dmtf.org/wbem/wsman/1/wsman/secprofile/http/digest"/>');null!=u&&(u="<a:ReferenceParameters><m:arg>"+u+"</m:arg></a:ReferenceParameters>");"PushWithAck"==b?b="dmtf.org/wbem/wsman/1/wsman/PushWithAck":"Push"==b&&(b="xmlsoap.org/ws/2004/08/eventing/DeliveryModes/Push");
74 a="http://schemas.xmlsoap.org/ws/2004/08/eventing/Subscribe</a:Action><a:To>"+p.Address+"</a:To><w:ResourceURI>"+a+"</w:ResourceURI><a:MessageID>"+p.NextMessageId++ +"</a:MessageID><a:ReplyTo><a:Address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</a:Address></a:ReplyTo>"+n(x)+y+'</Header><Body><e:Subscribe><e:Delivery Mode="http://schemas.'+b+'"><e:NotifyTo><a:Address>'+c+"</a:Address>"+u+"</e:NotifyTo>"+H+"</e:Delivery></e:Subscribe>";p.PerformAjax(a+"</Body></Envelope>",d,e,
@@ -215,8 +216,8 @@ typeof a&&null!==a)for(var c=0,d=b.length;c<d;){var n=b[c++];if(c==d)delete a[n]
216 c+"?>")}e.push(a.substring(d));return e.join("")};d.formatNumber=function(a,b,c,d){var n=isNaN(b=Math.abs(b))?2:b;b=void 0===c?",":c;d=void 0===d?".":d;c=0>a?"-":"";var e=parseInt(a=Math.abs(+a||0).toFixed(n),10)+"",g=3<e.length?e.length%3:0;return c+(g?e.substr(0,g)+d:"")+e.substr(g).replace(/(\d{3})(?=\d)/g,"$1"+d)+(n?b+Math.abs(a-e).toFixed(n).slice(2):"")};d.formatSize=function(a){return a=1073741824<=a?d.formatNumber(a/1073741824,2,".","")+" GiB":1048576<=a?d.formatNumber(a/1048576,2,".","")+
217 " MiB":1024<=a?d.formatNumber(a/1024,0)+" KiB":d.formatNumber(a,0)+" bytes"};d.bytesFromIP=function(a){return-1!==a.indexOf(".")?d.bytesFromIPv4(a):-1!==a.indexOf(":")?d.bytesFromIPv6(a):null};d.bytesFromIPv4=function(a){a=a.split(".");if(4!==a.length)return null;for(var b=d.createBuffer(),c=0;c<a.length;++c){var n=parseInt(a[c],10);if(isNaN(n))return null;b.putByte(n)}return b.getBytes()};d.bytesFromIPv6=function(a){var b=0;a=a.split(":").filter(function(a){0===a.length&&++b;return!0});for(var c=
218 2*(8-a.length+b),n=d.createBuffer(),e=0;8>e;++e)if(a[e]&&0!==a[e].length){var g=d.hexToBytes(a[e]);2>g.length&&n.putByte(0);n.putBytes(g)}else n.fillWithByte(0,c),c=0;return n.getBytes()};d.bytesToIP=function(a){return 4===a.length?d.bytesToIPv4(a):16===a.length?d.bytesToIPv6(a):null};d.bytesToIPv4=function(a){if(4!==a.length)return null;for(var b=[],c=0;c<a.length;++c)b.push(a.charCodeAt(c));return b.join(".")};d.bytesToIPv6=function(a){if(16!==a.length)return null;for(var b=[],c=[],n=0,e=0;e<a.length;e+=
218 -2){for(var g=d.bytesToHex(a[e]+a[e+1]);"0"===g[0]&&"0"!==g;)g=g.substr(1);if("0"===g){var l=c[c.length-1],u=b.length;l&&u===l.end+1?(l.end=u,l.end-l.start>c[n].end-c[n].start&&(n=c.length-1)):c.push({start:u,end:u})}b.push(g)}0<c.length&&(a=c[n],0<a.end-a.start&&(b.splice(a.start,a.end-a.start+1,""),0===a.start&&b.unshift(""),7===a.end&&b.push("")));return b.join(":")};d.estimateCores=function(a,b){function c(a,l,u){if(0===l){var m=Math.floor(a.reduce(function(a,b){return a+b},0)/a.length);d.cores=
219 -Math.max(1,m);URL.revokeObjectURL(g);return b(null,d.cores)}n(u,function(b,d){a.push(e(u,d));c(a,l-1,u)})}function n(a,b){for(var c=[],d=[],e=0;e<a;++e){var h=new Worker(g);h.addEventListener("message",function(n){d.push(n.data);if(d.length===a){for(n=0;n<a;++n)c[n].terminate();b(null,d)}});c.push(h)}for(e=0;e<a;++e)c[e].postMessage(e)}function e(a,b){for(var c=[],d=0;d<a;++d)for(var n=b[d],g=c[d]=[],h=0;h<a;++h)if(d!==h){var l=b[h];(n.st>l.st&&n.st<l.et||l.st>n.st&&l.st<n.et)&&g.push(h)}return c.reduce(function(a,
219 +2){for(var g=d.bytesToHex(a[e]+a[e+1]);"0"===g[0]&&"0"!==g;)g=g.substr(1);if("0"===g){var l=c[c.length-1],u=b.length;l&&u===l.end+1?(l.end=u,l.end-l.start>c[n].end-c[n].start&&(n=c.length-1)):c.push({start:u,end:u})}b.push(g)}0<c.length&&(a=c[n],0<a.end-a.start&&(b.splice(a.start,a.end-a.start+1,""),0===a.start&&b.unshift(""),7===a.end&&b.push("")));return b.join(":")};d.estimateCores=function(a,b){function c(a,l,u){if(0===l){var p=Math.floor(a.reduce(function(a,b){return a+b},0)/a.length);d.cores=
220 +Math.max(1,p);URL.revokeObjectURL(g);return b(null,d.cores)}n(u,function(b,d){a.push(e(u,d));c(a,l-1,u)})}function n(a,b){for(var c=[],d=[],e=0;e<a;++e){var h=new Worker(g);h.addEventListener("message",function(n){d.push(n.data);if(d.length===a){for(n=0;n<a;++n)c[n].terminate();b(null,d)}});c.push(h)}for(e=0;e<a;++e)c[e].postMessage(e)}function e(a,b){for(var c=[],d=0;d<a;++d)for(var n=b[d],g=c[d]=[],h=0;h<a;++h)if(d!==h){var l=b[h];(n.st>l.st&&n.st<l.et||l.st>n.st&&l.st<n.et)&&g.push(h)}return c.reduce(function(a,
221 b){return Math.max(a,b.length)},0)}"function"===typeof a&&(b=a,a={});a=a||{};if("cores"in d&&!a.update)return b(null,d.cores);if("undefined"!==typeof navigator&&"hardwareConcurrency"in navigator&&0<navigator.hardwareConcurrency)return d.cores=navigator.hardwareConcurrency,b(null,d.cores);if("undefined"===typeof Worker)return d.cores=1,b(null,d.cores);if("undefined"===typeof Blob)return d.cores=2,b(null,d.cores);var g=URL.createObjectURL(new Blob(["(",function(){self.addEventListener("message",function(a){a=
222 Date.now();for(var b=a+4;Date.now()<b;);self.postMessage({st:a,et:b})})}.toString(),")()"],{type:"application/javascript"}));c([],5,16)}}if("function"!==typeof a)if("object"===typeof module&&module.exports){var e=!0;a=function(a,b){b(c,module)}}else return"undefined"===typeof forge&&(forge={}),b(forge);var q,k=function(a,c){c.exports=function(c){var e=q.map(function(b){return a(b)}).concat(b);c=c||{};c.defined=c.defined||{};if(c.defined.util)return c.util;c.defined.util=!0;for(var p=0;p<e.length;++p)e[p](c);
223 return c.util}},v=a;a=function(b,c){q="string"===typeof b?c.slice(2):b.slice(2);if(e)return delete a,v.apply(null,Array.prototype.slice.call(arguments,0));a=v;return a.apply(null,Array.prototype.slice.call(arguments,0))};a("js/util",["require","module"],function(){k.apply(null,Array.prototype.slice.call(arguments,0))})})();(function(){function b(a){a.cipher=a.cipher||{};a.cipher.algorithms=a.cipher.algorithms||{};a.cipher.createCipher=function(b,c){var d=b;"string"===typeof d&&(d=a.cipher.getAlgorithm(d))&&
@@ -274,7 +275,7 @@ a["2.5.29.19"]="basicConstraints";a.basicConstraints="2.5.29.19";a["2.5.29.20"]=
275 a["2.5.29.33"]="policyMappings";a["2.5.29.34"]="policyConstraints";a["2.5.29.35"]="authorityKeyIdentifier";a["2.5.29.36"]="policyConstraints";a["2.5.29.37"]="extKeyUsage";a.extKeyUsage="2.5.29.37";a["2.5.29.46"]="freshestCRL";a["2.5.29.54"]="inhibitAnyPolicy";a["1.3.6.1.5.5.7.3.1"]="serverAuth";a.serverAuth="1.3.6.1.5.5.7.3.1";a["1.3.6.1.5.5.7.3.2"]="clientAuth";a.clientAuth="1.3.6.1.5.5.7.3.2";a["1.3.6.1.5.5.7.3.3"]="codeSigning";a.codeSigning="1.3.6.1.5.5.7.3.3";a["1.3.6.1.5.5.7.3.4"]="emailProtection";
276 a.emailProtection="1.3.6.1.5.5.7.3.4";a["1.3.6.1.5.5.7.3.8"]="timeStamping";a.timeStamping="1.3.6.1.5.5.7.3.8"}if("function"!==typeof a)if("object"===typeof module&&module.exports){var e=!0;a=function(a,b){b(c,module)}}else return"undefined"===typeof forge&&(forge={}),b(forge);var q,k=function(a,c){c.exports=function(c){var e=q.map(function(b){return a(b)}).concat(b);c=c||{};c.defined=c.defined||{};if(c.defined.oids)return c.oids;c.defined.oids=!0;for(var p=0;p<e.length;++p)e[p](c);return c.oids}},
277 v=a;a=function(b,c){q="string"===typeof b?c.slice(2):b.slice(2);if(e)return delete a,v.apply(null,Array.prototype.slice.call(arguments,0));a=v;return a.apply(null,Array.prototype.slice.call(arguments,0))};a("js/oids",["require","module"],function(){k.apply(null,Array.prototype.slice.call(arguments,0))})})();(function(){function b(a){var c=a.asn1=a.asn1||{};c.Class={UNIVERSAL:0,APPLICATION:64,CONTEXT_SPECIFIC:128,PRIVATE:192};c.Type={NONE:0,BOOLEAN:1,INTEGER:2,BITSTRING:3,OCTETSTRING:4,NULL:5,OID:6,
277 -ODESC:7,EXTERNAL:8,REAL:9,ENUMERATED:10,EMBEDDED:11,UTF8:12,ROID:13,SEQUENCE:16,SET:17,PRINTABLESTRING:19,IA5STRING:22,UTCTIME:23,GENERALIZEDTIME:24,BMPSTRING:30};c.create=function(b,c,d,e){if(a.util.isArray(e)){for(var h=[],m=0;m<e.length;++m)void 0!==e[m]&&h.push(e[m]);e=h}return{tagClass:b,type:c,constructed:d,composed:d||a.util.isArray(e),value:e}};var d=c.getBerValueLength=function(a){var b=a.getByte();if(128!==b)return b&128?a.getInt((b&127)<<3):b};c.fromDer=function(b,e){void 0===e&&(e=!0);
278 +ODESC:7,EXTERNAL:8,REAL:9,ENUMERATED:10,EMBEDDED:11,UTF8:12,ROID:13,SEQUENCE:16,SET:17,PRINTABLESTRING:19,IA5STRING:22,UTCTIME:23,GENERALIZEDTIME:24,BMPSTRING:30};c.create=function(b,c,d,e){if(a.util.isArray(e)){for(var h=[],p=0;p<e.length;++p)void 0!==e[p]&&h.push(e[p]);e=h}return{tagClass:b,type:c,constructed:d,composed:d||a.util.isArray(e),value:e}};var d=c.getBerValueLength=function(a){var b=a.getByte();if(128!==b)return b&128?a.getInt((b&127)<<3):b};c.fromDer=function(b,e){void 0===e&&(e=!0);
279 "string"===typeof b&&(b=a.util.createBuffer(b));if(2>b.length()){var l=Error("Too few bytes to parse DER.");l.bytes=b.length();throw l;}var g=b.getByte(),l=g&192,m=g&31,u=d(b);if(b.length()<u){if(e)throw l=Error("Too few bytes to read ASN.1 value."),l.detail=b.length()+" < "+u,l;u=b.length()}var k,A=32===(g&32);k=A;if(!k&&l===c.Class.UNIVERSAL&&m===c.Type.BITSTRING&&1<u){var y=b.read;if(0===b.getByte()&&(g=b.getByte(),g&=192,g===c.Class.UNIVERSAL||g===c.Class.CONTEXT_SPECIFIC))try{if(k=d(b)===u-(b.read-
280 y))++y,--u}catch(q){}b.read=y}if(k)if(k=[],void 0===u)for(;;){if(b.bytes(2)===String.fromCharCode(0,0)){b.getBytes(2);break}k.push(c.fromDer(b,e))}else for(y=b.length();0<u;)k.push(c.fromDer(b,e)),u-=y-b.length(),y=b.length();else{if(void 0===u){if(e)throw Error("Non-constructed ASN.1 object of indefinite length.");u=b.length()}if(m===c.Type.BMPSTRING)for(k="",y=0;y<u;y+=2)k+=String.fromCharCode(b.getInt16());else k=b.getBytes(u)}return c.create(l,m,A,k)};c.toDer=function(b){var d=a.util.createBuffer(),
281 e=b.tagClass|b.type,h=a.util.createBuffer();if(b.composed){b.constructed?e|=32:h.putByte(0);for(var m=0;m<b.value.length;++m)void 0!==b.value[m]&&h.putBuffer(c.toDer(b.value[m]))}else if(b.type===c.Type.BMPSTRING)for(m=0;m<b.value.length;++m)h.putInt16(b.value.charCodeAt(m));else h.putBytes(b.value);d.putByte(e);if(127>=h.length())d.putByte(h.length()&127);else{m=h.length();b="";do b+=String.fromCharCode(m&255),m>>>=8;while(0<m);d.putByte(b.length|128);for(m=b.length-1;0<=m;--m)d.putByte(b.charCodeAt(m))}d.putBuffer(h);
@@ -295,16 +296,16 @@ c){c.exports=function(c){var e=q.map(function(b){return a(b)}).concat(b);c=c||{}
296 Math.abs(Math.sin(b+1)));x=!0}function d(a,b,c){for(var e,n,h,m,z,C,p,x=c.length();64<=x;){n=a.h0;h=a.h1;m=a.h2;z=a.h3;for(p=0;16>p;++p)b[p]=c.getInt32Le(),e=z^h&(m^z),e=n+e+g[p]+b[p],C=l[p],n=z,z=m,m=h,h+=e<<C|e>>>32-C;for(;32>p;++p)e=m^z&(h^m),e=n+e+g[p]+b[q[p]],C=l[p],n=z,z=m,m=h,h+=e<<C|e>>>32-C;for(;48>p;++p)e=h^m^z,e=n+e+g[p]+b[q[p]],C=l[p],n=z,z=m,m=h,h+=e<<C|e>>>32-C;for(;64>p;++p)e=m^(h|~z),e=n+e+g[p]+b[q[p]],C=l[p],n=z,z=m,m=h,h+=e<<C|e>>>32-C;a.h0=a.h0+n|0;a.h1=a.h1+h|0;a.h2=a.h2+m|0;a.h3=
297 a.h3+z|0;x-=64}}var e=a.md5=a.md5||{};a.md=a.md||{};a.md.algorithms=a.md.algorithms||{};a.md.md5=a.md.algorithms.md5=e;e.create=function(){x||c();var b=null,e=a.util.createBuffer(),g=Array(16),l={algorithm:"md5",blockLength:64,digestLength:16,messageLength:0,fullMessageLength:null,messageLengthSize:8,start:function(){l.messageLength=0;l.fullMessageLength=l.messageLength64=[];for(var c=l.messageLengthSize/4,d=0;d<c;++d)l.fullMessageLength.push(0);e=a.util.createBuffer();b={h0:1732584193,h1:4023233417,
298 h2:2562383102,h3:271733878};return l}};l.start();l.update=function(c,m){"utf8"===m&&(c=a.util.encodeUtf8(c));var p=c.length;l.messageLength+=p;for(var p=[p/4294967296>>>0,p>>>0],z=l.fullMessageLength.length-1;0<=z;--z)l.fullMessageLength[z]+=p[1],p[1]=p[0]+(l.fullMessageLength[z]/4294967296>>>0),l.fullMessageLength[z]>>>=0,p[0]=p[1]/4294967296>>>0;e.putBytes(c);d(b,g,e);(2048<e.read||0===e.length())&&e.compact();return l};l.digest=function(){var c=a.util.createBuffer();c.putBytes(e.bytes());c.putBytes(k.substr(0,
298 -l.blockLength-(l.fullMessageLength[l.fullMessageLength.length-1]+l.messageLengthSize&l.blockLength-1)));for(var m,p=0,z=l.fullMessageLength.length-1;0<=z;--z)m=8*l.fullMessageLength[z]+p,p=m/4294967296>>>0,c.putInt32Le(m>>>0);m={h0:b.h0,h1:b.h1,h2:b.h2,h3:b.h3};d(m,g,c);c=a.util.createBuffer();c.putInt32Le(m.h0);c.putInt32Le(m.h1);c.putInt32Le(m.h2);c.putInt32Le(m.h3);return c};return l};var k=null,q=null,l=null,g=null,x=!1}if("function"!==typeof a)if("object"===typeof module&&module.exports){var e=
299 +l.blockLength-(l.fullMessageLength[l.fullMessageLength.length-1]+l.messageLengthSize&l.blockLength-1)));for(var p,m=0,z=l.fullMessageLength.length-1;0<=z;--z)p=8*l.fullMessageLength[z]+m,m=p/4294967296>>>0,c.putInt32Le(p>>>0);p={h0:b.h0,h1:b.h1,h2:b.h2,h3:b.h3};d(p,g,c);c=a.util.createBuffer();c.putInt32Le(p.h0);c.putInt32Le(p.h1);c.putInt32Le(p.h2);c.putInt32Le(p.h3);return c};return l};var k=null,q=null,l=null,g=null,x=!1}if("function"!==typeof a)if("object"===typeof module&&module.exports){var e=
300 !0;a=function(a,b){b(c,module)}}else return"undefined"===typeof forge&&(forge={}),b(forge);var q,k=function(a,c){c.exports=function(c){var e=q.map(function(b){return a(b)}).concat(b);c=c||{};c.defined=c.defined||{};if(c.defined.md5)return c.md5;c.defined.md5=!0;for(var p=0;p<e.length;++p)e[p](c);return c.md5}},v=a;a=function(b,c){q="string"===typeof b?c.slice(2):b.slice(2);if(e)return delete a,v.apply(null,Array.prototype.slice.call(arguments,0));a=v;return a.apply(null,Array.prototype.slice.call(arguments,
300 -0))};a("js/md5",["require","module","./util"],function(){k.apply(null,Array.prototype.slice.call(arguments,0))})})();(function(){function b(a){function c(a,b,d){for(var e,n,h,m,p,k,w,D,z=d.length();64<=z;){n=a.h0;h=a.h1;m=a.h2;p=a.h3;k=a.h4;for(D=0;16>D;++D)e=d.getInt32(),b[D]=e,w=p^h&(m^p),e=(n<<5|n>>>27)+w+k+1518500249+e,k=p,p=m,m=h<<30|h>>>2,h=n,n=e;for(;20>D;++D)e=b[D-3]^b[D-8]^b[D-14]^b[D-16],e=e<<1|e>>>31,b[D]=e,w=p^h&(m^p),e=(n<<5|n>>>27)+w+k+1518500249+e,k=p,p=m,m=h<<30|h>>>2,h=n,n=e;for(;32>
301 -D;++D)e=b[D-3]^b[D-8]^b[D-14]^b[D-16],e=e<<1|e>>>31,b[D]=e,w=h^m^p,e=(n<<5|n>>>27)+w+k+1859775393+e,k=p,p=m,m=h<<30|h>>>2,h=n,n=e;for(;40>D;++D)e=b[D-6]^b[D-16]^b[D-28]^b[D-32],e=e<<2|e>>>30,b[D]=e,w=h^m^p,e=(n<<5|n>>>27)+w+k+1859775393+e,k=p,p=m,m=h<<30|h>>>2,h=n,n=e;for(;60>D;++D)e=b[D-6]^b[D-16]^b[D-28]^b[D-32],e=e<<2|e>>>30,b[D]=e,w=h&m|p&(h^m),e=(n<<5|n>>>27)+w+k+2400959708+e,k=p,p=m,m=h<<30|h>>>2,h=n,n=e;for(;80>D;++D)e=b[D-6]^b[D-16]^b[D-28]^b[D-32],e=e<<2|e>>>30,b[D]=e,w=h^m^p,e=(n<<5|n>>>
302 -27)+w+k+3395469782+e,k=p,p=m,m=h<<30|h>>>2,h=n,n=e;a.h0=a.h0+n|0;a.h1=a.h1+h|0;a.h2=a.h2+m|0;a.h3=a.h3+p|0;a.h4=a.h4+k|0;z-=64}}var d=a.sha1=a.sha1||{};a.md=a.md||{};a.md.algorithms=a.md.algorithms||{};a.md.sha1=a.md.algorithms.sha1=d;d.create=function(){k||(e=String.fromCharCode(128),e+=a.util.fillString(String.fromCharCode(0),64),k=!0);var b=null,d=a.util.createBuffer(),h=Array(80),x={algorithm:"sha1",blockLength:64,digestLength:20,messageLength:0,fullMessageLength:null,messageLengthSize:8,start:function(){x.messageLength=
301 +0))};a("js/md5",["require","module","./util"],function(){k.apply(null,Array.prototype.slice.call(arguments,0))})})();(function(){function b(a){function c(a,b,d){for(var e,n,h,p,m,k,w,D,z=d.length();64<=z;){n=a.h0;h=a.h1;p=a.h2;m=a.h3;k=a.h4;for(D=0;16>D;++D)e=d.getInt32(),b[D]=e,w=m^h&(p^m),e=(n<<5|n>>>27)+w+k+1518500249+e,k=m,m=p,p=h<<30|h>>>2,h=n,n=e;for(;20>D;++D)e=b[D-3]^b[D-8]^b[D-14]^b[D-16],e=e<<1|e>>>31,b[D]=e,w=m^h&(p^m),e=(n<<5|n>>>27)+w+k+1518500249+e,k=m,m=p,p=h<<30|h>>>2,h=n,n=e;for(;32>
302 +D;++D)e=b[D-3]^b[D-8]^b[D-14]^b[D-16],e=e<<1|e>>>31,b[D]=e,w=h^p^m,e=(n<<5|n>>>27)+w+k+1859775393+e,k=m,m=p,p=h<<30|h>>>2,h=n,n=e;for(;40>D;++D)e=b[D-6]^b[D-16]^b[D-28]^b[D-32],e=e<<2|e>>>30,b[D]=e,w=h^p^m,e=(n<<5|n>>>27)+w+k+1859775393+e,k=m,m=p,p=h<<30|h>>>2,h=n,n=e;for(;60>D;++D)e=b[D-6]^b[D-16]^b[D-28]^b[D-32],e=e<<2|e>>>30,b[D]=e,w=h&p|m&(h^p),e=(n<<5|n>>>27)+w+k+2400959708+e,k=m,m=p,p=h<<30|h>>>2,h=n,n=e;for(;80>D;++D)e=b[D-6]^b[D-16]^b[D-28]^b[D-32],e=e<<2|e>>>30,b[D]=e,w=h^p^m,e=(n<<5|n>>>
303 +27)+w+k+3395469782+e,k=m,m=p,p=h<<30|h>>>2,h=n,n=e;a.h0=a.h0+n|0;a.h1=a.h1+h|0;a.h2=a.h2+p|0;a.h3=a.h3+m|0;a.h4=a.h4+k|0;z-=64}}var d=a.sha1=a.sha1||{};a.md=a.md||{};a.md.algorithms=a.md.algorithms||{};a.md.sha1=a.md.algorithms.sha1=d;d.create=function(){k||(e=String.fromCharCode(128),e+=a.util.fillString(String.fromCharCode(0),64),k=!0);var b=null,d=a.util.createBuffer(),h=Array(80),x={algorithm:"sha1",blockLength:64,digestLength:20,messageLength:0,fullMessageLength:null,messageLengthSize:8,start:function(){x.messageLength=
304 0;x.fullMessageLength=x.messageLength64=[];for(var c=x.messageLengthSize/4,e=0;e<c;++e)x.fullMessageLength.push(0);d=a.util.createBuffer();b={h0:1732584193,h1:4023233417,h2:2562383102,h3:271733878,h4:3285377520};return x}};x.start();x.update=function(e,m){"utf8"===m&&(e=a.util.encodeUtf8(e));var k=e.length;x.messageLength+=k;for(var k=[k/4294967296>>>0,k>>>0],w=x.fullMessageLength.length-1;0<=w;--w)x.fullMessageLength[w]+=k[1],k[1]=k[0]+(x.fullMessageLength[w]/4294967296>>>0),x.fullMessageLength[w]>>>=
305 0,k[0]=k[1]/4294967296>>>0;d.putBytes(e);c(b,h,d);(2048<d.read||0===d.length())&&d.compact();return x};x.digest=function(){var u=a.util.createBuffer();u.putBytes(d.bytes());u.putBytes(e.substr(0,x.blockLength-(x.fullMessageLength[x.fullMessageLength.length-1]+x.messageLengthSize&x.blockLength-1)));a.util.createBuffer();for(var k,w,q=8*x.fullMessageLength[0],H=0;H<x.fullMessageLength.length;++H)k=8*x.fullMessageLength[H+1],w=k/4294967296>>>0,q+=w,u.putInt32(q>>>0),q=k;k={h0:b.h0,h1:b.h1,h2:b.h2,h3:b.h3,
306 h4:b.h4};c(k,h,u);u=a.util.createBuffer();u.putInt32(k.h0);u.putInt32(k.h1);u.putInt32(k.h2);u.putInt32(k.h3);u.putInt32(k.h4);return u};return x};var e=null,k=!1}if("function"!==typeof a)if("object"===typeof module&&module.exports){var e=!0;a=function(a,b){b(c,module)}}else return"undefined"===typeof forge&&(forge={}),b(forge);var q,k=function(a,c){c.exports=function(c){var e=q.map(function(b){return a(b)}).concat(b);c=c||{};c.defined=c.defined||{};if(c.defined.sha1)return c.sha1;c.defined.sha1=
306 -!0;for(var p=0;p<e.length;++p)e[p](c);return c.sha1}},v=a;a=function(b,c){q="string"===typeof b?c.slice(2):b.slice(2);if(e)return delete a,v.apply(null,Array.prototype.slice.call(arguments,0));a=v;return a.apply(null,Array.prototype.slice.call(arguments,0))};a("js/sha1",["require","module","./util"],function(){k.apply(null,Array.prototype.slice.call(arguments,0))})})();(function(){function b(a){function c(a,b,d){for(var e,n,h,m,p,k,D,z,C,F,w,v,r,R=d.length();64<=R;){for(p=0;16>p;++p)b[p]=d.getInt32();
307 -for(;64>p;++p)e=b[p-2],e=(e>>>17|e<<15)^(e>>>19|e<<13)^e>>>10,n=b[p-15],n=(n>>>7|n<<25)^(n>>>18|n<<14)^n>>>3,b[p]=e+b[p-7]+n+b[p-16]|0;k=a.h0;D=a.h1;z=a.h2;C=a.h3;F=a.h4;w=a.h5;v=a.h6;r=a.h7;for(p=0;64>p;++p)e=(F>>>6|F<<26)^(F>>>11|F<<21)^(F>>>25|F<<7),h=v^F&(w^v),n=(k>>>2|k<<30)^(k>>>13|k<<19)^(k>>>22|k<<10),m=k&D|z&(k^D),e=r+e+h+q[p]+b[p],n+=m,r=v,v=w,w=F,F=C+e|0,C=z,z=D,D=k,k=e+n|0;a.h0=a.h0+k|0;a.h1=a.h1+D|0;a.h2=a.h2+z|0;a.h3=a.h3+C|0;a.h4=a.h4+F|0;a.h5=a.h5+w|0;a.h6=a.h6+v|0;a.h7=a.h7+r|0;R-=
307 +!0;for(var p=0;p<e.length;++p)e[p](c);return c.sha1}},v=a;a=function(b,c){q="string"===typeof b?c.slice(2):b.slice(2);if(e)return delete a,v.apply(null,Array.prototype.slice.call(arguments,0));a=v;return a.apply(null,Array.prototype.slice.call(arguments,0))};a("js/sha1",["require","module","./util"],function(){k.apply(null,Array.prototype.slice.call(arguments,0))})})();(function(){function b(a){function c(a,b,d){for(var e,n,h,p,m,k,D,z,C,F,w,v,r,R=d.length();64<=R;){for(m=0;16>m;++m)b[m]=d.getInt32();
308 +for(;64>m;++m)e=b[m-2],e=(e>>>17|e<<15)^(e>>>19|e<<13)^e>>>10,n=b[m-15],n=(n>>>7|n<<25)^(n>>>18|n<<14)^n>>>3,b[m]=e+b[m-7]+n+b[m-16]|0;k=a.h0;D=a.h1;z=a.h2;C=a.h3;F=a.h4;w=a.h5;v=a.h6;r=a.h7;for(m=0;64>m;++m)e=(F>>>6|F<<26)^(F>>>11|F<<21)^(F>>>25|F<<7),h=v^F&(w^v),n=(k>>>2|k<<30)^(k>>>13|k<<19)^(k>>>22|k<<10),p=k&D|z&(k^D),e=r+e+h+q[m]+b[m],n+=p,r=v,v=w,w=F,F=C+e|0,C=z,z=D,D=k,k=e+n|0;a.h0=a.h0+k|0;a.h1=a.h1+D|0;a.h2=a.h2+z|0;a.h3=a.h3+C|0;a.h4=a.h4+F|0;a.h5=a.h5+w|0;a.h6=a.h6+v|0;a.h7=a.h7+r|0;R-=
309 64}}var d=a.sha256=a.sha256||{};a.md=a.md||{};a.md.algorithms=a.md.algorithms||{};a.md.sha256=a.md.algorithms.sha256=d;d.create=function(){k||(e=String.fromCharCode(128),e+=a.util.fillString(String.fromCharCode(0),64),q=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,
310 2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],k=!0);var b=null,d=a.util.createBuffer(),h=Array(64),u={algorithm:"sha256",blockLength:64,digestLength:32,
311 messageLength:0,fullMessageLength:null,messageLengthSize:8,start:function(){u.messageLength=0;u.fullMessageLength=u.messageLength64=[];for(var c=u.messageLengthSize/4,e=0;e<c;++e)u.fullMessageLength.push(0);d=a.util.createBuffer();b={h0:1779033703,h1:3144134277,h2:1013904242,h3:2773480762,h4:1359893119,h5:2600822924,h6:528734635,h7:1541459225};return u}};u.start();u.update=function(e,m){"utf8"===m&&(e=a.util.encodeUtf8(e));var k=e.length;u.messageLength+=k;for(var k=[k/4294967296>>>0,k>>>0],w=u.fullMessageLength.length-
@@ -342,10 +343,10 @@ h=m;m=b^(q[U>>>24&63]|g[U>>>16&63]|u[U>>>8&63]|A[U&63]|k[T>>>24&63]|l[T>>>16&63]
343 null;c instanceof a.util.ByteBuffer&&(e=c,c={});c=c||{};c.output=e;c.iv=b;h.call(d,c)};return d}a.des=a.des||{};a.des.startEncrypting=function(a,b,c,d){a=e({key:a,output:c,decrypt:!1,mode:d||(null===b?"ECB":"CBC")});a.start(b);return a};a.des.createEncryptionCipher=function(a,b){return e({key:a,output:null,decrypt:!1,mode:b})};a.des.startDecrypting=function(a,b,c,d){a=e({key:a,output:c,decrypt:!0,mode:d||(null===b?"ECB":"CBC")});a.start(b);return a};a.des.createDecryptionCipher=function(a,b){return e({key:a,
344 output:null,decrypt:!0,mode:b})};a.des.Algorithm=function(a,b){var c=this;c.name=a;c.mode=new b({blockSize:8,cipher:{encrypt:function(a,b){return d(c._keys,a,b,!1)},decrypt:function(a,b){return d(c._keys,a,b,!0)}}});c._init=!1};a.des.Algorithm.prototype.initialize=function(b){if(!this._init){b=a.util.createBuffer(b.key);if(0===this.name.indexOf("3DES")&&24!==b.length())throw Error("Invalid Triple-DES key size: "+8*b.length());for(var c=[0,4,536870912,536870916,65536,65540,536936448,536936452,512,
345 516,536871424,536871428,66048,66052,536936960,536936964],d=[0,1,1048576,1048577,67108864,67108865,68157440,68157441,256,257,1048832,1048833,67109120,67109121,68157696,68157697],e=[0,8,2048,2056,16777216,16777224,16779264,16779272,0,8,2048,2056,16777216,16777224,16779264,16779272],h=[0,2097152,134217728,136314880,8192,2105344,134225920,136323072,131072,2228224,134348800,136445952,139264,2236416,134356992,136454144],g=[0,262144,16,262160,0,262144,16,262160,4096,266240,4112,266256,4096,266240,4112,266256],
345 -m=[0,1024,32,1056,0,1024,32,1056,33554432,33555456,33554464,33555488,33554432,33555456,33554464,33555488],l=[0,268435456,524288,268959744,2,268435458,524290,268959746,0,268435456,524288,268959744,2,268435458,524290,268959746],p=[0,65536,2048,67584,536870912,536936448,536872960,536938496,131072,196608,133120,198656,537001984,537067520,537004032,537069568],u=[0,262144,0,262144,2,262146,2,262146,33554432,33816576,33554432,33816576,33554434,33816578,33554434,33816578],k=[0,268435456,8,268435464,0,268435456,
346 +m=[0,1024,32,1056,0,1024,32,1056,33554432,33555456,33554464,33555488,33554432,33555456,33554464,33555488],p=[0,268435456,524288,268959744,2,268435458,524290,268959746,0,268435456,524288,268959744,2,268435458,524290,268959746],l=[0,65536,2048,67584,536870912,536936448,536872960,536938496,131072,196608,133120,198656,537001984,537067520,537004032,537069568],u=[0,262144,0,262144,2,262146,2,262146,33554432,33816576,33554432,33816576,33554434,33816578,33554434,33816578],k=[0,268435456,8,268435464,0,268435456,
347 8,268435464,1024,268436480,1032,268436488,1024,268436480,1032,268436488],q=[0,32,0,32,1048576,1048608,1048576,1048608,8192,8224,8192,8224,1056768,1056800,1056768,1056800],w=[0,16777216,512,16777728,2097152,18874368,2097664,18874880,67108864,83886080,67109376,83886592,69206016,85983232,69206528,85983744],x=[0,4096,134217728,134221824,524288,528384,134742016,134746112,16,4112,134217744,134221840,524304,528400,134742032,134746128],A=[0,4,256,260,0,4,256,260,1,5,257,261,1,5,257,261],J=8<b.length()?3:
348 1,B=[],v=[0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0],Z=0,N,aa=0;aa<J;aa++){var L=b.getInt32(),G=b.getInt32();N=(L>>>4^G)&252645135;G^=N;L^=N<<4;N=(G>>>-16^L)&65535;L^=N;G^=N<<-16;N=(L>>>2^G)&858993459;G^=N;L^=N<<2;N=(G>>>-16^L)&65535;L^=N;G^=N<<-16;N=(L>>>1^G)&1431655765;G^=N;L^=N<<1;N=(G>>>8^L)&16711935;L^=N;G^=N<<8;N=(L>>>1^G)&1431655765;G^=N;L^=N<<1;N=L<<8|G>>>20&240;for(var L=G<<24|G<<8&16711680|G>>>8&65280|G>>>24&240,G=N,I=0;I<v.length;++I){v[I]?(L=L<<2|L>>>26,G=G<<2|G>>>26):(L=L<<1|L>>>27,G=G<<1|G>>>
348 -27);var L=L&-15,G=G&-15,Y=c[L>>>28]|d[L>>>24&15]|e[L>>>20&15]|h[L>>>16&15]|g[L>>>12&15]|m[L>>>8&15]|l[L>>>4&15],da=p[G>>>28]|u[G>>>24&15]|k[G>>>20&15]|q[G>>>16&15]|w[G>>>12&15]|x[G>>>8&15]|A[G>>>4&15];N=(da>>>16^Y)&65535;B[Z++]=Y^N;B[Z++]=da^N<<16}}this._keys=B;this._init=!0}};c("DES-ECB",a.cipher.modes.ecb);c("DES-CBC",a.cipher.modes.cbc);c("DES-CFB",a.cipher.modes.cfb);c("DES-OFB",a.cipher.modes.ofb);c("DES-CTR",a.cipher.modes.ctr);c("3DES-ECB",a.cipher.modes.ecb);c("3DES-CBC",a.cipher.modes.cbc);
349 +27);var L=L&-15,G=G&-15,Y=c[L>>>28]|d[L>>>24&15]|e[L>>>20&15]|h[L>>>16&15]|g[L>>>12&15]|m[L>>>8&15]|p[L>>>4&15],da=l[G>>>28]|u[G>>>24&15]|k[G>>>20&15]|q[G>>>16&15]|w[G>>>12&15]|x[G>>>8&15]|A[G>>>4&15];N=(da>>>16^Y)&65535;B[Z++]=Y^N;B[Z++]=da^N<<16}}this._keys=B;this._init=!0}};c("DES-ECB",a.cipher.modes.ecb);c("DES-CBC",a.cipher.modes.cbc);c("DES-CFB",a.cipher.modes.cfb);c("DES-OFB",a.cipher.modes.ofb);c("DES-CTR",a.cipher.modes.ctr);c("3DES-ECB",a.cipher.modes.ecb);c("3DES-CBC",a.cipher.modes.cbc);
350 c("3DES-CFB",a.cipher.modes.cfb);c("3DES-OFB",a.cipher.modes.ofb);c("3DES-CTR",a.cipher.modes.ctr);var k=[16843776,0,65536,16843780,16842756,66564,4,65536,1024,16843776,16843780,1024,16778244,16842756,16777216,4,1028,16778240,16778240,66560,66560,16842752,16842752,16778244,65540,16777220,16777220,65540,0,1028,66564,16777216,65536,16843780,4,16842752,16843776,16777216,16777216,1024,16842756,65536,66560,16777220,1024,4,16778244,66564,16843780,65540,16842752,16778244,16777220,1028,66564,16843776,1028,
351 16778240,16778240,0,65540,66560,0,16842756],q=[-2146402272,-2147450880,32768,1081376,1048576,32,-2146435040,-2147450848,-2147483616,-2146402272,-2146402304,-2147483648,-2147450880,1048576,32,-2146435040,1081344,1048608,-2147450848,0,-2147483648,32768,1081376,-2146435072,1048608,-2147483616,0,1081344,32800,-2146402304,-2146435072,32800,0,1081376,-2146435040,1048576,-2147450848,-2146435072,-2146402304,32768,-2146435072,-2147450880,32,-2146402272,1081376,32,32768,-2147483648,32800,-2146402304,1048576,
352 -2147483616,1048608,-2147450848,-2147483616,1048608,1081344,0,-2147450880,32800,-2147483648,-2146435040,-2146402272,1081344],l=[520,134349312,0,134348808,134218240,0,131592,134218240,131080,134217736,134217736,131072,134349320,131080,134348800,520,134217728,8,134349312,512,131584,134348800,134348808,131592,134218248,131584,131072,134218248,8,134349320,512,134217728,134349312,134217728,131080,520,131072,134349312,134218240,0,512,131080,134349320,134218240,134217736,512,0,134348808,134218248,131072,
@@ -572,7 +573,7 @@ try{D=p.verify(k)}catch(v){}}D||(l={message:"Certificate signature is invalid.",
573 null!==l||null===g||g.cA||(l={message:"Certificate basicConstraints indicates the certificate is not a CA.",error:x.certificateError.bad_certificate}),null===l&&null!==k&&"pathLenConstraint"in g&&m-1>g.pathLenConstraint&&(l={message:"Certificate basicConstraints pathLenConstraint violated.",error:x.certificateError.bad_certificate}));k=null===l?!0:l.error;g=d?d(k,m,e):k;if(!0===g)l=null;else{!0===k&&(l={message:"The application rejected the certificate.",error:x.certificateError.bad_certificate});
574 if(g||0===g)"object"!==typeof g||a.util.isArray(g)?"string"===typeof g&&(l.error=g):(g.message&&(l.message=g.message),g.error&&(l.error=g.error));throw l;}g=!1;++m}while(0<c.length);return!0}}if("function"!==typeof a)if("object"===typeof module&&module.exports){var e=!0;a=function(a,b){b(c,module)}}else return"undefined"===typeof forge&&(forge={}),b(forge);var q,k=function(a,c){c.exports=function(c){var e=q.map(function(b){return a(b)}).concat(b);c=c||{};c.defined=c.defined||{};if(c.defined.x509)return c.x509;
575 c.defined.x509=!0;for(var k=0;k<e.length;++k)e[k](c);return c.pki}},v=a;a=function(b,c){q="string"===typeof b?c.slice(2):b.slice(2);if(e)return delete a,v.apply(null,Array.prototype.slice.call(arguments,0));a=v;return a.apply(null,Array.prototype.slice.call(arguments,0))};a("js/x509","require module ./aes ./asn1 ./des ./md ./mgf ./oids ./pem ./pss ./rsa ./util".split(" "),function(){k.apply(null,Array.prototype.slice.call(arguments,0))})})();(function(){function b(a){function c(a,b,d,e){for(var h=
575 -[],g=0;g<a.length;g++)for(var l=0;l<a[g].safeBags.length;l++){var n=a[g].safeBags[l];if(void 0===e||n.type===e)null===b?h.push(n):void 0!==n.attributes[b]&&0<=n.attributes[b].indexOf(d)&&h.push(n)}return h}function d(b){if(b.composed||b.constructed){for(var c=a.util.createBuffer(),e=0;e<b.value.length;++e)c.putBytes(b.value[e].value);b.composed=b.constructed=!1;b.value=c.getBytes()}return b}function e(b,c,m,p){c=l.fromDer(c,m);if(c.tagClass!==l.Class.UNIVERSAL||c.type!==l.Type.SEQUENCE||!0!==c.constructed)throw Error("PKCS#12 AuthenticatedSafe expected to be a SEQUENCE OF ContentInfo");
576 +[],g=0;g<a.length;g++)for(var n=0;n<a[g].safeBags.length;n++){var l=a[g].safeBags[n];if(void 0===e||l.type===e)null===b?h.push(l):void 0!==l.attributes[b]&&0<=l.attributes[b].indexOf(d)&&h.push(l)}return h}function d(b){if(b.composed||b.constructed){for(var c=a.util.createBuffer(),e=0;e<b.value.length;++e)c.putBytes(b.value[e].value);b.composed=b.constructed=!1;b.value=c.getBytes()}return b}function e(b,c,m,p){c=l.fromDer(c,m);if(c.tagClass!==l.Class.UNIVERSAL||c.type!==l.Type.SEQUENCE||!0!==c.constructed)throw Error("PKCS#12 AuthenticatedSafe expected to be a SEQUENCE OF ContentInfo");
577 for(var q=0;q<c.value.length;q++){var x={},v=[];if(!l.validate(c.value[q],u,x,v))throw b=Error("Cannot read ContentInfo."),b.errors=v,b;var v={encrypted:!1},r=null,r=x.content.value[0];switch(l.derToOid(x.contentType)){case g.oids.data:if(r.tagClass!==l.Class.UNIVERSAL||r.type!==l.Type.OCTETSTRING)throw Error("PKCS#12 SafeContents Data is not an OCTET STRING.");r=d(r).value;break;case g.oids.encryptedData:var A=p,x={},y=[];if(!l.validate(r,a.pkcs7.asn1.encryptedDataValidator,x,y))throw b=Error("Cannot read EncryptedContentInfo."),
578 b.errors=y,b;r=l.derToOid(x.contentType);if(r!==g.oids.data)throw b=Error("PKCS#12 EncryptedContentInfo ContentType is not Data."),b.oid=r,b;r=l.derToOid(x.encAlgorithm);r=g.pbe.getCipher(r,x.encParameter,A);x=d(x.encryptedContentAsn1);x=a.util.createBuffer(x.value);r.update(x);if(!r.finish())throw Error("Failed to decrypt PKCS#12 SafeContents.");r=r.output.getBytes();v.encrypted=!0;break;default:throw b=Error("Unsupported PKCS#12 contentType."),b.contentType=l.derToOid(x.contentType),b;}v.safeBags=
579 k(r,m,p);b.safeContents.push(v)}}function k(a,b,c){if(!b&&0===a.length)return[];a=l.fromDer(a,b);if(a.tagClass!==l.Class.UNIVERSAL||a.type!==l.Type.SEQUENCE||!0!==a.constructed)throw Error("PKCS#12 SafeContents expected to be a SEQUENCE OF SafeBag.");for(var d=[],e=0;e<a.value.length;e++){var h={},n=[];if(!l.validate(a.value[e],A,h,n))throw a=Error("Cannot read SafeBag."),a.errors=n,a;var m={type:l.derToOid(h.bagId),attributes:q(h.bagAttributes)};d.push(m);var p,u,x=h.bagValue.value[0];switch(m.type){case g.oids.pkcs8ShroudedKeyBag:if(x=
@@ -891,7 +892,7 @@ new FileReader;a.onloadend=function(){var b=a.result;A.location.href="data:attac
892 function(b){A.location.href=a.toURL();m.readyState=m.DONE;p(m,"writeend",b);n(a)};b.onerror=function(){var a=b.error;a.code!==a.ABORT_ERR&&H()};["writestart","progress","write","abort"].forEach(function(a){b["on"+a]=m["on"+a]});b.write(k);m.abort=function(){b.abort();m.readyState=m.DONE};m.readyState=m.WRITING}),H)}),H)};a.getFile(l,{create:!1},E(function(a){a.remove();b()}),E(function(a){a.code===a.NOT_FOUND_ERR?b():H()}))}),H)}),H)):H()}},w=m.prototype;if("undefined"!==typeof navigator&&navigator.msSaveOrOpenBlob)return function(a,
893 b,c){c||(a=h(a));return navigator.msSaveOrOpenBlob(a,b||"download")};w.abort=function(){this.readyState=this.DONE;p(this,"abort")};w.readyState=w.INIT=0;w.WRITING=1;w.DONE=2;w.error=w.onwritestart=w.onprogress=w.onwrite=w.onabort=w.onerror=w.onwriteend=null;return function(a,b,c){return new m(a,b,c)}}}("undefined"!==typeof self&&self||"undefined"!==typeof window&&window||this.content);
894 "undefined"!==typeof module&&module.exports?module.exports.saveAs=saveAs:"undefined"!==typeof define&&null!==define&&null!=define.amd&&define([],function(){return saveAs});
894 -var version="0.7.5",urlvars={},amtstack,wsstack=null,AllWsman="AMT_8021xCredentialContext AMT_8021XProfile AMT_ActiveFilterStatistics AMT_AgentPresenceCapabilities AMT_AgentPresenceInterfacePolicy AMT_AgentPresenceService AMT_AgentPresenceWatchdog AMT_AgentPresenceWatchdogAction AMT_AlarmClockService IPS_AlarmClockOccurrence AMT_AssetTable AMT_AssetTableService AMT_AuditLog AMT_AuditPolicyRule AMT_AuthorizationService AMT_BootCapabilities AMT_BootSettingData AMT_ComplexFilterEntryBase AMT_CRL AMT_CryptographicCapabilities AMT_EACCredentialContext AMT_EndpointAccessControlService AMT_EnvironmentDetectionInterfacePolicy AMT_EnvironmentDetectionSettingData AMT_EthernetPortSettings AMT_EventLogEntry AMT_EventManagerService AMT_EventSubscriber AMT_FilterEntryBase AMT_FilterInSystemDefensePolicy AMT_GeneralSettings AMT_GeneralSystemDefenseCapabilities AMT_Hdr8021Filter AMT_HeuristicPacketFilterInterfacePolicy AMT_HeuristicPacketFilterSettings AMT_HeuristicPacketFilterStatistics AMT_InterfacePolicy AMT_IPHeadersFilter AMT_KerberosSettingData AMT_ManagementPresenceRemoteSAP AMT_MessageLog AMT_MPSUsernamePassword AMT_NetworkFilter AMT_NetworkPortDefaultSystemDefensePolicy AMT_NetworkPortSystemDefenseCapabilities AMT_NetworkPortSystemDefensePolicy AMT_PCIDevice AMT_PETCapabilities AMT_PETFilterForTarget AMT_PETFilterSetting AMT_ProvisioningCertificateHash AMT_PublicKeyCertificate AMT_PublicKeyManagementCapabilities AMT_PublicKeyManagementService AMT_PublicPrivateKeyPair AMT_RedirectionService AMT_RemoteAccessCapabilities AMT_RemoteAccessCredentialContext AMT_RemoteAccessPolicyAppliesToMPS AMT_RemoteAccessPolicyRule AMT_RemoteAccessService AMT_SetupAndConfigurationService AMT_SNMPEventSubscriber AMT_StateTransitionCondition AMT_SystemDefensePolicy AMT_SystemDefensePolicyInService AMT_SystemDefenseService AMT_SystemPowerScheme AMT_ThirdPartyDataStorageAdministrationService AMT_ThirdPartyDataStorageService AMT_TimeSynchronizationService AMT_TLSCredentialContext AMT_TLSProtocolEndpoint AMT_TLSProtocolEndpointCollection AMT_TLSSettingData AMT_TrapTargetForService AMT_UserInitiatedConnectionService AMT_WebUIService AMT_WiFiPortConfigurationService CIM_AbstractIndicationSubscription CIM_Account CIM_AccountManagementCapabilities CIM_AccountManagementService CIM_AccountOnSystem CIM_AdminDomain CIM_AlertIndication CIM_AssignedIdentity CIM_AssociatedPowerManagementService CIM_AuthenticationService CIM_AuthorizationService CIM_BIOSElement CIM_BIOSFeature CIM_BIOSFeatureBIOSElements CIM_BootConfigSetting CIM_BootService CIM_BootSettingData CIM_BootSourceSetting CIM_Capabilities CIM_Card CIM_Chassis CIM_Chip CIM_Collection CIM_Component CIM_ComputerSystem CIM_ComputerSystemPackage CIM_ConcreteComponent CIM_ConcreteDependency CIM_Controller CIM_CoolingDevice CIM_Credential CIM_CredentialContext CIM_CredentialManagementService CIM_Dependency CIM_DeviceSAPImplementation CIM_ElementCapabilities CIM_ElementConformsToProfile CIM_ElementLocation CIM_ElementSettingData CIM_ElementSoftwareIdentity CIM_ElementStatisticalData CIM_EnabledLogicalElement CIM_EnabledLogicalElementCapabilities CIM_EthernetPort CIM_Fan CIM_FilterCollection CIM_FilterCollectionSubscription CIM_HostedAccessPoint CIM_HostedDependency CIM_HostedService CIM_Identity CIM_IEEE8021xCapabilities CIM_IEEE8021xSettings CIM_Indication CIM_IndicationService CIM_InstalledSoftwareIdentity CIM_KVMRedirectionSAP CIM_LANEndpoint CIM_ListenerDestination CIM_ListenerDestinationWSManagement CIM_Location CIM_Log CIM_LogEntry CIM_LogicalDevice CIM_LogicalElement CIM_LogicalPort CIM_LogicalPortCapabilities CIM_LogManagesRecord CIM_ManagedCredential CIM_ManagedElement CIM_ManagedSystemElement CIM_MediaAccessDevice CIM_MemberOfCollection CIM_Memory CIM_MessageLog CIM_NetworkPort CIM_NetworkPortCapabilities CIM_NetworkPortConfigurationService CIM_OrderedComponent CIM_OwningCollectionElement CIM_OwningJobElement CIM_PCIController CIM_PhysicalComponent CIM_PhysicalElement CIM_PhysicalElementLocation CIM_PhysicalFrame CIM_PhysicalMemory CIM_PhysicalPackage CIM_Policy CIM_PolicyAction CIM_PolicyCondition CIM_PolicyInSystem CIM_PolicyRule CIM_PolicyRuleInSystem CIM_PolicySet CIM_PolicySetAppliesToElement CIM_PolicySetInSystem CIM_PowerManagementCapabilities CIM_PowerManagementService CIM_PowerSupply CIM_Privilege CIM_PrivilegeManagementCapabilities CIM_PrivilegeManagementService CIM_ProcessIndication CIM_Processor CIM_ProtocolEndpoint CIM_ProvidesServiceToElement CIM_Realizes CIM_RecordForLog CIM_RecordLog CIM_RedirectionService CIM_ReferencedProfile CIM_RegisteredProfile CIM_RemoteAccessAvailableToElement CIM_RemoteIdentity CIM_RemotePort CIM_RemoteServiceAccessPoint CIM_Role CIM_RoleBasedAuthorizationService CIM_RoleBasedManagementCapabilities CIM_RoleLimitedToTarget CIM_SAPAvailableForElement CIM_SecurityService CIM_Sensor CIM_Service CIM_ServiceAccessBySAP CIM_ServiceAccessPoint CIM_ServiceAffectsElement CIM_ServiceAvailableToElement CIM_ServiceSAPDependency CIM_ServiceServiceDependency CIM_SettingData CIM_SharedCredential CIM_SoftwareElement CIM_SoftwareFeature CIM_SoftwareFeatureSoftwareElements CIM_SoftwareIdentity CIM_StatisticalData CIM_StorageExtent CIM_System CIM_SystemBIOS CIM_SystemComponent CIM_SystemDevice CIM_SystemPackaging CIM_UseOfLog CIM_Watchdog CIM_WiFiEndpoint CIM_WiFiEndpointCapabilities CIM_WiFiEndpointSettings CIM_WiFiPort CIM_WiFiPortCapabilities IPS_AdminProvisioningRecord IPS_ClientProvisioningRecord IPS_HostBasedSetupService IPS_HostIPSettings IPS_HTTPProxyService IPS_HTTPProxyAccessPoint IPS_IderSessionUsingPort IPS_IPv6PortSettings IPS_KVMRedirectionSettingData IPS_KvmSessionUsingPort IPS_ManualProvisioningRecord IPS_OptInService IPS_ProvisioningAuditRecord IPS_ProvisioningRecordLog IPS_RasSessionUsingPort IPS_ScreenConfigurationService IPS_ScreenSettingData IPS_SecIOService IPS_SessionUsingPort IPS_SolSessionUsingPort IPS_TLSProvisioningRecord IPS_WatchDogAction".split(" "),disconnecturl=
895 +var version="0.7.7",urlvars={},amtstack,wsstack=null,AllWsman="AMT_8021xCredentialContext AMT_8021XProfile AMT_ActiveFilterStatistics AMT_AgentPresenceCapabilities AMT_AgentPresenceInterfacePolicy AMT_AgentPresenceService AMT_AgentPresenceWatchdog AMT_AgentPresenceWatchdogAction AMT_AlarmClockService IPS_AlarmClockOccurrence AMT_AssetTable AMT_AssetTableService AMT_AuditLog AMT_AuditPolicyRule AMT_AuthorizationService AMT_BootCapabilities AMT_BootSettingData AMT_ComplexFilterEntryBase AMT_CRL AMT_CryptographicCapabilities AMT_EACCredentialContext AMT_EndpointAccessControlService AMT_EnvironmentDetectionInterfacePolicy AMT_EnvironmentDetectionSettingData AMT_EthernetPortSettings AMT_EventLogEntry AMT_EventManagerService AMT_EventSubscriber AMT_FilterEntryBase AMT_FilterInSystemDefensePolicy AMT_GeneralSettings AMT_GeneralSystemDefenseCapabilities AMT_Hdr8021Filter AMT_HeuristicPacketFilterInterfacePolicy AMT_HeuristicPacketFilterSettings AMT_HeuristicPacketFilterStatistics AMT_InterfacePolicy AMT_IPHeadersFilter AMT_KerberosSettingData AMT_ManagementPresenceRemoteSAP AMT_MessageLog AMT_MPSUsernamePassword AMT_NetworkFilter AMT_NetworkPortDefaultSystemDefensePolicy AMT_NetworkPortSystemDefenseCapabilities AMT_NetworkPortSystemDefensePolicy AMT_PCIDevice AMT_PETCapabilities AMT_PETFilterForTarget AMT_PETFilterSetting AMT_ProvisioningCertificateHash AMT_PublicKeyCertificate AMT_PublicKeyManagementCapabilities AMT_PublicKeyManagementService AMT_PublicPrivateKeyPair AMT_RedirectionService AMT_RemoteAccessCapabilities AMT_RemoteAccessCredentialContext AMT_RemoteAccessPolicyAppliesToMPS AMT_RemoteAccessPolicyRule AMT_RemoteAccessService AMT_SetupAndConfigurationService AMT_SNMPEventSubscriber AMT_StateTransitionCondition AMT_SystemDefensePolicy AMT_SystemDefensePolicyInService AMT_SystemDefenseService AMT_SystemPowerScheme AMT_ThirdPartyDataStorageAdministrationService AMT_ThirdPartyDataStorageService AMT_TimeSynchronizationService AMT_TLSCredentialContext AMT_TLSProtocolEndpoint AMT_TLSProtocolEndpointCollection AMT_TLSSettingData AMT_TrapTargetForService AMT_UserInitiatedConnectionService AMT_WebUIService AMT_WiFiPortConfigurationService CIM_AbstractIndicationSubscription CIM_Account CIM_AccountManagementCapabilities CIM_AccountManagementService CIM_AccountOnSystem CIM_AdminDomain CIM_AlertIndication CIM_AssignedIdentity CIM_AssociatedPowerManagementService CIM_AuthenticationService CIM_AuthorizationService CIM_BIOSElement CIM_BIOSFeature CIM_BIOSFeatureBIOSElements CIM_BootConfigSetting CIM_BootService CIM_BootSettingData CIM_BootSourceSetting CIM_Capabilities CIM_Card CIM_Chassis CIM_Chip CIM_Collection CIM_Component CIM_ComputerSystem CIM_ComputerSystemPackage CIM_ConcreteComponent CIM_ConcreteDependency CIM_Controller CIM_CoolingDevice CIM_Credential CIM_CredentialContext CIM_CredentialManagementService CIM_Dependency CIM_DeviceSAPImplementation CIM_ElementCapabilities CIM_ElementConformsToProfile CIM_ElementLocation CIM_ElementSettingData CIM_ElementSoftwareIdentity CIM_ElementStatisticalData CIM_EnabledLogicalElement CIM_EnabledLogicalElementCapabilities CIM_EthernetPort CIM_Fan CIM_FilterCollection CIM_FilterCollectionSubscription CIM_HostedAccessPoint CIM_HostedDependency CIM_HostedService CIM_Identity CIM_IEEE8021xCapabilities CIM_IEEE8021xSettings CIM_Indication CIM_IndicationService CIM_InstalledSoftwareIdentity CIM_KVMRedirectionSAP CIM_LANEndpoint CIM_ListenerDestination CIM_ListenerDestinationWSManagement CIM_Location CIM_Log CIM_LogEntry CIM_LogicalDevice CIM_LogicalElement CIM_LogicalPort CIM_LogicalPortCapabilities CIM_LogManagesRecord CIM_ManagedCredential CIM_ManagedElement CIM_ManagedSystemElement CIM_MediaAccessDevice CIM_MemberOfCollection CIM_Memory CIM_MessageLog CIM_NetworkPort CIM_NetworkPortCapabilities CIM_NetworkPortConfigurationService CIM_OrderedComponent CIM_OwningCollectionElement CIM_OwningJobElement CIM_PCIController CIM_PhysicalComponent CIM_PhysicalElement CIM_PhysicalElementLocation CIM_PhysicalFrame CIM_PhysicalMemory CIM_PhysicalPackage CIM_Policy CIM_PolicyAction CIM_PolicyCondition CIM_PolicyInSystem CIM_PolicyRule CIM_PolicyRuleInSystem CIM_PolicySet CIM_PolicySetAppliesToElement CIM_PolicySetInSystem CIM_PowerManagementCapabilities CIM_PowerManagementService CIM_PowerSupply CIM_Privilege CIM_PrivilegeManagementCapabilities CIM_PrivilegeManagementService CIM_ProcessIndication CIM_Processor CIM_ProtocolEndpoint CIM_ProvidesServiceToElement CIM_Realizes CIM_RecordForLog CIM_RecordLog CIM_RedirectionService CIM_ReferencedProfile CIM_RegisteredProfile CIM_RemoteAccessAvailableToElement CIM_RemoteIdentity CIM_RemotePort CIM_RemoteServiceAccessPoint CIM_Role CIM_RoleBasedAuthorizationService CIM_RoleBasedManagementCapabilities CIM_RoleLimitedToTarget CIM_SAPAvailableForElement CIM_SecurityService CIM_Sensor CIM_Service CIM_ServiceAccessBySAP CIM_ServiceAccessPoint CIM_ServiceAffectsElement CIM_ServiceAvailableToElement CIM_ServiceSAPDependency CIM_ServiceServiceDependency CIM_SettingData CIM_SharedCredential CIM_SoftwareElement CIM_SoftwareFeature CIM_SoftwareFeatureSoftwareElements CIM_SoftwareIdentity CIM_StatisticalData CIM_StorageExtent CIM_System CIM_SystemBIOS CIM_SystemComponent CIM_SystemDevice CIM_SystemPackaging CIM_UseOfLog CIM_Watchdog CIM_WiFiEndpoint CIM_WiFiEndpointCapabilities CIM_WiFiEndpointSettings CIM_WiFiPort CIM_WiFiPortCapabilities IPS_AdminProvisioningRecord IPS_ClientProvisioningRecord IPS_HostBasedSetupService IPS_HostIPSettings IPS_HTTPProxyService IPS_HTTPProxyAccessPoint IPS_IderSessionUsingPort IPS_IPv6PortSettings IPS_KVMRedirectionSettingData IPS_KvmSessionUsingPort IPS_ManualProvisioningRecord IPS_OptInService IPS_ProvisioningAuditRecord IPS_ProvisioningRecordLog IPS_RasSessionUsingPort IPS_ScreenConfigurationService IPS_ScreenSettingData IPS_SecIOService IPS_SessionUsingPort IPS_SolSessionUsingPort IPS_TLSProvisioningRecord IPS_WatchDogAction".split(" "),disconnecturl=
896 null,terminal,currentView=0,LoadingHtml="<div style=text-align:center;padding-top:20px>Loading...<div>",amtversion=0,amtversionmin=0,amtFirstPull=0,amtwirelessif=-1,desktop,desktopsettings={encoding:1,showfocus:!1,showmouse:!0,showcad:!0,limitFrameRate:!1,noMouseRotate:!1},currentMeshNode=null,webcompilerfeatures="AgentPresence Alarms AuditLog Certificates ComputerSelectorToolbar Desktop DesktopInband DesktopInbandFiles Desktop-Multi DesktopRotation Desktop-Settings EventLog EventSubscriptions FileSaver HardwareInfo IDER IDERDebug IDERStats Inflate Look-MeshCentral Mode-MeshCentral2 NetworkSettings PowerControl PowerControl-Advanced RemoteAccess Scripting Scripting-Editor Storage SystemDefense Terminal Terminal-Enumation-All Terminal-FxEnumation-All TerminalSize VersionWarning Wireless WsmanBrowser".split(" "),
897 StatusStrs=["Disconnected","Connecting...","Setup...","Connected"],scriptstate,t,t2,rsepass=null;
898 function startup(){var b=document.getElementsByTagName("input");for(t=0;t<b.length;t++)b[t].id&&(window[b[t].id]=b[t]);urlvars=getUrlVars();for(var c in AllWsman)b=document.createElement("option"),b.text=AllWsman[c],b.id="WSB-"+AllWsman[c],Q(24).add(b);desktop=CreateAmtRedirect(CreateAmtRemoteDesktop("Desk",Q(8)));desktop.onStateChanged=onDesktopStateChange;QE("c10",!0);(t=localStorage.getItem("desktopsettings"))&&(desktopsettings=JSON.parse(t));applyDesktopSettings();
@@ -1127,7 +1128,7 @@ function connectDesktop(){desktop&&(0==desktop.State?(desktop.m.bpp=1==desktopse
1128 webRtcDesktop.webRtcActive=!0;webRtcDesktop.softdesktop=CreateKvmDataChannel(webRtcDesktop.webchannel,CreateAgentRemoteDesktop("Desk",Q(8)),desktop.m);webRtcDesktop.softdesktop.m.setRotation(desktop.m.rotation);desktopsettings.quality&&(webRtcDesktop.softdesktop.m.CompressionLevel=desktopsettings.quality);desktopsettings.scaling&&(webRtcDesktop.softdesktop.m.ScalingLevel=desktopsettings.scaling);webRtcDesktop.softdesktop.Start();QV("go24",!0);downloadFile=null;p24files=webRtcDesktop.softdesktop;
1129 p24targetpath="";webRtcDesktop.softdesktop.onControlMsg=onFilesControlData;webRtcDesktop.softdesktop.sendCtrlMsg(JSON.stringify({action:"ls",reqid:1,path:""}))},webRtcDesktop.webchannel.onclose=function(a){urlvars.kvmdatatrace&&console.log("WebRTC Data Channel Closed");webRtcDesktopReset()},webRtcDesktop.webrtc.onicecandidate=function(a){null==a.candidate?desktop.m.sendKvmData(JSON.stringify({action:"offer",ver:1,sdp:webRtcDesktop.webrtcoffer.sdp})):webRtcDesktop.webrtcoffer.sdp+="a="+a.candidate.candidate+
1130 "\r\n"},webRtcDesktop.webrtc.oniceconnectionstatechange=function(){null==webRtcDesktop||null==webRtcDesktop.webrtc||"disconnected"!=webRtcDesktop.webrtc.iceConnectionState&&"failed"!=webRtcDesktop.webrtc.iceConnectionState||webRtcDesktopReset()},webRtcDesktop.webrtc.createOffer(function(a){webRtcDesktop.webrtcoffer=a;webRtcDesktop.webrtc.setLocalDescription(a,function(){},webRtcDesktopReset)},webRtcDesktopReset,{mandatory:{OfferToReceiveAudio:!1,OfferToReceiveVideo:!1}})):"answer"==c.action&&null!=
1130 -webRtcDesktop&&webRtcDesktop.webrtc.setRemoteDescription(new RTCSessionDescription({type:"answer",sdp:c.sdp}),function(){},webRtcDesktopReset))},desktop.m.frameRateDelay=1==desktopsettings.limitFrameRate?200:0,desktop.m.noMouseRotate=desktopsettings.noMouseRotate,desktop.tlsv1only=amtstack.wsman.comm.tlsv1only,desktop.Start(currentMeshNode._id,16994,"*","*",0),PullDesktopDisplayInfo(),urlvars.norefresh||(desktopPollTimer=setInterval(PullDesktopDisplayInfo,1E4))):(desktop.Stop(),clearInterval(desktopPollTimer),
1131 +webRtcDesktop&&webRtcDesktop.webrtc.setRemoteDescription(new RTCSessionDescription({type:"answer",sdp:c.sdp}),function(){},webRtcDesktopReset))},desktop.m.frameRateDelay=1==desktopsettings.limitFrameRate?200:0,desktop.m.noMouseRotate=desktopsettings.noMouseRotate,desktop.tlsv1only=amtstack.wsman.comm.tlsv1only,desktop.Start(currentMeshNode._id,16994,"*","*",0),PullDesktopDisplayInfo(),urlvars.norefresh||(desktopPollTimer=setInterval(PullDesktopDisplayInfo,5E3))):(desktop.Stop(),clearInterval(desktopPollTimer),
1132 desktopPollTimer=null,PullDesktopDisplayInfo(),webRtcDesktopReset()))}function PullDesktopDisplayInfo(){7<amtversion&&0<desktop.State?amtstack.BatchEnum("",["*IPS_ScreenSettingData","*IPS_KVMRedirectionSettingData"],ProcessDesktopDisplayInfo):(desktopScreenInfo=null,Q(44).innerHTML="")}
1133 function ProcessDesktopDisplayInfo(b,c,a,d){200!=d?desktopScreenInfo=null:(desktopScreenInfo=a.IPS_ScreenSettingData.responses.Body,desktopScreenInfo.KVMRSD=a.IPS_KVMRedirectionSettingData.responses.Body,UpdateDesktopDisplayInfo())}
1134 function UpdateDesktopDisplayInfo(){for(var b="",c=0,a=0;3>a;a++)1==desktopScreenInfo.IsActive[a]&&(c++,b+='<input type="button" '+(a==desktopScreenInfo.KVMRSD.DefaultScreen?'style="background-color:DodgerBlue"':"")+' value="'+(a+1)+'" title="Switch to screen '+(a+1)+'" onkeypress="return false" onkeydown="return false" onclick="desktopSwitchScreen('+a+')">&nbsp;');1<c?Q(44).innerHTML=b+"&nbsp;":Q(44).innerHTML=""}
@@ -1355,7 +1356,7 @@ function dialogclose(b){var c=xxdialogFunc,a=xxdialogButtons,d=xxdialogTag;setDi
1356 function center(){QS("dialog").left=(getDocWidth()-400)/2+"px";var b=0,c=Q(8).offsetHeight-(0==fullscreen?126:53);""==QS(11).display&&(b+=32);""==QS(9).display&&(b+=32);QS(16).height=Q(8).offsetHeight-b-(0==fullscreen?16:0)+"px";QS("Desk")["max-height"]=c-b+"px";QS("Desk")["max-width"]=Q(8).offsetWidth-(0==fullscreen?32:0)+"px";0!=Q(43).offsetWidth&&(QS("Desk")["max-width"]=Q(43).offsetWidth);
1357 fullscreen?(QS(16)["overflow-y"]="hidden",b=(c-b-Q("Desk").offsetHeight)/2,QS("Desk")["margin-top"]=b+"px",QS("Desk")["margin-bottom"]=b+"px"):(QS(16)["overflow-y"]="scroll",QS("Desk")["margin-top"]="0",QS("Desk")["margin-bottom"]="0")}function messagebox(b,c){QH(61,c);setDialogMode(1,b,1)}function statusbox(b,c){QH(61,c);setDialogMode(1,b)}
1358 function SaveJsonFile(b,c,a,d){var e="",q={},k=new Date;amtsysstate&&(e="-"+amtsysstate.AMT_GeneralSettings.response.HostName,q={webappversion:version,description:a,hostname:amtsysstate.AMT_GeneralSettings.response.HostName,localtime:Date(),utctime:(new Date).toUTCString(),isotime:(new Date).toISOString()},HardwareInventory&&(q.systemid=guidToStr(HardwareInventory.CIM_ComputerSystemPackage.response.PlatformGUID.toLowerCase())));e+="-"+k.getFullYear()+"-"+("0"+(k.getMonth()+1)).slice(-2)+"-"+("0"+
1358 -k.getDate()).slice(-2)+"-"+("0"+k.getHours()).slice(-2)+"-"+("0"+k.getMinutes()).slice(-2);q[c]=d;saveAs(data2blob(JSON.stringify(q,null," ").replace(/\n/g,"\r\n")),b+e+".json")}var httpErrorTable={200:"OK",401:"Authentication Error",408:"Timeout Error",601:"WSMAN Parsing Error",602:"Unable to parse HTTP response header",603:"Unexpected HTTP enum response",604:"Unexpected HTTP pull response"};
1359 +k.getDate()).slice(-2)+"-"+("0"+k.getHours()).slice(-2)+"-"+("0"+k.getMinutes()).slice(-2);q[c]=d;saveAs(data2blob(JSON.stringify(q,null," ").replace(/\n/g,"\r\n")),b+e+".json")}var httpErrorTable={200:"OK",401:"Authentication Error",408:"Timeout Error",601:"WSMAN Parsing Error",602:"Unable to parse HTTP response header",603:"Unexpected HTTP enum response",604:"Unexpected HTTP pull response",997:"Invalid Digest Realm"};
1360 function errcheck(b,c){if(null==wsstack||amtstack!=c)return!0;200!=b&&9!=b&&(setDialogMode(),wsstack.comm.FailAllError=999,amtstack.CancelAllQueries(999),QH(5,httpErrorTable[b]?httpErrorTable[b]:"Error #"+b),401==b&&QH(5,'Authentication Error<br /><br /><input type=button value="Set new credentials" onclick=meshcentral2credCallback(true)></input>'),go(100),QS(3).width=0);return 200!=b}
1361 function goiFrame(b,c,a){if(!xxdialogMode){go(c);if(1==b.shiftKey||0==Q(15).src.endsWith(a))Q(15).src=a;QV(16,!1);QV(14,!0)}}function go(b,c){if(!xxdialogMode||1==c){QV(14,!1);QV(16,!0);QV(4,100==b);QV(6,100>b);for(var a=0;80>a;a++){QV("p"+a,a==b);var d=QS("go"+a);d&&(d["background-color"]=a==b?"#abcae1":"");d&&(d["background-color"]=a==b?"gray":"")}currentView=b;center()}}
1362 function portsFromHost(b,c){var a=decodeURIComponent(b).split(":"),d=0==c?16992:16993,e=0==c?16994:16995;1<a.length&&(d=parseInt(a[1]));2<a.length&&(e=parseInt(a[2]));return{host:a[0],http:d,redir:e}}function addLink(b,c){return"<a style=cursor:pointer;color:blue onclick='"+c+"'>&diams; "+b+"</a>"}function addLinkConditional(b,c,a){return a?addLink(b,c):b}function haltEvent(b){b.preventDefault&&b.preventDefault();b.stopPropagation&&b.stopPropagation();return!1}
views/terms.handlebars
+183 -231
@@ -6,95 +6,7 @@
6 <meta name="viewport" content="user-scalable=1.0,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0" />
7 <meta name="apple-mobile-web-app-capable" content="yes" />
8 <meta name="format-detection" content="telephone=no" />
9 - <style>
10 - body {
11 - margin: 0;
12 - padding: 0;
13 - border: 0;
14 - color: black;
15 - font-size: 13px;
16 - font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
17 - background-color: #d3d9d6;
18 - }
19 -
20 - #container {
21 - background-color: #fff;
22 - margin: 0 auto;
23 - border-top: 0;
24 - border-right: 1px solid #b7b7b7;
25 - border-bottom: 0;
26 - border-left: 1px solid #b7b7b7;
27 - padding: 0;
28 - }
29 -
30 - #masthead {
31 - width: auto;
32 - margin: 0;
33 - padding: 0;
34 - overflow: auto;
35 - text-align: right;
36 - background-color: #036;
37 - }
38 -
39 - #column_l {
40 - position: relative;
41 - float: left;
42 - margin: 0;
43 - padding: 0 15px;
44 - background-color: #fff;
45 - }
46 -
47 - #footer {
48 - clear: both;
49 - overflow: auto;
50 - width: 100%;
51 - text-align: center;
52 - background-color: #113962;
53 - padding-top: 5px;
54 - padding-bottom: 5px;
55 - }
56 -
57 - .style3 {
58 - text-align: center;
59 - color: white;
60 - background-color: #808080;
61 - font-weight: bold;
62 - }
63 -
64 - #footer {
65 - clear: both;
66 - overflow: auto;
67 - width: 100%;
68 - text-align: center;
69 - background-color: #113962;
70 - padding-top: 5px;
71 - padding-bottom: 5px;
72 - }
73 -
74 - #footer a {
75 - color: #fff;
76 - text-decoration: underline;
77 - }
78 -
79 - #footer a:hover {
80 - color: #fff;
81 - text-decoration: none;
82 - }
83 -
84 - a {
85 - color: #036;
86 - text-decoration: underline;
87 - }
88 -
89 - .noselect {
90 - -webkit-touch-callout: none;
91 - -webkit-user-select: none;
92 - -khtml-user-select: none;
93 - -moz-user-select: none;
94 - -ms-user-select: none;
95 - user-select: none;
96 - }
97 - </style>
9 + <link type="text/css" href="styles/style.css" media="screen" rel="stylesheet" title="CSS" />
10 <script type="text/javascript" src="scripts/common-0.0.1.js"></script>
11 <title>MeshCentral - Terms of use</title>
12 </head>
@@ -110,122 +22,131 @@
22 </div>
23 <p id="logoutControl" style="color:white;font-size:11px;margin: 10px 10px 0;">{{{logoutControl}}}</p>
24 </div>
113 - <div id="page_content">
114 - <div id=topbar class="noselect style3" style="height:24px;position:relative">
115 - <div title="Toggle full width" style="cursor:pointer;color:white;position:absolute;top:3px;right:6px" onclick="toggleFullScreen(1)">&harr;</div>
116 - </div>
117 - <div id="column_l">
118 - <h1>Terms of use</h1>
119 - <p>Please contact the site administrator for terms of use.</p>
120 - <hr />
121 - <p class="MsoNormal">
122 - The following are the required disclosures of open source components and software incorporated into this software.
123 - </p>
124 - <p class="MsoNormal">
125 - <b><span>1.AJAX Control Toolkit - New BSD License</span></b><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;mso-fareast-font-family:&quot;Times New Roman&quot;"><o:p></o:p></span>
126 - </p>
127 - <p class="MsoNormal">
128 - <span>Copyright (c) 2009, CodePlex Foundation. All rights reserved.<o:p></o:p></span>
129 - </p>
130 - <p class="MsoNormal">
131 - <span>Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:<o:p></o:p></span>
132 - </p>
133 - <p class="MsoNormal">
134 - <span>1.Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.<o:p></o:p></span>
135 - </p>
136 - <p class="MsoNormal">
137 - <span>2.Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.<o:p></o:p></span>
138 - </p>
139 - <p class="MsoNormal">
140 - <span>3.Neither the name of CodePlex Foundation nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.<o:p></o:p></span>
141 - </p>
142 - <p class="MsoNormal">
143 - <span>THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.<o:p></o:p></span>
144 - </p>
145 - <p class="MsoNormal">
146 - <b><span>2.OpenSSL – OpenSSL and SSLeay License</span></b><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;mso-fareast-font-family:&quot;Times New Roman&quot;"><o:p></o:p></span>
147 - </p>
148 - <p class="MsoNormal">
149 - <span><a href="http://www.openssl.org/source/license.html">http://www.openssl.org/source/license.html</a> </span>
150 - </p>
151 - <p class="MsoNormal">
152 - <span>Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved.<o:p></o:p></span>
153 - </p>
154 - <p class="MsoNormal">
155 - <span>Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:<o:p></o:p></span>
156 - </p>
157 - <p class="MsoNormal">
158 - <span>1.Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.<o:p></o:p></span>
159 - </p>
160 - <p class="MsoNormal">
161 - <span>2.Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. <o:p></o:p></span>
162 - </p>
163 - <p class="MsoNormal">
164 - <span>3.All advertising materials mentioning features or use of this software must display the following acknowledgment: &quot;This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit. (http://www.openssl.org/)&quot; <o:p></o:p></span>
165 - </p>
166 - <p class="MsoNormal">
167 - <span>4.The names &quot;OpenSSL Toolkit&quot; and &quot;OpenSSL Project&quot; must not be used to endorse or promote products derived from this software without prior written permission. For written permission, please contact openssl-core@openssl.org.<o:p></o:p></span>
168 - </p>
169 - <p class="MsoNormal">
170 - <span>5.Products derived from this software may not be called &quot;OpenSSL&quot; nor may &quot;OpenSSL&quot; appear in their names without prior written permission of the OpenSSL Project.<o:p></o:p></span>
171 - </p>
172 - <p class="MsoNormal">
173 - <span>6.Redistributions of any form whatsoever must retain the following acknowledgment: &quot;This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (http://www.openssl.org/)&quot;. <o:p></o:p></span>
174 - </p>
175 - <p class="MsoNormal">
176 - <span>THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS&#39;&#39; AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.<o:p></o:p></span>
177 - </p>
178 - <p class="MsoNormal">
179 - <b><span>3.jQuery Foundation - MIT License</span></b><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;mso-fareast-font-family:&quot;Times New Roman&quot;"><o:p></o:p></span>
180 - </p>
181 - <p class="MsoNormal">
182 - <span>Copyright 2013 jQuery Foundation and other contributors <a href="http://jquery.com/">http://jquery.com/</a></span>
183 - </p>
184 - <p class="MsoNormal">
185 - <span>THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND,EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</span>
186 - </p>
187 - <p class="MsoNormal">
188 - <b><span>4.jQuery User Interface - MIT License</span></b><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;mso-fareast-font-family:&quot;Times New Roman&quot;"><o:p></o:p></span>
189 - </p>
190 - <p class="MsoNormal">
191 - <span>Copyright 2013 jQuery Foundation and other contributors, <a href="http://jqueryui.com/">http://jqueryui.com/</a></span>
192 - </p>
193 - <p class="MsoNormal">
194 - <span>This software consists of voluntary contributions made by many individuals (AUTHORS.txt, http://jqueryui.com/about ). For exact contribution history,see the revision history and logs, available at http://jquery-ui.googlecode.com/svn/ <o:p></o:p></span>
195 - </p>
196 - <p class="MsoNormal">
197 - <span>THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.<o:p></o:p></span>
198 - </p>
199 - <p class="MsoNormal">
200 - <b><span>5.noVNC - Mozilla Public License 2.0</span></b><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;mso-fareast-font-family:&quot;Times New Roman&quot;"><o:p></o:p></span>
201 - </p>
202 - <p class="MsoNormal">
203 - <span><a href="https://github.com/kanaka/noVNC/blob/master/LICENSE.txt">https://github.com/kanaka/noVNC/blob/master/LICENSE.txt</a></span>
204 - </p>
205 - <p class="MsoNormal">
206 - <span>Copyright (C) 2011 Joel Martin This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.<o:p></o:p></span>
207 - </p>
208 - <p class="MsoNormal">
209 - <b><span>6.Rcarousel - MIT LIcense</span></b><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;mso-fareast-font-family:&quot;Times New Roman&quot;"><o:p></o:p></span>
210 - </p>
211 - <p class="MsoNormal">
212 - <span><a href="https://github.com/ryrych/rcarousel/blob/master/widget/license">https://github.com/ryrych/rcarousel/blob/master/widget/license</a></span>
213 - </p>
214 - <p class="MsoNormal">
215 - <span>Copyright (c) 2010 Wojciech &#39;RRH&#39; Ryrych<o:p></o:p></span>
216 - </p>
217 - <p class="MsoNormal">
218 - <span>THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.<o:p></o:p></span>
219 - </p>
220 - <p class="MsoNormal">
221 - <b><span>7.Webtoolkit Javascript Base 64 – Creative Commons Attribution 2.0 UK License</span></b><span><o:p></o:p></span>
222 - </p>
223 - <p class="MsoNormal">
224 - <span>This software uses code from <a href="http://www.webtoolkit.info/javascript-base64.html">http://www.webtoolkit.info/javascript-base64.html</a> licensed under the <a href="http://creativecommons.org/licenses/by/2.0/uk/legalcode">http://creativecommons.org/licenses/by/2.0/uk/legalcode</a> and its source can be downloaded from <a href="http://www.webtoolkit.info/javascript-base64.html">http://www.webtoolkit.info/javascript-base64.html</a>.<o:p></o:p></span>
225 - </p>
226 - <br />
25 + <div id="page_leftbar">
26 + <div style="height:16px"></div>
27 + </div>
28 + <div id=topbar class="noselect style3" style="height:24px;position:relative">
29 + <div id=uiMenuButton title="User interface selection" onclick="showUserInterfaceSelectMenu()">
30 + &diams;
31 + <div id=uiMenu style="display:none">
32 + <div id=uiViewButton1 class=uiSelector onclick=userInterfaceSelectMenu(1) title="Left bar interface"><div class="uiSelector1"></div></div>
33 + <div id=uiViewButton2 class=uiSelector onclick=userInterfaceSelectMenu(2) title="Top bar interface"><div class="uiSelector2"></div></div>
34 + <div id=uiViewButton3 class=uiSelector onclick=userInterfaceSelectMenu(3) title="Fixed width interface"><div class="uiSelector3"></div></div>
35 + <div id=uiViewButton4 class=uiSelector onclick=toggleNightMode() title="Toggle night mode"><div class="uiSelector4"></div></div>
36 + </div>
37 </div>
38 </div>
39 + <div id="column_l" style="max-height:calc(100vh - 135px);overflow-y:auto">
40 + <h1>Terms of use</h1>
41 + <p>Please contact the site administrator for terms of use.</p>
42 + <hr />
43 + <p class="MsoNormal">
44 + The following are the required disclosures of open source components and software incorporated into this software.
45 + </p>
46 + <p class="MsoNormal">
47 + <b><span>1.AJAX Control Toolkit - New BSD License</span></b><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;mso-fareast-font-family:&quot;Times New Roman&quot;"><o:p></o:p></span>
48 + </p>
49 + <p class="MsoNormal">
50 + <span>Copyright (c) 2009, CodePlex Foundation. All rights reserved.<o:p></o:p></span>
51 + </p>
52 + <p class="MsoNormal">
53 + <span>Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:<o:p></o:p></span>
54 + </p>
55 + <p class="MsoNormal">
56 + <span>1.Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.<o:p></o:p></span>
57 + </p>
58 + <p class="MsoNormal">
59 + <span>2.Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.<o:p></o:p></span>
60 + </p>
61 + <p class="MsoNormal">
62 + <span>3.Neither the name of CodePlex Foundation nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.<o:p></o:p></span>
63 + </p>
64 + <p class="MsoNormal">
65 + <span>THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.<o:p></o:p></span>
66 + </p>
67 + <p class="MsoNormal">
68 + <b><span>2.OpenSSL – OpenSSL and SSLeay License</span></b><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;mso-fareast-font-family:&quot;Times New Roman&quot;"><o:p></o:p></span>
69 + </p>
70 + <p class="MsoNormal">
71 + <span><a href="http://www.openssl.org/source/license.html">http://www.openssl.org/source/license.html</a> </span>
72 + </p>
73 + <p class="MsoNormal">
74 + <span>Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved.<o:p></o:p></span>
75 + </p>
76 + <p class="MsoNormal">
77 + <span>Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:<o:p></o:p></span>
78 + </p>
79 + <p class="MsoNormal">
80 + <span>1.Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.<o:p></o:p></span>
81 + </p>
82 + <p class="MsoNormal">
83 + <span>2.Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. <o:p></o:p></span>
84 + </p>
85 + <p class="MsoNormal">
86 + <span>3.All advertising materials mentioning features or use of this software must display the following acknowledgment: &quot;This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit. (http://www.openssl.org/)&quot; <o:p></o:p></span>
87 + </p>
88 + <p class="MsoNormal">
89 + <span>4.The names &quot;OpenSSL Toolkit&quot; and &quot;OpenSSL Project&quot; must not be used to endorse or promote products derived from this software without prior written permission. For written permission, please contact openssl-core@openssl.org.<o:p></o:p></span>
90 + </p>
91 + <p class="MsoNormal">
92 + <span>5.Products derived from this software may not be called &quot;OpenSSL&quot; nor may &quot;OpenSSL&quot; appear in their names without prior written permission of the OpenSSL Project.<o:p></o:p></span>
93 + </p>
94 + <p class="MsoNormal">
95 + <span>6.Redistributions of any form whatsoever must retain the following acknowledgment: &quot;This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (http://www.openssl.org/)&quot;. <o:p></o:p></span>
96 + </p>
97 + <p class="MsoNormal">
98 + <span>THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS&#39;&#39; AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.<o:p></o:p></span>
99 + </p>
100 + <p class="MsoNormal">
101 + <b><span>3.jQuery Foundation - MIT License</span></b><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;mso-fareast-font-family:&quot;Times New Roman&quot;"><o:p></o:p></span>
102 + </p>
103 + <p class="MsoNormal">
104 + <span>Copyright 2013 jQuery Foundation and other contributors <a href="http://jquery.com/">http://jquery.com/</a></span>
105 + </p>
106 + <p class="MsoNormal">
107 + <span>THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND,EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</span>
108 + </p>
109 + <p class="MsoNormal">
110 + <b><span>4.jQuery User Interface - MIT License</span></b><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;mso-fareast-font-family:&quot;Times New Roman&quot;"><o:p></o:p></span>
111 + </p>
112 + <p class="MsoNormal">
113 + <span>Copyright 2013 jQuery Foundation and other contributors, <a href="http://jqueryui.com/">http://jqueryui.com/</a></span>
114 + </p>
115 + <p class="MsoNormal">
116 + <span>This software consists of voluntary contributions made by many individuals (AUTHORS.txt, http://jqueryui.com/about ). For exact contribution history,see the revision history and logs, available at http://jquery-ui.googlecode.com/svn/ <o:p></o:p></span>
117 + </p>
118 + <p class="MsoNormal">
119 + <span>THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.<o:p></o:p></span>
120 + </p>
121 + <p class="MsoNormal">
122 + <b><span>5.noVNC - Mozilla Public License 2.0</span></b><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;mso-fareast-font-family:&quot;Times New Roman&quot;"><o:p></o:p></span>
123 + </p>
124 + <p class="MsoNormal">
125 + <span><a href="https://github.com/kanaka/noVNC/blob/master/LICENSE.txt">https://github.com/kanaka/noVNC/blob/master/LICENSE.txt</a></span>
126 + </p>
127 + <p class="MsoNormal">
128 + <span>Copyright (C) 2011 Joel Martin This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.<o:p></o:p></span>
129 + </p>
130 + <p class="MsoNormal">
131 + <b><span>6.Rcarousel - MIT LIcense</span></b><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;mso-fareast-font-family:&quot;Times New Roman&quot;"><o:p></o:p></span>
132 + </p>
133 + <p class="MsoNormal">
134 + <span><a href="https://github.com/ryrych/rcarousel/blob/master/widget/license">https://github.com/ryrych/rcarousel/blob/master/widget/license</a></span>
135 + </p>
136 + <p class="MsoNormal">
137 + <span>Copyright (c) 2010 Wojciech &#39;RRH&#39; Ryrych<o:p></o:p></span>
138 + </p>
139 + <p class="MsoNormal">
140 + <span>THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.<o:p></o:p></span>
141 + </p>
142 + <p class="MsoNormal">
143 + <b><span>7.Webtoolkit Javascript Base 64 – Creative Commons Attribution 2.0 UK License</span></b><span><o:p></o:p></span>
144 + </p>
145 + <p class="MsoNormal">
146 + <span>This software uses code from <a href="http://www.webtoolkit.info/javascript-base64.html">http://www.webtoolkit.info/javascript-base64.html</a> licensed under the <a href="http://creativecommons.org/licenses/by/2.0/uk/legalcode">http://creativecommons.org/licenses/by/2.0/uk/legalcode</a> and its source can be downloaded from <a href="http://www.webtoolkit.info/javascript-base64.html">http://www.webtoolkit.info/javascript-base64.html</a>.<o:p></o:p></span>
147 + </p>
148 + <br />
149 + </div>
150 <div id="footer">
151 <table cellpadding="0" cellspacing="10" style="width: 100%">
152 <tr>
@@ -237,48 +158,79 @@
158 </div>
159 <script>
160 'use strict';
240 - var webPageFullScreen = getstore('webPageFullScreen', true);
241 - if (webPageFullScreen == 'false') { webPageFullScreen = false; }
242 - if (webPageFullScreen == 'true') { webPageFullScreen = true; }
243 - toggleFullScreen();
161 + var uiMode = parseInt(getstore('uiMode', 1));
162 + var webPageStackMenu = false;
163 + var webPageFullScreen = true;
164 + var nightMode = (getstore('_nightMode', '0') == '1');
165
166 var terms = "{{{terms}}}";
167 if (terms != "") { QH('column_l', decodeURIComponent(terms)); }
168 QV('column_l', true);
169 + userInterfaceSelectMenu();
170 +
171 + // Toggle user interface menu
172 + function showUserInterfaceSelectMenu() {
173 + Q('uiViewButton1').classList.remove('uiSelectorSel');
174 + Q('uiViewButton2').classList.remove('uiSelectorSel');
175 + Q('uiViewButton3').classList.remove('uiSelectorSel');
176 + Q('uiViewButton4').classList.remove('uiSelectorSel');
177 + try { Q('uiViewButton' + uiMode).classList.add('uiSelectorSel'); } catch (ex) { }
178 + QV('uiMenu', (QS('uiMenu').display == 'none'));
179 + if (nightMode) { Q('uiViewButton4').classList.add('uiSelectorSel'); }
180 + }
181 +
182 + function userInterfaceSelectMenu(s) {
183 + if (s) { uiMode = s; putstore('uiMode', uiMode); }
184 + webPageFullScreen = (uiMode < 3);
185 + webPageStackMenu = true;//(uiMode > 1);
186 + toggleFullScreen(0);
187 + toggleStackMenu(0);
188 + QC('column_l').add('room4submenu');
189 + }
190 +
191 + function toggleNightMode() {
192 + nightMode = !nightMode;
193 + if (nightMode) { QC('body').add('night'); } else { QC('body').remove('night'); }
194 + putstore('_nightMode', nightMode ? '1' : '0');
195 + }
196
197 // Toggle the web page to full screen
198 function toggleFullScreen(toggle) {
199 if (toggle === 1) { webPageFullScreen = !webPageFullScreen; putstore('webPageFullScreen', webPageFullScreen); }
200 + var hide = 0;
201 + //if (args.hide) { hide = parseInt(args.hide); }
202 if (webPageFullScreen == false) {
253 - QS('container').width = '960px';
254 - QS('container')["min-width"] = '960px';
255 - QS('container')['border-right'] = '1px solid #b7b7b7';
256 - QS('container')['border-left'] = '1px solid #b7b7b7';
257 - QS('container')['overflow'] = 'hidden';
258 - QS('column_l').height = '';
259 - QS('column_l').width = '930px';
260 - QS('column_l')["overflow-y"] = '';
261 - QS('column_l')["max-height"] = '';
262 - QS('column_l')["min-width"] = '';
263 - QS('masthead')["width"] = '960px';
264 - QS('body')['overflow'] = 'auto';
203 + QC('body').remove("menu_stack");
204 + QC('body').remove("fullscreen");
205 + QC('body').remove("arg_hide");
206 + //if (xxcurrentView >= 10) QC('column_l').add('room4submenu');
207 + //QV('UserDummyMenuSpan', false);
208 + //QV('page_leftbar', false);
209 } else {
266 - QS('container').width = '100%';
267 - QS('container')['min-width'] = '';
268 - QS('container')['border-right'] = '0';
269 - QS('container')['border-left'] = '0';
270 - QS('container')['overflow'] = 'hidden';
271 - QS('column_l').height = 'calc(100vh - 135px)';
272 - QS('column_l').width = '';
273 - QS('column_l')["overflow-y"] = 'auto';
274 - QS('column_l')["max-height"] = 'calc(100vh - 111px)';
275 - QS('column_l')["min-width"] = '';
276 - QS('masthead')["width"] = '100%';
277 - QS('body')['overflow'] = 'hidden';
210 + QC('body').add("fullscreen");
211 + if (hide & 16) QC('body').add("arg_hide"); // This is replacement for QV('page_leftbar', !(hide & 16));
212 + //QV('UserDummyMenuSpan', (xxcurrentView < 10) && webPageFullScreen);
213 + //QV('page_leftbar', true);
214 }
215 QV('body', true);
216 }
217
218 + // If FullScreen, toggle menu to be horisontal or vertical
219 + function toggleStackMenu(toggle) {
220 + if (webPageFullScreen == true) {
221 + if (toggle === 1) {
222 + webPageStackMenu = !webPageStackMenu;
223 + putstore('webPageStackMenu', webPageStackMenu);
224 + }
225 + if (webPageStackMenu == false) {
226 + QC('body').remove("menu_stack");
227 + } else {
228 + QC('body').add("menu_stack");
229 + //if (xxcurrentView >= 10) QC('column_l').remove('room4submenu');
230 + }
231 + }
232 + }
233 +
234 function putstore(name, val) { try { if (typeof (localStorage) === 'undefined') return; localStorage.setItem(name, val); } catch (e) { } }
235 function getstore(name, val) { try { if (typeof (localStorage) === 'undefined') return val; var v = localStorage.getItem(name); if ((v == null) || (v == null)) return val; return v; } catch (e) { return val; } }
236
webserver.js
+9 -3
@@ -1476,7 +1476,9 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) {
1476 if (req.session && req.session.userid) {
1477 if (req.session.domainid != domain.id) { req.session = null; res.redirect(domain.url); return; } // Check is the session is for the correct domain
1478 var user = obj.users[req.session.userid];
1479 - res.render(obj.path.join(obj.parent.webViewsPath, isMobileBrowser(req) ? 'terms-mobile' : 'terms'), { title: domain.title, title2: domain.title2, terms: encodeURIComponent(parent.configurationFiles['terms.txt'].toString()), logoutControl: 'Welcome ' + user.name + '. <a href=' + domain.url + 'logout?' + Math.random() + ' style=color:white>Logout</a>' });
1479 + var logoutcontrol = 'Welcome ' + user.name + '.';
1480 + if ((domain.ldap == null) && (domain.sspi == null) && (obj.args.user == null) && (obj.args.nousers != true)) { logoutcontrol += ' <a href=' + domain.url + 'logout?' + Math.random() + ' style=color:white>Logout</a>'; } // If a default user is in use or no user mode, don't display the logout button
1481 + res.render(obj.path.join(obj.parent.webViewsPath, isMobileBrowser(req) ? 'terms-mobile' : 'terms'), { title: domain.title, title2: domain.title2, terms: encodeURIComponent(parent.configurationFiles['terms.txt'].toString()), logoutControl: logoutcontrol });
1482 } else {
1483 res.render(obj.path.join(obj.parent.webViewsPath, isMobileBrowser(req) ? 'terms-mobile' : 'terms'), { title: domain.title, title2: domain.title2, terms: encodeURIComponent(parent.configurationFiles['terms.txt'].toString()) });
1484 }
@@ -1492,7 +1494,9 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) {
1494 if (req.session && req.session.userid) {
1495 if (req.session.domainid != domain.id) { req.session = null; res.redirect(domain.url); return; } // Check is the session is for the correct domain
1496 var user = obj.users[req.session.userid];
1495 - res.render(obj.path.join(obj.parent.webViewsPath, isMobileBrowser(req) ? 'terms-mobile' : 'terms'), { title: domain.title, title2: domain.title2, terms: encodeURIComponent(data), logoutControl: 'Welcome ' + user.name + '. <a href=' + domain.url + 'logout?' + Math.random() + ' style=color:white>Logout</a>' });
1497 + var logoutcontrol = 'Welcome ' + user.name + '.';
1498 + if ((domain.ldap == null) && (domain.sspi == null) && (obj.args.user == null) && (obj.args.nousers != true)) { logoutcontrol += ' <a href=' + domain.url + 'logout?' + Math.random() + ' style=color:white>Logout</a>'; } // If a default user is in use or no user mode, don't display the logout button
1499 + res.render(obj.path.join(obj.parent.webViewsPath, isMobileBrowser(req) ? 'terms-mobile' : 'terms'), { title: domain.title, title2: domain.title2, terms: encodeURIComponent(data), logoutControl: logoutcontrol });
1500 } else {
1501 res.render(obj.path.join(obj.parent.webViewsPath, isMobileBrowser(req) ? 'terms-mobile' : 'terms'), { title: domain.title, title2: domain.title2, terms: encodeURIComponent(data) });
1502 }
@@ -1503,7 +1507,9 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) {
1507 if (req.session && req.session.userid) {
1508 if (req.session.domainid != domain.id) { req.session = null; res.redirect(domain.url); return; } // Check is the session is for the correct domain
1509 var user = obj.users[req.session.userid];
1506 - res.render(obj.path.join(obj.parent.webViewsPath, isMobileBrowser(req) ? 'terms-mobile' : 'terms'), { title: domain.title, title2: domain.title2, logoutControl: 'Welcome ' + user.name + '. <a href=' + domain.url + 'logout?' + Math.random() + ' style=color:white>Logout</a>' });
1510 + var logoutcontrol = 'Welcome ' + user.name + '.';
1511 + if ((domain.ldap == null) && (domain.sspi == null) && (obj.args.user == null) && (obj.args.nousers != true)) { logoutcontrol += ' <a href=' + domain.url + 'logout?' + Math.random() + ' style=color:white>Logout</a>'; } // If a default user is in use or no user mode, don't display the logout button
1512 + res.render(obj.path.join(obj.parent.webViewsPath, isMobileBrowser(req) ? 'terms-mobile' : 'terms'), { title: domain.title, title2: domain.title2, logoutControl: logoutcontrol });
1513 } else {
1514 res.render(obj.path.join(obj.parent.webViewsPath, isMobileBrowser(req) ? 'terms-mobile' : 'terms'), { title: domain.title, title2: domain.title2 });
1515 }