jssc={iIdCount:0,oSyntaxList:{},sPath:"",bMultiLine:false,iMultiLineIndex:0,oTempLi:null,aFoldList:[],aFoldDepth:[],sTab:"&nbsp;&nbsp;&nbsp;&nbsp;",regLine:/\r\n?|\n/g,regSign:/\W/g,regXml:/<(:?(:?[\/?]?[a-zA-Z]+[^<]*?\/?>)|(:?!--.*(:?-->|$)))/g,regRegExp:/^\/.*?[^\\][^(:?\[.*\/(:?g|m|i|gm|gi|mi|gmi)?\s*.*\])]*\/(:?g|m|i|gm|gi|mi|gmi)?\s*\W/,regNum:/^((:?0(:?(:?(:?x|X)[\da-fA-F]+)|(:?[01234567]+)))|(:?\d+[lLfFdD]?))$/,regDecimal:/^\.\d+[fFdD]?/,regCssNum:/\d+(:?ex|em|pt|px|pc|in|mm|cm|%|deg|grad|rad|s|ms|Hz|kHz)?/,sCTypeKeyWords:"if else for break case continue function true false switch default do while int float double long short char return void static null",colorAll:function(_,$){if($)this.sPath=encodeURI($);this.colorList(this.getTagList("code",_))},getTagList:function(A,B){var _=[],$=document.getElementsByTagName(A);for(var C=0;C<$.length;C++)_.push($[C]);return _},colorList:function(F){for(var G in F){var C=F[G].textContent||F[G].value||F[G].firstChild.nodeValue,A=this.splitLine(C),E=F[G].className,_=this.getSyntax(E),B=this.colorCode(C,A,_,E),$=document.createElement("div"),D=document.createElement("div");F[G].id="jssc"+this.iIdCount++;if(_&&_.title)D.innerHTML=_.title+" \u4ee3\u7801";else D.innerHTML=E+" \u4ee3\u7801";D.innerHTML+="<span onclick='jssc.copyToClipboard(\""+F[G].id+"\")'>\u590d\u5236\u5230\u526a\u8d34\u677f</span>";D.className="jssccodetitle";$.appendChild(B);$.className="jssc";F[G].parentNode.insertBefore(D,F[G]);F[G].parentNode.insertBefore($,F[G]);F[G].style.display="none"}},splitLine:function(A){var _=0,B,$=[];while(B=this.regLine.exec(A)){$.push({begin:_,end:B.index});_=B.index+B.length}if(_<A.length)$.push({begin:_,end:A.length});return $},getSyntax:function(A){for(var B in this.oSyntaxList){var $=this.oSyntaxList[B].aliases;if(!$)continue;for(var _ in $)if(A.toLowerCase()==$[_])return this.oSyntaxList[B]}return null},colorCode:function(D,B,A,E){var I=1,_=document.createDocumentFragment(),F=document.createElement("ul"),$=(B.length.toString().length-1)*9+30;F.style.marginLeft=$+"px";for(var H in B){this.iCounter++;var C=document.createElement("li");if(A&&A.collapse)this.oTempLi=C;C.innerHTML="<div onmouseover=this.style.backgroundColor=\"#ff9\" onmouseout=this.style.backgroundColor=\"transparent\">"+this.parseLine(D.slice(B[H].begin,B[H].end),A,E)+"</div>";for(H in this.aFoldDepth)this.aFoldDepth[H]++;if(A&&A.collapse){var G=document.createElement("img");G.src=this.sPath+"/jssc/jssc_none.gif";C.firstChild.insertBefore(G,C.firstChild.firstChild)}if(I==1)C.className="alt";I*=-1;F.appendChild(C)}if(A&&A.collapse&&A.collapse.type=="indent"){C=F.firstChild;while(C.nextSibling){if(parseInt(C.getAttribute("title"))<parseInt(C.nextSibling.getAttribute("title")))C.firstChild.firstChild.src=this.sPath+"/jssc/jssc_shrink.gif";C=C.nextSibling}}return _.appendChild(F)},parseLine:function(_,$,A){_=_.replace(/[\r\n]/,"");if(_=="")return"&nbsp;";if(this.isXml(A))return this.parseXml(_,$);else return this.parseOther(_,$)},parseXml:function(E,_){if(!_)return this.encodeStr(E);var $,C=0,H=[],G=_.aliases[0],A=_.regLib,B=_.keyWords,F=_.collapse;if(this.bMultiLine){C=this.getEndIndex(E,0,A[this.iMultiLineIndex].end,A[this.iMultiLineIndex].escape);var D=G+A[this.iMultiLineIndex].css;if(C>-1){var I=C+A[this.iMultiLineIndex].end.length;H.push(this.colorStr(this.encodeStr(E.slice(0,I)),D));iLastIndex=I;this.bMultiLine=false;this.reduceDepth()}else return this.colorStr(this.encodeStr(E),D)}if(C>0)E=E.slice(C);while($=this.regXml.exec(E)){if($.index>C)H.push(this.encodeStr(E.slice(C,$.index)));if($[0].charAt(1)=="/")this.reduceDepth();else if($[0].charAt($[0].length-2)!="/")this.addDepth();H.push(this.parseOther($[0],_));C=$.index+$[0].length}return H.join("")},parseOther:function(B,A){var $,_=[];while($=this.regSign.exec(B))_.push($.index);if(_[_.length-1]!=B.length-1)_.push(B.length);return this.parseCode(B,A,_)},parseCode:function(A,G,H){if(!G)return this.encodeStr(A);var B=[],E=0,$=H.length,M=G.aliases[0],I=G.regLib,J=G.keyWords,L=G.collapse;if(L&&L.type&&(L.type=="indent"))for(var D=0;D<A.length;D++)if(A.charAt(D)!=" "&&A.charAt(D)!="\t"){this.oTempLi.setAttribute("title",D);this.oTempLi.onclick=this.foldPython;break}if(this.bMultiLine){var _=this.getEndIndex(A,0,I[this.iMultiLineIndex].end,I[this.iMultiLineIndex].escape),K=M+I[this.iMultiLineIndex].css;if(_>-1){var C=_+I[this.iMultiLineIndex].end.length;B.push(this.colorStr(this.encodeStr(A.slice(0,C)),K));E=C;this.bMultiLine=false}else return this.colorStr(this.encodeStr(A),K)}for(D=0;D<$;D++){if(H[D]<E)continue;if(H[D]>E)B.push(this.parseStr(A.slice(E,H[D]),M,J,L));var N=-1;if((N=this.getRegLibIndex(A.substr(H[D],4),I))>-1){K=M+I[N].css;if(I[N].reg){var F;if((F=A.slice(H[D]).match(I[N].reg))!=null){B.push(this.colorStr(this.encodeStr(F[0]),K));E=H[D]+F[0].length;continue}}else{_=this.getEndIndex(A,H[D]+1,I[N].end,I[N].escape);if(_>-1){C=_+I[N].end.length;B.push(this.colorStr(this.encodeStr(A.slice(H[D],C)),K));E=C;continue}else{B.push(this.colorStr(this.encodeStr(A.slice(H[D])),K));this.iMultiLineIndex=N;this.bMultiLine=true;break}}}B.push(this.encodeStr(A.charAt(H[D])));E=H[D]+1;if(L&&L.type&&L.type.indexOf("sign")>-1)if(A.charAt(H[D])==L.start)this.addDepth();else if(A.charAt(H[D])==L.end)this.reduceDepth()}return B.join("")},getRegLibIndex:function(_,$){for(var A in $)if(_.indexOf($[A].index)==0)return A;return-1},getEndIndex:function(C,B,$,_){var A;while(1)if((A=C.indexOf($,B))>-1){if(this.isEscape(C,B,A,_)){B=A+1;continue}else return A}else return-1},isEscape:function(B,A,_,$){if(!$)return false;var C=0;while(_>A)if(B.charAt(--_)=="\\")C++;else break;return C%2!=0},colorStr:function(_,$){return"<span class=\""+$+"\">"+_+"</span>"},parseStr:function(B,A,$,_){if(_&&_.type&&_.type.indexOf("keywords")>-1)if(_.bFold!=null){if(_.start.indexOf(" "+B+" ")>-1){if(_.bFold)this.addDepth();else _.bFold=true;return this.colorStr(B,A+"keywords")}else if(_.end.indexOf(" "+B+" ")>-1){this.reduceDepth();_.bFold=false;return this.colorStr(B,A+"keywords")}}else if(_.start.indexOf(" "+B+" ")>-1){this.addDepth();return this.colorStr(B,A+"keywords")}else if(_.end.indexOf(" "+B+" ")>-1){this.reduceDepth();return this.colorStr(B,A+"keywords")}if(this.isKeyWord(B,A,$))return this.colorStr(B,A+"keywords");else if(this.isNum(B,A))return this.colorStr(B,A+"num");else if(this.isXml(A))return this.colorStr(B,A+"variables");else return this.encodeStr(B)},isKeyWord:function(A,_,$){if(this.isXml(_)||this.isSql(_)||this.isCss(_))A=A.toUpperCase();return($.indexOf(" "+A+" ")>-1)},isNum:function(_,$){if($=="css")return this.regCssNum.test(_);else return this.regNum.test(_)},isXml:function($){return/(xml|x?html|xslt)/i.test($)},isSql:function($){return/sql/i.test($)},isCss:function($){return/css/i.test($)},encodeStr:function($){return $.replace(/&/g,"&amp;").replace(/ /g,"&nbsp;").replace(/\t/g,this.sTab).replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/\"/g,"&quot;")},addDepth:function(){this.aFoldList.push(this.oTempLi);this.aFoldDepth.push(0)},reduceDepth:function(){var _=this.aFoldList.pop(),$=this.aFoldDepth.pop();if($>1){_.setAttribute("title",$);_.firstChild.firstChild.src=this.sPath+"/jssc/jssc_shrink.gif";_.onclick=this.fold}},fold:function(_){var $=parseInt(this.getAttribute("title")),A=(this.nextSibling.style.position=="absolute");if(A)jssc.setTargetAttr(this,$,"static","inherit","/jssc/jssc_shrink.gif");else jssc.setTargetAttr(this,$,"absolute","hidden","/jssc/jssc_extend.gif")},setTargetAttr:function(D,$,B,_,A){D.firstChild.firstChild.src=this.sPath+A;var C=D.nextSibling;for(var F=1;F<$;F++){C.style.position=this.sPath+B;C.style.visibility=_;var E=C.firstChild.firstChild;if(E.src.slice(E.src.lastIndexOf("/"))=="/jssc/jssc_extend.gif")E.src=this.sPath+"/jssc/jssc_shrink.gif";C=C.nextSibling}},foldPython:function(_){var A=this.firstChild.firstChild.src;if(A.slice(A.lastIndexOf("/"))=="/jssc/jssc_none.gif")return;var $=parseInt(this.getAttribute("title")),B=(this.nextSibling.style.position=="absolute");if(B)jssc.setTargetAttrPython(this,$,"static","inherit","/jssc/jssc_shrink.gif");else jssc.setTargetAttrPython(this,$,"absolute","hidden","/jssc/jssc_extend.gif")},setTargetAttrPython:function(D,$,B,_,A){D.firstChild.firstChild.src=this.sPath+A;var C=D.nextSibling;while(C&&(parseInt(C.getAttribute("title"))>$)){C.style.position=this.sPath+B;C.style.visibility=_;var E=C.firstChild.firstChild;if(E.src.slice(E.src.lastIndexOf("/"))=="/jssc/jssc_extend.gif")E.src=this.sPath+"/jssc/jssc_shrink.gif";C=C.nextSibling}},copyToClipboard:function(C){var $=document.getElementById(C).firstChild.nodeValue;if(window.clipboardData)window.clipboardData.setData("text",$);else{var A="jsscflashcopier",B;if(B=document.getElementById(A))document.body.removeChild(B);var _=document.createElement("div");_.id=A;_.innerHTML="<embed src=\""+this.sPath+"flashcopier.swf\" FlashVars=\"copyString="+encodeURI($)+"\" width=\"0\" height=\"0\" type=\"application/x-shockwave-flash\"></embed>";document.body.appendChild(_)}alert("\u5df2\u590d\u5236\u5230\u526a\u8d34\u677f\u4e2d\uff01")}};jssc.oSyntaxList.actionscript={title:"ActionScript",aliases:["actionscript","as"],keyWords:" as class const delete extends finally implements import "+"in instanceof interface internal is native new null package "+"private protected public super this throw to "+"try typeof use var with each get set namespace include "+"dynamic final native override trace String Number Array "+"Boolean uint Date Error Function RegExp XML XMLLIST "+jssc.sCTypeKeyWords,regLib:[{index:"//",reg:new RegExp("^//.*$"),css:"comment"},{index:"/*",end:"*/",css:"comment",multiLine:true,escape:false},{index:"\"",end:"\"",css:"string",multiLine:true,escape:true},{index:"'",end:"'",css:"char",multiLine:true,escape:true},{index:".",reg:jssc.regDecimal,css:"num"},{index:"/",reg:jssc.regRegExp}],collapse:{type:"sign",start:"{",end:"}"}};jssc.oSyntaxList.c={title:"C",aliases:["c","ansi-c"],keyWords:" auto bpod const xtern goto struct register sizeof bool "+"sogned typedef union unsigned volatile "+jssc.sCTypeKeyWords,regLib:[{index:"//",reg:new RegExp("^//.*$"),css:"comment"},{index:"#",reg:new RegExp("^#.*$"),css:"comment"},{index:"/*",end:"*/",css:"comment",multiLine:true,escape:false},{index:"\"",end:"\"",css:"string",multiLine:true,escape:true},{index:"'",end:"'",css:"char",multiLine:true,escape:true},{index:".",reg:jssc.regDecimal,css:"num"}],collapse:{type:"sign",start:"{",end:"}"}};jssc.oSyntaxList.cpp={title:"C++",aliases:["cpp","c++"],keyWords:" class const __finally __exception __try "+"const_cast private public protected __declspec delete "+"deprecated dllexport dllimport dynamic_cast enum "+"explicit extern friend goto inline mutable naked "+"namespace new noinline noreturn nothrow register "+"reinterpret_cast selectany sizeof static_cast struct "+"template this thread throw try typedef typeid typename "+"union using uuid virtual volatile whcar_t "+jssc.sCTypeKeyWords,regLib:[{index:"//",reg:new RegExp("^//.*$"),css:"comment"},{index:"#",reg:new RegExp("^#.*$"),css:"comment"},{index:"/*",end:"*/",css:"comment",multiLine:true,escape:false},{index:"\"",end:"\"",css:"string",multiLine:true,escape:true},{index:"'",end:"'",css:"char",multiLine:true,escape:true},{index:".",reg:jssc.regDecimal,css:"num"}],collapse:{type:"sign",start:"{",end:"}"}};jssc.oSyntaxList.csharp={title:"C#",aliases:["csharp","c#"],keyWords:" abstract as base bool byte checked class const decimal "+"delegate enum event explicit extern finally fixed foreach "+"get goto implicit in interface internal is lock namespace new "+"object operator out override params private protected public "+"readonly ref sbyte sealed set sizeof stackalloc string struct "+"this throw try typeof uint ulong unchecked unsafe ushort "+"using virtual partial "+jssc.sCTypeKeyWords,regLib:[{index:"//",reg:new RegExp("^//.*$"),css:"comment"},{index:"#",reg:new RegExp("^#.*$"),css:"region"},{index:"/*",end:"*/",css:"comment",multiLine:true,escape:false},{index:"\"",end:"\"",css:"string",multiLine:true,escape:true},{index:"'",end:"'",css:"char",multiLine:true,escape:true},{index:".",reg:jssc.regDecimal,css:"num"},{index:"/",reg:jssc.regRegExp}],collapse:{type:"sign",start:"{",end:"}"}};jssc.oSyntaxList.css={title:"CSS",aliases:["css"],keyWords:" ASCENT AZIMUTH ATTACHMENT REPEAT BACKGROUND BASELINE BBOX "+"COLLAPSE BORDER CAP CAPTION SIDE CENTERLINE CLEAR CLIP CONTENT "+"INCREMENT COUNTER RESET CUE CURSOR DEFINITION DESCENT DIRECTION "+"DISPLAY ELEVATION EMPTY CELLS FLOAT ADJUST STRETCH VARIANT WEIGHT "+"FONT LETTER LINE IMAGE TYPE LIST MARGIN MARKER OFFSET MARKS "+"MATHLINE MAX MIN ORPHANS COLOR STYLE OUTLINE OVERFLOW TOP RIGHT "+"BOTTOM LEFT PADDING PAGE BREAK INSIDE AFTERPAUSE BEFORE PITCH "+"PLAY DURING POSITION QUOTES RICHNESS SIZE SLOPE SRC HEADER "+"NUMERAL PUNCTUATION SPEAK SPEECH RATE STEMH STEMV STRESS TABLE "+"LAYOUT DECORATION INDENT SHADOW TEXT TRANSFORM BIDI UNICODE RANGE "+"UNITS PER EM VERTICAL ALIGN VISIBILITY VOICE FAMILY VOLUME WHITE "+"SPACE WIDOWS WIDTH WIDTHS WORD SPACING X HEIGHT Z INDEX ABOVE "+"ABSOLUTE ALL ALWAYS AQUA ARMENIAN ATTR AVOID BASELINE BEHIND BELOW "+"BIDI OVERRIDE BLACK BLINK BLOCK BLUE BOLD BOLDER BOTH BRAILLE "+"CAPITALIZE CENTER CIRCLE CODE COLLAPSE COMPACT CONTINUOUS COUNTER "+"COUNTERS CROP CROSS CROSSHAIR CURSIVE DASHED DECIMAL LEADING ZERO "+"DEFAULT DIGITS DISC DOTTED DOUBLE EMBED EMBOSSED E EXTRA FANTASY "+"FAR FASTER FIXED FORMAT FUCHSIA GRAY GREEN GROOVE HANDHELD HEBREW "+"HELP HIDDEN HIDE HIGHER ICON INLINE INSET INSIDE INVERT ITALIC "+"JUSTIFY LANDSCAPE LARGER LEFT LEFTWARDS LEVEL LIGHTER LIME LINE "+"THROUGH LIST ITEM LOCAL LOWERCASE GREEK LOWER LTR MARKER MAROON "+"MEDIUM MESSAGE BOX MIDDLEMIX MOVE NARROWER NAVY NE CLOSE NONE NO "+"NORMAL NOWRAP N NW OBLIQUEOLIVE ONCE OPEN QUOTE OUTSET OUTSIDE "+"OVERLINE POINTER PORTRAIT PRE PRINT PROJECTION PURPLE RED RELATIVE "+"REPEAT Y RGB RIDGE RIGHT SIDE RIGHTWARDS RTL RUN IN SCREEN SCROLL "+"SEMI SEPARATE SE SHOW SILENT SILVER SLOWER CAPS SMALLER SOLID "+"SPEECH SPELL OUT SQUARE S STATIC STATUS BAR SUB SUPER SW CAPTION "+"CELL COLUMN FOOTER HEADER TABLE ROW GROUP TEAL BOTTOM TEXT THICK "+"THIN TOP TRANSPARENT TTY TV CONDENSED ULTRA EXPANDED UNDERLINE "+"ALPHA UPPERCASE LATIN UPPER ROMAN URL VISIBLE WAIT WHITEWIDER W XX "+"RESIZE FAST HIGH LOUD LOW SLOW X SOFT LARGE SMALL YELLOW AURAL AUTO ",regLib:[{index:"#",reg:new RegExp("^\\#[a-zA-Z0-9]{3,6}"),css:"num"},{index:"//",reg:new RegExp("^//.*$"),css:"comment"},{index:"/*",end:"*/",css:"comment",multiLine:true,escape:false},{index:"\"",end:"\"",css:"string",multiLine:true,escape:true},{index:"'",end:"'",css:"char",multiLine:true,escape:true},{index:".",reg:new RegExp("^\\.\\d+(:?ex|em|pt|px|pc|in|mm|cm|%|deg|grad|rad|s|ms|Hz|kHz)?"),css:"num"},{index:"@",reg:new RegExp("^\\@.*$"),css:"string"},{index:"!",reg:new RegExp("^\\![a-zA-Z]+"),css:"string"}],collapse:{type:"sign",start:"{",end:"}"}};jssc.oSyntaxList.delphi={title:"Delphi",aliases:["delphi"],keyWords:" abs addr and ansichar ansistring array as asm begin boolean byte cardinal "+"case char class comp const constructor currency destructor div do double "+"downto else end except exports extended false file finalization finally "+"for function goto if implementation in inherited int64 initialization "+"integer interface is label library longint longword mod nil not object "+"of on or packed pansichar pansistring pchar pcurrency pdatetime pextended "+"pint64 pointer private procedure program property pshortstring pstring "+"pvariant pwidechar pwidestring protected public published raise real real48 "+"record repeat set shl shortint shortstring shr single smallint string then "+"threadvar to true try type unit until uses val var varirnt while widechar "+"widestring with word write writeln xor ",regLib:[{index:"//",reg:new RegExp("^//.*$"),css:"comment"},{index:"{",end:"}",css:"comment",multiLine:true,escaple:false},{index:"(*",end:"*)",css:"comment",multiLine:true,escaple:false},{index:"'",end:"'",css:"string",multiLine:true,escape:true},{index:".",reg:jssc.regDecimal,css:"num"}],collapse:{type:"keywords",start:" begin ",end:" end "}};jssc.oSyntaxList.html={title:"HTML",aliases:["html","xhtml"],keyWords:" !DOCTYPE A ABBR ACRONYM ADDRESS APPLET AREA B BASE BASEFONT "+"BDO BIG BLOCKQUOTE BODY BR BUTTON CAPTION CENTER CITE CODE COL "+"COLGROUP DD DEL DFN DIR DIV DL DT EM FIELDEST FONT FORM FRAME "+"FRAMESET H1 H2 H3 H4 H5 H6 HEAD HR HTML I IFRAME IMG INPUT INS "+"ISINDEX KBD LABEL LEGEND LI LINK MAP MENU META NOFRAMES NOSCRIPT "+"OBJECT OL OPTGROUP OPTION P PARAM PRE Q S SAMP SCRIPT SELECT SMALL "+"SPAN STRIKE STRONG STYLE SUB SUP TABLE TBODY TD TEXTAREA TFOOT TH "+"THEAD TITLE TR TT U UL VAR ",regLib:[{index:"<!--",end:"-->",css:"comment",multiLine:true,escape:false},{index:"<",reg:new RegExp("<"),css:"sign"},{index:">",reg:new RegExp(">"),css:"sign"},{index:"/",reg:new RegExp("\\/"),css:"sign"},{index:"?",reg:new RegExp("\\?"),css:"sign"},{index:"\"",end:"\"",css:"string",multiLine:true,escape:true},{index:"'",end:"'",css:"char",multiLine:true,escape:true}],collapse:{}};jssc.oSyntaxList.java={title:"Java",aliases:["java"],keyWords:" abstract assert boolean byte class const enum "+"extends final finally goto implements import instanceof "+"interface native new package private protected protected "+"public return strictfp super synchronized this throw "+"throws transient try volatile "+jssc.sCTypeKeyWords,regLib:[{index:"//",reg:new RegExp("^//.*$"),css:"comment"},{index:"/*",end:"*/",css:"comment",multiLine:true,escape:false},{index:"\"",end:"\"",css:"string",multiLine:true,escape:true},{index:"'",end:"'",css:"char",multiLine:true,escape:true},{index:".",reg:jssc.regDecimal,css:"num"}],collapse:{type:"sign",start:"{",end:"}"}};jssc.oSyntaxList.javascript={title:"JavaScript",aliases:["javascript","js","jscript"],keyWords:" abstract boolean byte class const debugger delete "+"enum export extends final finally goto implements import "+"in instanceof interface native new package private protected "+"public super synchronized this throw throws transient try "+"typeof var volatile with document window "+jssc.sCTypeKeyWords,regLib:[{index:"//",reg:new RegExp("^//.*$"),css:"comment"},{index:"/*",end:"*/",css:"comment",multiLine:true,escape:false},{index:"\"",end:"\"",css:"string",multiLine:true,escape:true},{index:"'",end:"'",css:"char",multiLine:true,escape:true},{index:".",reg:jssc.regDecimal,css:"num"},{index:"/",reg:jssc.regRegExp,css:"reg"}],collapse:{type:"sign",start:"{",end:"}"}};jssc.oSyntaxList.php={title:"PHP",aliases:["php"],keyWords:" and or xor __FILE__ __LINE__ array as cfunction class "+"const declare die elseif empty enddeclare endfor endforeach "+"endif endswitch endwhile extends foreach include include_once "+"global new old_function use require require_once var __FUNCTION__ "+"__CLASS__ __METHOD__ abstract interface public implements extends "+"private protected throw "+" echo require_once unset this header count max min array_pop array_shift array_unique "+jssc.sCTypeKeyWords,regLib:[{index:"<?",reg:new RegExp("^<\\?php"),css:"preprocessor"},{index:"?>",reg:new RegExp("^\\?>"),css:"preprocessor"},{index:"$",reg:new RegExp("^\\$\\w+"),css:"variables"},{index:"@",reg:new RegExp("^\\$\\w+"),css:"variables"},{index:"//",reg:new RegExp("^//.*$"),css:"comment"},{index:"#",reg:new RegExp("^#.*$"),css:"comment"},{index:"/*",end:"*/",css:"comment",multiLine:true,escape:false},{index:"\"",end:"\"",css:"string",multiLine:true,escape:true},{index:"'",end:"'",css:"char",multiLine:true,escape:true},{index:".",reg:jssc.regDecimal,css:"num"},{index:"/",reg:jssc.regRegExp}],collapse:{type:"sign",start:"{",end:"}"}};jssc.oSyntaxList.python={title:"Python",aliases:["python","python3000"],keyWords:" and assert break class continue def del elif else "+"except exec finally for from global if import in is "+"lambda not or pass print raise return try yield while "+"None True False self cls class_ ",regLib:[{index:"#",reg:new RegExp("^#.*$"),css:"comment"},{index:"\"\"\"",end:"\"\"\"",css:"string",multiLine:true,escape:true},{index:"'''",end:"'''",css:"char",multiLine:true,escape:true},{index:"\"",end:"\"",css:"string",multiLine:true,escape:true},{index:"'",end:"'",css:"char",multiLine:true,escape:true},{index:".",reg:jssc.regDecimal,css:"num"},{index:"/",reg:jssc.regRegExp}],collapse:{type:"indent"}};jssc.oSyntaxList.ruby={title:"Ruby",aliases:["ruby"],keyWords:" alias and BEGIN begin break case class def define_method "+"defined do each else elsif END end ensure false for if in "+"module new next nil not or raise redo rescue retry return "+"self super then throw true undef unless until when while yield ",regLib:[{index:"#",reg:new RegExp("^#.*$"),css:"comment"},{index:":",reg:new RegExp("^:[a-z][A-Za-z0-9_]*"),css:"symbol"},{index:"$",reg:new RegExp("^@{1,2}\\w+"),css:"variables"},{index:"\"",end:"\"",css:"string",multiLine:true,escape:true},{index:"'",end:"'",css:"char",multiLine:true,escape:true},{index:".",reg:jssc.regDecimal,css:"num"},{index:"/",reg:jssc.regRegExp}],collapse:{type:"keywords",start:" class def case if while ",end:" end nil "}};jssc.oSyntaxList.sql={title:"SQL",aliases:["sql"],keyWords:" ABSOLUTE ACTION ADD AFTER ALTER AS ASC AT AUTHORIZATION BEGIN BIGINT "+"BINARY BIT BY CASCADE CHAR CHARACTER CHECK CHECKPOINT CLOSE COLLATE "+"COLUMN COMMIT COMMITTED CONNECT CONNECTION CONSTRAINT CONTAINS CONTINUE "+"CREATE CUBE CURRENT CURRENT_DATE CURRENT_TIME CURSOR DATABASE DATE "+"DEALLOCATE DEC DECIMAL DECLARE DEFAULT DELETE DESC DISTINCT DOUBLE "+"DROP DYNAMIC ELSE END END-EXEC ESCAPE EXCEPT EXEC EXECUTE FALSE FETCH "+"FIRST FLOAT FOR FORCE FOREIGN FORWARD FREE FROM FULL FUNCTION GLOBAL "+"GOTO GRANT GROUP GROUPING HAVING HOUR IGNORE INDEX INNER INSENSITIVE "+"INSERT INSTEAD INT INTEGER INTERSECT INTO IS ISOLATION KEY LAST LEVEL "+"LOAD LOCAL MAX MIN MINUTE MODIFY MOVE NAME NATIONAL NCHAR NEXT NO "+"NUMERIC OF OFF ON ONLY OPEN OPTION ORDER OUT OUTPUT PARTIAL PASSWORD "+"PRECISION PREPARE PRIMARY PRIOR PRIVILEGES PROCEDURE PUBLIC READ REAL "+"REFERENCES RELATIVE REPEATABLE RESTRICT RETURN RETURNS REVOKE ROLLBACK "+"ROLLUP ROWS RULE SCHEMA SCROLL SECOND SECTION SELECT SEQUENCE "+"SERIALIZABLE SET SIZE SMALLINT STATIC STATISTICS TABLE TEMP TEMPORARY "+"THEN TIME TIMESTAMP TO TOP TRANSACTION TRANSLATION TRIGGER TRUE "+"TRUNCATE UNCOMMITTED UNION UNIQUE UPDATE VALUES VARCHAR VARYING VIEW "+"WHEN WHERE WITH WORK NOT NULL BOOL ",regLib:[{index:"--",reg:new RegExp("^--.*$"),css:"comment"},{index:"`",reg:new RegExp("^`\\w+`"),css:"string"},{index:"\"",end:"\"",css:"string",multiLine:true,escape:true},{index:"'",end:"'",css:"char",multiLine:true,escape:true},{index:".",reg:jssc.regDecimal,css:"num"}],collapse:{type:"sign",start:"(",end:")"}};jssc.oSyntaxList.vb={title:"VB",aliases:["vb","vbs","vbscript","vb.net"],keyWords:" AddHandler AddressOf AndAlso Alias And Ansi As Assembly Auto "+"Boolean ByRef Byte ByVal Call Case Catch CBool CByte CChar CDate "+"CDec CDbl Char CInt Class CLng CObj Const CShort CSng CStr CType "+"Date Decimal Declare Default Delegate Dim DirectCast Do Double Each "+"Else ElseIf End Enum Erase Error Event Exit False Finally For Friend "+"Function Get GetType GoSub GoTo Handles If Implements Imports In "+"Inherits Integer Interface Is Let Lib Like Long Loop Me Mod Module "+"MustInherit MustOverride MyBase MyClass Namespace New Next Not Nothing "+"NotInheritable NotOverridable Object On Option Optional Or OrElse "+"Overloads Overridable Overrides ParamArray Preserve Private Property "+"Protected Public RaiseEvent ReadOnly ReDim REM RemoveHandler Resume "+"Return Select Set Shadows Shared Short Single Static Step Stop String "+"Structure Sub SyncLock Then Throw To True Try TypeOf Unicode Until "+"Variant When While With WithEvents WriteOnly Xor ",regLib:[{index:"#",reg:new RegExp("^#.*$"),css:"region"},{index:"'",reg:new RegExp("^'.*$"),css:"comment"},{index:"\"",end:"\"",css:"string",multiLine:true,escape:true},{index:".",reg:jssc.regDecimal,css:"num"},{index:"/",reg:jssc.regRegExp}],collapse:{type:"keywords",start:" Sub If Class Function ",end:" End ",bFold:true}};jssc.oSyntaxList.xml={title:"XML",aliases:["xml","xslt"],keyWords:" XML ",regLib:[{index:"<!--",end:"-->",css:"comment",multiLine:true,escape:false},{index:"<",reg:new RegExp("<"),css:"sign"},{index:">",reg:new RegExp(">"),css:"sign"},{index:"/",reg:new RegExp("\\/"),css:"sign"},{index:"?",reg:new RegExp("\\?"),css:"sign"},{index:"\"",end:"\"",css:"string",multiLine:true,escape:true},{index:"'",end:"'",css:"char",multiLine:true,escape:true}],collapse:{}};
