UNPKG

node-esapi

Version:

OSWASP ESAPI4JS encoders port to node module

100 lines 53 kB
var $namespace=function(b,d,a){b=b.split(d||".");a=a||window;var e;d=0;for(e=b.length;d<e;d++)a=a[b[d]]=a[b[d]]||{};return a},$type=function(b,d){if(!b instanceof d)throw new SyntaxError;};if(!$)var $=function(b){return document.getElementById(b)};Array.prototype.each||(Array.prototype.each=function(b){if("function"!=typeof b)throw"Illegal Argument for Array.each";for(var d=0;d<this.length;d++)b(this[d])}); Array.prototype.contains||(Array.prototype.contains=function(b){var d=!1;this.each(function(a){if(b.equals&&b.equals(a)||a==b)d=!0});return d});Array.prototype.containsKey||(Array.prototype.containsKey=function(b){for(var d in this)if(d.toLowerCase()==b.toLowerCase())return!0;return!1});Array.prototype.getCaseInsensitive||(Array.prototype.getCaseInsensitive=function(b){for(var d in this)if(d.toLowerCase()==b.toLowerCase())return this[d];return null}); String.prototype.charCodeAt||(String.prototype.charCodeAt=function(b){b=this.charAt(b);for(var d=0;65536>d;d++)if(String.fromCharCode(d)==b)return d;return 0});String.prototype.endsWith||(String.prototype.endsWith=function(b){return this.substr(this.length-b.length,b.length)==b}); if(!Exception){var Exception=function(b,d){this.cause=d;this.errorMessage=b};Exception.prototype=Error.prototype;Exception.prototype.getCause=function(){return this.cause};Exception.prototype.getMessage=function(){return this.message};Exception.prototype.getStackTrace=function(){if(this.callstack)return this.callstack;if(this.stack){for(var b=stack.split("\n"),d=0,a=b.length;d<a;d++)b[d].match(/^\s*[A-Za-z0-9\=+\$]+\(/)&&this.callstack.push(b[d]);this.callstack.shift()}else if(window.opera&&this.message){b= this.message.split("\n");d=0;for(a=b.length;d<a;d++)if(b[d].match(/^\s*[A-Za-z0-9\=+\$]+\(/)){var e=b[d];b[d+1]&&(e+=" at "+b[d+1],d++);this.callstack.push(e)}this.callstack.shift()}else for(b=arguments.callee.caller;b;)d=b.toString(),d=d.substring(d.indexOf("function")+8,d.indexOf("("))||"anonymous",this.callstack.push(d),b=b.caller;return this.callstack};Exception.prototype.printStackTrace=function(b){var d=this.getMessage()+"|||"+this.getStackTrace().join("|||");this.cause&&this.cause.printStackTrace&& (d+="||||||Caused by "+this.cause.printStackTrace().replace("\n","|||"));if(b)b.value?b.value=d.replace("|||","\n"):b.writeln?b.writeln(d.replace("|||","\n")):b.innerHTML?b.innerHTML=d.replace("|||","<br/>"):b.innerText?b.innerText=d.replace("|||","<br/>"):b.append?b.append(d.replace("|||","\n")):b instanceof Function&&b(d.replace("|||","\n"));else return b.replace("|||","\n")}}if(!RuntimeException)var RuntimeException=Exception;if(!IllegalArgumentException)var IllegalArgumentException=Exception; if(!DateFormat){var DateFormat=function(b){var d={longMonths:"January February March April May June July August September October November December".split(" "),shortMonths:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),longDays:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),shortDays:"Sun Mon Tue Wed Thu Fri Sat".split(" "),d:function(a){return(10>a.getDate()?"0":"")+a.getDate()},D:function(a){return d.shortDays[a.getDay()]},j:function(a){return a.getDate()},l:function(a){return d.longDays[a.getDay()]}, N:function(a){return a.getDay()+1},S:function(a){return 1==a.getDate()%10&&11!=a.getDate()?"st":2==a.getDate()%10&&12!=a.getDate()?"nd":3==a.getDate()%10&&13!=a.getDate()?"rd":"th"},w:function(a){return a.getDay()},z:function(a){return"Not Yet Supported"},W:function(a){return"Not Yet Supported"},F:function(a){return d.longMonths[a.getMonth()]},m:function(a){return(9>a.getMonth()?"0":"")+(a.getMonth()+1)},M:function(a){return d.shortMonths[a.getMonth()]},n:function(a){return a.getMonth()+1},t:function(a){return"Not Yet Supported"}, L:function(a){return 0==a.getFullYear()%4&&0!=a.getFullYear()%100||0==a.getFullYear()%400?"1":"0"},o:function(a){return"Not Supported"},Y:function(a){return a.getFullYear()},y:function(a){return(""+a.getFullYear()).substr(2)},a:function(a){return 12>a.getHours()?"am":"pm"},A:function(a){return 12>a.getHours()?"AM":"PM"},B:function(a){return"Not Yet Supported"},g:function(a){return a.getHours()%12||12},G:function(a){return a.getHours()},h:function(a){return(10>(a.getHours()%12||12)?"0":"")+(a.getHours()% 12||12)},H:function(a){return(10>a.getHours()?"0":"")+a.getHours()},i:function(a){return(10>a.getMinutes()?"0":"")+a.getMinutes()},s:function(a){return(10>a.getSeconds()?"0":"")+a.getSeconds()},e:function(a){return"Not Yet Supported"},I:function(a){return"Not Supported"},O:function(a){return(0>-a.getTimezoneOffset()?"-":"+")+(10>Math.abs(a.getTimezoneOffset()/60)?"0":"")+Math.abs(a.getTimezoneOffset()/60)+"00"},P:function(a){return(0>-a.getTimezoneOffset()?"-":"+")+(10>Math.abs(a.getTimezoneOffset()/ 60)?"0":"")+Math.abs(a.getTimezoneOffset()/60)+":"+(10>Math.abs(a.getTimezoneOffset()%60)?"0":"")+Math.abs(a.getTimezoneOffset()%60)},T:function(a){var d=a.getMonth();a.setMonth(0);var b=a.toTimeString().replace(/^.+ \(?([^\)]+)\)?$/,"$1");a.setMonth(d);return b},Z:function(a){return 60*-a.getTimezoneOffset()},c:function(a){return a.format("Y-m-d")+"T"+a.format("H:i:sP")},r:function(a){return a.toString()},U:function(a){return a.getTime()/1E3}};return{format:function(a){for(var e="",f=0;f<b.length;f++)var g= b.charAt(f),e=d[g]?e+d[g].call(a):e+g;return e}}};DateFormat.getDateInstance=function(){return new DateFormat("M/d/y h:i a")}}$namespace("org.owasp.esapi"); org.owasp.esapi.ESAPI=function(b){if(!b)throw new RuntimeException("Configuration Error - Unable to load $ESAPI_Properties Object");var d=null,a=null,e=null,f=null,g=null;return{properties:b,encoder:function(){if(!d){if(!b.encoder.Implementation)throw new RuntimeException("Configuration Error - $ESAPI.properties.encoder.Implementation object not found.");d=new b.encoder.Implementation}return d},logFactory:function(){if(!e){if(!b.logging.Implementation)throw new RuntimeException("Configuration Error - $ESAPI.properties.logging.Implementation object not found."); e=new b.logging.Implementation}return e},logger:function(a){return this.logFactory().getLogger(a)},locale:function(){return org.owasp.esapi.i18n.Locale.getLocale(b.localization.DefaultLocale)},resourceBundle:function(){if(!f){if(!b.localization.StandardResourceBundle)throw new RuntimeException("Configuration Error - $ESAPI.properties.localization.StandardResourceBundle not found.");f=new org.owasp.esapi.i18n.ObjectResourceBundle(b.localization.StandardResourceBundle)}return f},validator:function(){if(!a){if(!b.validation.Implementation)throw new RuntimeException("Configuration Error - $ESAPI.properties.validation.Implementation object not found."); a=new b.validation.Implementation}return a},httpUtilities:function(){g||(g=new org.owasp.esapi.HTTPUtilities);return g}}};var $ESAPI=null;org.owasp.esapi.ESAPI.initialize=function(){$ESAPI=new org.owasp.esapi.ESAPI(Base.esapi.properties)};$namespace("org.owasp.esapi");org.owasp.esapi.Encoder=function(){};$namespace("org.owasp.esapi"); org.owasp.esapi.EncoderConstants={CHAR_LOWERS:"abcdefghijklmnopqrstuvwxyz".split(""),CHAR_UPPERS:"ABCDEFGHIJKLMNOPQRSTUVWXYZ".split(""),CHAR_DIGITS:"0123456789".split(""),CHAR_SPECIALS:"!$*+-.=?@^_|~".split(""),CHAR_LETTERS:"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ".split(""),CHAR_ALNUM:"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789".split("")};$namespace("org.owasp.esapi"); org.owasp.esapi.EnterpriseSecurityException=function(b,d,a){b=new Exception(b,a);return{getMessage:b.getMessage,getUserMessage:b.getMessage,getLogMessage:function(){return d},getStackTrace:b.getStackTrace,printStackTrace:b.printStackTrace}};$namespace("org.owasp.esapi"); org.owasp.esapi.HTTPUtilities=function(){var b=$ESAPI.logger("HTTPUtilities"),d=$ESAPI.resourceBundle(),a=org.owasp.esapi.Logger.EventType;return{addCookie:function(e){$type(e,org.owasp.esapi.net.Cookie);if("http:"!=window.top.location.protocol||"https:"!=window.top.location.protocol)throw new RuntimeException(d.getString("HTTPUtilities.Cookie.Protocol",{protocol:window.top.location.protocol}));var f=e.getName(),g=e.getValue(),h=e.getMaxAge(),k=e.getDomain(),l=e.getPath();e=e.getSecure();var m=new org.owasp.esapi.ValidationErrorList; $ESAPI.validator().getValidInput("cookie name",f,"HttpCookieName",50,!1,m);$ESAPI.validator().getValidInput("cookie value",g,"HttpCookieValue",5E3,!1,m);0==m.size()?(f=f+"="+escape(g),f+=h?";expires="+(new Date((new Date).getTime()+1E3*h)).toGMTString():"",f=f+(l?";path="+l:"")+(k?";domain="+k:""),f+=e||$ESAPI.properties.httputilities.cookies.ForceSecure?";secure":"",document.cookie=f):b.warning(a.SECURITY_FAILURE,d.getString("HTTPUtilities.Cookie.UnsafeData",{name:f,value:g}))},getCookie:function(a){for(var d= document.cookie.split("; "),b=0,h=d.length;b<h;b++){var k=d[b].split("=");if(k[0]==escape(a))return new org.owasp.esapi.net.Cookie(a,k[1]?unescape(k[1]):"")}return null},killAllCookies:function(){for(var a=document.cookie.split("; "),b=0,g=a.length;b<g;b++){var h=a[b].split("="),h=unescape(h[0]);if(!this.killCookie(h))throw new RuntimeException(d.getString("HTTPUtilities.Cookie.CantKill",{name:h}));}},killCookie:function(a){var b=this.getCookie(a);if(b){b.setMaxAge(-10);this.addCookie(b);if(this.getCookie(a))throw new RuntimeException(d.getString("HTTPUtilities.Cookie.CantKill", {name:a}));return!0}return!1},getRequestParameter:function(a){var b=window.top.location.search.substring(1),d=b.indexOf(a);if(0>d)return null;d+=a.length;a=b.indexOf("&",d);0>a&&(a=b.length);return unescape(b.substring(d,a))}}};$namespace("org.owasp.esapi");org.owasp.esapi.IntrusionException=function(b,d,a){b=new org.owasp.esapi.EnterpriseSecurityException(b,d,a);return{getMessage:b.getMessage,getUserMessage:b.getMessage,getLogMessage:b.getLogMessage,getStackTrace:b.getStackTrace,printStackTrace:b.printStackTrace}}; $namespace("org.owasp.esapi");org.owasp.esapi.LogFactory=function(){return{getLogger:!1}};$namespace("org.owasp.esapi");org.owasp.esapi.Logger=function(){return{setLevel:!1,fatal:!1,error:!1,isErrorEnabled:!1,warning:!1,isWarningEnabled:!1,info:!1,isInfoEnabled:!1,debug:!1,isDebugEnabled:!1,trace:!1,isTraceEnabled:!1}};org.owasp.esapi.Logger.EventType=function(b,d){return{isSuccess:function(){return d},toString:function(){return b}}}; with(org.owasp.esapi.Logger)EventType.SECURITY_SUCCESS=new EventType("SECURITY SUCCESS",!0),EventType.SECURITY_FAILURE=new EventType("SECURITY FAILURE",!1),EventType.EVENT_SUCCESS=new EventType("EVENT SUCCESS",!0),EventType.EVENT_FAILURE=new EventType("EVENT FAILURE",!1),OFF=Number.MAX_VALUE,FATAL=1E3,ERROR=800,WARNING=600,INFO=400,DEBUG=200,TRACE=100,ALL=Number.MIN_VALUE;$namespace("org.owasp.esapi"); org.owasp.esapi.PreparedString=function(b,d,a){var e=[],f=[];a||(a="?");(function(b){for(var d=0,k=0,l=0;l<b.length;l++)b.charAt(l)==a&&(k++,e.push(b.substr(d,l)),d=l+1);e.push(b.substr(d));f=Array(k)})(b);return{set:function(a,b,e){if(1>a||a>f.length)throw new IllegalArgumentException("Attempt to set parameter: "+a+" on a PreparedString with only "+f.length+" placeholders");e||(e=d);f[a-1]=e.encode([],b)},toString:function(){for(var a=0;a<f.length;a++)if(null==f[a])throw new RuntimeException("Attempt to render PreparedString without setting parameter "+ (a+1));for(var a="",b=0,d=0;d<e.length;d++)a+=e[d],b<f.length&&(a+=f[b++]);return a}}};$namespace("org.owasp.esapi"); org.owasp.esapi.ValidationErrorList=function(){var b=[];return{addError:function(d,a){if(null==d)throw new RuntimeException("Context cannot be null: "+a.getLogMessage(),a);if(null==a)throw new RuntimeException("Context ("+d+") - Error cannot be null");if(b[d])throw new RuntimeException("Context ("+d+") already exists. must be unique.");b[d]=a},errors:function(){return b},isEmpty:function(){return 0==b.length},size:function(){return b.length}}};$namespace("org.owasp.esapi"); org.owasp.esapi.ValidationRule=function(){return{getValid:!1,setAllowNull:!1,getTypeName:!1,setTypeName:!1,setEncoder:!1,assertValid:!1,getSafe:!1,isValid:!1,whitelist:!1}};$namespace("org.owasp.esapi");org.owasp.esapi.Validator=function(){return{addRule:!1,getRule:!1,getValidInput:!1,isValidDate:!1,getValidDate:!1,isValidSafeHTML:!1,getValidSafeHTML:!1,isValidCreditCard:!1,getValidCreditCard:!1,isValidFilename:!1,getValidFilename:!1,isValidNumber:!1,getValidNumber:!1,isValidPrintable:!1,getValidPrintable:!1}}; $namespace("org.owasp.esapi.codecs.Base64"); org.owasp.esapi.codecs.Base64={_keyStr:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",encode:function(b){if(!b)return null;for(var d="",a,e,f,g,h,k=0,l=org.owasp.esapi.codecs.UTF8.encode(b);k<l.length;)a=l.charCodeAt(k++),b=l.charCodeAt(k++),e=l.charCodeAt(k++),f=a>>2,a=(a&3)<<4|b>>4,g=(b&15)<<2|e>>6,h=e&63,isNaN(b)?g=h=64:isNaN(e)&&(h=64),d+=this._keyStr.charAt(f)+this._keyStr.charAt(a)+this._keyStr.charAt(g)+this._keyStr.charAt(h);return d},decode:function(b){if(!b)return null; for(var d="",a,e,f,g,h=0,k=b.replace(/[^A-Za-z0-9\+\/\=]/g,"");h<k.length;)a=this._keyStr.indexOf(k.charAt(h++)),e=this._keyStr.indexOf(k.charAt(h++)),b=this._keyStr.indexOf(k.charAt(h++)),g=this._keyStr.indexOf(k.charAt(h++)),a=a<<2|e>>4,e=(e&15)<<4|b>>2,f=(b&3)<<6|g,d+=String.fromCharCode(a),64!=b&&(d+=String.fromCharCode(e)),64!=g&&(d+=String.fromCharCode(f));return d=org.owasp.esapi.codecs.UTF8.decode(d)}};$namespace("org.owasp.esapi.codecs"); org.owasp.esapi.codecs.CSSCodec=function(){var b=new org.owasp.esapi.codecs.Codec;return{encode:b.encode,decode:b.decode,encodeCharacter:function(b,a){if(b.contains(a))return a;var e=org.owasp.esapi.codecs.Codec.getHexForNonAlphanumeric(a);return null==e?a:"\\"+e+" "},decodeCharacter:function(b){b.mark();var a=b.next();if(null==a||"\\"!=a)return b.reset(),null;a=b.next();if(null==a)return b.reset(),null;if(b.isHexDigit(a)){for(var e=0;6>e;e++){var f=b.next();if(null==f||32==f.charCodeAt(0))break; if(b.isHexDigit(f))a+=f;else{input.pushback(f);break}}try{var g=parseInt(a,16);return String.fromCharCode(g)}catch(h){return b.reset(),null}}return a}}};$namespace("org.owasp.esapi.codecs"); org.owasp.esapi.codecs.Codec=function(){return{encode:function(b,d){for(var a="",e=0;e<d.length;e++)var f=d.charAt(e),a=a+this.encodeCharacter(b,f);return a},encodeCharacter:function(b,d){return d},decode:function(b){var d="";for(b=new org.owasp.esapi.codecs.PushbackString(b);b.hasNext();)var a=this.decodeCharacter(b),d=null!=a?d+a:d+b.next();return d},decodeCharacter:function(b){return b.next()}}}; org.owasp.esapi.codecs.Codec.getHexForNonAlphanumeric=function(b){return 256>b.charCodeAt(0)?org.owasp.esapi.codecs.Codec.hex[b.charCodeAt(0)]:b.charCodeAt(0).toString(16)};org.owasp.esapi.codecs.Codec.hex=[];for(var c=0;255>c;c++)org.owasp.esapi.codecs.Codec.hex[c]=48<=c&&57>=c||65<=c&&90>=c||97<=c&&122>=c?null:c.toString(16);var entityToCharacterMap=[];entityToCharacterMap["&quot"]="34";entityToCharacterMap["&amp"]="38";entityToCharacterMap["&lt"]="60";entityToCharacterMap["&gt"]="62"; entityToCharacterMap["&nbsp"]="160";entityToCharacterMap["&iexcl"]="161";entityToCharacterMap["&cent"]="162";entityToCharacterMap["&pound"]="163";entityToCharacterMap["&curren"]="164";entityToCharacterMap["&yen"]="165";entityToCharacterMap["&brvbar"]="166";entityToCharacterMap["&sect"]="167";entityToCharacterMap["&uml"]="168";entityToCharacterMap["&copy"]="169";entityToCharacterMap["&ordf"]="170";entityToCharacterMap["&laquo"]="171";entityToCharacterMap["&not"]="172"; entityToCharacterMap["&shy"]="173";entityToCharacterMap["&reg"]="174";entityToCharacterMap["&macr"]="175";entityToCharacterMap["&deg"]="176";entityToCharacterMap["&plusmn"]="177";entityToCharacterMap["&sup2"]="178";entityToCharacterMap["&sup3"]="179";entityToCharacterMap["&acute"]="180";entityToCharacterMap["&micro"]="181";entityToCharacterMap["&para"]="182";entityToCharacterMap["&middot"]="183";entityToCharacterMap["&cedil"]="184";entityToCharacterMap["&sup1"]="185"; entityToCharacterMap["&ordm"]="186";entityToCharacterMap["&raquo"]="187";entityToCharacterMap["&frac14"]="188";entityToCharacterMap["&frac12"]="189";entityToCharacterMap["&frac34"]="190";entityToCharacterMap["&iquest"]="191";entityToCharacterMap["&Agrave"]="192";entityToCharacterMap["&Aacute"]="193";entityToCharacterMap["&Acirc"]="194";entityToCharacterMap["&Atilde"]="195";entityToCharacterMap["&Auml"]="196";entityToCharacterMap["&Aring"]="197";entityToCharacterMap["&AElig"]="198"; entityToCharacterMap["&Ccedil"]="199";entityToCharacterMap["&Egrave"]="200";entityToCharacterMap["&Eacute"]="201";entityToCharacterMap["&Ecirc"]="202";entityToCharacterMap["&Euml"]="203";entityToCharacterMap["&Igrave"]="204";entityToCharacterMap["&Iacute"]="205";entityToCharacterMap["&Icirc"]="206";entityToCharacterMap["&Iuml"]="207";entityToCharacterMap["&ETH"]="208";entityToCharacterMap["&Ntilde"]="209";entityToCharacterMap["&Ograve"]="210";entityToCharacterMap["&Oacute"]="211"; entityToCharacterMap["&Ocirc"]="212";entityToCharacterMap["&Otilde"]="213";entityToCharacterMap["&Ouml"]="214";entityToCharacterMap["&times"]="215";entityToCharacterMap["&Oslash"]="216";entityToCharacterMap["&Ugrave"]="217";entityToCharacterMap["&Uacute"]="218";entityToCharacterMap["&Ucirc"]="219";entityToCharacterMap["&Uuml"]="220";entityToCharacterMap["&Yacute"]="221";entityToCharacterMap["&THORN"]="222";entityToCharacterMap["&szlig"]="223";entityToCharacterMap["&agrave"]="224"; entityToCharacterMap["&aacute"]="225";entityToCharacterMap["&acirc"]="226";entityToCharacterMap["&atilde"]="227";entityToCharacterMap["&auml"]="228";entityToCharacterMap["&aring"]="229";entityToCharacterMap["&aelig"]="230";entityToCharacterMap["&ccedil"]="231";entityToCharacterMap["&egrave"]="232";entityToCharacterMap["&eacute"]="233";entityToCharacterMap["&ecirc"]="234";entityToCharacterMap["&euml"]="235";entityToCharacterMap["&igrave"]="236";entityToCharacterMap["&iacute"]="237"; entityToCharacterMap["&icirc"]="238";entityToCharacterMap["&iuml"]="239";entityToCharacterMap["&eth"]="240";entityToCharacterMap["&ntilde"]="241";entityToCharacterMap["&ograve"]="242";entityToCharacterMap["&oacute"]="243";entityToCharacterMap["&ocirc"]="244";entityToCharacterMap["&otilde"]="245";entityToCharacterMap["&ouml"]="246";entityToCharacterMap["&divide"]="247";entityToCharacterMap["&oslash"]="248";entityToCharacterMap["&ugrave"]="249";entityToCharacterMap["&uacute"]="250"; entityToCharacterMap["&ucirc"]="251";entityToCharacterMap["&uuml"]="252";entityToCharacterMap["&yacute"]="253";entityToCharacterMap["&thorn"]="254";entityToCharacterMap["&yuml"]="255";entityToCharacterMap["&OElig"]="338";entityToCharacterMap["&oelig"]="339";entityToCharacterMap["&Scaron"]="352";entityToCharacterMap["&scaron"]="353";entityToCharacterMap["&Yuml"]="376";entityToCharacterMap["&fnof"]="402";entityToCharacterMap["&circ"]="710";entityToCharacterMap["&tilde"]="732"; entityToCharacterMap["&Alpha"]="913";entityToCharacterMap["&Beta"]="914";entityToCharacterMap["&Gamma"]="915";entityToCharacterMap["&Delta"]="916";entityToCharacterMap["&Epsilon"]="917";entityToCharacterMap["&Zeta"]="918";entityToCharacterMap["&Eta"]="919";entityToCharacterMap["&Theta"]="920";entityToCharacterMap["&Iota"]="921";entityToCharacterMap["&Kappa"]="922";entityToCharacterMap["&Lambda"]="923";entityToCharacterMap["&Mu"]="924";entityToCharacterMap["&Nu"]="925"; entityToCharacterMap["&Xi"]="926";entityToCharacterMap["&Omicron"]="927";entityToCharacterMap["&Pi"]="928";entityToCharacterMap["&Rho"]="929";entityToCharacterMap["&Sigma"]="931";entityToCharacterMap["&Tau"]="932";entityToCharacterMap["&Upsilon"]="933";entityToCharacterMap["&Phi"]="934";entityToCharacterMap["&Chi"]="935";entityToCharacterMap["&Psi"]="936";entityToCharacterMap["&Omega"]="937";entityToCharacterMap["&alpha"]="945";entityToCharacterMap["&beta"]="946";entityToCharacterMap["&gamma"]="947"; entityToCharacterMap["&delta"]="948";entityToCharacterMap["&epsilon"]="949";entityToCharacterMap["&zeta"]="950";entityToCharacterMap["&eta"]="951";entityToCharacterMap["&theta"]="952";entityToCharacterMap["&iota"]="953";entityToCharacterMap["&kappa"]="954";entityToCharacterMap["&lambda"]="955";entityToCharacterMap["&mu"]="956";entityToCharacterMap["&nu"]="957";entityToCharacterMap["&xi"]="958";entityToCharacterMap["&omicron"]="959";entityToCharacterMap["&pi"]="960";entityToCharacterMap["&rho"]="961"; entityToCharacterMap["&sigmaf"]="962";entityToCharacterMap["&sigma"]="963";entityToCharacterMap["&tau"]="964";entityToCharacterMap["&upsilon"]="965";entityToCharacterMap["&phi"]="966";entityToCharacterMap["&chi"]="967";entityToCharacterMap["&psi"]="968";entityToCharacterMap["&omega"]="969";entityToCharacterMap["&thetasym"]="977";entityToCharacterMap["&upsih"]="978";entityToCharacterMap["&piv"]="982";entityToCharacterMap["&ensp"]="8194";entityToCharacterMap["&emsp"]="8195"; entityToCharacterMap["&thinsp"]="8201";entityToCharacterMap["&zwnj"]="8204";entityToCharacterMap["&zwj"]="8205";entityToCharacterMap["&lrm"]="8206";entityToCharacterMap["&rlm"]="8207";entityToCharacterMap["&ndash"]="8211";entityToCharacterMap["&mdash"]="8212";entityToCharacterMap["&lsquo"]="8216";entityToCharacterMap["&rsquo"]="8217";entityToCharacterMap["&sbquo"]="8218";entityToCharacterMap["&ldquo"]="8220";entityToCharacterMap["&rdquo"]="8221";entityToCharacterMap["&bdquo"]="8222"; entityToCharacterMap["&dagger"]="8224";entityToCharacterMap["&Dagger"]="8225";entityToCharacterMap["&bull"]="8226";entityToCharacterMap["&hellip"]="8230";entityToCharacterMap["&permil"]="8240";entityToCharacterMap["&prime"]="8242";entityToCharacterMap["&Prime"]="8243";entityToCharacterMap["&lsaquo"]="8249";entityToCharacterMap["&rsaquo"]="8250";entityToCharacterMap["&oline"]="8254";entityToCharacterMap["&frasl"]="8260";entityToCharacterMap["&euro"]="8364";entityToCharacterMap["&image"]="8365"; entityToCharacterMap["&weierp"]="8472";entityToCharacterMap["&real"]="8476";entityToCharacterMap["&trade"]="8482";entityToCharacterMap["&alefsym"]="8501";entityToCharacterMap["&larr"]="8592";entityToCharacterMap["&uarr"]="8593";entityToCharacterMap["&rarr"]="8594";entityToCharacterMap["&darr"]="8595";entityToCharacterMap["&harr"]="8596";entityToCharacterMap["&crarr"]="8629";entityToCharacterMap["&lArr"]="8656";entityToCharacterMap["&uArr"]="8657";entityToCharacterMap["&rArr"]="8658"; entityToCharacterMap["&dArr"]="8659";entityToCharacterMap["&hArr"]="8660";entityToCharacterMap["&forall"]="8704";entityToCharacterMap["&part"]="8706";entityToCharacterMap["&exist"]="8707";entityToCharacterMap["&empty"]="8709";entityToCharacterMap["&nabla"]="8711";entityToCharacterMap["&isin"]="8712";entityToCharacterMap["&notin"]="8713";entityToCharacterMap["&ni"]="8715";entityToCharacterMap["&prod"]="8719";entityToCharacterMap["&sum"]="8721";entityToCharacterMap["&minus"]="8722"; entityToCharacterMap["&lowast"]="8727";entityToCharacterMap["&radic"]="8730";entityToCharacterMap["&prop"]="8733";entityToCharacterMap["&infin"]="8734";entityToCharacterMap["&ang"]="8736";entityToCharacterMap["&and"]="8743";entityToCharacterMap["&or"]="8744";entityToCharacterMap["&cap"]="8745";entityToCharacterMap["&cup"]="8746";entityToCharacterMap["&int"]="8747";entityToCharacterMap["&there4"]="8756";entityToCharacterMap["&sim"]="8764";entityToCharacterMap["&cong"]="8773"; entityToCharacterMap["&asymp"]="8776";entityToCharacterMap["&ne"]="8800";entityToCharacterMap["&equiv"]="8801";entityToCharacterMap["&le"]="8804";entityToCharacterMap["&ge"]="8805";entityToCharacterMap["&sub"]="8834";entityToCharacterMap["&sup"]="8835";entityToCharacterMap["&nsub"]="8836";entityToCharacterMap["&sube"]="8838";entityToCharacterMap["&supe"]="8839";entityToCharacterMap["&oplus"]="8853";entityToCharacterMap["&otimes"]="8855";entityToCharacterMap["&perp"]="8869"; entityToCharacterMap["&sdot"]="8901";entityToCharacterMap["&lceil"]="8968";entityToCharacterMap["&rceil"]="8969";entityToCharacterMap["&lfloor"]="8970";entityToCharacterMap["&rfloor"]="8971";entityToCharacterMap["&lang"]="9001";entityToCharacterMap["&rang"]="9002";entityToCharacterMap["&loz"]="9674";entityToCharacterMap["&spades"]="9824";entityToCharacterMap["&clubs"]="9827";entityToCharacterMap["&hearts"]="9829";entityToCharacterMap["&diams"]="9830";var characterToEntityMap=[],entity; for(entity in entityToCharacterMap)characterToEntityMap[entityToCharacterMap[entity]]=entity;$namespace("org.owasp.esapi.codecs"); org.owasp.esapi.codecs.HTMLEntityCodec=function(){var b=new org.owasp.esapi.codecs.Codec;return{encode:b.encode,decode:b.decode,encodeCharacter:function(b,a){if(b.contains(a))return a;var e=org.owasp.esapi.codecs.Codec.getHexForNonAlphanumeric(a);if(null==e)return a;var f=a.charCodeAt(0);if(31>=f&&"\t"!=a&&"\n"!=a&&"\r"!=a||127<=f&&159>=f||" "==a)return" ";f=characterToEntityMap[f];return null!=f?f+";":"&#x"+e+";"},decodeCharacter:function(b){b.mark();var a=b.next();if(null==a||"&"!=a)return b.reset(), null;a=b.next();if(null==a)return b.reset(),null;if("#"==a){var e;a=b.peek();if(null==a)e=null;else if("x"==a||"X"==a){b.next();for(a="";b.hasNext();){var f=b.peek();if(f.match(/[0-9A-Fa-f]/))a+=f,b.next();else{";"==f&&b.next();break}}try{e=parseInt(a,16)}catch(g){e=null}}else{for(a="";b.hasNext();)if(f=b.peek(),f.match(/[0-9]/))a+=f,b.next();else{";"==f&&b.next();break}try{e=parseInt(a)}catch(h){e=null}}if(null!=e)return e}else if(a.match(/[A-Za-z]/)){b.pushback(a);for(e="";b.hasNext();)if(a=b.peek(), a.match(/[A-Za-z]/)){if(e+=a,b.next(),entityToCharacterMap.containsKey("&"+e)){b.peek(";")&&b.next();break}}else if(";"==a)b.next();else break;e=String.fromCharCode(entityToCharacterMap.getCaseInsensitive("&"+e));if(null!=e)return e}b.reset();return null}}};$namespace("org.owasp.esapi.codecs"); org.owasp.esapi.codecs.JavascriptCodec=function(){return{encode:function(b,d){for(var a="",e=0;e<d.length;e++){var f=d.charAt(e);if(b.contains(f))a+=f;else if(null==org.owasp.esapi.codecs.Codec.getHexForNonAlphanumeric(f))a+=f;else{var g=f.charCodeAt(0).toString(16);256>f.charCodeAt(0)?(f="00".substr(g.length),a+="\\x"+f+g.toUpperCase()):(f="0000".substr(g.length),a+="\\u"+f+g.toUpperCase())}}return a},decode:(new org.owasp.esapi.codecs.Codec).decode,decodeCharacter:function(b){b.mark();var d=b.next(); if(null==d||"\\"!=d)return b.reset(),null;d=b.next();if(null==d)return b.reset(),null;if("b"==d)return 8;if("t"==d)return 9;if("n"==d)return 10;if("v"==d)return 11;if("f"==d)return 12;if("r"==d)return 13;if('"'==d)return 34;if("'"==d)return 39;if("\\"==d)return 92;if("x"==d.toLowerCase()){for(var d="",a=0;2>a;a++){var e=b.nextHex();if(null!=e)d+=e;else return input.reset(),null}try{return g=parseInt(d,16),String.fromCharCode(g)}catch(f){return b.reset(),null}}else if("u"==d.toLowerCase()){d="";for(a= 0;4>a;a++)if(e=b.nextHex(),null!=e)d+=e;else return input.reset(),null;try{var g=parseInt(d,16);return String.fromCharCode(g)}catch(h){return b.reset(),null}}else if(b.isOctalDigit(d)){a=b.next();b.isOctalDigit(a)?(d+=a,a=b.next(),b.isOctalDigit(a)?d+=a:b.pushback(a)):b.pushback(a);try{return g=parseInt(d,8),String.fromCharCode(g)}catch(k){return b.reset(),null}}return d}}};$namespace("org.owasp.esapi.codecs"); org.owasp.esapi.codecs.PercentCodec=function(){var b=new org.owasp.esapi.codecs.Codec;return{encode:b.encode,decode:b.decode,encodeCharacter:function(b,a){if(-1<"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789".indexOf(a))return a;for(var e=org.owasp.esapi.codecs.UTF8.encode(a),f="",g=0;g<e.length;g++){var h;h=e.charCodeAt(g);var k="";if(-128>h||127<h)throw new IllegalArgumentException("b is not a byte (was "+h+")");h&=255;16>h&&(k+="0");h=k+h.toString(16).toUpperCase();f+="%"+h}return f}, decodeCharacter:function(b){b.mark();var a=b.next();if(null==a||"%"!=a)return b.reset(),null;for(var a="",e=0;2>e;e++){var f=b.nextHex();null!=f&&(a+=f)}if(2==a.length)try{var g=parseInt(a,16);return String.fromCharCode(g)}catch(h){}b.reset();return null}}};$namespace("org.owasp.esapi.codecs"); org.owasp.esapi.codecs.PushbackString=function(b){var d="",a="",e=0,f=0;return{pushback:function(a){d=a},index:function(){return e},hasNext:function(){return null!=d?!0:!(null==b||0==b.length||e>=b.length)},next:function(){if(null!=d){var a=d;d=null;return a}return null==b||0==b.length||e>=b.length?null:b.charAt(e++)},nextHex:function(){var a=this.next();return this.isHexDigit(a)?a:null},nextOctal:function(){var a=this.next();return this.isOctalDigit(a)?a:null},isHexDigit:function(a){return null!= a&&("0"<=a&&"9">=a||"a"<=a&&"f">=a||"A"<=a&&"F">=a)},isOctalDigit:function(a){return null!=a&&"0"<=a&&"7">=a},peek:function(a){return a?null!=d&&d==a?!0:null==b||0==b.length||e>=b.length?!1:b.charAt(e)==a:null!=d?d:null==b||0==b.length||e>=b.length?null:b.charAt(e)},mark:function(){a=d;f=e},reset:function(){d=a;e=f},remainder:function(){var a=b.substr(e);null!=d&&(a=d+a);return a}}};$namespace("org.owasp.esapi.codecs"); org.owasp.esapi.codecs.UTF8={encode:function(b){b=b.replace(/\r\n/g,"\n");for(var d="",a=0;a<b.length;a++){var e=b.charCodeAt(a);128>e?d+=String.fromCharCode(e):(127<e&&2048>e?d+=String.fromCharCode(e>>6|192):(d+=String.fromCharCode(e>>12|224),d+=String.fromCharCode(e>>6&63|128)),d+=String.fromCharCode(e&63|128))}return d},decode:function(b){for(var d="",a=c=c1=c2=0;a<b.length;)c=b.charCodeAt(a),128>c?(d+=String.fromCharCode(c),a++):191<c&&224>c?(c2=b.charCodeAt(a+1),d+=String.fromCharCode((c&31)<< 6|c2&63),a+=2):(c2=utftext.charCodeAt(a+1),c3=utftext.charCodeAt(a+2),string+=String.fromCharCode((c&15)<<12|(c2&63)<<6|c3&63),a+=3);return d}};$namespace("org.owasp.esapi.i18n");org.owasp.esapi.i18n.ArrayResourceBundle=function(b,d,a,e){with(org.owasp.esapi.i18n)b=new ResourceBundle(b,d,e);return{getParent:b.getParent,getLocale:b.getLocale,getName:b.getName,getString:b.getString,getMessage:function(b){return a[b]}}};$namespace("org.owasp.esapi.i18n"); org.owasp.esapi.i18n.Locale=function(b,d,a){return{getLanguage:function(){return b},getCountry:function(){return d},getVariant:function(){return a},toString:function(){return b+(d?"-"+d+(a?"-"+a:""):"")}}};org.owasp.esapi.i18n.Locale.US=new org.owasp.esapi.i18n.Locale("en","US");org.owasp.esapi.i18n.Locale.GB=new org.owasp.esapi.i18n.Locale("en","GB"); org.owasp.esapi.i18n.Locale.getLocale=function(b){b=b.split("-");return new org.owasp.esapi.i18n.Locale(b[0],1<b.length?b[1]:"",2<b.length?b.length[2]:"")};org.owasp.esapi.i18n.Locale.getDefault=function(){var b=(navigator.language?navigator.language:navigator.userLanguage?navigator.userLanguage:"en-US").split("-");return new org.owasp.esapi.i18n.Locale(b[0],1<b.length?b[1]:"",2<b.length?b.length[2]:"")};$namespace("org.owasp.esapi.i18n"); org.owasp.esapi.i18n.ObjectResourceBundle=function(b,d){var a=new org.owasp.esapi.i18n.ResourceBundle(b.name,org.owasp.esapi.i18n.Locale.getLocale(b.locale),d),e=b.messages;return{getParent:a.getParent,getLocale:a.getLocale,getName:a.getName,getString:a.getString,getMessage:function(a){return e[a]}}};$namespace("org.owasp.esapi.i18n"); org.owasp.esapi.i18n.ResourceBundle=function(b,d,a){if(!b)throw new SyntaxError("Name required for implementations of org.owasp.esapi.i18n.ResourceBundle");if(!d)throw new SyntaxError("Locale required for implementations of org.owasp.esapi.i18n.ResourceBundle");return{getParent:function(){return a},getLocale:function(){return d},getName:function(){return b},getMessage:function(a){return a},getString:function(b,d){if(1>arguments.length)throw new IllegalArgumentException("No key passed to getString"); var g=this.getMessage(b);if(!g)return a?a.getString(b,d):b;if(!g.match(/\{([A-Za-z]+)\}/)||!d)return g;for(var h="",k=0;;){var l=g.indexOf("{",k),m=g.indexOf("}",l);if(0>l){h+=g.substr(k,g.length-k);break}if(0<=l&&-1>m)throw new SyntaxError("Invalid Message - Unclosed Context Reference: "+g);h+=g.substring(k,l);k=g.substring(l+1,m);h=d[k]?h+d[k]:h+g.substring(l,m+1);k=m+1}return h}}}; org.owasp.esapi.i18n.ResourceBundle.getResourceBundle=function(b,d){var a=b+"_"+d.toString().replace("-","_");with(org.owasp.esapi.i18n)return ResourceBundle[a]instanceof Object?ResourceBundle[a]:new ResourceBundle[a]};$namespace("org.owasp.esapi.net"); org.owasp.esapi.net.Cookie=function(b,d){var a,e,f,g,h,k,l,m=$ESAPI.resourceBundle();if(!function(a){for(var b=0,d=a.length;b<d;b++){var e=a.charCodeAt(b),f=a.charAt(b);if(32>e||127<=e||-1!=",; ".indexOf(f))return!1}return!0}(b)||"comment"==b.toLowerCase()||"discard"==b.toLowerCase()||"domain"==b.toLowerCase()||"expires"==b.toLowerCase()||"max-age"==b.toLowerCase()||"path"==b.toLowerCase()||"secure"==b.toLowerCase()||"version"==b.toLowerCase()||"$"==b.charAt(0)){var q=m.getString("Cookie.Name",{name:b}); throw new IllegalArgumentException(q);}a=d;return{setComment:function(a){e=a},getComment:function(){return e},setDomain:function(a){f=a.toLowerCase()},getDomain:function(){return f},setMaxAge:function(a){g=a},getMaxAge:function(){return g},setPath:function(a){h=a},getPath:function(){return h},setSecure:function(a){k=a},getSecure:function(){return k},getName:function(){return b},setValue:function(b){a=b},getValue:function(){return a},setVersion:function(a){if(0>a||1<a)throw new IllegalArgumentException(m.getString("Cookie.Version", {version:a}));l=a},getVersion:function(){return l}}};$namespace("org.owasp.esapi.reference.encoding"); org.owasp.esapi.reference.encoding.DefaultEncoder=function(b){var d=[],a=new org.owasp.esapi.codecs.HTMLEntityCodec,e=new org.owasp.esapi.codecs.JavascriptCodec,f=new org.owasp.esapi.codecs.CSSCodec,g=new org.owasp.esapi.codecs.PercentCodec;b?d=b:(d.push(a),d.push(e),d.push(f),d.push(g));var h=[",",".","-","_"," "],k=[",",".","-","_"],l=[],m=[",",".","_"];return{cananicalize:function(a,b){if(!a)return null;for(var e=a,f=null,g=1,h=0,m=!1;!m;)m=!0,d.each(function(a){var b=e;e=a.decode(e);b!=e&&(null!= f&&f!=a&&g++,f=a,m&&h++,m=!1)});if(2<=h&&1<g){if(b)throw new org.owasp.esapi.IntrusionException("Input validation failure","Multiple ("+h+"x) and mixed encoding ("+g+"x) detected in "+a);}else if(2<=h){if(b)throw new org.owasp.esapi.IntrusionException("Input validation failure","Multiple ("+h+"x) encoding detected in "+a);}else if(1<g&&b)throw new org.owasp.esapi.IntrusionException("Input validation failure","Mixed ("+g+"x) encoding detected in "+a);return e},normalize:function(a){return a.replace(/[^\x00-\x7F]/g, "")},encodeForHTML:function(b){return b?a.encode(h,b):null},decodeForHTML:function(b){return b?a.decode(b):null},encodeForHTMLAttribute:function(b){return b?a.encode(k,b):null},encodeForCSS:function(a){return a?f.encode(l,a):null},encodeForJavaScript:function(a){return a?e.encode(m,a):null},encodeForJavascript:this.encodeForJavaScript,encodeForURL:function(a){return a?escape(a):null},decodeFromURL:function(a){return a?unescape(a):null},encodeForBase64:function(a){return a?org.owasp.esapi.codecs.Base64.encode(a): null},decodeFromBase64:function(a){return a?org.owasp.esapi.codecs.Base64.decode(a):null}}};$namespace("org.owasp.esapi.reference.logging"); org.owasp.esapi.reference.logging.Log4JSLogFactory=function(){var b=function(b){return{setLevel:function(a){},trace:function(a,b,d){this.log(10,a,b,d)},debug:function(a,b,d){this.log(20,a,b,d)},info:function(a,b,d){this.log(30,a,b,d)},warning:function(a,b,d){this.log(40,a,b,d)},error:function(a,b,d){this.log(50,a,b,d)},fatal:function(a,b,d){this.log(60,a,b,d)},log:function(a,b,d,g){},addAppender:function(a){},isLogUrl:function(){},setLogUrl:function(a){},isLogApplicationName:function(){},setLogApplicationName:function(a){}, isEncodingRequired:function(){},setEncodingRequired:function(a){},setEncodingFunction:function(a){},isDebugEnabled:function(){},isErrorEnabled:function(){},isFatalEnabled:function(){},isInfoEnabled:function(){},isTraceEnabled:function(){},isWarningEnabled:function(){}}};return{getLogger:function(d){return new b("string"==typeof d?d:d.constructor.toString())}}};$namespace("org.owasp.esapi.reference.validation"); org.owasp.esapi.reference.validation.BaseValidationRule=function(b,d,a){var e=$ESAPI.logger("Validation"),f=org.owasp.esapi.Logger.EventType,g=b,h=d?d:$ESAPI.encoder(),k=!1;b=org.owasp.esapi.i18n.ResourceBundle;a=a?a:$ESAPI.locale();var l;$ESAPI.properties.validation.ResourceBundle&&(l=b.getResourceBundle($ESAPI.properties.validation.ResourceBundle,a));l||(l=$ESAPI.resourceBundle(),e.info(f.EVENT_FAILURE,"No Validation ResourceBundle - Defaulting to "+l.getName()+"("+l.getLocale().toString()+")")); e.info(f.EVENT_SUCCESS,"Validation Rule Initialized with ResourceBundle: "+l.getName());return{setAllowNull:function(a){k=a},isAllowNull:function(){return k},getTypeName:function(){return g},setTypeName:function(a){g=a},setEncoder:function(a){h=a},getEncoder:function(){return h},assertValid:function(a,b){this.getValid(a,b)},getValid:function(a,b,d){d=null;try{d=this.getValidInput(a,b)}catch(e){return this.sanitize(a,b)}return d},getValidInput:function(a,b){return b},getSafe:function(a,b){var d=null; try{d=this.getValidInput(a,b)}catch(e){return this.sanitize(a,b)}return d},sanitize:function(a,b){return b},isValid:function(a,b){try{this.getValidInput(a,b)}catch(d){return!1}return!0},whitelist:function(a,b){for(var d="",e=0;e<a.length;e++){var g=a.charAt(e);b.contains(g)&&(d+=g)}return d},getUserMessage:function(a,b,d){return this.getMessage(a+".Usr",b+".Usr",d)},getLogMessage:function(a,b,d){return this.getMessage(a+".Log",b+".Log",d)},getMessage:function(a,b,d){return l.getString(a,d)?l.getString(a, d):l.getString(b,d)},validationException:function(a,b,d,e){throw new org.owasp.esapi.reference.validation.ValidationException(this.getUserMessage(a+"."+d,b+"."+d,e),this.getLogMessage(a+"."+d,b+"."+d,e),a);}}};$namespace("org.owasp.esapi.reference.validation"); org.owasp.esapi.reference.validation.CreditCardValidationRule=function(b,d,a){var e=new org.owasp.esapi.reference.validation.BaseValidationRule(b,d,a),f=19;ccRule=function(){var b=RegExp($ESAPI.properties.validation.CreditCard),b=new org.owasp.esapi.reference.validation.StringValidationRule("ccrule",e.getEncoder(),a,b);b.setMaxLength(f);b.setAllowNull(!1);return b}();return{getMaxCardLength:function(){return f},setMaxCardLength:function(a){f=a},setAllowNull:e.setAllowNull,isAllowNull:e.isAllowNull, getTypeName:e.getTypeName,setTypeName:e.setTypeName,setEncoder:e.setEncoder,getEncoder:e.getEncoder,assertValid:e.assertValid,getValid:e.getValid,getValidInput:function(a,b){if(!b||""==b.trim()){if(this.isAllowNull())return null;e.validationException(a,"CreditCard","Required",{context:a,input:b})}for(var d=(void 0).getValid(a,b),f="",m,q=0;o<d.length;q++)m=d.charAt(q),m.match(/[0-9]/)&&(f+=m);for(var n=m=0,n=0,p=!1,r=f.length-1;0<=r;r--)n=parseInt(f.substring(r,q+1)),p&&(n*=2,9<n&&(n-=9)),m+=n,p= !p;0!=m%10&&e.validationException(a,"CreditCard","Invalid",{context:a,input:b});return d},getSafe:e.getSafe,sanitize:function(a,b){return this.whitelist(b,org.owasp.esapi.EncoderConstants.CHAR_DIGITS)},isValid:e.isValid,whitelist:e.whitelist}};$namespace("org.owasp.esapi.reference.validation"); org.owasp.esapi.reference.validation.DateValidationRule=function(b,d,a){var e=new org.owasp.esapi.reference.validation.BaseValidationRule(b,d,a),f=DateFormat.getDateInstance(),g=function(a,b){if(!a||""==a.trim()){if(e.isAllowNull())return null;e.validationException(a,"Date","Required",{context:a,input:b,format:f})}var d=e.getEncoder().cananicalize(b);try{return f.parse(d)}catch(g){e.validationException(a,"Date","Invalid",{context:a,input:b,format:f})}};return{setDateFormat:function(a){if(!a)throw new IllegalArgumentException("DateValidationRule.setDateFormat requires a non-null DateFormat"); f=a},setAllowNull:e.setAllowNull,isAllowNull:e.isAllowNull,getTypeName:e.getTypeName,setTypeName:e.setTypeName,setEncoder:e.setEncoder,getEncoder:e.getEncoder,assertValid:e.assertValid,getValid:e.getValid,getValidInput:function(a,b){return g(a,b)},getSafe:e.getSafe,sanitize:function(a,b){var d=new Date(0);try{d=g(a,b)}catch(e){}return d},isValid:e.isValid,whitelist:e.whitelist}};$namespace("org.owasp.esapi.reference.validation"); org.owasp.esapi.reference.validation.DefaultValidator=function(b,d){var a=[],e=b?b:$ESAPI.encoder(),f=d?d:org.owasp.esapi.i18n.Locale.getDefault(),g=org.owasp.esapi.reference.validation;return{addRule:function(b){a[b.getName()]=b},getRule:function(b){return a[b]},isValidInput:function(a,b,d,e,f){try{return this.getValidInput(a,b,d,e,f),!0}catch(g){return!1}},getValidInput:function(a,b,d,g,q,n){var p=new org.owasp.esapi.reference.validation.StringValidationRule(d,e,f),r=RegExp($ESAPI.properties.validation[d]); if(r&&r instanceof RegExp)p.addWhitelistPattern(r);else throw new IllegalArgumentException("Invalid Type: "+d+" not found.");p.setMaxLength(g);p.setAllowNull(q);try{return p.getValid(a,b)}catch(s){throw s instanceof r.ValidationErrorList&&n&&n.addError(a,s),s;}},isValidDate:function(a,b,d,e){try{return this.getValidDate(a,b,d,e),!0}catch(f){return!1}},getValidDate:function(a,b,d,m,q){var n=new g.DateValidationRule(a,e,f);n.setAllowNull(m);n.setDateFormat(d);try{return n.getValid(a,b)}catch(p){throw p instanceof g.ValidationErrorList&&q&&q.addError(a,p),p;}},getValidCreditCard:function(a,b,d,m){var q=new g.CreditCardValidationRule(a,e,f);q.setAllowNull(d);try{return q.getValid(a,b)}catch(n){throw n instanceof g.ValidationErrorList&&m&&m.addError(a,n),n;}},isValidCreditCard:function(a,b,d){try{return this.getValidCreditCard(a,b,d),!0}catch(e){return!1}},getValidNumber:function(a,b,d,m,q,n){m=new g.NumberValidationRule(a,e,f,m,q);m.setAllowNull(d);try{return m.getValid(a,b)}catch(p){throw p instanceof g.ValidationErrorList&& n&&n.addError(a,p),p;}},isValidNumber:function(a,b,d,e,f){try{return this.getValidNumber(a,b,d,e,f),!0}catch(g){return!1}},getValidInteger:function(a,b,d,m,q,n){m=new g.IntegerValidationRule(a,e,f,m,q);m.setAllowNull(d);try{return m.getValid(a,b)}catch(p){throw p instanceof g.ValidationErrorList&&n&&n.addError(a,p),p;}},isValidInteger:function(a,b,d,e,f){try{return this.getValidInteger(a,b,d,e,f),!0}catch(g){return!1}}}};$namespace("org.owasp.esapi.reference.validation"); org.owasp.esapi.reference.validation.IntegerValidationRule=function(b,d,a,e,f){var g=new org.owasp.esapi.reference.validation.BaseValidationRule(b,d,a),h=e?e:Number.MIN_VALUE,k=f?f:Number.MAX_VALUE;if(h>=k)throw new IllegalArgumentException("minValue must be less than maxValue");var l=function(a,b){if(!b||""==b.trim()){if(g.allowNull())return null;g.validationException(a,"Integer","Required",{context:a,input:b,minValue:h,maxValue:k})}var d=g.getEncoder().cananicalize(b),d=parseInt(d);"NaN"==d&&g.validationException(a, "Integer","NaN",{context:a,input:b,minValue:h,maxValue:k});d<h&&g.validationException(a,"Integer","MinValue",{context:a,input:b,minValue:h,maxValue:k});d>k&&g.validationException(a,"Integer","MaxValue",{context:a,input:b,minValue:h,maxValue:k});return d};return{setMinValue:function(a){h=a},getMinValue:function(){return h},setMaxValue:function(a){k=a},getMaxValue:function(){return k},setAllowNull:g.setAllowNull,isAllowNull:g.isAllowNull,getTypeName:g.getTypeName,setTypeName:g.setTypeName,setEncoder:g.setEncoder, getEncoder:g.getEncoder,assertValid:g.assertValid,getValid:g.getValid,getValidInput:function(a,b){return l(a,b)},getSafe:g.getSafe,sanitize:function(a,b){var d=0;try{d=l(a,b)}catch(e){}return d},isValid:g.isValid,whitelist:g.whitelist}};$namespace("org.owasp.esapi.reference.validation"); org.owasp.esapi.reference.validation.NumberValidationRule=function(b,d,a,e,f){var g=new org.owasp.esapi.reference.validation.BaseValidationRule(b,d,a),h=e?e:Number.MIN_VALUE,k=f?f:Number.MAX_VALUE;if(h>=k)throw new IllegalArgumentException("MinValue must be less that MaxValue");var l=function(a,b){if(!b||""==b.trim()){if(g.isAllowNull())return null;g.validationException(a,"Number","Required",{context:a,input:b,minValue:h,maxValue:k})}var d=g.getEncoder().cananicalize(b),e=0;try{e=parseFloat(d)}catch(f){g.validationException(a, "Number","Invalid",{context:a,input:b,minValue:h,maxValue:k})}"NaN"==e&&g.validationException(a,"Number","NaN",{context:a,input:b,minValue:h,maxValue:k});e<h&&g.validationException(a,"Number","MinValue",{context:a,input:b,minValue:h,maxValue:k});e>k&&g.validationException(a,"Number","MaxValue",{context:a,input:b,minValue:h,maxValue:k});return e};return{setMinValue:function(a){h=a},getMinValue:function(){return h},setMaxValue:function(a){k=a},getMaxValue:function(){return k},setAllowNull:g.setAllowNull, isAllowNull:g.isAllowNull,getTypeName:g.getTypeName,setTypeName:g.setTypeName,setEncoder:g.setEncoder,getEncoder:g.getEncoder,assertValid:g.assertValid,getValid:g.getValid,getValidInput:function(a,b){return l(a,b)},getSafe:g.getSafe,sanitize:function(a,b){var d=0;try{d=l(a,b)}catch(e){}return d},isValid:g.isValid,whitelist:g.whitelist}};$namespace("org.owasp