1 line
58 KiB
Handlebars
1 line
58 KiB
Handlebars
<!DOCTYPE html> <html dir="ltr" xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta content="text/html; charset=utf-8" http-equiv="Content-Type"> <meta name="viewport" content="user-scalable=1.0,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0"> <meta name="apple-mobile-web-app-capable" content="yes"> <meta name="format-detection" content="telephone=no"> <style> html, body{width:100%;height:100%;}body{margin:0;padding:0;border:0;color:black;font-size:13px;font-family:"Trebuchet MS", Arial, Helvetica, sans-serif;background-color:#d3d9d6; }#container{background-color:#fff;width:960px;min-width:960px;max-height:100vh;margin:0 auto;border-top:0;border-right:1px solid #b7b7b7;border-bottom:0;border-left:1px solid #b7b7b7;padding:0;}.night #container{color:#bbb;background-color:#000;}.fullscreen.login #container{-ms-grid-rows:66px 24px 1fr 45px;grid-template-rows:66px 24px auto 45px;-ms-grid-columns:90px 1fr; grid-template-areas:"header header" "nav nav" "content content" "footer footer";}.fullscreen.arg_hide #container{-ms-grid-rows:66px 24px 1fr 45px;grid-template-rows:66px 24px auto 45px;-ms-grid-columns:90px 1fr; grid-template-areas:"header header" "nav nav" "content content" "footer footer";}.fullscreen.menu_stack #container{-ms-grid-rows:66px minmax(24px, max-content) 1fr 45px;grid-template-rows:66px minmax(24px, max-content) auto 45px;-ms-grid-columns:90px 1fr; grid-template-areas:"header header" "nav nav" "content content" "footer footer";}.fullscreen #container{width:100%;min-width:100%;min-height:0px;border-right:0px none #b7b7b7;border-left:0px none #b7b7b7;height:calc(100% - 0px);position:relative;display:-ms-grid;display:grid;grid-gap:0px;grid-template-areas:"header header" "sidebar nav" "sidebar content" "sidebar footer";-ms-grid-columns:90px 1fr;grid-template-columns:90px auto;-ms-grid-rows:66px 24px 1fr 45px;grid-template-rows:66px 24px auto 45px;}.fulldesk #container{width:100%;height:100%;min-width:700px;min-height:0px;border-right:0px none #b7b7b7;border-left:0px none #b7b7b7;position:unset;position:relative;display:-ms-grid !important;display:grid !important;grid-gap:0px;grid-template-areas:"content" !important;-ms-grid-columns:1fr;grid-template-columns:repeat(auto-fit, minmax(100px, 1fr)) !important;-ms-grid-rows:1fr;grid-template-rows:repeat(auto-fit, minmax(100px, 1fr)) !important;}#masthead{width:auto;margin:0;padding:0;overflow:hidden;text-align:right;background-color:#036;background-image:url(../logo.png);background-position-x:0px;background-position-y:0px;background-attachment:initial;background-repeat:no-repeat; height:66px;}.fullscreen #masthead{width:100%;grid-area:header;-ms-grid-column:1;-ms-grid-column-span:2;-ms-grid-row:1;}.fulldesk #masthead{display:none;}.fulldesk #mastheadx{display:none;}.fulldesk #p11deviceNameHeader{display:none;}#masthead .title{float:left;height:66px;color:#c8c8c8;padding-left:20px;padding-top:8px;font-size:46px;font-family:Arial,Helvetica,sans-serif;font-weight:bold;}#masthead .title2{float:left;height:66px;color:#c8c8c8;padding-left:5px;padding-top:14px;font-size:14px;font-family:Arial,Helvetica,sans-serif;font-weight:bold;}#page_leftbar{-ms-grid-column:1;-ms-grid-row:2;-ms-grid-row-span:3; width:90px;z-index:1000;background:#113962;background:linear-gradient(to bottom, #104893 0%,#113962 100%);color:white;overflow-y:hidden;display:none;}.fullscreen #page_leftbar{grid-area:sidebar;display:block;}.menu_stack #page_leftbar{display:none;}.arg_hide #page_leftbar{display:none;}.fulldesk #page_leftbar{display:none;}#topbar{position:relative;grid-area:nav;-ms-grid-column:2;-ms-grid-row:2;}.fulldesk #topbar{display:none;}.menu_stack #topbar, .login #topbar, .arg_hide #topbar{-ms-grid-column:1;-ms-grid-column-span:2;-ms-grid-row:2;}.topbar_td{width:100px;height:24px;cursor:pointer;}.topbar_td_end{text-align:right;height:24px;}#uiMenuButton{cursor:pointer;color:white;position:absolute;top:3px;right:6px;}#uiMenu{position:absolute;top:17px;right:0;background-color:#eee;z-index:10;border-radius:5px;box-shadow:1px 0px 10px 5px #333;padding:5px;} #MainSubMenuSpan, #MeshSubMenuSpan, #UserSubMenuSpan, #ServerSubMenuSpan, #MainMenuSpan, #MainSubMenu, #MeshSubMenu, #UserSubMenu, #ServerSubMenu, #UserDummyMenu{width:100%;height:24px;color:white;background-color:#808080;}.menu_stack #UserDummyMenu{display:none;}#MainMenuSpan{display:table;}.fullscreen #MainMenuSpan{display:none;}.fulldesk #MainMenuSpan{display:none;}.menu_stack #MainMenuSpan{display:block;}#column_l{position:relative;float:left;width:100%;box-sizing:border-box;margin:0;padding:0 15px;background-color:#fff; min-width:unset;}.night #column_l{background-color:#000;}.menu_stack.fullscreen.fulldesk #column_l{-ms-grid-column:1;-ms-grid-row:1;-ms-grid-column-span:2;-ms-grid-row-span:4;}.fullscreen #column_l{-ms-grid-column:2;-ms-grid-row:3;grid-area:content;width:unset; overflow-y:auto;}.menu_stack.fullscreen #column_l, .login #column_l, .arg_hide #column_l{-ms-grid-column:1;-ms-grid-column-span:2;-ms-grid-row:3;}.fulldesk #column_l{height:100%;width:100%;height:unset;margin-left:unset;overflow-y:hidden;padding:0;max-height:none;-ms-grid-column:1;-ms-grid-row:1;background-color:rgb(0, 51, 102);}.fulldesk #column_l_bottomgap{display:none;}.room4submenu{min-height:calc(100vh - 159px);}#centralTable{width:100%;}#welcomeimage{text-align:center;width:50%;}@media (max-width:800px){.fullscreen #welcomeimage{display:none;}}#welcomeimage img{height:310px;width:359px;}#logincell{text-align:center;width:50%;}.night #logincell a{color:blue;}#loginpanel, #createpanel, #resetpanel, #tokenpanel, #resettokenpanel, #resetpasswordpanel, #resetpasswordpanel{display:inline-block;margin:0;background-color:#979797;border-radius:16px;width:300px;padding:16px;text-align:center;color:black;}#passwordPolicyCallout, #rpasswordPolicyCallout{left:-10px;width:100px;position:absolute;background-color:#FFC;border-radius:5px;padding:5px;box-shadow:0px 0px 15px #666;font-size:10px;}#passWarning{padding-top:6px;}#footer{-ms-grid-column:2;-ms-grid-row:4;grid-area:footer;clear:both;overflow:auto;width:100%;text-align:center;background-color:#113962;padding-top:5px;padding-bottom:5px;}.fulldesk #footer{display:none;}.menu_stack.fullscreen #footer, .login #footer, .arg_hide #footer{-ms-grid-column:1;-ms-grid-column-span:2;-ms-grid-row:4;} #footer table{width:100%;border-spacing:10px;border-collapse:separate;}#footer td:first-child{text-align:left;color:white;}#footer td{padding:0px;text-align:right;color:white;} .footer1{text-align:left;float:left;padding:10px;color:white;}.footer2{padding:10px;text-align:right;color:white;}#masthead img{float:left;}#masthead p{font-size:11px;color:#fff;margin:10px 10px 0;}#footer a{color:#fff;text-decoration:underline;}#footer a:hover{color:#fff;text-decoration:none;}#verifyEmailId2{color:yellow;margin-left:3px;cursor:pointer;}#dialog{z-index:1000;background-color:#EEE;box-shadow:0px 0px 15px #666;font-family:Arial,Helvetica,sans-serif;border-radius:5px;position:fixed;top:180px;left:calc((100% / 2) - 200px);width:400px;color:black;}#dialogHeader{width:100%;background-color:#003366;color:#FFF;border-radius:5px 5px 0 0;margin-bottom:6px;}#id_dialogclose{float:right;padding:3px;margin-right:3px;cursor:pointer;}#id_dialogtitle{padding:5px;}#dialogBody{margin-right:16px;margin-left:8px;}.dialogText{width:100%;max-height:260px;overflow-x:hidden;overflow-y:auto;line-height:160%;}.dialogTextLog{font-size:10px;}#dialog1{margin:auto;text-align:center;margin:3px;}#id_dialogMessage{padding:10px;}#dialog2, #dialog3, #dialog7{margin:3px;}#d3uploadMode, #d3localFile{float:right;width:260px;}#d3serveraction{width:100%;background-color:#d3d9d6;text-align:left;padding:3px;}#d3serverfiles{width:100%;height:150px;background-color:white;padding:2px;border:1px solid gray;overflow-y:scroll;}#d7bitmapquality, #d7bitmapquality, #d7bitmapscaling, #d7framelimiter, #d7desktopmode{float:right;width:200px;height:20px;}#dialog7 h4{width:100%;border-bottom:1px solid gray;}#d7meshkvm div, #d7amtkvm div, #d3upload, #d3localmode{margin:3px 0 3px 0;display:flex;justify-content:space-between;}#d7otherset{border:1px solid #666;width:200px;height:60px;overflow-y:scroll;background-color:white;}#idx_dlgButtonBar{padding:10px;margin-bottom:5px;margin-right:10px;overflow:auto;}#idx_dlgCancelButton{float:right;width:80px;margin-left:5px;}#idx_dlgOkButton{float:right;width:80px;margin-left:5px;}#idx_dlgDeleteButton{float:left;width:80px;margin-left:5px;}#ua_fileaccessquota{width:80px;text-align:right;}#broadcastMessage{width:370px;height:100px;resize:none;}#idx_deskFullBtn2{float:left;font-size:16px;cursor:pointer;display:none;}.fulldesk #idx_deskFullBtn2{display:block;}.fulldesk #deskFullBtn{display:none;}#p0message{margin:50px;text-align:center;}.deviceBarCheckbox{width:22px;float:left;background-color:white;}.night .deviceBarCheckbox{background-color:black;}#devs{color:black;}.deviceBarIcon{float:left;height:18px;width:18px;background-color:white }.night .deviceBarIcon{background-color:black;}#devListToolbarViewIcons{float:right;}#devListToolbarSpan{width:100%;height:24px;background-color:#d3d9d6;vertical-align:middle;border-spacing:0;}.night #devListToolbarSpan{color:black;background-color:#d3d9d6;}#SearchInput{width:120px;}#devListToolbarView, #devListToolbarSort, #devListToolbarSize{float:right;}#refreshmap{margin-left:5px;} #NoMeshesPanel a{cursor:pointer;}#NoMeshesPanel table{width:100%;padding:20px;}NoMeshesPanel img{height:48px;width:47px;}#xdevices{max-height:calc(100vh - 242px);overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;}#xdevicesmap{height:calc(100vh - 239px);width:100%;overflow:hidden;position:relative;}#xmapSearchResultsDlg{position:absolute;max-height:280px;left:5px;top:5px;max-width:250px;z-index:1000;background-color:#EEE;box-shadow:0px 0px 15px #666;}#xmapSearchResultsBck{width:100%;background-color:#003366;color:#FFF;border-radius:5px 5px 0 0;}#xmapSearchClose{float:right;padding:5px;cursor:pointer;}.xmapItem{overflow-y:auto;width:100%;max-height:240px;}.xmapItemSel1{cursor:pointer;padding:5px;background-color:#F5F5F5;}.xmapItemSel1{cursor:pointer;padding:5px;background-color:#EBEBEB;}#xmap-info-window{text-shadow:0px 0px 15px #FFF;}#p2 a, #p6 a, #p10 a{cursor:pointer;}#p2AccountImage{width:128px;height:128px;margin-bottom:10px;margin-right:20px;float:right;}.p2AccountActions{width:15px;display:inline-block;}.p2AccountActions span{color:green;font-size:10px;}#p2AccountActions .mL{margin-left:40px;}#p2ServerActions .mL{margin-left:40px;}.newMeshBtn{background:url(../images/icon-addnew.png) no-repeat 0px 0px;height:12px;width:12px;cursor:pointer;border:none;padding-left:15px;}#p2noMeshFound, #serverStats{margin-left:40px;}#p2ServerActionsBackup, #p2ServerActionsRestore, #p2ServerActionsVersion, #p2ServerActionsErrors{margin-left:0px;}.pTable{width:100%;height:24px;background-color:#d3d9d6;margin-bottom:4px;vertical-align:middle;border-spacing:0;}#p3users{max-height:calc(100vh - 244px);overflow-y:auto;}.p3usersTable{width:100%;border-spacing:0;padding:0;}.p3usersTable th{color:gray;}#p3events{height:calc(100vh - 245px);overflow-y:scroll;}.p3eventsTable{width:100%;border-spacing:0;padding:0;}.p3eventsTable{width:100%;border-spacing:0;padding:0;}#p4name, #p4email, #p4pass1, #p4pass2{width:230px;}#p5toolbar{width:100%;}#p5filehead{width:100%;background-color:#d3d9d6;text-align:left;padding:4px;}#p5filesubhead{background-color:#E4E9E7;height:28px;}#p5rightOfButtons{float:right;margin-top:3px;}#p5filetable{width:100%;height:calc(100vh - 295px);overflow:auto;-webkit-user-select:none;position:relative;}#p5PublicShare{display:none;width:100%;overflow:auto;-webkit-user-select:none;background-color:lightsteelblue;}#p5PublicShare div{padding:4px;}#bigok{width:256px;overflow:hidden;position:absolute;left:337px;top:20px;text-align:center;font-size:1600%;color:#AAAAAA;}#bigfail{width:256px;overflow:hidden;position:absolute;left:337px;top:20px;text-align:center;font-size:1600%;color:#AAAAAA;}.chartViewCanvas{width:80px;display:inline-block;}.chartViewText{width:160px;display:inline-block;}#serverCpuChart, #serverMemoryChart{width:60px;height:60px;}#serverMainStats{height:calc(100vh - 251px);max-height:calc(100vh - 251px);width:100%;}#p10BackButton, #p11BackButton{float:left;}#p10html2 table{color:black;background-color:#EEE;border-color:#AAA;border-width:1px;border-style:solid;border-collapse:collapse;width:100%;}#p10html2 thead{background-color:#AAA;font-weight:bold;}#p10html2 thead tr{background-color:#AAA;font-weight:bold;}#p10html2 thead img{float:right;cursor:pointer;padding:3px;}#p10html2 .altBack{background-color:#DDD;}.pwState{display:table-cell;height:16px;}.pwsYellow{background-color:yellow;}.pwsTransparent{background-color:#00000000;}.pwsBlack{background-color:black;}.pwsBlue{background-color:blue;}.pwsBlue2{background-color:blue;}.pwsLightblue{background-color:lightblue;}.pwsBlueviolet{background-color:blueviolet;}.pwsDarkgreen{background-color:darkgreen;}.pwsLightseagreen{background-color:lightseagreen;}.pwsLightseagreen2{background-color:lightseagreen;}.p10html3right{float:right;font-size:x-small;}.p10html3left{font-size:x-small;}#dp10devicevalue{width:230px;}.fulldesk #p11{height:100%;}#MainComputerImage{border-width:0px;height:200px;width:200px;}#MainComputerState{font-size:12px;font-weight:bold;width:100%;text-align:center;}#d2groupop{float:right;width:250px;}#p12warning, #p12warning2, #p11warning, #p11warning2{max-width:100%;display:none;cursor:pointer;margin-bottom:5px;}#MainMeshImage{border-width:0px;height:200px;width:200px;float:right;}#DeskTools{position:absolute;width:400px;height:100%;background-color:gray;top:0;right:0;border-left:2px solid lightgray;}#DeskToolsRefreshButton{float:right;padding:3px;cursor:pointer;}a{color:#036;text-decoration:underline;cursor:pointer;}.night a{color:#69B;}.i1{background:url(../images/icons50.png) 0px 0px;height:50px;width:50px;cursor:pointer;border:none;}.i2{background:url(../images/icons50.png) -50px 0px;height:50px;width:50px;cursor:pointer;border:none;}.i3{background:url(../images/icons50.png) -100px 0px;height:50px;width:50px;cursor:pointer;border:none;}.i4{background:url(../images/icons50.png) -150px 0px;height:50px;width:50px;cursor:pointer;border:none;}.i5{background:url(../images/icons50.png) -200px 0px;height:50px;width:50px;cursor:pointer;border:none;}.i6{background:url(../images/icons50.png) -250px 0px;height:50px;width:50px;cursor:pointer;border:none;}.j1{background:url(../images/icons16.png) 0px 0px;height:16px;width:16px;cursor:pointer;border:none;}.j2{background:url(../images/icons16.png) -16px 0px;height:16px;width:16px;cursor:pointer;border:none;}.j3{background:url(../images/icons16.png) -32px 0px;height:16px;width:16px;cursor:pointer;border:none;}.j4{background:url(../images/icons16.png) -48px 0px;height:16px;width:16px;cursor:pointer;border:none;}.j5{background:url(../images/icons16.png) -64px 0px;height:16px;width:16px;cursor:pointer;border:none;}.j6{background:url(../images/icons16.png) -80px 0px;height:16px;width:16px;cursor:pointer;border:none;}.lbbutton{width:74px;height:74px;border-radius:5px;background-color:white;margin-left:8px;margin-top:8px;position:relative;cursor:pointer;opacity:0.5;}.night .lbbutton{background-color:black;}.lbbutton:hover{opacity:1;}.lbbuttonsel{opacity:0.9;}.lbbuttonsel2{width:82px;border-radius:5px 0px 0px 5px;opacity:1;}.lb1{background:url(../images/leftbar-64.png) -1px -2px;height:62px;width:62px;cursor:pointer;border:none;position:absolute;top:6px;left:6px;}.lb2{background:url(../images/leftbar-64.png) -66px -2px;height:62px;width:62px;cursor:pointer;border:none;position:absolute;top:6px;left:6px;}.lb3{background:url(../images/leftbar-64.png) -130px -2px;height:62px;width:62px;cursor:pointer;border:none;position:absolute;top:6px;left:6px;}.lb4{background:url(../images/leftbar-64.png) -194px -2px;height:62px;width:62px;cursor:pointer;border:none;position:absolute;top:6px;left:6px;}.lb5{background:url(../images/leftbar-64.png) -257px -2px;height:62px;width:62px;cursor:pointer;border:none;position:absolute;top:6px;left:6px;}.lb6{background:url(../images/leftbar-64.png) -318px -2px;height:62px;width:62px;cursor:pointer;border:none;position:absolute;top:6px;left:6px;}.m0{background:url(../images/images16.png) -32px 0px;height:16px;width:16px;border:none;float:left;}.m1{background:url(../images/images16.png) -16px 0px;height:16px;width:16px;border:none;float:left;}.m2{background:url(../images/images16.png) -96px 0px;height:16px;width:16px;border:none;float:left;}.m3{background:url(../images/images16.png) -112px 0px;height:16px;width:16px;border:none;float:left;}.si0{background:url(../images/icons16.png) 0px 0px;height:16px;width:16px;border:none;float:left;}.si1{background:url(../images/icons16.png) -16px 0px;height:16px;width:16px;border:none;float:left;}.si2{background:url(../images/icons16.png) -32px 0px;height:16px;width:16px;border:none;float:left;}.si3{background:url(../images/icons16.png) -48px 0px;height:16px;width:16px;border:none;float:left;}.si4{background:url(../images/icons16.png) -64px 0px;height:16px;width:16px;border:none;float:left;}.mi{background:url(../images/meshicon50.png) 0px 0px;height:50px;width:50px;cursor:pointer;border:none;}#floatframe{position:fixed;top:200px;height:300px;z-index:200;display:none;}.style1{text-align:center;}.style2{text-align:center;background-color:#808080;font-weight:bold;}.style3{text-align:center;color:white;background-color:#808080;font-weight:bold;}.style3x{text-align:center;color:white;background-color:#808080;font-weight:bold;}.style3x:hover{background-color:#606060;}.style3x.fullselect{background-color:#003366;}.style3x.semiselect{background-color:#606060;}.style3sel{text-align:center;color:white;background-color:#003366;font-weight:bold;}.style4{color:white;text-decoration:none;}.style5{text-align:center;background-color:#808080;font-weight:normal;}.style6{text-align:left;background-color:#D3D9D6;padding:3px;}.style7{font-size:large;width:180px;}.style9{max-width:400px;overflow:hidden;}.style10{background-color:#C9C9C9;}.night .style10{color:#333;}.style11{font-size:large;background-color:#C9C9C9;}.style14{height:100%;text-align:left;background-color:#D3D9D6;}.auto-style1{text-align:right;}#pTable .auto-style1{height:100%;float:right;}.night .auto-style1{color:black;}.night #pTable{color:black;}.icon2{float:left;margin:7px;}.warningbox{width:auto;border-radius:8px;padding:8px;background-color:lightsalmon;}.fileIcon1{background:url(data:image/gif;base64,R0lGODlhEAAQAJEDAPb49Y2Sj9LT2f///yH5BAEAAAMALAAAAAAQABAAAAImnI+py+1vhJwyUYAzHTL4D3qdlJWaIFJqmKod607sDKIiDUP63hQAOw==);height:16px;width:16px;cursor:pointer;border:none;float:left;margin-top:1px;}.fileIcon2{background:url(data:image/gif;base64,R0lGODlhEAAQAJEDAM2xV/Xur+XPgP///yH5BAEAAAMALAAAAAAQABAAAAJD3ISZIGHWUGihznesYDYATFVM+D2hJ4lgN1olxALAtAlmPCJvuMmJd6PJckDYwicrHhTD5o7plJmg0Uc0asNMkphHAQA7);height:16px;width:16px;cursor:pointer;border:none;float:left;margin-top:1px;}.fileIcon3{background:url(data:image/gif;base64,R0lGODlhEAAQAJEDAPb19IGBgbq6uv///yH5BAEAAAMALAAAAAAQABAAAAIy3ISpxgcPH2ouQgFEw1YmxnUXKEaaEZZnVWZk66JwzKpvuwZzwOgwb/C1gIOA8Yg8DgoAOw==);height:16px;width:16px;cursor:pointer;border:none;float:left;margin-top:1px;}.fileIcon4{background:url(../images/meshicon16.png);height:16px;width:16px;cursor:pointer;border:none;float:left;margin-top:1px;}.filelist{-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-o-user-select:none;cursor:default;-khtml-user-drag:element;clear:both;}.noselect{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;}.fsize{float:right;text-align:right;width:180px;}.g1{background-position:0% 0%;width:14px;height:100%;float:left; background-image:linear-gradient(to right, #fff 0%, #c9c9c9 100%);background-color:#c9c9c9;background-repeat:repeat;background-attachment:scroll;}.night .g1{background-image:linear-gradient(to right, #000 0%, #c9c9c9 100%);}#p3events .g1{float:none;}#p3users .g1{height:24px;float:left;}.g1s{background-image:linear-gradient(to right, #fff 0%, #b9b9b9 100%);}.night .g1s{background-image:linear-gradient(to right, #000 0%, #b9b9b9 100%);}.g2{background-position:0% 0%;width:14px;height:100%;float:right; background-image:linear-gradient(to right, #c9c9c9 0%, #fff 100%);background-color:#c9c9c9;background-repeat:repeat;background-attachment:scroll;}.night .g2{background-image:linear-gradient(to right, #c9c9c9 0%, #000 100%);}#p3events .g2{float:none;}#p3users .g2{height:24px;float:right;}.g2s{background-image:linear-gradient(to right, #b9b9b9 0%, #fff 100%);}.night .g2s{background-image:linear-gradient(to right, #b9b9b9 0%, #000 100%);}.h1pre{width:16px;height:100%;float:left;font-size:large;background-color:#FFFFFF;}.h1{background-position:0% 0%;width:14px;height:24px; background-image:linear-gradient(to right, #fff 0%, #d3d9d6 100%);background-color:#d3d9d6;background-repeat:repeat;background-attachment:scroll;}.night .h1{background-image:linear-gradient(to right, #000 0%, #d3d9d6 100%);}.h2end{height:100%;width:20px;float:right;background-color:#ffffff;}.h2{background-position:0% 0%;width:14px;height:24px; background-image:linear-gradient(to right, #d3d9d6 0%, #fff 100%);background-color:#d3d9d6;background-repeat:repeat;background-attachment:scroll;}.night .h2{background-image:linear-gradient(to right, #d3d9d6 0%, #000 100%);}.e1{font-size:large;margin-top:4px;margin-bottom:3px;overflow:hidden;word-wrap:hyphenate;white-space:nowrap;text-overflow:ellipsis;}.e2{float:left;height:100%;background-color:#c9c9c9;}.night .e2{color:black;}.e2s{background-color:#b9b9b9;}.bar{font-size:large;background-color:#C9C9C9;height:24px;float:left;margin-bottom:2px;}.night .bar{color:black;}#p3users .bar{width:100%;font-size:medium;}.baricon{float:left;height:24px;width:24px;background-color:white;}.night .baricon{background-color:black;}.baricon div{width:16px;margin-top:4px;margin-left:2px;height:16px;}.bar2{font-size:large;height:24px;float:left;margin-bottom:2px;}.bar18{font-size:large;background-color:#C9C9C9;height:18px;float:left;margin-bottom:2px;color:black;}.bar182{font-size:large;height:18px;float:left;margin-bottom:2px;}.devHeaderx{color:lightgray;}.DevSt{border-bottom-style:solid;border-bottom-width:1px;border-bottom-color:#DDDDDD;}.night .DevSt{color:white;}.contextMenu{background:#F9F9F9;box-shadow:0 0 12px rgba( 0, 0, 0, .3 );border:1px solid #ccc; display:none;position:absolute;top:0;left:0;list-style:none;margin:0;padding:5px;min-width:100px;max-width:150px;z-index:500;}.cmtext{color:#444;display:inline-block;padding-left:8px;padding-right:8px;padding-top:5px;padding-bottom:5px;text-decoration:none;width:85%;cursor:default;overflow:hidden;position:relative;}.cmtext:hover{color:#f9f9f9;background:#444;}.gray{ filter:gray; -webkit-filter:grayscale(100%) opacity(60%); -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";-moz-opacity:0.60;opacity:.60;filter:alpha(opacity=60);}.unselectable{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;}.notifiyBox{position:absolute;z-index:1000;top:50px;right:26px;width:300px;text-align:left;background-color:#F0ECCD;border:4px solid #666;-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px;-webkit-box-shadow:2px 2px 4px #888;-moz-box-shadow:2px 2px 4px #888;box-shadow:2px 2px 4px #888;max-height:200px;}.night .notifiyBox{color:black;}.notifiyBox:before{content:' ';position:absolute;width:0;height:0;right:5px;top:-30px;border:15px solid;border-color:transparent #666 #666 transparent;}.notifiyBox:after{content:' ';position:absolute;width:0;height:0;right:7px;top:-24px;border:12px solid;border-color:transparent #F0ECCD #F0ECCD transparent;}.notification{width:100%;min-height:30px;}.notification:hover{background-color:#EFE8B6;}#notificationCount{min-width:28px;font-size:20px;border-radius:5px;background-color:lightblue;text-align:center;margin:8px;cursor:pointer;padding:4px;}.night #notificationCount{color:black;}.deskareaicon{cursor:pointer;border:none;float:right;font-size:130%;margin-right:4px;}.areaHead{padding-left:4px;padding-top:2px;padding-bottom:2px;background:#C0C0C0;}.areaProgress{background-color:gray;}.areaProgress div{height:2px;width:0%;background-color:red;}.areaFoot{padding-top:2px;padding-bottom:2px;background:#C0C0C0;}.toright2{float:right;text-align:right;padding-right:4px;}#deskarea0{width:100%;padding:0px;margin-top:0px;}.night #deskarea0{color:black;}.fulldesk #deskarea0{min-width:100%;min-height:0px;height:100%;position:relative;display:-ms-grid;display:grid;grid-gap:0px;grid-template-areas:"deskarea1" "deskarea2" "deskarea3" "deskarea4"; grid-template-rows:24px max-content auto max-content;-ms-grid-columns:1fr;-ms-grid-rows:24px max-content 1fr max-content;}#deskarea0 .mR{margin-right:3px;}#deskarea1{grid-area:deskarea1;-ms-grid-column:1;-ms-grid-row:1;}#deskarea2{grid-area:deskarea2;background-color:gray;-ms-grid-column:1;-ms-grid-row:2;}#progressbar{height:2px;width:0%;background-color:red;}#deskarea3x{background:black;text-align:center;position:relative;overflow:hidden;width:100%;max-height:calc(100vh - 270px); height:calc(100vh - 270px);}.room4submenu #deskarea3x{max-height:calc(100vh - 296px);height:calc(100vh - 296px);}.fulldesk #deskarea3x{grid-area:deskarea3;max-height:none;height:calc(100vh - 52px);-ms-grid-column:1;-ms-grid-row:3;}#DeskFocus{overflow:hidden;color:transparent;border:3px dotted rgba(255,0,0,.2);position:absolute;border-radius:5px;}#DeskParent{margin:0;overflow:hidden;height:100%;width:100%;position:absolute;right:0;top:0;}#Desk{overflow:hidden;width:100%;-ms-touch-action:none;position:absolute;top:0px;bottom:0px;left:0px;right:0px;margin:auto;}#deskToolsBar{position:absolute;padding:3px;border-radius:3px 3px 0px 0px;top:5px;left:4px;bottom:26px;background-color:lightgray;cursor:pointer;}#deskToolsArea{position:absolute;top:26px;left:4px;right:4px;bottom:4px;background-color:lightgray;text-align:left;}#deskToolsHeader{border-bottom:1px solid darkgray;padding:3px;}#deskToolsHeader .colmn1{width:50px;padding-right:5px;float:left;}#DeskToolsProcesses{overflow-y:scroll;position:absolute;top:24px;bottom:0px;width:100%;color:black;}.deskToolsBar{padding:3px;}.deskToolsBar:hover{background-color:#EFE8B6;}#deskarea4{grid-area:deskarea4;-ms-grid-column:1;-ms-grid-row:4;}#DeskChatButton, #DeskNotifyButton, #DeskOpenWebButton{float:right;margin-top:1px;margin-right:4px;cursor:pointer;}#DeskClip, #DeskControlSpan, #specialkeylist{margin-left:6px;}.serverStateTableCell{width:300px;height:24px;background-color:#d3d9d6;margin-bottom:4px;vertical-align:middle;border-spacing:0;}.night .serverStateTableCell{color:black;}.userTableHeader{border-bottom:1pt solid lightgray;padding-top:4px;padding-bottom:4px;}#deskkeys{margin-left:6px;}#p12BackButton{float:left;}#termTable{width:100%;padding:0px;padding:0px;margin-top:0px;}#termarea3x{background:black;text-align:center;height:500px;position:relative;}#Term{background:black;margin:0;padding:0;}#p13toolbar{width:100%;}#p13toolbar .areaHead{border-bottom:2px solid black;}#p13toolbar .areaHead2{width:100%;background-color:#d3d9d6;text-align:left;padding:4px;}#p13toolbar .areaHead3{background-color:#E4E9E7;height:28px;}#p13filetable{width:100%;height:calc(100vh - 323px);overflow:auto;-webkit-user-select:none;}.room4submenu #p13filetable{height:calc(100vh - 349px);}#p13bigok{width:256px;overflow:hidden;position:absolute;left:337px;top:200px;text-align:center;font-size:1600%;color:#AAA;}#p13bigfail{width:256px;overflow:hidden;position:absolute;left:337px;top:200px;text-align:center;font-size:1600%;color:#AAA;}.fulldesk #p14title{margin-left:16px;margin-right:16px;color:#CCC;}#p14iframe{width:100%;height:calc(100vh - 218px);border:0;overflow:hidden;}.menu_stack #p14iframe{height:calc(100vh - 246px);}.fulldesk #p14iframe{height:calc(100vh - 65px);}#p13toolbarBottom, #p13toolbar{width:100%;}#consoleTable{width:100%;padding:0px;padding:0px;margin-top:0px;}.night #consoleTable{color:black;}#p15statetext{padding:4px;height:15px;}#p15agentConsole{background:black;margin:0;padding:0;color:lightgray;width:100%;height:calc(100vh - 276px);max-height:calc(100vh - 276px);position:relative;}.menu_stack.fullscreen #p15agentConsole{height:calc(100vh - 305px);max-height:calc(100vh - 305px);}#p15coreName{padding:4px;display:inline-block;}#p15agentConsoleText{margin:0;padding:0;top:0;bottom:0;overflow-y:scroll;overflow-x:auto;height:calc(100vh - 279px);max-height:calc(100vh - 279px);width:930px;}.menu_stack.fullscreen #p15agentConsoleText{width:calc(100vw - 30px);height:calc(100vh - 305px);max-height:calc(100vh - 305px);}.fullscreen #p15agentConsoleText{width:calc(100vw - 120px);}#p16events, #p31events{max-height:calc(100vh - 245px);overflow-y:auto;}.room4submenu #p16events, #p31events{max-height:calc(100vh - 269px);}.night #p16events, #p31events{color:#222;}#p40{height:calc(100vh - 191px);}.viewSelector{width:32px;height:32px;background-color:#DDD;border-radius:3px;float:left;margin-left:5px;cursor:pointer;opacity:0.3;}.viewSelectorSel{background-color:#BBB;opacity:0.8;}.viewSelector:hover{opacity:0.5;background-color:#AAA;}.viewSelector1{margin-left:2px;margin-top:2px;background:url(../images/views.png) -0px 0px;height:28px;width:28px;}.viewSelector2{margin-left:2px;margin-top:2px;background:url(../images/views.png) -28px 0px;height:28px;width:28px;}.viewSelector3{margin-left:2px;margin-top:2px;background:url(../images/views.png) -56px 0px;height:28px;width:28px;}.viewSelector4{margin-left:2px;margin-top:2px;background:url(../images/views.png) -84px 0px;height:28px;width:28px;}.viewSelector5{margin-left:2px;margin-top:2px;background:url(../images/views.png) -112px 0px;height:28px;width:28px;}.fulldesk .viewSelector5{background:url(../images/views.png) -252px 0px;}.backButtonEx{margin-left:2px;margin-top:2px;background:url(../images/views.png) -140px 0px;height:28px;width:28px;}.uiSelector{width:32px;height:32px;background-color:#BBB;border-radius:3px;float:left;margin:3px;cursor:pointer;opacity:0.3;}.uiSelector:hover{opacity:0.5;background-color:#AAA;}.uiSelectorSel{background-color:#BBB;opacity:0.8;}.uiSelector1{margin:2px;background:url(../images/views.png) -168px 0px;height:28px;width:28px;}.uiSelector2{margin:2px;background:url(../images/views.png) -196px 0px;height:28px;width:28px;}.uiSelector3{margin:2px;background:url(../images/views.png) -224px 0px;height:28px;width:28px;}.uiSelector4{margin:2px;background:url(../images/views.png) -280px 0px;height:28px;width:28px;}.backButton{width:32px;height:32px;background-color:#DDD;border-radius:3px;float:left;margin-right:5px;cursor:pointer;opacity:0.3;}.backButton:hover{opacity:0.5;background-color:#AAA;}.hoverButton{opacity:0.5;width:10px;height:10px;}.hoverButton:hover{opacity:1;}.tagSpan{background-color:lightgray;padding:3px;margin-right:4px;border-radius:5px;}</style> <script type="text/javascript" src="scripts/u2f-api.js"></script> <title>{{{title}}} - Login</title> </head> <body id="body" onload="if (typeof(startup) !== 'undefined') startup();" class="arg_hide login"> <div id="container"> <div id="masthead"> <div class="title">{{{title}}}</div> <div class="title2">{{{title2}}}</div> </div> <div id="topbar" class="noselect style3" style="height:24px"> <div id="uiMenuButton" title="User interface selection" onclick="showUserInterfaceSelectMenu()"> ♦ <div id="uiMenu" style="display:none"> <div id="uiViewButton1" class="uiSelector" onclick="userInterfaceSelectMenu(1)" title="Left bar interface"><div class="uiSelector1"></div></div> <div id="uiViewButton2" class="uiSelector" onclick="userInterfaceSelectMenu(2)" title="Top bar interface"><div class="uiSelector2"></div></div> <div id="uiViewButton3" class="uiSelector" onclick="userInterfaceSelectMenu(3)" title="Fixed width interface"><div class="uiSelector3"></div></div> <div id="uiViewButton4" class="uiSelector" onclick="toggleNightMode()" title="Toggle night mode"><div class="uiSelector4"></div></div> </div> </div> </div> <div id="column_l"> <h1>Welcome</h1> <div id="welcomeText" style="display:none">Connect to your home or office devices from anywhere in the world using <a href="http://www.meshcommander.com/meshcentral2">MeshCentral</a>, the real time, open source remote monitoring and management web site. You will need to download and install a management agent on your computers. Once installed, computers will show up in the "My Devices" section of this web site and you will be able to monitor them and take control of them.</div> <table id="centralTable" style=""> <tr> <td id="welcomeimage"> <picture> <img alt="" src="welcome.jpg" style="border-radius:20px"> </picture> </td> <td id="logincell"> <div id="loginpanel" style="display:none"> <form action="login" method="post"> <div id="message1"> {{{message}}} </div> <div> <b>Log In</b> </div> <table> <tr> <td align="right" width="100">Username:</td> <td><input id="username" type="text" maxlength="64" name="username" onchange="validateLogin(1)" onkeyup="validateLogin(1,event)"></td> </tr> <tr> <td align="right">Password:</td> <td><input id="password" type="password" maxlength="256" name="password" autocomplete="off" onchange="validateLogin(2)" onkeyup="validateLogin(2,event)"></td> </tr> <tr> <td><div id="showPassHintLink" style="display:none"><a onclick="showPassHint()" style="cursor:pointer">Show Hint</a></div></td> <td align="right"><input id="loginButton" type="submit" value="Log In" disabled="disabled"></td> </tr> </table> <div id="hrAccountDiv" style="display:none"><hr></div> <div id="resetAccountDiv" style="display:none;padding:2px"> Forgot username/password? <a onclick="xgo(3)" style="cursor:pointer">Reset account</a>. </div> <div id="newAccountDiv" style="display:none;padding:2px"> Don't have an account? <a onclick="xgo(2)" style="cursor:pointer">Create one</a>. </div> </form> </div> <div id="createpanel" style="display:none"> <form action="createaccount" method="post"> <div id="message2"> {{{message}}} </div> <div> <b>Account Creation</b> </div> <div id="passwordPolicyCallout" style="display:none;"></div> <table> <tr> <td id="nuUser" align="right" width="100">Username:</td> <td><input id="ausername" type="text" name="username" onchange="validateCreate(1)" maxlength="64" onkeydown="haltReturn(event)" onkeyup="validateCreate(1,event)"></td> </tr> <tr> <td id="nuEmail" align="right" width="100">Email:</td> <td><input id="aemail" type="text" name="email" onchange="validateCreate(2)" maxlength="256" onkeydown="haltReturn(event)" onkeyup="validateCreate(2,event)"></td> </tr> <tr> <td id="nuPass1" align="right">Password:</td> <td><input id="apassword1" type="password" name="password1" autocomplete="off" maxlength="256" onkeydown="haltReturn(event)" onchange="validateCreate(3,event)" onkeyup="validateCreate(3,event)"></td> </tr> <tr> <td id="nuPass2" align="right">Password:</td> <td><input id="apassword2" type="password" name="password2" autocomplete="off" maxlength="256" onkeydown="haltReturn(event)" onchange="validateCreate(4,event)" onkeyup="validateCreate(4,event)"></td> </tr> <tr id="createPanelHint" style="display:none"> <td id="nuHint" align="right">Password Hint:</td> <td><input id="apasswordhint" type="text" name="apasswordhint" autocomplete="off" maxlength="256" onkeydown="haltReturn(event)" onchange="validateCreate(5,event)" onkeyup="validateCreate(5,event)"></td> </tr> <tr id="newAccountPass" title="Enter the account creation token"> <td id="nuToken" align="right">Creation Token:</td> <td><input id="anewaccountpass" type="password" name="anewaccountpass" autocomplete="off" maxlength="256" onkeydown="haltReturn(event)" onchange="validateCreate(6,event)" onkeyup="validateCreate(6,event)"></td> </tr> <tr> <td colspan="2"> <div style="float:right"><input id="createButton" type="submit" value="Create Account" disabled="disabled"></div> <div id="passWarning" style="padding-top:6px"></div> </td> </tr> </table> <hr><a onclick="xgo(1)" style="cursor:pointer">Back to login</a> </form> </div> <div id="resetpanel" style="display:none"> <form action="resetaccount" method="post"> <div id="message3"> {{{message}}} </div> <div> <b>Account Reset</b> </div> <table> <tr> <td align="right" width="100">Email:</td> <td><input id="remail" type="text" name="email" maxlength="256" onchange="validateReset()" onkeyup="validateReset(event)"></td> </tr> <tr> <td colspan="2"> <div style="float:right"><input id="eresetButton" type="submit" value="Reset Account" disabled="disabled"></div> <div id="passWarning" style="padding-top:6px"></div> </td> </tr> </table> <hr><a onclick="xgo(1)" style="cursor:pointer">Back to login</a> </form> </div> <div id="tokenpanel" style="display:none"> <form action="tokenlogin" method="post" autocomplete="off"> <div id="message4"> {{{message}}} </div> <table> <tr> <td align="right" width="100">Login token:</td> <td> <input id="tokenInput" type="text" name="token" maxlength="50" onchange="checkToken(event)" onpaste="resetCheckToken(event)" onkeyup="checkToken(event)" onkeydown="checkToken(event)"> <input id="hwtokenInput" type="text" name="hwtoken" style="display:none"> </td> </tr> <tr> <td colspan="2"> <div style="float:right"><input id="tokenOkButton" type="submit" value="Login" disabled="disabled"></div> </td> </tr> </table> <hr><a onclick="xgo(1)" style="cursor:pointer">Back to login</a> </form> </div> <div id="resettokenpanel" style="display:none"> <form action="resetaccount" method="post"> <div id="message5"> {{{message}}} </div> <table> <tr> <td align="right" width="100">Login token:</td> <td> <input id="resetTokenInput" type="text" name="token" maxlength="50" onchange="resetCheckToken(event)" onkeyup="resetCheckToken(event)" onkeydown="resetCheckToken(event)"> <input id="resetHwtokenInput" type="text" name="hwtoken" style="display:none"> </td> </tr> <tr> <td colspan="2"> <div style="float:right"><input id="resetTokenOkButton" type="submit" value="Login" disabled="disabled"></div> </td> </tr> </table> <hr><a onclick="xgo(1)" style="cursor:pointer">Back to login</a> </form> </div> <div id="resetpasswordpanel" style="display:none"> <form action="resetpassword" method="post"> <div id="message6"> {{{message}}} </div> <div id="rpasswordPolicyCallout" style="display:none;"></div> <table> <tr> <td id="rnuPass1" width="100" align="right">Password:</td> <td><input id="rapassword1" type="password" name="rpassword1" autocomplete="off" maxlength="256" onkeydown="haltReturn(event)" onchange="validatePassReset(3,event)" onkeyup="validatePassReset(3,event)"></td> </tr> <tr> <td id="rnuPass2" align="right">Password:</td> <td><input id="rapassword2" type="password" name="rpassword2" autocomplete="off" maxlength="256" onkeydown="haltReturn(event)" onchange="validatePassReset(4,event)" onkeyup="validatePassReset(4,event)"></td> </tr> <tr id="resetpasswordpanelHint" style="display:none"> <td id="rnuHint" align="right">Password Hint:</td> <td><input id="rapasswordhint" type="text" name="rpasswordhint" autocomplete="off" maxlength="256" onkeydown="haltReturn(event)" onchange="validatePassReset(5,event)" onkeyup="validatePassReset(5,event)"></td> </tr> <tr> <td colspan="2"> <div style="float:right"><input id="resetPassButton" type="submit" value="Reset Password" disabled="disabled"></div> <div id="rpassWarning" style="padding-top:6px"></div> </td> </tr> </table> <hr><a onclick="xgo(1)" style="cursor:pointer">Back to login</a> </form> </div> </td> </tr> </table> <br> </div> <div id="footer"> <div class="footer1">{{{footer}}}</div> <div class="footer2"> {{{rootCertLink}}} <a href="terms">Terms & Privacy</a> </div> </div> </div> <div id="dialog" style="display:none"> <div id="dialogHeader"> <div id="id_dialogclose" style="float:right;padding:5px;cursor:pointer" onclick="setDialogMode()"><b>X</b></div> <div id="id_dialogtitle" style="padding:5px"></div> <div style="width:100%;margin:6px"></div> </div> <div id="dialogBody"> <div id="dialog1"> <div id="id_dialogMessage" style=""></div> </div> <div id="dialog2" style=""> <div id="id_dialogOptions"></div> </div> </div> <div id="idx_dlgButtonBar" style=""> <input id="idx_dlgCancelButton" type="button" value="Cancel" style="" onclick="dialogclose(0)"> <input id="idx_dlgOkButton" type="button" value="OK" style="" onclick="dialogclose(1)"> </div> </div> <script>if(!String.prototype.startsWith){String.prototype.startsWith=function(a){return this.lastIndexOf(a,0)===0}}if(!String.prototype.endsWith){String.prototype.endsWith=function(a){return this.indexOf(a,this.length-a.length)!==-1}}function Q(a){return document.getElementById(a)}function QS(a){try{return Q(a).style}catch(a){}}function QE(a,b){try{Q(a).disabled=!b}catch(a){}}function QV(a,b){try{QS(a).display=(b?"":"none")}catch(a){}}function QA(a,b){Q(a).innerHTML+=b}function QH(a,b){Q(a).innerHTML=b}function QC(a){try{return Q(a).classList}catch(a){}}function inputBoxFocus(b){Q(b).focus();var a=Q(b).value;Q(b).value="";Q(b).value=a}function ReadShort(b,a){return(b.charCodeAt(a)<<8)+b.charCodeAt(a+1)}function ReadShortX(b,a){return(b.charCodeAt(a+1)<<8)+b.charCodeAt(a)}function ReadInt(b,a){return(b.charCodeAt(a)*16777216)+(b.charCodeAt(a+1)<<16)+(b.charCodeAt(a+2)<<8)+b.charCodeAt(a+3)}function ReadSInt(b,a){return(b.charCodeAt(a)<<24)+(b.charCodeAt(a+1)<<16)+(b.charCodeAt(a+2)<<8)+b.charCodeAt(a+3)}function ReadIntX(b,a){return(b.charCodeAt(a+3)*16777216)+(b.charCodeAt(a+2)<<16)+(b.charCodeAt(a+1)<<8)+b.charCodeAt(a)}function ShortToStr(a){return String.fromCharCode((a>>8)&255,a&255)}function ShortToStrX(a){return String.fromCharCode(a&255,(a>>8)&255)}function IntToStr(a){return String.fromCharCode((a>>24)&255,(a>>16)&255,(a>>8)&255,a&255)}function IntToStrX(a){return String.fromCharCode(a&255,(a>>8)&255,(a>>16)&255,(a>>24)&255)}function MakeToArray(a){if(!a||a==null||typeof a=="object"){return a}return[a]}function SplitArray(a){return a.split(",")}function Clone(a){return JSON.parse(JSON.stringify(a))}function EscapeHtml(a){if(typeof a=="string"){return a.replace(/&/g,"&").replace(/>/g,">").replace(/</g,"<").replace(/"/g,""").replace(/'/g,"'")}if(typeof a=="boolean"){return a}if(typeof a=="number"){return a}}function EscapeHtmlBreaks(a){if(typeof a=="string"){return a.replace(/&/g,"&").replace(/>/g,">").replace(/</g,"<").replace(/"/g,""").replace(/'/g,"'").replace(/\r/g,"<br />").replace(/\n/g,"").replace(/\t/g," ")}if(typeof a=="boolean"){return a}if(typeof a=="number"){return a}}function ArrayElementMove(a,b,c){a.splice(c,0,a.splice(b,1)[0])}function ObjectToStringEx(e,a){var d="";if(e!=0&&(!e||e==null)){return"(Null)"}if(e instanceof Array){for(var b in e){d+="<br />"+gap(a)+"Item #"+b+": "+ObjectToStringEx(e[b],a+1)}}else{if(e instanceof Object){for(var b in e){d+="<br />"+gap(a)+b+" = "+ObjectToStringEx(e[b],a+1)}}else{d+=EscapeHtml(e)}}return d}function ObjectToStringEx2(e,a){var d="";if(e!=0&&(!e||e==null)){return"(Null)"}if(e instanceof Array){for(var b in e){d+="\r\n"+gap2(a)+"Item #"+b+": "+ObjectToStringEx2(e[b],a+1)}}else{if(e instanceof Object){for(var b in e){d+="\r\n"+gap2(a)+b+" = "+ObjectToStringEx2(e[b],a+1)}}else{d+=EscapeHtml(e)}}return d}function gap(a){var d="";for(var b=0;b<(a*4);b++){d+=" "}return d}function gap2(a){var d="";for(var b=0;b<(a*4);b++){d+=" "}return d}function ObjectToString(a){return ObjectToStringEx(a,0)}function ObjectToString2(a){return ObjectToStringEx2(a,0)}function hex2rstr(a){if(typeof a!="string"||a.length==0){return""}var c="",b=(""+a).match(/../g),e;while(e=b.shift()){c+=String.fromCharCode("0x"+e)}return c}function char2hex(a){return(a+256).toString(16).substr(-2).toUpperCase()}function rstr2hex(b){var c="",a;for(a=0;a<b.length;a++){c+=char2hex(b.charCodeAt(a))}return c}function encode_utf8(a){return unescape(encodeURIComponent(a))}function decode_utf8(a){return decodeURIComponent(escape(a))}function data2blob(c){var b=new Array(c.length);for(var d=0;d<c.length;d++){b[d]=c.charCodeAt(d)}var a=new Blob([new Uint8Array(b)]);return a}function random(a){return Math.floor(Math.random()*a)}function trademarks(a){return a.replace(/\(R\)/g,"®").replace(/\(TM\)/g,"™")}"use strict";var passhint="{{{passhint}}}";var newAccountPass=parseInt("{{{newAccountPass}}}");var emailCheck=("{{{emailcheck}}}"=="true");var passRequirements="{{{passRequirements}}}";var hardwareKeyChallenge=decodeURIComponent("{{{hkey}}}");if(passRequirements!=""){passRequirements=JSON.parse(decodeURIComponent(passRequirements))}else{passRequirements={}}var passRequirementsEx=((passRequirements.min!=null)||(passRequirements.max!=null)||(passRequirements.upper!=null)||(passRequirements.lower!=null)||(passRequirements.numeric!=null)||(passRequirements.nonalpha!=null));var features=parseInt("{{{features}}}");var welcomeText=decodeURIComponent("{{{welcometext}}}");var currentpanel=0;var uiMode=parseInt(getstore("uiMode","1"));var webPageFullScreen=true;var nightMode=(getstore("_nightMode","0")=="1");function startup(){if((features&32)==0){var d=null;try{d=top.location.toString().toLowerCase()}catch(a){}if(top!=self&&(d==null||top.active==false)){top.location=self.location;return}}if(nightMode){QC("body").add("night")}QV("createPanelHint",passRequirements.hint===true);QV("resetpasswordpanelHint",passRequirements.hint===true);if(welcomeText){QH("welcomeText",welcomeText)}QV("welcomeText",true);window.onresize=center;center();validateLogin();validateCreate();if("{{loginmode}}"!=""){go(parseInt("{{loginmode}}"))}else{go(1)}QV("newAccountDiv",("{{{newAccount}}}"==="1")||("{{{newAccount}}}"==="true"));if((passhint!=null)&&(passhint.length>0)){QV("showPassHintLink",true)}QV("newAccountPass",(newAccountPass==1));QV("resetAccountDiv",(emailCheck==true));QV("hrAccountDiv",(emailCheck==true)||(newAccountPass==1));if("{{loginmode}}"=="4"){try{if(hardwareKeyChallenge.length>0){hardwareKeyChallenge=JSON.parse(hardwareKeyChallenge)}else{hardwareKeyChallenge=null}}catch(b){hardwareKeyChallenge=null}if((hardwareKeyChallenge!=null)&&(hardwareKeyChallenge.type=="webAuthn")){hardwareKeyChallenge.challenge=Uint8Array.from(atob(hardwareKeyChallenge.challenge),function(e){return e.charCodeAt(0)}).buffer;var f={challenge:hardwareKeyChallenge.challenge,allowCredentials:[],timeout:hardwareKeyChallenge.timeout};for(var c=0;c<hardwareKeyChallenge.keyIds.length;c++){f.allowCredentials.push({id:Uint8Array.from(atob(hardwareKeyChallenge.keyIds[c]),function(e){return e.charCodeAt(0)}),type:"public-key",transports:["usb","ble","nfc"],})}navigator.credentials.get({publicKey:f}).then(function(g){var e={id:btoa(String.fromCharCode.apply(null,new Uint8Array(g.rawId))),clientDataJSON:btoa(String.fromCharCode.apply(null,new Uint8Array(g.response.clientDataJSON))),userHandle:btoa(String.fromCharCode.apply(null,new Uint8Array(g.response.userHandle))),signature:btoa(String.fromCharCode.apply(null,new Uint8Array(g.response.signature))),authenticatorData:btoa(String.fromCharCode.apply(null,new Uint8Array(g.response.authenticatorData))),};Q("hwtokenInput").value=JSON.stringify(e);QE("tokenOkButton",true);Q("tokenOkButton").click()},function(e){console.log("credentials-get error",e)})}else{if((hardwareKeyChallenge!=null)&&u2fSupported()){window.u2f.sign(hardwareKeyChallenge.appId,hardwareKeyChallenge.challenge,hardwareKeyChallenge.registeredKeys,function(e){if((currentpanel==4)&&e.signatureData){Q("hwtokenInput").value=JSON.stringify(e);QE("tokenOkButton",true);Q("tokenOkButton").click()}},hardwareKeyChallenge.timeoutSeconds)}}}if("{{loginmode}}"=="5"){try{if(hardwareKeyChallenge.length>0){hardwareKeyChallenge=JSON.parse(hardwareKeyChallenge)}else{hardwareKeyChallenge=null}}catch(b){hardwareKeyChallenge=null}if((hardwareKeyChallenge!=null)&&(hardwareKeyChallenge.type=="webAuthn")){hardwareKeyChallenge.challenge=Uint8Array.from(atob(hardwareKeyChallenge.challenge),function(e){return e.charCodeAt(0)}).buffer;var f={challenge:hardwareKeyChallenge.challenge,allowCredentials:[],timeout:hardwareKeyChallenge.timeout};for(var c=0;c<hardwareKeyChallenge.keyIds.length;c++){f.allowCredentials.push({id:Uint8Array.from(atob(hardwareKeyChallenge.keyIds[c]),function(e){return e.charCodeAt(0)}),type:"public-key",transports:["usb","ble","nfc"],})}navigator.credentials.get({publicKey:f}).then(function(g){var e={id:btoa(String.fromCharCode.apply(null,new Uint8Array(g.rawId))),clientDataJSON:btoa(String.fromCharCode.apply(null,new Uint8Array(g.response.clientDataJSON))),userHandle:btoa(String.fromCharCode.apply(null,new Uint8Array(g.response.userHandle))),signature:btoa(String.fromCharCode.apply(null,new Uint8Array(g.response.signature))),authenticatorData:btoa(String.fromCharCode.apply(null,new Uint8Array(g.response.authenticatorData))),};Q("resetHwtokenInput").value=JSON.stringify(e);QE("resetTokenOkButton",true);Q("resetTokenOkButton").click()},function(e){console.log("credentials-get error",e)})}else{if((hardwareKeyChallenge!=null)&&u2fSupported()){window.u2f.sign(hardwareKeyChallenge.appId,hardwareKeyChallenge.challenge,hardwareKeyChallenge.registeredKeys,function(e){if((currentpanel==5)&&e.signatureData){Q("resetHwtokenInput").value=JSON.stringify(e);QE("resetTokenOkButton",true);Q("resetTokenOkButton").click()}},hardwareKeyChallenge.timeoutSeconds)}}}userInterfaceSelectMenu()}function showPassHint(){messagebox("Password Hint",passhint)}function xgo(a){QV("message1",false);QV("message2",false);QV("message3",false);QV("message4",false);QV("message5",false);QV("message6",false);go(a)}function go(a){currentpanel=a;setDialogMode(0);QV("showPassHintLink",false);QV("loginpanel",a==1);QV("createpanel",a==2);QV("resetpanel",a==3);QV("tokenpanel",a==4);QV("resettokenpanel",a==5);QV("resetpasswordpanel",a==6);if(a==1){Q("username").focus()}if(a==2){Q("ausername").focus()}if(a==3){Q("remail").focus()}if(a==4){Q("tokenInput").focus()}if(a==5){Q("resetTokenInput").focus()}if(a==6){Q("rapassword1").focus()}}function validateLogin(a,b){var c=((Q("username").value.length>0)&&(Q("username").value.indexOf(" ")==-1)&&(Q("password").value.length>0));QE("loginButton",c);setDialogMode(0);if((b!=null)&&(b.keyCode==13)){if(a==1){Q("password").focus()}else{if(a==2){Q("loginButton").click()}}}if(b!=null){haltEvent(b)}}function validateCreate(a,b){setDialogMode(0);var k=(Q("ausername").value.length>0)&&(Q("ausername").value.indexOf(" ")==-1);var c=(validateEmail(Q("aemail").value)==true);var g=(Q("apassword1").value.length>0);var h=(Q("apassword2").value.length>0)&&(Q("apassword2").value==Q("apassword1").value);var d=(newAccountPass==0)||(Q("anewaccountpass").value.length>0);var f=(k&&c&&g&&h&&d);QS("nuUser").color=k?"black":"#7b241c";QS("nuEmail").color=c?"black":"#7b241c";QS("nuPass1").color=g?"black":"#7b241c";QS("nuPass2").color=h?"black":"#7b241c";QS("nuToken").color=d?"black":"#7b241c";if(Q("apassword1").value==""){QH("passWarning","");QV("passwordPolicyCallout",false)}else{if(!passRequirementsEx){var j=checkPasswordStrength(Q("apassword1").value);if(j>=80){QH("passWarning","<span style=color:green><b>Strong Password</b><span>")}else{if(j>=60){QH("passWarning","<span style=color:blue><b>Good Password</b><span>")}else{QH("passWarning","<span style=color:red><b>Weak Password</b><span>")}}}else{var i=checkPasswordRequirements(Q("apassword1").value,passRequirements);if(i==false){f=false;QS("nuPass1").color="#7b241c";QS("nuPass2").color="#7b241c";QH("passWarning","<div style=color:red;cursor:pointer onclick=showPasswordPolicy()><b>Password Policy</b><div>");QV("passwordPolicyCallout",true);QH("passwordPolicyCallout",passwordPolicyText(Q("apassword1").value))}else{QH("passWarning","");QV("passwordPolicyCallout",false)}}}if((b!=null)&&(b.keyCode==13)){if(a==1){Q("aemail").focus()}if(a==2){Q("apassword1").focus()}if(a==3){Q("apassword2").focus()}if(a==4){Q("apasswordhint").focus()}if(a==5){if(newAccountPass==1){Q("anewaccountpass").focus()}else{Q("createButton").click()}}if(a==6){Q("createButton").click()}}if(b!=null){haltEvent(b)}QE("createButton",f)}function validatePassReset(a,b){setDialogMode(0);var d=(Q("rapassword1").value.length>0);var f=(Q("rapassword2").value.length>0)&&(Q("rapassword2").value==Q("rapassword1").value);var c=(d&&f);QS("rnuPass1").color=d?"black":"#7b241c";QS("rnuPass2").color=f?"black":"#7b241c";if(Q("rapassword1").value==""){QH("rpassWarning","");QV("rpasswordPolicyCallout",false)}else{if(!passRequirementsEx){var h=checkPasswordStrength(Q("rapassword1").value);if(h>=80){QH("rpassWarning","<span style=color:green><b>Strong Password</b><span>")}else{if(h>=60){QH("rpassWarning","<span style=color:blue><b>Good Password</b><span>")}else{QH("rpassWarning","<span style=color:red><b>Weak Password</b><span>")}}}else{var g=checkPasswordRequirements(Q("rapassword1").value,passRequirements);if(g==false){c=false;QS("rnuPass1").color="#7b241c";QS("rnuPass2").color="#7b241c";QH("rpassWarning","<div style=color:red;cursor:pointer onclick=showPasswordPolicy()><b>Password Policy</b><div>");QV("rpasswordPolicyCallout",true);QH("rpasswordPolicyCallout",passwordPolicyText(Q("rapassword1").value))}else{QH("rpassWarning","");QV("rpasswordPolicyCallout",false)}}}if((b!=null)&&(b.keyCode==13)){if(a==2){Q("rapassword1").focus()}if(a==3){Q("rapassword2").focus()}if(a==4){Q("rapasswordhint").focus()}if(a==6){Q("resetPassButton").click()}}if(b!=null){haltEvent(b)}QE("resetPassButton",c)}function passwordPolicyText(b){var c="<div style=text-align:left>";var a=strCount(b);if(passRequirements.min&&((b==null)||(b.length<passRequirements.min))){c+="Minimum length of "+passRequirements.min+"<br />"}if(passRequirements.max&&((b==null)||(b.length>passRequirements.max))){c+="Maximum length of "+passRequirements.max+"<br />"}if(passRequirements.upper&&((b==null)||(a.upper<passRequirements.upper))){c+=""+passRequirements.upper+" upper case<br />"}if(passRequirements.lower&&((b==null)||(a.lower<passRequirements.lower))){c+=""+passRequirements.lower+" lower case<br />"}if(passRequirements.numeric&&((b==null)||(a.numeric<passRequirements.numeric))){c+=""+passRequirements.numeric+" numeric<br />"}if(passRequirements.nonalpha&&((b==null)||(a.nonalpha<passRequirements.nonalpha))){c+=passRequirements.nonalpha+" non-alphanumeric<br />"}c+="</div>";return c}function showPasswordPolicy(){messagebox("Password Policy",passwordPolicyText())}function validateReset(a){setDialogMode(0);var b=validateEmail(Q("remail").value);QE("eresetButton",b);if((a!=null)&&(a.keyCode==13)&&(b==true)){Q("eresetButton").click()}if(a!=null){haltEvent(a)}}function checkPasswordStrength(e){var f=0,d={},g=0,h={digits:/\d/.test(e),lower:/[a-z]/.test(e),upper:/[A-Z]/.test(e),nonWords:/\W/.test(e)};if(!e){return 0}for(var b=0;b<e.length;b++){d[e[b]]=(d[e[b]]||0)+1;f+=5/d[e[b]]}for(var a in h){g+=(h[a]==true)?1:0}return parseInt(f+(g-1)*10)}function checkPasswordRequirements(b,c){if((c==null)||(c=="")||(typeof c!="object")){return true}if(c.min){if(b.length<c.min){return false}}if(c.max){if(b.length>c.max){return false}}var a=strCount(b);if(c.numeric&&(a.numeric<c.numeric)){return false}if(c.lower&&(a.lower<c.lower)){return false}if(c.upper&&(a.upper<c.upper)){return false}if(c.nonalpha&&(a.nonalpha<c.nonalpha)){return false}return true}function strCount(c){var a={numeric:0,lower:0,upper:0,nonalpha:0};if(typeof c!="string"){return a}for(var b=0;b<c.length;b++){if(/\d/.test(c[b])){a.numeric++}if(/[a-z]/.test(c[b])){a.lower++}if(/[A-Z]/.test(c[b])){a.upper++}if(/\W/.test(c[b])){a.nonalpha++}}return a}function checkToken(){var a=Q("tokenInput").value;var b=a.split(" ").join("");if(a!=b){Q("tokenInput").value=b}QE("tokenOkButton",(Q("tokenInput").value.length==6)||(Q("tokenInput").value.length==8)||(Q("tokenInput").value.length==44))}function resetCheckToken(){var a=Q("resetTokenInput").value;var b=a.split(" ").join("");if(a!=b){Q("resetTokenInput").value=b}QE("resetTokenOkButton",(Q("resetTokenInput").value.length==6)||(Q("resetTokenInput").value.length==8)||(Q("resetTokenInput").value.length==44))}var xxdialogMode;var xxdialogFunc;var xxdialogButtons;var xxdialogTag;var xxcurrentView=0;function setDialogMode(j,k,a,e,d,h){xxdialogMode=j;xxdialogFunc=e;xxdialogButtons=a;xxdialogTag=h;QE("idx_dlgOkButton",true);QV("idx_dlgOkButton",a&1);QV("idx_dlgCancelButton",a&2);QV("id_dialogclose",(a&2)||(a&8));QV("idx_dlgButtonBar",a&7);if(k){QH("id_dialogtitle",k)}for(var g=1;g<24;g++){QV("dialog"+g,g==j)}QV("dialog",j);if(d){if(j==2){QH("id_dialogOptions",d)}else{QH("id_dialogMessage",d)}}}function dialogclose(e){var c=xxdialogFunc;var a=xxdialogButtons;var d=xxdialogTag;setDialogMode();if(((a&8)||e)&&c){c(e,d)}}function toggleFullScreen(a){if(webPageFullScreen==false){QC("body").remove("fullscreen")}else{QC("body").add("fullscreen")}QV("body",true);center()}function showUserInterfaceSelectMenu(){Q("uiViewButton1").classList.remove("uiSelectorSel");Q("uiViewButton2").classList.remove("uiSelectorSel");Q("uiViewButton3").classList.remove("uiSelectorSel");try{Q("uiViewButton"+uiMode).classList.add("uiSelectorSel")}catch(a){}QV("uiMenu",(QS("uiMenu").display=="none"));if(nightMode){Q("uiViewButton4").classList.add("uiSelectorSel")}}function userInterfaceSelectMenu(a){if(a){uiMode=a;putstore("uiMode",uiMode)}webPageFullScreen=(uiMode<3);toggleFullScreen(0)}function toggleNightMode(){nightMode=!nightMode;if(nightMode){QC("body").add("night")}else{QC("body").remove("night")}putstore("_nightMode",(nightMode?"1":"0"))}function center(){if(webPageFullScreen==false){QS("centralTable")["margin-top"]=""}else{var a=((Q("column_l").clientHeight)/2)-220;if(a<0){a=0}QS("centralTable")["margin-top"]=a+"px"}}function messagebox(b,a){QH("id_dialogMessage",a);setDialogMode(1,b,1)}function statusbox(b,a){QH("id_dialogMessage",a);setDialogMode(1,b)}function getDocWidth(){if(window.innerWidth){return window.innerWidth}if(document.documentElement&&document.documentElement.clientWidth&&document.documentElement.clientWidth!=0){return document.documentElement.clientWidth}return document.getElementsByTagName("body")[0].clientWidth}function haltEvent(a){if(a.preventDefault){a.preventDefault()}if(a.stopPropagation){a.stopPropagation()}return false}function haltReturn(a){if(a.keyCode==13){haltEvent(a)}}function validateEmail(b){var a=/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;return a.test(b)}function putstore(b,c){try{if(typeof(localStorage)==="undefined"){return}localStorage.setItem(b,c)}catch(a){}}function getstore(b,d){try{if(typeof(localStorage)==="undefined"){return d}var c=localStorage.getItem(b);if((c==null)||(c==null)){return d}return c}catch(a){return d}}function u2fSupported(){return(window.u2f&&((navigator.userAgent.indexOf("Chrome/")>0)||(navigator.userAgent.indexOf("Firefox/")>0)||(navigator.userAgent.indexOf("Opera/")>0)||(navigator.userAgent.indexOf("Safari/")>0)))};</script></body></html> |