/*!
 * Copyright (c) 2011 Simo Kinnunen.
 * Licensed under the MIT license.
 *
 * @version ${Version}
 */

var Cufon = (function() {

	var api = function() {
		return api.replace.apply(null, arguments);
	};

	var DOM = api.DOM = {

		ready: (function() {

			var complete = false, readyStatus = { loaded: 1, complete: 1 };

			var queue = [], perform = function() {
				if (complete) return;
				complete = true;
				for (var fn; fn = queue.shift(); fn());
			};

			// Gecko, Opera, WebKit r26101+

			if (document.addEventListener) {
				document.addEventListener('DOMContentLoaded', perform, false);
				window.addEventListener('pageshow', perform, false); // For cached Gecko pages
			}

			// Old WebKit, Internet Explorer

			if (!window.opera && document.readyState) (function() {
				readyStatus[document.readyState] ? perform() : setTimeout(arguments.callee, 10);
			})();

			// Internet Explorer

			if (document.readyState && document.createStyleSheet) (function() {
				try {
					document.body.doScroll('left');
					perform();
				}
				catch (e) {
					setTimeout(arguments.callee, 1);
				}
			})();

			addEvent(window, 'load', perform); // Fallback

			return function(listener) {
				if (!arguments.length) perform();
				else complete ? listener() : queue.push(listener);
			};

		})(),

		root: function() {
			return document.documentElement || document.body;
		},

		strict: (function() {
			var doctype;
			// no doctype (doesn't always catch it though.. IE I'm looking at you)
			if (document.compatMode == 'BackCompat') return false;
			// WebKit, Gecko, Opera, IE9+
			doctype = document.doctype;
			if (doctype) {
				return !/frameset|transitional/i.test(doctype.publicId);
			}
			// IE<9, firstChild is the doctype even if there's an XML declaration
			doctype = document.firstChild;
			if (doctype.nodeType != 8 || /^DOCTYPE.+(transitional|frameset)/i.test(doctype.data)) {
				return false;
			}
			return true;
		})()

	};

	var CSS = api.CSS = {

		Size: function(value, base) {

			this.value = parseFloat(value);
			this.unit = String(value).match(/[a-z%]*$/)[0] || 'px';

			this.convert = function(value) {
				return value / base * this.value;
			};

			this.convertFrom = function(value) {
				return value / this.value * base;
			};

			this.toString = function() {
				return this.value + this.unit;
			};

		},

		addClass: function(el, className) {
			var current = el.className;
			el.className = current + (current && ' ') + className;
			return el;
		},

		color: cached(function(value) {
			var parsed = {};
			parsed.color = value.replace(/^rgba\((.*?),\s*([\d.]+)\)/, function($0, $1, $2) {
				parsed.opacity = parseFloat($2);
				return 'rgb(' + $1 + ')';
			});
			return parsed;
		}),

		// has no direct CSS equivalent.
		// @see http://msdn.microsoft.com/en-us/library/system.windows.fontstretches.aspx
		fontStretch: cached(function(value) {
			if (typeof value == 'number') return value;
			if (/%$/.test(value)) return parseFloat(value) / 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
			}[value] || 1;
		}),

		getStyle: function(el) {
			var view = document.defaultView;
			if (view && view.getComputedStyle) return new Style(view.getComputedStyle(el, null));
			if (el.currentStyle) return new Style(el.currentStyle);
			return new Style(el.style);
		},

		gradient: cached(function(value) {
			var gradient = {
				id: value,
				type: value.match(/^-([a-z]+)-gradient\(/)[1],
				stops: []
			}, colors = value.substr(value.indexOf('(')).match(/([\d.]+=)?(#[a-f0-9]+|[a-z]+\(.*?\)|[a-z]+)/ig);
			for (var i = 0, l = colors.length, stop; i < l; ++i) {
				stop = colors[i].split('=', 2).reverse();
				gradient.stops.push([ stop[1] || i / (l - 1), stop[0] ]);
			}
			return gradient;
		}),

		quotedList: cached(function(value) {
			// doesn't work properly with empty quoted strings (""), but
			// it's not worth the extra code.
			var list = [], re = /\s*((["'])([\s\S]*?[^\\])\2|[^,]+)\s*/g, match;
			while (match = re.exec(value)) list.push(match[3] || match[1]);
			return list;
		}),

		recognizesMedia: cached(function(media) {
			var el = document.createElement('style'), sheet, container, supported;
			el.type = 'text/css';
			el.media = media;
			try { // this is cached anyway
				el.appendChild(document.createTextNode('/**/'));
			} catch (e) {}
			container = elementsByTagName('head')[0];
			container.insertBefore(el, container.firstChild);
			sheet = (el.sheet || el.styleSheet);
			supported = sheet && !sheet.disabled;
			container.removeChild(el);
			return supported;
		}),

		removeClass: function(el, className) {
			var re = RegExp('(?:^|\\s+)' + className +  '(?=\\s|$)', 'g');
			el.className = el.className.replace(re, '');
			return el;
		},

		supports: function(property, value) {
			var checker = document.createElement('span').style;
			if (checker[property] === undefined) return false;
			checker[property] = value;
			return checker[property] === value;
		},

		textAlign: function(word, style, position, wordCount) {
			if (style.get('textAlign') == 'right') {
				if (position > 0) word = ' ' + word;
			}
			else if (position < wordCount - 1) word += ' ';
			return word;
		},

		textShadow: cached(function(value) {
			if (value == 'none') return null;
			var shadows = [], currentShadow = {}, result, offCount = 0;
			var re = /(#[a-f0-9]+|[a-z]+\(.*?\)|[a-z]+)|(-?[\d.]+[a-z%]*)|,/ig;
			while (result = re.exec(value)) {
				if (result[0] == ',') {
					shadows.push(currentShadow);
					currentShadow = {};
					offCount = 0;
				}
				else if (result[1]) {
					currentShadow.color = result[1];
				}
				else {
					currentShadow[[ 'offX', 'offY', 'blur' ][offCount++]] = result[2];
				}
			}
			shadows.push(currentShadow);
			return shadows;
		}),

		textTransform: (function() {
			var map = {
				uppercase: function(s) {
					return s.toUpperCase();
				},
				lowercase: function(s) {
					return s.toLowerCase();
				},
				capitalize: function(s) {
					return s.replace(/(?:^|\s)./g, function($0) {
						return $0.toUpperCase();
					});
				}
			};
			return function(text, style) {
				var transform = map[style.get('textTransform')];
				return transform ? transform(text) : text;
			};
		})(),

		whiteSpace: (function() {
			var ignore = {
				inline: 1,
				'inline-block': 1,
				'run-in': 1
			};
			var wsStart = /^\s+/, wsEnd = /\s+$/;
			return function(text, style, node, previousElement, simple) {
				if (simple) return text.replace(wsStart, '').replace(wsEnd, ''); // @fixme too simple
				if (previousElement) {
					if (previousElement.nodeName.toLowerCase() == 'br') {
						text = text.replace(wsStart, '');
					}
				}
				if (ignore[style.get('display')]) return text;
				if (!node.previousSibling) text = text.replace(wsStart, '');
				if (!node.nextSibling) text = text.replace(wsEnd, '');
				return text;
			};
		})()

	};

	CSS.ready = (function() {

		// don't do anything in Safari 2 (it doesn't recognize any media type)
		var complete = !CSS.recognizesMedia('all'), hasLayout = false;

		var queue = [], perform = function() {
			complete = true;
			for (var fn; fn = queue.shift(); fn());
		};

		var links = elementsByTagName('link'), styles = elementsByTagName('style');

		var checkTypes = {
			'': 1,
			'text/css': 1
		};

		function isContainerReady(el) {
			if (!checkTypes[el.type.toLowerCase()]) return true;
			return el.disabled || isSheetReady(el.sheet, el.media || 'screen');
		}

		function isSheetReady(sheet, media) {
			// in Opera sheet.disabled is true when it's still loading,
			// even though link.disabled is false. they stay in sync if
			// set manually.
			if (!CSS.recognizesMedia(media || 'all')) return true;
			if (!sheet || sheet.disabled) return false;
			try {
				var rules = sheet.cssRules, rule;
				if (rules) {
					// needed for Safari 3 and Chrome 1.0.
					// in standards-conforming browsers cssRules contains @-rules.
					// Chrome 1.0 weirdness: rules[<number larger than .length - 1>]
					// returns the last rule, so a for loop is the only option.
					search: for (var i = 0, l = rules.length; rule = rules[i], i < l; ++i) {
						switch (rule.type) {
							case 2: // @charset
								break;
							case 3: // @import
								if (!isSheetReady(rule.styleSheet, rule.media.mediaText)) return false;
								break;
							default:
								// only @charset can precede @import
								break search;
						}
					}
				}
			}
			catch (e) {} // probably a style sheet from another domain
			return true;
		}

		function allStylesLoaded() {
			// Internet Explorer's style sheet model, there's no need to do anything
			if (document.createStyleSheet) return true;
			// standards-compliant browsers
			var el, i;
			for (i = 0; el = links[i]; ++i) {
				if (el.rel.toLowerCase() == 'stylesheet' && !isContainerReady(el)) return false;
			}
			for (i = 0; el = styles[i]; ++i) {
				if (!isContainerReady(el)) return false;
			}
			return true;
		}

		DOM.ready(function() {
			// getComputedStyle returns null in Gecko if used in an iframe with display: none
			if (!hasLayout) hasLayout = CSS.getStyle(document.body).isUsable();
			if (complete || (hasLayout && allStylesLoaded())) perform();
			else setTimeout(arguments.callee, 10);
		});

		return function(listener) {
			if (complete) listener();
			else queue.push(listener);
		};

	})();

	function Font(data) {

		var face = this.face = data.face, wordSeparators = {
			'\u0020': 1,
			'\u00a0': 1,
			'\u3000': 1
		};

		this.glyphs = (function(glyphs) {
			var key, fallbacks = {
				'\u2011': '\u002d',
				'\u00ad': '\u2011'
			};
			for (key in fallbacks) {
				if (!hasOwnProperty(fallbacks, key)) continue;
				if (!glyphs[key]) glyphs[key] = glyphs[fallbacks[key]];
			}
			return glyphs;
		})(data.glyphs);

		this.w = data.w;
		this.baseSize = parseInt(face['units-per-em'], 10);

		this.family = face['font-family'].toLowerCase();
		this.weight = face['font-weight'];
		this.style = face['font-style'] || 'normal';

		this.viewBox = (function () {
			var parts = face.bbox.split(/\s+/);
			var box = {
				minX: parseInt(parts[0], 10),
				minY: parseInt(parts[1], 10),
				maxX: parseInt(parts[2], 10),
				maxY: parseInt(parts[3], 10)
			};
			box.width = box.maxX - box.minX;
			box.height = box.maxY - box.minY;
			box.toString = function() {
				return [ this.minX, this.minY, this.width, this.height ].join(' ');
			};
			return box;
		})();

		this.ascent = -parseInt(face.ascent, 10);
		this.descent = -parseInt(face.descent, 10);

		this.height = -this.ascent + this.descent;

		this.spacing = function(chars, letterSpacing, wordSpacing) {
			var glyphs = this.glyphs, glyph,
				kerning, k,
				jumps = [],
				width = 0, w,
				i = -1, j = -1, chr;
			while (chr = chars[++i]) {
				glyph = glyphs[chr] || this.missingGlyph;
				if (!glyph) continue;
				if (kerning) {
					width -= k = kerning[chr] || 0;
					jumps[j] -= k;
				}
				w = glyph.w;
				if (isNaN(w)) w = +this.w; // may have been a String in old fonts
				if (w > 0) {
					w += letterSpacing;
					if (wordSeparators[chr]) w += wordSpacing;
				}
				width += jumps[++j] = ~~w; // get rid of decimals
				kerning = glyph.k;
			}
			jumps.total = width;
			return jumps;
		};

	}

	function FontFamily() {

		var styles = {}, mapping = {
			oblique: 'italic',
			italic: 'oblique'
		};

		this.add = function(font) {
			(styles[font.style] || (styles[font.style] = {}))[font.weight] = font;
		};

		this.get = function(style, weight) {
			var weights = styles[style] || styles[mapping[style]]
				|| styles.normal || styles.italic || styles.oblique;
			if (!weights) return null;
			// we don't have to worry about "bolder" and "lighter"
			// because IE's currentStyle returns a numeric value for it,
			// and other browsers use the computed value anyway
			weight = {
				normal: 400,
				bold: 700
			}[weight] || parseInt(weight, 10);
			if (weights[weight]) return weights[weight];
			// http://www.w3.org/TR/CSS21/fonts.html#propdef-font-weight
			// Gecko uses x99/x01 for lighter/bolder
			var up = {
				1: 1,
				99: 0
			}[weight % 100], alts = [], min, max;
			if (up === undefined) up = weight > 400;
			if (weight == 500) weight = 400;
			for (var alt in weights) {
				if (!hasOwnProperty(weights, alt)) continue;
				alt = parseInt(alt, 10);
				if (!min || alt < min) min = alt;
				if (!max || alt > max) max = alt;
				alts.push(alt);
			}
			if (weight < min) weight = min;
			if (weight > max) weight = max;
			alts.sort(function(a, b) {
				return (up
					? (a >= weight && b >= weight) ? a < b : a > b
					: (a <= weight && b <= weight) ? a > b : a < b) ? -1 : 1;
			});
			return weights[alts[0]];
		};

	}

	function HoverHandler() {

		function contains(node, anotherNode) {
			try {
				if (node.contains) return node.contains(anotherNode);
				return node.compareDocumentPosition(anotherNode) & 16;
			}
			catch(e) {} // probably a XUL element such as a scrollbar
			return false;
		}

		// mouseover/mouseout (standards) mode
		function onOverOut(e) {
			var related = e.relatedTarget;
			// there might be no relatedTarget if the element is right next
			// to the window frame
			if (related && contains(this, related)) return;
			trigger(this, e.type == 'mouseover');
		}

		// mouseenter/mouseleave (probably ie) mode
		function onEnterLeave(e) {
			if (!e) e = window.event;
			// ie model, we don't have access to "this", but
			// mouseenter/leave doesn't bubble so it's fine.
			trigger(e.target || e.srcElement, e.type == 'mouseenter');
		}

		function trigger(el, hoverState) {
			// A timeout is needed so that the event can actually "happen"
			// before replace is triggered. This ensures that styles are up
			// to date.
			setTimeout(function() {
				var options = sharedStorage.get(el).options;
				if (hoverState) {
					options = merge(options, options.hover);
					options._mediatorMode = 1;
				}
				api.replace(el, options, true);
			}, 10);
		}

		this.attach = function(el) {
			if (el.onmouseenter === undefined) {
				addEvent(el, 'mouseover', onOverOut);
				addEvent(el, 'mouseout', onOverOut);
			}
			else {
				addEvent(el, 'mouseenter', onEnterLeave);
				addEvent(el, 'mouseleave', onEnterLeave);
			}
		};

		this.detach = function(el) {
			if (el.onmouseenter === undefined) {
				removeEvent(el, 'mouseover', onOverOut);
				removeEvent(el, 'mouseout', onOverOut);
			}
			else {
				removeEvent(el, 'mouseenter', onEnterLeave);
				removeEvent(el, 'mouseleave', onEnterLeave);
			}
		};

	}

	function ReplaceHistory() {

		var list = [], map = {};

		function filter(keys) {
			var values = [], key;
			for (var i = 0; key = keys[i]; ++i) values[i] = list[map[key]];
			return values;
		}

		this.add = function(key, args) {
			map[key] = list.push(args) - 1;
		};

		this.repeat = function() {
			var snapshot = arguments.length ? filter(arguments) : list, args;
			for (var i = 0; args = snapshot[i++];) api.replace(args[0], args[1], true);
		};

	}

	function Storage() {

		var map = {}, at = 0;

		function identify(el) {
			return el.cufid || (el.cufid = ++at);
		}

		this.get = function(el) {
			var id = identify(el);
			return map[id] || (map[id] = {});
		};

	}

	function Style(style) {

		var custom = {}, sizes = {};

		this.extend = function(styles) {
			for (var property in styles) {
				if (hasOwnProperty(styles, property)) custom[property] = styles[property];
			}
			return this;
		};

		this.get = function(property) {
			return custom[property] != undefined ? custom[property] : style[property];
		};

		this.getSize = function(property, base) {
			return sizes[property] || (sizes[property] = new CSS.Size(this.get(property), base));
		};

		this.isUsable = function() {
			return !!style;
		};

	}

	function addEvent(el, type, listener) {
		if (el.addEventListener) {
			el.addEventListener(type, listener, false);
		}
		else if (el.attachEvent) {
			// we don't really need "this" right now, saves code
			el.attachEvent('on' + type, listener);
		}
	}

	function attach(el, options) {
		if (options._mediatorMode) return el;
		var storage = sharedStorage.get(el);
		var oldOptions = storage.options;
		if (oldOptions) {
			if (oldOptions === options) return el;
			if (oldOptions.hover) hoverHandler.detach(el);
		}
		if (options.hover && options.hoverables[el.nodeName.toLowerCase()]) {
			hoverHandler.attach(el);
		}
		storage.options = options;
		return el;
	}

	function cached(fun) {
		var cache = {};
		return function(key) {
			if (!hasOwnProperty(cache, key)) cache[key] = fun.apply(null, arguments);
			return cache[key];
		};
	}

	function getFont(el, style) {
		var families = CSS.quotedList(style.get('fontFamily').toLowerCase()), family;
		for (var i = 0; family = families[i]; ++i) {
			if (fonts[family]) return fonts[family].get(style.get('fontStyle'), style.get('fontWeight'));
		}
		return null;
	}

	function elementsByTagName(query) {
		return document.getElementsByTagName(query);
	}

	function hasOwnProperty(obj, property) {
		return obj.hasOwnProperty(property);
	}

	function merge() {
		var merged = {}, arg, key;
		for (var i = 0, l = arguments.length; arg = arguments[i], i < l; ++i) {
			for (key in arg) {
				if (hasOwnProperty(arg, key)) merged[key] = arg[key];
			}
		}
		return merged;
	}

	function process(font, text, style, options, node, el) {
		var fragment = document.createDocumentFragment(), processed;
		if (text === '') return fragment;
		var separate = options.separate;
		var parts = text.split(separators[separate]), needsAligning = (separate == 'words');
		if (needsAligning && HAS_BROKEN_REGEXP) {
			// @todo figure out a better way to do this
			if (/^\s/.test(text)) parts.unshift('');
			if (/\s$/.test(text)) parts.push('');
		}
		for (var i = 0, l = parts.length; i < l; ++i) {
			processed = engines[options.engine](font,
				needsAligning ? CSS.textAlign(parts[i], style, i, l) : parts[i],
				style, options, node, el, i < l - 1);
			if (processed) fragment.appendChild(processed);
		}
		return fragment;
	}

	function removeEvent(el, type, listener) {
		if (el.removeEventListener) {
			el.removeEventListener(type, listener, false);
		}
		else if (el.detachEvent) {
			el.detachEvent('on' + type, listener);
		}
	}

	function replaceElement(el, options) {
		var name = el.nodeName.toLowerCase();
		if (options.ignore[name]) return;
		if (options.ignoreClass && options.ignoreClass.test(el.className)) return;
		if (options.onBeforeReplace) options.onBeforeReplace(el, options);
		var replace = !options.textless[name], simple = (options.trim === 'simple');
		var style = CSS.getStyle(attach(el, options)).extend(options);
		// may cause issues if the element contains other elements
		// with larger fontSize, however such cases are rare and can
		// be fixed by using a more specific selector
		if (parseFloat(style.get('fontSize')) === 0) return;
		var font = getFont(el, style), node, type, next, anchor, text, lastElement;
		var isShy = options.softHyphens, anyShy = false, pos, shy, reShy = /\u00ad/g;
		var modifyText = options.modifyText;
		if (!font) return;
		for (node = el.firstChild; node; node = next) {
			type = node.nodeType;
			next = node.nextSibling;
			if (replace && type == 3) {
				if (isShy && el.nodeName.toLowerCase() != TAG_SHY) {
					pos = node.data.indexOf('\u00ad');
					if (pos >= 0) {
						node.splitText(pos);
						next = node.nextSibling;
						next.deleteData(0, 1);
						shy = document.createElement(TAG_SHY);
						shy.appendChild(document.createTextNode('\u00ad'));
						el.insertBefore(shy, next);
						next = shy;
						anyShy = true;
					}
				}
				// Node.normalize() is broken in IE 6, 7, 8
				if (anchor) {
					anchor.appendData(node.data);
					el.removeChild(node);
				}
				else anchor = node;
				if (next) continue;
			}
			if (anchor) {
				text = anchor.data;
				if (!isShy) text = text.replace(reShy, '');
				text = CSS.whiteSpace(text, style, anchor, lastElement, simple);
				// modify text only on the first replace
				if (modifyText) text = modifyText(text, anchor, el, options);
				el.replaceChild(process(font, text, style, options, node, el), anchor);
				anchor = null;
			}
			if (type == 1) {
				if (node.firstChild) {
					if (node.nodeName.toLowerCase() == 'cufon') {
						engines[options.engine](font, null, style, options, node, el);
					}
					else arguments.callee(node, options);
				}
				lastElement = node;
			}
		}
		if (isShy && anyShy) {
			updateShy(el);
			if (!trackingShy) addEvent(window, 'resize', updateShyOnResize);
			trackingShy = true;
		}
		if (options.onAfterReplace) options.onAfterReplace(el, options);
	}

	function updateShy(context) {
		var shys, shy, parent, glue, newGlue, next, prev, i;
		shys = context.getElementsByTagName(TAG_SHY);
		// unfortunately there doesn't seem to be any easy
		// way to avoid having to loop through the shys twice.
		for (i = 0; shy = shys[i]; ++i) {
			shy.className = C_SHY_DISABLED;
			glue = parent = shy.parentNode;
			if (glue.nodeName.toLowerCase() != TAG_GLUE) {
				newGlue = document.createElement(TAG_GLUE);
				newGlue.appendChild(shy.previousSibling);
				parent.insertBefore(newGlue, shy);
				newGlue.appendChild(shy);
			}
			else {
				// get rid of double glue (edge case fix)
				glue = glue.parentNode;
				if (glue.nodeName.toLowerCase() == TAG_GLUE) {
					parent = glue.parentNode;
					while (glue.firstChild) {
						parent.insertBefore(glue.firstChild, glue);
					}
					parent.removeChild(glue);
				}
			}
		}
		for (i = 0; shy = shys[i]; ++i) {
			shy.className = '';
			glue = shy.parentNode;
			parent = glue.parentNode;
			next = glue.nextSibling || parent.nextSibling;
			// make sure we're comparing same types
			prev = (next.nodeName.toLowerCase() == TAG_GLUE) ? glue : shy.previousSibling;
			if (prev.offsetTop >= next.offsetTop) {
				shy.className = C_SHY_DISABLED;
				if (prev.offsetTop < next.offsetTop) {
					// we have an annoying edge case, double the glue
					newGlue = document.createElement(TAG_GLUE);
					parent.insertBefore(newGlue, glue);
					newGlue.appendChild(glue);
					newGlue.appendChild(next);
				}
			}
		}
	}

	function updateShyOnResize() {
		if (ignoreResize) return; // needed for IE
		CSS.addClass(DOM.root(), C_VIEWPORT_RESIZING);
		clearTimeout(shyTimer);
		shyTimer = setTimeout(function() {
			ignoreResize = true;
			CSS.removeClass(DOM.root(), C_VIEWPORT_RESIZING);
			updateShy(document);
			ignoreResize = false;
		}, 100);
	}

	var HAS_BROKEN_REGEXP = ' '.split(/\s+/).length == 0;
	var TAG_GLUE = 'cufonglue';
	var TAG_SHY = 'cufonshy';
	var C_SHY_DISABLED = 'cufon-shy-disabled';
	var C_VIEWPORT_RESIZING = 'cufon-viewport-resizing';

	var sharedStorage = new Storage();
	var hoverHandler = new HoverHandler();
	var replaceHistory = new ReplaceHistory();
	var initialized = false;
	var trackingShy = false;
	var shyTimer;
	var ignoreResize = false;

	var engines = {}, fonts = {}, defaultOptions = {
		autoDetect: false,
		engine: null,
		forceHitArea: false,
		hover: false,
		hoverables: {
			a: true
		},
		ignore: {
			applet: 1,
			canvas: 1,
			col: 1,
			colgroup: 1,
			head: 1,
			iframe: 1,
			map: 1,
			noscript: 1,
			optgroup: 1,
			option: 1,
			script: 1,
			select: 1,
			style: 1,
			textarea: 1,
			title: 1,
			pre: 1
		},
		ignoreClass: null,
		modifyText: null,
		onAfterReplace: null,
		onBeforeReplace: null,
		printable: true,
		selector: (
				window.Sizzle
			||	(window.jQuery && function(query) { return jQuery(query); }) // avoid noConflict issues
			||	(window.dojo && dojo.query)
			||	(window.glow && glow.dom && glow.dom.get)
			||	(window.Ext && Ext.query)
			||	(window.YAHOO && YAHOO.util && YAHOO.util.Selector && YAHOO.util.Selector.query)
			||	(window.$$ && function(query) { return $$(query); })
			||	(window.$ && function(query) { return $(query); })
			||	(document.querySelectorAll && function(query) { return document.querySelectorAll(query); })
			||	elementsByTagName
		),
		separate: 'words', // 'none' and 'characters' are also accepted
		softHyphens: true,
		textless: {
			dl: 1,
			html: 1,
			ol: 1,
			table: 1,
			tbody: 1,
			thead: 1,
			tfoot: 1,
			tr: 1,
			ul: 1
		},
		textShadow: 'none',
		trim: 'advanced'
	};

	var separators = {
		// The first pattern may cause unicode characters above
		// code point 255 to be removed in Safari 3.0. Luckily enough
		// Safari 3.0 does not include non-breaking spaces in \s, so
		// we can just use a simple alternative pattern.
		words: /\s/.test('\u00a0') ? /[^\S\u00a0]+/ : /\s+/,
		characters: '',
		none: /^/
	};

	api.now = function() {
		DOM.ready();
		return api;
	};

	api.refresh = function() {
		replaceHistory.repeat.apply(replaceHistory, arguments);
		return api;
	};

	api.registerEngine = function(id, engine) {
		if (!engine) return api;
		engines[id] = engine;
		return api.set('engine', id);
	};

	api.registerFont = function(data) {
		if (!data) return api;
		var font = new Font(data), family = font.family;
		if (!fonts[family]) fonts[family] = new FontFamily();
		fonts[family].add(font);
		return api.set('fontFamily', '"' + family + '"');
	};

	api.replace = function(elements, options, ignoreHistory) {
		options = merge(defaultOptions, options);
		if (!options.engine) return api; // there's no browser support so we'll just stop here
		if (!initialized) {
			CSS.addClass(DOM.root(), 'cufon-active cufon-loading');
			CSS.ready(function() {
				// fires before any replace() calls, but it doesn't really matter
				CSS.addClass(CSS.removeClass(DOM.root(), 'cufon-loading'), 'cufon-ready');
			});
			initialized = true;
		}
		if (options.hover) options.forceHitArea = true;
		if (options.autoDetect) delete options.fontFamily;
		if (typeof options.ignoreClass == 'string') {
			options.ignoreClass = new RegExp('(?:^|\\s)(?:' + options.ignoreClass.replace(/\s+/g, '|') + ')(?:\\s|$)');
		}
		if (typeof options.textShadow == 'string') {
			options.textShadow = CSS.textShadow(options.textShadow);
		}
		if (typeof options.color == 'string' && /^-/.test(options.color)) {
			options.textGradient = CSS.gradient(options.color);
		}
		else delete options.textGradient;
		if (typeof elements == 'string') {
			if (!ignoreHistory) replaceHistory.add(elements, arguments);
			elements = [ elements ];
		}
		else if (elements.nodeType) elements = [ elements ];
		CSS.ready(function() {
			for (var i = 0, l = elements.length; i < l; ++i) {
				var el = elements[i];
				if (typeof el == 'string') api.replace(options.selector(el), options, true);
				else replaceElement(el, options);
			}
		});
		return api;
	};

	api.set = function(option, value) {
		defaultOptions[option] = value;
		return api;
	};

	return api;

})();

Cufon.registerEngine('vml', (function() {

	var ns = document.namespaces;
	if (!ns) return;
	ns.add('cvml', 'urn:schemas-microsoft-com:vml');
	ns = null;

	var check = document.createElement('cvml:shape');
	check.style.behavior = 'url(#default#VML)';
	if (!check.coordsize) return; // VML isn't supported
	check = null;

	var HAS_BROKEN_LINEHEIGHT = (document.documentMode || 0) < 8;

	document.write(('<style type="text/css">' +
		'cufoncanvas{text-indent:0;}' +
		'@media screen{' +
			'cvml\\:shape,cvml\\:rect,cvml\\:fill,cvml\\:shadow{behavior:url(#default#VML);display:block;antialias:true;position:absolute;}' +
			'cufoncanvas{position:absolute;text-align:left;}' +
			'cufon{display:inline-block;position:relative;vertical-align:' +
			(HAS_BROKEN_LINEHEIGHT
				? 'middle'
				: 'text-bottom') +
			';}' +
			'cufon cufontext{position:absolute;left:-10000in;font-size:1px;text-align:left;}' +
			'cufonshy.cufon-shy-disabled,.cufon-viewport-resizing cufonshy{display:none;}' +
			'cufonglue{white-space:nowrap;display:inline-block;}' +
			'.cufon-viewport-resizing cufonglue{white-space:normal;}' +
			'a cufon{cursor:pointer}' + // ignore !important here
		'}' +
		'@media print{' +
			'cufon cufoncanvas{display:none;}' +
		'}' +
	'</style>').replace(/;/g, '!important;'));

	function getFontSizeInPixels(el, value) {
		return getSizeInPixels(el, /(?:em|ex|%)$|^[a-z-]+$/i.test(value) ? '1em' : value);
	}

	// Original by Dead Edwards.
	// Combined with getFontSizeInPixels it also works with relative units.
	function getSizeInPixels(el, value) {
		if (!isNaN(value) || /px$/i.test(value)) return parseFloat(value);
		var style = el.style.left, runtimeStyle = el.runtimeStyle.left;
		el.runtimeStyle.left = el.currentStyle.left;
		el.style.left = value.replace('%', 'em');
		var result = el.style.pixelLeft;
		el.style.left = style;
		el.runtimeStyle.left = runtimeStyle;
		return result;
	}

	function getSpacingValue(el, style, size, property) {
		var key = 'computed' + property, value = style[key];
		if (isNaN(value)) {
			value = style.get(property);
			style[key] = value = (value == 'normal') ? 0 : ~~size.convertFrom(getSizeInPixels(el, value));
		}
		return value;
	}

	var fills = {};

	function gradientFill(gradient) {
		var id = gradient.id;
		if (!fills[id]) {
			var stops = gradient.stops, fill = document.createElement('cvml:fill'), colors = [];
			fill.type = 'gradient';
			fill.angle = 180;
			fill.focus = '0';
			fill.method = 'none';
			fill.color = stops[0][1];
			for (var j = 1, k = stops.length - 1; j < k; ++j) {
				colors.push(stops[j][0] * 100 + '% ' + stops[j][1]);
			}
			fill.colors = colors.join(',');
			fill.color2 = stops[k][1];
			fills[id] = fill;
		}
		return fills[id];
	}

	return function(font, text, style, options, node, el, hasNext) {

		var redraw = (text === null);

		if (redraw) text = node.alt;

		var viewBox = font.viewBox;

		var size = style.computedFontSize || (style.computedFontSize = new Cufon.CSS.Size(getFontSizeInPixels(el, style.get('fontSize')) + 'px', font.baseSize));

		var wrapper, canvas;

		if (redraw) {
			wrapper = node;
			canvas = node.firstChild;
		}
		else {
			wrapper = document.createElement('cufon');
			wrapper.className = 'cufon cufon-vml';
			wrapper.alt = text;

			canvas = document.createElement('cufoncanvas');
			wrapper.appendChild(canvas);

			if (options.printable) {
				var print = document.createElement('cufontext');
				print.appendChild(document.createTextNode(text));
				wrapper.appendChild(print);
			}

			// ie6, for some reason, has trouble rendering the last VML element in the document.
			// we can work around this by injecting a dummy element where needed.
			// @todo find a better solution
			if (!hasNext) wrapper.appendChild(document.createElement('cvml:shape'));
		}

		var wStyle = wrapper.style;
		var cStyle = canvas.style;

		var height = size.convert(viewBox.height), roundedHeight = Math.ceil(height);
		var roundingFactor = roundedHeight / height;
		var stretchFactor = roundingFactor * Cufon.CSS.fontStretch(style.get('fontStretch'));
		var minX = viewBox.minX, minY = viewBox.minY;

		cStyle.height = roundedHeight;
		cStyle.top = Math.round(size.convert(minY - font.ascent));
		cStyle.left = Math.round(size.convert(minX));

		wStyle.height = size.convert(font.height) + 'px';

		var color = style.get('color');
		var chars = Cufon.CSS.textTransform(text, style).split('');

		var jumps = font.spacing(chars,
			getSpacingValue(el, style, size, 'letterSpacing'),
			getSpacingValue(el, style, size, 'wordSpacing')
		);

		if (!jumps.length) return null;

		var width = jumps.total;
		var fullWidth = -minX + width + (viewBox.width - jumps[jumps.length - 1]);

		var shapeWidth = size.convert(fullWidth * stretchFactor), roundedShapeWidth = Math.round(shapeWidth);

		var coordSize = fullWidth + ',' + viewBox.height, coordOrigin;
		var stretch = 'r' + coordSize + 'ns';

		var fill = options.textGradient && gradientFill(options.textGradient);

		var glyphs = font.glyphs, offsetX = 0;
		var shadows = options.textShadow;
		var i = -1, j = 0, chr;

		while (chr = chars[++i]) {

			var glyph = glyphs[chars[i]] || font.missingGlyph, shape;
			if (!glyph) continue;

			if (redraw) {
				// some glyphs may be missing so we can't use i
				shape = canvas.childNodes[j];
				while (shape.firstChild) shape.removeChild(shape.firstChild); // shadow, fill
			}
			else {
				shape = document.createElement('cvml:shape');
				canvas.appendChild(shape);
			}

			shape.stroked = 'f';
			shape.coordsize = coordSize;
			shape.coordorigin = coordOrigin = (minX - offsetX) + ',' + minY;
			shape.path = (glyph.d ? 'm' + glyph.d + 'xe' : '') + 'm' + coordOrigin + stretch;
			shape.fillcolor = color;

			if (fill) shape.appendChild(fill.cloneNode(false));

			// it's important to not set top/left or IE8 will grind to a halt
			var sStyle = shape.style;
			sStyle.width = roundedShapeWidth;
			sStyle.height = roundedHeight;

			if (shadows) {
				// due to the limitations of the VML shadow element there
				// can only be two visible shadows. opacity is shared
				// for all shadows.
				var shadow1 = shadows[0], shadow2 = shadows[1];
				var color1 = Cufon.CSS.color(shadow1.color), color2;
				var shadow = document.createElement('cvml:shadow');
				shadow.on = 't';
				shadow.color = color1.color;
				shadow.offset = shadow1.offX + ',' + shadow1.offY;
				if (shadow2) {
					color2 = Cufon.CSS.color(shadow2.color);
					shadow.type = 'double';
					shadow.color2 = color2.color;
					shadow.offset2 = shadow2.offX + ',' + shadow2.offY;
				}
				shadow.opacity = color1.opacity || (color2 && color2.opacity) || 1;
				shape.appendChild(shadow);
			}

			offsetX += jumps[j++];
		}

		// addresses flickering issues on :hover

		var cover = shape.nextSibling, coverFill, vStyle;

		if (options.forceHitArea) {

			if (!cover) {
				cover = document.createElement('cvml:rect');
				cover.stroked = 'f';
				cover.className = 'cufon-vml-cover';
				coverFill = document.createElement('cvml:fill');
				coverFill.opacity = 0;
				cover.appendChild(coverFill);
				canvas.appendChild(cover);
			}

			vStyle = cover.style;

			vStyle.width = roundedShapeWidth;
			vStyle.height = roundedHeight;

		}
		else if (cover) canvas.removeChild(cover);

		wStyle.width = Math.max(Math.ceil(size.convert(width * stretchFactor)), 0);

		if (HAS_BROKEN_LINEHEIGHT) {

			var yAdjust = style.computedYAdjust;

			if (yAdjust === undefined) {
				var lineHeight = style.get('lineHeight');
				if (lineHeight == 'normal') lineHeight = '1em';
				else if (!isNaN(lineHeight)) lineHeight += 'em'; // no unit
				style.computedYAdjust = yAdjust = 0.5 * (getSizeInPixels(el, lineHeight) - parseFloat(wStyle.height));
			}

			if (yAdjust) {
				wStyle.marginTop = Math.ceil(yAdjust) + 'px';
				wStyle.marginBottom = yAdjust + 'px';
			}

		}

		return wrapper;

	};

})());

Cufon.registerEngine('canvas', (function() {

	// Safari 2 doesn't support .apply() on native methods

	var check = document.createElement('canvas');
	if (!check || !check.getContext || !check.getContext.apply) return;
	check = null;

	var HAS_INLINE_BLOCK = Cufon.CSS.supports('display', 'inline-block');

	// Firefox 2 w/ non-strict doctype (almost standards mode)
	var HAS_BROKEN_LINEHEIGHT = !HAS_INLINE_BLOCK && (document.compatMode == 'BackCompat' || /frameset|transitional/i.test(document.doctype.publicId));

	var styleSheet = document.createElement('style');
	styleSheet.type = 'text/css';
	styleSheet.appendChild(document.createTextNode((
		'cufon{text-indent:0;}' +
		'@media screen,projection{' +
			'cufon{display:inline;display:inline-block;position:relative;vertical-align:middle;' +
			(HAS_BROKEN_LINEHEIGHT
				? ''
				: 'font-size:1px;line-height:1px;') +
			'}cufon cufontext{display:-moz-inline-box;display:inline-block;width:0;height:0;text-align:left;text-indent:-10000in;}' +
			(HAS_INLINE_BLOCK
				? 'cufon canvas{position:relative;}'
				: 'cufon canvas{position:absolute;}') +
			'cufonshy.cufon-shy-disabled,.cufon-viewport-resizing cufonshy{display:none;}' +
			'cufonglue{white-space:nowrap;display:inline-block;}' +
			'.cufon-viewport-resizing cufonglue{white-space:normal;}' +
		'}' +
		'@media print{' +
			'cufon{padding:0;}' + // Firefox 2
			'cufon canvas{display:none;}' +
		'}'
	).replace(/;/g, '!important;')));
	document.getElementsByTagName('head')[0].appendChild(styleSheet);

	function generateFromVML(path, context) {
		var atX = 0, atY = 0;
		var code = [], re = /([mrvxe])([^a-z]*)/g, match;
		generate: for (var i = 0; match = re.exec(path); ++i) {
			var c = match[2].split(',');
			switch (match[1]) {
				case 'v':
					code[i] = { m: 'bezierCurveTo', a: [ atX + ~~c[0], atY + ~~c[1], atX + ~~c[2], atY + ~~c[3], atX += ~~c[4], atY += ~~c[5] ] };
					break;
				case 'r':
					code[i] = { m: 'lineTo', a: [ atX += ~~c[0], atY += ~~c[1] ] };
					break;
				case 'm':
					code[i] = { m: 'moveTo', a: [ atX = ~~c[0], atY = ~~c[1] ] };
					break;
				case 'x':
					code[i] = { m: 'closePath' };
					break;
				case 'e':
					break generate;
			}
			context[code[i].m].apply(context, code[i].a);
		}
		return code;
	}

	function interpret(code, context) {
		for (var i = 0, l = code.length; i < l; ++i) {
			var line = code[i];
			context[line.m].apply(context, line.a);
		}
	}

	return function(font, text, style, options, node, el) {

		var redraw = (text === null);

		if (redraw) text = node.getAttribute('alt');

		var viewBox = font.viewBox;

		var size = style.getSize('fontSize', font.baseSize);

		var expandTop = 0, expandRight = 0, expandBottom = 0, expandLeft = 0;
		var shadows = options.textShadow, shadowOffsets = [];
		if (shadows) {
			for (var i = shadows.length; i--;) {
				var shadow = shadows[i];
				var x = size.convertFrom(parseFloat(shadow.offX));
				var y = size.convertFrom(parseFloat(shadow.offY));
				shadowOffsets[i] = [ x, y ];
				if (y < expandTop) expandTop = y;
				if (x > expandRight) expandRight = x;
				if (y > expandBottom) expandBottom = y;
				if (x < expandLeft) expandLeft = x;
			}
		}

		var chars = Cufon.CSS.textTransform(text, style).split('');

		var jumps = font.spacing(chars,
			~~size.convertFrom(parseFloat(style.get('letterSpacing')) || 0),
			~~size.convertFrom(parseFloat(style.get('wordSpacing')) || 0)
		);

		if (!jumps.length) return null; // there's nothing to render

		var width = jumps.total;

		expandRight += viewBox.width - jumps[jumps.length - 1];
		expandLeft += viewBox.minX;

		var wrapper, canvas;

		if (redraw) {
			wrapper = node;
			canvas = node.firstChild;
		}
		else {
			wrapper = document.createElement('cufon');
			wrapper.className = 'cufon cufon-canvas';
			wrapper.setAttribute('alt', text);

			canvas = document.createElement('canvas');
			wrapper.appendChild(canvas);

			if (options.printable) {
				var print = document.createElement('cufontext');
				print.appendChild(document.createTextNode(text));
				wrapper.appendChild(print);
			}
		}

		var wStyle = wrapper.style;
		var cStyle = canvas.style;

		var height = size.convert(viewBox.height);
		var roundedHeight = Math.ceil(height);
		var roundingFactor = roundedHeight / height;
		var stretchFactor = roundingFactor * Cufon.CSS.fontStretch(style.get('fontStretch'));
		var stretchedWidth = width * stretchFactor;

		var canvasWidth = Math.ceil(size.convert(stretchedWidth + expandRight - expandLeft));
		var canvasHeight = Math.ceil(size.convert(viewBox.height - expandTop + expandBottom));

		canvas.width = canvasWidth;
		canvas.height = canvasHeight;

		// needed for WebKit and full page zoom
		cStyle.width = canvasWidth + 'px';
		cStyle.height = canvasHeight + 'px';

		// minY has no part in canvas.height
		expandTop += viewBox.minY;

		cStyle.top = Math.round(size.convert(expandTop - font.ascent)) + 'px';
		cStyle.left = Math.round(size.convert(expandLeft)) + 'px';

		var wrapperWidth = Math.max(Math.ceil(size.convert(stretchedWidth)), 0) + 'px';

		if (HAS_INLINE_BLOCK) {
			wStyle.width = wrapperWidth;
			wStyle.height = size.convert(font.height) + 'px';
		}
		else {
			wStyle.paddingLeft = wrapperWidth;
			wStyle.paddingBottom = (size.convert(font.height) - 1) + 'px';
		}

		var g = canvas.getContext('2d'), scale = height / viewBox.height;

		// proper horizontal scaling is performed later
		g.scale(scale, scale * roundingFactor);
		g.translate(-expandLeft, -expandTop);
		g.save();

		function renderText() {
			var glyphs = font.glyphs, glyph, i = -1, j = -1, chr;
			g.scale(stretchFactor, 1);
			while (chr = chars[++i]) {
				var glyph = glyphs[chars[i]] || font.missingGlyph;
				if (!glyph) continue;
				if (glyph.d) {
					g.beginPath();
					if (glyph.code) interpret(glyph.code, g);
					else glyph.code = generateFromVML('m' + glyph.d, g);
					g.fill();
				}
				g.translate(jumps[++j], 0);
			}
			g.restore();
		}

		if (shadows) {
			for (var i = shadows.length; i--;) {
				var shadow = shadows[i];
				g.save();
				g.fillStyle = shadow.color;
				g.translate.apply(g, shadowOffsets[i]);
				renderText();
			}
		}

		var gradient = options.textGradient;
		if (gradient) {
			var stops = gradient.stops, fill = g.createLinearGradient(0, viewBox.minY, 0, viewBox.maxY);
			for (var i = 0, l = stops.length; i < l; ++i) {
				fill.addColorStop.apply(fill, stops[i]);
			}
			g.fillStyle = fill;
		}
		else g.fillStyle = style.get('color');

		renderText();

		return wrapper;

	};

})());


/*!
 * The following copyright notice may not be removed under any circumstances.
 * 
 * Copyright:
 * 2003 - Iconian Fonts www.iconian.com
 */
Cufon.registerFont({"w":317,"face":{"font-family":"Concielian Bold","font-weight":700,"font-stretch":"normal","units-per-em":"360","panose-1":"0 0 4 0 0 0 0 0 0 0","ascent":"288","descent":"-72","cap-height":"1","bbox":"-112 -262 450 49.8453","underline-thickness":"17.9297","underline-position":"-19.6875","unicode-range":"U+0020-U+007E"},"glyphs":{" ":{"w":169},"!":{"d":"-32,1r34,-47r73,0r-34,47r-73,0xm11,-64r93,-130r74,0r-93,130r-74,0","w":89,"k":{",":155}},"\"":{"d":"35,-143r53,-76r55,0r-55,76r-53,0xm116,-142r53,-76r55,0r-54,76r-54,0","w":156,"k":{"y":118,"v":122,"o":149,"e":150,"d":158,"a":155,"Y":49,"V":56,"T":37,"A":7,";":162,"4":159,"\/":181,"#":173}},"#":{"d":"-8,-93r83,0r-68,44r61,0r68,-44r41,0r-69,44r62,0r68,-44r88,0r39,-26r-87,0v19,-16,64,-6,96,-9r39,-26r-80,0r69,-44r-62,0r-69,44r-39,0r68,-44r-61,0r-70,44r-90,0r-38,26r89,0v-20,16,-66,6,-99,9xm177,-119v10,-11,33,-9,55,-9v-10,11,-33,9,-55,9","w":363,"k":{";":157,"\/":178}},"$":{"d":"-43,1r106,0r-22,29r68,0r23,-29v64,2,138,-5,153,-37v11,-25,34,-40,44,-68v-6,-27,-70,-11,-101,-15r32,-41r108,0r29,-36r-115,0r19,-27r-67,0r-21,27v-58,2,-114,0,-139,37v-12,19,-34,38,-41,61v5,27,65,11,95,15v-13,16,-24,34,-39,48r-97,0xm120,-119v15,-20,30,-45,68,-41r-31,41r-37,0xm159,-35r39,-48r43,0v-18,17,-19,47,-54,48r-28,0","w":318},"%":{"d":"10,-87v-5,13,2,27,27,27r105,-1r-102,52r3,9r49,0r139,-72v-9,20,-24,33,-28,57v13,28,84,12,122,15v49,3,54,-40,71,-71v0,-11,-10,-17,-29,-17r-105,1r102,-52r-3,-9r-48,0r-141,72v9,-19,22,-34,29,-55v-2,-13,-13,-17,-30,-17v-47,0,-118,-13,-136,18xm66,-89v9,-10,7,-31,25,-31r52,0v-10,10,-8,31,-26,31r-51,0xm145,-125r1,-1xm261,-29v9,-10,7,-30,25,-30r52,0v-10,9,-6,30,-25,30r-52,0xm340,-65r1,0r-1,0","w":376},"&":{"d":"20,-80v-27,5,-46,31,-15,47v37,19,74,50,135,33r111,-30r64,38r71,-18r-65,-39r80,-21r-40,-27r-84,22r-44,-25v22,-7,55,-10,64,-27v6,-12,17,-23,18,-38v2,-31,-84,-23,-123,-23v-64,0,-79,15,-94,64v2,5,6,9,10,11r-1,-1r13,8xm205,-55v-33,6,-65,20,-98,22r-39,-23r95,-25xm160,-133v10,-13,11,-26,32,-29v20,1,43,-1,60,3r-16,28r-49,13","w":377},"'":{"d":"33,-143r50,-76r52,0r-52,76r-50,0","w":72,"k":{"t":10,"l":5,"d":126}},"(":{"d":"63,8v-55,-2,-84,-9,-73,-48r83,-128v26,-29,62,-42,122,-41r-22,38v-13,-1,-20,4,-33,13r-82,125v1,1,11,2,30,3","w":143},")":{"d":"113,-209v55,2,84,9,73,49r-82,128v-25,29,-66,42,-122,40r22,-38v13,1,19,-3,32,-12r82,-125v-4,-4,-17,-4,-29,-4","w":143},"*":{"d":"12,-120r2,9v30,3,50,-4,67,-14r-8,20r31,0r5,-13v6,14,36,4,53,7r-29,-36r71,-32r-1,-8v-30,-3,-51,4,-69,14r6,-15v-14,1,-35,-5,-36,9v-5,-13,-30,-6,-46,-8r26,36","w":171},"+":{"d":"12,-91r140,0r-29,50r43,0r29,-50r140,0r13,-24r-139,0r29,-52r-43,0r-29,52r-141,0","w":311},",":{"d":"-30,1r32,-43r68,0r-46,66r-41,0r17,-23r-30,0","w":84,"k":{"#":163,"\"":168}},"-":{"d":"0,-49r30,-27r195,0r-28,27r-197,0","w":196},".":{"d":"-30,1r32,-38r68,0r-31,38r-69,0","w":84,"k":{"\"":103}},"\/":{"d":"-19,1r336,-205r73,0r-337,205r-72,0","w":328,"k":{"x":157,"s":164,"r":172,"o":153,"g":156,"e":156,"a":168,"J":162,"A":225,";":247,":":169,"4":180,"\/":272,".":291,",":345}},"0":{"d":"365,-150v2,-70,-108,-44,-175,-44v-51,0,-95,8,-116,37r-84,114v-11,37,19,44,72,44v78,0,206,9,222,-37xm212,-42v-36,18,-105,3,-154,7v31,-36,57,-77,87,-114v29,-17,85,-9,129,-9v9,0,15,3,18,7xm220,-99v-2,-29,-86,-20,-86,6v7,29,85,20,86,-6","k":{".":70,",":126}},"1":{"d":"-41,1r104,-145r-46,0r24,-29r61,-21r70,0r-136,195r-77,0","w":89},"2":{"d":"365,-150v2,-68,-105,-37,-170,-44r-19,36v37,3,91,-8,116,7r-24,33v-81,5,-193,-16,-239,22v-13,22,-34,37,-42,64v4,53,128,33,188,33v59,0,97,-16,115,-46v-25,2,-60,-6,-79,3v-36,17,-105,1,-153,8r36,-48r220,0"},"3":{"d":"50,1v-36,0,-71,-7,-65,-48r70,0v17,23,73,12,110,12v16,0,29,-4,41,-10r25,-31r-162,0r28,-36r160,0r35,-46r0,1v1,-4,-2,-2,-10,-3v-48,4,-116,-11,-145,11r-75,0v22,-56,142,-44,227,-45v43,0,82,6,72,44r-84,114v-41,48,-139,37,-227,37"},"4":{"d":"17,-82r223,0r-61,83r79,0r140,-194r-79,0r-51,75r-148,0r56,-73r-74,0"},"5":{"d":"-7,-44v-19,35,17,45,69,45v77,0,199,9,221,-36v12,-24,34,-41,44,-68v0,-10,-8,-15,-26,-15r-181,0r32,-40r130,0r30,-36r-212,0v-21,33,-51,61,-67,98v0,10,8,14,24,14r182,0v-18,17,-19,49,-53,48r-128,-2r7,-8r-72,0","w":316},"6":{"d":"365,-146v6,-75,-106,-48,-175,-48v-51,0,-95,8,-116,37r-84,114v-11,37,19,44,72,44v77,0,202,10,222,-36r61,-83r-225,0v16,-18,25,-43,60,-40v39,3,96,-11,116,12r69,0xm58,-34r36,-48r146,0v-18,17,-19,47,-54,48r-128,0"},"7":{"d":"298,-194v34,0,69,6,64,44r-106,151r-76,0r110,-152v-24,-15,-76,-7,-112,-7v-14,0,-26,3,-37,11r-77,0v39,-57,139,-48,234,-47","w":314,"k":{"A":168,";":182,"\/":208,".":229,",":283}},"8":{"d":"62,1v-53,0,-82,-7,-72,-44r84,-114v41,-48,139,-37,227,-37v34,0,69,6,64,44r-81,115v-20,46,-145,36,-222,36xm58,-35r128,1v37,0,35,-31,54,-48r-146,0r-35,47r-1,0xm120,-118r148,0r24,-33v-29,-14,-90,-6,-131,-5v-21,5,-28,25,-41,38"},"9":{"d":"50,1v-36,0,-71,-7,-65,-48r70,0v18,24,76,12,114,12v14,0,27,-3,37,-9r25,-32r-225,0v21,-25,46,-55,60,-82v23,-45,146,-35,223,-36v43,0,82,6,72,44r-84,114v-41,48,-139,37,-227,37xm292,-159v-46,3,-124,-12,-153,9r-28,38r146,0r35,-46r0,1r0,-2"},":":{"d":"-31,1r33,-46r72,0r-33,46r-72,0xm18,-69r34,-45r71,0r-33,45r-72,0","w":88},";":{"d":"-31,1r33,-46r71,0r-48,71r-43,0r18,-25r-31,0xm18,-70r34,-46r71,0r-33,46r-72,0","w":88,"k":{"\"":166}},"<":{"d":"33,-96r171,88r19,-34r-124,-63r193,-63r23,-41r-268,89","w":277},"=":{"d":"11,-55r27,-36r219,0r-24,36r-222,0xm45,-111r24,-34r220,0r-26,34r-218,0","w":253},">":{"d":"-17,-4r268,-88r14,-25r-171,-88r-19,33r125,64r-194,63","w":234},"?":{"d":"298,-194v34,0,69,6,64,44v-22,33,-41,71,-99,68r-51,0r-12,18r-74,0r36,-54v41,-1,101,6,116,-17r12,-16v-24,-15,-76,-7,-112,-7v-13,0,-26,3,-38,11r-74,0v38,-57,137,-47,232,-47xm78,1r35,-47r74,0r-33,47r-76,0","w":314,"k":{";":160,"\/":187,".":198,",":241}},"@":{"d":"365,-150v2,-70,-108,-44,-175,-44v-48,0,-90,7,-110,36r193,0v9,1,16,3,19,7r-80,109v-35,18,-104,3,-153,7r62,-80r85,0v-13,15,-63,-7,-78,13r-26,35v11,23,47,18,80,18v39,0,50,-48,71,-71v-2,-15,-15,-22,-41,-22r-144,0r-77,97v-14,38,17,46,71,46v78,0,206,9,222,-37xm145,-76v2,-15,27,-7,42,-9v-4,12,-26,8,-42,9","k":{",":158}},"A":{"d":"302,-194v34,0,69,6,64,44r-108,151r-78,0r60,-83r-146,0v-11,18,-28,30,-36,51r-26,32r-78,0v43,-50,79,-106,120,-158v39,-49,140,-37,228,-37xm120,-118r148,0r25,-33v-24,-15,-76,-7,-112,-7v-12,0,-25,3,-37,10","k":{"f":-8,"V":21,"T":11}},"B":{"d":"366,-150v5,-38,-30,-44,-64,-44r-198,0r-149,195r221,0v89,-1,111,-23,131,-77v0,-6,-2,-12,-6,-18v41,-16,45,-29,65,-56xm58,-35r36,-47r143,2v-5,15,-18,26,-26,38v-4,5,-12,8,-24,8xm120,-118r33,-40v45,4,107,-9,140,7v-11,15,-24,33,-48,33r-125,0","k":{"Y":-31,"V":-35,"G":-6,"C":-6,"\"":-32}},"C":{"d":"-10,-43v-11,37,19,44,72,44r196,0r33,-36r-233,1r87,-115v55,-20,148,-4,219,-9r34,-36r-256,3v-28,6,-53,14,-68,34xm59,-35r0,-1r0,1"},"D":{"d":"366,-150v5,-38,-30,-44,-64,-44r-198,0r-148,195r220,0v60,0,93,-15,109,-37xm58,-34r87,-115r9,-9v45,3,107,-8,139,7r-81,110v-33,14,-106,4,-154,7","k":{"V":21}},"E":{"d":"-10,-43v-11,37,19,44,72,44r195,0r34,-36r-233,1r36,-48r160,0r29,-36r-163,0v15,-18,26,-40,61,-40r184,0r32,-36r-255,3v-28,6,-53,14,-68,34"},"F":{"d":"-43,1r76,0r26,-37v10,-10,24,-32,35,-46r161,0r28,-36r-163,0v15,-18,25,-40,61,-40r184,0r32,-36r-255,3v-83,16,-104,95,-151,147","w":318,"k":{"y":53,"r":31,"o":36,"i":27,"e":36,"a":31,"T":-7,";":198,":":110,"\/":194,".":126,",":126,"\"":-22}},"G":{"d":"-10,-43v-11,37,19,44,72,44v78,0,204,10,223,-37r58,-82r-139,0r-29,37r68,0v-19,17,-19,46,-56,47r-129,-1v31,-36,57,-77,87,-114v55,-20,148,-4,219,-9r34,-36r-256,3v-28,6,-53,14,-68,34"},"H":{"d":"33,1r-76,0r145,-195r76,0r-58,76r149,0r53,-74r76,0r-140,193r-77,0r60,-83r-147,0r-35,47v-3,11,-18,25,-26,36","w":318},"I":{"d":"172,-194v-35,58,-80,105,-115,162r-25,33r-73,0r140,-195r73,0","w":89},"J":{"d":"-10,-43v-11,37,19,44,72,44v79,0,194,5,223,-37r110,-158r-194,0r-26,36r122,0r-85,117v-32,13,-108,6,-152,4r49,-66r-75,0","k":{";":173,"\"":-14}},"K":{"d":"-43,1r78,0r57,-80r98,80r81,0r-118,-93r238,-88r-2,-10r-65,0r-199,67r57,-71r-78,0","w":318,"k":{"v":17,"u":5,"o":5,"e":5,"U":-18,"T":-10}},"L":{"d":"62,1v-52,-2,-83,-7,-72,-44r110,-151r75,0r-31,45r-85,112v69,6,153,0,226,2r-30,36r-193,0","w":314,"k":{"o":-7,"e":-8,"a":-6,"Y":89,"V":93,"U":-16,"T":101,"O":-11,"A":7,"'":140,"#":172,"\"":140}},"M":{"d":"32,1v8,-13,22,-21,27,-37r85,-111r59,0v-31,52,-69,98,-103,148r68,0r106,-148v18,3,72,-8,64,10r-102,138r77,0r110,-154v1,-25,-12,-41,-42,-41r-279,0r-111,150r-36,45r77,0xm59,-35r0,-1r0,1","w":364},"N":{"d":"-44,1r76,0r112,-148v44,2,107,-6,141,5v-33,50,-70,95,-105,143r78,0r109,-154v1,-25,-12,-41,-42,-41r-223,0xm59,-35r0,-1r0,1"},"O":{"d":"62,1v-53,0,-82,-7,-72,-44r84,-114v41,-48,139,-37,227,-37v34,0,69,6,64,44r-80,114v-21,46,-145,37,-223,37xm60,-36v46,0,114,9,151,-5r81,-110v-29,-14,-90,-6,-131,-5v-6,2,-11,4,-16,7","k":{"V":21,"T":11,"O":8}},"P":{"d":"59,-36v-7,14,-18,24,-26,37r-74,0r115,-158v41,-48,140,-37,228,-37v34,0,69,6,64,44v-24,31,-28,68,-91,68r-181,0r-35,47r0,-1xm120,-118v51,-4,127,12,158,-12r15,-21v-30,-14,-90,-6,-132,-5v-21,5,-28,25,-41,38","k":{"s":52,".":127,",":127,"\"":-32}},"Q":{"d":"142,-192v79,1,199,-27,223,29r0,12r-80,114v-13,24,-50,37,-110,37r1,20r-65,0r0,-19v-52,-2,-141,10,-121,-44r84,-115v17,-17,40,-28,68,-34xm292,-152v-24,-15,-76,-7,-112,-7v-13,0,-25,4,-35,10r-86,114r52,0r0,-24r65,0r0,24v14,0,28,4,35,-6"},"R":{"d":"366,-150v5,-38,-30,-44,-64,-44r-200,0r-143,195r74,0r61,-83r100,0r0,83r71,0r0,-82v30,1,56,-2,68,-19xm120,-118r33,-40v45,4,107,-9,140,7v-11,14,-18,33,-43,33r-130,0","k":{"V":21,"T":11}},"S":{"d":"-43,1r219,0v107,4,112,-45,152,-96v4,-16,-3,-23,-25,-23r-183,0v15,-18,25,-40,61,-40r187,0r29,-36r-254,3v-55,3,-76,46,-103,79v-13,16,-8,30,18,30r183,0v-18,17,-19,47,-54,48r-195,-1","w":318,"k":{"G":24,"C":18}},"T":{"d":"70,1r72,0r119,-159r104,0r28,-36r-292,0r-26,36r112,0","w":315,"k":{"w":22,"u":24,"s":81,"r":24,"o":29,"i":20,"e":29,"c":66,"a":23,"T":-7,";":24,":":24,"\/":184,".":50,",":50,"\"":-21}},"U":{"d":"-10,-43v-9,39,20,44,72,44v79,0,193,6,223,-37r109,-156v-24,1,-61,-4,-78,3v-31,51,-71,103,-104,147v-35,20,-107,0,-154,9r1,-3r0,1r110,-144r4,-12r-73,0","k":{";":217,":":155,"\/":174}},"V":{"d":"76,1r64,0r261,-193r-82,0r-167,124r18,-126r-71,0","w":315,"k":{"z":164,"y":117,"x":175,"u":9,"s":179,"r":183,"q":166,"o":13,"n":164,"i":5,"g":170,"e":13,"d":164,"c":164,"a":7,";":13,":":13,"\/":217,".":44,",":44,"\"":-30}},"W":{"d":"-17,-43v-2,28,9,44,41,44r243,0v25,0,45,-12,61,-34r87,-116v10,-10,24,-31,35,-44r-77,0r-112,148r-59,0v31,-52,69,-98,103,-148r-67,0r-107,148v-18,-3,-73,8,-64,-11r103,-137r-78,0xm346,-156r0,-1r0,1","w":364},"X":{"d":"-36,-9r177,-90r-44,-95r74,0r30,64r123,-62r66,0r3,9r-175,88r46,96r-76,0r-30,-65r-127,65r-65,0","w":318,"k":{";":171,",":171}},"Y":{"d":"45,-118v-16,19,-10,36,26,36r60,0r-60,83r68,0r62,-82v56,0,99,5,127,-30v21,-27,45,-53,65,-81r-73,0r-62,74r-139,0r59,-76r-78,0","w":316,"k":{"z":175,"x":186,"s":198,"r":210,"q":184,"p":154,"n":175,"g":189,"d":169,"c":182,"4":158,"\/":227,".":50,",":51,"#":152,"\"":-23}},"Z":{"d":"-13,1r269,0r32,-36r-178,0r251,-123r34,-36r-297,0r-23,36r190,0r-255,125"},"[":{"d":"-33,-1r71,0r69,-91v2,-4,14,-6,23,-5r-72,96r65,0r70,-96v6,0,16,0,19,2r-70,94r73,0r73,-100v-1,-20,-26,-30,-75,-30r-147,0","w":261},"\\":{"d":"-12,-183r68,0r132,182r-69,0","w":167},"]":{"d":"148,0v-53,0,-175,15,-156,-33r74,-98r74,0r-33,40v-13,13,-28,38,-42,55v13,2,23,1,27,-9r64,-85r62,0r-69,96v8,1,19,-2,20,-6r71,-91r68,0r-74,104v-12,18,-40,27,-86,27","w":261},"^":{"d":"-21,-31r200,-131r68,0r-18,131r-71,0r15,-76r-120,76r-74,0","w":247},"_":{"d":"-54,33r6,-17r242,0r-7,17r-241,0","w":161},"`":{"d":"91,-262r61,0r40,57r-40,0","w":83},"a":{"d":"-8,-33v-11,25,13,33,59,33v62,0,167,8,182,-27r54,-74v-1,-20,-27,-30,-75,-30r-148,0r-24,34r172,2r-10,12r-149,0v-36,0,-42,32,-61,50xm65,-35r10,-14r103,0v-17,28,-72,10,-113,14","w":261,"k":{"v":10,"\"":195}},"b":{"d":"147,0v-53,-3,-173,15,-155,-33r110,-150r69,0r-35,49v51,1,153,-7,151,30v-41,47,-40,109,-140,104xm65,-37v26,2,86,7,104,-4r43,-57v-29,-3,-80,-6,-105,4","w":261,"k":{"v":10,"\"":192}},"c":{"d":"113,-131v-31,-2,-55,10,-65,23v-19,29,-45,51,-59,85v0,15,21,23,62,23r165,0r25,-35r-176,-1v22,-20,26,-61,66,-61r154,0r23,-34r-195,0","w":261,"k":{"\"":174}},"d":{"d":"-12,-31v2,42,120,28,175,30v34,1,60,-9,65,-24r119,-158r-66,0r-38,48v-67,3,-175,-9,-201,28xm64,-37r43,-57v24,-13,73,-5,106,-4r-43,57v-24,11,-74,6,-106,4","w":262},"e":{"d":"48,-108v-21,27,-45,51,-59,85v0,15,21,23,62,23r165,0r25,-35r-176,-1r9,-12r147,0v46,1,59,-39,72,-69v0,-10,-8,-14,-23,-14v-75,0,-189,-19,-222,23xm100,-83v17,-27,81,-8,120,-15v-6,6,-7,6,-13,15r-107,0","w":261,"k":{"v":5,"e":-7,"\"":188}},"f":{"d":"-33,-1r71,0r37,-47r122,0r24,-35r-121,0v6,-9,15,-14,31,-14r154,0r23,-34r-194,0v-34,0,-55,10,-69,28","w":262,"k":{"t":26,".":76,",":77,"\"":-11}},"g":{"d":"-71,49r27,-34r172,-2v9,-2,14,-7,18,-14v-49,-4,-170,18,-154,-32r56,-77v19,-36,110,-24,166,-24v49,0,74,10,75,30r-91,125v-14,18,-35,28,-62,28r-207,0xm65,-37v30,5,71,1,106,2r42,-62v-28,-6,-80,-6,-106,3","w":262,"k":{"\"":166}},"h":{"d":"-33,-1r71,0r69,-93v24,-11,73,-6,105,-4r-69,97r72,0r73,-103v3,-37,-102,-30,-152,-30r35,-49r-69,0","w":261,"k":{"\"":185}},"i":{"d":"-31,-1r68,0r95,-130r-68,0","w":80,"k":{"j":14}},"j":{"d":"-112,49v68,-5,153,16,184,-27r110,-156r-71,0r-22,35v-23,29,-47,73,-73,104v-17,20,-67,9,-102,11","w":140},"k":{"d":"-32,-1r131,-181r78,0r-72,91r133,-43r62,0r2,10r-175,62r107,62r-81,-1r-80,-47r-33,47r-72,0","w":262,"k":{"\"":160}},"l":{"d":"-32,-1r132,-182r67,0r-130,182r-69,0","w":83},"m":{"d":"-33,-1r71,0r70,-91v5,-9,32,-4,47,-5v-26,30,-48,64,-73,96r65,0r70,-96v14,1,33,-2,44,2r-71,94r74,0r72,-100v-1,-20,-26,-30,-75,-30r-195,0","w":307},"n":{"d":"-33,-1r71,0r73,-96v33,1,71,-3,101,2r-70,94r73,0r73,-100v-1,-20,-26,-30,-75,-30r-147,0","w":261,"k":{"v":10,"\"":193}},"o":{"d":"48,-108v22,-33,106,-23,164,-23v48,0,74,10,75,30v-41,45,-42,107,-140,101v-49,-3,-172,17,-155,-33xm65,-36v29,0,86,8,104,-4r43,-55v-30,-3,-79,-7,-105,4","w":261,"k":{"v":10,"\"":163}},"p":{"d":"-70,48r118,-158v19,-36,110,-24,166,-24v49,0,74,10,75,30r-54,77v-24,39,-135,24,-201,26r-38,49r-66,0xm65,-37v27,2,87,7,105,-4r43,-57v-30,-3,-81,-6,-106,4","w":262,"k":{"\"":198}},"q":{"d":"145,-1v-52,-2,-171,16,-153,-32r56,-77v19,-36,108,-24,164,-24v48,0,74,10,75,30r-111,153r-66,0xm65,-37v29,5,71,1,105,2r42,-62v-27,-6,-80,-6,-105,3","w":261,"k":{"\"":165}},"r":{"d":"-33,-1r79,-104v10,-13,32,-26,65,-26r168,0r-27,34v-47,3,-108,-7,-145,6r-69,90r-71,0","w":230,"k":{"h":35,".":57,",":58,"\"":169}},"s":{"d":"178,-49v-6,6,-10,14,-22,15r-160,-1r-31,34v86,-6,229,22,269,-26v13,-16,44,-56,-6,-56r-127,0v7,-9,12,-14,30,-14r155,0r22,-34r-195,0v-62,-1,-67,28,-90,59v-6,15,2,24,21,23r134,0","w":262,"k":{"\"":168}},"t":{"d":"-8,-33v-7,40,76,31,121,32r35,-34r-84,-1r48,-64r129,0r24,-34r-130,0r35,-49r-68,0","w":220,"k":{"j":12,"V":32}},"u":{"d":"148,0v-53,0,-175,15,-156,-33r74,-98r74,0r-33,40v-13,13,-28,38,-42,55v29,0,84,6,104,-4r71,-91r68,0r-74,104v-12,18,-40,27,-86,27","w":261},"v":{"d":"45,-1r69,0r200,-130r-75,0r-119,76r14,-76r-71,0","w":259,"k":{"V":20,";":116,":":45,".":28,",":28,"\"":163}},"w":{"d":"-10,-30r73,-101r73,0r-71,95v10,4,31,1,45,2r69,-97r66,0r-73,97v17,-2,39,5,48,-7r68,-90r72,0r-82,107v-35,43,-141,24,-213,24v-49,0,-74,-10,-75,-30","w":316},"x":{"d":"-27,-10r129,-58r-43,-63r59,0r31,41r91,-41r61,0r2,9r-129,59r50,62r-74,0r-28,-39r-86,39r-61,0","w":262,"k":{"\"":187}},"y":{"d":"108,15v20,0,33,-4,38,-16v-48,-3,-170,17,-154,-32r74,-101r73,0r-74,97v30,5,71,1,106,2r70,-99r67,0v-34,55,-72,105,-110,155v-14,18,-35,28,-62,28r-207,0r27,-34r152,0","w":263,"k":{"\"":167}},"z":{"d":"-32,-1r248,1r24,-35r-139,0r185,-63r22,-33r-241,0r-25,32r145,0r-191,66","w":262,"k":{"\"":189}},"{":{"d":"-33,-1r71,0r69,-90v47,-14,121,-2,179,-6r26,-34r-199,0v-34,-2,-57,13,-67,26","w":263},"|":{"d":"-53,29r168,-236r68,0r-166,236r-70,0","w":84},"}":{"d":"-8,-33v-7,41,77,31,122,32r35,-34r-84,-1r42,-58v1,1,4,-4,6,-6r172,0r24,-34r-173,0r35,-49r-69,0","w":261},"~":{"d":"50,-113v53,4,101,-10,154,-2v6,15,-17,24,-23,38v-52,-4,-105,11,-158,0","w":204},"\u00a0":{"w":169}}});



/*!
 * The following copyright notice may not be removed under any circumstances.
 * 
 * Copyright:
 * COM4t(Communicate by Four Typeface) (C)Hideki Katayama All Rights Reserved.
 * [FFF]
 */
Cufon.registerFont({"w":1353,"face":{"font-family":"Maximum Line Speeder","font-weight":400,"font-stretch":"normal","units-per-em":"1800","panose-1":"0 0 4 0 0 0 0 0 0 0","ascent":"1440","descent":"-360","x-height":"21","bbox":"-330 -1470 3229 351.444","underline-thickness":"20","underline-position":"-123","unicode-range":"U+0020-U+007E"},"glyphs":{" ":{"w":1369},"!":{"d":"1036,-1449r-298,921r-621,0r109,-921r810,0xm705,-379r-84,378r-621,0r84,-378r621,0","w":1238},"\"":{"d":"1517,-1450r-592,730r-352,0r354,-730r590,0xm843,-1450r-593,730r-352,0r354,-730r591,0","w":1771},"#":{"d":"1215,-1241r-73,326r-192,0r-35,156r193,0r-73,326r-192,0r-46,203r-258,0r45,-203r-132,0r-45,203r-259,0r45,-203r-193,0r72,-326r193,0r35,-156r-193,0r73,-326r192,0r47,-209r259,0r-47,209r132,0r47,-209r259,0r-47,209r193,0xm691,-915r-132,0r-35,156r132,0","w":1459},"$":{"d":"1676,-1218r-64,297r-364,0v-58,0,-87,17,-87,50v0,28,27,59,80,93v139,89,227,148,261,179v62,56,86,91,69,169v-14,64,-53,110,-116,139v-60,28,-155,46,-286,55r-52,235r-810,0r50,-226r-357,0r61,-310r401,0v121,5,133,-86,50,-134v-131,-75,-210,-130,-242,-157v-83,-70,-125,-112,-111,-189v10,-54,49,-96,113,-125v64,-29,164,-50,301,-62r54,-245r810,0r-51,231r290,0","w":2108},"%":{"d":"3060,-441v-57,309,-316,463,-778,463v-388,0,-582,-119,-582,-356v0,-33,4,-69,11,-107v57,-309,311,-464,762,-464v398,0,597,121,597,363v0,31,-3,65,-10,101xm2360,-1447r-1268,1446r-383,0r1268,-1446r383,0xm1360,-987v-57,309,-317,464,-778,464v-388,0,-582,-119,-582,-356v0,-33,4,-69,11,-108v57,-309,311,-463,762,-463v398,0,597,121,597,363v0,31,-3,65,-10,100xm2495,-441v20,-93,28,-227,-63,-227v-80,0,-134,76,-167,227v-21,94,-28,226,63,226v81,0,134,-76,167,-226xm795,-987v20,-94,26,-226,-63,-226v-81,0,-134,76,-167,226v-20,93,-28,227,63,227v80,0,135,-76,167,-227","w":3416},"&":{"d":"1154,-985v-20,106,122,112,238,108r-62,285v-195,-2,-307,2,-344,125v-17,57,10,87,71,103v65,16,338,15,395,-11v64,-29,106,-77,123,-156r73,-352r1109,0r-69,311r-182,0r-29,132v-34,155,-128,267,-281,336v-153,69,-386,103,-699,103v-415,0,-1017,29,-1282,-78v-179,-72,-251,-177,-199,-361v46,-163,210,-275,487,-336v-192,-61,-283,-142,-238,-313v36,-139,150,-233,331,-291v292,-94,918,-64,1348,-69r-76,352r-434,-1v-83,0,-138,3,-167,10v-63,15,-103,49,-113,103","w":2987},"'":{"d":"818,-1450r-593,730r-352,0r354,-730r591,0","w":1047},"(":{"d":"1151,-1450r-78,370v-154,-11,-197,27,-278,168v-77,132,-149,395,-150,616v0,177,41,266,124,266r84,0r-80,380r-159,0v-409,0,-614,-208,-614,-623v0,-367,119,-676,303,-881v176,-196,407,-296,695,-296r153,0"},")":{"d":"1151,-827v0,367,-119,676,-303,881v-176,196,-407,296,-695,296r-153,0r78,-370v154,11,197,-27,278,-168v77,-132,149,-395,150,-616v0,-177,-41,-266,-124,-266r-84,0r80,-380r159,0v409,0,614,208,614,623"},"*":{"d":"955,-1148r-66,319r-193,-23r92,155r-305,169r-57,-212r-146,212r-235,-169r157,-155r-202,23r67,-319r191,22r-91,-154r306,-170r57,212r145,-212r235,170r-156,154","w":1157},"+":{"d":"1125,-883r-69,311r-376,0r-81,367r-318,1r81,-368r-362,0r64,-311r366,0r78,-357r317,4r-77,353r377,0","w":1471},",":{"d":"615,-380r-592,730r-353,0r354,-730r591,0","w":844},"-":{"d":"1125,-884r-69,311r-1056,0r64,-311r1061,0","w":1413},"\u2010":{"d":"1125,-884r-69,311r-1056,0r64,-311r1061,0","w":1413},".":{"d":"633,-380r-84,379r-621,0r84,-379r621,0","w":949},"\/":{"d":"1628,-1449r-1270,1448r-383,0r1270,-1448r383,0","w":1718},"0":{"d":"2081,-934v0,323,-143,605,-334,744v-194,141,-482,216,-871,216v-321,0,-552,-50,-694,-146v-178,-121,-214,-337,-154,-592v128,-546,489,-738,1177,-738v321,0,552,49,694,146v121,83,182,206,182,370xm1106,-400v25,-44,148,-458,148,-582v0,-96,-41,-144,-123,-144v-69,0,-119,35,-156,101v-25,45,-148,459,-148,582v0,97,41,145,122,145v69,0,120,-35,157,-102","w":2427},"1":{"d":"1224,-1448r-321,1448r-873,0r243,-1097r-273,0r75,-351r1149,0","w":1455},"2":{"d":"1916,-351r-75,351r-1869,2r873,-897v63,-65,95,-114,95,-146v0,-37,-42,-55,-125,-55r-578,0r76,-351r1162,-1v134,0,244,23,330,69v93,49,140,115,140,200v0,91,-56,195,-168,310r-505,518r644,0","w":2370},"3":{"d":"2009,-1087v-22,152,-148,256,-375,313v229,55,343,153,343,294v0,194,-111,299,-296,379v-163,71,-408,101,-729,101r-952,0r76,-351r627,1v103,0,175,-6,214,-17v66,-20,102,-56,102,-129v0,-46,-35,-79,-108,-87v-181,-19,-470,-4,-675,-7r63,-285r419,0v121,0,205,-5,251,-17v72,-19,109,-49,109,-120v0,-41,-29,-72,-90,-78v-214,-20,-513,-3,-746,-6r79,-352r856,0v273,0,475,18,603,60v173,57,252,140,229,301","w":2303},"4":{"d":"2091,-618r-75,351r-240,0r-59,266r-873,0r65,-266r-938,2r868,-1185r1199,1r-184,831r237,0xm1141,-1211r-438,593r292,0","w":2352},"5":{"d":"2053,-1450r-75,351r-816,0r-54,222v297,-8,571,29,714,135v113,83,170,166,152,302v-20,154,-121,266,-293,337v-165,68,-408,102,-729,102r-952,0r76,-351r627,0v103,0,175,-4,214,-16v66,-19,102,-57,102,-130v0,-46,-35,-80,-108,-87v-204,-20,-517,-3,-745,-7r244,-858r1643,0","w":2341},"6":{"d":"1953,-484v-32,152,-133,272,-304,359v-193,99,-464,149,-811,149v-280,0,-493,-42,-638,-127v-267,-155,-241,-427,-59,-675r492,-672r937,0r-303,463v463,30,695,169,695,416v0,28,-3,57,-9,87xm1133,-518v23,-106,6,-215,-104,-215v-108,0,-175,72,-206,215v-23,107,-4,214,105,214v108,0,174,-72,205,-214","w":2221},"7":{"d":"1959,-1453r-979,1448r-965,0r765,-1098r-780,0r75,-351","w":1959},"8":{"d":"1890,-1128v0,180,-96,258,-266,333v204,73,296,164,262,356v-54,310,-404,464,-1046,464v-560,0,-840,-128,-840,-385v0,-25,2,-51,7,-79v31,-172,166,-291,406,-358v-104,-58,-142,-134,-116,-261v53,-261,345,-392,875,-392v479,0,718,107,718,322xm1041,-878v109,0,176,-111,176,-242v0,-63,-33,-95,-99,-95v-109,0,-177,107,-177,239v0,65,33,98,100,98xm905,-240v127,0,202,-106,202,-258v0,-81,-39,-121,-117,-121v-127,0,-204,107,-204,260v0,79,40,119,119,119","w":2296},"9":{"d":"1759,-600r-518,604r-924,0r367,-457v-229,0,-404,-40,-524,-125v-128,-90,-184,-202,-152,-371v29,-151,131,-268,300,-354v191,-98,457,-147,800,-147v279,0,492,42,638,126v133,77,200,182,200,314v0,129,-62,265,-187,410xm1125,-929v23,-106,7,-223,-100,-223v-107,0,-173,75,-206,223v-23,106,-6,212,103,212v107,0,172,-71,203,-212","w":2206},":":{"d":"822,-989r-84,378r-621,0r84,-378r621,0xm705,-462r-84,378r-621,0r84,-378r621,0","w":1025},";":{"d":"852,-989r-84,378r-621,0r84,-378r621,0xm733,-462r-352,461r-381,0r114,-461r619,0","w":1042},"<":{"d":"1026,-1449r-111,535r-446,190r367,189r-111,535r-725,-316r169,-817","w":1255},"=":{"d":"1218,-1121r-68,311r-1056,0r64,-311r1060,0xm1125,-658r-69,311r-1056,0r64,-311r1061,0","w":1478},">":{"d":"1026,-1134r-170,817r-856,316r111,-535r446,-190r-367,-189r111,-535","w":1242},"?":{"d":"1851,-1061v-13,82,-75,159,-185,231v-132,87,-310,145,-533,175r-83,198r-726,0r56,-419v144,0,304,7,404,-33v68,-27,115,-47,115,-106v0,-56,-85,-84,-254,-84r-645,1r76,-352r914,0v576,0,864,114,864,342v0,15,-1,31,-3,47xm1017,-308r-66,307r-726,0r66,-307r726,0","w":2142},"@":{"d":"836,-296v-266,0,-429,-166,-375,-437v51,-258,268,-437,572,-437v121,0,222,46,303,138r25,-129r550,0v-107,-76,-297,-114,-571,-114v-566,0,-862,119,-976,542v-53,198,3,347,157,439v117,70,288,104,513,104r1090,0r-70,195r-1034,0v-345,0,-606,-57,-781,-174v-193,-129,-274,-305,-226,-564v41,-220,167,-394,370,-521v229,-144,542,-216,941,-216v357,0,627,57,806,174v197,129,280,305,230,563v-65,334,-261,487,-656,487v-325,0,-487,-52,-487,-155v0,-15,4,-29,6,-42v-116,98,-245,147,-387,147xm1943,-515v23,-56,92,-276,92,-391v0,-88,-25,-159,-76,-214r-128,662v0,19,11,29,32,29v29,0,56,-28,80,-86xm1267,-733v20,-91,22,-213,-66,-213v-81,0,-134,72,-166,213v-20,90,-23,212,66,212v81,0,135,-71,166,-212","w":2691},"A":{"d":"2473,-1r-873,0r-71,-348r-747,0r-238,348r-717,0r1147,-1448r1204,0xm1464,-667r-107,-525r-358,525r465,0","w":2823},"B":{"d":"2542,-1088v-22,151,-148,255,-375,313v229,55,343,153,343,293v0,14,-1,28,-3,42v-44,293,-385,439,-1022,439r-1485,0r321,-1448r1389,0v273,0,474,18,603,60v173,57,252,140,229,301xm1609,-894v75,-20,112,-59,112,-138v0,-47,-28,-82,-87,-91v-129,-21,-356,-5,-510,-8r-57,255v159,-2,440,9,542,-18xm1373,-319v172,-2,282,-22,282,-164v0,-45,-37,-76,-110,-92v-108,-23,-382,-15,-541,-16r-60,272r429,0","w":2864},"C":{"d":"1356,-1080v-256,-9,-420,185,-420,474v0,151,89,226,266,226r1031,0r-80,380r-1145,0v-382,0,-657,-56,-826,-167v-179,-117,-241,-304,-197,-558v84,-483,527,-725,1334,-725r1134,0r-78,370r-1019,0","w":2597},"D":{"d":"2592,-856v0,340,-148,561,-386,695v-191,108,-473,160,-845,160r-1361,0r321,-1449r1339,0v273,0,489,43,648,128v189,101,284,256,284,466xm1245,-319v301,3,479,-178,489,-506v6,-192,-112,-307,-305,-307r-305,0r-180,813r301,0","w":2765},"E":{"d":"2499,-1450r-75,352r-1308,0r-43,195r1228,0r-70,330r-1231,0r-49,220r1324,0r-75,352r-2200,0r321,-1449r2178,0","w":2673},"F":{"d":"2499,-1450r-75,352r-1308,0r-43,195r1228,0r-70,330r-1231,0r-127,572r-873,0r321,-1449r2178,0","w":2730},"G":{"d":"1326,-1080v-256,-10,-420,186,-420,474v0,150,89,225,266,225r132,0r87,-388r872,0r-172,768r-1112,0v-382,0,-657,-56,-826,-167v-179,-118,-241,-304,-197,-558v84,-482,527,-724,1333,-724r1102,0r-77,370r-988,0","w":2593},"H":{"d":"2898,-1449r-320,1449r-874,0r123,-552r-832,0r-122,552r-873,0r321,-1449r873,0r-121,548r831,0r121,-548r873,0","w":3100},"I":{"d":"1194,-1449r-321,1449r-873,0r321,-1449r873,0","w":1396},"J":{"d":"2221,-1449r-155,707v-133,561,-517,741,-1243,742r-909,0r80,-380r724,0v260,0,422,-141,485,-424r145,-645r873,0","w":2394},"K":{"d":"2878,-1450r-953,574r767,876r-1063,0r-573,-757r954,-693r868,0xm1194,-1449r-321,1449r-873,0r321,-1449r873,0","w":3051},"L":{"d":"2343,-380r-80,380r-2263,0r321,-1448r873,0r-237,1068r1386,0","w":2632},"M":{"d":"3229,-1448r-321,1448r-873,0r285,-1173r-710,1175r-612,0r-234,-1178r-183,1176r-581,0r321,-1448r1158,0r97,651r392,-649","w":3460},"N":{"d":"2774,-1458r-321,1448r-1346,0r-286,-1086r-240,1086r-581,0r321,-1448r1268,0r344,1178r260,-1178r581,0","w":3092},"O":{"d":"2439,-713v-103,492,-567,738,-1394,738v-735,0,-1103,-196,-1103,-587v0,-47,6,-98,17,-151v102,-491,566,-737,1393,-737v735,0,1103,196,1103,587v0,47,-5,97,-16,150xm1109,-298v268,0,362,-163,418,-415v13,-61,20,-116,20,-163v0,-167,-86,-251,-259,-251v-269,0,-362,165,-418,414v-14,62,-19,117,-19,164v0,167,86,251,258,251","w":2658},"P":{"d":"2558,-1029v0,216,-88,362,-230,450v-146,91,-388,135,-724,135r-633,0r-98,443r-873,0r321,-1448r1465,0v515,0,772,140,772,420xm1362,-762v231,-1,342,-40,342,-238v0,-52,-26,-89,-78,-108v-109,-40,-346,-19,-502,-23r-82,369r320,0","w":2847},"Q":{"d":"2484,-863v0,248,-90,405,-231,559v-123,135,-291,236,-500,308r557,0r-74,346r-1438,0r273,-325v-733,0,-1100,-196,-1100,-587v0,-47,6,-98,17,-151v102,-491,566,-737,1393,-737v735,0,1103,196,1103,587xm1138,-298v268,0,362,-163,418,-415v13,-61,20,-116,20,-163v0,-167,-86,-251,-259,-251v-269,0,-362,165,-418,414v-14,62,-19,117,-19,164v0,167,86,251,258,251","w":2715},"R":{"d":"2561,-1051v0,332,-208,444,-544,478r528,572r-927,0r-555,-785r311,0v202,-2,328,-34,328,-206v0,-93,-81,-140,-243,-140r-335,1r-251,1130r-873,0r321,-1448r1465,0v256,0,446,29,570,88v137,65,205,168,205,310","w":2763},"S":{"d":"937,-352v69,1,141,-24,141,-80v0,-41,-39,-80,-117,-116v-221,-101,-372,-176,-453,-225v-179,-109,-268,-211,-268,-304v0,-105,53,-177,114,-226v66,-52,174,-91,326,-112v418,-58,1162,-28,1677,-35r-75,351r-808,0v-60,-1,-129,21,-129,69v0,43,55,90,164,139v252,115,432,213,540,295v111,84,167,164,167,243v0,14,-2,28,-5,42v-28,124,-135,210,-322,253v-386,88,-1332,50,-1889,57r75,-351r862,0","w":2674},"T":{"d":"2469,-1448r-76,351r-842,0r-242,1096r-778,0r243,-1096r-803,0r75,-351r2423,0","w":2670},"U":{"d":"2590,-1450r-157,721v-51,233,-169,409,-355,529v-226,147,-562,220,-1008,220v-714,0,-1071,-191,-1071,-573v0,-54,7,-113,21,-176r157,-721r874,0r-158,721v-14,63,-21,118,-21,166v0,170,88,255,264,255v272,0,368,-166,424,-421r157,-721r873,0","w":2907},"V":{"d":"2585,-1449r-1025,1448r-1265,0r-352,-1448r781,0r177,1135r779,-1135r905,0","w":2873},"W":{"d":"3165,-1449r-681,1448r-1012,0r9,-892r-323,892r-1107,0r-80,-1448r844,0r-36,1129r408,-1129r953,0r-36,1149r441,-1149r620,0","w":3368},"X":{"d":"2866,-1448r-1027,762r736,685r-875,0r-318,-345r-467,346r-1031,0r1045,-775r-708,-674r907,0r265,329r442,-328r1031,0","w":3039},"Y":{"d":"2647,-1447r-1199,875r-128,571r-778,0r128,-571r-728,-875r781,0r302,487r528,-487r1094,0","w":2792},"Z":{"d":"2415,-1448r-1136,1095r966,0r-75,351r-2247,-6r1178,-1091r-922,1r76,-352","w":2646},"[":{"d":"1357,-1449r-68,311r-321,0r-261,1177r347,0r-68,311r-986,0r367,-1799r990,0","w":1530},"\\":{"d":"1088,-1r-348,0r-740,-1448r348,0","w":1376},"]":{"d":"1357,-1449r-367,1799r-990,0r69,-311r321,0r260,-1177r-347,0r69,-311r985,0","w":1559},"^":{"d":"1205,-1207r-103,504r-455,-470r-647,470r103,-504r276,-243r648,0","w":1406},"_":{"d":"1546,-311r-68,311r-1478,0r64,-311r1482,0","w":1978},"`":{"d":"755,-720r-353,0r-402,-730r591,0","w":755},"a":{"d":"496,22v-337,0,-580,-170,-513,-510v62,-317,364,-511,751,-511v163,0,299,54,409,161r30,-150r810,0r-226,987r-779,0r29,-148v-151,114,-322,171,-511,171xm1059,-488v26,-112,21,-248,-94,-248v-109,0,-179,83,-216,248v-25,113,-19,248,95,248v108,0,177,-83,215,-248","w":2214},"b":{"d":"1464,-1013v339,0,582,171,514,511v-63,315,-363,510,-752,510v-164,0,-301,-54,-410,-163r-37,154r-779,0r317,-1448r810,0r-141,584v145,-99,305,-148,478,-148xm1211,-502v26,-112,21,-248,-94,-248v-108,0,-177,83,-215,248v-26,112,-21,248,94,248v108,0,177,-83,215,-248","w":2308},"c":{"d":"1191,-691v-153,-1,-264,84,-264,245v0,91,69,136,206,136r569,1r-70,311r-797,-2v-302,0,-522,-35,-658,-107v-148,-78,-204,-196,-166,-377v70,-337,425,-504,1062,-504r758,0r-68,297r-572,0","w":2061},"d":{"d":"525,22v-337,0,-580,-170,-513,-510v62,-317,364,-511,751,-511v163,0,300,54,410,163r123,-613r810,0r-321,1448r-778,0r29,-147v-152,113,-322,170,-511,170xm1088,-488v26,-112,21,-248,-94,-248v-109,0,-178,83,-216,248v-26,113,-20,248,95,248v108,0,177,-83,215,-248","w":2279},"e":{"d":"1800,-459r-864,0v130,-58,195,-130,195,-216v0,-55,-23,-82,-70,-82v-50,0,-96,24,-135,73v-45,56,-97,140,-97,245v0,87,70,131,209,131r631,0r-71,311r-796,-2v-535,0,-802,-132,-802,-397v0,-226,114,-343,302,-448v185,-103,451,-149,794,-149v280,0,496,38,653,104v246,104,277,303,51,430","w":2183},"f":{"d":"1803,-1450r-70,311v-128,4,-292,-16,-377,29v-43,23,-80,63,-109,120r452,0r-67,295r-477,0r-152,694r-810,0r152,-694r-345,0r67,-295r365,0v65,-151,172,-262,319,-333v177,-85,438,-127,785,-127r267,0","w":1890},"g":{"d":"1935,-989r-131,611v-74,351,-190,514,-482,632v-210,85,-601,103,-955,96r70,-311v165,-5,360,23,446,-62v40,-40,76,-102,103,-191v-143,83,-291,124,-444,124v-176,0,-312,-35,-408,-107v-108,-82,-155,-193,-126,-346v56,-294,358,-453,730,-453v155,0,290,44,403,133r30,-126r764,0xm867,-358v126,0,202,-99,202,-247v0,-82,-40,-123,-120,-123v-126,0,-202,99,-202,247v0,82,40,123,120,123","w":2137},"h":{"d":"1464,-1013v337,0,603,172,526,511r-113,501r-778,0r102,-468v31,-111,22,-248,-94,-248v-109,0,-177,86,-216,248r-112,468r-779,0r317,-1448r810,0r-141,584v145,-99,305,-148,478,-148","w":2261},"i":{"d":"1130,-1450r-69,310r-809,0r68,-310r810,0xm1028,-991r-218,988r-810,0r219,-988r809,0","w":1130},"j":{"d":"1546,-1450r-68,311r-805,0r64,-311r809,0xm1445,-991r-135,612v-53,241,-153,414,-298,519v-192,139,-508,208,-949,208r-236,0r70,-311r250,0v109,0,191,-34,248,-102v51,-61,91,-166,122,-314r126,-612r802,0","w":1690},"k":{"d":"2306,-990r-608,379r440,610r-904,0r-299,-515r-125,515r-810,0r321,-1448r841,0r-226,930r630,-471r740,0","w":2392},"l":{"d":"1131,-1449r-321,1448r-810,0r321,-1448r810,0","w":1246},"m":{"d":"2445,-1015v336,0,570,175,494,511r-113,501r-778,0r102,-468v15,-65,22,-115,22,-150v0,-65,-28,-98,-84,-98v-84,0,-141,65,-171,194v-1,3,-40,177,-117,522r-778,0r102,-468v15,-65,22,-115,22,-150v0,-65,-28,-98,-84,-98v-82,0,-140,70,-175,209r-127,507r-760,0r217,-988r791,0r-38,149v169,-115,337,-173,504,-173v229,0,372,71,429,212v149,-141,330,-212,542,-212","w":3240},"n":{"d":"1496,-1015v336,0,570,175,494,511r-113,501r-778,0r102,-468v31,-111,22,-248,-94,-248v-83,0,-160,47,-187,155r-141,561r-779,0r217,-988r810,0r-40,159v145,-122,315,-183,509,-183","w":2319},"o":{"d":"1910,-486v-71,339,-431,508,-1080,508v-553,0,-830,-134,-830,-402v0,-33,4,-69,12,-106v71,-339,423,-508,1057,-508v568,0,852,136,852,409v0,31,-4,64,-11,99xm1116,-486v26,-113,21,-248,-95,-248v-108,0,-177,83,-215,248v-26,112,-21,248,94,248v109,0,178,-83,216,-248","w":2065},"p":{"d":"1548,-1012v337,0,580,171,513,510v-62,317,-363,510,-751,510v-158,0,-292,-51,-401,-154r-100,496r-809,0r299,-1338r778,0r-28,138v149,-108,316,-162,499,-162xm1295,-502v26,-112,21,-248,-94,-248v-108,0,-177,83,-215,248v-26,112,-21,248,94,248v108,0,177,-83,215,-248","w":2333},"q":{"d":"525,22v-337,0,-580,-171,-513,-510v62,-317,363,-510,751,-510v168,0,307,56,416,169r40,-160r778,0r-300,1339r-809,0r118,-478v-146,100,-306,150,-481,150xm1087,-488v26,-112,21,-248,-94,-248v-108,0,-177,83,-215,248v-26,112,-21,248,94,248v108,0,177,-83,215,-248","w":2170},"r":{"d":"1695,-1014r-110,482v-216,-27,-437,-23,-570,60v-93,57,-156,151,-189,282r-47,188r-779,0r217,-988r810,0r-70,277v142,-201,388,-301,738,-301","w":1868},"s":{"d":"1676,-994r-64,298r-364,0v-58,0,-87,17,-87,50v0,27,27,58,80,92v139,90,227,149,261,179v62,56,86,91,69,169v-19,85,-86,144,-203,169v-278,59,-975,29,-1368,35r62,-311r400,0v121,5,132,-86,50,-133v-131,-75,-210,-130,-242,-157v-83,-69,-125,-112,-111,-189v14,-76,87,-128,213,-158v251,-60,918,-41,1304,-44","w":1936},"t":{"d":"1762,-990r-66,295r-515,0v-34,156,-51,253,-51,290v0,62,28,93,83,93r398,-1r-66,311r-615,1v-237,0,-405,-36,-504,-109v-84,-61,-126,-157,-126,-287v0,-69,13,-169,40,-298r-340,0r67,-296r340,0r58,-252r842,0r-58,252","w":2021},"u":{"d":"477,21v-285,0,-473,-111,-478,-374v0,-43,5,-88,16,-136r113,-501r778,0r-102,467v-30,111,-22,248,94,248v83,0,160,-47,187,-154r141,-561r779,0r-217,987r-810,0r44,-173v-158,131,-340,197,-545,197","w":2265},"v":{"d":"2165,-990r-833,987r-1071,0r-261,-987r684,0r116,686r491,-686r874,0","w":2367},"w":{"d":"2843,-989r-527,988r-944,0r-8,-532r-216,532r-1007,0r-141,-988r810,0r32,679r276,-679r828,0r56,700r283,-700r558,0","w":2843},"x":{"d":"2472,-986r-778,503r574,481r-750,0r-277,-200r-330,200r-997,0r853,-535r-529,-449r750,0r185,172r239,-172r1060,0","w":2674},"y":{"d":"2132,-990r-1169,1340r-747,0r283,-352r-5,0r-494,-988r715,0r167,510r409,-510r841,0","w":2276},"z":{"d":"1769,-989r-719,680r616,1r-67,307r-1715,-1r754,-692r-624,0r67,-296","w":2000},"{":{"d":"1283,-1450r-78,370v-98,-3,-171,3,-219,59v-31,37,-66,102,-97,199v-26,82,-125,178,-213,196r-30,141v88,36,132,103,132,202v0,169,41,253,123,253r84,0r-80,380v-247,8,-457,-15,-588,-126v-88,-75,-146,-175,-167,-305v-19,-111,-35,-183,-50,-217v-21,-49,-54,-74,-100,-74r78,-370v83,-17,138,-60,163,-130v141,-385,438,-578,889,-578r153,0","w":1398},"|":{"d":"292,349r-292,0r0,-1798r292,0r0,1798","w":753},"}":{"d":"1283,-728r-78,370v-83,17,-138,60,-163,130v-141,385,-438,578,-889,578r-153,0r78,-370v98,3,171,-3,219,-59v31,-37,65,-102,96,-199v26,-82,125,-178,214,-196r30,-141v-88,-36,-132,-103,-132,-202v0,-169,-41,-253,-123,-253r-84,0r80,-380v246,-8,457,15,587,126v88,76,146,175,168,305v18,111,34,183,49,217v21,49,55,74,101,74","w":1514},"~":{"d":"1140,-1410r-83,317v-127,73,-370,86,-521,22v-188,-79,-356,-98,-536,-22r64,-310v179,-76,347,-55,536,22v164,67,395,47,540,-29","w":1341},"\u00a0":{"w":1369}}});



/*!
 * The following copyright notice may not be removed under any circumstances.
 * 
 * Copyright:
 * COM4t(Communicate by Four Typeface) (C)Hideki Katayama All Rights Reserved.
 * [FFF]
 */
Cufon.registerFont({"w":1353,"face":{"font-family":"Maximum Line Speeder","font-weight":400,"font-stretch":"normal","units-per-em":"1800","panose-1":"0 0 4 0 0 0 0 0 0 0","ascent":"1440","descent":"-360","x-height":"21","bbox":"-330 -1470 3229 351.444","underline-thickness":"20","underline-position":"-123","unicode-range":"U+0020-U+007E"},"glyphs":{" ":{"w":1369},"!":{"d":"1036,-1449r-298,921r-621,0r109,-921r810,0xm705,-379r-84,378r-621,0r84,-378r621,0","w":1238},"\"":{"d":"1517,-1450r-592,730r-352,0r354,-730r590,0xm843,-1450r-593,730r-352,0r354,-730r591,0","w":1771},"#":{"d":"1215,-1241r-73,326r-192,0r-35,156r193,0r-73,326r-192,0r-46,203r-258,0r45,-203r-132,0r-45,203r-259,0r45,-203r-193,0r72,-326r193,0r35,-156r-193,0r73,-326r192,0r47,-209r259,0r-47,209r132,0r47,-209r259,0r-47,209r193,0xm691,-915r-132,0r-35,156r132,0","w":1459},"$":{"d":"1676,-1218r-64,297r-364,0v-58,0,-87,17,-87,50v0,28,27,59,80,93v139,89,227,148,261,179v62,56,86,91,69,169v-14,64,-53,110,-116,139v-60,28,-155,46,-286,55r-52,235r-810,0r50,-226r-357,0r61,-310r401,0v121,5,133,-86,50,-134v-131,-75,-210,-130,-242,-157v-83,-70,-125,-112,-111,-189v10,-54,49,-96,113,-125v64,-29,164,-50,301,-62r54,-245r810,0r-51,231r290,0","w":2108},"%":{"d":"3060,-441v-57,309,-316,463,-778,463v-388,0,-582,-119,-582,-356v0,-33,4,-69,11,-107v57,-309,311,-464,762,-464v398,0,597,121,597,363v0,31,-3,65,-10,101xm2360,-1447r-1268,1446r-383,0r1268,-1446r383,0xm1360,-987v-57,309,-317,464,-778,464v-388,0,-582,-119,-582,-356v0,-33,4,-69,11,-108v57,-309,311,-463,762,-463v398,0,597,121,597,363v0,31,-3,65,-10,100xm2495,-441v20,-93,28,-227,-63,-227v-80,0,-134,76,-167,227v-21,94,-28,226,63,226v81,0,134,-76,167,-226xm795,-987v20,-94,26,-226,-63,-226v-81,0,-134,76,-167,226v-20,93,-28,227,63,227v80,0,135,-76,167,-227","w":3416},"&":{"d":"1154,-985v-20,106,122,112,238,108r-62,285v-195,-2,-307,2,-344,125v-17,57,10,87,71,103v65,16,338,15,395,-11v64,-29,106,-77,123,-156r73,-352r1109,0r-69,311r-182,0r-29,132v-34,155,-128,267,-281,336v-153,69,-386,103,-699,103v-415,0,-1017,29,-1282,-78v-179,-72,-251,-177,-199,-361v46,-163,210,-275,487,-336v-192,-61,-283,-142,-238,-313v36,-139,150,-233,331,-291v292,-94,918,-64,1348,-69r-76,352r-434,-1v-83,0,-138,3,-167,10v-63,15,-103,49,-113,103","w":2987},"'":{"d":"818,-1450r-593,730r-352,0r354,-730r591,0","w":1047},"(":{"d":"1151,-1450r-78,370v-154,-11,-197,27,-278,168v-77,132,-149,395,-150,616v0,177,41,266,124,266r84,0r-80,380r-159,0v-409,0,-614,-208,-614,-623v0,-367,119,-676,303,-881v176,-196,407,-296,695,-296r153,0"},")":{"d":"1151,-827v0,367,-119,676,-303,881v-176,196,-407,296,-695,296r-153,0r78,-370v154,11,197,-27,278,-168v77,-132,149,-395,150,-616v0,-177,-41,-266,-124,-266r-84,0r80,-380r159,0v409,0,614,208,614,623"},"*":{"d":"955,-1148r-66,319r-193,-23r92,155r-305,169r-57,-212r-146,212r-235,-169r157,-155r-202,23r67,-319r191,22r-91,-154r306,-170r57,212r145,-212r235,170r-156,154","w":1157},"+":{"d":"1125,-883r-69,311r-376,0r-81,367r-318,1r81,-368r-362,0r64,-311r366,0r78,-357r317,4r-77,353r377,0","w":1471},",":{"d":"615,-380r-592,730r-353,0r354,-730r591,0","w":844},"-":{"d":"1125,-884r-69,311r-1056,0r64,-311r1061,0","w":1413},"\u2010":{"d":"1125,-884r-69,311r-1056,0r64,-311r1061,0","w":1413},".":{"d":"633,-380r-84,379r-621,0r84,-379r621,0","w":949},"\/":{"d":"1628,-1449r-1270,1448r-383,0r1270,-1448r383,0","w":1718},"0":{"d":"2081,-934v0,323,-143,605,-334,744v-194,141,-482,216,-871,216v-321,0,-552,-50,-694,-146v-178,-121,-214,-337,-154,-592v128,-546,489,-738,1177,-738v321,0,552,49,694,146v121,83,182,206,182,370xm1106,-400v25,-44,148,-458,148,-582v0,-96,-41,-144,-123,-144v-69,0,-119,35,-156,101v-25,45,-148,459,-148,582v0,97,41,145,122,145v69,0,120,-35,157,-102","w":2427},"1":{"d":"1224,-1448r-321,1448r-873,0r243,-1097r-273,0r75,-351r1149,0","w":1455},"2":{"d":"1916,-351r-75,351r-1869,2r873,-897v63,-65,95,-114,95,-146v0,-37,-42,-55,-125,-55r-578,0r76,-351r1162,-1v134,0,244,23,330,69v93,49,140,115,140,200v0,91,-56,195,-168,310r-505,518r644,0","w":2370},"3":{"d":"2009,-1087v-22,152,-148,256,-375,313v229,55,343,153,343,294v0,194,-111,299,-296,379v-163,71,-408,101,-729,101r-952,0r76,-351r627,1v103,0,175,-6,214,-17v66,-20,102,-56,102,-129v0,-46,-35,-79,-108,-87v-181,-19,-470,-4,-675,-7r63,-285r419,0v121,0,205,-5,251,-17v72,-19,109,-49,109,-120v0,-41,-29,-72,-90,-78v-214,-20,-513,-3,-746,-6r79,-352r856,0v273,0,475,18,603,60v173,57,252,140,229,301","w":2303},"4":{"d":"2091,-618r-75,351r-240,0r-59,266r-873,0r65,-266r-938,2r868,-1185r1199,1r-184,831r237,0xm1141,-1211r-438,593r292,0","w":2352},"5":{"d":"2053,-1450r-75,351r-816,0r-54,222v297,-8,571,29,714,135v113,83,170,166,152,302v-20,154,-121,266,-293,337v-165,68,-408,102,-729,102r-952,0r76,-351r627,0v103,0,175,-4,214,-16v66,-19,102,-57,102,-130v0,-46,-35,-80,-108,-87v-204,-20,-517,-3,-745,-7r244,-858r1643,0","w":2341},"6":{"d":"1953,-484v-32,152,-133,272,-304,359v-193,99,-464,149,-811,149v-280,0,-493,-42,-638,-127v-267,-155,-241,-427,-59,-675r492,-672r937,0r-303,463v463,30,695,169,695,416v0,28,-3,57,-9,87xm1133,-518v23,-106,6,-215,-104,-215v-108,0,-175,72,-206,215v-23,107,-4,214,105,214v108,0,174,-72,205,-214","w":2221},"7":{"d":"1959,-1453r-979,1448r-965,0r765,-1098r-780,0r75,-351","w":1959},"8":{"d":"1890,-1128v0,180,-96,258,-266,333v204,73,296,164,262,356v-54,310,-404,464,-1046,464v-560,0,-840,-128,-840,-385v0,-25,2,-51,7,-79v31,-172,166,-291,406,-358v-104,-58,-142,-134,-116,-261v53,-261,345,-392,875,-392v479,0,718,107,718,322xm1041,-878v109,0,176,-111,176,-242v0,-63,-33,-95,-99,-95v-109,0,-177,107,-177,239v0,65,33,98,100,98xm905,-240v127,0,202,-106,202,-258v0,-81,-39,-121,-117,-121v-127,0,-204,107,-204,260v0,79,40,119,119,119","w":2296},"9":{"d":"1759,-600r-518,604r-924,0r367,-457v-229,0,-404,-40,-524,-125v-128,-90,-184,-202,-152,-371v29,-151,131,-268,300,-354v191,-98,457,-147,800,-147v279,0,492,42,638,126v133,77,200,182,200,314v0,129,-62,265,-187,410xm1125,-929v23,-106,7,-223,-100,-223v-107,0,-173,75,-206,223v-23,106,-6,212,103,212v107,0,172,-71,203,-212","w":2206},":":{"d":"822,-989r-84,378r-621,0r84,-378r621,0xm705,-462r-84,378r-621,0r84,-378r621,0","w":1025},";":{"d":"852,-989r-84,378r-621,0r84,-378r621,0xm733,-462r-352,461r-381,0r114,-461r619,0","w":1042},"<":{"d":"1026,-1449r-111,535r-446,190r367,189r-111,535r-725,-316r169,-817","w":1255},"=":{"d":"1218,-1121r-68,311r-1056,0r64,-311r1060,0xm1125,-658r-69,311r-1056,0r64,-311r1061,0","w":1478},">":{"d":"1026,-1134r-170,817r-856,316r111,-535r446,-190r-367,-189r111,-535","w":1242},"?":{"d":"1851,-1061v-13,82,-75,159,-185,231v-132,87,-310,145,-533,175r-83,198r-726,0r56,-419v144,0,304,7,404,-33v68,-27,115,-47,115,-106v0,-56,-85,-84,-254,-84r-645,1r76,-352r914,0v576,0,864,114,864,342v0,15,-1,31,-3,47xm1017,-308r-66,307r-726,0r66,-307r726,0","w":2142},"@":{"d":"836,-296v-266,0,-429,-166,-375,-437v51,-258,268,-437,572,-437v121,0,222,46,303,138r25,-129r550,0v-107,-76,-297,-114,-571,-114v-566,0,-862,119,-976,542v-53,198,3,347,157,439v117,70,288,104,513,104r1090,0r-70,195r-1034,0v-345,0,-606,-57,-781,-174v-193,-129,-274,-305,-226,-564v41,-220,167,-394,370,-521v229,-144,542,-216,941,-216v357,0,627,57,806,174v197,129,280,305,230,563v-65,334,-261,487,-656,487v-325,0,-487,-52,-487,-155v0,-15,4,-29,6,-42v-116,98,-245,147,-387,147xm1943,-515v23,-56,92,-276,92,-391v0,-88,-25,-159,-76,-214r-128,662v0,19,11,29,32,29v29,0,56,-28,80,-86xm1267,-733v20,-91,22,-213,-66,-213v-81,0,-134,72,-166,213v-20,90,-23,212,66,212v81,0,135,-71,166,-212","w":2691},"A":{"d":"2473,-1r-873,0r-71,-348r-747,0r-238,348r-717,0r1147,-1448r1204,0xm1464,-667r-107,-525r-358,525r465,0","w":2823},"B":{"d":"2542,-1088v-22,151,-148,255,-375,313v229,55,343,153,343,293v0,14,-1,28,-3,42v-44,293,-385,439,-1022,439r-1485,0r321,-1448r1389,0v273,0,474,18,603,60v173,57,252,140,229,301xm1609,-894v75,-20,112,-59,112,-138v0,-47,-28,-82,-87,-91v-129,-21,-356,-5,-510,-8r-57,255v159,-2,440,9,542,-18xm1373,-319v172,-2,282,-22,282,-164v0,-45,-37,-76,-110,-92v-108,-23,-382,-15,-541,-16r-60,272r429,0","w":2864},"C":{"d":"1356,-1080v-256,-9,-420,185,-420,474v0,151,89,226,266,226r1031,0r-80,380r-1145,0v-382,0,-657,-56,-826,-167v-179,-117,-241,-304,-197,-558v84,-483,527,-725,1334,-725r1134,0r-78,370r-1019,0","w":2597},"D":{"d":"2592,-856v0,340,-148,561,-386,695v-191,108,-473,160,-845,160r-1361,0r321,-1449r1339,0v273,0,489,43,648,128v189,101,284,256,284,466xm1245,-319v301,3,479,-178,489,-506v6,-192,-112,-307,-305,-307r-305,0r-180,813r301,0","w":2765},"E":{"d":"2499,-1450r-75,352r-1308,0r-43,195r1228,0r-70,330r-1231,0r-49,220r1324,0r-75,352r-2200,0r321,-1449r2178,0","w":2673},"F":{"d":"2499,-1450r-75,352r-1308,0r-43,195r1228,0r-70,330r-1231,0r-127,572r-873,0r321,-1449r2178,0","w":2730},"G":{"d":"1326,-1080v-256,-10,-420,186,-420,474v0,150,89,225,266,225r132,0r87,-388r872,0r-172,768r-1112,0v-382,0,-657,-56,-826,-167v-179,-118,-241,-304,-197,-558v84,-482,527,-724,1333,-724r1102,0r-77,370r-988,0","w":2593},"H":{"d":"2898,-1449r-320,1449r-874,0r123,-552r-832,0r-122,552r-873,0r321,-1449r873,0r-121,548r831,0r121,-548r873,0","w":3100},"I":{"d":"1194,-1449r-321,1449r-873,0r321,-1449r873,0","w":1396},"J":{"d":"2221,-1449r-155,707v-133,561,-517,741,-1243,742r-909,0r80,-380r724,0v260,0,422,-141,485,-424r145,-645r873,0","w":2394},"K":{"d":"2878,-1450r-953,574r767,876r-1063,0r-573,-757r954,-693r868,0xm1194,-1449r-321,1449r-873,0r321,-1449r873,0","w":3051},"L":{"d":"2343,-380r-80,380r-2263,0r321,-1448r873,0r-237,1068r1386,0","w":2632},"M":{"d":"3229,-1448r-321,1448r-873,0r285,-1173r-710,1175r-612,0r-234,-1178r-183,1176r-581,0r321,-1448r1158,0r97,651r392,-649","w":3460},"N":{"d":"2774,-1458r-321,1448r-1346,0r-286,-1086r-240,1086r-581,0r321,-1448r1268,0r344,1178r260,-1178r581,0","w":3092},"O":{"d":"2439,-713v-103,492,-567,738,-1394,738v-735,0,-1103,-196,-1103,-587v0,-47,6,-98,17,-151v102,-491,566,-737,1393,-737v735,0,1103,196,1103,587v0,47,-5,97,-16,150xm1109,-298v268,0,362,-163,418,-415v13,-61,20,-116,20,-163v0,-167,-86,-251,-259,-251v-269,0,-362,165,-418,414v-14,62,-19,117,-19,164v0,167,86,251,258,251","w":2658},"P":{"d":"2558,-1029v0,216,-88,362,-230,450v-146,91,-388,135,-724,135r-633,0r-98,443r-873,0r321,-1448r1465,0v515,0,772,140,772,420xm1362,-762v231,-1,342,-40,342,-238v0,-52,-26,-89,-78,-108v-109,-40,-346,-19,-502,-23r-82,369r320,0","w":2847},"Q":{"d":"2484,-863v0,248,-90,405,-231,559v-123,135,-291,236,-500,308r557,0r-74,346r-1438,0r273,-325v-733,0,-1100,-196,-1100,-587v0,-47,6,-98,17,-151v102,-491,566,-737,1393,-737v735,0,1103,196,1103,587xm1138,-298v268,0,362,-163,418,-415v13,-61,20,-116,20,-163v0,-167,-86,-251,-259,-251v-269,0,-362,165,-418,414v-14,62,-19,117,-19,164v0,167,86,251,258,251","w":2715},"R":{"d":"2561,-1051v0,332,-208,444,-544,478r528,572r-927,0r-555,-785r311,0v202,-2,328,-34,328,-206v0,-93,-81,-140,-243,-140r-335,1r-251,1130r-873,0r321,-1448r1465,0v256,0,446,29,570,88v137,65,205,168,205,310","w":2763},"S":{"d":"937,-352v69,1,141,-24,141,-80v0,-41,-39,-80,-117,-116v-221,-101,-372,-176,-453,-225v-179,-109,-268,-211,-268,-304v0,-105,53,-177,114,-226v66,-52,174,-91,326,-112v418,-58,1162,-28,1677,-35r-75,351r-808,0v-60,-1,-129,21,-129,69v0,43,55,90,164,139v252,115,432,213,540,295v111,84,167,164,167,243v0,14,-2,28,-5,42v-28,124,-135,210,-322,253v-386,88,-1332,50,-1889,57r75,-351r862,0","w":2674},"T":{"d":"2469,-1448r-76,351r-842,0r-242,1096r-778,0r243,-1096r-803,0r75,-351r2423,0","w":2670},"U":{"d":"2590,-1450r-157,721v-51,233,-169,409,-355,529v-226,147,-562,220,-1008,220v-714,0,-1071,-191,-1071,-573v0,-54,7,-113,21,-176r157,-721r874,0r-158,721v-14,63,-21,118,-21,166v0,170,88,255,264,255v272,0,368,-166,424,-421r157,-721r873,0","w":2907},"V":{"d":"2585,-1449r-1025,1448r-1265,0r-352,-1448r781,0r177,1135r779,-1135r905,0","w":2873},"W":{"d":"3165,-1449r-681,1448r-1012,0r9,-892r-323,892r-1107,0r-80,-1448r844,0r-36,1129r408,-1129r953,0r-36,1149r441,-1149r620,0","w":3368},"X":{"d":"2866,-1448r-1027,762r736,685r-875,0r-318,-345r-467,346r-1031,0r1045,-775r-708,-674r907,0r265,329r442,-328r1031,0","w":3039},"Y":{"d":"2647,-1447r-1199,875r-128,571r-778,0r128,-571r-728,-875r781,0r302,487r528,-487r1094,0","w":2792},"Z":{"d":"2415,-1448r-1136,1095r966,0r-75,351r-2247,-6r1178,-1091r-922,1r76,-352","w":2646},"[":{"d":"1357,-1449r-68,311r-321,0r-261,1177r347,0r-68,311r-986,0r367,-1799r990,0","w":1530},"\\":{"d":"1088,-1r-348,0r-740,-1448r348,0","w":1376},"]":{"d":"1357,-1449r-367,1799r-990,0r69,-311r321,0r260,-1177r-347,0r69,-311r985,0","w":1559},"^":{"d":"1205,-1207r-103,504r-455,-470r-647,470r103,-504r276,-243r648,0","w":1406},"_":{"d":"1546,-311r-68,311r-1478,0r64,-311r1482,0","w":1978},"`":{"d":"755,-720r-353,0r-402,-730r591,0","w":755},"a":{"d":"496,22v-337,0,-580,-170,-513,-510v62,-317,364,-511,751,-511v163,0,299,54,409,161r30,-150r810,0r-226,987r-779,0r29,-148v-151,114,-322,171,-511,171xm1059,-488v26,-112,21,-248,-94,-248v-109,0,-179,83,-216,248v-25,113,-19,248,95,248v108,0,177,-83,215,-248","w":2214},"b":{"d":"1464,-1013v339,0,582,171,514,511v-63,315,-363,510,-752,510v-164,0,-301,-54,-410,-163r-37,154r-779,0r317,-1448r810,0r-141,584v145,-99,305,-148,478,-148xm1211,-502v26,-112,21,-248,-94,-248v-108,0,-177,83,-215,248v-26,112,-21,248,94,248v108,0,177,-83,215,-248","w":2308},"c":{"d":"1191,-691v-153,-1,-264,84,-264,245v0,91,69,136,206,136r569,1r-70,311r-797,-2v-302,0,-522,-35,-658,-107v-148,-78,-204,-196,-166,-377v70,-337,425,-504,1062,-504r758,0r-68,297r-572,0","w":2061},"d":{"d":"525,22v-337,0,-580,-170,-513,-510v62,-317,364,-511,751,-511v163,0,300,54,410,163r123,-613r810,0r-321,1448r-778,0r29,-147v-152,113,-322,170,-511,170xm1088,-488v26,-112,21,-248,-94,-248v-109,0,-178,83,-216,248v-26,113,-20,248,95,248v108,0,177,-83,215,-248","w":2279},"e":{"d":"1800,-459r-864,0v130,-58,195,-130,195,-216v0,-55,-23,-82,-70,-82v-50,0,-96,24,-135,73v-45,56,-97,140,-97,245v0,87,70,131,209,131r631,0r-71,311r-796,-2v-535,0,-802,-132,-802,-397v0,-226,114,-343,302,-448v185,-103,451,-149,794,-149v280,0,496,38,653,104v246,104,277,303,51,430","w":2183},"f":{"d":"1803,-1450r-70,311v-128,4,-292,-16,-377,29v-43,23,-80,63,-109,120r452,0r-67,295r-477,0r-152,694r-810,0r152,-694r-345,0r67,-295r365,0v65,-151,172,-262,319,-333v177,-85,438,-127,785,-127r267,0","w":1890},"g":{"d":"1935,-989r-131,611v-74,351,-190,514,-482,632v-210,85,-601,103,-955,96r70,-311v165,-5,360,23,446,-62v40,-40,76,-102,103,-191v-143,83,-291,124,-444,124v-176,0,-312,-35,-408,-107v-108,-82,-155,-193,-126,-346v56,-294,358,-453,730,-453v155,0,290,44,403,133r30,-126r764,0xm867,-358v126,0,202,-99,202,-247v0,-82,-40,-123,-120,-123v-126,0,-202,99,-202,247v0,82,40,123,120,123","w":2137},"h":{"d":"1464,-1013v337,0,603,172,526,511r-113,501r-778,0r102,-468v31,-111,22,-248,-94,-248v-109,0,-177,86,-216,248r-112,468r-779,0r317,-1448r810,0r-141,584v145,-99,305,-148,478,-148","w":2261},"i":{"d":"1130,-1450r-69,310r-809,0r68,-310r810,0xm1028,-991r-218,988r-810,0r219,-988r809,0","w":1130},"j":{"d":"1546,-1450r-68,311r-805,0r64,-311r809,0xm1445,-991r-135,612v-53,241,-153,414,-298,519v-192,139,-508,208,-949,208r-236,0r70,-311r250,0v109,0,191,-34,248,-102v51,-61,91,-166,122,-314r126,-612r802,0","w":1690},"k":{"d":"2306,-990r-608,379r440,610r-904,0r-299,-515r-125,515r-810,0r321,-1448r841,0r-226,930r630,-471r740,0","w":2392},"l":{"d":"1131,-1449r-321,1448r-810,0r321,-1448r810,0","w":1246},"m":{"d":"2445,-1015v336,0,570,175,494,511r-113,501r-778,0r102,-468v15,-65,22,-115,22,-150v0,-65,-28,-98,-84,-98v-84,0,-141,65,-171,194v-1,3,-40,177,-117,522r-778,0r102,-468v15,-65,22,-115,22,-150v0,-65,-28,-98,-84,-98v-82,0,-140,70,-175,209r-127,507r-760,0r217,-988r791,0r-38,149v169,-115,337,-173,504,-173v229,0,372,71,429,212v149,-141,330,-212,542,-212","w":3240},"n":{"d":"1496,-1015v336,0,570,175,494,511r-113,501r-778,0r102,-468v31,-111,22,-248,-94,-248v-83,0,-160,47,-187,155r-141,561r-779,0r217,-988r810,0r-40,159v145,-122,315,-183,509,-183","w":2319},"o":{"d":"1910,-486v-71,339,-431,508,-1080,508v-553,0,-830,-134,-830,-402v0,-33,4,-69,12,-106v71,-339,423,-508,1057,-508v568,0,852,136,852,409v0,31,-4,64,-11,99xm1116,-486v26,-113,21,-248,-95,-248v-108,0,-177,83,-215,248v-26,112,-21,248,94,248v109,0,178,-83,216,-248","w":2065},"p":{"d":"1548,-1012v337,0,580,171,513,510v-62,317,-363,510,-751,510v-158,0,-292,-51,-401,-154r-100,496r-809,0r299,-1338r778,0r-28,138v149,-108,316,-162,499,-162xm1295,-502v26,-112,21,-248,-94,-248v-108,0,-177,83,-215,248v-26,112,-21,248,94,248v108,0,177,-83,215,-248","w":2333},"q":{"d":"525,22v-337,0,-580,-171,-513,-510v62,-317,363,-510,751,-510v168,0,307,56,416,169r40,-160r778,0r-300,1339r-809,0r118,-478v-146,100,-306,150,-481,150xm1087,-488v26,-112,21,-248,-94,-248v-108,0,-177,83,-215,248v-26,112,-21,248,94,248v108,0,177,-83,215,-248","w":2170},"r":{"d":"1695,-1014r-110,482v-216,-27,-437,-23,-570,60v-93,57,-156,151,-189,282r-47,188r-779,0r217,-988r810,0r-70,277v142,-201,388,-301,738,-301","w":1868},"s":{"d":"1676,-994r-64,298r-364,0v-58,0,-87,17,-87,50v0,27,27,58,80,92v139,90,227,149,261,179v62,56,86,91,69,169v-19,85,-86,144,-203,169v-278,59,-975,29,-1368,35r62,-311r400,0v121,5,132,-86,50,-133v-131,-75,-210,-130,-242,-157v-83,-69,-125,-112,-111,-189v14,-76,87,-128,213,-158v251,-60,918,-41,1304,-44","w":1936},"t":{"d":"1762,-990r-66,295r-515,0v-34,156,-51,253,-51,290v0,62,28,93,83,93r398,-1r-66,311r-615,1v-237,0,-405,-36,-504,-109v-84,-61,-126,-157,-126,-287v0,-69,13,-169,40,-298r-340,0r67,-296r340,0r58,-252r842,0r-58,252","w":2021},"u":{"d":"477,21v-285,0,-473,-111,-478,-374v0,-43,5,-88,16,-136r113,-501r778,0r-102,467v-30,111,-22,248,94,248v83,0,160,-47,187,-154r141,-561r779,0r-217,987r-810,0r44,-173v-158,131,-340,197,-545,197","w":2265},"v":{"d":"2165,-990r-833,987r-1071,0r-261,-987r684,0r116,686r491,-686r874,0","w":2367},"w":{"d":"2843,-989r-527,988r-944,0r-8,-532r-216,532r-1007,0r-141,-988r810,0r32,679r276,-679r828,0r56,700r283,-700r558,0","w":2843},"x":{"d":"2472,-986r-778,503r574,481r-750,0r-277,-200r-330,200r-997,0r853,-535r-529,-449r750,0r185,172r239,-172r1060,0","w":2674},"y":{"d":"2132,-990r-1169,1340r-747,0r283,-352r-5,0r-494,-988r715,0r167,510r409,-510r841,0","w":2276},"z":{"d":"1769,-989r-719,680r616,1r-67,307r-1715,-1r754,-692r-624,0r67,-296","w":2000},"{":{"d":"1283,-1450r-78,370v-98,-3,-171,3,-219,59v-31,37,-66,102,-97,199v-26,82,-125,178,-213,196r-30,141v88,36,132,103,132,202v0,169,41,253,123,253r84,0r-80,380v-247,8,-457,-15,-588,-126v-88,-75,-146,-175,-167,-305v-19,-111,-35,-183,-50,-217v-21,-49,-54,-74,-100,-74r78,-370v83,-17,138,-60,163,-130v141,-385,438,-578,889,-578r153,0","w":1398},"|":{"d":"292,349r-292,0r0,-1798r292,0r0,1798","w":753},"}":{"d":"1283,-728r-78,370v-83,17,-138,60,-163,130v-141,385,-438,578,-889,578r-153,0r78,-370v98,3,171,-3,219,-59v31,-37,65,-102,96,-199v26,-82,125,-178,214,-196r30,-141v-88,-36,-132,-103,-132,-202v0,-169,-41,-253,-123,-253r-84,0r80,-380v246,-8,457,15,587,126v88,76,146,175,168,305v18,111,34,183,49,217v21,49,55,74,101,74","w":1514},"~":{"d":"1140,-1410r-83,317v-127,73,-370,86,-521,22v-188,-79,-356,-98,-536,-22r64,-310v179,-76,347,-55,536,22v164,67,395,47,540,-29","w":1341},"\u00a0":{"w":1369}}});





