forked from: flash on 2011-12-8

by rodrigocardozo
♥0 | Line 314 | Modified 2011-12-09 21:59:56 | MIT License
play

ActionScript3 source code

/**
 * Copyright rodrigocardozo ( http://wonderfl.net/user/rodrigocardozo )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/3UBX
 */

// forked from 1110101100101001's flash on 2011-12-8
package {
    import flash.display.Sprite;
    public class FlashTest extends Sprite {
        public function FlashTest() {
            // write as3 code here..
            addChild( new Game( stage ) );
        }
    }
}
    
    import flash.display.Sprite;
    import flash.display.Stage;
    import flash.display.BitmapData;
    class Game extends Sprite{
        public function Game( stage:Stage ){
            _stage = stage;
            Input.activate( stage );
            Assets.initialize();
            prepare();
        }
        public function prepare():void{
            base64Bitmap = new Base64Bitmap();
            base64Bitmap.addEventListener( Event.COMPLETE, onLoaded );
            base64Bitmap.load( Assets.imageBase64["tileSheet"] );
            base64Bitmap.x = 20;
            base64Bitmap.y = 20;
            addChild( base64Bitmap );
        }
        private function onLoaded( event:Event ):void{
            var source:BitmapData = base64Bitmap.bitmapData;
            Assets.tileList["font"] = ImageArtist.createTileArray( source, 8,8 );
            addChild( new Bitmap( ImageArtist.xFlip( Assets.tileList["font"][67] ) ) );
        }
        public var _stage:Stage;
        private var base64Bitmap:Base64Bitmap;
    }
    
    ////////////////////////////////////////////////////////////////////
    import flash.display.BitmapData;
    import flash.geom.Matrix;
    import flash.geom.Point;
    import flash.geom.Rectangle;
    class ImageArtist{
        static public function createTileMap( source:BitmapData, widthX:Number = 8, widthY:Number = 8 ):Array{
            var result:Array;
            result = [];
            
            var rect:Rectangle
            rect = new Rectangle( 0,0, 8,8 );
            
            var destPoint:Point
            destPoint = new Point( 0,0 );
            
            var x:int;
            var y:int;
            var xMax:int = source.width / widthX;
            var yMax:int = source.height / widthY;
            
            for( x = 0; x < xMax; ++x ){
                result[x] = [];
                for( y = 0; y < yMax; ++y ){
                    rect.x = x * 8;
                    rect.y = y * 8;
                    var tile:BitmapData;
                    tile = new BitmapData( widthX,widthY,true,0 );
                    tile.copyPixels( source, rect, destPoint );
                    result[x][y] = tile;
                }
            }
            
            return result;
        }
        static public function createTileArray( source:BitmapData, widthX:Number = 8, widthY:Number = 8 ):Array{
            var result:Array;
            result = [];
            
            var rect:Rectangle
            rect = new Rectangle( 0,0, 8,8 );
            
            var destPoint:Point
            destPoint = new Point( 0,0 );
            
            var x:int;
            var y:int;
            var xMax:int = source.width / widthX;
            var yMax:int = source.height / widthY;
            
            for( x = 0; x < xMax; ++x ){
                result[x] = [];
                for( y = 0; y < yMax; ++y ){
                    rect.x = x * 8;
                    rect.y = y * 8;
                    var tile:BitmapData;
                    tile = new BitmapData( widthX,widthY,true,0 );
                    tile.copyPixels( source, rect, destPoint );
                    result[x + y * xMax] = tile;
                }
            }
            
            return result;
        }
        static public function clipOut( source:BitmapData, x:Number = 0, y:Number = 0, widthX:Number = 8, widthY:Number = 8 ):BitmapData{
            var result:BitmapData;
            var clipRect:Rectangle;
            clipRect = new Rectangle( x,y,widthX,widthY );
            result = new BitmapData( widthX,widthY,true,0 );
            result.copyPixels( source, clipRect, new Point( 0,0 ) );
            return result;
        }
        static public function xFlip( source:BitmapData ):BitmapData{    
            var matrix:Matrix;
            matrix = new Matrix();
            matrix.scale( -1, 1 );
            matrix.translate( source.width, 0 );
            
            var result:BitmapData;
            result = new BitmapData( source.width,source.height,true,0 );
            result.draw( source, matrix );
            return result;
        }
        static public function yFlip( source:BitmapData ):BitmapData{    
            var matrix:Matrix;
            matrix = new Matrix();
            matrix.scale( 1, -1 );
            matrix.translate( 0, source.height );
            
            var result:BitmapData;
            result = new BitmapData( source.width,source.height,true,0 );
            result.draw( source, matrix );
            return result;
        }
    }
    
    ////////////////////////////////////////////////////////////////////
    import mx.utils.Base64Decoder;
    import flash.media.Sound;
    class SoundArtist{
        static public function base64Mp3Decode( base64Code:String ):Sound{
            var decoder:Base64Decoder = new Base64Decoder();
            decoder.decode( base64Code );
            
            var byteArray:ByteArray;
            byteArray = decoder.toByteArray();
            byteArray.position = 0;
            
            var result:Sound;
            result.loadCompressedDataFromByteArray( byteArray, byteArray.length );
            
            return result;
        }
        static public function base64WavDecode( base64Code:String ):Sound{
            var decoder:Base64Decoder = new Base64Decoder();
            decoder.decode( base64Code );
            
            var byteArray:ByteArray;
            byteArray = decoder.toByteArray();
            byteArray.position = 0;
            
            var result:Sound;
            result.loadPCMFromByteArray( byteArray, byteArray.length );
            
            return result;
        }
    }
    
    /////////////////////////////////////////////////////////////////
    import flash.display.Bitmap;
    import flash.display.BitmapData;
    import flash.display.Loader;
    import flash.events.Event;
    import flash.utils.ByteArray;
    import mx.utils.Base64Decoder;
    class Base64Bitmap extends Bitmap{
        public function Base64Bitmap( data:String = null ){
            // dummy bitmapData
            bitmapData = new BitmapData( 1,1,true,0 );
            super( bitmapData );
            
            if( data ){
                load( data );
            }
            
        }
        public function load( data:String ):void{
            // convert
            decoder.decode( data )
            byteArray = decoder.toByteArray()
            byteArray.position = 0;
            loader.contentLoaderInfo.addEventListener( Event.COMPLETE, onLoaderComplete );
            loader.loadBytes( byteArray );
        }
        private function onLoaderComplete( event:Event ):void{
            super.bitmapData = Bitmap( loader.content ).bitmapData
            dispatchEvent( new Event( Event.COMPLETE ) );
            _loaded = true;
        }
        public var loader:Loader = new Loader();
        public var decoder:Base64Decoder = new Base64Decoder();
        public var byteArray:ByteArray = new ByteArray();
        // loaded [read only]
        private var _loaded:Boolean = false;
        public function get loaded():Boolean{ return _loaded }
    }
    
    /////////////////////////////////////////////////////////////////////
    import flash.display.Bitmap;
    import flash.display.BitmapData;
    import flash.display.Shape;
    import flash.display.Sprite;
    import flash.events.Event;
    import flash.text.TextFormat;
    import flash.text.TextField;
    import flash.utils.getTimer;
    /**
    表示だけなら1行で書ける形の着想元
    ! MinimalComps の com.bit101.components.Component 
    https://github.com/minimalcomps/minimalcomps/blob/master/src/com/bit101/components/Component.as
    */
    class Note extends Sprite {
        public function Note( parent:Sprite=null, text:String=" ", x:Number=0,y:Number=0,widthX:Number=200,widthY:Number=100 ){
            
            shape = new Shape();
            bitmap = new Bitmap( new BitmapData( 1,1, true, 0x00000000 ) );
            
            textFormat = new TextFormat()
            textFormat.leftMargin = 0
            textFormat.rightMargin = 0
            textFormat.align = "left"
            textFormat.font = "_等幅"     //EXAMPLE  "_等幅"  "_ゴシック"  "_明朝 "  "_typewriter"  "_serif"  "_sans"
            textFormat.size = 10
            
            textField = new TextField()
            textField.background = false;
            textField.backgroundColor = 0xFFFFFF;
            textField.border = false;
            textField.borderColor = 0x000000;
            textField.textColor = 0x000000;
            textField.autoSize = "left";
            textField.selectable = false;
            textField.text = text;
            textField.defaultTextFormat = textFormat;
            
            this.text = text;
            this.x = x;
            this.y = y;
            textField.width = widthX;
            textField.height = widthY;
            
            displayEnable( parent );
            
            addEventListener( Event.ENTER_FRAME, onEnterFrame );
            
        }
        
        private function onEnterFrame( event:Event ):void {
            textField.text = text;
        }
        
        public function displayEnable( parent:Sprite ):void{
            if( parent ){
                parent.addChild( this );
                addChild( textField );
                addChild( shape );
                addChild( bitmap );
            }
        }
        
        public function displayDisenable():void{
            if( parent ){
                parent.removeChild( this );
                removeChild( textField );
                removeChild( shape );
                removeChild( bitmap );
            }
        }
        
        public function start( startText:String = "" ):void{
            startTime = getTimer();
            text = text + startText;
        }
        public function end( endText:String = "" ):void{
            endTime = getTimer();
            elapsedTime = endTime - startTime;
            text = text + elapsedTime.toString() + endText;
        }
        
        public function toBitmapData():BitmapData{
            var result:BitmapData
            result = new BitmapData( this.width, this.height, true, 0x00000000 );
            result.draw( this );
            return result;
        }
        
        public var elapsedTime:Number = 0;
        public var endText:String = "";
        public var endTime:Number = 0;
        public var iMax:uint = 1000000;
        public var startText:String = "";
        public var startTime:Number = 0;
        
        
        public var text:String
        public var textFormat:TextFormat
        public var textField:TextField
        public var bitmap:Bitmap;
        public var shape:Shape
    }
    ////////////////////////////////////////////////////////////////////
    import flash.display.Stage;
    import flash.events.EventDispatcher;
    import flash.events.KeyboardEvent;
    import flash.events.MouseEvent;
    import flash.geom.Point;
    class Input extends EventDispatcher{
        static public function activate( stage:Stage ):void {
            keyDownList = new Vector.<Boolean>(0xFF);
            for( var i:int=0; i < 0xFF; ++i ){ keyDownList[i] = false; }
            
            mouseX = 0;
            mouseY = 0;
            mouseDown = false;
            
            stage.addEventListener( MouseEvent.MOUSE_DOWN, onMouseDown );
            stage.addEventListener( MouseEvent.MOUSE_UP, onMouseUp );
            stage.addEventListener( KeyboardEvent.KEY_DOWN, function( event:KeyboardEvent ):void{ keyDownList[event.keyCode] = true; } );
            stage.addEventListener( KeyboardEvent.KEY_UP,   function( event:KeyboardEvent ):void{ keyDownList[event.keyCode] = false; } );
        }
        static public function deactivate( stage:Stage ):void{
            stage.removeEventListener( MouseEvent.MOUSE_DOWN, function( event:MouseEvent ):void{ mouseDown = true;  } );
            stage.removeEventListener( MouseEvent.MOUSE_UP,   function( event:MouseEvent ):void{ mouseDown = false; } );
            stage.removeEventListener( KeyboardEvent.KEY_DOWN, function( event:KeyboardEvent ):void{ keyDownList[event.keyCode] = true; } );
            stage.removeEventListener( KeyboardEvent.KEY_UP,   function( event:KeyboardEvent ):void{ keyDownList[event.keyCode] = false; } );
        }
        static private function onMouseDown( event:MouseEvent ):void{
            mouseDown = true;
            mouseDownPoint.x = stage.mouseX;
            mouseDownPoint.y = stage.mouseY;
        }
        static private function onMouseUp( event:MouseEvent ):void{
            mouseDown = false;
            mouseUpPoint.x = stage.mouseX;
            mouseUpPoint.y = stage.mouseY;
        }
        static public var stage:Stage;
        static public var keyDownList:Vector.<Boolean>;
        static public var mouseX:Number;
        static public var mouseY:Number;
        static public var mouseDown:Boolean;
        static public var mouseDownPoint:Point = new Point();
        static public var mouseUpPoint:Point = new Point();
    }
    ////////////////////////////////////////////////////////////////////
    import flash.utils.Dictionary;
    class Assets{
        static public var tileList:Object = new Object();
        static public var imageBase64:Object = new Object();
        static public var soundBase64:Object = new Object();
        static public var image:Object = new Object();
        static public var sound:Object = new Object();
        static public function initialize():void{
            imageBase64["tileSheet"] = "iVBORw0KGgoAAAANSUhEUgAAAIAAAACAAgMAAAC+UIlYAAAAAXNSR0IArs4c6QAAAAlQTFRF////ICAgAAAAGA4sUQAABD1JREFUWMO9V0mu4zoMpABqTwPyfbTwAbTwu2RO2VVFyckL3pD+P2g7jgeVaBYn0WZPW+mfd/svgFGfAB8f/JntJ854pHsMfnx0PV8PnoF3wCfRz7rYdw/+HvDy9pUdws1jnev4vBPQGn/fn38HfBL9xf27aX65teaBt3qFYOvlcYj0i0Xs537GCAxiOP9z6wIYtN6j9tp017f4AuBnGTESUPuOqz3vcuMrqseDhCRY7C4hYux8KA2KhJfu9i+2Ym4Vu0P3YvVug8Zf7RiQQt15GM8+3aQY75pD5ryt0t/7FIA/jPk0L+fz2uXiS4JpDuaT/2UBiZYO5V1EGQfVUlHSFRdSJIEqYlQQh/mkvQDeBagaoARftOcTADxlLAn9LiEPPXoG+DNgKemWSqa5CHiLHeqyQ/drrwq2mXj5KL249uUTVY2fAPMVfsVBMriGE+AaugMe5i+ApVpWp4lKqhcv1YaHUvxDXfwN8YYqlGa1nuuMT5tkrMubPiNJQYY14/KQrCoJNdOEc2WHan7Z5P9u44dVAy8yO75PpqwT3wI8k1h1kYthlP4YMHVKSJK5EE/W94DJV5x91uYVD5llpS8lx2+eOs9X3ZVOr+Nb1jMq4kcAHMZVbkDpYenuIWftFwASaBEMC0rnU+YmwJ7hRxeHSmJIUkwJRYCS6kYZigpIedO6KfZzMeJ7PeM0yEEFAIo89AtFy/pO9XAFQLoGF6yrwaIBJwcl8B5PyNoFIDW8bgLAhcMx2VssC9g6MKmstZuz67hMZFQPuQF7vMUOUHKUWeNNwqmiT+vgv7AtCC0rTNzJA8YKPoGSTueG3EKXkxi7kaRLPjknjbQow1h4HsHJlpxt6mCyoABYKZwalYdUgRawXlWbpa5ivKOCKelMIqtC1acV+LrNGIgYKslZpBLAnsYA2LQcyGKkeZeQAEsJTs9nbqSZ+hyOWUs8rhViAfoDoFAs/lceIPxGtbx6jebt9gIAAsfVuX0FIA96ZZcHVgF7BNAK5G71YC7BpkeJWcpvN7USAkBzNK9qTTw54fp221hC0UoW+UApRK2CdGELSljFBjY5aq6jkf1Z6b/TfKmPmo16ZI7b/JRgbCo79iM7V5ydumwnGJyuRlhwzHSp6fvBnjAeJABSgXc3hQtFJqAwSrpnId0OJVrfPG0Q4Rkl6qz4btd62XafCYNCpsqg8xvy4t6OqT7md0FM64AAvgG0k3dsrJBgsp3NUl2mMLGO4B9+hLWjHBu+A7xxUaTJDN8VQDGGti6AAwArxIECMUqWEJYbcB5ItVbb5lsjwHhGcTlVfAYX2Bitba2pPqr9nu3GOz4gQitDzwq9Oppsd5Dg+1Fli20w0wnctcjBr2xykPoOcihpTdFACSypdUTaCPEA9ruYq/VmfeQBe0iDLcDbaQdaUzYZDf+NEhUNgfdzpVQ/NbuxViTpJY5/AOBM4+0eM+vsAAAAAElFTkSuQmCC";
            soundBase64["damage"] = "SUQzBAAAAAAAGFRTU0UAAAAOAAADTGF2ZjUyLjEwNi4wAP/7kAAAAAJFFkPtaSAISKLIfa0kAQ1wrU252YARrhWptzswAgAAAI7NIgAAY44bSgebwf70eqcBqhiUpr1YKXiMCEA4VDDsOQ5EOWBgMMkYXBMExWT23SAUCgUEmQYyaMVitGBw/BA5lz638MAAAAR2aRAAAxxw2lA83g/3o9U4DVDEpTXqwUvEYEIBwqGHYchyIcsDAYZIwuCYJisntukAoFAoJMgxk0YrFaMDh+CBzLn1v4YoFAiFgtFxuQoDQAAAAPq1ZMjiHMhwlMbBwMyw2cEeJJCcLCAWvpmHM4lJguBcWp4yOwlQxIFzqi8S5PmwB8wCgAEGSzRA84UwHziPwbmJUUabpqC5sNnCzYuQdGur8sjgIALgHGQP/+b0TqqBQIhYLRcbkKA0AAAAD6tWTI4hzIcJTGwcDMsNnBHiSQnCwgFr6ZhzOJSYLgXFqeMjsJUMSBc6ovEuT5sAfMAoABBks0QPOFMB84j8G5iVFGm6agubDZws2LkHRrq/LI4CAC4BxkD//m9E6pUAAAAE8XDYbC0AAAtZy+GyPPN2J//7kgAKAALzMd3WNeCUXmY7usa8EovkyWu5mgAZfJktdzNAAxP1uxKf0pRw//pRGtyz/+4HQoIgmqoXKl//6sTjIo45gA8m0QIXb///oer3OJk7lQ4oUhqR///92R5r0pVX0WWqR/5d4HwyFSiDoAAAAJ4uGw2FoAABazl8NkeebsTifrdiU/pSjh//SiNbln/9wOhQRBNVQuVL//1YnGRRxzAB5NogQu3///Q9XucTJ3KhxQpDUj///7sjzXpSqvostUj/y7wPhkKlEHQAgaBQKnBaNgOBgAAAEiHvYr0tWuNNVOXvUACNRlQHnf9Vll4DblwNocRZFMDbggCgwXC1zhsiJ6MBxEz5BzyEoki5eO/RN0HkwRUmi+Xi7/+XDxWNSZLhW//zIcDXRABA0CgVOC0bAcDAAAAJEPexXpatcaaqcveoAEajKgPO/6rLLwG3LgbQ4iyKYG3BAFBguFrnDZET0YDiJnyDnkJRJFy8d+iboPJgipNF8vF3/8uHisakyXCt//mQ4GuiACAABAYVt/3EAAAAAAPG1Pl5EjxakyD/+5IAC4ADBiVV7msAFGDEqr3NYAKIhIdRWYSAGRCQ6iswkANg1BYwTwFegEBh0FEGdIOvZS9XI6lWM/9NGGW4xL/9tKawnVjW7r+eztfhfcHLhqLy2zM4fz/BdAasBjCMMjjNbLLeP///8vnIWACAABAYVt/3EAAAAAAPG1Pl5EjxakyBg1BYwTwFegEBh0FEGdIOvZS9XI6lWM/9NGGW4xL/9tKawnVjW7r+eztfhfcHLhqLy2zM4fz/BdAasBjCMMjjNbLLeP///8vnIWAAAqr8kt2wAAAAAUEIqgLraxWAEgc4luKZwLS/ln0KN1KFG5E1/w3hZ5wtG8l/+weaMq1KVShCE5nbXQypPpuZm/sV4AABVX5JbtgAAAAAoIRVAXW1isAJA5xLcUzgWl/LPoUbqUKNyJr/hvCzzhaN5L/9g80ZVqUqlCEJzO2uhlSfTczN/YrxAAAAAAZDjjRIAAAAAAO8XkPhUtNF6oMqB6M6x0BISGmwUmC4ImCQxgACzDcGnDMJgADA6GACU812IUwFA6NNuUsPaiSHa5bkfM8R//uSACWAA3khxu53AABvJDjdzuAADACHCV2UgAmAEOErspABaMod1AMuyLOPRS3lWUvek8g3xu9ubnp6l/dLrUY5q137Ywl1gAAAAAMhxxokAAAAAAHeLyHwqWmi9UGVA9GdY6AkJDTYKTBcETBIYwABZhuDThmEwABgdDABKea7EKYCgdGm3KWHtRJDtctyPmeItGUO6gGXZFnHopbyrKXvSeQb43e3Nz09S/ul1qMc1a79sYS6wAAGckJAAEA5qPnFGbiYcSnsWSLtONjcdpnTlQ92ljKJq1ULNIhUKWaRComeqQomlRSCIpcsKhSSwRCom1UUiom1UUilmlkKHFgp4MNigvAX4T4x2ILwFdCO4N+L+JvjQAAGckJAAEA5qPnFGbiYcSnsWSLtONjcdpnTlQ92ljKJq1ULNIhUKWaRComeqQomlRSCIpcsKhSSwRCom1UUiom1UUilmlkKHFgp4MNigvAX4T4x2ILwFdCO4N+L+JvjVQAAW/gAFayykYo040osy0BpI0UdOLoCc0hWVDw2IBWSGSYhLHShdAbNIf/7kgAVD/HJHx3IZko6OSPjuQzJR0AAAaQAAAAgAAA0gAAABCIqcOqI2GZKpJpLwHg1VQAALfwACtZZSMUacaUWZaA0kaKOnF0BOaQrKh4bEArJDJMQljpQugNmkJEVOHVEbDMlUk0l4DwaqpVMQU1FMy45OC40VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVU=";
            soundBase64["roll dice"] = "SUQzBAAAAAAAGFRTU0UAAAAOAAADTGF2ZjUyLjEwNi4wAP/7kAAADdAAAGkAAAAIAAANIAAAAQlwYLQ1h4ABLgwWhrDwAIIOMkeNQNQd530g5DM0ERoEITSsBPYkBCGYDNQBIEoJmA7hG1EF4EgSpBDIXZplzfF8Lg4nIySsb/cCJl5EyD445///E8EOIDlMMKgg4yR41A1B3nfSDkMzQRGgQhNKwE9iQEIZgM1AEgSgmYDuEbUQXgSBKkEMhdmmXN8XwuDicjJKxv9wImXkTIPjjn//8TwQ4gOUwwpVBWBnB3CHB3D8CASBQAACimjDtDrMPcW2wgw/A0AAZjpDJhenGrclKk0FDV3N7M6cr/XgHAkFLgdxF0AZgCVM4NnAJAEGTAwXB5AzqD6AxyDaRUsgg7C+oDCECEDHMEIDAYCAA4FiPZ2NIGJkQYGEkF4GD0D4WxC6H/26y///Nycl8mywWt6SS//y+PdxVBWBnB3CHB3D8CASBQAACimjDtDrMPcW2wgw/A0AAZjpDJhenGrclKk0FDV3N7M6cr/XgHAkFLgdxF0AZgCVM4NnAJAEGTAwXB5AzqD6AxyDaRUsgg7C+v/7kgBzAARuOFZ+esUGjccKz89YoMxlS1288YA5jKlrt54wB4DCECEDHMEIDAYCAA4FiPZ2NIGJkQYGEkF4GD0D4WxC6H/26y///Nycl8mywWt6SS//y+PdwgApxyXb///++DODbJa9reaSNZXzPKWNyWhRKBlUkAgJiCm6KGOEFIhgtPXjBB1coZ96RrTlNmBcBMzVSq6qV4bDG6CozVuoPKXAwEKDAR4ZZ/GOxjPhr+ht/W7KvVtBqWE/MQAU45Lt////fBnBtkte1vNJGsr5nlLG5LQolAyqSAQExBTdFDHCCkQwWnrxgg6uUM+9I1pymzAuAmZqpVdVK8NhjdBUZq3UHlLgYCFBgI8Ms/jHYxnw1/Q2/rdlXq2g1LCfmUAAKSclkgiUXkwXAlkBBgoKRItOQallpd7K2ATDUYCZmUmMBE3aHhjJqQWOAw1htSyuGNgpBhYCTNmoIV/WY2cBBDgJo1AV1151VjQxJcFKUSCoCAw9VYVdxL+WEPSgABSTkskESi8mC4EsgIMFBSJFpyDUstLvZWwCYajATMykxgL/+5IAQQAC8TnP0wwZvF4nOfphgzeIpITzTD0gQRSQnmmHpAgm7Q8MZNSCxwGGsNqWVwxsFIMLASZs1BCv6zGzgIIcBNGoCuuvOqsaGJLgpSiQVAQGHqrCruJfywh6QAFnlrRAAAjyYhTLB1PlxShTZslLIkRCoIi8Bkw15SSFS7KF2pBZgEj8GhSyyAzE1nlicEYWnkYLNRy5WhcRh07EXJHtYACzy1ogAAR5MQplg6ny4pQps2SlkSIhUEReAyYa8pJCpdlC7UgswCR+DQpZZAZiazyxOCMLTyMFmo5crQuIw6diLkj2tUxBTUUzLjk4LjRVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuOTguNFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSAECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjk4LjRVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgBAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy45OC40VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IAQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuOTguNFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSAECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjk4LjRVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgBAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy45OC40VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVQEBAKBgMBgMAgEAQAAP//EIAJgEAvf/+Y3/+5IAQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAAQwcxliD3//+Zn8Uh82RseBtaRnwBk4p1b+Bk9IbaBl2IBYBkuw0F/gYbSHggYNCDdgYGaDRAYVADEf+BhlQGYBg1YIWBgfgHEBglgC0BgP4Df/+QxlIGDf/5uZmREB2kSFwf//kQNzQuGTX////+bLvNgICAUDAYDAYBAIAgAAf/+IQATAIBe//8xpg5jLEHv//8zP4pD5sjY8Da0jPgDJxTq38DJ6Q20DLsQCwDJdhoL/Aw2kPBAwaEG7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";
            soundBase64["coin"] = "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CGpD//uSAFWAAnZiWG8goAxOzEsN5BQBin2FPgXg+glPsKfAvB9Bs852t3XLZ9ja5+6a3hym7bffmq87d5lHiCjNuOqDUgYYzmzkq12p/630XW9plzm2YcPO4nHiWjrb/9ev///9vsaZ4gH/lMC63ZiVkKU80rR+ENSHZ5ztbuuWz7G1z901vDlN22+/NV527zKPEFGbcdUGpAwxnNnJVrtT/1vout7TLnNsw4edxOPEtHW3/69f///7fY0zxAP/KZUttyyWRtFgBjLrwPVta1aW2wzNKQoKSlqjUtQQ7fG2MljHtYzOVqB4WcSAY5FL5f/VpZXq1W////VpWqMAIexv//////90NXmeMFdxUJAwiMqApbblksjaLADGXXgera1q0tthmaUhQUlLVGpagh2+NsZLGPaxmcrUDws4kAxyKXy/+rSyvVqt///+rStUYAQ9jf//////7oavM8YK7ioSBhEZUBQAACcIBAAO5eAFKlslcu9KaO73mr+6/1TaFgylcphIoKGSXsqktH6ykTwvgMyoBQcUxHd9mVQO/6137P/////7kgBxgAKTYtZpgyr8UmxazTBlX4fshw9NionA/ZDh6bFROPSAAAThAIAB3LwApUtkrl3pTR3e81f3X+qbQsGUrlMJFBQyS9lUlo/WUieF8BmVAKDimI7vsyqB3/Wu/Z////6VTEFNRTMuOTguNFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUAKUaIABsNYHMgolGFNq0PY7ypsjqqq+ql8ZS9mPrH/+ragIkmZp7btldIeGpFNAlQgRFMuXtXNuPYd//5EAKUaIABsNYHMgolGFNq0PY7ypsjqqq+ql8ZS9mPrH/+ragIkmZp7btldIeGpFNAlQgRFMuXtXNuPYd//5FMQU1FMy45OC40VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IAfg/x7CPAO0N68D2EeAdob14AAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV";
            soundBase64["drop in water"] = "SUQzBAAAAAAAGFRTU0UAAAAOAAADTGF2ZjUyLjEwNi4wAP/7kAAAD/AAAGkAAAAIAAANIAAAAQAAAaQUAAAgAAA0goAABAQEcXcWcIcocv2NBaHQqA/8wDwHzADAwmWZf0yLhRjWPQbXep1el5gbo5GuoakYCoDAyAaVzQDiW0MDMiTwmgxsQciZMAaYi5AYogtgZSyzgPAOAsAcMQGhIG5oBjzCuBpIOUBkoDwBgRA+L0PhE8hzGdsDJoLoDB0AgAYDAGIAOgGGQIgXMuNcdw7fwRAEAKCIDZsdAUBEBgKAMKRDGonotiehN/8nRHgswToLLDL4gGFvAyInYunhyRnv+1ifPmlnL5BBmyyI6MSWHLGx/80b28ipOnyLEyXLF8ni7//4aQeWMqBARxdxZwhyhy/Y0FodCoD/zAPAfMAMDCZZl/TIuFGNY9Btd6nV6XmBujka6hqRgKgMDIBpXNAOJbQwMyJPCaDGxByJkwBpiLkBiiC2BlLLOA8A4CwBwxAaEgbmgGPMK4Gkg5QGSgPAGBED4vQ+ETyHMZ2wMmgugMHQCABgMAYgA6AYZAiBcy41x3Dt/BEAQAoIgNmx0BQEQP/7kgC+gAckUFR+esCE5IoKj89YEIp5Mzr8MYARTyZnX4YwAmAoAwpEMaiei2J6E3/ydEeCzBOgssMviAYW8DIidi6eHJGe/7WJ8+aWcvkEGbLIjoxJYcsbH/zRvbyKk6fIsTJcsXyeLv//hpB5YyohABTkttUSpMzMqqqqUDKAgICpRmVVVSgYCX9V2ZYBCj1VdVXjMf+q7ARRj/jbM37MUZvVV8uN1eqqlAICKAR1SgYozMeqn///8boUBHhr8GuWPFiEAFOS21RKkzMyqqqpQMoCAgKlGZVVVKBgJf1XZlgEKPVV1VeMx/6rsBFGP+NszfsxRm9VXy43V6qqUAgIoBHVKBijMx6qf///xuhQEeGvwa5Y8WVMQU1FMy45OC5MQU1FMy45OC40VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IAQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuOTguNFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSAECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjk4LjRVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgBAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy45OC40VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IAQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuOTguNFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSAECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjk4LjRVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgBAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUAAMBgICAUCAAAAAAADwMEUClQMJnDpPAzs4k2A0r4fM8DIBSSEDDWQPrwNx49gNewpfwPasrwP2apQNrCHv8DZescDgir0DAImgDWQXT/wNJwPgMtIcQMqQ/AM0gugMNYh//xHQrggARcvEz//i4xO4kAYwC1kLQgMCAAP//wAgf/+5IAQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAAQA2+KOGqguFACA+AcDMLhCH///+MuRYZAWAi6DZSHT////+IBiHjIDNigxWAxgGgCxiyBHhDyuS5Of////////6aRcAADAYCAgFAgAAAAAAA8DBFApUDCZw6TwM7OJNgNK+HzPAyAUkhAw1kD68DcePYDXsKX8D2rK8D9mqUDawh7/A2XrHA4Iq9AwCJoA1kF0/8DScD4DLSHEDKkPwDNILoDDWIf/8R0K4IAEXLxM//4uMTuJAGMAtZC0IDAgAD//8AIHANvijhqoLhQAgPgHAzC4Qh////jLkWGQFgIug2Uh0/////iAYh4yAzYoMVgMYBoAsYsgR4Q8rkuTn////////+mkXPx+Px+Px+Px+Px+AAADAWBBML0Q0xJCMDSMFi15iJhHmH0FIYT4JJiFABf5gxAfGBIAMYcYGxgKBMf4BRYDNHARjQM+1wMsAAChhsgGEeBioDSN+GMAMWFBs+IBgICgFJgCioJDfGZDI4nMQQJwLmgt0JkRUh36//uSAP+AAAAAaQUAAAgAAA0goAABGIIO77l7AAMQQd33L2AACGgRZEx3/ZPMybJ+5qdLyBX/k40mCKE4T73KRPEygiis1/H4/H4/H4/H4/H4AAAMBYEEwvRDTEkIwNIwWLXmImEeYfQUhhPgkmIUAF/mDEB8YEgAxhxgbGAoEx/gFFgM0cBGNAz7XAywAAKGGyAYR4GKgNI34YwAxYUGz4gGAgKAUmAKKgkN8ZkMjicxBAnAuaC3QmRFSHfoIaBFkTHf9k8zJsn7mp0vIFf+TjSYIoThPvcpE8TKCKKzUABBinJJd19AkMaGQYmqlS/MulWK+XknMO9rUeB/AIn6wqxCVZ16pGWMqMpybBwWOYOO7RRDDOgMmXIzWytLuUN/LKFLqbcJUl2mZoxmtNjikgUsOXS8fxJmGKBqgvIcgM1WtjhTl69n33rVPAAEGKckl3X0CQxoZBiaqVL8y6VYr5eScw72tR4H8AifrCrEJVnXqkZYyoynJsHBY5g47tFEMM6AyZcjNbK0u5Q38soUuptwlSXaZmjGa02OKSBSw5dLx//7kgD6gATGOunueo2EmMddPc9RsI2RMVtdoYA5siYra7QwB/EmYYoGqC8hyAzVa2OFOXr2ffetU8UABBinHYAIaWSFgh4exgQ8sqizsthXq+5YHJItE5lvLUkYGK1HJeGw6nKvszki/y3atZZTGo38nnU38+Xf5Xk5dD0YJFVJj8jK0WKK/ndoqK2Hz4UkABBinHYAIaWSFgh4exgQ8sqizsthXq+5YHJItE5lvLUkYGK1HJeGw6nKvszki/y3atZZTGo38nnU38+Xf5Xk5dD0YJFVJj8jK0WKK/ndoqK2Hz4UkAgSk3JWAJTASHU2LNHR+ig88JEayMERKRAMheVVAJZErZOpbo5vIqBTRtURxHz2SmcYk1VU7zt8hNHEmk3DcO/KRJHFsWEqgwKS/NGUSyhelABAlJuSsASmAkOpsWaOj9FB54SI1kYIiUiAZC8qqASyJWydS3RzeRUCmjaojiPnslM4xJqqp3nb5CaOJNJuG4d+UiSOLYsJVBgUl+aMollC9KFMQU1FMy45OC40VVVVVVVVVVVVVVVVVVVVVVX/+5IAtAACpjrVU1gwvFTHWqprBheKNMFLTCTGsUaYKWmEmNZVVVVVVVUAACC3WgAEuQgJiRlMtiI1tGTLEiPSxAyU8zXA9MEjo4VTwPaUtF+EdR4UwxBGgERIJVcgZHoGxOv5iHRRAiVAJDtex0IyUVFEmj0BJgSnzHmS8O0lUDJWfJKkcicEymxVLMsu0Ou2tTlbNe1ntrWvZnzM6tO9Z3R9v/pAAAgt1oABLkICYkZTLYiNbRkyxIj0sQMlPM1wPTBI6OFU8D2lLRfhHUeFMMQRoBESCVXIGR6BsTr+Yh0UQIlQCQ7XsdCMlFRRJo9ASYEp8x5kvDtJVAyVnySpHInBMpsVSzLLtDrtrU5WzXtZ7a1r2Z8zOrTvWd0fb/6VTEFNRTMuOTguNFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSALwP89oww1OZYjB7RhhqcyxGAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVQ==";
            soundBase64["droplet"] = "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";
            soundBase64["magic cast"] = "";
            soundBase64["magic cast"] = "";
        }
    }