Section 1
//ActiveObject (com.nitrome.folding.ActiveObject)
package com.nitrome.folding {
import flash.geom.*;
import flash.display.*;
public class ActiveObject extends MovieClip {
public var position:Vector2;
public var insideFold:Fold;// = null
public var needsDrawingToBitmap:Boolean;// = false
public var worldPosition:Vector2;
public function ActiveObject(){
insideFold = null;
needsDrawingToBitmap = false;
super();
}
public function destroy():void{
if (parent){
parent.removeChild(this);
};
}
public function create(_arg1:Number, _arg2:Number, _arg3:String):void{
position = new Vector2();
position.x = (_arg1 * Level.TILE_SIZE);
position.y = (_arg2 * Level.TILE_SIZE);
}
public function advance():void{
if (x != position.x){
x = position.x;
};
if (y != position.y){
y = position.y;
};
}
public function setPath(_arg1:Array):void{
}
public function drawToBitmap(_arg1:BitmapData, _arg2:Matrix):void{
var _local3:Matrix;
_local3 = this.transform.matrix.clone();
_local3.concat(_arg2);
_arg1.draw(this, _local3);
}
}
}//package com.nitrome.folding
Section 2
//ArrowTile (com.nitrome.folding.ArrowTile)
package com.nitrome.folding {
public class ArrowTile extends SolidTile {
override public function create(_arg1:Number, _arg2:Number, _arg3:String):void{
super.create(_arg1, _arg2, _arg3);
sendAdvance = (animated = true);
}
}
}//package com.nitrome.folding
Section 3
//Background (com.nitrome.folding.Background)
package com.nitrome.folding {
import flash.geom.*;
import flash.display.*;
public class Background extends Bitmap {
public var totalFrames:Number;
public var :Array;
public var currentFrame:BitmapData;
public function advance():void{
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
_local1 = (Controller.frameNumber % totalFrames);
if ([_local1]){
currentFrame = [_local1];
};
_local2 = -((((Controller.level.cameraFocus.x * 0.5) + (Controller.frameNumber * 2)) % 128));
_local3 = -((((Controller.level.cameraFocus.y * 0.5) + (Controller.frameNumber * 1.5)) % 128));
_local4 = _local2;
while (_local4 < 550) {
_local5 = _local3;
while (_local5 < 400) {
bitmapData.copyPixels(currentFrame, currentFrame.rect, new Point(_local4, _local5));
_local5 = (_local5 + 128);
};
_local4 = (_local4 + 128);
};
}
public function create():void{
var _local1:MovieClip;
var _local2:Number;
var _local3:Number;
var _local4:BitmapData;
Controller.root.addChildAt(this, 0);
bitmapData = new BitmapData(550, 400, false, 0xFFFFFF);
= [];
_local2 = (Controller.loadedLevelNumber % 3);
if (_local2 == 0){
_local1 = new BackgroundSource1();
};
if (_local2 == 1){
_local1 = new BackgroundSource2();
};
if (_local2 == 2){
_local1 = new BackgroundSource3();
};
_local3 = 0;
while (_local3 < _local1.currentLabels.length) {
_local1.gotoAndStop(_local1.currentLabels[_local3].frame);
_local4 = new BitmapData(128, 128, false);
_local4.draw(_local1);
[(_local1.currentLabels[_local3].frame - 1)] = _local4;
_local3++;
};
totalFrames = _local1.totalFrames;
currentFrame = [0];
}
public function destroy():void{
if (parent){
parent.removeChild(this);
};
}
}
}//package com.nitrome.folding
Section 4
//CheckpointTile (com.nitrome.folding.CheckpointTile)
package com.nitrome.folding {
public class CheckpointTile extends SolidTile {
override public function create(_arg1:Number, _arg2:Number, _arg3:String):void{
super.create(_arg1, _arg2, _arg3);
sendContact = true;
animated = true;
}
override public function contact(_arg1:CircleObject, _arg2:Collision):void{
var _local3:Player;
var _local4:Vector2;
var _local5:Debris;
super.contact(_arg1, _arg2);
if ((((_arg2.surfaceNormal.y > 0)) && ((_arg1 is Player)))){
_local3 = (_arg1 as Player);
if (_local3.activeCheckpoint != this){
if (_local3.activeCheckpoint){
_local3.activeCheckpoint.gotoAndStop("normal");
};
_local3.activeCheckpoint = this;
gotoAndPlay("pushing");
_local4 = Controller.level.getFoldedPoint(Vector2.fromTile(gridX, gridY));
_local5 = new CheckpointFlash();
_local5.x = _local4.x;
_local5.y = _local4.y;
Controller.frontLayer.addChild(_local5);
NitromeGame.sound_manager.playSound("checkpoint");
};
};
}
}
}//package com.nitrome.folding
Section 5
//CircleObject (com.nitrome.folding.CircleObject)
package com.nitrome.folding {
public class CircleObject extends ActiveObject {
public var radius:Number;// = 16
public var crushed:Boolean;// = false
public var groundContact:Collision;// = null
public var velocity:Vector2;
public function CircleObject(){
radius = 16;
velocity = new Vector2();
groundContact = null;
crushed = false;
super();
}
public function (_arg1:Crate):Collision{
var _local2:ConvexPolygon;
var _local3:Vector2;
var _local4:Vector2;
var _local5:Collision;
_local2 = ConvexPolygon.rectangle(_arg1.position.subtract(Level.HALF_TILE_VECTOR), _arg1.position.add(Level.HALF_TILE_VECTOR));
_local3 = _local2.nearestPointTo(position);
_local4 = _local3.subtract(position);
if (((_local4.lengthLessThan(radius)) && (_local4.lengthGreaterThan(0)))){
_local5 = new Collision();
_local5.tile = null;
_local5.movingPlatform = null;
_local5.nearestPoint = _local3;
_local5.squareDistance = _local4.squareLength();
_local5.surfaceNormal = _local4;
_local5.polygon = _local2;
return (_local5);
};
return (null);
}
public function advanceFolding():void{
if (!insideFold){
position = Controller.level.getFoldedPoint(worldPosition);
x = position.x;
y = position.y;
};
visible = !(insideFold);
}
override public function advance():void{
var _local1:Number;
if (insideFold){
velocity.x = 0;
velocity.y = 0;
return;
};
groundContact = null;
();
if (((insideFold) || (!(crushed)))){
_local1 = 0;
while (_local1 < 5) {
position = position.add(velocity.multiply(0.2));
();
();
_local1++;
};
};
super.advance();
}
protected function
():void{
var _local1:Number;
var _local2:Number;
var _local3:Vector2;
crushed = false;
if (insideFold){
return;
};
_local1 = 0;
while (_local1 < 8) {
_local2 = ((_local1 * Math.PI) / 4);
_local3 = new Vector2(Math.cos(_local2), Math.sin(_local2));
if (_local1 < 4){
if (((Controller.level.hitTestFolded(position.add(_local3.multiply((radius * 0.8))))) && (Controller.level.hitTestFolded(position.add(_local3.multiply((radius * -0.8))))))){
crushed = true;
return;
};
};
if (((Controller.level.hitTestFolded(position.add(_local3.multiply((radius * 0.4))))) && (Controller.level.hitTestFolded(position.add(_local3.multiply((radius * -1.2))))))){
crushed = true;
return;
};
_local1++;
};
}
public function
(_arg1:Number, _arg2:Number):Collision{
var _local3:SolidTile;
var _local4:Collision;
var _local5:Number;
var _local6:ConvexPolygon;
var _local7:Vector2;
var _local8:Vector2;
_local3 = (Controller.level.getTile(_arg1, _arg2) as SolidTile);
if (!_local3){
return (null);
};
if (!_local3.calculatedPolygons){
_local3.createFoldedPolygons();
};
_local4 = null;
_local5 = 0;
while (_local5 < _local3.foldedPolygons.length) {
_local6 = _local3.foldedPolygons[_local5];
if (!_local6.pointIsNear(position)){
} else {
_local7 = _local6.nearestPointTo(position);
_local8 = _local7.subtract(position);
if (((_local8.lengthLessThan(radius)) && (_local8.lengthGreaterThan(0)))){
if (((!(_local4)) || ((_local8.squareLength() < _local4.squareDistance)))){
if (!_local4){
_local4 = new Collision();
};
_local4.tile = _local3;
_local4.movingPlatform = null;
_local4.nearestPoint = _local7;
_local4.squareDistance = _local8.squareLength();
_local4.surfaceNormal = _local8;
_local4.polygon = _local6;
};
};
};
_local5++;
};
return (_local4);
}
public function (_arg1:MovingPlatform):Collision{
var _local2:Array;
var _local3:Collision;
var _local4:Number;
var _local5:ConvexPolygon;
var _local6:Vector2;
var _local7:Vector2;
_local2 = _arg1.getPolygons();
_local3 = null;
_local4 = 0;
while (_local4 < _local2.length) {
_local5 = _local2[_local4];
_local6 = _local5.nearestPointTo(position);
_local7 = _local6.subtract(position);
if (((_local7.lengthLessThan(radius)) && (_local7.lengthGreaterThan(0)))){
if (((!(_local3)) || ((_local7.squareLength() < _local3.squareDistance)))){
if (!_local3){
_local3 = new Collision();
};
_local3.tile = null;
_local3.movingPlatform = _arg1;
_local3.nearestPoint = _local6;
_local3.squareDistance = _local7.squareLength();
_local3.surfaceNormal = _local7;
_local3.polygon = _local5;
};
};
_local4++;
};
return (_local3);
}
public function ():Collision{
var _local1:Collision;
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Collision;
var _local8:Number;
var _local9:Number;
var _local10:Number;
var _local11:ActiveObject;
_local1 = null;
_local2 = (Math.ceil(((radius + Controller.level.getMaximumPossibleFoldOffset()) / Level.TILE_SIZE)) + 1);
_local3 = (Math.round((position.x / Level.TILE_SIZE)) - _local2);
_local4 = (Math.round((position.x / Level.TILE_SIZE)) + _local2);
_local5 = (Math.round((position.y / Level.TILE_SIZE)) - _local2);
_local6 = (Math.round((position.y / Level.TILE_SIZE)) + _local2);
_local8 = _local3;
while (_local8 <= _local4) {
_local10 = _local5;
while (_local10 <= _local6) {
_local7 =
(_local8, _local10);
if (!_local7){
} else {
if (((!(_local1)) || ((_local7.squareDistance < _local1.squareDistance)))){
_local1 = _local7;
};
};
_local10++;
};
_local8++;
};
_local9 = 0;
while (_local9 < Controller.level.activeObjects.length) {
_local11 = Controller.level.activeObjects[_local9];
_local7 = null;
if ((_local11 is MovingPlatform)){
_local7 = ((_local11 as MovingPlatform));
};
if ((_local11 is Crate)){
_local7 = ((_local11 as Crate));
};
if (!_local7){
} else {
if (((!(_local1)) || ((_local7.squareDistance < _local1.squareDistance)))){
_local1 = _local7;
};
};
_local9++;
};
if (_local1){
_local1.surfaceNormal = _local1.surfaceNormal.normalized();
};
return (_local1);
}
public function ():void{
var _local1:Collision;
var _local2:Vector2;
var _local3:Vector2;
var _local4:Vector2;
var _local5:Vector2;
var _local6:Vector2;
var _local7:Vector2;
_local1 = ();
if (!_local1){
return;
};
_local2 = position.subtract(_local1.nearestPoint);
_local3 = _local2.normalized();
position = _local1.nearestPoint.add(_local3.multiply(radius));
_local3 = _local2;
if (Math.abs(_local3.x) < 0.5){
_local3.x = 0;
};
_local3 = _local3.normalized();
if (_local1.movingPlatform){
_local7 = Controller.level.getUnfoldedPoint(_local1.nearestPoint);
_local4 = _local1.movingPlatform.velocityAtUnfoldedPoint(_local7);
if (_local1.polygon.cutLineAtPoint(position)){
_local4 = new Vector2();
};
} else {
_local4 = new Vector2();
};
velocity = velocity.subtract(_local4);
_local5 = _local3.project(velocity);
_local6 = velocity.subtract(_local5);
if (_local5.dot(_local3) < 0){
_local5 = _local5.multiply(-0.05);
};
velocity = _local5.add(_local6).add(_local4);
if (_local3.y < -0.001){
groundContact = _local1;
};
if (((_local1.tile) && (_local1.tile.sendContact))){
_local1.tile.contact(this, _local1);
};
if (_local1.movingPlatform){
_local1.movingPlatform.contact(this, _local1);
};
}
}
}//package com.nitrome.folding
Section 6
//Collision (com.nitrome.folding.Collision)
package com.nitrome.folding {
public class Collision {
public var movingPlatform:MovingPlatform;
public var :ActiveObject;
public var tile:SolidTile;
public var nearestPoint:Vector2;
public var surfaceNormal:Vector2;
public var squareDistance:Number;
public var polygon:ConvexPolygon;
}
}//package com.nitrome.folding
Section 7
//Controller (com.nitrome.folding.Controller)
package com.nitrome.folding {
import flash.display.*;
import flash.events.*;
import com.nitrome.game.*;
import com.nitrome.util.*;
public class Controller {
public static const SKIP_MENUS:Boolean = false;
public static const DEBUG:Boolean = false;
public static const ENCRYPTED_LEVELS:Boolean = false;
public static var popup:IngamePopup;
public static var level:Level = null;
public static var frameNumber:Number;
public static var customCursor:CustomCursor;
public static var loadedLevelNumber:Number = -1;
public static var selectedLevel:Number = 1;
public static var frontLayer:Sprite;
public static var guideLayer:Sprite;
public static var playerTrailLayer:Sprite;
public static var tileLayer:Sprite;
public static var loadIndicator:LoadIndicator = null;
public static var loadedXML:XML = null;
private static var levelData:Array;
public static var playerArmLayer:Sprite;
public static var laserBeamLayer:Sprite;
public static var pegLayer:Sprite;
public static var objectLayer:Sprite;
public static var root:MovieClip;
public static var playerLayer:Sprite;
public static var content:Sprite;
public static var stage:Stage;
public static function popupOpen():Boolean{
return (((popup) && (popup.isOpen)));
}
public static function restartLevel():void{
endLevel();
startLevel(loadedLevelNumber);
}
public static function startLevel(_arg1:Number):void{
if (level){
endLevel();
};
frameNumber = 0;
loadedLevelNumber = _arg1;
loadedXML = levelData[NitromeGame.getLevelName(_arg1)];
onLoadComplete();
}
public static function onLoadComplete():void{
level = new Level();
level.create(loadedXML);
NitromeGame.transition.play();
MessageOverlay.show(("ROOM " + Global.zeroes(loadedLevelNumber, 2)));
}
private static function setupLevelData():void{
levelData = [];
levelData["a1b1875300f60349b2d5894a29eba2ef.xml"] = <level w="70" h="22"><t>outer_darkest:38,outer_darker:16,outer_darkest:54,outer_darker,outer_dark_b:2,outer_dark_h,outer_dark_g:8,outer_dark_f,outer_dark_b:2,outer_darker,outer_darkest:54,outer_darker,outer_dark_b,outer_bright_a,outer_bright_c,outer_bright_b:2,outer_bright_c,outer_bright_a:2,outer_bright_c,outer_bright_b:2,outer_bright_c,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:54,outer_darker,outer_dark_c,outer_bright_a,walk_corner_tl,walk_u:3,hint,walk_u:4,walk_corner_tr,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:4,outer_darker:12,outer_darkest:38,outer_darker,outer_dark_d,outer_bright_a,walk_l,-:8,walk_r,outer_bright_a,outer_dark_b,outer_darker:6,outer_dark_b:10,outer_darker,outer_darkest:38,outer_darker,outer_dark_d,outer_bright_c,walk_l,-:8,walk_r,outer_bright_a,fan_dark,outer_dark_b:7,outer_bright_c,fan,outer_bright_b,outer_bright_c:2,outer_bright_b,fan,outer_bright_c,outer_dark_b,outer_darker,outer_darkest:38,outer_darker,outer_dark_d,outer_bright_b1,walk_l,-:8,walk_r,outer_bright_c,outer_bright_a:2,arrow_right,outer_bright_c,outer_bright_b:2,outer_bright_c,outer_bright_a,outer_bright_b1,walk_corner_tl,walk_u:4,walk_corner_tr,outer_bright_b1,outer_dark_c,outer_darker:30,outer_darkest:9,outer_darker,outer_dark_d,outer_bright_b1,walk_l,-:8,walk_outercorner_bl,walk_u:8,walk_corner_tr,outer_bright_c,walk_l,-:4,walk_r,outer_bright_c,outer_dark_d,outer_darker:2,outer_dark_b:2,outer_dark_a,outer_dark_b:5,outer_dark_a,outer_dark_b,outer_dark_h,outer_dark_g,outer_dark_f,outer_dark_b,outer_dark_a,outer_dark_b:5,outer_dark_a,outer_dark_b:6,outer_darker:8,outer_darkest:2,outer_darker,outer_dark_d,outer_bright_c,walk_l,-:17,walk_outercorner_bl,walk_u,walk_outercorner_br,-:4,walk_r,outer_bright_b1,outer_dark_d,outer_darker:2,outer_dark_b,outer_bright_a,outer_bright_c,outer_bright_b:5,outer_bright_e,outer_bright_b:5,outer_bright_e,outer_bright_b:5,outer_bright_c,outer_bright_a:4,outer_bright_c,outer_dark_b,outer_dark_a,outer_dark_h,outer_dark_f,outer_dark_a,outer_dark_b:3,outer_darker,outer_darkest:2,outer_darker,outer_dark_d,outer_bright_a,walk_l,-:5,walk_outercorner_tl,walk_d:2,checkpoint,-,walk_outercorner_tr,-:13,walk_r,outer_bright_b1,outer_dark_d,outer_darker:2,outer_dark_b,outer_bright_c,walk_corner_tl,walk_u:8,hint,walk_u:12,walk_corner_tr,fan,outer_bright_a,outer_bright_c,outer_bright_b:2,outer_bright_c,outer_bright_a:2,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_e,outer_bright_a,walk_corner_bl,walk_d,walk_outercorner_tr,-:3,walk_r,outer_bright_a:4,walk_l,-:13,walk_r,outer_bright_b1,outer_dark_d,outer_darker:2,outer_dark_b,outer_bright_b1,walk_l,-:21,walk_outercorner_bl,walk_u:2,hint,walk_u:3,walk_corner_tr,outer_bright_c,outer_dark_b,outer_darker:4,outer_dark_b,outer_bright_a:3,walk_corner_bl,walk_d:3,walk_corner_br,outer_bright_a,outer_dark_c:2,outer_bright_a,walk_corner_bl,walk_d:8,walk_outercorner_tr,-:4,walk_r,outer_bright_c,outer_dark_d,outer_darker:2,outer_dark_c,outer_bright_c,walk_l,-:28,walk_r,outer_bright_b1,fan_dark,outer_dark_h,outer_dark_g:5,outer_dark_f,arrow_up,outer_bright_e,outer_bright_b:2,outer_bright_e,arrow_up,outer_bright_a,outer_dark_d:2,outer_bright_a,outer_bright_c,outer_bright_b:6,outer_bright_c,outer_bright_a,walk_corner_bl,walk_d,exit,-,walk_d,walk_corner_br,outer_bright_a,outer_dark_e,outer_darker:2,outer_dark_d,number,walk_l,-:28,walk_r,outer_bright_b1,outer_bright_a:3,outer_bright_c,outer_bright_b,outer_bright_c,outer_bright_b,outer_bright_c,outer_bright_a,walk_corner_tl,walk_u:3,walk_corner_tr,outer_bright_a,outer_dark_d:2,outer_bright_a,walk_corner_tl,walk_u:6,walk_corner_tr,outer_bright_a,outer_bright_c,outer_bright_a,fan:2,outer_bright_a,outer_bright_c,outer_bright_a,outer_dark_b,outer_darker:2,outer_dark_e,outer_bright_c,walk_l,-:15,walk_outercorner_tl,walk_d:3,walk_outercorner_tr,-:8,walk_r,fan,arrow_right,walk_corner_tl,walk_u:7,walk_outercorner_br,-:3,walk_r,outer_bright_a,outer_dark_e:2,outer_bright_a,walk_l,-:6,walk_r,outer_bright_a,outer_dark_h,outer_dark_f,fan_dark:2,outer_dark_h,outer_dark_f,outer_dark_b:2,outer_darker:2,outer_dark_b,outer_bright_b1,walk_l,-:15,walk_r,outer_bright_c,outer_bright_a,fan,walk_l,-:8,walk_r,outer_bright_b1,outer_bright_c,walk_l,-:11,walk_r,outer_bright_c,fan_dark:2,outer_bright_d,walk_l,-:6,walk_r,outer_bright_a,outer_dark_b,outer_darker:9,outer_dark_b,outer_bright_c,walk_corner_bl,walk_d:2,entrance,-,walk_d:11,walk_corner_br,arrow_up,outer_dark_b,outer_bright_b1,walk_l,-:8,walk_r,outer_bright_b1,arrow_right,walk_l,-:7,walk_outercorner_tl,walk_d:3,walk_corner_br,outer_bright_d,fan_dark:2,outer_bright_c,walk_l,-:6,walk_r,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:7,outer_darker,outer_dark_b,outer_bright_a:2,outer_bright_c,outer_bright_b,fan:2,outer_bright_b,outer_bright_c,arrow_right,outer_bright_a:3,arrow_right,outer_bright_a:5,outer_bright_c,outer_dark_b,outer_bright_b1,walk_corner_bl,walk_d:8,walk_corner_br,outer_bright_c,outer_bright_a,walk_corner_bl,walk_d:7,walk_corner_br,outer_bright_a:5,outer_dark_b:2,outer_bright_a,walk_l,harmful:6,walk_r,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:7,outer_darker,outer_dark_b:3,outer_dark_h,outer_dark_g,outer_dark_f,outer_dark_h,outer_dark_g,outer_dark_f,outer_dark_b:12,fan,outer_bright_a:2,arrow_right,outer_bright_a:2,arrow_right,outer_bright_a:8,outer_bright_c,outer_bright_b,outer_bright_c,outer_bright_b,outer_bright_c,outer_bright_a:3,outer_dark_b:6,outer_bright_a,walk_corner_bl,walk_d:6,walk_corner_br,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:7,outer_darker:21,outer_dark_b:2,outer_dark_h,outer_dark_g:8,outer_dark_f,outer_dark_b:2,outer_dark_h,outer_dark_g:7,outer_dark_f,outer_dark_b:2,outer_darker:4,outer_dark_b,outer_bright_a,outer_bright_c,outer_bright_b:6,outer_bright_c,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:26,outer_darker:28,outer_darkest:2,outer_darker,outer_dark_b:12,outer_darker,outer_darkest:56,outer_darker:14,outer_darkest:7</t><peg>-:818,ntt,-:209,nt,-:263,nll,-:3,nll,-:243</peg><a>-:1056,player,-:483</a></level>
;
levelData["3f3d7b1697be150b3c22f4d635c413fe.xml"] = <level w="71" h="18"><t>outer_darkest:12,outer_darker:49,outer_darkest:21,outer_darker:2,outer_dark_b:8,outer_dark_h,outer_dark_g:8,outer_dark_f,outer_dark_b:8,outer_dark_h,outer_dark_g,outer_dark_f,outer_dark_b:7,outer_dark_h,outer_dark_g:8,outer_dark_f,outer_dark_b,outer_darker:4,outer_darkest:17,outer_darker:2,outer_dark_b:2,outer_bright_a,outer_bright_c,outer_bright_b,outer_bright_c,arrow_right,outer_bright_a:2,fan,outer_bright_e,outer_bright_b:6,fan,outer_bright_e,outer_bright_a:7,outer_bright_c,outer_bright_e,outer_bright_c,outer_bright_e,outer_bright_c,outer_bright_a:6,outer_bright_c,outer_bright_a:3,outer_bright_c:2,outer_bright_a:3,outer_bright_c,outer_dark_b:4,outer_darker:2,outer_darkest:15,outer_darker:2,outer_dark_c,outer_dark_b,outer_bright_a:2,slope_edge_br,walk_u:4,walk_corner_tr,outer_bright_b1,outer_bright_c,slope_edge_br,walk_u:4,walk_corner_tr,outer_bright_b1,outer_bright_c,slope_edge_br,walk_u:15,slope_edge_bl,outer_bright_a,outer_bright_b1,walk_corner_tl,walk_u:6,walk_corner_tr,outer_bright_b1,outer_bright_a:3,outer_dark_b:2,outer_darker:2,outer_darkest:13,outer_darker:2,outer_dark_b,outer_dark_e,outer_bright_a:2,slope_edge_br,45cu,-:4,walk_r,fan,slope_edge_br,45cu,-:4,walk_r,fan,slope_edge_br,45cu,-:15,45cd,slope_edge_bl,outer_bright_c,slope_edge_tr,45fd,-:4,45fu,slope_edge_tl,outer_bright_c,slope_edge_br,slope_edge_bl,outer_bright_a:2,outer_dark_b,outer_dark_c,outer_darker,outer_darkest:12,outer_darker:2,outer_dark_c,outer_dark_b,outer_bright_a:2,slope_edge_br,45cu,-:3,45fu,walk_d,slope_edge_tl,slope_edge_br,45cu,-:3,45fu,walk_d,slope_edge_tl,slope_edge_br,45cu,-:3,45fu,walk_d:3,45fd,-:9,45cd,slope_edge_bl,outer_bright_a,slope_edge_tr,45fd,-:2,45fu,slope_edge_tl,outer_bright_a,slope_edge_br,45cu,45cd,slope_edge_bl,outer_bright_a:2,outer_dark_e,outer_darker:3,outer_darkest:9,outer_darker:2,outer_dark_b,outer_dark_e,outer_bright_a:2,slope_edge_br,45cu,-:3,45fu,slope_edge_tl,outer_bright_a,slope_edge_br,45cu,-:3,45fu,slope_edge_tl,outer_bright_a,slope_edge_br,45cu,-:3,45fu,slope_edge_tl,fan,outer_bright_b,fan,slope_edge_tr,walk_d:4,45fd,-:5,45cd,slope_edge_bl,arrow_up,slope_edge_tr,walk_d:2,slope_edge_tl,arrow_down,slope_edge_br,45cu,-:2,45cd,slope_edge_bl,outer_bright_a,outer_dark_b,outer_dark_h,outer_dark_f,outer_darker:2,outer_darkest:7,outer_darker:2,outer_dark_c,outer_dark_b,outer_bright_a:2,slope_edge_br,45cu,-:3,45fu,slope_edge_tl,outer_bright_a,slope_edge_br,45cu,-:3,45fu,slope_edge_tl,outer_bright_a,slope_edge_br,45cu,-:3,45fu,slope_edge_tl,outer_bright_a,outer_bright_c,outer_dark_a,outer_bright_c,outer_bright_a:5,slope_edge_tr,45fd,-:5,45cd,slope_edge_bl,fan,outer_bright_b:2,fan,slope_edge_br,45cu,-:3,45fu,slope_edge_tl,outer_bright_a:3,outer_dark_b:2,outer_darker:2,outer_darkest,outer_darker:6,outer_dark_b,outer_dark_e,outer_bright_a:2,slope_edge_br,45cu,-:3,45fu,slope_edge_tl,outer_bright_a,slope_edge_br,45cu,-:3,45fu,slope_edge_tl,outer_bright_a,slope_edge_br,45cu,-:3,45fu,slope_edge_tl,outer_bright_a:2,outer_dark_b:7,outer_bright_a:2,slope_edge_tr,45fd,-:5,walk_r,outer_bright_a:3,slope_edge_br,45cu,-:3,45fu,slope_edge_tl,outer_bright_c,slope_edge_br,slope_edge_bl,outer_bright_a:2,outer_dark_b:2,outer_darker:3,outer_dark_b:6,outer_bright_a:2,slope_edge_br,45cu,-:3,45fu,slope_edge_tl,arrow_right,slope_edge_br,45cu,-:3,45fu,slope_edge_tl,arrow_right,slope_edge_br,45cu,-:3,45fu,slope_edge_tl,outer_bright_a:2,outer_dark_b:2,outer_darker:5,outer_dark_b:2,outer_bright_a:2,slope_edge_tr,45fd,-:3,45fu,slope_edge_tl,outer_bright_a:2,slope_edge_br,45cu,-:3,45fu,slope_edge_tl,fan,slope_edge_br,45cu,45cd,slope_edge_bl,outer_bright_a:2,outer_dark_b:2,outer_darker:2,outer_dark_b,outer_bright_c,outer_bright_b:3,outer_bright_c,number,slope_edge_br,45cu,-:3,45fu,slope_edge_tl,outer_bright_a,slope_edge_br,45cu,-:3,45fu,slope_edge_tl,outer_bright_a,slope_edge_br,45cu,-:3,45fu,slope_edge_tl,outer_bright_a:2,outer_dark_c,outer_dark_b,outer_darker:2,outer_darkest:3,outer_darker:2,outer_dark_b:2,outer_bright_a:2,slope_edge_tr,walk_d:3,slope_edge_tl,outer_bright_c,outer_bright_b,outer_bright_c,slope_edge_tr,45fd,-:3,45cd,slope_edge_bl,slope_edge_br,45cu,-:2,45cd,slope_edge_bl,outer_bright_a:2,outer_dark_b,outer_darker:2,outer_dark_a,fan,walk_corner_tl,walk_u:4,45cu,-:3,45fu,slope_edge_tl,outer_bright_a,slope_edge_br,45cu,-:3,45fu,slope_edge_tl,outer_bright_a,slope_edge_br,45cu,-:3,45fu,slope_edge_tl,outer_bright_a:2,outer_dark_b,outer_dark_e,outer_darker:2,outer_darkest:5,outer_darker:2,outer_dark_b:2,outer_bright_a:2,outer_bright_c,arrow_right,outer_bright_c,outer_bright_a,outer_bright_c,outer_bright_b,outer_bright_c,slope_edge_br,45cu,-:4,45cd,45cu,-:4,45cd,slope_edge_bl,outer_bright_a,outer_dark_b,outer_darker:2,outer_dark_c,outer_bright_b1,walk_l,-:7,45fu,slope_edge_tl,outer_bright_a,slope_edge_br,45cu,-:3,45fu,slope_edge_tl,outer_bright_a,slope_edge_br,45cu,-:3,45fu,slope_edge_tl,outer_bright_a:2,outer_dark_c,outer_dark_b,outer_darker:2,outer_darkest:7,outer_darker:2,outer_dark_b:3,outer_dark_a,fan_dark,outer_dark_a,outer_dark_b,outer_bright_a:2,slope_edge_br,45cu,-:12,walk_r,outer_bright_a,outer_dark_b,outer_darker:2,outer_dark_e,outer_bright_b1,walk_l,-:6,45fu,slope_edge_tl,fan,slope_edge_br,45cu,-:3,45fu,slope_edge_tl,fan,slope_edge_br,45cu,-:3,45fu,slope_edge_tl,outer_bright_a:2,outer_dark_b,outer_dark_e,outer_darker:2,outer_darkest:9,outer_darker:7,outer_dark_b,outer_bright_a,slope_edge_br,45cu,-:13,walk_r,outer_bright_a,outer_dark_b,outer_darker:2,outer_dark_a,fan,walk_corner_bl,walk_d,entrance,-,walk_d:3,slope_edge_tl,outer_bright_c,outer_bright_b1,walk_corner_bl,walk_d:4,slope_edge_tl,outer_bright_c,outer_bright_b1,walk_corner_bl,walk_d:4,slope_edge_tl,outer_bright_a:2,outer_dark_c,outer_dark_b,outer_darker:2,outer_darkest:16,outer_darker,outer_dark_b,outer_bright_a,walk_corner_bl,walk_d:10,exit,-,walk_d:2,walk_corner_br,outer_bright_a,outer_dark_b,outer_darker:2,outer_dark_b,outer_bright_c,outer_bright_b:3,outer_bright_c,outer_bright_e,outer_bright_a,arrow_right,outer_bright_a,outer_bright_e,fan,outer_bright_b:6,outer_bright_e,fan,outer_bright_a,outer_bright_c,outer_bright_b,outer_bright_c,arrow_right,outer_bright_a:2,outer_dark_b,outer_dark_e,outer_darker:2,outer_darkest:17,outer_darker,outer_dark_b,outer_bright_a,fan,outer_bright_b:2,outer_bright_d,outer_bright_b:2,outer_bright_e,outer_bright_b:2,outer_bright_d,outer_bright_b:2,outer_bright_e,outer_bright_b:2,fan,outer_bright_a,outer_dark_b,outer_darker:2,outer_dark_b:10,outer_dark_h,outer_dark_g:8,outer_dark_f,outer_dark_b:8,outer_darker:2,outer_darkest:18,outer_darker,outer_dark_b:2,fan_dark,outer_dark_a,outer_dark_h,outer_dark_g,outer_dark_f,outer_dark_h,outer_dark_g,outer_dark_f,outer_dark_h,outer_dark_g,outer_dark_f,outer_dark_h,outer_dark_g,outer_dark_f,outer_dark_a,fan_dark,outer_dark_b:2,outer_darker:31,outer_darkest:19,outer_darker:22</t><peg>-:376,n,-:174,nttll,-:139,nttll,-:3,nttll,-:106,n,-:475</peg><a>-:928,player,-:349</a></level>
;
levelData["2dc6b6e400cb91586def3c396006821b.xml"] = <level w="52" h="36"><t>outer_darkest:66,outer_darker:37,outer_darkest:15,outer_darker,outer_dark_b:6,outer_dark_h,outer_dark_g:2,outer_dark_f,outer_dark_b:2,outer_dark_h,outer_dark_g:2,outer_dark_f,outer_dark_b:2,outer_dark_h,outer_dark_g:3,outer_dark_f,outer_dark_b:2,outer_dark_h,outer_dark_g:2,outer_dark_f,outer_dark_b:6,outer_darker,outer_darkest:15,outer_darker,outer_dark_b,outer_bright_a,outer_bright_c,outer_bright_b:4,fan,outer_bright_c,outer_bright_b:4,outer_bright_c,fan,outer_bright_b:4,outer_bright_c,outer_bright_a,outer_bright_c,outer_bright_b:4,outer_bright_c,fan,outer_bright_b:4,outer_bright_c,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:15,outer_darker,outer_dark_b,fan,walk_corner_tl,walk_u:17,walk_corner_tr,walk_corner_tl,walk_u:10,walk_corner_tr,outer_bright_c,outer_dark_c,outer_darker,outer_darkest:15,outer_darker,outer_dark_b,outer_bright_b1,walk_l,harmful:17,walk_r,walk_l,harmful:10,walk_r,outer_bright_b1,outer_dark_d,outer_darker,outer_darkest:2,outer_darker:14,outer_dark_c,outer_bright_b1,walk_l,-:17,walk_r,walk_l,-:10,walk_r,outer_bright_b1,outer_dark_d,outer_darker,outer_darkest:2,outer_darker,outer_dark_b:5,fan_dark,outer_dark_b:3,fan_dark,outer_dark_b:3,outer_dark_e,outer_bright_b1,walk_l,-:17,walk_r,walk_l,-:10,walk_r,outer_bright_c,outer_dark_d,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_a:4,outer_bright_c,outer_bright_b:3,outer_bright_c,outer_bright_a:2,outer_bright_c,fan,outer_bright_c,walk_l,-:17,walk_r,walk_l,-:10,walk_r,outer_bright_c,outer_dark_d,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_a,walk_corner_tl,walk_u:12,walk_outercorner_br,-:17,walk_r,walk_l,-:10,walk_r,outer_bright_b1,outer_dark_d,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_a,walk_l,harmful:13,-:17,walk_r,walk_l,-:10,walk_r,outer_bright_b1,outer_dark_d,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:30,walk_r,walk_l,-:10,walk_r,outer_bright_c,outer_dark_d,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:30,walk_r,walk_l,-:10,walk_r,outer_bright_c,outer_dark_d,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:30,walk_r,walk_l,-:10,walk_r,outer_bright_b1,outer_dark_d,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:18,walk_outercorner_tl,walk_d,checkpoint,-,walk_d,walk_outercorner_tr,-:6,walk_r,walk_l,-:6,walk_outercorner_tl,exit,-,walk_d,walk_corner_br,outer_bright_b1,outer_dark_e,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:18,walk_r,arrow_right,outer_bright_a:2,arrow_down,walk_l,-:6,walk_r,walk_l,-:6,walk_r,outer_bright_c,outer_bright_b:3,outer_bright_c,fan_dark,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_c,walk_l,-:18,45cd,walk_u,walk_corner_tr,walk_corner_tl,walk_u,45cu,-:6,walk_r,walk_l,-:6,45cd,walk_u,walk_corner_tr,fan,outer_dark_b:3,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_b1,walk_l,-:20,walk_r,walk_l,-:8,walk_r,walk_l,-:8,walk_r,outer_bright_b1,outer_dark_b,outer_darker:3,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_b1,walk_l,-:20,walk_r,walk_l,-:8,walk_r,walk_l,-:8,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:4,outer_darker,outer_dark_b,outer_bright_b1,walk_corner_bl,walk_d,entrance,-,walk_outercorner_tr,-:16,walk_r,walk_l,-:8,walk_r,walk_l,-:8,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:4,outer_darker,outer_dark_b,fan,outer_bright_a:2,number,arrow_right,walk_l,-:16,walk_r,walk_l,-:8,walk_r,walk_l,-:8,walk_r,outer_bright_c,outer_dark_b,outer_darker,outer_darkest:4,outer_darker,outer_dark_b,outer_bright_b1,walk_corner_tl,walk_u:3,45cu,-:16,walk_r,walk_l,-:8,walk_r,walk_l,-:8,walk_r,outer_bright_c,outer_dark_b,outer_darker,outer_darkest:4,outer_darker,outer_dark_b,outer_bright_b1,walk_l,-:20,walk_r,walk_l,-:8,walk_r,walk_l,-:8,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:4,outer_darker,outer_dark_b,outer_bright_b1,walk_l,-:20,walk_r,walk_l,-:8,walk_r,walk_l,-:8,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:4,outer_darker,outer_dark_b,outer_bright_c,walk_l,-:20,walk_r,walk_l,-:8,walk_r,walk_l,-:8,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:4,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:20,walk_r,walk_l,-:8,walk_r,walk_l,-:8,walk_r,fan,outer_dark_b,outer_darker,outer_darkest:4,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:20,walk_r,walk_l,-:8,walk_r,walk_l,-:8,walk_r,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:4,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:20,walk_r,walk_corner_bl,walk_d,walk_outercorner_tr,-:5,45fu,slope_edge_tl,slope_edge_tr,45fd,-:7,walk_r,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:4,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:20,walk_r,walk_corner_tl,walk_u,walk_outercorner_br,-:4,45fu,slope_edge_tl,arrow_right:2,slope_edge_tr,45fd,-:6,walk_r,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:4,outer_darker,outer_dark_b,outer_bright_a,walk_l,harmful:20,walk_r,walk_l,-:5,45fu,slope_edge_tl,outer_bright_a,outer_bright_c:2,outer_bright_a,slope_edge_tr,45fd,-:5,walk_r,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:4,outer_darker,outer_dark_b,outer_bright_a,walk_corner_bl,walk_d:20,walk_corner_br,walk_l,-:4,walk_outercorner_tl,slope_edge_tl,fan,outer_bright_a,outer_dark_a:2,outer_bright_a,fan,slope_edge_tr,walk_outercorner_tr,-:4,walk_r,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:4,outer_darker,outer_dark_b,outer_bright_a,fan,outer_bright_d,outer_bright_b,outer_bright_c,outer_bright_b,outer_bright_e,outer_bright_b,outer_bright_c,outer_bright_b,outer_bright_e,outer_bright_b,outer_bright_c,outer_bright_b,outer_bright_e,outer_bright_b,outer_bright_c,outer_bright_b,outer_bright_e,outer_bright_b,outer_bright_c,outer_bright_b,outer_bright_e,walk_corner_bl,walk_d:4,walk_corner_br,outer_bright_c,outer_bright_a,outer_dark_h,outer_dark_g:2,outer_dark_f,outer_bright_a,outer_bright_c,walk_corner_bl,walk_d:4,walk_corner_br,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:4,outer_darker,outer_dark_b:23,outer_bright_a:2,outer_bright_c,outer_bright_b:2,outer_bright_c,outer_bright_a:2,outer_dark_h,outer_dark_f,outer_darker:2,outer_dark_h,outer_dark_f,outer_bright_a:2,outer_bright_c,outer_bright_b:2,outer_bright_c,outer_bright_a:2,outer_dark_b,outer_darker,outer_darkest:4,outer_darker:23,outer_dark_b:4,fan_dark:2,outer_dark_b:4,outer_darker:4,outer_dark_b:4,fan_dark:2,outer_dark_b:4,outer_darker,outer_darkest:26,outer_darker:12,outer_darkest:2,outer_darker:12,outer_darkest:55</t><peg>-:1592,nt,-:6,nt,-:272</peg><a>-:757,mp_42v,-:9,mp_42v,-:174,player,-:54,mp_42h,-:373,mp_42v,-:500</a><path x="29" y="14" pts="[29,14]>[29,26]"/><path x="39" y="14" pts="[39,14]>[39,26]"/><path x="9" y="19" pts="[9,19]>[15,19]"/><path x="19" y="26" pts="[19,26]>[19,14]"/></level>
;
levelData["592c06788e17f2fa6889fdee7a6a3612.xml"] = <level w="48" h="32"><t>outer_darkest:49,outer_darker:46,outer_darkest:2,outer_darker,fan_dark,outer_dark_b:7,outer_dark_h,outer_dark_g:2,outer_dark_f,outer_dark_b:4,outer_dark_h,outer_dark_g:2,outer_dark_f,outer_dark_b:4,outer_dark_h,outer_dark_g:2,outer_dark_f,outer_dark_b:4,outer_dark_h,outer_dark_g:2,outer_dark_f,outer_dark_b:7,fan_dark,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_a:2,fan,outer_bright_b,outer_bright_d,outer_bright_b:2,outer_bright_c,outer_bright_a:2,fan,outer_bright_b:2,outer_bright_d,outer_bright_b,outer_bright_c,arrow_down,outer_bright_a,fan,outer_bright_b,outer_bright_d,outer_bright_b:2,outer_bright_c,outer_bright_a:2,fan,outer_bright_b:2,outer_bright_d,outer_bright_b,outer_bright_c,outer_bright_a,arrow_right,fan,outer_bright_b,outer_bright_d,outer_bright_b:2,outer_bright_c,outer_bright_a:2,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_a,walk_corner_tl,walk_u:6,walk_corner_tr,walk_corner_tl,walk_u:6,walk_corner_tr,walk_corner_tl,walk_u:6,walk_corner_tr,walk_corner_tl,walk_u:6,walk_corner_tr,walk_corner_tl,walk_u:6,walk_corner_tr,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_c,walk_l,-:6,walk_r,walk_l,-:6,walk_r,walk_l,-:6,walk_r,walk_l,-:6,walk_r,walk_l,-:6,walk_r,fan,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_b1,walk_l,-:6,walk_outercorner_bl,walk_outercorner_br,-:6,walk_outercorner_bl,walk_outercorner_br,-:6,walk_r,walk_l,-:6,walk_outercorner_bl,walk_outercorner_br,-:6,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_b1,walk_l,-:22,walk_r,walk_l,-:14,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_b1,walk_l,-:22,walk_r,walk_l,-:14,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_b1,walk_l,-:6,walk_outercorner_tl,walk_outercorner_tr,-:6,walk_outercorner_tl,walk_outercorner_tr,-:6,walk_r,walk_l,-:6,walk_outercorner_tl,walk_outercorner_tr,-:6,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_c,fan,walk_l,-:6,walk_r,walk_l,-:6,walk_r,walk_l,-:6,walk_r,walk_l,-:6,walk_r,walk_l,-:6,walk_r,outer_bright_c,outer_dark_c,outer_darker,outer_darkest:2,outer_darker,outer_dark_d,arrow_right,walk_corner_bl,walk_d:2,entrance,-,walk_d:2,walk_corner_br,walk_corner_bl,walk_d,walk_outercorner_tr,-:2,walk_outercorner_tl,walk_d,walk_corner_br,walk_corner_bl,walk_d,walk_outercorner_tr,-:2,walk_outercorner_tl,walk_d,walk_corner_br,walk_corner_bl,walk_d,walk_outercorner_tr,-:4,walk_r,walk_corner_bl,checkpoint,-,walk_d,walk_outercorner_tr,-:2,walk_r,arrow_down,outer_dark_d,outer_darker,outer_darkest:2,outer_darker,outer_dark_d,number,walk_corner_tl,walk_u:6,walk_corner_tr,walk_corner_tl,walk_u,45cu,-:2,45cd,walk_u:4,45cu,-:2,45cd,walk_u:4,45cu,-:4,walk_r,walk_corner_tl,walk_u:3,walk_outercorner_br,-:2,walk_r,outer_bright_a,outer_dark_d,outer_darker,outer_darkest:2,outer_darker,outer_dark_e,outer_bright_c,walk_l,-:6,walk_r,walk_l,-:20,walkrow_l,walkrow_lr,walk_intersection_3_l,walk_l,-:6,walk_r,fan,outer_dark_e,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_b1,walk_l,-:6,walk_r,walk_l,-:22,walk_r,walk_l,-:6,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_b1,walk_l,-:6,walk_r,walk_l,-:6,walk_outercorner_tl,walk_outercorner_tr,-:6,walk_outercorner_tl,walk_outercorner_tr,-:6,walk_r,walk_l,-:6,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_b1,walk_l,-:6,walk_r,walk_l,-:6,walk_r,walk_l,-:6,laser_left,walk_intersection_3_r,walkrow_lr,walkrow_r,-:4,walk_r,walk_l,-:6,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_b1,walk_l,-:6,walk_r,walk_l,-:6,walk_r,walk_l,-:6,walk_r,walk_l,-:6,walk_r,walk_l,-:6,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_c,fan,walk_l,-:3,walk_outercorner_tl,exit,-,walk_corner_br,walk_l,-:6,walk_r,walk_l,-:6,walk_r,walk_l,-:6,walk_r,walk_l,-:6,walk_r,outer_bright_c,outer_dark_c,outer_darker,outer_darkest:2,outer_darker,outer_dark_d,outer_bright_a,walk_l,-:3,walk_outercorner_bl,walk_u:2,walk_corner_tr,walk_corner_bl,walk_d:6,walk_corner_br,walk_corner_bl,walk_d:2,reset:2,walk_d:2,walk_corner_br,walk_corner_bl,walk_d:2,reset:2,walk_d:2,walk_corner_br,walk_l,-:2,laser_left,reset:3,walk_corner_br,outer_bright_a,outer_dark_d,outer_darker,outer_darkest:2,outer_darker,outer_dark_d,arrow_up,walk_l,-:6,walk_r,walk_corner_tl,walk_u:22,walk_corner_tr,walk_l,-:2,walk_outercorner_bl,walk_u:3,walk_corner_tr,outer_bright_a,outer_dark_d,outer_darker,outer_darkest:2,outer_darker,outer_dark_e,outer_bright_c,walk_intersection_3_r,walkrow_lr,walkrow_r,-:4,walk_r,walk_l,-:22,walk_r,walk_l,-:6,walk_r,fan,outer_dark_e,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_b1,walk_l,-:6,walk_r,walk_l,-:22,walk_r,walk_l,-:6,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_b1,walk_l,-:6,walk_r,walk_l,-:6,walk_outercorner_tl,walk_outercorner_tr,-:6,walk_outercorner_tl,walk_outercorner_tr,-:6,walk_r,walk_l,-:3,walk_single,-:2,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_b1,walk_l,-:4,walkrow_l,walkrow_r,walk_outercorner_bl,laser_right,-:6,walk_outercorner_bl,laser_down,-:6,walk_r,laser_right,-:6,walk_outercorner_bl,walk_outercorner_br,-:6,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_b1,walk_l,-:22,walk_r,walk_l,-:11,walk_single,-:2,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,fan,walk_l,-:22,walk_r,walk_l,-:14,walk_r,outer_bright_c,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_a,walk_corner_bl,walk_d:10,reset:2,walk_d:6,reset:2,walk_d:2,walk_corner_br,walk_corner_bl,walk_d:2,reset:2,walk_d:2,checkpoint,-,walk_d:6,walk_corner_br,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_a:2,outer_bright_c,outer_bright_b,outer_bright_d,outer_bright_b:2,fan,outer_bright_a:2,outer_bright_c,outer_bright_b:2,outer_bright_d,outer_bright_b,fan,arrow_left,outer_bright_a,outer_bright_c,outer_bright_b,outer_bright_d,outer_bright_b:2,fan,outer_bright_a:2,outer_bright_c,outer_bright_b:2,outer_bright_d,outer_bright_b,fan,arrow_left,outer_bright_a,outer_bright_c,outer_bright_b,outer_bright_d,outer_bright_b:2,fan,outer_bright_a:2,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,fan_dark,outer_dark_b:7,outer_dark_h,outer_dark_g:2,outer_dark_f,outer_dark_b:4,outer_dark_h,outer_dark_g:2,outer_dark_f,outer_dark_b:4,outer_dark_h,outer_dark_g:2,outer_dark_f,outer_dark_b:4,outer_dark_h,outer_dark_g:2,outer_dark_f,outer_dark_b:7,fan_dark,outer_darker,outer_darkest:2,outer_darker:46,outer_darkest:49</t><peg>-:230,n,-:2,n,-:498,n,-:95,n,-:315,n,-:95,n,-:295</peg><a>-:487,player,-:269,mp_42h,-:778</a><path x="37" y="15" pts="[37,15]>[39,15]"/></level>
;
levelData["bd0b88adf9c255ea6e4d37558868747a.xml"] = <level w="28" h="35"><t>outer_darker:29,outer_dark_b:9,outer_dark_h,outer_dark_g:2,outer_dark_f,fan_dark:2,outer_dark_h,outer_dark_g:2,outer_dark_f,outer_dark_b:7,outer_darker:2,outer_dark_b,outer_bright_c,outer_bright_a:6,fan,outer_bright_b:3,outer_bright_d,outer_bright_b:2,outer_bright_e,outer_bright_b:3,fan,outer_bright_a:5,outer_dark_b,outer_darker:2,outer_dark_b,outer_bright_b1,walk_corner_tl,walk_u:20,walk_corner_tr,fan,outer_dark_b,outer_darker:2,outer_dark_b,outer_bright_b1,walk_l,-:20,walk_r,outer_bright_b1,outer_dark_b,outer_darker:2,outer_dark_b,outer_bright_c,walk_l,-:20,walk_r,outer_bright_b1,outer_dark_b,outer_darker:2,outer_dark_b,outer_bright_a,walk_l,-:20,walk_r,outer_bright_b1,outer_dark_b,outer_darker:2,outer_dark_b,outer_bright_a,walk_l,-:20,walk_r,outer_bright_b1,outer_dark_c,outer_darker:2,outer_dark_b,outer_bright_a,walk_corner_bl,walk_d,entrance,-,walk_d:2,walk_outercorner_tr,-:10,walk_outercorner_tl,walk_outercorner_tr,-:2,walk_r,fan,outer_dark_e,outer_darker:2,outer_dark_b,fan,outer_bright_a:2,outer_bright_c:2,outer_bright_a,number,walk_l,-:10,walk_r,walk_l,-:2,walk_r,outer_bright_a,outer_dark_b,outer_darker:2,outer_dark_b:2,outer_dark_c:5,outer_bright_a,walk_l,-,harmful,-,harmful,-,harmful,-,harmful,-,harmful,walk_r,walk_l,-:2,walk_r,outer_bright_c,outer_dark_a,outer_darker:2,outer_dark_b:2,outer_dark_e:5,outer_bright_a,walk_l,harmful,-,harmful,-,harmful,-,harmful,-,harmful,-,walk_r,walk_l,-:2,walk_r,outer_bright_c,outer_dark_a,outer_darker:2,outer_dark_b,outer_bright_a:3,outer_bright_c:2,outer_bright_a:2,walk_corner_bl,walk_d:10,walk_corner_br,walk_l,-:2,walk_r,outer_bright_a,outer_dark_b,outer_darker:2,outer_dark_c,outer_bright_a,walk_corner_tl,walk_u:12,walk_corner_tr,walk_corner_tl,walk_u:3,walk_outercorner_br,-:2,walk_r,fan,outer_dark_c,outer_darker:2,outer_dark_d,outer_bright_a,walk_l,-:12,walk_r,walk_l,-:6,walk_r,outer_bright_b1,outer_dark_e,outer_darker:2,outer_dark_d,outer_bright_a,walk_l,-:11,45fu,slope_edge_tl,walk_l,-:6,walk_r,outer_bright_b1,outer_dark_b,outer_darker:2,outer_dark_d,outer_bright_a,walk_l,-:10,45fu,slope_edge_tl,slope_edge_br,45cu,-:6,walk_r,outer_bright_b1,outer_dark_b,outer_darker:2,outer_dark_d,outer_bright_a,walk_l,-:10,walk_r,slope_edge_br,45cu,-:3,walk_outercorner_tl,walk_d,checkpoint,-,walk_corner_br,fan,outer_dark_b,outer_darker:2,outer_dark_d,outer_bright_a,walk_l,-:10,45cd,45cu,-:4,walk_r,outer_bright_c:2,outer_bright_a:3,outer_dark_b,outer_darker:2,outer_dark_d,outer_bright_a,walk_l,-,45fu,walk_d,walk_outercorner_tr,-:12,walk_r,outer_bright_c,fan_dark,outer_dark_h,outer_dark_f,outer_dark_b:2,outer_darker:2,outer_dark_e,outer_bright_a,walk_l,-,walk_r,fan,walk_l,-:12,walk_r,outer_bright_a,outer_dark_b,outer_darker:6,fan_dark,outer_bright_a,walk_l,-,walk_r,outer_bright_b1,walk_l,harmful:12,walk_r,outer_bright_a,outer_dark_b,outer_darker:6,fan_dark,outer_bright_a,walk_l,-,walk_r,outer_bright_b1,walk_corner_bl,walk_d:12,walk_corner_br,outer_bright_c,fan_dark,outer_dark_h,outer_dark_f,outer_dark_b:2,outer_darker:2,outer_dark_c,outer_bright_a,walk_l,-,walk_r,fan,outer_bright_b:14,outer_bright_c:2,outer_bright_a:3,outer_dark_b,outer_darker:2,outer_dark_d,outer_bright_a,walk_l,-,45cd,walk_u:18,walk_corner_tr,outer_bright_a,outer_dark_b,outer_darker:2,outer_dark_d,outer_bright_a,walk_l,-:20,walk_r,outer_bright_a,outer_dark_c,outer_darker:2,outer_dark_d,outer_bright_a,walk_l,-:20,walk_r,outer_bright_c,outer_dark_d,outer_darker:2,outer_dark_d,outer_bright_a,walk_l,-:20,walk_r,outer_bright_b1,outer_dark_d,outer_darker:2,outer_dark_d,outer_bright_a,walk_l,-:20,walk_r,outer_bright_b1,outer_dark_d,outer_darker:2,outer_dark_e,outer_bright_a,walk_corner_bl,reset:3,walk_outercorner_tr,-:2,walk_outercorner_tl,walk_d:8,walk_outercorner_tr,-:4,walk_r,outer_bright_c,outer_dark_d,outer_darker:2,outer_dark_b,outer_bright_a:2,outer_bright_c,fan,outer_bright_c,walk_corner_bl,checkpoint,-,walk_corner_br,outer_bright_a,fan,outer_bright_b:4,fan,outer_bright_a,walk_l,-:4,walk_r,outer_bright_a,outer_dark_e,outer_darker:2,outer_dark_b:5,outer_bright_a,outer_bright_c,outer_bright_e:2,outer_bright_c,outer_bright_a,outer_dark_c,outer_dark_b:4,outer_dark_c,outer_bright_a,walk_corner_bl,walk_d,exit,-,walk_d,walk_corner_br,outer_bright_a,outer_dark_b,outer_darker:6,outer_dark_b:3,fan_dark:2,outer_dark_b:2,outer_dark_e,outer_darker:4,outer_dark_d,outer_bright_a,outer_bright_c,outer_bright_b,fan:2,outer_bright_b,outer_bright_c,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:4,outer_darker:10,outer_darkest:2,outer_darker,outer_dark_e,outer_dark_b:3,outer_dark_a:2,outer_dark_b:4,outer_darker,outer_darkest:16,outer_darker:12</t><peg>-:436,nttll,-:28,n,-:357,nll,-:61,nll,-:94</peg><a>-:201,player,-:32,mp_42h,-:305,mp_42h,-:170,mp_42h,-:55,mp_42h,-:212</a><path x="10" y="8" pts="[10,8]>[16,8]"/><path x="8" y="19" pts="[8,19]>[16,19]"/><path x="11" y="25" pts="[11,25]>[16,25]"/><path x="11" y="27" pts="[11,27]>[16,27]"/></level>
;
levelData["a17eb330acafa17baafcb57b80098071.xml"] = <level w="86" h="23"><t>outer_darkest:87,outer_darker:84,outer_darkest:2,outer_darker,outer_dark_b:12,outer_dark_h,outer_dark_g:8,outer_dark_f,outer_dark_h,outer_dark_g:8,outer_dark_f,outer_dark_b:6,outer_dark_h,outer_dark_g:5,outer_dark_f,outer_dark_b:9,outer_dark_h,outer_dark_g:4,outer_dark_f,fan_dark:2,outer_dark_h,outer_dark_g:4,outer_dark_f,outer_dark_b:14,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_a:11,fan,outer_bright_b:7,fan,outer_dark_b:2,fan,outer_bright_b:7,fan,outer_bright_a:5,fan,outer_bright_b:2,fan,outer_bright_e,fan,outer_bright_b:2,fan,outer_bright_a:14,outer_bright_b1:2,outer_bright_a:12,fan,outer_bright_b:4,fan,outer_bright_a,outer_dark_a,outer_darker,outer_darkest:2,outer_darker,outer_dark_c,fan,walk_corner_tl,walk_u:16,walk_corner_tr,arrow_right,fan_dark:2,arrow_right,walk_corner_tl,walk_u:34,walk_corner_tr,fan,outer_bright_c,walk_corner_tl,walk_u:16,walk_corner_tr,outer_bright_a,outer_dark_c,outer_darker,outer_darkest:2,outer_darker,outer_dark_d,outer_bright_b1,walk_l,harmful:16,walk_r,fan,outer_bright_b:2,fan,walk_l,harmful:34,walk_r,outer_bright_c,arrow_right,walk_l,harmful:16,walk_r,outer_bright_a,outer_dark_d,outer_darker,outer_darkest:2,outer_darker,outer_dark_d,outer_bright_b1,walk_l,-:15,harmful,walk_outercorner_bl,walk_u:4,walk_outercorner_br,harmful,-:29,walk_single,-:2,harmful,walk_outercorner_bl,walk_u:2,walk_outercorner_br,harmful,-:2,walk_single,-:12,walk_r,outer_bright_a,outer_dark_d,outer_darker,outer_darkest:2,outer_darker,outer_dark_d,outer_bright_b1,walk_l,-:15,harmful:8,-:32,harmful:6,-:15,walk_r,outer_bright_a,outer_dark_d,outer_darker,outer_darkest:2,outer_darker,outer_dark_d,outer_bright_b1,walk_l,-:76,walk_r,outer_bright_a,outer_dark_e,outer_darker,outer_darkest:2,outer_darker,outer_dark_e,outer_bright_b1,walk_l,-:76,walk_r,outer_bright_a,outer_dark_a,outer_darker,outer_darkest:2,outer_darker,fan_dark,outer_bright_c,walk_corner_bl,walk_d,entrance,-,walk_outercorner_tr,-:30,walk_outercorner_tl,walk_d:3,checkpoint,-,walk_d:3,walk_outercorner_tr,-:28,walk_outercorner_tl,exit,-,walk_d,walk_corner_br,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_a,fan,outer_bright_b,outer_bright_c,number,arrow_right,walk_l,-:30,walk_r,arrow_right,fan,outer_bright_e,outer_bright_b:2,outer_bright_d,fan,arrow_right,walk_l,-:28,walk_r,fan,outer_bright_c,outer_bright_b:2,outer_bright_c,fan_dark,outer_darker,outer_darkest:2,outer_darker,fan_dark,outer_bright_c,walk_corner_tl,walk_u:3,45cu,-:30,45cd,walk_u,slope_edge_bl,fan,outer_bright_c:2,fan,slope_edge_br,walk_u,45cu,-:28,45cd,walk_u:3,walk_corner_tr,outer_bright_a,outer_dark_c,outer_darker,outer_darkest:2,outer_darker,outer_dark_c,outer_bright_b1,walk_l,-:18,walk_outercorner_tl,walk_outercorner_tr,-:16,45cd,slope_edge_bl,outer_bright_b1:2,slope_edge_br,45cu,-:34,walk_r,outer_bright_a,outer_dark_d,outer_darker,outer_darkest:2,outer_darker,outer_dark_d,outer_bright_b1,walk_l,-:18,walk_outercorner_bl,walk_outercorner_br,-:17,walk_r,outer_bright_b1:2,walk_l,-:35,walk_r,outer_bright_a,outer_dark_d,outer_darker,outer_darkest:2,outer_darker,outer_dark_d,outer_bright_b1,walk_l,-:37,walk_r,outer_bright_b1:2,walk_l,-:35,walk_r,outer_bright_a,outer_dark_e,outer_darker,outer_darkest:2,outer_darker,outer_dark_d,outer_bright_b1,walk_l,-:37,walk_r,outer_bright_b1:2,walk_l,-:35,walk_r,outer_bright_a,outer_dark_c,outer_darker,outer_darkest:2,outer_darker,outer_dark_d,outer_bright_b1,walk_l,harmful:37,walk_r,outer_bright_b1:2,walk_l,harmful:35,walk_r,outer_bright_a,outer_dark_d,outer_darker,outer_darkest:2,outer_darker,outer_dark_e,fan,walk_corner_bl,walk_d:37,walk_corner_br,outer_bright_b1:2,walk_corner_bl,walk_d:35,walk_corner_br,fan,outer_dark_d,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_c,fan,outer_bright_b:37,fan,outer_bright_c:2,fan,outer_bright_b:35,fan,outer_bright_c,outer_dark_d,outer_darker,outer_darkest:2,outer_darker,outer_dark_b:81,outer_dark_e,outer_darker,outer_darkest:2,outer_darker:84,outer_darkest:87</t><peg>-:573,n,-:10,n,-:1393</peg><a>-:275,fold,-:9,fold,-:30,fold,-:8,fold,-:454,player,-:88,mp_42h,-:25,mp_42h,-:13,mp_42h,-:23,mp_42h,-:1044</a><path x="17" y="3" pts="[17,3]>[20,3]"/><path x="27" y="3" pts="[27,3]>[30,3]"/><path x="58" y="3" pts="[58,3]>[60,3]"/><path x="67" y="3" pts="[67,3]>[65,3]"/><path x="9" y="10" pts="[9,10]>[16,10]"/><path x="35" y="10" pts="[35,10]>[28,10]"/><path x="49" y="10" pts="[49,10]>[56,10]"/><path x="73" y="10" pts="[73,10]>[66,10]"/></level>
;
levelData["3495fcbdd998d4138cd2717b7ef9f675.xml"] = <level w="28" h="41"><t>outer_darkest:29,outer_darker:26,outer_darkest:2,outer_darker,outer_dark_b,outer_dark_h,outer_dark_g:6,outer_dark_f,outer_dark_a,fan_dark,outer_dark_b:2,fan_dark,outer_dark_a,outer_dark_h,outer_dark_g:6,outer_dark_f,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_a:7,outer_bright_c,outer_bright_b:2,outer_bright_d,outer_bright_e,outer_bright_b:2,outer_bright_c,outer_bright_a:7,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_a,walk_corner_tl,walk_u:18,walk_corner_tr,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:18,walk_r,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,fan_dark,arrow_down,walk_l,-:18,walk_r,outer_bright_c,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_c,fan,walk_l,-:18,walk_r,outer_bright_b1,outer_dark_c,outer_darker,outer_darkest:2,outer_darker,outer_dark_d,outer_bright_b1,prox_laser,-:2,prox_laser,-:15,walk_r,outer_bright_b1,outer_dark_d,outer_darker,outer_darkest:2,outer_darker,outer_dark_e,fan,walk_l,-:2,walk_outercorner_tl,walk_outercorner_tr,-:14,walk_r,outer_bright_b1,outer_dark_e,outer_darker,outer_darkest:2,outer_darker,fan_dark,arrow_down,walk_l,-:2,walk_r,walk_corner_bl,walk_outercorner_tr,-:13,walk_r,outer_bright_c,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:2,walk_r,fan,walk_corner_bl,walk_d:9,entrance,-,walk_d:2,walk_corner_br,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:2,walk_r,walk_corner_tl,walk_u:14,walk_corner_tr,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:2,walk_r,walk_l,-:14,walk_r,outer_bright_c,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:2,walk_r,walk_l,-:14,prox_laser,fan,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_a,outer_bright_c,walk_l,-:2,walk_r,walk_l,-:14,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_a,outer_bright_c,walk_l,-:2,walk_r,walk_l,-:10,walk_outercorner_tl,walk_outercorner_tr,-:2,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:2,walk_r,walk_l,-:10,walk_r,walk_l,-:2,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:2,walk_r,walk_l,-:10,walk_r,walk_l,-:2,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:2,walk_r,walk_l,-:10,walk_r,walk_l,-:2,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:2,walk_outercorner_bl,walk_outercorner_br,-:10,walk_r,walk_l,-:2,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_a,outer_bright_c,walk_l,-:14,walk_r,walk_l,-:2,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,arrow_right,walk_l,-:14,walk_r,prox_laser,-:2,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,arrow_right,walk_l,-:13,walk_outercorner_tl,walk_corner_br,walk_l,-:2,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_a,outer_bright_c,walk_l,-:12,walk_outercorner_tl,walk_corner_br,outer_bright_c,walk_l,-:2,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_a,walk_corner_bl,reset,checkpoint,-,reset,walk_d:8,walk_corner_br,outer_bright_c,fan,walk_l,-:2,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_a,walk_corner_tl,walk_u:4,prox_laser,walk_u:10,walk_outercorner_br,-:2,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,fan_dark,fan,walk_l,-:18,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_c,outer_bright_b1,walk_l,-:18,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_d,outer_bright_b1,walk_l,-:18,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_d,outer_bright_b1,walk_l,-:18,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_d,outer_bright_b1,walk_l,-:4,prox_laser,-:13,walk_r,fan,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_d,outer_bright_b1,walk_l,-:18,walk_r,outer_bright_c,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_d,outer_bright_b1,walk_l,-:18,walk_r,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_e,outer_bright_b1,walk_l,-:18,walk_r,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,fan_dark,fan,walk_l,-:18,walk_r,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_a,walk_corner_bl,walk_d,exit,-,walk_d,prox_laser,walk_d:13,walk_corner_br,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_a,outer_bright_c,outer_bright_b,fan:2,outer_bright_b,outer_bright_c,outer_bright_a:10,outer_bright_c:2,outer_bright_a:3,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_dark_h,outer_dark_f,fan_dark,outer_dark_a:2,fan_dark,outer_dark_h,outer_dark_f,outer_dark_b:3,outer_dark_h,outer_dark_f,outer_dark_b:4,outer_dark_a:2,outer_dark_b:4,outer_darker,outer_darkest:2,outer_darker:26,outer_darkest:29</t><peg>-:219,n,-:55,n,-:192,nll,-:139,nll,-:254,n,-:55,n,-:228</peg><a>-:299,player,-:848</a></level>
;
levelData["b02f606375e1b552e900f850128b46eb.xml"] = <level w="32" h="23"><t>outer_darkest:33,outer_darker:12,outer_darkest:6,outer_darker:12,outer_darkest:2,outer_darker,outer_dark_b:10,outer_darker,outer_darkest:6,outer_darker,outer_dark_b:10,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_a:8,outer_dark_b,outer_darker:8,outer_dark_b,outer_bright_a:8,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_a,fan,slope_edge_br,walk_u:2,slope_edge_bl,fan,outer_bright_a,outer_dark_a,outer_dark_h,outer_dark_g:6,outer_dark_f,outer_dark_a,outer_bright_a,fan,slope_edge_br,walk_u:2,slope_edge_bl,fan,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_c,slope_edge_br,45cu,-:2,45cd,slope_edge_bl,outer_bright_a:3,fan,outer_bright_b,outer_bright_d,outer_bright_e,outer_bright_b,fan,outer_bright_a:3,slope_edge_br,45cu,-:2,45cd,slope_edge_bl,outer_bright_c,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_b1,walk_l,-:4,walk_r,walk_corner_tl,walk_u:10,walk_corner_tr,walk_l,-:4,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_b1,walk_l,-:4,walk_r,walk_l,-:10,walk_r,walk_l,-:4,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_b1,walk_l,-:4,walk_r,walk_l,-:10,walk_outercorner_bl,walk_outercorner_br,-:4,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,fan_dark,outer_bright_b1,walk_l,-:4,walk_r,walk_l,-:10,destroyable:2,-:4,walk_r,outer_bright_b1,fan_dark,outer_darker,outer_darkest:2,outer_darker,outer_dark_c,outer_bright_b1,walk_l,-:4,walk_r,walk_l,-:10,destroyable:2,-:4,walk_r,outer_bright_b1,outer_dark_c,outer_darker,outer_darkest:2,outer_darker,outer_dark_d,fan,walk_l,-:4,walk_r,laser_right,-:6,walk_outercorner_tl,exit,-,walk_d:2,walk_outercorner_tr,-:4,walk_r,outer_bright_c,outer_dark_d,outer_darker,outer_darkest:2,outer_darker,outer_dark_d,outer_bright_c,walk_l,-:4,walk_outercorner_bl,laser_right,-:6,walk_outercorner_bl,walk_u:4,walk_outercorner_br,-:4,walk_r,fan,outer_dark_d,outer_darker,outer_darkest:2,outer_darker,outer_dark_e,outer_bright_b1,walk_l,-:16,destroyable:2,-:4,walk_r,outer_bright_b1,outer_dark_e,outer_darker,outer_darkest:2,outer_darker,fan_dark,outer_bright_b1,walk_l,-:16,destroyable:2,-:4,walk_r,outer_bright_b1,fan_dark,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_b1,walk_l,-:4,walk_outercorner_tl,walk_outercorner_tr,-:10,walk_outercorner_tl,walk_outercorner_tr,-:4,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_b1,walk_l,-:4,walk_r,walk_l,-:10,walk_r,walk_l,-:4,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_b1,walk_l,-:4,walk_r,walk_corner_bl,walk_d:4,entrance,-,walk_d:4,walk_corner_br,walk_l,-:4,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_c,slope_edge_tr,walk_d:4,slope_edge_tl,outer_bright_a:2,outer_bright_c,outer_bright_b:2,fan:2,outer_bright_b:2,outer_bright_c,outer_bright_a,number,slope_edge_tr,walk_d:4,slope_edge_tl,outer_bright_c,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_a,fan,outer_bright_c:4,fan,outer_bright_a,outer_dark_c,outer_dark_b:3,fan_dark:2,outer_dark_b:3,outer_dark_c,outer_bright_a,fan,outer_bright_c:4,fan,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b:9,outer_dark_e,outer_darker:8,outer_dark_e,outer_dark_b:9,outer_darker,outer_darkest:2,outer_darker:12,outer_darkest:6,outer_darker:12,outer_darkest:33</t><peg>-:204,n,-:61,n,-:223,n,-:65,n,-:179</peg><a>-:357,mp_42v,-:145,mp_42v,-:23,player,-:208</a><path x="5" y="11" pts="[5,11]>[5,15]"/><path x="23" y="15" pts="[23,15]>[23,11]"/></level>
;
levelData["9c8675419f30d3c0a43d4faadc471644.xml"] = <level w="39" h="46"><t>outer_darkest:40,outer_darker:16,outer_darkest:23,outer_darker,outer_dark_b:2,outer_dark_h,outer_dark_g:9,outer_dark_f,outer_dark_b,outer_darker:2,outer_darkest:22,outer_darker,outer_dark_b,outer_bright_c,outer_bright_a:11,outer_dark_a,outer_dark_b,outer_darker:19,outer_darkest:4,outer_darker,outer_dark_b,outer_bright_b1,walk_corner_tl,walk_u:8,slope_edge_bl,arrow_left,outer_bright_a,outer_dark_a,outer_dark_b:18,outer_darker,outer_darkest:4,outer_darker,outer_dark_c,outer_bright_b1,walk_l,-:8,45cd,slope_edge_bl,outer_bright_a,fan,outer_bright_b:6,outer_bright_d:2,outer_bright_b:6,fan,arrow_left,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:4,outer_darker,outer_dark_d,outer_bright_b1,walk_l,-:9,45cd,walk_u:17,walk_corner_tr,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:4,outer_darker,outer_dark_d,outer_bright_b1,walk_l,-:27,walk_r,outer_bright_c,outer_dark_b,outer_darker,outer_darkest:4,outer_darker,outer_dark_e,outer_bright_b1,walk_l,-:27,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:4,outer_darker,outer_dark_b,outer_bright_b1,walk_l,-:27,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:4,outer_darker,outer_dark_b,outer_bright_b1,walk_corner_bl,walk_d,exit,-,walk_d:3,walk_outercorner_tr,-:20,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:4,outer_darker,outer_dark_b,outer_bright_c,outer_bright_a:6,arrow_left,walk_l,harmful:2,-:18,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:4,outer_darker,outer_dark_b:6,outer_dark_a,fan_dark,outer_bright_a,walk_l,harmful:2,-:17,walkrow_l,walk_intersection_3_l,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:4,outer_darker:8,outer_dark_a,outer_bright_a,walk_l,harmful:5,-:15,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:11,outer_darker,outer_dark_b,outer_bright_a,walk_l,harmful:5,-:15,walk_r,outer_bright_c,outer_dark_b,outer_darker,outer_darkest:11,outer_darker,outer_dark_b,outer_bright_a,walk_l,harmful,-:17,walkrow_l,walkrow_lr,walk_intersection_3_l,outer_bright_a,outer_dark_a,outer_darker:3,outer_darkest:9,outer_darker,outer_dark_b,outer_bright_a,walk_l,harmful,-:19,walk_r,outer_bright_a,outer_dark_h,outer_dark_g,outer_dark_f,outer_darker,outer_darkest:9,outer_darker,outer_dark_c,outer_bright_a,walk_l,harmful,-:19,walk_r,fan,outer_bright_a,outer_bright_c,outer_dark_b,outer_darker,outer_darkest:9,outer_darker,outer_dark_d,outer_bright_a,walk_l,harmful,-:19,45cd,walk_u,walk_corner_tr,outer_bright_b1,outer_dark_a,outer_darker,outer_darkest:9,outer_darker,outer_dark_d,fan,walk_l,harmful,-:21,walk_r,outer_bright_b1,fan_dark,outer_darker,outer_darkest:9,outer_darker,outer_dark_d,outer_bright_c,walk_l,harmful,-:13,harmful:2,-:6,walk_r,outer_bright_b1,fan_dark,outer_darker,outer_darkest:9,outer_darker,outer_dark_d,fan,walk_l,harmful,-:13,harmful:2,-:4,walk_outercorner_tl,walk_d,walk_corner_br,outer_bright_b1,outer_dark_a,outer_darker,outer_darkest:9,outer_darker,outer_dark_d,outer_bright_a,walk_l,harmful,-:13,harmful:2,checkpoint,-:3,walk_r,fan,outer_bright_a,outer_bright_c,outer_dark_b,outer_darker,outer_darkest:9,outer_darker,outer_dark_e,outer_bright_a,walk_l,harmful,-:13,harmful:2,walk_r,walk_corner_bl,walk_d:2,walk_corner_br,outer_bright_a,outer_dark_h,outer_dark_g,outer_dark_f,outer_darker,outer_darkest:9,outer_darker,outer_dark_b,arrow_up,walk_l,harmful,-:15,walk_outercorner_bl,walk_u,walk_corner_tr,arrow_up,outer_bright_a:2,outer_dark_b,outer_darker:3,outer_darkest:9,outer_darker,outer_dark_b,outer_bright_a,walk_l,harmful,-:17,walk_outercorner_bl,walk_u,walk_corner_tr,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:11,outer_darker,outer_dark_b,outer_bright_c,walk_l,harmful,-:19,walk_r,outer_bright_c,outer_dark_b,outer_darker,outer_darkest:11,outer_darker,outer_dark_b,outer_bright_b1,walk_l,harmful,-:19,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:11,outer_darker,outer_dark_b,outer_bright_b1,walk_l,harmful:2,-:18,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:11,outer_darker,outer_dark_b,fan,walk_l,harmful:2,-:18,walk_r,fan,outer_dark_c,outer_darker,outer_darkest:11,outer_darker,outer_dark_b,outer_bright_c,walk_l,harmful,-:19,walk_r,outer_bright_c,outer_dark_d,outer_darker,outer_darkest:11,outer_darker,outer_dark_b,outer_bright_b1,walk_l,harmful,-:17,walk_outercorner_tl,walk_d,walk_corner_br,outer_bright_b1,outer_dark_d,outer_darker,outer_darkest:11,outer_darker,outer_dark_b,outer_bright_b1,walk_l,harmful,-:17,walk_outercorner_bl,walk_u,walk_corner_tr,outer_bright_b1,outer_dark_d,outer_darker,outer_darkest:11,outer_darker,outer_dark_b,fan,walk_l,harmful,-:16,walk_single,-,harmful,walk_r,fan,outer_dark_d,outer_darker,outer_darkest:11,outer_darker,outer_dark_b,outer_bright_c,walk_l,harmful,-:17,harmful:2,walk_r,outer_bright_c,outer_dark_d,outer_darker,outer_darkest:11,outer_darker,outer_dark_b,outer_bright_b1,walk_l,harmful,-:17,harmful:2,walk_r,outer_bright_b1,outer_dark_d,outer_darker,outer_darkest:11,outer_darker,outer_dark_b,outer_bright_b1,walk_l,harmful:2,-:17,harmful,walk_r,outer_bright_b1,outer_dark_d,outer_darker,outer_darkest:11,outer_darker,outer_dark_b,fan,walk_l,harmful:2,-:17,harmful,walk_r,fan,outer_dark_e,outer_darker,outer_darkest:11,outer_darker,outer_dark_b,arrow_up,walk_l,harmful,-:18,harmful,walk_r,arrow_up,outer_dark_b,outer_darker,outer_darkest:11,outer_darker,outer_dark_b,outer_bright_a,walk_l,harmful,-:18,harmful,walk_r,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:11,outer_darker,outer_dark_b,outer_bright_a,walk_l,harmful:9,entrance,-,harmful:9,walk_r,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:11,outer_darker,outer_dark_b,outer_bright_a,walk_corner_bl,walk_d:9,walk_corner_br,walk_corner_bl,walk_d:9,walk_corner_br,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:11,outer_darker,outer_dark_b,outer_bright_a,fan,outer_bright_b:3,outer_bright_e,outer_bright_d,outer_bright_b:3,outer_bright_c,number,fan,outer_bright_c,outer_bright_b:3,outer_bright_d,outer_bright_e,outer_bright_b:3,fan,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:11,outer_darker,outer_dark_h,outer_dark_g:2,outer_dark_f,outer_dark_b:8,outer_dark_h,outer_dark_f,outer_dark_b:8,outer_dark_h,outer_dark_g:2,outer_dark_f,outer_darker,outer_darkest:11,outer_darker:28,outer_darkest:42</t><peg>-:615,n,-:119,n,-:343,n,-:159,nttll,-:554</peg><a>-:53,fold,-:14,fold,-:386,mp_42h,-:650,mp_42v,-:245,mp_42h,-:65,mp_42h,-:123,player,-:251</a><path x="14" y="1" pts="[14,1]>[11,2]"/><path x="29" y="1" pts="[29,1]>[32,2]"/><path x="26" y="11" pts="[26,11]>[14,11]"/><path x="14" y="28" pts="[14,28]>[14,22]"/><path x="26" y="34" pts="[26,34]>[14,34]"/><path x="14" y="36" pts="[14,36]>[26,36]"/></level>
;
levelData["5abacd05df1e5dc6b789c82db1d1c87e.xml"] = <level w="35" h="29"><t>outer_darkest:36,outer_darker:24,outer_darkest:11,outer_darker,outer_dark_b:10,outer_dark_h,outer_dark_g,outer_dark_f,outer_dark_a,outer_dark_h,outer_dark_g,outer_dark_f,outer_dark_b:5,outer_darker,outer_darkest:11,outer_darker,outer_dark_b,outer_bright_a:9,outer_bright_c,outer_bright_b:2,fan,outer_bright_b:2,outer_bright_c,outer_bright_a:4,outer_dark_b,outer_darker,outer_darkest:11,outer_darker,outer_dark_c,outer_bright_c,walk_corner_tl,walk_u:10,laser_down,walk_u:5,walk_corner_tr,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:11,outer_darker,outer_dark_d,outer_bright_b1,walk_l,-:16,walk_r,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:11,outer_darker,outer_dark_d,outer_bright_b1,walk_l,-:16,walk_r,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:11,outer_darker,outer_dark_e,outer_bright_c,walk_corner_bl,walk_d,entrance,-,walk_d,walk_outercorner_tr,-:11,walk_r,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:11,outer_darker,outer_dark_b,outer_bright_a:2,number,outer_bright_b:2,arrow_down,walk_l,-:11,walk_r,outer_bright_a,outer_dark_b,outer_darker:2,outer_darkest:10,outer_darker,outer_dark_b:6,outer_bright_a,walk_l,-:11,walk_r,outer_bright_a,outer_dark_b:2,outer_darker,outer_darkest:10,outer_darker:5,outer_dark_b,outer_bright_a,fan,walk_intersection_3_r,walkrow_lr,walkrow_r,-:7,walkrow_l,walkrow_lr,walk_intersection_3_l,fan,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:14,outer_darker,outer_dark_b,outer_bright_a,walk_corner_tl,walk_outercorner_br,-:11,walk_outercorner_bl,walk_corner_tr,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:14,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:4,walkrow_l,walkrow_lr:3,walkrow_r,-:4,walk_r,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:14,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:2,walk_single,-:7,walk_single,-:2,walk_r,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:14,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:13,walk_r,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:14,outer_darker,outer_dark_b,outer_bright_a,walk_corner_bl,walk_d:2,45fd,-,45fu,walk_d:3,45fd,-,45fu,walk_d:2,walk_corner_br,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:14,outer_darker,outer_dark_b,outer_bright_a:4,walk_l,destroyable,walk_outercorner_bl,walk_corner_tr,arrow_down,walk_corner_tl,walk_outercorner_br,destroyable,walk_r,outer_bright_a:4,outer_dark_b,outer_darker:9,outer_darkest:6,outer_darker,outer_dark_b,outer_dark_h,outer_dark_g,outer_dark_f,outer_bright_a,walk_l,-:2,walk_r,outer_bright_b1,walk_l,-:2,walk_r,fan,outer_dark_h,outer_dark_g,outer_dark_f,outer_dark_h,outer_dark_g,outer_dark_f,outer_dark_b:6,outer_darker,outer_darkest:6,outer_darker:4,outer_dark_b,outer_bright_a,walk_l,-:2,laser_left,fan,laser_right,-:2,walk_r,fan,outer_bright_a:11,outer_dark_b,outer_darker,outer_darkest:9,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:2,walk_outercorner_bl,walk_u,walk_outercorner_br,-:2,walk_r,walk_corner_tl,walk_u:9,walk_corner_tr,fan,outer_dark_b,outer_darker,outer_darkest:9,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:7,walk_r,walk_l,-:9,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:9,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:7,walk_outercorner_bl,walk_outercorner_br,-:9,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:9,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:18,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:9,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:18,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:9,outer_darker,outer_dark_b,outer_bright_a,walk_corner_bl,walk_d:15,exit,-,walk_d,walk_corner_br,fan,outer_dark_b,outer_darker,outer_darkest:9,outer_darker,outer_dark_b,outer_bright_a,arrow_right,outer_bright_b:2,outer_bright_d,arrow_right,outer_bright_e,outer_bright_b:2,arrow_right,outer_bright_a:6,outer_bright_c,outer_bright_b:2,outer_bright_c,outer_bright_a:2,outer_dark_b,outer_darker,outer_darkest:9,outer_darker,outer_dark_b:17,outer_dark_h,outer_dark_g:2,outer_dark_f,outer_dark_b:3,outer_darker,outer_darkest:9,outer_darker:26,outer_darkest:36</t><peg>-:152,nr,-:5,nl,-:130,nt,-:11,nt,-:713</peg><a>-:216,player,-:798</a></level>
;
levelData["807570b01f1dba80f430f50de90961da.xml"] = <level w="30" h="24"><t>outer_darkest:38,outer_darker:14,outer_darkest:9,outer_darker:8,outer_dark_b:12,outer_darker:8,outer_darkest:2,outer_darker,outer_dark_b:8,outer_bright_a:2,fan,outer_bright_b,outer_bright_e:2,outer_bright_b,fan,outer_bright_a:2,outer_dark_b:8,outer_darker,outer_darkest:2,outer_darker,outer_dark_c,outer_bright_a:7,outer_bright_c,walk_corner_tl,walk_u:6,walk_corner_tr,outer_bright_c,outer_bright_a:7,outer_dark_c,outer_darker,outer_darkest:2,outer_darker,outer_dark_d,outer_bright_a,walk_corner_tl,walk_u:6,prox_laser,-:6,prox_laser,walk_u:6,walk_corner_tr,outer_bright_a,outer_dark_d,outer_darker,outer_darkest:2,outer_darker,outer_dark_e,outer_bright_a,walk_l,-:20,walk_r,outer_bright_a,outer_dark_e,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,fan,walk_l,-:20,walk_r,fan,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_b1,walk_l,-:16,walk_outercorner_tl,walk_outercorner_tr,-:2,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_b1,walk_l,-:16,walk_r,walk_l,-:2,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_c,fan,walk_l,-:2,walk_outercorner_tl,walk_outercorner_tr,-:12,walk_r,walk_l,-:2,walk_r,fan,outer_dark_c,outer_darker,outer_darkest:2,outer_darker,outer_dark_d,number,walk_l,-:2,walk_r,walk_l,-:12,walk_r,walk_l,-:2,walk_r,outer_bright_a,outer_dark_d,outer_darker,outer_darkest:2,outer_darker,outer_dark_d,outer_bright_a,walk_corner_bl,walk_d:2,walk_corner_br,walk_corner_bl,walk_d:2,prox_laser,-:6,prox_laser,walk_d:2,walk_corner_br,walk_corner_bl,exit,-,walk_corner_br,outer_bright_a,outer_dark_d,outer_darker,outer_darkest:2,outer_darker,outer_dark_e,outer_bright_a,fan,outer_bright_b:4,outer_bright_c,arrow_right,walk_l,-:6,walk_r,arrow_right,outer_bright_c,outer_bright_b:4,fan,outer_bright_a,outer_dark_e,outer_darker,outer_darkest:2,outer_darker,outer_dark_b:2,outer_dark_h,outer_dark_f,outer_dark_b:4,outer_bright_c,walk_l,-:6,walk_r,outer_bright_c,outer_dark_b:4,outer_dark_h,outer_dark_f,outer_dark_b:2,outer_darker,outer_darkest:2,outer_darker:8,outer_dark_b,outer_bright_b1,walk_l,-:6,walk_r,outer_bright_b1,outer_dark_b,outer_darker:8,outer_darkest:9,outer_darker,outer_dark_b,outer_bright_b1,walk_intersection_3_r,walkrow_r,-:4,walkrow_l,walk_intersection_3_l,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:16,outer_darker,outer_dark_b,outer_bright_b1,walk_l,-:6,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:16,outer_darker,outer_dark_b,outer_bright_b1,walk_l,-:6,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:16,outer_darker,outer_dark_b,fan,walk_corner_bl,walk_d:2,entrance,-,walk_d:2,walk_corner_br,fan,outer_dark_b,outer_darker,outer_darkest:16,outer_darker,outer_dark_b,outer_bright_c,outer_bright_b:2,outer_bright_e,fan:2,outer_bright_d,outer_bright_b:2,outer_bright_c,outer_dark_b,outer_darker,outer_darkest:16,outer_darker,outer_dark_b,outer_dark_h,outer_dark_g:2,outer_dark_f,fan_dark:2,outer_dark_h,outer_dark_g:2,outer_dark_f,outer_dark_b,outer_darker,outer_darkest:16,outer_darker:14,outer_darkest:38</t><peg>-:368,n,-:12,n,-:79,n,-:6,n,-:251</peg><a>-:554,player,-:165</a></level>
;
levelData["09a84d700f99f085f1a6f4f4fac397e3.xml"] = <level w="38" h="32"><t>outer_darkest:15,outer_darker:15,outer_darkest:23,outer_darker,outer_dark_b:4,outer_dark_a,outer_dark_b:3,outer_dark_a,outer_dark_b:4,outer_darker,outer_darkest:8,outer_darker:16,outer_dark_b,outer_bright_a:2,outer_bright_c,outer_bright_b,outer_bright_c,outer_bright_a,outer_bright_c,outer_bright_b,outer_bright_c,outer_bright_a:2,outer_dark_b,outer_darker,outer_darkest:8,outer_darker,outer_dark_b:16,outer_bright_a,walk_corner_tl,walk_u:7,walk_corner_tr,outer_bright_a,outer_dark_b,outer_darker:6,outer_darkest:3,outer_darker,outer_dark_b,outer_bright_a:2,fan,outer_bright_b,outer_bright_e:2,outer_bright_b,fan,outer_bright_a:8,walk_l,-:7,walk_r,outer_bright_a,outer_dark_b:6,outer_darker:2,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_a,walk_corner_tl,walk_u:6,walk_corner_tr,outer_bright_b:2,walk_corner_tl,walk_u:4,walk_outercorner_br,-:7,walk_r,outer_bright_a:6,outer_dark_b:2,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_c,walk_l,-:6,walk_r,outer_bright_b:2,walk_l,-:12,walk_outercorner_bl,walk_u:3,walk_corner_tr,prox_laser,outer_bright_a:2,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_b1,walk_l,-:6,walk_r,outer_bright_b:2,walk_l,-:8,walk_outercorner_tl,walk_d:3,walk_outercorner_tr,-:3,walk_outercorner_bl,walk_u,walk_corner_tr,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_c,walk_l,-:6,walk_outercorner_bl,walk_corner_tr,walk_corner_tl,walk_outercorner_br,-:5,walk_outercorner_tl,walk_d:2,walk_corner_br,prox_laser,outer_bright_a:2,walk_l,-:5,walk_r,outer_bright_c,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_a,walk_corner_bl,walk_d,entrance,-,walk_outercorner_tr,-:3,walk_r,walk_l,-:3,walk_outercorner_tl,walk_d:2,walk_corner_br,outer_bright_a:4,fan_dark,outer_bright_a,walk_l,-:5,walk_r,outer_bright_b1,outer_dark_a,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_a:4,walk_corner_tl,prox_laser,-:3,walk_r,walk_l,-:3,prox_laser,walk_corner_tr,outer_bright_c,outer_bright_b,outer_bright_c,outer_dark_b:4,outer_bright_a,walk_corner_bl,walk_d:3,walk_outercorner_tr,-,walk_r,outer_bright_c,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b:4,outer_bright_a,walk_l,-:3,walkrow_l,walk_intersection_3_l,walk_intersection_3_r,walkrow_r,-:3,walk_r,outer_bright_a,outer_dark_b:3,outer_darker:2,outer_dark_b,outer_bright_a,outer_bright_c,outer_bright_b,outer_bright_c,outer_bright_a,walk_l,-,walk_r,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:2,outer_darker:4,outer_dark_c,outer_bright_a,walk_l,-:4,walk_r,walk_l,-:4,walk_r,outer_bright_a,outer_dark_c,outer_darker:4,outer_dark_h,outer_dark_g:3,outer_dark_f,arrow_down,walk_l,-,walk_r,arrow_down,outer_dark_b,outer_darker,outer_darkest:5,outer_darker,outer_dark_d,outer_bright_a,walk_l,-:4,walk_r,walk_l,-:4,walk_r,outer_bright_a,outer_dark_d,outer_darker,outer_darkest:2,outer_darker:5,outer_dark_b,outer_bright_a,walk_l,-,walk_r,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:5,outer_darker,outer_dark_d,outer_bright_a,walk_corner_bl,walk_d:4,walk_corner_br,walk_corner_bl,walk_d:4,walk_corner_br,outer_bright_a,outer_dark_d,outer_darker:7,outer_dark_b:2,outer_bright_a,walk_l,-,walk_r,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:5,outer_darker,outer_dark_e,outer_bright_a,outer_bright_c,outer_bright_b:10,outer_bright_c,outer_bright_a,outer_dark_e,outer_dark_b,outer_dark_h,outer_dark_g:3,outer_dark_f,outer_dark_b:2,outer_bright_a:2,walk_l,-,walk_r,outer_bright_a,outer_dark_b,outer_darker:3,outer_darkest:3,outer_darker,outer_dark_b:2,fan_dark,outer_bright_c,outer_bright_b:8,outer_bright_c,outer_bright_a:13,walk_l,-,walk_r,outer_bright_a,outer_dark_b:3,outer_darker,outer_darkest:3,outer_darker:3,outer_dark_b,outer_bright_a,walk_corner_tl,walk_u:4,walk_corner_tr,fan:2,walk_corner_tl,walk_u:10,walk_corner_tr,outer_bright_b:2,walk_l,-,walk_r,outer_bright_a:3,outer_dark_b,outer_darker,outer_darkest:5,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:4,walk_outercorner_bl,walk_u:2,walk_outercorner_br,-:10,walk_r,outer_bright_b:2,walk_l,-,walk_outercorner_bl,walk_u,walk_corner_tr,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:5,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:18,walk_r,outer_bright_b:2,walk_l,-:3,walk_r,outer_bright_c,outer_dark_b,outer_darker,outer_darkest:5,outer_darker,outer_dark_b,outer_bright_c,walk_l,-:4,walk_outercorner_tl,walk_d:7,walk_outercorner_tr,-:5,walk_r,outer_bright_b:2,walk_corner_bl,reset,walk_outercorner_tr,-,walk_r,outer_bright_b1,outer_dark_a,outer_darker,outer_darkest:5,outer_darker,outer_dark_a,outer_bright_b1,walk_l,-:4,walk_r,outer_bright_c,outer_bright_b:2,fan,prox_laser,walk_corner_tl,walk_u,walk_outercorner_br,-:5,walk_outercorner_bl,prox_laser,walk_u:2,walk_corner_tr,walk_l,-,walk_r,outer_bright_c,outer_dark_b,outer_darker,outer_darkest:5,outer_darker,outer_dark_b,outer_bright_c,walk_l,-:4,walk_r,fan,outer_dark_h,outer_dark_g,outer_dark_f,fan,walk_l,-:11,walk_outercorner_bl,walk_outercorner_br,-,walk_r,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:5,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:4,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_dark_b,outer_bright_b1,walk_l,-,harmful,-:2,harmful,-:9,walk_r,outer_bright_c,outer_dark_b,outer_darker,outer_darkest:5,outer_darker,outer_dark_b,outer_bright_a,walk_corner_bl,walk_d,exit,-,walk_d,walk_corner_br,outer_bright_b1,outer_dark_b,outer_darker,outer_dark_b,outer_bright_b1,walk_l,-:2,harmful:2,-:2,walk_outercorner_tl,walk_d,walk_outercorner_tr,-:5,walk_r,outer_bright_b1,outer_dark_a,outer_darker,outer_darkest:5,outer_darker,outer_dark_b,outer_bright_a:2,outer_bright_c,outer_bright_b:2,outer_bright_c,outer_bright_a,fan,outer_dark_b,outer_darker,outer_dark_b,outer_bright_b1,walk_l,-:2,harmful:2,-:2,walk_r,outer_bright_c,walk_l,-:5,walk_r,outer_bright_c,outer_dark_b,outer_darker,outer_darkest:5,outer_darker,outer_dark_b:3,outer_dark_a,outer_dark_h,outer_dark_f,outer_dark_a,outer_dark_b:3,outer_darker,outer_dark_b,outer_bright_b1,walk_l,-,harmful,-:2,harmful,-,walk_r,outer_bright_b1,walk_corner_bl,walk_d:3,checkpoint,-,walk_corner_br,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:5,outer_darker:12,outer_dark_b,outer_bright_b1,walk_l,-:6,walk_r,outer_bright_b1,outer_bright_a:8,outer_dark_b,outer_darker,outer_darkest:16,outer_darker,outer_dark_b,outer_bright_c,walk_corner_bl,walk_d:6,walk_corner_br,outer_bright_b1,outer_dark_b,outer_dark_h,outer_dark_g:3,outer_dark_f,outer_dark_b:3,outer_darker,outer_darkest:16,outer_darker,outer_dark_b,outer_bright_a:2,fan,outer_bright_b:4,fan,outer_bright_a,outer_bright_c,outer_dark_b,outer_darker:9,outer_darkest:16,outer_darker,outer_dark_b:4,outer_dark_h,outer_dark_g:2,outer_dark_f,outer_dark_b:4,outer_darker,outer_darkest:24,outer_darker:14,outer_darkest:8</t><peg>-:140,n,-:40,n,-:75,ntt,-:171,nll,-,nll,-:347,n,-:75,n,-:82,n,-:277</peg><a>-:309,player,-:906</a></level>
;
levelData["5536a3fdc8e21ea6a87a4697eba89bdf.xml"] = <level w="26" h="26"><t>outer_darkest:27,outer_darker:24,outer_darkest:2,outer_darker,outer_dark_b:22,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,fan,outer_bright_b:4,outer_bright_c,outer_bright_b:4,outer_bright_d,outer_bright_e,outer_bright_b:3,outer_bright_c,outer_bright_b:3,fan,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_a,walk_corner_tl,walk_u:8,walk_corner_tr,walk_corner_tl,walk_u:6,walk_corner_tr,outer_bright_c,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:8,walk_r,walk_l,-:6,walk_r,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:8,walk_r,walk_l,-:6,walk_r,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:2,walk_outercorner_tl,walk_outercorner_tr,-:4,walk_r,walk_l,-:6,walk_r,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:2,walk_r,walk_l,-:4,walk_r,walk_l,-:6,walk_r,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,fan_dark,outer_bright_c,walk_l,-:2,walk_r,walk_l,-:4,walk_r,walk_l,-:6,walk_r,outer_bright_c,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_a,outer_bright_b1,walk_l,-:2,walk_r,walk_corner_bl,walk_d:4,walk_corner_br,walk_corner_bl,walk_d:6,walk_corner_br,outer_bright_a,outer_dark_a,outer_darker,outer_darkest:2,outer_darker,outer_dark_c,outer_bright_b1,walk_l,-,walk_outercorner_tl,walk_corner_br,walk_corner_tl,walk_u:4,walk_corner_tr,walk_corner_tl,walk_u:3,walk_corner_tr,arrow_down,outer_bright_b:2,fan,outer_dark_a,outer_darker,outer_darkest:2,outer_darker,outer_dark_d,outer_bright_b1,walk_corner_bl,walk_d,walk_corner_br,arrow_down,walk_l,-:4,walk_r,walk_l,-:3,walk_outercorner_bl,walk_u:2,walk_corner_tr,outer_bright_c,outer_dark_a,outer_darker,outer_darkest:2,outer_darker,outer_dark_e,outer_bright_b1,walk_corner_tl,walk_u:2,walk_corner_tr,walk_l,-:4,walk_r,walk_l,-:6,walk_r,outer_bright_c,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_a,outer_bright_b1,walk_l,-:2,walk_r,walk_l,-:4,walk_r,walk_l,-:6,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,fan_dark,outer_bright_c,walk_l,-:2,walk_r,walk_l,-:4,walk_r,walk_corner_bl,walk_outercorner_tr,-:5,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:2,walk_r,walk_corner_bl,walk_d,entrance,-,walk_d,walk_corner_br,number,walk_corner_bl,walk_d:5,walk_corner_br,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:2,walk_outercorner_bl,walk_u:5,walk_corner_tr,walk_corner_tl,walk_u:6,walk_corner_tr,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:8,walk_r,walk_l,-:6,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:8,walk_r,walk_l,-:6,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:8,walk_r,walk_l,-:6,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_a,walk_corner_bl,walk_d:8,walk_corner_br,walk_corner_bl,walk_d,reset,exit,-,reset,walk_d,walk_corner_br,outer_bright_c,outer_dark_a,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_c,outer_bright_b:9,arrow_right:2,outer_bright_b:7,outer_bright_c,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b:11,outer_dark_a:2,outer_dark_h,outer_dark_g:5,outer_dark_f,outer_dark_b:2,outer_darker,outer_darkest:2,outer_darker:24,outer_darkest:27</t><peg>-:248,n,-:49,nt,-:2,nt,-:24,n,-:101,nt,-:2,nt,-:244</peg><a>-:400,player,-:275</a></level>
;
levelData["f579e8b23854426bb89f15c7f5cf7913.xml"] = <level w="53" h="29"><t>outer_darkest:10,outer_darker:15,outer_darkest:28,outer_darker:11,outer_dark_c,outer_dark_b:4,outer_dark_h,outer_dark_g,outer_dark_f,outer_dark_b:5,outer_darker:23,outer_darkest:6,outer_darker,outer_dark_b:10,outer_dark_e,outer_bright_a:2,outer_bright_c,outer_bright_b:5,outer_bright_c,outer_bright_a:2,fan_dark,outer_dark_b:6,fan_dark,outer_dark_b:15,outer_darker,outer_darkest:6,outer_darker,outer_dark_b,outer_bright_a:2,fan,outer_bright_b:6,fan,arrow_right,slope_edge_br,walk_u:7,slope_edge_bl,outer_bright_c,outer_bright_b,outer_bright_c,outer_bright_a:4,outer_bright_c,outer_bright_b,outer_bright_c,outer_bright_a:13,outer_dark_b,outer_darker,outer_darkest:6,outer_darker,outer_dark_b,outer_bright_a,walk_corner_tl,walk_u:9,45cu,-:7,45cd,slope_edge_bl,fan,slope_edge_br,walk_u:4,slope_edge_bl,fan,slope_edge_br,walk_u:11,walk_corner_tr,fan,outer_dark_b,outer_darker,outer_darkest:6,outer_darker,outer_dark_b,outer_bright_c,walk_l,-:18,45cd,walk_u,45cu,-:4,45cd,walk_u,45cu,-:11,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:6,outer_darker,fan_dark,outer_bright_b1,walk_l,-:39,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:6,outer_darker,fan_dark,outer_bright_b1,walk_l,-:28,walk_outercorner_tl,checkpoint,-,walk_d:3,-:5,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:6,outer_darker,outer_dark_b,outer_bright_c,walk_l,-:28,walk_r,fan,outer_bright_a:4,-:5,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:6,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:9,walk_outercorner_tl,walk_outercorner_tr,-:6,walk_outercorner_tl,walk_d:10,walk_corner_br,outer_bright_a,outer_dark_c,outer_dark_b,outer_dark_a,outer_dark_b,outer_dark_c,outer_bright_a,walk_l,-:2,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:6,outer_darker,outer_dark_b,outer_bright_c,walk_l,-:9,walk_outercorner_bl,walk_outercorner_br,-:6,walk_outercorner_bl,walk_u,walk_corner_tr,outer_bright_a:3,outer_bright_c,outer_bright_e,outer_bright_d,outer_bright_c,outer_bright_a:2,arrow_right,outer_dark_d,outer_darker:3,outer_dark_d,outer_bright_a,walk_l,-:2,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:6,outer_darker,fan_dark,outer_bright_b1,walk_l,-:19,walk_r,outer_bright_c,outer_dark_b,outer_dark_h,outer_dark_g:4,outer_dark_f,outer_dark_b:2,outer_dark_d,outer_darker:3,outer_dark_d,outer_bright_a,walk_l,-:2,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:6,outer_darker,fan_dark,outer_bright_b1,walk_l,-:19,walk_r,outer_bright_b1,outer_dark_a,outer_darker:6,outer_dark_b:2,outer_dark_e,outer_dark_b,outer_dark_a,outer_dark_b,outer_dark_e,outer_bright_a,walk_l,-:2,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:6,outer_darker,outer_dark_b,outer_bright_c,walk_corner_bl,walk_d,walk_outercorner_tr,-:17,walk_r,outer_bright_c,outer_dark_c,outer_darker,outer_darkest:4,outer_darker,outer_dark_b,outer_bright_a:6,fan,walk_l,-:2,walk_r,outer_bright_b1,outer_dark_b,outer_darker:8,outer_dark_b,outer_bright_a:2,outer_bright_c,walk_l,-:17,walk_r,outer_bright_a,outer_dark_d,outer_darker,outer_darkest:4,outer_darker,outer_dark_b,outer_bright_a,walk_corner_tl,walk_u:5,walk_outercorner_br,-:2,walk_r,outer_bright_b1,outer_dark_b:7,outer_darker:2,outer_dark_b:3,outer_bright_b1,walk_l,-:17,walk_r,outer_bright_a,outer_dark_d,outer_darker,outer_darkest:4,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:8,walk_r,fan,outer_bright_b:4,outer_bright_c,outer_bright_a,outer_dark_b,outer_darker:4,outer_dark_b,outer_bright_b1,walk_corner_bl,walk_d,walk_outercorner_tr,-:15,walk_r,outer_bright_c,outer_dark_e,outer_darker,outer_darkest:4,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:8,walk_r,walk_corner_tl,walk_u:4,walk_corner_tr,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_c,outer_bright_a,fan,walk_l,-:15,walk_r,outer_bright_b1,outer_dark_a,outer_darker,outer_darkest:4,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:8,walk_r,walk_l,-:4,walk_r,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b:3,outer_bright_b1,walk_l,-:15,walk_r,outer_bright_c,outer_dark_c,outer_darker,outer_darkest:4,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:5,walk_outercorner_tl,walk_d:2,walk_corner_br,walk_l,-:4,walk_r,outer_bright_c,outer_dark_b,outer_darker,outer_darkest:2,outer_darker:3,outer_dark_b,outer_bright_b1,walk_l,-:15,walk_r,outer_bright_a,outer_dark_d,outer_darker,outer_darkest:4,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:4,walk_outercorner_tl,walk_corner_br,walk_corner_tl,walk_u:2,walk_outercorner_br,-:4,walk_r,outer_bright_b1,outer_dark_a,outer_darker,outer_darkest:4,outer_darker,outer_dark_b,outer_bright_b1,walk_l,-:15,walk_r,outer_bright_a,outer_dark_d,outer_darker,outer_darkest:4,outer_darker,outer_dark_b,outer_bright_a,walk_corner_bl,walk_d,walk_outercorner_tr,-:2,walk_outercorner_bl,walk_u,walk_outercorner_br,-:7,walk_r,outer_bright_b1,outer_dark_a,outer_darker,outer_darkest:4,outer_darker,outer_dark_b,outer_bright_b1,walk_l,-:15,walk_r,outer_bright_c,outer_dark_e,outer_darker,outer_darkest:4,outer_darker,outer_dark_b,outer_bright_a:3,walk_l,-:12,walk_r,outer_bright_c,outer_dark_b,outer_darker,outer_darkest:4,outer_darker,outer_dark_b,outer_bright_b1,walk_l,-:15,walk_r,outer_bright_b1,outer_dark_a,outer_darker,outer_darkest:4,outer_darker,outer_dark_b:3,outer_bright_a,walk_l,-:11,walk_outercorner_tl,walk_corner_br,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:4,outer_darker,outer_dark_b,outer_bright_b1,walk_l,-:15,walk_r,outer_bright_c,outer_dark_b,outer_darker,outer_darkest:4,outer_darker:3,outer_dark_b,arrow_right,walk_l,-:11,walk_r,outer_bright_a:2,outer_dark_b,outer_darker,outer_darkest:4,outer_darker,outer_dark_b,outer_bright_b1,walk_corner_bl,walk_d:12,entrance,-,walk_d,walk_corner_br,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:6,outer_darker,outer_dark_a,outer_bright_a,walk_l,-:11,walk_r,outer_bright_a,outer_dark_b:2,outer_darker,outer_darkest:4,outer_darker,outer_dark_b,outer_bright_c,fan,outer_bright_b:2,outer_bright_c,fan,outer_bright_b:2,outer_bright_c,number,outer_bright_b:2,fan,outer_bright_c,outer_bright_b:2,arrow_left,outer_bright_c,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:6,outer_darker,outer_dark_a,outer_bright_a,walk_corner_bl,walk_d:8,exit,-,walk_d,walk_corner_br,outer_bright_a,outer_dark_b,outer_darker:2,outer_darkest:4,outer_darker,outer_dark_b:5,outer_dark_h,outer_dark_f,outer_dark_b:6,outer_dark_h,outer_dark_f,outer_dark_b:6,outer_darker,outer_darkest:6,outer_darker,outer_dark_b,outer_bright_a:2,outer_bright_c,outer_bright_b:2,outer_bright_c,outer_bright_a,outer_bright_c,outer_bright_b,fan,outer_bright_c:2,fan,outer_bright_b,outer_bright_c,outer_dark_b,outer_darker,outer_darkest:5,outer_darker:23,outer_darkest:6,outer_darker,outer_dark_b:4,outer_dark_a:2,outer_dark_b:3,outer_dark_h,outer_dark_g,outer_dark_f,outer_dark_h,outer_dark_g,outer_dark_f,outer_dark_b:2,outer_darker,outer_darkest:34,outer_darker:19,outer_darkest</t><a>-:398,tch,-:43,tch,-:6,fold,-:15,tch,-:127,tch,-:5,fold,-:42,fold,-:216,fold,-:131,tch,-:135,tch,-:111,player,-:297</a><path x="25" y="8" pts="[25,8]>[28,8]"/><path x="16" y="11" pts="[16,11]>[19,11]"/><path x="6" y="12" pts="[6,12]>[7,9]"/><path x="11" y="16" pts="[11,16]>[13,22]"/></level>
;
levelData["4a7807743a7301a4566a4a70276afacc.xml"] = <level w="68" h="26"><t>outer_darker:18,outer_darkest:50,outer_darker,outer_dark_b:14,outer_dark_c,outer_dark_b,outer_darker,outer_darkest:14,outer_darker:12,outer_darkest:24,outer_darker,outer_dark_b,outer_bright_a:3,outer_bright_c,outer_bright_b:2,outer_bright_c,outer_bright_a:5,outer_bright_c,outer_dark_e,outer_dark_c,outer_darker:2,outer_darkest:13,outer_darker,outer_dark_b:10,outer_darker,outer_darkest:11,outer_darker:14,outer_dark_b,outer_bright_a,walk_corner_tl,walk_u:9,slope_edge_bl,outer_bright_a,fan,outer_dark_e,outer_dark_c,outer_darker,outer_darkest:10,outer_darker:4,outer_dark_b,outer_bright_a,outer_bright_c,outer_bright_b,outer_bright_d:2,outer_bright_b,outer_bright_c,outer_bright_a,outer_dark_b,outer_darker:13,outer_dark_b:3,outer_dark_h,outer_dark_g:3,outer_dark_f,outer_dark_b:3,outer_darker:2,outer_dark_b,outer_bright_a,walk_l,-:9,45cd,slope_edge_bl,outer_bright_a,outer_bright_c,outer_dark_e,outer_darker,outer_darkest:5,outer_darker:6,outer_dark_b:4,outer_bright_a,walk_corner_tl,walk_u:4,walk_corner_tr,outer_bright_a,outer_dark_b:2,outer_dark_h,outer_dark_g:2,outer_dark_f,outer_dark_b:2,outer_dark_h,outer_dark_g:2,outer_dark_f,outer_dark_b:2,outer_dark_a,outer_bright_c,outer_bright_a:8,outer_dark_b,outer_darker:2,outer_dark_b,outer_bright_a,walk_l,-:10,45cd,slope_edge_bl,outer_bright_a,fan_dark,outer_darker:7,outer_dark_b:6,outer_bright_a:4,walk_l,-:4,walk_r,outer_bright_a:2,fan,outer_bright_b:4,outer_bright_e:2,outer_bright_b:4,fan,outer_bright_a,outer_bright_c:2,walk_corner_tl,walk_u:5,walk_corner_tr,outer_bright_a,outer_dark_c,outer_darker:2,outer_dark_b,outer_bright_a,walk_corner_bl,reset,walk_d,entrance,-,walk_outercorner_tr,-:6,walk_r,outer_bright_a,outer_dark_b:5,outer_dark_h,outer_dark_g:2,outer_dark_f,outer_bright_a,outer_bright_c,outer_bright_b:2,outer_bright_c,outer_bright_a,walk_corner_tl,walk_u:2,walk_outercorner_br,-:4,walk_outercorner_bl,walk_u:14,walk_corner_tr,outer_bright_c:2,walk_l,-:5,walk_r,fan,outer_dark_d,outer_darker:2,outer_dark_b,outer_bright_a:2,fan,outer_bright_b,fan:2,walk_l,-:6,walk_r,outer_bright_a:7,outer_dark_h,outer_dark_f,outer_bright_a:2,slope_edge_br,walk_u:3,walk_corner_tr,walk_l,-:21,harmful,walk_r,outer_bright_a,slope_edge_br,45cu,-:5,walk_r,outer_bright_b1,outer_dark_d,outer_darker:2,outer_dark_b:5,outer_dark_c,outer_bright_a,slope_edge_tr,45fd,-:4,45fu,slope_edge_tl,slope_edge_br,walk_u:4,walk_corner_tr,outer_bright_a,fan_dark,outer_bright_a:2,slope_edge_br,45cu,-:3,walk_r,slope_edge_tr,45fd,-:20,harmful,walk_r,slope_edge_br,45cu,-:6,walk_r,outer_bright_b1,outer_dark_d,outer_darker:7,outer_dark_d,outer_bright_a:2,slope_edge_tr,45fd,-:2,45fu,slope_edge_tl,slope_edge_br,45cu,-:4,walk_r,outer_bright_a,fan,outer_bright_a,slope_edge_br,45cu,-:4,walk_r,fan,slope_edge_tr,walk_d:2,reset,checkpoint,-,reset,walk_d:2,walk_outercorner_tr,-:11,harmful,walk_outercorner_bl,45cu,-:7,walk_r,fan,outer_dark_d,outer_darker,outer_darkest:5,outer_darker,outer_dark_e,outer_dark_b,outer_bright_a:2,slope_edge_tr,walk_d:2,slope_edge_tl,slope_edge_br,45cu,-:5,walk_r,outer_bright_a,outer_bright_c,slope_edge_br,45cu,-:5,walk_r,outer_bright_b1,outer_bright_a:3,outer_bright_c,fan:2,outer_bright_c,outer_bright_a:2,walk_l,-:11,harmful,-:4,45fu,walk_d,exit,-,walk_d,walk_corner_br,outer_bright_a,outer_dark_e,outer_darker,outer_darkest:5,outer_darker:2,outer_dark_b:2,outer_bright_a:2,outer_bright_c:2,outer_bright_a,walk_l,-:6,walk_r,outer_bright_a,walk_corner_tl,walk_outercorner_br,-:6,walk_r,outer_bright_b1,outer_dark_b,outer_dark_h,outer_dark_g:4,outer_dark_f,outer_dark_b,outer_bright_a,walk_l,-:11,harmful,-:4,walk_outercorner_bl,walk_u:3,walk_corner_tr,outer_bright_a:2,outer_dark_b,outer_darker,outer_darkest:6,outer_darker:2,outer_dark_b:3,outer_dark_a:2,outer_bright_a,walk_l,-:6,walk_r,outer_bright_a,walk_l,-:7,walk_r,outer_bright_b1,outer_dark_b,outer_darker:6,outer_dark_b,outer_bright_a,walk_l,-:11,harmful,-:8,walk_r,outer_bright_a,outer_dark_b:2,outer_darker,outer_darkest:7,outer_darker:5,outer_dark_b,outer_bright_a,walk_l,-:6,walk_r,outer_bright_a,walk_l,-:7,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:4,outer_darker,outer_dark_c,outer_bright_c,walk_l,-:11,harmful,-:6,harmful,-,walk_r,outer_bright_a,outer_dark_b,outer_darker:2,outer_darkest:11,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:6,walk_r,outer_bright_a,walk_corner_bl,walk_d:2,45fd,-:4,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:4,outer_darker,outer_dark_e,outer_bright_c,walk_l,harmful:12,-:8,walk_r,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:12,outer_darker,outer_dark_b,outer_bright_a,walk_l,harmful:6,walk_r,outer_bright_a:4,walk_l,harmful:4,walk_r,outer_bright_c,outer_dark_b,outer_darker,outer_darkest:4,outer_darker,outer_dark_b,outer_bright_a,walk_corner_bl,walk_d:8,walk_outercorner_tr,-:11,walk_r,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:12,outer_darker,outer_dark_b,outer_bright_a,walk_corner_bl,walk_d:6,walk_corner_br,outer_bright_a,outer_dark_h,outer_dark_f,outer_bright_a,walk_corner_bl,walk_d:4,walk_corner_br,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:4,outer_darker,outer_dark_b,outer_bright_a:3,outer_bright_c:2,outer_bright_b,outer_bright_c:2,outer_bright_a:2,walk_l,-:11,walk_r,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:12,outer_darker,outer_dark_b,outer_bright_a:2,outer_bright_c,outer_bright_b:4,outer_bright_c,outer_bright_a:2,outer_dark_h,outer_dark_f,outer_bright_a:2,outer_bright_c,outer_bright_b:2,outer_bright_c,outer_bright_a:2,outer_dark_b,outer_darker,outer_darkest:4,outer_darker,outer_dark_b:4,outer_dark_a:5,outer_dark_b,outer_bright_a,walk_l,-:11,walk_r,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:12,outer_darker,outer_dark_b:10,outer_dark_h,outer_dark_g:2,outer_dark_f,outer_dark_b:8,outer_darker,outer_darkest:4,outer_darker:10,outer_dark_b,outer_bright_a,walk_l,-:11,walk_r,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:12,outer_darker:24,outer_darkest:13,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:11,walk_r,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:49,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:11,walk_r,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:49,outer_darker,outer_dark_b,outer_bright_a,walk_l,harmful:11,walk_r,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:49,outer_darker,outer_dark_b,outer_bright_a,walk_corner_bl,walk_d:11,walk_corner_br,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:49,outer_darker,outer_dark_b,outer_bright_a:5,outer_bright_c:2,outer_bright_b,outer_bright_c:2,outer_bright_a:5,outer_dark_b,outer_darker,outer_darkest:49,outer_darker,fan_dark,outer_dark_b:5,outer_dark_a:5,outer_dark_b:5,fan_dark,outer_darker,outer_darkest:49,outer_darker:19,outer_darkest</t><peg>-:558,n,-:137,nttll,-:14,n,-:2,n,-:54,nll,-:3,nll,-:5,n,-:157,nttll,-:137,nttll,-:692</peg><a>-:346,player,-:141,tc,-:237,tc,-:4,tc,-:102,tc,-:9,tc,-:235,tc,-:200,tc,-:486</a></level>
;
levelData["68a1da9d37d4645ff78a8fa7a943bdcd.xml"] = <level w="42" h="31"><t>outer_darkest:43,outer_darker:12,outer_darkest:12,outer_darker:16,outer_darkest:2,outer_darker,outer_dark_b:10,outer_darker:2,outer_darkest:11,outer_darker,outer_dark_b:2,outer_dark_h,outer_dark_g:8,outer_dark_f,outer_dark_b:2,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_a,fan,outer_bright_b:4,fan,outer_bright_a,outer_dark_a,outer_dark_c,outer_darker:2,outer_darkest:10,outer_darker,outer_dark_b,outer_bright_c,fan,outer_bright_b:3,outer_bright_d,outer_bright_e,outer_bright_b:3,outer_bright_c,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_c,walk_corner_tl,walk_u:4,slope_edge_bl,outer_bright_c,outer_bright_a,outer_dark_e,outer_dark_b,outer_darker:2,outer_darkest:9,outer_darker,outer_dark_b,outer_bright_a,walk_corner_tl,walk_u:8,walk_corner_tr,outer_bright_c,outer_dark_c,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_b1,walk_l,-:4,45cd,slope_edge_bl,outer_bright_a:2,outer_dark_a,outer_dark_b,outer_darker:11,outer_dark_b,outer_bright_a,walk_l,-:8,walk_r,outer_bright_b1,outer_dark_d,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_b1,walk_l,-:5,45cd,slope_edge_bl,outer_bright_a:2,outer_dark_h,outer_dark_f,outer_dark_b:10,fan_dark,outer_bright_a,walk_l,-:8,walk_r,outer_bright_b1,outer_dark_d,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_b1,walk_l,-:6,45cd,slope_edge_bl,outer_bright_c,outer_bright_b:4,fan,outer_bright_b:4,fan,outer_bright_a:3,outer_bright_c,walk_l,-:3,harmful,-:4,walk_r,outer_bright_b1,outer_dark_d,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_b1,walk_l,-:7,45cd,walk_u:4,walk_corner_tr,walk_corner_tl,walk_u:4,walk_corner_tr,walk_corner_tl,walk_u:3,walk_outercorner_br,-:8,walk_r,outer_bright_b1,outer_dark_d,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_c,walk_corner_bl,walk_outercorner_tr,harmful:2,walk_outercorner_tl,45fd,-:7,walk_r,walk_l,-:4,walk_r,walk_l,-:8,walk_outercorner_tl,exit,-,walk_d,walk_corner_br,outer_bright_c,outer_dark_e,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_a:2,walk_corner_bl,walk_d:2,walk_corner_br,slope_edge_tr,45fd,-:6,walk_r,walk_l,-:4,walk_r,walk_l,-:8,walk_r,fan:2,outer_bright_a:3,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b:2,outer_bright_a,outer_bright_b:4,outer_bright_a,slope_edge_tr,45fd,-:5,walk_r,walk_l,-:4,walk_r,walk_l,-:8,walk_r,fan,fan_dark,outer_dark_b:4,outer_darker,outer_darkest:2,outer_darker:2,outer_dark_b:5,outer_dark_c,outer_bright_c,fan,slope_edge_tr,45fd,-:4,walk_r,walk_l,-:4,walk_r,walk_l,-:7,walk_outercorner_tl,walk_corner_br,outer_bright_a,outer_dark_b,outer_darker:5,outer_darkest:3,outer_darker:6,outer_dark_e,fan_dark,outer_bright_c,outer_bright_a,slope_edge_tr,walk_d:4,walk_corner_br,walk_l,-:4,walk_r,walk_corner_bl,walk_d:7,walk_corner_br,outer_bright_a,outer_bright_c,outer_dark_b,outer_darker,outer_darkest:5,-,outer_darkest:6,outer_darker:2,outer_dark_h,outer_dark_f,outer_bright_c,walk_corner_tl,walk_u:5,walk_outercorner_br,-:4,walk_outercorner_bl,walk_u:5,walk_corner_tr,fan,outer_bright_b,outer_bright_d,outer_bright_c,outer_dark_c,outer_dark_b,outer_darker,outer_darkest:5,-,outer_darkest:7,outer_darker:2,outer_dark_b,outer_bright_b1,walk_l,-:16,walk_r,outer_bright_b1,outer_dark_h,outer_dark_f,outer_dark_a,outer_dark_e,outer_darker:2,outer_darkest:5,-,outer_darkest:8,outer_darker,outer_dark_b,outer_bright_b1,walk_l,-:7,walk_single:2,-:7,walk_r,outer_bright_b1,outer_dark_b,outer_darker:4,outer_darkest:6,-,outer_darkest:8,outer_darker,outer_dark_b,outer_bright_b1,walk_l,-:7,walk_single:2,-:7,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:9,-,outer_darkest:8,outer_darker,outer_dark_b,outer_bright_b1,walk_l,-:16,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:9,-,outer_darkest:8,outer_darker,outer_dark_b,outer_bright_b1,walk_l,-:4,walk_outercorner_tl,walk_d,walk_outercorner_tr,-:9,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:9,-,outer_darkest:8,outer_darker,outer_dark_b,outer_bright_b1,walk_l,-:4,walk_r,number,walk_l,-:9,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:9,-,outer_darkest:8,outer_darker,outer_dark_b,outer_bright_b1,walk_corner_bl,walk_outercorner_tr,-:3,walk_outercorner_bl,walk_u,walk_outercorner_br,-:8,walk_outercorner_tl,walk_corner_br,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:9,-,outer_darkest:8,outer_darker,outer_dark_b,outer_bright_c,walk_corner_tl,walk_outercorner_br,-:14,walk_outercorner_bl,walk_corner_tr,fan,outer_dark_c,outer_darker,outer_darkest:9,-,outer_darkest:8,outer_darker,outer_dark_b,arrow_up,walk_l,-:16,walk_r,arrow_up,outer_dark_d,outer_darker,outer_darkest:9,-,outer_darkest:8,outer_darker,outer_dark_b,fan,walk_l,-:6,walkrow_l,entrance,-,walkrow_r,-:6,walk_r,outer_bright_a,outer_dark_d,outer_darker,outer_darkest:9,-,outer_darkest:8,outer_darker,outer_dark_b,outer_bright_b1,walk_l,-:7,walk_r,walk_l,-:7,walk_r,outer_bright_a,outer_dark_d,outer_darker,outer_darkest:9,-,outer_darkest:8,outer_darker,outer_dark_b,outer_bright_b1,walk_corner_bl,walk_d:7,walk_corner_br,walk_corner_bl,walk_d:7,walk_corner_br,outer_bright_a,outer_dark_d,outer_darker,outer_darkest:9,-,outer_darkest:8,outer_darker,outer_dark_b,fan,outer_bright_b:8,outer_bright_c:2,outer_bright_a,number,outer_bright_a,outer_bright_c:2,outer_bright_a:4,outer_dark_e,outer_darker,outer_darkest:9,-,outer_darkest:8,outer_darker,fan_dark,outer_dark_b:9,outer_dark_h,outer_dark_g:9,outer_dark_f,fan_dark,outer_darker,outer_darkest:9,-,outer_darkest:8,outer_darker:24,outer_darkest:9,-,outer_darkest:41</t><peg>-:606,n,-:4,n,-:80,n:2,-:413,n,-:4,nl,nr,-:4,n,-:183</peg><a>-:986,player,-:315</a></level>
;
levelData["fbde8324f33eaf99cfb8bb7e2a000b34.xml"] = <level w="56" h="33"><t>outer_darkest:70,outer_darker:37,outer_darkest:10,outer_darker:10,outer_dark_b:34,outer_dark_c,outer_darker,outer_darkest:10,outer_darker,outer_dark_b:4,outer_dark_h,outer_dark_g:2,outer_dark_f,outer_dark_b,fan_dark,outer_bright_c,outer_bright_a,outer_bright_b:4,arrow_right,outer_bright_b:4,outer_bright_a,outer_bright_b:4,fan,outer_bright_b:4,arrow_right,outer_bright_b:4,outer_bright_a,outer_bright_b:4,outer_bright_a:2,outer_dark_d,outer_darker,outer_darkest:10,outer_darker,outer_dark_a,outer_bright_c,fan,outer_bright_b:7,fan,walk_corner_tl,walk_u:29,walk_corner_tr,outer_bright_a,outer_dark_d,outer_darker:5,outer_darkest:6,outer_darker,outer_dark_c,outer_bright_b1,walk_corner_tl,walk_u:8,walk_outercorner_br,harmful:29,walk_r,outer_bright_c,outer_dark_e,outer_dark_b:4,outer_darker,outer_darkest:6,outer_darker,outer_dark_d,outer_bright_b1,walk_l,-:38,walk_r,fan,outer_bright_c,outer_bright_a:2,arrow_down,outer_dark_b,outer_darker,outer_darkest:6,outer_darker,outer_dark_d,outer_bright_b1,walk_l,-:38,walk_outercorner_bl,walk_u:3,walk_corner_tr,outer_bright_c,outer_dark_b,outer_darker,outer_darkest:6,outer_darker,outer_dark_d,outer_bright_b1,walk_l,-:42,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:6,outer_darker,outer_dark_d,outer_bright_b1,walk_l,-:42,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:6,outer_darker,outer_dark_d,outer_bright_b1,walk_l,-:6,45fu,walk_d,walk_outercorner_tr,-:22,walk_outercorner_tl,walk_d:7,walk_outercorner_tr,-:2,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:6,outer_darker,outer_dark_d,outer_bright_b1,walk_l,-:5,45fu,slope_edge_tl,fan,walk_l,-:22,walk_r,fan,outer_bright_b:5,fan,walk_l,-:2,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:6,outer_darker,outer_dark_e,outer_bright_b1,walk_l,-:4,45fu,slope_edge_tl,outer_bright_c,outer_bright_a,walk_l,-:22,walk_r,outer_bright_b1,outer_dark_h,outer_dark_g:3,outer_dark_f,outer_bright_b1,walk_l,-:2,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:6,outer_darker,outer_dark_a,outer_bright_c,walk_corner_bl,walk_d,entrance,-,walk_d,slope_edge_tl,fan,outer_bright_a:2,walk_l,-:22,walk_r,outer_bright_b1,outer_dark_c,outer_darker:3,outer_dark_c,outer_bright_b1,walk_l,-:2,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:6,outer_darker,outer_dark_b,number,outer_bright_a,outer_bright_c,outer_bright_b:2,outer_bright_c,outer_bright_a:2,outer_dark_b,outer_bright_a,walk_l,harmful:22,walk_r,outer_bright_b1,outer_dark_e,outer_darker:3,outer_dark_e,outer_bright_b1,walk_l,-:2,walk_r,outer_bright_c,outer_dark_b,outer_darker,outer_darkest:6,outer_darker,outer_dark_b:3,outer_dark_a,fan_dark:2,outer_dark_a,outer_dark_b:3,outer_bright_a,walk_corner_bl,walk_d:22,walk_corner_br,outer_bright_b1,outer_dark_h,outer_dark_g:3,outer_dark_f,outer_bright_b1,walk_l,-:2,walk_r,arrow_down,outer_dark_b,outer_darker,outer_darkest:6,outer_darker,outer_dark_b:3,outer_dark_a,fan_dark:2,outer_dark_a,outer_dark_b:3,outer_bright_a:3,outer_bright_c:2,outer_bright_a,outer_bright_c:2,outer_bright_a,outer_bright_c:2,outer_bright_a,outer_bright_c:2,outer_bright_a,outer_bright_c:2,outer_bright_a,outer_bright_c:2,outer_bright_a,outer_bright_c:2,outer_bright_a:2,fan,outer_bright_b:5,fan,walk_l,-:2,walk_r,outer_bright_c,outer_dark_b,outer_darker,outer_darkest:2,outer_darker:5,outer_dark_b,outer_bright_a:2,outer_bright_c,outer_bright_b:2,outer_bright_c,outer_bright_a:4,walk_corner_tl,walk_u:30,walk_outercorner_br,-:2,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b:5,outer_bright_a,walk_corner_tl,walk_u:8,walk_outercorner_br,harmful:30,-:3,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_c,outer_bright_b,outer_bright_d,outer_bright_b,number,walk_l,-:42,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_c,outer_bright_b1,walk_corner_tl,walk_u:3,walk_outercorner_br,-:42,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_d,outer_bright_b1,walk_l,-:46,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_d,outer_bright_b1,walk_l,-:46,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_d,outer_bright_b1,walk_l,-:11,45fu,walk_outercorner_tr,-:22,walk_outercorner_tl,walk_d:6,checkpoint,-,walk_d:2,walk_corner_br,outer_bright_c,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_e,outer_bright_b1,walk_corner_bl,walk_d,exit,-,walk_outercorner_tr,-:6,45fu,slope_edge_tl,walk_l,-:22,walk_r,outer_bright_a:3,outer_bright_c,outer_bright_a:2,fan:2,outer_bright_a:2,outer_bright_c,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_c,outer_bright_b:2,outer_bright_c,fan,walk_l,-:5,45fu,slope_edge_tl,outer_bright_a,walk_l,-:22,walk_r,outer_bright_a,outer_dark_b:2,outer_dark_a,outer_dark_h,outer_dark_f,fan_dark:2,outer_dark_h,outer_dark_f,outer_dark_a,outer_dark_b:2,outer_darker,outer_darkest:2,outer_darker,outer_dark_b:4,fan_dark,outer_bright_c,walk_corner_bl,walk_d:5,slope_edge_tl,outer_bright_a:2,walk_l,-:22,walk_r,outer_bright_a,outer_dark_c,outer_darker:12,outer_darkest:2,outer_darker:5,outer_dark_b,outer_bright_a,fan,outer_bright_b:5,fan,outer_bright_a:2,walk_l,harmful:22,walk_r,outer_bright_a,outer_dark_d,outer_darker,outer_darkest:17,outer_darker,outer_dark_b:10,outer_bright_c,walk_corner_bl,walk_d:22,walk_corner_br,outer_bright_c,outer_dark_d,outer_darker,outer_darkest:17,outer_darker:10,outer_dark_b,fan,outer_bright_c,outer_bright_a:4,arrow_left,outer_bright_a:4,outer_bright_c,fan:2,outer_bright_c,outer_bright_a:4,arrow_left,outer_bright_a:4,outer_bright_c,fan,outer_dark_e,outer_darker,outer_darkest:26,outer_darker,outer_dark_b:2,outer_dark_h,outer_dark_g:9,outer_dark_f,fan_dark:2,outer_dark_h,outer_dark_g:9,outer_dark_f,outer_dark_b:2,outer_darker,outer_darkest:26,outer_darker:30,outer_darkest:68</t><a>-:578,mp_42h,-:17,mp_42h,-:85,player,-:231,fold,-:2,fold,-:2,fold,-:2,fold,-:2,fold,-:2,fold,-:2,fold,-:2,fold,-:370,mp_42h,-:541</a><path x="18" y="10" pts="[18,10]>[25,10]"/><path x="36" y="10" pts="[36,10]>[29,10]"/><path x="18" y="16" pts="[18,16]>[19,17]"/><path x="21" y="16" pts="[21,16]>[20,17]"/><path x="24" y="16" pts="[24,16]>[25,17]"/><path x="27" y="16" pts="[27,16]>[26,17]"/><path x="30" y="16" pts="[30,16]>[31,17]"/><path x="33" y="16" pts="[33,16]>[32,17]"/><path x="36" y="16" pts="[36,16]>[37,17]"/><path x="39" y="16" pts="[39,16]>[38,17]"/><path x="18" y="23" pts="[18,23]>[36,23]"/></level>
;
levelData["9083b64e01cbf71628f7f613455c81a8.xml"] = <level w="34" h="31"><t>outer_darkest:35,outer_darker:21,outer_darkest:13,outer_darker,outer_dark_b:4,outer_dark_a:2,outer_dark_b:6,outer_dark_a:2,outer_dark_b:5,outer_darker,outer_darkest:13,outer_darker,outer_dark_b,outer_bright_a:2,outer_bright_c,outer_bright_b:2,outer_bright_c,outer_bright_a:4,outer_bright_c,outer_bright_b:2,outer_bright_c,outer_bright_a:3,outer_dark_b,outer_darker,outer_darkest:13,outer_darker,outer_dark_b,outer_bright_a,walk_corner_tl,walk_u:13,walk_corner_tr,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:13,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:13,walk_r,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:13,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:13,walk_r,outer_bright_a,outer_dark_b,outer_darker:12,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:13,walk_r,arrow_left,fan_dark,outer_dark_b:11,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:4,walk_outercorner_tl,walk_d:8,walk_corner_br,number,outer_bright_c,outer_bright_b,outer_bright_d,outer_bright_b,outer_bright_e,outer_bright_b,outer_bright_c,outer_bright_a:4,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,fan_dark,fan,walk_l,-:4,walk_r,walk_corner_tl,walk_u:5,walk_corner_tr,walk_corner_tl,walk_u:11,walk_corner_tr,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_b1,walk_l,-:4,walk_r,walk_l,-:5,walk_r,walk_l,-:11,walk_r,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_b1,walk_l,-:4,walk_r,walk_l,-:5,walk_r,walk_l,-:11,walk_r,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_b1,walk_l,-:4,walk_r,walk_l,-:4,walk_single,walk_r,walk_corner_bl,walk_d:2,checkpoint,-,walk_d,walk_outercorner_tr,walk_single,-:4,walk_r,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_b1,walk_l,-:4,walk_r,walk_l,-:5,walk_r,prox_laser,-:4,prox_laser,walk_outercorner_br,-:5,walk_r,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_b1,walk_l,-:4,walk_r,walk_l,harmful,-:4,walk_single,-:6,walk_single,-:4,reset,walk_corner_br,fan,fan_dark,outer_darker,outer_darkest:2,outer_darker,fan_dark,fan,walk_l,-:4,walk_r,walk_l,harmful,-:16,walk_outercorner_bl,walk_corner_tr,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_c,outer_bright_a,walk_l,-:4,walk_r,walk_l,-:18,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_d,outer_bright_a,walk_l,-:4,walk_r,walk_l,-:18,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_d,outer_bright_a,walk_l,-:4,walk_r,walk_l,-:18,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_d,outer_bright_a,walk_l,-:4,walk_r,walk_l,-:18,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_d,outer_bright_a,walk_l,-:4,walk_r,walk_l,-:6,prox_laser,walk_d,entrance,-,walk_d,prox_laser,-:6,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_d,outer_bright_a,walk_l,-:4,walk_r,walk_l,-:6,walk_outercorner_bl,walk_u,walk_corner_tr,walk_corner_tl,walk_u,walk_outercorner_br,-:6,walk_r,fan,fan_dark,outer_darker,outer_darkest:2,outer_darker,outer_dark_e,outer_bright_a,walk_l,-:4,walk_r,walk_l,-:8,walk_r,walk_l,-:8,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,fan_dark,outer_bright_a,walk_l,-:4,walk_r,walk_l,-:8,walk_r,walk_l,-:8,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:4,walk_r,walk_l,-:3,walk_single,-:4,walk_r,walk_l,-:4,walk_single,-:3,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:4,walk_r,walk_l,harmful:8,walk_r,walk_l,harmful:8,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_a,walk_corner_bl,walk_d,exit,-,walk_d,walk_corner_br,walk_corner_bl,walk_d:8,walk_corner_br,walk_corner_bl,walk_d:8,walk_corner_br,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_a:7,arrow_left,outer_bright_a:6,fan,outer_bright_b,outer_bright_d,outer_bright_e,outer_bright_b,fan,outer_bright_a:7,fan,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b:12,outer_dark_h,outer_dark_g:3,outer_dark_f,fan_dark:2,outer_dark_h,outer_dark_g:3,outer_dark_f,outer_dark_b:6,outer_darker,outer_darkest:2,outer_darker:32,outer_darkest:35</t><peg>-:317,n,-:168,n,-:5,n,-:6,n,-:231,n,-:4,n,-:6,n,-:86,n,-:10,n,-:212</peg><a>-:665,player,-:388</a></level>
;
levelData["f2ce0fbc40f9a98f97c76451d5b6d856.xml"] = <level w="44" h="28"><t>outer_darkest:45,outer_darker:42,outer_darkest:2,outer_darker,outer_dark_b:5,outer_dark_a:2,outer_dark_b:5,outer_dark_a,outer_dark_b,outer_dark_a,fan_dark:2,outer_dark_a,outer_dark_b,outer_dark_a,outer_dark_h,outer_dark_g:5,outer_dark_f,outer_dark_b:9,outer_dark_h,outer_dark_f,fan_dark,outer_dark_a,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_a:4,outer_bright_c:2,arrow_left,outer_bright_a:3,arrow_left,fan,outer_bright_b:6,fan,arrow_left,outer_bright_a:4,arrow_left,outer_bright_c,outer_bright_b:2,outer_bright_e,outer_bright_b:2,outer_bright_c,outer_bright_a:4,outer_bright_c:2,fan_dark,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,fan,walk_corner_tl,walk_u:34,walk_corner_tr,outer_bright_c,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_b1,walk_l,-:34,walk_r,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_b1,walk_l,-:34,walk_r,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_b1,walk_l,-:34,walk_r,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_b1,walk_l,-:31,walk_outercorner_tl,checkpoint,-,walk_corner_br,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_c,walk_corner_bl,reset,exit,-,reset,walk_d:2,walk_outercorner_tr,-:22,walk_outercorner_tl,walk_d,walk_corner_br,fan:2,outer_bright_a:2,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_a,walk_corner_tl,walk_u:6,walk_outercorner_br,-:22,walk_outercorner_bl,walk_u:4,walk_corner_tr,fan,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_a,walk_l,harmful:7,-:22,harmful:5,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_a,fan,walk_l,-:34,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_b1,walk_l,-:30,harmful:3,-,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_b1,walk_l,-:30,harmful,-,harmful,-,walk_r,fan,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_b1,walk_l,-:14,harmful:3,-:13,harmful:3,-,walk_r,arrow_up,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_b1,walk_l,-:14,harmful,-,harmful,-:17,walk_r,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_c,walk_l,-:14,harmful:3,-:17,walk_r,outer_bright_a,outer_dark_c,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,number,walk_corner_bl,walk_d,entrance,-,walk_outercorner_tr,-:30,walk_r,outer_bright_a,outer_dark_d,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_a,outer_bright_c,fan:2,arrow_right,walk_l,-:30,walk_r,outer_bright_a,outer_dark_d,outer_darker,outer_darkest:2,outer_darker,outer_dark_h,outer_dark_g,outer_dark_f,outer_dark_a:2,outer_bright_b1,walk_l,-:8,walk_outercorner_tl,walk_outercorner_tr,-:4,walk_outercorner_tl,walk_outercorner_tr,-:14,walk_r,outer_bright_a,outer_dark_d,outer_darker,outer_darkest:2,outer_darker:5,outer_dark_b,outer_bright_b1,walk_l,-:8,walk_r,walk_l,-:4,walk_r,walk_l,-:14,walk_r,outer_bright_a,outer_dark_d,outer_darker,outer_darkest:6,outer_darker,outer_dark_b,outer_bright_b1,walk_l,harmful:8,walk_r,walk_l,harmful:4,walk_r,walk_l,harmful:14,walk_r,outer_bright_a,outer_dark_e,outer_darker,outer_darkest:6,outer_darker,outer_dark_b,outer_bright_b1,walk_corner_bl,walk_d:8,walk_corner_br,walk_corner_bl,walk_d:4,walk_corner_br,walk_corner_bl,walk_d:14,walk_corner_br,outer_bright_c,fan_dark,outer_darker,outer_darkest:6,outer_darker,outer_dark_a,fan,outer_bright_b:10,fan,outer_bright_b:4,fan,outer_bright_b:5,outer_bright_c,outer_bright_a:9,outer_bright_c,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:6,outer_darker,outer_dark_b,outer_dark_a,outer_dark_b:10,fan_dark,outer_dark_h,outer_dark_g:2,outer_dark_f,fan_dark,outer_dark_b:15,fan_dark,outer_dark_b,outer_dark_a,outer_darker,outer_darkest:6,outer_darker:38,outer_darkest:45</t><peg>-:190,n,-:6,n,-:281,n,-:175,n,-:242,n,-:4,n,-:328</peg><a>-:329,mp_42h,-:406,mp_42h,-:17,player,-:46,mp_42h,-:430</a><path x="21" y="7" pts="[21,7]>[32,7]"/><path x="32" y="16" pts="[32,16]>[22,16]"/><path x="9" y="18" pts="[9,18]>[17,18]"/></level>
;
levelData["cf5b1ce98c31f51bacfd90ceeddab205.xml"] = <level w="48" h="27"><t>outer_darkest:11,-:6,outer_darkest:10,outer_darker:15,outer_darkest:17,-:6,outer_darkest:10,outer_darker,outer_dark_b:4,outer_dark_h,outer_dark_g:3,outer_dark_f,outer_dark_b:4,outer_darker,outer_darkest:6,outer_darker:11,-:6,outer_darker:3,outer_darkest:7,outer_darker,outer_dark_b,outer_bright_a:2,fan,outer_bright_b:5,fan,outer_bright_a:2,outer_dark_b,outer_darker,outer_darkest:6,outer_darker,outer_dark_b,outer_dark_h,outer_dark_g,outer_dark_f,fan_dark:2,outer_dark_h,outer_dark_g,outer_dark_f,outer_dark_b,-:6,outer_dark_b:2,outer_darker,outer_darkest:7,outer_darker,outer_dark_b,outer_bright_a,walk_corner_tl,walk_u:7,walk_corner_tr,outer_bright_a,outer_dark_a,outer_darker,outer_darkest:6,outer_darker,outer_dark_b,outer_bright_a:3,fan:2,outer_bright_a:4,-:6,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:7,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:7,walk_r,outer_bright_c,outer_dark_c,outer_darker,outer_darkest:5,-,outer_darker,outer_dark_b,outer_bright_c,walk_corner_tl,walk_u:5,walk_corner_tr,outer_bright_c,-:6,outer_bright_c,outer_dark_b,outer_darker,outer_darkest:7,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:7,walk_r,outer_bright_b1,outer_dark_d,outer_darker,outer_darkest:4,-:2,outer_darker,outer_dark_a,outer_bright_b1,walk_l,-:5,walk_r,outer_bright_b1,-:6,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:7,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:7,walk_r,outer_bright_c,outer_dark_e,outer_darker:4,-:3,outer_darker,outer_dark_a,outer_bright_b1,walk_l,-:5,walk_r,outer_bright_b1,-:6,outer_bright_b1,outer_dark_b,outer_darker:9,outer_dark_b,outer_bright_a,walk_l,-:7,walk_r,outer_bright_a,outer_dark_a,outer_dark_b:3,-:3,outer_darker:2,outer_dark_b,outer_bright_c,walk_l,-:5,walk_r,outer_bright_c,-:6,outer_bright_c,outer_dark_b:2,outer_dark_h,outer_dark_f,outer_dark_b:3,outer_dark_c,outer_darker:2,outer_dark_c,outer_bright_c,walk_l,-:2,walk_outercorner_tl,exit,-,walk_d:2,walk_corner_br,outer_bright_a:4,-:3,outer_dark_b,outer_darker:2,outer_dark_b,outer_bright_a,walk_corner_bl,walk_d,entrance,-,walk_outercorner_tr,-,walk_r,outer_bright_a,-:6,outer_bright_a:2,fan,outer_bright_b:2,fan,outer_bright_a:2,outer_dark_d,outer_darker:2,outer_dark_d,outer_bright_b1,walk_l,-:2,walk_outercorner_bl,walk_u:8,-:3,outer_bright_a,outer_dark_b,outer_darker:2,outer_dark_b,outer_bright_c,number,walk_corner_tl,walk_u:2,walk_outercorner_br,-,walk_r,outer_bright_a,-:6,outer_bright_a,walk_corner_tl,walk_u:4,walk_corner_tr,outer_bright_a,outer_dark_e,outer_dark_b:2,outer_dark_d,outer_bright_b1,walk_l,-:13,walk_r,outer_bright_a,outer_dark_b,outer_darker:2,outer_dark_b,outer_dark_a,outer_bright_c,walk_l,-:4,walk_r,outer_bright_a,-:6,outer_bright_a,walk_l,-:4,walk_r,outer_bright_a:3,outer_bright_c,outer_dark_d,outer_bright_c,walk_l,-:13,walk_r,outer_bright_a,outer_dark_b,outer_darker:3,outer_dark_b,arrow_down,walk_l,-:4,walk_r,outer_bright_a,-:6,outer_bright_a,walk_l,-:4,walk_outercorner_bl,walk_u:2,walk_corner_tr,arrow_right,outer_dark_d,fan,walk_corner_bl,walk_d:8,-:5,walk_r,outer_bright_a,outer_dark_b,outer_darker,outer_darkest,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:4,walk_r,outer_bright_a,-:6,outer_bright_a,walk_l,-:7,walk_r,outer_bright_c,outer_dark_e,outer_bright_c,outer_bright_a,fan,outer_bright_b:4,fan,outer_bright_a,-:6,walk_r,outer_bright_a,outer_dark_b,outer_darker,outer_darkest,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:4,walk_r,fan,-:6,fan,walk_l,-:7,walk_r,outer_bright_a:10,-:7,walk_r,outer_bright_a,outer_dark_b,outer_darker,-:144,outer_darkest,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:4,walk_r,fan,-:6,fan,walk_l,-:7,walk_outercorner_bl,walk_u:8,walk_corner_tr,-:3,walk_l,-:4,walk_r,outer_bright_a,outer_dark_c,outer_darker,outer_darkest,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:4,walk_outercorner_bl,walk_u,-:6,walk_u,walk_outercorner_br,-:4,walk_outercorner_tl,walk_outercorner_tr,-:13,outer_bright_a,walk_l,-:4,walk_r,outer_bright_c,outer_dark_d,outer_darker,outer_darkest,outer_darker,outer_dark_a,outer_bright_c,walk_l,-:18,walk_r,walk_l,-:12,walk_u:2,walk_outercorner_br,-:4,walk_r,arrow_up,outer_dark_d,outer_darker,outer_darkest,outer_darker,outer_dark_a,outer_bright_c,walk_l,-:18,walk_r,walk_l,-:19,walk_r,outer_bright_c,outer_dark_d,outer_darker,outer_darkest,outer_darker,outer_dark_b,outer_bright_a,walk_corner_bl,walk_d:6,-:6,walk_d:6,walk_corner_br,walk_corner_bl,walk_d,checkpoint,-,walk_d:2,walk_outercorner_tr,-:13,walk_r,outer_bright_a,outer_dark_e,outer_darker,outer_darkest,outer_darker,outer_dark_b,outer_bright_a:4,outer_bright_c,arrow_right,outer_bright_c,outer_bright_a,-:6,outer_bright_a:4,outer_bright_c,arrow_up,outer_bright_c,outer_bright_a:2,fan,outer_bright_e,outer_bright_b,fan,walk_corner_bl,-:3,walk_d:10,walk_corner_br,outer_bright_a,outer_dark_b,outer_darker,outer_darkest,outer_darker,outer_dark_b:2,outer_dark_h,outer_dark_g:6,-:6,outer_dark_g:10,outer_dark_f,outer_dark_b,outer_bright_a,-:3,outer_bright_a:3,fan:2,outer_bright_a:2,outer_bright_b:4,outer_bright_a:2,outer_dark_b,outer_darker,outer_darkest,outer_darker:10,-:6,outer_darker:11,outer_dark_b,-:3,outer_dark_b:3,outer_dark_a,fan_dark:2,outer_dark_a,outer_dark_b,outer_dark_h,outer_dark_g:2,outer_dark_f,outer_dark_b:3,outer_darker,outer_darkest:11,-:6,outer_darkest:10,outer_darker,-:3,outer_darker:17</t><a>-:389,player,-:130,mp_42h,-:12,mp_42v,-:142,fold,-:288,mp_42h,-:13,mp_42v,-:59,mp_42h,-:8,mp_42v,-:17,fold,-:67,fold,-:161</a><path x="40" y="10" pts="[40,10]>[31,10]"/><path x="5" y="11" pts="[5,11]>[5,20]"/><path x="4" y="14" pts="[4,14]>[4,18]"/><path x="5" y="20" pts="[5,20]>[19,20]"/><path x="19" y="20" pts="[19,20]>[19,11]"/><path x="31" y="21" pts="[31,21]>[40,21]"/><path x="40" y="21" pts="[40,21]>[40,12]"/><path x="10" y="22" pts="[10,22]>[17,22]"/><path x="30" y="23" pts="[30,23]>[32,25]"/></level>
;
levelData["d4090848f0ddd7fd5798755b715a28de.xml"] = <level w="25" h="74"><t>outer_darkest:26,outer_darker:22,outer_darkest:3,outer_darker,outer_dark_b:2,outer_dark_h,outer_dark_f,fan_dark,outer_dark_h,outer_dark_g:8,outer_dark_f,fan_dark,outer_dark_h,outer_dark_f,outer_dark_b:2,outer_darker,outer_darkest:3,outer_darker,outer_dark_b,outer_bright_a:2,outer_bright_c,outer_bright_b:2,outer_bright_c,outer_bright_a:6,outer_bright_c,outer_bright_b:2,outer_bright_c,outer_bright_a:2,outer_dark_b,outer_darker,outer_darkest:3,outer_darker,outer_dark_b,outer_bright_a,walk_corner_tl,walk_u:14,walk_corner_tr,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:3,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:14,walk_r,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:3,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:14,walk_r,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:3,outer_darker,outer_dark_a,outer_bright_c,walk_l,-:2,reset,walk_d,reset,-:4,reset,walk_d,reset,-:2,walk_r,outer_bright_c,outer_dark_c,outer_darker,outer_darkest:3,outer_darker,outer_dark_a,outer_bright_c,walk_l,-:2,walk_r,outer_bright_a,walk_l,-:4,walk_r,fan,walk_l,-:2,walk_r,outer_bright_b1,outer_dark_d,outer_darker,outer_darkest:3,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:2,walk_r,outer_bright_c,walk_l,-:4,walk_r,outer_bright_b1,walk_l,-:2,walk_r,outer_bright_c,outer_dark_d,outer_darker,outer_darkest:3,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:2,walk_r,outer_bright_b1,walk_l,-:4,walk_r,outer_bright_b1,walk_l,-:2,walk_r,outer_bright_a,outer_dark_d,outer_darker,outer_darkest:3,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:2,walk_r,outer_bright_b1,walk_l,-:4,walk_r,outer_bright_b1,walk_l,-:2,walk_r,outer_bright_c,outer_dark_d,outer_darker,outer_darkest:3,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:2,walk_r,outer_bright_c,walk_l,-:4,walk_r,outer_bright_b1,walk_l,-:2,walk_r,outer_bright_b1,outer_dark_d,outer_darker,outer_darkest:3,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:2,walk_r,outer_bright_a,walk_l,-:4,walk_r,outer_bright_b1,walk_l,-:2,walk_r,outer_bright_c,outer_dark_d,outer_darker,outer_darkest:3,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:2,walk_r,outer_bright_c,walk_l,-:4,walk_r,outer_bright_b1,walk_l,-:2,walk_r,outer_bright_a,outer_dark_d,outer_darker,outer_darkest:3,outer_darker,outer_dark_c,fan,walk_l,-:2,walk_r,outer_bright_b1,walk_l,-:4,walk_r,outer_bright_c,walk_l,-:2,walk_r,outer_bright_c,outer_dark_d,outer_darker,outer_darkest:3,outer_darker,outer_dark_d,outer_bright_b1,walk_l,-:2,walk_r,outer_bright_b1,walk_l,-:4,walk_r,outer_bright_b1,walk_l,-:2,walk_r,outer_bright_b1,outer_dark_d,outer_darker,outer_darkest:3,outer_darker,outer_dark_d,outer_bright_b1,walk_l,-:2,walk_r,outer_bright_c,walk_l,-:4,walk_r,outer_bright_b1,walk_l,-:2,walk_r,outer_bright_c,outer_dark_d,outer_darker,outer_darkest:3,outer_darker,outer_dark_e,outer_bright_b1,walk_l,-:2,walk_r,outer_bright_a,walk_l,-:4,walk_r,outer_bright_b1,walk_l,-:2,walk_r,outer_bright_a,outer_dark_d,outer_darker,outer_darkest:3,outer_darker,outer_dark_b,outer_bright_b1,walk_l,-:2,walk_r,outer_bright_a,walk_l,-:4,walk_r,outer_bright_b1,walk_l,-:2,walk_r,outer_bright_c,outer_dark_d,outer_darker,outer_darkest:3,outer_darker,outer_dark_b,outer_bright_b1,walk_l,-:2,walk_r,outer_bright_a,walk_intersection_3_r,walkrow_r,-:3,walk_r,outer_bright_b1,walk_l,-:2,walk_r,outer_bright_b1,outer_dark_d,outer_darker,outer_darkest:3,outer_darker,outer_dark_b,fan,walk_l,-:2,walk_r,arrow_up,walk_l,-:4,walk_r,outer_bright_b1,walk_l,-:2,walk_r,outer_bright_c,outer_dark_d,outer_darker,outer_darkest:3,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:2,walk_outercorner_bl,walk_u,45cu,-:4,walk_r,outer_bright_c,walk_l,-:2,walk_r,outer_bright_a,outer_dark_d,outer_darker,outer_darkest:3,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:8,walkrow_l,walk_intersection_3_l,outer_bright_b1,walk_l,-:2,walk_r,outer_bright_c,outer_dark_d,outer_darker,outer_darkest:3,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:9,walk_r,outer_bright_b1,walk_l,-:2,walk_r,outer_bright_b1,outer_dark_d,outer_darker,outer_darkest:3,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:9,walk_r,outer_bright_b1,walk_l,-:2,walk_r,outer_bright_c,outer_dark_d,outer_darker,outer_darkest:3,outer_darker,fan_dark,outer_bright_c,walk_l,-:4,reset,-:4,walk_r,outer_bright_b1,walk_l,-:2,walk_r,outer_bright_a,outer_dark_d,outer_darker,outer_darkest:3,outer_darker,outer_dark_c,outer_bright_b1,walk_l,-:4,walkrow_ud,-:4,walk_r,outer_bright_b1,walk_l,-:2,walk_r,outer_bright_c,outer_dark_d,outer_darker,outer_darkest:3,outer_darker,outer_dark_d,outer_bright_b1,walk_l,-:4,walkrow_ud,-:4,walk_r,outer_bright_b1,walk_l,-:2,walk_r,outer_bright_b1,outer_dark_d,outer_darker,outer_darkest:3,outer_darker,outer_dark_d,outer_bright_b1,walk_l,-:4,walkrow_ud,-:4,walk_r,fan,walk_l,-:2,walk_r,outer_bright_c,outer_dark_e,outer_darker,outer_darkest:3,outer_darker,outer_dark_d,outer_bright_b1,walk_l,-:4,walkrow_ud,-:4,walk_r,outer_bright_b1,walk_l,-:2,walk_r,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:3,outer_darker,outer_dark_d,outer_bright_b1,walk_l,-:4,walkrow_ud,-:4,walk_r,outer_bright_b1,walk_l,-:2,walk_r,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:3,outer_darker,outer_dark_d,outer_bright_b1,walk_l,-:4,walkrow_ud,-:4,walk_r,outer_bright_b1,walk_l,-:2,walk_r,fan,outer_dark_b,outer_darker,outer_darkest:3,outer_darker,outer_dark_e,outer_bright_c,walk_l,-:4,walkrow_ud,-:4,walk_r,outer_bright_b1,walk_l,-:2,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:3,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:4,walkrow_ud,-:4,walk_r,outer_bright_b1,walk_l,-:2,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:3,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:4,walkrow_ud,-:4,walk_r,outer_bright_b1,walk_l,-:2,walk_r,outer_bright_c,outer_dark_b,outer_darker,outer_darkest:3,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:4,walkrow_ud,-:4,walk_r,outer_bright_c,walk_l,-:2,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:3,outer_darker,outer_dark_b,outer_bright_a,walk_intersection_3_r,walkrow_lr:4,walk_intersection_4,walkrow_lr,walkrow_r,-:2,walk_r,outer_bright_a,walk_l,-:2,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:3,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:4,walkrow_ud,-:4,walk_r,outer_bright_a,walk_l,-:2,walk_r,fan,outer_dark_b,outer_darker,outer_darkest:3,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:4,walkrow_d,-:4,walk_r,arrow_up,walk_l,-:2,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:3,outer_darker,outer_dark_b,outer_bright_a,walk_corner_bl,walk_outercorner_tr,-:7,walkrow_l,walk_intersection_3_l,fan,walk_l,-:2,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:3,outer_darker,outer_dark_b,outer_bright_a,outer_bright_c,walk_l,-:8,walk_r,outer_bright_b1,walk_l,-:2,walk_r,outer_bright_c,outer_dark_b,outer_darker,outer_darkest:3,outer_darker,outer_dark_b:2,outer_bright_b1,walk_l,-:8,walk_r,outer_bright_b1,walk_l,-:2,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:3,outer_darker:2,outer_dark_b,outer_bright_b1,walk_corner_bl,checkpoint,-,reset:2,-:4,walk_r,outer_bright_b1,walk_l,-:2,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:4,outer_darker,outer_dark_b,outer_bright_c,outer_bright_d,outer_bright_b:2,fan,walk_l,-:4,walk_r,outer_bright_b1,walk_l,-:2,walk_r,fan,outer_dark_b,outer_darker:2,outer_darkest:3,outer_darker,outer_dark_b,fan_dark,outer_dark_h,outer_dark_f,outer_dark_c,fan,walk_l,harmful,-:3,walk_r,outer_bright_b1,walk_l,-:2,walk_r,outer_bright_a,outer_dark_b:2,outer_darker,outer_darkest:3,outer_darker:5,outer_dark_c,outer_bright_a,walk_l,-:3,walkrow_l,walk_intersection_3_l,fan,walk_l,-:2,walk_r,outer_bright_a:2,outer_dark_b,outer_darker,outer_darkest:7,outer_darker,outer_dark_e,outer_bright_a,walk_l,-:4,walk_r,walk_corner_tl,walk_outercorner_br,-:2,walk_outercorner_bl,walk_corner_tr,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:7,outer_darker,outer_dark_b,outer_bright_d,walk_l,-:4,walk_r,walk_l,-:4,walk_r,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:7,outer_darker,outer_dark_a,outer_bright_c,walk_l,-:4,walk_r,walk_l,-:4,walk_r,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:7,outer_darker,outer_dark_a,outer_bright_c,walk_l,-:4,walk_r,walk_l,-:4,walk_r,outer_bright_c,outer_dark_b,outer_darker,outer_darkest:7,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:4,walk_r,walk_corner_bl,walk_d,exit,-,walk_d,walk_corner_br,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:7,outer_darker,outer_dark_c,arrow_up,walk_l,-:4,walk_r,outer_bright_d,outer_bright_b:3,outer_bright_c,outer_bright_b,fan,outer_dark_b,outer_darker,outer_darkest:7,outer_darker,outer_dark_d,fan,walk_intersection_3_r,walkrow_r,-:3,45cd,walk_u:3,walk_corner_tr,outer_bright_b1,outer_dark_b:3,outer_darker,outer_darkest:7,outer_darker,outer_dark_e,outer_bright_a,walk_l,-:8,walk_r,outer_bright_b1,outer_dark_b,outer_darker:3,outer_darkest:7,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:8,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:9,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:4,reset:2,checkpoint,-,walk_corner_br,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:9,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:4,walk_r,outer_bright_a,outer_bright_b:2,fan,outer_bright_c,outer_dark_b,outer_darker,outer_darkest:9,outer_darker,outer_dark_b,fan,walk_l,-:4,walk_r,outer_bright_c,fan_dark,outer_dark_h,outer_dark_f,outer_dark_b:2,outer_darker,outer_darkest:9,outer_darker,outer_dark_b,outer_bright_b1,walk_l,-:4,walk_r,outer_bright_b1,outer_dark_c,outer_darker:5,outer_darkest:9,outer_darker,outer_dark_b,outer_bright_b1,walk_l,-:4,walk_r,outer_bright_b1,outer_dark_d,outer_darker,outer_darkest:13,outer_darker,outer_dark_b,fan,walk_l,-:4,walk_r,outer_bright_c,outer_dark_d,outer_darker,outer_darkest:13,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:4,walk_r,outer_bright_a,outer_dark_d,outer_darker,outer_darkest:13,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:4,walk_r,outer_bright_c,outer_dark_d,outer_darker,outer_darkest:13,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:4,walk_r,outer_bright_b1,outer_dark_d,outer_darker,outer_darkest:13,outer_darker,outer_dark_a,outer_bright_c,walk_l,-:4,walk_r,outer_bright_b1,outer_dark_d,outer_darker,outer_darkest:13,outer_darker,outer_dark_a,outer_bright_c,walk_l,-:4,walk_r,outer_bright_c,outer_dark_d,outer_darker,outer_darkest:13,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:4,walk_r,outer_bright_a,outer_dark_e,outer_darker,outer_darkest:13,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:4,walk_r,arrow_up,outer_dark_b,outer_darker,outer_darkest:13,outer_darker,outer_dark_b,outer_bright_a,walk_corner_bl,walk_d,entrance,-,walk_d,walk_corner_br,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:13,outer_darker,outer_dark_b,outer_bright_a,outer_bright_d,outer_bright_b,fan,number,outer_bright_b,outer_bright_e,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:13,outer_darker,outer_dark_b:5,fan_dark,outer_dark_b:4,outer_darker,outer_darkest:13,outer_darker:12,outer_darkest:32</t><peg>-:208,n,-:124,n,-:124,n,-:430,n,-:46,n,-:221,n,-:124,n,-:156,n,-:124,n,-:124,n,-:159</peg><a>-:130,mp_42h,-:524,mp_42v,-:229,mp_42v,-:825,player,-:138</a><path x="5" y="5" pts="[5,5]>[15,5]"/><path x="5" y="26" pts="[5,26]>[5,35]"/><path x="10" y="35" pts="[10,35]>[10,26]"/></level>
;
levelData["2010f28934b6c70917d911a050cc4b76.xml"] = <level w="34" h="57"><t>outer_darkest:46,outer_darker:10,outer_darkest:24,outer_darker,outer_dark_b:8,outer_darker,outer_darkest:24,outer_darker,outer_dark_b,outer_bright_c,outer_bright_e,outer_bright_b:2,outer_bright_d,outer_bright_c,outer_dark_b,outer_darker,outer_darkest:24,outer_darker,outer_dark_c,outer_bright_b1,walk_corner_tl,walk_u:2,walk_corner_tr,outer_bright_b1,outer_dark_c,outer_darker,outer_darkest:24,outer_darker,outer_dark_d,outer_bright_b1,walk_l,-:2,walk_r,outer_bright_b1,outer_dark_d,outer_darker,outer_darkest:24,outer_darker,outer_dark_d,outer_bright_b1,walk_l,-:2,walk_r,outer_bright_b1,outer_dark_d,outer_darker,outer_darkest:24,outer_darker,outer_dark_e,outer_bright_b1,walk_l,-:2,walk_r,outer_bright_b1,outer_dark_e,outer_darker,outer_darkest:20,outer_darker:5,fan_dark,outer_bright_b1,walk_l,-:2,walk_r,outer_bright_b1,fan_dark,outer_darker:5,outer_darkest:16,outer_darker,outer_dark_b,outer_dark_h,outer_dark_g:2,outer_dark_f,outer_bright_b1,walk_l,-:2,walk_r,outer_bright_b1,outer_dark_h,outer_dark_g:2,outer_dark_f,outer_dark_b,outer_darker,outer_darkest:16,outer_darker,outer_dark_b,outer_bright_a:3,outer_bright_c,fan,walk_l,-:2,walk_r,fan,number,outer_bright_a:3,outer_dark_b,outer_darker,outer_darkest:16,outer_darker,outer_dark_c,outer_bright_a,walk_corner_tl,walk_u:3,45cu,-:2,45cd,walk_u:3,walk_corner_tr,outer_bright_a,outer_dark_c,outer_darker,outer_darkest:16,outer_darker,outer_dark_d,outer_bright_a,walk_l,-:10,walk_r,outer_bright_a,outer_dark_d,outer_darker,outer_darkest:16,outer_darker,outer_dark_d,outer_bright_c,walk_l,-:10,walk_r,outer_bright_c,outer_dark_d,outer_darker,outer_darkest:16,outer_darker,outer_dark_e,arrow_down,walk_corner_bl,walk_d:4,entrance,-,walk_d:4,walk_corner_br,arrow_down,outer_dark_e,outer_darker,outer_darkest:16,outer_darker,outer_dark_b,outer_bright_a,walk_corner_tl,walk_u:10,walk_corner_tr,outer_bright_c,outer_dark_b,outer_darker,outer_darkest:16,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:10,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:16,outer_darker,outer_dark_b,outer_bright_c,walk_l,-:10,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:16,outer_darker,outer_dark_b,outer_bright_b1,walk_l,harmful:6,-:2,harmful:2,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:16,outer_darker,outer_dark_b,outer_bright_b1,walk_l,-:5,harmful,-:2,harmful,-,walk_r,fan,outer_dark_b,outer_darker,outer_darkest:16,outer_darker,outer_dark_b,outer_bright_b1,walk_l,-:5,harmful,-:2,harmful,-,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:16,outer_darker,outer_dark_b,fan,walk_l,-:5,harmful,-:2,harmful,-,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:16,outer_darker,outer_dark_b,outer_bright_b1,walk_l,-:5,harmful,-:2,harmful,-,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:16,outer_darker,outer_dark_c,outer_bright_b1,walk_l,-:5,harmful,-:2,harmful,-,walk_r,outer_bright_c,outer_dark_c,outer_darker,outer_darkest:16,outer_darker,outer_dark_d,outer_bright_b1,walk_l,harmful:6,-:2,harmful:2,walk_r,outer_bright_a,outer_dark_d,outer_darker,outer_darkest:16,outer_darker,outer_dark_d,outer_bright_c,walk_l,-:10,walk_r,outer_bright_a,outer_dark_d,outer_darker,outer_darkest:16,outer_darker,outer_dark_d,outer_bright_a,walk_l,-:10,walk_r,outer_bright_a,outer_dark_d,outer_darker,outer_darkest:16,outer_darker,outer_dark_e,arrow_down,walk_corner_bl,walk_d:6,checkpoint,-,walk_d:2,walk_corner_br,arrow_down,outer_dark_e,outer_darker,outer_darkest:16,outer_darker,outer_dark_b,outer_bright_a,walk_corner_tl,walk_u:10,walk_corner_tr,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:16,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:10,walk_r,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:16,outer_darker,outer_dark_b,outer_bright_c,walk_l,-:10,walk_r,outer_bright_c,outer_dark_b,outer_darker,outer_darkest:16,outer_darker,outer_dark_b,outer_bright_b1,walk_l,harmful:4,-:2,harmful:4,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:16,outer_darker,outer_dark_b,outer_bright_b1,walk_l,-:3,harmful,-:2,harmful,-:3,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:16,outer_darker,outer_dark_b,outer_bright_b1,walk_l,-:3,harmful,-:2,harmful,-:3,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:9,outer_darker:8,fan_dark,outer_bright_b1,walk_l,-:3,harmful,-:2,harmful,-:3,walk_r,outer_bright_b1,fan_dark,outer_darker:8,outer_darkest:2,outer_darker,fan_dark,outer_dark_h,outer_dark_g:5,outer_dark_f,outer_bright_c,walk_l,-:10,walk_r,outer_bright_c,outer_dark_h,outer_dark_g:5,outer_dark_f,fan_dark,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_a:6,arrow_down,fan,walk_l,-:10,walk_r,outer_bright_a,arrow_down,outer_bright_a:6,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_a,walk_corner_tl,walk_u:6,walk_outercorner_br,-:8,walkrow_l,walkrow_r,walk_outercorner_bl,walk_u:6,walk_corner_tr,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_a,walk_l,harmful,-:22,harmful,walk_r,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_a,walk_l,harmful,-:22,harmful,walk_r,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_a,walk_corner_bl,walk_d:10,45fd,-:2,45fu,walk_d:10,walk_corner_br,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_c,outer_bright_a,walk_corner_tl,walk_u:10,walk_outercorner_br,checkpoint,-,walk_outercorner_bl,walk_u:10,walk_corner_tr,outer_bright_a,outer_dark_c,outer_darker,outer_darkest:2,outer_darker,outer_dark_d,outer_bright_a,walk_l,harmful,-:22,harmful,walk_r,outer_bright_a,outer_dark_d,outer_darker,outer_darkest:2,outer_darker,outer_dark_d,outer_bright_a,walk_l,harmful,-:22,harmful,walk_r,outer_bright_a,outer_dark_d,outer_darker,outer_darkest:2,outer_darker,outer_dark_d,outer_bright_a,walk_corner_bl,walk_d:6,walk_outercorner_tr,-:10,walk_outercorner_tl,walk_d:6,walk_corner_br,outer_bright_a,outer_dark_d,outer_darker,outer_darkest:2,outer_darker,outer_dark_e,outer_bright_a,outer_bright_c,outer_bright_b:4,fan,arrow_down,walk_l,-:10,walk_r,arrow_down,fan,outer_bright_b:4,outer_bright_c,outer_bright_a,outer_dark_e,outer_darker,outer_darkest:2,outer_darker,outer_dark_b:8,fan,walk_l,-:2,harmful:8,walk_r,fan,outer_dark_b:8,outer_darker,outer_darkest:2,outer_darker:8,outer_dark_b,outer_bright_b1,walk_l,-:2,harmful:8,walk_r,outer_bright_b1,outer_dark_b,outer_darker:8,outer_darkest:9,outer_darker,outer_dark_b,outer_bright_c,walk_l,-:10,walk_r,outer_bright_c,outer_dark_b,outer_darker,outer_darkest:16,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:10,walk_r,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:16,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:10,walk_r,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:16,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:10,walk_r,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:16,outer_darker,outer_dark_b,outer_bright_a,walk_corner_bl,walk_d:4,exit,-,walk_d:4,walk_corner_br,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:16,outer_darker,outer_dark_b,outer_bright_c,outer_bright_b,outer_bright_d,outer_bright_a,outer_bright_c,fan,outer_bright_b:2,fan,outer_bright_c,outer_bright_a,outer_bright_d,outer_bright_b,outer_bright_c,outer_dark_b,outer_darker,outer_darkest:16,outer_darker,outer_dark_b:5,fan_dark,outer_dark_h,outer_dark_g:2,outer_dark_f,fan_dark,outer_dark_b:5,outer_darker,outer_darkest:16,outer_darker:18,outer_darkest:42</t><peg>-:464,nb,-:101,ntt,-:328,nb,-:101,ntt,-:249,nb,-:203,ntt,-:486</peg><a>-:458,player,-:857,mp_42h,-:117,mp_42h,-:503</a><path x="24" y="38" pts="[24,38]>[6,38]"/><path x="6" y="42" pts="[6,42]>[24,42]"/></level>
;
levelData["534f1db6ff0d3ec06e2ffdc62ebb342a.xml"] = <level w="41" h="37"><t>outer_darkest:59,outer_darker:18,outer_darkest:7,outer_darker:17,outer_dark_a,fan_dark,outer_dark_b:13,outer_dark_a,outer_darker:2,outer_darkest:6,outer_darker,outer_dark_a:2,outer_dark_b:5,outer_dark_h,outer_dark_g,outer_dark_f,outer_dark_b:5,outer_dark_a,fan_dark,fan,outer_bright_a:4,outer_bright_c,outer_bright_e,outer_bright_b,outer_bright_e,outer_bright_c,outer_bright_a:4,outer_dark_a:2,outer_darker,outer_darkest:6,outer_darker,outer_dark_a,fan,outer_bright_b:6,fan,outer_bright_a:8,arrow_left,slope_edge_br,walk_u:10,slope_edge_bl,fan,outer_bright_c,outer_dark_a,outer_darker,outer_darkest:6,outer_darker,outer_dark_b,outer_bright_c,walk_corner_tl,walk_u:4,walk_corner_tr,outer_bright_c,walk_corner_tl,walk_u:8,45cu,-:10,45cd,slope_edge_bl,fan,outer_dark_b,outer_darker,outer_darkest:6,outer_darker,outer_dark_b,outer_bright_b1,walk_l,-:4,walk_r,outer_bright_b1,walk_l,-:20,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:6,outer_darker,outer_dark_b,outer_bright_b1,walk_l,-:4,walk_r,outer_bright_b1,walk_l,-:20,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:6,outer_darker,outer_dark_b,outer_bright_c,walk_l,-:3,walk_outercorner_tl,walk_corner_br,outer_bright_c,walk_corner_bl,walk_d:4,checkpoint,-,reset,walk_d:3,walk_outercorner_tr,-:9,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:6,outer_darker,outer_dark_b,outer_bright_a,walk_corner_bl,walk_outercorner_tr,harmful:2,walk_outercorner_bl,walk_u:4,walk_corner_tr,fan,outer_bright_b:4,arrow_left,outer_bright_b,fan,walk_l,-:9,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:6,outer_darker,outer_dark_a,outer_bright_a,fan,walk_l,-:7,walk_r,outer_bright_a,outer_dark_a,outer_dark_b:4,outer_dark_a,outer_bright_a,walk_l,-:9,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:6,outer_darker,outer_dark_a:2,outer_bright_b1,walk_l,-:7,walk_r,outer_bright_a,outer_dark_b,outer_darker:4,outer_dark_b,outer_bright_a,walk_l,-:9,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:6,outer_darker,outer_dark_b:2,outer_bright_b1,walk_l,-:2,walk_outercorner_tl,walk_d:4,walk_corner_br,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:9,walk_r,outer_bright_c,outer_dark_b,outer_darker,outer_darkest:6,outer_darker,outer_dark_b,outer_bright_a,arrow_down,walk_l,-:2,walk_r,arrow_down,outer_bright_a,outer_bright_c,outer_bright_b:2,outer_bright_c,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:9,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:6,outer_darker,outer_dark_b,outer_bright_c,walk_corner_tl,walk_outercorner_br,-:2,walk_outercorner_bl,walk_corner_tr,outer_bright_c,outer_dark_b:4,outer_dark_a,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:9,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:6,outer_darker,outer_dark_b,outer_bright_b1,walk_l,-:4,walk_r,outer_bright_b1,outer_dark_b,outer_darker:8,outer_dark_b,outer_bright_a,walk_l,-:4,walk_single,-:4,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:6,outer_darker,outer_dark_b,outer_bright_b1,walk_l,-:4,walk_r,outer_bright_b1,outer_dark_b:5,fan_dark,outer_dark_b,outer_dark_a,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:9,walk_r,outer_bright_b1,outer_dark_b,outer_darker:2,outer_darkest:5,outer_darker,outer_dark_b,fan,walk_corner_bl,walk_d,exit,-,walk_d,walk_corner_br,fan,outer_bright_b,outer_bright_e:2,outer_bright_b:2,outer_bright_c,outer_bright_a,outer_dark_h,outer_dark_f,outer_dark_a,outer_bright_a,walk_l,-:9,walk_r,outer_bright_b1,outer_dark_b:2,outer_darker,outer_darkest:5,outer_darker,outer_dark_b,outer_bright_a,number,walk_corner_tl,walk_u:9,laser_down,walk_corner_tr,outer_bright_a,outer_dark_b:2,outer_bright_a:2,walk_l,-:8,walkrow_l,walk_intersection_3_l,fan,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:5,outer_darker,outer_dark_b:2,outer_bright_a,walk_l,-:10,walk_r,outer_bright_a,outer_dark_h,outer_dark_f,outer_bright_a,slope_edge_br,45cu,-:9,45cd,slope_edge_bl,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:5,outer_darker:2,outer_dark_b,outer_bright_a,walk_l,-:6,walk_outercorner_tl,walk_outercorner_tr,-:2,walk_r,outer_bright_a,outer_dark_b:2,outer_bright_a,walk_l,-:11,walk_r,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:6,outer_darker,outer_dark_b,outer_bright_a,walk_corner_bl,entrance,-,walk_d,walk_outercorner_tr,-:2,walk_r,walk_corner_bl,laser_up,walk_d,walk_corner_br,outer_bright_a,outer_dark_h,outer_dark_f,outer_bright_a,slope_edge_tr,45fd,-:4,walk_single,-:4,45fu,slope_edge_tl,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:6,outer_darker,outer_dark_b,outer_bright_a,fan,outer_bright_b:2,fan,walk_l,-:2,walk_r,outer_bright_a:5,outer_dark_a:2,outer_bright_a:2,walk_l,-:9,laser_left,fan,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:6,outer_darker,outer_dark_b:2,outer_dark_a,fan_dark:2,outer_bright_c,walk_l,-:2,walk_r,arrow_right,outer_bright_b:7,arrow_up,laser_right,-:9,walk_r,arrow_up,outer_dark_b:2,outer_darker,outer_darkest:6,outer_darker:5,outer_dark_b,outer_bright_a,walk_l,-:2,walk_r,walk_corner_tl,walk_u:8,45cu,-:9,walk_r,outer_bright_b1,outer_dark_b,outer_darker:2,outer_darkest:10,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:2,walk_r,walk_l,-:18,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:11,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:2,walk_r,walk_l,-:11,walk_single,-:3,walk_single,-:2,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:11,outer_darker,outer_dark_b,outer_bright_a,walk_corner_bl,walk_d:2,walk_corner_br,walk_corner_bl,walk_d:3,checkpoint,-,walk_d:3,walk_outercorner_tr,-:9,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:11,outer_darker,outer_dark_b,outer_bright_a:5,arrow_right,outer_bright_b:7,outer_bright_c,walk_l,-:9,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:11,outer_darker,outer_dark_b:7,outer_dark_a,outer_dark_b:5,outer_dark_a,outer_bright_a,laser_right,-:9,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:11,outer_darker:14,outer_dark_b,outer_bright_a,walk_l,-:9,laser_left,fan,outer_dark_b,outer_darker,outer_darkest:24,outer_darker,outer_dark_b,outer_bright_a,walk_corner_bl,walk_d:2,laser_up,walk_d,laser_up,walk_d,laser_up,walk_d:2,walk_corner_br,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:24,outer_darker,outer_dark_b,outer_bright_a:4,outer_bright_c,outer_bright_b,outer_bright_c,outer_bright_b,outer_bright_c,outer_bright_a:4,outer_dark_b,outer_darker,outer_darkest:24,outer_darker,outer_dark_b:5,fan_dark,outer_dark_a,fan_dark,outer_dark_a,fan_dark,outer_dark_b:5,outer_darker,outer_darkest:24,outer_darker:17,outer_darkest:86</t><peg>-:337,n,-:4,n,-:8,n,-:72,n,-:131,n,-:276,nb,-:204,n,-:53,nr,-:3,nll,-:420</peg><a>-:827,player,-:689</a></level>
;
levelData["d091da58b91293107239cea7877b65ef.xml"] = <level w="50" h="26"><t>outer_darkest:12,outer_darker:21,outer_darkest:29,outer_darker,outer_dark_b:6,outer_dark_h,outer_dark_g:5,outer_dark_f,outer_dark_b:6,outer_darker,outer_darkest:29,outer_darker,outer_dark_b,outer_bright_a:2,outer_bright_b,fan,outer_bright_b:2,outer_bright_a,outer_bright_b:3,outer_bright_a,outer_bright_b:2,fan,outer_bright_b,outer_bright_a,arrow_right,outer_dark_b,outer_darker:15,outer_darkest:15,outer_darker,outer_dark_b,outer_bright_a,walk_corner_tl,walk_u:13,walk_corner_tr,outer_bright_c,outer_dark_a,outer_dark_b:2,outer_dark_a:2,outer_dark_b:5,outer_dark_a:2,outer_dark_b:3,outer_darker,outer_darkest:15,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:13,walk_r,outer_bright_b:4,outer_bright_c:2,outer_bright_a:5,outer_bright_c:2,outer_bright_a:2,outer_dark_b,outer_darker,outer_darkest:15,outer_darker,outer_dark_c,outer_bright_a,walk_l,-:13,walk_r,outer_bright_b:2,walk_corner_tl,walk_u:10,walk_corner_tr,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:15,outer_darker,outer_dark_d,fan,walk_l,-:13,walk_r,outer_bright_b:2,walk_l,-:10,walk_r,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:15,outer_darker,outer_dark_e,outer_bright_a,walk_l,-:13,walk_outercorner_bl,walk_u:2,walk_outercorner_br,-:10,walk_r,arrow_down,outer_dark_c,outer_darker,outer_darkest:15,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:27,walk_r,fan,outer_dark_d,outer_darker,outer_darkest:15,outer_darker,outer_dark_b,outer_bright_c,walk_l,-:24,walk_outercorner_tl,walk_outercorner_tr,-,walk_r,outer_bright_b1,outer_dark_e,outer_darker,outer_darkest:6,outer_darker:10,outer_dark_b,outer_bright_b1,walk_l,-:13,walk_outercorner_tl,walk_d:2,walk_outercorner_tr,-:7,walk_r,walk_l,-,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:6,outer_darker,outer_dark_b:3,outer_dark_h,outer_dark_g:3,outer_dark_f,outer_dark_b:2,outer_bright_b1,walk_l,-:13,walk_r,outer_bright_b:2,walk_l,-:7,walk_r,walk_l,-,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:6,outer_darker,outer_dark_b,number,outer_bright_a:5,outer_bright_c,outer_bright_b:2,fan,walk_l,-:13,walk_r,outer_bright_b:2,walk_l,-:7,walk_r,walk_l,-,walk_r,outer_bright_b1,outer_dark_c,outer_darker,outer_darkest:6,outer_darker,outer_dark_b,arrow_right,walk_corner_tl,walk_u:8,walk_outercorner_br,-:13,walk_r,outer_bright_b:2,walk_corner_bl,walk_d:7,walk_corner_br,walk_l,-,walk_r,fan,outer_dark_d,outer_darker,outer_darkest:3,outer_darker:4,outer_dark_a,fan,walk_l,-:22,walk_r,walk_corner_tl,walk_u:10,walk_outercorner_br,-,walk_r,outer_bright_a,outer_dark_e,outer_darker:5,outer_dark_b:4,fan,walk_l,-:7,walk_d,-:14,walk_r,walk_l,-:12,walk_r,outer_bright_a,outer_dark_b:4,outer_darker:2,outer_dark_b,outer_bright_a:4,walk_corner_bl,walk_d:2,entrance,-,walk_d:18,walk_corner_br,walk_l,-:12,walk_r,fan,outer_bright_b:2,outer_bright_c,outer_dark_b,outer_darker:2,outer_dark_b,outer_bright_a,walk_corner_tl,walk_u:26,walk_outercorner_br,-:12,walk_outercorner_bl,walk_u:2,walk_corner_tr,outer_bright_a,outer_dark_b,outer_darker:2,outer_dark_b,outer_bright_a,walk_l,-:42,walk_r,outer_bright_a,outer_dark_b,outer_darker:2,outer_dark_a,fan,walk_l,-:42,walk_r,outer_bright_a,outer_dark_b,outer_darker:2,outer_dark_a,fan,walk_l,-:39,walk_outercorner_tl,walk_d:2,walk_corner_br,outer_bright_a,outer_dark_b,outer_darker:2,outer_dark_b,outer_bright_a,walk_l,-:39,walk_r,fan,outer_bright_b:2,outer_bright_c,outer_dark_b,outer_darker:2,outer_dark_b,outer_bright_a,walk_corner_bl,walk_d:2,exit,-,walk_d:29,checkpoint,-,walk_d:4,walk_corner_br,outer_bright_a,outer_dark_b:4,outer_darker:2,outer_dark_b,outer_bright_a:2,outer_bright_c,outer_bright_b,fan:2,outer_bright_b,outer_bright_c,outer_bright_a:2,outer_bright_c,outer_bright_b:4,outer_bright_c,outer_bright_a:5,outer_bright_c,outer_bright_b:4,outer_bright_c,outer_bright_a:5,arrow_left,outer_bright_c,outer_bright_b,fan:2,outer_bright_b,outer_bright_c,outer_bright_a:4,outer_dark_b,outer_darker:5,outer_dark_b:4,fan_dark,outer_dark_a:2,fan_dark,outer_dark_b:27,fan_dark,outer_dark_a:2,fan_dark,outer_dark_b:6,outer_darker,outer_darkest:3,outer_darker:47,outer_darkest:3</t><a>-:170,fold,-:54,mp_42v,-:107,mp_42h,-:4,fold,-:27,mp_42h,-:98,fold,-:113,fold,-:3,mp_42v,-:6,fold,-:29,mp_42v,-:95,mp_42h,-:42,player,-:150,mp_42v,-:13,mp_42h,-:88,mp_42h,-:10,mp_42h,-:97,fold_corner,-:177</a><path x="20" y="3" pts="[20,3]>[22,4]"/><path x="25" y="4" pts="[25,4]>[25,12]"/><path x="33" y="6" pts="[33,6]>[36,11]"/><path x="38" y="6" pts="[38,6]>[40,8]"/><path x="16" y="7" pts="[16,7]>[25,7]"/><path x="15" y="9" pts="[15,9]>[16,11]"/><path x="29" y="11" pts="[29,11]>[28,16]"/><path x="33" y="11" pts="[33,11]>[33,6]"/><path x="40" y="11" pts="[40,11]>[38,12]"/><path x="20" y="12" pts="[20,12]>[20,4]"/><path x="16" y="14" pts="[16,14]>[25,14]"/><path x="10" y="18" pts="[10,18]>[10,20]"/><path x="24" y="18" pts="[24,18]>[42,18]"/><path x="13" y="20" pts="[13,20]>[20,20]"/><path x="24" y="20" pts="[24,20]>[31,20]"/><path x="22" y="22" pts="[22,22]>[21,23]"/></level>
;
levelData["bd3aaaa286f0413359e2d3c97a2605f2.xml"] = <level w="25" h="42"><t>outer_darkest:26,outer_darker:23,outer_darkest:2,outer_darker,outer_dark_b,fan_dark,outer_dark_h,outer_dark_g:6,outer_dark_f,outer_dark_a:2,outer_dark_h,outer_dark_g:5,outer_dark_f,fan_dark,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_a:19,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_a,walk_corner_tl,walk_u:4,walk_corner_tr,walk_corner_tl,walk_u:9,walk_corner_tr,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:4,walk_r,walk_l,-:9,walk_r,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,fan,walk_l,-:4,walk_r,walk_l,-:9,walk_r,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_c,outer_bright_b1,walk_l,-:4,walk_r,walk_l,-:5,walk_outercorner_tl,walk_outercorner_tr,-:2,walk_r,fan,outer_dark_c,outer_darker,outer_darkest:2,outer_darker,outer_dark_d,outer_bright_b1,walk_intersection_3_r,walkrow_lr,walkrow_r,-:2,walk_r,walk_l,-:4,walkrow_l,walk_intersection_3_l,walk_l,-:2,walk_r,outer_bright_b1,outer_dark_d,outer_darker,outer_darkest:2,outer_darker,outer_dark_e,outer_bright_b1,walk_l,-:4,walk_r,walk_l,-:4,harmful,walk_r,walk_l,-:2,walk_r,outer_bright_b1,outer_dark_d,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,fan,walk_l,-:4,walk_r,walk_l,-:5,walk_r,walk_l,-:2,walk_r,outer_bright_b1,outer_dark_e,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:2,walkrow_l,walkrow_lr,walk_intersection_3_l,walk_l,-:5,walk_r,walk_l,-:2,walk_r,outer_bright_b1,fan_dark,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:4,walk_r,walk_l,-:5,walk_r,walk_l,-:2,walk_r,outer_bright_b1,outer_dark_c,outer_darker,outer_darkest:2,outer_darker,outer_dark_c,outer_bright_a,walk_l,-:4,walk_r,walk_l,-:5,walk_r,walk_l,-:2,walk_r,outer_bright_b1,outer_dark_d,outer_darker,outer_darkest:2,outer_darker,outer_dark_d,outer_bright_a,walk_corner_bl,walk_d:4,walk_corner_br,walk_corner_bl,walk_d:5,walk_corner_br,walk_l,-:2,walk_r,outer_bright_b1,outer_dark_d,outer_darker,outer_darkest:2,outer_darker,outer_dark_e,outer_bright_a:2,walk_corner_tl,walk_u:3,walk_corner_tr,walk_corner_tl,walk_u:6,walk_outercorner_br,-:2,walk_r,fan,outer_dark_e,outer_darker,outer_darkest:2,outer_darker,fan_dark,outer_dark_c,outer_bright_a,walk_l,-:3,walk_r,walk_l,-:9,walk_r,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:2,outer_darker:2,outer_dark_d,outer_bright_a,walk_l,-:3,walk_r,walk_l,-:9,walk_r,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:3,outer_darker,outer_dark_e,outer_bright_a,walk_l,-:3,walk_r,walk_l,-:5,walk_outercorner_tl,walk_outercorner_tr,-:2,walk_r,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:3,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:3,walk_r,walk_l,-:5,walk_r,walk_l,-:2,walk_r,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:3,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:3,walk_r,walk_l,-:5,walk_r,walk_corner_bl,checkpoint,-,walk_corner_br,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:3,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:3,walk_r,walk_corner_bl,walk_d:5,walk_corner_br,fan,outer_bright_b:2,fan,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:3,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:3,walk_r,walk_corner_tl,walk_u:5,walk_corner_tr,outer_bright_c,fan_dark:2,outer_dark_a,outer_dark_b:2,outer_darker,outer_darkest:3,outer_darker,outer_dark_b,number,walk_l,-:3,walk_r,walk_l,-:5,walk_r,outer_bright_b1,outer_dark_b,outer_darker:5,outer_darkest:3,outer_darker,outer_dark_b,walk_corner_tl,walk_outercorner_br,-:3,walk_r,walk_l,-:5,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:7,outer_darker,outer_dark_b,walk_l,-:4,walk_r,walk_l,-:5,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:7,outer_darker,outer_dark_b,walk_l,-:4,walk_r,walk_l,-:2,walk_single,-:2,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:6,outer_darker:2,outer_dark_b,walk_l,-:4,walk_r,walk_l,-:5,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:6,outer_darker,outer_dark_b:2,walk_corner_bl,walk_d,entrance,-,walk_d,walk_corner_br,walk_l,-:2,walk_outercorner_tl,walk_d:2,walk_corner_br,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:6,outer_darker,outer_dark_b,outer_bright_a,arrow_down,outer_bright_b:4,arrow_down,walk_l,-:2,walk_r,arrow_down,outer_bright_b,outer_bright_c,fan,outer_dark_b,outer_darker,outer_darkest:6,outer_darker,outer_dark_c,outer_bright_a,walk_corner_tl,walk_u:4,walk_corner_tr,walk_l,-:2,walk_outercorner_bl,walk_u:2,walk_corner_tr,outer_bright_b1,outer_dark_c,outer_darker,outer_darkest:6,outer_darker,outer_dark_d,outer_bright_a,walk_l,harmful,-:3,walk_r,walk_l,-:4,harmful,walk_r,outer_bright_b1,outer_dark_d,outer_darker,outer_darkest:6,outer_darker,outer_dark_d,outer_bright_a,walk_l,-:4,laser_left,laser_right,-:5,walk_r,outer_bright_b1,outer_dark_d,outer_darker,outer_darkest:6,outer_darker,outer_dark_d,outer_bright_a,walk_l,-:4,walk_r,walk_l,-:5,walk_r,outer_bright_b1,outer_dark_d,outer_darker,outer_darkest:6,outer_darker,outer_dark_d,outer_bright_a,walk_l,-:4,walk_r,walk_l,-:5,walk_r,outer_bright_b1,outer_dark_d,outer_darker,outer_darkest:6,outer_darker,outer_dark_d,outer_bright_a,walk_l,-:4,walk_r,walk_l,-:5,walk_r,outer_bright_b1,outer_dark_d,outer_darker,outer_darkest:6,outer_darker,outer_dark_d,outer_bright_a,walk_l,-:4,walk_r,walk_l,-:5,walk_r,outer_bright_b1,outer_dark_d,outer_darker,outer_darkest:6,outer_darker,outer_dark_e,outer_bright_a,walk_corner_bl,reset,exit,-,reset,walk_corner_br,walk_corner_bl,walk_d:5,walk_corner_br,outer_bright_c,outer_dark_e,outer_darker,outer_darkest:6,outer_darker,outer_dark_b,outer_bright_a,outer_bright_c,outer_bright_b:4,outer_bright_c,outer_bright_a:2,outer_bright_c,outer_bright_b,outer_bright_c,outer_bright_a:3,outer_dark_b,outer_darker,outer_darkest:6,outer_darker,outer_dark_b:3,outer_dark_a,fan_dark:2,outer_dark_a,outer_dark_b:4,fan_dark,outer_dark_b:5,outer_darker,outer_darkest:6,outer_darker:19,outer_darkest:30</t><peg>-:83,n,-:2,n,-:318,n,-:103,n,-:70,n,-:78,n,-:390</peg><a>-:681,player,-:368</a></level>
;
levelData["ed56279d6e2025e6b436401015f3330b.xml"] = <level w="21" h="16"><t>outer_darkest:2,outer_darker:10,outer_darkest:11,outer_darker,outer_dark_b:6,outer_dark_h,outer_dark_f,outer_darker:2,outer_darkest:10,outer_darker,outer_dark_b,outer_bright_a:6,outer_dark_h,outer_dark_f,outer_darker:7,outer_darkest:4,outer_darker,outer_dark_b,fan,walk_corner_tl,walk_u,laser_down,walk_corner_tr,outer_bright_c,outer_bright_a,outer_dark_h,outer_dark_f,outer_dark_b:5,outer_darker,outer_darkest:3,outer_darker:2,outer_dark_b,outer_bright_b1,walk_l,-:2,walk_outercorner_bl,walk_corner_tr,outer_bright_c,outer_bright_a:6,outer_dark_b,outer_darker,outer_darkest:2,outer_darker:2,outer_dark_h,outer_dark_f,fan,walk_corner_bl,walk_d,walk_outercorner_tr,-,walk_outercorner_bl,walk_u:5,walk_corner_tr,outer_bright_a,outer_dark_b,outer_darker:4,outer_dark_h,outer_dark_f,outer_bright_c,outer_bright_b,outer_bright_e,fan,walk_l,-:7,laser_left,outer_bright_a,outer_dark_b:3,outer_darker:2,outer_dark_b,outer_bright_a:2,slope_edge_br,walk_u,walk_corner_tr,walk_l,destroyable:2,walk_outercorner_tl,walk_outercorner_tr,-:2,walk_outercorner_tl,walk_corner_br,outer_bright_a:3,outer_dark_b,outer_darker:2,outer_dark_b,outer_bright_a,slope_edge_br,45cu,-,walk_outercorner_bl,walk_outercorner_br,destroyable:2,walk_r,walk_l,destroyable:2,walk_outercorner_bl,walk_u:2,walk_corner_tr,outer_bright_a,outer_dark_b,outer_darker:2,outer_dark_b,outer_bright_a,walk_l,-:6,walk_r,walk_l,destroyable:2,-:3,walk_r,outer_bright_c,outer_dark_b,outer_darker:2,outer_dark_b,outer_bright_a,walk_l,-:6,walk_r,walk_l,-:5,walk_r,outer_bright_b1,outer_dark_b,outer_darker:2,outer_dark_b,outer_bright_a,walk_corner_bl,entrance,-,walk_d:4,walk_corner_br,walk_l,-:5,walk_r,outer_bright_c,outer_dark_b,outer_darker:2,outer_dark_b,outer_bright_a,fan,outer_bright_b:2,fan,number,outer_bright_a:2,arrow_right,walk_corner_bl,walk_d:2,exit,-,walk_d,walk_corner_br,outer_bright_a,outer_dark_b,outer_darker:2,outer_dark_b:3,outer_dark_h,outer_dark_f,outer_dark_b:2,outer_dark_h,outer_dark_f,outer_bright_a:3,fan,outer_bright_b:2,fan,outer_bright_a:2,outer_dark_b,outer_darker:10,outer_dark_h,outer_dark_f,outer_dark_b:3,outer_dark_h,outer_dark_f,outer_dark_b:4,outer_darker,outer_darkest:8,outer_darker:13</t><peg>-:111,n,-:21,n,-:23,n,-:21,n,-:156</peg><a>-:214,player,-:121</a></level>
;
levelData["7b5cf8f2eb0baf367035f2ecef87a2aa.xml"] = <level w="52" h="28"><t>outer_darkest:5,outer_darker:39,outer_darkest:13,outer_darker,outer_dark_b:3,outer_dark_h,outer_dark_f,outer_dark_b,outer_dark_h,outer_dark_f,outer_dark_b,outer_dark_h,outer_dark_f,outer_dark_b,outer_dark_h,outer_dark_f,outer_dark_b:2,outer_dark_a,outer_dark_b:2,outer_dark_a,outer_dark_b:2,outer_dark_h,outer_dark_f,outer_dark_b,outer_dark_h,outer_dark_f,outer_dark_b,outer_dark_h,outer_dark_f,outer_dark_b,outer_dark_h,outer_dark_f,outer_dark_b:4,outer_darker,outer_darkest:13,outer_darker,outer_dark_b,outer_bright_a:2,outer_bright_c:2,outer_bright_a,outer_bright_c:2,outer_bright_a,outer_bright_c:2,outer_bright_a,outer_bright_c:2,outer_bright_a,outer_bright_e,fan,outer_bright_b:2,fan,outer_bright_e,outer_bright_a,outer_bright_c:2,outer_bright_a,outer_bright_c:2,outer_bright_a,outer_bright_c:2,outer_bright_a,outer_bright_c:2,outer_bright_a:3,outer_dark_b,outer_darker,outer_darkest:13,outer_darker,fan_dark,outer_bright_c,walk_corner_tl,walk_u:12,walk_intersection_3_d,walk_u:4,walk_intersection_3_d,walk_u:13,walk_corner_tr,outer_bright_c,fan_dark,outer_darker,outer_darkest:13,outer_darker,outer_dark_b,outer_bright_b1,walk_l,-:12,walkrow_d,-:4,walkrow_d,-:13,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:13,outer_darker,outer_dark_b,outer_bright_b1,walk_l,-:31,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:13,outer_darker,outer_dark_b,outer_bright_b1,walk_l,-:11,walk_outercorner_tl,reset,walk_outercorner_tr,-:2,walk_outercorner_tl,reset,walk_outercorner_tr,-:12,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:13,outer_darker,outer_dark_b,outer_bright_b1,walk_l,-:11,walk_r,fan,walk_corner_bl,checkpoint,-,walk_corner_br,fan,walk_l,-:12,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:13,outer_darker,fan_dark,outer_bright_c,walk_intersection_3_r,walkrow_lr:11,walk_intersection_3_l,arrow_right,outer_bright_c,outer_bright_b:2,outer_bright_c,arrow_down,walk_intersection_3_r,walkrow_lr:12,walk_intersection_3_l,outer_bright_c,fan_dark,outer_darker,outer_darkest:13,outer_darker,outer_dark_b,outer_bright_b1,walk_l,-:11,walk_r,outer_bright_c,outer_dark_b,outer_dark_a:2,outer_dark_b,outer_bright_c,walk_l,-:12,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:13,outer_darker,outer_dark_b,outer_bright_b1,walk_l,-:11,walk_r,outer_bright_b1,outer_dark_a,outer_darker:2,outer_dark_a,outer_bright_b1,walk_l,-:12,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:13,outer_darker,outer_dark_b,outer_bright_b1,walk_l,-:11,walk_r,outer_bright_b1,outer_dark_a,outer_darker:2,outer_dark_a,outer_bright_b1,walk_l,-:12,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:13,outer_darker,outer_dark_b,outer_bright_b1,walk_l,-:11,walk_r,outer_bright_c,outer_dark_c,outer_darker:2,outer_dark_c,outer_bright_c,walk_l,-:12,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:13,outer_darker,fan_dark,outer_bright_c,walk_intersection_3_r,walkrow_lr:11,walk_intersection_3_l,arrow_up,outer_dark_d,outer_darker:2,outer_dark_d,arrow_down,walk_intersection_3_r,walkrow_lr:12,walk_intersection_3_l,outer_bright_c,fan_dark,outer_darker,outer_darkest:13,outer_darker,outer_dark_b,outer_bright_b1,walk_l,-:11,walk_r,outer_bright_c,outer_dark_b,outer_darker:2,outer_dark_b,outer_bright_c,walk_l,-:12,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:13,outer_darker,outer_dark_b,outer_bright_b1,walk_l,-:11,walk_r,outer_bright_b1,outer_dark_a,outer_darker:2,outer_dark_a,outer_bright_b1,walk_l,-:12,walk_r,outer_bright_b1,outer_dark_b,outer_darker:8,outer_darkest:6,outer_darker,outer_dark_b,outer_bright_b1,walk_l,-:11,walk_r,outer_bright_b1,outer_dark_a,outer_darker:2,outer_dark_a,outer_bright_b1,walk_l,-:12,walk_r,outer_bright_b1,outer_dark_h,outer_dark_f,fan_dark:2,outer_dark_h,outer_dark_f,outer_dark_b:2,outer_darker,outer_darkest:2,outer_darker:5,outer_dark_b,outer_bright_b1,walk_l,-:11,walk_r,outer_bright_c,outer_dark_c,outer_darker:2,outer_dark_c,outer_bright_c,walk_l,-:12,walk_r,outer_bright_b1,fan,outer_bright_e,outer_bright_b:2,outer_bright_e,fan,outer_bright_c,outer_dark_c,outer_darker,outer_darkest:2,outer_darker,outer_dark_b:3,outer_dark_a:2,outer_bright_c,walk_intersection_3_r,walkrow_lr:11,walk_intersection_3_l,arrow_up,outer_dark_d,outer_darker:2,outer_dark_d,arrow_down,walk_intersection_3_r,walkrow_lr:12,walk_intersection_3_l,outer_bright_c,walk_corner_tl,walk_u:4,walk_corner_tr,outer_bright_a,outer_dark_d,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_a,outer_bright_c,outer_bright_b:2,fan,walk_l,-:11,walk_r,outer_bright_c,outer_dark_e,outer_darker:2,outer_dark_e,outer_bright_c,walk_l,-:12,walk_r,fan,walk_l,-:4,walk_r,outer_bright_c,outer_dark_e,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_c,walk_corner_tl,walk_u:3,walk_outercorner_br,-:11,walk_r,outer_bright_b1,outer_dark_a,outer_darker:2,outer_dark_a,outer_bright_b1,walk_l,-:12,walk_outercorner_bl,walk_u,walk_outercorner_br,-:4,walk_r,outer_bright_b1,outer_dark_a,outer_darker,outer_darkest:2,outer_darker,outer_dark_a,outer_bright_b1,walk_l,-:15,walk_r,outer_bright_b1,outer_dark_a,outer_darker:2,outer_dark_a,outer_bright_b1,walk_l,-:19,walk_r,outer_bright_b1,outer_dark_a,outer_darker,outer_darkest:2,outer_darker,outer_dark_a,outer_bright_b1,walk_l,-:15,walk_r,outer_bright_c,outer_dark_c,outer_darker:2,outer_dark_c,outer_bright_c,walk_l,-:19,walk_r,outer_bright_c,outer_dark_c,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_c,walk_corner_bl,walk_d,entrance,-,walk_d:12,walk_corner_br,outer_bright_a,outer_dark_d,outer_darker:2,outer_dark_d,outer_bright_a,walk_corner_bl,walk_d:16,exit,-,walk_d,walk_corner_br,outer_bright_a,outer_dark_d,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_a:2,number,fan:2,arrow_right,outer_bright_a,outer_bright_c:2,outer_bright_a,outer_bright_c:2,outer_bright_a,outer_bright_c:2,outer_bright_a,outer_bright_c:2,arrow_up,outer_dark_e,outer_darker:2,outer_dark_e,arrow_right,outer_bright_c:2,outer_bright_a,outer_bright_c:2,outer_bright_a,outer_bright_c:2,outer_bright_a,outer_bright_c:2,outer_bright_a:4,fan,outer_bright_e,outer_bright_b:2,outer_bright_e,fan,outer_bright_c,outer_dark_e,outer_darker,outer_darkest:2,outer_darker,outer_dark_b:3,outer_dark_h,outer_dark_g:2,outer_dark_f,outer_dark_b,outer_dark_h,outer_dark_f,outer_dark_b,outer_dark_h,outer_dark_f,outer_dark_b,outer_dark_h,outer_dark_f,outer_dark_b,outer_dark_h,outer_dark_f,outer_dark_b:2,outer_darker:2,outer_dark_b:2,outer_dark_h,outer_dark_f,outer_dark_b,outer_dark_h,outer_dark_f,outer_dark_b,outer_dark_h,outer_dark_f,outer_dark_b,outer_dark_h,outer_dark_f,outer_dark_b:4,outer_dark_h,outer_dark_f,fan_dark:2,outer_dark_h,outer_dark_f,outer_dark_b:2,outer_darker,outer_darkest:2,outer_darker:50,outer_darkest:53</t><peg>-:167,n,-:2,n,-:2,n,-:251,n,-:2,n,-:2,n,-:2,n,-:10,n,-:2,n,-:2,n,-:2,n,-:231,n,-:2,n,-:2,n,-:2,n,-:10,n,-:2,n,-:2,n,-:2,n,-:231,n,-:2,n,-:2,n,-:2,n,-:7,n,-:2,n,-:2,n,-:2,n,-:231,n,-:2,n,-:2,n,-:2,n,-:10,n,-:2,n,-:2,n,-:2,n,-:221</peg><a>-:348,mp_42h,-:134,mp_42v,-:98,mp_42v,-:17,mp_42h,-:267,mp_42h,-:233,mp_42v,-:17,mp_42h,-:29,player,-:305</a><path x="36" y="6" pts="[36,6]>[28,6]"/><path x="15" y="9" pts="[15,9]>[15,16]"/><path x="10" y="11" pts="[10,11]>[10,4]"/><path x="28" y="11" pts="[28,11]>[36,11]"/><path x="36" y="16" pts="[36,16]>[28,16]"/><path x="10" y="21" pts="[10,21]>[10,14]"/><path x="28" y="21" pts="[28,21]>[36,21]"/></level>
;
levelData["001db15989c71a41a2e2426f70d8c0f7.xml"] = <level w="25" h="15"><t>outer_darkest:5,outer_darker:20,outer_darkest:5,outer_darker,fan_dark,outer_dark_h,outer_dark_g:14,outer_dark_f,fan_dark,outer_darker,outer_darkest:5,outer_darker,outer_dark_c,outer_bright_c,outer_bright_b:9,outer_bright_c,outer_bright_a:5,outer_dark_c,outer_darker:7,outer_dark_e,outer_bright_b1,walk_corner_tl,walk_u:3,laser_down,walk_u:4,prox_laser,walk_u:3,walk_corner_tr,outer_bright_a,outer_dark_d,outer_darker:2,fan_dark,outer_dark_h,outer_dark_g:2,outer_dark_f,fan_dark,outer_bright_b1,walk_l,destroyable:3,-,destroyable:3,-:5,walk_r,outer_bright_a,outer_dark_d,outer_darker:2,outer_dark_c,outer_bright_a:5,outer_bright_c,walk_l,destroyable:3,-,destroyable:3,-:5,walk_r,outer_bright_a,outer_dark_d,outer_darker:2,outer_dark_d,outer_bright_a,walk_corner_tl,walk_u:3,walk_corner_tr,walk_l,destroyable:3,-,destroyable:3,walk_outercorner_tl,walk_d,exit,-,walk_d,walk_corner_br,outer_bright_a,outer_dark_d,outer_darker:2,outer_dark_d,outer_bright_a,walk_l,-:3,walk_r,laser_right,-:7,walk_r,outer_bright_c,outer_bright_a:5,outer_dark_e,outer_darker:2,outer_dark_d,outer_bright_a,walk_l,-:3,walk_outercorner_bl,walk_outercorner_br,destroyable:3,-,destroyable:3,walk_r,outer_bright_b1,fan_dark,outer_dark_h,outer_dark_g:2,outer_dark_f,fan_dark,outer_darker:2,outer_dark_d,outer_bright_a,walk_l,-:5,destroyable:3,-,destroyable:3,walk_r,outer_bright_b1,outer_dark_c,outer_darker:7,outer_dark_d,outer_bright_a,walk_l,-:5,destroyable:3,-,destroyable:3,walk_r,outer_bright_b1,outer_dark_d,outer_darker,outer_darkest:5,outer_darker,outer_dark_d,outer_bright_a,walk_corner_bl,walk_d,entrance,-,prox_laser,walk_d:8,walk_corner_br,outer_bright_b1,outer_dark_d,outer_darker,outer_darkest:5,outer_darker,outer_dark_e,outer_bright_a:3,outer_bright_e,number,outer_bright_c,outer_bright_b:9,outer_bright_c,outer_dark_e,outer_darker,outer_darkest:5,outer_darker,fan_dark,outer_dark_h,outer_dark_g:14,outer_dark_f,fan_dark,outer_darker,outer_darkest:5,outer_darker:20,outer_darkest:5</t><peg>-:83,n:4,-,n:4,-:16,n,-:24,n,-:24,n,-:7,n,-:24,n,-:16,n,-:7,n,-:24,n,-:24,n,-:16,n:9,-:83</peg><a>-:255,player,-:119</a></level>
;
levelData["24fccca17a237c8211735c0ad166efdb.xml"] = <level w="41" h="39"><t>outer_darkest:42,outer_darker:39,outer_darkest:2,outer_darker,outer_dark_b:8,outer_dark_a:2,outer_dark_b:6,outer_dark_h,outer_dark_g:4,outer_dark_f,outer_dark_b:11,outer_dark_h,outer_dark_g,outer_dark_f,fan_dark,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_a:7,outer_bright_c:2,outer_bright_a:6,outer_bright_c,outer_bright_b,fan:2,outer_bright_b,outer_bright_c,outer_bright_a:12,outer_bright_c,fan,outer_dark_c,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_a,walk_corner_tl,walk_u:5,walk_corner_tr,walk_corner_tl,walk_u:18,walk_corner_tr,walk_corner_tl,walk_u:4,walk_corner_tr,outer_bright_c,outer_dark_d,outer_darker,outer_darkest:2,outer_darker,outer_dark_c,outer_bright_c,walk_l,-:5,walk_r,walk_l,-:18,walk_r,walk_l,-:4,walk_r,outer_bright_a,outer_dark_e,outer_darker,outer_darkest:2,outer_darker,outer_dark_d,fan,walk_l,-:5,walk_r,walk_l,-:18,walk_r,walk_l,-:4,walk_r,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_d,fan,walk_l,-:5,walk_r,walk_l,-:18,walk_r,walk_l,-:4,walk_r,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_e,outer_bright_c,walk_l,-:5,walk_r,walk_l,-:18,walk_r,walk_l,-:4,walk_r,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:5,walk_r,walk_l,-:18,walk_r,walk_l,-:4,walk_r,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:5,walk_r,walk_l,-:18,walk_r,walk_l,-:4,walk_r,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:5,walk_r,walk_l,-:18,walk_r,walk_l,-:4,walk_r,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_a,outer_bright_c,walk_l,-:5,walk_r,walk_l,-:18,walk_r,walk_l,-:4,walk_r,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_a,outer_bright_c,walk_l,-:5,walk_r,walk_l,-:8,walkrow_l,walkrow_r,-:8,walk_r,walk_l,-:4,walk_r,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:5,walk_r,walk_l,-:8,harmful:2,-:8,walk_r,walk_l,-:4,walk_r,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:5,walk_r,walk_l,-:18,walk_r,walk_l,-:4,walk_r,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:5,walk_r,walk_corner_bl,walk_outercorner_tr,-:16,walk_outercorner_tl,walk_corner_br,walk_l,-:4,walk_r,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_c,outer_bright_a,walk_l,-:5,walk_r,outer_bright_c,walk_corner_bl,walk_d:5,walk_outercorner_tr,-:4,walk_outercorner_tl,walk_d:5,walk_corner_br,outer_bright_c,walk_l,-:4,walk_r,outer_bright_c,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_e,outer_bright_a,walk_l,-:5,walk_r,fan,outer_bright_a:4,fan,outer_bright_a,walk_l,-:4,walk_r,outer_bright_a,fan,outer_bright_a:4,fan,walk_l,-:4,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_a,outer_bright_a,walk_l,-:5,walk_r,outer_bright_b1,outer_dark_b:4,outer_dark_c,outer_bright_a,walk_l,-:4,walk_r,outer_bright_a,outer_dark_c,outer_dark_b:4,outer_bright_b1,walk_l,-:4,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:5,walk_r,outer_bright_b1,fan_dark,outer_darker:3,outer_dark_d,fan,laser_right,-:4,walk_r,outer_bright_a,outer_dark_d,outer_darker:3,fan_dark,outer_bright_b1,walk_l,-:4,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_a,outer_bright_a,walk_l,-:5,walk_r,outer_bright_b1,outer_dark_b:4,outer_dark_e,outer_bright_a,walk_l,-:4,walk_r,outer_bright_a,outer_dark_e,outer_dark_b:4,outer_bright_b1,walk_l,-:4,walk_r,outer_bright_b1,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_c,outer_bright_a,walk_l,-:5,walk_r,outer_bright_b1,outer_bright_a:4,fan,arrow_up,walk_l,-:4,walk_r,arrow_up,fan,outer_bright_a:4,outer_bright_b1,walk_corner_bl,walk_d,exit,-,walk_d,walk_corner_br,outer_bright_c,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_e,outer_bright_a,walk_l,-:5,walk_r,outer_bright_b1,walk_corner_tl,walk_u:5,45cu,-:4,45cd,walk_u:5,walk_corner_tr,outer_bright_b1,outer_bright_c,outer_bright_b:4,outer_bright_c,fan,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:3,walkrow_l,walkrow_lr,walk_intersection_3_l,outer_bright_b1,walk_l,-:16,walk_r,outer_bright_b1,outer_dark_b:2,fan_dark:2,outer_dark_b:4,outer_darker,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:5,walk_r,fan,walk_l,-:16,walk_r,fan,outer_dark_b,outer_darker:8,outer_darkest:2,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:5,walk_outercorner_bl,walk_u,walk_outercorner_br,-:16,walk_r,number,outer_dark_b,outer_darker,outer_darkest:9,outer_darker,outer_dark_b,outer_bright_a,walk_intersection_3_r,walkrow_lr,walkrow_r,-:22,walk_r,fan,outer_dark_b,outer_darker,outer_darkest:9,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:24,walk_r,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:9,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:24,walk_r,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:9,outer_darker,outer_dark_b,outer_bright_a,walk_corner_bl,walk_d:12,reset,45fd,-:4,45fu,entrance,-,walk_d:3,walk_corner_br,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:9,outer_darker,outer_dark_b,outer_bright_a,outer_bright_c,fan,outer_bright_c,outer_bright_a:8,outer_bright_c,outer_bright_b,fan,walk_l,-:4,walk_r,fan,outer_bright_b,outer_bright_c,outer_bright_a:4,outer_dark_b,outer_darker,outer_darkest:9,outer_darker,outer_dark_b,fan_dark,outer_dark_h,outer_dark_g,outer_dark_f,fan_dark,outer_dark_b:9,outer_bright_a,walk_l,-:4,walk_r,outer_bright_a,outer_dark_b:7,outer_darker,outer_darkest:9,outer_darker:15,outer_dark_b,outer_bright_a,walk_l,harmful:4,walk_r,outer_bright_a,outer_dark_b,outer_darker:7,outer_darkest:23,outer_darker,outer_dark_b,outer_bright_a,walk_corner_bl,walk_d:4,walk_corner_br,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:29,outer_darker,outer_dark_b,outer_bright_a,fan,outer_bright_b:4,fan,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:29,outer_darker,outer_dark_b:2,outer_dark_h,outer_dark_g:4,outer_dark_f,outer_dark_b:2,outer_darker,outer_darkest:29,outer_darker:12,outer_darkest:55</t><peg>-:553,n:2,-:158,n,-:8,n,-:59,n,-:81,n,-:734</peg><a>-:431,tch,-:117,tch,-:9,tch,-:156,mp_42v,-:496,player,-:385</a><path x="19" y="17" pts="[19,17]>[19,31]"/></level>
;
levelData["e17893ee1447ce3bed7d6fa07f887d14.xml"] = <level w="42" h="35"><t>outer_darkest:53,outer_darker:30,outer_darkest:12,outer_darker,outer_dark_b:28,outer_darker,outer_darkest:12,outer_darker,outer_dark_c,outer_bright_a,fan,outer_bright_b:5,outer_bright_e:2,outer_bright_b:5,fan,outer_bright_b:4,outer_bright_e,outer_bright_b:4,fan,outer_bright_a,outer_dark_c,outer_darker,outer_darkest:12,outer_darker,outer_dark_d,outer_bright_a,walk_corner_tl,walk_u:12,walk_corner_tr,walk_corner_tl,walk_u:8,walk_corner_tr,outer_bright_a,outer_dark_d,outer_darker,outer_darkest:12,outer_darker,outer_dark_d,outer_bright_a,walk_l,-:12,walk_r,walk_l,-:8,walk_r,outer_bright_a,outer_dark_d,outer_darker,outer_darkest:12,outer_darker,outer_dark_d,outer_bright_a,walk_l,-:12,walk_r,walk_l,-:8,walk_r,outer_bright_a,outer_dark_d,outer_darker,outer_darkest:12,outer_darker,outer_dark_d,outer_bright_a,walk_l,-:12,walk_r,walk_l,-:8,walk_r,outer_bright_a,outer_dark_d,outer_darker,outer_darkest:12,outer_darker,outer_dark_d,outer_bright_a,walk_corner_bl,walk_d:4,walk_outercorner_tr,-:3,walk_outercorner_tl,walk_d:3,walk_corner_br,walk_l,-:8,walk_r,outer_bright_a,outer_dark_d,outer_darker,outer_darkest:12,outer_darker,outer_dark_e,outer_bright_a:4,walk_corner_tl,walk_u,walk_outercorner_br,-:3,walk_outercorner_bl,walk_u,walk_corner_tr,fan,arrow_right,walk_l,-:8,walk_r,outer_bright_a,outer_dark_e,outer_darker,outer_darkest:12,outer_darker,outer_dark_b:4,outer_bright_a,walk_l,-:7,walk_r,outer_bright_b1,outer_bright_c,walk_l,-:8,walk_r,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:12,outer_darker:4,outer_dark_b,outer_bright_a,walk_l,-:7,walk_r,outer_bright_b1,outer_bright_a,walk_l,-:8,walk_r,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:15,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:7,walk_r,outer_bright_b1,outer_bright_a,walk_l,-:8,walk_r,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:15,outer_darker,outer_dark_b,outer_bright_a,walk_l,-:7,walk_r,outer_bright_b1,outer_bright_a,walk_l,-:8,walk_r,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:15,outer_darker,fan_dark,outer_bright_a,walk_l,-:7,walk_r,outer_bright_b1,outer_bright_a,walk_l,-:8,walk_r,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:15,outer_darker,outer_dark_c,outer_bright_a,walk_l,-:7,walk_r,outer_bright_b1,outer_bright_a,walk_l,-:8,walk_r,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:2,outer_darker:14,outer_dark_e,outer_bright_a,walk_l,-:7,walk_r,outer_bright_b1,outer_bright_a,walk_l,-:8,walk_r,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_c,outer_dark_b:4,outer_dark_a:2,outer_dark_b:3,fan_dark,outer_dark_h,outer_dark_f,outer_dark_a,outer_bright_a,walk_l,-:7,walk_r,outer_bright_b1,outer_bright_c,walk_l,-:8,walk_r,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_d,outer_bright_a:4,outer_bright_c:2,outer_bright_a:7,arrow_right,walk_l,-:7,walk_r,fan,arrow_right,walk_l,-:8,walk_r,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_d,outer_bright_a,walk_corner_tl,walk_u:12,walk_outercorner_br,-:2,walkrow_l,walkrow_lr,walkrow_r,-:2,walk_outercorner_bl,walk_u,walk_corner_tr,walk_l,-:8,walk_r,outer_bright_a,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_d,outer_bright_a,walk_l,-:12,destroyable,-:9,walk_r,walk_l,-:8,walk_r,fan,outer_dark_c,outer_darker,outer_darkest:2,outer_darker,outer_dark_d,outer_bright_a,walk_l,-:12,destroyable,-:9,walk_r,walk_l,-:8,walk_r,outer_bright_b1,outer_dark_d,outer_darker,outer_darkest:2,outer_darker,outer_dark_d,fan,walk_l,-:11,walk_outercorner_tl,walk_d:4,walk_outercorner_tr,-:5,walk_r,walk_l,-:8,walk_r,outer_bright_b1,outer_dark_d,outer_darker,outer_darkest:2,outer_darker,outer_dark_d,outer_bright_b1,walk_l,-:11,45cd,slope_edge_bl,walk_corner_tl,walk_u:2,45cu,-:5,walk_r,walk_l,-:8,walk_r,outer_bright_b1,outer_dark_d,outer_darker,outer_darkest:2,outer_darker,outer_dark_d,outer_bright_b1,walk_l,-,walk_outercorner_tl,walk_outercorner_tr,-,walk_single,-,walkrow_l,walkrow_r,-:4,walk_r,walk_l,-:8,walk_outercorner_bl,walk_outercorner_br,-:8,walk_r,outer_bright_b1,outer_dark_d,outer_darker,outer_darkest:2,outer_darker,outer_dark_d,outer_bright_c,walk_l,-,walk_r,laser_right,-:9,walk_r,walk_l,-:4,walk_outercorner_tl,walk_outercorner_tr,-:2,destroyable:2,-:8,walk_r,fan,outer_dark_d,outer_darker,outer_darkest:2,outer_darker,outer_dark_d,outer_bright_c,walk_l,-,walk_r,laser_right,-:9,walk_r,walk_l,-:4,walk_outercorner_bl,walk_outercorner_br,-:2,destroyable:2,-:8,walk_r,outer_bright_b1,outer_dark_d,outer_darker,outer_darkest:2,outer_darker,outer_dark_d,outer_bright_b1,walk_l,-,walk_outercorner_bl,walk_outercorner_br,-,walk_single,-:7,walk_r,walk_corner_bl,walk_d,walk_outercorner_tr,-:6,walk_outercorner_tl,walk_outercorner_tr,-:8,walk_r,outer_bright_b1,outer_dark_d,outer_darker,outer_darkest:2,outer_darker,outer_dark_d,outer_bright_b1,walk_l,-:12,walk_r,fan,outer_bright_c,walk_corner_bl,walk_outercorner_tr,-:5,walk_r,walk_l,-:8,walk_r,outer_bright_b1,outer_dark_d,outer_darker,outer_darkest:2,outer_darker,outer_dark_d,fan,walk_l,-:12,walk_r,outer_bright_b1,outer_bright_a,outer_bright_c,walk_corner_bl,walk_outercorner_tr,-:4,walk_r,walk_l,-:8,walk_r,outer_bright_b1,outer_dark_d,outer_darker,outer_darkest:2,outer_darker,outer_dark_d,outer_bright_a,walk_corner_bl,walk_d,entrance,-,walk_d:9,walk_corner_br,outer_bright_b1,outer_dark_a,outer_bright_a,outer_bright_c,walk_corner_bl,walk_d:4,walk_corner_br,walk_corner_bl,walk_d:3,exit,-,walk_d:3,walk_corner_br,fan,outer_dark_e,outer_darker,outer_darkest:2,outer_darker,outer_dark_d,outer_bright_a:2,outer_bright_c,fan:2,outer_bright_c,outer_bright_a:7,arrow_right,outer_bright_a,fan,outer_dark_a,fan_dark,outer_bright_a:5,fan,arrow_right,outer_bright_a:2,outer_bright_c,outer_bright_b,fan:2,outer_bright_b,outer_bright_c,outer_bright_a:3,outer_dark_b,outer_darker,outer_darkest:2,outer_darker,outer_dark_e,outer_dark_b,outer_dark_h,outer_dark_f,fan_dark:2,outer_dark_h,outer_dark_f,outer_dark_b:8,outer_dark_h,outer_dark_g,outer_dark_f,outer_dark_b:5,outer_dark_a:2,outer_dark_b:4,outer_dark_h,outer_dark_f,outer_dark_b:6,outer_darker,outer_darkest:2,outer_darker:40,outer_darkest:43</t><peg>-:352,n,-:2,n,-:47,n,-:167,n,-:167,n,-:72,n,-:204,n,-:125,n,-:138,n,-:2,n,-:184</peg><a>-:1224,player,-:245</a></level>
;
}
public static function endLevel():void{
if (!level){
return;
};
level.destroy();
level = null;
}
public static function endGame():void{
if (!content){
return;
};
customCursor.destroy();
customCursor = null;
endLevel();
content.removeChild(guideLayer);
guideLayer = null;
content.removeChild(frontLayer);
frontLayer = null;
content.removeChild(playerArmLayer);
playerArmLayer = null;
content.removeChild(playerTrailLayer);
playerTrailLayer = null;
content.removeChild(pegLayer);
pegLayer = null;
content.removeChild(playerLayer);
playerLayer = null;
content.removeChild(objectLayer);
objectLayer = null;
content.removeChild(tileLayer);
tileLayer = null;
content.removeChild(laserBeamLayer);
laserBeamLayer = null;
popup.destroy();
popup = null;
Key.terminate(stage);
stage.removeEventListener(Event.ENTER_FRAME, );
content = null;
root = null;
stage = null;
}
public static function nextLevel():void{
endLevel();
startLevel((loadedLevelNumber + 1));
}
public static function startGame(_arg1:Sprite):void{
if (content){
return;
};
if (!levelData){
setupLevelData();
};
stage = _arg1.stage;
root = MovieClip(_arg1.root);
root.stop();
content = _arg1;
laserBeamLayer = new Sprite();
content.addChild(laserBeamLayer);
tileLayer = new Sprite();
content.addChild(tileLayer);
objectLayer = new Sprite();
content.addChild(objectLayer);
playerLayer = new Sprite();
content.addChild(playerLayer);
pegLayer = new Sprite();
content.addChild(pegLayer);
playerTrailLayer = new Sprite();
content.addChild(playerTrailLayer);
playerArmLayer = new Sprite();
content.addChild(playerArmLayer);
frontLayer = new Sprite();
content.addChild(frontLayer);
guideLayer = new Sprite();
content.addChild(guideLayer);
customCursor = new CustomCursor();
customCursor.create();
popup = new IngamePopup();
Key.initialize(stage);
stage.addEventListener(Event.ENTER_FRAME, );
}
public static function (_arg1:Event):void{
if (((!(content)) || (!(level)))){
return;
};
if (!isPaused()){
frameNumber++;
level.advance();
};
popup.advance();
customCursor.advance();
}
public static function isPaused():Boolean{
if (popup){
if (popup.isOpen){
if (popup. == "paused"){
return (true);
};
if (popup. == "failed"){
return (true);
};
};
};
return (false);
}
}
}//package com.nitrome.folding
Section 8
//ConvexPolygon (com.nitrome.folding.ConvexPolygon)
package com.nitrome.folding {
import flash.geom.*;
import flash.display.*;
import com.nitrome.util.*;
public class ConvexPolygon {
public var textureMatrix:Matrix;// = null
public var :Sprite;// = null
public var cutByFold:Fold;// = null
public var offsetPosition:Vector2;// = null
public var cutLines:Array;
public var vertices:Array;
public var blitPosition:Vector2;// = null
public function ConvexPolygon(){
offsetPosition = null;
textureMatrix = null;
= null;
blitPosition = null;
cutByFold = null;
super();
}
public function ():ConvexPolygon{
var _local1:ConvexPolygon;
var _local2:Number;
_local1 = new ConvexPolygon();
_local1.vertices = [];
_local1.cutLines = [];
_local2 = 0;
while (_local2 < vertices.length) {
_local1.vertices.push(vertices[_local2].copy());
_local1.cutLines.push(cutLines[_local2]);
_local2++;
};
if (offsetPosition){
_local1.offsetPosition = offsetPosition.copy();
};
if (blitPosition){
_local1.blitPosition = blitPosition.copy();
};
return (_local1);
}
public function
():Number{
var _local1:Number;
var _local2:Number;
var _local3:Number;
_local1 = 0;
_local2 = 0;
while (_local2 < vertices.length) {
_local3 = ((_local2 + 1) % vertices.length);
_local1 = (_local1 + (vertices[_local2].x * vertices[_local3].y));
_local1 = (_local1 - (vertices[_local2].y * vertices[_local3].x));
_local2++;
};
return ((_local1 / 2));
}
public function offset(_arg1:Vector2):void{
var _local2:Number;
_local2 = 0;
while (_local2 < vertices.length) {
vertices[_local2].x = (vertices[_local2].x + _arg1.x);
vertices[_local2].y = (vertices[_local2].y + _arg1.y);
_local2++;
};
if (offsetPosition){
offsetPosition = offsetPosition.add(_arg1);
} else {
offsetPosition = _arg1.copy();
};
if (blitPosition){
blitPosition = blitPosition.add(_arg1);
};
}
public function applyMatrix(_arg1:Matrix):ConvexPolygon{
var _local2:ConvexPolygon;
var _local3:Number;
_local2 = new ConvexPolygon();
_local2.vertices = [];
_local2.cutLines = [];
_local3 = 0;
while (_local3 < vertices.length) {
_local2.vertices.push(Vector2.fromPoint(_arg1.transformPoint(vertices[_local3].toPoint())));
_local2.cutLines.push(cutLines[_local3]);
_local3++;
};
if (offsetPosition){
_local2.offsetPosition = offsetPosition.copy();
};
if (blitPosition){
_local2.blitPosition = blitPosition.copy();
};
return (_local2);
}
public function drawColourToBitmap(_arg1:BitmapData, _arg2:uint, _arg3:Matrix, _arg4:Vector2=null, _arg5:Rectangle=null):void{
var _local6:Number;
if (!){
= new Sprite();
.graphics.beginFill(_arg2);
.graphics.moveTo(vertices[0].x, vertices[0].y);
_local6 = 1;
while (_local6 < vertices.length) {
.graphics.lineTo(vertices[_local6].x, vertices[_local6].y);
_local6++;
};
.graphics.endFill();
};
_arg1.draw(, _arg3, null, null, _arg5);
}
public function pointIsNear(_arg1:Vector2):Boolean{
return (_arg1.subtract(vertices[0]).lengthLessThan(100));
}
public function cutLineAtPoint(_arg1:Vector2):Boolean{
var _local2:Vector2;
var _local3:Vector2;
var _local4:Number;
var _local5:Vector2;
var _local6:Vector2;
_local2 = ();
_local3 = _arg1.subtract(_local2);
_local4 = 0;
while (_local4 < vertices.length) {
if (!cutLines[_local4]){
} else {
_local5 = vertices[_local4].subtract(_local2);
if (_local5.right90().dot(_local3) < 0){
} else {
_local6 = vertices[((_local4 + 1) % vertices.length)].subtract(_local2);
if (_local6.right90().dot(_local3) > 0){
} else {
return (true);
};
};
};
_local4++;
};
return (false);
}
public function ():Vector2{
var _local1:Vector2;
var _local2:Number;
_local1 = new Vector2();
_local2 = 0;
while (_local2 < vertices.length) {
_local1.x = (_local1.x + vertices[_local2].x);
_local1.y = (_local1.y + vertices[_local2].y);
_local2++;
};
_local1.x = (_local1.x / vertices.length);
_local1.y = (_local1.y / vertices.length);
return (_local1);
}
public function changedAfterFolds(){
var _local1:Array;
var _local2:Array;
var _local3:Boolean;
var _local4:Number;
var _local5:ConvexPolygon;
var _local6:ConvexPolygon;
var _local7:Fold;
_local1 = [this];
_local2 = [];
_local3 = true;
cutByFold = null;
_local4 = 0;
while (_local4 < Controller.level.folds.length) {
_local7 = Controller.level.folds[_local4];
if (_local7 == Controller.level.animatingFold){
} else {
while (_local1.length > 0) {
_local5 = _local1.shift();
_local6 = _local5.(_local7.unitVectorAcross, _local7.point1);
if (_local6){
if (_local6 == _local5){
_local6 = _local6.();
} else {
_local3 = false;
if (!cutByFold){
cutByFold = _local7;
};
};
_local6.offset(_local7.unitVectorAcross.multiply(_local7.halfDistance));
_local2.push(_local6);
} else {
if (!cutByFold){
cutByFold = _local7;
};
};
_local6 = _local5.(_local7.unitVectorAcross.inverse(), _local7.point2);
if (_local6){
if (_local6 == _local5){
_local6 = _local6.();
} else {
_local3 = false;
if (!cutByFold){
cutByFold = _local7;
};
};
_local6.offset(_local7.unitVectorAcross.multiply(-(_local7.halfDistance)));
_local2.push(_local6);
} else {
if (!cutByFold){
cutByFold = _local7;
};
};
};
_local1 = _local2;
_local2 = [];
};
_local4++;
};
if (_local1.length != 1){
_local3 = false;
};
if (_local3){
return (_local1[0]);
};
return (_local1);
}
public function toString():String{
return (vertices.join("->"));
}
public function nearestPointTo(_arg1:Vector2):Vector2{
var _local2:Vector2;
var _local3:Vector2;
var _local4:Vector2;
var _local5:Vector2;
var _local6:Number;
var _local7:Boolean;
var _local8:Vector2;
var _local9:Number;
var _local10:Number;
var _local11:Number;
_local7 = true;
_local6 = 0;
while (_local6 < vertices.length) {
_local2 = vertices[_local6];
_local3 = vertices[((_local6 + 1) % vertices.length)];
if ((((_local2.x == _local3.x)) && ((_local2.y == _local3.y)))){
} else {
_local4 = _local3.subtract(_local2);
_local5 = _local4.right90();
if (_local5.dot(_arg1.subtract(_local2)) < 0){
_local7 = false;
_local10 = _local4.dot(_arg1);
if ((((_local10 >= _local4.dot(_local2))) && ((_local10 <= _local4.dot(_local3))))){
_local4.normalize();
_local10 = _local4.dot(_arg1.subtract(_local2));
return (_local2.add(_local4.multiply(_local10)));
};
};
};
_local6++;
};
if (_local7){
return (_arg1);
};
_local8 = vertices[0];
_local9 = _arg1.subtract(_local8).squareLength();
_local6 = 1;
while (_local6 < vertices.length) {
_local11 = _arg1.subtract(vertices[_local6]).squareLength();
if (_local11 < _local9){
_local8 = vertices[_local6];
_local9 = _local11;
};
_local6++;
};
return (_local8);
}
public function drawToBitmap(_arg1:BitmapData, _arg2:BitmapData, _arg3:Matrix, _arg4:Vector2=null, _arg5:Rectangle=null, _arg6:Boolean=false):void{
var _local7:Matrix;
var _local8:Number;
if (!){
= new Sprite();
if (textureMatrix){
_local7 = textureMatrix;
} else {
_local7 = (offsetPosition) ? offsetPosition.toTranslationMatrix() : null;
};
if (_arg4){
if (!_local7){
_local7 = new Matrix();
};
_local7.translate(_arg4.x, _arg4.y);
};
.graphics.beginBitmapFill(_arg2, _local7);
.graphics.moveTo(vertices[0].x, vertices[0].y);
_local8 = 1;
while (_local8 < vertices.length) {
.graphics.lineTo(vertices[_local8].x, vertices[_local8].y);
_local8++;
};
.graphics.endFill();
};
if (_arg6){
_arg1.draw(, _arg3, new ColorTransform(1, 1, 1, 0), BlendMode.ALPHA, _arg5);
};
_arg1.draw(, _arg3, null, null, _arg5);
}
public function clearCache():void{
= null;
}
public function pointIsInside(_arg1:Vector2):Boolean{
var _local2:Number;
var _local3:Vector2;
var _local4:Vector2;
var _local5:Vector2;
_local2 = 0;
while (_local2 < vertices.length) {
_local3 = vertices[_local2];
_local4 = vertices[((_local2 + 1) % vertices.length)];
_local5 = _local4.subtract(_local3).right90();
if (_local5.dot(_arg1.subtract(_local3)) < 0){
return (false);
};
_local2++;
};
return (true);
}
public function
(_arg1:Vector2, _arg2:Vector2):Number{
var _local3:Number;
var _local4:Vector2;
var _local5:Number;
var _local6:Vector2;
var _local7:Vector2;
var _local8:Vector2;
var _local9:Number;
_local3 = Infinity;
_local4 = _arg2.left90();
_local5 = 0;
while (_local5 < vertices.length) {
_local6 = vertices[_local5];
_local7 = vertices[((_local5 + 1) % vertices.length)];
if ((_local6.subtract(_arg1).dot(_local4) * _local7.subtract(_arg1).dot(_local4)) > 0){
} else {
_local8 = Geometry.lineIntersection(_arg1, _arg1.add(_arg2), _local6, _local7);
_local9 = _local8.subtract(_arg1).dot(_arg2);
if ((((_local9 >= 0)) && ((_local9 < _local3)))){
_local3 = _local9;
};
};
_local5++;
};
return (_local3);
}
public function (_arg1:Vector2, _arg2:Vector2):ConvexPolygon{
var _local3:Number;
var _local4:Boolean;
var _local5:Boolean;
var _local6:Number;
var _local7:Vector2;
var _local8:Number;
var _local9:ConvexPolygon;
var _local10:Boolean;
var _local11:Vector2;
var _local12:*;
_local4 = true;
_local5 = true;
_local3 = 0;
while (_local3 < vertices.length) {
if (vertices[_local3].subtract(_arg2).dot(_arg1) >= 0){
_local5 = false;
} else {
_local4 = false;
_local6 = _local3;
};
_local3++;
};
if (_local4){
return (null);
};
if (_local5){
return (this);
};
_local7 = new Vector2((_arg2.x + _arg1.y), (_arg2.y - _arg1.x));
_local8 = _local6;
_local9 = new ConvexPolygon();
_local9.vertices = [];
_local9.cutLines = [];
_local3 = _local8;
_local10 = true;
_local11 = null;
do {
_local11 = vertices[_local3];
_local3++;
_local3 = (_local3 % vertices.length);
_local12 = (vertices[_local3].subtract(_arg2).dot(_arg1) < 0);
if (((_local10) && (_local12))){
_local9.vertices.push(vertices[_local3].copy());
_local9.cutLines.push(cutLines[_local3]);
} else {
if (_local10 != _local12){
_local9.vertices.push(Geometry.lineIntersection(_local11, vertices[_local3], _arg2, _local7));
_local9.cutLines.push(((_local10) || (cutLines[((_local3 == 0)) ? (vertices.length - 1) : (_local3 - 1)])));
if (_local12){
_local9.vertices.push(vertices[_local3].copy());
_local9.cutLines.push(cutLines[_local3]);
};
_local10 = _local12;
};
};
} while (_local3 != _local8);
if (_local9.
() == 0){
return (null);
};
_local9.offsetPosition = offsetPosition;
_local9.blitPosition = blitPosition;
return (_local9);
}
public static function triangle(_arg1:Vector2, _arg2:Vector2, _arg3:Vector2):ConvexPolygon{
var _local4:ConvexPolygon;
_local4 = new (ConvexPolygon);
_local4.vertices = [_arg1.copy(), _arg2.copy(), _arg3.copy()];
_local4.cutLines = [false, false, false];
return (_local4);
}
public static function rectangle(_arg1:Vector2, _arg2:Vector2):ConvexPolygon{
var _local3:ConvexPolygon;
_local3 = new (ConvexPolygon);
_local3.vertices = [new Vector2(_arg1.x, _arg1.y), new Vector2(_arg2.x, _arg1.y), new Vector2(_arg2.x, _arg2.y), new Vector2(_arg1.x, _arg2.y)];
_local3.cutLines = [false, false, false, false];
return (_local3);
}
}
}//package com.nitrome.folding
Section 9
//Crate (com.nitrome.folding.Crate)
package com.nitrome.folding {
public class Crate extends CircleObject {
override public function create(_arg1:Number, _arg2:Number, _arg3:String):void{
super.create(_arg1, _arg2, _arg3);
Controller.objectLayer.addChild(this);
position = Vector2.fromTile((_arg1 + 0.5), (_arg2 + 0.5));
x = position.x;
y = position.y;
}
override public function advance():void{
velocity = velocity.add(new Vector2(0, 1));
if (groundContact){
velocity = new Vector2(0, velocity.y);
};
super.advance();
}
}
}//package com.nitrome.folding
Section 10
//CustomCursor (com.nitrome.folding.CustomCursor)
package com.nitrome.folding {
import flash.display.*;
import flash.events.*;
import com.nitrome.util.*;
import flash.ui.*;
public class CustomCursor extends MovieClip {
public var openAmount:Number;// = 0
public function CustomCursor(){
openAmount = 0;
super();
}
public function destroy():void{
if (parent){
parent.removeChild(this);
};
Controller.stage.removeEventListener(MouseEvent.MOUSE_MOVE, );
Controller.stage.removeEventListener(Event.MOUSE_LEAVE, );
Mouse.show();
}
public function create():void{
Controller.root.addChild(this);
Controller.stage.addEventListener(MouseEvent.MOUSE_MOVE, );
Controller.stage.addEventListener(Event.MOUSE_LEAVE, );
x = 325;
y = 250;
stop();
mouseEnabled = false;
mouseChildren = false;
Mouse.hide();
}
public function (_arg1:Event):void{
visible = false;
}
public function (_arg1:MouseEvent):void{
if (!Controller.popupOpen()){
(false);
if (((Controller.level) && (Controller.level.startDragPeg))){
Controller.level.drawGuide();
};
_arg1.updateAfterEvent();
visible = true;
Mouse.hide();
};
}
private function (_arg1:Boolean):void{
var _local2:Peg;
var _local3:Vector2;
_local2 = null;
if (Controller.level){
_local2 = Controller.level.getPegAtMouse();
};
if (_local2){
if (_arg1){
_local3 = _local2.foldedCenter();
x = ((x * 0.5) + ((_local3.x + Controller.content.x) * 0.5));
y = ((y * 0.5) + ((_local3.y + Controller.content.y) * 0.5));
};
} else {
if (!_arg1){
x = Controller.stage.mouseX;
y = Controller.stage.mouseY;
};
};
}
public function advance():void{
var _local1:Peg;
var _local2:Boolean;
var _local3:Fold;
if (Controller.popupOpen()){
Mouse.show();
visible = false;
return;
};
_local1 = Controller.level.getPegAtMouse();
_local2 = false;
_local3 = Controller.level.getLastFold();
if (_local3){
if (_local3.peg1 == _local1){
_local2 = true;
};
if (_local3.peg2 == _local1){
_local2 = true;
};
};
if (_local1){
openAmount = Global.slide(openAmount, 15, 2);
} else {
openAmount = Global.slide(openAmount, 0, 2);
};
gotoAndStop((Global.findLabel(this, (_local2) ? "toUnfold" : "toFold").frame + openAmount));
(true);
}
}
}//package com.nitrome.folding
Section 11
//Debris (com.nitrome.folding.Debris)
package com.nitrome.folding {
import flash.display.*;
import flash.events.*;
public class Debris extends MovieClip {
public var velocityY:Number;// = 0
public var followGridX:Number;
public var followGridY:Number;
public var followTile:Boolean;// = false
public function Debris(){
followTile = false;
velocityY = 0;
super();
addEventListener(Event.ENTER_FRAME, advance, false, 0, true);
}
public function destroy():void{
stop();
if (parent){
parent.removeChild(this);
};
try {
removeEventListener(Event.ENTER_FRAME, advance);
} catch(e:Error) {
};
}
public function advance(_arg1:Event):void{
var _local2:Vector2;
if (followTile){
_local2 = Controller.level.getFoldedPoint(Vector2.fromTile(followGridX, followGridY));
x = _local2.x;
y = _local2.y;
} else {
if (velocityY){
y = (y + velocityY);
};
};
}
}
}//package com.nitrome.folding
Section 12
//DestroyableTile (com.nitrome.folding.DestroyableTile)
package com.nitrome.folding {
public class DestroyableTile extends SolidTile {
public var beingHitByLaser:Boolean;// = false
public var :Number;// = 0
public function DestroyableTile(){
beingHitByLaser = false;
= 0;
super();
}
override public function create(_arg1:Number, _arg2:Number, _arg3:String):void{
super.create(_arg1, _arg2, _arg3);
sendAdvance = true;
stop();
}
public function breakApart():void{
var _local1:Debris;
destroy();
Controller.level.solidTileGrid[(gridX + (gridY * Controller.level.gridWidth))] = null;
Controller.level.tileRenderer.redrawTilesNextFrame = true;
visible = false;
_local1 = new DestroyableTileDebris();
_local1.followTile = true;
_local1.followGridX = gridX;
_local1.followGridY = gridY;
_local1.advance(null);
Controller.tileLayer.addChild(_local1);
NitromeGame.sound_manager.playSound("breakableBlock");
}
override public function advance():void{
super.advance();
if (beingHitByLaser){
beingHitByLaser = false;
++;
Controller.level.tileRenderer.redrawTilesNextFrame = true;
} else {
if ( > 0){
--;
Controller.level.tileRenderer.redrawTilesNextFrame = true;
};
};
gotoAndStop((1 + ));
}
}
}//package com.nitrome.folding
Section 13
//EdgeBox (com.nitrome.folding.EdgeBox)
package com.nitrome.folding {
public class EdgeBox {
public var
:ConvexPolygon;
public var foldedPolygons:Array;
public static const SIZE:Number = 300;
public function update():void{
var _local1:*;
_local1 =
.changedAfterFolds();
if ((_local1 is Array)){
foldedPolygons = _local1;
} else {
foldedPolygons = [_local1];
};
}
public function create(_arg1:Number):void{
var _local2:Vector2;
var _local3:Vector2;
if (_arg1 == 0){
_local2 = new Vector2(-(SIZE), -(SIZE));
_local3 = new Vector2((Controller.level.pixelWidth() + SIZE), 0);
} else {
if (_arg1 == 1){
_local2 = new Vector2(-(SIZE), 0);
_local3 = new Vector2(0, Controller.level.pixelHeight());
} else {
if (_arg1 == 2){
_local2 = new Vector2(Controller.level.pixelWidth(), 0);
_local3 = new Vector2((Controller.level.pixelWidth() + SIZE), Controller.level.pixelHeight());
} else {
_local2 = new Vector2(-(SIZE), Controller.level.pixelHeight());
_local3 = new Vector2((Controller.level.pixelWidth() + SIZE), (Controller.level.pixelHeight() + SIZE));
};
};
};
= ConvexPolygon.rectangle(_local2, _local3);
update();
}
}
}//package com.nitrome.folding
Section 14
//EntranceTile (com.nitrome.folding.EntranceTile)
package com.nitrome.folding {
import flash.geom.*;
import flash.display.*;
import com.nitrome.util.*;
public class EntranceTile extends SolidTile {
public var glowVis:Number;// = 1
public var glow:MovieClip;
public function EntranceTile(){
glowVis = 1;
super();
}
override public function destroy():void{
super.destroy();
if (glow.parent){
glow.parent.removeChild(glow);
};
}
override public function unpause():void{
glow.play();
}
override public function create(_arg1:Number, _arg2:Number, _arg3:String):void{
super.create(_arg1, _arg2, _arg3);
glow = new EntranceTileGlow();
glow.x = ((_arg1 + 1) * Level.TILE_SIZE);
glow.y = (_arg2 * Level.TILE_SIZE);
Controller.tileLayer.addChildAt(glow, 0);
Controller.level.entranceTile = this;
sendAdvance = true;
sendPause = true;
animated = true;
}
override public function advance():void{
var _local1:Vector2;
var _local2:Vector2;
var _local3:ColorTransform;
super.advance();
_local1 = Vector2.fromTile((gridX + 1), gridY);
if (Controller.level.player.activeCheckpoint){
_local1 = Vector2.fromTile((Controller.level.player.activeCheckpoint.gridX + 1), Controller.level.player.activeCheckpoint.gridY);
};
_local2 = Controller.level.getFoldedPoint(_local1);
glow.x = _local2.x;
glow.y = _local2.y;
if (singleSquare){
glowVis = Global.slide(glowVis, 1, 0.2);
} else {
glowVis = Global.slide(glowVis, 0, 0.2);
};
_local3 = new ColorTransform(1, 1, 1, 1, 0, 0, 0, ((glowVis - 1) * 0xFF));
glow.transform.colorTransform = _local3;
}
override public function pause():void{
glow.stop();
}
}
}//package com.nitrome.folding
Section 15
//ExitTile (com.nitrome.folding.ExitTile)
package com.nitrome.folding {
import flash.geom.*;
import flash.display.*;
import com.nitrome.util.*;
public class ExitTile extends SolidTile {
public var glowVis:Number;// = 1
public var glow:MovieClip;
public function ExitTile(){
glowVis = 1;
super();
}
override public function destroy():void{
super.destroy();
if (glow.parent){
glow.parent.removeChild(glow);
};
}
override public function create(_arg1:Number, _arg2:Number, _arg3:String):void{
super.create(_arg1, _arg2, _arg3);
glow = new ExitTileGlow();
glow.x = ((_arg1 + 1) * Level.TILE_SIZE);
glow.y = (_arg2 * Level.TILE_SIZE);
glow.tile = this;
Controller.tileLayer.addChildAt(glow, 0);
sendAdvance = true;
sendContact = true;
animated = true;
}
override public function contact(_arg1:CircleObject, _arg2:Collision):void{
super.contact(_arg1, _arg2);
if (_arg2.surfaceNormal.y > 0){
if (((((singleSquare) && ((_arg1 is Player)))) && ((_arg1 as Player).hasArmsAttached()))){
(_arg1 as Player).exit(this);
gotoAndPlay("exiting");
NitromeGame.sound_manager.playSound("exit");
};
};
}
override public function advance():void{
var _local1:Vector2;
var _local2:ColorTransform;
super.advance();
_local1 = Controller.level.getFoldedPoint(Vector2.fromTile((gridX + 1), gridY));
glow.x = _local1.x;
glow.y = _local1.y;
if (singleSquare){
glowVis = Global.slide(glowVis, 1, 0.2);
} else {
glowVis = Global.slide(glowVis, 0, 0.2);
};
_local2 = new ColorTransform(1, 1, 1, 1, 0, 0, 0, ((glowVis - 1) * 0xFF));
glow.transform.colorTransform = _local2;
}
}
}//package com.nitrome.folding
Section 16
//Fold (com.nitrome.folding.Fold)
package com.nitrome.folding {
import com.nitrome.util.*;
public class Fold {
public var unitVectorAcross:Vector2;
public var halfDistance:Number;
public var openAmount:Number;// = 0
public var active:Boolean;// = true
public var centerpoint:Vector2;
public var peg1:Peg;// = null
public var peg2:Peg;// = null
public var point1:Vector2;
public var point2:Vector2;
public var permanent:Boolean;// = false
public var
:Number;
public var unitVectorAlong:Vector2;
public var acrossAngleRadians:Number;
public static const FOLD_TIME:Number = 10;
public function Fold(){
active = true;
permanent = false;
openAmount = 0;
peg1 = null;
peg2 = null;
super();
}
public function create(_arg1:Vector2, _arg2:Vector2):void{
var _local3:Vector2;
var _local4:Number;
var _local5:Peg;
var _local6:Vector2;
var _local7:Number;
point1 = _arg1;
point2 = _arg2;
centerpoint = point1.lerp(point2, 0.5);
unitVectorAcross = point2.subtract(point1).normalized();
unitVectorAlong = unitVectorAcross.left90();
= point2.subtract(point1).length();
halfDistance = (
/ 2);
acrossAngleRadians = Math.atan2(unitVectorAcross.y, unitVectorAcross.x);
Controller.level.startFoldAnimation(this);
_local3 = Controller.level.player.position;
if (Math.abs(_local3.subtract(centerpoint).dot(unitVectorAcross)) < halfDistance){
Controller.level.player.insideFold = this;
Controller.level.player.timeInsideFold = 0;
};
_local4 = 0;
while (_local4 < Controller.level.pegGrid.length) {
_local5 = Controller.level.pegGrid[_local4];
if (!_local5){
} else {
if (_local5.insideFold){
} else {
_local6 = _local5.foldedCenter();
if (_local6.subtract(_arg1).lengthLessThan(1)){
} else {
if (_local6.subtract(_arg2).lengthLessThan(1)){
} else {
_local7 = _local6.dot(unitVectorAcross);
if ((((_local7 >= point1.dot(unitVectorAcross))) && ((_local7 <= point2.dot(unitVectorAcross))))){
_local5.insideFold = this;
};
};
};
};
};
_local4++;
};
NitromeGame.sound_manager.playSound("fold");
}
public function advance():void{
if (Controller.level.animatingFold != this){
return;
};
if (active){
openAmount++;
if (openAmount >= FOLD_TIME){
openAmount = FOLD_TIME;
Controller.level.animatingFold = null;
Controller.level.invalidateTilePolygons();
();
};
} else {
openAmount--;
if (openAmount <= 0){
openAmount = 0;
};
};
}
public function foldPoint(_arg1:Vector2, _arg2:Vector2=null){
var _local3:Number;
var _local4:Number;
if (!_arg2){
_arg2 = centerpoint;
};
_local3 = _arg1.subtract(_arg2).dot(unitVectorAcross);
_local4 = Global.slide(_local3, 0, (halfDistance * openFactor()));
return (_arg1.add(unitVectorAcross.multiply((_local4 - _local3))));
}
public function unfold():void{
if (permanent){
return;
};
active = false;
Global.removeFromList(this, Controller.level.folds);
Controller.level.startFoldAnimation(this);
Controller.level.invalidateTilePolygons();
NitromeGame.sound_manager.playSound("unfold");
}
public function unfoldPoint(_arg1:Vector2, _arg2:Vector2=null){
var _local3:Number;
if (!_arg2){
_arg2 = centerpoint;
};
_local3 = (halfDistance * openFactor());
if (_arg1.subtract(_arg2).dot(unitVectorAcross) < 0){
_local3 = (_local3 * -1);
};
return (_arg1.add(unitVectorAcross.multiply(_local3)));
}
private function ():void{
if (Controller.level.player.insideFold == this){
NitromeGame.sound_manager.playSound("foldedMyself");
} else {
Controller.level.startDragPeg = null;
Controller.level.endDragPeg = null;
};
}
public function toString():String{
return ((((((("Fold at " + centerpoint) + " along ") + unitVectorAlong) + " open ") + openAmount) + (active) ? " (active)" : " (inactive)"));
}
public function openFactor():Number{
var _local1:Number;
_local1 = (openAmount / FOLD_TIME);
_local1 = (_local1 * _local1);
return (_local1);
}
public function destroy():void{
var _local1:Number;
var _local2:Peg;
if (Controller.level.player.insideFold == this){
Controller.level.player.insideFold = null;
Controller.level.player.visible = true;
};
_local1 = 0;
while (_local1 < Controller.level.pegGrid.length) {
_local2 = Controller.level.pegGrid[_local1];
if (((_local2) && ((_local2.insideFold == this)))){
_local2.insideFold = null;
_local2.visible = true;
};
_local1++;
};
();
}
}
}//package com.nitrome.folding
Section 17
//HarmfulTile (com.nitrome.folding.HarmfulTile)
package com.nitrome.folding {
public class HarmfulTile extends SolidTile {
override public function create(_arg1:Number, _arg2:Number, _arg3:String):void{
super.create(_arg1, _arg2, _arg3);
sendContact = true;
sendAdvance = true;
animated = true;
}
override public function contact(_arg1:CircleObject, _arg2:Collision):void{
super.contact(_arg1, _arg2);
if ((_arg1 is Player)){
(_arg1 as Player).hit(_arg2.nearestPoint);
gotoAndPlay("f9");
NitromeGame.sound_manager.playSound("electricity");
};
}
}
}//package com.nitrome.folding
Section 18
//HintProjectorTile (com.nitrome.folding.HintProjectorTile)
package com.nitrome.folding {
import flash.display.*;
public class HintProjectorTile extends SolidTile {
public var :MovieClip;
override public function destroy():void{
super.destroy();
if ((() && (.parent))){
.parent.removeChild();
};
}
override public function unpause():void{
.play();
if (.distort){
.distort.play();
};
}
override public function create(_arg1:Number, _arg2:Number, _arg3:String):void{
super.create(_arg1, _arg2, _arg3);
if (_arg1 < 20){
= new VideoMoving();
} else {
if (_arg1 < 40){
= new VideoFolding();
} else {
= new VideoUnfolding();
};
};
Controller.tileLayer.addChildAt(, 0);
sendAdvance = true;
sendPause = true;
advance();
}
override public function advance():void{
var _local1:Vector2;
super.advance();
_local1 = Controller.level.getFoldedPoint(Vector2.fromTile((gridX + 0.5), (gridY + 1)));
_local1.x = (_local1.x - 64);
if (.x != _local1.x){
.x = _local1.x;
};
if (.y != _local1.y){
.y = _local1.y;
};
}
override public function pause():void{
.stop();
if (.distort){
.distort.stop();
};
}
}
}//package com.nitrome.folding
Section 19
//LaserTile (com.nitrome.folding.LaserTile)
package com.nitrome.folding {
import flash.display.*;
public class LaserTile extends SolidTile {
public const MAX_BEAM_DISTANCE:Number = 800;
public var :Number;
public var :Vector2;
public var :Tile;
public var :Vector2;
public var :MovieClip;
public var :Number;
override public function destroy():void{
super.destroy();
if (.parent){
.parent.removeChild();
};
}
override public function create(_arg1:Number, _arg2:Number, _arg3:String):void{
super.create(_arg1, _arg2, _arg3);
if (_arg3 == "laser_left"){
= new Vector2(-1, 0);
} else {
if (_arg3 == "laser_down"){
= new Vector2(0, 1);
} else {
if (_arg3 == "laser_up"){
= new Vector2(0, -1);
} else {
= new Vector2(1, 0);
};
};
};
= Vector2.fromTile((_arg1 + 0.5), (_arg2 + 0.5)).add(.multiply((0.5 * Level.TILE_SIZE)));
= new LaserBeam();
.x = .x;
.y = .y;
.rotation = ((Math.atan2(.y, .x) * 180) / Math.PI);
Controller.laserBeamLayer.addChild();
sendAdvance = true;
}
private function (_arg1:CircleObject):Boolean{
var _local2:Vector2;
var _local3:Vector2;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Vector2;
_local2 = Controller.level.getFoldedPoint();
_local3 = _local2.add(.multiply());
_local4 = .dot(_local2);
_local5 = .dot(_local3);
_local6 = .dot(_arg1.position);
if (_local6 < _local4){
_local6 = _local4;
};
if (_local6 > _local5){
_local6 = _local5;
};
_local7 = _local2.add(.multiply((_local6 - _local4)));
if (_arg1.position.subtract(_local7).lengthLessThan(_arg1.radius)){
return (true);
};
return (false);
}
override public function advance():void{
var _local1:Vector2;
var _local2:Vector2;
var _local3:Vector2;
var _local4:Number;
var _local5:Number;
var _local6:*;
var _local7:Number;
var _local8:Number;
var _local9:Number;
var _local10:Number;
var _local11:Number;
var _local12:Boolean;
var _local13:Vector2;
_local1 = Vector2.fromTile((gridX + 0.5), (gridY + 0.5));
_local2 = Controller.level.getFoldedPoint(_local1).add(.multiply((0.45 * Level.TILE_SIZE)));
_local3 = _local2;
.x = _local2.x;
.y = _local2.y;
_local1 = Controller.level.getUnfoldedPoint(_local2);
_local4 = Math.floor((_local1.x / Level.TILE_SIZE));
_local5 = Math.floor((_local1.y / Level.TILE_SIZE));
if (((!((_local4 == gridX))) || (!((_local5 == gridY))))){
.visible = false;
return;
};
.visible = true;
_local6 = null;
_local7 = 0;
while (_local7 < MAX_BEAM_DISTANCE) {
_local7 = (_local7 + 8);
_local2 = _local2.add(.multiply(8));
_local6 = Controller.level.hitTestFolded(_local2);
if (_local6){
break;
};
};
while (true) {
_local7--;
_local2 = _local2.subtract();
if (!Controller.level.hitTestFolded(_local2)){
_local7++;
break;
};
};
if ((_local6 is Tile)){
if (_local6 == ){
++;
if (((( > 3)) && (( is DestroyableTile)))){
( as DestroyableTile).beingHitByLaser = true;
};
} else {
= (_local6 as Tile);
= 0;
};
};
= _local7;
_local8 = Math.min(_local2.x, _local3.x);
_local9 = Math.max(_local2.x, _local3.x);
_local10 = Math.min(_local2.y, _local3.y);
_local11 = Math.max(_local2.y, _local3.y);
_local12 = true;
if (_local9 < (Controller.level.cameraFocus.x - 290)){
_local12 = false;
};
if (_local8 > (Controller.level.cameraFocus.x + 290)){
_local12 = false;
};
if (_local11 < (Controller.level.cameraFocus.y - 215)){
_local12 = false;
};
if (_local10 > (Controller.level.cameraFocus.y + 215)){
_local12 = false;
};
if (_local7 < 10){
_local12 = false;
};
if (_local12){
if (!.parent){
Controller.laserBeamLayer.addChild();
};
["mid"].scaleX = ((_local7 - (Level.TILE_SIZE * 2)) / Level.TILE_SIZE);
["end"].x = (_local7 - Level.TILE_SIZE);
} else {
if (.parent){
.parent.removeChild();
};
};
if ((Controller.level.player)){
_local13 = .project(Controller.level.player.position.subtract(_local3));
_local13 = _local13.add(_local3);
Controller.level.player.hit(_local13, true);
};
}
}
}//package com.nitrome.folding
Section 20
//Level (com.nitrome.folding.Level)
package com.nitrome.folding {
import flash.events.*;
import com.nitrome.game.*;
import com.nitrome.util.*;
import flash.utils.*;
public class Level {
public var startDragPeg:Peg;// = null
public var entranceTile:EntranceTile;
public var animatingFold:Fold;// = null
public var gridHeight:Number;
public var pegGrid:Array;
public var tileRenderer:TileRenderer;
public var folds:Array;
public var frameNumber:Number;// = 0
public var
:Boolean;// = false
public var edgeBoxes:Array;
public var gridWidth:Number;
public var
:Number;// = 0
public var :Background;
public var cameraFocus:Vector2;
public var activeObjects:Array;
public var
:Boolean;// = false
public var tileGraphicGrid:Array;
public var pegList:Array;
public var solidTileGrid:Array;
public var player:Player;
public var endDragPeg:Peg;// = null
public var :Vector2;
public static const TILE_SIZE:int = 32;
public static const TILE_VECTOR:Vector2 = new Vector2(TILE_SIZE, TILE_SIZE);
public static const HALF_TILE_VECTOR:Vector2 = new Vector2((0.5 * TILE_SIZE), (0.5 * TILE_SIZE));
public function Level(){
animatingFold = null;
startDragPeg = null;
endDragPeg = null;
= false;
frameNumber = 0;
= false;
= 0;
super();
}
public function advance():void{
var _local1:Boolean;
var _local2:Number;
_local1 = false;
if (animatingFold){
animatingFold.advance();
_local1 = true;
player.advanceFolding();
_local2 = 0;
while (_local2 < activeObjects.length) {
if ((activeObjects[_local2] is CircleObject)){
(activeObjects[_local2] as CircleObject).advanceFolding();
};
_local2++;
};
if (((((animatingFold) && (!(animatingFold.active)))) && ((animatingFold.openAmount == 0)))){
animatingFold.destroy();
animatingFold = null;
};
} else {
frameNumber++;
_local2 = 0;
while (_local2 < activeObjects.length) {
activeObjects[_local2].advance();
_local2++;
};
player.advance();
};
_local2 = 0;
while (_local2 < (gridWidth * gridHeight)) {
if (((solidTileGrid[_local2]) && (solidTileGrid[_local2].sendAdvance))){
solidTileGrid[_local2].advance();
};
_local2++;
};
_local2 = 0;
while (_local2 < (gridWidth * gridHeight)) {
if (pegGrid[_local2]){
pegGrid[_local2].advance();
};
_local2++;
};
if (!animatingFold){
= .lerp(new Vector2((275 - Controller.stage.mouseX), (250 - Controller.stage.mouseY)), 0.1);
cameraFocus = cameraFocus.lerp(player.position.subtract(.multiply(0.2)), 0.5);
if ((gridWidth * TILE_SIZE) >= 550){
if (cameraFocus.x < 275){
cameraFocus.x = 275;
};
if (cameraFocus.x > ((gridWidth * TILE_SIZE) - 275)){
cameraFocus.x = ((gridWidth * TILE_SIZE) - 275);
};
} else {
cameraFocus.x = ((gridWidth * TILE_SIZE) * 0.5);
};
if ((gridHeight * TILE_SIZE) >= 400){
if (cameraFocus.y < 200){
cameraFocus.y = 200;
};
if (cameraFocus.y > ((gridHeight * TILE_SIZE) - 200)){
cameraFocus.y = ((gridHeight * TILE_SIZE) - 200);
};
} else {
cameraFocus.y = ((gridHeight * TILE_SIZE) * 0.5);
};
};
tileRenderer.advance((animatingFold) ? true : _local1);
Controller.content.x = (275 - Math.round(cameraFocus.x));
Controller.content.y = (200 - Math.round(cameraFocus.y));
.advance();
if (
){
if (player.isReadyToFold()){
startDragPeg.dragTo(endDragPeg);
= false;
if (!animatingFold){
startDragPeg = (endDragPeg = null);
};
};
if (((!(startDragPeg)) || (!(endDragPeg)))){
= false;
};
};
if (((!(
)) && (startDragPeg))){
if (startDragPeg.isOffscreen()){
startDragPeg = null;
};
};
drawGuide();
}
public function create(_arg1:XML):void{
var unserialize:Function;
var interpretPath:Function;
var tileList:Array;
var n:Number;
var pegs:Array;
var aoTypes:Object;
var aoList:Array;
var pathString:String;
var path:Array;
var classRef:Class;
var ix:Number;
var iy:Number;
var fold:Fold;
var newObject:ActiveObject;
var xml = _arg1;
unserialize = function (_arg1:String):Array{
var _local2:Array;
var _local3:Array;
var _local4:Number;
var _local5:String;
var _local6:Array;
var _local7:String;
var _local8:Number;
var _local9:Number;
_local2 = _arg1.split(",");
_local3 = [];
_local4 = 0;
while (_local4 < _local2.length) {
_local5 = _local2[_local4];
if (_local5.indexOf(":") == -1){
_local3.push(Global.trim(_local5));
} else {
_local6 = _local5.split(":");
_local7 = Global.trim(_local6[0]);
_local8 = Number(_local6[1]);
_local9 = 0;
while (_local9 < _local8) {
_local3.push(_local7);
_local9++;
};
};
_local4++;
};
return (_local3);
};
interpretPath = function (_arg1:String):Array{
var _local2:Array;
var _local3:Array;
var _local4:Number;
var _local5:String;
var _local6:Array;
_local2 = [];
_local3 = _arg1.split(">");
_local4 = 0;
while (_local4 < _local3.length) {
_local5 = _local3[_local4];
if (_local5.substr(0, 1) == "["){
_local5 = _local5.substr(1);
};
if (_local5.substr(-1) == "]"){
_local5 = _local5.substr(0, -1);
};
_local6 = _local5.split(",");
_local2.push(new Vector2((Number(_local6[0]) * TILE_SIZE), (Number(_local6[1]) * TILE_SIZE)));
_local4++;
};
return (_local2);
};
= new Background();
.create();
gridWidth = xml.@w;
gridHeight = xml.@h;
solidTileGrid = [];
pegGrid = [];
pegList = [];
tileGraphicGrid = [];
activeObjects = [];
tileList = unserialize(xml.t);
n = 0;
while (n < tileList.length) {
if (((!(tileList[n])) || ((tileList[n] == "-")))){
} else {
try {
classRef = (getDefinitionByName(("tile_" + tileList[n])) as Class);
solidTileGrid[n] = new (classRef);
solidTileGrid[n].create((n % gridWidth), int((n / gridWidth)), tileList[n]);
} catch(e:Error) {
};
};
n = (n + 1);
};
pegs = unserialize(xml.peg);
n = 0;
while (n < pegs.length) {
if (((!(pegs[n])) || ((pegs[n] == "-")))){
} else {
pegGrid[n] = new peg();
pegGrid[n].create((n % gridWidth), int((n / gridWidth)), pegs[n]);
pegList.push(pegGrid[n]);
};
n = (n + 1);
};
folds = [];
aoTypes = {mp_42h:MovingPlatform42Horizontal, mp_42v:MovingPlatform42Vertical, mp_22h:MovingPlatform22Horizontal, tc:TurningCrossNormal, tch:TurningCrossHarmful, crate:Crate};
aoList = unserialize(xml.a);
n = 0;
while (n < aoList.length) {
if (aoList[n] == "player"){
player = new Player();
player.create((n % gridWidth), int((n / gridWidth)), "player");
};
n = (n + 1);
};
n = 0;
while (n < aoList.length) {
ix = (n % gridWidth);
iy = int((n / gridWidth));
pathString = xml.path.(@x == ix).(@y == iy).@pts;
if (aoList[n] == "fold"){
path = interpretPath(pathString);
fold = addFold(Controller.level.getFoldedPoint(path[0].add(HALF_TILE_VECTOR)), Controller.level.getFoldedPoint(path[1].add(HALF_TILE_VECTOR)));
fold.openAmount = Fold.FOLD_TIME;
fold.permanent = true;
} else {
if (aoList[n] == "fold_corner"){
path = interpretPath(pathString);
fold = addFold(Controller.level.getFoldedPoint(path[0]), Controller.level.getFoldedPoint(path[1]));
fold.openAmount = Fold.FOLD_TIME;
fold.permanent = true;
} else {
if (aoTypes[aoList[n]]){
newObject = new (aoTypes[aoList[n]]);
newObject.create(ix, iy, aoList[n]);
activeObjects.push(newObject);
if (pathString){
newObject.setPath(interpretPath(pathString));
};
};
};
};
n = (n + 1);
};
player.start();
edgeBoxes = [];
n = 0;
while (n < 4) {
edgeBoxes[n] = new EdgeBox();
edgeBoxes[n].create(n);
n = (n + 1);
};
tileRenderer = new TileRenderer();
tileRenderer.create();
cameraFocus = new Vector2();
= new Vector2();
Controller.stage.addEventListener(MouseEvent.MOUSE_DOWN, );
Controller.stage.addEventListener(MouseEvent.MOUSE_UP, );
}
public function hitTestFolded(_arg1:Vector2){
return (
(getUnfoldedPoint(_arg1)));
}
private function
():void{
var _local1:Number;
var _local2:CircleObject;
player.worldPosition = getUnfoldedPoint(player.position);
_local1 = 0;
while (_local1 < activeObjects.length) {
if ((activeObjects[_local1] is CircleObject)){
_local2 = (activeObjects[_local1] as CircleObject);
_local2.worldPosition = getUnfoldedPoint(_local2.position);
};
_local1++;
};
}
public function drawGuide():void{
var _local1:Peg;
var _local2:Vector2;
var _local3:Vector2;
var _local4:Vector2;
var _local5:Number;
var _local6:Vector2;
var _local7:Number;
Controller.guideLayer.graphics.clear();
if (((((((startDragPeg) && (!(
)))) && (!(animatingFold)))) && (!(player.insideFold)))){
_local1 = getPegAtMouse();
_local2 = startDragPeg.foldedCenter();
_local3 = (_local1) ? _local1.foldedCenter() : ();
_local4 = _local3.subtract(_local2);
_local5 = 0xFFFFFF;
if (_local2.subtract(_local3).lengthGreaterThan(10)){
_local6 = _local3.subtract(_local2).left90().normalized(700);
_local7 = ((_local2.subtract(_local3).length() - 10) / 50);
if (_local7 > 1){
_local7 = 1;
};
Controller.guideLayer.graphics.beginFill(_local5, (0.2 * _local7));
Controller.guideLayer.graphics.moveTo((_local2.x + _local6.x), (_local2.y + _local6.y));
Controller.guideLayer.graphics.lineTo((_local3.x + _local6.x), (_local3.y + _local6.y));
Controller.guideLayer.graphics.lineTo((_local3.x - _local6.x), (_local3.y - _local6.y));
Controller.guideLayer.graphics.lineTo((_local2.x - _local6.x), (_local2.y - _local6.y));
Controller.guideLayer.graphics.endFill();
Controller.guideLayer.graphics.lineStyle(2, _local5);
Controller.guideLayer.graphics.moveTo(_local2.x, _local2.y);
Controller.guideLayer.graphics.lineTo(_local3.x, _local3.y);
};
};
}
public function
(_arg1:Vector2){
var _local2:Number;
var _local3:Number;
var _local4:SolidTile;
var _local5:Number;
var _local6:MovingPlatform;
_local2 = Math.floor((_arg1.x / TILE_SIZE));
_local3 = Math.floor((_arg1.y / TILE_SIZE));
_local4 = (Controller.level.getTile(_local2, _local3) as SolidTile);
if (_local4){
if (_local4.singleSquareBeforeFolding){
return (_local4);
};
if (_local4.defaultPolygon.pointIsInside(_arg1)){
return (_local4);
};
};
_local5 = 0;
while (_local5 < activeObjects.length) {
_local6 = (activeObjects[_local5] as MovingPlatform);
if (!_local6){
} else {
if (_local6.unfoldedPointIsInside(_arg1)){
return (_local6);
};
};
_local5++;
};
return (null);
}
public function getUnfoldedPoint(_arg1:Vector2):Vector2{
var _local2:Vector2;
var _local3:Number;
_local2 = _arg1;
_local3 = (folds.length - 1);
while (_local3 >= 0) {
_local2 = folds[_local3].unfoldPoint(_local2);
_local3--;
};
if (((animatingFold) && (!(animatingFold.active)))){
_local2 = animatingFold.unfoldPoint(_local2);
};
return (_local2);
}
public function invalidateTilePolygons():void{
var _local1:Number;
_local1 = 0;
while (_local1 < (gridWidth * gridHeight)) {
if (solidTileGrid[_local1]){
solidTileGrid[_local1].calculatedPolygons = false;
};
_local1++;
};
_local1 = 0;
while (_local1 < activeObjects.length) {
if ((activeObjects[_local1] is MovingPlatform)){
(activeObjects[_local1] as MovingPlatform).calculatePolygons();
};
_local1++;
};
tileGraphicGrid = [];
_local1 = 0;
while (_local1 < edgeBoxes.length) {
edgeBoxes[_local1].update();
_local1++;
};
}
public function getTile(_arg1:Number, _arg2:Number, _arg3:Array=null):Tile{
if ((((_arg1 < 0)) || ((_arg1 >= gridWidth)))){
return (null);
};
if ((((_arg2 < 0)) || ((_arg2 >= gridHeight)))){
return (null);
};
if (_arg3){
return (_arg3[(_arg1 + (_arg2 * gridWidth))]);
};
return (solidTileGrid[(_arg1 + (_arg2 * gridWidth))]);
}
public function getLastFold():Fold{
return (folds[(folds.length - 1)]);
}
public function (_arg1:MouseEvent):void{
var _local2:Fold;
if (animatingFold){
return;
};
if (player.insideFold){
return;
};
if (
){
return;
};
if (startDragPeg){
endDragPeg = getPegAtMouse();
if (startDragPeg == endDragPeg){
_local2 = getLastFold();
if (((_local2) && ((((_local2.peg1 == endDragPeg)) || ((_local2.peg2 == endDragPeg)))))){
} else {
startDragPeg = (endDragPeg = null);
};
};
if (!endDragPeg){
startDragPeg = null;
};
= true;
};
}
public function getPegAtMouse():Peg{
var _local1:Vector2;
var _local2:Vector2;
var _local3:Peg;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
_local1 = ();
_local2 = getUnfoldedPoint(_local1);
_local4 = (folds.length - 1);
while (_local4 >= 0) {
_local3 = folds[_local4].peg1;
if (((((((_local3) && (!(_local3.insideFold)))) && (!(_local3.isOffscreen())))) && (_local3.foldedCenter().subtract(_local1).lengthLessThan(25)))){
return (_local3);
};
_local3 = folds[_local4].peg2;
if (((((((_local3) && (!(_local3.insideFold)))) && (!(_local3.isOffscreen())))) && (_local3.foldedCenter().subtract(_local1).lengthLessThan(25)))){
return (_local3);
};
_local4--;
};
_local5 = Math.floor((_local2.x / Level.TILE_SIZE));
_local6 = Math.floor((_local2.y / Level.TILE_SIZE));
_local7 = (_local5 - 1);
while (_local7 <= (_local5 + 1)) {
_local8 = (_local6 - 1);
while (_local8 <= (_local6 + 1)) {
_local3 = (getTile(_local7, _local8, pegGrid) as Peg);
if (!_local3){
} else {
if (_local3.insideFold){
} else {
if (_local3.isOffscreen()){
} else {
if (_local1.subtract(_local3.foldedCenter()).lengthLessThan(25)){
return (_local3);
};
};
};
};
_local8++;
};
_local7++;
};
return (null);
}
public function ():Vector2{
return (new Vector2(Controller.content.mouseX, Controller.content.mouseY));
}
public function unfoldOnce():void{
var _local1:Fold;
();
_local1 = getLastFold();
if (_local1){
_local1.unfold();
};
}
public function failed():void{
if (!
){
Controller.popup.open("failed");
= true;
};
}
public function startFoldAnimation(_arg1:Fold):void{
animatingFold = _arg1;
}
public function addFold(_arg1:Vector2, _arg2:Vector2):Fold{
var _local3:Fold;
();
_local3 = new Fold();
_local3.create(_arg1, _arg2);
folds.push(_local3);
return (_local3);
}
public function completed():void{
if (!
){
= frameNumber;
Score.value = (Score.value + getScore());
Controller.popup.open("complete");
NitromeGame.setLevelUnlocked((Controller.loadedLevelNumber + 1));
= true;
};
}
public function pixelHeight():Number{
return ((gridHeight * TILE_SIZE));
}
public function getMaximumPossibleFoldOffset():Number{
var _local1:Number;
var _local2:Number;
_local1 = 0;
_local2 = 0;
while (_local2 < folds.length) {
_local1 = (_local1 + folds[_local2].halfDistance);
_local2++;
};
return (_local1);
}
public function getFoldedPoint(_arg1:Vector2):Vector2{
var _local2:Vector2;
var _local3:Number;
_local2 = _arg1;
_local3 = 0;
while (_local3 < folds.length) {
_local2 = folds[_local3].foldPoint(_local2);
_local3++;
};
if (((animatingFold) && (!(animatingFold.active)))){
_local2 = animatingFold.foldPoint(_local2);
};
return (_local2);
}
public function pixelWidth():Number{
return ((gridWidth * TILE_SIZE));
}
public function (_arg1:MouseEvent):void{
if (animatingFold){
return;
};
if (player.insideFold){
return;
};
if (((
) && (startDragPeg))){
return;
};
startDragPeg = getPegAtMouse();
}
public function getScore():Number{
var _local1:Number;
var _local2:Number;
_local1 = (
/ (90 * 25));
_local2 = Math.pow(2, -(_local1));
return (Math.floor((1000 * _local2)));
}
public function pause():void{
var _local1:Number;
var _local2:Tile;
_local1 = 0;
while (_local1 < (gridWidth * gridHeight)) {
_local2 = solidTileGrid[_local1];
if (((_local2) && (_local2.sendPause))){
_local2.pause();
};
_local1++;
};
}
public function destroy():void{
var _local1:Number;
tileRenderer.destroy();
player.destroy();
_local1 = 0;
while (_local1 < (gridWidth * gridHeight)) {
if (solidTileGrid[_local1]){
solidTileGrid[_local1].destroy();
};
if (pegGrid[_local1]){
pegGrid[_local1].destroy();
};
_local1++;
};
_local1 = 0;
while (_local1 < activeObjects.length) {
activeObjects[_local1].destroy();
_local1++;
};
.destroy();
Controller.stage.removeEventListener(MouseEvent.MOUSE_DOWN, );
Controller.stage.removeEventListener(MouseEvent.MOUSE_UP, );
}
public function unpause():void{
var _local1:Number;
var _local2:Tile;
_local1 = 0;
while (_local1 < (gridWidth * gridHeight)) {
_local2 = solidTileGrid[_local1];
if (((_local2) && (_local2.sendPause))){
_local2.unpause();
};
_local1++;
};
}
}
}//package com.nitrome.folding
Section 21
//MovingPlatform (com.nitrome.folding.MovingPlatform)
package com.nitrome.folding {
import flash.display.*;
import com.nitrome.util.*;
public class MovingPlatform extends ActiveObject {
public var harmful:Boolean;// = false
public var multiBitmapDatas:Array;
public var currentVelocity:Vector2;
public var
:Number;// = 4
public var :Number;// = 2
public var offset:Vector2;
public var bitmapData:BitmapData;
public var
:Number;// = 0
public var :Vector2;
public var currentPosition:Vector2;
public var polygons:Array;
public var visualPolygons:Array;
public function MovingPlatform(){
harmful = false;
= 4;
= 2;
= 0;
super();
}
public function contact(_arg1:CircleObject, _arg2:Collision):void{
if (((harmful) && ((_arg1 is Player)))){
(_arg1 as Player).hit(_arg2.nearestPoint);
};
}
override public function advance():void{
var _local1:Number;
var _local2:Number;
var _local3:Vector2;
var _local4:Number;
if (Controller.level.animatingFold){
return;
};
_local1 = (Controller.level.frameNumber / 25);
_local2 = ((Math.sin(_local1) + 1) / 2);
_local3 = currentPosition;
currentPosition = .add(offset.multiply(_local2));
currentPosition.x = Math.round(currentPosition.x);
currentPosition.y = Math.round(currentPosition.y);
currentVelocity = currentPosition.subtract(_local3);
calculatePolygons();
x = currentPosition.x;
y = currentPosition.y;
if (multiBitmapDatas){
bitmapData = multiBitmapDatas[currentFrame];
};
if ((((this is MovingPlatform42Vertical)) || ((this is MovingPlatform42Horizontal)))){
_local4 = 0;
if ((((this is MovingPlatform42Vertical)) && ((offset.y > 0)))){
_local4 = Math.PI;
};
if ((((this is MovingPlatform42Horizontal)) && ((offset.x < 0)))){
_local4 = Math.PI;
};
if (Math.sin(((_local1 + _local4) - 0.3)) > 0){
= Global.slide(
, 0, 1);
} else {
= Global.slide(
, 3, 1);
};
if ((this is MovingPlatform42Horizontal)){
if (
== 3){
gotoAndStop((Controller.frameNumber % 3));
} else {
if (
== 0){
gotoAndStop((6 + (Controller.frameNumber % 3)));
} else {
gotoAndStop((6 -
));
};
};
} else {
if (
== 3){
gotoAndStop((Controller.frameNumber % 3));
} else {
gotoAndStop((6 -
));
};
};
};
}
override public function setPath(_arg1:Array):void{
offset = _arg1[1].subtract(_arg1[0]);
}
public function unfoldedPointIsInside(_arg1:Vector2):Boolean{
if (_arg1.x < currentPosition.x){
return (false);
};
if (_arg1.x > (currentPosition.x + (
* Level.TILE_SIZE))){
return (false);
};
if (_arg1.y < currentPosition.y){
return (false);
};
if (_arg1.y > (currentPosition.y + ( * Level.TILE_SIZE))){
return (false);
};
return (true);
}
public function velocityAtUnfoldedPoint(_arg1:Vector2):Vector2{
return (currentVelocity);
}
public function getVisualPolygons():Array{
return (visualPolygons);
}
public function getPolygons():Array{
return (polygons);
}
override public function create(_arg1:Number, _arg2:Number, _arg3:String):void{
var _local4:Number;
super.create(_arg1, _arg2, _arg3);
= new Vector2((_arg1 * Level.TILE_SIZE), (_arg2 * Level.TILE_SIZE));
offset = new Vector2((8 * Level.TILE_SIZE), 0);
currentPosition = ;
currentVelocity = new Vector2();
x = .x;
y = .y;
needsDrawingToBitmap = true;
bitmapData = Global.bitmapFromSprite(this);
if ((this is MovingPlatform22Horizontal)){
= 2;
};
if (this.totalFrames > 1){
multiBitmapDatas = [];
_local4 = 1;
while (_local4 <= this.totalFrames) {
gotoAndStop(_local4);
multiBitmapDatas[_local4] = Global.bitmapFromSprite(this);
_local4++;
};
gotoAndPlay(1);
};
calculatePolygons();
}
public function calculatePolygons():void{
var _local1:ConvexPolygon;
var _local2:*;
_local1 = ConvexPolygon.rectangle(currentPosition, currentPosition.add(Vector2.fromTile(
, )));
_local2 = _local1.changedAfterFolds();
if ((_local2 is Array)){
polygons = _local2;
} else {
polygons = [_local2];
};
if ((this is MovingPlatform42Vertical)){
_local1 = ConvexPolygon.rectangle(currentPosition, currentPosition.add(Vector2.fromTile(4, 3)));
} else {
if ((this is MovingPlatform42Horizontal)){
_local1 = ConvexPolygon.rectangle(currentPosition.add(Vector2.fromTile(-1, 0)), currentPosition.add(Vector2.fromTile(5, 2)));
_local1.offsetPosition = Vector2.fromTile(-1, 0);
} else {
_local1 = null;
};
};
if (_local1){
_local2 = _local1.changedAfterFolds();
if ((_local2 is Array)){
visualPolygons = _local2;
} else {
visualPolygons = [_local2];
};
} else {
visualPolygons = polygons;
};
}
}
}//package com.nitrome.folding
Section 22
//MovingPlatform42Horizontal (com.nitrome.folding.MovingPlatform42Horizontal)
package com.nitrome.folding {
public dynamic class MovingPlatform42Horizontal extends MovingPlatform {
}
}//package com.nitrome.folding
Section 23
//MovingPlatform42Vertical (com.nitrome.folding.MovingPlatform42Vertical)
package com.nitrome.folding {
public dynamic class MovingPlatform42Vertical extends MovingPlatform {
}
}//package com.nitrome.folding
Section 24
//Peg (com.nitrome.folding.Peg)
package com.nitrome.folding {
import flash.geom.*;
import flash.display.*;
public class Peg extends Tile {
public var insideFold:Fold;// = null
public var center:Vector2;
public function Peg(){
insideFold = null;
super();
}
public function advance():void{
var _local1:Boolean;
var _local2:Boolean;
var _local3:Number;
var _local4:Vector2;
if (insideFold){
visible = false;
return;
};
if (!visible){
visible = true;
};
_local1 = false;
_local2 = true;
_local3 = 0;
while (_local3 < Controller.level.folds.length) {
if ((((Controller.level.folds[_local3].peg1 == this)) || ((Controller.level.folds[_local3].peg2 == this)))){
_local1 = true;
_local2 = (_local3 < (Controller.level.folds.length - 1));
};
_local3++;
};
if (Controller.level.animatingFold){
if (Controller.level.animatingFold.peg1 == this){
_local1 = true;
_local2 = false;
};
if (Controller.level.animatingFold.peg2 == this){
_local1 = true;
_local2 = false;
};
};
if (_local1){
if (_local2){
if (currentLabel != "activeBehind"){
gotoAndStop("activeBehind");
};
} else {
if (currentLabel != "active"){
gotoAndPlay("active");
};
};
} else {
if ((((Controller.level.startDragPeg == this)) || ((Controller.level.endDragPeg == this)))){
if (currentLabel != "handGrab"){
gotoAndPlay("handGrab");
};
} else {
if (((((!(_local1)) && (!((currentLabel == "normal"))))) && (!((currentLabel == "handRelease"))))){
if (currentLabel == "handGrab"){
gotoAndPlay("handRelease");
} else {
gotoAndPlay("normal");
};
};
};
};
_local4 = foldedCenter();
if (x != _local4.x){
x = _local4.x;
};
if (y != _local4.y){
y = _local4.y;
};
}
public function isOffscreen():Boolean{
var _local1:Vector2;
_local1 = foldedCenter();
if (Math.abs((_local1.x - Controller.level.cameraFocus.x)) > 275){
return (true);
};
if (Math.abs((_local1.y - Controller.level.cameraFocus.y)) > 200){
return (true);
};
return (false);
}
public function dragTo(_arg1:Peg):void{
var _local2:Vector2;
var _local3:Vector2;
var _local4:Fold;
var _local5:Fold;
if (!_arg1){
return;
};
_local2 = foldedCenter();
_local3 = _arg1.foldedCenter();
if (((!((_arg1 == this))) && (_local2.subtract(_local3).lengthGreaterThan(10)))){
_local4 = Controller.level.addFold(_local2, _local3);
_local4.peg1 = this;
_local4.peg2 = _arg1;
};
if (_local2.subtract(_local3).lengthLessThan(5)){
_local5 = Controller.level.getLastFold();
if (((_local5) && (_local5.centerpoint.subtract(_local2).lengthLessThan(5)))){
Controller.level.unfoldOnce();
Controller.level.startDragPeg = _local5.peg1;
Controller.level.endDragPeg = _local5.peg2;
};
};
}
public function foldedCenter():Vector2{
return (Controller.level.getFoldedPoint(center));
}
override public function drawToBitmap(_arg1:BitmapData, _arg2:Matrix):void{
var _local3:Matrix;
_local3 = new Matrix();
_local3.translate(((gridX + 0.5) * Level.TILE_SIZE), ((gridY + 0.5) * Level.TILE_SIZE));
_local3.concat(_arg2);
_arg1.draw(this, _local3);
}
override public function create(_arg1:Number, _arg2:Number, _arg3:String):void{
var _local4:Number;
super.create(_arg1, _arg2, _arg3);
gridX = _arg1;
gridY = _arg2;
center = Vector2.fromTile((gridX + 0.5), (gridY + 0.5));
_local4 = 1;
while (_local4 < _arg3.length) {
if (_arg3.charAt(_local4) == "l"){
center.x = (center.x - (Level.TILE_SIZE / 4));
};
if (_arg3.charAt(_local4) == "r"){
center.x = (center.x + (Level.TILE_SIZE / 4));
};
if (_arg3.charAt(_local4) == "t"){
center.y = (center.y - (Level.TILE_SIZE / 4));
};
if (_arg3.charAt(_local4) == "b"){
center.y = (center.y + (Level.TILE_SIZE / 4));
};
_local4++;
};
x = center.x;
y = center.y;
Controller.pegLayer.addChild(this);
}
}
}//package com.nitrome.folding
Section 25
//Player (com.nitrome.folding.Player)
package com.nitrome.folding {
import flash.geom.*;
import flash.display.*;
import com.nitrome.util.*;
public class Player extends CircleObject {
public var facingRight:Boolean;// = true
public var timeInsideFold:Number;// = 0
public var :Number;// = 0
public var activeCheckpoint:CheckpointTile;// = null
public var :PlayerArm;
public var :PlayerArm;
public var
:Number;// = 0
public var restarting:Boolean;// = false
public var
:Boolean;// = false
public var
:Number;// = 0
public var
:Number;// = 0
public var
:Vector2;// = null
public var
:ExitTile;// = null
public function Player(){
facingRight = true;
= 0;
= 0;
= null;
activeCheckpoint = null;
restarting = false;
= 0;
= false;
= 0;
timeInsideFold = 0;
= null;
super();
addFrameScript(12, , 46,
, 59, , 64, , 82, , 116, , 129,
, 146,
, 180, , 193, , 221, , 268,
, 291,
, 319, , 323,
, 330, , 342, );
}
public function hasArmsAttached():Boolean{
return (((!(.outsidePlayer())) && (!( .outsidePlayer()))));
}
function
(){
NitromeGame.sound_manager.playSound("entry");
}
private function ():void{
.step();
.step();
Controller.playerTrailLayer.blendMode = BlendMode.HARDLIGHT;
Controller.playerTrailLayer.graphics.clear();
.drawLine();
.drawLine();
}
function (){
stop();
}
function (){
gotoAndPlay("stand2");
}
public function start():void{
worldPosition =
;
position = Controller.level.getFoldedPoint(
);
x = position.x;
y = position.y;
insideFold = null;
}
function (){
stop();
}
override public function advance():void{
var _local1:Number;
var _local2:Number;
var _local3:String;
var _local4:Number;
var _local5:Boolean;
var _local6:SolidTile;
var _local7:Vector2;
var _local8:Debris;
var _local9:Boolean;
var _local10:Debris;
var _local11:Number;
var _local12:Debris;
if (currentLabel == "entry"){
return;
};
if (
){
return;
};
if (insideFold){
timeInsideFold++;
if (timeInsideFold > 10){
insideFold.unfold();
};
return;
};
if (restarting){
_local6 = activeCheckpoint;
if (!_local6){
_local6 = Controller.level.entranceTile;
};
if (((!(Controller.level.animatingFold)) && (_local6.firstCutByFold))){
worldPosition = Controller.level.getUnfoldedPoint(position);
Controller.level.getLastFold().unfold();
};
if (Controller.level.animatingFold){
return;
};
_local7 = Controller.level.getFoldedPoint(());
if (
< 8){
++;
if (
>= 8){
NitromeGame.sound_manager.playSound("deathTransit");
};
} else {
if (_local7.subtract(position).multiply(0.25).lengthGreaterThan(40)){
position = position.add(_local7.subtract(position).normalized(40));
} else {
position = position.lerp(_local7, 0.25);
};
};
x = position.x;
y = position.y;
gotoAndStop("hit");
if ((Controller.frameNumber % 2) == 0){
_local8 = new HitPlayerTrail();
_local8.x = x;
_local8.y = y;
_local8.scaleX = scaleX;
_local8.transform.colorTransform = new ColorTransform(2, 2, 2, 1, -64, -64, -64);
_local8.blendMode = BlendMode.SCREEN;
Controller.playerLayer.addChildAt(_local8, 0);
};
if (position.subtract(_local7).lengthLessThan(1)){
restarting = false;
transform.colorTransform = new ColorTransform();
NitromeGame.sound_manager.playSound("deathArrive");
NitromeGame.sound_manager.stopSound("deathTransit");
};
return;
};
_local1 = 0;
if (((groundContact) && (groundContact.movingPlatform))){
_local1 = groundContact.movingPlatform.currentVelocity.x;
};
if (!crushed){
_local9 = ((((Key.isDown(Key.SPACE)) || (Key.isDown(Key.UP)))) || (Key.isDown(Key.W)));
if (!_local9){
= false;
};
if ((((((
< 3)) && (_local9))) && (!(
)))){
velocity.y = -16.5;
= true;
if (((groundContact) && (groundContact.movingPlatform))){
velocity.y = (velocity.y + (groundContact.movingPlatform.currentVelocity.y / 2));
position = position.add2(0, (groundContact.movingPlatform.currentVelocity.y - 1));
} else {
position = position.add2(0, -1);
};
if (groundContact){
_local10 = new jumpPuff();
_local10.x = groundContact.nearestPoint.x;
_local10.y = groundContact.nearestPoint.y;
_local10.rotation = (((Math.atan2(groundContact.surfaceNormal.y, groundContact.surfaceNormal.x) * 180) / Math.PI) - 90);
if (groundContact.movingPlatform){
_local10.velocityY = groundContact.movingPlatform.currentVelocity.y;
};
Controller.playerLayer.addChild(_local10);
};
NitromeGame.sound_manager.playSound("jump");
} else {
velocity.y = (velocity.y + 1.5);
if (velocity.y > 18){
velocity.y = 18;
};
};
if (((Key.isDown(Key.LEFT)) || (Key.isDown(Key.A)))){
velocity.x = Global.slide(velocity.x, (-10 + _local1), 1.7);
if (velocity.x < (_local1 - 0.1)){
facingRight = false;
};
} else {
if (((Key.isDown(Key.RIGHT)) || (Key.isDown(Key.D)))){
velocity.x = Global.slide(velocity.x, (10 + _local1), 1.7);
if (velocity.x > (_local1 + 0.1)){
facingRight = true;
};
} else {
velocity.x = Global.slide(velocity.x, _local1, (groundContact) ? 1.5 : 0.5);
};
};
};
if (groundContact){
= 0;
} else {
++;
};
if (Controller.level.startDragPeg){
.follow(Controller.level.startDragPeg.foldedCenter());
} else {
.retract();
};
if (Controller.level.endDragPeg){
.follow(Controller.level.endDragPeg.foldedCenter());
} else {
.retract();
};
();
_local2 = 2;
if (.outsidePlayer()){
_local2 = 1;
if ( .outsidePlayer()){
_local2 = 0;
};
};
_local3 = _local2.toString();
if (crushed){
gotoAndStop(("stuck" + _local3));
} else {
if (
< 3){
if (Math.abs((velocity.x - _local1)) < 0.5){
if (currentLabel != ("stand" + _local3)){
gotoAndPlay(("stand" + _local3));
};
= 0;
} else {
= (
+ ((velocity.x * 0.2) * (facingRight) ? 1 : -1));
while (
>= 20) {
= (
- 20);
};
while (
< 0) {
= (
+ 20);
};
gotoAndStop((Global.findLabel(this, ("walk" + _local3)).frame + Math.floor(
)));
};
} else {
if (velocity.y > 0){
if (currentLabel != ("fall" + _local3)){
gotoAndPlay(("fall" + _local3));
};
} else {
if (currentLabel != ("jump" + _local3)){
gotoAndPlay(("jump" + _local3));
};
};
};
};
if (((( > 0)) && (!(insideFold)))){
--;
_local11 = ([1, 0.5, 0, 0.5][( % 4)] * -128);
transform.colorTransform = new ColorTransform(1, 1, 1, 1, _local11, _local11, _local11);
} else {
if (transform.colorTransform.redOffset){
transform.colorTransform = new ColorTransform();
};
};
_local4 = (facingRight) ? 1 : -1;
if (scaleX != _local4){
scaleX = _local4;
};
_local5 = ((((!(groundContact)) && ((velocity.y > 1)))) && ((
> 2)));
super.advance();
if (((groundContact) && (_local5))){
_local12 = new landingImpact();
_local12.x = groundContact.nearestPoint.x;
_local12.y = groundContact.nearestPoint.y;
_local12.rotation = (((Math.atan2(groundContact.surfaceNormal.y, groundContact.surfaceNormal.x) * 180) / Math.PI) - 90);
if (groundContact.movingPlatform){
_local12.velocityY = groundContact.movingPlatform.currentVelocity.y;
};
Controller.playerLayer.addChild(_local12);
NitromeGame.sound_manager.playSound("land");
};
if (((((groundContact) && (groundContact.movingPlatform))) && ((groundContact.movingPlatform.currentVelocity.y < 0)))){
position = position.subtract(groundContact.nearestPoint).normalized(radius).add(groundContact.nearestPoint);
x = position.x;
y = position.y;
};
if (crushed){
hit(position);
};
if (position.y > Controller.level.pixelHeight()){
hit(null);
};
}
function
(){
stop();
}
private function ():Vector2{
if (activeCheckpoint){
return (Vector2.fromTile((activeCheckpoint.gridX + 1), activeCheckpoint.gridY).add2(0, -(radius)));
};
return (
);
}
function (){
stop();
}
function (){
stop();
}
override public function create(_arg1:Number, _arg2:Number, _arg3:String):void{
super.create(_arg1, _arg2, _arg3);
= new PlayerArm();
.number = 1;
= new PlayerArm();
.number = 2;
Controller.playerArmLayer.addChild();
Controller.playerLayer.addChild(this);
Controller.playerArmLayer.addChild( );
position = Vector2.fromTile((_arg1 + 1), (_arg2 + 0.5));
= position;
worldPosition = position;
radius = 14;
gotoAndPlay("entry");
}
public function isReadyToFold():Boolean{
return (((.atTarget) && ( .atTarget)));
}
public function exit(_arg1:ExitTile):void{
position = Controller.level.getFoldedPoint(Vector2.fromTile((_arg1.gridX + 1), _arg1.gridY)).subtract(new Vector2(0, radius));
velocity = new Vector2();
= _arg1;
gotoAndPlay("exit");
}
function (){
NitromeGame.sound_manager.playSound("entryAttachArm");
}
private function ():void{
.glow.visible = false;
}
function (){
gotoAndPlay("stand1");
}
function (){
NitromeGame.sound_manager.playSound("entryLand");
}
override public function advanceFolding():void{
super.advanceFolding();
if (((Controller.level.startDragPeg) && (Controller.level.endDragPeg))){
.setPosition(Controller.level.startDragPeg.foldedCenter());
.setPosition(Controller.level.endDragPeg.foldedCenter());
();
};
}
function (){
();
}
private function ():void{
stop();
Controller.level.completed();
}
function
(){
NitromeGame.sound_manager.playSound("entryAttachArm");
}
function (){
gotoAndStop("stand2");
}
function (){
stop();
}
public function hit(_arg1:Vector2, _arg2:Boolean=false):void{
var _local3:Debris;
if (restarting){
return;
};
restarting = true;
= 0;
transform.colorTransform = new ColorTransform(1, 1, 1, 1, 192, 192, 192);
velocity = new Vector2();
if (_arg1){
_local3 = new ((_arg2) ? HitImpactLaser : HitImpact);
_local3.x = _arg1.x;
_local3.y = _arg1.y;
Controller.frontLayer.addChild(_local3);
};
NitromeGame.sound_manager.playSound("explosion");
}
function
(){
stop();
}
function
(){
gotoAndPlay("stand0");
}
function
(){
();
}
override public function destroy():void{
super.destroy();
if (.parent){
.parent.removeChild();
};
if ( .parent){
.parent.removeChild( );
};
}
}
}//package com.nitrome.folding
Section 26
//PlayerArm (com.nitrome.folding.PlayerArm)
package com.nitrome.folding {
import flash.display.*;
public class PlayerArm extends MovieClip {
public var :Array;
public var :Boolean;// = true
private var position:Vector2;// = null
public var :Number;// = 0
public var number:Number;// = 1
public var atTarget:Boolean;// = false
public var :Number;// = 0
public function PlayerArm(){
number = 1;
position = null;
atTarget = false;
= 0;
= 0;
= true;
= [];
super();
addFrameScript(8, frame9, 22,
);
visible = false;
}
public function retract():void{
var _local1:Boolean;
if (!position){
return;
};
follow( (), true);
atTarget = false;
if ( ().subtract(position).lengthLessThan(100)){
if (currentLabel == "loop"){
gotoAndPlay("dieDown");
};
if (! ){
= 8;
};
};
_local1 = false;
if ( > 0){
if (-- < 1){
_local1 = true;
};
};
if ((( ().subtract(position).lengthLessThan(2)) || (_local1))){
position = null;
= 0;
rotation = 180;
visible = false;
} else {
x = position.x;
y = position.y;
};
}
public function drawLine():void{
var _local1:Graphics;
var _local2:Boolean;
var _local3:Number;
_local1 = Controller.playerTrailLayer.graphics;
_local2 = true;
_local3 = 0;
while (_local3 < .length) {
if ([_local3] == null){
_local2 = true;
} else {
if (_local2){
_local1.moveTo([_local3].x, [_local3].y);
_local2 = false;
} else {
_local1.lineStyle(8, 14111487, (_local3 / 10), false, "normal", CapsStyle.NONE);
_local1.lineTo([_local3].x, [_local3].y);
};
};
_local3++;
};
}
function
(){
stop();
}
function frame9(){
gotoAndPlay("loop");
}
public function follow(_arg1:Vector2, _arg2:Boolean=false):void{
var _local3:Vector2;
var _local4:Vector2;
var _local5:Number;
var _local6:Debris;
var _local7:Vector2;
if (!position){
position = ();
visible = true;
_local6 = new fireArmExplosion();
_local6.x = position.x;
_local6.y = position.y;
Controller.playerLayer.addChild(_local6);
gotoAndPlay("loop");
};
if (_arg2){
if (!){
= 0;
NitromeGame.sound_manager.playSound("armsReturn");
};
} else {
= 0;
if (currentLabel != "loop"){
gotoAndPlay("loop");
};
if (){
= 0;
NitromeGame.sound_manager.playSound("armsShoot");
};
};
= _arg2;
_local3 = _arg1.subtract(position);
if (_local3.lengthLessThan(1)){
if (!atTarget){
atTarget = true;
};
= 0;
return;
} else {
= ( + 3);
_local7 = _local3.multiply(0.5);
if (_local7.lengthGreaterThan()){
_local7.normalize();
};
position = position.add(_local7);
atTarget = false;
};
x = position.x;
y = position.y;
_local4 = _local3.inverse();
_local5 = (((_local4.atan2() * 180) / Math.PI) - 90);
rotation = _local5;
}
public function setPosition(_arg1:Vector2):void{
position = _arg1.copy();
x = position.x;
y = position.y;
}
public function step():void{
.push(position);
if (.length > 10){
= .slice((.length - 10));
};
}
public function ():Vector2{
var _local1:Number;
_local1 = (((number == 2))!=Controller.level.player.facingRight) ? 11 : -11;
return (Controller.level.player.position.add(new Vector2(_local1, 7)));
}
public function outsidePlayer():Boolean{
return (Boolean(position));
}
}
}//package com.nitrome.folding
Section 27
//ProximityLaserTile (com.nitrome.folding.ProximityLaserTile)
package com.nitrome.folding {
import flash.display.*;
import com.nitrome.util.*;
public class ProximityLaserTile extends SolidTile {
public var :Number;// = 0
public var :Array;
public static const MIN_DISTANCE:Number = 250;
public static var ballBitmaps:Array;
public function ProximityLaserTile(){
= [];
= 0;
super();
}
override public function create(_arg1:Number, _arg2:Number, _arg3:String):void{
var _local4:MovieClip;
var _local5:Number;
super.create(_arg1, _arg2, _arg3);
sendAdvance = true;
animated = true;
if (!ballBitmaps){
_local4 = new ProxLaserBall();
ballBitmaps = [];
_local5 = 1;
while (_local5 <= _local4.totalFrames) {
_local4.gotoAndStop(_local5);
ballBitmaps[_local5] = Global.bitmapFromSprite(_local4);
_local5++;
};
};
}
private function (_arg1:CircleObject):Vector2{
var _local2:Number;
var _local3:Vector2;
var _local4:Vector2;
var _local5:Vector2;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Vector2;
var _local10:Vector2;
_local2 = 0;
while (_local2 < ) {
_local3 = Controller.level.getFoldedPoint(Vector2.fromTile((gridX + 0.5), (gridY + 0.5)));
_local4 = [_local2].target.foldedCenter();
_local5 = _local4.subtract(_local3).normalized();
_local6 = _local5.dot(_local3);
_local7 = _local5.dot(_local4);
_local8 = _local5.dot(_arg1.position);
if (_local8 < _local6){
_local8 = _local6;
};
if (_local8 > _local7){
_local8 = _local7;
};
_local9 = _local3.add(_local5.multiply((_local8 - _local6)));
if (_arg1.position.subtract(_local9).lengthLessThan((_arg1.radius + 8))){
_local10 = _local5.project(_arg1.position.subtract(_local3)).add(_local3);
return (_local10);
};
_local2++;
};
return (null);
}
public function drawConnections():void{
var _local1:Number;
_local1 = 0;
while (_local1 < .length) {
if ([_local1].target){
[_local1].draw();
};
_local1++;
};
}
override public function advance():void{
var _local1:Vector2;
var _local2:Number;
var _local3:Tile;
var _local4:Number;
var _local5:Number;
var _local6:Vector2;
var _local7:Vector2;
var _local8:ProximityLaserBeam;
var _local9:Vector2;
super.advance();
= 0;
_local1 = Controller.level.getFoldedPoint(Vector2.fromTile((gridX + 0.5), (gridY + 0.5)));
if (Controller.level.hitTestFolded(_local1) == this){
_local2 = 0;
while (_local2 < (Controller.level.gridWidth * Controller.level.gridHeight)) {
_local3 = Controller.level.solidTileGrid[_local2];
if (((!(_local3)) || (!((_local3 is ProximityLaserTile))))){
} else {
if (_local3 == this){
} else {
_local4 = (_local2 % Controller.level.gridWidth);
_local5 = int((_local2 / Controller.level.gridWidth));
_local6 = Controller.level.getFoldedPoint(Vector2.fromTile((_local4 + 0.5), (_local5 + 0.5)));
if (Controller.level.hitTestFolded(_local6) != _local3){
} else {
_local7 = _local6.subtract(_local1);
if (_local7.lengthGreaterThan(MIN_DISTANCE)){
} else {
_local8 = ((_local3 as ProximityLaserTile));
};
};
};
};
_local2++;
};
};
if ( > 0){
play();
} else {
gotoAndStop("f4");
};
if (!Controller.level.player.restarting){
_local9 = (Controller.level.player);
if (_local9){
Controller.level.player.hit(_local9, true);
};
};
_local2 = ;
while (_local2 < .length) {
[_local2].target = null;
_local2++;
};
}
private function (_arg1:ProximityLaserTile):ProximityLaserBeam{
var _local2:ProximityLaserBeam;
_local2 = [];
if (!_local2){
_local2 = new ProximityLaserBeam();
.push(_local2);
};
[].source = this;
[].target = _arg1;
++;
return (_local2);
}
public function foldedCenter():Vector2{
return (Controller.level.getFoldedPoint(Vector2.fromTile((gridX + 0.5), (gridY + 0.5))));
}
}
}//package com.nitrome.folding
import flash.display.*;
class ProximityLaserBeam {
public var target:ProximityLaserTile;
public var source:ProximityLaserTile;
private function ProximityLaserBeam(){
}
public function draw():void{
var _local1:BitmapData;
var _local2:BitmapData;
var _local3:Vector2;
var _local4:Vector2;
var _local5:Vector2;
var _local6:Number;
var _local7:Vector2;
var _local8:Number;
_local1 = Controller.level.tileRenderer.masterBitmapData;
_local2 = ProximityLaserTile.ballBitmaps[1];
_local3 = Vector2.fromTile(-(Controller.level.tileRenderer.startFromGridX), -(Controller.level.tileRenderer.startFromGridY)).subtract2(11, 11);
_local4 = source.foldedCenter();
_local5 = target.foldedCenter();
if (_local5.x < _local4.x){
return;
};
if ((((_local5.x == _local4.x)) && ((_local5.y < _local4.y)))){
return;
};
_local6 = _local4.subtract(_local5).length();
_local7 = _local5.subtract(_local4).multiply((1 / _local6));
_local8 = ((Controller.frameNumber % 5) * 6);
while (_local8 < _local6) {
_local1.copyPixels(_local2, _local2.rect, _local4.add(_local7.multiply(_local8)).add(_local3).toPoint(), null, null, true);
_local8 = (_local8 + 30);
};
}
}
Section 28
//ResetButtonTile (com.nitrome.folding.ResetButtonTile)
package com.nitrome.folding {
public class ResetButtonTile extends SolidTile {
public var active:Boolean;// = false
public function ResetButtonTile(){
active = false;
super();
}
override public function create(_arg1:Number, _arg2:Number, _arg3:String):void{
super.create(_arg1, _arg2, _arg3);
sendContact = true;
sendAdvance = true;
}
override public function contact(_arg1:CircleObject, _arg2:Collision):void{
super.contact(_arg1, _arg2);
if (_arg2.surfaceNormal.y > 0){
if (Controller.level.getUnfoldedPoint(_arg2.nearestPoint).y < ((gridY * Level.TILE_SIZE) + 4)){
active = true;
};
};
}
override public function advance():void{
var _local1:Fold;
var _local2:Boolean;
var _local3:Debris;
super.advance();
_local1 = Controller.level.getLastFold();
_local2 = ((_local1) && (!(_local1.permanent)));
if (active){
if (currentLabel != "pressed"){
gotoAndStop("pressed");
Controller.level.tileRenderer.redrawTilesNextFrame = true;
if (_local2){
_local3 = new ResetFlare();
_local3.followTile = true;
_local3.followGridX = gridX;
_local3.followGridY = gridY;
_local3.advance(null);
Controller.frontLayer.addChild(_local3);
};
};
if (!Controller.level.animatingFold){
if (_local2){
Controller.level.unfoldOnce();
} else {
active = false;
};
};
} else {
if (currentLabel != "normal"){
gotoAndPlay("normal");
Controller.level.tileRenderer.redrawTilesNextFrame = true;
};
};
}
}
}//package com.nitrome.folding
Section 29
//RoomNumberTile (com.nitrome.folding.RoomNumberTile)
package com.nitrome.folding {
import flash.geom.*;
import flash.display.*;
public class RoomNumberTile extends SolidTile {
override public function create(_arg1:Number, _arg2:Number, _arg3:String):void{
var _local4:Number;
var _local5:MovieClip;
var _local6:BitmapData;
super.create(_arg1, _arg2, _arg3);
_local4 = Controller.loadedLevelNumber;
_local5 = new RoomNumberTileNumber();
_local6 = bitmapData();
_local5.gotoAndStop((1 + int((_local4 / 10))));
_local6.draw(_local5, new Matrix(1, 0, 0, 1, 5, 11));
_local5.gotoAndStop((1 + (_local4 % 10)));
_local6.draw(_local5, new Matrix(1, 0, 0, 1, 16, 11));
}
}
}//package com.nitrome.folding
Section 30
//SolidTile (com.nitrome.folding.SolidTile)
package com.nitrome.folding {
import flash.geom.*;
import flash.display.*;
public class SolidTile extends Tile {
public var firstCutByFold:Fold;// = null
public var singleSquareBeforeFolding:Boolean;
public var calculatedPolygons:Boolean;
public var
:Boolean;// = false
public var singleSquare:Boolean;
public var animated:Boolean;// = false
public var defaultPolygon:ConvexPolygon;
public var sendAdvance:Boolean;// = false
public var cutLines:Array;// = null
public var foldedPolygons:Array;
public static var tileBitmapData:Object = {};
public function SolidTile(){
sendAdvance = false;
animated = false;
= false;
cutLines = null;
firstCutByFold = null;
super();
}
public function createFoldedPolygons():void{
var _local1:*;
if (Controller.level.folds.length == 0){
foldedPolygons = [defaultPolygon];
singleSquare = true;
cutLines = null;
firstCutByFold = null;
} else {
_local1 = defaultPolygon.changedAfterFolds();
if ((_local1 is Array)){
foldedPolygons = _local1;
singleSquare = false;
cutLines = ();
firstCutByFold = defaultPolygon.cutByFold;
} else {
foldedPolygons = [_local1];
singleSquare = true;
cutLines = null;
firstCutByFold = null;
};
};
calculatedPolygons = true;
();
}
public function drawAnimated():void{
var _local1:TileRenderer;
var _local2:BitmapData;
var _local3:BitmapData;
var _local4:Vector2;
var _local5:Matrix;
var _local6:Number;
if (!calculatedPolygons){
return;
};
_local1 = Controller.level.tileRenderer;
_local2 = _local1.tileBitmapData;
if (!_local2){
_local2 = _local1.masterBitmapData;
};
_local3 = bitmapData();
if (singleSquare){
_local4 = foldedPolygons[0].blitPosition.copy();
foldedPolygons[0].blitPosition.copy().x = (_local4.x - (_local1.startFromGridX * Level.TILE_SIZE));
_local4.y = (_local4.y - (_local1.startFromGridY * Level.TILE_SIZE));
if ((((((((_local4.x > 0)) && ((_local4.x < (550 + (TileRenderer.EDGE_PADDING * 2)))))) && ((_local4.y > 0)))) && ((_local4.y < (400 + (TileRenderer.EDGE_PADDING * 2)))))){
_local2.copyPixels(_local3, _local3.rect, _local4.toPoint());
};
} else {
_local5 = new Matrix();
_local5.translate((-(_local1.startFromGridX) * Level.TILE_SIZE), (-(_local1.startFromGridY) * Level.TILE_SIZE));
_local6 = 0;
while (_local6 < foldedPolygons.length) {
foldedPolygons[_local6].clearCache();
foldedPolygons[_local6].drawToBitmap(_local2, bitmapData(), _local5, null, null,
);
_local6++;
};
};
}
public function advance():void{
}
private function ():Array{
var _local1:Array;
var _local2:Number;
var _local3:ConvexPolygon;
var _local4:Number;
var _local5:Number;
_local1 = [];
_local2 = 0;
while (_local2 < foldedPolygons.length) {
_local3 = foldedPolygons[_local2];
_local4 = 0;
while (_local4 < _local3.vertices.length) {
if (_local3.cutLines[_local4]){
_local5 = ((_local4 + 1) % _local3.vertices.length);
_local1.push(_local3.vertices[_local4]);
_local1.push(_local3.vertices[_local5]);
};
_local4++;
};
_local2++;
};
return (_local1);
}
private function ():void{
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Boolean;
var _local8:Number;
_local1 = 0;
while (_local1 < foldedPolygons.length) {
_local2 = foldedPolygons[_local1].vertices[0].x;
_local3 = foldedPolygons[_local1].vertices[0].y;
_local4 = Math.floor((_local2 / Level.TILE_SIZE));
_local5 = Math.floor((_local3 / Level.TILE_SIZE));
if (_local4 < 0){
_local4 = 0;
};
if (_local4 >= Controller.level.gridWidth){
_local4 = (Controller.level.gridWidth - 1);
};
if (_local5 < 0){
_local5 = 0;
};
if (_local5 >= Controller.level.gridHeight){
_local5 = (Controller.level.gridHeight - 1);
};
_local6 = (_local4 + (_local5 * Controller.level.gridWidth));
if (!Controller.level.tileGraphicGrid[_local6]){
Controller.level.tileGraphicGrid[_local6] = [this];
} else {
_local7 = false;
_local8 = 0;
while (_local8 < Controller.level.tileGraphicGrid[_local6].length) {
if (Controller.level.tileGraphicGrid[_local6][_local8] == this){
_local7 = true;
break;
};
_local8++;
};
if (!_local7){
Controller.level.tileGraphicGrid[_local6].push(this);
};
};
_local1++;
};
}
public function bitmapData():BitmapData{
if ((tileBitmapData[tileType] is BitmapData)){
return (tileBitmapData[tileType]);
};
return (tileBitmapData[tileType][currentLabel]);
}
override public function drawToBitmap(_arg1:BitmapData, _arg2:Matrix):void{
var _local3:BitmapData;
var _local4:Matrix;
_local3 = bitmapData();
_local4 = this.transform.matrix.clone();
_local4.concat(_arg2);
_arg1.copyPixels(_local3, _local3.rect, new Point(_local4.tx, _local4.ty));
}
override public function create(_arg1:Number, _arg2:Number, _arg3:String):void{
var _local4:Number;
var _local5:Number;
var _local6:Number;
super.create(_arg1, _arg2, _arg3);
singleSquareBeforeFolding = false;
if (_arg3 == "45fd"){
defaultPolygon = ConvexPolygon.triangle(Vector2.fromTile(_arg1, _arg2), Vector2.fromTile((_arg1 + 1), (_arg2 + 1)), Vector2.fromTile(_arg1, (_arg2 + 1)));
} else {
if (_arg3 == "45fu"){
defaultPolygon = ConvexPolygon.triangle(Vector2.fromTile((_arg1 + 1), _arg2), Vector2.fromTile((_arg1 + 1), (_arg2 + 1)), Vector2.fromTile(_arg1, (_arg2 + 1)));
} else {
if (_arg3 == "45cd"){
defaultPolygon = ConvexPolygon.triangle(Vector2.fromTile(_arg1, _arg2), Vector2.fromTile((_arg1 + 1), _arg2), Vector2.fromTile((_arg1 + 1), (_arg2 + 1)));
} else {
if (_arg3 == "45cu"){
defaultPolygon = ConvexPolygon.triangle(Vector2.fromTile(_arg1, _arg2), Vector2.fromTile((_arg1 + 1), _arg2), Vector2.fromTile(_arg1, (_arg2 + 1)));
} else {
if ((((((_arg3 == "entrance")) || ((_arg3 == "exit")))) || ((_arg3 == "checkpoint")))){
defaultPolygon = ConvexPolygon.rectangle(Vector2.fromTile(_arg1, _arg2), Vector2.fromTile((_arg1 + 2), (_arg2 + 1)));
defaultPolygon.offsetPosition = Vector2.fromTile(_arg1, _arg2);
} else {
defaultPolygon = ConvexPolygon.rectangle(Vector2.fromTile(_arg1, _arg2), Vector2.fromTile((_arg1 + 1), (_arg2 + 1)));
singleSquareBeforeFolding = true;
};
};
};
};
};
defaultPolygon.blitPosition = Vector2.fromTile(_arg1, _arg2);
foldedPolygons = [defaultPolygon];
calculatedPolygons = true;
singleSquare = true;
();
_local4 = Level.TILE_SIZE;
_local5 = Level.TILE_SIZE;
if ((((((_arg3 == "entrance")) || ((_arg3 == "exit")))) || ((_arg3 == "checkpoint")))){
_local4 = (_local4 * 2);
};
if (!tileBitmapData[_arg3]){
if (currentLabels.length > 1){
tileBitmapData[_arg3] = {};
_local6 = 0;
while (_local6 < currentLabels.length) {
gotoAndStop(currentLabels[_local6].frame);
tileBitmapData[_arg3][currentLabels[_local6].name] = new BitmapData(_local4, _local5, true, 0);
tileBitmapData[_arg3][currentLabels[_local6].name].draw(this);
_local6++;
};
gotoAndPlay(1);
sendAdvance = true;
} else {
tileBitmapData[_arg3] = new BitmapData(_local4, _local5, true, 0);
tileBitmapData[_arg3].draw(this);
};
} else {
if (!(tileBitmapData[_arg3] is BitmapData)){
sendAdvance = true;
};
};
if (_arg3 == "fan"){
animated = true;
};
if (_arg3 == "fan_dark"){
animated = true;
};
if (_arg3 == "entrance"){
animated = true;
};
if (_arg3 == "harmful"){
= true;
};
}
}
}//package com.nitrome.folding
Section 31
//Tile (com.nitrome.folding.Tile)
package com.nitrome.folding {
import flash.geom.*;
import flash.display.*;
public class Tile extends MovieClip {
public var tileType:String;
public var sendPause:Boolean;// = false
public var sendContact:Boolean;// = false
public var gridX:Number;
public var gridY:Number;
public function Tile(){
sendContact = false;
sendPause = false;
super();
}
public function destroy():void{
if (parent){
parent.removeChild(this);
};
}
public function unpause():void{
}
public function create(_arg1:Number, _arg2:Number, _arg3:String):void{
gridX = _arg1;
gridY = _arg2;
tileType = _arg3;
x = (_arg1 * Level.TILE_SIZE);
y = (_arg2 * Level.TILE_SIZE);
}
public function contact(_arg1:CircleObject, _arg2:Collision):void{
}
override public function toString():String{
return (((((("[" + gridX) + ", ") + gridY) + "]: ") + super.toString()));
}
public function drawToBitmap(_arg1:BitmapData, _arg2:Matrix):void{
var _local3:Matrix;
_local3 = this.transform.matrix.clone();
_local3.concat(_arg2);
_arg1.draw(this, _local3);
}
public function pause():void{
}
}
}//package com.nitrome.folding
Section 32
//TileRenderer (com.nitrome.folding.TileRenderer)
package com.nitrome.folding {
import flash.geom.*;
import flash.display.*;
public class TileRenderer extends Sprite {
public var startFromGridX:Number;
public var startFromGridY:Number;
public var redrawTilesNextFrame:Boolean;// = false
public var :Bitmap;
public var :Bitmap;
public var :BitmapData;
public var masterBitmapData:BitmapData;
public var :BitmapData;
public var tileBitmapData:BitmapData;
public static const BITMAP_WIDTH:Number = (550 + (EDGE_PADDING * 2));
public static const BITMAP_HEIGHT:Number = (400 + (EDGE_PADDING * 2));
public static const EDGE_PADDING:Number = 200;
public function TileRenderer(){
redrawTilesNextFrame = false;
super();
}
public function create():void{
var _local1:Boolean;
var _local2:Number;
masterBitmapData = new BitmapData(BITMAP_WIDTH, BITMAP_HEIGHT, true, 0);
addChild(( = new Bitmap(masterBitmapData)));
_local1 = false;
_local2 = 0;
while (_local2 < Controller.level.activeObjects.length) {
if ((Controller.level.activeObjects[_local2] is MovingPlatform)){
_local1 = true;
break;
};
_local2++;
};
tileBitmapData = new BitmapData(BITMAP_WIDTH, BITMAP_HEIGHT, true, 0);
= new BitmapData(BITMAP_WIDTH, BITMAP_HEIGHT, true, 0);
= new BitmapData(BITMAP_WIDTH, BITMAP_HEIGHT, true, 0);
= new Bitmap();
.blendMode = BlendMode.LIGHTEN;
addChild();
Controller.tileLayer.addChild(this);
}
private function ():void{
var _local1:Matrix;
var _local2:BitmapData;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Number;
var _local10:Rectangle;
var _local11:Sprite;
var _local12:Sprite;
var _local13:Number;
var _local14:Fold;
var _local15:Number;
var _local16:SolidTile;
var _local17:Array;
var _local18:Number;
var _local19:Number;
var _local20:Vector2;
var _local21:Number;
var _local22:EdgeBox;
var _local23:Number;
_local1 = new Matrix();
_local1.translate((-(startFromGridX) * Level.TILE_SIZE), (-(startFromGridY) * Level.TILE_SIZE));
_local2 = tileBitmapData;
if (!_local2){
_local2 = masterBitmapData;
};
_local2.fillRect(_local2.rect, 0);
_local3 = Level.TILE_SIZE;
_local4 = Level.TILE_SIZE;
_local18 = 0;
while (_local18 < Controller.level.folds.length) {
_local14 = Controller.level.folds[_local18];
_local3 = (_local3 + Math.abs((_local14.unitVectorAcross.x * _local14.halfDistance)));
_local3 = (Math.ceil((_local3 / Level.TILE_SIZE)) * Level.TILE_SIZE);
_local4 = (_local4 + Math.abs((_local14.unitVectorAcross.y * _local14.halfDistance)));
_local4 = (Math.ceil((_local4 / Level.TILE_SIZE)) * Level.TILE_SIZE);
_local18++;
};
if (Controller.level.animatingFold){
_local3 = (_local3 + EDGE_PADDING);
_local4 = (_local4 + EDGE_PADDING);
};
_local5 = Math.floor((((Controller.level.cameraFocus.x - 275) - _local3) / Level.TILE_SIZE));
_local6 = Math.floor((((Controller.level.cameraFocus.y - 200) - _local4) / Level.TILE_SIZE));
_local7 = Math.ceil((((Controller.level.cameraFocus.x + 275) + _local3) / Level.TILE_SIZE));
_local8 = Math.ceil((((Controller.level.cameraFocus.y + 200) + _local4) / Level.TILE_SIZE));
_local9 = _local5;
while (_local9 <= _local7) {
_local15 = _local6;
while (_local15 <= _local8) {
_local16 = (Controller.level.getTile(_local9, _local15) as SolidTile);
if (!_local16){
} else {
if (!_local16.calculatedPolygons){
_local16.createFoldedPolygons();
};
};
_local15++;
};
_local9++;
};
_local10 = null;
if (!Controller.level.animatingFold){
_local10 = new Rectangle(EDGE_PADDING, EDGE_PADDING, 550, 400);
_local10.inflate(Level.TILE_SIZE, Level.TILE_SIZE);
};
if (Controller.level.folds.length > 0){
_local11 = new Sprite();
_local11.graphics.lineStyle(2, 0xFFFFFF);
_local12 = new Sprite();
_local12.graphics.lineStyle(6, 0xFF00FF);
};
_local4 = (Level.TILE_SIZE * 2);
_local3 = _local4;
if (Controller.level.animatingFold){
_local3 = (_local3 + EDGE_PADDING);
_local4 = (_local4 + EDGE_PADDING);
};
_local5 = Math.floor((((Controller.level.cameraFocus.x - 275) - _local3) / Level.TILE_SIZE));
_local6 = Math.floor((((Controller.level.cameraFocus.y - 200) - _local4) / Level.TILE_SIZE));
_local7 = Math.floor((((Controller.level.cameraFocus.x + 275) + _local3) / Level.TILE_SIZE));
_local8 = Math.floor((((Controller.level.cameraFocus.y + 200) + _local4) / Level.TILE_SIZE));
_local9 = _local5;
while (_local9 <= _local7) {
_local15 = _local6;
while (_local15 <= _local8) {
_local17 = Controller.level.tileGraphicGrid[(_local9 + (_local15 * Controller.level.gridWidth))];
if (!_local17){
} else {
_local18 = 0;
while (_local18 < _local17.length) {
_local16 = _local17[_local18];
if (!_local16){
} else {
if (!_local16.visible){
} else {
if (_local16.foldedPolygons.length < 1){
} else {
if (_local16.singleSquare){
_local20 = _local16.foldedPolygons[0].blitPosition.copy();
_local16.foldedPolygons[0].blitPosition.copy().x = (_local20.x - (startFromGridX * Level.TILE_SIZE));
_local20.y = (_local20.y - (startFromGridY * Level.TILE_SIZE));
_local2.copyPixels(_local16.bitmapData(), _local16.bitmapData().rect, _local20.toPoint());
} else {
_local19 = 0;
while (_local19 < _local16.foldedPolygons.length) {
_local16.foldedPolygons[_local19].drawToBitmap(_local2, _local16.bitmapData(), _local1, null, _local10);
_local19++;
};
if (_local16.cutLines){
_local21 = 0;
while (_local21 < _local16.cutLines.length) {
_local11.graphics.moveTo(_local16.cutLines[_local21].x, _local16.cutLines[_local21].y);
_local11.graphics.lineTo(_local16.cutLines[(_local21 + 1)].x, _local16.cutLines[(_local21 + 1)].y);
_local12.graphics.moveTo(_local16.cutLines[_local21].x, _local16.cutLines[_local21].y);
_local12.graphics.lineTo(_local16.cutLines[(_local21 + 1)].x, _local16.cutLines[(_local21 + 1)].y);
_local21 = (_local21 + 2);
};
};
};
};
};
};
_local18++;
};
};
_local15++;
};
_local9++;
};
_local13 = 0;
while (_local13 < Controller.level.edgeBoxes.length) {
_local22 = Controller.level.edgeBoxes[_local13];
_local19 = 0;
while (_local19 < _local22.foldedPolygons.length) {
_local22.foldedPolygons[_local19].drawColourToBitmap(_local2, 3948337, _local1, null, _local10);
_local21 = 0;
while (_local21 < _local22.foldedPolygons[_local19].cutLines.length) {
if (!_local22.foldedPolygons[_local19].cutLines[_local21]){
} else {
_local23 = ((_local21 + 1) % _local22.foldedPolygons[_local19].vertices.length);
_local11.graphics.moveTo(_local22.foldedPolygons[_local19].vertices[_local21].x, _local22.foldedPolygons[_local19].vertices[_local21].y);
_local11.graphics.lineTo(_local22.foldedPolygons[_local19].vertices[_local23].x, _local22.foldedPolygons[_local19].vertices[_local23].y);
_local12.graphics.moveTo(_local22.foldedPolygons[_local19].vertices[_local21].x, _local22.foldedPolygons[_local19].vertices[_local21].y);
_local12.graphics.lineTo(_local22.foldedPolygons[_local19].vertices[_local23].x, _local22.foldedPolygons[_local19].vertices[_local23].y);
};
_local21++;
};
_local19++;
};
_local13++;
};
if (Controller.level.folds.length == 0){
if (.visible){
.visible = false;
};
} else {
if (Controller.level.animatingFold){
_local2.draw(_local12, _local1, null, BlendMode.LIGHTEN);
_local2.draw(_local11, _local1);
if (.visible){
.visible = false;
};
} else {
.fillRect(.rect, 0);
.draw(_local12, _local1);
.draw(_local11, _local1);
if (!.visible){
.visible = true;
};
};
};
}
private function ():void{
var _local1:Number;
var _local2:SolidTile;
_local1 = 0;
while (_local1 < (Controller.level.gridWidth * Controller.level.gridHeight)) {
_local2 = (Controller.level.solidTileGrid[_local1] as SolidTile);
if (!_local2){
} else {
if (!_local2.animated){
} else {
_local2.drawAnimated();
};
};
_local1++;
};
}
public function advance(_arg1:Boolean):void{
var _local2:Number;
var _local3:Number;
_local2 = Math.floor((((Controller.level.cameraFocus.x - 275) - EDGE_PADDING) / Level.TILE_SIZE));
_local3 = Math.floor((((Controller.level.cameraFocus.y - 200) - EDGE_PADDING) / Level.TILE_SIZE));
x = (_local2 * Level.TILE_SIZE);
y = (_local3 * Level.TILE_SIZE);
if (redrawTilesNextFrame){
_arg1 = true;
redrawTilesNextFrame = false;
};
if (((((_arg1) || (!((_local2 == startFromGridX))))) || (!((_local3 == startFromGridY))))){
startFromGridX = _local2;
startFromGridY = _local3;
();
} else {
();
};
();
if (Controller.level.animatingFold){
();
};
();
}
private function ():void{
var _local1:Matrix;
var _local2:Sprite;
var _local3:Sprite;
var _local4:Boolean;
var _local5:Number;
var _local6:MovingPlatform;
var _local7:Array;
var _local8:Number;
var _local9:Number;
var _local10:Number;
var _local11:Matrix;
var _local12:Peg;
var _local13:Vector2;
var _local14:Number;
var _local15:Matrix;
if (!tileBitmapData){
return;
};
masterBitmapData.fillRect(masterBitmapData.rect, 0);
_local1 = new Matrix();
_local1.translate((-(startFromGridX) * Level.TILE_SIZE), (-(startFromGridY) * Level.TILE_SIZE));
_local2 = new Sprite();
_local3 = new Sprite();
_local4 = false;
_local2.graphics.lineStyle(6, 0xFF00FF);
_local3.graphics.lineStyle(2, 0xFFFFFF);
_local5 = 0;
while (_local5 < Controller.level.activeObjects.length) {
_local6 = (Controller.level.activeObjects[_local5] as MovingPlatform);
if (!_local6){
} else {
_local7 = _local6.getVisualPolygons();
_local8 = 0;
while (_local8 < _local7.length) {
_local7[_local8].drawToBitmap(masterBitmapData, _local6.bitmapData, _local1, _local6.currentPosition);
_local8++;
};
_local7 = _local6.getPolygons();
_local8 = 0;
while (_local8 < _local7.length) {
_local9 = 0;
while (_local9 < _local7[_local8].vertices.length) {
if (!_local7[_local8].cutLines[_local9]){
} else {
_local10 = ((_local9 + 1) % _local7[_local8].vertices.length);
_local2.graphics.moveTo(_local7[_local8].vertices[_local9].x, _local7[_local8].vertices[_local9].y);
_local2.graphics.lineTo(_local7[_local8].vertices[_local10].x, _local7[_local8].vertices[_local10].y);
_local3.graphics.moveTo(_local7[_local8].vertices[_local9].x, _local7[_local8].vertices[_local9].y);
_local3.graphics.lineTo(_local7[_local8].vertices[_local10].x, _local7[_local8].vertices[_local10].y);
_local4 = true;
};
_local9++;
};
_local8++;
};
};
_local5++;
};
masterBitmapData.copyPixels(tileBitmapData, tileBitmapData.rect, new Point(), null, null, true);
if (_local4){
masterBitmapData.draw(_local2, _local1, null, BlendMode.LIGHTEN);
masterBitmapData.draw(_local3, _local1);
};
if (Controller.level.animatingFold){
if (Controller.level.player.insideFold == Controller.level.animatingFold){
_local11 = Controller.level.player.transform.matrix.clone();
_local11.concat(_local1);
masterBitmapData.draw(Controller.level.player, _local11);
};
_local5 = 0;
while (_local5 < Controller.level.pegList.length) {
_local12 = Controller.level.pegList[_local5];
if (_local12.insideFold == Controller.level.animatingFold){
_local13 = _local12.center;
_local14 = 0;
while (_local14 < Controller.level.folds.length) {
if (Controller.level.animatingFold == Controller.level.folds[_local14]){
break;
};
_local13 = Controller.level.folds[_local14].foldPoint(_local13);
_local14++;
};
_local15 = new Matrix();
_local15.translate(_local13.x, _local13.y);
_local15.concat(_local1);
masterBitmapData.draw(_local12, _local15);
};
_local5++;
};
};
}
private function ():void{
var _local1:Vector2;
var _local2:Fold;
var _local3:BitmapData;
var _local4:BitmapData;
var _local5:Vector2;
var _local6:Vector2;
var _local7:Vector2;
var _local8:Rectangle;
var _local9:Vector2;
var _local10:Vector2;
var _local11:Vector2;
var _local12:Vector2;
var _local13:Sprite;
var _local14:Sprite;
var _local15:Number;
var _local16:ColorTransform;
var _local17:Number;
var _local18:Matrix;
var _local19:Matrix;
var _local20:Vector2;
_local1 = Vector2.fromTile(-(startFromGridX), -(startFromGridY));
_local2 = Controller.level.animatingFold;
_local3 = masterBitmapData;
_local4 = ;
= _local3;
masterBitmapData = _local4;
.bitmapData = masterBitmapData;
_local4.fillRect(_local4.rect, 0);
_local5 = (_local2.point1, _local2.unitVectorAlong);
_local6 = (_local2.point2, _local2.unitVectorAlong);
_local7 = _local5.lerp(_local6, 0.5);
if (Math.abs(_local7.subtract(Controller.level.cameraFocus).dot(_local2.unitVectorAcross)) > 550){
_local20 = _local2.unitVectorAcross.multiply((_local2.halfDistance * _local2.openFactor()));
if (_local2.unitVectorAcross.dot(Controller.level.cameraFocus.subtract(_local2.centerpoint)) > 0){
_local20 = _local20.inverse();
};
_local4.copyPixels(_local3, _local3.rect, _local20.toPoint());
return;
};
_local5 = _local5.add(_local1);
_local6 = _local6.add(_local1);
_local7 = _local7.add(_local1);
_local8 = new Rectangle();
_local8.x = ((Controller.level.cameraFocus.x - x) - 275);
_local8.y = ((Controller.level.cameraFocus.y - y) - 200);
_local8.width = 550;
_local8.height = 400;
_local9 = _local2.unitVectorAcross;
_local10 = _local9.right90().multiply(500);
_local11 = _local9.multiply(-800);
_local12 = _local9.multiply((_local2.halfDistance * _local2.openFactor()));
_local13 = new Sprite();
_local13.graphics.clear();
_local13.graphics.beginFill(0xFFFFFF);
_local13.graphics.moveTo(((_local5.x + _local10.x) + _local9.x), ((_local5.y + _local10.y) + _local9.y));
_local13.graphics.lineTo(((_local5.x + _local10.x) + _local11.x), ((_local5.y + _local10.y) + _local11.y));
_local13.graphics.lineTo(((_local5.x - _local10.x) + _local11.x), ((_local5.y - _local10.y) + _local11.y));
_local13.graphics.lineTo(((_local5.x - _local10.x) + _local9.x), ((_local5.y - _local10.y) + _local9.y));
_local13.graphics.endFill();
_local14 = new Sprite();
_local14.addChild(new Bitmap(_local3));
_local14.mask = _local13;
_local4.draw(_local14, _local12.toTranslationMatrix(), null, null, _local8);
_local11 = _local11.inverse();
_local12 = _local12.inverse();
_local13.graphics.clear();
_local13.graphics.beginFill(0xFFFFFF);
_local13.graphics.moveTo(((_local6.x + _local10.x) - _local9.x), ((_local6.y + _local10.y) - _local9.y));
_local13.graphics.lineTo(((_local6.x + _local10.x) + _local11.x), ((_local6.y + _local10.y) + _local11.y));
_local13.graphics.lineTo(((_local6.x - _local10.x) + _local11.x), ((_local6.y - _local10.y) + _local11.y));
_local13.graphics.lineTo(((_local6.x - _local10.x) - _local9.x), ((_local6.y - _local10.y) - _local9.y));
_local13.graphics.endFill();
_local4.draw(_local14, _local12.toTranslationMatrix(), null, null, _local8);
_local15 = (Math.cos((_local2.acrossAngleRadians - (Math.PI / 6))) * 128);
if (_local15 < -48){
_local15 = -48;
};
if (_local15 > 48){
_local15 = 48;
};
_local15 = (_local15 * _local2.openFactor());
_local16 = new ColorTransform(1, 1, 1, 1, -(_local15), -(_local15), -(_local15));
_local11 = _local11.inverse();
_local12 = _local12.inverse();
_local17 = Math.cos(_local2.acrossAngleRadians);
_local18 = new Matrix();
if (Math.abs(_local17) < 0.0001){
if (Math.sin(_local2.acrossAngleRadians) < 0){
_local18.b = (_local18.b + _local2.openFactor());
} else {
_local18.b = (_local18.b - _local2.openFactor());
};
} else {
if (_local17 > 0){
_local18.b = (_local18.b + _local2.openFactor());
} else {
_local18.b = (_local18.b - _local2.openFactor());
};
};
_local19 = new Matrix();
_local19.translate(-(_local5.x), -(_local5.y));
_local19.rotate(-(_local2.acrossAngleRadians));
_local19.scale((1 - _local2.openFactor()), 1);
_local19.concat(_local18);
_local19.rotate(_local2.acrossAngleRadians);
_local19.translate(_local5.x, _local5.y);
_local19.translate(_local12.x, _local12.y);
_local13.graphics.clear();
_local13.graphics.beginFill(0xFFFFFF);
_local13.graphics.moveTo(((_local5.x + _local10.x) - _local9.x), ((_local5.y + _local10.y) - _local9.y));
_local13.graphics.lineTo(((_local7.x + _local10.x) + _local9.x), ((_local7.y + _local10.y) + _local9.y));
_local13.graphics.lineTo(((_local7.x - _local10.x) + _local9.x), ((_local7.y - _local10.y) + _local9.y));
_local13.graphics.lineTo(((_local5.x - _local10.x) - _local9.x), ((_local5.y - _local10.y) - _local9.y));
_local13.graphics.endFill();
_local4.draw(_local14, _local19, _local16, null, _local8);
_local16 = new ColorTransform(1, 1, 1, 1, _local15, _local15, _local15);
_local18.b = -(_local18.b);
_local12 = _local12.inverse();
_local19 = new Matrix();
_local19.translate(-(_local6.x), -(_local6.y));
_local19.rotate(-(_local2.acrossAngleRadians));
_local19.scale((1 - _local2.openFactor()), 1);
_local19.concat(_local18);
_local19.rotate(_local2.acrossAngleRadians);
_local19.translate(_local6.x, _local6.y);
_local19.translate(_local12.x, _local12.y);
_local13.graphics.clear();
_local13.graphics.beginFill(0xFFFFFF);
_local13.graphics.moveTo(((_local6.x + _local10.x) + _local9.x), ((_local6.y + _local10.y) + _local9.y));
_local13.graphics.lineTo(((_local7.x + _local10.x) - _local9.x), ((_local7.y + _local10.y) - _local9.y));
_local13.graphics.lineTo(((_local7.x - _local10.x) - _local9.x), ((_local7.y - _local10.y) - _local9.y));
_local13.graphics.lineTo(((_local6.x - _local10.x) + _local9.x), ((_local6.y - _local10.y) + _local9.y));
_local13.graphics.endFill();
_local4.draw(_local14, _local19, _local16, null, _local8);
}
private function (_arg1:Vector2, _arg2:Vector2):Vector2{
var _local3:Number;
_local3 = Controller.level.cameraFocus.subtract(_arg1).dot(_arg2);
return (_arg1.add(_arg2.multiply(_local3)));
}
private function ():void{
var _local1:Number;
var _local2:ProximityLaserTile;
_local1 = 0;
while (_local1 < Controller.level.solidTileGrid.length) {
_local2 = (Controller.level.solidTileGrid[_local1] as ProximityLaserTile);
if (_local2){
_local2.drawConnections();
};
_local1++;
};
}
public function destroy():void{
if (parent){
parent.removeChild(this);
};
.dispose();
masterBitmapData.dispose();
if (tileBitmapData){
tileBitmapData.dispose();
};
.dispose();
}
}
}//package com.nitrome.folding
Section 33
//TurningCross (com.nitrome.folding.TurningCross)
package com.nitrome.folding {
import flash.geom.*;
import com.nitrome.util.*;
public class TurningCross extends MovingPlatform {
private var :ConvexPolygon;
private var :ConvexPolygon;
override public function create(_arg1:Number, _arg2:Number, _arg3:String):void{
super.create(_arg1, _arg2, _arg3);
currentPosition = Vector2.fromTile(_arg1, _arg2);
bitmapData = Global.bitmapFromSprite(this);
if ((this is TurningCrossHarmful)){
harmful = true;
};
}
override public function advance():void{
var _local1:Number;
if (Controller.level.animatingFold){
return;
};
_local1 = (Controller.level.frameNumber / 40);
rotation = ((_local1 * 180) / Math.PI);
calculatePolygons();
if (multiBitmapDatas){
bitmapData = multiBitmapDatas[currentFrame];
};
}
override public function unfoldedPointIsInside(_arg1:Vector2):Boolean{
if (.pointIsInside(_arg1)){
return (true);
};
if (.pointIsInside(_arg1)){
return (true);
};
return (false);
}
override public function velocityAtUnfoldedPoint(_arg1:Vector2):Vector2{
var _local2:Vector2;
_local2 = _arg1.subtract(currentPosition);
return (_local2.right90().multiply(0.00795774715));
}
override public function calculatePolygons():void{
var _local1:Number;
var _local2:Matrix;
var _local3:*;
var _local4:*;
var _local5:Number;
var _local6:Matrix;
_local1 = (Controller.level.frameNumber / 40);
_local2 = new Matrix();
_local2.rotate(_local1);
_local2.translate(currentPosition.x, currentPosition.y);
= ConvexPolygon.rectangle(Vector2.fromTile(-2.5, -0.5), Vector2.fromTile(2.5, 0.5)).applyMatrix(_local2);
= ConvexPolygon.rectangle(Vector2.fromTile(-0.5, -2.5), Vector2.fromTile(0.5, 2.5)).applyMatrix(_local2);
_local3 = .changedAfterFolds();
_local4 = .changedAfterFolds();
if (!(_local3 is Array)){
_local3 = [_local3];
};
if (!(_local4 is Array)){
_local4 = [_local4];
};
polygons = _local3.concat(_local4);
_local5 = 0;
while (_local5 < polygons.length) {
_local6 = new Matrix();
_local6.translate((Level.TILE_SIZE * 2.5), (Level.TILE_SIZE * 2.5));
_local6.rotate(_local1);
if (polygons[_local5].offsetPosition){
_local6.translate(polygons[_local5].offsetPosition.x, polygons[_local5].offsetPosition.y);
};
polygons[_local5].textureMatrix = _local6;
_local5++;
};
visualPolygons = polygons;
}
}
}//package com.nitrome.folding
Section 34
//TurningCrossHarmful (com.nitrome.folding.TurningCrossHarmful)
package com.nitrome.folding {
public dynamic class TurningCrossHarmful extends TurningCross {
}
}//package com.nitrome.folding
Section 35
//TurningCrossNormal (com.nitrome.folding.TurningCrossNormal)
package com.nitrome.folding {
public dynamic class TurningCrossNormal extends TurningCross {
}
}//package com.nitrome.folding
Section 36
//Vector2 (com.nitrome.folding.Vector2)
package com.nitrome.folding {
import flash.geom.*;
public class Vector2 {
public var y:Number;
public var x:Number;
public function Vector2(_arg1:Number=0, _arg2:Number=0){
x = _arg1;
y = _arg2;
}
public function dot(_arg1:Vector2):Number{
return (((x * _arg1.x) + (y * _arg1.y)));
}
public function normalize(_arg1:Number=1):void{
var _local2:Number;
if ((((x == 0)) && ((y == 0)))){
return;
};
if (x == 0){
y = ((y)>0) ? 1 : -1;
};
if (y == 0){
x = ((x)>0) ? 1 : -1;
};
_local2 = (_arg1 / Math.sqrt(((x * x) + (y * y))));
x = (x * _local2);
y = (y * _local2);
}
public function atan2():Number{
return (Math.atan2(y, x));
}
public function subtract(_arg1:Vector2):Vector2{
return (new Vector2((x - _arg1.x), (y - _arg1.y)));
}
public function toPoint():Point{
return (new Point(x, y));
}
public function toTranslationMatrix():Matrix{
return (new Matrix(1, 0, 0, 1, x, y));
}
public function project(_arg1:Vector2):Vector2{
var _local2:Number;
_local2 = ((x * _arg1.x) + (y * _arg1.y));
return (new Vector2((x * _local2), (y * _local2)));
}
public function subtract2(_arg1:Number, _arg2:Number):Vector2{
return (new Vector2((x - _arg1), (y - _arg2)));
}
public function lengthLessThan(_arg1:Number):Boolean{
return ((((x * x) + (y * y)) < (_arg1 * _arg1)));
}
public function add(_arg1:Vector2):Vector2{
return (new Vector2((x + _arg1.x), (y + _arg1.y)));
}
public function squareLength():Number{
return (((x * x) + (y * y)));
}
public function multiply(_arg1:Number):Vector2{
return (new Vector2((x * _arg1), (y * _arg1)));
}
public function left90():Vector2{
return (new Vector2(y, -(x)));
}
public function length():Number{
return (Math.sqrt(((x * x) + (y * y))));
}
public function ():void{
x = (y = 0);
}
public function toString():String{
return ((((("(" + x) + ", ") + y) + ")"));
}
public function add2(_arg1:Number, _arg2:Number):Vector2{
return (new Vector2((x + _arg1), (y + _arg2)));
}
public function ():Boolean{
return ((((x == 0)) && ((y == 0))));
}
public function copy():Vector2{
return (new Vector2(x, y));
}
public function normalized(_arg1:Number=1):Vector2{
var _local2:Vector2;
_local2 = copy();
_local2.normalize(_arg1);
return (_local2);
}
public function right90():Vector2{
return (new Vector2(-(y), x));
}
public function lengthGreaterThan(_arg1:Number):Boolean{
return ((((x * x) + (y * y)) > (_arg1 * _arg1)));
}
public function lerp(_arg1:Vector2, _arg2:Number):Vector2{
return (new Vector2((x + ((_arg1.x - x) * _arg2)), (y + ((_arg1.y - y) * _arg2))));
}
public function inverse():Vector2{
return (new Vector2(-(x), -(y)));
}
public static function fromTile(_arg1:Number, _arg2:Number):Vector2{
return (new Vector2((_arg1 * Level.TILE_SIZE), (_arg2 * Level.TILE_SIZE)));
}
public static function fromPoint(_arg1:Point):Vector2{
return (new Vector2(_arg1.x, _arg1.y));
}
}
}//package com.nitrome.folding
Section 37
//BackToTitleButton (com.nitrome.game.BackToTitleButton)
package com.nitrome.game {
import flash.events.*;
public class BackToTitleButton extends SimpleButton {
override public function onClick(_arg1:MouseEvent):void{
NitromeGame.transition.doTween("title_screen");
}
}
}//package com.nitrome.game
Section 38
//BackToTitleButton1 (com.nitrome.game.BackToTitleButton1)
package com.nitrome.game {
public dynamic class BackToTitleButton1 extends BackToTitleButton {
}
}//package com.nitrome.game
Section 39
//BackToTitleButton2 (com.nitrome.game.BackToTitleButton2)
package com.nitrome.game {
public dynamic class BackToTitleButton2 extends BackToTitleButton {
}
}//package com.nitrome.game
Section 40
//BackToTitleButton3 (com.nitrome.game.BackToTitleButton3)
package com.nitrome.game {
public dynamic class BackToTitleButton3 extends BackToTitleButton {
}
}//package com.nitrome.game
Section 41
//CongratulationsSubmitScoreButton (com.nitrome.game.CongratulationsSubmitScoreButton)
package com.nitrome.game {
public dynamic class CongratulationsSubmitScoreButton extends SubmitScoreButton {
}
}//package com.nitrome.game
Section 42
//ContinueGameButton (com.nitrome.game.ContinueGameButton)
package com.nitrome.game {
import com.nitrome.folding.*;
import flash.events.*;
public class ContinueGameButton extends SimpleButton {
override public function onClick(_arg1:MouseEvent):void{
if (Controller.popup){
Controller.popup.close();
};
}
}
}//package com.nitrome.game
Section 43
//CreditsButton (com.nitrome.game.CreditsButton)
package com.nitrome.game {
import flash.events.*;
public class CreditsButton extends SimpleButton {
override public function onClick(_arg1:MouseEvent):void{
NitromeGame.transition.doTween("credits");
}
}
}//package com.nitrome.game
Section 44
//EndGameButton (com.nitrome.game.EndGameButton)
package com.nitrome.game {
import com.nitrome.folding.*;
import flash.events.*;
public class EndGameButton extends SimpleButton {
override public function onClick(_arg1:MouseEvent):void{
var e = _arg1;
if (Controller.popup){
Controller.popup.close();
};
NitromeGame.transition.doTween(function (){
Controller.endGame();
NitromeGame.timeline.gotoAndStop("title_screen");
});
}
}
}//package com.nitrome.game
Section 45
//ExitToLevelSelectButton (com.nitrome.game.ExitToLevelSelectButton)
package com.nitrome.game {
import flash.display.*;
public dynamic class ExitToLevelSelectButton extends MovieClip {
}
}//package com.nitrome.game
Section 46
//FxToggle (com.nitrome.game.FxToggle)
package com.nitrome.game {
import flash.events.*;
public class FxToggle extends SimpleButton {
public function FxToggle(){
if (!NitromeGame.sfx){
gotoAndStop("_off_up");
} else {
gotoAndStop("_on_up");
};
}
override protected function updateGraphic():void{
if (over){
if (NitromeGame.sound_manager.sfx){
gotoAndStop("_on_over");
} else {
if (!NitromeGame.sound_manager.sfx){
gotoAndStop("_off_over");
};
};
} else {
if (NitromeGame.sound_manager.sfx){
gotoAndStop("_on_up");
} else {
if (!NitromeGame.sound_manager.sfx){
gotoAndStop("_off_up");
};
};
};
}
override public function onClick(_arg1:MouseEvent):void{
NitromeGame.sound_manager.toggleSfx();
updateGraphic();
}
}
}//package com.nitrome.game
Section 47
//HelpButton (com.nitrome.game.HelpButton)
package com.nitrome.game {
import flash.events.*;
public class HelpButton extends SimpleButton {
override public function onClick(_arg1:MouseEvent):void{
NitromeGame.transition.doTween("help");
}
}
}//package com.nitrome.game
Section 48
//IngamePopup (com.nitrome.game.IngamePopup)
package com.nitrome.game {
import com.nitrome.folding.*;
import flash.display.*;
import flash.events.*;
import com.nitrome.util.*;
public class IngamePopup extends MovieClip {
public var :String;
public var
:Number;// = 0
public var :Number;// = 0
public var :Boolean;// = false
public var inner:MovieClip;
public var
:Number;// = 0
public var
:Boolean;// = true
public var
:Number;// = 10
public var
:Number;// = 0
public function IngamePopup(){
= true;
= 0;
= 0;
= 0;
= 0;
= 10;
= false;
super();
addFrameScript(0, frame1, 11, frame12, 12, , 21,
);
addEventListener(Event.ADDED,
);
x = 275;
y = 200;
}
public function destroy():void{
();
removeEventListener(Event.ADDED,
);
}
public function ():void{
var _local1:Number;
var _local2:DisplayObject;
if (((!( )) || (!(isOpen)))){
return;
};
_local1 = 0;
while (_local1 < MovieClip(inner).numChildren) {
_local2 = inner.getChildAt(_local1);
if ((((_local2 is SimpleButton)) && ((_local2.name.substr(0, 7) == "default")))){
(_local2 as SimpleButton).onClick(null);
= false;
return;
};
_local1++;
};
}
function frame12(){
= true;
= false;
stop();
}
function frame1(){
stop();
}
function
(){
();
}
public function
(_arg1:Event):void{
if ((((_arg1.target.parent == this)) && ((_arg1.target is MovieClip)))){
(_arg1.target as MovieClip).gotoAndStop( );
};
}
private function
():void{
if (parent){
parent.removeChild(this);
};
gotoAndStop(1);
if (Controller.level){
Controller.level.unpause();
};
}
public function open(_arg1:String):void{
= _arg1;
gotoAndPlay(2);
if (!parent){
Controller.root.popupHolder.addChild(this);
};
= Controller.level.getScore();
= Score.value;
= (
= 0);
= true;
= 10;
}
function (){
= false;
}
public function advance():void{
if (!inner){
return;
};
if (((Key.isReady()) && (Key.isDown(32)))){
();
};
if (!
){
if (((inner.levelScore) && (( <
)))){
= ( + 153);
if ( >
){
=
;
};
inner.levelScore.text = .toString();
} else {
if (
> 0){
--;
} else {
if (((inner.totalScore) && ((
<
)))){
= (
+ 357);
if (
>
){
=
;
};
inner.totalScore.text =
.toString();
};
};
};
};
}
public function get isOpen():Boolean{
return (!((currentFrame == 1)));
}
public function close():void{
play();
stage.focus = null;
}
}
}//package com.nitrome.game
Section 49
//IngameSubmitScoreButton (com.nitrome.game.IngameSubmitScoreButton)
package com.nitrome.game {
public dynamic class IngameSubmitScoreButton extends SubmitScoreButton {
}
}//package com.nitrome.game
Section 50
//LevelStartButton (com.nitrome.game.LevelStartButton)
package com.nitrome.game {
import com.nitrome.folding.*;
import flash.net.*;
import flash.events.*;
import flash.text.*;
public class LevelStartButton extends SimpleButton {
private var :Boolean;
public var numberField:TextField;
private var number:Number;
public function init(_arg1:SharedObject):void{
number = Number(name.substr(6));
if (_arg1.data.levels_unlocked){
= Boolean(_arg1.data.levels_unlocked[(number - 1)]);
};
if (number == 1){
= true;
};
useHandCursor = (buttonMode = );
this.addEventListener(Event.ENTER_FRAME, );
}
public function (_arg1:Event):void{
updateGraphic();
this.removeEventListener(Event.ENTER_FRAME, );
}
override protected function updateGraphic():void{
if (){
if (over){
gotoAndStop("over");
} else {
gotoAndStop("up");
};
} else {
gotoAndStop("locked");
};
if (numberField){
numberField.text = String(number);
numberField.visible = ;
};
}
override public function onClick(_arg1:MouseEvent):void{
var e = _arg1;
if (){
NitromeGame.transition.doTween(function (){
NitromeGame.timeline.gotoAndStop("game");
Controller.selectedLevel = number;
Score.value = 0;
});
};
}
}
}//package com.nitrome.game
Section 51
//LoadIndicator (com.nitrome.game.LoadIndicator)
package com.nitrome.game {
import flash.display.*;
public class LoadIndicator extends MovieClip {
public function LoadIndicator(_arg1:Number=0, _arg2:Number=0){
addFrameScript(6,
, 11, frame12);
x = _arg1;
y = _arg2;
}
public function destroy():void{
stop();
if (parent){
parent.removeChild(this);
};
}
function frame12(){
destroy();
}
public function
():void{
gotoAndPlay("outAnimation");
}
function
(){
gotoAndPlay("loop");
}
}
}//package com.nitrome.game
Section 52
//MessageOverlay (com.nitrome.game.MessageOverlay)
package com.nitrome.game {
import com.nitrome.folding.*;
import flash.display.*;
public class MessageOverlay extends MovieClip {
public var content:MovieClip;
public function MessageOverlay(_arg1:String):void{
addFrameScript(86, );
content.messageText.text = _arg1;
x = 275;
y = 100;
}
public function destroy():void{
stop();
if (parent){
parent.removeChild(this);
};
}
function (){
destroy();
}
public static function show(_arg1:String):void{
var _local2:MessageOverlay;
_local2 = new MessageOverlay(_arg1);
Controller.root.addChild(_local2);
}
}
}//package com.nitrome.game
Section 53
//MusicToggle (com.nitrome.game.MusicToggle)
package com.nitrome.game {
import flash.events.*;
public class MusicToggle extends SimpleButton {
public function MusicToggle(){
if (!NitromeGame.music){
gotoAndStop("_off_up");
} else {
gotoAndStop("_on_up");
};
}
override protected function updateGraphic():void{
if (over){
if (NitromeGame.sound_manager.music){
gotoAndStop("_on_over");
} else {
if (!NitromeGame.sound_manager.music){
gotoAndStop("_off_over");
};
};
} else {
if (NitromeGame.sound_manager.music){
gotoAndStop("_on_up");
} else {
if (!NitromeGame.sound_manager.music){
gotoAndStop("_off_up");
};
};
};
}
override public function onClick(_arg1:MouseEvent):void{
NitromeGame.sound_manager.toggleMusic();
updateGraphic();
}
}
}//package com.nitrome.game
Section 54
//NextHelpButton (com.nitrome.game.NextHelpButton)
package com.nitrome.game {
import flash.display.*;
import flash.events.*;
public class NextHelpButton extends SimpleButton {
public function NextHelpButton(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
override public function onClick(_arg1:MouseEvent):void{
var _local2:MovieClip;
_local2 = (parent as MovieClip);
_local2.gotoAndStop((_local2.currentFrame + 1));
if (_local2.currentFrame >= 3){
visible = false;
};
_local2["prev"].visible = true;
}
}
}//package com.nitrome.game
Section 55
//NextLevelButton (com.nitrome.game.NextLevelButton)
package com.nitrome.game {
import com.nitrome.folding.*;
import flash.events.*;
public class NextLevelButton extends SimpleButton {
override public function onClick(_arg1:MouseEvent):void{
var e = _arg1;
if (Controller.popup){
Controller.popup.close();
};
NitromeGame.transition.doTween(function (){
if (Controller.loadedLevelNumber == NitromeGame.total_levels){
Controller.endGame();
NitromeGame.timeline.gotoAndStop("congrats");
} else {
Controller.nextLevel();
};
});
}
}
}//package com.nitrome.game
Section 56
//NitromeLink (com.nitrome.game.NitromeLink)
package com.nitrome.game {
import flash.display.*;
import flash.net.*;
import flash.events.*;
public class NitromeLink extends SimpleButton {
public function NitromeLink(){
this.addEventListener(MouseEvent.CLICK,
);
}
public function
(_arg1:MouseEvent):void{
navigateToURL(new URLRequest("http://www.nitrome.com/"), "_blank");
}
}
}//package com.nitrome.game
Section 57
//PauseButton (com.nitrome.game.PauseButton)
package com.nitrome.game {
import com.nitrome.folding.*;
import flash.events.*;
public class PauseButton extends SimpleButton {
override public function onClick(_arg1:MouseEvent):void{
Controller.popup.open("paused");
Controller.level.pause();
}
}
}//package com.nitrome.game
Section 58
//PlayButton (com.nitrome.game.PlayButton)
package com.nitrome.game {
import flash.events.*;
public class PlayButton extends SimpleButton {
public var __id1_:FaultlineFont;
public function PlayButton(){
();
}
function (){
try {
__id1_["componentInspectorSetting"] = true;
} catch(e:Error) {
};
__id1_.align = "center";
__id1_.align_vert = "center";
__id1_.blackStrength = 1;
__id1_.color = 0xFFFFFF;
__id1_.id = "None";
__id1_.line_spacing = 18;
__id1_.text = "Play";
__id1_.tracking = 0;
__id1_.whiteStrength = 1;
try {
__id1_["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
override public function onClick(_arg1:MouseEvent):void{
NitromeGame.transition.doTween("level_select");
}
}
}//package com.nitrome.game
Section 59
//PreviousHelpButton (com.nitrome.game.PreviousHelpButton)
package com.nitrome.game {
import flash.display.*;
import flash.events.*;
public class PreviousHelpButton extends SimpleButton {
public function PreviousHelpButton(){
addFrameScript(0, frame1);
visible = false;
}
function frame1(){
stop();
}
override public function onClick(_arg1:MouseEvent):void{
var _local2:MovieClip;
_local2 = (parent as MovieClip);
_local2.gotoAndStop((_local2.currentFrame - 1));
if (_local2.currentFrame <= 1){
visible = false;
};
_local2["next"].visible = true;
}
}
}//package com.nitrome.game
Section 60
//RestartLevelButton (com.nitrome.game.RestartLevelButton)
package com.nitrome.game {
import com.nitrome.folding.*;
import flash.events.*;
public class RestartLevelButton extends SimpleButton {
override public function onClick(_arg1:MouseEvent):void{
var e = _arg1;
if (Controller.popup){
Controller.popup.close();
};
NitromeGame.transition.doTween(function (){
Controller.restartLevel();
Score.value = 0;
});
}
}
}//package com.nitrome.game
Section 61
//Score (com.nitrome.game.Score)
package com.nitrome.game {
public class Score {
private static var r:int;
private static var _value:int;
private static var hash:String;
public static function init():void{
r = (int((Math.random() * 2000000)) - 1000000);
_value = r;
hash = _value.toString(16);
}
public static function verify():Boolean{
return ((_value.toString(16) == hash));
}
public static function get value():int{
return ((_value - r));
}
public static function set value(_arg1:int):void{
var _local2:Boolean;
_local2 = verify();
r = (int((Math.random() * 2000000)) - 1000000);
_value = (r + _arg1);
if (_local2){
hash = _value.toString(16);
};
}
}
}//package com.nitrome.game
Section 62
//ScoresButton (com.nitrome.game.ScoresButton)
package com.nitrome.game {
import flash.events.*;
public class ScoresButton extends SimpleButton {
override public function onClick(_arg1:MouseEvent):void{
NitromeGame.transition.doTween("view_scores");
}
}
}//package com.nitrome.game
Section 63
//SimpleButton (com.nitrome.game.SimpleButton)
package com.nitrome.game {
import flash.display.*;
import flash.events.*;
public class SimpleButton extends MovieClip {
protected var over:Boolean;// = false
public function SimpleButton(){
over = false;
super();
mouseChildren = false;
buttonMode = true;
this.addEventListener(MouseEvent.MOUSE_OVER, );
this.addEventListener(MouseEvent.MOUSE_OUT, );
this.addEventListener(MouseEvent.MOUSE_DOWN, onClick);
stop();
}
protected function (_arg1:MouseEvent):void{
over = true;
updateGraphic();
}
protected function (_arg1:MouseEvent):void{
over = false;
updateGraphic();
}
protected function updateGraphic():void{
if (over){
gotoAndStop("_over");
} else {
gotoAndStop("_up");
};
}
public function onClick(_arg1:MouseEvent):void{
}
}
}//package com.nitrome.game
Section 64
//SoundManager (com.nitrome.game.SoundManager)
package com.nitrome.game {
import flash.display.*;
import flash.media.*;
public class SoundManager extends SoundManagerSuper {
protected const MENU_VOLUME:Number = 1;
protected const GAME_VOLUME:Number = 1;
public var fold:MovieClip;
public var land:MovieClip;
public var explosion:MovieClip;
public var exit:MovieClip;
public var unfold:MovieClip;
public var breakableBlock:MovieClip;
public var jump:MovieClip;
public var nitrome:MovieClip;
public var deathArrive:MovieClip;
public var electricity:MovieClip;
public var transition:MovieClip;
public var foldedMyself:MovieClip;
public var entryLand:MovieClip;
public var checkpoint:MovieClip;
public var entry:MovieClip;
public var entryAttachArm:MovieClip;
public var armsShoot:MovieClip;
public var armsReturn:MovieClip;
public var deathTransit:MovieClip;
public var introOpen:MovieClip;
public static const GAME:uint = 1;
public static const MENU:uint = 0;
public function SoundManager(){
NitromeGame.sound_manager = this;
music_sounds.push(new MenuMusic());
music_sounds.push(new GameMusic());
transforms.push(new SoundTransform(MENU_VOLUME, 0));
transforms.push(new SoundTransform(GAME_VOLUME, 0));
channels.push(new SoundChannel());
channels.push(new SoundChannel());
volumes.push(MENU_VOLUME);
volumes.push(GAME_VOLUME);
= uint.MAX_VALUE;
}
}
}//package com.nitrome.game
Section 65
//SoundManagerSuper (com.nitrome.game.SoundManagerSuper)
package com.nitrome.game {
import flash.display.*;
import flash.events.*;
public class SoundManagerSuper extends Sprite {
protected const CROSS_FADE_SPEED:Number = 0.05;
public var :int;
protected var :Boolean;// = true
public var :Boolean;// = false
protected var transforms:Array;
protected var volumes:Array;
protected var music_sounds:Array;
protected var :int;
protected var :Boolean;// = true
protected var channels:Array;
protected var :Array;
public function SoundManagerSuper(){
var _local1:int;
var _local2:MovieClip;
= new Array();
music_sounds = new Array();
channels = new Array();
transforms = new Array();
volumes = new Array();
= true;
= true;
= false;
super();
= NitromeGame.music;
= NitromeGame.sfx;
_local1 = 0;
while (_local1 < numChildren) {
_local2 = (getChildAt(_local1) as MovieClip);
if (_local2 != null){
[_local2.name] = _local2;
};
_local1++;
};
}
public function set sfx(_arg1:Boolean):void{
= _arg1;
}
public function get music():Boolean{
return ();
}
public function stopSound(_arg1:String):void{
if (){
if ([_arg1]){
[_arg1].gotoAndPlay("stop");
};
};
}
public function toggleMusic():void{
if (){
();
} else {
();
};
}
public function playSound(_arg1:String):void{
if (){
if ([_arg1] != null){
[_arg1].gotoAndPlay(2);
};
};
}
private function (_arg1:Event):void{
if (transforms[].volume > 0){
transforms[].volume = (transforms[].volume - CROSS_FADE_SPEED);
channels[].soundTransform = transforms[];
};
if (transforms[].volume < 1){
transforms[].volume = (transforms[].volume + CROSS_FADE_SPEED);
channels[].soundTransform = transforms[];
};
if ((((transforms[].volume >= volumes[])) && ((transforms[].volume <= 0)))){
channels[].stop();
= false;
_arg1.target.removeEventListener(Event.ENTER_FRAME, );
};
}
public function ():void{
NitromeGame.music = ( = true);
playMusic(, true);
}
public function set music(_arg1:Boolean):void{
= _arg1;
}
public function playMusic(_arg1:uint, _arg2:Boolean=false):void{
var _local3:uint;
if (((!(( == _arg1))) || (_arg2))){
if (_arg1 < music_sounds.length){
if (){
_local3 = 0;
while (_local3 < music_sounds.length) {
if (_local3 == _arg1){
} else {
if (channels[_local3] != null){
channels[_local3].stop();
};
};
_local3++;
};
transforms[_arg1].volume = volumes[_arg1];
channels[_arg1] = music_sounds[_arg1].play(0, int.MAX_VALUE, transforms[_arg1]);
};
= _arg1;
};
};
}
public function
():void{
NitromeGame.sfx = ( = false);
}
public function toggleSfx():void{
= !();
NitromeGame.sfx = !(NitromeGame.sfx);
}
public function ():void{
var _local1:uint;
_local1 = 0;
while (_local1 < channels.length) {
if (channels[_local1] != null){
channels[_local1].stop();
};
_local1++;
};
NitromeGame.music = ( = false);
}
public function get sfx():Boolean{
return ();
}
public function ():void{
NitromeGame.sfx = ( = true);
}
public function (_arg1:int):void{
if (((((!()) || (( == _arg1)))) || ())){
return;
};
transforms[_arg1].volume = 0;
channels[_arg1] = music_sounds[_arg1].play(0, int.MAX_VALUE, transforms[_arg1]);
= ;
= _arg1;
= true;
addEventListener(Event.ENTER_FRAME, );
}
}
}//package com.nitrome.game
Section 66
//SubmitScoreButton (com.nitrome.game.SubmitScoreButton)
package com.nitrome.game {
import com.nitrome.folding.*;
import flash.events.*;
public class SubmitScoreButton extends SimpleButton {
public function SubmitScoreButton(){
if (Score.value == 0){
visible = false;
};
}
override public function onClick(_arg1:MouseEvent):void{
var e = _arg1;
NitromeGame.transition.doTween(function (){
if (Controller.content){
Controller.endGame();
};
if (Controller.popup){
Controller.popup.close();
};
NitromeGame.timeline.gotoAndStop("submit_score");
});
}
}
}//package com.nitrome.game
Section 67
//TemplateFont (com.nitrome.game.TemplateFont)
package com.nitrome.game {
public class TemplateFont extends TextComponent {
public function TemplateFont(){
_tracking = 0;
_line_spacing = 18;
_id = "None";
}
override public function get id():String{
return (_id);
}
override public function set id(_arg1:String){
_id = _arg1;
draw();
}
override public function set tracking(_arg1:int){
_tracking = _arg1;
draw();
}
override protected function getClassNameFromChar(_arg1:String):String{
if (_arg1 == "Space"){
return ("SPACE");
};
if (_arg1 == "."){
return ("STOP");
};
if (_arg1 == "?"){
return ("QUESTION");
};
if (_arg1 == ","){
return ("COMMA");
};
if (_arg1 == "!"){
return ("EXCLAMATION");
};
if (_arg1 == "\\"){
return ("BACKSLASH");
};
if (_arg1 == "/"){
return ("FORWARDSLASH");
};
if (_arg1 == "="){
return ("EQUALS");
};
if (_arg1 == "+"){
return ("PLUS");
};
if (_arg1 == "("){
return ("LEFTBRACKET");
};
if (_arg1 == ")"){
return ("RIGHTBRACKET");
};
if (_arg1 == "-"){
return ("HYPHEN");
};
if (_arg1 == "\""){
return ("QUOTES");
};
if (_arg1 == ":"){
return ("COLON");
};
if (_arg1 == "�"){
return ("POUND");
};
if (_arg1 == "_"){
return ("UNDERSCORE");
};
if (_arg1 == "@"){
return ("AT");
};
if (_arg1 == "'"){
return ("APOSTROPHE");
};
if ((((((_arg1 == "\n")) || ((_arg1 == "\r")))) || ((_arg1 == "|")))){
return ("NEWLINE");
};
return (_arg1);
}
override public function get tracking():int{
return (_tracking);
}
override public function set line_spacing(_arg1:int){
_line_spacing = _arg1;
draw();
}
override public function get line_spacing():int{
return (_line_spacing);
}
}
}//package com.nitrome.game
Section 68
//TextComponent (com.nitrome.game.TextComponent)
package com.nitrome.game {
import flash.geom.*;
import flash.display.*;
import flash.utils.*;
public class TextComponent extends Sprite {
protected var :String;// = "center"
protected var :Array;
protected var
:String;// = "enter text"
protected var _tracking:int;// = 0
protected var :ColorTransform;// = null
protected var
:Number;// = 1
private var :Number;// = 0
protected var
:Number;// = 1
protected var :Array;
protected var _id:String;// = "None"
private var :Number;// = 0
protected var :String;// = "center"
private var :Sprite;
protected var :Sprite;
protected var _line_spacing:int;// = 22
protected var :uint;// = 0xFFFFFF
public function TextComponent(){
= "enter text";
_tracking = 0;
= "center";
= "center";
_line_spacing = 22;
_id = "None";
= 0xFFFFFF;
= null;
= 1;
= 1;
= 0;
= 0;
super();
init();
();
draw();
}
public function get align():String{
return ( );
}
private function init():void{
= new Array();
= new Array();
= width;
= height;
scaleX = 1;
scaleY = 1;
removeChildAt(0);
}
public function set align(_arg1:String){
= _arg1;
draw();
}
private function ():void{
= new Sprite();
addChild();
}
public function set whiteStrength(_arg1:Number):void{
= _arg1;
();
draw();
}
public function get align_vert():String{
return ();
}
public function get text():String{
return (
);
}
public function set id(_arg1:String){
_id = _arg1;
draw();
}
protected function draw():void{
var line:*;
var i:int;
var isLivePreview:Boolean;
var c:*;
var class_name:String;
var class_id:Class;
var temp:Sprite;
var letterX:Number;
var j:int;
.graphics.clear();
if ( != null){
this.removeChild();
};
= new Sprite();
= new Array();
line = 0;
.push(.addChild(new Sprite()));
= new Array();
.push(new Array());
i = 0;
while (i <
.length) {
=
.toUpperCase();
c =
.charAt(i);
class_name = getClassNameFromChar(c);
if (class_name == "NEWLINE"){
line = (line + 1);
.push(new Array());
.push(.addChild(new Sprite()));
[line].y = (line_spacing * line);
} else {
if (class_name != ""){
try {
class_id = (getDefinitionByName(((("Text_" + _id) + "_") + class_name)) as Class);
} catch(e:ReferenceError) {
class_id = null;
};
if (class_id != null){
temp = (new (class_id) as Sprite);
[line].push([line].addChild(temp));
} else {
[line].push(null);
};
};
};
i = (i + 1);
};
i = 0;
while (i < .length) {
letterX = 0;
j = 0;
while (j < [i].length) {
if ([i][j]){
[i][j].x = letterX;
letterX = (letterX + [i][j].width);
} else {
letterX = (letterX + 8);
};
j = (j + 1);
};
if ( == "center"){
[i].x = ([i].x + int((( * 0.5) - ([i].width * 0.5))));
} else {
if ( == "right"){
[i].x = ([i].x + int(( - [i].width)));
};
};
i = (i + 1);
};
if ( == "bottom"){
.y = (.y + int(( - .height)));
} else {
if ( == "center"){
.y = (.y + int((( * 0.5) - (.height * 0.5))));
};
};
if ( != null){
.transform.colorTransform = ;
};
.cacheAsBitmap = true;
this.addChild();
this.cacheAsBitmap = true;
isLivePreview = ((!((parent == null))) && ((getQualifiedClassName(parent) == "fl.livepreview::LivePreviewParent")));
if (((isLivePreview) && ((
== "")))){
.graphics.clear();
.graphics.lineStyle(1, 0);
.graphics.beginFill(0xFFFFFF, 0.5);
.graphics.drawRoundRect(0, 0, , , 10, 10);
.graphics.endFill();
};
}
public function get id():String{
return (_id);
}
public function set align_vert(_arg1:String){
= _arg1;
draw();
}
public function get color():uint{
return ();
}
public function get blackStrength():Number{
return (
);
}
public function set text(_arg1:String){
= _arg1;
draw();
}
public function set tracking(_arg1:int){
_tracking = _arg1;
draw();
}
public function (_arg1:Number, _arg2:Number):void{
= _arg1;
= _arg2;
draw();
}
public function get whiteStrength():Number{
return (
);
}
protected function getClassNameFromChar(_arg1:String):String{
if (_arg1 == "Space"){
return ("SPACE");
};
if (_arg1 == "."){
return ("STOP");
};
if (_arg1 == "?"){
return ("QUESTION");
};
if (_arg1 == ","){
return ("COMMA");
};
if (_arg1 == "!"){
return ("EXCLAMATION");
};
if (_arg1 == "\\"){
return ("BACKSLASH");
};
if (_arg1 == "/"){
return ("FORWARDSLASH");
};
if (_arg1 == "="){
return ("EQUALS");
};
if (_arg1 == "+"){
return ("PLUS");
};
if (_arg1 == "("){
return ("LEFTBRACKET");
};
if (_arg1 == ")"){
return ("RIGHTBRACKET");
};
if (_arg1 == "-"){
return ("HYPHEN");
};
if (_arg1 == "\""){
return ("QUOTES");
};
if (_arg1 == ":"){
return ("COLON");
};
if (_arg1 == ";"){
return ("SEMICOLON");
};
if (_arg1 == "�"){
return ("POUND");
};
if (_arg1 == "_"){
return ("UNDERSCORE");
};
if (_arg1 == "@"){
return ("AT");
};
if (_arg1 == "'"){
return ("APOSTROPHE");
};
if ((((((_arg1 == "\n")) || ((_arg1 == "\r")))) || ((_arg1 == "|")))){
return ("NEWLINE");
};
return (_arg1);
}
public function get tracking():int{
return (_tracking);
}
public function set blackStrength(_arg1:Number):void{
= _arg1;
();
draw();
}
protected function ():void{
var _local1:Number;
var _local2:Number;
var _local3:Number;
if (((((( == 0xFFFFFF)) && ((blackStrength == 1)))) && ((whiteStrength == 1)))){
= null;
} else {
_local1 = ((( >> 16) % 0x0100) / 0xFF);
_local2 = ((( >> 8) % 0x0100) / 0xFF);
_local3 = (( % 0x0100) / 0xFF);
= new ColorTransform(((_local1 *
) * whiteStrength), ((_local2 *
) * whiteStrength), ((_local3 *
) * whiteStrength), 1, ((0xFF * _local1) * (1 -
)), ((0xFF * _local2) * (1 -
)), ((0xFF * _local3) * (1 -
)));
};
}
public function set color(_arg1:uint):void{
= _arg1;
();
draw();
}
public function set line_spacing(_arg1:int){
_line_spacing = _arg1;
draw();
}
public function get line_spacing():int{
return (_line_spacing);
}
}
}//package com.nitrome.game
Section 69
//Transition (com.nitrome.game.Transition)
package com.nitrome.game {
import flash.display.*;
public class Transition extends MovieClip {
private var :Function;// = null
public function Transition(){
= null;
super();
addFrameScript(0, frame1, 1, frame2, 20, );
NitromeGame.transition = this;
stop();
mouseEnabled = false;
mouseChildren = false;
}
function frame1(){
();
}
function (){
();
}
protected function ():void{
if ( != null){
gotoAndPlay(1);
} else {
stop();
this.visible = false;
};
}
function frame2(){
if (NitromeGame.sound_manager){
NitromeGame.sound_manager.playSound("transition");
};
}
public function doTween(_arg1:Object):void{
var target = _arg1;
play();
if ((target is Function)){
= (target as Function);
} else {
= function (){
NitromeGame.timeline.gotoAndStop(target);
};
};
this.visible = true;
}
protected function ():void{
if ( != null){
();
= null;
};
}
}
}//package com.nitrome.game
Section 70
//ArrowButton (com.nitrome.highscore.ArrowButton)
package com.nitrome.highscore {
import flash.events.*;
import com.nitrome.game.*;
public class ArrowButton extends SimpleButton {
var
:HighScoreBoard;
public function ArrowButton(){
= (parent as HighScoreBoard);
visible = false;
}
public function hide():void{
visible = false;
}
override public function onClick(_arg1:MouseEvent):void{
if (name == "_prev_arrow"){
.shiftScoresPrev();
} else {
if (name == "_next_arrow"){
.shiftScoresNext();
};
};
}
public function show():void{
visible = true;
}
}
}//package com.nitrome.highscore
Section 71
//ClearButton (com.nitrome.highscore.ClearButton)
package com.nitrome.highscore {
import flash.events.*;
import com.nitrome.game.*;
public class ClearButton extends SimpleButton {
private var :ScoreSubmitPanel;
public function ClearButton(){
= (parent as ScoreSubmitPanel);
}
override public function onClick(_arg1:MouseEvent):void{
.clearName();
}
}
}//package com.nitrome.highscore
Section 72
//HighScoreBoard (com.nitrome.highscore.HighScoreBoard)
package com.nitrome.highscore {
import flash.display.*;
import flash.net.*;
import flash.events.*;
public class HighScoreBoard extends MovieClip {
public const MAX_DIGITS:int = 8;
private const MAX_RANK:int = 100;
public const NUM_LINES:int = 10;
public var _score_line_7:ScoreLine;
private var :Array;
private var :Boolean;// = false
public var _next_arrow:NextArrow;
private var
:URLRequest;
private var :URLVariables;
public var _score_line_10:ScoreLine;
private var
:ArrowButton;
public var _prev_arrow:PrevArrow;
private var
:int;
public var _score_line_1:ScoreLine;
public var _score_line_2:ScoreLine;
public var _score_line_3:ScoreLine;
public var _score_line_4:ScoreLine;
public var _score_line_5:ScoreLine;
public var _score_line_6:ScoreLine;
public var _score_line_8:ScoreLine;
public var _score_line_9:ScoreLine;
private var :URLLoader;
private var :ArrowButton;
public function HighScoreBoard(){
var _local1:int;
= false;
super();
if (((root) && (((((((((root as MovieClip).currentLabel == "game")) || (((root as MovieClip).currentLabel == "congrats")))) || (((root as MovieClip).currentLabel == "help")))) || (((root as MovieClip).currentLabel == "credits")))))){
return;
};
stop();
= new Array(NUM_LINES);
NitromeGame.NITROME_URL;
if (NitromeGame){
};
_local1 = 0;
while (_local1 < .length) {
[_local1] = (getChildByName(("_score_line_" + (_local1 + 1))) as HighScoreLine);
_local1++;
};
= (getChildByName("_prev_arrow") as ArrowButton);
= (getChildByName("_next_arrow") as ArrowButton);
addEventListener(Event.ADDED_TO_STAGE, init);
}
public function (_arg1:int):void{
= _arg1;
= new URLLoader();
= new URLVariables();
= new URLRequest(NitromeGame.RETRIEVE_URL);
.method = URLRequestMethod.POST;
.data = ;
.dataFormat = URLLoaderDataFormat.VARIABLES;
.addEventListener(Event.COMPLETE, );
.addEventListener(IOErrorEvent.IO_ERROR,
);
.min_rank = String(_arg1);
.game_name = NitromeGame.game_id;
.time_based = (NitromeGame.time_based) ? "1" : "0";
.load(
);
}
private function (_arg1:Event):void{
var _local2:String;
_local2 = _arg1.target.data.result;
(_local2);
}
private function init(_arg1:Event):void{
(1);
_arg1.target.removeEventListener(Event.ADDED_TO_STAGE, init);
}
public function shiftScoresPrev():void{
var _local1:int;
_local1 = (
- 10);
if (_local1 < 1){
_local1 = 1;
};
(_local1);
}
public function set zero_fill(_arg1:Boolean):void{
= _arg1;
}
private function
(_arg1:IOErrorEvent):void{
trace(("Retrieve scores failed: " + _arg1.text));
}
public function get zero_fill():Boolean{
return ();
}
public function
(_arg1:Array):void{
var _local2:int;
var _local3:String;
var _local4:String;
if (_arg1.length > 0){
_local2 = 0;
while (_local2 <= 9) {
_local3 = String(_arg1[_local2].user_name);
_local4 = String(_arg1[_local2].score);
if ((((_local3 == "")) || ((_local3 == null)))){
[_local2].hide();
.hide();
} else {
[_local2].displayData((
+ _local2), _local3, _local4);
};
_local2++;
};
} else {
trace("no leaderboard data");
};
}
public function
(_arg1:String):void{
var _local2:int;
var _local3:Object;
if (_arg1 != "0"){
_local2 = 0;
while (_local2 < .length) {
_local3 = NitromeGame.getHighScoreLine(_arg1, (_local2 + 1));
if (_local3 == null){
[_local2].hide();
} else {
[_local2].displayData((
+ _local2), _local3.username, _local3.score);
};
_local2++;
};
if (NitromeGame.displayNextButton(_arg1)){
.show();
} else {
.hide();
};
if (NitromeGame.displayPreviousButton(_arg1)){
.show();
} else {
.hide();
};
};
}
public function shiftScoresNext():void{
var _local1:int;
_local1 = (
+ 10);
(_local1);
}
}
}//package com.nitrome.highscore
Section 73
//HighScoreLine (com.nitrome.highscore.HighScoreLine)
package com.nitrome.highscore {
import flash.display.*;
import flash.events.*;
import flash.text.*;
public class HighScoreLine extends Sprite {
private const FADE_SPEED:Number = 0.3;
private var :int;
private var :TextField;
private var :TextField;
public var _score_text:TextField;
private var :Boolean;
private var :TextField;
private var :int;
public var _rank_text:TextField;
public var _name_text:TextField;
private var
:HighScoreBoard;
public function HighScoreLine(){
visible = false;
= false;
= (getChildByName("_score_text") as TextField);
= (getChildByName("_name_text") as TextField);
= (getChildByName("_rank_text") as TextField);
= (parent as HighScoreBoard);
}
public function hide():void{
trace((name + " hide"));
visible = false;
= true;
}
private function (_arg1:Event):void{
if ( >= ){
alpha = (alpha + FADE_SPEED);
if (alpha >= 1){
_arg1.target.removeEventListener(Event.ENTER_FRAME, );
};
};
++;
}
public function displayData(_arg1:int, _arg2:String, _arg3:String):void{
var _local4:int;
var _local5:int;
var _local6:int;
var _local7:int;
trace((name + " displayData:"));
.text = String((_arg1 + "."));
.text = _arg2.toUpperCase();
trace(((((_arg1 + ",") + _arg2) + ",") + _arg3));
if (
.zero_fill){
_local4 =
.MAX_DIGITS;
_local5 = _arg3.length;
_local6 = (_local4 - _local5);
_local7 = 1;
while (_local7 <= _local6) {
_arg3 = ("0" + _arg3);
_local7++;
};
.text = _arg3;
} else {
.text = _arg3;
};
alpha = 0;
visible = true;
= (((_arg1 - 1) %
.NUM_LINES) * int((1 / FADE_SPEED)));
= 0;
addEventListener(Event.ENTER_FRAME, );
}
}
}//package com.nitrome.highscore
Section 74
//LetterButton (com.nitrome.highscore.LetterButton)
package com.nitrome.highscore {
import flash.events.*;
import flash.text.*;
import com.nitrome.game.*;
public class LetterButton extends SimpleButton {
private var :TextField;
public var _letter:TextField;
private var
:String;
private var :ScoreSubmitPanel;
public function LetterButton(){
= (parent as ScoreSubmitPanel);
= name;
= (getChildByName("_letter") as TextField);
addEventListener(Event.ADDED_TO_STAGE, init);
}
private function init(_arg1:Event):void{
.text =
;
_arg1.target.removeEventListener(Event.ADDED_TO_STAGE, init);
}
override public function onClick(_arg1:MouseEvent):void{
.addLetter(
);
}
}
}//package com.nitrome.highscore
Section 75
//ScoreSubmitPanel (com.nitrome.highscore.ScoreSubmitPanel)
package com.nitrome.highscore {
import flash.display.*;
import flash.net.*;
import flash.events.*;
import flash.text.*;
import com.nitrome.game.*;
import flash.ui.*;
public class ScoreSubmitPanel extends MovieClip {
private const MAX_LENGTH:Number = 10;
private var
:URLLoader;
public var C:LetterButton;
public var D:LetterButton;
public var E:LetterButton;
public var F:LetterButton;
public var H:LetterButton;
public var I:LetterButton;
public var J:LetterButton;
public var L:LetterButton;
public var A:LetterButton;
public var K:LetterButton;
public var W:LetterButton;
public var X:LetterButton;
public var R:LetterButton;
public var T:LetterButton;
public var U:LetterButton;
public var V:LetterButton;
public var G:LetterButton;
public var Y:LetterButton;
public var Z:LetterButton;
public var S:LetterButton;
public var N:LetterButton;
public var O:LetterButton;
private var :TextComponent;
public var Q:LetterButton;
public var M:LetterButton;
public var _score_text:TextField;
private var :MovieClip;
public var B:LetterButton;
public var P:LetterButton;
private var :TextField;
public var _name_text:FaultlineFont;
private var
:SubmitButton;
public var _submit_button:SubmitButton;
public var _clear_button:ClearButton;
private var :URLRequest;
private var :URLVariables;
public function ScoreSubmitPanel(){
if (((root) && (((((((((root as MovieClip).currentLabel == "game")) || (((root as MovieClip).currentLabel == "congrats")))) || (((root as MovieClip).currentLabel == "help")))) || (((root as MovieClip).currentLabel == "credits")))))){
return;
};
stop();
= (getChildByName("_submit_button") as SubmitButton);
= (getChildByName("_name_text") as TextComponent);
= (getChildByName("_score_text") as TextField);
addEventListener(Event.ADDED_TO_STAGE, init);
}
public function addLetter(_arg1:String):void{
var _local2:String;
var _local3:String;
_local2 = .text;
if (_local2.length < MAX_LENGTH){
_arg1 = _arg1.toUpperCase();
_local3 = (_local2 + _arg1);
.text = _local3;
.enable();
};
}
private function (_arg1:IOErrorEvent):void{
trace(("Submit score failed: " + _arg1.text));
trace();
NitromeGame.timeline.gotoAndStop("view_scores");
}
public function clearName():void{
.disable();
.text = "";
}
private function keyPressed(_arg1:KeyboardEvent):void{
var _local2:int;
_local2 = _arg1.charCode;
if ((((((_local2 >= 65)) && ((_local2 <= 90)))) || ((((_local2 >= 97)) && ((_local2 <= 122)))))){
addLetter(String.fromCharCode(_local2));
};
if ((((_arg1.keyCode == Keyboard.BACKSPACE)) || ((_arg1.keyCode == Keyboard.DELETE)))){
clearName();
};
}
private function (_arg1:Event):void{
trace("Score submitted");
NitromeGame.timeline.gotoAndStop("view_scores");
}
private function init(_arg1:Event):void{
.text = ("YOUR SCORE IS " + Score.value);
stage.addEventListener(KeyboardEvent.KEY_DOWN, keyPressed);
_arg1.target.removeEventListener(Event.ADDED_TO_STAGE, init);
}
public function submitScore():void{
var _local1:String;
stage.removeEventListener(KeyboardEvent.KEY_DOWN, keyPressed);
_local1 = .text;
if (_local1 != ""){
= new URLLoader();
= new URLVariables();
= new URLRequest(NitromeGame.SUBMIT_URL);
.method = URLRequestMethod.POST;
.data = ;
.addEventListener(Event.COMPLETE, );
.addEventListener(IOErrorEvent.IO_ERROR, );
.data_string = NitromeGame.getScoreData(Score.value, _local1);
.time_based = "0";
.data = ;
.load();
} else {
NitromeGame.timeline.gotoAndStop("view_scores");
};
}
}
}//package com.nitrome.highscore
Section 76
//SubmitButton (com.nitrome.highscore.SubmitButton)
package com.nitrome.highscore {
import flash.events.*;
import com.nitrome.game.*;
public class SubmitButton extends SimpleButton {
private var pressed:Boolean;// = false
private var disabled:Boolean;// = true
private var :ScoreSubmitPanel;
public function SubmitButton(){
pressed = false;
disabled = true;
super();
= (parent as ScoreSubmitPanel);
disable();
}
public function enable():void{
disabled = false;
useHandCursor = true;
buttonMode = true;
updateGraphic();
}
override protected function updateGraphic():void{
if (disabled){
gotoAndStop("disabled");
} else {
if (over){
gotoAndStop("over");
} else {
gotoAndStop("up");
};
};
}
public function disable():void{
disabled = true;
useHandCursor = false;
buttonMode = false;
updateGraphic();
}
override public function onClick(_arg1:MouseEvent):void{
if (disabled){
gotoAndStop("disabled");
} else {
if (!pressed){
.submitScore();
pressed = true;
};
};
}
}
}//package com.nitrome.highscore
Section 77
//Geometry (com.nitrome.util.Geometry)
package com.nitrome.util {
import com.nitrome.folding.*;
public class Geometry {
public static function segmentAndLineIntersection(_arg1:Vector2, _arg2:Vector2, _arg3:Boolean, _arg4:Vector2, _arg5:Vector2, _arg6:Boolean):Vector2{
var _local7:Vector2;
var _local8:Vector2;
var _local9:Number;
var _local10:Number;
var _local11:Number;
var _local12:Number;
var _local13:Number;
var _local14:Number;
var _local15:Number;
_local7 = new Vector2((_arg2.x - _arg1.x), (_arg2.y - _arg1.y));
_local8 = new Vector2((_arg5.x - _arg4.x), (_arg5.y - _arg4.y));
_local9 = (_arg4.x - _arg1.x);
_local10 = (_arg4.y - _arg1.y);
_local11 = ((_local9 * _local8.y) - (_local10 * _local8.x));
_local12 = ((_local7.x * _local8.y) - (_local7.y * _local8.x));
_local13 = (_local11 / _local12);
_local14 = (_arg1.x + (_local7.x * _local13));
_local15 = (_arg1.y + (_local7.y * _local13));
if (_arg3){
if (((_arg1.x)<_arg2.x) ? (((_local14 < _arg1.x)) || ((_local14 > _arg2.x))) : (((_local14 > _arg1.x)) || ((_local14 < _arg2.x)))){
return (null);
};
if (((_arg1.y)<_arg2.y) ? (((_local15 < _arg1.y)) || ((_local15 > _arg2.y))) : (((_local15 > _arg1.y)) || ((_local15 < _arg2.y)))){
return (null);
};
};
if (_arg6){
if (((_arg4.x)<_arg5.x) ? (((_local14 < _arg4.x)) || ((_local14 > _arg5.x))) : (((_local14 > _arg4.x)) || ((_local14 < _arg5.x)))){
return (null);
};
if (((_arg4.y)<_arg5.y) ? (((_local15 < _arg4.y)) || ((_local15 > _arg5.y))) : (((_local15 > _arg4.y)) || ((_local15 < _arg5.y)))){
return (null);
};
};
return (new Vector2(_local14, _local15));
}
public static function lineIntersection(_arg1:Vector2, _arg2:Vector2, _arg3:Vector2, _arg4:Vector2):Vector2{
var _local5:Vector2;
var _local6:Vector2;
var _local7:Number;
var _local8:Number;
var _local9:Number;
var _local10:Number;
var _local11:Number;
var _local12:Number;
var _local13:Number;
_local5 = new Vector2((_arg2.x - _arg1.x), (_arg2.y - _arg1.y));
_local6 = new Vector2((_arg4.x - _arg3.x), (_arg4.y - _arg3.y));
_local7 = (_arg3.x - _arg1.x);
_local8 = (_arg3.y - _arg1.y);
_local9 = ((_local7 * _local6.y) - (_local8 * _local6.x));
_local10 = ((_local5.x * _local6.y) - (_local5.y * _local6.x));
_local11 = (_local9 / _local10);
_local12 = (_arg1.x + (_local5.x * _local11));
_local13 = (_arg1.y + (_local5.y * _local11));
return (new Vector2(_local12, _local13));
}
}
}//package com.nitrome.util
Section 78
//Global (com.nitrome.util.Global)
package com.nitrome.util {
import flash.geom.*;
import flash.display.*;
import flash.text.*;
public class Global {
public static function ordinal(_arg1:Number):String{
if (((((_arg1 % 100) > 10)) && (((_arg1 % 100) < 15)))){
return ((_arg1.toString() + "th"));
};
if ((_arg1 % 10) == 1){
return ((_arg1.toString() + "st"));
};
if ((_arg1 % 10) == 2){
return ((_arg1.toString() + "nd"));
};
if ((_arg1 % 10) == 3){
return ((_arg1.toString() + "rd"));
};
return ((_arg1.toString() + "th"));
}
public static function safeMinimum(_arg1:Array):Number{
var _local2:Number;
var _local3:*;
_local2 = NaN;
for (_local3 in _arg1) {
if (((isNaN(_local2)) || ((_arg1[_local3] < _local2)))){
_local2 = _arg1[_local3];
};
};
return (_local2);
}
public static function isNumeric(_arg1:String):Boolean{
return ((_arg1 == String(Number(_arg1))));
}
public static function sign(_arg1:Number):Number{
if (_arg1 > 0){
return (1);
};
if (_arg1 < 0){
return (-1);
};
return (0);
}
public static function negativeModulo(_arg1:Number, _arg2:Number):Number{
if (_arg1 >= 0){
return (((_arg1 % _arg2) - _arg2));
};
return ((_arg1 % _arg2));
}
public static function removeFromList(_arg1, _arg2:Array):void{
var _local3:Number;
_local3 = (_arg2.length - 1);
while (_local3 >= 0) {
if (_arg2[_local3] == _arg1){
_arg2.splice(_local3, 1);
};
_local3--;
};
}
public static function enforcePlaces(_arg1:Number, _arg2:Number):String{
var _local3:String;
var _local4:String;
if (_arg1 < 0){
return (("-" + enforcePlaces(-(_arg1), _arg2)));
};
_local3 = String(Math.floor(_arg1));
_local4 = String(Math.floor(((_arg1 % 1) * Math.pow(10, _arg2))));
while (_local4.length < _arg2) {
_local4 = ("0" + _local4);
};
return (((_local3 + ".") + _local4));
}
public static function blackOut(_arg1:Number):ColorTransform{
var _local2:Number;
if (_arg1 > 0.5){
_local2 = ((_arg1 - 0.5) * 2);
return (new ColorTransform(_local2, _local2, _local2, 1, 0, 0, 0, 0));
};
return (new ColorTransform(0, 0, 0, (_arg1 * 2), 0, 0, 0, 0));
}
public static function safeMaximum(_arg1:Array):Number{
var _local2:Number;
var _local3:*;
_local2 = NaN;
for (_local3 in _arg1) {
if (((isNaN(_local2)) || ((_arg1[_local3] > _local2)))){
_local2 = _arg1[_local3];
};
};
return (_local2);
}
public static function zeroes(_arg1:Number, _arg2:Number):String{
var _local3:String;
_local3 = _arg1.toString();
return (("00000000000000000000000000".substr(0, (_arg2 - _local3.length)) + _local3));
}
public static function textToBitmap(_arg1:BitmapData, _arg2:String, _arg3:Number=0, _arg4:Number=0, _arg5:Number=0xFFFFFF, _arg6:Boolean=false, _arg7:TextFormat=null):void{
var _local8:TextField;
_local8 = new TextField();
_local8.autoSize = TextFieldAutoSize.LEFT;
if (_arg7){
_local8.defaultTextFormat = _arg7;
} else {
_local8.defaultTextFormat = new TextFormat("_sans", 10);
};
_local8.textColor = _arg5;
_local8.text = _arg2;
if (_arg6){
_arg1.draw(_local8, new Matrix(1, 0, 0, 1, (_arg3 - int((_local8.width / 2))), (_arg4 - int((_local8.height / 2)))));
} else {
_arg1.draw(_local8, new Matrix(1, 0, 0, 1, _arg3, _arg4));
};
}
public static function repeatString(_arg1:String, _arg2:Number):String{
var _local3:String;
var _local4:Number;
if (_arg2 < 1){
return ("");
};
_local3 = _arg1;
_local4 = 1;
while (_local4 < _arg2) {
_local3 = (_local3 + _arg1);
_local4++;
};
return (_local3);
}
public static function last(_arg1:Array){
return (_arg1[(_arg1.length - 1)]);
}
public static function positiveModulo(_arg1:Number, _arg2:Number):Number{
if (_arg1 >= 0){
return ((_arg1 % _arg2));
};
return (((_arg1 % _arg2) + _arg2));
}
public static function bitmapFromSprite(_arg1:Sprite):BitmapData{
var _local2:BitmapData;
var _local3:Rectangle;
_local2 = new BitmapData(Math.ceil(_arg1.width), Math.ceil(_arg1.height), true, 0);
_local3 = _arg1.getBounds(_arg1);
_local2.draw(_arg1, new Matrix(1, 0, 0, 1, -(_local3.left), -(_local3.top)));
return (_local2);
}
public static function whiteOut(_arg1:Number):ColorTransform{
var _local2:Number;
var _local3:Number;
if (_arg1 > 0.5){
_local2 = ((_arg1 - 0.5) * 2);
_local3 = (0xFF - (_local2 * 0xFF));
return (new ColorTransform(_local2, _local2, _local2, 1, _local3, _local3, _local3, 0));
};
return (new ColorTransform(0, 0, 0, (_arg1 * 2), 0xFF, 0xFF, 0xFF, 0));
}
public static function transformColor(_arg1:uint, _arg2:ColorTransform):uint{
var _local3:int;
var _local4:int;
var _local5:int;
_local3 = ((_arg1 >> 16) & 0xFF);
_local4 = ((_arg1 >> 8) & 0xFF);
_local5 = (_arg1 & 0xFF);
_local3 = ((_arg2.redMultiplier * _local3) + _arg2.redOffset);
_local4 = ((_arg2.greenMultiplier * _local4) + _arg2.greenOffset);
_local5 = ((_arg2.blueMultiplier * _local5) + _arg2.blueOffset);
if (_local3 < 0){
_local3 = 0;
};
if (_local3 > 0xFF){
_local3 = 0xFF;
};
if (_local4 < 0){
_local4 = 0;
};
if (_local4 > 0xFF){
_local4 = 0xFF;
};
if (_local5 < 0){
_local5 = 0;
};
if (_local5 > 0xFF){
_local5 = 0xFF;
};
return ((((_local3 << 16) + (_local4 << 8)) + _local5));
}
public static function createGrid(_arg1:Number, _arg2:Number, _arg3=null):Array{
var _local4:Array;
var _local5:Array;
var _local6:Number;
_local4 = [];
_local5 = [];
_local6 = 0;
while (_local6 < _arg2) {
_local5.push(_arg3);
_local6++;
};
_local6 = 0;
while (_local6 < _arg1) {
_local4.push(_local5.slice());
_local6++;
};
return (_local4);
}
public static function removeOnceFromList(_arg1, _arg2:Array):void{
var _local3:Number;
_local3 = (_arg2.length - 1);
while (_local3 >= 0) {
if (_arg2[_local3] == _arg1){
_arg2.splice(_local3, 1);
return;
};
_local3--;
};
}
public static function copyArrayDeep(_arg1:Array):Array{
var _local2:Array;
var _local3:Number;
_local2 = [];
_local3 = 0;
while (_local3 < _arg1.length) {
if ((_arg1[_local3] is Array)){
_local2.push(copyArrayDeep(_arg1[_local3]));
} else {
_local2.push(_arg1[_local3]);
};
_local3++;
};
return (_local2);
}
public static function trim(_arg1:String):String{
var _local2:Number;
var _local3:Number;
_local2 = 0;
_local3 = (_arg1.length - 1);
while ((((((((_arg1.charAt(_local2) == " ")) || ((_arg1.charAt(_local2) == "\t")))) || ((_arg1.charAt(_local2) == "\n")))) || ((_arg1.charAt(_local2) == "\r")))) {
_local2++;
};
while ((((((((_arg1.charAt(_local3) == " ")) || ((_arg1.charAt(_local3) == "\t")))) || ((_arg1.charAt(_local3) == "\n")))) || ((_arg1.charAt(_local3) == "\r")))) {
_local3--;
};
return (_arg1.substring(_local2, (_local3 + 1)));
}
public static function deceleratingSweep(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number):Number{
var _local6:Number;
var _local7:Number;
_local6 = ((_arg3)>0) ? -(_arg5) : _arg5;
_local7 = ((_arg3 * _arg3) / (2 * -(_local6)));
_local7 = (_local7 + _arg1);
if (_arg1 < _arg2){
if (_local7 > _arg2){
return (-(_arg5));
};
return (_arg4);
//unresolved jump
};
if (_local7 < _arg2){
return (_arg5);
};
return (-(_arg4));
}
public static function copyColorTransform(_arg1:ColorTransform):ColorTransform{
return (new ColorTransform(_arg1.redMultiplier, _arg1.greenMultiplier, _arg1.blueMultiplier, _arg1.alphaMultiplier, _arg1.redOffset, _arg1.greenOffset, _arg1.blueOffset, _arg1.alphaOffset));
}
public static function slide(_arg1:Number, _arg2:Number, _arg3:Number):Number{
if (_arg1 < _arg2){
_arg1 = (_arg1 + _arg3);
if (_arg1 > _arg2){
_arg1 = _arg2;
};
return (_arg1);
//unresolved jump
};
_arg1 = (_arg1 - _arg3);
if (_arg1 < _arg2){
_arg1 = _arg2;
};
return (_arg1);
}
public static function createList(_arg1:Number, _arg2=null):Array{
var _local3:Array;
var _local4:Number;
_local3 = [];
_local4 = 0;
while (_local4 < _arg1) {
_local3.push(_arg2);
_local4++;
};
return (_local3);
}
public static function findLabel(_arg1:MovieClip, _arg2:String):FrameLabel{
var _local3:Number;
_local3 = 0;
while (_local3 < _arg1.currentLabels.length) {
if (_arg1.currentLabels[_local3].name == _arg2){
return (_arg1.currentLabels[_local3]);
};
_local3++;
};
return (null);
}
public static function findInList(_arg1, _arg2:Array):Number{
var _local3:Number;
_local3 = 0;
while (_local3 < _arg2.length) {
if (_arg2[_local3] == _arg1){
return (_local3);
};
_local3++;
};
return (-1);
}
public static function childrenList(_arg1, _arg2:String):Array{
var _local3:Array;
var _local4:*;
_local3 = [];
for (_local4 in _arg1) {
_local3.push(_arg1[_local4][_arg2]);
};
return (_local3);
}
}
}//package com.nitrome.util
Section 79
//Key (com.nitrome.util.Key)
package com.nitrome.util {
import flash.display.*;
import flash.events.*;
public class Key {
public static const LEFT:uint = 37;
public static const NUMPAD_DECIMAL:uint = 110;
public static const A:uint = 65;
public static const B:uint = 66;
public static const C:uint = 67;
public static const D:uint = 68;
public static const E:uint = 69;
public static const F:uint = 70;
public static const G:uint = 71;
public static const H:uint = 72;
public static const I:uint = 73;
public static const J:uint = 74;
public static const K:uint = 75;
public static const L:uint = 76;
public static const M:uint = 77;
public static const N:uint = 78;
public static const O:uint = 79;
public static const P:uint = 80;
public static const Q:uint = 81;
public static const R:uint = 82;
public static const S:uint = 83;
public static const T:uint = 84;
public static const U:uint = 85;
public static const V:uint = 86;
public static const W:uint = 87;
public static const X:uint = 88;
public static const Y:uint = 89;
public static const Z:uint = 90;
public static const QUOTE:uint = 222;
public static const BACKSPACE:uint = 8;
public static const SHIFT:uint = 16;
public static const PAGE_UP:uint = 33;
public static const MINUS:uint = 189;
public static const ALTERNATE:uint = 18;
public static const PAGE_DOWN:uint = 34;
public static const ESCAPE:uint = 27;
public static const NUMPAD_ADD:uint = 107;
public static const SEMICOLON:uint = 186;
public static const UP:uint = 38;
public static const LEFTBRACKET:uint = 219;
public static const F3:uint = 114;
public static const F5:uint = 116;
public static const DOWN:uint = 40;
public static const F1:uint = 112;
public static const F2:uint = 113;
public static const F4:uint = 115;
public static const F6:uint = 117;
public static const F7:uint = 118;
public static const INSERT:uint = 45;
public static const NUMBER_1:uint = 49;
public static const NUMBER_3:uint = 51;
public static const NUMBER_4:uint = 52;
public static const ENTER:uint = 13;
public static const NUMBER_6:uint = 54;
public static const F9:uint = 120;
public static const COMMA:uint = 188;
public static const NUMBER_5:uint = 53;
public static const NUMBER_7:uint = 55;
public static const NUMBER_0:uint = 48;
public static const F8:uint = 119;
public static const NUMBER_2:uint = 50;
public static const NUMBER_8:uint = 56;
public static const NUMBER_9:uint = 57;
public static const END:uint = 35;
public static const NUMPAD_MULTIPLY:uint = 106;
public static const BACKSLASH:uint = 220;
public static const HOME:uint = 36;
public static const F10:uint = 121;
public static const F11:uint = 122;
public static const F12:uint = 123;
public static const F13:uint = 124;
public static const F14:uint = 125;
public static const F15:uint = 126;
public static const SPACE:uint = 32;
public static const RIGHTBRACKET:uint = 221;
public static const EQUAL:uint = 187;
public static const COMMAND:uint = 15;
public static const CONTROL:uint = 17;
public static const NUMPAD_ENTER:uint = 108;
public static const NUMPAD:uint = 21;
public static const SLASH:uint = 191;
public static const TAB:uint = 9;
public static const NUMPAD_DIVIDE:uint = 111;
public static const DELETE:uint = 46;
public static const NUMPAD_0:uint = 96;
public static const NUMPAD_1:uint = 97;
public static const NUMPAD_2:uint = 98;
public static const NUMPAD_3:uint = 99;
public static const NUMPAD_4:uint = 100;
public static const NUMPAD_5:uint = 101;
public static const NUMPAD_6:uint = 102;
public static const NUMPAD_7:uint = 103;
public static const NUMPAD_8:uint = 104;
public static const NUMPAD_9:uint = 105;
public static const PERIOD:uint = 190;
public static const CAPS_LOCK:uint = 20;
public static const NUMPAD_SUBTRACT:uint = 109;
public static const BACKQUOTE:uint = 192;
public static const RIGHT:uint = 39;
protected static var keysDown:Object = new Object();
protected static var initialized:Boolean = false;
public static function terminate(_arg1:Stage):void{
if (initialized){
_arg1.removeEventListener(KeyboardEvent.KEY_DOWN, keyPressed);
_arg1.removeEventListener(KeyboardEvent.KEY_UP, keyReleased);
_arg1.removeEventListener(Event.DEACTIVATE, clearKeys);
initialized = false;
keysDown = new Object();
};
}
public static function isReady():Boolean{
return (initialized);
}
protected static function keyReleased(_arg1:KeyboardEvent):void{
if ((_arg1.keyCode in keysDown)){
delete keysDown[_arg1.keyCode];
};
}
protected static function keyPressed(_arg1:KeyboardEvent):void{
keysDown[_arg1.keyCode] = true;
}
public static function isDown(_arg1:uint):Boolean{
if (!initialized){
trace("ERROR: Key class has not been initialized.");
};
return (Boolean((_arg1 in keysDown)));
}
public static function initialize(_arg1:Stage):void{
if (!initialized){
_arg1.addEventListener(KeyboardEvent.KEY_DOWN, keyPressed);
_arg1.addEventListener(KeyboardEvent.KEY_UP, keyReleased);
_arg1.addEventListener(Event.DEACTIVATE, clearKeys);
initialized = true;
};
}
protected static function clearKeys(_arg1:Event):void{
keysDown = new Object();
}
}
}//package com.nitrome.util
Section 80
//Lock (com.nitrome.util.Lock)
package com.nitrome.util {
import flash.display.*;
import flash.net.*;
public class Lock extends MovieClip {
public function Lock(){
addFrameScript(1, frame2);
}
function frame2(){
stop();
}
public static function urlLock(_arg1:Stage):void{
var _local2:String;
if (NitromeGame.isAtURL(NitromeGame.NITROME_URL) == true){
} else {
_arg1.addChild(new (Lock));
_local2 = ("http://www.nitrome.com/games/" + NitromeGame.game_id);
navigateToURL(new URLRequest(_local2), "_blank");
};
}
}
}//package com.nitrome.util
Section 81
//MD5 (com.nitrome.util.MD5)
package com.nitrome.util {
public class MD5 {
private var
:int;// = 8
private var :String;// = ""
public function MD5(_arg1:String=null, _arg2:int=0){
= "";
= 8;
super();
if (_arg1 != null){
this. = _arg1;
};
if (((((!((_arg2 == 0))) && ((_arg2 == 8)))) || ((_arg2 == 16)))){
this.
= _arg2;
};
}
private function
(_arg1:Array):String{
var _local2:String;
var _local3:String;
var _local4:int;
var _local5:int;
var _local6:int;
_local2 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
_local3 = new String("");
_local4 = 0;
while (_local4 < (_arg1.length * 4)) {
_local5 = (((((_arg1[(_local4 >> 2)] >> (8 * (_local4 % 4))) & 0xFF) << 16) | (((_arg1[((_local4 + 1) >> 2)] >> (8 * ((_local4 + 1) % 4))) & 0xFF) << 8)) | ((_arg1[((_local4 + 2) >> 2)] >> (8 * ((_local4 + 2) % 4))) & 0xFF));
_local6 = 0;
while (_local6 < 4) {
if (((_local4 * 8) + (_local6 * 6)) > (_arg1.length * 32)){
_local3 = (_local3 + );
} else {
_local3 = (_local3 + _local2.charAt(((_local5 >> (6 * (3 - _local6))) & 63)));
};
_local6++;
};
_local4 = (_local4 + 3);
};
return (_local3);
}
private function
(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int):int{
return ((
(((_arg2, _arg1), (_arg4, _arg6)), _arg5), _arg3));
}
private function
(_arg1:Array):String{
var _local2:String;
var _local3:int;
var _local4:int;
_local2 = new String("");
_local3 = ((1 <<
) - 1);
_local4 = 0;
while (_local4 < (_arg1.length * 32)) {
_local2 = (_local2 + String.fromCharCode(((_arg1[(_local4 >> 5)] >>> (_local4 % 32)) & _local3)));
_local4 = (_local4 +
);
};
return (_local2);
}
private function
(_arg1:String, _arg2:String):Array{
var _local3:Array;
var _local4:Array;
var _local5:Array;
var _local6:int;
var _local7:Array;
_local3 = new Array(
(_arg1));
if (_local3.length > 16){
_local3 =
(_local3, (_arg1.length *
));
};
_local4 = new Array(16);
_local5 = new Array(16);
_local6 = 0;
while (_local6 < 16) {
_local4[_local6] = (_local3[_local6] ^ 909522486);
_local5[_local6] = (_local3[_local6] ^ 1549556828);
_local6++;
};
_local7 = new Array(
(_local4.concat(
(_arg2)), (0x0200 + (_arg2.length *
))));
return (
(_local5.concat(_local7), (0x0200 + 128)));
}
private function
(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{
return (
(((_arg2 & _arg4) | (_arg3 & ~(_arg4))), _arg1, _arg2, _arg5, _arg6, _arg7));
}
private function
(_arg1:String, _arg2:String):String{
return ((
(_arg1, _arg2)));
}
public function hash(_arg1:String):String{
return (
(_arg1));
}
private function
(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{
return (
((_arg3 ^ (_arg2 | ~(_arg4))), _arg1, _arg2, _arg5, _arg6, _arg7));
}
private function
(_arg1:String):String{
return ((
(
(_arg1), (_arg1.length *
))));
}
private function
(_arg1:int, _arg2:int):int{
return (((_arg1 << _arg2) | (_arg1 >>> (32 - _arg2))));
}
private function
(_arg1:Array, _arg2:int):Array{
var _local3:int;
var _local4:int;
var _local5:int;
var _local6:int;
var _local7:int;
var _local8:int;
var _local9:int;
var _local10:int;
var _local11:int;
_arg1[(_arg2 >> 5)] = (_arg1[(_arg2 >> 5)] | (128 << (_arg2 % 32)));
_arg1[((((_arg2 + 64) >>> 9) << 4) + 14)] = _arg2;
_local3 = 1732584193;
_local4 = -271733879;
_local5 = -1732584194;
_local6 = 271733878;
_local7 = 0;
while (_local7 < _arg1.length) {
_local8 = _local3;
_local9 = _local4;
_local10 = _local5;
_local11 = _local6;
_local3 = (_local3, _local4, _local5, _local6, _arg1[(_local7 + 0)], 7, -680876936);
_local6 = (_local6, _local3, _local4, _local5, _arg1[(_local7 + 1)], 12, -389564586);
_local5 = (_local5, _local6, _local3, _local4, _arg1[(_local7 + 2)], 17, 606105819);
_local4 = (_local4, _local5, _local6, _local3, _arg1[(_local7 + 3)], 22, -1044525330);
_local3 = (_local3, _local4, _local5, _local6, _arg1[(_local7 + 4)], 7, -176418897);
_local6 = (_local6, _local3, _local4, _local5, _arg1[(_local7 + 5)], 12, 1200080426);
_local5 = (_local5, _local6, _local3, _local4, _arg1[(_local7 + 6)], 17, -1473231341);
_local4 = (_local4, _local5, _local6, _local3, _arg1[(_local7 + 7)], 22, -45705983);
_local3 = (_local3, _local4, _local5, _local6, _arg1[(_local7 + 8)], 7, 1770035416);
_local6 = (_local6, _local3, _local4, _local5, _arg1[(_local7 + 9)], 12, -1958414417);
_local5 = (_local5, _local6, _local3, _local4, _arg1[(_local7 + 10)], 17, -42063);
_local4 = (_local4, _local5, _local6, _local3, _arg1[(_local7 + 11)], 22, -1990404162);
_local3 = (_local3, _local4, _local5, _local6, _arg1[(_local7 + 12)], 7, 1804603682);
_local6 = (_local6, _local3, _local4, _local5, _arg1[(_local7 + 13)], 12, -40341101);
_local5 = (_local5, _local6, _local3, _local4, _arg1[(_local7 + 14)], 17, -1502002290);
_local4 = (_local4, _local5, _local6, _local3, _arg1[(_local7 + 15)], 22, 1236535329);
_local3 =
(_local3, _local4, _local5, _local6, _arg1[(_local7 + 1)], 5, -165796510);
_local6 =
(_local6, _local3, _local4, _local5, _arg1[(_local7 + 6)], 9, -1069501632);
_local5 =
(_local5, _local6, _local3, _local4, _arg1[(_local7 + 11)], 14, 643717713);
_local4 =
(_local4, _local5, _local6, _local3, _arg1[(_local7 + 0)], 20, -373897302);
_local3 =
(_local3, _local4, _local5, _local6, _arg1[(_local7 + 5)], 5, -701558691);
_local6 =
(_local6, _local3, _local4, _local5, _arg1[(_local7 + 10)], 9, 38016083);
_local5 =
(_local5, _local6, _local3, _local4, _arg1[(_local7 + 15)], 14, -660478335);
_local4 =
(_local4, _local5, _local6, _local3, _arg1[(_local7 + 4)], 20, -405537848);
_local3 =
(_local3, _local4, _local5, _local6, _arg1[(_local7 + 9)], 5, 568446438);
_local6 =
(_local6, _local3, _local4, _local5, _arg1[(_local7 + 14)], 9, -1019803690);
_local5 =
(_local5, _local6, _local3, _local4, _arg1[(_local7 + 3)], 14, -187363961);
_local4 =
(_local4, _local5, _local6, _local3, _arg1[(_local7 + 8)], 20, 1163531501);
_local3 =
(_local3, _local4, _local5, _local6, _arg1[(_local7 + 13)], 5, -1444681467);
_local6 =
(_local6, _local3, _local4, _local5, _arg1[(_local7 + 2)], 9, -51403784);
_local5 =
(_local5, _local6, _local3, _local4, _arg1[(_local7 + 7)], 14, 1735328473);
_local4 =
(_local4, _local5, _local6, _local3, _arg1[(_local7 + 12)], 20, -1926607734);
_local3 =
(_local3, _local4, _local5, _local6, _arg1[(_local7 + 5)], 4, -378558);
_local6 =
(_local6, _local3, _local4, _local5, _arg1[(_local7 + 8)], 11, -2022574463);
_local5 =
(_local5, _local6, _local3, _local4, _arg1[(_local7 + 11)], 16, 1839030562);
_local4 =
(_local4, _local5, _local6, _local3, _arg1[(_local7 + 14)], 23, -35309556);
_local3 =
(_local3, _local4, _local5, _local6, _arg1[(_local7 + 1)], 4, -1530992060);
_local6 =
(_local6, _local3, _local4, _local5, _arg1[(_local7 + 4)], 11, 1272893353);
_local5 =
(_local5, _local6, _local3, _local4, _arg1[(_local7 + 7)], 16, -155497632);
_local4 =
(_local4, _local5, _local6, _local3, _arg1[(_local7 + 10)], 23, -1094730640);
_local3 =
(_local3, _local4, _local5, _local6, _arg1[(_local7 + 13)], 4, 681279174);
_local6 =
(_local6, _local3, _local4, _local5, _arg1[(_local7 + 0)], 11, -358537222);
_local5 =
(_local5, _local6, _local3, _local4, _arg1[(_local7 + 3)], 16, -722521979);
_local4 =
(_local4, _local5, _local6, _local3, _arg1[(_local7 + 6)], 23, 76029189);
_local3 =
(_local3, _local4, _local5, _local6, _arg1[(_local7 + 9)], 4, -640364487);
_local6 =
(_local6, _local3, _local4, _local5, _arg1[(_local7 + 12)], 11, -421815835);
_local5 =
(_local5, _local6, _local3, _local4, _arg1[(_local7 + 15)], 16, 530742520);
_local4 =
(_local4, _local5, _local6, _local3, _arg1[(_local7 + 2)], 23, -995338651);
_local3 =
(_local3, _local4, _local5, _local6, _arg1[(_local7 + 0)], 6, -198630844);
_local6 =
(_local6, _local3, _local4, _local5, _arg1[(_local7 + 7)], 10, 1126891415);
_local5 =
(_local5, _local6, _local3, _local4, _arg1[(_local7 + 14)], 15, -1416354905);
_local4 =
(_local4, _local5, _local6, _local3, _arg1[(_local7 + 5)], 21, -57434055);
_local3 =
(_local3, _local4, _local5, _local6, _arg1[(_local7 + 12)], 6, 1700485571);
_local6 =
(_local6, _local3, _local4, _local5, _arg1[(_local7 + 3)], 10, -1894986606);
_local5 =
(_local5, _local6, _local3, _local4, _arg1[(_local7 + 10)], 15, -1051523);
_local4 =
(_local4, _local5, _local6, _local3, _arg1[(_local7 + 1)], 21, -2054922799);
_local3 =
(_local3, _local4, _local5, _local6, _arg1[(_local7 + 8)], 6, 1873313359);
_local6 =
(_local6, _local3, _local4, _local5, _arg1[(_local7 + 15)], 10, -30611744);
_local5 =
(_local5, _local6, _local3, _local4, _arg1[(_local7 + 6)], 15, -1560198380);
_local4 =
(_local4, _local5, _local6, _local3, _arg1[(_local7 + 13)], 21, 1309151649);
_local3 =
(_local3, _local4, _local5, _local6, _arg1[(_local7 + 4)], 6, -145523070);
_local6 =
(_local6, _local3, _local4, _local5, _arg1[(_local7 + 11)], 10, -1120210379);
_local5 =
(_local5, _local6, _local3, _local4, _arg1[(_local7 + 2)], 15, 718787259);
_local4 =
(_local4, _local5, _local6, _local3, _arg1[(_local7 + 9)], 21, -343485551);
_local3 = (_local3, _local8);
_local4 = (_local4, _local9);
_local5 = (_local5, _local10);
_local6 = (_local6, _local11);
_local7 = (_local7 + 16);
};
return (new Array(_local3, _local4, _local5, _local6));
}
private function
(_arg1:String):String{
return (
(
(
(_arg1), (_arg1.length *
))));
}
private function
(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{
return (
(((_arg2 ^ _arg3) ^ _arg4), _arg1, _arg2, _arg5, _arg6, _arg7));
}
private function
(_arg1:String, _arg2:String):String{
return (
(
(_arg1, _arg2)));
}
private function
(_arg1:String):Array{
var _local2:Array;
var _local3:int;
var _local4:int;
_local2 = new Array();
_local3 = ((1 <<
) - 1);
_local4 = 0;
while (_local4 < (_arg1.length *
)) {
_local2[(_local4 >> 5)] = (_local2[(_local4 >> 5)] | ((_arg1.charCodeAt((_local4 /
)) & _local3) << (_local4 % 32)));
_local4 = (_local4 +
);
};
return (_local2);
}
private function (_arg1:Array):String{
var _local2:String;
var _local3:String;
var _local4:int;
_local2 = "0123456789abcdef";
_local3 = new String("");
_local4 = 0;
while (_local4 < (_arg1.length * 4)) {
_local3 = (_local3 + (_local2.charAt(((_arg1[(_local4 >> 2)] >> (((_local4 % 4) * 8) + 4)) & 15)) + _local2.charAt(((_arg1[(_local4 >> 2)] >> ((_local4 % 4) * 8)) & 15))));
_local4++;
};
return (_local3);
}
private function (_arg1:Number, _arg2:Number):Number{
var _local3:int;
var _local4:int;
_local3 = ((_arg1 & 0xFFFF) + (_arg2 & 0xFFFF));
_local4 = (((_arg1 >> 16) + (_arg2 >> 16)) + (_local3 >> 16));
return (((_local4 << 16) | (_local3 & 0xFFFF)));
}
private function (_arg1:String):String{
return (
(
(
(_arg1), (_arg1.length *
))));
}
private function (_arg1:String, _arg2:String):String{
return (
(
(_arg1, _arg2)));
}
private function (_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{
return (
(((_arg2 & _arg3) | (~(_arg2) & _arg4)), _arg1, _arg2, _arg5, _arg6, _arg7));
}
}
}//package com.nitrome.util
Section 82
//armsReturn_105 (Faultline_fla.armsReturn_105)
package Faultline_fla {
import flash.display.*;
public dynamic class armsReturn_105 extends MovieClip {
public function armsReturn_105(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Faultline_fla
Section 83
//armsShoot_106 (Faultline_fla.armsShoot_106)
package Faultline_fla {
import flash.display.*;
public dynamic class armsShoot_106 extends MovieClip {
public function armsShoot_106(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Faultline_fla
Section 84
//breakableBlock_113 (Faultline_fla.breakableBlock_113)
package Faultline_fla {
import flash.display.*;
public dynamic class breakableBlock_113 extends MovieClip {
public function breakableBlock_113(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Faultline_fla
Section 85
//buttons_189 (Faultline_fla.buttons_189)
package Faultline_fla {
import flash.display.*;
public dynamic class buttons_189 extends MovieClip {
public var __id3_:FaultlineFont;
public function buttons_189(){
();
}
function (){
try {
__id3_["componentInspectorSetting"] = true;
} catch(e:Error) {
};
__id3_.align = "center";
__id3_.align_vert = "center";
__id3_.blackStrength = 1;
__id3_.color = 0xFFFFFF;
__id3_.id = "None";
__id3_.line_spacing = 18;
__id3_.text = "Play";
__id3_.tracking = 0;
__id3_.whiteStrength = 1;
try {
__id3_["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
}
}//package Faultline_fla
Section 86
//checkpoint_104 (Faultline_fla.checkpoint_104)
package Faultline_fla {
import flash.display.*;
public dynamic class checkpoint_104 extends MovieClip {
public function checkpoint_104(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Faultline_fla
Section 87
//deathArrive_100 (Faultline_fla.deathArrive_100)
package Faultline_fla {
import flash.display.*;
public dynamic class deathArrive_100 extends MovieClip {
public function deathArrive_100(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Faultline_fla
Section 88
//deathTransit_101 (Faultline_fla.deathTransit_101)
package Faultline_fla {
import flash.display.*;
public dynamic class deathTransit_101 extends MovieClip {
public function deathTransit_101(){
addFrameScript(0, frame1, 51, frame52);
}
function frame1(){
stop();
}
function frame52(){
gotoAndStop(1);
}
}
}//package Faultline_fla
Section 89
//electricity_115 (Faultline_fla.electricity_115)
package Faultline_fla {
import flash.display.*;
public dynamic class electricity_115 extends MovieClip {
public function electricity_115(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Faultline_fla
Section 90
//entry_112 (Faultline_fla.entry_112)
package Faultline_fla {
import flash.display.*;
public dynamic class entry_112 extends MovieClip {
public function entry_112(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Faultline_fla
Section 91
//entryAttachArm_111 (Faultline_fla.entryAttachArm_111)
package Faultline_fla {
import flash.display.*;
public dynamic class entryAttachArm_111 extends MovieClip {
public function entryAttachArm_111(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Faultline_fla
Section 92
//entryLand_116 (Faultline_fla.entryLand_116)
package Faultline_fla {
import flash.display.*;
public dynamic class entryLand_116 extends MovieClip {
public function entryLand_116(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Faultline_fla
Section 93
//exit_110 (Faultline_fla.exit_110)
package Faultline_fla {
import flash.display.*;
public dynamic class exit_110 extends MovieClip {
public function exit_110(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Faultline_fla
Section 94
//explosion_102 (Faultline_fla.explosion_102)
package Faultline_fla {
import flash.display.*;
public dynamic class explosion_102 extends MovieClip {
public function explosion_102(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Faultline_fla
Section 95
//fold_107 (Faultline_fla.fold_107)
package Faultline_fla {
import flash.display.*;
public dynamic class fold_107 extends MovieClip {
public function fold_107(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Faultline_fla
Section 96
//foldedMyself_114 (Faultline_fla.foldedMyself_114)
package Faultline_fla {
import flash.display.*;
public dynamic class foldedMyself_114 extends MovieClip {
public function foldedMyself_114(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Faultline_fla
Section 97
//instances_3 (Faultline_fla.instances_3)
package Faultline_fla {
import flash.display.*;
public dynamic class instances_3 extends MovieClip {
public function instances_3(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Faultline_fla
Section 98
//instructionsscreen_195 (Faultline_fla.instructionsscreen_195)
package Faultline_fla {
import flash.display.*;
import com.nitrome.game.*;
public dynamic class instructionsscreen_195 extends MovieClip {
public var next:NextHelpButton;
public var prev:PreviousHelpButton;
public function instructionsscreen_195(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Faultline_fla
Section 99
//introOpen_119 (Faultline_fla.introOpen_119)
package Faultline_fla {
import flash.display.*;
public dynamic class introOpen_119 extends MovieClip {
public function introOpen_119(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Faultline_fla
Section 100
//jump_109 (Faultline_fla.jump_109)
package Faultline_fla {
import flash.display.*;
public dynamic class jump_109 extends MovieClip {
public function jump_109(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Faultline_fla
Section 101
//land_103 (Faultline_fla.land_103)
package Faultline_fla {
import flash.display.*;
public dynamic class land_103 extends MovieClip {
public function land_103(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Faultline_fla
Section 102
//MainTimeline (Faultline_fla.MainTimeline)
package Faultline_fla {
import com.nitrome.folding.*;
import flash.display.*;
import flash.net.*;
import flash.events.*;
import flash.text.*;
import com.nitrome.game.*;
import com.nitrome.util.*;
import flash.utils.*;
public dynamic class MainTimeline extends MovieClip {
public var __setPropDict:Dictionary;
public var __id0_:FaultlineFont;
public var content:MovieClip;
public var button10:LevelStartButton;
public var button11:LevelStartButton;
public var button12:LevelStartButton;
public var button13:LevelStartButton;
public var button14:LevelStartButton;
public var button15:LevelStartButton;
public var button16:LevelStartButton;
public var button17:LevelStartButton;
public var button18:LevelStartButton;
public var button19:LevelStartButton;
public var __id4_:FaultlineFont;
public var button21:LevelStartButton;
public var button23:LevelStartButton;
public var button25:LevelStartButton;
public var button26:LevelStartButton;
public var button27:LevelStartButton;
public var button28:LevelStartButton;
public var button29:LevelStartButton;
public var progressText:TextField;
public var button24:LevelStartButton;
public var __id5_:FaultlineFont;
public var pauseGame:PauseButton;
public var button20:LevelStartButton;
public var button22:LevelStartButton;
public var button30:LevelStartButton;
public var __id6_:FaultlineFont;
public var button1:LevelStartButton;
public var button4:LevelStartButton;
public var button5:LevelStartButton;
public var button6:LevelStartButton;
public var button7:LevelStartButton;
public var button9:LevelStartButton;
public var button3:LevelStartButton;
public var button8:LevelStartButton;
public var button2:LevelStartButton;
public var curves_clip:MovieClip;
public var __id7_:FaultlineFont;
public var __id8_:FaultlineFont;
public var popupHolder:MovieClip;
public var scoreField:TextField;
public function MainTimeline(){
__setPropDict = new Dictionary(true);
super();
addFrameScript(1, frame2, 22,
, 32, , 41, , 61, , 91, , 101, frame102, 81, , 82, , 83, , 84, , 85, , 86, , 87, , 88, , 89,
, 90, , 71,
, 72,
, 73, , 74,
, 75,
, 76,
, 77,
, 78,
, 79,
, 80, , 51, frame52, 52,
, 53,
, 54,
, 55, frame56, 56,
, 57,
, 58, , 59, , 60, , 62, , 63, , 64, , 65, , 66, frame67, 67, , 68, , 69, frame70, 70, , 102, , 103, , 104, , 105, , 106, , 107, , 108, , 109, , 110,
, 42,
, 43,
, 44,
, 45,
, 46,
, 47,
, 48,
, 49,
, 50,
, 0, frame1, 2, frame3);
}
public function (_arg1:Event):void{
var _local2:Number;
var _local3:Number;
var _local4:Number;
_local2 = loaderInfo.bytesLoaded;
_local3 = loaderInfo.bytesTotal;
_local4 = Math.round(((_local2 / _local3) * 100));
progressText.text = String((_local4 + "%"));
if (loaderInfo.bytesLoaded >= loaderInfo.bytesTotal){
removeEventListener(Event.ENTER_FRAME, );
if (Controller.SKIP_MENUS){
NitromeGame.transition.doTween("game");
} else {
NitromeGame.transition.doTween("nitrome");
};
};
}
function (){
try {
__id5_["componentInspectorSetting"] = true;
} catch(e:Error) {
};
__id5_.align = "left";
__id5_.align_vert = "center";
__id5_.blackStrength = 1;
__id5_.color = 0xFFFFFF;
__id5_.id = "None";
__id5_.line_spacing = 18;
__id5_.text = "artwork";
__id5_.tracking = 0;
__id5_.whiteStrength = 1;
try {
__id5_["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
public function ():void{
var _local1:SharedObject;
var _local2:Number;
var _local3:LevelStartButton;
_local1 = NitromeGame.getSharedObject();
_local2 = 1;
while (_local2 <= 30) {
_local3 = (getChildByName(("button" + _local2.toString())) as LevelStartButton);
_local3.init(_local1);
_local2++;
};
_local1.close();
}
function frame2(){
if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 1)) && ((int(__setPropDict[__id0_]) <= 3))))))){
__setPropDict[__id0_] = currentFrame;
();
};
NitromeGame.init((root as MovieClip), "faultline", "specialty", 30);
stage.showDefaultContextMenu = false;
addEventListener(Event.ENTER_FRAME, );
stop();
}
function frame3(){
if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 1)) && ((int(__setPropDict[__id0_]) <= 3))))))){
__setPropDict[__id0_] = currentFrame;
();
};
}
function frame1(){
if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 1)) && ((int(__setPropDict[__id0_]) <= 3))))))){
__setPropDict[__id0_] = currentFrame;
();
};
}
function
(){
if (!Controller.DEBUG){
Lock.urlLock(stage);
};
}
function (){
NitromeGame.sound_manager.playMusic(SoundManager.MENU);
}
function (){
if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 42)) && ((int(__setPropDict[__id4_]) <= 51))))))){
__setPropDict[__id4_] = currentFrame;
();
};
();
}
function
(){
if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 42)) && ((int(__setPropDict[__id4_]) <= 51))))))){
__setPropDict[__id4_] = currentFrame;
();
};
}
function
(){
try {
__id6_["componentInspectorSetting"] = true;
} catch(e:Error) {
};
__id6_.align = "left";
__id6_.align_vert = "center";
__id6_.blackStrength = 1;
__id6_.color = 0xFFFFFF;
__id6_.id = "None";
__id6_.line_spacing = 18;
__id6_.text = "programming";
__id6_.tracking = 0;
__id6_.whiteStrength = 1;
try {
__id6_["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
function
(){
if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 42)) && ((int(__setPropDict[__id4_]) <= 51))))))){
__setPropDict[__id4_] = currentFrame;
();
};
}
function
(){
if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 42)) && ((int(__setPropDict[__id4_]) <= 51))))))){
__setPropDict[__id4_] = currentFrame;
();
};
}
function
(){
if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 42)) && ((int(__setPropDict[__id4_]) <= 51))))))){
__setPropDict[__id4_] = currentFrame;
();
};
}
function
(){
if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 42)) && ((int(__setPropDict[__id4_]) <= 51))))))){
__setPropDict[__id4_] = currentFrame;
();
};
}
function
(){
if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 42)) && ((int(__setPropDict[__id4_]) <= 51))))))){
__setPropDict[__id4_] = currentFrame;
();
};
}
function
(){
if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 42)) && ((int(__setPropDict[__id4_]) <= 51))))))){
__setPropDict[__id4_] = currentFrame;
();
};
}
function
(){
if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 42)) && ((int(__setPropDict[__id4_]) <= 51))))))){
__setPropDict[__id4_] = currentFrame;
();
};
}
function frame52(){
if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 52)) && ((int(__setPropDict[__id4_]) <= 71))))))){
__setPropDict[__id4_] = currentFrame;
();
};
}
function
(){
if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 52)) && ((int(__setPropDict[__id4_]) <= 71))))))){
__setPropDict[__id4_] = currentFrame;
();
};
}
function
(){
if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 52)) && ((int(__setPropDict[__id4_]) <= 71))))))){
__setPropDict[__id4_] = currentFrame;
();
};
}
function
(){
if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 52)) && ((int(__setPropDict[__id4_]) <= 71))))))){
__setPropDict[__id4_] = currentFrame;
();
};
}
function frame56(){
if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 52)) && ((int(__setPropDict[__id4_]) <= 71))))))){
__setPropDict[__id4_] = currentFrame;
();
};
}
function
(){
if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 52)) && ((int(__setPropDict[__id4_]) <= 71))))))){
__setPropDict[__id4_] = currentFrame;
();
};
}
function
(){
if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 52)) && ((int(__setPropDict[__id4_]) <= 71))))))){
__setPropDict[__id4_] = currentFrame;
();
};
}
function (){
if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 52)) && ((int(__setPropDict[__id4_]) <= 71))))))){
__setPropDict[__id4_] = currentFrame;
();
};
}
function (){
if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 52)) && ((int(__setPropDict[__id4_]) <= 71))))))){
__setPropDict[__id4_] = currentFrame;
();
};
}
function (){
if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 52)) && ((int(__setPropDict[__id4_]) <= 71))))))){
__setPropDict[__id4_] = currentFrame;
();
};
NitromeGame.sound_manager.playMusic(SoundManager.MENU);
}
function (){
if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 52)) && ((int(__setPropDict[__id4_]) <= 71))))))){
__setPropDict[__id4_] = currentFrame;
();
};
}
function (){
if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 52)) && ((int(__setPropDict[__id4_]) <= 71))))))){
__setPropDict[__id4_] = currentFrame;
();
};
}
function (){
if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 52)) && ((int(__setPropDict[__id4_]) <= 71))))))){
__setPropDict[__id4_] = currentFrame;
();
};
}
function (){
if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 52)) && ((int(__setPropDict[__id4_]) <= 71))))))){
__setPropDict[__id4_] = currentFrame;
();
};
}
function (){
if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 52)) && ((int(__setPropDict[__id4_]) <= 71))))))){
__setPropDict[__id4_] = currentFrame;
();
};
}
function frame67(){
if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 52)) && ((int(__setPropDict[__id4_]) <= 71))))))){
__setPropDict[__id4_] = currentFrame;
();
};
}
function (){
if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 52)) && ((int(__setPropDict[__id4_]) <= 71))))))){
__setPropDict[__id4_] = currentFrame;
();
};
}
function frame70(){
if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 52)) && ((int(__setPropDict[__id4_]) <= 71))))))){
__setPropDict[__id4_] = currentFrame;
();
};
}
function
(){
try {
__id4_["componentInspectorSetting"] = true;
} catch(e:Error) {
};
__id4_.align = "center";
__id4_.align_vert = "center";
__id4_.blackStrength = 1;
__id4_.color = 0xFFFFFF;
__id4_.id = "None";
__id4_.line_spacing = 18;
__id4_.text = "Level Select";
__id4_.tracking = 0;
__id4_.whiteStrength = 1;
try {
__id4_["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
function
(){
if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 72)) && ((int(__setPropDict[__id4_]) <= 81))))))){
__setPropDict[__id4_] = currentFrame;
();
};
}
function
(){
if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 72)) && ((int(__setPropDict[__id4_]) <= 81))))))){
__setPropDict[__id4_] = currentFrame;
();
};
}
function
(){
if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 72)) && ((int(__setPropDict[__id4_]) <= 81))))))){
__setPropDict[__id4_] = currentFrame;
();
};
}
function
(){
try {
__id4_["componentInspectorSetting"] = true;
} catch(e:Error) {
};
__id4_.align = "center";
__id4_.align_vert = "center";
__id4_.blackStrength = 1;
__id4_.color = 0xFFFFFF;
__id4_.id = "None";
__id4_.line_spacing = 18;
__id4_.text = "High Scores";
__id4_.tracking = 0;
__id4_.whiteStrength = 1;
try {
__id4_["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
function
(){
if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 72)) && ((int(__setPropDict[__id4_]) <= 81))))))){
__setPropDict[__id4_] = currentFrame;
();
};
}
function
(){
if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 42)) && ((int(__setPropDict[__id4_]) <= 51))))))){
__setPropDict[__id4_] = currentFrame;
();
};
}
function
(){
try {
__id8_["componentInspectorSetting"] = true;
} catch(e:Error) {
};
__id8_.align = "center";
__id8_.align_vert = "center";
__id8_.blackStrength = 1;
__id8_.color = 0xFFFFFF;
__id8_.id = "None";
__id8_.line_spacing = 18;
__id8_.text = "congratulations!";
__id8_.tracking = 0;
__id8_.whiteStrength = 1;
try {
__id8_["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
function
(){
if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 72)) && ((int(__setPropDict[__id4_]) <= 81))))))){
__setPropDict[__id4_] = currentFrame;
();
};
}
function
(){
if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 72)) && ((int(__setPropDict[__id4_]) <= 81))))))){
__setPropDict[__id4_] = currentFrame;
();
};
}
function (){
if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 72)) && ((int(__setPropDict[__id4_]) <= 81))))))){
__setPropDict[__id4_] = currentFrame;
();
};
}
function (){
if ((((__setPropDict[__id6_] == undefined)) || (!((((int(__setPropDict[__id6_]) >= 82)) && ((int(__setPropDict[__id6_]) <= 91))))))){
__setPropDict[__id6_] = currentFrame;
();
};
if ((((__setPropDict[__id7_] == undefined)) || (!((((int(__setPropDict[__id7_]) >= 82)) && ((int(__setPropDict[__id7_]) <= 91))))))){
__setPropDict[__id7_] = currentFrame;
();
};
if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 82)) && ((int(__setPropDict[__id5_]) <= 91))))))){
__setPropDict[__id5_] = currentFrame;
();
};
if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 82)) && ((int(__setPropDict[__id4_]) <= 91))))))){
__setPropDict[__id4_] = currentFrame;
();
};
}
function (){
if ((((__setPropDict[__id6_] == undefined)) || (!((((int(__setPropDict[__id6_]) >= 82)) && ((int(__setPropDict[__id6_]) <= 91))))))){
__setPropDict[__id6_] = currentFrame;
();
};
if ((((__setPropDict[__id7_] == undefined)) || (!((((int(__setPropDict[__id7_]) >= 82)) && ((int(__setPropDict[__id7_]) <= 91))))))){
__setPropDict[__id7_] = currentFrame;
();
};
if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 82)) && ((int(__setPropDict[__id5_]) <= 91))))))){
__setPropDict[__id5_] = currentFrame;
();
};
if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 82)) && ((int(__setPropDict[__id4_]) <= 91))))))){
__setPropDict[__id4_] = currentFrame;
();
};
}
function (){
if ((((__setPropDict[__id6_] == undefined)) || (!((((int(__setPropDict[__id6_]) >= 82)) && ((int(__setPropDict[__id6_]) <= 91))))))){
__setPropDict[__id6_] = currentFrame;
();
};
if ((((__setPropDict[__id7_] == undefined)) || (!((((int(__setPropDict[__id7_]) >= 82)) && ((int(__setPropDict[__id7_]) <= 91))))))){
__setPropDict[__id7_] = currentFrame;
();
};
if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 82)) && ((int(__setPropDict[__id5_]) <= 91))))))){
__setPropDict[__id5_] = currentFrame;
();
};
if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 82)) && ((int(__setPropDict[__id4_]) <= 91))))))){
__setPropDict[__id4_] = currentFrame;
();
};
}
function (){
if ((((__setPropDict[__id6_] == undefined)) || (!((((int(__setPropDict[__id6_]) >= 82)) && ((int(__setPropDict[__id6_]) <= 91))))))){
__setPropDict[__id6_] = currentFrame;
();
};
if ((((__setPropDict[__id7_] == undefined)) || (!((((int(__setPropDict[__id7_]) >= 82)) && ((int(__setPropDict[__id7_]) <= 91))))))){
__setPropDict[__id7_] = currentFrame;
();
};
if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 82)) && ((int(__setPropDict[__id5_]) <= 91))))))){
__setPropDict[__id5_] = currentFrame;
();
};
if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 82)) && ((int(__setPropDict[__id4_]) <= 91))))))){
__setPropDict[__id4_] = currentFrame;
();
};
}
function (){
if ((((__setPropDict[__id6_] == undefined)) || (!((((int(__setPropDict[__id6_]) >= 82)) && ((int(__setPropDict[__id6_]) <= 91))))))){
__setPropDict[__id6_] = currentFrame;
();
};
if ((((__setPropDict[__id7_] == undefined)) || (!((((int(__setPropDict[__id7_]) >= 82)) && ((int(__setPropDict[__id7_]) <= 91))))))){
__setPropDict[__id7_] = currentFrame;
();
};
if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 82)) && ((int(__setPropDict[__id5_]) <= 91))))))){
__setPropDict[__id5_] = currentFrame;
();
};
if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 82)) && ((int(__setPropDict[__id4_]) <= 91))))))){
__setPropDict[__id4_] = currentFrame;
();
};
}
function (){
if ((((__setPropDict[__id6_] == undefined)) || (!((((int(__setPropDict[__id6_]) >= 82)) && ((int(__setPropDict[__id6_]) <= 91))))))){
__setPropDict[__id6_] = currentFrame;
();
};
if ((((__setPropDict[__id7_] == undefined)) || (!((((int(__setPropDict[__id7_]) >= 82)) && ((int(__setPropDict[__id7_]) <= 91))))))){
__setPropDict[__id7_] = currentFrame;
();
};
if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 82)) && ((int(__setPropDict[__id5_]) <= 91))))))){
__setPropDict[__id5_] = currentFrame;
();
};
if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 82)) && ((int(__setPropDict[__id4_]) <= 91))))))){
__setPropDict[__id4_] = currentFrame;
();
};
}
function (){
try {
__id0_["componentInspectorSetting"] = true;
} catch(e:Error) {
};
__id0_.align = "center";
__id0_.align_vert = "center";
__id0_.blackStrength = 1;
__id0_.color = 0xFFFFFF;
__id0_.id = "None";
__id0_.line_spacing = 18;
__id0_.text = "Loading...";
__id0_.tracking = 0;
__id0_.whiteStrength = 1;
try {
__id0_["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
function
(){
if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 72)) && ((int(__setPropDict[__id4_]) <= 81))))))){
__setPropDict[__id4_] = currentFrame;
();
};
}
function (){
if ((((__setPropDict[__id6_] == undefined)) || (!((((int(__setPropDict[__id6_]) >= 82)) && ((int(__setPropDict[__id6_]) <= 91))))))){
__setPropDict[__id6_] = currentFrame;
();
};
if ((((__setPropDict[__id7_] == undefined)) || (!((((int(__setPropDict[__id7_]) >= 82)) && ((int(__setPropDict[__id7_]) <= 91))))))){
__setPropDict[__id7_] = currentFrame;
();
};
if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 82)) && ((int(__setPropDict[__id5_]) <= 91))))))){
__setPropDict[__id5_] = currentFrame;
();
};
if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 82)) && ((int(__setPropDict[__id4_]) <= 91))))))){
__setPropDict[__id4_] = currentFrame;
();
};
}
function (){
if ((((__setPropDict[__id6_] == undefined)) || (!((((int(__setPropDict[__id6_]) >= 82)) && ((int(__setPropDict[__id6_]) <= 91))))))){
__setPropDict[__id6_] = currentFrame;
();
};
if ((((__setPropDict[__id7_] == undefined)) || (!((((int(__setPropDict[__id7_]) >= 82)) && ((int(__setPropDict[__id7_]) <= 91))))))){
__setPropDict[__id7_] = currentFrame;
();
};
if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 82)) && ((int(__setPropDict[__id5_]) <= 91))))))){
__setPropDict[__id5_] = currentFrame;
();
};
if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 82)) && ((int(__setPropDict[__id4_]) <= 91))))))){
__setPropDict[__id4_] = currentFrame;
();
};
}
function
(){
if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 72)) && ((int(__setPropDict[__id4_]) <= 81))))))){
__setPropDict[__id4_] = currentFrame;
();
};
}
function (){
try {
__id7_["componentInspectorSetting"] = true;
} catch(e:Error) {
};
__id7_.align = "left";
__id7_.align_vert = "center";
__id7_.blackStrength = 1;
__id7_.color = 0xFFFFFF;
__id7_.id = "None";
__id7_.line_spacing = 18;
__id7_.text = "music";
__id7_.tracking = 0;
__id7_.whiteStrength = 1;
try {
__id7_["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
function (){
try {
__id4_["componentInspectorSetting"] = true;
} catch(e:Error) {
};
__id4_.align = "center";
__id4_.align_vert = "center";
__id4_.blackStrength = 1;
__id4_.color = 0xFFFFFF;
__id4_.id = "None";
__id4_.line_spacing = 18;
__id4_.text = "Help";
__id4_.tracking = 0;
__id4_.whiteStrength = 1;
try {
__id4_["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
function
(){
if ((((__setPropDict[__id6_] == undefined)) || (!((((int(__setPropDict[__id6_]) >= 82)) && ((int(__setPropDict[__id6_]) <= 91))))))){
__setPropDict[__id6_] = currentFrame;
();
};
if ((((__setPropDict[__id7_] == undefined)) || (!((((int(__setPropDict[__id7_]) >= 82)) && ((int(__setPropDict[__id7_]) <= 91))))))){
__setPropDict[__id7_] = currentFrame;
();
};
if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 82)) && ((int(__setPropDict[__id5_]) <= 91))))))){
__setPropDict[__id5_] = currentFrame;
();
};
if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 82)) && ((int(__setPropDict[__id4_]) <= 91))))))){
__setPropDict[__id4_] = currentFrame;
();
};
}
function (){
if ((((__setPropDict[__id6_] == undefined)) || (!((((int(__setPropDict[__id6_]) >= 82)) && ((int(__setPropDict[__id6_]) <= 91))))))){
__setPropDict[__id6_] = currentFrame;
();
};
if ((((__setPropDict[__id7_] == undefined)) || (!((((int(__setPropDict[__id7_]) >= 82)) && ((int(__setPropDict[__id7_]) <= 91))))))){
__setPropDict[__id7_] = currentFrame;
();
};
if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 82)) && ((int(__setPropDict[__id5_]) <= 91))))))){
__setPropDict[__id5_] = currentFrame;
();
};
if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 82)) && ((int(__setPropDict[__id4_]) <= 91))))))){
__setPropDict[__id4_] = currentFrame;
();
};
}
function (){
Controller.startGame(content);
Controller.startLevel(Controller.selectedLevel);
NitromeGame.sound_manager.playMusic(SoundManager.GAME);
}
function (){
if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 52)) && ((int(__setPropDict[__id4_]) <= 71))))))){
__setPropDict[__id4_] = currentFrame;
();
};
}
function frame102(){
if ((((__setPropDict[__id8_] == undefined)) || (!((((int(__setPropDict[__id8_]) >= 102)) && ((int(__setPropDict[__id8_]) <= 111))))))){
__setPropDict[__id8_] = currentFrame;
();
};
scoreField.text = ("Your final score is " + Score.value.toString());
}
function (){
if ((((__setPropDict[__id8_] == undefined)) || (!((((int(__setPropDict[__id8_]) >= 102)) && ((int(__setPropDict[__id8_]) <= 111))))))){
__setPropDict[__id8_] = currentFrame;
();
};
}
function (){
if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 52)) && ((int(__setPropDict[__id4_]) <= 71))))))){
__setPropDict[__id4_] = currentFrame;
();
};
}
function (){
if ((((__setPropDict[__id8_] == undefined)) || (!((((int(__setPropDict[__id8_]) >= 102)) && ((int(__setPropDict[__id8_]) <= 111))))))){
__setPropDict[__id8_] = currentFrame;
();
};
}
function (){
if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 72)) && ((int(__setPropDict[__id4_]) <= 81))))))){
__setPropDict[__id4_] = currentFrame;
();
};
}
function (){
if ((((__setPropDict[__id8_] == undefined)) || (!((((int(__setPropDict[__id8_]) >= 102)) && ((int(__setPropDict[__id8_]) <= 111))))))){
__setPropDict[__id8_] = currentFrame;
();
};
}
function (){
try {
__id4_["componentInspectorSetting"] = true;
} catch(e:Error) {
};
__id4_.align = "center";
__id4_.align_vert = "center";
__id4_.blackStrength = 1;
__id4_.color = 0xFFFFFF;
__id4_.id = "None";
__id4_.line_spacing = 18;
__id4_.text = "Credits";
__id4_.tracking = 0;
__id4_.whiteStrength = 1;
try {
__id4_["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
function (){
if ((((__setPropDict[__id8_] == undefined)) || (!((((int(__setPropDict[__id8_]) >= 102)) && ((int(__setPropDict[__id8_]) <= 111))))))){
__setPropDict[__id8_] = currentFrame;
();
};
}
function (){
if ((((__setPropDict[__id8_] == undefined)) || (!((((int(__setPropDict[__id8_]) >= 102)) && ((int(__setPropDict[__id8_]) <= 111))))))){
__setPropDict[__id8_] = currentFrame;
();
};
}
function (){
if ((((__setPropDict[__id8_] == undefined)) || (!((((int(__setPropDict[__id8_]) >= 102)) && ((int(__setPropDict[__id8_]) <= 111))))))){
__setPropDict[__id8_] = currentFrame;
();
};
}
function (){
if ((((__setPropDict[__id8_] == undefined)) || (!((((int(__setPropDict[__id8_]) >= 102)) && ((int(__setPropDict[__id8_]) <= 111))))))){
__setPropDict[__id8_] = currentFrame;
();
};
}
function (){
if ((((__setPropDict[__id8_] == undefined)) || (!((((int(__setPropDict[__id8_]) >= 102)) && ((int(__setPropDict[__id8_]) <= 111))))))){
__setPropDict[__id8_] = currentFrame;
();
};
}
function
(){
if ((((__setPropDict[__id8_] == undefined)) || (!((((int(__setPropDict[__id8_]) >= 102)) && ((int(__setPropDict[__id8_]) <= 111))))))){
__setPropDict[__id8_] = currentFrame;
();
};
}
}
}//package Faultline_fla
Section 103
//messageoverlaycontent_98 (Faultline_fla.messageoverlaycontent_98)
package Faultline_fla {
import flash.display.*;
public dynamic class messageoverlaycontent_98 extends MovieClip {
public var messageText:FaultlineFont;
public function messageoverlaycontent_98(){
();
}
function (){
try {
messageText["componentInspectorSetting"] = true;
} catch(e:Error) {
};
messageText.align = "center";
messageText.align_vert = "center";
messageText.blackStrength = 1;
messageText.color = 0xFFFFFF;
messageText.id = "None";
messageText.line_spacing = 18;
messageText.text = "";
messageText.tracking = 0;
messageText.whiteStrength = 1;
try {
messageText["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
}
}//package Faultline_fla
Section 104
//nitrome_118 (Faultline_fla.nitrome_118)
package Faultline_fla {
import flash.display.*;
public dynamic class nitrome_118 extends MovieClip {
public function nitrome_118(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Faultline_fla
Section 105
//nitromeintro_167 (Faultline_fla.nitromeintro_167)
package Faultline_fla {
import flash.display.*;
public dynamic class nitromeintro_167 extends MovieClip {
public var piece2:MovieClip;
public var piece3:MovieClip;
public var piece6:MovieClip;
public var piece4:MovieClip;
public var piece5:MovieClip;
public var piece1:MovieClip;
public function nitromeintro_167(){
addFrameScript(11, frame12, 33, , 55, frame56, 66, frame67, 101, frame102, 158, );
}
function (){
stop();
NitromeGame.transition.doTween("title_intro_animation");
}
function frame12(){
NitromeGame.sound_manager.playSound("fold");
}
function frame102(){
NitromeGame.sound_manager.playSound("nitrome");
}
function (){
NitromeGame.sound_manager.playSound("fold");
}
function frame56(){
NitromeGame.sound_manager.playSound("fold");
}
function frame67(){
NitromeGame.sound_manager.playSound("entry");
}
}
}//package Faultline_fla
Section 106
//popupcontent_151 (Faultline_fla.popupcontent_151)
package Faultline_fla {
import flash.display.*;
import flash.text.*;
import com.nitrome.game.*;
import flash.utils.*;
public dynamic class popupcontent_151 extends MovieClip {
public var default_resume:ContinueGameButton;
public var default_next:NextLevelButton;
public var __setPropDict:Dictionary;
public var levelScore:TextField;
public var __id2_:FaultlineFont;
public var totalScore:TextField;
public function popupcontent_151(){
__setPropDict = new Dictionary(true);
super();
addFrameScript(10, frame11, 11, frame12, 12, , 13, , 14, , 15,
, 16, , 17, , 18, frame19, 19, , 0, frame1, 1, frame2, 2, frame3, 3, , 4, frame5, 5, , 6,
, 7, , 8, frame9, 9, frame10);
}
function frame10(){
if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 1)) && ((int(__setPropDict[__id2_]) <= 10))))))){
__setPropDict[__id2_] = currentFrame;
();
};
}
function (){
if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 11)) && ((int(__setPropDict[__id2_]) <= 20))))))){
__setPropDict[__id2_] = currentFrame;
();
};
}
function frame12(){
if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 11)) && ((int(__setPropDict[__id2_]) <= 20))))))){
__setPropDict[__id2_] = currentFrame;
();
};
}
function frame3(){
if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 1)) && ((int(__setPropDict[__id2_]) <= 10))))))){
__setPropDict[__id2_] = currentFrame;
();
};
}
function
(){
if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 11)) && ((int(__setPropDict[__id2_]) <= 20))))))){
__setPropDict[__id2_] = currentFrame;
();
};
}
function (){
if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 11)) && ((int(__setPropDict[__id2_]) <= 20))))))){
__setPropDict[__id2_] = currentFrame;
();
};
}
function frame19(){
if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 11)) && ((int(__setPropDict[__id2_]) <= 20))))))){
__setPropDict[__id2_] = currentFrame;
();
};
}
function (){
if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 1)) && ((int(__setPropDict[__id2_]) <= 10))))))){
__setPropDict[__id2_] = currentFrame;
();
};
}
function (){
if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 11)) && ((int(__setPropDict[__id2_]) <= 20))))))){
__setPropDict[__id2_] = currentFrame;
();
};
}
function (){
if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 11)) && ((int(__setPropDict[__id2_]) <= 20))))))){
__setPropDict[__id2_] = currentFrame;
();
};
}
function frame5(){
if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 1)) && ((int(__setPropDict[__id2_]) <= 10))))))){
__setPropDict[__id2_] = currentFrame;
();
};
}
function frame9(){
if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 1)) && ((int(__setPropDict[__id2_]) <= 10))))))){
__setPropDict[__id2_] = currentFrame;
();
};
}
function frame1(){
if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 1)) && ((int(__setPropDict[__id2_]) <= 10))))))){
__setPropDict[__id2_] = currentFrame;
();
};
}
function (){
if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 1)) && ((int(__setPropDict[__id2_]) <= 10))))))){
__setPropDict[__id2_] = currentFrame;
();
};
}
function (){
if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 11)) && ((int(__setPropDict[__id2_]) <= 20))))))){
__setPropDict[__id2_] = currentFrame;
();
};
}
function frame2(){
if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 1)) && ((int(__setPropDict[__id2_]) <= 10))))))){
__setPropDict[__id2_] = currentFrame;
();
};
}
function (){
if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 11)) && ((int(__setPropDict[__id2_]) <= 20))))))){
__setPropDict[__id2_] = currentFrame;
();
};
}
function (){
try {
__id2_["componentInspectorSetting"] = true;
} catch(e:Error) {
};
__id2_.align = "center";
__id2_.align_vert = "center";
__id2_.blackStrength = 1;
__id2_.color = 0xFFFFFF;
__id2_.id = "None";
__id2_.line_spacing = 18;
__id2_.text = "game paused";
__id2_.tracking = 0;
__id2_.whiteStrength = 1;
try {
__id2_["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
function
(){
if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 1)) && ((int(__setPropDict[__id2_]) <= 10))))))){
__setPropDict[__id2_] = currentFrame;
();
};
}
function (){
if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 1)) && ((int(__setPropDict[__id2_]) <= 10))))))){
__setPropDict[__id2_] = currentFrame;
();
};
}
function frame11(){
if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 11)) && ((int(__setPropDict[__id2_]) <= 20))))))){
__setPropDict[__id2_] = currentFrame;
();
};
}
function (){
try {
__id2_["componentInspectorSetting"] = true;
} catch(e:Error) {
};
__id2_.align = "center";
__id2_.align_vert = "center";
__id2_.blackStrength = 1;
__id2_.color = 0xFFFFFF;
__id2_.id = "None";
__id2_.line_spacing = 18;
__id2_.text = "level complete";
__id2_.tracking = 0;
__id2_.whiteStrength = 1;
try {
__id2_["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
}
}//package Faultline_fla
Section 107
//Symbol1_175 (Faultline_fla.Symbol1_175)
package Faultline_fla {
import flash.display.*;
public dynamic class Symbol1_175 extends MovieClip {
public function Symbol1_175(){
addFrameScript(99, frame100);
}
function frame100(){
stop();
}
}
}//package Faultline_fla
Section 108
//Symbol4_172 (Faultline_fla.Symbol4_172)
package Faultline_fla {
import flash.display.*;
public dynamic class Symbol4_172 extends MovieClip {
public function Symbol4_172(){
addFrameScript(99, frame100);
}
function frame100(){
stop();
}
}
}//package Faultline_fla
Section 109
//tearing_181 (Faultline_fla.tearing_181)
package Faultline_fla {
import flash.display.*;
public dynamic class tearing_181 extends MovieClip {
public function tearing_181(){
addFrameScript(0, frame1);
}
function frame1(){
NitromeGame.sound_manager.playSound("fold");
}
}
}//package Faultline_fla
Section 110
//Timeline_169 (Faultline_fla.Timeline_169)
package Faultline_fla {
import flash.display.*;
public dynamic class Timeline_169 extends MovieClip {
public function Timeline_169(){
addFrameScript(99, frame100);
}
function frame100(){
stop();
}
}
}//package Faultline_fla
Section 111
//titleintroanimation_179 (Faultline_fla.titleintroanimation_179)
package Faultline_fla {
import flash.display.*;
public dynamic class titleintroanimation_179 extends MovieClip {
public function titleintroanimation_179(){
addFrameScript(39, , 69, frame70);
}
function frame70(){
(root as MovieClip).gotoAndStop("title_screen");
}
function (){
NitromeGame.sound_manager.playSound("introOpen");
}
}
}//package Faultline_fla
Section 112
//transition_117 (Faultline_fla.transition_117)
package Faultline_fla {
import flash.display.*;
public dynamic class transition_117 extends MovieClip {
public function transition_117(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Faultline_fla
Section 113
//unfold_108 (Faultline_fla.unfold_108)
package Faultline_fla {
import flash.display.*;
public dynamic class unfold_108 extends MovieClip {
public function unfold_108(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Faultline_fla
Section 114
//BackgroundSource1 (BackgroundSource1)
package {
import flash.display.*;
public dynamic class BackgroundSource1 extends MovieClip {
}
}//package
Section 115
//BackgroundSource2 (BackgroundSource2)
package {
import flash.display.*;
public dynamic class BackgroundSource2 extends MovieClip {
}
}//package
Section 116
//BackgroundSource3 (BackgroundSource3)
package {
import flash.display.*;
public dynamic class BackgroundSource3 extends MovieClip {
}
}//package
Section 117
//CheckpointFlash (CheckpointFlash)
package {
import com.nitrome.folding.*;
public dynamic class CheckpointFlash extends Debris {
public function CheckpointFlash(){
addFrameScript(10, frame11);
}
function frame11(){
destroy();
}
}
}//package
Section 118
//ClearButton (ClearButton)
package {
import com.nitrome.highscore.*;
public dynamic class ClearButton extends ClearButton {
public function ClearButton(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 119
//DestroyableTileDebris (DestroyableTileDebris)
package {
import com.nitrome.folding.*;
public dynamic class DestroyableTileDebris extends Debris {
public function DestroyableTileDebris(){
addFrameScript(22,
);
}
function
(){
destroy();
}
}
}//package
Section 120
//EntranceTileGlow (EntranceTileGlow)
package {
import flash.display.*;
public dynamic class EntranceTileGlow extends MovieClip {
}
}//package
Section 121
//ExitTileGlow (ExitTileGlow)
package {
import flash.display.*;
public dynamic class ExitTileGlow extends MovieClip {
}
}//package
Section 122
//FaultlineFont (FaultlineFont)
package {
import com.nitrome.game.*;
public dynamic class FaultlineFont extends TemplateFont {
}
}//package
Section 123
//fireArmExplosion (fireArmExplosion)
package {
import com.nitrome.folding.*;
public dynamic class fireArmExplosion extends Debris {
public function fireArmExplosion(){
addFrameScript(18, frame19);
}
function frame19(){
destroy();
}
}
}//package
Section 124
//GameMusic (GameMusic)
package {
import flash.media.*;
public dynamic class GameMusic extends Sound {
}
}//package
Section 125
//HighScoreBoard (HighScoreBoard)
package {
import com.nitrome.highscore.*;
public dynamic class HighScoreBoard extends HighScoreBoard {
}
}//package
Section 126
//HitImpact (HitImpact)
package {
import com.nitrome.folding.*;
public dynamic class HitImpact extends Debris {
public function HitImpact(){
addFrameScript(10, frame11);
}
function frame11(){
destroy();
}
}
}//package
Section 127
//HitImpactLaser (HitImpactLaser)
package {
import com.nitrome.folding.*;
public dynamic class HitImpactLaser extends Debris {
public function HitImpactLaser(){
addFrameScript(8, frame9);
}
function frame9(){
destroy();
}
}
}//package
Section 128
//HitPlayerTrail (HitPlayerTrail)
package {
import com.nitrome.folding.*;
public dynamic class HitPlayerTrail extends Debris {
public function HitPlayerTrail(){
addFrameScript(9, frame10);
}
function frame10(){
destroy();
}
}
}//package
Section 129
//jumpPuff (jumpPuff)
package {
import com.nitrome.folding.*;
public dynamic class jumpPuff extends Debris {
public function jumpPuff(){
addFrameScript(8, frame9);
}
function frame9(){
destroy();
}
}
}//package
Section 130
//landingImpact (landingImpact)
package {
import com.nitrome.folding.*;
public dynamic class landingImpact extends Debris {
public function landingImpact(){
addFrameScript(4, frame5);
}
function frame5(){
destroy();
}
}
}//package
Section 131
//LaserBeam (LaserBeam)
package {
import flash.display.*;
public dynamic class LaserBeam extends MovieClip {
public var mid:MovieClip;
public var start:MovieClip;
public var end:MovieClip;
}
}//package
Section 132
//LetterButton (LetterButton)
package {
import com.nitrome.highscore.*;
public dynamic class LetterButton extends LetterButton {
public function LetterButton(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 133
//MenuMusic (MenuMusic)
package {
import flash.media.*;
public dynamic class MenuMusic extends Sound {
}
}//package
Section 134
//MovingPlatform22Horizontal (MovingPlatform22Horizontal)
package {
import com.nitrome.folding.*;
public dynamic class MovingPlatform22Horizontal extends MovingPlatform {
}
}//package
Section 135
//NextArrow (NextArrow)
package {
import com.nitrome.highscore.*;
public dynamic class NextArrow extends ArrowButton {
public function NextArrow(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 136
//NitromeGame (NitromeGame)
package {
import flash.display.*;
import flash.net.*;
import com.nitrome.game.*;
import com.nitrome.util.*;
public class NitromeGame {
public static const ATRATIVA_URL:Array;
public static const NITROME_URL:Array;
public static const CANDYSTAND_URL:Array;
public static const SUBMIT_URL:String = "http://www.nitrome.com/php/submit_score.php";
public static const MINICLIP_URL:Array;
public static const RETRIEVE_URL:String = "http://www.nitrome.com/php/retrieve_scores.php";
private static var _level_id:String;
private static var _leading_zero:Boolean = false;
private static var ar_1:Array = new Array("a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "/", ":", ".", "_", "1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "-");
private static var ar_2:Array = new Array("_", "7", "c", "2", "l", "r", "a", "h", "i", ".", "g", "m", "v", "1", "b", "q", "3", "z", "w", "o", "u", "t", "s", "0", "d", "f", "8", "n", "5", "k", ":", "j", "p", "/", "4", "6", "e", "9", "y", "x", "-");
private static var adj:Number = 1.75;
private static var _total_levels:int;
private static var _url:String;
public static var global:Object = new Object();
public static var timeline:MovieClip;
private static var _game_id:String;
private static var ff:Array = new Array();
private static var ar_key:String = "ctdngevfaqki8_lb:psoj90ux127hm/4w5y3rz.6-";
public static var transition:Transition;
private static var _time_based:Boolean = false;
public static var sound_manager:SoundManager;
private static var _selected_level:int = 1;
public static function getSharedObject(_arg1:int=1):SharedObject{
var _local2:String;
_local2 = (("so_" + _game_id) + _arg1);
return (SharedObject.getLocal(_local2));
}
public static function setLastSavedScore(_arg1:int, _arg2:int=1):void{
var _local3:SharedObject;
_local3 = getSharedObject(_arg2);
_local3.data.last_saved_score = _arg1;
_local3.flush();
_local3.close();
}
public static function lockAllLevels(_arg1:int=1):void{
var _local2:SharedObject;
_local2 = getSharedObject(_arg1);
_local2.data.levels_unlocked = [1];
_local2.flush();
_local2.close();
}
public static function get game_id():String{
return (_game_id);
}
public static function set leading_zero(_arg1:Boolean):void{
_leading_zero = _arg1;
}
public static function set sfx(_arg1:Boolean):void{
var _local2:String;
var _local3:SharedObject;
_local2 = ("so_" + game_id);
_local3 = SharedObject.getLocal(_local2);
_local3.data.sfxon = _arg1;
_local3.flush();
_local3.close();
}
public static function unlockAllLevels(_arg1:int=1):void{
var _local2:SharedObject;
var _local3:Array;
var _local4:int;
_local2 = getSharedObject(_arg1);
_local3 = [];
_local4 = 0;
while (_local4 < total_levels) {
_local3[_local4] = 1;
_local4++;
};
_local2.data.levels_unlocked = _local3;
_local2.flush();
_local2.close();
}
private static function decryptString(_arg1:String, _arg2:String):String{
var _local3:String;
var _local4:Number;
var _local5:int;
var _local6:*;
var _local7:int;
var _local8:int;
var _local9:Number;
var _local10:int;
var _local11:String;
adj = 1.75;
ff = convertKey(_arg1);
_local3 = "";
_local4 = 0;
_local5 = 0;
while (_local5 < _arg2.length) {
_local6 = _arg2.substr(_local5, 1);
_local8 = 0;
while (_local8 < ar_2.length) {
if (ar_2[_local8] == _local6){
_local7 = _local8;
break;
};
_local8++;
};
adj = applyFudgeFactor();
_local9 = (_local4 + adj);
_local10 = (_local7 - Math.round(_local9));
_local10 = checkRange(_local10);
_local4 = (_local9 + _local7);
_local11 = ar_1[_local10];
_local3 = (_local3 + _local11);
_local5++;
};
return (_local3);
}
public static function init(_arg1:MovieClip, _arg2:String, _arg3:String, _arg4:Number):void{
timeline = _arg1;
_url = _arg1.loaderInfo.url;
_level_id = _arg3;
_total_levels = _arg4;
_game_id = _arg2.toLowerCase();
}
public static function set time_based(_arg1:Boolean):void{
_time_based = _arg1;
}
public static function displayNextButton(_arg1:String):Boolean{
var _local2:Array;
var _local3:String;
_local2 = _arg1.split("|");
_local3 = _local2[10];
if (_local3 == "1"){
return (true);
};
if (_local3 == "0"){
return (false);
};
return (false);
}
private static function checkRange(_arg1:int):int{
var _local2:int;
_arg1 = Math.round(_arg1);
_local2 = ar_1.length;
while (_arg1 >= _local2) {
_arg1 = (_arg1 - _local2);
};
while (_arg1 < 0) {
_arg1 = (_arg1 + _local2);
};
return (_arg1);
}
public static function get sfx():Boolean{
var _local1:String;
var _local2:SharedObject;
var _local3:Boolean;
_local1 = ("so_" + game_id);
_local2 = SharedObject.getLocal(_local1);
_local3 = true;
if (_local2.data.sfxon != undefined){
_local3 = _local2.data.sfxon;
};
_local2.close();
return (_local3);
}
public static function get music():Boolean{
var _local1:String;
var _local2:SharedObject;
var _local3:Boolean;
_local1 = ("so_" + game_id);
_local2 = SharedObject.getLocal(_local1);
_local3 = true;
if (_local2.data.musicon != undefined){
_local3 = _local2.data.musicon;
};
_local2.close();
return (_local3);
}
public static function getScoreData(_arg1:int, _arg2:String):String{
var _local3:String;
var _local4:String;
_local3 = ((((String(_arg1) + "_") + game_id) + "_") + _arg2.toLowerCase());
trace(("encrypting: " + _local3));
_local4 = encryptString(ar_key, _local3);
trace(("encrypted: " + _local4));
trace(("decrypted: " + decryptString(ar_key, _local4)));
return (_local4);
}
private static function convertKey(_arg1:String):Array{
var _local2:Array;
var _local3:int;
var _local4:int;
var _local5:String;
var _local6:int;
var _local7:int;
_local2 = new Array();
_local2.push(_arg1.length);
_local3 = 0;
_local4 = 0;
while (_local4 < _arg1.length) {
_local5 = _arg1.substr(_local4, 1);
_local7 = 0;
while (_local7 < ar_1.length) {
if (ar_1[_local7] == _local5){
_local6 = _local7;
break;
};
_local7++;
};
_local2.push(_local6);
_local3 = (_local3 + _local6);
_local4++;
};
_local2.push(_local3);
return (_local2);
}
public static function getSwfPath():String{
var _local1:String;
var _local2:int;
_local1 = url;
_local2 = _local1.length;
while (_local2 >= 0) {
if (_local1.charAt(_local2) == "/"){
_local1 = _local1.slice(0, (_local2 + 1));
break;
};
_local2--;
};
return (_local1);
}
public static function get level_id():String{
return (_level_id);
}
public static function get edgeScrolling():Boolean{
var _local1:String;
var _local2:SharedObject;
var _local3:Boolean;
_local1 = ("so_" + _game_id);
_local2 = SharedObject.getLocal(_local1);
_local3 = true;
if (_local2.data.edgescrollon != undefined){
_local3 = _local2.data.edgescrollon;
};
_local2.close();
return (_local3);
}
public static function set edgeScrolling(_arg1:Boolean):void{
var _local2:String;
var _local3:SharedObject;
_local2 = ("so_" + _game_id);
_local3 = SharedObject.getLocal(_local2);
_local3.data.edgescrollon = _arg1;
_local3.flush();
_local3.close();
}
public static function setLevelUnlocked(_arg1:int, _arg2:int=1):void{
var _local3:SharedObject;
_local3 = getSharedObject(_arg2);
if (!_local3.data.levels_unlocked){
_local3.data.levels_unlocked = [1];
};
_local3.data.levels_unlocked[(_arg1 - 1)] = 1;
_local3.flush();
_local3.close();
}
public static function get total_levels():int{
return (_total_levels);
}
public static function isAtURL(... _args):Boolean{
var _local2:int;
var _local3:Array;
var _local4:int;
var _local5:String;
if (_args.length == 0){
_args.push(NITROME_URL);
};
_local2 = 0;
while (_local2 < _args.length) {
_local3 = _args[_local2];
_local4 = 0;
while (_local4 < _local3.length) {
_local5 = _local3[_local4];
if (compareURLTo(_local5)){
return (true);
};
_local4++;
};
_local2++;
};
return (false);
}
private static function encryptString(_arg1:String, _arg2:String):String{
var _local3:String;
var _local4:Number;
var _local5:int;
var _local6:String;
var _local7:int;
var _local8:int;
var _local9:Number;
var _local10:int;
var _local11:String;
adj = 1.75;
ff = convertKey(_arg1);
_local3 = "";
_local4 = 0;
_local5 = 0;
while (_local5 < _arg2.length) {
_local6 = _arg2.substr(_local5, 1);
_local8 = 0;
while (_local8 < ar_1.length) {
if (ar_1[_local8] == _local6){
_local7 = _local8;
break;
};
_local8++;
};
adj = applyFudgeFactor();
_local9 = (_local4 + adj);
_local10 = (Math.round(_local9) + _local7);
_local10 = checkRange(_local10);
_local4 = (_local9 + _local10);
_local11 = ar_2[_local10];
_local3 = (_local3 + _local11);
_local5++;
};
return (_local3);
}
public static function set selected_level(_arg1:int):void{
_selected_level = _arg1;
}
public static function get leading_zero():Boolean{
return (_leading_zero);
}
public static function getTotalScore(_arg1:int=1):int{
var _local2:SharedObject;
var _local3:Number;
var _local4:int;
var _local5:Number;
_local2 = getSharedObject(_arg1);
_local3 = 0;
if (_local2.data.level_scores){
_local4 = 1;
while (_local4 < _total_levels) {
_local5 = 0;
if (_local2.data.level_scores[_local4]){
_local5 = Number(_local2.data.level_scores[_local4]);
if (isNaN(_local5)){
_local5 = 0;
};
};
_local3 = (_local3 + _local5);
_local4++;
};
};
_local2.close();
return (_local3);
}
public static function set music(_arg1:Boolean):void{
var _local2:String;
var _local3:SharedObject;
_local2 = ("so_" + game_id);
_local3 = SharedObject.getLocal(_local2);
_local3.data.musicon = _arg1;
_local3.flush();
_local3.close();
}
public static function get time_based():Boolean{
return (_time_based);
}
public static function getLevelScore(_arg1:int, _arg2:int=1):int{
var _local3:SharedObject;
var _local4:Number;
_local3 = getSharedObject(_arg2);
_local4 = 0;
if (_local3.data.level_scores){
if (_local3.data.level_scores[_arg1]){
_local4 = Number(_local3.data.level_scores[_arg1]);
if (isNaN(_local4)){
_local4 = 0;
};
};
};
_local3.close();
return (_local4);
}
private static function compareURLTo(_arg1:String):Boolean{
var _local2:String;
var _local3:String;
var _local4:Array;
var _local5:Array;
var _local6:Number;
var _local7:Number;
var _local8:String;
var _local9:String;
_local2 = "http://";
if (url.substr(0, _local2.length) != _local2){
return (false);
};
_local3 = url.substr(_local2.length);
_arg1 = _arg1.substr(_local2.length);
while (_local3.charAt(0) == "/") {
_local3 = _local3.substr(1);
};
while (_arg1.charAt(0) == "/") {
_arg1 = _arg1.substr(1);
};
_local4 = _local3.split("/");
_local5 = _arg1.split("/");
_local6 = 0;
while (_local6 < _local5.length) {
if (_local5[_local6].length < 1){
} else {
_local7 = _local5[_local6].indexOf("*");
if (_local7 != -1){
_local8 = _local5[_local6].substr(0, _local7);
_local9 = _local5[_local6].substr((_local7 + 1));
if (_local4[_local6].substr(0, _local8.length) != _local8){
return (false);
};
if (_local4[_local6].substr(-(_local9.length)) != _local9){
return (false);
};
} else {
if (_local5[_local6] != _local4[_local6]){
return (false);
};
};
};
_local6++;
};
return (true);
}
public static function getLevelUnlocked(_arg1:int, _arg2:int=1):Boolean{
var _local3:SharedObject;
var _local4:Boolean;
if (_arg1 == 1){
return (true);
};
_local3 = getSharedObject(_arg2);
_local4 = false;
if (_local3.data.levels_unlocked){
_local4 = Boolean(_local3.data.levels_unlocked[(_arg1 - 1)]);
};
_local3.close();
return (_local4);
}
public static function displayPreviousButton(_arg1:String):Boolean{
var _local2:Array;
var _local3:String;
_local2 = _arg1.split("|");
_local3 = _local2[11];
if (_local3 == "1"){
return (true);
};
if (_local3 == "0"){
return (false);
};
return (false);
}
public static function setLevelLocked(_arg1:int, _arg2:int=1):void{
var _local3:SharedObject;
_local3 = getSharedObject(_arg2);
if (_local3.data.levels_unlocked){
_local3.data.levels_unlocked[(_arg1 - 1)] = 0;
};
_local3.flush();
_local3.close();
}
public static function get selected_level():int{
return (_selected_level);
}
public static function setLevelScore(_arg1:int, _arg2:int, _arg3:int=1):void{
var _local4:SharedObject;
_local4 = getSharedObject(_arg3);
if (!_local4.data.level_scores){
_local4.data.level_scores = [];
};
_local4.data.level_scores[_arg2] = _arg1;
_local4.flush();
_local4.close();
}
private static function applyFudgeFactor():Number{
var _local1:Number;
_local1 = Number(ff.shift());
_local1 = (_local1 + adj);
ff.push(_local1);
return (_local1);
}
public static function getHighScoreLine(_arg1:String, _arg2:int):Object{
var _local3:Array;
var _local4:String;
var _local5:Array;
var _local6:Object;
_local3 = _arg1.split("|");
_local4 = _local3[(_arg2 - 1)];
if ((((((((_local4 == "0")) || ((_local4 == "1")))) || ((_local4 == null)))) || ((_local4 == "")))){
return (null);
};
_local5 = _local4.split("_");
if ((((_local5[1] == "n")) || ((_local5[2] == "n")))){
return (null);
};
_local6 = new Object();
_local6.username = _local5[2];
_local6.score = _local5[1];
_local6.rank = _local5[0];
return (_local6);
}
public static function get url():String{
return (_url);
}
public static function getLastSavedScore(_arg1:int=1):int{
var _local2:SharedObject;
var _local3:Number;
_local2 = getSharedObject(_arg1);
_local3 = Number(_local2.data.last_saved_score);
if (isNaN(_local3)){
_local3 = 0;
};
_local2.close();
return (_local3);
}
public static function getLevelName(_arg1:Number, _arg2:String=".xml"):String{
var _local3:MD5;
var _local4:String;
var _local5:String;
_local3 = new MD5();
_local4 = "";
if (leading_zero){
if (_arg1 < 10){
_local4 = "0";
};
};
_local5 = _local3.hash(String(((level_id + _local4) + _arg1)));
return ((_local5 + _arg2));
}
["http://www.nitrome.com/", "http://nitrome.com", "http://cdn.nitrome.com/"];
["http://www.candystand.com/", "http://candystand.com/"];
["http://www.miniclip.com/", "http://miniclip.com/"];
["http://atrativa.com.br/", "http://*.atrativa.com.br/"];
}
}//package
Section 137
//peg (peg)
package {
import com.nitrome.folding.*;
public dynamic class peg extends Peg {
public function peg(){
addFrameScript(39, , 50,
, 61, , 92,
, 94,
);
}
function
(){
stop();
}
function
(){
gotoAndPlay("active");
}
function (){
gotoAndPlay("normal");
}
function
(){
stop();
}
function (){
gotoAndPlay("normal");
}
}
}//package
Section 138
//PrevArrow (PrevArrow)
package {
import com.nitrome.highscore.*;
public dynamic class PrevArrow extends ArrowButton {
public function PrevArrow(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 139
//ProxLaserBall (ProxLaserBall)
package {
import flash.display.*;
public dynamic class ProxLaserBall extends MovieClip {
}
}//package
Section 140
//ResetFlare (ResetFlare)
package {
import com.nitrome.folding.*;
public dynamic class ResetFlare extends Debris {
public function ResetFlare(){
addFrameScript(12, );
}
function (){
destroy();
}
}
}//package
Section 141
//RoomNumberTileNumber (RoomNumberTileNumber)
package {
import flash.display.*;
public dynamic class RoomNumberTileNumber extends MovieClip {
}
}//package
Section 142
//ScoreLine (ScoreLine)
package {
import com.nitrome.highscore.*;
public dynamic class ScoreLine extends HighScoreLine {
}
}//package
Section 143
//ScoreSubmitPanel (ScoreSubmitPanel)
package {
import com.nitrome.highscore.*;
import flash.utils.*;
public dynamic class ScoreSubmitPanel extends ScoreSubmitPanel {
public var __setPropDict:Dictionary;
public function ScoreSubmitPanel(){
__setPropDict = new Dictionary(true);
super();
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, , 4, frame5, 5, , 6,
, 7, , 8, frame9, 9, frame10);
}
function (){
try {
_name_text["componentInspectorSetting"] = true;
} catch(e:Error) {
};
_name_text.align = "center";
_name_text.align_vert = "center";
_name_text.blackStrength = 1;
_name_text.color = 0xFFFFFF;
_name_text.id = "None";
_name_text.line_spacing = 18;
_name_text.text = "";
_name_text.tracking = 0;
_name_text.whiteStrength = 1;
try {
_name_text["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
function frame2(){
if ((((__setPropDict[_name_text] == undefined)) || (!((((int(__setPropDict[_name_text]) >= 1)) && ((int(__setPropDict[_name_text]) <= 10))))))){
__setPropDict[_name_text] = currentFrame;
();
};
}
function frame9(){
if ((((__setPropDict[_name_text] == undefined)) || (!((((int(__setPropDict[_name_text]) >= 1)) && ((int(__setPropDict[_name_text]) <= 10))))))){
__setPropDict[_name_text] = currentFrame;
();
};
}
function frame3(){
if ((((__setPropDict[_name_text] == undefined)) || (!((((int(__setPropDict[_name_text]) >= 1)) && ((int(__setPropDict[_name_text]) <= 10))))))){
__setPropDict[_name_text] = currentFrame;
();
};
}
function (){
if ((((__setPropDict[_name_text] == undefined)) || (!((((int(__setPropDict[_name_text]) >= 1)) && ((int(__setPropDict[_name_text]) <= 10))))))){
__setPropDict[_name_text] = currentFrame;
();
};
}
function (){
if ((((__setPropDict[_name_text] == undefined)) || (!((((int(__setPropDict[_name_text]) >= 1)) && ((int(__setPropDict[_name_text]) <= 10))))))){
__setPropDict[_name_text] = currentFrame;
();
};
}
function
(){
if ((((__setPropDict[_name_text] == undefined)) || (!((((int(__setPropDict[_name_text]) >= 1)) && ((int(__setPropDict[_name_text]) <= 10))))))){
__setPropDict[_name_text] = currentFrame;
();
};
}
function frame5(){
if ((((__setPropDict[_name_text] == undefined)) || (!((((int(__setPropDict[_name_text]) >= 1)) && ((int(__setPropDict[_name_text]) <= 10))))))){
__setPropDict[_name_text] = currentFrame;
();
};
}
function frame1(){
if ((((__setPropDict[_name_text] == undefined)) || (!((((int(__setPropDict[_name_text]) >= 1)) && ((int(__setPropDict[_name_text]) <= 10))))))){
__setPropDict[_name_text] = currentFrame;
();
};
stop();
}
function (){
if ((((__setPropDict[_name_text] == undefined)) || (!((((int(__setPropDict[_name_text]) >= 1)) && ((int(__setPropDict[_name_text]) <= 10))))))){
__setPropDict[_name_text] = currentFrame;
();
};
}
function frame10(){
if ((((__setPropDict[_name_text] == undefined)) || (!((((int(__setPropDict[_name_text]) >= 1)) && ((int(__setPropDict[_name_text]) <= 10))))))){
__setPropDict[_name_text] = currentFrame;
();
};
}
}
}//package
Section 144
//SubmitButton (SubmitButton)
package {
import com.nitrome.highscore.*;
public dynamic class SubmitButton extends SubmitButton {
public function SubmitButton(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 145
//Text_None_0 (Text_None_0)
package {
import flash.display.*;
public dynamic class Text_None_0 extends Sprite {
}
}//package
Section 146
//Text_None_1 (Text_None_1)
package {
import flash.display.*;
public dynamic class Text_None_1 extends Sprite {
}
}//package
Section 147
//Text_None_2 (Text_None_2)
package {
import flash.display.*;
public dynamic class Text_None_2 extends Sprite {
}
}//package
Section 148
//Text_None_3 (Text_None_3)
package {
import flash.display.*;
public dynamic class Text_None_3 extends Sprite {
}
}//package
Section 149
//Text_None_4 (Text_None_4)
package {
import flash.display.*;
public dynamic class Text_None_4 extends Sprite {
}
}//package
Section 150
//Text_None_5 (Text_None_5)
package {
import flash.display.*;
public dynamic class Text_None_5 extends Sprite {
}
}//package
Section 151
//Text_None_6 (Text_None_6)
package {
import flash.display.*;
public dynamic class Text_None_6 extends Sprite {
}
}//package
Section 152
//Text_None_7 (Text_None_7)
package {
import flash.display.*;
public dynamic class Text_None_7 extends Sprite {
}
}//package
Section 153
//Text_None_8 (Text_None_8)
package {
import flash.display.*;
public dynamic class Text_None_8 extends Sprite {
}
}//package
Section 154
//Text_None_9 (Text_None_9)
package {
import flash.display.*;
public dynamic class Text_None_9 extends Sprite {
}
}//package
Section 155
//Text_None_A (Text_None_A)
package {
import flash.display.*;
public dynamic class Text_None_A extends Sprite {
}
}//package
Section 156
//Text_None_B (Text_None_B)
package {
import flash.display.*;
public dynamic class Text_None_B extends Sprite {
}
}//package
Section 157
//Text_None_C (Text_None_C)
package {
import flash.display.*;
public dynamic class Text_None_C extends Sprite {
}
}//package
Section 158
//Text_None_COLON (Text_None_COLON)
package {
import flash.display.*;
public dynamic class Text_None_COLON extends Sprite {
}
}//package
Section 159
//Text_None_COMMA (Text_None_COMMA)
package {
import flash.display.*;
public dynamic class Text_None_COMMA extends Sprite {
}
}//package
Section 160
//Text_None_D (Text_None_D)
package {
import flash.display.*;
public dynamic class Text_None_D extends Sprite {
}
}//package
Section 161
//Text_None_E (Text_None_E)
package {
import flash.display.*;
public dynamic class Text_None_E extends Sprite {
}
}//package
Section 162
//Text_None_EXCLAMATION (Text_None_EXCLAMATION)
package {
import flash.display.*;
public dynamic class Text_None_EXCLAMATION extends Sprite {
}
}//package
Section 163
//Text_None_F (Text_None_F)
package {
import flash.display.*;
public dynamic class Text_None_F extends Sprite {
}
}//package
Section 164
//Text_None_G (Text_None_G)
package {
import flash.display.*;
public dynamic class Text_None_G extends Sprite {
}
}//package
Section 165
//Text_None_H (Text_None_H)
package {
import flash.display.*;
public dynamic class Text_None_H extends Sprite {
}
}//package
Section 166
//Text_None_HYPHEN (Text_None_HYPHEN)
package {
import flash.display.*;
public dynamic class Text_None_HYPHEN extends Sprite {
}
}//package
Section 167
//Text_None_I (Text_None_I)
package {
import flash.display.*;
public dynamic class Text_None_I extends Sprite {
}
}//package
Section 168
//Text_None_J (Text_None_J)
package {
import flash.display.*;
public dynamic class Text_None_J extends Sprite {
}
}//package
Section 169
//Text_None_K (Text_None_K)
package {
import flash.display.*;
public dynamic class Text_None_K extends Sprite {
}
}//package
Section 170
//Text_None_L (Text_None_L)
package {
import flash.display.*;
public dynamic class Text_None_L extends Sprite {
}
}//package
Section 171
//Text_None_LEFTBRACKET (Text_None_LEFTBRACKET)
package {
import flash.display.*;
public dynamic class Text_None_LEFTBRACKET extends Sprite {
}
}//package
Section 172
//Text_None_M (Text_None_M)
package {
import flash.display.*;
public dynamic class Text_None_M extends Sprite {
}
}//package
Section 173
//Text_None_N (Text_None_N)
package {
import flash.display.*;
public dynamic class Text_None_N extends Sprite {
}
}//package
Section 174
//Text_None_O (Text_None_O)
package {
import flash.display.*;
public dynamic class Text_None_O extends Sprite {
}
}//package
Section 175
//Text_None_P (Text_None_P)
package {
import flash.display.*;
public dynamic class Text_None_P extends Sprite {
}
}//package
Section 176
//Text_None_Q (Text_None_Q)
package {
import flash.display.*;
public dynamic class Text_None_Q extends Sprite {
}
}//package
Section 177
//Text_None_QUESTION (Text_None_QUESTION)
package {
import flash.display.*;
public dynamic class Text_None_QUESTION extends Sprite {
}
}//package
Section 178
//Text_None_R (Text_None_R)
package {
import flash.display.*;
public dynamic class Text_None_R extends Sprite {
}
}//package
Section 179
//Text_None_RIGHTBRACKET (Text_None_RIGHTBRACKET)
package {
import flash.display.*;
public dynamic class Text_None_RIGHTBRACKET extends Sprite {
}
}//package
Section 180
//Text_None_S (Text_None_S)
package {
import flash.display.*;
public dynamic class Text_None_S extends Sprite {
}
}//package
Section 181
//Text_None_SEMICOLON (Text_None_SEMICOLON)
package {
import flash.display.*;
public dynamic class Text_None_SEMICOLON extends Sprite {
}
}//package
Section 182
//Text_None_SLASH (Text_None_SLASH)
package {
import flash.display.*;
public dynamic class Text_None_SLASH extends Sprite {
}
}//package
Section 183
//Text_None_STOP (Text_None_STOP)
package {
import flash.display.*;
public dynamic class Text_None_STOP extends Sprite {
}
}//package
Section 184
//Text_None_T (Text_None_T)
package {
import flash.display.*;
public dynamic class Text_None_T extends Sprite {
}
}//package
Section 185
//Text_None_U (Text_None_U)
package {
import flash.display.*;
public dynamic class Text_None_U extends Sprite {
}
}//package
Section 186
//Text_None_V (Text_None_V)
package {
import flash.display.*;
public dynamic class Text_None_V extends Sprite {
}
}//package
Section 187
//Text_None_W (Text_None_W)
package {
import flash.display.*;
public dynamic class Text_None_W extends Sprite {
}
}//package
Section 188
//Text_None_X (Text_None_X)
package {
import flash.display.*;
public dynamic class Text_None_X extends Sprite {
}
}//package
Section 189
//Text_None_Y (Text_None_Y)
package {
import flash.display.*;
public dynamic class Text_None_Y extends Sprite {
}
}//package
Section 190
//Text_None_Z (Text_None_Z)
package {
import flash.display.*;
public dynamic class Text_None_Z extends Sprite {
}
}//package
Section 191
//tile_45cd (tile_45cd)
package {
import com.nitrome.folding.*;
public dynamic class tile_45cd extends SolidTile {
}
}//package
Section 192
//tile_45cu (tile_45cu)
package {
import com.nitrome.folding.*;
public dynamic class tile_45cu extends SolidTile {
}
}//package
Section 193
//tile_45fd (tile_45fd)
package {
import com.nitrome.folding.*;
public dynamic class tile_45fd extends SolidTile {
}
}//package
Section 194
//tile_45fu (tile_45fu)
package {
import com.nitrome.folding.*;
public dynamic class tile_45fu extends SolidTile {
}
}//package
Section 195
//tile_arrow_down (tile_arrow_down)
package {
import com.nitrome.folding.*;
public dynamic class tile_arrow_down extends ArrowTile {
}
}//package
Section 196
//tile_arrow_left (tile_arrow_left)
package {
import com.nitrome.folding.*;
public dynamic class tile_arrow_left extends ArrowTile {
}
}//package
Section 197
//tile_arrow_right (tile_arrow_right)
package {
import com.nitrome.folding.*;
public dynamic class tile_arrow_right extends ArrowTile {
}
}//package
Section 198
//tile_arrow_up (tile_arrow_up)
package {
import com.nitrome.folding.*;
public dynamic class tile_arrow_up extends ArrowTile {
}
}//package
Section 199
//tile_checkpoint (tile_checkpoint)
package {
import com.nitrome.folding.*;
public dynamic class tile_checkpoint extends CheckpointTile {
public function tile_checkpoint(){
addFrameScript(0, frame1, 24, );
}
function frame1(){
stop();
}
function (){
gotoAndPlay("pushed");
}
}
}//package
Section 200
//tile_destroyable (tile_destroyable)
package {
import com.nitrome.folding.*;
public dynamic class tile_destroyable extends DestroyableTile {
public function tile_destroyable(){
addFrameScript(0, frame1, 43,
);
}
function frame1(){
stop();
}
function
(){
breakApart();
}
}
}//package
Section 201
//tile_entrance (tile_entrance)
package {
import com.nitrome.folding.*;
public dynamic class tile_entrance extends EntranceTile {
}
}//package
Section 202
//tile_exit (tile_exit)
package {
import com.nitrome.folding.*;
public dynamic class tile_exit extends ExitTile {
public function tile_exit(){
addFrameScript(9, frame10, 18, frame19);
}
function frame10(){
gotoAndPlay("active");
}
function frame19(){
gotoAndPlay("exiting");
}
}
}//package
Section 203
//tile_fan (tile_fan)
package {
import com.nitrome.folding.*;
public dynamic class tile_fan extends SolidTile {
}
}//package
Section 204
//tile_fan_dark (tile_fan_dark)
package {
import com.nitrome.folding.*;
public dynamic class tile_fan_dark extends SolidTile {
}
}//package
Section 205
//tile_harmful (tile_harmful)
package {
import com.nitrome.folding.*;
public dynamic class tile_harmful extends HarmfulTile {
public function tile_harmful(){
addFrameScript(16, , 34, );
}
function (){
gotoAndPlay("f1");
}
function (){
gotoAndPlay("f1");
}
}
}//package
Section 206
//tile_hint (tile_hint)
package {
import com.nitrome.folding.*;
public dynamic class tile_hint extends HintProjectorTile {
}
}//package
Section 207
//tile_laser_down (tile_laser_down)
package {
import com.nitrome.folding.*;
public dynamic class tile_laser_down extends LaserTile {
}
}//package
Section 208
//tile_laser_left (tile_laser_left)
package {
import com.nitrome.folding.*;
public dynamic class tile_laser_left extends LaserTile {
}
}//package
Section 209
//tile_laser_right (tile_laser_right)
package {
import com.nitrome.folding.*;
public dynamic class tile_laser_right extends LaserTile {
}
}//package
Section 210
//tile_laser_up (tile_laser_up)
package {
import com.nitrome.folding.*;
public dynamic class tile_laser_up extends LaserTile {
}
}//package
Section 211
//tile_number (tile_number)
package {
import com.nitrome.folding.*;
public dynamic class tile_number extends RoomNumberTile {
}
}//package
Section 212
//tile_outer_bright_a (tile_outer_bright_a)
package {
import com.nitrome.folding.*;
public dynamic class tile_outer_bright_a extends SolidTile {
}
}//package
Section 213
//tile_outer_bright_b (tile_outer_bright_b)
package {
import com.nitrome.folding.*;
public dynamic class tile_outer_bright_b extends SolidTile {
}
}//package
Section 214
//tile_outer_bright_b1 (tile_outer_bright_b1)
package {
import com.nitrome.folding.*;
public dynamic class tile_outer_bright_b1 extends SolidTile {
}
}//package
Section 215
//tile_outer_bright_c (tile_outer_bright_c)
package {
import com.nitrome.folding.*;
public dynamic class tile_outer_bright_c extends SolidTile {
}
}//package
Section 216
//tile_outer_bright_d (tile_outer_bright_d)
package {
import com.nitrome.folding.*;
public dynamic class tile_outer_bright_d extends SolidTile {
}
}//package
Section 217
//tile_outer_bright_e (tile_outer_bright_e)
package {
import com.nitrome.folding.*;
public dynamic class tile_outer_bright_e extends SolidTile {
}
}//package
Section 218
//tile_outer_dark_a (tile_outer_dark_a)
package {
import com.nitrome.folding.*;
public dynamic class tile_outer_dark_a extends SolidTile {
}
}//package
Section 219
//tile_outer_dark_b (tile_outer_dark_b)
package {
import com.nitrome.folding.*;
public dynamic class tile_outer_dark_b extends SolidTile {
}
}//package
Section 220
//tile_outer_dark_c (tile_outer_dark_c)
package {
import com.nitrome.folding.*;
public dynamic class tile_outer_dark_c extends SolidTile {
}
}//package
Section 221
//tile_outer_dark_d (tile_outer_dark_d)
package {
import com.nitrome.folding.*;
public dynamic class tile_outer_dark_d extends SolidTile {
}
}//package
Section 222
//tile_outer_dark_e (tile_outer_dark_e)
package {
import com.nitrome.folding.*;
public dynamic class tile_outer_dark_e extends SolidTile {
}
}//package
Section 223
//tile_outer_dark_f (tile_outer_dark_f)
package {
import com.nitrome.folding.*;
public dynamic class tile_outer_dark_f extends SolidTile {
}
}//package
Section 224
//tile_outer_dark_g (tile_outer_dark_g)
package {
import com.nitrome.folding.*;
public dynamic class tile_outer_dark_g extends SolidTile {
}
}//package
Section 225
//tile_outer_dark_h (tile_outer_dark_h)
package {
import com.nitrome.folding.*;
public dynamic class tile_outer_dark_h extends SolidTile {
}
}//package
Section 226
//tile_outer_darker (tile_outer_darker)
package {
import com.nitrome.folding.*;
public dynamic class tile_outer_darker extends SolidTile {
}
}//package
Section 227
//tile_outer_darkest (tile_outer_darkest)
package {
import com.nitrome.folding.*;
public dynamic class tile_outer_darkest extends SolidTile {
}
}//package
Section 228
//tile_prox_laser (tile_prox_laser)
package {
import com.nitrome.folding.*;
public dynamic class tile_prox_laser extends ProximityLaserTile {
}
}//package
Section 229
//tile_reset (tile_reset)
package {
import com.nitrome.folding.*;
public dynamic class tile_reset extends ResetButtonTile {
public function tile_reset(){
addFrameScript(0, frame1, 10, frame11);
}
function frame1(){
stop();
}
function frame11(){
stop();
}
}
}//package
Section 230
//tile_slope_edge_bl (tile_slope_edge_bl)
package {
import com.nitrome.folding.*;
public dynamic class tile_slope_edge_bl extends SolidTile {
}
}//package
Section 231
//tile_slope_edge_br (tile_slope_edge_br)
package {
import com.nitrome.folding.*;
public dynamic class tile_slope_edge_br extends SolidTile {
}
}//package
Section 232
//tile_slope_edge_tl (tile_slope_edge_tl)
package {
import com.nitrome.folding.*;
public dynamic class tile_slope_edge_tl extends SolidTile {
}
}//package
Section 233
//tile_slope_edge_tr (tile_slope_edge_tr)
package {
import com.nitrome.folding.*;
public dynamic class tile_slope_edge_tr extends SolidTile {
}
}//package
Section 234
//tile_walk_corner_bl (tile_walk_corner_bl)
package {
import com.nitrome.folding.*;
public dynamic class tile_walk_corner_bl extends SolidTile {
}
}//package
Section 235
//tile_walk_corner_br (tile_walk_corner_br)
package {
import com.nitrome.folding.*;
public dynamic class tile_walk_corner_br extends SolidTile {
}
}//package
Section 236
//tile_walk_corner_tl (tile_walk_corner_tl)
package {
import com.nitrome.folding.*;
public dynamic class tile_walk_corner_tl extends SolidTile {
}
}//package
Section 237
//tile_walk_corner_tr (tile_walk_corner_tr)
package {
import com.nitrome.folding.*;
public dynamic class tile_walk_corner_tr extends SolidTile {
}
}//package
Section 238
//tile_walk_d (tile_walk_d)
package {
import com.nitrome.folding.*;
public dynamic class tile_walk_d extends SolidTile {
}
}//package
Section 239
//tile_walk_intersection_3_d (tile_walk_intersection_3_d)
package {
import com.nitrome.folding.*;
public dynamic class tile_walk_intersection_3_d extends SolidTile {
}
}//package
Section 240
//tile_walk_intersection_3_l (tile_walk_intersection_3_l)
package {
import com.nitrome.folding.*;
public dynamic class tile_walk_intersection_3_l extends SolidTile {
}
}//package
Section 241
//tile_walk_intersection_3_r (tile_walk_intersection_3_r)
package {
import com.nitrome.folding.*;
public dynamic class tile_walk_intersection_3_r extends SolidTile {
}
}//package
Section 242
//tile_walk_intersection_3_u (tile_walk_intersection_3_u)
package {
import com.nitrome.folding.*;
public dynamic class tile_walk_intersection_3_u extends SolidTile {
}
}//package
Section 243
//tile_walk_intersection_4 (tile_walk_intersection_4)
package {
import com.nitrome.folding.*;
public dynamic class tile_walk_intersection_4 extends SolidTile {
}
}//package
Section 244
//tile_walk_l (tile_walk_l)
package {
import com.nitrome.folding.*;
public dynamic class tile_walk_l extends SolidTile {
}
}//package
Section 245
//tile_walk_outercorner_bl (tile_walk_outercorner_bl)
package {
import com.nitrome.folding.*;
public dynamic class tile_walk_outercorner_bl extends SolidTile {
}
}//package
Section 246
//tile_walk_outercorner_br (tile_walk_outercorner_br)
package {
import com.nitrome.folding.*;
public dynamic class tile_walk_outercorner_br extends SolidTile {
}
}//package
Section 247
//tile_walk_outercorner_tl (tile_walk_outercorner_tl)
package {
import com.nitrome.folding.*;
public dynamic class tile_walk_outercorner_tl extends SolidTile {
}
}//package
Section 248
//tile_walk_outercorner_tr (tile_walk_outercorner_tr)
package {
import com.nitrome.folding.*;
public dynamic class tile_walk_outercorner_tr extends SolidTile {
}
}//package
Section 249
//tile_walk_r (tile_walk_r)
package {
import com.nitrome.folding.*;
public dynamic class tile_walk_r extends SolidTile {
}
}//package
Section 250
//tile_walk_single (tile_walk_single)
package {
import com.nitrome.folding.*;
public dynamic class tile_walk_single extends SolidTile {
}
}//package
Section 251
//tile_walk_u (tile_walk_u)
package {
import com.nitrome.folding.*;
public dynamic class tile_walk_u extends SolidTile {
}
}//package
Section 252
//tile_walkrow_d (tile_walkrow_d)
package {
import com.nitrome.folding.*;
public dynamic class tile_walkrow_d extends SolidTile {
}
}//package
Section 253
//tile_walkrow_l (tile_walkrow_l)
package {
import com.nitrome.folding.*;
public dynamic class tile_walkrow_l extends SolidTile {
}
}//package
Section 254
//tile_walkrow_lr (tile_walkrow_lr)
package {
import com.nitrome.folding.*;
public dynamic class tile_walkrow_lr extends SolidTile {
}
}//package
Section 255
//tile_walkrow_r (tile_walkrow_r)
package {
import com.nitrome.folding.*;
public dynamic class tile_walkrow_r extends SolidTile {
}
}//package
Section 256
//tile_walkrow_u (tile_walkrow_u)
package {
import com.nitrome.folding.*;
public dynamic class tile_walkrow_u extends SolidTile {
}
}//package
Section 257
//tile_walkrow_ud (tile_walkrow_ud)
package {
import com.nitrome.folding.*;
public dynamic class tile_walkrow_ud extends SolidTile {
}
}//package
Section 258
//VideoFolding (VideoFolding)
package {
import flash.display.*;
public dynamic class VideoFolding extends MovieClip {
public var distort:MovieClip;
}
}//package
Section 259
//VideoMoving (VideoMoving)
package {
import flash.display.*;
public dynamic class VideoMoving extends MovieClip {
public var distort:MovieClip;
}
}//package
Section 260
//VideoUnfolding (VideoUnfolding)
package {
import flash.display.*;
public dynamic class VideoUnfolding extends MovieClip {
}
}//package