penguin/AstroJS

Javascript framework for my blog

commit 00fe7ca3bb55f524ad89db4080320d015b6f47cc

author斟酌 鵬兄 <tgckpg@gmail.com>
date2026-06-17T01:03:19Z
subjectMigrate old externs 8/x
commit 00fe7ca3bb55f524ad89db4080320d015b6f47cc
Author: 斟酌 鵬兄 <tgckpg@gmail.com>
Date:   2026-06-17T01:03:19Z

    Migrate old externs 8/x
---
 .../Blog/AstroEdit/Visualizer/Snippet/Code.js      |   1 +
 .../src/Libraries/SyntaxHighlighter/Brush/AS3.js   |   2 +-
 .../SyntaxHighlighter/Brush/AppleScript.js         |   2 +-
 .../src/Libraries/SyntaxHighlighter/Brush/Bash.js  |   2 +-
 .../Libraries/SyntaxHighlighter/Brush/CSharp.js    |   2 +-
 .../SyntaxHighlighter/Brush/ColdFusion.js          |   2 +-
 .../src/Libraries/SyntaxHighlighter/Brush/Cpp.js   |   2 +-
 .../src/Libraries/SyntaxHighlighter/Brush/Css.js   |   2 +-
 .../Libraries/SyntaxHighlighter/Brush/Delphi.js    |   2 +-
 .../src/Libraries/SyntaxHighlighter/Brush/Diff.js  |   2 +-
 .../Libraries/SyntaxHighlighter/Brush/Erlang.js    |   2 +-
 .../src/Libraries/SyntaxHighlighter/Brush/Go.js    |  46 +++++++++
 .../Libraries/SyntaxHighlighter/Brush/Groovy.js    |   2 +-
 .../Libraries/SyntaxHighlighter/Brush/JScript.js   |   2 +-
 .../src/Libraries/SyntaxHighlighter/Brush/Java.js  |   2 +-
 .../Libraries/SyntaxHighlighter/Brush/JavaFX.js    |   2 +-
 .../src/Libraries/SyntaxHighlighter/Brush/Perl.js  |   2 +-
 .../src/Libraries/SyntaxHighlighter/Brush/Php.js   |   2 +-
 .../src/Libraries/SyntaxHighlighter/Brush/Plain.js |   2 +-
 .../SyntaxHighlighter/Brush/PowerShell.js          |   2 +-
 .../Libraries/SyntaxHighlighter/Brush/Python.js    |   2 +-
 .../src/Libraries/SyntaxHighlighter/Brush/Sass.js  |   2 +-
 .../src/Libraries/SyntaxHighlighter/Brush/Scala.js |   2 +-
 .../src/Libraries/SyntaxHighlighter/Brush/Sql.js   |   2 +-
 .../src/Libraries/SyntaxHighlighter/Brush/Vb.js    |   2 +-
 .../src/Libraries/SyntaxHighlighter/Brush/Xml.js   |   2 +-
 botanjs/src/Libraries/SyntaxHighlighter/_this.js   |  65 ++++++++++---
 .../externs/Libraries.SyntaxHighLighter.Brush.js   |  15 ---
 botanjs/src/externs/Libraries.SyntaxHighLighter.js |  38 ++++++--
 resolver-go/cmd/api-server/main.go                 |   7 +-
 resolver-go/internal/generated/buildinfo_gen.go    |   2 +-
 resolver-go/internal/generated/classmap_gen.go     | 108 +++++++++++----------
 resolver-go/internal/resolver/resolver.go          |  17 ++--
 33 files changed, 228 insertions(+), 119 deletions(-)

diff --git a/botanjs/src/Astro/Blog/AstroEdit/Visualizer/Snippet/Code.js b/botanjs/src/Astro/Blog/AstroEdit/Visualizer/Snippet/Code.js
index fa52a33..6942a57 100644
--- a/botanjs/src/Astro/Blog/AstroEdit/Visualizer/Snippet/Code.js
+++ b/botanjs/src/Astro/Blog/AstroEdit/Visualizer/Snippet/Code.js
@@ -27,6 +27,7 @@
 			, "C#"         , "csharp"
 			, "C/C++"      , "cpp"
 			, "CSS"        , "css"
+			, "Go"         , "go"
 			, "php"        , "php"
 			, "Python"     , "python"
 			, "Perl"       , "perl"
diff --git a/botanjs/src/Libraries/SyntaxHighlighter/Brush/AS3.js b/botanjs/src/Libraries/SyntaxHighlighter/Brush/AS3.js
index 977106d..3aafe4c 100644
--- a/botanjs/src/Libraries/SyntaxHighlighter/Brush/AS3.js
+++ b/botanjs/src/Libraries/SyntaxHighlighter/Brush/AS3.js
@@ -13,7 +13,7 @@
     /** @type {Libraries.SyntaxHighlighter} */
     var SyntaxHighlighter = __import( "Libraries.SyntaxHighlighter" );
 
-    /** @type {Libraries.SyntaxHighlighter.Brush} **/
+    /** @type {typeof Libraries.SyntaxHighlighterBrush} **/
 	var Brush = function()
 	{
 		// Created by Peter Atoria @ http://iAtoria.com
diff --git a/botanjs/src/Libraries/SyntaxHighlighter/Brush/AppleScript.js b/botanjs/src/Libraries/SyntaxHighlighter/Brush/AppleScript.js
index 1a883e2..26cd737 100644
--- a/botanjs/src/Libraries/SyntaxHighlighter/Brush/AppleScript.js
+++ b/botanjs/src/Libraries/SyntaxHighlighter/Brush/AppleScript.js
@@ -13,7 +13,7 @@
     /** @type {Libraries.SyntaxHighlighter} */
     var SyntaxHighlighter = __import( "Libraries.SyntaxHighlighter" );
 
-    /** @type {Libraries.SyntaxHighlighter.Brush} **/
+    /** @type {typeof Libraries.SyntaxHighlighterBrush} **/
 	var Brush = function()
 	{
 		// AppleScript brush by David Chambers
diff --git a/botanjs/src/Libraries/SyntaxHighlighter/Brush/Bash.js b/botanjs/src/Libraries/SyntaxHighlighter/Brush/Bash.js
index 27bf599..dcf8605 100644
--- a/botanjs/src/Libraries/SyntaxHighlighter/Brush/Bash.js
+++ b/botanjs/src/Libraries/SyntaxHighlighter/Brush/Bash.js
@@ -13,7 +13,7 @@
     /** @type {Libraries.SyntaxHighlighter} */
     var SyntaxHighlighter = __import( "Libraries.SyntaxHighlighter" );
 
-    /** @type {Libraries.SyntaxHighlighter.Brush} **/
+    /** @type {typeof Libraries.SyntaxHighlighterBrush} **/
 	var Brush = function()
 	{
 		var keywords =	'if fi then elif else for do done until while break continue case function return in eq ne ge le';
diff --git a/botanjs/src/Libraries/SyntaxHighlighter/Brush/CSharp.js b/botanjs/src/Libraries/SyntaxHighlighter/Brush/CSharp.js
index 6cd33a3..c207983 100644
--- a/botanjs/src/Libraries/SyntaxHighlighter/Brush/CSharp.js
+++ b/botanjs/src/Libraries/SyntaxHighlighter/Brush/CSharp.js
@@ -13,7 +13,7 @@
     /** @type {Libraries.SyntaxHighlighter} */
     var SyntaxHighlighter = __import( "Libraries.SyntaxHighlighter" );
 
-    /** @type {Libraries.SyntaxHighlighter.Brush} **/
+    /** @type {typeof Libraries.SyntaxHighlighterBrush} **/
 	var Brush = function()
 	{
 		var keywords =	'abstract as base bool break byte case catch char checked class const ' +
diff --git a/botanjs/src/Libraries/SyntaxHighlighter/Brush/ColdFusion.js b/botanjs/src/Libraries/SyntaxHighlighter/Brush/ColdFusion.js
index 53a8289..bcf1d07 100644
--- a/botanjs/src/Libraries/SyntaxHighlighter/Brush/ColdFusion.js
+++ b/botanjs/src/Libraries/SyntaxHighlighter/Brush/ColdFusion.js
@@ -13,7 +13,7 @@
     /** @type {Libraries.SyntaxHighlighter} */
     var SyntaxHighlighter = __import( "Libraries.SyntaxHighlighter" );
 
-    /** @type {Libraries.SyntaxHighlighter.Brush} **/
+    /** @type {typeof Libraries.SyntaxHighlighterBrush} **/
 	var Brush = function()
 	{
 		// Contributed by Jen
diff --git a/botanjs/src/Libraries/SyntaxHighlighter/Brush/Cpp.js b/botanjs/src/Libraries/SyntaxHighlighter/Brush/Cpp.js
index c385c06..a026dd5 100644
--- a/botanjs/src/Libraries/SyntaxHighlighter/Brush/Cpp.js
+++ b/botanjs/src/Libraries/SyntaxHighlighter/Brush/Cpp.js
@@ -13,7 +13,7 @@
     /** @type {Libraries.SyntaxHighlighter} */
     var SyntaxHighlighter = __import( "Libraries.SyntaxHighlighter" );
 
-    /** @type {Libraries.SyntaxHighlighter.Brush} **/
+    /** @type {typeof Libraries.SyntaxHighlighterBrush} **/
 	var Brush = function()
 	{
 		// Copyright 2006 Shin, YoungJin
diff --git a/botanjs/src/Libraries/SyntaxHighlighter/Brush/Css.js b/botanjs/src/Libraries/SyntaxHighlighter/Brush/Css.js
index 22094c1..769e293 100644
--- a/botanjs/src/Libraries/SyntaxHighlighter/Brush/Css.js
+++ b/botanjs/src/Libraries/SyntaxHighlighter/Brush/Css.js
@@ -13,7 +13,7 @@
     /** @type {Libraries.SyntaxHighlighter} */
     var SyntaxHighlighter = __import( "Libraries.SyntaxHighlighter" );
 
-    /** @type {Libraries.SyntaxHighlighter.Brush} **/
+    /** @type {typeof Libraries.SyntaxHighlighterBrush} **/
 	var Brush = function()
 	{
 		function getKeywordsCSS(str)
diff --git a/botanjs/src/Libraries/SyntaxHighlighter/Brush/Delphi.js b/botanjs/src/Libraries/SyntaxHighlighter/Brush/Delphi.js
index db5cbb5..202e891 100644
--- a/botanjs/src/Libraries/SyntaxHighlighter/Brush/Delphi.js
+++ b/botanjs/src/Libraries/SyntaxHighlighter/Brush/Delphi.js
@@ -13,7 +13,7 @@
     /** @type {Libraries.SyntaxHighlighter} */
     var SyntaxHighlighter = __import( "Libraries.SyntaxHighlighter" );
 
-    /** @type {Libraries.SyntaxHighlighter.Brush} **/
+    /** @type {typeof Libraries.SyntaxHighlighterBrush} **/
 	var Brush = function()
 	{
 		var keywords =	'abs addr and ansichar ansistring array as asm begin boolean byte cardinal ' +
diff --git a/botanjs/src/Libraries/SyntaxHighlighter/Brush/Diff.js b/botanjs/src/Libraries/SyntaxHighlighter/Brush/Diff.js
index a159dc9..2875d04 100644
--- a/botanjs/src/Libraries/SyntaxHighlighter/Brush/Diff.js
+++ b/botanjs/src/Libraries/SyntaxHighlighter/Brush/Diff.js
@@ -13,7 +13,7 @@
     /** @type {Libraries.SyntaxHighlighter} */
     var SyntaxHighlighter = __import( "Libraries.SyntaxHighlighter" );
 
-    /** @type {Libraries.SyntaxHighlighter.Brush} **/
+    /** @type {typeof Libraries.SyntaxHighlighterBrush} **/
 	var Brush = function()
 	{
 		this.regexList = [
diff --git a/botanjs/src/Libraries/SyntaxHighlighter/Brush/Erlang.js b/botanjs/src/Libraries/SyntaxHighlighter/Brush/Erlang.js
index c3e7fb3..13c69f1 100644
--- a/botanjs/src/Libraries/SyntaxHighlighter/Brush/Erlang.js
+++ b/botanjs/src/Libraries/SyntaxHighlighter/Brush/Erlang.js
@@ -13,7 +13,7 @@
     /** @type {Libraries.SyntaxHighlighter} */
     var SyntaxHighlighter = __import( "Libraries.SyntaxHighlighter" );
 
-    /** @type {Libraries.SyntaxHighlighter.Brush} **/
+    /** @type {typeof Libraries.SyntaxHighlighterBrush} **/
 	var Brush = function()
 	{
 		// Contributed by Jean-Lou Dupont
diff --git a/botanjs/src/Libraries/SyntaxHighlighter/Brush/Go.js b/botanjs/src/Libraries/SyntaxHighlighter/Brush/Go.js
new file mode 100644
index 0000000..beb1097
--- /dev/null
+++ b/botanjs/src/Libraries/SyntaxHighlighter/Brush/Go.js
@@ -0,0 +1,46 @@
+/**
+ * Golang brush by ChatGPT
+ */
+;(function()
+{
+	var ns = __namespace( "Libraries.SyntaxHighlighter.Brush" );
+
+	/** @type {Libraries.SyntaxHighlighter} */
+	var SyntaxHighlighter = __import( "Libraries.SyntaxHighlighter" );
+
+	/** @type {typeof Libraries.SyntaxHighlighterBrush} **/
+	var Brush = function()
+	{
+		var keywords =
+			'break default func interface select case defer go map struct ' +
+			'chan else goto package switch const fallthrough if range type ' +
+			'continue for import return var';
+
+		var builtins =
+			'append bool byte cap close complex complex64 complex128 copy delete error false ' +
+			'float32 float64 imag int int8 int16 int32 int64 iota len make new nil panic ' +
+			'print println real recover rune string true uint uint8 uint16 uint32 uint64 uintptr any comparable';
+
+		this.regexList = [
+			{ "regex": SyntaxHighlighter.regexLib.singleLineCComments, "css": "comments" },
+			{ "regex": SyntaxHighlighter.regexLib.multiLineCComments,  "css": "comments" },
+
+			{ "regex": SyntaxHighlighter.regexLib.doubleQuotedString,   "css": "string" },
+			{ "regex": /`[\s\S]*?`/g,                                   "css": "string" },
+
+			{ "regex": /\b(?:0[xX][0-9a-fA-F_]+|0[bB][01_]+|0[oO][0-7_]+|\d[\d_]*(?:\.\d[\d_]*)?(?:[eE][+\-]?\d[\d_]*)?)\b/g, "css": "value" },
+
+			{ "regex": /\b[A-Z][A-Za-z0-9_]*\b/g,                       "css": "color1" },
+
+			{ "regex": new RegExp(this.getKeywords(keywords), "gm"),    "css": "keyword" },
+			{ "regex": new RegExp(this.getKeywords(builtins), "gm"),    "css": "color2" }
+		];
+	};
+
+	Brush.prototype = new SyntaxHighlighter.Highlighter();
+	Brush.aliases = [ "go", "golang" ];
+
+	SyntaxHighlighter.brushes[ "Go" ] = Brush;
+
+	ns[ NS_EXPORT ]( EX_CLASS, "Go", Brush );
+})();
diff --git a/botanjs/src/Libraries/SyntaxHighlighter/Brush/Groovy.js b/botanjs/src/Libraries/SyntaxHighlighter/Brush/Groovy.js
index a856795..b07a325 100644
--- a/botanjs/src/Libraries/SyntaxHighlighter/Brush/Groovy.js
+++ b/botanjs/src/Libraries/SyntaxHighlighter/Brush/Groovy.js
@@ -13,7 +13,7 @@
     /** @type {Libraries.SyntaxHighlighter} */
     var SyntaxHighlighter = __import( "Libraries.SyntaxHighlighter" );
 
-    /** @type {Libraries.SyntaxHighlighter.Brush} **/
+    /** @type {typeof Libraries.SyntaxHighlighterBrush} **/
 	var Brush = function()
 	{
 		// Contributed by Andres Almiray
diff --git a/botanjs/src/Libraries/SyntaxHighlighter/Brush/JScript.js b/botanjs/src/Libraries/SyntaxHighlighter/Brush/JScript.js
index edf8525..77c612c 100644
--- a/botanjs/src/Libraries/SyntaxHighlighter/Brush/JScript.js
+++ b/botanjs/src/Libraries/SyntaxHighlighter/Brush/JScript.js
@@ -13,7 +13,7 @@
     /** @type {Libraries.SyntaxHighlighter} */
     var SyntaxHighlighter = __import( "Libraries.SyntaxHighlighter" );
 
-    /** @type {Libraries.SyntaxHighlighter.Brush} **/
+    /** @type {typeof Libraries.SyntaxHighlighterBrush} **/
     var Brush = function()
 	{
 		var keywords =	'break case catch continue ' +
diff --git a/botanjs/src/Libraries/SyntaxHighlighter/Brush/Java.js b/botanjs/src/Libraries/SyntaxHighlighter/Brush/Java.js
index 05d012b..09019d5 100644
--- a/botanjs/src/Libraries/SyntaxHighlighter/Brush/Java.js
+++ b/botanjs/src/Libraries/SyntaxHighlighter/Brush/Java.js
@@ -13,7 +13,7 @@
     /** @type {Libraries.SyntaxHighlighter} */
     var SyntaxHighlighter = __import( "Libraries.SyntaxHighlighter" );
 
-    /** @type {Libraries.SyntaxHighlighter.Brush} **/
+    /** @type {typeof Libraries.SyntaxHighlighterBrush} **/
     var Brush = function()
 	{
 		var keywords =	'abstract assert boolean break byte case catch char class const ' +
diff --git a/botanjs/src/Libraries/SyntaxHighlighter/Brush/JavaFX.js b/botanjs/src/Libraries/SyntaxHighlighter/Brush/JavaFX.js
index 4c8594a..354aa33 100644
--- a/botanjs/src/Libraries/SyntaxHighlighter/Brush/JavaFX.js
+++ b/botanjs/src/Libraries/SyntaxHighlighter/Brush/JavaFX.js
@@ -13,7 +13,7 @@
     /** @type {Libraries.SyntaxHighlighter} */
     var SyntaxHighlighter = __import( "Libraries.SyntaxHighlighter" );
 
-    /** @type {Libraries.SyntaxHighlighter.Brush} **/
+    /** @type {typeof Libraries.SyntaxHighlighterBrush} **/
     var Brush = function()
 	{
 		// Contributed by Patrick Webster
diff --git a/botanjs/src/Libraries/SyntaxHighlighter/Brush/Perl.js b/botanjs/src/Libraries/SyntaxHighlighter/Brush/Perl.js
index 7c05ae2..2dabc40 100644
--- a/botanjs/src/Libraries/SyntaxHighlighter/Brush/Perl.js
+++ b/botanjs/src/Libraries/SyntaxHighlighter/Brush/Perl.js
@@ -13,7 +13,7 @@
     /** @type {Libraries.SyntaxHighlighter} */
     var SyntaxHighlighter = __import( "Libraries.SyntaxHighlighter" );
 
-    /** @type {Libraries.SyntaxHighlighter.Brush} **/
+    /** @type {typeof Libraries.SyntaxHighlighterBrush} **/
     var Brush = function()
 	{
 		// Contributed by David Simmons-Duffin and Marty Kube
diff --git a/botanjs/src/Libraries/SyntaxHighlighter/Brush/Php.js b/botanjs/src/Libraries/SyntaxHighlighter/Brush/Php.js
index 7192469..7dd4206 100644
--- a/botanjs/src/Libraries/SyntaxHighlighter/Brush/Php.js
+++ b/botanjs/src/Libraries/SyntaxHighlighter/Brush/Php.js
@@ -13,7 +13,7 @@
 	/** @type {Libraries.SyntaxHighlighter} */
 	var SyntaxHighlighter = __import( "Libraries.SyntaxHighlighter" );
 
-	/** @type {Libraries.SyntaxHighlighter.Brush} **/
+	/** @type {typeof Libraries.SyntaxHighlighterBrush} **/
 	var Brush = function ()
 	{
 		var funcs	=	'abs acos acosh addcslashes addslashes ' +
diff --git a/botanjs/src/Libraries/SyntaxHighlighter/Brush/Plain.js b/botanjs/src/Libraries/SyntaxHighlighter/Brush/Plain.js
index bc0b732..a8aa1a7 100644
--- a/botanjs/src/Libraries/SyntaxHighlighter/Brush/Plain.js
+++ b/botanjs/src/Libraries/SyntaxHighlighter/Brush/Plain.js
@@ -13,7 +13,7 @@
     /** @type {Libraries.SyntaxHighlighter} */
     var SyntaxHighlighter = __import( "Libraries.SyntaxHighlighter" );
 
-    /** @type {Libraries.SyntaxHighlighter.Brush} **/
+    /** @type {typeof Libraries.SyntaxHighlighterBrush} **/
     var Brush = function()
 	{
 	};
diff --git a/botanjs/src/Libraries/SyntaxHighlighter/Brush/PowerShell.js b/botanjs/src/Libraries/SyntaxHighlighter/Brush/PowerShell.js
index 1a5c115..e0da6c8 100644
--- a/botanjs/src/Libraries/SyntaxHighlighter/Brush/PowerShell.js
+++ b/botanjs/src/Libraries/SyntaxHighlighter/Brush/PowerShell.js
@@ -13,7 +13,7 @@
     /** @type {Libraries.SyntaxHighlighter} */
     var SyntaxHighlighter = __import( "Libraries.SyntaxHighlighter" );
 
-    /** @type {Libraries.SyntaxHighlighter.Brush} **/
+    /** @type {typeof Libraries.SyntaxHighlighterBrush} **/
     var Brush = function()
 	{
 		// Contributes by B.v.Zanten, Getronics
diff --git a/botanjs/src/Libraries/SyntaxHighlighter/Brush/Python.js b/botanjs/src/Libraries/SyntaxHighlighter/Brush/Python.js
index ea22d00..2228559 100644
--- a/botanjs/src/Libraries/SyntaxHighlighter/Brush/Python.js
+++ b/botanjs/src/Libraries/SyntaxHighlighter/Brush/Python.js
@@ -13,7 +13,7 @@
     /** @type {Libraries.SyntaxHighlighter} */
     var SyntaxHighlighter = __import( "Libraries.SyntaxHighlighter" );
 
-    /** @type {Libraries.SyntaxHighlighter.Brush} **/
+    /** @type {typeof Libraries.SyntaxHighlighterBrush} **/
     var Brush = function()
 	{
 		// Contributed by Gheorghe Milas and Ahmad Sherif
diff --git a/botanjs/src/Libraries/SyntaxHighlighter/Brush/Sass.js b/botanjs/src/Libraries/SyntaxHighlighter/Brush/Sass.js
index 592adfd..da587c1 100644
--- a/botanjs/src/Libraries/SyntaxHighlighter/Brush/Sass.js
+++ b/botanjs/src/Libraries/SyntaxHighlighter/Brush/Sass.js
@@ -13,7 +13,7 @@
     /** @type {Libraries.SyntaxHighlighter} */
     var SyntaxHighlighter = __import( "Libraries.SyntaxHighlighter" );
 
-    /** @type {Libraries.SyntaxHighlighter.Brush} **/
+    /** @type {typeof Libraries.SyntaxHighlighterBrush} **/
     var Brush = function()
 	{
 		function getKeywordsCSS(str)
diff --git a/botanjs/src/Libraries/SyntaxHighlighter/Brush/Scala.js b/botanjs/src/Libraries/SyntaxHighlighter/Brush/Scala.js
index 1343682..9c60063 100644
--- a/botanjs/src/Libraries/SyntaxHighlighter/Brush/Scala.js
+++ b/botanjs/src/Libraries/SyntaxHighlighter/Brush/Scala.js
@@ -13,7 +13,7 @@
     /** @type {Libraries.SyntaxHighlighter} */
     var SyntaxHighlighter = __import( "Libraries.SyntaxHighlighter" );
 
-    /** @type {Libraries.SyntaxHighlighter.Brush} **/
+    /** @type {typeof Libraries.SyntaxHighlighterBrush} **/
     var Brush = function()
 	{
 		// Contributed by Yegor Jbanov and David Bernard.
diff --git a/botanjs/src/Libraries/SyntaxHighlighter/Brush/Sql.js b/botanjs/src/Libraries/SyntaxHighlighter/Brush/Sql.js
index a1baf85..3f98ce9 100644
--- a/botanjs/src/Libraries/SyntaxHighlighter/Brush/Sql.js
+++ b/botanjs/src/Libraries/SyntaxHighlighter/Brush/Sql.js
@@ -13,7 +13,7 @@
     /** @type {Libraries.SyntaxHighlighter} */
     var SyntaxHighlighter = __import( "Libraries.SyntaxHighlighter" );
 
-    /** @type {Libraries.SyntaxHighlighter.Brush} **/
+    /** @type {typeof Libraries.SyntaxHighlighterBrush} **/
     var Brush = function()
 	{
 		var funcs	=	'abs avg case cast coalesce convert count current_timestamp ' +
diff --git a/botanjs/src/Libraries/SyntaxHighlighter/Brush/Vb.js b/botanjs/src/Libraries/SyntaxHighlighter/Brush/Vb.js
index a7ac6b4..7d3f352 100644
--- a/botanjs/src/Libraries/SyntaxHighlighter/Brush/Vb.js
+++ b/botanjs/src/Libraries/SyntaxHighlighter/Brush/Vb.js
@@ -13,7 +13,7 @@
     /** @type {Libraries.SyntaxHighlighter} */
     var SyntaxHighlighter = __import( "Libraries.SyntaxHighlighter" );
 
-    /** @type {Libraries.SyntaxHighlighter.Brush} **/
+    /** @type {typeof Libraries.SyntaxHighlighterBrush} **/
     var Brush = function()
 	{
 		var keywords =	'AddHandler AddressOf AndAlso Alias And Ansi As Assembly Auto ' +
diff --git a/botanjs/src/Libraries/SyntaxHighlighter/Brush/Xml.js b/botanjs/src/Libraries/SyntaxHighlighter/Brush/Xml.js
index 20d502d..9a0373e 100644
--- a/botanjs/src/Libraries/SyntaxHighlighter/Brush/Xml.js
+++ b/botanjs/src/Libraries/SyntaxHighlighter/Brush/Xml.js
@@ -15,7 +15,7 @@
 
     var XRegExp = __import( "Libraries.XRegExp" );
 
-    /** @type {Libraries.SyntaxHighlighter.Brush} **/
+    /** @type {typeof Libraries.SyntaxHighlighterBrush} **/
     var Brush = function()
 	{
 		function process(match, regexInfo)
diff --git a/botanjs/src/Libraries/SyntaxHighlighter/_this.js b/botanjs/src/Libraries/SyntaxHighlighter/_this.js
index db3889d..3e1f753 100644
--- a/botanjs/src/Libraries/SyntaxHighlighter/_this.js
+++ b/botanjs/src/Libraries/SyntaxHighlighter/_this.js
@@ -19,6 +19,10 @@
 	var XRegExp;
 	if (XRegExp) throw Error("can't load XRegExp twice in the same frame");
 	(function() {
+		/**
+		 * @param {*} f
+		 * @param {*=} e
+		 */
 		function r(f, e) {
 			if (!XRegExp.isRegExp(f)) throw TypeError("type RegExp expected");
 			var a = f._xregexp;
@@ -60,6 +64,11 @@
 			return d
 		}
 
+		/**
+		 * @param {*} f
+		 * @param {*} e
+		 * @param {?number=} a
+		 */
 		function p(f, e, a) {
 			if (Array.prototype.indexOf) return f.indexOf(e, a);
 			for (a = a || 0; a < f.length; a++)
@@ -137,6 +146,12 @@
 			z = {};
 		z[XRegExp.INSIDE_CLASS] = /^(?:\\(?:[0-3][0-7]{0,2}|[4-7][0-7]?|x[\dA-Fa-f]{2}|u[\dA-Fa-f]{4}|c[A-Za-z]|[\s\S]))/;
 		z[XRegExp.OUTSIDE_CLASS] = /^(?:\\(?:0(?:[0-3][0-7]{0,2}|[4-7][0-7]?)?|[1-9]\d*|x[\dA-Fa-f]{2}|u[\dA-Fa-f]{4}|c[A-Za-z]|[\s\S])|\(\?[:=!]|[?*+]\?|{\d+(?:,\d*)?}\??)/;
+		/**
+		 * @param {*} f
+		 * @param {*} e
+		 * @param {*=} a
+		 * @param {*=} b
+		 */
 		XRegExp.addToken = function(f, e, a, b) {
 			u.push({
 				pattern: r(f, "g" + (E ? "y" : "")),
@@ -197,14 +212,16 @@
 			return this.exec(e)
 		};
 		RegExp.prototype.exec = function(f) {
-			var e = n.exec.apply(this, arguments),
+			var e = /** @type {?RegExpResult} */ (n.exec.apply(this, arguments)),
 				a;
 			if (e) {
 				if (!x && e.length > 1 && p(e, "") > -1) {
 					a = RegExp(this.source, n.replace.call(t(this), "g", ""));
 					n.replace.call(f.slice(e.index), a, function() {
+						/** @type {!Array<?>} */
+						var ee = /** @type {!Array<?>} */ (e);
 						for (var c = 1; c < arguments.length - 2; c++)
-							if (arguments[c] === undefined) e[c] = undefined
+							if (arguments[c] === undefined) ee[c] = undefined
 					})
 				}
 				if (this._xregexp && this._xregexp.captureNames)
@@ -247,7 +264,7 @@
 				c = this + "";
 				c = n.replace.call(c, f, function() {
 					var d = arguments;
-					return n.replace.call(e, C, function(h, g, i) {
+					return n.replace.call(String(e), C, function(h, g, i) {
 						if (g) switch (g) {
 							case "$":
 								return "$";
@@ -262,7 +279,7 @@
 								g = +g;
 								if (!g) return h;
 								for (; g > d.length - 3;) {
-									i = String.prototype.slice.call(g, -1) + i;
+									i = String.prototype.slice.call(String(g), -1) + i;
 									g = Math.floor(g / 10)
 								}
 								return (g ? d[g] || "" : "$") + i
@@ -352,6 +369,11 @@
 			return e.vars.highlighters[t(a)]
 		}
 
+		/**
+		 * @param {*} a
+		 * @param {*} b
+		 * @param {*=} c
+		 */
 		function p(a, b, c) {
 			if (a == null) return null;
 			var d = c != true ? a.childNodes : [a.parentNode],
@@ -374,6 +396,12 @@
 			return c
 		}
 
+		/**
+		 * @param {*} a
+		 * @param {*} b
+		 * @param {*} c
+		 * @param {*=} d
+		 */
 		function w(a, b, c, d) {
 			function h(g) {
 				g = g || window.event;
@@ -388,8 +416,13 @@
 			a.attachEvent ? a.attachEvent("on" + b, h) : a.addEventListener(b, h, false)
 		}
 
+		/**
+		 * @param {*} a
+		 * @param {*=} b
+		 */
 		function A(a, b) {
-			var c = e.vars.discoveredBrushes,
+			
+			var c = /** @type {?Object<string, *>} */ (e.vars.discoveredBrushes),
 				d = null;
 			if (c == null) {
 				c = {};
@@ -648,7 +681,12 @@
 				}
 				return d
 			},
-			highlight: function(a, b) {
+			highlight:
+			/**
+			 * @param {*} a
+			 * @param {*=} b
+			 */
+			function(a, b) {
 				var c = this.findElements(a, b),
 					d = null,
 					h = e.config;
@@ -698,7 +736,7 @@
 		};
 		e.all = e.all;
 		e.highlight = e.highlight;
-		e.Match = function(a, b, c) {
+		e.Match =  /** @constructor */ function(a, b, c) {
 			this.value = a;
 			this.index = b;
 			this.length = a.length;
@@ -708,12 +746,12 @@
 		e.Match.prototype.toString = function() {
 			return this.value
 		};
-		e.HtmlScript = function(a) {
+		e.HtmlScript = /** @constructor */ function(a) {
 			function b(j, l) {
 				for (var m = 0; m < j.length; m++) j[m].index += l
 			}
 			var c = A(a),
-				d, h = new e.brushes.Xml,
+				d, h = new e.brushes["Xml"],
 				g = this,
 				i = "getDiv getHtml init".split(" ");
 			if (c != null) {
@@ -783,7 +821,7 @@
 			},
 			figureOutLineNumbers: function(a) {
 				var b = [],
-					c = parseInt(this.getParam("first-line"));
+					c = parseInt(this.getParam("first-line"),10);
 				v(a, function(d, h) {
 					b.push(h + c)
 				});
@@ -812,7 +850,7 @@
 			getLineNumbersHtml: function(a, b) {
 				var c = "",
 					d = a.split("\n").length,
-					h = parseInt(this.getParam("first-line")),
+					h = parseInt(this.getParam("first-line"),10),
 					g = this.getParam("pad-line-numbers");
 				if (g == true) g = (h + d - 1).toString().length;
 				else if (isNaN(g) == true) g = 0;
@@ -834,7 +872,7 @@
 				a = x(a);
 				var c = a.split("\n");
 				this.getParam("pad-line-numbers");
-				var d = parseInt(this.getParam("first-line"));
+				var d = parseInt(this.getParam("first-line"),10);
 				a = "";
 				for (var h = this.getParam("brush"), g = 0; g < c.length; g++) {
 					var i = c[g],
@@ -856,6 +894,9 @@
 				return a ? "<caption>" + a + "</caption>" : ""
 			},
 			getMatchesHtml: function(a, b) {
+				/**
+				 * @param {*=} l
+				 */
 				function c(l) {
 					return (l = l ? l.brushName || g : g) ? l + " " : ""
 				}
diff --git a/botanjs/src/externs/Libraries.SyntaxHighLighter.Brush.js b/botanjs/src/externs/Libraries.SyntaxHighLighter.Brush.js
index 996a552..e69de29 100644
--- a/botanjs/src/externs/Libraries.SyntaxHighLighter.Brush.js
+++ b/botanjs/src/externs/Libraries.SyntaxHighLighter.Brush.js
@@ -1,15 +0,0 @@
-/** @constructor */
-Libraries.SyntaxHighlighter.Brush = function (){};
-
-/** @type {Object} */
-Libraries.SyntaxHighlighter.Brush.prototype;
-/** @type {Array} */
-Libraries.SyntaxHighlighter.Brush.aliases;
-/** @type {Array} */
-Libraries.SyntaxHighlighter.Brush.regexList;
-/** @type {Function} */
-Libraries.SyntaxHighlighter.Brush.forHtmlScript;
-/** @type {Function} */
-Libraries.SyntaxHighlighter.Brush.getKeywords;
-
-
diff --git a/botanjs/src/externs/Libraries.SyntaxHighLighter.js b/botanjs/src/externs/Libraries.SyntaxHighLighter.js
index 6418e6e..371a54c 100644
--- a/botanjs/src/externs/Libraries.SyntaxHighLighter.js
+++ b/botanjs/src/externs/Libraries.SyntaxHighLighter.js
@@ -1,19 +1,43 @@
-/** @constructor */
+/**
+ * Base brush constructor.
+ *
+ * @constructor
+ */
+Libraries.SyntaxHighlighterBrush = function() {};
+
+/** @type {!Array<string>} */
+Libraries.SyntaxHighlighterBrush.prototype.aliases;
+
+/** @type {!Array<*>} */
+Libraries.SyntaxHighlighterBrush.prototype.regexList;
+
+/** @type {function(...?): *} */
+Libraries.SyntaxHighlighterBrush.prototype.forHtmlScript;
+
+/** @type {function(...?): *} */
+Libraries.SyntaxHighlighterBrush.prototype.getKeywords;
+
+
+/**
+ * SyntaxHighlighter constructor.
+ *
+ * @constructor
+ */
 Libraries.SyntaxHighlighter = function() {};
 
-/** @type {function(...?): ?} */
-Libraries.SyntaxHighlighter.prototype.all = function() {};
+/** @type {function(...?): *} */
+Libraries.SyntaxHighlighter.prototype.all;
 
 /** @type {!Object<string, *>} */
 Libraries.SyntaxHighlighter.prototype.defaults;
 
-/** @type {function(...?): ?} */
-Libraries.SyntaxHighlighter.prototype.highlight = function(){};
+/** @type {function(...?): *} */
+Libraries.SyntaxHighlighter.prototype.highlight;
 
-/** @type {!Object<string, *>} */
+/** @type {function(new:Libraries.SyntaxHighlighterBrush)} */
 Libraries.SyntaxHighlighter.prototype.Highlighter;
 
-/** @type {!Object<string, *>} */
+/** @type {!Object<string, function(new:Libraries.SyntaxHighlighterBrush)>} */
 Libraries.SyntaxHighlighter.prototype.brushes;
 
 /** @type {!Object<string, !RegExp>} */
diff --git a/resolver-go/cmd/api-server/main.go b/resolver-go/cmd/api-server/main.go
index a88855a..1f57ca1 100644
--- a/resolver-go/cmd/api-server/main.go
+++ b/resolver-go/cmd/api-server/main.go
@@ -4,6 +4,7 @@ import (
 	"flag"
 	"log"
 	"net/http"
+	"os"
 	"strings"
 	"time"
 
@@ -24,12 +25,16 @@ func main() {
 		log.Fatal(err)
 	}
 
+	useCache := os.Getenv("RESOLVER_CACHE")
+
 	options := compilecache.Options{
 		Workers:      2,
 		QueueSize:    128,
-		DisableCache: false,
+		DisableCache: (useCache == "1"),
 	}
 
+	r.DisableCache = options.DisableCache
+
 	h := handler{
 		r:        r,
 		jsCache:  compilecache.New(closure.NewCompiler(), options),
diff --git a/resolver-go/internal/generated/buildinfo_gen.go b/resolver-go/internal/generated/buildinfo_gen.go
index ae2e843..e631846 100644
--- a/resolver-go/internal/generated/buildinfo_gen.go
+++ b/resolver-go/internal/generated/buildinfo_gen.go
@@ -2,5 +2,5 @@ package generated
 
 const (
 	IMAGE_TAG   = "dev"
-	Timestamp   = "20260616.003102"
+	Timestamp   = "20260617.010042"
 )
diff --git a/resolver-go/internal/generated/classmap_gen.go b/resolver-go/internal/generated/classmap_gen.go
index c110eeb..42ff05d 100644
--- a/resolver-go/internal/generated/classmap_gen.go
+++ b/resolver-go/internal/generated/classmap_gen.go
@@ -24,7 +24,7 @@ var ClassMap = &classmap.Map{
 		"Astro.Blog.AstroEdit.Visualizer.Snippet.AcquireLib":               {Name: "Astro.Blog.AstroEdit.Visualizer.Snippet.AcquireLib", Kind: "class", Parent: "Astro.Blog.AstroEdit.Visualizer.Snippet", Imports: []string{"System.utils.IKey", "System.utils.DataKey", "Dandelion.IDOMElement", "Dandelion", "Components.MessageBox"}, Resource: classmap.Resource{Src: "Astro/Blog/AstroEdit/Visualizer/Snippet/AcquireLib.js", JSHash: "7af9a09fbf17d439fb810b3485609c4bbd816729", CSSHash: "e3860ca0ac69a86e948b811da1ebf6ba85fad57f"}},
 		"Astro.Blog.AstroEdit.Visualizer.Snippet.ArticleContent":           {Name: "Astro.Blog.AstroEdit.Visualizer.Snippet.ArticleContent", Kind: "class", Parent: "Astro.Blog.AstroEdit.Visualizer.Snippet", Imports: []string{"System.utils.IKey", "System.utils.DataKey", "Dandelion.IDOMElement", "Dandelion", "Components.MessageBox", "Astro.Blog.Config", "System.utils.Perf", "Astro.utils.Date", "Astro.Blog.AstroEdit.Visualizer.Snippet.escapeStr", "Astro.Blog.AstroEdit.Visualizer.Snippet.unescapeStr", "Astro.Blog.AstroEdit.Visualizer.Snippet.compileProp", "System.Net.postData"}, Resource: classmap.Resource{Src: "Astro/Blog/AstroEdit/Visualizer/Snippet/ArticleContent.js", JSHash: "83817c1b1e8c73a598e1c090d3dae8fb341bcebe", CSSHash: "e1cfcf676ebfc3a9ab80139ab2f7e63a2a1b286f"}},
 		"Astro.Blog.AstroEdit.Visualizer.Snippet.ArticleLink":              {Name: "Astro.Blog.AstroEdit.Visualizer.Snippet.ArticleLink", Kind: "class", Parent: "Astro.Blog.AstroEdit.Visualizer.Snippet", Imports: []string{"System.utils.IKey", "System.utils.DataKey", "Dandelion.IDOMElement", "Dandelion", "Components.MessageBox", "Astro.Blog.Config", "System.utils.Perf", "Astro.utils.Date", "Astro.Blog.AstroEdit.Visualizer.Snippet.escapeStr", "Astro.Blog.AstroEdit.Visualizer.Snippet.unescapeStr", "Astro.Blog.AstroEdit.Visualizer.Snippet.compileProp", "System.Net.postData"}, Resource: classmap.Resource{Src: "Astro/Blog/AstroEdit/Visualizer/Snippet/ArticleLink.js", JSHash: "7c6ecca0ad47a0eb6afc625245c6b130ff5716ba", CSSHash: "2d71bce1fa868564d9dac50db338ef7eeed16fd9"}},
-		"Astro.Blog.AstroEdit.Visualizer.Snippet.Code":                     {Name: "Astro.Blog.AstroEdit.Visualizer.Snippet.Code", Kind: "class", Parent: "Astro.Blog.AstroEdit.Visualizer.Snippet", Imports: []string{"System.utils.IKey", "System.utils.DataKey", "Dandelion.IDOMElement", "Dandelion", "Components.MessageBox", "Astro.Blog.AstroEdit.Visualizer.Snippet.escapeStr", "Astro.Blog.AstroEdit.Visualizer.Snippet.unescapeStr", "Astro.Blog.AstroEdit.Visualizer.Snippet.compileProp"}, Resource: classmap.Resource{Src: "Astro/Blog/AstroEdit/Visualizer/Snippet/Code.js", JSHash: "7666299309b1a4f355a469cac7254be1a14b337e", CSSHash: "1963e8b907d049ab7228c4cccf5e34206dca2f6c"}},
+		"Astro.Blog.AstroEdit.Visualizer.Snippet.Code":                     {Name: "Astro.Blog.AstroEdit.Visualizer.Snippet.Code", Kind: "class", Parent: "Astro.Blog.AstroEdit.Visualizer.Snippet", Imports: []string{"System.utils.IKey", "System.utils.DataKey", "Dandelion.IDOMElement", "Dandelion", "Components.MessageBox", "Astro.Blog.AstroEdit.Visualizer.Snippet.escapeStr", "Astro.Blog.AstroEdit.Visualizer.Snippet.unescapeStr", "Astro.Blog.AstroEdit.Visualizer.Snippet.compileProp"}, Resource: classmap.Resource{Src: "Astro/Blog/AstroEdit/Visualizer/Snippet/Code.js", JSHash: "53468a55cf1e8da57510dd5fbd2fbde6366eef9e", CSSHash: "1963e8b907d049ab7228c4cccf5e34206dca2f6c"}},
 		"Astro.Blog.AstroEdit.Visualizer.Snippet.Footnote":                 {Name: "Astro.Blog.AstroEdit.Visualizer.Snippet.Footnote", Kind: "class", Parent: "Astro.Blog.AstroEdit.Visualizer.Snippet", Imports: []string{"System.utils.IKey", "System.utils.DataKey", "Dandelion.IDOMElement", "Dandelion", "Components.MessageBox", "Astro.Blog.AstroEdit.Visualizer.Snippet.unescapeStr", "Astro.Blog.AstroEdit.Visualizer.Snippet.escapeStr"}, Resource: classmap.Resource{Src: "Astro/Blog/AstroEdit/Visualizer/Snippet/Footnote.js", JSHash: "075620fc95d8668ba79a1ed396f9fafd4c354b5c", CSSHash: "e3b173a7579b3897bb98226cd52a56534f75ca15"}},
 		"Astro.Blog.AstroEdit.Visualizer.Snippet.Heading":                  {Name: "Astro.Blog.AstroEdit.Visualizer.Snippet.Heading", Kind: "class", Parent: "Astro.Blog.AstroEdit.Visualizer.Snippet", Imports: []string{"System.utils.IKey", "System.utils.DataKey", "Dandelion.IDOMElement", "Dandelion", "Components.MessageBox", "Astro.Blog.AstroEdit.Visualizer.Snippet.unescapeStr", "Astro.Blog.AstroEdit.Visualizer.Snippet.escapeStr", "Astro.Blog.AstroEdit.Visualizer.Snippet.compileProp"}, Resource: classmap.Resource{Src: "Astro/Blog/AstroEdit/Visualizer/Snippet/Heading.js", JSHash: "9853e908fa40726903a8b8537a21d1f04adba0f6", CSSHash: "1"}},
 		"Astro.Blog.AstroEdit.Visualizer.Snippet.Html":                     {Name: "Astro.Blog.AstroEdit.Visualizer.Snippet.Html", Kind: "class", Parent: "Astro.Blog.AstroEdit.Visualizer.Snippet", Imports: []string{"System.utils.IKey", "System.utils.DataKey", "Dandelion.IDOMElement", "Dandelion", "Components.MessageBox", "Astro.Blog.AstroEdit.Visualizer.Snippet.escapeStr", "Astro.Blog.AstroEdit.Visualizer.Snippet.unescapeStr"}, Resource: classmap.Resource{Src: "Astro/Blog/AstroEdit/Visualizer/Snippet/Html.js", JSHash: "d327e4662449fb5742e09789b345aa6c957a26b8", CSSHash: "1"}},
@@ -209,33 +209,34 @@ var ClassMap = &classmap.Map{
 		"Dandelion.wrapna":                                                 {Name: "Dandelion.wrapna", Kind: "method", Parent: "Dandelion", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
 		"Dandelion.wrapne":                                                 {Name: "Dandelion.wrapne", Kind: "method", Parent: "Dandelion", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
 		"Libraries":                                                        {Name: "Libraries", Kind: "class", Parent: "", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
-		"Libraries.SyntaxHighlighter":                                      {Name: "Libraries.SyntaxHighlighter", Kind: "class", Parent: "Libraries", Imports: []string(nil), Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/_this.js", JSHash: "ebd53c1bd9ff84eb711687ceacb02ebf6357eec3", CSSHash: "3860c0c289ac761da7d9c595633f8bba8f58afe9"}},
+		"Libraries.SyntaxHighlighter":                                      {Name: "Libraries.SyntaxHighlighter", Kind: "class", Parent: "Libraries", Imports: []string(nil), Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/_this.js", JSHash: "168921dfe15afb6844bde5dde6b87bd5d822edee", CSSHash: "3860c0c289ac761da7d9c595633f8bba8f58afe9"}},
 		"Libraries.SyntaxHighlighter.Brush":                                {Name: "Libraries.SyntaxHighlighter.Brush", Kind: "class", Parent: "Libraries.SyntaxHighlighter", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
-		"Libraries.SyntaxHighlighter.Brush.AS3":                            {Name: "Libraries.SyntaxHighlighter.Brush.AS3", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Brush", Imports: []string{"Libraries.SyntaxHighlighter"}, Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Brush/AS3.js", JSHash: "a9bcdf532ab90c0917f234e1fce13d7cbde6d303", CSSHash: "1"}},
-		"Libraries.SyntaxHighlighter.Brush.AppleScript":                    {Name: "Libraries.SyntaxHighlighter.Brush.AppleScript", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Brush", Imports: []string{"Libraries.SyntaxHighlighter"}, Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Brush/AppleScript.js", JSHash: "2c161d78cd5b293e420559a6cb41dbf52af36364", CSSHash: "1"}},
-		"Libraries.SyntaxHighlighter.Brush.Bash":                           {Name: "Libraries.SyntaxHighlighter.Brush.Bash", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Brush", Imports: []string{"Libraries.SyntaxHighlighter"}, Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Brush/Bash.js", JSHash: "e01737b50262fb8fda87df4d1d2fcc12c5cff279", CSSHash: "1"}},
-		"Libraries.SyntaxHighlighter.Brush.CSS":                            {Name: "Libraries.SyntaxHighlighter.Brush.CSS", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Brush", Imports: []string{"Libraries.SyntaxHighlighter"}, Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Brush/Css.js", JSHash: "a13eea6d8b8560fe08dbdd8b5e11fe5caee1182e", CSSHash: "1"}},
-		"Libraries.SyntaxHighlighter.Brush.CSharp":                         {Name: "Libraries.SyntaxHighlighter.Brush.CSharp", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Brush", Imports: []string{"Libraries.SyntaxHighlighter"}, Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Brush/CSharp.js", JSHash: "c8175bf390ff40ba9dcd2034affb9d3eeca1bbc6", CSSHash: "1"}},
-		"Libraries.SyntaxHighlighter.Brush.ColdFusion":                     {Name: "Libraries.SyntaxHighlighter.Brush.ColdFusion", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Brush", Imports: []string{"Libraries.SyntaxHighlighter"}, Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Brush/ColdFusion.js", JSHash: "5752904015fee173d7b2cc805a385141d243accb", CSSHash: "1"}},
-		"Libraries.SyntaxHighlighter.Brush.Cpp":                            {Name: "Libraries.SyntaxHighlighter.Brush.Cpp", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Brush", Imports: []string{"Libraries.SyntaxHighlighter"}, Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Brush/Cpp.js", JSHash: "3afd2a20b76f24bef4c6425ac7c676029251e768", CSSHash: "1"}},
-		"Libraries.SyntaxHighlighter.Brush.Delphi":                         {Name: "Libraries.SyntaxHighlighter.Brush.Delphi", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Brush", Imports: []string{"Libraries.SyntaxHighlighter"}, Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Brush/Delphi.js", JSHash: "e8605d9f94172970ae3fb96e8a6708996bc3eb24", CSSHash: "1"}},
-		"Libraries.SyntaxHighlighter.Brush.Diff":                           {Name: "Libraries.SyntaxHighlighter.Brush.Diff", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Brush", Imports: []string{"Libraries.SyntaxHighlighter"}, Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Brush/Diff.js", JSHash: "f4a6e49d18deb054fe7e542a871f79f72c828d50", CSSHash: "1"}},
-		"Libraries.SyntaxHighlighter.Brush.Erland":                         {Name: "Libraries.SyntaxHighlighter.Brush.Erland", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Brush", Imports: []string{"Libraries.SyntaxHighlighter"}, Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Brush/Erlang.js", JSHash: "3a1cb02fd8787d7fb9c8cd059dac7ff55460f002", CSSHash: "1"}},
-		"Libraries.SyntaxHighlighter.Brush.Groovy":                         {Name: "Libraries.SyntaxHighlighter.Brush.Groovy", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Brush", Imports: []string{"Libraries.SyntaxHighlighter"}, Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Brush/Groovy.js", JSHash: "5c426a7fe76c8856a0f3e742801ab22aab619207", CSSHash: "1"}},
-		"Libraries.SyntaxHighlighter.Brush.JScript":                        {Name: "Libraries.SyntaxHighlighter.Brush.JScript", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Brush", Imports: []string{"Libraries.SyntaxHighlighter"}, Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Brush/JScript.js", JSHash: "0605f279369a383745da75c1193184b2b303140f", CSSHash: "1"}},
-		"Libraries.SyntaxHighlighter.Brush.Java":                           {Name: "Libraries.SyntaxHighlighter.Brush.Java", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Brush", Imports: []string{"Libraries.SyntaxHighlighter"}, Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Brush/Java.js", JSHash: "080de761e0bac2f683aa7d6941cb82ff41a123d8", CSSHash: "1"}},
-		"Libraries.SyntaxHighlighter.Brush.JavaFX":                         {Name: "Libraries.SyntaxHighlighter.Brush.JavaFX", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Brush", Imports: []string{"Libraries.SyntaxHighlighter"}, Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Brush/JavaFX.js", JSHash: "b9275be4113bc3d9d0c07e38d536289ee2694670", CSSHash: "1"}},
-		"Libraries.SyntaxHighlighter.Brush.Perl":                           {Name: "Libraries.SyntaxHighlighter.Brush.Perl", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Brush", Imports: []string{"Libraries.SyntaxHighlighter"}, Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Brush/Perl.js", JSHash: "4cd8a05cb33146c5cfa80db799e341d154b90e48", CSSHash: "1"}},
-		"Libraries.SyntaxHighlighter.Brush.Php":                            {Name: "Libraries.SyntaxHighlighter.Brush.Php", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Brush", Imports: []string{"Libraries.SyntaxHighlighter"}, Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Brush/Php.js", JSHash: "7dd28893e70e256385ea0b05f5b90b1c8ff6e542", CSSHash: "1"}},
-		"Libraries.SyntaxHighlighter.Brush.Plain":                          {Name: "Libraries.SyntaxHighlighter.Brush.Plain", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Brush", Imports: []string{"Libraries.SyntaxHighlighter"}, Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Brush/Plain.js", JSHash: "6d5479daeaa74a77b5f2d4296953d3127885e475", CSSHash: "1"}},
-		"Libraries.SyntaxHighlighter.Brush.PowerShell":                     {Name: "Libraries.SyntaxHighlighter.Brush.PowerShell", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Brush", Imports: []string{"Libraries.SyntaxHighlighter"}, Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Brush/PowerShell.js", JSHash: "2fa87850b6852fa21fbf40f65dfd9e40b6812fb1", CSSHash: "1"}},
-		"Libraries.SyntaxHighlighter.Brush.Python":                         {Name: "Libraries.SyntaxHighlighter.Brush.Python", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Brush", Imports: []string{"Libraries.SyntaxHighlighter"}, Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Brush/Python.js", JSHash: "0bb656b70b58989685c7dfb95835ea7b96670e65", CSSHash: "1"}},
+		"Libraries.SyntaxHighlighter.Brush.AS3":                            {Name: "Libraries.SyntaxHighlighter.Brush.AS3", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Brush", Imports: []string{"Libraries.SyntaxHighlighter"}, Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Brush/AS3.js", JSHash: "9995265a3bba458749834a5be30d0609df62ca02", CSSHash: "1"}},
+		"Libraries.SyntaxHighlighter.Brush.AppleScript":                    {Name: "Libraries.SyntaxHighlighter.Brush.AppleScript", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Brush", Imports: []string{"Libraries.SyntaxHighlighter"}, Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Brush/AppleScript.js", JSHash: "967b21aafc98d2b3f1f0624072e199dd67ea8b60", CSSHash: "1"}},
+		"Libraries.SyntaxHighlighter.Brush.Bash":                           {Name: "Libraries.SyntaxHighlighter.Brush.Bash", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Brush", Imports: []string{"Libraries.SyntaxHighlighter"}, Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Brush/Bash.js", JSHash: "a853cecd15f1d9c07a64762d5e7121a7b940a89b", CSSHash: "1"}},
+		"Libraries.SyntaxHighlighter.Brush.CSS":                            {Name: "Libraries.SyntaxHighlighter.Brush.CSS", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Brush", Imports: []string{"Libraries.SyntaxHighlighter"}, Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Brush/Css.js", JSHash: "0bb87fadfdba16223e1b72754c0f35bb8638382e", CSSHash: "1"}},
+		"Libraries.SyntaxHighlighter.Brush.CSharp":                         {Name: "Libraries.SyntaxHighlighter.Brush.CSharp", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Brush", Imports: []string{"Libraries.SyntaxHighlighter"}, Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Brush/CSharp.js", JSHash: "bfcc6c7def285ba87bb6a06483a8089a5bfc9a4d", CSSHash: "1"}},
+		"Libraries.SyntaxHighlighter.Brush.ColdFusion":                     {Name: "Libraries.SyntaxHighlighter.Brush.ColdFusion", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Brush", Imports: []string{"Libraries.SyntaxHighlighter"}, Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Brush/ColdFusion.js", JSHash: "4835a6529d4b0a18a3b256e1180b357d80835a3c", CSSHash: "1"}},
+		"Libraries.SyntaxHighlighter.Brush.Cpp":                            {Name: "Libraries.SyntaxHighlighter.Brush.Cpp", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Brush", Imports: []string{"Libraries.SyntaxHighlighter"}, Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Brush/Cpp.js", JSHash: "6309a680f2a6eac6105d6edd556dd30df5e51fc3", CSSHash: "1"}},
+		"Libraries.SyntaxHighlighter.Brush.Delphi":                         {Name: "Libraries.SyntaxHighlighter.Brush.Delphi", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Brush", Imports: []string{"Libraries.SyntaxHighlighter"}, Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Brush/Delphi.js", JSHash: "470fd261a30f4afe63e268b632bc72fbb2f91c1e", CSSHash: "1"}},
+		"Libraries.SyntaxHighlighter.Brush.Diff":                           {Name: "Libraries.SyntaxHighlighter.Brush.Diff", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Brush", Imports: []string{"Libraries.SyntaxHighlighter"}, Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Brush/Diff.js", JSHash: "ddab0c7f4b1c9599687d5ddace196a7b43e7ff71", CSSHash: "1"}},
+		"Libraries.SyntaxHighlighter.Brush.Erland":                         {Name: "Libraries.SyntaxHighlighter.Brush.Erland", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Brush", Imports: []string{"Libraries.SyntaxHighlighter"}, Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Brush/Erlang.js", JSHash: "d584035c4e30b58130b7a4fd6f868ceb93806616", CSSHash: "1"}},
+		"Libraries.SyntaxHighlighter.Brush.Go":                             {Name: "Libraries.SyntaxHighlighter.Brush.Go", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Brush", Imports: []string{"Libraries.SyntaxHighlighter"}, Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Brush/Go.js", JSHash: "ba051331d4d2257f166cdfdd1f876da41bfb9c03", CSSHash: "1"}},
+		"Libraries.SyntaxHighlighter.Brush.Groovy":                         {Name: "Libraries.SyntaxHighlighter.Brush.Groovy", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Brush", Imports: []string{"Libraries.SyntaxHighlighter"}, Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Brush/Groovy.js", JSHash: "bf71d84706089e21ed1f80eef260dd235e5c590e", CSSHash: "1"}},
+		"Libraries.SyntaxHighlighter.Brush.JScript":                        {Name: "Libraries.SyntaxHighlighter.Brush.JScript", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Brush", Imports: []string{"Libraries.SyntaxHighlighter"}, Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Brush/JScript.js", JSHash: "546cebd405e4073eb79717d0c5821b086e4cc1aa", CSSHash: "1"}},
+		"Libraries.SyntaxHighlighter.Brush.Java":                           {Name: "Libraries.SyntaxHighlighter.Brush.Java", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Brush", Imports: []string{"Libraries.SyntaxHighlighter"}, Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Brush/Java.js", JSHash: "b4e90562aabfe692165863da07cb2484dd470a1e", CSSHash: "1"}},
+		"Libraries.SyntaxHighlighter.Brush.JavaFX":                         {Name: "Libraries.SyntaxHighlighter.Brush.JavaFX", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Brush", Imports: []string{"Libraries.SyntaxHighlighter"}, Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Brush/JavaFX.js", JSHash: "6113b28e70870cb03866bc2b1539c54b6a5f96cb", CSSHash: "1"}},
+		"Libraries.SyntaxHighlighter.Brush.Perl":                           {Name: "Libraries.SyntaxHighlighter.Brush.Perl", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Brush", Imports: []string{"Libraries.SyntaxHighlighter"}, Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Brush/Perl.js", JSHash: "2494fb8de8d247bc2cb193328ff6b726eb153116", CSSHash: "1"}},
+		"Libraries.SyntaxHighlighter.Brush.Php":                            {Name: "Libraries.SyntaxHighlighter.Brush.Php", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Brush", Imports: []string{"Libraries.SyntaxHighlighter"}, Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Brush/Php.js", JSHash: "a654e3bf6efc04bb47d47102880d24606d27bbf1", CSSHash: "1"}},
+		"Libraries.SyntaxHighlighter.Brush.Plain":                          {Name: "Libraries.SyntaxHighlighter.Brush.Plain", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Brush", Imports: []string{"Libraries.SyntaxHighlighter"}, Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Brush/Plain.js", JSHash: "a4e1e0bf856b495d78a1738bbac9fc51ccd3a68a", CSSHash: "1"}},
+		"Libraries.SyntaxHighlighter.Brush.PowerShell":                     {Name: "Libraries.SyntaxHighlighter.Brush.PowerShell", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Brush", Imports: []string{"Libraries.SyntaxHighlighter"}, Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Brush/PowerShell.js", JSHash: "e0b661104998c8424b4dc18732035a4888a8d800", CSSHash: "1"}},
+		"Libraries.SyntaxHighlighter.Brush.Python":                         {Name: "Libraries.SyntaxHighlighter.Brush.Python", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Brush", Imports: []string{"Libraries.SyntaxHighlighter"}, Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Brush/Python.js", JSHash: "fec9d69acb8bc66d124c77cd62f6077085000848", CSSHash: "1"}},
 		"Libraries.SyntaxHighlighter.Brush.Ruby":                           {Name: "Libraries.SyntaxHighlighter.Brush.Ruby", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Brush", Imports: []string{"Libraries.SyntaxHighlighter"}, Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Brush/Ruby.js", JSHash: "a987bd40fdbea4edc8329315dae2311c6a7e38c3", CSSHash: "1"}},
-		"Libraries.SyntaxHighlighter.Brush.Sass":                           {Name: "Libraries.SyntaxHighlighter.Brush.Sass", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Brush", Imports: []string{"Libraries.SyntaxHighlighter"}, Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Brush/Sass.js", JSHash: "e39acc0a9c9d542cc4f5be489f424915692672bb", CSSHash: "1"}},
-		"Libraries.SyntaxHighlighter.Brush.Scala":                          {Name: "Libraries.SyntaxHighlighter.Brush.Scala", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Brush", Imports: []string{"Libraries.SyntaxHighlighter"}, Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Brush/Scala.js", JSHash: "f4e7249df2fd10ff775e928112e94eccfe1b6771", CSSHash: "1"}},
-		"Libraries.SyntaxHighlighter.Brush.Sql":                            {Name: "Libraries.SyntaxHighlighter.Brush.Sql", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Brush", Imports: []string{"Libraries.SyntaxHighlighter"}, Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Brush/Sql.js", JSHash: "c150b86652ccc2c01f39074a3b88aef98334894f", CSSHash: "1"}},
-		"Libraries.SyntaxHighlighter.Brush.Vb":                             {Name: "Libraries.SyntaxHighlighter.Brush.Vb", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Brush", Imports: []string{"Libraries.SyntaxHighlighter"}, Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Brush/Vb.js", JSHash: "cbcbee01e4eeea3e6ae1efdc655d1c406f5a2788", CSSHash: "1"}},
-		"Libraries.SyntaxHighlighter.Brush.Xml":                            {Name: "Libraries.SyntaxHighlighter.Brush.Xml", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Brush", Imports: []string{"Libraries.SyntaxHighlighter", "Libraries.XRegExp"}, Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Brush/Xml.js", JSHash: "c20ed9b4285ede0af47cfc56e6eb6746b0768d3a", CSSHash: "1"}},
+		"Libraries.SyntaxHighlighter.Brush.Sass":                           {Name: "Libraries.SyntaxHighlighter.Brush.Sass", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Brush", Imports: []string{"Libraries.SyntaxHighlighter"}, Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Brush/Sass.js", JSHash: "867713f6c6d92a500a4d6c839555e8c461b4a9af", CSSHash: "1"}},
+		"Libraries.SyntaxHighlighter.Brush.Scala":                          {Name: "Libraries.SyntaxHighlighter.Brush.Scala", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Brush", Imports: []string{"Libraries.SyntaxHighlighter"}, Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Brush/Scala.js", JSHash: "49a73884df69cb7c9ffdc10c062fa9adb3b1192a", CSSHash: "1"}},
+		"Libraries.SyntaxHighlighter.Brush.Sql":                            {Name: "Libraries.SyntaxHighlighter.Brush.Sql", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Brush", Imports: []string{"Libraries.SyntaxHighlighter"}, Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Brush/Sql.js", JSHash: "389f92453f87d7505113a1b67add6619a35bcdae", CSSHash: "1"}},
+		"Libraries.SyntaxHighlighter.Brush.Vb":                             {Name: "Libraries.SyntaxHighlighter.Brush.Vb", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Brush", Imports: []string{"Libraries.SyntaxHighlighter"}, Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Brush/Vb.js", JSHash: "13c340bcc1b625133a2526af413c827396d0e359", CSSHash: "1"}},
+		"Libraries.SyntaxHighlighter.Brush.Xml":                            {Name: "Libraries.SyntaxHighlighter.Brush.Xml", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Brush", Imports: []string{"Libraries.SyntaxHighlighter", "Libraries.XRegExp"}, Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Brush/Xml.js", JSHash: "2f2cbab65fbf910eba2acceacfb793aa35eb830b", CSSHash: "1"}},
 		"Libraries.SyntaxHighlighter.Core":                                 {Name: "Libraries.SyntaxHighlighter.Core", Kind: "class", Parent: "Libraries.SyntaxHighlighter", Imports: []string(nil), Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Core/_this.js", JSHash: "eb845464ccec54398e7b3fd2ebd91bb574e45536", CSSHash: "3860c0c289ac761da7d9c595633f8bba8f58afe9"}},
 		"Libraries.SyntaxHighlighter.Core.Default":                         {Name: "Libraries.SyntaxHighlighter.Core.Default", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Core", Imports: []string(nil), Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Core/Default.js", JSHash: "2fca662e7e098416f96c4689e57aeaffe2fb15fc", CSSHash: "70c96f4f2bf365effb127f94cd2a8a4153df97ca"}},
 		"Libraries.SyntaxHighlighter.Core.Django":                          {Name: "Libraries.SyntaxHighlighter.Core.Django", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Core", Imports: []string(nil), Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Core/Django.js", JSHash: "a8dadc16bc42853c8545462127cbd52f8a9777e6", CSSHash: "e89e7a33ddb1ae8fd8ce8111a7e45a2b53a29ba1"}},
@@ -254,7 +255,7 @@ var ClassMap = &classmap.Map{
 		"Libraries.SyntaxHighlighter.Theme.MDUltra":                        {Name: "Libraries.SyntaxHighlighter.Theme.MDUltra", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Theme", Imports: []string{"Libraries.SyntaxHighlighter.Core.MDUltra"}, Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Theme/MDUltra.js", JSHash: "2970d2bc1f32512fdb2f8487b3fa718a41681c83", CSSHash: "632ce299b8f90d3de35f1505e72db4e1659e0859"}},
 		"Libraries.SyntaxHighlighter.Theme.Midnight":                       {Name: "Libraries.SyntaxHighlighter.Theme.Midnight", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Theme", Imports: []string{"Libraries.SyntaxHighlighter.Core.Midnight"}, Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Theme/Midnight.js", JSHash: "9a5807549212dab3d3430e341cab2311b2f374e5", CSSHash: "138fe3f3bb425837fcfd9b46c3cc5ad199cb01cc"}},
 		"Libraries.SyntaxHighlighter.Theme.RDark":                          {Name: "Libraries.SyntaxHighlighter.Theme.RDark", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Theme", Imports: []string{"Libraries.SyntaxHighlighter.Core.RDark"}, Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Theme/RDark.js", JSHash: "4eb10422695ef08331f8c5e91c6ca5b655c4b641", CSSHash: "b4970092adfcad76da353fa815b8502a9d09f097"}},
-		"Libraries.XRegExp":                                                {Name: "Libraries.XRegExp", Kind: "class", Parent: "Libraries", Imports: []string(nil), Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/_this.js", JSHash: "ebd53c1bd9ff84eb711687ceacb02ebf6357eec3", CSSHash: "3860c0c289ac761da7d9c595633f8bba8f58afe9"}},
+		"Libraries.XRegExp":                                                {Name: "Libraries.XRegExp", Kind: "class", Parent: "Libraries", Imports: []string(nil), Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/_this.js", JSHash: "168921dfe15afb6844bde5dde6b87bd5d822edee", CSSHash: "3860c0c289ac761da7d9c595633f8bba8f58afe9"}},
 		"System":                                                           {Name: "System", Kind: "class", Parent: "", Imports: []string(nil), Resource: classmap.Resource{Src: "System/_this.js", JSHash: "234db843eb17b025eddacdca0083828d0e7700a6", CSSHash: "1"}},
 		"System.Compression":                                               {Name: "System.Compression", Kind: "class", Parent: "System", Imports: []string(nil), Resource: classmap.Resource{Src: "System/Compression/_this.js", JSHash: "237bff609161dca51d55c73b92a477c54286e26d", CSSHash: "1"}},
 		"System.Compression.Zlib":                                          {Name: "System.Compression.Zlib", Kind: "class", Parent: "System.Compression", Imports: []string(nil), Resource: classmap.Resource{Src: "System/Compression/Zlib.js", JSHash: "50248acd8ef77f57eff8998011ac296b252142d4", CSSHash: "1"}},
@@ -327,7 +328,7 @@ var ClassMap = &classmap.Map{
 		"Astro/Blog/AstroEdit/Visualizer/Snippet/AcquireLib.js":               {Src: "Astro/Blog/AstroEdit/Visualizer/Snippet/AcquireLib.js", JSHash: "7af9a09fbf17d439fb810b3485609c4bbd816729", CSSHash: "e3860ca0ac69a86e948b811da1ebf6ba85fad57f"},
 		"Astro/Blog/AstroEdit/Visualizer/Snippet/ArticleContent.js":           {Src: "Astro/Blog/AstroEdit/Visualizer/Snippet/ArticleContent.js", JSHash: "83817c1b1e8c73a598e1c090d3dae8fb341bcebe", CSSHash: "e1cfcf676ebfc3a9ab80139ab2f7e63a2a1b286f"},
 		"Astro/Blog/AstroEdit/Visualizer/Snippet/ArticleLink.js":              {Src: "Astro/Blog/AstroEdit/Visualizer/Snippet/ArticleLink.js", JSHash: "7c6ecca0ad47a0eb6afc625245c6b130ff5716ba", CSSHash: "2d71bce1fa868564d9dac50db338ef7eeed16fd9"},
-		"Astro/Blog/AstroEdit/Visualizer/Snippet/Code.js":                     {Src: "Astro/Blog/AstroEdit/Visualizer/Snippet/Code.js", JSHash: "7666299309b1a4f355a469cac7254be1a14b337e", CSSHash: "1963e8b907d049ab7228c4cccf5e34206dca2f6c"},
+		"Astro/Blog/AstroEdit/Visualizer/Snippet/Code.js":                     {Src: "Astro/Blog/AstroEdit/Visualizer/Snippet/Code.js", JSHash: "53468a55cf1e8da57510dd5fbd2fbde6366eef9e", CSSHash: "1963e8b907d049ab7228c4cccf5e34206dca2f6c"},
 		"Astro/Blog/AstroEdit/Visualizer/Snippet/Footnote.js":                 {Src: "Astro/Blog/AstroEdit/Visualizer/Snippet/Footnote.js", JSHash: "075620fc95d8668ba79a1ed396f9fafd4c354b5c", CSSHash: "e3b173a7579b3897bb98226cd52a56534f75ca15"},
 		"Astro/Blog/AstroEdit/Visualizer/Snippet/Heading.js":                  {Src: "Astro/Blog/AstroEdit/Visualizer/Snippet/Heading.js", JSHash: "9853e908fa40726903a8b8537a21d1f04adba0f6", CSSHash: "1"},
 		"Astro/Blog/AstroEdit/Visualizer/Snippet/Html.js":                     {Src: "Astro/Blog/AstroEdit/Visualizer/Snippet/Html.js", JSHash: "d327e4662449fb5742e09789b345aa6c957a26b8", CSSHash: "1"},
@@ -450,31 +451,32 @@ var ClassMap = &classmap.Map{
 		"Dandelion/StaticRes.js":                                              {Src: "Dandelion/StaticRes.js", JSHash: "43738524071b7207e6dba6bd223bf811bd475949", CSSHash: "1"},
 		"Dandelion/Window.js":                                                 {Src: "Dandelion/Window.js", JSHash: "ea38f2c0c2b5207abdb7265d2d5b7fa4177d0a47", CSSHash: "1"},
 		"Dandelion/_this.js":                                                  {Src: "Dandelion/_this.js", JSHash: "063763bdcb6c4702c56e9f132dea13f4875b2d7f", CSSHash: "1"},
-		"Libraries/SyntaxHighlighter/Brush/AS3.js":                            {Src: "Libraries/SyntaxHighlighter/Brush/AS3.js", JSHash: "a9bcdf532ab90c0917f234e1fce13d7cbde6d303", CSSHash: "1"},
-		"Libraries/SyntaxHighlighter/Brush/AppleScript.js":                    {Src: "Libraries/SyntaxHighlighter/Brush/AppleScript.js", JSHash: "2c161d78cd5b293e420559a6cb41dbf52af36364", CSSHash: "1"},
-		"Libraries/SyntaxHighlighter/Brush/Bash.js":                           {Src: "Libraries/SyntaxHighlighter/Brush/Bash.js", JSHash: "e01737b50262fb8fda87df4d1d2fcc12c5cff279", CSSHash: "1"},
-		"Libraries/SyntaxHighlighter/Brush/CSharp.js":                         {Src: "Libraries/SyntaxHighlighter/Brush/CSharp.js", JSHash: "c8175bf390ff40ba9dcd2034affb9d3eeca1bbc6", CSSHash: "1"},
-		"Libraries/SyntaxHighlighter/Brush/ColdFusion.js":                     {Src: "Libraries/SyntaxHighlighter/Brush/ColdFusion.js", JSHash: "5752904015fee173d7b2cc805a385141d243accb", CSSHash: "1"},
-		"Libraries/SyntaxHighlighter/Brush/Cpp.js":                            {Src: "Libraries/SyntaxHighlighter/Brush/Cpp.js", JSHash: "3afd2a20b76f24bef4c6425ac7c676029251e768", CSSHash: "1"},
-		"Libraries/SyntaxHighlighter/Brush/Css.js":                            {Src: "Libraries/SyntaxHighlighter/Brush/Css.js", JSHash: "a13eea6d8b8560fe08dbdd8b5e11fe5caee1182e", CSSHash: "1"},
-		"Libraries/SyntaxHighlighter/Brush/Delphi.js":                         {Src: "Libraries/SyntaxHighlighter/Brush/Delphi.js", JSHash: "e8605d9f94172970ae3fb96e8a6708996bc3eb24", CSSHash: "1"},
-		"Libraries/SyntaxHighlighter/Brush/Diff.js":                           {Src: "Libraries/SyntaxHighlighter/Brush/Diff.js", JSHash: "f4a6e49d18deb054fe7e542a871f79f72c828d50", CSSHash: "1"},
-		"Libraries/SyntaxHighlighter/Brush/Erlang.js":                         {Src: "Libraries/SyntaxHighlighter/Brush/Erlang.js", JSHash: "3a1cb02fd8787d7fb9c8cd059dac7ff55460f002", CSSHash: "1"},
-		"Libraries/SyntaxHighlighter/Brush/Groovy.js":                         {Src: "Libraries/SyntaxHighlighter/Brush/Groovy.js", JSHash: "5c426a7fe76c8856a0f3e742801ab22aab619207", CSSHash: "1"},
-		"Libraries/SyntaxHighlighter/Brush/JScript.js":                        {Src: "Libraries/SyntaxHighlighter/Brush/JScript.js", JSHash: "0605f279369a383745da75c1193184b2b303140f", CSSHash: "1"},
-		"Libraries/SyntaxHighlighter/Brush/Java.js":                           {Src: "Libraries/SyntaxHighlighter/Brush/Java.js", JSHash: "080de761e0bac2f683aa7d6941cb82ff41a123d8", CSSHash: "1"},
-		"Libraries/SyntaxHighlighter/Brush/JavaFX.js":                         {Src: "Libraries/SyntaxHighlighter/Brush/JavaFX.js", JSHash: "b9275be4113bc3d9d0c07e38d536289ee2694670", CSSHash: "1"},
-		"Libraries/SyntaxHighlighter/Brush/Perl.js":                           {Src: "Libraries/SyntaxHighlighter/Brush/Perl.js", JSHash: "4cd8a05cb33146c5cfa80db799e341d154b90e48", CSSHash: "1"},
-		"Libraries/SyntaxHighlighter/Brush/Php.js":                            {Src: "Libraries/SyntaxHighlighter/Brush/Php.js", JSHash: "7dd28893e70e256385ea0b05f5b90b1c8ff6e542", CSSHash: "1"},
-		"Libraries/SyntaxHighlighter/Brush/Plain.js":                          {Src: "Libraries/SyntaxHighlighter/Brush/Plain.js", JSHash: "6d5479daeaa74a77b5f2d4296953d3127885e475", CSSHash: "1"},
-		"Libraries/SyntaxHighlighter/Brush/PowerShell.js":                     {Src: "Libraries/SyntaxHighlighter/Brush/PowerShell.js", JSHash: "2fa87850b6852fa21fbf40f65dfd9e40b6812fb1", CSSHash: "1"},
-		"Libraries/SyntaxHighlighter/Brush/Python.js":                         {Src: "Libraries/SyntaxHighlighter/Brush/Python.js", JSHash: "0bb656b70b58989685c7dfb95835ea7b96670e65", CSSHash: "1"},
+		"Libraries/SyntaxHighlighter/Brush/AS3.js":                            {Src: "Libraries/SyntaxHighlighter/Brush/AS3.js", JSHash: "9995265a3bba458749834a5be30d0609df62ca02", CSSHash: "1"},
+		"Libraries/SyntaxHighlighter/Brush/AppleScript.js":                    {Src: "Libraries/SyntaxHighlighter/Brush/AppleScript.js", JSHash: "967b21aafc98d2b3f1f0624072e199dd67ea8b60", CSSHash: "1"},
+		"Libraries/SyntaxHighlighter/Brush/Bash.js":                           {Src: "Libraries/SyntaxHighlighter/Brush/Bash.js", JSHash: "a853cecd15f1d9c07a64762d5e7121a7b940a89b", CSSHash: "1"},
+		"Libraries/SyntaxHighlighter/Brush/CSharp.js":                         {Src: "Libraries/SyntaxHighlighter/Brush/CSharp.js", JSHash: "bfcc6c7def285ba87bb6a06483a8089a5bfc9a4d", CSSHash: "1"},
+		"Libraries/SyntaxHighlighter/Brush/ColdFusion.js":                     {Src: "Libraries/SyntaxHighlighter/Brush/ColdFusion.js", JSHash: "4835a6529d4b0a18a3b256e1180b357d80835a3c", CSSHash: "1"},
+		"Libraries/SyntaxHighlighter/Brush/Cpp.js":                            {Src: "Libraries/SyntaxHighlighter/Brush/Cpp.js", JSHash: "6309a680f2a6eac6105d6edd556dd30df5e51fc3", CSSHash: "1"},
+		"Libraries/SyntaxHighlighter/Brush/Css.js":                            {Src: "Libraries/SyntaxHighlighter/Brush/Css.js", JSHash: "0bb87fadfdba16223e1b72754c0f35bb8638382e", CSSHash: "1"},
+		"Libraries/SyntaxHighlighter/Brush/Delphi.js":                         {Src: "Libraries/SyntaxHighlighter/Brush/Delphi.js", JSHash: "470fd261a30f4afe63e268b632bc72fbb2f91c1e", CSSHash: "1"},
+		"Libraries/SyntaxHighlighter/Brush/Diff.js":                           {Src: "Libraries/SyntaxHighlighter/Brush/Diff.js", JSHash: "ddab0c7f4b1c9599687d5ddace196a7b43e7ff71", CSSHash: "1"},
+		"Libraries/SyntaxHighlighter/Brush/Erlang.js":                         {Src: "Libraries/SyntaxHighlighter/Brush/Erlang.js", JSHash: "d584035c4e30b58130b7a4fd6f868ceb93806616", CSSHash: "1"},
+		"Libraries/SyntaxHighlighter/Brush/Go.js":                             {Src: "Libraries/SyntaxHighlighter/Brush/Go.js", JSHash: "ba051331d4d2257f166cdfdd1f876da41bfb9c03", CSSHash: "1"},
+		"Libraries/SyntaxHighlighter/Brush/Groovy.js":                         {Src: "Libraries/SyntaxHighlighter/Brush/Groovy.js", JSHash: "bf71d84706089e21ed1f80eef260dd235e5c590e", CSSHash: "1"},
+		"Libraries/SyntaxHighlighter/Brush/JScript.js":                        {Src: "Libraries/SyntaxHighlighter/Brush/JScript.js", JSHash: "546cebd405e4073eb79717d0c5821b086e4cc1aa", CSSHash: "1"},
+		"Libraries/SyntaxHighlighter/Brush/Java.js":                           {Src: "Libraries/SyntaxHighlighter/Brush/Java.js", JSHash: "b4e90562aabfe692165863da07cb2484dd470a1e", CSSHash: "1"},
+		"Libraries/SyntaxHighlighter/Brush/JavaFX.js":                         {Src: "Libraries/SyntaxHighlighter/Brush/JavaFX.js", JSHash: "6113b28e70870cb03866bc2b1539c54b6a5f96cb", CSSHash: "1"},
+		"Libraries/SyntaxHighlighter/Brush/Perl.js":                           {Src: "Libraries/SyntaxHighlighter/Brush/Perl.js", JSHash: "2494fb8de8d247bc2cb193328ff6b726eb153116", CSSHash: "1"},
+		"Libraries/SyntaxHighlighter/Brush/Php.js":                            {Src: "Libraries/SyntaxHighlighter/Brush/Php.js", JSHash: "a654e3bf6efc04bb47d47102880d24606d27bbf1", CSSHash: "1"},
+		"Libraries/SyntaxHighlighter/Brush/Plain.js":                          {Src: "Libraries/SyntaxHighlighter/Brush/Plain.js", JSHash: "a4e1e0bf856b495d78a1738bbac9fc51ccd3a68a", CSSHash: "1"},
+		"Libraries/SyntaxHighlighter/Brush/PowerShell.js":                     {Src: "Libraries/SyntaxHighlighter/Brush/PowerShell.js", JSHash: "e0b661104998c8424b4dc18732035a4888a8d800", CSSHash: "1"},
+		"Libraries/SyntaxHighlighter/Brush/Python.js":                         {Src: "Libraries/SyntaxHighlighter/Brush/Python.js", JSHash: "fec9d69acb8bc66d124c77cd62f6077085000848", CSSHash: "1"},
 		"Libraries/SyntaxHighlighter/Brush/Ruby.js":                           {Src: "Libraries/SyntaxHighlighter/Brush/Ruby.js", JSHash: "a987bd40fdbea4edc8329315dae2311c6a7e38c3", CSSHash: "1"},
-		"Libraries/SyntaxHighlighter/Brush/Sass.js":                           {Src: "Libraries/SyntaxHighlighter/Brush/Sass.js", JSHash: "e39acc0a9c9d542cc4f5be489f424915692672bb", CSSHash: "1"},
-		"Libraries/SyntaxHighlighter/Brush/Scala.js":                          {Src: "Libraries/SyntaxHighlighter/Brush/Scala.js", JSHash: "f4e7249df2fd10ff775e928112e94eccfe1b6771", CSSHash: "1"},
-		"Libraries/SyntaxHighlighter/Brush/Sql.js":                            {Src: "Libraries/SyntaxHighlighter/Brush/Sql.js", JSHash: "c150b86652ccc2c01f39074a3b88aef98334894f", CSSHash: "1"},
-		"Libraries/SyntaxHighlighter/Brush/Vb.js":                             {Src: "Libraries/SyntaxHighlighter/Brush/Vb.js", JSHash: "cbcbee01e4eeea3e6ae1efdc655d1c406f5a2788", CSSHash: "1"},
-		"Libraries/SyntaxHighlighter/Brush/Xml.js":                            {Src: "Libraries/SyntaxHighlighter/Brush/Xml.js", JSHash: "c20ed9b4285ede0af47cfc56e6eb6746b0768d3a", CSSHash: "1"},
+		"Libraries/SyntaxHighlighter/Brush/Sass.js":                           {Src: "Libraries/SyntaxHighlighter/Brush/Sass.js", JSHash: "867713f6c6d92a500a4d6c839555e8c461b4a9af", CSSHash: "1"},
+		"Libraries/SyntaxHighlighter/Brush/Scala.js":                          {Src: "Libraries/SyntaxHighlighter/Brush/Scala.js", JSHash: "49a73884df69cb7c9ffdc10c062fa9adb3b1192a", CSSHash: "1"},
+		"Libraries/SyntaxHighlighter/Brush/Sql.js":                            {Src: "Libraries/SyntaxHighlighter/Brush/Sql.js", JSHash: "389f92453f87d7505113a1b67add6619a35bcdae", CSSHash: "1"},
+		"Libraries/SyntaxHighlighter/Brush/Vb.js":                             {Src: "Libraries/SyntaxHighlighter/Brush/Vb.js", JSHash: "13c340bcc1b625133a2526af413c827396d0e359", CSSHash: "1"},
+		"Libraries/SyntaxHighlighter/Brush/Xml.js":                            {Src: "Libraries/SyntaxHighlighter/Brush/Xml.js", JSHash: "2f2cbab65fbf910eba2acceacfb793aa35eb830b", CSSHash: "1"},
 		"Libraries/SyntaxHighlighter/Core/Default.js":                         {Src: "Libraries/SyntaxHighlighter/Core/Default.js", JSHash: "2fca662e7e098416f96c4689e57aeaffe2fb15fc", CSSHash: "70c96f4f2bf365effb127f94cd2a8a4153df97ca"},
 		"Libraries/SyntaxHighlighter/Core/Django.js":                          {Src: "Libraries/SyntaxHighlighter/Core/Django.js", JSHash: "a8dadc16bc42853c8545462127cbd52f8a9777e6", CSSHash: "e89e7a33ddb1ae8fd8ce8111a7e45a2b53a29ba1"},
 		"Libraries/SyntaxHighlighter/Core/Eclipse.js":                         {Src: "Libraries/SyntaxHighlighter/Core/Eclipse.js", JSHash: "1d207eb8538c73a4c60a7613baf25efb0376bd10", CSSHash: "f543e8388de2bc6d7ddf7f01de08c3c6f7370169"},
@@ -493,7 +495,7 @@ var ClassMap = &classmap.Map{
 		"Libraries/SyntaxHighlighter/Theme/Midnight.js":                       {Src: "Libraries/SyntaxHighlighter/Theme/Midnight.js", JSHash: "9a5807549212dab3d3430e341cab2311b2f374e5", CSSHash: "138fe3f3bb425837fcfd9b46c3cc5ad199cb01cc"},
 		"Libraries/SyntaxHighlighter/Theme/RDark.js":                          {Src: "Libraries/SyntaxHighlighter/Theme/RDark.js", JSHash: "4eb10422695ef08331f8c5e91c6ca5b655c4b641", CSSHash: "b4970092adfcad76da353fa815b8502a9d09f097"},
 		"Libraries/SyntaxHighlighter/Theme/_this.js":                          {Src: "Libraries/SyntaxHighlighter/Theme/_this.js", JSHash: "55f3a4849ae1cbab812c4d46b043a4c100fd4cf6", CSSHash: "1"},
-		"Libraries/SyntaxHighlighter/_this.js":                                {Src: "Libraries/SyntaxHighlighter/_this.js", JSHash: "ebd53c1bd9ff84eb711687ceacb02ebf6357eec3", CSSHash: "3860c0c289ac761da7d9c595633f8bba8f58afe9"},
+		"Libraries/SyntaxHighlighter/_this.js":                                {Src: "Libraries/SyntaxHighlighter/_this.js", JSHash: "168921dfe15afb6844bde5dde6b87bd5d822edee", CSSHash: "3860c0c289ac761da7d9c595633f8bba8f58afe9"},
 		"System/Compression/Zlib.js":                                          {Src: "System/Compression/Zlib.js", JSHash: "50248acd8ef77f57eff8998011ac296b252142d4", CSSHash: "1"},
 		"System/Compression/_this.js":                                         {Src: "System/Compression/_this.js", JSHash: "237bff609161dca51d55c73b92a477c54286e26d", CSSHash: "1"},
 		"System/Cycle/Trigger.js":                                             {Src: "System/Cycle/Trigger.js", JSHash: "c02be788ca62d7fea52bcb4527b9f72133489e80", CSSHash: "1"},
diff --git a/resolver-go/internal/resolver/resolver.go b/resolver-go/internal/resolver/resolver.go
index 21975d6..05dee05 100644
--- a/resolver-go/internal/resolver/resolver.go
+++ b/resolver-go/internal/resolver/resolver.go
@@ -41,6 +41,8 @@ type Resolver struct {
 	Root string
 	Map  *classmap.Map
 
+	DisableCache bool
+
 	externMu    sync.RWMutex
 	externCache map[string]closure.SourceInput
 }
@@ -308,12 +310,15 @@ func (r *Resolver) GetExterns(files []string) ([]closure.SourceInput, error) {
 }
 
 func (r *Resolver) getExtern(f string) (closure.SourceInput, bool, error) {
-	// Fast path: read cache.
-	r.externMu.RLock()
-	src, ok := r.externCache[f]
-	r.externMu.RUnlock()
-	if ok {
-		return src, true, nil
+
+	if !r.DisableCache {
+		// Fast path: read cache.
+		r.externMu.RLock()
+		src, ok := r.externCache[f]
+		r.externMu.RUnlock()
+		if ok {
+			return src, true, nil
+		}
 	}
 
 	// Slow path: read file.