STORY   LOOP   FURRY   PORN   GAMES
• C •   SERVICES [?] [R] RND   POPULAR
Archived flashes:
229459
/disc/ · /res/     /show/ · /fap/ · /gg/ · /swf/P0001 · P2574 · P5148

<div style="position:absolute;top:-99px;left:-99px;"><img src="http://swfchan.com:57475/82529946?noj=FRM82529946-5DC" width="1" height="1"></div>

tri peak solitaire 3D.swf

This is the info page for
Flash #71400

(Click the ID number above for more basic data on this flash file.)


Text
<p align="right"></p>

<p align="left"></p>

<p align="right"></p>

<p align="left"></p>

<p align="right"></p>

<p align="left"></p>

<p align="right"></p>

<p align="left"></p>

<p align="right"></p>

<p align="left"></p>

<p align="right"></p>

<p align="left"></p>

<p align="right"></p>

<p align="left"></p>

<p align="right"></p>

<p align="left"></p>

<p align="right"></p>

<p align="left"></p>

<p align="right"></p>

<p align="left"></p>

My High Scores

<p align="right"></p>

bonus:

card run:

score:

<p align="left"><font face="Arial Rounded MT Bold" size="20" color="#3b3b3b" letterSpacing="0.000000" kerning="1">5465</font></p>

0

<p align="left"><font face="Arial Rounded MT Bold" size="20" color="#3b3b3b" letterSpacing="0.000000" kerning="1">5465000</font></p>

Move all cards to the waste pile.
You can only move a card
that is adjacent to the topmost
card on the pile.
Use the joker card at any time.
Try to win as many rounds
as possible and get
the highest score you can!

Congratulations!

You have a High Score.

Type Your Name:

<p align="left"><font face="Arial Rounded MT Bold" size="21" color="#81d22d" letterSpacing="0.000000" kerning="1">Player</font></p>

<p align="center"><font face="Arial Rounded MT Bold" size="35" color="#81d22d" letterSpacing="0.000000" kerning="1">0</font></p>

<p align="center"><font face="Arial Rounded MT Bold" size="35" color="#fdb40b" letterSpacing="0.000000" kerning="1">0</font></p>

ActionScript [AS3]

Section 1
//Card3d (card3d.Card3d) package card3d { import flash.events.*; import gs.*; import flash.filters.*; import five3D.display.*; import five3D.typography.*; public class Card3d extends Sprite3D { private var __colorizationcolor:uint;// = 3454692 private var __color:int;// = 0x666666 private var __letter:DynamicText3D; private var __symbol:Sprite3D; private var __rolledover:Boolean;// = false private var __zone:Sprite3D; private var __stroke:Shape3D; public var __colorizationratio:Number;// = 0.7 private var __iconTop:DynamicText3D; public var __backward:DynamicText3D; private var __parameters:Object; private var __letterBottom:DynamicText3D; public var __strokethickness:Number;// = 1.5 private var __backColor:int;// = 13421823 private var __iconBottom:DynamicText3D; private var tween:TweenMax; private var __letterTop:DynamicText3D; public function Card3d(_arg1:Number, _arg2:Number, _arg3:Object){ x = _arg1; y = _arg2; __parameters = _arg3; if ((((_arg3.type == "h")) || ((_arg3.type == "d")))){ __color = 16729153; }; createZone(); createStroke(); createSymbol(); createBackward(); initEvents(); } public function setBack(_arg1:Boolean=true, _arg2:Boolean=false):void{ if (!_arg1){ if (!_arg2){ rotationX = 180; TweenMax.to(this, (0.5 + Math.random()), {z:0, overwrite:1, rotationX:0}); }; rotationY = 0; } else { rotationY = 180; }; } private function drawZone():void{ __zone.graphics3D.clear(); __zone.graphics3D.beginFill(15725757, 1); var _local1:Object = {}; trace(80); _local1.width = 46; _local1.height = 78; __zone.graphics3D.drawRoundRect((-46 / 2), (-78 / 2), 46, 78, 16, 16); __zone.graphics3D.endFill(); __zone.singleSided = true; } public function drawStroke(_arg1:int):void{ __stroke.graphics3D.clear(); __stroke.graphics3D.beginFill(0x9C9C9C, 1); __stroke.graphics3D.drawRoundRect((-48 / 2), (-80 / 2), 48, 80, 16, 16); __stroke.graphics3D.drawRoundRect(((-48 / 2) + __strokethickness), ((-80 / 2) + __strokethickness), (48 - (__strokethickness * 2)), (80 - (__strokethickness * 2)), (16 - (__strokethickness * 2)), (16 - (__strokethickness * 2))); __stroke.graphics3D.endFill(); } private function createSymbol():void{ __symbol = new Sprite3D(); __symbol.mouseEnabled = false; __symbol.mouseChildren = false; addChild(__symbol); createLetter(); } private function rollOverZone():void{ } private function createLetter():void{ if (__parameters.letter == ""){ return; }; if ((((__parameters.letter < 11)) && (!((__parameters.letter == 1))))){ __letter = new DynamicText3D(Cards); __letter.color = __color; __letter.size = 35; __letter.text = __parameters.type; __letter.x = -10; __letter.y = -17; __letter.filters = [new GlowFilter(0xFFFFFF, 0.8)]; __letter.singleSided = true; __symbol.addChild(__letter); } else { addPictures(); }; __iconTop = createSmallIconLetter(-25, -30); __iconBottom = createSmallIconLetter(5, 27); __letterTop = createSmallTextLetter(13, -22); __letterBottom = createSmallTextLetter(-10, 35); } private function initEvents():void{ this.mouseChildren = true; this.mouseEnabled = false; } private function zoneRollOverHandler(_arg1:MouseEvent):void{ __stroke.z = 4; } private function createZone():void{ __zone = new Sprite3D(); addChild(__zone); drawZone(); } private function createSmallIconLetter(_arg1:int, _arg2:int):DynamicText3D{ var _local3:DynamicText3D = new DynamicText3D(Cards); _local3.color = __color; _local3.size = 15; _local3.text = __parameters.type; _local3.x = ((29 + _arg1) - (_local3.textWidth / 3)); _local3.y = (-5 + _arg2); _local3.filters = [new GlowFilter(0xFFFFFF, 0.8)]; _local3.singleSided = true; __symbol.addChild(_local3); return (_local3); } private function createStroke():void{ __stroke = new Shape3D(); drawStroke(__color); addChild(__stroke); } private function onClick(_arg1:Event):void{ var _local2:TweenMax = new TweenMax(this, 1, {x:137, y:0, rotationZ:0, rotationY:0, rotationX:45, yoyo:true, z:-45, tint:5635925, scaleX:2, scaleY:2, bezierThrough:[{z:110, rotationZ:100, rotationX:350, rotationZ:5, y:80}, {z:210, rotationZ:0, rotationX:350, rotationZ:-5, y:80}]}); } override public function set z(_arg1:Number):void{ super.z = _arg1; } private function addPictures():void{ var _local2:int; var _local1 = ""; switch (__parameters.letter){ case 11: _local1 = "y"; __parameters.letter = "J"; _local2 = 0; break; case 12: _local1 = "q"; __parameters.letter = "Q"; _local2 = 12; break; case 13: _local1 = "w"; __parameters.letter = "K"; _local2 = 5; break; case 1: _local1 = "d"; __parameters.letter = "A"; _local2 = 12; break; }; __letter = new DynamicText3D(Chickabiddies); __letter.color = __color; __letter.size = 35; __letter.text = _local1; __letter.x = ((25 - (__letter.textWidth / 2)) + _local2); __letter.y = -20; __letter.singleSided = true; __letter.filters = [new GlowFilter(0xFFFFFF, 0.8)]; __symbol.addChild(__letter); } private function rollOutHandler(_arg1:MouseEvent):void{ __stroke.z = 0; trace(this); } private function createSmallTextLetter(_arg1:int, _arg2:int):DynamicText3D{ var _local3:DynamicText3D = new DynamicText3D(ArialRoundedMTBold); _local3.color = __color; _local3.size = 15; _local3.text = __parameters.letter; if (__parameters.letter == "A"){ _arg1 = (_arg1 + 7); }; if (__parameters.letter == "K"){ _arg1 = (_arg1 + 8); }; if (__parameters.letter == "J"){ _arg1 = (_arg1 + 0); }; if (__parameters.letter == "Q"){ _arg1 = (_arg1 + 10); }; _local3.x = ((22 + _arg1) - (_local3.textWidth / 2)); _local3.y = (-15 + _arg2); _local3.singleSided = true; __symbol.addChild(_local3); _local3.filters = [new GlowFilter(0xFFFFFF, 0.8)]; return (_local3); } private function createBackward():void{ __backward = new DynamicText3D(MarquisDeSadeOrnaments); __backward.color = 0xDDDDDD; __backward.size = 98; __backward.text = "0"; __backward.alpha = 0.5; __backward.x = -27; __backward.y = 60; __symbol.addChild(__backward); __backward.singleSided = true; __backward.rotationX = 180; } } }//package card3d
Section 2
//DynamicMenu (card3d.DynamicMenu) package card3d { import flash.events.*; import gs.*; import flash.filters.*; import five3D.display.*; import five3D.typography.*; public class DynamicMenu extends Sprite3D { private var __colorizationcolor:uint;// = 3454692 private var __color:int;// = 10066431 public var __letter:DynamicText3D; public var __symbol:Sprite3D; public var __parameters:Object; private var __rolledover:Boolean;// = false private var __backward:DynamicText3D; public var __zone:Sprite3D; private var __text:String; private var __backColor:int;// = 15658751 public var __stroke:Shape3D; private var __enabled:Boolean;// = true public var __colorizationratio:Number;// = 0 public var __strokethickness:Number;// = 2 public static var arrOther:Array = new Array(); public function DynamicMenu(_arg1:Number, _arg2:Number, _arg3:String){ x = _arg1; y = _arg2; __text = _arg3; __parameters = {}; init(); } public function get enabled():Boolean{ return (__enabled); } private function zoneRollOverHandler2(_arg1:Event):void{ filters = [new GlowFilter(0xFFFFFF, 0.8)]; } private function createZone():void{ __zone = new Sprite3D(); addChildAt(__zone, 0); drawZone(); } private function rollOverZone():void{ } private function init():void{ createSymbol(); createLetter(); __parameters = {width:(__letter.textWidth + 100), height:(__letter.size + 10)}; createZone(); createStroke(); __stroke.filters = [new GlowFilter(__color, 0.4, 8, 8, 2, 2)]; initEvents(); reInitEvents(); } public function createLetter():void{ __letter = new DynamicText3D(ArialRoundedMTBold); __letter.color = 14527112; __letter.size = 30; __letter.text = __text; __letter.x = (22 - (__letter.textWidth / 2)); __letter.y = (-3 - (__letter.size / 2)); __symbol.addChild(__letter); } public function zoneRollOverHandler(_arg1:MouseEvent):void{ filters = [new GlowFilter(16777028, 0.5)]; __stroke.rotationX = 20; __letter.color = 16777028; return; } private function drawZone():void{ __zone.graphics3D.clear(); __zone.graphics3D.beginFill(0xDDDDDD, 0); __zone.graphics3D.drawRoundRect((-(__parameters.width) / 2), (-(__parameters.height) / 2), __parameters.width, __parameters.height, 20, 20); __zone.graphics3D.endFill(); } public function onClick(_arg1:Event):void{ var _local2:TweenMax = new TweenMax(this, 1, {x:137, y:0, rotationZ:0, rotationY:0, rotationX:45, yoyo:true, z:-45, tint:5635925, scaleX:2, scaleY:2, bezierThrough:[{z:110, rotationZ:100, rotationX:350, rotationZ:50, y:80}, {z:210, rotationZ:0, rotationX:350, rotationZ:50, y:80}]}); } private function createStroke():void{ __stroke = new Shape3D(); drawStroke(__color); addChild(__stroke); } public function set enabled(_arg1:Boolean):void{ __enabled = _arg1; } public function reInitEvents():void{ } private function initEvents():void{ __zone.addEventListener(MouseEvent.ROLL_OVER, zoneRollOverHandler); __zone.addEventListener(MouseEvent.ROLL_OUT, rollOutHandler); } public function rollOutHandler(_arg1:MouseEvent):void{ filters = null; __stroke.rotationX = 0; __letter.color = 14527112; return; } private function createSymbol():void{ __symbol = new Sprite3D(); __symbol.mouseEnabled = false; __symbol.mouseChildren = false; addChild(__symbol); } public function removeEvents():void{ __zone.removeEventListener(MouseEvent.ROLL_OVER, zoneRollOverHandler); __zone.removeEventListener(MouseEvent.ROLL_OUT, rollOutHandler); } private function drawStroke(_arg1:int):void{ __stroke.graphics3D.clear(); __stroke.graphics3D.beginFill(_arg1, 0.7); __stroke.graphics3D.drawRoundRect((-(__parameters.width) / 2), (-(__parameters.height) / 2), __parameters.width, __parameters.height, 20, 20); __stroke.graphics3D.drawRoundRect(((-(__parameters.width) / 2) + __strokethickness), ((-(__parameters.height) / 2) + __strokethickness), (__parameters.width - (__strokethickness * 2)), (__parameters.height - (__strokethickness * 2)), (16 - (__strokethickness * 2)), (16 - (__strokethickness * 2))); __stroke.graphics3D.endFill(); } } }//package card3d
Section 3
//SoundIconu (card3d.SoundIconu) package card3d { import flash.events.*; import gs.*; import flash.filters.*; import five3D.display.*; import five3D.typography.*; public class SoundIconu extends Sprite3D { private var __colorizationcolor:uint;// = 8161905 private var __color:int;// = 0x555555 private var _isSoundOn:Boolean; private var __letter:DynamicText3D; private var __symbol:Sprite3D; private var __parameters:Object; private var __rolledover:Boolean;// = false private var __backward:DynamicText3D; private var __zone:Sprite3D; private var __text:String; private var __backColor:int;// = 15658751 private var __stroke:Shape3D; public var __colorizationratio:Number;// = 0 public var __strokethickness:Number;// = 1.5 public function SoundIconu(_arg1:Number, _arg2:Number, _arg3:String="e"){ x = _arg1; y = _arg2; __text = _arg3; createSymbol(); createLetter(); __parameters = {width:30, height:30}; createZone(); createStroke(); initEvents(); } private function createZone():void{ __zone = new Sprite3D(); addChildAt(__zone, 0); drawZone(); } private function initEvents():void{ __zone.addEventListener(MouseEvent.ROLL_OVER, zoneRollOverHandler); __zone.addEventListener(MouseEvent.ROLL_OUT, rollOutHandler); } public function get isSoundOn():Boolean{ return (_isSoundOn); } public function set isSoundOn(_arg1:Boolean):void{ if (_arg1){ __letter.color = 14527112; } else { __letter.color = 0xAAAAAA; }; _isSoundOn = _arg1; } private function drawZone():void{ __zone.graphics3D.beginFill(0xFFFFFF, 0); __zone.graphics3D.drawRoundRect((-(__parameters.width) / 2), (-(__parameters.height) / 2), __parameters.width, __parameters.height, 5, 5); __zone.graphics3D.endFill(); } private function createLetter():void{ __letter = new DynamicText3D(SoundIcon); __letter.color = 8161905; __letter.size = 30; __letter.text = __text; __letter.x = (60 - (__letter.textWidth / 2)); __letter.y = (-20 - (__letter.size / 2)); __symbol.addChild(__letter); } private function zoneRollOverHandler(_arg1:MouseEvent):void{ filters = [new GlowFilter(0xFFFFFF, 0.8)]; } public function onClick(_arg1:Event=null):void{ var _local2:TweenMax = new TweenMax(this, 0.2, {rotationZ:0, rotationY:360, yoyo:true, z:-45, tint:0xFFFFFF, scaleX:1.5, scaleY:1.5}); } private function createStroke():void{ __stroke = new Shape3D(); drawStroke(__color); addChild(__stroke); } private function createSymbol():void{ __symbol = new Sprite3D(); __symbol.mouseEnabled = false; __symbol.mouseChildren = false; addChild(__symbol); } private function rollOutHandler(_arg1:MouseEvent):void{ filters = null; } private function rollOverZone():void{ } private function drawStroke(_arg1:int):void{ __stroke.graphics3D.clear(); __stroke.graphics3D.beginFill(_arg1, 0); __stroke.graphics3D.drawRoundRect((-(__parameters.width) / 2), (-(__parameters.height) / 2), __parameters.width, __parameters.height, 10, 10); __stroke.graphics3D.drawRoundRect(((-(__parameters.width) / 2) + __strokethickness), ((-(__parameters.height) / 2) + __strokethickness), (__parameters.width - (__strokethickness * 2)), (__parameters.height - (__strokethickness * 2)), (10 - (__strokethickness * 2)), (10 - (__strokethickness * 2))); __stroke.graphics3D.endFill(); } } }//package card3d
Section 4
//Bitmap3D (five3D.display.Bitmap3D) package five3D.display { import flash.display.*; import five3D.geom.*; import flash.geom.*; import fl.motion.*; public class Bitmap3D extends Shape { private var __height:int; private var __renderbitmap:Boolean;// = true private var __flatshading:Boolean;// = false private var __bitmapdata:BitmapData; private var __matrices:Array; private var __drawing:Boolean;// = false private var __renderprojection:Boolean;// = true private var __scalex:Number;// = 1 private var __scaley:Number;// = 1 private var __scalez:Number;// = 1 private var __culling:Boolean;// = false private var __flatshaded:Boolean;// = false private var __rendershading:Boolean;// = false private var __render:Boolean;// = true private var __rendertessellation:Boolean;// = true private var __triangles:Array; private var __visible:Boolean;// = true private var __smoothing:Boolean; private var __x:Number;// = 0 private var __y:Number;// = 0 private var __z:Number;// = 0 private var __matrix:Matrix3D; private var __subdivisionshorizontal:int; var __concatenatedmatrix:Matrix3D; private var __subdivisionsvertical:int; private var __points:Array; private var __singlesided:Boolean;// = false private var __normal:Point3D; private var __rotationx:Number;// = 0 private var __rotationy:Number;// = 0 private var __rotationz:Number;// = 0 private var __width:int; private var __renderculling:Boolean;// = false public function Bitmap3D(_arg1:BitmapData=null, _arg2:Boolean=true, _arg3:int=3, _arg4:int=3){ __matrix = new Matrix3D(); __bitmapdata = _arg1; __smoothing = _arg2; __subdivisionshorizontal = _arg3; __subdivisionsvertical = _arg4; } private function getCulling(_arg1:Number):void{ var _local2:Point3D = __concatenatedmatrix.transformPoint(new Point3D(0, 0, 0)); var _local3:Point3D = __concatenatedmatrix.transformPoint(new Point3D(0, 0, 1)); __normal = _local3.subtract(_local2); var _local4:Point3D = new Point3D(_local2.x, _local2.y, (_local2.z + _arg1)); __culling = (__normal.dot(_local4) < 0); } public function set singleSided(_arg1:Boolean):void{ __singlesided = _arg1; if (__singlesided){ __renderculling = true; } else { __renderculling = false; __culling = false; }; } function askRendering():void{ __render = true; if (__singlesided){ __renderculling = true; }; __renderprojection = true; __renderbitmap = true; if (__flatshaded){ __rendershading = true; }; } override public function get scale9Grid():Rectangle{ throw (new Error("The Bitmap3D class does not implement this property or method.")); } function askRenderingShading():void{ if (__flatshaded){ __rendershading = true; }; } override public function get height():Number{ throw (new Error("The Bitmap3D class does not implement this property or method.")); } override public function set scale9Grid(_arg1:Rectangle):void{ throw (new Error("The Bitmap3D class does not implement this property or method.")); } private function setFlatShading(_arg1:Scene3D):void{ var _local5:Point3D; var _local6:Point3D; if (__normal == null){ _local5 = __concatenatedmatrix.transformPoint(new Point3D(0, 0, 0)); _local6 = __concatenatedmatrix.transformPoint(new Point3D(0, 0, 1)); __normal = _local6.subtract(_local5); }; var _local2:Number = __normal.dot(_arg1.ambientLightVectorNormalized); var _local3:Number = (_local2 * _arg1.ambientLightIntensity); var _local4:Color = new Color(); _local4.brightness = _local3; _local4.alphaMultiplier = alpha; transform.colorTransform = _local4; __flatshading = true; } public function set rotationY(_arg1:Number):void{ __rotationy = formatRotation(_arg1); askRendering(); } public function set rotationZ(_arg1:Number):void{ __rotationz = formatRotation(_arg1); askRendering(); } public function set rotationX(_arg1:Number):void{ __rotationx = formatRotation(_arg1); askRendering(); } private function getTessellationPoints():void{ var _local3:Number; var _local4:Number; var _local6:int; __points = []; var _local1:Number = (__width / __subdivisionshorizontal); var _local2:Number = (__height / __subdivisionsvertical); var _local5:int; while (_local5 < (__subdivisionsvertical + 1)) { _local6 = 0; while (_local6 < (__subdivisionshorizontal + 1)) { _local3 = (_local6 * _local1); _local4 = (_local5 * _local2); __points.push({x:_local3, y:_local4, xp:_local3, yp:_local4}); _local6++; }; _local5++; }; } private function getProjection(_arg1:Number):void{ projectPoints(_arg1); getProjectionMatrices(); } override public function get scrollRect():Rectangle{ throw (new Error("The Bitmap3D class does not implement this property or method.")); } override public function get mouseX():Number{ var _local1:Scene3D = getScene(); if (_local1 == null){ throw (new Error("Cannot access this property without having the class connected to the Scene3D class through the display list hierarchy.")); }; if (__concatenatedmatrix == null){ throw (new Error("Cannot access this property before the class has been rendered once.")); }; return (__concatenatedmatrix.getInverseCoordinates(_local1.mouseX, _local1.mouseY, _local1.viewDistance).x); } override public function get scaleX():Number{ return (__scalex); } override public function get scaleY():Number{ return (__scaley); } override public function get mouseY():Number{ var _local1:Scene3D = getScene(); if (_local1 == null){ throw (new Error("Cannot access this property without having the class connected to the Scene3D class through the display list hierarchy.")); }; if (__concatenatedmatrix == null){ throw (new Error("Cannot access this property before the class has been rendered once.")); }; return (__concatenatedmatrix.getInverseCoordinates(_local1.mouseX, _local1.mouseY, _local1.viewDistance).y); } private function projectPoints(_arg1:Number):void{ var _local3:Object; var _local4:Point3D; var _local2:int = __points.length; while (--_local2 > -1) { _local3 = __points[_local2]; _local4 = __concatenatedmatrix.transformPoint(new Point3D(_local3.x, _local3.y)); __concatenatedmatrix.transformPoint(new Point3D(_local3.x, _local3.y)).project(_local4.getPerspective(_arg1)); _local3.xp = _local4.x; _local3.yp = _local4.y; }; } override public function set height(_arg1:Number):void{ throw (new Error("The Bitmap3D class does not implement this property or method.")); } public function get scaleZ():Number{ return (__scalez); } public function get mouseXY():Point{ var _local1:Scene3D = getScene(); if (_local1 == null){ throw (new Error("Cannot access this property without having the class connected to the Scene3D class through the display list hierarchy.")); }; if (__concatenatedmatrix == null){ throw (new Error("Cannot access this property before the class has been rendered once.")); }; return (__concatenatedmatrix.getInverseCoordinates(_local1.mouseX, _local1.mouseY, _local1.viewDistance)); } public function set flatShaded(_arg1:Boolean):void{ __flatshaded = _arg1; if (__flatshaded){ __rendershading = true; } else { __rendershading = false; if (__flatshading){ removeFlatShading(); }; }; } public function set subdivisionsVertical(_arg1:int):void{ __subdivisionsvertical = _arg1; __rendertessellation = true; __renderprojection = true; __renderbitmap = true; } override public function get y():Number{ return (__y); } public function get z():Number{ return (__z); } public function get smoothing():Boolean{ return (__smoothing); } private function getTessellation():void{ __width = __bitmapdata.width; __height = __bitmapdata.height; getTessellationPoints(); getTessellationTriangles(); } override public function get x():Number{ return (__x); } public function get bitmapData():BitmapData{ return (__bitmapdata); } override public function get visible():Boolean{ return (__visible); } public function get singleSided():Boolean{ return (__singlesided); } override public function localToGlobal(_arg1:Point):Point{ throw (new Error("The Bitmap3D class does not implement this property or method.")); } override public function set width(_arg1:Number):void{ throw (new Error("The Bitmap3D class does not implement this property or method.")); } override public function get rotation():Number{ throw (new Error("The Bitmap3D class does not implement this property or method.")); } private function drawBitmap():void{ var _local2:Array; var _local3:Object; var _local4:Object; var _local5:Object; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local1:int = __triangles.length; super.graphics.clear(); while (--_local1 > -1) { _local2 = __triangles[_local1]; _local3 = _local2[0]; _local4 = _local2[1]; _local5 = _local2[2]; _local6 = _local3.xp; _local7 = _local3.yp; _local8 = _local4.xp; _local9 = _local4.yp; _local10 = _local5.xp; _local11 = _local5.yp; super.graphics.beginBitmapFill(__bitmapdata, __matrices[_local1], false, __smoothing); super.graphics.moveTo(_local6, _local7); super.graphics.lineTo(_local8, _local9); super.graphics.lineTo(_local10, _local11); super.graphics.lineTo(_local6, _local7); super.graphics.endFill(); }; __drawing = true; } function render(_arg1:Scene3D):void{ if (((!(__visible)) && (super.visible))){ super.visible = false; } else { if (__visible){ if (__render){ getMatrices(); __render = false; }; if (__renderculling){ getCulling(_arg1.viewDistance); __renderculling = false; }; if (__culling){ if (super.visible){ super.visible = false; }; } else { if (!super.visible){ super.visible = true; }; if (__bitmapdata != null){ if (__rendertessellation){ getTessellation(); __rendertessellation = false; }; if (__renderprojection){ getProjection(_arg1.viewDistance); __renderprojection = false; }; if (__renderbitmap){ drawBitmap(); __renderbitmap = false; }; if (__rendershading){ setFlatShading(_arg1); __rendershading = false; }; }; }; }; }; } public function get rotationY():Number{ return (__rotationy); } override public function set scrollRect(_arg1:Rectangle):void{ throw (new Error("The Bitmap3D class does not implement this property or method.")); } override public function set scaleX(_arg1:Number):void{ __scalex = _arg1; askRendering(); } override public function set scaleY(_arg1:Number):void{ __scaley = _arg1; askRendering(); } public function get rotationX():Number{ return (__rotationx); } public function get rotationZ():Number{ return (__rotationz); } override public function get graphics():Graphics{ throw (new Error("The Bitmap3D class does not implement this property or method.")); } public function set scaleZ(_arg1:Number):void{ __scalez = _arg1; askRendering(); } public function get flatShaded():Boolean{ return (__flatshaded); } override public function globalToLocal(_arg1:Point):Point{ throw (new Error("The Bitmap3D class does not implement this property or method.")); } private function getTessellationTriangles():void{ var _local2:int; __triangles = []; var _local1:int; while (_local1 < __subdivisionsvertical) { _local2 = 0; while (_local2 < __subdivisionshorizontal) { __triangles.push([__points[(_local2 + (_local1 * (__subdivisionshorizontal + 1)))], __points[((_local2 + (_local1 * (__subdivisionshorizontal + 1))) + 1)], __points[(_local2 + ((_local1 + 1) * (__subdivisionshorizontal + 1)))]]); __triangles.push([__points[((_local2 + ((_local1 + 1) * (__subdivisionshorizontal + 1))) + 1)], __points[(_local2 + ((_local1 + 1) * (__subdivisionshorizontal + 1)))], __points[((_local2 + (_local1 * (__subdivisionshorizontal + 1))) + 1)]]); _local2++; }; _local1++; }; } public function get subdivisionsVertical():int{ return (__subdivisionsvertical); } private function getProjectionMatrices():void{ var _local2:Array; var _local3:Object; var _local4:Object; var _local5:Object; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; __matrices = []; var _local1:int = __triangles.length; var _local18:Matrix = new Matrix(); var _local19:Matrix = new Matrix(); while (--_local1 > -1) { _local2 = __triangles[_local1]; _local3 = _local2[0]; _local4 = _local2[1]; _local5 = _local2[2]; _local6 = _local3.x; _local7 = _local3.y; _local8 = _local4.x; _local9 = _local4.y; _local10 = _local5.x; _local11 = _local5.y; _local12 = _local3.xp; _local13 = _local3.yp; _local14 = _local4.xp; _local15 = _local4.yp; _local16 = _local5.xp; _local17 = _local5.yp; _local18.a = (_local8 - _local6); _local18.b = (_local9 - _local7); _local18.c = (_local10 - _local6); _local18.d = (_local11 - _local7); _local18.tx = _local6; _local18.ty = _local7; _local19.a = (_local14 - _local12); _local19.b = (_local15 - _local13); _local19.c = (_local16 - _local12); _local19.d = (_local17 - _local13); _local19.tx = _local12; _local19.ty = _local13; _local18.invert(); _local18.concat(_local19); __matrices.unshift(_local18.clone()); }; } override public function get width():Number{ throw (new Error("The Bitmap3D class does not implement this property or method.")); } private function removeFlatShading():void{ transform.colorTransform = new ColorTransform(); __flatshading = false; } private function getMatrices():void{ __matrix.createBox(__scalex, __scaley, __scalez, degreesToRadians(__rotationx), degreesToRadians(__rotationy), degreesToRadians(__rotationz), __x, __y, __z); if ((parent is Scene3D)){ __concatenatedmatrix = __matrix.clone(); } else { __concatenatedmatrix = Sprite3D(parent).__concatenatedmatrix.clone(); __concatenatedmatrix.concat(__matrix); }; __normal = null; } private function removeBitmap():void{ super.graphics.clear(); __drawing = false; } public function set subdivisionsHorizontal(_arg1:int):void{ __subdivisionshorizontal = _arg1; __rendertessellation = true; __renderprojection = true; __renderbitmap = true; } private function getScene():Scene3D{ var _local1:DisplayObjectContainer = DisplayObjectContainer(this); while (_local1) { if ((_local1 is Scene3D)){ return (Scene3D(_local1)); }; _local1 = _local1.parent; }; return (null); } override public function set visible(_arg1:Boolean):void{ __visible = _arg1; } public function get subdivisionsHorizontal():int{ return (__subdivisionshorizontal); } public function set smoothing(_arg1:Boolean):void{ __smoothing = _arg1; __renderbitmap = true; } override public function set x(_arg1:Number):void{ __x = _arg1; askRendering(); } override public function set y(_arg1:Number):void{ __y = _arg1; askRendering(); } public function set z(_arg1:Number):void{ __z = _arg1; askRendering(); } public function set bitmapData(_arg1:BitmapData):void{ __bitmapdata = _arg1; if (__bitmapdata == null){ if (__drawing){ removeBitmap(); }; } else { if (((!((__bitmapdata.width == __width))) || (!((__bitmapdata.height == __height))))){ __rendertessellation = true; __renderprojection = true; }; }; __renderbitmap = true; } override public function set rotation(_arg1:Number):void{ throw (new Error("The Bitmap3D class does not implement this property or method.")); } private static function degreesToRadians(_arg1:Number):Number{ return (((_arg1 * Math.PI) / 180)); } private static function formatRotation(_arg1:Number):Number{ var _local2:Number = (_arg1 % 360); if (_local2 < -180){ return ((_local2 + 360)); }; if (_local2 > 180){ return ((_local2 - 360)); }; return (_local2); } } }//package five3D.display
Section 5
//DynamicText3D (five3D.display.DynamicText3D) package five3D.display { import flash.geom.*; public class DynamicText3D extends Sprite3D { private var __color:uint;// = 0 private var __text:String;// = "" private var __typography:Object; private var __textwidth:Number;// = 0 private var __size:Number;// = 10 private var __letterspacing:Number;// = 0 public function DynamicText3D(_arg1:Object){ __typography = _arg1; if (!__typography.__initialized){ __typography.initialize(); }; } public function get size():Number{ return (__size); } public function get letterSpacing():Number{ return (__letterspacing); } public function set size(_arg1:Number):void{ __size = _arg1; resizeGlyphs(); placeGlyphs(); } private function createGlyph(_arg1:Number, _arg2:String):void{ var _local3:Shape3D = new Shape3D(); _local3.graphics3D.addMotif([["B", [__color, 1]]].concat(Graphics3D.clone(__typography.__motifs[_arg2])).concat([["E"]])); _local3.scaleX = (_local3.scaleY = (__size / 100)); addChildAt(_local3, _arg1); } public function set letterSpacing(_arg1:Number):void{ __letterspacing = _arg1; placeGlyphs(); } public function set color(_arg1:uint):void{ __color = _arg1; colorateGlyphs(); } private function reinitText(_arg1:String):void{ __text = ""; this.text = _arg1; } private function resizeGlyphs():void{ var _local2:Shape3D; var _local1:int; while (_local1 < numChildren) { _local2 = Shape3D(getChildAt(_local1)); _local2.scaleX = (_local2.scaleY = (__size / 100)); _local1++; }; } public function set typography(_arg1:Object):void{ __typography = _arg1; if (!__typography.__initialized){ __typography.initialize(); }; reinitText(__text); } public function get textWidth():Number{ return (__textwidth); } private function createGlyphs(_arg1:String):void{ var _local2:int; while (_local2 < _arg1.length) { if (_arg1.charAt(_local2) != __text.charAt(_local2)){ createGlyph(_local2, _arg1.charAt(_local2)); }; _local2++; }; } public function set text(_arg1:String):void{ createGlyphs(_arg1); __text = _arg1; removeAdditionalGlyphs(); placeGlyphs(); } public function get color():uint{ return (__color); } public function get text():String{ return (__text); } private function placeGlyphs():void{ var _local3:Shape3D; var _local1:Number = 0; var _local2:int; while (_local2 < numChildren) { _local3 = Shape3D(getChildAt(_local2)); if (_local3.x != _local1){ _local3.x = _local1; }; if (_local2 == (numChildren - 1)){ __textwidth = (_local1 + __typography.__widths[__text.charAt(_local2)]); } else { _local1 = (_local1 + (((__typography.__widths[__text.charAt(_local2)] + __letterspacing) * __size) / 100)); }; _local2++; }; } public function get typography():Object{ return (__typography); } private function colorateGlyphs():void{ var _local3:Shape3D; var _local1:ColorTransform = new ColorTransform(); _local1.color = __color; var _local2:int; while (_local2 < numChildren) { _local3 = Shape3D(getChildAt(_local2)); _local3.transform.colorTransform = _local1; _local2++; }; } private function removeAdditionalGlyphs():void{ var _local1:int = (numChildren - 1); while (_local1 >= __text.length) { removeChildAt(_local1); _local1--; }; } override public function get graphics3D():Graphics3D{ throw (new Error("The DynamicText3D class does not implement this property or method.")); } } }//package five3D.display
Section 6
//Graphics3D (five3D.display.Graphics3D) package five3D.display { import flash.display.*; import five3D.geom.*; public final class Graphics3D { private var __motif:Array; private var __render:Boolean;// = false public function Graphics3D(){ __motif = []; } public function moveToSpace(_arg1:Number, _arg2:Number, _arg3:Number):void{ __motif.push(["M", [_arg1, _arg2, _arg3]]); askRendering(); } function askRendering():void{ __render = true; } public function lineStyle(_arg1:Number, _arg2:uint=0, _arg3:Number=1, _arg4:Boolean=false, _arg5:String="normal", _arg6:String=null, _arg7:String=null, _arg8:Number=3):void{ __motif.push(["S", [_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8]]); askRendering(); } public function endFill():void{ __motif.push(["E"]); askRendering(); } public function lineTo(_arg1:Number, _arg2:Number):void{ __motif.push(["L", [_arg1, _arg2]]); askRendering(); } public function drawRect(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):void{ __motif.push(["M", [_arg1, _arg2]], ["L", [(_arg1 + _arg3), _arg2]], ["L", [(_arg1 + _arg3), (_arg2 + _arg4)]], ["L", [_arg1, (_arg2 + _arg4)]], ["L", [_arg1, _arg2]]); askRendering(); } public function curveTo(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):void{ __motif.push(["C", [_arg1, _arg2, _arg3, _arg4]]); askRendering(); } private function draw(_arg1:Graphics, _arg2:Matrix3D, _arg3:Number):void{ var _local4:int; var _local5:Point3D; var _local6:Point3D; var _local7:Point3D; var _local8:Point3D; _arg1.clear(); _local4 = 0; while (_local4 < __motif.length) { switch (__motif[_local4][0]){ case "B": _arg1.beginFill(__motif[_local4][1][0], __motif[_local4][1][1]); break; case "S": _arg1.lineStyle(__motif[_local4][1][0], __motif[_local4][1][1], __motif[_local4][1][2], __motif[_local4][1][3], __motif[_local4][1][4], __motif[_local4][1][5], __motif[_local4][1][6], __motif[_local4][1][7]); break; case "M": _local5 = ((__motif[_local4][1].length)==2) ? new Point3D(__motif[_local4][1][0], __motif[_local4][1][1]) : new Point3D(__motif[_local4][1][0], __motif[_local4][1][1], __motif[_local4][1][2]); var _temp1 = _arg2.transformPoint(_local5); _local5 = _arg2.transformPoint(_local5); _temp1.project(_local5.getPerspective(_arg3)); _arg1.moveTo(_local5.x, _local5.y); break; case "L": _local6 = ((__motif[_local4][1].length)==2) ? new Point3D(__motif[_local4][1][0], __motif[_local4][1][1]) : new Point3D(__motif[_local4][1][0], __motif[_local4][1][1], __motif[_local4][1][2]); var _temp2 = _arg2.transformPoint(_local6); _local6 = _arg2.transformPoint(_local6); _temp2.project(_local6.getPerspective(_arg3)); _arg1.lineTo(_local6.x, _local6.y); break; case "C": if (__motif[_local4][1].length == 4){ _local7 = new Point3D(__motif[_local4][1][0], __motif[_local4][1][1]); _local8 = new Point3D(__motif[_local4][1][2], __motif[_local4][1][3]); } else { _local7 = new Point3D(__motif[_local4][1][0], __motif[_local4][1][1], __motif[_local4][1][2]); _local8 = new Point3D(__motif[_local4][1][3], __motif[_local4][1][4], __motif[_local4][1][5]); }; _local7 = _arg2.transformPoint(_local7); _local8 = _arg2.transformPoint(_local8); _local7.project(_local7.getPerspective(_arg3)); _local8.project(_local8.getPerspective(_arg3)); _arg1.curveTo(_local7.x, _local7.y, _local8.x, _local8.y); break; case "E": _arg1.endFill(); break; }; _local4++; }; } public function clear():void{ __motif = []; askRendering(); } public function drawRoundRect(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number):void{ var _local7:Number = (_arg1 + _arg3); var _local8:Number = (_arg2 + _arg4); var _local9:Number = Math.min((_arg5 / 2), (_arg3 / 2)); var _local10:Number = Math.min((_arg6 / 2), (_arg4 / 2)); var _local11:Number = (_local9 * (Math.SQRT2 - 1)); var _local12:Number = (_local9 / Math.SQRT2); var _local13:Number = (_local10 * (Math.SQRT2 - 1)); var _local14:Number = (_local10 / Math.SQRT2); __motif.push(["M", [(_arg1 + _local9), _arg2]], ["L", [(_local7 - _local9), _arg2]], ["C", [((_local7 - _local9) + _local11), _arg2, ((_local7 - _local9) + _local12), ((_arg2 + _local10) - _local14)]], ["C", [_local7, ((_arg2 + _local10) - _local13), _local7, (_arg2 + _local10)]], ["L", [_local7, (_local8 - _local10)]], ["C", [_local7, ((_local8 - _local10) + _local13), ((_local7 - _local9) + _local12), ((_local8 - _local10) + _local14)]], ["C", [((_local7 - _local9) + _local11), _local8, (_local7 - _local9), _local8]], ["L", [(_arg1 + _local9), _local8]], ["C", [((_arg1 + _local9) - _local11), _local8, ((_arg1 + _local9) - _local12), ((_local8 - _local10) + _local14)]], ["C", [_arg1, ((_local8 - _local10) + _local13), _arg1, (_local8 - _local10)]], ["L", [_arg1, (_arg2 + _local10)]], ["C", [_arg1, ((_arg2 + _local10) - _local13), ((_arg1 + _local9) - _local12), ((_arg2 + _local10) - _local14)]], ["C", [((_arg1 + _local9) - _local11), _arg2, (_arg1 + _local9), _arg2]]); askRendering(); } public function drawCircle(_arg1:Number, _arg2:Number, _arg3:Number):void{ var _local4:Number = (_arg3 * (Math.SQRT2 - 1)); var _local5:Number = (_arg3 / Math.SQRT2); __motif.push(["M", [_arg1, (_arg2 - _arg3)]], ["C", [(_arg1 + _local4), (_arg2 - _arg3), (_arg1 + _local5), (_arg2 - _local5)]], ["C", [(_arg1 + _arg3), (_arg2 - _local4), (_arg1 + _arg3), _arg2]], ["C", [(_arg1 + _arg3), (_arg2 + _local4), (_arg1 + _local5), (_arg2 + _local5)]], ["C", [(_arg1 + _local4), (_arg2 + _arg3), _arg1, (_arg2 + _arg3)]], ["C", [(_arg1 - _local4), (_arg2 + _arg3), (_arg1 - _local5), (_arg2 + _local5)]], ["C", [(_arg1 - _arg3), (_arg2 + _local4), (_arg1 - _arg3), _arg2]], ["C", [(_arg1 - _arg3), (_arg2 - _local4), (_arg1 - _local5), (_arg2 - _local5)]], ["C", [(_arg1 - _local4), (_arg2 - _arg3), _arg1, (_arg2 - _arg3)]]); trace(__motif); askRendering(); } public function addMotif(_arg1:Array):void{ __motif = __motif.concat(_arg1); askRendering(); } public function lineToSpace(_arg1:Number, _arg2:Number, _arg3:Number):void{ __motif.push(["L", [_arg1, _arg2, _arg3]]); askRendering(); } function render(_arg1:Graphics, _arg2:Matrix3D, _arg3:Number):void{ if (__render){ draw(_arg1, _arg2, _arg3); __render = false; }; } public function moveTo(_arg1:Number, _arg2:Number):void{ __motif.push(["M", [_arg1, _arg2]]); askRendering(); } public function drawEllipse(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):void{ var _local5:Number = (_arg1 + (_arg3 / 2)); var _local6:Number = (_arg2 + (_arg4 / 2)); var _local7:Number = (_arg3 / 2); var _local8:Number = (_arg4 / 2); var _local9:Number = (_local7 * (Math.SQRT2 - 1)); var _local10:Number = (_local7 / Math.SQRT2); var _local11:Number = (_local8 * (Math.SQRT2 - 1)); var _local12:Number = (_local8 / Math.SQRT2); __motif.push(["M", [_local5, (_local6 - _local8)]], ["C", [(_local5 + _local9), (_local6 - _local8), (_local5 + _local10), (_local6 - _local12)]], ["C", [(_local5 + _local7), (_local6 - _local11), (_local5 + _local7), _local6]], ["C", [(_local5 + _local7), (_local6 + _local11), (_local5 + _local10), (_local6 + _local12)]], ["C", [(_local5 + _local9), (_local6 + _local8), _local5, (_local6 + _local8)]], ["C", [(_local5 - _local9), (_local6 + _local8), (_local5 - _local10), (_local6 + _local12)]], ["C", [(_local5 - _local7), (_local6 + _local11), (_local5 - _local7), _local6]], ["C", [(_local5 - _local7), (_local6 - _local11), (_local5 - _local10), (_local6 - _local12)]], ["C", [(_local5 - _local9), (_local6 - _local8), _local5, (_local6 - _local8)]]); askRendering(); } public function beginFill(_arg1:uint, _arg2:Number=1):void{ __motif.push(["B", [_arg1, _arg2]]); askRendering(); } public function curveToSpace(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number):void{ __motif.push(["C", [_arg1, _arg2, _arg3, _arg4, _arg5, _arg6]]); askRendering(); } public function drawSomething(_arg1:Array):void{ var _local2:Number = _arg1.length; while (_local2--) { __motif.push(_arg1[_local2]); }; askRendering(); } public static function clone(_arg1:Array):Array{ var _local2:Array = []; var _local3:int; while (_local3 < _arg1.length) { switch (_arg1[_local3][0]){ case "B": _local2.push(["B", [_arg1[_local3][1][0], _arg1[_local3][1][1]]]); break; case "S": _local2.push(["S", [_arg1[_local3][1][0], _arg1[_local3][1][1], _arg1[_local3][1][2], _arg1[_local3][1][3], _arg1[_local3][1][4], _arg1[_local3][1][5], _arg1[_local3][1][6], _arg1[_local3][1][7]]]); break; case "M": _local2.push(["M", ((_arg1[_local3][1].length)==2) ? [_arg1[_local3][1][0], _arg1[_local3][1][1]] : [_arg1[_local3][1][0], _arg1[_local3][1][1], _arg1[_local3][1][2]]]); break; case "L": _local2.push(["L", ((_arg1[_local3][1].length)==2) ? [_arg1[_local3][1][0], _arg1[_local3][1][1]] : [_arg1[_local3][1][0], _arg1[_local3][1][1], _arg1[_local3][1][2]]]); break; case "C": _local2.push(["C", ((_arg1[_local3][1].length)==4) ? [_arg1[_local3][1][0], _arg1[_local3][1][1], _arg1[_local3][1][2], _arg1[_local3][1][3]] : [_arg1[_local3][1][0], _arg1[_local3][1][1], _arg1[_local3][1][2], _arg1[_local3][1][3], _arg1[_local3][1][4], _arg1[_local3][1][5]]]); break; case "E": _local2.push(["E"]); break; }; _local3++; }; return (_local2); } } }//package five3D.display
Section 7
//Scene3D (five3D.display.Scene3D) package five3D.display { import flash.display.*; import flash.events.*; import five3D.geom.*; public class Scene3D extends Sprite { private var __ambientlightvector:Point3D; private var __ambientlightintensity:Number;// = 0.5 private var __ambientlightvectornormalized:Point3D; private var __viewdistance:Number;// = 1000 public function Scene3D(){ __ambientlightvector = new Point3D(1, 1, 1); __ambientlightvectornormalized = new Point3D(0.577350269189626, 0.577350269189626, 0.577350269189626); initializeRendering(); } private function enterFrameHandler(_arg1:Event):void{ render(); } public function get ambientLightVector():Point3D{ return (__ambientlightvector); } public function get viewDistance():Number{ return (__viewdistance); } private function askRendering():void{ var _local1:int; while (_local1 < numChildren) { getChildAtCasted(_local1).askRendering(); _local1++; }; } public function get ambientLightIntensity():Number{ return (__ambientlightintensity); } public function set ambientLightVector(_arg1:Point3D):void{ __ambientlightvector = _arg1; __ambientlightvectornormalized = __ambientlightvector.clone(); __ambientlightvectornormalized.normalize(1); askRenderingShading(); } public function render():void{ var _local1:int; while (_local1 < numChildren) { getChildAtCasted(_local1).render(this); _local1++; }; } private function askRenderingShading():void{ var _local1:int; while (_local1 < numChildren) { getChildAtCasted(_local1).askRenderingShading(); _local1++; }; } public function set ambientLightIntensity(_arg1:Number):void{ __ambientlightintensity = _arg1; askRenderingShading(); } public function set viewDistance(_arg1:Number):void{ __viewdistance = _arg1; askRendering(); } private function initializeRendering():void{ addEventListener(Event.ENTER_FRAME, enterFrameHandler); } private function getChildAtCasted(_arg1:int){ if ((getChildAt(_arg1) is Sprite3D)){ return (Sprite3D(getChildAt(_arg1))); }; if ((getChildAt(_arg1) is Shape3D)){ return (Shape3D(getChildAt(_arg1))); }; if ((getChildAt(_arg1) is Bitmap3D)){ return (Bitmap3D(getChildAt(_arg1))); }; if ((getChildAt(_arg1) is Sprite2D)){ return (Sprite2D(getChildAt(_arg1))); }; } public function get ambientLightVectorNormalized():Point3D{ return (__ambientlightvectornormalized); } } }//package five3D.display
Section 8
//Shape3D (five3D.display.Shape3D) package five3D.display { import flash.display.*; import five3D.geom.*; import flash.geom.*; import fl.motion.*; public class Shape3D extends Shape { private var __visible:Boolean;// = true private var __x:Number;// = 0 private var __y:Number;// = 0 private var __z:Number;// = 0 private var __matrix:Matrix3D; private var __flatshading:Boolean;// = false var __concatenatedmatrix:Matrix3D; private var __singlesided:Boolean;// = false private var __normal:Point3D; private var __scalex:Number;// = 1 private var __scaley:Number;// = 1 private var __scalez:Number;// = 1 private var __culling:Boolean;// = false private var __rotationx:Number;// = 0 private var __rotationy:Number;// = 0 private var __rotationz:Number;// = 0 private var __graphics:Graphics3D; private var __render:Boolean;// = true private var __flatshaded:Boolean;// = false private var __renderculling:Boolean;// = false private var __rendershading:Boolean;// = false public function Shape3D(){ __matrix = new Matrix3D(); __graphics = new Graphics3D(); } override public function set y(_arg1:Number):void{ __y = _arg1; askRendering(); } public function set z(_arg1:Number):void{ __z = _arg1; askRendering(); } public function get singleSided():Boolean{ return (__singlesided); } override public function set height(_arg1:Number):void{ throw (new Error("The Shape3D class does not implement this property or method.")); } public function get z():Number{ return (__z); } override public function get graphics():Graphics{ throw (new Error("The Shape3D class does not implement this property or method (use \"graphics3D\" instead).")); } override public function set width(_arg1:Number):void{ throw (new Error("The Shape3D class does not implement this property or method.")); } override public function globalToLocal(_arg1:Point):Point{ throw (new Error("The Shape3D class does not implement this property or method.")); } override public function localToGlobal(_arg1:Point):Point{ throw (new Error("The Shape3D class does not implement this property or method.")); } public function set singleSided(_arg1:Boolean):void{ __singlesided = _arg1; if (__singlesided){ __renderculling = true; } else { __renderculling = false; __culling = false; }; } function askRendering():void{ __render = true; __graphics.askRendering(); if (__singlesided){ __renderculling = true; }; if (__flatshaded){ __rendershading = true; }; } override public function get scale9Grid():Rectangle{ throw (new Error("The Shape3D class does not implement this property or method.")); } function render(_arg1:Scene3D):void{ if (((!(__visible)) && (super.visible))){ super.visible = false; } else { if (__visible){ if (__render){ getMatrices(); __render = false; }; if (__renderculling){ getCulling(_arg1.viewDistance); __renderculling = false; }; if (__culling){ if (super.visible){ super.visible = false; }; } else { if (!super.visible){ super.visible = true; }; __graphics.render(super.graphics, __concatenatedmatrix, _arg1.viewDistance); if (__rendershading){ setFlatShading(_arg1); __rendershading = false; }; }; }; }; } function askRenderingShading():void{ if (__flatshaded){ __rendershading = true; }; } public function get rotationY():Number{ return (__rotationy); } override public function set scrollRect(_arg1:Rectangle):void{ throw (new Error("The Shape3D class does not implement this property or method.")); } override public function set scaleX(_arg1:Number):void{ __scalex = _arg1; askRendering(); } override public function set scaleY(_arg1:Number):void{ __scaley = _arg1; askRendering(); } public function get rotationX():Number{ return (__rotationx); } override public function set scale9Grid(_arg1:Rectangle):void{ throw (new Error("The Shape3D class does not implement this property or method.")); } public function get rotationZ():Number{ return (__rotationz); } override public function get height():Number{ throw (new Error("The Shape3D class does not implement this property or method.")); } public function set scaleZ(_arg1:Number):void{ __scalez = _arg1; askRendering(); } public function get graphics3D():Graphics3D{ return (__graphics); } public function set rotationY(_arg1:Number):void{ __rotationy = formatRotation(_arg1); askRendering(); } private function setFlatShading(_arg1:Scene3D):void{ var _local5:Point3D; var _local6:Point3D; if (__normal == null){ _local5 = __concatenatedmatrix.transformPoint(new Point3D(0, 0, 0)); _local6 = __concatenatedmatrix.transformPoint(new Point3D(0, 0, 1)); __normal = _local6.subtract(_local5); }; var _local2:Number = __normal.dot(_arg1.ambientLightVectorNormalized); var _local3:Number = (_local2 * _arg1.ambientLightIntensity); var _local4:Color = new Color(); _local4.brightness = _local3; _local4.alphaMultiplier = alpha; transform.colorTransform = _local4; __flatshading = true; } public function set rotationZ(_arg1:Number):void{ __rotationz = formatRotation(_arg1); askRendering(); } private function getCulling(_arg1:Number):void{ var _local2:Point3D = __concatenatedmatrix.transformPoint(new Point3D(0, 0, 0)); var _local3:Point3D = __concatenatedmatrix.transformPoint(new Point3D(0, 0, 1)); __normal = _local3.subtract(_local2); var _local4:Point3D = new Point3D(_local2.x, _local2.y, (_local2.z + _arg1)); __culling = (__normal.dot(_local4) < 0); } public function set rotationX(_arg1:Number):void{ __rotationx = formatRotation(_arg1); askRendering(); } override public function get width():Number{ throw (new Error("The Shape3D class does not implement this property or method.")); } public function get flatShaded():Boolean{ return (__flatshaded); } private function removeFlatShading():void{ transform.colorTransform = new ColorTransform(); __flatshading = false; } override public function get scrollRect():Rectangle{ throw (new Error("The Shape3D class does not implement this property or method.")); } override public function get mouseX():Number{ var _local1:Scene3D = getScene(); if (_local1 == null){ throw (new Error("Cannot access this property without having the class connected to the Scene3D class through the display list hierarchy.")); }; if (__concatenatedmatrix == null){ throw (new Error("Cannot access this property before the class has been rendered once.")); }; return (__concatenatedmatrix.getInverseCoordinates(_local1.mouseX, _local1.mouseY, _local1.viewDistance).x); } override public function get mouseY():Number{ var _local1:Scene3D = getScene(); if (_local1 == null){ throw (new Error("Cannot access this property without having the class connected to the Scene3D class through the display list hierarchy.")); }; if (__concatenatedmatrix == null){ throw (new Error("Cannot access this property before the class has been rendered once.")); }; return (__concatenatedmatrix.getInverseCoordinates(_local1.mouseX, _local1.mouseY, _local1.viewDistance).y); } override public function get scaleX():Number{ return (__scalex); } private function getScene():Scene3D{ var _local1:DisplayObjectContainer = DisplayObjectContainer(this); while (_local1) { if ((_local1 is Scene3D)){ return (Scene3D(_local1)); }; _local1 = _local1.parent; }; return (null); } override public function get scaleY():Number{ return (__scaley); } public function get scaleZ():Number{ return (__scalez); } override public function set visible(_arg1:Boolean):void{ __visible = _arg1; } public function get mouseXY():Point{ var _local1:Scene3D = getScene(); if (_local1 == null){ throw (new Error("Cannot access this property without having the class connected to the Scene3D class through the display list hierarchy.")); }; if (__concatenatedmatrix == null){ throw (new Error("Cannot access this property before the class has been rendered once.")); }; return (__concatenatedmatrix.getInverseCoordinates(_local1.mouseX, _local1.mouseY, _local1.viewDistance)); } public function set flatShaded(_arg1:Boolean):void{ __flatshaded = _arg1; if (__flatshaded){ __rendershading = true; } else { __rendershading = false; if (__flatshading){ removeFlatShading(); }; }; } override public function set x(_arg1:Number):void{ __x = _arg1; askRendering(); } override public function get visible():Boolean{ return (__visible); } override public function get x():Number{ return (__x); } override public function get y():Number{ return (__y); } override public function set rotation(_arg1:Number):void{ throw (new Error("The Shape3D class does not implement this property or method.")); } private function getMatrices():void{ __matrix.createBox(__scalex, __scaley, __scalez, degreesToRadians(__rotationx), degreesToRadians(__rotationy), degreesToRadians(__rotationz), __x, __y, __z); if ((parent is Scene3D)){ __concatenatedmatrix = __matrix.clone(); } else { __concatenatedmatrix = Sprite3D(parent).__concatenatedmatrix.clone(); __concatenatedmatrix.concat(__matrix); }; __normal = null; } override public function get rotation():Number{ throw (new Error("The Shape3D class does not implement this property or method.")); } private static function degreesToRadians(_arg1:Number):Number{ return (((_arg1 * Math.PI) / 180)); } private static function formatRotation(_arg1:Number):Number{ var _local2:Number = (_arg1 % 360); if (_local2 < -180){ return ((_local2 + 360)); }; if (_local2 > 180){ return ((_local2 - 360)); }; return (_local2); } } }//package five3D.display
Section 9
//Sprite2D (five3D.display.Sprite2D) package five3D.display { import flash.display.*; import five3D.geom.*; import flash.geom.*; public class Sprite2D extends Sprite { private var __scalex:Number;// = 1 private var __scaley:Number;// = 1 private var __renderscaling:Boolean;// = true private var __visible:Boolean;// = true private var __x:Number;// = 0 private var __y:Number;// = 0 private var __z:Number;// = 0 private var __perspective:Number; private var __matrix:Matrix3D; private var __scaling:Boolean;// = false private var __render:Boolean;// = true var __concatenatedmatrix:Matrix3D; private var __scaled:Boolean;// = true public function Sprite2D(){ __matrix = new Matrix3D(); } override public function get y():Number{ return (__y); } override public function set y(_arg1:Number):void{ __y = _arg1; askRendering(); } public function set z(_arg1:Number):void{ __z = _arg1; askRendering(); } private function setScaling():void{ super.scaleX = (__scalex * __perspective); super.scaleY = (__scaley * __perspective); __scaling = true; } private function removeScaling():void{ super.scaleX = __scalex; super.scaleY = __scaley; __scaling = false; } override public function set x(_arg1:Number):void{ __x = _arg1; askRendering(); } public function get z():Number{ return (__z); } public function set scaled(_arg1:Boolean):void{ __scaled = _arg1; if (__scaled){ __renderscaling = true; } else { __renderscaling = false; if (__scaling){ removeScaling(); }; }; } private function getMatrices():void{ __matrix.createBox(1, 1, 1, 0, 0, 0, __x, __y, __z); if ((parent is Scene3D)){ __concatenatedmatrix = __matrix.clone(); } else { __concatenatedmatrix = Sprite3D(parent).__concatenatedmatrix.clone(); __concatenatedmatrix.concat(__matrix); }; } function askRendering():void{ __render = true; if (__scaled){ __renderscaling = true; }; } override public function get scaleY():Number{ return (__scaley); } override public function get scaleX():Number{ return (__scalex); } override public function set scaleY(_arg1:Number):void{ __scaley = _arg1; if (__scaled){ __renderscaling = true; } else { super.scaleY = __scaley; }; } override public function stopDrag():void{ throw (new Error("The Sprite2D class does not implement this property or method.")); } public function get scaled():Boolean{ return (__scaled); } private function setPlacement(_arg1:Number):void{ var _local2:Point3D = __concatenatedmatrix.transformPoint(new Point3D()); __perspective = _local2.getPerspective(_arg1); _local2.project(__perspective); super.x = _local2.x; super.y = _local2.y; } override public function set visible(_arg1:Boolean):void{ __visible = _arg1; } function render(_arg1:Scene3D):void{ if (((!(__visible)) && (super.visible))){ super.visible = false; } else { if (__visible){ if (!super.visible){ super.visible = true; }; if (__render){ getMatrices(); setPlacement(_arg1.viewDistance); __render = false; }; if (__renderscaling){ setScaling(); __renderscaling = false; }; }; }; } override public function get dropTarget():DisplayObject{ throw (new Error("The Sprite2D class does not implement this property or method.")); } override public function get visible():Boolean{ return (__visible); } override public function startDrag(_arg1:Boolean=false, _arg2:Rectangle=null):void{ throw (new Error("The Sprite2D class does not implement this property or method.")); } override public function set scaleX(_arg1:Number):void{ __scalex = _arg1; if (__scaled){ __renderscaling = true; } else { super.scaleX = __scalex; }; } override public function get x():Number{ return (__x); } } }//package five3D.display
Section 10
//Sprite3D (five3D.display.Sprite3D) package five3D.display { import flash.display.*; import five3D.geom.*; import flash.geom.*; import fl.motion.*; public class Sprite3D extends Sprite { private var __visible:Boolean;// = true private var __x:Number;// = 0 private var __y:Number;// = 0 private var __z:Number;// = 0 private var __matrix:Matrix3D; private var __flatshading:Boolean;// = true var __concatenatedmatrix:Matrix3D; private var __singlesided:Boolean;// = false private var __normal:Point3D; private var __scalex:Number;// = 1 private var __scaley:Number;// = 1 private var __scalez:Number;// = 1 private var __culling:Boolean;// = false private var __rotationx:Number;// = 0 private var __rotationy:Number;// = 0 private var __rotationz:Number;// = 0 private var __childrensorted:Boolean;// = false private var __graphics:Graphics3D; private var __flatshaded:Boolean;// = false private var __render:Boolean;// = true private var __renderculling:Boolean;// = false private var __rendershading:Boolean;// = false public function Sprite3D(){ __matrix = new Matrix3D(); __graphics = new Graphics3D(); } override public function set y(_arg1:Number):void{ __y = _arg1; askRendering(); } override public function get dropTarget():DisplayObject{ throw (new Error("The Sprite3D class does not implement this property or method.")); } public function set z(_arg1:Number):void{ __z = _arg1; askRendering(); } public function get singleSided():Boolean{ return (__singlesided); } override public function set height(_arg1:Number):void{ throw (new Error("The Sprite3D class does not implement this property or method.")); } public function get z():Number{ return (__z); } override public function get graphics():Graphics{ throw (new Error("The Sprite3D class does not implement this property or method (use \"graphics3D\" instead).")); } override public function set width(_arg1:Number):void{ throw (new Error("The Sprite3D class does not implement this property or method.")); } override public function globalToLocal(_arg1:Point):Point{ throw (new Error("The Sprite3D class does not implement this property or method.")); } override public function localToGlobal(_arg1:Point):Point{ throw (new Error("The Sprite3D class does not implement this property or method.")); } public function set singleSided(_arg1:Boolean):void{ __singlesided = _arg1; if (__singlesided){ __renderculling = true; } else { __renderculling = false; __culling = false; }; } function askRendering():void{ __render = true; __graphics.askRendering(); if (__singlesided){ __renderculling = true; }; if (__flatshaded){ __rendershading = true; }; var _local1:int; while (_local1 < numChildren) { getChildAtCasted(_local1).askRendering(); _local1++; }; } override public function get scale9Grid():Rectangle{ throw (new Error("The Sprite3D class does not implement this property or method.")); } function render(_arg1:Scene3D):void{ var _local2:int; if (((!(__visible)) && (super.visible))){ super.visible = false; } else { if (__visible){ if (__render){ getMatrices(); __render = false; }; if (__renderculling){ getCulling(_arg1.viewDistance); __renderculling = false; }; if (__culling){ if (super.visible){ super.visible = false; }; } else { if (!super.visible){ super.visible = true; }; __graphics.render(super.graphics, __concatenatedmatrix, _arg1.viewDistance); if (__rendershading){ setFlatShading(_arg1); __rendershading = false; }; _local2 = 0; while (_local2 < numChildren) { getChildAtCasted(_local2).render(_arg1); _local2++; }; if (__childrensorted){ sortChildren(); }; }; }; }; } function askRenderingShading():void{ if (__flatshaded){ __rendershading = true; }; var _local1:int; while (_local1 < numChildren) { if (getChildAtCasted(_local1).alpha != 0){ getChildAtCasted(_local1).askRenderingShading(); }; _local1++; }; } public function get rotationY():Number{ return (__rotationy); } override public function set scrollRect(_arg1:Rectangle):void{ throw (new Error("The Sprite3D class does not implement this property or method.")); } override public function set scaleX(_arg1:Number):void{ __scalex = _arg1; askRendering(); } override public function set scaleY(_arg1:Number):void{ __scaley = _arg1; askRendering(); } public function get rotationX():Number{ return (__rotationx); } override public function set scale9Grid(_arg1:Rectangle):void{ throw (new Error("The Sprite3D class does not implement this property or method.")); } public function get rotationZ():Number{ return (__rotationz); } override public function get height():Number{ throw (new Error("The Sprite3D class does not implement this property or method.")); } public function set scaleZ(_arg1:Number):void{ __scalez = _arg1; askRendering(); } override public function startDrag(_arg1:Boolean=false, _arg2:Rectangle=null):void{ throw (new Error("The Sprite3D class does not implement this property or method.")); } public function get graphics3D():Graphics3D{ return (__graphics); } public function set rotationY(_arg1:Number):void{ __rotationy = formatRotation(_arg1); askRendering(); } public function get childrenSorted():Boolean{ return (__childrensorted); } private function getCulling(_arg1:Number):void{ var _local2:Point3D = __concatenatedmatrix.transformPoint(new Point3D(0, 0, 0)); var _local3:Point3D = __concatenatedmatrix.transformPoint(new Point3D(0, 0, 1)); __normal = _local3.subtract(_local2); var _local4:Point3D = new Point3D(_local2.x, _local2.y, (_local2.z + _arg1)); __culling = (__normal.dot(_local4) < 0); } public function set rotationX(_arg1:Number):void{ __rotationx = formatRotation(_arg1); askRendering(); } private function sortChildren():void{ var _local2:*; var _local1:Array = []; var _local3:int; while (_local3 < numChildren) { _local2 = getChildAtCasted(_local3); if (_local2.visible){ _local1.push({child:_local2, z:_local2.__concatenatedmatrix.tz}); }; _local3++; }; _local1.sortOn("z", (Array.DESCENDING | Array.NUMERIC)); _local3 = 0; while (_local3 < _local1.length) { setChildIndex(_local1[_local3].child, _local3); _local3++; }; } private function getChildAtCasted(_arg1:int){ if ((getChildAt(_arg1) is Sprite3D)){ return (Sprite3D(getChildAt(_arg1))); }; if ((getChildAt(_arg1) is Shape3D)){ return (Shape3D(getChildAt(_arg1))); }; if ((getChildAt(_arg1) is Bitmap3D)){ return (Bitmap3D(getChildAt(_arg1))); }; if ((getChildAt(_arg1) is Sprite2D)){ return (Sprite2D(getChildAt(_arg1))); }; } public function get flatShaded():Boolean{ return (__flatshaded); } private function removeFlatShading():void{ transform.colorTransform = new ColorTransform(); __flatshading = false; } private function setFlatShading(_arg1:Scene3D):void{ var _local5:Point3D; var _local6:Point3D; if (__normal == null){ _local5 = __concatenatedmatrix.transformPoint(new Point3D(0, 0, 0)); _local6 = __concatenatedmatrix.transformPoint(new Point3D(0, 0, 1)); __normal = _local6.subtract(_local5); }; var _local2:Number = __normal.dot(_arg1.ambientLightVectorNormalized); var _local3:Number = (_local2 * _arg1.ambientLightIntensity); var _local4:Color = new Color(); _local4.brightness = _local3; _local4.alphaMultiplier = alpha; transform.colorTransform = _local4; __flatshading = true; } override public function get mouseX():Number{ var _local1:Scene3D = getScene(); if (_local1 == null){ throw (new Error("Cannot access this property without having the class connected to the Scene3D class through the display list hierarchy.")); }; if (__concatenatedmatrix == null){ throw (new Error("Cannot access this property before the class has been rendered once.")); }; return (__concatenatedmatrix.getInverseCoordinates(_local1.mouseX, _local1.mouseY, _local1.viewDistance).x); } override public function get mouseY():Number{ var _local1:Scene3D = getScene(); if (_local1 == null){ throw (new Error("Cannot access this property without having the class connected to the Scene3D class through the display list hierarchy.")); }; if (__concatenatedmatrix == null){ throw (new Error("Cannot access this property before the class has been rendered once.")); }; return (__concatenatedmatrix.getInverseCoordinates(_local1.mouseX, _local1.mouseY, _local1.viewDistance).y); } override public function get scaleX():Number{ return (__scalex); } override public function get scrollRect():Rectangle{ throw (new Error("The Sprite3D class does not implement this property or method.")); } private function getScene():Scene3D{ var _local1:DisplayObjectContainer = DisplayObjectContainer(this); while (_local1) { if ((_local1 is Scene3D)){ return (Scene3D(_local1)); }; _local1 = _local1.parent; }; return (null); } override public function get scaleY():Number{ return (__scaley); } public function get scaleZ():Number{ return (__scalez); } override public function set visible(_arg1:Boolean):void{ __visible = _arg1; } public function set rotationZ(_arg1:Number):void{ __rotationz = formatRotation(_arg1); askRendering(); } public function get mouseXY():Point{ var _local1:Scene3D = getScene(); if (_local1 == null){ throw (new Error("Cannot access this property without having the class connected to the Scene3D class through the display list hierarchy.")); }; if (__concatenatedmatrix == null){ throw (new Error("Cannot access this property before the class has been rendered once.")); }; return (__concatenatedmatrix.getInverseCoordinates(_local1.mouseX, _local1.mouseY, _local1.viewDistance)); } override public function stopDrag():void{ throw (new Error("The Sprite3D class does not implement this property or method.")); } public function set flatShaded(_arg1:Boolean):void{ __flatshaded = _arg1; if (__flatshaded){ __rendershading = true; } else { __rendershading = false; if (__flatshading){ removeFlatShading(); }; }; } public function set childrenSorted(_arg1:Boolean):void{ __childrensorted = _arg1; } override public function get visible():Boolean{ return (__visible); } override public function get width():Number{ throw (new Error("The Sprite3D class does not implement this property or method.")); } override public function set x(_arg1:Number):void{ __x = _arg1; askRendering(); } override public function get x():Number{ return (__x); } override public function get y():Number{ return (__y); } override public function set rotation(_arg1:Number):void{ throw (new Error("The Sprite3D class does not implement this property or method.")); } private function getMatrices():void{ __matrix.createBox(__scalex, __scaley, __scalez, degreesToRadians(__rotationx), degreesToRadians(__rotationy), degreesToRadians(__rotationz), __x, __y, __z); if ((parent is Scene3D)){ __concatenatedmatrix = __matrix.clone(); } else { __concatenatedmatrix = Sprite3D(parent).__concatenatedmatrix.clone(); __concatenatedmatrix.concat(__matrix); }; __normal = null; } override public function get rotation():Number{ throw (new Error("The Sprite3D class does not implement this property or method.")); } private static function degreesToRadians(_arg1:Number):Number{ return (((_arg1 * Math.PI) / 180)); } private static function formatRotation(_arg1:Number):Number{ var _local2:Number = (_arg1 % 360); if (_local2 < -180){ return ((_local2 + 360)); }; if (_local2 > 180){ return ((_local2 - 360)); }; return (_local2); } } }//package five3D.display
Section 11
//Matrix3D (five3D.geom.Matrix3D) package five3D.geom { import flash.geom.*; public class Matrix3D { public var ty:Number; public var tx:Number; public var tz:Number; public var a:Number; public var b:Number; public var c:Number; public var d:Number; public var e:Number; public var f:Number; public var g:Number; public var h:Number; public var i:Number; public function Matrix3D(_arg1:Number=1, _arg2:Number=0, _arg3:Number=0, _arg4:Number=0, _arg5:Number=1, _arg6:Number=0, _arg7:Number=0, _arg8:Number=0, _arg9:Number=1, _arg10:Number=0, _arg11:Number=0, _arg12:Number=0){ this.a = _arg1; this.b = _arg2; this.c = _arg3; this.d = _arg4; this.e = _arg5; this.f = _arg6; this.g = _arg7; this.h = _arg8; this.i = _arg9; this.tx = _arg10; this.ty = _arg11; this.tz = _arg12; } public function concat(_arg1:Matrix3D):void{ var _local2:Object = {}; _local2.a = (((a * _arg1.a) + (b * _arg1.d)) + (c * _arg1.g)); _local2.b = (((a * _arg1.b) + (b * _arg1.e)) + (c * _arg1.h)); _local2.c = (((a * _arg1.c) + (b * _arg1.f)) + (c * _arg1.i)); _local2.d = (((d * _arg1.a) + (e * _arg1.d)) + (f * _arg1.g)); _local2.e = (((d * _arg1.b) + (e * _arg1.e)) + (f * _arg1.h)); _local2.f = (((d * _arg1.c) + (e * _arg1.f)) + (f * _arg1.i)); _local2.g = (((g * _arg1.a) + (h * _arg1.d)) + (i * _arg1.g)); _local2.h = (((g * _arg1.b) + (h * _arg1.e)) + (i * _arg1.h)); _local2.i = (((g * _arg1.c) + (h * _arg1.f)) + (i * _arg1.i)); _local2.tx = ((((a * _arg1.tx) + (b * _arg1.ty)) + (c * _arg1.tz)) + tx); _local2.ty = ((((d * _arg1.tx) + (e * _arg1.ty)) + (f * _arg1.tz)) + ty); _local2.tz = ((((g * _arg1.tx) + (h * _arg1.ty)) + (i * _arg1.tz)) + tz); initialize(_local2); } public function translate(_arg1:Number, _arg2:Number, _arg3:Number):void{ tx = (tx + _arg1); ty = (ty + _arg2); tz = (tz + _arg3); } private function initialize(_arg1:Object):void{ var _local2:String; for (_local2 in _arg1) { this[_local2] = _arg1[_local2]; }; } private function extractMatrix3(_arg1:Array, _arg2:Number, _arg3:Number):Array{ var _local6:int; var _local4:Array = []; var _local5:int; while (_local5 < 4) { if (_local5 != _arg3){ _local6 = 0; while (_local6 < 4) { if (_local6 != _arg2){ _local4.push(_arg1[(_local6 + (_local5 * 4))]); }; _local6++; }; }; _local5++; }; return (_local4); } public function scale(_arg1:Number, _arg2:Number, _arg3:Number):void{ concat(new Matrix3D(_arg1, 0, 0, 0, _arg2, 0, 0, 0, _arg3, 0, 0, 0)); } public function transformPoint(_arg1:Point3D):Point3D{ return (new Point3D(((((a * _arg1.x) + (b * _arg1.y)) + (c * _arg1.z)) + tx), ((((d * _arg1.x) + (e * _arg1.y)) + (f * _arg1.z)) + ty), ((((g * _arg1.x) + (h * _arg1.y)) + (i * _arg1.z)) + tz))); } public function clone():Matrix3D{ return (new Matrix3D(a, b, c, d, e, f, g, h, i, tx, ty, tz)); } public function rotateY(_arg1:Number):void{ concat(new Matrix3D(Math.cos(_arg1), 0, Math.sin(_arg1), 0, 1, 0, -(Math.sin(_arg1)), 0, Math.cos(_arg1), 0, 0, 0)); } public function rotateZ(_arg1:Number):void{ concat(new Matrix3D(Math.cos(_arg1), -(Math.sin(_arg1)), 0, Math.sin(_arg1), Math.cos(_arg1), 0, 0, 0, 1, 0, 0, 0)); } public function rotateX(_arg1:Number):void{ concat(new Matrix3D(1, 0, 0, 0, Math.cos(_arg1), -(Math.sin(_arg1)), 0, Math.sin(_arg1), Math.cos(_arg1), 0, 0, 0)); } public function createBox(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number=0, _arg5:Number=0, _arg6:Number=0, _arg7:Number=0, _arg8:Number=0, _arg9:Number=0):void{ identity(); if (_arg4 != 0){ rotateX(_arg4); }; if (_arg5 != 0){ rotateY(_arg5); }; if (_arg6 != 0){ rotateZ(_arg6); }; if (((((!((_arg1 == 1))) || (!((_arg2 == 1))))) || (!((_arg3 == 1))))){ scale(_arg1, _arg2, _arg3); }; if (((((!((_arg7 == 0))) || (!((_arg8 == 0))))) || (!((_arg9 == 0))))){ translate(_arg7, _arg8, _arg9); }; } public function getInverseCoordinates(_arg1:Number, _arg2:Number, _arg3:Number):Point{ var _local4:Array = [a, b, c, tx, d, e, f, ty, 0, 0, 1, 0, (g / _arg3), (h / _arg3), (i / _arg3), ((tz / _arg3) + 1)]; var _local5:Array = invertTraditional(_local4); var _local6:Number = (((_local5[12] * _arg1) + (_local5[13] * _arg2)) + _local5[15]); return (new Point(((((_local5[0] * _arg1) + (_local5[1] * _arg2)) + _local5[3]) / _local6), ((((_local5[4] * _arg1) + (_local5[5] * _arg2)) + _local5[7]) / _local6))); } private function invertTraditional(_arg1:Array):Array{ var _local5:int; var _local2:Array = []; var _local3:Number = getDeterminant4(_arg1); var _local4:int; while (_local4 < 4) { _local5 = 0; while (_local5 < 4) { _local2[((_local5 * 4) + _local4)] = ((getDeterminant3(extractMatrix3(_arg1, _local5, _local4)) * (1 - (((_local5 + _local4) % 2) * 2))) / _local3); _local5++; }; _local4++; }; return (_local2); } private function getDeterminant3(_arg1:Array):Number{ return ((((_arg1[0] * ((_arg1[4] * _arg1[8]) - (_arg1[7] * _arg1[5]))) - (_arg1[1] * ((_arg1[3] * _arg1[8]) - (_arg1[6] * _arg1[5])))) + (_arg1[2] * ((_arg1[3] * _arg1[7]) - (_arg1[6] * _arg1[4]))))); } private function getDeterminant4(_arg1:Array):Number{ return (((((_arg1[0] * getDeterminant3(extractMatrix3(_arg1, 0, 0))) - (_arg1[1] * getDeterminant3(extractMatrix3(_arg1, 1, 0)))) + (_arg1[2] * getDeterminant3(extractMatrix3(_arg1, 2, 0)))) - (_arg1[3] * getDeterminant3(extractMatrix3(_arg1, 3, 0))))); } public function toString():String{ return ((((((((((((((((((((((((("(a=" + a) + ", b=") + b) + ", c=") + c) + ", d=") + d) + ", e=") + e) + ", f=") + f) + ", g=") + g) + ", h=") + h) + ", i=") + i) + ", tx=") + tx) + ", ty=") + ty) + ", tz=") + tz) + ")")); } public function identity():void{ initialize({a:1, b:0, c:0, d:0, e:1, f:0, g:0, h:0, i:1, tx:0, ty:0, tz:0}); } } }//package five3D.geom
Section 12
//Point3D (five3D.geom.Point3D) package five3D.geom { public class Point3D { public var x:Number; public var y:Number; public var z:Number; public function Point3D(_arg1:Number=0, _arg2:Number=0, _arg3:Number=0){ this.x = _arg1; this.y = _arg2; this.z = _arg3; } public function project(_arg1:Number):void{ x = (x * _arg1); y = (y * _arg1); z = 0; } public function get length():Number{ return (Math.sqrt((((x * x) + (y * y)) + (z * z)))); } public function dot(_arg1:Point3D):Number{ return ((((x * _arg1.x) + (y * _arg1.y)) + (z * _arg1.z))); } private function scale(_arg1:Number):void{ x = (x * _arg1); y = (y * _arg1); z = (z * _arg1); } public function toString():String{ return ((((((("(x=" + x) + ", y=") + y) + ", z=") + z) + ")")); } public function normalize(_arg1:Number):void{ var _local2:Number = length; if (_local2){ scale((_arg1 / _local2)); } else { z = _arg1; }; } public function getPerspective(_arg1:Number):Number{ return ((_arg1 / (z + _arg1))); } public function subtract(_arg1:Point3D):Point3D{ return (new Point3D((x - _arg1.x), (y - _arg1.y), (z - _arg1.z))); } public function clone():Point3D{ return (new Point3D(x, y, z)); } } }//package five3D.geom
Section 13
//ArialRoundedMTBold (five3D.typography.ArialRoundedMTBold) package five3D.typography { public class ArialRoundedMTBold { public static var __motifs:Object = {}; public static var __heights:Number = 116; public static var __widths:Object = {}; public static var __initialized:Boolean = false; private static function initializeMotifsPunctuation():void{ __motifs[" "] = []; __motifs["!"] = [["M", [11.5, 93.85]], ["C", [9.3, 91.9, 9.3, 88.45]], ["C", [9.3, 85.4, 11.45, 83.3]], ["C", [13.55, 81.15, 16.6, 81.15]], ["C", [19.7, 81.15, 21.9, 83.3]], ["C", [24, 85.4, 24, 88.45]], ["C", [24, 91.85, 21.85, 93.8]], ["C", [19.65, 95.75, 16.7, 95.75]], ["C", [13.7, 95.75, 11.5, 93.85]], ["M", [9.3, 30.45]], ["C", [9.3, 26.4, 11.45, 24.15]], ["C", [13.55, 21.85, 17, 21.85]], ["C", [21.2, 21.85, 22.6, 24.8]], ["C", [24, 27.65, 24, 33.15]], ["C", [24, 36.35, 23.7, 39.65]], ["L", [21.6, 63.75]], ["C", [21.25, 68.05, 20.1, 70.35]], ["C", [19, 72.65, 16.4, 72.65]], ["C", [13.75, 72.65, 12.75, 70.45]], ["C", [11.7, 68.2, 11.3, 63.65]], ["L", [9.7, 40.25]], ["C", [9.3, 33.4, 9.3, 30.45]]]; __motifs["\""] = [["M", [8.1, 48.55]], ["L", [5.5, 35.15]], ["L", [5.5, 23.05]], ["L", [20.5, 23.05]], ["L", [20.5, 35.15]], ["L", [18.2, 48.55]], ["L", [8.1, 48.55]], ["M", [42.5, 35.15]], ["L", [40.2, 48.55]], ["L", [30.1, 48.55]], ["L", [27.5, 35.15]], ["L", [27.5, 23.05]], ["L", [42.5, 23.05]], ["L", [42.5, 35.15]]]; __motifs["#"] = [["M", [34.3, 51.75]], ["L", [23.5, 51.75]], ["L", [20.6, 65.95]], ["L", [31.5, 65.95]], ["L", [34.3, 51.75]], ["M", [44.6, 21.85]], ["C", [47.1, 21.85, 48.55, 23.15]], ["C", [49.9, 24.5, 49.9, 26.75]], ["C", [49.9, 27.75, 49.8, 28.75]], ["C", [49.65, 29.7, 49.45, 30.65]], ["C", [49.25, 31.5, 49.2, 31.75]], ["L", [47.4, 40.95]], ["C", [54.4, 41.1, 54.4, 46.35]], ["C", [54.4, 48.8, 52.75, 50.25]], ["C", [51.05, 51.75, 47.8, 51.75]], ["L", [45.3, 51.75]], ["L", [42.4, 65.95]], ["L", [47.8, 65.95]], ["C", [51.05, 65.95, 52.75, 67.5]], ["C", [54.4, 69.05, 54.4, 71.45]], ["C", [54.4, 73.85, 52.8, 75.35]], ["C", [51.1, 76.85, 47.8, 76.85]], ["L", [40.3, 76.85]], ["L", [38, 88.05]], ["C", [37.45, 90.75, 37.05, 92.2]], ["C", [36.6, 93.65, 35.45, 94.8]], ["C", [34.3, 95.85, 32.1, 95.85]], ["C", [29.65, 95.85, 28.2, 94.5]], ["C", [26.8, 93.15, 26.8, 90.95]], ["C", [26.8, 88.95, 27.5, 85.95]], ["L", [29.3, 76.85]], ["L", [18.5, 76.85]], ["L", [16.2, 88.05]], ["C", [15.35, 92.2, 14.4, 94.05]], ["C", [13.45, 95.85, 10.3, 95.85]], ["C", [7.8, 95.85, 6.4, 94.5]], ["C", [5, 93.15, 5, 90.95]], ["C", [5, 89.8, 5.25, 88.45]], ["C", [5.5, 87.05, 5.7, 85.95]], ["L", [7.5, 76.85]], ["C", [0.8, 76.7, 0.8, 71.45]], ["C", [0.8, 69, 2.5, 67.5]], ["C", [4.15, 65.95, 7.4, 65.95]], ["L", [9.7, 65.95]], ["L", [12.5, 51.75]], ["L", [7.4, 51.75]], ["C", [4.25, 51.75, 2.55, 50.15]], ["C", [0.8, 48.55, 0.8, 46.25]], ["C", [0.8, 43.8, 2.5, 42.35]], ["C", [4.15, 40.85, 7.4, 40.85]], ["L", [14.7, 40.85]], ["L", [17, 29.65]], ["C", [17.55, 26.85, 18.2, 25.2]], ["C", [18.85, 23.6, 20, 22.8]], ["C", [21.15, 21.95, 23, 21.95]], ["C", [25.6, 21.95, 26.95, 23.3]], ["C", [28.3, 24.7, 28.3, 26.85]], ["C", [28.3, 27.3, 27.5, 31.75]], ["L", [25.7, 40.85]], ["L", [36.4, 40.85]], ["L", [38.7, 29.65]], ["C", [39.2, 27.1, 39.65, 25.55]], ["C", [40.1, 24, 41.25, 22.9]], ["C", [42.4, 21.85, 44.6, 21.85]]]; __motifs["$"] = [["M", [32.7, 64.85]], ["L", [32.7, 86.25]], ["C", [37.65, 85.3, 40.35, 82.3]], ["C", [43, 79.3, 43, 75.35]], ["C", [43, 71.1, 40.45, 68.8]], ["C", [37.8, 66.5, 32.7, 64.85]], ["M", [17.8, 40.95]], ["C", [17.8, 44.8, 19.95, 46.8]], ["C", [22.1, 48.75, 26.5, 50.35]], ["L", [26.5, 31.65]], ["C", [22.4, 32.9, 20.1, 34.9]], ["C", [17.8, 36.9, 17.8, 40.95]], ["M", [48.2, 29.15]], ["C", [50.4, 31.65, 51.6, 34.3]], ["C", [52.8, 36.95, 52.8, 39.15]], ["C", [52.8, 41.55, 51.05, 43.4]], ["C", [49.2, 45.15, 46.7, 45.15]], ["C", [41.9, 45.15, 40.5, 39.95]], ["C", [38.85, 33.85, 32.7, 31.85]], ["L", [32.7, 52.15]], ["C", [38.75, 53.85, 42.4, 55.2]], ["C", [45.95, 56.55, 48.8, 59.15]], ["C", [51.8, 61.85, 53.45, 65.6]], ["C", [55.1, 69.3, 55.1, 73.75]], ["C", [55.1, 79.3, 52.5, 84.2]], ["C", [49.85, 89.05, 44.8, 92.1]], ["C", [39.7, 95.2, 32.7, 95.75]], ["L", [32.7, 107.95]], ["C", [32.7, 110.8, 32.2, 112.15]], ["C", [31.6, 113.45, 29.7, 113.45]], ["C", [27.95, 113.45, 27.25, 112.35]], ["C", [26.5, 111.3, 26.5, 109.05]], ["L", [26.5, 95.85]], ["C", [20.8, 95.25, 16.55, 93.2]], ["C", [12.25, 91.15, 9.4, 88.1]], ["C", [6.55, 85.05, 5.2, 81.75]], ["C", [3.8, 78.45, 3.8, 75.25]], ["C", [3.8, 72.9, 5.65, 71.05]], ["C", [7.45, 69.15, 10.2, 69.15]], ["C", [12.4, 69.15, 13.9, 70.2]], ["C", [15.45, 71.2, 16, 73.05]], ["C", [17.35, 77.05, 18.3, 79.2]], ["C", [19.3, 81.3, 21.3, 83.1]], ["C", [23.25, 84.85, 26.5, 85.75]], ["L", [26.5, 63.05]], ["C", [19.95, 61.25, 15.6, 59.05]], ["C", [11.2, 56.8, 8.45, 52.7]], ["C", [5.7, 48.6, 5.7, 42.15]], ["C", [5.7, 33.75, 11.1, 28.4]], ["C", [16.4, 23, 26.5, 22.15]], ["L", [26.5, 16.95]], ["C", [26.5, 12.85, 29.6, 12.85]], ["C", [32.7, 12.85, 32.7, 16.85]], ["L", [32.7, 22.15]], ["C", [37.95, 22.7, 41.7, 24.3]], ["C", [45.4, 25.9, 48.2, 29.15]]]; __motifs["%"] = [["M", [12.05, 48.2]], ["C", [12.55, 50.95, 13.9, 52.35]], ["C", [15.3, 53.75, 17.7, 53.75]], ["C", [21.3, 53.75, 22.6, 50.65]], ["C", [23.9, 47.6, 23.9, 40.95]], ["C", [23.9, 34.55, 22.5, 31.65]], ["C", [21.15, 28.75, 17.7, 28.75]], ["C", [15.35, 28.75, 13.95, 30.15]], ["C", [12.55, 31.5, 12.05, 34.25]], ["C", [11.5, 36.95, 11.5, 41.15]], ["C", [11.5, 45.5, 12.05, 48.2]], ["M", [3.9, 31.25]], ["C", [5.4, 27, 8.85, 24.85]], ["C", [12.2, 22.65, 17.5, 22.65]], ["C", [21.3, 22.65, 24.15, 23.8]], ["C", [27.05, 24.95, 29.05, 27.4]], ["C", [31.05, 29.8, 32.05, 33.25]], ["C", [33, 36.75, 33, 41.45]], ["C", [33, 50.75, 28.9, 55.3]], ["C", [24.8, 59.85, 17.7, 59.85]], ["C", [13.3, 59.85, 9.8, 57.95]], ["C", [6.3, 56, 4.35, 51.9]], ["C", [2.4, 47.8, 2.4, 41.85]], ["C", [2.4, 35.5, 3.9, 31.25]], ["M", [61.8, 22.95]], ["C", [62.6, 22.05, 64.1, 22.05]], ["C", [65.6, 22.05, 66.5, 22.9]], ["C", [67.4, 23.75, 67.4, 25.15]], ["C", [67.4, 26.2, 65.6, 29.05]], ["L", [24.9, 94.65]], ["C", [23.35, 97.35, 21.4, 97.35]], ["C", [20.25, 97.35, 19.15, 96.5]], ["C", [18, 95.65, 18, 94.25]], ["C", [18, 93.25, 19, 91.75]], ["L", [59.9, 25.65]], ["C", [61, 23.85, 61.8, 22.95]], ["M", [61.95, 69.55]], ["C", [61.4, 72.2, 61.4, 76.45]], ["C", [61.4, 83, 62.8, 86]], ["C", [64.15, 89.05, 67.7, 89.05]], ["C", [71.25, 89.05, 72.55, 85.95]], ["C", [73.9, 82.85, 73.9, 76.25]], ["C", [73.9, 69.95, 72.5, 67.05]], ["C", [71.15, 64.15, 67.7, 64.15]], ["C", [65.25, 64.15, 63.85, 65.5]], ["C", [62.5, 66.85, 61.95, 69.55]], ["M", [83, 76.75]], ["C", [83, 86.05, 78.9, 90.6]], ["C", [74.8, 95.15, 67.7, 95.15]], ["C", [63.25, 95.15, 59.75, 93.2]], ["C", [56.25, 91.25, 54.3, 87.2]], ["C", [52.3, 83.15, 52.3, 77.15]], ["C", [52.3, 67.65, 55.95, 62.85]], ["C", [59.55, 58.05, 67.5, 58.05]], ["C", [71.3, 58.05, 74.15, 59.2]], ["C", [77, 60.35, 79.05, 62.7]], ["C", [81.05, 65.05, 82.05, 68.6]], ["C", [83, 72.05, 83, 76.75]]]; __motifs["&"] = [["M", [29.3, 61.65]], ["C", [24.3, 64.5, 21.9, 67.4]], ["C", [19.4, 70.3, 19.4, 74.25]], ["C", [19.4, 76.5, 20.3, 78.55]], ["C", [21.2, 80.6, 22.95, 82.35]], ["C", [24.65, 84.1, 26.95, 85.05]], ["C", [29.25, 85.95, 31.8, 85.95]], ["C", [34.3, 85.95, 36.6, 85.2]], ["C", [38.95, 84.4, 41.05, 83]], ["C", [43.15, 81.5, 45.4, 79.35]], ["C", [41.05, 75.35, 37.6, 71.45]], ["C", [34.15, 67.5, 29.3, 61.65]], ["M", [43.7, 37.65]], ["C", [43.7, 34.65, 41.5, 32.6]], ["C", [39.25, 30.55, 35.9, 30.55]], ["C", [32.5, 30.55, 30.25, 32.65]], ["C", [28, 34.75, 28, 37.55]], ["C", [28, 39.05, 28.85, 40.75]], ["C", [29.7, 42.4, 30.95, 44.05]], ["C", [32.25, 45.7, 34.3, 48.25]], ["C", [39.25, 45.1, 41.5, 42.95]], ["C", [43.7, 40.75, 43.7, 37.65]], ["M", [53, 30.15]], ["C", [55.2, 33.85, 55.2, 37.85]], ["C", [55.2, 43.35, 51.55, 47.4]], ["C", [47.95, 51.45, 40.9, 55.65]], ["C", [43.35, 58.5, 45.45, 61.05]], ["C", [47.55, 63.6, 49.5, 65.8]], ["C", [51.45, 68, 53.1, 69.55]], ["C", [53.8, 68.2, 55.35, 64.45]], ["C", [56.9, 60.65, 58.25, 59]], ["C", [59.55, 57.35, 62, 57.35]], ["C", [64.3, 57.35, 66.05, 59]], ["C", [67.8, 60.6, 67.8, 62.95]], ["C", [67.8, 65.1, 66.3, 69.05]], ["C", [64.8, 72.95, 61.9, 77.75]], ["C", [63.7, 79.3, 67.7, 82.5]], ["C", [71.6, 85.65, 72.5, 86.85]], ["C", [73.4, 87.95, 73.4, 89.85]], ["C", [73.4, 92.4, 71.6, 94.15]], ["C", [69.75, 95.85, 67.5, 95.85]], ["C", [65.2, 95.85, 63.05, 94.4]], ["C", [60.9, 92.95, 53.9, 87.25]], ["C", [50.75, 90.2, 47.35, 92.1]], ["C", [43.95, 94, 40.1, 94.95]], ["C", [36.2, 95.85, 31.4, 95.85]], ["C", [25.3, 95.85, 20.45, 94.1]], ["C", [15.6, 92.3, 12.35, 89.3]], ["C", [9.15, 86.25, 7.55, 82.6]], ["C", [6, 78.9, 6, 75.05]], ["C", [6, 71.4, 7.2, 68.4]], ["C", [8.35, 65.3, 10.5, 62.85]], ["C", [12.6, 60.35, 15.7, 58.2]], ["C", [18.8, 55.95, 22.9, 53.85]], ["C", [19.25, 49.25, 17.4, 45.7]], ["C", [15.5, 42.05, 15.5, 38.25]], ["C", [15.5, 33.7, 17.85, 30]], ["C", [20.2, 26.25, 24.8, 24.05]], ["C", [29.4, 21.85, 35.6, 21.85]], ["C", [41.75, 21.85, 46.25, 24.15]], ["C", [50.75, 26.45, 53, 30.15]]]; __motifs["'"] = [["M", [7.1, 48.55]], ["L", [4.5, 35.15]], ["L", [4.5, 23.05]], ["L", [19.5, 23.05]], ["L", [19.5, 35.15]], ["L", [17.2, 48.55]], ["L", [7.1, 48.55]]]; __motifs["("] = [["M", [17.8, 29.85]], ["C", [20.1, 26.05, 21.7, 24.4]], ["C", [23.25, 22.7, 24.65, 22.3]], ["C", [26.05, 21.85, 28.2, 21.85]], ["C", [30.6, 21.85, 30.6, 23.15]], ["C", [30.6, 23.6, 28.35, 28.5]], ["C", [26.1, 33.3, 24.15, 38.65]], ["C", [22.15, 43.95, 20.5, 51.95]], ["C", [18.8, 59.9, 18.8, 68.75]], ["C", [18.8, 77.55, 20.45, 85.4]], ["C", [22.1, 93.3, 24.25, 99.05]], ["C", [26.35, 104.8, 28.5, 109.4]], ["C", [30.6, 113.95, 30.6, 114.35]], ["C", [30.6, 115.65, 28.2, 115.65]], ["C", [26, 115.65, 24.6, 115.2]], ["C", [23.2, 114.7, 21.7, 113]], ["C", [20.15, 111.3, 17.8, 107.55]], ["C", [13.95, 101.1, 11.45, 95.15]], ["C", [8.95, 89.15, 7.6, 82.7]], ["C", [6.3, 76.25, 6.3, 68.75]], ["C", [6.3, 61.4, 7.55, 55]], ["C", [8.85, 48.55, 11.45, 42.35]], ["C", [14, 36.1, 17.8, 29.85]]]; __motifs[")"] = [["M", [6.95, 27.9]], ["C", [4.9, 23.55, 4.9, 23.15]], ["C", [4.9, 21.85, 7.3, 21.85]], ["C", [10.75, 21.85, 12.6, 23.15]], ["C", [14.45, 24.45, 17.7, 29.85]], ["C", [20.55, 34.65, 22.7, 39.3]], ["C", [24.85, 43.9, 26.3, 48.55]], ["C", [27.75, 53.2, 28.45, 58.2]], ["C", [29.2, 63.25, 29.2, 68.75]], ["C", [29.2, 79.5, 26.35, 88.75]], ["C", [23.5, 97.95, 17.7, 107.55]], ["C", [14.4, 112.9, 12.5, 114.3]], ["C", [10.6, 115.65, 7.3, 115.65]], ["C", [4.9, 115.65, 4.9, 114.35]], ["C", [4.9, 113.9, 6.95, 109.65]], ["C", [9, 105.35, 11.25, 99.45]], ["C", [13.45, 93.55, 15.1, 85.55]], ["C", [16.7, 77.55, 16.7, 68.75]], ["C", [16.7, 59.95, 15.05, 51.95]], ["C", [13.4, 43.9, 11.2, 38.05]], ["C", [9, 32.2, 6.95, 27.9]]]; __motifs["*"] = [["M", [42.2, 33.25]], ["C", [42.2, 34.25, 41.6, 35.3]], ["C", [40.95, 36.35, 40.3, 36.65]], ["C", [34, 39.15, 26.4, 40.25]], ["C", [27.8, 41.55, 29.8, 43.6]], ["C", [31.8, 45.7, 31.9, 45.85]], ["C", [32.6, 46.9, 33.95, 48.4]], ["C", [35.25, 49.9, 35.8, 50.8]], ["C", [36.3, 51.65, 36.3, 52.85]], ["C", [36.3, 54.4, 35.1, 55.6]], ["C", [33.95, 56.75, 32.1, 56.75]], ["C", [30.2, 56.75, 27.95, 53.9]], ["C", [25.6, 51, 21.9, 43.55]], ["C", [18.2, 50.25, 16.95, 52.4]], ["C", [15.65, 54.55, 14.5, 55.7]], ["C", [13.35, 56.75, 11.8, 56.75]], ["C", [10, 56.75, 8.85, 55.55]], ["C", [7.6, 54.25, 7.6, 52.85]], ["C", [7.6, 51.55, 8.1, 50.85]], ["C", [12.6, 44.75, 17.5, 40.25]], ["C", [13.4, 39.6, 10.15, 38.85]], ["C", [6.95, 38.05, 3.3, 36.55]], ["C", [2.75, 36.25, 2.2, 35.25]], ["C", [1.6, 34.15, 1.6, 33.25]], ["C", [1.6, 31.55, 2.9, 30.45]], ["C", [4.1, 29.25, 5.7, 29.25]], ["C", [6.9, 29.25, 8.65, 30]], ["C", [10.4, 30.7, 13.15, 32.05]], ["C", [15.8, 33.35, 19.3, 35.05]], ["C", [18.65, 31.95, 18.25, 28]], ["C", [17.8, 24, 17.8, 22.55]], ["C", [17.8, 20.7, 19, 19.45]], ["C", [20.1, 18.15, 21.9, 18.15]], ["C", [23.7, 18.15, 24.85, 19.45]], ["C", [26, 20.7, 26, 22.85]], ["C", [26, 23.45, 25.85, 25.2]], ["C", [25.65, 26.95, 25.35, 29.4]], ["C", [25, 31.85, 24.6, 35.05]], ["C", [27.8, 33.55, 30.65, 32.1]], ["C", [33.55, 30.65, 35.25, 29.95]], ["C", [36.95, 29.25, 38, 29.25]], ["C", [39.7, 29.25, 40.95, 30.45]], ["C", [42.2, 31.55, 42.2, 33.25]]]; __motifs["+"] = [["M", [35.4, 34.25]], ["L", [35.4, 52.95]], ["L", [54.2, 52.95]], ["L", [54.2, 65.75]], ["L", [35.4, 65.75]], ["L", [35.4, 84.35]], ["L", [22.8, 84.35]], ["L", [22.8, 65.75]], ["L", [4.1, 65.75]], ["L", [4.1, 52.95]], ["L", [22.8, 52.95]], ["L", [22.8, 34.25]], ["L", [35.4, 34.25]]]; __motifs[","] = [["M", [10.35, 94]], ["C", [8, 92, 8, 88.45]], ["C", [8, 85.35, 10.3, 83.25]], ["C", [12.6, 81.15, 15.7, 81.15]], ["C", [18.05, 81.15, 19.95, 82.45]], ["C", [21.9, 83.7, 22.95, 86.2]], ["C", [24, 88.65, 24, 92.25]], ["C", [24, 97.1, 21.95, 101.35]], ["C", [19.9, 105.55, 17, 108.05]], ["C", [14, 110.45, 11.6, 110.45]], ["C", [10.1, 110.45, 9.2, 109.5]], ["C", [8.2, 108.45, 8.2, 107.15]], ["C", [8.2, 105.15, 10.2, 103.95]], ["C", [15.9, 100.75, 15.9, 95.95]], ["C", [12.7, 95.95, 10.35, 94]]]; __motifs["-"] = [["M", [29.85, 64.45]], ["C", [31.6, 66.05, 31.6, 68.65]], ["C", [31.6, 71.25, 29.85, 72.9]], ["C", [28.1, 74.55, 24.4, 74.55]], ["L", [9, 74.55]], ["C", [5.45, 74.55, 3.65, 72.9]], ["C", [1.8, 71.25, 1.8, 68.65]], ["C", [1.8, 66.05, 3.6, 64.45]], ["C", [5.35, 62.75, 9, 62.75]], ["L", [24.4, 62.75]], ["C", [28.05, 62.75, 29.85, 64.45]]]; __motifs["."] = [["M", [10.5, 93.9]], ["C", [8.3, 91.95, 8.3, 88.45]], ["C", [8.3, 85.45, 10.4, 83.3]], ["C", [12.5, 81.15, 15.6, 81.15]], ["C", [18.65, 81.15, 20.85, 83.3]], ["C", [23, 85.4, 23, 88.45]], ["C", [23, 91.9, 20.85, 93.9]], ["C", [18.65, 95.85, 15.7, 95.85]], ["C", [12.7, 95.85, 10.5, 93.9]]]; __motifs["/"] = [["M", [17.95, 23.5]], ["C", [18.95, 21.85, 21.8, 21.85]], ["C", [24.2, 21.85, 25.55, 23]], ["C", [26.8, 24.2, 26.8, 26.25]], ["C", [26.8, 27.75, 25.8, 31.75]], ["L", [12.1, 88.05]], ["C", [11.45, 90.85, 10.95, 92.45]], ["C", [10.4, 94.05, 9.4, 95]], ["C", [8.3, 95.85, 6.3, 95.85]], ["C", [1.3, 95.85, 1.3, 91.55]], ["C", [1.3, 90.45, 2.3, 85.95]], ["L", [15.9, 29.65]], ["C", [17, 25.15, 17.95, 23.5]]]; __motifs[":"] = [["M", [10.5, 93.9]], ["C", [8.3, 91.95, 8.3, 88.45]], ["C", [8.3, 85.45, 10.4, 83.3]], ["C", [12.5, 81.15, 15.6, 81.15]], ["C", [18.65, 81.15, 20.85, 83.3]], ["C", [23, 85.4, 23, 88.45]], ["C", [23, 91.9, 20.85, 93.9]], ["C", [18.65, 95.85, 15.7, 95.85]], ["C", [12.7, 95.85, 10.5, 93.9]], ["M", [10.5, 43.6]], ["C", [12.65, 41.65, 15.7, 41.65]], ["C", [18.7, 41.65, 20.85, 43.6]], ["C", [23, 45.55, 23, 48.95]], ["C", [23, 51.7, 20.65, 54]], ["C", [18.3, 56.25, 15.6, 56.25]], ["C", [12.6, 56.25, 10.45, 54.05]], ["C", [8.3, 51.9, 8.3, 48.95]], ["C", [8.3, 45.5, 10.5, 43.6]]]; __motifs[";"] = [["M", [9.4, 94]], ["C", [7.1, 92, 7.1, 88.45]], ["C", [7.1, 85.35, 9.4, 83.25]], ["C", [11.65, 81.15, 14.8, 81.15]], ["C", [17.15, 81.15, 19.05, 82.45]], ["C", [20.95, 83.7, 22, 86.2]], ["C", [23.1, 88.65, 23.1, 92.25]], ["C", [23.1, 97.1, 21.05, 101.35]], ["C", [19, 105.55, 16.05, 108.05]], ["C", [13.1, 110.45, 10.7, 110.45]], ["C", [9.2, 110.45, 8.25, 109.5]], ["C", [7.3, 108.45, 7.3, 107.15]], ["C", [7.3, 105.15, 9.3, 103.95]], ["C", [15, 100.8, 15, 95.95]], ["C", [11.75, 95.95, 9.4, 94]], ["M", [10.5, 43.6]], ["C", [12.65, 41.65, 15.7, 41.65]], ["C", [18.7, 41.65, 20.85, 43.6]], ["C", [23, 45.55, 23, 48.95]], ["C", [23, 51.75, 20.75, 54.05]], ["C", [18.45, 56.25, 15.7, 56.25]], ["C", [13.65, 56.25, 12, 55.3]], ["C", [10.3, 54.3, 9.35, 52.7]], ["C", [8.3, 51.05, 8.3, 48.95]], ["C", [8.3, 45.5, 10.5, 43.6]]]; __motifs["<"] = [["M", [53.7, 45.95]], ["L", [19.5, 59.15]], ["L", [53.7, 72.65]], ["L", [53.7, 86.45]], ["L", [4.6, 65.15]], ["L", [4.6, 53.35]], ["L", [53.7, 32.05]], ["L", [53.7, 45.95]]]; __motifs["="] = [["M", [4.1, 54.85]], ["L", [4.1, 42.05]], ["L", [54.2, 42.05]], ["L", [54.2, 54.85]], ["L", [4.1, 54.85]], ["M", [4.1, 63.75]], ["L", [54.2, 63.75]], ["L", [54.2, 76.55]], ["L", [4.1, 76.55]], ["L", [4.1, 63.75]]]; __motifs[">"] = [["M", [4.6, 32.25]], ["L", [53.7, 53.45]], ["L", [53.7, 65.15]], ["L", [4.6, 86.55]], ["L", [4.6, 72.75]], ["L", [38.9, 59.25]], ["L", [4.6, 45.95]], ["L", [4.6, 32.25]]]; __motifs["?"] = [["M", [28.2, 81.15]], ["C", [31.3, 81.15, 33.4, 83.25]], ["C", [35.5, 85.35, 35.5, 88.45]], ["C", [35.5, 91.85, 33.3, 93.8]], ["C", [31.1, 95.75, 28.2, 95.75]], ["C", [25.25, 95.75, 23.05, 93.85]], ["C", [20.8, 91.9, 20.8, 88.45]], ["C", [20.8, 85.35, 22.95, 83.25]], ["C", [25.1, 81.15, 28.2, 81.15]], ["M", [50.3, 31.55]], ["C", [53.2, 36.05, 53.2, 41.35]], ["C", [53.2, 45.5, 51.55, 48.6]], ["C", [49.85, 51.75, 47.55, 54.05]], ["C", [45.2, 56.25, 39.2, 61.65]], ["C", [37.55, 63.15, 36.55, 64.35]], ["C", [35.55, 65.45, 35.05, 66.45]], ["C", [34.55, 67.35, 34.35, 68.35]], ["C", [34.05, 69.25, 33.5, 71.65]], ["C", [32.55, 76.75, 27.7, 76.75]], ["C", [25.15, 76.75, 23.45, 75.05]], ["C", [21.7, 73.4, 21.7, 70.15]], ["C", [21.7, 66.05, 22.95, 63.05]], ["C", [24.2, 60.05, 26.3, 57.8]], ["C", [28.4, 55.5, 32, 52.35]], ["C", [35.1, 49.65, 36.5, 48.25]], ["C", [37.9, 46.85, 38.85, 45.15]], ["C", [39.8, 43.45, 39.8, 41.45]], ["C", [39.8, 37.5, 36.9, 34.85]], ["C", [34, 32.15, 29.4, 32.15]], ["C", [24, 32.15, 21.5, 34.9]], ["C", [18.95, 37.55, 17.2, 42.85]], ["C", [15.55, 48.35, 10.9, 48.35]], ["C", [8.15, 48.35, 6.3, 46.45]], ["C", [4.4, 44.5, 4.4, 42.25]], ["C", [4.4, 37.6, 7.35, 32.9]], ["C", [10.35, 28.1, 16.05, 24.95]], ["C", [21.8, 21.85, 29.4, 21.85]], ["C", [36.45, 21.85, 41.9, 24.5]], ["C", [47.3, 27.05, 50.3, 31.55]]]; __motifs["@"] = [["M", [34, 73.65]], ["C", [34, 79.5, 36.45, 82.65]], ["C", [38.85, 85.75, 42.8, 85.75]], ["C", [47.4, 85.75, 50.95, 82.1]], ["C", [54.4, 78.45, 56.2, 72.85]], ["C", [58, 67.25, 58, 62.05]], ["C", [58, 59.45, 57.4, 57.4]], ["C", [56.8, 55.3, 55.6, 53.75]], ["C", [54.4, 52.15, 52.75, 51.4]], ["C", [51.05, 50.55, 48.9, 50.55]], ["C", [44.6, 50.55, 41.15, 53.95]], ["C", [37.7, 57.25, 35.85, 62.6]], ["C", [34, 67.95, 34, 73.65]], ["M", [91.7, 44.4]], ["C", [94.6, 51.35, 94.6, 59.75]], ["C", [94.6, 66.3, 92.25, 72.6]], ["C", [89.9, 78.85, 85.55, 83.85]], ["C", [81.15, 88.85, 75.25, 91.75]], ["C", [69.35, 94.65, 62.5, 94.65]], ["C", [58.55, 94.65, 56.35, 93.35]], ["C", [54.15, 91.95, 53.4, 89.05]], ["C", [49.15, 93.25, 43.65, 94.35]], ["C", [38.15, 95.45, 32.95, 93.35]], ["C", [27.8, 91.2, 24.6, 86.15]], ["C", [21.4, 81.1, 21.4, 73.75]], ["C", [21.4, 66.1, 24.7, 58.65]], ["C", [28, 51.25, 34.1, 46.5]], ["C", [40.15, 41.75, 47.8, 41.75]], ["C", [56.6, 41.75, 60.7, 48.35]], ["L", [61.9, 42.95]], ["L", [74.8, 42.95]], ["L", [67.4, 77.95]], ["C", [66.7, 81.25, 66.7, 82.35]], ["C", [66.7, 83.45, 67.3, 84.1]], ["C", [67.8, 84.75, 68.6, 84.75]], ["C", [71.25, 84.75, 75.45, 81.3]], ["C", [79.6, 77.85, 82.7, 71.95]], ["C", [85.8, 66, 85.8, 58.95]], ["C", [85.8, 53.1, 83.6, 47.9]], ["C", [81.35, 42.75, 77.15, 38.95]], ["C", [72.95, 35.15, 66.8, 33]], ["C", [60.6, 30.85, 52.8, 30.85]], ["C", [44.8, 30.85, 38.2, 32.95]], ["C", [31.55, 35, 26.5, 38.9]], ["C", [21.5, 42.75, 18.1, 48.45]], ["C", [15.15, 53.45, 13.55, 59.5]], ["C", [12, 65.55, 12, 71.85]], ["C", [12, 80.25, 15.4, 87.25]], ["C", [18.7, 94.15, 25.1, 98.9]], ["C", [31.45, 103.6, 40.5, 105.6]], ["C", [49.5, 107.55, 60.9, 106.35]], ["C", [69.9, 105.3, 76.2, 102.25]], ["C", [82.45, 99.25, 86.8, 93.75]], ["L", [97.2, 93.75]], ["C", [94.7, 99, 90.65, 103.1]], ["C", [86.5, 107.2, 81.05, 110.05]], ["C", [75.6, 112.8, 68.8, 114.3]], ["C", [62, 115.75, 54, 115.75]], ["C", [42, 115.75, 32.35, 112.6]], ["C", [22.75, 109.45, 16.2, 103.55]], ["C", [9.6, 97.6, 6.25, 89.4]], ["C", [2.9, 81.1, 2.9, 71.15]], ["C", [2.9, 60.75, 6.35, 51.75]], ["C", [9.8, 42.7, 16.35, 36.05]], ["C", [22.85, 29.35, 32.3, 25.6]], ["C", [41.65, 21.85, 53, 21.85]], ["C", [62.25, 21.85, 70, 24.6]], ["C", [77.75, 27.25, 83.25, 32.35]], ["C", [88.75, 37.4, 91.7, 44.4]]]; __motifs["["] = [["M", [19.8, 32.25]], ["L", [19.8, 103.05]], ["L", [28, 103.05]], ["C", [34.3, 103.05, 34.3, 108.25]], ["C", [34.3, 113.45, 28, 113.45]], ["L", [15.8, 113.45]], ["C", [12.85, 113.45, 10.95, 112.45]], ["C", [9, 111.5, 8.1, 109.55]], ["C", [7.2, 107.55, 7.2, 104.55]], ["L", [7.2, 30.75]], ["C", [7.2, 26.15, 9.25, 24]], ["C", [11.3, 21.85, 15.8, 21.85]], ["L", [28, 21.85]], ["C", [31.15, 21.85, 32.7, 23.25]], ["C", [34.3, 24.7, 34.3, 27.05]], ["C", [34.3, 32.25, 28, 32.25]], ["L", [19.8, 32.25]]]; __motifs["\\"] = [["M", [1.3, 26.25]], ["C", [1.3, 24.2, 2.65, 23]], ["C", [3.9, 21.85, 6.3, 21.85]], ["C", [9.2, 21.85, 10.1, 23.5]], ["C", [11.05, 25.15, 12.1, 29.65]], ["L", [25.8, 85.95]], ["C", [26.8, 89.95, 26.8, 91.55]], ["C", [26.8, 95.85, 21.8, 95.85]], ["C", [19.75, 95.85, 18.7, 95]], ["C", [17.65, 94.05, 17.2, 92.8]], ["C", [16.75, 91.5, 15.9, 88.05]], ["L", [2.3, 31.75]], ["C", [1.3, 27.55, 1.3, 26.25]]]; __motifs["]"] = [["M", [7.5, 32.25]], ["C", [4.4, 32.25, 2.8, 30.85]], ["C", [1.1, 29.35, 1.1, 27.05]], ["C", [1.1, 24.75, 2.8, 23.3]], ["C", [4.4, 21.85, 7.5, 21.85]], ["L", [19.6, 21.85]], ["C", [24.05, 21.85, 26.15, 24]], ["C", [28.2, 26.15, 28.2, 30.75]], ["L", [28.2, 104.55]], ["C", [28.2, 109.1, 26.15, 111.3]], ["C", [24.1, 113.45, 19.6, 113.45]], ["L", [7.5, 113.45]], ["C", [4.4, 113.45, 2.8, 112.05]], ["C", [1.1, 110.55, 1.1, 108.25]], ["C", [1.1, 105.95, 2.8, 104.5]], ["C", [4.4, 103.05, 7.5, 103.05]], ["L", [15.6, 103.05]], ["L", [15.6, 32.25]], ["L", [7.5, 32.25]]]; __motifs["^"] = [["M", [34.8, 21.85]], ["L", [52.7, 60.85]], ["L", [38.9, 60.85]], ["L", [29.2, 36.95]], ["L", [19.6, 60.85]], ["L", [5.6, 60.85]], ["L", [24, 21.85]], ["L", [34.8, 21.85]]]; __motifs["_"] = [["M", [50.6, 107.15]], ["L", [-0.6, 107.15]], ["L", [-0.6, 102.15]], ["L", [50.6, 102.15]], ["L", [50.6, 107.15]]]; __motifs["`"] = [["M", [6.5, 22.55]], ["L", [13.1, 22.55]], ["C", [15.95, 22.55, 17.45, 23.55]], ["C", [18.9, 24.6, 20.7, 28.05]], ["L", [22.9, 32.15]], ["C", [24.2, 34.25, 24.2, 35.05]], ["C", [24.2, 36.25, 22.1, 36.25]], ["C", [18.9, 36.25, 16.1, 34.85]], ["C", [14.75, 34.15, 9.4, 29.05]], ["C", [4, 23.9, 4, 23.25]], ["C", [4, 22.55, 6.5, 22.55]]]; } public static function initialize():void{ initializeMotifsUppercase(); initializeMotifsLowercase(); initializeMotifsNumbers(); initializeMotifsPunctuation(); initializeWidthsUppercase(); initializeWidthsLowercase(); initializeWidthsNumbers(); initializeWidthsPunctuation(); __initialized = true; } private static function initializeWidthsUppercase():void{ __widths["A"] = 72; __widths["B"] = 72; __widths["C"] = 74; __widths["D"] = 74; __widths["E"] = 67; __widths["F"] = 60; __widths["G"] = 79; __widths["H"] = 76; __widths["I"] = 31; __widths["J"] = 57; __widths["K"] = 74; __widths["L"] = 60; __widths["M"] = 83; __widths["N"] = 76; __widths["O"] = 79; __widths["P"] = 67; __widths["Q"] = 79; __widths["R"] = 72; __widths["S"] = 67; __widths["T"] = 63; __widths["U"] = 76; __widths["V"] = 69; __widths["W"] = 94; __widths["X"] = 60; __widths["Y"] = 63; __widths["Z"] = 65; } private static function initializeMotifsNumbers():void{ __motifs["0"] = [["M", [36.6, 35.35]], ["C", [34.1, 32.45, 29.6, 32.45]], ["C", [23.15, 32.45, 20.65, 38.95]], ["C", [18.1, 45.45, 18.1, 58.95]], ["C", [18.1, 68.15, 19.2, 74]], ["C", [20.25, 79.85, 22.8, 82.9]], ["C", [25.35, 85.85, 29.7, 85.85]], ["C", [34.2, 85.85, 36.7, 82.75]], ["C", [39.25, 79.6, 40.3, 73.8]], ["C", [41.3, 68, 41.3, 58.55]], ["C", [41.3, 49.65, 40.25, 43.95]], ["C", [39.15, 38.25, 36.6, 35.35]], ["M", [51, 36.75]], ["C", [54.7, 44.8, 54.7, 59.55]], ["C", [54.7, 67.55, 53.7, 73.3]], ["C", [52.75, 79.05, 50.1, 83.75]], ["C", [46.8, 89.5, 41.5, 92.65]], ["C", [36.25, 95.75, 29.8, 95.75]], ["C", [22.35, 95.75, 16.5, 91.55]], ["C", [10.6, 87.35, 7.6, 79.95]], ["C", [6.1, 75.9, 5.4, 71]], ["C", [4.7, 66.1, 4.7, 60.35]], ["C", [4.7, 53, 5.45, 47.1]], ["C", [6.25, 41.2, 7.9, 36.95]], ["C", [10.8, 29.9, 16.3, 26.25]], ["C", [21.8, 22.55, 29.4, 22.55]], ["C", [34.4, 22.55, 38.55, 24.2]], ["C", [42.65, 25.8, 45.75, 29]], ["C", [48.85, 32.1, 51, 36.75]]]; __motifs["1"] = [["M", [7.85, 43.95]], ["C", [9.4, 42.8, 13.4, 40.95]], ["C", [19.3, 38.15, 22.85, 35.1]], ["C", [26.35, 32, 29.1, 28.2]], ["C", [31.85, 24.4, 32.65, 23.5]], ["C", [33.5, 22.65, 35.8, 22.65]], ["C", [38.4, 22.65, 39.95, 24.65]], ["C", [41.5, 26.65, 41.5, 30.15]], ["L", [41.5, 86.05]], ["C", [41.5, 95.85, 34.8, 95.85]], ["C", [31.85, 95.85, 30.05, 93.85]], ["C", [28.2, 91.85, 28.2, 87.95]], ["L", [28.2, 43.55]], ["C", [15.8, 53.05, 11.5, 53.05]], ["C", [9.45, 53.05, 7.9, 51.45]], ["C", [6.3, 49.8, 6.3, 47.65]], ["C", [6.3, 45.15, 7.85, 43.95]]]; __motifs["2"] = [["M", [48.95, 29.25]], ["C", [51.5, 32, 53, 35.6]], ["C", [54.4, 39.2, 54.4, 43.05]], ["C", [54.4, 49.1, 51.4, 54.05]], ["C", [48.4, 59, 45.25, 61.85]], ["C", [42.15, 64.6, 34.8, 70.65]], ["C", [27.45, 76.65, 24.7, 79.95]], ["C", [23.55, 81.25, 22.3, 83.15]], ["L", [47.8, 83.15]], ["C", [51.6, 83.15, 53.6, 84.7]], ["C", [55.6, 86.25, 55.6, 88.95]], ["C", [55.6, 91.35, 54.05, 93]], ["C", [52.45, 94.65, 49.2, 94.65]], ["L", [13.3, 94.65]], ["C", [9.6, 94.65, 7.55, 92.65]], ["C", [5.5, 90.6, 5.5, 87.85]], ["C", [5.5, 86.1, 6.85, 83.2]], ["C", [8.15, 80.3, 9.7, 78.65]], ["C", [16.2, 71.9, 21.45, 67.1]], ["C", [26.65, 62.3, 28.9, 60.75]], ["C", [32.9, 57.95, 35.6, 55.1]], ["C", [38.25, 52.2, 39.65, 49.25]], ["C", [41, 46.2, 41, 43.35]], ["C", [41, 40.2, 39.55, 37.75]], ["C", [38.05, 35.3, 35.5, 33.9]], ["C", [32.9, 32.55, 29.9, 32.55]], ["C", [23.5, 32.55, 19.8, 38.15]], ["C", [19.35, 38.9, 18.2, 42.15]], ["C", [17.05, 45.45, 15.65, 47.2]], ["C", [14.15, 48.95, 11.4, 48.95]], ["C", [8.95, 48.95, 7.3, 47.35]], ["C", [5.7, 45.7, 5.7, 42.95]], ["C", [5.7, 39.55, 7.25, 35.9]], ["C", [8.75, 32.25, 11.75, 29.25]], ["C", [14.75, 26.3, 19.4, 24.5]], ["C", [23.95, 22.65, 30.2, 22.65]], ["C", [37.65, 22.65, 42.9, 24.95]], ["C", [46.35, 26.55, 48.95, 29.25]]]; __motifs["3"] = [["M", [49.95, 33.4]], ["C", [51.4, 36.65, 51.4, 40.35]], ["C", [51.4, 45.25, 49.3, 48.75]], ["C", [47.15, 52.2, 43.2, 55.55]], ["C", [47, 57.6, 49.65, 60.25]], ["C", [52.25, 62.85, 53.55, 66.1]], ["C", [54.9, 69.25, 54.9, 72.95]], ["C", [54.9, 77.4, 53.15, 81.55]], ["C", [51.3, 85.7, 47.85, 89]], ["C", [44.4, 92.2, 39.65, 94.05]], ["C", [34.85, 95.85, 29.1, 95.85]], ["C", [23.25, 95.85, 18.6, 93.75]], ["C", [13.95, 91.65, 11, 88.55]], ["C", [7.95, 85.35, 6.45, 82]], ["C", [4.9, 78.65, 4.9, 76.45]], ["C", [4.9, 73.6, 6.75, 71.9]], ["C", [8.55, 70.15, 11.3, 70.15]], ["C", [12.65, 70.15, 13.9, 70.95]], ["C", [15.2, 71.75, 15.6, 72.85]], ["C", [18.1, 79.65, 21.05, 83]], ["C", [23.95, 86.25, 29.2, 86.25]], ["C", [32.25, 86.25, 35.05, 84.8]], ["C", [37.85, 83.25, 39.7, 80.35]], ["C", [41.5, 77.4, 41.5, 73.55]], ["C", [41.5, 67.85, 38.4, 64.6]], ["C", [35.25, 61.35, 29.7, 61.35]], ["C", [28.7, 61.35, 26.65, 61.55]], ["C", [24.6, 61.75, 24, 61.75]], ["C", [21.35, 61.75, 19.85, 60.4]], ["C", [18.4, 59.05, 18.4, 56.65]], ["C", [18.4, 54.3, 20.15, 52.9]], ["C", [21.9, 51.45, 25.4, 51.45]], ["L", [27.4, 51.45]], ["C", [31.9, 51.45, 35.15, 48.8]], ["C", [38.4, 46.15, 38.4, 41.25]], ["C", [38.4, 37.45, 35.8, 34.8]], ["C", [33.2, 32.05, 28.8, 32.05]], ["C", [25.85, 32.05, 23.95, 32.9]], ["C", [21.95, 33.7, 20.85, 35.1]], ["C", [19.75, 36.45, 18.75, 38.6]], ["C", [17.7, 40.75, 16.9, 42.65]], ["C", [16.4, 43.65, 15.15, 44.25]], ["C", [13.85, 44.85, 12.2, 44.85]], ["C", [10.25, 44.85, 8.65, 43.3]], ["C", [7, 41.65, 7, 39.05]], ["C", [7, 36.5, 8.55, 33.7]], ["C", [10.05, 30.9, 13.05, 28.35]], ["C", [15.95, 25.8, 20.35, 24.3]], ["C", [24.75, 22.75, 30.2, 22.75]], ["C", [34.9, 22.75, 38.8, 24.05]], ["C", [42.7, 25.3, 45.6, 27.75]], ["C", [48.5, 30.2, 49.95, 33.4]]]; __motifs["4"] = [["M", [35, 68.45]], ["L", [35, 40.05]], ["L", [14, 68.45]], ["L", [35, 68.45]], ["M", [35.9, 23.7]], ["C", [37.5, 22.15, 39.8, 22.15]], ["C", [47.2, 22.15, 47.2, 30.65]], ["L", [47.2, 68.45]], ["L", [49.3, 68.45]], ["C", [53.1, 68.45, 55.35, 69.45]], ["C", [57.6, 70.5, 57.6, 73.95]], ["C", [57.6, 76.8, 55.75, 78.1]], ["C", [53.9, 79.35, 50.2, 79.35]], ["L", [47.2, 79.35]], ["L", [47.2, 88.45]], ["C", [47.2, 92.2, 45.55, 94.05]], ["C", [43.9, 95.85, 41.1, 95.85]], ["C", [38.4, 95.85, 36.7, 94]], ["C", [35, 92.1, 35, 88.45]], ["L", [35, 79.35]], ["L", [10.5, 79.35]], ["C", [5.85, 79.35, 3.55, 77.25]], ["C", [1.2, 75.15, 1.2, 71.55]], ["C", [1.2, 70.65, 1.55, 69.7]], ["C", [1.9, 68.7, 2.6, 67.7]], ["C", [3.25, 66.6, 4, 65.65]], ["C", [4.75, 64.65, 5.8, 63.25]], ["L", [31.7, 28.65]], ["C", [34.25, 25.2, 35.9, 23.7]]]; __motifs["5"] = [["M", [53.6, 29.45]], ["C", [53.6, 32, 51.75, 33.55]], ["C", [49.9, 35.15, 46.3, 35.15]], ["L", [23.1, 35.15]], ["L", [20.3, 50.95]], ["C", [27.25, 47.25, 33.1, 47.25]], ["C", [37.8, 47.25, 41.9, 49]], ["C", [45.95, 50.75, 49, 53.9]], ["C", [52.1, 56.95, 53.85, 61.2]], ["C", [55.6, 65.45, 55.6, 70.35]], ["C", [55.6, 77.4, 52.45, 83.2]], ["C", [49.25, 89.05, 43.3, 92.45]], ["C", [37.3, 95.85, 29.5, 95.85]], ["C", [20.75, 95.85, 15.35, 92.65]], ["C", [9.85, 89.45, 7.6, 85.3]], ["C", [5.3, 81.1, 5.3, 77.95]], ["C", [5.3, 76.05, 6.95, 74.35]], ["C", [8.5, 72.65, 10.9, 72.65]], ["C", [15, 72.65, 17, 77.35]], ["C", [18.95, 81.7, 22.25, 84.15]], ["C", [25.6, 86.55, 29.7, 86.55]], ["C", [33.45, 86.55, 36.3, 84.6]], ["C", [39.1, 82.65, 40.65, 79.2]], ["C", [42.2, 75.8, 42.2, 71.45]], ["C", [42.2, 66.75, 40.55, 63.45]], ["C", [38.85, 60.15, 36.1, 58.5]], ["C", [33.3, 56.85, 29.9, 56.85]], ["C", [25.7, 56.85, 23.9, 57.9]], ["C", [22.05, 58.9, 18.7, 61.5]], ["C", [15.3, 64.05, 13.1, 64.05]], ["C", [10.7, 64.05, 8.85, 62.35]], ["C", [7, 60.55, 7, 58.35]], ["C", [7, 58.15, 7.5, 55.05]], ["L", [11.6, 31.65]], ["C", [12.3, 27.45, 14.15, 25.55]], ["C", [16, 23.65, 20.2, 23.65]], ["L", [46, 23.65]], ["C", [53.6, 23.65, 53.6, 29.45]]]; __motifs["6"] = [["M", [31.2, 57.45]], ["C", [28.15, 57.45, 25.45, 59.05]], ["C", [22.65, 60.65, 21, 63.75]], ["C", [19.3, 66.75, 19.3, 70.85]], ["C", [19.3, 77.45, 22.7, 81.85]], ["C", [26.1, 86.25, 31.3, 86.25]], ["C", [36.25, 86.25, 39.45, 82.25]], ["C", [42.7, 78.2, 42.7, 71.65]], ["C", [42.7, 67.2, 41.15, 64.05]], ["C", [39.65, 60.8, 37, 59.15]], ["C", [34.4, 57.45, 31.2, 57.45]], ["M", [50.4, 31.1]], ["C", [52.8, 34.75, 52.8, 38.05]], ["C", [52.8, 40.05, 51.25, 41.7]], ["C", [49.75, 43.35, 47.4, 43.35]], ["C", [45.35, 43.35, 43.6, 42.05]], ["C", [41.85, 40.75, 41, 38.45]], ["C", [39.9, 35.5, 37.45, 33.75]], ["C", [35, 31.95, 31.8, 31.95]], ["C", [29.2, 31.95, 26.65, 33.45]], ["C", [24.05, 34.95, 22.3, 37.45]], ["C", [18.75, 42.65, 18.1, 55.95]], ["C", [21.45, 51.95, 25.35, 50.05]], ["C", [29.25, 48.15, 34.1, 48.15]], ["C", [38.7, 48.15, 42.7, 49.9]], ["C", [46.6, 51.65, 49.55, 54.85]], ["C", [52.5, 58.05, 54.1, 62.35]], ["C", [55.7, 66.7, 55.7, 71.45]], ["C", [55.7, 78.35, 52.6, 83.95]], ["C", [49.4, 89.55, 43.8, 92.75]], ["C", [38.15, 95.85, 31, 95.85]], ["C", [22.8, 95.85, 16.85, 91.85]], ["C", [10.9, 87.85, 7.75, 80.05]], ["C", [4.6, 72.2, 4.6, 60.85]], ["C", [4.6, 51.65, 6.5, 44.35]], ["C", [8.4, 37.1, 11.95, 32.3]], ["C", [15.55, 27.5, 20.6, 25.05]], ["C", [25.7, 22.65, 32.2, 22.65]], ["C", [38.45, 22.65, 43.2, 25.05]], ["C", [47.95, 27.5, 50.4, 31.1]]]; __motifs["7"] = [["M", [54.9, 25.2]], ["C", [57, 26.7, 57, 30.05]], ["C", [57, 32.1, 54.55, 35.45]], ["C", [52.05, 38.85, 48.95, 42.95]], ["C", [45.75, 47, 42.45, 53.05]], ["C", [39.05, 59.1, 36.3, 67.85]], ["C", [35.1, 71.7, 34.6, 74.25]], ["C", [34.15, 76.8, 33.55, 80.85]], ["C", [32.95, 84.9, 32.5, 87.05]], ["C", [31.5, 92, 29.65, 93.95]], ["C", [27.75, 95.85, 24.6, 95.85]], ["C", [21.65, 95.85, 19.8, 93.8]], ["C", [18, 91.7, 18, 87.65]], ["C", [18, 84.55, 19.35, 79.15]], ["C", [20.65, 73.8, 23.65, 66.35]], ["C", [26.6, 58.8, 31.1, 50.95]], ["C", [35.55, 43.05, 41.7, 35.25]], ["L", [15.6, 35.25]], ["C", [11.45, 35.25, 9.45, 33.75]], ["C", [7.4, 32.25, 7.4, 29.05]], ["C", [7.4, 25.7, 9.55, 24.75]], ["C", [11.7, 23.75, 15.6, 23.75]], ["L", [48.1, 23.75]], ["C", [52.8, 23.75, 54.9, 25.2]]]; __motifs["8"] = [["M", [35.75, 62.55]], ["C", [32.9, 61.05, 29.4, 61.05]], ["C", [24.4, 61.05, 21.05, 64.4]], ["C", [17.7, 67.7, 17.7, 73.65]], ["C", [17.7, 77.45, 19.3, 80.4]], ["C", [20.85, 83.25, 23.6, 84.9]], ["C", [26.3, 86.45, 29.7, 86.45]], ["C", [33.1, 86.45, 35.85, 84.85]], ["C", [38.55, 83.2, 40.15, 80.3]], ["C", [41.7, 77.35, 41.7, 73.55]], ["C", [41.7, 69.75, 40.15, 66.9]], ["C", [38.55, 64.1, 35.75, 62.55]], ["M", [29.5, 31.85]], ["C", [24.9, 31.85, 22.1, 34.75]], ["C", [19.3, 37.55, 19.3, 42.05]], ["C", [19.3, 46.2, 22.15, 49]], ["C", [25.05, 51.75, 29.6, 51.75]], ["C", [31.9, 51.75, 33.8, 51]], ["C", [35.65, 50.25, 37, 49]], ["C", [38.35, 47.7, 39.05, 45.9]], ["C", [39.8, 44.1, 39.8, 41.95]], ["C", [39.8, 39.1, 38.55, 36.8]], ["C", [37.2, 34.5, 34.85, 33.2]], ["C", [32.5, 31.85, 29.5, 31.85]], ["M", [51.05, 34.25]], ["C", [52.5, 37.55, 52.5, 41.35]], ["C", [52.5, 46.1, 50.05, 49.85]], ["C", [47.55, 53.65, 42.7, 56.05]], ["C", [46.85, 57.65, 49.55, 60.3]], ["C", [52.3, 62.85, 53.7, 66.35]], ["C", [55.1, 69.75, 55.1, 73.95]], ["C", [55.1, 80.1, 52.1, 85.15]], ["C", [49.1, 90.1, 43.35, 92.95]], ["C", [37.6, 95.75, 29.8, 95.75]], ["C", [21.7, 95.75, 15.9, 92.95]], ["C", [10.15, 90.1, 7.25, 85.2]], ["C", [4.3, 80.2, 4.3, 74.05]], ["C", [4.3, 60.9, 16.7, 56.05]], ["C", [6.7, 51.35, 6.7, 41.25]], ["C", [6.7, 36.35, 9.4, 32.05]], ["C", [12, 27.7, 17.2, 25.1]], ["C", [22.3, 22.55, 29.2, 22.55]], ["C", [35, 22.55, 39.4, 24.05]], ["C", [43.8, 25.55, 46.75, 28.25]], ["C", [49.65, 30.9, 51.05, 34.25]]]; __motifs["9"] = [["M", [16.2, 46.75]], ["C", [16.2, 53.25, 19.45, 57.1]], ["C", [22.65, 60.95, 27.6, 60.95]], ["C", [30.6, 60.95, 33.4, 59.4]], ["C", [36.15, 57.8, 37.9, 54.75]], ["C", [39.6, 51.75, 39.6, 47.65]], ["C", [39.6, 44.3, 38.7, 41.55]], ["C", [37.8, 38.7, 36.2, 36.65]], ["C", [34.5, 34.6, 32.3, 33.4]], ["C", [30, 32.25, 27.3, 32.25]], ["C", [22.65, 32.25, 19.45, 36.25]], ["C", [16.2, 40.2, 16.2, 46.75]], ["M", [52.5, 42.6]], ["C", [54.3, 49.25, 54.3, 57.65]], ["C", [54.3, 67, 52.4, 74.2]], ["C", [50.5, 81.3, 46.9, 86.2]], ["C", [43.2, 91.05, 38.15, 93.45]], ["C", [33.05, 95.75, 26.6, 95.75]], ["C", [20.25, 95.75, 15.6, 93.4]], ["C", [10.9, 90.95, 8.45, 87.35]], ["C", [6, 83.75, 6, 80.45]], ["C", [6, 78.4, 7.5, 76.8]], ["C", [9.05, 75.15, 11.4, 75.15]], ["C", [13.55, 75.15, 15.25, 76.4]], ["C", [16.95, 77.55, 17.8, 79.95]], ["C", [18.9, 82.9, 21.4, 84.7]], ["C", [23.9, 86.45, 27, 86.45]], ["C", [29.8, 86.45, 32.3, 85.05]], ["C", [34.75, 83.6, 36.5, 81.05]], ["C", [40.05, 75.8, 40.7, 62.55]], ["C", [37.5, 66.4, 33.55, 68.35]], ["C", [29.55, 70.25, 24.7, 70.25]], ["C", [20.1, 70.25, 16.15, 68.5]], ["C", [12.15, 66.65, 9.3, 63.5]], ["C", [6.35, 60.3, 4.8, 56.05]], ["C", [3.2, 51.75, 3.2, 47.05]], ["C", [3.2, 42, 5, 37.5]], ["C", [6.75, 33, 10, 29.65]], ["C", [13.3, 26.35, 17.8, 24.5]], ["C", [22.3, 22.65, 27.8, 22.65]], ["C", [34.1, 22.65, 39, 24.9]], ["C", [43.95, 27.2, 47.3, 31.6]], ["C", [50.7, 35.95, 52.5, 42.6]]]; } private static function initializeWidthsLowercase():void{ __widths["a"] = 59; __widths["b"] = 63; __widths["c"] = 59; __widths["d"] = 63; __widths["e"] = 59; __widths["f"] = 33; __widths["g"] = 63; __widths["h"] = 60; __widths["i"] = 27; __widths["j"] = 27; __widths["k"] = 57; __widths["l"] = 27; __widths["m"] = 88; __widths["n"] = 60; __widths["o"] = 60; __widths["p"] = 63; __widths["q"] = 63; __widths["r"] = 44; __widths["s"] = 54; __widths["t"] = 35; __widths["u"] = 60; __widths["v"] = 54; __widths["w"] = 81; __widths["x"] = 52; __widths["y"] = 54; __widths["z"] = 52; } private static function initializeWidthsNumbers():void{ __widths["0"] = 59; __widths["1"] = 59; __widths["2"] = 59; __widths["3"] = 59; __widths["4"] = 59; __widths["5"] = 59; __widths["6"] = 59; __widths["7"] = 59; __widths["8"] = 59; __widths["9"] = 59; } private static function initializeMotifsLowercase():void{ __motifs["a"] = [["M", [39.7, 69.05]], ["C", [36.75, 70.15, 31.2, 71.35]], ["C", [25.6, 72.55, 23.45, 73.1]], ["C", [21.3, 73.65, 19.35, 75.3]], ["C", [17.4, 76.95, 17.4, 79.85]], ["C", [17.4, 82.9, 19.7, 85.05]], ["C", [21.95, 87.15, 25.7, 87.15]], ["C", [29.65, 87.15, 33, 85.4]], ["C", [36.35, 83.65, 37.9, 80.95]], ["C", [39.7, 77.9, 39.7, 70.95]], ["L", [39.7, 69.05]], ["M", [16.65, 43.7]], ["C", [21.9, 41.55, 29.8, 41.55]], ["C", [38.55, 41.55, 43.6, 43.65]], ["C", [48.65, 45.7, 50.75, 50.2]], ["C", [52.8, 54.7, 52.8, 62.15]], ["C", [52.8, 66.8, 52.8, 70.1]], ["C", [52.75, 73.35, 52.7, 77.35]], ["C", [52.7, 81.1, 53.95, 85.25]], ["C", [55.2, 89.3, 55.2, 90.45]], ["C", [55.2, 92.5, 53.25, 94.2]], ["C", [51.3, 95.85, 48.9, 95.85]], ["C", [46.85, 95.85, 44.8, 93.95]], ["C", [42.8, 92, 40.6, 88.35]], ["C", [35.75, 92.1, 31.25, 94]], ["C", [26.7, 95.85, 21.1, 95.85]], ["C", [15.95, 95.85, 12.1, 93.85]], ["C", [8.2, 91.8, 6.1, 88.35]], ["C", [4, 84.9, 4, 80.85]], ["C", [4, 75.35, 7.45, 71.5]], ["C", [10.95, 67.65, 17, 66.35]], ["C", [18.25, 66.05, 23.3, 65]], ["C", [28.3, 64, 31.95, 63.15]], ["C", [35.5, 62.3, 39.7, 61.05]], ["C", [39.45, 55.8, 37.6, 53.35]], ["C", [35.7, 50.85, 29.8, 50.85]], ["C", [24.7, 50.85, 22.15, 52.25]], ["C", [19.6, 53.7, 17.75, 56.5]], ["C", [15.9, 59.35, 15.2, 60.3]], ["C", [14.4, 61.15, 11.9, 61.15]], ["C", [9.65, 61.15, 8.05, 59.75]], ["C", [6.4, 58.25, 6.4, 56.05]], ["C", [6.4, 52.5, 8.9, 49.2]], ["C", [11.4, 45.85, 16.65, 43.7]]]; __motifs["b"] = [["M", [21.55, 59.75]], ["C", [19.8, 63.65, 19.8, 69.05]], ["C", [19.8, 77, 23.5, 81.3]], ["C", [27.1, 85.55, 33, 85.55]], ["C", [38.05, 85.55, 41.7, 81.2]], ["C", [45.3, 76.85, 45.3, 68.65]], ["C", [45.3, 63.4, 43.8, 59.6]], ["C", [42.3, 55.8, 39.5, 53.75]], ["C", [36.7, 51.65, 33, 51.65]], ["C", [29.2, 51.65, 26.2, 53.75]], ["C", [23.25, 55.8, 21.55, 59.75]], ["M", [36.5, 41.75]], ["C", [43.15, 41.75, 48.2, 44.95]], ["C", [53.15, 48.05, 55.95, 54.05]], ["C", [58.7, 60.05, 58.7, 68.25]], ["C", [58.7, 74.3, 57.2, 79.35]], ["C", [55.6, 84.4, 52.7, 88.1]], ["C", [49.75, 91.8, 45.6, 93.85]], ["C", [41.4, 95.85, 36.4, 95.85]], ["C", [33.3, 95.85, 30.6, 95.15]], ["C", [27.9, 94.4, 26, 93.25]], ["C", [24.05, 92, 22.75, 90.75]], ["C", [21.4, 89.45, 19.2, 86.95]], ["L", [19.2, 88.25]], ["C", [19.2, 92, 17.4, 93.95]], ["C", [15.6, 95.85, 12.8, 95.85]], ["C", [9.95, 95.85, 8.3, 93.95]], ["C", [6.6, 92, 6.6, 88.25]], ["L", [6.6, 30.05]], ["C", [6.6, 26, 8.25, 23.95]], ["C", [9.85, 21.85, 12.8, 21.85]], ["C", [15.85, 21.85, 17.55, 23.85]], ["C", [19.2, 25.8, 19.2, 29.45]], ["L", [19.2, 49.85]], ["C", [22.95, 45.9, 26.85, 43.85]], ["C", [30.75, 41.75, 36.5, 41.75]]]; __motifs["c"] = [["M", [47.85, 47]], ["C", [50.85, 49.4, 52.45, 52.1]], ["C", [54, 54.8, 54, 57.15]], ["C", [54, 59.55, 52.25, 61.2]], ["C", [50.45, 62.85, 47.9, 62.85]], ["C", [46.25, 62.85, 45.15, 62.05]], ["C", [44.05, 61.15, 42.7, 59.25]], ["C", [40.25, 55.55, 37.6, 53.7]], ["C", [34.9, 51.85, 30.8, 51.85]], ["C", [24.9, 51.85, 21.3, 56.45]], ["C", [17.7, 61.05, 17.7, 69.05]], ["C", [17.7, 72.8, 18.6, 76]], ["C", [19.55, 79.1, 21.3, 81.35]], ["C", [23.05, 83.55, 25.55, 84.75]], ["C", [28.05, 85.85, 31, 85.85]], ["C", [35, 85.85, 37.9, 84]], ["C", [40.7, 82.15, 42.9, 78.35]], ["C", [44.15, 76.1, 45.55, 74.85]], ["C", [46.95, 73.55, 49, 73.55]], ["C", [51.45, 73.55, 53.1, 75.4]], ["C", [54.7, 77.25, 54.7, 79.35]], ["C", [54.7, 81.85, 53.2, 84.7]], ["C", [51.7, 87.5, 48.7, 90.1]], ["C", [45.6, 92.65, 40.95, 94.2]], ["C", [36.35, 95.75, 30.5, 95.75]], ["C", [18.15, 95.75, 11.25, 88.6]], ["C", [4.3, 81.35, 4.3, 69.25]], ["C", [4.3, 61.05, 7.45, 54.75]], ["C", [10.65, 48.45, 16.65, 45.05]], ["C", [22.65, 41.55, 31, 41.55]], ["C", [36.2, 41.55, 40.55, 43.1]], ["C", [44.8, 44.6, 47.85, 47]]]; __motifs["d"] = [["M", [23.25, 53.75]], ["C", [20.35, 55.8, 18.8, 59.7]], ["C", [17.2, 63.55, 17.2, 68.65]], ["C", [17.2, 74.1, 18.9, 77.9]], ["C", [20.55, 81.7, 23.5, 83.65]], ["C", [26.4, 85.55, 29.9, 85.55]], ["C", [33.4, 85.55, 36.35, 83.75]], ["C", [39.2, 81.9, 40.95, 78.15]], ["C", [42.7, 74.35, 42.7, 68.65]], ["C", [42.7, 63.35, 40.95, 59.55]], ["C", [39.2, 55.7, 36.3, 53.7]], ["C", [33.3, 51.65, 29.8, 51.65]], ["C", [26.1, 51.65, 23.25, 53.75]], ["M", [45.05, 23.95]], ["C", [46.7, 21.85, 49.7, 21.85]], ["C", [52.75, 21.85, 54.4, 23.8]], ["C", [56, 25.7, 56, 29.45]], ["L", [56, 88.25]], ["C", [56, 92.05, 54.25, 93.95]], ["C", [52.5, 95.85, 49.7, 95.85]], ["C", [46.95, 95.85, 45.2, 93.9]], ["C", [43.4, 91.9, 43.4, 88.25]], ["L", [43.4, 86.95]], ["C", [40.7, 90, 38.15, 91.95]], ["C", [35.5, 93.85, 32.45, 94.9]], ["C", [29.4, 95.85, 25.8, 95.85]], ["C", [21, 95.85, 16.95, 93.85]], ["C", [12.85, 91.8, 9.85, 88.05]], ["C", [6.9, 84.3, 5.35, 79.2]], ["C", [3.8, 74.15, 3.8, 68.25]], ["C", [3.8, 55.75, 9.9, 48.75]], ["C", [16, 41.75, 26, 41.75]], ["C", [31.75, 41.75, 35.7, 43.75]], ["C", [39.65, 45.7, 43.4, 49.85]], ["L", [43.4, 30.15]], ["C", [43.4, 26.05, 45.05, 23.95]]]; __motifs["e"] = [["M", [21.9, 54.3]], ["C", [18.7, 57.75, 18, 64.45]], ["L", [42.2, 64.45]], ["C", [41.7, 57.65, 38.55, 54.25]], ["C", [35.3, 50.85, 30.1, 50.85]], ["C", [25.1, 50.85, 21.9, 54.3]], ["M", [19.6, 43.55]], ["C", [24.5, 41.55, 30.5, 41.55]], ["C", [38.35, 41.55, 43.95, 44.9]], ["C", [49.5, 48.15, 52.3, 53.4]], ["C", [55.1, 58.6, 55.1, 64.05]], ["C", [55.1, 69.05, 52.2, 70.6]], ["C", [49.3, 72.05, 44.1, 72.05]], ["L", [18, 72.05]], ["C", [18.05, 76.6, 19.85, 80.05]], ["C", [21.65, 83.5, 24.6, 85.3]], ["C", [27.55, 87.05, 31.1, 87.05]], ["C", [33.5, 87.05, 35.5, 86.5]], ["C", [37.45, 85.9, 39.3, 84.75]], ["C", [41.15, 83.5, 42.7, 82.15]], ["C", [44.3, 80.8, 46.8, 78.45]], ["C", [47.8, 77.55, 49.7, 77.55]], ["C", [51.75, 77.55, 53.05, 78.7]], ["C", [54.3, 79.8, 54.3, 81.85]], ["C", [54.3, 83.65, 52.9, 86.1]], ["C", [51.45, 88.5, 48.65, 90.75]], ["C", [45.75, 92.95, 41.45, 94.4]], ["C", [37.1, 95.85, 31.5, 95.85]], ["C", [18.65, 95.85, 11.5, 88.55]], ["C", [4.4, 81.2, 4.4, 68.65]], ["C", [4.4, 62.75, 6.15, 57.75]], ["C", [7.9, 52.65, 11.3, 49.05]], ["C", [14.65, 45.45, 19.6, 43.55]]]; __motifs["f"] = [["M", [9, 42.85]], ["L", [9, 38.85]], ["C", [9, 32.6, 10.6, 28.95]], ["C", [12.15, 25.2, 15.95, 23.55]], ["C", [19.75, 21.85, 26.3, 21.85]], ["C", [38, 21.85, 38, 27.55]], ["C", [38, 29.4, 36.75, 30.75]], ["C", [35.55, 32.05, 33.9, 32.05]], ["C", [33.1, 32.05, 31.2, 31.75]], ["C", [29.3, 31.45, 28, 31.45]], ["C", [24.35, 31.45, 23.35, 33.6]], ["C", [22.3, 35.7, 22.3, 39.65]], ["L", [22.3, 42.85]], ["L", [25.6, 42.85]], ["C", [33.2, 42.85, 33.2, 47.45]], ["C", [33.2, 50.7, 31.2, 51.6]], ["C", [29.15, 52.45, 25.6, 52.45]], ["L", [22.3, 52.45]], ["L", [22.3, 87.75]], ["C", [22.3, 91.7, 20.45, 93.8]], ["C", [18.55, 95.85, 15.6, 95.85]], ["C", [12.75, 95.85, 10.9, 93.8]], ["C", [9, 91.7, 9, 87.75]], ["L", [9, 52.45]], ["L", [5.3, 52.45]], ["C", [2.35, 52.45, 0.75, 51.15]], ["C", [-0.9, 49.8, -0.9, 47.65]], ["C", [-0.9, 42.85, 5.8, 42.85]], ["L", [9, 42.85]]]; __motifs["g"] = [["M", [20.75, 56]], ["C", [17.3, 60.3, 17.3, 68.35]], ["C", [17.3, 76.45, 20.85, 80.6]], ["C", [24.35, 84.75, 30, 84.75]], ["C", [33.3, 84.75, 36.3, 83]], ["C", [39.2, 81.15, 41.05, 77.6]], ["C", [42.9, 74, 42.9, 68.85]], ["C", [42.9, 60.7, 39.35, 56.15]], ["C", [35.75, 51.65, 29.9, 51.65]], ["C", [24.15, 51.65, 20.75, 56]], ["M", [45.1, 43.6]], ["C", [46.85, 41.65, 49.5, 41.65]], ["C", [53.35, 41.65, 54.65, 44.2]], ["C", [55.9, 46.7, 55.9, 51.45]], ["L", [55.9, 90.15]], ["C", [55.9, 96.8, 54.5, 101.6]], ["C", [53.1, 106.35, 49.95, 109.5]], ["C", [46.85, 112.6, 41.8, 114.15]], ["C", [36.7, 115.65, 29.2, 115.65]], ["C", [22.3, 115.65, 16.9, 113.75]], ["C", [11.45, 111.8, 8.55, 108.75]], ["C", [5.6, 105.7, 5.6, 102.45]], ["C", [5.6, 100, 7.3, 98.5]], ["C", [8.95, 96.95, 11.3, 96.95]], ["C", [14.2, 96.95, 16.4, 99.55]], ["C", [17.5, 100.85, 18.65, 102.2]], ["C", [19.8, 103.55, 21.2, 104.5]], ["C", [22.55, 105.45, 24.5, 105.95]], ["C", [26.45, 106.35, 29, 106.35]], ["C", [34.2, 106.35, 37.05, 104.95]], ["C", [39.9, 103.5, 41.05, 100.9]], ["C", [42.2, 98.3, 42.4, 95.4]], ["C", [42.6, 92.4, 42.7, 85.85]], ["C", [39.6, 90.15, 35.6, 92.4]], ["C", [31.55, 94.65, 26, 94.65]], ["C", [19.3, 94.65, 14.3, 91.25]], ["C", [9.3, 87.8, 6.6, 81.65]], ["C", [3.9, 75.5, 3.9, 67.45]], ["C", [3.9, 61.45, 5.55, 56.6]], ["C", [7.2, 51.8, 10.2, 48.45]], ["C", [13.25, 45.15, 17.2, 43.5]], ["C", [21.15, 41.75, 25.9, 41.75]], ["C", [31.55, 41.75, 35.7, 43.95]], ["C", [39.85, 46.1, 43.4, 50.75]], ["L", [43.4, 48.95]], ["C", [43.4, 45.5, 45.1, 43.6]]]; __motifs["h"] = [["M", [30.2, 42.55]], ["C", [33.15, 41.65, 36.5, 41.65]], ["C", [41.6, 41.65, 45.55, 43.8]], ["C", [49.45, 45.95, 51.7, 50.05]], ["C", [53.15, 52.45, 53.6, 55.45]], ["C", [54.1, 58.35, 54.1, 62.25]], ["L", [54.1, 87.75]], ["C", [54.1, 91.75, 52.3, 93.8]], ["C", [50.45, 95.85, 47.4, 95.85]], ["C", [40.8, 95.85, 40.8, 87.75]], ["L", [40.8, 65.25]], ["C", [40.8, 58.85, 38.9, 55.45]], ["C", [37, 51.95, 31.7, 51.95]], ["C", [28.15, 51.95, 25.3, 54.05]], ["C", [22.4, 56.05, 21, 59.55]], ["C", [19.9, 62.5, 19.9, 70.15]], ["L", [19.9, 87.75]], ["C", [19.9, 91.7, 18.15, 93.8]], ["C", [16.35, 95.85, 13.2, 95.85]], ["C", [6.6, 95.85, 6.6, 87.75]], ["L", [6.6, 29.95]], ["C", [6.6, 25.9, 8.35, 23.9]], ["C", [10.05, 21.85, 13.2, 21.85]], ["C", [16.35, 21.85, 18.15, 23.9]], ["C", [19.9, 25.95, 19.9, 29.95]], ["L", [19.9, 49.75]], ["C", [22.45, 46.8, 24.9, 45.1]], ["C", [27.3, 43.4, 30.2, 42.55]]]; __motifs["i"] = [["M", [13.5, 41.65]], ["C", [16.4, 41.65, 18.3, 43.65]], ["C", [20.2, 45.7, 20.2, 49.25]], ["L", [20.2, 87.75]], ["C", [20.2, 91.75, 18.3, 93.8]], ["C", [16.4, 95.85, 13.5, 95.85]], ["C", [10.55, 95.85, 8.75, 93.75]], ["C", [6.9, 91.65, 6.9, 87.75]], ["L", [6.9, 49.65]], ["C", [6.9, 45.7, 8.75, 43.65]], ["C", [10.55, 41.65, 13.5, 41.65]], ["M", [13.6, 22.45]], ["C", [16.2, 22.45, 18.2, 24.1]], ["C", [20.2, 25.75, 20.2, 28.95]], ["C", [20.2, 32, 18.25, 33.75]], ["C", [16.3, 35.45, 13.6, 35.45]], ["C", [10.85, 35.45, 8.9, 33.75]], ["C", [6.9, 32.05, 6.9, 28.95]], ["C", [6.9, 26.1, 8.95, 24.3]], ["C", [10.95, 22.45, 13.6, 22.45]]]; __motifs["j"] = [["M", [13.7, 41.65]], ["C", [16.65, 41.65, 18.5, 43.65]], ["C", [20.3, 45.65, 20.3, 49.65]], ["L", [20.3, 94.85]], ["C", [20.3, 99.7, 20, 102.75]], ["C", [19.7, 105.8, 19.1, 107.15]], ["C", [15.75, 115.65, 5, 115.65]], ["C", [-1.05, 115.65, -4.2, 114]], ["C", [-7.3, 112.35, -7.3, 109.15]], ["C", [-7.3, 106.8, -5.9, 105.35]], ["C", [-4.5, 103.85, -2.2, 103.85]], ["C", [-1.9, 103.85, -1.2, 103.95]], ["C", [-0.6, 104, 0.75, 104.05]], ["C", [2, 104.15, 2.5, 104.15]], ["C", [5.2, 104.15, 6.1, 102.05]], ["C", [7, 99.95, 7, 94.55]], ["L", [7, 49.65]], ["C", [7, 45.7, 8.85, 43.65]], ["C", [10.7, 41.65, 13.7, 41.65]], ["M", [13.7, 22.45]], ["C", [16.3, 22.45, 18.3, 24.1]], ["C", [20.3, 25.75, 20.3, 28.95]], ["C", [20.3, 32, 18.35, 33.75]], ["C", [16.4, 35.45, 13.7, 35.45]], ["C", [10.95, 35.45, 9, 33.75]], ["C", [7, 32.05, 7, 28.95]], ["C", [7, 26.1, 9.05, 24.3]], ["C", [11.05, 22.45, 13.7, 22.45]]]; __motifs["k"] = [["M", [48.05, 43.3]], ["C", [49.7, 44.85, 49.7, 47.25]], ["C", [49.7, 50.15, 44.3, 55.05]], ["L", [37.2, 61.55]], ["L", [50.9, 83.05]], ["C", [52.4, 85.4, 53.1, 86.7]], ["C", [53.7, 87.9, 53.7, 89.05]], ["C", [53.7, 92.2, 52, 94.05]], ["C", [50.25, 95.85, 47.4, 95.85]], ["C", [44.95, 95.85, 43.65, 94.55]], ["C", [42.35, 93.25, 40.1, 89.75]], ["L", [28.3, 70.45]], ["L", [21.1, 77.25]], ["L", [21.1, 87.85]], ["C", [21.1, 91.7, 19.1, 93.8]], ["C", [17.05, 95.85, 14.4, 95.85]], ["C", [11.35, 95.85, 9.55, 93.8]], ["C", [7.8, 91.75, 7.8, 87.75]], ["L", [7.8, 30.95]], ["C", [7.8, 26.5, 9.5, 24.2]], ["C", [11.25, 21.85, 14.4, 21.85]], ["C", [17.5, 21.85, 19.3, 23.95]], ["C", [21.1, 26.05, 21.1, 30.15]], ["L", [21.1, 62.45]], ["L", [36.1, 46.75]], ["C", [38.85, 43.8, 40.35, 42.75]], ["C", [41.8, 41.65, 43.9, 41.65]], ["C", [46.4, 41.65, 48.05, 43.3]]]; __motifs["l"] = [["M", [8.7, 23.9]], ["C", [10.45, 21.85, 13.5, 21.85]], ["C", [16.5, 21.85, 18.35, 23.9]], ["C", [20.2, 25.9, 20.2, 29.95]], ["L", [20.2, 87.75]], ["C", [20.2, 91.8, 18.35, 93.85]], ["C", [16.45, 95.85, 13.5, 95.85]], ["C", [10.55, 95.85, 8.75, 93.75]], ["C", [6.9, 91.65, 6.9, 87.75]], ["L", [6.9, 29.95]], ["C", [6.9, 25.95, 8.7, 23.9]]]; __motifs["m"] = [["M", [82.4, 87.45]], ["C", [82.4, 91.65, 80.5, 93.75]], ["C", [78.6, 95.85, 75.5, 95.85]], ["C", [72.45, 95.85, 70.55, 93.75]], ["C", [68.6, 91.6, 68.6, 87.45]], ["L", [68.6, 65.05]], ["C", [68.6, 60.75, 68.25, 58.2]], ["C", [67.85, 55.6, 66.25, 53.85]], ["C", [64.65, 52.05, 61.4, 52.05]], ["C", [58.75, 52.05, 56.4, 53.65]], ["C", [54, 55.2, 52.7, 57.85]], ["C", [51.2, 61.2, 51.2, 69.75]], ["L", [51.2, 87.45]], ["C", [51.2, 91.65, 49.3, 93.75]], ["C", [47.4, 95.85, 44.3, 95.85]], ["C", [41.25, 95.85, 39.4, 93.75]], ["C", [37.5, 91.65, 37.5, 87.45]], ["L", [37.5, 66.25]], ["C", [37.5, 61.2, 37.15, 58.4]], ["C", [36.8, 55.65, 35.3, 53.9]], ["C", [33.8, 52.05, 30.5, 52.05]], ["C", [23.95, 52.05, 21.9, 56.55]], ["C", [19.8, 61.05, 19.8, 69.45]], ["L", [19.8, 87.45]], ["C", [19.8, 91.6, 17.95, 93.75]], ["C", [16.05, 95.85, 13, 95.85]], ["C", [9.95, 95.85, 8.05, 93.75]], ["C", [6.1, 91.6, 6.1, 87.45]], ["L", [6.1, 49.35]], ["C", [6.1, 45.6, 7.85, 43.6]], ["C", [9.55, 41.65, 12.4, 41.65]], ["C", [15.15, 41.65, 17, 43.55]], ["C", [18.8, 45.35, 18.8, 48.55]], ["L", [18.8, 49.85]], ["C", [22.25, 45.7, 26.2, 43.7]], ["C", [30.2, 41.75, 35, 41.75]], ["C", [40.05, 41.75, 43.65, 43.75]], ["C", [47.25, 45.75, 49.6, 49.85]], ["C", [53, 45.7, 56.85, 43.75]], ["C", [60.7, 41.75, 65.4, 41.75]], ["C", [70.85, 41.75, 74.8, 43.9]], ["C", [78.75, 46.05, 80.7, 50.05]], ["C", [82.4, 53.7, 82.4, 61.45]], ["L", [82.4, 87.45]]]; __motifs["n"] = [["M", [36.3, 41.65]], ["C", [41.55, 41.65, 45.7, 43.95]], ["C", [49.85, 46.25, 51.9, 50.45]], ["C", [53.2, 52.9, 53.6, 55.75]], ["C", [54, 58.55, 54, 62.95]], ["L", [54, 87.75]], ["C", [54, 91.75, 52.2, 93.8]], ["C", [50.35, 95.85, 47.4, 95.85]], ["C", [44.45, 95.85, 42.6, 93.75]], ["C", [40.7, 91.65, 40.7, 87.75]], ["L", [40.7, 65.55]], ["C", [40.7, 58.95, 38.9, 55.5]], ["C", [37.05, 51.95, 31.6, 51.95]], ["C", [28.05, 51.95, 25.1, 54.1]], ["C", [22.15, 56.2, 20.8, 59.95]], ["C", [19.8, 62.9, 19.8, 71.05]], ["L", [19.8, 87.75]], ["C", [19.8, 91.8, 17.95, 93.85]], ["C", [16.05, 95.85, 13.1, 95.85]], ["C", [10.2, 95.85, 8.35, 93.75]], ["C", [6.5, 91.65, 6.5, 87.75]], ["L", [6.5, 49.25]], ["C", [6.5, 45.45, 8.15, 43.6]], ["C", [9.8, 41.65, 12.7, 41.65]], ["C", [14.45, 41.65, 15.85, 42.5]], ["C", [17.3, 43.35, 18.15, 45]], ["C", [19, 46.65, 19, 49.05]], ["L", [19, 50.65]], ["C", [22.5, 46, 26.7, 43.85]], ["C", [30.85, 41.65, 36.3, 41.65]]]; __motifs["o"] = [["M", [30.2, 51.55]], ["C", [26.25, 51.55, 23.3, 53.6]], ["C", [20.3, 55.6, 18.7, 59.55]], ["C", [17.1, 63.5, 17.1, 68.75]], ["C", [17.1, 74, 18.7, 77.9]], ["C", [20.25, 81.8, 23.25, 83.9]], ["C", [26.15, 85.95, 30.2, 85.95]], ["C", [36.25, 85.95, 39.85, 81.4]], ["C", [43.4, 76.85, 43.4, 68.75]], ["C", [43.4, 60.6, 39.85, 56.1]], ["C", [36.25, 51.55, 30.2, 51.55]], ["M", [49.6, 49.2]], ["C", [53.15, 52.8, 55, 57.8]], ["C", [56.8, 62.75, 56.8, 68.75]], ["C", [56.8, 74.75, 54.95, 79.75]], ["C", [53.1, 84.8, 49.55, 88.4]], ["C", [46.05, 92, 41.15, 93.95]], ["C", [36.3, 95.85, 30.2, 95.85]], ["C", [24.1, 95.85, 19.3, 93.9]], ["C", [14.45, 91.95, 10.95, 88.35]], ["C", [7.35, 84.7, 5.55, 79.75]], ["C", [3.7, 74.8, 3.7, 68.75]], ["C", [3.7, 62.7, 5.55, 57.7]], ["C", [7.4, 52.65, 10.9, 49.1]], ["C", [14.35, 45.55, 19.3, 43.6]], ["C", [24.2, 41.65, 30.2, 41.65]], ["C", [36.25, 41.65, 41.15, 43.6]], ["C", [46.1, 45.6, 49.6, 49.2]]]; __motifs["p"] = [["M", [32.9, 51.65]], ["C", [27.4, 51.65, 23.65, 56]], ["C", [19.8, 60.3, 19.8, 68.75]], ["C", [19.8, 76.75, 23.6, 81.15]], ["C", [27.35, 85.55, 32.9, 85.55]], ["C", [36.25, 85.55, 39.05, 83.65]], ["C", [41.9, 81.7, 43.6, 77.85]], ["C", [45.3, 74, 45.3, 68.55]], ["C", [45.3, 63.25, 43.7, 59.5]], ["C", [42.1, 55.7, 39.25, 53.7]], ["C", [36.4, 51.65, 32.9, 51.65]], ["M", [36.2, 41.75]], ["C", [42.35, 41.75, 47.5, 44.95]], ["C", [52.7, 48.1, 55.7, 54.2]], ["C", [58.7, 60.3, 58.7, 68.65]], ["C", [58.7, 74.85, 57, 80]], ["C", [55.2, 85.15, 52.2, 88.65]], ["C", [49.15, 92.1, 45.05, 94]], ["C", [40.9, 95.85, 36.2, 95.85]], ["C", [30.45, 95.85, 26.6, 93.6]], ["C", [22.7, 91.3, 19.2, 86.85]], ["L", [19.2, 106.85]], ["C", [19.2, 115.65, 12.8, 115.65]], ["C", [9.05, 115.65, 7.8, 113.4]], ["C", [6.6, 111.1, 6.6, 106.75]], ["L", [6.6, 49.25]], ["C", [6.6, 45.45, 8.25, 43.6]], ["C", [9.9, 41.65, 12.8, 41.65]], ["C", [15.65, 41.65, 17.45, 43.6]], ["C", [19.2, 45.55, 19.2, 49.15]], ["L", [19.2, 50.75]], ["C", [22.95, 46.1, 27, 43.95]], ["C", [31.05, 41.75, 36.2, 41.75]]]; __motifs["q"] = [["M", [20.85, 56.1]], ["C", [17.3, 60.5, 17.3, 68.65]], ["C", [17.3, 74.05, 19.05, 77.95]], ["C", [20.75, 81.8, 23.6, 83.7]], ["C", [26.4, 85.55, 29.7, 85.55]], ["C", [33.25, 85.55, 36.25, 83.7]], ["C", [39.2, 81.8, 41, 77.95]], ["C", [42.8, 74.1, 42.8, 68.45]], ["C", [42.8, 64.45, 41.8, 61.2]], ["C", [40.7, 58, 38.9, 55.9]], ["C", [37.1, 53.75, 34.75, 52.7]], ["C", [32.4, 51.65, 29.8, 51.65]], ["C", [24.4, 51.65, 20.85, 56.1]], ["M", [45.15, 43.6]], ["C", [46.9, 41.65, 49.7, 41.65]], ["C", [52.5, 41.65, 54.25, 43.6]], ["C", [56, 45.45, 56, 49.15]], ["L", [56, 106.75]], ["C", [56, 115.65, 49.7, 115.65]], ["C", [45.8, 115.65, 44.65, 113.25]], ["C", [43.4, 110.85, 43.4, 106.75]], ["L", [43.4, 87.95]], ["C", [39.55, 91.8, 35.4, 93.85]], ["C", [31.2, 95.85, 26.1, 95.85]], ["C", [19.9, 95.85, 14.85, 92.6]], ["C", [9.7, 89.35, 6.85, 83.2]], ["C", [3.9, 77.05, 3.9, 68.75]], ["C", [3.9, 60.3, 6.85, 54.2]], ["C", [9.75, 48.1, 15, 44.95]], ["C", [20.15, 41.75, 26.5, 41.75]], ["C", [31.9, 41.75, 36.15, 44]], ["C", [40.4, 46.2, 43.4, 50.75]], ["L", [43.4, 49.15]], ["C", [43.4, 45.5, 45.15, 43.6]]]; __motifs["r"] = [["M", [18.05, 43.75]], ["C", [19.55, 45.85, 19.7, 49.95]], ["C", [22.05, 45.85, 24.6, 43.75]], ["C", [27.1, 41.65, 31.3, 41.65]], ["C", [35.5, 41.65, 39.45, 43.75]], ["C", [43.4, 45.85, 43.4, 49.35]], ["C", [43.4, 51.8, 41.75, 53.4]], ["C", [40.05, 54.95, 38.1, 54.95]], ["C", [37.35, 54.95, 34.55, 54.05]], ["C", [31.75, 53.15, 29.6, 53.15]], ["C", [26.65, 53.15, 24.8, 54.7]], ["C", [22.95, 56.2, 21.9, 59.25]], ["C", [20.9, 62.3, 20.5, 66.5]], ["C", [20.1, 70.65, 20.1, 76.65]], ["L", [20.1, 87.75]], ["C", [20.1, 91.8, 18.2, 93.85]], ["C", [16.3, 95.85, 13.4, 95.85]], ["C", [10.5, 95.85, 8.65, 93.8]], ["C", [6.8, 91.75, 6.8, 87.75]], ["L", [6.8, 50.65]], ["C", [6.8, 41.65, 13.3, 41.65]], ["C", [16.6, 41.65, 18.05, 43.75]]]; __motifs["s"] = [["M", [25.4, 41.65]], ["C", [30.55, 41.65, 34.7, 42.75]], ["C", [38.8, 43.8, 41.6, 45.65]], ["C", [44.35, 47.45, 45.8, 49.65]], ["C", [47.2, 51.85, 47.2, 53.95]], ["C", [47.2, 56.2, 45.7, 57.7]], ["C", [44.15, 59.15, 41.3, 59.15]], ["C", [39.25, 59.15, 37.85, 58]], ["C", [36.4, 56.8, 34.5, 54.45]], ["C", [33, 52.5, 30.95, 51.35]], ["C", [28.9, 50.15, 25.4, 50.15]], ["C", [21.8, 50.15, 19.4, 51.75]], ["C", [17, 53.25, 17, 55.55]], ["C", [17, 57.65, 18.75, 59]], ["C", [20.5, 60.3, 23.5, 61.2]], ["C", [26.45, 62.1, 31.7, 63.35]], ["C", [37.9, 64.85, 41.85, 66.95]], ["C", [45.75, 69.05, 47.8, 71.95]], ["C", [49.8, 74.8, 49.8, 78.45]], ["C", [49.8, 83.95, 47.1, 87.9]], ["C", [44.45, 91.8, 39.2, 93.85]], ["C", [33.95, 95.85, 26.4, 95.85]], ["C", [19.25, 95.85, 14.1, 93.65]], ["C", [9, 91.5, 6.55, 88.2]], ["C", [4.1, 84.9, 4.1, 81.55]], ["C", [4.1, 79.35, 5.65, 77.8]], ["C", [7.25, 76.25, 9.6, 76.25]], ["C", [11.7, 76.25, 12.85, 77.25]], ["C", [13.95, 78.3, 15, 80.15]], ["C", [17.05, 83.7, 19.9, 85.45]], ["C", [22.75, 87.25, 27.7, 87.25]], ["C", [31.7, 87.25, 34.3, 85.45]], ["C", [36.8, 83.65, 36.8, 81.35]], ["C", [36.8, 77.85, 34.2, 76.25]], ["C", [31.5, 74.65, 25.4, 73.15]], ["C", [18.5, 71.45, 14.2, 69.6]], ["C", [9.85, 67.7, 7.3, 64.6]], ["C", [4.7, 61.55, 4.7, 57.05]], ["C", [4.7, 53.05, 7.1, 49.5]], ["C", [9.45, 45.9, 14.15, 43.8]], ["C", [18.8, 41.65, 25.4, 41.65]]]; __motifs["t"] = [["M", [15.7, 23.55]], ["C", [18.25, 23.55, 20.3, 25.45]], ["C", [21.7, 26.75, 22.05, 28.6]], ["C", [22.4, 30.4, 22.4, 33.75]], ["L", [22.4, 42.85]], ["L", [27.3, 42.85]], ["C", [30.15, 42.85, 31.65, 44.2]], ["C", [33.1, 45.55, 33.1, 47.65]], ["C", [33.1, 50.3, 31, 51.4]], ["C", [28.85, 52.45, 24.9, 52.45]], ["L", [22.4, 52.45]], ["L", [22.4, 76.95]], ["C", [22.4, 80.1, 22.65, 81.8]], ["C", [22.85, 83.45, 23.85, 84.55]], ["C", [24.75, 85.55, 26.9, 85.55]], ["C", [28.1, 85.55, 30.1, 85.2]], ["C", [32.1, 84.75, 33.2, 84.75]], ["C", [34.8, 84.75, 36.15, 86.05]], ["C", [37.4, 87.35, 37.4, 89.25]], ["C", [37.4, 92.45, 33.9, 94.15]], ["C", [30.35, 95.85, 23.8, 95.85]], ["C", [17.55, 95.85, 14.3, 93.75]], ["C", [11.1, 91.65, 10.1, 87.95]], ["C", [9.1, 84.25, 9.1, 78.05]], ["L", [9.1, 52.45]], ["L", [7.3, 52.45]], ["C", [4.45, 52.45, 2.95, 51.1]], ["C", [1.4, 49.75, 1.4, 47.65]], ["C", [1.4, 45.55, 3.05, 44.2]], ["C", [4.6, 42.85, 7.6, 42.85]], ["L", [9.1, 42.85]], ["L", [9.1, 34.85]], ["C", [9.1, 31.6, 9.3, 29.8]], ["C", [9.4, 27.95, 10.2, 26.65]], ["C", [11, 25.25, 12.45, 24.45]], ["C", [13.9, 23.55, 15.7, 23.55]]]; __motifs["u"] = [["M", [47.4, 41.65]], ["C", [50.4, 41.65, 52.2, 43.65]], ["C", [54, 45.65, 54, 49.65]], ["L", [54, 88.25]], ["C", [54, 92.05, 52.3, 93.95]], ["C", [50.55, 95.85, 47.8, 95.85]], ["C", [45.05, 95.85, 43.3, 93.9]], ["C", [41.5, 91.9, 41.5, 88.35]], ["L", [41.5, 86.65]], ["C", [39.1, 89.65, 36.45, 91.7]], ["C", [33.85, 93.75, 30.7, 94.8]], ["C", [27.6, 95.75, 23.6, 95.75]], ["C", [18.75, 95.75, 14.95, 93.75]], ["C", [11.1, 91.75, 9, 88.25]], ["C", [6.5, 84, 6.5, 76.05]], ["L", [6.5, 49.65]], ["C", [6.5, 45.65, 8.3, 43.65]], ["C", [10.1, 41.65, 13.1, 41.65]], ["C", [16.1, 41.65, 17.95, 43.65]], ["C", [19.8, 45.7, 19.8, 49.65]], ["L", [19.8, 70.95]], ["C", [19.8, 75.6, 20.6, 78.8]], ["C", [21.4, 81.9, 23.45, 83.7]], ["C", [25.45, 85.45, 28.9, 85.45]], ["C", [32.3, 85.45, 35.25, 83.45]], ["C", [38.25, 81.45, 39.6, 78.25]], ["C", [40.7, 75.4, 40.7, 65.85]], ["L", [40.7, 49.65]], ["C", [40.7, 45.7, 42.6, 43.65]], ["C", [44.45, 41.65, 47.4, 41.65]]]; __motifs["v"] = [["M", [45.4, 41.65]], ["C", [47.95, 41.65, 49.75, 43.4]], ["C", [51.5, 45.1, 51.5, 47.35]], ["C", [51.5, 48.2, 51.2, 49.4]], ["C", [50.9, 50.55, 50.5, 51.6]], ["C", [50.05, 52.6, 49.5, 53.95]], ["L", [36.7, 85.65]], ["C", [36.2, 87.05, 35.35, 89.15]], ["C", [34.45, 91.25, 33.45, 92.75]], ["C", [32.35, 94.2, 30.85, 95.05]], ["C", [29.3, 95.85, 27.1, 95.85]], ["C", [24.25, 95.85, 22.6, 94.6]], ["C", [20.9, 93.3, 20.1, 91.75]], ["C", [19.3, 90.2, 17.4, 85.65]], ["L", [4.7, 54.25]], ["C", [4.25, 53.1, 3.8, 51.95]], ["C", [3.3, 50.75, 3.05, 49.55]], ["C", [2.7, 48.3, 2.7, 47.45]], ["C", [2.7, 46.05, 3.5, 44.75]], ["C", [4.35, 43.4, 5.8, 42.55]], ["C", [7.3, 41.65, 9, 41.65]], ["C", [12.3, 41.65, 13.55, 43.6]], ["C", [14.8, 45.5, 16.3, 49.95]], ["L", [27.1, 80.25]], ["L", [38.7, 48.65]], ["C", [40.1, 44.85, 41.4, 43.3]], ["C", [42.7, 41.65, 45.4, 41.65]]]; __motifs["w"] = [["M", [45.25, 43.15]], ["C", [46.9, 44.55, 47.6, 46.25]], ["C", [48.3, 47.9, 49.5, 52.05]], ["L", [57.4, 79.75]], ["L", [66.2, 49.95]], ["C", [67.1, 46.75, 67.65, 45.35]], ["C", [68.15, 43.85, 69.45, 42.8]], ["C", [70.7, 41.65, 73.1, 41.65]], ["C", [75.5, 41.65, 77.25, 43.35]], ["C", [79, 45, 79, 47.25]], ["C", [79, 49.3, 77.5, 53.45]], ["L", [66.6, 85.35]], ["C", [65.2, 89.45, 64.4, 91.25]], ["C", [63.6, 93.05, 61.95, 94.45]], ["C", [60.25, 95.85, 57.3, 95.85]], ["C", [54.3, 95.85, 52.6, 94.35]], ["C", [50.85, 92.85, 50, 90.65]], ["C", [49.15, 88.45, 48.2, 84.95]], ["L", [40.6, 58.95]], ["L", [33.2, 84.95]], ["C", [31.75, 90.35, 30.05, 93.15]], ["C", [28.3, 95.85, 24, 95.85]], ["C", [21.85, 95.85, 20.3, 95.05]], ["C", [18.75, 94.15, 17.7, 92.6]], ["C", [16.7, 91, 15.9, 88.85]], ["C", [15.15, 86.65, 14.7, 85.35]], ["L", [3.9, 53.45]], ["C", [2.3, 48.95, 2.3, 47.25]], ["C", [2.3, 45.1, 4, 43.4]], ["C", [5.7, 41.65, 8.2, 41.65]], ["C", [11.5, 41.65, 12.7, 43.6]], ["C", [13.85, 45.45, 15.2, 49.95]], ["L", [23.9, 79.75]], ["L", [31.8, 52.05]], ["C", [33.05, 47.75, 33.7, 46.15]], ["C", [34.3, 44.55, 36, 43.15]], ["C", [37.65, 41.65, 40.6, 41.65]], ["C", [43.55, 41.65, 45.25, 43.15]]]; __motifs["x"] = [["M", [46.4, 43.2]], ["C", [48.1, 44.65, 48.1, 46.75]], ["C", [48.1, 48.25, 47.4, 49.7]], ["C", [46.7, 51.05, 45.2, 52.95]], ["L", [34.5, 67.35]], ["L", [46.6, 84.65]], ["C", [49.4, 88.7, 49.4, 90.75]], ["C", [49.4, 92.85, 47.65, 94.35]], ["C", [45.9, 95.85, 43.3, 95.85]], ["C", [41, 95.85, 39.45, 94.55]], ["C", [37.85, 93.25, 35.8, 90.35]], ["L", [26.1, 76.15]], ["L", [16.2, 90.35]], ["C", [14.05, 93.35, 12.6, 94.6]], ["C", [11.1, 95.85, 8.8, 95.85]], ["C", [6.25, 95.85, 4.5, 94.3]], ["C", [2.7, 92.7, 2.7, 90.65]], ["C", [2.7, 88.55, 5.4, 84.65]], ["L", [17.5, 67.35]], ["L", [6.8, 52.95]], ["C", [4, 49.4, 4, 46.75]], ["C", [4, 44.7, 5.65, 43.2]], ["C", [7.3, 41.65, 10, 41.65]], ["C", [12.35, 41.65, 13.9, 43]], ["C", [15.45, 44.3, 17.5, 47.15]], ["L", [26.1, 58.95]], ["L", [34.5, 47.15]], ["C", [36.6, 44.2, 38.2, 42.95]], ["C", [39.7, 41.65, 42, 41.65]], ["C", [44.65, 41.65, 46.4, 43.2]]]; __motifs["y"] = [["M", [45.6, 41.65]], ["C", [47.1, 41.65, 48.55, 42.5]], ["C", [49.9, 43.3, 50.7, 44.65]], ["C", [51.4, 46, 51.4, 47.55]], ["C", [51.2, 48.45, 50.8, 50.15]], ["C", [50.35, 51.9, 49.7, 53.65]], ["L", [32.3, 99.15]], ["C", [30.1, 105.15, 27.95, 108.55]], ["C", [25.8, 112, 22.25, 113.85]], ["C", [18.7, 115.65, 12.7, 115.65]], ["C", [6.85, 115.65, 3.9, 114.4]], ["C", [1, 113.1, 1, 109.75]], ["C", [1, 107.45, 2.4, 106.2]], ["C", [3.75, 104.95, 6.5, 104.95]], ["C", [7.55, 104.95, 8.6, 105.25]], ["C", [9.85, 105.55, 10.8, 105.55]], ["C", [13.1, 105.55, 14.4, 104.85]], ["C", [15.7, 104.15, 16.8, 102.5]], ["C", [17.8, 100.8, 19.2, 97.55]], ["L", [20.4, 94.55]], ["L", [4, 53.25]], ["C", [2.5, 49.7, 2.5, 48.05]], ["C", [2.5, 46.35, 3.35, 44.9]], ["C", [4.25, 43.45, 5.8, 42.55]], ["C", [7.3, 41.65, 9, 41.65]], ["C", [11.85, 41.65, 13.35, 43.55]], ["C", [14.8, 45.35, 15.9, 48.75]], ["L", [27.2, 81.55]], ["L", [37.9, 51.05]], ["C", [39.15, 47.35, 40.2, 45.25]], ["C", [41.2, 43.15, 42.4, 42.4]], ["C", [43.5, 41.65, 45.6, 41.65]]]; __motifs["z"] = [["M", [48.3, 48.55]], ["C", [48.3, 49.65, 47.85, 50.8]], ["C", [47.4, 51.95, 46.9, 52.65]], ["C", [46.35, 53.4, 45.4, 54.45]], ["C", [44.5, 55.5, 43.1, 56.95]], ["L", [18.7, 84.25]], ["L", [44.8, 84.25]], ["C", [48, 84.25, 49.6, 85.75]], ["C", [51.2, 87.25, 51.2, 89.55]], ["C", [51.2, 91.8, 49.65, 93.25]], ["C", [48.05, 94.65, 44.8, 94.65]], ["L", [8.7, 94.65]], ["C", [4.9, 94.65, 3.05, 93]], ["C", [1.1, 91.35, 1.1, 88.45]], ["C", [1.1, 86.75, 2.45, 85.05]], ["C", [3.75, 83.25, 7.9, 78.65]], ["C", [12.3, 73.75, 15.9, 69.8]], ["C", [19.5, 65.85, 22.55, 62.4]], ["C", [25.65, 58.95, 27.7, 56.55]], ["C", [29.7, 54.15, 30.9, 52.45]], ["L", [11.1, 52.45]], ["C", [7, 52.45, 4.9, 51.75]], ["C", [2.8, 51, 2.8, 47.85]], ["C", [2.8, 45.6, 4.4, 44.2]], ["C", [5.95, 42.85, 8.9, 42.85]], ["L", [39.5, 42.85]], ["C", [43.75, 42.85, 46.05, 44.1]], ["C", [48.3, 45.35, 48.3, 48.55]]]; } private static function initializeMotifsUppercase():void{ __motifs["A"] = [["M", [46.3, 66.65]], ["L", [35.5, 37.15]], ["L", [24.9, 66.65]], ["L", [46.3, 66.65]], ["M", [43.95, 25.95]], ["C", [45.15, 27.75, 46.05, 29.85]], ["C", [46.9, 31.9, 48.2, 35.35]], ["L", [66.9, 81.55]], ["C", [69.1, 86.85, 69.1, 89.25]], ["C", [69.1, 91.7, 67.05, 93.8]], ["C", [64.95, 95.85, 62, 95.85]], ["C", [60.3, 95.85, 59.1, 95.3]], ["C", [57.85, 94.65, 57.05, 93.6]], ["C", [56.2, 92.55, 55.25, 90.4]], ["C", [54.3, 88.2, 53.6, 86.55]], ["L", [50.2, 77.55]], ["L", [21.1, 77.55]], ["L", [17.7, 86.75]], ["C", [15.65, 92.1, 14.25, 94]], ["C", [12.85, 95.85, 9.6, 95.85]], ["C", [6.9, 95.85, 4.8, 93.85]], ["C", [2.7, 91.85, 2.7, 89.35]], ["C", [2.7, 87.85, 3.15, 86.3]], ["C", [3.65, 84.75, 4.8, 81.95]], ["L", [23.1, 35.45]], ["C", [23.9, 33.45, 25, 30.7]], ["C", [26.05, 27.85, 27.35, 26]], ["C", [28.55, 24.15, 30.6, 23]], ["C", [32.6, 21.85, 35.6, 21.85]], ["C", [38.6, 21.85, 40.65, 23]], ["C", [42.7, 24.15, 43.95, 25.95]]]; __motifs["B"] = [["M", [22.2, 62.85]], ["L", [22.2, 83.75]], ["L", [37.8, 83.75]], ["C", [52.5, 83.75, 52.5, 73.15]], ["C", [52.5, 67.75, 48.7, 65.3]], ["C", [44.85, 62.85, 37.3, 62.85]], ["L", [22.2, 62.85]], ["M", [49.6, 42.95]], ["C", [49.6, 37.5, 45.75, 35.75]], ["C", [41.9, 33.95, 34, 33.95]], ["L", [22.2, 33.95]], ["L", [22.2, 52.45]], ["L", [35.5, 52.45]], ["C", [40.9, 52.45, 43.9, 51.45]], ["C", [46.85, 50.4, 48.4, 47.55]], ["C", [49.6, 45.5, 49.6, 42.95]], ["M", [55.3, 26.15]], ["C", [57.85, 27.65, 59.8, 30]], ["C", [61.75, 32.3, 62.8, 35.15]], ["C", [63.8, 37.9, 63.8, 41.05]], ["C", [63.8, 51.8, 53.1, 56.75]], ["C", [67.2, 61.25, 67.2, 74.25]], ["C", [67.2, 80.25, 64.1, 85.1]], ["C", [61.05, 89.85, 55.8, 92.15]], ["C", [52.55, 93.55, 48.3, 94.1]], ["C", [44.05, 94.65, 38.4, 94.65]], ["L", [16.5, 94.65]], ["C", [11.75, 94.65, 9.75, 92.55]], ["C", [7.7, 90.4, 7.7, 85.75]], ["L", [7.7, 31.95]], ["C", [7.7, 27.2, 9.8, 25.15]], ["C", [11.85, 23.05, 16.5, 23.05]], ["L", [39.7, 23.05]], ["C", [44.8, 23.05, 48.6, 23.7]], ["C", [52.35, 24.35, 55.3, 26.15]]]; __motifs["C"] = [["M", [65, 33.9]], ["C", [68.6, 39, 68.6, 43.55]], ["C", [68.6, 46, 66.85, 47.9]], ["C", [65.1, 49.85, 62.6, 49.85]], ["C", [59.8, 49.85, 58.45, 48.5]], ["C", [57.05, 47.2, 55.3, 43.95]], ["C", [52.5, 38.65, 48.7, 36]], ["C", [44.8, 33.35, 39.2, 33.35]], ["C", [30.25, 33.35, 25, 40.15]], ["C", [19.7, 46.95, 19.7, 59.45]], ["C", [19.7, 67.8, 22, 73.35]], ["C", [24.35, 78.9, 28.65, 81.6]], ["C", [32.95, 84.35, 38.7, 84.35]], ["C", [44.95, 84.35, 49.3, 81.25]], ["C", [53.6, 78.15, 55.8, 72.15]], ["C", [56.75, 69.3, 58.1, 67.55]], ["C", [59.45, 65.75, 62.5, 65.75]], ["C", [65.1, 65.75, 66.95, 67.55]], ["C", [68.8, 69.35, 68.8, 72.05]], ["C", [68.8, 75.45, 67.15, 79.45]], ["C", [65.45, 83.4, 61.8, 87.3]], ["C", [58.2, 91.1, 52.6, 93.5]], ["C", [46.95, 95.85, 39.5, 95.85]], ["C", [33.85, 95.85, 29.2, 94.8]], ["C", [24.55, 93.7, 20.8, 91.5]], ["C", [17, 89.2, 13.8, 85.45]], ["C", [11, 82.1, 9, 77.95]], ["C", [7, 73.75, 6, 69]], ["C", [5, 64.3, 5, 58.95]], ["C", [5, 50.3, 7.5, 43.5]], ["C", [10, 36.65, 14.7, 31.8]], ["C", [19.4, 26.95, 25.7, 24.4]], ["C", [32, 21.85, 39.1, 21.85]], ["C", [47.8, 21.85, 54.6, 25.3]], ["C", [61.4, 28.8, 65, 33.9]]]; __motifs["D"] = [["M", [43.3, 36]], ["C", [38.6, 34.55, 32, 34.55]], ["L", [22.4, 34.55]], ["L", [22.4, 83.15]], ["L", [33.4, 83.15]], ["C", [37, 83.15, 39.05, 82.95]], ["C", [41.1, 82.75, 43.3, 81.95]], ["C", [45.5, 81.15, 47.1, 79.75]], ["C", [54.4, 73.6, 54.4, 58.55]], ["C", [54.4, 47.95, 51.2, 42.7]], ["C", [48, 37.4, 43.3, 36]], ["M", [57.9, 29.55]], ["C", [69.1, 39.15, 69.1, 58.65]], ["C", [69.1, 65.1, 67.95, 70.45]], ["C", [66.85, 75.75, 64.5, 80.05]], ["C", [62.15, 84.3, 58.5, 87.65]], ["C", [55.6, 90.25, 52.2, 91.8]], ["C", [48.8, 93.4, 44.85, 94]], ["C", [40.9, 94.65, 36, 94.65]], ["L", [17.1, 94.65]], ["C", [13.15, 94.65, 11.15, 93.5]], ["C", [9.15, 92.25, 8.55, 90.1]], ["C", [7.9, 87.9, 7.9, 84.45]], ["L", [7.9, 31.95]], ["C", [7.9, 27.25, 10, 25.15]], ["C", [12.1, 23.05, 16.8, 23.05]], ["L", [35.7, 23.05]], ["C", [43.05, 23.05, 48.35, 24.45]], ["C", [53.6, 25.8, 57.9, 29.55]]]; __motifs["E"] = [["M", [60.15, 24.65]], ["C", [61.8, 26.15, 61.8, 28.65]], ["C", [61.8, 31.15, 60.15, 32.75]], ["C", [58.45, 34.25, 55, 34.25]], ["L", [22.3, 34.25]], ["L", [22.3, 51.85]], ["L", [52.4, 51.85]], ["C", [55.7, 51.85, 57.35, 53.35]], ["C", [59, 54.8, 59, 57.25]], ["C", [59, 59.7, 57.35, 61.25]], ["C", [55.75, 62.75, 52.4, 62.75]], ["L", [22.3, 62.75]], ["L", [22.3, 83.15]], ["L", [56.1, 83.15]], ["C", [59.5, 83.15, 61.3, 84.75]], ["C", [63, 86.3, 63, 88.95]], ["C", [63, 91.5, 61.3, 93.1]], ["C", [59.5, 94.65, 56.1, 94.65]], ["L", [16.7, 94.65]], ["C", [11.95, 94.65, 9.9, 92.55]], ["C", [7.8, 90.45, 7.8, 85.75]], ["L", [7.8, 31.95]], ["C", [7.8, 28.85, 8.75, 26.9]], ["C", [9.65, 24.85, 11.65, 24]], ["C", [13.6, 23.05, 16.7, 23.05]], ["L", [55, 23.05]], ["C", [58.45, 23.05, 60.15, 24.65]]]; __motifs["F"] = [["M", [55.75, 24.65]], ["C", [57.4, 26.15, 57.4, 28.65]], ["C", [57.4, 31.15, 55.75, 32.75]], ["C", [54.05, 34.25, 50.6, 34.25]], ["L", [22, 34.25]], ["L", [22, 52.55]], ["L", [45.9, 52.55]], ["C", [49.2, 52.55, 50.9, 54.05]], ["C", [52.5, 55.55, 52.5, 58.05]], ["C", [52.5, 60.5, 50.85, 62]], ["C", [49.15, 63.45, 45.9, 63.45]], ["L", [22, 63.45]], ["L", [22, 87.05]], ["C", [22, 91.55, 20, 93.7]], ["C", [17.95, 95.85, 14.8, 95.85]], ["C", [11.55, 95.85, 9.55, 93.65]], ["C", [7.5, 91.5, 7.5, 87.05]], ["L", [7.5, 31.95]], ["C", [7.5, 28.85, 8.45, 26.9]], ["C", [9.4, 24.85, 11.4, 24]], ["C", [13.35, 23.05, 16.4, 23.05]], ["L", [50.6, 23.05]], ["C", [54.05, 23.05, 55.75, 24.65]]]; __motifs["G"] = [["M", [55, 23.8]], ["C", [60.55, 25.7, 64, 28.65]], ["C", [67.5, 31.55, 69.25, 34.85]], ["C", [71, 38.1, 71, 40.65]], ["C", [71, 43.4, 69, 45.35]], ["C", [66.95, 47.25, 64.1, 47.25]], ["C", [62.55, 47.25, 61.15, 46.5]], ["C", [59.65, 45.75, 58.7, 44.45]], ["C", [56, 40.25, 54.15, 38.1]], ["C", [52.3, 35.95, 49.15, 34.5]], ["C", [46, 33.05, 41.1, 33.05]], ["C", [36.1, 33.05, 32.15, 34.8]], ["C", [28.15, 36.5, 25.4, 39.8]], ["C", [22.55, 43.1, 21.1, 47.85]], ["C", [19.6, 52.65, 19.6, 58.45]], ["C", [19.6, 71.05, 25.4, 77.85]], ["C", [31.15, 84.65, 41.5, 84.65]], ["C", [46.55, 84.65, 51, 83.3]], ["C", [55.35, 82, 59.9, 79.55]], ["L", [59.9, 67.95]], ["L", [48.7, 67.95]], ["C", [44.65, 67.95, 42.6, 66.7]], ["C", [40.5, 65.5, 40.5, 62.55]], ["C", [40.5, 60.2, 42.25, 58.6]], ["C", [43.95, 57.05, 46.9, 57.05]], ["L", [63.4, 57.05]], ["C", [66.4, 57.05, 68.5, 57.6]], ["C", [70.6, 58.15, 71.9, 60]], ["C", [73.2, 61.85, 73.2, 65.55]], ["L", [73.2, 79.25]], ["C", [73.2, 82, 72.65, 83.65]], ["C", [72.1, 85.3, 70.7, 86.6]], ["C", [69.25, 87.9, 67, 89.15]], ["C", [60.5, 92.65, 54.5, 94.25]], ["C", [48.5, 95.85, 41.4, 95.85]], ["C", [33.15, 95.85, 26.35, 93.35]], ["C", [19.6, 90.8, 14.8, 85.95]], ["C", [10, 81.1, 7.45, 74.25]], ["C", [4.9, 67.35, 4.9, 58.85]], ["C", [4.9, 50.5, 7.35, 43.6]], ["C", [9.85, 36.65, 14.7, 31.8]], ["C", [19.55, 26.95, 26.45, 24.45]], ["C", [33.4, 21.85, 42.2, 21.85]], ["C", [49.4, 21.85, 55, 23.8]]]; __motifs["H"] = [["M", [55.7, 24.05]], ["C", [57.65, 21.85, 60.9, 21.85]], ["C", [64.15, 21.85, 66.2, 24.05]], ["C", [68.2, 26.2, 68.2, 30.65]], ["L", [68.2, 87.05]], ["C", [68.2, 91.5, 66.15, 93.65]], ["C", [64.1, 95.85, 60.9, 95.85]], ["C", [57.6, 95.85, 55.65, 93.65]], ["C", [53.7, 91.45, 53.7, 87.05]], ["L", [53.7, 62.95]], ["L", [22.4, 62.95]], ["L", [22.4, 87.05]], ["C", [22.4, 91.5, 20.35, 93.65]], ["C", [18.3, 95.85, 15.1, 95.85]], ["C", [11.8, 95.85, 9.85, 93.65]], ["C", [7.9, 91.45, 7.9, 87.05]], ["L", [7.9, 30.65]], ["C", [7.9, 26.25, 9.85, 24.05]], ["C", [11.75, 21.85, 15.1, 21.85]], ["C", [18.35, 21.85, 20.4, 24.05]], ["C", [22.4, 26.2, 22.4, 30.65]], ["L", [22.4, 51.15]], ["L", [53.7, 51.15]], ["L", [53.7, 30.65]], ["C", [53.7, 26.25, 55.7, 24.05]]]; __motifs["I"] = [["M", [10.4, 24.05]], ["C", [12.4, 21.85, 15.6, 21.85]], ["C", [18.85, 21.85, 20.9, 24.05]], ["C", [22.9, 26.2, 22.9, 30.65]], ["L", [22.9, 87.05]], ["C", [22.9, 91.5, 20.9, 93.65]], ["C", [18.85, 95.85, 15.6, 95.85]], ["C", [12.45, 95.85, 10.45, 93.65]], ["C", [8.4, 91.45, 8.4, 87.05]], ["L", [8.4, 30.65]], ["C", [8.4, 26.25, 10.4, 24.05]]]; __motifs["J"] = [["M", [47.45, 24.05]], ["C", [49.4, 26.25, 49.4, 30.65]], ["L", [49.4, 68.15]], ["C", [49.4, 73, 49, 76.45]], ["C", [48.6, 79.85, 47.1, 83.35]], ["C", [44.7, 89.3, 39.05, 92.6]], ["C", [33.45, 95.85, 25.4, 95.85]], ["C", [18.1, 95.85, 13.3, 93.6]], ["C", [8.4, 91.3, 5.4, 86.15]], ["C", [3.85, 83.4, 2.9, 79.85]], ["C", [1.9, 76.3, 1.9, 73.05]], ["C", [1.9, 69.65, 3.8, 67.85]], ["C", [5.7, 66.05, 8.7, 66.05]], ["C", [11.55, 66.05, 13.05, 67.7]], ["C", [14.5, 69.35, 15.3, 72.85]], ["C", [16.1, 76.65, 16.95, 78.9]], ["C", [17.75, 81.1, 19.75, 82.75]], ["C", [21.7, 84.35, 25.3, 84.35]], ["C", [34.9, 84.35, 34.9, 70.25]], ["L", [34.9, 30.65]], ["C", [34.9, 26.25, 36.85, 24.05]], ["C", [38.75, 21.85, 42.1, 21.85]], ["C", [45.45, 21.85, 47.45, 24.05]]]; __motifs["K"] = [["M", [54.4, 22.85]], ["C", [55.8, 21.85, 58.2, 21.85]], ["C", [61.35, 21.85, 63.3, 23.7]], ["C", [65.2, 25.5, 65.2, 28.15]], ["C", [65.2, 31.3, 61.9, 34.45]], ["L", [44.3, 51.15]], ["L", [64.6, 80.25]], ["C", [66.75, 83.25, 67.8, 85.55]], ["C", [68.9, 87.8, 68.9, 89.95]], ["C", [68.9, 92.35, 67.05, 94.1]], ["C", [65.15, 95.85, 61.9, 95.85]], ["C", [58.9, 95.85, 57, 94.6]], ["C", [55.1, 93.3, 53.75, 91.15]], ["C", [52.45, 89, 51.4, 87.25]], ["L", [34.3, 60.85]], ["L", [22.4, 72.25]], ["L", [22.4, 87.05]], ["C", [22.4, 91.55, 20.35, 93.7]], ["C", [18.3, 95.85, 15.1, 95.85]], ["C", [13.25, 95.85, 11.5, 94.9]], ["C", [9.8, 93.9, 8.9, 92.25]], ["C", [8.2, 90.9, 8.05, 89.1]], ["C", [7.9, 87.3, 7.9, 83.85]], ["L", [7.9, 30.65]], ["C", [7.9, 26.25, 9.85, 24.05]], ["C", [11.75, 21.85, 15.1, 21.85]], ["C", [18.35, 21.85, 20.4, 24.05]], ["C", [22.4, 26.2, 22.4, 30.65]], ["L", [22.4, 55.75]], ["L", [50.9, 26.05]], ["C", [52.95, 23.9, 54.4, 22.85]]]; __motifs["L"] = [["M", [9.5, 24.05]], ["C", [11.45, 21.85, 14.7, 21.85]], ["C", [17.95, 21.85, 20, 24.05]], ["C", [22, 26.2, 22, 30.65]], ["L", [22, 82.75]], ["L", [51.4, 82.75]], ["C", [54.95, 82.75, 56.85, 84.45]], ["C", [58.7, 86.15, 58.7, 88.75]], ["C", [58.7, 91.4, 56.85, 93.05]], ["C", [55, 94.65, 51.4, 94.65]], ["L", [16.4, 94.65]], ["C", [11.65, 94.65, 9.6, 92.55]], ["C", [7.5, 90.45, 7.5, 85.75]], ["L", [7.5, 30.65]], ["C", [7.5, 26.25, 9.5, 24.05]]]; __motifs["M"] = [["M", [54.1, 26.45]], ["C", [55, 24.55, 56.85, 23.8]], ["C", [58.65, 23.05, 62.7, 23.05]], ["L", [67.2, 23.05]], ["C", [71.35, 23.05, 73.8, 24.75]], ["C", [76.2, 26.35, 76.2, 31.05]], ["L", [76.2, 87.65]], ["C", [76.2, 91.75, 74.4, 93.8]], ["C", [72.55, 95.85, 69.5, 95.85]], ["C", [66.6, 95.85, 64.75, 93.8]], ["C", [62.9, 91.75, 62.9, 87.65]], ["L", [62.9, 38.25]], ["L", [51.4, 83.85]], ["C", [50.3, 88.3, 49.6, 90.4]], ["C", [48.9, 92.45, 46.95, 94.15]], ["C", [45.05, 95.85, 41.7, 95.85]], ["C", [39.15, 95.85, 37.4, 94.8]], ["C", [35.65, 93.65, 34.65, 91.95]], ["C", [33.7, 90.25, 33.15, 88.2]], ["C", [32.55, 86.1, 32, 83.85]], ["L", [20.5, 38.25]], ["L", [20.5, 87.65]], ["C", [20.5, 91.75, 18.7, 93.8]], ["C", [16.85, 95.85, 13.8, 95.85]], ["C", [10.9, 95.85, 9.05, 93.85]], ["C", [7.2, 91.8, 7.2, 87.65]], ["L", [7.2, 31.05]], ["C", [7.2, 26.35, 9.6, 24.75]], ["C", [12.05, 23.05, 16.2, 23.05]], ["L", [20.7, 23.05]], ["C", [24.75, 23.05, 26.6, 23.8]], ["C", [28.4, 24.55, 29.3, 26.45]], ["C", [30.2, 28.35, 31.3, 32.65]], ["L", [41.7, 71.85]], ["L", [52.1, 32.65]], ["C", [53.2, 28.35, 54.1, 26.45]]]; __motifs["N"] = [["M", [56.4, 23.95]], ["C", [58.15, 21.85, 61.2, 21.85]], ["C", [64.3, 21.85, 66.1, 23.95]], ["C", [67.9, 26, 67.9, 30.15]], ["L", [67.9, 86.45]], ["C", [67.9, 95.85, 60.1, 95.85]], ["C", [58.15, 95.85, 56.6, 95.35]], ["C", [55.05, 94.75, 53.65, 93.55]], ["C", [52.3, 92.3, 51.1, 90.7]], ["C", [49.95, 89.05, 48.8, 87.35]], ["L", [21.6, 45.65]], ["L", [21.6, 87.55]], ["C", [21.6, 91.65, 19.7, 93.75]], ["C", [17.75, 95.85, 14.8, 95.85]], ["C", [11.7, 95.85, 9.85, 93.75]], ["C", [8, 91.6, 8, 87.55]], ["L", [8, 32.35]], ["C", [8, 28.85, 8.8, 26.85]], ["C", [9.7, 24.65, 11.85, 23.25]], ["C", [14, 21.85, 16.5, 21.85]], ["C", [18.45, 21.85, 19.85, 22.5]], ["C", [21.25, 23.1, 22.3, 24.2]], ["C", [23.35, 25.25, 24.45, 26.95]], ["C", [25.55, 28.7, 26.7, 30.55]], ["L", [54.6, 72.75]], ["L", [54.6, 30.15]], ["C", [54.6, 26, 56.4, 23.95]]]; __motifs["O"] = [["M", [50.15, 36.35]], ["C", [45.4, 33.35, 39.3, 33.35]], ["C", [34.95, 33.35, 31.3, 35.05]], ["C", [27.6, 36.65, 24.95, 39.75]], ["C", [22.25, 42.9, 20.75, 47.8]], ["C", [19.2, 52.6, 19.2, 58.65]], ["C", [19.2, 64.75, 20.75, 69.7]], ["C", [22.25, 74.65, 25.1, 77.9]], ["C", [27.9, 81.1, 31.55, 82.75]], ["C", [35.15, 84.35, 39.5, 84.35]], ["C", [45.05, 84.35, 49.75, 81.55]], ["C", [54.4, 78.8, 57.2, 72.95]], ["C", [59.9, 67.15, 59.9, 58.65]], ["C", [59.9, 50.8, 57.35, 45.05]], ["C", [54.85, 39.3, 50.15, 36.35]], ["M", [70.5, 39.25]], ["C", [74.6, 47.55, 74.6, 58.75]], ["C", [74.6, 67.05, 72.35, 73.85]], ["C", [70.1, 80.65, 65.65, 85.6]], ["C", [61.15, 90.6, 54.6, 93.25]], ["C", [48.05, 95.85, 39.6, 95.85]], ["C", [31.2, 95.85, 24.55, 93.2]], ["C", [17.9, 90.45, 13.5, 85.5]], ["C", [9.05, 80.6, 6.8, 73.65]], ["C", [4.5, 66.7, 4.5, 58.65]], ["C", [4.5, 50.4, 6.9, 43.55]], ["C", [9.25, 36.65, 13.7, 31.8]], ["C", [18.2, 26.95, 24.65, 24.45]], ["C", [31.1, 21.85, 39.3, 21.85]], ["C", [50.45, 21.85, 58.45, 26.4]], ["C", [66.4, 30.9, 70.5, 39.25]]]; __motifs["P"] = [["M", [44.9, 37.15]], ["C", [41.8, 33.95, 32.1, 33.95]], ["L", [22.3, 33.95]], ["L", [22.3, 55.85]], ["L", [32.1, 55.85]], ["C", [37.2, 55.85, 40.65, 54.75]], ["C", [44.1, 53.7, 45.9, 51.25]], ["C", [47.7, 48.8, 47.7, 44.85]], ["C", [47.7, 40.1, 44.9, 37.15]], ["M", [55.9, 28.4]], ["C", [59.1, 31.2, 60.75, 35.3]], ["C", [62.4, 39.45, 62.4, 44.55]], ["C", [62.4, 55.5, 55.65, 61.15]], ["C", [48.95, 66.75, 35.6, 66.75]], ["L", [22.3, 66.75]], ["L", [22.3, 87.05]], ["C", [22.3, 91.4, 20.25, 93.6]], ["C", [18.2, 95.85, 15.1, 95.85]], ["C", [11.8, 95.85, 9.8, 93.65]], ["C", [7.8, 91.45, 7.8, 87.15]], ["L", [7.8, 31.95]], ["C", [7.8, 27.15, 10, 25.1]], ["C", [12.2, 23.05, 17, 23.05]], ["L", [35.6, 23.05]], ["C", [43.85, 23.05, 48.3, 24.35]], ["C", [52.7, 25.55, 55.9, 28.4]]]; __motifs["Q"] = [["M", [50.15, 36.35]], ["C", [45.4, 33.35, 39.3, 33.35]], ["C", [34.95, 33.35, 31.3, 35.05]], ["C", [27.6, 36.65, 24.95, 39.75]], ["C", [22.25, 42.9, 20.75, 47.8]], ["C", [19.2, 52.6, 19.2, 58.65]], ["C", [19.2, 71, 24.95, 77.7]], ["C", [30.7, 84.35, 39.5, 84.35]], ["C", [43.1, 84.35, 46.9, 82.85]], ["C", [44.65, 81.1, 41.2, 79.4]], ["C", [37.75, 77.7, 36.45, 76.8]], ["C", [35.2, 75.85, 35.2, 74.15]], ["C", [35.2, 72.7, 36.45, 71.55]], ["C", [37.65, 70.45, 39.1, 70.45]], ["C", [43.55, 70.45, 54, 77.85]], ["C", [57.05, 74.4, 58.5, 69.65]], ["C", [59.9, 64.9, 59.9, 58.65]], ["C", [59.9, 50.8, 57.35, 45.05]], ["C", [54.85, 39.3, 50.15, 36.35]], ["M", [70.5, 39.25]], ["C", [74.6, 47.55, 74.6, 58.75]], ["C", [74.6, 75.8, 65.4, 85.75]], ["C", [68.55, 87.9, 72.3, 89.95]], ["C", [76.05, 91.95, 77.3, 93.2]], ["C", [78.5, 94.35, 78.5, 96.55]], ["C", [78.5, 98.1, 77.1, 99.7]], ["C", [75.65, 101.25, 73.6, 101.25]], ["C", [71.9, 101.25, 69.6, 100.15]], ["C", [67.2, 99.1, 64, 97.05]], ["C", [60.8, 95, 57, 92.25]], ["C", [49.9, 95.85, 39.6, 95.85]], ["C", [31.25, 95.85, 24.65, 93.25]], ["C", [18, 90.55, 13.55, 85.55]], ["C", [9.05, 80.55, 6.8, 73.65]], ["C", [4.5, 66.75, 4.5, 58.65]], ["C", [4.5, 50.4, 6.9, 43.55]], ["C", [9.25, 36.65, 13.7, 31.8]], ["C", [18.2, 26.95, 24.65, 24.45]], ["C", [31.1, 21.85, 39.3, 21.85]], ["C", [50.45, 21.85, 58.45, 26.4]], ["C", [66.4, 30.9, 70.5, 39.25]]]; __motifs["R"] = [["M", [49.8, 38.45]], ["C", [48.3, 36.15, 45.6, 35.05]], ["C", [43.05, 33.95, 35.6, 33.95]], ["L", [22.2, 33.95]], ["L", [22.2, 53.65]], ["L", [35.2, 53.65]], ["C", [40.45, 53.65, 44, 52.75]], ["C", [47.55, 51.85, 49.45, 49.7]], ["C", [51.3, 47.5, 51.3, 43.65]], ["C", [51.3, 40.7, 49.8, 38.45]], ["M", [54.8, 25.15]], ["C", [58.15, 26.6, 60.75, 29.2]], ["C", [63.35, 31.85, 64.7, 35.35]], ["C", [66, 38.85, 66, 42.75]], ["C", [66, 50.75, 61.5, 55.55]], ["C", [57, 60.3, 47.8, 62.35]], ["C", [51.65, 64.4, 55.2, 68.4]], ["C", [58.7, 72.4, 61.45, 76.95]], ["C", [64.2, 81.4, 65.75, 85.1]], ["C", [67.3, 88.7, 67.3, 90.05]], ["C", [67.3, 91.5, 66.4, 92.9]], ["C", [65.5, 94.25, 63.9, 95.1]], ["C", [62.35, 95.85, 60.3, 95.85]], ["C", [57.85, 95.85, 56.2, 94.75]], ["C", [54.55, 93.6, 53.35, 91.8]], ["C", [52.15, 90.05, 50.1, 86.65]], ["L", [44.3, 76.95]], ["C", [41.15, 71.65, 38.7, 68.85]], ["C", [36.25, 66.1, 33.7, 65.05]], ["C", [31.15, 64.05, 27.3, 64.05]], ["L", [22.2, 64.05]], ["L", [22.2, 87.05]], ["C", [22.2, 91.55, 20.2, 93.7]], ["C", [18.2, 95.85, 15, 95.85]], ["C", [11.5, 95.85, 9.6, 93.6]], ["C", [7.7, 91.4, 7.7, 87.05]], ["L", [7.7, 31.95]], ["C", [7.7, 27.25, 9.8, 25.15]], ["C", [11.9, 23.05, 16.6, 23.05]], ["L", [40.2, 23.05]], ["C", [45.05, 23.05, 48.55, 23.5]], ["C", [52, 23.9, 54.8, 25.15]]]; __motifs["S"] = [["M", [53, 27.85]], ["C", [56.15, 30.55, 57.6, 33.5]], ["C", [59.1, 36.5, 59.1, 39.35]], ["C", [59.1, 41.9, 57.3, 44]], ["C", [55.4, 46.05, 52.7, 46.05]], ["C", [50.2, 46.05, 48.95, 44.85]], ["C", [47.6, 43.6, 46.1, 40.75]], ["C", [44.15, 36.7, 41.4, 34.45]], ["C", [38.65, 32.15, 32.6, 32.15]], ["C", [27, 32.15, 23.6, 34.65]], ["C", [20.1, 37.1, 20.1, 40.55]], ["C", [20.1, 42.7, 21.3, 44.25]], ["C", [22.45, 45.8, 24.5, 46.95]], ["C", [26.55, 48.05, 28.65, 48.7]], ["C", [30.75, 49.35, 35.6, 50.55]], ["C", [41.65, 51.95, 46.6, 53.7]], ["C", [51.45, 55.4, 54.95, 57.85]], ["C", [58.35, 60.3, 60.3, 64.05]], ["C", [62.2, 67.75, 62.2, 73.15]], ["C", [62.2, 79.65, 58.9, 84.85]], ["C", [55.5, 90, 49.05, 92.95]], ["C", [42.65, 95.85, 33.8, 95.85]], ["C", [23.2, 95.85, 16.3, 91.85]], ["C", [11.45, 89, 8.4, 84.2]], ["C", [5.3, 79.35, 5.3, 74.85]], ["C", [5.3, 72.2, 7.2, 70.35]], ["C", [9, 68.45, 11.8, 68.45]], ["C", [14.1, 68.45, 15.7, 69.9]], ["C", [17.3, 71.35, 18.4, 74.25]], ["C", [19.8, 77.65, 21.4, 79.95]], ["C", [22.95, 82.25, 25.85, 83.75]], ["C", [28.7, 85.25, 33.4, 85.25]], ["C", [39.85, 85.25, 43.9, 82.25]], ["C", [47.9, 79.2, 47.9, 74.75]], ["C", [47.9, 71.15, 45.75, 68.95]], ["C", [43.55, 66.7, 40.15, 65.55]], ["C", [36.65, 64.4, 30.9, 63.05]], ["C", [23.2, 61.25, 18, 58.85]], ["C", [12.8, 56.4, 9.75, 52.25]], ["C", [6.7, 48.05, 6.7, 41.85]], ["C", [6.7, 35.95, 9.9, 31.35]], ["C", [13.15, 26.8, 19.25, 24.35]], ["C", [25.35, 21.85, 33.6, 21.85]], ["C", [40.2, 21.85, 45, 23.5]], ["C", [49.8, 25.1, 53, 27.85]]]; __motifs["T"] = [["M", [59.9, 24.75]], ["C", [61.7, 26.4, 61.7, 29.05]], ["C", [61.7, 31.75, 59.85, 33.4]], ["C", [58, 35.05, 54.3, 35.05]], ["L", [38.5, 35.05]], ["L", [38.5, 87.05]], ["C", [38.5, 91.55, 36.45, 93.7]], ["C", [34.45, 95.85, 31.3, 95.85]], ["C", [28.1, 95.85, 26.05, 93.65]], ["C", [24, 91.5, 24, 87.05]], ["L", [24, 35.05]], ["L", [8.2, 35.05]], ["C", [4.5, 35.05, 2.7, 33.4]], ["C", [0.9, 31.75, 0.9, 29.05]], ["C", [0.9, 26.3, 2.8, 24.7]], ["C", [4.65, 23.05, 8.2, 23.05]], ["L", [54.3, 23.05]], ["C", [58.05, 23.05, 59.9, 24.75]]]; __motifs["U"] = [["M", [55.55, 24.05]], ["C", [57.5, 21.85, 60.8, 21.85]], ["C", [64.05, 21.85, 66.1, 24.05]], ["C", [68.1, 26.2, 68.1, 30.65]], ["L", [68.1, 65.05]], ["C", [68.1, 73.45, 66.5, 79.05]], ["C", [64.85, 84.7, 60.3, 88.95]], ["C", [56.4, 92.55, 51.2, 94.2]], ["C", [46.05, 95.85, 39.1, 95.85]], ["C", [30.85, 95.85, 24.9, 94.1]], ["C", [18.95, 92.3, 15.2, 88.6]], ["C", [11.45, 84.85, 9.65, 79.05]], ["C", [7.9, 73.15, 7.9, 65.05]], ["L", [7.9, 30.65]], ["C", [7.9, 26.25, 9.9, 24.05]], ["C", [11.85, 21.85, 15.1, 21.85]], ["C", [18.45, 21.85, 20.45, 24.05]], ["C", [22.4, 26.25, 22.4, 30.65]], ["L", [22.4, 65.85]], ["C", [22.4, 71.85, 23.8, 75.9]], ["C", [25.1, 79.9, 28.5, 82.15]], ["C", [31.95, 84.35, 38.1, 84.35]], ["C", [46.6, 84.35, 50.1, 79.85]], ["C", [53.6, 75.3, 53.6, 66.15]], ["L", [53.6, 30.65]], ["C", [53.6, 26.2, 55.55, 24.05]]]; __motifs["V"] = [["M", [58.9, 21.85]], ["C", [60.75, 21.85, 62.35, 22.8]], ["C", [63.9, 23.7, 64.85, 25.25]], ["C", [65.7, 26.8, 65.7, 28.35]], ["C", [65.7, 29.4, 65.45, 30.7]], ["C", [65.15, 31.9, 64.7, 33.15]], ["C", [64.25, 34.3, 63.8, 35.55]], ["L", [46.5, 82.35]], ["C", [45.55, 85.05, 44.65, 87.45]], ["C", [43.7, 89.85, 42.5, 91.7]], ["C", [41.25, 93.55, 39.25, 94.7]], ["C", [37.2, 95.85, 34.3, 95.85]], ["C", [31.35, 95.85, 29.35, 94.75]], ["C", [27.3, 93.6, 26.05, 91.7]], ["C", [24.8, 89.8, 23.9, 87.4]], ["C", [22.95, 85.05, 22, 82.35]], ["L", [5, 35.95]], ["C", [4.55, 34.7, 4.1, 33.45]], ["C", [3.6, 32.25, 3.3, 30.85]], ["C", [3, 29.4, 3, 28.45]], ["C", [3, 25.95, 5, 23.9]], ["C", [7, 21.85, 10, 21.85]], ["C", [13.7, 21.85, 15.3, 24.15]], ["C", [16.8, 26.4, 18.4, 31.35]], ["L", [34.6, 79.35]], ["L", [50.9, 31.05]], ["C", [52.15, 27.2, 52.8, 25.75]], ["C", [53.4, 24.25, 54.9, 23.05]], ["C", [56.35, 21.85, 58.9, 21.85]]]; __motifs["W"] = [["M", [90.05, 23.75]], ["C", [92, 25.6, 92, 28.45]], ["C", [92, 30.45, 90.9, 34.85]], ["L", [79, 83.05]], ["C", [77.8, 87.9, 77, 90.2]], ["C", [76.15, 92.45, 74.25, 94.15]], ["C", [72.3, 95.85, 68.8, 95.85]], ["C", [65.5, 95.85, 63.5, 94.2]], ["C", [61.45, 92.55, 60.7, 90.5]], ["C", [59.9, 88.4, 58.5, 83.35]], ["L", [46.9, 40.45]], ["L", [35.2, 83.35]], ["C", [33.85, 88.25, 33.05, 90.4]], ["C", [32.25, 92.5, 30.2, 94.2]], ["C", [28.2, 95.85, 24.9, 95.85]], ["C", [22.2, 95.85, 20.5, 94.9]], ["C", [18.75, 93.85, 17.7, 92.05]], ["C", [16.6, 90.2, 15.9, 87.7]], ["C", [15.25, 85.2, 14.7, 83.05]], ["L", [2.8, 34.85]], ["C", [1.7, 30.65, 1.7, 28.45]], ["C", [1.7, 25.65, 3.65, 23.75]], ["C", [5.6, 21.85, 8.5, 21.85]], ["C", [12.45, 21.85, 13.8, 24.4]], ["C", [15.2, 26.95, 16.2, 31.75]], ["L", [25.6, 73.55]], ["L", [36.1, 34.45]], ["C", [37.25, 29.95, 38.2, 27.6]], ["C", [39.1, 25.25, 41.2, 23.55]], ["C", [43.3, 21.85, 46.9, 21.85]], ["C", [50.6, 21.85, 52.65, 23.65]], ["C", [54.65, 25.4, 55.4, 27.5]], ["C", [56.2, 29.6, 57.5, 34.45]], ["L", [68.1, 73.55]], ["L", [77.5, 31.75]], ["C", [78.15, 28.5, 78.8, 26.65]], ["C", [79.4, 24.8, 80.9, 23.3]], ["C", [82.35, 21.85, 85.2, 21.85]], ["C", [88.05, 21.85, 90.05, 23.75]]]; __motifs["X"] = [["M", [44.25, 26.5]], ["C", [45.2, 24.9, 46.15, 23.9]], ["C", [47.05, 22.85, 48.25, 22.4]], ["C", [49.35, 21.85, 50.9, 21.85]], ["C", [53.6, 21.85, 55.35, 23.5]], ["C", [57.1, 25.1, 57.1, 27.35]], ["C", [57.1, 30.65, 53.3, 36.25]], ["L", [39.2, 57.35]], ["L", [54.4, 80.75]], ["C", [56.45, 83.8, 57.35, 85.85]], ["C", [58.3, 87.85, 58.3, 89.65]], ["C", [58.3, 91.4, 57.45, 92.8]], ["C", [56.65, 94.2, 55.15, 95.05]], ["C", [53.6, 95.85, 51.7, 95.85]], ["C", [49.65, 95.85, 48.25, 95.05]], ["C", [46.85, 94.15, 45.95, 92.9]], ["C", [45.05, 91.6, 42.7, 87.95]], ["L", [30.1, 68.15]], ["L", [16.7, 88.55]], ["C", [15.15, 91, 14.5, 91.95]], ["C", [13.8, 92.95, 12.9, 93.85]], ["C", [11.95, 94.8, 10.7, 95.35]], ["C", [9.4, 95.85, 7.7, 95.85]], ["C", [5.1, 95.85, 3.35, 94.25]], ["C", [1.6, 92.65, 1.6, 89.55]], ["C", [1.6, 85.95, 5.2, 80.75]], ["L", [21.2, 57.35]], ["L", [7.7, 36.55]], ["C", [5.8, 33.5, 4.9, 31.35]], ["C", [3.9, 29.15, 3.9, 27.15]], ["C", [3.9, 25.1, 5.75, 23.5]], ["C", [7.55, 21.85, 10.2, 21.85]], ["C", [13.25, 21.85, 14.95, 23.65]], ["C", [16.6, 25.4, 19.6, 30.25]], ["L", [30.3, 47.65]], ["L", [41.8, 30.25]], ["C", [43.2, 28.05, 44.25, 26.5]]]; __motifs["Y"] = [["M", [46.9, 26.9]], ["C", [47.7, 25.5, 48.75, 24.35]], ["C", [49.7, 23.1, 50.95, 22.5]], ["C", [52.15, 21.85, 53.9, 21.85]], ["C", [56.65, 21.85, 58.5, 23.65]], ["C", [60.3, 25.4, 60.3, 27.75]], ["C", [60.3, 29.65, 59.4, 31.55]], ["C", [58.45, 33.45, 56.2, 36.85]], ["L", [38.3, 64.35]], ["L", [38.3, 87.05]], ["C", [38.3, 91.5, 36.25, 93.65]], ["C", [34.2, 95.85, 31, 95.85]], ["C", [27.8, 95.85, 25.8, 93.7]], ["C", [23.8, 91.55, 23.8, 87.05]], ["L", [23.8, 64.35]], ["L", [6.3, 37.25]], ["C", [4, 33.55, 3.1, 31.5]], ["C", [2.1, 29.45, 2.1, 27.95]], ["C", [2.1, 25.45, 4.05, 23.65]], ["C", [5.95, 21.85, 8.8, 21.85]], ["C", [11.75, 21.85, 13.35, 23.55]], ["C", [14.85, 25.2, 17.9, 30.25]], ["L", [31.3, 51.95]], ["L", [44.8, 30.25]], ["C", [46.05, 28.25, 46.9, 26.9]]]; __motifs["Z"] = [["M", [59.7, 30.45]], ["C", [59.7, 33.95, 58.4, 36.05]], ["C", [57.1, 38.15, 53.1, 42.85]], ["L", [18.7, 83.75]], ["L", [56.6, 83.75]], ["C", [59.95, 83.75, 61.6, 85.2]], ["C", [63.3, 86.55, 63.3, 89.05]], ["C", [63.3, 91.6, 61.6, 93.15]], ["C", [59.95, 94.65, 56.6, 94.65]], ["L", [10.1, 94.65]], ["C", [5.35, 94.65, 3, 92.55]], ["C", [0.6, 90.4, 0.6, 86.85]], ["C", [0.6, 85.6, 1, 84.6]], ["C", [1.35, 83.55, 2.05, 82.7]], ["C", [2.7, 81.75, 3.85, 80.4]], ["C", [5.05, 79, 5.9, 77.95]], ["L", [42.7, 33.95]], ["L", [11.1, 33.95]], ["C", [7.75, 33.95, 6.1, 32.5]], ["C", [4.4, 31.05, 4.4, 28.65]], ["C", [4.4, 26.15, 6.1, 24.65]], ["C", [7.75, 23.05, 11.1, 23.05]], ["L", [51.8, 23.05]], ["C", [59.7, 23.05, 59.7, 30.45]]]; } private static function initializeWidthsPunctuation():void{ __widths[" "] = 25; __widths["!"] = 33; __widths["\""] = 48; __widths["#"] = 55; __widths["$"] = 59; __widths["%"] = 85; __widths["&"] = 76; __widths["'"] = 24; __widths["("] = 35; __widths[")"] = 35; __widths["*"] = 44; __widths["+"] = 58; __widths[","] = 31; __widths["-"] = 33; __widths["."] = 31; __widths["/"] = 28; __widths[":"] = 31; __widths[";"] = 31; __widths["<"] = 58; __widths["="] = 58; __widths[">"] = 58; __widths["?"] = 57; __widths["@"] = 98; __widths["["] = 35; __widths["\\"] = 28; __widths["]"] = 35; __widths["^"] = 58; __widths["_"] = 50; __widths["`"] = 33; } } }//package five3D.typography
Section 14
//Cards (five3D.typography.Cards) package five3D.typography { public class Cards { public static var __motifs:Object = {}; public static var __initialized:Boolean = false; public static var __heights:Number = 106; public static var __widths:Object = {}; public static function initialize():void{ initializeMotifs(); initializeWidths(); __initialized = true; } private static function initializeMotifs():void{ __motifs["h"] = [["M", [33.45, 26.75]], ["C", [37.45, 16.1, 47.75, 16.1]], ["C", [54.7, 16.1, 58.35, 21.4]], ["C", [61.5, 26, 61.5, 33.25]], ["C", [61.5, 43, 52.7, 54.35]], ["L", [40.95, 69.5]], ["L", [30.35, 84.6]], ["C", [23.6, 74.4, 19.8, 69.5]], ["L", [8.05, 54.35]], ["C", [-1.25, 43, -1.25, 33.25]], ["C", [-1.25, 26, 2.35, 21.4]], ["C", [5.95, 16.1, 3, 16.1]], ["C", [23.4, 16.1, 27.15, 26.75]], ["C", [28.85, 31.6, 30.35, 31.7]], ["C", [31.7, 31.7, 33.45, 26.75]]]; __motifs["d"] = [["M", [27.4, 85.1]], ["L", [-1.3, 49.5]], ["L", [27.4, 14.1]], ["L", [54.75, 49.5]], ["L", [27.4, 85.1]]]; __motifs["c"] = [["M", [68.9, 59.1]], ["C", [68.9, 65.3, 65.7, 69.2]], ["C", [62.3, 73.4, 56.2, 73.4]], ["C", [51.6, 73.4, 47.9, 70.8]], ["C", [46.65, 69.9, 42.9, 65.9]], ["C", [40.7, 63.5, 39, 63.3]], ["C", [37.1, 63.3, 37.1, 69.4]], ["C", [37.1, 75.6, 38.9, 79.2]], ["L", [41.8, 83.8]], ["L", [26.3, 83.8]], ["L", [29.1, 79.25]], ["C", [31.1, 76.05, 31.1, 69.35]], ["C", [31.1, 63.3, 29.3, 63.3]], ["C", [27.7, 63.3, 25.3, 65.95]], ["C", [21.9, 69.65, 20.3, 70.75]], ["C", [16.6, 73.4, 11.8, 73.4]], ["C", [5.6, 73.4, 2.3, 69.1]], ["C", [-1.3, 65.2, -1.3, 58.9]], ["C", [-1.3, 54.7, 1.1, 49.95]], ["C", [3.8, 43, 12.65, 43]], ["C", [16.5, 43, 19.9, 44.95]], ["L", [24.5, 47.55]], ["C", [26.3, 48.4, 27.95, 48.6]], ["C", [29.85, 48.6, 29.85, 46.8]], ["C", [29.85, 45.45, 28.85, 44.4]], ["C", [22.15, 40.7, 19.55, 34.35]], ["C", [18.55, 31.95, 18.55, 29.5]], ["C", [18.55, 23, 23.25, 19.4]], ["C", [27.45, 16.1, 34.15, 16.1]], ["C", [40.8, 16.1, 45, 19.4]], ["C", [49.7, 23.05, 49.7, 29.6]], ["C", [49.7, 32, 48.75, 34.3]], ["C", [46.55, 39.35, 43.7, 41.25]], ["L", [39.4, 44.3]], ["C", [38.6, 45.35, 38.45, 46.8]], ["C", [38.45, 48.6, 40.35, 48.6]], ["C", [41.85, 48.6, 43.75, 47.45]], ["L", [48.25, 44.9]], ["C", [51.5, 43, 55.5, 43]], ["C", [64.3, 43, 67.05, 49.95]], ["C", [68.9, 54.9, 68.9, 59.1]]]; __motifs["s"] = [["M", [37.85, 24.2]], ["C", [39.55, 26.7, 44.7, 33.6]], ["L", [58.15, 51.6]], ["C", [60.65, 54.9, 61.65, 61.4]], ["L", [61.75, 63.2]], ["C", [61.95, 67.5, 59.4, 71.7]], ["C", [56.45, 76.2, 52.25, 76.6]], ["L", [50.25, 76.8]], ["C", [43.65, 76.8, 39.35, 66.2]], ["C", [38.25, 63.5, 36.7, 63.5]], ["C", [33.85, 63.5, 33.85, 70.4]], ["C", [33.85, 75.7, 35.85, 79.7]], ["L", [38.6, 83.8]], ["L", [22.55, 83.8]], ["L", [24.35, 81.3]], ["C", [27.25, 77.3, 27.25, 70.4]], ["C", [27.25, 63.5, 24.35, 63.5]], ["C", [22.75, 63.5, 21.65, 66.2]], ["C", [19.45, 71.5, 17.85, 73.4]], ["C", [15.05, 76.8, 10.75, 76.8]], ["L", [8.75, 76.6]], ["C", [4.45, 76.2, 1.65, 71.8]], ["C", [-1.15, 67.9, -1.35, 63.4]], ["L", [-1.45, 61.4]], ["C", [-1.75, 55.5, 2.8, 51.6]], ["L", [19.85, 28.9]], ["C", [21.7, 26.4, 30.55, 13]], ["L", [37.85, 24.2]]]; } private static function initializeWidths():void{ __widths["h"] = 69; __widths["d"] = 62; __widths["c"] = 77; __widths["s"] = 69; } } }//package five3D.typography
Section 15
//Chickabiddies (five3D.typography.Chickabiddies) package five3D.typography { public class Chickabiddies { public static var __motifs:Object = {}; public static var __heights:Number = 102; public static var __widths:Object = {}; public static var __shifts:Object = {}; public static var __initialized:Boolean = false; private static function initializeShifts():void{ __shifts["h"] = -10; __shifts["d"] = -10; __shifts["c"] = -10; __shifts["s"] = -10; } public static function initialize():void{ initializeMotifs(); initializeWidths(); initializeShifts(); __initialized = true; } private static function initializeMotifs():void{ __motifs["q"] = [["M", [59.25, 56.1]], ["C", [62.3, 56.1, 62.3, 59.2]], ["C", [62.3, 62.3, 59.25, 62.3]], ["C", [56.1, 62.3, 56.1, 59.2]], ["C", [56.1, 56.1, 59.25, 56.1]], ["M", [62.7, 69.55]], ["C", [64.1, 70.9, 66.1, 70.9]], ["C", [68.1, 70.9, 69.5, 69.55]], ["C", [70.9, 68.3, 70.9, 66.3]], ["L", [70.9, 65.3]], ["L", [72.9, 65.3]], ["L", [72.9, 66.3]], ["C", [72.9, 69.1, 70.9, 71]], ["C", [68.9, 72.9, 66.1, 72.9]], ["C", [63.25, 72.9, 61.25, 71.05]], ["C", [59.25, 69.2, 59.25, 66.3]], ["L", [59.25, 65.3]], ["L", [61.25, 65.3]], ["L", [61.25, 66.3]], ["C", [61.25, 68.3, 62.7, 69.55]], ["M", [76.4, 59.2]], ["C", [76.4, 62.3, 73.35, 62.3]], ["C", [70.2, 62.3, 70.2, 59.2]], ["C", [70.2, 56.1, 73.35, 56.1]], ["C", [76.4, 56.1, 76.4, 59.2]], ["M", [85, 45.6]], ["C", [80.2, 45.6, 76.4, 47.3]], ["C", [73.85, 48.55, 71.75, 48.55]], ["C", [69.55, 48.55, 67.95, 47]], ["C", [66.4, 45.5, 66.1, 43.3]], ["C", [65.45, 48.55, 60.85, 48.55]], ["C", [58.95, 48.55, 56.2, 47.3]], ["C", [52.75, 45.7, 48.15, 45.7]], ["C", [39.65, 45.7, 35.2, 49.1]], ["C", [34.25, 52.1, 34.25, 55.2]], ["C", [34.25, 66.4, 44.9, 73.4]], ["C", [54.45, 79.6, 66.1, 79.6]], ["C", [77.95, 79.6, 87.2, 73.4]], ["C", [97.9, 66.4, 97.9, 55.2]], ["C", [97.9, 51.9, 96.7, 48.7]], ["C", [92.65, 45.6, 85, 45.6]], ["M", [100.1, 44.9]], ["C", [103.7, 37, 110, 37]], ["C", [115.9, 37, 119.35, 43.5]], ["C", [122.1, 48.8, 122.1, 55.2]], ["C", [122.1, 61.6, 119.35, 66.9]], ["C", [115.9, 73.4, 110, 73.4]], ["C", [103.7, 73.4, 100.1, 65.5]], ["C", [95.7, 74.4, 85.85, 79.5]], ["C", [76.7, 84.1, 66.1, 84.1]], ["C", [55.5, 84.1, 46.45, 79.5]], ["C", [36.5, 74.4, 32.15, 65.5]], ["C", [28.5, 73.4, 22.1, 73.4]], ["C", [16.3, 73.4, 12.8, 66.9]], ["C", [10, 61.5, 10, 55.2]], ["C", [10, 48.8, 12.8, 43.5]], ["C", [16.2, 37, 22.1, 37]], ["C", [28.5, 37, 32.15, 44.9]], ["C", [36.45, 35.95, 46.45, 30.9]], ["C", [55.4, 26.3, 66.1, 26.3]], ["C", [76.8, 26.3, 85.85, 30.9]], ["C", [95.8, 35.95, 100.1, 44.9]]]; __motifs["w"] = [["M", [37.55, 39.85]], ["C", [37.3, 39.7, 37.1, 39.7]], ["C", [36.4, 39.7, 35.6, 40.7]], ["C", [34.5, 42.2, 35.3, 42.8]], ["C", [36, 43.4, 37.1, 41.9]], ["C", [37.8, 41, 37.8, 40.4]], ["C", [37.8, 40, 37.55, 39.85]], ["M", [39.1, 40.3]], ["C", [39.2, 41.8, 38.05, 43.05]], ["C", [36.9, 44.3, 35.4, 44.3]], ["C", [33.7, 44.3, 33.6, 42.3]], ["C", [33.5, 39.2, 36.6, 38.4]], ["C", [37.7, 38.1, 38.4, 38.65]], ["C", [39.1, 39.2, 39.1, 40.3]], ["M", [58.1, 29.6]], ["L", [62, 32.1]], ["L", [62.6, 27.2]], ["L", [58, 25.4]], ["L", [58.1, 29.6]], ["M", [63.2, 34.7]], ["L", [56.7, 30.5]], ["L", [56.5, 23.2]], ["L", [64.2, 26.2]], ["L", [63.2, 34.7]], ["M", [42.4, 31.9]], ["L", [41.8, 37.1]], ["L", [45.6, 39.4]], ["L", [46.5, 34.9]], ["L", [42.4, 31.9]], ["M", [48.2, 34.3]], ["L", [46.7, 41.8]], ["L", [40.2, 37.8]], ["L", [41.3, 29.1]], ["L", [48.2, 34.3]], ["M", [51.7, 35.2]], ["C", [53, 35.6, 53.8, 33.2]], ["C", [54.1, 32.3, 54.1, 31.7]], ["C", [54.1, 30.6, 53.3, 30.4]], ["C", [52, 30, 51.2, 32.4]], ["C", [50.9, 33.3, 50.9, 33.9]], ["C", [50.9, 35, 51.7, 35.2]], ["M", [53.7, 28.9]], ["C", [55.5, 29.5, 55.5, 32.1]], ["C", [55.5, 34.8, 53.5, 36.1]], ["C", [52.2, 36.9, 51.2, 36.6]], ["C", [49.5, 36.1, 49.5, 33.5]], ["C", [49.5, 30.9, 51.5, 29.4]], ["C", [52.7, 28.6, 53.7, 28.9]], ["M", [68.6, 25.2]], ["C", [68, 25.9, 69.1, 26.8]], ["C", [69.6, 27.3, 70, 27.3]], ["C", [70.9, 27.3, 70.9, 26.3]], ["C", [70.9, 25.6, 70.1, 25.1]], ["C", [69.2, 24.5, 68.6, 25.2]], ["M", [71.45, 24.2]], ["C", [72.4, 25.1, 72.4, 26.3]], ["C", [72.4, 28.7, 70, 28.7]], ["C", [68.8, 28.7, 67.85, 27.8]], ["C", [66.9, 26.9, 66.9, 25.7]], ["C", [66.9, 23.3, 69.3, 23.3]], ["C", [70.5, 23.3, 71.45, 24.2]], ["M", [62.1, 24.5]], ["L", [36.2, 7]], ["L", [38.2, 34.7]], ["L", [16.2, 35.9]], ["L", [31.1, 49.2]], ["L", [76.4, 29.3]], ["L", [73.6, 8.8]], ["L", [62.1, 24.5]], ["M", [53.5, 59.4]], ["C", [52.7, 61.5, 51.2, 61.5]], ["C", [48.4, 61.5, 48.4, 56]], ["C", [48.4, 54.3, 49, 52.7]], ["C", [49.8, 50.5, 51.2, 50.5]], ["C", [52.7, 50.5, 53.5, 52.6]], ["C", [54.1, 54.3, 54.1, 56]], ["C", [54.1, 57.8, 53.5, 59.4]], ["M", [76.9, 70.3]], ["L", [74.8, 67.9]], ["C", [72.8, 69.5, 72.8, 71.3]], ["C", [72.8, 73.4, 75.3, 73.4]], ["C", [77.3, 73.4, 79.2, 71.85]], ["C", [81.1, 70.3, 81.1, 68.4]], ["C", [81.1, 66.7, 79.6, 66.4]], ["C", [78.2, 66.1, 76.7, 66.7]], ["L", [76.9, 70.3]], ["M", [68.8, 62.5]], ["C", [71.9, 60.3, 75.4, 60.3]], ["C", [78.5, 60.3, 80.5, 62.05]], ["C", [82.5, 63.8, 82.5, 66.8]], ["C", [82.5, 71.8, 77.7, 75.2]], ["C", [74.6, 77.4, 71.1, 77.4]], ["C", [68, 77.4, 66, 75.6]], ["C", [64, 73.8, 64, 70.8]], ["C", [64, 65.9, 68.8, 62.5]], ["M", [64.1, 56]], ["C", [64.1, 57.8, 63.5, 59.4]], ["C", [62.7, 61.5, 61.2, 61.5]], ["C", [59.8, 61.5, 59, 59.3]], ["C", [58.4, 57.7, 58.4, 56]], ["C", [58.4, 54.3, 59, 52.7]], ["C", [59.8, 50.5, 61.2, 50.5]], ["C", [62.7, 50.5, 63.5, 52.6]], ["C", [64.1, 54.3, 64.1, 56]], ["M", [97.7, 55.2]], ["C", [97.7, 46.8, 91, 40.3]], ["C", [85, 34.5, 76.3, 32.1]], ["L", [34.6, 50.4]], ["C", [34, 52.8, 34, 55.2]], ["C", [34, 66.4, 44.7, 73.4]], ["C", [54.2, 79.6, 65.9, 79.6]], ["C", [77.7, 79.6, 87, 73.4]], ["C", [97.7, 66.4, 97.7, 55.2]], ["M", [90.2, 76.6]], ["C", [79.5, 84.1, 65.9, 84.1]], ["C", [52.2, 84.1, 41.5, 76.7]], ["C", [29.5, 68.3, 29.5, 55.2]], ["C", [29.5, 53.3, 29.8, 51.4]], ["L", [10, 33.7]], ["L", [35.5, 32.4]], ["L", [33.4, 2]], ["L", [61.5, 21.1]], ["L", [75.2, 2.3]], ["L", [78.8, 28.2]], ["C", [88.7, 31.1, 95.1, 38]], ["C", [102.2, 45.5, 102.2, 55.2]], ["C", [102.2, 68.3, 90.2, 76.6]]]; __motifs["e"] = [["M", [57.9, 73.7]], ["L", [56.6, 74.7]], ["C", [55.8, 72.2, 53.4, 72.2]], ["C", [51.9, 72.2, 50.4, 76.5]], ["L", [47.5, 77]], ["C", [49.6, 70.5, 53.2, 70.5]], ["C", [55.7, 70.5, 57.9, 73.7]], ["M", [28.8, 53.1]], ["L", [28.8, 53.3]], ["C", [28.8, 57.2, 32.2, 59.7]], ["C", [35.3, 61.9, 39.4, 61.9]], ["C", [43.5, 61.9, 46.75, 59.55]], ["C", [50, 57.2, 50, 53.3]], ["L", [50, 53.1]], ["L", [44.8, 53.1]], ["C", [44.7, 56.2, 41.7, 56.2]], ["C", [38.7, 56.2, 38.5, 53.1]], ["L", [28.8, 53.1]], ["M", [32.9, 46.5]], ["C", [29.7, 48.5, 28.9, 51.8]], ["L", [49.8, 51.8]], ["C", [49, 48.5, 46, 46.6]], ["C", [43, 44.7, 39.4, 44.7]], ["C", [35.8, 44.7, 32.9, 46.5]], ["M", [39.4, 43.2]], ["C", [44.1, 43.2, 47.6, 45.9]], ["C", [51.5, 48.8, 51.5, 53.3]], ["C", [51.5, 58, 47.8, 61.7]], ["C", [44.1, 65.4, 39.4, 65.4]], ["C", [34.7, 65.4, 30.8, 61.4]], ["C", [27.3, 57.7, 27.3, 53.3]], ["C", [27.3, 48.8, 31.2, 45.9]], ["C", [34.7, 43.2, 39.4, 43.2]], ["M", [75.2, 53.3]], ["L", [75.2, 53.1]], ["L", [65.5, 53.1]], ["C", [65.3, 56.2, 62.3, 56.2]], ["C", [59.3, 56.2, 59.2, 53.1]], ["L", [54, 53.1]], ["L", [54, 53.3]], ["C", [54, 57.2, 57.4, 59.7]], ["C", [60.5, 61.9, 64.6, 61.9]], ["C", [68.7, 61.9, 71.95, 59.55]], ["C", [75.2, 57.2, 75.2, 53.3]], ["M", [64.6, 44.7]], ["C", [61, 44.7, 58, 46.6]], ["C", [55, 48.5, 54.2, 51.8]], ["L", [75.1, 51.8]], ["C", [74.3, 48.5, 71.25, 46.6]], ["C", [68.2, 44.7, 64.6, 44.7]], ["M", [64.6, 43.2]], ["C", [69.3, 43.2, 72.8, 45.9]], ["C", [76.7, 48.8, 76.7, 53.3]], ["C", [76.7, 57.8, 72.8, 61.8]], ["C", [69.2, 65.4, 64.6, 65.4]], ["C", [59.9, 65.4, 56.2, 61.7]], ["C", [52.5, 58, 52.5, 53.3]], ["C", [52.5, 48.8, 56.4, 45.9]], ["C", [59.9, 43.2, 64.6, 43.2]], ["M", [46.4, 30.8]], ["C", [34.6, 30.8, 25.2, 37]], ["C", [14.5, 44, 14.5, 55.2]], ["C", [14.5, 66.4, 25.2, 73.4]], ["C", [34.7, 79.6, 46.4, 79.6]], ["C", [58.2, 79.6, 67.5, 73.4]], ["C", [78.2, 66.4, 78.2, 55.2]], ["C", [78.2, 44, 67.5, 37]], ["C", [58.2, 30.8, 46.4, 30.8]], ["M", [70.8, 33.7]], ["C", [82.7, 42, 82.7, 55.2]], ["C", [82.7, 68.3, 70.7, 76.6]], ["C", [60, 84.1, 46.4, 84.1]], ["C", [32.7, 84.1, 22, 76.7]], ["C", [10, 68.3, 10, 55.2]], ["C", [10, 42, 22, 33.7]], ["C", [32.7, 26.3, 46.4, 26.3]], ["C", [60.1, 26.3, 70.8, 33.7]]]; __motifs["r"] = [["M", [22, 27.7]], ["C", [20.7, 31.1, 20.7, 34.5]], ["C", [20.7, 39.3, 23.3, 42.3]], ["C", [24.2, 42.5, 25, 42.5]], ["C", [28.3, 42.5, 29.1, 38.4]], ["C", [22.8, 34.2, 22.1, 27.3]], ["L", [22, 27.7]], ["M", [71.8, 34.5]], ["C", [71.8, 31.1, 70.5, 27.7]], ["L", [70.4, 27.3]], ["C", [69.7, 34.2, 63.4, 38.4]], ["C", [64.2, 42.5, 67.5, 42.5]], ["C", [68.3, 42.5, 69.2, 42.3]], ["C", [71.8, 39.3, 71.8, 34.5]], ["M", [40.5, 72.3]], ["C", [40.3, 73.9, 43.3, 75]], ["C", [45.7, 75.8, 47.7, 75.8]], ["C", [51.5, 75.8, 51.8, 74]], ["C", [52, 72.4, 49, 71.3]], ["C", [46.6, 70.5, 44.6, 70.5]], ["C", [40.8, 70.5, 40.5, 72.3]], ["M", [42.2, 70]], ["L", [43.5, 68.6]], ["L", [51.4, 68.6]], ["L", [52.6, 70.2]], ["L", [53.7, 68.6]], ["L", [59.7, 68.6]], ["C", [59.7, 72.6, 55.8, 75]], ["C", [52.4, 77.1, 48.2, 77.1]], ["C", [44, 77.1, 40.7, 75]], ["C", [36.8, 72.5, 36.8, 68.6]], ["L", [41.2, 68.6]], ["L", [42.2, 70]], ["M", [58.2, 58.6]], ["C", [58.2, 60.6, 57.4, 62.4]], ["C", [56.4, 64.6, 54.6, 64.6]], ["C", [52.7, 64.6, 51.7, 62.4]], ["C", [50.9, 60.7, 50.9, 58.6]], ["C", [50.9, 56.5, 51.7, 54.8]], ["C", [52.7, 52.6, 54.6, 52.6]], ["C", [56.4, 52.6, 57.4, 54.8]], ["C", [58.2, 56.6, 58.2, 58.6]], ["M", [38, 58.6]], ["C", [38, 56.5, 38.8, 54.8]], ["C", [39.8, 52.6, 41.7, 52.6]], ["C", [43.5, 52.6, 44.5, 54.8]], ["C", [45.3, 56.6, 45.3, 58.6]], ["C", [45.3, 60.6, 44.5, 62.4]], ["C", [43.5, 64.6, 41.7, 64.6]], ["C", [39.8, 64.6, 38.8, 62.4]], ["C", [38, 60.7, 38, 58.6]], ["M", [38.9, 42.9]], ["C", [44.4, 43.3, 46.3, 51.5]], ["C", [44.4, 45.6, 39.7, 45.8]], ["C", [37.3, 45.9, 35.7, 47.7]], ["C", [34.1, 49.5, 33.8, 52]], ["C", [33.6, 47.3, 34.85, 45]], ["C", [36.1, 42.7, 38.9, 42.9]], ["M", [56.5, 45.8]], ["C", [51.8, 45.6, 49.9, 51.5]], ["C", [51.8, 43.3, 57.3, 42.9]], ["C", [60, 42.7, 61.3, 45]], ["C", [62.6, 47.3, 62.4, 52]], ["C", [62.1, 49.5, 60.5, 47.7]], ["C", [58.9, 45.9, 56.5, 45.8]], ["M", [41.1, 39.1]], ["C", [37.9, 37.3, 34, 37.3]], ["C", [32.8, 37.3, 31.2, 37.4]], ["C", [30.5, 44.5, 25, 44.5]], ["C", [23.6, 44.5, 22.2, 44]], ["C", [21.4, 43.1, 20.7, 42.1]], ["C", [19.9, 44.2, 19.9, 46.9]], ["C", [19.9, 51.5, 22.6, 58.8]], ["C", [19.9, 55.7, 14.5, 54.6]], ["L", [14.5, 55.2]], ["C", [14.5, 66.5, 25.2, 73.5]], ["C", [34.6, 79.6, 46.4, 79.6]], ["C", [57.1, 79.6, 66, 74.4]], ["C", [76, 68.5, 77.9, 58.7]], ["C", [77.1, 58.4, 75.8, 58.4]], ["C", [73.5, 58.4, 70.4, 59.4]], ["C", [73.9, 56.8, 73.9, 53.9]], ["C", [73.9, 50.8, 68.4, 44.4]], ["C", [62.1, 45.2, 61.5, 37.2]], ["C", [60, 36.5, 58.4, 36.5]], ["C", [52.9, 36.5, 46.8, 43.9]], ["C", [43.4, 40.5, 41.1, 39.1]], ["M", [68.9, 21.7]], ["C", [71, 21.7, 72.6, 28]], ["C", [73.9, 33.4, 73.7, 36.1]], ["C", [82.7, 44.3, 82.7, 55.2]], ["C", [82.7, 68.3, 70.7, 76.6]], ["C", [60, 84.1, 46.4, 84.1]], ["C", [32.7, 84.1, 22, 76.7]], ["C", [10, 68.3, 10, 55.2]], ["C", [10, 44.5, 18.8, 36.3]], ["C", [18.5, 33.5, 19.9, 28]], ["C", [21.5, 21.7, 23.6, 21.7]], ["C", [24.5, 21.7, 24.2, 24.2]], ["C", [23.7, 28.2, 25.4, 31.6]], ["C", [34.8, 26.3, 46.4, 26.3]], ["C", [57.8, 26.3, 67.1, 31.5]], ["C", [68.8, 28.2, 68.3, 24.2]], ["C", [68, 21.7, 68.9, 21.7]]]; __motifs["t"] = [["M", [47.6, 65.9]], ["C", [48.6, 64.5, 54, 63.9]], ["C", [52.95, 63.6, 50.9, 60.3]], ["C", [50.5, 59.9, 50.05, 59.9]], ["C", [48.4, 59.9, 47.6, 65.9]], ["M", [47.6, 70.1]], ["C", [47.6, 73.5, 53.3, 73.5]], ["C", [59, 73.5, 59, 70.1]], ["C", [59, 68.4, 56.85, 67.45]], ["C", [55.2, 66.7, 53.3, 66.7]], ["C", [51.4, 66.7, 49.75, 67.45]], ["C", [47.6, 68.4, 47.6, 70.1]], ["M", [70, 65]], ["C", [73.75, 63, 75.75, 63]], ["C", [78.15, 63, 78.15, 65.4]], ["C", [76.6, 70, 68.9, 73.5]], ["C", [62.8, 76.1, 56.5, 77]], ["C", [55.3, 77.1, 54, 77.1]], ["C", [45.8, 77.1, 45.8, 68.4]], ["C", [45.8, 65.7, 47, 62.2]], ["C", [48.4, 57.8, 50.5, 57.8]], ["C", [51.5, 57.8, 52.1, 59.2]], ["C", [55.3, 66.15, 63.35, 66.15]], ["C", [66.8, 66.15, 70, 65]], ["M", [61.9, 61.7]], ["C", [60.4, 61.7, 59.55, 59.6]], ["C", [59, 57.9, 59, 56.25]], ["C", [59, 54.45, 59.55, 52.85]], ["C", [60.4, 50.75, 61.9, 50.75]], ["C", [64.7, 50.75, 64.7, 56.25]], ["C", [64.7, 57.9, 64.1, 59.5]], ["C", [63.3, 61.7, 61.9, 61.7]], ["M", [74.1, 59.5]], ["C", [73.3, 61.7, 71.9, 61.7]], ["C", [70.4, 61.7, 69.6, 59.6]], ["C", [69, 57.9, 69, 56.25]], ["C", [69, 54.45, 69.6, 52.85]], ["C", [70.4, 50.75, 71.9, 50.75]], ["C", [74.7, 50.75, 74.7, 56.25]], ["C", [74.7, 57.9, 74.1, 59.5]], ["M", [87.55, 47.8]], ["C", [86.65, 47.5, 74.4, 45.2]], ["C", [66, 43.6, 64.8, 40.8]], ["C", [64, 38.9, 69.75, 30.7]], ["L", [68.5, 30.4]], ["C", [61.9, 39.2, 61.9, 41]], ["C", [61.9, 43.1, 53.8, 45.8]], ["C", [46.55, 48.2, 43.4, 48.2]], ["C", [39.85, 48.2, 38.05, 46.7]], ["C", [36.9, 45.8, 35.75, 45.8]], ["C", [32.5, 45.8, 29.35, 51]], ["C", [26.8, 54.95, 25.85, 59.1]], ["C", [28.05, 68.8, 37.95, 74.5]], ["C", [46.75, 79.6, 57.3, 79.6]], ["C", [69.1, 79.6, 78.35, 73.4]], ["C", [89.05, 66.4, 89.05, 55.15]], ["C", [89.05, 51.4, 87.55, 47.8]], ["M", [98, 62.5]], ["C", [97.5, 66.1, 97.5, 67.9]], ["C", [97.5, 73.9, 100.95, 79.5]], ["C", [101.2, 80, 101.2, 80.6]], ["C", [101.2, 82.2, 100, 83.45]], ["C", [98.85, 84.7, 97.2, 84.7]], ["C", [96, 84.7, 94.8, 83.8]], ["C", [92.8, 87, 90.35, 87]], ["C", [88.35, 87, 86.45, 84.6]], ["C", [83.4, 80.7, 83.4, 76.9]], ["C", [83.4, 76, 83.6, 75.1]], ["C", [72.8, 84.1, 57.3, 84.1]], ["C", [48.4, 84.1, 40.55, 80.9]], ["C", [32.05, 77.4, 26.8, 70.9]], ["C", [27, 75.4, 25.85, 78.6]], ["C", [24.2, 83, 20.3, 83.1]], ["C", [15.25, 83.2, 15.25, 80.5]], ["C", [15.25, 79.8, 15.65, 79]], ["C", [14.4, 79.4, 13.25, 79.4]], ["C", [10.1, 79.4, 10, 76.3]], ["C", [9.9, 74.3, 11.45, 73]], ["C", [12.95, 71.7, 14.4, 70.2]], ["C", [15.8, 68.1, 15.55, 64.5]], ["C", [15.05, 59.15, 18.6, 48.95]], ["C", [23.65, 34.8, 32.8, 26.45]], ["C", [43.2, 17.3, 57.4, 17.3]], ["C", [65, 17.3, 73.6, 19.95]], ["C", [85.2, 23.7, 92.1, 34.35]], ["C", [98.5, 44.5, 98.5, 57.05]], ["C", [98.5, 58.9, 98, 62.5]]]; __motifs["y"] = [["M", [43.7, 32.8]], ["C", [44.75, 32.8, 45.2, 32.8]], ["C", [49.7, 32.8, 52.85, 31.25]], ["C", [49.6, 30.8, 46.4, 30.8]], ["C", [37.2, 30.8, 29.5, 34.4]], ["C", [20.9, 38.5, 17, 45.9]], ["C", [14.8, 50.1, 14.8, 55.8]], ["C", [14.8, 58.1, 19.4, 61.5]], ["C", [25.6, 66.1, 26.1, 66.8]], ["C", [28.15, 64, 29.5, 62.6]], ["C", [20, 59.4, 20, 52.8]], ["C", [20, 48.6, 23.5, 47.3]], ["C", [25.75, 46.9, 30.2, 46.1]], ["C", [34.05, 45.3, 34.6, 42.3]], ["C", [35.7, 36.8, 36.25, 35.8]], ["C", [37.8, 32.8, 42.2, 32.8]], ["C", [42.7, 32.8, 43.7, 32.8]], ["M", [66.8, 45]], ["C", [67.65, 47.2, 67.65, 49.4]], ["C", [67.65, 54.3, 64.25, 57.85]], ["C", [60.95, 61.4, 56.1, 61.4]], ["C", [52.2, 61.4, 49.1, 59.1]], ["C", [46, 56.8, 44.65, 53.1]], ["L", [42.65, 54]], ["L", [41, 51.1]], ["L", [47.7, 49.7]], ["L", [48.5, 51.9]], ["L", [46.55, 52.4]], ["C", [47.6, 55.5, 50.2, 57.45]], ["C", [52.85, 59.4, 56.1, 59.4]], ["C", [57.7, 59.4, 59.35, 58.8]], ["C", [65.65, 56.5, 65.65, 49.4]], ["C", [65.65, 47.5, 65.05, 45.7]], ["L", [62.7, 46.1]], ["L", [62.1, 43.7]], ["L", [68.5, 42.4]], ["L", [69, 44.9]], ["L", [66.8, 45]], ["M", [44.55, 45.7]], ["C", [45.9, 45.7, 45.9, 44.2]], ["C", [45.9, 42.7, 44.55, 42.7]], ["C", [43, 42.7, 43, 44.2]], ["C", [43, 45.7, 44.55, 45.7]], ["M", [48.9, 39.1]], ["C", [50.2, 40.35, 50.2, 42.3]], ["C", [50.2, 44.2, 48.9, 45.4]], ["C", [47.6, 46.65, 45.7, 46.65]], ["C", [43.9, 46.65, 42.65, 45.35]], ["C", [41.3, 44.1, 41.3, 42.3]], ["C", [41.3, 40.35, 42.6, 39.1]], ["C", [43.8, 37.8, 45.7, 37.8]], ["C", [47.6, 37.8, 48.9, 39.1]], ["M", [57.9, 39.2]], ["C", [56.5, 39.2, 56.5, 40.55]], ["C", [56.5, 42.1, 57.9, 42.1]], ["C", [59.4, 42.1, 59.4, 40.55]], ["C", [59.4, 39.2, 57.9, 39.2]], ["M", [58.7, 34.5]], ["C", [60.65, 34.5, 61.9, 35.8]], ["C", [63.25, 37, 63.25, 38.9]], ["C", [63.25, 40.8, 61.9, 42.1]], ["C", [60.65, 43.4, 58.7, 43.4]], ["C", [56.9, 43.4, 55.6, 42.1]], ["C", [54.3, 40.8, 54.3, 39]], ["C", [54.3, 37.1, 55.55, 35.85]], ["C", [56.8, 34.5, 58.7, 34.5]], ["M", [43.7, 35.8]], ["C", [42.7, 35.8, 42.2, 35.8]], ["C", [39.3, 35.8, 38.2, 38.95]], ["C", [38.1, 39.15, 37, 44.65]], ["C", [35.4, 48.15, 30.4, 48.9]], ["C", [27.5, 49.45, 25.7, 49.7]], ["C", [23, 50.4, 23, 52.8]], ["C", [23, 58.2, 33, 60.5]], ["C", [34.5, 60.9, 34.5, 61.9]], ["C", [34.5, 62.3, 32.3, 64.5]], ["C", [29.75, 67.2, 29.65, 67.3]], ["C", [27, 70.8, 25.95, 70.8]], ["C", [25.2, 70.8, 24.8, 70.1]], ["C", [23.65, 68, 16.1, 62.7]], ["C", [19.75, 71, 28.7, 75.5]], ["C", [36.7, 79.6, 46.45, 79.6]], ["C", [58.2, 79.6, 67.55, 73.4]], ["C", [78.2, 66.4, 78.2, 55.15]], ["C", [78.2, 46.65, 71.45, 40.1]], ["C", [65.35, 34.3, 56.5, 32]], ["C", [53.2, 35.8, 45.2, 35.8]], ["C", [44.75, 35.8, 43.7, 35.8]], ["M", [70.8, 33.7]], ["C", [82.7, 42, 82.7, 55.2]], ["C", [82.7, 68.3, 70.7, 76.6]], ["C", [60, 84.1, 46.45, 84.1]], ["C", [32.7, 84.1, 22, 76.7]], ["C", [10, 68.3, 10, 55.2]], ["C", [10, 42, 22, 33.7]], ["C", [32.7, 26.3, 46.45, 26.3]], ["C", [60.1, 26.3, 70.8, 33.7]]]; __motifs["u"] = [["M", [16.3, 20.5]], ["C", [16.15, 21.5, 17.15, 24.75]], ["C", [18.6, 29.5, 19.8, 30.55]], ["C", [21, 31.6, 21.1, 33.4]], ["C", [15.4, 28.6, 15.4, 23.7]], ["C", [15.4, 22.1, 16.2, 20.6]], ["C", [16.25, 20.55, 16.3, 20.5]], ["M", [25.1, 6.7]], ["C", [23.6, 6.5, 20.2, 10.1]], ["C", [17.5, 12.9, 16.2, 14.9]], ["C", [13, 20.1, 13, 25.2]], ["C", [13, 29.4, 15.1, 33.6]], ["C", [15.9, 35.2, 20.9, 39.5]], ["C", [24.6, 35, 30.2, 31.7]], ["C", [28.8, 29.6, 26.1, 25.25]], ["C", [23.4, 20.9, 23.7, 19.7]], ["C", [26, 11, 26, 8.8]], ["C", [26, 6.8, 25.1, 6.7]], ["M", [43, 63.9]], ["C", [43, 62.7, 43.5, 61.4]], ["L", [48.2, 62.3]], ["C", [47.1, 66.6, 45.1, 66.6]], ["C", [43, 66.6, 43, 63.9]], ["M", [38.3, 67.8]], ["L", [38.5, 66.8]], ["L", [40.5, 67.1]], ["L", [40.3, 68.1]], ["C", [39.9, 70, 41.2, 71.6]], ["C", [42.5, 73.2, 44.4, 73.5]], ["C", [46.3, 73.8, 48, 72.65]], ["C", [49.7, 71.5, 49.9, 69.6]], ["L", [50, 68.6]], ["L", [52, 69]], ["L", [51.9, 69.9]], ["C", [51.6, 72.6, 49.2, 74.2]], ["C", [46.8, 75.8, 44.1, 75.4]], ["C", [41.4, 75, 39.6, 72.75]], ["C", [37.8, 70.5, 38.3, 67.8]], ["M", [54.6, 58.3]], ["C", [52.1, 58, 50.7, 55.6]], ["C", [49.5, 53.5, 49.7, 50.8]], ["C", [49.5, 51.9, 49.5, 53.1]], ["C", [49.5, 56.2, 51, 58.8]], ["C", [52.8, 61.9, 55.7, 61.9]], ["C", [58.6, 61.9, 60.4, 58.8]], ["C", [61.9, 56.3, 61.9, 53.1]], ["C", [61.9, 49.3, 60, 46.6]], ["C", [61.3, 49, 61, 51.7]], ["C", [60.7, 54.4, 58.95, 56.5]], ["C", [57.2, 58.6, 54.6, 58.3]], ["M", [53.3, 47.2]], ["C", [52.4, 46.8, 51.6, 48.5]], ["C", [50.9, 50.2, 51.8, 50.6]], ["C", [52.7, 51, 53.5, 49.3]], ["C", [54.2, 47.6, 53.3, 47.2]], ["M", [59.7, 44.6]], ["C", [60.7, 43.9, 62.3, 41.6]], ["C", [61.9, 43.6, 61.9, 43.7]], ["C", [61.6, 44.8, 60.7, 45.5]], ["L", [60.9, 45.8]], ["C", [62.3, 45.6, 65, 43.4]], ["C", [62.9, 46.5, 61.6, 46.9]], ["L", [61.7, 47.1]], ["C", [63.8, 47.4, 66.2, 45.7]], ["C", [64.9, 47.1, 64.5, 47.5]], ["C", [63.5, 48.3, 62.4, 48.5]], ["C", [63.1, 50.7, 63.1, 53.1]], ["C", [63.1, 56.8, 61.3, 59.7]], ["C", [59.2, 63.2, 55.7, 63.2]], ["C", [52.2, 63.2, 50.1, 59.7]], ["C", [48.3, 56.8, 48.3, 53.1]], ["C", [48.3, 49.4, 50.1, 46.5]], ["C", [52.2, 43, 55.7, 43]], ["C", [57.9, 43, 59.7, 44.6]], ["M", [32.7, 58.8]], ["C", [34.4, 61.9, 37.3, 61.9]], ["C", [40.2, 61.9, 42, 58.8]], ["C", [43.5, 56.3, 43.5, 53.1]], ["C", [43.5, 49.3, 41.6, 46.6]], ["C", [42.9, 48.9, 42.6, 51.7]], ["C", [42.3, 54.4, 40.7, 56.4]], ["C", [38.8, 58.6, 36.2, 58.3]], ["C", [33.7, 58, 32.4, 55.7]], ["C", [31.1, 53.4, 31.4, 50.8]], ["C", [31.2, 51.9, 31.2, 53.1]], ["C", [31.2, 56.2, 32.7, 58.8]], ["M", [34.9, 47.2]], ["C", [33.9, 46.8, 33.2, 48.5]], ["C", [32.4, 50.2, 33.4, 50.6]], ["C", [34.3, 51, 35.1, 49.3]], ["C", [35.8, 47.6, 34.9, 47.2]], ["M", [42.5, 45.8]], ["C", [43.9, 45.6, 46.6, 43.4]], ["C", [44.6, 46.5, 43.2, 46.9]], ["L", [43.3, 47.1]], ["C", [45.4, 47.4, 47.8, 45.7]], ["C", [46.5, 47.1, 46.1, 47.5]], ["C", [45.1, 48.3, 44, 48.5]], ["C", [44.8, 50.7, 44.8, 53.1]], ["C", [44.8, 56.7, 42.9, 59.7]], ["C", [40.7, 63.2, 37.3, 63.2]], ["C", [33.8, 63.2, 31.7, 59.7]], ["C", [29.9, 56.8, 29.9, 53.1]], ["C", [29.9, 49.4, 31.7, 46.5]], ["C", [33.8, 43, 37.3, 43]], ["C", [39.6, 43, 41.4, 44.6]], ["C", [42.3, 43.9, 43.9, 41.6]], ["C", [43.5, 43.6, 43.5, 43.7]], ["C", [43.2, 44.8, 42.3, 45.5]], ["L", [42.5, 45.8]], ["M", [100.2, 14.7]], ["C", [100.2, 20.6, 91, 28.1]], ["C", [83, 34.6, 78.7, 35.3]], ["C", [79.4, 36.3, 80.4, 38]], ["L", [93.7, 28.6]], ["C", [102.6, 22.3, 102.6, 14.4]], ["C", [102.6, 10.7, 100.1, 7.6]], ["C", [96.8, 3.5, 93, 3.5]], ["C", [87.5, 3.5, 81.2, 12.2]], ["C", [79.6, 14.4, 69.3, 35.2]], ["C", [61.2, 30.8, 51.1, 30.8]], ["C", [39.3, 30.8, 29.9, 37]], ["C", [19.2, 44, 19.2, 55.2]], ["C", [19.2, 66.4, 29.9, 73.4]], ["C", [39.4, 79.6, 51.1, 79.6]], ["C", [62.9, 79.6, 72.2, 73.4]], ["C", [82.9, 66.4, 82.9, 55.2]], ["C", [82.9, 46.5, 75.5, 39.6]], ["C", [77.5, 28.9, 80.7, 20.6]], ["C", [85.9, 6.9, 92.2, 6.9]], ["C", [94.1, 6.9, 96.1, 8.2]], ["C", [100.2, 10.9, 100.2, 14.7]], ["M", [107.5, 12]], ["C", [107.5, 19.8, 94.4, 29.6]], ["C", [89.9, 33, 81.2, 39]], ["C", [87.4, 46.3, 87.4, 55.2]], ["C", [87.4, 68.3, 75.4, 76.6]], ["C", [64.7, 84.1, 51.1, 84.1]], ["C", [37.4, 84.1, 26.7, 76.7]], ["C", [14.7, 68.3, 14.7, 55.2]], ["C", [14.7, 47.7, 19.2, 41.3]], ["C", [15, 38.9, 12.5, 34.4]], ["C", [10, 29.9, 10, 25]], ["C", [10, 16.7, 16.3, 9]], ["C", [22, 2, 25.5, 2.7]], ["C", [28.5, 3.3, 28.5, 9.8]], ["C", [28.5, 12.4, 28.1, 15.7]], ["L", [27.6, 19.9]], ["C", [27.5, 22.5, 33.5, 29.9]], ["C", [41.7, 26.3, 51.1, 26.3]], ["C", [60.9, 26.3, 69.4, 30.2]], ["C", [71, 26.3, 75.2, 17.7]], ["C", [79.9, 8.1, 81.6, 6.4]], ["C", [88.1, 0, 93.9, 0]], ["C", [99.2, 0, 104, 4.6]], ["C", [107.5, 7.9, 107.5, 12]]]; __motifs["i"] = [["M", [54.3, 56.6]], ["C", [55.9, 56.6, 55.9, 58.2]], ["C", [55.9, 59.8, 54.3, 59.8]], ["C", [52.7, 59.8, 52.7, 58.2]], ["C", [52.7, 56.6, 54.3, 56.6]], ["M", [45.8, 57.7]], ["C", [45.8, 61.1, 48.25, 63.55]], ["C", [50.7, 66, 54.1, 66]], ["C", [57.6, 66, 60, 63.6]], ["C", [62.4, 61.2, 62.4, 57.7]], ["C", [62.4, 54.2, 60, 51.75]], ["C", [57.6, 49.3, 54.1, 49.3]], ["C", [50.6, 49.3, 48.2, 51.75]], ["C", [45.8, 54.2, 45.8, 57.7]], ["M", [34, 71.1]], ["C", [35.6, 75, 40.2, 75]], ["C", [44.8, 75, 44.5, 70.9]], ["L", [46.3, 71.8]], ["C", [45.7, 77.3, 40.5, 77.3]], ["C", [35.4, 77.3, 32.6, 72.9]], ["L", [34, 71.1]], ["M", [34.25, 67.6]], ["C", [30.7, 70.5, 26.1, 70.5]], ["C", [22.9, 70.5, 20.1, 69]], ["C", [29.6, 79.6, 46.3, 79.6]], ["C", [57.6, 79.6, 66.7, 74]], ["C", [77.1, 67.5, 78.1, 56.9]], ["L", [66.8, 59.6]], ["C", [66.1, 64.3, 62.5, 67.4]], ["C", [58.9, 70.5, 54.1, 70.5]], ["C", [49.5, 70.5, 46, 67.6]], ["C", [42.5, 64.7, 41.6, 60.2]], ["L", [38.7, 60.2]], ["C", [37.8, 64.7, 34.25, 67.6]], ["M", [31.1, 59.7]], ["C", [29.5, 59.7, 29.5, 58.1]], ["C", [29.5, 56.5, 31.1, 56.5]], ["C", [32.7, 56.5, 32.7, 58.1]], ["C", [32.7, 59.7, 31.1, 59.7]], ["M", [32, 51.75]], ["C", [29.6, 49.3, 26.1, 49.3]], ["C", [22.6, 49.3, 20.2, 51.75]], ["C", [17.8, 54.2, 17.8, 57.7]], ["C", [17.8, 61.1, 20.25, 63.55]], ["C", [22.7, 66, 26.1, 66]], ["C", [29.6, 66, 32, 63.6]], ["C", [34.4, 61.2, 34.4, 57.7]], ["C", [34.4, 54.2, 32, 51.75]], ["M", [51, 43]], ["C", [46.4, 47, 41.5, 47]], ["C", [36.9, 47, 33.4, 43.9]], ["C", [32.1, 44.1, 30.9, 44.1]], ["C", [26.8, 44.1, 23.8, 41.6]], ["C", [20.7, 46.8, 16.4, 46.8]], ["C", [15.3, 49.2, 14.8, 51.6]], ["C", [18.5, 44.8, 26.1, 44.8]], ["C", [30.7, 44.8, 34.2, 47.6]], ["C", [37.7, 50.4, 38.6, 54.9]], ["L", [41.6, 54.9]], ["C", [42.6, 50.5, 46, 47.7]], ["C", [49.4, 44.9, 53.9, 44.8]], ["C", [52.3, 44, 51, 43]], ["M", [61.3, 47]], ["C", [65.4, 49.8, 66.6, 54.6]], ["L", [68.2, 54.2]], ["C", [66.7, 52.9, 66.7, 49.7]], ["C", [66.7, 46.6, 67.9, 42.9]], ["C", [65.5, 46.9, 61.3, 47]], ["M", [70.7, 33.7]], ["C", [82.7, 42, 82.7, 55.2]], ["C", [82.7, 68.3, 70.7, 76.7]], ["C", [60, 84.1, 46.3, 84.1]], ["C", [32.7, 84.1, 22, 76.6]], ["C", [10, 68.3, 10, 55.2]], ["C", [10, 42, 21.9, 33.7]], ["C", [32.6, 26.3, 46.3, 26.3]], ["C", [60, 26.3, 70.7, 33.7]]]; __motifs["o"] = [["M", [67.45, 39.1]], ["C", [68.7, 40.35, 68.7, 42.3]], ["C", [68.7, 44.1, 67.4, 45.35]], ["C", [66.1, 46.65, 64.3, 46.65]], ["C", [62.4, 46.65, 61.15, 45.4]], ["C", [59.8, 44.2, 59.8, 42.3]], ["C", [59.8, 40.35, 61.15, 39.1]], ["C", [62.4, 37.8, 64.3, 37.8]], ["C", [66.2, 37.8, 67.45, 39.1]], ["M", [43.2, 45]], ["L", [41, 45]], ["L", [41.5, 42.4]], ["L", [47.9, 43.7]], ["L", [47.3, 46.1]], ["L", [45, 45.7]], ["C", [44.45, 47.5, 44.45, 49.4]], ["C", [44.45, 56.55, 50.75, 58.85]], ["C", [52.35, 59.4, 53.9, 59.4]], ["C", [57.25, 59.4, 59.8, 57.45]], ["C", [62.4, 55.5, 63.55, 52.4]], ["L", [61.5, 51.9]], ["L", [62.3, 49.7]], ["L", [69, 51.1]], ["L", [67.45, 54]], ["L", [65.45, 53.1]], ["C", [64, 56.85, 60.95, 59.1]], ["C", [57.8, 61.4, 53.9, 61.4]], ["C", [47.85, 61.4, 44.55, 56.35]], ["C", [42.45, 53.2, 42.45, 49.4]], ["C", [42.45, 47.2, 43.2, 45]], ["M", [54.45, 35.85]], ["C", [55.7, 37.1, 55.7, 39]], ["C", [55.7, 40.8, 54.4, 42.1]], ["C", [53.15, 43.4, 51.3, 43.4]], ["C", [49.4, 43.4, 48.15, 42.1]], ["C", [46.85, 40.8, 46.85, 38.9]], ["C", [46.85, 37, 48.15, 35.8]], ["C", [49.4, 34.5, 51.3, 34.5]], ["C", [53.2, 34.5, 54.45, 35.85]], ["M", [46.45, 30.8]], ["C", [34.6, 30.8, 25.2, 37]], ["C", [14.5, 44, 14.5, 55.2]], ["C", [14.5, 66.4, 25.2, 73.4]], ["C", [34.7, 79.6, 46.45, 79.6]], ["C", [58.2, 79.6, 67.55, 73.4]], ["C", [78.2, 66.4, 78.2, 55.2]], ["C", [78.2, 44, 67.55, 37]], ["C", [58.2, 30.8, 46.45, 30.8]], ["M", [70.8, 33.7]], ["C", [82.7, 42, 82.7, 55.2]], ["C", [82.7, 68.3, 70.7, 76.6]], ["C", [60, 84.1, 46.45, 84.1]], ["C", [32.7, 84.1, 22, 76.7]], ["C", [10, 68.3, 10, 55.2]], ["C", [10, 42, 22, 33.7]], ["C", [32.7, 26.3, 46.45, 26.3]], ["C", [60.1, 26.3, 70.8, 33.7]]]; __motifs["p"] = [["M", [31.55, 67.3]], ["C", [33.65, 65.1, 36.25, 65.1]], ["C", [36.9, 65.1, 37.6, 65.1]], ["C", [39.1, 64.7, 40.65, 64.7]], ["C", [43.9, 64.7, 44.75, 67.05]], ["C", [45.8, 70.25, 45.7, 73.7]], ["C", [61.25, 71.3, 66.2, 59.8]], ["C", [57.8, 65.5, 51.1, 65.5]], ["C", [48.35, 65.5, 46.25, 64.4]], ["C", [40.55, 61.5, 36.15, 58.1]], ["C", [29.45, 52.9, 29.45, 49.1]], ["C", [28.15, 53.4, 28.15, 57.6]], ["C", [28.15, 64, 31.55, 67.3]], ["M", [40.25, 73.3]], ["C", [40.55, 73.7, 41.9, 73.7]], ["C", [42.7, 73.7, 43.9, 73.6]], ["C", [44.25, 73.3, 43.9, 71.85]], ["C", [43.1, 68.5, 43, 68.1]], ["C", [42.65, 66.2, 40.25, 66.2]], ["C", [39.2, 66.2, 37.8, 66.5]], ["C", [37.2, 67.1, 32.6, 75.9]], ["C", [32.5, 75.8, 32.5, 75.35]], ["C", [32.6, 72.4, 36.35, 66.6]], ["C", [33.4, 66, 31.7, 70.95]], ["C", [29.85, 73.7, 29.85, 76.7]], ["C", [29.85, 79.6, 33.9, 79.6]], ["C", [38.1, 79.6, 39.5, 74.05]], ["L", [40.25, 73.3]], ["M", [55.35, 48.95]], ["C", [57.15, 50.8, 57.15, 53.3]], ["C", [57.15, 55.3, 55.85, 56.65]], ["C", [54.65, 58, 52.65, 58]], ["C", [49.6, 58, 47.85, 55.3]], ["C", [46.75, 53.7, 46.75, 51.9]], ["C", [46.75, 49.9, 48, 48.5]], ["C", [49.2, 47.1, 51.2, 47.1]], ["C", [53.6, 47.1, 55.35, 48.95]], ["M", [56.55, 39.75]], ["C", [55.7, 39.9, 55.3, 39.9]], ["C", [53.6, 39.9, 53.6, 38.9]], ["C", [53.6, 38.1, 54.5, 37.5]], ["C", [55.4, 36.9, 56.3, 36.9]], ["C", [60.5, 36.9, 62.9, 45.9]], ["L", [61.25, 47.6]], ["C", [61.45, 46.5, 61.45, 45.4]], ["C", [61.45, 39.6, 57.8, 39.6]], ["C", [57.4, 39.6, 56.55, 39.75]], ["M", [42.7, 48.65]], ["C", [40.9, 49.8, 39.1, 49.8]], ["C", [36.45, 49.8, 35.9, 48]], ["C", [35.4, 46.35, 37.3, 45]], ["C", [38.9, 43.85, 40.7, 43.85]], ["C", [43.4, 43.85, 43.9, 45.75]], ["C", [44.45, 47.4, 42.7, 48.65]], ["M", [44.65, 35.9]], ["C", [46.3, 37.3, 46.3, 38.7]], ["C", [46.3, 39.5, 45.1, 39.5]], ["C", [42.35, 39.5, 40.7, 37.3]], ["C", [40.1, 36.5, 39.4, 36.5]], ["C", [37.9, 36.5, 36.45, 39.6]], ["L", [35.3, 38.7]], ["C", [38.45, 34.5, 41.5, 34.5]], ["C", [42.9, 34.5, 44.65, 35.9]], ["M", [46.45, 30.8]], ["C", [34.6, 30.8, 25.2, 37]], ["C", [14.5, 44, 14.5, 55.2]], ["C", [14.5, 61.4, 18.5, 66.9]], ["C", [22.1, 71.8, 27.95, 75]], ["C", [28.15, 72.9, 29.95, 70]], ["C", [26.1, 65.15, 26.1, 56.35]], ["C", [26.1, 50.15, 27.75, 43.85]], ["L", [30.6, 43.85]], ["C", [30.6, 44.6, 30.6, 45.55]], ["C", [30.6, 50.65, 35.8, 55.45]], ["C", [39.9, 59.05, 45.6, 61.5]], ["C", [48.65, 62.85, 51.9, 62.85]], ["C", [60.3, 62.85, 68.3, 55.5]], ["L", [69.55, 58.4]], ["C", [61.35, 75.9, 44.55, 75.9]], ["C", [42.8, 75.9, 41.1, 75.9]], ["C", [40.35, 77.85, 39, 78.95]], ["C", [42.65, 79.6, 46.45, 79.6]], ["C", [58.2, 79.6, 67.55, 73.4]], ["C", [78.2, 66.4, 78.2, 55.2]], ["C", [78.2, 44, 67.55, 37]], ["C", [58.2, 30.8, 46.45, 30.8]], ["M", [70.8, 33.7]], ["C", [82.7, 42, 82.7, 55.2]], ["C", [82.7, 68.3, 70.7, 76.6]], ["C", [60, 84.1, 46.45, 84.1]], ["C", [32.7, 84.1, 22, 76.7]], ["C", [10, 68.3, 10, 55.2]], ["C", [10, 42, 22, 33.7]], ["C", [32.7, 26.3, 46.45, 26.3]], ["C", [60.1, 26.3, 70.8, 33.7]]]; __motifs["["] = [["M", [76.05, 89.7]], ["L", [75.85, 89.7]], ["C", [75.4, 88.2, 74, 88.4]], ["C", [71.9, 88.7, 72.2, 90.6]], ["C", [72.4, 91.7, 74.1, 91.8]], ["C", [75.3, 91.8, 75.4, 92.4]], ["C", [75.5, 93.2, 74.6, 93.4]], ["C", [73.95, 93.5, 73.6, 92.5]], ["L", [74, 92.4]], ["L", [73.85, 91.9]], ["L", [72.5, 92.2]], ["L", [72.6, 92.9]], ["L", [72.8, 92.9]], ["C", [73.4, 94.4, 74.7, 94.1]], ["C", [76.4, 93.9, 76.1, 92.2]], ["C", [76.05, 91, 74.1, 91]], ["C", [73.1, 90.9, 73, 90.4]], ["C", [72.9, 89.4, 74.1, 89.2]], ["C", [74.7, 89.1, 75, 89.8]], ["L", [74.8, 89.8]], ["L", [74.8, 90.4]], ["L", [76.05, 90.2]], ["L", [76.05, 89.7]], ["M", [62.4, 91.1]], ["L", [62.4, 91.6]], ["L", [62.7, 91.5]], ["L", [63.45, 95.1]], ["L", [63.1, 95.2]], ["L", [63.2, 95.8]], ["L", [64.6, 95.5]], ["L", [64.5, 95]], ["L", [64.2, 95]], ["L", [63.45, 90.8]], ["L", [62.4, 91.1]], ["M", [62.9, 89.2]], ["C", [62.5, 89.3, 62, 89.8]], ["C", [62.1, 90.3, 62.8, 90.3]], ["C", [63.35, 90.3, 63.7, 89.8]], ["C", [63.7, 89.3, 62.9, 89.2]], ["M", [67.9, 91.9]], ["C", [68.1, 93.2, 66.2, 93.5]], ["C", [65.1, 93.7, 65, 93]], ["C", [64.8, 91.7, 66.7, 91.4]], ["C", [67.8, 91.2, 67.9, 91.9]], ["M", [66.6, 90.6]], ["C", [63.9, 91, 64.2, 93]], ["C", [64.5, 94.6, 66.3, 94.3]], ["C", [69, 93.9, 68.7, 91.9]], ["C", [68.4, 90.3, 66.6, 90.6]], ["M", [68.8, 91]], ["L", [69.1, 93.4]], ["C", [69.3, 95.3, 71, 95]], ["C", [72.3, 94.8, 72.1, 93]], ["L", [71.9, 91.1]], ["L", [72.3, 91.1]], ["L", [72.1, 90.6]], ["L", [70.7, 90.6]], ["L", [70.8, 91.3]], ["L", [71.1, 91.2]], ["L", [71.3, 93.1]], ["C", [71.4, 94.2, 70.8, 94.3]], ["C", [70, 94.4, 69.9, 93.4]], ["L", [69.65, 90.8]], ["L", [70.2, 90.7]], ["L", [70.1, 90.2]], ["L", [68.4, 90.3]], ["L", [68.6, 91.1]], ["L", [68.8, 91]], ["M", [60.6, 91.7]], ["C", [61.35, 91.5, 61.8, 93.1]], ["L", [61.5, 93.2]], ["L", [61.6, 93.9]], ["L", [62.8, 93.4]], ["L", [62.7, 93]], ["L", [62.5, 93]], ["C", [61.9, 90.6, 60.5, 90.9]], ["C", [58.7, 91.1, 59.25, 94]], ["C", [59.6, 96.8, 61.45, 96.5]], ["C", [62, 96.4, 62.4, 95.7]], ["L", [62.6, 95.7]], ["L", [62.9, 95.2]], ["L", [61.6, 95]], ["L", [61.5, 95.3]], ["L", [61.7, 95.4]], ["C", [61.5, 95.7, 61.35, 95.8]], ["C", [60.3, 95.9, 60, 93.9]], ["C", [59.6, 91.8, 60.6, 91.7]], ["M", [55.5, 95.3]], ["C", [55.6, 95.7, 54.8, 95.9]], ["C", [54, 96, 53.9, 95.5]], ["C", [53.9, 95.1, 54.7, 95]], ["C", [55.4, 94.9, 55.5, 95.3]], ["M", [54.3, 93.4]], ["L", [53.9, 93.4]], ["C", [54, 92.7, 54.4, 92.6]], ["C", [54.95, 92.5, 55.2, 93.5]], ["L", [55.3, 94.3]], ["C", [54.95, 94.1, 54.5, 94.2]], ["C", [53.15, 94.4, 53.3, 95.6]], ["C", [53.5, 96.9, 54.95, 96.6]], ["C", [55.3, 96.6, 55.7, 96.3]], ["L", [55.7, 96.5]], ["L", [55.6, 96.5]], ["L", [55.7, 97.1]], ["L", [57.05, 97]], ["L", [56.8, 96.2]], ["L", [56.5, 96.3]], ["L", [55.9, 93.4]], ["C", [55.5, 91.6, 54.2, 91.8]], ["C", [53.2, 92, 53.2, 93.3]], ["L", [52.95, 93.3]], ["L", [52.85, 94.1]], ["L", [54.3, 93.8]], ["L", [54.3, 93.4]], ["M", [57.8, 92.2]], ["L", [58.4, 95.9]], ["L", [58.1, 96]], ["L", [58.3, 96.6]], ["L", [59.6, 96.3]], ["L", [59.5, 95.8]], ["L", [59.25, 95.8]], ["L", [58.5, 91.6]], ["L", [57.5, 91.9]], ["L", [57.4, 92.4]], ["L", [57.8, 92.2]], ["M", [57.9, 91.1]], ["C", [58.4, 91.1, 58.8, 90.6]], ["C", [58.7, 90.1, 58, 90]], ["C", [57.5, 90.1, 57.15, 90.6]], ["C", [57.25, 91, 57.9, 91.1]], ["M", [57.05, 90]], ["L", [56, 90.2]], ["L", [55.9, 90.8]], ["L", [56.1, 90.7]], ["L", [57.05, 96]], ["L", [56.8, 96.1]], ["L", [57.05, 96.7]], ["L", [58.1, 96.3]], ["L", [58, 95.9]], ["L", [57.8, 96]], ["L", [56.9, 90.5]], ["L", [57.15, 90.5]], ["L", [57.05, 90]], ["M", [44.65, 95.6]], ["C", [44.8, 96.9, 43, 97.2]], ["C", [41.8, 97.4, 41.7, 96.7]], ["C", [41.5, 95.4, 43.4, 95.1]], ["C", [44.55, 94.9, 44.65, 95.6]], ["M", [43.3, 94.3]], ["C", [40.65, 94.7, 40.9, 96.7]], ["C", [41.2, 98.3, 43, 98]], ["C", [45.7, 97.6, 45.4, 95.5]], ["C", [45.2, 94, 43.3, 94.3]], ["M", [45.1, 93.5]], ["L", [45.3, 93.4]], ["L", [46.1, 97.8]], ["L", [45.9, 97.9]], ["L", [45.9, 98.4]], ["L", [47.2, 98.3]], ["L", [47, 97.7]], ["L", [46.9, 97.7]], ["L", [46.4, 95.1]], ["C", [46.5, 93.7, 47.2, 93.6]], ["C", [47.7, 93.7, 47.8, 94.8]], ["L", [48.2, 97.8]], ["L", [48, 97.8]], ["L", [48.2, 98.6]], ["L", [49.5, 98.2]], ["L", [49.2, 97.6]], ["L", [49, 97.7]], ["L", [48.6, 94.7]], ["C", [48.3, 92.6, 47.1, 92.8]], ["C", [46.5, 92.9, 46.2, 93.4]], ["L", [46.1, 93.2]], ["L", [46.3, 93.2]], ["L", [46.2, 92.7]], ["L", [44.9, 92.9]], ["L", [45.1, 93.5]], ["M", [48.6, 92.5]], ["L", [48.75, 93.3]], ["L", [49.3, 93.2]], ["L", [49.8, 95.8]], ["C", [50.2, 98, 51.8, 97.7]], ["C", [53.2, 97.5, 52.85, 95.6]], ["C", [52.85, 95.5, 52.7, 95.4]], ["L", [53.05, 95.3]], ["L", [52.85, 94.9]], ["L", [51.6, 95.2]], ["L", [51.8, 95.7]], ["L", [52, 95.7]], ["L", [52, 95.9]], ["C", [52.2, 96.9, 51.7, 96.9]], ["C", [50.95, 97.1, 50.6, 95.7]], ["L", [50.1, 93]], ["L", [51.3, 92.8]], ["L", [51.2, 92]], ["L", [50, 92.2]], ["L", [49.9, 91.5]], ["L", [50.1, 91.5]], ["L", [50, 90.8]], ["L", [48.85, 91.2]], ["L", [48.95, 91.7]], ["L", [49.1, 91.7]], ["L", [49.2, 92.4]], ["L", [48.6, 92.5]], ["M", [39.3, 93.3]], ["C", [39.7, 93.2, 40, 94.6]], ["L", [39.7, 94.6]], ["L", [39.7, 95.1]], ["L", [41, 95]], ["L", [41.2, 94.3]], ["L", [40.8, 94.4]], ["C", [40.45, 92.3, 39.1, 92.5]], ["C", [38.1, 92.7, 38, 94.1]], ["C", [37.9, 94.6, 37.9, 95.4]], ["L", [38, 95.9]], ["L", [37.7, 96]], ["L", [37.8, 96.6]], ["L", [38.1, 96.6]], ["L", [38.55, 99.6]], ["L", [38.1, 99.7]], ["L", [38.45, 100.2]], ["L", [39.5, 100]], ["L", [39.7, 99.3]], ["L", [39.3, 99.4]], ["L", [38.9, 96.4]], ["L", [39.8, 96.3]], ["L", [39.6, 95.4]], ["L", [38.8, 95.7]], ["L", [38.7, 95.3]], ["C", [38.45, 93.4, 39.3, 93.3]], ["M", [37.6, 71.9]], ["L", [28.9, 78.6]], ["C", [29.8, 87, 39.3, 86.4]], ["C", [42.55, 86.2, 42.55, 83.9]], ["C", [42.55, 82.5, 40.75, 79.05]], ["C", [39, 75.6, 39, 74.8]], ["C", [39, 73.8, 41.5, 72.7]], ["C", [42.9, 72.1, 44.1, 71.8]], ["C", [43.1, 71, 41.9, 71]], ["C", [40.55, 71, 39.3, 72.2]], ["L", [37.6, 71.9]], ["M", [72.2, 40.7]], ["C", [72.2, 42.6, 70.9, 43.85]], ["C", [69.65, 45.1, 67.7, 45.1]], ["C", [65.9, 45.1, 64.6, 43.8]], ["C", [63.35, 42.5, 63.35, 40.7]], ["C", [63.35, 38.8, 64.55, 37.5]], ["C", [65.8, 36.2, 67.7, 36.2]], ["C", [69.65, 36.2, 70.9, 37.5]], ["C", [72.2, 38.8, 72.2, 40.7]], ["M", [46.65, 43.4]], ["L", [44.55, 43.2]], ["L", [45, 40.8]], ["L", [51.3, 42.1]], ["L", [50.7, 44.5]], ["L", [48.5, 44.1]], ["C", [47.8, 45.9, 47.8, 47.8]], ["C", [47.8, 54.9, 54.2, 57.2]], ["C", [55.9, 57.8, 57.4, 57.8]], ["C", [64.4, 57.8, 67, 50.8]], ["L", [64.9, 50.3]], ["L", [65.7, 48.1]], ["L", [72.5, 49.5]], ["L", [70.9, 52.3]], ["L", [68.9, 51.5]], ["C", [67.55, 55.2, 64.4, 57.5]], ["C", [61.35, 59.8, 57.4, 59.8]], ["C", [51.4, 59.8, 47.9, 54.7]], ["C", [45.8, 51.6, 45.8, 47.8]], ["C", [45.8, 45.5, 46.65, 43.4]], ["M", [57.9, 34.15]], ["C", [59.25, 35.4, 59.25, 37.3]], ["C", [59.25, 39.2, 57.9, 40.5]], ["C", [56.6, 41.8, 54.7, 41.8]], ["C", [52.85, 41.8, 51.55, 40.5]], ["C", [50.3, 39.2, 50.3, 37.3]], ["C", [50.3, 35.5, 51.6, 34.2]], ["C", [52.95, 32.9, 54.7, 32.9]], ["C", [56.6, 32.9, 57.9, 34.15]], ["M", [58.3, 14.2]], ["C", [46.5, 14.2, 37.1, 20.4]], ["C", [26.4, 27.4, 26.4, 38.6]], ["C", [26.4, 43.2, 28.7, 47.6]], ["C", [22.4, 55, 22.4, 61.8]], ["C", [22.4, 69.5, 29.5, 74.7]], ["L", [33.7, 71.6]], ["C", [28.4, 65.5, 28.4, 60.6]], ["C", [28.4, 57, 32.3, 52.7]], ["C", [41.8, 63, 58.3, 63]], ["C", [70.1, 63, 79.4, 56.8]], ["C", [90.1, 49.8, 90.1, 38.6]], ["C", [90.1, 27.4, 79.4, 20.4]], ["C", [70.1, 14.2, 58.3, 14.2]], ["M", [85.6, 82.2]], ["L", [80.4, 71.6]], ["C", [79.95, 71.4, 79.6, 71.4]], ["C", [78.7, 71.4, 78.4, 72.7]], ["C", [76.6, 69.8, 75.1, 69.8]], ["C", [74.1, 69.8, 73.4, 71.2]], ["C", [76.1, 73.5, 76.1, 75.3]], ["C", [76.1, 76.5, 74.7, 77.1]], ["C", [70.4, 79.1, 70.4, 83.6]], ["C", [70.4, 87.6, 76.1, 87.6]], ["C", [82.15, 87.6, 84.4, 83.2]], ["L", [85.6, 82.2]], ["M", [86.45, 63.8]], ["C", [86.45, 61.2, 85, 58.2]], ["C", [74.2, 67.5, 58.3, 67.5]], ["C", [41.8, 67.5, 31, 57.7]], ["C", [30.3, 58.8, 30.3, 60.1]], ["C", [30.3, 64.4, 36.25, 69.5]], ["L", [37.3, 68.7]], ["C", [37.9, 68.4, 38.55, 68.4]], ["C", [39.6, 68.4, 40, 70]], ["C", [41.6, 68.7, 43.2, 68.7]], ["C", [45.3, 68.7, 46.65, 71.3]], ["L", [70.3, 71.4]], ["C", [73.5, 67.7, 75, 67.7]], ["C", [76.5, 67.7, 78.15, 69.8]], ["C", [79.95, 68.2, 81.2, 68.2]], ["C", [81.9, 68.2, 82.3, 68.7]], ["L", [82.8, 69.7]], ["C", [86.45, 67.8, 86.45, 63.8]], ["M", [87.3, 57]], ["C", [88.6, 59.7, 88.6, 62.4]], ["C", [88.6, 68.3, 83.3, 72.8]], ["L", [86.25, 78.2]], ["C", [92.7, 71.6, 92.7, 62.2]], ["C", [92.7, 56.7, 90.7, 51.9]], ["C", [89.6, 54.2, 87.3, 57]], ["M", [94.65, 38.6]], ["C", [94.65, 44.6, 91.7, 50.1]], ["C", [95.6, 58, 95.6, 64.9]], ["C", [95.6, 75.4, 87.9, 81]], ["L", [88.55, 82.3]], ["C", [87.6, 85.1, 86.7, 85.1]], ["C", [86.45, 85.1, 86, 84.9]], ["C", [84.6, 86.5, 81.7, 88.4]], ["L", [81.3, 95.2]], ["L", [35.3, 102.7]], ["L", [32.6, 89.3]], ["C", [27.4, 85.6, 27.4, 82.1]], ["C", [27.4, 81.2, 27.85, 80.4]], ["C", [26.3, 78.5, 26.3, 77.2]], ["C", [26.3, 76.8, 26.5, 76.4]], ["L", [27.2, 75.9]], ["C", [20.1, 70.8, 20.1, 63]], ["C", [20.1, 56.6, 24.6, 49.6]], ["C", [21.9, 44.3, 21.9, 38.6]], ["C", [21.9, 25.4, 33.9, 17.1]], ["C", [44.65, 9.7, 58.3, 9.7]], ["C", [72, 9.7, 82.7, 17.1]], ["C", [94.65, 25.4, 94.65, 38.6]]]; __motifs["]"] = [["M", [76.05, 89.7]], ["L", [75.85, 89.7]], ["C", [75.4, 88.2, 74, 88.4]], ["C", [71.9, 88.7, 72.2, 90.6]], ["C", [72.4, 91.7, 74.1, 91.8]], ["C", [75.3, 91.8, 75.4, 92.4]], ["C", [75.5, 93.2, 74.6, 93.4]], ["C", [73.95, 93.5, 73.6, 92.5]], ["L", [74, 92.4]], ["L", [73.85, 91.9]], ["L", [72.5, 92.2]], ["L", [72.6, 92.9]], ["L", [72.8, 92.9]], ["C", [73.4, 94.4, 74.7, 94.1]], ["C", [76.4, 93.9, 76.1, 92.2]], ["C", [76.05, 91, 74.1, 91]], ["C", [73.1, 90.9, 73, 90.4]], ["C", [72.9, 89.4, 74.1, 89.2]], ["C", [74.7, 89.1, 75, 89.8]], ["L", [74.8, 89.8]], ["L", [74.8, 90.4]], ["L", [76.05, 90.2]], ["L", [76.05, 89.7]], ["M", [62.4, 91.1]], ["L", [62.4, 91.6]], ["L", [62.7, 91.5]], ["L", [63.45, 95.1]], ["L", [63.1, 95.2]], ["L", [63.2, 95.8]], ["L", [64.6, 95.5]], ["L", [64.5, 95]], ["L", [64.2, 95]], ["L", [63.45, 90.8]], ["L", [62.4, 91.1]], ["M", [62.9, 89.2]], ["C", [62.5, 89.3, 62, 89.8]], ["C", [62.1, 90.3, 62.8, 90.3]], ["C", [63.35, 90.3, 63.7, 89.8]], ["C", [63.7, 89.3, 62.9, 89.2]], ["M", [67.9, 91.9]], ["C", [68.1, 93.2, 66.2, 93.5]], ["C", [65.1, 93.7, 65, 93]], ["C", [64.8, 91.7, 66.7, 91.4]], ["C", [67.8, 91.2, 67.9, 91.9]], ["M", [66.6, 90.6]], ["C", [63.9, 91, 64.2, 93]], ["C", [64.5, 94.6, 66.3, 94.3]], ["C", [69, 93.9, 68.7, 91.9]], ["C", [68.4, 90.3, 66.6, 90.6]], ["M", [68.8, 91]], ["L", [69.1, 93.4]], ["C", [69.3, 95.3, 71, 95]], ["C", [72.3, 94.8, 72.1, 93]], ["L", [71.9, 91.1]], ["L", [72.3, 91.1]], ["L", [72.1, 90.6]], ["L", [70.7, 90.6]], ["L", [70.8, 91.3]], ["L", [71.1, 91.2]], ["L", [71.3, 93.1]], ["C", [71.4, 94.2, 70.8, 94.3]], ["C", [70, 94.4, 69.9, 93.4]], ["L", [69.65, 90.8]], ["L", [70.2, 90.7]], ["L", [70.1, 90.2]], ["L", [68.4, 90.3]], ["L", [68.6, 91.1]], ["L", [68.8, 91]], ["M", [60.6, 91.7]], ["C", [61.35, 91.5, 61.8, 93.1]], ["L", [61.5, 93.2]], ["L", [61.6, 93.9]], ["L", [62.8, 93.4]], ["L", [62.7, 93]], ["L", [62.5, 93]], ["C", [61.9, 90.6, 60.5, 90.9]], ["C", [58.7, 91.1, 59.25, 94]], ["C", [59.6, 96.8, 61.45, 96.5]], ["C", [62, 96.4, 62.4, 95.7]], ["L", [62.6, 95.7]], ["L", [62.9, 95.2]], ["L", [61.6, 95]], ["L", [61.5, 95.3]], ["L", [61.7, 95.4]], ["C", [61.5, 95.7, 61.35, 95.8]], ["C", [60.3, 95.9, 60, 93.9]], ["C", [59.6, 91.8, 60.6, 91.7]], ["M", [55.5, 95.3]], ["C", [55.6, 95.7, 54.8, 95.9]], ["C", [54, 96, 53.9, 95.5]], ["C", [53.9, 95.1, 54.7, 95]], ["C", [55.4, 94.9, 55.5, 95.3]], ["M", [54.3, 93.4]], ["L", [53.9, 93.4]], ["C", [54, 92.7, 54.4, 92.6]], ["C", [54.95, 92.5, 55.2, 93.5]], ["L", [55.3, 94.3]], ["C", [54.95, 94.1, 54.5, 94.2]], ["C", [53.15, 94.4, 53.3, 95.6]], ["C", [53.5, 96.9, 54.95, 96.6]], ["C", [55.3, 96.6, 55.7, 96.3]], ["L", [55.7, 96.5]], ["L", [55.6, 96.5]], ["L", [55.7, 97.1]], ["L", [57.05, 97]], ["L", [56.8, 96.2]], ["L", [56.5, 96.3]], ["L", [55.9, 93.4]], ["C", [55.5, 91.6, 54.2, 91.8]], ["C", [53.2, 92, 53.2, 93.3]], ["L", [52.95, 93.3]], ["L", [52.85, 94.1]], ["L", [54.3, 93.8]], ["L", [54.3, 93.4]], ["M", [57.8, 92.2]], ["L", [58.4, 95.9]], ["L", [58.1, 96]], ["L", [58.3, 96.6]], ["L", [59.6, 96.3]], ["L", [59.5, 95.8]], ["L", [59.25, 95.8]], ["L", [58.5, 91.6]], ["L", [57.5, 91.9]], ["L", [57.4, 92.4]], ["L", [57.8, 92.2]], ["M", [57.9, 91.1]], ["C", [58.4, 91.1, 58.8, 90.6]], ["C", [58.7, 90.1, 58, 90]], ["C", [57.5, 90.1, 57.15, 90.6]], ["C", [57.25, 91, 57.9, 91.1]], ["M", [57.05, 90]], ["L", [56, 90.2]], ["L", [55.9, 90.8]], ["L", [56.1, 90.7]], ["L", [57.05, 96]], ["L", [56.8, 96.1]], ["L", [57.05, 96.7]], ["L", [58.1, 96.3]], ["L", [58, 95.9]], ["L", [57.8, 96]], ["L", [56.9, 90.5]], ["L", [57.15, 90.5]], ["L", [57.05, 90]], ["M", [44.65, 95.6]], ["C", [44.8, 96.9, 43, 97.2]], ["C", [41.8, 97.4, 41.7, 96.7]], ["C", [41.5, 95.4, 43.4, 95.1]], ["C", [44.55, 94.9, 44.65, 95.6]], ["M", [43.3, 94.3]], ["C", [40.65, 94.7, 40.9, 96.7]], ["C", [41.2, 98.3, 43, 98]], ["C", [45.7, 97.6, 45.4, 95.5]], ["C", [45.2, 94, 43.3, 94.3]], ["M", [45.1, 93.5]], ["L", [45.3, 93.4]], ["L", [46.1, 97.8]], ["L", [45.9, 97.9]], ["L", [45.9, 98.4]], ["L", [47.2, 98.3]], ["L", [47, 97.7]], ["L", [46.9, 97.7]], ["L", [46.4, 95.1]], ["C", [46.5, 93.7, 47.2, 93.6]], ["C", [47.7, 93.7, 47.8, 94.8]], ["L", [48.2, 97.8]], ["L", [48, 97.8]], ["L", [48.2, 98.6]], ["L", [49.5, 98.2]], ["L", [49.2, 97.6]], ["L", [49, 97.7]], ["L", [48.6, 94.7]], ["C", [48.3, 92.6, 47.1, 92.8]], ["C", [46.5, 92.9, 46.2, 93.4]], ["L", [46.1, 93.2]], ["L", [46.3, 93.2]], ["L", [46.2, 92.7]], ["L", [44.9, 92.9]], ["L", [45.1, 93.5]], ["M", [48.6, 92.5]], ["L", [48.75, 93.3]], ["L", [49.3, 93.2]], ["L", [49.8, 95.8]], ["C", [50.2, 98, 51.8, 97.7]], ["C", [53.2, 97.5, 52.85, 95.6]], ["C", [52.85, 95.5, 52.7, 95.4]], ["L", [53.05, 95.3]], ["L", [52.85, 94.9]], ["L", [51.6, 95.2]], ["L", [51.8, 95.7]], ["L", [52, 95.7]], ["L", [52, 95.9]], ["C", [52.2, 96.9, 51.7, 96.9]], ["C", [50.95, 97.1, 50.6, 95.7]], ["L", [50.1, 93]], ["L", [51.3, 92.8]], ["L", [51.2, 92]], ["L", [50, 92.2]], ["L", [49.9, 91.5]], ["L", [50.1, 91.5]], ["L", [50, 90.8]], ["L", [48.85, 91.2]], ["L", [48.95, 91.7]], ["L", [49.1, 91.7]], ["L", [49.2, 92.4]], ["L", [48.6, 92.5]], ["M", [39.3, 93.3]], ["C", [39.7, 93.2, 40, 94.6]], ["L", [39.7, 94.6]], ["L", [39.7, 95.1]], ["L", [41, 95]], ["L", [41.2, 94.3]], ["L", [40.8, 94.4]], ["C", [40.45, 92.3, 39.1, 92.5]], ["C", [38.1, 92.7, 38, 94.1]], ["C", [37.9, 94.6, 37.9, 95.4]], ["L", [38, 95.9]], ["L", [37.7, 96]], ["L", [37.8, 96.6]], ["L", [38.1, 96.6]], ["L", [38.55, 99.6]], ["L", [38.1, 99.7]], ["L", [38.45, 100.2]], ["L", [39.5, 100]], ["L", [39.7, 99.3]], ["L", [39.3, 99.4]], ["L", [38.9, 96.4]], ["L", [39.8, 96.3]], ["L", [39.6, 95.4]], ["L", [38.8, 95.7]], ["L", [38.7, 95.3]], ["C", [38.45, 93.4, 39.3, 93.3]], ["M", [37.6, 71.9]], ["L", [28.9, 78.6]], ["C", [29.8, 87, 39.3, 86.4]], ["C", [42.55, 86.2, 42.55, 83.9]], ["C", [42.55, 82.5, 40.75, 79.05]], ["C", [39, 75.6, 39, 74.8]], ["C", [39, 73.8, 41.5, 72.7]], ["C", [42.9, 72.1, 44.1, 71.8]], ["C", [43.1, 71, 41.9, 71]], ["C", [40.55, 71, 39.3, 72.2]], ["L", [37.6, 71.9]], ["M", [72.2, 40.7]], ["C", [72.2, 42.6, 70.9, 43.85]], ["C", [69.65, 45.1, 67.7, 45.1]], ["C", [65.9, 45.1, 64.6, 43.8]], ["C", [63.35, 42.5, 63.35, 40.7]], ["C", [63.35, 38.8, 64.55, 37.5]], ["C", [65.8, 36.2, 67.7, 36.2]], ["C", [69.65, 36.2, 70.9, 37.5]], ["C", [72.2, 38.8, 72.2, 40.7]], ["M", [46.65, 43.4]], ["L", [44.55, 43.2]], ["L", [45, 40.8]], ["L", [51.3, 42.1]], ["L", [50.7, 44.5]], ["L", [48.5, 44.1]], ["C", [47.8, 45.9, 47.8, 47.8]], ["C", [47.8, 54.9, 54.2, 57.2]], ["C", [55.9, 57.8, 57.4, 57.8]], ["C", [64.4, 57.8, 67, 50.8]], ["L", [64.9, 50.3]], ["L", [65.7, 48.1]], ["L", [72.5, 49.5]], ["L", [70.9, 52.3]], ["L", [68.9, 51.5]], ["C", [67.55, 55.2, 64.4, 57.5]], ["C", [61.35, 59.8, 57.4, 59.8]], ["C", [51.4, 59.8, 47.9, 54.7]], ["C", [45.8, 51.6, 45.8, 47.8]], ["C", [45.8, 45.5, 46.65, 43.4]], ["M", [57.9, 34.15]], ["C", [59.25, 35.4, 59.25, 37.3]], ["C", [59.25, 39.2, 57.9, 40.5]], ["C", [56.6, 41.8, 54.7, 41.8]], ["C", [52.85, 41.8, 51.55, 40.5]], ["C", [50.3, 39.2, 50.3, 37.3]], ["C", [50.3, 35.5, 51.6, 34.2]], ["C", [52.95, 32.9, 54.7, 32.9]], ["C", [56.6, 32.9, 57.9, 34.15]], ["M", [58.3, 14.2]], ["C", [46.5, 14.2, 37.1, 20.4]], ["C", [26.4, 27.4, 26.4, 38.6]], ["C", [26.4, 43.2, 28.7, 47.6]], ["C", [22.4, 55, 22.4, 61.8]], ["C", [22.4, 69.5, 29.5, 74.7]], ["L", [33.7, 71.6]], ["C", [28.4, 65.5, 28.4, 60.6]], ["C", [28.4, 57, 32.3, 52.7]], ["C", [41.8, 63, 58.3, 63]], ["C", [70.1, 63, 79.4, 56.8]], ["C", [90.1, 49.8, 90.1, 38.6]], ["C", [90.1, 27.4, 79.4, 20.4]], ["C", [70.1, 14.2, 58.3, 14.2]], ["M", [85.6, 82.2]], ["L", [80.4, 71.6]], ["C", [79.95, 71.4, 79.6, 71.4]], ["C", [78.7, 71.4, 78.4, 72.7]], ["C", [76.6, 69.8, 75.1, 69.8]], ["C", [74.1, 69.8, 73.4, 71.2]], ["C", [76.1, 73.5, 76.1, 75.3]], ["C", [76.1, 76.5, 74.7, 77.1]], ["C", [70.4, 79.1, 70.4, 83.6]], ["C", [70.4, 87.6, 76.1, 87.6]], ["C", [82.15, 87.6, 84.4, 83.2]], ["L", [85.6, 82.2]], ["M", [86.45, 63.8]], ["C", [86.45, 61.2, 85, 58.2]], ["C", [74.2, 67.5, 58.3, 67.5]], ["C", [41.8, 67.5, 31, 57.7]], ["C", [30.3, 58.8, 30.3, 60.1]], ["C", [30.3, 64.4, 36.25, 69.5]], ["L", [37.3, 68.7]], ["C", [37.9, 68.4, 38.55, 68.4]], ["C", [39.6, 68.4, 40, 70]], ["C", [41.6, 68.7, 43.2, 68.7]], ["C", [45.3, 68.7, 46.65, 71.3]], ["L", [70.3, 71.4]], ["C", [73.5, 67.7, 75, 67.7]], ["C", [76.5, 67.7, 78.15, 69.8]], ["C", [79.95, 68.2, 81.2, 68.2]], ["C", [81.9, 68.2, 82.3, 68.7]], ["L", [82.8, 69.7]], ["C", [86.45, 67.8, 86.45, 63.8]], ["M", [87.3, 57]], ["C", [88.6, 59.7, 88.6, 62.4]], ["C", [88.6, 68.3, 83.3, 72.8]], ["L", [86.25, 78.2]], ["C", [92.7, 71.6, 92.7, 62.2]], ["C", [92.7, 56.7, 90.7, 51.9]], ["C", [89.6, 54.2, 87.3, 57]], ["M", [94.65, 38.6]], ["C", [94.65, 44.6, 91.7, 50.1]], ["C", [95.6, 58, 95.6, 64.9]], ["C", [95.6, 75.4, 87.9, 81]], ["L", [88.55, 82.3]], ["C", [87.6, 85.1, 86.7, 85.1]], ["C", [86.45, 85.1, 86, 84.9]], ["C", [84.6, 86.5, 81.7, 88.4]], ["L", [81.3, 95.2]], ["L", [35.3, 102.7]], ["L", [32.6, 89.3]], ["C", [27.4, 85.6, 27.4, 82.1]], ["C", [27.4, 81.2, 27.85, 80.4]], ["C", [26.3, 78.5, 26.3, 77.2]], ["C", [26.3, 76.8, 26.5, 76.4]], ["L", [27.2, 75.9]], ["C", [20.1, 70.8, 20.1, 63]], ["C", [20.1, 56.6, 24.6, 49.6]], ["C", [21.9, 44.3, 21.9, 38.6]], ["C", [21.9, 25.4, 33.9, 17.1]], ["C", [44.65, 9.7, 58.3, 9.7]], ["C", [72, 9.7, 82.7, 17.1]], ["C", [94.65, 25.4, 94.65, 38.6]]]; __motifs["\\"] = [["M", [76.05, 89.7]], ["L", [75.85, 89.7]], ["C", [75.4, 88.2, 74, 88.4]], ["C", [71.9, 88.7, 72.2, 90.6]], ["C", [72.4, 91.7, 74.1, 91.8]], ["C", [75.3, 91.8, 75.4, 92.4]], ["C", [75.5, 93.2, 74.6, 93.4]], ["C", [73.95, 93.5, 73.6, 92.5]], ["L", [74, 92.4]], ["L", [73.85, 91.9]], ["L", [72.5, 92.2]], ["L", [72.6, 92.9]], ["L", [72.8, 92.9]], ["C", [73.4, 94.4, 74.7, 94.1]], ["C", [76.4, 93.9, 76.1, 92.2]], ["C", [76.05, 91, 74.1, 91]], ["C", [73.1, 90.9, 73, 90.4]], ["C", [72.9, 89.4, 74.1, 89.2]], ["C", [74.7, 89.1, 75, 89.8]], ["L", [74.8, 89.8]], ["L", [74.8, 90.4]], ["L", [76.05, 90.2]], ["L", [76.05, 89.7]], ["M", [62.4, 91.1]], ["L", [62.4, 91.6]], ["L", [62.7, 91.5]], ["L", [63.45, 95.1]], ["L", [63.1, 95.2]], ["L", [63.2, 95.8]], ["L", [64.6, 95.5]], ["L", [64.5, 95]], ["L", [64.2, 95]], ["L", [63.45, 90.8]], ["L", [62.4, 91.1]], ["M", [62.9, 89.2]], ["C", [62.5, 89.3, 62, 89.8]], ["C", [62.1, 90.3, 62.8, 90.3]], ["C", [63.35, 90.3, 63.7, 89.8]], ["C", [63.7, 89.3, 62.9, 89.2]], ["M", [67.9, 91.9]], ["C", [68.1, 93.2, 66.2, 93.5]], ["C", [65.1, 93.7, 65, 93]], ["C", [64.8, 91.7, 66.7, 91.4]], ["C", [67.8, 91.2, 67.9, 91.9]], ["M", [66.6, 90.6]], ["C", [63.9, 91, 64.2, 93]], ["C", [64.5, 94.6, 66.3, 94.3]], ["C", [69, 93.9, 68.7, 91.9]], ["C", [68.4, 90.3, 66.6, 90.6]], ["M", [68.8, 91]], ["L", [69.1, 93.4]], ["C", [69.3, 95.3, 71, 95]], ["C", [72.3, 94.8, 72.1, 93]], ["L", [71.9, 91.1]], ["L", [72.3, 91.1]], ["L", [72.1, 90.6]], ["L", [70.7, 90.6]], ["L", [70.8, 91.3]], ["L", [71.1, 91.2]], ["L", [71.3, 93.1]], ["C", [71.4, 94.2, 70.8, 94.3]], ["C", [70, 94.4, 69.9, 93.4]], ["L", [69.65, 90.8]], ["L", [70.2, 90.7]], ["L", [70.1, 90.2]], ["L", [68.4, 90.3]], ["L", [68.6, 91.1]], ["L", [68.8, 91]], ["M", [60.6, 91.7]], ["C", [61.35, 91.5, 61.8, 93.1]], ["L", [61.5, 93.2]], ["L", [61.6, 93.9]], ["L", [62.8, 93.4]], ["L", [62.7, 93]], ["L", [62.5, 93]], ["C", [61.9, 90.6, 60.5, 90.9]], ["C", [58.7, 91.1, 59.25, 94]], ["C", [59.6, 96.8, 61.45, 96.5]], ["C", [62, 96.4, 62.4, 95.7]], ["L", [62.6, 95.7]], ["L", [62.9, 95.2]], ["L", [61.6, 95]], ["L", [61.5, 95.3]], ["L", [61.7, 95.4]], ["C", [61.5, 95.7, 61.35, 95.8]], ["C", [60.3, 95.9, 60, 93.9]], ["C", [59.6, 91.8, 60.6, 91.7]], ["M", [55.5, 95.3]], ["C", [55.6, 95.7, 54.8, 95.9]], ["C", [54, 96, 53.9, 95.5]], ["C", [53.9, 95.1, 54.7, 95]], ["C", [55.4, 94.9, 55.5, 95.3]], ["M", [54.3, 93.4]], ["L", [53.9, 93.4]], ["C", [54, 92.7, 54.4, 92.6]], ["C", [54.95, 92.5, 55.2, 93.5]], ["L", [55.3, 94.3]], ["C", [54.95, 94.1, 54.5, 94.2]], ["C", [53.15, 94.4, 53.3, 95.6]], ["C", [53.5, 96.9, 54.95, 96.6]], ["C", [55.3, 96.6, 55.7, 96.3]], ["L", [55.7, 96.5]], ["L", [55.6, 96.5]], ["L", [55.7, 97.1]], ["L", [57.05, 97]], ["L", [56.8, 96.2]], ["L", [56.5, 96.3]], ["L", [55.9, 93.4]], ["C", [55.5, 91.6, 54.2, 91.8]], ["C", [53.2, 92, 53.2, 93.3]], ["L", [52.95, 93.3]], ["L", [52.85, 94.1]], ["L", [54.3, 93.8]], ["L", [54.3, 93.4]], ["M", [57.8, 92.2]], ["L", [58.4, 95.9]], ["L", [58.1, 96]], ["L", [58.3, 96.6]], ["L", [59.6, 96.3]], ["L", [59.5, 95.8]], ["L", [59.25, 95.8]], ["L", [58.5, 91.6]], ["L", [57.5, 91.9]], ["L", [57.4, 92.4]], ["L", [57.8, 92.2]], ["M", [57.9, 91.1]], ["C", [58.4, 91.1, 58.8, 90.6]], ["C", [58.7, 90.1, 58, 90]], ["C", [57.5, 90.1, 57.15, 90.6]], ["C", [57.25, 91, 57.9, 91.1]], ["M", [57.05, 90]], ["L", [56, 90.2]], ["L", [55.9, 90.8]], ["L", [56.1, 90.7]], ["L", [57.05, 96]], ["L", [56.8, 96.1]], ["L", [57.05, 96.7]], ["L", [58.1, 96.3]], ["L", [58, 95.9]], ["L", [57.8, 96]], ["L", [56.9, 90.5]], ["L", [57.15, 90.5]], ["L", [57.05, 90]], ["M", [44.65, 95.6]], ["C", [44.8, 96.9, 43, 97.2]], ["C", [41.8, 97.4, 41.7, 96.7]], ["C", [41.5, 95.4, 43.4, 95.1]], ["C", [44.55, 94.9, 44.65, 95.6]], ["M", [43.3, 94.3]], ["C", [40.65, 94.7, 40.9, 96.7]], ["C", [41.2, 98.3, 43, 98]], ["C", [45.7, 97.6, 45.4, 95.5]], ["C", [45.2, 94, 43.3, 94.3]], ["M", [45.1, 93.5]], ["L", [45.3, 93.4]], ["L", [46.1, 97.8]], ["L", [45.9, 97.9]], ["L", [45.9, 98.4]], ["L", [47.2, 98.3]], ["L", [47, 97.7]], ["L", [46.9, 97.7]], ["L", [46.4, 95.1]], ["C", [46.5, 93.7, 47.2, 93.6]], ["C", [47.7, 93.7, 47.8, 94.8]], ["L", [48.2, 97.8]], ["L", [48, 97.8]], ["L", [48.2, 98.6]], ["L", [49.5, 98.2]], ["L", [49.2, 97.6]], ["L", [49, 97.7]], ["L", [48.6, 94.7]], ["C", [48.3, 92.6, 47.1, 92.8]], ["C", [46.5, 92.9, 46.2, 93.4]], ["L", [46.1, 93.2]], ["L", [46.3, 93.2]], ["L", [46.2, 92.7]], ["L", [44.9, 92.9]], ["L", [45.1, 93.5]], ["M", [48.6, 92.5]], ["L", [48.75, 93.3]], ["L", [49.3, 93.2]], ["L", [49.8, 95.8]], ["C", [50.2, 98, 51.8, 97.7]], ["C", [53.2, 97.5, 52.85, 95.6]], ["C", [52.85, 95.5, 52.7, 95.4]], ["L", [53.05, 95.3]], ["L", [52.85, 94.9]], ["L", [51.6, 95.2]], ["L", [51.8, 95.7]], ["L", [52, 95.7]], ["L", [52, 95.9]], ["C", [52.2, 96.9, 51.7, 96.9]], ["C", [50.95, 97.1, 50.6, 95.7]], ["L", [50.1, 93]], ["L", [51.3, 92.8]], ["L", [51.2, 92]], ["L", [50, 92.2]], ["L", [49.9, 91.5]], ["L", [50.1, 91.5]], ["L", [50, 90.8]], ["L", [48.85, 91.2]], ["L", [48.95, 91.7]], ["L", [49.1, 91.7]], ["L", [49.2, 92.4]], ["L", [48.6, 92.5]], ["M", [39.3, 93.3]], ["C", [39.7, 93.2, 40, 94.6]], ["L", [39.7, 94.6]], ["L", [39.7, 95.1]], ["L", [41, 95]], ["L", [41.2, 94.3]], ["L", [40.8, 94.4]], ["C", [40.45, 92.3, 39.1, 92.5]], ["C", [38.1, 92.7, 38, 94.1]], ["C", [37.9, 94.6, 37.9, 95.4]], ["L", [38, 95.9]], ["L", [37.7, 96]], ["L", [37.8, 96.6]], ["L", [38.1, 96.6]], ["L", [38.55, 99.6]], ["L", [38.1, 99.7]], ["L", [38.45, 100.2]], ["L", [39.5, 100]], ["L", [39.7, 99.3]], ["L", [39.3, 99.4]], ["L", [38.9, 96.4]], ["L", [39.8, 96.3]], ["L", [39.6, 95.4]], ["L", [38.8, 95.7]], ["L", [38.7, 95.3]], ["C", [38.45, 93.4, 39.3, 93.3]], ["M", [37.6, 71.9]], ["L", [28.9, 78.6]], ["C", [29.8, 87, 39.3, 86.4]], ["C", [42.55, 86.2, 42.55, 83.9]], ["C", [42.55, 82.5, 40.75, 79.05]], ["C", [39, 75.6, 39, 74.8]], ["C", [39, 73.8, 41.5, 72.7]], ["C", [42.9, 72.1, 44.1, 71.8]], ["C", [43.1, 71, 41.9, 71]], ["C", [40.55, 71, 39.3, 72.2]], ["L", [37.6, 71.9]], ["M", [72.2, 40.7]], ["C", [72.2, 42.6, 70.9, 43.85]], ["C", [69.65, 45.1, 67.7, 45.1]], ["C", [65.9, 45.1, 64.6, 43.8]], ["C", [63.35, 42.5, 63.35, 40.7]], ["C", [63.35, 38.8, 64.55, 37.5]], ["C", [65.8, 36.2, 67.7, 36.2]], ["C", [69.65, 36.2, 70.9, 37.5]], ["C", [72.2, 38.8, 72.2, 40.7]], ["M", [46.65, 43.4]], ["L", [44.55, 43.2]], ["L", [45, 40.8]], ["L", [51.3, 42.1]], ["L", [50.7, 44.5]], ["L", [48.5, 44.1]], ["C", [47.8, 45.9, 47.8, 47.8]], ["C", [47.8, 54.9, 54.2, 57.2]], ["C", [55.9, 57.8, 57.4, 57.8]], ["C", [64.4, 57.8, 67, 50.8]], ["L", [64.9, 50.3]], ["L", [65.7, 48.1]], ["L", [72.5, 49.5]], ["L", [70.9, 52.3]], ["L", [68.9, 51.5]], ["C", [67.55, 55.2, 64.4, 57.5]], ["C", [61.35, 59.8, 57.4, 59.8]], ["C", [51.4, 59.8, 47.9, 54.7]], ["C", [45.8, 51.6, 45.8, 47.8]], ["C", [45.8, 45.5, 46.65, 43.4]], ["M", [57.9, 34.15]], ["C", [59.25, 35.4, 59.25, 37.3]], ["C", [59.25, 39.2, 57.9, 40.5]], ["C", [56.6, 41.8, 54.7, 41.8]], ["C", [52.85, 41.8, 51.55, 40.5]], ["C", [50.3, 39.2, 50.3, 37.3]], ["C", [50.3, 35.5, 51.6, 34.2]], ["C", [52.95, 32.9, 54.7, 32.9]], ["C", [56.6, 32.9, 57.9, 34.15]], ["M", [58.3, 14.2]], ["C", [46.5, 14.2, 37.1, 20.4]], ["C", [26.4, 27.4, 26.4, 38.6]], ["C", [26.4, 43.2, 28.7, 47.6]], ["C", [22.4, 55, 22.4, 61.8]], ["C", [22.4, 69.5, 29.5, 74.7]], ["L", [33.7, 71.6]], ["C", [28.4, 65.5, 28.4, 60.6]], ["C", [28.4, 57, 32.3, 52.7]], ["C", [41.8, 63, 58.3, 63]], ["C", [70.1, 63, 79.4, 56.8]], ["C", [90.1, 49.8, 90.1, 38.6]], ["C", [90.1, 27.4, 79.4, 20.4]], ["C", [70.1, 14.2, 58.3, 14.2]], ["M", [85.6, 82.2]], ["L", [80.4, 71.6]], ["C", [79.95, 71.4, 79.6, 71.4]], ["C", [78.7, 71.4, 78.4, 72.7]], ["C", [76.6, 69.8, 75.1, 69.8]], ["C", [74.1, 69.8, 73.4, 71.2]], ["C", [76.1, 73.5, 76.1, 75.3]], ["C", [76.1, 76.5, 74.7, 77.1]], ["C", [70.4, 79.1, 70.4, 83.6]], ["C", [70.4, 87.6, 76.1, 87.6]], ["C", [82.15, 87.6, 84.4, 83.2]], ["L", [85.6, 82.2]], ["M", [86.45, 63.8]], ["C", [86.45, 61.2, 85, 58.2]], ["C", [74.2, 67.5, 58.3, 67.5]], ["C", [41.8, 67.5, 31, 57.7]], ["C", [30.3, 58.8, 30.3, 60.1]], ["C", [30.3, 64.4, 36.25, 69.5]], ["L", [37.3, 68.7]], ["C", [37.9, 68.4, 38.55, 68.4]], ["C", [39.6, 68.4, 40, 70]], ["C", [41.6, 68.7, 43.2, 68.7]], ["C", [45.3, 68.7, 46.65, 71.3]], ["L", [70.3, 71.4]], ["C", [73.5, 67.7, 75, 67.7]], ["C", [76.5, 67.7, 78.15, 69.8]], ["C", [79.95, 68.2, 81.2, 68.2]], ["C", [81.9, 68.2, 82.3, 68.7]], ["L", [82.8, 69.7]], ["C", [86.45, 67.8, 86.45, 63.8]], ["M", [87.3, 57]], ["C", [88.6, 59.7, 88.6, 62.4]], ["C", [88.6, 68.3, 83.3, 72.8]], ["L", [86.25, 78.2]], ["C", [92.7, 71.6, 92.7, 62.2]], ["C", [92.7, 56.7, 90.7, 51.9]], ["C", [89.6, 54.2, 87.3, 57]], ["M", [94.65, 38.6]], ["C", [94.65, 44.6, 91.7, 50.1]], ["C", [95.6, 58, 95.6, 64.9]], ["C", [95.6, 75.4, 87.9, 81]], ["L", [88.55, 82.3]], ["C", [87.6, 85.1, 86.7, 85.1]], ["C", [86.45, 85.1, 86, 84.9]], ["C", [84.6, 86.5, 81.7, 88.4]], ["L", [81.3, 95.2]], ["L", [35.3, 102.7]], ["L", [32.6, 89.3]], ["C", [27.4, 85.6, 27.4, 82.1]], ["C", [27.4, 81.2, 27.85, 80.4]], ["C", [26.3, 78.5, 26.3, 77.2]], ["C", [26.3, 76.8, 26.5, 76.4]], ["L", [27.2, 75.9]], ["C", [20.1, 70.8, 20.1, 63]], ["C", [20.1, 56.6, 24.6, 49.6]], ["C", [21.9, 44.3, 21.9, 38.6]], ["C", [21.9, 25.4, 33.9, 17.1]], ["C", [44.65, 9.7, 58.3, 9.7]], ["C", [72, 9.7, 82.7, 17.1]], ["C", [94.65, 25.4, 94.65, 38.6]]]; __motifs["'"] = [["M", [76.05, 89.7]], ["L", [75.85, 89.7]], ["C", [75.4, 88.2, 74, 88.4]], ["C", [71.9, 88.7, 72.2, 90.6]], ["C", [72.4, 91.7, 74.1, 91.8]], ["C", [75.3, 91.8, 75.4, 92.4]], ["C", [75.5, 93.2, 74.6, 93.4]], ["C", [73.95, 93.5, 73.6, 92.5]], ["L", [74, 92.4]], ["L", [73.85, 91.9]], ["L", [72.5, 92.2]], ["L", [72.6, 92.9]], ["L", [72.8, 92.9]], ["C", [73.4, 94.4, 74.7, 94.1]], ["C", [76.4, 93.9, 76.1, 92.2]], ["C", [76.05, 91, 74.1, 91]], ["C", [73.1, 90.9, 73, 90.4]], ["C", [72.9, 89.4, 74.1, 89.2]], ["C", [74.7, 89.1, 75, 89.8]], ["L", [74.8, 89.8]], ["L", [74.8, 90.4]], ["L", [76.05, 90.2]], ["L", [76.05, 89.7]], ["M", [62.4, 91.1]], ["L", [62.4, 91.6]], ["L", [62.7, 91.5]], ["L", [63.45, 95.1]], ["L", [63.1, 95.2]], ["L", [63.2, 95.8]], ["L", [64.6, 95.5]], ["L", [64.5, 95]], ["L", [64.2, 95]], ["L", [63.45, 90.8]], ["L", [62.4, 91.1]], ["M", [62.9, 89.2]], ["C", [62.5, 89.3, 62, 89.8]], ["C", [62.1, 90.3, 62.8, 90.3]], ["C", [63.35, 90.3, 63.7, 89.8]], ["C", [63.7, 89.3, 62.9, 89.2]], ["M", [67.9, 91.9]], ["C", [68.1, 93.2, 66.2, 93.5]], ["C", [65.1, 93.7, 65, 93]], ["C", [64.8, 91.7, 66.7, 91.4]], ["C", [67.8, 91.2, 67.9, 91.9]], ["M", [66.6, 90.6]], ["C", [63.9, 91, 64.2, 93]], ["C", [64.5, 94.6, 66.3, 94.3]], ["C", [69, 93.9, 68.7, 91.9]], ["C", [68.4, 90.3, 66.6, 90.6]], ["M", [68.8, 91]], ["L", [69.1, 93.4]], ["C", [69.3, 95.3, 71, 95]], ["C", [72.3, 94.8, 72.1, 93]], ["L", [71.9, 91.1]], ["L", [72.3, 91.1]], ["L", [72.1, 90.6]], ["L", [70.7, 90.6]], ["L", [70.8, 91.3]], ["L", [71.1, 91.2]], ["L", [71.3, 93.1]], ["C", [71.4, 94.2, 70.8, 94.3]], ["C", [70, 94.4, 69.9, 93.4]], ["L", [69.65, 90.8]], ["L", [70.2, 90.7]], ["L", [70.1, 90.2]], ["L", [68.4, 90.3]], ["L", [68.6, 91.1]], ["L", [68.8, 91]], ["M", [60.6, 91.7]], ["C", [61.35, 91.5, 61.8, 93.1]], ["L", [61.5, 93.2]], ["L", [61.6, 93.9]], ["L", [62.8, 93.4]], ["L", [62.7, 93]], ["L", [62.5, 93]], ["C", [61.9, 90.6, 60.5, 90.9]], ["C", [58.7, 91.1, 59.25, 94]], ["C", [59.6, 96.8, 61.45, 96.5]], ["C", [62, 96.4, 62.4, 95.7]], ["L", [62.6, 95.7]], ["L", [62.9, 95.2]], ["L", [61.6, 95]], ["L", [61.5, 95.3]], ["L", [61.7, 95.4]], ["C", [61.5, 95.7, 61.35, 95.8]], ["C", [60.3, 95.9, 60, 93.9]], ["C", [59.6, 91.8, 60.6, 91.7]], ["M", [55.5, 95.3]], ["C", [55.6, 95.7, 54.8, 95.9]], ["C", [54, 96, 53.9, 95.5]], ["C", [53.9, 95.1, 54.7, 95]], ["C", [55.4, 94.9, 55.5, 95.3]], ["M", [54.3, 93.4]], ["L", [53.9, 93.4]], ["C", [54, 92.7, 54.4, 92.6]], ["C", [54.95, 92.5, 55.2, 93.5]], ["L", [55.3, 94.3]], ["C", [54.95, 94.1, 54.5, 94.2]], ["C", [53.15, 94.4, 53.3, 95.6]], ["C", [53.5, 96.9, 54.95, 96.6]], ["C", [55.3, 96.6, 55.7, 96.3]], ["L", [55.7, 96.5]], ["L", [55.6, 96.5]], ["L", [55.7, 97.1]], ["L", [57.05, 97]], ["L", [56.8, 96.2]], ["L", [56.5, 96.3]], ["L", [55.9, 93.4]], ["C", [55.5, 91.6, 54.2, 91.8]], ["C", [53.2, 92, 53.2, 93.3]], ["L", [52.95, 93.3]], ["L", [52.85, 94.1]], ["L", [54.3, 93.8]], ["L", [54.3, 93.4]], ["M", [57.8, 92.2]], ["L", [58.4, 95.9]], ["L", [58.1, 96]], ["L", [58.3, 96.6]], ["L", [59.6, 96.3]], ["L", [59.5, 95.8]], ["L", [59.25, 95.8]], ["L", [58.5, 91.6]], ["L", [57.5, 91.9]], ["L", [57.4, 92.4]], ["L", [57.8, 92.2]], ["M", [57.9, 91.1]], ["C", [58.4, 91.1, 58.8, 90.6]], ["C", [58.7, 90.1, 58, 90]], ["C", [57.5, 90.1, 57.15, 90.6]], ["C", [57.25, 91, 57.9, 91.1]], ["M", [57.05, 90]], ["L", [56, 90.2]], ["L", [55.9, 90.8]], ["L", [56.1, 90.7]], ["L", [57.05, 96]], ["L", [56.8, 96.1]], ["L", [57.05, 96.7]], ["L", [58.1, 96.3]], ["L", [58, 95.9]], ["L", [57.8, 96]], ["L", [56.9, 90.5]], ["L", [57.15, 90.5]], ["L", [57.05, 90]], ["M", [44.65, 95.6]], ["C", [44.8, 96.9, 43, 97.2]], ["C", [41.8, 97.4, 41.7, 96.7]], ["C", [41.5, 95.4, 43.4, 95.1]], ["C", [44.55, 94.9, 44.65, 95.6]], ["M", [43.3, 94.3]], ["C", [40.65, 94.7, 40.9, 96.7]], ["C", [41.2, 98.3, 43, 98]], ["C", [45.7, 97.6, 45.4, 95.5]], ["C", [45.2, 94, 43.3, 94.3]], ["M", [45.1, 93.5]], ["L", [45.3, 93.4]], ["L", [46.1, 97.8]], ["L", [45.9, 97.9]], ["L", [45.9, 98.4]], ["L", [47.2, 98.3]], ["L", [47, 97.7]], ["L", [46.9, 97.7]], ["L", [46.4, 95.1]], ["C", [46.5, 93.7, 47.2, 93.6]], ["C", [47.7, 93.7, 47.8, 94.8]], ["L", [48.2, 97.8]], ["L", [48, 97.8]], ["L", [48.2, 98.6]], ["L", [49.5, 98.2]], ["L", [49.2, 97.6]], ["L", [49, 97.7]], ["L", [48.6, 94.7]], ["C", [48.3, 92.6, 47.1, 92.8]], ["C", [46.5, 92.9, 46.2, 93.4]], ["L", [46.1, 93.2]], ["L", [46.3, 93.2]], ["L", [46.2, 92.7]], ["L", [44.9, 92.9]], ["L", [45.1, 93.5]], ["M", [48.6, 92.5]], ["L", [48.75, 93.3]], ["L", [49.3, 93.2]], ["L", [49.8, 95.8]], ["C", [50.2, 98, 51.8, 97.7]], ["C", [53.2, 97.5, 52.85, 95.6]], ["C", [52.85, 95.5, 52.7, 95.4]], ["L", [53.05, 95.3]], ["L", [52.85, 94.9]], ["L", [51.6, 95.2]], ["L", [51.8, 95.7]], ["L", [52, 95.7]], ["L", [52, 95.9]], ["C", [52.2, 96.9, 51.7, 96.9]], ["C", [50.95, 97.1, 50.6, 95.7]], ["L", [50.1, 93]], ["L", [51.3, 92.8]], ["L", [51.2, 92]], ["L", [50, 92.2]], ["L", [49.9, 91.5]], ["L", [50.1, 91.5]], ["L", [50, 90.8]], ["L", [48.85, 91.2]], ["L", [48.95, 91.7]], ["L", [49.1, 91.7]], ["L", [49.2, 92.4]], ["L", [48.6, 92.5]], ["M", [39.3, 93.3]], ["C", [39.7, 93.2, 40, 94.6]], ["L", [39.7, 94.6]], ["L", [39.7, 95.1]], ["L", [41, 95]], ["L", [41.2, 94.3]], ["L", [40.8, 94.4]], ["C", [40.45, 92.3, 39.1, 92.5]], ["C", [38.1, 92.7, 38, 94.1]], ["C", [37.9, 94.6, 37.9, 95.4]], ["L", [38, 95.9]], ["L", [37.7, 96]], ["L", [37.8, 96.6]], ["L", [38.1, 96.6]], ["L", [38.55, 99.6]], ["L", [38.1, 99.7]], ["L", [38.45, 100.2]], ["L", [39.5, 100]], ["L", [39.7, 99.3]], ["L", [39.3, 99.4]], ["L", [38.9, 96.4]], ["L", [39.8, 96.3]], ["L", [39.6, 95.4]], ["L", [38.8, 95.7]], ["L", [38.7, 95.3]], ["C", [38.45, 93.4, 39.3, 93.3]], ["M", [37.6, 71.9]], ["L", [28.9, 78.6]], ["C", [29.8, 87, 39.3, 86.4]], ["C", [42.55, 86.2, 42.55, 83.9]], ["C", [42.55, 82.5, 40.75, 79.05]], ["C", [39, 75.6, 39, 74.8]], ["C", [39, 73.8, 41.5, 72.7]], ["C", [42.9, 72.1, 44.1, 71.8]], ["C", [43.1, 71, 41.9, 71]], ["C", [40.55, 71, 39.3, 72.2]], ["L", [37.6, 71.9]], ["M", [72.2, 40.7]], ["C", [72.2, 42.6, 70.9, 43.85]], ["C", [69.65, 45.1, 67.7, 45.1]], ["C", [65.9, 45.1, 64.6, 43.8]], ["C", [63.35, 42.5, 63.35, 40.7]], ["C", [63.35, 38.8, 64.55, 37.5]], ["C", [65.8, 36.2, 67.7, 36.2]], ["C", [69.65, 36.2, 70.9, 37.5]], ["C", [72.2, 38.8, 72.2, 40.7]], ["M", [46.65, 43.4]], ["L", [44.55, 43.2]], ["L", [45, 40.8]], ["L", [51.3, 42.1]], ["L", [50.7, 44.5]], ["L", [48.5, 44.1]], ["C", [47.8, 45.9, 47.8, 47.8]], ["C", [47.8, 54.9, 54.2, 57.2]], ["C", [55.9, 57.8, 57.4, 57.8]], ["C", [64.4, 57.8, 67, 50.8]], ["L", [64.9, 50.3]], ["L", [65.7, 48.1]], ["L", [72.5, 49.5]], ["L", [70.9, 52.3]], ["L", [68.9, 51.5]], ["C", [67.55, 55.2, 64.4, 57.5]], ["C", [61.35, 59.8, 57.4, 59.8]], ["C", [51.4, 59.8, 47.9, 54.7]], ["C", [45.8, 51.6, 45.8, 47.8]], ["C", [45.8, 45.5, 46.65, 43.4]], ["M", [57.9, 34.15]], ["C", [59.25, 35.4, 59.25, 37.3]], ["C", [59.25, 39.2, 57.9, 40.5]], ["C", [56.6, 41.8, 54.7, 41.8]], ["C", [52.85, 41.8, 51.55, 40.5]], ["C", [50.3, 39.2, 50.3, 37.3]], ["C", [50.3, 35.5, 51.6, 34.2]], ["C", [52.95, 32.9, 54.7, 32.9]], ["C", [56.6, 32.9, 57.9, 34.15]], ["M", [58.3, 14.2]], ["C", [46.5, 14.2, 37.1, 20.4]], ["C", [26.4, 27.4, 26.4, 38.6]], ["C", [26.4, 43.2, 28.7, 47.6]], ["C", [22.4, 55, 22.4, 61.8]], ["C", [22.4, 69.5, 29.5, 74.7]], ["L", [33.7, 71.6]], ["C", [28.4, 65.5, 28.4, 60.6]], ["C", [28.4, 57, 32.3, 52.7]], ["C", [41.8, 63, 58.3, 63]], ["C", [70.1, 63, 79.4, 56.8]], ["C", [90.1, 49.8, 90.1, 38.6]], ["C", [90.1, 27.4, 79.4, 20.4]], ["C", [70.1, 14.2, 58.3, 14.2]], ["M", [85.6, 82.2]], ["L", [80.4, 71.6]], ["C", [79.95, 71.4, 79.6, 71.4]], ["C", [78.7, 71.4, 78.4, 72.7]], ["C", [76.6, 69.8, 75.1, 69.8]], ["C", [74.1, 69.8, 73.4, 71.2]], ["C", [76.1, 73.5, 76.1, 75.3]], ["C", [76.1, 76.5, 74.7, 77.1]], ["C", [70.4, 79.1, 70.4, 83.6]], ["C", [70.4, 87.6, 76.1, 87.6]], ["C", [82.15, 87.6, 84.4, 83.2]], ["L", [85.6, 82.2]], ["M", [86.45, 63.8]], ["C", [86.45, 61.2, 85, 58.2]], ["C", [74.2, 67.5, 58.3, 67.5]], ["C", [41.8, 67.5, 31, 57.7]], ["C", [30.3, 58.8, 30.3, 60.1]], ["C", [30.3, 64.4, 36.25, 69.5]], ["L", [37.3, 68.7]], ["C", [37.9, 68.4, 38.55, 68.4]], ["C", [39.6, 68.4, 40, 70]], ["C", [41.6, 68.7, 43.2, 68.7]], ["C", [45.3, 68.7, 46.65, 71.3]], ["L", [70.3, 71.4]], ["C", [73.5, 67.7, 75, 67.7]], ["C", [76.5, 67.7, 78.15, 69.8]], ["C", [79.95, 68.2, 81.2, 68.2]], ["C", [81.9, 68.2, 82.3, 68.7]], ["L", [82.8, 69.7]], ["C", [86.45, 67.8, 86.45, 63.8]], ["M", [87.3, 57]], ["C", [88.6, 59.7, 88.6, 62.4]], ["C", [88.6, 68.3, 83.3, 72.8]], ["L", [86.25, 78.2]], ["C", [92.7, 71.6, 92.7, 62.2]], ["C", [92.7, 56.7, 90.7, 51.9]], ["C", [89.6, 54.2, 87.3, 57]], ["M", [94.65, 38.6]], ["C", [94.65, 44.6, 91.7, 50.1]], ["C", [95.6, 58, 95.6, 64.9]], ["C", [95.6, 75.4, 87.9, 81]], ["L", [88.55, 82.3]], ["C", [87.6, 85.1, 86.7, 85.1]], ["C", [86.45, 85.1, 86, 84.9]], ["C", [84.6, 86.5, 81.7, 88.4]], ["L", [81.3, 95.2]], ["L", [35.3, 102.7]], ["L", [32.6, 89.3]], ["C", [27.4, 85.6, 27.4, 82.1]], ["C", [27.4, 81.2, 27.85, 80.4]], ["C", [26.3, 78.5, 26.3, 77.2]], ["C", [26.3, 76.8, 26.5, 76.4]], ["L", [27.2, 75.9]], ["C", [20.1, 70.8, 20.1, 63]], ["C", [20.1, 56.6, 24.6, 49.6]], ["C", [21.9, 44.3, 21.9, 38.6]], ["C", [21.9, 25.4, 33.9, 17.1]], ["C", [44.65, 9.7, 58.3, 9.7]], ["C", [72, 9.7, 82.7, 17.1]], ["C", [94.65, 25.4, 94.65, 38.6]]]; __motifs[";"] = [["M", [76.05, 89.7]], ["L", [75.85, 89.7]], ["C", [75.4, 88.2, 74, 88.4]], ["C", [71.9, 88.7, 72.2, 90.6]], ["C", [72.4, 91.7, 74.1, 91.8]], ["C", [75.3, 91.8, 75.4, 92.4]], ["C", [75.5, 93.2, 74.6, 93.4]], ["C", [73.95, 93.5, 73.6, 92.5]], ["L", [74, 92.4]], ["L", [73.85, 91.9]], ["L", [72.5, 92.2]], ["L", [72.6, 92.9]], ["L", [72.8, 92.9]], ["C", [73.4, 94.4, 74.7, 94.1]], ["C", [76.4, 93.9, 76.1, 92.2]], ["C", [76.05, 91, 74.1, 91]], ["C", [73.1, 90.9, 73, 90.4]], ["C", [72.9, 89.4, 74.1, 89.2]], ["C", [74.7, 89.1, 75, 89.8]], ["L", [74.8, 89.8]], ["L", [74.8, 90.4]], ["L", [76.05, 90.2]], ["L", [76.05, 89.7]], ["M", [62.4, 91.1]], ["L", [62.4, 91.6]], ["L", [62.7, 91.5]], ["L", [63.45, 95.1]], ["L", [63.1, 95.2]], ["L", [63.2, 95.8]], ["L", [64.6, 95.5]], ["L", [64.5, 95]], ["L", [64.2, 95]], ["L", [63.45, 90.8]], ["L", [62.4, 91.1]], ["M", [62.9, 89.2]], ["C", [62.5, 89.3, 62, 89.8]], ["C", [62.1, 90.3, 62.8, 90.3]], ["C", [63.35, 90.3, 63.7, 89.8]], ["C", [63.7, 89.3, 62.9, 89.2]], ["M", [67.9, 91.9]], ["C", [68.1, 93.2, 66.2, 93.5]], ["C", [65.1, 93.7, 65, 93]], ["C", [64.8, 91.7, 66.7, 91.4]], ["C", [67.8, 91.2, 67.9, 91.9]], ["M", [66.6, 90.6]], ["C", [63.9, 91, 64.2, 93]], ["C", [64.5, 94.6, 66.3, 94.3]], ["C", [69, 93.9, 68.7, 91.9]], ["C", [68.4, 90.3, 66.6, 90.6]], ["M", [68.8, 91]], ["L", [69.1, 93.4]], ["C", [69.3, 95.3, 71, 95]], ["C", [72.3, 94.8, 72.1, 93]], ["L", [71.9, 91.1]], ["L", [72.3, 91.1]], ["L", [72.1, 90.6]], ["L", [70.7, 90.6]], ["L", [70.8, 91.3]], ["L", [71.1, 91.2]], ["L", [71.3, 93.1]], ["C", [71.4, 94.2, 70.8, 94.3]], ["C", [70, 94.4, 69.9, 93.4]], ["L", [69.65, 90.8]], ["L", [70.2, 90.7]], ["L", [70.1, 90.2]], ["L", [68.4, 90.3]], ["L", [68.6, 91.1]], ["L", [68.8, 91]], ["M", [60.6, 91.7]], ["C", [61.35, 91.5, 61.8, 93.1]], ["L", [61.5, 93.2]], ["L", [61.6, 93.9]], ["L", [62.8, 93.4]], ["L", [62.7, 93]], ["L", [62.5, 93]], ["C", [61.9, 90.6, 60.5, 90.9]], ["C", [58.7, 91.1, 59.25, 94]], ["C", [59.6, 96.8, 61.45, 96.5]], ["C", [62, 96.4, 62.4, 95.7]], ["L", [62.6, 95.7]], ["L", [62.9, 95.2]], ["L", [61.6, 95]], ["L", [61.5, 95.3]], ["L", [61.7, 95.4]], ["C", [61.5, 95.7, 61.35, 95.8]], ["C", [60.3, 95.9, 60, 93.9]], ["C", [59.6, 91.8, 60.6, 91.7]], ["M", [55.5, 95.3]], ["C", [55.6, 95.7, 54.8, 95.9]], ["C", [54, 96, 53.9, 95.5]], ["C", [53.9, 95.1, 54.7, 95]], ["C", [55.4, 94.9, 55.5, 95.3]], ["M", [54.3, 93.4]], ["L", [53.9, 93.4]], ["C", [54, 92.7, 54.4, 92.6]], ["C", [54.95, 92.5, 55.2, 93.5]], ["L", [55.3, 94.3]], ["C", [54.95, 94.1, 54.5, 94.2]], ["C", [53.15, 94.4, 53.3, 95.6]], ["C", [53.5, 96.9, 54.95, 96.6]], ["C", [55.3, 96.6, 55.7, 96.3]], ["L", [55.7, 96.5]], ["L", [55.6, 96.5]], ["L", [55.7, 97.1]], ["L", [57.05, 97]], ["L", [56.8, 96.2]], ["L", [56.5, 96.3]], ["L", [55.9, 93.4]], ["C", [55.5, 91.6, 54.2, 91.8]], ["C", [53.2, 92, 53.2, 93.3]], ["L", [52.95, 93.3]], ["L", [52.85, 94.1]], ["L", [54.3, 93.8]], ["L", [54.3, 93.4]], ["M", [57.8, 92.2]], ["L", [58.4, 95.9]], ["L", [58.1, 96]], ["L", [58.3, 96.6]], ["L", [59.6, 96.3]], ["L", [59.5, 95.8]], ["L", [59.25, 95.8]], ["L", [58.5, 91.6]], ["L", [57.5, 91.9]], ["L", [57.4, 92.4]], ["L", [57.8, 92.2]], ["M", [57.9, 91.1]], ["C", [58.4, 91.1, 58.8, 90.6]], ["C", [58.7, 90.1, 58, 90]], ["C", [57.5, 90.1, 57.15, 90.6]], ["C", [57.25, 91, 57.9, 91.1]], ["M", [57.05, 90]], ["L", [56, 90.2]], ["L", [55.9, 90.8]], ["L", [56.1, 90.7]], ["L", [57.05, 96]], ["L", [56.8, 96.1]], ["L", [57.05, 96.7]], ["L", [58.1, 96.3]], ["L", [58, 95.9]], ["L", [57.8, 96]], ["L", [56.9, 90.5]], ["L", [57.15, 90.5]], ["L", [57.05, 90]], ["M", [44.65, 95.6]], ["C", [44.8, 96.9, 43, 97.2]], ["C", [41.8, 97.4, 41.7, 96.7]], ["C", [41.5, 95.4, 43.4, 95.1]], ["C", [44.55, 94.9, 44.65, 95.6]], ["M", [43.3, 94.3]], ["C", [40.65, 94.7, 40.9, 96.7]], ["C", [41.2, 98.3, 43, 98]], ["C", [45.7, 97.6, 45.4, 95.5]], ["C", [45.2, 94, 43.3, 94.3]], ["M", [45.1, 93.5]], ["L", [45.3, 93.4]], ["L", [46.1, 97.8]], ["L", [45.9, 97.9]], ["L", [45.9, 98.4]], ["L", [47.2, 98.3]], ["L", [47, 97.7]], ["L", [46.9, 97.7]], ["L", [46.4, 95.1]], ["C", [46.5, 93.7, 47.2, 93.6]], ["C", [47.7, 93.7, 47.8, 94.8]], ["L", [48.2, 97.8]], ["L", [48, 97.8]], ["L", [48.2, 98.6]], ["L", [49.5, 98.2]], ["L", [49.2, 97.6]], ["L", [49, 97.7]], ["L", [48.6, 94.7]], ["C", [48.3, 92.6, 47.1, 92.8]], ["C", [46.5, 92.9, 46.2, 93.4]], ["L", [46.1, 93.2]], ["L", [46.3, 93.2]], ["L", [46.2, 92.7]], ["L", [44.9, 92.9]], ["L", [45.1, 93.5]], ["M", [48.6, 92.5]], ["L", [48.75, 93.3]], ["L", [49.3, 93.2]], ["L", [49.8, 95.8]], ["C", [50.2, 98, 51.8, 97.7]], ["C", [53.2, 97.5, 52.85, 95.6]], ["C", [52.85, 95.5, 52.7, 95.4]], ["L", [53.05, 95.3]], ["L", [52.85, 94.9]], ["L", [51.6, 95.2]], ["L", [51.8, 95.7]], ["L", [52, 95.7]], ["L", [52, 95.9]], ["C", [52.2, 96.9, 51.7, 96.9]], ["C", [50.95, 97.1, 50.6, 95.7]], ["L", [50.1, 93]], ["L", [51.3, 92.8]], ["L", [51.2, 92]], ["L", [50, 92.2]], ["L", [49.9, 91.5]], ["L", [50.1, 91.5]], ["L", [50, 90.8]], ["L", [48.85, 91.2]], ["L", [48.95, 91.7]], ["L", [49.1, 91.7]], ["L", [49.2, 92.4]], ["L", [48.6, 92.5]], ["M", [39.3, 93.3]], ["C", [39.7, 93.2, 40, 94.6]], ["L", [39.7, 94.6]], ["L", [39.7, 95.1]], ["L", [41, 95]], ["L", [41.2, 94.3]], ["L", [40.8, 94.4]], ["C", [40.45, 92.3, 39.1, 92.5]], ["C", [38.1, 92.7, 38, 94.1]], ["C", [37.9, 94.6, 37.9, 95.4]], ["L", [38, 95.9]], ["L", [37.7, 96]], ["L", [37.8, 96.6]], ["L", [38.1, 96.6]], ["L", [38.55, 99.6]], ["L", [38.1, 99.7]], ["L", [38.45, 100.2]], ["L", [39.5, 100]], ["L", [39.7, 99.3]], ["L", [39.3, 99.4]], ["L", [38.9, 96.4]], ["L", [39.8, 96.3]], ["L", [39.6, 95.4]], ["L", [38.8, 95.7]], ["L", [38.7, 95.3]], ["C", [38.45, 93.4, 39.3, 93.3]], ["M", [37.6, 71.9]], ["L", [28.9, 78.6]], ["C", [29.8, 87, 39.3, 86.4]], ["C", [42.55, 86.2, 42.55, 83.9]], ["C", [42.55, 82.5, 40.75, 79.05]], ["C", [39, 75.6, 39, 74.8]], ["C", [39, 73.8, 41.5, 72.7]], ["C", [42.9, 72.1, 44.1, 71.8]], ["C", [43.1, 71, 41.9, 71]], ["C", [40.55, 71, 39.3, 72.2]], ["L", [37.6, 71.9]], ["M", [72.2, 40.7]], ["C", [72.2, 42.6, 70.9, 43.85]], ["C", [69.65, 45.1, 67.7, 45.1]], ["C", [65.9, 45.1, 64.6, 43.8]], ["C", [63.35, 42.5, 63.35, 40.7]], ["C", [63.35, 38.8, 64.55, 37.5]], ["C", [65.8, 36.2, 67.7, 36.2]], ["C", [69.65, 36.2, 70.9, 37.5]], ["C", [72.2, 38.8, 72.2, 40.7]], ["M", [46.65, 43.4]], ["L", [44.55, 43.2]], ["L", [45, 40.8]], ["L", [51.3, 42.1]], ["L", [50.7, 44.5]], ["L", [48.5, 44.1]], ["C", [47.8, 45.9, 47.8, 47.8]], ["C", [47.8, 54.9, 54.2, 57.2]], ["C", [55.9, 57.8, 57.4, 57.8]], ["C", [64.4, 57.8, 67, 50.8]], ["L", [64.9, 50.3]], ["L", [65.7, 48.1]], ["L", [72.5, 49.5]], ["L", [70.9, 52.3]], ["L", [68.9, 51.5]], ["C", [67.55, 55.2, 64.4, 57.5]], ["C", [61.35, 59.8, 57.4, 59.8]], ["C", [51.4, 59.8, 47.9, 54.7]], ["C", [45.8, 51.6, 45.8, 47.8]], ["C", [45.8, 45.5, 46.65, 43.4]], ["M", [57.9, 34.15]], ["C", [59.25, 35.4, 59.25, 37.3]], ["C", [59.25, 39.2, 57.9, 40.5]], ["C", [56.6, 41.8, 54.7, 41.8]], ["C", [52.85, 41.8, 51.55, 40.5]], ["C", [50.3, 39.2, 50.3, 37.3]], ["C", [50.3, 35.5, 51.6, 34.2]], ["C", [52.95, 32.9, 54.7, 32.9]], ["C", [56.6, 32.9, 57.9, 34.15]], ["M", [58.3, 14.2]], ["C", [46.5, 14.2, 37.1, 20.4]], ["C", [26.4, 27.4, 26.4, 38.6]], ["C", [26.4, 43.2, 28.7, 47.6]], ["C", [22.4, 55, 22.4, 61.8]], ["C", [22.4, 69.5, 29.5, 74.7]], ["L", [33.7, 71.6]], ["C", [28.4, 65.5, 28.4, 60.6]], ["C", [28.4, 57, 32.3, 52.7]], ["C", [41.8, 63, 58.3, 63]], ["C", [70.1, 63, 79.4, 56.8]], ["C", [90.1, 49.8, 90.1, 38.6]], ["C", [90.1, 27.4, 79.4, 20.4]], ["C", [70.1, 14.2, 58.3, 14.2]], ["M", [85.6, 82.2]], ["L", [80.4, 71.6]], ["C", [79.95, 71.4, 79.6, 71.4]], ["C", [78.7, 71.4, 78.4, 72.7]], ["C", [76.6, 69.8, 75.1, 69.8]], ["C", [74.1, 69.8, 73.4, 71.2]], ["C", [76.1, 73.5, 76.1, 75.3]], ["C", [76.1, 76.5, 74.7, 77.1]], ["C", [70.4, 79.1, 70.4, 83.6]], ["C", [70.4, 87.6, 76.1, 87.6]], ["C", [82.15, 87.6, 84.4, 83.2]], ["L", [85.6, 82.2]], ["M", [86.45, 63.8]], ["C", [86.45, 61.2, 85, 58.2]], ["C", [74.2, 67.5, 58.3, 67.5]], ["C", [41.8, 67.5, 31, 57.7]], ["C", [30.3, 58.8, 30.3, 60.1]], ["C", [30.3, 64.4, 36.25, 69.5]], ["L", [37.3, 68.7]], ["C", [37.9, 68.4, 38.55, 68.4]], ["C", [39.6, 68.4, 40, 70]], ["C", [41.6, 68.7, 43.2, 68.7]], ["C", [45.3, 68.7, 46.65, 71.3]], ["L", [70.3, 71.4]], ["C", [73.5, 67.7, 75, 67.7]], ["C", [76.5, 67.7, 78.15, 69.8]], ["C", [79.95, 68.2, 81.2, 68.2]], ["C", [81.9, 68.2, 82.3, 68.7]], ["L", [82.8, 69.7]], ["C", [86.45, 67.8, 86.45, 63.8]], ["M", [87.3, 57]], ["C", [88.6, 59.7, 88.6, 62.4]], ["C", [88.6, 68.3, 83.3, 72.8]], ["L", [86.25, 78.2]], ["C", [92.7, 71.6, 92.7, 62.2]], ["C", [92.7, 56.7, 90.7, 51.9]], ["C", [89.6, 54.2, 87.3, 57]], ["M", [94.65, 38.6]], ["C", [94.65, 44.6, 91.7, 50.1]], ["C", [95.6, 58, 95.6, 64.9]], ["C", [95.6, 75.4, 87.9, 81]], ["L", [88.55, 82.3]], ["C", [87.6, 85.1, 86.7, 85.1]], ["C", [86.45, 85.1, 86, 84.9]], ["C", [84.6, 86.5, 81.7, 88.4]], ["L", [81.3, 95.2]], ["L", [35.3, 102.7]], ["L", [32.6, 89.3]], ["C", [27.4, 85.6, 27.4, 82.1]], ["C", [27.4, 81.2, 27.85, 80.4]], ["C", [26.3, 78.5, 26.3, 77.2]], ["C", [26.3, 76.8, 26.5, 76.4]], ["L", [27.2, 75.9]], ["C", [20.1, 70.8, 20.1, 63]], ["C", [20.1, 56.6, 24.6, 49.6]], ["C", [21.9, 44.3, 21.9, 38.6]], ["C", [21.9, 25.4, 33.9, 17.1]], ["C", [44.65, 9.7, 58.3, 9.7]], ["C", [72, 9.7, 82.7, 17.1]], ["C", [94.65, 25.4, 94.65, 38.6]]]; __motifs["l"] = [["M", [42.15, 49.15]], ["C", [41, 50.3, 41, 51.8]], ["L", [41, 58.05]], ["C", [41, 59.4, 41.9, 60.75]], ["C", [42.8, 62, 44.2, 61.8]], ["L", [57.15, 59.8]], ["C", [61.35, 59.1, 61.35, 56.05]], ["L", [61.35, 51.8]], ["C", [61.35, 50.3, 60.2, 49.15]], ["C", [59.15, 48.05, 57.6, 48.05]], ["L", [44.75, 48.05]], ["C", [43.2, 48.05, 42.15, 49.15]], ["M", [65.9, 69.7]], ["C", [63.6, 68.9, 61.5, 68.9]], ["C", [57.7, 68.9, 57.4, 70.6]], ["C", [57.25, 72.2, 60.2, 73.3]], ["C", [62.6, 74.2, 64.6, 74.2]], ["C", [68.4, 74.2, 68.7, 72.4]], ["C", [69, 70.7, 65.9, 69.7]], ["M", [72.6, 73.4]], ["C", [69.3, 75.5, 65.1, 75.5]], ["C", [60.9, 75.5, 57.6, 73.4]], ["C", [53.7, 70.9, 53.7, 67]], ["L", [76.5, 67]], ["C", [76.5, 70.9, 72.6, 73.4]], ["M", [86.5, 65]], ["L", [73.75, 63]], ["C", [70.8, 62.5, 68.75, 60.65]], ["C", [66.7, 58.8, 66.7, 56]], ["L", [66.7, 55.6]], ["L", [64.65, 55.6]], ["L", [64.65, 56]], ["C", [64.65, 58.8, 62.6, 60.65]], ["C", [60.55, 62.5, 57.6, 63]], ["L", [44.75, 65]], ["C", [41.8, 65.4, 39.75, 63.15]], ["C", [37.7, 60.9, 37.7, 58]], ["L", [37.7, 55.9]], ["L", [28.9, 53.4]], ["C", [28.8, 54.3, 28.8, 55.2]], ["C", [28.8, 66.4, 39.5, 73.4]], ["C", [49, 79.6, 60.75, 79.6]], ["C", [69.85, 79.6, 77.7, 75.75]], ["C", [86.4, 71.65, 90.3, 64.2]], ["C", [88.55, 65.3, 86.5, 65]], ["M", [85.2, 39.6]], ["C", [81.3, 43.2, 75.5, 43.2]], ["C", [73.65, 43.2, 71.55, 42.8]], ["C", [74.7, 41.25, 74.7, 39.85]], ["C", [74.7, 38.9, 73, 38.25]], ["C", [72.1, 37.8, 71.75, 37.8]], ["C", [70.9, 37.8, 69.9, 39.4]], ["C", [68.6, 41.4, 68, 41.8]], ["C", [66.2, 43.1, 62.2, 43.2]], ["C", [52.95, 43.3, 45.6, 38.3]], ["C", [39.1, 49.8, 33.3, 49.8]], ["C", [31.6, 49.8, 30.05, 48.5]], ["C", [29.85, 49.2, 29.6, 49.8]], ["L", [37.65, 52]], ["L", [37.7, 51.8]], ["C", [37.7, 48.85, 39.75, 46.75]], ["C", [41.8, 44.7, 44.75, 44.7]], ["L", [57.6, 44.7]], ["C", [60.55, 44.7, 62.6, 46.75]], ["C", [64.65, 48.85, 64.65, 51.8]], ["L", [66.7, 51.8]], ["C", [66.7, 48.85, 68.75, 46.75]], ["C", [70.8, 44.7, 73.7, 44.7]], ["L", [86.5, 44.7]], ["C", [88.45, 44.7, 89.9, 45.6]], ["C", [88.15, 42.4, 85.2, 39.6]], ["M", [86.45, 48.05]], ["L", [73.75, 48.05]], ["C", [72.1, 48.05, 71, 49.1]], ["C", [69.9, 50.2, 69.9, 51.8]], ["L", [69.9, 56.05]], ["C", [69.9, 59.1, 74.2, 59.8]], ["L", [87, 61.8]], ["C", [88.4, 62, 89.35, 60.8]], ["C", [90.3, 59.5, 90.3, 58.05]], ["L", [90.3, 51.8]], ["C", [90.3, 50.2, 89.2, 49.1]], ["C", [88.1, 48.05, 86.45, 48.05]], ["M", [97.05, 42.6]], ["C", [97.6, 44.7, 98.2, 51.8]], ["C", [98.5, 55.25, 100.2, 55.25]], ["C", [100.7, 55.25, 101.75, 54.95]], ["C", [102.8, 54.7, 103.4, 54.7]], ["C", [106.1, 54.7, 107.7, 57.3]], ["C", [109.05, 59.4, 109.05, 62.3]], ["C", [109.05, 68.2, 104.2, 71.6]], ["C", [101.7, 73.4, 99.3, 73.4]], ["C", [95.4, 73.4, 92.8, 68.7]], ["C", [87.9, 76.15, 78.7, 80.25]], ["C", [70.3, 84.1, 60.7, 84.1]], ["C", [49.7, 84.1, 40.45, 79.2]], ["C", [30.2, 73.85, 26.2, 64.4]], ["C", [23.2, 70.4, 18.1, 70.4]], ["C", [11.7, 70.4, 10.3, 60.75]], ["C", [10, 58.65, 10, 57.7]], ["C", [10, 50.75, 15.65, 50.75]], ["C", [17, 50.75, 18.4, 51.2]], ["C", [21.1, 51.6, 26.3, 32]], ["C", [30.6, 15.5, 55.4, 15.5]], ["C", [60, 15.5, 64, 16.1]], ["C", [65.1, 16.1, 66.8, 16.1]], ["C", [81.2, 16.1, 90.9, 29.45]], ["C", [95.5, 35.85, 97.05, 42.6]]]; __motifs["k"] = [["M", [43.3, 63.7]], ["C", [45, 63.7, 45, 64.5]], ["C", [45, 65.2, 43.3, 65.2]], ["C", [41.6, 65.2, 41.6, 64.5]], ["C", [41.6, 63.7, 43.3, 63.7]], ["M", [48.7, 64.5]], ["C", [48.7, 63.7, 50.4, 63.7]], ["C", [52.2, 63.7, 52.2, 64.5]], ["C", [52.2, 65.2, 50.4, 65.2]], ["C", [48.7, 65.2, 48.7, 64.5]], ["M", [51, 54.3]], ["C", [51.9, 45.2, 59.3, 45.2]], ["C", [66.6, 45.2, 67.2, 58]], ["C", [63.7, 50.2, 58.6, 50.2]], ["C", [53.6, 50.2, 52, 56]], ["L", [51, 54.3]], ["M", [71.9, 58.8]], ["C", [71.9, 61.9, 69.6, 66]], ["C", [67.1, 70.7, 64.3, 70.7]], ["C", [62.1, 70.7, 60.2, 66]], ["C", [58.1, 60.9, 56.9, 60.4]], ["C", [60.8, 61.6, 64.2, 61.6]], ["C", [68.8, 61.6, 70.6, 59.1]], ["C", [71.3, 58.2, 71.6, 58.2]], ["C", [71.9, 58.2, 71.9, 58.8]], ["M", [26.6, 58]], ["C", [27.1, 45.2, 34.5, 45.2]], ["C", [41.8, 45.2, 42.8, 54.3]], ["L", [41.7, 56]], ["C", [40.2, 50.2, 35.1, 50.2]], ["C", [30.1, 50.2, 26.6, 58]], ["M", [39, 71.2]], ["C", [39.7, 74.7, 46.6, 74.1]], ["C", [53.3, 74.7, 54, 71.2]], ["L", [53.6, 71.3]], ["C", [51, 70.7, 49.1, 70.7]], ["C", [47, 70.7, 46.6, 71.6]], ["C", [46.2, 70.7, 44, 70.7]], ["C", [42.1, 70.7, 39.4, 71.3]], ["L", [39, 71.2]], ["M", [39.9, 68.7]], ["C", [40.6, 68.7, 42.2, 68.1]], ["C", [43.8, 67.5, 44.7, 67.5]], ["C", [46.2, 67.5, 46.5, 68.7]], ["C", [46.8, 67.5, 48.3, 67.5]], ["C", [49.1, 67.5, 50.7, 68.1]], ["C", [52.3, 68.7, 53, 68.7]], ["C", [54.8, 68.7, 56.3, 66.3]], ["C", [56.5, 67.1, 56.5, 67.8]], ["C", [56.5, 69.4, 55.2, 70.5]], ["C", [55.4, 74.3, 52.3, 74.6]], ["L", [46.5, 75.2]], ["C", [45.4, 75.1, 40.7, 74.6]], ["C", [37.6, 74.3, 37.8, 70.5]], ["C", [36.4, 69.4, 36.4, 67.8]], ["C", [36.4, 67.1, 36.7, 66.3]], ["C", [38.2, 68.7, 39.9, 68.7]], ["M", [27.5, 61.6]], ["C", [30.9, 61.6, 34.8, 60.4]], ["C", [33.6, 60.9, 31.5, 66]], ["C", [29.6, 70.7, 27.4, 70.7]], ["C", [24.6, 70.7, 22.1, 66]], ["C", [19.8, 61.9, 19.8, 58.8]], ["C", [19.8, 58.2, 20.1, 58.2]], ["C", [20.4, 58.2, 21.1, 59.1]], ["C", [22.9, 61.6, 27.5, 61.6]], ["M", [60.1, 35.1]], ["C", [71.1, 35.1, 72.4, 49.4]], ["C", [69.9, 43.3, 66.7, 41.2]], ["C", [63.1, 38.8, 59.6, 38.8]], ["C", [52.9, 38.8, 48.9, 47]], ["L", [48.2, 45.5]], ["C", [48.5, 42.6, 51.9, 39.05]], ["C", [55.3, 35.5, 58.2, 35.2]], ["C", [59.2, 35.1, 60.1, 35.1]], ["M", [45.6, 45.5]], ["L", [44.9, 47]], ["C", [40.9, 38.8, 34.2, 38.8]], ["C", [25.6, 38.8, 21.4, 49.4]], ["C", [22.4, 33.9, 35.5, 35.2]], ["C", [38.4, 35.5, 41.85, 39]], ["C", [45.3, 42.5, 45.6, 45.5]], ["M", [46, 46.4]], ["C", [46.3, 48.9, 44.6, 54]], ["C", [42.8, 59.5, 40.9, 60.4]], ["C", [39.9, 60.9, 39.9, 62.4]], ["C", [39.9, 63.6, 40.4, 65]], ["C", [38.6, 63.9, 38.6, 61.5]], ["C", [38.6, 59.3, 40.5, 58.7]], ["C", [43.1, 57.8, 44.9, 48.1]], ["L", [46, 46.4]], ["M", [46.4, 30.8]], ["C", [34.6, 30.8, 25.2, 37]], ["C", [14.5, 44, 14.5, 55.2]], ["C", [14.5, 64.2, 22.2, 71]], ["C", [29, 77, 38.5, 78.8]], ["C", [38.3, 77.5, 38.3, 76.5]], ["C", [40.4, 77.6, 45, 77.6]], ["C", [50, 77.6, 56.4, 76.5]], ["C", [56.5, 77.4, 56.5, 78.3]], ["C", [65.3, 76.1, 71.4, 70.3]], ["C", [78.2, 63.7, 78.2, 55.2]], ["C", [78.2, 44, 67.5, 37]], ["C", [58.2, 30.8, 46.4, 30.8]], ["M", [83.2, 33.1]], ["C", [80.5, 39.4, 77.3, 39.9]], ["C", [82.7, 46.9, 82.7, 55.2]], ["C", [82.7, 65.9, 74.1, 73.8]], ["C", [66.4, 81, 55.3, 83.2]], ["C", [52.5, 88.9, 44.6, 91.6]], ["C", [45, 90.8, 45, 89.9]], ["C", [45, 88.2, 43, 87.4]], ["C", [40.6, 86.4, 39.6, 83.6]], ["C", [27.8, 81.7, 19.4, 74.6]], ["C", [10, 66.5, 10, 55.2]], ["C", [10, 45.4, 17.4, 37.7]], ["C", [11.2, 33.9, 11.2, 29]], ["C", [11.2, 26, 13.9, 22.8]], ["C", [19.2, 16.6, 29.6, 16.1]], ["C", [32.5, 16, 47.4, 15.8]], ["C", [49.2, 15.6, 51.9, 15.6]], ["C", [63.5, 15.6, 72.2, 18.1]], ["C", [84.2, 21.6, 84.2, 28.7]], ["C", [84.2, 30.8, 83.2, 33.1]]]; __motifs["j"] = [["M", [15.5, 39.8]], ["C", [16.6, 38.1, 18.4, 36.4]], ["C", [18.2, 34, 18.2, 31.7]], ["C", [18.2, 23.4, 21.4, 22.8]], ["C", [25.8, 22.4, 27.5, 30.5]], ["C", [28.8, 29.9, 29.9, 29.5]], ["C", [27.8, 18.9, 20.5, 18.5]], ["C", [15, 19.6, 15, 32.3]], ["C", [15, 36.1, 15.5, 39.8]], ["M", [43.3, 69.9]], ["C", [45.2, 66.9, 49.3, 66.9]], ["C", [50.6, 66.9, 51.8, 67.2]], ["C", [52.5, 67.2, 52.2, 68.2]], ["C", [51.9, 68.7, 51.1, 68.6]], ["C", [49.1, 68.4, 47.9, 68.4]], ["C", [44.8, 68.5, 44.8, 71.5]], ["C", [44.8, 73.1, 47.55, 73.8]], ["C", [50.3, 74.5, 50.3, 75]], ["C", [50.3, 75.6, 48.6, 75.7]], ["C", [46.6, 75.8, 44.8, 74.9]], ["C", [42.5, 73.9, 42.5, 72.1]], ["C", [42.5, 71.1, 43.3, 69.9]], ["M", [52.7, 59]], ["C", [52.7, 60.3, 51.45, 61.95]], ["C", [50.2, 63.6, 49, 63.1]], ["C", [47.9, 62.8, 47, 61.5]], ["C", [46.1, 60.2, 46.1, 59.1]], ["C", [46.1, 57.2, 49.3, 57.2]], ["C", [50.8, 57.2, 52.4, 57.7]], ["C", [52.7, 58.3, 52.7, 59]], ["M", [66.8, 69.1]], ["C", [66, 69.1, 66, 68.3]], ["C", [66, 67.5, 66.8, 67.5]], ["C", [67.6, 67.5, 67.6, 68.3]], ["C", [67.6, 69.1, 66.8, 69.1]], ["M", [62.3, 68.3]], ["C", [62.3, 67.6, 63, 67.6]], ["C", [63.6, 67.6, 63.6, 68.3]], ["C", [63.6, 68.9, 63, 68.9]], ["C", [62.3, 68.9, 62.3, 68.3]], ["M", [64.2, 65.8]], ["C", [63.2, 65.8, 63.2, 64.9]], ["C", [63.2, 63.9, 64.2, 63.9]], ["C", [65.2, 63.9, 65.2, 64.9]], ["C", [65.2, 65.8, 64.2, 65.8]], ["M", [33, 64.1]], ["C", [31.7, 64.1, 31.7, 63.1]], ["C", [31.7, 62.1, 33, 62.1]], ["C", [34.3, 62.1, 34.3, 63.1]], ["C", [34.3, 64.1, 33, 64.1]], ["M", [32.4, 66.9]], ["C", [32.4, 66, 33.1, 66]], ["C", [33.8, 66, 33.8, 66.9]], ["C", [33.8, 67.8, 33.1, 67.8]], ["C", [32.4, 67.8, 32.4, 66.9]], ["M", [29, 66.8]], ["C", [28.1, 66.8, 28.1, 65.9]], ["C", [28.1, 65, 29, 65]], ["C", [29.9, 65, 29.9, 65.9]], ["C", [29.9, 66.8, 29, 66.8]], ["M", [21.8, 44.8]], ["C", [22.1, 44.8, 23.05, 45.9]], ["C", [24, 47, 24.4, 47]], ["C", [30.3, 41.8, 35.5, 41.8]], ["C", [39, 41.8, 41.6, 44.5]], ["C", [47.1, 50.2, 47.1, 54]], ["C", [47.1, 56.2, 45.15, 57.45]], ["C", [43.2, 58.7, 40.8, 58.7]], ["C", [37.7, 58.7, 35.45, 56.9]], ["C", [33.2, 55.1, 33.2, 52.1]], ["C", [33.2, 49.1, 35.4, 45.3]], ["C", [30.7, 45.6, 29.1, 51.3]], ["C", [28.3, 54.2, 26.1, 54.2]], ["C", [24.8, 54.2, 23.3, 52.3]], ["C", [21.8, 50.4, 21.5, 47.8]], ["C", [21.4, 46.9, 21.4, 46]], ["C", [21.4, 44.8, 21.8, 44.8]], ["M", [38.8, 36.5]], ["C", [38.8, 37, 38.2, 37.3]], ["C", [37.6, 37.6, 35.9, 37.4]], ["C", [34.9, 37.3, 33.8, 38.4]], ["C", [32.3, 39.8, 31.4, 40.2]], ["C", [29.8, 40.8, 29.8, 39.8]], ["C", [29.8, 39.3, 30.4, 38.2]], ["C", [32.3, 34.8, 37.6, 35.2]], ["C", [38.8, 35.9, 38.8, 36.5]], ["M", [60, 36.3]], ["C", [63.2, 36.3, 67.6, 41]], ["C", [67.7, 42.2, 66.8, 42.2]], ["C", [66, 42.2, 62.2, 39.5]], ["C", [61.1, 38.7, 58.7, 38.7]], ["C", [56.8, 38.7, 56.8, 38.3]], ["C", [56.8, 37.6, 58, 36.95]], ["C", [59.2, 36.3, 60, 36.3]], ["M", [59.5, 44]], ["C", [64, 44, 66.9, 47.6]], ["C", [70.4, 52, 72.2, 52]], ["C", [72.8, 52, 73.75, 51.3]], ["C", [74.7, 50.6, 74.8, 50.6]], ["C", [75.4, 50.6, 75.4, 52.3]], ["C", [75.4, 54.2, 74.7, 55.9]], ["C", [73.7, 58, 72, 58]], ["C", [71.6, 58, 71.2, 57.9]], ["L", [69.4, 56.9]], ["C", [66.7, 58.6, 64.1, 58.6]], ["C", [61.3, 58.6, 59.7, 56.7]], ["C", [58.1, 54.8, 58.1, 51.9]], ["C", [58.1, 49.3, 59.7, 47.7]], ["C", [58.8, 46.6, 57.6, 46.6]], ["C", [56.1, 46.6, 54.9, 48.2]], ["C", [52.5, 51.3, 52.3, 56]], ["C", [51.2, 55, 50.3, 55]], ["C", [51, 47.8, 54.4, 45.1]], ["C", [56.8, 44, 59.5, 44]], ["M", [46.4, 30.8]], ["C", [34.6, 30.8, 25.2, 37]], ["C", [14.5, 44, 14.5, 55.2]], ["C", [14.5, 66.4, 25.2, 73.4]], ["C", [34.7, 79.6, 46.4, 79.6]], ["C", [58.2, 79.6, 67.5, 73.4]], ["C", [78.2, 66.4, 78.2, 55.2]], ["C", [78.2, 44, 67.5, 37]], ["C", [58.2, 30.8, 46.4, 30.8]], ["M", [64.5, 30.5]], ["C", [66.3, 22.4, 70.7, 22.8]], ["C", [73.9, 23.4, 73.9, 31.7]], ["C", [73.9, 33.9, 73.7, 36.3]], ["C", [75.5, 38, 76.7, 39.8]], ["C", [77.2, 36.1, 77.2, 32.3]], ["C", [77.2, 19.6, 71.7, 18.5]], ["C", [64.3, 19.2, 62.3, 29.5]], ["C", [62.8, 29.7, 64.5, 30.5]], ["M", [58.5, 27.9]], ["C", [62.6, 13.3, 72.5, 14.4]], ["C", [80.7, 15.4, 80.7, 35.2]], ["C", [80.7, 39.9, 80.2, 44.6]], ["C", [82.7, 49.7, 82.7, 55.2]], ["C", [82.7, 68.3, 70.7, 76.6]], ["C", [60, 84.1, 46.4, 84.1]], ["C", [32.7, 84.1, 22, 76.7]], ["C", [10, 68.3, 10, 55.2]], ["C", [10, 50, 12.3, 45.1]], ["C", [11.8, 40.2, 11.8, 35.2]], ["C", [11.8, 15.4, 20, 14.4]], ["C", [29.9, 13.3, 34, 28]], ["C", [40, 26.3, 46.4, 26.3]], ["C", [52.6, 26.3, 58.5, 27.9]]]; __motifs["h"] = [["M", [20.1, 90.7]], ["L", [19.2, 91.2]], ["L", [17.9, 87.2]], ["L", [18.6, 86.7]], ["L", [20.1, 90.7]], ["M", [17.9, 91.4]], ["L", [17.4, 91.8]], ["L", [16.2, 87.8]], ["L", [16.8, 87.5]], ["L", [17.9, 91.4]], ["M", [19.7, 86.2]], ["L", [21.5, 89]], ["L", [20.8, 89.7]], ["L", [19.3, 86.4]], ["L", [19.7, 86.2]], ["M", [14.1, 92.3]], ["C", [14.1, 98.6, 17.9, 99.3]], ["C", [20.6, 99.8, 25.5, 96.85]], ["C", [30.4, 93.9, 30.4, 91.3]], ["C", [30.4, 90.1, 27.55, 89.3]], ["C", [24.7, 88.5, 24.7, 87.4]], ["C", [24.7, 85.3, 27.6, 85.4]], ["C", [28.8, 85.5, 28.8, 84.3]], ["C", [28.8, 83.1, 27.8, 82.2]], ["C", [26.8, 81.3, 25.6, 81.3]], ["C", [24.8, 81.3, 23.9, 81.8]], ["C", [24.1, 80, 23.3, 80]], ["C", [23.1, 80, 22.8, 80.2]], ["L", [12.7, 86.2]], ["C", [11.7, 87.3, 11.7, 88.6]], ["C", [11.7, 89.9, 12.7, 90.9]], ["C", [13, 91.1, 13.2, 91.1]], ["C", [13.8, 91.1, 14.2, 90.1]], ["C", [14.1, 91.1, 14.1, 92.3]], ["M", [39.7, 59.7]], ["C", [39.7, 62.1, 43.5, 64.6]], ["C", [46.3, 66.5, 49.4, 67.4]], ["C", [52.1, 68.2, 54.9, 68.2]], ["C", [62.2, 68.2, 62.2, 63.3]], ["C", [62.2, 59.3, 59.2, 59.3]], ["C", [56.9, 59.3, 53.6, 62.4]], ["C", [50.1, 53.4, 45.8, 53.4]], ["C", [42.8, 53.4, 40, 58.5]], ["C", [39.7, 59, 39.7, 59.7]], ["M", [57.3, 44.4]], ["C", [64.7, 44.4, 70.9, 47.6]], ["C", [78.5, 51.5, 78.5, 58.3]], ["C", [78.5, 65, 70.9, 69]], ["C", [64.6, 72.2, 57.3, 72.2]], ["C", [50, 72.2, 43.7, 69]], ["C", [36.1, 65, 36.1, 58.3]], ["C", [36.1, 51.5, 43.7, 47.6]], ["C", [49.9, 44.4, 57.3, 44.4]], ["M", [49.3, 32.6]], ["C", [51.7, 32.2, 52.5, 37.5]], ["C", [53.3, 42.7, 51, 43.1]], ["C", [49.3, 43.4, 48.2, 40]], ["L", [51, 37.7]], ["L", [47.6, 36.4]], ["C", [47.6, 32.9, 49.3, 32.6]], ["M", [57.5, 32.6]], ["C", [59.8, 32.2, 60.7, 37.5]], ["C", [60.9, 38.8, 60.9, 39.8]], ["C", [60.9, 42.8, 59.1, 43.1]], ["C", [57.5, 43.4, 56.3, 40]], ["L", [59.1, 37.7]], ["L", [55.8, 36.4]], ["C", [55.8, 32.9, 57.5, 32.6]], ["M", [50.8, 30.8]], ["C", [39, 30.8, 29.6, 37]], ["C", [18.9, 44, 18.9, 55.2]], ["C", [18.9, 66.4, 29.6, 73.4]], ["C", [39.1, 79.6, 50.8, 79.6]], ["C", [62.6, 79.6, 71.9, 73.4]], ["C", [82.6, 66.4, 82.6, 55.2]], ["C", [82.6, 44, 71.9, 37]], ["C", [62.6, 30.8, 50.8, 30.8]], ["M", [105.9, 33.9]], ["L", [106.5, 35.3]], ["C", [105.9, 35.6, 103.8, 37.5]], ["L", [103.8, 37.4]], ["C", [103.8, 37.3, 104, 37]], ["C", [104.6, 35.2, 105.9, 33.9]], ["M", [111.5, 34.9]], ["C", [110.7, 34.9, 110.2, 34.8]], ["C", [108.7, 34.5, 107.5, 34.9]], ["L", [106.9, 33.1]], ["C", [108.7, 31.9, 110.8, 31.7]], ["C", [111.6, 31.7, 112.4, 32.35]], ["C", [113.2, 33, 113.2, 33.8]], ["C", [113.2, 34.9, 111.5, 34.9]], ["M", [114.4, 31.8]], ["C", [114.7, 31.4, 114.8, 31.2]], ["C", [113.4, 30.8, 112.1, 30.8]], ["C", [108.5, 30.8, 105.75, 33.1]], ["C", [103, 35.4, 102.4, 38.9]], ["C", [107.2, 39.6, 107.2, 42.8]], ["C", [107.2, 46.1, 103.8, 46.4]], ["C", [106.8, 50.9, 112.1, 50.9]], ["C", [116.2, 50.9, 119.05, 48.05]], ["C", [121.9, 45.2, 121.9, 41.1]], ["C", [121.7, 41.1, 120.65, 42.1]], ["C", [119.6, 43.1, 119.2, 43]], ["C", [117.7, 42.7, 117.1, 40.7]], ["C", [114.8, 41.2, 114.2, 40.7]], ["C", [112.8, 39.6, 114, 36.7]], ["C", [113.5, 36, 113.7, 34.5]], ["C", [113.9, 33.1, 114.7, 32.6]], ["C", [114.1, 32.2, 114.4, 31.8]], ["M", [98.2, 47.8]], ["C", [98.6, 48.3, 100.6, 50.2]], ["L", [98.2, 49.4]], ["C", [96.8, 48.9, 96.8, 49.6]], ["C", [96.8, 50.1, 98.3, 51.6]], ["L", [104.7, 58.2]], ["L", [104.9, 58.2]], ["C", [105.2, 58.3, 105.5, 58.3]], ["C", [105.8, 58.3, 105.9, 58.1]], ["C", [105.9, 57.8, 105.8, 56.9]], ["C", [106.2, 57, 107, 57.3]], ["C", [108.2, 57.5, 108.8, 57.5]], ["C", [109.7, 57.5, 112.1, 55.4]], ["L", [113.9, 53.8]], ["C", [114.7, 52.9, 114.8, 51.6]], ["C", [113.5, 51.9, 112.1, 51.9]], ["C", [105.9, 51.9, 102.7, 46.5]], ["C", [100.8, 46.4, 99.5, 45.6]], ["L", [99, 45.3]], ["L", [99.5, 44.4]], ["L", [99.9, 44.7]], ["C", [100.8, 45, 102.1, 45.4]], ["C", [102.8, 45.5, 103.3, 45.5]], ["C", [105.5, 45.5, 106.1, 43.4]], ["C", [106.5, 41.7, 104.6, 40.7]], ["C", [103.1, 39.9, 101.2, 39.8]], ["C", [96, 39.5, 96, 43.1]], ["C", [96, 45.1, 98.2, 47.8]], ["M", [122.9, 39.6]], ["L", [122.9, 40.9]], ["C", [122.9, 44.3, 121, 47.15]], ["C", [119.1, 50, 116, 51.2]], ["C", [115.8, 52.9, 114.6, 54.25]], ["C", [113.4, 55.6, 112.2, 56.8]], ["C", [110.5, 58.6, 107.9, 58.4]], ["C", [107.4, 58.4, 106.9, 58.3]], ["C", [106.6, 59.5, 105.5, 59.5]], ["C", [104.8, 59.5, 103.8, 59.1]], ["L", [102.8, 58.1]], ["C", [99, 65.3, 91, 65.3]], ["C", [88.1, 65.3, 85.3, 64.4]], ["C", [81.3, 73.9, 71.1, 79.2]], ["C", [61.8, 84.1, 50.8, 84.1]], ["C", [41.6, 84.1, 33.5, 80.7]], ["C", [24.9, 77, 19.6, 70.1]], ["C", [17.9, 71.6, 17.9, 73.8]], ["C", [17.9, 76.8, 20.8, 80.2]], ["C", [22.8, 79, 23.4, 79]], ["C", [24.4, 79, 24.7, 80.4]], ["C", [25.2, 80.3, 25.7, 80.3]], ["C", [27.3, 80.3, 28.6, 81.55]], ["C", [29.9, 82.8, 29.9, 84.4]], ["C", [29.9, 86.5, 27.5, 86.4]], ["C", [25.9, 86.4, 25.7, 87.3]], ["C", [25.5, 88.1, 27.6, 88.3]], ["C", [31.7, 88.8, 31.7, 91.1]], ["C", [31.7, 94, 26.4, 97.5]], ["C", [21.9, 100.4, 18.8, 100.4]], ["C", [13.3, 100.4, 13.1, 92.1]], ["C", [12.6, 92.1, 12, 91.6]], ["C", [10.7, 90.3, 10.7, 88.7]], ["C", [10.7, 87, 12.1, 85.4]], ["L", [12.6, 85]], ["C", [10, 80.3, 10, 76.3]], ["C", [10, 69.6, 17, 66]], ["C", [14.4, 60.8, 14.4, 55.2]], ["C", [14.4, 42, 26.4, 33.7]], ["C", [37.1, 26.3, 50.8, 26.3]], ["C", [64.5, 26.3, 75.2, 33.7]], ["C", [87.1, 42, 87.1, 55.2]], ["C", [87.1, 57.1, 86.8, 58.9]], ["C", [87.8, 59.2, 88.7, 59.2]], ["C", [93.6, 59.2, 97.6, 52.3]], ["C", [95.7, 50.7, 95.7, 49.5]], ["C", [95.7, 48.3, 97.3, 48.2]], ["C", [95, 45.3, 95, 43]], ["C", [95, 38.5, 101.4, 38.8]], ["C", [102.1, 34.9, 105.1, 32.35]], ["C", [108.1, 29.8, 112.1, 29.8]], ["C", [114.1, 29.8, 116, 30.5]], ["C", [115.7, 30.8, 115.7, 31.1]], ["C", [115.7, 31.7, 116.6, 32.3]], ["C", [116.1, 33, 116.1, 33.8]], ["C", [116.1, 34.5, 116.6, 35.1]], ["C", [115.8, 36.4, 115.8, 37.4]], ["C", [115.8, 38.1, 116.3, 38.4]], ["C", [116.9, 39, 117.6, 39]], ["C", [118.2, 39, 118.9, 38.6]], ["C", [118.9, 39.3, 119.6, 40.3]], ["C", [120.3, 40.5, 122, 40]], ["L", [122.9, 39.6]]]; __motifs["g"] = [["M", [43.9, 59.1]], ["C", [43.9, 61.4, 40.5, 61.4]], ["C", [37, 61.4, 37, 59.1]], ["C", [37, 56.7, 40.5, 56.7]], ["C", [43.9, 56.7, 43.9, 59.1]], ["M", [34.1, 57.8]], ["C", [34.1, 60.5, 36.7, 62.1]], ["C", [38.9, 63.6, 41.7, 63.6]], ["C", [44.6, 63.6, 46.8, 62.2]], ["C", [49.4, 60.5, 49.4, 57.8]], ["C", [49.4, 55.1, 46.95, 53.6]], ["C", [44.5, 52.1, 41.7, 52.1]], ["C", [38.9, 52.1, 36.7, 53.5]], ["C", [34.1, 55.2, 34.1, 57.8]], ["M", [55.8, 66.6]], ["C", [55.1, 66.6, 53.8, 67.15]], ["C", [52.5, 67.7, 52.3, 67.7]], ["C", [52.1, 67.7, 52.1, 67.6]], ["C", [52.1, 66.9, 53.55, 65.65]], ["C", [55, 64.4, 55.8, 64.4]], ["C", [58.3, 64.4, 58.3, 65.5]], ["C", [58.3, 66.6, 55.8, 66.6]], ["M", [53.9, 74.4]], ["C", [52.1, 74.1, 51.3, 75.2]], ["C", [50.2, 73.7, 49.1, 73.7]], ["C", [47.5, 73.7, 47.5, 75.3]], ["C", [47.5, 77.4, 50.8, 77.4]], ["C", [51.8, 77.4, 53.2, 76.7]], ["C", [54.6, 76, 54.6, 75.1]], ["C", [54.6, 74.6, 53.9, 74.4]], ["M", [64.7, 69.1]], ["C", [62.3, 70.8, 59.4, 71.8]], ["L", [61.7, 75]], ["C", [55.2, 78.7, 46.6, 78.4]], ["L", [40.3, 70]], ["L", [41, 69]], ["C", [45.9, 72.5, 51.5, 72.5]], ["C", [58.2, 72.5, 64.3, 68.1]], ["L", [64.7, 69.1]], ["M", [62.3, 61.4]], ["C", [58.8, 61.4, 58.8, 59.1]], ["C", [58.8, 56.7, 62.3, 56.7]], ["C", [65.7, 56.7, 65.7, 59.1]], ["C", [65.7, 61.4, 62.3, 61.4]], ["M", [63.5, 52.1]], ["C", [60.7, 52.1, 58.5, 53.5]], ["C", [55.9, 55.2, 55.9, 57.8]], ["C", [55.9, 60.5, 58.5, 62.1]], ["C", [60.7, 63.6, 63.5, 63.6]], ["C", [66.4, 63.6, 68.75, 62.1]], ["C", [71.1, 60.6, 71.1, 57.8]], ["C", [71.1, 55.1, 68.5, 53.5]], ["C", [66.3, 52.1, 63.5, 52.1]], ["M", [70.05, 52.25]], ["C", [73, 54.3, 73, 57.8]], ["C", [73, 61.3, 70.05, 63.4]], ["C", [67.1, 65.5, 63.5, 65.5]], ["C", [59.9, 65.5, 57.1, 63.5]], ["C", [54, 61.3, 54, 57.8]], ["C", [54, 54.4, 57.1, 52.2]], ["C", [59.9, 50.2, 63.5, 50.2]], ["C", [67.1, 50.2, 70.05, 52.25]], ["M", [69.6, 47.9]], ["C", [56.5, 47.9, 57.4, 36.9]], ["C", [52.6, 45.4, 46, 51]], ["C", [51.3, 53.1, 51.3, 57.8]], ["C", [51.3, 61.3, 48.35, 63.4]], ["C", [45.4, 65.5, 41.7, 65.5]], ["C", [38.1, 65.5, 35.3, 63.5]], ["C", [32.2, 61.3, 32.2, 57.8]], ["C", [32.2, 57.4, 32.3, 56.9]], ["C", [23.8, 56.9, 16, 47.9]], ["C", [14.5, 51.5, 14.5, 55.2]], ["C", [14.5, 66.4, 25.2, 73.4]], ["C", [34.7, 79.6, 46.4, 79.6]], ["C", [58.2, 79.6, 67.5, 73.4]], ["C", [78.2, 66.4, 78.2, 55.2]], ["C", [78.2, 51.1, 76.5, 47.2]], ["C", [72.9, 47.9, 69.6, 47.9]], ["M", [70.8, 33.7]], ["C", [82.7, 42, 82.7, 55.2]], ["C", [82.7, 68.3, 70.7, 76.6]], ["C", [60, 84.1, 46.4, 84.1]], ["C", [32.7, 84.1, 22, 76.7]], ["C", [10, 68.3, 10, 55.2]], ["C", [10, 42, 22, 33.7]], ["C", [32.7, 26.3, 46.4, 26.3]], ["C", [60.1, 26.3, 70.8, 33.7]]]; __motifs["d"] = [["M", [68, 90.9]], ["L", [70.4, 90]], ["L", [71.2, 87.9]], ["L", [73.3, 92.8]], ["L", [71.2, 92.7]], ["L", [69.2, 93.7]], ["L", [70, 96.2]], ["L", [72.3, 96.9]], ["L", [66.8, 100.3]], ["L", [67.3, 97.9]], ["L", [66.4, 95.6]], ["L", [64.1, 96.7]], ["L", [63.7, 98.5]], ["L", [61.2, 94]], ["L", [63.6, 94]], ["L", [65.9, 92.3]], ["L", [64.5, 89.3]], ["L", [61.8, 86.9]], ["L", [67.9, 85.4]], ["L", [67.1, 87.9]], ["L", [68, 90.9]], ["M", [64.6, 69.6]], ["L", [62.2, 73.6]], ["L", [61.4, 68.4]], ["C", [60.6, 67.5, 59.3, 65.9]], ["C", [58.9, 67.3, 58.9, 69]], ["C", [58.9, 76.7, 67.9, 76.7]], ["C", [76.9, 76.7, 77.3, 68.5]], ["C", [76.9, 68.7, 75.7, 69.4]], ["L", [73.9, 73.6]], ["L", [72.2, 70]], ["C", [70.1, 70.1, 68.5, 70.1]], ["C", [65.4, 70.1, 64.6, 69.6]], ["M", [63.6, 67.1]], ["C", [60.4, 65.7, 59.8, 64]], ["L", [59.5, 65.4]], ["C", [60.3, 66.5, 62.1, 68.1]], ["L", [62.5, 72]], ["L", [64.4, 68.9]], ["C", [65.6, 69.7, 68.5, 69.7]], ["C", [70.3, 69.7, 72.6, 69.3]], ["L", [73.9, 72.4]], ["L", [75.4, 68.9]], ["L", [77.3, 67.9]], ["L", [77.7, 65.9]], ["C", [72.6, 68.8, 68.6, 68.5]], ["C", [66.4, 68.3, 63.6, 67.1]], ["M", [79, 68.3]], ["C", [79, 77.8, 67.1, 77.9]], ["C", [56.7, 78, 56.7, 65.2]], ["C", [56.7, 61.7, 57.4, 58.4]], ["C", [60.5, 67.6, 68.3, 67.7]], ["C", [76.1, 67.8, 81.3, 62.1]], ["L", [78.8, 66.2]], ["C", [79, 67.1, 79, 68.3]], ["M", [69.7, 54.5]], ["C", [69.7, 57.5, 66.7, 57.5]], ["C", [63.7, 57.5, 63.7, 54.5]], ["C", [63.7, 51.5, 66.7, 51.5]], ["C", [69.7, 51.5, 69.7, 54.5]], ["M", [79.3, 57.5]], ["C", [79.3, 59.9, 76.9, 59.9]], ["C", [74.6, 59.9, 74.6, 57.5]], ["C", [74.6, 55.1, 76.9, 55.1]], ["C", [79.3, 55.1, 79.3, 57.5]], ["M", [84.1, 53]], ["C", [82, 45.2, 79.5, 45.2]], ["C", [76.9, 45.2, 73.4, 49.7]], ["C", [74.4, 44.5, 79.8, 43.5]], ["C", [84.3, 42.6, 84.3, 49.8]], ["C", [84.3, 51.4, 84.1, 53]], ["M", [85.8, 40.2]], ["C", [81.3, 40.2, 73.2, 46.2]], ["C", [73.1, 45.9, 72.3, 44.4]], ["C", [72.5, 47, 71.2, 50.5]], ["C", [71.4, 49.4, 71.4, 48.3]], ["C", [71.4, 43.2, 67.2, 42.9]], ["C", [62, 42.6, 59.3, 49.1]], ["C", [61.3, 40.1, 67.3, 40.1]], ["C", [68.5, 40.1, 69.5, 40.4]], ["C", [63.9, 34.3, 55.3, 34.3]], ["C", [51, 34.3, 46.1, 35.8]], ["C", [33.6, 43.3, 33.6, 55.2]], ["C", [33.6, 66.4, 44.3, 73.4]], ["C", [53.8, 79.6, 65.5, 79.6]], ["C", [77.3, 79.6, 86.6, 73.4]], ["C", [97.3, 66.4, 97.3, 55.2]], ["C", [97.3, 48.9, 93.3, 43.4]], ["C", [88.6, 40.2, 85.8, 40.2]], ["M", [100.3, 46.8]], ["L", [121.9, 46.1]], ["L", [79.1, 96.7]], ["L", [71.7, 83.6]], ["C", [68.6, 84.1, 65.5, 84.1]], ["C", [62.8, 84.1, 60.1, 83.8]], ["L", [52.8, 96.7]], ["L", [10, 46.1]], ["L", [30.7, 46.7]], ["C", [34.4, 37, 44.9, 31.4]], ["C", [54.3, 26.3, 65.5, 26.3]], ["C", [76.7, 26.3, 86.1, 31.4]], ["C", [96.5, 37, 100.3, 46.8]]]; __motifs["s"] = [["M", [14.9, 40.2]], ["C", [10, 38.1, 10, 32.9]], ["C", [10, 26.5, 16.8, 23.3]], ["C", [19.4, 22.1, 22.2, 22.1]], ["C", [29, 22.1, 31, 27.7]], ["C", [20.5, 32, 14.9, 40.2]], ["M", [51.8, 56.2]], ["C", [51.8, 57.9, 51.2, 59.5]], ["C", [50.4, 61.7, 49, 61.7]], ["C", [47.5, 61.7, 46.7, 59.6]], ["C", [46.1, 57.9, 46.1, 56.2]], ["C", [46.1, 54.4, 46.7, 52.8]], ["C", [47.5, 50.7, 49, 50.7]], ["C", [50.4, 50.7, 51.2, 52.9]], ["C", [51.8, 54.5, 51.8, 56.2]], ["M", [36.7, 59.5]], ["C", [36.1, 57.9, 36.1, 56.2]], ["C", [36.1, 54.5, 36.7, 52.9]], ["C", [37.5, 50.7, 38.9, 50.7]], ["C", [40.4, 50.7, 41.2, 52.8]], ["C", [41.8, 54.4, 41.8, 56.2]], ["C", [41.8, 57.9, 41.2, 59.6]], ["C", [40.4, 61.7, 38.9, 61.7]], ["C", [37.5, 61.7, 36.7, 59.5]], ["M", [43.9, 72.7]], ["C", [43.1, 73.6, 43.1, 74.4]], ["C", [43.1, 76, 46.8, 76]], ["C", [49, 76, 51.1, 75.5]], ["C", [54.3, 74.7, 54.3, 73.2]], ["C", [54.3, 72.1, 52.75, 71.35]], ["C", [51.2, 70.6, 50, 70.6]], ["C", [47.2, 70.6, 43.9, 72.7]], ["M", [31.2, 63.4]], ["C", [37.8, 68.6, 46.1, 68.6]], ["C", [52.5, 68.6, 58.6, 65]], ["C", [59.6, 77.4, 45.9, 77.4]], ["C", [44.1, 77.4, 43, 77.3]], ["C", [38.1, 76.8, 38.1, 75.2]], ["C", [38.1, 74.7, 39.05, 73.15]], ["C", [40, 71.6, 40, 71]], ["C", [40, 70.5, 39.6, 70.1]], ["C", [32.8, 68.1, 29.8, 65.5]], ["L", [31.2, 63.4]], ["M", [27.3, 73.4]], ["C", [36.8, 79.6, 48.5, 79.6]], ["C", [60.3, 79.6, 69.6, 73.4]], ["C", [80.3, 66.4, 80.3, 55.2]], ["C", [80.3, 53.4, 80, 51.6]], ["C", [74.5, 53.4, 69.3, 53.4]], ["C", [54.4, 53.4, 45.5, 40.4]], ["C", [40, 49.5, 25.4, 49.5]], ["C", [21.4, 49.5, 17.8, 48.8]], ["C", [16.6, 51.9, 16.6, 55.2]], ["C", [16.6, 66.4, 27.3, 73.4]], ["M", [84.8, 55.2]], ["C", [84.8, 68.3, 72.8, 76.6]], ["C", [62.1, 84.1, 48.5, 84.1]], ["C", [34.8, 84.1, 24.1, 76.7]], ["C", [12.1, 68.3, 12.1, 55.2]], ["C", [12.1, 42, 24.1, 33.7]], ["C", [34.8, 26.3, 48.5, 26.3]], ["C", [56.6, 26.3, 63.9, 29]], ["C", [63.7, 30, 63.7, 31]], ["C", [63.7, 34.9, 66.15, 38.2]], ["C", [68.6, 41.5, 72.4, 43.1]], ["C", [75.4, 44.4, 78.4, 44.4]], ["C", [80.2, 44.4, 82, 43.9]], ["C", [84.8, 49.2, 84.8, 55.2]], ["M", [87.9, 36.7]], ["C", [85.5, 42.3, 78.4, 42.3]], ["C", [71.5, 42.3, 67.7, 36.9]], ["C", [65.6, 34, 65.6, 30.9]], ["C", [65.6, 29, 66.2, 27.5]], ["C", [68.5, 21.8, 75.7, 21.8]], ["C", [80.6, 21.8, 84.6, 25.15]], ["C", [88.6, 28.5, 88.6, 33.3]], ["C", [88.6, 35.1, 87.9, 36.7]]]; } private static function initializeWidths():void{ __widths["q"] = 122; __widths["w"] = 102; __widths["e"] = 83; __widths["r"] = 83; __widths["t"] = 101; __widths["y"] = 83; __widths["u"] = 108; __widths["i"] = 83; __widths["o"] = 83; __widths["p"] = 83; __widths["["] = 96; __widths["]"] = 96; __widths["\\"] = 96; __widths["'"] = 96; __widths[";"] = 96; __widths["l"] = 109; __widths["k"] = 84; __widths["j"] = 83; __widths["h"] = 123; __widths["g"] = 83; __widths["d"] = 122; __widths["s"] = 89; } } }//package five3D.typography
Section 16
//HelveticaMedium (five3D.typography.HelveticaMedium) package five3D.typography { public class HelveticaMedium { public static var __motifs:Object = {}; public static var __height:Number = 117; public static var __widths:Object = {}; public static var __initialized:Boolean = false; private static function initializeMotifsPunctuation():void{ __motifs[" "] = []; __motifs["!"] = [["M", [7.7, 44.4]], ["L", [11.05, 75.35]], ["L", [16.9, 75.35]], ["L", [20.2, 44.4]], ["L", [20.2, 23.8]], ["L", [7.7, 23.8]], ["L", [7.7, 44.4]], ["M", [7.25, 95.2]], ["L", [20.6, 95.2]], ["L", [20.6, 82.7]], ["L", [7.25, 82.7]], ["L", [7.25, 95.2]]]; __motifs["\""] = [["M", [25.9, 23.8]], ["L", [25.9, 52.05]], ["L", [36.1, 52.05]], ["L", [36.1, 23.8]], ["L", [25.9, 23.8]], ["M", [8.3, 23.8]], ["L", [8.3, 52.05]], ["L", [18.5, 52.05]], ["L", [18.5, 23.8]], ["L", [8.3, 23.8]]]; __motifs["#"] = [["M", [46.8, 25.2]], ["L", [38.65, 25.2]], ["L", [35.8, 46.2]], ["L", [24.65, 46.2]], ["L", [27.7, 25.2]], ["L", [19.6, 25.2]], ["L", [16.7, 46.2]], ["L", [6.3, 46.2]], ["L", [6.3, 53.7]], ["L", [15.65, 53.7]], ["L", [13.85, 66.7]], ["L", [3.35, 66.7]], ["L", [3.35, 74.2]], ["L", [12.8, 74.2]], ["L", [9.85, 95.2]], ["L", [17.85, 95.2]], ["L", [20.9, 74.2]], ["L", [31.9, 74.2]], ["L", [29, 95.2]], ["L", [36.95, 95.2]], ["L", [40, 74.2]], ["L", [49.45, 74.2]], ["L", [49.45, 66.7]], ["L", [40.95, 66.7]], ["L", [42.75, 53.7]], ["L", [52.4, 53.7]], ["L", [52.4, 46.2]], ["L", [43.8, 46.2]], ["L", [46.8, 25.2]], ["M", [34.75, 53.7]], ["L", [32.95, 66.7]], ["L", [21.9, 66.7]], ["L", [23.7, 53.7]], ["L", [34.75, 53.7]]]; __motifs["$"] = [["M", [41.2, 24.2]], ["C", [36.3, 22.1, 30.2, 22.1]], ["L", [30.2, 14.3]], ["L", [25.9, 14.3]], ["L", [25.9, 22.1]], ["C", [19.85, 22.1, 14.75, 24.35]], ["C", [9.6, 26.6, 6.45, 31]], ["C", [3.3, 35.35, 3.2, 41.7]], ["C", [3.3, 48.9, 6.7, 53.2]], ["C", [10, 57.55, 15.2, 59.9]], ["C", [20.3, 62.3, 25.9, 63.7]], ["L", [25.9, 87.9]], ["C", [19.1, 87.65, 16, 83.9]], ["C", [13, 80.15, 13.1, 73.5]], ["L", [1.7, 73.5]], ["C", [1.65, 81, 4.7, 86.1]], ["C", [7.7, 91.3, 13.2, 94.05]], ["C", [18.65, 96.75, 25.9, 96.9]], ["L", [25.9, 104.7]], ["L", [30.2, 104.7]], ["L", [30.2, 96.9]], ["C", [36.9, 96.6, 42.3, 94.15]], ["C", [47.6, 91.7, 50.75, 86.8]], ["C", [53.85, 81.9, 53.9, 74.4]], ["C", [53.8, 67.2, 50.45, 62.9]], ["C", [47.1, 58.6, 41.75, 56.15]], ["C", [36.4, 53.75, 30.2, 52.2]], ["L", [30.2, 31.1]], ["C", [35.5, 31.15, 38, 33.8]], ["C", [40.55, 36.55, 40.7, 41.6]], ["L", [52.1, 41.6]], ["C", [52, 35, 49.05, 30.7]], ["C", [46.15, 26.35, 41.2, 24.2]], ["M", [17.55, 33.4]], ["C", [20.45, 31.05, 25.9, 31.1]], ["L", [25.9, 51.1]], ["C", [23.05, 50.4, 20.45, 49.25]], ["C", [17.9, 48.15, 16.25, 46.15]], ["C", [14.65, 44.15, 14.6, 40.9]], ["C", [14.65, 35.7, 17.55, 33.4]], ["M", [36.15, 66.65]], ["C", [38.95, 67.85, 40.7, 70.1]], ["C", [42.5, 72.3, 42.55, 76]], ["C", [42.45, 81.95, 39.05, 84.8]], ["C", [35.7, 87.6, 30.2, 87.9]], ["L", [30.2, 64.65]], ["C", [33.35, 65.35, 36.15, 66.65]]]; __motifs["%"] = [["M", [82.05, 83.55]], ["C", [81.25, 86.55, 79.55, 88.3]], ["C", [77.8, 90.05, 75, 90.1]], ["C", [72.2, 90.05, 70.5, 88.3]], ["C", [68.85, 86.55, 68.1, 83.55]], ["C", [67.4, 80.5, 67.4, 76.7]], ["C", [67.35, 73.35, 67.95, 70.25]], ["C", [68.6, 67.2, 70.25, 65.3]], ["C", [71.9, 63.35, 75, 63.3]], ["C", [78.1, 63.35, 79.8, 65.3]], ["C", [81.5, 67.2, 82.2, 70.25]], ["C", [82.85, 73.35, 82.8, 76.7]], ["C", [82.8, 80.5, 82.05, 83.55]], ["M", [84.6, 59.6]], ["C", [80.95, 56.85, 75.1, 56.8]], ["C", [69.25, 56.85, 65.6, 59.6]], ["C", [61.85, 62.3, 60.1, 66.8]], ["C", [58.4, 71.25, 58.4, 76.7]], ["C", [58.4, 82.25, 60.05, 86.7]], ["C", [61.7, 91.2, 65.4, 93.9]], ["C", [69.1, 96.55, 75.1, 96.6]], ["C", [81.1, 96.55, 84.8, 93.9]], ["C", [88.5, 91.2, 90.15, 86.7]], ["C", [91.8, 82.25, 91.8, 76.7]], ["C", [91.8, 71.25, 90.1, 66.8]], ["C", [88.35, 62.3, 84.6, 59.6]], ["M", [64.9, 22.85]], ["L", [26.05, 97.6]], ["L", [33.8, 97.6]], ["L", [72.45, 22.85]], ["L", [64.9, 22.85]], ["M", [9.9, 33.75]], ["C", [8.2, 38.2, 8.2, 43.75]], ["C", [8.2, 49.25, 9.85, 53.75]], ["C", [11.5, 58.2, 15.2, 60.85]], ["C", [18.9, 63.55, 24.9, 63.6]], ["C", [30.9, 63.55, 34.6, 60.85]], ["C", [38.3, 58.2, 39.95, 53.75]], ["C", [41.6, 49.25, 41.6, 43.75]], ["C", [41.6, 38.2, 39.9, 33.75]], ["C", [38.15, 29.3, 34.4, 26.6]], ["C", [30.75, 23.85, 24.9, 23.8]], ["C", [19.05, 23.85, 15.4, 26.6]], ["C", [11.65, 29.3, 9.9, 33.75]], ["M", [17.75, 37.25]], ["C", [18.4, 34.2, 20.05, 32.3]], ["C", [21.75, 30.35, 24.8, 30.3]], ["C", [27.9, 30.35, 29.6, 32.3]], ["C", [31.3, 34.2, 32, 37.25]], ["C", [32.65, 40.3, 32.6, 43.75]], ["C", [32.6, 47.5, 31.85, 50.5]], ["C", [31.05, 53.55, 29.35, 55.3]], ["C", [27.6, 57.05, 24.8, 57.1]], ["C", [22, 57.05, 20.3, 55.3]], ["C", [18.65, 53.55, 17.9, 50.5]], ["C", [17.2, 47.5, 17.2, 43.75]], ["C", [17.15, 40.3, 17.75, 37.25]]]; __motifs["&"] = [["M", [45.1, 29.7]], ["C", [42.65, 25.9, 38.6, 24]], ["C", [34.55, 22.1, 29.9, 22.1]], ["C", [25, 22.15, 21.05, 24.2]], ["C", [17.1, 26.3, 14.8, 30.1]], ["C", [12.45, 33.9, 12.4, 39.1]], ["C", [12.5, 43.7, 14.6, 47.45]], ["C", [16.75, 51.2, 19.65, 54.7]], ["C", [15.45, 56.8, 11.7, 59.7]], ["C", [8, 62.65, 5.65, 66.5]], ["C", [3.3, 70.4, 3.2, 75.4]], ["C", [3.25, 82.15, 6.15, 86.9]], ["C", [9, 91.6, 14.05, 94.1]], ["C", [19.1, 96.6, 25.7, 96.6]], ["C", [31.9, 96.6, 36.8, 94.35]], ["C", [41.75, 92.1, 45.7, 87.25]], ["L", [52.2, 95.2]], ["L", [66.2, 95.2]], ["L", [52.5, 78.6]], ["C", [54.9, 74.8, 56.25, 70.3]], ["C", [57.55, 65.8, 58.1, 61.1]], ["L", [48.1, 61.1]], ["C", [47.7, 64.55, 47.1, 66.8]], ["L", [45.9, 70.7]], ["L", [34.8, 57.3]], ["C", [38.3, 55.45, 41.2, 52.8]], ["C", [44.15, 50.25, 45.9, 46.8]], ["C", [47.65, 43.4, 47.7, 39.2]], ["C", [47.6, 33.5, 45.1, 29.7]], ["M", [22.6, 38.5]], ["C", [22.7, 34.85, 24.85, 32.75]], ["C", [26.95, 30.65, 30.2, 30.6]], ["C", [33.55, 30.65, 35.5, 32.95]], ["C", [37.45, 35.2, 37.5, 38.8]], ["C", [37.4, 43, 34.9, 45.65]], ["C", [32.45, 48.35, 29.1, 50.4]], ["L", [26.25, 46.75]], ["C", [24.75, 44.9, 23.75, 42.85]], ["C", [22.65, 40.85, 22.6, 38.5]], ["M", [25.6, 62.25]], ["L", [39.6, 79.6]], ["L", [36.95, 83]], ["C", [35.4, 84.85, 32.8, 86.2]], ["C", [30.2, 87.6, 26.1, 87.65]], ["C", [21.05, 87.6, 17.85, 84.5]], ["C", [14.7, 81.45, 14.6, 75.6]], ["C", [14.7, 71.4, 16.5, 69]], ["C", [18.35, 66.5, 20.9, 65]], ["C", [23.4, 63.45, 25.6, 62.25]]]; __motifs["'"] = [["M", [8.8, 23.8]], ["L", [8.8, 52.05]], ["L", [19, 52.05]], ["L", [19, 23.8]], ["L", [8.8, 23.8]]]; __motifs["("] = [["M", [8.7, 44.35]], ["C", [5, 56.1, 4.95, 68.2]], ["C", [5, 77.7, 6.9, 85.85]], ["C", [8.8, 93.95, 12, 100.95]], ["C", [15.3, 108, 19.3, 114.3]], ["L", [28.6, 114.3]], ["C", [22.3, 103.65, 19.3, 92.15]], ["C", [16.3, 80.7, 16.3, 68.2]], ["C", [16.3, 55.7, 19.45, 44.25]], ["C", [22.6, 32.8, 28.6, 22.1]], ["L", [19.3, 22.1]], ["C", [12.45, 32.65, 8.7, 44.35]]]; __motifs[")"] = [["M", [8.55, 22.1]], ["L", [-0.8, 22.1]], ["C", [5.5, 32.8, 8.55, 44.3]], ["C", [11.5, 55.8, 11.5, 68.3]], ["C", [11.5, 80.8, 8.4, 92.2]], ["C", [5.2, 103.65, -0.8, 114.3]], ["L", [8.55, 114.3]], ["C", [15.4, 103.8, 19.15, 92.1]], ["C", [22.85, 80.45, 22.9, 68.3]], ["C", [22.85, 58.75, 20.95, 50.65]], ["C", [19.05, 42.55, 15.8, 35.55]], ["C", [12.55, 28.45, 8.55, 22.1]]]; __motifs["*"] = [["M", [4.1, 31.55]], ["L", [1.9, 38]], ["L", [13, 41.85]], ["L", [6, 51.2]], ["L", [11.6, 55.1]], ["L", [18.4, 45.3]], ["L", [25.5, 55.1]], ["L", [30.8, 51.2]], ["L", [23.85, 41.85]], ["L", [35.2, 38]], ["L", [32.8, 31.55]], ["L", [21.9, 35.85]], ["L", [21.9, 23.8]], ["L", [15.1, 23.8]], ["L", [15.1, 35.85]], ["L", [4.1, 31.55]]]; __motifs["+"] = [["M", [24.9, 44.55]], ["L", [24.9, 64.8]], ["L", [4.8, 64.8]], ["L", [4.8, 75]], ["L", [24.9, 75]], ["L", [24.9, 95.2]], ["L", [35.1, 95.2]], ["L", [35.1, 75]], ["L", [55.2, 75]], ["L", [55.2, 64.8]], ["L", [35.1, 64.8]], ["L", [35.1, 44.55]], ["L", [24.9, 44.55]]]; __motifs[","] = [["M", [6.9, 95.2]], ["L", [13.75, 95.2]], ["C", [13.85, 98.5, 12.2, 101.25]], ["C", [10.6, 104, 7.3, 104.9]], ["L", [7.3, 111]], ["C", [13.35, 109.75, 17, 105.55]], ["C", [20.6, 101.4, 20.8, 95.2]], ["L", [20.8, 81.7]], ["L", [6.9, 81.7]], ["L", [6.9, 95.2]]]; __motifs["-"] = [["M", [4.9, 73.35]], ["L", [34, 73.35]], ["L", [34, 62.6]], ["L", [4.9, 62.6]], ["L", [4.9, 73.35]]]; __motifs["."] = [["M", [6.9, 95.2]], ["L", [20.8, 95.2]], ["L", [20.8, 81.7]], ["L", [6.9, 81.7]], ["L", [6.9, 95.2]]]; __motifs["/"] = [["M", [26.5, 22.1]], ["L", [-2.2, 96.9]], ["L", [8.7, 96.9]], ["L", [37.4, 22.1]], ["L", [26.5, 22.1]]]; __motifs[":"] = [["M", [6.9, 44.6]], ["L", [6.9, 58.1]], ["L", [20.8, 58.1]], ["L", [20.8, 44.6]], ["L", [6.9, 44.6]], ["M", [6.9, 95.2]], ["L", [20.8, 95.2]], ["L", [20.8, 81.7]], ["L", [6.9, 81.7]], ["L", [6.9, 95.2]]]; __motifs[";"] = [["M", [6.9, 44.6]], ["L", [6.9, 58.1]], ["L", [20.8, 58.1]], ["L", [20.8, 44.6]], ["L", [6.9, 44.6]], ["M", [6.9, 95.2]], ["L", [13.75, 95.2]], ["C", [13.85, 98.5, 12.2, 101.25]], ["C", [10.6, 104, 7.3, 104.9]], ["L", [7.3, 111]], ["C", [13.35, 109.75, 17, 105.55]], ["C", [20.6, 101.4, 20.8, 95.2]], ["L", [20.8, 81.7]], ["L", [6.9, 81.7]], ["L", [6.9, 95.2]]]; __motifs["<"] = [["M", [4.6, 73.5]], ["L", [55.35, 96.05]], ["L", [55.35, 85.85]], ["L", [17.95, 69.9]], ["L", [55.35, 54.05]], ["L", [55.35, 43.85]], ["L", [4.6, 66.35]], ["L", [4.6, 73.5]]]; __motifs["="] = [["M", [4.8, 85.1]], ["L", [55.2, 85.1]], ["L", [55.2, 74.9]], ["L", [4.8, 74.9]], ["L", [4.8, 85.1]], ["M", [4.8, 64.95]], ["L", [55.2, 64.95]], ["L", [55.2, 54.7]], ["L", [4.8, 54.7]], ["L", [4.8, 64.95]]]; __motifs[">"] = [["M", [4.6, 96.05]], ["L", [55.35, 73.5]], ["L", [55.35, 66.35]], ["L", [4.6, 43.85]], ["L", [4.6, 54.05]], ["L", [42, 69.9]], ["L", [4.6, 85.85]], ["L", [4.6, 96.05]]]; __motifs["?"] = [["M", [47.75, 31.35]], ["C", [44.85, 26.85, 39.95, 24.5]], ["C", [35.05, 22.1, 28.9, 22.1]], ["C", [21.55, 22.15, 16.15, 25.2]], ["C", [10.75, 28.2, 7.85, 33.7]], ["C", [4.95, 39.15, 4.95, 46.5]], ["L", [16.3, 46.5]], ["C", [16.3, 39.7, 19.3, 35.7]], ["C", [22.25, 31.7, 28.35, 31.65]], ["C", [30.25, 31.6, 32.5, 32.7]], ["C", [34.75, 33.75, 36.45, 36.2]], ["C", [38.1, 38.7, 38.2, 42.7]], ["C", [38.15, 46.05, 37.05, 48.2]], ["C", [35.95, 50.4, 34.1, 52.05]], ["L", [30.1, 55.5]], ["C", [27.45, 57.75, 25.75, 60.25]], ["C", [24, 62.75, 23.15, 66.4]], ["C", [22.3, 70.05, 22.3, 75.8]], ["L", [33.1, 75.8]], ["C", [33.1, 71.1, 34.25, 68.15]], ["C", [35.35, 65.15, 37.35, 63.05]], ["C", [39.3, 60.95, 41.9, 58.9]], ["L", [46.15, 55.05]], ["C", [48.1, 53, 49.35, 50]], ["C", [50.65, 46.95, 50.7, 42.3]], ["C", [50.65, 35.85, 47.75, 31.35]], ["M", [20.8, 95.2]], ["L", [34.2, 95.2]], ["L", [34.2, 82.7]], ["L", [20.8, 82.7]], ["L", [20.8, 95.2]]]; __motifs["@"] = [["M", [41.6, 22.1]], ["C", [34.1, 22.15, 27.5, 24.9]], ["C", [20.85, 27.65, 15.75, 32.6]], ["C", [10.7, 37.5, 7.8, 44.05]], ["C", [4.95, 50.55, 4.9, 58.2]], ["C", [5, 69.7, 9.95, 78.4]], ["C", [14.9, 87.1, 23.3, 92]], ["C", [31.7, 96.8, 42.1, 96.9]], ["C", [51.45, 96.85, 59.3, 92.55]], ["C", [67.1, 88.3, 72, 80.5]], ["L", [65, 80.5]], ["C", [60.9, 85.2, 55, 87.8]], ["C", [49.1, 90.35, 42.55, 90.4]], ["C", [34, 90.35, 27.3, 86.5]], ["C", [20.65, 82.65, 16.8, 75.5]], ["C", [13, 68.4, 12.9, 58.6]], ["C", [12.95, 50.2, 16.55, 43.4]], ["C", [20.15, 36.65, 26.6, 32.65]], ["C", [33.05, 28.7, 41.6, 28.6]], ["C", [48.95, 28.65, 55.05, 31.55]], ["C", [61.05, 34.4, 64.65, 39.75]], ["C", [68.2, 45.1, 68.3, 52.6]], ["C", [68.25, 58.75, 66.3, 63.6]], ["C", [64.4, 68.5, 61.45, 71.3]], ["C", [58.5, 74.15, 55.3, 74.2]], ["C", [54, 74.15, 53.6, 73.15]], ["C", [53.25, 72.05, 53.5, 70.5]], ["C", [53.75, 68.9, 54.3, 67.3]], ["L", [61.5, 41]], ["L", [54.5, 41]], ["L", [52.75, 46.7]], ["C", [50.85, 42.9, 47.95, 41.2]], ["C", [45.05, 39.5, 41.5, 39.5]], ["C", [36.55, 39.55, 32.5, 41.75]], ["C", [28.5, 44, 25.65, 47.7]], ["C", [22.7, 51.4, 21.15, 56]], ["C", [19.6, 60.6, 19.6, 65.35]], ["C", [19.65, 69.7, 21.55, 73.3]], ["C", [23.45, 76.8, 26.7, 78.95]], ["C", [30, 81.05, 34.2, 81.1]], ["C", [37.45, 81, 40.4, 79.35]], ["C", [43.3, 77.7, 45.4, 75.4]], ["L", [45.6, 75.4]], ["C", [45.8, 78.3, 47.45, 79.75]], ["C", [49.1, 81.2, 51.5, 81.2]], ["C", [54.65, 81.2, 58.6, 79.4]], ["C", [62.6, 77.5, 66.35, 73.8]], ["C", [70.05, 70.15, 72.55, 64.55]], ["C", [75, 58.9, 75.1, 51.4]], ["C", [75.05, 44.9, 72.35, 39.6]], ["C", [69.7, 34.2, 65.05, 30.3]], ["C", [60.35, 26.4, 54.35, 24.25]], ["C", [48.35, 22.15, 41.6, 22.1]], ["M", [30.2, 71.05]], ["C", [28.15, 68.55, 28.1, 64.5]], ["C", [28.1, 60.65, 29.8, 56.65]], ["C", [31.55, 52.6, 34.6, 49.9]], ["C", [37.7, 47.1, 41.9, 47]], ["C", [45.2, 47.1, 47.45, 49.65]], ["C", [49.7, 52.2, 49.8, 55.8]], ["C", [49.8, 58.6, 48.8, 61.65]], ["C", [47.75, 64.75, 45.9, 67.4]], ["C", [44.1, 70.1, 41.55, 71.8]], ["C", [39.05, 73.5, 36.1, 73.55]], ["C", [32.35, 73.5, 30.2, 71.05]]]; __motifs["["] = [["M", [7.25, 22.1]], ["L", [7.25, 114.3]], ["L", [29.5, 114.3]], ["L", [29.5, 105.3]], ["L", [18, 105.3]], ["L", [18, 31.1]], ["L", [29.5, 31.1]], ["L", [29.5, 22.1]], ["L", [7.25, 22.1]]]; __motifs["\\"] = [["M", [37.4, 96.9]], ["L", [8.7, 22.1]], ["L", [-2.2, 22.1]], ["L", [26.5, 96.9]], ["L", [37.4, 96.9]]]; __motifs["]"] = [["M", [11.6, 31.1]], ["L", [11.6, 105.3]], ["L", [0.15, 105.3]], ["L", [0.15, 114.3]], ["L", [22.4, 114.3]], ["L", [22.4, 22.1]], ["L", [0.15, 22.1]], ["L", [0.15, 31.1]], ["L", [11.6, 31.1]]]; __motifs["^"] = [["M", [26.4, 25.2]], ["L", [8.4, 61.7]], ["L", [18.6, 61.7]], ["L", [30.05, 37]], ["L", [41.4, 61.7]], ["L", [51.6, 61.7]], ["L", [33.6, 25.2]], ["L", [26.4, 25.2]]]; __motifs["_"] = [["M", [50, 102.7]], ["L", [0, 102.7]], ["L", [0, 107.7]], ["L", [50, 107.7]], ["L", [50, 102.7]]]; __motifs["`"] = [["M", [10.55, 22.1]], ["L", [-2.9, 22.1]], ["L", [11.35, 36.4]], ["L", [19.65, 36.4]], ["L", [10.55, 22.1]]]; } private static function initializeWidthsPunctuation():void{ __widths[" "] = 28; __widths["!"] = 28; __widths["\""] = 44; __widths["#"] = 56; __widths["$"] = 56; __widths["%"] = 100; __widths["&"] = 65; __widths["'"] = 28; __widths["("] = 28; __widths[")"] = 28; __widths["*"] = 37; __widths["+"] = 60; __widths[","] = 28; __widths["-"] = 39; __widths["."] = 28; __widths["/"] = 35; __widths[":"] = 28; __widths[";"] = 28; __widths["<"] = 60; __widths["="] = 60; __widths[">"] = 60; __widths["?"] = 56; __widths["@"] = 80; __widths["["] = 30; __widths["\\"] = 35; __widths["]"] = 30; __widths["^"] = 60; __widths["_"] = 50; __widths["`"] = 24; } public static function initialize():void{ initializeMotifsUppercase(); initializeMotifsLowercase(); initializeMotifsNumbers(); initializeMotifsPunctuation(); initializeWidthsUppercase(); initializeWidthsLowercase(); initializeWidthsNumbers(); initializeWidthsPunctuation(); __initialized = true; } private static function initializeWidthsUppercase():void{ __widths["A"] = 67; __widths["B"] = 70; __widths["C"] = 72; __widths["D"] = 72; __widths["E"] = 63; __widths["F"] = 59; __widths["G"] = 76; __widths["H"] = 72; __widths["I"] = 28; __widths["J"] = 54; __widths["K"] = 69; __widths["L"] = 57; __widths["M"] = 89; __widths["N"] = 72; __widths["O"] = 76; __widths["P"] = 67; __widths["Q"] = 76; __widths["R"] = 70; __widths["S"] = 65; __widths["T"] = 59; __widths["U"] = 72; __widths["V"] = 61; __widths["W"] = 94; __widths["X"] = 65; __widths["Y"] = 65; __widths["Z"] = 63; } private static function initializeMotifsNumbers():void{ __motifs["0"] = [["M", [47.45, 36.05]], ["C", [44.8, 30.65, 40.1, 27.3]], ["C", [35.3, 23.9, 27.85, 23.8]], ["C", [20.3, 23.9, 15.55, 27.3]], ["C", [10.8, 30.65, 8.15, 36.05]], ["C", [5.55, 41.5, 4.6, 47.85]], ["C", [3.55, 54.15, 3.6, 60.2]], ["C", [3.55, 66.3, 4.6, 72.6]], ["C", [5.55, 78.95, 8.15, 84.35]], ["C", [10.8, 89.8, 15.55, 93.15]], ["C", [20.3, 96.5, 27.85, 96.6]], ["C", [35.3, 96.5, 40.1, 93.15]], ["C", [44.8, 89.8, 47.45, 84.35]], ["C", [50.05, 78.95, 51.05, 72.6]], ["C", [52.05, 66.3, 52, 60.2]], ["C", [52.05, 54.15, 51.05, 47.85]], ["C", [50.05, 41.5, 47.45, 36.05]], ["M", [39.55, 46.75]], ["C", [40.65, 52.8, 40.65, 60.2]], ["C", [40.65, 67.6, 39.55, 73.65]], ["C", [38.4, 79.7, 35.6, 83.4]], ["C", [32.75, 87, 27.85, 87.1]], ["C", [22.85, 87, 20, 83.4]], ["C", [17.25, 79.7, 16.05, 73.65]], ["C", [14.95, 67.6, 15, 60.2]], ["C", [14.95, 52.8, 16.05, 46.75]], ["C", [17.25, 40.7, 20, 37.05]], ["C", [22.85, 33.45, 27.85, 33.35]], ["C", [32.75, 33.45, 35.6, 37.05]], ["C", [38.4, 40.7, 39.55, 46.75]]]; __motifs["1"] = [["M", [5.3, 45.8]], ["L", [22.5, 45.8]], ["L", [22.5, 95.2]], ["L", [35, 95.2]], ["L", [35, 25.2]], ["L", [25.75, 25.2]], ["C", [24.8, 29.4, 21.8, 31.95]], ["C", [18.8, 34.55, 14.5, 35.75]], ["C", [10.15, 36.85, 5.3, 36.8]], ["L", [5.3, 45.8]]]; __motifs["2"] = [["M", [46.95, 31.2]], ["C", [44.4, 27.95, 40.05, 25.9]], ["C", [35.7, 23.85, 29.3, 23.8]], ["C", [21.5, 23.9, 16.1, 27.4]], ["C", [10.8, 30.85, 8, 36.95]], ["C", [5.2, 43, 5.2, 50.8]], ["L", [16.6, 50.8]], ["C", [16.7, 45.9, 17.8, 41.95]], ["C", [19, 37.95, 21.6, 35.7]], ["C", [24.1, 33.4, 28.6, 33.35]], ["C", [33.5, 33.45, 36.1, 35.45]], ["C", [38.65, 37.45, 39.6, 40.25]], ["C", [40.55, 43.15, 40.45, 45.75]], ["C", [40.3, 49.8, 38.35, 52.95]], ["C", [36.4, 56.2, 33.2, 58.8]], ["C", [30.1, 61.45, 26.4, 63.85]], ["L", [19.3, 68.7]], ["C", [12.2, 73.4, 8.15, 80]], ["C", [4.05, 86.6, 3.9, 95.2]], ["L", [51.7, 95.2]], ["L", [51.7, 85]], ["L", [17.6, 85]], ["C", [18.65, 81.9, 21.55, 79.35]], ["C", [24.35, 76.7, 28.2, 74.2]], ["L", [36.25, 68.95]], ["C", [40.3, 66.15, 43.8, 62.8]], ["C", [47.35, 59.4, 49.55, 55.1]], ["C", [51.75, 50.85, 51.8, 45.3]], ["C", [51.8, 41.9, 50.7, 38.15]], ["C", [49.55, 34.45, 46.95, 31.2]]]; __motifs["3"] = [["M", [46.4, 32.15]], ["C", [43.2, 28, 38.2, 25.9]], ["C", [33.15, 23.8, 27.6, 23.8]], ["C", [20.5, 23.85, 15.45, 27]], ["C", [10.35, 30.05, 7.5, 35.4]], ["C", [4.75, 40.75, 4.4, 47.6]], ["L", [15.75, 47.6]], ["C", [15.65, 43.95, 16.95, 40.7]], ["C", [18.2, 37.5, 20.8, 35.45]], ["C", [23.45, 33.4, 27.4, 33.35]], ["C", [32.25, 33.4, 35.25, 36.05]], ["C", [38.25, 38.75, 38.35, 43.2]], ["C", [38.3, 47.5, 36, 49.95]], ["C", [33.75, 52.4, 30.2, 53.4]], ["C", [26.7, 54.4, 22.85, 54.2]], ["L", [22.8, 62.7]], ["L", [31.55, 63.15]], ["C", [35.7, 63.9, 38.4, 66.6]], ["C", [41, 69.2, 41.1, 74.6]], ["C", [41.05, 78.6, 39.3, 81.4]], ["C", [37.6, 84.15, 34.55, 85.65]], ["C", [31.55, 87.1, 27.7, 87.1]], ["C", [23.25, 87.05, 20.25, 85.15]], ["C", [17.3, 83.2, 15.8, 79.8]], ["C", [14.35, 76.5, 14.5, 72.2]], ["L", [3.15, 72.2]], ["C", [3.25, 79.55, 6.05, 85]], ["C", [8.8, 90.45, 14.2, 93.55]], ["C", [19.65, 96.55, 27.7, 96.6]], ["C", [34.5, 96.55, 40.1, 94]], ["C", [45.7, 91.4, 49, 86.6]], ["C", [52.4, 81.8, 52.5, 75.2]], ["C", [52.45, 68.35, 49.1, 63.65]], ["C", [45.8, 59, 39.8, 57.7]], ["L", [39.8, 57.5]], ["C", [44.8, 55.65, 47.25, 51.75]], ["C", [49.7, 47.85, 49.7, 42.5]], ["C", [49.6, 36.3, 46.4, 32.15]]]; __motifs["4"] = [["M", [32.4, 38.8]], ["L", [32.4, 69.6]], ["L", [11.25, 69.6]], ["L", [32.25, 38.8]], ["L", [32.4, 38.8]], ["M", [32.4, 95.2]], ["L", [43.2, 95.2]], ["L", [43.2, 78.6]], ["L", [52.2, 78.6]], ["L", [52.2, 69.6]], ["L", [43.2, 69.6]], ["L", [43.2, 25.2]], ["L", [32.4, 25.2]], ["L", [2.45, 67.3]], ["L", [2.45, 78.6]], ["L", [32.4, 78.6]], ["L", [32.4, 95.2]]]; __motifs["5"] = [["M", [48.5, 25.2]], ["L", [12.3, 25.2]], ["L", [4.85, 63.4]], ["L", [16.2, 63.4]], ["C", [17.65, 59.8, 20.7, 58.4]], ["C", [23.85, 56.95, 27.5, 57]], ["C", [32.1, 57.05, 35.05, 59.1]], ["C", [38, 61.1, 39.4, 64.45]], ["C", [40.8, 67.75, 40.8, 71.65]], ["C", [40.85, 75.95, 39.6, 79.45]], ["C", [38.4, 82.95, 35.5, 85]], ["C", [32.6, 87.05, 27.8, 87.1]], ["C", [22.2, 87.05, 18.85, 84]], ["C", [15.5, 80.95, 14.9, 75.3]], ["L", [3.5, 75.3]], ["C", [3.8, 82.3, 7.1, 87.05]], ["C", [10.35, 91.8, 15.75, 94.15]], ["C", [21.2, 96.6, 28.05, 96.6]], ["C", [34.4, 96.55, 39.05, 94.25]], ["C", [43.65, 92, 46.55, 88.25]], ["C", [49.45, 84.5, 50.85, 80.1]], ["C", [52.2, 75.7, 52.2, 71.45]], ["C", [52.2, 64.7, 49.6, 59.4]], ["C", [47, 54.15, 42.2, 51.1]], ["C", [37.3, 48.1, 30.3, 48.05]], ["C", [26.7, 48.05, 23.25, 49.4]], ["C", [19.8, 50.75, 17.4, 53.3]], ["L", [17.2, 53.1]], ["L", [20.8, 35.4]], ["L", [48.5, 35.4]], ["L", [48.5, 25.2]]]; __motifs["6"] = [["M", [47.6, 32.9]], ["C", [44.75, 28.65, 40.1, 26.25]], ["C", [35.4, 23.85, 29.8, 23.8]], ["C", [22.4, 23.9, 17.35, 27.15]], ["C", [12.25, 30.35, 9.2, 35.7]], ["C", [6.1, 40.95, 4.8, 47.3]], ["C", [3.4, 53.65, 3.4, 60]], ["C", [3.3, 70.3, 5.45, 78.55]], ["C", [7.55, 86.8, 13.15, 91.65]], ["C", [18.7, 96.5, 28.9, 96.6]], ["C", [35.95, 96.55, 41.15, 93.45]], ["C", [46.4, 90.3, 49.25, 84.95]], ["C", [52.15, 79.6, 52.2, 72.7]], ["C", [52.15, 65.9, 49.55, 60.65]], ["C", [46.9, 55.35, 42.05, 52.35]], ["C", [37.1, 49.25, 30.15, 49.2]], ["C", [25.4, 49.2, 21.4, 51.3]], ["C", [17.45, 53.35, 15.05, 57.5]], ["L", [14.8, 57.3]], ["C", [15.05, 53.75, 15.65, 49.7]], ["C", [16.2, 45.6, 17.7, 41.9]], ["C", [19.15, 38.15, 21.9, 35.8]], ["C", [24.7, 33.4, 29.3, 33.35]], ["C", [33.8, 33.4, 36.45, 35.95]], ["C", [39.1, 38.6, 39.5, 42.9]], ["L", [50.9, 42.9]], ["C", [50.5, 37.2, 47.6, 32.9]], ["M", [28.5, 58.2]], ["C", [32.6, 58.25, 35.35, 60.25]], ["C", [38.1, 62.2, 39.45, 65.45]], ["C", [40.8, 68.7, 40.8, 72.5]], ["C", [40.8, 76.3, 39.45, 79.6]], ["C", [38.1, 82.95, 35.35, 85]], ["C", [32.6, 87.05, 28.5, 87.1]], ["C", [24.35, 87.05, 21.6, 85]], ["C", [18.75, 82.95, 17.35, 79.65]], ["C", [15.9, 76.35, 15.9, 72.5]], ["C", [15.9, 68.6, 17.35, 65.35]], ["C", [18.75, 62.15, 21.6, 60.2]], ["C", [24.35, 58.25, 28.5, 58.2]]]; __motifs["7"] = [["M", [51.35, 25.2]], ["L", [3.5, 25.2]], ["L", [3.5, 35.4]], ["L", [39.8, 35.4]], ["C", [32.5, 43.55, 26.7, 53.15]], ["C", [20.9, 62.85, 17.3, 73.45]], ["C", [13.6, 84.1, 12.8, 95.2]], ["L", [25.3, 95.2]], ["C", [26.2, 82.6, 29.6, 71.9]], ["C", [33, 61.25, 38.55, 52.1]], ["C", [44.05, 42.9, 51.35, 34.7]], ["L", [51.35, 25.2]]]; __motifs["8"] = [["M", [43.95, 28.9]], ["C", [38.3, 23.9, 27.85, 23.8]], ["C", [17.35, 23.9, 11.65, 28.9]], ["C", [6.05, 33.9, 6, 42.9]], ["C", [6.05, 48.05, 8.6, 51.75]], ["C", [11.15, 55.45, 15.9, 57.3]], ["L", [15.9, 57.5]], ["C", [10, 59.05, 6.6, 63.5]], ["C", [3.15, 67.95, 3.15, 74.65]], ["C", [3.15, 81.55, 6.35, 86.4]], ["C", [9.55, 91.35, 15.1, 94]], ["C", [20.65, 96.55, 27.85, 96.6]], ["C", [34.95, 96.55, 40.55, 94]], ["C", [46.05, 91.35, 49.25, 86.4]], ["C", [52.45, 81.55, 52.5, 74.65]], ["C", [52.45, 67.95, 49, 63.5]], ["C", [45.6, 59.05, 39.7, 57.5]], ["L", [39.7, 57.3]], ["C", [44.5, 55.45, 47, 51.75]], ["C", [49.55, 48.05, 49.6, 42.9]], ["C", [49.55, 33.9, 43.95, 28.9]], ["M", [27.85, 32.8]], ["C", [32.5, 32.8, 35.6, 35.6]], ["C", [38.7, 38.3, 38.8, 43.5]], ["C", [38.7, 48.45, 35.7, 51.1]], ["C", [32.6, 53.8, 27.85, 53.8]], ["C", [23, 53.8, 19.9, 51.1]], ["C", [16.9, 48.45, 16.8, 43.5]], ["C", [16.9, 38.3, 20, 35.6]], ["C", [23.1, 32.8, 27.85, 32.8]], ["M", [37.3, 65.55]], ["C", [41, 68.8, 41.1, 74.6]], ["C", [41, 80.8, 37.3, 84.2]], ["C", [33.65, 87.6, 27.85, 87.65]], ["C", [21.95, 87.6, 18.3, 84.2]], ["C", [14.6, 80.85, 14.5, 74.65]], ["C", [14.6, 68.8, 18.3, 65.55]], ["C", [21.95, 62.35, 27.85, 62.3]], ["C", [33.65, 62.35, 37.3, 65.55]]]; __motifs["9"] = [["M", [42.7, 28.8]], ["C", [37.3, 23.9, 27.5, 23.8]], ["C", [19.8, 23.85, 14.45, 27]], ["C", [9.1, 30.1, 6.25, 35.5]], ["C", [3.4, 40.85, 3.4, 47.7]], ["C", [3.45, 54.85, 6.2, 60.2]], ["C", [8.95, 65.45, 13.9, 68.35]], ["C", [18.85, 71.25, 25.5, 71.25]], ["C", [30.35, 71.25, 34.35, 69.1]], ["C", [38.3, 66.95, 40.6, 62.9]], ["L", [40.8, 63.05]], ["C", [40.6, 66.65, 40, 70.75]], ["C", [39.4, 74.85, 37.95, 78.55]], ["C", [36.45, 82.25, 33.7, 84.65]], ["C", [30.9, 87.05, 26.3, 87.1]], ["C", [21.85, 87.05, 19.15, 84.45]], ["C", [16.45, 81.8, 16.05, 77.5]], ["L", [4.7, 77.5]], ["C", [5.1, 83.25, 7.95, 87.55]], ["C", [10.85, 91.8, 15.55, 94.15]], ["C", [20.15, 96.55, 25.8, 96.6]], ["C", [33.2, 96.5, 38.3, 93.3]], ["C", [43.35, 90.05, 46.45, 84.75]], ["C", [49.5, 79.5, 50.85, 73.15]], ["C", [52.2, 66.8, 52.2, 60.45]], ["C", [52.3, 50.15, 50.2, 41.9]], ["C", [48.1, 33.65, 42.7, 28.8]], ["M", [16.1, 40.5]], ["C", [17.45, 37.3, 20.15, 35.35]], ["C", [22.85, 33.4, 27, 33.35]], ["C", [31.25, 33.4, 34.1, 35.4]], ["C", [36.9, 37.35, 38.3, 40.55]], ["C", [39.7, 43.8, 39.7, 47.6]], ["C", [39.7, 51.5, 38.3, 54.8]], ["C", [36.9, 58.15, 34.1, 60.2]], ["C", [31.25, 62.25, 27, 62.3]], ["C", [22.85, 62.25, 20.15, 60.2]], ["C", [17.45, 58.1, 16.1, 54.75]], ["C", [14.8, 51.45, 14.8, 47.6]], ["C", [14.8, 43.8, 16.1, 40.5]]]; } private static function initializeWidthsLowercase():void{ __widths["a"] = 56; __widths["b"] = 61; __widths["c"] = 56; __widths["d"] = 61; __widths["e"] = 56; __widths["f"] = 32; __widths["g"] = 59; __widths["h"] = 57; __widths["i"] = 24; __widths["j"] = 24; __widths["k"] = 54; __widths["l"] = 24; __widths["m"] = 87; __widths["n"] = 57; __widths["o"] = 59; __widths["p"] = 61; __widths["q"] = 61; __widths["r"] = 35; __widths["s"] = 52; __widths["t"] = 33; __widths["u"] = 57; __widths["v"] = 52; __widths["w"] = 78; __widths["x"] = 54; __widths["y"] = 52; __widths["z"] = 50; } private static function initializeWidthsNumbers():void{ __widths["0"] = 56; __widths["1"] = 56; __widths["2"] = 56; __widths["3"] = 56; __widths["4"] = 56; __widths["5"] = 56; __widths["6"] = 56; __widths["7"] = 56; __widths["8"] = 56; __widths["9"] = 56; } private static function initializeMotifsLowercase():void{ __motifs["a"] = [["M", [9.05, 48.9]], ["C", [5.6, 52.65, 5.15, 59.25]], ["L", [16.5, 59.25]], ["C", [16.95, 55.05, 19.95, 53.05]], ["C", [23.05, 51.05, 27.9, 51.05]], ["L", [32.7, 51.55]], ["C", [35.15, 52.1, 36.85, 53.65]], ["C", [38.55, 55.15, 38.55, 58.1]], ["C", [38.55, 61.35, 36.4, 62.65]], ["C", [34.3, 63.95, 30.75, 64.35]], ["L", [23.1, 65.4]], ["C", [18.2, 65.85, 13.65, 67.2]], ["C", [9.2, 68.55, 6.25, 71.85]], ["C", [3.3, 75.15, 3.2, 81.55]], ["C", [3.25, 86.55, 5.75, 89.95]], ["C", [8.2, 93.3, 12.2, 94.95]], ["C", [16.15, 96.6, 20.9, 96.6]], ["L", [27.25, 96]], ["C", [30.5, 95.3, 33.5, 93.95]], ["C", [36.5, 92.5, 38.75, 90.3]], ["C", [39.5, 93.8, 41.8, 95.25]], ["C", [44.1, 96.65, 47.55, 96.6]], ["L", [51.2, 96.2]], ["L", [54.8, 95.3]], ["L", [54.8, 87.45]], ["L", [53.15, 87.65]], ["L", [51.95, 87.65]], ["C", [50.45, 87.65, 49.8, 86.75]], ["C", [49.2, 85.85, 49.25, 83.75]], ["L", [49.25, 57.05]], ["C", [49.15, 51.65, 46.15, 48.35]], ["C", [43.1, 45.05, 38.45, 43.55]], ["C", [33.75, 42.1, 28.6, 42.1]], ["C", [22.8, 42.05, 17.65, 43.6]], ["C", [12.45, 45.15, 9.05, 48.9]], ["M", [37.9, 69.3]], ["L", [37.9, 77.8]], ["C", [37.8, 81.45, 35.7, 83.6]], ["C", [33.6, 85.75, 30.6, 86.7]], ["C", [27.7, 87.65, 25.1, 87.65]], ["L", [20.6, 87.05]], ["C", [18.15, 86.45, 16.4, 85]], ["C", [14.7, 83.6, 14.6, 81.05]], ["C", [14.7, 76.6, 17.45, 74.75]], ["C", [20.1, 72.9, 23.9, 72.4]], ["L", [31.45, 71.35]], ["C", [35.2, 70.95, 37.9, 69.3]]]; __motifs["b"] = [["M", [6.3, 23.8]], ["L", [6.3, 95.2]], ["L", [17.1, 95.2]], ["L", [17.1, 88.1]], ["L", [17.3, 88.1]], ["C", [19, 91.5, 21.9, 93.35]], ["C", [24.7, 95.2, 28.15, 95.95]], ["L", [35.2, 96.6]], ["C", [42.8, 96.5, 47.75, 92.7]], ["C", [52.7, 88.9, 55.1, 82.8]], ["C", [57.45, 76.7, 57.45, 69.6]], ["C", [57.45, 61.95, 54.85, 55.75]], ["C", [52.15, 49.55, 46.8, 45.85]], ["C", [41.45, 42.15, 33.3, 42.1]], ["C", [30.3, 42.1, 27.4, 43.05]], ["C", [24.45, 44.05, 21.95, 45.85]], ["C", [19.5, 47.65, 17.85, 50.2]], ["L", [17.7, 50.2]], ["L", [17.7, 23.8]], ["L", [6.3, 23.8]], ["M", [31.8, 51.05]], ["C", [36.45, 51.15, 39.7, 53.7]], ["C", [42.85, 56.3, 44.5, 60.45]], ["C", [46.1, 64.6, 46.1, 69.4]], ["C", [46.15, 74, 44.7, 78.1]], ["C", [43.25, 82.25, 40.15, 84.9]], ["C", [36.95, 87.55, 31.8, 87.65]], ["C", [27.15, 87.6, 23.95, 85.25]], ["C", [20.7, 82.85, 19, 78.75]], ["C", [17.3, 74.65, 17.3, 69.4]], ["C", [17.3, 61, 20.95, 56.1]], ["C", [24.55, 51.15, 31.8, 51.05]]]; __motifs["c"] = [["M", [14.85, 45.85]], ["C", [9.2, 49.5, 6.35, 55.75]], ["C", [3.5, 62, 3.5, 69.9]], ["C", [3.5, 77.55, 6.4, 83.6]], ["C", [9.35, 89.6, 14.9, 93.05]], ["C", [20.45, 96.5, 28.6, 96.6]], ["C", [38.6, 96.55, 44.65, 91.25]], ["C", [50.7, 85.9, 52.3, 75.8]], ["L", [40.85, 75.8]], ["C", [40.05, 81.45, 36.8, 84.5]], ["C", [33.6, 87.6, 28.6, 87.65]], ["C", [23.7, 87.55, 20.65, 84.95]], ["C", [17.65, 82.35, 16.25, 78.3]], ["C", [14.9, 74.3, 14.9, 69.9]], ["C", [15, 62.1, 17.25, 58.05]], ["C", [19.55, 53.95, 22.8, 52.45]], ["C", [26.05, 50.95, 29.1, 51.05]], ["C", [33.9, 51.05, 37, 53.55]], ["C", [40.15, 56.05, 40.85, 60.8]], ["L", [52.3, 60.8]], ["C", [51.65, 54.45, 48.45, 50.3]], ["C", [45.15, 46.15, 40.15, 44.1]], ["C", [35.05, 42.1, 29, 42.1]], ["C", [20.5, 42.15, 14.85, 45.85]]]; __motifs["d"] = [["M", [43.3, 23.8]], ["L", [43.3, 50.2]], ["L", [43.1, 50.2]], ["C", [41.3, 47.3, 38.55, 45.55]], ["C", [35.75, 43.75, 32.45, 42.9]], ["C", [29.2, 42.1, 25.9, 42.1]], ["C", [20.15, 42.1, 15.1, 44.9]], ["C", [10, 47.75, 6.8, 53.7]], ["C", [3.6, 59.65, 3.5, 69]], ["C", [3.5, 76.85, 6.15, 83.05]], ["C", [8.85, 89.3, 14.2, 92.9]], ["C", [19.55, 96.5, 27.7, 96.6]], ["C", [32.65, 96.65, 37, 94.6]], ["C", [41.35, 92.6, 43.7, 88.2]], ["L", [43.9, 88.2]], ["L", [43.9, 95.2]], ["L", [54.7, 95.2]], ["L", [54.7, 23.8]], ["L", [43.3, 23.8]], ["M", [29.4, 51.05]], ["C", [36.1, 51.1, 39.85, 55.9]], ["C", [43.65, 60.7, 43.7, 69.25]], ["C", [43.75, 73.9, 42.25, 78.05]], ["C", [40.7, 82.2, 37.5, 84.9]], ["C", [34.3, 87.55, 29.2, 87.65]], ["C", [24.25, 87.55, 21.1, 85]], ["C", [17.9, 82.5, 16.4, 78.45]], ["C", [14.9, 74.45, 14.9, 69.9]], ["C", [14.85, 65.15, 16.25, 60.85]], ["C", [17.7, 56.6, 20.9, 53.9]], ["C", [24.05, 51.15, 29.4, 51.05]]]; __motifs["e"] = [["M", [15.2, 45.9]], ["C", [9.55, 49.6, 6.6, 55.75]], ["C", [3.55, 61.95, 3.5, 69.35]], ["C", [3.5, 77.45, 6.5, 83.55]], ["C", [9.4, 89.65, 15.05, 93.1]], ["C", [20.65, 96.55, 28.8, 96.6]], ["C", [34.45, 96.6, 39.3, 94.55]], ["C", [44.15, 92.5, 47.5, 88.6]], ["C", [50.9, 84.7, 52.2, 79]], ["L", [41.4, 79]], ["C", [39.9, 83.3, 36.8, 85.5]], ["C", [33.75, 87.65, 28.8, 87.65]], ["C", [24, 87.6, 20.95, 85.5]], ["C", [17.85, 83.35, 16.4, 79.85]], ["C", [14.9, 76.4, 14.9, 72.3]], ["L", [52.9, 72.3]], ["C", [53.55, 66.45, 52.15, 61]], ["C", [50.8, 55.65, 47.5, 51.35]], ["C", [44.3, 47.1, 39.45, 44.6]], ["C", [34.6, 42.1, 28.45, 42.1]], ["C", [20.75, 42.15, 15.2, 45.9]], ["M", [39.65, 58.05]], ["C", [41.25, 61.1, 41.5, 64.8]], ["L", [14.9, 64.8]], ["C", [15.1, 60.85, 16.8, 57.8]], ["C", [18.5, 54.7, 21.55, 52.9]], ["C", [24.5, 51.1, 28.45, 51.05]], ["C", [32.35, 51.1, 35.2, 53]], ["C", [38.05, 54.9, 39.65, 58.05]]]; __motifs["f"] = [["M", [28.35, 23.95]], ["L", [23.7, 23.8]], ["C", [19.9, 23.7, 16.7, 24.9]], ["C", [13.5, 26, 11.45, 29.35]], ["C", [9.45, 32.7, 9.4, 39.2]], ["L", [9.4, 43.5]], ["L", [0.95, 43.5]], ["L", [0.95, 52]], ["L", [9.4, 52]], ["L", [9.4, 95.2]], ["L", [20.8, 95.2]], ["L", [20.8, 52]], ["L", [30.5, 52]], ["L", [30.5, 43.5]], ["L", [20.8, 43.5]], ["L", [20.8, 38.2]], ["C", [20.85, 35.05, 22.4, 33.85]], ["C", [24, 32.75, 26.4, 32.8]], ["L", [29.35, 32.95]], ["L", [31.7, 33.4]], ["L", [31.7, 24.5]], ["L", [28.35, 23.95]]]; __motifs["g"] = [["M", [42.45, 43.5]], ["L", [42.45, 50.55]], ["L", [42.25, 50.55]], ["C", [40, 46.25, 35.95, 44.15]], ["C", [31.9, 42.1, 26.9, 42.1]], ["C", [19.55, 42.15, 14.3, 45.7]], ["C", [9.1, 49.25, 6.3, 55.05]], ["C", [3.55, 60.9, 3.5, 68]], ["C", [3.5, 75.45, 5.9, 81.65]], ["C", [8.3, 87.8, 13.45, 91.45]], ["C", [18.55, 95.1, 26.7, 95.2]], ["C", [31.6, 95.15, 35.7, 92.8]], ["C", [39.75, 90.4, 42.25, 86.1]], ["L", [42.45, 86.1]], ["L", [42.45, 94]], ["C", [42.5, 100.4, 39.2, 103.8]], ["C", [36, 107.15, 29.1, 107.2]], ["L", [23.65, 106.65]], ["C", [21.05, 106.15, 19.25, 104.5]], ["C", [17.45, 102.8, 16.7, 99.6]], ["L", [5.3, 99.6]], ["C", [5.9, 105.6, 9.4, 109.15]], ["C", [12.95, 112.7, 18, 114.25]], ["C", [23.1, 115.75, 28.4, 115.7]], ["C", [40.7, 115.7, 47.2, 109.9]], ["C", [53.75, 104.15, 53.8, 92.5]], ["L", [53.8, 43.5]], ["L", [42.45, 43.5]], ["M", [28.5, 51.05]], ["C", [33.45, 51.1, 36.5, 53.5]], ["C", [39.6, 55.9, 41, 59.8]], ["C", [42.45, 63.65, 42.45, 68.2]], ["C", [42.5, 72.7, 41.05, 76.8]], ["C", [39.7, 80.9, 36.6, 83.5]], ["C", [33.55, 86.1, 28.5, 86.2]], ["C", [23.8, 86.1, 20.75, 83.7]], ["C", [17.7, 81.2, 16.3, 77.35]], ["C", [14.9, 73.4, 14.9, 69.1]], ["C", [14.85, 64.7, 16.15, 60.6]], ["C", [17.5, 56.5, 20.5, 53.8]], ["C", [23.5, 51.15, 28.5, 51.05]]]; __motifs["h"] = [["M", [6, 23.8]], ["L", [6, 95.2]], ["L", [17.4, 95.2]], ["L", [17.4, 64.7]], ["C", [17.4, 60.85, 18.95, 57.75]], ["C", [20.45, 54.65, 23.25, 52.9]], ["C", [26.05, 51.1, 29.9, 51.05]], ["C", [34.9, 51, 37.4, 53.85]], ["C", [39.85, 56.65, 40, 62.7]], ["L", [40, 95.2]], ["L", [51.35, 95.2]], ["L", [51.35, 59.65]], ["C", [51.25, 50.95, 46.45, 46.5]], ["C", [41.55, 42.1, 33.1, 42.1]], ["C", [27.95, 42.15, 23.85, 44.4]], ["C", [19.75, 46.65, 17.6, 50.3]], ["L", [17.4, 50.3]], ["L", [17.4, 23.8]], ["L", [6, 23.8]]]; __motifs["i"] = [["M", [6.3, 34.6]], ["L", [17.7, 34.6]], ["L", [17.7, 23.8]], ["L", [6.3, 23.8]], ["L", [6.3, 34.6]], ["M", [6.3, 43.5]], ["L", [6.3, 95.2]], ["L", [17.7, 95.2]], ["L", [17.7, 43.5]], ["L", [6.3, 43.5]]]; __motifs["j"] = [["M", [6.3, 34.6]], ["L", [17.7, 34.6]], ["L", [17.7, 23.8]], ["L", [6.3, 23.8]], ["L", [6.3, 34.6]], ["M", [6.3, 43.5]], ["L", [6.3, 99.1]], ["C", [6.4, 102.95, 5.55, 104.8]], ["C", [4.75, 106.7, 1.7, 106.7]], ["L", [-0.1, 106.65]], ["L", [-2.2, 106.35]], ["L", [-2.2, 115.3]], ["L", [0.1, 115.55]], ["L", [2.9, 115.7]], ["C", [10.85, 115.65, 14.3, 111.5]], ["C", [17.75, 107.4, 17.7, 99.65]], ["L", [17.7, 43.5]], ["L", [6.3, 43.5]]]; __motifs["k"] = [["M", [6.3, 23.8]], ["L", [6.3, 95.2]], ["L", [17.7, 95.2]], ["L", [17.7, 76.7]], ["L", [24.45, 70.1]], ["L", [40.3, 95.2]], ["L", [54.15, 95.2]], ["L", [32.45, 62.5]], ["L", [52.3, 43.5]], ["L", [38.3, 43.5]], ["L", [17.7, 64.4]], ["L", [17.7, 23.8]], ["L", [6.3, 23.8]]]; __motifs["l"] = [["M", [6.3, 23.8]], ["L", [6.3, 95.2]], ["L", [17.7, 95.2]], ["L", [17.7, 23.8]], ["L", [6.3, 23.8]]]; __motifs["m"] = [["M", [54.2, 44.35]], ["C", [50.3, 46.65, 47.45, 50.65]], ["C", [45.65, 46.25, 41.75, 44.15]], ["C", [37.8, 42.1, 33, 42.1]], ["C", [26.95, 42.1, 23.25, 44.45]], ["C", [19.55, 46.75, 17.1, 50.65]], ["L", [16.8, 50.65]], ["L", [16.8, 43.5]], ["L", [6, 43.5]], ["L", [6, 95.2]], ["L", [17.4, 95.2]], ["L", [17.4, 64.5]], ["C", [17.45, 60.15, 19, 57.15]], ["C", [20.55, 54.2, 23.15, 52.6]], ["C", [25.7, 51.05, 28.7, 51.05]], ["C", [33.8, 51.05, 35.85, 53.85]], ["C", [37.9, 56.65, 37.8, 61.95]], ["L", [37.8, 95.2]], ["L", [49.15, 95.2]], ["L", [49.15, 64.9]], ["C", [49.1, 58.3, 51.75, 54.7]], ["C", [54.45, 51.1, 60.15, 51.05]], ["C", [64.55, 51.1, 66.55, 52.8]], ["C", [68.6, 54.6, 69.15, 57.7]], ["C", [69.7, 60.85, 69.6, 65]], ["L", [69.6, 95.2]], ["L", [80.95, 95.2]], ["L", [80.95, 59.45]], ["C", [80.9, 50.15, 76.4, 46.05]], ["C", [71.9, 42, 63.65, 42.1]], ["C", [58.1, 42.1, 54.2, 44.35]]]; __motifs["n"] = [["M", [6, 43.5]], ["L", [6, 95.2]], ["L", [17.4, 95.2]], ["L", [17.4, 64.7]], ["C", [17.4, 60.85, 18.95, 57.75]], ["C", [20.45, 54.65, 23.25, 52.9]], ["C", [26.05, 51.1, 29.9, 51.05]], ["C", [34.9, 51, 37.4, 53.85]], ["C", [39.85, 56.65, 40, 62.7]], ["L", [40, 95.2]], ["L", [51.35, 95.2]], ["L", [51.35, 59.65]], ["C", [51.25, 50.95, 46.45, 46.5]], ["C", [41.55, 42.1, 33.1, 42.1]], ["C", [27.95, 42.1, 23.8, 44.5]], ["C", [19.6, 46.95, 17, 51.25]], ["L", [16.8, 51.05]], ["L", [16.8, 43.5]], ["L", [6, 43.5]]]; __motifs["o"] = [["M", [15.6, 45.65]], ["C", [9.7, 49.1, 6.7, 55.2]], ["C", [3.65, 61.3, 3.6, 69.25]], ["C", [3.65, 77.35, 6.7, 83.5]], ["C", [9.7, 89.6, 15.6, 93.05]], ["C", [21.4, 96.55, 29.75, 96.6]], ["C", [38.05, 96.55, 43.85, 93.05]], ["C", [49.7, 89.6, 52.75, 83.5]], ["C", [55.75, 77.35, 55.8, 69.25]], ["C", [55.75, 61.3, 52.75, 55.2]], ["C", [49.7, 49.1, 43.85, 45.65]], ["C", [38.05, 42.1, 29.75, 42.1]], ["C", [21.4, 42.1, 15.6, 45.65]], ["M", [29.75, 51.05]], ["C", [34.8, 51.15, 38.1, 53.8]], ["C", [41.3, 56.5, 42.85, 60.6]], ["C", [44.45, 64.75, 44.45, 69.25]], ["C", [44.45, 73.9, 42.85, 78.05]], ["C", [41.3, 82.2, 38.1, 84.9]], ["C", [34.8, 87.55, 29.75, 87.65]], ["C", [24.6, 87.55, 21.35, 84.9]], ["C", [18.1, 82.2, 16.55, 78.05]], ["C", [15, 73.9, 15, 69.25]], ["C", [15, 64.75, 16.55, 60.6]], ["C", [18.1, 56.5, 21.35, 53.8]], ["C", [24.6, 51.15, 29.75, 51.05]]]; __motifs["p"] = [["M", [6.3, 43.5]], ["L", [6.3, 114.3]], ["L", [17.7, 114.3]], ["L", [17.7, 88.5]], ["L", [17.85, 88.5]], ["C", [19.75, 91.4, 22.5, 93.15]], ["C", [25.3, 94.95, 28.55, 95.8]], ["C", [31.85, 96.6, 35.2, 96.6]], ["C", [42.8, 96.5, 47.75, 92.7]], ["C", [52.7, 88.9, 55.1, 82.8]], ["C", [57.45, 76.7, 57.45, 69.6]], ["C", [57.45, 61.95, 54.85, 55.75]], ["C", [52.15, 49.55, 46.8, 45.85]], ["C", [41.45, 42.15, 33.3, 42.1]], ["C", [28.25, 42.05, 24, 44.1]], ["C", [19.8, 46.1, 17.3, 50.45]], ["L", [17.1, 50.45]], ["L", [17.1, 43.5]], ["L", [6.3, 43.5]], ["M", [31.8, 51.05]], ["C", [36.45, 51.15, 39.7, 53.7]], ["C", [42.85, 56.3, 44.5, 60.45]], ["C", [46.1, 64.6, 46.1, 69.4]], ["C", [46.15, 74, 44.7, 78.1]], ["C", [43.25, 82.25, 40.15, 84.9]], ["C", [36.95, 87.55, 31.8, 87.65]], ["C", [27.15, 87.6, 23.95, 85.25]], ["C", [20.7, 82.85, 19, 78.75]], ["C", [17.3, 74.65, 17.3, 69.4]], ["C", [17.3, 61, 20.95, 56.1]], ["C", [24.55, 51.15, 31.8, 51.05]]]; __motifs["q"] = [["M", [43.9, 43.5]], ["L", [43.9, 50.45]], ["L", [43.7, 50.45]], ["C", [41.2, 46.1, 36.95, 44.1]], ["C", [32.7, 42.05, 27.7, 42.1]], ["C", [19.55, 42.15, 14.2, 45.85]], ["C", [8.85, 49.55, 6.15, 55.75]], ["C", [3.5, 61.95, 3.5, 69.6]], ["C", [3.5, 76.7, 5.9, 82.8]], ["C", [8.3, 88.9, 13.25, 92.7]], ["C", [18.15, 96.5, 25.8, 96.6]], ["L", [32.4, 95.8]], ["C", [35.7, 94.95, 38.5, 93.15]], ["C", [41.25, 91.4, 43.1, 88.5]], ["L", [43.3, 88.5]], ["L", [43.3, 114.3]], ["L", [54.7, 114.3]], ["L", [54.7, 43.5]], ["L", [43.9, 43.5]], ["M", [29.2, 51.05]], ["C", [36.35, 51.15, 40.05, 56.05]], ["C", [43.7, 60.85, 43.7, 69.4]], ["C", [43.7, 74.85, 42.15, 78.95]], ["C", [40.6, 83.05, 37.35, 85.3]], ["C", [34.15, 87.6, 29.2, 87.65]], ["C", [24, 87.55, 20.85, 84.9]], ["C", [17.7, 82.25, 16.3, 78.1]], ["C", [14.85, 74, 14.9, 69.4]], ["C", [14.9, 64.6, 16.5, 60.45]], ["C", [18.1, 56.3, 21.3, 53.7]], ["C", [24.5, 51.15, 29.2, 51.05]]]; __motifs["r"] = [["M", [6, 43.5]], ["L", [6, 95.2]], ["L", [17.4, 95.2]], ["L", [17.4, 70.6]], ["C", [17.45, 64.9, 19.3, 60.9]], ["C", [21.15, 56.95, 24.25, 54.9]], ["C", [27.45, 52.85, 31.4, 52.85]], ["L", [33.85, 53.05]], ["L", [36.3, 53.35]], ["L", [36.3, 42.35]], ["L", [34.7, 42.15]], ["L", [32, 42.1]], ["C", [28.4, 42.1, 25.25, 43.85]], ["C", [22.05, 45.5, 19.8, 48.1]], ["C", [17.6, 50.65, 16.9, 53.45]], ["L", [16.7, 53.45]], ["L", [16.7, 43.5]], ["L", [6, 43.5]]]; __motifs["s"] = [["M", [11.55, 45.25]], ["C", [8.35, 46.9, 6.35, 49.8]], ["C", [4.35, 52.65, 4.3, 56.85]], ["C", [4.4, 62.1, 6.75, 65.1]], ["C", [9.1, 68.15, 12.85, 69.75]], ["C", [16.6, 71.35, 20.9, 72.2]], ["L", [28.9, 73.95]], ["C", [32.65, 74.8, 35.1, 76.35]], ["C", [37.55, 77.85, 37.8, 80.8]], ["C", [37.85, 83.75, 35.9, 85.25]], ["C", [33.95, 86.7, 31.25, 87.2]], ["L", [26.25, 87.65]], ["C", [21.65, 87.7, 18.35, 85.65]], ["C", [15.15, 83.55, 14.6, 78.65]], ["L", [3.2, 78.65]], ["C", [3.35, 84.7, 6.35, 88.7]], ["C", [9.35, 92.7, 14.45, 94.65]], ["C", [19.55, 96.6, 26.05, 96.6]], ["L", [34.25, 95.75]], ["C", [38.3, 94.8, 41.65, 92.85]], ["C", [45, 90.85, 47.05, 87.65]], ["C", [49.1, 84.4, 49.15, 79.8]], ["C", [49.05, 74.8, 46.7, 71.8]], ["C", [44.3, 68.85, 40.55, 67.2]], ["C", [36.7, 65.6, 32.5, 64.75]], ["L", [24.4, 62.9]], ["C", [20.55, 62.1, 18.15, 60.6]], ["C", [15.75, 59.1, 15.65, 56.4]], ["C", [15.75, 54.15, 17.4, 52.95]], ["C", [19, 51.85, 21.2, 51.45]], ["L", [25.1, 51.05]], ["C", [28.9, 50.95, 31.85, 52.5]], ["C", [34.75, 54, 35.6, 58]], ["L", [47.45, 58]], ["C", [46.75, 52.25, 43.6, 48.7]], ["C", [40.55, 45.25, 35.9, 43.65]], ["C", [31.25, 42.1, 25.9, 42.1]], ["L", [18.55, 42.8]], ["C", [14.8, 43.55, 11.55, 45.25]]]; __motifs["t"] = [["M", [0.85, 43.5]], ["L", [0.85, 52]], ["L", [9.4, 52]], ["L", [9.4, 82.5]], ["C", [9.45, 86.8, 10.6, 89.75]], ["C", [11.7, 92.65, 14.75, 94.15]], ["C", [17.8, 95.7, 23.7, 95.7]], ["L", [27.4, 95.45]], ["L", [31.1, 95.1]], ["L", [31.1, 86.3]], ["L", [28.7, 86.65]], ["L", [26.3, 86.7]], ["C", [23.8, 86.7, 22.6, 85.9]], ["C", [21.45, 85.1, 21.1, 83.55]], ["C", [20.75, 81.95, 20.8, 79.6]], ["L", [20.8, 52]], ["L", [31.1, 52]], ["L", [31.1, 43.5]], ["L", [20.8, 43.5]], ["L", [20.8, 28]], ["L", [9.4, 28]], ["L", [9.4, 43.5]], ["L", [0.85, 43.5]]]; __motifs["u"] = [["M", [6, 43.5]], ["L", [6, 76.3]], ["C", [5.95, 86.45, 10.6, 91.55]], ["C", [15.25, 96.6, 25.3, 96.6]], ["C", [29.7, 96.55, 33.75, 94.25]], ["C", [37.8, 92, 40, 88]], ["L", [40.2, 88]], ["L", [40.2, 95.2]], ["L", [51.35, 95.2]], ["L", [51.35, 43.5]], ["L", [40, 43.5]], ["L", [40, 73.45]], ["C", [40.05, 77.55, 38.8, 80.75]], ["C", [37.6, 83.9, 34.8, 85.8]], ["C", [32.05, 87.6, 27.3, 87.65]], ["C", [22.6, 87.75, 20, 84.85]], ["C", [17.45, 81.95, 17.4, 75.25]], ["L", [17.4, 43.5]], ["L", [6, 43.5]]]; __motifs["v"] = [["M", [0.9, 43.5]], ["L", [19.7, 95.2]], ["L", [32.45, 95.2]], ["L", [51, 43.5]], ["L", [39.15, 43.5]], ["L", [26.55, 83.2]], ["L", [26.35, 83.2]], ["L", [13.3, 43.5]], ["L", [0.9, 43.5]]]; __motifs["w"] = [["M", [64.9, 43.5]], ["L", [54.4, 82.1]], ["L", [54.2, 82.1]], ["L", [44.9, 43.5]], ["L", [33.4, 43.5]], ["L", [23.7, 82.1]], ["L", [23.5, 82.1]], ["L", [13.4, 43.5]], ["L", [1.3, 43.5]], ["L", [17.3, 95.2]], ["L", [29.3, 95.2]], ["L", [38.8, 56.75]], ["L", [39, 56.75]], ["L", [48.6, 95.2]], ["L", [60.3, 95.2]], ["L", [76.5, 43.5]], ["L", [64.9, 43.5]]]; __motifs["x"] = [["M", [2, 43.5]], ["L", [19.9, 67.95]], ["L", [0.4, 95.2]], ["L", [13.8, 95.2]], ["L", [26.5, 76.1]], ["L", [39.6, 95.2]], ["L", [53.3, 95.2]], ["L", [33.5, 67.35]], ["L", [51.1, 43.5]], ["L", [37.9, 43.5]], ["L", [26.6, 59.35]], ["L", [15.8, 43.5]], ["L", [2, 43.5]]]; __motifs["y"] = [["M", [0.3, 43.5]], ["L", [19.9, 95]], ["L", [18.6, 99]], ["L", [17.1, 102.8]], ["C", [16.2, 104.45, 14.7, 105.3]], ["C", [13.25, 106.2, 10.6, 106.2]], ["L", [7.9, 105.95]], ["L", [5.2, 105.5]], ["L", [5.2, 115.1]], ["L", [9.15, 115.55]], ["L", [13.1, 115.7]], ["C", [18.95, 115.6, 22.3, 113.15]], ["C", [25.7, 110.75, 27.65, 106.7]], ["L", [31.4, 98]], ["L", [51.5, 43.5]], ["L", [39.6, 43.5]], ["L", [26.5, 82.1]], ["L", [26.3, 82.1]], ["L", [12.8, 43.5]], ["L", [0.3, 43.5]]]; __motifs["z"] = [["M", [2.2, 95.2]], ["L", [47.7, 95.2]], ["L", [47.7, 86.2]], ["L", [16.6, 86.2]], ["L", [46.2, 51.5]], ["L", [46.2, 43.5]], ["L", [4.2, 43.5]], ["L", [4.2, 52.5]], ["L", [30.8, 52.5]], ["L", [2.2, 87.2]], ["L", [2.2, 95.2]]]; } private static function initializeMotifsUppercase():void{ __motifs["A"] = [["M", [26.7, 23.8]], ["L", [-0.7, 95.2]], ["L", [12.2, 95.2]], ["L", [18.95, 76.3]], ["L", [47.4, 76.3]], ["L", [54.1, 95.2]], ["L", [67.55, 95.2]], ["L", [40.05, 23.8]], ["L", [26.7, 23.8]], ["M", [33.45, 36.1]], ["L", [44.15, 66.8]], ["L", [22.3, 66.8]], ["L", [33.1, 36.1]], ["L", [33.45, 36.1]]]; __motifs["B"] = [["M", [51, 43.8]], ["C", [50.9, 48.6, 48, 51.15]], ["C", [45.05, 53.7, 40.5, 53.7]], ["L", [20.1, 53.7]], ["L", [20.1, 34]], ["L", [40.5, 34]], ["C", [45.6, 33.95, 48.3, 36.2]], ["C", [51, 38.45, 51, 43.8]], ["M", [42.3, 23.8]], ["L", [7.6, 23.8]], ["L", [7.6, 95.2]], ["L", [40.45, 95.2]], ["C", [49.6, 95.15, 55.4, 92.5]], ["C", [61.3, 89.95, 64, 85.45]], ["C", [66.7, 80.95, 66.7, 75.3]], ["C", [66.65, 67.95, 63.3, 63.15]], ["C", [59.85, 58.4, 53.3, 56.85]], ["L", [53.3, 56.65]], ["C", [58.2, 54.6, 60.85, 50.75]], ["C", [63.45, 46.9, 63.5, 41.5]], ["C", [63.45, 35.6, 60.85, 31.65]], ["C", [58.2, 27.7, 53.45, 25.75]], ["C", [48.75, 23.8, 42.3, 23.8]], ["M", [20.1, 62.7]], ["L", [42.2, 62.7]], ["C", [47.95, 62.75, 51.05, 65.55]], ["C", [54.15, 68.4, 54.2, 73.65]], ["C", [54.15, 79.15, 51.05, 82.05]], ["C", [47.95, 84.95, 42.2, 85]], ["L", [20.1, 85]], ["L", [20.1, 62.7]]]; __motifs["C"] = [["M", [68.3, 46.5]], ["C", [67.5, 38.8, 63.4, 33.35]], ["C", [59.25, 27.9, 52.7, 25.05]], ["C", [46.15, 22.2, 38, 22.1]], ["C", [30, 22.15, 23.65, 25.1]], ["C", [17.3, 28, 12.9, 33.15]], ["C", [8.45, 38.3, 6.15, 45.05]], ["C", [3.8, 51.8, 3.8, 59.5]], ["C", [3.8, 67.2, 6.15, 73.95]], ["C", [8.45, 80.7, 12.9, 85.85]], ["C", [17.3, 91, 23.65, 93.95]], ["C", [30, 96.85, 38, 96.9]], ["C", [46.75, 96.85, 53.35, 93.2]], ["C", [60, 89.6, 63.9, 83.1]], ["C", [67.85, 76.6, 68.4, 68]], ["L", [56.2, 68]], ["C", [55.7, 73.3, 53.5, 77.5]], ["C", [51.3, 81.65, 47.4, 84.15]], ["C", [43.55, 86.65, 38, 86.7]], ["C", [32.3, 86.65, 28.15, 84.35]], ["C", [24, 82.1, 21.45, 78.25]], ["C", [18.8, 74.4, 17.55, 69.5]], ["C", [16.3, 64.7, 16.3, 59.5]], ["C", [16.3, 54.35, 17.55, 49.5]], ["C", [18.8, 44.6, 21.45, 40.75]], ["C", [24, 36.9, 28.15, 34.65]], ["C", [32.3, 32.35, 38, 32.3]], ["C", [45.75, 32.4, 50, 36.3]], ["C", [54.3, 40.2, 55.8, 46.5]], ["L", [68.3, 46.5]]]; __motifs["D"] = [["M", [55.15, 28.7]], ["C", [48.2, 23.9, 37.2, 23.8]], ["L", [7.6, 23.8]], ["L", [7.6, 95.2]], ["L", [37.2, 95.2]], ["C", [48.2, 95.1, 55.15, 90.3]], ["C", [62.1, 85.6, 65.45, 77.5]], ["C", [68.75, 69.45, 68.7, 59.5]], ["C", [68.75, 49.55, 65.45, 41.5]], ["C", [62.1, 33.45, 55.15, 28.7]], ["M", [54.4, 46.55]], ["C", [56.3, 52.3, 56.2, 59.5]], ["C", [56.3, 66.75, 54.4, 72.45]], ["C", [52.5, 78.2, 47.25, 81.6]], ["C", [42.1, 84.95, 32.4, 85]], ["L", [20.1, 85]], ["L", [20.1, 34]], ["L", [32.4, 34]], ["C", [42.1, 34.05, 47.25, 37.45]], ["C", [52.5, 40.8, 54.4, 46.55]]]; __motifs["E"] = [["M", [59.05, 23.8]], ["L", [7.6, 23.8]], ["L", [7.6, 95.2]], ["L", [59.7, 95.2]], ["L", [59.7, 84.4]], ["L", [20.1, 84.4]], ["L", [20.1, 63.5]], ["L", [56.1, 63.5]], ["L", [56.1, 53.3]], ["L", [20.1, 53.3]], ["L", [20.1, 34.6]], ["L", [59.05, 34.6]], ["L", [59.05, 23.8]]]; __motifs["F"] = [["M", [56.95, 23.8]], ["L", [7.6, 23.8]], ["L", [7.6, 95.2]], ["L", [20.1, 95.2]], ["L", [20.1, 63.5]], ["L", [52.4, 63.5]], ["L", [52.4, 53.3]], ["L", [20.1, 53.3]], ["L", [20.1, 34.6]], ["L", [56.95, 34.6]], ["L", [56.95, 23.8]]]; __motifs["G"] = [["M", [52.95, 24.85]], ["C", [46.4, 22.1, 38.5, 22.1]], ["C", [30.45, 22.15, 24.1, 25.1]], ["C", [17.75, 28, 13.4, 33.15]], ["C", [8.95, 38.3, 6.65, 45.05]], ["C", [4.3, 51.8, 4.3, 59.5]], ["C", [4.3, 67.2, 6.65, 73.95]], ["C", [8.95, 80.7, 13.4, 85.85]], ["C", [17.75, 91, 24.1, 93.95]], ["C", [30.45, 96.85, 38.5, 96.9]], ["C", [44.9, 97, 50, 94.7]], ["C", [55.1, 92.4, 60, 86.8]], ["L", [61.9, 95.2]], ["L", [69.85, 95.2]], ["L", [69.85, 57.6]], ["L", [39.5, 57.6]], ["L", [39.5, 67.1]], ["L", [58.5, 67.1]], ["C", [58.3, 76.3, 53.2, 81.55]], ["C", [48.15, 86.75, 38.5, 86.7]], ["C", [32.75, 86.65, 28.65, 84.35]], ["C", [24.5, 82.1, 21.9, 78.25]], ["C", [19.3, 74.4, 18, 69.55]], ["C", [16.8, 64.7, 16.8, 59.5]], ["C", [16.8, 54.35, 18, 49.5]], ["C", [19.3, 44.6, 21.9, 40.75]], ["C", [24.5, 36.9, 28.65, 34.65]], ["C", [32.75, 32.35, 38.5, 32.3]], ["C", [43.05, 32.3, 47, 33.9]], ["C", [50.95, 35.5, 53.6, 38.65]], ["C", [56.25, 41.8, 56.9, 46.5]], ["L", [69.1, 46.5]], ["C", [68.05, 38.45, 63.75, 33.05]], ["C", [59.45, 27.6, 52.95, 24.85]]]; __motifs["H"] = [["M", [52.3, 23.8]], ["L", [52.3, 52.2]], ["L", [19.8, 52.2]], ["L", [19.8, 23.8]], ["L", [7.3, 23.8]], ["L", [7.3, 95.2]], ["L", [19.8, 95.2]], ["L", [19.8, 62.95]], ["L", [52.3, 62.95]], ["L", [52.3, 95.2]], ["L", [64.8, 95.2]], ["L", [64.8, 23.8]], ["L", [52.3, 23.8]]]; __motifs["I"] = [["M", [7.6, 23.8]], ["L", [7.6, 95.2]], ["L", [20.1, 95.2]], ["L", [20.1, 23.8]], ["L", [7.6, 23.8]]]; __motifs["J"] = [["M", [13.8, 70.2]], ["L", [1.3, 70.2]], ["L", [1.3, 74]], ["C", [1.3, 80.55, 3.45, 85.75]], ["C", [5.65, 90.85, 10.4, 93.9]], ["C", [15.1, 96.85, 22.6, 96.9]], ["C", [30.2, 96.85, 34.9, 94.8]], ["C", [39.6, 92.7, 42.05, 89.2]], ["C", [44.45, 85.7, 45.3, 81.3]], ["C", [46.15, 76.9, 46.1, 72.2]], ["L", [46.1, 23.8]], ["L", [33.6, 23.8]], ["L", [33.6, 72.9]], ["C", [33.65, 77.4, 32.8, 80.45]], ["C", [32, 83.55, 29.8, 85.1]], ["C", [27.65, 86.7, 23.6, 86.7]], ["C", [18, 86.65, 15.85, 83.35]], ["C", [13.7, 80, 13.8, 73.9]], ["L", [13.8, 70.2]]]; __motifs["K"] = [["M", [51.9, 23.8]], ["L", [20.1, 56.3]], ["L", [20.1, 23.8]], ["L", [7.6, 23.8]], ["L", [7.6, 95.2]], ["L", [20.1, 95.2]], ["L", [20.1, 71.2]], ["L", [30.3, 61.05]], ["L", [53.7, 95.2]], ["L", [69.35, 95.2]], ["L", [38.8, 52.3]], ["L", [67.35, 23.8]], ["L", [51.9, 23.8]]]; __motifs["L"] = [["M", [7.6, 23.8]], ["L", [7.6, 95.2]], ["L", [56.4, 95.2]], ["L", [56.4, 84.4]], ["L", [20.1, 84.4]], ["L", [20.1, 23.8]], ["L", [7.6, 23.8]]]; __motifs["M"] = [["M", [81.5, 23.8]], ["L", [64.05, 23.8]], ["L", [44.85, 79.7]], ["L", [44.7, 79.7]], ["L", [25, 23.8]], ["L", [7.35, 23.8]], ["L", [7.35, 95.2]], ["L", [19.3, 95.2]], ["L", [19.3, 40.1]], ["L", [19.5, 40.1]], ["L", [39.3, 95.2]], ["L", [49.55, 95.2]], ["L", [69.4, 40.1]], ["L", [69.6, 40.1]], ["L", [69.6, 95.2]], ["L", [81.5, 95.2]], ["L", [81.5, 23.8]]]; __motifs["N"] = [["M", [53.1, 23.8]], ["L", [53.1, 76.4]], ["L", [52.9, 76.4]], ["L", [20.25, 23.8]], ["L", [7.1, 23.8]], ["L", [7.1, 95.2]], ["L", [19, 95.2]], ["L", [19, 42.7]], ["L", [19.3, 42.7]], ["L", [51.8, 95.2]], ["L", [65, 95.2]], ["L", [65, 23.8]], ["L", [53.1, 23.8]]]; __motifs["O"] = [["M", [54.6, 40.75]], ["C", [57.25, 44.6, 58.5, 49.5]], ["C", [59.7, 54.35, 59.7, 59.5]], ["C", [59.7, 64.7, 58.5, 69.5]], ["C", [57.25, 74.4, 54.6, 78.25]], ["C", [52, 82.1, 47.85, 84.35]], ["C", [43.75, 86.65, 38.05, 86.7]], ["C", [32.3, 86.65, 28.15, 84.35]], ["C", [24, 82.1, 21.45, 78.25]], ["C", [18.8, 74.4, 17.55, 69.5]], ["C", [16.3, 64.7, 16.3, 59.5]], ["C", [16.3, 54.35, 17.55, 49.5]], ["C", [18.8, 44.6, 21.45, 40.75]], ["C", [24, 36.9, 28.15, 34.65]], ["C", [32.3, 32.35, 38.05, 32.3]], ["C", [43.75, 32.35, 47.85, 34.65]], ["C", [52, 36.9, 54.6, 40.75]], ["M", [52.4, 25.1]], ["C", [46.05, 22.15, 38.05, 22.1]], ["C", [30, 22.15, 23.65, 25.1]], ["C", [17.3, 28, 12.9, 33.15]], ["C", [8.45, 38.3, 6.15, 45.05]], ["C", [3.8, 51.8, 3.8, 59.5]], ["C", [3.8, 67.2, 6.15, 73.95]], ["C", [8.45, 80.7, 12.9, 85.85]], ["C", [17.3, 91, 23.65, 93.95]], ["C", [30, 96.85, 38.05, 96.9]], ["C", [46.05, 96.85, 52.4, 93.95]], ["C", [58.75, 91, 63.15, 85.85]], ["C", [67.6, 80.7, 69.85, 73.95]], ["C", [72.2, 67.2, 72.2, 59.5]], ["C", [72.2, 51.8, 69.85, 45.05]], ["C", [67.6, 38.3, 63.15, 33.15]], ["C", [58.75, 28, 52.4, 25.1]]]; __motifs["P"] = [["M", [51.45, 26]], ["C", [46.7, 23.85, 39.1, 23.8]], ["L", [7.6, 23.8]], ["L", [7.6, 95.2]], ["L", [20.1, 95.2]], ["L", [20.1, 67.9]], ["L", [39.1, 67.9]], ["C", [46.7, 67.85, 51.45, 65.75]], ["C", [56.3, 63.65, 58.9, 60.3]], ["C", [61.45, 56.9, 62.45, 53.1]], ["C", [63.45, 49.35, 63.4, 46]], ["C", [63.45, 42.55, 62.45, 38.75]], ["C", [61.45, 34.9, 58.9, 31.55]], ["C", [56.3, 28.15, 51.45, 26]], ["M", [50.9, 45.85]], ["C", [50.85, 50.35, 48.9, 52.95]], ["C", [46.95, 55.55, 44.15, 56.65]], ["C", [41.25, 57.75, 38.4, 57.7]], ["L", [20.1, 57.7]], ["L", [20.1, 34]], ["L", [38.55, 34]], ["C", [41.95, 33.95, 44.75, 35]], ["C", [47.5, 36, 49.15, 38.6]], ["C", [50.85, 41.2, 50.9, 45.85]]]; __motifs["Q"] = [["M", [52.4, 25.1]], ["C", [46.05, 22.15, 38.05, 22.1]], ["C", [30, 22.15, 23.65, 25.1]], ["C", [17.3, 28, 12.9, 33.15]], ["C", [8.45, 38.3, 6.15, 45.05]], ["C", [3.8, 51.8, 3.8, 59.5]], ["C", [3.8, 67.2, 6.15, 73.95]], ["C", [8.45, 80.7, 12.9, 85.85]], ["C", [17.3, 91, 23.65, 93.95]], ["C", [30, 96.85, 38.05, 96.9]], ["C", [42.25, 96.9, 46.55, 95.9]], ["C", [50.85, 94.85, 54.85, 92.6]], ["L", [65.25, 101.7]], ["L", [71.35, 94.9]], ["L", [62.1, 86.9]], ["C", [65.65, 83.5, 67.85, 78.95]], ["C", [70.1, 74.45, 71.2, 69.45]], ["C", [72.2, 64.45, 72.2, 59.5]], ["C", [72.2, 51.8, 69.85, 45.05]], ["C", [67.6, 38.3, 63.15, 33.15]], ["C", [58.75, 28, 52.4, 25.1]], ["M", [54.6, 40.75]], ["C", [57.25, 44.6, 58.5, 49.5]], ["C", [59.7, 54.35, 59.7, 59.5]], ["C", [59.75, 65, 58.3, 70.15]], ["C", [56.85, 75.3, 53.5, 79.45]], ["L", [44.8, 71.8]], ["L", [38.8, 78.7]], ["L", [46, 85]], ["C", [44.15, 85.9, 42.05, 86.3]], ["L", [38.05, 86.7]], ["C", [32.3, 86.65, 28.15, 84.35]], ["C", [24, 82.1, 21.45, 78.25]], ["C", [18.8, 74.4, 17.55, 69.5]], ["C", [16.3, 64.7, 16.3, 59.5]], ["C", [16.3, 54.35, 17.55, 49.5]], ["C", [18.8, 44.6, 21.45, 40.75]], ["C", [24, 36.9, 28.15, 34.65]], ["C", [32.3, 32.35, 38.05, 32.3]], ["C", [43.75, 32.35, 47.85, 34.65]], ["C", [52, 36.9, 54.6, 40.75]]]; __motifs["R"] = [["M", [41.7, 23.8]], ["L", [7.6, 23.8]], ["L", [7.6, 95.2]], ["L", [20.1, 95.2]], ["L", [20.1, 65.8]], ["L", [38.5, 65.8]], ["C", [44.2, 65.8, 47.3, 67.8]], ["C", [50.45, 69.8, 51.6, 73.95]], ["C", [52.8, 78.15, 52.75, 84.7]], ["C", [52.7, 87.35, 53, 90.05]], ["C", [53.25, 92.85, 54.65, 95.2]], ["L", [68, 95.2]], ["C", [66.65, 93.7, 65.8, 90.85]], ["C", [64.95, 88.05, 64.5, 84.3]], ["C", [64.1, 80.6, 64.1, 76.4]], ["C", [64, 70.8, 62.3, 67.6]], ["C", [60.6, 64.4, 58.2, 62.95]], ["C", [55.75, 61.55, 53.5, 61.3]], ["L", [53.5, 61.1]], ["L", [56.3, 59.85]], ["C", [58.2, 58.9, 60.25, 56.9]], ["C", [62.3, 54.95, 63.75, 51.6]], ["C", [65.25, 48.25, 65.3, 43.1]], ["C", [65.3, 33.95, 59.35, 28.95]], ["C", [53.4, 23.9, 41.7, 23.8]], ["M", [52.8, 44.9]], ["C", [52.8, 50.5, 49.65, 53.4]], ["C", [46.55, 56.3, 40.6, 56.3]], ["L", [20.1, 56.3]], ["L", [20.1, 34]], ["L", [40.45, 34]], ["C", [43.7, 33.95, 46.5, 34.8]], ["C", [49.3, 35.7, 51.05, 38]], ["C", [52.75, 40.4, 52.8, 44.9]]]; __motifs["S"] = [["M", [45.85, 24.7]], ["C", [39.65, 22.1, 32.15, 22.1]], ["C", [27.2, 22.1, 22.6, 23.35]], ["C", [17.95, 24.65, 14.2, 27.25]], ["C", [10.5, 29.8, 8.25, 33.75]], ["C", [6.05, 37.75, 6, 43.1]], ["C", [5.95, 46.85, 7.35, 50.4]], ["C", [8.85, 53.85, 12.3, 56.65]], ["C", [15.75, 59.5, 21.85, 61.2]], ["L", [34.3, 64.45]], ["L", [43.1, 67.1]], ["C", [45.4, 67.85, 47.15, 69.85]], ["C", [48.95, 71.85, 49, 75.9]], ["C", [49.05, 78.65, 47.55, 81.1]], ["C", [46.05, 83.6, 42.7, 85.1]], ["C", [39.4, 86.65, 33.95, 86.7]], ["C", [28.85, 86.75, 24.8, 85.2]], ["C", [20.7, 83.65, 18.3, 80.25]], ["C", [15.85, 76.9, 15.8, 71.4]], ["L", [3.3, 71.4]], ["C", [3.55, 80.25, 7.55, 85.85]], ["C", [11.55, 91.55, 18.2, 94.2]], ["C", [24.9, 96.9, 33.1, 96.9]], ["C", [38.55, 96.9, 43.55, 95.65]], ["C", [48.6, 94.35, 52.65, 91.7]], ["C", [56.7, 89, 59.1, 84.75]], ["C", [61.45, 80.5, 61.5, 74.5]], ["C", [61.5, 70.75, 60, 67.1]], ["C", [58.5, 63.5, 55.4, 60.65]], ["C", [52.35, 57.75, 47.6, 56.3]], ["L", [43, 55]], ["L", [36.35, 53.25]], ["L", [30.2, 51.65]], ["L", [27, 50.8]], ["C", [23.15, 49.8, 20.85, 47.55]], ["C", [18.55, 45.35, 18.5, 41.6]], ["C", [18.6, 38, 20.6, 35.95]], ["C", [22.65, 33.95, 25.65, 33.15]], ["C", [28.6, 32.25, 31.6, 32.3]], ["C", [38.2, 32.2, 42.35, 35.15]], ["C", [46.5, 38.05, 47, 44.9]], ["L", [59.5, 44.9]], ["C", [59.4, 37.45, 55.7, 32.35]], ["C", [52.05, 27.3, 45.85, 24.7]]]; __motifs["T"] = [["M", [58.6, 23.8]], ["L", [0.8, 23.8]], ["L", [0.8, 34.6]], ["L", [23.4, 34.6]], ["L", [23.4, 95.2]], ["L", [35.9, 95.2]], ["L", [35.9, 34.6]], ["L", [58.6, 34.6]], ["L", [58.6, 23.8]]]; __motifs["U"] = [["M", [52.9, 23.8]], ["L", [52.9, 65.4]], ["L", [52.55, 72.7]], ["C", [52.15, 76.35, 50.55, 79.4]], ["C", [48.95, 82.4, 45.55, 84.2]], ["C", [42.1, 86.05, 36.1, 86.1]], ["C", [30.1, 86.05, 26.6, 84.2]], ["C", [23.2, 82.4, 21.65, 79.4]], ["C", [20, 76.35, 19.65, 72.7]], ["C", [19.25, 69.1, 19.3, 65.4]], ["L", [19.3, 23.8]], ["L", [6.8, 23.8]], ["L", [6.8, 69.5]], ["C", [6.85, 78.65, 10.5, 84.75]], ["C", [14.1, 90.85, 20.65, 93.9]], ["C", [27.25, 96.9, 36.1, 96.9]], ["C", [44.9, 96.9, 51.5, 93.9]], ["C", [58.05, 90.85, 61.65, 84.75]], ["C", [65.35, 78.65, 65.4, 69.5]], ["L", [65.4, 23.8]], ["L", [52.9, 23.8]]]; __motifs["V"] = [["M", [48.95, 23.8]], ["L", [30.6, 80.3]], ["L", [30.4, 80.3]], ["L", [12.5, 23.8]], ["L", [-0.5, 23.8]], ["L", [23.35, 95.2]], ["L", [37.2, 95.2]], ["L", [61.6, 23.8]], ["L", [48.95, 23.8]]]; __motifs["W"] = [["M", [81.1, 23.8]], ["L", [67.8, 78.4]], ["L", [67.6, 78.4]], ["L", [53.6, 23.8]], ["L", [40.8, 23.8]], ["L", [26.4, 78.4]], ["L", [26.2, 78.4]], ["L", [13.3, 23.8]], ["L", [0.6, 23.8]], ["L", [19.4, 95.2]], ["L", [32.3, 95.2]], ["L", [46.9, 40.6]], ["L", [47.1, 40.6]], ["L", [61.4, 95.2]], ["L", [74.1, 95.2]], ["L", [93.8, 23.8]], ["L", [81.1, 23.8]]]; __motifs["X"] = [["M", [49.4, 23.8]], ["L", [32.5, 49]], ["L", [16.3, 23.8]], ["L", [1.4, 23.8]], ["L", [25, 58.2]], ["L", [-0.3, 95.2]], ["L", [14, 95.2]], ["L", [32.1, 67.9]], ["L", [49.9, 95.2]], ["L", [65.1, 95.2]], ["L", [39.8, 58.2]], ["L", [63.4, 23.8]], ["L", [49.4, 23.8]]]; __motifs["Y"] = [["M", [51.4, 23.8]], ["L", [32.8, 55.8]], ["L", [13.9, 23.8]], ["L", [-0.6, 23.8]], ["L", [26.2, 67.2]], ["L", [26.2, 95.2]], ["L", [38.7, 95.2]], ["L", [38.7, 67.2]], ["L", [65.45, 23.8]], ["L", [51.4, 23.8]]]; __motifs["Z"] = [["M", [59.8, 23.8]], ["L", [5.5, 23.8]], ["L", [5.5, 34.6]], ["L", [43.9, 34.6]], ["L", [2.3, 85]], ["L", [2.3, 95.2]], ["L", [60.8, 95.2]], ["L", [60.8, 84.4]], ["L", [18.2, 84.4]], ["L", [59.8, 33.35]], ["L", [59.8, 23.8]]]; } } }//package five3D.typography
Section 17
//MarquisDeSadeOrnaments (five3D.typography.MarquisDeSadeOrnaments) package five3D.typography { public class MarquisDeSadeOrnaments { public static var __motifs:Object = {}; public static var __initialized:Boolean = false; public static var __heights:Number = 137; public static var __widths:Object = {}; public static function initialize():void{ initializeMotifs(); initializeWidths(); __initialized = true; } private static function initializeMotifs():void{ __motifs["0"] = [["M", [49.95, 48.55]], ["C", [48.9, 56, 42.55, 56]], ["C", [33.55, 56, 30.45, 46.1]], ["L", [29.65, 41.7]], ["L", [28.8, 41.7]], ["L", [28.8, 41.95]], ["C", [28.8, 46.45, 33.5, 55.45]], ["L", [34.05, 57.65]], ["L", [34.05, 60.1]], ["C", [34.05, 61.2, 29.65, 71.05]], ["C", [28.8, 73.25, 28.8, 75.75]], ["L", [28.8, 76]], ["L", [29.65, 76]], ["C", [29.65, 66.45, 38.7, 62.3]], ["L", [42.55, 61.75]], ["C", [48.2, 61.75, 49.65, 67.8]], ["L", [49.95, 69.7]], ["C", [49.95, 74.85, 44.75, 78.75]], ["C", [44.75, 71.6, 38.15, 71.6]], ["L", [37.35, 71.6]], ["C", [32.35, 72.55, 32.35, 75.75]], ["L", [32.35, 76]], ["C", [34.45, 76, 35.4, 78.5]], ["L", [35.15, 78.75]], ["C", [33.75, 77.95, 32.35, 77.95]], ["L", [32.35, 78.2]], ["C", [32.35, 80.7, 34.05, 82.3]], ["L", [34.35, 82.3]], ["C", [34.5, 80.1, 36.25, 80.1]], ["C", [38.7, 81.05, 38.7, 83.15]], ["L", [38.7, 83.7]], ["C", [38.7, 85.55, 36.25, 86.45]], ["C", [31.55, 86.45, 29.95, 77.95]], ["L", [28.8, 77.95]], ["L", [28.8, 79.05]], ["C", [28.8, 80.8, 29.95, 83.95]], ["L", [27.75, 90.55]], ["L", [26.9, 90.55]], ["L", [24.7, 83.95]], ["C", [25.85, 80.6, 25.85, 78.5]], ["L", [25.85, 77.95]], ["L", [25, 77.95]], ["C", [24.6, 77.95, 23.65, 82.3]], ["C", [21.25, 86.45, 18.4, 86.45]], ["C", [15.9, 85.55, 15.9, 83.7]], ["L", [15.9, 83.15]], ["C", [16.5, 80.1, 18.7, 80.1]], ["C", [20.3, 80.7, 20.3, 82.3]], ["L", [20.6, 82.3]], ["C", [22.25, 80.8, 22.25, 77.95]], ["L", [21.95, 77.95]], ["L", [19.5, 78.75]], ["L", [19.25, 78.5]], ["C", [19.25, 77, 22.25, 75.75]], ["C", [22.25, 72.6, 17.3, 71.6]], ["L", [16.5, 71.6]], ["C", [11.35, 71.6, 10.45, 76]], ["C", [10.1, 78.75, 9.4, 78.75]], ["C", [4.7, 74.15, 4.7, 69.15]], ["C", [5.75, 61.75, 12.1, 61.75]], ["C", [21.35, 61.75, 24.45, 72.45]], ["L", [25, 76]], ["L", [25.85, 76]], ["L", [25.85, 75.75]], ["C", [25.85, 71.65, 20.6, 60.9]], ["L", [20.6, 57.65]], ["C", [20.6, 56.5, 25, 46.65]], ["C", [25.85, 44.05, 25.85, 41.95]], ["L", [25.85, 41.7]], ["L", [25, 41.7]], ["C", [25, 49.75, 17.85, 54.6]], ["C", [15.25, 56, 12.1, 56]], ["C", [6.3, 56, 4.7, 49.4]], ["L", [4.7, 48.3]], ["C", [4.7, 43.25, 9.6, 39]], ["C", [10.15, 39.5, 10.15, 41.45]], ["C", [11.45, 46.1, 16.5, 46.1]], ["L", [17.3, 46.1]], ["C", [21.95, 45.6, 21.95, 41.7]], ["C", [20.15, 41.7, 19.25, 39.25]], ["L", [19.5, 39]], ["C", [20.9, 39.75, 22.25, 39.75]], ["L", [22.25, 39.5]], ["C", [22.25, 37.05, 20.6, 35.4]], ["L", [20.3, 35.4]], ["C", [20.1, 37.6, 18.4, 37.6]], ["C", [15.9, 36.7, 15.9, 34.6]], ["L", [15.9, 34]], ["C", [15.9, 32.15, 18.4, 31.25]], ["C", [23.1, 31.25, 24.7, 39.75]], ["L", [25.85, 39.75]], ["L", [25.85, 39.25]], ["C", [25.85, 37.4, 24.7, 33.45]], ["L", [26.9, 27.15]], ["L", [27.75, 27.15]], ["L", [29.95, 34]], ["C", [28.8, 36.6, 28.8, 38.7]], ["L", [28.8, 39.75]], ["L", [29.95, 39.75]], ["C", [31.55, 31.25, 36.25, 31.25]], ["C", [38.7, 32.15, 38.7, 34]], ["L", [38.7, 34.6]], ["C", [38.15, 37.6, 35.95, 37.6]], ["C", [34.35, 37.05, 34.35, 35.4]], ["L", [34.05, 35.4]], ["C", [32.35, 36.95, 32.35, 39.75]], ["L", [32.65, 39.75]], ["L", [35.15, 39]], ["L", [35.4, 39.25]], ["C", [34.45, 41.7, 32.35, 41.7]], ["L", [32.35, 41.95]], ["C", [32.35, 45.2, 37.35, 46.1]], ["L", [38.15, 46.1]], ["C", [44.75, 46.1, 44.75, 39]], ["C", [49.95, 42.7, 49.95, 48.55]]]; } private static function initializeWidths():void{ __widths["0"] = 55; } } }//package five3D.typography
Section 18
//SoundIcon (five3D.typography.SoundIcon) package five3D.typography { public class SoundIcon { public static var __motifs:Object = {}; public static var __initialized:Boolean = false; public static var __heights:Number = 168; public static var __widths:Object = {}; public static function initialize():void{ initializeMotifs(); initializeWidths(); __initialized = true; } private static function initializeMotifs():void{ __motifs["e"] = [["M", [85.7, 75.8]], ["L", [87.55, 132.6]], ["C", [86.8, 135.85, 87.55, 140.25]], ["C", [86.45, 146.85, 82.4, 150.9]], ["C", [77.65, 154.9, 71.45, 156.05]], ["C", [63.4, 156.75, 57.15, 151.25]], ["C", [52, 146.5, 51.25, 138.45]], ["C", [52.75, 121.95, 69.25, 120.15]], ["L", [75.85, 121.2]], ["L", [80.2, 123.8]], ["L", [78.75, 85.35]], ["L", [40.3, 88.65]], ["L", [37.35, 89.4]], ["L", [39.2, 147.25]], ["C", [38.1, 161.9, 23.45, 164.8]], ["C", [15.4, 165.55, 9.2, 160.05]], ["C", [4.05, 155.3, 3.3, 147.25]], ["C", [4.8, 130.75, 21.25, 128.95]], ["C", [25.65, 128.95, 28.55, 130.4]], ["L", [31.9, 132.2]], ["L", [30.75, 90.45]], ["L", [30.05, 82.05]], ["C", [30.4, 76.95, 32.6, 76.55]], ["L", [76.15, 72.55]], ["C", [82.05, 73.25, 83.15, 72.55]], ["C", [86.45, 74.75, 85.7, 75.8]]]; } private static function initializeWidths():void{ __widths["e"] = 149; } } }//package five3D.typography
Section 19
//Color (fl.motion.Color) package fl.motion { import flash.display.*; import flash.geom.*; public class Color extends ColorTransform { private var _tintColor:Number;// = 0 private var _tintMultiplier:Number;// = 0 public function Color(_arg1:Number=1, _arg2:Number=1, _arg3:Number=1, _arg4:Number=1, _arg5:Number=0, _arg6:Number=0, _arg7:Number=0, _arg8:Number=0){ super(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8); } private function deriveTintColor():uint{ var _local1:Number = (1 / this.tintMultiplier); var _local2:uint = Math.round((this.redOffset * _local1)); var _local3:uint = Math.round((this.greenOffset * _local1)); var _local4:uint = Math.round((this.blueOffset * _local1)); var _local5:uint = (((_local2 << 16) | (_local3 << 8)) | _local4); return (_local5); } public function set brightness(_arg1:Number):void{ if (_arg1 > 1){ _arg1 = 1; } else { if (_arg1 < -1){ _arg1 = -1; }; }; var _local2:Number = (1 - Math.abs(_arg1)); var _local3:Number = 0; if (_arg1 > 0){ _local3 = (_arg1 * 0xFF); }; this.redMultiplier = (this.greenMultiplier = (this.blueMultiplier = _local2)); this.redOffset = (this.greenOffset = (this.blueOffset = _local3)); } private function parseXML(_arg1:XML=null):Color{ var _local3:XML; var _local4:String; var _local5:uint; if (!_arg1){ return (this); }; var _local2:XML = _arg1.elements()[0]; if (!_local2){ return (this); }; for each (_local3 in _local2.attributes()) { _local4 = _local3.localName(); if (_local4 == "tintColor"){ _local5 = (Number(_local3.toString()) as uint); this.tintColor = _local5; } else { this[_local4] = Number(_local3.toString()); }; }; return (this); } public function get tintColor():uint{ return (this._tintColor); } public function set tintColor(_arg1:uint):void{ this.setTint(_arg1, this.tintMultiplier); } public function get brightness():Number{ return ((this.redOffset) ? (1 - this.redMultiplier) : (this.redMultiplier - 1)); } public function set tintMultiplier(_arg1:Number):void{ this.setTint(this.tintColor, _arg1); } public function get tintMultiplier():Number{ return (this._tintMultiplier); } public function setTint(_arg1:uint, _arg2:Number):void{ this._tintColor = _arg1; this._tintMultiplier = _arg2; this.redMultiplier = (this.greenMultiplier = (this.blueMultiplier = (1 - _arg2))); var _local3:uint = ((_arg1 >> 16) & 0xFF); var _local4:uint = ((_arg1 >> 8) & 0xFF); var _local5:uint = (_arg1 & 0xFF); this.redOffset = Math.round((_local3 * _arg2)); this.greenOffset = Math.round((_local4 * _arg2)); this.blueOffset = Math.round((_local5 * _arg2)); } public static function interpolateColor(_arg1:uint, _arg2:uint, _arg3:Number):uint{ var _local4:Number = (1 - _arg3); var _local5:uint = ((_arg1 >> 24) & 0xFF); var _local6:uint = ((_arg1 >> 16) & 0xFF); var _local7:uint = ((_arg1 >> 8) & 0xFF); var _local8:uint = (_arg1 & 0xFF); var _local9:uint = ((_arg2 >> 24) & 0xFF); var _local10:uint = ((_arg2 >> 16) & 0xFF); var _local11:uint = ((_arg2 >> 8) & 0xFF); var _local12:uint = (_arg2 & 0xFF); var _local13:uint = ((_local5 * _local4) + (_local9 * _arg3)); var _local14:uint = ((_local6 * _local4) + (_local10 * _arg3)); var _local15:uint = ((_local7 * _local4) + (_local11 * _arg3)); var _local16:uint = ((_local8 * _local4) + (_local12 * _arg3)); var _local17:uint = ((((_local13 << 24) | (_local14 << 16)) | (_local15 << 8)) | _local16); return (_local17); } public static function interpolateTransform(_arg1:ColorTransform, _arg2:ColorTransform, _arg3:Number):ColorTransform{ var _local4:Number = (1 - _arg3); var _local5:ColorTransform = new ColorTransform(((_arg1.redMultiplier * _local4) + (_arg2.redMultiplier * _arg3)), ((_arg1.greenMultiplier * _local4) + (_arg2.greenMultiplier * _arg3)), ((_arg1.blueMultiplier * _local4) + (_arg2.blueMultiplier * _arg3)), ((_arg1.alphaMultiplier * _local4) + (_arg2.alphaMultiplier * _arg3)), ((_arg1.redOffset * _local4) + (_arg2.redOffset * _arg3)), ((_arg1.greenOffset * _local4) + (_arg2.greenOffset * _arg3)), ((_arg1.blueOffset * _local4) + (_arg2.blueOffset * _arg3)), ((_arg1.alphaOffset * _local4) + (_arg2.alphaOffset * _arg3))); return (_local5); } public static function fromXML(_arg1:XML):Color{ return (Color(new (Color).parseXML(_arg1))); } } }//package fl.motion
Section 20
//TweenEvent (gs.events.TweenEvent) package gs.events { import flash.events.*; public class TweenEvent extends Event { public var info:Object; public static const UPDATE:String = "update"; public static const START:String = "start"; public static const version:Number = 0.9; public static const COMPLETE:String = "complete"; public function TweenEvent(_arg1:String, _arg2:Object=null, _arg3:Boolean=false, _arg4:Boolean=false){ super(_arg1, _arg3, _arg4); this.info = _arg2; } override public function clone():Event{ return (new TweenEvent(this.type, this.info, this.bubbles, this.cancelable)); } } }//package gs.events
Section 21
//OverwriteManager (gs.OverwriteManager) package gs { import flash.utils.*; import flash.errors.*; public class OverwriteManager { public static const ALL:int = 1; public static const NONE:int = 0; public static const AUTO:int = 2; public static const CONCURRENT:int = 3; public static const version:Number = 1; public static var mode:int; public static var enabled:Boolean; public static function killVars(_arg1:Object, _arg2:Object, _arg3:Array, _arg4:Array, _arg5:Array):void{ var _local6:int; var _local7:String; _local6 = (_arg4.length - 1); while (_local6 > -1) { if (_arg1[_arg4[_local6].name] != undefined){ _arg4.splice(_local6, 1); }; _local6--; }; _local6 = (_arg3.length - 1); while (_local6 > -1) { if (_arg1[_arg3[_local6][4]] != undefined){ _arg3.splice(_local6, 1); }; _local6--; }; _local6 = (_arg5.length - 1); while (_local6 > -1) { if (_arg1[_arg5[_local6].name] != undefined){ _arg5.splice(_local6, 1); }; _local6--; }; for (_local7 in _arg1) { delete _arg2[_local7]; }; } public static function manageOverwrites(_arg1:TweenLite, _arg2:Array):void{ var _local7:int; var _local8:TweenLite; var _local9:Object; var _local10:String; var _local3:Object = _arg1.vars; var _local4:int = ((_local3.overwrite)==undefined) ? mode : int(_local3.overwrite); if ((((_local4 < 2)) || ((_arg2 == null)))){ return; }; var _local5:Number = _arg1.startTime; var _local6:Array = []; _local7 = (_arg2.length - 1); while (_local7 > -1) { _local8 = _arg2[_local7]; if (((((!((_local8 == _arg1))) && ((_local8.startTime <= _local5)))) && (((_local8.startTime + ((_local8.duration * 1000) / _local8.combinedTimeScale)) > _local5)))){ _local6[_local6.length] = _local8; }; _local7--; }; if (_local6.length == 0){ return; }; if (_local4 == AUTO){ if (_local3.isTV == true){ _local3 = _local3.exposedProps; }; _local9 = {}; for (_local10 in _local3) { if ((((((((((((((((((((((((((((((((((((((((((((_local10 == "ease")) || ((_local10 == "delay")))) || ((_local10 == "overwrite")))) || ((_local10 == "onComplete")))) || ((_local10 == "onCompleteParams")))) || ((_local10 == "runBackwards")))) || ((_local10 == "persist")))) || ((_local10 == "onUpdate")))) || ((_local10 == "onUpdateParams")))) || ((_local10 == "timeScale")))) || ((_local10 == "onStart")))) || ((_local10 == "onStartParams")))) || ((_local10 == "renderOnStart")))) || ((_local10 == "proxiedEase")))) || ((_local10 == "easeParams")))) || ((_local10 == "onCompleteAll")))) || ((_local10 == "onCompleteAllParams")))) || ((_local10 == "yoyo")))) || ((_local10 == "loop")))) || ((_local10 == "onCompleteListener")))) || ((_local10 == "onStartListener")))) || ((_local10 == "onUpdateListener")))){ } else { _local9[_local10] = 1; if (_local10 == "shortRotate"){ _local9.rotation = 1; } else { if (_local10 == "removeTint"){ _local9.tint = 1; } else { if (_local10 == "autoAlpha"){ _local9.alpha = 1; _local9.visible = 1; }; }; }; }; }; _local7 = (_local6.length - 1); while (_local7 > -1) { _local6[_local7].killVars(_local9); _local7--; }; } else { _local7 = (_local6.length - 1); while (_local7 > -1) { _local6[_local7].enabled = false; _local7--; }; }; } public static function init(_arg1:int=2):int{ if (TweenLite.version < 9.29){ trace("TweenLite warning: Your TweenLite class needs to be updated to work with OverwriteManager (or you may need to clear your ASO files). Please download and install the latest version from http://www.tweenlite.com."); }; TweenLite.overwriteManager = OverwriteManager; mode = _arg1; enabled = true; return (mode); } } }//package gs
Section 22
//TweenFilterLite (gs.TweenFilterLite) package gs { import flash.filters.*; import flash.utils.*; public class TweenFilterLite extends TweenLite { protected var _matrix:Array; protected var _hf:Boolean;// = false protected var _roundProps:Boolean; protected var _cmf:ColorMatrixFilter; protected var _filters:Array; protected var _endMatrix:Array; protected var _timeScale:Number; protected var _clrsa:Array; public static var removeTween:Function = TweenLite.removeTween; private static var _idMatrix:Array = [1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0]; private static var _lumB:Number = 0.072169; public static var delayedCall:Function = TweenLite.delayedCall; public static var killTweensOf:Function = TweenLite.killTweensOf; public static var version:Number = 9.29; private static var _lumG:Number = 0.71516; public static var killDelayedCallsTo:Function = TweenLite.killTweensOf; private static var _lumR:Number = 0.212671; protected static var _globalTimeScale:Number = 1; public function TweenFilterLite(_arg1:Object, _arg2:Number, _arg3:Object){ _filters = []; super(_arg1, _arg2, _arg3); if (((!((this.combinedTimeScale == 1))) && ((this.target is TweenFilterLite)))){ _timeScale = 1; this.combinedTimeScale = _globalTimeScale; } else { _timeScale = this.combinedTimeScale; this.combinedTimeScale = (this.combinedTimeScale * _globalTimeScale); }; if (((!((this.combinedTimeScale == 1))) && (!((this.delay == 0))))){ this.startTime = (this.initTime + (this.delay * (1000 / this.combinedTimeScale))); }; if (TweenLite.version < 9.29){ trace("TweenFilterLite error! Please update your TweenLite class or try deleting your ASO files. TweenFilterLite requires a more recent version. Download updates at http://www.TweenLite.com."); }; } override public function killVars(_arg1:Object):void{ if (TweenLite.overwriteManager.enabled){ TweenLite.overwriteManager.killVars(_arg1, this.vars, this.tweens, _subTweens, ((_filters) || ([]))); }; } override public function initTweenVals(_arg1:Boolean=false, _arg2:String=""):void{ var _local3:int; var _local4:Object; var _local5:Object; var _local6:Object; var _local7:int; var _local8:String; if (((!(_arg1)) && (TweenLite.overwriteManager.enabled))){ TweenLite.overwriteManager.manageOverwrites(this, masterList[this.target]); }; _clrsa = []; _filters = []; _matrix = _idMatrix.slice(); _arg2 = (_arg2 + " blurFilter glowFilter colorMatrixFilter dropShadowFilter bevelFilter roundProps "); _roundProps = Boolean((this.vars.roundProps is Array)); if (_isDisplayObject){ if (this.vars.blurFilter != null){ _local4 = this.vars.blurFilter; addFilter("blurFilter", _local4, BlurFilter, ["blurX", "blurY", "quality"], new BlurFilter(0, 0, ((_local4.quality) || (2)))); }; if (this.vars.glowFilter != null){ _local4 = this.vars.glowFilter; addFilter("glowFilter", _local4, GlowFilter, ["alpha", "blurX", "blurY", "color", "quality", "strength", "inner", "knockout"], new GlowFilter(0xFFFFFF, 0, 0, 0, ((_local4.strength) || (1)), ((_local4.quality) || (2)), _local4.inner, _local4.knockout)); }; if (this.vars.colorMatrixFilter != null){ _local4 = this.vars.colorMatrixFilter; _local5 = addFilter("colorMatrixFilter", _local4, ColorMatrixFilter, [], new ColorMatrixFilter(_matrix)); _cmf = _local5.filter; _matrix = ColorMatrixFilter(_cmf).matrix; if (((!((_local4.matrix == null))) && ((_local4.matrix is Array)))){ _endMatrix = _local4.matrix; } else { if (_local4.relative == true){ _endMatrix = _matrix.slice(); } else { _endMatrix = _idMatrix.slice(); }; _endMatrix = setBrightness(_endMatrix, _local4.brightness); _endMatrix = setContrast(_endMatrix, _local4.contrast); _endMatrix = setHue(_endMatrix, _local4.hue); _endMatrix = setSaturation(_endMatrix, _local4.saturation); _endMatrix = setThreshold(_endMatrix, _local4.threshold); if (!isNaN(_local4.colorize)){ _endMatrix = colorize(_endMatrix, _local4.colorize, _local4.amount); } else { if (!isNaN(_local4.color)){ _endMatrix = colorize(_endMatrix, _local4.color, _local4.amount); }; }; }; _local3 = 0; while (_local3 < _endMatrix.length) { if (((!((_matrix[_local3] == _endMatrix[_local3]))) && (!((_matrix[_local3] == undefined))))){ this.tweens[this.tweens.length] = [_matrix, _local3.toString(), _matrix[_local3], (_endMatrix[_local3] - _matrix[_local3]), "colorMatrixFilter"]; }; _local3++; }; }; if (this.vars.dropShadowFilter != null){ _local4 = this.vars.dropShadowFilter; addFilter("dropShadowFilter", _local4, DropShadowFilter, ["alpha", "angle", "blurX", "blurY", "color", "distance", "quality", "strength", "inner", "knockout", "hideObject"], new DropShadowFilter(0, 45, 0, 0, 0, 0, 1, ((_local4.quality) || (2)), _local4.inner, _local4.knockout, _local4.hideObject)); }; if (this.vars.bevelFilter != null){ _local4 = this.vars.bevelFilter; addFilter("bevelFilter", _local4, BevelFilter, ["angle", "blurX", "blurY", "distance", "highlightAlpha", "highlightColor", "quality", "shadowAlpha", "shadowColor", "strength"], new BevelFilter(0, 0, 0xFFFFFF, 0.5, 0, 0.5, 2, 2, 0, ((_local4.quality) || (2)))); }; if (this.vars.runBackwards == true){ _local3 = (_clrsa.length - 1); while (_local3 > -1) { _local6 = _clrsa[_local3]; _clrsa[_local3].sr = (_local6.sr + _local6.cr); _local6.cr = (_local6.cr * -1); _local6.sg = (_local6.sg + _local6.cg); _local6.cg = (_local6.cg * -1); _local6.sb = (_local6.sb + _local6.cb); _local6.cb = (_local6.cb * -1); _local6.f[_local6.p] = (((_local6.sr << 16) | (_local6.sg << 8)) | _local6.sb); _local3--; }; }; super.initTweenVals(true, _arg2); } else { super.initTweenVals(_arg1, _arg2); }; if (_roundProps){ _local3 = (this.vars.roundProps.length - 1); while (_local3 > -1) { _local8 = this.vars.roundProps[_local3]; _local7 = (this.tweens.length - 1); while (_local7 > -1) { if ((((this.tweens[_local7][1] == _local8)) && ((this.tweens[_local7][0] == this.target)))){ this.tweens[_local7][5] = true; break; }; _local7--; }; _local3--; }; }; } override public function set enabled(_arg1:Boolean):void{ super.enabled = _arg1; if (_arg1){ this.combinedTimeScale = (_timeScale * _globalTimeScale); }; } public function set timeScale(_arg1:Number):void{ if (_arg1 < 1E-5){ _arg1 = (_timeScale = 1E-5); } else { _timeScale = _arg1; _arg1 = (_arg1 * _globalTimeScale); }; this.initTime = ((currentTime - ((((currentTime - this.initTime) - (this.delay * (1000 / this.combinedTimeScale))) * this.combinedTimeScale) * (1 / _arg1))) - (this.delay * (1000 / _arg1))); if (this.startTime != 999999999999999){ this.startTime = (this.initTime + (this.delay * (1000 / _arg1))); }; this.combinedTimeScale = _arg1; } public function get timeScale():Number{ return (_timeScale); } override public function render(_arg1:uint):void{ var _local3:Number; var _local4:Object; var _local5:int; var _local6:Number; var _local7:int; var _local8:Array; var _local9:int; var _local2:Number = (((_arg1 - this.startTime) * 0.001) * this.combinedTimeScale); if (_local2 >= this.duration){ _local2 = this.duration; _local3 = ((((this.ease == this.vars.ease)) || ((this.duration == 0.001)))) ? 1 : 0; } else { _local3 = this.ease(_local2, 0, 1, this.duration); }; if (!_roundProps){ _local5 = (this.tweens.length - 1); while (_local5 > -1) { _local4 = this.tweens[_local5]; _local4[0][_local4[1]] = (_local4[2] + (_local3 * _local4[3])); _local5--; }; } else { _local5 = (this.tweens.length - 1); while (_local5 > -1) { _local4 = this.tweens[_local5]; if (_local4[5]){ _local6 = (_local4[2] + (_local3 * _local4[3])); _local7 = ((_local6)<0) ? -1 : 1; _local4[0][_local4[1]] = ((((_local6 % 1) * _local7))>0.5) ? (int(_local6) + _local7) : int(_local6); } else { _local4[0][_local4[1]] = (_local4[2] + (_local3 * _local4[3])); }; _local5--; }; }; if (_hf){ _local5 = (_clrsa.length - 1); while (_local5 > -1) { _local4 = _clrsa[_local5]; _local4.f[_local4.p] = ((((_local4.sr + (_local3 * _local4.cr)) << 16) | ((_local4.sg + (_local3 * _local4.cg)) << 8)) | (_local4.sb + (_local3 * _local4.cb))); _local5--; }; if (_cmf != null){ ColorMatrixFilter(_cmf).matrix = _matrix; }; _local8 = this.target.filters; _local5 = 0; while (_local5 < _filters.length) { _local9 = (_local8.length - 1); while (_local9 > -1) { if ((_local8[_local9] is _filters[_local5].type)){ _local8.splice(_local9, 1, _filters[_local5].filter); break; }; _local9--; }; _local5++; }; this.target.filters = _local8; }; if (_hst){ _local5 = (_subTweens.length - 1); while (_local5 > -1) { _subTweens[_local5].proxy(_subTweens[_local5], _local2); _local5--; }; }; if (_hasUpdate){ this.vars.onUpdate.apply(null, this.vars.onUpdateParams); }; if (_local2 == this.duration){ complete(true); }; } private function addFilter(_arg1:String, _arg2:Object, _arg3:Class, _arg4:Array, _arg5:BitmapFilter):Object{ var _local8:int; var _local9:String; var _local10:Number; var _local11:Object; var _local12:Object; var _local6:Object = {type:_arg3, name:_arg1}; var _local7:Array = this.target.filters; _local8 = 0; while (_local8 < _local7.length) { if ((_local7[_local8] is _arg3)){ _local6.filter = _local7[_local8]; break; }; _local8++; }; if (_local6.filter == undefined){ _local6.filter = _arg5; _local7[_local7.length] = _local6.filter; this.target.filters = _local7; }; _local8 = 0; while (_local8 < _arg4.length) { _local9 = _arg4[_local8]; if (_arg2[_local9] != undefined){ if ((((((_local9 == "color")) || ((_local9 == "highlightColor")))) || ((_local9 == "shadowColor")))){ _local11 = HEXtoRGB(_local6.filter[_local9]); _local12 = HEXtoRGB(_arg2[_local9]); _clrsa[_clrsa.length] = {f:_local6.filter, p:_local9, sr:_local11.rb, cr:(_local12.rb - _local11.rb), sg:_local11.gb, cg:(_local12.gb - _local11.gb), sb:_local11.bb, cb:(_local12.bb - _local11.bb)}; } else { if ((((((((_local9 == "quality")) || ((_local9 == "inner")))) || ((_local9 == "knockout")))) || ((_local9 == "hideObject")))){ _local6.filter[_local9] = _arg2[_local9]; } else { if (typeof(_arg2[_local9]) == "number"){ _local10 = (_arg2[_local9] - _local6.filter[_local9]); } else { _local10 = Number(_arg2[_local9]); }; this.tweens[this.tweens.length] = [_local6.filter, _local9, _local6.filter[_local9], _local10, _arg1]; }; }; }; _local8++; }; _filters[_filters.length] = _local6; _hf = true; return (_local6); } public static function setHue(_arg1:Array, _arg2:Number):Array{ if (isNaN(_arg2)){ return (_arg1); }; _arg2 = (_arg2 * (Math.PI / 180)); var _local3:Number = Math.cos(_arg2); var _local4:Number = Math.sin(_arg2); var _local5:Array = [((_lumR + (_local3 * (1 - _lumR))) + (_local4 * -(_lumR))), ((_lumG + (_local3 * -(_lumG))) + (_local4 * -(_lumG))), ((_lumB + (_local3 * -(_lumB))) + (_local4 * (1 - _lumB))), 0, 0, ((_lumR + (_local3 * -(_lumR))) + (_local4 * 0.143)), ((_lumG + (_local3 * (1 - _lumG))) + (_local4 * 0.14)), ((_lumB + (_local3 * -(_lumB))) + (_local4 * -0.283)), 0, 0, ((_lumR + (_local3 * -(_lumR))) + (_local4 * -((1 - _lumR)))), ((_lumG + (_local3 * -(_lumG))) + (_local4 * _lumG)), ((_lumB + (_local3 * (1 - _lumB))) + (_local4 * _lumB)), 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1]; return (applyMatrix(_local5, _arg1)); } public static function setContrast(_arg1:Array, _arg2:Number):Array{ if (isNaN(_arg2)){ return (_arg1); }; _arg2 = (_arg2 + 0.01); var _local3:Array = [_arg2, 0, 0, 0, (128 * (1 - _arg2)), 0, _arg2, 0, 0, (128 * (1 - _arg2)), 0, 0, _arg2, 0, (128 * (1 - _arg2)), 0, 0, 0, 1, 0]; return (applyMatrix(_local3, _arg1)); } public static function applyMatrix(_arg1:Array, _arg2:Array):Array{ var _local6:int; var _local7:int; if (((!((_arg1 is Array))) || (!((_arg2 is Array))))){ return (_arg2); }; var _local3:Array = []; var _local4:int; var _local5:int; _local6 = 0; while (_local6 < 4) { _local7 = 0; while (_local7 < 5) { if (_local7 == 4){ _local5 = _arg1[(_local4 + 4)]; } else { _local5 = 0; }; _local3[(_local4 + _local7)] = (((((_arg1[_local4] * _arg2[_local7]) + (_arg1[(_local4 + 1)] * _arg2[(_local7 + 5)])) + (_arg1[(_local4 + 2)] * _arg2[(_local7 + 10)])) + (_arg1[(_local4 + 3)] * _arg2[(_local7 + 15)])) + _local5); _local7++; }; _local4 = (_local4 + 5); _local6++; }; return (_local3); } public static function colorize(_arg1:Array, _arg2:Number, _arg3:Number=1):Array{ if (isNaN(_arg2)){ return (_arg1); }; if (isNaN(_arg3)){ _arg3 = 1; }; var _local4:Number = (((_arg2 >> 16) & 0xFF) / 0xFF); var _local5:Number = (((_arg2 >> 8) & 0xFF) / 0xFF); var _local6:Number = ((_arg2 & 0xFF) / 0xFF); var _local7:Number = (1 - _arg3); var _local8:Array = [(_local7 + ((_arg3 * _local4) * _lumR)), ((_arg3 * _local4) * _lumG), ((_arg3 * _local4) * _lumB), 0, 0, ((_arg3 * _local5) * _lumR), (_local7 + ((_arg3 * _local5) * _lumG)), ((_arg3 * _local5) * _lumB), 0, 0, ((_arg3 * _local6) * _lumR), ((_arg3 * _local6) * _lumG), (_local7 + ((_arg3 * _local6) * _lumB)), 0, 0, 0, 0, 0, 1, 0]; return (applyMatrix(_local8, _arg1)); } public static function setBrightness(_arg1:Array, _arg2:Number):Array{ if (isNaN(_arg2)){ return (_arg1); }; _arg2 = ((_arg2 * 100) - 100); return (applyMatrix([1, 0, 0, 0, _arg2, 0, 1, 0, 0, _arg2, 0, 0, 1, 0, _arg2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1], _arg1)); } public static function setSaturation(_arg1:Array, _arg2:Number):Array{ if (isNaN(_arg2)){ return (_arg1); }; var _local3:Number = (1 - _arg2); var _local4:Number = (_local3 * _lumR); var _local5:Number = (_local3 * _lumG); var _local6:Number = (_local3 * _lumB); var _local7:Array = [(_local4 + _arg2), _local5, _local6, 0, 0, _local4, (_local5 + _arg2), _local6, 0, 0, _local4, _local5, (_local6 + _arg2), 0, 0, 0, 0, 0, 1, 0]; return (applyMatrix(_local7, _arg1)); } public static function setGlobalTimeScale(_arg1:Number):void{ var _local3:int; var _local4:Array; if (_arg1 < 1E-5){ _arg1 = 1E-5; }; var _local2:Dictionary = masterList; _globalTimeScale = _arg1; for each (_local4 in _local2) { _local3 = (_local4.length - 1); while (_local3 > -1) { if ((_local4[_local3] is TweenFilterLite)){ _local4[_local3].timeScale = (_local4[_local3].timeScale * 1); }; _local3--; }; }; } public static function get globalTimeScale():Number{ return (_globalTimeScale); } public static function from(_arg1:Object, _arg2:Number, _arg3:Object):TweenFilterLite{ _arg3.runBackwards = true; return (new TweenFilterLite(_arg1, _arg2, _arg3)); } public static function set globalTimeScale(_arg1:Number):void{ setGlobalTimeScale(_arg1); } public static function HEXtoRGB(_arg1:Number):Object{ return ({rb:(_arg1 >> 16), gb:((_arg1 >> 8) & 0xFF), bb:(_arg1 & 0xFF)}); } public static function setThreshold(_arg1:Array, _arg2:Number):Array{ if (isNaN(_arg2)){ return (_arg1); }; var _local3:Array = [(_lumR * 0x0100), (_lumG * 0x0100), (_lumB * 0x0100), 0, (-256 * _arg2), (_lumR * 0x0100), (_lumG * 0x0100), (_lumB * 0x0100), 0, (-256 * _arg2), (_lumR * 0x0100), (_lumG * 0x0100), (_lumB * 0x0100), 0, (-256 * _arg2), 0, 0, 0, 1, 0]; return (applyMatrix(_local3, _arg1)); } public static function to(_arg1:Object, _arg2:Number, _arg3:Object):TweenFilterLite{ return (new TweenFilterLite(_arg1, _arg2, _arg3)); } } }//package gs
Section 23
//TweenLite (gs.TweenLite) package gs { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; public class TweenLite { public var started:Boolean; public var delay:Number; protected var _hasUpdate:Boolean; protected var _subTweens:Array; public var initted:Boolean; public var active:Boolean; public var startTime:Number; public var target:Object; public var duration:Number; protected var _hst:Boolean; public var gc:Boolean; protected var _isDisplayObject:Boolean; public var tweens:Array; public var vars:Object; public var ease:Function; protected var _specialVars:Object; public var initTime:Number; public var combinedTimeScale:Number; private static var _timer:Timer = new Timer(2000); private static var _classInitted:Boolean; public static var defaultEase:Function = TweenLite.easeOut; public static var version:Number = 9.29; public static var masterList:Dictionary = new Dictionary(false); public static var currentTime:uint; public static var overwriteManager:Object; public static var killDelayedCallsTo:Function = TweenLite.killTweensOf; public static var timingSprite:Sprite = new Sprite(); public function TweenLite(_arg1:Object, _arg2:Number, _arg3:Object){ if (_arg1 == null){ return; }; if (!_classInitted){ currentTime = getTimer(); timingSprite.addEventListener(Event.ENTER_FRAME, updateAll, false, 0, true); if (overwriteManager == null){ overwriteManager = {mode:1, enabled:false}; }; _timer.addEventListener("timer", killGarbage, false, 0, true); _timer.start(); _classInitted = true; }; this.vars = _arg3; this.duration = ((_arg2) || (0.001)); this.delay = ((_arg3.delay) || (0)); this.combinedTimeScale = ((_arg3.timeScale) || (1)); this.active = Boolean((((_arg2 == 0)) && ((this.delay == 0)))); this.target = _arg1; _isDisplayObject = Boolean((_arg1 is DisplayObject)); if (!(this.vars.ease is Function)){ this.vars.ease = defaultEase; }; if (this.vars.easeParams != null){ this.vars.proxiedEase = this.vars.ease; this.vars.ease = easeProxy; }; this.ease = this.vars.ease; if (!isNaN(Number(this.vars.autoAlpha))){ this.vars.alpha = Number(this.vars.autoAlpha); this.vars.visible = Boolean((this.vars.alpha > 0)); }; _specialVars = ((this.vars.isTV)==true) ? this.vars.exposedProps : this.vars; this.tweens = []; _subTweens = []; _hst = (this.initted = false); this.initTime = currentTime; this.startTime = (this.initTime + (this.delay * 1000)); var _local4:int = ((((_arg3.overwrite == undefined)) || (((!(overwriteManager.enabled)) && ((_arg3.overwrite > 1)))))) ? overwriteManager.mode : int(_arg3.overwrite); if ((((masterList[_arg1] == undefined)) || (((!((_arg1 == null))) && ((_local4 == 1)))))){ masterList[_arg1] = []; }; masterList[_arg1].push(this); if ((((((this.vars.runBackwards == true)) && (!((this.vars.renderOnStart == true))))) || (this.active))){ initTweenVals(); if (this.active){ render((this.startTime + 1)); } else { render(this.startTime); }; if (((((!((_specialVars.visible == null))) && ((this.vars.runBackwards == true)))) && (_isDisplayObject))){ this.target.visible = _specialVars.visible; }; }; } public function get enabled():Boolean{ return ((this.gc) ? false : true); } public function render(_arg1:uint):void{ var _local3:Number; var _local4:Object; var _local5:int; var _local2:Number = ((_arg1 - this.startTime) * 0.001); if (_local2 >= this.duration){ _local2 = this.duration; _local3 = ((((this.ease == this.vars.ease)) || ((this.duration == 0.001)))) ? 1 : 0; } else { _local3 = this.ease(_local2, 0, 1, this.duration); }; _local5 = (this.tweens.length - 1); while (_local5 > -1) { _local4 = this.tweens[_local5]; _local4[0][_local4[1]] = (_local4[2] + (_local3 * _local4[3])); _local5--; }; if (_hst){ _local5 = (_subTweens.length - 1); while (_local5 > -1) { _subTweens[_local5].proxy(_subTweens[_local5], _local2); _local5--; }; }; if (_hasUpdate){ this.vars.onUpdate.apply(null, this.vars.onUpdateParams); }; if (_local2 == this.duration){ complete(true); }; } public function set enabled(_arg1:Boolean):void{ var _local2:Array; var _local3:Boolean; var _local4:int; if (_arg1){ if (masterList[this.target] == undefined){ masterList[this.target] = [this]; } else { _local2 = masterList[this.target]; _local4 = (_local2.length - 1); while (_local4 > -1) { if (_local2[_local4] == this){ _local3 = true; break; }; _local4--; }; if (!_local3){ masterList[this.target].push(this); }; }; }; this.gc = (_arg1) ? false : true; if (this.gc){ this.active = false; } else { this.active = this.started; }; } public function activate():void{ this.started = (this.active = true); if (!this.initted){ initTweenVals(); }; if (this.vars.onStart != null){ this.vars.onStart.apply(null, this.vars.onStartParams); }; if (this.duration == 0.001){ this.startTime = (this.startTime - 1); }; } public function clear():void{ this.tweens = []; _subTweens = []; this.vars = {}; _hst = (_hasUpdate = false); } protected function addSubTween(_arg1:String, _arg2:Function, _arg3:Object, _arg4:Object, _arg5:Object=null):void{ var _local6:String; _subTweens[_subTweens.length] = {name:_arg1, proxy:_arg2, target:_arg3, info:_arg5}; for (_local6 in _arg4) { if (typeof(_arg4[_local6]) == "number"){ this.tweens[this.tweens.length] = [_arg3, _local6, _arg3[_local6], (_arg4[_local6] - _arg3[_local6]), _arg1]; } else { this.tweens[this.tweens.length] = [_arg3, _local6, _arg3[_local6], Number(_arg4[_local6]), _arg1]; }; }; _hst = true; } public function initTweenVals(_arg1:Boolean=false, _arg2:String=""):void{ var _local3:String; var _local4:int; var _local5:Array; var _local6:ColorTransform; var _local7:ColorTransform; var _local8:Object; if (((!(_arg1)) && (overwriteManager.enabled))){ overwriteManager.manageOverwrites(this, masterList[this.target]); }; if ((this.target is Array)){ _local5 = ((this.vars.endArray) || ([])); _local4 = 0; while (_local4 < _local5.length) { if (((!((this.target[_local4] == _local5[_local4]))) && (!((this.target[_local4] == undefined))))){ this.tweens[this.tweens.length] = [this.target, _local4.toString(), this.target[_local4], (_local5[_local4] - this.target[_local4]), _local4.toString()]; }; _local4++; }; } else { if (((((!((typeof(_specialVars.tint) == "undefined"))) || ((this.vars.removeTint == true)))) && (_isDisplayObject))){ _local6 = this.target.transform.colorTransform; _local7 = new ColorTransform(); if (_specialVars.alpha != undefined){ _local7.alphaMultiplier = _specialVars.alpha; delete _specialVars.alpha; } else { _local7.alphaMultiplier = this.target.alpha; }; if (((!((this.vars.removeTint == true))) && (((((!((_specialVars.tint == null))) && (!((_specialVars.tint == ""))))) || ((_specialVars.tint == 0)))))){ _local7.color = _specialVars.tint; }; addSubTween("tint", tintProxy, {progress:0}, {progress:1}, {target:this.target, color:_local6, endColor:_local7}); }; if (((!((_specialVars.frame == null))) && (_isDisplayObject))){ addSubTween("frame", frameProxy, {frame:this.target.currentFrame}, {frame:_specialVars.frame}, {target:this.target}); }; if (((!(isNaN(this.vars.volume))) && (this.target.hasOwnProperty("soundTransform")))){ addSubTween("volume", volumeProxy, this.target.soundTransform, {volume:this.vars.volume}, {target:this.target}); }; if (((!((_specialVars.visible == null))) && (_isDisplayObject))){ addSubTween("visible", visibleProxy, {}, {}, {tween:this}); }; for (_local3 in _specialVars) { if ((((((((((((((((((((((((((((((((((((((_local3 == "ease")) || ((_local3 == "delay")))) || ((_local3 == "overwrite")))) || ((_local3 == "onComplete")))) || ((_local3 == "onCompleteParams")))) || ((_local3 == "runBackwards")))) || ((_local3 == "visible")))) || ((_local3 == "autoOverwrite")))) || ((_local3 == "persist")))) || ((_local3 == "onUpdate")))) || ((_local3 == "onUpdateParams")))) || ((_local3 == "autoAlpha")))) || ((((_local3 == "timeScale")) && (!((this.target is TweenLite))))))) || ((_local3 == "onStart")))) || ((_local3 == "onStartParams")))) || ((_local3 == "renderOnStart")))) || ((_local3 == "proxiedEase")))) || ((_local3 == "easeParams")))) || (((_arg1) && (!((_arg2.indexOf(((" " + _local3) + " ")) == -1))))))){ } else { if (((!(((_isDisplayObject) && ((((((_local3 == "tint")) || ((_local3 == "removeTint")))) || ((_local3 == "frame"))))))) && (!((((_local3 == "volume")) && (this.target.hasOwnProperty("soundTransform"))))))){ if (typeof(_specialVars[_local3]) == "number"){ this.tweens[this.tweens.length] = [this.target, _local3, this.target[_local3], (_specialVars[_local3] - this.target[_local3]), _local3]; } else { this.tweens[this.tweens.length] = [this.target, _local3, this.target[_local3], Number(_specialVars[_local3]), _local3]; }; }; }; }; }; if (this.vars.runBackwards == true){ _local4 = (this.tweens.length - 1); while (_local4 > -1) { _local8 = this.tweens[_local4]; _local8[2] = (_local8[2] + _local8[3]); _local8[3] = (_local8[3] * -1); _local4--; }; }; if (this.vars.onUpdate != null){ _hasUpdate = true; }; this.initted = true; } protected function easeProxy(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return (this.vars.proxiedEase.apply(null, arguments.concat(this.vars.easeParams))); } public function killVars(_arg1:Object):void{ if (overwriteManager.enabled){ overwriteManager.killVars(_arg1, this.vars, this.tweens, _subTweens, []); }; } public function complete(_arg1:Boolean=false):void{ if (!_arg1){ if (!this.initted){ initTweenVals(); }; this.startTime = (currentTime - ((this.duration * 1000) / this.combinedTimeScale)); render(currentTime); return; }; if (this.vars.persist != true){ this.enabled = false; }; if (this.vars.onComplete != null){ this.vars.onComplete.apply(null, this.vars.onCompleteParams); }; } public static function frameProxy(_arg1:Object, _arg2:Number=0):void{ _arg1.info.target.gotoAndStop(Math.round(_arg1.target.frame)); } public static function removeTween(_arg1:TweenLite, _arg2:Boolean=true):void{ if (_arg1 != null){ if (_arg2){ _arg1.clear(); }; _arg1.enabled = false; }; } public static function visibleProxy(_arg1:Object, _arg2:Number):void{ var _local3:TweenLite = _arg1.info.tween; if (_local3.duration == _arg2){ if (((!((_local3.vars.runBackwards == true))) && ((_local3.ease == _local3.vars.ease)))){ _local3.target.visible = _local3.vars.visible; }; } else { if (_local3.target.visible != true){ _local3.target.visible = true; }; }; } public static function killTweensOf(_arg1:Object=null, _arg2:Boolean=false):void{ var _local3:Array; var _local4:int; var _local5:TweenLite; if (((!((_arg1 == null))) && (!((masterList[_arg1] == undefined))))){ _local3 = masterList[_arg1]; _local4 = (_local3.length - 1); while (_local4 > -1) { _local5 = _local3[_local4]; if (((_arg2) && (!(_local5.gc)))){ _local5.complete(false); }; _local5.clear(); _local4--; }; delete masterList[_arg1]; }; } public static function updateAll(_arg1:Event=null):void{ var _local4:Array; var _local5:int; var _local6:TweenLite; var _local2:uint = (currentTime = getTimer()); var _local3:Dictionary = masterList; for each (_local4 in _local3) { _local5 = (_local4.length - 1); while (_local5 > -1) { _local6 = _local4[_local5]; if (_local6 == null){ } else { if (_local6.active){ _local6.render(_local2); } else { if (_local6.gc){ _local4.splice(_local5, 1); } else { if (_local2 >= _local6.startTime){ _local6.activate(); _local6.render(_local2); }; }; }; }; _local5--; }; }; } public static function delayedCall(_arg1:Number, _arg2:Function, _arg3:Array=null):TweenLite{ return (new TweenLite(_arg2, 0, {delay:_arg1, onComplete:_arg2, onCompleteParams:_arg3, overwrite:0})); } public static function from(_arg1:Object, _arg2:Number, _arg3:Object):TweenLite{ _arg3.runBackwards = true; return (new TweenLite(_arg1, _arg2, _arg3)); } public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / _arg4); return ((((-(_arg3) * _arg1) * (_arg1 - 2)) + _arg2)); } public static function tintProxy(_arg1:Object, _arg2:Number=0):void{ var _local3:Number = _arg1.target.progress; var _local4:Number = (1 - _local3); var _local5:Object = _arg1.info.color; var _local6:Object = _arg1.info.endColor; _arg1.info.target.transform.colorTransform = new ColorTransform(((_local5.redMultiplier * _local4) + (_local6.redMultiplier * _local3)), ((_local5.greenMultiplier * _local4) + (_local6.greenMultiplier * _local3)), ((_local5.blueMultiplier * _local4) + (_local6.blueMultiplier * _local3)), ((_local5.alphaMultiplier * _local4) + (_local6.alphaMultiplier * _local3)), ((_local5.redOffset * _local4) + (_local6.redOffset * _local3)), ((_local5.greenOffset * _local4) + (_local6.greenOffset * _local3)), ((_local5.blueOffset * _local4) + (_local6.blueOffset * _local3)), ((_local5.alphaOffset * _local4) + (_local6.alphaOffset * _local3))); } public static function volumeProxy(_arg1:Object, _arg2:Number=0):void{ _arg1.info.target.soundTransform = _arg1.target; } protected static function killGarbage(_arg1:TimerEvent):void{ var _local3:Object; var _local4:Array; var _local2:Dictionary = masterList; for (_local3 in _local2) { if (_local2[_local3].length == 0){ delete _local2[_local3]; }; }; } public static function to(_arg1:Object, _arg2:Number, _arg3:Object):TweenLite{ return (new TweenLite(_arg1, _arg2, _arg3)); } } }//package gs
Section 24
//TweenMax (gs.TweenMax) package gs { import flash.events.*; import gs.events.*; import flash.utils.*; public class TweenMax extends TweenFilterLite implements IEventDispatcher { protected var _dispatcher:EventDispatcher; public var pauseTime:Number; protected var _callbacks:Object; protected var _repeatCount:Number; protected static const _RAD2DEG:Number = 57.2957795130823; public static var removeTween:Function = TweenLite.removeTween; private static var _overwriteMode:int = (OverwriteManager.enabled) ? OverwriteManager.mode : OverwriteManager.init(); ; protected static var _pausedTweens:Dictionary = new Dictionary(false); public static var setGlobalTimeScale:Function = TweenFilterLite.setGlobalTimeScale; public static var killTweensOf:Function = TweenLite.killTweensOf; public static var version:Number = 3.5; public static var killDelayedCallsTo:Function = TweenLite.killTweensOf; public function TweenMax(_arg1:Object, _arg2:Number, _arg3:Object){ super(_arg1, _arg2, _arg3); if (((((!((this.vars.onCompleteListener == null))) || (!((this.vars.onUpdateListener == null))))) || (!((this.vars.onStartListener == null))))){ initDispatcher(); if ((((_arg2 == 0)) && ((this.delay == 0)))){ onUpdateDispatcher(); onCompleteDispatcher(); }; }; _repeatCount = 0; if (((!(isNaN(this.vars.yoyo))) || (!(isNaN(this.vars.loop))))){ this.vars.persist = true; }; if (TweenFilterLite.version < 9.29){ trace("TweenMax error! Please update your TweenFilterLite class or try deleting your ASO files. TweenMax requires a more recent version. Download updates at http://www.TweenMax.com."); }; } public function dispatchEvent(_arg1:Event):Boolean{ if (_dispatcher == null){ return (false); }; return (_dispatcher.dispatchEvent(_arg1)); } public function get reversed():Boolean{ return ((this.ease == reverseEase)); } public function set reversed(_arg1:Boolean):void{ if (this.reversed != _arg1){ reverse(); }; } protected function onStartDispatcher(... _args):void{ if (_callbacks.onStart != null){ _callbacks.onStart.apply(null, this.vars.onStartParams); }; _dispatcher.dispatchEvent(new TweenEvent(TweenEvent.START)); } public function setDestination(_arg1:String, _arg2, _arg3:Boolean=true):void{ var _local5:Object; var _local6:int; var _local7:Object; var _local8:Array; var _local9:Array; var _local4:Number = this.progress; if (((!((this.vars[_arg1] == undefined))) && (this.initted))){ if (((!(_arg3)) && (!((_local4 == 0))))){ _local6 = (this.tweens.length - 1); while (_local6 > -1) { if (this.tweens[_local6][4] == _arg1){ this.tweens[_local6][0][this.tweens[_local6][1]] = this.tweens[_local6][2]; }; _local6--; }; }; _local5 = {}; _local5[_arg1] = 1; killVars(_local5); }; this.vars[_arg1] = _arg2; if (this.initted){ _local7 = this.vars; _local8 = this.tweens; _local9 = _subTweens; this.vars = {}; this.tweens = []; _subTweens = []; this.vars[_arg1] = _arg2; initTweenVals(); if (((!((this.ease == reverseEase))) && ((_local7.ease is Function)))){ this.ease = _local7.ease; }; if (((_arg3) && (!((_local4 == 0))))){ adjustStartValues(); }; this.vars = _local7; this.tweens = _local8.concat(this.tweens); _subTweens = _local9.concat(_subTweens); }; } override public function initTweenVals(_arg1:Boolean=false, _arg2:String=""):void{ var _local3:String; var _local4:int; var _local5:Object; var _local6:Object; var _local7:Array; var _local9:Number; _arg2 = (_arg2 + " hexColors bezier bezierThrough shortRotation orientToBezier quaternions onCompleteAll onCompleteAllParams yoyo loop onCompleteListener onUpdateListener onStartListener "); if (((!(_arg1)) && (TweenLite.overwriteManager.enabled))){ TweenLite.overwriteManager.manageOverwrites(this, masterList[this.target]); }; var _local8:Function = bezierProxy; if (this.vars.orientToBezier == true){ this.vars.orientToBezier = [["x", "y", "rotation", 0]]; _local8 = bezierProxy2; } else { if ((this.vars.orientToBezier is Array)){ _local8 = bezierProxy2; }; }; if (((!((this.vars.bezier == undefined))) && ((this.vars.bezier is Array)))){ _local6 = {}; _local7 = this.vars.bezier; _local4 = 0; while (_local4 < _local7.length) { for (_local3 in _local7[_local4]) { if (_local6[_local3] == undefined){ _local6[_local3] = [this.target[_local3]]; }; if (typeof(_local7[_local4][_local3]) == "number"){ _local6[_local3].push(_local7[_local4][_local3]); } else { _local6[_local3].push((this.target[_local3] + Number(_local7[_local4][_local3]))); }; }; _local4++; }; for (_local3 in _local6) { if (typeof(this.vars[_local3]) == "number"){ _local6[_local3].push(this.vars[_local3]); } else { _local6[_local3].push((this.target[_local3] + Number(this.vars[_local3]))); }; delete this.vars[_local3]; }; addSubTween("bezier", _local8, {t:0}, {t:1}, {props:parseBeziers(_local6, false), target:this.target, orientToBezier:this.vars.orientToBezier}); }; if (((!((this.vars.bezierThrough == undefined))) && ((this.vars.bezierThrough is Array)))){ _local6 = {}; _local7 = this.vars.bezierThrough; _local4 = 0; while (_local4 < _local7.length) { for (_local3 in _local7[_local4]) { if (_local6[_local3] == undefined){ _local6[_local3] = [this.target[_local3]]; }; if (typeof(_local7[_local4][_local3]) == "number"){ _local6[_local3].push(_local7[_local4][_local3]); } else { _local6[_local3].push((this.target[_local3] + Number(_local7[_local4][_local3]))); }; }; _local4++; }; for (_local3 in _local6) { if (typeof(this.vars[_local3]) == "number"){ _local6[_local3].push(this.vars[_local3]); } else { _local6[_local3].push((this.target[_local3] + Number(this.vars[_local3]))); }; delete this.vars[_local3]; }; addSubTween("bezierThrough", _local8, {t:0}, {t:1}, {props:parseBeziers(_local6, true), target:this.target, orientToBezier:this.vars.orientToBezier}); }; if (!isNaN(this.vars.shortRotation)){ _local9 = ((this.vars.shortRotation - this.target.rotation) % 360); if (((this.vars.shortRotation - this.target.rotation) % 360) != (_local9 % 180)){ _local9 = ((_local9)<0) ? (_local9 + 360) : (_local9 - 360); }; this.tweens[this.tweens.length] = [this.target, "rotation", this.target.rotation, _local9, "rotation"]; }; if (((!((this.vars.hexColors == undefined))) && ((typeof(this.vars.hexColors) == "object")))){ for (_local3 in this.vars.hexColors) { addSubTween("hexColors", hexColorsProxy, {r:(this.target[_local3] >> 16), g:((this.target[_local3] >> 8) & 0xFF), b:(this.target[_local3] & 0xFF)}, {r:(this.vars.hexColors[_local3] >> 16), g:((this.vars.hexColors[_local3] >> 8) & 0xFF), b:(this.vars.hexColors[_local3] & 0xFF)}, {prop:_local3, target:this.target}); }; }; super.initTweenVals(true, _arg2); } public function restart(_arg1:Boolean=false):void{ if (_arg1){ this.initTime = currentTime; this.startTime = (currentTime + (this.delay * (1000 / this.combinedTimeScale))); } else { this.startTime = currentTime; this.initTime = (currentTime - (this.delay * (1000 / this.combinedTimeScale))); }; _repeatCount = 0; if (this.target != this.vars.onComplete){ render(this.startTime); }; this.pauseTime = NaN; this.enabled = true; } public function removeEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false):void{ if (_dispatcher != null){ _dispatcher.removeEventListener(_arg1, _arg2, _arg3); }; } public function addEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false, _arg4:int=0, _arg5:Boolean=false):void{ if (_dispatcher == null){ initDispatcher(); }; if ((((_arg1 == TweenEvent.UPDATE)) && (!((this.vars.onUpdate == onUpdateDispatcher))))){ this.vars.onUpdate = onUpdateDispatcher; _hasUpdate = true; }; _dispatcher.addEventListener(_arg1, _arg2, _arg3, _arg4, _arg5); } protected function adjustStartValues():void{ var _local2:Number; var _local3:Number; var _local4:Object; var _local5:int; var _local1:Number = this.progress; if (_local1 != 0){ _local2 = (1 / (1 - this.ease((_local1 * this.duration), 0, 1, this.duration))); _local5 = (this.tweens.length - 1); while (_local5 > -1) { _local4 = this.tweens[_local5]; _local3 = (_local4[2] + _local4[3]); _local4[3] = ((_local3 - _local4[0][_local4[1]]) * _local2); _local4[2] = (_local3 - _local4[3]); _local5--; }; }; } protected function onUpdateDispatcher(... _args):void{ if (_callbacks.onUpdate != null){ _callbacks.onUpdate.apply(null, this.vars.onUpdateParams); }; _dispatcher.dispatchEvent(new TweenEvent(TweenEvent.UPDATE)); } protected function initDispatcher():void{ var _local1:Object; var _local2:String; if (_dispatcher == null){ _dispatcher = new EventDispatcher(this); _callbacks = {onStart:this.vars.onStart, onUpdate:this.vars.onUpdate, onComplete:this.vars.onComplete}; _local1 = {}; for (_local2 in this.vars) { _local1[_local2] = this.vars[_local2]; }; this.vars = _local1; this.vars.onStart = onStartDispatcher; this.vars.onComplete = onCompleteDispatcher; if ((this.vars.onStartListener is Function)){ _dispatcher.addEventListener(TweenEvent.START, this.vars.onStartListener, false, 0, true); }; if ((this.vars.onUpdateListener is Function)){ _dispatcher.addEventListener(TweenEvent.UPDATE, this.vars.onUpdateListener, false, 0, true); this.vars.onUpdate = onUpdateDispatcher; _hasUpdate = true; }; if ((this.vars.onCompleteListener is Function)){ _dispatcher.addEventListener(TweenEvent.COMPLETE, this.vars.onCompleteListener, false, 0, true); }; }; } public function willTrigger(_arg1:String):Boolean{ if (_dispatcher == null){ return (false); }; return (_dispatcher.willTrigger(_arg1)); } public function set progress(_arg1:Number):void{ this.startTime = (currentTime - ((this.duration * _arg1) * 1000)); this.initTime = (this.startTime - (this.delay * (1000 / this.combinedTimeScale))); if (!this.started){ activate(); }; render(currentTime); if (!isNaN(this.pauseTime)){ this.pauseTime = currentTime; this.startTime = 999999999999999; this.active = false; }; } public function reverse(_arg1:Boolean=true, _arg2:Boolean=true):void{ this.ease = ((this.vars.ease)==this.ease) ? reverseEase : this.vars.ease; var _local3:Number = this.progress; if (((_arg1) && ((_local3 > 0)))){ this.startTime = (currentTime - ((((1 - _local3) * this.duration) * 1000) / this.combinedTimeScale)); this.initTime = (this.startTime - (this.delay * (1000 / this.combinedTimeScale))); }; if (_arg2 != false){ if (_local3 < 1){ resume(); } else { restart(); }; }; } public function set paused(_arg1:Boolean):void{ if (_arg1){ pause(); } else { resume(); }; } public function resume():void{ this.enabled = true; if (!isNaN(this.pauseTime)){ this.initTime = (this.initTime + (currentTime - this.pauseTime)); this.startTime = (this.initTime + (this.delay * (1000 / this.combinedTimeScale))); this.pauseTime = NaN; if (((!(this.started)) && ((currentTime >= this.startTime)))){ activate(); } else { this.active = this.started; }; _pausedTweens[this] = null; delete _pausedTweens[this]; }; } public function get paused():Boolean{ return ((this.startTime == 999999999999999)); } public function reverseEase(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return (this.vars.ease((_arg4 - _arg1), _arg2, _arg3, _arg4)); } public function killProperties(_arg1:Array):void{ var _local3:int; var _local2:Object = {}; _local3 = (_arg1.length - 1); while (_local3 > -1) { if (this.vars[_arg1[_local3]] != null){ _local2[_arg1[_local3]] = 1; }; _local3--; }; killVars(_local2); } public function hasEventListener(_arg1:String):Boolean{ if (_dispatcher == null){ return (false); }; return (_dispatcher.hasEventListener(_arg1)); } public function pause():void{ if (isNaN(this.pauseTime)){ this.pauseTime = currentTime; this.startTime = 999999999999999; this.enabled = false; _pausedTweens[this] = this; }; } override public function complete(_arg1:Boolean=false):void{ if (((((!(isNaN(this.vars.yoyo))) && ((((_repeatCount < this.vars.yoyo)) || ((this.vars.yoyo == 0)))))) || (((!(isNaN(this.vars.loop))) && ((((_repeatCount < this.vars.loop)) || ((this.vars.loop == 0)))))))){ _repeatCount++; if (!isNaN(this.vars.yoyo)){ this.ease = ((this.vars.ease)==this.ease) ? reverseEase : this.vars.ease; }; this.startTime = (_arg1) ? (this.startTime + (this.duration * (1000 / this.combinedTimeScale))) : currentTime; this.initTime = (this.startTime - (this.delay * (1000 / this.combinedTimeScale))); } else { if (this.vars.persist == true){ pause(); }; }; super.complete(_arg1); } public function invalidate(_arg1:Boolean=true):void{ var _local2:Number; if (this.initted){ _local2 = this.progress; if (((!(_arg1)) && (!((_local2 == 0))))){ this.progress = 0; }; this.tweens = []; _subTweens = []; _specialVars = ((this.vars.isTV)==true) ? this.vars.exposedProps : this.vars; initTweenVals(); _timeScale = ((this.vars.timeScale) || (1)); this.combinedTimeScale = (_timeScale * _globalTimeScale); this.delay = ((this.vars.delay) || (0)); if (isNaN(this.pauseTime)){ this.startTime = (this.initTime + ((this.delay * 1000) / this.combinedTimeScale)); }; if (((((!((this.vars.onCompleteListener == null))) || (!((this.vars.onUpdateListener == null))))) || (!((this.vars.onStartListener == null))))){ if (_dispatcher != null){ this.vars.onStart = _callbacks.onStart; this.vars.onUpdate = _callbacks.onUpdate; this.vars.onComplete = _callbacks.onComplete; _dispatcher = null; }; initDispatcher(); }; if (_local2 != 0){ if (_arg1){ adjustStartValues(); } else { this.progress = _local2; }; }; }; } public function get progress():Number{ var _local1:Number = (isNaN(this.pauseTime)) ? currentTime : this.pauseTime; var _local2:Number = (((((_local1 - this.initTime) * 0.001) - (this.delay / this.combinedTimeScale)) / this.duration) * this.combinedTimeScale); if (_local2 > 1){ return (1); }; if (_local2 < 0){ return (0); }; return (_local2); } protected function onCompleteDispatcher(... _args):void{ if (_callbacks.onComplete != null){ _callbacks.onComplete.apply(null, this.vars.onCompleteParams); }; _dispatcher.dispatchEvent(new TweenEvent(TweenEvent.COMPLETE)); } public static function sequence(_arg1:Object, _arg2:Array):Array{ var _local3:uint; while (_local3 < _arg2.length) { _arg2[_local3].target = _arg1; _local3++; }; return (multiSequence(_arg2)); } public static function bezierProxy(_arg1:Object, _arg2:Number=0):void{ var _local6:int; var _local7:String; var _local8:Object; var _local9:Number; var _local10:uint; var _local3:Number = _arg1.target.t; var _local4:Object = _arg1.info.props; var _local5:Object = _arg1.info.target; if (_local3 == 1){ for (_local7 in _local4) { _local6 = (_local4[_local7].length - 1); _local5[_local7] = _local4[_local7][_local6].e; }; } else { for (_local7 in _local4) { _local10 = _local4[_local7].length; if (_local3 < 0){ _local6 = 0; } else { if (_local3 >= 1){ _local6 = (_local10 - 1); } else { _local6 = int((_local10 * _local3)); }; }; _local9 = ((_local3 - (_local6 * (1 / _local10))) * _local10); _local8 = _local4[_local7][_local6]; _local5[_local7] = (_local8.s + (_local9 * (((2 * (1 - _local9)) * (_local8.cp - _local8.s)) + (_local9 * (_local8.e - _local8.s))))); }; }; } public static function hexColorsProxy(_arg1:Object, _arg2:Number=0):void{ _arg1.info.target[_arg1.info.prop] = uint((((_arg1.target.r << 16) | (_arg1.target.g << 8)) | _arg1.target.b)); } public static function parseBeziers(_arg1:Object, _arg2:Boolean=false):Object{ var _local3:int; var _local4:Array; var _local5:Object; var _local6:String; var _local7:Object = {}; if (_arg2){ for (_local6 in _arg1) { _local4 = _arg1[_local6]; _local5 = []; _local7[_local6] = _local5; if (_local4.length > 2){ _local5[_local5.length] = {s:_local4[0], cp:(_local4[1] - ((_local4[2] - _local4[0]) / 4)), e:_local4[1]}; _local3 = 1; while (_local3 < (_local4.length - 1)) { _local5[_local5.length] = {s:_local4[_local3], cp:(_local4[_local3] + (_local4[_local3] - _local5[(_local3 - 1)].cp)), e:_local4[(_local3 + 1)]}; _local3++; }; } else { _local5[_local5.length] = {s:_local4[0], cp:((_local4[0] + _local4[1]) / 2), e:_local4[1]}; }; }; } else { for (_local6 in _arg1) { _local4 = _arg1[_local6]; _local5 = []; _local7[_local6] = _local5; if (_local4.length > 3){ _local5[_local5.length] = {s:_local4[0], cp:_local4[1], e:((_local4[1] + _local4[2]) / 2)}; _local3 = 2; while (_local3 < (_local4.length - 2)) { _local5[_local5.length] = {s:_local5[(_local3 - 2)].e, cp:_local4[_local3], e:((_local4[_local3] + _local4[(_local3 + 1)]) / 2)}; _local3++; }; _local5[_local5.length] = {s:_local5[(_local5.length - 1)].e, cp:_local4[(_local4.length - 2)], e:_local4[(_local4.length - 1)]}; } else { if (_local4.length == 3){ _local5[_local5.length] = {s:_local4[0], cp:_local4[1], e:_local4[2]}; } else { if (_local4.length == 2){ _local5[_local5.length] = {s:_local4[0], cp:((_local4[0] + _local4[1]) / 2), e:_local4[1]}; }; }; }; }; }; return (_local7); } public static function bezierProxy2(_arg1:Object, _arg2:Number=0):void{ var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Array; var _local10:Number; bezierProxy(_arg1, _arg2); var _local3:Object = {}; var _local4:Object = _arg1.info.target; _arg1.info.target = _local3; _arg1.target.t = (_arg1.target.t + 0.01); bezierProxy(_arg1); var _local5:Array = _arg1.info.orientToBezier; var _local11:uint; while (_local11 < _local5.length) { _local9 = _local5[_local11]; _local10 = ((_local9[3]) || (0)); _local7 = (_local3[_local9[0]] - _local4[_local9[0]]); _local8 = (_local3[_local9[1]] - _local4[_local9[1]]); _local4[_local9[2]] = ((Math.atan2(_local8, _local7) * _RAD2DEG) + _local10); _local11++; }; _arg1.info.target = _local4; _arg1.target.t = (_arg1.target.t - 0.01); } public static function pauseAll(_arg1:Boolean=true, _arg2:Boolean=false):void{ changePause(true, _arg1, _arg2); } public static function set globalTimeScale(_arg1:Number):void{ setGlobalTimeScale(_arg1); } public static function get globalTimeScale():Number{ return (_globalTimeScale); } public static function killAllDelayedCalls(_arg1:Boolean=false):void{ killAll(_arg1, false, true); } public static function multiSequence(_arg1:Array):Array{ var _local6:Object; var _local7:Object; var _local8:Number; var _local9:Number; var _local10:uint; var _local11:Object; var _local12:String; trace("WARNING: TweenMax.multiSequence() and TweenMax.sequence() have been deprecated in favor of the much more powerful and flexible TweenGroup class. See http://blog.greensock.com/tweengroup/ for more details. Future versions of TweenMax may not include sequence() and multiSequence() (to conserve file size)."); var _local2:Dictionary = new Dictionary(); var _local3:Array = []; var _local4:int = TweenLite.overwriteManager.mode; var _local5:Number = 0; _local10 = 0; while (_local10 < _arg1.length) { _local6 = _arg1[_local10]; _local9 = ((_local6.time) || (0)); _local11 = {}; for (_local12 in _local6) { _local11[_local12] = _local6[_local12]; }; delete _local11.time; _local8 = ((_local11.delay) || (0)); _local11.delay = (_local5 + _local8); _local7 = _local11.target; delete _local11.target; if (_local4 == 1){ if (_local2[_local7] == undefined){ _local2[_local7] = _local11; } else { _local11.overwrite = 2; }; }; _local3[_local3.length] = new TweenMax(_local7, _local9, _local11); _local5 = (_local5 + (_local9 + _local8)); _local10++; }; return (_local3); } public static function getTweensOf(_arg1:Object):Array{ var _local4:int; var _local2:Array = masterList[_arg1]; var _local3:Array = []; if (_local2 != null){ _local4 = (_local2.length - 1); while (_local4 > -1) { if (!_local2[_local4].gc){ _local3[_local3.length] = _local2[_local4]; }; _local4--; }; }; return (_local3); } public static function delayedCall(_arg1:Number, _arg2:Function, _arg3:Array=null, _arg4:Boolean=false):TweenMax{ return (new TweenMax(_arg2, 0, {delay:_arg1, onComplete:_arg2, onCompleteParams:_arg3, persist:_arg4, overwrite:0})); } public static function isTweening(_arg1:Object):Boolean{ var _local2:Array = getTweensOf(_arg1); var _local3:int = (_local2.length - 1); while (_local3 > -1) { if (((_local2[_local3].active) && (!(_local2[_local3].gc)))){ return (true); }; _local3--; }; return (false); } public static function killAll(_arg1:Boolean=false, _arg2:Boolean=true, _arg3:Boolean=true):void{ var _local5:Boolean; var _local4:Array = getAllTweens(); var _local6:int = (_local4.length - 1); while (_local6 > -1) { _local5 = (_local4[_local6].target == _local4[_local6].vars.onComplete); if ((((_local5 == _arg3)) || (!((_local5 == _arg2))))){ if (_arg1){ _local4[_local6].complete(false); _local4[_local6].clear(); } else { TweenLite.removeTween(_local4[_local6], true); }; }; _local6--; }; } public static function changePause(_arg1:Boolean, _arg2:Boolean=true, _arg3:Boolean=false):void{ var _local5:Boolean; var _local4:Array = getAllTweens(); var _local6:int = (_local4.length - 1); while (_local6 > -1) { _local5 = (_local4[_local6].target == _local4[_local6].vars.onComplete); if ((((_local4[_local6] is TweenMax)) && ((((_local5 == _arg3)) || (!((_local5 == _arg2))))))){ _local4[_local6].paused = _arg1; }; _local6--; }; } public static function callbackProxy(_arg1:Array, _arg2:Array=null):void{ var _local3:uint; while (_local3 < _arg1.length) { if (_arg1[_local3] != undefined){ _arg1[_local3].apply(null, _arg2[_local3]); }; _local3++; }; } public static function allFrom(_arg1:Array, _arg2:Number, _arg3:Object):Array{ _arg3.runBackwards = true; return (allTo(_arg1, _arg2, _arg3)); } public static function killAllTweens(_arg1:Boolean=false):void{ killAll(_arg1, true, false); } public static function getAllTweens():Array{ var _local3:Array; var _local4:int; var _local5:TweenLite; var _local1:Dictionary = masterList; var _local2:Array = []; for each (_local3 in _local1) { _local4 = (_local3.length - 1); while (_local4 > -1) { if (!_local3[_local4].gc){ _local2[_local2.length] = _local3[_local4]; }; _local4--; }; }; for each (_local5 in _pausedTweens) { _local2[_local2.length] = _local5; }; return (_local2); } public static function resumeAll(_arg1:Boolean=true, _arg2:Boolean=false):void{ changePause(false, _arg1, _arg2); } public static function from(_arg1:Object, _arg2:Number, _arg3:Object):TweenMax{ _arg3.runBackwards = true; return (new TweenMax(_arg1, _arg2, _arg3)); } public static function to(_arg1:Object, _arg2:Number, _arg3:Object):TweenMax{ return (new TweenMax(_arg1, _arg2, _arg3)); } public static function allTo(_arg1:Array, _arg2:Number, _arg3:Object):Array{ var _local4:int; var _local5:Object; var _local6:String; var _local7:Number; var _local8:Object; trace("WARNING: TweenMax.allTo() and TweenMax.allFrom() have been deprecated in favor of the much more powerful and flexible TweenGroup class. See http://blog.greensock.com/tweengroup/ for more details. Future versions of TweenMax may not include allTo() and allFrom() (to conserve file size)."); if (_arg1.length == 0){ return ([]); }; var _local9:Array = []; var _local10:Number = ((_arg3.delayIncrement) || (0)); delete _arg3.delayIncrement; if (_arg3.onCompleteAll == undefined){ _local8 = _arg3; } else { _local8 = {}; for (_local6 in _arg3) { _local8[_local6] = _arg3[_local6]; }; _local8.onCompleteParams = [[_arg3.onComplete, _arg3.onCompleteAll], [_arg3.onCompleteParams, _arg3.onCompleteAllParams]]; _local8.onComplete = TweenMax.callbackProxy; delete _arg3.onCompleteAll; }; delete _arg3.onCompleteAllParams; if (_local10 == 0){ _local4 = 0; while (_local4 < (_arg1.length - 1)) { _local5 = {}; for (_local6 in _arg3) { _local5[_local6] = _arg3[_local6]; }; _local9[_local9.length] = new TweenMax(_arg1[_local4], _arg2, _local5); _local4++; }; } else { _local7 = ((_arg3.delay) || (0)); _local4 = 0; while (_local4 < (_arg1.length - 1)) { _local5 = {}; for (_local6 in _arg3) { _local5[_local6] = _arg3[_local6]; }; _local5.delay = (_local7 + (_local4 * _local10)); _local9[_local9.length] = new TweenMax(_arg1[_local4], _arg2, _local5); _local4++; }; _local8.delay = (_local7 + ((_arg1.length - 1) * _local10)); }; _local9[_local9.length] = new TweenMax(_arg1[(_arg1.length - 1)], _arg2, _local8); if ((_arg3.onCompleteAllListener is Function)){ _local9[(_local9.length - 1)].addEventListener(TweenEvent.COMPLETE, _arg3.onCompleteAllListener); }; return (_local9); } } }//package gs
Section 25
//MochiAd (mochi.MochiAd) package mochi { import flash.display.*; import flash.events.*; import flash.net.*; import flash.utils.*; import flash.system.*; public class MochiAd { public static function getVersion():String{ return ("2.7"); } public static function showClickAwayAd(_arg1:Object):void{ var clip:Object; var mc:MovieClip; var chk:MovieClip; var options = _arg1; var DEFAULTS:Object = {ad_timeout:2000, regpt:"o", method:"showClickAwayAd", res:"300x250", no_bg:true, ad_started:function ():void{ }, ad_finished:function ():void{ }, ad_loaded:function (_arg1:Number, _arg2:Number):void{ }, ad_failed:function ():void{ trace("[MochiAd] Couldn't load an ad, make sure your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software"); }, ad_skipped:function ():void{ }}; options = MochiAd._parseOptions(options, DEFAULTS); clip = options.clip; var ad_timeout:Number = options.ad_timeout; delete options.ad_timeout; if (!MochiAd.load(options)){ options.ad_failed(); options.ad_finished(); return; }; options.ad_started(); mc = clip._mochiad; mc["onUnload"] = function ():void{ MochiAd._cleanup(mc); options.ad_finished(); }; var wh:Array = MochiAd._getRes(options, clip); var w:Number = wh[0]; var h:Number = wh[1]; mc.x = (w * 0.5); mc.y = (h * 0.5); chk = createEmptyMovieClip(mc, "_mochiad_wait", 3); chk.ad_timeout = ad_timeout; chk.started = getTimer(); chk.showing = false; mc.unloadAd = function ():void{ MochiAd.unload(clip); }; mc.adLoaded = options.ad_loaded; mc.adSkipped = options.ad_skipped; mc.rpc = function (_arg1:Number, _arg2:Object):void{ MochiAd.rpc(clip, _arg1, _arg2); }; var sendHostProgress:Boolean; mc.regContLC = function (_arg1:String):void{ mc._containerLCName = _arg1; }; chk["onEnterFrame"] = function ():void{ var _local4:Number; if (!this.parent){ delete this.onEnterFrame; return; }; var _local1:Object = this.parent._mochiad_ctr; var _local2:Number = (getTimer() - this.started); var _local3:Boolean; if (!chk.showing){ _local4 = this.parent._mochiad_ctr.contentLoaderInfo.bytesTotal; if (_local4 > 0){ chk.showing = true; _local3 = true; chk.started = getTimer(); } else { if (_local2 > chk.ad_timeout){ options.ad_failed(); _local3 = true; }; }; }; if (this.root == null){ _local3 = true; }; if (_local3){ delete this.onEnterFrame; }; }; doOnEnterFrame(chk); } public static function _isNetworkAvailable():Boolean{ return (!((Security.sandboxType == "localWithFile"))); } public static function _allowDomains(_arg1:String):String{ var _local2:String = _arg1.split("/")[2].split(":")[0]; Security.allowDomain("*"); Security.allowDomain(_local2); Security.allowInsecureDomain("*"); Security.allowInsecureDomain(_local2); return (_local2); } public static function unload(_arg1:Object):Boolean{ if (((_arg1.clip) && (_arg1.clip._mochiad))){ _arg1 = _arg1.clip; }; if (_arg1.origFrameRate != undefined){ _arg1.stage.frameRate = _arg1.origFrameRate; }; if (!_arg1._mochiad){ return (false); }; if (_arg1._mochiad._containerLCName != undefined){ _arg1._mochiad.lc.send(_arg1._mochiad._containerLCName, "notify", {id:"unload"}); }; if (_arg1._mochiad.onUnload){ _arg1._mochiad.onUnload(); }; delete _arg1._mochiad_loaded; delete _arg1._mochiad; return (true); } public static function showInterLevelAd(_arg1:Object):void{ var clip:Object; var mc:MovieClip; var chk:MovieClip; var options = _arg1; var DEFAULTS:Object = {ad_timeout:2000, fadeout_time:250, regpt:"o", method:"showTimedAd", ad_started:function ():void{ if ((this.clip is MovieClip)){ this.clip.stop(); } else { throw (new Error("MochiAd.showInterLevelAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers.")); }; }, ad_finished:function ():void{ if ((this.clip is MovieClip)){ this.clip.play(); } else { throw (new Error("MochiAd.showInterLevelAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers.")); }; }, ad_loaded:function (_arg1:Number, _arg2:Number):void{ }, ad_failed:function ():void{ trace("[MochiAd] Couldn't load an ad, make sure your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software"); }, ad_skipped:function ():void{ }}; options = MochiAd._parseOptions(options, DEFAULTS); clip = options.clip; var ad_msec:Number = 11000; var ad_timeout:Number = options.ad_timeout; delete options.ad_timeout; var fadeout_time:Number = options.fadeout_time; delete options.fadeout_time; if (!MochiAd.load(options)){ options.ad_failed(); options.ad_finished(); return; }; options.ad_started(); mc = clip._mochiad; mc["onUnload"] = function ():void{ MochiAd._cleanup(mc); options.ad_finished(); }; var wh:Array = MochiAd._getRes(options, clip); var w:Number = wh[0]; var h:Number = wh[1]; mc.x = (w * 0.5); mc.y = (h * 0.5); chk = createEmptyMovieClip(mc, "_mochiad_wait", 3); chk.ad_msec = ad_msec; chk.ad_timeout = ad_timeout; chk.started = getTimer(); chk.showing = false; chk.fadeout_time = fadeout_time; chk.fadeFunction = function ():void{ if (!this.parent){ delete this.onEnterFrame; delete this.fadeFunction; return; }; var _local1:Number = (100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time))); if (_local1 > 0){ this.parent.alpha = (_local1 * 0.01); } else { MochiAd.unload(clip); delete this["onEnterFrame"]; }; }; mc.unloadAd = function ():void{ MochiAd.unload(clip); }; mc.adLoaded = options.ad_loaded; mc.adSkipped = options.ad_skipped; mc.adjustProgress = function (_arg1:Number):void{ var _local2:Object = mc._mochiad_wait; _local2.server_control = true; _local2.showing = true; _local2.started = getTimer(); _local2.ad_msec = (_arg1 - 250); }; mc.rpc = function (_arg1:Number, _arg2:Object):void{ MochiAd.rpc(clip, _arg1, _arg2); }; chk["onEnterFrame"] = function ():void{ var _local4:Number; if (!this.parent){ delete this.onEnterFrame; delete this.fadeFunction; return; }; var _local1:Object = this.parent._mochiad_ctr; var _local2:Number = (getTimer() - this.started); var _local3:Boolean; if (!chk.showing){ _local4 = this.parent._mochiad_ctr.contentLoaderInfo.bytesTotal; if (_local4 > 0){ chk.showing = true; chk.started = getTimer(); MochiAd.adShowing(clip); } else { if (_local2 > chk.ad_timeout){ options.ad_failed(); _local3 = true; }; }; }; if (_local2 > chk.ad_msec){ _local3 = true; }; if (_local3){ if (this.server_control){ delete this.onEnterFrame; } else { this.fadeout_start = getTimer(); this.onEnterFrame = this.fadeFunction; }; }; }; doOnEnterFrame(chk); } public static function _parseOptions(_arg1:Object, _arg2:Object):Object{ var _local4:String; var _local5:Array; var _local6:Number; var _local7:Array; var _local3:Object = {}; for (_local4 in _arg2) { _local3[_local4] = _arg2[_local4]; }; if (_arg1){ for (_local4 in _arg1) { _local3[_local4] = _arg1[_local4]; }; }; if (_local3.clip == undefined){ throw (new Error("MochiAd is missing the 'clip' parameter. This should be a MovieClip, Sprite or an instance of a class that extends MovieClip or Sprite.")); }; _arg1 = _local3.clip.loaderInfo.parameters.mochiad_options; if (_arg1){ _local5 = _arg1.split("&"); _local6 = 0; while (_local6 < _local5.length) { _local7 = _local5[_local6].split("="); _local3[unescape(_local7[0])] = unescape(_local7[1]); _local6++; }; }; if (_local3.id == "test"){ trace("[MochiAd] WARNING: Using the MochiAds test identifier, make sure to use the code from your dashboard, not this example!"); }; return (_local3); } public static function _cleanup(_arg1:Object):void{ var k:String; var lc:LocalConnection; var f:Function; var mc = _arg1; if (("lc" in mc)){ lc = mc.lc; f = function ():void{ try { lc.client = null; lc.close(); } catch(e:Error) { }; }; setTimeout(f, 0); }; var idx:Number = DisplayObjectContainer(mc).numChildren; while (idx > 0) { idx = (idx - 1); DisplayObjectContainer(mc).removeChildAt(idx); }; for (k in mc) { delete mc[k]; }; } public static function load(_arg1:Object):MovieClip{ var clip:Object; var k:String; var server:String; var hostname:String; var lc:LocalConnection; var name:String; var loader:Loader; var g:Function; var req:URLRequest; var v:Object; var options = _arg1; var DEFAULTS:Object = {server:"http://x.mochiads.com/srv/1/", method:"load", depth:10333, id:"_UNKNOWN_"}; options = MochiAd._parseOptions(options, DEFAULTS); options.swfv = 9; options.mav = MochiAd.getVersion(); clip = options.clip; if (!MochiAd._isNetworkAvailable()){ return (null); }; try { if (clip._mochiad_loaded){ return (null); }; } catch(e:Error) { throw (new Error("MochiAd requires a clip that is an instance of a dynamic class. If your class extends Sprite or MovieClip, you must make it dynamic.")); }; var depth:Number = options.depth; delete options.depth; var mc:MovieClip = createEmptyMovieClip(clip, "_mochiad", depth); var wh:Array = MochiAd._getRes(options, clip); options.res = ((wh[0] + "x") + wh[1]); options.server = (options.server + options.id); delete options.id; clip._mochiad_loaded = true; if (clip.loaderInfo.loaderURL.indexOf("http") == 0){ options.as3_swf = clip.loaderInfo.loaderURL; }; var lv:URLVariables = new URLVariables(); for (k in options) { v = options[k]; if (!(v is Function)){ lv[k] = v; }; }; server = lv.server; delete lv.server; hostname = _allowDomains(server); lc = new LocalConnection(); lc.client = mc; name = ["", Math.floor(new Date().getTime()), Math.floor((Math.random() * 999999))].join("_"); lc.allowDomain("*", "localhost"); lc.allowInsecureDomain("*", "localhost"); lc.connect(name); mc.lc = lc; mc.lcName = name; lv.lc = name; lv.st = getTimer(); loader = new Loader(); g = function (_arg1:Object):void{ _arg1.target.removeEventListener(_arg1.type, arguments.callee); MochiAd.unload(clip); }; loader.contentLoaderInfo.addEventListener(Event.UNLOAD, g); req = new URLRequest(((server + ".swf?cacheBust=") + new Date().getTime())); req.contentType = "application/x-www-form-urlencoded"; req.method = URLRequestMethod.POST; req.data = lv; loader.load(req); mc.addChild(loader); mc._mochiad_ctr = loader; return (mc); } public static function runMethod(_arg1:Object, _arg2:String, _arg3:Array):Object{ var _local4:Array = _arg2.split("."); var _local5:Number = 0; while (_local5 < (_local4.length - 1)) { if ((((_arg1[_local4[_local5]] == undefined)) || ((_arg1[_local4[_local5]] == null)))){ return (undefined); }; _arg1 = _arg1[_local4[_local5]]; _local5++; }; if (typeof(_arg1[_local4[_local5]]) == "function"){ return (_arg1[_local4[_local5]].apply(_arg1, _arg3)); }; return (undefined); } public static function createEmptyMovieClip(_arg1:Object, _arg2:String, _arg3:Number):MovieClip{ var _local4:MovieClip = new MovieClip(); if (((false) && (_arg3))){ _arg1.addChildAt(_local4, _arg3); } else { _arg1.addChild(_local4); }; _arg1[_arg2] = _local4; _local4["_name"] = _arg2; return (_local4); } public static function _getRes(_arg1:Object, _arg2:Object):Array{ var _local6:Array; var _local3:Object = _arg2.getBounds(_arg2.root); var _local4:Number = 0; var _local5:Number = 0; if (typeof(_arg1.res) != "undefined"){ _local6 = _arg1.res.split("x"); _local4 = parseFloat(_local6[0]); _local5 = parseFloat(_local6[1]); } else { _local4 = (_local3.xMax - _local3.xMin); _local5 = (_local3.yMax - _local3.yMin); }; if ((((_local4 == 0)) || ((_local5 == 0)))){ _local4 = _arg2.stage.stageWidth; _local5 = _arg2.stage.stageHeight; }; _local4 = 700; _local5 = 468; return ([_local4, _local5]); } public static function adShowing(_arg1:Object):void{ _arg1.origFrameRate = _arg1.stage.frameRate; _arg1.stage.frameRate = 30; } public static function getValue(_arg1:Object, _arg2:String):Object{ var _local3:Array = _arg2.split("."); var _local4:Number = 0; while (_local4 < (_local3.length - 1)) { if ((((_arg1[_local3[_local4]] == undefined)) || ((_arg1[_local3[_local4]] == null)))){ return (undefined); }; _arg1 = _arg1[_local3[_local4]]; _local4++; }; return (_arg1[_local3[_local4]]); } public static function rpc(_arg1:Object, _arg2:Number, _arg3:Object):void{ var _local4:Object; var _local5:Object; switch (_arg3.id){ case "setValue": MochiAd.setValue(_arg1, _arg3.objectName, _arg3.value); break; case "getValue": _local4 = MochiAd.getValue(_arg1, _arg3.objectName); _arg1._mochiad.lc.send(_arg1._mochiad._containerLCName, "rpcResult", _arg2, _local4); break; case "runMethod": _local5 = MochiAd.runMethod(_arg1, _arg3.method, _arg3.args); _arg1._mochiad.lc.send(_arg1._mochiad._containerLCName, "rpcResult", _arg2, _local5); break; default: trace(("[mochiads rpc] unknown rpc id: " + _arg3.id)); }; } public static function setValue(_arg1:Object, _arg2:String, _arg3:Object):void{ var _local4:Array = _arg2.split("."); var _local5:Number = 0; while (_local5 < (_local4.length - 1)) { if ((((_arg1[_local4[_local5]] == undefined)) || ((_arg1[_local4[_local5]] == null)))){ return; }; _arg1 = _arg1[_local4[_local5]]; _local5++; }; _arg1[_local4[_local5]] = _arg3; } public static function showPreGameAd(_arg1:Object):void{ var clip:Object; var mc:MovieClip; var chk:MovieClip; var complete:Boolean; var unloaded:Boolean; var sendHostProgress:Boolean; var fn:Function; var r:MovieClip; var options = _arg1; var DEFAULTS:Object = {ad_timeout:3000, fadeout_time:250, regpt:"o", method:"showPreloaderAd", color:0xFF8A00, background:16777161, outline:13994812, no_progress_bar:false, ad_started:function ():void{ if ((this.clip is MovieClip)){ this.clip.stop(); } else { throw (new Error("MochiAd.showPreGameAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers.")); }; }, ad_finished:function ():void{ if ((this.clip is MovieClip)){ this.clip.play(); } else { throw (new Error("MochiAd.showPreGameAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers.")); }; }, ad_loaded:function (_arg1:Number, _arg2:Number):void{ }, ad_failed:function ():void{ trace("[MochiAd] Couldn't load an ad, make sure your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software"); }, ad_skipped:function ():void{ }, ad_progress:function (_arg1:Number):void{ }}; options = MochiAd._parseOptions(options, DEFAULTS); if ("c862232051e0a94e1c3609b3916ddb17".substr(0) == "dfeada81ac97cde83665f81c12da7def"){ options.ad_started(); fn = function ():void{ options.ad_finished(); }; setTimeout(fn, 100); return; }; clip = options.clip; var ad_msec:Number = 11000; var ad_timeout:Number = options.ad_timeout; delete options.ad_timeout; var fadeout_time:Number = options.fadeout_time; delete options.fadeout_time; if (!MochiAd.load(options)){ options.ad_failed(); options.ad_finished(); return; }; options.ad_started(); mc = clip._mochiad; mc["onUnload"] = function ():void{ MochiAd._cleanup(mc); var fn:Function = function ():void{ options.ad_finished(); }; setTimeout(fn, 100); }; var wh:Array = MochiAd._getRes(options, clip); var w:Number = wh[0]; var h:Number = wh[1]; mc.x = (w * 0.5); mc.y = (h * 0.5); chk = createEmptyMovieClip(mc, "_mochiad_wait", 3); chk.x = (w * -0.5); chk.y = (h * -0.5); var bar:MovieClip = createEmptyMovieClip(chk, "_mochiad_bar", 4); if (options.no_progress_bar){ bar.visible = false; delete options.no_progress_bar; } else { bar.x = 10; bar.y = (h - 20); }; var bar_color:Number = options.color; delete options.color; var bar_background:Number = options.background; delete options.background; var bar_outline:Number = options.outline; delete options.outline; var backing_mc:MovieClip = createEmptyMovieClip(bar, "_outline", 1); var backing:Object = backing_mc.graphics; backing.beginFill(bar_background); backing.moveTo(0, 0); backing.lineTo((w - 20), 0); backing.lineTo((w - 20), 10); backing.lineTo(0, 10); backing.lineTo(0, 0); backing.endFill(); var inside_mc:MovieClip = createEmptyMovieClip(bar, "_inside", 2); var inside:Object = inside_mc.graphics; inside.beginFill(bar_color); inside.moveTo(0, 0); inside.lineTo((w - 20), 0); inside.lineTo((w - 20), 10); inside.lineTo(0, 10); inside.lineTo(0, 0); inside.endFill(); inside_mc.scaleX = 0; var outline_mc:MovieClip = createEmptyMovieClip(bar, "_outline", 3); var outline:Object = outline_mc.graphics; outline.lineStyle(0, bar_outline, 100); outline.moveTo(0, 0); outline.lineTo((w - 20), 0); outline.lineTo((w - 20), 10); outline.lineTo(0, 10); outline.lineTo(0, 0); chk.ad_msec = ad_msec; chk.ad_timeout = ad_timeout; chk.started = getTimer(); chk.showing = false; chk.last_pcnt = 0; chk.fadeout_time = fadeout_time; chk.fadeFunction = function ():void{ var _local1:Number = (100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time))); if (_local1 > 0){ this.parent.alpha = (_local1 * 0.01); } else { MochiAd.unload(clip); delete this["onEnterFrame"]; }; }; complete = false; unloaded = false; var f:Function = function (_arg1:Event):void{ _arg1.target.removeEventListener(_arg1.type, arguments.callee); complete = true; if (unloaded){ MochiAd.unload(clip); }; }; clip.loaderInfo.addEventListener(Event.COMPLETE, f); if ((clip.root is MovieClip)){ r = (clip.root as MovieClip); if (r.framesLoaded >= r.totalFrames){ complete = true; }; }; mc.unloadAd = function ():void{ unloaded = true; if (complete){ MochiAd.unload(clip); }; }; mc.adLoaded = options.ad_loaded; mc.adSkipped = options.ad_skipped; mc.adjustProgress = function (_arg1:Number):void{ var _local2:Object = mc._mochiad_wait; _local2.server_control = true; _local2.showing = true; _local2.started = getTimer(); _local2.ad_msec = _arg1; }; mc.rpc = function (_arg1:Number, _arg2:Object):void{ MochiAd.rpc(clip, _arg1, _arg2); }; mc.rpcTestFn = function (_arg1:String):Object{ trace(("[MOCHIAD rpcTestFn] " + _arg1)); return (_arg1); }; mc.regContLC = function (_arg1:String):void{ mc._containerLCName = _arg1; }; sendHostProgress = false; mc.sendHostLoadProgress = function (_arg1:String):void{ sendHostProgress = true; }; chk["onEnterFrame"] = function ():void{ var _local11:Number; if (((!(this.parent)) || (!(this.parent.parent)))){ delete this["onEnterFrame"]; return; }; var _local1:Object = this.parent.parent.root; var _local2:Object = this.parent._mochiad_ctr; var _local3:Number = (getTimer() - this.started); var _local4:Boolean; var _local5:Number = _local1.loaderInfo.bytesTotal; var _local6:Number = _local1.loaderInfo.bytesLoaded; if (complete){ _local6 = Math.max(1, _local6); _local5 = _local6; }; var _local7:Number = ((100 * _local6) / _local5); var _local8:Number = ((100 * _local3) / chk.ad_msec); var _local9:Object = this._mochiad_bar._inside; var _local10:Number = Math.min(100, Math.min(((_local7) || (0)), _local8)); _local10 = Math.max(this.last_pcnt, _local10); this.last_pcnt = _local10; _local9.scaleX = (_local10 * 0.01); options.ad_progress(_local10); if (sendHostProgress){ clip._mochiad.lc.send(clip._mochiad._containerLCName, "notify", {id:"hostLoadPcnt", pcnt:_local7}); if (_local7 == 100){ sendHostProgress = false; }; }; if (!chk.showing){ _local11 = this.parent._mochiad_ctr.contentLoaderInfo.bytesTotal; if (_local11 > 0){ chk.showing = true; chk.started = getTimer(); MochiAd.adShowing(clip); } else { if ((((_local3 > chk.ad_timeout)) && ((_local7 == 100)))){ options.ad_failed(); _local4 = true; }; }; }; if (_local3 > chk.ad_msec){ _local4 = true; }; if (((complete) && (_local4))){ if (this.server_control){ delete this.onEnterFrame; } else { this.fadeout_start = getTimer(); this.onEnterFrame = chk.fadeFunction; }; }; }; doOnEnterFrame(chk); } public static function showPreloaderAd(_arg1:Object):void{ trace("[MochiAd] DEPRECATED: showPreloaderAd was renamed to showPreGameAd in 2.0"); MochiAd.showPreGameAd(_arg1); } public static function showTimedAd(_arg1:Object):void{ trace("[MochiAd] DEPRECATED: showTimedAd was renamed to showInterLevelAd in 2.0"); MochiAd.showInterLevelAd(_arg1); } public static function doOnEnterFrame(_arg1:MovieClip):void{ var mc = _arg1; var f:Function = function (_arg1:Object):void{ if (((("onEnterFrame" in mc)) && (mc.onEnterFrame))){ mc.onEnterFrame(); } else { _arg1.target.removeEventListener(_arg1.type, arguments.callee); }; }; mc.addEventListener(Event.ENTER_FRAME, f); } } }//package mochi
Section 26
//MochiBot (mochi.MochiBot) package mochi { import flash.display.*; import flash.net.*; import flash.system.*; public dynamic class MochiBot extends Sprite { public static function track(_arg1:Sprite, _arg2:String):MochiBot{ if (Security.sandboxType == "localWithFile"){ return (null); }; var _local3:MochiBot = new (MochiBot); _arg1.addChild(_local3); Security.allowDomain("*"); Security.allowInsecureDomain("*"); var _local4 = "http://core.mochibot.com/my/core.swf"; var _local5:URLVariables = new URLVariables(); _local5["sb"] = Security.sandboxType; _local5["v"] = Capabilities.version; _local5["swfid"] = _arg2; _local5["mv"] = "8"; _local5["fv"] = "9"; var _local6:String = _local3.root.loaderInfo.loaderURL; if (_local6.indexOf("http") == 0){ _local5["url"] = _local6; } else { _local5["url"] = "local"; }; var _local7:URLRequest = new URLRequest(_local4); _local7.contentType = "application/x-www-form-urlencoded"; _local7.method = URLRequestMethod.POST; _local7.data = _local5; var _local8:Loader = new Loader(); _local3.addChild(_local8); _local8.load(_local7); return (_local3); } } }//package mochi
Section 27
//MochiScores (mochi.MochiScores) package mochi { import flash.display.*; import flash.text.*; public class MochiScores { private static var boardID:String; public static var onErrorHandler:Object; public static var onCloseHandler:Object; public static function showLeaderboard(_arg1:Object=null):void{ var options = _arg1; if (options != null){ if (options.clip != null){ if ((options.clip is Sprite)){ MochiServices.setContainer(options.clip); }; delete options.clip; } else { MochiServices.setContainer(); }; MochiServices.stayOnTop(); if (options.name != null){ if ((options.name is TextField)){ if (options.name.text.length > 0){ options.name = options.name.text; }; }; }; if (options.score != null){ if ((options.score is TextField)){ if (options.score.text.length > 0){ options.score = options.score.text; }; }; }; if (options.onDisplay != null){ options.onDisplay(); } else { if (MochiServices.clip != null){ if ((MochiServices.clip is MovieClip)){ MochiServices.clip.stop(); } else { trace("Warning: Container is not a MovieClip, cannot call default onDisplay."); }; }; }; } else { options = {}; if ((MochiServices.clip is MovieClip)){ MochiServices.clip.stop(); } else { trace("Warning: Container is not a MovieClip, cannot call default onDisplay."); }; }; if (options.onClose != null){ onCloseHandler = options.onClose; } else { onCloseHandler = function ():void{ if ((MochiServices.clip is MovieClip)){ MochiServices.clip.play(); } else { trace("Warning: Container is not a MovieClip, cannot call default onClose."); }; }; }; if (options.onError != null){ onErrorHandler = options.onError; } else { onErrorHandler = null; }; if (options.boardID == null){ if (MochiScores.boardID != null){ options.boardID = MochiScores.boardID; }; }; MochiServices.send("scores_showLeaderboard", {options:options}, null, onClose); } public static function closeLeaderboard():void{ MochiServices.send("scores_closeLeaderboard"); } public static function getPlayerInfo(_arg1:Object, _arg2:Object=null):void{ MochiServices.send("scores_getPlayerInfo", null, _arg1, _arg2); } public static function requestList(_arg1:Object, _arg2:Object=null):void{ MochiServices.send("scores_requestList", null, _arg1, _arg2); } public static function scoresArrayToObjects(_arg1:Object):Object{ var _local3:Number; var _local4:Number; var _local5:Object; var _local6:Object; var _local7:String; var _local8:String; var _local2:Object = {}; for (_local7 in _arg1) { if (typeof(_arg1[_local7]) == "object"){ if (((!((_arg1[_local7].cols == null))) && (!((_arg1[_local7].rows == null))))){ _local2[_local7] = []; _local5 = _arg1[_local7]; _local4 = 0; while (_local4 < _local5.rows.length) { _local6 = {}; _local3 = 0; while (_local3 < _local5.cols.length) { _local6[_local5.cols[_local3]] = _local5.rows[_local4][_local3]; _local3++; }; _local2[_local7].push(_local6); _local4++; }; } else { _local2[_local7] = {}; for (_local8 in _arg1[_local7]) { _local2[_local7][_local8] = _arg1[_local7][_local8]; }; }; } else { _local2[_local7] = _arg1[_local7]; }; }; return (_local2); } public static function submit(_arg1:Number, _arg2:String, _arg3:Object=null, _arg4:Object=null):void{ MochiServices.send("scores_submit", {score:_arg1, name:_arg2}, _arg3, _arg4); } public static function onClose(_arg1:Object=null):void{ if (_arg1 != null){ if (_arg1.error != null){ if (_arg1.error == true){ if (onErrorHandler != null){ if (_arg1.errorCode == null){ _arg1.errorCode = "IOError"; }; onErrorHandler(_arg1.errorCode); MochiServices.doClose(); return; }; }; }; }; onCloseHandler(); MochiServices.doClose(); } public static function setBoardID(_arg1:String):void{ MochiScores.boardID = _arg1; MochiServices.send("scores_setBoardID", {boardID:_arg1}); } } }//package mochi
Section 28
//MochiServices (mochi.MochiServices) package mochi { import flash.display.*; import flash.events.*; import flash.net.*; import flash.utils.*; import flash.system.*; public class MochiServices { private static var _container:Object; private static var _connected:Boolean = false; private static var _swfVersion:String; private static var _sendChannel:LocalConnection; private static var _rcvChannelName:String; private static var _gatewayURL:String = "http://www.mochiads.com/static/lib/services/services.swf"; private static var _clip:MovieClip; private static var _loader:Loader; private static var _id:String; private static var _listenChannel:LocalConnection; private static var _timer:Timer; private static var _sendChannelName:String; private static var _startTime:Number; private static var _connecting:Boolean = false; public static var onError:Object; private static var _listenChannelName:String = "__mochiservices"; private static var _rcvChannel:LocalConnection; public static function isNetworkAvailable():Boolean{ return (!((Security.sandboxType == "localWithFile"))); } public static function send(_arg1:String, _arg2:Object=null, _arg3:Object=null, _arg4:Object=null):void{ if (_connected){ _sendChannel.send(_sendChannelName, "onReceive", {methodName:_arg1, args:_arg2, callbackID:_clip._nextcallbackID}); } else { if ((((_clip == null)) || (!(_connecting)))){ onError("NotConnected"); handleError(_arg2, _arg3, _arg4); flush(true); return; }; _clip._queue.push({methodName:_arg1, args:_arg2, callbackID:_clip._nextcallbackID}); }; if (_clip != null){ if (((!((_clip._callbacks == null))) && (!((_clip._nextcallbackID == null))))){ _clip._callbacks[_clip._nextcallbackID] = {callbackObject:_arg3, callbackMethod:_arg4}; _clip._nextcallbackID++; }; }; } public static function get connected():Boolean{ return (_connected); } private static function flush(_arg1:Boolean):void{ var _local2:Object; var _local3:Object; if (_clip != null){ if (_clip._queue != null){ while (_clip._queue.length > 0) { _local2 = _clip._queue.shift(); _local3 = null; if (_local2 != null){ if (_local2.callbackID != null){ _local3 = _clip._callbacks[_local2.callbackID]; }; delete _clip._callbacks[_local2.callbackID]; if (((_arg1) && (!((_local3 == null))))){ handleError(_local2.args, _local3.callbackObject, _local3.callbackMethod); }; }; }; }; }; } private static function clickMovie(_arg1:String, _arg2:Function):MovieClip{ var _local4:int; var _local14:Loader; var _local3:Array = [150, 21, 0, 7, 1, 0, 0, 0, 0, 98, 116, 110, 0, 7, 2, 0, 0, 0, 0, 116, 104, 105, 115, 0, 28, 150, 22, 0, 0, 99, 114, 101, 97, 116, 101, 69, 109, 112, 116, 121, 77, 111, 118, 105, 101, 67, 108, 105, 112, 0, 82, 135, 1, 0, 0, 23, 150, 13, 0, 4, 0, 0, 111, 110, 82, 101, 108, 101, 97, 115, 101, 0, 142, 8, 0, 0, 0, 0, 2, 42, 0, 114, 0, 150, 17, 0, 0, 32, 0, 7, 1, 0, 0, 0, 8, 0, 0, 115, 112, 108, 105, 116, 0, 82, 135, 1, 0, 1, 23, 150, 7, 0, 4, 1, 7, 0, 0, 0, 0, 78, 150, 8, 0, 0, 95, 98, 108, 97, 110, 107, 0, 154, 1, 0, 0, 150, 7, 0, 0, 99, 108, 105, 99, 107, 0, 150, 7, 0, 4, 1, 7, 1, 0, 0, 0, 78, 150, 27, 0, 7, 2, 0, 0, 0, 7, 0, 0, 0, 0, 0, 76, 111, 99, 97, 108, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 0, 64, 150, 6, 0, 0, 115, 101, 110, 100, 0, 82, 79, 150, 15, 0, 4, 0, 0, 95, 97, 108, 112, 104, 97, 0, 7, 0, 0, 0, 0, 79, 150, 23, 0, 7, 0xFF, 0, 0xFF, 0, 7, 1, 0, 0, 0, 4, 0, 0, 98, 101, 103, 105, 110, 70, 105, 108, 108, 0, 82, 23, 150, 25, 0, 7, 0, 0, 0, 0, 7, 0, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 109, 111, 118, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 100, 0, 0, 0, 7, 0, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 100, 0, 0, 0, 7, 100, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 0, 0, 0, 0, 7, 100, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 0, 0, 0, 0, 7, 0, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 16, 0, 7, 0, 0, 0, 0, 4, 0, 0, 101, 110, 100, 70, 105, 108, 108, 0, 82, 23]; var _local5:Array = [104, 0, 31, 64, 0, 7, 208, 0, 0, 12, 1, 0, 67, 2, 0xFF, 0xFF, 0xFF, 63, 3]; var _local6:Array = [0, 64, 0, 0, 0]; var _local7:MovieClip = new MovieClip(); var _local8:LocalConnection = new LocalConnection(); var _local9:String = ((("_click_" + Math.floor((Math.random() * 999999))) + "_") + Math.floor(new Date().getTime())); _local8 = new LocalConnection(); _local7.lc = _local8; _local7.click = _arg2; _local8.client = _local7; _local8.connect(_local9); var _local10:ByteArray = new ByteArray(); var _local11:ByteArray = new ByteArray(); _local11.endian = Endian.LITTLE_ENDIAN; _local11.writeShort(1); _local11.writeUTFBytes(((_arg1 + " ") + _local9)); _local11.writeByte(0); var _local12:uint = ((_local3.length + _local11.length) + 4); var _local13:uint = (_local12 + 35); _local10.endian = Endian.LITTLE_ENDIAN; _local10.writeUTFBytes("FWS"); _local10.writeByte(8); _local10.writeUnsignedInt(_local13); for each (_local4 in _local5) { _local10.writeByte(_local4); }; _local10.writeUnsignedInt(_local12); _local10.writeByte(136); _local10.writeShort(_local11.length); _local10.writeBytes(_local11); for each (_local4 in _local3) { _local10.writeByte(_local4); }; for each (_local4 in _local6) { _local10.writeByte(_local4); }; _local14 = new Loader(); _local14.loadBytes(_local10); _local7.addChild(_local14); return (_local7); } private static function init(_arg1:String, _arg2:Object):void{ _id = _arg1; if (_arg2 != null){ _container = _arg2; loadCommunicator(_arg1, _container); }; } public static function get childClip():Object{ return (_clip); } public static function get id():String{ return (_id); } public static function stayOnTop():void{ _container.addEventListener(Event.ENTER_FRAME, MochiServices.bringToTop, false, 0, true); if (_clip != null){ _clip.visible = true; }; } public static function addLinkEvent(_arg1:String, _arg2:String, _arg3:DisplayObjectContainer, _arg4:Function=null):void{ var netup:Boolean; var s:String; var x:String; var req:URLRequest; var loader:Loader; var err:Function; var complete:Function; var setURL:Function; var url = _arg1; var burl = _arg2; var btn = _arg3; var onClick = _arg4; var vars:Object = new Object(); vars["mav"] = getVersion(); vars["swfv"] = "9"; vars["swfurl"] = btn.loaderInfo.loaderURL; vars["fv"] = Capabilities.version; vars["os"] = Capabilities.os; vars["lang"] = Capabilities.language; vars["scres"] = ((Capabilities.screenResolutionX + "x") + Capabilities.screenResolutionY); s = "?"; var i:Number = 0; for (x in vars) { if (i != 0){ s = (s + "&"); }; i = (i + 1); s = (((s + x) + "=") + escape(vars[x])); }; req = new URLRequest("http://x.mochiads.com/linkping.swf"); loader = new Loader(); err = function (_arg1:Object):void{ netup = false; _arg1.target.removeEventListener(_arg1.type, arguments.callee); }; complete = function (_arg1:Object):void{ netup = true; _arg1.target.removeEventListener(_arg1.type, arguments.callee); }; loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, err); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, complete); loader.load(req); setURL = function ():void{ var _local1:String; if (netup){ _local1 = (url + s); } else { _local1 = burl; }; var _local2:DisplayObject = clickMovie(_local1, onClick); btn.addChild(_local2); _local2.scaleX = (0.01 * btn.width); _local2.scaleY = (0.01 * btn.height); }; setTimeout(setURL, 1500); } public static function getVersion():String{ return ("1.35"); } public static function disconnect():void{ if (((_connected) || (_connecting))){ if (_clip != null){ if (_clip.parent != null){ if ((_clip.parent is Sprite)){ Sprite(_clip.parent).removeChild(_clip); _clip = null; }; }; }; _connecting = (_connected = false); flush(true); try { _listenChannel.close(); _rcvChannel.close(); } catch(error:Error) { }; }; if (_timer != null){ try { _timer.stop(); } catch(error:Error) { }; }; } public static function allowDomains(_arg1:String):String{ var _local2:String; Security.allowDomain("*"); Security.allowInsecureDomain("*"); if (_arg1.indexOf("http://") != -1){ _local2 = _arg1.split("/")[2].split(":")[0]; Security.allowDomain(_local2); Security.allowInsecureDomain(_local2); }; return (_local2); } public static function doClose():void{ _container.removeEventListener(Event.ENTER_FRAME, MochiServices.bringToTop); if (_clip.parent != null){ Sprite(_clip.parent).removeChild(_clip); }; } public static function setContainer(_arg1:Object=null, _arg2:Boolean=true):void{ if (_arg1 != null){ if ((_arg1 is Sprite)){ _container = _arg1; }; }; if (_arg2){ if ((_container is Sprite)){ Sprite(_container).addChild(_clip); }; }; } private static function onStatus(_arg1:StatusEvent):void{ switch (_arg1.level){ case "error": _connected = false; _listenChannel.connect(_listenChannelName); break; }; } private static function initComChannels():void{ if (!_connected){ _sendChannel.addEventListener(StatusEvent.STATUS, MochiServices.onStatus); _sendChannel.send(_sendChannelName, "onReceive", {methodName:"handshakeDone"}); _sendChannel.send(_sendChannelName, "onReceive", {methodName:"registerGame", id:_id, clip:_container, version:getVersion(), parentURL:_container.loaderInfo.loaderURL}); _rcvChannel.addEventListener(StatusEvent.STATUS, MochiServices.onStatus); _clip.onReceive = function (_arg1:Object):void{ var methodName:String; var pkg = _arg1; var cb:String = pkg.callbackID; var cblst:Object = this.client._callbacks[cb]; if (!cblst){ return; }; var method:* = cblst.callbackMethod; methodName = ""; var obj:Object = cblst.callbackObject; if (((obj) && ((typeof(method) == "string")))){ methodName = method; if (obj[method] != null){ method = obj[method]; } else { trace((("Error: Method " + method) + " does not exist.")); }; }; if (method != undefined){ try { method.apply(obj, pkg.args); } catch(error:Error) { trace(((("Error invoking callback method '" + methodName) + "': ") + error.toString())); }; } else { if (obj != null){ try { obj(pkg.args); } catch(error:Error) { trace(("Error invoking method on object: " + error.toString())); }; }; }; delete this.client._callbacks[cb]; }; _clip.onError = function ():void{ MochiServices.onError("IOError"); }; _rcvChannel.connect(_rcvChannelName); trace("connected!"); _connecting = false; _connected = true; _listenChannel.close(); while (_clip._queue.length > 0) { _sendChannel.send(_sendChannelName, "onReceive", _clip._queue.shift()); }; }; } private static function listen():void{ _listenChannel = new LocalConnection(); _listenChannel.client = _clip; _clip.handshake = function (_arg1:Object):void{ MochiServices.comChannelName = _arg1.newChannel; }; _listenChannel.allowDomain("*", "localhost"); _listenChannel.allowInsecureDomain("*", "localhost"); _listenChannel.connect(_listenChannelName); trace("Waiting for MochiAds services to connect..."); } private static function handleError(_arg1:Object, _arg2:Object, _arg3:Object):void{ var args = _arg1; var callbackObject = _arg2; var callbackMethod = _arg3; if (args != null){ if (args.onError != null){ args.onError.apply(null, ["NotConnected"]); }; if (((!((args.options == null))) && (!((args.options.onError == null))))){ args.options.onError.apply(null, ["NotConnected"]); }; }; if (callbackMethod != null){ args = {}; args.error = true; args.errorCode = "NotConnected"; if (((!((callbackObject == null))) && ((callbackMethod is String)))){ try { var _local5 = callbackObject; _local5[callbackMethod](args); } catch(error:Error) { }; } else { if (callbackMethod != null){ try { callbackMethod.apply(args); } catch(error:Error) { }; }; }; }; } public static function get clip():Object{ return (_container); } public static function set comChannelName(_arg1:String):void{ if (_arg1 != null){ if (_arg1.length > 3){ _sendChannelName = (_arg1 + "_fromgame"); _rcvChannelName = _arg1; initComChannels(); }; }; } private static function loadCommunicator(_arg1:String, _arg2:Object):MovieClip{ var id = _arg1; var clip = _arg2; var clipname:String = ("_mochiservices_com_" + id); if (_clip != null){ return (_clip); }; if (!MochiServices.isNetworkAvailable()){ return (null); }; MochiServices.allowDomains(_gatewayURL); _clip = createEmptyMovieClip(clip, clipname, 10336, false); _loader = new Loader(); _timer = new Timer(1000, 0); _startTime = getTimer(); _timer.addEventListener(TimerEvent.TIMER, connectWait); _timer.start(); var f:Function = function (_arg1:Object):void{ _clip._mochiad_ctr_failed = true; trace("MochiServices could not load."); MochiServices.disconnect(); MochiServices.onError("IOError"); }; _loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, f); var req:URLRequest = new URLRequest(_gatewayURL); _loader.load(req); _clip.addChild(_loader); _clip._mochiservices_com = _loader; _sendChannel = new LocalConnection(); _clip._queue = []; _rcvChannel = new LocalConnection(); _rcvChannel.allowDomain("*", "localhost"); _rcvChannel.allowInsecureDomain("*", "localhost"); _rcvChannel.client = _clip; _clip._nextcallbackID = 0; _clip._callbacks = {}; listen(); return (_clip); } public static function bringToTop(_arg1:Event):void{ var e = _arg1; if (MochiServices.clip != null){ if (MochiServices.childClip != null){ try { if (MochiServices.clip.numChildren > 1){ MochiServices.clip.setChildIndex(MochiServices.childClip, (MochiServices.clip.numChildren - 1)); }; } catch(errorObject:Error) { trace("Warning: Depth sort error."); _container.removeEventListener(Event.ENTER_FRAME, MochiServices.bringToTop); }; }; }; } public static function connect(_arg1:String, _arg2:Object, _arg3:Object=null):void{ var id = _arg1; var clip = _arg2; var onError = _arg3; if ((clip is DisplayObject)){ if (((!(_connected)) && ((_clip == null)))){ trace("MochiServices Connecting..."); _connecting = true; init(id, clip); }; } else { trace("Error, MochiServices requires a Sprite, Movieclip or instance of the stage."); }; if (onError != null){ MochiServices.onError = onError; } else { if (MochiServices.onError == null){ MochiServices.onError = function (_arg1:String):void{ trace(_arg1); }; }; }; } public static function createEmptyMovieClip(_arg1:Object, _arg2:String, _arg3:Number, _arg4:Boolean=true):MovieClip{ var parent = _arg1; var name = _arg2; var depth = _arg3; var doAdd = _arg4; var mc:MovieClip = new MovieClip(); if (doAdd){ if (((false) && (depth))){ parent.addChildAt(mc, depth); } else { parent.addChild(mc); }; }; try { parent[name] = mc; } catch(e:Error) { throw (new Error("MochiServices requires a clip that is an instance of a dynamic class. If your class extends Sprite or MovieClip, you must make it dynamic.")); }; mc["_name"] = name; return (mc); } public static function connectWait(_arg1:TimerEvent):void{ if ((getTimer() - _startTime) > 10000){ if (!_connected){ _clip._mochiad_ctr_failed = true; trace("MochiServices could not load."); MochiServices.disconnect(); MochiServices.onError("IOError"); }; _timer.stop(); }; } } }//package mochi
Section 29
//exportedSymbols_1 (triPeakSolitaire3D_fla.exportedSymbols_1) package triPeakSolitaire3D_fla { import flash.display.*; public dynamic class exportedSymbols_1 extends MovieClip { public function exportedSymbols_1(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package triPeakSolitaire3D_fla
Section 30
//mcLogo_14 (triPeakSolitaire3D_fla.mcLogo_14) package triPeakSolitaire3D_fla { import flash.display.*; public dynamic class mcLogo_14 extends MovieClip { public var btnNav:SimpleButton; public function mcLogo_14(){ addFrameScript(20, frame21); } function frame21(){ stop(); } } }//package triPeakSolitaire3D_fla
Section 31
//sndExporter_20 (triPeakSolitaire3D_fla.sndExporter_20) package triPeakSolitaire3D_fla { import flash.display.*; public dynamic class sndExporter_20 extends MovieClip { public function sndExporter_20(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package triPeakSolitaire3D_fla
Section 32
//AllPilesRemoved (AllPilesRemoved) package { import flash.media.*; public dynamic class AllPilesRemoved extends Sound { } }//package
Section 33
//BackGround (BackGround) package { import flash.display.*; import gs.*; import five3D.display.*; import gs.events.*; import flash.text.*; import five3D.typography.*; import card3d.*; public class BackGround extends MovieClip { public var txtScore:TextField; public var btPause:SimpleButton; public var tfCardRun:TextField; private var scene:Scene3D; private var txtTime3D:DynamicText3D; public var mcTimer:TimerClass; private var lastRun:String; private var font:Class; public var mcSound:SoundButton; private var lastScore:int; public var tfRoundNumber:DynamicText3D; private var txtSound3D:DynamicText3D; public var txtBonus:TextField; public var __score:int;// = 0 private var txtScore3D:DynamicText3D; public var _sbtTakePoints:DynamicMenu; private var color:int;// = 14805893 public var castle_mc:MovieClip; public var mcTexts:Sprite; public static var sprite:Sprite3D; public function BackGround(){ font = HelveticaMedium; super(); create3DEnvironment(); tfRoundNumber = createRound3DField(); _sbtTakePoints = new btnUndo(120, 20, "resign"); sprite.addChild(_sbtTakePoints); invisibleCastle(); mcSound = new SoundButton(sprite); mcSound.sprSound.rotationX = -10; mcSound.sprSound.x = 660; mcSound.sprSound.y = 20; addChild(mcSound); mcTimer = new TimerClass(txtBonus); mcTimer.onInitialize(Game.GAME); mcTimer.setEndFunction(Game.GAME.timeOut); score = 0; } private function createTime3DField():DynamicText3D{ var _local1:* = new DynamicText3D(font); _local1.color = color; _local1.size = 35; _local1.text = ""; _local1.x = 200; _local1.y = 10; _local1.rotationX = 20; sprite.addChild(_local1); return (_local1); } function reportProgress(_arg1:TweenEvent):void{ txtScore.text = String(__score); } public function invisibleCastle():void{ castle_mc.castle_left.visible = false; castle_mc.castle_center.visible = false; castle_mc.castle_right.visible = false; } public function returnScore():void{ __score = (score - (score - lastScore)); txtScore.text = String(lastScore); tfCardRun.text = lastRun; } private function createScore3DField():DynamicText3D{ var _local1:* = new DynamicText3D(font); _local1.color = color; _local1.size = 35; _local1.text = 0; _local1.x = 420; _local1.y = 0; sprite.addChild(_local1); return (_local1); } public function addRunCount(_arg1:int):void{ var _local2:int; if (_arg1 < 0){ _local2 = 0; } else { _local2 = (int(tfCardRun.text) + int(_arg1)); }; lastRun = tfCardRun.text; tfCardRun.text = String(_local2); } private function createRound3DField():DynamicText3D{ var _local1:* = new DynamicText3D(ArialRoundedMTBold); var _local2:* = new DynamicText3D(ArialRoundedMTBold); _local1.color = 8161905; _local2.color = 8161905; _local1.size = 35; _local2.size = 20; _local1.text = 0; _local2.text = "round"; _local1.x = 610; _local2.x = 550; _local1.y = 2; _local2.y = 12; sprite.addChild(_local2); sprite.addChild(_local1); return (_local1); } private function tweenFinished(_arg1:TweenEvent):void{ } public function get score():int{ return (__score); } public function set score(_arg1:int):void{ lastScore = __score; __score = _arg1; txtScore.text = String(__score); txtScore.alpha = 0.1; TweenMax.to(txtScore, 0.8, {alpha:1}); } private function create3DEnvironment():void{ scene = new Scene3D(); sprite = new Sprite3D(); this.addChild(scene); scene.addChild(sprite); sprite.rotationX = -30; scene.x = 325; scene.y = 270; sprite.x = -325; sprite.y = -270; } } }//package
Section 34
//btnMenu (btnMenu) package { import flash.display.*; public dynamic class btnMenu extends SimpleButton { } }//package
Section 35
//btnUndo (btnUndo) package { import flash.events.*; import five3D.display.*; import five3D.typography.*; import card3d.*; public class btnUndo extends DynamicMenu { private var __enabled:Boolean;// = true private var __color:int;// = 8161905 private var __text:String;// = "" public function btnUndo(_arg1:Number, _arg2:Number, _arg3:String){ __text = _arg3; super(_arg1, _arg2, _arg3); drawStroke(0xFFFFFF); drawZone(); } override public function set enabled(_arg1:Boolean):void{ alpha = (0.3 + Number(_arg1)); __enabled = _arg1; } override public function get enabled():Boolean{ return (__enabled); } override public function onClick(_arg1:Event):void{ } override public function zoneRollOverHandler(_arg1:MouseEvent):void{ __letter.rotationX = 20; } private function drawZone():void{ __zone.graphics3D.clear(); __zone.graphics3D.beginFill(0xDDDDDD, 0); __zone.graphics3D.drawRoundRect(-40, -20, 80, 40, 20, 20); __zone.graphics3D.endFill(); } override public function createLetter():void{ __letter = new DynamicText3D(ArialRoundedMTBold); __letter.color = __color; __letter.size = 25; __letter.text = __text; __letter.x = (25 - (__letter.textWidth / 2)); __letter.y = (-3 - (__letter.size / 2)); __symbol.addChild(__letter); } override public function rollOutHandler(_arg1:MouseEvent):void{ __letter.rotationX = 0; filters = null; } private function drawStroke(_arg1:int=0xFFFFFF):void{ __stroke.graphics3D.clear(); __stroke.graphics3D.beginFill(_arg1, 0); __stroke.graphics3D.drawRoundRect((-(__parameters.width) / 2), (-(__parameters.height) / 2), __parameters.width, __parameters.height, 0, 0); __stroke.graphics3D.drawRoundRect(((-(__parameters.width) / 2) + __strokethickness), ((-(__parameters.height) / 2) + __strokethickness), (__parameters.width - (__strokethickness * 2)), (__parameters.height - (__strokethickness * 2)), (0 - (__strokethickness * 2)), (0 - (__strokethickness * 2))); __stroke.graphics3D.endFill(); } } }//package
Section 36
//ButtonClick (ButtonClick) package { import flash.media.*; public dynamic class ButtonClick extends Sound { } }//package
Section 37
//Card (Card) package { import flash.display.*; import flash.events.*; import gs.*; import flash.filters.*; import five3D.display.*; import card3d.*; public class Card extends Sprite3D { public var card3D:Card3d; public var placementOld:String; public var posY:int; public var posX:int; public var posOldY:int; public var placementIndexOld:int; public var posOldX:int; public var active:Boolean; public var numRunCnt:Number; public var numFilter:Number;// = 0 public var shape:Sprite3D; public var topPyramid:Boolean; public var depth:int; public var step:int; public var colour:String; private var _isWildCard:Boolean;// = false public var depthOld:int; public var placement:String; public var back:Boolean; public var _b:CardBack; public var _c:DisplayObject; public var value:int;// = 0 public static var isTween:Boolean = false; public static var cardHolder:CardHolder; public static var roundColors:Array = [0xFFFFFF, 15725757, 12448962, 12315639, 16235464, 13626056, 13289451, 11184075, 2762587, 13289243, 13244395, 2758635]; public function Card(_arg1:String, _arg2:Object){ card3D = new Card3d(0, 0, {width:50, height:80, ghost:true, type:_arg2.letter, letter:_arg2.digit, isWild:isWildCard}); this.addChild(card3D); createZone(); name = _arg1; buttonMode = true; showCard(false); this.addEventListener(MouseEvent.CLICK, releaseCard); this.addEventListener(MouseEvent.MOUSE_OVER, onMouseOver); this.addEventListener(MouseEvent.MOUSE_OUT, onMouseOut); this.mouseChildren = false; } private function drawZone():void{ var _local1:Object = {width:40, height:70}; shape.graphics3D.clear(); shape.graphics3D.beginFill(0xFFFFFF, 1); shape.graphics3D.drawRoundRect((-(_local1.width) / 2), (-(_local1.height) / 2), _local1.width, _local1.height, 16, 16); shape.graphics3D.endFill(); shape.alpha = 0; } public function set isWildCard(_arg1:Boolean):void{ if (_arg1){ card3D.__backward.color = 10064127; }; _isWildCard = _arg1; } public function showCard(_arg1:Boolean=true):void{ if (_arg1){ if ((((placement == "pyramid")) && ((cardHolder.disable == false)))){ SoundController.sndTurnCard.play(); }; card3D.setBack(false, (placement == "drawpile")); back = false; } else { card3D.setBack(true); back = true; }; } private function releaseCard(_arg1):void{ var _local2:int; var _local3:int; if (cardHolder.arrPyramid.length == 0){ return; }; if (!active){ SoundController.sndUnAccessibleCard.play(); return; }; if (isWildCard){ cardHolder.packingCard(this); SoundController.sndWildCard.play(); }; if (((back) && ((placement == "drawpile")))){ showCard(true); Game.GAME._mcBG.addRunCount(-1); cardHolder.packingCard(this); cardHolder.arrDraw.splice((cardHolder.arrDraw.length - 1), 1); if (cardHolder.arrDraw.length > 0){ cardHolder.arrDraw[(cardHolder.arrDraw.length - 1)].active = true; }; numRunCnt = 0; SoundController.sndCardClick.play(); } else { if (((!(back)) && ((placement == "pyramid")))){ if (cardHolder.checkValid(this, cardHolder.arrPack[(cardHolder.arrPack.length - 1)])){ numRunCnt++; if (topPyramid){ }; SoundController.sndCardClick.play(); cardHolder.packingCard(this); Game.GAME._mcBG.addRunCount(1); _local2 = (cardHolder.arrPyramid.length - 1); while (_local2 >= 0) { if (this == cardHolder.arrPyramid[_local2]){ cardHolder.arrPyramid.splice(_local2, 1); this.placementIndexOld = _local2; break; }; _local2--; }; _local3 = (int(Game.GAME._mcBG.tfCardRun.text) * 200); if (topPyramid){ _local3 = (_local3 + 10000); if (this.x < 230){ Game.GAME._mcBG.castle_mc.castle_left.visible = true; SoundController.sndAllPilesRemoved.play(); } else { if (this.x > 400){ Game.GAME._mcBG.castle_mc.castle_right.visible = true; SoundController.sndAllPilesRemoved.play(); } else { Game.GAME._mcBG.castle_mc.castle_center.visible = true; SoundController.sndAllPilesRemoved.play(); }; }; }; Game.GAME._mcBG.score = (Game.GAME._mcBG.score + _local3); cardHolder.checkActiveCards(); }; }; }; } public function getOutOfStack():void{ TweenMax.to(this, 1, {alpha:0, z:300, delay:0.4, x:520, y:300}); } public function get isWildCard():Boolean{ return (_isWildCard); } public function get _width():Number{ return (50); } private function onUpdateTween():void{ if (active == false){ return; }; this.filters = [new GlowFilter((3355647 * int(active)), _c["numFilter"], 6, 6, (int(active) + 1))]; } private function onReachedPlace():void{ cardHolder.checkNextStep(); this.filters = []; } public function get _height():Number{ return (75); } private function createZone():void{ shape = new Sprite3D(); addChild(shape); drawZone(); } private function onReturned():void{ card3D.rotationX = 0; card3D.z = 0; trace(4564654); this.depth = this.depthOld; if (!isWildCard){ }; cardHolder.checkActiveCards(); if (this.placement == "drawpile"){ showCard(false); }; } private function onMouseOut(_arg1:MouseEvent):void{ card3D.filters = []; if (active == false){ return; }; if (((!(cardHolder.checkValid(this, cardHolder.arrPack[(cardHolder.arrPack.length - 1)]))) && (!((placement == "drawpile"))))){ return; }; card3D.rotationX = 0; TweenMax.to(card3D, 0.15, {rotationX:0, z:0}); } public function gotoStack():void{ if (y < 400){ TweenMax.to(this, 1, {x:CardHolder.numDrawX, y:CardHolder.numDrawY, z:0, rotationX:0, rotationZ:0, rotationY:0, onComplete:onReachedPlace, bezierThrough:[{z:-100, rotationX:-10, rotationZ:Utils.getAverageValue(10)}, {z:-140, rotationX:50, rotationZ:Utils.getAverageValue(30)}]}); } else { rotationY = 180; TweenMax.to(this, 0.8, {x:CardHolder.numDrawX, y:CardHolder.numDrawY, z:0, rotationY:0, rotationZ:0, rotationX:0, onComplete:onReachedPlace, bezierThrough:[{z:-85, rotationZ:20}, {z:-80, rotationZ:20}]}); }; isTween = true; } public function goBack(_arg1:Card):void{ TweenLite.to(this, 0.3, {x:this.posX, y:this.posY, rotationX:0, onComplete:onReturned}); TweenMax.to(_arg1, 0.8, {alpha:1, z:0, delay:0.4, x:467, y:436, rotationX:0}); } override public function set x(_arg1:Number):void{ super.x = _arg1; } private function onMouseOver(_arg1:MouseEvent):void{ if (active == false){ return; }; if (((!(cardHolder.checkValid(this, cardHolder.arrPack[(cardHolder.arrPack.length - 1)]))) && (!((placement == "drawpile"))))){ return; }; TweenMax.to(card3D, 0.1, {rotationX:10, z:5}); card3D.filters = [new GlowFilter(Card.roundColors[Game._nRoundNumber], 0.7)]; } } }//package
Section 38
//CardBack (CardBack) package { import flash.display.*; public class CardBack extends MovieClip { public var mcBugless:Sprite; } }//package
Section 39
//CardClick (CardClick) package { import flash.media.*; public dynamic class CardClick extends Sound { } }//package
Section 40
//CardHolder (CardHolder) package { import flash.display.*; import flash.events.*; import gs.*; import five3D.display.*; public class CardHolder { public var arrCards:Array; private var numPyramidXShift:Number; private var lastDroped:Number;// = 0 private var scene:Scene3D; public var arrSuit:Array; public var mcCardHolder:Sprite; private var numPyramidYShift:Number; private var numDrawOpenShift:Number;// = 0 private var mc:Sprite; public var arrPack:Array; private var numPyramidX:Number; public var arrPyramid:Array; private var numCardWidth:int;// = 55 private var numPyramidY:Number; private var numLastDrawX:Number; private var sprite:Sprite3D; private var lastCard:Card; public var arrDraw:Array; public var arrMove:Array; private var startMenu:Sprite3D; private var _Game:Game; private var numDrawCloseShift:Number;// = 10 private var arrKeys:Array; public var disable:Boolean;// = true public var wildCard:Card; private var numCardHeight:int;// = 80 public static var numDrawX:int = 467; public static var numDrawY:int = 436; public function CardHolder(_arg1:Sprite, _arg2:Game){ arrKeys = new Array(); arrSuit = new Array("c", "d", "h", "s"); arrDraw = new Array(); arrCards = new Array(); arrPack = new Array(); arrPyramid = new Array(); arrMove = new Array(); numPyramidX = (170 + (numCardWidth / 2)); numPyramidY = (55 + (numCardHeight / 2)); numPyramidXShift = (numCardWidth - 2); numPyramidYShift = (numCardHeight / 2); super(); _Game = _arg2; OverwriteManager.init(); OverwriteManager.mode = OverwriteManager.NONE; mcCardHolder = _arg1; Card.cardHolder = this; numPyramidX = (60 + (numCardWidth / 2)); numPyramidY = (125 + (numCardHeight / 2)); numPyramidXShift = (numCardWidth + 2); numPyramidYShift = ((numCardHeight / 2) + 1); init3dHolder(); createDeck(); shuffleDeck(); arrangeCards(); spreadCard(); alignDrawPile(); } public function checkNextStep():void{ if (arrDraw.length == 0){ _Game._mcBG._sbtTakePoints.visible = true; }; if (arrPyramid.length > 0){ return; }; if (arrPyramid.length == 0){ _Game._mcBG._sbtTakePoints.visible = false; _Game.showNewRoundPanel(); return; }; } private function arrangeCards():void{ var _local6:Card; var _local7:int; var _local8:Card; disable = true; var _local1:int; while (_local1 < 23) { _local6 = arrCards[_local1]; _local6.posX = (((numDrawX - 70) - numCardWidth) - ((23 - _local1) * numDrawCloseShift)); _local6.posY = numDrawY; _local6.placement = "drawpile"; _local6.x = _local6.posX; _local6.y = _local6.posY; arrDraw[_local1] = arrCards[_local1]; _local1++; }; arrDraw[22].active = true; arrCards[23].active = true; arrCards[23].posX = numDrawX; arrCards[23].posY = numDrawY; arrCards[23].placement = "pack"; arrCards[23].showCard(true); arrCards[23].x = arrCards[23].posX; arrCards[23].y = arrCards[23].posY; arrCards[23].depth = 100; arrPack[0] = arrCards[23]; var _local2 = 24; var _local3:int; var _local4:int; var _local5:int; while (_local5 < 4) { _local3 = (numPyramidX + (((3 - _local5) * numPyramidXShift) / 2)); _local7 = 0; while (_local7 < ((_local5 * 3) + 3)) { _local8 = arrCards[_local2]; _local8.posX = ((_local7)==0) ? _local3 : (arrCards[(_local2 - 1)].posX + numPyramidXShift); if (_local5 == 0){ arrCards[_local2].posX = (arrCards[_local2].posX + ((_local7)>0) ? (2 * numPyramidXShift) : 0); arrCards[_local2].topPyramid = true; } else { if (_local5 == 1){ arrCards[_local2].posX = (arrCards[_local2].posX + ((((_local7 > 0)) && (((_local7 % 2) == 0)))) ? numPyramidXShift : 0); }; }; arrCards[_local2].posY = ((_local7)==0) ? (numPyramidY + Math.round((_local5 * numPyramidYShift))) : arrCards[(_local2 - 1)].posY; arrCards[_local2].placement = "pyramid"; if (_local5 == 3){ arrCards[_local2].showCard(true); arrCards[_local2].active = true; }; arrCards[_local2].x = arrCards[_local2].posX; arrCards[_local2].y = arrCards[_local2].posY; arrPyramid[_local4] = arrCards[_local2]; _local4++; var _temp1 = _local2; _local2 = (_local2 + 1); if (_temp1 >= (arrCards.length - 1)){ break; }; _local7++; }; _local5++; }; } private function dropCard(_arg1):void{ if (lastDroped == Math.floor(lastDroped)){ sprite.setChildIndex(arrCards[lastDroped], lastDroped); TweenMax.from(arrCards[lastDroped], 1, {onComplete:onFinishHandler, onCompleteParams:[arrCards[lastDroped]], rotationX:80, z:-300, y:-200, bezierThrough:[{z:50, rotationX:100}]}); arrCards[lastDroped].visible = true; }; lastDroped = (lastDroped + 1); if (lastDroped >= 52){ mcCardHolder.removeEventListener(Event.ENTER_FRAME, dropCard); addWildCard(); _Game._mcTimer.startNewCountDown(_Game._nRoundTime); _Game.enableMenu(true); disable = false; TweenLite.to(arrDraw[(arrDraw.length - 1)], 1, {x:400}); arrCards[23].card3D.rotationX = 10; }; } private function onFinishHandler(_arg1:Card):void{ _arg1.card3D.z = 0; } private function spreadCard():void{ mcCardHolder.addEventListener(Event.ENTER_FRAME, dropCard); SoundController.sndNewDeal.play(); disable = true; trace("set disable"); } private function init3dHolder(){ scene = new Scene3D(); sprite = new Sprite3D(); mcCardHolder.addChild(scene); scene.addChild(sprite); sprite.rotationX = -30; scene.x = 325; scene.y = 270; sprite.x = -325; sprite.y = -270; } public function playAgain():void{ Game.isPlayAgain = true; mcCardHolder.removeEventListener(Event.ENTER_FRAME, dropCard); lastCard = null; _Game.enableUndo(false); _Game.enableMenu(false); arrPack.splice(0); arrPack = new Array(); createDeck(); wildCard.x = 1000; var _local1:int; while (_local1 < arrCards.length) { arrCards[_local1].showCard(false); arrCards[_local1].numFilter = 0; arrCards[_local1].depth = _local1; arrCards[_local1].x = 0; arrCards[_local1].y = 0; arrCards[_local1].z = 0; arrCards[_local1].card3D.rotationX = 0; arrCards[_local1].alpha = 1; arrCards[_local1].card3D.__backward.color = Card.roundColors[Game._nRoundNumber]; _local1++; }; trace(Game._nRoundNumber, Game._nRoundNumber, Game._nRoundNumber); shuffleDeck(); arrangeCards(); spreadCard(); alignDrawPile(); } private function addWildCard():void{ if (!Game.isPlayAgain){ wildCard = new Card("WildCard", {letter:"", digit:""}); }; wildCard.isWildCard = true; sprite.addChild(wildCard); wildCard.value = 0; wildCard.active = true; wildCard.topPyramid = false; wildCard.depth = 0; wildCard.placement = "pack"; wildCard.x = 576; wildCard.z = 0; wildCard.y = (numDrawY - 4); wildCard.alpha = 1; wildCard.step = 0; wildCard.back = false; wildCard.rotationX = -5; TweenMax.from(wildCard, 1, {z:-300, rotationX:80}); } private function shuffleDeck():void{ var _local1:Card; var _local2:int; Utils.numRandomSeed = Math.floor((Math.random() * 200)); var _local3:int; while (_local3 < arrCards.length) { _local1 = arrCards[_local3]; _local2 = Utils.getRandomValue(arrCards.length); arrCards[_local3] = arrCards[_local2]; arrCards[_local2] = _local1; arrCards[_local3].depth = _local3; sprite.swapChildren(arrCards[_local3], arrCards[_local2]); arrCards[_local2].depth = _local2; _local3++; }; } private function alignDrawPile():void{ var _local1:int; while (_local1 < (arrDraw.length - 2)) { arrCards[_local1].alpha = (1 / ((arrDraw.length - 2) - _local1)); _local1++; }; } private function createDeck():void{ var _local4:int; var _local5:Card; var _local1:int; var _local2 = ""; lastDroped = 0; var _local3 = 1; while (_local3 <= 13) { _local4 = 0; while (_local4 < arrSuit.length) { _local2 = (arrSuit[_local4] + _local3); if (!Game.isPlayAgain){ _local5 = new Card(_local2, {letter:arrSuit[_local4], digit:_local3}); sprite.addChild(_local5); arrCards[_local1] = _local5; } else { _local5 = (arrCards[_local1] as Card); _local5.z = 0; }; _local5.colour = ((((arrSuit[_local4] == "d")) || ((arrSuit[_local4] == "h")))) ? "red" : "black"; if (!Game.isPlayAgain){ _local5.value = _local3; }; _local5.active = false; _local5.topPyramid = false; _local5.depth = 0; _local5.placement = "pack"; _local5.x = numDrawX; _local5.y = numDrawY; _local5.posX = numDrawX; _local5.posY = numDrawY; _local5.step = 0; _local5.back = true; _local5.visible = false; _local1++; _local4++; }; _local3++; }; } public function checkActiveCards():void{ var _local1:Boolean; var _local3:int; var _local2:int = (arrPyramid.length - 1); while (_local2 >= 0) { _local1 = false; _local3 = (arrPyramid.length - 1); while (_local3 >= 0) { if (((!((_local2 == _local3))) && (arrPyramid[_local2].shape.hitTestObject(arrPyramid[_local3].shape)))){ if ((((arrPyramid[_local3].depth > arrPyramid[_local2].depth)) && ((arrPyramid[_local3].depth < 100)))){ _local1 = true; break; }; }; _local3--; }; if (((!(_local1)) && (!(arrPyramid[_local2].active)))){ arrPyramid[_local2].active = true; arrPyramid[_local2].showCard(true); } else { if (((_local1) && (arrPyramid[_local2].active))){ arrPyramid[_local2].active = false; arrPyramid[_local2].showCard(false); }; }; _local2--; }; } public function packingCard(_arg1:Card):void{ lastCard = _arg1; lastCard.posOldX = _arg1.x; lastCard.posOldY = _arg1.y; lastCard.placementOld = _arg1.placement; lastCard.depthOld = _arg1.depth; if ((((_arg1.placement == "drawpile")) && ((arrDraw.length > 1)))){ TweenLite.to(arrDraw[(arrDraw.length - 2)], 1, {x:400}); numLastDrawX = arrDraw[(arrDraw.length - 2)].x; }; _arg1.posY = numDrawY; _arg1.posX = (numDrawX - (arrPack.length * numDrawOpenShift)); arrPack[(arrPack.length - 1)].active = false; if (_arg1.placement == "drawpile"){ alignDrawPile(); }; _arg1.placement = "pack"; if (arrPack[(arrPack.length - 1)] != undefined){ arrPack[(arrPack.length - 1)].getOutOfStack(); }; arrPack.push(_arg1); arrPack[(arrPack.length - 1)].depth = (arrPack[(arrPack.length - 2)].depth + 1); sprite.setChildIndex(arrPack[(arrPack.length - 1)], (sprite.numChildren - 1)); arrMove.push(_arg1); _arg1.gotoStack(); _Game.enableUndo(true); } public function checkValid(_arg1:Card, _arg2:Card):Boolean{ if (((_arg1.isWildCard) || (_arg2.isWildCard))){ return (true); }; if ((((Math.abs((_arg1.value - _arg2.value)) == 1)) || ((Math.abs((_arg1.value - _arg2.value)) == 12)))){ return (true); }; return (false); } public function returningCard():void{ lastCard.posY = lastCard.posOldY; lastCard.posX = (lastCard.posOldX - (arrPack.length * numDrawOpenShift)); arrPack.pop(); if (lastCard.placementOld == "drawpile"){ if (arrDraw.length > 0){ arrDraw[(arrDraw.length - 1)].active = false; }; arrDraw.push(lastCard); arrDraw[(arrDraw.length - 1)].active = true; if (arrDraw[(arrDraw.length - 2)] != undefined){ TweenLite.to(arrDraw[(arrDraw.length - 2)], 1, {x:numLastDrawX}); }; }; if (lastCard.placementOld == "pyramid"){ arrPyramid.splice(lastCard.placementIndexOld, 0, lastCard); }; lastCard.placement = lastCard.placementOld; arrMove.push(lastCard); if (!lastCard.isWildCard){ _Game._mcBG.returnScore(); }; lastCard.goBack(arrPack[(arrPack.length - 1)]); _Game.enableUndo(false); } } }//package
Section 41
//Game (Game) package { import flash.display.*; import flash.events.*; import five3D.display.*; import mochi.*; public class Game { private var _nTimerPause:Number;// = 0 private var scene:Scene3D; public var _mcTimer:TimerClass; private var _mcNextPanel:NextRoundPanel; private var _mcCardContainer:Sprite; private var _bGameInPause:Boolean; private var _mcMenu:Menu; public var _mcBG:BackGround; private var _root:MovieClip; private var sprite:Sprite3D; public var _nRoundTime:Number;// = 120 private var isEnd:Boolean;// = false public var _nFullTimeBonus:int;// = 120 private var _mcOverPanel:GameOverPanel; public var _btMenu:btnUndo; private var _nRoundScore:Number; public var _btUndo:btnUndo; private var _cardHolder:CardHolder; public static var isPlayAgain:Boolean = false; public static var GAME; public static var _nRoundNumber:int; public function Game(_arg1:MovieClip){ GAME = this; _root = _arg1; create3DEnvironment(); _btUndo = new btnUndo(500, 340, "undo"); _btUndo.rotationX = -30; sprite.addChild(_btUndo); enableUndo(false); _btMenu = new btnUndo(34, 15, "menu"); _btMenu.rotationX = -30; sprite.addChild(_btMenu); _mcCardContainer = new Sprite(); _root.addChild(_mcCardContainer); _mcBG = new BackGround(); _root.addChildAt(_mcBG, 0); _mcBG._sbtTakePoints.addEventListener(MouseEvent.CLICK, showGameOverPanel); _mcTimer = _mcBG.mcTimer; enableMenu(false); _bGameInPause = false; startGame(); } private function pauseGame(_arg1:Boolean):void{ if (_arg1){ _bGameInPause = true; _nTimerPause = _mcTimer.getTime(); _mcTimer.stopTimer(); } else { _bGameInPause = false; _mcTimer.startNewCountDown(_nTimerPause); }; } public function enableMenu(_arg1:Boolean):void{ if (_arg1){ if (_btMenu.enabled){ return; }; _btMenu.addEventListener(MouseEvent.CLICK, onMenuClicked); _btMenu.enabled = true; _mcBG._sbtTakePoints.enabled = true; } else { _btMenu.removeEventListener(MouseEvent.CLICK, onMenuClicked); _btMenu.enabled = false; _mcBG._sbtTakePoints.enabled = false; }; } public function enableUndo(_arg1:Boolean):void{ if (_arg1){ if (_btUndo.enabled){ return; }; _btUndo.enabled = true; _btUndo.addEventListener(MouseEvent.CLICK, onUndoClicked); } else { _btUndo.enabled = false; _btUndo.removeEventListener(MouseEvent.CLICK, onUndoClicked); }; } private function showHighScore(_arg1:MouseEvent):void{ SoundController.sndButtonClick.play(); _mcOverPanel.hideMe(); HighScorePanel.saveNewUser(_mcOverPanel.tfName.text, _mcBG.score); _mcOverPanel._smcHigh.init("over"); _mcOverPanel._smcHigh.visible = true; _mcOverPanel._smcHigh._sbtOnlineSend.visible = true; _mcOverPanel._smcHigh._sbtOnline.visible = false; _mcOverPanel._smcHigh._sbtOnlineSend.addEventListener(MouseEvent.CLICK, sendHighScore); _mcOverPanel._smcHigh._sbtBack.addEventListener(MouseEvent.CLICK, showStartPanelFromEnd); _mcOverPanel._sbtOK.removeEventListener(MouseEvent.CLICK, showHighScore); _mcOverPanel._sbtOK.enabled = false; } public function playAgain():void{ _mcBG.score = 0; _mcBG.tfCardRun.text = "0"; _cardHolder.playAgain(); isEnd = false; _bGameInPause = false; _nRoundNumber = 1; _mcBG.tfRoundNumber.text = _nRoundNumber.toString(); _mcTimer.setTime(0); _mcBG.invisibleCastle(); } public function allSoundsLoaded(_arg1){ } public function showStartPanelFromEnd(_arg1:MouseEvent=null):void{ SoundController.sndButtonClick.play(); if (_mcOverPanel){ _root.removeChild(_mcOverPanel); }; _root.showStartPanel(); } private function onUndoClicked(_arg1:MouseEvent):void{ SoundController.sndButtonClick.play(); _cardHolder.returningCard(); } public function functionsFor4Frame():void{ _root.removeChild(_mcOverPanel); _root.showStartPanel(); } public function showGameOverPanel(_arg1:MouseEvent=null):void{ _mcOverPanel = new GameOverPanel(); _mcOverPanel.noHigh.visible = false; _mcOverPanel.tfName.text = HighScorePanel.showLastTypedName(); _mcOverPanel._stxScore.text = _mcBG.score.toString(); if (_root.getMinScore() > _mcBG.score){ _mcOverPanel.noHigh.visible = true; _mcOverPanel.noHigh._stxScore.text = _mcBG.score.toString(); _mcOverPanel.noHigh._sbtMainMenu.addEventListener(MouseEvent.CLICK, showStartPanelFromEnd); } else { _mcOverPanel._sbtOK.addEventListener(MouseEvent.CLICK, showHighScore); _mcOverPanel._sbtMainMenu.addEventListener(MouseEvent.CLICK, showStartPanelFromEnd); }; _root.addChild(_mcOverPanel); SoundController.sndGameOver.play(); SoundController.sndButtonClick.play(); _mcTimer.stopTimer(); } public function startNewRound(_arg1:MouseEvent):void{ isEnd = false; SoundController.sndButtonClick.play(); _mcNextPanel._sbtNextRound.removeEventListener(MouseEvent.CLICK, startNewRound); _root.removeChild(_mcNextPanel); _cardHolder.playAgain(); _nRoundNumber++; _mcBG.tfRoundNumber.text = _nRoundNumber.toString(); _mcTimer.setTime(0); _mcBG.invisibleCastle(); } public function showNewRoundPanel():void{ if (isEnd){ return; }; isEnd = true; _mcNextPanel = new NextRoundPanel(); _mcNextPanel._sbtNextRound.addEventListener(MouseEvent.CLICK, startNewRound); _root.addChild(_mcNextPanel); var _local1:Number = (_cardHolder.arrDraw.length * 1000); var _local2:Number = (_nRoundNumber * 1000); var _local3:Number = (_cardHolder.wildCard.active) ? 5000 : 0; _nRoundScore = ((((_mcTimer._nBonusLeft * 100) + _local1) + _local2) + _local3); _mcBG.score = (_mcBG.score + _nRoundScore); _mcNextPanel._stxTimeBonus.text = (_mcTimer._nBonusLeft * 100).toString(); _mcNextPanel._stxDeckBonus.text = _local1.toString(); _mcNextPanel._stxRoundBonus.text = _local2.toString(); _mcNextPanel._stxWildBonus.text = _local3.toString(); _mcNextPanel._stxScore.text = _mcBG.score.toString(); _mcNextPanel.showBonuses(); _mcTimer.stopTimer(); enableMenu(false); enableUndo(false); } public function timeOut():void{ } private function sendHighScore(_arg1:MouseEvent):void{ SoundController.sndButtonClick.play(); MochiScores.showLeaderboard({boardID:"14d08e3398e82493", score:_mcBG.score, name:_mcOverPanel.tfName.text, onClose:mochiSent}); } public function onMenuClicked(_arg1:MouseEvent=null):void{ pauseGame(!(_bGameInPause)); SoundController.sndButtonClick.play(); if (_bGameInPause){ _mcMenu = new Menu(); _mcMenu.init(this); _root.addChild(_mcMenu); } else { _root.removeChild(_mcMenu); }; } private function create3DEnvironment():void{ scene = new Scene3D(); sprite = new Sprite3D(); _root.addChild(scene); scene.addChild(sprite); scene.x = 370; sprite.x = -(scene.x); scene.y = 270; sprite.y = -270; } public function startGame():void{ isEnd = false; _cardHolder = new CardHolder(_mcCardContainer, this); _nRoundNumber = 1; _mcBG.tfRoundNumber.text = _nRoundNumber.toString(); } public function showStartPanelFromMenu(_arg1:MouseEvent=null):void{ SoundController.sndButtonClick.play(); if (_mcMenu){ _root.removeChild(_mcMenu); }; _root.showStartPanel(); } public function mochiSent():void{ trace("SENT"); _mcOverPanel._smcHigh._sbtOnlineSend.visible = false; _mcOverPanel._smcHigh._sbtOnline.visible = true; _mcOverPanel._smcHigh._sbtOnlineSend.removeEventListener(MouseEvent.CLICK, sendHighScore); } } }//package
Section 42
//GameOver (GameOver) package { import flash.media.*; public dynamic class GameOver extends Sound { } }//package
Section 43
//GameOverPanel (GameOverPanel) package { import flash.display.*; import five3D.display.*; import flash.text.*; import card3d.*; public class GameOverPanel extends MovieClip { public var _sbtOK:DynamicMenu; public var noHigh:MovieClip; private var sprite:Sprite3D; public var _stxScore:TextField; public var tfName:TextField; public var _smcHigh:HighScorePanel; private var scene:Scene3D; public var mcTextStaff:MovieClip; public var _sbtMainMenu:DynamicMenu; public function GameOverPanel(){ create3DEnvironment(); _sbtOK = new DynamicMenu(350, 350, "ok"); _sbtMainMenu = new DynamicMenu(350, 400, "main menu"); sprite.addChild(_sbtOK); sprite.addChild(_sbtMainMenu); } private function create3DEnvironment():void{ scene = new Scene3D(); sprite = new Sprite3D(); this.addChild(scene); scene.addChild(sprite); scene.x = 325; scene.y = 270; sprite.x = -325; sprite.y = -270; } public function setMinScore(_arg1:Number):void{ } public function hideMe():void{ _sbtOK.visible = false; _sbtMainMenu.visible = false; _stxScore.visible = false; tfName.visible = false; mcTextStaff.visible = false; } } }//package
Section 44
//HighScorePanel (HighScorePanel) package { import flash.display.*; import flash.events.*; import five3D.display.*; import mochi.*; import flash.text.*; import card3d.*; import flash.net.*; public class HighScorePanel extends Sprite { private var scene:Scene3D; public var txtS2:TextField; public var txtS4:TextField; public var txtS6:TextField; public var txtS7:TextField; public var txtS1:TextField; public var txtS9:TextField; public var txtS3:TextField; public var txtS5:TextField; public var txtS8:TextField; public var _sbtOnline:DynamicMenu; private var sprite:Sprite3D; public var txtS10:TextField; public var _sbtBack:DynamicMenu; public var txtP1:TextField; public var txtP2:TextField; public var txtP3:TextField; public var txtP4:TextField; public var txtP5:TextField; public var txtP6:TextField; public var txtP7:TextField; public var txtP8:TextField; public var txtP9:TextField; public var _sbtOnlineSend:DynamicMenu; public var txtP10:TextField; private static var _soData:SharedObject; private static var _soLastScoreData:SharedObject; public function HighScorePanel(){ visible = false; create3DEnvironment(); _sbtOnline = new DynamicMenu(400, 400, "online leaders"); _sbtBack = new DynamicMenu(90, 400, "back"); _sbtOnlineSend = new DynamicMenu(400, 400, "online leaders"); sprite.addChild(_sbtBack); sprite.addChild(_sbtOnline); sprite.addChild(_sbtOnlineSend); _sbtOnlineSend.visible = false; } public function init(_arg1:String):void{ if (_arg1 == "start"){ _sbtBack.addEventListener(MouseEvent.CLICK, onCloseHigh); }; _sbtOnline.addEventListener(MouseEvent.CLICK, onShowOnline); readSO(_arg1); } private function onCloseOnline():void{ } private function onCloseHigh(_arg1:MouseEvent):void{ SoundController.sndButtonClick.play(); visible = false; dispatchEvent(new Event("CLOSE")); } private function create3DEnvironment():void{ scene = new Scene3D(); sprite = new Sprite3D(); this.addChild(scene); scene.addChild(sprite); } private function onShowOnline(_arg1:MouseEvent):void{ SoundController.sndButtonClick.play(); MochiScores.showLeaderboard({boardID:"14d08e3398e82493", onClose:onCloseOnline}); } public function readSO(_arg1:String):void{ var _local3:String; var _local4:int; var _local8:Object; var _local9:TextField; var _local10:TextField; _soData = SharedObject.getLocal("LocalScoreData"); _soLastScoreData = SharedObject.getLocal("LastScoreData"); var _local2:Array = new Array(); for (_local3 in _soData.data) { _local8 = {n:_local3, s:_soData.data[_local3]}; if (_local3.indexOf("^") != -1){ _local8.n = _local3.substr(0, _local3.indexOf("^")); }; _local2.push(_local8); trace([_local8.n, _local8.s]); }; _local2.sortOn("s", Array.NUMERIC); _local2.reverse(); _local4 = ((_local2.length)<10) ? _local2.length : 10; var _local5:int; while (_local5 < _local4) { _local9 = this[("txtP" + int((_local5 + 1)))]; _local10 = this[("txtS" + int((_local5 + 1)))]; _local9.text = _local2[_local5].n; _local10.text = _local2[_local5].s; _local5++; }; var _local6:* = parent; var _local7:* = ((_local2.length)<10) ? 0 : _local2[9].s; _local6.setMinScore(Number(_local7)); if (_arg1 != "over"){ return; }; if (_soLastScoreData.data.nLastUser != undefined){ _local5 = 0; while (_local5 < _local4) { _local9 = this[("txtP" + int((_local5 + 1)))]; _local10 = this[("txtS" + int((_local5 + 1)))]; if ((((_local9.text == _soLastScoreData.data["nLastUser"])) && ((_local10.text == _soLastScoreData.data["nLastScore"])))){ _local9 = this[("txtP" + int((_local5 + 1)))]; _local10 = this[("txtS" + int((_local5 + 1)))]; _local9.textColor = 10288395; _local10.textColor = 10288395; }; _local5++; }; }; } public static function showLastTypedName():String{ var _local1:String = (_soLastScoreData.data["nLastUser"]) ? _soLastScoreData.data["nLastUser"] : "Player"; return (_local1); } public static function saveNewUser(_arg1:String, _arg2:Number):void{ if (_arg2 == 0){ return; }; var _local3:Number = Math.random(); if (_soData.data[((_arg1 + "^") + _local3)] == undefined){ _soData.data[((_arg1 + "^") + _local3)] = _arg2; }; if (_soData.data[((_arg1 + "^") + _local3)] < _arg2){ _soData.data[((_arg1 + "^") + _local3)] = _arg2; }; _soLastScoreData.data["nLastUser"] = _arg1; _soLastScoreData.data["nLastScore"] = _arg2; _soData.flush(); _soLastScoreData.flush(); } } }//package
Section 45
//Main (Main) package { import flash.display.*; import flash.events.*; import mochi.*; import flash.text.*; public dynamic class Main extends MovieClip { private var startPanel:StartPanel; public var percent:TextField; private var shield:MovieClip; public var soundController:SoundController; public var _mochiads_game_id:String;// = "44d90e5ed2b3d972" private var game:Game; public var minScoreToGet:Number; public function Main():void{ addFrameScript(0, frame1); addEventListener(Event.ENTER_FRAME, oef); } private function ProgressListener(_arg1:ProgressEvent):void{ var _local2:Number = ((_arg1.bytesLoaded / _arg1.bytesTotal) * 100); percent.text = (Math.round(_local2).toString() + "%"); if (_local2 == 100){ loaderInfo.removeEventListener(ProgressEvent.PROGRESS, ProgressListener); MochiAd.showPreGameAd({clip:this, id:"44d90e5ed2b3d972", res:"700x468", background:16777161, color:0xFF8A00, outline:13994812, no_bg:false}); MochiServices.connect("44d90e5ed2b3d972", this); MochiBot.track(this, "78e6533c"); }; } public function setMinScore(_arg1:Number):void{ minScoreToGet = _arg1; trace(("setMinScore " + minScoreToGet)); } private function oef(_arg1:Event):void{ if (root.loaderInfo.bytesLoaded == root.loaderInfo.bytesLoaded){ init(); removeEventListener(Event.ENTER_FRAME, oef); MochiAd.showPreGameAd({clip:this, id:"44d90e5ed2b3d972", res:"700x468", background:16777161, color:0xFF8A00, outline:13994812, no_bg:false}); MochiServices.connect("44d90e5ed2b3d972", root); MochiBot.track(this, "78e6533c"); }; } public function initGame():void{ removeChild(startPanel); if (!game){ game = new Game(this); } else { game.playAgain(); }; } private function EFlistener(_arg1:Event):void{ if (currentFrame == 3){ stop(); showStartPanel(); removeEventListener(Event.ENTER_FRAME, EFlistener); }; } private function init(_arg1:Event=null):void{ stage.showDefaultContextMenu = false; soundController = new SoundController(); addEventListener(Event.ENTER_FRAME, EFlistener); stop(); } public function getMinScore():Number{ return (minScoreToGet); } function frame1(){ stage.scaleMode = "noScale"; } public function showStartPanel():void{ var _local1:McMask; startPanel = new StartPanel(this); if (!this.mask){ _local1 = new McMask(); addChild(_local1); this.mask = _local1; }; addChild(startPanel); } } }//package
Section 46
//McMask (McMask) package { import flash.display.*; public class McMask extends MovieClip { } }//package
Section 47
//Menu (Menu) package { import flash.display.*; import flash.events.*; import five3D.display.*; import card3d.*; public class Menu extends MovieClip { public var _sbtExit:DynamicMenu; private var sprite:Sprite3D; public var _sbtInstructions:DynamicMenu; private var scene:Scene3D; public var _sbtBack:DynamicMenu; public var _smcInstructions:MovieClip; private var _Game:Game; public var _sbtResume:DynamicMenu; public function Menu(){ _smcInstructions.visible = false; var _local1:SimpleButton = (getChildAt(0) as SimpleButton); _local1.useHandCursor = false; create3DEnvironment(); _sbtResume = new DynamicMenu(350, 200, "resume"); _sbtInstructions = new DynamicMenu(350, 250, "instructions"); _sbtExit = new DynamicMenu(350, 300, "exit to title screen"); _sbtBack = new DynamicMenu(350, 400, "back"); sprite.addChild(_sbtResume); sprite.addChild(_sbtInstructions); sprite.addChild(_sbtExit); sprite.addChild(_sbtBack); _sbtResume.reInitEvents(); _sbtInstructions.reInitEvents(); _sbtExit.reInitEvents(); _sbtBack.reInitEvents(); _sbtBack.rotationX = 30; _sbtBack.visible = false; } private function removeMenu(_arg1:Boolean):void{ _sbtResume.visible = _arg1; _sbtExit.visible = _arg1; _sbtInstructions.visible = _arg1; } private function onInstructionsExit(_arg1:MouseEvent):void{ SoundController.sndButtonClick.play(); _smcInstructions.visible = false; _sbtBack.visible = false; _sbtBack.removeEventListener(MouseEvent.CLICK, onInstructionsExit); removeMenu(true); } public function init(_arg1:Game):void{ _Game = _arg1; _sbtResume.addEventListener(MouseEvent.CLICK, onResume); _sbtExit.addEventListener(MouseEvent.CLICK, onExit); _sbtInstructions.addEventListener(MouseEvent.CLICK, onInstructions); } private function removeListeners():void{ _sbtResume.removeEventListener(MouseEvent.CLICK, onResume); _sbtExit.removeEventListener(MouseEvent.CLICK, onExit); _sbtInstructions.removeEventListener(MouseEvent.CLICK, onInstructions); } private function onResume(_arg1:MouseEvent):void{ SoundController.sndButtonClick.play(); removeListeners(); _Game.onMenuClicked(); } private function onInstructions(_arg1:MouseEvent):void{ SoundController.sndButtonClick.play(); _smcInstructions.visible = true; _sbtBack.visible = true; _sbtBack.addEventListener(MouseEvent.CLICK, onInstructionsExit); removeMenu(false); } private function onExit(_arg1:MouseEvent):void{ SoundController.sndButtonClick.play(); removeListeners(); _Game.showStartPanelFromMenu(); } private function create3DEnvironment():void{ scene = new Scene3D(); sprite = new Sprite3D(); this.addChild(scene); scene.addChild(sprite); sprite.rotationX = -30; scene.x = 325; scene.y = 270; sprite.x = -325; sprite.y = -270; } } }//package
Section 48
//MFNWLogo (MFNWLogo) package { import flash.display.*; import flash.events.*; import flash.net.*; public class MFNWLogo extends SimpleButton { public function MFNWLogo(){ this.addEventListener(MouseEvent.CLICK, onMouseClick); this.mouseEnabled = true; } private function onMouseClick(_arg1:MouseEvent){ var _local2:URLRequest = new URLRequest("http://www.makeflashnotwar.com"); navigateToURL(_local2); } } }//package
Section 49
//NewDeal (NewDeal) package { import flash.media.*; public dynamic class NewDeal extends Sound { } }//package
Section 50
//NextRoundPanel (NextRoundPanel) package { import flash.display.*; import flash.events.*; import gs.*; import five3D.display.*; import five3D.typography.*; import card3d.*; public class NextRoundPanel extends MovieClip { public var _stxScore:DynamicText3D; public var _stxRoundBonus:DynamicText3D; private var scene:Scene3D; public var _sbtNextRound:DynamicMenu; private var _nTimer:Number; public var _stxTimeBonus:DynamicText3D; public var _stxWildBonus:DynamicText3D; public var _stxDeckBonus:DynamicText3D; public static var sprite:Sprite3D; public function NextRoundPanel(){ create3DEnvironment(); _stxTimeBonus = createScore3DField("Time", 0); _stxWildBonus = createScore3DField("Joker Card", 50); _stxDeckBonus = createScore3DField("Deck", 100); _stxRoundBonus = createScore3DField("Round", 150); _stxScore = createScore3DField("Total Score", 200); _sbtNextRound = new DynamicMenu(400, 220, "play next round"); _sbtNextRound.reInitEvents(); sprite.addChild(_sbtNextRound); _sbtNextRound.visible = false; _stxTimeBonus.visible = false; _stxWildBonus.visible = false; _stxDeckBonus.visible = false; _stxRoundBonus.visible = false; _stxScore.visible = false; } private function create3DEnvironment():void{ scene = new Scene3D(); sprite = new Sprite3D(); this.addChild(scene); scene.addChild(sprite); sprite.rotationX = -30; scene.x = 325; scene.y = 270; sprite.x = -325; sprite.y = -170; } private function createScore3DField(_arg1:String, _arg2:int):DynamicText3D{ var _local3:* = new DynamicText3D(ArialRoundedMTBold); var _local4:* = new DynamicText3D(ArialRoundedMTBold); _local4.color = 10084179; _local3.color = 16777028; _local4.size = 30; _local3.size = 20; _local3.text = _arg1; _local4.x = 420; _local3.x = (440 - _local3.textWidth); _local4.y = ((_arg2 / 1.5) - 5); _local3.y = (_arg2 / 1.5); sprite.addChild(_local4); sprite.addChild(_local3); return (_local4); } public function enterFrameListener(_arg1:Event):void{ _nTimer--; if (_nTimer == 75){ showText(_stxTimeBonus); }; if (_nTimer == 60){ showText(_stxWildBonus); }; if (_nTimer == 45){ showText(_stxDeckBonus); }; if (_nTimer == 30){ showText(_stxRoundBonus); }; if (_nTimer == 15){ showText(_stxScore); }; if (_nTimer == 0){ _sbtNextRound.visible = true; this.removeEventListener(Event.ENTER_FRAME, enterFrameListener); }; } public function showBonuses():void{ _nTimer = 85; this.addEventListener(Event.ENTER_FRAME, enterFrameListener); TweenMax.from(sprite, 1, {x:1000}); } private function showText(_arg1:DynamicText3D){ _arg1.visible = true; TweenMax.from(_arg1, 0.7, {y:-100, z:-300, rotationX:-360}); } } }//package
Section 51
//PileRemoved (PileRemoved) package { import flash.media.*; public dynamic class PileRemoved extends Sound { } }//package
Section 52
//Shield (Shield) package { import flash.display.*; public dynamic class Shield extends MovieClip { } }//package
Section 53
//SoundButton (SoundButton) package { import flash.display.*; import flash.events.*; import five3D.display.*; import card3d.*; import flash.net.*; public class SoundButton extends MovieClip { private var _enable:Boolean; private var _soData:SharedObject; public var sprSound:SoundIconu; public function SoundButton(_arg1:Sprite3D){ sprSound = new SoundIconu(20, 40); x = 510; y = -70; _arg1.addChild(sprSound); sprSound.addEventListener(MouseEvent.CLICK, switchSound); readSO(); } private function saveSound(_arg1:Boolean):void{ (_soData.data.sound = _arg1); _soData.flush(); } public function set rotationX(_arg1:Number):void{ sprSound.rotationX = _arg1; } private function set enable(_arg1:Boolean){ sprSound.onClick(); sprSound.isSoundOn = _arg1; _enable = _arg1; onSetSound(_arg1); } private function setSoundOff(_arg1:Event=null):void{ enable = false; sprSound.isSoundOn = false; sprSound.onClick(); } override public function set visible(_arg1:Boolean):void{ super.visible = _arg1; sprSound.visible = _arg1; } private function setSoundOn(_arg1:Event=null):void{ enable = true; SoundController.sndButtonClick.play(); sprSound.isSoundOn = true; sprSound.onClick(); } private function onSetSound(_arg1:Boolean):void{ saveSound(_arg1); (SoundController.enable = _arg1); } override public function set x(_arg1:Number):void{ super.x = _arg1; sprSound.x = _arg1; } private function get enable():Boolean{ return (_enable); } private function readSO():void{ var _local1:*; var _local2:*; _soData = SharedObject.getLocal("soundData"); for (_local1 in _soData.data) { }; _local2 = ((_soData.data.sound)==undefined) ? true : _soData.data.sound; (enable = _local2); } private function switchSound(_arg1:Event):void{ enable = !(enable); SoundController.sndButtonClick.play(); } } }//package
Section 54
//SoundController (SoundController) package { import flash.media.*; public class SoundController { private var indexLoaded:int;// = 0 public static var sndNewDeal:NewDeal; public static var sndUnAccessibleCard:UnAccessibleCard; public static var sndWildCard:WildCardUsed; public static var sndButtonClick:ButtonClick; public static var sndGameOver:GameOver; private static var __enable:Boolean; public static var sndPileRemoved:PileRemoved; public static var sndCardClick:CardClick; public static var sndAllPilesRemoved:AllPilesRemoved; public static var sndTurnCard:TurnCard; public function SoundController(){ init(); } public static function set enable(_arg1:Boolean){ var _local2:SoundTransform = new SoundTransform(); SoundMixer.soundTransform = new SoundTransform(Number(_arg1)); } public static function get enable():Boolean{ return (Boolean(true)); } public static function init():void{ sndPileRemoved = new PileRemoved(); sndAllPilesRemoved = new AllPilesRemoved(); sndCardClick = new CardClick(); sndButtonClick = new ButtonClick(); sndNewDeal = new NewDeal(); sndGameOver = new GameOver(); sndUnAccessibleCard = new UnAccessibleCard(); sndTurnCard = new TurnCard(); sndWildCard = new WildCardUsed(); } } }//package
Section 55
//StartPanel (StartPanel) package { import flash.display.*; import flash.events.*; import gs.*; import five3D.display.*; import five3D.typography.*; import card3d.*; import flash.net.*; public class StartPanel extends MovieClip { private var _mainClass:Main; public var _sbtHigh:DynamicMenu; public var _sbtInstructions:DynamicMenu; private var scene:Scene3D; public var _sbtBack:DynamicMenu; public var _smcInstructions:MovieClip; private var card:Card; public var btnPlayMoreGames:DynamicMenu; public var mcLogo:MovieClip; public var btnGoToWebsite:DynamicMenu; public var _smcSound:SoundButton; public var _smcHighScore:HighScorePanel; public var _sbtPlay:DynamicMenu; private var txtGameName:DynamicText3D; public static var sprite:Sprite3D; public function StartPanel(_arg1:Main){ _mainClass = _arg1; init(); } private function onCloseCredits(_arg1:MouseEvent):void{ SoundController.sndButtonClick.play(); } private function onCloseInst(_arg1:MouseEvent):void{ SoundController.sndButtonClick.play(); _sbtBack.visible = false; _smcInstructions.visible = false; _sbtPlay.visible = true; _sbtHigh.visible = true; _sbtInstructions.visible = !(false); btnGoToWebsite.visible = !(false); btnPlayMoreGames.visible = !(false); _smcSound.visible = !(false); } private function createText(_arg1:int, _arg2:int, _arg3:String):DynamicText3D{ var _local4:DynamicText3D = new DynamicText3D(ArialRoundedMTBold); _local4.color = 0xEEEEEE; _local4.size = 60; _local4.text = _arg3; _local4.x = _arg1; _local4.y = _arg2; _local4.rotationY = -40; sprite.addChild(_local4); return (_local4); } private function onStartGame(_arg1:MouseEvent):void{ SoundController.sndButtonClick.play(); _mainClass.initGame(); } private function init():void{ TweenMax.killAllTweens(); create3DEnvironment(); _sbtPlay = new DynamicMenu(300, 150, "play"); _sbtInstructions = new DynamicMenu(300, 200, "instructions"); _sbtHigh = new DynamicMenu(300, 250, "highscores"); btnGoToWebsite = new DynamicMenu(300, 200, "link to sponsor"); btnPlayMoreGames = new DynamicMenu(300, 250, "play more games"); _sbtBack = new DynamicMenu(430, 400, "back"); sprite.addChild(_sbtBack); _sbtBack.visible = false; _sbtBack.rotationX = -(sprite.rotationX); _sbtBack.rotationY = -(sprite.rotationY); _sbtBack.rotationZ = -(sprite.rotationZ); sprite.addChild(_sbtPlay); sprite.addChild(_sbtInstructions); sprite.addChild(_sbtHigh); DynamicMenu.arrOther = [_sbtPlay, _sbtInstructions, btnGoToWebsite, btnPlayMoreGames, _sbtHigh]; _smcHighScore.init("start"); _smcSound = new SoundButton(sprite); addChild(_smcSound); _smcInstructions.visible = false; _sbtBack.visible = false; _sbtBack.addEventListener(MouseEvent.CLICK, onCloseInst); btnGoToWebsite.addEventListener(MouseEvent.CLICK, goToWebsite); btnPlayMoreGames.addEventListener(MouseEvent.CLICK, playMoreGames); _smcHighScore.addEventListener("CLOSE", onHighClose); mcLogo["btnNav"].addEventListener(MouseEvent.CLICK, navigateToSite); _sbtPlay.addEventListener(MouseEvent.CLICK, onStartGame); _sbtInstructions.addEventListener(MouseEvent.CLICK, onInstructions); _sbtHigh.addEventListener(MouseEvent.CLICK, onHigh); } private function onEF(_arg1:Event):void{ card.rotationX++; card.rotationY++; card.rotationZ--; } private function onInstructions(_arg1:MouseEvent):void{ SoundController.sndButtonClick.play(); _sbtBack.visible = true; _sbtPlay.visible = false; _sbtHigh.visible = false; _sbtInstructions.visible = false; btnGoToWebsite.visible = false; btnPlayMoreGames.visible = false; _smcInstructions.visible = true; _smcSound.visible = false; } private function goToWebsite(_arg1:MouseEvent):void{ SoundController.sndButtonClick.play(); var _local2:URLRequest = new URLRequest("http://www.linktosponsor.com"); navigateToURL(_local2); } public function onHigh(_arg1:MouseEvent):void{ SoundController.sndButtonClick.play(); _smcHighScore.visible = true; _sbtPlay.visible = false; _sbtHigh.visible = false; _sbtInstructions.visible = false; btnGoToWebsite.visible = false; btnPlayMoreGames.visible = false; _smcSound.visible = false; } private function onHighClose(_arg1:Event):void{ _sbtPlay.visible = !(false); _sbtHigh.visible = !(false); _sbtInstructions.visible = !(false); btnGoToWebsite.visible = !(false); btnPlayMoreGames.visible = !(false); _smcSound.visible = !(false); } private function playMoreGames(_arg1:MouseEvent):void{ SoundController.sndButtonClick.play(); var _local2:URLRequest = new URLRequest("http://www.linktosponsor.com"); navigateToURL(_local2); } public function setMinScore(_arg1:Number):void{ _mainClass.setMinScore(_arg1); } private function create3DEnvironment():void{ scene = new Scene3D(); sprite = new Sprite3D(); this.addChild(scene); scene.addChild(sprite); scene.x = 325; scene.y = 400; sprite.x = -400; sprite.y = -400; sprite.z = 300; sprite.rotationX = -30; } private function navigateToSite(_arg1:Event):void{ var _local2:URLRequest = new URLRequest("http://www.makeflashnotwar.com"); navigateToURL(_local2); } private function onCredits(_arg1:MouseEvent):void{ SoundController.sndButtonClick.play(); } } }//package
Section 56
//TimerClass (TimerClass) package { import flash.display.*; import flash.events.*; import flash.text.*; import flash.utils.*; public class TimerClass extends MovieClip { public var _nTimeTarget:Number; private var _nSeconds:Number;// = 0 public var _nTimer:Number; public var _nBonusLeft:Number; private var _nTotalFrames:Number; private var _fTickFunction:Function;// = null private var _bTimerOn:Boolean; private var _fTimeRanOut:Function; private var _nOldTime:Number; public var _nTimeWarning:Number; private var _fEnterFrameFunction:Function; private var _fBonusTick:Function; private var _nStartingTime:Number; public var timerDisplay:TextField; public var _smcTimerTarget:MovieClip; public var _smcTimerModifier:MovieClip; public var _sTimeModifier:String; private var _nBonusPerSecond:Number; private var _bWarned:Boolean; public var _bPlayerWarned:Boolean; public var _Game:Game; private var _fTimeTargetFunction:Function; public function TimerClass(_arg1:TextField){ timerDisplay = _arg1; } public function startTimer():void{ _nOldTime = (getTimer() / 1000); _bTimerOn = true; } public function countUp(_arg1:Event):void{ var _local2:Number = (getTimer() / 1000); if (_bTimerOn == true){ _nTimer = (_nTimer + (_local2 - _nOldTime)); if ((((_nTimer > _nTimeWarning)) && ((_bPlayerWarned == false)))){ _bPlayerWarned = true; }; }; _nOldTime = _local2; var _local3:Number = Math.floor((_nTimer / 60)); var _local4:Number = Math.floor((_nTimer % 60)); if (_local4 != _nSeconds){ _nSeconds = _local4; if (_fTickFunction != null){ _fTickFunction(); }; _local3 = (_local3 % 24); if (_local3 > 11){ _local3 = (_local3 % 12); _smcTimerModifier._sdtTimerModifier.text = "PM"; } else { _smcTimerModifier._sdtTimerModifier.text = "AM"; }; if (_local3 == 0){ _local3 = 12; }; if (_local4 > 9){ timerDisplay.text = ((String(_local3) + ":") + String(_local4)); } else { timerDisplay.text = ((String(_local3) + ":") + ("0" + String(_local4))); }; }; } public function setTargetFunction(_arg1:Function):void{ _fTimeTargetFunction = _arg1; } public function addTime(_arg1:Number):void{ setTime((_nTimer + _arg1)); } public function setEndFunction(_arg1:Function):void{ _fTimeRanOut = _arg1; } public function startNewCountDown(_arg1:Number):void{ clearTimer(); _nStartingTime = _arg1; setTime(_arg1); _nSeconds = Math.floor((_nTimer % 60)); _nOldTime = (getTimer() / 1000); _bTimerOn = true; if (this.hasEventListener(Event.ENTER_FRAME)){ this.removeEventListener(Event.ENTER_FRAME, _fEnterFrameFunction); }; _fEnterFrameFunction = countDown; this.addEventListener(Event.ENTER_FRAME, _fEnterFrameFunction); } public function setTickFunction(_arg1:Function):void{ _fTickFunction = _arg1; } public function playBonusCountdown(_arg1:Function):void{ _fBonusTick = _arg1; if (this.hasEventListener(Event.ENTER_FRAME)){ this.removeEventListener(Event.ENTER_FRAME, _fEnterFrameFunction); }; _fEnterFrameFunction = countDown; this.addEventListener(Event.ENTER_FRAME, _fEnterFrameFunction); } public function getTimeTarget():Number{ return (_nTimeTarget); } public function playBonusCountUp(_arg1:Function):void{ _bPlayerWarned = true; _fBonusTick = _arg1; if (this.hasEventListener(Event.ENTER_FRAME)){ this.removeEventListener(Event.ENTER_FRAME, _fEnterFrameFunction); }; _fEnterFrameFunction = bonusCountUp; this.addEventListener(Event.ENTER_FRAME, _fEnterFrameFunction); } public function getTime():Number{ return (_nTimer); } public function setTimeTarget(_arg1:Number):void{ _nTimeTarget = _arg1; _nTimeWarning = (_nTimeTarget - 10); var _local2:Number = Math.floor((_arg1 / 60)); var _local3:Number = Math.floor((_arg1 % 60)); if (_local2 == 0){ _local2 = 12; }; if (_local3 > 9){ _smcTimerTarget._sdtTimerTarget.text = ((String(_local2) + ":") + String(_local3)); } else { _smcTimerTarget._sdtTimerTarget.text = ((String(_local2) + ":") + ("0" + String(_local3))); }; } public function onInitialize(_arg1:Game):void{ _Game = _arg1; _nTotalFrames = this.totalFrames; this.stop(); _bTimerOn = false; _bWarned = false; _nBonusPerSecond = (_Game._nFullTimeBonus / _Game._nRoundTime); _nBonusLeft = _Game._nFullTimeBonus; setTickFunction(decrementBonus); } public function countDown(_arg1:Event):void{ var _local2:Number = (getTimer() / 1000); if (_bTimerOn == true){ _nTimer = (_nTimer - (_local2 - _nOldTime)); if (_nTimer <= 0){ _nTimer = 0; _bTimerOn = false; _fTimeRanOut(); }; }; _nOldTime = _local2; var _local3:Number = Math.floor(_nTimer); if (_local3 != _nSeconds){ _nSeconds = _local3; if (_fTickFunction != null){ _fTickFunction(); }; }; _nBonusLeft = Math.floor((_nSeconds * _nBonusPerSecond)); timerDisplay.text = String(_nBonusLeft); } private function decrementBonus():void{ var _local1:int = Math.floor((_nBonusPerSecond * _nTimer)); timerDisplay.text = String(_local1); } public function setTime(_arg1:Number):void{ _nTimer = _arg1; } public function startNewCountUp(_arg1:Number):void{ clearTimer(); _bPlayerWarned = false; _nStartingTime = _arg1; setTime(_arg1); _nOldTime = (getTimer() / 1000); if (this.hasEventListener(Event.ENTER_FRAME)){ this.removeEventListener(Event.ENTER_FRAME, _fEnterFrameFunction); }; _fEnterFrameFunction = countUp; this.addEventListener(Event.ENTER_FRAME, _fEnterFrameFunction); _bTimerOn = true; } public function stopTimer():void{ _bTimerOn = false; } public function bonusCountUp(_arg1:Event):void{ var _local2:Number; var _local3:Number; if (_bTimerOn == true){ _nTimer = (_nTimer + 1); if (_nTimer > _nTimeTarget){ _nTimer = _nTimeTarget; }; _local2 = Math.floor((_nTimer / 60)); _local3 = Math.floor((_nTimer % 60)); if (_local3 != _nSeconds){ _nSeconds = _local3; if (_fTickFunction != null){ _fTickFunction(); }; _local2 = (_local2 % 24); if (_local2 > 11){ _local2 = 0; _smcTimerModifier._sdtTimerModifier.text = "PM"; } else { _smcTimerModifier._sdtTimerModifier.text = "AM"; }; if (_local2 == 0){ _local2 = 12; }; if (_local3 > 9){ timerDisplay.text = ((String(_local2) + ":") + String(_local3)); } else { timerDisplay.text = ((String(_local2) + ":") + ("0" + String(_local3))); }; }; _fBonusTick(); if (_nTimer == _nTimeTarget){ _fTimeTargetFunction(); _fTimeTargetFunction = new Function(); clearTimer(); }; }; } public function bonusCountDown(_arg1:Event):void{ var _local2:int = this.currentFrame; if (_local2 == _nTotalFrames){ if (this.hasEventListener(Event.ENTER_FRAME)){ this.removeEventListener(Event.ENTER_FRAME, _fEnterFrameFunction); }; _fTimeRanOut(); } else { _local2++; this.gotoAndStop(_local2); _fBonusTick(); }; } public function clearTimer():void{ if (this.hasEventListener(Event.ENTER_FRAME)){ this.removeEventListener(Event.ENTER_FRAME, _fEnterFrameFunction); }; } } }//package
Section 57
//TurnCard (TurnCard) package { import flash.media.*; public dynamic class TurnCard extends Sound { } }//package
Section 58
//UnAccessibleCard (UnAccessibleCard) package { import flash.media.*; public dynamic class UnAccessibleCard extends Sound { } }//package
Section 59
//Utils (Utils) package { public class Utils { private static const A:int = 3423313; private static const C:int = 2435; public static var numRandomSeed:int; public static function getRandomValue(_arg1:int):int{ numRandomSeed = ((numRandomSeed * A) % 2147352576); var _local2:int = (Math.floor(((numRandomSeed * _arg1) / C)) % _arg1); return (_local2); } public static function random(_arg1:int):int{ return (int((_arg1 * Math.random()))); } public static function getAverageValue(_arg1:int):int{ return (int(((_arg1 - (_arg1 * 2)) * Math.random()))); } } }//package
Section 60
//WildCardUsed (WildCardUsed) package { import flash.media.*; public dynamic class WildCardUsed extends Sound { } }//package

Library Items

Symbol 1 Sound {WildCardUsed}Used by:80
Symbol 2 Sound {UnAccessibleCard}Used by:80
Symbol 3 Sound {TurnCard}Used by:80
Symbol 4 Sound {PileRemoved}Used by:80
Symbol 5 Sound {NewDeal}Used by:80
Symbol 6 Sound {CardClick}Used by:80
Symbol 7 Sound {GameOver}Used by:80
Symbol 8 Sound {ButtonClick}Used by:80
Symbol 9 Sound {AllPilesRemoved}Used by:80
Symbol 10 Button {btnMenu}
Symbol 11 MovieClip {SoundButton}
Symbol 12 GraphicUsed by:13
Symbol 13 MovieClip {Shield}Uses:12
Symbol 14 BitmapUsed by:15
Symbol 15 GraphicUses:14Used by:16
Symbol 16 Button {MFNWLogo}Uses:15
Symbol 17 FontUsed by:18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 42 50 51 52 54 55 56 60 71 72 73 75 76 77
Symbol 18 EditableTextUses:17Used by:39
Symbol 19 EditableTextUses:17Used by:39
Symbol 20 EditableTextUses:17Used by:39
Symbol 21 EditableTextUses:17Used by:39
Symbol 22 EditableTextUses:17Used by:39
Symbol 23 EditableTextUses:17Used by:39
Symbol 24 EditableTextUses:17Used by:39
Symbol 25 EditableTextUses:17Used by:39
Symbol 26 EditableTextUses:17Used by:39
Symbol 27 EditableTextUses:17Used by:39
Symbol 28 EditableTextUses:17Used by:39
Symbol 29 EditableTextUses:17Used by:39
Symbol 30 EditableTextUses:17Used by:39
Symbol 31 EditableTextUses:17Used by:39
Symbol 32 EditableTextUses:17Used by:39
Symbol 33 EditableTextUses:17Used by:39
Symbol 34 EditableTextUses:17Used by:39
Symbol 35 EditableTextUses:17Used by:39
Symbol 36 EditableTextUses:17Used by:39
Symbol 37 EditableTextUses:17Used by:39
Symbol 38 TextUses:17Used by:39
Symbol 39 MovieClip {HighScorePanel}Uses:18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38Used by:70 79
Symbol 40 GraphicUsed by:41
Symbol 41 MovieClip {McMask}Uses:40Used by:70
Symbol 42 EditableTextUses:17Used by:Timeline
Symbol 43 GraphicUsed by:59 81
Symbol 44 BitmapUsed by:45
Symbol 45 GraphicUses:44Used by:57 70
Symbol 46 MovieClipUsed by:49
Symbol 47 MovieClipUsed by:49
Symbol 48 MovieClipUsed by:49
Symbol 49 MovieClipUses:46 47 48Used by:57
Symbol 50 TextUses:17Used by:53
Symbol 51 TextUses:17Used by:53
Symbol 52 TextUses:17Used by:53
Symbol 53 MovieClipUses:50 51 52Used by:57
Symbol 54 EditableTextUses:17Used by:57
Symbol 55 EditableTextUses:17Used by:57
Symbol 56 EditableTextUses:17Used by:57
Symbol 57 MovieClip {BackGround}Uses:45 49 53 54 55 56Used by:81
Symbol 58 GraphicUsed by:59
Symbol 59 ButtonUses:58 43Used by:62 79
Symbol 60 TextUses:17Used by:61
Symbol 61 MovieClipUses:60Used by:62 70
Symbol 62 MovieClip {Menu}Uses:59 61Used by:81
Symbol 63 MovieClip {NextRoundPanel}Used by:81
Symbol 64 BitmapUsed by:65
Symbol 65 GraphicUses:64Used by:69
Symbol 66 GraphicUsed by:68
Symbol 67 GraphicUsed by:68
Symbol 68 ButtonUses:66 67Used by:69
Symbol 69 MovieClip {triPeakSolitaire3D_fla.mcLogo_14}Uses:65 68Used by:70
Symbol 70 MovieClip {StartPanel}Uses:45 41 69 61 39Used by:81
Symbol 71 TextUses:17Used by:74
Symbol 72 TextUses:17Used by:74
Symbol 73 TextUses:17Used by:74
Symbol 74 MovieClipUses:71 72 73Used by:79
Symbol 75 EditableTextUses:17Used by:79
Symbol 76 EditableTextUses:17Used by:79
Symbol 77 EditableTextUses:17Used by:78
Symbol 78 MovieClipUses:77Used by:79
Symbol 79 MovieClip {GameOverPanel}Uses:59 74 75 76 78 39Used by:81
Symbol 80 MovieClip {triPeakSolitaire3D_fla.sndExporter_20}Uses:9 8 7 6 5 4 3 2 1Used by:81
Symbol 81 MovieClip {triPeakSolitaire3D_fla.exportedSymbols_1}Uses:43 57 62 63 70 79 80Used by:Timeline

Instance Names

"percent"Frame 1Symbol 42 EditableText
"txtP1"Symbol 39 MovieClip {HighScorePanel} Frame 1Symbol 18 EditableText
"txtS1"Symbol 39 MovieClip {HighScorePanel} Frame 1Symbol 19 EditableText
"txtP2"Symbol 39 MovieClip {HighScorePanel} Frame 1Symbol 20 EditableText
"txtS2"Symbol 39 MovieClip {HighScorePanel} Frame 1Symbol 21 EditableText
"txtP3"Symbol 39 MovieClip {HighScorePanel} Frame 1Symbol 22 EditableText
"txtS3"Symbol 39 MovieClip {HighScorePanel} Frame 1Symbol 23 EditableText
"txtP4"Symbol 39 MovieClip {HighScorePanel} Frame 1Symbol 24 EditableText
"txtS4"Symbol 39 MovieClip {HighScorePanel} Frame 1Symbol 25 EditableText
"txtP5"Symbol 39 MovieClip {HighScorePanel} Frame 1Symbol 26 EditableText
"txtS5"Symbol 39 MovieClip {HighScorePanel} Frame 1Symbol 27 EditableText
"txtP6"Symbol 39 MovieClip {HighScorePanel} Frame 1Symbol 28 EditableText
"txtS6"Symbol 39 MovieClip {HighScorePanel} Frame 1Symbol 29 EditableText
"txtP7"Symbol 39 MovieClip {HighScorePanel} Frame 1Symbol 30 EditableText
"txtS7"Symbol 39 MovieClip {HighScorePanel} Frame 1Symbol 31 EditableText
"txtP8"Symbol 39 MovieClip {HighScorePanel} Frame 1Symbol 32 EditableText
"txtS8"Symbol 39 MovieClip {HighScorePanel} Frame 1Symbol 33 EditableText
"txtP9"Symbol 39 MovieClip {HighScorePanel} Frame 1Symbol 34 EditableText
"txtS9"Symbol 39 MovieClip {HighScorePanel} Frame 1Symbol 35 EditableText
"txtP10"Symbol 39 MovieClip {HighScorePanel} Frame 1Symbol 36 EditableText
"txtS10"Symbol 39 MovieClip {HighScorePanel} Frame 1Symbol 37 EditableText
"castle_right"Symbol 49 MovieClip Frame 1Symbol 46 MovieClip
"castle_center"Symbol 49 MovieClip Frame 1Symbol 47 MovieClip
"castle_left"Symbol 49 MovieClip Frame 1Symbol 48 MovieClip
"castle_mc"Symbol 57 MovieClip {BackGround} Frame 1Symbol 49 MovieClip
"mcTexts"Symbol 57 MovieClip {BackGround} Frame 1Symbol 53 MovieClip
"txtBonus"Symbol 57 MovieClip {BackGround} Frame 1Symbol 54 EditableText
"tfCardRun"Symbol 57 MovieClip {BackGround} Frame 1Symbol 55 EditableText
"txtScore"Symbol 57 MovieClip {BackGround} Frame 1Symbol 56 EditableText
"_smcInstructions"Symbol 62 MovieClip {Menu} Frame 1Symbol 61 MovieClip
"btnNav"Symbol 69 MovieClip {triPeakSolitaire3D_fla.mcLogo_14} Frame 1Symbol 68 Button
"mcLogo"Symbol 70 MovieClip {StartPanel} Frame 1Symbol 69 MovieClip {triPeakSolitaire3D_fla.mcLogo_14}
"_smcInstructions"Symbol 70 MovieClip {StartPanel} Frame 1Symbol 61 MovieClip
"_smcHighScore"Symbol 70 MovieClip {StartPanel} Frame 1Symbol 39 MovieClip {HighScorePanel}
"_stxScore"Symbol 78 MovieClip Frame 1Symbol 77 EditableText
"mcTextStaff"Symbol 79 MovieClip {GameOverPanel} Frame 1Symbol 74 MovieClip
"tfName"Symbol 79 MovieClip {GameOverPanel} Frame 1Symbol 75 EditableText
"_stxScore"Symbol 79 MovieClip {GameOverPanel} Frame 1Symbol 76 EditableText
"noHigh"Symbol 79 MovieClip {GameOverPanel} Frame 1Symbol 78 MovieClip
"_smcHigh"Symbol 79 MovieClip {GameOverPanel} Frame 1Symbol 39 MovieClip {HighScorePanel}

Special Tags

FileAttributes (69)Timeline Frame 1Access local files only, Metadata not present, AS3.




http://swfchan.com/15/71400/info.shtml
Created: 9/4 -2019 08:28:46 Last modified: 9/4 -2019 08:28:46 Server time: 05/11 -2024 21:00:58