/*
 * Isomorphic SmartClient
 * Version v12.0p_2025-11-27 (2025-11-27)
 * Copyright(c) 1998 and beyond Isomorphic Software, Inc. All rights reserved.
 * "SmartClient" is a trademark of Isomorphic Software, Inc.
 *
 * licensing@smartclient.com
 *
 * http://smartclient.com/license
 */

var isc=window.isc?window.isc:{};if(window.isc&&!window.isc.module_History){isc.module_History=1;isc._moduleStart=isc._History_start=(isc.timestamp?isc.timestamp():new Date().getTime());if(isc._moduleEnd&&(!isc.Log||(isc.Log&&isc.Log.logIsDebugEnabled('loadTime')))){isc._pTM={message:'History load/parse time: '+(isc._moduleStart-isc._moduleEnd)+'ms',category:'loadTime'};if(isc.Log&&isc.Log.logDebug)isc.Log.logDebug(isc._pTM.message,'loadTime');else if(isc._preLog)isc._preLog[isc._preLog.length]=isc._pTM;else isc._preLog=[isc._pTM]}isc.definingFramework=true;if(!window.isc||typeof isc.Packager!="object"){var isc=window.isc?window.isc:{};isc.$d=new Date().getTime();isc.version="v12.0p_2025-11-27/LGPL Development Only";isc.versionNumber="v12.0p_2025-11-27";isc.buildDate="2025-11-27";isc.expirationDate="";isc.scVersion="12.0p";isc.scVersionNumber="12.0";isc.sgwtVersion="12.0p";isc.sgwtVersionNumber="12.0";isc.scParityStableVersionNumber="12.0";isc.sgwtParityStableVersionNumber="12.0";isc.licenseType="LGPL";isc.licenseCompany="Isomorphic Software";isc.licenseSerialNumber="ISC_LGPL_NIGHTLY";isc.licensingPage="http://smartclient.com/product/";isc.$1142="debugModules";isc.$1143="nonDebugModules";isc.checkForDebugAndNonDebugModules=function(){if(isc.checkForDebugAndNonDebugModules.$75z)return;var _1=isc['_'+this.$1142],_2=_1!=null&&_1.length>0,_3=isc['_'+this.$1143],_4=_3!=null&&_3.length>0;if(_2&&_4){isc.logWarn("Both Debug and non-Debug modules were loaded; the Debug versions of '"+_1.join("', '")+"' and the non-Debug versions of '"+_3.join("', '")+"' were loaded. Mixing Debug and non-Debug modules is not supported and may lead to JavaScript errors and/or unpredictable behavior. To fix, ensure that only modules in the modules/ folder or the modules-debug/ folder are loaded and clear the browser cache. If using Smart GWT, also clear the GWT unit cache and recompile.");isc.checkForDebugAndNonDebugModules.$75z=true}};isc.$41r={SCServer:{present:"false",name:"SmartClient Server",serverOnly:true,isPro:true},Drawing:{present:"true",name:"Drawing Module"},PluginBridges:{present:"true",name:"PluginBridges Module"},RichTextEditor:{present:"true",name:"RichTextEditor Module"},Calendar:{present:"true",name:"Calendar Module"},Analytics:{present:"false",name:"Analytics Module"},Charts:{present:"false",name:"Charts Module"},Tools:{present:"${includeTools}",name:"Dashboards and Tools Module"},NetworkPerformance:{present:"false",name:"Network Performance Module"},FileLoader:{present:"false",name:"Network Performance Module"},RealtimeMessaging:{present:"false",name:"RealtimeMessaging Module"},serverCriteria:{present:"false",name:"Server Advanced Filtering",serverOnly:true,isFeature:true},customSQL:{present:"false",name:"SQL Templating",serverOnly:true,isFeature:true},chaining:{present:"false",name:"Transaction Chaining",serverOnly:true,isFeature:true},batchDSGenerator:{present:"false",name:"Batch DS-Generator",serverOnly:true,isFeature:true},batchUploader:{present:"false",name:"Batch Uploader",serverOnly:true,isFeature:true},transactions:{present:"false",name:"Automatic Transaction Management",serverOnly:true,isFeature:true}};isc.canonicalizeModules=function(_1){if(!_1)return null;if(isc.isA.String(_1)){if(_1.indexOf(",")!=-1){_1=_1.split(",");var _2=/^\s+/,_3=/\s+$/;for(var i=0;i<_1.length;i++){_1[i]=_1[i].replace(_2,"").replace(_3,"")}}else _1=[_1]}
return _1};isc.hasOptionalModules=function(_1){if(!_1)return true;_1=isc.canonicalizeModules(_1);for(var i=0;i<_1.length;i++)if(!isc.hasOptionalModule(_1[i]))return false;return true};isc.getMissingModules=function(_1){var _2=[];_1=isc.canonicalizeModules(_1);for(var i=0;i<_1.length;i++){var _4=_1[i];if(!isc.hasOptionalModule(_4))_2.add(isc.$41r[_4])}
return _2};isc.hasOptionalModule=function(_1){var v=isc.$41r[_1];if(!v){if(isc.Log)isc.Log.logWarn("isc.hasOptionalModule - unknown module: "+_1);return false}
return v.present=="true"||v.present.charAt(0)=="$"};isc.getOptionalModule=function(_1){return isc.$41r[_1]};isc.$P5hy05Xgj7AN=function(_1){if(this.hasOptionalModule(_1))return;var _2=isc.$41r[_1];if(_2)_2.present=!!_1+""};isc.$a=window.isc_useSimpleNames;if(isc.$a==null)isc.$a=true;if(window.OpenAjax){isc.$b=isc.versionNumber.replace(/[a-zA-Z_]+/,".0");OpenAjax.registerLibrary("SmartClient","http://smartclient.com/SmartClient",isc.$b,{namespacedMode:!isc.$a,iscVersion:isc.version,buildDate:isc.buildDate,licenseType:isc.licenseType,licenseCompany:isc.licenseCompany,licenseSerialNumber:isc.licenseSerialNumber});OpenAjax.registerGlobals("SmartClient",["isc"])}
isc.$e=window.isc_useLongDOMIDs;isc.$f="isc.";isc.addGlobal=function(_1,_2){if(_1.indexOf(isc.$f)==0)_1=_1.substring(4);isc[_1]=_2;if(isc.$a)window[_1]=_2}
isc.onLine=true;isc.isOffline=function(){return!isc.onLine};isc.goOffline=function(){isc.onLine=false};isc.goOnline=function(){isc.onLine=true};if(window.addEventListener){window.addEventListener("online",isc.goOnline,false);window.addEventListener("offline",isc.goOffline,false)}}
if(typeof isc.Browser!="object"){isc.addGlobal("Browser",{isSupported:false,$102q:function(_1,_2){if(!_1){_2="assertion failed"+(_2?" with message: '"+_2+"'":"");if(isc.logWarn){isc.logWarn(_2+". Stack trace:"+isc.Class.getStackTrace())}else if(console){console.log(_2);console.trace()}}}});isc.Browser.isGoogleBot=navigator.userAgent.indexOf("Googlebot/")!=-1;isc.Browser.isBingBot=navigator.userAgent.indexOf("bingbot/")!=-1;isc.Browser.isDuckDuckBot=navigator.userAgent.indexOf("DuckDuckBot/")!=-1;isc.Browser.isYahooBot=navigator.userAgent.indexOf("Slurp;")!=-1;isc.Browser.isBaiduBot=navigator.userAgent.indexOf("Baiduspider")!=-1;isc.Browser.isYandexBot=navigator.userAgent.indexOf("YandexBot/")!=-1;isc.Browser.isBot=isc.Browser.isGoogleBot||isc.Browser.isBingBot||isc.Browser.isDuckDuckBot||isc.Browser.isYahooBot||isc.Browser.isBaiduBot||isc.Browser.isYandexBot;isc.Browser.isOpera=(navigator.appName=="Opera"||navigator.userAgent.indexOf("Opera")!=-1);isc.Browser.isNS=(navigator.appName=="Netscape"&&!isc.Browser.isOpera);isc.Browser.isIE=(navigator.appName=="Microsoft Internet Explorer"&&!isc.Browser.isOpera)||navigator.userAgent.indexOf("Trident/")!=-1;isc.Browser.isMSN=(isc.Browser.isIE&&navigator.userAgent.indexOf("MSN")!=-1);isc.Browser.isMoz=(navigator.userAgent.indexOf("Gecko")!=-1)&&(navigator.userAgent.indexOf("Safari")==-1)&&(navigator.userAgent.indexOf("AppleWebKit")==-1)&&!isc.Browser.isIE;isc.Browser.isCamino=(isc.Browser.isMoz&&navigator.userAgent.indexOf("Camino/")!=-1);isc.Browser.isFirefox=(isc.Browser.isMoz&&navigator.userAgent.indexOf("Firefox/")!=-1);isc.Browser.isAIR=(navigator.userAgent.indexOf("AdobeAIR")!=-1);isc.Browser.isWebKit=navigator.userAgent.indexOf("WebKit")!=-1;isc.Browser.isSafari=isc.Browser.isAIR||navigator.userAgent.indexOf("Safari")!=-1||navigator.userAgent.indexOf("AppleWebKit")!=-1||isc.Browser.isGoogleBot;isc.Browser.isEdge=isc.Browser.isSafari&&(navigator.userAgent.indexOf("Edge/")!=-1);isc.Browser.isChrome=(isc.Browser.isSafari&&!isc.Browser.isEdge&&(navigator.userAgent.indexOf("Chrome/")!=-1))||isc.Browser.isGoogleBot;isc.Browser.isSafariStrict=isc.Browser.isSafari&&!isc.Browser.isAIR&&!isc.Browser.isEdge&&!isc.Browser.isChrome;if(!isc.Browser.isIE&&!isc.Browser.isOpera&&!isc.Browser.isMoz&&!isc.Browser.isAIR&&!isc.Browser.isWebkit&&!isc.Browser.isSafari)
{if(navigator.appVersion.indexOf("MSIE")!=-1){isc.Browser.isIE=true}}
isc.Browser.isChromeOS=navigator.userAgent.indexOf("CrOS x86_64")!=-1;if(navigator.userAgent.indexOf("Trident/")>=0&&navigator.userAgent.lastIndexOf("rv:")>=0)
{isc.Browser.minorVersion=parseFloat(navigator.userAgent.substring(navigator.userAgent.lastIndexOf("rv:")+"rv:".length))}else{isc.Browser.minorVersion=parseFloat(isc.Browser.isIE?navigator.appVersion.substring(navigator.appVersion.indexOf("MSIE")+5):navigator.appVersion)}
if(isc.Browser.isIE){if(document.documentMode!=null){isc.Browser.minorVersion=Math.max(isc.Browser.minorVersion,document.documentMode)}}else(function(){if(isc.Browser.isGoogleBot){isc.Browser.minorVersion=41;return}
var _1,_2;if(navigator.appVersion){_1="Version/";_2=navigator.appVersion.indexOf(_1);if(_2>=0){isc.Browser.minorVersion=parseFloat(navigator.appVersion.substring(_2+_1.length));return}}
var _3=navigator.userAgent;_1="Chrome/";_2=_3.indexOf(_1);if(_2>=0){isc.Browser.minorVersion=parseFloat(_3.substring(_2+_1.length));return}
_1="Camino/";_2=_3.indexOf(_1);if(_2>=0){isc.Browser.minorVersion=parseFloat(_3.substring(_2+_1.length));return}
_1="Firefox/";_2=_3.indexOf(_1);if(_2>=0){isc.Browser.minorVersion=parseFloat(_3.substring(_2+_1.length));return}
if(_3.indexOf("Opera/")>=0){_1="Version/";_2=_3.indexOf(_1);if(_2>=0){isc.Browser.minorVersion=parseFloat(_3.substring(_2+_1.length));return}else{_1="Opera/";_2=_3.indexOf(_1);isc.Browser.minorVersion=parseFloat(_3.substring(_2+_1.length));return}}})();isc.Browser.version=parseInt(isc.Browser.minorVersion);isc.Browser.isIE6=isc.Browser.isIE&&isc.Browser.version<=6;isc.Browser.supportsHTML5Audio=(document.createElement("audio")!=null)?"play":null;if(isc.Browser.isCamino){isc.Browser.caminoVersion=navigator.userAgent.substring(navigator.userAgent.indexOf("Camino/")+7)}
if(isc.Browser.isFirefox){var userAgent=navigator.userAgent,firefoxVersion=userAgent.substring(userAgent.indexOf("Firefox/")+8),majorMinorVersion=firefoxVersion.replace(/([^.]+\.[^.]+)\..*/,"$1");isc.Browser.firefoxVersion=firefoxVersion;isc.Browser.firefoxMajorMinorNumber=parseFloat(majorMinorVersion)}
if(isc.Browser.isMoz){isc.Browser.$g=navigator.userAgent.indexOf("Gecko/")+6;isc.Browser.geckoVersion=parseInt(navigator.userAgent.substring(isc.Browser.$g,isc.Browser.$g+8));if(isc.Browser.isFirefox){if(isc.Browser.firefoxVersion.match(/^1\.0/))isc.Browser.geckoVersion=20050915;else if(isc.Browser.firefoxVersion.match(/^2\.0/))isc.Browser.geckoVersion=20071108}
if(isc.Browser.version>=17)isc.Browser.geckoVersion=20121121}
isc.Browser.isStrict=document.compatMode=="CSS1Compat";if(isc.Browser.isStrict&&isc.Browser.isMoz){isc.Browser.$51p=document.doctype.publicId;isc.Browser.$51q=document.doctype.systemId}
isc.Browser.isTransitional=/.*(Transitional|Frameset)/.test((document.all&&document.all[0]&&document.all[0].nodeValue)||(document.doctype&&document.doctype.publicId));isc.Browser.isIE7=isc.Browser.isIE&&isc.Browser.version==7;isc.Browser.isIE8=isc.Browser.isIE&&isc.Browser.version>=8&&document.documentMode==8;isc.Browser.isIE8Strict=isc.Browser.isIE&&(isc.Browser.isStrict&&document.documentMode==8)||document.documentMode>8;isc.Browser.isIE9=isc.Browser.isIE&&isc.Browser.version>=9&&document.documentMode>=9;isc.Browser.isIE10=isc.Browser.isIE&&isc.Browser.version>=10;isc.Browser.isIE11=isc.Browser.isIE&&isc.Browser.version>=11;isc.Browser.AIRVersion=(isc.Browser.isAIR?navigator.userAgent.substring(navigator.userAgent.indexOf("AdobeAir/")+9):null);if(isc.Browser.isSafari){if(isc.Browser.isAIR){isc.Browser.safariVersion=530}else{if(navigator.userAgent.indexOf("Safari/")!=-1){isc.Browser.rawSafariVersion=navigator.userAgent.substring(navigator.userAgent.indexOf("Safari/")+7)}else if(navigator.userAgent.indexOf("AppleWebKit/")!=-1){isc.Browser.rawSafariVersion=navigator.userAgent.substring(navigator.userAgent.indexOf("AppleWebKit/")+12)}else{isc.Browser.rawSafariVersion="530"}
isc.Browser.safariVersion=(function(){var _1=isc.Browser.rawSafariVersion,_2=_1.indexOf(".");if(_2==-1)return parseInt(_1);var _3=_1.substring(0,_2+1),_4;while(_2!=-1){_2+=1;_4=_1.indexOf(".",_2);_3+=_1.substring(_2,(_4==-1?_1.length:_4));_2=_4}
return parseFloat(_3)})()}}
isc.Browser.isWin=navigator.platform.toLowerCase().indexOf("win")>-1;if(isc.Browser.isWin){isc.Browser.winVersion=function(){var _1=navigator.userAgent.match(/Windows NT[ ]*([0-9.]+)[^0-9.]/i);if(_1)return parseFloat(_1[1])}()}
isc.Browser.isWin2k=isc.Browser.winVersion>=5.0&&isc.Browser.winVersion<5.1;isc.Browser.isMac=navigator.platform.toLowerCase().indexOf("mac")>-1;isc.Browser.isUnix=(!isc.Browser.isMac&&!isc.Browser.isWin);isc.Browser.isAndroid=navigator.userAgent.indexOf("Android")>-1;if(isc.Browser.isAndroid){var pos=navigator.userAgent.indexOf("Android");if(pos>=0){isc.Browser.androidMinorVersion=parseFloat(navigator.userAgent.substring(pos+"Android".length));if(window.isNaN(isc.Browser.androidMinorVersion))delete isc.Browser.androidMinorVersion}
isc.Browser.isAndroidWebView=navigator.userAgent.indexOf("Version/")>=0}
isc.Browser.isRIM=isc.Browser.isBlackBerry=navigator.userAgent.indexOf("BlackBerry")>-1||navigator.userAgent.indexOf("PlayBook")>-1;isc.Browser.isMobileIE=navigator.userAgent.indexOf("IEMobile")>-1;isc.Browser.isMobileFirefox=isc.Browser.isFirefox&&(navigator.userAgent.indexOf("Mobile")>-1||navigator.userAgent.indexOf("Tablet")>-1);isc.Browser.isMobileWebkit=(isc.Browser.isSafari&&(navigator.userAgent.indexOf(" Mobile/")>-1||navigator.userAgent.indexOf("(iPad")>-1)||isc.Browser.isAndroid||isc.Browser.isBlackBerry)&&!isc.Browser.isFirefox;isc.Browser.isMobileWebkitDesktopMode=isc.Browser.isSafari&&navigator.platform=="MacIntel"&&navigator.maxTouchPoints>0;if(window.isc_ignoreMobileSafariDesktopMode!==false&&isc.Browser.isMobileWebkitDesktopMode){isc.Browser.isMobileWebkit=true}
isc.Browser.isMobile=(isc.Browser.isMobileFirefox||isc.Browser.isMobileIE||isc.Browser.isMobileWebkit);isc.Browser.supportsDualInput=window.isc_useDualInput!=false&&(isc.Browser.isWin&&isc.Browser.winVersion>=6.2||isc.Browser.isChromeOS)&&(isc.Browser.isMoz||((isc.Browser.isChrome||isc.Browser.isIE11||isc.Browser.isEdge)&&navigator.maxTouchPoints>0));isc.Browser.$195s=isc.Browser.supportsDualInput&&(isc.Browser.isIE11||isc.Browser.isEdge);isc.Browser.$195t=isc.Browser.$195s&&window.isc_useNativeTouchScrolling==false;isc.Browser.$222v=(isc.Browser.isMobileFirefox||isc.Browser.isMobileIE||isc.Browser.isMobileWebkit);isc.Browser.isTouch=isc.Browser.isWin||isc.Browser.isChromeOS?isc.Browser.$222v||(isc.Browser.supportsDualInput&&!!window.isc_useDualInput):(('ontouchstart'in window)||(navigator.maxTouchPoints!=null&&navigator.maxTouchPoints>0));isc.Browser.setIsTouch=function(_1){var _2=this;_1=_2.isTouch=!!_1;if(_2.isDesktop){_2.isHandset=false;_2.isTablet=false}else{_2.isHandset=_1&&!_2.isTablet;_2.isTablet=!_2.isHandset}
_2.hasNativeDrag=!_1&&"draggable"in document.documentElement&&!(_2.isIE||_2.isEdge);_2.nativeMouseMoveOnCanvasScroll=!_1&&(_2.isSafari||_2.isChrome)};isc.Browser.pointerEnabled=window.PointerEvent!=null&&navigator.pointerEnabled!=false&&navigator.msPointerEnabled!=false&&(isc.Browser.isIE||isc.Browser.isEdge)&&!isc.Browser.isMobileIE;isc.Browser.hasDualInput=!!window.isc_useDualInput;isc.Browser.setHasDualInput=function(){if(this.hasDualInput==true)return;if(isc.logInfo){isc.logInfo("Switching to dual input mode to handle touch events")}
this.setIsTouch(true);this.hasDualInput=true;if(isc.Canvas){isc.Canvas.addProperties({overflowStyle:"none",$1399:isc.Browser.$1398()})}
if(isc.ListGrid){isc.ListGrid.addProperties({showRollOver:false,handleMouseMove:function(_1,_2){return this.$194u(_1,_2)}})}}
isc.Browser.isIPhone=(isc.Browser.isMobileWebkit&&(navigator.userAgent.indexOf("iPhone")>-1||navigator.userAgent.indexOf("iPad")>-1));if(isc.Browser.isIPhone){var match=navigator.userAgent.match(/CPU\s+(?:iPhone\s+)?OS\s*([0-9_]+)/i);if(match!=null){isc.Browser.iOSMinorVersion=window.parseFloat(match[1].replace('_','.'));isc.Browser.iOSVersion=isc.Browser.iOSMinorVersion<<0}
isc.Browser.isUIWebView=navigator.userAgent.indexOf("Safari")<0;isc.Browser.isMobileSafari=!isc.Browser.isUIWebView&&navigator.userAgent.indexOf("CriOS/")<0;isc.Browser.isIOSChrome=navigator.userAgent.indexOf("CriOS/")>=0;isc.Browser.isIOSFirefox=navigator.userAgent.indexOf("FxiOS/")>=0}
isc.Browser.isIPad=(isc.Browser.isIPhone&&navigator.userAgent.indexOf("iPad")>-1);if(window.isc_ignoreMobileSafariDesktopMode!==false&&isc.Browser.isMobileWebkitDesktopMode){isc.Browser.isIPhone=true;isc.Browser.isMobileSafari=true;isc.Browser.isIPad=true}
isc.Browser.isWindowsPhone=navigator.userAgent.indexOf("Windows Phone")>-1;if(isc.Browser.isIPad&&isc.Browser.isMobileSafari&&isc.Browser.iOSVersion==7){var iOS7IPadStyleSheetID="isc_iOS7IPadStyleSheet";if(document.getElementById(iOS7IPadStyleSheetID)==null){var styleElement=document.createElement("style");styleElement.id=iOS7IPadStyleSheetID;document.head.appendChild(styleElement);var s=styleElement.sheet;s.insertRule("\n@media (orientation:landscape) {\nhtml {position: fixed;bottom: 0px;width: 100%;height: 672px;}body {position: fixed;top: 0px;margin: 0px;padding: 0px;width: 100%;height: 672px;}\n}\n",0)}
(function(){var _1=function(_7){if(_7==null)return false;var _2=_7.tagName;return(_2==="INPUT"||_2==="SELECT"||_2==="TEXTAREA")};var _3=null;window.addEventListener("scroll",function(){if(document.body==null)return;var _4=document.body.scrollTop;if(_4==0)return;var _5=document.activeElement;if(_1(_5)){var _6=function onBlur(_7){_5.removeEventListener("blur",_6,true);if(_3!=null)clearTimeout(_3);_3=setTimeout(function(){_3=null;_5=document.activeElement;if(_5!==_7.target&&_1(_5)){_5.addEventListener("blur",_6,true)}else{document.body.scrollTop=0}},1)};_5.addEventListener("blur",_6,true)}else{document.body.scrollTop=0}},false)})()}
if(window.isc_isTablet!=null){isc.Browser.isTablet=!!window.isc_isTablet}else{isc.Browser.isTablet=isc.Browser.isIPad||(isc.Browser.isRIM&&navigator.userAgent.indexOf("Tablet")>-1)||(isc.Browser.isAndroid&&navigator.userAgent.indexOf("Mobile")==-1)}
isc.Browser.$138e=isc.Browser.isTablet;isc.Browser.setIsTablet=function(_1){_1=isc.Browser.isTablet=!!_1;isc.Browser.isHandset=(isc.Browser.isTouch&&!isc.Browser.isTablet);isc.Browser.isDesktop=(!isc.Browser.isTablet&&!isc.Browser.isHandset)};isc.Browser.isHandset=(isc.Browser.$222v&&!isc.Browser.isTablet);isc.Browser.setIsHandset=function(_1){_1=isc.Browser.isHandset=!!_1;isc.Browser.isTablet=(isc.Browser.isTouch&&!isc.Browser.isHandset);isc.Browser.isDesktop=(!isc.Browser.isTablet&&!isc.Browser.isHandset)};isc.Browser.isDesktop=(!isc.Browser.isTablet&&!isc.Browser.isHandset);isc.Browser.setIsDesktop=function(_1){_1=isc.Browser.isDesktop=!!_1;if(_1){isc.Browser.isHandset=false;isc.Browser.isTablet=false}else{isc.Browser.isTablet=isc.Browser.$138e;isc.Browser.isHandset=!isc.Browser.isTablet}};isc.Browser.isBorderBox=(isc.Browser.isIE&&!isc.Browser.isStrict);isc.Browser.lineFeed=(isc.Browser.isWin?"\r\n":"\n");isc.Browser.$h=false;isc.Browser.isDOM=(isc.Browser.isMoz||isc.Browser.isOpera||isc.Browser.isSafari||(isc.Browser.isIE&&isc.Browser.version>=5));isc.Browser.isSupported=((isc.Browser.isIE&&isc.Browser.minorVersion>=5.5&&isc.Browser.isWin)||isc.Browser.isMoz||isc.Browser.isOpera||isc.Browser.isSafari||isc.Browser.isAIR);isc.Browser.nativeMouseMoveOnCanvasScroll=!isc.Browser.isTouch&&(isc.Browser.isSafari||isc.Browser.isChrome);isc.Browser.seleniumPresent=(function(){var _1=location.href.match(/[?&](?:sc_selenium)=([^&#]*)/);return _1&&_1.length>1&&"true"==_1[1]})();if(isc.Browser.isSafariStrict){isc.Browser.$199a={vertical_ltr:"vertical-rl;",vertical_rtl:"vertical-lr;",rotate_ltr:true,rotate_rtl:true,horizontal:"horizontal-tb;"}}else if(isc.Browser.isEdge){isc.Browser.$199a={vertical_ltr:"tb-rl;",vertical_rtl:"tb;",rotate_ltr:true,rotate_rtl:true,horizontal:"unset;"}}else{isc.Browser.$199a={vertical_ltr:"tb-rl;",vertical_rtl:"tb;",rotate_ltr:true,rotate_rtl:true,horizontal:"lr;"}}
isc.Browser.SHOWCASE="showcase";isc.Browser.SELENESE="selenese";isc.Browser.RUNNER="runner";isc.Browser.autotest=(function(){var _1=location.href.match(/[?&](?:autotest)=([^&#]*)/);return _1&&_1.length>1?_1[1]:null})();isc.Browser.allowsXSXHR=((isc.Browser.isFirefox&&isc.Browser.firefoxMajorMinorNumber>=3.5)||(isc.Browser.isChrome)||(isc.Browser.isSafari&&isc.Browser.safariVersion>=531));var isc_useGradientsPreIE9=window.isc_useGradientsPreIE9;isc.Browser.useCSSFilters=!isc.Browser.isIE||isc.Browser.isIE9||isc_useGradientsPreIE9!=false;var isc_css3Mode=window.isc_css3Mode;if(isc_css3Mode=="on"){isc.Browser.useCSS3=true}else if(isc_css3Mode=="off"){isc.Browser.useCSS3=false}else if(isc_css3Mode=="supported"||isc_css3Mode=="partialSupport"||(typeof isc_css3Mode)==="undefined")
{isc.Browser.useCSS3=isc.Browser.isWebKit||isc.Browser.isFirefox||(isc.Browser.isIE&&(isc.Browser.isIE9||isc.Browser.version>=10))}else{isc.Browser.useCSS3=false}
var isc_spriting=window.isc_spriting;if(isc_spriting=="off"){isc.Browser.useSpriting=false}else{isc.Browser.useSpriting=(!isc.Browser.isIE||isc.Browser.version>=7)}
isc.Browser.useInsertAdjacentHTML=!!document.documentElement.insertAdjacentHTML;isc.Browser.supportsFlatSkins=isc.Browser.useCSS3&&isc.Browser.useSpriting;isc.Browser.defaultSkin=isc.Browser.supportsFlatSkins?"Tahoe":"Enterprise";isc.Browser.defaultFontIncrease=isc.Browser.seleniumPresent?0:(isc.Browser.supportsFlatSkins?3:1);isc.Browser.defaultSizeIncrease=isc.Browser.seleniumPresent?0:(isc.Browser.supportsFlatSkins?10:2);isc.Browser.useInsertAdjacentHTMLForSVG=(function(){if(!!document.createElementNS){var _1=document.createElementNS("http://www.w3.org/2000/svg","g");if((typeof _1.insertAdjacentHTML)==="function"){try{_1.insertAdjacentHTML("beforeend","<rect/><ellipse/>");return(_1.childNodes.length==2&&_1.childNodes[1].namespaceURI==="http://www.w3.org/2000/svg")}catch(e){}}}
return false})();isc.Browser.hasNativeGetRect=(!isc.Browser.isIE&&(!isc.Browser.isSafari||!isc.Browser.isMac||isc.Browser.version>=6)&&!!document.createRange&&!!(document.createRange().getBoundingClientRect));isc.Browser.useClipDiv=(isc.Browser.isMoz||isc.Browser.isSafari||isc.Browser.isOpera);isc.Browser.$113k=!((isc.Browser.isIE&&isc.Browser.version<10&&!isc.Browser.isIE9)||(isc.Browser.isWebKit&&!(parseFloat(isc.Browser.rawSafariVersion)>=532.3)));isc.Browser.hasTextOverflowEllipsis=(!isc.Browser.isMoz||isc.Browser.version>=7)&&(!isc.Browser.isOpera||isc.Browser.version>=9);isc.Browser.$114w=(!isc.Browser.isOpera||isc.Browser.version>=11?"text-overflow":"-o-text-overflow");isc.Browser.$117b=!isc.Browser.isSafari||isc.Browser.version>=4;isc.Browser.$120b=("pointerEvents"in document.documentElement.style&&!isc.Browser.isOpera&&(!isc.Browser.isIE||isc.Browser.version>=11));isc.Browser.hasNativeDrag=!isc.Browser.isTouch&&"draggable"in document.documentElement&&!(isc.Browser.isIE||isc.Browser.isEdge);isc.Browser.$120h=!!(window.getSelection&&document.createRange&&window.Range);isc.Browser.$162h=isc.Browser.$120h&&!!document.createRange().createContextualFragment;isc.Browser.$162i=((isc.Browser.isMoz&&isc.Browser.version>=36)||(isc.Browser.isChrome&&isc.Browser.version>=42));isc.Browser.$124v="backgroundSize"in document.documentElement.style;isc.Browser.$139c=(("transition"in document.documentElement.style||"WebkitTransition"in document.documentElement.style||"OTransition"in document.documentElement.style)&&(!isc.Browser.isMoz||(!isc.Browser.isTouch&&isc.Browser.version>=34)));isc.Browser.$139y=("WebkitTransition"in document.documentElement.style?"webkitTransitionEnd":("OTransition"in document.documentElement.style?(isc.Browser.isOpera&&isc.Browser.version>=12?"otransitionend":"oTransitionEnd"):"transitionend"));isc.Browser.$1398=function(){if(window.isc_useNativeTouchScrolling==false)return false;return this.isTouch&&(!this.isMoz||!this.isWin)&&(!(this.isIPhone||this.isIPad)||this.iOSVersion>=6)};isc.Browser.$1395=isc.Browser.iOSVersion>=6&&("webkitOverflowScrolling"in document.documentElement.style);isc.Browser.$141c=(function(){var _1=document.createElement("canvas");if(_1.getContext!=null){var _2=_1.getContext("2d");return!!_2.isPointInStroke}
return false})();isc.Browser.$145h=("contains"in document.documentElement);if(!isc.Browser.$145h&&window.Node!=null){Node.prototype.contains=function(_1){for(;_1!=null;_1=_1.parentNode){if(this===_1)return true}
return false}}
isc.Browser.$152d=(isc.Browser.isIPhone&&!isc.Browser.isIPad&&isc.Browser.isMobileSafari&&7.1==isc.Browser.iOSMinorVersion);isc.Browser.$16ab=(!!document.createElementNS&&"parentElement"in document.createElementNS("http://www.w3.org/2000/svg","svg"));if(!isc.Browser.$16ab&&window.SVGElement!=null&&Object.defineProperty){Object.defineProperty(SVGElement.prototype,"parentElement",{enumerable:true,"get":function(){var _1=this.parentNode;while(_1!=null&&_1.nodeType!=1){_1=_1.parentNode}
return _1}})}
isc.Browser.$1689=(!!document.createElementNS&&"contains"in document.createElementNS("http://www.w3.org/2000/svg","svg"));if(!isc.Browser.$1689&&window.SVGElement!=null){SVGElement.prototype.contains=function(_1){for(;_1!=null;_1=_1.parentNode){if(this===_1)return true}
return false}}
isc.Browser.$1560=("placeholder"in document.createElement("input")&&"placeholder"in document.createElement("textarea"));isc.Browser.$158n=isc.Browser.isMobileWebkit&&"webkitMaskBoxImage"in document.documentElement.style;isc.Browser.$162m=(window.screen!=null&&"orientation"in screen&&"type"in screen.orientation);isc.Browser.$165v=(!isc.Browser.isSafari&&!isc.Browser.isChrome&&!!document.createElementNS&&"getIntersectionList"in document.createElementNS("http://www.w3.org/2000/svg","svg")&&"createSVGRect"in document.createElementNS("http://www.w3.org/2000/svg","svg"));isc.Browser.$1691=(window.JSON!=null&&typeof window.JSON.parse==="function"&&typeof window.JSON.stringify==="function"&&window.JSON.stringify("\u0013")==="\"\\u0013\"");isc.Browser.canUseAggressiveGridTimings=!isc.Browser.isAndroid;isc.Browser.useHighPerformanceGridTimings=window.isc_useHighPerformanceGridTimings==null?isc.Browser.canUseAggressiveGridTimings:window.isc_useHighPerformanceGridTimings&&isc.Browser.canUseAggressiveGridTimings;isc.Browser.$191d=isc.Browser.isMoz||(isc.Browser.isSafari&&isc.Browser.isStrict)||(isc.Browser.isIE&&isc.Browser.version>=9&&isc.Browser.isStrict)}
if(isc.addProperties==null){isc.addGlobal("addProperties",function(_1,_2){for(var _3 in _2)
_1[_3]=_2[_3];return _1})}
isc.addGlobal("evalSA",function(_1){if(isc.eval)isc.eval(_1);else eval(_1)});isc.addGlobal("defineStandaloneClass",function(_1,_2){if(isc[_1]){if(_1=="FileLoader"&&isc.FileLoader.$139n){isc[_1]=null}else{return}}
isc.addGlobal(_1,_2);isc.addProperties(_2,{$i:_1,fireSimpleCallback:function(_6){_6.method.apply(_6.target?_6.target:window,_6.args?_6.args:[])},logMessage:function(_6,_7,_8){if(isc.Log){isc.Log.logMessage(_6,_7,_8);return}
if(!isc.$j)isc.$j=[];isc.$j[isc.$j.length]={priority:_6,message:_7,category:_8,timestamp:new Date()}},logError:function(_6){this.logMessage(2,_6,this.$i)},logWarn:function(_6){this.logMessage(3,_6,this.$i)},logInfo:function(_6){this.logMessage(4,_6,this.$i)},logDebug:function(_6){this.logMessage(5,_6,this.$i)},$102q:function(_6,_7){if(!_6){throw(_7||"assertion failed")}},isAString:function(_6){if(isc.isA)return isc.isA.String(_6);return typeof _6=="string"},isAnArray:function(_6){if(isc.isA)return isc.isAn.Array(_6);return typeof _6=="array"},$ez:new RegExp("'","g"),$e0:new RegExp("\"","g"),$138c:function(_6,_7){if(!this.isAString(_6))_6=String(_6);var _3=_7?this.$ez:this.$e0,_4=_7?"'":'"';return _4+_6.replace(/\\/g,"\\\\").replace(_3,'\\'+_4).replace(/\t/g,"\\t").replace(/\r/g,"\\r").replace(/\n/g,"\\n").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")+_4},$138j:function(_6,_7){if(!this.isAString(_6))_6=String(_6);var s=_6.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/(\r\n|\r|\n) /g,"<BR>&nbsp;").replace(/(\r\n|\r|\n)/g,"<BR>").replace(/\t/g,"&nbsp;&nbsp;&nbsp;&nbsp;");return(_7?s.replace(/ /g,"&nbsp;"):s.replace(/  /g," &nbsp;"))}});_2.isAn=_2.isA;return _2});isc.defineStandaloneClass("SA_Page",{$l:(isc.Page&&isc.Page.isLoaded())||false,$m:[],isLoaded:function(){return this.$l},onLoad:function(_1,_2,_3){this.$m.push({method:_1,target:_2,args:_3});if(!this.$n){this.$n=true;if((isc.Browser.isIE&&isc.Browser.version<11)||isc.Browser.isOpera){window.attachEvent("onload",function(){isc.SA_Page.$o()})}else{window.addEventListener("load",function(){isc.SA_Page.$o()},true)}}},$o:function(){if(!window.isc||this.$l)return;this.$l=true;for(var i=0;i<this.$m.length;i++){var _2=this.$m[i];this.fireSimpleCallback(_2)}
delete this.$m}});if(!isc.SA_Page.isLoaded()){isc.SA_Page.onLoad(function(){this.$l=true},isc.SA_Page)}
isc.defineStandaloneClass("History",{$138g:[],$138h:1,registerCallback:function(_1,_2,_3){if(_1==null){if(!_3)this.unregisterCallback(0);return-1}
var _4;if(_3){_4=this.$138h++}else{this.unregisterCallback(0);_4=0}
var r={callback:_1,requiresData:!!_2,ID:_4};if(_3){this.$138g[this.$138g.length]=r}else{this.$138g.unshift(r)}
return _4},unregisterCallback:function(_1){var _2;var _3=this.$138g;for(_2=0;_2<_3.length;++_2){var r=_3[_2];if(r.ID==_1)break}
if(_2>=_3.length)return false;_3.splice(_2,1);return true},getCurrentHistoryId:function(){var _1=this.$r(location.href);if(_1=="$69i")return null;return _1},getHistoryData:function(_1){return this.historyState?this.historyState.data[_1]:null},setHistoryTitle:function(_1){this.historyTitle=_1},$138m:false,addHistoryEntry:function(_1,_2,_3){this.logDebug("addHistoryEntry: id="+_1+" data="+(isc.echoAll?isc.echoAll(_3):String(_3)));if(_1==null)_1="";if(isc.Browser.isSafari&&isc.Browser.safariVersion<500){return}
if(!isc.SA_Page.isLoaded()){this.logWarn("You must wait until the page has loaded before calling isc.History.addHistoryEntry()");return}
var _4=this.$ab;var _5;if(_3===_5)_3=null;if(_4==_1){if(this.historyState.data.hasOwnProperty(_1)){this.historyState.data[_1]=_3;this.$s()}
return}
if(this.$138m){this.logError("History.addHistoryEntry() cannot be called with different IDs in the same thread. In the current thread of execution, addHistoryEntry() was previously called with id:'"+this.historyState.stack[this.historyState.stack.length-1]+"', but an attempt was made to add a history entry with id:'"+_1+"'. Only the first history entry will be added.");return}
while(this.historyState.stack.length){var _6=this.historyState.stack.pop();if(_6==_4){this.historyState.stack.push(_6);break}
delete this.historyState.data[_6]}
this.historyState.stack[this.historyState.stack.length]=_1;this.historyState.data[_1]=_3;this.$s();if(this.usePushState){if(this.pushStateMode=="queryParam"&&this.$197m&&location.hash){window.history.replaceState({historyId:decodeURI(location.hash.substring(1))},'')}
window.history.pushState({historyId:_1},'',this.$u(location.href,_1))}else{if(isc.Browser.isIE){if(_1!=null&&document.getElementById(_1)!=null){this.logWarn("Warning - attempt to add synthetic history entry with id that conflicts with an existing DOM element node ID - this is known to break in IE")}
if(_4==null){var _7=location.href;var _8=document.getElementsByTagName("title");if(_8.length)_7=_8[0].innerHTML;this.$t("$69i",_7)}
this.$t(_1,_2)}else{location.href=this.$u(location.href,_1)}}
this.$v=location.href;if(isc.EH){isc.EH.$ms(this.$138n)}else{setTimeout(this.$138n,0)}
this.$138m=true;this.$ab=_1},$138n:function(){if(isc.History.$138m){isc.History.$138m=false}},readyForAnotherHistoryEntry:function(){return!this.$138m},$t:function(_1,_2){this.$w=true;var _3=this.$138c(_1);_2=(_2!=null?_2:(this.historyTitle!=null?this.historyTitle:_1));var _4="<HTML><HEAD><TITLE>"+(_2==null?"":this.$138j(_2))+"</TITLE></HEAD><BODY><SCRIPT>var pwin = window.parent;if (pwin && pwin.isc)pwin.isc.History.historyCallback(window, "+_3.replace(/<\/script\s*>/gi,"</\"+\"script>")+");</SCRIPT></BODY></HTML>";var _5=this.$x.contentWindow;_5.document.open();_5.document.write(_4);_5.document.close()},haveHistoryState:function(_1){if(isc.Browser.isIE&&!isc.SA_Page.isLoaded()){this.logWarn("haveHistoryState() called before pageLoad - this always returns false in IE because state information is not available before pageLoad")}
var _2;return this.historyState&&this.historyState.data[_1]!==_2},$y:function(){return window.isomorphicDir?window.isomorphicDir:"../isomorphic/"},usePushState:window.history!=null&&window.history.pushState!=null&&window.isc_history_usePushState!==false,pushStateMode:"hashFragment",pushStateQueryParamName:"hid",$z:function(){this.logInfo("History initializing");if(this.$0)return;this.$0=true;if(isc.Browser.isSafari&&isc.Browser.safariVersion<500)return;var _1="<form style='position:absolute;top:-1000px' id='isc_historyForm'><textarea id='isc_historyField' style='display:none'></textarea></form>";document.write(_1);if(isc.Browser.isIE){var _2="<iframe id='isc_historyFrame' src='"+this.getBlankFrameURL()+"' style='position:absolute;visibility:hidden;top:-1000px'></iframe>";document.write(_2);this.$x=document.getElementById('isc_historyFrame');document.write("<span id='isc_history_buffer_marker' style='display:none'></span>")}
if(isc.Browser.isIE){isc.SA_Page.onLoad(function(){this.$1()},this)}else{this.$1()}
if(this.usePushState){this.$178w=location.href;window.onpopstate=function(_4){if(!_4.state)return;isc.History.$8(_4.state.historyId)}
if(this.pushStateMode=="hashFragment"&&!isc.Browser.isIE){window.onhashchange=function(_4){if(_4.newURL&&_4.newURL.indexOf("#")!=-1){var _3=decodeURIComponent(_4.newURL.substring(_4.newURL.indexOf("#")+1));isc.History.$8(_3)}else{isc.History.logWarn("Unable to fire history callback onhashchange from: "+_4.oldURL+" to: "+_4.newURL+"  - reason: no hash in newURL")}}
this.$197m=true}}},getBlankFrameURL:function(){if(isc.Page)return isc.Page.getBlankFrameURL();if(isc.Browser.isIE&&("https:"==window.location.protocol||document.domain!=location.hostname))
{var _1,_2=window.isomorphicDir;if(_2&&(_2.indexOf("/")==0||_2.indexOf("http")==0))
{_1=_2}else{_1=window.location.href;if(_1.charAt(_1.length-1)!="/"){_1=_1.substring(0,_1.lastIndexOf("/")+1)}
_1+=(_2==null?"../isomorphic/":_2)}
_1+="system/helpers/empty.html";return _1}
return"about:blank"},$2:function(){var _1=document.getElementById("isc_historyField");return _1?_1.value:null},$3:function(_1){var _2=document.getElementById("isc_historyField");if(_2)_2.value=_1},$1:function(){var _1=this.$2();if(_1){_1=new Function("return ("+_1+")")()}
if(!_1)_1={stack:[],data:{}};this.historyState=_1;this.logInfo("History init complete");this.$v=location.href;if(!this.usePushState){this.$4=window.setInterval("isc.History.$5()",this.$6)}
isc.SA_Page.onLoad(this.$q,this)},$q:function(){if(this.$7)return;if(this.$138g.length!=0&&isc.SA_Page.isLoaded()){this.$7=true;var _1=this.$r(location.href);this.$8(_1)}},$u:function(_1,_2){if(this.usePushState&&this.pushStateMode=="queryParam"){_1=this.$178w;var _3=this.pushStateQueryParamName;if(new RegExp("(\\?|&)"+_3+"=").test(_1)){_1=_1.replace(new RegExp("(\\?|&)"+_3+"=(.*?)(&|$)"),"$1"+_3+"="+encodeURIComponent(_2)+"$3")}else{_1+=(_1.contains("?")?"&":"?")+encodeURIComponent(_3)+"="+encodeURIComponent(_2)}
return _1}else{var _4=_1.match(/([^#]*).*/);return _4[1]+"#"+encodeURI(_2)}},$r:function(_1){if(this.usePushState&&this.pushStateMode=="queryParam"){_1=this.$178w;var _2=this.pushStateQueryParamName;var _3=new RegExp("(\\?|&)"+_2+"=(.*?)(&|$)").exec(_1);return _3?decodeURIComponent(_3[2]):null}else{var _3=location.href.match(/([^#]*)#(.*)/);return _3?decodeURIComponent(_3[2]):null}},$6:100,$s:function(){if(isc.Comm){this.$3(isc.Comm.serialize(this.historyState))}},$5:function(){if(location.href!=this.$v){var _1=this.$r(location.href);this.$8(_1)}
this.$v=location.href},historyCallback:function(_1,_2){if(_2=="$69i")_2="";var _3=this.$u(location.href,_2);if(isc.SA_Page.isLoaded()){location.href=_3;this.$v=_3}else{isc.SA_Page.onLoad(function(){location.href=this.$u(location.href,_2);this.$v=_3},this)}
if(this.$w){this.$w=false;return}
if(isc.SA_Page.isLoaded()){this.$8(_2)}else{isc.SA_Page.onLoad(function(){this.$8(_2)},this)}},$8:function(_1){if(this.$ab==_1){if(this.$80a)return}
this.$80a=true;var _2=this.$138g;if(_2.length==0){this.logWarn("ready to fire history callback, but no callback registered.Please call isc.History.registerCallback() before pageLoad. If you can't register your callback before pageLoad, you can call isc.History.getCurrentHistoryId() to get the ID when you're ready.");return}
if(_1=="$69i")_1=null;var _3=this.haveHistoryState(_1);var _4;if(_3){_4=_2.slice()}else{_4=[];for(var i=0,_6=_2.length;i<_6;++i){var r=_2[i];if(!r.requiresData)_4[_4.length]=r}}
if(!_3){if(_4.length==0){this.logWarn("User navigated to URL associated with synthetic history ID:"+_1+". This ID is not associated with any synthetic history entry generated via History.addHistoryEntry(). Not firing a registered historyCallback as all callbacks were registered with parameter requiring a data object. This can commonly occur when the user navigates to a stored history entry via a bookmarked URL.");return}}
var _8=this.historyState.data[_1];this.$ab=_1;this.logDebug("history callback: "+_1);for(var i=0,_6=_4.length;i<_6;++i){var r=_4[i],_9=r.callback;if(isc.Class){isc.Class.fireCallback(_9,["id","data"],[_1,_8])}else{var _10=[_1,_8];if(_9.method!=null){_9=isc.addProperties({},_9);_9.args=_10;this.fireSimpleCallback(_9)}else{_9.apply(null,_10)}}}}});isc.History.$z();isc._nonDebugModules=(isc._nonDebugModules!=null?isc._nonDebugModules:[]);isc._nonDebugModules.push('History');isc.checkForDebugAndNonDebugModules();isc._moduleEnd=isc._History_end=(isc.timestamp?isc.timestamp():new Date().getTime());if(isc.Log&&isc.Log.logIsInfoEnabled('loadTime'))isc.Log.logInfo('History module init time: '+(isc._moduleEnd-isc._moduleStart)+'ms','loadTime');delete isc.definingFramework;if(isc.Page)isc.Page.handleEvent(null,"moduleLoaded",{moduleName:'History',loadTime:(isc._moduleEnd-isc._moduleStart)});}else{if(window.isc&&isc.Log&&isc.Log.logWarn)isc.Log.logWarn("Duplicate load of module 'History'.");}
