// Path: main/java/Vexillo/src/com/kreative/vexillo/core/Color.java
// public interface HasRGB {
// 	public int getRGB();
// }


import java.awt.BasicStroke;
import java.awt.Shape;
import java.awt.Stroke;
import java.awt.geom.AffineTransform;
import java.awt.geom.Area;
import java.awt.geom.Line2D;
import java.awt.geom.PathIterator;
import java.awt.geom.Rectangle2D;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import com.kreative.vexillo.core.Color.HasRGB;
		if (!styleBlock.isEmpty()) {
			out.println("<style>");
			for (String line : styleBlock) out.println(line);
			out.println("</style>");
		}
		if (!defsBlock.isEmpty()) {
			out.println("<defs>");
			for (String line : defsBlock) out.println(line);
			out.println("</defs>");
		}
		if (tx != 0 || ty != 0) out.println("<g transform=\"translate(" + tx + " " + ty + ")\">");
		if (embeddedMode) out.println("<g clip-path=\"url(#bounds)\">");
		if (!groupBlock.isEmpty()) {
			out.println("<g>");
			for (String line : groupBlock) out.println(line);
			out.println("</g>");
		}
		if (!glazeBlock.isEmpty()) {
			out.println("<g>");
			for (String line : glazeBlock) out.println(line);
			out.println("</g>");
		}
		if (embeddedMode) out.println("</g>");
		if (tx != 0 || ty != 0) out.println("</g>");
		if (embeddedMode) out.print("</svg>");
		else out.println("</svg>");
	}
	
	private void prep(List<String> styleBlock, List<String> defsBlock) {
		for (Map.Entry<String, Color> e : flag.colors().entrySet()) {
// Path: main/java/Vexillo/src/com/kreative/vexillo/core/Color.java
// public interface HasRGB {
// 	public int getRGB();
// }


// Path: main/java/Vexillo/src/com/kreative/vexillo/core/SVGExporter.java
import java.awt.BasicStroke;
import java.awt.Shape;
import java.awt.Stroke;
import java.awt.geom.AffineTransform;
import java.awt.geom.Area;
import java.awt.geom.Line2D;
import java.awt.geom.PathIterator;
import java.awt.geom.Rectangle2D;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import com.kreative.vexillo.core.Color.HasRGB;

		if (!styleBlock.isEmpty()) {
			out.println("<style>");
			for (String line : styleBlock) out.println(line);
			out.println("</style>");
		}
		if (!defsBlock.isEmpty()) {
			out.println("<defs>");
			for (String line : defsBlock) out.println(line);
			out.println("</defs>");
		}
		if (tx != 0 || ty != 0) out.println("<g transform=\"translate(" + tx + " " + ty + ")\">");
		if (embeddedMode) out.println("<g clip-path=\"url(#bounds)\">");
		if (!groupBlock.isEmpty()) {
			out.println("<g>");
			for (String line : groupBlock) out.println(line);
			out.println("</g>");
		}
		if (!glazeBlock.isEmpty()) {
			out.println("<g>");
			for (String line : glazeBlock) out.println(line);
			out.println("</g>");
		}
		if (embeddedMode) out.println("</g>");
		if (tx != 0 || ty != 0) out.println("</g>");
		if (embeddedMode) out.print("</svg>");
		else out.println("</svg>");
	}
	
	private void prep(List<String> styleBlock, List<String> defsBlock) {
		for (Map.Entry<String, Color> e : flag.colors().entrySet()) {
			if (e.getValue() instanceof Color.HasRGB) {