Non clearing polygons drawn after clearing now. Fixed problem with clearing buffer in 2D draw mode due to clearing happening with transform applied. Created thermal test PCB and added to PCB options for testing. Fixed small problem with softrock pcb test board
Non clearing polygons drawn after clearing now. Fixed problem with clearing buffer in 2D draw mode due to clearing happening with transform applied. Created thermal test PCB and added to PCB options for testing. Fixed small problem with softrock pcb test board

--- a/src/data/pcb/PCBList.json
+++ b/src/data/pcb/PCBList.json
@@ -1,4 +1,5 @@
 [
+	"ThermalTest.pcb",
 	"FT817USB.pcb",
 	"FTDI.pcb",
 	"H_Bridge.pcb",
@@ -9,3 +10,4 @@
 	"USBMRF24.pcb",
 	"XBeeMainBoard.pcb"
 ]
+

--- a/src/data/pcb/SoftRockLiteIIRX.pcb
+++ b/src/data/pcb/SoftRockLiteIIRX.pcb
@@ -5,7 +5,7 @@
 
 PCB["" 255900 90000]
 
-Grid[500.0 0 0 0]
+Grid[0.0 0 0 0]
 Cursor[0 0 0.000000]
 PolyArea[200000000.000000]
 Thermal[0.500000]
@@ -793,7 +793,6 @@
 Via[122500 25000 4200 2000 0 2600 "" ""]
 Via[141000 22000 4200 2000 0 2600 "" ""]
 Via[145000 63000 4200 2000 0 2600 "" ""]
-Via[65500 67000 4200 2000 0 2600 "" ""]
 Via[70500 71500 4200 2000 0 2600 "" ""]
 Via[76000 74000 4200 2000 0 2600 "" ""]
 Via[88500 80500 4200 2000 0 2600 "" ""]
@@ -803,9 +802,10 @@
 Via[160500 11500 4200 2000 0 2600 "" ""]
 Via[163000 32000 4200 2000 0 2600 "" ""]
 Via[155000 37500 4200 2000 0 2600 "" ""]
-Via[52000 62500 4700 2000 0 2600 "" "thermal(0-2,5S)"]
 Via[108000 85500 4200 2000 0 2600 "" "thermal(5S)"]
 Via[4000 20500 4200 2000 0 2600 "" "thermal(5S)"]
+Via[65500 67000 4200 2000 0 2600 "" ""]
+Via[52000 62500 4700 2000 0 2600 "" "thermal(0-2,5S)"]
 
 Element["" "HC49U_1" "X1" "rect_100" 22000 9000 -11000 6500 0 100 ""]
 (
@@ -907,14 +907,6 @@
 
 	)
 
-Element["hidename" "SIP3" "AUD" "unknown" 7000 63000 -1000 3000 3 100 ""]
-(
-	Pin[0 0 6000 2000 6600 2800 "1" "1" ""]
-	Pin[0 10000 6000 2000 6600 2800 "2" "2" "thermal(0+,5+)"]
-	Pin[0 20000 6000 2000 6600 2800 "3" "3" ""]
-
-	)
-
 Element["" "SIP2" "ANT" "unknown" 247500 73000 -1000 -6500 1 100 ""]
 (
 	Pin[0 0 6000 2000 6600 2800 "1" "1" ""]
@@ -969,15 +961,6 @@
 
 	)
 
-Element["" "res_vert_150mil" "R6" "unknown" 119500 47000 -11000 2000 0 100 ""]
-(
-	Pin[-15000 0 5400 2000 5400 3000 "1" "1" "edge2"]
-	Pin[0 0 5400 2000 5400 3000 "2" "2" "edge2"]
-	ElementLine [-12000 0 -3600 0 1000]
-	ElementArc [0 0 3600 3600 180 360 1000]
-
-	)
-
 Element["" "res_vert" "R5" "unknown" 119000 73000 -4500 -10500 0 100 ""]
 (
 	Pin[-10000 0 5400 2000 5400 3000 "1" "1" "edge2"]
@@ -991,46 +974,6 @@
 (
 	Pad[0 -6400 0 -6400 6600 2000 6600 "1" "1" "onsolder,square"]
 	Pad[0 6400 0 6400 6600 2000 6600 "2" "2" "onsolder,square"]
-
-	)
-
-Element["" "rect_200" "C7" "4.7uF" 99500 60500 -13000 4000 0 100 ""]
-(
-	Pin[0 20000 5400 2000 5400 3000 "2" "2" ""]
-	Pin[0 0 5400 2000 5400 3000 "1" "1" "thermal(0+,5+)"]
-	ElementLine [3600 -3300 3600 23200 1000]
-	ElementLine [-3600 -3300 -3600 23200 1000]
-	ElementLine [-3600 23200 3600 23200 1000]
-	ElementLine [-3600 -3300 3600 -3300 1000]
-
-	)
-
-Element["" "res_vert_180mil" "R7" "4.99k" 38000 83500 -9500 -16500 0 100 ""]
-(
-	Pin[0 -18000 5400 2000 5400 3000 "1" "1" ""]
-	Pin[0 0 5400 2000 5400 3000 "2" "2" ""]
-	ElementLine [0 -14500 0 -3600 1000]
-	ElementArc [0 0 3600 3600 90 360 1000]
-
-	)
-
-Element["" "res_vert" "R8" "4.99k" 56000 55000 -10500 -9500 0 100 ""]
-(
-	Pin[-10000 0 5400 2000 5400 3000 "1" "1" "edge2"]
-	Pin[0 0 5400 2000 5400 3000 "2" "2" "edge2"]
-	ElementLine [-6400 0 -3600 0 1000]
-	ElementArc [0 0 3600 3600 180 360 1000]
-
-	)
-
-Element["" "rect_100" "C9" "390pF" 66000 47000 10000 6000 0 100 ""]
-(
-	Pin[10000 0 5400 2000 5400 3000 "2" "2" "edge2"]
-	Pin[0 0 5400 2000 5400 3000 "1" "1" "edge2"]
-	ElementLine [-3300 -3600 13600 -3600 1000]
-	ElementLine [-3300 3600 13600 3600 1000]
-	ElementLine [13600 -3600 13600 3600 1000]
-	ElementLine [-3300 -3600 -3300 3600 1000]
 
 	)
 
@@ -1194,24 +1137,6 @@
 
 	)
 
-Element["" "res_vert" "R9" "100" 25000 83500 -2500 -10500 0 100 ""]
-(
-	Pin[-10000 0 5400 2000 5400 3000 "1" "1" "edge2"]
-	Pin[0 0 5400 2000 5400 3000 "2" "2" "edge2"]
-	ElementLine [-6400 0 -3600 0 1000]
-	ElementArc [0 0 3600 3600 180 360 1000]
-
-	)
-
-Element["" "res_vert" "R10" "100" 25000 63000 -4500 -10500 0 100 ""]
-(
-	Pin[-10000 0 5400 2000 5400 3000 "1" "1" "edge2"]
-	Pin[0 0 5400 2000 5400 3000 "2" "2" "edge2"]
-	ElementLine [-6400 0 -3600 0 1000]
-	ElementArc [0 0 3600 3600 180 360 1000]
-
-	)
-
 Element["" "rect_100" "C5" "47nF" 129500 78500 5500 -11500 0 100 ""]
 (
 	Pin[0 -10000 5400 2000 5400 3000 "2" "2" ""]
@@ -1270,17 +1195,6 @@
 	ElementLine [-3300 3600 13600 3600 1000]
 	ElementLine [13600 -3600 13600 3600 1000]
 	ElementLine [-3300 -3600 -3300 3600 1000]
-
-	)
-
-Element["" "rect_100" "C8" "390pF" 48000 70500 6500 -8700 0 100 ""]
-(
-	Pin[0 10000 5400 2000 5400 3000 "2" "2" ""]
-	Pin[0 0 5400 2000 5400 3000 "1" "1" ""]
-	ElementLine [3600 -3300 3600 13600 1000]
-	ElementLine [-3600 -3300 -3600 13600 1000]
-	ElementLine [-3600 13600 3600 13600 1000]
-	ElementLine [-3600 -3300 3600 -3300 1000]
 
 	)
 
@@ -1350,6 +1264,92 @@
 (
 	Pad[-6400 0 -6400 0 6600 2000 6600 "1" "1" "onsolder,square"]
 	Pad[6400 0 6400 0 6600 2000 6600 "2" "2" "onsolder,square,edge2"]
+
+	)
+
+Element["" "res_vert_150mil" "R6" "unknown" 119500 47000 -11000 2000 0 100 ""]
+(
+	Pin[-15000 0 5400 2000 5400 3000 "1" "1" "edge2"]
+	Pin[0 0 5400 2000 5400 3000 "2" "2" "edge2"]
+	ElementLine [-12000 0 -3600 0 1000]
+	ElementArc [0 0 3600 3600 180 360 1000]
+
+	)
+
+Element["" "res_vert" "R8" "4.99k" 56000 55000 -10500 -9500 0 100 ""]
+(
+	Pin[-10000 0 5400 2000 5400 3000 "1" "1" "edge2"]
+	Pin[0 0 5400 2000 5400 3000 "2" "2" "edge2"]
+	ElementLine [-6400 0 -3600 0 1000]
+	ElementArc [0 0 3600 3600 180 360 1000]
+
+	)
+
+Element["" "rect_100" "C9" "390pF" 66000 47000 10000 6000 0 100 ""]
+(
+	Pin[10000 0 5400 2000 5400 3000 "2" "2" "edge2"]
+	Pin[0 0 5400 2000 5400 3000 "1" "1" "edge2"]
+	ElementLine [-3300 -3600 13600 -3600 1000]
+	ElementLine [-3300 3600 13600 3600 1000]
+	ElementLine [13600 -3600 13600 3600 1000]
+	ElementLine [-3300 -3600 -3300 3600 1000]
+
+	)
+
+Element["" "rect_200" "C7" "4.7uF" 99500 60500 -13000 4000 0 100 ""]
+(
+	Pin[0 20000 5400 2000 5400 3000 "2" "2" ""]
+	Pin[0 0 5400 2000 5400 3000 "1" "1" "thermal(0+,5+)"]
+	ElementLine [3600 -3300 3600 23200 1000]
+	ElementLine [-3600 -3300 -3600 23200 1000]
+	ElementLine [-3600 23200 3600 23200 1000]
+	ElementLine [-3600 -3300 3600 -3300 1000]
+
+	)
+
+Element["" "rect_100" "C8" "390pF" 48000 70500 6500 -8700 0 100 ""]
+(
+	Pin[0 10000 5400 2000 5400 3000 "2" "2" ""]
+	Pin[0 0 5400 2000 5400 3000 "1" "1" ""]
+	ElementLine [3600 -3300 3600 13600 1000]
+	ElementLine [-3600 -3300 -3600 13600 1000]
+	ElementLine [-3600 13600 3600 13600 1000]
+	ElementLine [-3600 -3300 3600 -3300 1000]
+
+	)
+
+Element["" "res_vert_180mil" "R7" "4.99k" 38000 83500 -9500 -16500 0 100 ""]
+(
+	Pin[0 -18000 5400 2000 5400 3000 "1" "1" ""]
+	Pin[0 0 5400 2000 5400 3000 "2" "2" ""]
+	ElementLine [0 -14500 0 -3600 1000]
+	ElementArc [0 0 3600 3600 90 360 1000]
+
+	)
+
+Element["hidename" "SIP3" "AUD" "unknown" 7000 63000 -1000 3000 3 100 ""]
+(
+	Pin[0 0 6000 2000 6600 2800 "1" "1" ""]
+	Pin[0 10000 6000 2000 6600 2800 "2" "2" "thermal(0+,5+)"]
+	Pin[0 20000 6000 2000 6600 2800 "3" "3" ""]
+
+	)
+
+Element["" "res_vert" "R9" "100" 25000 83500 -2500 -10500 0 100 ""]
+(
+	Pin[-10000 0 5400 2000 5400 3000 "1" "1" "edge2"]
+	Pin[0 0 5400 2000 5400 3000 "2" "2" "edge2"]
+	ElementLine [-6400 0 -3600 0 1000]
+	ElementArc [0 0 3600 3600 180 360 1000]
+
+	)
+
+Element["" "res_vert" "R10" "100" 25000 63000 -4500 -10500 0 100 ""]
+(
+	Pin[-10000 0 5400 2000 5400 3000 "1" "1" "edge2"]
+	Pin[0 0 5400 2000 5400 3000 "2" "2" "edge2"]
+	ElementLine [-6400 0 -3600 0 1000]
+	ElementArc [0 0 3600 3600 180 360 1000]
 
 	)
 Layer(1 "top")
@@ -1384,8 +1384,6 @@
 	Line[122500 25000 122500 31500 2500 2000 "clearline"]
 	Line[122500 31500 112000 42500 2500 2000 "clearline"]
 	Line[112000 42500 112000 57500 2500 2000 "clearline"]
-	Line[112000 57500 103500 67000 2500 2000 "clearline"]
-	Line[103500 67000 65500 67000 2500 2000 "clearline"]
 	Line[198600 70000 191000 75000 1500 2000 "clearline"]
 	Line[191000 75000 180500 75000 1500 2000 "clearline"]
 	Line[180500 75000 176000 80500 1500 2000 "clearline"]
@@ -1401,13 +1399,6 @@
 	Line[165500 55000 155000 37000 1500 2000 "clearline"]
 	Line[162344 31656 171500 50000 1500 2000 "clearline"]
 	Line[171500 50000 171000 60500 1500 2000 "clearline"]
-	Line[56000 55000 66500 55000 1500 2000 "clearline"]
-	Line[66500 55000 76000 47000 1500 2000 "clearline"]
-	Line[75406 47500 104500 47000 1500 2000 "clearline"]
-	Line[7000 63000 15000 63000 1500 2000 "clearline"]
-	Line[7000 83000 15000 83500 1500 2000 "clearline"]
-	Line[70500 71500 48000 70500 1500 2000 "clearline"]
-	Line[48000 80500 58500 80500 1500 2000 "clearline"]
 	Line[58500 80500 76000 74000 1500 2000 "clearline"]
 	Line[76000 74000 109000 73000 1500 2000 "clearline"]
 	Line[99500 80500 88500 80500 2500 2000 "clearline"]
@@ -1416,7 +1407,6 @@
 	Line[129500 48000 119500 47000 1500 2000 "clearline"]
 	Line[185400 70000 198600 60000 2500 2000 "clearline"]
 	Line[219000 78000 209000 73000 1500 2000 "clearline"]
-	Line[48000 80500 38000 83500 1500 2000 "clearline"]
 	Line[208630 82870 200500 86500 2500 2000 "clearline"]
 	Line[200500 86500 196500 86500 2500 2000 "clearline"]
 	Line[196500 86500 185400 80000 2500 2000 "clearline"]
@@ -1432,6 +1422,16 @@
 	Line[61000 9000 66000 9000 1500 2000 "clearline"]
 	Line[66000 19000 76000 17500 1500 2000 "clearline"]
 	Line[155500 16500 162500 32000 1500 2000 "clearline"]
+	Line[48000 80500 58500 80500 1500 2000 "clearline"]
+	Line[7000 63000 15000 63000 1500 2000 "clearline"]
+	Line[56000 55000 66500 55000 1500 2000 "clearline"]
+	Line[66500 55000 76000 47000 1500 2000 "clearline"]
+	Line[75406 47500 104500 47000 1500 2000 "clearline"]
+	Line[112000 57500 103500 67000 2500 2000 "clearline"]
+	Line[103500 67000 65500 67000 2500 2000 "clearline"]
+	Line[70500 71500 48000 70500 1500 2000 "clearline"]
+	Line[48000 80500 38000 83500 1500 2000 "clearline"]
+	Line[7000 83000 15000 83500 1500 2000 "clearline"]
 	Polygon("clearpoly")
 	(
 		[2500 65000] [2500 82000] [46000 82000] [46000 67500] [103000 67500] 
@@ -1461,14 +1461,11 @@
 	Line[139000 48000 140000 49000 1500 2000 "clearline"]
 	Line[66000 59000 66000 47000 1500 2000 "clearline"]
 	Line[71000 59000 71000 53500 1500 2000 "clearline"]
-	Line[71000 53500 76000 47000 1500 2000 "clearline"]
 	Line[70500 71500 71000 79500 1500 2000 "clearline"]
 	Line[76000 79500 76000 74000 1500 2000 "clearline"]
 	Line[66000 79500 65500 67000 1500 2000 "clearline"]
 	Line[38000 65500 38000 75000 1500 2000 "clearline"]
 	Line[38000 75000 44000 75000 1500 2000 "clearline"]
-	Line[44000 75000 48000 70500 1500 2000 "clearline"]
-	Line[25000 83500 25200 75000 1500 2000 "clearline"]
 	Line[25000 63000 25200 55500 1500 2000 "clearline"]
 	Line[89000 71300 88500 80500 2500 2000 "clearline"]
 	Line[224500 22000 230500 19500 2500 2000 "clearline"]
@@ -1521,10 +1518,6 @@
 	Line[132500 9000 132500 17200 2500 2000 "clearline"]
 	Line[148000 22500 141000 22000 1500 2000 "clearline"]
 	Line[40500 33500 41000 34000 1500 2000 ""]
-	Line[41000 38500 43000 40500 1500 2000 ""]
-	Line[43000 40500 59500 40500 1500 2000 ""]
-	Line[59500 40500 61500 42500 1500 2000 ""]
-	Line[61500 42500 70500 42500 1500 2000 ""]
 	Line[86000 36500 86500 37000 1500 2000 ""]
 	Line[129500 58000 128500 58000 1500 2000 ""]
 	Line[128500 58000 124500 54000 1500 2000 ""]
@@ -1560,6 +1553,9 @@
 	Line[179000 35000 188500 35000 1500 2000 ""]
 	Line[175000 64000 175000 74500 1500 2000 ""]
 	Line[122500 9000 111300 9000 1500 2000 "clearline"]
+	Line[71000 53500 76000 47000 1500 2000 "clearline"]
+	Line[44000 75000 48000 70500 1500 2000 "clearline"]
+	Line[25000 83500 25200 75000 1500 2000 "clearline"]
 	Polygon("clearpoly")
 	(
 		[0 90000] [256000 90000] [256000 0] [0 0] 

--- /dev/null
+++ b/src/data/pcb/ThermalTest.pcb
@@ -1,1 +1,843 @@
+# release: pcb 20110918
 
+# To read pcb files, the pcb version (or the git source date) must be >= the file version
+FileVersion[20070407]
+
+PCB["" 50000 50000]
+
+Grid[1000.0 0 0 0]
+Cursor[0 0 0.000000]
+PolyArea[3100.006200]
+Thermal[0.500000]
+DRC[1000 1000 1000 1000 1500 1000]
+Flags("nameonpcb,snappin")
+Groups("1,c:2:3:4:5:6,s:7:8")
+Styles["Signal,1000,3600,2000,1000:Power,2500,6000,3500,1000:Fat,4000,6000,3500,1000:Skinny,600,2402,1181,600"]
+
+Symbol[' ' 1800]
+(
+)
+Symbol['!' 1200]
+(
+	SymbolLine[0 4500 0 5000 800]
+	SymbolLine[0 1000 0 3500 800]
+)
+Symbol['"' 1200]
+(
+	SymbolLine[0 1000 0 2000 800]
+	SymbolLine[1000 1000 1000 2000 800]
+)
+Symbol['#' 1200]
+(
+	SymbolLine[0 3500 2000 3500 800]
+	SymbolLine[0 2500 2000 2500 800]
+	SymbolLine[1500 2000 1500 4000 800]
+	SymbolLine[500 2000 500 4000 800]
+)
+Symbol['$' 1200]
+(
+	SymbolLine[1500 1500 2000 2000 800]
+	SymbolLine[500 1500 1500 1500 800]
+	SymbolLine[0 2000 500 1500 800]
+	SymbolLine[0 2000 0 2500 800]
+	SymbolLine[0 2500 500 3000 800]
+	SymbolLine[500 3000 1500 3000 800]
+	SymbolLine[1500 3000 2000 3500 800]
+	SymbolLine[2000 3500 2000 4000 800]
+	SymbolLine[1500 4500 2000 4000 800]
+	SymbolLine[500 4500 1500 4500 800]
+	SymbolLine[0 4000 500 4500 800]
+	SymbolLine[1000 1000 1000 5000 800]
+)
+Symbol['%' 1200]
+(
+	SymbolLine[0 1500 0 2000 800]
+	SymbolLine[0 1500 500 1000 800]
+	SymbolLine[500 1000 1000 1000 800]
+	SymbolLine[1000 1000 1500 1500 800]
+	SymbolLine[1500 1500 1500 2000 800]
+	SymbolLine[1000 2500 1500 2000 800]
+	SymbolLine[500 2500 1000 2500 800]
+	SymbolLine[0 2000 500 2500 800]
+	SymbolLine[0 5000 4000 1000 800]
+	SymbolLine[3500 5000 4000 4500 800]
+	SymbolLine[4000 4000 4000 4500 800]
+	SymbolLine[3500 3500 4000 4000 800]
+	SymbolLine[3000 3500 3500 3500 800]
+	SymbolLine[2500 4000 3000 3500 800]
+	SymbolLine[2500 4000 2500 4500 800]
+	SymbolLine[2500 4500 3000 5000 800]
+	SymbolLine[3000 5000 3500 5000 800]
+)
+Symbol['&' 1200]
+(
+	SymbolLine[0 4500 500 5000 800]
+	SymbolLine[0 1500 0 2500 800]
+	SymbolLine[0 1500 500 1000 800]
+	SymbolLine[0 3500 1500 2000 800]
+	SymbolLine[500 5000 1000 5000 800]
+	SymbolLine[1000 5000 2000 4000 800]
+	SymbolLine[0 2500 2500 5000 800]
+	SymbolLine[500 1000 1000 1000 800]
+	SymbolLine[1000 1000 1500 1500 800]
+	SymbolLine[1500 1500 1500 2000 800]
+	SymbolLine[0 3500 0 4500 800]
+)
+Symbol[''' 1200]
+(
+	SymbolLine[0 2000 1000 1000 800]
+)
+Symbol['(' 1200]
+(
+	SymbolLine[0 4500 500 5000 800]
+	SymbolLine[0 1500 500 1000 800]
+	SymbolLine[0 1500 0 4500 800]
+)
+Symbol[')' 1200]
+(
+	SymbolLine[0 1000 500 1500 800]
+	SymbolLine[500 1500 500 4500 800]
+	SymbolLine[0 5000 500 4500 800]
+)
+Symbol['*' 1200]
+(
+	SymbolLine[0 2000 2000 4000 800]
+	SymbolLine[0 4000 2000 2000 800]
+	SymbolLine[0 3000 2000 3000 800]
+	SymbolLine[1000 2000 1000 4000 800]
+)
+Symbol['+' 1200]
+(
+	SymbolLine[0 3000 2000 3000 800]
+	SymbolLine[1000 2000 1000 4000 800]
+)
+Symbol[',' 1200]
+(
+	SymbolLine[0 6000 1000 5000 800]
+)
+Symbol['-' 1200]
+(
+	SymbolLine[0 3000 2000 3000 800]
+)
+Symbol['.' 1200]
+(
+	SymbolLine[0 5000 500 5000 800]
+)
+Symbol['/' 1200]
+(
+	SymbolLine[0 4500 3000 1500 800]
+)
+Symbol['0' 1200]
+(
+	SymbolLine[0 4500 500 5000 800]
+	SymbolLine[0 1500 0 4500 800]
+	SymbolLine[0 1500 500 1000 800]
+	SymbolLine[500 1000 1500 1000 800]
+	SymbolLine[1500 1000 2000 1500 800]
+	SymbolLine[2000 1500 2000 4500 800]
+	SymbolLine[1500 5000 2000 4500 800]
+	SymbolLine[500 5000 1500 5000 800]
+	SymbolLine[0 4000 2000 2000 800]
+)
+Symbol['1' 1200]
+(
+	SymbolLine[0 1800 800 1000 800]
+	SymbolLine[800 1000 800 5000 800]
+	SymbolLine[0 5000 1500 5000 800]
+)
+Symbol['2' 1200]
+(
+	SymbolLine[0 1500 500 1000 800]
+	SymbolLine[500 1000 2000 1000 800]
+	SymbolLine[2000 1000 2500 1500 800]
+	SymbolLine[2500 1500 2500 2500 800]
+	SymbolLine[0 5000 2500 2500 800]
+	SymbolLine[0 5000 2500 5000 800]
+)
+Symbol['3' 1200]
+(
+	SymbolLine[0 1500 500 1000 800]
+	SymbolLine[500 1000 1500 1000 800]
+	SymbolLine[1500 1000 2000 1500 800]
+	SymbolLine[1500 5000 2000 4500 800]
+	SymbolLine[500 5000 1500 5000 800]
+	SymbolLine[0 4500 500 5000 800]
+	SymbolLine[500 2800 1500 2800 800]
+	SymbolLine[2000 1500 2000 2300 800]
+	SymbolLine[2000 3300 2000 4500 800]
+	SymbolLine[2000 3300 1500 2800 800]
+	SymbolLine[2000 2300 1500 2800 800]
+)
+Symbol['4' 1200]
+(
+	SymbolLine[0 3500 2000 1000 800]
+	SymbolLine[0 3500 2500 3500 800]
+	SymbolLine[2000 1000 2000 5000 800]
+)
+Symbol['5' 1200]
+(
+	SymbolLine[0 1000 2000 1000 800]
+	SymbolLine[0 1000 0 3000 800]
+	SymbolLine[0 3000 500 2500 800]
+	SymbolLine[500 2500 1500 2500 800]
+	SymbolLine[1500 2500 2000 3000 800]
+	SymbolLine[2000 3000 2000 4500 800]
+	SymbolLine[1500 5000 2000 4500 800]
+	SymbolLine[500 5000 1500 5000 800]
+	SymbolLine[0 4500 500 5000 800]
+)
+Symbol['6' 1200]
+(
+	SymbolLine[1500 1000 2000 1500 800]
+	SymbolLine[500 1000 1500 1000 800]
+	SymbolLine[0 1500 500 1000 800]
+	SymbolLine[0 1500 0 4500 800]
+	SymbolLine[0 4500 500 5000 800]
+	SymbolLine[1500 2800 2000 3300 800]
+	SymbolLine[0 2800 1500 2800 800]
+	SymbolLine[500 5000 1500 5000 800]
+	SymbolLine[1500 5000 2000 4500 800]
+	SymbolLine[2000 3300 2000 4500 800]
+)
+Symbol['7' 1200]
+(
+	SymbolLine[500 5000 2500 1000 800]
+	SymbolLine[0 1000 2500 1000 800]
+)
+Symbol['8' 1200]
+(
+	SymbolLine[0 4500 500 5000 800]
+	SymbolLine[0 3700 0 4500 800]
+	SymbolLine[0 3700 700 3000 800]
+	SymbolLine[700 3000 1300 3000 800]
+	SymbolLine[1300 3000 2000 3700 800]
+	SymbolLine[2000 3700 2000 4500 800]
+	SymbolLine[1500 5000 2000 4500 800]
+	SymbolLine[500 5000 1500 5000 800]
+	SymbolLine[0 2300 700 3000 800]
+	SymbolLine[0 1500 0 2300 800]
+	SymbolLine[0 1500 500 1000 800]
+	SymbolLine[500 1000 1500 1000 800]
+	SymbolLine[1500 1000 2000 1500 800]
+	SymbolLine[2000 1500 2000 2300 800]
+	SymbolLine[1300 3000 2000 2300 800]
+)
+Symbol['9' 1200]
+(
+	SymbolLine[500 5000 2000 3000 800]
+	SymbolLine[2000 1500 2000 3000 800]
+	SymbolLine[1500 1000 2000 1500 800]
+	SymbolLine[500 1000 1500 1000 800]
+	SymbolLine[0 1500 500 1000 800]
+	SymbolLine[0 1500 0 2500 800]
+	SymbolLine[0 2500 500 3000 800]
+	SymbolLine[500 3000 2000 3000 800]
+)
+Symbol[':' 1200]
+(
+	SymbolLine[0 2500 500 2500 800]
+	SymbolLine[0 3500 500 3500 800]
+)
+Symbol[';' 1200]
+(
+	SymbolLine[0 5000 1000 4000 800]
+	SymbolLine[1000 2500 1000 3000 800]
+)
+Symbol['<' 1200]
+(
+	SymbolLine[0 3000 1000 2000 800]
+	SymbolLine[0 3000 1000 4000 800]
+)
+Symbol['=' 1200]
+(
+	SymbolLine[0 2500 2000 2500 800]
+	SymbolLine[0 3500 2000 3500 800]
+)
+Symbol['>' 1200]
+(
+	SymbolLine[0 2000 1000 3000 800]
+	SymbolLine[0 4000 1000 3000 800]
+)
+Symbol['?' 1200]
+(
+	SymbolLine[1000 3000 1000 3500 800]
+	SymbolLine[1000 4500 1000 5000 800]
+	SymbolLine[0 1500 0 2000 800]
+	SymbolLine[0 1500 500 1000 800]
+	SymbolLine[500 1000 1500 1000 800]
+	SymbolLine[1500 1000 2000 1500 800]
+	SymbolLine[2000 1500 2000 2000 800]
+	SymbolLine[1000 3000 2000 2000 800]
+)
+Symbol['@' 1200]
+(
+	SymbolLine[0 1000 0 4000 800]
+	SymbolLine[0 4000 1000 5000 800]
+	SymbolLine[1000 5000 4000 5000 800]
+	SymbolLine[5000 3500 5000 1000 800]
+	SymbolLine[5000 1000 4000 0 800]
+	SymbolLine[4000 0 1000 0 800]
+	SymbolLine[1000 0 0 1000 800]
+	SymbolLine[1500 2000 1500 3000 800]
+	SymbolLine[1500 3000 2000 3500 800]
+	SymbolLine[2000 3500 3000 3500 800]
+	SymbolLine[3000 3500 3500 3000 800]
+	SymbolLine[3500 3000 4000 3500 800]
+	SymbolLine[3500 3000 3500 1500 800]
+	SymbolLine[3500 2000 3000 1500 800]
+	SymbolLine[2000 1500 3000 1500 800]
+	SymbolLine[2000 1500 1500 2000 800]
+	SymbolLine[4000 3500 5000 3500 800]
+)
+Symbol['A' 1200]
+(
+	SymbolLine[0 2000 0 5000 800]
+	SymbolLine[0 2000 700 1000 800]
+	SymbolLine[700 1000 1800 1000 800]
+	SymbolLine[1800 1000 2500 2000 800]
+	SymbolLine[2500 2000 2500 5000 800]
+	SymbolLine[0 3000 2500 3000 800]
+)
+Symbol['B' 1200]
+(
+	SymbolLine[0 5000 2000 5000 800]
+	SymbolLine[2000 5000 2500 4500 800]
+	SymbolLine[2500 3300 2500 4500 800]
+	SymbolLine[2000 2800 2500 3300 800]
+	SymbolLine[500 2800 2000 2800 800]
+	SymbolLine[500 1000 500 5000 800]
+	SymbolLine[0 1000 2000 1000 800]
+	SymbolLine[2000 1000 2500 1500 800]
+	SymbolLine[2500 1500 2500 2300 800]
+	SymbolLine[2000 2800 2500 2300 800]
+)
+Symbol['C' 1200]
+(
+	SymbolLine[700 5000 2000 5000 800]
+	SymbolLine[0 4300 700 5000 800]
+	SymbolLine[0 1700 0 4300 800]
+	SymbolLine[0 1700 700 1000 800]
+	SymbolLine[700 1000 2000 1000 800]
+)
+Symbol['D' 1200]
+(
+	SymbolLine[500 1000 500 5000 800]
+	SymbolLine[1800 1000 2500 1700 800]
+	SymbolLine[2500 1700 2500 4300 800]
+	SymbolLine[1800 5000 2500 4300 800]
+	SymbolLine[0 5000 1800 5000 800]
+	SymbolLine[0 1000 1800 1000 800]
+)
+Symbol['E' 1200]
+(
+	SymbolLine[0 2800 1500 2800 800]
+	SymbolLine[0 5000 2000 5000 800]
+	SymbolLine[0 1000 0 5000 800]
+	SymbolLine[0 1000 2000 1000 800]
+)
+Symbol['F' 1200]
+(
+	SymbolLine[0 1000 0 5000 800]
+	SymbolLine[0 1000 2000 1000 800]
+	SymbolLine[0 2800 1500 2800 800]
+)
+Symbol['G' 1200]
+(
+	SymbolLine[2000 1000 2500 1500 800]
+	SymbolLine[500 1000 2000 1000 800]
+	SymbolLine[0 1500 500 1000 800]
+	SymbolLine[0 1500 0 4500 800]
+	SymbolLine[0 4500 500 5000 800]
+	SymbolLine[500 5000 2000 5000 800]
+	SymbolLine[2000 5000 2500 4500 800]
+	SymbolLine[2500 3500 2500 4500 800]
+	SymbolLine[2000 3000 2500 3500 800]
+	SymbolLine[1000 3000 2000 3000 800]
+)
+Symbol['H' 1200]
+(
+	SymbolLine[0 1000 0 5000 800]
+	SymbolLine[2500 1000 2500 5000 800]
+	SymbolLine[0 3000 2500 3000 800]
+)
+Symbol['I' 1200]
+(
+	SymbolLine[0 1000 1000 1000 800]
+	SymbolLine[500 1000 500 5000 800]
+	SymbolLine[0 5000 1000 5000 800]
+)
+Symbol['J' 1200]
+(
+	SymbolLine[700 1000 1500 1000 800]
+	SymbolLine[1500 1000 1500 4500 800]
+	SymbolLine[1000 5000 1500 4500 800]
+	SymbolLine[500 5000 1000 5000 800]
+	SymbolLine[0 4500 500 5000 800]
+	SymbolLine[0 4500 0 4000 800]
+)
+Symbol['K' 1200]
+(
+	SymbolLine[0 1000 0 5000 800]
+	SymbolLine[0 3000 2000 1000 800]
+	SymbolLine[0 3000 2000 5000 800]
+)
+Symbol['L' 1200]
+(
+	SymbolLine[0 1000 0 5000 800]
+	SymbolLine[0 5000 2000 5000 800]
+)
+Symbol['M' 1200]
+(
+	SymbolLine[0 1000 0 5000 800]
+	SymbolLine[0 1000 1500 3000 800]
+	SymbolLine[1500 3000 3000 1000 800]
+	SymbolLine[3000 1000 3000 5000 800]
+)
+Symbol['N' 1200]
+(
+	SymbolLine[0 1000 0 5000 800]
+	SymbolLine[0 1000 2500 5000 800]
+	SymbolLine[2500 1000 2500 5000 800]
+)
+Symbol['O' 1200]
+(
+	SymbolLine[0 1500 0 4500 800]
+	SymbolLine[0 1500 500 1000 800]
+	SymbolLine[500 1000 1500 1000 800]
+	SymbolLine[1500 1000 2000 1500 800]
+	SymbolLine[2000 1500 2000 4500 800]
+	SymbolLine[1500 5000 2000 4500 800]
+	SymbolLine[500 5000 1500 5000 800]
+	SymbolLine[0 4500 500 5000 800]
+)
+Symbol['P' 1200]
+(
+	SymbolLine[500 1000 500 5000 800]
+	SymbolLine[0 1000 2000 1000 800]
+	SymbolLine[2000 1000 2500 1500 800]
+	SymbolLine[2500 1500 2500 2500 800]
+	SymbolLine[2000 3000 2500 2500 800]
+	SymbolLine[500 3000 2000 3000 800]
+)
+Symbol['Q' 1200]
+(
+	SymbolLine[0 1500 0 4500 800]
+	SymbolLine[0 1500 500 1000 800]
+	SymbolLine[500 1000 1500 1000 800]
+	SymbolLine[1500 1000 2000 1500 800]
+	SymbolLine[2000 1500 2000 4000 800]
+	SymbolLine[1000 5000 2000 4000 800]
+	SymbolLine[500 5000 1000 5000 800]
+	SymbolLine[0 4500 500 5000 800]
+	SymbolLine[1000 3500 2000 5000 800]
+)
+Symbol['R' 1200]
+(
+	SymbolLine[0 1000 2000 1000 800]
+	SymbolLine[2000 1000 2500 1500 800]
+	SymbolLine[2500 1500 2500 2500 800]
+	SymbolLine[2000 3000 2500 2500 800]
+	SymbolLine[500 3000 2000 3000 800]
+	SymbolLine[500 1000 500 5000 800]
+	SymbolLine[1300 3000 2500 5000 800]
+)
+Symbol['S' 1200]
+(
+	SymbolLine[2000 1000 2500 1500 800]
+	SymbolLine[500 1000 2000 1000 800]
+	SymbolLine[0 1500 500 1000 800]
+	SymbolLine[0 1500 0 2500 800]
+	SymbolLine[0 2500 500 3000 800]
+	SymbolLine[500 3000 2000 3000 800]
+	SymbolLine[2000 3000 2500 3500 800]
+	SymbolLine[2500 3500 2500 4500 800]
+	SymbolLine[2000 5000 2500 4500 800]
+	SymbolLine[500 5000 2000 5000 800]
+	SymbolLine[0 4500 500 5000 800]
+)
+Symbol['T' 1200]
+(
+	SymbolLine[0 1000 2000 1000 800]
+	SymbolLine[1000 1000 1000 5000 800]
+)
+Symbol['U' 1200]
+(
+	SymbolLine[0 1000 0 4500 800]
+	SymbolLine[0 4500 500 5000 800]
+	SymbolLine[500 5000 1500 5000 800]
+	SymbolLine[1500 5000 2000 4500 800]
+	SymbolLine[2000 1000 2000 4500 800]
+)
+Symbol['V' 1200]
+(
+	SymbolLine[0 1000 1000 5000 800]
+	SymbolLine[1000 5000 2000 1000 800]
+)
+Symbol['W' 1200]
+(
+	SymbolLine[0 1000 0 3000 800]
+	SymbolLine[0 3000 500 5000 800]
+	SymbolLine[500 5000 1500 3000 800]
+	SymbolLine[1500 3000 2500 5000 800]
+	SymbolLine[2500 5000 3000 3000 800]
+	SymbolLine[3000 3000 3000 1000 800]
+)
+Symbol['X' 1200]
+(
+	SymbolLine[0 5000 2500 1000 800]
+	SymbolLine[0 1000 2500 5000 800]
+)
+Symbol['Y' 1200]
+(
+	SymbolLine[0 1000 1000 3000 800]
+	SymbolLine[1000 3000 2000 1000 800]
+	SymbolLine[1000 3000 1000 5000 800]
+)
+Symbol['Z' 1200]
+(
+	SymbolLine[0 1000 2500 1000 800]
+	SymbolLine[0 5000 2500 1000 800]
+	SymbolLine[0 5000 2500 5000 800]
+)
+Symbol['[' 1200]
+(
+	SymbolLine[0 1000 500 1000 800]
+	SymbolLine[0 1000 0 5000 800]
+	SymbolLine[0 5000 500 5000 800]
+)
+Symbol['\' 1200]
+(
+	SymbolLine[0 1500 3000 4500 800]
+)
+Symbol[']' 1200]
+(
+	SymbolLine[0 1000 500 1000 800]
+	SymbolLine[500 1000 500 5000 800]
+	SymbolLine[0 5000 500 5000 800]
+)
+Symbol['^' 1200]
+(
+	SymbolLine[0 1500 500 1000 800]
+	SymbolLine[500 1000 1000 1500 800]
+)
+Symbol['_' 1200]
+(
+	SymbolLine[0 5000 2000 5000 800]
+)
+Symbol['a' 1200]
+(
+	SymbolLine[1500 3000 2000 3500 800]
+	SymbolLine[500 3000 1500 3000 800]
+	SymbolLine[0 3500 500 3000 800]
+	SymbolLine[0 3500 0 4500 800]
+	SymbolLine[0 4500 500 5000 800]
+	SymbolLine[2000 3000 2000 4500 800]
+	SymbolLine[2000 4500 2500 5000 800]
+	SymbolLine[500 5000 1500 5000 800]
+	SymbolLine[1500 5000 2000 4500 800]
+)
+Symbol['b' 1200]
+(
+	SymbolLine[0 1000 0 5000 800]
+	SymbolLine[0 4500 500 5000 800]
+	SymbolLine[500 5000 1500 5000 800]
+	SymbolLine[1500 5000 2000 4500 800]
+	SymbolLine[2000 3500 2000 4500 800]
+	SymbolLine[1500 3000 2000 3500 800]
+	SymbolLine[500 3000 1500 3000 800]
+	SymbolLine[0 3500 500 3000 800]
+)
+Symbol['c' 1200]
+(
+	SymbolLine[500 3000 2000 3000 800]
+	SymbolLine[0 3500 500 3000 800]
+	SymbolLine[0 3500 0 4500 800]
+	SymbolLine[0 4500 500 5000 800]
+	SymbolLine[500 5000 2000 5000 800]
+)
+Symbol['d' 1200]
+(
+	SymbolLine[2000 1000 2000 5000 800]
+	SymbolLine[1500 5000 2000 4500 800]
+	SymbolLine[500 5000 1500 5000 800]
+	SymbolLine[0 4500 500 5000 800]
+	SymbolLine[0 3500 0 4500 800]
+	SymbolLine[0 3500 500 3000 800]
+	SymbolLine[500 3000 1500 3000 800]
+	SymbolLine[1500 3000 2000 3500 800]
+)
+Symbol['e' 1200]
+(
+	SymbolLine[500 5000 2000 5000 800]
+	SymbolLine[0 4500 500 5000 800]
+	SymbolLine[0 3500 0 4500 800]
+	SymbolLine[0 3500 500 3000 800]
+	SymbolLine[500 3000 1500 3000 800]
+	SymbolLine[1500 3000 2000 3500 800]
+	SymbolLine[0 4000 2000 4000 800]
+	SymbolLine[2000 4000 2000 3500 800]
+)
+Symbol['f' 1000]
+(
+	SymbolLine[500 1500 500 5000 800]
+	SymbolLine[500 1500 1000 1000 800]
+	SymbolLine[1000 1000 1500 1000 800]
+	SymbolLine[0 3000 1000 3000 800]
+)
+Symbol['g' 1200]
+(
+	SymbolLine[1500 3000 2000 3500 800]
+	SymbolLine[500 3000 1500 3000 800]
+	SymbolLine[0 3500 500 3000 800]
+	SymbolLine[0 3500 0 4500 800]
+	SymbolLine[0 4500 500 5000 800]
+	SymbolLine[500 5000 1500 5000 800]
+	SymbolLine[1500 5000 2000 4500 800]
+	SymbolLine[0 6000 500 6500 800]
+	SymbolLine[500 6500 1500 6500 800]
+	SymbolLine[1500 6500 2000 6000 800]
+	SymbolLine[2000 3000 2000 6000 800]
+)
+Symbol['h' 1200]
+(
+	SymbolLine[0 1000 0 5000 800]
+	SymbolLine[0 3500 500 3000 800]
+	SymbolLine[500 3000 1500 3000 800]
+	SymbolLine[1500 3000 2000 3500 800]
+	SymbolLine[2000 3500 2000 5000 800]
+)
+Symbol['i' 1000]
+(
+	SymbolLine[0 2000 0 2100 1000]
+	SymbolLine[0 3500 0 5000 800]
+)
+Symbol['j' 1000]
+(
+	SymbolLine[500 2000 500 2100 1000]
+	SymbolLine[500 3500 500 6000 800]
+	SymbolLine[0 6500 500 6000 800]
+)
+Symbol['k' 1200]
+(
+	SymbolLine[0 1000 0 5000 800]
+	SymbolLine[0 3500 1500 5000 800]
+	SymbolLine[0 3500 1000 2500 800]
+)
+Symbol['l' 1000]
+(
+	SymbolLine[0 1000 0 4500 800]
+	SymbolLine[0 4500 500 5000 800]
+)
+Symbol['m' 1200]
+(
+	SymbolLine[500 3500 500 5000 800]
+	SymbolLine[500 3500 1000 3000 800]
+	SymbolLine[1000 3000 1500 3000 800]
+	SymbolLine[1500 3000 2000 3500 800]
+	SymbolLine[2000 3500 2000 5000 800]
+	SymbolLine[2000 3500 2500 3000 800]
+	SymbolLine[2500 3000 3000 3000 800]
+	SymbolLine[3000 3000 3500 3500 800]
+	SymbolLine[3500 3500 3500 5000 800]
+	SymbolLine[0 3000 500 3500 800]
+)
+Symbol['n' 1200]
+(
+	SymbolLine[500 3500 500 5000 800]
+	SymbolLine[500 3500 1000 3000 800]
+	SymbolLine[1000 3000 1500 3000 800]
+	SymbolLine[1500 3000 2000 3500 800]
+	SymbolLine[2000 3500 2000 5000 800]
+	SymbolLine[0 3000 500 3500 800]
+)
+Symbol['o' 1200]
+(
+	SymbolLine[0 3500 0 4500 800]
+	SymbolLine[0 3500 500 3000 800]
+	SymbolLine[500 3000 1500 3000 800]
+	SymbolLine[1500 3000 2000 3500 800]
+	SymbolLine[2000 3500 2000 4500 800]
+	SymbolLine[1500 5000 2000 4500 800]
+	SymbolLine[500 5000 1500 5000 800]
+	SymbolLine[0 4500 500 5000 800]
+)
+Symbol['p' 1200]
+(
+	SymbolLine[500 3500 500 6500 800]
+	SymbolLine[0 3000 500 3500 800]
+	SymbolLine[500 3500 1000 3000 800]
+	SymbolLine[1000 3000 2000 3000 800]
+	SymbolLine[2000 3000 2500 3500 800]
+	SymbolLine[2500 3500 2500 4500 800]
+	SymbolLine[2000 5000 2500 4500 800]
+	SymbolLine[1000 5000 2000 5000 800]
+	SymbolLine[500 4500 1000 5000 800]
+)
+Symbol['q' 1200]
+(
+	SymbolLine[2000 3500 2000 6500 800]
+	SymbolLine[1500 3000 2000 3500 800]
+	SymbolLine[500 3000 1500 3000 800]
+	SymbolLine[0 3500 500 3000 800]
+	SymbolLine[0 3500 0 4500 800]
+	SymbolLine[0 4500 500 5000 800]
+	SymbolLine[500 5000 1500 5000 800]
+	SymbolLine[1500 5000 2000 4500 800]
+)
+Symbol['r' 1200]
+(
+	SymbolLine[500 3500 500 5000 800]
+	SymbolLine[500 3500 1000 3000 800]
+	SymbolLine[1000 3000 2000 3000 800]
+	SymbolLine[0 3000 500 3500 800]
+)
+Symbol['s' 1200]
+(
+	SymbolLine[500 5000 2000 5000 800]
+	SymbolLine[2000 5000 2500 4500 800]
+	SymbolLine[2000 4000 2500 4500 800]
+	SymbolLine[500 4000 2000 4000 800]
+	SymbolLine[0 3500 500 4000 800]
+	SymbolLine[0 3500 500 3000 800]
+	SymbolLine[500 3000 2000 3000 800]
+	SymbolLine[2000 3000 2500 3500 800]
+	SymbolLine[0 4500 500 5000 800]
+)
+Symbol['t' 1000]
+(
+	SymbolLine[500 1000 500 4500 800]
+	SymbolLine[500 4500 1000 5000 800]
+	SymbolLine[0 2500 1000 2500 800]
+)
+Symbol['u' 1200]
+(
+	SymbolLine[0 3000 0 4500 800]
+	SymbolLine[0 4500 500 5000 800]
+	SymbolLine[500 5000 1500 5000 800]
+	SymbolLine[1500 5000 2000 4500 800]
+	SymbolLine[2000 3000 2000 4500 800]
+)
+Symbol['v' 1200]
+(
+	SymbolLine[0 3000 1000 5000 800]
+	SymbolLine[2000 3000 1000 5000 800]
+)
+Symbol['w' 1200]
+(
+	SymbolLine[0 3000 0 4500 800]
+	SymbolLine[0 4500 500 5000 800]
+	SymbolLine[500 5000 1000 5000 800]
+	SymbolLine[1000 5000 1500 4500 800]
+	SymbolLine[1500 3000 1500 4500 800]
+	SymbolLine[1500 4500 2000 5000 800]
+	SymbolLine[2000 5000 2500 5000 800]
+	SymbolLine[2500 5000 3000 4500 800]
+	SymbolLine[3000 3000 3000 4500 800]
+)
+Symbol['x' 1200]
+(
+	SymbolLine[0 3000 2000 5000 800]
+	SymbolLine[0 5000 2000 3000 800]
+)
+Symbol['y' 1200]
+(
+	SymbolLine[0 3000 0 4500 800]
+	SymbolLine[0 4500 500 5000 800]
+	SymbolLine[2000 3000 2000 6000 800]
+	SymbolLine[1500 6500 2000 6000 800]
+	SymbolLine[500 6500 1500 6500 800]
+	SymbolLine[0 6000 500 6500 800]
+	SymbolLine[500 5000 1500 5000 800]
+	SymbolLine[1500 5000 2000 4500 800]
+)
+Symbol['z' 1200]
+(
+	SymbolLine[0 3000 2000 3000 800]
+	SymbolLine[0 5000 2000 3000 800]
+	SymbolLine[0 5000 2000 5000 800]
+)
+Symbol['{' 1200]
+(
+	SymbolLine[500 1500 1000 1000 800]
+	SymbolLine[500 1500 500 2500 800]
+	SymbolLine[0 3000 500 2500 800]
+	SymbolLine[0 3000 500 3500 800]
+	SymbolLine[500 3500 500 4500 800]
+	SymbolLine[500 4500 1000 5000 800]
+)
+Symbol['|' 1200]
+(
+	SymbolLine[0 1000 0 5000 800]
+)
+Symbol['}' 1200]
+(
+	SymbolLine[0 1000 500 1500 800]
+	SymbolLine[500 1500 500 2500 800]
+	SymbolLine[500 2500 1000 3000 800]
+	SymbolLine[500 3500 1000 3000 800]
+	SymbolLine[500 3500 500 4500 800]
+	SymbolLine[0 5000 500 4500 800]
+)
+Symbol['~' 1200]
+(
+	SymbolLine[0 3500 500 3000 800]
+	SymbolLine[500 3000 1000 3000 800]
+	SymbolLine[1000 3000 1500 3500 800]
+	SymbolLine[1500 3500 2000 3500 800]
+	SymbolLine[2000 3500 2500 3000 800]
+)
+Attribute("PCB::grid::unit" "mil")
+Via[11000 14000 3600 2000 0 2000 "" "thermal(0)"]
+Via[18000 14000 3600 2000 0 2000 "" "thermal(0+)"]
+Via[25000 14000 3600 2000 0 2000 "" "thermal(0S)"]
+Via[32000 14000 3600 2000 0 2000 "" "thermal(0X)"]
+Via[39000 14000 3600 2000 0 2000 "" "thermal(0t)"]
+Via[11000 36000 3600 2000 0 2000 "" "thermal(0+,5)"]
+Via[18000 36000 3600 2000 0 2000 "" "thermal(0X,5+)"]
+Via[25000 36000 3600 2000 0 2000 "" "thermal(5S)"]
+Via[32000 36000 3600 2000 0 2000 "" "thermal(0+,5X)"]
+Via[39000 36000 3600 2000 0 2000 "" "thermal(0,5t)"]
+Via[8000 24000 3600 2000 0 2000 "" ""]
+Layer(1 "top")
+(
+	Polygon("clearpoly")
+	(
+		[1000 1000] [49000 1000] [49000 48000] [1000 48000] 
+	)
+	Polygon("")
+	(
+		[4000 27000] [13000 27000] [13000 21000] [4000 21000] 
+	)
+)
+Layer(2 "ground")
+(
+)
+Layer(3 "signal2")
+(
+)
+Layer(4 "signal3")
+(
+)
+Layer(5 "power")
+(
+)
+Layer(6 "bottom")
+(
+	Polygon("clearpoly")
+	(
+		[1000 24000] [49000 24000] [49000 48000] [1000 48000] 
+	)
+)
+Layer(7 "outline")
+(
+)
+Layer(8 "spare")
+(
+)
+Layer(9 "silk")
+(
+)
+Layer(10 "silk")
+(
+)
+

--- a/src/js/circuit/PCB/Layer.js
+++ b/src/js/circuit/PCB/Layer.js
@@ -27,46 +27,69 @@
 
 		Layer.prototype._renderPolygons = function(ctx, color, pins, elements){
 
+			var clearing = false;
+
 			// render clear polygons first
 			for(i = 0; i < this.polygons.length; i++)
-				this.polygons[i].render(ctx, color);
+				if(this.polygons[i].isClear()){
+					this.polygons[i].render(ctx, color);
+					clearing = true;
+				}
 
 			// clear pins, same layer pads, and other clearing objects
-			ctx.globalCompositeOperation = "destination-out";
-			ctx.fillStyle = '#FFFFFF';
-			for(i = 0; i < this.parts.length; i++)
-					this.parts[i].clear(ctx);
-			if(elements)
-				for(i = 0; i < elements.parts.length; i++)
-					elements.parts[i].clear(ctx);
-			if(pins)
-				for(i = 0; i < pins.parts.length; i++)
-					pins.parts[i].clear(ctx);
-			ctx.globalCompositeOperation = "source-over";
+			if(clearing){
+				ctx.globalCompositeOperation = "destination-out";
+				ctx.strokeStyle = 'rgba(0,0,0,1)';
+				ctx.fillStyle = 'rgba(0,0,0,1)';
+				for(i = 0; i < this.parts.length; i++)
+						this.parts[i].clear(ctx);
+				if(elements)
+					for(i = 0; i < elements.parts.length; i++)
+						elements.parts[i].clear(ctx);
+				if(pins)
+					for(i = 0; i < pins.parts.length; i++)
+						pins.parts[i].clear(ctx);
+				ctx.globalCompositeOperation = "source-over";
+			}
 
 			// Render non clearing polygons
+			for(i = 0; i < this.polygons.length; i++)
+				if(!this.polygons[i].isClear())
+					this.polygons[i].render(ctx, color);
 
 		}
 
 		Layer.prototype._renderPolygonsGL = function(gl, shaderProgram, color, pins, elements){
+
+			var clearing = false;
 
 			// render clear polygons first
 			gl.uniform4f(shaderProgram.vColorUniform, color.r, color.g, color.b, 1.0);
 			for(i = 0; i < this.polygons.length; i++)
-				this.polygons[i].renderGL(gl, shaderProgram);
+				if(this.polygons[i].isClear()){
+					this.polygons[i].renderGL(gl, shaderProgram);
+					clearing = true;
+				}
 
 			// render alpha of pins, same layer pads, and other clearing objects
-			gl.uniform4f(shaderProgram.vColorUniform, 0.0, 0.0, 0.0, 0.0);
-			for(i = 0; i < this.parts.length; i++)
-				this.parts[i].clearGL(gl, shaderProgram);
-			if(pins)
-				for(i = 0; i < pins.parts.length; i++)
-					pins.parts[i].clearGL(gl, shaderProgram);
-			if(elements)
-				for(i = 0; i < elements.parts.length; i++)
-					elements.parts[i].clearGL(gl, shaderProgram);
+			// Pins and vias clear specially if they have thermals
+			if(clearing){
+				gl.uniform4f(shaderProgram.vColorUniform, 0.0, 0.0, 0.0, 0.0);
+				for(i = 0; i < this.parts.length; i++)
+					this.parts[i].clearGL(gl, shaderProgram);
+				if(pins)
+					for(i = 0; i < pins.parts.length; i++)
+						pins.parts[i].clearGL(gl, shaderProgram);
+				if(elements)
+					for(i = 0; i < elements.parts.length; i++)
+						elements.parts[i].clearGL(gl, shaderProgram);
+			}
 
 			// render non clear polygons
+			gl.uniform4f(shaderProgram.vColorUniform, color.r, color.g, color.b, 1.0);
+			for(i = 0; i < this.polygons.length; i++)
+				if(!this.polygons[i].isClear())
+					this.polygons[i].renderGL(gl, shaderProgram);
 
 		}
 
@@ -83,9 +106,11 @@
 		};
 
 		Layer.prototype.seperatePolygons = function(){
-			for(var i = 0; i < this.parts.length; i++)
+			for(var i = 0; i < this.parts.length;)
 				if(this.parts[i] instanceof Polygon)
 					this.polygons.push(this.parts.splice(i, 1)[0]);
+				else i++;
+
 		};
 
 		Layer.prototype.render = function(ctx, color, pins, elements){

--- a/src/js/circuit/PCB/Polygon.js
+++ b/src/js/circuit/PCB/Polygon.js
@@ -4,17 +4,16 @@
 
 		var Polygon = function(flags, points){
 
-			this.flags = {};
+			this.flags = {
+				clearpoly: false
+			};
 			this.points = points;
 
 			var split, i;
 
 			split = flags.split(',');
-			for(i = 0; i < split.length; i++){
-
-				//
-
-			}
+			for(i = 0; i < split.length; i++)
+				this.flags[split[i]] = true;
 
 			// Decompose into triangles
 			// turn into doubly linked list
@@ -87,6 +86,10 @@
 
 		};
 
+		Polygon.prototype.isClear = function(){
+			return this.flags.clearpoly;
+		};
+
 		Polygon.prototype.render = function(ctx, color){
 
 			ctx.beginPath();

--- a/src/js/circuit/PCB/Renderers/TwoDRenderer.js
+++ b/src/js/circuit/PCB/Renderers/TwoDRenderer.js
@@ -18,7 +18,7 @@
 
 		Class.extend(Renderer, TwoDRenderer);
 
-		TwoDRenderer.prototype._renderLayer = function(ctx, bufferCtx, bufferCanvas, layer, color){
+		TwoDRenderer.prototype._renderLayer = function(layer, color){
 
 			var components = null;
 
@@ -27,9 +27,15 @@
 				if(layer.name == "bottom") components = this.solder;
 				else if(layer.name == "top") components = this.top;
 
-				bufferCtx.clearRect(0, 0, bufferCanvas.width, bufferCanvas.height);
-				layer.render(bufferCtx, color, this.pins, components);
-				ctx.drawImage(bufferCanvas, 0, 0);
+				// Clear Buffer, have to reset transform for this
+				this.bufferCtx.save();
+				this.bufferCtx.setTransform(1,0,0,1,0,0);
+				this.bufferCtx.clearRect(0, 0, this.bufferCanvas.width, this.bufferCanvas.height);
+				this.bufferCtx.restore();
+
+				layer.render(this.bufferCtx, color, this.pins, components);
+
+				this.ctx.drawImage(this.bufferCanvas, 0, 0);
 
 			}
 
@@ -83,23 +89,23 @@
 			this.ctx.globalAlpha = 0.5;
 			if(side != Layer.TOP){
 
-	        	this._renderLayer(this.ctx, this.bufferCtx, this.bufferCanvas, this.topSilk, '#FFFFFF', null);
-	        	this._renderLayer(this.ctx, this.bufferCtx, this.bufferCanvas, this.solder, '#FFFFFF', null);
+	        	this._renderLayer(this.topSilk, '#FFFFFF', null);
+	        	this._renderLayer(this.solder, '#FFFFFF', null);
 	        	for(l = this.otherLayers.length - 1; l >= 0; l--)
-	        		this._renderLayer(this.ctx, this.bufferCtx, this.bufferCanvas, this.otherLayers[l], null, null);
-	        	this._renderLayer(this.ctx, this.bufferCtx, this.bufferCanvas, this.top, '#000000', null);
-	        	this._renderLayer(this.ctx, this.bufferCtx, this.bufferCanvas, this.pins, null, null);
-	        	this._renderLayer(this.ctx, this.bufferCtx, this.bufferCanvas, this.bottomSilk, '#000000', null);
+	        		this._renderLayer(this.otherLayers[l], null, null);
+	        	this._renderLayer(this.top, '#000000', null);
+	        	this._renderLayer(this.pins, null, null);
+	        	this._renderLayer(this.bottomSilk, '#000000', null);
 
 	        } else {
 
-	        	this._renderLayer(this.ctx, this.bufferCtx, this.bufferCanvas, this.bottomSilk, '#FFFFFF', null);
-	        	this._renderLayer(this.ctx, this.bufferCtx, this.bufferCanvas, this.top, '#FFFFFF', null);
+	        	this._renderLayer(this.bottomSilk, '#FFFFFF', null);
+	        	this._renderLayer(this.top, '#FFFFFF', null);
 	        	for(l = 0; l < this.otherLayers.length; l++)
-	        		this._renderLayer(this.ctx, this.bufferCtx, this.bufferCanvas, this.otherLayers[l], null, null);
-	        	this._renderLayer(this.ctx, this.bufferCtx, this.bufferCanvas, this.solder, '#000000', null);
-	        	this._renderLayer(this.ctx, this.bufferCtx, this.bufferCanvas, this.pins, null, null);
-	        	this._renderLayer(this.ctx, this.bufferCtx, this.bufferCanvas, this.topSilk, '#000000', null);
+	        		this._renderLayer(this.otherLayers[l], null, null);
+	        	this._renderLayer(this.solder, '#000000', null);
+	        	this._renderLayer(this.pins, null, null);
+	        	this._renderLayer(this.topSilk, '#000000', null);
 
 	        }