Repository: bramp/js-sequence-diagrams Branch: master Commit: 6e597f796b6f Files: 50 Total size: 938.6 KB Directory structure: gitextract_eyg6dj26/ ├── .eslintrc.js ├── .gitignore ├── .gitmodules ├── .jscsrc ├── .travis.yml ├── DESIGN.md ├── LICENCE ├── Makefile ├── README.md ├── bower.json ├── dist/ │ ├── sequence-diagram-min.css │ ├── sequence-diagram-min.js │ ├── sequence-diagram-raphael-min.js │ ├── sequence-diagram-raphael.js │ ├── sequence-diagram-snap-min.js │ ├── sequence-diagram-snap.js │ ├── sequence-diagram.css │ └── sequence-diagram.js ├── fonts/ │ └── daniel/ │ ├── Daniel Midgley.txt │ ├── README.md │ ├── daniel-demo.html │ ├── daniel_400.font.js │ ├── daniel_700.font.js │ ├── daniel_black_900.font.js │ ├── danielbd-demo.html │ ├── danielbk-demo.html │ ├── generator_config.txt │ ├── specimen_files/ │ │ ├── grid_12-825-55-15.css │ │ └── specimen_stylesheet.css │ └── stylesheet.css ├── package.json ├── src/ │ ├── diagram.js │ ├── grammar.ebnf │ ├── grammar.jison │ ├── jquery-plugin.js │ ├── main.js │ ├── sequence-diagram.css │ ├── sequence-diagram.js │ ├── theme-raphael.js │ ├── theme-snap.js │ └── theme.js └── test/ ├── align.html ├── font_test.html ├── gallery.html ├── grammar-tests.js ├── qunit.html ├── raphael-mock.js ├── snap-mock.js ├── test.html └── webfont-mock.js ================================================ FILE CONTENTS ================================================ ================================================ FILE: .eslintrc.js ================================================ module.exports = { "extends": "google" }; ================================================ FILE: .gitignore ================================================ node_modules/ bower_components/ build/ ================================================ FILE: .gitmodules ================================================ [submodule "_site"] path = _site url = https://github.com/bramp/js-sequence-diagrams.git ================================================ FILE: .jscsrc ================================================ { "preset": "google", "maximumLineLength": 120 } ================================================ FILE: .travis.yml ================================================ language: node_js sudo: false node_js: - "0.12" ================================================ FILE: DESIGN.md ================================================ Random Design Notes ------------------- ## Supported Browsers * IE 9+ * Safari 5.1+ * Firefox 3.6+ * Opera 11.50+ * Android 4.4+ * iOS 5.1+ ## Text Alignment * Title: Left aligned * Actors: Horz center aligned (TODO) and Vertically center aligned * Signals: Center aligned * Self Signal: Horz left aligned, Vertically center aligned (TODO) * Notes: Left aligned Whitespace is trimmed from the ends of each line ## CSS Classes * SVG: 'sequence' and the name of the theme e.g. 'simple' or 'hand' * Title: 'title' * Actor: 'actor' * Signal: 'signal' ================================================ FILE: LICENCE ================================================ Copyright (c) 2012-2017, Andrew Brampton All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ================================================ FILE: Makefile ================================================ .PHONY : all test dependencies clean veryclean lint js css font NODE_MODULES := node_modules/.bin BOWER_COMPONENTS := bower_components all: lint js css test js: dist/sequence-diagram-min.js dist/sequence-diagram-raphael-min.js dist/sequence-diagram-snap-min.js css: dist/sequence-diagram-min.css font font: dist/danielbd.woff2 dist/danielbd.woff node_modules: package.json # # NPM update needed. # npm update touch $@ bower_components: bower.json # # Bower update needed. # $(NODE_MODULES)/bower update touch $@ dependencies: node_modules bower_components clean: -rm build/* -git checkout -- dist veryclean: clean -rm -rf node_modules -rm -rf bower_components lint: dependencies package.json bower.json $(NODE_MODULES)/jsonlint package.json -q $(NODE_MODULES)/jsonlint bower.json -q $(NODE_MODULES)/eslint src/*.js $(NODE_MODULES)/eslint test/*.js test: dependencies dist/sequence-diagram-min.js # Test the un-minifed file (with underscore) $(NODE_MODULES)/qunit \ -c dist/sequence-diagram.js \ -t test/*-tests.js \ -d test/*-mock.js $(BOWER_COMPONENTS)/underscore/underscore-min.js # Test the un-minifed file (with lodash) $(NODE_MODULES)/qunit \ -c dist/sequence-diagram.js \ -t test/*-tests.js \ -d test/*-mock.js $(BOWER_COMPONENTS)/lodash/dist/lodash.min.js # Test the minifed file (with underscore) $(NODE_MODULES)/qunit \ -c dist/sequence-diagram-min.js \ -t test/*-tests.js \ -d test/*-mock.js $(BOWER_COMPONENTS)/underscore/underscore-min.js # Test the minifed file (with lodash) $(NODE_MODULES)/qunit \ -c dist/sequence-diagram-min.js \ -t test/*-tests.js \ -d test/*-mock.js $(BOWER_COMPONENTS)/lodash/dist/lodash.min.js build/grammar.js: src/grammar.jison mkdir -p build $(NODE_MODULES)/jison $< -o $@.tmp # After building the grammar, run it through the uglifyjs to fix some non-strict issues. # Until https://github.com/zaach/jison/issues/285 is fixed, we must do this to create valid non-minified code. $(NODE_MODULES)/uglifyjs \ $@.tmp -o $@ \ --comments all --compress --beautify rm $@.tmp # Compile the grammar build/diagram-grammar.js: src/diagram.js build/grammar.js $(NODE_MODULES)/preprocess $< . > $@ # Combine all javascript files together (Raphael and Snap.svg) dist/sequence-diagram.js: src/main.js build/diagram-grammar.js src/jquery-plugin.js src/sequence-diagram.js src/theme.js src/theme-snap.js src/theme-raphael.js fonts/daniel/daniel_700.font.js mkdir -p dist $(NODE_MODULES)/preprocess $< . -SNAP=true -RAPHAEL=true > $@ # Combine just Raphael theme dist/sequence-diagram-raphael.js: src/main.js build/diagram-grammar.js src/jquery-plugin.js src/sequence-diagram.js src/theme.js src/theme-raphael.js fonts/daniel/daniel_700.font.js $(NODE_MODULES)/preprocess $< . -RAPHAEL=true > $@ # Combine just Snap.svg theme dist/sequence-diagram-snap.js: src/main.js build/diagram-grammar.js src/jquery-plugin.js src/sequence-diagram.js src/theme.js src/theme-snap.js $(NODE_MODULES)/preprocess $< . -SNAP=true > $@ dist/sequence-diagram.css: src/sequence-diagram.css cp $< $@ # Minify the CSS dist/sequence-diagram-min.css: dist/sequence-diagram.css $(NODE_MODULES)/minify --output $@ $< # Move some fonts TODO optomise the fonts dist/%.woff: fonts/daniel/%.woff cp $< $@ dist/%.woff2: fonts/daniel/%.woff2 cp $< $@ # Minify the final javascript dist/%-min.js dist/%-min.js.map: dist/%.js # # Please ignore the warnings below (these are in combined js code) # $(NODE_MODULES)/uglifyjs \ $< -o $@ \ --compress --comments --lint \ --source-map $@.map \ --source-map-url `basename $<` ================================================ FILE: README.md ================================================ JS Sequence Diagrams [![Bower](https://img.shields.io/bower/v/js-sequence-diagrams.svg)](https://libraries.io/bower/js-sequence-diagrams) [![Build Status](https://img.shields.io/travis/bramp/js-sequence-diagrams.svg)](https://travis-ci.org/bramp/js-sequence-diagrams) [![Code Climate](https://img.shields.io/codeclimate/github/bramp/js-sequence-diagrams.svg)](https://codeclimate.com/github/bramp/js-sequence-diagrams) [![Libraries.io](https://img.shields.io/librariesio/github/bramp/js-sequence-diagrams.svg)](https://libraries.io/github/bramp/js-sequence-diagrams) ![License](https://img.shields.io/npm/l/js-sequence-diagrams.svg) ============================================= **Generates UML sequence diagrams from simple text** by [Andrew Brampton](https://bramp.net) 2012-2017 Example ------- We turn Alice->Bob: Hello Bob, how are you? Note right of Bob: Bob thinks Bob-->Alice: I am good thanks! into ![Sample generated UML diagram](https://bramp.github.io/js-sequence-diagrams/images/sample.svg) Requirements ------------ You will need [Snap.svg](http://snapsvg.io/), [Web Font Loader](https://github.com/typekit/webfontloader) (if you wish to use custom fonts), [underscore.js](http://underscorejs.org/) (or [lodash](https://lodash.com/)), and optionally [jQuery](https://jquery.com/). Installation ---------------------- ### bower Run `bower install bramp/js-sequence-diagrams` and include the scripts below: ```html ``` or use jQuery to do all the work: ```html ``` For full examples check out [the demo site](https://bramp.github.io/js-sequence-diagrams/). Options ------- ```javascript var options = { // Change the styling of the diagram, typically one of 'simple', 'hand'. New themes can be registered with registerTheme(...). theme: string, // CSS style to apply to the diagram's svg tag. (Only supported if using snap.svg) css_class: string, }; ``` Styling ------- The following CSS classes are applied to the SVG diagram when using snap.svg: * `sequence`: Applies to main SVG tag. * `title`: Applied to the title of the diagram. * `actor`: Applied to the actors. * `signal`: Applied to the signals. * `note`: Applied to all notes. The diagram can then be customised, for example: ```css .signal text { fill: #000000; } .signal text:hover { fill: #aaaaaa } .note rect, .note path { fill: #ffff00; } .title rect, .title path, .actor rect, .actor path { fill: #ffffff } ``` Raphaël Deprecation ------------------- Version 1.x of this library used [Raphaël](http://raphaeljs.com/) for drawing the diagrams, however, Raphaël had some limitations, and since disappeared from the Internet. We've decided to move to [Snap.svg](http://snapsvg.io/), which is a pure SVG implementation, instead of Raphaël which in addition to SVG, also supported VML (on Internet Explorer). This support of VML made it impossible to use some newer SVG capabilities. Native SVG allows us to use CSS styling, better font support, animations and more. To aid in the transition Version 2.x will support both Raphaël and Snap.svg (preferring Snap.svg). If you include Raphaël instead of snap.svg, it will default to using Raphaël as the rendering library. For example ```html ``` There are also four transitional themes, 'snapSimple', 'snapHand', 'raphaelSimple', 'raphaelHand', which force the use of either Snap.svg, or Raphaël. The plan is to drop support for Raphaël in a future release, simplifying the library, and reducing the file size. ### Adding a Font Raphael requires Cufon style fonts. Find the font you want in ttf or otf format, visit [Cufon's site](http://cufon.shoqolate.com/generate/) and process it into a javascript file. Then ensure the font is included via the HTML, or recompile after altering main.js. So far only the hand drawn font, Daniel Bold, has been included. Build requirements ------------------ The build is managed by a Makefile, and uses various tools available from npm. Thus both `make` and [npm](https://github.com/npm/npm) are required, and can easily be installed on any Linux or Mac machine. ```bash make ``` The Makefile will use npm to install all the dev dependencies, build, and test. Testing ------- We use [qunit](https://qunitjs.com/) for testing. It can be ran from the command line, or via a browser. The command line actually tests multiple permutations of [lodash](https://lodash.com/), [Underscore](http://underscorejs.org/), and with and without minification. ```bash make test ... Global summary: ┌───────┬───────┬────────────┬────────┬────────┬─────────┐ │ Files │ Tests │ Assertions │ Failed │ Passed │ Runtime │ ├───────┼───────┼────────────┼────────┼────────┼─────────┤ │ 1 │ 13 │ 231 │ 0 │ 231 │ 250 │ └───────┴───────┴────────────┴────────┴────────┴─────────┘ ``` or `make` and then open test/qunit.html in a browser. Finally a simple playground is available at test/test.html. How to release -------------- * Make sure all changes checked in * Bump version in src/main.js and bower.json * ``make clean`` * ``make`` * ``git add -f src/main.js bower.json dist/*`` * ``git commit -m "Released version 2.x.x"`` * ``git push origin master`` * ``git tag -a v2.x.x -m v2.x.x`` * ``git push origin v2.x.x`` TODO ---- * Other themes * Automate the release process * Testing that checks the generated SVG is correct * Improve the hand drawn theme * "Note left of Bob: " generates a small empty box. * The font seems to have extra margin at the bottom. * The wiggly lines don't always touch. * Dozens of other issues on [https://github.com/bramp/js-sequence-diagrams/issues](https://github.com/bramp/js-sequence-diagrams/issues) Contributors ------------ via [GitHub](https://github.com/bramp/js-sequence-diagrams/graphs/contributors) Thanks ------ This project makes use of [Jison](https://zaach.github.io/jison/), snap.svg, underscore.js, and the awesome [Daniel font](http://www.dafont.com/daniel.font) (which is free to use for any purpose). Many thanks to [Web Sequence Diagrams](http://www.websequencediagrams.com/) which greatly inspired this project, and forms the basis for the syntax. Related ------- * [Web Sequence Diagrams](http://www.websequencediagrams.com/) Server side version with a commercial offering * [flowchart.js](https://adrai.github.io/flowchart.js/) A similar project that draws flow charts in the browser Licence (Simplified BSD License) ------- Copyright (c) 2012-2017, Andrew Brampton All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ================================================ FILE: bower.json ================================================ { "name": "js-sequence-diagrams", "version": "2.0.1", "authors": "Andrew Brampton (bramp.net)", "description": "Generates UML sequence diagrams from simple text", "homepage": "https://bramp.github.io/js-sequence-diagrams/", "main": "dist/sequence-diagram-min.js", "namespace": "Diagram", "keywords": [ "uml", "sequence", "diagram" ], "license": "BSD-2-Clause", "readmeFilename": "README.md", "ignore": [ ".*", "_site", "node_modules", "bower_components" ], "dependencies": { "underscore": "1.8.x", "lodash": "4.17.x", "raphael": "2.2.x", "snap.svg": "0.4.x", "bower-webfontloader": "~1.6.x" }, "devDependencies": { "qunit": "1.11.x", "jquery": "3.1.x", "seedrandom": "2.4.x" }, "scripts": { "test": "make test" }, "repository": { "type": "git", "url": "https://github.com/bramp/js-sequence-diagrams.git" } } ================================================ FILE: dist/sequence-diagram-min.css ================================================ /** js sequence diagrams * https://bramp.github.io/js-sequence-diagrams/ * (c) 2012-2017 Andrew Brampton (bramp.net) * Simplified BSD license. */ @font-face{font-family:'danielbd';src:url(danielbd.woff2) format('woff2'),url(danielbd.woff) format('woff');font-weight:normal;font-style:normal} ================================================ FILE: dist/sequence-diagram-min.js ================================================ /** js sequence diagrams 2.0.1 * https://bramp.github.io/js-sequence-diagrams/ * (c) 2012-2017 Andrew Brampton (bramp.net) * @license Simplified BSD license. */ !function(){"use strict";function Diagram(){this.title=void 0,this.actors=[],this.signals=[]}function ParseError(message,hash){_.extend(this,hash),this.name="ParseError",this.message=message||""}function AssertException(message){this.message=message}function assert(exp,message){if(!exp)throw new AssertException(message)}function registerTheme(name,theme){Diagram.themes[name]=theme}function getCenterX(box){return box.x+box.width/2}function getCenterY(box){return box.y+box.height/2}function clamp(x,min,max){return xmax?max:x}function wobble(x1,y1,x2,y2){assert(_.all([x1,x2,y1,y2],_.isFinite),"x1,x2,y1,y2 must be numeric");var factor=Math.sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1))/25,r1=clamp(Math.random(),.2,.8),r2=clamp(Math.random(),.2,.8),xfactor=Math.random()>.5?factor:-factor,yfactor=Math.random()>.5?factor:-factor,p1={x:(x2-x1)*r1+x1+xfactor,y:(y2-y1)*r1+y1+yfactor},p2={x:(x2-x1)*r2+x1-xfactor,y:(y2-y1)*r2+y1-yfactor};return"C"+p1.x.toFixed(1)+","+p1.y.toFixed(1)+" "+p2.x.toFixed(1)+","+p2.y.toFixed(1)+" "+x2.toFixed(1)+","+y2.toFixed(1)}function handRect(x,y,w,h){return assert(_.all([x,y,w,h],_.isFinite),"x, y, w, h must be numeric"),"M"+x+","+y+wobble(x,y,x+w,y)+wobble(x+w,y,x+w,y+h)+wobble(x+w,y+h,x,y+h)+wobble(x,y+h,x,y)}function handLine(x1,y1,x2,y2){return assert(_.all([x1,x2,y1,y2],_.isFinite),"x1,x2,y1,y2 must be numeric"),"M"+x1.toFixed(1)+","+y1.toFixed(1)+wobble(x1,y1,x2,y2)}Diagram.prototype.getActor=function(alias,name){alias=alias.trim();var i,actors=this.actors;for(i in actors)if(actors[i].alias==alias)return actors[i];return i=actors.push(new Diagram.Actor(alias,name||alias,actors.length)),actors[i-1]},Diagram.prototype.getActorWithAlias=function(input){input=input.trim();var alias,name,s=/([\s\S]+) as (\S+)$/im.exec(input);return s?(name=s[1].trim(),alias=s[2].trim()):name=alias=input,this.getActor(alias,name)},Diagram.prototype.setTitle=function(title){this.title=title},Diagram.prototype.addSignal=function(signal){this.signals.push(signal)},Diagram.Actor=function(alias,name,index){this.alias=alias,this.name=name,this.index=index},Diagram.Signal=function(actorA,signaltype,actorB,message){this.type="Signal",this.actorA=actorA,this.actorB=actorB,this.linetype=3&signaltype,this.arrowtype=signaltype>>2&3,this.message=message},Diagram.Signal.prototype.isSelf=function(){return this.actorA.index==this.actorB.index},Diagram.Note=function(actor,placement,message){if(this.type="Note",this.actor=actor,this.placement=placement,this.message=message,this.hasManyActors()&&actor[0]==actor[1])throw new Error("Note should be over two different actors")},Diagram.Note.prototype.hasManyActors=function(){return _.isArray(this.actor)},Diagram.unescape=function(s){return s.trim().replace(/^"(.*)"$/m,"$1").replace(/\\n/gm,"\n")},Diagram.LINETYPE={SOLID:0,DOTTED:1},Diagram.ARROWTYPE={FILLED:0,OPEN:1},Diagram.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},"function"!=typeof Object.getPrototypeOf&&("object"==typeof"test".__proto__?Object.getPrototypeOf=function(object){return object.__proto__}:Object.getPrototypeOf=function(object){return object.constructor.prototype});var parser=function(){function Parser(){this.yy={}}var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[5,8,9,13,15,24],$V1=[1,13],$V2=[1,17],$V3=[24,29,30],parser={trace:function(){},yy:{},symbols_:{error:2,start:3,document:4,EOF:5,line:6,statement:7,NL:8,participant:9,actor_alias:10,signal:11,note_statement:12,title:13,message:14,note:15,placement:16,actor:17,over:18,actor_pair:19,",":20,left_of:21,right_of:22,signaltype:23,ACTOR:24,linetype:25,arrowtype:26,LINE:27,DOTLINE:28,ARROW:29,OPENARROW:30,MESSAGE:31,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",8:"NL",9:"participant",13:"title",15:"note",18:"over",20:",",21:"left_of",22:"right_of",24:"ACTOR",27:"LINE",28:"DOTLINE",29:"ARROW",30:"OPENARROW",31:"MESSAGE"},productions_:[0,[3,2],[4,0],[4,2],[6,1],[6,1],[7,2],[7,1],[7,1],[7,2],[12,4],[12,4],[19,1],[19,3],[16,1],[16,1],[11,4],[17,1],[10,1],[23,2],[23,1],[25,1],[25,1],[26,1],[26,1],[14,1]],performAction:function(yytext,yyleng,yylineno,yy,yystate,$$,_$){var $0=$$.length-1;switch(yystate){case 1:return yy.parser.yy;case 4:break;case 6:$$[$0];break;case 7:case 8:yy.parser.yy.addSignal($$[$0]);break;case 9:yy.parser.yy.setTitle($$[$0]);break;case 10:this.$=new Diagram.Note($$[$0-1],$$[$0-2],$$[$0]);break;case 11:this.$=new Diagram.Note($$[$0-1],Diagram.PLACEMENT.OVER,$$[$0]);break;case 12:case 20:this.$=$$[$0];break;case 13:this.$=[$$[$0-2],$$[$0]];break;case 14:this.$=Diagram.PLACEMENT.LEFTOF;break;case 15:this.$=Diagram.PLACEMENT.RIGHTOF;break;case 16:this.$=new Diagram.Signal($$[$0-3],$$[$0-2],$$[$0-1],$$[$0]);break;case 17:this.$=yy.parser.yy.getActor(Diagram.unescape($$[$0]));break;case 18:this.$=yy.parser.yy.getActorWithAlias(Diagram.unescape($$[$0]));break;case 19:this.$=$$[$0-1]|$$[$0]<<2;break;case 21:this.$=Diagram.LINETYPE.SOLID;break;case 22:this.$=Diagram.LINETYPE.DOTTED;break;case 23:this.$=Diagram.ARROWTYPE.FILLED;break;case 24:this.$=Diagram.ARROWTYPE.OPEN;break;case 25:this.$=Diagram.unescape($$[$0].substring(1))}},table:[o($V0,[2,2],{3:1,4:2}),{1:[3]},{5:[1,3],6:4,7:5,8:[1,6],9:[1,7],11:8,12:9,13:[1,10],15:[1,12],17:11,24:$V1},{1:[2,1]},o($V0,[2,3]),o($V0,[2,4]),o($V0,[2,5]),{10:14,24:[1,15]},o($V0,[2,7]),o($V0,[2,8]),{14:16,31:$V2},{23:18,25:19,27:[1,20],28:[1,21]},{16:22,18:[1,23],21:[1,24],22:[1,25]},o([20,27,28,31],[2,17]),o($V0,[2,6]),o($V0,[2,18]),o($V0,[2,9]),o($V0,[2,25]),{17:26,24:$V1},{24:[2,20],26:27,29:[1,28],30:[1,29]},o($V3,[2,21]),o($V3,[2,22]),{17:30,24:$V1},{17:32,19:31,24:$V1},{24:[2,14]},{24:[2,15]},{14:33,31:$V2},{24:[2,19]},{24:[2,23]},{24:[2,24]},{14:34,31:$V2},{14:35,31:$V2},{20:[1,36],31:[2,12]},o($V0,[2,16]),o($V0,[2,10]),o($V0,[2,11]),{17:37,24:$V1},{31:[2,13]}],defaultActions:{3:[2,1],24:[2,14],25:[2,15],27:[2,19],28:[2,23],29:[2,24],37:[2,13]},parseError:function(str,hash){if(!hash.recoverable)throw new Error(str);this.trace(str)},parse:function(input){function lex(){var token;return token=lexer.lex()||EOF,"number"!=typeof token&&(token=self.symbols_[token]||token),token}var self=this,stack=[0],vstack=[null],lstack=[],table=this.table,yytext="",yylineno=0,yyleng=0,recovering=0,TERROR=2,EOF=1,args=lstack.slice.call(arguments,1),lexer=Object.create(this.lexer),sharedState={yy:{}};for(var k in this.yy)Object.prototype.hasOwnProperty.call(this.yy,k)&&(sharedState.yy[k]=this.yy[k]);lexer.setInput(input,sharedState.yy),sharedState.yy.lexer=lexer,sharedState.yy.parser=this,"undefined"==typeof lexer.yylloc&&(lexer.yylloc={});var yyloc=lexer.yylloc;lstack.push(yyloc);var ranges=lexer.options&&lexer.options.ranges;"function"==typeof sharedState.yy.parseError?this.parseError=sharedState.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var symbol,preErrorSymbol,state,action,r,p,len,newState,expected,yyval={};;){if(state=stack[stack.length-1],this.defaultActions[state]?action=this.defaultActions[state]:(null!==symbol&&"undefined"!=typeof symbol||(symbol=lex()),action=table[state]&&table[state][symbol]),"undefined"==typeof action||!action.length||!action[0]){var errStr="";expected=[];for(p in table[state])this.terminals_[p]&&p>TERROR&&expected.push("'"+this.terminals_[p]+"'");errStr=lexer.showPosition?"Parse error on line "+(yylineno+1)+":\n"+lexer.showPosition()+"\nExpecting "+expected.join(", ")+", got '"+(this.terminals_[symbol]||symbol)+"'":"Parse error on line "+(yylineno+1)+": Unexpected "+(symbol==EOF?"end of input":"'"+(this.terminals_[symbol]||symbol)+"'"),this.parseError(errStr,{text:lexer.match,token:this.terminals_[symbol]||symbol,line:lexer.yylineno,loc:yyloc,expected:expected})}if(action[0]instanceof Array&&action.length>1)throw new Error("Parse Error: multiple actions possible at state: "+state+", token: "+symbol);switch(action[0]){case 1:stack.push(symbol),vstack.push(lexer.yytext),lstack.push(lexer.yylloc),stack.push(action[1]),symbol=null,preErrorSymbol?(symbol=preErrorSymbol,preErrorSymbol=null):(yyleng=lexer.yyleng,yytext=lexer.yytext,yylineno=lexer.yylineno,yyloc=lexer.yylloc,recovering>0&&recovering--);break;case 2:if(len=this.productions_[action[1]][1],yyval.$=vstack[vstack.length-len],yyval._$={first_line:lstack[lstack.length-(len||1)].first_line,last_line:lstack[lstack.length-1].last_line,first_column:lstack[lstack.length-(len||1)].first_column,last_column:lstack[lstack.length-1].last_column},ranges&&(yyval._$.range=[lstack[lstack.length-(len||1)].range[0],lstack[lstack.length-1].range[1]]),r=this.performAction.apply(yyval,[yytext,yyleng,yylineno,sharedState.yy,action[1],vstack,lstack].concat(args)),"undefined"!=typeof r)return r;len&&(stack=stack.slice(0,-1*len*2),vstack=vstack.slice(0,-1*len),lstack=lstack.slice(0,-1*len)),stack.push(this.productions_[action[1]][0]),vstack.push(yyval.$),lstack.push(yyval._$),newState=table[stack[stack.length-2]][stack[stack.length-1]],stack.push(newState);break;case 3:return!0}}return!0}},lexer=function(){var lexer={EOF:1,parseError:function(str,hash){if(!this.yy.parser)throw new Error(str);this.yy.parser.parseError(str,hash)},setInput:function(input,yy){return this.yy=yy||this.yy||{},this._input=input,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var ch=this._input[0];this.yytext+=ch,this.yyleng++,this.offset++,this.match+=ch,this.matched+=ch;var lines=ch.match(/(?:\r\n?|\n).*/g);return lines?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),ch},unput:function(ch){var len=ch.length,lines=ch.split(/(?:\r\n?|\n)/g);this._input=ch+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-len),this.offset-=len;var oldLines=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),lines.length-1&&(this.yylineno-=lines.length-1);var r=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:lines?(lines.length===oldLines.length?this.yylloc.first_column:0)+oldLines[oldLines.length-lines.length].length-lines[0].length:this.yylloc.first_column-len},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-len]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(n){this.unput(this.match.slice(n))},pastInput:function(){var past=this.matched.substr(0,this.matched.length-this.match.length);return(past.length>20?"...":"")+past.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var next=this.match;return next.length<20&&(next+=this._input.substr(0,20-next.length)),(next.substr(0,20)+(next.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var pre=this.pastInput(),c=new Array(pre.length+1).join("-");return pre+this.upcomingInput()+"\n"+c+"^"},test_match:function(match,indexed_rule){var token,lines,backup;if(this.options.backtrack_lexer&&(backup={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(backup.yylloc.range=this.yylloc.range.slice(0))),lines=match[0].match(/(?:\r\n?|\n).*/g),lines&&(this.yylineno+=lines.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:lines?lines[lines.length-1].length-lines[lines.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+match[0].length},this.yytext+=match[0],this.match+=match[0],this.matches=match,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(match[0].length),this.matched+=match[0],token=this.performAction.call(this,this.yy,this,indexed_rule,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),token)return token;if(this._backtrack){for(var k in backup)this[k]=backup[k];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var token,match,tempMatch,index;this._more||(this.yytext="",this.match="");for(var rules=this._currentRules(),i=0;imatch[0].length)){if(match=tempMatch,index=i,this.options.backtrack_lexer){if(token=this.test_match(tempMatch,rules[i]),token!==!1)return token;if(this._backtrack){match=!1;continue}return!1}if(!this.options.flex)break}return match?(token=this.test_match(match,rules[index]),token!==!1&&token):""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var r=this.next();return r?r:this.lex()},begin:function(condition){this.conditionStack.push(condition)},popState:function(){var n=this.conditionStack.length-1;return n>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(n){return n=this.conditionStack.length-1-Math.abs(n||0),n>=0?this.conditionStack[n]:"INITIAL"},pushState:function(condition){this.begin(condition)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(yy,yy_,$avoiding_name_collisions,YY_START){switch($avoiding_name_collisions){case 0:return 8;case 1:break;case 2:break;case 3:return 9;case 4:return 21;case 5:return 22;case 6:return 18;case 7:return 15;case 8:return 13;case 9:return 20;case 10:return 24;case 11:return 24;case 12:return 28;case 13:return 27;case 14:return 30;case 15:return 29;case 16:return 31;case 17:return 5;case 18:return"INVALID"}},rules:[/^(?:[\r\n]+)/i,/^(?:\s+)/i,/^(?:#[^\r\n]*)/i,/^(?:participant\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:,)/i,/^(?:[^\->:,\r\n"]+)/i,/^(?:"[^"]+")/i,/^(?:--)/i,/^(?:-)/i,/^(?:>>)/i,/^(?:>)/i,/^(?:[^\r\n]+)/i,/^(?:$)/i,/^(?:.)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18],inclusive:!0}}};return lexer}();return parser.lexer=lexer,Parser.prototype=parser,parser.Parser=Parser,new Parser}();"undefined"!=typeof require&&"undefined"!=typeof exports&&(exports.parser=parser,exports.Parser=parser.Parser,exports.parse=function(){return parser.parse.apply(parser,arguments)},exports.main=function(args){args[1]||(console.log("Usage: "+args[0]+" FILE"),process.exit(1));var source=require("fs").readFileSync(require("path").normalize(args[1]),"utf8");return exports.parser.parse(source)},"undefined"!=typeof module&&require.main===module&&exports.main(process.argv.slice(1))),ParseError.prototype=new Error,Diagram.ParseError=ParseError,Diagram.parse=function(input){parser.yy=new Diagram,parser.yy.parseError=function(message,hash){throw new ParseError(message,hash)};var diagram=parser.parse(input);return delete diagram.parseError,diagram};var DIAGRAM_MARGIN=10,ACTOR_MARGIN=10,ACTOR_PADDING=10,SIGNAL_MARGIN=5,SIGNAL_PADDING=5,NOTE_MARGIN=10,NOTE_PADDING=5,NOTE_OVERLAP=15,TITLE_MARGIN=0,TITLE_PADDING=5,SELF_SIGNAL_WIDTH=20,PLACEMENT=Diagram.PLACEMENT,LINETYPE=Diagram.LINETYPE,ARROWTYPE=Diagram.ARROWTYPE,ALIGN_LEFT=0,ALIGN_CENTER=1;AssertException.prototype.toString=function(){return"AssertException: "+this.message},String.prototype.trim||(String.prototype.trim=function(){return this.replace(/^\s+|\s+$/g,"")}),Diagram.themes={};var BaseTheme=function(diagram,options){this.init(diagram,options)};if(_.extend(BaseTheme.prototype,{init:function(diagram,options){this.diagram=diagram,this.actorsHeight_=0,this.signalsHeight_=0,this.title_=void 0},setupPaper:function(container){},draw:function(container){this.setupPaper(container),this.layout();var titleHeight=this.title_?this.title_.height:0,y=DIAGRAM_MARGIN+titleHeight;this.drawTitle(),this.drawActors(y),this.drawSignals(y+this.actorsHeight_)},layout:function(){function actorEnsureDistance(a,b,d){assert(a=actors.length?(a=actors[a],a.paddingRight=Math.max(d,a.paddingRight)):(a=actors[a],a.distances[b]=Math.max(d,a.distances[b]?a.distances[b]:0))}var diagram=this.diagram,font=this.font_,actors=diagram.actors,signals=diagram.signals;if(diagram.width=0,diagram.height=0,diagram.title){var title=this.title_={},bb=this.textBBox(diagram.title,font);title.textBB=bb,title.message=diagram.title,title.width=bb.width+2*(TITLE_PADDING+TITLE_MARGIN),title.height=bb.height+2*(TITLE_PADDING+TITLE_MARGIN),title.x=DIAGRAM_MARGIN,title.y=DIAGRAM_MARGIN,diagram.width+=title.width,diagram.height+=title.height}_.each(actors,function(a){var bb=this.textBBox(a.name,font);a.textBB=bb,a.x=0,a.y=0,a.width=bb.width+2*(ACTOR_PADDING+ACTOR_MARGIN),a.height=bb.height+2*(ACTOR_PADDING+ACTOR_MARGIN),a.distances=[],a.paddingRight=0,this.actorsHeight_=Math.max(a.height,this.actorsHeight_)},this),_.each(signals,function(s){var a,b,bb=this.textBBox(s.message,font);s.textBB=bb,s.width=bb.width,s.height=bb.height;var extraWidth=0;if("Signal"==s.type)s.width+=2*(SIGNAL_MARGIN+SIGNAL_PADDING),s.height+=2*(SIGNAL_MARGIN+SIGNAL_PADDING),s.isSelf()?(a=s.actorA.index,b=a+1,s.width+=SELF_SIGNAL_WIDTH):(a=Math.min(s.actorA.index,s.actorB.index),b=Math.max(s.actorA.index,s.actorB.index));else{if("Note"!=s.type)throw new Error("Unhandled signal type:"+s.type);if(s.width+=2*(NOTE_MARGIN+NOTE_PADDING),s.height+=2*(NOTE_MARGIN+NOTE_PADDING),extraWidth=2*ACTOR_MARGIN,s.placement==PLACEMENT.LEFTOF)b=s.actor.index,a=b-1;else if(s.placement==PLACEMENT.RIGHTOF)a=s.actor.index,b=a+1;else if(s.placement==PLACEMENT.OVER&&s.hasManyActors())a=Math.min(s.actor[0].index,s.actor[1].index),b=Math.max(s.actor[0].index,s.actor[1].index),extraWidth=-(2*NOTE_PADDING+2*NOTE_OVERLAP);else if(s.placement==PLACEMENT.OVER)return a=s.actor.index,actorEnsureDistance(a-1,a,s.width/2),actorEnsureDistance(a,a+1,s.width/2),void(this.signalsHeight_+=s.height)}actorEnsureDistance(a,b,s.width+extraWidth),this.signalsHeight_+=s.height},this);var actorsX=0;return _.each(actors,function(a){a.x=Math.max(actorsX,a.x),_.each(a.distances,function(distance,b){"undefined"!=typeof distance&&(b=actors[b],distance=Math.max(distance,a.width/2,b.width/2),b.x=Math.max(b.x,a.x+a.width/2+distance-b.width/2))}),actorsX=a.x+a.width+a.paddingRight},this),diagram.width=Math.max(actorsX,diagram.width),diagram.width+=2*DIAGRAM_MARGIN,diagram.height+=2*DIAGRAM_MARGIN+2*this.actorsHeight_+this.signalsHeight_,this},textBBox:function(text,font){},drawTitle:function(){var title=this.title_;title&&this.drawTextBox(title,title.message,TITLE_MARGIN,TITLE_PADDING,this.font_,ALIGN_LEFT)},drawActors:function(offsetY){var y=offsetY;_.each(this.diagram.actors,function(a){this.drawActor(a,y,this.actorsHeight_),this.drawActor(a,y+this.actorsHeight_+this.signalsHeight_,this.actorsHeight_);var aX=getCenterX(a);this.drawLine(aX,y+this.actorsHeight_-ACTOR_MARGIN,aX,y+this.actorsHeight_+ACTOR_MARGIN+this.signalsHeight_)},this)},drawActor:function(actor,offsetY,height){actor.y=offsetY,actor.height=height,this.drawTextBox(actor,actor.name,ACTOR_MARGIN,ACTOR_PADDING,this.font_,ALIGN_CENTER)},drawSignals:function(offsetY){var y=offsetY;_.each(this.diagram.signals,function(s){"Signal"==s.type?s.isSelf()?this.drawSelfSignal(s,y):this.drawSignal(s,y):"Note"==s.type&&this.drawNote(s,y),y+=s.height},this)},drawSelfSignal:function(signal,offsetY){assert(signal.isSelf(),"signal must be a self signal");var textBB=signal.textBB,aX=getCenterX(signal.actorA),x=aX+SELF_SIGNAL_WIDTH+SIGNAL_PADDING,y=offsetY+SIGNAL_PADDING+signal.height/2+textBB.y;this.drawText(x,y,signal.message,this.font_,ALIGN_LEFT);var y1=offsetY+SIGNAL_MARGIN+SIGNAL_PADDING,y2=y1+signal.height-2*SIGNAL_MARGIN-SIGNAL_PADDING;this.drawLine(aX,y1,aX+SELF_SIGNAL_WIDTH,y1,signal.linetype),this.drawLine(aX+SELF_SIGNAL_WIDTH,y1,aX+SELF_SIGNAL_WIDTH,y2,signal.linetype),this.drawLine(aX+SELF_SIGNAL_WIDTH,y2,aX,y2,signal.linetype,signal.arrowtype)},drawSignal:function(signal,offsetY){var aX=getCenterX(signal.actorA),bX=getCenterX(signal.actorB),x=(bX-aX)/2+aX,y=offsetY+SIGNAL_MARGIN+2*SIGNAL_PADDING;this.drawText(x,y,signal.message,this.font_,ALIGN_CENTER),y=offsetY+signal.height-SIGNAL_MARGIN-SIGNAL_PADDING,this.drawLine(aX,y,bX,y,signal.linetype,signal.arrowtype)},drawNote:function(note,offsetY){note.y=offsetY;var actorA=note.hasManyActors()?note.actor[0]:note.actor,aX=getCenterX(actorA);switch(note.placement){case PLACEMENT.RIGHTOF:note.x=aX+ACTOR_MARGIN;break;case PLACEMENT.LEFTOF:note.x=aX-ACTOR_MARGIN-note.width;break;case PLACEMENT.OVER:if(note.hasManyActors()){var bX=getCenterX(note.actor[1]),overlap=NOTE_OVERLAP+NOTE_PADDING;note.x=Math.min(aX,bX)-overlap,note.width=Math.max(aX,bX)+overlap-note.x}else note.x=aX-note.width/2;break;default:throw new Error("Unhandled note placement: "+note.placement)}return this.drawTextBox(note,note.message,NOTE_MARGIN,NOTE_PADDING,this.font_,ALIGN_LEFT)},drawTextBox:function(box,text,margin,padding,font,align){var x=box.x+margin,y=box.y+margin,w=box.width-2*margin,h=box.height-2*margin;return this.drawRect(x,y,w,h),align==ALIGN_CENTER?(x=getCenterX(box),y=getCenterY(box)):(x+=padding,y+=padding),this.drawText(x,y,text,font,align)}}),"undefined"!=typeof Snap){var xmlns="http://www.w3.org/2000/svg",LINE={stroke:"#000000","stroke-width":2,fill:"none"},RECT={stroke:"#000000","stroke-width":2,fill:"#fff"},LOADED_FONTS={},SnapTheme=function(diagram,options,resume){_.defaults(options,{"css-class":"simple","font-size":16,"font-family":"Andale Mono, monospace"}),this.init(diagram,options,resume)};_.extend(SnapTheme.prototype,BaseTheme.prototype,{init:function(diagram,options,resume){BaseTheme.prototype.init.call(this,diagram),this.paper_=void 0,this.cssClass_=options["css-class"]||void 0,this.font_={"font-size":options["font-size"],"font-family":options["font-family"]};var a=this.arrowTypes_={};a[ARROWTYPE.FILLED]="Block",a[ARROWTYPE.OPEN]="Open";var l=this.lineTypes_={};l[LINETYPE.SOLID]="",l[LINETYPE.DOTTED]="6,2";var that=this;this.waitForFont(function(){resume(that)})},waitForFont:function(callback){var fontFamily=this.font_["font-family"];if("undefined"==typeof WebFont)throw new Error("WebFont is required (https://github.com/typekit/webfontloader).");return LOADED_FONTS[fontFamily]?void callback():void WebFont.load({custom:{families:[fontFamily]},classes:!1,active:function(){LOADED_FONTS[fontFamily]=!0,callback()},inactive:function(){LOADED_FONTS[fontFamily]=!0,callback()}})},addDescription:function(svg,description){var desc=document.createElementNS(xmlns,"desc");desc.appendChild(document.createTextNode(description)),svg.appendChild(desc)},setupPaper:function(container){var svg=document.createElementNS(xmlns,"svg");container.appendChild(svg),this.addDescription(svg,this.diagram.title||""),this.paper_=Snap(svg),this.paper_.addClass("sequence"),this.cssClass_&&this.paper_.addClass(this.cssClass_),this.beginGroup();var a=this.arrowMarkers_={},arrow=this.paper_.path("M 0 0 L 5 2.5 L 0 5 z");a[ARROWTYPE.FILLED]=arrow.marker(0,0,5,5,5,2.5).attr({id:"markerArrowBlock"}),arrow=this.paper_.path("M 9.6,8 1.92,16 0,13.7 5.76,8 0,2.286 1.92,0 9.6,8 z"),a[ARROWTYPE.OPEN]=arrow.marker(0,0,9.6,16,9.6,8).attr({markerWidth:"4",id:"markerArrowOpen"})},layout:function(){BaseTheme.prototype.layout.call(this),this.paper_.attr({width:this.diagram.width+"px",height:this.diagram.height+"px"})},textBBox:function(text,font){var t=this.createText(text,font),bb=t.getBBox();return t.remove(),bb},pushToStack:function(element){return this._stack.push(element),element},beginGroup:function(){this._stack=[]},finishGroup:function(){var g=this.paper_.group.apply(this.paper_,this._stack);return this.beginGroup(),g},createText:function(text,font){text=_.invoke(text.split("\n"),"trim");var t=this.paper_.text(0,0,text);return t.attr(font||{}),text.length>1&&t.selectAll("tspan:nth-child(n+2)").attr({dy:"1.2em",x:0}),t},drawLine:function(x1,y1,x2,y2,linetype,arrowhead){var line=this.paper_.line(x1,y1,x2,y2).attr(LINE);return void 0!==linetype&&line.attr("strokeDasharray",this.lineTypes_[linetype]),void 0!==arrowhead&&line.attr("markerEnd",this.arrowMarkers_[arrowhead]),this.pushToStack(line)},drawRect:function(x,y,w,h){var rect=this.paper_.rect(x,y,w,h).attr(RECT);return this.pushToStack(rect)},drawText:function(x,y,text,font,align){var t=this.createText(text,font),bb=t.getBBox();return align==ALIGN_CENTER&&(x-=bb.width/2,y-=bb.height/2),t.attr({x:x-bb.x,y:y-bb.y}),t.selectAll("tspan").attr({x:x}),this.pushToStack(t),t},drawTitle:function(){return this.beginGroup(),BaseTheme.prototype.drawTitle.call(this),this.finishGroup().addClass("title")},drawActor:function(actor,offsetY,height){return this.beginGroup(),BaseTheme.prototype.drawActor.call(this,actor,offsetY,height),this.finishGroup().addClass("actor")},drawSignal:function(signal,offsetY){return this.beginGroup(),BaseTheme.prototype.drawSignal.call(this,signal,offsetY),this.finishGroup().addClass("signal")},drawSelfSignal:function(signal,offsetY){return this.beginGroup(),BaseTheme.prototype.drawSelfSignal.call(this,signal,offsetY),this.finishGroup().addClass("signal")},drawNote:function(note,offsetY){return this.beginGroup(),BaseTheme.prototype.drawNote.call(this,note,offsetY),this.finishGroup().addClass("note")}});var SnapHandTheme=function(diagram,options,resume){_.defaults(options,{"css-class":"hand","font-size":16,"font-family":"danielbd"}),this.init(diagram,options,resume)};_.extend(SnapHandTheme.prototype,SnapTheme.prototype,{drawLine:function(x1,y1,x2,y2,linetype,arrowhead){var line=this.paper_.path(handLine(x1,y1,x2,y2)).attr(LINE);return void 0!==linetype&&line.attr("strokeDasharray",this.lineTypes_[linetype]),void 0!==arrowhead&&line.attr("markerEnd",this.arrowMarkers_[arrowhead]),this.pushToStack(line)},drawRect:function(x,y,w,h){var rect=this.paper_.path(handRect(x,y,w,h)).attr(RECT);return this.pushToStack(rect)}}),registerTheme("snapSimple",SnapTheme),registerTheme("snapHand",SnapHandTheme)}if("undefined"!=typeof Raphael){var LINE={stroke:"#000000","stroke-width":2,fill:"none"},RECT={stroke:"#000000","stroke-width":2,fill:"#fff"};Raphael.fn.line=function(x1,y1,x2,y2){return assert(_.all([x1,x2,y1,y2],_.isFinite),"x1,x2,y1,y2 must be numeric"),this.path("M{0},{1} L{2},{3}",x1,y1,x2,y2)};var RaphaelTheme=function(diagram,options,resume){this.init(diagram,_.defaults(options,{"font-size":16,"font-family":"Andale Mono, monospace"}),resume)};_.extend(RaphaelTheme.prototype,BaseTheme.prototype,{init:function(diagram,options,resume){BaseTheme.prototype.init.call(this,diagram),this.paper_=void 0,this.font_={"font-size":options["font-size"],"font-family":options["font-family"]};var a=this.arrowTypes_={};a[ARROWTYPE.FILLED]="block",a[ARROWTYPE.OPEN]="open";var l=this.lineTypes_={};l[LINETYPE.SOLID]="",l[LINETYPE.DOTTED]="-",resume(this)},setupPaper:function(container){this.paper_=new Raphael(container,320,200),this.paper_.setStart()},draw:function(container){BaseTheme.prototype.draw.call(this,container),this.paper_.setFinish()},layout:function(){BaseTheme.prototype.layout.call(this),this.paper_.setSize(this.diagram.width,this.diagram.height)},cleanText:function(text){return text=_.invoke(text.split("\n"),"trim"),text.join("\n")},textBBox:function(text,font){text=this.cleanText(text),font=font||{};var p;font.obj_?p=this.paper_.print(0,0,text,font.obj_,font["font-size"]):(p=this.paper_.text(0,0,text),p.attr(font));var bb=p.getBBox();return p.remove(),bb},drawLine:function(x1,y1,x2,y2,linetype,arrowhead){var line=this.paper_.line(x1,y1,x2,y2).attr(LINE);return void 0!==arrowhead&&line.attr("arrow-end",this.arrowTypes_[arrowhead]+"-wide-long"),void 0!==arrowhead&&line.attr("stroke-dasharray",this.lineTypes_[linetype]),line},drawRect:function(x,y,w,h){return this.paper_.rect(x,y,w,h).attr(RECT)},drawText:function(x,y,text,font,align){text=this.cleanText(text),font=font||{},align=align||ALIGN_LEFT;var paper=this.paper_,bb=this.textBBox(text,font);align==ALIGN_CENTER&&(x-=bb.width/2,y-=bb.height/2);var t;return font.obj_?t=paper.print(x-bb.x,y-bb.y,text,font.obj_,font["font-size"]):(t=paper.text(x-bb.x-bb.width/2,y-bb.y,text),t.attr(font),t.attr({"text-anchor":"start"})),t}});var RaphaelHandTheme=function(diagram,options,resume){this.init(diagram,_.defaults(options,{"font-size":16,"font-family":"daniel"}),resume)};_.extend(RaphaelHandTheme.prototype,RaphaelTheme.prototype,{setupPaper:function(container){RaphaelTheme.prototype.setupPaper.call(this,container),this.font_.obj_=this.paper_.getFont("daniel")},drawLine:function(x1,y1,x2,y2,linetype,arrowhead){var line=this.paper_.path(handLine(x1,y1,x2,y2)).attr(LINE);return void 0!==arrowhead&&line.attr("arrow-end",this.arrowTypes_[arrowhead]+"-wide-long"),void 0!==arrowhead&&line.attr("stroke-dasharray",this.lineTypes_[linetype]),line},drawRect:function(x,y,w,h){return this.paper_.path(handRect(x,y,w,h)).attr(RECT)}}),registerTheme("raphaelSimple",RaphaelTheme),registerTheme("raphaelHand",RaphaelHandTheme)}if("undefined"!=typeof Raphael&&Raphael.registerFont({w:209,face:{"font-family":"Daniel","font-weight":700,"font-stretch":"normal","units-per-em":"360","panose-1":"2 11 8 0 0 0 0 0 0 0",ascent:"288",descent:"-72","x-height":"7",bbox:"-92.0373 -310.134 519 184.967","underline-thickness":"3.51562","underline-position":"-25.1367","unicode-range":"U+0009-U+F002"},glyphs:{" ":{w:179},"\t":{w:179},"\r":{w:179},"!":{d:"66,-306v9,3,18,11,19,24v-18,73,-20,111,-37,194v0,10,2,34,-12,34v-12,0,-18,-9,-18,-28v0,-85,23,-136,38,-214v1,-7,4,-10,10,-10xm25,-30v15,-1,28,34,5,35v-11,-1,-38,-36,-5,-35",w:115},'"':{d:"91,-214v-32,3,-25,-40,-20,-68v3,-16,7,-25,12,-27v35,13,14,56,8,95xm8,-231v4,-31,1,-40,18,-75v37,7,11,51,11,79v-3,3,-4,8,-5,13v-17,4,-16,-10,-24,-17",w:117},"#":{d:"271,-64v-30,26,-96,-7,-102,51v-6,2,-13,2,-24,-2v-2,-11,10,-21,2,-28v-14,5,-48,0,-48,22v0,23,-11,14,-29,10v-7,-6,6,-19,-1,-24r-32,4v-19,-8,-15,-24,5,-28r33,-6v4,0,24,-23,11,-27v-26,0,-63,14,-74,-10v3,-1,9,-17,16,-10v15,-8,81,4,89,-30v8,-14,16,-34,24,-38v23,9,24,38,5,49v37,24,55,-38,72,-43v19,10,20,23,-1,45v2,8,23,1,29,4v3,3,6,6,10,11v-14,13,-20,12,-45,12v-17,0,-16,17,-19,29v18,-7,49,3,67,-2v4,0,8,4,12,11xm161,-104v-30,-1,-44,10,-44,37v14,1,24,0,40,-5v0,-1,3,-10,8,-26v0,-4,-1,-6,-4,-6",w:285},$:{d:"164,-257v29,4,1,42,-3,50v5,5,38,13,41,24v8,4,6,15,-2,21v-18,3,-36,-17,-49,-17v-17,1,-31,40,-28,48v5,4,8,8,9,10v13,1,35,37,28,44v-10,21,-36,20,-65,28v-10,10,-12,40,-17,51v-9,-3,-28,1,-18,-17v0,-13,5,-24,-1,-35v-18,1,-59,-10,-42,-29v21,0,56,16,55,-16v5,-4,9,-18,9,-26v-14,-15,-55,-41,-53,-65v2,-33,56,-19,98,-26v10,-14,31,-43,38,-45xm93,-152v11,-10,15,-15,14,-29v-17,-3,-37,1,-43,6v10,12,20,19,29,23xm111,-103v-8,1,-11,12,-10,22v10,0,28,2,27,-8v0,-4,-13,-15,-17,-14",w:225},"%":{d:"181,-96v24,-7,67,-13,104,1v14,18,21,19,22,44v-13,43,-99,61,-146,36v-9,-9,-22,-11,-32,-29v0,-27,24,-53,52,-52xm139,-185v-9,68,-138,73,-131,-5v0,-3,3,-9,9,-17v13,1,27,1,17,-16v5,-39,63,0,93,-6v36,1,80,-9,102,11v15,32,12,32,-8,56v-16,21,-103,78,-152,125r-14,28v-23,11,-25,-7,-29,-20v34,-71,133,-98,171,-162v-13,-12,-52,-5,-61,1v0,1,1,3,3,5xm38,-190v0,34,55,29,70,8v0,-14,-20,-11,-32,-14v-14,-3,-24,-9,-40,-10v1,0,5,11,2,16xm172,-53v12,27,90,18,102,-5v-18,-7,-32,-10,-40,-10v-29,3,-57,-4,-62,15", w:308},"&":{d:"145,-82v17,-8,47,-15,71,-26v13,2,25,12,9,23v-23,7,-40,16,-53,27r0,6v13,8,30,21,36,38v0,8,-4,12,-11,12v-19,0,-43,-39,-59,-44v-30,12,-65,29,-97,32v-32,3,-45,-41,-23,-63v21,-20,52,-26,70,-48v-4,-31,-12,-47,9,-73v13,-16,20,-29,23,-39v15,-15,32,-22,51,-22v30,9,62,64,32,96v-2,3,-47,42,-69,48v-15,8,-11,9,0,22v6,7,10,11,11,11xm114,-138v25,-13,62,-38,74,-62v0,-9,-10,-31,-20,-29v-28,7,-60,42,-60,75v0,10,2,15,6,16xm99,-91v-18,10,-54,18,-59,45v26,5,61,-12,77,-22v-1,-5,-13,-23,-18,-23",w:253},"'":{d:"36,-182v-36,7,-34,-61,-17,-80v15,1,21,19,21,20r-1,-1v0,0,-1,12,-5,35v1,5,3,17,2,26",w:63},"(":{d:"130,-306v13,2,23,43,-1,43v-49,43,-77,77,-90,148v5,49,27,67,64,101v4,14,5,6,2,19r-15,0v-35,-17,-79,-58,-79,-120v0,-58,66,-176,119,-191",w:120},")":{d:"108,-138v-2,73,-48,120,-98,153v-17,-5,-16,-20,-6,-31v52,-64,73,-62,74,-135v1,-42,-40,-98,-58,-128v0,-5,-1,-12,-2,-22v18,-18,25,0,42,27v25,39,50,66,48,136",w:120},"*":{d:"121,-271v15,-5,36,-8,40,9v-5,10,-31,19,-47,31v0,11,34,43,14,53v-18,8,-24,-24,-34,-20v-4,10,-4,19,-12,41v-25,7,-15,-30,-17,-47v-13,-1,-17,9,-46,30r-10,0v-20,-32,37,-43,54,-64v-10,-11,-36,-33,-16,-51v3,0,14,8,33,24v8,-10,26,-39,32,-42v14,7,15,23,9,36",w:177},"+":{d:"163,-64v-7,22,-65,2,-77,21v-2,10,-6,21,-11,35v-20,4,-21,-12,-19,-29v3,-23,-44,6,-39,-27v-8,-22,36,-8,49,-18v8,-13,6,-36,24,-40v19,-4,14,32,11,39v18,3,19,2,54,8v2,1,5,5,8,11",w:170},",":{d:"25,63v-26,21,-48,-2,-22,-24v14,-12,35,-40,35,-69v3,-2,3,-11,12,-9v35,17,5,88,-25,102",w:97},"-":{d:"57,-94v19,4,55,-5,54,17v-15,23,-54,20,-91,15v-4,2,-13,-10,-11,-16v-1,-22,28,-15,48,-16",w:124},".":{d:"40,-48v21,20,21,44,-4,44v-33,0,-26,-24,-10,-44r14,0",w:67},"/":{d:"21,20v-22,-45,21,-95,41,-126v38,-57,115,-158,193,-201v2,0,4,3,7,11v11,29,-15,34,-25,55v-81,56,-189,208,-197,261r-19,0",w:275},0:{d:"78,-237v70,-47,269,-41,270,59v0,34,-11,53,-29,76v-13,35,-30,32,-85,64v-6,2,-10,6,-7,8v-73,14,-98,38,-173,1v-7,-13,-52,-48,-46,-88v9,-57,27,-75,70,-120xm123,-38v100,0,202,-46,195,-153v-32,-55,-144,-73,-211,-35v-16,34,-68,54,-53,108v6,25,1,22,-3,39v6,24,41,41,72,41",w:353},1:{d:"39,-208v0,-14,6,-59,29,-39v3,4,6,13,10,24r-22,128r8,87v-4,6,-9,3,-16,2v-44,-38,-9,-137,-9,-202",w:93},2:{d:"88,-35v47,-10,119,-24,168,-9v0,12,-23,13,-35,16v1,1,3,1,5,1v-74,8,-118,23,-194,23v-14,0,-20,-13,-21,-28v55,-40,83,-61,123,-104v26,-13,65,-67,71,-102v-1,-9,-11,-16,-22,-16v-20,-1,-120,29,-156,49v-10,-2,-30,-20,-10,-28v50,-21,111,-51,178,-48v25,10,44,22,36,39v12,30,-19,64,-34,83v-39,48,-37,39,-115,109v0,5,-3,8,-8,11v4,3,8,4,14,4",w:265},3:{d:"188,-282v34,-10,74,25,47,51v-19,32,-55,50,-92,70v28,14,116,25,108,70v8,14,-49,40,-63,48v-29,9,-130,22,-168,42v-6,-5,-19,-7,-12,-22v56,-36,175,-21,210,-76v-9,-20,-88,-42,-97,-33v-20,-1,-41,2,-56,-7r5,-21v56,-25,103,-36,137,-78v1,-1,2,-5,4,-11v-15,-14,-56,7,-79,0v-10,9,-73,22,-92,31v-11,-4,-28,-23,-13,-30v50,-22,96,-26,154,-37v0,-1,8,3,7,3",w:260},4:{d:"79,-249v-7,17,-29,75,-33,96v0,6,3,8,8,8v43,-2,111,6,141,-6v17,-47,20,-100,63,-148v9,4,16,7,21,10v-17,31,-44,95,-51,141v7,4,24,-4,23,10v-1,16,-29,12,-31,23v-10,22,-9,69,-7,103v-3,2,-7,5,-10,9v-47,-11,-23,-74,-16,-114v0,-4,-2,-6,-7,-6v-65,2,-89,13,-162,4v-22,-22,-2,-53,5,-76v16,-15,17,-57,35,-70v6,-1,21,11,21,16",w:267},5:{d:"185,-272v30,7,45,-8,53,18v1,16,-17,18,-34,14v0,0,-95,-11,-129,1v-6,9,-24,33,-29,54v76,10,171,5,214,47v11,11,22,30,5,52v-14,12,-30,14,-34,27v-26,11,-141,63,-157,60v-16,-2,-25,-19,-4,-27v48,-18,128,-39,170,-86v4,-14,-65,-41,-85,-41r-92,0v-10,-4,-66,-1,-57,-23v0,-23,23,-51,35,-83v11,-28,133,-10,144,-13",w:284},6:{d:"70,-64v9,-51,63,-74,123,-71v43,2,109,3,111,41r-25,47v0,1,1,2,2,3v-5,0,-39,10,-41,20v-15,3,-22,4,-22,11v-39,1,-77,20,-119,13v-42,-7,-35,-9,-77,-46v-56,-118,94,-201,176,-229v7,0,21,8,20,15v-2,17,-23,15,-43,24v-69,31,-119,72,-134,145v-5,25,36,68,78,64v59,-6,128,-18,153,-61v-7,-14,-13,-9,-32,-21v-67,-15,-118,-5,-150,43r0,12v-13,4,-17,-3,-20,-10",w:310},7:{d:"37,-228v33,-14,173,-17,181,-19v28,-1,24,31,9,45v-17,15,-45,49,-59,69v-17,26,-55,67,-61,113v-10,13,-9,14,-14,20v-33,-13,-20,-25,-11,-53v16,-48,73,-115,109,-156v2,-7,5,-14,-10,-12v-26,4,-54,6,-76,13v-23,-5,-83,31,-94,-9v2,-8,18,-19,26,-11",w:245},8:{d:"57,-236v40,-50,166,-51,213,-10v22,28,10,63,-22,78r-35,17v8,5,54,24,53,44v-5,14,-4,33,-18,42v-13,13,-35,18,-44,34v-60,27,-190,49,-194,-42v7,-41,17,-54,59,-70r0,-4v-32,-9,-73,-62,-26,-85v4,0,8,-2,14,-4xm142,-160v24,-2,160,-31,99,-72v-28,-18,-108,-33,-146,-5v-16,12,-28,30,-33,59v24,12,37,20,80,18xm41,-62v30,65,189,6,199,-37v3,-14,-60,-30,-74,-30v-70,0,-118,10,-125,67",w:290},9:{d:"11,-192v15,-49,119,-61,161,-23v16,15,27,55,11,79v-20,62,-51,79,-96,118v-10,4,-45,27,-50,6v9,-15,66,-52,98,-99v-7,-7,-8,-3,-25,0v-49,-11,-96,-25,-99,-81xm145,-131v7,-5,13,-34,13,-41v-2,-51,-104,-38,-114,-6v-2,10,37,35,46,35v23,1,43,-1,55,12",w:198},":":{d:"39,-125v15,-8,40,-1,40,15v0,15,-6,22,-19,22v-13,0,-29,-21,-21,-37xm66,-17v-8,27,-51,19,-46,-8v-1,-6,8,-22,14,-20v29,0,30,6,32,28",w:95},";":{d:"56,-93v2,-30,37,-22,40,2v0,2,-1,7,-3,15v-13,8,-15,6,-27,4xm64,-44v11,-11,30,-4,32,14v-21,39,-63,71,-92,85v-5,0,-11,-2,-18,-8v11,-23,36,-36,50,-61v11,-7,19,-20,28,-30",w:107},"<":{d:"166,-202v12,0,29,15,24,29v0,4,-119,64,-120,73v15,21,89,64,91,86v2,29,-18,12,-30,15v-27,-29,-59,-54,-95,-75v-18,-10,-25,-13,-24,-41",w:176},"=":{d:"125,-121v18,7,55,-9,69,14v0,17,-45,26,-135,26v-18,0,-27,-7,-27,-21v-1,-37,60,-5,93,-19xm138,-71v20,0,48,-1,50,16v-13,24,-86,32,-131,29v-29,-2,-43,-10,-43,-24v-7,-23,36,-14,39,-17v27,6,57,-4,85,-4",w:196},">":{d:"4,-14v20,-48,77,-59,118,-94v-16,-19,-58,-52,-81,-75v-11,-7,-15,-38,-1,-40v33,16,83,71,121,105v26,23,-6,35,-41,53v-29,16,-56,28,-73,54v-21,15,-16,20,-34,15v-3,0,-9,-16,-9,-18",w:174},"?":{d:"105,-291v57,-13,107,-4,107,39v0,67,-136,85,-155,137v-1,6,10,23,-4,23v-23,1,-33,-35,-23,-57v31,-41,124,-60,149,-103v-8,-21,-72,-5,-88,-1v-23,6,-59,39,-71,8v0,0,-1,0,1,-17v10,-4,45,-20,84,-29xm80,-25v-6,4,-8,39,-24,22v-24,3,-22,-21,-13,-35v17,-7,29,5,37,13",w:216},"@":{d:"218,-207v23,8,42,14,47,37v44,68,-27,137,-87,85r1,0v0,2,-59,19,-61,17v-35,0,-42,-47,-17,-68r0,-4v-19,-1,-45,37,-49,40v-37,76,58,72,121,62v11,-2,34,-13,36,3v-14,31,-69,31,-114,33v-51,2,-99,-41,-80,-92v2,-30,22,-40,42,-63v35,-20,91,-53,161,-50xm217,-101v23,0,35,-19,35,-41v0,-43,-75,-41,-102,-19v36,3,55,16,62,41v-6,5,-6,19,5,19xm127,-110v8,5,51,-15,28,-16v-4,0,-25,4,-28,16",w:291},A:{d:"97,-81v-23,-10,-39,38,-52,60v-8,6,-8,6,-22,18v-22,-7,-23,-37,-4,-49v7,-8,11,-15,15,-23r-1,1v-14,-26,23,-29,31,-40v1,-1,15,-29,26,-36v17,-31,39,-58,54,-92v16,-20,20,-51,41,-66v29,5,34,62,45,92v9,64,21,103,49,155v-3,25,-44,11,-54,0v-34,-12,-97,-29,-128,-20xm107,-118v20,6,80,10,111,17v6,-7,-4,-15,-7,-24v-11,-28,-9,-92,-30,-117v-9,9,-19,44,-34,55v-9,23,-27,40,-40,69",w:294},B:{d:"256,-179v41,10,115,34,91,91v-6,3,-14,12,-19,20v-37,19,-50,34,-63,25v-9,10,-12,11,-34,13r3,-3v-4,-4,-12,-4,-18,0v0,0,2,2,5,4v-21,14,-26,6,-44,15v-4,0,-7,-2,-8,-5v-6,11,-20,-5,-18,11v-36,4,-91,35,-114,4v-7,-62,-10,-138,4,-199v-1,-19,-37,2,-37,-27v0,-8,2,-13,6,-15v68,-31,231,-92,311,-39v8,12,12,20,12,25v-8,42,-32,49,-77,80xm79,-160v72,-17,135,-39,184,-70v20,-13,31,-23,31,-27v1,-6,-30,-13,-38,-12v-54,0,-116,13,-186,41v11,21,1,48,9,68xm262,-43v0,-4,3,-6,-4,-5v0,1,1,2,4,5xm211,-140v-34,7,-94,24,-139,15v-6,20,-4,56,-4,82v0,29,43,1,56,2v48,-11,108,-25,154,-48v20,-10,32,-17,32,-25v0,-18,-33,-26,-99,-26xm195,-20v6,1,6,-2,5,-7v-3,2,-7,2,-5,7",w:364},C:{d:"51,-114v-12,75,96,76,166,71r145,-10v9,2,9,5,9,18v-37,18,-85,28,-109,22v-18,10,-47,10,-71,10v-29,0,-68,1,-105,-11v-6,-1,-10,-3,-10,-8v-33,-13,-48,-33,-66,-59v-19,-114,146,-150,224,-177v35,0,88,-31,99,7v-1,29,-49,14,-76,28v-55,8,-115,35,-175,71v-13,8,-23,21,-31,38",w:376},D:{d:"312,-78v-2,1,-3,7,-10,5v6,-3,10,-4,10,-5xm4,-252v2,-27,83,-38,106,-39v130,-7,267,1,291,109v0,0,-2,8,-3,25v-5,9,-4,28,-23,34v-4,4,-2,5,-7,0v-3,3,-15,7,-5,10v0,0,-10,14,-13,2v-11,1,-8,5,-20,14v1,2,7,3,9,1v-4,13,-22,13,-11,4v0,-3,1,-6,-3,-5v-40,29,-103,38,-141,65v10,6,22,-7,34,-3v-41,20,-127,44,-171,46v-21,1,-47,-33,-11,-39v15,-2,43,-6,56,-11v-16,-101,-5,-130,9,-207v2,0,4,-1,6,-3v-16,-17,-91,38,-103,-3xm297,-69v-7,3,-17,8,-25,7v1,1,3,2,5,2v-4,2,-11,5,-23,9v4,-11,30,-21,43,-18xm240,-51v10,0,12,2,0,6r0,-6xm220,-36v-1,-3,4,-6,6,-3v0,1,-2,1,-6,3xm125,-48v16,6,137,-46,155,-53v29,-18,101,-44,82,-93v-21,-53,-84,-61,-168,-67v-20,7,-50,3,-77,8v33,54,-12,132,8,205xm159,-22v-4,-1,-15,-5,-15,2v7,-1,12,-2,15,-2",w:381},E:{d:"45,-219v-19,-36,34,-41,63,-36v44,-10,133,-8,194,-15v3,2,38,11,52,15v-73,19,-171,21,-246,38v-9,11,-16,32,-20,61v35,11,133,-6,183,3v1,6,2,7,3,14v-46,24,-118,16,-193,27v-15,13,-22,52,-22,66v60,1,121,-20,188,-20v22,10,53,-7,74,5v16,29,-23,26,-43,32v-73,4,-139,13,-216,27r-52,-10v-4,-22,23,-69,26,-98v-3,0,-10,-15,-12,-24v20,-12,34,-23,35,-67v2,-1,5,-5,5,-7v0,-4,-14,-11,-19,-11",w:353},F:{d:"270,-258v13,2,59,6,48,34v-78,-3,-143,1,-212,22v-10,16,-21,43,-24,69r145,-9v8,3,29,-3,16,21v-14,-1,-59,13,-60,7v-12,13,-67,18,-108,21v-2,1,-4,3,-7,6v-2,23,-8,43,-7,69v1,28,-30,11,-40,5r10,-80r-26,-14v5,-10,10,-33,28,-25v21,-3,15,-46,26,-59v-1,-3,-32,-13,-28,-24v2,-22,45,-16,59,-30v47,4,99,-14,151,-9v5,-3,25,-3,29,-4",w:236},G:{d:"311,-168v53,0,94,57,74,110v-31,37,-71,34,-136,52v-13,-7,-41,10,-57,7v-73,-1,-122,-17,-162,-59v-49,-51,-24,-80,5,-130v35,-61,138,-93,214,-106v16,4,42,-1,40,21v-5,40,-39,2,-73,21v-76,19,-162,65,-177,142v28,103,237,76,312,29v2,-3,3,-7,3,-13v-10,-35,-37,-43,-87,-45v-16,-13,-53,-9,-78,1v-4,-3,-5,-7,-5,-11v17,-29,73,-17,108,-24v12,4,18,5,19,5",w:391},H:{d:"300,-268v18,12,19,32,4,51v-35,44,-34,140,-46,217v-1,5,-5,13,-11,12v-6,1,-19,-14,-18,-27r7,-106v-28,7,-76,22,-116,14v-18,2,-36,6,-55,3v-43,-8,-14,53,-33,75v-29,1,-26,-67,-21,-97v5,-31,28,-73,43,-98v2,2,7,3,14,3v13,33,-11,48,-13,78v61,4,118,2,176,2v8,0,13,-6,15,-20v4,-47,21,-87,54,-107",w:288},I:{d:"63,-266v34,10,-4,105,-8,128r-24,126v-2,2,-3,1,-9,6v-12,-10,-12,-15,-12,-47v0,-93,9,-156,28,-188v10,-17,19,-25,25,-25",w:79},J:{d:"235,-291v26,11,31,104,31,142v0,37,-2,95,-32,126v-33,34,-121,26,-167,1v-18,-11,-54,-29,-59,-59v0,-3,5,-15,16,-14v31,36,90,57,162,51v63,-30,56,-148,32,-226v-1,-16,11,-13,17,-21",w:282},K:{d:"212,-219v17,-5,80,-60,80,-19v0,9,-2,14,-5,16r-132,78v-34,23,-54,32,-21,50v39,21,74,23,124,41v5,2,7,5,7,9v-4,24,-55,15,-79,8v-67,-19,-98,-36,-116,-83v9,-24,38,-35,66,-61v7,-4,49,-30,76,-39xm47,-194v11,-20,11,-45,31,-55v2,2,4,3,6,0v29,39,-21,96,-18,128v-17,24,-15,62,-29,113v-4,3,-10,7,-19,11v-12,-13,-10,-28,-8,-53v3,-31,17,-79,37,-144",w:270},L:{d:"84,-43v58,0,179,-27,242,-4v3,17,-29,24,-40,26v-85,-4,-202,46,-268,3v-24,-16,-2,-33,-4,-57v26,-76,38,-108,86,-191v14,-7,26,-50,45,-32v6,22,5,31,-12,46v-20,39,-50,82,-67,142v-7,6,-19,46,-19,54v0,9,12,13,37,13",w:331},M:{d:"174,-236v-1,52,-11,92,-7,143v10,5,15,-12,22,-18v42,-55,90,-130,136,-174r15,-18v42,2,32,53,11,80v-12,58,-54,143,-34,210v0,3,-3,12,-9,10v-31,-5,-32,-57,-27,-92v4,-27,12,-58,25,-93v-5,-10,5,-19,6,-30v-46,44,-66,110,-129,172v-11,10,-18,15,-22,15v-34,6,-28,-103,-28,-152v-28,22,-65,119,-96,170v-9,15,-34,3,-31,-19v30,-64,91,-177,139,-229v12,-1,29,13,29,25",w:343},N:{d:"248,-20v-3,17,-37,18,-43,3v-24,-35,-53,-145,-80,-203v-32,40,-55,120,-92,174v-13,3,-26,-13,-27,-22r87,-171v4,-13,20,-57,42,-32v42,48,46,139,82,198v29,-45,46,-88,65,-153v12,-19,23,-42,38,-60v27,-1,14,18,4,44v-6,46,-32,68,-37,121v-15,29,-33,69,-39,101",w:307},O:{d:"240,-268v85,1,163,29,150,125v13,7,-12,18,-5,26v-23,63,-133,112,-228,124v-80,-16,-171,-56,-148,-153v11,-47,20,-43,53,-83v17,-9,39,-22,73,-29v45,-10,81,-10,105,-10xm363,-156v16,-51,-62,-85,-111,-79v-25,-11,-50,8,-81,0v-15,10,-70,16,-85,31v6,20,-27,24,-39,45v-42,75,40,128,115,128v56,0,209,-71,201,-125",w:383},P:{d:"70,-225v-7,-12,-36,16,-49,19v-4,0,-9,-5,-14,-17v21,-47,114,-55,172,-59v41,-3,132,33,99,87v-21,34,-72,59,-144,80v-2,16,-79,3,-74,46v3,25,-5,47,-10,68v-22,-1,-23,-29,-22,-56v2,-25,-20,-32,-8,-50v21,-5,10,-35,25,-57v6,-28,14,-48,25,-61xm71,-229v47,14,-2,50,-1,99v41,-3,113,-37,173,-76v5,-9,8,-14,8,-15v-28,-47,-125,-29,-180,-8",w:252},Q:{d:"374,-217v20,59,-11,127,-48,156r30,38v-1,6,-8,16,-14,9v-3,0,-19,-9,-47,-26v-72,35,-173,75,-236,12v-70,-40,-67,-213,26,-217r8,5v24,-20,72,-48,112,-38v21,-4,22,-1,50,-2v66,-2,94,20,119,63xm296,-88v13,5,61,-49,63,-84v4,-62,-54,-78,-119,-76v-14,-6,-49,5,-71,3v-42,16,-89,41,-93,94v-9,11,1,25,-7,38v-12,-19,-7,-67,-1,-88v-56,30,-37,137,19,155v27,17,92,19,119,0v12,-2,29,-9,52,-20v2,-2,3,-3,3,-6v-11,-12,-46,-27,-54,-56v0,-13,3,-19,9,-19v18,1,60,52,80,59",w:379},R:{d:"100,-275v96,-23,196,-10,208,78v-3,18,-17,52,-49,62v-14,20,-54,23,-79,40v-2,0,-14,2,-36,6v-40,8,-30,14,-3,33v37,27,52,30,118,55v16,6,31,23,12,27v-58,-2,-104,-29,-143,-61v-14,-3,-16,-15,-39,-27v-23,-19,-28,-12,-15,-38v63,-19,111,-15,163,-53v27,-20,43,-36,43,-49v0,-64,-120,-62,-173,-38v-9,4,-38,9,-40,18v-10,32,-16,70,-13,116v-10,21,-8,47,-6,75v2,31,-9,29,-27,22v-9,-55,5,-140,15,-190v-8,-6,-24,10,-24,-11v0,-34,16,-34,42,-55v2,-1,17,-4,46,-10",w:297},S:{d:"13,-3v-7,-3,-22,-18,-5,-22v68,-15,119,-32,154,-45v51,-19,39,-34,3,-53v-46,-25,-82,-30,-121,-64v-33,-29,-50,-35,-25,-58v37,-20,119,-29,181,-29v29,0,44,6,44,18v-9,26,-62,6,-104,14v-17,2,-72,6,-92,16v37,53,132,58,180,111v8,9,11,20,11,30v-4,17,-23,35,-42,34v-21,16,-17,1,-49,17v-14,7,-41,9,-56,20v-25,-3,-49,10,-79,11",w:234},T:{d:"141,-3v-36,-6,1,-49,-3,-79v10,-19,6,-35,15,-64r26,-85v-51,-9,-100,10,-141,14v-16,2,-30,-26,-11,-32v26,-8,143,-8,179,-19r12,6v67,-2,142,-1,200,-1v8,0,14,3,19,10v-18,16,-74,3,-103,14v-48,-4,-60,4,-113,7v-42,22,-36,130,-58,187v1,12,-9,44,-22,42",w:277},U:{d:"365,-262v13,56,-22,104,-36,141v-19,22,-30,38,-57,56v-4,18,-60,35,-78,50v-53,28,-142,0,-161,-34v-31,-56,-37,-108,-11,-164v17,-33,29,-50,48,-29v-2,2,-3,7,-4,13v-44,36,-38,149,7,174v30,26,55,19,102,4v56,-17,66,-34,120,-76v12,-24,56,-68,46,-122r0,-16v0,1,-1,3,-1,6v4,-13,11,-10,25,-3",w:368},V:{d:"246,-258v21,-22,31,-26,44,-8v1,1,-12,22,-28,35v-15,25,-41,38,-56,69v-13,15,-20,31,-28,57v-15,13,-11,29,-27,72v3,21,-5,24,-27,27v-33,-45,-54,-118,-84,-167v-5,-26,-18,-50,-25,-76v-3,-12,24,-8,29,-5v8,13,18,52,26,70r52,115v9,-2,4,-9,10,-21r25,-47v25,-44,46,-76,89,-121",w:234},W:{d:"31,-213v16,46,17,106,41,151v31,-35,49,-89,76,-127v30,-15,39,27,52,56v10,22,21,48,35,67v2,0,4,-1,5,-3v16,-28,50,-76,79,-121v14,-21,40,-63,64,-83r5,8v-30,58,-76,110,-97,173v-18,28,-25,37,-33,63v-11,1,-16,25,-30,15v-21,-31,-44,-89,-62,-131v0,-2,-1,-3,-5,-5v-17,11,-16,36,-31,50v-20,33,-20,84,-68,94v-24,-19,-23,-81,-39,-111v-1,-15,-29,-94,-10,-108v9,2,12,5,18,12",w:331},X:{d:"143,-183v43,-25,69,-36,126,-62v22,-10,86,-10,56,21v-51,3,-158,61,-154,64v10,15,41,30,50,52v27,17,46,60,70,82v9,14,-6,30,-24,20v-35,-43,-75,-100,-116,-132v-48,13,-100,47,-118,94v-1,49,-26,34,-27,4v-1,-26,13,-27,17,-48v22,-27,68,-55,90,-77v-9,-12,-60,-39,-79,-57v-6,-10,-6,-25,12,-25",w:312},Y:{d:"216,-240v19,-14,42,10,22,26v-54,66,-121,109,-156,197v-8,21,-11,15,-30,4v3,-37,27,-61,33,-76v12,-12,15,-19,32,-42v-8,-6,-40,5,-45,5v-48,-6,-69,-65,-56,-113v14,0,13,-1,24,7v2,33,12,75,42,73v36,-2,102,-57,134,-81",w:189},Z:{d:"60,-255v66,12,200,-34,240,21v-13,42,-63,62,-98,89v-19,15,-47,33,-82,55v-25,16,-47,32,-66,47v58,24,129,-6,208,-6v23,0,36,12,13,19v-33,2,-53,5,-86,10v-32,18,-88,15,-135,15v-9,-1,-55,-1,-48,-29v1,-24,30,-24,40,-41v64,-50,151,-86,208,-147v-38,-17,-155,12,-198,-4v0,0,-11,-33,4,-29",w:310},"[":{d:"72,-258r-15,250v30,4,55,-3,80,-6v7,-1,8,17,9,23v-28,15,-73,23,-121,21v-7,0,-10,-6,-10,-17v0,-60,25,-193,22,-288v0,-16,13,-20,33,-19v9,-3,34,-12,51,-12v16,0,15,16,19,29v-16,7,-48,10,-68,19",w:151},"\\":{d:"236,38v20,-18,-8,-74,-13,-90v-44,-78,-112,-190,-200,-253v-2,0,-5,4,-7,12v-11,31,13,36,24,58v74,61,174,219,180,273r16,0",w:257},"]":{d:"133,-258v-23,-13,-84,6,-85,-32v0,-10,5,-15,14,-15v0,0,30,2,90,7v10,1,15,13,15,36v2,7,-8,59,-13,112r-11,125v-9,48,9,90,-59,71v-20,-4,-39,-1,-59,-4v-5,-10,-25,-12,-14,-30v8,-3,61,-13,78,-8v14,1,8,-7,10,-17v15,-69,21,-166,34,-245",w:171},"^":{d:"68,-306v20,15,47,36,58,60v-1,4,0,7,-9,7v-26,0,-47,-38,-49,-32v-15,9,-41,50,-54,30v-2,-31,17,-23,33,-51v8,-9,15,-14,21,-14",w:135},_:{d:"11,15v-8,33,18,45,50,34r205,2r197,-5v11,-5,14,-9,7,-28v-95,-21,-258,-10,-376,-10v-25,0,-72,-3,-83,7",w:485},"`":{d:"75,-264v16,8,56,14,39,43v-30,-8,-65,-23,-105,-44v-1,-3,-3,-28,5,-25v16,5,44,17,61,26",w:129},a:{d:"124,-56v10,4,59,41,65,50v1,7,-6,17,-12,17r-60,-30v-22,2,-42,21,-65,19v-33,4,-68,-67,-15,-81v41,-27,96,-39,110,9v0,6,-4,12,-11,16v-33,-25,-67,-5,-88,12v10,16,61,-18,76,-12",w:196},b:{d:"80,-140v69,1,123,0,134,52v5,26,-71,71,-97,70v-11,11,-88,22,-94,22v-11,-3,-26,-18,-6,-24v19,-5,-2,-19,-1,-35v1,-18,11,-36,-5,-47v-6,-17,-6,-21,14,-32v6,-45,18,-89,28,-124v2,-7,8,-12,17,-15v5,3,10,11,16,28v-12,27,-13,63,-23,96v0,6,6,9,17,9xm87,-107v-40,-9,-31,31,-39,54v8,15,0,25,12,22v30,-8,60,-18,88,-32v39,-18,49,-33,-1,-42v-20,-4,-45,-7,-60,-2",w:217},c:{d:"128,-123v29,-7,37,29,12,33v-27,-4,-40,6,-79,25v-8,4,-13,11,-16,22v30,32,91,3,134,11v5,13,-8,26,-22,19v-51,25,-139,28,-150,-30v6,-50,69,-82,121,-80",w:194},d:{d:"224,-201v0,-35,-17,-111,24,-94v7,86,-2,119,0,197v-4,2,-8,21,-18,16v-62,-7,-154,-8,-185,29v6,17,28,26,51,26v16,0,100,-15,132,-18v7,5,-6,20,-10,22v-24,8,-122,42,-163,25v-32,-5,-62,-53,-36,-80v35,-37,118,-46,198,-43v1,-22,7,-49,7,-80",w:265},e:{d:"4,-57v0,-58,51,-71,110,-74v33,-1,45,16,59,35v1,14,2,39,-7,42v-24,-2,-73,13,-99,11v-2,2,-2,3,-2,3v0,3,12,8,37,15v21,0,69,9,31,22v-9,14,-34,6,-56,6v-27,-5,-73,-28,-73,-60xm123,-102v-22,2,-68,5,-65,26v24,-2,66,5,79,-6v-5,-13,-1,-13,-14,-20",w:182},f:{d:"6,-59v6,-29,53,-4,53,-43v0,-64,29,-118,84,-150v45,-25,167,-24,155,51v-1,2,-7,6,0,6r-10,2v-45,-58,-165,-39,-186,39v-7,26,-11,42,-9,62v44,8,95,-21,135,-7v-12,25,-39,21,-76,30v-19,5,-18,7,-54,19v-2,8,15,32,17,35v-6,25,-26,26,-40,-5r-15,-24v-41,10,-44,12,-54,-15",w:234},g:{d:"132,-97v30,27,21,75,30,117v-12,31,-11,66,-36,103v-32,46,-105,83,-167,39v-31,-21,-49,-29,-51,-75v-2,-37,77,-50,121,-57v37,-6,68,-10,95,-11v7,-6,3,-32,4,-46v0,0,-1,1,-1,2v0,-18,-5,-31,-14,-45v-44,5,-79,20,-94,-18v3,-54,73,-54,125,-50v12,7,12,13,4,25v-30,-11,-76,8,-90,20v23,3,50,-16,74,-4xm-34,121v60,53,168,1,159,-86v-47,-7,-93,24,-142,30v-12,7,-45,19,-42,29v0,10,8,19,25,27",w:188},h:{d:"100,-310v11,-2,10,19,11,20v-11,52,-40,133,-53,189v-6,30,-9,37,-9,47v27,0,113,-34,143,-34v42,0,31,47,39,79v0,4,-5,17,-16,16v4,2,11,3,4,6v-24,-1,-28,-34,-25,-64v-1,-1,-2,-3,-5,-5v-51,0,-110,38,-162,51v-9,1,-15,-15,-16,-23v17,-89,39,-141,71,-264v0,-9,6,-19,18,-18",w:251},i:{d:"62,-209v7,18,9,23,-5,38v-23,-6,-21,-18,-11,-36v2,0,8,-1,16,-2xm34,-7v-18,-21,-8,-73,-1,-106v7,-10,20,-8,23,6v-1,36,7,72,-2,104v-8,2,-8,0,-20,-4",w:80},j:{d:"88,-191v5,28,-18,40,-28,21v0,-20,12,-29,28,-21xm82,-99v28,-1,16,35,16,61v0,60,-19,150,-35,202v-12,8,-19,31,-35,16v-32,-7,-43,-19,-56,-44r2,-17v11,4,49,45,61,18v10,-55,27,-107,30,-171v0,-16,0,-59,17,-65",w:120},k:{d:"59,-66v33,26,114,37,155,62v8,-4,22,-2,19,-17v0,-4,-12,-11,-30,-24v-36,-25,-54,-22,-99,-33v14,-21,119,-13,103,-63r-16,-7r-123,47r25,-93v-3,-15,16,-49,18,-81v1,-15,-21,-14,-25,-3v-31,82,-49,168,-75,257v2,2,22,30,27,10v2,-5,4,-9,9,-11v4,-16,4,-15,12,-44",w:236},l:{d:"66,-300v21,-6,37,23,30,55v-10,51,-28,135,-28,208v0,11,6,36,-13,37v-29,-5,-30,-48,-25,-83r28,-177v-6,-17,1,-29,8,-40",w:102},m:{d:"348,-59v-2,21,0,57,3,73v-17,3,-30,-1,-32,-16v-8,-7,-5,-44,-13,-70v-35,3,-82,49,-111,70v-12,8,-40,4,-39,-15r2,-56v-1,-13,4,-28,-8,-29v-35,8,-79,72,-115,87v-6,2,-20,-18,-21,-22v1,-20,14,-105,39,-64r8,15v17,-14,72,-56,93,-54v27,3,49,40,43,80v24,-2,66,-55,124,-53v11,14,28,23,27,54",w:368},n:{d:"121,-136v37,6,62,54,62,111v0,32,-16,25,-31,17v-18,-30,-5,-45,-22,-85v-37,-13,-71,55,-92,65v-20,-3,-39,-39,-21,-62v2,-12,3,-15,11,-30v12,-8,20,11,29,12",w:194},o:{d:"108,-139v52,-24,104,18,104,63v0,59,-66,67,-114,83v-52,-2,-115,-50,-80,-105v23,-18,52,-35,90,-41xm45,-60v16,54,125,16,131,-23v-12,-59,-129,-8,-131,23",w:217},p:{d:"82,14v-10,12,-8,117,-24,142v-15,2,-19,0,-29,-13v0,-76,9,-113,22,-192v14,-27,35,-6,37,13v0,8,-3,21,-7,38v2,2,3,2,4,2v26,-9,116,-33,126,-72v-7,-17,-24,-33,-49,-31v-40,3,-116,13,-116,47v-5,7,-2,17,-16,20v-17,-12,-18,-20,-12,-38v8,-25,74,-61,110,-59v55,-15,113,15,118,70v-15,52,-84,79,-146,83v-5,0,-11,-4,-18,-10",w:251},q:{d:"144,-147v27,-8,89,-3,97,31v-9,29,-42,-4,-73,1v-32,6,-118,20,-111,49v0,7,13,13,21,13v21,0,78,-24,104,-34v2,0,9,8,22,21v1,1,1,2,1,5v-27,90,-22,70,-43,203v11,15,-15,54,-33,33v-6,-8,-10,-20,-3,-28v1,-72,5,-114,15,-172v-35,3,-35,10,-59,8v-41,-4,-98,-41,-56,-85v33,-34,59,-27,118,-45",w:248},r:{d:"242,-117v2,22,5,10,-14,23v-73,-7,-166,-23,-174,56v-8,6,-3,20,-8,36v-29,10,-40,-9,-33,-46v6,-31,7,-69,32,-55v58,-37,66,-42,175,-19v3,5,15,4,22,5",w:229},s:{d:"154,-151v19,1,27,24,13,32v-4,1,-22,4,-53,7v-16,8,-22,-2,-39,9v23,21,89,16,96,62v-13,24,-85,35,-124,42v-9,-3,-18,-3,-27,0v-6,-4,-21,-16,-8,-25v30,-6,83,-13,102,-24v-17,-16,-80,-33,-97,-48v-3,-2,-4,-7,-4,-15v-6,-6,3,-13,15,-18v22,-9,94,-23,126,-22",w:188},t:{d:"85,-150v10,-41,35,-126,65,-134v4,1,24,19,11,36v-17,22,-29,57,-36,104v26,8,50,-7,73,5v14,0,22,3,22,9v-1,19,-44,18,-57,23v-10,1,-46,0,-54,10v-10,24,-4,67,-20,98v-21,-3,-26,1,-26,-20v0,-9,2,-36,8,-81v-15,-13,-81,9,-77,-27v4,-38,71,6,91,-23",w:194},u:{d:"207,-136v-1,-2,11,-14,14,-13v6,0,10,7,10,22v-3,40,-23,56,-40,82v-13,19,-62,43,-93,43v-67,-2,-111,-75,-71,-133v26,-3,21,29,19,49v-1,27,26,44,57,42v41,-2,93,-55,104,-92",w:242},v:{d:"24,-127r52,71v42,-16,70,-54,124,-65v5,4,8,7,8,11v-8,19,-4,8,-33,32v0,1,-1,3,-1,5v-61,45,-93,68,-97,68v-40,-15,-50,-72,-68,-100v6,-14,10,-22,15,-22",w:214},w:{d:"15,-139v38,-2,27,57,45,86v30,2,67,-66,101,-78v26,6,36,69,60,78v47,-35,51,-54,119,-104v3,0,7,-2,15,-4v19,23,-9,28,-21,49v-33,28,-68,90,-107,109v-10,6,-52,-47,-72,-71v-20,17,-85,74,-97,73v-38,7,-41,-98,-52,-122v0,-1,3,-7,9,-16",w:325},x:{d:"95,-124v22,-13,78,-32,99,-31v16,0,23,6,23,18v0,22,-17,11,-49,21v-3,0,-45,20,-42,24v0,1,2,4,8,10v20,24,49,41,44,80v-35,3,-27,-9,-60,-44v-40,-43,-37,-26,-79,9v-1,1,-2,3,-3,8v-12,8,-28,10,-27,-11v-6,-8,45,-65,48,-65v-17,-21,-61,-52,-24,-68v9,0,48,37,62,49",w:223},y:{d:"44,-65v22,33,70,4,99,-8v5,-4,28,-15,41,-31r17,0v25,47,-26,70,-40,114v-5,4,-9,8,-10,21v-16,12,-11,33,-27,51v-5,18,-12,43,-23,71v-1,-1,-2,34,-18,29v-12,1,-22,-12,-22,-23v20,-70,24,-65,68,-177v-47,16,-111,8,-116,-39v-11,-13,-7,-62,8,-62v18,0,22,26,23,54",w:216},z:{d:"189,-43v9,-1,46,-6,41,12v0,7,-5,13,-15,14v-45,6,-148,24,-181,13v0,-3,-5,-8,-14,-15v5,-44,66,-46,90,-85v-15,-18,-84,21,-84,-14v0,-10,5,-17,14,-18v33,-3,79,-13,109,-3v4,-2,14,11,12,15v0,23,-26,51,-78,84v28,10,73,-3,106,-3",w:244},"{":{d:"94,-303v27,-9,90,-14,79,26v-20,17,-55,-5,-87,13v-4,1,-6,4,-6,8v33,42,31,44,7,85v-6,10,-13,16,-13,13v5,6,17,17,15,31r-33,78v7,35,28,49,57,63r49,0v7,42,-51,41,-86,20v-43,-13,-51,-51,-56,-89v-2,-25,25,-54,27,-71v-3,-4,-46,-5,-41,-21v2,-10,-3,-29,11,-25v2,0,51,-17,52,-38v4,-3,-25,-23,-25,-49v0,-41,8,-30,50,-44",w:179},"|":{d:"30,-308v26,5,14,50,15,80v5,78,-8,153,-3,225v-2,15,-1,31,-11,36v-8,-3,-25,-22,-25,-32r9,-183v0,-40,0,-78,1,-112v0,-4,9,-15,14,-14",w:63},"}":{d:"47,-298v34,-17,118,-18,112,36v6,25,-76,98,-69,103v4,16,39,7,44,28v7,34,-34,17,-37,39v8,29,49,83,23,123v-15,23,-43,26,-73,46v-34,8,-43,11,-49,-17v1,-15,30,-15,33,-20v24,-12,70,-27,55,-61v-14,-33,-37,-68,-19,-103v-46,-50,46,-100,60,-141v-10,-16,-68,6,-77,-12",w:143},"~":{d:"7,-254v2,-6,59,-50,67,-46v11,-1,35,19,46,26v5,0,27,-10,66,-31v21,8,-1,25,-7,38v-27,21,-48,31,-65,31v-24,-11,-37,-39,-65,-9v-7,7,-26,36,-42,11v3,-5,-3,-17,0,-20",w:199}," ":{w:179},"¡":{d:"86,-197v8,16,-7,41,-24,25v-11,-11,-4,-16,-3,-29v13,0,15,-2,27,4xm46,-107v4,-8,11,-16,23,-7v19,26,-5,57,-6,87v-7,0,-5,18,-9,28v0,14,-17,52,-11,70v-2,7,-15,28,-25,12v-4,-6,-15,-7,-6,-16v2,-39,14,-96,34,-174",w:95},"¢":{d:"105,-188v13,-12,14,-18,26,-15v7,23,7,15,-3,49v6,0,18,14,17,20v-3,5,-12,19,-26,13v-14,1,-14,5,-16,21v10,10,46,-13,38,18v-9,17,-23,16,-54,20v-17,16,-4,55,-29,60v-37,-10,19,-64,-24,-71v-20,-10,-37,-47,-6,-62v23,-20,73,-4,77,-53xm65,-101v4,-9,7,-8,3,-13v-14,4,-22,10,-3,13",w:154},"£":{d:"153,-170v3,22,62,0,49,39v-18,6,-31,12,-58,9v-12,-1,-17,30,-23,39v19,26,50,56,91,35v9,-2,27,-13,27,4v0,27,-27,39,-58,42v-32,-5,-59,-19,-78,-39v-6,1,-35,44,-57,39v-25,0,-37,-15,-37,-46v0,-41,43,-53,73,-50v4,1,12,-18,12,-21v-7,-15,-49,0,-44,-30v-2,-31,31,-16,60,-19v16,-30,25,-119,93,-113v16,2,75,16,50,44v-4,5,-7,7,-12,8v-18,-12,-32,-18,-41,-18v-35,-1,-38,52,-47,77xm43,-45v4,5,12,-2,11,-9v-1,2,-12,1,-11,9",w:242},"¤":{d:"308,-133r-200,16v-2,1,-6,4,-10,10v70,-2,144,-14,211,-8v3,0,8,4,13,8v-1,4,-3,9,-9,17v-57,11,-164,6,-219,25v26,32,112,25,173,25v9,0,35,2,35,19v0,9,-4,13,-12,14v-115,12,-146,23,-211,-19v-12,-4,-22,-9,-25,-27v-6,-29,-61,3,-43,-49v17,-1,36,7,42,-12v-32,7,-36,-39,-11,-40v29,14,63,-25,73,-30v52,-25,72,-44,142,-44v23,0,21,41,-1,39v-35,-3,-61,9,-102,31v2,2,5,4,8,4v18,-6,101,-9,115,-9v7,0,55,13,31,30",w:312},"€":{d:"308,-133r-200,16v-2,1,-6,4,-10,10v70,-2,144,-14,211,-8v3,0,8,4,13,8v-1,4,-3,9,-9,17v-57,11,-164,6,-219,25v26,32,112,25,173,25v9,0,35,2,35,19v0,9,-4,13,-12,14v-115,12,-146,23,-211,-19v-12,-4,-22,-9,-25,-27v-6,-29,-61,3,-43,-49v17,-1,36,7,42,-12v-32,7,-36,-39,-11,-40v29,14,63,-25,73,-30v52,-25,72,-44,142,-44v23,0,21,41,-1,39v-35,-3,-61,9,-102,31v2,2,5,4,8,4v18,-6,101,-9,115,-9v7,0,55,13,31,30",w:312},"¥":{d:"31,-248v30,-3,64,64,74,59v37,-22,77,-65,107,-82v20,-11,34,18,21,32v-28,19,-52,38,-70,57v-18,8,-40,21,-35,60v2,19,39,7,64,7v25,0,16,21,2,27v-36,16,-46,8,-68,18v6,11,101,-20,66,24v-21,11,-42,12,-75,20v-2,1,-5,6,-10,18v-8,3,-11,10,-24,8v-7,-17,-2,-18,-9,-26v-13,5,-39,3,-53,-2v-10,-17,-7,-27,0,-34v23,-1,45,1,64,-5v-11,-7,-28,-4,-64,-6v-13,-8,-15,-24,-6,-35v33,-2,102,9,76,-37v-14,-14,-33,-38,-60,-66v-10,-10,-8,-28,0,-37",w:219},"§":{d:"141,-115v12,10,29,36,28,56v-4,68,-129,69,-152,16v-1,-12,-10,-22,8,-23v17,3,47,21,67,23v16,1,40,-8,38,-21v-8,-49,-119,-30,-117,-85v1,-28,15,-45,-3,-64v-1,-53,55,-61,103,-62v15,-5,6,-5,20,-2v16,17,23,27,23,30v-1,26,-29,7,-45,7v-21,0,-51,2,-62,17v19,14,87,8,97,43v18,14,16,57,-5,65xm64,-147r57,17v10,-28,-22,-43,-47,-44v-25,-1,-35,19,-10,27",w:174},"¨":{d:"124,-259v0,9,-4,13,-12,13v-18,0,-22,-21,-17,-35v19,-1,30,1,29,22xm23,-285v7,2,30,9,29,18v1,10,-9,19,-18,19v-19,0,-28,-26,-11,-37",w:136},"©":{d:"102,-29v-74,5,-124,-84,-70,-140v22,-22,53,-35,97,-38v46,-4,88,49,74,100v0,44,-51,75,-101,78xm96,-66v42,-3,75,-23,75,-69v0,-23,-4,-38,-44,-38v-16,0,-33,6,-49,20v36,-4,55,-12,62,20v-5,16,-49,1,-50,21v10,15,53,-14,54,11v0,18,-14,27,-42,27v-22,1,-46,-11,-46,-31v0,-25,7,-39,20,-44v-1,-1,-2,-2,-3,-2v-51,22,-32,89,23,85",w:217},"ª":{d:"6,-265v1,-31,58,-53,80,-22v-11,14,25,28,25,36v-2,8,-15,12,-27,10v-22,-29,-68,19,-78,-24xm52,-281v-8,1,-24,10,-9,13v11,1,24,-10,9,-13",w:117},"«":{d:"191,-64v16,6,87,37,53,63v-39,-9,-71,-28,-107,-40v-14,-13,-13,-34,10,-47v27,-15,48,-55,84,-62v9,-2,21,10,21,18r-13,21v-16,5,-44,22,-51,41v0,4,1,6,3,6xm71,-65v17,6,87,35,55,62v-39,-8,-66,-27,-108,-40v-14,-13,-13,-36,10,-46v23,-18,50,-56,84,-63v9,-2,21,10,21,18r-13,22v-20,6,-32,17,-51,37v0,3,-1,11,2,10",w:265},"¬":{d:"141,-99v47,7,103,-3,149,6v14,24,18,15,10,39v-10,34,-7,31,-26,76v-4,6,-15,8,-16,21v-4,2,-4,1,-13,5v-22,-33,-4,-33,16,-104v-5,-9,-28,-4,-38,-6r-183,4v-14,0,-41,-29,-17,-36v31,-9,82,5,118,-5",w:315},"®":{d:"75,-194v78,-29,116,9,130,84v-2,42,-22,47,-57,67v-74,20,-161,-19,-129,-110v6,-18,29,-34,57,-40xm46,-86v51,36,84,21,129,-15v7,-15,0,-39,-10,-49v-13,-37,-49,-26,-86,-18v-28,7,-49,46,-33,82xm72,-123v-5,-43,68,-57,75,-14v-17,26,-18,17,3,32v2,25,-25,18,-45,7r-4,-4v-1,8,-3,20,-12,24v-10,-3,-21,-34,-17,-45xm112,-135v-10,-1,-20,13,-9,14v6,-6,9,-11,9,-14",w:217},"¯":{d:"63,-295v28,-7,73,10,105,7v11,1,6,8,5,19v-37,21,-72,11,-136,11v-23,0,-31,-14,-27,-36v12,-15,40,0,53,-1",w:183},"°":{d:"106,-268v0,36,-35,38,-51,46v-48,5,-60,-58,-25,-78v33,-11,76,-9,76,32xm38,-257v16,7,39,2,38,-17v-13,-9,-28,-1,-32,11v-5,3,-7,0,-6,6",w:114},"±":{d:"93,-163v-7,46,76,-4,46,47v-14,6,-27,13,-38,8v-24,2,-14,28,-28,44r-14,0v-7,-12,-5,-15,-7,-33v-12,-7,-41,-1,-37,-24v2,-11,23,-17,36,-14r28,-38v4,0,9,4,14,10xm113,-27v-12,18,-58,27,-85,24v-16,2,-22,-23,-13,-36v28,-7,85,-11,98,12",w:151},"´":{d:"52,-284v29,-11,50,-34,62,-14v3,12,-86,54,-94,56v-14,0,-16,-12,-12,-23v11,-5,25,-11,44,-19",w:120},"¶":{d:"121,-237v21,-9,44,-13,63,-1v-1,7,5,6,7,11r-4,190v-2,33,4,39,-15,40v-16,1,-10,-20,-10,-33r4,-161v0,-17,-1,-34,-16,-25v2,10,1,23,1,35v-9,46,-6,75,-15,156v-3,4,-7,5,-12,5v-17,-10,-3,-89,-10,-115v-43,14,-98,10,-101,-29v-4,-53,59,-63,104,-75v3,1,4,2,4,2xm95,-204v2,9,-30,50,1,50v35,0,23,-13,29,-43v0,-1,-2,-7,-4,-15v-12,-1,-14,2,-26,8",w:206},"¸":{d:"74,16v32,2,49,14,55,36v-3,7,-14,31,-29,33v-28,4,-57,11,-88,14v-19,-6,-13,-31,8,-33v20,-1,59,-5,73,-14v-17,-14,-68,8,-53,-37v9,-10,2,-28,24,-30v8,8,13,17,10,31",w:129},"º":{d:"13,-273v1,-31,56,-41,83,-18v36,8,14,48,-9,52v-35,6,-64,-5,-74,-34xm81,-269v-7,-7,-20,-11,-29,-6v5,13,13,11,29,6",w:128},"»":{d:"120,-129v9,-33,48,-10,64,5v9,20,86,52,50,86v-36,11,-66,31,-107,40v-6,-7,-9,-13,-9,-17v-2,-13,50,-46,63,-46v11,-18,-33,-42,-48,-47xm1,-128v10,-33,46,-8,64,6v8,19,86,50,51,85v-40,13,-69,30,-108,40v-6,-7,-8,-12,-8,-16v-2,-14,50,-46,63,-47v7,-13,-9,-20,-19,-30v-10,-9,-20,-15,-30,-17",w:252},"¿":{d:"181,-247v3,1,31,2,29,15v-4,22,-37,27,-41,4v1,-5,7,-20,12,-19xm161,-34v-45,-1,-105,19,-124,51v0,11,18,17,54,17v39,0,82,-13,112,4v-10,35,-58,31,-100,31v-47,0,-80,-10,-99,-31v-10,-56,22,-73,64,-90v8,-3,32,-9,74,-18v21,-15,7,-62,22,-92v-1,-5,-1,-11,4,-12v16,0,24,7,24,22v-8,30,-8,73,-17,111v-3,5,-7,7,-14,7",w:213},"À":{d:"161,-217v20,53,23,124,54,170v-2,20,-34,9,-42,0v-27,-12,-78,-18,-101,-18v-26,6,-29,51,-54,63v-18,-4,-19,-30,-3,-38v5,-9,15,-16,8,-29v1,-12,23,-9,26,-19v6,-10,11,-20,20,-27r70,-121v12,-4,16,4,22,19xm82,-91v17,3,62,7,86,13v-13,-33,-13,-80,-29,-109v-15,30,-38,63,-57,96xm150,-268v14,10,54,14,37,41v-28,-7,-62,-22,-100,-42v-2,-3,-2,-26,5,-23v16,4,42,17,58,24"},"Á":{d:"161,-217v20,53,23,124,54,170v-2,20,-34,9,-42,0v-27,-12,-78,-18,-101,-18v-26,6,-29,51,-54,63v-18,-4,-19,-30,-3,-38v5,-9,15,-16,8,-29v1,-12,23,-9,26,-19v6,-10,11,-20,20,-27r70,-121v12,-4,16,4,22,19xm82,-91v17,3,62,7,86,13v-13,-33,-13,-80,-29,-109v-15,30,-38,63,-57,96xm84,-250v31,-5,83,-53,100,-31v0,5,-11,15,-35,28v-16,5,-51,28,-53,25v-14,1,-16,-11,-12,-22"},"Â":{d:"161,-217v20,53,23,124,54,170v-2,20,-34,9,-42,0v-27,-12,-78,-18,-101,-18v-26,6,-29,51,-54,63v-18,-4,-19,-30,-3,-38v5,-9,15,-16,8,-29v1,-12,23,-9,26,-19v6,-10,11,-20,20,-27r70,-121v12,-4,16,4,22,19xm82,-91v17,3,62,7,86,13v-13,-33,-13,-80,-29,-109v-15,30,-38,63,-57,96xm202,-219v-27,-6,-40,-26,-61,-37v-21,7,-39,46,-65,23v-2,-4,-3,-10,-4,-14v19,-4,43,-32,61,-43v27,6,40,22,62,37v12,8,18,17,18,25v0,6,-3,9,-11,9"},"Ã":{d:"161,-217v20,53,23,124,54,170v-2,20,-34,9,-42,0v-27,-12,-78,-18,-101,-18v-26,6,-29,51,-54,63v-18,-4,-19,-30,-3,-38v5,-9,15,-16,8,-29v1,-12,23,-9,26,-19v6,-10,11,-20,20,-27r70,-121v12,-4,16,4,22,19xm82,-91v17,3,62,7,86,13v-13,-33,-13,-80,-29,-109v-15,30,-38,63,-57,96xm100,-285v26,-19,54,19,69,22v4,0,15,-5,34,-13v23,-9,22,-17,31,-12v3,11,-9,9,-7,21v-26,20,-46,30,-59,30v-3,3,-50,-26,-49,-29v-12,1,-31,35,-51,32v-3,-8,-5,-14,-5,-18v10,-9,16,-17,37,-33"},"Ä":{d:"161,-217v20,53,23,124,54,170v-2,20,-34,9,-42,0v-27,-12,-78,-18,-101,-18v-26,6,-29,51,-54,63v-18,-4,-19,-30,-3,-38v5,-9,15,-16,8,-29v1,-12,23,-9,26,-19v6,-10,11,-20,20,-27r70,-121v12,-4,16,4,22,19xm82,-91v17,3,62,7,86,13v-13,-33,-13,-80,-29,-109v-15,30,-38,63,-57,96xm187,-259v0,8,-4,13,-12,13v-18,0,-21,-20,-16,-34v18,-1,28,2,28,21xm90,-284v7,3,28,11,28,18v0,9,-9,18,-18,17v-17,0,-25,-24,-10,-35"},"Å":{d:"161,-217v20,53,23,124,54,170v-2,20,-34,9,-42,0v-27,-12,-78,-18,-101,-18v-26,6,-29,51,-54,63v-18,-4,-19,-30,-3,-38v5,-9,15,-16,8,-29v1,-12,23,-9,26,-19v6,-10,11,-20,20,-27r70,-121v12,-4,16,4,22,19xm82,-91v17,3,62,7,86,13v-13,-33,-13,-80,-29,-109v-15,30,-38,63,-57,96xm112,-239v-31,-17,-9,-61,29,-56v12,2,22,3,33,12v24,39,-30,62,-62,44xm119,-262v2,14,41,8,41,-4v0,-4,-8,-6,-24,-9v-10,-2,-17,10,-17,13"},"Æ":{d:"335,-259v0,30,-102,12,-122,34v10,21,2,79,16,100v24,-6,59,-13,86,-16v23,-2,32,21,13,26r-103,29v-3,22,-4,38,8,43v28,-5,60,-6,86,-14v5,-1,14,7,14,11v6,16,-90,40,-107,40v-29,0,-39,-19,-32,-46v-2,-4,0,-26,-9,-28v-29,2,-58,6,-88,6v-31,0,-40,74,-82,73v-18,-23,4,-37,12,-50v40,-65,112,-126,165,-207v20,-17,69,-11,112,-13v21,0,31,4,31,12xm123,-111v28,1,44,-2,67,-10v-4,-22,5,-49,-7,-65v-3,6,-65,61,-60,75",w:348},"Ç":{d:"48,-108v-12,70,90,71,159,67r138,-9v9,-1,7,9,7,17v-37,16,-80,27,-103,21v-14,9,-40,3,-67,9v-30,0,-64,1,-100,-10v-6,-1,-10,-4,-10,-8v-32,-12,-46,-31,-63,-56v-16,-61,47,-103,83,-121v82,-42,118,-45,200,-60v21,-4,36,34,11,37v-90,11,-148,31,-225,77v-12,8,-23,20,-30,36xm172,18v29,4,47,14,53,35v-2,7,-14,31,-27,31v-28,7,-55,9,-84,14v-18,-5,-13,-32,7,-32v21,0,55,-5,69,-13v-16,-14,-63,10,-50,-35v9,-10,1,-27,23,-29v7,8,11,16,9,29", w:331},"È":{d:"49,-160v1,-4,-10,-9,-15,-8v-15,-35,32,-30,57,-31r142,-8v2,1,30,7,40,10v-52,16,-133,17,-190,30v-7,9,-12,24,-15,47v26,10,102,-6,141,3v1,3,1,6,2,10v-36,18,-92,12,-149,21v-11,9,-16,41,-16,51v55,-1,111,-21,168,-13v15,-8,48,1,31,18v-53,16,-130,13,-198,29r-39,-8v-4,-19,17,-53,20,-76v-1,0,-7,-11,-9,-18v18,-7,22,-28,30,-57xm184,-236v6,9,5,13,0,23v-28,-7,-62,-21,-100,-41v-3,-2,-3,-27,5,-23v34,11,60,25,95,41",w:252},"É":{d:"49,-160v1,-4,-10,-9,-15,-8v-15,-35,32,-30,57,-31r142,-8v2,1,30,7,40,10v-52,16,-133,17,-190,30v-7,9,-12,24,-15,47v26,10,102,-6,141,3v1,3,1,6,2,10v-36,18,-92,12,-149,21v-11,9,-16,41,-16,51v55,-1,111,-21,168,-13v15,-8,48,1,31,18v-53,16,-130,13,-198,29r-39,-8v-4,-19,17,-53,20,-76v-1,0,-7,-11,-9,-18v18,-7,22,-28,30,-57xm133,-248v27,-11,48,-32,59,-14v3,11,-79,52,-88,53v-14,1,-16,-11,-12,-21v10,-4,23,-11,41,-18",w:252},"Ê":{d:"49,-160v1,-4,-10,-9,-15,-8v-15,-35,32,-30,57,-31r142,-8v2,1,30,7,40,10v-52,16,-133,17,-190,30v-7,9,-12,24,-15,47v26,10,102,-6,141,3v1,3,1,6,2,10v-36,18,-92,12,-149,21v-11,9,-16,41,-16,51v55,-1,111,-21,168,-13v15,-8,48,1,31,18v-53,16,-130,13,-198,29r-39,-8v-4,-19,17,-53,20,-76v-1,0,-7,-11,-9,-18v18,-7,22,-28,30,-57xm199,-211v-27,-6,-39,-26,-60,-37v-21,7,-40,47,-65,22v-2,-7,-2,-7,-4,-13v18,-5,44,-31,61,-43v27,6,41,22,62,37v12,9,18,17,18,25v0,6,-4,9,-12,9",w:252},"Ë":{d:"49,-160v1,-4,-10,-9,-15,-8v-15,-35,32,-30,57,-31r142,-8v2,1,30,7,40,10v-52,16,-133,17,-190,30v-7,9,-12,24,-15,47v26,10,102,-6,141,3v1,3,1,6,2,10v-36,18,-92,12,-149,21v-11,9,-17,41,-17,51v55,0,112,-21,169,-13v15,-8,48,1,31,18v-53,16,-130,13,-198,29r-39,-8v-3,-21,17,-53,20,-76v-1,0,-7,-11,-9,-18v18,-7,22,-28,30,-57xm191,-236v0,8,-4,13,-12,13v-17,0,-19,-19,-16,-34v18,-1,29,1,28,21xm95,-261v7,3,29,9,28,18v0,7,-9,17,-18,17v-18,0,-26,-25,-10,-35",w:252},"Ì":{d:"33,-5v-9,-6,-9,-12,-9,-36v0,-71,8,-119,22,-144v8,-13,14,-20,19,-20v27,20,-11,87,-10,120r-15,76v-1,1,-4,2,-7,4xm72,-247v7,6,55,15,36,40v-28,-7,-61,-21,-99,-41v-3,-2,-3,-27,5,-23v18,3,41,17,58,24",w:111},"Í":{d:"26,-5v-9,-6,-9,-12,-9,-36v0,-71,7,-119,21,-144v8,-13,14,-20,19,-20v28,19,-7,89,-10,120v-2,21,-8,47,-14,76v-2,1,-2,0,-7,4xm6,-233v31,-6,83,-53,101,-31v2,11,-80,53,-89,53v-14,1,-14,-11,-12,-22",w:104},"Î":{d:"53,-9v-15,7,-16,-3,-16,-32v0,-71,7,-119,21,-144v8,-13,14,-20,19,-20v28,19,-7,89,-10,120v-2,21,-8,47,-14,76xm137,-209v-27,-6,-40,-26,-61,-37v-8,0,-9,4,-13,10v-11,13,-50,37,-56,0v18,-5,43,-32,61,-43v28,5,40,21,62,36v12,9,18,17,18,25v0,6,-4,9,-11,9",w:144},"Ï":{d:"33,-5v-9,-6,-9,-12,-9,-36v0,-71,8,-119,22,-144v8,-13,14,-20,19,-20v27,20,-11,87,-10,120r-15,76v-1,1,-4,2,-7,4xm111,-222v0,8,-4,12,-12,12v-18,0,-19,-19,-16,-33v18,-1,29,1,28,21xm15,-247v8,2,29,9,28,17v0,21,-37,24,-36,1v0,-7,2,-13,8,-18",w:110},"Ñ":{d:"224,-182v1,-17,15,-24,22,-38v20,0,13,10,3,33v-3,36,-25,52,-28,94v-10,24,-30,55,-29,82r-19,7v-32,-8,-36,-70,-58,-111v-2,-23,-7,-27,-19,-54v-28,36,-41,93,-71,133v-9,5,-20,-9,-20,-17r73,-149v9,-24,31,-5,36,7v19,41,31,98,53,139v22,-35,34,-69,50,-118v2,-3,3,-3,7,-8xm203,-257v22,-8,41,-24,65,-26v3,11,-8,9,-7,21v-26,20,-46,31,-59,31v-2,3,-49,-27,-49,-29v-11,0,-32,31,-46,32v-11,-2,-12,-21,-4,-23v4,-6,28,-30,48,-34v17,-4,43,28,52,28",w:219},"Ò":{d:"62,-184v78,-31,249,-50,238,74v-6,65,-102,105,-179,115v-77,-7,-152,-71,-101,-149v2,-5,24,-33,42,-40xm279,-120v14,-38,-47,-64,-85,-61v-20,-9,-41,7,-62,0v-11,7,-54,12,-66,24v0,20,-51,35,-38,66v-1,43,50,67,96,67v44,0,162,-55,155,-96xm161,-262v14,10,52,13,37,41v-28,-7,-62,-21,-100,-41v-3,-3,-3,-26,5,-24v16,5,42,17,58,24",w:273},"Ó":{d:"62,-184v78,-31,249,-50,238,74v-6,65,-102,105,-179,115v-77,-7,-152,-71,-101,-149v2,-5,24,-33,42,-40xm279,-120v14,-38,-47,-64,-85,-61v-20,-9,-41,7,-62,0v-11,7,-54,12,-66,24v0,20,-51,35,-38,66v-1,43,50,67,96,67v44,0,162,-55,155,-96xm142,-250v27,-11,47,-32,59,-14v2,11,-80,53,-89,53v-13,1,-15,-11,-12,-21v10,-5,24,-11,42,-18",w:273},"Ô":{d:"62,-184v78,-31,249,-50,238,74v-6,65,-102,105,-179,115v-77,-7,-152,-71,-101,-149v2,-5,24,-33,42,-40xm279,-120v14,-38,-47,-64,-85,-61v-20,-9,-41,7,-62,0v-11,7,-54,12,-66,24v0,20,-51,35,-38,66v-1,43,50,67,96,67v44,0,162,-55,155,-96xm157,-282v17,18,52,34,54,63v-24,12,-52,-36,-53,-29r-42,34v-23,-4,-6,-31,5,-34v1,1,27,-37,36,-34",w:273},"Õ":{d:"62,-184v78,-31,249,-50,238,74v-6,65,-102,105,-179,115v-77,-7,-152,-71,-101,-149v2,-5,24,-33,42,-40xm279,-120v14,-38,-47,-64,-85,-61v-20,-9,-41,7,-62,0v-11,7,-54,12,-66,24v0,20,-51,35,-38,66v-1,43,50,67,96,67v44,0,162,-55,155,-96xm116,-270v26,-19,54,19,69,22v4,0,15,-5,34,-13v23,-10,22,-16,31,-12v3,11,-8,9,-7,21v-45,28,-47,42,-88,16v-29,-19,-12,-20,-43,2v-8,5,-12,18,-23,15v-13,-3,-12,-20,-4,-23v4,-6,14,-15,31,-28",w:273},"Ö":{d:"62,-184v78,-31,249,-50,238,74v-6,65,-102,105,-179,115v-77,-7,-152,-71,-101,-149v2,-5,24,-33,42,-40xm279,-120v14,-38,-47,-64,-85,-61v-20,-9,-41,7,-62,0v-11,7,-54,12,-66,24v0,20,-51,35,-38,66v-1,43,50,67,96,67v44,0,162,-55,155,-96xm197,-229v0,8,-4,13,-12,13v-17,0,-19,-19,-16,-34v18,-1,29,1,28,21xm101,-254v7,3,28,9,27,18v1,8,-8,17,-17,17v-18,0,-26,-24,-10,-35",w:273},"Ø":{d:"76,-211v41,-13,100,-22,140,-3v26,-19,40,-29,44,-29v10,0,15,7,15,20v0,15,-23,23,-30,35v23,39,29,114,-21,139v-36,19,-102,35,-147,18v-14,-5,-29,29,-46,35v-25,-13,-19,-24,3,-56v-9,-17,-28,-27,-28,-60v0,-38,23,-72,70,-99xm107,-66v55,15,125,-12,123,-70v0,-16,-5,-25,-13,-29r-110,95r0,4xm39,-108v-1,3,17,31,22,27v8,-6,109,-90,123,-106v-15,-11,-43,1,-63,2v-33,10,-80,35,-82,77",w:270},"Ù":{d:"281,-202v6,67,-30,121,-71,152v-3,14,-47,26,-60,39v-41,20,-110,1,-125,-26v-24,-44,-28,-84,-8,-127v12,-26,23,-38,37,-22v-2,2,-3,5,-3,10v-34,26,-30,116,5,134v22,32,86,-1,109,-8v38,-28,104,-64,97,-149v2,-10,7,-8,19,-3xm151,-243v14,10,54,14,37,41v-28,-7,-61,-22,-99,-42v-3,-2,-4,-25,4,-23v16,5,42,17,58,24",w:262},"Ú":{d:"281,-202v6,67,-30,121,-71,152v-3,14,-47,26,-60,39v-41,20,-110,1,-125,-26v-24,-44,-28,-84,-8,-127v12,-26,23,-38,37,-22v-2,2,-3,5,-3,10v-34,26,-30,116,5,134v22,32,86,-1,109,-8v38,-28,104,-64,97,-149v2,-10,7,-8,19,-3xm194,-265v3,-1,11,4,11,6v3,12,-81,52,-89,54v-14,0,-13,-9,-12,-22",w:262},"Û":{d:"281,-202v6,67,-30,121,-71,152v-3,14,-47,26,-60,39v-41,20,-110,1,-125,-26v-24,-44,-28,-84,-8,-127v12,-26,23,-38,37,-22v-2,2,-3,5,-3,10v-34,26,-30,116,5,134v22,32,86,-1,109,-8v38,-28,104,-64,97,-149v2,-10,7,-8,19,-3xm150,-266v24,11,58,27,73,46v0,5,-3,6,-10,6v-28,2,-61,-30,-63,-25v-10,0,-57,40,-69,23v3,-10,-8,-15,8,-19v17,-1,34,-29,61,-31",w:262},"Ü":{d:"281,-202v6,67,-30,121,-71,152v-3,14,-47,26,-60,39v-41,20,-110,1,-125,-26v-24,-44,-28,-84,-8,-127v12,-26,23,-38,37,-22v-2,2,-3,5,-3,10v-34,26,-29,116,5,134v22,32,86,-1,109,-8v38,-28,104,-64,97,-149v2,-10,7,-8,19,-3xm197,-227v0,8,-4,13,-12,13v-18,0,-21,-20,-16,-34v18,-1,28,2,28,21xm101,-252v7,3,27,10,27,18v0,8,-9,18,-18,17v-18,-1,-24,-25,-9,-35",w:262},"ß":{d:"33,10v-29,4,-28,-32,-16,-70v18,-58,17,-137,56,-176v12,-24,46,-58,82,-43v20,8,47,24,47,54v0,30,-62,59,-67,90v33,23,56,33,63,63v-18,21,-22,36,-48,54v-24,17,-27,41,-53,16v-2,-19,7,-35,24,-42v15,-13,26,-22,34,-40v-13,-17,-78,-29,-56,-70v-3,-27,64,-54,66,-86v-8,-25,-41,-4,-52,8v-29,30,-47,83,-51,141v-17,25,-8,71,-29,101"},"à":{d:"118,-53v10,4,55,41,62,47v0,7,-5,16,-12,16r-57,-28v-20,3,-40,19,-61,18v-10,2,-43,-17,-42,-36v0,-14,7,-40,27,-41v39,-26,92,-36,104,9v0,6,-2,11,-9,15v-32,-24,-64,-6,-84,11v8,15,58,-17,72,-11xm99,-137v7,6,56,14,37,40v-28,-7,-62,-21,-100,-41v-2,-3,-2,-26,5,-23v16,4,42,17,58,24",w:173},"á":{d:"118,-53v10,4,55,41,62,47v0,7,-5,16,-12,16r-57,-28v-20,3,-40,19,-61,18v-10,2,-43,-17,-42,-36v0,-14,7,-40,27,-41v39,-26,92,-36,104,9v0,6,-2,11,-9,15v-32,-24,-64,-6,-84,11v8,15,58,-17,72,-11xm32,-117v24,-3,85,-55,101,-32v3,11,-80,53,-89,53v-13,2,-14,-10,-12,-21",w:173},"â":{d:"118,-53v10,4,55,41,62,47v0,7,-5,16,-12,16r-57,-28v-20,3,-40,19,-61,18v-10,2,-43,-17,-42,-36v0,-14,7,-40,27,-41v39,-26,92,-36,104,9v0,6,-2,11,-9,15v-32,-24,-64,-6,-84,11v8,15,58,-17,72,-11xm147,-97v-27,-6,-39,-26,-60,-37v-21,7,-38,46,-65,23v-2,-5,-3,-10,-4,-14v18,-4,43,-31,61,-42v28,5,40,21,62,36v12,8,18,17,18,25v0,6,-4,9,-12,9",w:173},"ã":{d:"118,-53v10,4,55,41,62,47v0,7,-5,16,-12,16r-57,-28v-20,3,-40,19,-61,18v-10,2,-43,-17,-42,-36v0,-14,7,-40,27,-41v39,-26,92,-36,104,9v0,6,-2,11,-9,15v-32,-24,-64,-6,-84,11v8,15,58,-17,72,-11xm114,-136v22,-8,41,-24,64,-26v3,11,-7,10,-7,21v-26,20,-45,30,-58,30v-3,3,-49,-26,-49,-28v-10,-1,-32,35,-51,31v-12,-32,8,-29,32,-51v24,-21,54,20,69,23",w:173},"ä":{d:"118,-53v10,4,55,41,62,47v0,7,-5,16,-12,16r-57,-28v-20,3,-40,19,-61,18v-32,5,-66,-64,-15,-77v39,-26,92,-36,104,9v0,6,-3,11,-9,15v-32,-24,-64,-6,-84,11v8,15,58,-17,72,-11xm142,-119v0,8,-4,13,-12,13v-18,0,-21,-20,-16,-34v18,-1,28,2,28,21xm46,-144v7,3,28,9,27,18v1,8,-9,18,-18,17v-18,-1,-25,-25,-9,-35",w:173},"å":{d:"118,-53v10,4,55,41,62,47v0,7,-5,16,-12,16r-57,-28v-20,3,-40,19,-61,18v-10,2,-43,-17,-42,-36v0,-14,7,-40,27,-41v39,-26,92,-36,104,9v0,6,-2,11,-9,15v-32,-24,-64,-6,-84,11v8,15,58,-17,72,-11xm54,-101v-37,-20,-9,-71,34,-65v13,1,25,3,38,13v27,45,-34,73,-72,52xm61,-128v4,20,48,7,49,-5v0,-5,-9,-7,-28,-10v-12,-2,-21,11,-21,15",w:173},"æ":{d:"145,-44r33,7v2,42,-59,29,-85,16v-6,7,-35,24,-48,15v-19,2,-35,-21,-33,-37v2,-24,5,-19,28,-36v-6,-8,-45,3,-33,-21v21,-22,58,-12,85,-1v6,-5,35,-28,45,-15v20,-4,36,17,36,35v0,23,-4,21,-28,37xm111,-72v12,3,49,-16,19,-17v-5,0,-20,12,-19,17xm74,-50v-14,-4,-48,16,-19,17v4,1,19,-14,19,-17",w:184},"ç":{d:"108,-118v30,-6,56,21,25,33v-24,-6,-39,5,-75,23v-7,4,-12,12,-15,22v31,28,86,3,128,9v3,28,-29,16,-44,28v-53,15,-106,10,-120,-37v0,-48,62,-70,101,-78xm92,18v23,4,45,12,48,32v-2,6,-12,28,-25,28v-24,6,-50,10,-77,13v-16,-4,-11,-28,7,-29v17,-1,51,-4,63,-12v-14,-15,-57,10,-46,-32v9,-8,0,-25,21,-26v6,6,12,14,9,26",w:171},"è":{d:"108,-124v42,-3,70,39,50,73v-22,-1,-70,12,-94,10v-1,1,-2,3,-2,3v0,3,12,7,35,14v18,0,64,7,30,21v-10,14,-31,6,-53,6v-26,-7,-70,-26,-70,-58v0,-54,48,-65,104,-69xm130,-78v-2,-35,-66,-13,-77,3v16,6,62,6,77,-3xm95,-166v7,6,54,14,37,40v-28,-7,-62,-21,-100,-41v-3,-3,-3,-26,5,-24v16,5,42,18,58,25",w:161},"é":{d:"108,-124v42,-3,70,39,50,73v-22,-1,-70,12,-94,10v-1,1,-2,3,-2,3v0,3,12,7,35,14v18,0,64,7,30,21v-10,14,-31,6,-53,6v-26,-7,-70,-26,-70,-58v0,-54,48,-65,104,-69xm130,-78v-2,-35,-66,-13,-77,3v16,6,62,6,77,-3xm76,-169v26,-11,48,-32,59,-14v3,10,-80,53,-89,53v-14,1,-14,-10,-12,-21v15,-7,16,-7,42,-18",w:161},"ê":{d:"108,-124v42,-3,70,39,50,73v-22,-1,-70,12,-94,10v-1,1,-2,3,-2,3v0,3,12,7,35,14v18,0,64,7,30,21v-10,14,-31,6,-53,6v-26,-7,-70,-26,-70,-58v0,-54,48,-65,104,-69xm130,-78v-2,-35,-66,-13,-77,3v16,6,62,6,77,-3xm145,-129v-27,-6,-39,-26,-60,-37v-8,0,-10,4,-14,10v-11,15,-51,34,-56,0v17,-4,44,-32,61,-43v28,5,41,21,63,36v12,8,17,17,17,25v0,6,-3,9,-11,9",w:161},"ë":{d:"108,-124v42,-3,70,39,50,73v-22,-1,-70,12,-94,10r-3,3v0,3,12,7,36,14v18,0,64,7,30,21v-10,14,-31,6,-53,6v-26,-7,-67,-27,-71,-58v7,-52,48,-65,105,-69xm130,-78v-2,-35,-66,-13,-77,3v16,6,62,6,77,-3xm140,-144v0,8,-4,12,-12,12v-18,0,-19,-19,-16,-33v18,-1,29,1,28,21xm44,-169v7,3,28,9,28,17v0,9,-9,18,-18,18v-18,0,-25,-24,-10,-35",w:161},"ì":{d:"57,-98v22,5,13,50,11,95v-7,1,-11,2,-20,-4v1,-7,-12,-18,-10,-24v4,-22,-2,-64,19,-67xm70,-139v14,10,54,14,37,41v-28,-7,-61,-22,-99,-42v-3,-2,-3,-25,5,-23v15,5,41,17,57,24",w:109},"í":{d:"59,-98v20,4,15,53,10,95v-6,1,-11,2,-19,-4v1,-7,-12,-18,-10,-24v4,-22,-4,-65,19,-67xm50,-139v27,-11,49,-32,59,-14v3,11,-80,53,-89,53v-14,1,-14,-12,-11,-22v15,-7,14,-6,41,-17",w:105},"î":{d:"72,-98v20,5,12,51,10,95v-6,2,-13,1,-20,-4v1,-8,-12,-18,-10,-24v4,-22,-3,-65,20,-67xm134,-94v-26,-7,-39,-25,-60,-37v-7,0,-9,4,-13,10v-14,15,-51,34,-56,-1v18,-4,45,-33,61,-43v27,6,40,22,62,37v12,8,18,17,18,25v0,6,-4,9,-12,9",w:143},"ï":{d:"55,-97v19,5,15,53,10,95v-17,5,-26,-14,-30,-28v6,-20,-3,-65,20,-67xm110,-118v0,8,-4,13,-12,13v-17,0,-19,-19,-16,-34v18,-1,29,1,28,21xm14,-143v6,3,28,8,28,17v0,9,-9,18,-18,18v-18,0,-25,-24,-10,-35",w:107},"ñ":{d:"115,-129v34,6,59,50,59,105v0,31,-15,24,-30,17v-15,-29,-5,-42,-20,-81v-35,-13,-68,52,-88,61v-20,-4,-38,-36,-19,-59v0,-12,3,-14,10,-28v11,-8,18,11,27,12xm117,-166v22,-7,41,-23,64,-26v3,11,-7,10,-7,21v-26,20,-45,30,-58,30v-3,3,-49,-26,-49,-28v-10,-1,-32,35,-51,31v-5,-12,-8,-16,0,-23v4,-6,28,-29,48,-33v17,-3,43,28,53,28",w:171},"ò":{d:"102,-132v50,-20,99,16,99,60v0,54,-60,64,-108,79v-50,-2,-110,-48,-76,-100v22,-17,49,-33,85,-39xm136,-104v-34,0,-91,27,-94,47v16,51,125,16,125,-22v0,-17,-10,-25,-31,-25xm115,-181v14,10,51,13,37,40v-28,-7,-62,-21,-100,-41v-3,-2,-3,-26,5,-23v16,5,42,17,58,24",w:191},"ó":{d:"102,-132v50,-20,99,16,99,60v0,54,-60,64,-108,79v-50,-2,-110,-48,-76,-100v22,-17,49,-33,85,-39xm136,-104v-34,0,-91,27,-94,47v16,51,125,16,125,-22v0,-17,-10,-25,-31,-25xm49,-154v24,-3,85,-55,101,-32v3,11,-80,53,-89,53v-14,0,-13,-8,-12,-21",w:191},"ô":{d:"102,-132v50,-20,99,16,99,60v0,54,-60,64,-108,79v-50,-2,-110,-48,-76,-100v22,-17,49,-33,85,-39xm136,-104v-34,0,-91,27,-94,47v16,51,125,16,125,-22v0,-17,-10,-25,-31,-25xm110,-177v-22,6,-38,45,-65,22v-2,-4,-3,-9,-4,-13v18,-4,43,-32,61,-43v27,6,40,21,62,36v12,9,18,17,18,25v1,11,-15,10,-23,7",w:191},"õ":{d:"102,-132v50,-20,99,16,99,60v0,54,-60,64,-108,79v-50,-2,-110,-48,-76,-100v22,-17,49,-33,85,-39xm136,-104v-34,0,-91,27,-94,47v16,51,125,16,125,-22v0,-17,-10,-25,-31,-25xm58,-199v26,-21,54,18,69,22v4,0,15,-5,34,-13v22,-9,21,-16,31,-13v3,11,-9,9,-7,22v-26,20,-46,30,-59,30v-2,4,-49,-28,-49,-29v-11,0,-32,31,-46,32v-12,-3,-13,-21,-4,-23v4,-6,14,-15,31,-28",w:191},"ö":{d:"102,-132v50,-20,99,16,99,60v0,54,-60,64,-108,79v-50,-2,-110,-48,-76,-100v22,-17,49,-33,85,-39xm136,-104v-34,0,-91,27,-94,47v16,51,125,16,125,-22v0,-17,-10,-25,-31,-25xm161,-160v0,8,-4,13,-12,13v-17,0,-19,-19,-16,-34v18,-1,29,1,28,21xm65,-185v7,3,28,9,28,18v0,7,-9,18,-18,17v-18,1,-25,-24,-10,-35",w:191},"÷":{d:"167,-158v-4,3,-7,9,-10,20v-23,4,-34,-8,-29,-31v14,-6,18,1,39,11xm78,-72v-53,11,-53,12,-69,-15v-1,-12,11,-17,22,-14v71,-13,151,-18,230,-24v11,1,21,16,23,28v-28,20,-90,11,-126,16v-36,5,-62,5,-80,9xm123,-40v19,-17,41,-1,41,17v0,13,-6,19,-17,19v-15,0,-29,-14,-24,-36",w:293},"ø":{d:"76,-136v17,7,33,-8,51,0v9,-6,21,-13,36,-21v23,22,-13,31,3,50v11,13,4,21,14,35v-4,5,-1,14,-4,23v-14,23,-45,41,-84,39v-12,2,-29,28,-41,38v-2,-11,-34,-10,-15,-30v3,-7,5,-11,5,-11v-15,-24,-60,-54,-22,-89v23,-21,25,-32,57,-34xm102,-54v18,1,50,-19,30,-32v-12,7,-22,18,-30,32xm85,-92v-14,3,-26,8,-38,17v2,20,17,13,26,0v6,-8,12,-13,12,-17",w:188},"ù":{d:"196,-129v-1,-4,12,-13,15,-13v6,0,8,7,8,21v0,24,-7,25,-13,45v-7,7,-14,21,-24,29v-9,24,-61,45,-89,45v-63,0,-105,-72,-67,-126v24,-3,19,27,18,46v-1,26,23,42,54,40v38,-3,88,-51,98,-87xm126,-166v7,6,56,14,37,40v-28,-7,-62,-22,-100,-42v-2,-3,-2,-26,5,-23v16,4,42,18,58,25",w:213},"ú":{d:"196,-129v-1,-4,12,-13,15,-13v6,0,8,7,8,21v0,24,-7,25,-13,45v-7,7,-14,21,-24,29v-9,24,-61,45,-89,45v-63,0,-105,-72,-67,-126v24,-3,19,27,18,46v-1,26,23,42,54,40v38,-3,88,-51,98,-87xm106,-174v26,-11,48,-32,59,-14v3,11,-81,53,-89,54v-13,1,-15,-12,-11,-22v15,-7,14,-7,41,-18",w:213},"û":{d:"196,-129v-1,-4,12,-13,15,-13v6,0,8,7,8,21v0,24,-7,25,-13,45v-7,7,-14,21,-24,29v-9,24,-61,45,-89,45v-63,0,-105,-72,-67,-126v24,-3,19,27,18,46v-1,26,23,42,54,40v38,-3,88,-51,98,-87xm172,-143v-27,-6,-39,-26,-60,-37v-8,0,-10,4,-14,10v-11,15,-49,35,-56,0v17,-4,44,-32,61,-43v27,6,41,21,63,36v12,9,17,17,17,25v0,6,-3,9,-11,9",w:213},"ü":{d:"196,-129v-1,-4,12,-13,15,-13v6,0,8,7,8,21v0,24,-7,25,-13,45v-7,7,-14,21,-24,29v-9,24,-61,45,-89,45v-63,0,-105,-72,-67,-126v24,-3,19,27,18,46v-1,26,23,42,54,40v38,-3,88,-51,98,-87xm168,-161v0,8,-3,13,-11,13v-17,0,-20,-19,-17,-34v18,-1,29,1,28,21xm72,-186v7,3,29,9,28,18v0,7,-9,18,-18,17v-18,1,-25,-24,-10,-35",w:213},"ÿ":{d:"118,85v-11,11,-11,38,-22,61v-2,-1,-2,31,-17,27v-11,0,-21,-10,-21,-22v20,-66,23,-61,64,-168v-22,1,-38,16,-58,4v-22,4,-51,-16,-51,-42v-11,-13,-7,-59,7,-58v16,1,21,24,22,51v21,33,66,5,94,-7v4,-3,26,-14,38,-29r17,0v23,44,-23,59,-34,102v-6,9,-13,9,-13,26v-15,6,-12,33,-27,48v0,2,1,4,1,7xm158,-136v0,8,-4,13,-12,13v-18,0,-21,-20,-16,-34v18,-1,29,1,28,21xm62,-161v7,3,28,9,27,18v1,8,-8,17,-17,17v-18,0,-26,-24,-10,-35",w:190},"ı":{d:"43,-103v21,4,16,56,11,100v-7,2,-11,1,-20,-5v0,-7,-13,-18,-11,-25v4,-23,-3,-68,20,-70",w:80},"Œ":{d:"247,-243v71,4,161,-7,245,-8v17,0,27,6,27,17v-8,27,-70,14,-104,23v-3,1,-52,0,-65,7r0,4v16,16,17,29,17,65v32,10,74,-14,99,16v-14,25,-76,17,-127,24v-17,18,-55,32,-75,51v85,0,128,-3,204,-11v15,-2,21,11,20,29v-78,24,-177,12,-270,24v-24,3,-24,-29,-48,-15v-46,7,-70,4,-105,-4v-19,-18,-42,-22,-52,-55v-10,-34,0,-47,12,-78v-18,-59,48,-78,105,-84v17,-18,103,-13,117,-5xm125,-45v76,-9,186,-43,209,-105v-26,-67,-137,-83,-217,-54v3,34,-45,25,-60,58v-41,48,5,108,68,101",w:492},"œ":{d:"185,-54v25,28,107,-17,104,33v-12,12,-60,14,-87,14v0,0,1,1,2,1v-11,1,-39,-9,-50,-17v-28,17,-75,32,-114,7v-22,-14,-34,-11,-34,-41v0,-36,33,-49,48,-75v29,-16,72,-3,95,11v12,-9,48,-27,59,-26v30,0,64,15,65,40v0,7,-6,20,-20,37v-29,1,-44,11,-68,16xm226,-106v-21,-7,-41,-2,-48,13v14,1,42,-7,48,-13xm132,-87v-21,-35,-94,11,-92,24v-2,14,43,21,61,21v25,0,36,-20,31,-45",w:295},"Ÿ":{d:"176,-189v35,20,-25,54,-39,72v-26,34,-57,57,-74,104v-10,15,-4,14,-23,3r0,-10v19,-44,27,-46,50,-81v-9,-5,-24,4,-34,4v-38,0,-54,-50,-44,-87v21,-5,18,19,22,35v4,18,15,27,29,27v41,0,60,-39,113,-67xm153,-222v0,8,-3,12,-11,12v-18,0,-21,-19,-16,-33v18,-1,28,2,27,21xm57,-247v8,2,29,9,28,17v0,21,-37,24,-36,1v0,-7,2,-13,8,-18",w:135},"ƒ":{d:"115,-262v-23,6,-39,63,-38,96v1,3,57,2,54,16v1,22,-45,15,-51,30v3,34,12,68,10,103v14,17,-18,53,-28,63v-48,8,-89,5,-95,-37v20,-5,77,21,83,-18v17,-29,-4,-61,0,-98v0,-5,-3,-10,-7,-17v-33,4,-43,-17,-25,-37v10,-4,27,5,27,-10v0,-43,15,-77,32,-109v12,-7,16,-22,38,-20v11,1,51,35,25,55v-9,1,-16,-17,-25,-17",w:145},"ˆ":{d:"144,-220v-29,0,-41,-27,-63,-39v-8,0,-11,5,-15,11v-17,12,-32,31,-54,13v-2,-5,-3,-9,-4,-14v20,-5,45,-33,64,-45v28,6,43,23,65,38v12,9,19,19,19,27v0,6,-4,9,-12,9",w:165},"ˇ":{d:"39,-286v33,46,63,-4,96,-16v6,0,9,6,9,19v0,24,-49,46,-77,46v-32,0,-52,-28,-59,-48v0,-25,23,-17,31,-1",w:153},"˘":{d:"65,-269v20,-11,45,-31,74,-36v20,30,-42,40,-59,66v-5,6,-11,8,-18,8v-8,-3,-45,-32,-51,-54v5,-24,14,-13,34,1",w:158},"˙":{d:"23,-302v15,-13,32,1,32,18v1,22,-36,29,-39,4v0,0,3,-7,7,-22",w:70},"˚":{d:"23,-225v-43,-24,-11,-85,41,-78v16,2,31,4,46,17v32,54,-41,86,-87,61xm33,-257v2,20,57,11,57,-6v0,-6,-11,-9,-33,-12v-14,-2,-24,13,-24,18",w:123},"˛":{d:"82,-5v-8,12,-16,55,-21,75v0,4,2,7,7,7v6,0,22,-7,50,-20v8,0,12,7,12,20v-2,22,-6,14,-27,30v-15,12,-26,16,-30,16v-47,-8,-59,-14,-56,-75v8,-27,12,-54,25,-77v19,-21,35,15,40,24",w:138},"˜":{d:"47,-300v26,-21,57,19,72,23v4,0,16,-5,36,-14v24,-10,22,-16,32,-13v3,12,-7,11,-7,23v-27,21,-48,32,-62,32v-3,2,-52,-27,-51,-31v-12,-2,-34,40,-54,33v-4,-13,-8,-18,1,-24v5,-7,16,-15,33,-29",w:186},"˝":{d:"91,-249v15,-11,38,-53,57,-29v0,9,0,14,-3,23v-2,3,-20,22,-54,55v-5,5,-10,8,-16,8v-17,2,-6,-22,-7,-31v-1,0,-2,0,-4,1v-17,21,-29,31,-50,27v-5,-18,-3,-15,3,-27v23,-27,40,-46,48,-59v7,-12,31,3,29,9v-1,14,-3,24,-13,31v4,4,9,-1,10,-8",w:151},"–":{d:"6,-66v-8,-72,79,-21,146,-39v37,-10,79,7,111,0v9,8,14,13,14,17v2,26,-72,13,-99,21v-83,4,-124,21,-172,1",w:282},"—":{d:"175,-106v86,-9,201,1,286,-1v11,6,13,11,6,30v-118,15,-246,10,-377,10v-25,0,-73,3,-82,-8r-2,-26v11,-13,32,-9,52,-7v38,3,84,-5,117,2",w:485},"‘":{d:"73,-262v-10,7,-41,39,-38,69v-15,13,-27,-16,-28,-28v-2,-20,51,-83,66,-83v20,0,25,41,0,42",w:95},"’":{d:"74,-300v13,31,-1,99,-44,101v-13,0,-19,-5,-19,-15v6,-10,31,-34,35,-59v2,-11,1,-32,11,-32v6,0,11,2,17,5",w:90},"‚":{d:"25,63v-26,21,-48,-2,-22,-24v14,-12,35,-40,35,-69v3,-2,3,-11,12,-9v35,17,5,88,-25,102",w:97},"“":{d:"66,-261v-21,5,-37,51,-22,77v0,4,-2,6,-7,6v-31,-9,-38,-62,-12,-94v12,-15,21,-28,31,-34v16,-1,19,24,22,34v10,-11,22,-32,43,-23v-2,8,4,16,5,19v-6,11,-51,53,-29,74v-12,21,-30,5,-33,-17v-6,-13,9,-28,2,-42",w:118},"”":{d:"120,-294v12,3,30,26,19,34v2,15,-40,70,-55,66v-40,-10,10,-51,14,-64v3,-3,8,-31,22,-36xm70,-306v14,3,26,34,16,49v-19,30,-31,45,-58,59v-12,-11,-33,-17,-7,-36v13,-19,36,-27,36,-59v0,-5,9,-13,13,-13",w:148},"„":{d:"25,63v-26,21,-48,-2,-22,-24v11,-9,36,-41,35,-69v3,-2,4,-12,12,-9v36,14,5,89,-25,102xm84,64v-24,20,-45,-1,-21,-24v21,-20,32,-35,35,-69v3,-2,3,-11,12,-9v36,17,9,86,-26,102",w:135},"†":{d:"22,-286v15,6,5,-20,19,-19v9,-3,15,21,17,22v6,1,12,3,20,6v3,10,5,16,-9,16v-34,-10,-6,51,-34,52v-20,-7,11,-47,-15,-49v-14,3,-25,-5,-17,-24v7,-2,14,-4,19,-4",w:77},"‡":{d:"102,-284v16,2,42,-2,33,18v-7,15,-42,1,-38,30v3,3,31,1,30,11v4,15,-29,19,-36,24v-2,18,-4,24,-16,29r-25,-26v-25,7,-53,3,-42,-25v4,-10,70,0,51,-22v-17,4,-41,12,-39,-15v-5,-16,39,-18,44,-20v4,-2,7,-10,10,-24v19,-3,23,6,28,20",w:145},"•":{d:"130,-114v0,47,-124,54,-120,-8r6,-31v44,-28,64,-34,104,0v8,6,10,20,10,39",w:139},"…":{d:"244,-24v-1,21,-38,32,-41,3v-2,-19,23,-22,34,-17v0,7,0,15,7,14xm113,-24v0,-22,28,-21,38,-8v5,34,-39,40,-38,8xm35,-2v-10,-2,-36,-17,-18,-29v-1,-15,17,-17,31,-6v7,17,6,33,-13,35",w:258},"‰":{d:"398,-131v58,-1,87,13,72,65v-1,30,-66,63,-99,65v-56,3,-99,-58,-62,-102v2,2,5,2,8,2v20,-16,51,-17,81,-30xm202,-279v33,0,94,-24,95,18v-7,31,-33,27,-54,55v-36,32,-71,74,-112,99v-18,18,-40,34,-51,58v-19,14,-25,37,-56,40v-17,2,-25,-29,-10,-40v15,-11,40,-37,52,-52r87,-72v-51,13,-100,6,-116,-27v1,-5,-6,-30,-9,-36v-3,-5,22,-41,27,-39v29,2,16,34,5,49v0,15,14,23,42,23v42,0,59,-31,28,-38v-17,-4,-53,3,-50,-23v0,-7,1,-12,4,-16v16,-9,36,4,49,5v0,0,23,-4,69,-4xm222,-118v33,-2,55,18,50,57v-29,36,-48,45,-96,50v-27,-5,-56,-17,-58,-51v13,-37,64,-43,104,-56xm335,-61v13,44,101,7,108,-31v-11,-3,-20,-4,-30,-4v-18,-1,-82,18,-78,35xm225,-244v-18,0,-29,-1,-46,3v7,15,6,28,0,43v15,-14,34,-30,46,-46xm164,-53v26,5,59,-10,76,-26v-17,-16,-49,2,-67,14v1,8,-8,6,-9,12",w:485},"‹":{d:"64,-107v9,17,86,17,87,43v0,11,-4,16,-13,16v-36,-11,-70,-22,-109,-31v-19,-4,-18,-14,-9,-36v59,-56,93,-84,101,-84v17,0,19,20,13,29",w:159},"›":{d:"41,-181v26,27,112,44,70,91r-82,60v-20,3,-25,-23,-13,-32r70,-51r-66,-46v-5,-6,-4,-28,5,-29v4,2,9,4,16,7",w:137},"⁄":{d:"193,-305v7,6,17,31,3,41v-10,7,-12,13,-21,25v-79,56,-190,209,-197,260r-18,0v-23,-19,9,-70,15,-85v52,-83,121,-179,218,-241",w:120},"™":{d:"213,-307v28,9,11,49,7,75v-1,4,-4,6,-11,6v-7,1,-11,-14,-11,-34v-14,-6,-34,34,-46,28v-2,0,-10,-9,-24,-27v-10,7,-3,36,-27,31v-15,-24,-3,-27,1,-48v-6,-7,-27,-1,-31,3v-3,14,-7,30,-11,51v-5,10,-29,9,-24,-12v-5,-8,1,-18,3,-35v-13,6,-33,2,-29,-18v20,-17,64,-17,100,-19v28,-1,29,30,45,39v11,-6,35,-32,58,-40",w:239},"∆":{d:"18,-1v-24,-30,8,-48,25,-71v14,-19,34,-28,40,-56v20,-35,29,-14,57,4v9,39,43,62,57,102v0,16,-34,17,-50,14v-28,2,-72,4,-129,7xm139,-47r-22,-52v-12,-5,-12,15,-24,27v-7,6,-14,16,-23,28v23,1,36,-1,69,-3",w:199},"∙":{d:"57,-77v6,18,-7,21,-19,23v-34,6,-25,-40,-9,-43v18,-3,29,8,28,20",w:67},"√":{d:"364,-218v43,-21,80,-51,104,-32v-3,19,-24,21,-44,40v-41,15,-78,53,-136,78r-137,98v-20,16,-79,66,-91,68v-3,1,-25,-11,-24,-13v-4,-28,-43,-61,-30,-85v26,-15,42,19,58,32r295,-188v0,1,2,2,5,2",w:474},"∞":{d:"322,-72v-4,22,-54,41,-76,41v-43,0,-83,-17,-114,-35v-46,19,-125,53,-128,-18v-1,-14,10,-22,13,-35v29,-10,62,-31,97,-4v37,28,47,5,75,-8v40,-19,73,-10,114,1v13,1,18,55,19,58xm228,-69v15,0,62,-12,61,-25v-19,-23,-89,-10,-105,11v0,2,1,4,2,4v28,6,42,10,42,10xm75,-102v-13,2,-41,4,-44,19v0,4,3,7,10,7v21,0,40,-6,54,-17v-9,-6,-16,-9,-20,-9",w:330},"∫":{d:"62,-151v-7,-70,20,-130,63,-150v28,1,39,10,70,23v20,8,6,33,-6,35v-29,-13,-45,-20,-49,-20v-20,-4,-45,51,-43,70v8,60,5,129,5,189v0,62,-27,93,-79,93v-37,-1,-71,-14,-63,-57v21,0,79,34,91,-2v16,-3,14,-64,21,-85v-2,-31,-1,-74,-10,-96",w:156},"≈":{d:"133,-112v21,15,48,-30,78,-17v3,3,5,7,5,9v-8,30,-47,45,-76,45v-19,0,-64,-48,-90,-21r-29,20v-6,-1,-17,-16,-15,-32v24,-17,70,-42,107,-21v4,4,10,9,20,17xm138,-57v28,2,48,-25,76,-26v13,30,-21,42,-40,53v-41,24,-77,-15,-114,-23v-15,14,-46,32,-49,-1v-3,-9,27,-28,54,-30",w:223},"≠":{d:"48,-130v29,11,49,-57,60,-50v25,6,7,27,-1,46v22,5,29,7,21,22v-18,2,-48,-1,-50,15v9,8,53,-7,54,10v-4,22,-46,20,-72,24v-7,13,-18,32,-34,57v-8,6,-15,-3,-13,-14v-1,-9,15,-39,14,-45v-30,5,-24,-17,-13,-25v12,-1,36,4,29,-13v-14,0,-47,6,-36,-12v0,-18,27,-13,41,-15",w:140},"≤":{d:"73,-109v10,15,87,16,87,42v0,11,-5,16,-13,16v-36,-11,-69,-24,-109,-31v-18,-8,-18,-13,-9,-36v59,-56,93,-83,101,-83v16,0,18,17,14,28v-27,24,-42,35,-71,64xm10,-29v35,-12,117,-26,148,-3v1,2,-5,19,-8,18r-124,15v-16,2,-26,-18,-16,-30",w:168},"≥":{d:"115,-174v20,7,53,36,20,57v-19,11,-91,68,-82,59v-18,3,-25,-22,-13,-31v15,-10,14,-10,70,-51r-50,-37v-5,-4,-5,-27,4,-28v16,7,40,17,51,31xm14,-32v33,-10,86,-14,127,-10v12,12,5,23,-11,27v-49,9,-82,13,-99,13v-22,0,-24,-16,-17,-30",w:163},"◊":{d:"76,-158v48,-8,64,11,100,36v28,19,-5,39,-22,54v-15,13,-40,32,-48,49v-17,5,-12,0,-27,-16v-6,-6,-86,-31,-68,-53r2,-9v27,-23,48,-44,63,-61xm93,-65v12,-2,35,-31,41,-38v-5,-10,-16,-14,-34,-24v-12,12,-36,29,-40,44v19,11,30,18,33,18",w:199}}}),"undefined"==typeof Raphael&&"undefined"==typeof Snap)throw new Error("Raphael or Snap.svg is required to be included.");if(_.isEmpty(Diagram.themes))throw new Error("No themes were registered. Please call registerTheme(...).");Diagram.themes.hand=Diagram.themes.snapHand||Diagram.themes.raphaelHand,Diagram.themes.simple=Diagram.themes.snapSimple||Diagram.themes.raphaelSimple,Diagram.prototype.drawSVG=function(container,options){var defaultOptions={theme:"hand"};if(options=_.defaults(options||{},defaultOptions),!(options.theme in Diagram.themes))throw new Error("Unsupported theme: "+options.theme);var div=_.isString(container)?document.getElementById(container):container;if(null===div||!div.tagName)throw new Error("Invalid container: "+container);var Theme=Diagram.themes[options.theme];new Theme(this,options,function(drawing){drawing.draw(div)})},"undefined"!=typeof jQuery&&!function($){$.fn.sequenceDiagram=function(options){return this.each(function(){var $this=$(this),diagram=Diagram.parse($this.text());$this.html(""),diagram.drawSVG(this,options)})}}(jQuery);var root="object"==typeof self&&self.self==self&&self||"object"==typeof global&&global.global==global&&global;"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=Diagram),exports.Diagram=Diagram):root.Diagram=Diagram}(); //# sourceMappingURL=sequence-diagram.js ================================================ FILE: dist/sequence-diagram-raphael-min.js ================================================ /** js sequence diagrams 2.0.1 * https://bramp.github.io/js-sequence-diagrams/ * (c) 2012-2017 Andrew Brampton (bramp.net) * @license Simplified BSD license. */ !function(){"use strict";function Diagram(){this.title=void 0,this.actors=[],this.signals=[]}function ParseError(message,hash){_.extend(this,hash),this.name="ParseError",this.message=message||""}function AssertException(message){this.message=message}function assert(exp,message){if(!exp)throw new AssertException(message)}function registerTheme(name,theme){Diagram.themes[name]=theme}function getCenterX(box){return box.x+box.width/2}function getCenterY(box){return box.y+box.height/2}function clamp(x,min,max){return xmax?max:x}function wobble(x1,y1,x2,y2){assert(_.all([x1,x2,y1,y2],_.isFinite),"x1,x2,y1,y2 must be numeric");var factor=Math.sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1))/25,r1=clamp(Math.random(),.2,.8),r2=clamp(Math.random(),.2,.8),xfactor=Math.random()>.5?factor:-factor,yfactor=Math.random()>.5?factor:-factor,p1={x:(x2-x1)*r1+x1+xfactor,y:(y2-y1)*r1+y1+yfactor},p2={x:(x2-x1)*r2+x1-xfactor,y:(y2-y1)*r2+y1-yfactor};return"C"+p1.x.toFixed(1)+","+p1.y.toFixed(1)+" "+p2.x.toFixed(1)+","+p2.y.toFixed(1)+" "+x2.toFixed(1)+","+y2.toFixed(1)}function handRect(x,y,w,h){return assert(_.all([x,y,w,h],_.isFinite),"x, y, w, h must be numeric"),"M"+x+","+y+wobble(x,y,x+w,y)+wobble(x+w,y,x+w,y+h)+wobble(x+w,y+h,x,y+h)+wobble(x,y+h,x,y)}function handLine(x1,y1,x2,y2){return assert(_.all([x1,x2,y1,y2],_.isFinite),"x1,x2,y1,y2 must be numeric"),"M"+x1.toFixed(1)+","+y1.toFixed(1)+wobble(x1,y1,x2,y2)}Diagram.prototype.getActor=function(alias,name){alias=alias.trim();var i,actors=this.actors;for(i in actors)if(actors[i].alias==alias)return actors[i];return i=actors.push(new Diagram.Actor(alias,name||alias,actors.length)),actors[i-1]},Diagram.prototype.getActorWithAlias=function(input){input=input.trim();var alias,name,s=/([\s\S]+) as (\S+)$/im.exec(input);return s?(name=s[1].trim(),alias=s[2].trim()):name=alias=input,this.getActor(alias,name)},Diagram.prototype.setTitle=function(title){this.title=title},Diagram.prototype.addSignal=function(signal){this.signals.push(signal)},Diagram.Actor=function(alias,name,index){this.alias=alias,this.name=name,this.index=index},Diagram.Signal=function(actorA,signaltype,actorB,message){this.type="Signal",this.actorA=actorA,this.actorB=actorB,this.linetype=3&signaltype,this.arrowtype=signaltype>>2&3,this.message=message},Diagram.Signal.prototype.isSelf=function(){return this.actorA.index==this.actorB.index},Diagram.Note=function(actor,placement,message){if(this.type="Note",this.actor=actor,this.placement=placement,this.message=message,this.hasManyActors()&&actor[0]==actor[1])throw new Error("Note should be over two different actors")},Diagram.Note.prototype.hasManyActors=function(){return _.isArray(this.actor)},Diagram.unescape=function(s){return s.trim().replace(/^"(.*)"$/m,"$1").replace(/\\n/gm,"\n")},Diagram.LINETYPE={SOLID:0,DOTTED:1},Diagram.ARROWTYPE={FILLED:0,OPEN:1},Diagram.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},"function"!=typeof Object.getPrototypeOf&&("object"==typeof"test".__proto__?Object.getPrototypeOf=function(object){return object.__proto__}:Object.getPrototypeOf=function(object){return object.constructor.prototype});var parser=function(){function Parser(){this.yy={}}var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[5,8,9,13,15,24],$V1=[1,13],$V2=[1,17],$V3=[24,29,30],parser={trace:function(){},yy:{},symbols_:{error:2,start:3,document:4,EOF:5,line:6,statement:7,NL:8,participant:9,actor_alias:10,signal:11,note_statement:12,title:13,message:14,note:15,placement:16,actor:17,over:18,actor_pair:19,",":20,left_of:21,right_of:22,signaltype:23,ACTOR:24,linetype:25,arrowtype:26,LINE:27,DOTLINE:28,ARROW:29,OPENARROW:30,MESSAGE:31,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",8:"NL",9:"participant",13:"title",15:"note",18:"over",20:",",21:"left_of",22:"right_of",24:"ACTOR",27:"LINE",28:"DOTLINE",29:"ARROW",30:"OPENARROW",31:"MESSAGE"},productions_:[0,[3,2],[4,0],[4,2],[6,1],[6,1],[7,2],[7,1],[7,1],[7,2],[12,4],[12,4],[19,1],[19,3],[16,1],[16,1],[11,4],[17,1],[10,1],[23,2],[23,1],[25,1],[25,1],[26,1],[26,1],[14,1]],performAction:function(yytext,yyleng,yylineno,yy,yystate,$$,_$){var $0=$$.length-1;switch(yystate){case 1:return yy.parser.yy;case 4:break;case 6:$$[$0];break;case 7:case 8:yy.parser.yy.addSignal($$[$0]);break;case 9:yy.parser.yy.setTitle($$[$0]);break;case 10:this.$=new Diagram.Note($$[$0-1],$$[$0-2],$$[$0]);break;case 11:this.$=new Diagram.Note($$[$0-1],Diagram.PLACEMENT.OVER,$$[$0]);break;case 12:case 20:this.$=$$[$0];break;case 13:this.$=[$$[$0-2],$$[$0]];break;case 14:this.$=Diagram.PLACEMENT.LEFTOF;break;case 15:this.$=Diagram.PLACEMENT.RIGHTOF;break;case 16:this.$=new Diagram.Signal($$[$0-3],$$[$0-2],$$[$0-1],$$[$0]);break;case 17:this.$=yy.parser.yy.getActor(Diagram.unescape($$[$0]));break;case 18:this.$=yy.parser.yy.getActorWithAlias(Diagram.unescape($$[$0]));break;case 19:this.$=$$[$0-1]|$$[$0]<<2;break;case 21:this.$=Diagram.LINETYPE.SOLID;break;case 22:this.$=Diagram.LINETYPE.DOTTED;break;case 23:this.$=Diagram.ARROWTYPE.FILLED;break;case 24:this.$=Diagram.ARROWTYPE.OPEN;break;case 25:this.$=Diagram.unescape($$[$0].substring(1))}},table:[o($V0,[2,2],{3:1,4:2}),{1:[3]},{5:[1,3],6:4,7:5,8:[1,6],9:[1,7],11:8,12:9,13:[1,10],15:[1,12],17:11,24:$V1},{1:[2,1]},o($V0,[2,3]),o($V0,[2,4]),o($V0,[2,5]),{10:14,24:[1,15]},o($V0,[2,7]),o($V0,[2,8]),{14:16,31:$V2},{23:18,25:19,27:[1,20],28:[1,21]},{16:22,18:[1,23],21:[1,24],22:[1,25]},o([20,27,28,31],[2,17]),o($V0,[2,6]),o($V0,[2,18]),o($V0,[2,9]),o($V0,[2,25]),{17:26,24:$V1},{24:[2,20],26:27,29:[1,28],30:[1,29]},o($V3,[2,21]),o($V3,[2,22]),{17:30,24:$V1},{17:32,19:31,24:$V1},{24:[2,14]},{24:[2,15]},{14:33,31:$V2},{24:[2,19]},{24:[2,23]},{24:[2,24]},{14:34,31:$V2},{14:35,31:$V2},{20:[1,36],31:[2,12]},o($V0,[2,16]),o($V0,[2,10]),o($V0,[2,11]),{17:37,24:$V1},{31:[2,13]}],defaultActions:{3:[2,1],24:[2,14],25:[2,15],27:[2,19],28:[2,23],29:[2,24],37:[2,13]},parseError:function(str,hash){if(!hash.recoverable)throw new Error(str);this.trace(str)},parse:function(input){function lex(){var token;return token=lexer.lex()||EOF,"number"!=typeof token&&(token=self.symbols_[token]||token),token}var self=this,stack=[0],vstack=[null],lstack=[],table=this.table,yytext="",yylineno=0,yyleng=0,recovering=0,TERROR=2,EOF=1,args=lstack.slice.call(arguments,1),lexer=Object.create(this.lexer),sharedState={yy:{}};for(var k in this.yy)Object.prototype.hasOwnProperty.call(this.yy,k)&&(sharedState.yy[k]=this.yy[k]);lexer.setInput(input,sharedState.yy),sharedState.yy.lexer=lexer,sharedState.yy.parser=this,"undefined"==typeof lexer.yylloc&&(lexer.yylloc={});var yyloc=lexer.yylloc;lstack.push(yyloc);var ranges=lexer.options&&lexer.options.ranges;"function"==typeof sharedState.yy.parseError?this.parseError=sharedState.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var symbol,preErrorSymbol,state,action,r,p,len,newState,expected,yyval={};;){if(state=stack[stack.length-1],this.defaultActions[state]?action=this.defaultActions[state]:(null!==symbol&&"undefined"!=typeof symbol||(symbol=lex()),action=table[state]&&table[state][symbol]),"undefined"==typeof action||!action.length||!action[0]){var errStr="";expected=[];for(p in table[state])this.terminals_[p]&&p>TERROR&&expected.push("'"+this.terminals_[p]+"'");errStr=lexer.showPosition?"Parse error on line "+(yylineno+1)+":\n"+lexer.showPosition()+"\nExpecting "+expected.join(", ")+", got '"+(this.terminals_[symbol]||symbol)+"'":"Parse error on line "+(yylineno+1)+": Unexpected "+(symbol==EOF?"end of input":"'"+(this.terminals_[symbol]||symbol)+"'"),this.parseError(errStr,{text:lexer.match,token:this.terminals_[symbol]||symbol,line:lexer.yylineno,loc:yyloc,expected:expected})}if(action[0]instanceof Array&&action.length>1)throw new Error("Parse Error: multiple actions possible at state: "+state+", token: "+symbol);switch(action[0]){case 1:stack.push(symbol),vstack.push(lexer.yytext),lstack.push(lexer.yylloc),stack.push(action[1]),symbol=null,preErrorSymbol?(symbol=preErrorSymbol,preErrorSymbol=null):(yyleng=lexer.yyleng,yytext=lexer.yytext,yylineno=lexer.yylineno,yyloc=lexer.yylloc,recovering>0&&recovering--);break;case 2:if(len=this.productions_[action[1]][1],yyval.$=vstack[vstack.length-len],yyval._$={first_line:lstack[lstack.length-(len||1)].first_line,last_line:lstack[lstack.length-1].last_line,first_column:lstack[lstack.length-(len||1)].first_column,last_column:lstack[lstack.length-1].last_column},ranges&&(yyval._$.range=[lstack[lstack.length-(len||1)].range[0],lstack[lstack.length-1].range[1]]),r=this.performAction.apply(yyval,[yytext,yyleng,yylineno,sharedState.yy,action[1],vstack,lstack].concat(args)),"undefined"!=typeof r)return r;len&&(stack=stack.slice(0,-1*len*2),vstack=vstack.slice(0,-1*len),lstack=lstack.slice(0,-1*len)),stack.push(this.productions_[action[1]][0]),vstack.push(yyval.$),lstack.push(yyval._$),newState=table[stack[stack.length-2]][stack[stack.length-1]],stack.push(newState);break;case 3:return!0}}return!0}},lexer=function(){var lexer={EOF:1,parseError:function(str,hash){if(!this.yy.parser)throw new Error(str);this.yy.parser.parseError(str,hash)},setInput:function(input,yy){return this.yy=yy||this.yy||{},this._input=input,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var ch=this._input[0];this.yytext+=ch,this.yyleng++,this.offset++,this.match+=ch,this.matched+=ch;var lines=ch.match(/(?:\r\n?|\n).*/g);return lines?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),ch},unput:function(ch){var len=ch.length,lines=ch.split(/(?:\r\n?|\n)/g);this._input=ch+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-len),this.offset-=len;var oldLines=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),lines.length-1&&(this.yylineno-=lines.length-1);var r=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:lines?(lines.length===oldLines.length?this.yylloc.first_column:0)+oldLines[oldLines.length-lines.length].length-lines[0].length:this.yylloc.first_column-len},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-len]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(n){this.unput(this.match.slice(n))},pastInput:function(){var past=this.matched.substr(0,this.matched.length-this.match.length);return(past.length>20?"...":"")+past.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var next=this.match;return next.length<20&&(next+=this._input.substr(0,20-next.length)),(next.substr(0,20)+(next.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var pre=this.pastInput(),c=new Array(pre.length+1).join("-");return pre+this.upcomingInput()+"\n"+c+"^"},test_match:function(match,indexed_rule){var token,lines,backup;if(this.options.backtrack_lexer&&(backup={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(backup.yylloc.range=this.yylloc.range.slice(0))),lines=match[0].match(/(?:\r\n?|\n).*/g),lines&&(this.yylineno+=lines.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:lines?lines[lines.length-1].length-lines[lines.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+match[0].length},this.yytext+=match[0],this.match+=match[0],this.matches=match,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(match[0].length),this.matched+=match[0],token=this.performAction.call(this,this.yy,this,indexed_rule,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),token)return token;if(this._backtrack){for(var k in backup)this[k]=backup[k];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var token,match,tempMatch,index;this._more||(this.yytext="",this.match="");for(var rules=this._currentRules(),i=0;imatch[0].length)){if(match=tempMatch,index=i,this.options.backtrack_lexer){if(token=this.test_match(tempMatch,rules[i]),token!==!1)return token;if(this._backtrack){match=!1;continue}return!1}if(!this.options.flex)break}return match?(token=this.test_match(match,rules[index]),token!==!1&&token):""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var r=this.next();return r?r:this.lex()},begin:function(condition){this.conditionStack.push(condition)},popState:function(){var n=this.conditionStack.length-1;return n>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(n){return n=this.conditionStack.length-1-Math.abs(n||0),n>=0?this.conditionStack[n]:"INITIAL"},pushState:function(condition){this.begin(condition)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(yy,yy_,$avoiding_name_collisions,YY_START){switch($avoiding_name_collisions){case 0:return 8;case 1:break;case 2:break;case 3:return 9;case 4:return 21;case 5:return 22;case 6:return 18;case 7:return 15;case 8:return 13;case 9:return 20;case 10:return 24;case 11:return 24;case 12:return 28;case 13:return 27;case 14:return 30;case 15:return 29;case 16:return 31;case 17:return 5;case 18:return"INVALID"}},rules:[/^(?:[\r\n]+)/i,/^(?:\s+)/i,/^(?:#[^\r\n]*)/i,/^(?:participant\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:,)/i,/^(?:[^\->:,\r\n"]+)/i,/^(?:"[^"]+")/i,/^(?:--)/i,/^(?:-)/i,/^(?:>>)/i,/^(?:>)/i,/^(?:[^\r\n]+)/i,/^(?:$)/i,/^(?:.)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18],inclusive:!0}}};return lexer}();return parser.lexer=lexer,Parser.prototype=parser,parser.Parser=Parser,new Parser}();"undefined"!=typeof require&&"undefined"!=typeof exports&&(exports.parser=parser,exports.Parser=parser.Parser,exports.parse=function(){return parser.parse.apply(parser,arguments)},exports.main=function(args){args[1]||(console.log("Usage: "+args[0]+" FILE"),process.exit(1));var source=require("fs").readFileSync(require("path").normalize(args[1]),"utf8");return exports.parser.parse(source)},"undefined"!=typeof module&&require.main===module&&exports.main(process.argv.slice(1))),ParseError.prototype=new Error,Diagram.ParseError=ParseError,Diagram.parse=function(input){parser.yy=new Diagram,parser.yy.parseError=function(message,hash){throw new ParseError(message,hash)};var diagram=parser.parse(input);return delete diagram.parseError,diagram};var DIAGRAM_MARGIN=10,ACTOR_MARGIN=10,ACTOR_PADDING=10,SIGNAL_MARGIN=5,SIGNAL_PADDING=5,NOTE_MARGIN=10,NOTE_PADDING=5,NOTE_OVERLAP=15,TITLE_MARGIN=0,TITLE_PADDING=5,SELF_SIGNAL_WIDTH=20,PLACEMENT=Diagram.PLACEMENT,LINETYPE=Diagram.LINETYPE,ARROWTYPE=Diagram.ARROWTYPE,ALIGN_LEFT=0,ALIGN_CENTER=1;AssertException.prototype.toString=function(){return"AssertException: "+this.message},String.prototype.trim||(String.prototype.trim=function(){return this.replace(/^\s+|\s+$/g,"")}),Diagram.themes={};var BaseTheme=function(diagram,options){this.init(diagram,options)};if(_.extend(BaseTheme.prototype,{init:function(diagram,options){this.diagram=diagram,this.actorsHeight_=0,this.signalsHeight_=0,this.title_=void 0},setupPaper:function(container){},draw:function(container){this.setupPaper(container),this.layout();var titleHeight=this.title_?this.title_.height:0,y=DIAGRAM_MARGIN+titleHeight;this.drawTitle(),this.drawActors(y),this.drawSignals(y+this.actorsHeight_)},layout:function(){function actorEnsureDistance(a,b,d){assert(a=actors.length?(a=actors[a],a.paddingRight=Math.max(d,a.paddingRight)):(a=actors[a],a.distances[b]=Math.max(d,a.distances[b]?a.distances[b]:0))}var diagram=this.diagram,font=this.font_,actors=diagram.actors,signals=diagram.signals;if(diagram.width=0,diagram.height=0,diagram.title){var title=this.title_={},bb=this.textBBox(diagram.title,font);title.textBB=bb,title.message=diagram.title,title.width=bb.width+2*(TITLE_PADDING+TITLE_MARGIN),title.height=bb.height+2*(TITLE_PADDING+TITLE_MARGIN),title.x=DIAGRAM_MARGIN,title.y=DIAGRAM_MARGIN,diagram.width+=title.width,diagram.height+=title.height}_.each(actors,function(a){var bb=this.textBBox(a.name,font);a.textBB=bb,a.x=0,a.y=0,a.width=bb.width+2*(ACTOR_PADDING+ACTOR_MARGIN),a.height=bb.height+2*(ACTOR_PADDING+ACTOR_MARGIN),a.distances=[],a.paddingRight=0,this.actorsHeight_=Math.max(a.height,this.actorsHeight_)},this),_.each(signals,function(s){var a,b,bb=this.textBBox(s.message,font);s.textBB=bb,s.width=bb.width,s.height=bb.height;var extraWidth=0;if("Signal"==s.type)s.width+=2*(SIGNAL_MARGIN+SIGNAL_PADDING),s.height+=2*(SIGNAL_MARGIN+SIGNAL_PADDING),s.isSelf()?(a=s.actorA.index,b=a+1,s.width+=SELF_SIGNAL_WIDTH):(a=Math.min(s.actorA.index,s.actorB.index),b=Math.max(s.actorA.index,s.actorB.index));else{if("Note"!=s.type)throw new Error("Unhandled signal type:"+s.type);if(s.width+=2*(NOTE_MARGIN+NOTE_PADDING),s.height+=2*(NOTE_MARGIN+NOTE_PADDING),extraWidth=2*ACTOR_MARGIN,s.placement==PLACEMENT.LEFTOF)b=s.actor.index,a=b-1;else if(s.placement==PLACEMENT.RIGHTOF)a=s.actor.index,b=a+1;else if(s.placement==PLACEMENT.OVER&&s.hasManyActors())a=Math.min(s.actor[0].index,s.actor[1].index),b=Math.max(s.actor[0].index,s.actor[1].index),extraWidth=-(2*NOTE_PADDING+2*NOTE_OVERLAP);else if(s.placement==PLACEMENT.OVER)return a=s.actor.index,actorEnsureDistance(a-1,a,s.width/2),actorEnsureDistance(a,a+1,s.width/2),void(this.signalsHeight_+=s.height)}actorEnsureDistance(a,b,s.width+extraWidth),this.signalsHeight_+=s.height},this);var actorsX=0;return _.each(actors,function(a){a.x=Math.max(actorsX,a.x),_.each(a.distances,function(distance,b){"undefined"!=typeof distance&&(b=actors[b],distance=Math.max(distance,a.width/2,b.width/2),b.x=Math.max(b.x,a.x+a.width/2+distance-b.width/2))}),actorsX=a.x+a.width+a.paddingRight},this),diagram.width=Math.max(actorsX,diagram.width),diagram.width+=2*DIAGRAM_MARGIN,diagram.height+=2*DIAGRAM_MARGIN+2*this.actorsHeight_+this.signalsHeight_,this},textBBox:function(text,font){},drawTitle:function(){var title=this.title_;title&&this.drawTextBox(title,title.message,TITLE_MARGIN,TITLE_PADDING,this.font_,ALIGN_LEFT)},drawActors:function(offsetY){var y=offsetY;_.each(this.diagram.actors,function(a){this.drawActor(a,y,this.actorsHeight_),this.drawActor(a,y+this.actorsHeight_+this.signalsHeight_,this.actorsHeight_);var aX=getCenterX(a);this.drawLine(aX,y+this.actorsHeight_-ACTOR_MARGIN,aX,y+this.actorsHeight_+ACTOR_MARGIN+this.signalsHeight_)},this)},drawActor:function(actor,offsetY,height){actor.y=offsetY,actor.height=height,this.drawTextBox(actor,actor.name,ACTOR_MARGIN,ACTOR_PADDING,this.font_,ALIGN_CENTER)},drawSignals:function(offsetY){var y=offsetY;_.each(this.diagram.signals,function(s){"Signal"==s.type?s.isSelf()?this.drawSelfSignal(s,y):this.drawSignal(s,y):"Note"==s.type&&this.drawNote(s,y),y+=s.height},this)},drawSelfSignal:function(signal,offsetY){assert(signal.isSelf(),"signal must be a self signal");var textBB=signal.textBB,aX=getCenterX(signal.actorA),x=aX+SELF_SIGNAL_WIDTH+SIGNAL_PADDING,y=offsetY+SIGNAL_PADDING+signal.height/2+textBB.y;this.drawText(x,y,signal.message,this.font_,ALIGN_LEFT);var y1=offsetY+SIGNAL_MARGIN+SIGNAL_PADDING,y2=y1+signal.height-2*SIGNAL_MARGIN-SIGNAL_PADDING;this.drawLine(aX,y1,aX+SELF_SIGNAL_WIDTH,y1,signal.linetype),this.drawLine(aX+SELF_SIGNAL_WIDTH,y1,aX+SELF_SIGNAL_WIDTH,y2,signal.linetype),this.drawLine(aX+SELF_SIGNAL_WIDTH,y2,aX,y2,signal.linetype,signal.arrowtype)},drawSignal:function(signal,offsetY){var aX=getCenterX(signal.actorA),bX=getCenterX(signal.actorB),x=(bX-aX)/2+aX,y=offsetY+SIGNAL_MARGIN+2*SIGNAL_PADDING;this.drawText(x,y,signal.message,this.font_,ALIGN_CENTER),y=offsetY+signal.height-SIGNAL_MARGIN-SIGNAL_PADDING,this.drawLine(aX,y,bX,y,signal.linetype,signal.arrowtype)},drawNote:function(note,offsetY){note.y=offsetY;var actorA=note.hasManyActors()?note.actor[0]:note.actor,aX=getCenterX(actorA);switch(note.placement){case PLACEMENT.RIGHTOF:note.x=aX+ACTOR_MARGIN;break;case PLACEMENT.LEFTOF:note.x=aX-ACTOR_MARGIN-note.width;break;case PLACEMENT.OVER:if(note.hasManyActors()){var bX=getCenterX(note.actor[1]),overlap=NOTE_OVERLAP+NOTE_PADDING;note.x=Math.min(aX,bX)-overlap,note.width=Math.max(aX,bX)+overlap-note.x}else note.x=aX-note.width/2;break;default:throw new Error("Unhandled note placement: "+note.placement)}return this.drawTextBox(note,note.message,NOTE_MARGIN,NOTE_PADDING,this.font_,ALIGN_LEFT)},drawTextBox:function(box,text,margin,padding,font,align){var x=box.x+margin,y=box.y+margin,w=box.width-2*margin,h=box.height-2*margin;return this.drawRect(x,y,w,h),align==ALIGN_CENTER?(x=getCenterX(box),y=getCenterY(box)):(x+=padding,y+=padding),this.drawText(x,y,text,font,align)}}),"undefined"!=typeof Raphael){var LINE={stroke:"#000000","stroke-width":2,fill:"none"},RECT={stroke:"#000000","stroke-width":2,fill:"#fff"};Raphael.fn.line=function(x1,y1,x2,y2){return assert(_.all([x1,x2,y1,y2],_.isFinite),"x1,x2,y1,y2 must be numeric"),this.path("M{0},{1} L{2},{3}",x1,y1,x2,y2)};var RaphaelTheme=function(diagram,options,resume){this.init(diagram,_.defaults(options,{"font-size":16,"font-family":"Andale Mono, monospace"}),resume)};_.extend(RaphaelTheme.prototype,BaseTheme.prototype,{init:function(diagram,options,resume){BaseTheme.prototype.init.call(this,diagram),this.paper_=void 0,this.font_={"font-size":options["font-size"],"font-family":options["font-family"]};var a=this.arrowTypes_={};a[ARROWTYPE.FILLED]="block",a[ARROWTYPE.OPEN]="open";var l=this.lineTypes_={};l[LINETYPE.SOLID]="",l[LINETYPE.DOTTED]="-",resume(this)},setupPaper:function(container){this.paper_=new Raphael(container,320,200),this.paper_.setStart()},draw:function(container){BaseTheme.prototype.draw.call(this,container),this.paper_.setFinish()},layout:function(){BaseTheme.prototype.layout.call(this),this.paper_.setSize(this.diagram.width,this.diagram.height)},cleanText:function(text){return text=_.invoke(text.split("\n"),"trim"),text.join("\n")},textBBox:function(text,font){text=this.cleanText(text),font=font||{};var p;font.obj_?p=this.paper_.print(0,0,text,font.obj_,font["font-size"]):(p=this.paper_.text(0,0,text),p.attr(font));var bb=p.getBBox();return p.remove(),bb},drawLine:function(x1,y1,x2,y2,linetype,arrowhead){var line=this.paper_.line(x1,y1,x2,y2).attr(LINE);return void 0!==arrowhead&&line.attr("arrow-end",this.arrowTypes_[arrowhead]+"-wide-long"),void 0!==arrowhead&&line.attr("stroke-dasharray",this.lineTypes_[linetype]),line},drawRect:function(x,y,w,h){return this.paper_.rect(x,y,w,h).attr(RECT)},drawText:function(x,y,text,font,align){text=this.cleanText(text),font=font||{},align=align||ALIGN_LEFT;var paper=this.paper_,bb=this.textBBox(text,font);align==ALIGN_CENTER&&(x-=bb.width/2,y-=bb.height/2);var t;return font.obj_?t=paper.print(x-bb.x,y-bb.y,text,font.obj_,font["font-size"]):(t=paper.text(x-bb.x-bb.width/2,y-bb.y,text),t.attr(font),t.attr({"text-anchor":"start"})),t}});var RaphaelHandTheme=function(diagram,options,resume){this.init(diagram,_.defaults(options,{"font-size":16,"font-family":"daniel"}),resume)};_.extend(RaphaelHandTheme.prototype,RaphaelTheme.prototype,{setupPaper:function(container){RaphaelTheme.prototype.setupPaper.call(this,container),this.font_.obj_=this.paper_.getFont("daniel")},drawLine:function(x1,y1,x2,y2,linetype,arrowhead){var line=this.paper_.path(handLine(x1,y1,x2,y2)).attr(LINE);return void 0!==arrowhead&&line.attr("arrow-end",this.arrowTypes_[arrowhead]+"-wide-long"),void 0!==arrowhead&&line.attr("stroke-dasharray",this.lineTypes_[linetype]),line},drawRect:function(x,y,w,h){return this.paper_.path(handRect(x,y,w,h)).attr(RECT)}}),registerTheme("raphaelSimple",RaphaelTheme),registerTheme("raphaelHand",RaphaelHandTheme)}if("undefined"!=typeof Raphael&&Raphael.registerFont({w:209,face:{"font-family":"Daniel","font-weight":700,"font-stretch":"normal","units-per-em":"360","panose-1":"2 11 8 0 0 0 0 0 0 0",ascent:"288",descent:"-72","x-height":"7",bbox:"-92.0373 -310.134 519 184.967","underline-thickness":"3.51562","underline-position":"-25.1367","unicode-range":"U+0009-U+F002"},glyphs:{" ":{w:179},"\t":{w:179},"\r":{w:179},"!":{d:"66,-306v9,3,18,11,19,24v-18,73,-20,111,-37,194v0,10,2,34,-12,34v-12,0,-18,-9,-18,-28v0,-85,23,-136,38,-214v1,-7,4,-10,10,-10xm25,-30v15,-1,28,34,5,35v-11,-1,-38,-36,-5,-35",w:115},'"':{d:"91,-214v-32,3,-25,-40,-20,-68v3,-16,7,-25,12,-27v35,13,14,56,8,95xm8,-231v4,-31,1,-40,18,-75v37,7,11,51,11,79v-3,3,-4,8,-5,13v-17,4,-16,-10,-24,-17",w:117},"#":{d:"271,-64v-30,26,-96,-7,-102,51v-6,2,-13,2,-24,-2v-2,-11,10,-21,2,-28v-14,5,-48,0,-48,22v0,23,-11,14,-29,10v-7,-6,6,-19,-1,-24r-32,4v-19,-8,-15,-24,5,-28r33,-6v4,0,24,-23,11,-27v-26,0,-63,14,-74,-10v3,-1,9,-17,16,-10v15,-8,81,4,89,-30v8,-14,16,-34,24,-38v23,9,24,38,5,49v37,24,55,-38,72,-43v19,10,20,23,-1,45v2,8,23,1,29,4v3,3,6,6,10,11v-14,13,-20,12,-45,12v-17,0,-16,17,-19,29v18,-7,49,3,67,-2v4,0,8,4,12,11xm161,-104v-30,-1,-44,10,-44,37v14,1,24,0,40,-5v0,-1,3,-10,8,-26v0,-4,-1,-6,-4,-6",w:285},$:{d:"164,-257v29,4,1,42,-3,50v5,5,38,13,41,24v8,4,6,15,-2,21v-18,3,-36,-17,-49,-17v-17,1,-31,40,-28,48v5,4,8,8,9,10v13,1,35,37,28,44v-10,21,-36,20,-65,28v-10,10,-12,40,-17,51v-9,-3,-28,1,-18,-17v0,-13,5,-24,-1,-35v-18,1,-59,-10,-42,-29v21,0,56,16,55,-16v5,-4,9,-18,9,-26v-14,-15,-55,-41,-53,-65v2,-33,56,-19,98,-26v10,-14,31,-43,38,-45xm93,-152v11,-10,15,-15,14,-29v-17,-3,-37,1,-43,6v10,12,20,19,29,23xm111,-103v-8,1,-11,12,-10,22v10,0,28,2,27,-8v0,-4,-13,-15,-17,-14",w:225},"%":{d:"181,-96v24,-7,67,-13,104,1v14,18,21,19,22,44v-13,43,-99,61,-146,36v-9,-9,-22,-11,-32,-29v0,-27,24,-53,52,-52xm139,-185v-9,68,-138,73,-131,-5v0,-3,3,-9,9,-17v13,1,27,1,17,-16v5,-39,63,0,93,-6v36,1,80,-9,102,11v15,32,12,32,-8,56v-16,21,-103,78,-152,125r-14,28v-23,11,-25,-7,-29,-20v34,-71,133,-98,171,-162v-13,-12,-52,-5,-61,1v0,1,1,3,3,5xm38,-190v0,34,55,29,70,8v0,-14,-20,-11,-32,-14v-14,-3,-24,-9,-40,-10v1,0,5,11,2,16xm172,-53v12,27,90,18,102,-5v-18,-7,-32,-10,-40,-10v-29,3,-57,-4,-62,15",w:308},"&":{d:"145,-82v17,-8,47,-15,71,-26v13,2,25,12,9,23v-23,7,-40,16,-53,27r0,6v13,8,30,21,36,38v0,8,-4,12,-11,12v-19,0,-43,-39,-59,-44v-30,12,-65,29,-97,32v-32,3,-45,-41,-23,-63v21,-20,52,-26,70,-48v-4,-31,-12,-47,9,-73v13,-16,20,-29,23,-39v15,-15,32,-22,51,-22v30,9,62,64,32,96v-2,3,-47,42,-69,48v-15,8,-11,9,0,22v6,7,10,11,11,11xm114,-138v25,-13,62,-38,74,-62v0,-9,-10,-31,-20,-29v-28,7,-60,42,-60,75v0,10,2,15,6,16xm99,-91v-18,10,-54,18,-59,45v26,5,61,-12,77,-22v-1,-5,-13,-23,-18,-23",w:253},"'":{d:"36,-182v-36,7,-34,-61,-17,-80v15,1,21,19,21,20r-1,-1v0,0,-1,12,-5,35v1,5,3,17,2,26",w:63},"(":{d:"130,-306v13,2,23,43,-1,43v-49,43,-77,77,-90,148v5,49,27,67,64,101v4,14,5,6,2,19r-15,0v-35,-17,-79,-58,-79,-120v0,-58,66,-176,119,-191",w:120},")":{d:"108,-138v-2,73,-48,120,-98,153v-17,-5,-16,-20,-6,-31v52,-64,73,-62,74,-135v1,-42,-40,-98,-58,-128v0,-5,-1,-12,-2,-22v18,-18,25,0,42,27v25,39,50,66,48,136",w:120},"*":{d:"121,-271v15,-5,36,-8,40,9v-5,10,-31,19,-47,31v0,11,34,43,14,53v-18,8,-24,-24,-34,-20v-4,10,-4,19,-12,41v-25,7,-15,-30,-17,-47v-13,-1,-17,9,-46,30r-10,0v-20,-32,37,-43,54,-64v-10,-11,-36,-33,-16,-51v3,0,14,8,33,24v8,-10,26,-39,32,-42v14,7,15,23,9,36",w:177},"+":{d:"163,-64v-7,22,-65,2,-77,21v-2,10,-6,21,-11,35v-20,4,-21,-12,-19,-29v3,-23,-44,6,-39,-27v-8,-22,36,-8,49,-18v8,-13,6,-36,24,-40v19,-4,14,32,11,39v18,3,19,2,54,8v2,1,5,5,8,11",w:170},",":{d:"25,63v-26,21,-48,-2,-22,-24v14,-12,35,-40,35,-69v3,-2,3,-11,12,-9v35,17,5,88,-25,102",w:97},"-":{d:"57,-94v19,4,55,-5,54,17v-15,23,-54,20,-91,15v-4,2,-13,-10,-11,-16v-1,-22,28,-15,48,-16",w:124},".":{d:"40,-48v21,20,21,44,-4,44v-33,0,-26,-24,-10,-44r14,0",w:67},"/":{d:"21,20v-22,-45,21,-95,41,-126v38,-57,115,-158,193,-201v2,0,4,3,7,11v11,29,-15,34,-25,55v-81,56,-189,208,-197,261r-19,0",w:275},0:{d:"78,-237v70,-47,269,-41,270,59v0,34,-11,53,-29,76v-13,35,-30,32,-85,64v-6,2,-10,6,-7,8v-73,14,-98,38,-173,1v-7,-13,-52,-48,-46,-88v9,-57,27,-75,70,-120xm123,-38v100,0,202,-46,195,-153v-32,-55,-144,-73,-211,-35v-16,34,-68,54,-53,108v6,25,1,22,-3,39v6,24,41,41,72,41",w:353},1:{d:"39,-208v0,-14,6,-59,29,-39v3,4,6,13,10,24r-22,128r8,87v-4,6,-9,3,-16,2v-44,-38,-9,-137,-9,-202",w:93},2:{d:"88,-35v47,-10,119,-24,168,-9v0,12,-23,13,-35,16v1,1,3,1,5,1v-74,8,-118,23,-194,23v-14,0,-20,-13,-21,-28v55,-40,83,-61,123,-104v26,-13,65,-67,71,-102v-1,-9,-11,-16,-22,-16v-20,-1,-120,29,-156,49v-10,-2,-30,-20,-10,-28v50,-21,111,-51,178,-48v25,10,44,22,36,39v12,30,-19,64,-34,83v-39,48,-37,39,-115,109v0,5,-3,8,-8,11v4,3,8,4,14,4",w:265},3:{d:"188,-282v34,-10,74,25,47,51v-19,32,-55,50,-92,70v28,14,116,25,108,70v8,14,-49,40,-63,48v-29,9,-130,22,-168,42v-6,-5,-19,-7,-12,-22v56,-36,175,-21,210,-76v-9,-20,-88,-42,-97,-33v-20,-1,-41,2,-56,-7r5,-21v56,-25,103,-36,137,-78v1,-1,2,-5,4,-11v-15,-14,-56,7,-79,0v-10,9,-73,22,-92,31v-11,-4,-28,-23,-13,-30v50,-22,96,-26,154,-37v0,-1,8,3,7,3",w:260},4:{d:"79,-249v-7,17,-29,75,-33,96v0,6,3,8,8,8v43,-2,111,6,141,-6v17,-47,20,-100,63,-148v9,4,16,7,21,10v-17,31,-44,95,-51,141v7,4,24,-4,23,10v-1,16,-29,12,-31,23v-10,22,-9,69,-7,103v-3,2,-7,5,-10,9v-47,-11,-23,-74,-16,-114v0,-4,-2,-6,-7,-6v-65,2,-89,13,-162,4v-22,-22,-2,-53,5,-76v16,-15,17,-57,35,-70v6,-1,21,11,21,16",w:267},5:{d:"185,-272v30,7,45,-8,53,18v1,16,-17,18,-34,14v0,0,-95,-11,-129,1v-6,9,-24,33,-29,54v76,10,171,5,214,47v11,11,22,30,5,52v-14,12,-30,14,-34,27v-26,11,-141,63,-157,60v-16,-2,-25,-19,-4,-27v48,-18,128,-39,170,-86v4,-14,-65,-41,-85,-41r-92,0v-10,-4,-66,-1,-57,-23v0,-23,23,-51,35,-83v11,-28,133,-10,144,-13",w:284},6:{d:"70,-64v9,-51,63,-74,123,-71v43,2,109,3,111,41r-25,47v0,1,1,2,2,3v-5,0,-39,10,-41,20v-15,3,-22,4,-22,11v-39,1,-77,20,-119,13v-42,-7,-35,-9,-77,-46v-56,-118,94,-201,176,-229v7,0,21,8,20,15v-2,17,-23,15,-43,24v-69,31,-119,72,-134,145v-5,25,36,68,78,64v59,-6,128,-18,153,-61v-7,-14,-13,-9,-32,-21v-67,-15,-118,-5,-150,43r0,12v-13,4,-17,-3,-20,-10",w:310},7:{d:"37,-228v33,-14,173,-17,181,-19v28,-1,24,31,9,45v-17,15,-45,49,-59,69v-17,26,-55,67,-61,113v-10,13,-9,14,-14,20v-33,-13,-20,-25,-11,-53v16,-48,73,-115,109,-156v2,-7,5,-14,-10,-12v-26,4,-54,6,-76,13v-23,-5,-83,31,-94,-9v2,-8,18,-19,26,-11",w:245},8:{d:"57,-236v40,-50,166,-51,213,-10v22,28,10,63,-22,78r-35,17v8,5,54,24,53,44v-5,14,-4,33,-18,42v-13,13,-35,18,-44,34v-60,27,-190,49,-194,-42v7,-41,17,-54,59,-70r0,-4v-32,-9,-73,-62,-26,-85v4,0,8,-2,14,-4xm142,-160v24,-2,160,-31,99,-72v-28,-18,-108,-33,-146,-5v-16,12,-28,30,-33,59v24,12,37,20,80,18xm41,-62v30,65,189,6,199,-37v3,-14,-60,-30,-74,-30v-70,0,-118,10,-125,67", w:290},9:{d:"11,-192v15,-49,119,-61,161,-23v16,15,27,55,11,79v-20,62,-51,79,-96,118v-10,4,-45,27,-50,6v9,-15,66,-52,98,-99v-7,-7,-8,-3,-25,0v-49,-11,-96,-25,-99,-81xm145,-131v7,-5,13,-34,13,-41v-2,-51,-104,-38,-114,-6v-2,10,37,35,46,35v23,1,43,-1,55,12",w:198},":":{d:"39,-125v15,-8,40,-1,40,15v0,15,-6,22,-19,22v-13,0,-29,-21,-21,-37xm66,-17v-8,27,-51,19,-46,-8v-1,-6,8,-22,14,-20v29,0,30,6,32,28",w:95},";":{d:"56,-93v2,-30,37,-22,40,2v0,2,-1,7,-3,15v-13,8,-15,6,-27,4xm64,-44v11,-11,30,-4,32,14v-21,39,-63,71,-92,85v-5,0,-11,-2,-18,-8v11,-23,36,-36,50,-61v11,-7,19,-20,28,-30",w:107},"<":{d:"166,-202v12,0,29,15,24,29v0,4,-119,64,-120,73v15,21,89,64,91,86v2,29,-18,12,-30,15v-27,-29,-59,-54,-95,-75v-18,-10,-25,-13,-24,-41",w:176},"=":{d:"125,-121v18,7,55,-9,69,14v0,17,-45,26,-135,26v-18,0,-27,-7,-27,-21v-1,-37,60,-5,93,-19xm138,-71v20,0,48,-1,50,16v-13,24,-86,32,-131,29v-29,-2,-43,-10,-43,-24v-7,-23,36,-14,39,-17v27,6,57,-4,85,-4",w:196},">":{d:"4,-14v20,-48,77,-59,118,-94v-16,-19,-58,-52,-81,-75v-11,-7,-15,-38,-1,-40v33,16,83,71,121,105v26,23,-6,35,-41,53v-29,16,-56,28,-73,54v-21,15,-16,20,-34,15v-3,0,-9,-16,-9,-18",w:174},"?":{d:"105,-291v57,-13,107,-4,107,39v0,67,-136,85,-155,137v-1,6,10,23,-4,23v-23,1,-33,-35,-23,-57v31,-41,124,-60,149,-103v-8,-21,-72,-5,-88,-1v-23,6,-59,39,-71,8v0,0,-1,0,1,-17v10,-4,45,-20,84,-29xm80,-25v-6,4,-8,39,-24,22v-24,3,-22,-21,-13,-35v17,-7,29,5,37,13",w:216},"@":{d:"218,-207v23,8,42,14,47,37v44,68,-27,137,-87,85r1,0v0,2,-59,19,-61,17v-35,0,-42,-47,-17,-68r0,-4v-19,-1,-45,37,-49,40v-37,76,58,72,121,62v11,-2,34,-13,36,3v-14,31,-69,31,-114,33v-51,2,-99,-41,-80,-92v2,-30,22,-40,42,-63v35,-20,91,-53,161,-50xm217,-101v23,0,35,-19,35,-41v0,-43,-75,-41,-102,-19v36,3,55,16,62,41v-6,5,-6,19,5,19xm127,-110v8,5,51,-15,28,-16v-4,0,-25,4,-28,16",w:291},A:{d:"97,-81v-23,-10,-39,38,-52,60v-8,6,-8,6,-22,18v-22,-7,-23,-37,-4,-49v7,-8,11,-15,15,-23r-1,1v-14,-26,23,-29,31,-40v1,-1,15,-29,26,-36v17,-31,39,-58,54,-92v16,-20,20,-51,41,-66v29,5,34,62,45,92v9,64,21,103,49,155v-3,25,-44,11,-54,0v-34,-12,-97,-29,-128,-20xm107,-118v20,6,80,10,111,17v6,-7,-4,-15,-7,-24v-11,-28,-9,-92,-30,-117v-9,9,-19,44,-34,55v-9,23,-27,40,-40,69",w:294},B:{d:"256,-179v41,10,115,34,91,91v-6,3,-14,12,-19,20v-37,19,-50,34,-63,25v-9,10,-12,11,-34,13r3,-3v-4,-4,-12,-4,-18,0v0,0,2,2,5,4v-21,14,-26,6,-44,15v-4,0,-7,-2,-8,-5v-6,11,-20,-5,-18,11v-36,4,-91,35,-114,4v-7,-62,-10,-138,4,-199v-1,-19,-37,2,-37,-27v0,-8,2,-13,6,-15v68,-31,231,-92,311,-39v8,12,12,20,12,25v-8,42,-32,49,-77,80xm79,-160v72,-17,135,-39,184,-70v20,-13,31,-23,31,-27v1,-6,-30,-13,-38,-12v-54,0,-116,13,-186,41v11,21,1,48,9,68xm262,-43v0,-4,3,-6,-4,-5v0,1,1,2,4,5xm211,-140v-34,7,-94,24,-139,15v-6,20,-4,56,-4,82v0,29,43,1,56,2v48,-11,108,-25,154,-48v20,-10,32,-17,32,-25v0,-18,-33,-26,-99,-26xm195,-20v6,1,6,-2,5,-7v-3,2,-7,2,-5,7",w:364},C:{d:"51,-114v-12,75,96,76,166,71r145,-10v9,2,9,5,9,18v-37,18,-85,28,-109,22v-18,10,-47,10,-71,10v-29,0,-68,1,-105,-11v-6,-1,-10,-3,-10,-8v-33,-13,-48,-33,-66,-59v-19,-114,146,-150,224,-177v35,0,88,-31,99,7v-1,29,-49,14,-76,28v-55,8,-115,35,-175,71v-13,8,-23,21,-31,38",w:376},D:{d:"312,-78v-2,1,-3,7,-10,5v6,-3,10,-4,10,-5xm4,-252v2,-27,83,-38,106,-39v130,-7,267,1,291,109v0,0,-2,8,-3,25v-5,9,-4,28,-23,34v-4,4,-2,5,-7,0v-3,3,-15,7,-5,10v0,0,-10,14,-13,2v-11,1,-8,5,-20,14v1,2,7,3,9,1v-4,13,-22,13,-11,4v0,-3,1,-6,-3,-5v-40,29,-103,38,-141,65v10,6,22,-7,34,-3v-41,20,-127,44,-171,46v-21,1,-47,-33,-11,-39v15,-2,43,-6,56,-11v-16,-101,-5,-130,9,-207v2,0,4,-1,6,-3v-16,-17,-91,38,-103,-3xm297,-69v-7,3,-17,8,-25,7v1,1,3,2,5,2v-4,2,-11,5,-23,9v4,-11,30,-21,43,-18xm240,-51v10,0,12,2,0,6r0,-6xm220,-36v-1,-3,4,-6,6,-3v0,1,-2,1,-6,3xm125,-48v16,6,137,-46,155,-53v29,-18,101,-44,82,-93v-21,-53,-84,-61,-168,-67v-20,7,-50,3,-77,8v33,54,-12,132,8,205xm159,-22v-4,-1,-15,-5,-15,2v7,-1,12,-2,15,-2",w:381},E:{d:"45,-219v-19,-36,34,-41,63,-36v44,-10,133,-8,194,-15v3,2,38,11,52,15v-73,19,-171,21,-246,38v-9,11,-16,32,-20,61v35,11,133,-6,183,3v1,6,2,7,3,14v-46,24,-118,16,-193,27v-15,13,-22,52,-22,66v60,1,121,-20,188,-20v22,10,53,-7,74,5v16,29,-23,26,-43,32v-73,4,-139,13,-216,27r-52,-10v-4,-22,23,-69,26,-98v-3,0,-10,-15,-12,-24v20,-12,34,-23,35,-67v2,-1,5,-5,5,-7v0,-4,-14,-11,-19,-11",w:353},F:{d:"270,-258v13,2,59,6,48,34v-78,-3,-143,1,-212,22v-10,16,-21,43,-24,69r145,-9v8,3,29,-3,16,21v-14,-1,-59,13,-60,7v-12,13,-67,18,-108,21v-2,1,-4,3,-7,6v-2,23,-8,43,-7,69v1,28,-30,11,-40,5r10,-80r-26,-14v5,-10,10,-33,28,-25v21,-3,15,-46,26,-59v-1,-3,-32,-13,-28,-24v2,-22,45,-16,59,-30v47,4,99,-14,151,-9v5,-3,25,-3,29,-4",w:236},G:{d:"311,-168v53,0,94,57,74,110v-31,37,-71,34,-136,52v-13,-7,-41,10,-57,7v-73,-1,-122,-17,-162,-59v-49,-51,-24,-80,5,-130v35,-61,138,-93,214,-106v16,4,42,-1,40,21v-5,40,-39,2,-73,21v-76,19,-162,65,-177,142v28,103,237,76,312,29v2,-3,3,-7,3,-13v-10,-35,-37,-43,-87,-45v-16,-13,-53,-9,-78,1v-4,-3,-5,-7,-5,-11v17,-29,73,-17,108,-24v12,4,18,5,19,5",w:391},H:{d:"300,-268v18,12,19,32,4,51v-35,44,-34,140,-46,217v-1,5,-5,13,-11,12v-6,1,-19,-14,-18,-27r7,-106v-28,7,-76,22,-116,14v-18,2,-36,6,-55,3v-43,-8,-14,53,-33,75v-29,1,-26,-67,-21,-97v5,-31,28,-73,43,-98v2,2,7,3,14,3v13,33,-11,48,-13,78v61,4,118,2,176,2v8,0,13,-6,15,-20v4,-47,21,-87,54,-107",w:288},I:{d:"63,-266v34,10,-4,105,-8,128r-24,126v-2,2,-3,1,-9,6v-12,-10,-12,-15,-12,-47v0,-93,9,-156,28,-188v10,-17,19,-25,25,-25",w:79},J:{d:"235,-291v26,11,31,104,31,142v0,37,-2,95,-32,126v-33,34,-121,26,-167,1v-18,-11,-54,-29,-59,-59v0,-3,5,-15,16,-14v31,36,90,57,162,51v63,-30,56,-148,32,-226v-1,-16,11,-13,17,-21",w:282},K:{d:"212,-219v17,-5,80,-60,80,-19v0,9,-2,14,-5,16r-132,78v-34,23,-54,32,-21,50v39,21,74,23,124,41v5,2,7,5,7,9v-4,24,-55,15,-79,8v-67,-19,-98,-36,-116,-83v9,-24,38,-35,66,-61v7,-4,49,-30,76,-39xm47,-194v11,-20,11,-45,31,-55v2,2,4,3,6,0v29,39,-21,96,-18,128v-17,24,-15,62,-29,113v-4,3,-10,7,-19,11v-12,-13,-10,-28,-8,-53v3,-31,17,-79,37,-144",w:270},L:{d:"84,-43v58,0,179,-27,242,-4v3,17,-29,24,-40,26v-85,-4,-202,46,-268,3v-24,-16,-2,-33,-4,-57v26,-76,38,-108,86,-191v14,-7,26,-50,45,-32v6,22,5,31,-12,46v-20,39,-50,82,-67,142v-7,6,-19,46,-19,54v0,9,12,13,37,13",w:331},M:{d:"174,-236v-1,52,-11,92,-7,143v10,5,15,-12,22,-18v42,-55,90,-130,136,-174r15,-18v42,2,32,53,11,80v-12,58,-54,143,-34,210v0,3,-3,12,-9,10v-31,-5,-32,-57,-27,-92v4,-27,12,-58,25,-93v-5,-10,5,-19,6,-30v-46,44,-66,110,-129,172v-11,10,-18,15,-22,15v-34,6,-28,-103,-28,-152v-28,22,-65,119,-96,170v-9,15,-34,3,-31,-19v30,-64,91,-177,139,-229v12,-1,29,13,29,25",w:343},N:{d:"248,-20v-3,17,-37,18,-43,3v-24,-35,-53,-145,-80,-203v-32,40,-55,120,-92,174v-13,3,-26,-13,-27,-22r87,-171v4,-13,20,-57,42,-32v42,48,46,139,82,198v29,-45,46,-88,65,-153v12,-19,23,-42,38,-60v27,-1,14,18,4,44v-6,46,-32,68,-37,121v-15,29,-33,69,-39,101",w:307},O:{d:"240,-268v85,1,163,29,150,125v13,7,-12,18,-5,26v-23,63,-133,112,-228,124v-80,-16,-171,-56,-148,-153v11,-47,20,-43,53,-83v17,-9,39,-22,73,-29v45,-10,81,-10,105,-10xm363,-156v16,-51,-62,-85,-111,-79v-25,-11,-50,8,-81,0v-15,10,-70,16,-85,31v6,20,-27,24,-39,45v-42,75,40,128,115,128v56,0,209,-71,201,-125",w:383},P:{d:"70,-225v-7,-12,-36,16,-49,19v-4,0,-9,-5,-14,-17v21,-47,114,-55,172,-59v41,-3,132,33,99,87v-21,34,-72,59,-144,80v-2,16,-79,3,-74,46v3,25,-5,47,-10,68v-22,-1,-23,-29,-22,-56v2,-25,-20,-32,-8,-50v21,-5,10,-35,25,-57v6,-28,14,-48,25,-61xm71,-229v47,14,-2,50,-1,99v41,-3,113,-37,173,-76v5,-9,8,-14,8,-15v-28,-47,-125,-29,-180,-8",w:252},Q:{d:"374,-217v20,59,-11,127,-48,156r30,38v-1,6,-8,16,-14,9v-3,0,-19,-9,-47,-26v-72,35,-173,75,-236,12v-70,-40,-67,-213,26,-217r8,5v24,-20,72,-48,112,-38v21,-4,22,-1,50,-2v66,-2,94,20,119,63xm296,-88v13,5,61,-49,63,-84v4,-62,-54,-78,-119,-76v-14,-6,-49,5,-71,3v-42,16,-89,41,-93,94v-9,11,1,25,-7,38v-12,-19,-7,-67,-1,-88v-56,30,-37,137,19,155v27,17,92,19,119,0v12,-2,29,-9,52,-20v2,-2,3,-3,3,-6v-11,-12,-46,-27,-54,-56v0,-13,3,-19,9,-19v18,1,60,52,80,59",w:379},R:{d:"100,-275v96,-23,196,-10,208,78v-3,18,-17,52,-49,62v-14,20,-54,23,-79,40v-2,0,-14,2,-36,6v-40,8,-30,14,-3,33v37,27,52,30,118,55v16,6,31,23,12,27v-58,-2,-104,-29,-143,-61v-14,-3,-16,-15,-39,-27v-23,-19,-28,-12,-15,-38v63,-19,111,-15,163,-53v27,-20,43,-36,43,-49v0,-64,-120,-62,-173,-38v-9,4,-38,9,-40,18v-10,32,-16,70,-13,116v-10,21,-8,47,-6,75v2,31,-9,29,-27,22v-9,-55,5,-140,15,-190v-8,-6,-24,10,-24,-11v0,-34,16,-34,42,-55v2,-1,17,-4,46,-10",w:297},S:{d:"13,-3v-7,-3,-22,-18,-5,-22v68,-15,119,-32,154,-45v51,-19,39,-34,3,-53v-46,-25,-82,-30,-121,-64v-33,-29,-50,-35,-25,-58v37,-20,119,-29,181,-29v29,0,44,6,44,18v-9,26,-62,6,-104,14v-17,2,-72,6,-92,16v37,53,132,58,180,111v8,9,11,20,11,30v-4,17,-23,35,-42,34v-21,16,-17,1,-49,17v-14,7,-41,9,-56,20v-25,-3,-49,10,-79,11",w:234},T:{d:"141,-3v-36,-6,1,-49,-3,-79v10,-19,6,-35,15,-64r26,-85v-51,-9,-100,10,-141,14v-16,2,-30,-26,-11,-32v26,-8,143,-8,179,-19r12,6v67,-2,142,-1,200,-1v8,0,14,3,19,10v-18,16,-74,3,-103,14v-48,-4,-60,4,-113,7v-42,22,-36,130,-58,187v1,12,-9,44,-22,42",w:277},U:{d:"365,-262v13,56,-22,104,-36,141v-19,22,-30,38,-57,56v-4,18,-60,35,-78,50v-53,28,-142,0,-161,-34v-31,-56,-37,-108,-11,-164v17,-33,29,-50,48,-29v-2,2,-3,7,-4,13v-44,36,-38,149,7,174v30,26,55,19,102,4v56,-17,66,-34,120,-76v12,-24,56,-68,46,-122r0,-16v0,1,-1,3,-1,6v4,-13,11,-10,25,-3",w:368},V:{d:"246,-258v21,-22,31,-26,44,-8v1,1,-12,22,-28,35v-15,25,-41,38,-56,69v-13,15,-20,31,-28,57v-15,13,-11,29,-27,72v3,21,-5,24,-27,27v-33,-45,-54,-118,-84,-167v-5,-26,-18,-50,-25,-76v-3,-12,24,-8,29,-5v8,13,18,52,26,70r52,115v9,-2,4,-9,10,-21r25,-47v25,-44,46,-76,89,-121",w:234},W:{d:"31,-213v16,46,17,106,41,151v31,-35,49,-89,76,-127v30,-15,39,27,52,56v10,22,21,48,35,67v2,0,4,-1,5,-3v16,-28,50,-76,79,-121v14,-21,40,-63,64,-83r5,8v-30,58,-76,110,-97,173v-18,28,-25,37,-33,63v-11,1,-16,25,-30,15v-21,-31,-44,-89,-62,-131v0,-2,-1,-3,-5,-5v-17,11,-16,36,-31,50v-20,33,-20,84,-68,94v-24,-19,-23,-81,-39,-111v-1,-15,-29,-94,-10,-108v9,2,12,5,18,12",w:331},X:{d:"143,-183v43,-25,69,-36,126,-62v22,-10,86,-10,56,21v-51,3,-158,61,-154,64v10,15,41,30,50,52v27,17,46,60,70,82v9,14,-6,30,-24,20v-35,-43,-75,-100,-116,-132v-48,13,-100,47,-118,94v-1,49,-26,34,-27,4v-1,-26,13,-27,17,-48v22,-27,68,-55,90,-77v-9,-12,-60,-39,-79,-57v-6,-10,-6,-25,12,-25",w:312},Y:{d:"216,-240v19,-14,42,10,22,26v-54,66,-121,109,-156,197v-8,21,-11,15,-30,4v3,-37,27,-61,33,-76v12,-12,15,-19,32,-42v-8,-6,-40,5,-45,5v-48,-6,-69,-65,-56,-113v14,0,13,-1,24,7v2,33,12,75,42,73v36,-2,102,-57,134,-81",w:189},Z:{d:"60,-255v66,12,200,-34,240,21v-13,42,-63,62,-98,89v-19,15,-47,33,-82,55v-25,16,-47,32,-66,47v58,24,129,-6,208,-6v23,0,36,12,13,19v-33,2,-53,5,-86,10v-32,18,-88,15,-135,15v-9,-1,-55,-1,-48,-29v1,-24,30,-24,40,-41v64,-50,151,-86,208,-147v-38,-17,-155,12,-198,-4v0,0,-11,-33,4,-29",w:310},"[":{d:"72,-258r-15,250v30,4,55,-3,80,-6v7,-1,8,17,9,23v-28,15,-73,23,-121,21v-7,0,-10,-6,-10,-17v0,-60,25,-193,22,-288v0,-16,13,-20,33,-19v9,-3,34,-12,51,-12v16,0,15,16,19,29v-16,7,-48,10,-68,19",w:151},"\\":{d:"236,38v20,-18,-8,-74,-13,-90v-44,-78,-112,-190,-200,-253v-2,0,-5,4,-7,12v-11,31,13,36,24,58v74,61,174,219,180,273r16,0",w:257},"]":{d:"133,-258v-23,-13,-84,6,-85,-32v0,-10,5,-15,14,-15v0,0,30,2,90,7v10,1,15,13,15,36v2,7,-8,59,-13,112r-11,125v-9,48,9,90,-59,71v-20,-4,-39,-1,-59,-4v-5,-10,-25,-12,-14,-30v8,-3,61,-13,78,-8v14,1,8,-7,10,-17v15,-69,21,-166,34,-245",w:171},"^":{d:"68,-306v20,15,47,36,58,60v-1,4,0,7,-9,7v-26,0,-47,-38,-49,-32v-15,9,-41,50,-54,30v-2,-31,17,-23,33,-51v8,-9,15,-14,21,-14",w:135},_:{d:"11,15v-8,33,18,45,50,34r205,2r197,-5v11,-5,14,-9,7,-28v-95,-21,-258,-10,-376,-10v-25,0,-72,-3,-83,7",w:485},"`":{d:"75,-264v16,8,56,14,39,43v-30,-8,-65,-23,-105,-44v-1,-3,-3,-28,5,-25v16,5,44,17,61,26",w:129},a:{d:"124,-56v10,4,59,41,65,50v1,7,-6,17,-12,17r-60,-30v-22,2,-42,21,-65,19v-33,4,-68,-67,-15,-81v41,-27,96,-39,110,9v0,6,-4,12,-11,16v-33,-25,-67,-5,-88,12v10,16,61,-18,76,-12",w:196},b:{d:"80,-140v69,1,123,0,134,52v5,26,-71,71,-97,70v-11,11,-88,22,-94,22v-11,-3,-26,-18,-6,-24v19,-5,-2,-19,-1,-35v1,-18,11,-36,-5,-47v-6,-17,-6,-21,14,-32v6,-45,18,-89,28,-124v2,-7,8,-12,17,-15v5,3,10,11,16,28v-12,27,-13,63,-23,96v0,6,6,9,17,9xm87,-107v-40,-9,-31,31,-39,54v8,15,0,25,12,22v30,-8,60,-18,88,-32v39,-18,49,-33,-1,-42v-20,-4,-45,-7,-60,-2",w:217},c:{d:"128,-123v29,-7,37,29,12,33v-27,-4,-40,6,-79,25v-8,4,-13,11,-16,22v30,32,91,3,134,11v5,13,-8,26,-22,19v-51,25,-139,28,-150,-30v6,-50,69,-82,121,-80",w:194},d:{d:"224,-201v0,-35,-17,-111,24,-94v7,86,-2,119,0,197v-4,2,-8,21,-18,16v-62,-7,-154,-8,-185,29v6,17,28,26,51,26v16,0,100,-15,132,-18v7,5,-6,20,-10,22v-24,8,-122,42,-163,25v-32,-5,-62,-53,-36,-80v35,-37,118,-46,198,-43v1,-22,7,-49,7,-80",w:265},e:{d:"4,-57v0,-58,51,-71,110,-74v33,-1,45,16,59,35v1,14,2,39,-7,42v-24,-2,-73,13,-99,11v-2,2,-2,3,-2,3v0,3,12,8,37,15v21,0,69,9,31,22v-9,14,-34,6,-56,6v-27,-5,-73,-28,-73,-60xm123,-102v-22,2,-68,5,-65,26v24,-2,66,5,79,-6v-5,-13,-1,-13,-14,-20",w:182},f:{d:"6,-59v6,-29,53,-4,53,-43v0,-64,29,-118,84,-150v45,-25,167,-24,155,51v-1,2,-7,6,0,6r-10,2v-45,-58,-165,-39,-186,39v-7,26,-11,42,-9,62v44,8,95,-21,135,-7v-12,25,-39,21,-76,30v-19,5,-18,7,-54,19v-2,8,15,32,17,35v-6,25,-26,26,-40,-5r-15,-24v-41,10,-44,12,-54,-15",w:234},g:{d:"132,-97v30,27,21,75,30,117v-12,31,-11,66,-36,103v-32,46,-105,83,-167,39v-31,-21,-49,-29,-51,-75v-2,-37,77,-50,121,-57v37,-6,68,-10,95,-11v7,-6,3,-32,4,-46v0,0,-1,1,-1,2v0,-18,-5,-31,-14,-45v-44,5,-79,20,-94,-18v3,-54,73,-54,125,-50v12,7,12,13,4,25v-30,-11,-76,8,-90,20v23,3,50,-16,74,-4xm-34,121v60,53,168,1,159,-86v-47,-7,-93,24,-142,30v-12,7,-45,19,-42,29v0,10,8,19,25,27",w:188},h:{d:"100,-310v11,-2,10,19,11,20v-11,52,-40,133,-53,189v-6,30,-9,37,-9,47v27,0,113,-34,143,-34v42,0,31,47,39,79v0,4,-5,17,-16,16v4,2,11,3,4,6v-24,-1,-28,-34,-25,-64v-1,-1,-2,-3,-5,-5v-51,0,-110,38,-162,51v-9,1,-15,-15,-16,-23v17,-89,39,-141,71,-264v0,-9,6,-19,18,-18",w:251},i:{d:"62,-209v7,18,9,23,-5,38v-23,-6,-21,-18,-11,-36v2,0,8,-1,16,-2xm34,-7v-18,-21,-8,-73,-1,-106v7,-10,20,-8,23,6v-1,36,7,72,-2,104v-8,2,-8,0,-20,-4",w:80},j:{d:"88,-191v5,28,-18,40,-28,21v0,-20,12,-29,28,-21xm82,-99v28,-1,16,35,16,61v0,60,-19,150,-35,202v-12,8,-19,31,-35,16v-32,-7,-43,-19,-56,-44r2,-17v11,4,49,45,61,18v10,-55,27,-107,30,-171v0,-16,0,-59,17,-65",w:120},k:{d:"59,-66v33,26,114,37,155,62v8,-4,22,-2,19,-17v0,-4,-12,-11,-30,-24v-36,-25,-54,-22,-99,-33v14,-21,119,-13,103,-63r-16,-7r-123,47r25,-93v-3,-15,16,-49,18,-81v1,-15,-21,-14,-25,-3v-31,82,-49,168,-75,257v2,2,22,30,27,10v2,-5,4,-9,9,-11v4,-16,4,-15,12,-44",w:236},l:{d:"66,-300v21,-6,37,23,30,55v-10,51,-28,135,-28,208v0,11,6,36,-13,37v-29,-5,-30,-48,-25,-83r28,-177v-6,-17,1,-29,8,-40",w:102},m:{d:"348,-59v-2,21,0,57,3,73v-17,3,-30,-1,-32,-16v-8,-7,-5,-44,-13,-70v-35,3,-82,49,-111,70v-12,8,-40,4,-39,-15r2,-56v-1,-13,4,-28,-8,-29v-35,8,-79,72,-115,87v-6,2,-20,-18,-21,-22v1,-20,14,-105,39,-64r8,15v17,-14,72,-56,93,-54v27,3,49,40,43,80v24,-2,66,-55,124,-53v11,14,28,23,27,54",w:368},n:{d:"121,-136v37,6,62,54,62,111v0,32,-16,25,-31,17v-18,-30,-5,-45,-22,-85v-37,-13,-71,55,-92,65v-20,-3,-39,-39,-21,-62v2,-12,3,-15,11,-30v12,-8,20,11,29,12",w:194},o:{d:"108,-139v52,-24,104,18,104,63v0,59,-66,67,-114,83v-52,-2,-115,-50,-80,-105v23,-18,52,-35,90,-41xm45,-60v16,54,125,16,131,-23v-12,-59,-129,-8,-131,23",w:217},p:{d:"82,14v-10,12,-8,117,-24,142v-15,2,-19,0,-29,-13v0,-76,9,-113,22,-192v14,-27,35,-6,37,13v0,8,-3,21,-7,38v2,2,3,2,4,2v26,-9,116,-33,126,-72v-7,-17,-24,-33,-49,-31v-40,3,-116,13,-116,47v-5,7,-2,17,-16,20v-17,-12,-18,-20,-12,-38v8,-25,74,-61,110,-59v55,-15,113,15,118,70v-15,52,-84,79,-146,83v-5,0,-11,-4,-18,-10",w:251},q:{d:"144,-147v27,-8,89,-3,97,31v-9,29,-42,-4,-73,1v-32,6,-118,20,-111,49v0,7,13,13,21,13v21,0,78,-24,104,-34v2,0,9,8,22,21v1,1,1,2,1,5v-27,90,-22,70,-43,203v11,15,-15,54,-33,33v-6,-8,-10,-20,-3,-28v1,-72,5,-114,15,-172v-35,3,-35,10,-59,8v-41,-4,-98,-41,-56,-85v33,-34,59,-27,118,-45",w:248},r:{d:"242,-117v2,22,5,10,-14,23v-73,-7,-166,-23,-174,56v-8,6,-3,20,-8,36v-29,10,-40,-9,-33,-46v6,-31,7,-69,32,-55v58,-37,66,-42,175,-19v3,5,15,4,22,5",w:229},s:{d:"154,-151v19,1,27,24,13,32v-4,1,-22,4,-53,7v-16,8,-22,-2,-39,9v23,21,89,16,96,62v-13,24,-85,35,-124,42v-9,-3,-18,-3,-27,0v-6,-4,-21,-16,-8,-25v30,-6,83,-13,102,-24v-17,-16,-80,-33,-97,-48v-3,-2,-4,-7,-4,-15v-6,-6,3,-13,15,-18v22,-9,94,-23,126,-22",w:188},t:{d:"85,-150v10,-41,35,-126,65,-134v4,1,24,19,11,36v-17,22,-29,57,-36,104v26,8,50,-7,73,5v14,0,22,3,22,9v-1,19,-44,18,-57,23v-10,1,-46,0,-54,10v-10,24,-4,67,-20,98v-21,-3,-26,1,-26,-20v0,-9,2,-36,8,-81v-15,-13,-81,9,-77,-27v4,-38,71,6,91,-23",w:194},u:{d:"207,-136v-1,-2,11,-14,14,-13v6,0,10,7,10,22v-3,40,-23,56,-40,82v-13,19,-62,43,-93,43v-67,-2,-111,-75,-71,-133v26,-3,21,29,19,49v-1,27,26,44,57,42v41,-2,93,-55,104,-92",w:242},v:{d:"24,-127r52,71v42,-16,70,-54,124,-65v5,4,8,7,8,11v-8,19,-4,8,-33,32v0,1,-1,3,-1,5v-61,45,-93,68,-97,68v-40,-15,-50,-72,-68,-100v6,-14,10,-22,15,-22",w:214},w:{d:"15,-139v38,-2,27,57,45,86v30,2,67,-66,101,-78v26,6,36,69,60,78v47,-35,51,-54,119,-104v3,0,7,-2,15,-4v19,23,-9,28,-21,49v-33,28,-68,90,-107,109v-10,6,-52,-47,-72,-71v-20,17,-85,74,-97,73v-38,7,-41,-98,-52,-122v0,-1,3,-7,9,-16",w:325},x:{d:"95,-124v22,-13,78,-32,99,-31v16,0,23,6,23,18v0,22,-17,11,-49,21v-3,0,-45,20,-42,24v0,1,2,4,8,10v20,24,49,41,44,80v-35,3,-27,-9,-60,-44v-40,-43,-37,-26,-79,9v-1,1,-2,3,-3,8v-12,8,-28,10,-27,-11v-6,-8,45,-65,48,-65v-17,-21,-61,-52,-24,-68v9,0,48,37,62,49",w:223},y:{d:"44,-65v22,33,70,4,99,-8v5,-4,28,-15,41,-31r17,0v25,47,-26,70,-40,114v-5,4,-9,8,-10,21v-16,12,-11,33,-27,51v-5,18,-12,43,-23,71v-1,-1,-2,34,-18,29v-12,1,-22,-12,-22,-23v20,-70,24,-65,68,-177v-47,16,-111,8,-116,-39v-11,-13,-7,-62,8,-62v18,0,22,26,23,54",w:216},z:{d:"189,-43v9,-1,46,-6,41,12v0,7,-5,13,-15,14v-45,6,-148,24,-181,13v0,-3,-5,-8,-14,-15v5,-44,66,-46,90,-85v-15,-18,-84,21,-84,-14v0,-10,5,-17,14,-18v33,-3,79,-13,109,-3v4,-2,14,11,12,15v0,23,-26,51,-78,84v28,10,73,-3,106,-3",w:244},"{":{d:"94,-303v27,-9,90,-14,79,26v-20,17,-55,-5,-87,13v-4,1,-6,4,-6,8v33,42,31,44,7,85v-6,10,-13,16,-13,13v5,6,17,17,15,31r-33,78v7,35,28,49,57,63r49,0v7,42,-51,41,-86,20v-43,-13,-51,-51,-56,-89v-2,-25,25,-54,27,-71v-3,-4,-46,-5,-41,-21v2,-10,-3,-29,11,-25v2,0,51,-17,52,-38v4,-3,-25,-23,-25,-49v0,-41,8,-30,50,-44",w:179},"|":{d:"30,-308v26,5,14,50,15,80v5,78,-8,153,-3,225v-2,15,-1,31,-11,36v-8,-3,-25,-22,-25,-32r9,-183v0,-40,0,-78,1,-112v0,-4,9,-15,14,-14",w:63},"}":{d:"47,-298v34,-17,118,-18,112,36v6,25,-76,98,-69,103v4,16,39,7,44,28v7,34,-34,17,-37,39v8,29,49,83,23,123v-15,23,-43,26,-73,46v-34,8,-43,11,-49,-17v1,-15,30,-15,33,-20v24,-12,70,-27,55,-61v-14,-33,-37,-68,-19,-103v-46,-50,46,-100,60,-141v-10,-16,-68,6,-77,-12",w:143},"~":{d:"7,-254v2,-6,59,-50,67,-46v11,-1,35,19,46,26v5,0,27,-10,66,-31v21,8,-1,25,-7,38v-27,21,-48,31,-65,31v-24,-11,-37,-39,-65,-9v-7,7,-26,36,-42,11v3,-5,-3,-17,0,-20",w:199}," ":{w:179},"¡":{d:"86,-197v8,16,-7,41,-24,25v-11,-11,-4,-16,-3,-29v13,0,15,-2,27,4xm46,-107v4,-8,11,-16,23,-7v19,26,-5,57,-6,87v-7,0,-5,18,-9,28v0,14,-17,52,-11,70v-2,7,-15,28,-25,12v-4,-6,-15,-7,-6,-16v2,-39,14,-96,34,-174",w:95},"¢":{d:"105,-188v13,-12,14,-18,26,-15v7,23,7,15,-3,49v6,0,18,14,17,20v-3,5,-12,19,-26,13v-14,1,-14,5,-16,21v10,10,46,-13,38,18v-9,17,-23,16,-54,20v-17,16,-4,55,-29,60v-37,-10,19,-64,-24,-71v-20,-10,-37,-47,-6,-62v23,-20,73,-4,77,-53xm65,-101v4,-9,7,-8,3,-13v-14,4,-22,10,-3,13",w:154},"£":{d:"153,-170v3,22,62,0,49,39v-18,6,-31,12,-58,9v-12,-1,-17,30,-23,39v19,26,50,56,91,35v9,-2,27,-13,27,4v0,27,-27,39,-58,42v-32,-5,-59,-19,-78,-39v-6,1,-35,44,-57,39v-25,0,-37,-15,-37,-46v0,-41,43,-53,73,-50v4,1,12,-18,12,-21v-7,-15,-49,0,-44,-30v-2,-31,31,-16,60,-19v16,-30,25,-119,93,-113v16,2,75,16,50,44v-4,5,-7,7,-12,8v-18,-12,-32,-18,-41,-18v-35,-1,-38,52,-47,77xm43,-45v4,5,12,-2,11,-9v-1,2,-12,1,-11,9",w:242},"¤":{d:"308,-133r-200,16v-2,1,-6,4,-10,10v70,-2,144,-14,211,-8v3,0,8,4,13,8v-1,4,-3,9,-9,17v-57,11,-164,6,-219,25v26,32,112,25,173,25v9,0,35,2,35,19v0,9,-4,13,-12,14v-115,12,-146,23,-211,-19v-12,-4,-22,-9,-25,-27v-6,-29,-61,3,-43,-49v17,-1,36,7,42,-12v-32,7,-36,-39,-11,-40v29,14,63,-25,73,-30v52,-25,72,-44,142,-44v23,0,21,41,-1,39v-35,-3,-61,9,-102,31v2,2,5,4,8,4v18,-6,101,-9,115,-9v7,0,55,13,31,30",w:312},"€":{d:"308,-133r-200,16v-2,1,-6,4,-10,10v70,-2,144,-14,211,-8v3,0,8,4,13,8v-1,4,-3,9,-9,17v-57,11,-164,6,-219,25v26,32,112,25,173,25v9,0,35,2,35,19v0,9,-4,13,-12,14v-115,12,-146,23,-211,-19v-12,-4,-22,-9,-25,-27v-6,-29,-61,3,-43,-49v17,-1,36,7,42,-12v-32,7,-36,-39,-11,-40v29,14,63,-25,73,-30v52,-25,72,-44,142,-44v23,0,21,41,-1,39v-35,-3,-61,9,-102,31v2,2,5,4,8,4v18,-6,101,-9,115,-9v7,0,55,13,31,30",w:312},"¥":{d:"31,-248v30,-3,64,64,74,59v37,-22,77,-65,107,-82v20,-11,34,18,21,32v-28,19,-52,38,-70,57v-18,8,-40,21,-35,60v2,19,39,7,64,7v25,0,16,21,2,27v-36,16,-46,8,-68,18v6,11,101,-20,66,24v-21,11,-42,12,-75,20v-2,1,-5,6,-10,18v-8,3,-11,10,-24,8v-7,-17,-2,-18,-9,-26v-13,5,-39,3,-53,-2v-10,-17,-7,-27,0,-34v23,-1,45,1,64,-5v-11,-7,-28,-4,-64,-6v-13,-8,-15,-24,-6,-35v33,-2,102,9,76,-37v-14,-14,-33,-38,-60,-66v-10,-10,-8,-28,0,-37",w:219},"§":{d:"141,-115v12,10,29,36,28,56v-4,68,-129,69,-152,16v-1,-12,-10,-22,8,-23v17,3,47,21,67,23v16,1,40,-8,38,-21v-8,-49,-119,-30,-117,-85v1,-28,15,-45,-3,-64v-1,-53,55,-61,103,-62v15,-5,6,-5,20,-2v16,17,23,27,23,30v-1,26,-29,7,-45,7v-21,0,-51,2,-62,17v19,14,87,8,97,43v18,14,16,57,-5,65xm64,-147r57,17v10,-28,-22,-43,-47,-44v-25,-1,-35,19,-10,27",w:174},"¨":{d:"124,-259v0,9,-4,13,-12,13v-18,0,-22,-21,-17,-35v19,-1,30,1,29,22xm23,-285v7,2,30,9,29,18v1,10,-9,19,-18,19v-19,0,-28,-26,-11,-37",w:136},"©":{d:"102,-29v-74,5,-124,-84,-70,-140v22,-22,53,-35,97,-38v46,-4,88,49,74,100v0,44,-51,75,-101,78xm96,-66v42,-3,75,-23,75,-69v0,-23,-4,-38,-44,-38v-16,0,-33,6,-49,20v36,-4,55,-12,62,20v-5,16,-49,1,-50,21v10,15,53,-14,54,11v0,18,-14,27,-42,27v-22,1,-46,-11,-46,-31v0,-25,7,-39,20,-44v-1,-1,-2,-2,-3,-2v-51,22,-32,89,23,85",w:217},"ª":{d:"6,-265v1,-31,58,-53,80,-22v-11,14,25,28,25,36v-2,8,-15,12,-27,10v-22,-29,-68,19,-78,-24xm52,-281v-8,1,-24,10,-9,13v11,1,24,-10,9,-13",w:117},"«":{d:"191,-64v16,6,87,37,53,63v-39,-9,-71,-28,-107,-40v-14,-13,-13,-34,10,-47v27,-15,48,-55,84,-62v9,-2,21,10,21,18r-13,21v-16,5,-44,22,-51,41v0,4,1,6,3,6xm71,-65v17,6,87,35,55,62v-39,-8,-66,-27,-108,-40v-14,-13,-13,-36,10,-46v23,-18,50,-56,84,-63v9,-2,21,10,21,18r-13,22v-20,6,-32,17,-51,37v0,3,-1,11,2,10",w:265},"¬":{d:"141,-99v47,7,103,-3,149,6v14,24,18,15,10,39v-10,34,-7,31,-26,76v-4,6,-15,8,-16,21v-4,2,-4,1,-13,5v-22,-33,-4,-33,16,-104v-5,-9,-28,-4,-38,-6r-183,4v-14,0,-41,-29,-17,-36v31,-9,82,5,118,-5",w:315},"®":{d:"75,-194v78,-29,116,9,130,84v-2,42,-22,47,-57,67v-74,20,-161,-19,-129,-110v6,-18,29,-34,57,-40xm46,-86v51,36,84,21,129,-15v7,-15,0,-39,-10,-49v-13,-37,-49,-26,-86,-18v-28,7,-49,46,-33,82xm72,-123v-5,-43,68,-57,75,-14v-17,26,-18,17,3,32v2,25,-25,18,-45,7r-4,-4v-1,8,-3,20,-12,24v-10,-3,-21,-34,-17,-45xm112,-135v-10,-1,-20,13,-9,14v6,-6,9,-11,9,-14",w:217},"¯":{d:"63,-295v28,-7,73,10,105,7v11,1,6,8,5,19v-37,21,-72,11,-136,11v-23,0,-31,-14,-27,-36v12,-15,40,0,53,-1",w:183},"°":{d:"106,-268v0,36,-35,38,-51,46v-48,5,-60,-58,-25,-78v33,-11,76,-9,76,32xm38,-257v16,7,39,2,38,-17v-13,-9,-28,-1,-32,11v-5,3,-7,0,-6,6",w:114},"±":{d:"93,-163v-7,46,76,-4,46,47v-14,6,-27,13,-38,8v-24,2,-14,28,-28,44r-14,0v-7,-12,-5,-15,-7,-33v-12,-7,-41,-1,-37,-24v2,-11,23,-17,36,-14r28,-38v4,0,9,4,14,10xm113,-27v-12,18,-58,27,-85,24v-16,2,-22,-23,-13,-36v28,-7,85,-11,98,12",w:151},"´":{d:"52,-284v29,-11,50,-34,62,-14v3,12,-86,54,-94,56v-14,0,-16,-12,-12,-23v11,-5,25,-11,44,-19",w:120},"¶":{d:"121,-237v21,-9,44,-13,63,-1v-1,7,5,6,7,11r-4,190v-2,33,4,39,-15,40v-16,1,-10,-20,-10,-33r4,-161v0,-17,-1,-34,-16,-25v2,10,1,23,1,35v-9,46,-6,75,-15,156v-3,4,-7,5,-12,5v-17,-10,-3,-89,-10,-115v-43,14,-98,10,-101,-29v-4,-53,59,-63,104,-75v3,1,4,2,4,2xm95,-204v2,9,-30,50,1,50v35,0,23,-13,29,-43v0,-1,-2,-7,-4,-15v-12,-1,-14,2,-26,8",w:206},"¸":{d:"74,16v32,2,49,14,55,36v-3,7,-14,31,-29,33v-28,4,-57,11,-88,14v-19,-6,-13,-31,8,-33v20,-1,59,-5,73,-14v-17,-14,-68,8,-53,-37v9,-10,2,-28,24,-30v8,8,13,17,10,31",w:129},"º":{d:"13,-273v1,-31,56,-41,83,-18v36,8,14,48,-9,52v-35,6,-64,-5,-74,-34xm81,-269v-7,-7,-20,-11,-29,-6v5,13,13,11,29,6",w:128},"»":{d:"120,-129v9,-33,48,-10,64,5v9,20,86,52,50,86v-36,11,-66,31,-107,40v-6,-7,-9,-13,-9,-17v-2,-13,50,-46,63,-46v11,-18,-33,-42,-48,-47xm1,-128v10,-33,46,-8,64,6v8,19,86,50,51,85v-40,13,-69,30,-108,40v-6,-7,-8,-12,-8,-16v-2,-14,50,-46,63,-47v7,-13,-9,-20,-19,-30v-10,-9,-20,-15,-30,-17",w:252},"¿":{d:"181,-247v3,1,31,2,29,15v-4,22,-37,27,-41,4v1,-5,7,-20,12,-19xm161,-34v-45,-1,-105,19,-124,51v0,11,18,17,54,17v39,0,82,-13,112,4v-10,35,-58,31,-100,31v-47,0,-80,-10,-99,-31v-10,-56,22,-73,64,-90v8,-3,32,-9,74,-18v21,-15,7,-62,22,-92v-1,-5,-1,-11,4,-12v16,0,24,7,24,22v-8,30,-8,73,-17,111v-3,5,-7,7,-14,7",w:213},"À":{d:"161,-217v20,53,23,124,54,170v-2,20,-34,9,-42,0v-27,-12,-78,-18,-101,-18v-26,6,-29,51,-54,63v-18,-4,-19,-30,-3,-38v5,-9,15,-16,8,-29v1,-12,23,-9,26,-19v6,-10,11,-20,20,-27r70,-121v12,-4,16,4,22,19xm82,-91v17,3,62,7,86,13v-13,-33,-13,-80,-29,-109v-15,30,-38,63,-57,96xm150,-268v14,10,54,14,37,41v-28,-7,-62,-22,-100,-42v-2,-3,-2,-26,5,-23v16,4,42,17,58,24"},"Á":{d:"161,-217v20,53,23,124,54,170v-2,20,-34,9,-42,0v-27,-12,-78,-18,-101,-18v-26,6,-29,51,-54,63v-18,-4,-19,-30,-3,-38v5,-9,15,-16,8,-29v1,-12,23,-9,26,-19v6,-10,11,-20,20,-27r70,-121v12,-4,16,4,22,19xm82,-91v17,3,62,7,86,13v-13,-33,-13,-80,-29,-109v-15,30,-38,63,-57,96xm84,-250v31,-5,83,-53,100,-31v0,5,-11,15,-35,28v-16,5,-51,28,-53,25v-14,1,-16,-11,-12,-22"},"Â":{d:"161,-217v20,53,23,124,54,170v-2,20,-34,9,-42,0v-27,-12,-78,-18,-101,-18v-26,6,-29,51,-54,63v-18,-4,-19,-30,-3,-38v5,-9,15,-16,8,-29v1,-12,23,-9,26,-19v6,-10,11,-20,20,-27r70,-121v12,-4,16,4,22,19xm82,-91v17,3,62,7,86,13v-13,-33,-13,-80,-29,-109v-15,30,-38,63,-57,96xm202,-219v-27,-6,-40,-26,-61,-37v-21,7,-39,46,-65,23v-2,-4,-3,-10,-4,-14v19,-4,43,-32,61,-43v27,6,40,22,62,37v12,8,18,17,18,25v0,6,-3,9,-11,9"},"Ã":{d:"161,-217v20,53,23,124,54,170v-2,20,-34,9,-42,0v-27,-12,-78,-18,-101,-18v-26,6,-29,51,-54,63v-18,-4,-19,-30,-3,-38v5,-9,15,-16,8,-29v1,-12,23,-9,26,-19v6,-10,11,-20,20,-27r70,-121v12,-4,16,4,22,19xm82,-91v17,3,62,7,86,13v-13,-33,-13,-80,-29,-109v-15,30,-38,63,-57,96xm100,-285v26,-19,54,19,69,22v4,0,15,-5,34,-13v23,-9,22,-17,31,-12v3,11,-9,9,-7,21v-26,20,-46,30,-59,30v-3,3,-50,-26,-49,-29v-12,1,-31,35,-51,32v-3,-8,-5,-14,-5,-18v10,-9,16,-17,37,-33"},"Ä":{d:"161,-217v20,53,23,124,54,170v-2,20,-34,9,-42,0v-27,-12,-78,-18,-101,-18v-26,6,-29,51,-54,63v-18,-4,-19,-30,-3,-38v5,-9,15,-16,8,-29v1,-12,23,-9,26,-19v6,-10,11,-20,20,-27r70,-121v12,-4,16,4,22,19xm82,-91v17,3,62,7,86,13v-13,-33,-13,-80,-29,-109v-15,30,-38,63,-57,96xm187,-259v0,8,-4,13,-12,13v-18,0,-21,-20,-16,-34v18,-1,28,2,28,21xm90,-284v7,3,28,11,28,18v0,9,-9,18,-18,17v-17,0,-25,-24,-10,-35"},"Å":{d:"161,-217v20,53,23,124,54,170v-2,20,-34,9,-42,0v-27,-12,-78,-18,-101,-18v-26,6,-29,51,-54,63v-18,-4,-19,-30,-3,-38v5,-9,15,-16,8,-29v1,-12,23,-9,26,-19v6,-10,11,-20,20,-27r70,-121v12,-4,16,4,22,19xm82,-91v17,3,62,7,86,13v-13,-33,-13,-80,-29,-109v-15,30,-38,63,-57,96xm112,-239v-31,-17,-9,-61,29,-56v12,2,22,3,33,12v24,39,-30,62,-62,44xm119,-262v2,14,41,8,41,-4v0,-4,-8,-6,-24,-9v-10,-2,-17,10,-17,13"},"Æ":{d:"335,-259v0,30,-102,12,-122,34v10,21,2,79,16,100v24,-6,59,-13,86,-16v23,-2,32,21,13,26r-103,29v-3,22,-4,38,8,43v28,-5,60,-6,86,-14v5,-1,14,7,14,11v6,16,-90,40,-107,40v-29,0,-39,-19,-32,-46v-2,-4,0,-26,-9,-28v-29,2,-58,6,-88,6v-31,0,-40,74,-82,73v-18,-23,4,-37,12,-50v40,-65,112,-126,165,-207v20,-17,69,-11,112,-13v21,0,31,4,31,12xm123,-111v28,1,44,-2,67,-10v-4,-22,5,-49,-7,-65v-3,6,-65,61,-60,75",w:348},"Ç":{d:"48,-108v-12,70,90,71,159,67r138,-9v9,-1,7,9,7,17v-37,16,-80,27,-103,21v-14,9,-40,3,-67,9v-30,0,-64,1,-100,-10v-6,-1,-10,-4,-10,-8v-32,-12,-46,-31,-63,-56v-16,-61,47,-103,83,-121v82,-42,118,-45,200,-60v21,-4,36,34,11,37v-90,11,-148,31,-225,77v-12,8,-23,20,-30,36xm172,18v29,4,47,14,53,35v-2,7,-14,31,-27,31v-28,7,-55,9,-84,14v-18,-5,-13,-32,7,-32v21,0,55,-5,69,-13v-16,-14,-63,10,-50,-35v9,-10,1,-27,23,-29v7,8,11,16,9,29",w:331},"È":{d:"49,-160v1,-4,-10,-9,-15,-8v-15,-35,32,-30,57,-31r142,-8v2,1,30,7,40,10v-52,16,-133,17,-190,30v-7,9,-12,24,-15,47v26,10,102,-6,141,3v1,3,1,6,2,10v-36,18,-92,12,-149,21v-11,9,-16,41,-16,51v55,-1,111,-21,168,-13v15,-8,48,1,31,18v-53,16,-130,13,-198,29r-39,-8v-4,-19,17,-53,20,-76v-1,0,-7,-11,-9,-18v18,-7,22,-28,30,-57xm184,-236v6,9,5,13,0,23v-28,-7,-62,-21,-100,-41v-3,-2,-3,-27,5,-23v34,11,60,25,95,41",w:252},"É":{d:"49,-160v1,-4,-10,-9,-15,-8v-15,-35,32,-30,57,-31r142,-8v2,1,30,7,40,10v-52,16,-133,17,-190,30v-7,9,-12,24,-15,47v26,10,102,-6,141,3v1,3,1,6,2,10v-36,18,-92,12,-149,21v-11,9,-16,41,-16,51v55,-1,111,-21,168,-13v15,-8,48,1,31,18v-53,16,-130,13,-198,29r-39,-8v-4,-19,17,-53,20,-76v-1,0,-7,-11,-9,-18v18,-7,22,-28,30,-57xm133,-248v27,-11,48,-32,59,-14v3,11,-79,52,-88,53v-14,1,-16,-11,-12,-21v10,-4,23,-11,41,-18",w:252},"Ê":{d:"49,-160v1,-4,-10,-9,-15,-8v-15,-35,32,-30,57,-31r142,-8v2,1,30,7,40,10v-52,16,-133,17,-190,30v-7,9,-12,24,-15,47v26,10,102,-6,141,3v1,3,1,6,2,10v-36,18,-92,12,-149,21v-11,9,-16,41,-16,51v55,-1,111,-21,168,-13v15,-8,48,1,31,18v-53,16,-130,13,-198,29r-39,-8v-4,-19,17,-53,20,-76v-1,0,-7,-11,-9,-18v18,-7,22,-28,30,-57xm199,-211v-27,-6,-39,-26,-60,-37v-21,7,-40,47,-65,22v-2,-7,-2,-7,-4,-13v18,-5,44,-31,61,-43v27,6,41,22,62,37v12,9,18,17,18,25v0,6,-4,9,-12,9",w:252},"Ë":{d:"49,-160v1,-4,-10,-9,-15,-8v-15,-35,32,-30,57,-31r142,-8v2,1,30,7,40,10v-52,16,-133,17,-190,30v-7,9,-12,24,-15,47v26,10,102,-6,141,3v1,3,1,6,2,10v-36,18,-92,12,-149,21v-11,9,-17,41,-17,51v55,0,112,-21,169,-13v15,-8,48,1,31,18v-53,16,-130,13,-198,29r-39,-8v-3,-21,17,-53,20,-76v-1,0,-7,-11,-9,-18v18,-7,22,-28,30,-57xm191,-236v0,8,-4,13,-12,13v-17,0,-19,-19,-16,-34v18,-1,29,1,28,21xm95,-261v7,3,29,9,28,18v0,7,-9,17,-18,17v-18,0,-26,-25,-10,-35",w:252},"Ì":{d:"33,-5v-9,-6,-9,-12,-9,-36v0,-71,8,-119,22,-144v8,-13,14,-20,19,-20v27,20,-11,87,-10,120r-15,76v-1,1,-4,2,-7,4xm72,-247v7,6,55,15,36,40v-28,-7,-61,-21,-99,-41v-3,-2,-3,-27,5,-23v18,3,41,17,58,24",w:111},"Í":{d:"26,-5v-9,-6,-9,-12,-9,-36v0,-71,7,-119,21,-144v8,-13,14,-20,19,-20v28,19,-7,89,-10,120v-2,21,-8,47,-14,76v-2,1,-2,0,-7,4xm6,-233v31,-6,83,-53,101,-31v2,11,-80,53,-89,53v-14,1,-14,-11,-12,-22",w:104},"Î":{d:"53,-9v-15,7,-16,-3,-16,-32v0,-71,7,-119,21,-144v8,-13,14,-20,19,-20v28,19,-7,89,-10,120v-2,21,-8,47,-14,76xm137,-209v-27,-6,-40,-26,-61,-37v-8,0,-9,4,-13,10v-11,13,-50,37,-56,0v18,-5,43,-32,61,-43v28,5,40,21,62,36v12,9,18,17,18,25v0,6,-4,9,-11,9",w:144},"Ï":{d:"33,-5v-9,-6,-9,-12,-9,-36v0,-71,8,-119,22,-144v8,-13,14,-20,19,-20v27,20,-11,87,-10,120r-15,76v-1,1,-4,2,-7,4xm111,-222v0,8,-4,12,-12,12v-18,0,-19,-19,-16,-33v18,-1,29,1,28,21xm15,-247v8,2,29,9,28,17v0,21,-37,24,-36,1v0,-7,2,-13,8,-18",w:110},"Ñ":{d:"224,-182v1,-17,15,-24,22,-38v20,0,13,10,3,33v-3,36,-25,52,-28,94v-10,24,-30,55,-29,82r-19,7v-32,-8,-36,-70,-58,-111v-2,-23,-7,-27,-19,-54v-28,36,-41,93,-71,133v-9,5,-20,-9,-20,-17r73,-149v9,-24,31,-5,36,7v19,41,31,98,53,139v22,-35,34,-69,50,-118v2,-3,3,-3,7,-8xm203,-257v22,-8,41,-24,65,-26v3,11,-8,9,-7,21v-26,20,-46,31,-59,31v-2,3,-49,-27,-49,-29v-11,0,-32,31,-46,32v-11,-2,-12,-21,-4,-23v4,-6,28,-30,48,-34v17,-4,43,28,52,28",w:219},"Ò":{d:"62,-184v78,-31,249,-50,238,74v-6,65,-102,105,-179,115v-77,-7,-152,-71,-101,-149v2,-5,24,-33,42,-40xm279,-120v14,-38,-47,-64,-85,-61v-20,-9,-41,7,-62,0v-11,7,-54,12,-66,24v0,20,-51,35,-38,66v-1,43,50,67,96,67v44,0,162,-55,155,-96xm161,-262v14,10,52,13,37,41v-28,-7,-62,-21,-100,-41v-3,-3,-3,-26,5,-24v16,5,42,17,58,24",w:273},"Ó":{d:"62,-184v78,-31,249,-50,238,74v-6,65,-102,105,-179,115v-77,-7,-152,-71,-101,-149v2,-5,24,-33,42,-40xm279,-120v14,-38,-47,-64,-85,-61v-20,-9,-41,7,-62,0v-11,7,-54,12,-66,24v0,20,-51,35,-38,66v-1,43,50,67,96,67v44,0,162,-55,155,-96xm142,-250v27,-11,47,-32,59,-14v2,11,-80,53,-89,53v-13,1,-15,-11,-12,-21v10,-5,24,-11,42,-18",w:273},"Ô":{d:"62,-184v78,-31,249,-50,238,74v-6,65,-102,105,-179,115v-77,-7,-152,-71,-101,-149v2,-5,24,-33,42,-40xm279,-120v14,-38,-47,-64,-85,-61v-20,-9,-41,7,-62,0v-11,7,-54,12,-66,24v0,20,-51,35,-38,66v-1,43,50,67,96,67v44,0,162,-55,155,-96xm157,-282v17,18,52,34,54,63v-24,12,-52,-36,-53,-29r-42,34v-23,-4,-6,-31,5,-34v1,1,27,-37,36,-34",w:273},"Õ":{ d:"62,-184v78,-31,249,-50,238,74v-6,65,-102,105,-179,115v-77,-7,-152,-71,-101,-149v2,-5,24,-33,42,-40xm279,-120v14,-38,-47,-64,-85,-61v-20,-9,-41,7,-62,0v-11,7,-54,12,-66,24v0,20,-51,35,-38,66v-1,43,50,67,96,67v44,0,162,-55,155,-96xm116,-270v26,-19,54,19,69,22v4,0,15,-5,34,-13v23,-10,22,-16,31,-12v3,11,-8,9,-7,21v-45,28,-47,42,-88,16v-29,-19,-12,-20,-43,2v-8,5,-12,18,-23,15v-13,-3,-12,-20,-4,-23v4,-6,14,-15,31,-28",w:273},"Ö":{d:"62,-184v78,-31,249,-50,238,74v-6,65,-102,105,-179,115v-77,-7,-152,-71,-101,-149v2,-5,24,-33,42,-40xm279,-120v14,-38,-47,-64,-85,-61v-20,-9,-41,7,-62,0v-11,7,-54,12,-66,24v0,20,-51,35,-38,66v-1,43,50,67,96,67v44,0,162,-55,155,-96xm197,-229v0,8,-4,13,-12,13v-17,0,-19,-19,-16,-34v18,-1,29,1,28,21xm101,-254v7,3,28,9,27,18v1,8,-8,17,-17,17v-18,0,-26,-24,-10,-35",w:273},"Ø":{d:"76,-211v41,-13,100,-22,140,-3v26,-19,40,-29,44,-29v10,0,15,7,15,20v0,15,-23,23,-30,35v23,39,29,114,-21,139v-36,19,-102,35,-147,18v-14,-5,-29,29,-46,35v-25,-13,-19,-24,3,-56v-9,-17,-28,-27,-28,-60v0,-38,23,-72,70,-99xm107,-66v55,15,125,-12,123,-70v0,-16,-5,-25,-13,-29r-110,95r0,4xm39,-108v-1,3,17,31,22,27v8,-6,109,-90,123,-106v-15,-11,-43,1,-63,2v-33,10,-80,35,-82,77",w:270},"Ù":{d:"281,-202v6,67,-30,121,-71,152v-3,14,-47,26,-60,39v-41,20,-110,1,-125,-26v-24,-44,-28,-84,-8,-127v12,-26,23,-38,37,-22v-2,2,-3,5,-3,10v-34,26,-30,116,5,134v22,32,86,-1,109,-8v38,-28,104,-64,97,-149v2,-10,7,-8,19,-3xm151,-243v14,10,54,14,37,41v-28,-7,-61,-22,-99,-42v-3,-2,-4,-25,4,-23v16,5,42,17,58,24",w:262},"Ú":{d:"281,-202v6,67,-30,121,-71,152v-3,14,-47,26,-60,39v-41,20,-110,1,-125,-26v-24,-44,-28,-84,-8,-127v12,-26,23,-38,37,-22v-2,2,-3,5,-3,10v-34,26,-30,116,5,134v22,32,86,-1,109,-8v38,-28,104,-64,97,-149v2,-10,7,-8,19,-3xm194,-265v3,-1,11,4,11,6v3,12,-81,52,-89,54v-14,0,-13,-9,-12,-22",w:262},"Û":{d:"281,-202v6,67,-30,121,-71,152v-3,14,-47,26,-60,39v-41,20,-110,1,-125,-26v-24,-44,-28,-84,-8,-127v12,-26,23,-38,37,-22v-2,2,-3,5,-3,10v-34,26,-30,116,5,134v22,32,86,-1,109,-8v38,-28,104,-64,97,-149v2,-10,7,-8,19,-3xm150,-266v24,11,58,27,73,46v0,5,-3,6,-10,6v-28,2,-61,-30,-63,-25v-10,0,-57,40,-69,23v3,-10,-8,-15,8,-19v17,-1,34,-29,61,-31",w:262},"Ü":{d:"281,-202v6,67,-30,121,-71,152v-3,14,-47,26,-60,39v-41,20,-110,1,-125,-26v-24,-44,-28,-84,-8,-127v12,-26,23,-38,37,-22v-2,2,-3,5,-3,10v-34,26,-29,116,5,134v22,32,86,-1,109,-8v38,-28,104,-64,97,-149v2,-10,7,-8,19,-3xm197,-227v0,8,-4,13,-12,13v-18,0,-21,-20,-16,-34v18,-1,28,2,28,21xm101,-252v7,3,27,10,27,18v0,8,-9,18,-18,17v-18,-1,-24,-25,-9,-35",w:262},"ß":{d:"33,10v-29,4,-28,-32,-16,-70v18,-58,17,-137,56,-176v12,-24,46,-58,82,-43v20,8,47,24,47,54v0,30,-62,59,-67,90v33,23,56,33,63,63v-18,21,-22,36,-48,54v-24,17,-27,41,-53,16v-2,-19,7,-35,24,-42v15,-13,26,-22,34,-40v-13,-17,-78,-29,-56,-70v-3,-27,64,-54,66,-86v-8,-25,-41,-4,-52,8v-29,30,-47,83,-51,141v-17,25,-8,71,-29,101"},"à":{d:"118,-53v10,4,55,41,62,47v0,7,-5,16,-12,16r-57,-28v-20,3,-40,19,-61,18v-10,2,-43,-17,-42,-36v0,-14,7,-40,27,-41v39,-26,92,-36,104,9v0,6,-2,11,-9,15v-32,-24,-64,-6,-84,11v8,15,58,-17,72,-11xm99,-137v7,6,56,14,37,40v-28,-7,-62,-21,-100,-41v-2,-3,-2,-26,5,-23v16,4,42,17,58,24",w:173},"á":{d:"118,-53v10,4,55,41,62,47v0,7,-5,16,-12,16r-57,-28v-20,3,-40,19,-61,18v-10,2,-43,-17,-42,-36v0,-14,7,-40,27,-41v39,-26,92,-36,104,9v0,6,-2,11,-9,15v-32,-24,-64,-6,-84,11v8,15,58,-17,72,-11xm32,-117v24,-3,85,-55,101,-32v3,11,-80,53,-89,53v-13,2,-14,-10,-12,-21",w:173},"â":{d:"118,-53v10,4,55,41,62,47v0,7,-5,16,-12,16r-57,-28v-20,3,-40,19,-61,18v-10,2,-43,-17,-42,-36v0,-14,7,-40,27,-41v39,-26,92,-36,104,9v0,6,-2,11,-9,15v-32,-24,-64,-6,-84,11v8,15,58,-17,72,-11xm147,-97v-27,-6,-39,-26,-60,-37v-21,7,-38,46,-65,23v-2,-5,-3,-10,-4,-14v18,-4,43,-31,61,-42v28,5,40,21,62,36v12,8,18,17,18,25v0,6,-4,9,-12,9",w:173},"ã":{d:"118,-53v10,4,55,41,62,47v0,7,-5,16,-12,16r-57,-28v-20,3,-40,19,-61,18v-10,2,-43,-17,-42,-36v0,-14,7,-40,27,-41v39,-26,92,-36,104,9v0,6,-2,11,-9,15v-32,-24,-64,-6,-84,11v8,15,58,-17,72,-11xm114,-136v22,-8,41,-24,64,-26v3,11,-7,10,-7,21v-26,20,-45,30,-58,30v-3,3,-49,-26,-49,-28v-10,-1,-32,35,-51,31v-12,-32,8,-29,32,-51v24,-21,54,20,69,23",w:173},"ä":{d:"118,-53v10,4,55,41,62,47v0,7,-5,16,-12,16r-57,-28v-20,3,-40,19,-61,18v-32,5,-66,-64,-15,-77v39,-26,92,-36,104,9v0,6,-3,11,-9,15v-32,-24,-64,-6,-84,11v8,15,58,-17,72,-11xm142,-119v0,8,-4,13,-12,13v-18,0,-21,-20,-16,-34v18,-1,28,2,28,21xm46,-144v7,3,28,9,27,18v1,8,-9,18,-18,17v-18,-1,-25,-25,-9,-35",w:173},"å":{d:"118,-53v10,4,55,41,62,47v0,7,-5,16,-12,16r-57,-28v-20,3,-40,19,-61,18v-10,2,-43,-17,-42,-36v0,-14,7,-40,27,-41v39,-26,92,-36,104,9v0,6,-2,11,-9,15v-32,-24,-64,-6,-84,11v8,15,58,-17,72,-11xm54,-101v-37,-20,-9,-71,34,-65v13,1,25,3,38,13v27,45,-34,73,-72,52xm61,-128v4,20,48,7,49,-5v0,-5,-9,-7,-28,-10v-12,-2,-21,11,-21,15",w:173},"æ":{d:"145,-44r33,7v2,42,-59,29,-85,16v-6,7,-35,24,-48,15v-19,2,-35,-21,-33,-37v2,-24,5,-19,28,-36v-6,-8,-45,3,-33,-21v21,-22,58,-12,85,-1v6,-5,35,-28,45,-15v20,-4,36,17,36,35v0,23,-4,21,-28,37xm111,-72v12,3,49,-16,19,-17v-5,0,-20,12,-19,17xm74,-50v-14,-4,-48,16,-19,17v4,1,19,-14,19,-17",w:184},"ç":{d:"108,-118v30,-6,56,21,25,33v-24,-6,-39,5,-75,23v-7,4,-12,12,-15,22v31,28,86,3,128,9v3,28,-29,16,-44,28v-53,15,-106,10,-120,-37v0,-48,62,-70,101,-78xm92,18v23,4,45,12,48,32v-2,6,-12,28,-25,28v-24,6,-50,10,-77,13v-16,-4,-11,-28,7,-29v17,-1,51,-4,63,-12v-14,-15,-57,10,-46,-32v9,-8,0,-25,21,-26v6,6,12,14,9,26",w:171},"è":{d:"108,-124v42,-3,70,39,50,73v-22,-1,-70,12,-94,10v-1,1,-2,3,-2,3v0,3,12,7,35,14v18,0,64,7,30,21v-10,14,-31,6,-53,6v-26,-7,-70,-26,-70,-58v0,-54,48,-65,104,-69xm130,-78v-2,-35,-66,-13,-77,3v16,6,62,6,77,-3xm95,-166v7,6,54,14,37,40v-28,-7,-62,-21,-100,-41v-3,-3,-3,-26,5,-24v16,5,42,18,58,25",w:161},"é":{d:"108,-124v42,-3,70,39,50,73v-22,-1,-70,12,-94,10v-1,1,-2,3,-2,3v0,3,12,7,35,14v18,0,64,7,30,21v-10,14,-31,6,-53,6v-26,-7,-70,-26,-70,-58v0,-54,48,-65,104,-69xm130,-78v-2,-35,-66,-13,-77,3v16,6,62,6,77,-3xm76,-169v26,-11,48,-32,59,-14v3,10,-80,53,-89,53v-14,1,-14,-10,-12,-21v15,-7,16,-7,42,-18",w:161},"ê":{d:"108,-124v42,-3,70,39,50,73v-22,-1,-70,12,-94,10v-1,1,-2,3,-2,3v0,3,12,7,35,14v18,0,64,7,30,21v-10,14,-31,6,-53,6v-26,-7,-70,-26,-70,-58v0,-54,48,-65,104,-69xm130,-78v-2,-35,-66,-13,-77,3v16,6,62,6,77,-3xm145,-129v-27,-6,-39,-26,-60,-37v-8,0,-10,4,-14,10v-11,15,-51,34,-56,0v17,-4,44,-32,61,-43v28,5,41,21,63,36v12,8,17,17,17,25v0,6,-3,9,-11,9",w:161},"ë":{d:"108,-124v42,-3,70,39,50,73v-22,-1,-70,12,-94,10r-3,3v0,3,12,7,36,14v18,0,64,7,30,21v-10,14,-31,6,-53,6v-26,-7,-67,-27,-71,-58v7,-52,48,-65,105,-69xm130,-78v-2,-35,-66,-13,-77,3v16,6,62,6,77,-3xm140,-144v0,8,-4,12,-12,12v-18,0,-19,-19,-16,-33v18,-1,29,1,28,21xm44,-169v7,3,28,9,28,17v0,9,-9,18,-18,18v-18,0,-25,-24,-10,-35",w:161},"ì":{d:"57,-98v22,5,13,50,11,95v-7,1,-11,2,-20,-4v1,-7,-12,-18,-10,-24v4,-22,-2,-64,19,-67xm70,-139v14,10,54,14,37,41v-28,-7,-61,-22,-99,-42v-3,-2,-3,-25,5,-23v15,5,41,17,57,24",w:109},"í":{d:"59,-98v20,4,15,53,10,95v-6,1,-11,2,-19,-4v1,-7,-12,-18,-10,-24v4,-22,-4,-65,19,-67xm50,-139v27,-11,49,-32,59,-14v3,11,-80,53,-89,53v-14,1,-14,-12,-11,-22v15,-7,14,-6,41,-17",w:105},"î":{d:"72,-98v20,5,12,51,10,95v-6,2,-13,1,-20,-4v1,-8,-12,-18,-10,-24v4,-22,-3,-65,20,-67xm134,-94v-26,-7,-39,-25,-60,-37v-7,0,-9,4,-13,10v-14,15,-51,34,-56,-1v18,-4,45,-33,61,-43v27,6,40,22,62,37v12,8,18,17,18,25v0,6,-4,9,-12,9",w:143},"ï":{d:"55,-97v19,5,15,53,10,95v-17,5,-26,-14,-30,-28v6,-20,-3,-65,20,-67xm110,-118v0,8,-4,13,-12,13v-17,0,-19,-19,-16,-34v18,-1,29,1,28,21xm14,-143v6,3,28,8,28,17v0,9,-9,18,-18,18v-18,0,-25,-24,-10,-35",w:107},"ñ":{d:"115,-129v34,6,59,50,59,105v0,31,-15,24,-30,17v-15,-29,-5,-42,-20,-81v-35,-13,-68,52,-88,61v-20,-4,-38,-36,-19,-59v0,-12,3,-14,10,-28v11,-8,18,11,27,12xm117,-166v22,-7,41,-23,64,-26v3,11,-7,10,-7,21v-26,20,-45,30,-58,30v-3,3,-49,-26,-49,-28v-10,-1,-32,35,-51,31v-5,-12,-8,-16,0,-23v4,-6,28,-29,48,-33v17,-3,43,28,53,28",w:171},"ò":{d:"102,-132v50,-20,99,16,99,60v0,54,-60,64,-108,79v-50,-2,-110,-48,-76,-100v22,-17,49,-33,85,-39xm136,-104v-34,0,-91,27,-94,47v16,51,125,16,125,-22v0,-17,-10,-25,-31,-25xm115,-181v14,10,51,13,37,40v-28,-7,-62,-21,-100,-41v-3,-2,-3,-26,5,-23v16,5,42,17,58,24",w:191},"ó":{d:"102,-132v50,-20,99,16,99,60v0,54,-60,64,-108,79v-50,-2,-110,-48,-76,-100v22,-17,49,-33,85,-39xm136,-104v-34,0,-91,27,-94,47v16,51,125,16,125,-22v0,-17,-10,-25,-31,-25xm49,-154v24,-3,85,-55,101,-32v3,11,-80,53,-89,53v-14,0,-13,-8,-12,-21",w:191},"ô":{d:"102,-132v50,-20,99,16,99,60v0,54,-60,64,-108,79v-50,-2,-110,-48,-76,-100v22,-17,49,-33,85,-39xm136,-104v-34,0,-91,27,-94,47v16,51,125,16,125,-22v0,-17,-10,-25,-31,-25xm110,-177v-22,6,-38,45,-65,22v-2,-4,-3,-9,-4,-13v18,-4,43,-32,61,-43v27,6,40,21,62,36v12,9,18,17,18,25v1,11,-15,10,-23,7",w:191},"õ":{d:"102,-132v50,-20,99,16,99,60v0,54,-60,64,-108,79v-50,-2,-110,-48,-76,-100v22,-17,49,-33,85,-39xm136,-104v-34,0,-91,27,-94,47v16,51,125,16,125,-22v0,-17,-10,-25,-31,-25xm58,-199v26,-21,54,18,69,22v4,0,15,-5,34,-13v22,-9,21,-16,31,-13v3,11,-9,9,-7,22v-26,20,-46,30,-59,30v-2,4,-49,-28,-49,-29v-11,0,-32,31,-46,32v-12,-3,-13,-21,-4,-23v4,-6,14,-15,31,-28",w:191},"ö":{d:"102,-132v50,-20,99,16,99,60v0,54,-60,64,-108,79v-50,-2,-110,-48,-76,-100v22,-17,49,-33,85,-39xm136,-104v-34,0,-91,27,-94,47v16,51,125,16,125,-22v0,-17,-10,-25,-31,-25xm161,-160v0,8,-4,13,-12,13v-17,0,-19,-19,-16,-34v18,-1,29,1,28,21xm65,-185v7,3,28,9,28,18v0,7,-9,18,-18,17v-18,1,-25,-24,-10,-35",w:191},"÷":{d:"167,-158v-4,3,-7,9,-10,20v-23,4,-34,-8,-29,-31v14,-6,18,1,39,11xm78,-72v-53,11,-53,12,-69,-15v-1,-12,11,-17,22,-14v71,-13,151,-18,230,-24v11,1,21,16,23,28v-28,20,-90,11,-126,16v-36,5,-62,5,-80,9xm123,-40v19,-17,41,-1,41,17v0,13,-6,19,-17,19v-15,0,-29,-14,-24,-36",w:293},"ø":{d:"76,-136v17,7,33,-8,51,0v9,-6,21,-13,36,-21v23,22,-13,31,3,50v11,13,4,21,14,35v-4,5,-1,14,-4,23v-14,23,-45,41,-84,39v-12,2,-29,28,-41,38v-2,-11,-34,-10,-15,-30v3,-7,5,-11,5,-11v-15,-24,-60,-54,-22,-89v23,-21,25,-32,57,-34xm102,-54v18,1,50,-19,30,-32v-12,7,-22,18,-30,32xm85,-92v-14,3,-26,8,-38,17v2,20,17,13,26,0v6,-8,12,-13,12,-17",w:188},"ù":{d:"196,-129v-1,-4,12,-13,15,-13v6,0,8,7,8,21v0,24,-7,25,-13,45v-7,7,-14,21,-24,29v-9,24,-61,45,-89,45v-63,0,-105,-72,-67,-126v24,-3,19,27,18,46v-1,26,23,42,54,40v38,-3,88,-51,98,-87xm126,-166v7,6,56,14,37,40v-28,-7,-62,-22,-100,-42v-2,-3,-2,-26,5,-23v16,4,42,18,58,25",w:213},"ú":{d:"196,-129v-1,-4,12,-13,15,-13v6,0,8,7,8,21v0,24,-7,25,-13,45v-7,7,-14,21,-24,29v-9,24,-61,45,-89,45v-63,0,-105,-72,-67,-126v24,-3,19,27,18,46v-1,26,23,42,54,40v38,-3,88,-51,98,-87xm106,-174v26,-11,48,-32,59,-14v3,11,-81,53,-89,54v-13,1,-15,-12,-11,-22v15,-7,14,-7,41,-18",w:213},"û":{d:"196,-129v-1,-4,12,-13,15,-13v6,0,8,7,8,21v0,24,-7,25,-13,45v-7,7,-14,21,-24,29v-9,24,-61,45,-89,45v-63,0,-105,-72,-67,-126v24,-3,19,27,18,46v-1,26,23,42,54,40v38,-3,88,-51,98,-87xm172,-143v-27,-6,-39,-26,-60,-37v-8,0,-10,4,-14,10v-11,15,-49,35,-56,0v17,-4,44,-32,61,-43v27,6,41,21,63,36v12,9,17,17,17,25v0,6,-3,9,-11,9",w:213},"ü":{d:"196,-129v-1,-4,12,-13,15,-13v6,0,8,7,8,21v0,24,-7,25,-13,45v-7,7,-14,21,-24,29v-9,24,-61,45,-89,45v-63,0,-105,-72,-67,-126v24,-3,19,27,18,46v-1,26,23,42,54,40v38,-3,88,-51,98,-87xm168,-161v0,8,-3,13,-11,13v-17,0,-20,-19,-17,-34v18,-1,29,1,28,21xm72,-186v7,3,29,9,28,18v0,7,-9,18,-18,17v-18,1,-25,-24,-10,-35",w:213},"ÿ":{d:"118,85v-11,11,-11,38,-22,61v-2,-1,-2,31,-17,27v-11,0,-21,-10,-21,-22v20,-66,23,-61,64,-168v-22,1,-38,16,-58,4v-22,4,-51,-16,-51,-42v-11,-13,-7,-59,7,-58v16,1,21,24,22,51v21,33,66,5,94,-7v4,-3,26,-14,38,-29r17,0v23,44,-23,59,-34,102v-6,9,-13,9,-13,26v-15,6,-12,33,-27,48v0,2,1,4,1,7xm158,-136v0,8,-4,13,-12,13v-18,0,-21,-20,-16,-34v18,-1,29,1,28,21xm62,-161v7,3,28,9,27,18v1,8,-8,17,-17,17v-18,0,-26,-24,-10,-35",w:190},"ı":{d:"43,-103v21,4,16,56,11,100v-7,2,-11,1,-20,-5v0,-7,-13,-18,-11,-25v4,-23,-3,-68,20,-70",w:80},"Œ":{d:"247,-243v71,4,161,-7,245,-8v17,0,27,6,27,17v-8,27,-70,14,-104,23v-3,1,-52,0,-65,7r0,4v16,16,17,29,17,65v32,10,74,-14,99,16v-14,25,-76,17,-127,24v-17,18,-55,32,-75,51v85,0,128,-3,204,-11v15,-2,21,11,20,29v-78,24,-177,12,-270,24v-24,3,-24,-29,-48,-15v-46,7,-70,4,-105,-4v-19,-18,-42,-22,-52,-55v-10,-34,0,-47,12,-78v-18,-59,48,-78,105,-84v17,-18,103,-13,117,-5xm125,-45v76,-9,186,-43,209,-105v-26,-67,-137,-83,-217,-54v3,34,-45,25,-60,58v-41,48,5,108,68,101",w:492},"œ":{d:"185,-54v25,28,107,-17,104,33v-12,12,-60,14,-87,14v0,0,1,1,2,1v-11,1,-39,-9,-50,-17v-28,17,-75,32,-114,7v-22,-14,-34,-11,-34,-41v0,-36,33,-49,48,-75v29,-16,72,-3,95,11v12,-9,48,-27,59,-26v30,0,64,15,65,40v0,7,-6,20,-20,37v-29,1,-44,11,-68,16xm226,-106v-21,-7,-41,-2,-48,13v14,1,42,-7,48,-13xm132,-87v-21,-35,-94,11,-92,24v-2,14,43,21,61,21v25,0,36,-20,31,-45",w:295},"Ÿ":{d:"176,-189v35,20,-25,54,-39,72v-26,34,-57,57,-74,104v-10,15,-4,14,-23,3r0,-10v19,-44,27,-46,50,-81v-9,-5,-24,4,-34,4v-38,0,-54,-50,-44,-87v21,-5,18,19,22,35v4,18,15,27,29,27v41,0,60,-39,113,-67xm153,-222v0,8,-3,12,-11,12v-18,0,-21,-19,-16,-33v18,-1,28,2,27,21xm57,-247v8,2,29,9,28,17v0,21,-37,24,-36,1v0,-7,2,-13,8,-18",w:135},"ƒ":{d:"115,-262v-23,6,-39,63,-38,96v1,3,57,2,54,16v1,22,-45,15,-51,30v3,34,12,68,10,103v14,17,-18,53,-28,63v-48,8,-89,5,-95,-37v20,-5,77,21,83,-18v17,-29,-4,-61,0,-98v0,-5,-3,-10,-7,-17v-33,4,-43,-17,-25,-37v10,-4,27,5,27,-10v0,-43,15,-77,32,-109v12,-7,16,-22,38,-20v11,1,51,35,25,55v-9,1,-16,-17,-25,-17",w:145},"ˆ":{d:"144,-220v-29,0,-41,-27,-63,-39v-8,0,-11,5,-15,11v-17,12,-32,31,-54,13v-2,-5,-3,-9,-4,-14v20,-5,45,-33,64,-45v28,6,43,23,65,38v12,9,19,19,19,27v0,6,-4,9,-12,9",w:165},"ˇ":{d:"39,-286v33,46,63,-4,96,-16v6,0,9,6,9,19v0,24,-49,46,-77,46v-32,0,-52,-28,-59,-48v0,-25,23,-17,31,-1",w:153},"˘":{d:"65,-269v20,-11,45,-31,74,-36v20,30,-42,40,-59,66v-5,6,-11,8,-18,8v-8,-3,-45,-32,-51,-54v5,-24,14,-13,34,1",w:158},"˙":{d:"23,-302v15,-13,32,1,32,18v1,22,-36,29,-39,4v0,0,3,-7,7,-22",w:70},"˚":{d:"23,-225v-43,-24,-11,-85,41,-78v16,2,31,4,46,17v32,54,-41,86,-87,61xm33,-257v2,20,57,11,57,-6v0,-6,-11,-9,-33,-12v-14,-2,-24,13,-24,18",w:123},"˛":{d:"82,-5v-8,12,-16,55,-21,75v0,4,2,7,7,7v6,0,22,-7,50,-20v8,0,12,7,12,20v-2,22,-6,14,-27,30v-15,12,-26,16,-30,16v-47,-8,-59,-14,-56,-75v8,-27,12,-54,25,-77v19,-21,35,15,40,24",w:138},"˜":{d:"47,-300v26,-21,57,19,72,23v4,0,16,-5,36,-14v24,-10,22,-16,32,-13v3,12,-7,11,-7,23v-27,21,-48,32,-62,32v-3,2,-52,-27,-51,-31v-12,-2,-34,40,-54,33v-4,-13,-8,-18,1,-24v5,-7,16,-15,33,-29",w:186},"˝":{d:"91,-249v15,-11,38,-53,57,-29v0,9,0,14,-3,23v-2,3,-20,22,-54,55v-5,5,-10,8,-16,8v-17,2,-6,-22,-7,-31v-1,0,-2,0,-4,1v-17,21,-29,31,-50,27v-5,-18,-3,-15,3,-27v23,-27,40,-46,48,-59v7,-12,31,3,29,9v-1,14,-3,24,-13,31v4,4,9,-1,10,-8",w:151},"–":{d:"6,-66v-8,-72,79,-21,146,-39v37,-10,79,7,111,0v9,8,14,13,14,17v2,26,-72,13,-99,21v-83,4,-124,21,-172,1",w:282},"—":{d:"175,-106v86,-9,201,1,286,-1v11,6,13,11,6,30v-118,15,-246,10,-377,10v-25,0,-73,3,-82,-8r-2,-26v11,-13,32,-9,52,-7v38,3,84,-5,117,2",w:485},"‘":{d:"73,-262v-10,7,-41,39,-38,69v-15,13,-27,-16,-28,-28v-2,-20,51,-83,66,-83v20,0,25,41,0,42",w:95},"’":{d:"74,-300v13,31,-1,99,-44,101v-13,0,-19,-5,-19,-15v6,-10,31,-34,35,-59v2,-11,1,-32,11,-32v6,0,11,2,17,5",w:90},"‚":{d:"25,63v-26,21,-48,-2,-22,-24v14,-12,35,-40,35,-69v3,-2,3,-11,12,-9v35,17,5,88,-25,102",w:97},"“":{d:"66,-261v-21,5,-37,51,-22,77v0,4,-2,6,-7,6v-31,-9,-38,-62,-12,-94v12,-15,21,-28,31,-34v16,-1,19,24,22,34v10,-11,22,-32,43,-23v-2,8,4,16,5,19v-6,11,-51,53,-29,74v-12,21,-30,5,-33,-17v-6,-13,9,-28,2,-42",w:118},"”":{d:"120,-294v12,3,30,26,19,34v2,15,-40,70,-55,66v-40,-10,10,-51,14,-64v3,-3,8,-31,22,-36xm70,-306v14,3,26,34,16,49v-19,30,-31,45,-58,59v-12,-11,-33,-17,-7,-36v13,-19,36,-27,36,-59v0,-5,9,-13,13,-13",w:148},"„":{d:"25,63v-26,21,-48,-2,-22,-24v11,-9,36,-41,35,-69v3,-2,4,-12,12,-9v36,14,5,89,-25,102xm84,64v-24,20,-45,-1,-21,-24v21,-20,32,-35,35,-69v3,-2,3,-11,12,-9v36,17,9,86,-26,102",w:135},"†":{d:"22,-286v15,6,5,-20,19,-19v9,-3,15,21,17,22v6,1,12,3,20,6v3,10,5,16,-9,16v-34,-10,-6,51,-34,52v-20,-7,11,-47,-15,-49v-14,3,-25,-5,-17,-24v7,-2,14,-4,19,-4",w:77},"‡":{d:"102,-284v16,2,42,-2,33,18v-7,15,-42,1,-38,30v3,3,31,1,30,11v4,15,-29,19,-36,24v-2,18,-4,24,-16,29r-25,-26v-25,7,-53,3,-42,-25v4,-10,70,0,51,-22v-17,4,-41,12,-39,-15v-5,-16,39,-18,44,-20v4,-2,7,-10,10,-24v19,-3,23,6,28,20",w:145},"•":{d:"130,-114v0,47,-124,54,-120,-8r6,-31v44,-28,64,-34,104,0v8,6,10,20,10,39",w:139},"…":{d:"244,-24v-1,21,-38,32,-41,3v-2,-19,23,-22,34,-17v0,7,0,15,7,14xm113,-24v0,-22,28,-21,38,-8v5,34,-39,40,-38,8xm35,-2v-10,-2,-36,-17,-18,-29v-1,-15,17,-17,31,-6v7,17,6,33,-13,35",w:258},"‰":{d:"398,-131v58,-1,87,13,72,65v-1,30,-66,63,-99,65v-56,3,-99,-58,-62,-102v2,2,5,2,8,2v20,-16,51,-17,81,-30xm202,-279v33,0,94,-24,95,18v-7,31,-33,27,-54,55v-36,32,-71,74,-112,99v-18,18,-40,34,-51,58v-19,14,-25,37,-56,40v-17,2,-25,-29,-10,-40v15,-11,40,-37,52,-52r87,-72v-51,13,-100,6,-116,-27v1,-5,-6,-30,-9,-36v-3,-5,22,-41,27,-39v29,2,16,34,5,49v0,15,14,23,42,23v42,0,59,-31,28,-38v-17,-4,-53,3,-50,-23v0,-7,1,-12,4,-16v16,-9,36,4,49,5v0,0,23,-4,69,-4xm222,-118v33,-2,55,18,50,57v-29,36,-48,45,-96,50v-27,-5,-56,-17,-58,-51v13,-37,64,-43,104,-56xm335,-61v13,44,101,7,108,-31v-11,-3,-20,-4,-30,-4v-18,-1,-82,18,-78,35xm225,-244v-18,0,-29,-1,-46,3v7,15,6,28,0,43v15,-14,34,-30,46,-46xm164,-53v26,5,59,-10,76,-26v-17,-16,-49,2,-67,14v1,8,-8,6,-9,12",w:485},"‹":{d:"64,-107v9,17,86,17,87,43v0,11,-4,16,-13,16v-36,-11,-70,-22,-109,-31v-19,-4,-18,-14,-9,-36v59,-56,93,-84,101,-84v17,0,19,20,13,29",w:159},"›":{d:"41,-181v26,27,112,44,70,91r-82,60v-20,3,-25,-23,-13,-32r70,-51r-66,-46v-5,-6,-4,-28,5,-29v4,2,9,4,16,7",w:137},"⁄":{d:"193,-305v7,6,17,31,3,41v-10,7,-12,13,-21,25v-79,56,-190,209,-197,260r-18,0v-23,-19,9,-70,15,-85v52,-83,121,-179,218,-241",w:120},"™":{d:"213,-307v28,9,11,49,7,75v-1,4,-4,6,-11,6v-7,1,-11,-14,-11,-34v-14,-6,-34,34,-46,28v-2,0,-10,-9,-24,-27v-10,7,-3,36,-27,31v-15,-24,-3,-27,1,-48v-6,-7,-27,-1,-31,3v-3,14,-7,30,-11,51v-5,10,-29,9,-24,-12v-5,-8,1,-18,3,-35v-13,6,-33,2,-29,-18v20,-17,64,-17,100,-19v28,-1,29,30,45,39v11,-6,35,-32,58,-40",w:239},"∆":{d:"18,-1v-24,-30,8,-48,25,-71v14,-19,34,-28,40,-56v20,-35,29,-14,57,4v9,39,43,62,57,102v0,16,-34,17,-50,14v-28,2,-72,4,-129,7xm139,-47r-22,-52v-12,-5,-12,15,-24,27v-7,6,-14,16,-23,28v23,1,36,-1,69,-3",w:199},"∙":{d:"57,-77v6,18,-7,21,-19,23v-34,6,-25,-40,-9,-43v18,-3,29,8,28,20",w:67},"√":{d:"364,-218v43,-21,80,-51,104,-32v-3,19,-24,21,-44,40v-41,15,-78,53,-136,78r-137,98v-20,16,-79,66,-91,68v-3,1,-25,-11,-24,-13v-4,-28,-43,-61,-30,-85v26,-15,42,19,58,32r295,-188v0,1,2,2,5,2",w:474},"∞":{d:"322,-72v-4,22,-54,41,-76,41v-43,0,-83,-17,-114,-35v-46,19,-125,53,-128,-18v-1,-14,10,-22,13,-35v29,-10,62,-31,97,-4v37,28,47,5,75,-8v40,-19,73,-10,114,1v13,1,18,55,19,58xm228,-69v15,0,62,-12,61,-25v-19,-23,-89,-10,-105,11v0,2,1,4,2,4v28,6,42,10,42,10xm75,-102v-13,2,-41,4,-44,19v0,4,3,7,10,7v21,0,40,-6,54,-17v-9,-6,-16,-9,-20,-9",w:330},"∫":{d:"62,-151v-7,-70,20,-130,63,-150v28,1,39,10,70,23v20,8,6,33,-6,35v-29,-13,-45,-20,-49,-20v-20,-4,-45,51,-43,70v8,60,5,129,5,189v0,62,-27,93,-79,93v-37,-1,-71,-14,-63,-57v21,0,79,34,91,-2v16,-3,14,-64,21,-85v-2,-31,-1,-74,-10,-96",w:156},"≈":{d:"133,-112v21,15,48,-30,78,-17v3,3,5,7,5,9v-8,30,-47,45,-76,45v-19,0,-64,-48,-90,-21r-29,20v-6,-1,-17,-16,-15,-32v24,-17,70,-42,107,-21v4,4,10,9,20,17xm138,-57v28,2,48,-25,76,-26v13,30,-21,42,-40,53v-41,24,-77,-15,-114,-23v-15,14,-46,32,-49,-1v-3,-9,27,-28,54,-30",w:223},"≠":{d:"48,-130v29,11,49,-57,60,-50v25,6,7,27,-1,46v22,5,29,7,21,22v-18,2,-48,-1,-50,15v9,8,53,-7,54,10v-4,22,-46,20,-72,24v-7,13,-18,32,-34,57v-8,6,-15,-3,-13,-14v-1,-9,15,-39,14,-45v-30,5,-24,-17,-13,-25v12,-1,36,4,29,-13v-14,0,-47,6,-36,-12v0,-18,27,-13,41,-15",w:140},"≤":{d:"73,-109v10,15,87,16,87,42v0,11,-5,16,-13,16v-36,-11,-69,-24,-109,-31v-18,-8,-18,-13,-9,-36v59,-56,93,-83,101,-83v16,0,18,17,14,28v-27,24,-42,35,-71,64xm10,-29v35,-12,117,-26,148,-3v1,2,-5,19,-8,18r-124,15v-16,2,-26,-18,-16,-30",w:168},"≥":{d:"115,-174v20,7,53,36,20,57v-19,11,-91,68,-82,59v-18,3,-25,-22,-13,-31v15,-10,14,-10,70,-51r-50,-37v-5,-4,-5,-27,4,-28v16,7,40,17,51,31xm14,-32v33,-10,86,-14,127,-10v12,12,5,23,-11,27v-49,9,-82,13,-99,13v-22,0,-24,-16,-17,-30",w:163},"◊":{d:"76,-158v48,-8,64,11,100,36v28,19,-5,39,-22,54v-15,13,-40,32,-48,49v-17,5,-12,0,-27,-16v-6,-6,-86,-31,-68,-53r2,-9v27,-23,48,-44,63,-61xm93,-65v12,-2,35,-31,41,-38v-5,-10,-16,-14,-34,-24v-12,12,-36,29,-40,44v19,11,30,18,33,18",w:199}}}),"undefined"==typeof Raphael&&"undefined"==typeof Snap)throw new Error("Raphael or Snap.svg is required to be included.");if(_.isEmpty(Diagram.themes))throw new Error("No themes were registered. Please call registerTheme(...).");Diagram.themes.hand=Diagram.themes.snapHand||Diagram.themes.raphaelHand,Diagram.themes.simple=Diagram.themes.snapSimple||Diagram.themes.raphaelSimple,Diagram.prototype.drawSVG=function(container,options){var defaultOptions={theme:"hand"};if(options=_.defaults(options||{},defaultOptions),!(options.theme in Diagram.themes))throw new Error("Unsupported theme: "+options.theme);var div=_.isString(container)?document.getElementById(container):container;if(null===div||!div.tagName)throw new Error("Invalid container: "+container);var Theme=Diagram.themes[options.theme];new Theme(this,options,function(drawing){drawing.draw(div)})},"undefined"!=typeof jQuery&&!function($){$.fn.sequenceDiagram=function(options){return this.each(function(){var $this=$(this),diagram=Diagram.parse($this.text());$this.html(""),diagram.drawSVG(this,options)})}}(jQuery);var root="object"==typeof self&&self.self==self&&self||"object"==typeof global&&global.global==global&&global;"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=Diagram),exports.Diagram=Diagram):root.Diagram=Diagram}(); //# sourceMappingURL=sequence-diagram-raphael.js ================================================ FILE: dist/sequence-diagram-raphael.js ================================================ /** js sequence diagrams 2.0.1 * https://bramp.github.io/js-sequence-diagrams/ * (c) 2012-2017 Andrew Brampton (bramp.net) * @license Simplified BSD license. */ (function() { 'use strict'; /*global Diagram */ // The following are included by preprocessor */ /** js sequence diagrams * https://bramp.github.io/js-sequence-diagrams/ * (c) 2012-2017 Andrew Brampton (bramp.net) * Simplified BSD license. */ /*global grammar _ */ function Diagram() { this.title = undefined; this.actors = []; this.signals = []; } /* * Return an existing actor with this alias, or creates a new one with alias and name. */ Diagram.prototype.getActor = function(alias, name) { alias = alias.trim(); var i; var actors = this.actors; for (i in actors) { if (actors[i].alias == alias) { return actors[i]; } } i = actors.push(new Diagram.Actor(alias, (name || alias), actors.length)); return actors[ i - 1 ]; }; /* * Parses the input as either a alias, or a "name as alias", and returns the corresponding actor. */ Diagram.prototype.getActorWithAlias = function(input) { input = input.trim(); // We are lazy and do some of the parsing in javascript :(. TODO move into the .jison file. var s = /([\s\S]+) as (\S+)$/im.exec(input); var alias; var name; if (s) { name = s[1].trim(); alias = s[2].trim(); } else { name = alias = input; } return this.getActor(alias, name); }; Diagram.prototype.setTitle = function(title) { this.title = title; }; Diagram.prototype.addSignal = function(signal) { this.signals.push(signal); }; Diagram.Actor = function(alias, name, index) { this.alias = alias; this.name = name; this.index = index; }; Diagram.Signal = function(actorA, signaltype, actorB, message) { this.type = 'Signal'; this.actorA = actorA; this.actorB = actorB; this.linetype = signaltype & 3; this.arrowtype = (signaltype >> 2) & 3; this.message = message; }; Diagram.Signal.prototype.isSelf = function() { return this.actorA.index == this.actorB.index; }; Diagram.Note = function(actor, placement, message) { this.type = 'Note'; this.actor = actor; this.placement = placement; this.message = message; if (this.hasManyActors() && actor[0] == actor[1]) { throw new Error('Note should be over two different actors'); } }; Diagram.Note.prototype.hasManyActors = function() { return _.isArray(this.actor); }; Diagram.unescape = function(s) { // Turn "\\n" into "\n" return s.trim().replace(/^"(.*)"$/m, '$1').replace(/\\n/gm, '\n'); }; Diagram.LINETYPE = { SOLID: 0, DOTTED: 1 }; Diagram.ARROWTYPE = { FILLED: 0, OPEN: 1 }; Diagram.PLACEMENT = { LEFTOF: 0, RIGHTOF: 1, OVER: 2 }; // Some older browsers don't have getPrototypeOf, thus we polyfill it // https://github.com/bramp/js-sequence-diagrams/issues/57 // https://github.com/zaach/jison/issues/194 // Taken from http://ejohn.org/blog/objectgetprototypeof/ if (typeof Object.getPrototypeOf !== 'function') { /* jshint -W103 */ if (typeof 'test'.__proto__ === 'object') { Object.getPrototypeOf = function(object) { return object.__proto__; }; } else { Object.getPrototypeOf = function(object) { // May break if the constructor has been tampered with return object.constructor.prototype; }; } /* jshint +W103 */ } /** The following is included by preprocessor */ /* parser generated by jison 0.4.15 */ /* Returns a Parser object of the following structure: Parser: { yy: {} } Parser.prototype: { yy: {}, trace: function(), symbols_: {associative list: name ==> number}, terminals_: {associative list: number ==> name}, productions_: [...], performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$), table: [...], defaultActions: {...}, parseError: function(str, hash), parse: function(input), lexer: { EOF: 1, parseError: function(str, hash), setInput: function(input), input: function(), unput: function(str), more: function(), less: function(n), pastInput: function(), upcomingInput: function(), showPosition: function(), test_match: function(regex_match_array, rule_index), next: function(), lex: function(), begin: function(condition), popState: function(), _currentRules: function(), topState: function(), pushState: function(condition), options: { ranges: boolean (optional: true ==> token location info will include a .range[] member) flex: boolean (optional: true ==> flex-like lexing behaviour where the rules are tested exhaustively to find the longest match) backtrack_lexer: boolean (optional: true ==> lexer regexes are tested in order and for each matching regex the action code is invoked; the lexer terminates the scan when a token is returned by the action code) }, performAction: function(yy, yy_, $avoiding_name_collisions, YY_START), rules: [...], conditions: {associative list: name ==> set}, } } token location info (@$, _$, etc.): { first_line: n, last_line: n, first_column: n, last_column: n, range: [start_number, end_number] (where the numbers are indexes into the input string, regular zero-based) } the parseError function receives a 'hash' object with these members for lexer and parser errors: { text: (matched text) token: (the produced terminal token, if any) line: (yylineno) } while parser (grammar) errors will also provide these members, i.e. parser errors deliver a superset of attributes: { loc: (yylloc) expected: (string describing the set of expected tokens) recoverable: (boolean: TRUE when the parser has a error recovery rule available for this particular error) } */ var parser = function() { function Parser() { this.yy = {}; } var o = function(k, v, o, l) { for (o = o || {}, l = k.length; l--; o[k[l]] = v) ; return o; }, $V0 = [ 5, 8, 9, 13, 15, 24 ], $V1 = [ 1, 13 ], $V2 = [ 1, 17 ], $V3 = [ 24, 29, 30 ], parser = { trace: function() {}, yy: {}, symbols_: { error: 2, start: 3, document: 4, EOF: 5, line: 6, statement: 7, NL: 8, participant: 9, actor_alias: 10, signal: 11, note_statement: 12, title: 13, message: 14, note: 15, placement: 16, actor: 17, over: 18, actor_pair: 19, ",": 20, left_of: 21, right_of: 22, signaltype: 23, ACTOR: 24, linetype: 25, arrowtype: 26, LINE: 27, DOTLINE: 28, ARROW: 29, OPENARROW: 30, MESSAGE: 31, $accept: 0, $end: 1 }, terminals_: { 2: "error", 5: "EOF", 8: "NL", 9: "participant", 13: "title", 15: "note", 18: "over", 20: ",", 21: "left_of", 22: "right_of", 24: "ACTOR", 27: "LINE", 28: "DOTLINE", 29: "ARROW", 30: "OPENARROW", 31: "MESSAGE" }, productions_: [ 0, [ 3, 2 ], [ 4, 0 ], [ 4, 2 ], [ 6, 1 ], [ 6, 1 ], [ 7, 2 ], [ 7, 1 ], [ 7, 1 ], [ 7, 2 ], [ 12, 4 ], [ 12, 4 ], [ 19, 1 ], [ 19, 3 ], [ 16, 1 ], [ 16, 1 ], [ 11, 4 ], [ 17, 1 ], [ 10, 1 ], [ 23, 2 ], [ 23, 1 ], [ 25, 1 ], [ 25, 1 ], [ 26, 1 ], [ 26, 1 ], [ 14, 1 ] ], performAction: function(yytext, yyleng, yylineno, yy, yystate, $$, _$) { /* this == yyval */ var $0 = $$.length - 1; switch (yystate) { case 1: return yy.parser.yy; case 4: break; case 6: $$[$0]; break; case 7: case 8: yy.parser.yy.addSignal($$[$0]); break; case 9: yy.parser.yy.setTitle($$[$0]); break; case 10: this.$ = new Diagram.Note($$[$0 - 1], $$[$0 - 2], $$[$0]); break; case 11: this.$ = new Diagram.Note($$[$0 - 1], Diagram.PLACEMENT.OVER, $$[$0]); break; case 12: case 20: this.$ = $$[$0]; break; case 13: this.$ = [ $$[$0 - 2], $$[$0] ]; break; case 14: this.$ = Diagram.PLACEMENT.LEFTOF; break; case 15: this.$ = Diagram.PLACEMENT.RIGHTOF; break; case 16: this.$ = new Diagram.Signal($$[$0 - 3], $$[$0 - 2], $$[$0 - 1], $$[$0]); break; case 17: this.$ = yy.parser.yy.getActor(Diagram.unescape($$[$0])); break; case 18: this.$ = yy.parser.yy.getActorWithAlias(Diagram.unescape($$[$0])); break; case 19: this.$ = $$[$0 - 1] | $$[$0] << 2; break; case 21: this.$ = Diagram.LINETYPE.SOLID; break; case 22: this.$ = Diagram.LINETYPE.DOTTED; break; case 23: this.$ = Diagram.ARROWTYPE.FILLED; break; case 24: this.$ = Diagram.ARROWTYPE.OPEN; break; case 25: this.$ = Diagram.unescape($$[$0].substring(1)); } }, table: [ o($V0, [ 2, 2 ], { 3: 1, 4: 2 }), { 1: [ 3 ] }, { 5: [ 1, 3 ], 6: 4, 7: 5, 8: [ 1, 6 ], 9: [ 1, 7 ], 11: 8, 12: 9, 13: [ 1, 10 ], 15: [ 1, 12 ], 17: 11, 24: $V1 }, { 1: [ 2, 1 ] }, o($V0, [ 2, 3 ]), o($V0, [ 2, 4 ]), o($V0, [ 2, 5 ]), { 10: 14, 24: [ 1, 15 ] }, o($V0, [ 2, 7 ]), o($V0, [ 2, 8 ]), { 14: 16, 31: $V2 }, { 23: 18, 25: 19, 27: [ 1, 20 ], 28: [ 1, 21 ] }, { 16: 22, 18: [ 1, 23 ], 21: [ 1, 24 ], 22: [ 1, 25 ] }, o([ 20, 27, 28, 31 ], [ 2, 17 ]), o($V0, [ 2, 6 ]), o($V0, [ 2, 18 ]), o($V0, [ 2, 9 ]), o($V0, [ 2, 25 ]), { 17: 26, 24: $V1 }, { 24: [ 2, 20 ], 26: 27, 29: [ 1, 28 ], 30: [ 1, 29 ] }, o($V3, [ 2, 21 ]), o($V3, [ 2, 22 ]), { 17: 30, 24: $V1 }, { 17: 32, 19: 31, 24: $V1 }, { 24: [ 2, 14 ] }, { 24: [ 2, 15 ] }, { 14: 33, 31: $V2 }, { 24: [ 2, 19 ] }, { 24: [ 2, 23 ] }, { 24: [ 2, 24 ] }, { 14: 34, 31: $V2 }, { 14: 35, 31: $V2 }, { 20: [ 1, 36 ], 31: [ 2, 12 ] }, o($V0, [ 2, 16 ]), o($V0, [ 2, 10 ]), o($V0, [ 2, 11 ]), { 17: 37, 24: $V1 }, { 31: [ 2, 13 ] } ], defaultActions: { 3: [ 2, 1 ], 24: [ 2, 14 ], 25: [ 2, 15 ], 27: [ 2, 19 ], 28: [ 2, 23 ], 29: [ 2, 24 ], 37: [ 2, 13 ] }, parseError: function(str, hash) { if (!hash.recoverable) throw new Error(str); this.trace(str); }, parse: function(input) { function lex() { var token; return token = lexer.lex() || EOF, "number" != typeof token && (token = self.symbols_[token] || token), token; } var self = this, stack = [ 0 ], vstack = [ null ], lstack = [], table = this.table, yytext = "", yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1, args = lstack.slice.call(arguments, 1), lexer = Object.create(this.lexer), sharedState = { yy: {} }; for (var k in this.yy) Object.prototype.hasOwnProperty.call(this.yy, k) && (sharedState.yy[k] = this.yy[k]); lexer.setInput(input, sharedState.yy), sharedState.yy.lexer = lexer, sharedState.yy.parser = this, "undefined" == typeof lexer.yylloc && (lexer.yylloc = {}); var yyloc = lexer.yylloc; lstack.push(yyloc); var ranges = lexer.options && lexer.options.ranges; "function" == typeof sharedState.yy.parseError ? this.parseError = sharedState.yy.parseError : this.parseError = Object.getPrototypeOf(this).parseError; for (var symbol, preErrorSymbol, state, action, r, p, len, newState, expected, yyval = {}; ;) { if (state = stack[stack.length - 1], this.defaultActions[state] ? action = this.defaultActions[state] : (null !== symbol && "undefined" != typeof symbol || (symbol = lex()), action = table[state] && table[state][symbol]), "undefined" == typeof action || !action.length || !action[0]) { var errStr = ""; expected = []; for (p in table[state]) this.terminals_[p] && p > TERROR && expected.push("'" + this.terminals_[p] + "'"); errStr = lexer.showPosition ? "Parse error on line " + (yylineno + 1) + ":\n" + lexer.showPosition() + "\nExpecting " + expected.join(", ") + ", got '" + (this.terminals_[symbol] || symbol) + "'" : "Parse error on line " + (yylineno + 1) + ": Unexpected " + (symbol == EOF ? "end of input" : "'" + (this.terminals_[symbol] || symbol) + "'"), this.parseError(errStr, { text: lexer.match, token: this.terminals_[symbol] || symbol, line: lexer.yylineno, loc: yyloc, expected: expected }); } if (action[0] instanceof Array && action.length > 1) throw new Error("Parse Error: multiple actions possible at state: " + state + ", token: " + symbol); switch (action[0]) { case 1: stack.push(symbol), vstack.push(lexer.yytext), lstack.push(lexer.yylloc), stack.push(action[1]), symbol = null, preErrorSymbol ? (symbol = preErrorSymbol, preErrorSymbol = null) : (yyleng = lexer.yyleng, yytext = lexer.yytext, yylineno = lexer.yylineno, yyloc = lexer.yylloc, recovering > 0 && recovering--); break; case 2: if (len = this.productions_[action[1]][1], yyval.$ = vstack[vstack.length - len], yyval._$ = { first_line: lstack[lstack.length - (len || 1)].first_line, last_line: lstack[lstack.length - 1].last_line, first_column: lstack[lstack.length - (len || 1)].first_column, last_column: lstack[lstack.length - 1].last_column }, ranges && (yyval._$.range = [ lstack[lstack.length - (len || 1)].range[0], lstack[lstack.length - 1].range[1] ]), r = this.performAction.apply(yyval, [ yytext, yyleng, yylineno, sharedState.yy, action[1], vstack, lstack ].concat(args)), "undefined" != typeof r) return r; len && (stack = stack.slice(0, -1 * len * 2), vstack = vstack.slice(0, -1 * len), lstack = lstack.slice(0, -1 * len)), stack.push(this.productions_[action[1]][0]), vstack.push(yyval.$), lstack.push(yyval._$), newState = table[stack[stack.length - 2]][stack[stack.length - 1]], stack.push(newState); break; case 3: return !0; } } return !0; } }, lexer = function() { var lexer = { EOF: 1, parseError: function(str, hash) { if (!this.yy.parser) throw new Error(str); this.yy.parser.parseError(str, hash); }, // resets the lexer, sets new input setInput: function(input, yy) { return this.yy = yy || this.yy || {}, this._input = input, this._more = this._backtrack = this.done = !1, this.yylineno = this.yyleng = 0, this.yytext = this.matched = this.match = "", this.conditionStack = [ "INITIAL" ], this.yylloc = { first_line: 1, first_column: 0, last_line: 1, last_column: 0 }, this.options.ranges && (this.yylloc.range = [ 0, 0 ]), this.offset = 0, this; }, // consumes and returns one char from the input input: function() { var ch = this._input[0]; this.yytext += ch, this.yyleng++, this.offset++, this.match += ch, this.matched += ch; var lines = ch.match(/(?:\r\n?|\n).*/g); return lines ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, this.options.ranges && this.yylloc.range[1]++, this._input = this._input.slice(1), ch; }, // unshifts one char (or a string) into the input unput: function(ch) { var len = ch.length, lines = ch.split(/(?:\r\n?|\n)/g); this._input = ch + this._input, this.yytext = this.yytext.substr(0, this.yytext.length - len), //this.yyleng -= len; this.offset -= len; var oldLines = this.match.split(/(?:\r\n?|\n)/g); this.match = this.match.substr(0, this.match.length - 1), this.matched = this.matched.substr(0, this.matched.length - 1), lines.length - 1 && (this.yylineno -= lines.length - 1); var r = this.yylloc.range; return this.yylloc = { first_line: this.yylloc.first_line, last_line: this.yylineno + 1, first_column: this.yylloc.first_column, last_column: lines ? (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length : this.yylloc.first_column - len }, this.options.ranges && (this.yylloc.range = [ r[0], r[0] + this.yyleng - len ]), this.yyleng = this.yytext.length, this; }, // When called from action, caches matched text and appends it on next action more: function() { return this._more = !0, this; }, // When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead. reject: function() { return this.options.backtrack_lexer ? (this._backtrack = !0, this) : this.parseError("Lexical error on line " + (this.yylineno + 1) + ". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n" + this.showPosition(), { text: "", token: null, line: this.yylineno }); }, // retain first n characters of the match less: function(n) { this.unput(this.match.slice(n)); }, // displays already matched input, i.e. for error messages pastInput: function() { var past = this.matched.substr(0, this.matched.length - this.match.length); return (past.length > 20 ? "..." : "") + past.substr(-20).replace(/\n/g, ""); }, // displays upcoming input, i.e. for error messages upcomingInput: function() { var next = this.match; return next.length < 20 && (next += this._input.substr(0, 20 - next.length)), (next.substr(0, 20) + (next.length > 20 ? "..." : "")).replace(/\n/g, ""); }, // displays the character position where the lexing error occurred, i.e. for error messages showPosition: function() { var pre = this.pastInput(), c = new Array(pre.length + 1).join("-"); return pre + this.upcomingInput() + "\n" + c + "^"; }, // test the lexed token: return FALSE when not a match, otherwise return token test_match: function(match, indexed_rule) { var token, lines, backup; if (this.options.backtrack_lexer && (// save context backup = { yylineno: this.yylineno, yylloc: { first_line: this.yylloc.first_line, last_line: this.last_line, first_column: this.yylloc.first_column, last_column: this.yylloc.last_column }, yytext: this.yytext, match: this.match, matches: this.matches, matched: this.matched, yyleng: this.yyleng, offset: this.offset, _more: this._more, _input: this._input, yy: this.yy, conditionStack: this.conditionStack.slice(0), done: this.done }, this.options.ranges && (backup.yylloc.range = this.yylloc.range.slice(0))), lines = match[0].match(/(?:\r\n?|\n).*/g), lines && (this.yylineno += lines.length), this.yylloc = { first_line: this.yylloc.last_line, last_line: this.yylineno + 1, first_column: this.yylloc.last_column, last_column: lines ? lines[lines.length - 1].length - lines[lines.length - 1].match(/\r?\n?/)[0].length : this.yylloc.last_column + match[0].length }, this.yytext += match[0], this.match += match[0], this.matches = match, this.yyleng = this.yytext.length, this.options.ranges && (this.yylloc.range = [ this.offset, this.offset += this.yyleng ]), this._more = !1, this._backtrack = !1, this._input = this._input.slice(match[0].length), this.matched += match[0], token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]), this.done && this._input && (this.done = !1), token) return token; if (this._backtrack) { // recover context for (var k in backup) this[k] = backup[k]; return !1; } return !1; }, // return next match in input next: function() { if (this.done) return this.EOF; this._input || (this.done = !0); var token, match, tempMatch, index; this._more || (this.yytext = "", this.match = ""); for (var rules = this._currentRules(), i = 0; i < rules.length; i++) if (tempMatch = this._input.match(this.rules[rules[i]]), tempMatch && (!match || tempMatch[0].length > match[0].length)) { if (match = tempMatch, index = i, this.options.backtrack_lexer) { if (token = this.test_match(tempMatch, rules[i]), token !== !1) return token; if (this._backtrack) { match = !1; continue; } // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace) return !1; } if (!this.options.flex) break; } return match ? (token = this.test_match(match, rules[index]), token !== !1 && token) : "" === this._input ? this.EOF : this.parseError("Lexical error on line " + (this.yylineno + 1) + ". Unrecognized text.\n" + this.showPosition(), { text: "", token: null, line: this.yylineno }); }, // return next match that has a token lex: function() { var r = this.next(); return r ? r : this.lex(); }, // activates a new lexer condition state (pushes the new lexer condition state onto the condition stack) begin: function(condition) { this.conditionStack.push(condition); }, // pop the previously active lexer condition state off the condition stack popState: function() { var n = this.conditionStack.length - 1; return n > 0 ? this.conditionStack.pop() : this.conditionStack[0]; }, // produce the lexer rule set which is active for the currently active lexer condition state _currentRules: function() { return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules : this.conditions.INITIAL.rules; }, // return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available topState: function(n) { return n = this.conditionStack.length - 1 - Math.abs(n || 0), n >= 0 ? this.conditionStack[n] : "INITIAL"; }, // alias for begin(condition) pushState: function(condition) { this.begin(condition); }, // return the number of states currently on the stack stateStackSize: function() { return this.conditionStack.length; }, options: { "case-insensitive": !0 }, performAction: function(yy, yy_, $avoiding_name_collisions, YY_START) { switch ($avoiding_name_collisions) { case 0: return 8; case 1: /* skip whitespace */ break; case 2: /* skip comments */ break; case 3: return 9; case 4: return 21; case 5: return 22; case 6: return 18; case 7: return 15; case 8: return 13; case 9: return 20; case 10: return 24; case 11: return 24; case 12: return 28; case 13: return 27; case 14: return 30; case 15: return 29; case 16: return 31; case 17: return 5; case 18: return "INVALID"; } }, rules: [ /^(?:[\r\n]+)/i, /^(?:\s+)/i, /^(?:#[^\r\n]*)/i, /^(?:participant\b)/i, /^(?:left of\b)/i, /^(?:right of\b)/i, /^(?:over\b)/i, /^(?:note\b)/i, /^(?:title\b)/i, /^(?:,)/i, /^(?:[^\->:,\r\n"]+)/i, /^(?:"[^"]+")/i, /^(?:--)/i, /^(?:-)/i, /^(?:>>)/i, /^(?:>)/i, /^(?:[^\r\n]+)/i, /^(?:$)/i, /^(?:.)/i ], conditions: { INITIAL: { rules: [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18 ], inclusive: !0 } } }; return lexer; }(); return parser.lexer = lexer, Parser.prototype = parser, parser.Parser = Parser, new Parser(); }(); "undefined" != typeof require && "undefined" != typeof exports && (exports.parser = parser, exports.Parser = parser.Parser, exports.parse = function() { return parser.parse.apply(parser, arguments); }, exports.main = function(args) { args[1] || (console.log("Usage: " + args[0] + " FILE"), process.exit(1)); var source = require("fs").readFileSync(require("path").normalize(args[1]), "utf8"); return exports.parser.parse(source); }, "undefined" != typeof module && require.main === module && exports.main(process.argv.slice(1))); /** * jison doesn't have a good exception, so we make one. * This is brittle as it depends on jison internals */ function ParseError(message, hash) { _.extend(this, hash); this.name = 'ParseError'; this.message = (message || ''); } ParseError.prototype = new Error(); Diagram.ParseError = ParseError; Diagram.parse = function(input) { // TODO jison v0.4.17 changed their API slightly, so parser is no longer defined: // Create the object to track state and deal with errors parser.yy = new Diagram(); parser.yy.parseError = function(message, hash) { throw new ParseError(message, hash); }; // Parse var diagram = parser.parse(input); // Then clean up the parseError key that a user won't care about delete diagram.parseError; return diagram; }; /** js sequence diagrams * https://bramp.github.io/js-sequence-diagrams/ * (c) 2012-2017 Andrew Brampton (bramp.net) * Simplified BSD license. */ /*global Diagram, _ */ // Following the CSS convention // Margin is the gap outside the box // Padding is the gap inside the box // Each object has x/y/width/height properties // The x/y should be top left corner // width/height is with both margin and padding // TODO // Image width is wrong, when there is a note in the right hand col // Title box could look better // Note box could look better var DIAGRAM_MARGIN = 10; var ACTOR_MARGIN = 10; // Margin around a actor var ACTOR_PADDING = 10; // Padding inside a actor var SIGNAL_MARGIN = 5; // Margin around a signal var SIGNAL_PADDING = 5; // Padding inside a signal var NOTE_MARGIN = 10; // Margin around a note var NOTE_PADDING = 5; // Padding inside a note var NOTE_OVERLAP = 15; // Overlap when using a "note over A,B" var TITLE_MARGIN = 0; var TITLE_PADDING = 5; var SELF_SIGNAL_WIDTH = 20; // How far out a self signal goes var PLACEMENT = Diagram.PLACEMENT; var LINETYPE = Diagram.LINETYPE; var ARROWTYPE = Diagram.ARROWTYPE; var ALIGN_LEFT = 0; var ALIGN_CENTER = 1; function AssertException(message) { this.message = message; } AssertException.prototype.toString = function() { return 'AssertException: ' + this.message; }; function assert(exp, message) { if (!exp) { throw new AssertException(message); } } if (!String.prototype.trim) { String.prototype.trim = function() { return this.replace(/^\s+|\s+$/g, ''); }; } Diagram.themes = {}; function registerTheme(name, theme) { Diagram.themes[name] = theme; } /****************** * Drawing extras ******************/ function getCenterX(box) { return box.x + box.width / 2; } function getCenterY(box) { return box.y + box.height / 2; } /****************** * SVG Path extras ******************/ function clamp(x, min, max) { if (x < min) { return min; } if (x > max) { return max; } return x; } function wobble(x1, y1, x2, y2) { assert(_.all([x1,x2,y1,y2], _.isFinite), 'x1,x2,y1,y2 must be numeric'); // Wobble no more than 1/25 of the line length var factor = Math.sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1)) / 25; // Distance along line where the control points are // Clamp between 20% and 80% so any arrow heads aren't angled too much var r1 = clamp(Math.random(), 0.2, 0.8); var r2 = clamp(Math.random(), 0.2, 0.8); var xfactor = Math.random() > 0.5 ? factor : -factor; var yfactor = Math.random() > 0.5 ? factor : -factor; var p1 = { x: (x2 - x1) * r1 + x1 + xfactor, y: (y2 - y1) * r1 + y1 + yfactor }; var p2 = { x: (x2 - x1) * r2 + x1 - xfactor, y: (y2 - y1) * r2 + y1 - yfactor }; return 'C' + p1.x.toFixed(1) + ',' + p1.y.toFixed(1) + // start control point ' ' + p2.x.toFixed(1) + ',' + p2.y.toFixed(1) + // end control point ' ' + x2.toFixed(1) + ',' + y2.toFixed(1); // end point } /** * Draws a wobbly (hand drawn) rect */ function handRect(x, y, w, h) { assert(_.all([x, y, w, h], _.isFinite), 'x, y, w, h must be numeric'); return 'M' + x + ',' + y + wobble(x, y, x + w, y) + wobble(x + w, y, x + w, y + h) + wobble(x + w, y + h, x, y + h) + wobble(x, y + h, x, y); } /** * Draws a wobbly (hand drawn) line */ function handLine(x1, y1, x2, y2) { assert(_.all([x1,x2,y1,y2], _.isFinite), 'x1,x2,y1,y2 must be numeric'); return 'M' + x1.toFixed(1) + ',' + y1.toFixed(1) + wobble(x1, y1, x2, y2); } /****************** * BaseTheme ******************/ var BaseTheme = function(diagram, options) { this.init(diagram, options); }; _.extend(BaseTheme.prototype, { // Init called while creating the Theme init: function(diagram, options) { this.diagram = diagram; this.actorsHeight_ = 0; this.signalsHeight_ = 0; this.title_ = undefined; // hack - This should be somewhere better }, setupPaper: function(container) {}, draw: function(container) { this.setupPaper(container); this.layout(); var titleHeight = this.title_ ? this.title_.height : 0; var y = DIAGRAM_MARGIN + titleHeight; this.drawTitle(); this.drawActors(y); this.drawSignals(y + this.actorsHeight_); }, layout: function() { // Local copies var diagram = this.diagram; var font = this.font_; var actors = diagram.actors; var signals = diagram.signals; diagram.width = 0; // min width diagram.height = 0; // min height // Setup some layout stuff if (diagram.title) { var title = this.title_ = {}; var bb = this.textBBox(diagram.title, font); title.textBB = bb; title.message = diagram.title; title.width = bb.width + (TITLE_PADDING + TITLE_MARGIN) * 2; title.height = bb.height + (TITLE_PADDING + TITLE_MARGIN) * 2; title.x = DIAGRAM_MARGIN; title.y = DIAGRAM_MARGIN; diagram.width += title.width; diagram.height += title.height; } _.each(actors, function(a) { var bb = this.textBBox(a.name, font); a.textBB = bb; a.x = 0; a.y = 0; a.width = bb.width + (ACTOR_PADDING + ACTOR_MARGIN) * 2; a.height = bb.height + (ACTOR_PADDING + ACTOR_MARGIN) * 2; a.distances = []; a.paddingRight = 0; this.actorsHeight_ = Math.max(a.height, this.actorsHeight_); }, this); function actorEnsureDistance(a, b, d) { assert(a < b, 'a must be less than or equal to b'); if (a < 0) { // Ensure b has left margin b = actors[b]; b.x = Math.max(d - b.width / 2, b.x); } else if (b >= actors.length) { // Ensure a has right margin a = actors[a]; a.paddingRight = Math.max(d, a.paddingRight); } else { a = actors[a]; a.distances[b] = Math.max(d, a.distances[b] ? a.distances[b] : 0); } } _.each(signals, function(s) { // Indexes of the left and right actors involved var a; var b; var bb = this.textBBox(s.message, font); //var bb = t.attr("text", s.message).getBBox(); s.textBB = bb; s.width = bb.width; s.height = bb.height; var extraWidth = 0; if (s.type == 'Signal') { s.width += (SIGNAL_MARGIN + SIGNAL_PADDING) * 2; s.height += (SIGNAL_MARGIN + SIGNAL_PADDING) * 2; if (s.isSelf()) { // TODO Self signals need a min height a = s.actorA.index; b = a + 1; s.width += SELF_SIGNAL_WIDTH; } else { a = Math.min(s.actorA.index, s.actorB.index); b = Math.max(s.actorA.index, s.actorB.index); } } else if (s.type == 'Note') { s.width += (NOTE_MARGIN + NOTE_PADDING) * 2; s.height += (NOTE_MARGIN + NOTE_PADDING) * 2; // HACK lets include the actor's padding extraWidth = 2 * ACTOR_MARGIN; if (s.placement == PLACEMENT.LEFTOF) { b = s.actor.index; a = b - 1; } else if (s.placement == PLACEMENT.RIGHTOF) { a = s.actor.index; b = a + 1; } else if (s.placement == PLACEMENT.OVER && s.hasManyActors()) { // Over multiple actors a = Math.min(s.actor[0].index, s.actor[1].index); b = Math.max(s.actor[0].index, s.actor[1].index); // We don't need our padding, and we want to overlap extraWidth = -(NOTE_PADDING * 2 + NOTE_OVERLAP * 2); } else if (s.placement == PLACEMENT.OVER) { // Over single actor a = s.actor.index; actorEnsureDistance(a - 1, a, s.width / 2); actorEnsureDistance(a, a + 1, s.width / 2); this.signalsHeight_ += s.height; return; // Bail out early } } else { throw new Error('Unhandled signal type:' + s.type); } actorEnsureDistance(a, b, s.width + extraWidth); this.signalsHeight_ += s.height; }, this); // Re-jig the positions var actorsX = 0; _.each(actors, function(a) { a.x = Math.max(actorsX, a.x); // TODO This only works if we loop in sequence, 0, 1, 2, etc _.each(a.distances, function(distance, b) { // lodash (and possibly others) do not like sparse arrays // so sometimes they return undefined if (typeof distance == 'undefined') { return; } b = actors[b]; distance = Math.max(distance, a.width / 2, b.width / 2); b.x = Math.max(b.x, a.x + a.width / 2 + distance - b.width / 2); }); actorsX = a.x + a.width + a.paddingRight; }, this); diagram.width = Math.max(actorsX, diagram.width); // TODO Refactor a little diagram.width += 2 * DIAGRAM_MARGIN; diagram.height += 2 * DIAGRAM_MARGIN + 2 * this.actorsHeight_ + this.signalsHeight_; return this; }, // TODO Instead of one textBBox function, create a function for each element type, e.g // layout_title, layout_actor, etc that returns it's bounding box textBBox: function(text, font) {}, drawTitle: function() { var title = this.title_; if (title) { this.drawTextBox(title, title.message, TITLE_MARGIN, TITLE_PADDING, this.font_, ALIGN_LEFT); } }, drawActors: function(offsetY) { var y = offsetY; _.each(this.diagram.actors, function(a) { // Top box this.drawActor(a, y, this.actorsHeight_); // Bottom box this.drawActor(a, y + this.actorsHeight_ + this.signalsHeight_, this.actorsHeight_); // Veritical line var aX = getCenterX(a); this.drawLine( aX, y + this.actorsHeight_ - ACTOR_MARGIN, aX, y + this.actorsHeight_ + ACTOR_MARGIN + this.signalsHeight_); }, this); }, drawActor: function(actor, offsetY, height) { actor.y = offsetY; actor.height = height; this.drawTextBox(actor, actor.name, ACTOR_MARGIN, ACTOR_PADDING, this.font_, ALIGN_CENTER); }, drawSignals: function(offsetY) { var y = offsetY; _.each(this.diagram.signals, function(s) { // TODO Add debug mode, that draws padding/margin box if (s.type == 'Signal') { if (s.isSelf()) { this.drawSelfSignal(s, y); } else { this.drawSignal(s, y); } } else if (s.type == 'Note') { this.drawNote(s, y); } y += s.height; }, this); }, drawSelfSignal: function(signal, offsetY) { assert(signal.isSelf(), 'signal must be a self signal'); var textBB = signal.textBB; var aX = getCenterX(signal.actorA); var x = aX + SELF_SIGNAL_WIDTH + SIGNAL_PADDING; var y = offsetY + SIGNAL_PADDING + signal.height / 2 + textBB.y; this.drawText(x, y, signal.message, this.font_, ALIGN_LEFT); var y1 = offsetY + SIGNAL_MARGIN + SIGNAL_PADDING; var y2 = y1 + signal.height - 2 * SIGNAL_MARGIN - SIGNAL_PADDING; // Draw three lines, the last one with a arrow this.drawLine(aX, y1, aX + SELF_SIGNAL_WIDTH, y1, signal.linetype); this.drawLine(aX + SELF_SIGNAL_WIDTH, y1, aX + SELF_SIGNAL_WIDTH, y2, signal.linetype); this.drawLine(aX + SELF_SIGNAL_WIDTH, y2, aX, y2, signal.linetype, signal.arrowtype); }, drawSignal: function(signal, offsetY) { var aX = getCenterX(signal.actorA); var bX = getCenterX(signal.actorB); // Mid point between actors var x = (bX - aX) / 2 + aX; var y = offsetY + SIGNAL_MARGIN + 2 * SIGNAL_PADDING; // Draw the text in the middle of the signal this.drawText(x, y, signal.message, this.font_, ALIGN_CENTER); // Draw the line along the bottom of the signal y = offsetY + signal.height - SIGNAL_MARGIN - SIGNAL_PADDING; this.drawLine(aX, y, bX, y, signal.linetype, signal.arrowtype); }, drawNote: function(note, offsetY) { note.y = offsetY; var actorA = note.hasManyActors() ? note.actor[0] : note.actor; var aX = getCenterX(actorA); switch (note.placement) { case PLACEMENT.RIGHTOF: note.x = aX + ACTOR_MARGIN; break; case PLACEMENT.LEFTOF: note.x = aX - ACTOR_MARGIN - note.width; break; case PLACEMENT.OVER: if (note.hasManyActors()) { var bX = getCenterX(note.actor[1]); var overlap = NOTE_OVERLAP + NOTE_PADDING; note.x = Math.min(aX, bX) - overlap; note.width = (Math.max(aX, bX) + overlap) - note.x; } else { note.x = aX - note.width / 2; } break; default: throw new Error('Unhandled note placement: ' + note.placement); } return this.drawTextBox(note, note.message, NOTE_MARGIN, NOTE_PADDING, this.font_, ALIGN_LEFT); }, /** * Draw text surrounded by a box */ drawTextBox: function(box, text, margin, padding, font, align) { var x = box.x + margin; var y = box.y + margin; var w = box.width - 2 * margin; var h = box.height - 2 * margin; // Draw inner box this.drawRect(x, y, w, h); // Draw text (in the center) if (align == ALIGN_CENTER) { x = getCenterX(box); y = getCenterY(box); } else { x += padding; y += padding; } return this.drawText(x, y, text, font, align); } }); /** js sequence diagrams * https://bramp.github.io/js-sequence-diagrams/ * (c) 2012-2017 Andrew Brampton (bramp.net) * Simplified BSD license. */ /*global Diagram, Raphael, _ */ if (typeof Raphael != 'undefined') { var LINE = { 'stroke': '#000000', 'stroke-width': 2, 'fill': 'none' }; var RECT = { 'stroke': '#000000', 'stroke-width': 2, 'fill': '#fff' }; /****************** * Raphaël extras ******************/ Raphael.fn.line = function(x1, y1, x2, y2) { assert(_.all([x1,x2,y1,y2], _.isFinite), 'x1,x2,y1,y2 must be numeric'); return this.path('M{0},{1} L{2},{3}', x1, y1, x2, y2); }; /****************** * RaphaelTheme ******************/ var RaphaelTheme = function(diagram, options, resume) { this.init(diagram, _.defaults(options, { 'font-size': 16, 'font-family': 'Andale Mono, monospace' }), resume); }; _.extend(RaphaelTheme.prototype, BaseTheme.prototype, { init: function(diagram, options, resume) { BaseTheme.prototype.init.call(this, diagram); this.paper_ = undefined; this.font_ = { 'font-size': options['font-size'], 'font-family': options['font-family'] }; var a = this.arrowTypes_ = {}; a[ARROWTYPE.FILLED] = 'block'; a[ARROWTYPE.OPEN] = 'open'; var l = this.lineTypes_ = {}; l[LINETYPE.SOLID] = ''; l[LINETYPE.DOTTED] = '-'; resume(this); }, setupPaper: function(container) { this.paper_ = new Raphael(container, 320, 200); this.paper_.setStart(); }, draw: function(container) { BaseTheme.prototype.draw.call(this, container); this.paper_.setFinish(); }, layout: function() { BaseTheme.prototype.layout.call(this); this.paper_.setSize( this.diagram.width, this.diagram.height ); }, /** * Strip whitespace from each newline */ cleanText: function(text) { text = _.invoke(text.split('\n'), 'trim'); return text.join('\n'); }, /** * Returns the text's bounding box */ textBBox: function(text, font) { text = this.cleanText(text); font = font || {}; var p; if (font.obj_) { p = this.paper_.print(0, 0, text, font.obj_, font['font-size']); } else { p = this.paper_.text(0, 0, text); p.attr(font); } var bb = p.getBBox(); p.remove(); return bb; }, drawLine: function(x1, y1, x2, y2, linetype, arrowhead) { var line = this.paper_.line(x1, y1, x2, y2).attr(LINE); if (arrowhead !== undefined) { line.attr('arrow-end', this.arrowTypes_[arrowhead] + '-wide-long'); } if (arrowhead !== undefined) { line.attr('stroke-dasharray', this.lineTypes_[linetype]); } return line; }, drawRect: function(x, y, w, h) { return this.paper_.rect(x, y, w, h).attr(RECT); }, /** * Draws text with a optional white background * x,y (int) x,y top left point of the text, or the center of the text (depending on align param) * text (string) text to print * font (Object) * align (string) ALIGN_LEFT or ALIGN_CENTER */ drawText: function(x, y, text, font, align) { text = this.cleanText(text); font = font || {}; align = align || ALIGN_LEFT; var paper = this.paper_; var bb = this.textBBox(text, font); if (align == ALIGN_CENTER) { x = x - bb.width / 2; y = y - bb.height / 2; } var t; if (font.obj_) { // When using a font, we have to use .print(..) t = paper.print(x - bb.x, y - bb.y, text, font.obj_, font['font-size']); } else { t = paper.text(x - bb.x - bb.width / 2, y - bb.y, text); t.attr(font); t.attr({'text-anchor': 'start'}); } return t; } }); /****************** * RaphaelHandTheme ******************/ var RaphaelHandTheme = function(diagram, options, resume) { this.init(diagram, _.defaults(options, { 'font-size': 16, 'font-family': 'daniel' }), resume); }; // Take the standard RaphaelTheme and make all the lines wobbly _.extend(RaphaelHandTheme.prototype, RaphaelTheme.prototype, { setupPaper: function(container) { RaphaelTheme.prototype.setupPaper.call(this, container); this.font_.obj_ = this.paper_.getFont('daniel'); }, drawLine: function(x1, y1, x2, y2, linetype, arrowhead) { var line = this.paper_.path(handLine(x1, y1, x2, y2)).attr(LINE); if (arrowhead !== undefined) { line.attr('arrow-end', this.arrowTypes_[arrowhead] + '-wide-long'); } if (arrowhead !== undefined) { line.attr('stroke-dasharray', this.lineTypes_[linetype]); } return line; }, drawRect: function(x, y, w, h) { return this.paper_.path(handRect(x, y, w, h)).attr(RECT); } }); registerTheme('raphaelSimple', RaphaelTheme); registerTheme('raphaelHand', RaphaelHandTheme); } /*! * The following copyright notice may not be removed under any circumstances. * * Copyright: * Copyright (c) 2011 by Daniel Midgley. All rights reserved. * * Trademark: * Please refer to the Copyright section for the font trademark attribution * notices. * * Full name: * Daniel-Bold * * Description: * Daniel Bold is a font by Daniel Midgley. * * Designer: * Daniel Midgley * * Vendor URL: * http://goodreasonblog.blogspot.com/p/fontery.html * * License information: * http://creativecommons.org/licenses/by-nd/3.0/ */ if (typeof Raphael != 'undefined') { Raphael.registerFont({ "w": 209, "face": { "font-family": "Daniel", "font-weight": 700, "font-stretch": "normal", "units-per-em": "360", "panose-1": "2 11 8 0 0 0 0 0 0 0", "ascent": "288", "descent": "-72", "x-height": "7", "bbox": "-92.0373 -310.134 519 184.967", "underline-thickness": "3.51562", "underline-position": "-25.1367", "unicode-range": "U+0009-U+F002" }, "glyphs": { " ": { "w": 179 }, "\t": { "w": 179 }, "\r": { "w": 179 }, "!": { "d": "66,-306v9,3,18,11,19,24v-18,73,-20,111,-37,194v0,10,2,34,-12,34v-12,0,-18,-9,-18,-28v0,-85,23,-136,38,-214v1,-7,4,-10,10,-10xm25,-30v15,-1,28,34,5,35v-11,-1,-38,-36,-5,-35", "w": 115 }, "\"": { "d": "91,-214v-32,3,-25,-40,-20,-68v3,-16,7,-25,12,-27v35,13,14,56,8,95xm8,-231v4,-31,1,-40,18,-75v37,7,11,51,11,79v-3,3,-4,8,-5,13v-17,4,-16,-10,-24,-17", "w": 117 }, "#": { "d": "271,-64v-30,26,-96,-7,-102,51v-6,2,-13,2,-24,-2v-2,-11,10,-21,2,-28v-14,5,-48,0,-48,22v0,23,-11,14,-29,10v-7,-6,6,-19,-1,-24r-32,4v-19,-8,-15,-24,5,-28r33,-6v4,0,24,-23,11,-27v-26,0,-63,14,-74,-10v3,-1,9,-17,16,-10v15,-8,81,4,89,-30v8,-14,16,-34,24,-38v23,9,24,38,5,49v37,24,55,-38,72,-43v19,10,20,23,-1,45v2,8,23,1,29,4v3,3,6,6,10,11v-14,13,-20,12,-45,12v-17,0,-16,17,-19,29v18,-7,49,3,67,-2v4,0,8,4,12,11xm161,-104v-30,-1,-44,10,-44,37v14,1,24,0,40,-5v0,-1,3,-10,8,-26v0,-4,-1,-6,-4,-6", "w": 285 }, "$": { "d": "164,-257v29,4,1,42,-3,50v5,5,38,13,41,24v8,4,6,15,-2,21v-18,3,-36,-17,-49,-17v-17,1,-31,40,-28,48v5,4,8,8,9,10v13,1,35,37,28,44v-10,21,-36,20,-65,28v-10,10,-12,40,-17,51v-9,-3,-28,1,-18,-17v0,-13,5,-24,-1,-35v-18,1,-59,-10,-42,-29v21,0,56,16,55,-16v5,-4,9,-18,9,-26v-14,-15,-55,-41,-53,-65v2,-33,56,-19,98,-26v10,-14,31,-43,38,-45xm93,-152v11,-10,15,-15,14,-29v-17,-3,-37,1,-43,6v10,12,20,19,29,23xm111,-103v-8,1,-11,12,-10,22v10,0,28,2,27,-8v0,-4,-13,-15,-17,-14", "w": 225 }, "%": { "d": "181,-96v24,-7,67,-13,104,1v14,18,21,19,22,44v-13,43,-99,61,-146,36v-9,-9,-22,-11,-32,-29v0,-27,24,-53,52,-52xm139,-185v-9,68,-138,73,-131,-5v0,-3,3,-9,9,-17v13,1,27,1,17,-16v5,-39,63,0,93,-6v36,1,80,-9,102,11v15,32,12,32,-8,56v-16,21,-103,78,-152,125r-14,28v-23,11,-25,-7,-29,-20v34,-71,133,-98,171,-162v-13,-12,-52,-5,-61,1v0,1,1,3,3,5xm38,-190v0,34,55,29,70,8v0,-14,-20,-11,-32,-14v-14,-3,-24,-9,-40,-10v1,0,5,11,2,16xm172,-53v12,27,90,18,102,-5v-18,-7,-32,-10,-40,-10v-29,3,-57,-4,-62,15", "w": 308 }, "&": { "d": "145,-82v17,-8,47,-15,71,-26v13,2,25,12,9,23v-23,7,-40,16,-53,27r0,6v13,8,30,21,36,38v0,8,-4,12,-11,12v-19,0,-43,-39,-59,-44v-30,12,-65,29,-97,32v-32,3,-45,-41,-23,-63v21,-20,52,-26,70,-48v-4,-31,-12,-47,9,-73v13,-16,20,-29,23,-39v15,-15,32,-22,51,-22v30,9,62,64,32,96v-2,3,-47,42,-69,48v-15,8,-11,9,0,22v6,7,10,11,11,11xm114,-138v25,-13,62,-38,74,-62v0,-9,-10,-31,-20,-29v-28,7,-60,42,-60,75v0,10,2,15,6,16xm99,-91v-18,10,-54,18,-59,45v26,5,61,-12,77,-22v-1,-5,-13,-23,-18,-23", "w": 253 }, "'": { "d": "36,-182v-36,7,-34,-61,-17,-80v15,1,21,19,21,20r-1,-1v0,0,-1,12,-5,35v1,5,3,17,2,26", "w": 63 }, "(": { "d": "130,-306v13,2,23,43,-1,43v-49,43,-77,77,-90,148v5,49,27,67,64,101v4,14,5,6,2,19r-15,0v-35,-17,-79,-58,-79,-120v0,-58,66,-176,119,-191", "w": 120 }, ")": { "d": "108,-138v-2,73,-48,120,-98,153v-17,-5,-16,-20,-6,-31v52,-64,73,-62,74,-135v1,-42,-40,-98,-58,-128v0,-5,-1,-12,-2,-22v18,-18,25,0,42,27v25,39,50,66,48,136", "w": 120 }, "*": { "d": "121,-271v15,-5,36,-8,40,9v-5,10,-31,19,-47,31v0,11,34,43,14,53v-18,8,-24,-24,-34,-20v-4,10,-4,19,-12,41v-25,7,-15,-30,-17,-47v-13,-1,-17,9,-46,30r-10,0v-20,-32,37,-43,54,-64v-10,-11,-36,-33,-16,-51v3,0,14,8,33,24v8,-10,26,-39,32,-42v14,7,15,23,9,36", "w": 177 }, "+": { "d": "163,-64v-7,22,-65,2,-77,21v-2,10,-6,21,-11,35v-20,4,-21,-12,-19,-29v3,-23,-44,6,-39,-27v-8,-22,36,-8,49,-18v8,-13,6,-36,24,-40v19,-4,14,32,11,39v18,3,19,2,54,8v2,1,5,5,8,11", "w": 170 }, ",": { "d": "25,63v-26,21,-48,-2,-22,-24v14,-12,35,-40,35,-69v3,-2,3,-11,12,-9v35,17,5,88,-25,102", "w": 97 }, "-": { "d": "57,-94v19,4,55,-5,54,17v-15,23,-54,20,-91,15v-4,2,-13,-10,-11,-16v-1,-22,28,-15,48,-16", "w": 124 }, ".": { "d": "40,-48v21,20,21,44,-4,44v-33,0,-26,-24,-10,-44r14,0", "w": 67 }, "\/": { "d": "21,20v-22,-45,21,-95,41,-126v38,-57,115,-158,193,-201v2,0,4,3,7,11v11,29,-15,34,-25,55v-81,56,-189,208,-197,261r-19,0", "w": 275 }, "0": { "d": "78,-237v70,-47,269,-41,270,59v0,34,-11,53,-29,76v-13,35,-30,32,-85,64v-6,2,-10,6,-7,8v-73,14,-98,38,-173,1v-7,-13,-52,-48,-46,-88v9,-57,27,-75,70,-120xm123,-38v100,0,202,-46,195,-153v-32,-55,-144,-73,-211,-35v-16,34,-68,54,-53,108v6,25,1,22,-3,39v6,24,41,41,72,41", "w": 353 }, "1": { "d": "39,-208v0,-14,6,-59,29,-39v3,4,6,13,10,24r-22,128r8,87v-4,6,-9,3,-16,2v-44,-38,-9,-137,-9,-202", "w": 93 }, "2": { "d": "88,-35v47,-10,119,-24,168,-9v0,12,-23,13,-35,16v1,1,3,1,5,1v-74,8,-118,23,-194,23v-14,0,-20,-13,-21,-28v55,-40,83,-61,123,-104v26,-13,65,-67,71,-102v-1,-9,-11,-16,-22,-16v-20,-1,-120,29,-156,49v-10,-2,-30,-20,-10,-28v50,-21,111,-51,178,-48v25,10,44,22,36,39v12,30,-19,64,-34,83v-39,48,-37,39,-115,109v0,5,-3,8,-8,11v4,3,8,4,14,4", "w": 265 }, "3": { "d": "188,-282v34,-10,74,25,47,51v-19,32,-55,50,-92,70v28,14,116,25,108,70v8,14,-49,40,-63,48v-29,9,-130,22,-168,42v-6,-5,-19,-7,-12,-22v56,-36,175,-21,210,-76v-9,-20,-88,-42,-97,-33v-20,-1,-41,2,-56,-7r5,-21v56,-25,103,-36,137,-78v1,-1,2,-5,4,-11v-15,-14,-56,7,-79,0v-10,9,-73,22,-92,31v-11,-4,-28,-23,-13,-30v50,-22,96,-26,154,-37v0,-1,8,3,7,3", "w": 260 }, "4": { "d": "79,-249v-7,17,-29,75,-33,96v0,6,3,8,8,8v43,-2,111,6,141,-6v17,-47,20,-100,63,-148v9,4,16,7,21,10v-17,31,-44,95,-51,141v7,4,24,-4,23,10v-1,16,-29,12,-31,23v-10,22,-9,69,-7,103v-3,2,-7,5,-10,9v-47,-11,-23,-74,-16,-114v0,-4,-2,-6,-7,-6v-65,2,-89,13,-162,4v-22,-22,-2,-53,5,-76v16,-15,17,-57,35,-70v6,-1,21,11,21,16", "w": 267 }, "5": { "d": "185,-272v30,7,45,-8,53,18v1,16,-17,18,-34,14v0,0,-95,-11,-129,1v-6,9,-24,33,-29,54v76,10,171,5,214,47v11,11,22,30,5,52v-14,12,-30,14,-34,27v-26,11,-141,63,-157,60v-16,-2,-25,-19,-4,-27v48,-18,128,-39,170,-86v4,-14,-65,-41,-85,-41r-92,0v-10,-4,-66,-1,-57,-23v0,-23,23,-51,35,-83v11,-28,133,-10,144,-13", "w": 284 }, "6": { "d": "70,-64v9,-51,63,-74,123,-71v43,2,109,3,111,41r-25,47v0,1,1,2,2,3v-5,0,-39,10,-41,20v-15,3,-22,4,-22,11v-39,1,-77,20,-119,13v-42,-7,-35,-9,-77,-46v-56,-118,94,-201,176,-229v7,0,21,8,20,15v-2,17,-23,15,-43,24v-69,31,-119,72,-134,145v-5,25,36,68,78,64v59,-6,128,-18,153,-61v-7,-14,-13,-9,-32,-21v-67,-15,-118,-5,-150,43r0,12v-13,4,-17,-3,-20,-10", "w": 310 }, "7": { "d": "37,-228v33,-14,173,-17,181,-19v28,-1,24,31,9,45v-17,15,-45,49,-59,69v-17,26,-55,67,-61,113v-10,13,-9,14,-14,20v-33,-13,-20,-25,-11,-53v16,-48,73,-115,109,-156v2,-7,5,-14,-10,-12v-26,4,-54,6,-76,13v-23,-5,-83,31,-94,-9v2,-8,18,-19,26,-11", "w": 245 }, "8": { "d": "57,-236v40,-50,166,-51,213,-10v22,28,10,63,-22,78r-35,17v8,5,54,24,53,44v-5,14,-4,33,-18,42v-13,13,-35,18,-44,34v-60,27,-190,49,-194,-42v7,-41,17,-54,59,-70r0,-4v-32,-9,-73,-62,-26,-85v4,0,8,-2,14,-4xm142,-160v24,-2,160,-31,99,-72v-28,-18,-108,-33,-146,-5v-16,12,-28,30,-33,59v24,12,37,20,80,18xm41,-62v30,65,189,6,199,-37v3,-14,-60,-30,-74,-30v-70,0,-118,10,-125,67", "w": 290 }, "9": { "d": "11,-192v15,-49,119,-61,161,-23v16,15,27,55,11,79v-20,62,-51,79,-96,118v-10,4,-45,27,-50,6v9,-15,66,-52,98,-99v-7,-7,-8,-3,-25,0v-49,-11,-96,-25,-99,-81xm145,-131v7,-5,13,-34,13,-41v-2,-51,-104,-38,-114,-6v-2,10,37,35,46,35v23,1,43,-1,55,12", "w": 198 }, ":": { "d": "39,-125v15,-8,40,-1,40,15v0,15,-6,22,-19,22v-13,0,-29,-21,-21,-37xm66,-17v-8,27,-51,19,-46,-8v-1,-6,8,-22,14,-20v29,0,30,6,32,28", "w": 95 }, ";": { "d": "56,-93v2,-30,37,-22,40,2v0,2,-1,7,-3,15v-13,8,-15,6,-27,4xm64,-44v11,-11,30,-4,32,14v-21,39,-63,71,-92,85v-5,0,-11,-2,-18,-8v11,-23,36,-36,50,-61v11,-7,19,-20,28,-30", "w": 107 }, "<": { "d": "166,-202v12,0,29,15,24,29v0,4,-119,64,-120,73v15,21,89,64,91,86v2,29,-18,12,-30,15v-27,-29,-59,-54,-95,-75v-18,-10,-25,-13,-24,-41", "w": 176 }, "=": { "d": "125,-121v18,7,55,-9,69,14v0,17,-45,26,-135,26v-18,0,-27,-7,-27,-21v-1,-37,60,-5,93,-19xm138,-71v20,0,48,-1,50,16v-13,24,-86,32,-131,29v-29,-2,-43,-10,-43,-24v-7,-23,36,-14,39,-17v27,6,57,-4,85,-4", "w": 196 }, ">": { "d": "4,-14v20,-48,77,-59,118,-94v-16,-19,-58,-52,-81,-75v-11,-7,-15,-38,-1,-40v33,16,83,71,121,105v26,23,-6,35,-41,53v-29,16,-56,28,-73,54v-21,15,-16,20,-34,15v-3,0,-9,-16,-9,-18", "w": 174 }, "?": { "d": "105,-291v57,-13,107,-4,107,39v0,67,-136,85,-155,137v-1,6,10,23,-4,23v-23,1,-33,-35,-23,-57v31,-41,124,-60,149,-103v-8,-21,-72,-5,-88,-1v-23,6,-59,39,-71,8v0,0,-1,0,1,-17v10,-4,45,-20,84,-29xm80,-25v-6,4,-8,39,-24,22v-24,3,-22,-21,-13,-35v17,-7,29,5,37,13", "w": 216 }, "@": { "d": "218,-207v23,8,42,14,47,37v44,68,-27,137,-87,85r1,0v0,2,-59,19,-61,17v-35,0,-42,-47,-17,-68r0,-4v-19,-1,-45,37,-49,40v-37,76,58,72,121,62v11,-2,34,-13,36,3v-14,31,-69,31,-114,33v-51,2,-99,-41,-80,-92v2,-30,22,-40,42,-63v35,-20,91,-53,161,-50xm217,-101v23,0,35,-19,35,-41v0,-43,-75,-41,-102,-19v36,3,55,16,62,41v-6,5,-6,19,5,19xm127,-110v8,5,51,-15,28,-16v-4,0,-25,4,-28,16", "w": 291 }, "A": { "d": "97,-81v-23,-10,-39,38,-52,60v-8,6,-8,6,-22,18v-22,-7,-23,-37,-4,-49v7,-8,11,-15,15,-23r-1,1v-14,-26,23,-29,31,-40v1,-1,15,-29,26,-36v17,-31,39,-58,54,-92v16,-20,20,-51,41,-66v29,5,34,62,45,92v9,64,21,103,49,155v-3,25,-44,11,-54,0v-34,-12,-97,-29,-128,-20xm107,-118v20,6,80,10,111,17v6,-7,-4,-15,-7,-24v-11,-28,-9,-92,-30,-117v-9,9,-19,44,-34,55v-9,23,-27,40,-40,69", "w": 294 }, "B": { "d": "256,-179v41,10,115,34,91,91v-6,3,-14,12,-19,20v-37,19,-50,34,-63,25v-9,10,-12,11,-34,13r3,-3v-4,-4,-12,-4,-18,0v0,0,2,2,5,4v-21,14,-26,6,-44,15v-4,0,-7,-2,-8,-5v-6,11,-20,-5,-18,11v-36,4,-91,35,-114,4v-7,-62,-10,-138,4,-199v-1,-19,-37,2,-37,-27v0,-8,2,-13,6,-15v68,-31,231,-92,311,-39v8,12,12,20,12,25v-8,42,-32,49,-77,80xm79,-160v72,-17,135,-39,184,-70v20,-13,31,-23,31,-27v1,-6,-30,-13,-38,-12v-54,0,-116,13,-186,41v11,21,1,48,9,68xm262,-43v0,-4,3,-6,-4,-5v0,1,1,2,4,5xm211,-140v-34,7,-94,24,-139,15v-6,20,-4,56,-4,82v0,29,43,1,56,2v48,-11,108,-25,154,-48v20,-10,32,-17,32,-25v0,-18,-33,-26,-99,-26xm195,-20v6,1,6,-2,5,-7v-3,2,-7,2,-5,7", "w": 364 }, "C": { "d": "51,-114v-12,75,96,76,166,71r145,-10v9,2,9,5,9,18v-37,18,-85,28,-109,22v-18,10,-47,10,-71,10v-29,0,-68,1,-105,-11v-6,-1,-10,-3,-10,-8v-33,-13,-48,-33,-66,-59v-19,-114,146,-150,224,-177v35,0,88,-31,99,7v-1,29,-49,14,-76,28v-55,8,-115,35,-175,71v-13,8,-23,21,-31,38", "w": 376 }, "D": { "d": "312,-78v-2,1,-3,7,-10,5v6,-3,10,-4,10,-5xm4,-252v2,-27,83,-38,106,-39v130,-7,267,1,291,109v0,0,-2,8,-3,25v-5,9,-4,28,-23,34v-4,4,-2,5,-7,0v-3,3,-15,7,-5,10v0,0,-10,14,-13,2v-11,1,-8,5,-20,14v1,2,7,3,9,1v-4,13,-22,13,-11,4v0,-3,1,-6,-3,-5v-40,29,-103,38,-141,65v10,6,22,-7,34,-3v-41,20,-127,44,-171,46v-21,1,-47,-33,-11,-39v15,-2,43,-6,56,-11v-16,-101,-5,-130,9,-207v2,0,4,-1,6,-3v-16,-17,-91,38,-103,-3xm297,-69v-7,3,-17,8,-25,7v1,1,3,2,5,2v-4,2,-11,5,-23,9v4,-11,30,-21,43,-18xm240,-51v10,0,12,2,0,6r0,-6xm220,-36v-1,-3,4,-6,6,-3v0,1,-2,1,-6,3xm125,-48v16,6,137,-46,155,-53v29,-18,101,-44,82,-93v-21,-53,-84,-61,-168,-67v-20,7,-50,3,-77,8v33,54,-12,132,8,205xm159,-22v-4,-1,-15,-5,-15,2v7,-1,12,-2,15,-2", "w": 381 }, "E": { "d": "45,-219v-19,-36,34,-41,63,-36v44,-10,133,-8,194,-15v3,2,38,11,52,15v-73,19,-171,21,-246,38v-9,11,-16,32,-20,61v35,11,133,-6,183,3v1,6,2,7,3,14v-46,24,-118,16,-193,27v-15,13,-22,52,-22,66v60,1,121,-20,188,-20v22,10,53,-7,74,5v16,29,-23,26,-43,32v-73,4,-139,13,-216,27r-52,-10v-4,-22,23,-69,26,-98v-3,0,-10,-15,-12,-24v20,-12,34,-23,35,-67v2,-1,5,-5,5,-7v0,-4,-14,-11,-19,-11", "w": 353 }, "F": { "d": "270,-258v13,2,59,6,48,34v-78,-3,-143,1,-212,22v-10,16,-21,43,-24,69r145,-9v8,3,29,-3,16,21v-14,-1,-59,13,-60,7v-12,13,-67,18,-108,21v-2,1,-4,3,-7,6v-2,23,-8,43,-7,69v1,28,-30,11,-40,5r10,-80r-26,-14v5,-10,10,-33,28,-25v21,-3,15,-46,26,-59v-1,-3,-32,-13,-28,-24v2,-22,45,-16,59,-30v47,4,99,-14,151,-9v5,-3,25,-3,29,-4", "w": 236 }, "G": { "d": "311,-168v53,0,94,57,74,110v-31,37,-71,34,-136,52v-13,-7,-41,10,-57,7v-73,-1,-122,-17,-162,-59v-49,-51,-24,-80,5,-130v35,-61,138,-93,214,-106v16,4,42,-1,40,21v-5,40,-39,2,-73,21v-76,19,-162,65,-177,142v28,103,237,76,312,29v2,-3,3,-7,3,-13v-10,-35,-37,-43,-87,-45v-16,-13,-53,-9,-78,1v-4,-3,-5,-7,-5,-11v17,-29,73,-17,108,-24v12,4,18,5,19,5", "w": 391 }, "H": { "d": "300,-268v18,12,19,32,4,51v-35,44,-34,140,-46,217v-1,5,-5,13,-11,12v-6,1,-19,-14,-18,-27r7,-106v-28,7,-76,22,-116,14v-18,2,-36,6,-55,3v-43,-8,-14,53,-33,75v-29,1,-26,-67,-21,-97v5,-31,28,-73,43,-98v2,2,7,3,14,3v13,33,-11,48,-13,78v61,4,118,2,176,2v8,0,13,-6,15,-20v4,-47,21,-87,54,-107", "w": 288 }, "I": { "d": "63,-266v34,10,-4,105,-8,128r-24,126v-2,2,-3,1,-9,6v-12,-10,-12,-15,-12,-47v0,-93,9,-156,28,-188v10,-17,19,-25,25,-25", "w": 79 }, "J": { "d": "235,-291v26,11,31,104,31,142v0,37,-2,95,-32,126v-33,34,-121,26,-167,1v-18,-11,-54,-29,-59,-59v0,-3,5,-15,16,-14v31,36,90,57,162,51v63,-30,56,-148,32,-226v-1,-16,11,-13,17,-21", "w": 282 }, "K": { "d": "212,-219v17,-5,80,-60,80,-19v0,9,-2,14,-5,16r-132,78v-34,23,-54,32,-21,50v39,21,74,23,124,41v5,2,7,5,7,9v-4,24,-55,15,-79,8v-67,-19,-98,-36,-116,-83v9,-24,38,-35,66,-61v7,-4,49,-30,76,-39xm47,-194v11,-20,11,-45,31,-55v2,2,4,3,6,0v29,39,-21,96,-18,128v-17,24,-15,62,-29,113v-4,3,-10,7,-19,11v-12,-13,-10,-28,-8,-53v3,-31,17,-79,37,-144", "w": 270 }, "L": { "d": "84,-43v58,0,179,-27,242,-4v3,17,-29,24,-40,26v-85,-4,-202,46,-268,3v-24,-16,-2,-33,-4,-57v26,-76,38,-108,86,-191v14,-7,26,-50,45,-32v6,22,5,31,-12,46v-20,39,-50,82,-67,142v-7,6,-19,46,-19,54v0,9,12,13,37,13", "w": 331 }, "M": { "d": "174,-236v-1,52,-11,92,-7,143v10,5,15,-12,22,-18v42,-55,90,-130,136,-174r15,-18v42,2,32,53,11,80v-12,58,-54,143,-34,210v0,3,-3,12,-9,10v-31,-5,-32,-57,-27,-92v4,-27,12,-58,25,-93v-5,-10,5,-19,6,-30v-46,44,-66,110,-129,172v-11,10,-18,15,-22,15v-34,6,-28,-103,-28,-152v-28,22,-65,119,-96,170v-9,15,-34,3,-31,-19v30,-64,91,-177,139,-229v12,-1,29,13,29,25", "w": 343 }, "N": { "d": "248,-20v-3,17,-37,18,-43,3v-24,-35,-53,-145,-80,-203v-32,40,-55,120,-92,174v-13,3,-26,-13,-27,-22r87,-171v4,-13,20,-57,42,-32v42,48,46,139,82,198v29,-45,46,-88,65,-153v12,-19,23,-42,38,-60v27,-1,14,18,4,44v-6,46,-32,68,-37,121v-15,29,-33,69,-39,101", "w": 307 }, "O": { "d": "240,-268v85,1,163,29,150,125v13,7,-12,18,-5,26v-23,63,-133,112,-228,124v-80,-16,-171,-56,-148,-153v11,-47,20,-43,53,-83v17,-9,39,-22,73,-29v45,-10,81,-10,105,-10xm363,-156v16,-51,-62,-85,-111,-79v-25,-11,-50,8,-81,0v-15,10,-70,16,-85,31v6,20,-27,24,-39,45v-42,75,40,128,115,128v56,0,209,-71,201,-125", "w": 383 }, "P": { "d": "70,-225v-7,-12,-36,16,-49,19v-4,0,-9,-5,-14,-17v21,-47,114,-55,172,-59v41,-3,132,33,99,87v-21,34,-72,59,-144,80v-2,16,-79,3,-74,46v3,25,-5,47,-10,68v-22,-1,-23,-29,-22,-56v2,-25,-20,-32,-8,-50v21,-5,10,-35,25,-57v6,-28,14,-48,25,-61xm71,-229v47,14,-2,50,-1,99v41,-3,113,-37,173,-76v5,-9,8,-14,8,-15v-28,-47,-125,-29,-180,-8", "w": 252 }, "Q": { "d": "374,-217v20,59,-11,127,-48,156r30,38v-1,6,-8,16,-14,9v-3,0,-19,-9,-47,-26v-72,35,-173,75,-236,12v-70,-40,-67,-213,26,-217r8,5v24,-20,72,-48,112,-38v21,-4,22,-1,50,-2v66,-2,94,20,119,63xm296,-88v13,5,61,-49,63,-84v4,-62,-54,-78,-119,-76v-14,-6,-49,5,-71,3v-42,16,-89,41,-93,94v-9,11,1,25,-7,38v-12,-19,-7,-67,-1,-88v-56,30,-37,137,19,155v27,17,92,19,119,0v12,-2,29,-9,52,-20v2,-2,3,-3,3,-6v-11,-12,-46,-27,-54,-56v0,-13,3,-19,9,-19v18,1,60,52,80,59", "w": 379 }, "R": { "d": "100,-275v96,-23,196,-10,208,78v-3,18,-17,52,-49,62v-14,20,-54,23,-79,40v-2,0,-14,2,-36,6v-40,8,-30,14,-3,33v37,27,52,30,118,55v16,6,31,23,12,27v-58,-2,-104,-29,-143,-61v-14,-3,-16,-15,-39,-27v-23,-19,-28,-12,-15,-38v63,-19,111,-15,163,-53v27,-20,43,-36,43,-49v0,-64,-120,-62,-173,-38v-9,4,-38,9,-40,18v-10,32,-16,70,-13,116v-10,21,-8,47,-6,75v2,31,-9,29,-27,22v-9,-55,5,-140,15,-190v-8,-6,-24,10,-24,-11v0,-34,16,-34,42,-55v2,-1,17,-4,46,-10", "w": 297 }, "S": { "d": "13,-3v-7,-3,-22,-18,-5,-22v68,-15,119,-32,154,-45v51,-19,39,-34,3,-53v-46,-25,-82,-30,-121,-64v-33,-29,-50,-35,-25,-58v37,-20,119,-29,181,-29v29,0,44,6,44,18v-9,26,-62,6,-104,14v-17,2,-72,6,-92,16v37,53,132,58,180,111v8,9,11,20,11,30v-4,17,-23,35,-42,34v-21,16,-17,1,-49,17v-14,7,-41,9,-56,20v-25,-3,-49,10,-79,11", "w": 234 }, "T": { "d": "141,-3v-36,-6,1,-49,-3,-79v10,-19,6,-35,15,-64r26,-85v-51,-9,-100,10,-141,14v-16,2,-30,-26,-11,-32v26,-8,143,-8,179,-19r12,6v67,-2,142,-1,200,-1v8,0,14,3,19,10v-18,16,-74,3,-103,14v-48,-4,-60,4,-113,7v-42,22,-36,130,-58,187v1,12,-9,44,-22,42", "w": 277 }, "U": { "d": "365,-262v13,56,-22,104,-36,141v-19,22,-30,38,-57,56v-4,18,-60,35,-78,50v-53,28,-142,0,-161,-34v-31,-56,-37,-108,-11,-164v17,-33,29,-50,48,-29v-2,2,-3,7,-4,13v-44,36,-38,149,7,174v30,26,55,19,102,4v56,-17,66,-34,120,-76v12,-24,56,-68,46,-122r0,-16v0,1,-1,3,-1,6v4,-13,11,-10,25,-3", "w": 368 }, "V": { "d": "246,-258v21,-22,31,-26,44,-8v1,1,-12,22,-28,35v-15,25,-41,38,-56,69v-13,15,-20,31,-28,57v-15,13,-11,29,-27,72v3,21,-5,24,-27,27v-33,-45,-54,-118,-84,-167v-5,-26,-18,-50,-25,-76v-3,-12,24,-8,29,-5v8,13,18,52,26,70r52,115v9,-2,4,-9,10,-21r25,-47v25,-44,46,-76,89,-121", "w": 234 }, "W": { "d": "31,-213v16,46,17,106,41,151v31,-35,49,-89,76,-127v30,-15,39,27,52,56v10,22,21,48,35,67v2,0,4,-1,5,-3v16,-28,50,-76,79,-121v14,-21,40,-63,64,-83r5,8v-30,58,-76,110,-97,173v-18,28,-25,37,-33,63v-11,1,-16,25,-30,15v-21,-31,-44,-89,-62,-131v0,-2,-1,-3,-5,-5v-17,11,-16,36,-31,50v-20,33,-20,84,-68,94v-24,-19,-23,-81,-39,-111v-1,-15,-29,-94,-10,-108v9,2,12,5,18,12", "w": 331 }, "X": { "d": "143,-183v43,-25,69,-36,126,-62v22,-10,86,-10,56,21v-51,3,-158,61,-154,64v10,15,41,30,50,52v27,17,46,60,70,82v9,14,-6,30,-24,20v-35,-43,-75,-100,-116,-132v-48,13,-100,47,-118,94v-1,49,-26,34,-27,4v-1,-26,13,-27,17,-48v22,-27,68,-55,90,-77v-9,-12,-60,-39,-79,-57v-6,-10,-6,-25,12,-25", "w": 312 }, "Y": { "d": "216,-240v19,-14,42,10,22,26v-54,66,-121,109,-156,197v-8,21,-11,15,-30,4v3,-37,27,-61,33,-76v12,-12,15,-19,32,-42v-8,-6,-40,5,-45,5v-48,-6,-69,-65,-56,-113v14,0,13,-1,24,7v2,33,12,75,42,73v36,-2,102,-57,134,-81", "w": 189 }, "Z": { "d": "60,-255v66,12,200,-34,240,21v-13,42,-63,62,-98,89v-19,15,-47,33,-82,55v-25,16,-47,32,-66,47v58,24,129,-6,208,-6v23,0,36,12,13,19v-33,2,-53,5,-86,10v-32,18,-88,15,-135,15v-9,-1,-55,-1,-48,-29v1,-24,30,-24,40,-41v64,-50,151,-86,208,-147v-38,-17,-155,12,-198,-4v0,0,-11,-33,4,-29", "w": 310 }, "[": { "d": "72,-258r-15,250v30,4,55,-3,80,-6v7,-1,8,17,9,23v-28,15,-73,23,-121,21v-7,0,-10,-6,-10,-17v0,-60,25,-193,22,-288v0,-16,13,-20,33,-19v9,-3,34,-12,51,-12v16,0,15,16,19,29v-16,7,-48,10,-68,19", "w": 151 }, "\\": { "d": "236,38v20,-18,-8,-74,-13,-90v-44,-78,-112,-190,-200,-253v-2,0,-5,4,-7,12v-11,31,13,36,24,58v74,61,174,219,180,273r16,0", "w": 257 }, "]": { "d": "133,-258v-23,-13,-84,6,-85,-32v0,-10,5,-15,14,-15v0,0,30,2,90,7v10,1,15,13,15,36v2,7,-8,59,-13,112r-11,125v-9,48,9,90,-59,71v-20,-4,-39,-1,-59,-4v-5,-10,-25,-12,-14,-30v8,-3,61,-13,78,-8v14,1,8,-7,10,-17v15,-69,21,-166,34,-245", "w": 171 }, "^": { "d": "68,-306v20,15,47,36,58,60v-1,4,0,7,-9,7v-26,0,-47,-38,-49,-32v-15,9,-41,50,-54,30v-2,-31,17,-23,33,-51v8,-9,15,-14,21,-14", "w": 135 }, "_": { "d": "11,15v-8,33,18,45,50,34r205,2r197,-5v11,-5,14,-9,7,-28v-95,-21,-258,-10,-376,-10v-25,0,-72,-3,-83,7", "w": 485 }, "`": { "d": "75,-264v16,8,56,14,39,43v-30,-8,-65,-23,-105,-44v-1,-3,-3,-28,5,-25v16,5,44,17,61,26", "w": 129 }, "a": { "d": "124,-56v10,4,59,41,65,50v1,7,-6,17,-12,17r-60,-30v-22,2,-42,21,-65,19v-33,4,-68,-67,-15,-81v41,-27,96,-39,110,9v0,6,-4,12,-11,16v-33,-25,-67,-5,-88,12v10,16,61,-18,76,-12", "w": 196 }, "b": { "d": "80,-140v69,1,123,0,134,52v5,26,-71,71,-97,70v-11,11,-88,22,-94,22v-11,-3,-26,-18,-6,-24v19,-5,-2,-19,-1,-35v1,-18,11,-36,-5,-47v-6,-17,-6,-21,14,-32v6,-45,18,-89,28,-124v2,-7,8,-12,17,-15v5,3,10,11,16,28v-12,27,-13,63,-23,96v0,6,6,9,17,9xm87,-107v-40,-9,-31,31,-39,54v8,15,0,25,12,22v30,-8,60,-18,88,-32v39,-18,49,-33,-1,-42v-20,-4,-45,-7,-60,-2", "w": 217 }, "c": { "d": "128,-123v29,-7,37,29,12,33v-27,-4,-40,6,-79,25v-8,4,-13,11,-16,22v30,32,91,3,134,11v5,13,-8,26,-22,19v-51,25,-139,28,-150,-30v6,-50,69,-82,121,-80", "w": 194 }, "d": { "d": "224,-201v0,-35,-17,-111,24,-94v7,86,-2,119,0,197v-4,2,-8,21,-18,16v-62,-7,-154,-8,-185,29v6,17,28,26,51,26v16,0,100,-15,132,-18v7,5,-6,20,-10,22v-24,8,-122,42,-163,25v-32,-5,-62,-53,-36,-80v35,-37,118,-46,198,-43v1,-22,7,-49,7,-80", "w": 265 }, "e": { "d": "4,-57v0,-58,51,-71,110,-74v33,-1,45,16,59,35v1,14,2,39,-7,42v-24,-2,-73,13,-99,11v-2,2,-2,3,-2,3v0,3,12,8,37,15v21,0,69,9,31,22v-9,14,-34,6,-56,6v-27,-5,-73,-28,-73,-60xm123,-102v-22,2,-68,5,-65,26v24,-2,66,5,79,-6v-5,-13,-1,-13,-14,-20", "w": 182 }, "f": { "d": "6,-59v6,-29,53,-4,53,-43v0,-64,29,-118,84,-150v45,-25,167,-24,155,51v-1,2,-7,6,0,6r-10,2v-45,-58,-165,-39,-186,39v-7,26,-11,42,-9,62v44,8,95,-21,135,-7v-12,25,-39,21,-76,30v-19,5,-18,7,-54,19v-2,8,15,32,17,35v-6,25,-26,26,-40,-5r-15,-24v-41,10,-44,12,-54,-15", "w": 234 }, "g": { "d": "132,-97v30,27,21,75,30,117v-12,31,-11,66,-36,103v-32,46,-105,83,-167,39v-31,-21,-49,-29,-51,-75v-2,-37,77,-50,121,-57v37,-6,68,-10,95,-11v7,-6,3,-32,4,-46v0,0,-1,1,-1,2v0,-18,-5,-31,-14,-45v-44,5,-79,20,-94,-18v3,-54,73,-54,125,-50v12,7,12,13,4,25v-30,-11,-76,8,-90,20v23,3,50,-16,74,-4xm-34,121v60,53,168,1,159,-86v-47,-7,-93,24,-142,30v-12,7,-45,19,-42,29v0,10,8,19,25,27", "w": 188 }, "h": { "d": "100,-310v11,-2,10,19,11,20v-11,52,-40,133,-53,189v-6,30,-9,37,-9,47v27,0,113,-34,143,-34v42,0,31,47,39,79v0,4,-5,17,-16,16v4,2,11,3,4,6v-24,-1,-28,-34,-25,-64v-1,-1,-2,-3,-5,-5v-51,0,-110,38,-162,51v-9,1,-15,-15,-16,-23v17,-89,39,-141,71,-264v0,-9,6,-19,18,-18", "w": 251 }, "i": { "d": "62,-209v7,18,9,23,-5,38v-23,-6,-21,-18,-11,-36v2,0,8,-1,16,-2xm34,-7v-18,-21,-8,-73,-1,-106v7,-10,20,-8,23,6v-1,36,7,72,-2,104v-8,2,-8,0,-20,-4", "w": 80 }, "j": { "d": "88,-191v5,28,-18,40,-28,21v0,-20,12,-29,28,-21xm82,-99v28,-1,16,35,16,61v0,60,-19,150,-35,202v-12,8,-19,31,-35,16v-32,-7,-43,-19,-56,-44r2,-17v11,4,49,45,61,18v10,-55,27,-107,30,-171v0,-16,0,-59,17,-65", "w": 120 }, "k": { "d": "59,-66v33,26,114,37,155,62v8,-4,22,-2,19,-17v0,-4,-12,-11,-30,-24v-36,-25,-54,-22,-99,-33v14,-21,119,-13,103,-63r-16,-7r-123,47r25,-93v-3,-15,16,-49,18,-81v1,-15,-21,-14,-25,-3v-31,82,-49,168,-75,257v2,2,22,30,27,10v2,-5,4,-9,9,-11v4,-16,4,-15,12,-44", "w": 236 }, "l": { "d": "66,-300v21,-6,37,23,30,55v-10,51,-28,135,-28,208v0,11,6,36,-13,37v-29,-5,-30,-48,-25,-83r28,-177v-6,-17,1,-29,8,-40", "w": 102 }, "m": { "d": "348,-59v-2,21,0,57,3,73v-17,3,-30,-1,-32,-16v-8,-7,-5,-44,-13,-70v-35,3,-82,49,-111,70v-12,8,-40,4,-39,-15r2,-56v-1,-13,4,-28,-8,-29v-35,8,-79,72,-115,87v-6,2,-20,-18,-21,-22v1,-20,14,-105,39,-64r8,15v17,-14,72,-56,93,-54v27,3,49,40,43,80v24,-2,66,-55,124,-53v11,14,28,23,27,54", "w": 368 }, "n": { "d": "121,-136v37,6,62,54,62,111v0,32,-16,25,-31,17v-18,-30,-5,-45,-22,-85v-37,-13,-71,55,-92,65v-20,-3,-39,-39,-21,-62v2,-12,3,-15,11,-30v12,-8,20,11,29,12", "w": 194 }, "o": { "d": "108,-139v52,-24,104,18,104,63v0,59,-66,67,-114,83v-52,-2,-115,-50,-80,-105v23,-18,52,-35,90,-41xm45,-60v16,54,125,16,131,-23v-12,-59,-129,-8,-131,23", "w": 217 }, "p": { "d": "82,14v-10,12,-8,117,-24,142v-15,2,-19,0,-29,-13v0,-76,9,-113,22,-192v14,-27,35,-6,37,13v0,8,-3,21,-7,38v2,2,3,2,4,2v26,-9,116,-33,126,-72v-7,-17,-24,-33,-49,-31v-40,3,-116,13,-116,47v-5,7,-2,17,-16,20v-17,-12,-18,-20,-12,-38v8,-25,74,-61,110,-59v55,-15,113,15,118,70v-15,52,-84,79,-146,83v-5,0,-11,-4,-18,-10", "w": 251 }, "q": { "d": "144,-147v27,-8,89,-3,97,31v-9,29,-42,-4,-73,1v-32,6,-118,20,-111,49v0,7,13,13,21,13v21,0,78,-24,104,-34v2,0,9,8,22,21v1,1,1,2,1,5v-27,90,-22,70,-43,203v11,15,-15,54,-33,33v-6,-8,-10,-20,-3,-28v1,-72,5,-114,15,-172v-35,3,-35,10,-59,8v-41,-4,-98,-41,-56,-85v33,-34,59,-27,118,-45", "w": 248 }, "r": { "d": "242,-117v2,22,5,10,-14,23v-73,-7,-166,-23,-174,56v-8,6,-3,20,-8,36v-29,10,-40,-9,-33,-46v6,-31,7,-69,32,-55v58,-37,66,-42,175,-19v3,5,15,4,22,5", "w": 229 }, "s": { "d": "154,-151v19,1,27,24,13,32v-4,1,-22,4,-53,7v-16,8,-22,-2,-39,9v23,21,89,16,96,62v-13,24,-85,35,-124,42v-9,-3,-18,-3,-27,0v-6,-4,-21,-16,-8,-25v30,-6,83,-13,102,-24v-17,-16,-80,-33,-97,-48v-3,-2,-4,-7,-4,-15v-6,-6,3,-13,15,-18v22,-9,94,-23,126,-22", "w": 188 }, "t": { "d": "85,-150v10,-41,35,-126,65,-134v4,1,24,19,11,36v-17,22,-29,57,-36,104v26,8,50,-7,73,5v14,0,22,3,22,9v-1,19,-44,18,-57,23v-10,1,-46,0,-54,10v-10,24,-4,67,-20,98v-21,-3,-26,1,-26,-20v0,-9,2,-36,8,-81v-15,-13,-81,9,-77,-27v4,-38,71,6,91,-23", "w": 194 }, "u": { "d": "207,-136v-1,-2,11,-14,14,-13v6,0,10,7,10,22v-3,40,-23,56,-40,82v-13,19,-62,43,-93,43v-67,-2,-111,-75,-71,-133v26,-3,21,29,19,49v-1,27,26,44,57,42v41,-2,93,-55,104,-92", "w": 242 }, "v": { "d": "24,-127r52,71v42,-16,70,-54,124,-65v5,4,8,7,8,11v-8,19,-4,8,-33,32v0,1,-1,3,-1,5v-61,45,-93,68,-97,68v-40,-15,-50,-72,-68,-100v6,-14,10,-22,15,-22", "w": 214 }, "w": { "d": "15,-139v38,-2,27,57,45,86v30,2,67,-66,101,-78v26,6,36,69,60,78v47,-35,51,-54,119,-104v3,0,7,-2,15,-4v19,23,-9,28,-21,49v-33,28,-68,90,-107,109v-10,6,-52,-47,-72,-71v-20,17,-85,74,-97,73v-38,7,-41,-98,-52,-122v0,-1,3,-7,9,-16", "w": 325 }, "x": { "d": "95,-124v22,-13,78,-32,99,-31v16,0,23,6,23,18v0,22,-17,11,-49,21v-3,0,-45,20,-42,24v0,1,2,4,8,10v20,24,49,41,44,80v-35,3,-27,-9,-60,-44v-40,-43,-37,-26,-79,9v-1,1,-2,3,-3,8v-12,8,-28,10,-27,-11v-6,-8,45,-65,48,-65v-17,-21,-61,-52,-24,-68v9,0,48,37,62,49", "w": 223 }, "y": { "d": "44,-65v22,33,70,4,99,-8v5,-4,28,-15,41,-31r17,0v25,47,-26,70,-40,114v-5,4,-9,8,-10,21v-16,12,-11,33,-27,51v-5,18,-12,43,-23,71v-1,-1,-2,34,-18,29v-12,1,-22,-12,-22,-23v20,-70,24,-65,68,-177v-47,16,-111,8,-116,-39v-11,-13,-7,-62,8,-62v18,0,22,26,23,54", "w": 216 }, "z": { "d": "189,-43v9,-1,46,-6,41,12v0,7,-5,13,-15,14v-45,6,-148,24,-181,13v0,-3,-5,-8,-14,-15v5,-44,66,-46,90,-85v-15,-18,-84,21,-84,-14v0,-10,5,-17,14,-18v33,-3,79,-13,109,-3v4,-2,14,11,12,15v0,23,-26,51,-78,84v28,10,73,-3,106,-3", "w": 244 }, "{": { "d": "94,-303v27,-9,90,-14,79,26v-20,17,-55,-5,-87,13v-4,1,-6,4,-6,8v33,42,31,44,7,85v-6,10,-13,16,-13,13v5,6,17,17,15,31r-33,78v7,35,28,49,57,63r49,0v7,42,-51,41,-86,20v-43,-13,-51,-51,-56,-89v-2,-25,25,-54,27,-71v-3,-4,-46,-5,-41,-21v2,-10,-3,-29,11,-25v2,0,51,-17,52,-38v4,-3,-25,-23,-25,-49v0,-41,8,-30,50,-44", "w": 179 }, "|": { "d": "30,-308v26,5,14,50,15,80v5,78,-8,153,-3,225v-2,15,-1,31,-11,36v-8,-3,-25,-22,-25,-32r9,-183v0,-40,0,-78,1,-112v0,-4,9,-15,14,-14", "w": 63 }, "}": { "d": "47,-298v34,-17,118,-18,112,36v6,25,-76,98,-69,103v4,16,39,7,44,28v7,34,-34,17,-37,39v8,29,49,83,23,123v-15,23,-43,26,-73,46v-34,8,-43,11,-49,-17v1,-15,30,-15,33,-20v24,-12,70,-27,55,-61v-14,-33,-37,-68,-19,-103v-46,-50,46,-100,60,-141v-10,-16,-68,6,-77,-12", "w": 143 }, "~": { "d": "7,-254v2,-6,59,-50,67,-46v11,-1,35,19,46,26v5,0,27,-10,66,-31v21,8,-1,25,-7,38v-27,21,-48,31,-65,31v-24,-11,-37,-39,-65,-9v-7,7,-26,36,-42,11v3,-5,-3,-17,0,-20", "w": 199 }, "\u00a0": { "w": 179 }, "\u00a1": { "d": "86,-197v8,16,-7,41,-24,25v-11,-11,-4,-16,-3,-29v13,0,15,-2,27,4xm46,-107v4,-8,11,-16,23,-7v19,26,-5,57,-6,87v-7,0,-5,18,-9,28v0,14,-17,52,-11,70v-2,7,-15,28,-25,12v-4,-6,-15,-7,-6,-16v2,-39,14,-96,34,-174", "w": 95 }, "\u00a2": { "d": "105,-188v13,-12,14,-18,26,-15v7,23,7,15,-3,49v6,0,18,14,17,20v-3,5,-12,19,-26,13v-14,1,-14,5,-16,21v10,10,46,-13,38,18v-9,17,-23,16,-54,20v-17,16,-4,55,-29,60v-37,-10,19,-64,-24,-71v-20,-10,-37,-47,-6,-62v23,-20,73,-4,77,-53xm65,-101v4,-9,7,-8,3,-13v-14,4,-22,10,-3,13", "w": 154 }, "\u00a3": { "d": "153,-170v3,22,62,0,49,39v-18,6,-31,12,-58,9v-12,-1,-17,30,-23,39v19,26,50,56,91,35v9,-2,27,-13,27,4v0,27,-27,39,-58,42v-32,-5,-59,-19,-78,-39v-6,1,-35,44,-57,39v-25,0,-37,-15,-37,-46v0,-41,43,-53,73,-50v4,1,12,-18,12,-21v-7,-15,-49,0,-44,-30v-2,-31,31,-16,60,-19v16,-30,25,-119,93,-113v16,2,75,16,50,44v-4,5,-7,7,-12,8v-18,-12,-32,-18,-41,-18v-35,-1,-38,52,-47,77xm43,-45v4,5,12,-2,11,-9v-1,2,-12,1,-11,9", "w": 242 }, "\u00a4": { "d": "308,-133r-200,16v-2,1,-6,4,-10,10v70,-2,144,-14,211,-8v3,0,8,4,13,8v-1,4,-3,9,-9,17v-57,11,-164,6,-219,25v26,32,112,25,173,25v9,0,35,2,35,19v0,9,-4,13,-12,14v-115,12,-146,23,-211,-19v-12,-4,-22,-9,-25,-27v-6,-29,-61,3,-43,-49v17,-1,36,7,42,-12v-32,7,-36,-39,-11,-40v29,14,63,-25,73,-30v52,-25,72,-44,142,-44v23,0,21,41,-1,39v-35,-3,-61,9,-102,31v2,2,5,4,8,4v18,-6,101,-9,115,-9v7,0,55,13,31,30", "w": 312 }, "\u20ac": { "d": "308,-133r-200,16v-2,1,-6,4,-10,10v70,-2,144,-14,211,-8v3,0,8,4,13,8v-1,4,-3,9,-9,17v-57,11,-164,6,-219,25v26,32,112,25,173,25v9,0,35,2,35,19v0,9,-4,13,-12,14v-115,12,-146,23,-211,-19v-12,-4,-22,-9,-25,-27v-6,-29,-61,3,-43,-49v17,-1,36,7,42,-12v-32,7,-36,-39,-11,-40v29,14,63,-25,73,-30v52,-25,72,-44,142,-44v23,0,21,41,-1,39v-35,-3,-61,9,-102,31v2,2,5,4,8,4v18,-6,101,-9,115,-9v7,0,55,13,31,30", "w": 312 }, "\u00a5": { "d": "31,-248v30,-3,64,64,74,59v37,-22,77,-65,107,-82v20,-11,34,18,21,32v-28,19,-52,38,-70,57v-18,8,-40,21,-35,60v2,19,39,7,64,7v25,0,16,21,2,27v-36,16,-46,8,-68,18v6,11,101,-20,66,24v-21,11,-42,12,-75,20v-2,1,-5,6,-10,18v-8,3,-11,10,-24,8v-7,-17,-2,-18,-9,-26v-13,5,-39,3,-53,-2v-10,-17,-7,-27,0,-34v23,-1,45,1,64,-5v-11,-7,-28,-4,-64,-6v-13,-8,-15,-24,-6,-35v33,-2,102,9,76,-37v-14,-14,-33,-38,-60,-66v-10,-10,-8,-28,0,-37", "w": 219 }, "\u00a7": { "d": "141,-115v12,10,29,36,28,56v-4,68,-129,69,-152,16v-1,-12,-10,-22,8,-23v17,3,47,21,67,23v16,1,40,-8,38,-21v-8,-49,-119,-30,-117,-85v1,-28,15,-45,-3,-64v-1,-53,55,-61,103,-62v15,-5,6,-5,20,-2v16,17,23,27,23,30v-1,26,-29,7,-45,7v-21,0,-51,2,-62,17v19,14,87,8,97,43v18,14,16,57,-5,65xm64,-147r57,17v10,-28,-22,-43,-47,-44v-25,-1,-35,19,-10,27", "w": 174 }, "\u00a8": { "d": "124,-259v0,9,-4,13,-12,13v-18,0,-22,-21,-17,-35v19,-1,30,1,29,22xm23,-285v7,2,30,9,29,18v1,10,-9,19,-18,19v-19,0,-28,-26,-11,-37", "w": 136 }, "\u00a9": { "d": "102,-29v-74,5,-124,-84,-70,-140v22,-22,53,-35,97,-38v46,-4,88,49,74,100v0,44,-51,75,-101,78xm96,-66v42,-3,75,-23,75,-69v0,-23,-4,-38,-44,-38v-16,0,-33,6,-49,20v36,-4,55,-12,62,20v-5,16,-49,1,-50,21v10,15,53,-14,54,11v0,18,-14,27,-42,27v-22,1,-46,-11,-46,-31v0,-25,7,-39,20,-44v-1,-1,-2,-2,-3,-2v-51,22,-32,89,23,85", "w": 217 }, "\u00aa": { "d": "6,-265v1,-31,58,-53,80,-22v-11,14,25,28,25,36v-2,8,-15,12,-27,10v-22,-29,-68,19,-78,-24xm52,-281v-8,1,-24,10,-9,13v11,1,24,-10,9,-13", "w": 117 }, "\u00ab": { "d": "191,-64v16,6,87,37,53,63v-39,-9,-71,-28,-107,-40v-14,-13,-13,-34,10,-47v27,-15,48,-55,84,-62v9,-2,21,10,21,18r-13,21v-16,5,-44,22,-51,41v0,4,1,6,3,6xm71,-65v17,6,87,35,55,62v-39,-8,-66,-27,-108,-40v-14,-13,-13,-36,10,-46v23,-18,50,-56,84,-63v9,-2,21,10,21,18r-13,22v-20,6,-32,17,-51,37v0,3,-1,11,2,10", "w": 265 }, "\u00ac": { "d": "141,-99v47,7,103,-3,149,6v14,24,18,15,10,39v-10,34,-7,31,-26,76v-4,6,-15,8,-16,21v-4,2,-4,1,-13,5v-22,-33,-4,-33,16,-104v-5,-9,-28,-4,-38,-6r-183,4v-14,0,-41,-29,-17,-36v31,-9,82,5,118,-5", "w": 315 }, "\u00ae": { "d": "75,-194v78,-29,116,9,130,84v-2,42,-22,47,-57,67v-74,20,-161,-19,-129,-110v6,-18,29,-34,57,-40xm46,-86v51,36,84,21,129,-15v7,-15,0,-39,-10,-49v-13,-37,-49,-26,-86,-18v-28,7,-49,46,-33,82xm72,-123v-5,-43,68,-57,75,-14v-17,26,-18,17,3,32v2,25,-25,18,-45,7r-4,-4v-1,8,-3,20,-12,24v-10,-3,-21,-34,-17,-45xm112,-135v-10,-1,-20,13,-9,14v6,-6,9,-11,9,-14", "w": 217 }, "\u00af": { "d": "63,-295v28,-7,73,10,105,7v11,1,6,8,5,19v-37,21,-72,11,-136,11v-23,0,-31,-14,-27,-36v12,-15,40,0,53,-1", "w": 183 }, "\u00b0": { "d": "106,-268v0,36,-35,38,-51,46v-48,5,-60,-58,-25,-78v33,-11,76,-9,76,32xm38,-257v16,7,39,2,38,-17v-13,-9,-28,-1,-32,11v-5,3,-7,0,-6,6", "w": 114 }, "\u00b1": { "d": "93,-163v-7,46,76,-4,46,47v-14,6,-27,13,-38,8v-24,2,-14,28,-28,44r-14,0v-7,-12,-5,-15,-7,-33v-12,-7,-41,-1,-37,-24v2,-11,23,-17,36,-14r28,-38v4,0,9,4,14,10xm113,-27v-12,18,-58,27,-85,24v-16,2,-22,-23,-13,-36v28,-7,85,-11,98,12", "w": 151 }, "\u00b4": { "d": "52,-284v29,-11,50,-34,62,-14v3,12,-86,54,-94,56v-14,0,-16,-12,-12,-23v11,-5,25,-11,44,-19", "w": 120 }, "\u00b6": { "d": "121,-237v21,-9,44,-13,63,-1v-1,7,5,6,7,11r-4,190v-2,33,4,39,-15,40v-16,1,-10,-20,-10,-33r4,-161v0,-17,-1,-34,-16,-25v2,10,1,23,1,35v-9,46,-6,75,-15,156v-3,4,-7,5,-12,5v-17,-10,-3,-89,-10,-115v-43,14,-98,10,-101,-29v-4,-53,59,-63,104,-75v3,1,4,2,4,2xm95,-204v2,9,-30,50,1,50v35,0,23,-13,29,-43v0,-1,-2,-7,-4,-15v-12,-1,-14,2,-26,8", "w": 206 }, "\u00b8": { "d": "74,16v32,2,49,14,55,36v-3,7,-14,31,-29,33v-28,4,-57,11,-88,14v-19,-6,-13,-31,8,-33v20,-1,59,-5,73,-14v-17,-14,-68,8,-53,-37v9,-10,2,-28,24,-30v8,8,13,17,10,31", "w": 129 }, "\u00ba": { "d": "13,-273v1,-31,56,-41,83,-18v36,8,14,48,-9,52v-35,6,-64,-5,-74,-34xm81,-269v-7,-7,-20,-11,-29,-6v5,13,13,11,29,6", "w": 128 }, "\u00bb": { "d": "120,-129v9,-33,48,-10,64,5v9,20,86,52,50,86v-36,11,-66,31,-107,40v-6,-7,-9,-13,-9,-17v-2,-13,50,-46,63,-46v11,-18,-33,-42,-48,-47xm1,-128v10,-33,46,-8,64,6v8,19,86,50,51,85v-40,13,-69,30,-108,40v-6,-7,-8,-12,-8,-16v-2,-14,50,-46,63,-47v7,-13,-9,-20,-19,-30v-10,-9,-20,-15,-30,-17", "w": 252 }, "\u00bf": { "d": "181,-247v3,1,31,2,29,15v-4,22,-37,27,-41,4v1,-5,7,-20,12,-19xm161,-34v-45,-1,-105,19,-124,51v0,11,18,17,54,17v39,0,82,-13,112,4v-10,35,-58,31,-100,31v-47,0,-80,-10,-99,-31v-10,-56,22,-73,64,-90v8,-3,32,-9,74,-18v21,-15,7,-62,22,-92v-1,-5,-1,-11,4,-12v16,0,24,7,24,22v-8,30,-8,73,-17,111v-3,5,-7,7,-14,7", "w": 213 }, "\u00c0": { "d": "161,-217v20,53,23,124,54,170v-2,20,-34,9,-42,0v-27,-12,-78,-18,-101,-18v-26,6,-29,51,-54,63v-18,-4,-19,-30,-3,-38v5,-9,15,-16,8,-29v1,-12,23,-9,26,-19v6,-10,11,-20,20,-27r70,-121v12,-4,16,4,22,19xm82,-91v17,3,62,7,86,13v-13,-33,-13,-80,-29,-109v-15,30,-38,63,-57,96xm150,-268v14,10,54,14,37,41v-28,-7,-62,-22,-100,-42v-2,-3,-2,-26,5,-23v16,4,42,17,58,24" }, "\u00c1": { "d": "161,-217v20,53,23,124,54,170v-2,20,-34,9,-42,0v-27,-12,-78,-18,-101,-18v-26,6,-29,51,-54,63v-18,-4,-19,-30,-3,-38v5,-9,15,-16,8,-29v1,-12,23,-9,26,-19v6,-10,11,-20,20,-27r70,-121v12,-4,16,4,22,19xm82,-91v17,3,62,7,86,13v-13,-33,-13,-80,-29,-109v-15,30,-38,63,-57,96xm84,-250v31,-5,83,-53,100,-31v0,5,-11,15,-35,28v-16,5,-51,28,-53,25v-14,1,-16,-11,-12,-22" }, "\u00c2": { "d": "161,-217v20,53,23,124,54,170v-2,20,-34,9,-42,0v-27,-12,-78,-18,-101,-18v-26,6,-29,51,-54,63v-18,-4,-19,-30,-3,-38v5,-9,15,-16,8,-29v1,-12,23,-9,26,-19v6,-10,11,-20,20,-27r70,-121v12,-4,16,4,22,19xm82,-91v17,3,62,7,86,13v-13,-33,-13,-80,-29,-109v-15,30,-38,63,-57,96xm202,-219v-27,-6,-40,-26,-61,-37v-21,7,-39,46,-65,23v-2,-4,-3,-10,-4,-14v19,-4,43,-32,61,-43v27,6,40,22,62,37v12,8,18,17,18,25v0,6,-3,9,-11,9" }, "\u00c3": { "d": "161,-217v20,53,23,124,54,170v-2,20,-34,9,-42,0v-27,-12,-78,-18,-101,-18v-26,6,-29,51,-54,63v-18,-4,-19,-30,-3,-38v5,-9,15,-16,8,-29v1,-12,23,-9,26,-19v6,-10,11,-20,20,-27r70,-121v12,-4,16,4,22,19xm82,-91v17,3,62,7,86,13v-13,-33,-13,-80,-29,-109v-15,30,-38,63,-57,96xm100,-285v26,-19,54,19,69,22v4,0,15,-5,34,-13v23,-9,22,-17,31,-12v3,11,-9,9,-7,21v-26,20,-46,30,-59,30v-3,3,-50,-26,-49,-29v-12,1,-31,35,-51,32v-3,-8,-5,-14,-5,-18v10,-9,16,-17,37,-33" }, "\u00c4": { "d": "161,-217v20,53,23,124,54,170v-2,20,-34,9,-42,0v-27,-12,-78,-18,-101,-18v-26,6,-29,51,-54,63v-18,-4,-19,-30,-3,-38v5,-9,15,-16,8,-29v1,-12,23,-9,26,-19v6,-10,11,-20,20,-27r70,-121v12,-4,16,4,22,19xm82,-91v17,3,62,7,86,13v-13,-33,-13,-80,-29,-109v-15,30,-38,63,-57,96xm187,-259v0,8,-4,13,-12,13v-18,0,-21,-20,-16,-34v18,-1,28,2,28,21xm90,-284v7,3,28,11,28,18v0,9,-9,18,-18,17v-17,0,-25,-24,-10,-35" }, "\u00c5": { "d": "161,-217v20,53,23,124,54,170v-2,20,-34,9,-42,0v-27,-12,-78,-18,-101,-18v-26,6,-29,51,-54,63v-18,-4,-19,-30,-3,-38v5,-9,15,-16,8,-29v1,-12,23,-9,26,-19v6,-10,11,-20,20,-27r70,-121v12,-4,16,4,22,19xm82,-91v17,3,62,7,86,13v-13,-33,-13,-80,-29,-109v-15,30,-38,63,-57,96xm112,-239v-31,-17,-9,-61,29,-56v12,2,22,3,33,12v24,39,-30,62,-62,44xm119,-262v2,14,41,8,41,-4v0,-4,-8,-6,-24,-9v-10,-2,-17,10,-17,13" }, "\u00c6": { "d": "335,-259v0,30,-102,12,-122,34v10,21,2,79,16,100v24,-6,59,-13,86,-16v23,-2,32,21,13,26r-103,29v-3,22,-4,38,8,43v28,-5,60,-6,86,-14v5,-1,14,7,14,11v6,16,-90,40,-107,40v-29,0,-39,-19,-32,-46v-2,-4,0,-26,-9,-28v-29,2,-58,6,-88,6v-31,0,-40,74,-82,73v-18,-23,4,-37,12,-50v40,-65,112,-126,165,-207v20,-17,69,-11,112,-13v21,0,31,4,31,12xm123,-111v28,1,44,-2,67,-10v-4,-22,5,-49,-7,-65v-3,6,-65,61,-60,75", "w": 348 }, "\u00c7": { "d": "48,-108v-12,70,90,71,159,67r138,-9v9,-1,7,9,7,17v-37,16,-80,27,-103,21v-14,9,-40,3,-67,9v-30,0,-64,1,-100,-10v-6,-1,-10,-4,-10,-8v-32,-12,-46,-31,-63,-56v-16,-61,47,-103,83,-121v82,-42,118,-45,200,-60v21,-4,36,34,11,37v-90,11,-148,31,-225,77v-12,8,-23,20,-30,36xm172,18v29,4,47,14,53,35v-2,7,-14,31,-27,31v-28,7,-55,9,-84,14v-18,-5,-13,-32,7,-32v21,0,55,-5,69,-13v-16,-14,-63,10,-50,-35v9,-10,1,-27,23,-29v7,8,11,16,9,29", "w": 331 }, "\u00c8": { "d": "49,-160v1,-4,-10,-9,-15,-8v-15,-35,32,-30,57,-31r142,-8v2,1,30,7,40,10v-52,16,-133,17,-190,30v-7,9,-12,24,-15,47v26,10,102,-6,141,3v1,3,1,6,2,10v-36,18,-92,12,-149,21v-11,9,-16,41,-16,51v55,-1,111,-21,168,-13v15,-8,48,1,31,18v-53,16,-130,13,-198,29r-39,-8v-4,-19,17,-53,20,-76v-1,0,-7,-11,-9,-18v18,-7,22,-28,30,-57xm184,-236v6,9,5,13,0,23v-28,-7,-62,-21,-100,-41v-3,-2,-3,-27,5,-23v34,11,60,25,95,41", "w": 252 }, "\u00c9": { "d": "49,-160v1,-4,-10,-9,-15,-8v-15,-35,32,-30,57,-31r142,-8v2,1,30,7,40,10v-52,16,-133,17,-190,30v-7,9,-12,24,-15,47v26,10,102,-6,141,3v1,3,1,6,2,10v-36,18,-92,12,-149,21v-11,9,-16,41,-16,51v55,-1,111,-21,168,-13v15,-8,48,1,31,18v-53,16,-130,13,-198,29r-39,-8v-4,-19,17,-53,20,-76v-1,0,-7,-11,-9,-18v18,-7,22,-28,30,-57xm133,-248v27,-11,48,-32,59,-14v3,11,-79,52,-88,53v-14,1,-16,-11,-12,-21v10,-4,23,-11,41,-18", "w": 252 }, "\u00ca": { "d": "49,-160v1,-4,-10,-9,-15,-8v-15,-35,32,-30,57,-31r142,-8v2,1,30,7,40,10v-52,16,-133,17,-190,30v-7,9,-12,24,-15,47v26,10,102,-6,141,3v1,3,1,6,2,10v-36,18,-92,12,-149,21v-11,9,-16,41,-16,51v55,-1,111,-21,168,-13v15,-8,48,1,31,18v-53,16,-130,13,-198,29r-39,-8v-4,-19,17,-53,20,-76v-1,0,-7,-11,-9,-18v18,-7,22,-28,30,-57xm199,-211v-27,-6,-39,-26,-60,-37v-21,7,-40,47,-65,22v-2,-7,-2,-7,-4,-13v18,-5,44,-31,61,-43v27,6,41,22,62,37v12,9,18,17,18,25v0,6,-4,9,-12,9", "w": 252 }, "\u00cb": { "d": "49,-160v1,-4,-10,-9,-15,-8v-15,-35,32,-30,57,-31r142,-8v2,1,30,7,40,10v-52,16,-133,17,-190,30v-7,9,-12,24,-15,47v26,10,102,-6,141,3v1,3,1,6,2,10v-36,18,-92,12,-149,21v-11,9,-17,41,-17,51v55,0,112,-21,169,-13v15,-8,48,1,31,18v-53,16,-130,13,-198,29r-39,-8v-3,-21,17,-53,20,-76v-1,0,-7,-11,-9,-18v18,-7,22,-28,30,-57xm191,-236v0,8,-4,13,-12,13v-17,0,-19,-19,-16,-34v18,-1,29,1,28,21xm95,-261v7,3,29,9,28,18v0,7,-9,17,-18,17v-18,0,-26,-25,-10,-35", "w": 252 }, "\u00cc": { "d": "33,-5v-9,-6,-9,-12,-9,-36v0,-71,8,-119,22,-144v8,-13,14,-20,19,-20v27,20,-11,87,-10,120r-15,76v-1,1,-4,2,-7,4xm72,-247v7,6,55,15,36,40v-28,-7,-61,-21,-99,-41v-3,-2,-3,-27,5,-23v18,3,41,17,58,24", "w": 111 }, "\u00cd": { "d": "26,-5v-9,-6,-9,-12,-9,-36v0,-71,7,-119,21,-144v8,-13,14,-20,19,-20v28,19,-7,89,-10,120v-2,21,-8,47,-14,76v-2,1,-2,0,-7,4xm6,-233v31,-6,83,-53,101,-31v2,11,-80,53,-89,53v-14,1,-14,-11,-12,-22", "w": 104 }, "\u00ce": { "d": "53,-9v-15,7,-16,-3,-16,-32v0,-71,7,-119,21,-144v8,-13,14,-20,19,-20v28,19,-7,89,-10,120v-2,21,-8,47,-14,76xm137,-209v-27,-6,-40,-26,-61,-37v-8,0,-9,4,-13,10v-11,13,-50,37,-56,0v18,-5,43,-32,61,-43v28,5,40,21,62,36v12,9,18,17,18,25v0,6,-4,9,-11,9", "w": 144 }, "\u00cf": { "d": "33,-5v-9,-6,-9,-12,-9,-36v0,-71,8,-119,22,-144v8,-13,14,-20,19,-20v27,20,-11,87,-10,120r-15,76v-1,1,-4,2,-7,4xm111,-222v0,8,-4,12,-12,12v-18,0,-19,-19,-16,-33v18,-1,29,1,28,21xm15,-247v8,2,29,9,28,17v0,21,-37,24,-36,1v0,-7,2,-13,8,-18", "w": 110 }, "\u00d1": { "d": "224,-182v1,-17,15,-24,22,-38v20,0,13,10,3,33v-3,36,-25,52,-28,94v-10,24,-30,55,-29,82r-19,7v-32,-8,-36,-70,-58,-111v-2,-23,-7,-27,-19,-54v-28,36,-41,93,-71,133v-9,5,-20,-9,-20,-17r73,-149v9,-24,31,-5,36,7v19,41,31,98,53,139v22,-35,34,-69,50,-118v2,-3,3,-3,7,-8xm203,-257v22,-8,41,-24,65,-26v3,11,-8,9,-7,21v-26,20,-46,31,-59,31v-2,3,-49,-27,-49,-29v-11,0,-32,31,-46,32v-11,-2,-12,-21,-4,-23v4,-6,28,-30,48,-34v17,-4,43,28,52,28", "w": 219 }, "\u00d2": { "d": "62,-184v78,-31,249,-50,238,74v-6,65,-102,105,-179,115v-77,-7,-152,-71,-101,-149v2,-5,24,-33,42,-40xm279,-120v14,-38,-47,-64,-85,-61v-20,-9,-41,7,-62,0v-11,7,-54,12,-66,24v0,20,-51,35,-38,66v-1,43,50,67,96,67v44,0,162,-55,155,-96xm161,-262v14,10,52,13,37,41v-28,-7,-62,-21,-100,-41v-3,-3,-3,-26,5,-24v16,5,42,17,58,24", "w": 273 }, "\u00d3": { "d": "62,-184v78,-31,249,-50,238,74v-6,65,-102,105,-179,115v-77,-7,-152,-71,-101,-149v2,-5,24,-33,42,-40xm279,-120v14,-38,-47,-64,-85,-61v-20,-9,-41,7,-62,0v-11,7,-54,12,-66,24v0,20,-51,35,-38,66v-1,43,50,67,96,67v44,0,162,-55,155,-96xm142,-250v27,-11,47,-32,59,-14v2,11,-80,53,-89,53v-13,1,-15,-11,-12,-21v10,-5,24,-11,42,-18", "w": 273 }, "\u00d4": { "d": "62,-184v78,-31,249,-50,238,74v-6,65,-102,105,-179,115v-77,-7,-152,-71,-101,-149v2,-5,24,-33,42,-40xm279,-120v14,-38,-47,-64,-85,-61v-20,-9,-41,7,-62,0v-11,7,-54,12,-66,24v0,20,-51,35,-38,66v-1,43,50,67,96,67v44,0,162,-55,155,-96xm157,-282v17,18,52,34,54,63v-24,12,-52,-36,-53,-29r-42,34v-23,-4,-6,-31,5,-34v1,1,27,-37,36,-34", "w": 273 }, "\u00d5": { "d": "62,-184v78,-31,249,-50,238,74v-6,65,-102,105,-179,115v-77,-7,-152,-71,-101,-149v2,-5,24,-33,42,-40xm279,-120v14,-38,-47,-64,-85,-61v-20,-9,-41,7,-62,0v-11,7,-54,12,-66,24v0,20,-51,35,-38,66v-1,43,50,67,96,67v44,0,162,-55,155,-96xm116,-270v26,-19,54,19,69,22v4,0,15,-5,34,-13v23,-10,22,-16,31,-12v3,11,-8,9,-7,21v-45,28,-47,42,-88,16v-29,-19,-12,-20,-43,2v-8,5,-12,18,-23,15v-13,-3,-12,-20,-4,-23v4,-6,14,-15,31,-28", "w": 273 }, "\u00d6": { "d": "62,-184v78,-31,249,-50,238,74v-6,65,-102,105,-179,115v-77,-7,-152,-71,-101,-149v2,-5,24,-33,42,-40xm279,-120v14,-38,-47,-64,-85,-61v-20,-9,-41,7,-62,0v-11,7,-54,12,-66,24v0,20,-51,35,-38,66v-1,43,50,67,96,67v44,0,162,-55,155,-96xm197,-229v0,8,-4,13,-12,13v-17,0,-19,-19,-16,-34v18,-1,29,1,28,21xm101,-254v7,3,28,9,27,18v1,8,-8,17,-17,17v-18,0,-26,-24,-10,-35", "w": 273 }, "\u00d8": { "d": "76,-211v41,-13,100,-22,140,-3v26,-19,40,-29,44,-29v10,0,15,7,15,20v0,15,-23,23,-30,35v23,39,29,114,-21,139v-36,19,-102,35,-147,18v-14,-5,-29,29,-46,35v-25,-13,-19,-24,3,-56v-9,-17,-28,-27,-28,-60v0,-38,23,-72,70,-99xm107,-66v55,15,125,-12,123,-70v0,-16,-5,-25,-13,-29r-110,95r0,4xm39,-108v-1,3,17,31,22,27v8,-6,109,-90,123,-106v-15,-11,-43,1,-63,2v-33,10,-80,35,-82,77", "w": 270 }, "\u00d9": { "d": "281,-202v6,67,-30,121,-71,152v-3,14,-47,26,-60,39v-41,20,-110,1,-125,-26v-24,-44,-28,-84,-8,-127v12,-26,23,-38,37,-22v-2,2,-3,5,-3,10v-34,26,-30,116,5,134v22,32,86,-1,109,-8v38,-28,104,-64,97,-149v2,-10,7,-8,19,-3xm151,-243v14,10,54,14,37,41v-28,-7,-61,-22,-99,-42v-3,-2,-4,-25,4,-23v16,5,42,17,58,24", "w": 262 }, "\u00da": { "d": "281,-202v6,67,-30,121,-71,152v-3,14,-47,26,-60,39v-41,20,-110,1,-125,-26v-24,-44,-28,-84,-8,-127v12,-26,23,-38,37,-22v-2,2,-3,5,-3,10v-34,26,-30,116,5,134v22,32,86,-1,109,-8v38,-28,104,-64,97,-149v2,-10,7,-8,19,-3xm194,-265v3,-1,11,4,11,6v3,12,-81,52,-89,54v-14,0,-13,-9,-12,-22", "w": 262 }, "\u00db": { "d": "281,-202v6,67,-30,121,-71,152v-3,14,-47,26,-60,39v-41,20,-110,1,-125,-26v-24,-44,-28,-84,-8,-127v12,-26,23,-38,37,-22v-2,2,-3,5,-3,10v-34,26,-30,116,5,134v22,32,86,-1,109,-8v38,-28,104,-64,97,-149v2,-10,7,-8,19,-3xm150,-266v24,11,58,27,73,46v0,5,-3,6,-10,6v-28,2,-61,-30,-63,-25v-10,0,-57,40,-69,23v3,-10,-8,-15,8,-19v17,-1,34,-29,61,-31", "w": 262 }, "\u00dc": { "d": "281,-202v6,67,-30,121,-71,152v-3,14,-47,26,-60,39v-41,20,-110,1,-125,-26v-24,-44,-28,-84,-8,-127v12,-26,23,-38,37,-22v-2,2,-3,5,-3,10v-34,26,-29,116,5,134v22,32,86,-1,109,-8v38,-28,104,-64,97,-149v2,-10,7,-8,19,-3xm197,-227v0,8,-4,13,-12,13v-18,0,-21,-20,-16,-34v18,-1,28,2,28,21xm101,-252v7,3,27,10,27,18v0,8,-9,18,-18,17v-18,-1,-24,-25,-9,-35", "w": 262 }, "\u00df": { "d": "33,10v-29,4,-28,-32,-16,-70v18,-58,17,-137,56,-176v12,-24,46,-58,82,-43v20,8,47,24,47,54v0,30,-62,59,-67,90v33,23,56,33,63,63v-18,21,-22,36,-48,54v-24,17,-27,41,-53,16v-2,-19,7,-35,24,-42v15,-13,26,-22,34,-40v-13,-17,-78,-29,-56,-70v-3,-27,64,-54,66,-86v-8,-25,-41,-4,-52,8v-29,30,-47,83,-51,141v-17,25,-8,71,-29,101" }, "\u00e0": { "d": "118,-53v10,4,55,41,62,47v0,7,-5,16,-12,16r-57,-28v-20,3,-40,19,-61,18v-10,2,-43,-17,-42,-36v0,-14,7,-40,27,-41v39,-26,92,-36,104,9v0,6,-2,11,-9,15v-32,-24,-64,-6,-84,11v8,15,58,-17,72,-11xm99,-137v7,6,56,14,37,40v-28,-7,-62,-21,-100,-41v-2,-3,-2,-26,5,-23v16,4,42,17,58,24", "w": 173 }, "\u00e1": { "d": "118,-53v10,4,55,41,62,47v0,7,-5,16,-12,16r-57,-28v-20,3,-40,19,-61,18v-10,2,-43,-17,-42,-36v0,-14,7,-40,27,-41v39,-26,92,-36,104,9v0,6,-2,11,-9,15v-32,-24,-64,-6,-84,11v8,15,58,-17,72,-11xm32,-117v24,-3,85,-55,101,-32v3,11,-80,53,-89,53v-13,2,-14,-10,-12,-21", "w": 173 }, "\u00e2": { "d": "118,-53v10,4,55,41,62,47v0,7,-5,16,-12,16r-57,-28v-20,3,-40,19,-61,18v-10,2,-43,-17,-42,-36v0,-14,7,-40,27,-41v39,-26,92,-36,104,9v0,6,-2,11,-9,15v-32,-24,-64,-6,-84,11v8,15,58,-17,72,-11xm147,-97v-27,-6,-39,-26,-60,-37v-21,7,-38,46,-65,23v-2,-5,-3,-10,-4,-14v18,-4,43,-31,61,-42v28,5,40,21,62,36v12,8,18,17,18,25v0,6,-4,9,-12,9", "w": 173 }, "\u00e3": { "d": "118,-53v10,4,55,41,62,47v0,7,-5,16,-12,16r-57,-28v-20,3,-40,19,-61,18v-10,2,-43,-17,-42,-36v0,-14,7,-40,27,-41v39,-26,92,-36,104,9v0,6,-2,11,-9,15v-32,-24,-64,-6,-84,11v8,15,58,-17,72,-11xm114,-136v22,-8,41,-24,64,-26v3,11,-7,10,-7,21v-26,20,-45,30,-58,30v-3,3,-49,-26,-49,-28v-10,-1,-32,35,-51,31v-12,-32,8,-29,32,-51v24,-21,54,20,69,23", "w": 173 }, "\u00e4": { "d": "118,-53v10,4,55,41,62,47v0,7,-5,16,-12,16r-57,-28v-20,3,-40,19,-61,18v-32,5,-66,-64,-15,-77v39,-26,92,-36,104,9v0,6,-3,11,-9,15v-32,-24,-64,-6,-84,11v8,15,58,-17,72,-11xm142,-119v0,8,-4,13,-12,13v-18,0,-21,-20,-16,-34v18,-1,28,2,28,21xm46,-144v7,3,28,9,27,18v1,8,-9,18,-18,17v-18,-1,-25,-25,-9,-35", "w": 173 }, "\u00e5": { "d": "118,-53v10,4,55,41,62,47v0,7,-5,16,-12,16r-57,-28v-20,3,-40,19,-61,18v-10,2,-43,-17,-42,-36v0,-14,7,-40,27,-41v39,-26,92,-36,104,9v0,6,-2,11,-9,15v-32,-24,-64,-6,-84,11v8,15,58,-17,72,-11xm54,-101v-37,-20,-9,-71,34,-65v13,1,25,3,38,13v27,45,-34,73,-72,52xm61,-128v4,20,48,7,49,-5v0,-5,-9,-7,-28,-10v-12,-2,-21,11,-21,15", "w": 173 }, "\u00e6": { "d": "145,-44r33,7v2,42,-59,29,-85,16v-6,7,-35,24,-48,15v-19,2,-35,-21,-33,-37v2,-24,5,-19,28,-36v-6,-8,-45,3,-33,-21v21,-22,58,-12,85,-1v6,-5,35,-28,45,-15v20,-4,36,17,36,35v0,23,-4,21,-28,37xm111,-72v12,3,49,-16,19,-17v-5,0,-20,12,-19,17xm74,-50v-14,-4,-48,16,-19,17v4,1,19,-14,19,-17", "w": 184 }, "\u00e7": { "d": "108,-118v30,-6,56,21,25,33v-24,-6,-39,5,-75,23v-7,4,-12,12,-15,22v31,28,86,3,128,9v3,28,-29,16,-44,28v-53,15,-106,10,-120,-37v0,-48,62,-70,101,-78xm92,18v23,4,45,12,48,32v-2,6,-12,28,-25,28v-24,6,-50,10,-77,13v-16,-4,-11,-28,7,-29v17,-1,51,-4,63,-12v-14,-15,-57,10,-46,-32v9,-8,0,-25,21,-26v6,6,12,14,9,26", "w": 171 }, "\u00e8": { "d": "108,-124v42,-3,70,39,50,73v-22,-1,-70,12,-94,10v-1,1,-2,3,-2,3v0,3,12,7,35,14v18,0,64,7,30,21v-10,14,-31,6,-53,6v-26,-7,-70,-26,-70,-58v0,-54,48,-65,104,-69xm130,-78v-2,-35,-66,-13,-77,3v16,6,62,6,77,-3xm95,-166v7,6,54,14,37,40v-28,-7,-62,-21,-100,-41v-3,-3,-3,-26,5,-24v16,5,42,18,58,25", "w": 161 }, "\u00e9": { "d": "108,-124v42,-3,70,39,50,73v-22,-1,-70,12,-94,10v-1,1,-2,3,-2,3v0,3,12,7,35,14v18,0,64,7,30,21v-10,14,-31,6,-53,6v-26,-7,-70,-26,-70,-58v0,-54,48,-65,104,-69xm130,-78v-2,-35,-66,-13,-77,3v16,6,62,6,77,-3xm76,-169v26,-11,48,-32,59,-14v3,10,-80,53,-89,53v-14,1,-14,-10,-12,-21v15,-7,16,-7,42,-18", "w": 161 }, "\u00ea": { "d": "108,-124v42,-3,70,39,50,73v-22,-1,-70,12,-94,10v-1,1,-2,3,-2,3v0,3,12,7,35,14v18,0,64,7,30,21v-10,14,-31,6,-53,6v-26,-7,-70,-26,-70,-58v0,-54,48,-65,104,-69xm130,-78v-2,-35,-66,-13,-77,3v16,6,62,6,77,-3xm145,-129v-27,-6,-39,-26,-60,-37v-8,0,-10,4,-14,10v-11,15,-51,34,-56,0v17,-4,44,-32,61,-43v28,5,41,21,63,36v12,8,17,17,17,25v0,6,-3,9,-11,9", "w": 161 }, "\u00eb": { "d": "108,-124v42,-3,70,39,50,73v-22,-1,-70,12,-94,10r-3,3v0,3,12,7,36,14v18,0,64,7,30,21v-10,14,-31,6,-53,6v-26,-7,-67,-27,-71,-58v7,-52,48,-65,105,-69xm130,-78v-2,-35,-66,-13,-77,3v16,6,62,6,77,-3xm140,-144v0,8,-4,12,-12,12v-18,0,-19,-19,-16,-33v18,-1,29,1,28,21xm44,-169v7,3,28,9,28,17v0,9,-9,18,-18,18v-18,0,-25,-24,-10,-35", "w": 161 }, "\u00ec": { "d": "57,-98v22,5,13,50,11,95v-7,1,-11,2,-20,-4v1,-7,-12,-18,-10,-24v4,-22,-2,-64,19,-67xm70,-139v14,10,54,14,37,41v-28,-7,-61,-22,-99,-42v-3,-2,-3,-25,5,-23v15,5,41,17,57,24", "w": 109 }, "\u00ed": { "d": "59,-98v20,4,15,53,10,95v-6,1,-11,2,-19,-4v1,-7,-12,-18,-10,-24v4,-22,-4,-65,19,-67xm50,-139v27,-11,49,-32,59,-14v3,11,-80,53,-89,53v-14,1,-14,-12,-11,-22v15,-7,14,-6,41,-17", "w": 105 }, "\u00ee": { "d": "72,-98v20,5,12,51,10,95v-6,2,-13,1,-20,-4v1,-8,-12,-18,-10,-24v4,-22,-3,-65,20,-67xm134,-94v-26,-7,-39,-25,-60,-37v-7,0,-9,4,-13,10v-14,15,-51,34,-56,-1v18,-4,45,-33,61,-43v27,6,40,22,62,37v12,8,18,17,18,25v0,6,-4,9,-12,9", "w": 143 }, "\u00ef": { "d": "55,-97v19,5,15,53,10,95v-17,5,-26,-14,-30,-28v6,-20,-3,-65,20,-67xm110,-118v0,8,-4,13,-12,13v-17,0,-19,-19,-16,-34v18,-1,29,1,28,21xm14,-143v6,3,28,8,28,17v0,9,-9,18,-18,18v-18,0,-25,-24,-10,-35", "w": 107 }, "\u00f1": { "d": "115,-129v34,6,59,50,59,105v0,31,-15,24,-30,17v-15,-29,-5,-42,-20,-81v-35,-13,-68,52,-88,61v-20,-4,-38,-36,-19,-59v0,-12,3,-14,10,-28v11,-8,18,11,27,12xm117,-166v22,-7,41,-23,64,-26v3,11,-7,10,-7,21v-26,20,-45,30,-58,30v-3,3,-49,-26,-49,-28v-10,-1,-32,35,-51,31v-5,-12,-8,-16,0,-23v4,-6,28,-29,48,-33v17,-3,43,28,53,28", "w": 171 }, "\u00f2": { "d": "102,-132v50,-20,99,16,99,60v0,54,-60,64,-108,79v-50,-2,-110,-48,-76,-100v22,-17,49,-33,85,-39xm136,-104v-34,0,-91,27,-94,47v16,51,125,16,125,-22v0,-17,-10,-25,-31,-25xm115,-181v14,10,51,13,37,40v-28,-7,-62,-21,-100,-41v-3,-2,-3,-26,5,-23v16,5,42,17,58,24", "w": 191 }, "\u00f3": { "d": "102,-132v50,-20,99,16,99,60v0,54,-60,64,-108,79v-50,-2,-110,-48,-76,-100v22,-17,49,-33,85,-39xm136,-104v-34,0,-91,27,-94,47v16,51,125,16,125,-22v0,-17,-10,-25,-31,-25xm49,-154v24,-3,85,-55,101,-32v3,11,-80,53,-89,53v-14,0,-13,-8,-12,-21", "w": 191 }, "\u00f4": { "d": "102,-132v50,-20,99,16,99,60v0,54,-60,64,-108,79v-50,-2,-110,-48,-76,-100v22,-17,49,-33,85,-39xm136,-104v-34,0,-91,27,-94,47v16,51,125,16,125,-22v0,-17,-10,-25,-31,-25xm110,-177v-22,6,-38,45,-65,22v-2,-4,-3,-9,-4,-13v18,-4,43,-32,61,-43v27,6,40,21,62,36v12,9,18,17,18,25v1,11,-15,10,-23,7", "w": 191 }, "\u00f5": { "d": "102,-132v50,-20,99,16,99,60v0,54,-60,64,-108,79v-50,-2,-110,-48,-76,-100v22,-17,49,-33,85,-39xm136,-104v-34,0,-91,27,-94,47v16,51,125,16,125,-22v0,-17,-10,-25,-31,-25xm58,-199v26,-21,54,18,69,22v4,0,15,-5,34,-13v22,-9,21,-16,31,-13v3,11,-9,9,-7,22v-26,20,-46,30,-59,30v-2,4,-49,-28,-49,-29v-11,0,-32,31,-46,32v-12,-3,-13,-21,-4,-23v4,-6,14,-15,31,-28", "w": 191 }, "\u00f6": { "d": "102,-132v50,-20,99,16,99,60v0,54,-60,64,-108,79v-50,-2,-110,-48,-76,-100v22,-17,49,-33,85,-39xm136,-104v-34,0,-91,27,-94,47v16,51,125,16,125,-22v0,-17,-10,-25,-31,-25xm161,-160v0,8,-4,13,-12,13v-17,0,-19,-19,-16,-34v18,-1,29,1,28,21xm65,-185v7,3,28,9,28,18v0,7,-9,18,-18,17v-18,1,-25,-24,-10,-35", "w": 191 }, "\u00f7": { "d": "167,-158v-4,3,-7,9,-10,20v-23,4,-34,-8,-29,-31v14,-6,18,1,39,11xm78,-72v-53,11,-53,12,-69,-15v-1,-12,11,-17,22,-14v71,-13,151,-18,230,-24v11,1,21,16,23,28v-28,20,-90,11,-126,16v-36,5,-62,5,-80,9xm123,-40v19,-17,41,-1,41,17v0,13,-6,19,-17,19v-15,0,-29,-14,-24,-36", "w": 293 }, "\u00f8": { "d": "76,-136v17,7,33,-8,51,0v9,-6,21,-13,36,-21v23,22,-13,31,3,50v11,13,4,21,14,35v-4,5,-1,14,-4,23v-14,23,-45,41,-84,39v-12,2,-29,28,-41,38v-2,-11,-34,-10,-15,-30v3,-7,5,-11,5,-11v-15,-24,-60,-54,-22,-89v23,-21,25,-32,57,-34xm102,-54v18,1,50,-19,30,-32v-12,7,-22,18,-30,32xm85,-92v-14,3,-26,8,-38,17v2,20,17,13,26,0v6,-8,12,-13,12,-17", "w": 188 }, "\u00f9": { "d": "196,-129v-1,-4,12,-13,15,-13v6,0,8,7,8,21v0,24,-7,25,-13,45v-7,7,-14,21,-24,29v-9,24,-61,45,-89,45v-63,0,-105,-72,-67,-126v24,-3,19,27,18,46v-1,26,23,42,54,40v38,-3,88,-51,98,-87xm126,-166v7,6,56,14,37,40v-28,-7,-62,-22,-100,-42v-2,-3,-2,-26,5,-23v16,4,42,18,58,25", "w": 213 }, "\u00fa": { "d": "196,-129v-1,-4,12,-13,15,-13v6,0,8,7,8,21v0,24,-7,25,-13,45v-7,7,-14,21,-24,29v-9,24,-61,45,-89,45v-63,0,-105,-72,-67,-126v24,-3,19,27,18,46v-1,26,23,42,54,40v38,-3,88,-51,98,-87xm106,-174v26,-11,48,-32,59,-14v3,11,-81,53,-89,54v-13,1,-15,-12,-11,-22v15,-7,14,-7,41,-18", "w": 213 }, "\u00fb": { "d": "196,-129v-1,-4,12,-13,15,-13v6,0,8,7,8,21v0,24,-7,25,-13,45v-7,7,-14,21,-24,29v-9,24,-61,45,-89,45v-63,0,-105,-72,-67,-126v24,-3,19,27,18,46v-1,26,23,42,54,40v38,-3,88,-51,98,-87xm172,-143v-27,-6,-39,-26,-60,-37v-8,0,-10,4,-14,10v-11,15,-49,35,-56,0v17,-4,44,-32,61,-43v27,6,41,21,63,36v12,9,17,17,17,25v0,6,-3,9,-11,9", "w": 213 }, "\u00fc": { "d": "196,-129v-1,-4,12,-13,15,-13v6,0,8,7,8,21v0,24,-7,25,-13,45v-7,7,-14,21,-24,29v-9,24,-61,45,-89,45v-63,0,-105,-72,-67,-126v24,-3,19,27,18,46v-1,26,23,42,54,40v38,-3,88,-51,98,-87xm168,-161v0,8,-3,13,-11,13v-17,0,-20,-19,-17,-34v18,-1,29,1,28,21xm72,-186v7,3,29,9,28,18v0,7,-9,18,-18,17v-18,1,-25,-24,-10,-35", "w": 213 }, "\u00ff": { "d": "118,85v-11,11,-11,38,-22,61v-2,-1,-2,31,-17,27v-11,0,-21,-10,-21,-22v20,-66,23,-61,64,-168v-22,1,-38,16,-58,4v-22,4,-51,-16,-51,-42v-11,-13,-7,-59,7,-58v16,1,21,24,22,51v21,33,66,5,94,-7v4,-3,26,-14,38,-29r17,0v23,44,-23,59,-34,102v-6,9,-13,9,-13,26v-15,6,-12,33,-27,48v0,2,1,4,1,7xm158,-136v0,8,-4,13,-12,13v-18,0,-21,-20,-16,-34v18,-1,29,1,28,21xm62,-161v7,3,28,9,27,18v1,8,-8,17,-17,17v-18,0,-26,-24,-10,-35", "w": 190 }, "\u0131": { "d": "43,-103v21,4,16,56,11,100v-7,2,-11,1,-20,-5v0,-7,-13,-18,-11,-25v4,-23,-3,-68,20,-70", "w": 80 }, "\u0152": { "d": "247,-243v71,4,161,-7,245,-8v17,0,27,6,27,17v-8,27,-70,14,-104,23v-3,1,-52,0,-65,7r0,4v16,16,17,29,17,65v32,10,74,-14,99,16v-14,25,-76,17,-127,24v-17,18,-55,32,-75,51v85,0,128,-3,204,-11v15,-2,21,11,20,29v-78,24,-177,12,-270,24v-24,3,-24,-29,-48,-15v-46,7,-70,4,-105,-4v-19,-18,-42,-22,-52,-55v-10,-34,0,-47,12,-78v-18,-59,48,-78,105,-84v17,-18,103,-13,117,-5xm125,-45v76,-9,186,-43,209,-105v-26,-67,-137,-83,-217,-54v3,34,-45,25,-60,58v-41,48,5,108,68,101", "w": 492 }, "\u0153": { "d": "185,-54v25,28,107,-17,104,33v-12,12,-60,14,-87,14v0,0,1,1,2,1v-11,1,-39,-9,-50,-17v-28,17,-75,32,-114,7v-22,-14,-34,-11,-34,-41v0,-36,33,-49,48,-75v29,-16,72,-3,95,11v12,-9,48,-27,59,-26v30,0,64,15,65,40v0,7,-6,20,-20,37v-29,1,-44,11,-68,16xm226,-106v-21,-7,-41,-2,-48,13v14,1,42,-7,48,-13xm132,-87v-21,-35,-94,11,-92,24v-2,14,43,21,61,21v25,0,36,-20,31,-45", "w": 295 }, "\u0178": { "d": "176,-189v35,20,-25,54,-39,72v-26,34,-57,57,-74,104v-10,15,-4,14,-23,3r0,-10v19,-44,27,-46,50,-81v-9,-5,-24,4,-34,4v-38,0,-54,-50,-44,-87v21,-5,18,19,22,35v4,18,15,27,29,27v41,0,60,-39,113,-67xm153,-222v0,8,-3,12,-11,12v-18,0,-21,-19,-16,-33v18,-1,28,2,27,21xm57,-247v8,2,29,9,28,17v0,21,-37,24,-36,1v0,-7,2,-13,8,-18", "w": 135 }, "\u0192": { "d": "115,-262v-23,6,-39,63,-38,96v1,3,57,2,54,16v1,22,-45,15,-51,30v3,34,12,68,10,103v14,17,-18,53,-28,63v-48,8,-89,5,-95,-37v20,-5,77,21,83,-18v17,-29,-4,-61,0,-98v0,-5,-3,-10,-7,-17v-33,4,-43,-17,-25,-37v10,-4,27,5,27,-10v0,-43,15,-77,32,-109v12,-7,16,-22,38,-20v11,1,51,35,25,55v-9,1,-16,-17,-25,-17", "w": 145 }, "\u02c6": { "d": "144,-220v-29,0,-41,-27,-63,-39v-8,0,-11,5,-15,11v-17,12,-32,31,-54,13v-2,-5,-3,-9,-4,-14v20,-5,45,-33,64,-45v28,6,43,23,65,38v12,9,19,19,19,27v0,6,-4,9,-12,9", "w": 165 }, "\u02c7": { "d": "39,-286v33,46,63,-4,96,-16v6,0,9,6,9,19v0,24,-49,46,-77,46v-32,0,-52,-28,-59,-48v0,-25,23,-17,31,-1", "w": 153 }, "\u02d8": { "d": "65,-269v20,-11,45,-31,74,-36v20,30,-42,40,-59,66v-5,6,-11,8,-18,8v-8,-3,-45,-32,-51,-54v5,-24,14,-13,34,1", "w": 158 }, "\u02d9": { "d": "23,-302v15,-13,32,1,32,18v1,22,-36,29,-39,4v0,0,3,-7,7,-22", "w": 70 }, "\u02da": { "d": "23,-225v-43,-24,-11,-85,41,-78v16,2,31,4,46,17v32,54,-41,86,-87,61xm33,-257v2,20,57,11,57,-6v0,-6,-11,-9,-33,-12v-14,-2,-24,13,-24,18", "w": 123 }, "\u02db": { "d": "82,-5v-8,12,-16,55,-21,75v0,4,2,7,7,7v6,0,22,-7,50,-20v8,0,12,7,12,20v-2,22,-6,14,-27,30v-15,12,-26,16,-30,16v-47,-8,-59,-14,-56,-75v8,-27,12,-54,25,-77v19,-21,35,15,40,24", "w": 138 }, "\u02dc": { "d": "47,-300v26,-21,57,19,72,23v4,0,16,-5,36,-14v24,-10,22,-16,32,-13v3,12,-7,11,-7,23v-27,21,-48,32,-62,32v-3,2,-52,-27,-51,-31v-12,-2,-34,40,-54,33v-4,-13,-8,-18,1,-24v5,-7,16,-15,33,-29", "w": 186 }, "\u02dd": { "d": "91,-249v15,-11,38,-53,57,-29v0,9,0,14,-3,23v-2,3,-20,22,-54,55v-5,5,-10,8,-16,8v-17,2,-6,-22,-7,-31v-1,0,-2,0,-4,1v-17,21,-29,31,-50,27v-5,-18,-3,-15,3,-27v23,-27,40,-46,48,-59v7,-12,31,3,29,9v-1,14,-3,24,-13,31v4,4,9,-1,10,-8", "w": 151 }, "\u2013": { "d": "6,-66v-8,-72,79,-21,146,-39v37,-10,79,7,111,0v9,8,14,13,14,17v2,26,-72,13,-99,21v-83,4,-124,21,-172,1", "w": 282 }, "\u2014": { "d": "175,-106v86,-9,201,1,286,-1v11,6,13,11,6,30v-118,15,-246,10,-377,10v-25,0,-73,3,-82,-8r-2,-26v11,-13,32,-9,52,-7v38,3,84,-5,117,2", "w": 485 }, "\u2018": { "d": "73,-262v-10,7,-41,39,-38,69v-15,13,-27,-16,-28,-28v-2,-20,51,-83,66,-83v20,0,25,41,0,42", "w": 95 }, "\u2019": { "d": "74,-300v13,31,-1,99,-44,101v-13,0,-19,-5,-19,-15v6,-10,31,-34,35,-59v2,-11,1,-32,11,-32v6,0,11,2,17,5", "w": 90 }, "\u201a": { "d": "25,63v-26,21,-48,-2,-22,-24v14,-12,35,-40,35,-69v3,-2,3,-11,12,-9v35,17,5,88,-25,102", "w": 97 }, "\u201c": { "d": "66,-261v-21,5,-37,51,-22,77v0,4,-2,6,-7,6v-31,-9,-38,-62,-12,-94v12,-15,21,-28,31,-34v16,-1,19,24,22,34v10,-11,22,-32,43,-23v-2,8,4,16,5,19v-6,11,-51,53,-29,74v-12,21,-30,5,-33,-17v-6,-13,9,-28,2,-42", "w": 118 }, "\u201d": { "d": "120,-294v12,3,30,26,19,34v2,15,-40,70,-55,66v-40,-10,10,-51,14,-64v3,-3,8,-31,22,-36xm70,-306v14,3,26,34,16,49v-19,30,-31,45,-58,59v-12,-11,-33,-17,-7,-36v13,-19,36,-27,36,-59v0,-5,9,-13,13,-13", "w": 148 }, "\u201e": { "d": "25,63v-26,21,-48,-2,-22,-24v11,-9,36,-41,35,-69v3,-2,4,-12,12,-9v36,14,5,89,-25,102xm84,64v-24,20,-45,-1,-21,-24v21,-20,32,-35,35,-69v3,-2,3,-11,12,-9v36,17,9,86,-26,102", "w": 135 }, "\u2020": { "d": "22,-286v15,6,5,-20,19,-19v9,-3,15,21,17,22v6,1,12,3,20,6v3,10,5,16,-9,16v-34,-10,-6,51,-34,52v-20,-7,11,-47,-15,-49v-14,3,-25,-5,-17,-24v7,-2,14,-4,19,-4", "w": 77 }, "\u2021": { "d": "102,-284v16,2,42,-2,33,18v-7,15,-42,1,-38,30v3,3,31,1,30,11v4,15,-29,19,-36,24v-2,18,-4,24,-16,29r-25,-26v-25,7,-53,3,-42,-25v4,-10,70,0,51,-22v-17,4,-41,12,-39,-15v-5,-16,39,-18,44,-20v4,-2,7,-10,10,-24v19,-3,23,6,28,20", "w": 145 }, "\u2022": { "d": "130,-114v0,47,-124,54,-120,-8r6,-31v44,-28,64,-34,104,0v8,6,10,20,10,39", "w": 139 }, "\u2026": { "d": "244,-24v-1,21,-38,32,-41,3v-2,-19,23,-22,34,-17v0,7,0,15,7,14xm113,-24v0,-22,28,-21,38,-8v5,34,-39,40,-38,8xm35,-2v-10,-2,-36,-17,-18,-29v-1,-15,17,-17,31,-6v7,17,6,33,-13,35", "w": 258 }, "\u2030": { "d": "398,-131v58,-1,87,13,72,65v-1,30,-66,63,-99,65v-56,3,-99,-58,-62,-102v2,2,5,2,8,2v20,-16,51,-17,81,-30xm202,-279v33,0,94,-24,95,18v-7,31,-33,27,-54,55v-36,32,-71,74,-112,99v-18,18,-40,34,-51,58v-19,14,-25,37,-56,40v-17,2,-25,-29,-10,-40v15,-11,40,-37,52,-52r87,-72v-51,13,-100,6,-116,-27v1,-5,-6,-30,-9,-36v-3,-5,22,-41,27,-39v29,2,16,34,5,49v0,15,14,23,42,23v42,0,59,-31,28,-38v-17,-4,-53,3,-50,-23v0,-7,1,-12,4,-16v16,-9,36,4,49,5v0,0,23,-4,69,-4xm222,-118v33,-2,55,18,50,57v-29,36,-48,45,-96,50v-27,-5,-56,-17,-58,-51v13,-37,64,-43,104,-56xm335,-61v13,44,101,7,108,-31v-11,-3,-20,-4,-30,-4v-18,-1,-82,18,-78,35xm225,-244v-18,0,-29,-1,-46,3v7,15,6,28,0,43v15,-14,34,-30,46,-46xm164,-53v26,5,59,-10,76,-26v-17,-16,-49,2,-67,14v1,8,-8,6,-9,12", "w": 485 }, "\u2039": { "d": "64,-107v9,17,86,17,87,43v0,11,-4,16,-13,16v-36,-11,-70,-22,-109,-31v-19,-4,-18,-14,-9,-36v59,-56,93,-84,101,-84v17,0,19,20,13,29", "w": 159 }, "\u203a": { "d": "41,-181v26,27,112,44,70,91r-82,60v-20,3,-25,-23,-13,-32r70,-51r-66,-46v-5,-6,-4,-28,5,-29v4,2,9,4,16,7", "w": 137 }, "\u2044": { "d": "193,-305v7,6,17,31,3,41v-10,7,-12,13,-21,25v-79,56,-190,209,-197,260r-18,0v-23,-19,9,-70,15,-85v52,-83,121,-179,218,-241", "w": 120 }, "\u2122": { "d": "213,-307v28,9,11,49,7,75v-1,4,-4,6,-11,6v-7,1,-11,-14,-11,-34v-14,-6,-34,34,-46,28v-2,0,-10,-9,-24,-27v-10,7,-3,36,-27,31v-15,-24,-3,-27,1,-48v-6,-7,-27,-1,-31,3v-3,14,-7,30,-11,51v-5,10,-29,9,-24,-12v-5,-8,1,-18,3,-35v-13,6,-33,2,-29,-18v20,-17,64,-17,100,-19v28,-1,29,30,45,39v11,-6,35,-32,58,-40", "w": 239 }, "\u2206": { "d": "18,-1v-24,-30,8,-48,25,-71v14,-19,34,-28,40,-56v20,-35,29,-14,57,4v9,39,43,62,57,102v0,16,-34,17,-50,14v-28,2,-72,4,-129,7xm139,-47r-22,-52v-12,-5,-12,15,-24,27v-7,6,-14,16,-23,28v23,1,36,-1,69,-3", "w": 199 }, "\u2219": { "d": "57,-77v6,18,-7,21,-19,23v-34,6,-25,-40,-9,-43v18,-3,29,8,28,20", "w": 67 }, "\u221a": { "d": "364,-218v43,-21,80,-51,104,-32v-3,19,-24,21,-44,40v-41,15,-78,53,-136,78r-137,98v-20,16,-79,66,-91,68v-3,1,-25,-11,-24,-13v-4,-28,-43,-61,-30,-85v26,-15,42,19,58,32r295,-188v0,1,2,2,5,2", "w": 474 }, "\u221e": { "d": "322,-72v-4,22,-54,41,-76,41v-43,0,-83,-17,-114,-35v-46,19,-125,53,-128,-18v-1,-14,10,-22,13,-35v29,-10,62,-31,97,-4v37,28,47,5,75,-8v40,-19,73,-10,114,1v13,1,18,55,19,58xm228,-69v15,0,62,-12,61,-25v-19,-23,-89,-10,-105,11v0,2,1,4,2,4v28,6,42,10,42,10xm75,-102v-13,2,-41,4,-44,19v0,4,3,7,10,7v21,0,40,-6,54,-17v-9,-6,-16,-9,-20,-9", "w": 330 }, "\u222b": { "d": "62,-151v-7,-70,20,-130,63,-150v28,1,39,10,70,23v20,8,6,33,-6,35v-29,-13,-45,-20,-49,-20v-20,-4,-45,51,-43,70v8,60,5,129,5,189v0,62,-27,93,-79,93v-37,-1,-71,-14,-63,-57v21,0,79,34,91,-2v16,-3,14,-64,21,-85v-2,-31,-1,-74,-10,-96", "w": 156 }, "\u2248": { "d": "133,-112v21,15,48,-30,78,-17v3,3,5,7,5,9v-8,30,-47,45,-76,45v-19,0,-64,-48,-90,-21r-29,20v-6,-1,-17,-16,-15,-32v24,-17,70,-42,107,-21v4,4,10,9,20,17xm138,-57v28,2,48,-25,76,-26v13,30,-21,42,-40,53v-41,24,-77,-15,-114,-23v-15,14,-46,32,-49,-1v-3,-9,27,-28,54,-30", "w": 223 }, "\u2260": { "d": "48,-130v29,11,49,-57,60,-50v25,6,7,27,-1,46v22,5,29,7,21,22v-18,2,-48,-1,-50,15v9,8,53,-7,54,10v-4,22,-46,20,-72,24v-7,13,-18,32,-34,57v-8,6,-15,-3,-13,-14v-1,-9,15,-39,14,-45v-30,5,-24,-17,-13,-25v12,-1,36,4,29,-13v-14,0,-47,6,-36,-12v0,-18,27,-13,41,-15", "w": 140 }, "\u2264": { "d": "73,-109v10,15,87,16,87,42v0,11,-5,16,-13,16v-36,-11,-69,-24,-109,-31v-18,-8,-18,-13,-9,-36v59,-56,93,-83,101,-83v16,0,18,17,14,28v-27,24,-42,35,-71,64xm10,-29v35,-12,117,-26,148,-3v1,2,-5,19,-8,18r-124,15v-16,2,-26,-18,-16,-30", "w": 168 }, "\u2265": { "d": "115,-174v20,7,53,36,20,57v-19,11,-91,68,-82,59v-18,3,-25,-22,-13,-31v15,-10,14,-10,70,-51r-50,-37v-5,-4,-5,-27,4,-28v16,7,40,17,51,31xm14,-32v33,-10,86,-14,127,-10v12,12,5,23,-11,27v-49,9,-82,13,-99,13v-22,0,-24,-16,-17,-30", "w": 163 }, "\u25ca": { "d": "76,-158v48,-8,64,11,100,36v28,19,-5,39,-22,54v-15,13,-40,32,-48,49v-17,5,-12,0,-27,-16v-6,-6,-86,-31,-68,-53r2,-9v27,-23,48,-44,63,-61xm93,-65v12,-2,35,-31,41,-38v-5,-10,-16,-14,-34,-24v-12,12,-36,29,-40,44v19,11,30,18,33,18", "w": 199 } } }); } /** js sequence diagrams * https://bramp.github.io/js-sequence-diagrams/ * (c) 2012-2017 Andrew Brampton (bramp.net) * Simplified BSD license. */ /*global Diagram, _ */ if (typeof Raphael == 'undefined' && typeof Snap == 'undefined') { throw new Error('Raphael or Snap.svg is required to be included.'); } if (_.isEmpty(Diagram.themes)) { // If you are using stock js-sequence-diagrams you should never see this. This only // happens if you have removed the built in themes. throw new Error('No themes were registered. Please call registerTheme(...).'); } // Set the default hand/simple based on which theme is available. Diagram.themes.hand = Diagram.themes.snapHand || Diagram.themes.raphaelHand; Diagram.themes.simple = Diagram.themes.snapSimple || Diagram.themes.raphaelSimple; /* Draws the diagram. Creates a SVG inside the container * container (HTMLElement|string) DOM element or its ID to draw on * options (Object) */ Diagram.prototype.drawSVG = function(container, options) { var defaultOptions = { theme: 'hand' }; options = _.defaults(options || {}, defaultOptions); if (!(options.theme in Diagram.themes)) { throw new Error('Unsupported theme: ' + options.theme); } // TODO Write tests for this check var div = _.isString(container) ? document.getElementById(container) : container; if (div === null || !div.tagName) { throw new Error('Invalid container: ' + container); } var Theme = Diagram.themes[options.theme]; new Theme(this, options, function(drawing) { drawing.draw(div); }); }; // end of drawSVG /** js sequence diagrams * https://bramp.github.io/js-sequence-diagrams/ * (c) 2012-2017 Andrew Brampton (bramp.net) * Simplified BSD license. */ /*global jQuery */ if (typeof jQuery != 'undefined') { (function($) { $.fn.sequenceDiagram = function(options) { return this.each(function() { var $this = $(this); var diagram = Diagram.parse($this.text()); $this.html(''); diagram.drawSVG(this, options); }); }; })(jQuery); } // Taken from underscore.js: // Establish the root object, `window` (`self`) in the browser, or `global` on the server. // We use `self` instead of `window` for `WebWorker` support. var root = (typeof self == 'object' && self.self == self && self) || (typeof global == 'object' && global.global == global && global); // Export the Diagram object for **Node.js**, with // backwards-compatibility for their old module API. If we're in // the browser, add `Diagram` as a global object. if (typeof exports !== 'undefined') { if (typeof module !== 'undefined' && module.exports) { exports = module.exports = Diagram; } exports.Diagram = Diagram; } else { root.Diagram = Diagram; } }()); ================================================ FILE: dist/sequence-diagram-snap-min.js ================================================ /** js sequence diagrams 2.0.1 * https://bramp.github.io/js-sequence-diagrams/ * (c) 2012-2017 Andrew Brampton (bramp.net) * @license Simplified BSD license. */ !function(){"use strict";function Diagram(){this.title=void 0,this.actors=[],this.signals=[]}function ParseError(message,hash){_.extend(this,hash),this.name="ParseError",this.message=message||""}function AssertException(message){this.message=message}function assert(exp,message){if(!exp)throw new AssertException(message)}function registerTheme(name,theme){Diagram.themes[name]=theme}function getCenterX(box){return box.x+box.width/2}function getCenterY(box){return box.y+box.height/2}function clamp(x,min,max){return xmax?max:x}function wobble(x1,y1,x2,y2){assert(_.all([x1,x2,y1,y2],_.isFinite),"x1,x2,y1,y2 must be numeric");var factor=Math.sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1))/25,r1=clamp(Math.random(),.2,.8),r2=clamp(Math.random(),.2,.8),xfactor=Math.random()>.5?factor:-factor,yfactor=Math.random()>.5?factor:-factor,p1={x:(x2-x1)*r1+x1+xfactor,y:(y2-y1)*r1+y1+yfactor},p2={x:(x2-x1)*r2+x1-xfactor,y:(y2-y1)*r2+y1-yfactor};return"C"+p1.x.toFixed(1)+","+p1.y.toFixed(1)+" "+p2.x.toFixed(1)+","+p2.y.toFixed(1)+" "+x2.toFixed(1)+","+y2.toFixed(1)}function handRect(x,y,w,h){return assert(_.all([x,y,w,h],_.isFinite),"x, y, w, h must be numeric"),"M"+x+","+y+wobble(x,y,x+w,y)+wobble(x+w,y,x+w,y+h)+wobble(x+w,y+h,x,y+h)+wobble(x,y+h,x,y)}function handLine(x1,y1,x2,y2){return assert(_.all([x1,x2,y1,y2],_.isFinite),"x1,x2,y1,y2 must be numeric"),"M"+x1.toFixed(1)+","+y1.toFixed(1)+wobble(x1,y1,x2,y2)}Diagram.prototype.getActor=function(alias,name){alias=alias.trim();var i,actors=this.actors;for(i in actors)if(actors[i].alias==alias)return actors[i];return i=actors.push(new Diagram.Actor(alias,name||alias,actors.length)),actors[i-1]},Diagram.prototype.getActorWithAlias=function(input){input=input.trim();var alias,name,s=/([\s\S]+) as (\S+)$/im.exec(input);return s?(name=s[1].trim(),alias=s[2].trim()):name=alias=input,this.getActor(alias,name)},Diagram.prototype.setTitle=function(title){this.title=title},Diagram.prototype.addSignal=function(signal){this.signals.push(signal)},Diagram.Actor=function(alias,name,index){this.alias=alias,this.name=name,this.index=index},Diagram.Signal=function(actorA,signaltype,actorB,message){this.type="Signal",this.actorA=actorA,this.actorB=actorB,this.linetype=3&signaltype,this.arrowtype=signaltype>>2&3,this.message=message},Diagram.Signal.prototype.isSelf=function(){return this.actorA.index==this.actorB.index},Diagram.Note=function(actor,placement,message){if(this.type="Note",this.actor=actor,this.placement=placement,this.message=message,this.hasManyActors()&&actor[0]==actor[1])throw new Error("Note should be over two different actors")},Diagram.Note.prototype.hasManyActors=function(){return _.isArray(this.actor)},Diagram.unescape=function(s){return s.trim().replace(/^"(.*)"$/m,"$1").replace(/\\n/gm,"\n")},Diagram.LINETYPE={SOLID:0,DOTTED:1},Diagram.ARROWTYPE={FILLED:0,OPEN:1},Diagram.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},"function"!=typeof Object.getPrototypeOf&&("object"==typeof"test".__proto__?Object.getPrototypeOf=function(object){return object.__proto__}:Object.getPrototypeOf=function(object){return object.constructor.prototype});var parser=function(){function Parser(){this.yy={}}var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[5,8,9,13,15,24],$V1=[1,13],$V2=[1,17],$V3=[24,29,30],parser={trace:function(){},yy:{},symbols_:{error:2,start:3,document:4,EOF:5,line:6,statement:7,NL:8,participant:9,actor_alias:10,signal:11,note_statement:12,title:13,message:14,note:15,placement:16,actor:17,over:18,actor_pair:19,",":20,left_of:21,right_of:22,signaltype:23,ACTOR:24,linetype:25,arrowtype:26,LINE:27,DOTLINE:28,ARROW:29,OPENARROW:30,MESSAGE:31,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",8:"NL",9:"participant",13:"title",15:"note",18:"over",20:",",21:"left_of",22:"right_of",24:"ACTOR",27:"LINE",28:"DOTLINE",29:"ARROW",30:"OPENARROW",31:"MESSAGE"},productions_:[0,[3,2],[4,0],[4,2],[6,1],[6,1],[7,2],[7,1],[7,1],[7,2],[12,4],[12,4],[19,1],[19,3],[16,1],[16,1],[11,4],[17,1],[10,1],[23,2],[23,1],[25,1],[25,1],[26,1],[26,1],[14,1]],performAction:function(yytext,yyleng,yylineno,yy,yystate,$$,_$){var $0=$$.length-1;switch(yystate){case 1:return yy.parser.yy;case 4:break;case 6:$$[$0];break;case 7:case 8:yy.parser.yy.addSignal($$[$0]);break;case 9:yy.parser.yy.setTitle($$[$0]);break;case 10:this.$=new Diagram.Note($$[$0-1],$$[$0-2],$$[$0]);break;case 11:this.$=new Diagram.Note($$[$0-1],Diagram.PLACEMENT.OVER,$$[$0]);break;case 12:case 20:this.$=$$[$0];break;case 13:this.$=[$$[$0-2],$$[$0]];break;case 14:this.$=Diagram.PLACEMENT.LEFTOF;break;case 15:this.$=Diagram.PLACEMENT.RIGHTOF;break;case 16:this.$=new Diagram.Signal($$[$0-3],$$[$0-2],$$[$0-1],$$[$0]);break;case 17:this.$=yy.parser.yy.getActor(Diagram.unescape($$[$0]));break;case 18:this.$=yy.parser.yy.getActorWithAlias(Diagram.unescape($$[$0]));break;case 19:this.$=$$[$0-1]|$$[$0]<<2;break;case 21:this.$=Diagram.LINETYPE.SOLID;break;case 22:this.$=Diagram.LINETYPE.DOTTED;break;case 23:this.$=Diagram.ARROWTYPE.FILLED;break;case 24:this.$=Diagram.ARROWTYPE.OPEN;break;case 25:this.$=Diagram.unescape($$[$0].substring(1))}},table:[o($V0,[2,2],{3:1,4:2}),{1:[3]},{5:[1,3],6:4,7:5,8:[1,6],9:[1,7],11:8,12:9,13:[1,10],15:[1,12],17:11,24:$V1},{1:[2,1]},o($V0,[2,3]),o($V0,[2,4]),o($V0,[2,5]),{10:14,24:[1,15]},o($V0,[2,7]),o($V0,[2,8]),{14:16,31:$V2},{23:18,25:19,27:[1,20],28:[1,21]},{16:22,18:[1,23],21:[1,24],22:[1,25]},o([20,27,28,31],[2,17]),o($V0,[2,6]),o($V0,[2,18]),o($V0,[2,9]),o($V0,[2,25]),{17:26,24:$V1},{24:[2,20],26:27,29:[1,28],30:[1,29]},o($V3,[2,21]),o($V3,[2,22]),{17:30,24:$V1},{17:32,19:31,24:$V1},{24:[2,14]},{24:[2,15]},{14:33,31:$V2},{24:[2,19]},{24:[2,23]},{24:[2,24]},{14:34,31:$V2},{14:35,31:$V2},{20:[1,36],31:[2,12]},o($V0,[2,16]),o($V0,[2,10]),o($V0,[2,11]),{17:37,24:$V1},{31:[2,13]}],defaultActions:{3:[2,1],24:[2,14],25:[2,15],27:[2,19],28:[2,23],29:[2,24],37:[2,13]},parseError:function(str,hash){if(!hash.recoverable)throw new Error(str);this.trace(str)},parse:function(input){function lex(){var token;return token=lexer.lex()||EOF,"number"!=typeof token&&(token=self.symbols_[token]||token),token}var self=this,stack=[0],vstack=[null],lstack=[],table=this.table,yytext="",yylineno=0,yyleng=0,recovering=0,TERROR=2,EOF=1,args=lstack.slice.call(arguments,1),lexer=Object.create(this.lexer),sharedState={yy:{}};for(var k in this.yy)Object.prototype.hasOwnProperty.call(this.yy,k)&&(sharedState.yy[k]=this.yy[k]);lexer.setInput(input,sharedState.yy),sharedState.yy.lexer=lexer,sharedState.yy.parser=this,"undefined"==typeof lexer.yylloc&&(lexer.yylloc={});var yyloc=lexer.yylloc;lstack.push(yyloc);var ranges=lexer.options&&lexer.options.ranges;"function"==typeof sharedState.yy.parseError?this.parseError=sharedState.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var symbol,preErrorSymbol,state,action,r,p,len,newState,expected,yyval={};;){if(state=stack[stack.length-1],this.defaultActions[state]?action=this.defaultActions[state]:(null!==symbol&&"undefined"!=typeof symbol||(symbol=lex()),action=table[state]&&table[state][symbol]),"undefined"==typeof action||!action.length||!action[0]){var errStr="";expected=[];for(p in table[state])this.terminals_[p]&&p>TERROR&&expected.push("'"+this.terminals_[p]+"'");errStr=lexer.showPosition?"Parse error on line "+(yylineno+1)+":\n"+lexer.showPosition()+"\nExpecting "+expected.join(", ")+", got '"+(this.terminals_[symbol]||symbol)+"'":"Parse error on line "+(yylineno+1)+": Unexpected "+(symbol==EOF?"end of input":"'"+(this.terminals_[symbol]||symbol)+"'"),this.parseError(errStr,{text:lexer.match,token:this.terminals_[symbol]||symbol,line:lexer.yylineno,loc:yyloc,expected:expected})}if(action[0]instanceof Array&&action.length>1)throw new Error("Parse Error: multiple actions possible at state: "+state+", token: "+symbol);switch(action[0]){case 1:stack.push(symbol),vstack.push(lexer.yytext),lstack.push(lexer.yylloc),stack.push(action[1]),symbol=null,preErrorSymbol?(symbol=preErrorSymbol,preErrorSymbol=null):(yyleng=lexer.yyleng,yytext=lexer.yytext,yylineno=lexer.yylineno,yyloc=lexer.yylloc,recovering>0&&recovering--);break;case 2:if(len=this.productions_[action[1]][1],yyval.$=vstack[vstack.length-len],yyval._$={first_line:lstack[lstack.length-(len||1)].first_line,last_line:lstack[lstack.length-1].last_line,first_column:lstack[lstack.length-(len||1)].first_column,last_column:lstack[lstack.length-1].last_column},ranges&&(yyval._$.range=[lstack[lstack.length-(len||1)].range[0],lstack[lstack.length-1].range[1]]),r=this.performAction.apply(yyval,[yytext,yyleng,yylineno,sharedState.yy,action[1],vstack,lstack].concat(args)),"undefined"!=typeof r)return r;len&&(stack=stack.slice(0,-1*len*2),vstack=vstack.slice(0,-1*len),lstack=lstack.slice(0,-1*len)),stack.push(this.productions_[action[1]][0]),vstack.push(yyval.$),lstack.push(yyval._$),newState=table[stack[stack.length-2]][stack[stack.length-1]],stack.push(newState);break;case 3:return!0}}return!0}},lexer=function(){var lexer={EOF:1,parseError:function(str,hash){if(!this.yy.parser)throw new Error(str);this.yy.parser.parseError(str,hash)},setInput:function(input,yy){return this.yy=yy||this.yy||{},this._input=input,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var ch=this._input[0];this.yytext+=ch,this.yyleng++,this.offset++,this.match+=ch,this.matched+=ch;var lines=ch.match(/(?:\r\n?|\n).*/g);return lines?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),ch},unput:function(ch){var len=ch.length,lines=ch.split(/(?:\r\n?|\n)/g);this._input=ch+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-len),this.offset-=len;var oldLines=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),lines.length-1&&(this.yylineno-=lines.length-1);var r=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:lines?(lines.length===oldLines.length?this.yylloc.first_column:0)+oldLines[oldLines.length-lines.length].length-lines[0].length:this.yylloc.first_column-len},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-len]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(n){this.unput(this.match.slice(n))},pastInput:function(){var past=this.matched.substr(0,this.matched.length-this.match.length);return(past.length>20?"...":"")+past.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var next=this.match;return next.length<20&&(next+=this._input.substr(0,20-next.length)),(next.substr(0,20)+(next.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var pre=this.pastInput(),c=new Array(pre.length+1).join("-");return pre+this.upcomingInput()+"\n"+c+"^"},test_match:function(match,indexed_rule){var token,lines,backup;if(this.options.backtrack_lexer&&(backup={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(backup.yylloc.range=this.yylloc.range.slice(0))),lines=match[0].match(/(?:\r\n?|\n).*/g),lines&&(this.yylineno+=lines.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:lines?lines[lines.length-1].length-lines[lines.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+match[0].length},this.yytext+=match[0],this.match+=match[0],this.matches=match,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(match[0].length),this.matched+=match[0],token=this.performAction.call(this,this.yy,this,indexed_rule,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),token)return token;if(this._backtrack){for(var k in backup)this[k]=backup[k];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var token,match,tempMatch,index;this._more||(this.yytext="",this.match="");for(var rules=this._currentRules(),i=0;imatch[0].length)){if(match=tempMatch,index=i,this.options.backtrack_lexer){if(token=this.test_match(tempMatch,rules[i]),token!==!1)return token;if(this._backtrack){match=!1;continue}return!1}if(!this.options.flex)break}return match?(token=this.test_match(match,rules[index]),token!==!1&&token):""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var r=this.next();return r?r:this.lex()},begin:function(condition){this.conditionStack.push(condition)},popState:function(){var n=this.conditionStack.length-1;return n>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(n){return n=this.conditionStack.length-1-Math.abs(n||0),n>=0?this.conditionStack[n]:"INITIAL"},pushState:function(condition){this.begin(condition)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(yy,yy_,$avoiding_name_collisions,YY_START){switch($avoiding_name_collisions){case 0:return 8;case 1:break;case 2:break;case 3:return 9;case 4:return 21;case 5:return 22;case 6:return 18;case 7:return 15;case 8:return 13;case 9:return 20;case 10:return 24;case 11:return 24;case 12:return 28;case 13:return 27;case 14:return 30;case 15:return 29;case 16:return 31;case 17:return 5;case 18:return"INVALID"}},rules:[/^(?:[\r\n]+)/i,/^(?:\s+)/i,/^(?:#[^\r\n]*)/i,/^(?:participant\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:,)/i,/^(?:[^\->:,\r\n"]+)/i,/^(?:"[^"]+")/i,/^(?:--)/i,/^(?:-)/i,/^(?:>>)/i,/^(?:>)/i,/^(?:[^\r\n]+)/i,/^(?:$)/i,/^(?:.)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18],inclusive:!0}}};return lexer}();return parser.lexer=lexer,Parser.prototype=parser,parser.Parser=Parser,new Parser}();"undefined"!=typeof require&&"undefined"!=typeof exports&&(exports.parser=parser,exports.Parser=parser.Parser,exports.parse=function(){return parser.parse.apply(parser,arguments)},exports.main=function(args){args[1]||(console.log("Usage: "+args[0]+" FILE"),process.exit(1));var source=require("fs").readFileSync(require("path").normalize(args[1]),"utf8");return exports.parser.parse(source)},"undefined"!=typeof module&&require.main===module&&exports.main(process.argv.slice(1))),ParseError.prototype=new Error,Diagram.ParseError=ParseError,Diagram.parse=function(input){parser.yy=new Diagram,parser.yy.parseError=function(message,hash){throw new ParseError(message,hash)};var diagram=parser.parse(input);return delete diagram.parseError,diagram};var DIAGRAM_MARGIN=10,ACTOR_MARGIN=10,ACTOR_PADDING=10,SIGNAL_MARGIN=5,SIGNAL_PADDING=5,NOTE_MARGIN=10,NOTE_PADDING=5,NOTE_OVERLAP=15,TITLE_MARGIN=0,TITLE_PADDING=5,SELF_SIGNAL_WIDTH=20,PLACEMENT=Diagram.PLACEMENT,LINETYPE=Diagram.LINETYPE,ARROWTYPE=Diagram.ARROWTYPE,ALIGN_LEFT=0,ALIGN_CENTER=1;AssertException.prototype.toString=function(){return"AssertException: "+this.message},String.prototype.trim||(String.prototype.trim=function(){return this.replace(/^\s+|\s+$/g,"")}),Diagram.themes={};var BaseTheme=function(diagram,options){this.init(diagram,options)};if(_.extend(BaseTheme.prototype,{init:function(diagram,options){this.diagram=diagram,this.actorsHeight_=0,this.signalsHeight_=0,this.title_=void 0},setupPaper:function(container){},draw:function(container){this.setupPaper(container),this.layout();var titleHeight=this.title_?this.title_.height:0,y=DIAGRAM_MARGIN+titleHeight;this.drawTitle(),this.drawActors(y),this.drawSignals(y+this.actorsHeight_)},layout:function(){function actorEnsureDistance(a,b,d){assert(a=actors.length?(a=actors[a],a.paddingRight=Math.max(d,a.paddingRight)):(a=actors[a],a.distances[b]=Math.max(d,a.distances[b]?a.distances[b]:0))}var diagram=this.diagram,font=this.font_,actors=diagram.actors,signals=diagram.signals;if(diagram.width=0,diagram.height=0,diagram.title){var title=this.title_={},bb=this.textBBox(diagram.title,font);title.textBB=bb,title.message=diagram.title,title.width=bb.width+2*(TITLE_PADDING+TITLE_MARGIN),title.height=bb.height+2*(TITLE_PADDING+TITLE_MARGIN),title.x=DIAGRAM_MARGIN,title.y=DIAGRAM_MARGIN,diagram.width+=title.width,diagram.height+=title.height}_.each(actors,function(a){var bb=this.textBBox(a.name,font);a.textBB=bb,a.x=0,a.y=0,a.width=bb.width+2*(ACTOR_PADDING+ACTOR_MARGIN),a.height=bb.height+2*(ACTOR_PADDING+ACTOR_MARGIN),a.distances=[],a.paddingRight=0,this.actorsHeight_=Math.max(a.height,this.actorsHeight_)},this),_.each(signals,function(s){var a,b,bb=this.textBBox(s.message,font);s.textBB=bb,s.width=bb.width,s.height=bb.height;var extraWidth=0;if("Signal"==s.type)s.width+=2*(SIGNAL_MARGIN+SIGNAL_PADDING),s.height+=2*(SIGNAL_MARGIN+SIGNAL_PADDING),s.isSelf()?(a=s.actorA.index,b=a+1,s.width+=SELF_SIGNAL_WIDTH):(a=Math.min(s.actorA.index,s.actorB.index),b=Math.max(s.actorA.index,s.actorB.index));else{if("Note"!=s.type)throw new Error("Unhandled signal type:"+s.type);if(s.width+=2*(NOTE_MARGIN+NOTE_PADDING),s.height+=2*(NOTE_MARGIN+NOTE_PADDING),extraWidth=2*ACTOR_MARGIN,s.placement==PLACEMENT.LEFTOF)b=s.actor.index,a=b-1;else if(s.placement==PLACEMENT.RIGHTOF)a=s.actor.index,b=a+1;else if(s.placement==PLACEMENT.OVER&&s.hasManyActors())a=Math.min(s.actor[0].index,s.actor[1].index),b=Math.max(s.actor[0].index,s.actor[1].index),extraWidth=-(2*NOTE_PADDING+2*NOTE_OVERLAP);else if(s.placement==PLACEMENT.OVER)return a=s.actor.index,actorEnsureDistance(a-1,a,s.width/2),actorEnsureDistance(a,a+1,s.width/2),void(this.signalsHeight_+=s.height)}actorEnsureDistance(a,b,s.width+extraWidth),this.signalsHeight_+=s.height},this);var actorsX=0;return _.each(actors,function(a){a.x=Math.max(actorsX,a.x),_.each(a.distances,function(distance,b){"undefined"!=typeof distance&&(b=actors[b],distance=Math.max(distance,a.width/2,b.width/2),b.x=Math.max(b.x,a.x+a.width/2+distance-b.width/2))}),actorsX=a.x+a.width+a.paddingRight},this),diagram.width=Math.max(actorsX,diagram.width),diagram.width+=2*DIAGRAM_MARGIN,diagram.height+=2*DIAGRAM_MARGIN+2*this.actorsHeight_+this.signalsHeight_,this},textBBox:function(text,font){},drawTitle:function(){var title=this.title_;title&&this.drawTextBox(title,title.message,TITLE_MARGIN,TITLE_PADDING,this.font_,ALIGN_LEFT)},drawActors:function(offsetY){var y=offsetY;_.each(this.diagram.actors,function(a){this.drawActor(a,y,this.actorsHeight_),this.drawActor(a,y+this.actorsHeight_+this.signalsHeight_,this.actorsHeight_);var aX=getCenterX(a);this.drawLine(aX,y+this.actorsHeight_-ACTOR_MARGIN,aX,y+this.actorsHeight_+ACTOR_MARGIN+this.signalsHeight_)},this)},drawActor:function(actor,offsetY,height){actor.y=offsetY,actor.height=height,this.drawTextBox(actor,actor.name,ACTOR_MARGIN,ACTOR_PADDING,this.font_,ALIGN_CENTER)},drawSignals:function(offsetY){var y=offsetY;_.each(this.diagram.signals,function(s){"Signal"==s.type?s.isSelf()?this.drawSelfSignal(s,y):this.drawSignal(s,y):"Note"==s.type&&this.drawNote(s,y),y+=s.height},this)},drawSelfSignal:function(signal,offsetY){assert(signal.isSelf(),"signal must be a self signal");var textBB=signal.textBB,aX=getCenterX(signal.actorA),x=aX+SELF_SIGNAL_WIDTH+SIGNAL_PADDING,y=offsetY+SIGNAL_PADDING+signal.height/2+textBB.y;this.drawText(x,y,signal.message,this.font_,ALIGN_LEFT);var y1=offsetY+SIGNAL_MARGIN+SIGNAL_PADDING,y2=y1+signal.height-2*SIGNAL_MARGIN-SIGNAL_PADDING;this.drawLine(aX,y1,aX+SELF_SIGNAL_WIDTH,y1,signal.linetype),this.drawLine(aX+SELF_SIGNAL_WIDTH,y1,aX+SELF_SIGNAL_WIDTH,y2,signal.linetype),this.drawLine(aX+SELF_SIGNAL_WIDTH,y2,aX,y2,signal.linetype,signal.arrowtype)},drawSignal:function(signal,offsetY){var aX=getCenterX(signal.actorA),bX=getCenterX(signal.actorB),x=(bX-aX)/2+aX,y=offsetY+SIGNAL_MARGIN+2*SIGNAL_PADDING;this.drawText(x,y,signal.message,this.font_,ALIGN_CENTER),y=offsetY+signal.height-SIGNAL_MARGIN-SIGNAL_PADDING,this.drawLine(aX,y,bX,y,signal.linetype,signal.arrowtype)},drawNote:function(note,offsetY){note.y=offsetY;var actorA=note.hasManyActors()?note.actor[0]:note.actor,aX=getCenterX(actorA);switch(note.placement){case PLACEMENT.RIGHTOF:note.x=aX+ACTOR_MARGIN;break;case PLACEMENT.LEFTOF:note.x=aX-ACTOR_MARGIN-note.width;break;case PLACEMENT.OVER:if(note.hasManyActors()){var bX=getCenterX(note.actor[1]),overlap=NOTE_OVERLAP+NOTE_PADDING;note.x=Math.min(aX,bX)-overlap,note.width=Math.max(aX,bX)+overlap-note.x}else note.x=aX-note.width/2;break;default:throw new Error("Unhandled note placement: "+note.placement)}return this.drawTextBox(note,note.message,NOTE_MARGIN,NOTE_PADDING,this.font_,ALIGN_LEFT)},drawTextBox:function(box,text,margin,padding,font,align){var x=box.x+margin,y=box.y+margin,w=box.width-2*margin,h=box.height-2*margin;return this.drawRect(x,y,w,h),align==ALIGN_CENTER?(x=getCenterX(box),y=getCenterY(box)):(x+=padding,y+=padding),this.drawText(x,y,text,font,align)}}),"undefined"!=typeof Snap){var xmlns="http://www.w3.org/2000/svg",LINE={stroke:"#000000","stroke-width":2,fill:"none"},RECT={stroke:"#000000","stroke-width":2,fill:"#fff"},LOADED_FONTS={},SnapTheme=function(diagram,options,resume){_.defaults(options,{"css-class":"simple","font-size":16,"font-family":"Andale Mono, monospace"}),this.init(diagram,options,resume)};_.extend(SnapTheme.prototype,BaseTheme.prototype,{init:function(diagram,options,resume){BaseTheme.prototype.init.call(this,diagram),this.paper_=void 0,this.cssClass_=options["css-class"]||void 0,this.font_={"font-size":options["font-size"],"font-family":options["font-family"]};var a=this.arrowTypes_={};a[ARROWTYPE.FILLED]="Block",a[ARROWTYPE.OPEN]="Open";var l=this.lineTypes_={};l[LINETYPE.SOLID]="",l[LINETYPE.DOTTED]="6,2";var that=this;this.waitForFont(function(){resume(that)})},waitForFont:function(callback){var fontFamily=this.font_["font-family"];if("undefined"==typeof WebFont)throw new Error("WebFont is required (https://github.com/typekit/webfontloader).");return LOADED_FONTS[fontFamily]?void callback():void WebFont.load({custom:{families:[fontFamily]},classes:!1,active:function(){LOADED_FONTS[fontFamily]=!0,callback()},inactive:function(){LOADED_FONTS[fontFamily]=!0,callback()}})},addDescription:function(svg,description){var desc=document.createElementNS(xmlns,"desc");desc.appendChild(document.createTextNode(description)),svg.appendChild(desc)},setupPaper:function(container){var svg=document.createElementNS(xmlns,"svg");container.appendChild(svg),this.addDescription(svg,this.diagram.title||""),this.paper_=Snap(svg),this.paper_.addClass("sequence"),this.cssClass_&&this.paper_.addClass(this.cssClass_),this.beginGroup();var a=this.arrowMarkers_={},arrow=this.paper_.path("M 0 0 L 5 2.5 L 0 5 z");a[ARROWTYPE.FILLED]=arrow.marker(0,0,5,5,5,2.5).attr({id:"markerArrowBlock"}),arrow=this.paper_.path("M 9.6,8 1.92,16 0,13.7 5.76,8 0,2.286 1.92,0 9.6,8 z"),a[ARROWTYPE.OPEN]=arrow.marker(0,0,9.6,16,9.6,8).attr({markerWidth:"4",id:"markerArrowOpen"})},layout:function(){BaseTheme.prototype.layout.call(this),this.paper_.attr({width:this.diagram.width+"px",height:this.diagram.height+"px"})},textBBox:function(text,font){var t=this.createText(text,font),bb=t.getBBox();return t.remove(),bb},pushToStack:function(element){return this._stack.push(element),element},beginGroup:function(){this._stack=[]},finishGroup:function(){var g=this.paper_.group.apply(this.paper_,this._stack);return this.beginGroup(),g},createText:function(text,font){text=_.invoke(text.split("\n"),"trim");var t=this.paper_.text(0,0,text);return t.attr(font||{}),text.length>1&&t.selectAll("tspan:nth-child(n+2)").attr({dy:"1.2em",x:0}),t},drawLine:function(x1,y1,x2,y2,linetype,arrowhead){var line=this.paper_.line(x1,y1,x2,y2).attr(LINE);return void 0!==linetype&&line.attr("strokeDasharray",this.lineTypes_[linetype]),void 0!==arrowhead&&line.attr("markerEnd",this.arrowMarkers_[arrowhead]),this.pushToStack(line)},drawRect:function(x,y,w,h){var rect=this.paper_.rect(x,y,w,h).attr(RECT);return this.pushToStack(rect)},drawText:function(x,y,text,font,align){var t=this.createText(text,font),bb=t.getBBox();return align==ALIGN_CENTER&&(x-=bb.width/2,y-=bb.height/2),t.attr({x:x-bb.x,y:y-bb.y}),t.selectAll("tspan").attr({x:x}),this.pushToStack(t),t},drawTitle:function(){return this.beginGroup(),BaseTheme.prototype.drawTitle.call(this),this.finishGroup().addClass("title")},drawActor:function(actor,offsetY,height){return this.beginGroup(),BaseTheme.prototype.drawActor.call(this,actor,offsetY,height),this.finishGroup().addClass("actor")},drawSignal:function(signal,offsetY){return this.beginGroup(),BaseTheme.prototype.drawSignal.call(this,signal,offsetY),this.finishGroup().addClass("signal")},drawSelfSignal:function(signal,offsetY){return this.beginGroup(),BaseTheme.prototype.drawSelfSignal.call(this,signal,offsetY),this.finishGroup().addClass("signal")},drawNote:function(note,offsetY){return this.beginGroup(),BaseTheme.prototype.drawNote.call(this,note,offsetY),this.finishGroup().addClass("note")}});var SnapHandTheme=function(diagram,options,resume){_.defaults(options,{"css-class":"hand","font-size":16,"font-family":"danielbd"}),this.init(diagram,options,resume)};_.extend(SnapHandTheme.prototype,SnapTheme.prototype,{drawLine:function(x1,y1,x2,y2,linetype,arrowhead){var line=this.paper_.path(handLine(x1,y1,x2,y2)).attr(LINE);return void 0!==linetype&&line.attr("strokeDasharray",this.lineTypes_[linetype]),void 0!==arrowhead&&line.attr("markerEnd",this.arrowMarkers_[arrowhead]),this.pushToStack(line)},drawRect:function(x,y,w,h){var rect=this.paper_.path(handRect(x,y,w,h)).attr(RECT);return this.pushToStack(rect)}}),registerTheme("snapSimple",SnapTheme),registerTheme("snapHand",SnapHandTheme)}if("undefined"==typeof Raphael&&"undefined"==typeof Snap)throw new Error("Raphael or Snap.svg is required to be included.");if(_.isEmpty(Diagram.themes))throw new Error("No themes were registered. Please call registerTheme(...).");Diagram.themes.hand=Diagram.themes.snapHand||Diagram.themes.raphaelHand,Diagram.themes.simple=Diagram.themes.snapSimple||Diagram.themes.raphaelSimple,Diagram.prototype.drawSVG=function(container,options){var defaultOptions={theme:"hand"};if(options=_.defaults(options||{},defaultOptions),!(options.theme in Diagram.themes))throw new Error("Unsupported theme: "+options.theme);var div=_.isString(container)?document.getElementById(container):container;if(null===div||!div.tagName)throw new Error("Invalid container: "+container);var Theme=Diagram.themes[options.theme];new Theme(this,options,function(drawing){drawing.draw(div)})},"undefined"!=typeof jQuery&&!function($){$.fn.sequenceDiagram=function(options){return this.each(function(){var $this=$(this),diagram=Diagram.parse($this.text());$this.html(""),diagram.drawSVG(this,options)})}}(jQuery);var root="object"==typeof self&&self.self==self&&self||"object"==typeof global&&global.global==global&&global;"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=Diagram),exports.Diagram=Diagram):root.Diagram=Diagram}(); //# sourceMappingURL=sequence-diagram-snap.js ================================================ FILE: dist/sequence-diagram-snap.js ================================================ /** js sequence diagrams 2.0.1 * https://bramp.github.io/js-sequence-diagrams/ * (c) 2012-2017 Andrew Brampton (bramp.net) * @license Simplified BSD license. */ (function() { 'use strict'; /*global Diagram */ // The following are included by preprocessor */ /** js sequence diagrams * https://bramp.github.io/js-sequence-diagrams/ * (c) 2012-2017 Andrew Brampton (bramp.net) * Simplified BSD license. */ /*global grammar _ */ function Diagram() { this.title = undefined; this.actors = []; this.signals = []; } /* * Return an existing actor with this alias, or creates a new one with alias and name. */ Diagram.prototype.getActor = function(alias, name) { alias = alias.trim(); var i; var actors = this.actors; for (i in actors) { if (actors[i].alias == alias) { return actors[i]; } } i = actors.push(new Diagram.Actor(alias, (name || alias), actors.length)); return actors[ i - 1 ]; }; /* * Parses the input as either a alias, or a "name as alias", and returns the corresponding actor. */ Diagram.prototype.getActorWithAlias = function(input) { input = input.trim(); // We are lazy and do some of the parsing in javascript :(. TODO move into the .jison file. var s = /([\s\S]+) as (\S+)$/im.exec(input); var alias; var name; if (s) { name = s[1].trim(); alias = s[2].trim(); } else { name = alias = input; } return this.getActor(alias, name); }; Diagram.prototype.setTitle = function(title) { this.title = title; }; Diagram.prototype.addSignal = function(signal) { this.signals.push(signal); }; Diagram.Actor = function(alias, name, index) { this.alias = alias; this.name = name; this.index = index; }; Diagram.Signal = function(actorA, signaltype, actorB, message) { this.type = 'Signal'; this.actorA = actorA; this.actorB = actorB; this.linetype = signaltype & 3; this.arrowtype = (signaltype >> 2) & 3; this.message = message; }; Diagram.Signal.prototype.isSelf = function() { return this.actorA.index == this.actorB.index; }; Diagram.Note = function(actor, placement, message) { this.type = 'Note'; this.actor = actor; this.placement = placement; this.message = message; if (this.hasManyActors() && actor[0] == actor[1]) { throw new Error('Note should be over two different actors'); } }; Diagram.Note.prototype.hasManyActors = function() { return _.isArray(this.actor); }; Diagram.unescape = function(s) { // Turn "\\n" into "\n" return s.trim().replace(/^"(.*)"$/m, '$1').replace(/\\n/gm, '\n'); }; Diagram.LINETYPE = { SOLID: 0, DOTTED: 1 }; Diagram.ARROWTYPE = { FILLED: 0, OPEN: 1 }; Diagram.PLACEMENT = { LEFTOF: 0, RIGHTOF: 1, OVER: 2 }; // Some older browsers don't have getPrototypeOf, thus we polyfill it // https://github.com/bramp/js-sequence-diagrams/issues/57 // https://github.com/zaach/jison/issues/194 // Taken from http://ejohn.org/blog/objectgetprototypeof/ if (typeof Object.getPrototypeOf !== 'function') { /* jshint -W103 */ if (typeof 'test'.__proto__ === 'object') { Object.getPrototypeOf = function(object) { return object.__proto__; }; } else { Object.getPrototypeOf = function(object) { // May break if the constructor has been tampered with return object.constructor.prototype; }; } /* jshint +W103 */ } /** The following is included by preprocessor */ /* parser generated by jison 0.4.15 */ /* Returns a Parser object of the following structure: Parser: { yy: {} } Parser.prototype: { yy: {}, trace: function(), symbols_: {associative list: name ==> number}, terminals_: {associative list: number ==> name}, productions_: [...], performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$), table: [...], defaultActions: {...}, parseError: function(str, hash), parse: function(input), lexer: { EOF: 1, parseError: function(str, hash), setInput: function(input), input: function(), unput: function(str), more: function(), less: function(n), pastInput: function(), upcomingInput: function(), showPosition: function(), test_match: function(regex_match_array, rule_index), next: function(), lex: function(), begin: function(condition), popState: function(), _currentRules: function(), topState: function(), pushState: function(condition), options: { ranges: boolean (optional: true ==> token location info will include a .range[] member) flex: boolean (optional: true ==> flex-like lexing behaviour where the rules are tested exhaustively to find the longest match) backtrack_lexer: boolean (optional: true ==> lexer regexes are tested in order and for each matching regex the action code is invoked; the lexer terminates the scan when a token is returned by the action code) }, performAction: function(yy, yy_, $avoiding_name_collisions, YY_START), rules: [...], conditions: {associative list: name ==> set}, } } token location info (@$, _$, etc.): { first_line: n, last_line: n, first_column: n, last_column: n, range: [start_number, end_number] (where the numbers are indexes into the input string, regular zero-based) } the parseError function receives a 'hash' object with these members for lexer and parser errors: { text: (matched text) token: (the produced terminal token, if any) line: (yylineno) } while parser (grammar) errors will also provide these members, i.e. parser errors deliver a superset of attributes: { loc: (yylloc) expected: (string describing the set of expected tokens) recoverable: (boolean: TRUE when the parser has a error recovery rule available for this particular error) } */ var parser = function() { function Parser() { this.yy = {}; } var o = function(k, v, o, l) { for (o = o || {}, l = k.length; l--; o[k[l]] = v) ; return o; }, $V0 = [ 5, 8, 9, 13, 15, 24 ], $V1 = [ 1, 13 ], $V2 = [ 1, 17 ], $V3 = [ 24, 29, 30 ], parser = { trace: function() {}, yy: {}, symbols_: { error: 2, start: 3, document: 4, EOF: 5, line: 6, statement: 7, NL: 8, participant: 9, actor_alias: 10, signal: 11, note_statement: 12, title: 13, message: 14, note: 15, placement: 16, actor: 17, over: 18, actor_pair: 19, ",": 20, left_of: 21, right_of: 22, signaltype: 23, ACTOR: 24, linetype: 25, arrowtype: 26, LINE: 27, DOTLINE: 28, ARROW: 29, OPENARROW: 30, MESSAGE: 31, $accept: 0, $end: 1 }, terminals_: { 2: "error", 5: "EOF", 8: "NL", 9: "participant", 13: "title", 15: "note", 18: "over", 20: ",", 21: "left_of", 22: "right_of", 24: "ACTOR", 27: "LINE", 28: "DOTLINE", 29: "ARROW", 30: "OPENARROW", 31: "MESSAGE" }, productions_: [ 0, [ 3, 2 ], [ 4, 0 ], [ 4, 2 ], [ 6, 1 ], [ 6, 1 ], [ 7, 2 ], [ 7, 1 ], [ 7, 1 ], [ 7, 2 ], [ 12, 4 ], [ 12, 4 ], [ 19, 1 ], [ 19, 3 ], [ 16, 1 ], [ 16, 1 ], [ 11, 4 ], [ 17, 1 ], [ 10, 1 ], [ 23, 2 ], [ 23, 1 ], [ 25, 1 ], [ 25, 1 ], [ 26, 1 ], [ 26, 1 ], [ 14, 1 ] ], performAction: function(yytext, yyleng, yylineno, yy, yystate, $$, _$) { /* this == yyval */ var $0 = $$.length - 1; switch (yystate) { case 1: return yy.parser.yy; case 4: break; case 6: $$[$0]; break; case 7: case 8: yy.parser.yy.addSignal($$[$0]); break; case 9: yy.parser.yy.setTitle($$[$0]); break; case 10: this.$ = new Diagram.Note($$[$0 - 1], $$[$0 - 2], $$[$0]); break; case 11: this.$ = new Diagram.Note($$[$0 - 1], Diagram.PLACEMENT.OVER, $$[$0]); break; case 12: case 20: this.$ = $$[$0]; break; case 13: this.$ = [ $$[$0 - 2], $$[$0] ]; break; case 14: this.$ = Diagram.PLACEMENT.LEFTOF; break; case 15: this.$ = Diagram.PLACEMENT.RIGHTOF; break; case 16: this.$ = new Diagram.Signal($$[$0 - 3], $$[$0 - 2], $$[$0 - 1], $$[$0]); break; case 17: this.$ = yy.parser.yy.getActor(Diagram.unescape($$[$0])); break; case 18: this.$ = yy.parser.yy.getActorWithAlias(Diagram.unescape($$[$0])); break; case 19: this.$ = $$[$0 - 1] | $$[$0] << 2; break; case 21: this.$ = Diagram.LINETYPE.SOLID; break; case 22: this.$ = Diagram.LINETYPE.DOTTED; break; case 23: this.$ = Diagram.ARROWTYPE.FILLED; break; case 24: this.$ = Diagram.ARROWTYPE.OPEN; break; case 25: this.$ = Diagram.unescape($$[$0].substring(1)); } }, table: [ o($V0, [ 2, 2 ], { 3: 1, 4: 2 }), { 1: [ 3 ] }, { 5: [ 1, 3 ], 6: 4, 7: 5, 8: [ 1, 6 ], 9: [ 1, 7 ], 11: 8, 12: 9, 13: [ 1, 10 ], 15: [ 1, 12 ], 17: 11, 24: $V1 }, { 1: [ 2, 1 ] }, o($V0, [ 2, 3 ]), o($V0, [ 2, 4 ]), o($V0, [ 2, 5 ]), { 10: 14, 24: [ 1, 15 ] }, o($V0, [ 2, 7 ]), o($V0, [ 2, 8 ]), { 14: 16, 31: $V2 }, { 23: 18, 25: 19, 27: [ 1, 20 ], 28: [ 1, 21 ] }, { 16: 22, 18: [ 1, 23 ], 21: [ 1, 24 ], 22: [ 1, 25 ] }, o([ 20, 27, 28, 31 ], [ 2, 17 ]), o($V0, [ 2, 6 ]), o($V0, [ 2, 18 ]), o($V0, [ 2, 9 ]), o($V0, [ 2, 25 ]), { 17: 26, 24: $V1 }, { 24: [ 2, 20 ], 26: 27, 29: [ 1, 28 ], 30: [ 1, 29 ] }, o($V3, [ 2, 21 ]), o($V3, [ 2, 22 ]), { 17: 30, 24: $V1 }, { 17: 32, 19: 31, 24: $V1 }, { 24: [ 2, 14 ] }, { 24: [ 2, 15 ] }, { 14: 33, 31: $V2 }, { 24: [ 2, 19 ] }, { 24: [ 2, 23 ] }, { 24: [ 2, 24 ] }, { 14: 34, 31: $V2 }, { 14: 35, 31: $V2 }, { 20: [ 1, 36 ], 31: [ 2, 12 ] }, o($V0, [ 2, 16 ]), o($V0, [ 2, 10 ]), o($V0, [ 2, 11 ]), { 17: 37, 24: $V1 }, { 31: [ 2, 13 ] } ], defaultActions: { 3: [ 2, 1 ], 24: [ 2, 14 ], 25: [ 2, 15 ], 27: [ 2, 19 ], 28: [ 2, 23 ], 29: [ 2, 24 ], 37: [ 2, 13 ] }, parseError: function(str, hash) { if (!hash.recoverable) throw new Error(str); this.trace(str); }, parse: function(input) { function lex() { var token; return token = lexer.lex() || EOF, "number" != typeof token && (token = self.symbols_[token] || token), token; } var self = this, stack = [ 0 ], vstack = [ null ], lstack = [], table = this.table, yytext = "", yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1, args = lstack.slice.call(arguments, 1), lexer = Object.create(this.lexer), sharedState = { yy: {} }; for (var k in this.yy) Object.prototype.hasOwnProperty.call(this.yy, k) && (sharedState.yy[k] = this.yy[k]); lexer.setInput(input, sharedState.yy), sharedState.yy.lexer = lexer, sharedState.yy.parser = this, "undefined" == typeof lexer.yylloc && (lexer.yylloc = {}); var yyloc = lexer.yylloc; lstack.push(yyloc); var ranges = lexer.options && lexer.options.ranges; "function" == typeof sharedState.yy.parseError ? this.parseError = sharedState.yy.parseError : this.parseError = Object.getPrototypeOf(this).parseError; for (var symbol, preErrorSymbol, state, action, r, p, len, newState, expected, yyval = {}; ;) { if (state = stack[stack.length - 1], this.defaultActions[state] ? action = this.defaultActions[state] : (null !== symbol && "undefined" != typeof symbol || (symbol = lex()), action = table[state] && table[state][symbol]), "undefined" == typeof action || !action.length || !action[0]) { var errStr = ""; expected = []; for (p in table[state]) this.terminals_[p] && p > TERROR && expected.push("'" + this.terminals_[p] + "'"); errStr = lexer.showPosition ? "Parse error on line " + (yylineno + 1) + ":\n" + lexer.showPosition() + "\nExpecting " + expected.join(", ") + ", got '" + (this.terminals_[symbol] || symbol) + "'" : "Parse error on line " + (yylineno + 1) + ": Unexpected " + (symbol == EOF ? "end of input" : "'" + (this.terminals_[symbol] || symbol) + "'"), this.parseError(errStr, { text: lexer.match, token: this.terminals_[symbol] || symbol, line: lexer.yylineno, loc: yyloc, expected: expected }); } if (action[0] instanceof Array && action.length > 1) throw new Error("Parse Error: multiple actions possible at state: " + state + ", token: " + symbol); switch (action[0]) { case 1: stack.push(symbol), vstack.push(lexer.yytext), lstack.push(lexer.yylloc), stack.push(action[1]), symbol = null, preErrorSymbol ? (symbol = preErrorSymbol, preErrorSymbol = null) : (yyleng = lexer.yyleng, yytext = lexer.yytext, yylineno = lexer.yylineno, yyloc = lexer.yylloc, recovering > 0 && recovering--); break; case 2: if (len = this.productions_[action[1]][1], yyval.$ = vstack[vstack.length - len], yyval._$ = { first_line: lstack[lstack.length - (len || 1)].first_line, last_line: lstack[lstack.length - 1].last_line, first_column: lstack[lstack.length - (len || 1)].first_column, last_column: lstack[lstack.length - 1].last_column }, ranges && (yyval._$.range = [ lstack[lstack.length - (len || 1)].range[0], lstack[lstack.length - 1].range[1] ]), r = this.performAction.apply(yyval, [ yytext, yyleng, yylineno, sharedState.yy, action[1], vstack, lstack ].concat(args)), "undefined" != typeof r) return r; len && (stack = stack.slice(0, -1 * len * 2), vstack = vstack.slice(0, -1 * len), lstack = lstack.slice(0, -1 * len)), stack.push(this.productions_[action[1]][0]), vstack.push(yyval.$), lstack.push(yyval._$), newState = table[stack[stack.length - 2]][stack[stack.length - 1]], stack.push(newState); break; case 3: return !0; } } return !0; } }, lexer = function() { var lexer = { EOF: 1, parseError: function(str, hash) { if (!this.yy.parser) throw new Error(str); this.yy.parser.parseError(str, hash); }, // resets the lexer, sets new input setInput: function(input, yy) { return this.yy = yy || this.yy || {}, this._input = input, this._more = this._backtrack = this.done = !1, this.yylineno = this.yyleng = 0, this.yytext = this.matched = this.match = "", this.conditionStack = [ "INITIAL" ], this.yylloc = { first_line: 1, first_column: 0, last_line: 1, last_column: 0 }, this.options.ranges && (this.yylloc.range = [ 0, 0 ]), this.offset = 0, this; }, // consumes and returns one char from the input input: function() { var ch = this._input[0]; this.yytext += ch, this.yyleng++, this.offset++, this.match += ch, this.matched += ch; var lines = ch.match(/(?:\r\n?|\n).*/g); return lines ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, this.options.ranges && this.yylloc.range[1]++, this._input = this._input.slice(1), ch; }, // unshifts one char (or a string) into the input unput: function(ch) { var len = ch.length, lines = ch.split(/(?:\r\n?|\n)/g); this._input = ch + this._input, this.yytext = this.yytext.substr(0, this.yytext.length - len), //this.yyleng -= len; this.offset -= len; var oldLines = this.match.split(/(?:\r\n?|\n)/g); this.match = this.match.substr(0, this.match.length - 1), this.matched = this.matched.substr(0, this.matched.length - 1), lines.length - 1 && (this.yylineno -= lines.length - 1); var r = this.yylloc.range; return this.yylloc = { first_line: this.yylloc.first_line, last_line: this.yylineno + 1, first_column: this.yylloc.first_column, last_column: lines ? (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length : this.yylloc.first_column - len }, this.options.ranges && (this.yylloc.range = [ r[0], r[0] + this.yyleng - len ]), this.yyleng = this.yytext.length, this; }, // When called from action, caches matched text and appends it on next action more: function() { return this._more = !0, this; }, // When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead. reject: function() { return this.options.backtrack_lexer ? (this._backtrack = !0, this) : this.parseError("Lexical error on line " + (this.yylineno + 1) + ". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n" + this.showPosition(), { text: "", token: null, line: this.yylineno }); }, // retain first n characters of the match less: function(n) { this.unput(this.match.slice(n)); }, // displays already matched input, i.e. for error messages pastInput: function() { var past = this.matched.substr(0, this.matched.length - this.match.length); return (past.length > 20 ? "..." : "") + past.substr(-20).replace(/\n/g, ""); }, // displays upcoming input, i.e. for error messages upcomingInput: function() { var next = this.match; return next.length < 20 && (next += this._input.substr(0, 20 - next.length)), (next.substr(0, 20) + (next.length > 20 ? "..." : "")).replace(/\n/g, ""); }, // displays the character position where the lexing error occurred, i.e. for error messages showPosition: function() { var pre = this.pastInput(), c = new Array(pre.length + 1).join("-"); return pre + this.upcomingInput() + "\n" + c + "^"; }, // test the lexed token: return FALSE when not a match, otherwise return token test_match: function(match, indexed_rule) { var token, lines, backup; if (this.options.backtrack_lexer && (// save context backup = { yylineno: this.yylineno, yylloc: { first_line: this.yylloc.first_line, last_line: this.last_line, first_column: this.yylloc.first_column, last_column: this.yylloc.last_column }, yytext: this.yytext, match: this.match, matches: this.matches, matched: this.matched, yyleng: this.yyleng, offset: this.offset, _more: this._more, _input: this._input, yy: this.yy, conditionStack: this.conditionStack.slice(0), done: this.done }, this.options.ranges && (backup.yylloc.range = this.yylloc.range.slice(0))), lines = match[0].match(/(?:\r\n?|\n).*/g), lines && (this.yylineno += lines.length), this.yylloc = { first_line: this.yylloc.last_line, last_line: this.yylineno + 1, first_column: this.yylloc.last_column, last_column: lines ? lines[lines.length - 1].length - lines[lines.length - 1].match(/\r?\n?/)[0].length : this.yylloc.last_column + match[0].length }, this.yytext += match[0], this.match += match[0], this.matches = match, this.yyleng = this.yytext.length, this.options.ranges && (this.yylloc.range = [ this.offset, this.offset += this.yyleng ]), this._more = !1, this._backtrack = !1, this._input = this._input.slice(match[0].length), this.matched += match[0], token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]), this.done && this._input && (this.done = !1), token) return token; if (this._backtrack) { // recover context for (var k in backup) this[k] = backup[k]; return !1; } return !1; }, // return next match in input next: function() { if (this.done) return this.EOF; this._input || (this.done = !0); var token, match, tempMatch, index; this._more || (this.yytext = "", this.match = ""); for (var rules = this._currentRules(), i = 0; i < rules.length; i++) if (tempMatch = this._input.match(this.rules[rules[i]]), tempMatch && (!match || tempMatch[0].length > match[0].length)) { if (match = tempMatch, index = i, this.options.backtrack_lexer) { if (token = this.test_match(tempMatch, rules[i]), token !== !1) return token; if (this._backtrack) { match = !1; continue; } // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace) return !1; } if (!this.options.flex) break; } return match ? (token = this.test_match(match, rules[index]), token !== !1 && token) : "" === this._input ? this.EOF : this.parseError("Lexical error on line " + (this.yylineno + 1) + ". Unrecognized text.\n" + this.showPosition(), { text: "", token: null, line: this.yylineno }); }, // return next match that has a token lex: function() { var r = this.next(); return r ? r : this.lex(); }, // activates a new lexer condition state (pushes the new lexer condition state onto the condition stack) begin: function(condition) { this.conditionStack.push(condition); }, // pop the previously active lexer condition state off the condition stack popState: function() { var n = this.conditionStack.length - 1; return n > 0 ? this.conditionStack.pop() : this.conditionStack[0]; }, // produce the lexer rule set which is active for the currently active lexer condition state _currentRules: function() { return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules : this.conditions.INITIAL.rules; }, // return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available topState: function(n) { return n = this.conditionStack.length - 1 - Math.abs(n || 0), n >= 0 ? this.conditionStack[n] : "INITIAL"; }, // alias for begin(condition) pushState: function(condition) { this.begin(condition); }, // return the number of states currently on the stack stateStackSize: function() { return this.conditionStack.length; }, options: { "case-insensitive": !0 }, performAction: function(yy, yy_, $avoiding_name_collisions, YY_START) { switch ($avoiding_name_collisions) { case 0: return 8; case 1: /* skip whitespace */ break; case 2: /* skip comments */ break; case 3: return 9; case 4: return 21; case 5: return 22; case 6: return 18; case 7: return 15; case 8: return 13; case 9: return 20; case 10: return 24; case 11: return 24; case 12: return 28; case 13: return 27; case 14: return 30; case 15: return 29; case 16: return 31; case 17: return 5; case 18: return "INVALID"; } }, rules: [ /^(?:[\r\n]+)/i, /^(?:\s+)/i, /^(?:#[^\r\n]*)/i, /^(?:participant\b)/i, /^(?:left of\b)/i, /^(?:right of\b)/i, /^(?:over\b)/i, /^(?:note\b)/i, /^(?:title\b)/i, /^(?:,)/i, /^(?:[^\->:,\r\n"]+)/i, /^(?:"[^"]+")/i, /^(?:--)/i, /^(?:-)/i, /^(?:>>)/i, /^(?:>)/i, /^(?:[^\r\n]+)/i, /^(?:$)/i, /^(?:.)/i ], conditions: { INITIAL: { rules: [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18 ], inclusive: !0 } } }; return lexer; }(); return parser.lexer = lexer, Parser.prototype = parser, parser.Parser = Parser, new Parser(); }(); "undefined" != typeof require && "undefined" != typeof exports && (exports.parser = parser, exports.Parser = parser.Parser, exports.parse = function() { return parser.parse.apply(parser, arguments); }, exports.main = function(args) { args[1] || (console.log("Usage: " + args[0] + " FILE"), process.exit(1)); var source = require("fs").readFileSync(require("path").normalize(args[1]), "utf8"); return exports.parser.parse(source); }, "undefined" != typeof module && require.main === module && exports.main(process.argv.slice(1))); /** * jison doesn't have a good exception, so we make one. * This is brittle as it depends on jison internals */ function ParseError(message, hash) { _.extend(this, hash); this.name = 'ParseError'; this.message = (message || ''); } ParseError.prototype = new Error(); Diagram.ParseError = ParseError; Diagram.parse = function(input) { // TODO jison v0.4.17 changed their API slightly, so parser is no longer defined: // Create the object to track state and deal with errors parser.yy = new Diagram(); parser.yy.parseError = function(message, hash) { throw new ParseError(message, hash); }; // Parse var diagram = parser.parse(input); // Then clean up the parseError key that a user won't care about delete diagram.parseError; return diagram; }; /** js sequence diagrams * https://bramp.github.io/js-sequence-diagrams/ * (c) 2012-2017 Andrew Brampton (bramp.net) * Simplified BSD license. */ /*global Diagram, _ */ // Following the CSS convention // Margin is the gap outside the box // Padding is the gap inside the box // Each object has x/y/width/height properties // The x/y should be top left corner // width/height is with both margin and padding // TODO // Image width is wrong, when there is a note in the right hand col // Title box could look better // Note box could look better var DIAGRAM_MARGIN = 10; var ACTOR_MARGIN = 10; // Margin around a actor var ACTOR_PADDING = 10; // Padding inside a actor var SIGNAL_MARGIN = 5; // Margin around a signal var SIGNAL_PADDING = 5; // Padding inside a signal var NOTE_MARGIN = 10; // Margin around a note var NOTE_PADDING = 5; // Padding inside a note var NOTE_OVERLAP = 15; // Overlap when using a "note over A,B" var TITLE_MARGIN = 0; var TITLE_PADDING = 5; var SELF_SIGNAL_WIDTH = 20; // How far out a self signal goes var PLACEMENT = Diagram.PLACEMENT; var LINETYPE = Diagram.LINETYPE; var ARROWTYPE = Diagram.ARROWTYPE; var ALIGN_LEFT = 0; var ALIGN_CENTER = 1; function AssertException(message) { this.message = message; } AssertException.prototype.toString = function() { return 'AssertException: ' + this.message; }; function assert(exp, message) { if (!exp) { throw new AssertException(message); } } if (!String.prototype.trim) { String.prototype.trim = function() { return this.replace(/^\s+|\s+$/g, ''); }; } Diagram.themes = {}; function registerTheme(name, theme) { Diagram.themes[name] = theme; } /****************** * Drawing extras ******************/ function getCenterX(box) { return box.x + box.width / 2; } function getCenterY(box) { return box.y + box.height / 2; } /****************** * SVG Path extras ******************/ function clamp(x, min, max) { if (x < min) { return min; } if (x > max) { return max; } return x; } function wobble(x1, y1, x2, y2) { assert(_.all([x1,x2,y1,y2], _.isFinite), 'x1,x2,y1,y2 must be numeric'); // Wobble no more than 1/25 of the line length var factor = Math.sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1)) / 25; // Distance along line where the control points are // Clamp between 20% and 80% so any arrow heads aren't angled too much var r1 = clamp(Math.random(), 0.2, 0.8); var r2 = clamp(Math.random(), 0.2, 0.8); var xfactor = Math.random() > 0.5 ? factor : -factor; var yfactor = Math.random() > 0.5 ? factor : -factor; var p1 = { x: (x2 - x1) * r1 + x1 + xfactor, y: (y2 - y1) * r1 + y1 + yfactor }; var p2 = { x: (x2 - x1) * r2 + x1 - xfactor, y: (y2 - y1) * r2 + y1 - yfactor }; return 'C' + p1.x.toFixed(1) + ',' + p1.y.toFixed(1) + // start control point ' ' + p2.x.toFixed(1) + ',' + p2.y.toFixed(1) + // end control point ' ' + x2.toFixed(1) + ',' + y2.toFixed(1); // end point } /** * Draws a wobbly (hand drawn) rect */ function handRect(x, y, w, h) { assert(_.all([x, y, w, h], _.isFinite), 'x, y, w, h must be numeric'); return 'M' + x + ',' + y + wobble(x, y, x + w, y) + wobble(x + w, y, x + w, y + h) + wobble(x + w, y + h, x, y + h) + wobble(x, y + h, x, y); } /** * Draws a wobbly (hand drawn) line */ function handLine(x1, y1, x2, y2) { assert(_.all([x1,x2,y1,y2], _.isFinite), 'x1,x2,y1,y2 must be numeric'); return 'M' + x1.toFixed(1) + ',' + y1.toFixed(1) + wobble(x1, y1, x2, y2); } /****************** * BaseTheme ******************/ var BaseTheme = function(diagram, options) { this.init(diagram, options); }; _.extend(BaseTheme.prototype, { // Init called while creating the Theme init: function(diagram, options) { this.diagram = diagram; this.actorsHeight_ = 0; this.signalsHeight_ = 0; this.title_ = undefined; // hack - This should be somewhere better }, setupPaper: function(container) {}, draw: function(container) { this.setupPaper(container); this.layout(); var titleHeight = this.title_ ? this.title_.height : 0; var y = DIAGRAM_MARGIN + titleHeight; this.drawTitle(); this.drawActors(y); this.drawSignals(y + this.actorsHeight_); }, layout: function() { // Local copies var diagram = this.diagram; var font = this.font_; var actors = diagram.actors; var signals = diagram.signals; diagram.width = 0; // min width diagram.height = 0; // min height // Setup some layout stuff if (diagram.title) { var title = this.title_ = {}; var bb = this.textBBox(diagram.title, font); title.textBB = bb; title.message = diagram.title; title.width = bb.width + (TITLE_PADDING + TITLE_MARGIN) * 2; title.height = bb.height + (TITLE_PADDING + TITLE_MARGIN) * 2; title.x = DIAGRAM_MARGIN; title.y = DIAGRAM_MARGIN; diagram.width += title.width; diagram.height += title.height; } _.each(actors, function(a) { var bb = this.textBBox(a.name, font); a.textBB = bb; a.x = 0; a.y = 0; a.width = bb.width + (ACTOR_PADDING + ACTOR_MARGIN) * 2; a.height = bb.height + (ACTOR_PADDING + ACTOR_MARGIN) * 2; a.distances = []; a.paddingRight = 0; this.actorsHeight_ = Math.max(a.height, this.actorsHeight_); }, this); function actorEnsureDistance(a, b, d) { assert(a < b, 'a must be less than or equal to b'); if (a < 0) { // Ensure b has left margin b = actors[b]; b.x = Math.max(d - b.width / 2, b.x); } else if (b >= actors.length) { // Ensure a has right margin a = actors[a]; a.paddingRight = Math.max(d, a.paddingRight); } else { a = actors[a]; a.distances[b] = Math.max(d, a.distances[b] ? a.distances[b] : 0); } } _.each(signals, function(s) { // Indexes of the left and right actors involved var a; var b; var bb = this.textBBox(s.message, font); //var bb = t.attr("text", s.message).getBBox(); s.textBB = bb; s.width = bb.width; s.height = bb.height; var extraWidth = 0; if (s.type == 'Signal') { s.width += (SIGNAL_MARGIN + SIGNAL_PADDING) * 2; s.height += (SIGNAL_MARGIN + SIGNAL_PADDING) * 2; if (s.isSelf()) { // TODO Self signals need a min height a = s.actorA.index; b = a + 1; s.width += SELF_SIGNAL_WIDTH; } else { a = Math.min(s.actorA.index, s.actorB.index); b = Math.max(s.actorA.index, s.actorB.index); } } else if (s.type == 'Note') { s.width += (NOTE_MARGIN + NOTE_PADDING) * 2; s.height += (NOTE_MARGIN + NOTE_PADDING) * 2; // HACK lets include the actor's padding extraWidth = 2 * ACTOR_MARGIN; if (s.placement == PLACEMENT.LEFTOF) { b = s.actor.index; a = b - 1; } else if (s.placement == PLACEMENT.RIGHTOF) { a = s.actor.index; b = a + 1; } else if (s.placement == PLACEMENT.OVER && s.hasManyActors()) { // Over multiple actors a = Math.min(s.actor[0].index, s.actor[1].index); b = Math.max(s.actor[0].index, s.actor[1].index); // We don't need our padding, and we want to overlap extraWidth = -(NOTE_PADDING * 2 + NOTE_OVERLAP * 2); } else if (s.placement == PLACEMENT.OVER) { // Over single actor a = s.actor.index; actorEnsureDistance(a - 1, a, s.width / 2); actorEnsureDistance(a, a + 1, s.width / 2); this.signalsHeight_ += s.height; return; // Bail out early } } else { throw new Error('Unhandled signal type:' + s.type); } actorEnsureDistance(a, b, s.width + extraWidth); this.signalsHeight_ += s.height; }, this); // Re-jig the positions var actorsX = 0; _.each(actors, function(a) { a.x = Math.max(actorsX, a.x); // TODO This only works if we loop in sequence, 0, 1, 2, etc _.each(a.distances, function(distance, b) { // lodash (and possibly others) do not like sparse arrays // so sometimes they return undefined if (typeof distance == 'undefined') { return; } b = actors[b]; distance = Math.max(distance, a.width / 2, b.width / 2); b.x = Math.max(b.x, a.x + a.width / 2 + distance - b.width / 2); }); actorsX = a.x + a.width + a.paddingRight; }, this); diagram.width = Math.max(actorsX, diagram.width); // TODO Refactor a little diagram.width += 2 * DIAGRAM_MARGIN; diagram.height += 2 * DIAGRAM_MARGIN + 2 * this.actorsHeight_ + this.signalsHeight_; return this; }, // TODO Instead of one textBBox function, create a function for each element type, e.g // layout_title, layout_actor, etc that returns it's bounding box textBBox: function(text, font) {}, drawTitle: function() { var title = this.title_; if (title) { this.drawTextBox(title, title.message, TITLE_MARGIN, TITLE_PADDING, this.font_, ALIGN_LEFT); } }, drawActors: function(offsetY) { var y = offsetY; _.each(this.diagram.actors, function(a) { // Top box this.drawActor(a, y, this.actorsHeight_); // Bottom box this.drawActor(a, y + this.actorsHeight_ + this.signalsHeight_, this.actorsHeight_); // Veritical line var aX = getCenterX(a); this.drawLine( aX, y + this.actorsHeight_ - ACTOR_MARGIN, aX, y + this.actorsHeight_ + ACTOR_MARGIN + this.signalsHeight_); }, this); }, drawActor: function(actor, offsetY, height) { actor.y = offsetY; actor.height = height; this.drawTextBox(actor, actor.name, ACTOR_MARGIN, ACTOR_PADDING, this.font_, ALIGN_CENTER); }, drawSignals: function(offsetY) { var y = offsetY; _.each(this.diagram.signals, function(s) { // TODO Add debug mode, that draws padding/margin box if (s.type == 'Signal') { if (s.isSelf()) { this.drawSelfSignal(s, y); } else { this.drawSignal(s, y); } } else if (s.type == 'Note') { this.drawNote(s, y); } y += s.height; }, this); }, drawSelfSignal: function(signal, offsetY) { assert(signal.isSelf(), 'signal must be a self signal'); var textBB = signal.textBB; var aX = getCenterX(signal.actorA); var x = aX + SELF_SIGNAL_WIDTH + SIGNAL_PADDING; var y = offsetY + SIGNAL_PADDING + signal.height / 2 + textBB.y; this.drawText(x, y, signal.message, this.font_, ALIGN_LEFT); var y1 = offsetY + SIGNAL_MARGIN + SIGNAL_PADDING; var y2 = y1 + signal.height - 2 * SIGNAL_MARGIN - SIGNAL_PADDING; // Draw three lines, the last one with a arrow this.drawLine(aX, y1, aX + SELF_SIGNAL_WIDTH, y1, signal.linetype); this.drawLine(aX + SELF_SIGNAL_WIDTH, y1, aX + SELF_SIGNAL_WIDTH, y2, signal.linetype); this.drawLine(aX + SELF_SIGNAL_WIDTH, y2, aX, y2, signal.linetype, signal.arrowtype); }, drawSignal: function(signal, offsetY) { var aX = getCenterX(signal.actorA); var bX = getCenterX(signal.actorB); // Mid point between actors var x = (bX - aX) / 2 + aX; var y = offsetY + SIGNAL_MARGIN + 2 * SIGNAL_PADDING; // Draw the text in the middle of the signal this.drawText(x, y, signal.message, this.font_, ALIGN_CENTER); // Draw the line along the bottom of the signal y = offsetY + signal.height - SIGNAL_MARGIN - SIGNAL_PADDING; this.drawLine(aX, y, bX, y, signal.linetype, signal.arrowtype); }, drawNote: function(note, offsetY) { note.y = offsetY; var actorA = note.hasManyActors() ? note.actor[0] : note.actor; var aX = getCenterX(actorA); switch (note.placement) { case PLACEMENT.RIGHTOF: note.x = aX + ACTOR_MARGIN; break; case PLACEMENT.LEFTOF: note.x = aX - ACTOR_MARGIN - note.width; break; case PLACEMENT.OVER: if (note.hasManyActors()) { var bX = getCenterX(note.actor[1]); var overlap = NOTE_OVERLAP + NOTE_PADDING; note.x = Math.min(aX, bX) - overlap; note.width = (Math.max(aX, bX) + overlap) - note.x; } else { note.x = aX - note.width / 2; } break; default: throw new Error('Unhandled note placement: ' + note.placement); } return this.drawTextBox(note, note.message, NOTE_MARGIN, NOTE_PADDING, this.font_, ALIGN_LEFT); }, /** * Draw text surrounded by a box */ drawTextBox: function(box, text, margin, padding, font, align) { var x = box.x + margin; var y = box.y + margin; var w = box.width - 2 * margin; var h = box.height - 2 * margin; // Draw inner box this.drawRect(x, y, w, h); // Draw text (in the center) if (align == ALIGN_CENTER) { x = getCenterX(box); y = getCenterY(box); } else { x += padding; y += padding; } return this.drawText(x, y, text, font, align); } }); /** js sequence diagrams * https://bramp.github.io/js-sequence-diagrams/ * (c) 2012-2017 Andrew Brampton (bramp.net) * Simplified BSD license. */ /*global Diagram, Snap, WebFont _ */ // TODO Move defintion of font onto the , so it can easily be override at each level if (typeof Snap != 'undefined') { var xmlns = 'http://www.w3.org/2000/svg'; var LINE = { 'stroke': '#000000', 'stroke-width': 2, // BUG TODO This gets set as a style, not as a attribute. Look at eve.on("snap.util.attr"... 'fill': 'none' }; var RECT = { 'stroke': '#000000', 'stroke-width': 2, 'fill': '#fff' }; var LOADED_FONTS = {}; /****************** * SnapTheme ******************/ var SnapTheme = function(diagram, options, resume) { _.defaults(options, { 'css-class': 'simple', 'font-size': 16, 'font-family': 'Andale Mono, monospace' }); this.init(diagram, options, resume); }; _.extend(SnapTheme.prototype, BaseTheme.prototype, { init: function(diagram, options, resume) { BaseTheme.prototype.init.call(this, diagram); this.paper_ = undefined; this.cssClass_ = options['css-class'] || undefined; this.font_ = { 'font-size': options['font-size'], 'font-family': options['font-family'] }; var a = this.arrowTypes_ = {}; a[ARROWTYPE.FILLED] = 'Block'; a[ARROWTYPE.OPEN] = 'Open'; var l = this.lineTypes_ = {}; l[LINETYPE.SOLID] = ''; l[LINETYPE.DOTTED] = '6,2'; var that = this; this.waitForFont(function() { resume(that); }); }, // Wait for loading of the font waitForFont: function(callback) { var fontFamily = this.font_['font-family']; if (typeof WebFont == 'undefined') { throw new Error('WebFont is required (https://github.com/typekit/webfontloader).'); } if (LOADED_FONTS[fontFamily]) { // If already loaded, just return instantly. callback(); return; } WebFont.load({ custom: { families: [fontFamily] // TODO replace this with something that reads the css }, classes: false, // No need to place classes on the DOM, just use JS Events active: function() { LOADED_FONTS[fontFamily] = true; callback(); }, inactive: function() { // If we fail to fetch the font, still continue. LOADED_FONTS[fontFamily] = true; callback(); } }); }, addDescription: function(svg, description) { var desc = document.createElementNS(xmlns, 'desc'); desc.appendChild(document.createTextNode(description)); svg.appendChild(desc); }, setupPaper: function(container) { // Container must be a SVG element. We assume it's a div, so lets create a SVG and insert var svg = document.createElementNS(xmlns, 'svg'); container.appendChild(svg); this.addDescription(svg, this.diagram.title || ''); this.paper_ = Snap(svg); this.paper_.addClass('sequence'); if (this.cssClass_) { this.paper_.addClass(this.cssClass_); } this.beginGroup(); // TODO Perhaps only include the markers if we actually use them. var a = this.arrowMarkers_ = {}; var arrow = this.paper_.path('M 0 0 L 5 2.5 L 0 5 z'); a[ARROWTYPE.FILLED] = arrow.marker(0, 0, 5, 5, 5, 2.5) .attr({id: 'markerArrowBlock'}); arrow = this.paper_.path('M 9.6,8 1.92,16 0,13.7 5.76,8 0,2.286 1.92,0 9.6,8 z'); a[ARROWTYPE.OPEN] = arrow.marker(0, 0, 9.6, 16, 9.6, 8) .attr({markerWidth: '4', id: 'markerArrowOpen'}); }, layout: function() { BaseTheme.prototype.layout.call(this); this.paper_.attr({ width: this.diagram.width + 'px', height: this.diagram.height + 'px' }); }, textBBox: function(text, font) { // TODO getBBox will return the bounds with any whitespace/kerning. This makes some of our aligments screwed up var t = this.createText(text, font); var bb = t.getBBox(); t.remove(); return bb; }, // For each drawn element, push onto the stack, so it can be wrapped in a single outer element pushToStack: function(element) { this._stack.push(element); return element; }, // Begin a group of elements beginGroup: function() { this._stack = []; }, // Finishes the group, and returns the element finishGroup: function() { var g = this.paper_.group.apply(this.paper_, this._stack); this.beginGroup(); // Reset the group return g; }, createText: function(text, font) { text = _.invoke(text.split('\n'), 'trim'); var t = this.paper_.text(0, 0, text); t.attr(font || {}); if (text.length > 1) { // Every row after the first, set tspan to be 1.2em below the previous line t.selectAll('tspan:nth-child(n+2)').attr({ dy: '1.2em', x: 0 }); } return t; }, drawLine: function(x1, y1, x2, y2, linetype, arrowhead) { var line = this.paper_.line(x1, y1, x2, y2).attr(LINE); if (linetype !== undefined) { line.attr('strokeDasharray', this.lineTypes_[linetype]); } if (arrowhead !== undefined) { line.attr('markerEnd', this.arrowMarkers_[arrowhead]); } return this.pushToStack(line); }, drawRect: function(x, y, w, h) { var rect = this.paper_.rect(x, y, w, h).attr(RECT); return this.pushToStack(rect); }, /** * Draws text with a optional white background * x,y (int) x,y top left point of the text, or the center of the text (depending on align param) * text (string) text to print * font (Object) * align (string) ALIGN_LEFT or ALIGN_CENTER */ drawText: function(x, y, text, font, align) { var t = this.createText(text, font); var bb = t.getBBox(); if (align == ALIGN_CENTER) { x = x - bb.width / 2; y = y - bb.height / 2; } // Now move the text into place // `y - bb.y` because text(..) is positioned from the baseline, so this moves it down. t.attr({x: x - bb.x, y: y - bb.y}); t.selectAll('tspan').attr({x: x}); this.pushToStack(t); return t; }, drawTitle: function() { this.beginGroup(); BaseTheme.prototype.drawTitle.call(this); return this.finishGroup().addClass('title'); }, drawActor: function(actor, offsetY, height) { this.beginGroup(); BaseTheme.prototype.drawActor.call(this, actor, offsetY, height); return this.finishGroup().addClass('actor'); }, drawSignal: function(signal, offsetY) { this.beginGroup(); BaseTheme.prototype.drawSignal.call(this, signal, offsetY); return this.finishGroup().addClass('signal'); }, drawSelfSignal: function(signal, offsetY) { this.beginGroup(); BaseTheme.prototype.drawSelfSignal.call(this, signal, offsetY); return this.finishGroup().addClass('signal'); }, drawNote: function(note, offsetY) { this.beginGroup(); BaseTheme.prototype.drawNote.call(this, note, offsetY); return this.finishGroup().addClass('note'); }, }); /****************** * SnapHandTheme ******************/ var SnapHandTheme = function(diagram, options, resume) { _.defaults(options, { 'css-class': 'hand', 'font-size': 16, 'font-family': 'danielbd' }); this.init(diagram, options, resume); }; // Take the standard SnapTheme and make all the lines wobbly _.extend(SnapHandTheme.prototype, SnapTheme.prototype, { drawLine: function(x1, y1, x2, y2, linetype, arrowhead) { var line = this.paper_.path(handLine(x1, y1, x2, y2)).attr(LINE); if (linetype !== undefined) { line.attr('strokeDasharray', this.lineTypes_[linetype]); } if (arrowhead !== undefined) { line.attr('markerEnd', this.arrowMarkers_[arrowhead]); } return this.pushToStack(line); }, drawRect: function(x, y, w, h) { var rect = this.paper_.path(handRect(x, y, w, h)).attr(RECT); return this.pushToStack(rect); } }); registerTheme('snapSimple', SnapTheme); registerTheme('snapHand', SnapHandTheme); } /** js sequence diagrams * https://bramp.github.io/js-sequence-diagrams/ * (c) 2012-2017 Andrew Brampton (bramp.net) * Simplified BSD license. */ /*global Diagram, _ */ if (typeof Raphael == 'undefined' && typeof Snap == 'undefined') { throw new Error('Raphael or Snap.svg is required to be included.'); } if (_.isEmpty(Diagram.themes)) { // If you are using stock js-sequence-diagrams you should never see this. This only // happens if you have removed the built in themes. throw new Error('No themes were registered. Please call registerTheme(...).'); } // Set the default hand/simple based on which theme is available. Diagram.themes.hand = Diagram.themes.snapHand || Diagram.themes.raphaelHand; Diagram.themes.simple = Diagram.themes.snapSimple || Diagram.themes.raphaelSimple; /* Draws the diagram. Creates a SVG inside the container * container (HTMLElement|string) DOM element or its ID to draw on * options (Object) */ Diagram.prototype.drawSVG = function(container, options) { var defaultOptions = { theme: 'hand' }; options = _.defaults(options || {}, defaultOptions); if (!(options.theme in Diagram.themes)) { throw new Error('Unsupported theme: ' + options.theme); } // TODO Write tests for this check var div = _.isString(container) ? document.getElementById(container) : container; if (div === null || !div.tagName) { throw new Error('Invalid container: ' + container); } var Theme = Diagram.themes[options.theme]; new Theme(this, options, function(drawing) { drawing.draw(div); }); }; // end of drawSVG /** js sequence diagrams * https://bramp.github.io/js-sequence-diagrams/ * (c) 2012-2017 Andrew Brampton (bramp.net) * Simplified BSD license. */ /*global jQuery */ if (typeof jQuery != 'undefined') { (function($) { $.fn.sequenceDiagram = function(options) { return this.each(function() { var $this = $(this); var diagram = Diagram.parse($this.text()); $this.html(''); diagram.drawSVG(this, options); }); }; })(jQuery); } // Taken from underscore.js: // Establish the root object, `window` (`self`) in the browser, or `global` on the server. // We use `self` instead of `window` for `WebWorker` support. var root = (typeof self == 'object' && self.self == self && self) || (typeof global == 'object' && global.global == global && global); // Export the Diagram object for **Node.js**, with // backwards-compatibility for their old module API. If we're in // the browser, add `Diagram` as a global object. if (typeof exports !== 'undefined') { if (typeof module !== 'undefined' && module.exports) { exports = module.exports = Diagram; } exports.Diagram = Diagram; } else { root.Diagram = Diagram; } }()); ================================================ FILE: dist/sequence-diagram.css ================================================ /** js sequence diagrams * https://bramp.github.io/js-sequence-diagrams/ * (c) 2012-2017 Andrew Brampton (bramp.net) * Simplified BSD license. */ @font-face { font-family: 'danielbd'; src: url('danielbd.woff2') format('woff2'), url('danielbd.woff') format('woff'); font-weight: normal; font-style: normal; } ================================================ FILE: dist/sequence-diagram.js ================================================ /** js sequence diagrams 2.0.1 * https://bramp.github.io/js-sequence-diagrams/ * (c) 2012-2017 Andrew Brampton (bramp.net) * @license Simplified BSD license. */ (function() { 'use strict'; /*global Diagram */ // The following are included by preprocessor */ /** js sequence diagrams * https://bramp.github.io/js-sequence-diagrams/ * (c) 2012-2017 Andrew Brampton (bramp.net) * Simplified BSD license. */ /*global grammar _ */ function Diagram() { this.title = undefined; this.actors = []; this.signals = []; } /* * Return an existing actor with this alias, or creates a new one with alias and name. */ Diagram.prototype.getActor = function(alias, name) { alias = alias.trim(); var i; var actors = this.actors; for (i in actors) { if (actors[i].alias == alias) { return actors[i]; } } i = actors.push(new Diagram.Actor(alias, (name || alias), actors.length)); return actors[ i - 1 ]; }; /* * Parses the input as either a alias, or a "name as alias", and returns the corresponding actor. */ Diagram.prototype.getActorWithAlias = function(input) { input = input.trim(); // We are lazy and do some of the parsing in javascript :(. TODO move into the .jison file. var s = /([\s\S]+) as (\S+)$/im.exec(input); var alias; var name; if (s) { name = s[1].trim(); alias = s[2].trim(); } else { name = alias = input; } return this.getActor(alias, name); }; Diagram.prototype.setTitle = function(title) { this.title = title; }; Diagram.prototype.addSignal = function(signal) { this.signals.push(signal); }; Diagram.Actor = function(alias, name, index) { this.alias = alias; this.name = name; this.index = index; }; Diagram.Signal = function(actorA, signaltype, actorB, message) { this.type = 'Signal'; this.actorA = actorA; this.actorB = actorB; this.linetype = signaltype & 3; this.arrowtype = (signaltype >> 2) & 3; this.message = message; }; Diagram.Signal.prototype.isSelf = function() { return this.actorA.index == this.actorB.index; }; Diagram.Note = function(actor, placement, message) { this.type = 'Note'; this.actor = actor; this.placement = placement; this.message = message; if (this.hasManyActors() && actor[0] == actor[1]) { throw new Error('Note should be over two different actors'); } }; Diagram.Note.prototype.hasManyActors = function() { return _.isArray(this.actor); }; Diagram.unescape = function(s) { // Turn "\\n" into "\n" return s.trim().replace(/^"(.*)"$/m, '$1').replace(/\\n/gm, '\n'); }; Diagram.LINETYPE = { SOLID: 0, DOTTED: 1 }; Diagram.ARROWTYPE = { FILLED: 0, OPEN: 1 }; Diagram.PLACEMENT = { LEFTOF: 0, RIGHTOF: 1, OVER: 2 }; // Some older browsers don't have getPrototypeOf, thus we polyfill it // https://github.com/bramp/js-sequence-diagrams/issues/57 // https://github.com/zaach/jison/issues/194 // Taken from http://ejohn.org/blog/objectgetprototypeof/ if (typeof Object.getPrototypeOf !== 'function') { /* jshint -W103 */ if (typeof 'test'.__proto__ === 'object') { Object.getPrototypeOf = function(object) { return object.__proto__; }; } else { Object.getPrototypeOf = function(object) { // May break if the constructor has been tampered with return object.constructor.prototype; }; } /* jshint +W103 */ } /** The following is included by preprocessor */ /* parser generated by jison 0.4.15 */ /* Returns a Parser object of the following structure: Parser: { yy: {} } Parser.prototype: { yy: {}, trace: function(), symbols_: {associative list: name ==> number}, terminals_: {associative list: number ==> name}, productions_: [...], performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$), table: [...], defaultActions: {...}, parseError: function(str, hash), parse: function(input), lexer: { EOF: 1, parseError: function(str, hash), setInput: function(input), input: function(), unput: function(str), more: function(), less: function(n), pastInput: function(), upcomingInput: function(), showPosition: function(), test_match: function(regex_match_array, rule_index), next: function(), lex: function(), begin: function(condition), popState: function(), _currentRules: function(), topState: function(), pushState: function(condition), options: { ranges: boolean (optional: true ==> token location info will include a .range[] member) flex: boolean (optional: true ==> flex-like lexing behaviour where the rules are tested exhaustively to find the longest match) backtrack_lexer: boolean (optional: true ==> lexer regexes are tested in order and for each matching regex the action code is invoked; the lexer terminates the scan when a token is returned by the action code) }, performAction: function(yy, yy_, $avoiding_name_collisions, YY_START), rules: [...], conditions: {associative list: name ==> set}, } } token location info (@$, _$, etc.): { first_line: n, last_line: n, first_column: n, last_column: n, range: [start_number, end_number] (where the numbers are indexes into the input string, regular zero-based) } the parseError function receives a 'hash' object with these members for lexer and parser errors: { text: (matched text) token: (the produced terminal token, if any) line: (yylineno) } while parser (grammar) errors will also provide these members, i.e. parser errors deliver a superset of attributes: { loc: (yylloc) expected: (string describing the set of expected tokens) recoverable: (boolean: TRUE when the parser has a error recovery rule available for this particular error) } */ var parser = function() { function Parser() { this.yy = {}; } var o = function(k, v, o, l) { for (o = o || {}, l = k.length; l--; o[k[l]] = v) ; return o; }, $V0 = [ 5, 8, 9, 13, 15, 24 ], $V1 = [ 1, 13 ], $V2 = [ 1, 17 ], $V3 = [ 24, 29, 30 ], parser = { trace: function() {}, yy: {}, symbols_: { error: 2, start: 3, document: 4, EOF: 5, line: 6, statement: 7, NL: 8, participant: 9, actor_alias: 10, signal: 11, note_statement: 12, title: 13, message: 14, note: 15, placement: 16, actor: 17, over: 18, actor_pair: 19, ",": 20, left_of: 21, right_of: 22, signaltype: 23, ACTOR: 24, linetype: 25, arrowtype: 26, LINE: 27, DOTLINE: 28, ARROW: 29, OPENARROW: 30, MESSAGE: 31, $accept: 0, $end: 1 }, terminals_: { 2: "error", 5: "EOF", 8: "NL", 9: "participant", 13: "title", 15: "note", 18: "over", 20: ",", 21: "left_of", 22: "right_of", 24: "ACTOR", 27: "LINE", 28: "DOTLINE", 29: "ARROW", 30: "OPENARROW", 31: "MESSAGE" }, productions_: [ 0, [ 3, 2 ], [ 4, 0 ], [ 4, 2 ], [ 6, 1 ], [ 6, 1 ], [ 7, 2 ], [ 7, 1 ], [ 7, 1 ], [ 7, 2 ], [ 12, 4 ], [ 12, 4 ], [ 19, 1 ], [ 19, 3 ], [ 16, 1 ], [ 16, 1 ], [ 11, 4 ], [ 17, 1 ], [ 10, 1 ], [ 23, 2 ], [ 23, 1 ], [ 25, 1 ], [ 25, 1 ], [ 26, 1 ], [ 26, 1 ], [ 14, 1 ] ], performAction: function(yytext, yyleng, yylineno, yy, yystate, $$, _$) { /* this == yyval */ var $0 = $$.length - 1; switch (yystate) { case 1: return yy.parser.yy; case 4: break; case 6: $$[$0]; break; case 7: case 8: yy.parser.yy.addSignal($$[$0]); break; case 9: yy.parser.yy.setTitle($$[$0]); break; case 10: this.$ = new Diagram.Note($$[$0 - 1], $$[$0 - 2], $$[$0]); break; case 11: this.$ = new Diagram.Note($$[$0 - 1], Diagram.PLACEMENT.OVER, $$[$0]); break; case 12: case 20: this.$ = $$[$0]; break; case 13: this.$ = [ $$[$0 - 2], $$[$0] ]; break; case 14: this.$ = Diagram.PLACEMENT.LEFTOF; break; case 15: this.$ = Diagram.PLACEMENT.RIGHTOF; break; case 16: this.$ = new Diagram.Signal($$[$0 - 3], $$[$0 - 2], $$[$0 - 1], $$[$0]); break; case 17: this.$ = yy.parser.yy.getActor(Diagram.unescape($$[$0])); break; case 18: this.$ = yy.parser.yy.getActorWithAlias(Diagram.unescape($$[$0])); break; case 19: this.$ = $$[$0 - 1] | $$[$0] << 2; break; case 21: this.$ = Diagram.LINETYPE.SOLID; break; case 22: this.$ = Diagram.LINETYPE.DOTTED; break; case 23: this.$ = Diagram.ARROWTYPE.FILLED; break; case 24: this.$ = Diagram.ARROWTYPE.OPEN; break; case 25: this.$ = Diagram.unescape($$[$0].substring(1)); } }, table: [ o($V0, [ 2, 2 ], { 3: 1, 4: 2 }), { 1: [ 3 ] }, { 5: [ 1, 3 ], 6: 4, 7: 5, 8: [ 1, 6 ], 9: [ 1, 7 ], 11: 8, 12: 9, 13: [ 1, 10 ], 15: [ 1, 12 ], 17: 11, 24: $V1 }, { 1: [ 2, 1 ] }, o($V0, [ 2, 3 ]), o($V0, [ 2, 4 ]), o($V0, [ 2, 5 ]), { 10: 14, 24: [ 1, 15 ] }, o($V0, [ 2, 7 ]), o($V0, [ 2, 8 ]), { 14: 16, 31: $V2 }, { 23: 18, 25: 19, 27: [ 1, 20 ], 28: [ 1, 21 ] }, { 16: 22, 18: [ 1, 23 ], 21: [ 1, 24 ], 22: [ 1, 25 ] }, o([ 20, 27, 28, 31 ], [ 2, 17 ]), o($V0, [ 2, 6 ]), o($V0, [ 2, 18 ]), o($V0, [ 2, 9 ]), o($V0, [ 2, 25 ]), { 17: 26, 24: $V1 }, { 24: [ 2, 20 ], 26: 27, 29: [ 1, 28 ], 30: [ 1, 29 ] }, o($V3, [ 2, 21 ]), o($V3, [ 2, 22 ]), { 17: 30, 24: $V1 }, { 17: 32, 19: 31, 24: $V1 }, { 24: [ 2, 14 ] }, { 24: [ 2, 15 ] }, { 14: 33, 31: $V2 }, { 24: [ 2, 19 ] }, { 24: [ 2, 23 ] }, { 24: [ 2, 24 ] }, { 14: 34, 31: $V2 }, { 14: 35, 31: $V2 }, { 20: [ 1, 36 ], 31: [ 2, 12 ] }, o($V0, [ 2, 16 ]), o($V0, [ 2, 10 ]), o($V0, [ 2, 11 ]), { 17: 37, 24: $V1 }, { 31: [ 2, 13 ] } ], defaultActions: { 3: [ 2, 1 ], 24: [ 2, 14 ], 25: [ 2, 15 ], 27: [ 2, 19 ], 28: [ 2, 23 ], 29: [ 2, 24 ], 37: [ 2, 13 ] }, parseError: function(str, hash) { if (!hash.recoverable) throw new Error(str); this.trace(str); }, parse: function(input) { function lex() { var token; return token = lexer.lex() || EOF, "number" != typeof token && (token = self.symbols_[token] || token), token; } var self = this, stack = [ 0 ], vstack = [ null ], lstack = [], table = this.table, yytext = "", yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1, args = lstack.slice.call(arguments, 1), lexer = Object.create(this.lexer), sharedState = { yy: {} }; for (var k in this.yy) Object.prototype.hasOwnProperty.call(this.yy, k) && (sharedState.yy[k] = this.yy[k]); lexer.setInput(input, sharedState.yy), sharedState.yy.lexer = lexer, sharedState.yy.parser = this, "undefined" == typeof lexer.yylloc && (lexer.yylloc = {}); var yyloc = lexer.yylloc; lstack.push(yyloc); var ranges = lexer.options && lexer.options.ranges; "function" == typeof sharedState.yy.parseError ? this.parseError = sharedState.yy.parseError : this.parseError = Object.getPrototypeOf(this).parseError; for (var symbol, preErrorSymbol, state, action, r, p, len, newState, expected, yyval = {}; ;) { if (state = stack[stack.length - 1], this.defaultActions[state] ? action = this.defaultActions[state] : (null !== symbol && "undefined" != typeof symbol || (symbol = lex()), action = table[state] && table[state][symbol]), "undefined" == typeof action || !action.length || !action[0]) { var errStr = ""; expected = []; for (p in table[state]) this.terminals_[p] && p > TERROR && expected.push("'" + this.terminals_[p] + "'"); errStr = lexer.showPosition ? "Parse error on line " + (yylineno + 1) + ":\n" + lexer.showPosition() + "\nExpecting " + expected.join(", ") + ", got '" + (this.terminals_[symbol] || symbol) + "'" : "Parse error on line " + (yylineno + 1) + ": Unexpected " + (symbol == EOF ? "end of input" : "'" + (this.terminals_[symbol] || symbol) + "'"), this.parseError(errStr, { text: lexer.match, token: this.terminals_[symbol] || symbol, line: lexer.yylineno, loc: yyloc, expected: expected }); } if (action[0] instanceof Array && action.length > 1) throw new Error("Parse Error: multiple actions possible at state: " + state + ", token: " + symbol); switch (action[0]) { case 1: stack.push(symbol), vstack.push(lexer.yytext), lstack.push(lexer.yylloc), stack.push(action[1]), symbol = null, preErrorSymbol ? (symbol = preErrorSymbol, preErrorSymbol = null) : (yyleng = lexer.yyleng, yytext = lexer.yytext, yylineno = lexer.yylineno, yyloc = lexer.yylloc, recovering > 0 && recovering--); break; case 2: if (len = this.productions_[action[1]][1], yyval.$ = vstack[vstack.length - len], yyval._$ = { first_line: lstack[lstack.length - (len || 1)].first_line, last_line: lstack[lstack.length - 1].last_line, first_column: lstack[lstack.length - (len || 1)].first_column, last_column: lstack[lstack.length - 1].last_column }, ranges && (yyval._$.range = [ lstack[lstack.length - (len || 1)].range[0], lstack[lstack.length - 1].range[1] ]), r = this.performAction.apply(yyval, [ yytext, yyleng, yylineno, sharedState.yy, action[1], vstack, lstack ].concat(args)), "undefined" != typeof r) return r; len && (stack = stack.slice(0, -1 * len * 2), vstack = vstack.slice(0, -1 * len), lstack = lstack.slice(0, -1 * len)), stack.push(this.productions_[action[1]][0]), vstack.push(yyval.$), lstack.push(yyval._$), newState = table[stack[stack.length - 2]][stack[stack.length - 1]], stack.push(newState); break; case 3: return !0; } } return !0; } }, lexer = function() { var lexer = { EOF: 1, parseError: function(str, hash) { if (!this.yy.parser) throw new Error(str); this.yy.parser.parseError(str, hash); }, // resets the lexer, sets new input setInput: function(input, yy) { return this.yy = yy || this.yy || {}, this._input = input, this._more = this._backtrack = this.done = !1, this.yylineno = this.yyleng = 0, this.yytext = this.matched = this.match = "", this.conditionStack = [ "INITIAL" ], this.yylloc = { first_line: 1, first_column: 0, last_line: 1, last_column: 0 }, this.options.ranges && (this.yylloc.range = [ 0, 0 ]), this.offset = 0, this; }, // consumes and returns one char from the input input: function() { var ch = this._input[0]; this.yytext += ch, this.yyleng++, this.offset++, this.match += ch, this.matched += ch; var lines = ch.match(/(?:\r\n?|\n).*/g); return lines ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, this.options.ranges && this.yylloc.range[1]++, this._input = this._input.slice(1), ch; }, // unshifts one char (or a string) into the input unput: function(ch) { var len = ch.length, lines = ch.split(/(?:\r\n?|\n)/g); this._input = ch + this._input, this.yytext = this.yytext.substr(0, this.yytext.length - len), //this.yyleng -= len; this.offset -= len; var oldLines = this.match.split(/(?:\r\n?|\n)/g); this.match = this.match.substr(0, this.match.length - 1), this.matched = this.matched.substr(0, this.matched.length - 1), lines.length - 1 && (this.yylineno -= lines.length - 1); var r = this.yylloc.range; return this.yylloc = { first_line: this.yylloc.first_line, last_line: this.yylineno + 1, first_column: this.yylloc.first_column, last_column: lines ? (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length : this.yylloc.first_column - len }, this.options.ranges && (this.yylloc.range = [ r[0], r[0] + this.yyleng - len ]), this.yyleng = this.yytext.length, this; }, // When called from action, caches matched text and appends it on next action more: function() { return this._more = !0, this; }, // When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead. reject: function() { return this.options.backtrack_lexer ? (this._backtrack = !0, this) : this.parseError("Lexical error on line " + (this.yylineno + 1) + ". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n" + this.showPosition(), { text: "", token: null, line: this.yylineno }); }, // retain first n characters of the match less: function(n) { this.unput(this.match.slice(n)); }, // displays already matched input, i.e. for error messages pastInput: function() { var past = this.matched.substr(0, this.matched.length - this.match.length); return (past.length > 20 ? "..." : "") + past.substr(-20).replace(/\n/g, ""); }, // displays upcoming input, i.e. for error messages upcomingInput: function() { var next = this.match; return next.length < 20 && (next += this._input.substr(0, 20 - next.length)), (next.substr(0, 20) + (next.length > 20 ? "..." : "")).replace(/\n/g, ""); }, // displays the character position where the lexing error occurred, i.e. for error messages showPosition: function() { var pre = this.pastInput(), c = new Array(pre.length + 1).join("-"); return pre + this.upcomingInput() + "\n" + c + "^"; }, // test the lexed token: return FALSE when not a match, otherwise return token test_match: function(match, indexed_rule) { var token, lines, backup; if (this.options.backtrack_lexer && (// save context backup = { yylineno: this.yylineno, yylloc: { first_line: this.yylloc.first_line, last_line: this.last_line, first_column: this.yylloc.first_column, last_column: this.yylloc.last_column }, yytext: this.yytext, match: this.match, matches: this.matches, matched: this.matched, yyleng: this.yyleng, offset: this.offset, _more: this._more, _input: this._input, yy: this.yy, conditionStack: this.conditionStack.slice(0), done: this.done }, this.options.ranges && (backup.yylloc.range = this.yylloc.range.slice(0))), lines = match[0].match(/(?:\r\n?|\n).*/g), lines && (this.yylineno += lines.length), this.yylloc = { first_line: this.yylloc.last_line, last_line: this.yylineno + 1, first_column: this.yylloc.last_column, last_column: lines ? lines[lines.length - 1].length - lines[lines.length - 1].match(/\r?\n?/)[0].length : this.yylloc.last_column + match[0].length }, this.yytext += match[0], this.match += match[0], this.matches = match, this.yyleng = this.yytext.length, this.options.ranges && (this.yylloc.range = [ this.offset, this.offset += this.yyleng ]), this._more = !1, this._backtrack = !1, this._input = this._input.slice(match[0].length), this.matched += match[0], token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]), this.done && this._input && (this.done = !1), token) return token; if (this._backtrack) { // recover context for (var k in backup) this[k] = backup[k]; return !1; } return !1; }, // return next match in input next: function() { if (this.done) return this.EOF; this._input || (this.done = !0); var token, match, tempMatch, index; this._more || (this.yytext = "", this.match = ""); for (var rules = this._currentRules(), i = 0; i < rules.length; i++) if (tempMatch = this._input.match(this.rules[rules[i]]), tempMatch && (!match || tempMatch[0].length > match[0].length)) { if (match = tempMatch, index = i, this.options.backtrack_lexer) { if (token = this.test_match(tempMatch, rules[i]), token !== !1) return token; if (this._backtrack) { match = !1; continue; } // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace) return !1; } if (!this.options.flex) break; } return match ? (token = this.test_match(match, rules[index]), token !== !1 && token) : "" === this._input ? this.EOF : this.parseError("Lexical error on line " + (this.yylineno + 1) + ". Unrecognized text.\n" + this.showPosition(), { text: "", token: null, line: this.yylineno }); }, // return next match that has a token lex: function() { var r = this.next(); return r ? r : this.lex(); }, // activates a new lexer condition state (pushes the new lexer condition state onto the condition stack) begin: function(condition) { this.conditionStack.push(condition); }, // pop the previously active lexer condition state off the condition stack popState: function() { var n = this.conditionStack.length - 1; return n > 0 ? this.conditionStack.pop() : this.conditionStack[0]; }, // produce the lexer rule set which is active for the currently active lexer condition state _currentRules: function() { return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules : this.conditions.INITIAL.rules; }, // return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available topState: function(n) { return n = this.conditionStack.length - 1 - Math.abs(n || 0), n >= 0 ? this.conditionStack[n] : "INITIAL"; }, // alias for begin(condition) pushState: function(condition) { this.begin(condition); }, // return the number of states currently on the stack stateStackSize: function() { return this.conditionStack.length; }, options: { "case-insensitive": !0 }, performAction: function(yy, yy_, $avoiding_name_collisions, YY_START) { switch ($avoiding_name_collisions) { case 0: return 8; case 1: /* skip whitespace */ break; case 2: /* skip comments */ break; case 3: return 9; case 4: return 21; case 5: return 22; case 6: return 18; case 7: return 15; case 8: return 13; case 9: return 20; case 10: return 24; case 11: return 24; case 12: return 28; case 13: return 27; case 14: return 30; case 15: return 29; case 16: return 31; case 17: return 5; case 18: return "INVALID"; } }, rules: [ /^(?:[\r\n]+)/i, /^(?:\s+)/i, /^(?:#[^\r\n]*)/i, /^(?:participant\b)/i, /^(?:left of\b)/i, /^(?:right of\b)/i, /^(?:over\b)/i, /^(?:note\b)/i, /^(?:title\b)/i, /^(?:,)/i, /^(?:[^\->:,\r\n"]+)/i, /^(?:"[^"]+")/i, /^(?:--)/i, /^(?:-)/i, /^(?:>>)/i, /^(?:>)/i, /^(?:[^\r\n]+)/i, /^(?:$)/i, /^(?:.)/i ], conditions: { INITIAL: { rules: [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18 ], inclusive: !0 } } }; return lexer; }(); return parser.lexer = lexer, Parser.prototype = parser, parser.Parser = Parser, new Parser(); }(); "undefined" != typeof require && "undefined" != typeof exports && (exports.parser = parser, exports.Parser = parser.Parser, exports.parse = function() { return parser.parse.apply(parser, arguments); }, exports.main = function(args) { args[1] || (console.log("Usage: " + args[0] + " FILE"), process.exit(1)); var source = require("fs").readFileSync(require("path").normalize(args[1]), "utf8"); return exports.parser.parse(source); }, "undefined" != typeof module && require.main === module && exports.main(process.argv.slice(1))); /** * jison doesn't have a good exception, so we make one. * This is brittle as it depends on jison internals */ function ParseError(message, hash) { _.extend(this, hash); this.name = 'ParseError'; this.message = (message || ''); } ParseError.prototype = new Error(); Diagram.ParseError = ParseError; Diagram.parse = function(input) { // TODO jison v0.4.17 changed their API slightly, so parser is no longer defined: // Create the object to track state and deal with errors parser.yy = new Diagram(); parser.yy.parseError = function(message, hash) { throw new ParseError(message, hash); }; // Parse var diagram = parser.parse(input); // Then clean up the parseError key that a user won't care about delete diagram.parseError; return diagram; }; /** js sequence diagrams * https://bramp.github.io/js-sequence-diagrams/ * (c) 2012-2017 Andrew Brampton (bramp.net) * Simplified BSD license. */ /*global Diagram, _ */ // Following the CSS convention // Margin is the gap outside the box // Padding is the gap inside the box // Each object has x/y/width/height properties // The x/y should be top left corner // width/height is with both margin and padding // TODO // Image width is wrong, when there is a note in the right hand col // Title box could look better // Note box could look better var DIAGRAM_MARGIN = 10; var ACTOR_MARGIN = 10; // Margin around a actor var ACTOR_PADDING = 10; // Padding inside a actor var SIGNAL_MARGIN = 5; // Margin around a signal var SIGNAL_PADDING = 5; // Padding inside a signal var NOTE_MARGIN = 10; // Margin around a note var NOTE_PADDING = 5; // Padding inside a note var NOTE_OVERLAP = 15; // Overlap when using a "note over A,B" var TITLE_MARGIN = 0; var TITLE_PADDING = 5; var SELF_SIGNAL_WIDTH = 20; // How far out a self signal goes var PLACEMENT = Diagram.PLACEMENT; var LINETYPE = Diagram.LINETYPE; var ARROWTYPE = Diagram.ARROWTYPE; var ALIGN_LEFT = 0; var ALIGN_CENTER = 1; function AssertException(message) { this.message = message; } AssertException.prototype.toString = function() { return 'AssertException: ' + this.message; }; function assert(exp, message) { if (!exp) { throw new AssertException(message); } } if (!String.prototype.trim) { String.prototype.trim = function() { return this.replace(/^\s+|\s+$/g, ''); }; } Diagram.themes = {}; function registerTheme(name, theme) { Diagram.themes[name] = theme; } /****************** * Drawing extras ******************/ function getCenterX(box) { return box.x + box.width / 2; } function getCenterY(box) { return box.y + box.height / 2; } /****************** * SVG Path extras ******************/ function clamp(x, min, max) { if (x < min) { return min; } if (x > max) { return max; } return x; } function wobble(x1, y1, x2, y2) { assert(_.every([x1,x2,y1,y2], _.isFinite), 'x1,x2,y1,y2 must be numeric'); // Wobble no more than 1/25 of the line length var factor = Math.sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1)) / 25; // Distance along line where the control points are // Clamp between 20% and 80% so any arrow heads aren't angled too much var r1 = clamp(Math.random(), 0.2, 0.8); var r2 = clamp(Math.random(), 0.2, 0.8); var xfactor = Math.random() > 0.5 ? factor : -factor; var yfactor = Math.random() > 0.5 ? factor : -factor; var p1 = { x: (x2 - x1) * r1 + x1 + xfactor, y: (y2 - y1) * r1 + y1 + yfactor }; var p2 = { x: (x2 - x1) * r2 + x1 - xfactor, y: (y2 - y1) * r2 + y1 - yfactor }; return 'C' + p1.x.toFixed(1) + ',' + p1.y.toFixed(1) + // start control point ' ' + p2.x.toFixed(1) + ',' + p2.y.toFixed(1) + // end control point ' ' + x2.toFixed(1) + ',' + y2.toFixed(1); // end point } /** * Draws a wobbly (hand drawn) rect */ function handRect(x, y, w, h) { assert(_.every([x, y, w, h], _.isFinite), 'x, y, w, h must be numeric'); return 'M' + x + ',' + y + wobble(x, y, x + w, y) + wobble(x + w, y, x + w, y + h) + wobble(x + w, y + h, x, y + h) + wobble(x, y + h, x, y); } /** * Draws a wobbly (hand drawn) line */ function handLine(x1, y1, x2, y2) { assert(_.every([x1,x2,y1,y2], _.isFinite), 'x1,x2,y1,y2 must be numeric'); return 'M' + x1.toFixed(1) + ',' + y1.toFixed(1) + wobble(x1, y1, x2, y2); } /****************** * BaseTheme ******************/ var BaseTheme = function(diagram, options) { this.init(diagram, options); }; _.extend(BaseTheme.prototype, { // Init called while creating the Theme init: function(diagram, options) { this.diagram = diagram; this.actorsHeight_ = 0; this.signalsHeight_ = 0; this.title_ = undefined; // hack - This should be somewhere better }, setupPaper: function(container) {}, draw: function(container) { this.setupPaper(container); this.layout(); var titleHeight = this.title_ ? this.title_.height : 0; var y = DIAGRAM_MARGIN + titleHeight; this.drawTitle(); this.drawActors(y); this.drawSignals(y + this.actorsHeight_); }, layout: function() { // Local copies var diagram = this.diagram; var font = this.font_; var actors = diagram.actors; var signals = diagram.signals; diagram.width = 0; // min width diagram.height = 0; // min height // Setup some layout stuff if (diagram.title) { var title = this.title_ = {}; var bb = this.textBBox(diagram.title, font); title.textBB = bb; title.message = diagram.title; title.width = bb.width + (TITLE_PADDING + TITLE_MARGIN) * 2; title.height = bb.height + (TITLE_PADDING + TITLE_MARGIN) * 2; title.x = DIAGRAM_MARGIN; title.y = DIAGRAM_MARGIN; diagram.width += title.width; diagram.height += title.height; } _.each(actors, _.bind(function(a) { var bb = this.textBBox(a.name, font); a.textBB = bb; a.x = 0; a.y = 0; a.width = bb.width + (ACTOR_PADDING + ACTOR_MARGIN) * 2; a.height = bb.height + (ACTOR_PADDING + ACTOR_MARGIN) * 2; a.distances = []; a.paddingRight = 0; this.actorsHeight_ = Math.max(a.height, this.actorsHeight_); }, this)); function actorEnsureDistance(a, b, d) { assert(a < b, 'a must be less than or equal to b'); if (a < 0) { // Ensure b has left margin b = actors[b]; b.x = Math.max(d - b.width / 2, b.x); } else if (b >= actors.length) { // Ensure a has right margin a = actors[a]; a.paddingRight = Math.max(d, a.paddingRight); } else { a = actors[a]; a.distances[b] = Math.max(d, a.distances[b] ? a.distances[b] : 0); } } _.each(signals, _.bind(function(s) { // Indexes of the left and right actors involved var a; var b; var bb = this.textBBox(s.message, font); s.textBB = bb; s.width = bb.width; s.height = bb.height; var extraWidth = 0; if (s.type == 'Signal') { s.width += (SIGNAL_MARGIN + SIGNAL_PADDING) * 2; s.height += (SIGNAL_MARGIN + SIGNAL_PADDING) * 2; if (s.isSelf()) { // TODO Self signals need a min height a = s.actorA.index; b = a + 1; s.width += SELF_SIGNAL_WIDTH; } else { a = Math.min(s.actorA.index, s.actorB.index); b = Math.max(s.actorA.index, s.actorB.index); } } else if (s.type == 'Note') { s.width += (NOTE_MARGIN + NOTE_PADDING) * 2; s.height += (NOTE_MARGIN + NOTE_PADDING) * 2; // HACK lets include the actor's padding extraWidth = 2 * ACTOR_MARGIN; if (s.placement == PLACEMENT.LEFTOF) { b = s.actor.index; a = b - 1; } else if (s.placement == PLACEMENT.RIGHTOF) { a = s.actor.index; b = a + 1; } else if (s.placement == PLACEMENT.OVER && s.hasManyActors()) { // Over multiple actors a = Math.min(s.actor[0].index, s.actor[1].index); b = Math.max(s.actor[0].index, s.actor[1].index); // We don't need our padding, and we want to overlap extraWidth = -(NOTE_PADDING * 2 + NOTE_OVERLAP * 2); } else if (s.placement == PLACEMENT.OVER) { // Over single actor a = s.actor.index; actorEnsureDistance(a - 1, a, s.width / 2); actorEnsureDistance(a, a + 1, s.width / 2); this.signalsHeight_ += s.height; return; // Bail out early } } else { throw new Error('Unhandled signal type:' + s.type); } actorEnsureDistance(a, b, s.width + extraWidth); this.signalsHeight_ += s.height; }, this)); // Re-jig the positions var actorsX = 0; _.each(actors, function(a) { a.x = Math.max(actorsX, a.x); // TODO This only works if we loop in sequence, 0, 1, 2, etc _.each(a.distances, function(distance, b) { // lodash (and possibly others) do not like sparse arrays // so sometimes they return undefined if (typeof distance == 'undefined') { return; } b = actors[b]; distance = Math.max(distance, a.width / 2, b.width / 2); b.x = Math.max(b.x, a.x + a.width / 2 + distance - b.width / 2); }); actorsX = a.x + a.width + a.paddingRight; }); diagram.width = Math.max(actorsX, diagram.width); // TODO Refactor a little diagram.width += 2 * DIAGRAM_MARGIN; diagram.height += 2 * DIAGRAM_MARGIN + 2 * this.actorsHeight_ + this.signalsHeight_; return this; }, // TODO Instead of one textBBox function, create a function for each element type, e.g // layout_title, layout_actor, etc that returns it's bounding box textBBox: function(text, font) {}, drawTitle: function() { var title = this.title_; if (title) { this.drawTextBox(title, title.message, TITLE_MARGIN, TITLE_PADDING, this.font_, ALIGN_LEFT); } }, drawActors: function(offsetY) { var y = offsetY; _.each(this.diagram.actors, _.bind(function(a) { // Top box this.drawActor(a, y, this.actorsHeight_); // Bottom box this.drawActor(a, y + this.actorsHeight_ + this.signalsHeight_, this.actorsHeight_); // Veritical line var aX = getCenterX(a); this.drawLine( aX, y + this.actorsHeight_ - ACTOR_MARGIN, aX, y + this.actorsHeight_ + ACTOR_MARGIN + this.signalsHeight_); }, this)); }, drawActor: function(actor, offsetY, height) { actor.y = offsetY; actor.height = height; this.drawTextBox(actor, actor.name, ACTOR_MARGIN, ACTOR_PADDING, this.font_, ALIGN_CENTER); }, drawSignals: function(offsetY) { var y = offsetY; _.each(this.diagram.signals, _.bind(function(s) { // TODO Add debug mode, that draws padding/margin box if (s.type == 'Signal') { if (s.isSelf()) { this.drawSelfSignal(s, y); } else { this.drawSignal(s, y); } } else if (s.type == 'Note') { this.drawNote(s, y); } y += s.height; }, this)); }, drawSelfSignal: function(signal, offsetY) { assert(signal.isSelf(), 'signal must be a self signal'); var textBB = signal.textBB; var aX = getCenterX(signal.actorA); var x = aX + SELF_SIGNAL_WIDTH + SIGNAL_PADDING; var y = offsetY + SIGNAL_PADDING + signal.height / 2 + textBB.y; this.drawText(x, y, signal.message, this.font_, ALIGN_LEFT); var y1 = offsetY + SIGNAL_MARGIN + SIGNAL_PADDING; var y2 = y1 + signal.height - 2 * SIGNAL_MARGIN - SIGNAL_PADDING; // Draw three lines, the last one with a arrow this.drawLine(aX, y1, aX + SELF_SIGNAL_WIDTH, y1, signal.linetype); this.drawLine(aX + SELF_SIGNAL_WIDTH, y1, aX + SELF_SIGNAL_WIDTH, y2, signal.linetype); this.drawLine(aX + SELF_SIGNAL_WIDTH, y2, aX, y2, signal.linetype, signal.arrowtype); }, drawSignal: function(signal, offsetY) { var aX = getCenterX(signal.actorA); var bX = getCenterX(signal.actorB); // Mid point between actors var x = (bX - aX) / 2 + aX; var y = offsetY + SIGNAL_MARGIN + 2 * SIGNAL_PADDING; // Draw the text in the middle of the signal this.drawText(x, y, signal.message, this.font_, ALIGN_CENTER); // Draw the line along the bottom of the signal y = offsetY + signal.height - SIGNAL_MARGIN - SIGNAL_PADDING; this.drawLine(aX, y, bX, y, signal.linetype, signal.arrowtype); }, drawNote: function(note, offsetY) { note.y = offsetY; var actorA = note.hasManyActors() ? note.actor[0] : note.actor; var aX = getCenterX(actorA); switch (note.placement) { case PLACEMENT.RIGHTOF: note.x = aX + ACTOR_MARGIN; break; case PLACEMENT.LEFTOF: note.x = aX - ACTOR_MARGIN - note.width; break; case PLACEMENT.OVER: if (note.hasManyActors()) { var bX = getCenterX(note.actor[1]); var overlap = NOTE_OVERLAP + NOTE_PADDING; note.x = Math.min(aX, bX) - overlap; note.width = (Math.max(aX, bX) + overlap) - note.x; } else { note.x = aX - note.width / 2; } break; default: throw new Error('Unhandled note placement: ' + note.placement); } return this.drawTextBox(note, note.message, NOTE_MARGIN, NOTE_PADDING, this.font_, ALIGN_LEFT); }, /** * Draw text surrounded by a box */ drawTextBox: function(box, text, margin, padding, font, align) { var x = box.x + margin; var y = box.y + margin; var w = box.width - 2 * margin; var h = box.height - 2 * margin; // Draw inner box this.drawRect(x, y, w, h); // Draw text (in the center) if (align == ALIGN_CENTER) { x = getCenterX(box); y = getCenterY(box); } else { x += padding; y += padding; } return this.drawText(x, y, text, font, align); } }); /** js sequence diagrams * https://bramp.github.io/js-sequence-diagrams/ * (c) 2012-2017 Andrew Brampton (bramp.net) * Simplified BSD license. */ /*global Diagram, Snap, WebFont _ */ // TODO Move defintion of font onto the , so it can easily be override at each level if (typeof Snap != 'undefined') { var xmlns = 'http://www.w3.org/2000/svg'; var LINE = { 'stroke': '#000000', 'stroke-width': 2, // BUG TODO This gets set as a style, not as a attribute. Look at eve.on("snap.util.attr"... 'fill': 'none' }; var RECT = { 'stroke': '#000000', 'stroke-width': 2, 'fill': '#fff' }; var LOADED_FONTS = {}; /****************** * SnapTheme ******************/ var SnapTheme = function(diagram, options, resume) { _.defaults(options, { 'css-class': 'simple', 'font-size': 16, 'font-family': 'Andale Mono, monospace' }); this.init(diagram, options, resume); }; _.extend(SnapTheme.prototype, BaseTheme.prototype, { init: function(diagram, options, resume) { BaseTheme.prototype.init.call(this, diagram); this.paper_ = undefined; this.cssClass_ = options['css-class'] || undefined; this.font_ = { 'font-size': options['font-size'], 'font-family': options['font-family'] }; var a = this.arrowTypes_ = {}; a[ARROWTYPE.FILLED] = 'Block'; a[ARROWTYPE.OPEN] = 'Open'; var l = this.lineTypes_ = {}; l[LINETYPE.SOLID] = ''; l[LINETYPE.DOTTED] = '6,2'; var that = this; this.waitForFont(function() { resume(that); }); }, // Wait for loading of the font waitForFont: function(callback) { var fontFamily = this.font_['font-family']; if (typeof WebFont == 'undefined') { throw new Error('WebFont is required (https://github.com/typekit/webfontloader).'); } if (LOADED_FONTS[fontFamily]) { // If already loaded, just return instantly. callback(); return; } WebFont.load({ custom: { families: [fontFamily] // TODO replace this with something that reads the css }, classes: false, // No need to place classes on the DOM, just use JS Events active: function() { LOADED_FONTS[fontFamily] = true; callback(); }, inactive: function() { // If we fail to fetch the font, still continue. LOADED_FONTS[fontFamily] = true; callback(); } }); }, addDescription: function(svg, description) { var desc = document.createElementNS(xmlns, 'desc'); desc.appendChild(document.createTextNode(description)); svg.appendChild(desc); }, setupPaper: function(container) { // Container must be a SVG element. We assume it's a div, so lets create a SVG and insert var svg = document.createElementNS(xmlns, 'svg'); container.appendChild(svg); this.addDescription(svg, this.diagram.title || ''); this.paper_ = Snap(svg); this.paper_.addClass('sequence'); if (this.cssClass_) { this.paper_.addClass(this.cssClass_); } this.beginGroup(); // TODO Perhaps only include the markers if we actually use them. var a = this.arrowMarkers_ = {}; var arrow = this.paper_.path('M 0 0 L 5 2.5 L 0 5 z'); a[ARROWTYPE.FILLED] = arrow.marker(0, 0, 5, 5, 5, 2.5) .attr({id: 'markerArrowBlock'}); arrow = this.paper_.path('M 9.6,8 1.92,16 0,13.7 5.76,8 0,2.286 1.92,0 9.6,8 z'); a[ARROWTYPE.OPEN] = arrow.marker(0, 0, 9.6, 16, 9.6, 8) .attr({markerWidth: '4', id: 'markerArrowOpen'}); }, layout: function() { BaseTheme.prototype.layout.call(this); this.paper_.attr({ width: this.diagram.width + 'px', height: this.diagram.height + 'px' }); }, textBBox: function(text, font) { // TODO getBBox will return the bounds with any whitespace/kerning. This makes some of our aligments screwed up var t = this.createText(text, font); var bb = t.getBBox(); t.remove(); return bb; }, // For each drawn element, push onto the stack, so it can be wrapped in a single outer element pushToStack: function(element) { this._stack.push(element); return element; }, // Begin a group of elements beginGroup: function() { this._stack = []; }, // Finishes the group, and returns the element finishGroup: function() { var g = this.paper_.group.apply(this.paper_, this._stack); this.beginGroup(); // Reset the group return g; }, createText: function(text, font) { text = text.split('\n').map(function(x) { return x.trim(); }); var t = this.paper_.text(0, 0, text); t.attr(font || {}); if (text.length > 1) { // Every row after the first, set tspan to be 1.2em below the previous line t.selectAll('tspan:nth-child(n+2)').attr({ dy: '1.2em', x: 0 }); } return t; }, drawLine: function(x1, y1, x2, y2, linetype, arrowhead) { var line = this.paper_.line(x1, y1, x2, y2).attr(LINE); if (linetype !== undefined) { line.attr('strokeDasharray', this.lineTypes_[linetype]); } if (arrowhead !== undefined) { line.attr('markerEnd', this.arrowMarkers_[arrowhead]); } return this.pushToStack(line); }, drawRect: function(x, y, w, h) { var rect = this.paper_.rect(x, y, w, h).attr(RECT); return this.pushToStack(rect); }, /** * Draws text with a optional white background * x,y (int) x,y top left point of the text, or the center of the text (depending on align param) * text (string) text to print * font (Object) * align (string) ALIGN_LEFT or ALIGN_CENTER */ drawText: function(x, y, text, font, align) { var t = this.createText(text, font); var bb = t.getBBox(); if (align == ALIGN_CENTER) { x = x - bb.width / 2; y = y - bb.height / 2; } // Now move the text into place // `y - bb.y` because text(..) is positioned from the baseline, so this moves it down. t.attr({x: x - bb.x, y: y - bb.y}); t.selectAll('tspan').attr({x: x}); this.pushToStack(t); return t; }, drawTitle: function() { this.beginGroup(); BaseTheme.prototype.drawTitle.call(this); return this.finishGroup().addClass('title'); }, drawActor: function(actor, offsetY, height) { this.beginGroup(); BaseTheme.prototype.drawActor.call(this, actor, offsetY, height); return this.finishGroup().addClass('actor'); }, drawSignal: function(signal, offsetY) { this.beginGroup(); BaseTheme.prototype.drawSignal.call(this, signal, offsetY); return this.finishGroup().addClass('signal'); }, drawSelfSignal: function(signal, offsetY) { this.beginGroup(); BaseTheme.prototype.drawSelfSignal.call(this, signal, offsetY); return this.finishGroup().addClass('signal'); }, drawNote: function(note, offsetY) { this.beginGroup(); BaseTheme.prototype.drawNote.call(this, note, offsetY); return this.finishGroup().addClass('note'); }, }); /****************** * SnapHandTheme ******************/ var SnapHandTheme = function(diagram, options, resume) { _.defaults(options, { 'css-class': 'hand', 'font-size': 16, 'font-family': 'danielbd' }); this.init(diagram, options, resume); }; // Take the standard SnapTheme and make all the lines wobbly _.extend(SnapHandTheme.prototype, SnapTheme.prototype, { drawLine: function(x1, y1, x2, y2, linetype, arrowhead) { var line = this.paper_.path(handLine(x1, y1, x2, y2)).attr(LINE); if (linetype !== undefined) { line.attr('strokeDasharray', this.lineTypes_[linetype]); } if (arrowhead !== undefined) { line.attr('markerEnd', this.arrowMarkers_[arrowhead]); } return this.pushToStack(line); }, drawRect: function(x, y, w, h) { var rect = this.paper_.path(handRect(x, y, w, h)).attr(RECT); return this.pushToStack(rect); } }); registerTheme('snapSimple', SnapTheme); registerTheme('snapHand', SnapHandTheme); } /** js sequence diagrams * https://bramp.github.io/js-sequence-diagrams/ * (c) 2012-2017 Andrew Brampton (bramp.net) * Simplified BSD license. */ /*global Diagram, Raphael, _ */ if (typeof Raphael != 'undefined') { var LINE = { 'stroke': '#000000', 'stroke-width': 2, 'fill': 'none' }; var RECT = { 'stroke': '#000000', 'stroke-width': 2, 'fill': '#fff' }; /****************** * Raphaël extras ******************/ Raphael.fn.line = function(x1, y1, x2, y2) { assert(_.every([x1,x2,y1,y2], _.isFinite), 'x1,x2,y1,y2 must be numeric'); return this.path('M{0},{1} L{2},{3}', x1, y1, x2, y2); }; /****************** * RaphaelTheme ******************/ var RaphaelTheme = function(diagram, options, resume) { this.init(diagram, _.defaults(options, { 'font-size': 16, 'font-family': 'Andale Mono, monospace' }), resume); }; _.extend(RaphaelTheme.prototype, BaseTheme.prototype, { init: function(diagram, options, resume) { BaseTheme.prototype.init.call(this, diagram); this.paper_ = undefined; this.font_ = { 'font-size': options['font-size'], 'font-family': options['font-family'] }; var a = this.arrowTypes_ = {}; a[ARROWTYPE.FILLED] = 'block'; a[ARROWTYPE.OPEN] = 'open'; var l = this.lineTypes_ = {}; l[LINETYPE.SOLID] = ''; l[LINETYPE.DOTTED] = '-'; resume(this); }, setupPaper: function(container) { this.paper_ = new Raphael(container, 320, 200); this.paper_.setStart(); }, draw: function(container) { BaseTheme.prototype.draw.call(this, container); this.paper_.setFinish(); }, layout: function() { BaseTheme.prototype.layout.call(this); this.paper_.setSize( this.diagram.width, this.diagram.height ); }, /** * Strip whitespace from each newline */ cleanText: function(text) { return text.split('\n').map(function(x) { return x.trim(); }).join('\n'); }, /** * Returns the text's bounding box */ textBBox: function(text, font) { text = this.cleanText(text); font = font || {}; var p; if (font.obj_) { p = this.paper_.print(0, 0, text, font.obj_, font['font-size']); } else { p = this.paper_.text(0, 0, text); p.attr(font); } var bb = p.getBBox(); p.remove(); return bb; }, drawLine: function(x1, y1, x2, y2, linetype, arrowhead) { var line = this.paper_.line(x1, y1, x2, y2).attr(LINE); if (arrowhead !== undefined) { line.attr('arrow-end', this.arrowTypes_[arrowhead] + '-wide-long'); } if (arrowhead !== undefined) { line.attr('stroke-dasharray', this.lineTypes_[linetype]); } return line; }, drawRect: function(x, y, w, h) { return this.paper_.rect(x, y, w, h).attr(RECT); }, /** * Draws text with a optional white background * x,y (int) x,y top left point of the text, or the center of the text (depending on align param) * text (string) text to print * font (Object) * align (string) ALIGN_LEFT or ALIGN_CENTER */ drawText: function(x, y, text, font, align) { text = this.cleanText(text); font = font || {}; align = align || ALIGN_LEFT; var paper = this.paper_; var bb = this.textBBox(text, font); if (align == ALIGN_CENTER) { x = x - bb.width / 2; y = y - bb.height / 2; } var t; if (font.obj_) { // When using a font, we have to use .print(..) t = paper.print(x - bb.x, y - bb.y, text, font.obj_, font['font-size']); } else { t = paper.text(x - bb.x - bb.width / 2, y - bb.y, text); t.attr(font); t.attr({'text-anchor': 'start'}); } return t; } }); /****************** * RaphaelHandTheme ******************/ var RaphaelHandTheme = function(diagram, options, resume) { this.init(diagram, _.defaults(options, { 'font-size': 16, 'font-family': 'daniel' }), resume); }; // Take the standard RaphaelTheme and make all the lines wobbly _.extend(RaphaelHandTheme.prototype, RaphaelTheme.prototype, { setupPaper: function(container) { RaphaelTheme.prototype.setupPaper.call(this, container); this.font_.obj_ = this.paper_.getFont('daniel'); }, drawLine: function(x1, y1, x2, y2, linetype, arrowhead) { var line = this.paper_.path(handLine(x1, y1, x2, y2)).attr(LINE); if (arrowhead !== undefined) { line.attr('arrow-end', this.arrowTypes_[arrowhead] + '-wide-long'); } if (arrowhead !== undefined) { line.attr('stroke-dasharray', this.lineTypes_[linetype]); } return line; }, drawRect: function(x, y, w, h) { return this.paper_.path(handRect(x, y, w, h)).attr(RECT); } }); registerTheme('raphaelSimple', RaphaelTheme); registerTheme('raphaelHand', RaphaelHandTheme); } /*! * The following copyright notice may not be removed under any circumstances. * * Copyright: * Copyright (c) 2011 by Daniel Midgley. All rights reserved. * * Trademark: * Please refer to the Copyright section for the font trademark attribution * notices. * * Full name: * Daniel-Bold * * Description: * Daniel Bold is a font by Daniel Midgley. * * Designer: * Daniel Midgley * * Vendor URL: * http://goodreasonblog.blogspot.com/p/fontery.html * * License information: * http://creativecommons.org/licenses/by-nd/3.0/ */ if (typeof Raphael != 'undefined') { Raphael.registerFont({ "w": 209, "face": { "font-family": "Daniel", "font-weight": 700, "font-stretch": "normal", "units-per-em": "360", "panose-1": "2 11 8 0 0 0 0 0 0 0", "ascent": "288", "descent": "-72", "x-height": "7", "bbox": "-92.0373 -310.134 519 184.967", "underline-thickness": "3.51562", "underline-position": "-25.1367", "unicode-range": "U+0009-U+F002" }, "glyphs": { " ": { "w": 179 }, "\t": { "w": 179 }, "\r": { "w": 179 }, "!": { "d": "66,-306v9,3,18,11,19,24v-18,73,-20,111,-37,194v0,10,2,34,-12,34v-12,0,-18,-9,-18,-28v0,-85,23,-136,38,-214v1,-7,4,-10,10,-10xm25,-30v15,-1,28,34,5,35v-11,-1,-38,-36,-5,-35", "w": 115 }, "\"": { "d": "91,-214v-32,3,-25,-40,-20,-68v3,-16,7,-25,12,-27v35,13,14,56,8,95xm8,-231v4,-31,1,-40,18,-75v37,7,11,51,11,79v-3,3,-4,8,-5,13v-17,4,-16,-10,-24,-17", "w": 117 }, "#": { "d": "271,-64v-30,26,-96,-7,-102,51v-6,2,-13,2,-24,-2v-2,-11,10,-21,2,-28v-14,5,-48,0,-48,22v0,23,-11,14,-29,10v-7,-6,6,-19,-1,-24r-32,4v-19,-8,-15,-24,5,-28r33,-6v4,0,24,-23,11,-27v-26,0,-63,14,-74,-10v3,-1,9,-17,16,-10v15,-8,81,4,89,-30v8,-14,16,-34,24,-38v23,9,24,38,5,49v37,24,55,-38,72,-43v19,10,20,23,-1,45v2,8,23,1,29,4v3,3,6,6,10,11v-14,13,-20,12,-45,12v-17,0,-16,17,-19,29v18,-7,49,3,67,-2v4,0,8,4,12,11xm161,-104v-30,-1,-44,10,-44,37v14,1,24,0,40,-5v0,-1,3,-10,8,-26v0,-4,-1,-6,-4,-6", "w": 285 }, "$": { "d": "164,-257v29,4,1,42,-3,50v5,5,38,13,41,24v8,4,6,15,-2,21v-18,3,-36,-17,-49,-17v-17,1,-31,40,-28,48v5,4,8,8,9,10v13,1,35,37,28,44v-10,21,-36,20,-65,28v-10,10,-12,40,-17,51v-9,-3,-28,1,-18,-17v0,-13,5,-24,-1,-35v-18,1,-59,-10,-42,-29v21,0,56,16,55,-16v5,-4,9,-18,9,-26v-14,-15,-55,-41,-53,-65v2,-33,56,-19,98,-26v10,-14,31,-43,38,-45xm93,-152v11,-10,15,-15,14,-29v-17,-3,-37,1,-43,6v10,12,20,19,29,23xm111,-103v-8,1,-11,12,-10,22v10,0,28,2,27,-8v0,-4,-13,-15,-17,-14", "w": 225 }, "%": { "d": "181,-96v24,-7,67,-13,104,1v14,18,21,19,22,44v-13,43,-99,61,-146,36v-9,-9,-22,-11,-32,-29v0,-27,24,-53,52,-52xm139,-185v-9,68,-138,73,-131,-5v0,-3,3,-9,9,-17v13,1,27,1,17,-16v5,-39,63,0,93,-6v36,1,80,-9,102,11v15,32,12,32,-8,56v-16,21,-103,78,-152,125r-14,28v-23,11,-25,-7,-29,-20v34,-71,133,-98,171,-162v-13,-12,-52,-5,-61,1v0,1,1,3,3,5xm38,-190v0,34,55,29,70,8v0,-14,-20,-11,-32,-14v-14,-3,-24,-9,-40,-10v1,0,5,11,2,16xm172,-53v12,27,90,18,102,-5v-18,-7,-32,-10,-40,-10v-29,3,-57,-4,-62,15", "w": 308 }, "&": { "d": "145,-82v17,-8,47,-15,71,-26v13,2,25,12,9,23v-23,7,-40,16,-53,27r0,6v13,8,30,21,36,38v0,8,-4,12,-11,12v-19,0,-43,-39,-59,-44v-30,12,-65,29,-97,32v-32,3,-45,-41,-23,-63v21,-20,52,-26,70,-48v-4,-31,-12,-47,9,-73v13,-16,20,-29,23,-39v15,-15,32,-22,51,-22v30,9,62,64,32,96v-2,3,-47,42,-69,48v-15,8,-11,9,0,22v6,7,10,11,11,11xm114,-138v25,-13,62,-38,74,-62v0,-9,-10,-31,-20,-29v-28,7,-60,42,-60,75v0,10,2,15,6,16xm99,-91v-18,10,-54,18,-59,45v26,5,61,-12,77,-22v-1,-5,-13,-23,-18,-23", "w": 253 }, "'": { "d": "36,-182v-36,7,-34,-61,-17,-80v15,1,21,19,21,20r-1,-1v0,0,-1,12,-5,35v1,5,3,17,2,26", "w": 63 }, "(": { "d": "130,-306v13,2,23,43,-1,43v-49,43,-77,77,-90,148v5,49,27,67,64,101v4,14,5,6,2,19r-15,0v-35,-17,-79,-58,-79,-120v0,-58,66,-176,119,-191", "w": 120 }, ")": { "d": "108,-138v-2,73,-48,120,-98,153v-17,-5,-16,-20,-6,-31v52,-64,73,-62,74,-135v1,-42,-40,-98,-58,-128v0,-5,-1,-12,-2,-22v18,-18,25,0,42,27v25,39,50,66,48,136", "w": 120 }, "*": { "d": "121,-271v15,-5,36,-8,40,9v-5,10,-31,19,-47,31v0,11,34,43,14,53v-18,8,-24,-24,-34,-20v-4,10,-4,19,-12,41v-25,7,-15,-30,-17,-47v-13,-1,-17,9,-46,30r-10,0v-20,-32,37,-43,54,-64v-10,-11,-36,-33,-16,-51v3,0,14,8,33,24v8,-10,26,-39,32,-42v14,7,15,23,9,36", "w": 177 }, "+": { "d": "163,-64v-7,22,-65,2,-77,21v-2,10,-6,21,-11,35v-20,4,-21,-12,-19,-29v3,-23,-44,6,-39,-27v-8,-22,36,-8,49,-18v8,-13,6,-36,24,-40v19,-4,14,32,11,39v18,3,19,2,54,8v2,1,5,5,8,11", "w": 170 }, ",": { "d": "25,63v-26,21,-48,-2,-22,-24v14,-12,35,-40,35,-69v3,-2,3,-11,12,-9v35,17,5,88,-25,102", "w": 97 }, "-": { "d": "57,-94v19,4,55,-5,54,17v-15,23,-54,20,-91,15v-4,2,-13,-10,-11,-16v-1,-22,28,-15,48,-16", "w": 124 }, ".": { "d": "40,-48v21,20,21,44,-4,44v-33,0,-26,-24,-10,-44r14,0", "w": 67 }, "\/": { "d": "21,20v-22,-45,21,-95,41,-126v38,-57,115,-158,193,-201v2,0,4,3,7,11v11,29,-15,34,-25,55v-81,56,-189,208,-197,261r-19,0", "w": 275 }, "0": { "d": "78,-237v70,-47,269,-41,270,59v0,34,-11,53,-29,76v-13,35,-30,32,-85,64v-6,2,-10,6,-7,8v-73,14,-98,38,-173,1v-7,-13,-52,-48,-46,-88v9,-57,27,-75,70,-120xm123,-38v100,0,202,-46,195,-153v-32,-55,-144,-73,-211,-35v-16,34,-68,54,-53,108v6,25,1,22,-3,39v6,24,41,41,72,41", "w": 353 }, "1": { "d": "39,-208v0,-14,6,-59,29,-39v3,4,6,13,10,24r-22,128r8,87v-4,6,-9,3,-16,2v-44,-38,-9,-137,-9,-202", "w": 93 }, "2": { "d": "88,-35v47,-10,119,-24,168,-9v0,12,-23,13,-35,16v1,1,3,1,5,1v-74,8,-118,23,-194,23v-14,0,-20,-13,-21,-28v55,-40,83,-61,123,-104v26,-13,65,-67,71,-102v-1,-9,-11,-16,-22,-16v-20,-1,-120,29,-156,49v-10,-2,-30,-20,-10,-28v50,-21,111,-51,178,-48v25,10,44,22,36,39v12,30,-19,64,-34,83v-39,48,-37,39,-115,109v0,5,-3,8,-8,11v4,3,8,4,14,4", "w": 265 }, "3": { "d": "188,-282v34,-10,74,25,47,51v-19,32,-55,50,-92,70v28,14,116,25,108,70v8,14,-49,40,-63,48v-29,9,-130,22,-168,42v-6,-5,-19,-7,-12,-22v56,-36,175,-21,210,-76v-9,-20,-88,-42,-97,-33v-20,-1,-41,2,-56,-7r5,-21v56,-25,103,-36,137,-78v1,-1,2,-5,4,-11v-15,-14,-56,7,-79,0v-10,9,-73,22,-92,31v-11,-4,-28,-23,-13,-30v50,-22,96,-26,154,-37v0,-1,8,3,7,3", "w": 260 }, "4": { "d": "79,-249v-7,17,-29,75,-33,96v0,6,3,8,8,8v43,-2,111,6,141,-6v17,-47,20,-100,63,-148v9,4,16,7,21,10v-17,31,-44,95,-51,141v7,4,24,-4,23,10v-1,16,-29,12,-31,23v-10,22,-9,69,-7,103v-3,2,-7,5,-10,9v-47,-11,-23,-74,-16,-114v0,-4,-2,-6,-7,-6v-65,2,-89,13,-162,4v-22,-22,-2,-53,5,-76v16,-15,17,-57,35,-70v6,-1,21,11,21,16", "w": 267 }, "5": { "d": "185,-272v30,7,45,-8,53,18v1,16,-17,18,-34,14v0,0,-95,-11,-129,1v-6,9,-24,33,-29,54v76,10,171,5,214,47v11,11,22,30,5,52v-14,12,-30,14,-34,27v-26,11,-141,63,-157,60v-16,-2,-25,-19,-4,-27v48,-18,128,-39,170,-86v4,-14,-65,-41,-85,-41r-92,0v-10,-4,-66,-1,-57,-23v0,-23,23,-51,35,-83v11,-28,133,-10,144,-13", "w": 284 }, "6": { "d": "70,-64v9,-51,63,-74,123,-71v43,2,109,3,111,41r-25,47v0,1,1,2,2,3v-5,0,-39,10,-41,20v-15,3,-22,4,-22,11v-39,1,-77,20,-119,13v-42,-7,-35,-9,-77,-46v-56,-118,94,-201,176,-229v7,0,21,8,20,15v-2,17,-23,15,-43,24v-69,31,-119,72,-134,145v-5,25,36,68,78,64v59,-6,128,-18,153,-61v-7,-14,-13,-9,-32,-21v-67,-15,-118,-5,-150,43r0,12v-13,4,-17,-3,-20,-10", "w": 310 }, "7": { "d": "37,-228v33,-14,173,-17,181,-19v28,-1,24,31,9,45v-17,15,-45,49,-59,69v-17,26,-55,67,-61,113v-10,13,-9,14,-14,20v-33,-13,-20,-25,-11,-53v16,-48,73,-115,109,-156v2,-7,5,-14,-10,-12v-26,4,-54,6,-76,13v-23,-5,-83,31,-94,-9v2,-8,18,-19,26,-11", "w": 245 }, "8": { "d": "57,-236v40,-50,166,-51,213,-10v22,28,10,63,-22,78r-35,17v8,5,54,24,53,44v-5,14,-4,33,-18,42v-13,13,-35,18,-44,34v-60,27,-190,49,-194,-42v7,-41,17,-54,59,-70r0,-4v-32,-9,-73,-62,-26,-85v4,0,8,-2,14,-4xm142,-160v24,-2,160,-31,99,-72v-28,-18,-108,-33,-146,-5v-16,12,-28,30,-33,59v24,12,37,20,80,18xm41,-62v30,65,189,6,199,-37v3,-14,-60,-30,-74,-30v-70,0,-118,10,-125,67", "w": 290 }, "9": { "d": "11,-192v15,-49,119,-61,161,-23v16,15,27,55,11,79v-20,62,-51,79,-96,118v-10,4,-45,27,-50,6v9,-15,66,-52,98,-99v-7,-7,-8,-3,-25,0v-49,-11,-96,-25,-99,-81xm145,-131v7,-5,13,-34,13,-41v-2,-51,-104,-38,-114,-6v-2,10,37,35,46,35v23,1,43,-1,55,12", "w": 198 }, ":": { "d": "39,-125v15,-8,40,-1,40,15v0,15,-6,22,-19,22v-13,0,-29,-21,-21,-37xm66,-17v-8,27,-51,19,-46,-8v-1,-6,8,-22,14,-20v29,0,30,6,32,28", "w": 95 }, ";": { "d": "56,-93v2,-30,37,-22,40,2v0,2,-1,7,-3,15v-13,8,-15,6,-27,4xm64,-44v11,-11,30,-4,32,14v-21,39,-63,71,-92,85v-5,0,-11,-2,-18,-8v11,-23,36,-36,50,-61v11,-7,19,-20,28,-30", "w": 107 }, "<": { "d": "166,-202v12,0,29,15,24,29v0,4,-119,64,-120,73v15,21,89,64,91,86v2,29,-18,12,-30,15v-27,-29,-59,-54,-95,-75v-18,-10,-25,-13,-24,-41", "w": 176 }, "=": { "d": "125,-121v18,7,55,-9,69,14v0,17,-45,26,-135,26v-18,0,-27,-7,-27,-21v-1,-37,60,-5,93,-19xm138,-71v20,0,48,-1,50,16v-13,24,-86,32,-131,29v-29,-2,-43,-10,-43,-24v-7,-23,36,-14,39,-17v27,6,57,-4,85,-4", "w": 196 }, ">": { "d": "4,-14v20,-48,77,-59,118,-94v-16,-19,-58,-52,-81,-75v-11,-7,-15,-38,-1,-40v33,16,83,71,121,105v26,23,-6,35,-41,53v-29,16,-56,28,-73,54v-21,15,-16,20,-34,15v-3,0,-9,-16,-9,-18", "w": 174 }, "?": { "d": "105,-291v57,-13,107,-4,107,39v0,67,-136,85,-155,137v-1,6,10,23,-4,23v-23,1,-33,-35,-23,-57v31,-41,124,-60,149,-103v-8,-21,-72,-5,-88,-1v-23,6,-59,39,-71,8v0,0,-1,0,1,-17v10,-4,45,-20,84,-29xm80,-25v-6,4,-8,39,-24,22v-24,3,-22,-21,-13,-35v17,-7,29,5,37,13", "w": 216 }, "@": { "d": "218,-207v23,8,42,14,47,37v44,68,-27,137,-87,85r1,0v0,2,-59,19,-61,17v-35,0,-42,-47,-17,-68r0,-4v-19,-1,-45,37,-49,40v-37,76,58,72,121,62v11,-2,34,-13,36,3v-14,31,-69,31,-114,33v-51,2,-99,-41,-80,-92v2,-30,22,-40,42,-63v35,-20,91,-53,161,-50xm217,-101v23,0,35,-19,35,-41v0,-43,-75,-41,-102,-19v36,3,55,16,62,41v-6,5,-6,19,5,19xm127,-110v8,5,51,-15,28,-16v-4,0,-25,4,-28,16", "w": 291 }, "A": { "d": "97,-81v-23,-10,-39,38,-52,60v-8,6,-8,6,-22,18v-22,-7,-23,-37,-4,-49v7,-8,11,-15,15,-23r-1,1v-14,-26,23,-29,31,-40v1,-1,15,-29,26,-36v17,-31,39,-58,54,-92v16,-20,20,-51,41,-66v29,5,34,62,45,92v9,64,21,103,49,155v-3,25,-44,11,-54,0v-34,-12,-97,-29,-128,-20xm107,-118v20,6,80,10,111,17v6,-7,-4,-15,-7,-24v-11,-28,-9,-92,-30,-117v-9,9,-19,44,-34,55v-9,23,-27,40,-40,69", "w": 294 }, "B": { "d": "256,-179v41,10,115,34,91,91v-6,3,-14,12,-19,20v-37,19,-50,34,-63,25v-9,10,-12,11,-34,13r3,-3v-4,-4,-12,-4,-18,0v0,0,2,2,5,4v-21,14,-26,6,-44,15v-4,0,-7,-2,-8,-5v-6,11,-20,-5,-18,11v-36,4,-91,35,-114,4v-7,-62,-10,-138,4,-199v-1,-19,-37,2,-37,-27v0,-8,2,-13,6,-15v68,-31,231,-92,311,-39v8,12,12,20,12,25v-8,42,-32,49,-77,80xm79,-160v72,-17,135,-39,184,-70v20,-13,31,-23,31,-27v1,-6,-30,-13,-38,-12v-54,0,-116,13,-186,41v11,21,1,48,9,68xm262,-43v0,-4,3,-6,-4,-5v0,1,1,2,4,5xm211,-140v-34,7,-94,24,-139,15v-6,20,-4,56,-4,82v0,29,43,1,56,2v48,-11,108,-25,154,-48v20,-10,32,-17,32,-25v0,-18,-33,-26,-99,-26xm195,-20v6,1,6,-2,5,-7v-3,2,-7,2,-5,7", "w": 364 }, "C": { "d": "51,-114v-12,75,96,76,166,71r145,-10v9,2,9,5,9,18v-37,18,-85,28,-109,22v-18,10,-47,10,-71,10v-29,0,-68,1,-105,-11v-6,-1,-10,-3,-10,-8v-33,-13,-48,-33,-66,-59v-19,-114,146,-150,224,-177v35,0,88,-31,99,7v-1,29,-49,14,-76,28v-55,8,-115,35,-175,71v-13,8,-23,21,-31,38", "w": 376 }, "D": { "d": "312,-78v-2,1,-3,7,-10,5v6,-3,10,-4,10,-5xm4,-252v2,-27,83,-38,106,-39v130,-7,267,1,291,109v0,0,-2,8,-3,25v-5,9,-4,28,-23,34v-4,4,-2,5,-7,0v-3,3,-15,7,-5,10v0,0,-10,14,-13,2v-11,1,-8,5,-20,14v1,2,7,3,9,1v-4,13,-22,13,-11,4v0,-3,1,-6,-3,-5v-40,29,-103,38,-141,65v10,6,22,-7,34,-3v-41,20,-127,44,-171,46v-21,1,-47,-33,-11,-39v15,-2,43,-6,56,-11v-16,-101,-5,-130,9,-207v2,0,4,-1,6,-3v-16,-17,-91,38,-103,-3xm297,-69v-7,3,-17,8,-25,7v1,1,3,2,5,2v-4,2,-11,5,-23,9v4,-11,30,-21,43,-18xm240,-51v10,0,12,2,0,6r0,-6xm220,-36v-1,-3,4,-6,6,-3v0,1,-2,1,-6,3xm125,-48v16,6,137,-46,155,-53v29,-18,101,-44,82,-93v-21,-53,-84,-61,-168,-67v-20,7,-50,3,-77,8v33,54,-12,132,8,205xm159,-22v-4,-1,-15,-5,-15,2v7,-1,12,-2,15,-2", "w": 381 }, "E": { "d": "45,-219v-19,-36,34,-41,63,-36v44,-10,133,-8,194,-15v3,2,38,11,52,15v-73,19,-171,21,-246,38v-9,11,-16,32,-20,61v35,11,133,-6,183,3v1,6,2,7,3,14v-46,24,-118,16,-193,27v-15,13,-22,52,-22,66v60,1,121,-20,188,-20v22,10,53,-7,74,5v16,29,-23,26,-43,32v-73,4,-139,13,-216,27r-52,-10v-4,-22,23,-69,26,-98v-3,0,-10,-15,-12,-24v20,-12,34,-23,35,-67v2,-1,5,-5,5,-7v0,-4,-14,-11,-19,-11", "w": 353 }, "F": { "d": "270,-258v13,2,59,6,48,34v-78,-3,-143,1,-212,22v-10,16,-21,43,-24,69r145,-9v8,3,29,-3,16,21v-14,-1,-59,13,-60,7v-12,13,-67,18,-108,21v-2,1,-4,3,-7,6v-2,23,-8,43,-7,69v1,28,-30,11,-40,5r10,-80r-26,-14v5,-10,10,-33,28,-25v21,-3,15,-46,26,-59v-1,-3,-32,-13,-28,-24v2,-22,45,-16,59,-30v47,4,99,-14,151,-9v5,-3,25,-3,29,-4", "w": 236 }, "G": { "d": "311,-168v53,0,94,57,74,110v-31,37,-71,34,-136,52v-13,-7,-41,10,-57,7v-73,-1,-122,-17,-162,-59v-49,-51,-24,-80,5,-130v35,-61,138,-93,214,-106v16,4,42,-1,40,21v-5,40,-39,2,-73,21v-76,19,-162,65,-177,142v28,103,237,76,312,29v2,-3,3,-7,3,-13v-10,-35,-37,-43,-87,-45v-16,-13,-53,-9,-78,1v-4,-3,-5,-7,-5,-11v17,-29,73,-17,108,-24v12,4,18,5,19,5", "w": 391 }, "H": { "d": "300,-268v18,12,19,32,4,51v-35,44,-34,140,-46,217v-1,5,-5,13,-11,12v-6,1,-19,-14,-18,-27r7,-106v-28,7,-76,22,-116,14v-18,2,-36,6,-55,3v-43,-8,-14,53,-33,75v-29,1,-26,-67,-21,-97v5,-31,28,-73,43,-98v2,2,7,3,14,3v13,33,-11,48,-13,78v61,4,118,2,176,2v8,0,13,-6,15,-20v4,-47,21,-87,54,-107", "w": 288 }, "I": { "d": "63,-266v34,10,-4,105,-8,128r-24,126v-2,2,-3,1,-9,6v-12,-10,-12,-15,-12,-47v0,-93,9,-156,28,-188v10,-17,19,-25,25,-25", "w": 79 }, "J": { "d": "235,-291v26,11,31,104,31,142v0,37,-2,95,-32,126v-33,34,-121,26,-167,1v-18,-11,-54,-29,-59,-59v0,-3,5,-15,16,-14v31,36,90,57,162,51v63,-30,56,-148,32,-226v-1,-16,11,-13,17,-21", "w": 282 }, "K": { "d": "212,-219v17,-5,80,-60,80,-19v0,9,-2,14,-5,16r-132,78v-34,23,-54,32,-21,50v39,21,74,23,124,41v5,2,7,5,7,9v-4,24,-55,15,-79,8v-67,-19,-98,-36,-116,-83v9,-24,38,-35,66,-61v7,-4,49,-30,76,-39xm47,-194v11,-20,11,-45,31,-55v2,2,4,3,6,0v29,39,-21,96,-18,128v-17,24,-15,62,-29,113v-4,3,-10,7,-19,11v-12,-13,-10,-28,-8,-53v3,-31,17,-79,37,-144", "w": 270 }, "L": { "d": "84,-43v58,0,179,-27,242,-4v3,17,-29,24,-40,26v-85,-4,-202,46,-268,3v-24,-16,-2,-33,-4,-57v26,-76,38,-108,86,-191v14,-7,26,-50,45,-32v6,22,5,31,-12,46v-20,39,-50,82,-67,142v-7,6,-19,46,-19,54v0,9,12,13,37,13", "w": 331 }, "M": { "d": "174,-236v-1,52,-11,92,-7,143v10,5,15,-12,22,-18v42,-55,90,-130,136,-174r15,-18v42,2,32,53,11,80v-12,58,-54,143,-34,210v0,3,-3,12,-9,10v-31,-5,-32,-57,-27,-92v4,-27,12,-58,25,-93v-5,-10,5,-19,6,-30v-46,44,-66,110,-129,172v-11,10,-18,15,-22,15v-34,6,-28,-103,-28,-152v-28,22,-65,119,-96,170v-9,15,-34,3,-31,-19v30,-64,91,-177,139,-229v12,-1,29,13,29,25", "w": 343 }, "N": { "d": "248,-20v-3,17,-37,18,-43,3v-24,-35,-53,-145,-80,-203v-32,40,-55,120,-92,174v-13,3,-26,-13,-27,-22r87,-171v4,-13,20,-57,42,-32v42,48,46,139,82,198v29,-45,46,-88,65,-153v12,-19,23,-42,38,-60v27,-1,14,18,4,44v-6,46,-32,68,-37,121v-15,29,-33,69,-39,101", "w": 307 }, "O": { "d": "240,-268v85,1,163,29,150,125v13,7,-12,18,-5,26v-23,63,-133,112,-228,124v-80,-16,-171,-56,-148,-153v11,-47,20,-43,53,-83v17,-9,39,-22,73,-29v45,-10,81,-10,105,-10xm363,-156v16,-51,-62,-85,-111,-79v-25,-11,-50,8,-81,0v-15,10,-70,16,-85,31v6,20,-27,24,-39,45v-42,75,40,128,115,128v56,0,209,-71,201,-125", "w": 383 }, "P": { "d": "70,-225v-7,-12,-36,16,-49,19v-4,0,-9,-5,-14,-17v21,-47,114,-55,172,-59v41,-3,132,33,99,87v-21,34,-72,59,-144,80v-2,16,-79,3,-74,46v3,25,-5,47,-10,68v-22,-1,-23,-29,-22,-56v2,-25,-20,-32,-8,-50v21,-5,10,-35,25,-57v6,-28,14,-48,25,-61xm71,-229v47,14,-2,50,-1,99v41,-3,113,-37,173,-76v5,-9,8,-14,8,-15v-28,-47,-125,-29,-180,-8", "w": 252 }, "Q": { "d": "374,-217v20,59,-11,127,-48,156r30,38v-1,6,-8,16,-14,9v-3,0,-19,-9,-47,-26v-72,35,-173,75,-236,12v-70,-40,-67,-213,26,-217r8,5v24,-20,72,-48,112,-38v21,-4,22,-1,50,-2v66,-2,94,20,119,63xm296,-88v13,5,61,-49,63,-84v4,-62,-54,-78,-119,-76v-14,-6,-49,5,-71,3v-42,16,-89,41,-93,94v-9,11,1,25,-7,38v-12,-19,-7,-67,-1,-88v-56,30,-37,137,19,155v27,17,92,19,119,0v12,-2,29,-9,52,-20v2,-2,3,-3,3,-6v-11,-12,-46,-27,-54,-56v0,-13,3,-19,9,-19v18,1,60,52,80,59", "w": 379 }, "R": { "d": "100,-275v96,-23,196,-10,208,78v-3,18,-17,52,-49,62v-14,20,-54,23,-79,40v-2,0,-14,2,-36,6v-40,8,-30,14,-3,33v37,27,52,30,118,55v16,6,31,23,12,27v-58,-2,-104,-29,-143,-61v-14,-3,-16,-15,-39,-27v-23,-19,-28,-12,-15,-38v63,-19,111,-15,163,-53v27,-20,43,-36,43,-49v0,-64,-120,-62,-173,-38v-9,4,-38,9,-40,18v-10,32,-16,70,-13,116v-10,21,-8,47,-6,75v2,31,-9,29,-27,22v-9,-55,5,-140,15,-190v-8,-6,-24,10,-24,-11v0,-34,16,-34,42,-55v2,-1,17,-4,46,-10", "w": 297 }, "S": { "d": "13,-3v-7,-3,-22,-18,-5,-22v68,-15,119,-32,154,-45v51,-19,39,-34,3,-53v-46,-25,-82,-30,-121,-64v-33,-29,-50,-35,-25,-58v37,-20,119,-29,181,-29v29,0,44,6,44,18v-9,26,-62,6,-104,14v-17,2,-72,6,-92,16v37,53,132,58,180,111v8,9,11,20,11,30v-4,17,-23,35,-42,34v-21,16,-17,1,-49,17v-14,7,-41,9,-56,20v-25,-3,-49,10,-79,11", "w": 234 }, "T": { "d": "141,-3v-36,-6,1,-49,-3,-79v10,-19,6,-35,15,-64r26,-85v-51,-9,-100,10,-141,14v-16,2,-30,-26,-11,-32v26,-8,143,-8,179,-19r12,6v67,-2,142,-1,200,-1v8,0,14,3,19,10v-18,16,-74,3,-103,14v-48,-4,-60,4,-113,7v-42,22,-36,130,-58,187v1,12,-9,44,-22,42", "w": 277 }, "U": { "d": "365,-262v13,56,-22,104,-36,141v-19,22,-30,38,-57,56v-4,18,-60,35,-78,50v-53,28,-142,0,-161,-34v-31,-56,-37,-108,-11,-164v17,-33,29,-50,48,-29v-2,2,-3,7,-4,13v-44,36,-38,149,7,174v30,26,55,19,102,4v56,-17,66,-34,120,-76v12,-24,56,-68,46,-122r0,-16v0,1,-1,3,-1,6v4,-13,11,-10,25,-3", "w": 368 }, "V": { "d": "246,-258v21,-22,31,-26,44,-8v1,1,-12,22,-28,35v-15,25,-41,38,-56,69v-13,15,-20,31,-28,57v-15,13,-11,29,-27,72v3,21,-5,24,-27,27v-33,-45,-54,-118,-84,-167v-5,-26,-18,-50,-25,-76v-3,-12,24,-8,29,-5v8,13,18,52,26,70r52,115v9,-2,4,-9,10,-21r25,-47v25,-44,46,-76,89,-121", "w": 234 }, "W": { "d": "31,-213v16,46,17,106,41,151v31,-35,49,-89,76,-127v30,-15,39,27,52,56v10,22,21,48,35,67v2,0,4,-1,5,-3v16,-28,50,-76,79,-121v14,-21,40,-63,64,-83r5,8v-30,58,-76,110,-97,173v-18,28,-25,37,-33,63v-11,1,-16,25,-30,15v-21,-31,-44,-89,-62,-131v0,-2,-1,-3,-5,-5v-17,11,-16,36,-31,50v-20,33,-20,84,-68,94v-24,-19,-23,-81,-39,-111v-1,-15,-29,-94,-10,-108v9,2,12,5,18,12", "w": 331 }, "X": { "d": "143,-183v43,-25,69,-36,126,-62v22,-10,86,-10,56,21v-51,3,-158,61,-154,64v10,15,41,30,50,52v27,17,46,60,70,82v9,14,-6,30,-24,20v-35,-43,-75,-100,-116,-132v-48,13,-100,47,-118,94v-1,49,-26,34,-27,4v-1,-26,13,-27,17,-48v22,-27,68,-55,90,-77v-9,-12,-60,-39,-79,-57v-6,-10,-6,-25,12,-25", "w": 312 }, "Y": { "d": "216,-240v19,-14,42,10,22,26v-54,66,-121,109,-156,197v-8,21,-11,15,-30,4v3,-37,27,-61,33,-76v12,-12,15,-19,32,-42v-8,-6,-40,5,-45,5v-48,-6,-69,-65,-56,-113v14,0,13,-1,24,7v2,33,12,75,42,73v36,-2,102,-57,134,-81", "w": 189 }, "Z": { "d": "60,-255v66,12,200,-34,240,21v-13,42,-63,62,-98,89v-19,15,-47,33,-82,55v-25,16,-47,32,-66,47v58,24,129,-6,208,-6v23,0,36,12,13,19v-33,2,-53,5,-86,10v-32,18,-88,15,-135,15v-9,-1,-55,-1,-48,-29v1,-24,30,-24,40,-41v64,-50,151,-86,208,-147v-38,-17,-155,12,-198,-4v0,0,-11,-33,4,-29", "w": 310 }, "[": { "d": "72,-258r-15,250v30,4,55,-3,80,-6v7,-1,8,17,9,23v-28,15,-73,23,-121,21v-7,0,-10,-6,-10,-17v0,-60,25,-193,22,-288v0,-16,13,-20,33,-19v9,-3,34,-12,51,-12v16,0,15,16,19,29v-16,7,-48,10,-68,19", "w": 151 }, "\\": { "d": "236,38v20,-18,-8,-74,-13,-90v-44,-78,-112,-190,-200,-253v-2,0,-5,4,-7,12v-11,31,13,36,24,58v74,61,174,219,180,273r16,0", "w": 257 }, "]": { "d": "133,-258v-23,-13,-84,6,-85,-32v0,-10,5,-15,14,-15v0,0,30,2,90,7v10,1,15,13,15,36v2,7,-8,59,-13,112r-11,125v-9,48,9,90,-59,71v-20,-4,-39,-1,-59,-4v-5,-10,-25,-12,-14,-30v8,-3,61,-13,78,-8v14,1,8,-7,10,-17v15,-69,21,-166,34,-245", "w": 171 }, "^": { "d": "68,-306v20,15,47,36,58,60v-1,4,0,7,-9,7v-26,0,-47,-38,-49,-32v-15,9,-41,50,-54,30v-2,-31,17,-23,33,-51v8,-9,15,-14,21,-14", "w": 135 }, "_": { "d": "11,15v-8,33,18,45,50,34r205,2r197,-5v11,-5,14,-9,7,-28v-95,-21,-258,-10,-376,-10v-25,0,-72,-3,-83,7", "w": 485 }, "`": { "d": "75,-264v16,8,56,14,39,43v-30,-8,-65,-23,-105,-44v-1,-3,-3,-28,5,-25v16,5,44,17,61,26", "w": 129 }, "a": { "d": "124,-56v10,4,59,41,65,50v1,7,-6,17,-12,17r-60,-30v-22,2,-42,21,-65,19v-33,4,-68,-67,-15,-81v41,-27,96,-39,110,9v0,6,-4,12,-11,16v-33,-25,-67,-5,-88,12v10,16,61,-18,76,-12", "w": 196 }, "b": { "d": "80,-140v69,1,123,0,134,52v5,26,-71,71,-97,70v-11,11,-88,22,-94,22v-11,-3,-26,-18,-6,-24v19,-5,-2,-19,-1,-35v1,-18,11,-36,-5,-47v-6,-17,-6,-21,14,-32v6,-45,18,-89,28,-124v2,-7,8,-12,17,-15v5,3,10,11,16,28v-12,27,-13,63,-23,96v0,6,6,9,17,9xm87,-107v-40,-9,-31,31,-39,54v8,15,0,25,12,22v30,-8,60,-18,88,-32v39,-18,49,-33,-1,-42v-20,-4,-45,-7,-60,-2", "w": 217 }, "c": { "d": "128,-123v29,-7,37,29,12,33v-27,-4,-40,6,-79,25v-8,4,-13,11,-16,22v30,32,91,3,134,11v5,13,-8,26,-22,19v-51,25,-139,28,-150,-30v6,-50,69,-82,121,-80", "w": 194 }, "d": { "d": "224,-201v0,-35,-17,-111,24,-94v7,86,-2,119,0,197v-4,2,-8,21,-18,16v-62,-7,-154,-8,-185,29v6,17,28,26,51,26v16,0,100,-15,132,-18v7,5,-6,20,-10,22v-24,8,-122,42,-163,25v-32,-5,-62,-53,-36,-80v35,-37,118,-46,198,-43v1,-22,7,-49,7,-80", "w": 265 }, "e": { "d": "4,-57v0,-58,51,-71,110,-74v33,-1,45,16,59,35v1,14,2,39,-7,42v-24,-2,-73,13,-99,11v-2,2,-2,3,-2,3v0,3,12,8,37,15v21,0,69,9,31,22v-9,14,-34,6,-56,6v-27,-5,-73,-28,-73,-60xm123,-102v-22,2,-68,5,-65,26v24,-2,66,5,79,-6v-5,-13,-1,-13,-14,-20", "w": 182 }, "f": { "d": "6,-59v6,-29,53,-4,53,-43v0,-64,29,-118,84,-150v45,-25,167,-24,155,51v-1,2,-7,6,0,6r-10,2v-45,-58,-165,-39,-186,39v-7,26,-11,42,-9,62v44,8,95,-21,135,-7v-12,25,-39,21,-76,30v-19,5,-18,7,-54,19v-2,8,15,32,17,35v-6,25,-26,26,-40,-5r-15,-24v-41,10,-44,12,-54,-15", "w": 234 }, "g": { "d": "132,-97v30,27,21,75,30,117v-12,31,-11,66,-36,103v-32,46,-105,83,-167,39v-31,-21,-49,-29,-51,-75v-2,-37,77,-50,121,-57v37,-6,68,-10,95,-11v7,-6,3,-32,4,-46v0,0,-1,1,-1,2v0,-18,-5,-31,-14,-45v-44,5,-79,20,-94,-18v3,-54,73,-54,125,-50v12,7,12,13,4,25v-30,-11,-76,8,-90,20v23,3,50,-16,74,-4xm-34,121v60,53,168,1,159,-86v-47,-7,-93,24,-142,30v-12,7,-45,19,-42,29v0,10,8,19,25,27", "w": 188 }, "h": { "d": "100,-310v11,-2,10,19,11,20v-11,52,-40,133,-53,189v-6,30,-9,37,-9,47v27,0,113,-34,143,-34v42,0,31,47,39,79v0,4,-5,17,-16,16v4,2,11,3,4,6v-24,-1,-28,-34,-25,-64v-1,-1,-2,-3,-5,-5v-51,0,-110,38,-162,51v-9,1,-15,-15,-16,-23v17,-89,39,-141,71,-264v0,-9,6,-19,18,-18", "w": 251 }, "i": { "d": "62,-209v7,18,9,23,-5,38v-23,-6,-21,-18,-11,-36v2,0,8,-1,16,-2xm34,-7v-18,-21,-8,-73,-1,-106v7,-10,20,-8,23,6v-1,36,7,72,-2,104v-8,2,-8,0,-20,-4", "w": 80 }, "j": { "d": "88,-191v5,28,-18,40,-28,21v0,-20,12,-29,28,-21xm82,-99v28,-1,16,35,16,61v0,60,-19,150,-35,202v-12,8,-19,31,-35,16v-32,-7,-43,-19,-56,-44r2,-17v11,4,49,45,61,18v10,-55,27,-107,30,-171v0,-16,0,-59,17,-65", "w": 120 }, "k": { "d": "59,-66v33,26,114,37,155,62v8,-4,22,-2,19,-17v0,-4,-12,-11,-30,-24v-36,-25,-54,-22,-99,-33v14,-21,119,-13,103,-63r-16,-7r-123,47r25,-93v-3,-15,16,-49,18,-81v1,-15,-21,-14,-25,-3v-31,82,-49,168,-75,257v2,2,22,30,27,10v2,-5,4,-9,9,-11v4,-16,4,-15,12,-44", "w": 236 }, "l": { "d": "66,-300v21,-6,37,23,30,55v-10,51,-28,135,-28,208v0,11,6,36,-13,37v-29,-5,-30,-48,-25,-83r28,-177v-6,-17,1,-29,8,-40", "w": 102 }, "m": { "d": "348,-59v-2,21,0,57,3,73v-17,3,-30,-1,-32,-16v-8,-7,-5,-44,-13,-70v-35,3,-82,49,-111,70v-12,8,-40,4,-39,-15r2,-56v-1,-13,4,-28,-8,-29v-35,8,-79,72,-115,87v-6,2,-20,-18,-21,-22v1,-20,14,-105,39,-64r8,15v17,-14,72,-56,93,-54v27,3,49,40,43,80v24,-2,66,-55,124,-53v11,14,28,23,27,54", "w": 368 }, "n": { "d": "121,-136v37,6,62,54,62,111v0,32,-16,25,-31,17v-18,-30,-5,-45,-22,-85v-37,-13,-71,55,-92,65v-20,-3,-39,-39,-21,-62v2,-12,3,-15,11,-30v12,-8,20,11,29,12", "w": 194 }, "o": { "d": "108,-139v52,-24,104,18,104,63v0,59,-66,67,-114,83v-52,-2,-115,-50,-80,-105v23,-18,52,-35,90,-41xm45,-60v16,54,125,16,131,-23v-12,-59,-129,-8,-131,23", "w": 217 }, "p": { "d": "82,14v-10,12,-8,117,-24,142v-15,2,-19,0,-29,-13v0,-76,9,-113,22,-192v14,-27,35,-6,37,13v0,8,-3,21,-7,38v2,2,3,2,4,2v26,-9,116,-33,126,-72v-7,-17,-24,-33,-49,-31v-40,3,-116,13,-116,47v-5,7,-2,17,-16,20v-17,-12,-18,-20,-12,-38v8,-25,74,-61,110,-59v55,-15,113,15,118,70v-15,52,-84,79,-146,83v-5,0,-11,-4,-18,-10", "w": 251 }, "q": { "d": "144,-147v27,-8,89,-3,97,31v-9,29,-42,-4,-73,1v-32,6,-118,20,-111,49v0,7,13,13,21,13v21,0,78,-24,104,-34v2,0,9,8,22,21v1,1,1,2,1,5v-27,90,-22,70,-43,203v11,15,-15,54,-33,33v-6,-8,-10,-20,-3,-28v1,-72,5,-114,15,-172v-35,3,-35,10,-59,8v-41,-4,-98,-41,-56,-85v33,-34,59,-27,118,-45", "w": 248 }, "r": { "d": "242,-117v2,22,5,10,-14,23v-73,-7,-166,-23,-174,56v-8,6,-3,20,-8,36v-29,10,-40,-9,-33,-46v6,-31,7,-69,32,-55v58,-37,66,-42,175,-19v3,5,15,4,22,5", "w": 229 }, "s": { "d": "154,-151v19,1,27,24,13,32v-4,1,-22,4,-53,7v-16,8,-22,-2,-39,9v23,21,89,16,96,62v-13,24,-85,35,-124,42v-9,-3,-18,-3,-27,0v-6,-4,-21,-16,-8,-25v30,-6,83,-13,102,-24v-17,-16,-80,-33,-97,-48v-3,-2,-4,-7,-4,-15v-6,-6,3,-13,15,-18v22,-9,94,-23,126,-22", "w": 188 }, "t": { "d": "85,-150v10,-41,35,-126,65,-134v4,1,24,19,11,36v-17,22,-29,57,-36,104v26,8,50,-7,73,5v14,0,22,3,22,9v-1,19,-44,18,-57,23v-10,1,-46,0,-54,10v-10,24,-4,67,-20,98v-21,-3,-26,1,-26,-20v0,-9,2,-36,8,-81v-15,-13,-81,9,-77,-27v4,-38,71,6,91,-23", "w": 194 }, "u": { "d": "207,-136v-1,-2,11,-14,14,-13v6,0,10,7,10,22v-3,40,-23,56,-40,82v-13,19,-62,43,-93,43v-67,-2,-111,-75,-71,-133v26,-3,21,29,19,49v-1,27,26,44,57,42v41,-2,93,-55,104,-92", "w": 242 }, "v": { "d": "24,-127r52,71v42,-16,70,-54,124,-65v5,4,8,7,8,11v-8,19,-4,8,-33,32v0,1,-1,3,-1,5v-61,45,-93,68,-97,68v-40,-15,-50,-72,-68,-100v6,-14,10,-22,15,-22", "w": 214 }, "w": { "d": "15,-139v38,-2,27,57,45,86v30,2,67,-66,101,-78v26,6,36,69,60,78v47,-35,51,-54,119,-104v3,0,7,-2,15,-4v19,23,-9,28,-21,49v-33,28,-68,90,-107,109v-10,6,-52,-47,-72,-71v-20,17,-85,74,-97,73v-38,7,-41,-98,-52,-122v0,-1,3,-7,9,-16", "w": 325 }, "x": { "d": "95,-124v22,-13,78,-32,99,-31v16,0,23,6,23,18v0,22,-17,11,-49,21v-3,0,-45,20,-42,24v0,1,2,4,8,10v20,24,49,41,44,80v-35,3,-27,-9,-60,-44v-40,-43,-37,-26,-79,9v-1,1,-2,3,-3,8v-12,8,-28,10,-27,-11v-6,-8,45,-65,48,-65v-17,-21,-61,-52,-24,-68v9,0,48,37,62,49", "w": 223 }, "y": { "d": "44,-65v22,33,70,4,99,-8v5,-4,28,-15,41,-31r17,0v25,47,-26,70,-40,114v-5,4,-9,8,-10,21v-16,12,-11,33,-27,51v-5,18,-12,43,-23,71v-1,-1,-2,34,-18,29v-12,1,-22,-12,-22,-23v20,-70,24,-65,68,-177v-47,16,-111,8,-116,-39v-11,-13,-7,-62,8,-62v18,0,22,26,23,54", "w": 216 }, "z": { "d": "189,-43v9,-1,46,-6,41,12v0,7,-5,13,-15,14v-45,6,-148,24,-181,13v0,-3,-5,-8,-14,-15v5,-44,66,-46,90,-85v-15,-18,-84,21,-84,-14v0,-10,5,-17,14,-18v33,-3,79,-13,109,-3v4,-2,14,11,12,15v0,23,-26,51,-78,84v28,10,73,-3,106,-3", "w": 244 }, "{": { "d": "94,-303v27,-9,90,-14,79,26v-20,17,-55,-5,-87,13v-4,1,-6,4,-6,8v33,42,31,44,7,85v-6,10,-13,16,-13,13v5,6,17,17,15,31r-33,78v7,35,28,49,57,63r49,0v7,42,-51,41,-86,20v-43,-13,-51,-51,-56,-89v-2,-25,25,-54,27,-71v-3,-4,-46,-5,-41,-21v2,-10,-3,-29,11,-25v2,0,51,-17,52,-38v4,-3,-25,-23,-25,-49v0,-41,8,-30,50,-44", "w": 179 }, "|": { "d": "30,-308v26,5,14,50,15,80v5,78,-8,153,-3,225v-2,15,-1,31,-11,36v-8,-3,-25,-22,-25,-32r9,-183v0,-40,0,-78,1,-112v0,-4,9,-15,14,-14", "w": 63 }, "}": { "d": "47,-298v34,-17,118,-18,112,36v6,25,-76,98,-69,103v4,16,39,7,44,28v7,34,-34,17,-37,39v8,29,49,83,23,123v-15,23,-43,26,-73,46v-34,8,-43,11,-49,-17v1,-15,30,-15,33,-20v24,-12,70,-27,55,-61v-14,-33,-37,-68,-19,-103v-46,-50,46,-100,60,-141v-10,-16,-68,6,-77,-12", "w": 143 }, "~": { "d": "7,-254v2,-6,59,-50,67,-46v11,-1,35,19,46,26v5,0,27,-10,66,-31v21,8,-1,25,-7,38v-27,21,-48,31,-65,31v-24,-11,-37,-39,-65,-9v-7,7,-26,36,-42,11v3,-5,-3,-17,0,-20", "w": 199 }, "\u00a0": { "w": 179 }, "\u00a1": { "d": "86,-197v8,16,-7,41,-24,25v-11,-11,-4,-16,-3,-29v13,0,15,-2,27,4xm46,-107v4,-8,11,-16,23,-7v19,26,-5,57,-6,87v-7,0,-5,18,-9,28v0,14,-17,52,-11,70v-2,7,-15,28,-25,12v-4,-6,-15,-7,-6,-16v2,-39,14,-96,34,-174", "w": 95 }, "\u00a2": { "d": "105,-188v13,-12,14,-18,26,-15v7,23,7,15,-3,49v6,0,18,14,17,20v-3,5,-12,19,-26,13v-14,1,-14,5,-16,21v10,10,46,-13,38,18v-9,17,-23,16,-54,20v-17,16,-4,55,-29,60v-37,-10,19,-64,-24,-71v-20,-10,-37,-47,-6,-62v23,-20,73,-4,77,-53xm65,-101v4,-9,7,-8,3,-13v-14,4,-22,10,-3,13", "w": 154 }, "\u00a3": { "d": "153,-170v3,22,62,0,49,39v-18,6,-31,12,-58,9v-12,-1,-17,30,-23,39v19,26,50,56,91,35v9,-2,27,-13,27,4v0,27,-27,39,-58,42v-32,-5,-59,-19,-78,-39v-6,1,-35,44,-57,39v-25,0,-37,-15,-37,-46v0,-41,43,-53,73,-50v4,1,12,-18,12,-21v-7,-15,-49,0,-44,-30v-2,-31,31,-16,60,-19v16,-30,25,-119,93,-113v16,2,75,16,50,44v-4,5,-7,7,-12,8v-18,-12,-32,-18,-41,-18v-35,-1,-38,52,-47,77xm43,-45v4,5,12,-2,11,-9v-1,2,-12,1,-11,9", "w": 242 }, "\u00a4": { "d": "308,-133r-200,16v-2,1,-6,4,-10,10v70,-2,144,-14,211,-8v3,0,8,4,13,8v-1,4,-3,9,-9,17v-57,11,-164,6,-219,25v26,32,112,25,173,25v9,0,35,2,35,19v0,9,-4,13,-12,14v-115,12,-146,23,-211,-19v-12,-4,-22,-9,-25,-27v-6,-29,-61,3,-43,-49v17,-1,36,7,42,-12v-32,7,-36,-39,-11,-40v29,14,63,-25,73,-30v52,-25,72,-44,142,-44v23,0,21,41,-1,39v-35,-3,-61,9,-102,31v2,2,5,4,8,4v18,-6,101,-9,115,-9v7,0,55,13,31,30", "w": 312 }, "\u20ac": { "d": "308,-133r-200,16v-2,1,-6,4,-10,10v70,-2,144,-14,211,-8v3,0,8,4,13,8v-1,4,-3,9,-9,17v-57,11,-164,6,-219,25v26,32,112,25,173,25v9,0,35,2,35,19v0,9,-4,13,-12,14v-115,12,-146,23,-211,-19v-12,-4,-22,-9,-25,-27v-6,-29,-61,3,-43,-49v17,-1,36,7,42,-12v-32,7,-36,-39,-11,-40v29,14,63,-25,73,-30v52,-25,72,-44,142,-44v23,0,21,41,-1,39v-35,-3,-61,9,-102,31v2,2,5,4,8,4v18,-6,101,-9,115,-9v7,0,55,13,31,30", "w": 312 }, "\u00a5": { "d": "31,-248v30,-3,64,64,74,59v37,-22,77,-65,107,-82v20,-11,34,18,21,32v-28,19,-52,38,-70,57v-18,8,-40,21,-35,60v2,19,39,7,64,7v25,0,16,21,2,27v-36,16,-46,8,-68,18v6,11,101,-20,66,24v-21,11,-42,12,-75,20v-2,1,-5,6,-10,18v-8,3,-11,10,-24,8v-7,-17,-2,-18,-9,-26v-13,5,-39,3,-53,-2v-10,-17,-7,-27,0,-34v23,-1,45,1,64,-5v-11,-7,-28,-4,-64,-6v-13,-8,-15,-24,-6,-35v33,-2,102,9,76,-37v-14,-14,-33,-38,-60,-66v-10,-10,-8,-28,0,-37", "w": 219 }, "\u00a7": { "d": "141,-115v12,10,29,36,28,56v-4,68,-129,69,-152,16v-1,-12,-10,-22,8,-23v17,3,47,21,67,23v16,1,40,-8,38,-21v-8,-49,-119,-30,-117,-85v1,-28,15,-45,-3,-64v-1,-53,55,-61,103,-62v15,-5,6,-5,20,-2v16,17,23,27,23,30v-1,26,-29,7,-45,7v-21,0,-51,2,-62,17v19,14,87,8,97,43v18,14,16,57,-5,65xm64,-147r57,17v10,-28,-22,-43,-47,-44v-25,-1,-35,19,-10,27", "w": 174 }, "\u00a8": { "d": "124,-259v0,9,-4,13,-12,13v-18,0,-22,-21,-17,-35v19,-1,30,1,29,22xm23,-285v7,2,30,9,29,18v1,10,-9,19,-18,19v-19,0,-28,-26,-11,-37", "w": 136 }, "\u00a9": { "d": "102,-29v-74,5,-124,-84,-70,-140v22,-22,53,-35,97,-38v46,-4,88,49,74,100v0,44,-51,75,-101,78xm96,-66v42,-3,75,-23,75,-69v0,-23,-4,-38,-44,-38v-16,0,-33,6,-49,20v36,-4,55,-12,62,20v-5,16,-49,1,-50,21v10,15,53,-14,54,11v0,18,-14,27,-42,27v-22,1,-46,-11,-46,-31v0,-25,7,-39,20,-44v-1,-1,-2,-2,-3,-2v-51,22,-32,89,23,85", "w": 217 }, "\u00aa": { "d": "6,-265v1,-31,58,-53,80,-22v-11,14,25,28,25,36v-2,8,-15,12,-27,10v-22,-29,-68,19,-78,-24xm52,-281v-8,1,-24,10,-9,13v11,1,24,-10,9,-13", "w": 117 }, "\u00ab": { "d": "191,-64v16,6,87,37,53,63v-39,-9,-71,-28,-107,-40v-14,-13,-13,-34,10,-47v27,-15,48,-55,84,-62v9,-2,21,10,21,18r-13,21v-16,5,-44,22,-51,41v0,4,1,6,3,6xm71,-65v17,6,87,35,55,62v-39,-8,-66,-27,-108,-40v-14,-13,-13,-36,10,-46v23,-18,50,-56,84,-63v9,-2,21,10,21,18r-13,22v-20,6,-32,17,-51,37v0,3,-1,11,2,10", "w": 265 }, "\u00ac": { "d": "141,-99v47,7,103,-3,149,6v14,24,18,15,10,39v-10,34,-7,31,-26,76v-4,6,-15,8,-16,21v-4,2,-4,1,-13,5v-22,-33,-4,-33,16,-104v-5,-9,-28,-4,-38,-6r-183,4v-14,0,-41,-29,-17,-36v31,-9,82,5,118,-5", "w": 315 }, "\u00ae": { "d": "75,-194v78,-29,116,9,130,84v-2,42,-22,47,-57,67v-74,20,-161,-19,-129,-110v6,-18,29,-34,57,-40xm46,-86v51,36,84,21,129,-15v7,-15,0,-39,-10,-49v-13,-37,-49,-26,-86,-18v-28,7,-49,46,-33,82xm72,-123v-5,-43,68,-57,75,-14v-17,26,-18,17,3,32v2,25,-25,18,-45,7r-4,-4v-1,8,-3,20,-12,24v-10,-3,-21,-34,-17,-45xm112,-135v-10,-1,-20,13,-9,14v6,-6,9,-11,9,-14", "w": 217 }, "\u00af": { "d": "63,-295v28,-7,73,10,105,7v11,1,6,8,5,19v-37,21,-72,11,-136,11v-23,0,-31,-14,-27,-36v12,-15,40,0,53,-1", "w": 183 }, "\u00b0": { "d": "106,-268v0,36,-35,38,-51,46v-48,5,-60,-58,-25,-78v33,-11,76,-9,76,32xm38,-257v16,7,39,2,38,-17v-13,-9,-28,-1,-32,11v-5,3,-7,0,-6,6", "w": 114 }, "\u00b1": { "d": "93,-163v-7,46,76,-4,46,47v-14,6,-27,13,-38,8v-24,2,-14,28,-28,44r-14,0v-7,-12,-5,-15,-7,-33v-12,-7,-41,-1,-37,-24v2,-11,23,-17,36,-14r28,-38v4,0,9,4,14,10xm113,-27v-12,18,-58,27,-85,24v-16,2,-22,-23,-13,-36v28,-7,85,-11,98,12", "w": 151 }, "\u00b4": { "d": "52,-284v29,-11,50,-34,62,-14v3,12,-86,54,-94,56v-14,0,-16,-12,-12,-23v11,-5,25,-11,44,-19", "w": 120 }, "\u00b6": { "d": "121,-237v21,-9,44,-13,63,-1v-1,7,5,6,7,11r-4,190v-2,33,4,39,-15,40v-16,1,-10,-20,-10,-33r4,-161v0,-17,-1,-34,-16,-25v2,10,1,23,1,35v-9,46,-6,75,-15,156v-3,4,-7,5,-12,5v-17,-10,-3,-89,-10,-115v-43,14,-98,10,-101,-29v-4,-53,59,-63,104,-75v3,1,4,2,4,2xm95,-204v2,9,-30,50,1,50v35,0,23,-13,29,-43v0,-1,-2,-7,-4,-15v-12,-1,-14,2,-26,8", "w": 206 }, "\u00b8": { "d": "74,16v32,2,49,14,55,36v-3,7,-14,31,-29,33v-28,4,-57,11,-88,14v-19,-6,-13,-31,8,-33v20,-1,59,-5,73,-14v-17,-14,-68,8,-53,-37v9,-10,2,-28,24,-30v8,8,13,17,10,31", "w": 129 }, "\u00ba": { "d": "13,-273v1,-31,56,-41,83,-18v36,8,14,48,-9,52v-35,6,-64,-5,-74,-34xm81,-269v-7,-7,-20,-11,-29,-6v5,13,13,11,29,6", "w": 128 }, "\u00bb": { "d": "120,-129v9,-33,48,-10,64,5v9,20,86,52,50,86v-36,11,-66,31,-107,40v-6,-7,-9,-13,-9,-17v-2,-13,50,-46,63,-46v11,-18,-33,-42,-48,-47xm1,-128v10,-33,46,-8,64,6v8,19,86,50,51,85v-40,13,-69,30,-108,40v-6,-7,-8,-12,-8,-16v-2,-14,50,-46,63,-47v7,-13,-9,-20,-19,-30v-10,-9,-20,-15,-30,-17", "w": 252 }, "\u00bf": { "d": "181,-247v3,1,31,2,29,15v-4,22,-37,27,-41,4v1,-5,7,-20,12,-19xm161,-34v-45,-1,-105,19,-124,51v0,11,18,17,54,17v39,0,82,-13,112,4v-10,35,-58,31,-100,31v-47,0,-80,-10,-99,-31v-10,-56,22,-73,64,-90v8,-3,32,-9,74,-18v21,-15,7,-62,22,-92v-1,-5,-1,-11,4,-12v16,0,24,7,24,22v-8,30,-8,73,-17,111v-3,5,-7,7,-14,7", "w": 213 }, "\u00c0": { "d": "161,-217v20,53,23,124,54,170v-2,20,-34,9,-42,0v-27,-12,-78,-18,-101,-18v-26,6,-29,51,-54,63v-18,-4,-19,-30,-3,-38v5,-9,15,-16,8,-29v1,-12,23,-9,26,-19v6,-10,11,-20,20,-27r70,-121v12,-4,16,4,22,19xm82,-91v17,3,62,7,86,13v-13,-33,-13,-80,-29,-109v-15,30,-38,63,-57,96xm150,-268v14,10,54,14,37,41v-28,-7,-62,-22,-100,-42v-2,-3,-2,-26,5,-23v16,4,42,17,58,24" }, "\u00c1": { "d": "161,-217v20,53,23,124,54,170v-2,20,-34,9,-42,0v-27,-12,-78,-18,-101,-18v-26,6,-29,51,-54,63v-18,-4,-19,-30,-3,-38v5,-9,15,-16,8,-29v1,-12,23,-9,26,-19v6,-10,11,-20,20,-27r70,-121v12,-4,16,4,22,19xm82,-91v17,3,62,7,86,13v-13,-33,-13,-80,-29,-109v-15,30,-38,63,-57,96xm84,-250v31,-5,83,-53,100,-31v0,5,-11,15,-35,28v-16,5,-51,28,-53,25v-14,1,-16,-11,-12,-22" }, "\u00c2": { "d": "161,-217v20,53,23,124,54,170v-2,20,-34,9,-42,0v-27,-12,-78,-18,-101,-18v-26,6,-29,51,-54,63v-18,-4,-19,-30,-3,-38v5,-9,15,-16,8,-29v1,-12,23,-9,26,-19v6,-10,11,-20,20,-27r70,-121v12,-4,16,4,22,19xm82,-91v17,3,62,7,86,13v-13,-33,-13,-80,-29,-109v-15,30,-38,63,-57,96xm202,-219v-27,-6,-40,-26,-61,-37v-21,7,-39,46,-65,23v-2,-4,-3,-10,-4,-14v19,-4,43,-32,61,-43v27,6,40,22,62,37v12,8,18,17,18,25v0,6,-3,9,-11,9" }, "\u00c3": { "d": "161,-217v20,53,23,124,54,170v-2,20,-34,9,-42,0v-27,-12,-78,-18,-101,-18v-26,6,-29,51,-54,63v-18,-4,-19,-30,-3,-38v5,-9,15,-16,8,-29v1,-12,23,-9,26,-19v6,-10,11,-20,20,-27r70,-121v12,-4,16,4,22,19xm82,-91v17,3,62,7,86,13v-13,-33,-13,-80,-29,-109v-15,30,-38,63,-57,96xm100,-285v26,-19,54,19,69,22v4,0,15,-5,34,-13v23,-9,22,-17,31,-12v3,11,-9,9,-7,21v-26,20,-46,30,-59,30v-3,3,-50,-26,-49,-29v-12,1,-31,35,-51,32v-3,-8,-5,-14,-5,-18v10,-9,16,-17,37,-33" }, "\u00c4": { "d": "161,-217v20,53,23,124,54,170v-2,20,-34,9,-42,0v-27,-12,-78,-18,-101,-18v-26,6,-29,51,-54,63v-18,-4,-19,-30,-3,-38v5,-9,15,-16,8,-29v1,-12,23,-9,26,-19v6,-10,11,-20,20,-27r70,-121v12,-4,16,4,22,19xm82,-91v17,3,62,7,86,13v-13,-33,-13,-80,-29,-109v-15,30,-38,63,-57,96xm187,-259v0,8,-4,13,-12,13v-18,0,-21,-20,-16,-34v18,-1,28,2,28,21xm90,-284v7,3,28,11,28,18v0,9,-9,18,-18,17v-17,0,-25,-24,-10,-35" }, "\u00c5": { "d": "161,-217v20,53,23,124,54,170v-2,20,-34,9,-42,0v-27,-12,-78,-18,-101,-18v-26,6,-29,51,-54,63v-18,-4,-19,-30,-3,-38v5,-9,15,-16,8,-29v1,-12,23,-9,26,-19v6,-10,11,-20,20,-27r70,-121v12,-4,16,4,22,19xm82,-91v17,3,62,7,86,13v-13,-33,-13,-80,-29,-109v-15,30,-38,63,-57,96xm112,-239v-31,-17,-9,-61,29,-56v12,2,22,3,33,12v24,39,-30,62,-62,44xm119,-262v2,14,41,8,41,-4v0,-4,-8,-6,-24,-9v-10,-2,-17,10,-17,13" }, "\u00c6": { "d": "335,-259v0,30,-102,12,-122,34v10,21,2,79,16,100v24,-6,59,-13,86,-16v23,-2,32,21,13,26r-103,29v-3,22,-4,38,8,43v28,-5,60,-6,86,-14v5,-1,14,7,14,11v6,16,-90,40,-107,40v-29,0,-39,-19,-32,-46v-2,-4,0,-26,-9,-28v-29,2,-58,6,-88,6v-31,0,-40,74,-82,73v-18,-23,4,-37,12,-50v40,-65,112,-126,165,-207v20,-17,69,-11,112,-13v21,0,31,4,31,12xm123,-111v28,1,44,-2,67,-10v-4,-22,5,-49,-7,-65v-3,6,-65,61,-60,75", "w": 348 }, "\u00c7": { "d": "48,-108v-12,70,90,71,159,67r138,-9v9,-1,7,9,7,17v-37,16,-80,27,-103,21v-14,9,-40,3,-67,9v-30,0,-64,1,-100,-10v-6,-1,-10,-4,-10,-8v-32,-12,-46,-31,-63,-56v-16,-61,47,-103,83,-121v82,-42,118,-45,200,-60v21,-4,36,34,11,37v-90,11,-148,31,-225,77v-12,8,-23,20,-30,36xm172,18v29,4,47,14,53,35v-2,7,-14,31,-27,31v-28,7,-55,9,-84,14v-18,-5,-13,-32,7,-32v21,0,55,-5,69,-13v-16,-14,-63,10,-50,-35v9,-10,1,-27,23,-29v7,8,11,16,9,29", "w": 331 }, "\u00c8": { "d": "49,-160v1,-4,-10,-9,-15,-8v-15,-35,32,-30,57,-31r142,-8v2,1,30,7,40,10v-52,16,-133,17,-190,30v-7,9,-12,24,-15,47v26,10,102,-6,141,3v1,3,1,6,2,10v-36,18,-92,12,-149,21v-11,9,-16,41,-16,51v55,-1,111,-21,168,-13v15,-8,48,1,31,18v-53,16,-130,13,-198,29r-39,-8v-4,-19,17,-53,20,-76v-1,0,-7,-11,-9,-18v18,-7,22,-28,30,-57xm184,-236v6,9,5,13,0,23v-28,-7,-62,-21,-100,-41v-3,-2,-3,-27,5,-23v34,11,60,25,95,41", "w": 252 }, "\u00c9": { "d": "49,-160v1,-4,-10,-9,-15,-8v-15,-35,32,-30,57,-31r142,-8v2,1,30,7,40,10v-52,16,-133,17,-190,30v-7,9,-12,24,-15,47v26,10,102,-6,141,3v1,3,1,6,2,10v-36,18,-92,12,-149,21v-11,9,-16,41,-16,51v55,-1,111,-21,168,-13v15,-8,48,1,31,18v-53,16,-130,13,-198,29r-39,-8v-4,-19,17,-53,20,-76v-1,0,-7,-11,-9,-18v18,-7,22,-28,30,-57xm133,-248v27,-11,48,-32,59,-14v3,11,-79,52,-88,53v-14,1,-16,-11,-12,-21v10,-4,23,-11,41,-18", "w": 252 }, "\u00ca": { "d": "49,-160v1,-4,-10,-9,-15,-8v-15,-35,32,-30,57,-31r142,-8v2,1,30,7,40,10v-52,16,-133,17,-190,30v-7,9,-12,24,-15,47v26,10,102,-6,141,3v1,3,1,6,2,10v-36,18,-92,12,-149,21v-11,9,-16,41,-16,51v55,-1,111,-21,168,-13v15,-8,48,1,31,18v-53,16,-130,13,-198,29r-39,-8v-4,-19,17,-53,20,-76v-1,0,-7,-11,-9,-18v18,-7,22,-28,30,-57xm199,-211v-27,-6,-39,-26,-60,-37v-21,7,-40,47,-65,22v-2,-7,-2,-7,-4,-13v18,-5,44,-31,61,-43v27,6,41,22,62,37v12,9,18,17,18,25v0,6,-4,9,-12,9", "w": 252 }, "\u00cb": { "d": "49,-160v1,-4,-10,-9,-15,-8v-15,-35,32,-30,57,-31r142,-8v2,1,30,7,40,10v-52,16,-133,17,-190,30v-7,9,-12,24,-15,47v26,10,102,-6,141,3v1,3,1,6,2,10v-36,18,-92,12,-149,21v-11,9,-17,41,-17,51v55,0,112,-21,169,-13v15,-8,48,1,31,18v-53,16,-130,13,-198,29r-39,-8v-3,-21,17,-53,20,-76v-1,0,-7,-11,-9,-18v18,-7,22,-28,30,-57xm191,-236v0,8,-4,13,-12,13v-17,0,-19,-19,-16,-34v18,-1,29,1,28,21xm95,-261v7,3,29,9,28,18v0,7,-9,17,-18,17v-18,0,-26,-25,-10,-35", "w": 252 }, "\u00cc": { "d": "33,-5v-9,-6,-9,-12,-9,-36v0,-71,8,-119,22,-144v8,-13,14,-20,19,-20v27,20,-11,87,-10,120r-15,76v-1,1,-4,2,-7,4xm72,-247v7,6,55,15,36,40v-28,-7,-61,-21,-99,-41v-3,-2,-3,-27,5,-23v18,3,41,17,58,24", "w": 111 }, "\u00cd": { "d": "26,-5v-9,-6,-9,-12,-9,-36v0,-71,7,-119,21,-144v8,-13,14,-20,19,-20v28,19,-7,89,-10,120v-2,21,-8,47,-14,76v-2,1,-2,0,-7,4xm6,-233v31,-6,83,-53,101,-31v2,11,-80,53,-89,53v-14,1,-14,-11,-12,-22", "w": 104 }, "\u00ce": { "d": "53,-9v-15,7,-16,-3,-16,-32v0,-71,7,-119,21,-144v8,-13,14,-20,19,-20v28,19,-7,89,-10,120v-2,21,-8,47,-14,76xm137,-209v-27,-6,-40,-26,-61,-37v-8,0,-9,4,-13,10v-11,13,-50,37,-56,0v18,-5,43,-32,61,-43v28,5,40,21,62,36v12,9,18,17,18,25v0,6,-4,9,-11,9", "w": 144 }, "\u00cf": { "d": "33,-5v-9,-6,-9,-12,-9,-36v0,-71,8,-119,22,-144v8,-13,14,-20,19,-20v27,20,-11,87,-10,120r-15,76v-1,1,-4,2,-7,4xm111,-222v0,8,-4,12,-12,12v-18,0,-19,-19,-16,-33v18,-1,29,1,28,21xm15,-247v8,2,29,9,28,17v0,21,-37,24,-36,1v0,-7,2,-13,8,-18", "w": 110 }, "\u00d1": { "d": "224,-182v1,-17,15,-24,22,-38v20,0,13,10,3,33v-3,36,-25,52,-28,94v-10,24,-30,55,-29,82r-19,7v-32,-8,-36,-70,-58,-111v-2,-23,-7,-27,-19,-54v-28,36,-41,93,-71,133v-9,5,-20,-9,-20,-17r73,-149v9,-24,31,-5,36,7v19,41,31,98,53,139v22,-35,34,-69,50,-118v2,-3,3,-3,7,-8xm203,-257v22,-8,41,-24,65,-26v3,11,-8,9,-7,21v-26,20,-46,31,-59,31v-2,3,-49,-27,-49,-29v-11,0,-32,31,-46,32v-11,-2,-12,-21,-4,-23v4,-6,28,-30,48,-34v17,-4,43,28,52,28", "w": 219 }, "\u00d2": { "d": "62,-184v78,-31,249,-50,238,74v-6,65,-102,105,-179,115v-77,-7,-152,-71,-101,-149v2,-5,24,-33,42,-40xm279,-120v14,-38,-47,-64,-85,-61v-20,-9,-41,7,-62,0v-11,7,-54,12,-66,24v0,20,-51,35,-38,66v-1,43,50,67,96,67v44,0,162,-55,155,-96xm161,-262v14,10,52,13,37,41v-28,-7,-62,-21,-100,-41v-3,-3,-3,-26,5,-24v16,5,42,17,58,24", "w": 273 }, "\u00d3": { "d": "62,-184v78,-31,249,-50,238,74v-6,65,-102,105,-179,115v-77,-7,-152,-71,-101,-149v2,-5,24,-33,42,-40xm279,-120v14,-38,-47,-64,-85,-61v-20,-9,-41,7,-62,0v-11,7,-54,12,-66,24v0,20,-51,35,-38,66v-1,43,50,67,96,67v44,0,162,-55,155,-96xm142,-250v27,-11,47,-32,59,-14v2,11,-80,53,-89,53v-13,1,-15,-11,-12,-21v10,-5,24,-11,42,-18", "w": 273 }, "\u00d4": { "d": "62,-184v78,-31,249,-50,238,74v-6,65,-102,105,-179,115v-77,-7,-152,-71,-101,-149v2,-5,24,-33,42,-40xm279,-120v14,-38,-47,-64,-85,-61v-20,-9,-41,7,-62,0v-11,7,-54,12,-66,24v0,20,-51,35,-38,66v-1,43,50,67,96,67v44,0,162,-55,155,-96xm157,-282v17,18,52,34,54,63v-24,12,-52,-36,-53,-29r-42,34v-23,-4,-6,-31,5,-34v1,1,27,-37,36,-34", "w": 273 }, "\u00d5": { "d": "62,-184v78,-31,249,-50,238,74v-6,65,-102,105,-179,115v-77,-7,-152,-71,-101,-149v2,-5,24,-33,42,-40xm279,-120v14,-38,-47,-64,-85,-61v-20,-9,-41,7,-62,0v-11,7,-54,12,-66,24v0,20,-51,35,-38,66v-1,43,50,67,96,67v44,0,162,-55,155,-96xm116,-270v26,-19,54,19,69,22v4,0,15,-5,34,-13v23,-10,22,-16,31,-12v3,11,-8,9,-7,21v-45,28,-47,42,-88,16v-29,-19,-12,-20,-43,2v-8,5,-12,18,-23,15v-13,-3,-12,-20,-4,-23v4,-6,14,-15,31,-28", "w": 273 }, "\u00d6": { "d": "62,-184v78,-31,249,-50,238,74v-6,65,-102,105,-179,115v-77,-7,-152,-71,-101,-149v2,-5,24,-33,42,-40xm279,-120v14,-38,-47,-64,-85,-61v-20,-9,-41,7,-62,0v-11,7,-54,12,-66,24v0,20,-51,35,-38,66v-1,43,50,67,96,67v44,0,162,-55,155,-96xm197,-229v0,8,-4,13,-12,13v-17,0,-19,-19,-16,-34v18,-1,29,1,28,21xm101,-254v7,3,28,9,27,18v1,8,-8,17,-17,17v-18,0,-26,-24,-10,-35", "w": 273 }, "\u00d8": { "d": "76,-211v41,-13,100,-22,140,-3v26,-19,40,-29,44,-29v10,0,15,7,15,20v0,15,-23,23,-30,35v23,39,29,114,-21,139v-36,19,-102,35,-147,18v-14,-5,-29,29,-46,35v-25,-13,-19,-24,3,-56v-9,-17,-28,-27,-28,-60v0,-38,23,-72,70,-99xm107,-66v55,15,125,-12,123,-70v0,-16,-5,-25,-13,-29r-110,95r0,4xm39,-108v-1,3,17,31,22,27v8,-6,109,-90,123,-106v-15,-11,-43,1,-63,2v-33,10,-80,35,-82,77", "w": 270 }, "\u00d9": { "d": "281,-202v6,67,-30,121,-71,152v-3,14,-47,26,-60,39v-41,20,-110,1,-125,-26v-24,-44,-28,-84,-8,-127v12,-26,23,-38,37,-22v-2,2,-3,5,-3,10v-34,26,-30,116,5,134v22,32,86,-1,109,-8v38,-28,104,-64,97,-149v2,-10,7,-8,19,-3xm151,-243v14,10,54,14,37,41v-28,-7,-61,-22,-99,-42v-3,-2,-4,-25,4,-23v16,5,42,17,58,24", "w": 262 }, "\u00da": { "d": "281,-202v6,67,-30,121,-71,152v-3,14,-47,26,-60,39v-41,20,-110,1,-125,-26v-24,-44,-28,-84,-8,-127v12,-26,23,-38,37,-22v-2,2,-3,5,-3,10v-34,26,-30,116,5,134v22,32,86,-1,109,-8v38,-28,104,-64,97,-149v2,-10,7,-8,19,-3xm194,-265v3,-1,11,4,11,6v3,12,-81,52,-89,54v-14,0,-13,-9,-12,-22", "w": 262 }, "\u00db": { "d": "281,-202v6,67,-30,121,-71,152v-3,14,-47,26,-60,39v-41,20,-110,1,-125,-26v-24,-44,-28,-84,-8,-127v12,-26,23,-38,37,-22v-2,2,-3,5,-3,10v-34,26,-30,116,5,134v22,32,86,-1,109,-8v38,-28,104,-64,97,-149v2,-10,7,-8,19,-3xm150,-266v24,11,58,27,73,46v0,5,-3,6,-10,6v-28,2,-61,-30,-63,-25v-10,0,-57,40,-69,23v3,-10,-8,-15,8,-19v17,-1,34,-29,61,-31", "w": 262 }, "\u00dc": { "d": "281,-202v6,67,-30,121,-71,152v-3,14,-47,26,-60,39v-41,20,-110,1,-125,-26v-24,-44,-28,-84,-8,-127v12,-26,23,-38,37,-22v-2,2,-3,5,-3,10v-34,26,-29,116,5,134v22,32,86,-1,109,-8v38,-28,104,-64,97,-149v2,-10,7,-8,19,-3xm197,-227v0,8,-4,13,-12,13v-18,0,-21,-20,-16,-34v18,-1,28,2,28,21xm101,-252v7,3,27,10,27,18v0,8,-9,18,-18,17v-18,-1,-24,-25,-9,-35", "w": 262 }, "\u00df": { "d": "33,10v-29,4,-28,-32,-16,-70v18,-58,17,-137,56,-176v12,-24,46,-58,82,-43v20,8,47,24,47,54v0,30,-62,59,-67,90v33,23,56,33,63,63v-18,21,-22,36,-48,54v-24,17,-27,41,-53,16v-2,-19,7,-35,24,-42v15,-13,26,-22,34,-40v-13,-17,-78,-29,-56,-70v-3,-27,64,-54,66,-86v-8,-25,-41,-4,-52,8v-29,30,-47,83,-51,141v-17,25,-8,71,-29,101" }, "\u00e0": { "d": "118,-53v10,4,55,41,62,47v0,7,-5,16,-12,16r-57,-28v-20,3,-40,19,-61,18v-10,2,-43,-17,-42,-36v0,-14,7,-40,27,-41v39,-26,92,-36,104,9v0,6,-2,11,-9,15v-32,-24,-64,-6,-84,11v8,15,58,-17,72,-11xm99,-137v7,6,56,14,37,40v-28,-7,-62,-21,-100,-41v-2,-3,-2,-26,5,-23v16,4,42,17,58,24", "w": 173 }, "\u00e1": { "d": "118,-53v10,4,55,41,62,47v0,7,-5,16,-12,16r-57,-28v-20,3,-40,19,-61,18v-10,2,-43,-17,-42,-36v0,-14,7,-40,27,-41v39,-26,92,-36,104,9v0,6,-2,11,-9,15v-32,-24,-64,-6,-84,11v8,15,58,-17,72,-11xm32,-117v24,-3,85,-55,101,-32v3,11,-80,53,-89,53v-13,2,-14,-10,-12,-21", "w": 173 }, "\u00e2": { "d": "118,-53v10,4,55,41,62,47v0,7,-5,16,-12,16r-57,-28v-20,3,-40,19,-61,18v-10,2,-43,-17,-42,-36v0,-14,7,-40,27,-41v39,-26,92,-36,104,9v0,6,-2,11,-9,15v-32,-24,-64,-6,-84,11v8,15,58,-17,72,-11xm147,-97v-27,-6,-39,-26,-60,-37v-21,7,-38,46,-65,23v-2,-5,-3,-10,-4,-14v18,-4,43,-31,61,-42v28,5,40,21,62,36v12,8,18,17,18,25v0,6,-4,9,-12,9", "w": 173 }, "\u00e3": { "d": "118,-53v10,4,55,41,62,47v0,7,-5,16,-12,16r-57,-28v-20,3,-40,19,-61,18v-10,2,-43,-17,-42,-36v0,-14,7,-40,27,-41v39,-26,92,-36,104,9v0,6,-2,11,-9,15v-32,-24,-64,-6,-84,11v8,15,58,-17,72,-11xm114,-136v22,-8,41,-24,64,-26v3,11,-7,10,-7,21v-26,20,-45,30,-58,30v-3,3,-49,-26,-49,-28v-10,-1,-32,35,-51,31v-12,-32,8,-29,32,-51v24,-21,54,20,69,23", "w": 173 }, "\u00e4": { "d": "118,-53v10,4,55,41,62,47v0,7,-5,16,-12,16r-57,-28v-20,3,-40,19,-61,18v-32,5,-66,-64,-15,-77v39,-26,92,-36,104,9v0,6,-3,11,-9,15v-32,-24,-64,-6,-84,11v8,15,58,-17,72,-11xm142,-119v0,8,-4,13,-12,13v-18,0,-21,-20,-16,-34v18,-1,28,2,28,21xm46,-144v7,3,28,9,27,18v1,8,-9,18,-18,17v-18,-1,-25,-25,-9,-35", "w": 173 }, "\u00e5": { "d": "118,-53v10,4,55,41,62,47v0,7,-5,16,-12,16r-57,-28v-20,3,-40,19,-61,18v-10,2,-43,-17,-42,-36v0,-14,7,-40,27,-41v39,-26,92,-36,104,9v0,6,-2,11,-9,15v-32,-24,-64,-6,-84,11v8,15,58,-17,72,-11xm54,-101v-37,-20,-9,-71,34,-65v13,1,25,3,38,13v27,45,-34,73,-72,52xm61,-128v4,20,48,7,49,-5v0,-5,-9,-7,-28,-10v-12,-2,-21,11,-21,15", "w": 173 }, "\u00e6": { "d": "145,-44r33,7v2,42,-59,29,-85,16v-6,7,-35,24,-48,15v-19,2,-35,-21,-33,-37v2,-24,5,-19,28,-36v-6,-8,-45,3,-33,-21v21,-22,58,-12,85,-1v6,-5,35,-28,45,-15v20,-4,36,17,36,35v0,23,-4,21,-28,37xm111,-72v12,3,49,-16,19,-17v-5,0,-20,12,-19,17xm74,-50v-14,-4,-48,16,-19,17v4,1,19,-14,19,-17", "w": 184 }, "\u00e7": { "d": "108,-118v30,-6,56,21,25,33v-24,-6,-39,5,-75,23v-7,4,-12,12,-15,22v31,28,86,3,128,9v3,28,-29,16,-44,28v-53,15,-106,10,-120,-37v0,-48,62,-70,101,-78xm92,18v23,4,45,12,48,32v-2,6,-12,28,-25,28v-24,6,-50,10,-77,13v-16,-4,-11,-28,7,-29v17,-1,51,-4,63,-12v-14,-15,-57,10,-46,-32v9,-8,0,-25,21,-26v6,6,12,14,9,26", "w": 171 }, "\u00e8": { "d": "108,-124v42,-3,70,39,50,73v-22,-1,-70,12,-94,10v-1,1,-2,3,-2,3v0,3,12,7,35,14v18,0,64,7,30,21v-10,14,-31,6,-53,6v-26,-7,-70,-26,-70,-58v0,-54,48,-65,104,-69xm130,-78v-2,-35,-66,-13,-77,3v16,6,62,6,77,-3xm95,-166v7,6,54,14,37,40v-28,-7,-62,-21,-100,-41v-3,-3,-3,-26,5,-24v16,5,42,18,58,25", "w": 161 }, "\u00e9": { "d": "108,-124v42,-3,70,39,50,73v-22,-1,-70,12,-94,10v-1,1,-2,3,-2,3v0,3,12,7,35,14v18,0,64,7,30,21v-10,14,-31,6,-53,6v-26,-7,-70,-26,-70,-58v0,-54,48,-65,104,-69xm130,-78v-2,-35,-66,-13,-77,3v16,6,62,6,77,-3xm76,-169v26,-11,48,-32,59,-14v3,10,-80,53,-89,53v-14,1,-14,-10,-12,-21v15,-7,16,-7,42,-18", "w": 161 }, "\u00ea": { "d": "108,-124v42,-3,70,39,50,73v-22,-1,-70,12,-94,10v-1,1,-2,3,-2,3v0,3,12,7,35,14v18,0,64,7,30,21v-10,14,-31,6,-53,6v-26,-7,-70,-26,-70,-58v0,-54,48,-65,104,-69xm130,-78v-2,-35,-66,-13,-77,3v16,6,62,6,77,-3xm145,-129v-27,-6,-39,-26,-60,-37v-8,0,-10,4,-14,10v-11,15,-51,34,-56,0v17,-4,44,-32,61,-43v28,5,41,21,63,36v12,8,17,17,17,25v0,6,-3,9,-11,9", "w": 161 }, "\u00eb": { "d": "108,-124v42,-3,70,39,50,73v-22,-1,-70,12,-94,10r-3,3v0,3,12,7,36,14v18,0,64,7,30,21v-10,14,-31,6,-53,6v-26,-7,-67,-27,-71,-58v7,-52,48,-65,105,-69xm130,-78v-2,-35,-66,-13,-77,3v16,6,62,6,77,-3xm140,-144v0,8,-4,12,-12,12v-18,0,-19,-19,-16,-33v18,-1,29,1,28,21xm44,-169v7,3,28,9,28,17v0,9,-9,18,-18,18v-18,0,-25,-24,-10,-35", "w": 161 }, "\u00ec": { "d": "57,-98v22,5,13,50,11,95v-7,1,-11,2,-20,-4v1,-7,-12,-18,-10,-24v4,-22,-2,-64,19,-67xm70,-139v14,10,54,14,37,41v-28,-7,-61,-22,-99,-42v-3,-2,-3,-25,5,-23v15,5,41,17,57,24", "w": 109 }, "\u00ed": { "d": "59,-98v20,4,15,53,10,95v-6,1,-11,2,-19,-4v1,-7,-12,-18,-10,-24v4,-22,-4,-65,19,-67xm50,-139v27,-11,49,-32,59,-14v3,11,-80,53,-89,53v-14,1,-14,-12,-11,-22v15,-7,14,-6,41,-17", "w": 105 }, "\u00ee": { "d": "72,-98v20,5,12,51,10,95v-6,2,-13,1,-20,-4v1,-8,-12,-18,-10,-24v4,-22,-3,-65,20,-67xm134,-94v-26,-7,-39,-25,-60,-37v-7,0,-9,4,-13,10v-14,15,-51,34,-56,-1v18,-4,45,-33,61,-43v27,6,40,22,62,37v12,8,18,17,18,25v0,6,-4,9,-12,9", "w": 143 }, "\u00ef": { "d": "55,-97v19,5,15,53,10,95v-17,5,-26,-14,-30,-28v6,-20,-3,-65,20,-67xm110,-118v0,8,-4,13,-12,13v-17,0,-19,-19,-16,-34v18,-1,29,1,28,21xm14,-143v6,3,28,8,28,17v0,9,-9,18,-18,18v-18,0,-25,-24,-10,-35", "w": 107 }, "\u00f1": { "d": "115,-129v34,6,59,50,59,105v0,31,-15,24,-30,17v-15,-29,-5,-42,-20,-81v-35,-13,-68,52,-88,61v-20,-4,-38,-36,-19,-59v0,-12,3,-14,10,-28v11,-8,18,11,27,12xm117,-166v22,-7,41,-23,64,-26v3,11,-7,10,-7,21v-26,20,-45,30,-58,30v-3,3,-49,-26,-49,-28v-10,-1,-32,35,-51,31v-5,-12,-8,-16,0,-23v4,-6,28,-29,48,-33v17,-3,43,28,53,28", "w": 171 }, "\u00f2": { "d": "102,-132v50,-20,99,16,99,60v0,54,-60,64,-108,79v-50,-2,-110,-48,-76,-100v22,-17,49,-33,85,-39xm136,-104v-34,0,-91,27,-94,47v16,51,125,16,125,-22v0,-17,-10,-25,-31,-25xm115,-181v14,10,51,13,37,40v-28,-7,-62,-21,-100,-41v-3,-2,-3,-26,5,-23v16,5,42,17,58,24", "w": 191 }, "\u00f3": { "d": "102,-132v50,-20,99,16,99,60v0,54,-60,64,-108,79v-50,-2,-110,-48,-76,-100v22,-17,49,-33,85,-39xm136,-104v-34,0,-91,27,-94,47v16,51,125,16,125,-22v0,-17,-10,-25,-31,-25xm49,-154v24,-3,85,-55,101,-32v3,11,-80,53,-89,53v-14,0,-13,-8,-12,-21", "w": 191 }, "\u00f4": { "d": "102,-132v50,-20,99,16,99,60v0,54,-60,64,-108,79v-50,-2,-110,-48,-76,-100v22,-17,49,-33,85,-39xm136,-104v-34,0,-91,27,-94,47v16,51,125,16,125,-22v0,-17,-10,-25,-31,-25xm110,-177v-22,6,-38,45,-65,22v-2,-4,-3,-9,-4,-13v18,-4,43,-32,61,-43v27,6,40,21,62,36v12,9,18,17,18,25v1,11,-15,10,-23,7", "w": 191 }, "\u00f5": { "d": "102,-132v50,-20,99,16,99,60v0,54,-60,64,-108,79v-50,-2,-110,-48,-76,-100v22,-17,49,-33,85,-39xm136,-104v-34,0,-91,27,-94,47v16,51,125,16,125,-22v0,-17,-10,-25,-31,-25xm58,-199v26,-21,54,18,69,22v4,0,15,-5,34,-13v22,-9,21,-16,31,-13v3,11,-9,9,-7,22v-26,20,-46,30,-59,30v-2,4,-49,-28,-49,-29v-11,0,-32,31,-46,32v-12,-3,-13,-21,-4,-23v4,-6,14,-15,31,-28", "w": 191 }, "\u00f6": { "d": "102,-132v50,-20,99,16,99,60v0,54,-60,64,-108,79v-50,-2,-110,-48,-76,-100v22,-17,49,-33,85,-39xm136,-104v-34,0,-91,27,-94,47v16,51,125,16,125,-22v0,-17,-10,-25,-31,-25xm161,-160v0,8,-4,13,-12,13v-17,0,-19,-19,-16,-34v18,-1,29,1,28,21xm65,-185v7,3,28,9,28,18v0,7,-9,18,-18,17v-18,1,-25,-24,-10,-35", "w": 191 }, "\u00f7": { "d": "167,-158v-4,3,-7,9,-10,20v-23,4,-34,-8,-29,-31v14,-6,18,1,39,11xm78,-72v-53,11,-53,12,-69,-15v-1,-12,11,-17,22,-14v71,-13,151,-18,230,-24v11,1,21,16,23,28v-28,20,-90,11,-126,16v-36,5,-62,5,-80,9xm123,-40v19,-17,41,-1,41,17v0,13,-6,19,-17,19v-15,0,-29,-14,-24,-36", "w": 293 }, "\u00f8": { "d": "76,-136v17,7,33,-8,51,0v9,-6,21,-13,36,-21v23,22,-13,31,3,50v11,13,4,21,14,35v-4,5,-1,14,-4,23v-14,23,-45,41,-84,39v-12,2,-29,28,-41,38v-2,-11,-34,-10,-15,-30v3,-7,5,-11,5,-11v-15,-24,-60,-54,-22,-89v23,-21,25,-32,57,-34xm102,-54v18,1,50,-19,30,-32v-12,7,-22,18,-30,32xm85,-92v-14,3,-26,8,-38,17v2,20,17,13,26,0v6,-8,12,-13,12,-17", "w": 188 }, "\u00f9": { "d": "196,-129v-1,-4,12,-13,15,-13v6,0,8,7,8,21v0,24,-7,25,-13,45v-7,7,-14,21,-24,29v-9,24,-61,45,-89,45v-63,0,-105,-72,-67,-126v24,-3,19,27,18,46v-1,26,23,42,54,40v38,-3,88,-51,98,-87xm126,-166v7,6,56,14,37,40v-28,-7,-62,-22,-100,-42v-2,-3,-2,-26,5,-23v16,4,42,18,58,25", "w": 213 }, "\u00fa": { "d": "196,-129v-1,-4,12,-13,15,-13v6,0,8,7,8,21v0,24,-7,25,-13,45v-7,7,-14,21,-24,29v-9,24,-61,45,-89,45v-63,0,-105,-72,-67,-126v24,-3,19,27,18,46v-1,26,23,42,54,40v38,-3,88,-51,98,-87xm106,-174v26,-11,48,-32,59,-14v3,11,-81,53,-89,54v-13,1,-15,-12,-11,-22v15,-7,14,-7,41,-18", "w": 213 }, "\u00fb": { "d": "196,-129v-1,-4,12,-13,15,-13v6,0,8,7,8,21v0,24,-7,25,-13,45v-7,7,-14,21,-24,29v-9,24,-61,45,-89,45v-63,0,-105,-72,-67,-126v24,-3,19,27,18,46v-1,26,23,42,54,40v38,-3,88,-51,98,-87xm172,-143v-27,-6,-39,-26,-60,-37v-8,0,-10,4,-14,10v-11,15,-49,35,-56,0v17,-4,44,-32,61,-43v27,6,41,21,63,36v12,9,17,17,17,25v0,6,-3,9,-11,9", "w": 213 }, "\u00fc": { "d": "196,-129v-1,-4,12,-13,15,-13v6,0,8,7,8,21v0,24,-7,25,-13,45v-7,7,-14,21,-24,29v-9,24,-61,45,-89,45v-63,0,-105,-72,-67,-126v24,-3,19,27,18,46v-1,26,23,42,54,40v38,-3,88,-51,98,-87xm168,-161v0,8,-3,13,-11,13v-17,0,-20,-19,-17,-34v18,-1,29,1,28,21xm72,-186v7,3,29,9,28,18v0,7,-9,18,-18,17v-18,1,-25,-24,-10,-35", "w": 213 }, "\u00ff": { "d": "118,85v-11,11,-11,38,-22,61v-2,-1,-2,31,-17,27v-11,0,-21,-10,-21,-22v20,-66,23,-61,64,-168v-22,1,-38,16,-58,4v-22,4,-51,-16,-51,-42v-11,-13,-7,-59,7,-58v16,1,21,24,22,51v21,33,66,5,94,-7v4,-3,26,-14,38,-29r17,0v23,44,-23,59,-34,102v-6,9,-13,9,-13,26v-15,6,-12,33,-27,48v0,2,1,4,1,7xm158,-136v0,8,-4,13,-12,13v-18,0,-21,-20,-16,-34v18,-1,29,1,28,21xm62,-161v7,3,28,9,27,18v1,8,-8,17,-17,17v-18,0,-26,-24,-10,-35", "w": 190 }, "\u0131": { "d": "43,-103v21,4,16,56,11,100v-7,2,-11,1,-20,-5v0,-7,-13,-18,-11,-25v4,-23,-3,-68,20,-70", "w": 80 }, "\u0152": { "d": "247,-243v71,4,161,-7,245,-8v17,0,27,6,27,17v-8,27,-70,14,-104,23v-3,1,-52,0,-65,7r0,4v16,16,17,29,17,65v32,10,74,-14,99,16v-14,25,-76,17,-127,24v-17,18,-55,32,-75,51v85,0,128,-3,204,-11v15,-2,21,11,20,29v-78,24,-177,12,-270,24v-24,3,-24,-29,-48,-15v-46,7,-70,4,-105,-4v-19,-18,-42,-22,-52,-55v-10,-34,0,-47,12,-78v-18,-59,48,-78,105,-84v17,-18,103,-13,117,-5xm125,-45v76,-9,186,-43,209,-105v-26,-67,-137,-83,-217,-54v3,34,-45,25,-60,58v-41,48,5,108,68,101", "w": 492 }, "\u0153": { "d": "185,-54v25,28,107,-17,104,33v-12,12,-60,14,-87,14v0,0,1,1,2,1v-11,1,-39,-9,-50,-17v-28,17,-75,32,-114,7v-22,-14,-34,-11,-34,-41v0,-36,33,-49,48,-75v29,-16,72,-3,95,11v12,-9,48,-27,59,-26v30,0,64,15,65,40v0,7,-6,20,-20,37v-29,1,-44,11,-68,16xm226,-106v-21,-7,-41,-2,-48,13v14,1,42,-7,48,-13xm132,-87v-21,-35,-94,11,-92,24v-2,14,43,21,61,21v25,0,36,-20,31,-45", "w": 295 }, "\u0178": { "d": "176,-189v35,20,-25,54,-39,72v-26,34,-57,57,-74,104v-10,15,-4,14,-23,3r0,-10v19,-44,27,-46,50,-81v-9,-5,-24,4,-34,4v-38,0,-54,-50,-44,-87v21,-5,18,19,22,35v4,18,15,27,29,27v41,0,60,-39,113,-67xm153,-222v0,8,-3,12,-11,12v-18,0,-21,-19,-16,-33v18,-1,28,2,27,21xm57,-247v8,2,29,9,28,17v0,21,-37,24,-36,1v0,-7,2,-13,8,-18", "w": 135 }, "\u0192": { "d": "115,-262v-23,6,-39,63,-38,96v1,3,57,2,54,16v1,22,-45,15,-51,30v3,34,12,68,10,103v14,17,-18,53,-28,63v-48,8,-89,5,-95,-37v20,-5,77,21,83,-18v17,-29,-4,-61,0,-98v0,-5,-3,-10,-7,-17v-33,4,-43,-17,-25,-37v10,-4,27,5,27,-10v0,-43,15,-77,32,-109v12,-7,16,-22,38,-20v11,1,51,35,25,55v-9,1,-16,-17,-25,-17", "w": 145 }, "\u02c6": { "d": "144,-220v-29,0,-41,-27,-63,-39v-8,0,-11,5,-15,11v-17,12,-32,31,-54,13v-2,-5,-3,-9,-4,-14v20,-5,45,-33,64,-45v28,6,43,23,65,38v12,9,19,19,19,27v0,6,-4,9,-12,9", "w": 165 }, "\u02c7": { "d": "39,-286v33,46,63,-4,96,-16v6,0,9,6,9,19v0,24,-49,46,-77,46v-32,0,-52,-28,-59,-48v0,-25,23,-17,31,-1", "w": 153 }, "\u02d8": { "d": "65,-269v20,-11,45,-31,74,-36v20,30,-42,40,-59,66v-5,6,-11,8,-18,8v-8,-3,-45,-32,-51,-54v5,-24,14,-13,34,1", "w": 158 }, "\u02d9": { "d": "23,-302v15,-13,32,1,32,18v1,22,-36,29,-39,4v0,0,3,-7,7,-22", "w": 70 }, "\u02da": { "d": "23,-225v-43,-24,-11,-85,41,-78v16,2,31,4,46,17v32,54,-41,86,-87,61xm33,-257v2,20,57,11,57,-6v0,-6,-11,-9,-33,-12v-14,-2,-24,13,-24,18", "w": 123 }, "\u02db": { "d": "82,-5v-8,12,-16,55,-21,75v0,4,2,7,7,7v6,0,22,-7,50,-20v8,0,12,7,12,20v-2,22,-6,14,-27,30v-15,12,-26,16,-30,16v-47,-8,-59,-14,-56,-75v8,-27,12,-54,25,-77v19,-21,35,15,40,24", "w": 138 }, "\u02dc": { "d": "47,-300v26,-21,57,19,72,23v4,0,16,-5,36,-14v24,-10,22,-16,32,-13v3,12,-7,11,-7,23v-27,21,-48,32,-62,32v-3,2,-52,-27,-51,-31v-12,-2,-34,40,-54,33v-4,-13,-8,-18,1,-24v5,-7,16,-15,33,-29", "w": 186 }, "\u02dd": { "d": "91,-249v15,-11,38,-53,57,-29v0,9,0,14,-3,23v-2,3,-20,22,-54,55v-5,5,-10,8,-16,8v-17,2,-6,-22,-7,-31v-1,0,-2,0,-4,1v-17,21,-29,31,-50,27v-5,-18,-3,-15,3,-27v23,-27,40,-46,48,-59v7,-12,31,3,29,9v-1,14,-3,24,-13,31v4,4,9,-1,10,-8", "w": 151 }, "\u2013": { "d": "6,-66v-8,-72,79,-21,146,-39v37,-10,79,7,111,0v9,8,14,13,14,17v2,26,-72,13,-99,21v-83,4,-124,21,-172,1", "w": 282 }, "\u2014": { "d": "175,-106v86,-9,201,1,286,-1v11,6,13,11,6,30v-118,15,-246,10,-377,10v-25,0,-73,3,-82,-8r-2,-26v11,-13,32,-9,52,-7v38,3,84,-5,117,2", "w": 485 }, "\u2018": { "d": "73,-262v-10,7,-41,39,-38,69v-15,13,-27,-16,-28,-28v-2,-20,51,-83,66,-83v20,0,25,41,0,42", "w": 95 }, "\u2019": { "d": "74,-300v13,31,-1,99,-44,101v-13,0,-19,-5,-19,-15v6,-10,31,-34,35,-59v2,-11,1,-32,11,-32v6,0,11,2,17,5", "w": 90 }, "\u201a": { "d": "25,63v-26,21,-48,-2,-22,-24v14,-12,35,-40,35,-69v3,-2,3,-11,12,-9v35,17,5,88,-25,102", "w": 97 }, "\u201c": { "d": "66,-261v-21,5,-37,51,-22,77v0,4,-2,6,-7,6v-31,-9,-38,-62,-12,-94v12,-15,21,-28,31,-34v16,-1,19,24,22,34v10,-11,22,-32,43,-23v-2,8,4,16,5,19v-6,11,-51,53,-29,74v-12,21,-30,5,-33,-17v-6,-13,9,-28,2,-42", "w": 118 }, "\u201d": { "d": "120,-294v12,3,30,26,19,34v2,15,-40,70,-55,66v-40,-10,10,-51,14,-64v3,-3,8,-31,22,-36xm70,-306v14,3,26,34,16,49v-19,30,-31,45,-58,59v-12,-11,-33,-17,-7,-36v13,-19,36,-27,36,-59v0,-5,9,-13,13,-13", "w": 148 }, "\u201e": { "d": "25,63v-26,21,-48,-2,-22,-24v11,-9,36,-41,35,-69v3,-2,4,-12,12,-9v36,14,5,89,-25,102xm84,64v-24,20,-45,-1,-21,-24v21,-20,32,-35,35,-69v3,-2,3,-11,12,-9v36,17,9,86,-26,102", "w": 135 }, "\u2020": { "d": "22,-286v15,6,5,-20,19,-19v9,-3,15,21,17,22v6,1,12,3,20,6v3,10,5,16,-9,16v-34,-10,-6,51,-34,52v-20,-7,11,-47,-15,-49v-14,3,-25,-5,-17,-24v7,-2,14,-4,19,-4", "w": 77 }, "\u2021": { "d": "102,-284v16,2,42,-2,33,18v-7,15,-42,1,-38,30v3,3,31,1,30,11v4,15,-29,19,-36,24v-2,18,-4,24,-16,29r-25,-26v-25,7,-53,3,-42,-25v4,-10,70,0,51,-22v-17,4,-41,12,-39,-15v-5,-16,39,-18,44,-20v4,-2,7,-10,10,-24v19,-3,23,6,28,20", "w": 145 }, "\u2022": { "d": "130,-114v0,47,-124,54,-120,-8r6,-31v44,-28,64,-34,104,0v8,6,10,20,10,39", "w": 139 }, "\u2026": { "d": "244,-24v-1,21,-38,32,-41,3v-2,-19,23,-22,34,-17v0,7,0,15,7,14xm113,-24v0,-22,28,-21,38,-8v5,34,-39,40,-38,8xm35,-2v-10,-2,-36,-17,-18,-29v-1,-15,17,-17,31,-6v7,17,6,33,-13,35", "w": 258 }, "\u2030": { "d": "398,-131v58,-1,87,13,72,65v-1,30,-66,63,-99,65v-56,3,-99,-58,-62,-102v2,2,5,2,8,2v20,-16,51,-17,81,-30xm202,-279v33,0,94,-24,95,18v-7,31,-33,27,-54,55v-36,32,-71,74,-112,99v-18,18,-40,34,-51,58v-19,14,-25,37,-56,40v-17,2,-25,-29,-10,-40v15,-11,40,-37,52,-52r87,-72v-51,13,-100,6,-116,-27v1,-5,-6,-30,-9,-36v-3,-5,22,-41,27,-39v29,2,16,34,5,49v0,15,14,23,42,23v42,0,59,-31,28,-38v-17,-4,-53,3,-50,-23v0,-7,1,-12,4,-16v16,-9,36,4,49,5v0,0,23,-4,69,-4xm222,-118v33,-2,55,18,50,57v-29,36,-48,45,-96,50v-27,-5,-56,-17,-58,-51v13,-37,64,-43,104,-56xm335,-61v13,44,101,7,108,-31v-11,-3,-20,-4,-30,-4v-18,-1,-82,18,-78,35xm225,-244v-18,0,-29,-1,-46,3v7,15,6,28,0,43v15,-14,34,-30,46,-46xm164,-53v26,5,59,-10,76,-26v-17,-16,-49,2,-67,14v1,8,-8,6,-9,12", "w": 485 }, "\u2039": { "d": "64,-107v9,17,86,17,87,43v0,11,-4,16,-13,16v-36,-11,-70,-22,-109,-31v-19,-4,-18,-14,-9,-36v59,-56,93,-84,101,-84v17,0,19,20,13,29", "w": 159 }, "\u203a": { "d": "41,-181v26,27,112,44,70,91r-82,60v-20,3,-25,-23,-13,-32r70,-51r-66,-46v-5,-6,-4,-28,5,-29v4,2,9,4,16,7", "w": 137 }, "\u2044": { "d": "193,-305v7,6,17,31,3,41v-10,7,-12,13,-21,25v-79,56,-190,209,-197,260r-18,0v-23,-19,9,-70,15,-85v52,-83,121,-179,218,-241", "w": 120 }, "\u2122": { "d": "213,-307v28,9,11,49,7,75v-1,4,-4,6,-11,6v-7,1,-11,-14,-11,-34v-14,-6,-34,34,-46,28v-2,0,-10,-9,-24,-27v-10,7,-3,36,-27,31v-15,-24,-3,-27,1,-48v-6,-7,-27,-1,-31,3v-3,14,-7,30,-11,51v-5,10,-29,9,-24,-12v-5,-8,1,-18,3,-35v-13,6,-33,2,-29,-18v20,-17,64,-17,100,-19v28,-1,29,30,45,39v11,-6,35,-32,58,-40", "w": 239 }, "\u2206": { "d": "18,-1v-24,-30,8,-48,25,-71v14,-19,34,-28,40,-56v20,-35,29,-14,57,4v9,39,43,62,57,102v0,16,-34,17,-50,14v-28,2,-72,4,-129,7xm139,-47r-22,-52v-12,-5,-12,15,-24,27v-7,6,-14,16,-23,28v23,1,36,-1,69,-3", "w": 199 }, "\u2219": { "d": "57,-77v6,18,-7,21,-19,23v-34,6,-25,-40,-9,-43v18,-3,29,8,28,20", "w": 67 }, "\u221a": { "d": "364,-218v43,-21,80,-51,104,-32v-3,19,-24,21,-44,40v-41,15,-78,53,-136,78r-137,98v-20,16,-79,66,-91,68v-3,1,-25,-11,-24,-13v-4,-28,-43,-61,-30,-85v26,-15,42,19,58,32r295,-188v0,1,2,2,5,2", "w": 474 }, "\u221e": { "d": "322,-72v-4,22,-54,41,-76,41v-43,0,-83,-17,-114,-35v-46,19,-125,53,-128,-18v-1,-14,10,-22,13,-35v29,-10,62,-31,97,-4v37,28,47,5,75,-8v40,-19,73,-10,114,1v13,1,18,55,19,58xm228,-69v15,0,62,-12,61,-25v-19,-23,-89,-10,-105,11v0,2,1,4,2,4v28,6,42,10,42,10xm75,-102v-13,2,-41,4,-44,19v0,4,3,7,10,7v21,0,40,-6,54,-17v-9,-6,-16,-9,-20,-9", "w": 330 }, "\u222b": { "d": "62,-151v-7,-70,20,-130,63,-150v28,1,39,10,70,23v20,8,6,33,-6,35v-29,-13,-45,-20,-49,-20v-20,-4,-45,51,-43,70v8,60,5,129,5,189v0,62,-27,93,-79,93v-37,-1,-71,-14,-63,-57v21,0,79,34,91,-2v16,-3,14,-64,21,-85v-2,-31,-1,-74,-10,-96", "w": 156 }, "\u2248": { "d": "133,-112v21,15,48,-30,78,-17v3,3,5,7,5,9v-8,30,-47,45,-76,45v-19,0,-64,-48,-90,-21r-29,20v-6,-1,-17,-16,-15,-32v24,-17,70,-42,107,-21v4,4,10,9,20,17xm138,-57v28,2,48,-25,76,-26v13,30,-21,42,-40,53v-41,24,-77,-15,-114,-23v-15,14,-46,32,-49,-1v-3,-9,27,-28,54,-30", "w": 223 }, "\u2260": { "d": "48,-130v29,11,49,-57,60,-50v25,6,7,27,-1,46v22,5,29,7,21,22v-18,2,-48,-1,-50,15v9,8,53,-7,54,10v-4,22,-46,20,-72,24v-7,13,-18,32,-34,57v-8,6,-15,-3,-13,-14v-1,-9,15,-39,14,-45v-30,5,-24,-17,-13,-25v12,-1,36,4,29,-13v-14,0,-47,6,-36,-12v0,-18,27,-13,41,-15", "w": 140 }, "\u2264": { "d": "73,-109v10,15,87,16,87,42v0,11,-5,16,-13,16v-36,-11,-69,-24,-109,-31v-18,-8,-18,-13,-9,-36v59,-56,93,-83,101,-83v16,0,18,17,14,28v-27,24,-42,35,-71,64xm10,-29v35,-12,117,-26,148,-3v1,2,-5,19,-8,18r-124,15v-16,2,-26,-18,-16,-30", "w": 168 }, "\u2265": { "d": "115,-174v20,7,53,36,20,57v-19,11,-91,68,-82,59v-18,3,-25,-22,-13,-31v15,-10,14,-10,70,-51r-50,-37v-5,-4,-5,-27,4,-28v16,7,40,17,51,31xm14,-32v33,-10,86,-14,127,-10v12,12,5,23,-11,27v-49,9,-82,13,-99,13v-22,0,-24,-16,-17,-30", "w": 163 }, "\u25ca": { "d": "76,-158v48,-8,64,11,100,36v28,19,-5,39,-22,54v-15,13,-40,32,-48,49v-17,5,-12,0,-27,-16v-6,-6,-86,-31,-68,-53r2,-9v27,-23,48,-44,63,-61xm93,-65v12,-2,35,-31,41,-38v-5,-10,-16,-14,-34,-24v-12,12,-36,29,-40,44v19,11,30,18,33,18", "w": 199 } } }); } /** js sequence diagrams * https://bramp.github.io/js-sequence-diagrams/ * (c) 2012-2017 Andrew Brampton (bramp.net) * Simplified BSD license. */ /*global Diagram, _ */ if (typeof Raphael == 'undefined' && typeof Snap == 'undefined') { throw new Error('Raphael or Snap.svg is required to be included.'); } if (_.isEmpty(Diagram.themes)) { // If you are using stock js-sequence-diagrams you should never see this. This only // happens if you have removed the built in themes. throw new Error('No themes were registered. Please call registerTheme(...).'); } // Set the default hand/simple based on which theme is available. Diagram.themes.hand = Diagram.themes.snapHand || Diagram.themes.raphaelHand; Diagram.themes.simple = Diagram.themes.snapSimple || Diagram.themes.raphaelSimple; /* Draws the diagram. Creates a SVG inside the container * container (HTMLElement|string) DOM element or its ID to draw on * options (Object) */ Diagram.prototype.drawSVG = function(container, options) { var defaultOptions = { theme: 'hand' }; options = _.defaults(options || {}, defaultOptions); if (!(options.theme in Diagram.themes)) { throw new Error('Unsupported theme: ' + options.theme); } // TODO Write tests for this check var div = _.isString(container) ? document.getElementById(container) : container; if (div === null || !div.tagName) { throw new Error('Invalid container: ' + container); } var Theme = Diagram.themes[options.theme]; new Theme(this, options, function(drawing) { drawing.draw(div); }); }; // end of drawSVG /** js sequence diagrams * https://bramp.github.io/js-sequence-diagrams/ * (c) 2012-2017 Andrew Brampton (bramp.net) * Simplified BSD license. */ /*global jQuery */ if (typeof jQuery != 'undefined') { (function($) { $.fn.sequenceDiagram = function(options) { return this.each(function() { var $this = $(this); var diagram = Diagram.parse($this.text()); $this.html(''); diagram.drawSVG(this, options); }); }; })(jQuery); } // Taken from underscore.js: // Establish the root object, `window` (`self`) in the browser, or `global` on the server. // We use `self` instead of `window` for `WebWorker` support. var root = (typeof self == 'object' && self.self == self && self) || (typeof global == 'object' && global.global == global && global); // Export the Diagram object for **Node.js**, with // backwards-compatibility for their old module API. If we're in // the browser, add `Diagram` as a global object. if (typeof exports !== 'undefined') { if (typeof module !== 'undefined' && module.exports) { exports = module.exports = Diagram; } exports.Diagram = Diagram; } else { root.Diagram = Diagram; } }()); ================================================ FILE: fonts/daniel/Daniel Midgley.txt ================================================ Thanks for downloading the Daniel font! It’s free for you to use for any purpose, commercial or not. You can share this font with anyone, as long as this notice is included. Please do not distribute modified copies. Visit the Page of Fontery http://goodreasonblog.blogspot.com/p/fontery.html Here’s where you can - download more of my fonts - send me an email - report problems or suggestions - express your gratitude in the form of donations to keep the fonts coming. Be sure to let me know if you use one of my fonts in an interesting, creative, or beautiful way. I may feature your work on the blog. This font may not be appropriate for your purposes. It comes with no guarantees of any kind. While I’ve tested this font, and it seems to work well, I accept no responsibility for any unintended consequences of its use. ================================================ FILE: fonts/daniel/README.md ================================================ This directory contains the "Daniel" hand drawn font. [Website](http://goodreasonblog.blogspot.com/p/fontery.html) It contains fonts in ttf format. daniel.ttf - Regular danielbk.ttf - Black danielbd.ttf - Bold The daniel bold font had a couple of mistakes The backslash '\' character was drawn as a forward slash '/'. The µ, π, Ω, ∂, ∏ and ∑ characters mapped to unrelated characters. The , fi, fl were incorrectly mapped to 0xff00 though 0xff03. I (bramp) fixed the backslash issues by just flipping the character, and removed the other invalid mappings. This original font was saved as danielbd-original.ttf. Check out the test/font_test.html, to see all valid glyphs. ## Raphael For Raphael the TTF fonts were then converted to cufon format, using [this site](http://cufon.shoqolate.com/generate/). ## Snap.svg Snap uses normal CSS styled fonts. In this case, I used [font squirell](http://www.fontsquirrel.com/tools/webfont-generator) to convert to daniel OTF fonts to WOFF/WOFF2 formats, which is supported across modern browsers. ================================================ FILE: fonts/daniel/daniel-demo.html ================================================ Daniel Regular Specimen
AaBb
A​B​C​D​E​F​G​H​I​J​K​L​M​N​O​P​Q​R​S​T​U​V​W​X​Y​Z​a​b​c​d​e​f​g​h​i​j​k​l​m​n​o​p​q​r​s​t​u​v​w​x​y​z​1​2​3​4​5​6​7​8​9​0​&​.​,​?​!​@​(​)​#​$​%​*​+​-​=​:​;
10abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
11abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
12abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
13abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
14abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
16abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
18abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
20abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
24abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
30abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
36abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
48abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
60abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
72abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
90abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼body
body
body
body
bodyDaniel Regular
bodyArial
bodyVerdana
bodyGeorgia

10.Aenean lacinia bibendum nulla sed consectetur. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Nullam id dolor id nibh ultricies vehicula ut id elit. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nulla vitae elit libero, a pharetra augue.

11.Aenean lacinia bibendum nulla sed consectetur. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Nullam id dolor id nibh ultricies vehicula ut id elit. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nulla vitae elit libero, a pharetra augue.

12.Aenean lacinia bibendum nulla sed consectetur. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Nullam id dolor id nibh ultricies vehicula ut id elit. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nulla vitae elit libero, a pharetra augue.

13.Aenean lacinia bibendum nulla sed consectetur. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Nullam id dolor id nibh ultricies vehicula ut id elit. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nulla vitae elit libero, a pharetra augue.

14.Aenean lacinia bibendum nulla sed consectetur. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Nullam id dolor id nibh ultricies vehicula ut id elit. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nulla vitae elit libero, a pharetra augue.

16.Aenean lacinia bibendum nulla sed consectetur. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Nullam id dolor id nibh ultricies vehicula ut id elit. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nulla vitae elit libero, a pharetra augue.

18.Aenean lacinia bibendum nulla sed consectetur. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Nullam id dolor id nibh ultricies vehicula ut id elit. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nulla vitae elit libero, a pharetra augue.

20.Aenean lacinia bibendum nulla sed consectetur. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Nullam id dolor id nibh ultricies vehicula ut id elit. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nulla vitae elit libero, a pharetra augue.

24.Aenean lacinia bibendum nulla sed consectetur. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Nullam id dolor id nibh ultricies vehicula ut id elit. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nulla vitae elit libero, a pharetra augue.

30.Aenean lacinia bibendum nulla sed consectetur. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Nullam id dolor id nibh ultricies vehicula ut id elit. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nulla vitae elit libero, a pharetra augue.

10.Aenean lacinia bibendum nulla sed consectetur. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Nullam id dolor id nibh ultricies vehicula ut id elit. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nulla vitae elit libero, a pharetra augue.

11.Aenean lacinia bibendum nulla sed consectetur. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Nullam id dolor id nibh ultricies vehicula ut id elit. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nulla vitae elit libero, a pharetra augue.

12.Aenean lacinia bibendum nulla sed consectetur. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Nullam id dolor id nibh ultricies vehicula ut id elit. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nulla vitae elit libero, a pharetra augue.

13.Aenean lacinia bibendum nulla sed consectetur. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Nullam id dolor id nibh ultricies vehicula ut id elit. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nulla vitae elit libero, a pharetra augue.

14.Aenean lacinia bibendum nulla sed consectetur. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Nullam id dolor id nibh ultricies vehicula ut id elit. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nulla vitae elit libero, a pharetra augue.

16.Aenean lacinia bibendum nulla sed consectetur. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Nullam id dolor id nibh ultricies vehicula ut id elit. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nulla vitae elit libero, a pharetra augue.

18.Aenean lacinia bibendum nulla sed consectetur. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Nullam id dolor id nibh ultricies vehicula ut id elit. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nulla vitae elit libero, a pharetra augue.

20.Aenean lacinia bibendum nulla sed consectetur. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Nullam id dolor id nibh ultricies vehicula ut id elit. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nulla vitae elit libero, a pharetra augue.

24.Aenean lacinia bibendum nulla sed consectetur. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Nullam id dolor id nibh ultricies vehicula ut id elit. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nulla vitae elit libero, a pharetra augue.

30.Aenean lacinia bibendum nulla sed consectetur. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Nullam id dolor id nibh ultricies vehicula ut id elit. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nulla vitae elit libero, a pharetra augue.

Lorem Ipsum Dolor

Etiam porta sem malesuada magna mollis euismod

Donec sed odio dui. Morbi leo risus, porta ac consectetur ac, vestibulum at eros. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.

Pellentesque ornare sem

Maecenas sed diam eget risus varius blandit sit amet non magna. Maecenas faucibus mollis interdum. Donec ullamcorper nulla non metus auctor fringilla. Nullam id dolor id nibh ultricies vehicula ut id elit. Nullam id dolor id nibh ultricies vehicula ut id elit.

Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.

Nulla vitae elit libero, a pharetra augue. Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Aenean lacinia bibendum nulla sed consectetur.

Nullam quis risus eget urna mollis ornare vel eu leo. Nullam quis risus eget urna mollis ornare vel eu leo. Maecenas sed diam eget risus varius blandit sit amet non magna. Donec ullamcorper nulla non metus auctor fringilla.

Cras mattis consectetur

Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Aenean lacinia bibendum nulla sed consectetur. Integer posuere erat a ante venenatis dapibus posuere velit aliquet. Cras mattis consectetur purus sit amet fermentum.

Nullam id dolor id nibh ultricies vehicula ut id elit. Nullam quis risus eget urna mollis ornare vel eu leo. Cras mattis consectetur purus sit amet fermentum.

Language Support

The subset of Daniel Regular in this kit supports the following languages:
English, Malagasy

Glyph Chart

The subset of Daniel Regular in this kit includes all the glyphs listed below. Unicode entities are included above each glyph to help you insert individual characters into your layout.

&#9;

&#13;

&#32;

&#33;

!

&#34;

"

&#35;

#

&#36;

$

&#37;

%

&#38;

&

&#39;

'

&#40;

(

&#41;

)

&#42;

*

&#43;

+

&#44;

,

&#45;

-

&#46;

.

&#47;

/

&#48;

0

&#49;

1

&#50;

2

&#51;

3

&#52;

4

&#53;

5

&#54;

6

&#55;

7

&#56;

8

&#57;

9

&#58;

:

&#59;

;

&#60;

<

&#61;

=

&#62;

>

&#63;

?

&#64;

@

&#65;

A

&#66;

B

&#67;

C

&#68;

D

&#69;

E

&#70;

F

&#71;

G

&#72;

H

&#73;

I

&#74;

J

&#75;

K

&#76;

L

&#77;

M

&#78;

N

&#79;

O

&#80;

P

&#81;

Q

&#82;

R

&#83;

S

&#84;

T

&#85;

U

&#86;

V

&#87;

W

&#88;

X

&#89;

Y

&#90;

Z

&#91;

[

&#92;

\

&#93;

]

&#94;

^

&#95;

_

&#96;

`

&#97;

a

&#98;

b

&#99;

c

&#100;

d

&#101;

e

&#102;

f

&#103;

g

&#104;

h

&#105;

i

&#106;

j

&#107;

k

&#108;

l

&#109;

m

&#110;

n

&#111;

o

&#112;

p

&#113;

q

&#114;

r

&#115;

s

&#116;

t

&#117;

u

&#118;

v

&#119;

w

&#120;

x

&#121;

y

&#122;

z

&#123;

{

&#124;

|

&#125;

}

&#126;

~

&#160;

 

&#161;

¡

&#162;

¢

&#163;

£

&#164;

¤

&#165;

¥

&#166;

¦

&#167;

§

&#168;

¨

&#169;

©

&#170;

ª

&#171;

«

&#172;

¬

&#173;

­

&#174;

®

&#175;

¯

&#176;

°

&#177;

±

&#178;

²

&#179;

³

&#180;

´

&#181;

µ

&#182;

&#184;

¸

&#185;

¹

&#186;

º

&#187;

»

&#188;

¼

&#189;

½

&#190;

¾

&#191;

¿

&#192;

À

&#193;

Á

&#194;

Â

&#195;

Ã

&#196;

Ä

&#197;

Å

&#198;

Æ

&#199;

Ç

&#200;

È

&#201;

É

&#202;

Ê

&#203;

Ë

&#204;

Ì

&#205;

Í

&#206;

Î

&#207;

Ï

&#208;

Ð

&#209;

Ñ

&#210;

Ò

&#211;

Ó

&#212;

Ô

&#213;

Õ

&#214;

Ö

&#215;

×

&#216;

Ø

&#217;

Ù

&#218;

Ú

&#219;

Û

&#220;

Ü

&#221;

Ý

&#222;

Þ

&#223;

ß

&#226;

â

&#227;

ã

&#229;

å

&#230;

æ

&#231;

ç

&#234;

ê

&#238;

î

&#240;

ð

&#241;

ñ

&#244;

ô

&#245;

õ

&#247;

÷

&#248;

ø

&#251;

û

&#253;

ý

&#254;

þ

&#305;

ı

&#321;

Ł

&#322;

ł

&#338;

Œ

&#339;

œ

&#352;

Š

&#353;

š

&#376;

Ÿ

&#381;

Ž

&#382;

ž

&#402;

ƒ

&#710;

ˆ

&#711;

ˇ

&#728;

˘

&#729;

˙

&#730;

˚

&#731;

˛

&#732;

˜

&#733;

˝

&#960;

π

&#8192;

 

&#8193;

&#8194;

&#8195;

&#8196;

&#8197;

&#8198;

&#8199;

&#8200;

&#8201;

&#8202;

&#8208;

&#8209;

&#8210;

&#8211;

&#8212;

&#8216;

&#8217;

&#8218;

&#8220;

&#8221;

&#8222;

&#8224;

&#8225;

&#8226;

&#8230;

&#8239;

&#8240;

&#8249;

&#8250;

&#8260;

&#8287;

&#8482;

&#8486;

&#8706;

&#8710;

&#8719;

&#8721;

&#8722;

&#8729;

&#8730;

&#8734;

&#8747;

&#8776;

&#8800;

&#8804;

&#8805;

&#9674;

&#9724;

&#61440;

&#61441;

&#61442;

Installing Webfonts

Webfonts are supported by all major browser platforms but not all in the same way. There are currently four different font formats that must be included in order to target all browsers. This includes TTF, WOFF, EOT and SVG.

1. Upload your webfonts

You must upload your webfont kit to your website. They should be in or near the same directory as your CSS files.

2. Include the webfont stylesheet

A special CSS @font-face declaration helps the various browsers select the appropriate font it needs without causing you a bunch of headaches. Learn more about this syntax by reading the Fontspring blog post about it. The code for it is as follows:

@font-face{ font-family: 'MyWebFont'; src: url('WebFont.eot'); src: url('WebFont.eot?#iefix') format('embedded-opentype'), url('WebFont.woff') format('woff'), url('WebFont.ttf') format('truetype'), url('WebFont.svg#webfont') format('svg'); }

We've already gone ahead and generated the code for you. All you have to do is link to the stylesheet in your HTML, like this:

<link rel="stylesheet" href="stylesheet.css" type="text/css" charset="utf-8" />

3. Modify your own stylesheet

To take advantage of your new fonts, you must tell your stylesheet to use them. Look at the original @font-face declaration above and find the property called "font-family." The name linked there will be what you use to reference the font. Prepend that webfont name to the font stack in the "font-family" property, inside the selector you want to change. For example:

p { font-family: 'WebFont', Arial, sans-serif; }

4. Test

Getting webfonts to work cross-browser can be tricky. Use the information in the sidebar to help you if you find that fonts aren't loading in a particular browser.

================================================ FILE: fonts/daniel/daniel_400.font.js ================================================ /*! * The following copyright notice may not be removed under any circumstances. * * Copyright: * Copyright (c) 2011 by Daniel Midgley. All rights reserved. * * Trademark: * Please refer to the Copyright section for the font trademark attribution * notices. * * Full name: * Daniel-Bold * * Description: * Daniel Bold is a font by Daniel Midgley. * * Designer: * Daniel Midgley * * Vendor URL: * http://goodreasonblog.blogspot.com/p/fontery.html * * License information: * http://creativecommons.org/licenses/by-nd/3.0/ */ if (typeof Raphael != 'undefined') { Raphael.registerFont({ "w": 182, "face": { "font-family": "Daniel", "font-weight": 400, "font-stretch": "normal", "units-per-em": "360", "panose-1": "2 11 5 0 0 0 0 0 0 0", "ascent": "288", "descent": "-72", "x-height": "2", "bbox": "-89.1938 -332 542 193.189", "underline-thickness": "3.51562", "underline-position": "-21.6211", "unicode-range": "U+0009-U+F002" }, "glyphs": { " ": { "w": 152 }, "\t": { "w": 152 }, "!": { "d": "97,-324v4,-3,5,-4,10,-8v21,15,8,13,0,58v-7,39,-13,71,-29,105r-14,100v0,2,-2,3,-5,3v-8,1,-16,-21,-15,-30v17,-56,39,-161,53,-228xm61,-22v-1,6,-3,14,-5,24v-23,-8,-17,-1,-27,-17v16,-17,13,-19,32,-7", "w": 130 }, "\"": { "d": "89,-331v25,20,-4,78,-6,105r-7,6v-25,-18,3,-66,4,-101v1,-1,4,-5,9,-10xm16,-236v-15,-26,15,-55,-2,-71v2,-8,29,-32,29,-3v0,32,-4,48,-12,74r-15,0", "w": 113 }, "#": { "d": "242,-149v22,-5,54,-6,75,-1v1,30,-72,9,-93,24v-10,7,-15,23,-15,51r83,1v-8,25,-76,3,-94,28v-6,8,-29,90,-50,64v0,-2,9,-23,27,-64v-26,-11,-85,-10,-86,21v-2,9,-4,16,-5,21v-6,-3,-10,-5,-17,-5v0,-8,1,-18,4,-30v-6,-13,-66,-11,-68,-30v18,-16,46,2,71,1v3,-9,27,-52,8,-58v-25,6,-78,-3,-48,-21v35,3,72,11,75,-24r14,-46v3,0,7,-1,10,-4v25,21,-24,53,-4,74r68,0v19,-15,32,-83,48,-113v18,-3,10,22,8,33v-11,6,-19,56,-22,70v0,5,4,8,11,8xm197,-124v-28,1,-62,-7,-83,3v-9,20,-19,37,-11,51v29,-1,74,4,83,-13", "w": 300 }, "$": { "d": "184,-228v5,8,54,8,36,33v-24,-6,-39,-9,-46,-9v-3,-1,-26,34,-24,37v15,21,62,44,57,77v-5,34,-63,25,-105,26v-13,12,-36,74,-43,81v-32,-12,10,-61,15,-82v-16,-12,-55,-12,-66,-15v-3,-9,-3,-21,10,-20r68,11v27,-48,54,-56,15,-73v-20,-9,-65,-55,-28,-67v28,-1,63,7,87,0r48,-84v8,-2,12,6,12,9xm90,-203v0,4,31,27,36,26v5,0,11,-8,17,-26v-9,-2,-44,-1,-53,0xm143,-141v-3,1,-41,50,-28,56v29,1,60,2,74,-16v-14,-19,-24,-30,-46,-40", "w": 232 }, "%": { "d": "257,-96v26,-1,65,11,65,33v0,36,-61,64,-103,55v-11,12,-36,-7,-51,-9r0,-32v8,-17,74,-46,89,-47xm116,-240v37,0,43,6,56,29v13,1,63,-4,87,-7v23,-2,28,21,14,31v-67,55,-210,120,-241,186v-7,13,-28,14,-31,-1v51,-73,166,-136,242,-191v-60,-4,-76,-1,-109,19v-20,4,-63,8,-63,-18v0,-32,15,-48,45,-48xm105,-215v14,4,20,13,36,3v-9,-13,-24,-7,-36,-3xm303,-61v-37,-27,-95,-5,-115,23v32,26,106,8,115,-23", "w": 327 }, "&": { "d": "222,-258v0,64,-45,80,-89,120v-9,-1,-13,2,-11,11v9,19,25,40,31,58v15,9,47,-44,75,-45v11,23,-56,56,-56,64v3,6,10,12,22,17v1,10,0,14,-11,13v-4,3,-30,-18,-29,-15v-2,5,-81,44,-90,38v-33,0,-50,-17,-50,-50v0,-46,62,-74,79,-101v-7,-59,-2,-109,45,-132v33,-30,84,-23,84,22xm121,-160v32,-19,79,-60,80,-99v0,-11,-6,-16,-17,-16v-48,-1,-92,64,-70,115r7,0xm103,-117v-15,-4,-71,55,-66,71v-3,37,51,26,70,14v14,-8,25,-16,33,-25v-7,-2,-21,-63,-37,-60", "w": 246 }, "'": { "d": "49,-322v-4,30,5,97,-29,88v1,-23,6,-72,19,-95v4,2,3,2,10,7", "w": 68 }, "(": { "d": "52,82v-47,-17,-53,-107,-45,-155v14,-87,65,-205,146,-258v7,-1,16,1,15,6v-11,20,-65,62,-76,92v-22,58,-68,102,-67,187v0,52,11,91,32,117v0,4,-2,8,-5,11", "w": 103 }, ")": { "d": "36,21v61,-98,50,-239,5,-338r0,-14v25,-7,21,25,35,42v16,33,30,97,26,149v-9,114,-29,123,-94,249r-24,0v0,-21,21,-31,22,-40v2,-4,12,-20,30,-48", "w": 115 }, "*": { "d": "64,-285v6,-8,14,-35,18,-45v19,-5,11,18,19,27v25,-15,25,-26,41,-11v1,16,-9,9,-25,23v-5,5,-13,12,-24,21r40,33v-10,23,-26,0,-42,-3v-18,5,-4,30,-19,43v-15,-6,-8,-24,-15,-42v-19,-2,-20,23,-38,33v-4,0,-13,-9,-12,-14v-3,-2,40,-47,36,-50v-2,-8,-43,-24,-17,-37v3,0,15,7,38,22", "w": 150 }, "+": { "d": "90,-117v3,29,63,-9,72,27v-17,15,-34,10,-58,8v-39,-3,-5,61,-46,56v0,-18,3,-39,1,-57v-21,6,-36,8,-53,-2v8,-14,9,-14,35,-14v41,0,21,-57,53,-64v10,13,-2,30,-4,46", "w": 165 }, ",": { "d": "-23,49v41,-26,55,-31,60,-86v16,-2,19,6,19,28v0,43,-31,52,-64,71v-12,1,-14,-2,-15,-13", "w": 80 }, "-": { "d": "110,-96v11,1,25,34,5,34v-28,-8,-69,-3,-93,2r1,1v-4,1,-13,-11,-12,-15v7,-28,69,-5,99,-22", "w": 134 }, ".": { "d": "14,-7v-1,-25,42,-50,45,-14v-6,14,-26,30,-45,14", "w": 74 }, "\/": { "d": "78,-86v9,-34,60,-71,69,-110v19,-15,52,-63,64,-88r-6,-1v8,-10,37,-34,50,-45v5,2,8,6,8,12v-62,110,-122,154,-205,307v-15,16,-20,58,-52,46v-3,-33,28,-44,43,-72v10,-18,11,-18,29,-49", "w": 267 }, "0": { "d": "14,-136v-17,-88,87,-146,173,-146v19,0,63,14,70,33v8,20,16,83,9,118v-11,54,-103,132,-170,132v-57,0,-108,-74,-82,-137xm106,-17v92,-23,166,-77,147,-196v-5,-29,-33,-53,-69,-53v-57,0,-115,33,-138,70r6,0v21,-22,41,-34,59,-37v-16,24,-86,72,-86,128v0,49,34,88,81,88", "w": 287 }, "1": { "d": "28,-2v-2,-1,-10,-9,-10,-12r45,-222v25,-1,16,29,12,51v-5,23,-31,163,-47,183", "w": 94 }, "2": { "d": "223,-274v39,0,38,41,12,67v-61,60,-112,114,-188,177v1,11,26,12,38,11v56,-3,93,-10,153,-3r3,-3r3,15v-53,1,-109,13,-159,7v-16,13,-59,-5,-74,-12v1,-26,10,-23,33,-42v56,-47,148,-119,191,-191v-36,-34,-134,41,-173,44v-13,-20,14,-22,36,-32v57,-26,99,-38,125,-38", "w": 260 }, "3": { "d": "130,-160v48,13,235,18,156,75v-61,45,-175,52,-266,95r-7,-11v65,-49,206,-51,264,-106v-37,-40,-162,-17,-217,-42v-2,-10,5,-16,10,-17v42,-5,134,-44,148,-72v0,-7,-6,-10,-17,-10v-56,-1,-117,12,-163,30v-7,0,-10,-4,-10,-11v0,-20,150,-37,180,-37v10,0,38,17,37,26v-2,30,-84,61,-115,80", "w": 316 }, "4": { "d": "150,-133v-46,7,-104,10,-140,-13v1,-35,29,-48,36,-85v12,-21,5,-30,22,-24v12,24,-29,83,-29,96v34,20,85,16,127,8v24,-35,30,-99,66,-135v22,2,1,20,-2,28v-9,41,-35,67,-34,118v-25,34,-35,101,-38,138v-3,1,-6,2,-12,3v-17,-38,12,-89,15,-130v-3,-3,-6,-4,-11,-4", "w": 222 }, "5": { "d": "245,-261v-56,19,-84,14,-138,9v-25,-1,-31,39,-38,60v57,27,171,28,181,97v-40,62,-151,74,-226,103v-4,0,-10,-2,-18,-5v15,-21,13,-13,55,-27v109,-36,164,-61,164,-76v-16,-35,-104,-61,-164,-66v-1,-8,-21,-5,-21,-18v0,-10,35,-84,41,-88v40,3,83,11,114,-2r48,0v1,3,1,7,2,13", "w": 260 }, "6": { "d": "214,-278v-81,22,-156,95,-183,178v0,10,-3,39,8,27v18,-39,96,-48,150,-48v56,0,84,15,84,45v0,34,-43,53,-127,72v-77,18,-129,-20,-137,-78v16,-95,49,-133,140,-192v23,-15,23,-11,64,-17v4,3,8,9,1,13xm114,-17v37,-1,133,-25,145,-60v2,-16,-45,-26,-67,-26v-47,0,-145,21,-149,53v16,22,39,33,71,33", "w": 286 }, "7": { "d": "195,-232v-31,-16,-79,7,-121,0v-15,9,-45,2,-69,3r0,-12v31,-13,144,-12,201,-19v7,0,11,6,11,18v-22,79,-115,166,-148,232v-4,9,-22,18,-26,3v37,-68,115,-153,152,-225", "w": 234 }, "8": { "d": "45,-85v-27,61,50,71,95,44v27,-16,65,-27,80,-56v-8,-50,-86,-58,-141,-32v-11,10,-26,25,-34,44xm172,-34v-35,15,-152,60,-150,-19v1,-45,21,-72,50,-94v-51,-2,-96,-65,-43,-102r12,8v-2,6,-18,21,-18,33v2,38,73,51,99,21v20,-3,37,-16,42,-38v-5,-27,-47,-28,-71,-34v-16,1,-34,7,-48,16v-7,-43,45,-35,85,-33v20,8,53,17,53,44v0,38,-17,43,-38,63v41,1,90,26,91,66v1,28,-36,57,-64,69", "w": 250 }, "9": { "d": "136,-282v44,0,51,12,56,53v8,62,-88,175,-173,238v-14,3,-17,-5,-15,-19v40,-35,96,-74,120,-118v-2,-5,-9,-4,-13,-2v-39,2,-71,-16,-88,-38v-28,-67,51,-115,113,-114xm105,-151v42,-2,66,-36,66,-82v0,-23,-8,-27,-35,-27v-37,0,-100,26,-100,61v0,28,41,49,69,48", "w": 200 }, ":": { "d": "21,-104v-1,-22,38,-32,43,-9v0,24,-38,30,-43,9xm50,-47v8,20,-6,51,-30,36v-7,-24,3,-46,30,-36", "w": 86 }, ";": { "d": "30,-102v-1,-10,12,-21,23,-20v11,0,17,7,17,22v0,12,-9,18,-27,18v-9,0,-13,-7,-13,-20xm56,-37v17,49,-19,90,-69,96v0,-2,-1,-5,-2,-10v35,-26,55,-35,52,-81v0,-9,12,-4,19,-5", "w": 92 }, "<": { "d": "159,-228r-60,54v-40,36,-60,57,-60,61v1,9,21,26,28,34v12,15,32,49,58,66r0,12v-35,15,-38,-17,-62,-47v-8,-17,-44,-37,-54,-63v0,-11,47,-55,139,-133v3,1,12,12,11,16", "w": 155 }, "=": { "d": "20,-140v41,-3,110,19,140,2v9,2,24,8,28,19v-40,16,-126,7,-178,1v-9,-7,0,-24,10,-22xm40,-75v45,0,132,-1,157,21v3,12,-7,19,-15,14v-56,-2,-125,-22,-175,-8r0,-19v10,-5,21,-8,33,-8", "w": 203 }, ">": { "d": "6,-243v5,-19,25,-13,36,4v27,38,78,86,106,117v-8,16,-28,21,-50,44r-70,74v-3,1,-1,15,-6,9v-10,0,-24,3,-21,-10v7,-28,16,-21,62,-67v31,-31,49,-47,49,-49v-18,-24,-45,-50,-68,-81v-8,-10,-36,-35,-38,-41", "w": 152 }, "?": { "d": "226,-299v-56,-1,-171,27,-196,54r-10,0v-1,-6,-3,-9,-3,-9v24,-35,144,-61,204,-67v69,-7,66,69,33,103v-33,35,-107,56,-144,86v-10,25,-32,62,-42,70v-22,-10,-1,-47,2,-62v17,-27,23,-32,67,-50v79,-34,118,-67,118,-101v0,-16,-10,-24,-29,-24xm32,14v-22,-14,-4,-43,18,-30v4,0,12,-2,23,-6v4,5,5,10,5,17v-9,5,-24,12,-46,19", "w": 284 }, "@": { "d": "158,-183v60,-1,134,24,137,75v2,29,-43,58,-72,61v-1,38,-64,28,-101,40v-60,4,-112,-17,-112,-69v0,-51,36,-62,71,-88v33,-13,58,-19,77,-19xm210,-67v14,-7,65,-15,65,-40v0,-27,-57,-48,-88,-48v-57,0,-154,18,-154,77v0,54,106,46,156,33v-5,-6,-11,-16,-19,-29v-26,11,-46,16,-61,16v-32,0,-49,-11,-49,-31v0,-36,71,-44,111,-51v14,3,40,2,45,16v4,12,-34,54,-5,56xm154,-91v7,-1,46,-22,19,-23v-31,-2,-78,3,-88,25v19,17,40,4,69,-2", "w": 302 }, "A": { "d": "150,-291v11,-4,19,-58,34,-28r48,232v10,15,23,67,25,91v2,11,-14,14,-25,11v-60,-53,-87,-76,-166,-50v-20,7,-23,21,-34,51v-2,1,-5,3,-11,6v-22,-61,35,-122,55,-175v22,-58,50,-104,73,-143xm70,-63v70,-5,110,0,153,36v-8,-76,-28,-179,-53,-250v-26,29,-79,148,-103,209v0,4,1,5,3,5", "w": 272 }, "B": { "d": "280,-267v-7,65,-97,103,-150,144v2,1,12,2,28,2v146,-2,190,44,90,95v-56,28,-115,52,-178,75v-21,8,-36,20,-44,35v-9,-4,-13,-8,-13,-13v26,-75,226,-81,267,-152v-30,-25,-90,-14,-136,-22v-21,5,-44,-1,-63,-8v0,-6,-1,-10,3,-14v117,-62,175,-108,175,-139v0,-37,-70,-34,-100,-22v-26,-1,-99,24,-110,47v-10,69,0,158,18,225v-2,14,-21,17,-23,-2v-10,-77,-13,-74,-16,-205v0,-11,-19,2,-19,-14v0,-8,9,-18,29,-26v50,-19,105,-52,166,-55v35,-1,79,18,76,49", "w": 305 }, "C": { "d": "221,-30v-102,20,-175,-16,-187,-94v5,-68,64,-97,125,-128v8,-13,21,-14,36,-19v1,0,19,-7,53,-21v3,-3,4,-5,4,-9v-46,-2,-53,9,-98,29v-86,38,-167,86,-133,193v9,28,39,51,81,75v61,19,163,-3,209,-22r-2,-13", "w": 299 }, "D": { "d": "122,-301v104,2,199,25,224,110v-9,58,-42,66,-91,93r-127,70v-16,17,-37,16,-72,47v-10,2,-16,-4,-15,-12v16,-31,86,-52,122,-77v49,-33,111,-50,150,-94v9,-10,12,-20,12,-29v-25,-70,-144,-95,-249,-86v-6,68,-25,147,-10,216v-1,8,3,19,-7,19v-13,0,-18,-49,-18,-69v0,-21,14,-149,18,-160v-13,-7,-89,14,-66,31r0,8v-13,-7,-20,-14,-20,-22v-2,-31,105,-46,149,-45", "w": 299 }, "E": { "d": "81,-300v52,-7,113,-5,158,-19v22,2,34,3,63,3v7,11,-6,8,-16,18v-43,-8,-121,21,-176,14v-49,-6,-52,49,-54,93v0,1,1,6,4,13v56,-9,88,-3,145,-5r0,15v-54,0,-94,0,-140,15v-9,3,-16,6,-19,12v-6,48,-8,82,-8,102v41,31,122,3,189,11v7,1,4,8,5,15v-53,12,-108,7,-168,16v-12,1,-53,-25,-51,-35r16,-109v-8,-5,-7,-14,-6,-26v13,-4,20,-32,22,-83v-7,-4,-17,-9,-31,-18v-8,-25,21,-23,32,-25v2,0,14,-14,17,-13", "w": 246 }, "F": { "d": "63,-260v-16,-3,-43,32,-52,3v0,-9,6,-17,19,-20v27,-7,51,-22,99,-24v52,-2,66,-16,125,-11v10,-11,18,7,31,-2v12,-1,13,13,16,22v-47,18,-55,-8,-119,6v-47,10,-85,5,-119,26xm24,-98v5,-18,-21,-10,-14,-28v6,-5,8,-9,17,-12v14,-37,15,-103,40,-122v3,1,8,5,15,12v-14,27,-18,59,-24,94r6,3r178,-36v6,6,18,5,16,18v-10,4,-51,12,-75,9v7,0,11,0,11,1v-42,13,-88,18,-132,38v-19,23,-28,82,-18,118v-15,16,-41,11,-29,-21", "w": 251 }, "G": { "d": "334,-143v23,7,69,10,64,46v8,31,-84,62,-127,80v-81,15,-111,17,-177,10v-35,-17,-102,-53,-76,-120v4,-12,16,-21,12,-38v42,-42,94,-92,149,-116v25,-19,68,-38,112,-38v12,0,35,26,13,30v-52,-18,-60,-6,-124,30v-66,37,-74,49,-114,88v-1,1,-3,6,-4,14v-22,8,-24,39,-27,70v8,32,65,67,94,57v75,19,154,-15,215,-36v25,-9,38,-20,38,-32v0,-19,-38,-29,-112,-29v-35,0,-50,0,-61,23v-24,-1,-11,-20,-6,-33v25,-10,73,-5,107,-8v8,4,15,6,24,2", "w": 409 }, "H": { "d": "212,-120v-40,10,-90,4,-126,16v-26,-5,-54,7,-44,45v0,9,-4,25,-11,47v-5,0,-10,2,-15,0v3,-18,4,-45,4,-83v15,-59,18,-107,42,-145r11,0v1,4,2,6,2,7v-9,22,-29,83,-27,101v0,6,2,8,6,8v54,-12,129,-4,187,-10v10,-8,13,-74,18,-84v10,-22,14,-42,40,-43v8,18,-12,20,-17,33v-19,56,-25,156,-34,222v0,1,1,8,5,21v-3,1,-7,2,-13,3v-21,-42,1,-89,0,-138r-28,0", "w": 299 }, "I": { "d": "11,-54v0,-71,16,-169,42,-217v10,-2,15,5,13,12v-14,62,-42,189,-37,253v-2,0,-3,1,-5,3v-8,-10,-13,-27,-13,-51", "w": 77 }, "J": { "d": "293,-251v1,89,32,230,-53,244v-16,3,-29,7,-39,7v-39,2,-173,-51,-191,-72r0,-10v4,0,7,-3,10,-6v40,29,126,65,183,67v105,4,70,-129,74,-225v-2,-11,12,-18,16,-5", "w": 312 }, "K": { "d": "300,-18v-6,19,-32,-2,-41,-2v-9,-4,-52,-7,-59,-9v-47,-10,-137,-29,-154,-69v7,-14,106,-89,107,-100v17,-16,77,-73,104,-84v19,14,-12,26,-22,35v-28,24,-82,73,-160,151v49,34,136,45,205,64v1,0,8,5,20,14xm57,-243r-28,241v-29,7,-24,-7,-17,-52v11,-67,15,-145,34,-203v7,2,11,6,11,14", "w": 284 }, "L": { "d": "131,-32v61,0,81,-5,148,10v0,4,5,12,-2,11v-79,-11,-165,10,-241,1v-6,-1,-16,-6,-27,-14v25,-72,58,-225,73,-262r8,-3v4,8,5,10,5,14r-58,232v4,27,68,11,94,11", "w": 299 }, "M": { "d": "330,-22v-4,-15,41,-164,69,-247r0,-8v-47,25,-90,94,-122,125v-29,28,-78,115,-116,127r-14,0v-1,-67,12,-119,18,-180r-3,-3r-153,212r-9,-2r0,-15r181,-255v33,4,-1,53,0,77v1,7,-21,118,-10,136v83,-85,158,-198,258,-277v7,4,11,10,11,17v3,3,-81,200,-84,262v-5,8,-9,22,-15,44v-7,-3,-11,-7,-11,-13", "w": 422 }, "N": { "d": "142,-233v22,23,34,161,63,196v47,-42,124,-177,171,-273v1,-3,5,-5,10,-8v5,4,8,7,8,10v-27,70,-93,184,-144,250v-19,26,-39,44,-57,55v-17,-9,-9,-27,-29,-100v-11,-38,-20,-69,-32,-92r-110,188v-2,-2,-7,-3,-10,-3v-2,-33,10,-34,56,-113r65,-110r9,0", "w": 320 }, "O": { "d": "134,7v-80,9,-154,-60,-102,-133v24,-33,39,-41,68,-72v29,-32,34,-32,88,-46v63,-16,99,-13,151,8v36,14,54,36,54,63v0,116,-138,167,-259,180xm375,-157v15,-53,-53,-77,-98,-75v-36,-9,-74,6,-118,15v-14,3,-17,11,-21,23v-43,30,-49,31,-67,67v-1,2,-2,32,-11,31v-4,-6,-7,-13,-9,-21v-13,22,-20,35,-20,39v1,25,48,69,81,63v110,8,239,-54,263,-142", "w": 375 }, "P": { "d": "220,-328v68,-4,122,56,91,117v-53,65,-171,74,-247,122r-10,106v-7,8,-11,10,-22,5v-5,-33,14,-57,6,-85v-2,5,-5,8,-9,9v-26,-14,22,-48,20,-60v11,-42,17,-128,43,-146v4,4,12,5,10,15v-17,17,-20,73,-32,99v1,7,-4,22,3,24v82,-21,179,-51,220,-95v37,-39,-23,-92,-70,-92v-47,0,-98,13,-134,27v-37,14,-56,28,-60,44v-8,8,-16,-10,-15,-14v21,-54,166,-74,206,-76", "w": 279 }, "Q": { "d": "361,-214v37,48,-7,123,-39,152v5,12,83,53,88,63v-3,7,-11,6,-19,8r-97,-52v-16,7,-117,51,-137,43v-65,3,-150,-52,-150,-114v0,-40,14,-61,41,-65v39,-49,126,-78,218,-77v21,-1,98,24,95,42xm297,-75v21,6,63,-70,63,-91v0,-40,-33,-71,-76,-68v-94,-20,-221,33,-233,90v-3,11,1,33,-9,38v-12,-8,-11,-24,-11,-39v-27,81,91,146,180,111r51,-19v17,-16,-30,-20,-11,-40v20,1,30,14,46,18", "w": 381 }, "R": { "d": "36,-244v15,-53,143,-88,198,-53v4,1,27,42,26,48v-6,58,-71,110,-121,137v-13,2,-41,8,-46,12v19,14,60,14,91,24v21,7,66,20,134,41v-11,18,-18,11,-45,4r-128,-31v-40,-1,-109,-26,-67,-55v1,-1,67,-15,70,-20v23,-13,89,-75,89,-106v0,-62,-84,-51,-132,-38v-16,4,-51,28,-63,48v-4,-3,-6,-7,-6,-11xm74,-241v4,13,-15,61,-17,73v-9,50,-10,109,-17,165v0,0,-6,4,-17,10v-15,-75,14,-162,31,-236v3,-3,6,-7,9,-14", "w": 314 }, "S": { "d": "28,-239v62,-21,143,-39,182,-37v22,1,49,4,42,20v-61,-16,-122,12,-183,23v-11,3,-20,7,-26,12v21,56,246,78,244,125v0,13,-31,32,-44,36v-8,3,-206,41,-215,64v-5,1,-10,-8,-8,-16v54,-44,159,-42,227,-75v2,-1,5,-4,10,-10v-24,-27,-37,-22,-86,-38v-101,-32,-151,-60,-151,-87v0,-8,3,-13,8,-17", "w": 301 }, "T": { "d": "15,-243v106,-19,256,-18,373,-26v15,0,27,3,37,8r0,8r-186,10v-50,4,-39,8,-49,54v-10,55,-14,116,-21,175v1,3,-11,16,-24,12v6,-26,12,-117,17,-145r15,-84v-55,3,-118,-2,-162,12v-14,0,-13,-22,0,-24", "w": 314 }, "U": { "d": "345,-264v15,0,19,17,19,44v0,18,-20,96,-39,115v-46,83,-236,164,-294,40v-13,-13,-22,-58,-22,-71v3,-38,16,-98,53,-100v15,12,-36,56,-32,102v4,51,49,121,107,113v112,-14,203,-79,211,-201v1,-18,-7,-21,-11,-29v0,-9,2,-13,8,-13", "w": 378 }, "V": { "d": "14,-192v1,-12,1,-19,15,-19r24,73v17,39,29,83,56,113v8,0,32,-29,71,-87v28,-42,81,-113,160,-214v4,3,6,6,6,9v0,7,-55,89,-166,244v-19,26,-43,58,-60,72v-3,2,-15,2,-24,2v-32,-40,-67,-133,-82,-193", "w": 354 }, "W": { "d": "92,-41v15,0,112,-173,120,-193v43,41,40,159,73,215v16,-11,41,-43,53,-59r179,-232v5,10,-1,13,-2,26v-56,67,-155,232,-219,293v-3,5,-13,4,-21,4v-20,-35,-45,-164,-63,-198v-7,9,-30,46,-71,110v3,18,-37,61,-47,66v0,0,-6,2,-18,3r-69,-225v1,-4,3,-9,6,-16v20,15,40,78,47,126v12,11,16,70,32,80", "w": 469 }, "X": { "d": "132,-151v40,-24,145,-100,155,-89v6,1,24,4,17,16v-39,0,-52,21,-90,42v-33,18,-53,37,-65,50v20,20,73,88,117,117v3,21,-22,21,-31,9v-32,-38,-46,-54,-109,-107v-43,15,-76,86,-110,111v-12,-17,3,-20,8,-37v11,-34,69,-73,81,-97v-18,-23,-48,-52,-80,-74v-12,-9,-6,-17,5,-23v28,10,94,84,102,82", "w": 294 }, "Y": { "d": "31,1v12,-42,93,-173,113,-210v-13,0,-61,25,-79,23v-42,3,-57,-76,-35,-108v4,1,9,7,7,15v0,110,56,80,120,39r85,-54r8,0v8,23,2,17,-20,35v-71,61,-113,135,-160,225v-5,10,-6,53,-33,47v-4,-3,-6,-7,-6,-12", "w": 183 }, "Z": { "d": "54,-225v17,-27,105,-31,127,-31v69,0,85,17,54,54v-43,51,-115,101,-170,146v-13,11,-24,15,-25,31v28,18,84,3,123,0v53,-4,223,-14,248,15r-128,-5r-218,19v-19,1,-53,-9,-56,-22v0,-13,19,-36,57,-68v2,-1,36,-29,105,-83v38,-30,57,-48,57,-55v0,-16,-67,-16,-85,-8v-22,-1,-57,7,-79,12v-4,0,-7,-1,-10,-5", "w": 380 }, "[": { "d": "56,63v48,-1,89,-14,126,10v-7,22,-21,3,-32,15r-15,-5v3,0,4,1,4,1v-46,-6,-69,2,-123,5r18,-287v2,-41,-10,-96,7,-123v33,0,92,-9,132,-9v9,9,4,25,-16,24v-33,-2,-59,6,-91,8v-12,6,-5,36,-6,54r-12,225r-8,65v0,11,5,17,16,17", "w": 189 }, "\\": { "d": "102,-86v-39,-97,-41,-91,-92,-233v1,-6,2,-12,11,-10v54,102,99,255,154,360r0,13v-35,-12,-31,-35,-48,-73", "w": 180 }, "]": { "d": "57,-331v35,11,93,-11,118,21v4,97,-17,179,-25,268v-4,52,-7,93,-13,124v-42,26,-92,0,-136,16v0,0,-4,-1,-10,-2v-4,-33,2,-27,59,-27v14,7,61,-3,65,-12r24,-194v0,-32,12,-90,13,-133v2,-61,-87,-23,-142,-36v-10,-24,29,-21,47,-25", "w": 185 }, "^": { "d": "98,-295v-24,8,-49,61,-93,75v-7,-29,4,-25,31,-51r60,-60v29,12,31,29,56,54v13,12,17,21,17,23v1,5,-12,17,-17,16", "w": 169 }, "_": { "d": "533,33r-24,9v-87,-24,-209,-13,-317,-11v-23,-10,-29,4,-60,4v-47,0,-69,7,-106,12v-21,3,-23,-13,-14,-26v151,-16,315,-14,479,-8v17,-12,42,0,42,20", "w": 540 }, "`": { "d": "6,-322v0,-8,0,-8,8,-8v39,13,83,44,112,65v-8,20,-31,5,-45,-2v-18,-9,-47,-35,-67,-40v-5,-6,-8,-11,-8,-15", "w": 129 }, "a": { "d": "136,-50v27,-1,23,30,40,42v1,8,-3,13,-8,13v-3,2,-37,-38,-41,-34v-41,13,-105,54,-119,4v-6,-23,82,-72,104,-70v7,0,18,5,16,18v-5,10,-14,1,-20,0v-18,6,-71,30,-75,51v15,23,87,-29,103,-24" }, "b": { "d": "53,-99v60,-5,184,-43,195,26v-32,61,-136,60,-223,73v-3,0,-7,-1,-13,-5v9,-21,21,-20,53,-20v40,0,147,-18,162,-51v-1,-14,-42,-27,-63,-23r-120,22v-5,0,-13,-2,-23,-5r3,-111v5,-43,3,-93,14,-130v17,-3,16,12,16,25r-12,187v0,4,6,13,11,12", "w": 256 }, "c": { "d": "7,-43v-7,-27,77,-62,85,-61v11,2,27,-3,19,13v-16,4,-80,33,-79,46v-3,13,27,22,53,23r89,-14v3,2,3,6,3,11v-43,22,-158,37,-170,-18", "w": 183 }, "d": { "d": "202,-327v21,4,13,39,13,62r0,118v0,14,1,28,3,43v-39,20,-156,44,-180,70v5,13,18,12,42,12v34,0,103,-21,136,-29v-10,27,-20,18,-64,33v-52,18,-48,13,-89,16v-29,2,-77,-26,-44,-48v40,-27,102,-36,142,-55v15,-2,30,-3,38,-13v-2,-43,-13,-169,3,-209", "w": 230 }, "e": { "d": "49,-34v24,17,85,8,122,15v4,3,7,6,9,10v-46,15,-178,19,-172,-48v-6,-59,117,-76,122,-15v1,13,-61,34,-77,32v0,2,-1,4,-4,6xm108,-79v-18,-21,-89,-8,-74,23v16,5,65,-19,74,-23", "w": 185 }, "f": { "d": "97,-91v-21,-131,61,-247,185,-193v26,11,41,27,32,50v-21,-29,-50,-43,-88,-43v-75,-2,-102,72,-112,135r5,46v5,4,9,7,12,7v25,-9,91,-4,132,-4v0,0,-9,4,-7,10v-43,3,-100,2,-126,20v4,12,10,29,22,49v0,6,1,14,-6,13v-3,0,-12,-11,-25,-32v-13,-21,-21,-32,-24,-32v-31,-6,-72,39,-93,6v0,-5,2,-9,7,-11v14,-6,40,-11,81,-15v2,-2,4,-4,5,-6", "w": 268 }, "g": { "d": "40,-66v30,40,74,-51,97,5v41,98,17,199,-51,234v-46,24,-181,19,-175,-53v3,-38,87,-65,134,-79v22,-6,59,-9,92,-17v4,-18,-15,-72,-23,-77v-25,17,-111,31,-89,-28v19,-24,63,-28,107,-26v6,11,-2,21,-15,17v-41,0,-66,8,-77,24xm-67,126v-2,37,115,61,147,26v29,-17,67,-74,56,-121v-12,-1,-11,3,-22,11v-59,9,-116,28,-156,50v-17,9,-25,20,-25,34", "w": 176 }, "h": { "d": "144,-57v35,-2,41,20,40,64v-1,9,13,21,1,28v-43,-6,3,-76,-52,-72v-25,-7,-99,37,-123,6v10,-92,16,-239,43,-298v3,1,7,1,13,2v-16,72,-31,194,-34,278v0,13,16,5,24,4", "w": 196 }, "i": { "d": "33,-168v8,-18,16,-13,31,-2v0,5,-4,10,-14,17v-3,-1,-8,-6,-17,-15xm50,-82r-5,79v-6,3,-11,5,-15,5v-8,-32,1,-114,20,-84", "w": 76 }, "j": { "d": "51,-184v24,7,16,16,1,30v-16,-8,-21,-22,-1,-30xm45,-69v-1,-6,5,-26,12,-25v19,7,8,80,17,116r3,112v10,56,-45,51,-89,54v-27,2,-52,-17,-51,-45v20,17,32,25,38,25v74,-2,82,-3,79,-66", "w": 92 }, "k": { "d": "188,-61v-5,4,-53,21,-56,30v5,16,25,24,42,29v-6,16,-25,28,-43,9v-13,-14,-19,-15,-34,-32r-70,25v-26,-6,-13,-22,-10,-58v8,-96,16,-112,20,-232v1,-16,-1,-29,10,-36v7,2,10,7,10,16v-1,56,-9,179,-20,262v2,7,-2,21,8,20v46,-17,87,-38,136,-52v4,2,6,8,7,19", "w": 197 }, "l": { "d": "45,-320v10,0,10,10,12,19v0,105,-22,201,0,299v-16,12,-33,-7,-32,-39r3,-106v7,-51,3,-137,17,-173", "w": 78 }, "m": { "d": "133,-40v14,14,93,-61,126,-57v27,4,13,68,15,99v-3,0,-8,2,-11,5v-22,-15,-4,-56,-13,-82v-23,-3,-86,48,-117,64v-4,0,-17,-4,-22,-13v2,-16,8,-35,-1,-48v-20,-2,-29,19,-83,63v-9,3,-15,-7,-15,-10v16,-17,28,-21,63,-55v18,-18,33,-25,43,-25v16,-4,18,37,15,59", "w": 284 }, "n": { "d": "151,-112v31,14,2,87,3,128v0,2,-2,3,-6,3v-23,-15,-10,-67,-5,-96v-4,-21,-16,-7,-37,2v-42,18,-53,40,-84,73v-3,3,-9,5,-17,5r0,-12v17,-33,103,-97,146,-103" }, "o": { "d": "97,-114v54,-16,101,-1,108,50v8,56,-77,61,-119,66v-37,4,-102,-33,-65,-65v17,-15,39,-40,76,-51xm88,-18v33,-4,99,-4,99,-48v0,-16,-28,-35,-44,-35v-3,1,-60,7,-68,19v-28,20,-41,32,-41,40v-3,13,40,25,54,24", "w": 218 }, "p": { "d": "7,-78v0,-39,77,-36,104,-43v50,0,74,14,74,42v-8,33,-72,75,-117,78v-13,-14,13,-23,24,-27v47,-18,70,-36,70,-53v-6,-29,-124,-17,-137,3v-2,6,-4,15,-8,26v-7,-11,-10,-19,-10,-26xm22,161v-10,6,-22,1,-22,-10v-1,-31,20,-141,48,-197v0,-5,21,-16,22,-3v-29,57,-45,148,-48,210", "w": 189 }, "q": { "d": "121,-51v-25,8,-37,-14,-65,5v-14,6,-23,11,-27,15v28,24,98,-13,139,-12v36,23,-24,103,-24,131v-7,34,-6,76,-19,105v-7,0,-15,2,-15,-7v1,-65,24,-135,45,-197v0,-5,-2,-8,-6,-8v0,0,-140,43,-145,-8v-4,-40,60,-46,97,-46v15,0,28,3,20,22", "w": 189 }, "r": { "d": "159,-86v-67,-18,-146,0,-127,85v-3,1,-7,1,-13,2v-11,-30,1,-45,10,-85v8,-35,115,-32,135,-14v1,7,-2,9,-5,12", "w": 175 }, "s": { "d": "118,-22v-9,1,-68,26,-76,18v-3,0,-8,3,-15,11v-5,-4,-8,-7,-8,-9v-4,-15,39,-28,73,-34v2,-1,5,-4,9,-8v-18,-24,-91,-25,-91,-56v0,-33,92,-16,111,-7r-3,5v-23,3,-52,-1,-70,6v29,14,104,35,70,74", "w": 136 }, "t": { "d": "92,-102v-15,6,-62,-2,-64,21v-12,5,-24,-12,-27,-16v-5,-17,94,-22,95,-28v10,-22,13,-123,27,-167v0,-1,5,-3,13,-7v5,54,-17,106,-14,169r71,0r0,11v-31,1,-62,5,-78,22v-7,31,5,70,-9,93v-28,-12,-4,-70,-14,-98", "w": 190 }, "u": { "d": "56,-18v54,-12,64,-34,121,-86v5,0,9,1,8,5v-25,40,-71,106,-137,106v-33,0,-49,-61,-32,-97v19,-8,13,18,13,29v0,28,9,43,27,43", "w": 179 }, "v": { "d": "62,-29v35,-23,90,-87,128,-102v11,-2,16,2,14,14v-19,7,-42,25,-56,40v-51,54,-84,80,-96,80v-26,-20,-30,-68,-53,-96r0,-15v6,-1,9,-2,9,-2v2,0,11,13,26,40v15,27,25,41,28,41", "w": 201 }, "w": { "d": "57,-34v28,2,37,-74,67,-47v12,18,37,65,52,67v4,0,20,-13,50,-38v36,-30,36,-40,57,-38r0,8v-28,22,-93,99,-109,93v-23,-2,-47,-49,-62,-68v-12,-1,-46,70,-67,51v-4,-5,-38,-80,-37,-86v0,-6,3,-11,10,-15v11,10,34,67,39,73", "w": 288 }, "x": { "d": "114,-92v11,16,60,48,82,62v0,9,-6,14,-17,14v-4,0,-20,-9,-46,-28v-26,-19,-40,-29,-41,-29v-18,-2,-57,33,-63,74v-1,5,-5,9,-12,12r-7,-29v9,-36,23,-38,61,-76v-11,-14,-34,-21,-51,-29v-5,-10,-4,-22,7,-22r66,34v1,1,78,-36,81,-32v4,1,24,3,22,18v-20,3,-66,5,-82,31", "w": 204 }, "y": { "d": "47,-24v-20,0,-48,-51,-30,-74r10,0v14,94,78,39,115,11v23,9,5,30,6,49v-25,69,-63,134,-77,211v-3,3,-7,16,-20,15v-4,-7,-6,-11,-6,-14v6,-61,67,-150,78,-218v-23,9,-45,20,-76,20", "w": 160 }, "z": { "d": "60,-15r148,-16v8,0,15,3,23,9v-24,16,-72,11,-102,22v-33,12,-90,11,-114,-7r0,-15v33,-26,75,-54,99,-85v-3,-6,-5,-9,-13,-8v-27,1,-59,27,-78,4r1,-10r105,-19v8,2,12,8,12,19v-14,43,-36,53,-90,102v2,2,5,4,9,4", "w": 232 }, "{": { "d": "76,-316v24,-6,52,-17,80,-8v0,3,7,10,1,11v-40,0,-80,-10,-75,38v2,-2,3,-4,3,-7v-15,38,43,109,0,144v-6,5,-9,9,-11,11v7,20,20,17,24,36v0,51,-27,81,-32,125v-4,35,33,39,68,38v5,3,12,5,7,13v-41,22,-122,-10,-98,-74v10,-27,24,-55,32,-96v-9,-19,-22,-25,-45,-22v0,3,2,6,4,10v-3,-10,-16,-11,-19,-21v23,-16,69,-30,63,-72v-6,-42,-26,-92,-2,-126", "w": 151 }, "|": { "d": "42,54v-13,8,-18,-25,-17,-27r4,-332v0,-4,1,-20,5,-23v10,7,14,25,14,38", "w": 90 }, "}": { "d": "78,-312v-19,-7,-55,-19,-79,-9v-1,4,-7,10,-1,11v40,0,81,-10,74,38v-2,-2,-3,-3,-3,-6v12,23,-18,77,-15,103v-2,23,13,44,27,51v-8,20,-20,18,-25,36v-1,51,27,79,32,125v3,36,-34,40,-68,38v-9,3,-9,14,2,17v34,11,93,-9,93,-48v0,-44,-29,-81,-35,-126v7,-17,30,-30,45,-18v3,-6,15,-5,14,-15v-25,-15,-67,-30,-62,-71v5,-42,28,-92,1,-126", "w": 144 }, "~": { "d": "5,-260v0,-37,86,-95,131,-52v21,20,39,47,78,50v18,1,66,-35,87,-48v0,0,5,1,13,3r0,13v-40,22,-75,76,-137,49v-46,-20,-29,-53,-84,-53v-35,0,-55,34,-78,47v-7,0,-10,-3,-10,-9", "w": 320 }, "\u00c4": { "d": "121,-236v10,-2,13,-45,28,-23v17,68,24,145,47,207v0,15,32,72,-8,65v-49,-44,-71,-62,-135,-41v-17,6,-16,17,-27,41v-1,1,-4,3,-9,5v-19,-49,28,-100,45,-142v19,-46,40,-84,59,-116r0,4xm57,-51v56,-5,88,0,123,29v-7,-61,-21,-146,-42,-203v-20,24,-64,120,-84,169v0,3,1,5,3,5xm202,-304v16,23,-22,49,-41,29v-17,-19,10,-28,23,-37xm116,-308v17,19,-1,49,-31,40v-19,-17,2,-46,31,-40", "w": 220 }, "\u00c5": { "d": "121,-236v10,-2,13,-45,28,-23v17,68,24,145,47,207v0,15,32,72,-8,65v-49,-44,-71,-62,-135,-41v-17,6,-16,17,-27,41v-1,1,-4,3,-9,5v-19,-49,28,-100,45,-142v19,-46,40,-84,59,-116r0,4xm57,-51v56,-5,88,0,123,29v-7,-61,-21,-146,-42,-203v-20,24,-64,120,-84,169v0,3,1,5,3,5xm101,-283v2,-32,49,-66,78,-30v20,58,-71,88,-78,30xm120,-284v4,18,41,13,40,-8v-1,-13,-3,-13,-19,-13v-8,0,-22,13,-21,21", "w": 220 }, "\u00c7": { "d": "222,-31v-104,20,-179,-16,-191,-96v7,-69,67,-98,128,-130v8,-13,22,-13,37,-19v1,0,19,-7,53,-21v6,-5,7,-12,-4,-11v-62,6,-149,59,-185,85v-48,35,-58,85,-42,141v17,30,55,82,123,84v64,1,131,-12,173,-29r-3,-13xm160,-10v16,2,-4,27,-3,33v8,3,28,11,32,18v32,52,-44,50,-93,56v-6,-4,-2,-19,0,-24v19,13,74,3,82,-10v1,-18,-30,-20,-41,-27v-3,-14,16,-43,23,-46", "w": 324 }, "\u00c9": { "d": "51,-248v34,11,61,-3,122,-5v21,-9,41,-3,72,-3v5,9,-8,12,-23,14v-28,-3,-94,17,-133,12v-42,-5,-48,50,-40,86v44,-9,71,-3,117,-5r0,13v-46,-2,-75,0,-113,12v-8,2,-12,5,-15,10v-4,39,-7,67,-7,83v32,24,101,2,153,9v6,1,4,6,4,11v-38,10,-94,6,-136,14v-9,2,-43,-20,-41,-29v-2,-25,18,-82,7,-100r1,-9v11,-3,17,-26,18,-67v-6,-3,-15,-8,-26,-15v-6,-19,14,-21,26,-20v2,1,11,-12,14,-11xm187,-327v15,10,11,10,-9,19v-30,14,-75,43,-101,53v-14,0,-10,-14,0,-17v37,-14,68,-42,110,-55", "w": 199 }, "\u00d1": { "d": "115,-189v16,20,32,125,48,158v1,0,2,0,3,1v39,-36,100,-138,138,-221v3,-6,16,-7,15,2v-32,75,-95,196,-162,247v-15,0,-27,-132,-50,-156r-89,152r-9,-2v-2,-28,8,-27,46,-91r53,-90r7,0xm173,-313v33,15,76,56,110,16v9,-7,14,-11,16,-11v18,6,6,21,-10,32v-19,14,-33,22,-62,23v-1,-2,-49,-39,-55,-35v-10,-1,-35,23,-45,32v-4,0,-10,-5,-10,-9v-3,-11,45,-53,56,-48", "w": 260 }, "\u00d6": { "d": "81,-161v43,-58,226,-65,237,21v-16,98,-117,146,-229,146v-50,0,-105,-54,-64,-108v20,-27,35,-31,56,-59xm307,-138v-25,-68,-110,-55,-178,-38v-11,3,-14,9,-17,19v-35,25,-40,25,-55,54v0,2,-1,26,-8,25v-3,-5,-6,-10,-8,-16v-11,17,-16,28,-16,31v1,20,40,56,66,51r11,3v94,-7,188,-49,205,-129xm232,-277v33,5,22,43,-6,44v-20,1,-34,-29,-10,-34v4,-3,9,-6,16,-10xm171,-258v3,21,-37,39,-45,15v-1,-23,14,-31,38,-31v5,5,7,10,7,16", "w": 304 }, "\u00dc": { "d": "103,-17v99,-7,170,-63,179,-163v1,-15,-6,-17,-9,-24v0,-8,4,-12,10,-9v29,24,-3,100,-20,128v-26,41,-97,86,-158,86v-54,0,-97,-55,-97,-111v0,-31,13,-80,42,-81v2,0,3,1,3,4v-11,26,-29,41,-29,79v0,38,41,94,79,91xm226,-273v14,22,-22,49,-41,29v-18,-19,9,-29,23,-37xm140,-278v17,20,-1,49,-31,41v-20,-16,3,-48,31,-41", "w": 306 }, "\u00e1": { "d": "136,-50v27,-1,23,30,40,42v1,8,-3,13,-8,13v-3,2,-37,-38,-41,-34v-41,13,-105,54,-119,4v-6,-23,82,-72,104,-70v7,0,18,5,16,18v-5,10,-14,1,-20,0v-18,6,-71,30,-75,51v15,23,87,-29,103,-24xm162,-188v18,13,12,12,-10,24v-32,18,-84,53,-114,63v-16,-1,-11,-16,0,-20v37,-15,81,-52,124,-67" }, "\u00e0": { "d": "136,-50v27,-1,23,30,40,42v1,8,-3,13,-8,13v-3,2,-37,-38,-41,-34v-41,13,-105,54,-119,4v-6,-23,82,-72,104,-70v7,0,18,5,16,18v-5,10,-14,1,-20,0v-18,6,-71,30,-75,51v15,23,87,-29,103,-24xm33,-174v0,-8,0,-8,8,-8v39,13,83,44,112,65v-8,20,-31,5,-45,-2v-18,-9,-47,-35,-67,-40v-5,-6,-8,-11,-8,-15" }, "\u00e2": { "d": "136,-50v27,-1,23,30,40,42v1,8,-3,13,-8,13v-3,2,-37,-38,-41,-34v-41,13,-105,54,-119,4v-6,-23,82,-72,104,-70v7,0,18,5,16,18v-5,10,-14,1,-20,0v-18,6,-71,30,-75,51v15,23,87,-29,103,-24xm38,-101v-9,-2,-17,-9,-3,-14v17,-6,25,-25,49,-34v6,-11,25,-27,39,-12v7,12,33,37,44,50v0,6,-4,9,-12,9v-19,-2,-32,-36,-49,-42" }, "\u00e4": { "d": "136,-50v27,-1,23,30,40,42v1,8,-3,13,-8,13v-3,2,-37,-38,-41,-34v-41,13,-105,54,-119,4v-6,-23,82,-72,104,-70v7,0,18,5,16,18v-5,10,-14,1,-20,0v-18,6,-71,30,-75,51v15,23,87,-29,103,-24xm160,-149v13,24,-22,48,-41,29v-17,-17,8,-30,22,-37xm73,-154v19,19,-2,49,-30,41v-18,-16,1,-46,30,-41" }, "\u00e3": { "d": "136,-50v27,-1,23,30,40,42v1,8,-3,13,-8,13v-3,2,-37,-38,-41,-34v-41,13,-105,54,-119,4v-6,-23,82,-72,104,-70v7,0,18,5,16,18v-5,10,-14,1,-20,0v-18,6,-71,30,-75,51v15,23,87,-29,103,-24xm64,-161v25,14,57,48,83,14v8,-11,17,-14,19,0v-7,18,-34,40,-61,39v0,-1,-37,-34,-41,-31v-10,-5,-36,49,-42,20v-2,-9,34,-44,42,-42" }, "\u00e5": { "d": "136,-50v27,-1,23,30,40,42v1,8,-3,13,-8,13v-3,2,-37,-38,-41,-34v-41,13,-105,54,-119,4v-6,-23,82,-72,104,-70v7,0,18,5,16,18v-5,10,-14,1,-20,0v-18,6,-71,30,-75,51v15,23,87,-29,103,-24xm50,-136v2,-34,52,-69,82,-32v7,36,-11,62,-41,67v-24,4,-37,-18,-41,-35xm70,-138v5,20,43,15,43,-8v0,-13,-5,-13,-21,-13v-8,0,-24,14,-22,21" }, "\u00e7": { "d": "7,-43v-7,-27,77,-62,85,-61v11,2,27,-3,19,13v-16,4,-80,33,-79,46v-3,13,27,22,53,23r89,-14v3,2,3,6,3,11v-43,22,-158,37,-170,-18xm92,-11v14,4,-2,22,-3,32v7,2,27,11,31,17v30,49,-44,47,-89,53v-6,-3,-3,-18,0,-22v19,11,70,2,78,-10v1,-19,-27,-19,-39,-26v-2,-13,16,-40,22,-44", "w": 183 }, "\u00e9": { "d": "49,-34v24,17,85,8,122,15v4,3,7,6,9,10v-46,15,-178,19,-172,-48v-6,-59,117,-76,122,-15v1,13,-61,34,-77,32v0,2,-1,4,-4,6xm108,-79v-18,-21,-89,-8,-74,23v16,5,65,-19,74,-23xm134,-197v18,13,12,12,-10,24v-32,18,-84,53,-114,63v-16,-1,-11,-16,0,-20v37,-15,81,-52,124,-67", "w": 185 }, "\u00e8": { "d": "49,-34v24,17,85,8,122,15v4,3,7,6,9,10v-46,15,-178,19,-172,-48v-6,-59,117,-76,122,-15v1,13,-61,34,-77,32v0,2,-1,4,-4,6xm108,-79v-18,-21,-89,-8,-74,23v16,5,65,-19,74,-23xm10,-187v0,-8,0,-8,8,-8v39,13,83,44,112,65v-8,20,-31,5,-45,-2v-18,-9,-47,-35,-67,-40v-5,-6,-8,-11,-8,-15", "w": 185 }, "\u00ea": { "d": "49,-34v24,17,85,8,122,15v4,3,7,6,9,10v-46,15,-178,19,-172,-48v-6,-59,117,-76,122,-15v1,13,-61,34,-77,32v0,2,-1,4,-4,6xm108,-79v-18,-21,-89,-8,-74,23v16,5,65,-19,74,-23xm62,-164v31,-35,49,31,75,42v3,7,-1,14,-11,13v-18,-2,-31,-37,-49,-43r-68,44v-8,-1,-16,-10,-2,-15v17,-5,24,-24,48,-33v2,-1,4,-4,7,-8", "w": 185 }, "\u00eb": { "d": "49,-34v24,17,85,8,122,15v4,3,7,6,9,10v-46,15,-178,19,-172,-48v-6,-59,117,-76,122,-15v1,13,-61,34,-77,32v0,2,-1,4,-4,6xm108,-79v-18,-21,-89,-8,-74,23v16,5,65,-19,74,-23xm141,-167v13,24,-22,48,-41,29v-17,-17,8,-30,22,-37xm54,-172v19,19,-2,49,-30,41v-18,-16,1,-46,30,-41", "w": 185 }, "\u00ed": { "d": "77,-115v31,-2,11,54,17,98v0,2,-2,9,-6,21v-5,-2,-12,-4,-22,-7v-2,-32,-1,-106,11,-112xm139,-196v18,13,12,12,-10,24v-32,18,-84,53,-114,63v-16,-1,-11,-16,0,-20v37,-15,81,-52,124,-67", "w": 153 }, "\u00ec": { "d": "54,-115v31,-2,11,54,17,98v0,2,-2,9,-6,21v-5,-2,-12,-4,-22,-7v-2,-32,-1,-106,11,-112xm6,-179v0,-8,0,-8,8,-8v39,13,83,44,112,65v-8,20,-31,5,-45,-2v-18,-9,-47,-35,-67,-40v-5,-6,-8,-11,-8,-15", "w": 130 }, "\u00ee": { "d": "73,-115v31,-4,12,58,16,98v0,2,-1,9,-5,21v-5,-2,-12,-4,-22,-7v-2,-32,-1,-106,11,-112xm13,-112v-8,-1,-17,-9,-3,-14v21,-8,27,-27,49,-34v6,-11,26,-27,39,-12v6,7,30,38,43,46v5,10,-8,17,-18,11v-12,-8,-30,-35,-42,-40", "w": 151 }, "\u00ef": { "d": "56,-115v31,-2,11,54,17,98v0,2,-2,9,-6,21v-5,-2,-12,-4,-22,-7v-2,-32,-1,-106,11,-112xm127,-175v13,24,-22,48,-41,29v-17,-17,8,-30,22,-37xm40,-180v19,19,-2,49,-30,41v-18,-16,1,-46,30,-41", "w": 135 }, "\u00f1": { "d": "151,-112v31,14,2,87,3,128v0,2,-2,3,-6,3v-23,-15,-10,-67,-5,-96v-4,-21,-16,-7,-37,2v-42,18,-53,40,-84,73v-3,3,-9,5,-17,5r0,-12v17,-33,103,-97,146,-103xm171,-147v20,3,30,-21,44,-27v14,5,5,18,-7,28v-15,12,-23,20,-47,20v-1,-1,-38,-34,-42,-31v-9,-4,-37,50,-41,20v-2,-9,34,-44,42,-42" }, "\u00f3": { "d": "97,-114v54,-16,101,-1,108,50v8,56,-77,61,-119,66v-37,4,-102,-33,-65,-65v17,-15,39,-40,76,-51xm88,-18v33,-4,99,-4,99,-48v0,-16,-28,-35,-44,-35v-3,1,-60,7,-68,19v-28,20,-41,32,-41,40v-3,13,40,25,54,24xm170,-201v18,13,12,12,-10,24v-32,18,-84,53,-114,63v-16,-1,-11,-16,0,-20v37,-15,81,-52,124,-67", "w": 218 }, "\u00f2": { "d": "97,-114v54,-16,101,-1,108,50v8,56,-77,61,-119,66v-37,4,-102,-33,-65,-65v17,-15,39,-40,76,-51xm88,-18v33,-4,99,-4,99,-48v0,-16,-28,-35,-44,-35v-3,1,-60,7,-68,19v-28,20,-41,32,-41,40v-3,13,40,25,54,24xm51,-201v0,-8,0,-8,8,-8v39,13,83,44,112,65v-8,20,-31,5,-45,-2v-18,-9,-47,-35,-67,-40v-5,-6,-8,-11,-8,-15", "w": 218 }, "\u00f4": { "d": "97,-114v54,-16,101,-1,108,50v8,56,-77,61,-119,66v-37,4,-102,-33,-65,-65v17,-15,39,-40,76,-51xm88,-18v33,-4,99,-4,99,-48v0,-16,-28,-35,-44,-35v-3,1,-60,7,-68,19v-28,20,-41,32,-41,40v-3,13,40,25,54,24xm65,-130v-8,-1,-17,-9,-3,-14v21,-8,28,-28,49,-34v6,-10,25,-29,38,-12v7,9,35,38,45,50v-18,29,-45,-27,-61,-33", "w": 218 }, "\u00f6": { "d": "97,-114v54,-16,101,-1,108,50v8,56,-77,61,-119,66v-37,4,-102,-33,-65,-65v17,-15,39,-40,76,-51xm88,-18v33,-4,99,-4,99,-48v0,-16,-28,-35,-44,-35v-3,1,-60,7,-68,19v-28,20,-41,32,-41,40v-3,13,40,25,54,24xm175,-180v13,24,-22,48,-41,29v-17,-17,8,-30,22,-37xm88,-185v19,19,-2,49,-30,41v-18,-16,1,-46,30,-41", "w": 218 }, "\u00f5": { "d": "97,-114v54,-16,101,-1,108,50v8,56,-77,61,-119,66v-37,4,-102,-33,-65,-65v17,-15,39,-40,76,-51xm88,-18v33,-4,99,-4,99,-48v0,-16,-28,-35,-44,-35v-3,1,-60,7,-68,19v-28,20,-41,32,-41,40v-3,13,40,25,54,24xm83,-161v-10,-4,-35,46,-43,21v-2,-9,35,-46,44,-44v27,14,61,53,88,14v7,-6,11,-9,12,-9v14,6,5,19,-8,30v-16,12,-25,19,-48,20v-11,-9,-36,-32,-45,-32", "w": 218 }, "\u00fa": { "d": "56,-18v54,-12,64,-34,121,-86v5,0,9,1,8,5v-25,40,-71,106,-137,106v-33,0,-49,-61,-32,-97v19,-8,13,18,13,29v0,28,9,43,27,43xm161,-196v18,13,12,12,-10,24v-32,18,-84,53,-114,63v-16,-1,-11,-16,0,-20v37,-15,81,-52,124,-67", "w": 179 }, "\u00f9": { "d": "56,-18v54,-12,64,-34,121,-86v5,0,9,1,8,5v-25,40,-71,106,-137,106v-33,0,-49,-61,-32,-97v19,-8,13,18,13,29v0,28,9,43,27,43xm39,-177v0,-8,0,-8,8,-8v39,13,83,44,112,65v-8,20,-31,5,-45,-2v-18,-9,-47,-35,-67,-40v-5,-6,-8,-11,-8,-15", "w": 179 }, "\u00fb": { "d": "56,-18v54,-12,64,-34,121,-86v5,0,9,1,8,5v-25,40,-71,106,-137,106v-33,0,-49,-61,-32,-97v19,-8,13,18,13,29v0,28,9,43,27,43xm42,-113v-8,-1,-17,-9,-3,-14v17,-6,26,-24,49,-34v6,-11,26,-27,39,-12v6,7,30,38,43,46v3,7,-1,14,-11,13v-19,-2,-32,-36,-49,-43", "w": 179 }, "\u00fc": { "d": "56,-18v54,-12,64,-34,121,-86v5,0,9,1,8,5v-25,40,-71,106,-137,106v-33,0,-49,-61,-32,-97v19,-8,13,18,13,29v0,28,9,43,27,43xm159,-154v13,24,-22,48,-41,29v-17,-17,8,-30,22,-37xm72,-159v19,19,-2,49,-30,41v-18,-16,1,-46,30,-41", "w": 179 }, "\u2020": { "d": "72,-302v9,-10,16,0,28,10v0,23,-18,5,-34,13v-10,12,-12,76,-14,87v-16,5,-21,5,-20,-23r3,-60v-6,-5,-28,1,-26,-10v2,-13,10,-12,27,-19v7,-48,22,-3,36,2", "w": 108 }, "\u00b0": { "d": "85,-329v32,-2,57,25,46,59v0,4,1,7,4,10v-32,30,-60,37,-98,15v-5,0,-13,-1,-14,2v-8,-10,-12,-17,-12,-21v8,-29,28,-73,74,-65xm49,-275v5,26,61,21,61,-6v0,-13,-14,-21,-27,-21v-6,0,-35,21,-34,27", "w": 141 }, "\u00a2": { "d": "131,-187v-3,18,34,10,25,35v-8,0,-19,0,-34,1v-6,7,-13,24,-20,50v17,9,36,7,53,-1v4,5,11,7,10,17v-47,9,-47,20,-62,12v-37,5,-16,62,-36,88v-20,-14,-3,-56,-1,-79v-22,-12,-81,-58,-33,-91v22,-26,33,-24,68,-31v11,3,35,-95,52,-88v18,0,6,23,0,27v-10,22,-18,38,-22,60xm43,-120v2,16,20,17,30,25v2,0,9,-19,22,-56r-15,-3v-21,13,-32,20,-37,34", "w": 172 }, "\u00a3": { "d": "301,-36v2,3,6,9,5,12v2,18,-56,31,-77,31v-41,0,-55,-43,-82,-61v-12,20,-54,60,-79,59v-33,-2,-65,-26,-60,-64v5,-41,78,-72,127,-49r14,-49v-5,-7,-24,-3,-59,-4v-9,-27,25,-30,48,-22v19,1,14,-23,18,-37v1,-7,4,-21,10,-43v1,-45,73,-46,89,-5v17,23,-7,55,-16,25v2,-31,-14,-24,-38,-31v-21,1,-28,56,-28,87v35,7,60,7,90,25v-1,2,-1,5,-2,10v-17,8,-66,-13,-86,-9v-3,2,-16,63,-15,69v6,12,39,72,80,72v23,0,43,-6,61,-16xm62,-22v32,2,98,-65,38,-70v-27,-3,-66,20,-71,40v-1,16,19,30,33,30", "w": 316 }, "\u00a7": { "d": "21,-39v29,2,47,36,96,20v14,-8,50,-14,52,-38v-3,-20,-14,-44,-38,-42v-32,-9,-153,-27,-111,-95v15,-14,-2,-36,-3,-54v-4,-52,35,-66,68,-80v20,1,63,9,52,35v-11,9,-33,-28,-54,-14v-28,10,-63,36,-43,75v20,39,97,10,118,64v18,22,8,31,4,55v9,14,30,30,26,57v5,36,-48,45,-68,58v-44,5,-69,-8,-99,-26r0,-15xm28,-166v12,28,69,44,105,45v5,0,16,-12,15,-19v-10,-45,-50,-48,-101,-57v-7,-2,-20,24,-19,31", "w": 208 }, "\u2022": { "d": "77,-159v21,0,37,23,37,43v0,14,-35,34,-50,34v-11,0,-50,-21,-48,-31v-2,-14,45,-46,61,-46", "w": 134 }, "\u00b6": { "d": "111,-121v-43,-10,-100,-27,-100,-73v0,-48,36,-89,78,-103v27,-18,55,-18,128,-19v9,0,14,7,14,22v0,72,-45,168,-57,281v-3,22,-26,30,-34,11v33,-77,33,-184,66,-275v3,-19,-32,-13,-46,-10r-39,241v-4,28,-6,49,-6,63v-6,4,-14,0,-24,1v-3,-47,17,-84,20,-139xm113,-152v7,-30,24,-94,25,-130v-23,3,-33,10,-43,19v28,13,-2,70,0,101v-1,4,13,11,18,10", "w": 233 }, "\u00df": { "d": "63,-319v73,-34,152,43,95,104v-5,15,-91,48,-41,70v29,20,68,35,78,75v-4,22,-26,42,-50,49v-17,15,-45,41,-73,43v-15,-16,10,-20,45,-52v46,-40,68,-33,33,-65v-18,-8,-84,-52,-75,-69v-6,-5,87,-89,79,-96v0,-27,-23,-43,-51,-43v-56,0,-60,33,-60,99v0,58,-18,118,-4,172v-4,11,-4,24,-2,38v-13,9,-37,4,-27,-14v9,-34,-5,-87,5,-123v10,-36,1,-127,12,-163v3,-9,15,-15,36,-25", "w": 204 }, "\u00ae": { "d": "121,-253v80,-26,140,40,143,115v3,72,-33,117,-100,125v-101,13,-172,-32,-153,-132v11,-56,36,-107,110,-108xm190,-159v0,18,-30,47,-47,64v22,9,45,20,68,34v58,-41,19,-175,-49,-173v-16,7,-49,27,-66,11v-38,14,-64,63,-62,118v8,25,17,57,51,61v26,15,67,1,98,-4v-8,-6,-70,-29,-81,-41v3,20,-5,40,-23,27v-3,-35,6,-82,-9,-105v-3,-15,60,-36,76,-36v21,0,45,23,44,44xm167,-163v0,-30,-55,-11,-70,1v0,13,2,35,5,67v15,-16,18,-25,35,-27v20,-20,30,-34,30,-41", "w": 275 }, "\u00a9": { "d": "25,-73v-3,-10,-28,-45,-15,-57v9,-104,85,-147,199,-104v26,21,39,54,39,99v0,77,-102,127,-180,92v-20,-9,-35,-18,-43,-30xm120,-221v-60,5,-98,60,-78,123v9,30,64,37,78,39v12,1,65,-12,73,-16v11,-5,32,-41,32,-57v0,-46,-14,-69,-42,-80v-22,5,-42,-6,-63,-9xm133,-106v17,5,46,-42,51,-11v-5,36,-83,57,-105,13v-33,-41,19,-85,52,-85v20,0,43,15,28,31v-24,-17,-59,6,-65,24v0,19,13,28,39,28", "w": 257 }, "\u2122": { "d": "214,-290v17,11,43,81,16,97v-24,-3,-14,-37,-25,-54r-50,38v-14,-7,-20,-22,-40,-31v-5,16,5,45,-22,40v-2,-2,-12,-60,-15,-61v-45,1,-6,48,-31,72v-36,-15,13,-74,-39,-70v-11,-17,8,-26,32,-25v10,10,44,-9,54,-8v3,0,15,7,35,22v19,14,29,22,29,23v17,-9,30,-22,56,-43", "w": 245 }, "\u00b4": { "d": "139,-328v18,13,12,12,-10,24v-32,18,-84,53,-114,63v-16,-1,-11,-16,0,-20v37,-15,81,-52,124,-67", "w": 152 }, "\u00a8": { "d": "148,-291v13,24,-22,48,-41,29v-17,-17,8,-30,22,-37xm61,-296v19,19,-2,49,-30,41v-18,-16,1,-46,30,-41", "w": 177 }, "\u2260": { "d": "270,-107v22,0,56,-14,67,4v1,16,-34,22,-56,21v-47,0,-101,-9,-141,1v-18,16,-19,40,-32,74v-13,2,-13,-4,-13,-18v0,-10,5,-27,14,-49v-27,-17,-69,18,-102,8v-8,-22,11,-21,49,-30v8,-2,30,-5,65,-9v10,-12,13,-15,13,-22v-27,-14,-67,2,-97,2v-12,0,-19,-4,-19,-12v0,-9,18,-12,54,-15v40,-3,84,12,101,-27v12,-26,57,-71,79,-86r14,0v2,4,3,9,3,16v-24,11,-50,39,-79,83v-1,8,3,11,10,10v30,-5,62,-4,90,-9v4,0,12,13,11,18v1,6,-18,18,-24,18v-10,-14,-133,-11,-123,17v28,12,79,5,116,5", "w": 306 }, "\u00c6": { "d": "266,-44v71,1,149,-5,208,9v3,3,6,7,5,15v-28,11,-61,2,-95,2v-74,0,-104,3,-153,15v-22,-5,-13,-7,-22,-41v-7,-27,-10,-61,-23,-83v-21,6,-92,-2,-100,23v-21,28,-32,48,-65,106v-11,0,-20,2,-17,-12v8,-35,47,-84,77,-133r79,-129v8,-45,46,-19,80,-19v61,-1,132,9,176,-11v1,0,12,1,14,8v0,6,0,12,2,18v-61,39,-124,10,-213,11v-22,0,-34,6,-34,17v5,22,9,84,26,94v46,-5,100,-2,151,-3v9,2,63,10,42,40v-37,-9,-85,-16,-128,-13v-20,-9,-25,-4,-62,8v2,21,11,77,28,84v7,-2,11,-7,24,-6xm178,-152v1,-24,-12,-57,-16,-77v-2,4,-47,65,-46,77v22,-2,42,-3,62,0", "w": 444 }, "\u00d8": { "d": "13,-136v13,-55,119,-101,198,-77v16,1,40,-38,70,-32v1,3,2,7,3,13v-19,12,-32,21,-41,29v38,37,39,80,17,131v-11,52,-63,59,-115,66v-22,-2,-56,-8,-77,-13v-8,0,-17,15,-27,43v-12,2,-10,-3,-17,-10v12,-23,18,-37,18,-43v-9,-19,-37,-41,-29,-82r-5,-9v8,-7,10,-8,5,-16xm81,-50v-2,12,48,21,64,19v41,-5,80,-5,92,-48v20,-35,18,-92,-15,-103v-7,0,-32,20,-76,61v-44,41,-65,65,-65,71xm127,-180v-57,0,-83,38,-92,85v1,17,8,33,25,38v30,-46,85,-93,127,-133v-26,-7,-30,-5,-51,-2v-2,3,-5,7,-9,12", "w": 282 }, "\u221e": { "d": "245,-166v27,-1,61,23,61,49v0,35,-24,52,-71,52v-40,0,-52,-17,-89,-18v-46,8,-87,32,-131,2v-31,-46,20,-92,74,-69v31,3,37,20,64,31v3,-1,87,-52,92,-47xm193,-104v17,19,80,18,88,-9v0,-13,-8,-19,-22,-19v-23,0,-44,9,-66,28xm30,-109v-2,16,22,18,36,19v19,0,36,-4,50,-14v-8,-15,-82,-38,-86,-5", "w": 310 }, "\u00b1": { "d": "92,-53v-10,-25,10,-64,-35,-55v-11,0,-20,-2,-25,-7v2,-5,5,-10,10,-16v11,0,28,-2,50,-4v8,-20,12,-33,23,-38v3,10,3,23,3,37v5,3,48,9,50,18v-7,15,-20,9,-35,8v-39,-3,-11,51,-41,57xm15,-33v59,3,102,-10,157,-9v6,7,2,17,-5,22v-48,5,-94,17,-148,13v-16,-7,-19,-12,-4,-26" }, "\u2264": { "d": "127,-222v11,7,14,12,-1,27v-24,25,-54,56,-70,85v19,27,61,24,77,53v0,8,-6,11,-17,11v-5,5,-102,-51,-97,-56v-4,-9,47,-58,45,-58v3,-6,56,-63,63,-62xm59,-4v-11,1,-53,19,-55,-4v-3,-30,93,-20,114,-26v5,0,21,4,48,12r0,7v-39,2,-75,7,-107,11", "w": 177 }, "\u2265": { "d": "51,-50v15,-27,75,-56,91,-70v-24,-28,-46,-61,-76,-82v-2,-12,6,-19,14,-18v22,4,38,33,58,58v27,35,45,39,33,57v-42,14,-60,51,-111,64v-6,0,-9,-3,-9,-9xm7,-3v8,-20,22,-9,48,-15v30,-6,110,-17,128,-4r0,7r-162,23v-5,-1,-14,-5,-14,-11", "w": 183 }, "\u00a5": { "d": "37,-249v12,-4,73,110,82,106v27,-22,82,-106,120,-129v2,0,6,3,12,10v-30,37,-117,124,-122,154v-5,29,61,3,95,13v-8,39,-91,-12,-102,39v24,5,61,-6,101,-2r0,14v-9,-4,-17,0,-25,5v-31,3,-86,-2,-81,38v-2,6,-7,11,-14,14v-18,-8,7,-39,-21,-36v-21,2,-40,8,-66,7v-7,-20,5,-21,34,-26v38,-6,43,3,50,-23v-31,-15,-66,21,-91,1r0,-11v13,-5,52,-20,69,-14v6,2,24,-7,26,-10r-79,-137v2,-8,6,-13,12,-13", "w": 243 }, "\u00b5": { "d": "341,-310v49,-2,67,67,45,110v-17,21,-29,49,-65,66v-25,12,-46,26,-71,21v-6,4,-7,13,-4,20v58,0,33,-7,117,-7v8,2,4,12,-1,15v-19,10,-96,6,-118,25v5,23,11,73,-18,61v0,-13,-3,-23,-8,-63v-15,-6,-41,15,-53,-3v1,-25,61,-7,54,-38v-19,-14,-83,3,-108,12v-1,35,12,82,-17,99v-15,-18,11,-93,-14,-101v-5,2,-30,6,-73,14v-14,-17,3,-23,33,-28v27,-5,42,-8,43,-10v5,-99,10,-134,55,-178v44,-17,98,2,107,50v27,-41,42,-62,96,-65xm388,-234v0,-53,-53,-74,-93,-40v-36,30,-34,69,-49,121r0,21v65,4,142,-35,142,-102xm231,-181v23,-75,-67,-138,-104,-65v-12,23,-24,88,-20,128r114,-9v2,-12,-2,-14,10,-54", "w": 377 }, "\u2202": { "d": "418,-110v11,-40,83,-29,124,-23v-5,21,-44,5,-60,15v-14,-3,-24,3,-39,13r0,34v10,114,-181,110,-228,50v-3,-3,-6,-4,-10,-4v-64,17,-180,42,-198,-25v2,-47,98,-61,148,-76v1,-54,24,-103,21,-158v3,-2,8,-6,15,-10v7,6,10,12,10,15v-12,51,-25,131,-23,177v-56,0,-115,18,-144,46v8,55,104,14,148,16v26,1,16,-45,23,-49v7,-36,113,-52,113,2v0,39,-58,38,-77,57v1,12,55,31,70,30v44,-4,120,-11,110,-63xm221,-71v0,9,-1,19,8,19v8,-1,67,-15,71,-38v-22,-21,-76,-6,-79,19", "w": 548 }, "\u2211": { "d": "372,-135v-35,13,-112,-18,-127,27v13,59,4,91,-60,101v-64,10,-162,14,-170,-42v-7,-56,52,-78,91,-86v9,-2,22,14,22,24v0,22,-56,72,-75,41v10,-10,45,-18,52,-36v-24,-17,-72,30,-70,52v13,36,62,32,105,35v9,-2,84,-16,84,-27v10,-23,1,-48,-4,-73v11,-46,96,-27,149,-27v3,2,3,6,3,11", "w": 382 }, "\u220f": { "d": "273,-211v27,3,29,25,14,38v-22,-11,-25,-23,-14,-38xm175,-114v29,0,111,-8,103,31v-3,14,-7,79,-29,89v-4,-5,-12,-2,-10,-12v0,-9,12,-72,17,-75v-12,-16,-83,-11,-120,-5v-13,36,-13,41,-19,78v-1,11,-17,7,-26,5r20,-84v-26,-10,-69,2,-101,1v-9,-9,-1,-18,11,-20v30,-6,70,-3,96,-9v14,-32,24,-83,41,-122v7,-17,0,-46,25,-45v4,8,5,11,5,17r-45,154v10,-2,21,-3,32,-3", "w": 286 }, "\u03c0": { "d": "-22,-258v-6,1,-15,-7,-15,-13v0,-14,48,-27,145,-37v73,-7,143,-27,220,-19v3,2,5,6,7,14v-29,7,-91,6,-136,17v-15,-7,-51,1,-73,15r-9,109v2,11,-4,30,3,36v9,0,77,-17,98,-21v13,-3,43,34,41,48r-20,109v-16,11,-22,-13,-23,-23v2,-13,21,-90,20,-78v2,-67,-90,-13,-120,-7v-12,18,-21,50,-28,72v-3,3,7,47,-16,42v-13,-13,2,-42,-2,-67v31,-35,35,-154,35,-212v0,-8,-3,-12,-10,-12v-31,-2,-86,15,-117,27", "w": 274 }, "\u222b": { "d": "115,-321v32,-22,82,-1,78,41v-5,1,-7,8,-15,1v-4,-18,-8,-28,-27,-28v-25,0,-67,23,-55,52v-8,82,0,178,-6,264v-2,42,-4,73,-4,92v-14,18,-62,29,-93,20v-15,-19,-15,-22,-5,-42v21,27,88,29,77,-32r8,-309v6,-34,12,-53,42,-59", "w": 180 }, "\u00aa": { "d": "105,-289v15,4,48,47,49,72v-21,5,-25,-16,-40,-23v-11,-40,-55,1,-83,1v-45,-22,-13,-50,40,-87v27,-19,76,15,52,37v-21,-26,-62,-18,-76,18v18,3,39,-14,58,-18", "w": 157 }, "\u00ba": { "d": "26,-316v21,-1,54,-5,72,-12v29,0,43,10,43,30v0,23,-45,37,-73,37v-39,0,-77,-24,-42,-55xm118,-300v-13,-15,-39,2,-51,6v-2,2,-6,8,1,8v23,0,40,-4,50,-14", "w": 152 }, "\u2126": { "d": "294,-72v-30,-9,-82,-7,-134,-2v-26,20,5,58,-21,78v-17,-8,-8,-20,-13,-71v-14,-14,-44,-1,-72,2v-19,14,-22,22,-49,-1r0,-13v28,-15,70,-9,114,-14v11,-13,1,-44,1,-63v0,-90,29,-165,110,-165v48,0,104,32,82,88v-3,-1,-9,1,-11,-1v13,-65,-89,-86,-127,-41v-26,30,-31,66,-31,117v0,31,2,50,8,58v42,8,98,7,128,-5v13,-23,37,-44,86,-44v49,0,98,29,98,76v0,45,-63,68,-115,68v-23,0,-62,-39,-54,-67xm361,-25v36,0,87,-20,87,-53v0,-54,-117,-73,-142,-27v13,8,12,18,11,37v-1,25,20,44,44,43", "w": 474 }, "\u00e6": { "d": "155,-61v1,8,44,36,53,35v22,5,64,-13,64,15v-56,25,-98,6,-132,-22v-9,5,-48,46,-71,36v-22,1,-40,-15,-40,-37v0,-35,63,-44,83,-59v-6,-15,-45,-35,-55,-35v-4,0,-19,5,-45,16v-7,-3,-11,-8,-11,-14v-3,-22,46,-21,60,-27v10,0,33,11,68,34v6,-5,23,-35,33,-40v13,-6,31,-10,51,-10v15,0,35,38,35,54v0,34,-69,41,-93,54xm225,-115v0,-44,-45,-32,-60,-7v-11,17,-13,13,-12,30v21,4,64,-14,72,-23xm54,-29v27,11,62,3,63,-31v-18,-4,-51,16,-63,21r0,10", "w": 279 }, "\u00f8": { "d": "38,1v1,-27,-26,-30,-25,-53v2,-52,47,-71,98,-78v22,16,44,-26,56,-27v16,3,12,12,1,23r-13,14v26,11,28,35,21,63v4,39,-52,56,-107,57v-13,4,-20,39,-37,37v-4,0,-5,-2,-5,-7v-2,-1,12,-30,11,-29xm139,-36v21,-4,26,-58,1,-58v-20,11,-30,31,-57,65v21,6,38,-3,56,-7xm57,-33v21,-10,36,-50,51,-64r0,-8v-20,-5,-31,28,-51,18v-4,0,-18,4,-19,17v0,15,6,38,19,37", "w": 187 }, "\u00bf": { "d": "256,-317v18,0,26,22,9,33v-22,4,-30,-30,-9,-33xm93,17v-30,1,-76,-19,-76,-46v0,-44,68,-59,105,-75v17,-7,73,-13,95,-17v16,-25,4,-100,32,-126v17,4,5,19,4,29r-10,113v-38,10,-51,4,-104,17v-37,9,-107,47,-97,58v0,15,19,22,57,22v23,6,106,-26,135,-13v0,4,-2,8,-5,11", "w": 268 }, "\u00a1": { "d": "29,46v-14,8,-17,-10,-13,-23v-15,-48,8,-85,31,-223v5,-25,12,-42,20,-51v8,4,13,9,13,15v-14,59,-35,166,-51,282xm77,-328v18,1,28,22,10,34v-22,4,-30,-30,-10,-34", "w": 97 }, "\u00ac": { "d": "355,-110v33,2,13,36,5,56v-8,20,-11,55,-34,55v-12,-19,14,-50,13,-84v-8,-9,-25,2,-38,-6r-284,22v-6,0,-15,-5,-14,-11v-1,-7,10,-17,17,-16", "w": 377 }, "\u221a": { "d": "68,38v-9,4,-55,-56,-52,-64v0,-5,3,-10,10,-15v32,26,30,44,46,32v22,-37,83,-89,136,-126v58,-23,112,-67,196,-82v7,5,1,15,-5,17v-85,19,-193,86,-250,140v-29,27,-57,51,-70,94v-1,3,-5,4,-11,4", "w": 225 }, "\u0192": { "d": "57,-81v-11,-7,-42,15,-49,-1v-3,-25,38,-16,51,-29v1,-8,3,-28,6,-59v10,-80,21,-152,91,-159v5,0,43,19,43,23v8,17,15,48,-5,54v-3,-2,-5,-6,-5,-14v1,-29,-20,-38,-41,-38v-16,0,-29,14,-40,42v-9,24,-17,74,-23,149v15,11,46,5,72,12r4,8v-18,18,-60,-5,-76,12v-10,83,-3,129,-29,210v-30,18,-81,26,-118,2v1,-5,3,-11,5,-21v18,7,44,9,67,10v48,3,47,-107,47,-152r0,-49", "w": 172 }, "\u2248": { "d": "7,-127v5,-37,88,-96,131,-52v20,21,39,47,77,50v19,1,67,-34,88,-48v0,0,5,1,13,3r0,12v-41,23,-78,84,-137,49v-49,-15,-28,-52,-85,-52v-35,0,-54,34,-77,47v-7,0,-10,-3,-10,-9xm214,-66v4,6,91,-44,89,-47v0,0,4,1,12,2r0,13v-40,22,-78,82,-137,49v-49,-15,-28,-53,-84,-53v-34,0,-56,34,-79,48v-7,0,-10,-4,-10,-10v6,-36,89,-95,132,-52v21,21,39,47,77,50", "w": 320 }, "\u2206": { "d": "17,-48v-22,-23,-8,-26,17,-61v29,-40,32,-32,62,-92v1,-7,31,-15,33,-16r73,177v-1,10,-6,15,-15,15v-29,0,-117,-30,-131,-18xm46,-78v35,5,89,17,119,16v-6,-32,-22,-69,-50,-112v-25,32,-48,64,-69,96", "w": 214 }, "\u00ab": { "d": "114,-101v14,24,54,47,83,80v0,17,-5,10,-21,18v-4,-3,-14,-25,-24,-16v-1,-23,-64,-55,-72,-79v2,-16,18,-22,30,-34r57,-54v8,6,12,10,12,14xm103,-186v29,20,7,23,-23,57v-47,54,-47,22,-4,79v25,33,35,31,33,50v-15,22,-41,-25,-52,-33v-11,-15,-26,-31,-44,-46v-12,-29,28,-43,47,-63v10,-10,23,-25,43,-44", "w": 211 }, "\u00bb": { "d": "161,-132v-1,-25,-111,-68,-73,-102v10,6,25,17,45,31v8,21,59,47,62,69v6,12,-54,78,-94,118v-10,10,-13,15,-10,26v-21,15,-36,-6,-24,-27v20,-36,29,-26,63,-71v20,-26,31,-40,31,-44xm19,-196v-2,-6,8,-13,11,-13v7,0,32,18,75,52v13,11,35,29,12,46v-25,32,-59,60,-83,82v-8,3,-24,10,-24,-2v0,-4,14,-22,42,-52v28,-30,41,-44,41,-45", "w": 206 }, "\u2026": { "d": "205,-42v10,-5,35,-10,44,-3v2,25,4,42,-29,40v-6,0,-11,-6,-18,-17xm118,-24v-2,-27,44,-35,44,-6v1,28,-42,39,-44,6xm16,-24v-2,-19,26,-22,40,-25v13,0,19,9,19,26v-1,7,-16,21,-33,21v-18,0,-24,-8,-26,-22", "w": 265 }, "\u00a0": { "w": 152 }, "\u00c0": { "d": "121,-236v10,-2,13,-45,28,-23v17,68,24,145,47,207v0,15,32,72,-8,65v-49,-44,-71,-62,-135,-41v-17,6,-16,17,-27,41v-1,1,-4,3,-9,5v-19,-49,28,-100,45,-142v19,-46,40,-84,59,-116r0,4xm57,-51v56,-5,88,0,123,29v-7,-61,-21,-146,-42,-203v-20,24,-64,120,-84,169v0,3,1,5,3,5xm91,-308v-7,-9,-12,-20,1,-21v34,12,76,40,101,59v-7,18,-28,5,-41,-1v-16,-7,-43,-34,-61,-37", "w": 220 }, "\u00c3": { "d": "121,-236v10,-2,13,-45,28,-23r39,189v10,10,17,55,20,73v1,9,-9,11,-20,10v-49,-44,-71,-62,-135,-41v-17,6,-16,17,-27,41v-1,1,-4,3,-9,5v-18,-48,28,-100,45,-142v18,-46,40,-84,59,-116r0,4xm57,-51v56,-5,88,0,123,29v-7,-61,-21,-146,-42,-203v-21,24,-64,121,-84,169v0,3,1,5,3,5xm101,-327v33,15,77,56,110,16v9,-7,14,-11,16,-11v18,6,6,21,-10,32v-19,14,-33,22,-61,23v-1,-2,-50,-39,-56,-35v-5,0,-15,5,-27,16v-19,16,-18,17,-18,17v-4,0,-10,-6,-10,-10v-3,-11,45,-53,56,-48", "w": 220 }, "\u00d5": { "d": "81,-161v43,-58,226,-65,237,21v-16,98,-117,146,-229,146v-50,0,-105,-54,-64,-108v20,-27,35,-31,56,-59xm307,-138v-25,-68,-110,-55,-178,-38v-11,3,-14,9,-17,19v-35,25,-40,25,-55,54v0,2,-1,26,-8,25v-3,-5,-6,-10,-8,-16v-11,17,-16,28,-16,31v1,20,40,56,66,51r11,3v94,-7,188,-49,205,-129xm222,-246v25,0,43,-24,58,-31v19,7,8,19,-9,32v-19,14,-33,22,-62,22v-2,-2,-50,-38,-56,-35v-10,0,-34,25,-45,33v-4,0,-10,-6,-10,-10v-3,-10,45,-51,56,-48", "w": 304 }, "\u0152": { "d": "137,-271v102,1,230,14,336,0v3,25,-22,37,-38,27v-53,10,-156,-4,-197,11v20,29,32,53,42,113v49,-9,104,-5,136,11r0,14v-15,-7,-33,9,-38,-2v-22,-15,-78,10,-99,-3v-15,33,-28,58,-43,73r141,2v8,8,28,4,44,5v1,11,-3,16,-12,25v-6,-5,-13,-8,-21,-8r-144,0v-14,7,-24,18,-48,15v-4,-6,-1,-4,-1,-20r-79,8v-48,-7,-112,-35,-106,-106v8,-86,48,-137,118,-154v4,-4,4,-5,9,-11xm32,-101v-3,95,173,92,210,29v22,-38,20,-40,7,-86v-14,-49,-23,-53,-70,-69v-51,-19,-24,-21,-76,2v-44,19,-69,63,-71,124", "w": 426 }, "\u0153": { "d": "203,-41v10,33,66,18,93,12v12,-3,12,19,10,30v-24,-7,-54,18,-85,13v0,-1,-19,-5,-34,-19v-3,-4,-15,-22,-21,-22v-19,9,-40,36,-75,30v-50,3,-104,-44,-69,-89v21,-16,30,-44,66,-47v17,-17,38,-1,63,6v13,4,14,19,25,22v-2,-6,70,-38,80,-34v39,-2,70,85,6,85v-26,0,-29,6,-53,8xm196,-74v31,0,61,2,77,-14v0,-7,-10,-28,-17,-27v-21,-1,-62,21,-60,41xm156,-75v0,-38,-48,-45,-79,-29v-5,3,-43,29,-43,45v0,20,27,33,47,33v50,0,75,-17,75,-49", "w": 322 }, "\u2013": { "d": "195,-93v10,0,24,32,6,34v-52,-14,-117,8,-172,8v-10,0,-20,-23,-2,-26v54,-8,119,-2,168,-16", "w": 224 }, "\u2014": { "d": "456,-102v3,7,19,7,17,19v1,19,-16,24,-30,15v-65,18,-152,-8,-224,7v-48,-11,-125,-4,-182,2v-8,0,-16,-7,-16,-15v0,-10,10,-14,31,-14r228,-2v41,8,87,-3,130,-5v15,9,29,4,46,-7", "w": 497 }, "\u201c": { "d": "77,-219v-30,-20,18,-94,52,-79r0,15v-35,15,-35,36,-52,64xm10,-243v-9,-33,24,-52,46,-61v9,0,12,8,11,18v-15,8,-35,10,-34,35v1,18,2,14,14,26v-1,0,-1,11,-5,10v-21,0,-32,-9,-32,-28", "w": 134 }, "\u201d": { "d": "73,-216v-13,-24,31,-48,10,-78v0,-5,2,-8,6,-10v15,4,23,16,23,36v0,14,-11,31,-33,52r-6,0xm32,-299v18,-4,33,10,31,28v-2,24,-22,56,-51,54v-2,-2,-3,-6,-6,-11v25,-13,41,-42,26,-71", "w": 117 }, "\u2018": { "d": "13,-211v-15,-37,28,-84,59,-77r0,15v-34,15,-35,37,-52,64v-1,0,-3,0,-7,-2", "w": 73 }, "\u2019": { "d": "46,-262v3,-11,-18,-34,-1,-34v49,16,12,86,-26,85v-2,-2,-4,-7,-7,-12v15,-13,29,-19,34,-39", "w": 79 }, "\u00f7": { "d": "120,-159v10,5,19,25,7,38v-16,-3,-28,-15,-17,-30v2,-6,5,-8,10,-8xm165,-99v26,-1,41,-14,54,14v-20,32,-76,-3,-107,8v-33,-6,-73,7,-97,-3r0,-16v45,-12,61,-1,150,-3xm121,-38v-3,14,-29,11,-29,-4v0,-14,16,-16,29,-8r0,12", "w": 225 }, "\u25ca": { "d": "7,-111v3,-11,81,-102,94,-111v12,0,32,33,63,98v18,38,8,15,-19,61v-31,34,-17,42,-48,46v-19,-39,-35,-52,-72,-74v-12,-8,-18,-15,-18,-20xm105,-55v18,-20,52,-42,30,-76v-11,-17,-22,-30,-30,-50r-7,0r-56,65v14,20,46,38,63,61", "w": 211 }, "\u00ff": { "d": "47,-24v-20,0,-48,-51,-30,-74r10,0v14,94,78,39,115,11v23,9,5,30,6,49v-25,69,-63,134,-77,211v-3,3,-7,16,-20,15v-4,-7,-6,-11,-6,-14v6,-61,67,-150,78,-218v-23,9,-45,20,-76,20xm148,-160v13,24,-22,48,-41,29v-17,-17,8,-30,22,-37xm61,-165v19,19,-2,49,-30,41v-18,-16,1,-46,30,-41", "w": 159 }, "\u0178": { "d": "25,1v7,-32,80,-148,92,-170v-10,1,-49,19,-64,19v-34,0,-47,-63,-29,-89v3,2,8,6,6,13v0,89,44,60,97,31v26,-13,45,-34,75,-43v7,18,2,13,-16,28v-56,48,-93,110,-130,183v-4,7,-4,42,-26,37v-3,-2,-5,-5,-5,-9xm179,-296v13,23,-22,48,-41,29v-17,-17,8,-30,22,-37xm92,-301v20,20,-2,50,-30,41v-19,-16,1,-47,30,-41", "w": 148 }, "\u2044": { "d": "19,-84v8,-32,60,-73,69,-111v18,-15,52,-62,64,-87r-6,-2v8,-9,38,-37,50,-45v5,2,8,7,8,13v-63,110,-121,152,-205,306v-10,17,-11,17,-26,42v-6,10,-29,9,-29,-2v9,-29,31,-39,46,-66", "w": 121 }, "\u00a4": { "d": "89,-202v30,-47,93,-52,153,-62v24,2,41,1,47,17v-13,10,-22,7,-39,6v-55,-2,-125,37,-148,71v27,4,60,-1,90,2v18,2,62,-14,59,18v-56,-1,-99,1,-161,7v-5,0,-10,4,-14,13v18,8,42,-2,62,6v6,-1,10,-4,15,2v32,0,66,2,102,7r2,11v-55,11,-126,-6,-186,3v-4,3,-6,8,-6,15v7,73,102,63,178,69r0,15v-28,5,-43,7,-45,7v-83,-2,-168,-20,-158,-105v-3,-2,-14,-4,-31,-8v-4,-26,19,-21,36,-16v6,1,9,-7,8,-16v-10,-2,-26,-6,-46,-11r0,-17v18,-12,38,3,60,-1", "w": 266 }, "\u20ac": { "d": "89,-202v30,-47,93,-52,153,-62v24,2,41,1,47,17v-13,10,-22,7,-39,6v-55,-2,-125,37,-148,71v27,4,60,-1,90,2v18,2,62,-14,59,18v-56,-1,-99,1,-161,7v-5,0,-10,4,-14,13v18,8,42,-2,62,6v6,-1,10,-4,15,2v32,0,66,2,102,7r2,11v-55,11,-126,-6,-186,3v-4,3,-6,8,-6,15v7,73,102,63,178,69r0,15v-28,5,-43,7,-45,7v-83,-2,-168,-20,-158,-105v-3,-2,-14,-4,-31,-8v-4,-26,19,-21,36,-16v6,1,9,-7,8,-16v-10,-2,-26,-6,-46,-11r0,-17v18,-12,38,3,60,-1", "w": 266 }, "\u2039": { "d": "158,-221v11,-2,15,14,12,24v-38,34,-87,59,-123,99v2,6,88,57,88,67v0,2,28,25,26,33v-34,10,-47,-25,-70,-37v-1,-4,-76,-37,-83,-60v-5,-7,95,-82,90,-81v3,-17,63,-45,60,-45", "w": 171 }, "\u203a": { "d": "19,1v-6,-17,33,-20,28,-42r9,-1r61,-59r-107,-90v0,-19,15,-15,30,-6v39,21,65,59,103,76v22,20,5,24,-26,55r-69,69v-8,2,-20,-1,-29,-2", "w": 158 }, "\uf001": { "d": "303,-165v-12,0,-22,-24,-6,-29v9,0,16,7,20,22v-4,5,-8,7,-14,7xm131,-309v43,-52,147,-4,147,58v0,12,-6,17,-19,15v-1,-49,-28,-74,-81,-74v-46,11,-53,66,-58,113v-1,-1,3,-10,3,-9r0,84v11,4,27,6,46,7v136,9,148,36,98,115v-6,0,-10,-3,-10,-8r14,-59v3,-19,-49,-23,-62,-28r-8,4v-18,-6,-43,-6,-72,-6v-13,18,-2,56,-3,82v6,7,8,7,-2,16v-4,16,-4,22,-14,28v-14,-32,7,-90,-9,-127v-49,-6,-53,-10,-79,-3v-4,0,-9,-5,-14,-14v7,-9,12,-14,14,-14r75,9v13,-8,-2,-50,7,-62v-9,-46,3,-98,27,-127", "w": 300 }, "\uf002": { "d": "74,-5v4,-23,11,-43,9,-74v-21,-15,-56,3,-71,12v-6,-3,-37,-30,-11,-33v23,-3,48,-12,69,-5v4,0,9,-2,13,-5v2,-83,20,-178,80,-212v15,-8,70,-10,84,4v17,-2,24,14,45,27v3,-3,6,-13,19,-11v17,68,-32,182,-34,249v-1,16,-10,33,-3,48v0,2,-5,8,-14,21v0,-10,-25,1,-21,-18r50,-238v-14,-31,-20,-63,-65,-63v-14,-3,-23,-4,-27,-4v-47,-11,-86,93,-89,174v0,18,4,28,12,28v-1,0,-1,-1,-1,-1v36,-7,84,0,120,-8r-1,15v-19,10,-50,16,-81,9v-6,0,-50,8,-51,13v-2,40,-3,63,-25,80v-5,0,-7,-3,-7,-8", "w": 321 }, "\u2021": { "d": "26,-300r35,-3v3,-2,15,-37,25,-17v8,16,7,12,34,16v16,-1,25,20,8,22v-15,-3,-29,-5,-43,3r0,11v10,1,24,4,43,8v2,18,-9,16,-24,14v-29,1,-29,3,-33,33v-20,1,-25,-10,-20,-27v-12,-1,-27,2,-41,-7v-7,-30,44,-5,46,-29v-8,-8,-41,3,-30,-24", "w": 144 }, "\u2219": { "d": "38,-132v21,-20,41,0,43,21v-10,18,-39,48,-68,22v4,-15,7,-36,25,-43", "w": 90 }, "\u201a": { "d": "110,-39v-3,24,-65,96,-104,85v-8,-12,0,-18,16,-27v4,-1,56,-30,55,-42v2,-3,7,-15,17,-35v14,-3,15,11,16,19", "w": 108 }, "\u201e": { "d": "128,-51v37,35,-24,92,-55,104v-16,-17,14,-34,22,-45v14,-19,24,-20,22,-42v0,-11,4,-17,11,-17xm0,30v40,-15,65,-33,64,-81v16,-1,21,16,22,23v-8,31,-41,87,-83,71v-1,-3,-2,-7,-3,-13", "w": 139 }, "\u2030": { "d": "33,-253v0,-15,29,-30,16,-51v1,-15,24,-9,37,-12v25,1,56,20,88,22r208,13v20,5,21,19,-1,35v-110,78,-229,137,-332,232v-4,10,-7,27,-19,25r-24,-4r0,-11v74,-91,245,-170,344,-253v-55,-19,-106,-1,-163,-14v-6,0,-12,2,-16,4v4,44,-42,54,-80,57v-29,2,-58,-16,-58,-43xm382,-97v33,0,70,23,69,54v-1,27,-81,48,-116,39v-16,0,-38,-17,-46,-28v-32,13,-78,43,-117,23v-31,-6,-33,-12,-37,-44v5,-25,8,-17,36,-26v54,-17,99,-26,123,18r6,0v1,-21,54,-36,82,-36xm426,-43v1,-39,-54,-35,-84,-25v-17,6,-27,15,-29,27v43,24,64,17,113,-2xm53,-253v3,40,100,22,102,-8v2,-24,-56,-17,-72,-21v-10,-2,-31,20,-30,29xm162,-44v19,31,102,16,108,-12v0,-9,-9,-14,-29,-14v-36,0,-63,9,-79,26", "w": 456 }, "\u00c2": { "d": "121,-236v10,-2,13,-45,28,-23v17,68,24,145,47,207v0,15,32,72,-8,65v-49,-44,-71,-62,-135,-41v-17,6,-16,17,-27,41v-1,1,-4,3,-9,5v-19,-49,28,-100,45,-142v19,-46,40,-84,59,-116r0,4xm57,-51v56,-5,88,0,123,29v-7,-61,-21,-146,-42,-203v-20,24,-64,120,-84,169v0,3,1,5,3,5xm95,-260v-8,-2,-13,-9,-2,-14v14,-5,20,-23,41,-33v5,-9,20,-28,32,-12v11,16,23,35,37,46v0,8,-1,12,-9,12v-17,-2,-28,-35,-42,-42", "w": 220 }, "\u00ca": { "d": "51,-248v34,11,61,-3,122,-5v21,-9,41,-3,72,-3v5,9,-8,12,-23,14v-28,-3,-94,17,-133,12v-42,-5,-48,50,-40,86v44,-9,71,-3,117,-5r0,13v-46,-2,-75,0,-113,12v-8,2,-12,5,-15,10v-4,39,-7,67,-7,83v32,24,101,2,153,9v6,1,4,6,4,11v-38,10,-94,6,-136,14v-9,2,-43,-20,-41,-29v-2,-25,18,-82,7,-100r1,-9v11,-3,17,-26,18,-67v-6,-3,-15,-8,-26,-15v-6,-19,14,-21,26,-20v2,1,11,-12,14,-11xm64,-269v-7,-2,-18,-9,-3,-12v16,-10,44,-24,61,-41v34,-13,42,31,69,41v3,6,-2,11,-11,11v-18,-2,-33,-31,-49,-36", "w": 199 }, "\u00c1": { "d": "121,-236v10,-2,13,-45,28,-23v17,68,24,145,47,207v0,15,32,72,-8,65v-49,-44,-71,-62,-135,-41v-17,6,-16,17,-27,41v-1,1,-4,3,-9,5v-19,-49,28,-100,45,-142v19,-46,40,-84,59,-116r0,4xm57,-51v56,-5,88,0,123,29v-7,-61,-21,-146,-42,-203v-20,24,-64,120,-84,169v0,3,1,5,3,5xm189,-328v18,13,12,12,-10,24v-32,18,-83,53,-113,63v-16,-1,-11,-16,0,-20v35,-15,81,-52,123,-67", "w": 220 }, "\u00cb": { "d": "51,-248v34,11,61,-3,122,-5v21,-9,41,-3,72,-3v5,9,-8,12,-23,14v-28,-3,-94,17,-133,12v-42,-5,-48,50,-40,86v44,-9,71,-3,117,-5r0,13v-46,-2,-75,0,-113,12v-8,2,-12,5,-15,10v-4,39,-7,67,-7,83v32,24,101,2,153,9v6,1,4,6,4,11v-38,10,-94,6,-136,14v-9,2,-43,-20,-41,-29v-2,-25,18,-82,7,-100r1,-9v11,-3,17,-26,18,-67v-6,-3,-15,-8,-26,-15v-6,-19,14,-21,26,-20v2,1,11,-12,14,-11xm187,-303v13,24,-22,48,-41,29v-17,-18,8,-30,22,-37xm100,-308v19,22,-5,48,-31,41v-18,-15,3,-48,31,-41", "w": 199 }, "\u00c8": { "d": "51,-248v34,11,61,-3,122,-5v21,-9,41,-3,72,-3v5,9,-8,12,-23,14v-28,-3,-94,17,-133,12v-42,-5,-48,50,-40,86v44,-9,71,-3,117,-5r0,13v-46,-2,-75,0,-113,12v-8,2,-12,5,-15,10v-4,39,-7,67,-7,83v32,24,101,2,153,9v6,1,4,6,4,11v-38,10,-94,6,-136,14v-9,2,-43,-20,-41,-29v-2,-25,18,-82,7,-100r1,-9v11,-3,17,-26,18,-67v-6,-3,-15,-8,-26,-15v-6,-19,14,-21,26,-20v2,1,11,-12,14,-11xm66,-319v6,-14,21,-5,36,3r82,42v-33,27,-76,-28,-110,-33v-5,-5,-8,-9,-8,-12", "w": 199 }, "\u00cd": { "d": "48,-41v0,-58,12,-137,33,-176v24,2,0,37,1,53v-14,63,-20,112,-20,162v-12,4,-14,-21,-14,-39xm133,-299v18,13,11,10,-10,24v-35,14,-84,52,-113,63v-17,0,-13,-16,-1,-20v42,-18,77,-51,124,-67", "w": 147 }, "\u00ce": { "d": "28,-43v0,-59,12,-137,34,-176v7,-1,10,3,10,9v-10,49,-33,155,-29,205v-2,0,-3,2,-5,3v-7,-8,-10,-22,-10,-41xm51,-265v26,-45,50,17,70,37v0,6,-3,9,-10,9v-16,-3,-28,-34,-41,-42r-57,43v-7,-1,-14,-10,-3,-14v14,-5,20,-24,41,-33", "w": 124 }, "\u00cf": { "d": "31,-41v0,-60,12,-137,34,-176v23,3,0,37,0,53v-14,63,-21,114,-20,162v-12,4,-14,-21,-14,-39xm128,-272v13,23,-22,48,-41,29v-19,-19,10,-28,22,-37xm41,-277v19,20,0,50,-31,41v-19,-15,4,-47,31,-41", "w": 136 }, "\u00cc": { "d": "13,-43v0,-59,12,-137,34,-176v7,-1,11,3,10,9v-11,49,-33,155,-29,205v-2,0,-4,2,-5,3v-7,-8,-10,-22,-10,-41xm94,-238v-26,21,-58,-23,-85,-27v-5,-6,-6,-9,-4,-14v35,4,62,29,89,41", "w": 97 }, "\u00d3": { "d": "81,-161v43,-58,226,-65,237,21v-16,98,-117,146,-229,146v-50,0,-105,-54,-64,-108v20,-27,35,-31,56,-59xm307,-138v-25,-68,-110,-55,-178,-38v-11,3,-14,9,-17,19v-35,25,-40,25,-55,54v0,2,-1,26,-8,25v-3,-5,-6,-10,-8,-16v-11,17,-16,28,-16,31v1,20,40,56,66,51r11,3v94,-7,188,-49,205,-129xm223,-290v18,13,11,10,-10,24v-35,14,-83,53,-113,63v-17,0,-13,-16,-1,-20v36,-16,80,-53,124,-67", "w": 304 }, "\u00d4": { "d": "81,-161v43,-58,226,-65,237,21v-16,98,-117,146,-229,146v-50,0,-105,-54,-64,-108v20,-27,35,-31,56,-59xm307,-138v-25,-68,-110,-55,-178,-38v-11,3,-14,9,-17,19v-35,25,-40,25,-55,54v0,2,-1,26,-8,25v-3,-5,-6,-10,-8,-16v-11,17,-16,28,-16,31v1,20,40,56,66,51r11,3v94,-7,188,-49,205,-129xm119,-217v-12,-1,-23,-12,-4,-17v22,-6,27,-26,67,-41v10,-13,35,-34,54,-15v19,19,37,44,60,57v4,9,-4,17,-16,15v-25,-3,-47,-45,-67,-52", "w": 304 }, "\uf000": { "d": "205,-215v24,-72,81,-94,166,-113v24,4,5,37,1,50v-16,51,-87,89,-131,123v1,4,5,7,10,10v39,-41,161,-39,148,45v-1,8,-17,8,-26,5v-36,8,-110,18,-110,64v0,16,21,16,28,31v8,15,60,21,37,49v-7,8,-29,24,-68,49v-43,8,-113,19,-135,-14v-30,-47,-119,-35,-115,-118v4,-63,58,-162,135,-134v19,0,39,14,60,16v12,-24,3,-38,0,-63", "w": 407 }, "\u00d2": { "d": "81,-161v43,-58,226,-65,237,21v-16,98,-117,146,-229,146v-50,0,-105,-54,-64,-108v20,-27,35,-31,56,-59xm307,-138v-25,-68,-110,-55,-178,-38v-11,3,-14,9,-17,19v-35,25,-40,25,-55,54v0,2,-1,26,-8,25v-3,-5,-6,-10,-8,-16v-11,17,-16,28,-16,31v1,20,40,56,66,51r11,3v94,-7,188,-49,205,-129xm104,-278v0,-7,1,-7,8,-7v41,10,86,40,120,55v-8,17,-34,5,-49,-1v-18,-7,-51,-31,-71,-34v-6,-6,-8,-10,-8,-13", "w": 304 }, "\u00da": { "d": "103,-17v99,-7,170,-63,179,-163v1,-15,-6,-17,-9,-24v0,-8,4,-12,10,-9v29,24,-3,100,-20,128v-26,41,-97,86,-158,86v-54,0,-97,-55,-97,-111v0,-31,13,-80,42,-81v2,0,3,1,3,4v-11,26,-29,41,-29,79v0,38,41,94,79,91xm220,-293v19,13,13,12,-10,24v-32,17,-83,52,-112,63v-17,0,-12,-15,-1,-20v42,-18,77,-50,123,-67", "w": 306 }, "\u00db": { "d": "103,-17v99,-7,170,-63,179,-163v1,-15,-6,-17,-9,-24v0,-8,4,-12,10,-9v29,24,-3,100,-20,128v-26,41,-97,86,-158,86v-54,0,-97,-55,-97,-111v0,-31,13,-80,42,-81v2,0,3,1,3,4v-11,26,-29,41,-29,79v0,38,41,94,79,91xm81,-227v-10,-1,-23,-10,-4,-14v23,-5,59,-42,94,-52v28,5,18,8,42,30v11,10,25,14,32,26v0,6,-5,9,-15,9v-23,-2,-42,-35,-63,-42", "w": 306 }, "\u00d9": { "d": "103,-17v99,-7,170,-63,179,-163v1,-15,-6,-17,-9,-24v0,-8,4,-12,10,-9v29,24,-3,100,-20,128v-26,41,-97,86,-158,86v-54,0,-97,-55,-97,-111v0,-31,13,-80,42,-81v2,0,3,1,3,4v-11,26,-29,41,-29,79v0,38,41,94,79,91xm91,-282v6,-16,21,-5,37,3r86,45v-35,29,-78,-30,-115,-35v-5,-6,-8,-10,-8,-13", "w": 306 }, "\u0131": { "d": "26,-115v31,-2,11,54,17,98v0,2,-2,9,-6,21v-5,-2,-12,-4,-22,-7v-2,-32,-1,-106,11,-112", "w": 57 }, "\u02c6": { "d": "19,-222v-11,-2,-19,-16,-3,-22v20,-9,26,-37,56,-53v8,-7,13,-34,29,-29v27,8,17,13,38,47v11,17,22,25,28,42v1,13,-12,18,-21,11v-2,-6,-8,-11,-16,-17v-7,-12,-23,-46,-33,-47", "w": 174 }, "\u02dc": { "d": "159,-281v33,3,48,-27,73,-38v23,8,7,26,-12,40v-25,17,-39,27,-77,27v-17,-12,-57,-43,-70,-43v-11,-1,-43,30,-56,41v-5,1,-14,-7,-13,-12v-4,-13,56,-64,70,-60", "w": 249 }, "\u00af": { "d": "15,-313v35,-15,98,-9,145,-7v11,-4,19,26,21,27v-24,14,-69,-4,-97,-4v-26,0,-69,22,-75,-8v0,-2,3,-5,6,-8", "w": 187 }, "\u02d8": { "d": "196,-327v5,-1,13,8,12,13v0,8,-13,35,-26,25v-18,4,-79,79,-98,81v-26,-11,-41,-49,-72,-70v-7,-9,-1,-23,10,-22v17,2,48,41,63,56v30,-25,115,-94,111,-83", "w": 218 }, "\u02d9": { "d": "21,-291v-1,-13,14,-35,26,-35v18,-1,25,16,24,40v-6,15,-48,12,-50,-5", "w": 86 }, "\u02da": { "d": "10,-259v-4,-21,37,-68,57,-66v28,3,33,2,55,22r3,38v-11,21,-29,50,-60,53v-33,3,-51,-23,-55,-47xm37,-262v6,28,60,21,58,-11v-1,-19,-5,-18,-28,-18v-11,0,-32,18,-30,29", "w": 136 }, "\u00b8": { "d": "161,27v2,52,-98,44,-151,53v-10,-5,-3,-28,0,-35v10,8,31,7,46,9v15,2,80,-13,77,-25v3,-29,-46,-28,-61,-41v-4,-20,25,-63,35,-69v23,4,-7,42,-5,50v12,6,41,13,48,28v8,16,11,26,11,30", "w": 166 }, "\u02dd": { "d": "65,-217v-21,-40,64,-58,77,-82v9,-8,17,-11,27,-20v13,15,-19,40,-32,47v-13,7,-55,48,-72,55xm115,-321v-3,25,-22,32,-47,50r-53,38v-10,-3,-9,-16,-5,-22v3,-4,87,-68,94,-68v0,0,3,1,11,2" }, "\u02db": { "d": "53,99v-47,-3,-49,-109,-23,-140v3,-4,4,-4,16,-18v21,24,-3,54,-3,93v0,22,7,33,21,33v12,0,36,-9,69,-29v0,46,-42,54,-80,61", "w": 143 }, "\u02c7": { "d": "184,-324v12,-2,10,10,13,16v4,15,-42,30,-42,42v-17,3,-68,22,-69,21v-30,3,-64,-33,-72,-55v0,-6,3,-12,10,-18v8,3,39,47,62,41v28,-1,72,-34,98,-47", "w": 208 }, "\r": { "w": 152 } } }); } ================================================ FILE: fonts/daniel/daniel_700.font.js ================================================ /*! * The following copyright notice may not be removed under any circumstances. * * Copyright: * Copyright (c) 2011 by Daniel Midgley. All rights reserved. * * Trademark: * Please refer to the Copyright section for the font trademark attribution * notices. * * Full name: * Daniel-Bold * * Description: * Daniel Bold is a font by Daniel Midgley. * * Designer: * Daniel Midgley * * Vendor URL: * http://goodreasonblog.blogspot.com/p/fontery.html * * License information: * http://creativecommons.org/licenses/by-nd/3.0/ */ if (typeof Raphael != 'undefined') { Raphael.registerFont({ "w": 209, "face": { "font-family": "Daniel", "font-weight": 700, "font-stretch": "normal", "units-per-em": "360", "panose-1": "2 11 8 0 0 0 0 0 0 0", "ascent": "288", "descent": "-72", "x-height": "7", "bbox": "-92.0373 -310.134 519 184.967", "underline-thickness": "3.51562", "underline-position": "-25.1367", "unicode-range": "U+0009-U+F002" }, "glyphs": { " ": { "w": 179 }, "\t": { "w": 179 }, "\r": { "w": 179 }, "!": { "d": "66,-306v9,3,18,11,19,24v-18,73,-20,111,-37,194v0,10,2,34,-12,34v-12,0,-18,-9,-18,-28v0,-85,23,-136,38,-214v1,-7,4,-10,10,-10xm25,-30v15,-1,28,34,5,35v-11,-1,-38,-36,-5,-35", "w": 115 }, "\"": { "d": "91,-214v-32,3,-25,-40,-20,-68v3,-16,7,-25,12,-27v35,13,14,56,8,95xm8,-231v4,-31,1,-40,18,-75v37,7,11,51,11,79v-3,3,-4,8,-5,13v-17,4,-16,-10,-24,-17", "w": 117 }, "#": { "d": "271,-64v-30,26,-96,-7,-102,51v-6,2,-13,2,-24,-2v-2,-11,10,-21,2,-28v-14,5,-48,0,-48,22v0,23,-11,14,-29,10v-7,-6,6,-19,-1,-24r-32,4v-19,-8,-15,-24,5,-28r33,-6v4,0,24,-23,11,-27v-26,0,-63,14,-74,-10v3,-1,9,-17,16,-10v15,-8,81,4,89,-30v8,-14,16,-34,24,-38v23,9,24,38,5,49v37,24,55,-38,72,-43v19,10,20,23,-1,45v2,8,23,1,29,4v3,3,6,6,10,11v-14,13,-20,12,-45,12v-17,0,-16,17,-19,29v18,-7,49,3,67,-2v4,0,8,4,12,11xm161,-104v-30,-1,-44,10,-44,37v14,1,24,0,40,-5v0,-1,3,-10,8,-26v0,-4,-1,-6,-4,-6", "w": 285 }, "$": { "d": "164,-257v29,4,1,42,-3,50v5,5,38,13,41,24v8,4,6,15,-2,21v-18,3,-36,-17,-49,-17v-17,1,-31,40,-28,48v5,4,8,8,9,10v13,1,35,37,28,44v-10,21,-36,20,-65,28v-10,10,-12,40,-17,51v-9,-3,-28,1,-18,-17v0,-13,5,-24,-1,-35v-18,1,-59,-10,-42,-29v21,0,56,16,55,-16v5,-4,9,-18,9,-26v-14,-15,-55,-41,-53,-65v2,-33,56,-19,98,-26v10,-14,31,-43,38,-45xm93,-152v11,-10,15,-15,14,-29v-17,-3,-37,1,-43,6v10,12,20,19,29,23xm111,-103v-8,1,-11,12,-10,22v10,0,28,2,27,-8v0,-4,-13,-15,-17,-14", "w": 225 }, "%": { "d": "181,-96v24,-7,67,-13,104,1v14,18,21,19,22,44v-13,43,-99,61,-146,36v-9,-9,-22,-11,-32,-29v0,-27,24,-53,52,-52xm139,-185v-9,68,-138,73,-131,-5v0,-3,3,-9,9,-17v13,1,27,1,17,-16v5,-39,63,0,93,-6v36,1,80,-9,102,11v15,32,12,32,-8,56v-16,21,-103,78,-152,125r-14,28v-23,11,-25,-7,-29,-20v34,-71,133,-98,171,-162v-13,-12,-52,-5,-61,1v0,1,1,3,3,5xm38,-190v0,34,55,29,70,8v0,-14,-20,-11,-32,-14v-14,-3,-24,-9,-40,-10v1,0,5,11,2,16xm172,-53v12,27,90,18,102,-5v-18,-7,-32,-10,-40,-10v-29,3,-57,-4,-62,15", "w": 308 }, "&": { "d": "145,-82v17,-8,47,-15,71,-26v13,2,25,12,9,23v-23,7,-40,16,-53,27r0,6v13,8,30,21,36,38v0,8,-4,12,-11,12v-19,0,-43,-39,-59,-44v-30,12,-65,29,-97,32v-32,3,-45,-41,-23,-63v21,-20,52,-26,70,-48v-4,-31,-12,-47,9,-73v13,-16,20,-29,23,-39v15,-15,32,-22,51,-22v30,9,62,64,32,96v-2,3,-47,42,-69,48v-15,8,-11,9,0,22v6,7,10,11,11,11xm114,-138v25,-13,62,-38,74,-62v0,-9,-10,-31,-20,-29v-28,7,-60,42,-60,75v0,10,2,15,6,16xm99,-91v-18,10,-54,18,-59,45v26,5,61,-12,77,-22v-1,-5,-13,-23,-18,-23", "w": 253 }, "'": { "d": "36,-182v-36,7,-34,-61,-17,-80v15,1,21,19,21,20r-1,-1v0,0,-1,12,-5,35v1,5,3,17,2,26", "w": 63 }, "(": { "d": "130,-306v13,2,23,43,-1,43v-49,43,-77,77,-90,148v5,49,27,67,64,101v4,14,5,6,2,19r-15,0v-35,-17,-79,-58,-79,-120v0,-58,66,-176,119,-191", "w": 120 }, ")": { "d": "108,-138v-2,73,-48,120,-98,153v-17,-5,-16,-20,-6,-31v52,-64,73,-62,74,-135v1,-42,-40,-98,-58,-128v0,-5,-1,-12,-2,-22v18,-18,25,0,42,27v25,39,50,66,48,136", "w": 120 }, "*": { "d": "121,-271v15,-5,36,-8,40,9v-5,10,-31,19,-47,31v0,11,34,43,14,53v-18,8,-24,-24,-34,-20v-4,10,-4,19,-12,41v-25,7,-15,-30,-17,-47v-13,-1,-17,9,-46,30r-10,0v-20,-32,37,-43,54,-64v-10,-11,-36,-33,-16,-51v3,0,14,8,33,24v8,-10,26,-39,32,-42v14,7,15,23,9,36", "w": 177 }, "+": { "d": "163,-64v-7,22,-65,2,-77,21v-2,10,-6,21,-11,35v-20,4,-21,-12,-19,-29v3,-23,-44,6,-39,-27v-8,-22,36,-8,49,-18v8,-13,6,-36,24,-40v19,-4,14,32,11,39v18,3,19,2,54,8v2,1,5,5,8,11", "w": 170 }, ",": { "d": "25,63v-26,21,-48,-2,-22,-24v14,-12,35,-40,35,-69v3,-2,3,-11,12,-9v35,17,5,88,-25,102", "w": 97 }, "-": { "d": "57,-94v19,4,55,-5,54,17v-15,23,-54,20,-91,15v-4,2,-13,-10,-11,-16v-1,-22,28,-15,48,-16", "w": 124 }, ".": { "d": "40,-48v21,20,21,44,-4,44v-33,0,-26,-24,-10,-44r14,0", "w": 67 }, "\/": { "d": "21,20v-22,-45,21,-95,41,-126v38,-57,115,-158,193,-201v2,0,4,3,7,11v11,29,-15,34,-25,55v-81,56,-189,208,-197,261r-19,0", "w": 275 }, "0": { "d": "78,-237v70,-47,269,-41,270,59v0,34,-11,53,-29,76v-13,35,-30,32,-85,64v-6,2,-10,6,-7,8v-73,14,-98,38,-173,1v-7,-13,-52,-48,-46,-88v9,-57,27,-75,70,-120xm123,-38v100,0,202,-46,195,-153v-32,-55,-144,-73,-211,-35v-16,34,-68,54,-53,108v6,25,1,22,-3,39v6,24,41,41,72,41", "w": 353 }, "1": { "d": "39,-208v0,-14,6,-59,29,-39v3,4,6,13,10,24r-22,128r8,87v-4,6,-9,3,-16,2v-44,-38,-9,-137,-9,-202", "w": 93 }, "2": { "d": "88,-35v47,-10,119,-24,168,-9v0,12,-23,13,-35,16v1,1,3,1,5,1v-74,8,-118,23,-194,23v-14,0,-20,-13,-21,-28v55,-40,83,-61,123,-104v26,-13,65,-67,71,-102v-1,-9,-11,-16,-22,-16v-20,-1,-120,29,-156,49v-10,-2,-30,-20,-10,-28v50,-21,111,-51,178,-48v25,10,44,22,36,39v12,30,-19,64,-34,83v-39,48,-37,39,-115,109v0,5,-3,8,-8,11v4,3,8,4,14,4", "w": 265 }, "3": { "d": "188,-282v34,-10,74,25,47,51v-19,32,-55,50,-92,70v28,14,116,25,108,70v8,14,-49,40,-63,48v-29,9,-130,22,-168,42v-6,-5,-19,-7,-12,-22v56,-36,175,-21,210,-76v-9,-20,-88,-42,-97,-33v-20,-1,-41,2,-56,-7r5,-21v56,-25,103,-36,137,-78v1,-1,2,-5,4,-11v-15,-14,-56,7,-79,0v-10,9,-73,22,-92,31v-11,-4,-28,-23,-13,-30v50,-22,96,-26,154,-37v0,-1,8,3,7,3", "w": 260 }, "4": { "d": "79,-249v-7,17,-29,75,-33,96v0,6,3,8,8,8v43,-2,111,6,141,-6v17,-47,20,-100,63,-148v9,4,16,7,21,10v-17,31,-44,95,-51,141v7,4,24,-4,23,10v-1,16,-29,12,-31,23v-10,22,-9,69,-7,103v-3,2,-7,5,-10,9v-47,-11,-23,-74,-16,-114v0,-4,-2,-6,-7,-6v-65,2,-89,13,-162,4v-22,-22,-2,-53,5,-76v16,-15,17,-57,35,-70v6,-1,21,11,21,16", "w": 267 }, "5": { "d": "185,-272v30,7,45,-8,53,18v1,16,-17,18,-34,14v0,0,-95,-11,-129,1v-6,9,-24,33,-29,54v76,10,171,5,214,47v11,11,22,30,5,52v-14,12,-30,14,-34,27v-26,11,-141,63,-157,60v-16,-2,-25,-19,-4,-27v48,-18,128,-39,170,-86v4,-14,-65,-41,-85,-41r-92,0v-10,-4,-66,-1,-57,-23v0,-23,23,-51,35,-83v11,-28,133,-10,144,-13", "w": 284 }, "6": { "d": "70,-64v9,-51,63,-74,123,-71v43,2,109,3,111,41r-25,47v0,1,1,2,2,3v-5,0,-39,10,-41,20v-15,3,-22,4,-22,11v-39,1,-77,20,-119,13v-42,-7,-35,-9,-77,-46v-56,-118,94,-201,176,-229v7,0,21,8,20,15v-2,17,-23,15,-43,24v-69,31,-119,72,-134,145v-5,25,36,68,78,64v59,-6,128,-18,153,-61v-7,-14,-13,-9,-32,-21v-67,-15,-118,-5,-150,43r0,12v-13,4,-17,-3,-20,-10", "w": 310 }, "7": { "d": "37,-228v33,-14,173,-17,181,-19v28,-1,24,31,9,45v-17,15,-45,49,-59,69v-17,26,-55,67,-61,113v-10,13,-9,14,-14,20v-33,-13,-20,-25,-11,-53v16,-48,73,-115,109,-156v2,-7,5,-14,-10,-12v-26,4,-54,6,-76,13v-23,-5,-83,31,-94,-9v2,-8,18,-19,26,-11", "w": 245 }, "8": { "d": "57,-236v40,-50,166,-51,213,-10v22,28,10,63,-22,78r-35,17v8,5,54,24,53,44v-5,14,-4,33,-18,42v-13,13,-35,18,-44,34v-60,27,-190,49,-194,-42v7,-41,17,-54,59,-70r0,-4v-32,-9,-73,-62,-26,-85v4,0,8,-2,14,-4xm142,-160v24,-2,160,-31,99,-72v-28,-18,-108,-33,-146,-5v-16,12,-28,30,-33,59v24,12,37,20,80,18xm41,-62v30,65,189,6,199,-37v3,-14,-60,-30,-74,-30v-70,0,-118,10,-125,67", "w": 290 }, "9": { "d": "11,-192v15,-49,119,-61,161,-23v16,15,27,55,11,79v-20,62,-51,79,-96,118v-10,4,-45,27,-50,6v9,-15,66,-52,98,-99v-7,-7,-8,-3,-25,0v-49,-11,-96,-25,-99,-81xm145,-131v7,-5,13,-34,13,-41v-2,-51,-104,-38,-114,-6v-2,10,37,35,46,35v23,1,43,-1,55,12", "w": 198 }, ":": { "d": "39,-125v15,-8,40,-1,40,15v0,15,-6,22,-19,22v-13,0,-29,-21,-21,-37xm66,-17v-8,27,-51,19,-46,-8v-1,-6,8,-22,14,-20v29,0,30,6,32,28", "w": 95 }, ";": { "d": "56,-93v2,-30,37,-22,40,2v0,2,-1,7,-3,15v-13,8,-15,6,-27,4xm64,-44v11,-11,30,-4,32,14v-21,39,-63,71,-92,85v-5,0,-11,-2,-18,-8v11,-23,36,-36,50,-61v11,-7,19,-20,28,-30", "w": 107 }, "<": { "d": "166,-202v12,0,29,15,24,29v0,4,-119,64,-120,73v15,21,89,64,91,86v2,29,-18,12,-30,15v-27,-29,-59,-54,-95,-75v-18,-10,-25,-13,-24,-41", "w": 176 }, "=": { "d": "125,-121v18,7,55,-9,69,14v0,17,-45,26,-135,26v-18,0,-27,-7,-27,-21v-1,-37,60,-5,93,-19xm138,-71v20,0,48,-1,50,16v-13,24,-86,32,-131,29v-29,-2,-43,-10,-43,-24v-7,-23,36,-14,39,-17v27,6,57,-4,85,-4", "w": 196 }, ">": { "d": "4,-14v20,-48,77,-59,118,-94v-16,-19,-58,-52,-81,-75v-11,-7,-15,-38,-1,-40v33,16,83,71,121,105v26,23,-6,35,-41,53v-29,16,-56,28,-73,54v-21,15,-16,20,-34,15v-3,0,-9,-16,-9,-18", "w": 174 }, "?": { "d": "105,-291v57,-13,107,-4,107,39v0,67,-136,85,-155,137v-1,6,10,23,-4,23v-23,1,-33,-35,-23,-57v31,-41,124,-60,149,-103v-8,-21,-72,-5,-88,-1v-23,6,-59,39,-71,8v0,0,-1,0,1,-17v10,-4,45,-20,84,-29xm80,-25v-6,4,-8,39,-24,22v-24,3,-22,-21,-13,-35v17,-7,29,5,37,13", "w": 216 }, "@": { "d": "218,-207v23,8,42,14,47,37v44,68,-27,137,-87,85r1,0v0,2,-59,19,-61,17v-35,0,-42,-47,-17,-68r0,-4v-19,-1,-45,37,-49,40v-37,76,58,72,121,62v11,-2,34,-13,36,3v-14,31,-69,31,-114,33v-51,2,-99,-41,-80,-92v2,-30,22,-40,42,-63v35,-20,91,-53,161,-50xm217,-101v23,0,35,-19,35,-41v0,-43,-75,-41,-102,-19v36,3,55,16,62,41v-6,5,-6,19,5,19xm127,-110v8,5,51,-15,28,-16v-4,0,-25,4,-28,16", "w": 291 }, "A": { "d": "97,-81v-23,-10,-39,38,-52,60v-8,6,-8,6,-22,18v-22,-7,-23,-37,-4,-49v7,-8,11,-15,15,-23r-1,1v-14,-26,23,-29,31,-40v1,-1,15,-29,26,-36v17,-31,39,-58,54,-92v16,-20,20,-51,41,-66v29,5,34,62,45,92v9,64,21,103,49,155v-3,25,-44,11,-54,0v-34,-12,-97,-29,-128,-20xm107,-118v20,6,80,10,111,17v6,-7,-4,-15,-7,-24v-11,-28,-9,-92,-30,-117v-9,9,-19,44,-34,55v-9,23,-27,40,-40,69", "w": 294 }, "B": { "d": "256,-179v41,10,115,34,91,91v-6,3,-14,12,-19,20v-37,19,-50,34,-63,25v-9,10,-12,11,-34,13r3,-3v-4,-4,-12,-4,-18,0v0,0,2,2,5,4v-21,14,-26,6,-44,15v-4,0,-7,-2,-8,-5v-6,11,-20,-5,-18,11v-36,4,-91,35,-114,4v-7,-62,-10,-138,4,-199v-1,-19,-37,2,-37,-27v0,-8,2,-13,6,-15v68,-31,231,-92,311,-39v8,12,12,20,12,25v-8,42,-32,49,-77,80xm79,-160v72,-17,135,-39,184,-70v20,-13,31,-23,31,-27v1,-6,-30,-13,-38,-12v-54,0,-116,13,-186,41v11,21,1,48,9,68xm262,-43v0,-4,3,-6,-4,-5v0,1,1,2,4,5xm211,-140v-34,7,-94,24,-139,15v-6,20,-4,56,-4,82v0,29,43,1,56,2v48,-11,108,-25,154,-48v20,-10,32,-17,32,-25v0,-18,-33,-26,-99,-26xm195,-20v6,1,6,-2,5,-7v-3,2,-7,2,-5,7", "w": 364 }, "C": { "d": "51,-114v-12,75,96,76,166,71r145,-10v9,2,9,5,9,18v-37,18,-85,28,-109,22v-18,10,-47,10,-71,10v-29,0,-68,1,-105,-11v-6,-1,-10,-3,-10,-8v-33,-13,-48,-33,-66,-59v-19,-114,146,-150,224,-177v35,0,88,-31,99,7v-1,29,-49,14,-76,28v-55,8,-115,35,-175,71v-13,8,-23,21,-31,38", "w": 376 }, "D": { "d": "312,-78v-2,1,-3,7,-10,5v6,-3,10,-4,10,-5xm4,-252v2,-27,83,-38,106,-39v130,-7,267,1,291,109v0,0,-2,8,-3,25v-5,9,-4,28,-23,34v-4,4,-2,5,-7,0v-3,3,-15,7,-5,10v0,0,-10,14,-13,2v-11,1,-8,5,-20,14v1,2,7,3,9,1v-4,13,-22,13,-11,4v0,-3,1,-6,-3,-5v-40,29,-103,38,-141,65v10,6,22,-7,34,-3v-41,20,-127,44,-171,46v-21,1,-47,-33,-11,-39v15,-2,43,-6,56,-11v-16,-101,-5,-130,9,-207v2,0,4,-1,6,-3v-16,-17,-91,38,-103,-3xm297,-69v-7,3,-17,8,-25,7v1,1,3,2,5,2v-4,2,-11,5,-23,9v4,-11,30,-21,43,-18xm240,-51v10,0,12,2,0,6r0,-6xm220,-36v-1,-3,4,-6,6,-3v0,1,-2,1,-6,3xm125,-48v16,6,137,-46,155,-53v29,-18,101,-44,82,-93v-21,-53,-84,-61,-168,-67v-20,7,-50,3,-77,8v33,54,-12,132,8,205xm159,-22v-4,-1,-15,-5,-15,2v7,-1,12,-2,15,-2", "w": 381 }, "E": { "d": "45,-219v-19,-36,34,-41,63,-36v44,-10,133,-8,194,-15v3,2,38,11,52,15v-73,19,-171,21,-246,38v-9,11,-16,32,-20,61v35,11,133,-6,183,3v1,6,2,7,3,14v-46,24,-118,16,-193,27v-15,13,-22,52,-22,66v60,1,121,-20,188,-20v22,10,53,-7,74,5v16,29,-23,26,-43,32v-73,4,-139,13,-216,27r-52,-10v-4,-22,23,-69,26,-98v-3,0,-10,-15,-12,-24v20,-12,34,-23,35,-67v2,-1,5,-5,5,-7v0,-4,-14,-11,-19,-11", "w": 353 }, "F": { "d": "270,-258v13,2,59,6,48,34v-78,-3,-143,1,-212,22v-10,16,-21,43,-24,69r145,-9v8,3,29,-3,16,21v-14,-1,-59,13,-60,7v-12,13,-67,18,-108,21v-2,1,-4,3,-7,6v-2,23,-8,43,-7,69v1,28,-30,11,-40,5r10,-80r-26,-14v5,-10,10,-33,28,-25v21,-3,15,-46,26,-59v-1,-3,-32,-13,-28,-24v2,-22,45,-16,59,-30v47,4,99,-14,151,-9v5,-3,25,-3,29,-4", "w": 236 }, "G": { "d": "311,-168v53,0,94,57,74,110v-31,37,-71,34,-136,52v-13,-7,-41,10,-57,7v-73,-1,-122,-17,-162,-59v-49,-51,-24,-80,5,-130v35,-61,138,-93,214,-106v16,4,42,-1,40,21v-5,40,-39,2,-73,21v-76,19,-162,65,-177,142v28,103,237,76,312,29v2,-3,3,-7,3,-13v-10,-35,-37,-43,-87,-45v-16,-13,-53,-9,-78,1v-4,-3,-5,-7,-5,-11v17,-29,73,-17,108,-24v12,4,18,5,19,5", "w": 391 }, "H": { "d": "300,-268v18,12,19,32,4,51v-35,44,-34,140,-46,217v-1,5,-5,13,-11,12v-6,1,-19,-14,-18,-27r7,-106v-28,7,-76,22,-116,14v-18,2,-36,6,-55,3v-43,-8,-14,53,-33,75v-29,1,-26,-67,-21,-97v5,-31,28,-73,43,-98v2,2,7,3,14,3v13,33,-11,48,-13,78v61,4,118,2,176,2v8,0,13,-6,15,-20v4,-47,21,-87,54,-107", "w": 288 }, "I": { "d": "63,-266v34,10,-4,105,-8,128r-24,126v-2,2,-3,1,-9,6v-12,-10,-12,-15,-12,-47v0,-93,9,-156,28,-188v10,-17,19,-25,25,-25", "w": 79 }, "J": { "d": "235,-291v26,11,31,104,31,142v0,37,-2,95,-32,126v-33,34,-121,26,-167,1v-18,-11,-54,-29,-59,-59v0,-3,5,-15,16,-14v31,36,90,57,162,51v63,-30,56,-148,32,-226v-1,-16,11,-13,17,-21", "w": 282 }, "K": { "d": "212,-219v17,-5,80,-60,80,-19v0,9,-2,14,-5,16r-132,78v-34,23,-54,32,-21,50v39,21,74,23,124,41v5,2,7,5,7,9v-4,24,-55,15,-79,8v-67,-19,-98,-36,-116,-83v9,-24,38,-35,66,-61v7,-4,49,-30,76,-39xm47,-194v11,-20,11,-45,31,-55v2,2,4,3,6,0v29,39,-21,96,-18,128v-17,24,-15,62,-29,113v-4,3,-10,7,-19,11v-12,-13,-10,-28,-8,-53v3,-31,17,-79,37,-144", "w": 270 }, "L": { "d": "84,-43v58,0,179,-27,242,-4v3,17,-29,24,-40,26v-85,-4,-202,46,-268,3v-24,-16,-2,-33,-4,-57v26,-76,38,-108,86,-191v14,-7,26,-50,45,-32v6,22,5,31,-12,46v-20,39,-50,82,-67,142v-7,6,-19,46,-19,54v0,9,12,13,37,13", "w": 331 }, "M": { "d": "174,-236v-1,52,-11,92,-7,143v10,5,15,-12,22,-18v42,-55,90,-130,136,-174r15,-18v42,2,32,53,11,80v-12,58,-54,143,-34,210v0,3,-3,12,-9,10v-31,-5,-32,-57,-27,-92v4,-27,12,-58,25,-93v-5,-10,5,-19,6,-30v-46,44,-66,110,-129,172v-11,10,-18,15,-22,15v-34,6,-28,-103,-28,-152v-28,22,-65,119,-96,170v-9,15,-34,3,-31,-19v30,-64,91,-177,139,-229v12,-1,29,13,29,25", "w": 343 }, "N": { "d": "248,-20v-3,17,-37,18,-43,3v-24,-35,-53,-145,-80,-203v-32,40,-55,120,-92,174v-13,3,-26,-13,-27,-22r87,-171v4,-13,20,-57,42,-32v42,48,46,139,82,198v29,-45,46,-88,65,-153v12,-19,23,-42,38,-60v27,-1,14,18,4,44v-6,46,-32,68,-37,121v-15,29,-33,69,-39,101", "w": 307 }, "O": { "d": "240,-268v85,1,163,29,150,125v13,7,-12,18,-5,26v-23,63,-133,112,-228,124v-80,-16,-171,-56,-148,-153v11,-47,20,-43,53,-83v17,-9,39,-22,73,-29v45,-10,81,-10,105,-10xm363,-156v16,-51,-62,-85,-111,-79v-25,-11,-50,8,-81,0v-15,10,-70,16,-85,31v6,20,-27,24,-39,45v-42,75,40,128,115,128v56,0,209,-71,201,-125", "w": 383 }, "P": { "d": "70,-225v-7,-12,-36,16,-49,19v-4,0,-9,-5,-14,-17v21,-47,114,-55,172,-59v41,-3,132,33,99,87v-21,34,-72,59,-144,80v-2,16,-79,3,-74,46v3,25,-5,47,-10,68v-22,-1,-23,-29,-22,-56v2,-25,-20,-32,-8,-50v21,-5,10,-35,25,-57v6,-28,14,-48,25,-61xm71,-229v47,14,-2,50,-1,99v41,-3,113,-37,173,-76v5,-9,8,-14,8,-15v-28,-47,-125,-29,-180,-8", "w": 252 }, "Q": { "d": "374,-217v20,59,-11,127,-48,156r30,38v-1,6,-8,16,-14,9v-3,0,-19,-9,-47,-26v-72,35,-173,75,-236,12v-70,-40,-67,-213,26,-217r8,5v24,-20,72,-48,112,-38v21,-4,22,-1,50,-2v66,-2,94,20,119,63xm296,-88v13,5,61,-49,63,-84v4,-62,-54,-78,-119,-76v-14,-6,-49,5,-71,3v-42,16,-89,41,-93,94v-9,11,1,25,-7,38v-12,-19,-7,-67,-1,-88v-56,30,-37,137,19,155v27,17,92,19,119,0v12,-2,29,-9,52,-20v2,-2,3,-3,3,-6v-11,-12,-46,-27,-54,-56v0,-13,3,-19,9,-19v18,1,60,52,80,59", "w": 379 }, "R": { "d": "100,-275v96,-23,196,-10,208,78v-3,18,-17,52,-49,62v-14,20,-54,23,-79,40v-2,0,-14,2,-36,6v-40,8,-30,14,-3,33v37,27,52,30,118,55v16,6,31,23,12,27v-58,-2,-104,-29,-143,-61v-14,-3,-16,-15,-39,-27v-23,-19,-28,-12,-15,-38v63,-19,111,-15,163,-53v27,-20,43,-36,43,-49v0,-64,-120,-62,-173,-38v-9,4,-38,9,-40,18v-10,32,-16,70,-13,116v-10,21,-8,47,-6,75v2,31,-9,29,-27,22v-9,-55,5,-140,15,-190v-8,-6,-24,10,-24,-11v0,-34,16,-34,42,-55v2,-1,17,-4,46,-10", "w": 297 }, "S": { "d": "13,-3v-7,-3,-22,-18,-5,-22v68,-15,119,-32,154,-45v51,-19,39,-34,3,-53v-46,-25,-82,-30,-121,-64v-33,-29,-50,-35,-25,-58v37,-20,119,-29,181,-29v29,0,44,6,44,18v-9,26,-62,6,-104,14v-17,2,-72,6,-92,16v37,53,132,58,180,111v8,9,11,20,11,30v-4,17,-23,35,-42,34v-21,16,-17,1,-49,17v-14,7,-41,9,-56,20v-25,-3,-49,10,-79,11", "w": 234 }, "T": { "d": "141,-3v-36,-6,1,-49,-3,-79v10,-19,6,-35,15,-64r26,-85v-51,-9,-100,10,-141,14v-16,2,-30,-26,-11,-32v26,-8,143,-8,179,-19r12,6v67,-2,142,-1,200,-1v8,0,14,3,19,10v-18,16,-74,3,-103,14v-48,-4,-60,4,-113,7v-42,22,-36,130,-58,187v1,12,-9,44,-22,42", "w": 277 }, "U": { "d": "365,-262v13,56,-22,104,-36,141v-19,22,-30,38,-57,56v-4,18,-60,35,-78,50v-53,28,-142,0,-161,-34v-31,-56,-37,-108,-11,-164v17,-33,29,-50,48,-29v-2,2,-3,7,-4,13v-44,36,-38,149,7,174v30,26,55,19,102,4v56,-17,66,-34,120,-76v12,-24,56,-68,46,-122r0,-16v0,1,-1,3,-1,6v4,-13,11,-10,25,-3", "w": 368 }, "V": { "d": "246,-258v21,-22,31,-26,44,-8v1,1,-12,22,-28,35v-15,25,-41,38,-56,69v-13,15,-20,31,-28,57v-15,13,-11,29,-27,72v3,21,-5,24,-27,27v-33,-45,-54,-118,-84,-167v-5,-26,-18,-50,-25,-76v-3,-12,24,-8,29,-5v8,13,18,52,26,70r52,115v9,-2,4,-9,10,-21r25,-47v25,-44,46,-76,89,-121", "w": 234 }, "W": { "d": "31,-213v16,46,17,106,41,151v31,-35,49,-89,76,-127v30,-15,39,27,52,56v10,22,21,48,35,67v2,0,4,-1,5,-3v16,-28,50,-76,79,-121v14,-21,40,-63,64,-83r5,8v-30,58,-76,110,-97,173v-18,28,-25,37,-33,63v-11,1,-16,25,-30,15v-21,-31,-44,-89,-62,-131v0,-2,-1,-3,-5,-5v-17,11,-16,36,-31,50v-20,33,-20,84,-68,94v-24,-19,-23,-81,-39,-111v-1,-15,-29,-94,-10,-108v9,2,12,5,18,12", "w": 331 }, "X": { "d": "143,-183v43,-25,69,-36,126,-62v22,-10,86,-10,56,21v-51,3,-158,61,-154,64v10,15,41,30,50,52v27,17,46,60,70,82v9,14,-6,30,-24,20v-35,-43,-75,-100,-116,-132v-48,13,-100,47,-118,94v-1,49,-26,34,-27,4v-1,-26,13,-27,17,-48v22,-27,68,-55,90,-77v-9,-12,-60,-39,-79,-57v-6,-10,-6,-25,12,-25", "w": 312 }, "Y": { "d": "216,-240v19,-14,42,10,22,26v-54,66,-121,109,-156,197v-8,21,-11,15,-30,4v3,-37,27,-61,33,-76v12,-12,15,-19,32,-42v-8,-6,-40,5,-45,5v-48,-6,-69,-65,-56,-113v14,0,13,-1,24,7v2,33,12,75,42,73v36,-2,102,-57,134,-81", "w": 189 }, "Z": { "d": "60,-255v66,12,200,-34,240,21v-13,42,-63,62,-98,89v-19,15,-47,33,-82,55v-25,16,-47,32,-66,47v58,24,129,-6,208,-6v23,0,36,12,13,19v-33,2,-53,5,-86,10v-32,18,-88,15,-135,15v-9,-1,-55,-1,-48,-29v1,-24,30,-24,40,-41v64,-50,151,-86,208,-147v-38,-17,-155,12,-198,-4v0,0,-11,-33,4,-29", "w": 310 }, "[": { "d": "72,-258r-15,250v30,4,55,-3,80,-6v7,-1,8,17,9,23v-28,15,-73,23,-121,21v-7,0,-10,-6,-10,-17v0,-60,25,-193,22,-288v0,-16,13,-20,33,-19v9,-3,34,-12,51,-12v16,0,15,16,19,29v-16,7,-48,10,-68,19", "w": 151 }, "\\": { "d": "236,38v20,-18,-8,-74,-13,-90v-44,-78,-112,-190,-200,-253v-2,0,-5,4,-7,12v-11,31,13,36,24,58v74,61,174,219,180,273r16,0", "w": 257 }, "]": { "d": "133,-258v-23,-13,-84,6,-85,-32v0,-10,5,-15,14,-15v0,0,30,2,90,7v10,1,15,13,15,36v2,7,-8,59,-13,112r-11,125v-9,48,9,90,-59,71v-20,-4,-39,-1,-59,-4v-5,-10,-25,-12,-14,-30v8,-3,61,-13,78,-8v14,1,8,-7,10,-17v15,-69,21,-166,34,-245", "w": 171 }, "^": { "d": "68,-306v20,15,47,36,58,60v-1,4,0,7,-9,7v-26,0,-47,-38,-49,-32v-15,9,-41,50,-54,30v-2,-31,17,-23,33,-51v8,-9,15,-14,21,-14", "w": 135 }, "_": { "d": "11,15v-8,33,18,45,50,34r205,2r197,-5v11,-5,14,-9,7,-28v-95,-21,-258,-10,-376,-10v-25,0,-72,-3,-83,7", "w": 485 }, "`": { "d": "75,-264v16,8,56,14,39,43v-30,-8,-65,-23,-105,-44v-1,-3,-3,-28,5,-25v16,5,44,17,61,26", "w": 129 }, "a": { "d": "124,-56v10,4,59,41,65,50v1,7,-6,17,-12,17r-60,-30v-22,2,-42,21,-65,19v-33,4,-68,-67,-15,-81v41,-27,96,-39,110,9v0,6,-4,12,-11,16v-33,-25,-67,-5,-88,12v10,16,61,-18,76,-12", "w": 196 }, "b": { "d": "80,-140v69,1,123,0,134,52v5,26,-71,71,-97,70v-11,11,-88,22,-94,22v-11,-3,-26,-18,-6,-24v19,-5,-2,-19,-1,-35v1,-18,11,-36,-5,-47v-6,-17,-6,-21,14,-32v6,-45,18,-89,28,-124v2,-7,8,-12,17,-15v5,3,10,11,16,28v-12,27,-13,63,-23,96v0,6,6,9,17,9xm87,-107v-40,-9,-31,31,-39,54v8,15,0,25,12,22v30,-8,60,-18,88,-32v39,-18,49,-33,-1,-42v-20,-4,-45,-7,-60,-2", "w": 217 }, "c": { "d": "128,-123v29,-7,37,29,12,33v-27,-4,-40,6,-79,25v-8,4,-13,11,-16,22v30,32,91,3,134,11v5,13,-8,26,-22,19v-51,25,-139,28,-150,-30v6,-50,69,-82,121,-80", "w": 194 }, "d": { "d": "224,-201v0,-35,-17,-111,24,-94v7,86,-2,119,0,197v-4,2,-8,21,-18,16v-62,-7,-154,-8,-185,29v6,17,28,26,51,26v16,0,100,-15,132,-18v7,5,-6,20,-10,22v-24,8,-122,42,-163,25v-32,-5,-62,-53,-36,-80v35,-37,118,-46,198,-43v1,-22,7,-49,7,-80", "w": 265 }, "e": { "d": "4,-57v0,-58,51,-71,110,-74v33,-1,45,16,59,35v1,14,2,39,-7,42v-24,-2,-73,13,-99,11v-2,2,-2,3,-2,3v0,3,12,8,37,15v21,0,69,9,31,22v-9,14,-34,6,-56,6v-27,-5,-73,-28,-73,-60xm123,-102v-22,2,-68,5,-65,26v24,-2,66,5,79,-6v-5,-13,-1,-13,-14,-20", "w": 182 }, "f": { "d": "6,-59v6,-29,53,-4,53,-43v0,-64,29,-118,84,-150v45,-25,167,-24,155,51v-1,2,-7,6,0,6r-10,2v-45,-58,-165,-39,-186,39v-7,26,-11,42,-9,62v44,8,95,-21,135,-7v-12,25,-39,21,-76,30v-19,5,-18,7,-54,19v-2,8,15,32,17,35v-6,25,-26,26,-40,-5r-15,-24v-41,10,-44,12,-54,-15", "w": 234 }, "g": { "d": "132,-97v30,27,21,75,30,117v-12,31,-11,66,-36,103v-32,46,-105,83,-167,39v-31,-21,-49,-29,-51,-75v-2,-37,77,-50,121,-57v37,-6,68,-10,95,-11v7,-6,3,-32,4,-46v0,0,-1,1,-1,2v0,-18,-5,-31,-14,-45v-44,5,-79,20,-94,-18v3,-54,73,-54,125,-50v12,7,12,13,4,25v-30,-11,-76,8,-90,20v23,3,50,-16,74,-4xm-34,121v60,53,168,1,159,-86v-47,-7,-93,24,-142,30v-12,7,-45,19,-42,29v0,10,8,19,25,27", "w": 188 }, "h": { "d": "100,-310v11,-2,10,19,11,20v-11,52,-40,133,-53,189v-6,30,-9,37,-9,47v27,0,113,-34,143,-34v42,0,31,47,39,79v0,4,-5,17,-16,16v4,2,11,3,4,6v-24,-1,-28,-34,-25,-64v-1,-1,-2,-3,-5,-5v-51,0,-110,38,-162,51v-9,1,-15,-15,-16,-23v17,-89,39,-141,71,-264v0,-9,6,-19,18,-18", "w": 251 }, "i": { "d": "62,-209v7,18,9,23,-5,38v-23,-6,-21,-18,-11,-36v2,0,8,-1,16,-2xm34,-7v-18,-21,-8,-73,-1,-106v7,-10,20,-8,23,6v-1,36,7,72,-2,104v-8,2,-8,0,-20,-4", "w": 80 }, "j": { "d": "88,-191v5,28,-18,40,-28,21v0,-20,12,-29,28,-21xm82,-99v28,-1,16,35,16,61v0,60,-19,150,-35,202v-12,8,-19,31,-35,16v-32,-7,-43,-19,-56,-44r2,-17v11,4,49,45,61,18v10,-55,27,-107,30,-171v0,-16,0,-59,17,-65", "w": 120 }, "k": { "d": "59,-66v33,26,114,37,155,62v8,-4,22,-2,19,-17v0,-4,-12,-11,-30,-24v-36,-25,-54,-22,-99,-33v14,-21,119,-13,103,-63r-16,-7r-123,47r25,-93v-3,-15,16,-49,18,-81v1,-15,-21,-14,-25,-3v-31,82,-49,168,-75,257v2,2,22,30,27,10v2,-5,4,-9,9,-11v4,-16,4,-15,12,-44", "w": 236 }, "l": { "d": "66,-300v21,-6,37,23,30,55v-10,51,-28,135,-28,208v0,11,6,36,-13,37v-29,-5,-30,-48,-25,-83r28,-177v-6,-17,1,-29,8,-40", "w": 102 }, "m": { "d": "348,-59v-2,21,0,57,3,73v-17,3,-30,-1,-32,-16v-8,-7,-5,-44,-13,-70v-35,3,-82,49,-111,70v-12,8,-40,4,-39,-15r2,-56v-1,-13,4,-28,-8,-29v-35,8,-79,72,-115,87v-6,2,-20,-18,-21,-22v1,-20,14,-105,39,-64r8,15v17,-14,72,-56,93,-54v27,3,49,40,43,80v24,-2,66,-55,124,-53v11,14,28,23,27,54", "w": 368 }, "n": { "d": "121,-136v37,6,62,54,62,111v0,32,-16,25,-31,17v-18,-30,-5,-45,-22,-85v-37,-13,-71,55,-92,65v-20,-3,-39,-39,-21,-62v2,-12,3,-15,11,-30v12,-8,20,11,29,12", "w": 194 }, "o": { "d": "108,-139v52,-24,104,18,104,63v0,59,-66,67,-114,83v-52,-2,-115,-50,-80,-105v23,-18,52,-35,90,-41xm45,-60v16,54,125,16,131,-23v-12,-59,-129,-8,-131,23", "w": 217 }, "p": { "d": "82,14v-10,12,-8,117,-24,142v-15,2,-19,0,-29,-13v0,-76,9,-113,22,-192v14,-27,35,-6,37,13v0,8,-3,21,-7,38v2,2,3,2,4,2v26,-9,116,-33,126,-72v-7,-17,-24,-33,-49,-31v-40,3,-116,13,-116,47v-5,7,-2,17,-16,20v-17,-12,-18,-20,-12,-38v8,-25,74,-61,110,-59v55,-15,113,15,118,70v-15,52,-84,79,-146,83v-5,0,-11,-4,-18,-10", "w": 251 }, "q": { "d": "144,-147v27,-8,89,-3,97,31v-9,29,-42,-4,-73,1v-32,6,-118,20,-111,49v0,7,13,13,21,13v21,0,78,-24,104,-34v2,0,9,8,22,21v1,1,1,2,1,5v-27,90,-22,70,-43,203v11,15,-15,54,-33,33v-6,-8,-10,-20,-3,-28v1,-72,5,-114,15,-172v-35,3,-35,10,-59,8v-41,-4,-98,-41,-56,-85v33,-34,59,-27,118,-45", "w": 248 }, "r": { "d": "242,-117v2,22,5,10,-14,23v-73,-7,-166,-23,-174,56v-8,6,-3,20,-8,36v-29,10,-40,-9,-33,-46v6,-31,7,-69,32,-55v58,-37,66,-42,175,-19v3,5,15,4,22,5", "w": 229 }, "s": { "d": "154,-151v19,1,27,24,13,32v-4,1,-22,4,-53,7v-16,8,-22,-2,-39,9v23,21,89,16,96,62v-13,24,-85,35,-124,42v-9,-3,-18,-3,-27,0v-6,-4,-21,-16,-8,-25v30,-6,83,-13,102,-24v-17,-16,-80,-33,-97,-48v-3,-2,-4,-7,-4,-15v-6,-6,3,-13,15,-18v22,-9,94,-23,126,-22", "w": 188 }, "t": { "d": "85,-150v10,-41,35,-126,65,-134v4,1,24,19,11,36v-17,22,-29,57,-36,104v26,8,50,-7,73,5v14,0,22,3,22,9v-1,19,-44,18,-57,23v-10,1,-46,0,-54,10v-10,24,-4,67,-20,98v-21,-3,-26,1,-26,-20v0,-9,2,-36,8,-81v-15,-13,-81,9,-77,-27v4,-38,71,6,91,-23", "w": 194 }, "u": { "d": "207,-136v-1,-2,11,-14,14,-13v6,0,10,7,10,22v-3,40,-23,56,-40,82v-13,19,-62,43,-93,43v-67,-2,-111,-75,-71,-133v26,-3,21,29,19,49v-1,27,26,44,57,42v41,-2,93,-55,104,-92", "w": 242 }, "v": { "d": "24,-127r52,71v42,-16,70,-54,124,-65v5,4,8,7,8,11v-8,19,-4,8,-33,32v0,1,-1,3,-1,5v-61,45,-93,68,-97,68v-40,-15,-50,-72,-68,-100v6,-14,10,-22,15,-22", "w": 214 }, "w": { "d": "15,-139v38,-2,27,57,45,86v30,2,67,-66,101,-78v26,6,36,69,60,78v47,-35,51,-54,119,-104v3,0,7,-2,15,-4v19,23,-9,28,-21,49v-33,28,-68,90,-107,109v-10,6,-52,-47,-72,-71v-20,17,-85,74,-97,73v-38,7,-41,-98,-52,-122v0,-1,3,-7,9,-16", "w": 325 }, "x": { "d": "95,-124v22,-13,78,-32,99,-31v16,0,23,6,23,18v0,22,-17,11,-49,21v-3,0,-45,20,-42,24v0,1,2,4,8,10v20,24,49,41,44,80v-35,3,-27,-9,-60,-44v-40,-43,-37,-26,-79,9v-1,1,-2,3,-3,8v-12,8,-28,10,-27,-11v-6,-8,45,-65,48,-65v-17,-21,-61,-52,-24,-68v9,0,48,37,62,49", "w": 223 }, "y": { "d": "44,-65v22,33,70,4,99,-8v5,-4,28,-15,41,-31r17,0v25,47,-26,70,-40,114v-5,4,-9,8,-10,21v-16,12,-11,33,-27,51v-5,18,-12,43,-23,71v-1,-1,-2,34,-18,29v-12,1,-22,-12,-22,-23v20,-70,24,-65,68,-177v-47,16,-111,8,-116,-39v-11,-13,-7,-62,8,-62v18,0,22,26,23,54", "w": 216 }, "z": { "d": "189,-43v9,-1,46,-6,41,12v0,7,-5,13,-15,14v-45,6,-148,24,-181,13v0,-3,-5,-8,-14,-15v5,-44,66,-46,90,-85v-15,-18,-84,21,-84,-14v0,-10,5,-17,14,-18v33,-3,79,-13,109,-3v4,-2,14,11,12,15v0,23,-26,51,-78,84v28,10,73,-3,106,-3", "w": 244 }, "{": { "d": "94,-303v27,-9,90,-14,79,26v-20,17,-55,-5,-87,13v-4,1,-6,4,-6,8v33,42,31,44,7,85v-6,10,-13,16,-13,13v5,6,17,17,15,31r-33,78v7,35,28,49,57,63r49,0v7,42,-51,41,-86,20v-43,-13,-51,-51,-56,-89v-2,-25,25,-54,27,-71v-3,-4,-46,-5,-41,-21v2,-10,-3,-29,11,-25v2,0,51,-17,52,-38v4,-3,-25,-23,-25,-49v0,-41,8,-30,50,-44", "w": 179 }, "|": { "d": "30,-308v26,5,14,50,15,80v5,78,-8,153,-3,225v-2,15,-1,31,-11,36v-8,-3,-25,-22,-25,-32r9,-183v0,-40,0,-78,1,-112v0,-4,9,-15,14,-14", "w": 63 }, "}": { "d": "47,-298v34,-17,118,-18,112,36v6,25,-76,98,-69,103v4,16,39,7,44,28v7,34,-34,17,-37,39v8,29,49,83,23,123v-15,23,-43,26,-73,46v-34,8,-43,11,-49,-17v1,-15,30,-15,33,-20v24,-12,70,-27,55,-61v-14,-33,-37,-68,-19,-103v-46,-50,46,-100,60,-141v-10,-16,-68,6,-77,-12", "w": 143 }, "~": { "d": "7,-254v2,-6,59,-50,67,-46v11,-1,35,19,46,26v5,0,27,-10,66,-31v21,8,-1,25,-7,38v-27,21,-48,31,-65,31v-24,-11,-37,-39,-65,-9v-7,7,-26,36,-42,11v3,-5,-3,-17,0,-20", "w": 199 }, "\u00a0": { "w": 179 }, "\u00a1": { "d": "86,-197v8,16,-7,41,-24,25v-11,-11,-4,-16,-3,-29v13,0,15,-2,27,4xm46,-107v4,-8,11,-16,23,-7v19,26,-5,57,-6,87v-7,0,-5,18,-9,28v0,14,-17,52,-11,70v-2,7,-15,28,-25,12v-4,-6,-15,-7,-6,-16v2,-39,14,-96,34,-174", "w": 95 }, "\u00a2": { "d": "105,-188v13,-12,14,-18,26,-15v7,23,7,15,-3,49v6,0,18,14,17,20v-3,5,-12,19,-26,13v-14,1,-14,5,-16,21v10,10,46,-13,38,18v-9,17,-23,16,-54,20v-17,16,-4,55,-29,60v-37,-10,19,-64,-24,-71v-20,-10,-37,-47,-6,-62v23,-20,73,-4,77,-53xm65,-101v4,-9,7,-8,3,-13v-14,4,-22,10,-3,13", "w": 154 }, "\u00a3": { "d": "153,-170v3,22,62,0,49,39v-18,6,-31,12,-58,9v-12,-1,-17,30,-23,39v19,26,50,56,91,35v9,-2,27,-13,27,4v0,27,-27,39,-58,42v-32,-5,-59,-19,-78,-39v-6,1,-35,44,-57,39v-25,0,-37,-15,-37,-46v0,-41,43,-53,73,-50v4,1,12,-18,12,-21v-7,-15,-49,0,-44,-30v-2,-31,31,-16,60,-19v16,-30,25,-119,93,-113v16,2,75,16,50,44v-4,5,-7,7,-12,8v-18,-12,-32,-18,-41,-18v-35,-1,-38,52,-47,77xm43,-45v4,5,12,-2,11,-9v-1,2,-12,1,-11,9", "w": 242 }, "\u00a4": { "d": "308,-133r-200,16v-2,1,-6,4,-10,10v70,-2,144,-14,211,-8v3,0,8,4,13,8v-1,4,-3,9,-9,17v-57,11,-164,6,-219,25v26,32,112,25,173,25v9,0,35,2,35,19v0,9,-4,13,-12,14v-115,12,-146,23,-211,-19v-12,-4,-22,-9,-25,-27v-6,-29,-61,3,-43,-49v17,-1,36,7,42,-12v-32,7,-36,-39,-11,-40v29,14,63,-25,73,-30v52,-25,72,-44,142,-44v23,0,21,41,-1,39v-35,-3,-61,9,-102,31v2,2,5,4,8,4v18,-6,101,-9,115,-9v7,0,55,13,31,30", "w": 312 }, "\u20ac": { "d": "308,-133r-200,16v-2,1,-6,4,-10,10v70,-2,144,-14,211,-8v3,0,8,4,13,8v-1,4,-3,9,-9,17v-57,11,-164,6,-219,25v26,32,112,25,173,25v9,0,35,2,35,19v0,9,-4,13,-12,14v-115,12,-146,23,-211,-19v-12,-4,-22,-9,-25,-27v-6,-29,-61,3,-43,-49v17,-1,36,7,42,-12v-32,7,-36,-39,-11,-40v29,14,63,-25,73,-30v52,-25,72,-44,142,-44v23,0,21,41,-1,39v-35,-3,-61,9,-102,31v2,2,5,4,8,4v18,-6,101,-9,115,-9v7,0,55,13,31,30", "w": 312 }, "\u00a5": { "d": "31,-248v30,-3,64,64,74,59v37,-22,77,-65,107,-82v20,-11,34,18,21,32v-28,19,-52,38,-70,57v-18,8,-40,21,-35,60v2,19,39,7,64,7v25,0,16,21,2,27v-36,16,-46,8,-68,18v6,11,101,-20,66,24v-21,11,-42,12,-75,20v-2,1,-5,6,-10,18v-8,3,-11,10,-24,8v-7,-17,-2,-18,-9,-26v-13,5,-39,3,-53,-2v-10,-17,-7,-27,0,-34v23,-1,45,1,64,-5v-11,-7,-28,-4,-64,-6v-13,-8,-15,-24,-6,-35v33,-2,102,9,76,-37v-14,-14,-33,-38,-60,-66v-10,-10,-8,-28,0,-37", "w": 219 }, "\u00a7": { "d": "141,-115v12,10,29,36,28,56v-4,68,-129,69,-152,16v-1,-12,-10,-22,8,-23v17,3,47,21,67,23v16,1,40,-8,38,-21v-8,-49,-119,-30,-117,-85v1,-28,15,-45,-3,-64v-1,-53,55,-61,103,-62v15,-5,6,-5,20,-2v16,17,23,27,23,30v-1,26,-29,7,-45,7v-21,0,-51,2,-62,17v19,14,87,8,97,43v18,14,16,57,-5,65xm64,-147r57,17v10,-28,-22,-43,-47,-44v-25,-1,-35,19,-10,27", "w": 174 }, "\u00a8": { "d": "124,-259v0,9,-4,13,-12,13v-18,0,-22,-21,-17,-35v19,-1,30,1,29,22xm23,-285v7,2,30,9,29,18v1,10,-9,19,-18,19v-19,0,-28,-26,-11,-37", "w": 136 }, "\u00a9": { "d": "102,-29v-74,5,-124,-84,-70,-140v22,-22,53,-35,97,-38v46,-4,88,49,74,100v0,44,-51,75,-101,78xm96,-66v42,-3,75,-23,75,-69v0,-23,-4,-38,-44,-38v-16,0,-33,6,-49,20v36,-4,55,-12,62,20v-5,16,-49,1,-50,21v10,15,53,-14,54,11v0,18,-14,27,-42,27v-22,1,-46,-11,-46,-31v0,-25,7,-39,20,-44v-1,-1,-2,-2,-3,-2v-51,22,-32,89,23,85", "w": 217 }, "\u00aa": { "d": "6,-265v1,-31,58,-53,80,-22v-11,14,25,28,25,36v-2,8,-15,12,-27,10v-22,-29,-68,19,-78,-24xm52,-281v-8,1,-24,10,-9,13v11,1,24,-10,9,-13", "w": 117 }, "\u00ab": { "d": "191,-64v16,6,87,37,53,63v-39,-9,-71,-28,-107,-40v-14,-13,-13,-34,10,-47v27,-15,48,-55,84,-62v9,-2,21,10,21,18r-13,21v-16,5,-44,22,-51,41v0,4,1,6,3,6xm71,-65v17,6,87,35,55,62v-39,-8,-66,-27,-108,-40v-14,-13,-13,-36,10,-46v23,-18,50,-56,84,-63v9,-2,21,10,21,18r-13,22v-20,6,-32,17,-51,37v0,3,-1,11,2,10", "w": 265 }, "\u00ac": { "d": "141,-99v47,7,103,-3,149,6v14,24,18,15,10,39v-10,34,-7,31,-26,76v-4,6,-15,8,-16,21v-4,2,-4,1,-13,5v-22,-33,-4,-33,16,-104v-5,-9,-28,-4,-38,-6r-183,4v-14,0,-41,-29,-17,-36v31,-9,82,5,118,-5", "w": 315 }, "\u00ae": { "d": "75,-194v78,-29,116,9,130,84v-2,42,-22,47,-57,67v-74,20,-161,-19,-129,-110v6,-18,29,-34,57,-40xm46,-86v51,36,84,21,129,-15v7,-15,0,-39,-10,-49v-13,-37,-49,-26,-86,-18v-28,7,-49,46,-33,82xm72,-123v-5,-43,68,-57,75,-14v-17,26,-18,17,3,32v2,25,-25,18,-45,7r-4,-4v-1,8,-3,20,-12,24v-10,-3,-21,-34,-17,-45xm112,-135v-10,-1,-20,13,-9,14v6,-6,9,-11,9,-14", "w": 217 }, "\u00af": { "d": "63,-295v28,-7,73,10,105,7v11,1,6,8,5,19v-37,21,-72,11,-136,11v-23,0,-31,-14,-27,-36v12,-15,40,0,53,-1", "w": 183 }, "\u00b0": { "d": "106,-268v0,36,-35,38,-51,46v-48,5,-60,-58,-25,-78v33,-11,76,-9,76,32xm38,-257v16,7,39,2,38,-17v-13,-9,-28,-1,-32,11v-5,3,-7,0,-6,6", "w": 114 }, "\u00b1": { "d": "93,-163v-7,46,76,-4,46,47v-14,6,-27,13,-38,8v-24,2,-14,28,-28,44r-14,0v-7,-12,-5,-15,-7,-33v-12,-7,-41,-1,-37,-24v2,-11,23,-17,36,-14r28,-38v4,0,9,4,14,10xm113,-27v-12,18,-58,27,-85,24v-16,2,-22,-23,-13,-36v28,-7,85,-11,98,12", "w": 151 }, "\u00b4": { "d": "52,-284v29,-11,50,-34,62,-14v3,12,-86,54,-94,56v-14,0,-16,-12,-12,-23v11,-5,25,-11,44,-19", "w": 120 }, "\u00b6": { "d": "121,-237v21,-9,44,-13,63,-1v-1,7,5,6,7,11r-4,190v-2,33,4,39,-15,40v-16,1,-10,-20,-10,-33r4,-161v0,-17,-1,-34,-16,-25v2,10,1,23,1,35v-9,46,-6,75,-15,156v-3,4,-7,5,-12,5v-17,-10,-3,-89,-10,-115v-43,14,-98,10,-101,-29v-4,-53,59,-63,104,-75v3,1,4,2,4,2xm95,-204v2,9,-30,50,1,50v35,0,23,-13,29,-43v0,-1,-2,-7,-4,-15v-12,-1,-14,2,-26,8", "w": 206 }, "\u00b8": { "d": "74,16v32,2,49,14,55,36v-3,7,-14,31,-29,33v-28,4,-57,11,-88,14v-19,-6,-13,-31,8,-33v20,-1,59,-5,73,-14v-17,-14,-68,8,-53,-37v9,-10,2,-28,24,-30v8,8,13,17,10,31", "w": 129 }, "\u00ba": { "d": "13,-273v1,-31,56,-41,83,-18v36,8,14,48,-9,52v-35,6,-64,-5,-74,-34xm81,-269v-7,-7,-20,-11,-29,-6v5,13,13,11,29,6", "w": 128 }, "\u00bb": { "d": "120,-129v9,-33,48,-10,64,5v9,20,86,52,50,86v-36,11,-66,31,-107,40v-6,-7,-9,-13,-9,-17v-2,-13,50,-46,63,-46v11,-18,-33,-42,-48,-47xm1,-128v10,-33,46,-8,64,6v8,19,86,50,51,85v-40,13,-69,30,-108,40v-6,-7,-8,-12,-8,-16v-2,-14,50,-46,63,-47v7,-13,-9,-20,-19,-30v-10,-9,-20,-15,-30,-17", "w": 252 }, "\u00bf": { "d": "181,-247v3,1,31,2,29,15v-4,22,-37,27,-41,4v1,-5,7,-20,12,-19xm161,-34v-45,-1,-105,19,-124,51v0,11,18,17,54,17v39,0,82,-13,112,4v-10,35,-58,31,-100,31v-47,0,-80,-10,-99,-31v-10,-56,22,-73,64,-90v8,-3,32,-9,74,-18v21,-15,7,-62,22,-92v-1,-5,-1,-11,4,-12v16,0,24,7,24,22v-8,30,-8,73,-17,111v-3,5,-7,7,-14,7", "w": 213 }, "\u00c0": { "d": "161,-217v20,53,23,124,54,170v-2,20,-34,9,-42,0v-27,-12,-78,-18,-101,-18v-26,6,-29,51,-54,63v-18,-4,-19,-30,-3,-38v5,-9,15,-16,8,-29v1,-12,23,-9,26,-19v6,-10,11,-20,20,-27r70,-121v12,-4,16,4,22,19xm82,-91v17,3,62,7,86,13v-13,-33,-13,-80,-29,-109v-15,30,-38,63,-57,96xm150,-268v14,10,54,14,37,41v-28,-7,-62,-22,-100,-42v-2,-3,-2,-26,5,-23v16,4,42,17,58,24" }, "\u00c1": { "d": "161,-217v20,53,23,124,54,170v-2,20,-34,9,-42,0v-27,-12,-78,-18,-101,-18v-26,6,-29,51,-54,63v-18,-4,-19,-30,-3,-38v5,-9,15,-16,8,-29v1,-12,23,-9,26,-19v6,-10,11,-20,20,-27r70,-121v12,-4,16,4,22,19xm82,-91v17,3,62,7,86,13v-13,-33,-13,-80,-29,-109v-15,30,-38,63,-57,96xm84,-250v31,-5,83,-53,100,-31v0,5,-11,15,-35,28v-16,5,-51,28,-53,25v-14,1,-16,-11,-12,-22" }, "\u00c2": { "d": "161,-217v20,53,23,124,54,170v-2,20,-34,9,-42,0v-27,-12,-78,-18,-101,-18v-26,6,-29,51,-54,63v-18,-4,-19,-30,-3,-38v5,-9,15,-16,8,-29v1,-12,23,-9,26,-19v6,-10,11,-20,20,-27r70,-121v12,-4,16,4,22,19xm82,-91v17,3,62,7,86,13v-13,-33,-13,-80,-29,-109v-15,30,-38,63,-57,96xm202,-219v-27,-6,-40,-26,-61,-37v-21,7,-39,46,-65,23v-2,-4,-3,-10,-4,-14v19,-4,43,-32,61,-43v27,6,40,22,62,37v12,8,18,17,18,25v0,6,-3,9,-11,9" }, "\u00c3": { "d": "161,-217v20,53,23,124,54,170v-2,20,-34,9,-42,0v-27,-12,-78,-18,-101,-18v-26,6,-29,51,-54,63v-18,-4,-19,-30,-3,-38v5,-9,15,-16,8,-29v1,-12,23,-9,26,-19v6,-10,11,-20,20,-27r70,-121v12,-4,16,4,22,19xm82,-91v17,3,62,7,86,13v-13,-33,-13,-80,-29,-109v-15,30,-38,63,-57,96xm100,-285v26,-19,54,19,69,22v4,0,15,-5,34,-13v23,-9,22,-17,31,-12v3,11,-9,9,-7,21v-26,20,-46,30,-59,30v-3,3,-50,-26,-49,-29v-12,1,-31,35,-51,32v-3,-8,-5,-14,-5,-18v10,-9,16,-17,37,-33" }, "\u00c4": { "d": "161,-217v20,53,23,124,54,170v-2,20,-34,9,-42,0v-27,-12,-78,-18,-101,-18v-26,6,-29,51,-54,63v-18,-4,-19,-30,-3,-38v5,-9,15,-16,8,-29v1,-12,23,-9,26,-19v6,-10,11,-20,20,-27r70,-121v12,-4,16,4,22,19xm82,-91v17,3,62,7,86,13v-13,-33,-13,-80,-29,-109v-15,30,-38,63,-57,96xm187,-259v0,8,-4,13,-12,13v-18,0,-21,-20,-16,-34v18,-1,28,2,28,21xm90,-284v7,3,28,11,28,18v0,9,-9,18,-18,17v-17,0,-25,-24,-10,-35" }, "\u00c5": { "d": "161,-217v20,53,23,124,54,170v-2,20,-34,9,-42,0v-27,-12,-78,-18,-101,-18v-26,6,-29,51,-54,63v-18,-4,-19,-30,-3,-38v5,-9,15,-16,8,-29v1,-12,23,-9,26,-19v6,-10,11,-20,20,-27r70,-121v12,-4,16,4,22,19xm82,-91v17,3,62,7,86,13v-13,-33,-13,-80,-29,-109v-15,30,-38,63,-57,96xm112,-239v-31,-17,-9,-61,29,-56v12,2,22,3,33,12v24,39,-30,62,-62,44xm119,-262v2,14,41,8,41,-4v0,-4,-8,-6,-24,-9v-10,-2,-17,10,-17,13" }, "\u00c6": { "d": "335,-259v0,30,-102,12,-122,34v10,21,2,79,16,100v24,-6,59,-13,86,-16v23,-2,32,21,13,26r-103,29v-3,22,-4,38,8,43v28,-5,60,-6,86,-14v5,-1,14,7,14,11v6,16,-90,40,-107,40v-29,0,-39,-19,-32,-46v-2,-4,0,-26,-9,-28v-29,2,-58,6,-88,6v-31,0,-40,74,-82,73v-18,-23,4,-37,12,-50v40,-65,112,-126,165,-207v20,-17,69,-11,112,-13v21,0,31,4,31,12xm123,-111v28,1,44,-2,67,-10v-4,-22,5,-49,-7,-65v-3,6,-65,61,-60,75", "w": 348 }, "\u00c7": { "d": "48,-108v-12,70,90,71,159,67r138,-9v9,-1,7,9,7,17v-37,16,-80,27,-103,21v-14,9,-40,3,-67,9v-30,0,-64,1,-100,-10v-6,-1,-10,-4,-10,-8v-32,-12,-46,-31,-63,-56v-16,-61,47,-103,83,-121v82,-42,118,-45,200,-60v21,-4,36,34,11,37v-90,11,-148,31,-225,77v-12,8,-23,20,-30,36xm172,18v29,4,47,14,53,35v-2,7,-14,31,-27,31v-28,7,-55,9,-84,14v-18,-5,-13,-32,7,-32v21,0,55,-5,69,-13v-16,-14,-63,10,-50,-35v9,-10,1,-27,23,-29v7,8,11,16,9,29", "w": 331 }, "\u00c8": { "d": "49,-160v1,-4,-10,-9,-15,-8v-15,-35,32,-30,57,-31r142,-8v2,1,30,7,40,10v-52,16,-133,17,-190,30v-7,9,-12,24,-15,47v26,10,102,-6,141,3v1,3,1,6,2,10v-36,18,-92,12,-149,21v-11,9,-16,41,-16,51v55,-1,111,-21,168,-13v15,-8,48,1,31,18v-53,16,-130,13,-198,29r-39,-8v-4,-19,17,-53,20,-76v-1,0,-7,-11,-9,-18v18,-7,22,-28,30,-57xm184,-236v6,9,5,13,0,23v-28,-7,-62,-21,-100,-41v-3,-2,-3,-27,5,-23v34,11,60,25,95,41", "w": 252 }, "\u00c9": { "d": "49,-160v1,-4,-10,-9,-15,-8v-15,-35,32,-30,57,-31r142,-8v2,1,30,7,40,10v-52,16,-133,17,-190,30v-7,9,-12,24,-15,47v26,10,102,-6,141,3v1,3,1,6,2,10v-36,18,-92,12,-149,21v-11,9,-16,41,-16,51v55,-1,111,-21,168,-13v15,-8,48,1,31,18v-53,16,-130,13,-198,29r-39,-8v-4,-19,17,-53,20,-76v-1,0,-7,-11,-9,-18v18,-7,22,-28,30,-57xm133,-248v27,-11,48,-32,59,-14v3,11,-79,52,-88,53v-14,1,-16,-11,-12,-21v10,-4,23,-11,41,-18", "w": 252 }, "\u00ca": { "d": "49,-160v1,-4,-10,-9,-15,-8v-15,-35,32,-30,57,-31r142,-8v2,1,30,7,40,10v-52,16,-133,17,-190,30v-7,9,-12,24,-15,47v26,10,102,-6,141,3v1,3,1,6,2,10v-36,18,-92,12,-149,21v-11,9,-16,41,-16,51v55,-1,111,-21,168,-13v15,-8,48,1,31,18v-53,16,-130,13,-198,29r-39,-8v-4,-19,17,-53,20,-76v-1,0,-7,-11,-9,-18v18,-7,22,-28,30,-57xm199,-211v-27,-6,-39,-26,-60,-37v-21,7,-40,47,-65,22v-2,-7,-2,-7,-4,-13v18,-5,44,-31,61,-43v27,6,41,22,62,37v12,9,18,17,18,25v0,6,-4,9,-12,9", "w": 252 }, "\u00cb": { "d": "49,-160v1,-4,-10,-9,-15,-8v-15,-35,32,-30,57,-31r142,-8v2,1,30,7,40,10v-52,16,-133,17,-190,30v-7,9,-12,24,-15,47v26,10,102,-6,141,3v1,3,1,6,2,10v-36,18,-92,12,-149,21v-11,9,-17,41,-17,51v55,0,112,-21,169,-13v15,-8,48,1,31,18v-53,16,-130,13,-198,29r-39,-8v-3,-21,17,-53,20,-76v-1,0,-7,-11,-9,-18v18,-7,22,-28,30,-57xm191,-236v0,8,-4,13,-12,13v-17,0,-19,-19,-16,-34v18,-1,29,1,28,21xm95,-261v7,3,29,9,28,18v0,7,-9,17,-18,17v-18,0,-26,-25,-10,-35", "w": 252 }, "\u00cc": { "d": "33,-5v-9,-6,-9,-12,-9,-36v0,-71,8,-119,22,-144v8,-13,14,-20,19,-20v27,20,-11,87,-10,120r-15,76v-1,1,-4,2,-7,4xm72,-247v7,6,55,15,36,40v-28,-7,-61,-21,-99,-41v-3,-2,-3,-27,5,-23v18,3,41,17,58,24", "w": 111 }, "\u00cd": { "d": "26,-5v-9,-6,-9,-12,-9,-36v0,-71,7,-119,21,-144v8,-13,14,-20,19,-20v28,19,-7,89,-10,120v-2,21,-8,47,-14,76v-2,1,-2,0,-7,4xm6,-233v31,-6,83,-53,101,-31v2,11,-80,53,-89,53v-14,1,-14,-11,-12,-22", "w": 104 }, "\u00ce": { "d": "53,-9v-15,7,-16,-3,-16,-32v0,-71,7,-119,21,-144v8,-13,14,-20,19,-20v28,19,-7,89,-10,120v-2,21,-8,47,-14,76xm137,-209v-27,-6,-40,-26,-61,-37v-8,0,-9,4,-13,10v-11,13,-50,37,-56,0v18,-5,43,-32,61,-43v28,5,40,21,62,36v12,9,18,17,18,25v0,6,-4,9,-11,9", "w": 144 }, "\u00cf": { "d": "33,-5v-9,-6,-9,-12,-9,-36v0,-71,8,-119,22,-144v8,-13,14,-20,19,-20v27,20,-11,87,-10,120r-15,76v-1,1,-4,2,-7,4xm111,-222v0,8,-4,12,-12,12v-18,0,-19,-19,-16,-33v18,-1,29,1,28,21xm15,-247v8,2,29,9,28,17v0,21,-37,24,-36,1v0,-7,2,-13,8,-18", "w": 110 }, "\u00d1": { "d": "224,-182v1,-17,15,-24,22,-38v20,0,13,10,3,33v-3,36,-25,52,-28,94v-10,24,-30,55,-29,82r-19,7v-32,-8,-36,-70,-58,-111v-2,-23,-7,-27,-19,-54v-28,36,-41,93,-71,133v-9,5,-20,-9,-20,-17r73,-149v9,-24,31,-5,36,7v19,41,31,98,53,139v22,-35,34,-69,50,-118v2,-3,3,-3,7,-8xm203,-257v22,-8,41,-24,65,-26v3,11,-8,9,-7,21v-26,20,-46,31,-59,31v-2,3,-49,-27,-49,-29v-11,0,-32,31,-46,32v-11,-2,-12,-21,-4,-23v4,-6,28,-30,48,-34v17,-4,43,28,52,28", "w": 219 }, "\u00d2": { "d": "62,-184v78,-31,249,-50,238,74v-6,65,-102,105,-179,115v-77,-7,-152,-71,-101,-149v2,-5,24,-33,42,-40xm279,-120v14,-38,-47,-64,-85,-61v-20,-9,-41,7,-62,0v-11,7,-54,12,-66,24v0,20,-51,35,-38,66v-1,43,50,67,96,67v44,0,162,-55,155,-96xm161,-262v14,10,52,13,37,41v-28,-7,-62,-21,-100,-41v-3,-3,-3,-26,5,-24v16,5,42,17,58,24", "w": 273 }, "\u00d3": { "d": "62,-184v78,-31,249,-50,238,74v-6,65,-102,105,-179,115v-77,-7,-152,-71,-101,-149v2,-5,24,-33,42,-40xm279,-120v14,-38,-47,-64,-85,-61v-20,-9,-41,7,-62,0v-11,7,-54,12,-66,24v0,20,-51,35,-38,66v-1,43,50,67,96,67v44,0,162,-55,155,-96xm142,-250v27,-11,47,-32,59,-14v2,11,-80,53,-89,53v-13,1,-15,-11,-12,-21v10,-5,24,-11,42,-18", "w": 273 }, "\u00d4": { "d": "62,-184v78,-31,249,-50,238,74v-6,65,-102,105,-179,115v-77,-7,-152,-71,-101,-149v2,-5,24,-33,42,-40xm279,-120v14,-38,-47,-64,-85,-61v-20,-9,-41,7,-62,0v-11,7,-54,12,-66,24v0,20,-51,35,-38,66v-1,43,50,67,96,67v44,0,162,-55,155,-96xm157,-282v17,18,52,34,54,63v-24,12,-52,-36,-53,-29r-42,34v-23,-4,-6,-31,5,-34v1,1,27,-37,36,-34", "w": 273 }, "\u00d5": { "d": "62,-184v78,-31,249,-50,238,74v-6,65,-102,105,-179,115v-77,-7,-152,-71,-101,-149v2,-5,24,-33,42,-40xm279,-120v14,-38,-47,-64,-85,-61v-20,-9,-41,7,-62,0v-11,7,-54,12,-66,24v0,20,-51,35,-38,66v-1,43,50,67,96,67v44,0,162,-55,155,-96xm116,-270v26,-19,54,19,69,22v4,0,15,-5,34,-13v23,-10,22,-16,31,-12v3,11,-8,9,-7,21v-45,28,-47,42,-88,16v-29,-19,-12,-20,-43,2v-8,5,-12,18,-23,15v-13,-3,-12,-20,-4,-23v4,-6,14,-15,31,-28", "w": 273 }, "\u00d6": { "d": "62,-184v78,-31,249,-50,238,74v-6,65,-102,105,-179,115v-77,-7,-152,-71,-101,-149v2,-5,24,-33,42,-40xm279,-120v14,-38,-47,-64,-85,-61v-20,-9,-41,7,-62,0v-11,7,-54,12,-66,24v0,20,-51,35,-38,66v-1,43,50,67,96,67v44,0,162,-55,155,-96xm197,-229v0,8,-4,13,-12,13v-17,0,-19,-19,-16,-34v18,-1,29,1,28,21xm101,-254v7,3,28,9,27,18v1,8,-8,17,-17,17v-18,0,-26,-24,-10,-35", "w": 273 }, "\u00d8": { "d": "76,-211v41,-13,100,-22,140,-3v26,-19,40,-29,44,-29v10,0,15,7,15,20v0,15,-23,23,-30,35v23,39,29,114,-21,139v-36,19,-102,35,-147,18v-14,-5,-29,29,-46,35v-25,-13,-19,-24,3,-56v-9,-17,-28,-27,-28,-60v0,-38,23,-72,70,-99xm107,-66v55,15,125,-12,123,-70v0,-16,-5,-25,-13,-29r-110,95r0,4xm39,-108v-1,3,17,31,22,27v8,-6,109,-90,123,-106v-15,-11,-43,1,-63,2v-33,10,-80,35,-82,77", "w": 270 }, "\u00d9": { "d": "281,-202v6,67,-30,121,-71,152v-3,14,-47,26,-60,39v-41,20,-110,1,-125,-26v-24,-44,-28,-84,-8,-127v12,-26,23,-38,37,-22v-2,2,-3,5,-3,10v-34,26,-30,116,5,134v22,32,86,-1,109,-8v38,-28,104,-64,97,-149v2,-10,7,-8,19,-3xm151,-243v14,10,54,14,37,41v-28,-7,-61,-22,-99,-42v-3,-2,-4,-25,4,-23v16,5,42,17,58,24", "w": 262 }, "\u00da": { "d": "281,-202v6,67,-30,121,-71,152v-3,14,-47,26,-60,39v-41,20,-110,1,-125,-26v-24,-44,-28,-84,-8,-127v12,-26,23,-38,37,-22v-2,2,-3,5,-3,10v-34,26,-30,116,5,134v22,32,86,-1,109,-8v38,-28,104,-64,97,-149v2,-10,7,-8,19,-3xm194,-265v3,-1,11,4,11,6v3,12,-81,52,-89,54v-14,0,-13,-9,-12,-22", "w": 262 }, "\u00db": { "d": "281,-202v6,67,-30,121,-71,152v-3,14,-47,26,-60,39v-41,20,-110,1,-125,-26v-24,-44,-28,-84,-8,-127v12,-26,23,-38,37,-22v-2,2,-3,5,-3,10v-34,26,-30,116,5,134v22,32,86,-1,109,-8v38,-28,104,-64,97,-149v2,-10,7,-8,19,-3xm150,-266v24,11,58,27,73,46v0,5,-3,6,-10,6v-28,2,-61,-30,-63,-25v-10,0,-57,40,-69,23v3,-10,-8,-15,8,-19v17,-1,34,-29,61,-31", "w": 262 }, "\u00dc": { "d": "281,-202v6,67,-30,121,-71,152v-3,14,-47,26,-60,39v-41,20,-110,1,-125,-26v-24,-44,-28,-84,-8,-127v12,-26,23,-38,37,-22v-2,2,-3,5,-3,10v-34,26,-29,116,5,134v22,32,86,-1,109,-8v38,-28,104,-64,97,-149v2,-10,7,-8,19,-3xm197,-227v0,8,-4,13,-12,13v-18,0,-21,-20,-16,-34v18,-1,28,2,28,21xm101,-252v7,3,27,10,27,18v0,8,-9,18,-18,17v-18,-1,-24,-25,-9,-35", "w": 262 }, "\u00df": { "d": "33,10v-29,4,-28,-32,-16,-70v18,-58,17,-137,56,-176v12,-24,46,-58,82,-43v20,8,47,24,47,54v0,30,-62,59,-67,90v33,23,56,33,63,63v-18,21,-22,36,-48,54v-24,17,-27,41,-53,16v-2,-19,7,-35,24,-42v15,-13,26,-22,34,-40v-13,-17,-78,-29,-56,-70v-3,-27,64,-54,66,-86v-8,-25,-41,-4,-52,8v-29,30,-47,83,-51,141v-17,25,-8,71,-29,101" }, "\u00e0": { "d": "118,-53v10,4,55,41,62,47v0,7,-5,16,-12,16r-57,-28v-20,3,-40,19,-61,18v-10,2,-43,-17,-42,-36v0,-14,7,-40,27,-41v39,-26,92,-36,104,9v0,6,-2,11,-9,15v-32,-24,-64,-6,-84,11v8,15,58,-17,72,-11xm99,-137v7,6,56,14,37,40v-28,-7,-62,-21,-100,-41v-2,-3,-2,-26,5,-23v16,4,42,17,58,24", "w": 173 }, "\u00e1": { "d": "118,-53v10,4,55,41,62,47v0,7,-5,16,-12,16r-57,-28v-20,3,-40,19,-61,18v-10,2,-43,-17,-42,-36v0,-14,7,-40,27,-41v39,-26,92,-36,104,9v0,6,-2,11,-9,15v-32,-24,-64,-6,-84,11v8,15,58,-17,72,-11xm32,-117v24,-3,85,-55,101,-32v3,11,-80,53,-89,53v-13,2,-14,-10,-12,-21", "w": 173 }, "\u00e2": { "d": "118,-53v10,4,55,41,62,47v0,7,-5,16,-12,16r-57,-28v-20,3,-40,19,-61,18v-10,2,-43,-17,-42,-36v0,-14,7,-40,27,-41v39,-26,92,-36,104,9v0,6,-2,11,-9,15v-32,-24,-64,-6,-84,11v8,15,58,-17,72,-11xm147,-97v-27,-6,-39,-26,-60,-37v-21,7,-38,46,-65,23v-2,-5,-3,-10,-4,-14v18,-4,43,-31,61,-42v28,5,40,21,62,36v12,8,18,17,18,25v0,6,-4,9,-12,9", "w": 173 }, "\u00e3": { "d": "118,-53v10,4,55,41,62,47v0,7,-5,16,-12,16r-57,-28v-20,3,-40,19,-61,18v-10,2,-43,-17,-42,-36v0,-14,7,-40,27,-41v39,-26,92,-36,104,9v0,6,-2,11,-9,15v-32,-24,-64,-6,-84,11v8,15,58,-17,72,-11xm114,-136v22,-8,41,-24,64,-26v3,11,-7,10,-7,21v-26,20,-45,30,-58,30v-3,3,-49,-26,-49,-28v-10,-1,-32,35,-51,31v-12,-32,8,-29,32,-51v24,-21,54,20,69,23", "w": 173 }, "\u00e4": { "d": "118,-53v10,4,55,41,62,47v0,7,-5,16,-12,16r-57,-28v-20,3,-40,19,-61,18v-32,5,-66,-64,-15,-77v39,-26,92,-36,104,9v0,6,-3,11,-9,15v-32,-24,-64,-6,-84,11v8,15,58,-17,72,-11xm142,-119v0,8,-4,13,-12,13v-18,0,-21,-20,-16,-34v18,-1,28,2,28,21xm46,-144v7,3,28,9,27,18v1,8,-9,18,-18,17v-18,-1,-25,-25,-9,-35", "w": 173 }, "\u00e5": { "d": "118,-53v10,4,55,41,62,47v0,7,-5,16,-12,16r-57,-28v-20,3,-40,19,-61,18v-10,2,-43,-17,-42,-36v0,-14,7,-40,27,-41v39,-26,92,-36,104,9v0,6,-2,11,-9,15v-32,-24,-64,-6,-84,11v8,15,58,-17,72,-11xm54,-101v-37,-20,-9,-71,34,-65v13,1,25,3,38,13v27,45,-34,73,-72,52xm61,-128v4,20,48,7,49,-5v0,-5,-9,-7,-28,-10v-12,-2,-21,11,-21,15", "w": 173 }, "\u00e6": { "d": "145,-44r33,7v2,42,-59,29,-85,16v-6,7,-35,24,-48,15v-19,2,-35,-21,-33,-37v2,-24,5,-19,28,-36v-6,-8,-45,3,-33,-21v21,-22,58,-12,85,-1v6,-5,35,-28,45,-15v20,-4,36,17,36,35v0,23,-4,21,-28,37xm111,-72v12,3,49,-16,19,-17v-5,0,-20,12,-19,17xm74,-50v-14,-4,-48,16,-19,17v4,1,19,-14,19,-17", "w": 184 }, "\u00e7": { "d": "108,-118v30,-6,56,21,25,33v-24,-6,-39,5,-75,23v-7,4,-12,12,-15,22v31,28,86,3,128,9v3,28,-29,16,-44,28v-53,15,-106,10,-120,-37v0,-48,62,-70,101,-78xm92,18v23,4,45,12,48,32v-2,6,-12,28,-25,28v-24,6,-50,10,-77,13v-16,-4,-11,-28,7,-29v17,-1,51,-4,63,-12v-14,-15,-57,10,-46,-32v9,-8,0,-25,21,-26v6,6,12,14,9,26", "w": 171 }, "\u00e8": { "d": "108,-124v42,-3,70,39,50,73v-22,-1,-70,12,-94,10v-1,1,-2,3,-2,3v0,3,12,7,35,14v18,0,64,7,30,21v-10,14,-31,6,-53,6v-26,-7,-70,-26,-70,-58v0,-54,48,-65,104,-69xm130,-78v-2,-35,-66,-13,-77,3v16,6,62,6,77,-3xm95,-166v7,6,54,14,37,40v-28,-7,-62,-21,-100,-41v-3,-3,-3,-26,5,-24v16,5,42,18,58,25", "w": 161 }, "\u00e9": { "d": "108,-124v42,-3,70,39,50,73v-22,-1,-70,12,-94,10v-1,1,-2,3,-2,3v0,3,12,7,35,14v18,0,64,7,30,21v-10,14,-31,6,-53,6v-26,-7,-70,-26,-70,-58v0,-54,48,-65,104,-69xm130,-78v-2,-35,-66,-13,-77,3v16,6,62,6,77,-3xm76,-169v26,-11,48,-32,59,-14v3,10,-80,53,-89,53v-14,1,-14,-10,-12,-21v15,-7,16,-7,42,-18", "w": 161 }, "\u00ea": { "d": "108,-124v42,-3,70,39,50,73v-22,-1,-70,12,-94,10v-1,1,-2,3,-2,3v0,3,12,7,35,14v18,0,64,7,30,21v-10,14,-31,6,-53,6v-26,-7,-70,-26,-70,-58v0,-54,48,-65,104,-69xm130,-78v-2,-35,-66,-13,-77,3v16,6,62,6,77,-3xm145,-129v-27,-6,-39,-26,-60,-37v-8,0,-10,4,-14,10v-11,15,-51,34,-56,0v17,-4,44,-32,61,-43v28,5,41,21,63,36v12,8,17,17,17,25v0,6,-3,9,-11,9", "w": 161 }, "\u00eb": { "d": "108,-124v42,-3,70,39,50,73v-22,-1,-70,12,-94,10r-3,3v0,3,12,7,36,14v18,0,64,7,30,21v-10,14,-31,6,-53,6v-26,-7,-67,-27,-71,-58v7,-52,48,-65,105,-69xm130,-78v-2,-35,-66,-13,-77,3v16,6,62,6,77,-3xm140,-144v0,8,-4,12,-12,12v-18,0,-19,-19,-16,-33v18,-1,29,1,28,21xm44,-169v7,3,28,9,28,17v0,9,-9,18,-18,18v-18,0,-25,-24,-10,-35", "w": 161 }, "\u00ec": { "d": "57,-98v22,5,13,50,11,95v-7,1,-11,2,-20,-4v1,-7,-12,-18,-10,-24v4,-22,-2,-64,19,-67xm70,-139v14,10,54,14,37,41v-28,-7,-61,-22,-99,-42v-3,-2,-3,-25,5,-23v15,5,41,17,57,24", "w": 109 }, "\u00ed": { "d": "59,-98v20,4,15,53,10,95v-6,1,-11,2,-19,-4v1,-7,-12,-18,-10,-24v4,-22,-4,-65,19,-67xm50,-139v27,-11,49,-32,59,-14v3,11,-80,53,-89,53v-14,1,-14,-12,-11,-22v15,-7,14,-6,41,-17", "w": 105 }, "\u00ee": { "d": "72,-98v20,5,12,51,10,95v-6,2,-13,1,-20,-4v1,-8,-12,-18,-10,-24v4,-22,-3,-65,20,-67xm134,-94v-26,-7,-39,-25,-60,-37v-7,0,-9,4,-13,10v-14,15,-51,34,-56,-1v18,-4,45,-33,61,-43v27,6,40,22,62,37v12,8,18,17,18,25v0,6,-4,9,-12,9", "w": 143 }, "\u00ef": { "d": "55,-97v19,5,15,53,10,95v-17,5,-26,-14,-30,-28v6,-20,-3,-65,20,-67xm110,-118v0,8,-4,13,-12,13v-17,0,-19,-19,-16,-34v18,-1,29,1,28,21xm14,-143v6,3,28,8,28,17v0,9,-9,18,-18,18v-18,0,-25,-24,-10,-35", "w": 107 }, "\u00f1": { "d": "115,-129v34,6,59,50,59,105v0,31,-15,24,-30,17v-15,-29,-5,-42,-20,-81v-35,-13,-68,52,-88,61v-20,-4,-38,-36,-19,-59v0,-12,3,-14,10,-28v11,-8,18,11,27,12xm117,-166v22,-7,41,-23,64,-26v3,11,-7,10,-7,21v-26,20,-45,30,-58,30v-3,3,-49,-26,-49,-28v-10,-1,-32,35,-51,31v-5,-12,-8,-16,0,-23v4,-6,28,-29,48,-33v17,-3,43,28,53,28", "w": 171 }, "\u00f2": { "d": "102,-132v50,-20,99,16,99,60v0,54,-60,64,-108,79v-50,-2,-110,-48,-76,-100v22,-17,49,-33,85,-39xm136,-104v-34,0,-91,27,-94,47v16,51,125,16,125,-22v0,-17,-10,-25,-31,-25xm115,-181v14,10,51,13,37,40v-28,-7,-62,-21,-100,-41v-3,-2,-3,-26,5,-23v16,5,42,17,58,24", "w": 191 }, "\u00f3": { "d": "102,-132v50,-20,99,16,99,60v0,54,-60,64,-108,79v-50,-2,-110,-48,-76,-100v22,-17,49,-33,85,-39xm136,-104v-34,0,-91,27,-94,47v16,51,125,16,125,-22v0,-17,-10,-25,-31,-25xm49,-154v24,-3,85,-55,101,-32v3,11,-80,53,-89,53v-14,0,-13,-8,-12,-21", "w": 191 }, "\u00f4": { "d": "102,-132v50,-20,99,16,99,60v0,54,-60,64,-108,79v-50,-2,-110,-48,-76,-100v22,-17,49,-33,85,-39xm136,-104v-34,0,-91,27,-94,47v16,51,125,16,125,-22v0,-17,-10,-25,-31,-25xm110,-177v-22,6,-38,45,-65,22v-2,-4,-3,-9,-4,-13v18,-4,43,-32,61,-43v27,6,40,21,62,36v12,9,18,17,18,25v1,11,-15,10,-23,7", "w": 191 }, "\u00f5": { "d": "102,-132v50,-20,99,16,99,60v0,54,-60,64,-108,79v-50,-2,-110,-48,-76,-100v22,-17,49,-33,85,-39xm136,-104v-34,0,-91,27,-94,47v16,51,125,16,125,-22v0,-17,-10,-25,-31,-25xm58,-199v26,-21,54,18,69,22v4,0,15,-5,34,-13v22,-9,21,-16,31,-13v3,11,-9,9,-7,22v-26,20,-46,30,-59,30v-2,4,-49,-28,-49,-29v-11,0,-32,31,-46,32v-12,-3,-13,-21,-4,-23v4,-6,14,-15,31,-28", "w": 191 }, "\u00f6": { "d": "102,-132v50,-20,99,16,99,60v0,54,-60,64,-108,79v-50,-2,-110,-48,-76,-100v22,-17,49,-33,85,-39xm136,-104v-34,0,-91,27,-94,47v16,51,125,16,125,-22v0,-17,-10,-25,-31,-25xm161,-160v0,8,-4,13,-12,13v-17,0,-19,-19,-16,-34v18,-1,29,1,28,21xm65,-185v7,3,28,9,28,18v0,7,-9,18,-18,17v-18,1,-25,-24,-10,-35", "w": 191 }, "\u00f7": { "d": "167,-158v-4,3,-7,9,-10,20v-23,4,-34,-8,-29,-31v14,-6,18,1,39,11xm78,-72v-53,11,-53,12,-69,-15v-1,-12,11,-17,22,-14v71,-13,151,-18,230,-24v11,1,21,16,23,28v-28,20,-90,11,-126,16v-36,5,-62,5,-80,9xm123,-40v19,-17,41,-1,41,17v0,13,-6,19,-17,19v-15,0,-29,-14,-24,-36", "w": 293 }, "\u00f8": { "d": "76,-136v17,7,33,-8,51,0v9,-6,21,-13,36,-21v23,22,-13,31,3,50v11,13,4,21,14,35v-4,5,-1,14,-4,23v-14,23,-45,41,-84,39v-12,2,-29,28,-41,38v-2,-11,-34,-10,-15,-30v3,-7,5,-11,5,-11v-15,-24,-60,-54,-22,-89v23,-21,25,-32,57,-34xm102,-54v18,1,50,-19,30,-32v-12,7,-22,18,-30,32xm85,-92v-14,3,-26,8,-38,17v2,20,17,13,26,0v6,-8,12,-13,12,-17", "w": 188 }, "\u00f9": { "d": "196,-129v-1,-4,12,-13,15,-13v6,0,8,7,8,21v0,24,-7,25,-13,45v-7,7,-14,21,-24,29v-9,24,-61,45,-89,45v-63,0,-105,-72,-67,-126v24,-3,19,27,18,46v-1,26,23,42,54,40v38,-3,88,-51,98,-87xm126,-166v7,6,56,14,37,40v-28,-7,-62,-22,-100,-42v-2,-3,-2,-26,5,-23v16,4,42,18,58,25", "w": 213 }, "\u00fa": { "d": "196,-129v-1,-4,12,-13,15,-13v6,0,8,7,8,21v0,24,-7,25,-13,45v-7,7,-14,21,-24,29v-9,24,-61,45,-89,45v-63,0,-105,-72,-67,-126v24,-3,19,27,18,46v-1,26,23,42,54,40v38,-3,88,-51,98,-87xm106,-174v26,-11,48,-32,59,-14v3,11,-81,53,-89,54v-13,1,-15,-12,-11,-22v15,-7,14,-7,41,-18", "w": 213 }, "\u00fb": { "d": "196,-129v-1,-4,12,-13,15,-13v6,0,8,7,8,21v0,24,-7,25,-13,45v-7,7,-14,21,-24,29v-9,24,-61,45,-89,45v-63,0,-105,-72,-67,-126v24,-3,19,27,18,46v-1,26,23,42,54,40v38,-3,88,-51,98,-87xm172,-143v-27,-6,-39,-26,-60,-37v-8,0,-10,4,-14,10v-11,15,-49,35,-56,0v17,-4,44,-32,61,-43v27,6,41,21,63,36v12,9,17,17,17,25v0,6,-3,9,-11,9", "w": 213 }, "\u00fc": { "d": "196,-129v-1,-4,12,-13,15,-13v6,0,8,7,8,21v0,24,-7,25,-13,45v-7,7,-14,21,-24,29v-9,24,-61,45,-89,45v-63,0,-105,-72,-67,-126v24,-3,19,27,18,46v-1,26,23,42,54,40v38,-3,88,-51,98,-87xm168,-161v0,8,-3,13,-11,13v-17,0,-20,-19,-17,-34v18,-1,29,1,28,21xm72,-186v7,3,29,9,28,18v0,7,-9,18,-18,17v-18,1,-25,-24,-10,-35", "w": 213 }, "\u00ff": { "d": "118,85v-11,11,-11,38,-22,61v-2,-1,-2,31,-17,27v-11,0,-21,-10,-21,-22v20,-66,23,-61,64,-168v-22,1,-38,16,-58,4v-22,4,-51,-16,-51,-42v-11,-13,-7,-59,7,-58v16,1,21,24,22,51v21,33,66,5,94,-7v4,-3,26,-14,38,-29r17,0v23,44,-23,59,-34,102v-6,9,-13,9,-13,26v-15,6,-12,33,-27,48v0,2,1,4,1,7xm158,-136v0,8,-4,13,-12,13v-18,0,-21,-20,-16,-34v18,-1,29,1,28,21xm62,-161v7,3,28,9,27,18v1,8,-8,17,-17,17v-18,0,-26,-24,-10,-35", "w": 190 }, "\u0131": { "d": "43,-103v21,4,16,56,11,100v-7,2,-11,1,-20,-5v0,-7,-13,-18,-11,-25v4,-23,-3,-68,20,-70", "w": 80 }, "\u0152": { "d": "247,-243v71,4,161,-7,245,-8v17,0,27,6,27,17v-8,27,-70,14,-104,23v-3,1,-52,0,-65,7r0,4v16,16,17,29,17,65v32,10,74,-14,99,16v-14,25,-76,17,-127,24v-17,18,-55,32,-75,51v85,0,128,-3,204,-11v15,-2,21,11,20,29v-78,24,-177,12,-270,24v-24,3,-24,-29,-48,-15v-46,7,-70,4,-105,-4v-19,-18,-42,-22,-52,-55v-10,-34,0,-47,12,-78v-18,-59,48,-78,105,-84v17,-18,103,-13,117,-5xm125,-45v76,-9,186,-43,209,-105v-26,-67,-137,-83,-217,-54v3,34,-45,25,-60,58v-41,48,5,108,68,101", "w": 492 }, "\u0153": { "d": "185,-54v25,28,107,-17,104,33v-12,12,-60,14,-87,14v0,0,1,1,2,1v-11,1,-39,-9,-50,-17v-28,17,-75,32,-114,7v-22,-14,-34,-11,-34,-41v0,-36,33,-49,48,-75v29,-16,72,-3,95,11v12,-9,48,-27,59,-26v30,0,64,15,65,40v0,7,-6,20,-20,37v-29,1,-44,11,-68,16xm226,-106v-21,-7,-41,-2,-48,13v14,1,42,-7,48,-13xm132,-87v-21,-35,-94,11,-92,24v-2,14,43,21,61,21v25,0,36,-20,31,-45", "w": 295 }, "\u0178": { "d": "176,-189v35,20,-25,54,-39,72v-26,34,-57,57,-74,104v-10,15,-4,14,-23,3r0,-10v19,-44,27,-46,50,-81v-9,-5,-24,4,-34,4v-38,0,-54,-50,-44,-87v21,-5,18,19,22,35v4,18,15,27,29,27v41,0,60,-39,113,-67xm153,-222v0,8,-3,12,-11,12v-18,0,-21,-19,-16,-33v18,-1,28,2,27,21xm57,-247v8,2,29,9,28,17v0,21,-37,24,-36,1v0,-7,2,-13,8,-18", "w": 135 }, "\u0192": { "d": "115,-262v-23,6,-39,63,-38,96v1,3,57,2,54,16v1,22,-45,15,-51,30v3,34,12,68,10,103v14,17,-18,53,-28,63v-48,8,-89,5,-95,-37v20,-5,77,21,83,-18v17,-29,-4,-61,0,-98v0,-5,-3,-10,-7,-17v-33,4,-43,-17,-25,-37v10,-4,27,5,27,-10v0,-43,15,-77,32,-109v12,-7,16,-22,38,-20v11,1,51,35,25,55v-9,1,-16,-17,-25,-17", "w": 145 }, "\u02c6": { "d": "144,-220v-29,0,-41,-27,-63,-39v-8,0,-11,5,-15,11v-17,12,-32,31,-54,13v-2,-5,-3,-9,-4,-14v20,-5,45,-33,64,-45v28,6,43,23,65,38v12,9,19,19,19,27v0,6,-4,9,-12,9", "w": 165 }, "\u02c7": { "d": "39,-286v33,46,63,-4,96,-16v6,0,9,6,9,19v0,24,-49,46,-77,46v-32,0,-52,-28,-59,-48v0,-25,23,-17,31,-1", "w": 153 }, "\u02d8": { "d": "65,-269v20,-11,45,-31,74,-36v20,30,-42,40,-59,66v-5,6,-11,8,-18,8v-8,-3,-45,-32,-51,-54v5,-24,14,-13,34,1", "w": 158 }, "\u02d9": { "d": "23,-302v15,-13,32,1,32,18v1,22,-36,29,-39,4v0,0,3,-7,7,-22", "w": 70 }, "\u02da": { "d": "23,-225v-43,-24,-11,-85,41,-78v16,2,31,4,46,17v32,54,-41,86,-87,61xm33,-257v2,20,57,11,57,-6v0,-6,-11,-9,-33,-12v-14,-2,-24,13,-24,18", "w": 123 }, "\u02db": { "d": "82,-5v-8,12,-16,55,-21,75v0,4,2,7,7,7v6,0,22,-7,50,-20v8,0,12,7,12,20v-2,22,-6,14,-27,30v-15,12,-26,16,-30,16v-47,-8,-59,-14,-56,-75v8,-27,12,-54,25,-77v19,-21,35,15,40,24", "w": 138 }, "\u02dc": { "d": "47,-300v26,-21,57,19,72,23v4,0,16,-5,36,-14v24,-10,22,-16,32,-13v3,12,-7,11,-7,23v-27,21,-48,32,-62,32v-3,2,-52,-27,-51,-31v-12,-2,-34,40,-54,33v-4,-13,-8,-18,1,-24v5,-7,16,-15,33,-29", "w": 186 }, "\u02dd": { "d": "91,-249v15,-11,38,-53,57,-29v0,9,0,14,-3,23v-2,3,-20,22,-54,55v-5,5,-10,8,-16,8v-17,2,-6,-22,-7,-31v-1,0,-2,0,-4,1v-17,21,-29,31,-50,27v-5,-18,-3,-15,3,-27v23,-27,40,-46,48,-59v7,-12,31,3,29,9v-1,14,-3,24,-13,31v4,4,9,-1,10,-8", "w": 151 }, "\u2013": { "d": "6,-66v-8,-72,79,-21,146,-39v37,-10,79,7,111,0v9,8,14,13,14,17v2,26,-72,13,-99,21v-83,4,-124,21,-172,1", "w": 282 }, "\u2014": { "d": "175,-106v86,-9,201,1,286,-1v11,6,13,11,6,30v-118,15,-246,10,-377,10v-25,0,-73,3,-82,-8r-2,-26v11,-13,32,-9,52,-7v38,3,84,-5,117,2", "w": 485 }, "\u2018": { "d": "73,-262v-10,7,-41,39,-38,69v-15,13,-27,-16,-28,-28v-2,-20,51,-83,66,-83v20,0,25,41,0,42", "w": 95 }, "\u2019": { "d": "74,-300v13,31,-1,99,-44,101v-13,0,-19,-5,-19,-15v6,-10,31,-34,35,-59v2,-11,1,-32,11,-32v6,0,11,2,17,5", "w": 90 }, "\u201a": { "d": "25,63v-26,21,-48,-2,-22,-24v14,-12,35,-40,35,-69v3,-2,3,-11,12,-9v35,17,5,88,-25,102", "w": 97 }, "\u201c": { "d": "66,-261v-21,5,-37,51,-22,77v0,4,-2,6,-7,6v-31,-9,-38,-62,-12,-94v12,-15,21,-28,31,-34v16,-1,19,24,22,34v10,-11,22,-32,43,-23v-2,8,4,16,5,19v-6,11,-51,53,-29,74v-12,21,-30,5,-33,-17v-6,-13,9,-28,2,-42", "w": 118 }, "\u201d": { "d": "120,-294v12,3,30,26,19,34v2,15,-40,70,-55,66v-40,-10,10,-51,14,-64v3,-3,8,-31,22,-36xm70,-306v14,3,26,34,16,49v-19,30,-31,45,-58,59v-12,-11,-33,-17,-7,-36v13,-19,36,-27,36,-59v0,-5,9,-13,13,-13", "w": 148 }, "\u201e": { "d": "25,63v-26,21,-48,-2,-22,-24v11,-9,36,-41,35,-69v3,-2,4,-12,12,-9v36,14,5,89,-25,102xm84,64v-24,20,-45,-1,-21,-24v21,-20,32,-35,35,-69v3,-2,3,-11,12,-9v36,17,9,86,-26,102", "w": 135 }, "\u2020": { "d": "22,-286v15,6,5,-20,19,-19v9,-3,15,21,17,22v6,1,12,3,20,6v3,10,5,16,-9,16v-34,-10,-6,51,-34,52v-20,-7,11,-47,-15,-49v-14,3,-25,-5,-17,-24v7,-2,14,-4,19,-4", "w": 77 }, "\u2021": { "d": "102,-284v16,2,42,-2,33,18v-7,15,-42,1,-38,30v3,3,31,1,30,11v4,15,-29,19,-36,24v-2,18,-4,24,-16,29r-25,-26v-25,7,-53,3,-42,-25v4,-10,70,0,51,-22v-17,4,-41,12,-39,-15v-5,-16,39,-18,44,-20v4,-2,7,-10,10,-24v19,-3,23,6,28,20", "w": 145 }, "\u2022": { "d": "130,-114v0,47,-124,54,-120,-8r6,-31v44,-28,64,-34,104,0v8,6,10,20,10,39", "w": 139 }, "\u2026": { "d": "244,-24v-1,21,-38,32,-41,3v-2,-19,23,-22,34,-17v0,7,0,15,7,14xm113,-24v0,-22,28,-21,38,-8v5,34,-39,40,-38,8xm35,-2v-10,-2,-36,-17,-18,-29v-1,-15,17,-17,31,-6v7,17,6,33,-13,35", "w": 258 }, "\u2030": { "d": "398,-131v58,-1,87,13,72,65v-1,30,-66,63,-99,65v-56,3,-99,-58,-62,-102v2,2,5,2,8,2v20,-16,51,-17,81,-30xm202,-279v33,0,94,-24,95,18v-7,31,-33,27,-54,55v-36,32,-71,74,-112,99v-18,18,-40,34,-51,58v-19,14,-25,37,-56,40v-17,2,-25,-29,-10,-40v15,-11,40,-37,52,-52r87,-72v-51,13,-100,6,-116,-27v1,-5,-6,-30,-9,-36v-3,-5,22,-41,27,-39v29,2,16,34,5,49v0,15,14,23,42,23v42,0,59,-31,28,-38v-17,-4,-53,3,-50,-23v0,-7,1,-12,4,-16v16,-9,36,4,49,5v0,0,23,-4,69,-4xm222,-118v33,-2,55,18,50,57v-29,36,-48,45,-96,50v-27,-5,-56,-17,-58,-51v13,-37,64,-43,104,-56xm335,-61v13,44,101,7,108,-31v-11,-3,-20,-4,-30,-4v-18,-1,-82,18,-78,35xm225,-244v-18,0,-29,-1,-46,3v7,15,6,28,0,43v15,-14,34,-30,46,-46xm164,-53v26,5,59,-10,76,-26v-17,-16,-49,2,-67,14v1,8,-8,6,-9,12", "w": 485 }, "\u2039": { "d": "64,-107v9,17,86,17,87,43v0,11,-4,16,-13,16v-36,-11,-70,-22,-109,-31v-19,-4,-18,-14,-9,-36v59,-56,93,-84,101,-84v17,0,19,20,13,29", "w": 159 }, "\u203a": { "d": "41,-181v26,27,112,44,70,91r-82,60v-20,3,-25,-23,-13,-32r70,-51r-66,-46v-5,-6,-4,-28,5,-29v4,2,9,4,16,7", "w": 137 }, "\u2044": { "d": "193,-305v7,6,17,31,3,41v-10,7,-12,13,-21,25v-79,56,-190,209,-197,260r-18,0v-23,-19,9,-70,15,-85v52,-83,121,-179,218,-241", "w": 120 }, "\u2122": { "d": "213,-307v28,9,11,49,7,75v-1,4,-4,6,-11,6v-7,1,-11,-14,-11,-34v-14,-6,-34,34,-46,28v-2,0,-10,-9,-24,-27v-10,7,-3,36,-27,31v-15,-24,-3,-27,1,-48v-6,-7,-27,-1,-31,3v-3,14,-7,30,-11,51v-5,10,-29,9,-24,-12v-5,-8,1,-18,3,-35v-13,6,-33,2,-29,-18v20,-17,64,-17,100,-19v28,-1,29,30,45,39v11,-6,35,-32,58,-40", "w": 239 }, "\u2206": { "d": "18,-1v-24,-30,8,-48,25,-71v14,-19,34,-28,40,-56v20,-35,29,-14,57,4v9,39,43,62,57,102v0,16,-34,17,-50,14v-28,2,-72,4,-129,7xm139,-47r-22,-52v-12,-5,-12,15,-24,27v-7,6,-14,16,-23,28v23,1,36,-1,69,-3", "w": 199 }, "\u2219": { "d": "57,-77v6,18,-7,21,-19,23v-34,6,-25,-40,-9,-43v18,-3,29,8,28,20", "w": 67 }, "\u221a": { "d": "364,-218v43,-21,80,-51,104,-32v-3,19,-24,21,-44,40v-41,15,-78,53,-136,78r-137,98v-20,16,-79,66,-91,68v-3,1,-25,-11,-24,-13v-4,-28,-43,-61,-30,-85v26,-15,42,19,58,32r295,-188v0,1,2,2,5,2", "w": 474 }, "\u221e": { "d": "322,-72v-4,22,-54,41,-76,41v-43,0,-83,-17,-114,-35v-46,19,-125,53,-128,-18v-1,-14,10,-22,13,-35v29,-10,62,-31,97,-4v37,28,47,5,75,-8v40,-19,73,-10,114,1v13,1,18,55,19,58xm228,-69v15,0,62,-12,61,-25v-19,-23,-89,-10,-105,11v0,2,1,4,2,4v28,6,42,10,42,10xm75,-102v-13,2,-41,4,-44,19v0,4,3,7,10,7v21,0,40,-6,54,-17v-9,-6,-16,-9,-20,-9", "w": 330 }, "\u222b": { "d": "62,-151v-7,-70,20,-130,63,-150v28,1,39,10,70,23v20,8,6,33,-6,35v-29,-13,-45,-20,-49,-20v-20,-4,-45,51,-43,70v8,60,5,129,5,189v0,62,-27,93,-79,93v-37,-1,-71,-14,-63,-57v21,0,79,34,91,-2v16,-3,14,-64,21,-85v-2,-31,-1,-74,-10,-96", "w": 156 }, "\u2248": { "d": "133,-112v21,15,48,-30,78,-17v3,3,5,7,5,9v-8,30,-47,45,-76,45v-19,0,-64,-48,-90,-21r-29,20v-6,-1,-17,-16,-15,-32v24,-17,70,-42,107,-21v4,4,10,9,20,17xm138,-57v28,2,48,-25,76,-26v13,30,-21,42,-40,53v-41,24,-77,-15,-114,-23v-15,14,-46,32,-49,-1v-3,-9,27,-28,54,-30", "w": 223 }, "\u2260": { "d": "48,-130v29,11,49,-57,60,-50v25,6,7,27,-1,46v22,5,29,7,21,22v-18,2,-48,-1,-50,15v9,8,53,-7,54,10v-4,22,-46,20,-72,24v-7,13,-18,32,-34,57v-8,6,-15,-3,-13,-14v-1,-9,15,-39,14,-45v-30,5,-24,-17,-13,-25v12,-1,36,4,29,-13v-14,0,-47,6,-36,-12v0,-18,27,-13,41,-15", "w": 140 }, "\u2264": { "d": "73,-109v10,15,87,16,87,42v0,11,-5,16,-13,16v-36,-11,-69,-24,-109,-31v-18,-8,-18,-13,-9,-36v59,-56,93,-83,101,-83v16,0,18,17,14,28v-27,24,-42,35,-71,64xm10,-29v35,-12,117,-26,148,-3v1,2,-5,19,-8,18r-124,15v-16,2,-26,-18,-16,-30", "w": 168 }, "\u2265": { "d": "115,-174v20,7,53,36,20,57v-19,11,-91,68,-82,59v-18,3,-25,-22,-13,-31v15,-10,14,-10,70,-51r-50,-37v-5,-4,-5,-27,4,-28v16,7,40,17,51,31xm14,-32v33,-10,86,-14,127,-10v12,12,5,23,-11,27v-49,9,-82,13,-99,13v-22,0,-24,-16,-17,-30", "w": 163 }, "\u25ca": { "d": "76,-158v48,-8,64,11,100,36v28,19,-5,39,-22,54v-15,13,-40,32,-48,49v-17,5,-12,0,-27,-16v-6,-6,-86,-31,-68,-53r2,-9v27,-23,48,-44,63,-61xm93,-65v12,-2,35,-31,41,-38v-5,-10,-16,-14,-34,-24v-12,12,-36,29,-40,44v19,11,30,18,33,18", "w": 199 } } }); } ================================================ FILE: fonts/daniel/daniel_black_900.font.js ================================================ /*! * The following copyright notice may not be removed under any circumstances. * * Copyright: * Copyright (c) 2011 by Daniel Midgley. All rights reserved. * * Trademark: * Please refer to the Copyright section for the font trademark attribution * notices. * * Full name: * Daniel-Bold * * Description: * Daniel Bold is a font by Daniel Midgley. * * Designer: * Daniel Midgley * * Vendor URL: * http://goodreasonblog.blogspot.com/p/fontery.html * * License information: * http://creativecommons.org/licenses/by-nd/3.0/ */ if (typeof Raphael != 'undefined') { Raphael.registerFont({ "w": 235, "face": { "font-family": "Daniel Black", "font-weight": 900, "font-stretch": "normal", "units-per-em": "360", "panose-1": "2 11 10 0 0 0 0 0 0 0", "ascent": "288", "descent": "-72", "bbox": "-66.1107 -333.777 693.812 191.58", "underline-thickness": "3.51562", "underline-position": "-21.6211", "unicode-range": "U+0009-U+F002" }, "glyphs": { " ": { "w": 189 }, "\t": { "w": 189 }, "!": { "d": "71,-328v13,2,21,18,22,33r-32,166v6,9,-7,40,-12,30v-7,3,-6,-7,-11,0v-1,-10,-12,-6,-8,-20v-2,-2,-3,-6,-4,0v1,-74,12,-138,28,-197v2,1,14,-13,17,-12xm43,10v-9,4,-15,-5,-14,-17v-15,-1,3,-20,-2,-26v12,-10,10,-13,26,-7v12,10,22,37,7,53v1,5,-3,6,-7,3v-1,-9,-7,6,-10,-6", "w": 115 }, "\"": { "d": "19,-294v18,-28,39,6,43,27v-2,27,4,62,-7,80v-14,0,-13,3,-30,-2v-12,-20,-15,-75,-6,-105xm88,-302v40,-7,39,56,35,103v-8,18,-17,17,-35,10v-13,-21,-19,-91,0,-113", "w": 140 }, "#": { "d": "112,-122v-29,3,-71,3,-55,-36v9,-23,48,-26,78,-27v18,-33,31,-73,52,-109v1,-3,6,-9,14,-10v8,-2,17,18,16,26v-5,37,-18,51,-31,89v15,8,46,1,67,3v27,-52,35,-76,74,-128v8,-9,36,-23,37,1v4,11,5,8,3,23v-24,37,-43,62,-58,105v15,7,36,6,49,18v-2,10,12,24,-8,29v-9,13,-46,11,-60,9v-3,12,-8,21,-10,34v15,3,32,5,48,10v0,10,0,17,2,20v-8,6,-10,9,-25,13v0,1,2,2,5,3r-41,11v0,1,0,1,1,1v-6,-1,-7,10,-5,16v-8,16,-18,27,-39,28v-12,-7,-7,-28,-13,-37v-27,6,-64,4,-88,13v-4,12,-13,58,-31,40v-3,11,-10,5,-16,-2v-3,-13,0,-23,0,-36v-19,-7,-70,1,-67,-26v-19,-23,14,-56,51,-44v7,8,20,7,33,7v5,-15,14,-27,17,-44xm236,-131v-20,-2,-50,4,-71,5r-16,44v27,0,47,-6,74,-6", "w": 364 }, "$": { "d": "203,-325v22,18,26,46,8,72v23,4,48,29,30,55v-22,7,-43,-13,-57,5v-7,15,-11,23,-11,24v23,28,64,58,57,108v-6,46,-49,64,-94,66v-46,2,-8,86,-54,97v-7,-10,-18,-11,-17,-33v2,-20,8,-41,7,-60v-21,-3,-64,-2,-80,-26v-4,-24,8,-43,34,-33v0,0,-2,3,0,3v19,-3,38,2,59,1r28,-103v-27,-20,-27,-20,-65,-52v8,-8,0,-25,12,-36v28,-7,59,-9,94,-13v18,-14,20,-66,49,-75xm190,-74v-2,-13,-18,-40,-36,-40v-3,20,-20,42,-16,61v22,-5,40,-12,52,-21", "w": 244 }, "%": { "d": "14,-292v22,-27,100,-49,138,-21v0,0,-1,1,-1,2r34,21v46,-6,106,-15,106,42v-6,26,-20,35,-33,54v-2,3,-9,0,-6,7v-8,11,-25,20,-28,33v-10,6,-15,10,-23,18v2,2,3,2,3,2v-15,1,-4,15,-18,20v-7,7,-11,20,-25,19v1,7,-12,8,-5,13v-8,-2,-10,4,-9,12v11,-5,28,-8,30,-20v16,-19,22,-30,47,-41v65,-29,168,-20,154,70v-6,5,-12,25,-25,26v-15,21,-46,36,-74,40v-51,9,-89,-2,-105,-48v-6,-1,-2,-15,-6,-18r-45,32v1,0,2,1,3,1v-4,1,-7,1,-8,1v-16,18,-50,43,-74,33v-8,2,-7,2,-15,-3v-4,-41,22,-58,44,-78v49,-44,132,-118,166,-175v-14,-8,-33,-2,-50,-1v-5,22,-24,31,-35,47v-20,4,-29,23,-49,24v-1,3,-4,5,-10,6v1,-8,-6,-2,-21,-2v-28,0,-69,-12,-72,-34v7,-2,-4,-12,-3,-17v4,-22,15,-43,15,-65xm135,-286v-15,-11,-45,-7,-62,1v17,7,42,1,62,-1xm303,-105v-33,4,-68,13,-91,38v10,38,79,37,104,8v6,-1,18,-12,18,-19v-2,-5,-15,-9,-8,-13v3,0,5,4,10,2v-9,-3,-20,-17,-33,-16xm151,-251v-13,5,-29,-1,-39,6v-12,-6,-30,4,-47,-1r1,3v-18,1,-27,-2,-23,15v30,35,93,2,108,-23xm169,-62r0,-4v0,1,-2,4,0,4", "w": 386 }, "&": { "d": "226,-62v8,13,10,45,-18,36v-5,6,-13,-2,-20,-3v-40,24,-89,57,-152,36v-16,-16,-30,-42,-21,-69v26,-36,45,-47,68,-73v-48,-76,-3,-120,43,-150v27,-18,86,-41,104,3v26,63,-39,125,-75,165v5,8,9,17,21,20v22,-15,33,-38,63,-46v2,2,3,10,9,7v-1,8,9,9,3,17v8,17,-17,41,-25,57xm184,-254v-17,0,-94,46,-67,89r4,0v25,-25,48,-53,63,-89xm140,-72v0,-6,-15,-13,-19,-15v-13,10,-35,26,-44,43v27,-5,43,-13,63,-28", "w": 261 }, "'": { "d": "27,-320v41,-7,39,56,35,103v-8,19,-16,17,-35,10v-17,-25,-17,-88,0,-113", "w": 76 }, "(": { "d": "53,-219v29,-33,53,-90,108,-106v11,-3,23,14,23,28v0,37,-52,43,-69,71v-26,43,-62,77,-66,143v-3,44,54,70,106,90v-3,5,18,12,9,21v-8,56,-89,11,-111,-4v1,-12,-10,1,-8,-10v-26,-14,-38,-52,-40,-89v-2,-37,20,-101,47,-138v1,-3,1,-6,1,-6", "w": 176 }, ")": { "d": "48,-285v-2,-40,43,-61,56,-21v55,57,105,200,35,281v-39,46,-78,60,-128,89v-30,-12,-17,-32,-3,-60v34,-38,130,-60,115,-146v-11,-62,-41,-104,-75,-143", "w": 187 }, "*": { "d": "79,-324v20,-13,20,4,29,19v16,-5,36,-36,50,-14v-1,10,5,12,3,22r-40,35v22,15,47,34,31,71v-19,3,-35,-17,-53,-22v-6,12,-8,40,-17,36v-9,2,-16,-17,-16,-32r-35,40v-34,-16,4,-52,9,-75v-9,-10,-26,-30,-25,-35v6,0,4,-31,18,-26v12,5,21,12,34,15", "w": 172 }, "+": { "d": "144,-105v-38,1,-20,58,-27,89v-11,7,-9,1,-32,-7v-1,-4,-10,-13,-12,-2r-11,-9v-3,-27,6,-51,2,-73v-10,0,-23,7,-29,0v-3,4,-5,3,-11,3v-4,-10,-1,-9,-9,-11r-12,-21v2,-37,40,-21,71,-25v11,-17,-3,-82,32,-72v25,7,31,37,30,69v23,-2,39,4,56,8v10,13,31,35,2,41v-20,4,-34,0,-50,10", "w": 219 }, ",": { "d": "25,60v-36,-24,48,-78,40,-110v18,-23,47,16,45,32v-6,48,-43,74,-74,90v-5,-2,-11,-5,-11,-12", "w": 118 }, "-": { "d": "53,-65v-36,9,-54,-41,-29,-58r96,3r83,-7v20,7,31,19,37,42v-28,30,-121,9,-173,22v-3,-2,-11,-2,-6,1v-4,2,-6,0,-8,-3xm81,-63v-1,1,-1,1,-2,1", "w": 246 }, ".": { "d": "35,-55v18,8,34,17,36,40v-2,10,-11,10,-24,15v3,-1,3,1,3,4v-19,-1,-52,-49,-15,-59", "w": 79 }, "\/": { "d": "2,83v18,-79,39,-94,84,-176v36,-67,82,-128,114,-211v3,-6,9,-15,20,-28v30,1,37,34,26,52v6,11,-9,13,-7,24v-4,-2,-4,3,-9,11v2,3,1,0,-1,8v-12,2,-5,20,-15,20v-7,16,-23,35,-27,53v-13,11,-9,28,-24,40v3,12,-9,10,-8,22v-7,5,-9,8,-9,16v-8,15,-16,17,-16,30v-17,10,-11,32,-26,41v-6,31,-33,47,-35,78v-6,15,-3,26,-22,37v1,0,3,1,6,2v-2,-1,-15,17,-25,10v-2,5,-12,11,-11,-2v-3,-6,-19,-4,-9,-15v0,-3,-2,-7,-6,-12", "w": 263 }, "0": { "d": "50,-38v-79,-90,-32,-266,84,-289v35,-7,78,-2,112,-1v8,7,24,5,34,10r-2,2v7,5,18,2,23,9v-4,-1,-3,-2,-5,0v9,5,18,17,27,18r-18,-15v58,21,72,127,38,192v-15,28,-31,52,-61,85v-8,2,-9,15,-20,15v-48,30,-97,56,-161,25v-24,-12,-38,-27,-51,-51xm333,-277v0,-1,-1,-1,-2,-2v0,1,1,1,2,2xm144,-32v104,17,188,-63,188,-154v0,-85,-92,-114,-180,-93v1,-2,-1,-3,-3,-3v-27,7,-43,25,-62,40v1,6,-12,10,-17,5v-16,22,-31,56,-21,90v18,58,39,90,95,115", "w": 378 }, "1": { "d": "15,-19v-3,-39,15,-68,12,-98v17,-51,11,-116,16,-178v0,-12,8,-17,16,-18v48,17,19,97,24,146v-6,59,-12,118,-26,169v-8,-2,-12,-1,-16,5v-17,-1,-16,-16,-26,-19v1,-1,0,-2,0,-3v2,2,4,2,5,0v-1,-2,-2,-3,-5,-4", "w": 101 }, "2": { "d": "236,-275v-1,101,-65,156,-121,217v66,2,160,-39,220,0r1,23v-63,24,-156,13,-221,37v-43,3,-108,24,-103,-36v40,-50,89,-73,126,-126v31,-44,43,-57,46,-105v3,-39,-46,-9,-62,-12r-77,45v-20,4,-26,-15,-24,-36v41,-26,80,-64,144,-64v34,0,71,26,71,57", "w": 342 }, "3": { "d": "27,-2v-16,-1,-17,-40,0,-43r83,1v58,-3,110,-4,148,-32v-31,-53,-117,-75,-188,-81v-11,-12,-15,-24,-12,-41v6,-3,10,-11,17,-9v35,-4,90,-27,99,-63v-43,-29,-98,2,-134,23v-14,2,-24,-4,-22,-16v-7,-3,-6,-11,-15,-10v0,-5,2,-4,-2,-8v37,-19,71,-46,131,-49v56,-3,126,43,85,99v-12,16,-31,26,-42,43v62,26,125,61,146,126v-2,11,-8,18,-13,28v-71,39,-165,42,-269,41v-9,-3,-7,-3,-12,-9", "w": 330 }, "4": { "d": "297,-319v3,12,24,31,4,46v-13,29,-23,76,-33,108v23,4,48,0,56,30v-2,10,-8,18,-18,22v-16,1,-37,-4,-50,1v-10,22,-21,73,-16,115v-4,1,-4,3,-4,7v-16,7,-31,10,-42,-7v1,0,4,-5,-2,-4v-18,-29,2,-78,4,-111v-42,5,-90,4,-129,12v-7,-4,-22,7,-29,-2v-13,4,-22,-20,-33,-25v4,-42,34,-65,44,-102r50,-99v20,-5,16,4,32,20v8,37,-45,111,-60,156v50,-1,96,-5,142,-11v14,-38,28,-123,70,-159xm55,-102v-6,0,-5,1,-1,2", "w": 345 }, "5": { "d": "140,-325v53,9,116,-17,137,11v1,11,17,20,-5,36v-38,0,-79,10,-113,1v-15,4,-36,1,-59,0v-15,18,-14,18,-25,40v3,3,7,6,10,6v89,18,141,24,182,77v77,99,-80,139,-182,156v-14,2,-52,21,-57,6v-13,1,-5,-11,-16,-11v2,-6,7,-9,7,-17v50,-51,143,-34,198,-79v27,-12,12,-38,-9,-41v-1,-8,-10,-10,-17,-11v-11,-12,-35,-12,-51,-17r1,-1v-38,-10,-78,-11,-112,-27v-3,-10,-16,-20,-16,-35v-1,-19,11,-21,17,-42v13,-24,18,-53,49,-59", "w": 319 }, "6": { "d": "78,-181v-4,12,-20,37,-25,58v1,3,4,2,1,6v5,-6,12,-11,14,-22v10,-9,22,-14,35,-22v-4,-4,1,-4,4,-5r47,-13v-2,3,0,5,4,4v18,-14,47,-5,73,-9v47,4,98,29,98,83v0,15,6,26,-11,31v-10,13,-7,11,-17,21v0,-2,-3,-5,-4,0v-8,34,-87,51,-130,60v-52,-1,-102,-14,-129,-49v3,-5,-11,-6,-6,-10v-29,-41,-25,-109,2,-143v5,-20,16,-29,36,-49v10,-17,50,-56,70,-63v12,-17,55,-41,71,-12v2,7,0,17,-12,20v4,3,1,2,-4,7v-12,0,-21,15,-32,20v-2,11,-24,11,-25,26xm58,-79v40,77,213,36,232,-33v-2,-27,-38,-24,-60,-34v-17,4,-46,-1,-64,6v-4,8,-24,2,-28,9v-1,-1,-2,-2,-3,-2v-1,9,-25,15,-33,25v-6,-8,-13,11,-21,8v-5,7,-12,27,-18,18v-1,0,-2,1,-5,3xm123,-127r-2,2xm68,-82v0,-1,-2,-3,-3,-1v1,1,2,1,3,1", "w": 345 }, "7": { "d": "107,-273r0,0r0,0xm23,-273v-19,-5,-13,-45,-1,-48v76,5,144,-18,215,-7v49,37,-6,82,-22,114v-13,12,-23,42,-40,58v-2,11,-16,20,-13,34v-4,5,-8,9,-5,15v-2,-1,-1,-1,-2,0v-1,13,-18,16,-19,31v-4,10,-14,25,-13,38v-1,-1,-2,-1,-3,0v0,10,-5,12,-6,23v-3,-2,-6,-1,-5,4v3,-2,3,0,3,4v-4,2,-6,14,-15,17r0,-6v-9,13,-31,4,-40,-4v14,-109,81,-186,126,-272r-39,-2r6,3v-15,1,-29,4,-46,3r1,-1v-9,5,-7,2,-20,5v-8,-5,-34,6,-47,2v1,-2,5,-3,3,-5v-8,2,-12,-6,-18,-6xm133,-273v2,-1,1,-2,0,-3r0,3", "w": 270 }, "8": { "d": "305,-196v9,12,34,12,38,27v22,17,46,40,37,61v-4,44,-20,44,-56,73v-82,38,-234,63,-300,-4v-42,-66,12,-125,75,-142v-20,-18,-40,-48,-20,-84v16,-28,33,-36,67,-29v22,-16,66,-27,102,-21v8,-8,32,6,36,4v20,4,74,41,49,82v-1,10,-17,25,-28,33xm121,-238v38,38,133,17,178,-8v-5,-31,-69,-24,-97,-25v-30,8,-63,14,-81,33xm49,-93v34,51,153,49,223,24v23,-2,40,-13,58,-21v7,-3,11,-9,11,-14v-37,-79,-226,-55,-283,-7v-6,6,-8,12,-9,18", "w": 397 }, "9": { "d": "149,-150v-55,13,-111,-25,-129,-71v-22,-58,34,-92,83,-103v42,-9,96,16,103,57v6,5,9,21,9,48v-2,93,-72,165,-138,217v-7,12,-33,21,-39,7v-11,0,2,-8,-7,-11v10,-62,96,-85,118,-144xm165,-189v13,-50,-8,-89,-66,-78v-8,1,-67,19,-30,37v18,16,41,31,76,29v9,0,14,6,20,12", "w": 234 }, ":": { "d": "30,-143v25,3,39,47,8,52v-19,-4,-21,-18,-23,-27v0,-11,5,-26,15,-25xm52,-27v3,30,-26,32,-39,18v-4,-17,-6,-46,17,-40v7,6,14,13,22,22", "w": 66 }, ";": { "d": "40,-156v1,-7,6,-26,20,-21v4,3,10,8,18,13v11,19,8,35,-9,39v-6,1,-32,-15,-29,-31xm61,-59v11,-5,35,25,33,38v-7,42,-46,62,-79,88v-25,-2,-31,-35,-15,-53v18,-21,39,-37,50,-64v2,-5,7,-9,11,-9", "w": 101 }, "<": { "d": "84,-104v53,45,138,64,182,117v8,11,6,39,-10,37v-14,7,-24,-1,-38,-15v-18,-19,-36,-28,-50,-33v-2,-4,-2,-6,-10,-5v-20,-15,-49,-19,-64,-37v-23,-9,-40,-21,-58,-32v0,-3,1,-7,-4,-6v-9,-12,-29,-33,-16,-54r84,-83v31,-21,69,-74,106,-98v19,6,39,21,34,51v-16,15,-28,27,-43,45v-32,21,-45,52,-79,72v4,4,-10,6,-7,13v-14,2,-9,15,-23,19v1,5,-4,5,-4,9", "w": 250 }, "=": { "d": "127,-173v41,-7,93,-15,97,31v-24,28,-79,16,-122,22v-6,7,-5,2,-13,-2v-41,15,-86,-14,-64,-54v10,-8,23,-1,36,0xm61,-49v-37,8,-53,-40,-29,-59v48,-2,97,11,138,-2v10,4,28,-2,41,-2v20,8,30,17,37,42v-27,31,-124,8,-173,23v-3,0,-6,-3,-8,-1v0,1,0,1,1,1v-3,3,-6,2,-7,-2xm89,-48v-1,1,-1,1,-2,1v1,0,1,-1,2,-1", "w": 259 }, ">": { "d": "80,-189v-18,-33,-101,-88,-44,-122v46,22,51,62,89,102v20,21,38,43,64,58v4,15,23,18,15,39v-1,23,-27,34,-40,53v-19,15,-36,35,-55,48r-35,42v-10,5,-19,4,-31,7v-17,-2,-26,-18,-27,-40v30,-59,72,-68,119,-129", "w": 219 }, "?": { "d": "21,-292v55,-36,206,-73,241,6v6,36,-3,51,-25,87v-11,7,-19,24,-37,27v-11,15,-30,18,-46,34v-20,7,-30,14,-55,30v-6,-3,-12,1,-5,3v-17,4,-11,17,-31,34v-5,12,-7,18,-13,9v-7,10,-13,-7,-23,-11v-10,-86,69,-103,122,-140v25,-17,50,-25,66,-52v-48,-31,-138,-4,-172,23v-6,-8,-21,5,-22,-9v-13,-4,-5,-30,0,-41xm55,24v-30,-2,-17,-62,4,-62v21,0,37,28,27,55v-12,2,-10,23,-18,8v-7,0,-19,5,-13,-1", "w": 275 }, "@": { "d": "175,8v-50,5,-104,-5,-132,-37v-41,-21,-41,-123,-11,-160v30,-84,223,-116,276,-28v32,30,24,103,-5,128v-9,8,-31,10,-21,25v9,8,-1,22,-1,34v-10,6,-11,11,-15,8v-18,23,-57,23,-89,30v1,2,1,2,-2,2r-3,0xm157,-134v3,14,49,-4,35,-10v-14,1,-23,7,-35,10xm248,-122v27,-5,51,-28,41,-62v-9,-17,-45,-49,-80,-38v-31,0,-59,4,-88,19v-35,19,-61,54,-61,106v0,68,127,52,185,31v-8,-1,-20,-9,-36,-22v-20,5,-42,15,-65,11v-20,-4,-58,-53,-35,-89v32,-21,69,-41,100,-20v30,7,15,53,39,64", "w": 335 }, "A": { "d": "217,-206v24,31,33,146,64,188v-7,1,-2,12,-6,18v1,-4,-3,-8,-5,-3v5,6,-4,10,-7,17r-18,0r-17,-22v-12,-51,-38,-81,-87,-92v-8,-2,-27,-8,-36,1v-1,-5,-12,-5,-14,0v2,1,4,1,5,2v-16,3,-18,10,-34,7v-9,15,-13,29,-20,44v-11,-1,-6,1,-14,2v-10,-10,-19,-20,-17,-41v49,-56,62,-131,104,-199v4,-12,10,-28,18,-45v15,-7,37,9,40,21v9,10,31,62,46,99v0,2,-1,2,-2,3xm83,-87v-2,2,-3,3,-5,4v0,-1,2,-7,5,-4xm91,-149v45,-3,74,6,102,19v-6,-47,-23,-98,-43,-132v-3,3,-15,16,-12,26v-3,-8,-7,9,-7,-2", "w": 290 }, "B": { "d": "231,-282v-1,50,-17,61,-50,94v0,0,0,2,1,3v41,14,82,39,89,82v-3,4,-4,20,-9,16v-7,25,-30,42,-55,49v-4,4,-3,11,-12,9r-80,34v-15,-2,-31,8,-50,5v2,-9,-5,-8,-12,-12v0,-16,-6,-20,1,-34v-26,-33,-30,-104,-23,-160v2,-16,-10,-11,-13,-21v-8,14,-10,-4,-21,-6v1,-2,3,-7,1,-10v-1,1,-1,1,-3,1r1,-26v9,-6,22,-15,38,-29v4,-20,14,-26,27,-14v52,-13,156,-57,170,19xm175,-269v-51,6,-109,6,-96,71v45,-20,77,-41,96,-62r0,-9xm206,-112v-13,-11,-40,-16,-63,-23r-67,5v1,21,3,46,14,64v-3,2,-6,8,-2,11v47,-15,63,-20,113,-49v3,-4,5,-6,5,-8", "w": 279 }, "C": { "d": "244,-262v-70,22,-131,54,-171,114v6,7,-11,10,-8,18v-6,13,-12,41,7,43v34,26,124,12,173,10v13,-5,26,-8,44,-9v0,7,16,-2,15,7v12,2,-10,14,5,12v-1,2,-5,7,1,8v-1,2,-12,4,-12,13v-13,3,-32,14,-46,16v-1,1,8,6,2,5r-19,-2v1,5,-2,5,-5,6v7,0,10,-1,8,3v-20,-1,-36,2,-54,5v0,0,15,5,21,-1r-1,1v7,0,7,2,19,2v-9,3,-19,1,-25,4v3,1,6,2,10,2r-13,1v0,0,0,-1,1,-2r-6,0v2,1,1,4,-2,4v-13,-1,-30,2,-40,-2r1,2v-35,2,-57,-5,-82,-13v2,-3,6,2,10,-2v-10,-5,-30,-1,-31,-12v-26,-10,-39,-41,-39,-78v0,-46,27,-94,81,-143v28,-10,31,-30,65,-37v20,-15,46,-23,80,-24v10,10,2,28,13,37v-4,0,-5,7,-9,10v2,1,2,0,7,2xm223,-24v0,0,6,-4,1,-3v0,1,0,2,-1,3", "w": 312 }, "D": { "d": "94,-328v109,-13,207,27,212,127v1,25,-21,69,-53,97v0,2,0,5,-1,8v-32,26,-52,44,-92,66v-10,-2,-26,15,-38,19v-6,16,-34,6,-43,18v-10,-3,-12,2,-16,5v1,-2,1,-4,-1,-4v-8,3,-9,-2,-18,-1r2,-1v-16,-6,-24,-25,-14,-47v-32,-42,-10,-136,-15,-205v-4,1,-13,7,-26,18v0,-3,-6,-8,-8,-3v-16,-9,-21,-38,-10,-52v52,-28,92,-41,121,-45xm173,-273v-48,1,-87,-14,-110,21r3,186v-3,2,-6,7,-1,9v63,-23,89,-31,145,-77v55,-45,56,-83,13,-120v-10,-2,-32,-14,-50,-19", "w": 299 }, "E": { "d": "170,-237r-2,-1v1,0,2,1,2,1xm44,-281v18,3,36,-5,48,-18v41,17,88,-22,128,-12v10,-6,28,-11,43,-6v1,-2,7,-8,8,-2v-2,2,-11,3,-2,4r11,-3v-3,13,21,6,27,12v-12,8,-5,14,-20,20v3,1,9,2,1,5v-2,-5,-8,2,-15,0v1,1,1,1,2,1v-13,4,-17,11,-32,12v-5,13,-35,7,-38,16v-17,-3,-20,10,-33,4v-2,2,-1,9,0,7v0,-2,-3,-2,-5,-2v-3,9,-21,1,-22,9r-24,11v-1,8,-12,18,-7,30r118,-7r0,6r-1,-1v6,-2,18,2,10,6v18,6,-4,7,1,21v-1,2,-8,2,-4,6v-20,7,-36,12,-58,16v-5,8,-22,12,-35,8r-49,19v-5,10,-12,22,-12,39v66,-1,140,-16,195,3v2,3,22,17,12,30r2,3v-13,0,-1,14,-20,11v-5,15,-22,-4,-32,6r3,2v-8,2,-4,-3,-10,-3r1,3v-43,1,-85,5,-120,10v-12,8,-53,14,-81,13v-11,-18,-27,-25,-22,-55v6,-36,27,-63,20,-104v2,-1,7,-21,15,-19v2,-10,12,-23,7,-33v-26,-12,-29,-37,-20,-61", "w": 299 }, "F": { "d": "85,-300v79,-3,190,-36,230,24v0,8,-9,11,-2,17v-16,6,-15,1,-30,2v-7,6,-29,0,-49,3v1,-3,-2,-3,-5,-3v-7,9,-20,-1,-32,5v1,-5,-5,-4,-5,-1v0,1,2,1,-1,2v-4,2,-2,-6,-9,-1v0,1,2,1,3,1v-5,1,-9,1,-14,0v1,0,1,1,2,1v-28,4,-40,3,-75,10v-10,10,-10,28,-13,45v43,13,105,-23,151,-8v17,-4,36,10,22,21v-1,4,8,3,3,6v-4,-3,-8,1,-3,3v-18,8,-25,9,-45,16v2,1,3,1,5,1v-45,8,-89,30,-140,26v-1,2,-5,10,-6,24r-4,88v-2,5,-17,6,-6,15v-7,2,-12,6,-12,-4v-8,-2,1,18,-13,7v-8,7,-12,-7,-22,-8v-23,-71,10,-164,18,-232v-8,1,-12,-28,-13,-27v0,-4,3,-11,10,-23xm209,-155v4,-2,4,-4,-1,-3v0,0,0,2,1,3", "w": 272 }, "G": { "d": "246,-120v-27,-7,-65,12,-86,2v2,-11,-16,-11,-10,-24v-13,-6,6,-25,-2,-33v5,-4,11,-12,18,-10v96,-1,194,-23,227,62v2,13,-14,21,-11,24v-4,9,-12,16,-25,24v0,-5,-2,-4,-5,0v0,19,-42,33,-55,40r8,-2v-2,3,-4,7,-10,5v-42,21,-87,36,-139,49v-20,-5,-27,5,-46,-4v-17,-8,-35,-20,-52,-23v-70,-52,-58,-166,6,-229v48,-47,102,-77,181,-89v10,1,50,15,41,30v12,16,3,44,-13,44v-12,8,-45,-5,-56,9v-2,-3,-6,-6,-6,0v-22,7,-46,20,-68,28v-5,10,-14,9,-25,23v-9,-4,-15,25,-26,27v-7,21,-21,39,-21,65v0,60,92,47,137,37v34,-16,76,-25,101,-50v-8,-13,-34,-1,-47,-10v-1,7,-17,-1,-16,5xm201,-243v5,-2,7,-2,1,-4v-1,1,-1,3,-1,4", "w": 399 }, "H": { "d": "315,-281v-1,12,6,14,7,27v-21,31,-25,95,-35,141v-9,41,-6,91,-23,123v-3,-9,-12,9,-19,1v-48,4,-19,-96,-22,-143v-8,0,-13,4,-19,3v-8,9,-35,1,-46,11v-8,-2,-21,4,-37,2v-4,6,-16,0,-17,9v0,-4,-3,-9,-9,-6v3,4,0,2,-5,6v-9,0,-12,1,-20,3v-6,12,-3,31,-5,47v-11,7,-34,23,-46,5v-36,-56,7,-163,20,-215v0,-4,10,-26,26,-30v9,5,17,9,21,26v11,6,2,23,4,33r-16,68v50,4,111,-2,158,-9v16,-54,32,-107,66,-112xm90,-113v-4,1,-6,3,-6,3v3,0,5,-1,6,-3", "w": 312 }, "I": { "d": "52,-312v56,27,13,118,23,186v-5,31,-8,81,-3,115v-17,9,-33,22,-53,-1v-8,-81,5,-177,11,-259v0,-10,11,-38,22,-41", "w": 96 }, "J": { "d": "213,-327v44,57,36,196,14,273v-16,57,-116,73,-183,43v-9,-11,-50,-18,-40,-51v4,-6,15,-31,27,-17v45,21,133,39,148,-21v15,-62,3,-133,2,-196v0,-15,9,-32,32,-31", "w": 258 }, "K": { "d": "253,-317v28,-28,44,4,42,28v-45,59,-99,108,-146,164v40,25,128,16,151,60v0,5,-1,7,-6,8v1,2,3,5,5,10v-67,26,-157,-7,-210,-34v-1,0,-6,-6,-15,-16r-4,2r0,92v-3,2,-13,0,-12,7v-42,24,-52,-32,-48,-83r18,-208v7,-12,16,-32,33,-26v9,8,13,19,20,38r-6,149v34,-38,45,-58,88,-96v21,-29,60,-66,90,-95", "w": 310 }, "L": { "d": "59,-325v20,0,17,26,29,31r-19,230v81,-2,152,-30,239,-26v5,0,15,6,23,6v0,0,-1,1,-2,3v10,3,1,12,4,22v-57,32,-149,28,-215,48v1,3,5,2,8,4v-41,-3,-75,24,-106,5v-13,0,-17,-13,-15,-28r21,-197v5,-29,-2,-88,33,-98", "w": 340 }, "M": { "d": "307,-314v25,-25,49,6,49,45v0,27,4,51,1,79r3,4r-14,160v-16,9,-14,6,-27,16v-7,-5,-14,-11,-19,-8v-29,-54,10,-139,-3,-210v-1,2,-3,5,-5,10v-18,17,-38,45,-47,74r-4,1v-10,26,-33,56,-49,79v0,1,1,3,2,4v-15,9,-12,43,-32,37v-9,13,-42,5,-46,-10v-5,-15,-8,-67,-11,-96r-58,120v4,25,-34,41,-54,24v-11,-36,16,-43,23,-73v31,-64,79,-132,95,-206v2,-5,12,-19,25,-19v16,0,19,24,28,30v2,45,-6,99,3,138v44,-51,87,-134,132,-188v4,-4,2,-10,8,-11", "w": 368 }, "N": { "d": "245,-80v22,-37,60,-166,65,-227v11,-12,19,-29,34,-9v4,-8,4,4,11,3v-3,8,0,11,4,18r-4,24v-1,-1,-2,-3,-3,0v0,6,-4,10,-1,15v-5,-2,-4,7,-6,13v7,6,-8,8,-1,17v-6,12,-15,34,-12,48v-7,9,-10,17,-8,28v-2,0,-5,3,-4,7v4,-1,4,1,2,3v-3,22,-10,40,-16,59v1,-1,2,-3,2,0v0,4,0,8,-5,7r-11,63v-11,-1,-6,24,-23,14v-10,9,-21,7,-34,-3v-36,-26,-68,-84,-94,-131v-12,-22,-25,-67,-45,-85v-15,28,-9,63,-31,94v0,1,-2,8,-7,21v0,24,-2,18,-24,42v-7,4,-11,0,-20,0v-5,-10,-17,-10,-15,-30v26,-48,51,-125,67,-192v1,-4,7,-10,16,-19v21,-5,32,8,43,18v52,45,73,154,120,202", "w": 362 }, "O": { "w": 394 }, "P": { "d": "114,-313r0,0r0,0xm239,-139r1,-2v0,0,0,1,-1,2xm-4,-234v0,-54,68,-56,106,-77v-1,0,-1,1,-1,2r107,-21v3,7,19,-6,34,-1v24,0,48,7,71,20v19,16,18,41,20,71v-9,14,-10,39,-27,46v0,1,-4,5,-3,9v-5,5,-21,10,-19,14v1,0,1,0,1,-1v-3,8,-6,12,-11,12r-1,-5r-25,18r2,2v-13,2,-24,9,-33,17v-2,-2,-4,-3,-4,2v-33,11,-66,30,-100,36v-14,3,-26,14,-41,10r3,72v-3,1,-6,3,-3,8v-11,3,-16,6,-29,11v-46,-28,-29,-124,-13,-176r24,-79v-6,4,-17,6,-9,22v-4,3,-11,1,-10,9v-9,2,-7,7,-15,5r0,5v-10,-6,-24,-14,-24,-31xm277,-168v-1,0,-3,1,-1,1v0,0,0,-1,1,-1xm264,-227v17,-18,23,-52,-14,-51v-58,-11,-88,-2,-145,13v-16,4,-3,14,-5,26r-20,112v46,-35,135,-48,184,-100xm234,-280v-3,0,-6,-1,-8,-1v5,0,7,1,8,1", "w": 317 }, "Q": { "d": "11,-98v-35,-148,105,-199,217,-215v36,-5,72,-1,96,15r0,-2v5,1,6,2,2,5v4,0,11,13,18,9v0,10,5,8,12,16v25,24,46,109,16,143v-12,22,-39,49,-60,65v7,12,25,37,4,47v-25,4,-28,-13,-48,-20v-37,22,-77,34,-125,42v-1,-5,-7,-3,-11,0v-37,-7,-69,-20,-98,-47v3,-6,-2,-10,-7,-13xm316,-138v29,-11,49,-74,18,-101v3,-5,-2,-10,-5,-6v-14,-16,-48,-31,-77,-21v-38,0,-63,5,-102,26v-12,-1,-14,11,-20,9v-21,8,-36,33,-33,64v-7,4,-4,19,-10,21v-2,-5,-5,-11,-11,-12v-4,-10,-1,-22,-13,-23v-24,21,-24,102,13,115v47,17,116,11,153,-14v-13,-25,-10,-21,-10,-44v4,-5,8,-9,11,-11v19,10,19,11,39,32v13,-2,16,-16,29,-18v5,-11,17,-7,18,-17", "w": 390 }, "R": { "d": "57,21v-24,2,-48,-10,-47,-42r8,-195v-7,-16,-14,-22,3,-47v52,-43,74,-41,126,-62v34,-6,74,-10,92,18v18,8,33,58,13,76v-29,60,-73,88,-128,127v0,2,1,3,1,3v61,28,178,26,213,71v-4,10,4,24,-8,25v-89,11,-195,-21,-261,-54v-10,15,5,40,1,61xm63,-128v46,-38,121,-84,141,-138v-44,-10,-81,12,-119,26v-22,8,-17,16,-18,38", "w": 345 }, "S": { "d": "228,-257v-48,-3,-81,-8,-129,14v25,25,147,41,162,90v23,32,0,83,-33,96v-17,11,-63,35,-91,35v-29,11,-69,25,-110,17v-10,-11,-19,-21,-14,-39v1,-24,35,-11,55,-26r9,1v26,-16,109,-28,133,-56v-33,-32,-149,-55,-187,-104v3,-5,-4,-20,-5,-18v-3,-61,93,-50,135,-64v36,-1,55,0,76,19v1,11,13,26,-1,35", "w": 282 }, "T": { "d": "156,-20v0,18,-25,18,-31,5v-16,-5,-13,-40,-10,-62r16,-101v2,-17,13,-28,6,-46v-48,5,-92,19,-142,18v-22,-6,-23,-33,-14,-54v25,-13,50,-14,109,-21v113,-14,214,-35,338,-35v15,17,19,45,1,61v2,11,-17,5,-29,5v-25,2,-43,1,-64,5v-9,-8,-27,10,-40,2v-13,10,-43,-5,-54,9v-16,-7,-33,7,-50,8v-14,35,-31,170,-32,205v-1,1,-2,1,-4,1", "w": 225 }, "U": { "d": "54,-183v-1,68,13,128,76,113v69,-17,158,-87,190,-175v3,-31,-8,-44,16,-66v6,1,7,-2,11,-3v3,6,3,10,11,9v32,65,-42,172,-68,194v-32,46,-83,70,-128,104v-24,5,-60,19,-88,-1v-60,-44,-84,-121,-57,-219v13,-47,16,-51,44,-71v15,2,20,19,24,32v-11,32,-30,40,-31,83", "w": 371 }, "V": { "d": "266,-325v7,-11,12,3,21,3v13,58,-37,101,-57,143v-17,37,-35,73,-57,105v-7,30,-32,50,-40,76v-8,10,-21,16,-38,7v-48,-63,-63,-166,-86,-255v3,-21,12,-55,34,-24v14,21,18,56,28,84r41,116v62,-80,88,-157,154,-255", "w": 307 }, "W": { "d": "493,-330v42,10,6,74,-5,92v-20,32,-59,74,-75,109v-15,17,-38,52,-48,78v-8,8,-18,24,-17,34v-4,2,-5,3,-9,3v-1,17,-17,5,-29,4v-35,-35,-47,-133,-66,-191r-68,129v-9,12,-15,22,-18,29v-16,16,-24,26,-21,42v-12,19,-41,17,-50,-3v-35,-77,-39,-180,-80,-282v-1,-31,19,-60,38,-26v34,60,46,163,73,234v61,-63,56,-83,114,-201v5,-5,12,-17,23,-18v51,48,36,120,75,203r80,-114v25,-25,45,-58,69,-104v6,-5,10,-11,14,-18", "w": 520 }, "X": { "d": "216,-42v-37,-6,-54,-57,-81,-80v-20,9,-37,45,-52,69v-3,4,-17,85,-46,54v-17,-19,-4,-68,7,-87r50,-82r-87,-77v4,-3,-1,-6,0,-15v9,-14,11,-39,36,-34v23,13,71,58,97,81v31,-19,85,-64,129,-78v18,1,26,2,20,13v10,6,6,38,-8,40v2,17,-34,12,-41,26v-23,11,-41,27,-60,42v16,25,39,48,58,71v20,25,-12,55,-22,57", "w": 299 }, "Y": { "d": "119,37v-57,7,-37,-84,-20,-118v-4,-8,15,-23,-5,-22v-18,-3,-21,-16,-37,-39v-19,-51,-54,-97,-49,-164v5,-2,5,-11,15,-9v37,34,43,104,73,144v32,-21,55,-64,82,-91v4,-12,16,-16,23,-25v2,-16,19,-22,36,-43v2,1,15,-6,13,3v44,40,-21,94,-34,130v-20,55,-92,129,-85,215v-3,4,-7,13,-12,19", "w": 265 }, "Z": { "d": "245,-267v-59,-11,-135,29,-166,-10v1,-26,6,-42,38,-45r102,-8v52,1,111,-7,104,57v-37,48,-86,101,-138,145v-20,29,-49,42,-64,67v84,-8,186,4,266,-4v25,-2,43,14,37,36v1,8,0,21,-12,23v4,4,-4,6,-6,7v-35,0,-77,-2,-109,-2r-157,2v-35,2,-65,7,-97,14v-8,-6,-25,2,-26,-13v-12,-9,-9,-26,-5,-41v67,-76,165,-149,233,-228", "w": 429 }, "[": { "d": "48,-316v39,-6,101,-32,99,23v-7,20,-43,20,-64,28v-13,84,-12,200,-8,297v29,2,69,-8,68,23v-1,32,-75,41,-102,47v-23,-7,-50,-23,-34,-50v9,-115,-4,-274,30,-360v3,-2,6,-4,11,-8", "w": 120 }, "\\": { "d": "165,98v-30,-44,-66,-114,-90,-168v-4,-6,-12,-34,-21,-40v6,-10,-12,-18,-9,-29r-66,-149v-8,-37,22,-56,45,-30v68,126,111,281,200,388v3,6,17,24,11,39v-24,10,-19,0,-37,21v-18,-3,-27,-16,-33,-32", "w": 211 }, "]": { "d": "-5,-272v-27,-17,-27,-50,5,-59v28,2,57,12,84,5v22,6,58,-9,69,11r5,0v21,31,18,66,13,113r-25,241v6,26,2,62,-28,64v-54,3,-140,16,-140,-33v0,-16,53,-16,59,-18r37,-4v9,-104,30,-196,31,-309v-35,-6,-71,-2,-110,-11", "w": 180 }, "^": { "d": "175,-234v-24,-15,-37,-18,-68,-47r-3,0r-35,49v-2,-2,-3,0,-4,3v2,8,-14,3,-13,12v-18,9,-22,2,-38,-15r65,-94v39,-11,73,34,102,51v3,1,26,11,18,23v13,2,-4,6,-1,16v-9,-4,-12,4,-23,2", "w": 213 }, "_": { "d": "304,9v33,-3,75,-13,83,26v10,9,-2,26,-21,24v-91,11,-210,1,-299,14v-3,0,-6,-3,-8,-1v0,0,1,1,2,1v-3,3,-7,2,-8,-2v-35,9,-54,-40,-29,-58v50,-2,100,4,150,2xm81,72v0,1,-1,1,-2,1v1,0,1,0,2,-1", "w": 396 }, "`": { "d": "13,-289v-15,-8,-8,-38,7,-35v45,10,72,54,119,62v9,14,19,20,12,35v-28,20,-76,-27,-112,-43v-7,-4,-16,-10,-26,-19", "w": 163 }, "a": { "d": "22,-87v26,-24,59,-41,105,-54v27,0,31,7,40,28v24,0,29,26,39,40v9,13,14,26,17,36v-6,5,-8,18,-19,15v-1,8,-8,1,-11,1v-13,-2,-25,-18,-35,-36r-47,35v4,12,-38,18,-52,24v-18,0,-32,-7,-43,-21v-13,-36,-10,-28,6,-68xm136,-90v-28,2,-60,12,-75,35v35,1,54,-19,75,-35", "w": 231 }, "b": { "d": "77,-180v82,-9,179,0,189,71r-19,37v-37,29,-77,55,-144,65v-7,-8,-14,-2,-17,-12v-4,10,-17,22,-30,11v-30,-7,-27,-62,-29,-99v-19,-5,-25,-41,-2,-52r1,-90v2,-19,0,-83,31,-71v24,27,15,92,20,140xm86,-44v36,-27,88,-28,121,-65v-22,-31,-89,-27,-130,-12", "w": 272 }, "c": { "d": "130,-156v9,-2,40,-12,55,-10v4,12,14,27,1,35v1,9,-15,7,-50,26v-14,15,-59,17,-62,42v35,22,101,-18,134,7r0,14v-32,34,-94,48,-154,40v-25,-3,-44,-30,-43,-47v7,-67,62,-76,119,-107", "w": 217 }, "d": { "d": "233,-81v-43,12,-105,2,-138,23v55,3,107,-3,153,-7v3,7,-2,10,8,12v-2,3,-17,10,-9,18v-49,38,-155,54,-221,20v-22,-12,-23,-49,-2,-67v34,-29,94,-38,156,-52v5,-60,1,-125,12,-179v17,-35,49,-16,45,20v8,56,0,128,2,190", "w": 262 }, "e": { "d": "39,-17v-75,-63,29,-180,119,-140v-3,6,8,3,9,10v8,22,3,50,-10,64r-38,27v17,10,77,-5,86,17v-3,6,-7,9,-16,12v9,4,12,5,1,13v-6,4,-27,3,-29,14v-44,9,-96,4,-122,-17xm84,-98v16,-1,36,-12,36,-23v-18,7,-29,13,-36,23", "w": 211 }, "f": { "d": "182,-322v34,-3,112,30,112,78v-1,2,-7,7,-6,11v-2,2,-16,7,-21,6v-25,-29,-72,-58,-122,-45v-36,21,-30,98,-28,151v27,11,74,-13,93,13v2,32,-43,30,-66,42v7,9,18,35,17,45v-8,2,-10,11,-22,10v-2,6,-10,2,-15,4v-13,-14,-33,-26,-44,-49v-24,2,-67,11,-68,-20v-1,-6,13,-38,32,-32r16,-3v-13,-78,7,-196,66,-208v20,-4,34,-13,56,-3", "w": 221 }, "g": { "d": "188,-93v14,42,34,173,-3,220v-41,52,-187,90,-240,24v-13,-29,-11,-23,-11,-52v9,-14,13,-21,30,-30v5,2,-2,9,2,9v1,-4,4,-5,10,-6v1,9,-6,7,-1,16v3,-1,5,-2,6,-2v-5,7,-9,26,-1,38v42,33,123,5,153,-20v39,-21,27,-92,16,-136v-38,9,-71,24,-111,-1v-58,-36,-9,-100,42,-104v20,-2,93,-14,99,15v9,2,9,14,15,22v-8,0,3,9,-6,7xm-32,71v0,0,-2,-1,0,-1r0,1xm62,-77v29,17,75,1,86,-17v-38,-2,-56,-2,-86,17", "w": 222 }, "h": { "d": "132,-161v59,-34,111,11,111,77v0,36,-4,71,-3,104v-6,1,-8,7,-15,8v-41,-17,-34,-74,-29,-125v1,-15,-10,-20,-24,-18v-27,4,-61,26,-101,72v-3,4,-18,9,-27,16v-3,-6,-10,2,-10,-8v-7,3,-11,4,-14,-2v-18,-58,1,-121,-1,-179v0,-8,2,-34,7,-80v9,-20,34,2,40,14v13,55,-11,107,0,165v23,-12,34,-26,66,-44", "w": 251 }, "i": { "d": "40,-220v16,-17,44,17,37,29v6,21,-18,13,-32,10v-9,-18,-7,-21,-5,-39xm26,-111v18,-28,39,6,44,27v-3,27,3,62,-8,80v-14,1,-13,3,-29,-3v-13,-18,-16,-74,-7,-104", "w": 86 }, "j": { "d": "40,-202v4,-7,14,-1,21,0v1,4,3,6,8,7v3,8,13,33,-10,32v-9,2,-13,-9,-19,-13r0,-26xm98,-132v10,19,31,46,26,85v6,42,2,91,2,137v-6,20,-6,100,-42,100v-57,0,-110,-40,-110,-105v21,8,56,48,89,39v27,-64,12,-158,10,-239v4,0,9,-26,25,-17", "w": 151 }, "k": { "d": "75,-137r159,-80v18,6,31,33,18,52r-141,74v6,2,33,12,31,6v19,10,69,9,96,37v1,13,6,22,-9,31v-59,8,-122,-7,-166,-27v-7,14,3,52,-24,45v-5,9,-14,-15,-20,-3v-11,-13,-6,-25,-8,-49r28,-235v5,-25,4,-36,16,-45v62,24,15,128,20,194", "w": 248 }, "l": { "d": "55,-330v25,2,34,31,31,59r-32,278v-14,2,-21,6,-32,-5v-1,0,-2,1,-4,3v-16,-55,2,-108,8,-165v5,-42,4,-131,29,-170", "w": 94 }, "m": { "d": "289,-170v49,14,54,92,38,152v-5,0,-5,4,-7,7v-14,0,-30,-9,-30,-30v0,-27,3,-57,-10,-72v-49,13,-69,49,-101,105v-7,0,-22,10,-24,-2v-5,-4,-14,0,-16,-7v-6,-34,10,-70,1,-99v-39,17,-66,58,-87,96v0,2,3,5,1,5r-21,0v-10,-13,-27,-11,-18,-34v-9,-15,11,-70,19,-94v16,-17,26,10,35,20v29,-24,50,-43,84,-53v18,6,34,41,37,70v25,-19,60,-62,99,-64", "w": 343 }, "n": { "d": "159,-163v45,15,39,122,22,170v-23,12,-38,-12,-38,-44v0,-22,6,-49,1,-67v-31,11,-40,30,-60,50v-16,15,-25,31,-33,45v-10,3,-15,1,-26,2v0,-7,-5,-11,-10,-5v-12,-45,3,-85,15,-128v6,-2,9,-6,17,-3v7,14,16,18,17,39v41,-23,47,-51,95,-59", "w": 206 }, "o": { "d": "193,-149v24,9,46,63,23,94v-6,9,-6,9,-19,23v-54,57,-203,50,-182,-57v-14,-93,110,-114,178,-63r0,3xm56,-73v32,39,121,10,130,-28v-11,-16,-17,-26,-31,-22v-17,-13,-58,-1,-81,3v-3,7,-2,16,-2,23v-7,2,-14,17,-16,24" }, "p": { "d": "8,-152v45,-9,76,-46,141,-37v17,-4,40,7,55,7v40,2,96,81,56,121v-42,42,-109,57,-175,68r-17,-7v-8,54,-11,110,-12,169v-17,15,-38,-1,-40,-20v-10,-112,-3,-126,22,-251v6,-31,37,-1,37,11v0,18,-4,36,-2,53v44,-24,119,-29,153,-70v-31,-44,-127,-34,-174,-14v-9,4,-50,17,-34,34v-7,8,-18,17,-26,6v-10,2,-14,-19,-13,-35v2,-16,18,-24,29,-35", "w": 281 }, "q": { "d": "119,-124v34,-10,69,23,43,43r4,4v-19,0,-43,-2,-51,8v-17,3,-34,5,-43,15v36,8,83,-15,123,-23v37,42,28,144,24,218r-9,32v-12,5,-12,5,-25,-2v-19,-49,1,-133,-13,-191v-39,9,-68,25,-110,25v-15,0,-54,-19,-53,-36v4,-58,44,-90,110,-93", "w": 231 }, "r": { "d": "135,-157v36,-15,105,-26,114,30v-4,0,-7,7,-1,8v-22,13,-46,-9,-73,2v-50,21,-123,23,-118,93v-1,4,-4,9,0,11v-10,6,-20,17,-31,4v-28,-12,-21,-108,10,-110v3,2,4,5,8,5v26,-11,46,-24,91,-43", "w": 253 }, "s": { "d": "19,-118v-7,-45,4,-55,72,-53v24,1,94,17,72,48v-8,11,-9,6,-33,1v-28,-6,-30,-2,-52,1v46,26,100,51,93,82v1,31,-53,44,-83,37v-24,0,-78,2,-73,-31v0,-3,-1,-6,-2,-8v26,-12,62,-3,91,-14v-30,-16,-81,-38,-85,-63", "w": 180 }, "t": { "d": "179,-155v44,1,87,-12,124,9v-2,7,2,13,9,14v-9,-3,-7,9,-13,8v-27,24,-89,7,-128,28v-11,56,-5,52,-13,93v-4,2,-12,6,-21,10v-32,-12,-21,-61,-22,-98r-82,14v-20,-2,-35,-49,-12,-55v38,-2,75,-6,106,-15v7,-46,12,-103,29,-137v13,-13,13,-16,34,0v11,48,-13,78,-11,129", "w": 295 }, "u": { "d": "163,-156v58,18,10,114,-15,137v-17,16,-35,21,-60,25v-32,5,-85,-51,-70,-109v49,-34,20,73,82,48v46,-19,38,-58,63,-101", "w": 201 }, "v": { "d": "222,-219v21,2,33,27,17,50r-86,124v-3,8,-16,23,-20,38v-6,8,-35,17,-45,3v-14,-12,-83,-70,-83,-116v-1,-8,7,-20,15,-19v31,11,51,66,79,78r62,-80v19,-31,40,-57,61,-78", "w": 219 }, "w": { "d": "74,-72v18,-13,45,-49,56,-73v8,-4,17,-7,28,0v17,12,33,37,50,75v2,2,5,4,9,9v31,-30,37,-59,75,-88v-1,5,-2,5,0,6v5,-8,14,-6,13,5v3,0,5,3,4,8v-8,50,-49,110,-80,139v-45,5,-56,-60,-78,-92v0,0,0,1,-3,0r-47,69v-12,8,-23,12,-34,13v-32,-22,-56,-88,-55,-132v0,-3,5,-13,16,-16v30,12,29,39,46,77", "w": 317 }, "x": { "d": "89,-121v9,-1,91,-55,102,-42v14,4,27,25,14,36v1,9,-8,6,-17,10v-14,7,-38,21,-52,31v24,22,31,29,42,62v-2,12,-17,29,-31,16v-27,-26,-34,-36,-56,-49v-27,7,-37,51,-61,61v-15,-5,-19,-22,-19,-41v6,-24,11,-27,31,-53r-19,-12v-9,-15,-14,-45,9,-48v8,-1,49,23,57,29", "w": 217 }, "y": { "d": "68,-64v22,-1,62,-38,74,-56v10,-3,19,-4,25,9v10,2,11,15,12,24v-7,49,-22,94,-50,170v0,1,2,1,3,1r-3,0v-13,31,-24,64,-35,97v-14,16,-27,14,-41,-7v-13,-40,8,-72,17,-102v9,-28,27,-54,32,-83v-59,29,-86,-42,-88,-94v1,-12,3,-26,16,-29v23,-6,29,73,38,70", "w": 186 }, "z": { "d": "52,-158v50,2,122,-19,124,36v0,19,-26,27,-38,38r-42,37v36,8,71,-8,102,4v9,-3,8,1,10,11v10,1,-1,6,0,12v-6,1,-6,2,-1,5v-8,-3,-18,0,-18,8v-51,6,-125,24,-172,0v-5,-6,-8,-25,-8,-38v15,-30,50,-30,82,-63v-20,-5,-62,13,-62,-26v0,-13,8,-25,23,-24", "w": 221 }, "{": { "d": "78,68v33,10,85,-4,67,49v-37,16,-46,17,-97,0v-25,-18,-52,-47,-31,-97v3,-30,31,-49,39,-85v-8,-10,-35,-5,-49,-11v-15,-16,-8,-53,20,-51v17,-3,35,-24,33,-44v-5,-46,-34,-115,7,-143v20,-8,75,-22,101,-6v14,17,9,43,-15,43v-28,0,-65,-13,-61,24v6,48,38,105,4,145v6,7,23,19,20,39v5,59,-59,86,-38,137", "w": 152 }, "|": { "d": "28,-328v28,2,37,30,37,56r-6,309v-2,8,-2,20,-6,25v-15,0,-21,4,-31,-6v-1,0,-2,1,-4,3v-17,-112,2,-215,-1,-348v3,-13,3,-31,11,-39", "w": 90 }, "}": { "d": "45,-270v-24,6,-45,-28,-26,-45v46,-41,131,1,124,68v-5,38,-15,70,-27,100r34,26v2,20,-1,35,-19,38v-37,25,12,72,5,121v6,54,-51,76,-91,84v-12,0,-23,-16,-34,-14v-19,-58,84,-29,59,-106v-12,-36,-27,-79,-1,-109v-1,-7,-17,-25,-17,-35v0,-35,29,-78,31,-116v0,-19,-22,-17,-38,-12", "w": 157 }, "~": { "d": "290,-305v-30,36,-98,106,-148,43v-21,-27,-34,-11,-56,-4v-19,12,-30,33,-56,38v-26,-9,-17,-28,0,-43v20,-18,48,-46,83,-44v18,-3,65,29,72,36v23,-6,40,-26,76,-50v13,-3,15,4,26,7v-1,5,5,8,3,17", "w": 298 }, "\u00c4": { "d": "176,-166v16,16,25,106,44,134v0,2,2,7,7,17v-5,2,-1,21,-7,10v1,9,-7,19,-22,16v-12,-11,-15,-32,-25,-45v-3,-27,-38,-39,-62,-49v-6,6,-20,-8,-26,3v-1,-3,-9,-4,-11,-1v2,1,3,2,4,3v-13,2,-14,8,-28,5v-7,12,-10,24,-16,36v-30,5,-29,-35,-14,-46v35,-56,57,-116,88,-183v12,-6,30,5,32,17v6,9,32,51,36,83xm67,-70v-2,2,-3,2,-4,3v0,-1,2,-5,4,-3xm73,-120v35,-4,61,4,83,15v-4,-38,-18,-80,-35,-107v-2,3,-13,13,-9,21v-3,-5,-5,5,-6,-1xm65,-315v20,-7,32,4,42,17v4,22,-39,23,-49,9v-6,-10,2,-11,7,-22v-2,1,-5,-1,-5,-2r6,1xm174,-279v-20,7,-51,-8,-39,-29v25,-15,63,0,40,25v1,-2,4,0,4,1r-6,0" }, "\u00c5": { "d": "176,-166v16,16,25,106,44,134v0,2,2,7,7,17v-5,2,-1,21,-7,10v1,9,-7,19,-22,16v-12,-11,-15,-32,-25,-45v-3,-27,-38,-39,-62,-49v-6,6,-20,-8,-26,3v-1,-3,-9,-4,-11,-1v2,1,3,2,4,3v-13,2,-14,8,-28,5v-7,12,-10,24,-16,36v-30,5,-29,-35,-14,-46v35,-56,57,-116,88,-183v12,-6,30,5,32,17v6,9,32,51,36,83xm67,-70v-2,2,-3,2,-4,3v0,-1,2,-5,4,-3xm73,-120v35,-4,61,4,83,15v-4,-38,-18,-80,-35,-107v-2,3,-13,13,-9,21v-3,-5,-5,5,-6,-1xm83,-311v2,-27,51,-21,61,1v11,24,19,28,7,46v-33,19,-80,-1,-78,-37v0,-5,3,-10,10,-10xm107,-292v1,7,23,4,26,-1v1,-10,-12,-6,-22,-7v-3,4,-4,7,-4,8" }, "\u00c7": { "d": "244,-262v-70,22,-131,54,-171,114v6,7,-11,10,-8,18v-6,13,-12,41,7,43v34,26,124,12,173,10v13,-5,26,-8,44,-9v0,7,16,-2,15,7v12,2,-10,14,5,12v-1,2,-5,7,1,8v-1,2,-12,4,-12,13v-13,3,-32,14,-46,16v-1,1,8,6,2,5r-19,-2v1,5,-2,5,-5,6v7,0,10,-1,8,3v-20,-1,-36,2,-54,5v0,0,15,5,21,-1r-1,1v7,0,7,2,19,2v-9,3,-19,1,-25,4v3,1,6,2,10,2r-13,1v0,0,0,-1,1,-2r-6,0v2,1,1,4,-2,4v-13,-1,-30,2,-40,-2r1,2v-35,2,-57,-5,-82,-13v2,-3,6,2,10,-2v-10,-5,-30,-1,-31,-12v-26,-10,-39,-41,-39,-78v0,-46,27,-94,81,-143v28,-10,31,-30,65,-37v20,-15,46,-23,80,-24v10,10,2,28,13,37v-4,0,-5,7,-9,10v2,1,2,0,7,2xm223,-24v0,0,6,-4,1,-3v0,1,0,2,-1,3xm178,15v24,19,64,47,46,88v-14,31,-50,35,-76,53v-14,-1,-31,2,-43,-1v-5,-12,-12,-20,-8,-37v6,-27,38,-22,60,-44v-10,-6,-32,-14,-32,-40v0,-14,5,-32,16,-56v22,-10,43,22,37,37xm119,155r0,0r0,0", "w": 312 }, "\u00c9": { "d": "137,-192v0,-1,-1,-1,-1,-1v1,0,1,1,1,1xm214,-256v4,3,16,-6,14,5v5,1,19,0,21,3v-8,6,-10,12,-15,17v2,-1,3,0,3,2v-4,0,-5,0,-10,1v-23,7,-25,14,-46,18v-14,2,-28,10,-42,9v-1,2,-1,4,0,6v1,-3,-2,-2,-4,-2v-10,7,-23,8,-37,16v-1,6,-9,15,-6,25r96,-6v-3,8,15,0,7,9v14,4,-2,8,1,17v-17,13,-49,18,-73,26v-25,1,-57,10,-55,45v59,1,137,-21,171,15v1,15,-5,12,-9,23v-10,4,-23,3,-35,5r2,2v-4,-1,-6,0,-4,-3r-4,0v0,1,1,1,1,2v-38,0,-68,5,-97,9v-10,7,-43,11,-65,10v-10,-15,-23,-20,-19,-45v5,-28,21,-50,17,-83v2,0,6,-18,12,-16v2,-9,9,-17,6,-27v-25,-8,-27,-45,-8,-55v12,3,31,-4,39,-14v31,13,71,-17,103,-10v11,-6,32,-7,41,-6v-2,1,-3,1,-5,2xm179,-328v10,-11,22,6,29,9v-27,30,-78,41,-109,65v-10,7,-26,0,-38,-1v4,-6,-2,-13,7,-17v42,-20,61,-35,111,-56", "w": 242 }, "\u00d1": { "d": "199,-65v16,-30,49,-136,52,-184v9,-9,15,-23,27,-7v3,-5,5,1,9,3v0,11,4,22,0,34v-1,-2,-1,-2,-2,0v0,5,-4,7,-1,12v-4,-2,-3,4,-5,10v7,4,-5,7,0,14v-11,17,-10,46,-19,56v6,3,-6,11,3,12v-7,7,-3,24,-12,34v5,7,-2,8,-3,16v1,0,2,-3,2,-1v-15,23,-5,55,-25,70v-8,-3,-12,4,-20,4v-64,-29,-85,-125,-127,-183v-11,28,-13,58,-31,93v3,18,-10,26,-25,36v-24,-1,-26,-30,-13,-48v25,-33,28,-114,57,-149v7,-1,10,-1,11,-1v66,26,72,129,122,179xm262,-325v10,-8,33,-3,28,14v-18,19,-55,66,-89,49v-9,1,-35,-31,-44,-29v-26,5,-40,31,-66,39v-33,-21,17,-42,27,-56v32,-26,74,1,92,17v17,-6,24,-12,52,-34", "w": 293 }, "\u00d6": { "d": "287,-75r0,0r0,0xm200,-259v13,-5,27,4,39,7v0,1,-1,2,-2,3v12,-2,24,12,35,12v6,6,13,15,18,12v27,35,31,91,8,133v-7,13,-21,19,-27,34v-6,-1,-17,9,-19,18v-15,-3,-24,24,-45,26v-101,54,-240,-14,-189,-139v13,-32,38,-54,70,-66v29,-27,49,-37,101,-42v2,2,3,4,6,2v0,0,-1,0,-1,-2v4,0,5,2,1,3v6,3,11,4,16,2v-4,-1,-4,-1,-11,-3xm62,-146v-27,38,4,102,48,100v66,15,127,-29,155,-69v15,-22,17,-71,-8,-82v-19,-17,-82,-30,-109,-13v-5,-5,-8,8,-18,7v-7,2,-19,16,-26,22v-6,12,-7,29,-16,38v-5,-8,-6,9,-12,-1v-1,2,-1,3,-2,0v1,-9,-12,-11,-13,-4v0,0,1,1,1,2xm123,-314v21,-8,51,11,37,32v-27,13,-61,-5,-37,-28v-2,1,-5,0,-5,-1r6,1xm233,-278v-17,7,-41,0,-43,-22v16,-25,70,-8,43,18v2,-2,5,2,5,2v0,0,-2,-1,-6,-1", "w": 319 }, "\u00dc": { "d": "229,-143v11,-14,38,-47,29,-83v-2,-8,10,-25,23,-29v44,47,-24,149,-46,165v-26,37,-68,56,-104,85v-20,3,-47,15,-71,-2v-37,-26,-58,-67,-55,-128v1,-26,18,-129,57,-100r7,20v-14,30,-32,52,-25,100v8,48,21,66,61,58v42,-8,85,-36,124,-86xm109,-303v22,-9,51,12,37,32v-27,13,-61,-6,-37,-28v-1,1,-5,0,-5,-1r6,1xm218,-266v-18,6,-31,-2,-42,-15v-1,-28,50,-28,51,-4v-2,3,-4,7,-8,14v2,-2,5,2,5,2v0,0,-2,-1,-6,-1r0,4", "w": 300 }, "\u00e1": { "d": "22,-87v26,-24,59,-41,105,-54v27,0,31,7,40,28v24,0,29,26,39,40v9,13,14,26,17,36v-6,5,-8,18,-19,15v-1,8,-8,1,-11,1v-13,-2,-25,-18,-35,-36r-47,35v4,12,-38,18,-52,24v-18,0,-32,-7,-43,-21v-13,-36,-10,-28,6,-68xm136,-90v-28,2,-60,12,-75,35v35,1,54,-19,75,-35xm154,-247v12,-16,20,10,30,9v2,25,-35,36,-53,49v-25,19,-46,40,-78,52v-8,-2,-15,-7,-26,-6v5,-7,-3,-18,8,-25v45,-29,66,-50,119,-79", "w": 231 }, "\u00e0": { "d": "22,-87v26,-24,59,-41,105,-54v27,0,31,7,40,28v24,0,29,26,39,40v9,13,14,26,17,36v-6,5,-8,18,-19,15v-1,8,-8,1,-11,1v-13,-2,-25,-18,-35,-36r-47,35v4,12,-38,18,-52,24v-18,0,-32,-7,-43,-21v-13,-36,-10,-28,6,-68xm136,-90v-28,2,-60,12,-75,35v35,1,54,-19,75,-35xm46,-223v-15,-8,-8,-38,7,-35v45,10,72,54,119,62v9,14,19,20,12,35v-28,20,-76,-27,-112,-43v-7,-4,-16,-10,-26,-19", "w": 231 }, "\u00e2": { "d": "22,-87v26,-24,59,-41,105,-54v27,0,31,7,40,28v24,0,29,26,39,40v9,13,14,26,17,36v-6,5,-8,18,-19,15v-1,8,-8,1,-11,1v-13,-2,-25,-18,-35,-36r-47,35v4,12,-38,18,-52,24v-18,0,-32,-7,-43,-21v-13,-36,-10,-28,6,-68xm136,-90v-28,2,-60,12,-75,35v35,1,54,-19,75,-35xm169,-152v-15,-16,-27,-29,-54,-50v-27,18,-33,39,-54,60v-24,4,-35,-19,-24,-33v28,-15,44,-55,76,-72v29,3,59,54,76,64v2,5,2,5,7,14v-6,12,-13,17,-27,17", "w": 231 }, "\u00e4": { "d": "22,-87v26,-24,59,-41,105,-54v27,0,31,7,40,28v24,0,29,26,39,40v9,13,14,26,17,36v-6,5,-8,18,-19,15v-1,8,-8,1,-11,1v-13,-2,-25,-18,-35,-36r-47,35v4,12,-38,18,-52,24v-18,0,-32,-7,-43,-21v-13,-36,-10,-28,6,-68xm136,-90v-28,2,-60,12,-75,35v35,1,54,-19,75,-35xm55,-195v20,-7,32,4,42,17v4,22,-39,23,-49,9v-5,-9,2,-12,6,-23v-1,3,-4,0,-4,-1r6,1xm164,-159v-18,6,-33,-2,-43,-15v0,-24,39,-26,49,-12v6,8,0,13,-5,23v1,-2,4,0,4,1r-6,0", "w": 231 }, "\u00e3": { "d": "22,-87v26,-24,59,-41,105,-54v27,0,31,7,40,28v24,0,29,26,39,40v9,13,14,26,17,36v-6,5,-8,18,-19,15v-1,8,-8,1,-11,1v-13,-2,-25,-18,-35,-36r-47,35v4,12,-38,18,-52,24v-18,0,-32,-7,-43,-21v-13,-36,-10,-28,6,-68xm136,-90v-29,2,-58,13,-75,35v35,1,54,-19,75,-35xm217,-209v-20,18,-56,65,-90,49v-15,0,-36,-42,-54,-25v-27,7,-29,29,-56,35v-34,-19,17,-44,27,-57v32,-24,74,1,92,18v17,-5,33,-28,65,-40v7,3,18,7,16,20", "w": 231 }, "\u00e5": { "d": "22,-87v26,-24,59,-41,105,-54v27,0,31,7,40,28v24,0,29,26,39,40v9,13,14,26,17,36v-6,5,-8,18,-19,15v-1,8,-8,1,-11,1v-13,-2,-25,-18,-35,-36r-47,35v4,12,-38,18,-52,24v-18,0,-32,-7,-43,-21v-13,-36,-10,-28,6,-68xm136,-90v-28,2,-60,12,-75,35v35,1,54,-19,75,-35xm45,-217v2,-17,32,-38,59,-21v28,17,74,79,22,94v-53,15,-95,-15,-95,-59v0,-7,4,-14,14,-14xm79,-190v1,9,34,5,37,-2v0,-10,-11,-9,-20,-10v-13,-3,-16,10,-17,12", "w": 231 }, "\u00e7": { "d": "130,-156v9,-2,40,-12,55,-10v4,12,14,27,1,35v1,9,-15,7,-50,26v-14,15,-59,17,-62,42v35,22,101,-18,134,7r0,14v-32,34,-94,48,-154,40v-25,-3,-44,-30,-43,-47v7,-67,62,-76,119,-107xm101,66v-32,-9,-24,-46,-8,-79v19,-10,39,18,33,32v20,18,56,42,39,76v-13,27,-42,32,-66,46r-37,0v-2,-11,-9,-17,-7,-33v8,-22,33,-21,53,-38v0,-1,-3,-1,-7,-2r0,-2", "w": 217 }, "\u00e9": { "d": "39,-17v-75,-63,29,-180,119,-140v-3,6,8,3,9,10v8,22,3,50,-10,64r-38,27v17,10,77,-5,86,17v-3,6,-7,9,-16,12v9,4,12,5,1,13v-6,4,-27,3,-29,14v-44,9,-96,4,-122,-17xm84,-98v16,-1,36,-12,36,-23v-18,7,-29,13,-36,23xm143,-269v12,-16,20,10,30,9v2,25,-35,36,-53,49v-25,19,-46,40,-78,52v-8,-2,-15,-7,-26,-6v5,-7,-3,-18,8,-25v45,-29,66,-50,119,-79", "w": 211 }, "\u00e8": { "d": "39,-17v-75,-63,29,-180,119,-140v-3,6,8,3,9,10v8,22,3,50,-10,64r-38,27v17,10,77,-5,86,17v-3,6,-7,9,-16,12v9,4,12,5,1,13v-6,4,-27,3,-29,14v-44,9,-96,4,-122,-17xm84,-98v16,-1,36,-12,36,-23v-18,7,-29,13,-36,23xm40,-245v-15,-8,-8,-38,7,-35v45,10,72,54,119,62v9,14,19,20,12,35v-28,20,-76,-27,-112,-43v-7,-4,-16,-10,-26,-19", "w": 211 }, "\u00ea": { "d": "39,-17v-75,-63,29,-180,119,-140v-3,6,8,3,9,10v8,22,3,50,-10,64r-38,27v17,10,77,-5,86,17v-3,6,-7,9,-16,12v9,4,12,5,1,13v-6,4,-27,3,-29,14v-44,9,-96,4,-122,-17xm84,-98v16,-1,36,-12,36,-23v-18,7,-29,13,-36,23xm167,-176v-15,-16,-27,-29,-54,-50v-27,18,-33,39,-54,60v-24,4,-35,-19,-24,-33v28,-15,44,-55,76,-72v29,3,59,54,76,64v2,5,2,5,7,14v-6,12,-13,17,-27,17", "w": 211 }, "\u00eb": { "d": "39,-17v-75,-63,29,-180,119,-140v-3,6,8,3,9,10v8,22,3,50,-10,64r-38,27v17,10,77,-5,86,17v-3,6,-7,9,-16,12v9,4,12,5,1,13v-6,4,-27,3,-29,14v-44,9,-96,4,-122,-17xm84,-98v16,-1,36,-12,36,-23v-18,7,-29,13,-36,23xm54,-221v20,-7,32,4,42,17v4,22,-39,23,-49,9v-5,-9,2,-12,6,-23v-1,3,-4,0,-4,-1r6,1xm163,-185v-18,6,-33,-2,-43,-15v0,-24,39,-26,49,-12v6,8,0,13,-5,23v1,-2,4,0,4,1r-6,0", "w": 211 }, "\u00ed": { "d": "75,-111v17,-27,40,5,43,27v-2,27,4,62,-7,80v-14,1,-13,3,-29,-3v-13,-18,-16,-74,-7,-104xm136,-221v12,-16,20,10,30,9v2,25,-35,36,-53,49v-25,19,-46,40,-78,52v-8,-2,-15,-7,-26,-6v5,-7,-3,-18,8,-25v45,-29,66,-50,119,-79", "w": 179 }, "\u00ec": { "d": "51,-111v17,-27,40,5,43,27v-2,27,4,62,-7,80v-14,1,-13,3,-29,-3v-13,-18,-16,-74,-7,-104xm13,-195v-15,-8,-8,-38,7,-35v45,10,72,54,119,62v9,14,19,20,12,35v-28,20,-76,-27,-112,-43v-7,-4,-16,-10,-26,-19", "w": 162 }, "\u00ee": { "d": "67,-111v17,-27,40,5,43,27v-2,27,4,62,-7,80v-14,1,-13,3,-29,-3v-13,-18,-16,-74,-7,-104xm144,-113v-15,-16,-27,-29,-54,-50v-27,18,-33,39,-54,60v-24,4,-35,-19,-24,-33v28,-15,44,-55,76,-72v29,3,59,54,76,64v2,5,2,5,7,14v-6,12,-13,17,-27,17", "w": 178 }, "\u00ef": { "d": "47,-109v17,-27,40,5,43,27v-2,27,4,62,-7,80v-14,1,-13,3,-29,-3v-13,-18,-16,-74,-7,-104xm15,-170v20,-7,32,4,42,17v4,22,-39,23,-49,9v-5,-9,2,-12,6,-23v-1,3,-4,0,-4,-1r6,1xm124,-134v-18,6,-33,-2,-43,-15v0,-24,39,-26,49,-12v6,8,0,13,-5,23v1,-2,4,0,4,1r-6,0", "w": 141 }, "\u00f1": { "d": "159,-163v45,15,39,122,22,170v-52,16,-35,-59,-34,-108v-29,-2,-44,29,-63,47v-16,15,-25,31,-33,45v-10,3,-15,1,-26,2v0,-7,-5,-11,-10,-5v-12,-45,3,-85,15,-128v6,-2,9,-6,17,-3v7,14,16,18,17,39v41,-23,47,-51,95,-59xm203,-237v-11,36,-68,74,-101,36v-29,-33,-47,19,-77,24v-29,-18,15,-39,24,-51v29,-21,66,0,82,15v15,-3,31,-23,58,-35v7,3,11,6,14,11", "w": 206 }, "\u00f3": { "d": "193,-149v24,9,46,63,23,94v-6,9,-6,9,-19,23v-54,57,-203,50,-182,-57v-14,-93,110,-114,178,-63r0,3xm56,-73v32,39,121,10,130,-28v-11,-16,-17,-26,-31,-22v-17,-13,-58,-1,-81,3v-3,7,-2,16,-2,23v-7,2,-14,17,-16,24xm148,-296v12,-16,20,10,30,9v2,25,-35,36,-53,49v-25,19,-46,40,-78,52v-8,-2,-15,-7,-26,-6v5,-7,-3,-18,8,-25v45,-29,66,-50,119,-79" }, "\u00f2": { "d": "193,-149v24,9,46,63,23,94v-6,9,-6,9,-19,23v-54,57,-203,50,-182,-57v-14,-93,110,-114,178,-63r0,3xm56,-73v32,39,121,10,130,-28v-11,-16,-17,-26,-31,-22v-17,-13,-58,-1,-81,3v-3,7,-2,16,-2,23v-7,2,-14,17,-16,24xm51,-257v-15,-8,-8,-38,7,-35v45,10,72,54,119,62v9,14,19,20,12,35v-28,20,-76,-27,-112,-43v-7,-4,-16,-10,-26,-19" }, "\u00f4": { "d": "193,-149v24,9,46,63,23,94v-6,9,-6,9,-19,23v-54,57,-203,50,-182,-57v-14,-93,110,-114,178,-63r0,3xm56,-73v32,39,121,10,130,-28v-11,-16,-17,-26,-31,-22v-17,-13,-58,-1,-81,3v-3,7,-2,16,-2,23v-7,2,-14,17,-16,24xm174,-193v-15,-16,-27,-29,-54,-50v-27,18,-33,39,-54,60v-24,4,-35,-19,-24,-33v28,-15,44,-55,76,-72v29,3,59,54,76,64v2,5,2,5,7,14v-6,12,-13,17,-27,17" }, "\u00f6": { "d": "193,-149v24,9,46,63,23,94v-6,9,-6,9,-19,23v-54,57,-203,50,-182,-57v-14,-93,110,-114,178,-63r0,3xm56,-73v32,39,121,10,130,-28v-11,-16,-17,-26,-31,-22v-17,-13,-58,-1,-81,3v-3,7,-2,16,-2,23v-7,2,-14,17,-16,24xm57,-235v20,-7,32,4,42,17v4,22,-39,23,-49,9v-5,-9,2,-12,6,-23v-1,3,-4,0,-4,-1r6,1xm166,-199v-18,6,-33,-2,-43,-15v0,-24,39,-26,49,-12v6,8,0,13,-5,23v1,-2,4,0,4,1r-6,0" }, "\u00f5": { "d": "193,-149v23,10,46,62,24,94v-32,49,-137,89,-190,31v-22,-45,-23,-134,35,-145v49,-9,89,-16,131,17r0,3xm56,-73v27,39,100,6,122,-10v20,-15,-8,-47,-23,-40v-17,-13,-58,-1,-81,3v-3,7,-2,16,-2,23v-7,2,-14,17,-16,24xm226,-246v-25,28,-76,81,-115,33v-18,-21,-25,-8,-44,-4v-15,14,-45,45,-57,17v12,-25,43,-53,78,-55v15,-1,49,24,56,29v17,-5,34,-28,66,-40v8,3,19,6,16,20" }, "\u00fa": { "d": "163,-156v58,18,10,114,-15,137v-17,16,-35,21,-60,25v-32,5,-85,-51,-70,-109v49,-34,20,73,82,48v46,-19,38,-58,63,-101xm141,-241v12,-16,20,10,30,9v2,25,-35,36,-53,49v-25,19,-46,40,-78,52v-8,-2,-15,-7,-26,-6v5,-7,-3,-18,8,-25v45,-29,66,-50,119,-79", "w": 201 }, "\u00f9": { "d": "163,-156v58,18,10,114,-15,137v-17,16,-35,21,-60,25v-32,5,-85,-51,-70,-109v49,-34,20,73,82,48v46,-19,38,-58,63,-101xm35,-240v-15,-8,-8,-38,7,-35v45,10,72,54,119,62v9,14,19,20,12,35v-28,20,-76,-27,-112,-43v-7,-4,-16,-10,-26,-19", "w": 201 }, "\u00fb": { "d": "163,-156v58,18,10,114,-15,137v-17,16,-35,21,-60,25v-32,5,-85,-51,-70,-109v49,-34,20,73,82,48v46,-19,38,-58,63,-101xm153,-172v-15,-16,-27,-29,-54,-50v-27,18,-33,39,-54,60v-24,4,-35,-19,-24,-33v28,-15,44,-55,76,-72v29,3,59,54,76,64v2,5,2,5,7,14v-6,12,-13,17,-27,17", "w": 201 }, "\u00fc": { "d": "163,-156v58,18,10,114,-15,137v-17,16,-35,21,-60,25v-32,5,-85,-51,-70,-109v49,-34,20,73,82,48v46,-19,38,-58,63,-101xm35,-200v20,-7,32,4,42,17v4,22,-39,23,-49,9v-5,-9,2,-12,6,-23v-1,3,-4,0,-4,-1r6,1xm144,-164v-18,6,-33,-2,-43,-15v0,-24,39,-26,49,-12v6,8,0,13,-5,23v1,-2,4,0,4,1r-6,0", "w": 201 }, "\u2020": { "d": "45,-259v-23,15,-52,-13,-26,-31v14,1,25,-2,37,-3r8,-39v21,-5,18,22,22,38v14,2,35,5,34,20v-10,9,-21,9,-38,14r-4,107v1,9,-11,16,-25,14v-14,-31,10,-87,0,-119v-2,0,-5,-1,-8,-1", "w": 130 }, "\u00b0": { "d": "32,-220v-11,-10,-38,-56,-7,-61v3,-17,35,-41,59,-20v27,9,74,80,22,94v-31,9,-58,0,-74,-13xm59,-254v2,10,39,8,37,-5v-4,-8,-20,-5,-32,-6v1,4,-7,11,-5,11", "w": 136 }, "\u00a2": { "d": "72,-25v-37,-11,-77,-46,-64,-96v9,-32,51,-63,86,-72v37,-24,14,-72,55,-99v36,5,20,53,13,79v11,6,51,4,39,37v-1,9,-9,22,-20,21r12,4v-17,-3,-32,2,-44,2v-12,14,-22,44,-23,71v8,5,41,12,58,12v16,41,-23,42,-59,45v-3,-5,-3,-3,-8,0v1,1,2,1,3,1v-16,9,-16,34,-29,47v-15,-11,-16,-24,-19,-52xm78,-88v2,-11,9,-21,7,-34v-11,6,-22,8,-25,20", "w": 210 }, "\u00a3": { "d": "140,-207v31,4,82,-15,96,17v-3,2,-3,3,-2,8v-1,1,-13,2,-9,7v-14,9,-81,9,-74,18v-2,0,-5,1,-10,2r-3,68v14,8,55,50,84,33v8,2,42,-29,46,-11v14,4,5,13,13,19v0,8,-21,16,-10,21v-13,10,-48,21,-63,20v-35,-4,-40,-13,-78,-36v-8,34,-45,82,-92,57v-13,2,-24,-30,-24,-50v2,-43,29,-78,74,-76v1,-16,6,-33,2,-49r-28,-3r2,-2v-11,-3,-14,-17,-16,-27v-3,-15,34,-10,44,-13v-2,-63,16,-125,80,-120v36,3,93,44,54,79v-8,-3,-16,-10,-17,-22v-13,-21,-63,-20,-65,15v-1,15,-6,28,-4,45xm59,-32v11,6,18,-18,20,-32v-9,-2,-19,14,-16,22v-4,-1,-5,5,-4,10", "w": 285 }, "\u00a7": { "d": "193,-91v0,11,-16,30,-12,37v24,28,12,84,-10,105v-19,19,-17,26,-49,43v-24,13,-11,33,-43,33v0,0,2,1,3,1v-26,12,-31,-16,-41,-33v-1,-29,50,-49,54,-63v30,-31,61,-59,20,-81v-44,-24,-136,-81,-88,-156v-19,-30,-26,-46,-11,-79v25,-24,109,-72,150,-32v13,36,-45,23,-70,39v-21,13,-41,13,-40,38v13,22,35,30,77,42v45,25,57,57,60,106xm70,-169v-5,-2,-6,11,-7,12v0,21,50,49,77,59v31,-43,-54,-64,-70,-71", "w": 200 }, "\u2022": { "d": "53,-165v23,-32,74,3,77,25v31,38,-7,82,-61,78v-25,-1,-70,-34,-50,-74v8,-16,20,-25,34,-29xm70,-115v12,3,31,-8,17,-11v-5,4,-14,4,-17,11", "w": 150 }, "\u00b6": { "d": "100,-97v-50,2,-96,-32,-90,-85v3,-22,6,-38,16,-48v20,-35,52,-62,89,-81v18,-24,55,-14,93,-20v9,-2,13,9,21,13v19,108,-12,223,-8,342v-4,22,-20,16,-32,25v-2,-7,-18,2,-17,-12v-18,-83,14,-190,10,-288v5,-18,-11,-24,-18,-15v-6,41,-13,98,-6,136v-10,47,-10,106,-13,161v-3,10,-13,12,-19,21v-7,-4,-21,-7,-22,5v-6,-10,-13,-14,-13,-27", "w": 250 }, "\u00df": { "d": "266,-256v9,44,-12,59,-26,88v-11,9,-28,25,-32,43v47,34,118,86,80,166v-22,45,-80,72,-103,109v0,-1,0,-2,-1,-3v-7,5,-20,14,-25,24v-8,-4,-10,-5,-15,0v-5,-8,-21,-15,-12,-32v9,-60,65,-77,97,-124v15,-67,-78,-65,-89,-126v7,-45,32,-74,59,-103v13,-14,9,-32,-7,-40v-15,-22,-45,-4,-66,-6v0,0,-9,2,-28,7v-18,10,-36,15,-35,45r7,236v-9,16,15,47,-3,58v-6,4,-1,4,-8,3v-5,11,-9,10,-16,6v0,-10,-1,-7,-7,-16r-15,-143r-9,-178v0,-21,14,-51,29,-58v57,-27,91,-33,162,-28v34,17,59,52,63,72", "w": 312 }, "\u00ae": { "d": "284,-144v-25,68,-96,117,-186,84v-47,-17,-76,-42,-84,-70v-31,-101,16,-152,81,-189v23,-13,57,-18,89,-11v1,2,2,6,5,8v58,21,128,90,95,178xm156,-277v-5,-2,-11,4,-3,3xm197,-259v1,26,11,45,-6,75v16,10,28,24,26,46v28,-34,29,-36,25,-80v-16,-24,-31,-38,-45,-41xm146,-274v-13,0,-22,9,-33,13v13,5,22,-9,33,-13xm199,-126v-24,-4,-52,-17,-63,-32r-6,41v29,5,47,3,69,-9xm83,-137v2,-36,10,-73,9,-108v-29,28,-45,51,-33,89v5,5,13,11,24,19", "w": 296 }, "\u00a9": { "d": "131,-282v8,-16,58,-13,70,-3v2,1,2,0,18,14v43,37,66,108,45,171v-14,16,-10,32,-27,38v-31,41,-117,54,-169,16v-36,-26,-57,-60,-63,-113v9,-66,44,-102,105,-120v1,-6,16,-5,21,-3xm165,-99v-63,6,-104,-26,-91,-88v-14,14,-24,41,-13,60v35,59,163,55,163,-25v0,-44,-21,-89,-74,-72v-31,-8,-45,13,-66,24v28,-4,60,-37,93,-15v4,8,18,33,3,42v-21,4,-51,6,-56,21v29,2,79,29,41,53", "w": 279 }, "\u2122": { "d": "165,-235v-7,19,-10,84,-43,54v-14,-3,-4,-20,-11,-29r9,-57v-13,-3,-28,-1,-24,18v-4,23,-4,49,-17,63r0,5v-36,7,-27,-37,-30,-75v-12,-9,-33,-2,-38,-19v-6,-18,-7,-37,14,-43v44,-11,85,-3,125,-15v35,10,45,58,66,83v20,-20,35,-31,47,-60v40,-19,44,39,42,87v-2,22,-2,51,-27,52v-4,-4,-8,-8,-13,-10v-8,-15,-3,-25,-8,-39r-25,35v-39,20,-46,-30,-67,-50", "w": 319 }, "\u00b4": { "d": "136,-319v12,-16,20,10,30,9v2,25,-35,36,-53,49v-25,19,-46,40,-78,52v-8,-2,-15,-7,-26,-6v5,-7,-3,-18,8,-25v45,-29,66,-50,119,-79", "w": 177 }, "\u00a8": { "d": "20,-295v20,-7,32,4,42,17v4,22,-39,23,-49,9v-5,-9,2,-12,6,-23v-1,3,-4,0,-4,-1r6,1xm129,-259v-18,6,-33,-2,-43,-15v0,-24,39,-26,49,-12v6,8,0,13,-5,23v1,-2,4,0,4,1r-6,0", "w": 144 }, "\u2260": { "d": "5,-152v2,-12,10,-26,28,-26r112,-2v6,-6,12,-12,18,-20v18,-16,34,-31,61,-47v5,5,19,-1,13,11v16,21,-6,25,-27,55r85,0v12,3,6,28,17,36v-4,2,-4,3,-5,7v-25,11,-86,17,-103,11v-15,13,-43,-10,-49,16r105,-2v17,-1,11,26,20,35v-27,19,-106,20,-162,19v-10,9,-33,58,-43,79v-4,-2,-9,4,-13,6r-17,-8v-1,-5,-7,-16,-6,-29v5,-15,17,-32,19,-47v-41,11,-71,-33,-33,-53v21,3,39,2,66,1v2,-2,11,-14,2,-15v-39,-5,-80,14,-88,-27", "w": 316 }, "\u00c6": { "d": "12,-4v-21,-39,14,-69,28,-101v-7,-18,26,-33,31,-52r47,-58v0,-14,22,-22,22,-37v11,-15,30,-51,41,-72v24,-6,58,1,88,-4v27,4,60,-4,90,1v24,4,56,-5,62,17v7,4,12,28,1,33v-6,-4,-9,-1,-14,2v-31,-10,-78,-10,-114,-5v-16,-8,-49,-3,-68,2v4,34,4,72,12,102v51,1,109,-8,152,3v25,0,61,3,63,32v-11,5,-6,16,-20,12v-52,9,-123,-8,-187,3v-4,15,3,48,14,76v29,1,59,1,86,1v52,0,124,-17,123,45v-9,10,-31,9,-50,9r-123,3v-17,-4,-74,-2,-78,-25r-18,-104v-31,3,-62,14,-94,10v-20,23,-37,46,-53,90v-4,10,-11,22,-27,22v0,-5,-11,-3,-14,-5xm187,-234v-11,11,-26,29,-30,44v-7,5,-16,14,-14,24v17,1,37,-3,52,-7", "w": 484 }, "\u00d8": { "d": "392,-312v20,-11,75,-33,74,11v-6,3,-15,6,-8,10v-29,15,-56,32,-83,49v23,29,23,55,29,96v-12,110,-75,135,-157,180v-45,13,-87,11,-126,2v-25,-6,-24,-5,-48,-25r-75,70v-7,-1,-22,1,-13,-5v-3,-4,-11,-3,-17,-2v0,-11,-7,-23,-5,-38r73,-79v-12,-109,20,-203,93,-236v16,-19,20,-17,61,-32r-1,-3v1,0,5,-1,10,-2v-4,6,6,3,6,3v2,-6,5,-3,13,-5r-1,1v19,7,31,-14,58,1v27,4,44,22,68,31v14,-12,33,-18,49,-27xm298,-261v-18,-10,-55,-22,-64,4v-59,2,-129,46,-143,97v1,1,-17,52,-11,73v68,-63,142,-120,218,-174xm311,-203v-62,53,-149,107,-203,172v57,26,134,15,190,-31v55,-24,88,-105,41,-157v-10,5,-17,16,-28,16", "w": 432 }, "\u221e": { "d": "493,-136v-22,65,-109,108,-182,72v-24,3,-43,-20,-72,-19v-2,4,-4,7,-8,8v1,0,1,-3,0,-4v-5,0,-10,9,-14,13v-43,13,-87,45,-136,35v-1,5,-4,2,-9,2v-36,-21,-77,-77,-50,-140v10,-22,49,-41,73,-63v18,-9,27,-4,44,-3v37,21,50,53,104,78v49,-26,101,-72,186,-72v16,0,47,32,54,45xm386,-172v-5,4,-29,5,-12,10v1,-6,6,-7,12,-10xm371,-158r-6,0v1,1,3,2,6,0xm367,-165v-6,0,-16,4,-12,7v4,-3,4,-2,12,-7xm311,-123v44,16,121,19,135,-24v-8,-19,-43,-13,-58,-18v-2,5,-9,-1,-16,5v4,-1,2,-1,5,1v-9,3,-20,12,-29,12v0,-1,8,-3,2,-3v-10,11,-28,18,-39,27xm340,-150v3,0,7,-1,6,-6v-3,1,-2,5,-6,6xm423,-67v-15,4,-36,9,-59,11v21,6,42,-3,59,-11xm216,-72v0,3,-11,3,-2,5v1,-2,2,-3,2,-5xm76,-142v-26,31,3,57,31,46v28,-10,60,-11,81,-30r-63,-59v-9,4,-14,6,-17,13v2,-1,4,-1,5,1v-14,5,-25,15,-37,29xm200,-68v-2,0,-3,1,-5,3v1,-1,3,-1,5,-3", "w": 502 }, "\u00b1": { "d": "105,-188v14,-15,0,-54,25,-57v1,0,8,8,19,22v4,9,-2,30,10,30v25,1,49,-1,57,18v5,11,4,17,9,22v-6,3,-8,5,-14,9v3,-2,8,0,8,3v-18,-6,-26,12,-49,7v-11,1,-18,6,-27,10v-8,7,4,61,-16,52v-4,7,-6,6,-11,-3v-22,1,-22,-20,-21,-43v-11,-5,-32,8,-40,-5r-9,3v3,-9,-25,-16,-12,-30v-9,-21,10,-39,41,-33xm239,-19v-11,1,-11,12,-10,24v-47,13,-100,3,-148,15r4,2v-27,-2,-35,8,-58,0v-2,-8,-19,-14,-10,-28v-10,-71,123,-34,196,-52v2,6,6,4,13,7v4,10,13,18,8,29v1,0,3,1,5,3", "w": 246 }, "\u2264": { "d": "232,-26v13,7,23,15,34,24v-3,13,7,17,-5,22v1,7,-3,7,-9,6v2,3,-2,2,-9,7v2,1,3,3,2,4v-58,7,-130,0,-186,9v-18,-1,-21,-5,-35,-10v-11,-12,-28,-47,1,-53v62,-12,131,1,188,-10v-57,-25,-141,-54,-186,-98v-22,-51,27,-61,46,-85v31,-25,69,-38,94,-70v6,-4,12,-1,22,-3v17,16,32,41,9,58v0,13,-20,23,-29,22v2,7,-7,11,-12,8v-12,8,-13,16,-30,20v-9,11,-22,17,-29,30v41,28,76,38,124,54v6,6,35,19,34,32v10,15,-21,19,-8,29v-2,0,-21,-10,-15,1v-1,2,-1,3,-1,3", "w": 277 }, "\u2265": { "d": "179,-102v-30,19,-61,50,-87,73r171,-1v7,4,14,3,16,8v4,16,23,14,21,39v-5,0,-10,10,-18,10v0,4,1,5,3,8v-7,1,-3,-7,-14,-5v-1,5,4,4,0,9v-68,-10,-157,-5,-220,9v-20,-3,-44,-13,-44,-41v0,-30,26,-23,54,-33v-12,-12,-31,-30,-17,-55v20,-18,49,-41,81,-59v9,-5,15,-10,17,-15v-46,-35,-59,-45,-106,-89v-10,-20,-4,-66,26,-49v36,20,63,60,119,92v16,25,60,21,54,58v7,10,-13,13,-5,24v-4,1,-10,7,-8,-2v-11,4,-21,13,-32,13v-1,3,-3,9,-11,6", "w": 307 }, "\u00a5": { "d": "254,-291v18,-11,38,-1,35,21v5,4,9,7,3,14v-29,36,-66,68,-87,111v-11,8,-18,31,-30,48v9,9,119,4,97,36v-7,32,-78,6,-114,19v-5,32,-15,69,-29,109v-17,17,-50,3,-47,-20v4,-31,17,-63,19,-92v-29,-2,-65,8,-65,-25v0,-30,42,-23,66,-30v2,2,11,4,10,-2v-38,-52,-56,-108,-95,-167v-3,-19,1,-39,26,-39v14,9,17,8,27,27v13,25,47,90,72,128r4,2", "w": 299 }, "\u00b5": { "d": "297,-259v18,-45,100,-76,141,-28v14,16,31,64,13,93v-12,65,-68,74,-107,106v-6,1,-14,4,-25,9v36,14,108,-16,127,23v-4,4,-5,7,-5,14v-6,3,-10,7,-14,13v-24,7,-61,10,-101,14v-9,12,2,36,-18,42v0,3,-1,4,-4,4v-3,-5,-6,-4,-7,0v-19,-7,-22,-23,-31,-41v-33,5,-81,3,-59,-41v-15,-3,-42,-1,-59,7v1,23,22,52,-2,62v-6,6,-8,9,-20,5v-16,-16,-26,-44,-40,-66v-27,-2,-70,11,-78,-13v-5,-3,-8,-8,-7,-17v8,-40,37,-22,73,-29v-5,-99,0,-174,61,-221v69,-26,133,10,162,64xm316,-118v11,7,19,-9,28,-5v-3,0,-2,-1,-2,-2v54,-6,125,-58,87,-115v-9,2,-13,-16,-25,-9v-82,-25,-82,62,-98,129v0,4,8,6,10,2xm170,-277v-61,12,-51,111,-44,175v29,1,65,-6,90,-1v12,-5,26,-3,39,-7v6,-51,15,-91,27,-119v-5,-14,-15,-19,-23,-29v-29,-8,-52,-23,-90,-21v0,1,0,1,1,2", "w": 465 }, "\u2202": { "d": "65,-48v28,25,112,6,148,2v22,-8,56,-16,83,-28v-31,-94,106,-158,145,-66v7,16,-2,29,-6,42v-16,7,-18,27,-34,34v11,8,30,4,47,4v26,0,61,0,57,-37v-8,-74,37,-103,92,-120v23,-7,59,1,74,7v0,0,-2,1,-3,2v14,3,12,13,25,16v5,14,-15,8,-8,20v-29,8,-74,0,-102,23v-40,18,-31,64,-35,113v-10,21,-72,35,-97,29v-50,8,-84,-8,-121,-21v-34,13,-75,24,-113,33v-17,-1,-46,9,-61,6v-74,7,-150,-7,-145,-76v5,-66,83,-81,131,-102v23,-5,48,-8,77,-7r5,-94v5,-23,2,-83,34,-54v31,15,12,62,12,98v0,30,5,65,0,92v-12,9,-26,-2,-42,6v-58,-24,-153,38,-163,69r0,9xm344,-93v13,-6,49,-22,57,-45v-32,-12,-65,19,-57,45", "w": 687 }, "\u2211": { "d": "341,-181v-2,10,1,14,8,18v-8,4,-10,6,-14,14v-28,6,-53,9,-73,20v-2,22,15,49,-1,70v-32,42,-121,64,-191,55v-24,-9,-62,-36,-59,-75v4,-65,72,-101,124,-111v12,0,18,6,28,9v12,13,27,36,15,54v-13,38,-64,59,-106,50v-3,-3,-20,-21,-18,-1v2,29,61,36,94,28v22,-6,54,-15,76,-31v5,-27,-19,-57,0,-76v10,-31,83,-42,117,-24xm81,-120v27,3,50,-12,64,-25v-20,-23,-49,13,-64,25", "w": 358 }, "\u220f": { "d": "348,-242v-12,-23,17,-52,40,-24v3,14,3,18,-1,34v-5,0,-11,9,-21,8v-4,-12,-9,-11,-19,-14v0,-1,0,-2,1,-4xm148,-172v74,8,217,-29,176,75v-4,12,-8,69,-33,81v-17,-5,-36,-14,-31,-42r12,-64v-2,-2,-3,-4,-3,-4v-45,4,-94,-3,-132,9v-24,39,-5,102,-41,132v-5,-3,-12,-11,-17,-4v-35,-18,-5,-86,-5,-122v-16,2,-32,8,-48,7v2,-2,4,-9,-4,-7v-13,3,-18,-14,-15,-31v21,-20,39,-16,81,-21v17,-59,14,-63,38,-131v6,-19,16,-28,27,-28v15,0,22,12,24,29", "w": 354 }, "\u03c0": { "d": "245,-269v4,-2,5,-2,2,3v-1,-1,-2,-3,-2,-3xm76,-238v-25,17,-72,37,-92,15v-7,-3,-2,-2,-1,-9v-5,-3,-6,-16,-4,-23v87,-43,208,-63,321,-77v15,4,24,12,28,31v-11,4,-6,20,-17,16v-4,11,-14,-4,-19,3v-5,4,-23,10,-30,3v0,12,-16,2,-21,11v-12,-4,-20,0,-22,10v-2,-9,-15,0,-20,1v1,0,2,3,2,1v-20,4,-41,12,-56,25v-5,23,-16,40,-17,67v55,-15,127,-30,171,13v43,43,10,95,1,149v-7,12,-8,26,-18,39v0,-1,0,-3,-1,-5v-5,10,-26,15,-31,-3v-13,-40,16,-87,21,-128v-10,-37,-81,-31,-115,-19v0,11,-11,-6,-11,5v-44,7,-43,84,-53,134v-8,-5,-14,0,-17,9v-11,-7,-17,-5,-14,-16v-11,-3,-10,-17,-8,-30r23,-133v5,-30,20,-63,19,-92v-8,-1,-12,9,-19,3xm250,-277v0,1,9,4,5,1v-1,0,-3,-1,-5,-1xm76,26v0,-1,-6,-8,-4,0r4,0", "w": 336 }, "\u222b": { "d": "100,-309v21,-39,101,-29,110,15v4,2,5,15,-2,15v-18,-1,-29,-13,-45,-11r1,-2v-50,0,-37,68,-46,125r18,211r3,0r4,64v-2,57,-51,82,-106,58v-10,-8,-26,-42,-10,-62v23,-3,28,11,48,13v17,-129,-38,-312,25,-426", "w": 229 }, "\u00aa": { "d": "135,-292v-12,37,53,71,28,104v-25,0,-34,-18,-47,-30v-16,18,-56,26,-79,7v-37,-46,2,-104,56,-99v15,1,31,0,42,18xm68,-240v12,-2,28,-17,20,-29v-8,2,-27,19,-20,29", "w": 180 }, "\u00ba": { "d": "74,-321v45,1,64,31,69,70v-2,7,-8,23,-17,35v-39,20,-110,10,-110,-37v0,-15,5,-27,15,-36v5,-21,19,-32,43,-32xm102,-262v0,-13,-25,-7,-33,-9v-2,5,-13,13,-5,18v13,-6,23,3,38,-9", "w": 159 }, "\u2126": { "d": "306,-130v54,-32,162,-38,184,32v18,57,-46,91,-100,87v-12,4,-24,-1,-33,-2v1,0,2,1,4,2v-42,2,-70,-43,-56,-91v-9,-4,-24,-2,-34,-1v1,1,5,4,0,3v-6,0,-15,-9,-21,-2v-1,9,-17,-1,-22,3v1,-1,1,-2,-1,-2v-5,5,-15,1,-28,4r0,3v-13,5,-32,3,-39,14v-10,-3,-15,12,-16,24v9,27,22,53,24,81v-5,1,-9,-5,-14,0v2,4,9,6,1,9v-2,-1,-4,-3,-7,-5v0,9,-11,16,-17,8v-22,-28,-31,-69,-48,-102r-36,13v1,0,2,1,2,1v-7,4,-34,11,-38,0v9,-4,-9,-17,0,-26v-2,-28,43,-19,67,-37v-13,-100,6,-211,111,-209v44,2,88,21,92,71v-14,6,-33,20,-40,0v-9,-2,-6,-12,-19,-14v1,2,-2,1,-2,1v-13,-17,-47,-14,-60,1v-31,11,-37,83,-32,135v37,9,70,-13,99,-4v8,-12,27,2,40,-4v-1,4,2,5,2,1v15,-2,21,6,34,1v1,0,1,2,3,5xm345,-74v24,26,72,19,97,-2v-2,-33,-52,-36,-79,-27v-6,10,-15,16,-18,29xm445,-23v3,1,7,-3,2,-2xm436,-21r-4,1v2,0,3,0,4,-1xm350,-15r-4,-1v2,0,3,1,4,1", "w": 534 }, "\u00e6": { "d": "130,-182v30,-54,163,-31,156,36v-3,2,-10,4,-5,7v-5,28,-42,40,-82,52v28,25,82,16,111,34v4,10,15,18,9,31v-38,27,-111,6,-141,-15v-4,0,-9,-1,-17,-3v-15,12,-26,28,-43,38v2,1,2,2,2,2v-20,2,-44,18,-62,0v-30,-6,-55,-43,-40,-77v16,-37,59,-40,98,-53v-15,-25,-58,-22,-86,-8v-26,-2,-33,-23,-24,-42v28,-25,91,-31,124,-2xm232,-156v-17,-10,-60,-6,-55,14v10,5,43,-3,55,-14xm103,-62v3,-5,12,-8,10,-14v-16,4,-27,13,-42,18v-1,2,-8,10,1,8v1,0,12,-5,31,-12", "w": 317 }, "\u00f8": { "d": "315,-301v8,10,19,17,23,31v-11,25,-36,25,-56,47v6,12,14,20,23,24v33,112,-44,173,-122,205v-2,-4,-18,0,-12,2v-1,0,-1,0,-2,1v2,0,5,1,8,2v-11,-1,-19,1,-27,3r-58,-20v-20,19,-32,61,-48,87v-4,-6,-6,0,-10,5v-2,-8,-9,-9,-15,-3v-9,-4,-14,-15,-17,-25v-1,3,-3,4,-4,1v1,-42,24,-72,40,-106v-21,-32,-45,-55,-21,-103v28,-58,38,-65,98,-97v29,-16,67,-24,113,-4v26,-15,43,-53,87,-50xm161,-99v-16,11,-22,26,-35,43v40,9,36,-4,83,-25v21,-20,47,-40,46,-83v0,-11,-17,-23,-25,-10v-9,15,-37,31,-48,49v-6,9,-18,13,-21,26xm166,-199v-20,2,-42,10,-50,26v-17,13,-33,43,-36,68", "w": 328 }, "\u00bf": { "d": "186,-273v-22,-7,-12,-49,8,-49v29,0,41,56,9,56v-10,0,-9,1,-17,-7xm88,30v49,4,84,-11,122,-14v2,-7,14,0,23,-4v-2,11,9,21,-6,28v0,22,-25,24,-35,28v-5,5,-15,7,-29,10v-21,5,-48,13,-71,4v-4,4,-18,3,-17,4v2,0,2,-1,2,-3v-60,-15,-85,-77,-28,-118v25,-18,84,-45,114,-52v8,-44,1,-103,15,-141v4,-8,14,-11,23,-7v30,41,7,134,5,197v-59,3,-99,28,-133,56v-4,9,3,12,15,12", "w": 259 }, "\u00a1": { "d": "45,-301v5,-27,40,-21,46,7v6,29,-31,38,-42,14v-8,-6,-2,-11,-4,-21xm68,67v-10,29,-52,20,-53,-9v-4,-82,12,-130,17,-224v0,-2,2,-9,5,-20v5,-4,7,-5,7,-9v25,-12,45,11,41,38v-9,59,-17,133,-17,224", "w": 111 }, "\u00ac": { "d": "315,-176v26,-12,45,4,60,20v4,38,-2,87,0,131v-7,-14,-12,10,-22,8v2,11,-4,1,-11,6v-11,-5,-26,1,-27,-14v-21,-12,0,-71,-8,-95v-32,-1,-69,-1,-97,-2r-151,-6v-35,-1,-51,-54,-11,-60v82,10,176,10,267,12", "w": 394 }, "\u221a": { "w": 379 }, "\u0192": { "d": "20,-71v-7,-15,-10,-46,11,-46r6,-6v-8,-89,-27,-218,85,-202v16,3,23,16,34,20r6,21v-11,18,-37,8,-55,2v-62,9,-26,107,-24,161v17,1,41,-6,43,13v20,26,-26,26,-37,36r3,155v1,10,-17,54,-15,67v-21,6,-52,19,-73,7v-10,-12,-37,-50,-17,-72v21,1,42,44,55,14v3,-47,1,-117,-1,-166v-5,-4,-14,-3,-21,-4", "w": 147 }, "\u2248": { "d": "336,-194v32,9,68,-31,108,-38v12,12,22,44,3,57v-31,20,-67,49,-102,50v-68,3,-88,-74,-163,-65v-57,7,-82,26,-132,59v-29,0,-39,-24,-27,-52v40,-29,61,-50,102,-59v37,-8,61,-11,73,-11v50,0,100,49,138,59xm55,-27v-26,10,-41,-10,-37,-41v11,-31,39,-32,79,-61v43,-31,130,-27,172,15v22,22,90,37,118,3v1,0,20,-18,36,-15v-1,5,2,9,6,10v5,14,6,28,3,40v-64,81,-127,67,-213,0v-19,-15,-85,-11,-100,6", "w": 466 }, "\u2206": { "d": "265,-101v0,20,22,38,25,62v14,10,16,50,-14,44r-172,36v-30,5,-52,12,-79,7v-11,-14,-25,-47,2,-56v37,-80,97,-133,127,-224v-1,-17,29,-29,41,-7v34,37,46,90,70,138xm229,-53r-48,-114v-32,40,-59,100,-84,149", "w": 314 }, "\u00ab": { "d": "202,-99v24,25,51,41,66,76v-1,9,-4,20,-13,23v-9,-2,-16,-2,-25,-2v-30,-17,-108,-68,-99,-129r-48,39r0,3r83,63v8,14,20,35,2,47v-8,-4,-21,-1,-32,-2v-38,-28,-99,-65,-124,-98v-8,-21,-3,-42,13,-47v37,-23,63,-59,106,-83v5,3,13,10,21,18v17,28,11,32,-4,45r1,3r84,-57v19,5,34,25,35,47v-7,20,-46,32,-66,54", "w": 279 }, "\u00bb": { "d": "165,-93v1,-4,19,-15,18,-22v-22,-14,-117,-60,-61,-105v54,17,61,40,115,66v13,14,25,23,25,52v-26,37,-76,83,-104,141v-10,11,-24,5,-41,3v-5,-12,-15,-33,-8,-50v8,-19,24,-33,31,-54v-24,16,-42,37,-57,62v-6,10,-36,12,-45,0v-17,-43,-8,-46,35,-99r-51,-33v-28,-32,0,-78,34,-48v20,18,59,32,86,42v10,13,19,27,23,45", "w": 276 }, "\u2026": { "d": "36,2v-18,-5,-33,-43,-7,-48v22,4,47,41,10,46v4,-1,3,4,2,4v0,-2,-4,-7,-5,-2xm146,2v-15,-6,-23,-22,-20,-40v13,-17,45,3,43,26v-1,8,-9,9,-20,12v3,-1,3,1,3,4v-1,-2,-4,-7,-6,-2xm261,1v-14,5,-34,-30,-17,-43v19,-4,35,11,38,30v-3,11,-6,7,-20,13v2,1,4,3,2,4v-1,-1,-1,-2,-3,-4", "w": 291 }, "\u00a0": { "w": 189 }, "\u00c0": { "d": "176,-166v16,16,25,106,44,134v0,2,2,7,7,17v-5,2,-1,21,-7,10v1,9,-7,19,-22,16v-12,-11,-15,-32,-25,-45v-3,-27,-38,-39,-62,-49v-6,6,-20,-8,-26,3v-1,-3,-9,-4,-11,-1v2,1,3,2,4,3v-13,2,-14,8,-28,5v-7,12,-10,24,-16,36v-30,5,-29,-35,-14,-46v35,-56,57,-116,88,-183v12,-6,30,5,32,17v6,9,32,51,36,83xm67,-70v-2,2,-3,2,-4,3v0,-1,2,-5,4,-3xm73,-120v35,-4,61,4,83,15v-4,-38,-18,-80,-35,-107v-2,3,-13,13,-9,21v-3,-5,-5,5,-6,-1xm62,-308v-12,-5,-8,-26,6,-23v38,7,64,35,103,41v8,9,16,13,11,24v-35,12,-85,-26,-120,-42" }, "\u00c3": { "d": "176,-166v16,16,25,106,44,134v0,2,2,7,7,17v-5,2,-1,21,-7,10v1,9,-7,19,-22,16v-12,-11,-15,-32,-25,-45v-3,-27,-38,-39,-62,-49v-6,6,-20,-8,-26,3v-1,-3,-9,-4,-11,-1v2,1,3,2,4,3v-13,2,-14,8,-28,5v-7,12,-10,24,-16,36v-30,5,-29,-35,-14,-46v35,-56,57,-116,88,-183v12,-6,30,5,32,17v6,9,32,51,36,83xm67,-70v-2,2,-3,2,-4,3v0,-1,2,-5,4,-3xm73,-120v35,-4,61,4,83,15v-4,-38,-18,-80,-35,-107v-2,3,-13,13,-9,21v-3,-5,-5,5,-6,-1xm193,-329v11,29,-49,66,-76,35v-25,-29,-38,20,-66,17v-14,-16,16,-29,24,-39v23,-17,52,1,65,12v12,-3,25,-19,46,-28v2,1,3,1,7,3" }, "\u00d5": { "d": "287,-75r0,0r0,0xm200,-259v13,-5,27,4,39,7v0,1,-1,2,-2,3v12,-2,24,12,35,12v6,6,13,15,18,12v27,35,31,91,8,133v-7,13,-21,19,-27,34v-6,-1,-17,9,-19,18v-15,-3,-24,24,-45,26v-101,54,-240,-14,-189,-139v13,-32,38,-54,70,-66v29,-27,49,-37,101,-42v2,2,3,4,6,2v0,0,-1,0,-1,-2v4,0,5,2,1,3v6,3,11,4,16,2v-4,-1,-4,-1,-11,-3xm62,-146v-27,38,4,102,48,100v66,15,127,-29,155,-69v15,-22,17,-71,-8,-82v-19,-17,-82,-30,-109,-13v-5,-5,-8,8,-18,7v-7,2,-19,16,-26,22v-6,12,-7,29,-16,38v-5,-8,-6,9,-12,-1v-1,2,-1,3,-2,0v1,-9,-12,-11,-13,-4v0,0,1,1,1,2xm248,-329v11,-2,21,5,18,16v-12,14,-41,43,-63,45v-20,1,-35,-24,-51,-28v-19,6,-35,20,-49,32v-19,3,-24,-18,-8,-27v13,-12,32,-30,55,-29v13,-2,42,19,47,24v15,-5,26,-18,51,-33", "w": 319 }, "\u0152": { "d": "496,-172v42,-3,98,-11,107,31v-4,28,-46,15,-76,20v-33,6,-72,16,-102,14v-23,5,-51,-5,-55,20v-4,-3,-1,2,-3,4r-22,27v17,3,39,-8,54,-3v70,-5,140,-21,211,-10v3,2,7,5,13,8v14,17,10,45,-17,46r-65,4v1,-5,2,-4,-4,-4v-1,1,-1,2,0,3v-39,-4,-77,13,-111,8v-19,5,-36,12,-61,11v-7,8,-28,2,-41,4v1,-1,2,-2,0,-3v-17,0,-20,-17,-27,-29v-20,12,-42,23,-71,30v1,1,2,0,4,0v-30,4,-62,3,-94,1v-6,-11,-26,-13,-40,-17v-54,-30,-80,-60,-92,-120v2,-113,92,-156,175,-203v90,6,194,-5,290,3r86,0v8,2,47,5,46,26v10,2,0,13,4,19v-33,31,-92,-6,-138,8v-33,-7,-75,-7,-114,-7v-7,0,-10,4,-14,8v18,18,59,47,61,71v1,13,-2,29,1,40", "w": 618 }, "\u0153": { "d": "8,-68v-10,-95,116,-147,194,-103r14,14v11,-15,49,-38,75,-36v47,4,97,31,87,93v-26,15,-91,21,-124,26v11,27,77,18,114,22v3,6,7,11,10,14v1,3,-11,18,-9,25v-44,32,-133,7,-165,-24v-21,14,-63,44,-106,37v-44,-7,-72,-25,-90,-68xm326,-133v-1,-2,-5,-4,-12,-9v-27,-4,-34,0,-51,15v17,6,42,-4,63,-6xm114,-47v42,-2,110,-66,53,-96v-48,-12,-98,22,-106,58v-4,19,34,38,53,38", "w": 388 }, "\u2013": { "d": "234,-108v20,8,30,17,37,42v-34,32,-136,10,-197,24v-2,0,-6,-3,-7,-1v1,3,0,3,-4,3v-2,-5,-14,-4,-22,-4v-16,-7,-35,-45,-10,-58r96,3xm88,-43v0,1,-1,2,-2,2v1,0,1,-1,2,-2", "w": 294 }, "\u2014": { "d": "59,-44v-36,8,-55,-41,-28,-58v33,-2,64,4,95,3r218,-10v10,4,27,-3,40,-3v20,7,31,20,38,42v-11,20,-59,17,-89,18r-222,6v-27,0,-34,4,-45,3v0,0,0,1,1,2v-3,2,-7,1,-8,-3xm87,-43v0,1,-1,1,-1,1", "w": 439 }, "\u201c": { "d": "68,-321v33,-9,41,42,47,71v-2,9,-11,23,-26,16v-17,-2,-32,-57,-32,-65v0,-2,4,-10,11,-22xm14,-323v52,-1,28,59,54,88v1,20,-27,25,-41,12v-19,-18,-19,-52,-25,-82v3,-4,8,-15,12,-18", "w": 122 }, "\u201d": { "d": "116,-319v19,-6,26,19,33,26v-1,34,-26,40,-34,72v-4,-2,-7,11,-16,13v-24,-1,-27,-33,-20,-56r-39,62v-11,5,-19,2,-27,-5v-19,-43,15,-68,28,-96v18,-38,40,-30,50,0v0,5,-2,12,0,15", "w": 154 }, "\u2018": { "d": "71,-196v-32,-19,-68,-66,-58,-111v23,-20,42,5,51,26v6,15,15,39,22,73v-1,5,-13,9,-15,12", "w": 91 }, "\u2019": { "d": "39,-319v21,-33,54,-5,54,28v-13,34,-14,28,-44,69v-4,2,-8,4,-15,7r-16,-11v-7,-14,-10,-24,-10,-29v-5,-8,31,-60,31,-64", "w": 98 }, "\u00f7": { "d": "195,-219v29,-2,36,51,9,61v-9,8,-22,9,-26,-6v-8,3,-8,-9,-9,-18v5,-4,9,-27,26,-37xm12,-96v-10,-23,19,-33,48,-27r141,-12v50,-1,97,-5,139,-14v13,3,24,19,20,41v-1,2,-9,3,-8,9v-12,0,-23,6,-29,9v-86,-1,-159,15,-240,15v-12,5,-15,-1,-29,6v0,1,1,4,-1,4v-9,-3,-24,1,-35,1v2,2,3,4,7,3v-3,2,-6,2,-10,1v6,-9,0,-6,2,-17v-5,-3,-20,-10,-5,-19xm164,-1v-25,-28,27,-90,48,-45v14,28,-9,51,-41,52v-2,-1,-3,-10,-7,-7xm9,-67v1,1,2,2,2,3v0,0,-1,-2,-2,-3", "w": 371 }, "\u25ca": { "d": "145,69v-34,-17,-40,-41,-73,-62v-17,-31,-80,-52,-53,-100v19,-15,93,-86,110,-121v15,0,29,2,34,12v12,-2,10,10,23,8v23,23,49,79,86,92v7,15,-2,27,-6,41v-21,15,-33,42,-49,65v1,1,4,4,-1,3v-12,7,-13,24,-27,31v-1,9,-7,9,-10,22v-9,0,-19,8,-34,9xm83,-77r65,64r54,-69v-14,-20,-38,-51,-56,-67v-21,23,-45,44,-63,72", "w": 287 }, "\u00ff": { "d": "68,-64v22,-1,62,-38,74,-56v10,-3,19,-4,25,9v10,2,11,15,12,24v-7,49,-22,94,-50,170v0,1,2,1,3,1r-3,0v-13,31,-24,64,-35,97v-14,16,-27,14,-41,-7v-13,-40,8,-72,17,-102v9,-28,27,-54,32,-83v-59,29,-86,-42,-88,-94v1,-12,3,-26,16,-29v23,-6,29,73,38,70xm47,-201v20,-7,32,4,42,17v4,22,-39,23,-49,9v-5,-9,2,-12,6,-23v-1,3,-4,0,-4,-1r6,1xm156,-165v-18,6,-33,-2,-43,-15v0,-24,39,-26,49,-12v6,8,0,13,-5,23v1,-2,4,0,4,1r-6,0", "w": 186 }, "\u0178": { "d": "96,30v-53,4,-24,-82,-11,-110v-9,-6,-13,-3,-22,-9v-24,-42,-58,-94,-57,-159v44,-18,41,83,74,110v5,-6,12,-13,22,-21v20,-25,37,-52,60,-73v6,-12,17,-29,39,-37v7,13,21,23,12,41r-39,68v-16,45,-73,106,-68,174v-3,5,-5,12,-10,16xm58,-312v20,-6,32,4,42,17v0,24,-39,22,-49,9v-5,-9,2,-12,6,-23v-1,3,-5,0,-4,-1r6,1xm167,-277v-13,5,-30,5,-37,-10v-8,-3,-6,-11,-2,-18v25,-14,62,-2,40,25v1,-2,4,0,4,1r-6,0", "w": 215 }, "\u2044": { "d": "-58,103v19,-77,68,-139,103,-205v2,-8,88,-140,105,-201v3,-5,10,-15,21,-28v28,1,38,35,25,52v6,10,-9,18,-7,25v0,0,0,-1,-1,-2r-8,14v1,0,2,-1,2,-1v0,6,-14,11,-10,20v-3,2,-4,3,-2,6v-5,2,-15,11,-13,18v-20,23,-26,54,-44,74v3,19,-25,38,-26,59v-9,16,-14,15,-17,29v-15,9,-11,33,-26,42v-9,28,-27,46,-36,73v1,17,-2,30,-21,42v0,0,2,0,6,2v-2,-2,-14,18,-24,10v-2,6,-14,10,-12,-3v-18,-3,-3,-15,-15,-26", "w": 139 }, "\u00a4": { "d": "202,-5v-61,2,-127,-46,-116,-118v-42,2,-89,-5,-75,-54v21,-13,20,-15,40,-10v28,-3,67,8,76,-15v25,-32,84,-80,130,-83v24,-15,112,-14,94,32v5,7,-1,9,-11,9v-34,-3,-60,3,-91,15r-45,34v49,6,113,-2,160,15v1,1,5,5,13,12v-3,2,-1,6,2,7v-2,3,-13,6,-12,14v5,3,10,4,13,5v-31,-8,-59,6,-87,-3v-27,6,-64,-1,-90,7v2,3,5,0,9,2v-23,9,-36,-1,-57,10v-31,78,88,77,172,72v28,-2,87,-10,80,26v4,7,-6,4,-3,13v-8,4,-13,6,-22,6r0,3v-52,1,-106,4,-157,4v-9,0,-23,4,-23,-3xm203,-138v-1,0,-6,-1,-14,-1v0,5,1,4,2,1r12,0", "w": 422 }, "\u20ac": { "d": "202,-5v-61,2,-127,-46,-116,-118v-42,2,-89,-5,-75,-54v21,-13,20,-15,40,-10v28,-3,67,8,76,-15v25,-32,84,-80,130,-83v24,-15,112,-14,94,32v5,7,-1,9,-11,9v-34,-3,-60,3,-91,15r-45,34v49,6,113,-2,160,15v1,1,5,5,13,12v-3,2,-1,6,2,7v-2,3,-13,6,-12,14v5,3,10,4,13,5v-31,-8,-59,6,-87,-3v-27,6,-64,-1,-90,7v2,3,5,0,9,2v-23,9,-36,-1,-57,10v-31,78,88,77,172,72v28,-2,87,-10,80,26v4,7,-6,4,-3,13v-8,4,-13,6,-22,6r0,3v-52,1,-106,4,-157,4v-9,0,-23,4,-23,-3xm203,-138v-1,0,-6,-1,-14,-1v0,5,1,4,2,1r12,0", "w": 422 }, "\u2039": { "d": "154,-44v5,8,6,19,7,32v-9,13,-29,30,-47,16v-9,4,-24,-9,-70,-33v-40,-20,-42,-44,-12,-82r69,-87v10,-5,18,-1,26,4r8,30v-8,25,-40,51,-52,78v19,20,43,22,71,42", "w": 173 }, "\u203a": { "d": "12,-155v-14,-24,12,-53,38,-45v31,24,49,46,83,72v28,42,-27,80,-36,120v-3,2,-19,9,-25,17v-17,-2,-24,-12,-35,-20v-5,-44,24,-54,32,-85v-16,-16,-48,-42,-57,-59", "w": 154 }, "\uf001": { "d": "265,-189v-37,1,-19,-43,-2,-56v28,-8,42,43,21,49v-5,11,-10,2,-17,12v-2,0,-4,-4,-2,-5xm86,-163v2,6,-3,19,9,18v60,-4,119,-11,180,-6v27,20,26,152,-11,143v-4,4,-12,11,-21,8v-14,-23,-1,-65,-6,-100v-27,-9,-66,-2,-90,5v-14,-5,-46,-5,-47,16v7,22,22,45,17,71v-2,0,-15,8,-6,12v-1,4,-13,10,-14,1v-1,1,-2,2,-2,4v-23,-24,-35,-41,-48,-91v-6,-12,-20,9,-30,-4v-26,-3,-16,-41,-3,-49v8,1,22,-2,28,-5v-1,-55,4,-111,36,-151v29,-36,113,-51,150,-8v5,15,7,33,1,43v-11,-1,-14,4,-19,-10v-20,-24,-75,-17,-95,6v2,4,10,-9,9,1v-26,12,-37,58,-38,96", "w": 304 }, "\uf002": { "d": "61,-107v-43,14,-82,-26,-52,-60v14,-10,40,5,51,-5v3,-59,6,-92,38,-130v19,-13,92,-45,123,-12v35,-18,47,30,49,61r8,123v-2,43,4,94,-3,132v-7,3,-18,15,-30,3v-5,4,-16,-5,-12,-12v-22,-36,8,-95,-5,-147v0,-38,-5,-71,-7,-107v1,-4,-10,-21,-22,-18v-64,-1,-83,47,-85,107v27,8,81,-9,87,25v8,4,5,11,0,22v-29,18,-44,6,-80,14v-11,13,5,60,12,76v1,0,1,-1,1,-2v5,22,-11,41,-32,33v-11,9,-19,-9,-24,-19v-6,-27,-8,-59,-17,-84", "w": 288 }, "\u2021": { "d": "160,-250v0,20,-37,21,-60,25r0,40v23,2,69,-9,64,17v7,28,-39,23,-62,31v0,20,9,43,-11,49v0,0,0,2,-1,3v-14,0,-21,-22,-21,-45v0,-21,-58,11,-54,-29v-1,-6,2,-26,16,-22v12,-2,29,1,38,-4r0,-39v-29,2,-59,-4,-48,-33v1,-20,34,-3,49,-11v3,-21,-8,-56,10,-63v19,3,26,35,22,64v25,-1,58,-8,58,17", "w": 173 }, "\u2219": { "d": "35,-91v-16,5,-32,-31,-17,-43v25,-9,59,39,18,43v2,0,2,2,2,4v-1,-1,-1,-2,-3,-4", "w": 68 }, "\u201a": { "d": "25,60v-36,-24,48,-78,40,-110v18,-23,47,16,45,32v-6,48,-43,74,-74,90v-5,-2,-11,-5,-11,-12", "w": 118 }, "\u201e": { "d": "25,60v-36,-24,48,-78,40,-110v18,-23,47,16,45,32v-6,48,-43,74,-74,90v-5,-2,-11,-5,-11,-12xm112,63v-35,-24,49,-77,41,-109v18,-25,46,14,44,31v-5,50,-44,71,-73,91v-4,-4,-14,-7,-12,-13", "w": 215 }, "\u2030": { "d": "45,-287v12,-35,106,-53,137,-25v0,0,0,1,-1,2r34,20v49,-5,106,-13,106,43v-8,27,-15,33,-33,53r-35,37v4,8,-11,4,-8,12v-7,0,-16,10,-11,12v-14,3,-4,14,-18,20v-7,7,-11,19,-25,19v1,7,-12,7,-5,12v-8,0,-9,5,-8,13v2,-1,27,-4,24,-14v14,-36,52,-54,94,-56v54,-3,75,77,41,112v-14,14,-31,34,-58,40v-46,11,-67,-11,-82,-51v0,-6,1,-13,-2,-16r-42,25v0,1,2,1,3,1v-4,1,-7,1,-8,1v-16,18,-49,44,-73,34v-8,2,-9,2,-16,-3r0,-23r1,1v29,-63,86,-86,134,-139v32,-36,58,-62,76,-92v-16,-8,-35,-4,-50,-1v-6,20,-24,31,-35,47v-21,3,-30,22,-49,24v0,3,-7,7,-11,5v0,0,2,-3,0,-3v-33,8,-86,-6,-93,-32v7,-2,-5,-12,-2,-17xm165,-285v-12,-12,-44,-7,-61,0v15,6,42,3,61,0xm319,-79v3,-7,-23,-27,-36,-14v-19,3,-46,13,-55,38v9,32,66,31,78,3v11,-4,17,-21,5,-29v3,-2,5,-1,8,2xm181,-250v-29,1,-58,7,-86,5r1,3v-16,-1,-28,-1,-23,15v30,35,94,1,108,-23xm195,-56r0,-2r0,2xm454,0v-47,19,-90,11,-101,-41v-7,-34,10,-72,38,-88v57,-33,131,-7,115,70v-3,16,-23,28,-29,43v-3,0,-10,6,-23,16xm382,-61v5,10,7,11,17,22v36,12,60,-11,74,-37v-2,-5,-10,-9,-6,-13v1,1,6,4,7,2v-21,-29,-79,-9,-92,26xm349,-62r0,-3r0,3", "w": 514 }, "\u00c2": { "d": "176,-166v16,16,25,106,44,134v0,2,2,7,7,17v-5,2,-1,21,-7,10v1,9,-7,19,-22,16v-12,-11,-15,-32,-25,-45v-3,-27,-38,-39,-62,-49v-6,6,-20,-8,-26,3v-1,-3,-9,-4,-11,-1v2,1,3,2,4,3v-13,2,-14,8,-28,5v-7,12,-10,24,-16,36v-30,5,-29,-35,-14,-46v35,-56,57,-116,88,-183v12,-6,30,5,32,17v6,9,32,51,36,83xm67,-70v-2,2,-3,2,-4,3v0,-1,2,-5,4,-3xm73,-120v35,-4,61,4,83,15v-4,-38,-18,-80,-35,-107v-2,3,-13,13,-9,21v-3,-5,-5,5,-6,-1xm57,-272v22,-8,33,-44,63,-59v27,7,42,35,63,52v1,3,3,7,6,12v-4,10,-12,13,-23,14v-12,-13,-21,-30,-48,-41v-16,17,-26,33,-41,49v-19,4,-28,-12,-20,-27" }, "\u00ca": { "d": "137,-192v0,-1,-1,-1,-1,-1v1,0,1,1,1,1xm214,-256v4,3,16,-6,14,5v5,1,19,0,21,3v-8,6,-10,12,-15,17v2,-1,3,0,3,2v-4,0,-5,0,-10,1v-23,7,-25,14,-46,18v-14,2,-28,10,-42,9v-1,2,-1,4,0,6v1,-3,-2,-2,-4,-2v-10,7,-23,8,-37,16v-1,6,-9,15,-6,25r96,-6v-3,8,15,0,7,9v14,4,-2,8,1,17v-17,13,-49,18,-73,26v-25,1,-57,10,-55,45v59,1,137,-21,171,15v1,15,-5,12,-9,23v-10,4,-23,3,-35,5r2,2v-4,-1,-6,0,-4,-3r-4,0v0,1,1,1,1,2v-38,0,-68,5,-97,9v-10,7,-43,11,-65,10v-10,-15,-23,-20,-19,-45v5,-28,21,-50,17,-83v2,0,6,-18,12,-16v2,-9,9,-17,6,-27v-25,-8,-27,-45,-8,-55v12,3,31,-4,39,-14v31,13,71,-17,103,-10v11,-6,32,-7,41,-6v-2,1,-3,1,-5,2xm76,-275v23,-4,36,-65,72,-50v15,14,39,33,50,54v-4,9,-10,12,-21,13v-12,-12,-19,-23,-41,-38v-17,12,-27,32,-41,46v-18,1,-25,-11,-19,-25", "w": 242 }, "\u00c1": { "d": "176,-166v16,16,25,106,44,134v0,2,2,7,7,17v-5,2,-1,21,-7,10v1,9,-7,19,-22,16v-12,-11,-15,-32,-25,-45v-3,-27,-38,-39,-62,-49v-6,6,-20,-8,-26,3v-1,-3,-9,-4,-11,-1v2,1,3,2,4,3v-13,2,-14,8,-28,5v-7,12,-10,24,-16,36v-30,5,-29,-35,-14,-46v35,-56,57,-116,88,-183v12,-6,30,5,32,17v6,9,32,51,36,83xm67,-70v-2,2,-3,2,-4,3v0,-1,2,-5,4,-3xm73,-120v35,-4,61,4,83,15v-4,-38,-18,-80,-35,-107v-2,3,-13,13,-9,21v-3,-5,-5,5,-6,-1xm118,-311v10,-3,49,-32,61,-8v-19,21,-69,35,-93,56v-9,7,-22,-2,-32,0v4,-4,-2,-11,6,-16" }, "\u00cb": { "d": "137,-192v0,-1,-1,-1,-1,-1v1,0,1,1,1,1xm214,-256v4,3,16,-6,14,5v5,1,19,0,21,3v-8,6,-10,12,-15,17v2,-1,3,0,3,2v-4,0,-5,0,-10,1v-23,7,-25,14,-46,18v-14,2,-28,10,-42,9v-1,2,-1,4,0,6v1,-3,-2,-2,-4,-2v-10,7,-23,8,-37,16v-1,6,-9,15,-6,25r96,-6v-3,8,15,0,7,9v14,4,-2,8,1,17v-17,13,-49,18,-73,26v-25,1,-57,10,-55,45v59,1,137,-21,171,15v1,15,-5,12,-9,23v-10,4,-23,3,-35,5r2,2v-4,-1,-6,0,-4,-3r-4,0v0,1,1,1,1,2v-38,0,-68,5,-97,9v-10,7,-43,11,-65,10v-10,-15,-23,-20,-19,-45v5,-28,21,-50,17,-83v2,0,6,-18,12,-16v2,-9,9,-17,6,-27v-25,-8,-27,-45,-8,-55v12,3,31,-4,39,-14v31,13,71,-17,103,-10v11,-6,32,-7,41,-6v-2,1,-3,1,-5,2xm77,-312v19,-6,31,5,42,17v4,22,-38,23,-49,10v-7,-10,1,-12,6,-23v-2,2,-5,-2,-5,-2v3,0,7,3,6,-2xm144,-298v8,-17,37,-16,48,-5v5,8,0,13,-5,23v1,-2,4,0,4,1r-6,0r1,3v-18,5,-41,-1,-43,-23", "w": 242 }, "\u00c8": { "d": "137,-192v0,-1,-1,-1,-1,-1v1,0,1,1,1,1xm214,-256v4,3,16,-6,14,5v5,1,19,0,21,3v-8,6,-10,12,-15,17v2,-1,3,0,3,2v-4,0,-5,0,-10,1v-23,7,-25,14,-46,18v-14,2,-28,10,-42,9v-1,2,-1,4,0,6v1,-3,-2,-2,-4,-2v-10,7,-23,8,-37,16v-1,6,-9,15,-6,25r96,-6v-3,8,15,0,7,9v14,4,-2,8,1,17v-17,13,-49,18,-73,26v-25,1,-57,10,-55,45v59,1,137,-21,171,15v1,15,-5,12,-9,23v-10,4,-23,3,-35,5r2,2v-4,-1,-6,0,-4,-3r-4,0v0,1,1,1,1,2v-38,0,-68,5,-97,9v-10,7,-43,11,-65,10v-10,-15,-23,-20,-19,-45v5,-28,21,-50,17,-83v2,0,6,-18,12,-16v2,-9,9,-17,6,-27v-25,-8,-27,-45,-8,-55v12,3,31,-4,39,-14v31,13,71,-17,103,-10v11,-6,32,-7,41,-6v-2,1,-3,1,-5,2xm69,-307v-12,-5,-7,-25,6,-22v37,8,69,33,106,41v4,8,10,9,5,18v-42,9,-81,-22,-117,-37", "w": 242 }, "\u00cd": { "d": "83,-253v43,23,11,96,19,151v-4,23,-7,67,-3,93v-2,1,-17,4,-12,9v-16,6,-19,-1,-31,-10v-6,-66,5,-142,9,-209v0,-7,9,-31,18,-34xm125,-324v10,-12,19,5,30,8v-14,23,-80,40,-110,63v-10,7,-26,0,-38,-1v5,-1,-1,-11,1,-12v29,-19,68,-37,117,-58", "w": 161 }, "\u00ce": { "d": "71,-205v0,-18,7,-40,20,-48v45,22,10,96,19,151v-6,24,-3,60,-5,90v2,1,4,3,-1,5v-5,-3,-10,3,-9,7v-16,6,-18,-2,-30,-10v-9,-60,5,-131,6,-195xm144,-235v-15,-16,-27,-29,-54,-50v-27,18,-33,39,-54,60v-24,4,-35,-19,-24,-33v28,-15,44,-55,76,-72v29,3,59,54,76,64v2,5,2,5,7,14v-6,12,-13,17,-27,17", "w": 176 }, "\u00cf": { "d": "61,-253v45,22,10,96,19,151v-6,24,-3,60,-5,90v2,1,4,3,-1,5v-5,-3,-10,3,-9,7v-16,6,-19,-2,-31,-10v-6,-66,5,-142,9,-209v0,-7,10,-30,18,-34xm13,-304v20,-7,31,5,42,17v1,27,-50,25,-52,3v1,-6,5,-7,9,-16v-1,1,-4,0,-5,-2v3,1,7,4,6,-2xm122,-268v-17,8,-32,-2,-43,-14v-2,-28,49,-28,51,-5v-1,3,-3,8,-7,15v2,-2,5,2,4,2v0,0,-2,-1,-6,-1", "w": 138 }, "\u00cc": { "d": "39,-205v0,-18,7,-40,20,-48v45,22,10,96,19,151v-6,24,-3,60,-5,90v2,1,4,3,-1,5v-5,-3,-10,3,-9,7v-16,6,-18,-2,-30,-10v-9,-60,5,-131,6,-195xm12,-295v-11,-6,-10,-32,5,-29v37,9,58,45,97,51v6,9,19,17,10,24v-6,13,-11,10,-30,4v-29,-17,-55,-29,-82,-50", "w": 134 }, "\u00d3": { "d": "287,-75r0,0r0,0xm200,-259v13,-5,27,4,39,7v0,1,-1,2,-2,3v12,-2,24,12,35,12v6,6,13,15,18,12v27,35,31,91,8,133v-7,13,-21,19,-27,34v-6,-1,-17,9,-19,18v-15,-3,-24,24,-45,26v-101,54,-240,-14,-189,-139v13,-32,38,-54,70,-66v29,-27,49,-37,101,-42v2,2,3,4,6,2v0,0,-1,0,-1,-2v4,0,5,2,1,3v6,3,11,4,16,2v-4,-1,-4,-1,-11,-3xm62,-146v-27,38,4,102,48,100v66,15,127,-29,155,-69v15,-22,17,-71,-8,-82v-19,-17,-82,-30,-109,-13v-5,-5,-8,8,-18,7v-7,2,-19,16,-26,22v-6,12,-7,29,-16,38v-5,-8,-6,9,-12,-1v-1,2,-1,3,-2,0v1,-9,-12,-11,-13,-4v0,0,1,1,1,2xm207,-324v11,-12,25,5,34,8v-16,23,-91,39,-124,62v-12,8,-31,-2,-44,0v6,-3,0,-4,0,-9v40,-28,76,-38,134,-61", "w": 319 }, "\u00d4": { "d": "287,-75r0,0r0,0xm200,-259v13,-5,27,4,39,7v0,1,-1,2,-2,3v12,-2,24,12,35,12v6,6,13,15,18,12v27,35,31,91,8,133v-7,13,-21,19,-27,34v-6,-1,-17,9,-19,18v-15,-3,-24,24,-45,26v-101,54,-240,-14,-189,-139v13,-32,38,-54,70,-66v29,-27,49,-37,101,-42v2,2,3,4,6,2v0,0,-1,0,-1,-2v4,0,5,2,1,3v6,3,11,4,16,2v-4,-1,-4,-1,-11,-3xm62,-146v-27,38,4,102,48,100v66,15,127,-29,155,-69v15,-22,17,-71,-8,-82v-19,-17,-82,-30,-109,-13v-5,-5,-8,8,-18,7v-7,2,-19,16,-26,22v-6,12,-7,29,-16,38v-5,-8,-6,9,-12,-1v-1,2,-1,3,-2,0v1,-9,-12,-11,-13,-4v0,0,1,1,1,2xm228,-266v-14,-11,-24,-24,-53,-33v-6,5,-14,8,-13,14v-18,7,-26,32,-49,26v0,0,1,-1,1,-2v-7,-3,-16,-13,-6,-20v30,-7,47,-59,85,-45v20,17,46,26,60,49v-5,9,-12,12,-25,11", "w": 319 }, "\uf000": { "d": "184,-282v16,-3,20,28,16,36v1,22,-31,54,-50,66v0,4,0,6,-3,7v-21,-8,-14,-61,2,-78v6,-16,25,-19,35,-31xm225,-139v-14,1,-56,42,-19,50v9,6,21,6,19,23v6,4,5,11,7,18v-12,28,-31,29,-64,41v-72,1,-145,-13,-160,-85v3,-71,72,-101,142,-78v14,4,36,-23,56,-9r20,12v4,10,7,20,-1,28", "w": 248 }, "\u00d2": { "d": "287,-75r0,0r0,0xm200,-259v13,-5,27,4,39,7v0,1,-1,2,-2,3v12,-2,24,12,35,12v6,6,13,15,18,12v27,35,31,91,8,133v-7,13,-21,19,-27,34v-6,-1,-17,9,-19,18v-15,-3,-24,24,-45,26v-101,54,-240,-14,-189,-139v13,-32,38,-54,70,-66v29,-27,49,-37,101,-42v2,2,3,4,6,2v0,0,-1,0,-1,-2v4,0,5,2,1,3v6,3,11,4,16,2v-4,-1,-4,-1,-11,-3xm62,-146v-27,38,4,102,48,100v66,15,127,-29,155,-69v15,-22,17,-71,-8,-82v-19,-17,-82,-30,-109,-13v-5,-5,-8,8,-18,7v-7,2,-19,16,-26,22v-6,12,-7,29,-16,38v-5,-8,-6,9,-12,-1v-1,2,-1,3,-2,0v1,-9,-12,-11,-13,-4v0,0,1,1,1,2xm159,-295v-9,-2,-48,-23,-20,-34v40,7,72,34,111,42v4,6,15,10,6,15v-8,10,-15,10,-33,3", "w": 319 }, "\u00da": { "d": "229,-143v11,-14,38,-47,29,-83v-2,-8,10,-25,23,-29v44,47,-24,149,-46,165v-26,37,-68,56,-104,85v-20,3,-47,15,-71,-2v-37,-26,-58,-67,-55,-128v1,-26,18,-129,57,-100r7,20v-14,30,-32,52,-25,100v8,48,21,66,61,58v42,-8,85,-36,124,-86xm134,-295v20,-4,77,-51,105,-25v2,-2,3,1,6,2v-33,28,-89,40,-125,63v-11,7,-29,0,-43,-1v3,-4,-3,-13,8,-17", "w": 300 }, "\u00db": { "d": "229,-143v11,-14,38,-47,29,-83v-2,-8,10,-25,23,-29v44,47,-24,149,-46,165v-26,37,-68,56,-104,85v-20,3,-47,15,-71,-2v-37,-26,-58,-67,-55,-128v1,-26,18,-129,57,-100r7,20v-14,30,-32,52,-25,100v8,48,21,66,61,58v42,-8,85,-36,124,-86xm220,-235v-16,-16,-27,-29,-54,-50v-26,17,-34,40,-55,60v-25,6,-39,-28,-17,-35v24,-23,41,-52,70,-70v29,3,59,54,76,64v3,5,2,5,7,14v-6,12,-13,17,-27,17", "w": 300 }, "\u00d9": { "d": "229,-143v11,-14,38,-47,29,-83v-2,-8,10,-25,23,-29v44,47,-24,149,-46,165v-26,37,-68,56,-104,85v-20,3,-47,15,-71,-2v-37,-26,-58,-67,-55,-128v1,-26,18,-129,57,-100r7,20v-14,30,-32,52,-25,100v8,48,21,66,61,58v42,-8,85,-36,124,-86xm94,-295v-14,-8,-12,-35,7,-35v44,12,71,54,118,62v7,9,22,21,12,29r1,6v-42,17,-79,-30,-112,-44v-7,-3,-16,-9,-26,-18", "w": 300 }, "\u0131": { "d": "26,-111v17,-27,40,5,43,27v-2,27,4,62,-7,80v-14,1,-13,3,-29,-3v-13,-18,-16,-74,-7,-104", "w": 76 }, "\u02c6": { "d": "144,-235v-15,-16,-27,-29,-54,-50v-27,18,-33,39,-54,60v-24,4,-35,-19,-24,-33v28,-15,44,-55,76,-72v29,3,59,54,76,64v2,5,2,5,7,14v-6,12,-13,17,-27,17", "w": 176 }, "\u02dc": { "d": "290,-302v-24,25,-71,86,-117,64v-12,0,-45,-40,-58,-37v-32,7,-51,30,-73,48v-6,-2,-7,1,-12,2v-45,-25,21,-58,34,-74v42,-32,100,3,121,23v21,-7,40,-26,76,-50v12,-3,17,3,26,7v-1,5,5,8,3,17", "w": 300 }, "\u00af": { "d": "50,-269v-36,8,-54,-40,-29,-58v47,-5,96,10,138,-2v11,4,28,-3,41,-3v20,8,30,17,37,42v-27,31,-124,8,-173,23v-3,0,-6,-3,-8,-1v1,3,1,3,-3,3v0,-1,-2,-3,-3,-4xm78,-268v0,1,-1,2,-2,2", "w": 243 }, "\u02d8": { "d": "210,-323v24,1,28,1,44,13v-2,5,-4,8,1,14v-3,0,-6,3,-7,8v-46,25,-76,67,-134,81r-95,-79v-2,-16,-18,-30,6,-37v42,9,60,49,96,66v28,-21,67,-40,89,-66", "w": 266 }, "\u02d9": { "d": "54,-314v7,15,5,27,-15,30v2,-1,2,1,2,3v-4,-4,-10,-2,-19,-9v-6,-14,-14,-38,6,-40v10,4,19,10,26,16", "w": 68 }, "\u02da": { "d": "25,-301v2,-17,32,-38,59,-21v28,17,74,79,22,94v-53,15,-95,-15,-95,-59v0,-7,4,-14,14,-14xm59,-274v1,9,34,5,37,-2v0,-10,-11,-9,-20,-10v-13,-3,-16,10,-17,12", "w": 137 }, "\u00b8": { "d": "98,-5v24,19,64,47,46,88v-14,31,-50,35,-76,53v-14,-1,-31,2,-43,-1v-5,-12,-12,-20,-8,-37v6,-27,38,-22,60,-44v-10,-6,-32,-14,-32,-40v0,-14,5,-32,16,-56v22,-10,43,22,37,37xm39,135r0,0r0,0", "w": 163 }, "\u02dd": { "d": "39,-317v22,-32,55,-5,54,28v-9,28,-29,46,-44,69v-3,2,-8,4,-15,7r-16,-11v-7,-14,-10,-23,-10,-28v-5,-8,30,-62,31,-65xm126,-318v21,-33,55,-5,54,28v-9,28,-22,37,-44,69v-3,2,-8,4,-15,7v-12,-4,-27,-30,-26,-39v-5,-8,30,-62,31,-65", "w": 188 }, "\u02db": { "d": "113,57v12,14,15,22,12,41v-54,61,-127,-3,-98,-86v5,-14,-1,-50,22,-48v34,12,12,66,17,98v12,10,31,-5,47,-5", "w": 133 }, "\u02c7": { "d": "135,-329v11,1,19,8,19,23v-17,56,-131,69,-141,-5v-2,-5,11,-13,17,-11v24,9,7,40,49,34v37,-5,33,-20,56,-41", "w": 166 }, "\r": { "w": 189 } } }); } ================================================ FILE: fonts/daniel/danielbd-demo.html ================================================ Daniel Bold Specimen
AaBb
A​B​C​D​E​F​G​H​I​J​K​L​M​N​O​P​Q​R​S​T​U​V​W​X​Y​Z​a​b​c​d​e​f​g​h​i​j​k​l​m​n​o​p​q​r​s​t​u​v​w​x​y​z​1​2​3​4​5​6​7​8​9​0​&​.​,​?​!​@​(​)​#​$​%​*​+​-​=​:​;
10abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
11abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
12abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
13abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
14abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
16abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
18abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
20abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
24abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
30abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
36abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
48abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
60abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
72abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
90abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼body
body
body
body
bodyDaniel Bold
bodyArial
bodyVerdana
bodyGeorgia

10.Aenean lacinia bibendum nulla sed consectetur. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Nullam id dolor id nibh ultricies vehicula ut id elit. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nulla vitae elit libero, a pharetra augue.

11.Aenean lacinia bibendum nulla sed consectetur. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Nullam id dolor id nibh ultricies vehicula ut id elit. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nulla vitae elit libero, a pharetra augue.

12.Aenean lacinia bibendum nulla sed consectetur. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Nullam id dolor id nibh ultricies vehicula ut id elit. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nulla vitae elit libero, a pharetra augue.

13.Aenean lacinia bibendum nulla sed consectetur. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Nullam id dolor id nibh ultricies vehicula ut id elit. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nulla vitae elit libero, a pharetra augue.

14.Aenean lacinia bibendum nulla sed consectetur. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Nullam id dolor id nibh ultricies vehicula ut id elit. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nulla vitae elit libero, a pharetra augue.

16.Aenean lacinia bibendum nulla sed consectetur. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Nullam id dolor id nibh ultricies vehicula ut id elit. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nulla vitae elit libero, a pharetra augue.

18.Aenean lacinia bibendum nulla sed consectetur. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Nullam id dolor id nibh ultricies vehicula ut id elit. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nulla vitae elit libero, a pharetra augue.

20.Aenean lacinia bibendum nulla sed consectetur. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Nullam id dolor id nibh ultricies vehicula ut id elit. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nulla vitae elit libero, a pharetra augue.

24.Aenean lacinia bibendum nulla sed consectetur. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Nullam id dolor id nibh ultricies vehicula ut id elit. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nulla vitae elit libero, a pharetra augue.

30.Aenean lacinia bibendum nulla sed consectetur. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Nullam id dolor id nibh ultricies vehicula ut id elit. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nulla vitae elit libero, a pharetra augue.

10.Aenean lacinia bibendum nulla sed consectetur. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Nullam id dolor id nibh ultricies vehicula ut id elit. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nulla vitae elit libero, a pharetra augue.

11.Aenean lacinia bibendum nulla sed consectetur. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Nullam id dolor id nibh ultricies vehicula ut id elit. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nulla vitae elit libero, a pharetra augue.

12.Aenean lacinia bibendum nulla sed consectetur. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Nullam id dolor id nibh ultricies vehicula ut id elit. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nulla vitae elit libero, a pharetra augue.

13.Aenean lacinia bibendum nulla sed consectetur. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Nullam id dolor id nibh ultricies vehicula ut id elit. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nulla vitae elit libero, a pharetra augue.

14.Aenean lacinia bibendum nulla sed consectetur. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Nullam id dolor id nibh ultricies vehicula ut id elit. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nulla vitae elit libero, a pharetra augue.

16.Aenean lacinia bibendum nulla sed consectetur. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Nullam id dolor id nibh ultricies vehicula ut id elit. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nulla vitae elit libero, a pharetra augue.

18.Aenean lacinia bibendum nulla sed consectetur. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Nullam id dolor id nibh ultricies vehicula ut id elit. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nulla vitae elit libero, a pharetra augue.

20.Aenean lacinia bibendum nulla sed consectetur. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Nullam id dolor id nibh ultricies vehicula ut id elit. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nulla vitae elit libero, a pharetra augue.

24.Aenean lacinia bibendum nulla sed consectetur. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Nullam id dolor id nibh ultricies vehicula ut id elit. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nulla vitae elit libero, a pharetra augue.

30.Aenean lacinia bibendum nulla sed consectetur. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Nullam id dolor id nibh ultricies vehicula ut id elit. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nulla vitae elit libero, a pharetra augue.

Lorem Ipsum Dolor

Etiam porta sem malesuada magna mollis euismod

Donec sed odio dui. Morbi leo risus, porta ac consectetur ac, vestibulum at eros. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.

Pellentesque ornare sem

Maecenas sed diam eget risus varius blandit sit amet non magna. Maecenas faucibus mollis interdum. Donec ullamcorper nulla non metus auctor fringilla. Nullam id dolor id nibh ultricies vehicula ut id elit. Nullam id dolor id nibh ultricies vehicula ut id elit.

Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.

Nulla vitae elit libero, a pharetra augue. Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Aenean lacinia bibendum nulla sed consectetur.

Nullam quis risus eget urna mollis ornare vel eu leo. Nullam quis risus eget urna mollis ornare vel eu leo. Maecenas sed diam eget risus varius blandit sit amet non magna. Donec ullamcorper nulla non metus auctor fringilla.

Cras mattis consectetur

Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Aenean lacinia bibendum nulla sed consectetur. Integer posuere erat a ante venenatis dapibus posuere velit aliquet. Cras mattis consectetur purus sit amet fermentum.

Nullam id dolor id nibh ultricies vehicula ut id elit. Nullam quis risus eget urna mollis ornare vel eu leo. Cras mattis consectetur purus sit amet fermentum.

Language Support

The subset of Daniel Bold in this kit supports the following languages:
Albanian, Basque, Breton, Chamorro, Danish, Dutch, English, Estonian, Faroese, Finnish, French, Frisian, Galician, German, Icelandic, Italian, Malagasy, Norwegian, Portuguese, Spanish, Swedish

Glyph Chart

The subset of Daniel Bold in this kit includes all the glyphs listed below. Unicode entities are included above each glyph to help you insert individual characters into your layout.

&#9;

&#13;

&#32;

&#33;

!

&#34;

"

&#35;

#

&#36;

$

&#37;

%

&#38;

&

&#39;

'

&#40;

(

&#41;

)

&#42;

*

&#43;

+

&#44;

,

&#45;

-

&#46;

.

&#47;

/

&#48;

0

&#49;

1

&#50;

2

&#51;

3

&#52;

4

&#53;

5

&#54;

6

&#55;

7

&#56;

8

&#57;

9

&#58;

:

&#59;

;

&#60;

<

&#61;

=

&#62;

>

&#63;

?

&#64;

@

&#65;

A

&#66;

B

&#67;

C

&#68;

D

&#69;

E

&#70;

F

&#71;

G

&#72;

H

&#73;

I

&#74;

J

&#75;

K

&#76;

L

&#77;

M

&#78;

N

&#79;

O

&#80;

P

&#81;

Q

&#82;

R

&#83;

S

&#84;

T

&#85;

U

&#86;

V

&#87;

W

&#88;

X

&#89;

Y

&#90;

Z

&#91;

[

&#92;

\

&#93;

]

&#94;

^

&#95;

_

&#96;

`

&#97;

a

&#98;

b

&#99;

c

&#100;

d

&#101;

e

&#102;

f

&#103;

g

&#104;

h

&#105;

i

&#106;

j

&#107;

k

&#108;

l

&#109;

m

&#110;

n

&#111;

o

&#112;

p

&#113;

q

&#114;

r

&#115;

s

&#116;

t

&#117;

u

&#118;

v

&#119;

w

&#120;

x

&#121;

y

&#122;

z

&#123;

{

&#124;

|

&#125;

}

&#126;

~

&#160;

 

&#161;

¡

&#162;

¢

&#163;

£

&#164;

¤

&#165;

¥

&#166;

¦

&#167;

§

&#168;

¨

&#169;

©

&#170;

ª

&#171;

«

&#172;

¬

&#173;

­

&#174;

®

&#175;

¯

&#176;

°

&#177;

±

&#178;

²

&#179;

³

&#180;

´

&#182;

&#184;

¸

&#185;

¹

&#186;

º

&#187;

»

&#188;

¼

&#189;

½

&#190;

¾

&#191;

¿

&#192;

À

&#193;

Á

&#194;

Â

&#195;

Ã

&#196;

Ä

&#197;

Å

&#198;

Æ

&#199;

Ç

&#200;

È

&#201;

É

&#202;

Ê

&#203;

Ë

&#204;

Ì

&#205;

Í

&#206;

Î

&#207;

Ï

&#208;

Ð

&#209;

Ñ

&#210;

Ò

&#211;

Ó

&#212;

Ô

&#213;

Õ

&#214;

Ö

&#215;

×

&#216;

Ø

&#217;

Ù

&#218;

Ú

&#219;

Û

&#220;

Ü

&#221;

Ý

&#222;

Þ

&#223;

ß

&#224;

à

&#225;

á

&#226;

â

&#227;

ã

&#228;

ä

&#229;

å

&#230;

æ

&#231;

ç

&#232;

è

&#233;

é

&#234;

ê

&#235;

ë

&#236;

ì

&#237;

í

&#238;

î

&#239;

ï

&#240;

ð

&#241;

ñ

&#242;

ò

&#243;

ó

&#244;

ô

&#245;

õ

&#246;

ö

&#247;

÷

&#248;

ø

&#249;

ù

&#250;

ú

&#251;

û

&#252;

ü

&#253;

ý

&#254;

þ

&#255;

ÿ

&#305;

ı

&#321;

Ł

&#322;

ł

&#338;

Œ

&#339;

œ

&#352;

Š

&#353;

š

&#376;

Ÿ

&#381;

Ž

&#382;

ž

&#402;

ƒ

&#710;

ˆ

&#711;

ˇ

&#728;

˘

&#729;

˙

&#730;

˚

&#731;

˛

&#732;

˜

&#733;

˝

&#8192;

 

&#8193;

&#8194;

&#8195;

&#8196;

&#8197;

&#8198;

&#8199;

&#8200;

&#8201;

&#8202;

&#8208;

&#8209;

&#8210;

&#8211;

&#8212;

&#8216;

&#8217;

&#8218;

&#8220;

&#8221;

&#8222;

&#8224;

&#8225;

&#8226;

&#8230;

&#8239;

&#8240;

&#8249;

&#8250;

&#8260;

&#8287;

&#8482;

&#8710;

&#8722;

&#8729;

&#8730;

&#8734;

&#8747;

&#8776;

&#8800;

&#8804;

&#8805;

&#9674;

&#9724;

Installing Webfonts

Webfonts are supported by all major browser platforms but not all in the same way. There are currently four different font formats that must be included in order to target all browsers. This includes TTF, WOFF, EOT and SVG.

1. Upload your webfonts

You must upload your webfont kit to your website. They should be in or near the same directory as your CSS files.

2. Include the webfont stylesheet

A special CSS @font-face declaration helps the various browsers select the appropriate font it needs without causing you a bunch of headaches. Learn more about this syntax by reading the Fontspring blog post about it. The code for it is as follows:

@font-face{ font-family: 'MyWebFont'; src: url('WebFont.eot'); src: url('WebFont.eot?#iefix') format('embedded-opentype'), url('WebFont.woff') format('woff'), url('WebFont.ttf') format('truetype'), url('WebFont.svg#webfont') format('svg'); }

We've already gone ahead and generated the code for you. All you have to do is link to the stylesheet in your HTML, like this:

<link rel="stylesheet" href="stylesheet.css" type="text/css" charset="utf-8" />

3. Modify your own stylesheet

To take advantage of your new fonts, you must tell your stylesheet to use them. Look at the original @font-face declaration above and find the property called "font-family." The name linked there will be what you use to reference the font. Prepend that webfont name to the font stack in the "font-family" property, inside the selector you want to change. For example:

p { font-family: 'WebFont', Arial, sans-serif; }

4. Test

Getting webfonts to work cross-browser can be tricky. Use the information in the sidebar to help you if you find that fonts aren't loading in a particular browser.

================================================ FILE: fonts/daniel/danielbk-demo.html ================================================ Daniel Black Regular Specimen
AaBb
A​B​C​D​E​F​G​H​I​J​K​L​M​N​O​P​Q​R​S​T​U​V​W​X​Y​Z​a​b​c​d​e​f​g​h​i​j​k​l​m​n​o​p​q​r​s​t​u​v​w​x​y​z​1​2​3​4​5​6​7​8​9​0​&​.​,​?​!​@​(​)​#​$​%​*​+​-​=​:​;
10abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
11abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
12abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
13abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
14abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
16abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
18abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
20abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
24abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
30abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
36abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
48abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
60abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
72abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
90abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼body
body
body
body
bodyDaniel Black Regular
bodyArial
bodyVerdana
bodyGeorgia

10.Aenean lacinia bibendum nulla sed consectetur. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Nullam id dolor id nibh ultricies vehicula ut id elit. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nulla vitae elit libero, a pharetra augue.

11.Aenean lacinia bibendum nulla sed consectetur. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Nullam id dolor id nibh ultricies vehicula ut id elit. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nulla vitae elit libero, a pharetra augue.

12.Aenean lacinia bibendum nulla sed consectetur. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Nullam id dolor id nibh ultricies vehicula ut id elit. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nulla vitae elit libero, a pharetra augue.

13.Aenean lacinia bibendum nulla sed consectetur. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Nullam id dolor id nibh ultricies vehicula ut id elit. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nulla vitae elit libero, a pharetra augue.

14.Aenean lacinia bibendum nulla sed consectetur. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Nullam id dolor id nibh ultricies vehicula ut id elit. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nulla vitae elit libero, a pharetra augue.

16.Aenean lacinia bibendum nulla sed consectetur. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Nullam id dolor id nibh ultricies vehicula ut id elit. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nulla vitae elit libero, a pharetra augue.

18.Aenean lacinia bibendum nulla sed consectetur. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Nullam id dolor id nibh ultricies vehicula ut id elit. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nulla vitae elit libero, a pharetra augue.

20.Aenean lacinia bibendum nulla sed consectetur. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Nullam id dolor id nibh ultricies vehicula ut id elit. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nulla vitae elit libero, a pharetra augue.

24.Aenean lacinia bibendum nulla sed consectetur. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Nullam id dolor id nibh ultricies vehicula ut id elit. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nulla vitae elit libero, a pharetra augue.

30.Aenean lacinia bibendum nulla sed consectetur. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Nullam id dolor id nibh ultricies vehicula ut id elit. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nulla vitae elit libero, a pharetra augue.

10.Aenean lacinia bibendum nulla sed consectetur. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Nullam id dolor id nibh ultricies vehicula ut id elit. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nulla vitae elit libero, a pharetra augue.

11.Aenean lacinia bibendum nulla sed consectetur. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Nullam id dolor id nibh ultricies vehicula ut id elit. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nulla vitae elit libero, a pharetra augue.

12.Aenean lacinia bibendum nulla sed consectetur. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Nullam id dolor id nibh ultricies vehicula ut id elit. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nulla vitae elit libero, a pharetra augue.

13.Aenean lacinia bibendum nulla sed consectetur. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Nullam id dolor id nibh ultricies vehicula ut id elit. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nulla vitae elit libero, a pharetra augue.

14.Aenean lacinia bibendum nulla sed consectetur. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Nullam id dolor id nibh ultricies vehicula ut id elit. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nulla vitae elit libero, a pharetra augue.

16.Aenean lacinia bibendum nulla sed consectetur. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Nullam id dolor id nibh ultricies vehicula ut id elit. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nulla vitae elit libero, a pharetra augue.

18.Aenean lacinia bibendum nulla sed consectetur. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Nullam id dolor id nibh ultricies vehicula ut id elit. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nulla vitae elit libero, a pharetra augue.

20.Aenean lacinia bibendum nulla sed consectetur. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Nullam id dolor id nibh ultricies vehicula ut id elit. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nulla vitae elit libero, a pharetra augue.

24.Aenean lacinia bibendum nulla sed consectetur. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Nullam id dolor id nibh ultricies vehicula ut id elit. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nulla vitae elit libero, a pharetra augue.

30.Aenean lacinia bibendum nulla sed consectetur. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Nullam id dolor id nibh ultricies vehicula ut id elit. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nulla vitae elit libero, a pharetra augue.

Lorem Ipsum Dolor

Etiam porta sem malesuada magna mollis euismod

Donec sed odio dui. Morbi leo risus, porta ac consectetur ac, vestibulum at eros. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.

Pellentesque ornare sem

Maecenas sed diam eget risus varius blandit sit amet non magna. Maecenas faucibus mollis interdum. Donec ullamcorper nulla non metus auctor fringilla. Nullam id dolor id nibh ultricies vehicula ut id elit. Nullam id dolor id nibh ultricies vehicula ut id elit.

Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.

Nulla vitae elit libero, a pharetra augue. Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Aenean lacinia bibendum nulla sed consectetur.

Nullam quis risus eget urna mollis ornare vel eu leo. Nullam quis risus eget urna mollis ornare vel eu leo. Maecenas sed diam eget risus varius blandit sit amet non magna. Donec ullamcorper nulla non metus auctor fringilla.

Cras mattis consectetur

Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Aenean lacinia bibendum nulla sed consectetur. Integer posuere erat a ante venenatis dapibus posuere velit aliquet. Cras mattis consectetur purus sit amet fermentum.

Nullam id dolor id nibh ultricies vehicula ut id elit. Nullam quis risus eget urna mollis ornare vel eu leo. Cras mattis consectetur purus sit amet fermentum.

Language Support

The subset of Daniel Black Regular in this kit supports the following languages:
English

Glyph Chart

The subset of Daniel Black Regular in this kit includes all the glyphs listed below. Unicode entities are included above each glyph to help you insert individual characters into your layout.

&#9;

&#13;

&#32;

&#33;

!

&#34;

"

&#35;

#

&#36;

$

&#37;

%

&#38;

&

&#39;

'

&#40;

(

&#41;

)

&#42;

*

&#43;

+

&#44;

,

&#45;

-

&#46;

.

&#47;

/

&#48;

0

&#49;

1

&#50;

2

&#51;

3

&#52;

4

&#53;

5

&#54;

6

&#55;

7

&#56;

8

&#57;

9

&#58;

:

&#59;

;

&#60;

<

&#61;

=

&#62;

>

&#63;

?

&#64;

@

&#65;

A

&#66;

B

&#67;

C

&#68;

D

&#69;

E

&#70;

F

&#71;

G

&#72;

H

&#73;

I

&#74;

J

&#75;

K

&#76;

L

&#77;

M

&#78;

N

&#79;

O

&#80;

P

&#81;

Q

&#82;

R

&#83;

S

&#84;

T

&#85;

U

&#86;

V

&#87;

W

&#88;

X

&#89;

Y

&#90;

Z

&#91;

[

&#92;

\

&#93;

]

&#94;

^

&#95;

_

&#96;

`

&#97;

a

&#98;

b

&#99;

c

&#100;

d

&#101;

e

&#102;

f

&#103;

g

&#104;

h

&#105;

i

&#106;

j

&#107;

k

&#108;

l

&#109;

m

&#110;

n

&#111;

o

&#112;

p

&#113;

q

&#114;

r

&#115;

s

&#116;

t

&#117;

u

&#118;

v

&#119;

w

&#120;

x

&#121;

y

&#122;

z

&#123;

{

&#124;

|

&#125;

}

&#126;

~

&#160;

 

&#161;

¡

&#162;

¢

&#163;

£

&#164;

¤

&#165;

¥

&#166;

¦

&#167;

§

&#168;

¨

&#169;

©

&#170;

ª

&#171;

«

&#172;

¬

&#173;

­

&#174;

®

&#175;

¯

&#176;

°

&#177;

±

&#178;

²

&#179;

³

&#180;

´

&#181;

µ

&#182;

&#184;

¸

&#185;

¹

&#186;

º

&#187;

»

&#188;

¼

&#189;

½

&#190;

¾

&#191;

¿

&#192;

À

&#193;

Á

&#194;

Â

&#195;

Ã

&#196;

Ä

&#197;

Å

&#198;

Æ

&#200;

È

&#201;

É

&#202;

Ê

&#203;

Ë

&#204;

Ì

&#205;

Í

&#206;

Î

&#207;

Ï

&#208;

Ð

&#209;

Ñ

&#210;

Ò

&#211;

Ó

&#212;

Ô

&#213;

Õ

&#214;

Ö

&#215;

×

&#216;

Ø

&#217;

Ù

&#218;

Ú

&#219;

Û

&#220;

Ü

&#221;

Ý

&#222;

Þ

&#223;

ß

&#227;

ã

&#230;

æ

&#231;

ç

&#240;

ð

&#241;

ñ

&#245;

õ

&#247;

÷

&#248;

ø

&#254;

þ

&#305;

ı

&#321;

Ł

&#322;

ł

&#338;

Œ

&#339;

œ

&#352;

Š

&#376;

Ÿ

&#381;

Ž

&#402;

ƒ

&#710;

ˆ

&#711;

ˇ

&#728;

˘

&#729;

˙

&#730;

˚

&#731;

˛

&#732;

˜

&#733;

˝

&#960;

π

&#8192;

 

&#8193;

&#8194;

&#8195;

&#8196;

&#8197;

&#8198;

&#8199;

&#8200;

&#8201;

&#8202;

&#8208;

&#8209;

&#8210;

&#8211;

&#8212;

&#8216;

&#8217;

&#8218;

&#8220;

&#8221;

&#8222;

&#8224;

&#8225;

&#8226;

&#8230;

&#8239;

&#8240;

&#8249;

&#8250;

&#8260;

&#8287;

&#8482;

&#8486;

&#8706;

&#8710;

&#8719;

&#8721;

&#8722;

&#8729;

&#8730;

&#8734;

&#8747;

&#8776;

&#8800;

&#8804;

&#8805;

&#9674;

&#9724;

&#61440;

&#61441;

&#61442;

Installing Webfonts

Webfonts are supported by all major browser platforms but not all in the same way. There are currently four different font formats that must be included in order to target all browsers. This includes TTF, WOFF, EOT and SVG.

1. Upload your webfonts

You must upload your webfont kit to your website. They should be in or near the same directory as your CSS files.

2. Include the webfont stylesheet

A special CSS @font-face declaration helps the various browsers select the appropriate font it needs without causing you a bunch of headaches. Learn more about this syntax by reading the Fontspring blog post about it. The code for it is as follows:

@font-face{ font-family: 'MyWebFont'; src: url('WebFont.eot'); src: url('WebFont.eot?#iefix') format('embedded-opentype'), url('WebFont.woff') format('woff'), url('WebFont.ttf') format('truetype'), url('WebFont.svg#webfont') format('svg'); }

We've already gone ahead and generated the code for you. All you have to do is link to the stylesheet in your HTML, like this:

<link rel="stylesheet" href="stylesheet.css" type="text/css" charset="utf-8" />

3. Modify your own stylesheet

To take advantage of your new fonts, you must tell your stylesheet to use them. Look at the original @font-face declaration above and find the property called "font-family." The name linked there will be what you use to reference the font. Prepend that webfont name to the font stack in the "font-family" property, inside the selector you want to change. For example:

p { font-family: 'WebFont', Arial, sans-serif; }

4. Test

Getting webfonts to work cross-browser can be tricky. Use the information in the sidebar to help you if you find that fonts aren't loading in a particular browser.

================================================ FILE: fonts/daniel/generator_config.txt ================================================ # Font Squirrel Font-face Generator Configuration File # Upload this file to the generator to recreate the settings # you used to create these fonts. {"mode":"expert","formats":["woff","woff2"],"tt_instructor":"keep","fix_vertical_metrics":"Y","fix_gasp":"xy","add_spaces":"Y","add_hyphens":"Y","fallback":"none","fallback_custom":"100","options_subset":"none","subset_custom":"","subset_custom_range":"","subset_ot_features_list":"","css_stylesheet":"stylesheet.css","filename_suffix":"","emsquare":"2048","spacing_adjustment":"0","rememberme":"Y"} ================================================ FILE: fonts/daniel/specimen_files/grid_12-825-55-15.css ================================================ /*Notes about grid: Columns: 12 Grid Width: 825px Column Width: 55px Gutter Width: 15px -------------------------------*/ .section {margin-bottom: 18px; } .section:after {content: ".";display: block;height: 0;clear: both;visibility: hidden;} .section {*zoom: 1;} .section .firstcolumn, .section .firstcol {margin-left: 0;} /* Border on left hand side of a column. */ .border { padding-left: 7px; margin-left: 7px; border-left: 1px solid #eee; } /* Border with more whitespace, spans one column. */ .colborder { padding-left: 42px; margin-left: 42px; border-left: 1px solid #eee; } /* The Grid Classes */ .grid1, .grid1_2cols, .grid1_3cols, .grid1_4cols, .grid2, .grid2_3cols, .grid2_4cols, .grid3, .grid3_2cols, .grid3_4cols, .grid4, .grid4_3cols, .grid5, .grid5_2cols, .grid5_3cols, .grid5_4cols, .grid6, .grid6_4cols, .grid7, .grid7_2cols, .grid7_3cols, .grid7_4cols, .grid8, .grid8_3cols, .grid9, .grid9_2cols, .grid9_4cols, .grid10, .grid10_3cols, .grid10_4cols, .grid11, .grid11_2cols, .grid11_3cols, .grid11_4cols, .grid12 {margin-left: 15px;float: left;display: inline; overflow: hidden;} .width1, .grid1, .span-1 {width: 55px;} .width1_2cols,.grid1_2cols {width: 20px;} .width1_3cols,.grid1_3cols {width: 8px;} .width1_4cols,.grid1_4cols {width: 2px;} .input_width1 {width: 49px;} .width2, .grid2, .span-2 {width: 125px;} .width2_3cols,.grid2_3cols {width: 31px;} .width2_4cols,.grid2_4cols {width: 20px;} .input_width2 {width: 119px;} .width3, .grid3, .span-3 {width: 195px;} .width3_2cols,.grid3_2cols {width: 90px;} .width3_4cols,.grid3_4cols {width: 37px;} .input_width3 {width: 189px;} .width4, .grid4, .span-4 {width: 265px;} .width4_3cols,.grid4_3cols {width: 78px;} .input_width4 {width: 259px;} .width5, .grid5, .span-5 {width: 335px;} .width5_2cols,.grid5_2cols {width: 160px;} .width5_3cols,.grid5_3cols {width: 101px;} .width5_4cols,.grid5_4cols {width: 72px;} .input_width5 {width: 329px;} .width6, .grid6, .span-6 {width: 405px;} .width6_4cols,.grid6_4cols {width: 90px;} .input_width6 {width: 399px;} .width7, .grid7, .span-7 {width: 475px;} .width7_2cols,.grid7_2cols {width: 230px;} .width7_3cols,.grid7_3cols {width: 148px;} .width7_4cols,.grid7_4cols {width: 107px;} .input_width7 {width: 469px;} .width8, .grid8, .span-8 {width: 545px;} .width8_3cols,.grid8_3cols {width: 171px;} .input_width8 {width: 539px;} .width9, .grid9, .span-9 {width: 615px;} .width9_2cols,.grid9_2cols {width: 300px;} .width9_4cols,.grid9_4cols {width: 142px;} .input_width9 {width: 609px;} .width10, .grid10, .span-10 {width: 685px;} .width10_3cols,.grid10_3cols {width: 218px;} .width10_4cols,.grid10_4cols {width: 160px;} .input_width10 {width: 679px;} .width11, .grid11, .span-11 {width: 755px;} .width11_2cols,.grid11_2cols {width: 370px;} .width11_3cols,.grid11_3cols {width: 241px;} .width11_4cols,.grid11_4cols {width: 177px;} .input_width11 {width: 749px;} .width12, .grid12, .span-12 {width: 825px;} .input_width12 {width: 819px;} /* Subdivided grid spaces */ .emptycols_left1, .prepend-1 {padding-left: 70px;} .emptycols_right1, .append-1 {padding-right: 70px;} .emptycols_left2, .prepend-2 {padding-left: 140px;} .emptycols_right2, .append-2 {padding-right: 140px;} .emptycols_left3, .prepend-3 {padding-left: 210px;} .emptycols_right3, .append-3 {padding-right: 210px;} .emptycols_left4, .prepend-4 {padding-left: 280px;} .emptycols_right4, .append-4 {padding-right: 280px;} .emptycols_left5, .prepend-5 {padding-left: 350px;} .emptycols_right5, .append-5 {padding-right: 350px;} .emptycols_left6, .prepend-6 {padding-left: 420px;} .emptycols_right6, .append-6 {padding-right: 420px;} .emptycols_left7, .prepend-7 {padding-left: 490px;} .emptycols_right7, .append-7 {padding-right: 490px;} .emptycols_left8, .prepend-8 {padding-left: 560px;} .emptycols_right8, .append-8 {padding-right: 560px;} .emptycols_left9, .prepend-9 {padding-left: 630px;} .emptycols_right9, .append-9 {padding-right: 630px;} .emptycols_left10, .prepend-10 {padding-left: 700px;} .emptycols_right10, .append-10 {padding-right: 700px;} .emptycols_left11, .prepend-11 {padding-left: 770px;} .emptycols_right11, .append-11 {padding-right: 770px;} .pull-1 {margin-left: -70px;} .push-1 {margin-right: -70px;margin-left: 18px;float: right;} .pull-2 {margin-left: -140px;} .push-2 {margin-right: -140px;margin-left: 18px;float: right;} .pull-3 {margin-left: -210px;} .push-3 {margin-right: -210px;margin-left: 18px;float: right;} .pull-4 {margin-left: -280px;} .push-4 {margin-right: -280px;margin-left: 18px;float: right;} ================================================ FILE: fonts/daniel/specimen_files/specimen_stylesheet.css ================================================ @import url('grid_12-825-55-15.css'); /* CSS Reset by Eric Meyer - Released under Public Domain http://meyerweb.com/eric/tools/css/reset/ */ html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {margin: 0;padding: 0;border: 0;outline: 0; font-size: 100%;vertical-align: baseline; background: transparent;} body {line-height: 1;} ol, ul {list-style: none;} blockquote, q {quotes: none;} blockquote:before, blockquote:after, q:before, q:after {content: ''; content: none;} :focus {outline: 0;} ins {text-decoration: none;} del {text-decoration: line-through;} table {border-collapse: collapse;border-spacing: 0;} body { color: #000; background-color: #dcdcdc; } a { text-decoration: none; color: #1883ba; } h1{ font-size: 32px; font-weight: normal; font-style: normal; margin-bottom: 18px; } h2{ font-size: 18px; } #container { width: 865px; margin: 0px auto; } #header { padding: 20px; font-size: 36px; background-color: #000; color: #fff; } #header span { color: #666; } #main_content { background-color: #fff; padding: 60px 20px 20px; } #footer p { margin: 0; padding-top: 10px; padding-bottom: 50px; color: #333; font: 10px Arial, sans-serif; } .tabs { width: 100%; height: 31px; background-color: #444; } .tabs li { float: left; margin: 0; overflow: hidden; background-color: #444; } .tabs li a { display: block; color: #fff; text-decoration: none; font: bold 11px/11px 'Arial'; text-transform: uppercase; padding: 10px 15px; border-right: 1px solid #fff; } .tabs li a:hover { background-color: #00b3ff; } .tabs li.active a { color: #000; background-color: #fff; } div.huge { font-size: 300px; line-height: 1em; padding: 0; letter-spacing: -.02em; overflow: hidden; } div.glyph_range { font-size: 72px; line-height: 1.1em; } .size10{ font-size: 10px; } .size11{ font-size: 11px; } .size12{ font-size: 12px; } .size13{ font-size: 13px; } .size14{ font-size: 14px; } .size16{ font-size: 16px; } .size18{ font-size: 18px; } .size20{ font-size: 20px; } .size24{ font-size: 24px; } .size30{ font-size: 30px; } .size36{ font-size: 36px; } .size48{ font-size: 48px; } .size60{ font-size: 60px; } .size72{ font-size: 72px; } .size90{ font-size: 90px; } .psample_row1 { height: 120px;} .psample_row1 { height: 120px;} .psample_row2 { height: 160px;} .psample_row3 { height: 160px;} .psample_row4 { height: 160px;} .psample { overflow: hidden; position: relative; } .psample p { line-height: 1.3em; display: block; overflow: hidden; margin: 0; } .psample span { margin-right: .5em; } .white_blend { width: 100%; height: 61px; background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAVkAAAA9CAYAAAAH4BojAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAO1JREFUeNrs3TsKgFAMRUE/eer+NxztxMYuEWQG3ECKwwUF58ycAKixOAGAyAKILAAiCyCyACILgMgCiCyAyAIgsgAiCyCyAIgsgMgCiCwAIgsgsgAiC4DIAogsACIL0CWuZ3UGgLrIhjMA1EV2OAOAJQtgyQLwjOzmDAAiCyCyAIgsQFtkd2cAEFkAkQVAZAHaIns4A4AlC2DJAiCyACILILIAiCzAV5H1dQGAJQsgsgCILIDIAvwisl58AViyAJYsACILILIAIgvAe2T9EhxAZAFEFgCRBeiL7HAGgLrIhjMAWLIAliwAt1OAAQDwygTBulLIlQAAAABJRU5ErkJggg==); position: absolute; bottom: 0; } .black_blend { width: 100%; height: 61px; background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAVkAAAA9CAYAAAAH4BojAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAPJJREFUeNrs3TEKhTAQRVGjibr/9QoxhY2N3Ywo50A28IrLwP9g6b1PAMSYTQAgsgAiC4DIAogsgMgCILIAIgsgsgCILIDIAogsACILILIAIguAyAKILIDIAiCyACILgMgCZCnjLWYAiFGvB0BQZJsZAFyyAC5ZAO6RXc0AILIAIguAyAKkRXYzA4DIAogsACILkBbZ3QwALlkAlywAIgsgsgAiC4DIArwVWf8uAHDJAogsACILILIAv4isH74AXLIALlkARBZAZAFEFoDnyPokOIDIAogsACILkBfZZgaAuMhWMwC4ZAE+p4x3mAEgxinAAJ+XBbPWGkwAAAAAAElFTkSuQmCC); position: absolute; bottom: 0; } .fullreverse { background: #000 !important; color: #fff !important; margin-left: -20px; padding-left: 20px; margin-right: -20px; padding-right: 20px; padding: 20px; margin-bottom:0; } .sample_table td { padding-top: 3px; padding-bottom:5px; padding-left: 5px; vertical-align: middle; line-height: 1.2em; } .sample_table td:first-child { background-color: #eee; text-align: right; padding-right: 5px; padding-left: 0; padding: 5px; font: 11px/12px "Courier New", Courier, mono; } code { white-space: pre; background-color: #eee; display: block; padding: 10px; margin-bottom: 18px; overflow: auto; } .bottom,.last {margin-bottom:0 !important; padding-bottom:0 !important;} .box { padding: 18px; margin-bottom: 18px; background: #eee; } .reverse,.reversed { background: #000 !important;color: #fff !important; border: none !important;} #bodycomparison { position: relative; overflow: hidden; font-size: 72px; height: 90px; white-space: nowrap; } #bodycomparison div{ font-size: 72px; line-height: 90px; display: inline; margin: 0 15px 0 0; padding: 0; } #bodycomparison div span{ font: 10px Arial; position: absolute; left: 0; } #xheight { float: none; position: absolute; color: #d9f3ff; font-size: 72px; line-height: 90px; } .fontbody { position: relative; } .arialbody{ font-family: Arial; position: relative; } .verdanabody{ font-family: Verdana; position: relative; } .georgiabody{ font-family: Georgia; position: relative; } /* @group Layout page */ #layout h1 { font-size: 36px; line-height: 42px; font-weight: normal; font-style: normal; } #layout h2 { font-size: 24px; line-height: 23px; font-weight: normal; font-style: normal; } #layout h3 { font-size: 22px; line-height: 1.4em; margin-top: 1em; font-weight: normal; font-style: normal; } #layout p.byline { font-size: 12px; margin-top: 18px; line-height: 12px; margin-bottom: 0; } #layout p { font-size: 14px; line-height: 21px; margin-bottom: .5em; } #layout p.large{ font-size: 18px; line-height: 26px; } #layout .sidebar p{ font-size: 12px; line-height: 1.4em; } #layout p.caption { font-size: 10px; margin-top: -16px; margin-bottom: 18px; } /* @end */ /* @group Glyphs */ #glyph_chart div{ background-color: #d9f3ff; color: black; float: left; font-size: 36px; height: 1.2em; line-height: 1.2em; margin-bottom: 1px; margin-right: 1px; text-align: center; width: 1.2em; position: relative; padding: .6em .2em .2em; } #glyph_chart div p { position: absolute; left: 0; top: 0; display: block; text-align: center; font: bold 9px Arial, sans-serif; background-color: #3a768f; width: 100%; color: #fff; padding: 2px 0; } #glyphs h1 { font-family: Arial, sans-serif; } /* @end */ /* @group Installing */ #installing { font: 13px Arial, sans-serif; } #installing p, #glyphs p{ line-height: 1.2em; margin-bottom: 18px; font: 13px Arial, sans-serif; } #installing h3{ font-size: 15px; margin-top: 18px; } /* @end */ #rendering h1 { font-family: Arial, sans-serif; } .render_table td { font: 11px "Courier New", Courier, mono; vertical-align: middle; } ================================================ FILE: fonts/daniel/stylesheet.css ================================================ /* Generated by Font Squirrel (http://www.fontsquirrel.com) on November 1, 2015 */ @font-face { font-family: 'danielbold'; src: url('danielbd.woff2') format('woff2'), url('danielbd.woff') format('woff'); font-weight: normal; font-style: normal; } @font-face { font-family: 'danielregular'; src: url('daniel.woff2') format('woff2'), url('daniel.woff') format('woff'); font-weight: normal; font-style: normal; } @font-face { font-family: 'daniel_blackregular'; src: url('danielbk.woff2') format('woff2'), url('danielbk.woff') format('woff'); font-weight: normal; font-style: normal; } ================================================ FILE: package.json ================================================ { "name": "js-sequence-diagrams", "repository": { "type": "git", "url": "https://github.com/bramp/js-sequence-diagrams.git" }, "license": "BSD-2-Clause", "devDependencies": { "bower": "1.8.x", "eslint": "3.16.x", "eslint-config-google": "0.7.x", "jison": "0.4.15", "jshint": "2.9.x", "jsonlint": "1.6.x", "minifier": "0.8.x", "preprocessor": "1.4.x", "qunit": "0.9.x", "uglify-js": "2.8.x" }, "scripts": { "test": "make test" } } ================================================ FILE: src/diagram.js ================================================ /** js sequence diagrams * https://bramp.github.io/js-sequence-diagrams/ * (c) 2012-2017 Andrew Brampton (bramp.net) * Simplified BSD license. */ /*global grammar _ */ function Diagram() { this.title = undefined; this.actors = []; this.signals = []; } /* * Return an existing actor with this alias, or creates a new one with alias and name. */ Diagram.prototype.getActor = function(alias, name) { alias = alias.trim(); var i; var actors = this.actors; for (i in actors) { if (actors[i].alias == alias) { return actors[i]; } } i = actors.push(new Diagram.Actor(alias, (name || alias), actors.length)); return actors[ i - 1 ]; }; /* * Parses the input as either a alias, or a "name as alias", and returns the corresponding actor. */ Diagram.prototype.getActorWithAlias = function(input) { input = input.trim(); // We are lazy and do some of the parsing in javascript :(. TODO move into the .jison file. var s = /([\s\S]+) as (\S+)$/im.exec(input); var alias; var name; if (s) { name = s[1].trim(); alias = s[2].trim(); } else { name = alias = input; } return this.getActor(alias, name); }; Diagram.prototype.setTitle = function(title) { this.title = title; }; Diagram.prototype.addSignal = function(signal) { this.signals.push(signal); }; Diagram.Actor = function(alias, name, index) { this.alias = alias; this.name = name; this.index = index; }; Diagram.Signal = function(actorA, signaltype, actorB, message) { this.type = 'Signal'; this.actorA = actorA; this.actorB = actorB; this.linetype = signaltype & 3; this.arrowtype = (signaltype >> 2) & 3; this.message = message; }; Diagram.Signal.prototype.isSelf = function() { return this.actorA.index == this.actorB.index; }; Diagram.Note = function(actor, placement, message) { this.type = 'Note'; this.actor = actor; this.placement = placement; this.message = message; if (this.hasManyActors() && actor[0] == actor[1]) { throw new Error('Note should be over two different actors'); } }; Diagram.Note.prototype.hasManyActors = function() { return _.isArray(this.actor); }; Diagram.unescape = function(s) { // Turn "\\n" into "\n" return s.trim().replace(/^"(.*)"$/m, '$1').replace(/\\n/gm, '\n'); }; Diagram.LINETYPE = { SOLID: 0, DOTTED: 1 }; Diagram.ARROWTYPE = { FILLED: 0, OPEN: 1 }; Diagram.PLACEMENT = { LEFTOF: 0, RIGHTOF: 1, OVER: 2 }; // Some older browsers don't have getPrototypeOf, thus we polyfill it // https://github.com/bramp/js-sequence-diagrams/issues/57 // https://github.com/zaach/jison/issues/194 // Taken from http://ejohn.org/blog/objectgetprototypeof/ if (typeof Object.getPrototypeOf !== 'function') { /* jshint -W103 */ if (typeof 'test'.__proto__ === 'object') { Object.getPrototypeOf = function(object) { return object.__proto__; }; } else { Object.getPrototypeOf = function(object) { // May break if the constructor has been tampered with return object.constructor.prototype; }; } /* jshint +W103 */ } /** The following is included by preprocessor */ // #include "build/grammar.js" /** * jison doesn't have a good exception, so we make one. * This is brittle as it depends on jison internals */ function ParseError(message, hash) { _.extend(this, hash); this.name = 'ParseError'; this.message = (message || ''); } ParseError.prototype = new Error(); Diagram.ParseError = ParseError; Diagram.parse = function(input) { // TODO jison v0.4.17 changed their API slightly, so parser is no longer defined: // Create the object to track state and deal with errors parser.yy = new Diagram(); parser.yy.parseError = function(message, hash) { throw new ParseError(message, hash); }; // Parse var diagram = parser.parse(input); // Then clean up the parseError key that a user won't care about delete diagram.parseError; return diagram; }; ================================================ FILE: src/grammar.ebnf ================================================ /** js sequence diagrams * https://bramp.github.io/js-sequence-diagrams/ * (c) 2012-2017 Andrew Brampton (bramp.net) * Simplified BSD license. * * EBNF version of the grammar for diagraming purposes only * Paste this into http://www.bottlecaps.de/rr/ui to generate the diagram */ document ::= statement* statement ::= ( 'title' ':'? message | 'participant' actor ('as' alias)? | 'note' ( ( 'left of' | 'right of') actor | 'over' (actor | actor ',' actor) ) ':' message | actor ( '-' | '--' ) ( '>' | '>>' )? actor ':' message ) /* message ::= [^\n]+ actor ::= [^\->:\n,]+ */ ================================================ FILE: src/grammar.jison ================================================ /** js sequence diagrams * https://bramp.github.io/js-sequence-diagrams/ * (c) 2012-2017 Andrew Brampton (bramp.net) * Simplified BSD license. */ %lex %options case-insensitive %{ // Pre-lexer code can go here %} %x title %% [\r\n]+ return 'NL'; \s+ /* skip whitespace */ \#[^\r\n]* /* skip comments */ "participant" return 'participant'; "left of" return 'left_of'; "right of" return 'right_of'; "over" return 'over'; "note" return 'note'; "title" { this.begin('title'); return 'title'; } [^\r\n]+ { this.popState(); return 'MESSAGE'; } "," return ','; [^\->:,\r\n"]+ return 'ACTOR'; \"[^"]+\" return 'ACTOR'; "--" return 'DOTLINE'; "-" return 'LINE'; ">>" return 'OPENARROW'; ">" return 'ARROW'; :[^\r\n]+ return 'MESSAGE'; <<EOF>> return 'EOF'; . return 'INVALID'; /lex %start start %% /* language grammar */ start : document 'EOF' { return yy.parser.yy; } /* returning parser.yy is a quirk of jison >0.4.10 */ ; document : /* empty */ | document line ; line : statement { } | 'NL' ; statement : 'participant' actor_alias { $2; } | signal { yy.parser.yy.addSignal($1); } | note_statement { yy.parser.yy.addSignal($1); } | 'title' message { yy.parser.yy.setTitle($2); } ; note_statement : 'note' placement actor message { $$ = new Diagram.Note($3, $2, $4); } | 'note' 'over' actor_pair message { $$ = new Diagram.Note($3, Diagram.PLACEMENT.OVER, $4); } ; actor_pair : actor { $$ = $1; } | actor ',' actor { $$ = [$1, $3]; } ; placement : 'left_of' { $$ = Diagram.PLACEMENT.LEFTOF; } | 'right_of' { $$ = Diagram.PLACEMENT.RIGHTOF; } ; signal : actor signaltype actor message { $$ = new Diagram.Signal($1, $2, $3, $4); } ; actor : ACTOR { $$ = yy.parser.yy.getActor(Diagram.unescape($1)); } ; actor_alias : ACTOR { $$ = yy.parser.yy.getActorWithAlias(Diagram.unescape($1)); } ; signaltype : linetype arrowtype { $$ = $1 | ($2 << 2); } | linetype { $$ = $1; } ; linetype : LINE { $$ = Diagram.LINETYPE.SOLID; } | DOTLINE { $$ = Diagram.LINETYPE.DOTTED; } ; arrowtype : ARROW { $$ = Diagram.ARROWTYPE.FILLED; } | OPENARROW { $$ = Diagram.ARROWTYPE.OPEN; } ; message : MESSAGE { $$ = Diagram.unescape($1.substring(1)); } ; %% ================================================ FILE: src/jquery-plugin.js ================================================ /** js sequence diagrams * https://bramp.github.io/js-sequence-diagrams/ * (c) 2012-2017 Andrew Brampton (bramp.net) * Simplified BSD license. */ /*global jQuery */ if (typeof jQuery != 'undefined') { (function($) { $.fn.sequenceDiagram = function(options) { return this.each(function() { var $this = $(this); var diagram = Diagram.parse($this.text()); $this.html(''); diagram.drawSVG(this, options); }); }; })(jQuery); } ================================================ FILE: src/main.js ================================================ /** js sequence diagrams 2.0.1 * https://bramp.github.io/js-sequence-diagrams/ * (c) 2012-2017 Andrew Brampton (bramp.net) * @license Simplified BSD license. */ (function() { 'use strict'; /*global Diagram */ // The following are included by preprocessor */ // #include "build/diagram-grammar.js" // #include "src/theme.js" // #ifdef SNAP // #include "src/theme-snap.js" // #endif // #ifdef RAPHAEL // #include "src/theme-raphael.js" // #include "fonts/daniel/daniel_700.font.js" // #endif // #include "src/sequence-diagram.js" // #include "src/jquery-plugin.js" // Taken from underscore.js: // Establish the root object, `window` (`self`) in the browser, or `global` on the server. // We use `self` instead of `window` for `WebWorker` support. var root = (typeof self == 'object' && self.self == self && self) || (typeof global == 'object' && global.global == global && global); // Export the Diagram object for **Node.js**, with // backwards-compatibility for their old module API. If we're in // the browser, add `Diagram` as a global object. if (typeof exports !== 'undefined') { if (typeof module !== 'undefined' && module.exports) { exports = module.exports = Diagram; } exports.Diagram = Diagram; } else { root.Diagram = Diagram; } }()); ================================================ FILE: src/sequence-diagram.css ================================================ /** js sequence diagrams * https://bramp.github.io/js-sequence-diagrams/ * (c) 2012-2017 Andrew Brampton (bramp.net) * Simplified BSD license. */ @font-face { font-family: 'danielbd'; src: url('danielbd.woff2') format('woff2'), url('danielbd.woff') format('woff'); font-weight: normal; font-style: normal; } ================================================ FILE: src/sequence-diagram.js ================================================ /** js sequence diagrams * https://bramp.github.io/js-sequence-diagrams/ * (c) 2012-2017 Andrew Brampton (bramp.net) * Simplified BSD license. */ /*global Diagram, _ */ if (typeof Raphael == 'undefined' && typeof Snap == 'undefined') { throw new Error('Raphael or Snap.svg is required to be included.'); } if (_.isEmpty(Diagram.themes)) { // If you are using stock js-sequence-diagrams you should never see this. This only // happens if you have removed the built in themes. throw new Error('No themes were registered. Please call registerTheme(...).'); } // Set the default hand/simple based on which theme is available. Diagram.themes.hand = Diagram.themes.snapHand || Diagram.themes.raphaelHand; Diagram.themes.simple = Diagram.themes.snapSimple || Diagram.themes.raphaelSimple; /* Draws the diagram. Creates a SVG inside the container * container (HTMLElement|string) DOM element or its ID to draw on * options (Object) */ Diagram.prototype.drawSVG = function(container, options) { var defaultOptions = { theme: 'hand' }; options = _.defaults(options || {}, defaultOptions); if (!(options.theme in Diagram.themes)) { throw new Error('Unsupported theme: ' + options.theme); } // TODO Write tests for this check var div = _.isString(container) ? document.getElementById(container) : container; if (div === null || !div.tagName) { throw new Error('Invalid container: ' + container); } var Theme = Diagram.themes[options.theme]; new Theme(this, options, function(drawing) { drawing.draw(div); }); }; // end of drawSVG ================================================ FILE: src/theme-raphael.js ================================================ /** js sequence diagrams * https://bramp.github.io/js-sequence-diagrams/ * (c) 2012-2017 Andrew Brampton (bramp.net) * Simplified BSD license. */ /*global Diagram, Raphael, _ */ if (typeof Raphael != 'undefined') { var LINE = { 'stroke': '#000000', 'stroke-width': 2, 'fill': 'none' }; var RECT = { 'stroke': '#000000', 'stroke-width': 2, 'fill': '#fff' }; /****************** * Raphaël extras ******************/ Raphael.fn.line = function(x1, y1, x2, y2) { assert(_.every([x1,x2,y1,y2], _.isFinite), 'x1,x2,y1,y2 must be numeric'); return this.path('M{0},{1} L{2},{3}', x1, y1, x2, y2); }; /****************** * RaphaelTheme ******************/ var RaphaelTheme = function(diagram, options, resume) { this.init(diagram, _.defaults(options, { 'font-size': 16, 'font-family': 'Andale Mono, monospace' }), resume); }; _.extend(RaphaelTheme.prototype, BaseTheme.prototype, { init: function(diagram, options, resume) { BaseTheme.prototype.init.call(this, diagram); this.paper_ = undefined; this.font_ = { 'font-size': options['font-size'], 'font-family': options['font-family'] }; var a = this.arrowTypes_ = {}; a[ARROWTYPE.FILLED] = 'block'; a[ARROWTYPE.OPEN] = 'open'; var l = this.lineTypes_ = {}; l[LINETYPE.SOLID] = ''; l[LINETYPE.DOTTED] = '-'; resume(this); }, setupPaper: function(container) { this.paper_ = new Raphael(container, 320, 200); this.paper_.setStart(); }, draw: function(container) { BaseTheme.prototype.draw.call(this, container); this.paper_.setFinish(); }, layout: function() { BaseTheme.prototype.layout.call(this); this.paper_.setSize( this.diagram.width, this.diagram.height ); }, /** * Strip whitespace from each newline */ cleanText: function(text) { return text.split('\n').map(function(x) { return x.trim(); }).join('\n'); }, /** * Returns the text's bounding box */ textBBox: function(text, font) { text = this.cleanText(text); font = font || {}; var p; if (font.obj_) { p = this.paper_.print(0, 0, text, font.obj_, font['font-size']); } else { p = this.paper_.text(0, 0, text); p.attr(font); } var bb = p.getBBox(); p.remove(); return bb; }, drawLine: function(x1, y1, x2, y2, linetype, arrowhead) { var line = this.paper_.line(x1, y1, x2, y2).attr(LINE); if (arrowhead !== undefined) { line.attr('arrow-end', this.arrowTypes_[arrowhead] + '-wide-long'); } if (arrowhead !== undefined) { line.attr('stroke-dasharray', this.lineTypes_[linetype]); } return line; }, drawRect: function(x, y, w, h) { return this.paper_.rect(x, y, w, h).attr(RECT); }, /** * Draws text with a optional white background * x,y (int) x,y top left point of the text, or the center of the text (depending on align param) * text (string) text to print * font (Object) * align (string) ALIGN_LEFT, ALIGN_CENTER, ALIGN_HORIZONTAL_CENTER or ALIGN_VERTICAL_CENTER */ drawText: function(x, y, text, font, align) { text = this.cleanText(text); font = font || {}; align = align || ALIGN_LEFT; var paper = this.paper_; var bb = this.textBBox(text, font); if (align == ALIGN_CENTER || align == ALIGN_HORIZONTAL_CENTER) { x = x - bb.width / 2; } if (align == ALIGN_CENTER || align == ALIGN_VERTICAL_CENTER) { y = y - bb.height / 2; } var t; if (font.obj_) { // When using a font, we have to use .print(..) t = paper.print(x - bb.x, y - bb.y, text, font.obj_, font['font-size']); } else { t = paper.text(x - bb.x - bb.width / 2, y - bb.y, text); t.attr(font); t.attr({'text-anchor': 'start'}); } return t; } }); /****************** * RaphaelHandTheme ******************/ var RaphaelHandTheme = function(diagram, options, resume) { this.init(diagram, _.defaults(options, { 'font-size': 16, 'font-family': 'daniel' }), resume); }; // Take the standard RaphaelTheme and make all the lines wobbly _.extend(RaphaelHandTheme.prototype, RaphaelTheme.prototype, { setupPaper: function(container) { RaphaelTheme.prototype.setupPaper.call(this, container); this.font_.obj_ = this.paper_.getFont('daniel'); }, drawLine: function(x1, y1, x2, y2, linetype, arrowhead) { var line = this.paper_.path(handLine(x1, y1, x2, y2)).attr(LINE); if (arrowhead !== undefined) { line.attr('arrow-end', this.arrowTypes_[arrowhead] + '-wide-long'); } if (arrowhead !== undefined) { line.attr('stroke-dasharray', this.lineTypes_[linetype]); } return line; }, drawRect: function(x, y, w, h) { return this.paper_.path(handRect(x, y, w, h)).attr(RECT); } }); registerTheme('raphaelSimple', RaphaelTheme); registerTheme('raphaelHand', RaphaelHandTheme); } ================================================ FILE: src/theme-snap.js ================================================ /** js sequence diagrams * https://bramp.github.io/js-sequence-diagrams/ * (c) 2012-2017 Andrew Brampton (bramp.net) * Simplified BSD license. */ /*global Diagram, Snap, WebFont _ */ // TODO Move definition of font onto the <svg>, so it can easily be override at each level if (typeof Snap != 'undefined') { var xmlns = 'http://www.w3.org/2000/svg'; var LINE = { 'stroke': '#000000', 'stroke-width': 2, // BUG TODO This gets set as a style, not as a attribute. Look at eve.on("snap.util.attr"... 'fill': 'none' }; var RECT = { 'stroke': '#000000', 'stroke-width': 2, 'fill': '#fff' }; var LOADED_FONTS = {}; /****************** * SnapTheme ******************/ var SnapTheme = function(diagram, options, resume) { _.defaults(options, { 'css-class': 'simple', 'font-size': 16, 'font-family': 'Andale Mono, monospace' }); this.init(diagram, options, resume); }; _.extend(SnapTheme.prototype, BaseTheme.prototype, { init: function(diagram, options, resume) { BaseTheme.prototype.init.call(this, diagram); this.paper_ = undefined; this.cssClass_ = options['css-class'] || undefined; this.font_ = { 'font-size': options['font-size'], 'font-family': options['font-family'] }; var a = this.arrowTypes_ = {}; a[ARROWTYPE.FILLED] = 'Block'; a[ARROWTYPE.OPEN] = 'Open'; var l = this.lineTypes_ = {}; l[LINETYPE.SOLID] = ''; l[LINETYPE.DOTTED] = '6,2'; var that = this; this.waitForFont(function() { resume(that); }); }, // Wait for loading of the font waitForFont: function(callback) { var fontFamily = this.font_['font-family']; if (typeof WebFont == 'undefined') { throw new Error('WebFont is required (https://github.com/typekit/webfontloader).'); } if (LOADED_FONTS[fontFamily]) { // If already loaded, just return instantly. callback(); return; } WebFont.load({ custom: { families: [fontFamily] // TODO replace this with something that reads the css }, classes: false, // No need to place classes on the DOM, just use JS Events active: function() { LOADED_FONTS[fontFamily] = true; callback(); }, inactive: function() { // If we fail to fetch the font, still continue. LOADED_FONTS[fontFamily] = true; callback(); } }); }, addDescription: function(svg, description) { var desc = document.createElementNS(xmlns, 'desc'); desc.appendChild(document.createTextNode(description)); svg.appendChild(desc); }, setupPaper: function(container) { // Container must be a SVG element. We assume it's a div, so lets create a SVG and insert var svg = document.createElementNS(xmlns, 'svg'); container.appendChild(svg); this.addDescription(svg, this.diagram.title || ''); this.paper_ = Snap(svg); this.paper_.addClass('sequence'); if (this.cssClass_) { this.paper_.addClass(this.cssClass_); } this.beginGroup(); // TODO Perhaps only include the markers if we actually use them. var a = this.arrowMarkers_ = {}; var arrow = this.paper_.path('M 0 0 L 5 2.5 L 0 5 z'); a[ARROWTYPE.FILLED] = arrow.marker(0, 0, 5, 5, 5, 2.5) .attr({id: 'markerArrowBlock'}); arrow = this.paper_.path('M 9.6,8 1.92,16 0,13.7 5.76,8 0,2.286 1.92,0 9.6,8 z'); a[ARROWTYPE.OPEN] = arrow.marker(0, 0, 9.6, 16, 9.6, 8) .attr({markerWidth: '4', id: 'markerArrowOpen'}); }, layout: function() { BaseTheme.prototype.layout.call(this); this.paper_.attr({ width: this.diagram.width + 'px', height: this.diagram.height + 'px' }); }, textBBox: function(text, font) { // TODO getBBox will return the bounds with any whitespace/kerning. This makes some of our alignments screwed up var t = this.createText(text, font); var bb = t.getBBox(); t.remove(); return bb; }, // For each drawn element, push onto the stack, so it can be wrapped in a single outer element pushToStack: function(element) { this._stack.push(element); return element; }, // Begin a group of elements beginGroup: function() { this._stack = []; }, // Finishes the group, and returns the <group> element finishGroup: function() { var g = this.paper_.group.apply(this.paper_, this._stack); this.beginGroup(); // Reset the group return g; }, createText: function(text, font) { text = text.split('\n').map(function(x) { return x.trim(); }); var t = this.paper_.text(0, 0, text); t.attr(font || {}); if (text.length > 1) { // Every row after the first, set tspan to be 1.2em below the previous line t.selectAll('tspan:nth-child(n+2)').attr({ dy: '1.2em', x: 0 }); } return t; }, drawLine: function(x1, y1, x2, y2, linetype, arrowhead) { var line = this.paper_.line(x1, y1, x2, y2).attr(LINE); if (linetype !== undefined) { line.attr('strokeDasharray', this.lineTypes_[linetype]); } if (arrowhead !== undefined) { line.attr('markerEnd', this.arrowMarkers_[arrowhead]); } return this.pushToStack(line); }, drawRect: function(x, y, w, h) { var rect = this.paper_.rect(x, y, w, h).attr(RECT); return this.pushToStack(rect); }, /** * Draws text with a optional white background * x,y (int) x,y top left point of the text, or the center of the text (depending on align param) * text (string) text to print * font (Object) * align (string) ALIGN_LEFT, ALIGN_CENTER, ALIGN_HORIZONTAL_CENTER or ALIGN_VERTICAL_CENTER */ drawText: function(x, y, text, font, align) { var t = this.createText(text, font); var bb = t.getBBox(); if (align == ALIGN_CENTER || align == ALIGN_HORIZONTAL_CENTER) { x = x - bb.width / 2; } if (align == ALIGN_CENTER || align == ALIGN_VERTICAL_CENTER) { y = y - bb.height / 2; } // Now move the text into place // `y - bb.y` because text(..) is positioned from the baseline, so this moves it down. t.attr({x: x - bb.x, y: y - bb.y}); t.selectAll('tspan').attr({x: x}); this.pushToStack(t); return t; }, drawTitle: function() { this.beginGroup(); BaseTheme.prototype.drawTitle.call(this); return this.finishGroup().addClass('title'); }, drawActor: function(actor, offsetY, height) { this.beginGroup(); BaseTheme.prototype.drawActor.call(this, actor, offsetY, height); return this.finishGroup().addClass('actor'); }, drawSignal: function(signal, offsetY) { this.beginGroup(); BaseTheme.prototype.drawSignal.call(this, signal, offsetY); return this.finishGroup().addClass('signal'); }, drawSelfSignal: function(signal, offsetY) { this.beginGroup(); BaseTheme.prototype.drawSelfSignal.call(this, signal, offsetY); return this.finishGroup().addClass('signal'); }, drawNote: function(note, offsetY) { this.beginGroup(); BaseTheme.prototype.drawNote.call(this, note, offsetY); return this.finishGroup().addClass('note'); }, }); /****************** * SnapHandTheme ******************/ var SnapHandTheme = function(diagram, options, resume) { _.defaults(options, { 'css-class': 'hand', 'font-size': 16, 'font-family': 'danielbd' }); this.init(diagram, options, resume); }; // Take the standard SnapTheme and make all the lines wobbly _.extend(SnapHandTheme.prototype, SnapTheme.prototype, { drawLine: function(x1, y1, x2, y2, linetype, arrowhead) { var line = this.paper_.path(handLine(x1, y1, x2, y2)).attr(LINE); if (linetype !== undefined) { line.attr('strokeDasharray', this.lineTypes_[linetype]); } if (arrowhead !== undefined) { line.attr('markerEnd', this.arrowMarkers_[arrowhead]); } return this.pushToStack(line); }, drawRect: function(x, y, w, h) { var rect = this.paper_.path(handRect(x, y, w, h)).attr(RECT); return this.pushToStack(rect); } }); registerTheme('snapSimple', SnapTheme); registerTheme('snapHand', SnapHandTheme); } ================================================ FILE: src/theme.js ================================================ /** js sequence diagrams * https://bramp.github.io/js-sequence-diagrams/ * (c) 2012-2017 Andrew Brampton (bramp.net) * Simplified BSD license. */ /*global Diagram, _ */ // Following the CSS convention // Margin is the gap outside the box // Padding is the gap inside the box // Each object has x/y/width/height properties // The x/y should be top left corner // width/height is with both margin and padding // TODO // Image width is wrong, when there is a note in the right hand col // Title box could look better // Note box could look better var DIAGRAM_MARGIN = 10; var ACTOR_MARGIN = 10; // Margin around a actor var ACTOR_PADDING = 10; // Padding inside a actor var SIGNAL_MARGIN = 5; // Margin around a signal var SIGNAL_PADDING = 5; // Padding inside a signal var NOTE_MARGIN = 10; // Margin around a note var NOTE_PADDING = 5; // Padding inside a note var NOTE_OVERLAP = 15; // Overlap when using a "note over A,B" var TITLE_MARGIN = 0; var TITLE_PADDING = 5; var SELF_SIGNAL_WIDTH = 20; // How far out a self signal goes var PLACEMENT = Diagram.PLACEMENT; var LINETYPE = Diagram.LINETYPE; var ARROWTYPE = Diagram.ARROWTYPE; var ALIGN_LEFT = 0; var ALIGN_CENTER = 1; var ALIGN_HORIZONTAL_CENTER = 2; var ALIGN_VERTICAL_CENTER = 3; function AssertException(message) { this.message = message; } AssertException.prototype.toString = function() { return 'AssertException: ' + this.message; }; function assert(exp, message) { if (!exp) { throw new AssertException(message); } } if (!String.prototype.trim) { String.prototype.trim = function() { return this.replace(/^\s+|\s+$/g, ''); }; } Diagram.themes = {}; function registerTheme(name, theme) { Diagram.themes[name] = theme; } /****************** * Drawing extras ******************/ function getCenterX(box) { return box.x + box.width / 2; } function getCenterY(box) { return box.y + box.height / 2; } /****************** * SVG Path extras ******************/ function clamp(x, min, max) { if (x < min) { return min; } if (x > max) { return max; } return x; } function wobble(x1, y1, x2, y2) { assert(_.every([x1,x2,y1,y2], _.isFinite), 'x1,x2,y1,y2 must be numeric'); // Wobble no more than 1/25 of the line length var factor = Math.sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1)) / 25; // Distance along line where the control points are // Clamp between 20% and 80% so any arrow heads aren't angled too much var r1 = clamp(Math.random(), 0.2, 0.8); var r2 = clamp(Math.random(), 0.2, 0.8); var xfactor = Math.random() > 0.5 ? factor : -factor; var yfactor = Math.random() > 0.5 ? factor : -factor; var p1 = { x: (x2 - x1) * r1 + x1 + xfactor, y: (y2 - y1) * r1 + y1 + yfactor }; var p2 = { x: (x2 - x1) * r2 + x1 - xfactor, y: (y2 - y1) * r2 + y1 - yfactor }; return 'C' + p1.x.toFixed(1) + ',' + p1.y.toFixed(1) + // start control point ' ' + p2.x.toFixed(1) + ',' + p2.y.toFixed(1) + // end control point ' ' + x2.toFixed(1) + ',' + y2.toFixed(1); // end point } /** * Draws a wobbly (hand drawn) rect */ function handRect(x, y, w, h) { assert(_.every([x, y, w, h], _.isFinite), 'x, y, w, h must be numeric'); return 'M' + x + ',' + y + wobble(x, y, x + w, y) + wobble(x + w, y, x + w, y + h) + wobble(x + w, y + h, x, y + h) + wobble(x, y + h, x, y); } /** * Draws a wobbly (hand drawn) line */ function handLine(x1, y1, x2, y2) { assert(_.every([x1,x2,y1,y2], _.isFinite), 'x1,x2,y1,y2 must be numeric'); return 'M' + x1.toFixed(1) + ',' + y1.toFixed(1) + wobble(x1, y1, x2, y2); } /****************** * BaseTheme ******************/ var BaseTheme = function(diagram, options) { this.init(diagram, options); }; _.extend(BaseTheme.prototype, { // Init called while creating the Theme init: function(diagram, options) { this.diagram = diagram; this.actorsHeight_ = 0; this.signalsHeight_ = 0; this.title_ = undefined; // hack - This should be somewhere better }, setupPaper: function(container) {}, draw: function(container) { this.setupPaper(container); this.layout(); var titleHeight = this.title_ ? this.title_.height : 0; var y = DIAGRAM_MARGIN + titleHeight; this.drawTitle(); this.drawActors(y); this.drawSignals(y + this.actorsHeight_); }, layout: function() { // Local copies var diagram = this.diagram; var font = this.font_; var actors = diagram.actors; var signals = diagram.signals; diagram.width = 0; // min width diagram.height = 0; // min height // Setup some layout stuff if (diagram.title) { var title = this.title_ = {}; var bb = this.textBBox(diagram.title, font); title.textBB = bb; title.message = diagram.title; title.width = bb.width + (TITLE_PADDING + TITLE_MARGIN) * 2; title.height = bb.height + (TITLE_PADDING + TITLE_MARGIN) * 2; title.x = DIAGRAM_MARGIN; title.y = DIAGRAM_MARGIN; diagram.width += title.width; diagram.height += title.height; } _.each(actors, _.bind(function(a) { var bb = this.textBBox(a.name, font); a.textBB = bb; a.x = 0; a.y = 0; a.width = bb.width + (ACTOR_PADDING + ACTOR_MARGIN) * 2; a.height = bb.height + (ACTOR_PADDING + ACTOR_MARGIN) * 2; a.distances = []; a.paddingRight = 0; this.actorsHeight_ = Math.max(a.height, this.actorsHeight_); }, this)); function actorEnsureDistance(a, b, d) { assert(a < b, 'a must be less than or equal to b'); if (a < 0) { // Ensure b has left margin b = actors[b]; b.x = Math.max(d - b.width / 2, b.x); } else if (b >= actors.length) { // Ensure a has right margin a = actors[a]; a.paddingRight = Math.max(d, a.paddingRight); } else { a = actors[a]; a.distances[b] = Math.max(d, a.distances[b] ? a.distances[b] : 0); } } _.each(signals, _.bind(function(s) { // Indexes of the left and right actors involved var a; var b; var bb = this.textBBox(s.message, font); s.textBB = bb; s.width = bb.width; s.height = bb.height; var extraWidth = 0; if (s.type == 'Signal') { s.width += (SIGNAL_MARGIN + SIGNAL_PADDING) * 2; s.height += (SIGNAL_MARGIN + SIGNAL_PADDING) * 2; if (s.isSelf()) { // TODO Self signals need a min height a = s.actorA.index; b = a + 1; s.width += SELF_SIGNAL_WIDTH; } else { a = Math.min(s.actorA.index, s.actorB.index); b = Math.max(s.actorA.index, s.actorB.index); } } else if (s.type == 'Note') { s.width += (NOTE_MARGIN + NOTE_PADDING) * 2; s.height += (NOTE_MARGIN + NOTE_PADDING) * 2; // HACK lets include the actor's padding extraWidth = 2 * ACTOR_MARGIN; if (s.placement == PLACEMENT.LEFTOF) { b = s.actor.index; a = b - 1; } else if (s.placement == PLACEMENT.RIGHTOF) { a = s.actor.index; b = a + 1; } else if (s.placement == PLACEMENT.OVER && s.hasManyActors()) { // Over multiple actors a = Math.min(s.actor[0].index, s.actor[1].index); b = Math.max(s.actor[0].index, s.actor[1].index); // We don't need our padding, and we want to overlap extraWidth = -(NOTE_PADDING * 2 + NOTE_OVERLAP * 2); } else if (s.placement == PLACEMENT.OVER) { // Over single actor a = s.actor.index; actorEnsureDistance(a - 1, a, s.width / 2); actorEnsureDistance(a, a + 1, s.width / 2); this.signalsHeight_ += s.height; return; // Bail out early } } else { throw new Error('Unhandled signal type:' + s.type); } actorEnsureDistance(a, b, s.width + extraWidth); this.signalsHeight_ += s.height; }, this)); // Re-jig the positions var actorsX = 0; _.each(actors, function(a) { a.x = Math.max(actorsX, a.x); // TODO This only works if we loop in sequence, 0, 1, 2, etc _.each(a.distances, function(distance, b) { // lodash (and possibly others) do not like sparse arrays // so sometimes they return undefined if (typeof distance == 'undefined') { return; } b = actors[b]; distance = Math.max(distance, a.width / 2, b.width / 2); b.x = Math.max(b.x, a.x + a.width / 2 + distance - b.width / 2); }); actorsX = a.x + a.width + a.paddingRight; }); diagram.width = Math.max(actorsX, diagram.width); // TODO Refactor a little diagram.width += 2 * DIAGRAM_MARGIN; diagram.height += 2 * DIAGRAM_MARGIN + 2 * this.actorsHeight_ + this.signalsHeight_; return this; }, // TODO Instead of one textBBox function, create a function for each element type, e.g // layout_title, layout_actor, etc that returns it's bounding box textBBox: function(text, font) {}, drawTitle: function() { var title = this.title_; if (title) { this.drawTextBox(title, title.message, TITLE_MARGIN, TITLE_PADDING, this.font_, ALIGN_LEFT); } }, drawActors: function(offsetY) { var y = offsetY; _.each(this.diagram.actors, _.bind(function(a) { // Top box this.drawActor(a, y, this.actorsHeight_); // Bottom box this.drawActor(a, y + this.actorsHeight_ + this.signalsHeight_, this.actorsHeight_); // Vertical line var aX = getCenterX(a); this.drawLine( aX, y + this.actorsHeight_ - ACTOR_MARGIN, aX, y + this.actorsHeight_ + ACTOR_MARGIN + this.signalsHeight_); }, this)); }, drawActor: function(actor, offsetY, height) { actor.y = offsetY; actor.height = height; this.drawTextBox(actor, actor.name, ACTOR_MARGIN, ACTOR_PADDING, this.font_, ALIGN_CENTER); }, drawSignals: function(offsetY) { var y = offsetY; _.each(this.diagram.signals, _.bind(function(s) { // TODO Add debug mode, that draws padding/margin box if (s.type == 'Signal') { if (s.isSelf()) { this.drawSelfSignal(s, y); } else { this.drawSignal(s, y); } } else if (s.type == 'Note') { this.drawNote(s, y); } y += s.height; }, this)); }, drawSelfSignal: function(signal, offsetY) { assert(signal.isSelf(), 'signal must be a self signal'); var textBB = signal.textBB; var aX = getCenterX(signal.actorA); var y1 = offsetY + SIGNAL_MARGIN + SIGNAL_PADDING; var y2 = y1 + signal.height - 2 * SIGNAL_MARGIN - SIGNAL_PADDING; // Draw three lines, the last one with a arrow this.drawLine(aX, y1, aX + SELF_SIGNAL_WIDTH, y1, signal.linetype); this.drawLine(aX + SELF_SIGNAL_WIDTH, y1, aX + SELF_SIGNAL_WIDTH, y2, signal.linetype); this.drawLine(aX + SELF_SIGNAL_WIDTH, y2, aX, y2, signal.linetype, signal.arrowtype); // Draw text var x = aX + SELF_SIGNAL_WIDTH + SIGNAL_PADDING; var arrowHeight = (y2 - y1); var emptyVerticalSpace = arrowHeight - textBB.height; var topPadding = emptyVerticalSpace / 2; var y = y1 + topPadding; this.drawText(x, y, signal.message, this.font_, ALIGN_LEFT); }, drawSignal: function(signal, offsetY) { var aX = getCenterX(signal.actorA); var bX = getCenterX(signal.actorB); // Mid point between actors var x = (bX - aX) / 2 + aX; var y = offsetY + SIGNAL_MARGIN + SIGNAL_PADDING; // Draw the text in the middle of the signal this.drawText(x, y, signal.message, this.font_, ALIGN_HORIZONTAL_CENTER); // Draw the line along the bottom of the signal // Padding above, between message and line // Margin below the line, between line and next signal y = offsetY + signal.height - SIGNAL_PADDING; this.drawLine(aX, y, bX, y, signal.linetype, signal.arrowtype); }, drawNote: function(note, offsetY) { note.y = offsetY; var actorA = note.hasManyActors() ? note.actor[0] : note.actor; var aX = getCenterX(actorA); switch (note.placement) { case PLACEMENT.RIGHTOF: note.x = aX + ACTOR_MARGIN; break; case PLACEMENT.LEFTOF: note.x = aX - ACTOR_MARGIN - note.width; break; case PLACEMENT.OVER: if (note.hasManyActors()) { var bX = getCenterX(note.actor[1]); var overlap = NOTE_OVERLAP + NOTE_PADDING; note.x = Math.min(aX, bX) - overlap; note.width = (Math.max(aX, bX) + overlap) - note.x; } else { note.x = aX - note.width / 2; } break; default: throw new Error('Unhandled note placement: ' + note.placement); } return this.drawTextBox(note, note.message, NOTE_MARGIN, NOTE_PADDING, this.font_, ALIGN_LEFT); }, /** * Draw text surrounded by a box */ drawTextBox: function(box, text, margin, padding, font, align) { var x = box.x + margin; var y = box.y + margin; var w = box.width - 2 * margin; var h = box.height - 2 * margin; // Draw inner box this.drawRect(x, y, w, h); // Draw text (in the center) if (align == ALIGN_CENTER) { x = getCenterX(box); y = getCenterY(box); } else { x += padding; y += padding; } return this.drawText(x, y, text, font, align); } }); ================================================ FILE: test/align.html ================================================ <!DOCTYPE html> <!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]--> <!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8"> <![endif]--> <!--[if IE 8]> <html class="no-js lt-ie9"> <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]--> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <title>Text Alignment Test ================================================ FILE: test/font_test.html ================================================ Raphael Font Test
================================================ FILE: test/gallery.html ================================================
================================================ FILE: test/grammar-tests.js ================================================ function assertSingleActor(d, alias, name) { name = name || alias; equal(d.actors.length, 1, 'Correct actors count'); var a = d.actors[0]; equal(a.name, name, 'Actors A\'s name'); equal(a.alias, alias, 'Actors A\'s alias'); equal(a.index, 0, 'Actors A\'s index'); } function assertSingleArrow(d, arrowtype, linetype, actorA, actorB, message) { actorA = actorA || 'A'; actorB = actorB || 'B'; message = message || 'Message'; equal(d.actors.length, 2, 'Correct actors count'); var a = d.actors[0]; var b = d.actors[1]; equal(a.name, actorA, 'Actors A name'); equal(b.name, actorB, 'Actors B name'); equal(d.signals.length, 1, 'Correct signals count'); equal(d.signals[0].type, 'Signal', 'Correct signal type'); equal(d.signals[0].actorA, a, 'Actors A'); equal(d.signals[0].actorB, b, 'Actors B'); equal(d.signals[0].message, message, 'Signal message'); equal(d.signals[0].arrowtype, arrowtype, 'Arrowhead type'); equal(d.signals[0].linetype, linetype, 'Line type'); } function assertSingleNote(d, placement, actors, message) { message = message || 'Message'; equal(d.signals.length, 1, 'Correct notes count'); var note = d.signals[0]; equal(note.type, 'Note', 'Correct signal type'); equal(note.placement, placement, 'Correct signal placement'); equal(note.message, message, 'Correct signal message'); if (_.isArray(actors)) { equal(_.isArray(d.actors), true, 'Correct actors array'); equal(d.actors.length, actors.length, 'Correct actors count'); equal(note.actor.length, actors.length, 'Correct note actors'); for (var i = 0; i < actors.length; i++) { equal(d.actors[i].name, actors[i], 'Correct actor'); equal(note.actor[i].name, actors[i], 'Correct note actor'); } } else { equal(d.actors.length, 1, 'Correct actors count'); equal(note.actor.name, actors, 'Correct note actor'); } } function assertEmptyDocument(d) { equal(d.title, undefined, 'No title'); equal(d.actors.length, 0, 'Zero actors'); equal(d.signals.length, 0, 'Zero signals'); } var LINETYPE = Diagram.LINETYPE; var ARROWTYPE = Diagram.ARROWTYPE; var PLACEMENT = Diagram.PLACEMENT; /* function regextest(regex, string) { console.log(string, regex.exec(string)); } test("Regex Tests", function() { // These are here to debug regex problems with unicode //var r = /[^\->:\n,]+\b/; var r = /[^\->:\n,]+/; regextest(r, "blah"); regextest(r, "bl:ah"); regextest(r, "中国"); regextest(r, " 中国 "); regextest(/^(.+) as (\S+)\s*$/i, "blah"); regextest(/^(.+) as (\S+)\s*$/i, " as as as b"); }); */ test('Solid Arrow', function() { var d = Diagram.parse('A->B: Message'); assertSingleArrow(d, ARROWTYPE.FILLED, LINETYPE.SOLID); }); test('Dashed Arrow', function() { var d = Diagram.parse('A-->B: Message'); assertSingleArrow(d, ARROWTYPE.FILLED, LINETYPE.DOTTED); }); test('Solid Open Arrow', function() { var d = Diagram.parse('A->>B: Message'); assertSingleArrow(d, ARROWTYPE.OPEN, LINETYPE.SOLID); }); test('Dashed Open Arrow', function() { var d = Diagram.parse('A-->>B: Message'); assertSingleArrow(d, ARROWTYPE.OPEN, LINETYPE.DOTTED); }); test('Titles', function() { equal(Diagram.parse('Title: title').title, 'title', 'Title'); equal(Diagram.parse('Title: line1\\nline2').title, 'line1\nline2', 'Multiline Title'); equal(Diagram.parse('Title title').title, 'title', 'Title without colon'); equal(Diagram.parse('Title:: title').title, ': title', 'Title with multiple colons'); }); test('Unicode', function() { equal(Diagram.parse('Title: 中国').title, '中国', 'Unicode Title'); assertEmptyDocument(Diagram.parse('# 中国')); assertSingleActor(Diagram.parse('Participant 中国'), '中国'); assertSingleActor(Diagram.parse('Participant 中国 as alias'), 'alias', '中国'); assertSingleActor(Diagram.parse('中国->中国: Message'), '中国'); }); test('Empty documents', function() { assertEmptyDocument(Diagram.parse('')); assertEmptyDocument(Diagram.parse(' \t\n')); assertEmptyDocument(Diagram.parse('\r\n\r\n')); }); test('Whitespace', function() { assertSingleArrow(Diagram.parse(' A - > B : Message '), ARROWTYPE.FILLED, LINETYPE.SOLID); assertSingleArrow(Diagram.parse('\n\nA->B: Message\n\n'), ARROWTYPE.FILLED, LINETYPE.SOLID); assertSingleActor(Diagram.parse(' A -> A: blah'), 'A'); }); test('Comments', function() { // Comments must be on lines on their own assertEmptyDocument(Diagram.parse('#')); assertEmptyDocument(Diagram.parse('# comment')); assertEmptyDocument(Diagram.parse(' # comment')); assertEmptyDocument(Diagram.parse('# A->B: Title')); // If # is encountered elsewhere, it is part of the names assertSingleArrow(Diagram.parse('A#->B: Message'), ARROWTYPE.FILLED, LINETYPE.SOLID, 'A#', 'B'); assertSingleArrow(Diagram.parse('A->B#: Message'), ARROWTYPE.FILLED, LINETYPE.SOLID, 'A', 'B#'); assertSingleArrow(Diagram.parse('A->B: Message # not a comment'), ARROWTYPE.FILLED, LINETYPE.SOLID, 'A', 'B', 'Message # not a comment'); equal(Diagram.parse('Title: title # not a comment').title, 'title # not a comment'); assertSingleNote(Diagram.parse('note left of A: Message # not a comment'), PLACEMENT.LEFTOF, 'A', 'Message # not a comment'); }); test('Notes', function() { assertSingleNote(Diagram.parse('Note left of A: Message'), PLACEMENT.LEFTOF, 'A'); assertSingleNote(Diagram.parse('Note right of A: Message'), PLACEMENT.RIGHTOF, 'A'); assertSingleNote(Diagram.parse('Note over A: Message'), PLACEMENT.OVER, 'A'); assertSingleNote(Diagram.parse('Note over A,B: Message'), PLACEMENT.OVER, ['A', 'B']); // We don't allow "as X" when referencing an actor assertSingleNote(Diagram.parse('Note over C as A,B: Message'), PLACEMENT.OVER, ['C as A', 'B']); }); test('Participants', function() { assertSingleActor(Diagram.parse('Participant Bob'), 'Bob'); assertSingleActor(Diagram.parse('Participant Name with spaces'), 'Name with spaces'); assertSingleActor(Diagram.parse('Participant Name with spaces as alias'), 'alias', 'Name with spaces'); assertSingleActor(Diagram.parse('Participant Name with \'as\' in it'), 'Name with \'as\' in it'); assertSingleActor(Diagram.parse('Participant Double as as alias'), 'alias', 'Double as'); assertSingleActor(Diagram.parse('Participant Bob \\n with newline'), 'Bob \n with newline'); assertSingleActor(Diagram.parse('Participant Bob \\n with newline as alias'), 'alias', 'Bob \n with newline'); assertSingleActor(Diagram.parse('Participant Object'), 'Object'); }); test('Newlines', function() { assertSingleActor(Diagram.parse('Participant A\nNote left of A: Hello'), 'A'); assertSingleActor(Diagram.parse('Participant A\rNote left of A: Hello'), 'A'); assertSingleActor(Diagram.parse('Participant A\r\nNote left of A: Hello'), 'A'); }); test('Quoted names', function() { assertSingleArrow(Diagram.parse('"->:"->B: M'), ARROWTYPE.FILLED, LINETYPE.SOLID, '->:', 'B', 'M'); assertSingleArrow(Diagram.parse('A->"->:": M'), ARROWTYPE.FILLED, LINETYPE.SOLID, 'A', '->:', 'M'); assertSingleActor(Diagram.parse('Participant "->:"'), '->:'); }); test('API', function() { // Public API ok(typeof Diagram.parse == 'function'); var d = Diagram.parse('Participant A'); ok(d instanceof Diagram); ok(typeof d.drawSVG == 'function'); // Private API ok(typeof d.getActor == 'function'); ok(typeof d.getActorWithAlias == 'function'); ok(typeof d.setTitle == 'function'); ok(typeof d.addSignal == 'function'); }); ================================================ FILE: test/qunit.html ================================================ QUnit Test Suite
================================================ FILE: test/raphael-mock.js ================================================ // Mock Raphael, so we don't need to include the real one (when it's not used during testing) (function() { 'use strict'; this.Raphael = { fn: {}, registerFont: function() {}, }; }).call(this); ================================================ FILE: test/snap-mock.js ================================================ // Mock Snap, so we don't need to include the real one (when it's not used during testing) (function() { 'use strict'; this.Snap = { plugin: function() {}, }; }).call(this); ================================================ FILE: test/test.html ================================================
================================================ FILE: test/webfont-mock.js ================================================ // Mock WebFont, so we don't need to include the real one (when it's not used during testing) (function() { 'use strict'; this.WebFont = { load: function(config) { if (config.active) { // If we have a callback, call it soon setTimeout(config.active, 1); } }, }; }).call(this);