﻿var Cufon = (function() {
	var o = function() { return o.replace.apply(null, arguments); }; var d = o.DOM = { ready: (function() {
		var D = false, B = { loaded: 1, complete: 1 }; var A = [], C = function() { if (D) { return; } D = true; for (var E; E = A.shift(); E()) { } }; if (document.addEventListener) {
			document.addEventListener("DOMContentLoaded", C, false);
			window.addEventListener("pageshow", C, false);
		} if (!window.opera && document.readyState) { (function() { B[document.readyState] ? C() : setTimeout(arguments.callee, 10); })(); } if (document.readyState && document.createStyleSheet) {
			(function() {
				try {
					document.body.doScroll("left");
					C();
				} catch (E) { setTimeout(arguments.callee, 1); } 
			})();
		} k(window, "load", C); return function(E) { if (!arguments.length) { C(); } else { D ? E() : A.push(E); } };
	})(), root: function() { return document.documentElement || document.body; } 
	}; var n = o.CSS = { Size: function(B, A) {
		this.value = parseFloat(B);
		this.unit = String(B).match(/[a-z%]*$/)[0] || "px"; this.convert = function(C) { return C / A * this.value; }; this.convertFrom = function(C) { return C / this.value * A; }; this.toString = function() { return this.value + this.unit; };
	}, addClass: function(B, A) {
		B.className = (B.className && " ") + A;
		return B;
	}, color: r(function(B) { var A = {}; A.color = B.replace(/^rgba\((.*?),\s*([\d.]+)\)/, function(D, E, C) { A.opacity = parseFloat(C); return "rgb(" + E + ")"; }); return A; }), fontStretch: r(function(A) {
		if (typeof A == "number") { return A; } if (/%$/.test(A)) {
			return parseFloat(A) / 100;
		} return { "ultra-condensed": 0.5, "extra-condensed": 0.625, condensed: 0.75, "semi-condensed": 0.875, "semi-expanded": 1.125, expanded: 1.25, "extra-expanded": 1.5, "ultra-expanded": 2}[A] || 1;
	}), getStyle: function(B) {
		var A = document.defaultView; if (A && A.getComputedStyle) {
			return new AA(A.getComputedStyle(B, null));
		} if (B.currentStyle) { return new AA(B.currentStyle); } return new AA(B.style);
	}, gradient: r(function(C) {
		var B = { id: C, type: C.match(/^-([a-z]+)-gradient\(/)[1], stops: [] }, F = C.substr(C.indexOf("(")).match(/([\d.]+=)?(#[a-f0-9]+|[a-z]+\(.*?\)|[a-z]+)/ig); for (var D = 0, A = F.length, E;
D < A; ++D) { E = F[D].split("=", 2).reverse(); B.stops.push([E[1] || D / (A - 1), E[0]]); } return B;
	}), quotedList: r(function(B) { var C = [], D = /\s*((["'])([\s\S]*?[^\\])\2|[^,]+)\s*/g, A; while (A = D.exec(B)) { C.push(A[3] || A[1]); } return C; }), recognizesMedia: r(function(B) {
		var D = document.createElement("style"), E, F, A;
		D.type = "text/css"; D.media = B; try { D.appendChild(document.createTextNode("/**/")); } catch (C) { } F = u("head")[0]; F.insertBefore(D, F.firstChild); E = (D.sheet || D.styleSheet); A = E && !E.disabled; F.removeChild(D); return A;
	}), removeClass: function(B, C) {
		var A = RegExp("(?:^|\\s+)" + C + "(?=\\s|$)", "g");
		B.className = B.className.replace(A, ""); return B;
	}, supports: function(B, C) { var A = document.createElement("span").style; if (A[B] === undefined) { return false; } A[B] = C; return A[B] === C; }, textAlign: function(B, C, A, D) {
		if (C.get("textAlign") == "right") { if (A > 0) { B = " " + B; } } else {
			if (A < D - 1) {
				B += " ";
			} 
		} return B;
	}, textDecoration: function(B, C) {
		if (!C) { C = this.getStyle(B); } var F = { underline: null, overline: null, "line-through": null }; for (var A = B; A.parentNode && A.parentNode.nodeType == 1; ) {
			var D = true; for (var E in F) {
				if (!q(F, E) || F[E]) { continue; } if (C.get("textDecoration").indexOf(E) != -1) {
					F[E] = C.get("color");
				} D = false;
			} if (D) { break; } C = this.getStyle(A = A.parentNode);
		} return F;
	}, textShadow: r(function(C) {
		if (C == "none") { return null; } var D = [], B = {}, A, F = 0; var E = /(#[a-f0-9]+|[a-z]+\(.*?\)|[a-z]+)|(-?[\d.]+[a-z%]*)|,/ig; while (A = E.exec(C)) {
			if (A[0] == ",") { D.push(B); B = {}; F = 0; } else {
				if (A[1]) {
					B.color = A[1];
				} else { B[["offX", "offY", "blur"][F++]] = A[2]; } 
			} 
		} D.push(B); return D;
	}), textTransform: (function() {
		var A = { uppercase: function(B) { return B.toUpperCase(); }, lowercase: function(B) { return B.toLowerCase(); }, capitalize: function(B) {
			return B.replace(/\b./g, function(C) {
				return C.toUpperCase();
			});
		} 
		}; return function(B, C) { var D = A[C.get("textTransform")]; return D ? D(B) : B; };
	})(), whiteSpace: (function() {
		var A = { inline: 1, "inline-block": 1, "run-in": 1 }; return function(B, D, C) {
			if (A[D.get("display")]) { return B; } if (!C.previousSibling) { B = B.replace(/^\s+/, ""); } if (!C.nextSibling) {
				B = B.replace(/\s+$/, "");
			} return B;
		};
	})()
	}; n.ready = (function() {
		var I = !n.recognizesMedia("all"), F = false; var G = [], C = function() { I = true; for (var J; J = G.shift(); J()) { } }; var B = u("link"), A = u("style"); function H(J) { return J.disabled || D(J.sheet, J.media || "screen"); } function D(P, M) {
			if (!n.recognizesMedia(M || "all")) {
				return true;
			} if (!P || P.disabled) { return false; } try { var L = P.cssRules, N; if (L) { search: for (var J = 0, K = L.length; N = L[J], J < K; ++J) { switch (N.type) { case 2: break; case 3: if (!D(N.styleSheet, N.media.mediaText)) { return false; } break; default: break search; } } } } catch (O) { } return true;
		} function E() {
			if (document.createStyleSheet) {
				return true;
			} var J, K; for (K = 0; J = B[K]; ++K) { if (J.rel.toLowerCase() == "stylesheet" && !H(J)) { return false; } } for (K = 0; J = A[K]; ++K) { if (!H(J)) { return false; } } return true;
		} d.ready(function() {
			if (!F) { F = n.getStyle(document.body).isUsable(); } if (I || (F && E())) { C(); } else {
				setTimeout(arguments.callee, 10);
			} 
		}); return function(J) { if (I) { J(); } else { G.push(J); } };
	})(); function i(B) {
		var A = this.face = B.face; this.glyphs = B.glyphs; this.w = B.w; this.baseSize = parseInt(A["units-per-em"], 10); this.family = A["font-family"].toLowerCase(); this.weight = A["font-weight"]; this.style = A["font-style"] || "normal";
		this.viewBox = (function() {
			var C = A.bbox.split(/\s+/); var D = { minX: parseInt(C[0], 10), minY: parseInt(C[1], 10), maxX: parseInt(C[2], 10), maxY: parseInt(C[3], 10) }; D.width = D.maxX - D.minX; D.height = D.maxY - D.minY; D.toString = function() {
				return [this.minX, this.minY, this.width, this.height].join(" ");
			}; return D;
		})(); this.ascent = -parseInt(A.ascent, 10); this.descent = -parseInt(A.descent, 10); this.height = -this.ascent + this.descent;
	} function v() {
		var B = {}, A = { oblique: "italic", italic: "oblique" }; this.add = function(C) { (B[C.style] || (B[C.style] = {}))[C.weight] = C; }; this.get = function(F, E) {
			var G = B[F] || B[A[F]] || B.normal || B.italic || B.oblique;
			if (!G) { return null; } E = { normal: 400, bold: 700}[E] || parseInt(E, 10); if (G[E]) { return G[E]; } var I = { 1: 1, 99: 0}[E % 100], C = [], H, J; if (I === undefined) { I = E > 400; } if (E == 500) { E = 400; } for (var D in G) {
				if (!q(G, D)) { continue; } D = parseInt(D, 10); if (!H || D < H) { H = D; } if (!J || D > J) { J = D; } C.push(D);
			} if (E < H) { E = H; } if (E > J) { E = J; } C.sort(function(K, L) { return (I ? (K > E && L > E) ? K < L : K > L : (K < E && L < E) ? K > L : K < L) ? -1 : 1; }); return G[C[0]];
		};
	} function j() {
		function C(F, E) { if (F.contains) { return F.contains(E); } return F.compareDocumentPosition(E) & 16; } function A(E) {
			var F = E.relatedTarget;
			if (!F || C(this, F)) { return; } D(this);
		} function B(E) { D(this); } function D(E) { setTimeout(function() { o.replace(E, x.get(E).options, true); }, 10); } this.attach = function(E) {
			if (E.onmouseenter === undefined) { k(E, "mouseover", A); k(E, "mouseout", A); } else {
				k(E, "mouseenter", B); k(E, "mouseleave", B);
			} 
		};
	} function g() {
		var C = [], B = {}; function A(D) { var G = [], E; for (var F = 0; E = D[F]; ++F) { G[F] = C[B[E]]; } return G; } this.add = function(D, E) { B[D] = C.push(E) - 1; }; this.repeat = function() {
			var F = arguments.length ? A(arguments) : C, E; for (var D = 0; E = F[D++]; ) {
				o.replace(E[0], E[1], true);
			} 
		};
	} function AB() { var B = {}, A = 0; function C(D) { return D.cufid || (D.cufid = ++A); } this.get = function(E) { var D = C(E); return B[D] || (B[D] = {}); }; } function AA(A) {
		var B = {}, C = {}; this.extend = function(E) { for (var D in E) { if (q(E, D)) { B[D] = E[D]; } } return this; }; this.get = function(D) {
			return B[D] != undefined ? B[D] : A[D];
		}; this.getSize = function(D, E) { return C[D] || (C[D] = new n.Size(this.get(D), E)); }; this.isUsable = function() { return !!A; };
	} function k(C, A, B) {
		if (C.addEventListener) { C.addEventListener(A, B, false); } else {
			if (C.attachEvent) {
				C.attachEvent("on" + A, function() {
					return B.call(C, window.event);
				});
			} 
		} 
	} function f(C, A) { var B = x.get(C); if (B.options) { return C; } if (A.hover && A.hoverables[C.nodeName.toLowerCase()]) { z.attach(C); } B.options = A; return C; } function r(A) { var B = {}; return function(C) { if (!q(B, C)) { B[C] = A.apply(null, arguments); } return B[C]; }; } function y(B, C) {
		if (!C) {
			C = n.getStyle(B);
		} var F = n.quotedList(C.get("fontFamily").toLowerCase()), D; for (var E = 0, A = F.length; E < A; ++E) { D = F[E]; if (s[D]) { return s[D].get(C.get("fontStyle"), C.get("fontWeight")); } } return null;
	} function u(A) { return document.getElementsByTagName(A); } function q(B, A) {
		return B.hasOwnProperty(A);
	} function t() { var A = {}, D, B; for (var C = 0, E = arguments.length; D = arguments[C], C < E; ++C) { for (B in D) { if (q(D, B)) { A[B] = D[B]; } } } return A; } function m(J, B, L, A, I, K) {
		var C = A.separate; if (C == "none") { return b[A.engine].apply(null, arguments); } var D = document.createDocumentFragment(), G;
		var F = B.split(l[C]), M = (C == "words"); if (M && h) { if (/^\s/.test(B)) { F.unshift(""); } if (/\s$/.test(B)) { F.push(""); } } for (var E = 0, H = F.length; E < H; ++E) { G = b[A.engine](J, M ? n.textAlign(F[E], L, E, H) : F[E], L, A, I, K, E < H - 1); if (G) { D.appendChild(G); } } return D;
	} function p(I, A) {
		var H, J, G, D, E, B;
		for (G = f(I, A).firstChild; G; G = E) {
			D = G.nodeType; E = G.nextSibling; B = false; if (D == 1) { if (!G.firstChild) { continue; } if (!/cufon/.test(G.className)) { arguments.callee(G, A); continue; } else { B = true; } } else { if (D != 3) { continue; } } if (!J) { J = n.getStyle(I).extend(A); } if (!H) {
				H = y(I, J);
			} if (!H) { continue; } if (B) { b[A.engine](H, null, J, A, G, I); continue; } var C = n.whiteSpace(G.data, J, G); if (C === "") { continue; } var F = m(H, C, J, A, G, I); if (F) { G.parentNode.replaceChild(F, G); } else { G.parentNode.removeChild(G); } 
		} 
	} var h = " ".split(/\s+/).length == 0; var x = new AB();
	var z = new j(); var c = new g(); var w = false; var b = {}, s = {}, e = { enableTextDecoration: false, engine: null, forceHitArea: false, hover: false, hoverables: { a: true }, printable: true, selector: (window.Sizzle || (window.jQuery && function(A) { return jQuery(A); }) || (window.dojo && dojo.query) || (window.$$ && function(A) {
		return $$(A);
	}) || (window.$ && function(A) { return $(A); }) || (document.querySelectorAll && function(A) { return document.querySelectorAll(A); }) || (window.Ext && Ext.query) || u), separate: "words", textShadow: "none"
	}; var l = { words: /[^\S\u00a0]+/, characters: "" }; o.now = function() {
		d.ready();
		return o;
	}; o.refresh = function() { c.repeat.apply(c, arguments); return o; }; o.registerEngine = function(B, A) { if (!A) { return o; } b[B] = A; return o.set("engine", B); }; o.registerFont = function(B) {
		var A = new i(B), C = A.family; if (!s[C]) { s[C] = new v(); } s[C].add(A); return o.set("fontFamily", '"' + C + '"');
	}; o.replace = function(B, C, A) {
		C = t(e, C); if (!C.engine) { return o; } if (!w) { n.addClass(d.root(), "cufon-active cufon-loading"); n.ready(function() { n.removeClass(d.root(), "cufon-loading"); }); w = true; } if (C.hover) { C.forceHitArea = true; } if (typeof C.textShadow == "string") {
			C.textShadow = n.textShadow(C.textShadow);
		} if (typeof C.color == "string" && /^-/.test(C.color)) { C.textGradient = n.gradient(C.color); } if (!A) { c.add(B, arguments); } if (B.nodeType || typeof B == "string") { B = [B]; } n.ready(function() {
			for (var E = 0, F = B.length; E < F; ++E) {
				var D = B[E]; if (typeof D == "string") {
					o.replace(C.selector(D), C, true);
				} else { p(D, C); } 
			} 
		}); return o;
	}; o.set = function(A, B) { e[A] = B; return o; }; return o;
})(); Cufon.registerEngine("canvas", (function() {
	var L = document.createElement("canvas"); if (!L || !L.getContext || !L.getContext.apply) { return; } L = null; var G = Cufon.CSS.supports("display", "inline-block");
	var I = !G && (document.compatMode == "BackCompat" || /frameset|transitional/i.test(document.doctype.publicId)); var H = document.createElement("style"); H.type = "text/css"; H.appendChild(document.createTextNode((".cufon-canvas{text-indent:0;}@media screen,projection{.cufon-canvas{display:inline;display:inline-block;position:relative;vertical-align:middle;" + (I ? "" : "font-size:1px;line-height:1px;") + "}.cufon-canvas .cufon-alt{display:-moz-inline-box;display:inline-block;width:0;height:0;overflow:hidden;text-indent:-10000in;}" + (G ? ".cufon-canvas canvas{position:relative;}" : ".cufon-canvas canvas{position:absolute;}") + "}@media print{.cufon-canvas{padding:0;}.cufon-canvas canvas{display:none;}.cufon-canvas .cufon-alt{display:inline;}}").replace(/;/g, "!important;")));
	document.getElementsByTagName("head")[0].appendChild(H); function J(A, Q) {
		var C = 0, D = 0; var R = [], B = /([mrvxe])([^a-z]*)/g, F; generate: for (var P = 0; F = B.exec(A); ++P) {
			var E = F[2].split(","); switch (F[1]) {
				case "v": R[P] = { m: "bezierCurveTo", a: [C + ~ ~E[0], D + ~ ~E[1], C + ~ ~E[2], D + ~ ~E[3], C += ~ ~E[4], D += ~ ~E[5]] };
					break; case "r": R[P] = { m: "lineTo", a: [C += ~ ~E[0], D += ~ ~E[1]] }; break; case "m": R[P] = { m: "moveTo", a: [C = ~ ~E[0], D = ~ ~E[1]] }; break; case "x": R[P] = { m: "closePath" }; break; case "e": break generate;
			} Q[R[P].m].apply(Q, R[P].a);
		} return R;
	} function K(A, B) {
		for (var C = 0, D = A.length; C < D; ++C) {
			var E = A[C];
			B[E.m].apply(B, E.a);
		} 
	} return function(C, An, AV, x, Aj, B) {
		var AS = (An === null); if (AS) { An = Aj.alt; } var Al = C.viewBox; var AQ = AV.getSize("fontSize", C.baseSize); var AX = AV.get("letterSpacing"); AX = (AX == "normal") ? 0 : AQ.convertFrom(parseInt(AX, 10)); var Ak = 0, AW = 0, AY = 0, i = 0; var Am = x.textShadow, Aa = [];
		if (Am) { for (var D = Am.length; D--; ) { var Ag = Am[D]; var Ab = AQ.convertFrom(parseFloat(Ag.offX)); var Ad = AQ.convertFrom(parseFloat(Ag.offY)); Aa[D] = [Ab, Ad]; if (Ad < Ak) { Ak = Ad; } if (Ab > AW) { AW = Ab; } if (Ad > AY) { AY = Ad; } if (Ab < i) { i = Ab; } } } var Ap = Cufon.CSS.textTransform(An, AV).split(""), AD;
		var AR = C.glyphs, k, AO, l; var AU = 0, AH, Ah = []; for (var D = 0, g = 0, y = Ap.length; D < y; ++D) { k = AR[AD = Ap[D]] || C.missingGlyph; if (!k) { continue; } if (AO) { AU -= l = AO[AD] || 0; Ah[g - 1] -= l; } AU += AH = Ah[g++] = ~ ~(k.w || C.w) + AX; AO = k.k; } if (AH === undefined) { return null; } AW += Al.width - AH; i += Al.minX;
		var AB, AP; if (AS) { AB = Aj; AP = Aj.firstChild; } else {
			AB = document.createElement("span"); AB.className = "cufon cufon-canvas"; AB.alt = An; AP = document.createElement("canvas"); AB.appendChild(AP); if (x.printable) {
				var j = document.createElement("span"); j.className = "cufon-alt"; j.appendChild(document.createTextNode(An));
				AB.appendChild(j);
			} 
		} var Ao = AB.style; var Ae = AP.style; var AT = AQ.convert(Al.height); var Aq = Math.ceil(AT); var AZ = Aq / AT; var Af = AZ * Cufon.CSS.fontStretch(AV.get("fontStretch")); var Ac = AU * Af; var AC = Math.ceil(AQ.convert(Ac + AW - i)); var AJ = Math.ceil(AQ.convert(Al.height - Ak + AY));
		AP.width = AC; AP.height = AJ; Ae.width = AC + "px"; Ae.height = AJ + "px"; Ak += Al.minY; Ae.top = Math.round(AQ.convert(Ak - C.ascent)) + "px"; Ae.left = Math.round(AQ.convert(i)) + "px"; var AE = Math.ceil(AQ.convert(Ac)) + "px"; if (G) { Ao.width = AE; Ao.height = AQ.convert(C.height) + "px"; } else {
			Ao.paddingLeft = AE;
			Ao.paddingBottom = (AQ.convert(C.height) - 1) + "px";
		} var A = AP.getContext("2d"), Ai = AT / Al.height; A.scale(Ai, Ai * AZ); A.translate(-i, -Ak); A.lineWidth = C.face["underline-thickness"]; A.save(); function AN(M, N) {
			A.strokeStyle = N; A.beginPath(); A.moveTo(0, M); A.lineTo(AU, M); A.stroke();
		} var AI = x.enableTextDecoration ? Cufon.CSS.textDecoration(B, AV) : {}; if (AI.underline) { AN(-C.face["underline-position"], AI.underline); } if (AI.overline) { AN(C.ascent, AI.overline); } function F() {
			A.scale(Af, 1); for (var M = 0, N = 0, O = Ap.length; M < O; ++M) {
				var P = AR[Ap[M]] || C.missingGlyph;
				if (!P) { continue; } if (P.d) { A.beginPath(); if (P.code) { K(P.code, A); } else { P.code = J("m" + P.d, A); } A.fill(); } A.translate(Ah[N++], 0);
			} A.restore();
		} if (Am) { for (var D = Am.length; D--; ) { var Ag = Am[D]; A.save(); A.fillStyle = Ag.color; A.translate.apply(A, Aa[D]); F(); } } var AF = x.textGradient;
		if (AF) { var E = AF.stops, AG = A.createLinearGradient(0, Al.minY, 0, Al.maxY); for (var D = 0, y = E.length; D < y; ++D) { AG.addColorStop.apply(AG, E[D]); } A.fillStyle = AG; } else { A.fillStyle = AV.get("color"); } F(); if (AI["line-through"]) { AN(-C.descent, AI["line-through"]); } return AB;
	};
})()); Cufon.registerEngine("vml", (function() {
	if (!document.namespaces) { return; } if (document.namespaces.cvml == null) { document.namespaces.add("cvml", "urn:schemas-microsoft-com:vml"); } var L = document.createElement("cvml:shape"); L.style.behavior = "url(#default#VML)";
	if (!L.coordsize) { return; } L = null; var H = (document.documentMode || 0) < 8; document.write(('<style type="text/css">.cufon-vml-canvas{text-indent:0;}@media screen{cvml\\:shape,cvml\\:rect,cvml\\:fill,cvml\\:shadow{behavior:url(#default#VML);display:block;antialias:true;position:absolute;}.cufon-vml-canvas{position:absolute;text-align:left;}.cufon-vml{display:inline-block;position:relative;vertical-align:' + (H ? "middle" : "text-bottom") + ";}.cufon-vml .cufon-alt{position:absolute;left:-10000in;font-size:1px;}a .cufon-vml{cursor:pointer}}@media print{.cufon-vml *{display:none;}.cufon-vml .cufon-alt{display:inline;}}</style>").replace(/;/g, "!important;"));
	function K(B, A) { return G(B, /(?:em|ex|%)$|^[a-z-]+$/i.test(A) ? "1em" : A); } function G(B, A) {
		if (/px$/i.test(A)) { return parseFloat(A); } var C = B.style.left, D = B.runtimeStyle.left; B.runtimeStyle.left = B.currentStyle.left; B.style.left = A.replace("%", "em"); var E = B.style.pixelLeft;
		B.style.left = C; B.runtimeStyle.left = D; return E;
	} var I = {}; function J(A) {
		var N = A.id; if (!I[N]) {
			var C = A.stops, B = document.createElement("cvml:fill"), F = []; B.type = "gradient"; B.angle = 180; B.focus = "0"; B.method = "sigma"; B.color = C[0][1]; for (var D = 1, E = C.length - 1; D < E; ++D) {
				F.push(C[D][0] * 100 + "% " + C[D][1]);
			} B.colors = F.join(","); B.color2 = C[E][1]; I[N] = B;
		} return I[N];
	} return function(B, As, AD, Ax, Ao, A, AH) {
		var AY = (As === null); if (AY) { As = Ao.alt; } var Aq = B.viewBox; var AW = AD.computedFontSize || (AD.computedFontSize = new Cufon.CSS.Size(K(A, AD.get("fontSize")) + "px", B.baseSize));
		var Ac = AD.computedLSpacing; if (Ac == undefined) { Ac = AD.get("letterSpacing"); AD.computedLSpacing = Ac = (Ac == "normal") ? 0 : ~ ~AW.convertFrom(G(A, Ac)); } var l, AV; if (AY) { l = Ao; AV = Ao.firstChild; } else {
			l = document.createElement("span"); l.className = "cufon cufon-vml"; l.alt = As; AV = document.createElement("span");
			AV.className = "cufon-vml-canvas"; l.appendChild(AV); if (Ax.printable) { var F = document.createElement("span"); F.className = "cufon-alt"; F.appendChild(document.createTextNode(As)); l.appendChild(F); } if (!AH) { l.appendChild(document.createElement("cvml:shape")); } 
		} var Aw = l.style;
		var Ah = AV.style; var Aa = AW.convert(Aq.height), A1 = Math.ceil(Aa); var Ad = A1 / Aa; var Aj = Ad * Cufon.CSS.fontStretch(AD.get("fontStretch")); var Ae = Aq.minX, Af = Aq.minY; Ah.height = A1; Ah.top = Math.round(AW.convert(Af - B.ascent)); Ah.left = Math.round(AW.convert(Ae)); Aw.height = AW.convert(B.height) + "px";
		var AR = Ax.enableTextDecoration ? Cufon.CSS.textDecoration(A, AD) : {}; var At = AD.get("color"); var Ay = Cufon.CSS.textTransform(As, AD).split(""), AE; var AX = B.glyphs, Av, AU, j; var Ab = 0, An = [], Ag = 0, AP; var AI, Ar = Ax.textShadow; for (var C = 0, D = 0, k = Ay.length; C < k; ++C) {
			Av = AX[AE = Ay[C]] || B.missingGlyph;
			if (!Av) { continue; } if (AU) { Ab -= j = AU[AE] || 0; An[D - 1] -= j; } Ab += AP = An[D++] = ~ ~(Av.w || B.w) + Ac; AU = Av.k;
		} if (AP === undefined) { return null; } var AG = -Ae + Ab + (Aq.width - AP); var A0 = AW.convert(AG * Aj), AF = Math.round(A0); var Ak = AG + "," + Aq.height, AZ; var Ap = "r" + Ak + "ns"; var AJ = Ax.textGradient && J(Ax.textGradient);
		for (C = 0, D = 0; C < k; ++C) {
			Av = AX[Ay[C]] || B.missingGlyph; if (!Av) { continue; } if (AY) { AI = AV.childNodes[D]; while (AI.firstChild) { AI.removeChild(AI.firstChild); } } else { AI = document.createElement("cvml:shape"); AV.appendChild(AI); } AI.stroked = "f"; AI.coordsize = Ak; AI.coordorigin = AZ = (Ae - Ag) + "," + Af;
			AI.path = (Av.d ? "m" + Av.d + "xe" : "") + "m" + AZ + Ap; AI.fillcolor = At; if (AJ) { AI.appendChild(AJ.cloneNode(false)); } var A2 = AI.style; A2.width = AF; A2.height = A1; if (Ar) {
				var AS = Ar[0], AT = Ar[1]; var Az = Cufon.CSS.color(AS.color), i; var Al = document.createElement("cvml:shadow"); Al.on = "t";
				Al.color = Az.color; Al.offset = AS.offX + "," + AS.offY; if (AT) { i = Cufon.CSS.color(AT.color); Al.type = "double"; Al.color2 = i.color; Al.offset2 = AT.offX + "," + AT.offY; } Al.opacity = Az.opacity || (i && i.opacity) || 1; AI.appendChild(Al);
			} Ag += An[D++];
		} var Am = AI.nextSibling, AQ, E; if (Ax.forceHitArea) {
			if (!Am) {
				Am = document.createElement("cvml:rect");
				Am.stroked = "f"; Am.className = "cufon-vml-cover"; AQ = document.createElement("cvml:fill"); AQ.opacity = 0; Am.appendChild(AQ); AV.appendChild(Am);
			} E = Am.style; E.width = AF; E.height = A1;
		} else { if (Am) { AV.removeChild(Am); } } Aw.width = Math.max(Math.ceil(AW.convert(Ab * Aj)), 0); if (H) {
			var Ai = AD.computedYAdjust;
			if (Ai === undefined) { var Au = AD.get("lineHeight"); if (Au == "normal") { Au = "1em"; } else { if (!isNaN(Au)) { Au += "em"; } } AD.computedYAdjust = Ai = 0.5 * (G(A, Au) - parseFloat(Aw.height)); } if (Ai) { Aw.marginTop = Math.ceil(Ai) + "px"; Aw.marginBottom = Ai + "px"; } 
		} return l;
	};
})());
