[tiled] r577 - in trunk: examples src/tiled/core src/tiled/io src/tiled/io/xml src/tiled/mapeditor src/tiled/mapeditor/brush src/tiled/mapeditor/dialogs src/tiled/mapeditor/dungeon src/tiled/mapeditor/plugin src/tiled/mapeditor/selection src/tiled/mapeditor/undo src/tiled/mapeditor/util src/tiled/mapeditor/widget src/tiled/plugins/mappy src/tiled/plugins/tmw src/tiled/util src/tiled/view
svn@biggeruniverse.com
svn at biggeruniverse.com
Sat Feb 11 05:44:23 PST 2006
Author: bjorn
Date: 2006-02-11 07:44:22 -0600 (Sat, 11 Feb 2006)
New Revision: 577
Modified:
trunk/examples/tilebmp-test.tmx
trunk/src/tiled/core/ImageGroup.java
trunk/src/tiled/core/Map.java
trunk/src/tiled/core/MapLayer.java
trunk/src/tiled/core/MapObject.java
trunk/src/tiled/core/MultilayerPlane.java
trunk/src/tiled/core/ObjectGroup.java
trunk/src/tiled/core/Sprite.java
trunk/src/tiled/core/Tile.java
trunk/src/tiled/core/TileLayer.java
trunk/src/tiled/core/TileSet.java
trunk/src/tiled/io/ImageHelper.java
trunk/src/tiled/io/MapHelper.java
trunk/src/tiled/io/MapReader.java
trunk/src/tiled/io/MapWriter.java
trunk/src/tiled/io/PluggableMapIO.java
trunk/src/tiled/io/xml/XMLMapTransformer.java
trunk/src/tiled/io/xml/XMLMapWriter.java
trunk/src/tiled/io/xml/XMLWriter.java
trunk/src/tiled/io/xml/XMLWriterException.java
trunk/src/tiled/mapeditor/MapEditor.java
trunk/src/tiled/mapeditor/brush/AbstractBrush.java
trunk/src/tiled/mapeditor/brush/Brush.java
trunk/src/tiled/mapeditor/brush/CustomBrush.java
trunk/src/tiled/mapeditor/brush/RandomBrush.java
trunk/src/tiled/mapeditor/brush/ShapeBrush.java
trunk/src/tiled/mapeditor/dialogs/AboutDialog.java
trunk/src/tiled/mapeditor/dialogs/BrushDialog.java
trunk/src/tiled/mapeditor/dialogs/ConfigurationDialog.java
trunk/src/tiled/mapeditor/dialogs/ImageColorDialog.java
trunk/src/tiled/mapeditor/dialogs/NewMapDialog.java
trunk/src/tiled/mapeditor/dialogs/NewTilesetDialog.java
trunk/src/tiled/mapeditor/dialogs/ObjectDialog.java
trunk/src/tiled/mapeditor/dialogs/PluginDialog.java
trunk/src/tiled/mapeditor/dialogs/PropertiesDialog.java
trunk/src/tiled/mapeditor/dialogs/ResizeDialog.java
trunk/src/tiled/mapeditor/dialogs/SearchDialog.java
trunk/src/tiled/mapeditor/dialogs/TileDialog.java
trunk/src/tiled/mapeditor/dialogs/TileImageDialog.java
trunk/src/tiled/mapeditor/dialogs/TilePaletteDialog.java
trunk/src/tiled/mapeditor/dialogs/TilesetManager.java
trunk/src/tiled/mapeditor/dungeon/Builder.java
trunk/src/tiled/mapeditor/dungeon/CorridorBuilder.java
trunk/src/tiled/mapeditor/plugin/PluginClassLoader.java
trunk/src/tiled/mapeditor/plugin/TiledPlugin.java
trunk/src/tiled/mapeditor/selection/SelectionLayer.java
trunk/src/tiled/mapeditor/undo/MapLayerEdit.java
trunk/src/tiled/mapeditor/undo/MapLayerStateEdit.java
trunk/src/tiled/mapeditor/undo/MoveLayerEdit.java
trunk/src/tiled/mapeditor/undo/UndoStack.java
trunk/src/tiled/mapeditor/util/ImageCellRenderer.java
trunk/src/tiled/mapeditor/util/LayerTableModel.java
trunk/src/tiled/mapeditor/util/MapChangeListener.java
trunk/src/tiled/mapeditor/util/MapChangedEvent.java
trunk/src/tiled/mapeditor/util/MapEventAdapter.java
trunk/src/tiled/mapeditor/util/MapPrinter.java
trunk/src/tiled/mapeditor/util/MultisetListRenderer.java
trunk/src/tiled/mapeditor/util/PropertiesTableModel.java
trunk/src/tiled/mapeditor/util/TileDialogListRenderer.java
trunk/src/tiled/mapeditor/util/TileSelectionEvent.java
trunk/src/tiled/mapeditor/util/TileSelectionListener.java
trunk/src/tiled/mapeditor/util/TiledFileFilter.java
trunk/src/tiled/mapeditor/util/TilesetTableModel.java
trunk/src/tiled/mapeditor/util/TransparentImageFilter.java
trunk/src/tiled/mapeditor/widget/BrushBrowser.java
trunk/src/tiled/mapeditor/widget/ColorButton.java
trunk/src/tiled/mapeditor/widget/ImageViewPanel.java
trunk/src/tiled/mapeditor/widget/IntegerSpinner.java
trunk/src/tiled/mapeditor/widget/MiniMapViewer.java
trunk/src/tiled/mapeditor/widget/ResizePanel.java
trunk/src/tiled/mapeditor/widget/TButton.java
trunk/src/tiled/mapeditor/widget/TMenuItem.java
trunk/src/tiled/mapeditor/widget/TileButton.java
trunk/src/tiled/mapeditor/widget/TilePalettePanel.java
trunk/src/tiled/mapeditor/widget/VerticalStaticJPanel.java
trunk/src/tiled/plugins/mappy/Chunk.java
trunk/src/tiled/plugins/mappy/MappyMapReader.java
trunk/src/tiled/plugins/mappy/MappyMapWriter.java
trunk/src/tiled/plugins/mappy/Util.java
trunk/src/tiled/plugins/tmw/TMWServerMapWriter.java
trunk/src/tiled/util/Base64.java
trunk/src/tiled/util/MersenneTwister.java
trunk/src/tiled/util/TileMergeHelper.java
trunk/src/tiled/util/TiledConfiguration.java
trunk/src/tiled/util/Util.java
trunk/src/tiled/view/HexMapView.java
trunk/src/tiled/view/IsoMapView.java
trunk/src/tiled/view/MapView.java
trunk/src/tiled/view/ObliqueMapView.java
trunk/src/tiled/view/OrthoMapView.java
trunk/src/tiled/view/ShiftedMapView.java
Log:
Merged the changes from r572 to r576 from my branch to trunk.
Modified: trunk/examples/tilebmp-test.tmx
===================================================================
--- trunk/examples/tilebmp-test.tmx 2006-02-11 13:03:09 UTC (rev 576)
+++ trunk/examples/tilebmp-test.tmx 2006-02-11 13:44:22 UTC (rev 577)
@@ -1,16 +1,18 @@
<?xml version="1.0"?>
<map version="0.99a" orientation="orthogonal" width="64" height="64" tilewidth="24" tileheight="24">
+ <property name="test" value="value"/>
<tileset name="Sewers" firstgid="1" tilewidth="24" tileheight="24">
<image source="sewer_tileset.png" trans="ff00ff"/>
</tileset>
<layer name="Layer 0" width="64" height="64">
- <data encoding="base64" compression="gzip">
- H4sIAAAAAAAAAO3POwoCMRiF0cHOJ/jAahpHLNT9788r5IfgCiSc4kBuIJBvnqZp7txiF/s4xNLturv/vBnJt/8Sq7i2/tp1N3r/Ojaxbf21y+j9xzjFufXXLiP3P+PVPLpz7/0H/wQAAAAAAAAAAAAAAAAAgBF9AJgOlPoAQAAA
+ <property name="test2" value="value2"/>
+ <data encoding="base64">
+ HAAAABwAAAAcAAAAHAAAACEAAAAMAAAADQAAAA4AAAAiAAAADAAAAA0AAAANAAAADgAAACMAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAhAAAAFAAAAAIAAAAWAAAAIgAAABQAAAACAAAAAgAAABYAAAAjAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAIQAAAAkAAAAKAAAACwAAACIAAAAJAAAACgAAAAoAAAAKAAAAIwAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAA!
AAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAACEAAAARAAAAEgAAABMAAAAiAAAAEQAAABIAAAASAAAAEgAAACMAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAApAAAAKgAAACoAAAAlAAAAKgAAACoAAAAqAAAAKgAAACoAAAArAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAA!
BwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAA!
AABwAAAA
cAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwA!
AAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAA!
ABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHA!
AAABwAAA
AcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABw!
AAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAA!
AABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAH!
AAAABwAA
AAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAAB!
wAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHA!
AAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAA!
HAAAABwA
AAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAA!
BwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAH!
AAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAA!
AHAAAABw
AAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAA!
ABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAA!
HAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAA!
AAHAAAAB
wAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAA!
AABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAA!
AHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcA!
AAAHAAAA
BwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHA!
AAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAA!
AAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAc!
AAAAHAAA
ABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAH!
AAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcA!
AAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAA!
cAAAAHAA
AABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAA!
HAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAc!
AAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAA!
AcAAAAHA
AAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAA!
AHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAAA==
</data>
</layer>
<layer name="Layer 1" width="64" height="64">
- <data encoding="base64" compression="gzip">
- H4sIAAAAAAAAAO3PsQ0AMAgDQaZKE7H/WpmBKhK+k+go/FUzZ/i/jf5s+rPpz6Z/lzu8/jMTAAAAAAAAAAAAAAAAgDAPGg5TPgBAAAA=
+ <data encoding="base64">
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA!
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA!
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA!
AAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA!
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAPQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA!
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA!
AAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA!
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA!
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA!
AAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA!
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA!
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA!
AAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA!
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA!
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA!
AAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA!
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA!
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA!
AAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA!
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA!
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA!
AAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA!
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA!
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA!
AAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA!
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA!
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA!
AAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA!
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA!
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA!
AAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA!
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
</data>
</layer>
</map>
Modified: trunk/src/tiled/core/ImageGroup.java
===================================================================
--- trunk/src/tiled/core/ImageGroup.java 2006-02-11 13:03:09 UTC (rev 576)
+++ trunk/src/tiled/core/ImageGroup.java 2006-02-11 13:44:22 UTC (rev 577)
@@ -1,5 +1,5 @@
/*
- * Tiled Map Editor, (c) 2005
+ * Tiled Map Editor, (c) 2004-2006
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -20,61 +20,63 @@
/**
* An ImageGroup store a base image and variations of that base image in a
* single object.
+ *
+ * @version $Id$
*/
public class ImageGroup {
- private Image[] images;
+ private Image[] images;
- /**
- * Constructs an ImageGroup from a base Image.
- */
- public ImageGroup(Image img) {
- images = new Image[8];
- images[0] = img;
- }
+ /**
+ * Constructs an ImageGroup from a base Image.
+ */
+ public ImageGroup(Image img) {
+ images = new Image[8];
+ images[0] = img;
+ }
- /**
- * Retrieves the image with the specified orientation.
- *
- * @param orientation
- */
- public Image getImage(int orientation) {
- if (images[orientation] == null) {
- images[orientation] = orientImage(images[0], orientation);
- }
- return images[orientation];
- }
+ /**
+ * Retrieves the image with the specified orientation.
+ *
+ * @param orientation
+ */
+ public Image getImage(int orientation) {
+ if (images[orientation] == null) {
+ images[orientation] = orientImage(images[0], orientation);
+ }
+ return images[orientation];
+ }
- /**
- * Generates a image that is identical to the source image except that it
- * is rotated and/or flipped.
- */
- public static Image orientImage(Image src, int orientation) {
- if (orientation == 0) {
- return src;
- } else {
- int w = src.getWidth(null), h = src.getHeight(null);
- int[] old_pixels = new int[w * h];
- int[] new_pixels = new int[w * h];
-
- PixelGrabber p = new PixelGrabber(src, 0, 0, w, h, old_pixels, 0, w);
- try {
- p.grabPixels();
- } catch (InterruptedException e) { }
-
-
- int dest_w = ((orientation & 4) != 0) ? h : w;
- int dest_h = ((orientation & 4) != 0) ? w : h;
- for (int dest_y = 0; dest_y < dest_h; ++dest_y) {
- for (int dest_x = 0; dest_x < dest_w; ++dest_x) {
- int src_x = dest_x, src_y = dest_y;
- if ((orientation & 4) != 0) {
- src_y = dest_w - dest_x - 1;
- src_x = dest_y;
- }
-
- if ((orientation & 1) != 0) {
- src_x = w - src_x - 1;
- }
+ /**
+ * Generates a image that is identical to the source image except that it
+ * is rotated and/or flipped.
+ */
+ public static Image orientImage(Image src, int orientation) {
+ if (orientation == 0) {
+ return src;
+ } else {
+ int w = src.getWidth(null), h = src.getHeight(null);
+ int[] old_pixels = new int[w * h];
+ int[] new_pixels = new int[w * h];
+
+ PixelGrabber p = new PixelGrabber(src, 0, 0, w, h, old_pixels, 0, w);
+ try {
+ p.grabPixels();
+ } catch (InterruptedException e) { }
+
+
+ int dest_w = ((orientation & 4) != 0) ? h : w;
+ int dest_h = ((orientation & 4) != 0) ? w : h;
+ for (int dest_y = 0; dest_y < dest_h; ++dest_y) {
+ for (int dest_x = 0; dest_x < dest_w; ++dest_x) {
+ int src_x = dest_x, src_y = dest_y;
+ if ((orientation & 4) != 0) {
+ src_y = dest_w - dest_x - 1;
+ src_x = dest_y;
+ }
+
+ if ((orientation & 1) != 0) {
+ src_x = w - src_x - 1;
+ }
if ((orientation & 2) != 0) {
src_y = h - src_y - 1;
}
@@ -101,6 +103,4 @@
return false;
}
}
-
}
-
Modified: trunk/src/tiled/core/Map.java
===================================================================
--- trunk/src/tiled/core/Map.java 2006-02-11 13:03:09 UTC (rev 576)
+++ trunk/src/tiled/core/Map.java 2006-02-11 13:44:22 UTC (rev 577)
@@ -1,5 +1,5 @@
/*
- * Tiled Map Editor, (c) 2004
+ * Tiled Map Editor, (c) 2004-2006
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -12,11 +12,14 @@
package tiled.core;
-import java.util.*;
-
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.Properties;
+import java.util.Vector;
import javax.swing.event.EventListenerList;
-import tiled.mapeditor.util.*;
+import tiled.mapeditor.util.MapChangeListener;
+import tiled.mapeditor.util.MapChangedEvent;
/**
@@ -44,7 +47,7 @@
private LinkedList objects;
int tileWidth, tileHeight;
- int totalObjects = 0;
+ int totalObjects;
int orientation = MDO_ORTHO;
EventListenerList mapChangeListeners;
Properties properties;
@@ -132,7 +135,7 @@
*/
public MapLayer addLayer() {
MapLayer layer = new TileLayer(this, widthInTiles, heightInTiles);
- layer.setName("Layer "+super.getTotalLayers());
+ layer.setName("Layer " + super.getTotalLayers());
super.addLayer(layer);
fireMapChanged();
return layer;
Property changes on: trunk/src/tiled/core/Map.java
___________________________________________________________________
Name: svn:keywords
+ Id
Modified: trunk/src/tiled/core/MapLayer.java
===================================================================
--- trunk/src/tiled/core/MapLayer.java 2006-02-11 13:03:09 UTC (rev 576)
+++ trunk/src/tiled/core/MapLayer.java 2006-02-11 13:44:22 UTC (rev 577)
@@ -1,5 +1,5 @@
/*
- * Tiled Map Editor, (c) 2004
+ * Tiled Map Editor, (c) 2004-2006
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -168,7 +168,7 @@
* shift this layer from the origin of the map.
*
* @param xOff x offset in tiles
- * @parem yOff y offset in tiles
+ * @param yOff y offset in tiles
*/
public void setOffset(int xOff, int yOff) {
bounds.x = xOff;
Property changes on: trunk/src/tiled/core/MapLayer.java
___________________________________________________________________
Name: svn:keywords
+ Id
Modified: trunk/src/tiled/core/MapObject.java
===================================================================
--- trunk/src/tiled/core/MapObject.java 2006-02-11 13:03:09 UTC (rev 576)
+++ trunk/src/tiled/core/MapObject.java 2006-02-11 13:44:22 UTC (rev 577)
@@ -1,5 +1,5 @@
/*
- * Tiled Map Editor, (c) 2004
+ * Tiled Map Editor, (c) 2004-2006
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
Property changes on: trunk/src/tiled/core/MapObject.java
___________________________________________________________________
Name: svn:keywords
+ Id
Modified: trunk/src/tiled/core/MultilayerPlane.java
===================================================================
--- trunk/src/tiled/core/MultilayerPlane.java 2006-02-11 13:03:09 UTC (rev 576)
+++ trunk/src/tiled/core/MultilayerPlane.java 2006-02-11 13:44:22 UTC (rev 577)
@@ -1,5 +1,5 @@
/*
- * Tiled Map Editor, (c) 2004
+ * Tiled Map Editor, (c) 2004-2006
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -254,6 +254,14 @@
heightInTiles = height;
}
+ /**
+ * Determines wether the point (x,y) falls within the plane.
+ *
+ * @param x
+ * @param y
+ * @return <code>true</code> if the point is within the plane,
+ * <code>false</code> otherwise
+ */
public boolean inBounds(int x, int y) {
return (x >= 0 && x <= widthInTiles) && (y >= 0 && y <= heightInTiles);
}
Property changes on: trunk/src/tiled/core/MultilayerPlane.java
___________________________________________________________________
Name: svn:keywords
+ Id
Modified: trunk/src/tiled/core/ObjectGroup.java
===================================================================
--- trunk/src/tiled/core/ObjectGroup.java 2006-02-11 13:03:09 UTC (rev 576)
+++ trunk/src/tiled/core/ObjectGroup.java 2006-02-11 13:44:22 UTC (rev 577)
@@ -1,5 +1,5 @@
/*
- * Tiled Map Editor, (c) 2004
+ * Tiled Map Editor, (c) 2004-2006
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
Property changes on: trunk/src/tiled/core/ObjectGroup.java
___________________________________________________________________
Name: svn:keywords
+ Id
Modified: trunk/src/tiled/core/Sprite.java
===================================================================
--- trunk/src/tiled/core/Sprite.java 2006-02-11 13:03:09 UTC (rev 576)
+++ trunk/src/tiled/core/Sprite.java 2006-02-11 13:44:22 UTC (rev 577)
@@ -1,5 +1,5 @@
/*
- * Tiled Map Editor, (c) 2004
+ * Tiled Map Editor, (c) 2004-2006
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
Property changes on: trunk/src/tiled/core/Sprite.java
___________________________________________________________________
Name: svn:keywords
+ Id
Modified: trunk/src/tiled/core/Tile.java
===================================================================
--- trunk/src/tiled/core/Tile.java 2006-02-11 13:03:09 UTC (rev 576)
+++ trunk/src/tiled/core/Tile.java 2006-02-11 13:44:22 UTC (rev 577)
@@ -1,5 +1,5 @@
/*
- * Tiled Map Editor, (c) 2004
+ * Tiled Map Editor, (c) 2004-2006
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -14,17 +14,19 @@
import java.awt.*;
import java.awt.image.BufferedImage;
-import java.util.*;
+import java.util.Properties;
/**
* The core class for our tiles.
+ *
+ * @version $Id$
*/
public class Tile
{
private Image internalImage, scaledImage;
private int id = -1;
protected int tileImageId = -1;
- private int groundHeight = 0; // Height above/below ground
+ private int groundHeight; // Height above/below ground
private int tileOrientation;
private double myZoom = 1.0;
private Properties properties;
@@ -68,7 +70,7 @@
*/
public void setImage(Image i) {
if (tileset != null) {
- tileset.overlayImage("" + tileImageId, i);
+ tileset.overlayImage(String.valueOf(tileImageId), i);
} else {
internalImage = i;
}
@@ -81,7 +83,7 @@
}
public void setImageOrientation(int orientation) {
- this.tileOrientation = orientation;
+ tileOrientation = orientation;
}
/**
@@ -187,7 +189,7 @@
public int getWidth() {
if (tileset != null) {
Dimension d
- = tileset.getImageDimensions("" + tileImageId, tileOrientation);
+ = tileset.getImageDimensions(String.valueOf(tileImageId), tileOrientation);
return d.width;
} else if (internalImage != null){
return internalImage.getWidth(null);
@@ -198,7 +200,7 @@
public int getHeight() {
if (tileset != null) {
Dimension d
- = tileset.getImageDimensions("" + tileImageId, tileOrientation);
+ = tileset.getImageDimensions(String.valueOf(tileImageId), tileOrientation);
return d.height;
} else if (internalImage != null) {
return internalImage.getHeight(null);
@@ -246,9 +248,6 @@
}
public String toString() {
- String out = "";
- out += "Tile: " + id + " Image: " + tileImageId + " (" + getWidth() +
- "x" + getHeight() + ")";
- return out;
+ return "Tile " + id + " (" + getWidth() + "x" + getHeight() + ")";
}
}
Property changes on: trunk/src/tiled/core/Tile.java
___________________________________________________________________
Name: svn:keywords
+ Id
Modified: trunk/src/tiled/core/TileLayer.java
===================================================================
--- trunk/src/tiled/core/TileLayer.java 2006-02-11 13:03:09 UTC (rev 576)
+++ trunk/src/tiled/core/TileLayer.java 2006-02-11 13:44:22 UTC (rev 577)
@@ -1,5 +1,5 @@
/*
- * Tiled Map Editor, (c) 2004
+ * Tiled Map Editor, (c) 2004-2006
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
Property changes on: trunk/src/tiled/core/TileLayer.java
___________________________________________________________________
Name: svn:keywords
+ Id
Modified: trunk/src/tiled/core/TileSet.java
===================================================================
--- trunk/src/tiled/core/TileSet.java 2006-02-11 13:03:09 UTC (rev 576)
+++ trunk/src/tiled/core/TileSet.java 2006-02-11 13:44:22 UTC (rev 577)
@@ -1,5 +1,5 @@
/*
- * Tiled Map Editor, (c) 2004
+ * Tiled Map Editor, (c) 2004-2006
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -18,10 +18,12 @@
import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.IOException;
-import java.util.*;
+import java.util.Enumeration;
+import java.util.Hashtable;
+import java.util.Iterator;
+import java.util.Vector;
import java.util.zip.CRC32;
import java.util.zip.Checksum;
-
import javax.imageio.ImageIO;
import tiled.mapeditor.util.cutter.TileCutter;
@@ -49,6 +51,8 @@
* is given an id, and is added to the cache. In this way, tile images are
* never duplicated, and multiple tiles may reference the image by id.</p>
*
+ *
+ * @version $Id$
*/
public class TileSet
{
@@ -362,10 +366,9 @@
*/
public Tile getFirstTile() {
Tile ret = null;
- Iterator itr = iterator();
- while (itr.hasNext()) {
+ final Iterator itr = iterator();
+ if (itr.hasNext()) {
ret = (Tile)itr.next();
- break;
}
return ret;
}
@@ -450,7 +453,7 @@
* @param i a preloaded Image object
* @return a String containing the checksum value
*/
- private String checksumImage(Image i) {
+ private static String checksumImage(Image i) {
PixelGrabber pg = new PixelGrabber(i, 0, 0, -1, -1, false);
Checksum sum = new CRC32();
@@ -460,7 +463,7 @@
try {
int psize = pg.getColorModel().getPixelSize();
- ByteArrayInputStream bais = null;
+ ByteArrayInputStream bais;
// Handle different pixel sizes
if (psize >= 15 ) {
@@ -470,7 +473,7 @@
bais = new ByteArrayInputStream((byte[])pg.getPixels());
}
byte[] bytes = new byte[1024];
- int len = 0;
+ int len;
while ((len = bais.read(bytes)) >= 0) {
sum.update(bytes, 0, len);
Property changes on: trunk/src/tiled/core/TileSet.java
___________________________________________________________________
Name: svn:keywords
+ Id
Modified: trunk/src/tiled/io/ImageHelper.java
===================================================================
--- trunk/src/tiled/io/ImageHelper.java 2006-02-11 13:03:09 UTC (rev 576)
+++ trunk/src/tiled/io/ImageHelper.java 2006-02-11 13:44:22 UTC (rev 577)
@@ -1,5 +1,5 @@
/*
- * Tiled Map Editor, (c) 2004
+ * Tiled Map Editor, (c) 2004-2006
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
Property changes on: trunk/src/tiled/io/ImageHelper.java
___________________________________________________________________
Name: svn:keywords
+ Id
Modified: trunk/src/tiled/io/MapHelper.java
===================================================================
--- trunk/src/tiled/io/MapHelper.java 2006-02-11 13:03:09 UTC (rev 576)
+++ trunk/src/tiled/io/MapHelper.java 2006-02-11 13:44:22 UTC (rev 577)
@@ -1,5 +1,5 @@
/*
- * Tiled Map Editor, (c) 2004
+ * Tiled Map Editor, (c) 2004-2006
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -219,7 +219,7 @@
TiledConfiguration config = TiledConfiguration.getInstance();
if (config.keyHasValue("tiled.report.io", 1)) {
- if (s.size() > 0) {
+ if (!s.isEmpty()) {
Iterator itr = s.iterator();
StringBuffer warnings = new StringBuffer();
while (itr.hasNext()) {
Property changes on: trunk/src/tiled/io/MapHelper.java
___________________________________________________________________
Name: svn:keywords
+ Id
Modified: trunk/src/tiled/io/MapReader.java
===================================================================
--- trunk/src/tiled/io/MapReader.java 2006-02-11 13:03:09 UTC (rev 576)
+++ trunk/src/tiled/io/MapReader.java 2006-02-11 13:44:22 UTC (rev 577)
@@ -1,5 +1,5 @@
/*
- * Tiled Map Editor, (c) 2004
+ * Tiled Map Editor, (c) 2004-2006
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -22,7 +22,7 @@
/**
* Used by Tiled to denote a plugin for reading maps. The map file
* can have any format, as long as the MapReader implementor returns
- * instances of tiled.core.Map and tiled.core.TileSet.
+ * instances of {@link Map} and {@link TileSet}.
*/
public interface MapReader extends PluggableMapIO, FileFilter
{
Property changes on: trunk/src/tiled/io/MapReader.java
___________________________________________________________________
Name: svn:keywords
+ Id
Modified: trunk/src/tiled/io/MapWriter.java
===================================================================
--- trunk/src/tiled/io/MapWriter.java 2006-02-11 13:03:09 UTC (rev 576)
+++ trunk/src/tiled/io/MapWriter.java 2006-02-11 13:44:22 UTC (rev 577)
@@ -1,5 +1,5 @@
/*
- * Tiled Map Editor, (c) 2004
+ * Tiled Map Editor, (c) 2004-2006
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
Property changes on: trunk/src/tiled/io/MapWriter.java
___________________________________________________________________
Name: svn:keywords
+ Id
Modified: trunk/src/tiled/io/PluggableMapIO.java
===================================================================
--- trunk/src/tiled/io/PluggableMapIO.java 2006-02-11 13:03:09 UTC (rev 576)
+++ trunk/src/tiled/io/PluggableMapIO.java 2006-02-11 13:44:22 UTC (rev 577)
@@ -1,5 +1,5 @@
/*
- * Tiled Map Editor, (c) 2004
+ * Tiled Map Editor, (c) 2004-2006
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
Property changes on: trunk/src/tiled/io/PluggableMapIO.java
___________________________________________________________________
Name: svn:keywords
+ Id
Modified: trunk/src/tiled/io/xml/XMLMapTransformer.java
===================================================================
--- trunk/src/tiled/io/xml/XMLMapTransformer.java 2006-02-11 13:03:09 UTC (rev 576)
+++ trunk/src/tiled/io/xml/XMLMapTransformer.java 2006-02-11 13:44:22 UTC (rev 577)
@@ -1,5 +1,5 @@
/*
- * Tiled Map Editor, (c) 2004
+ * Tiled Map Editor, (c) 2004-2006
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -44,15 +44,15 @@
*/
public class XMLMapTransformer implements MapReader
{
- private Map map = null;
- private String xmlPath = null;
+ private Map map;
+ private String xmlPath;
private Stack warnings;
public XMLMapTransformer() {
warnings = new Stack();
}
- private String makeUrl(String filename) throws MalformedURLException {
+ private static String makeUrl(String filename) throws MalformedURLException {
final String url;
if (filename.indexOf("://") > 0 || filename.startsWith("file:")) {
url = filename;
@@ -62,7 +62,7 @@
return url;
}
- private int reflectFindMethodByName(Class c, String methodName) {
+ private static int reflectFindMethodByName(Class c, String methodName) {
Method[] methods = c.getMethods();
for (int i = 0; i < methods.length; i++) {
if (methods[i].getName().equalsIgnoreCase(methodName)) {
@@ -458,13 +458,13 @@
&& flipped_s.equalsIgnoreCase("true"));
int orientation;
if (rotation == 90) {
- orientation = (flipped ? 6 : 4);
+ orientation = flipped ? 6 : 4;
} else if (rotation == 180) {
- orientation = (flipped ? 2 : 3);
+ orientation = flipped ? 2 : 3;
} else if (rotation == 270) {
- orientation = (flipped ? 5 : 7);
+ orientation = flipped ? 5 : 7;
} else {
- orientation = (flipped ? 1 : 0);
+ orientation = flipped ? 1 : 0;
}
tile.setImageOrientation(orientation);
} else if (child.getNodeName().equalsIgnoreCase("property")) {
@@ -502,7 +502,7 @@
/**
* Loads a map layer from a layer node.
*/
- private MapLayer unmarshalLayer(Node t) throws Exception {
+ private MapLayer readLayer(Node t) throws Exception {
int layerWidth = getAttribute(t, "width", map.getWidth());
int layerHeight = getAttribute(t, "height", map.getHeight());
@@ -664,7 +664,7 @@
getAttributeValue(sibs, "value"));
}
else if (sibs.getNodeName().equals("layer")) {
- MapLayer layer = unmarshalLayer(sibs);
+ MapLayer layer = readLayer(sibs);
if (layer != null) {
map.addLayer(layer);
}
Property changes on: trunk/src/tiled/io/xml/XMLMapTransformer.java
___________________________________________________________________
Name: svn:keywords
+ Id
Modified: trunk/src/tiled/io/xml/XMLMapWriter.java
===================================================================
--- trunk/src/tiled/io/xml/XMLMapWriter.java 2006-02-11 13:03:09 UTC (rev 576)
+++ trunk/src/tiled/io/xml/XMLMapWriter.java 2006-02-11 13:44:22 UTC (rev 577)
@@ -1,5 +1,5 @@
/*
- * Tiled Map Editor, (c) 2004
+ * Tiled Map Editor, (c) 2004-2006
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
Property changes on: trunk/src/tiled/io/xml/XMLMapWriter.java
___________________________________________________________________
Name: svn:keywords
+ Id
Modified: trunk/src/tiled/io/xml/XMLWriter.java
===================================================================
--- trunk/src/tiled/io/xml/XMLWriter.java 2006-02-11 13:03:09 UTC (rev 576)
+++ trunk/src/tiled/io/xml/XMLWriter.java 2006-02-11 13:44:22 UTC (rev 577)
@@ -1,5 +1,5 @@
/*
- * Tiled Map Editor, (c) 2004
+ * Tiled Map Editor, (c) 2004-2006
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
Property changes on: trunk/src/tiled/io/xml/XMLWriter.java
___________________________________________________________________
Name: svn:keywords
+ Id
Modified: trunk/src/tiled/io/xml/XMLWriterException.java
===================================================================
--- trunk/src/tiled/io/xml/XMLWriterException.java 2006-02-11 13:03:09 UTC (rev 576)
+++ trunk/src/tiled/io/xml/XMLWriterException.java 2006-02-11 13:44:22 UTC (rev 577)
@@ -1,5 +1,5 @@
/*
- * Tiled Map Editor, (c) 2004
+ * Tiled Map Editor, (c) 2004-2006
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
Property changes on: trunk/src/tiled/io/xml/XMLWriterException.java
___________________________________________________________________
Name: svn:keywords
+ Id
Modified: trunk/src/tiled/mapeditor/MapEditor.java
===================================================================
--- trunk/src/tiled/mapeditor/MapEditor.java 2006-02-11 13:03:09 UTC (rev 576)
+++ trunk/src/tiled/mapeditor/MapEditor.java 2006-02-11 13:44:22 UTC (rev 577)
@@ -1,5 +1,5 @@
/*
- * Tiled Map Editor, (c) 2004
+ * Tiled Map Editor, (c) 2004-2006
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -56,9 +56,9 @@
/**
* The main class for the Tiled Map Editor.
*/
-public class MapEditor implements ActionListener,
- MouseListener, MouseMotionListener, MapChangeListener,
- ListSelectionListener, ChangeListener, ComponentListener
+public class MapEditor implements ActionListener, MouseListener,
+ MouseMotionListener, MapChangeListener, ListSelectionListener,
+ ChangeListener, ComponentListener
{
// Constants and the like
private static final int PS_POINT = 0;
@@ -70,13 +70,16 @@
private static final int PS_MOVE = 6;
private static final int PS_MOVEOBJ = 7;
- private Cursor curDefault = null;
- private Cursor curPaint = null;
- private Cursor curErase = null;
- private Cursor curPour = null;
- private Cursor curEyed = null;
- private Cursor curMarquee = null;
+ private static final int APP_WIDTH = 600;
+ private static final int APP_HEIGHT = 400;
+ private Cursor curDefault;
+ private Cursor curPaint;
+ private Cursor curErase;
+ private Cursor curPour;
+ private Cursor curEyed;
+ private Cursor curMarquee;
+
/** Current release version */
public static final String version = "0.6.0";
@@ -92,14 +95,14 @@
int currentPointerState;
Tile currentTile;
int currentLayer = -1;
- boolean bMouseIsDown = false;
+ boolean bMouseIsDown;
SelectionLayer cursorHighlight;
Point mousePressLocation, mouseInitialPressLocation;
Point moveDist;
int mouseButton;
AbstractBrush currentBrush;
- SelectionLayer marqueeSelection = null;
- MapLayer clipboardLayer = null;
+ SelectionLayer marqueeSelection;
+ MapLayer clipboardLayer;
// GUI components
JMenu fileMenu, editMenu, selectMenu, viewMenu, helpMenu;
@@ -220,7 +223,7 @@
appFrame.setContentPane(createContentPane());
createMenuBar();
appFrame.setJMenuBar(menuBar);
- appFrame.setSize(600, 400);
+ appFrame.setSize(APP_WIDTH, APP_HEIGHT);
setCurrentMap(null);
updateRecent(null);
@@ -1054,7 +1057,7 @@
Point tile = mapView.screenToTileCoords(e.getX(), e.getY());
if (currentMap.inBounds(tile.x, tile.y)) {
- tileCoordsLabel.setText("" + tile.x + ", " + tile.y);
+ tileCoordsLabel.setText(String.valueOf(tile.x) + ", " + tile.y);
} else {
tileCoordsLabel.setText(" ");
}
@@ -1097,7 +1100,7 @@
}
if (currentMap.inBounds(tile.x, tile.y)) {
- tileCoordsLabel.setText("" + tile.x + ", " + tile.y);
+ tileCoordsLabel.setText(String.valueOf(tile.x) + ", " + tile.y);
} else {
tileCoordsLabel.setText(" ");
}
@@ -1198,8 +1201,8 @@
} else if (command.equals("Import Tileset...")) {
if (currentMap != null) {
JFileChooser ch = new JFileChooser(currentMap.getFilename());
- MapReader readers[] = (MapReader[]) pluginLoader.getReaders();
- for(int i = 0; i < readers.length; i++) {
+ MapReader[] readers = pluginLoader.getReaders();
+ for (int i = 0; i < readers.length; i++) {
try {
ch.addChoosableFileFilter(new TiledFileFilter(
readers[i].getFilter(),
@@ -1303,7 +1306,8 @@
public void componentResized(ComponentEvent event) {
// This can currently only happen when the map changes size
- zoomLabel.setText("" + (int)(mapView.getZoom() * 100) + "%");
+ String s = String.valueOf((int) (mapView.getZoom() * 100)) + "%";
+ zoomLabel.setText(s);
}
public void componentShown(ComponentEvent event) {
@@ -2051,7 +2055,7 @@
mapView.getMode(MapView.PF_COORDINATES));
Vector tilesets = currentMap.getTilesets();
- if (tilesets.size() > 0) {
+ if (!tilesets.isEmpty()) {
tilePalettePanel.setTilesets(tilesets);
TileSet first = (TileSet)tilesets.get(0);
setCurrentTile(first.getFirstTile());
@@ -2060,14 +2064,15 @@
setCurrentTile(null);
}
- tileCoordsLabel.setText("" + (currentMap.getWidth() - 1) + ", " +
- (currentMap.getHeight() - 1));
+ tileCoordsLabel.setText(String.valueOf(currentMap.getWidth() - 1)
+ + ", " + (currentMap.getHeight() - 1));
tileCoordsLabel.setPreferredSize(null);
Dimension size = tileCoordsLabel.getPreferredSize();
tileCoordsLabel.setText(" ");
tileCoordsLabel.setMinimumSize(size);
tileCoordsLabel.setPreferredSize(size);
- zoomLabel.setText("" + (int)(mapView.getZoom() * 100) + "%");
+ zoomLabel.setText(
+ String.valueOf((int) (mapView.getZoom() * 100)) + "%");
}
zoomInAction.setEnabled(mapLoaded);
@@ -2195,7 +2200,7 @@
return ImageIO.read(MapEditor.class.getResourceAsStream(fname));
}
- private ImageIcon loadIcon(String fname) {
+ private static ImageIcon loadIcon(String fname) {
try {
return new ImageIcon(loadImageResource(fname));
} catch (IOException e) {
@@ -2210,11 +2215,6 @@
* @param args the first argument may be a map file
*/
public static void main(String[] args) {
- //try {
- // UIManager.setLookAndFeel(
- // UIManager.getSystemLookAndFeelClassName());
- //} catch (Exception e) {}
-
MapEditor editor = new MapEditor();
if (args.length > 0) {
Property changes on: trunk/src/tiled/mapeditor/MapEditor.java
___________________________________________________________________
Name: svn:keywords
+ Id
Modified: trunk/src/tiled/mapeditor/brush/AbstractBrush.java
===================================================================
--- trunk/src/tiled/mapeditor/brush/AbstractBrush.java 2006-02-11 13:03:09 UTC (rev 576)
+++ trunk/src/tiled/mapeditor/brush/AbstractBrush.java 2006-02-11 13:44:22 UTC (rev 577)
@@ -1,5 +1,5 @@
/*
- * Tiled Map Editor, (c) 2004
+ * Tiled Map Editor, (c) 2004-2006
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
Property changes on: trunk/src/tiled/mapeditor/brush/AbstractBrush.java
___________________________________________________________________
Name: svn:keywords
+ Id
Modified: trunk/src/tiled/mapeditor/brush/Brush.java
===================================================================
--- trunk/src/tiled/mapeditor/brush/Brush.java 2006-02-11 13:03:09 UTC (rev 576)
+++ trunk/src/tiled/mapeditor/brush/Brush.java 2006-02-11 13:44:22 UTC (rev 577)
@@ -1,5 +1,5 @@
/*
- * Tiled Map Editor, (c) 2004
+ * Tiled Map Editor, (c) 2004-2006
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
Property changes on: trunk/src/tiled/mapeditor/brush/Brush.java
___________________________________________________________________
Name: svn:keywords
+ Id
Modified: trunk/src/tiled/mapeditor/brush/CustomBrush.java
===================================================================
--- trunk/src/tiled/mapeditor/brush/CustomBrush.java 2006-02-11 13:03:09 UTC (rev 576)
+++ trunk/src/tiled/mapeditor/brush/CustomBrush.java 2006-02-11 13:44:22 UTC (rev 577)
@@ -1,5 +1,5 @@
/*
- * Tiled Map Editor, (c) 2004
+ * Tiled Map Editor, (c) 2004-2006
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
Property changes on: trunk/src/tiled/mapeditor/brush/CustomBrush.java
___________________________________________________________________
Name: svn:keywords
+ Id
Modified: trunk/src/tiled/mapeditor/brush/RandomBrush.java
===================================================================
--- trunk/src/tiled/mapeditor/brush/RandomBrush.java 2006-02-11 13:03:09 UTC (rev 576)
+++ trunk/src/tiled/mapeditor/brush/RandomBrush.java 2006-02-11 13:44:22 UTC (rev 577)
@@ -1,5 +1,5 @@
/*
- * Tiled Map Editor, (c) 2004
+ * Tiled Map Editor, (c) 2004-2006
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
Property changes on: trunk/src/tiled/mapeditor/brush/RandomBrush.java
___________________________________________________________________
Name: svn:keywords
+ Id
Modified: trunk/src/tiled/mapeditor/brush/ShapeBrush.java
===================================================================
--- trunk/src/tiled/mapeditor/brush/ShapeBrush.java 2006-02-11 13:03:09 UTC (rev 576)
+++ trunk/src/tiled/mapeditor/brush/ShapeBrush.java 2006-02-11 13:44:22 UTC (rev 577)
@@ -1,5 +1,5 @@
/*
- * Tiled Map Editor, (c) 2004
+ * Tiled Map Editor, (c) 2004-2006
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
Property changes on: trunk/src/tiled/mapeditor/brush/ShapeBrush.java
___________________________________________________________________
Name: svn:keywords
+ Id
Modified: trunk/src/tiled/mapeditor/dialogs/AboutDialog.java
===================================================================
--- trunk/src/tiled/mapeditor/dialogs/AboutDialog.java 2006-02-11 13:03:09 UTC (rev 576)
+++ trunk/src/tiled/mapeditor/dialogs/AboutDialog.java 2006-02-11 13:44:22 UTC (rev 577)
@@ -1,5 +1,5 @@
/*
- * Tiled Map Editor, (c) 2004
+ * Tiled Map Editor, (c) 2004-2006
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
Property changes on: trunk/src/tiled/mapeditor/dialogs/AboutDialog.java
___________________________________________________________________
Name: svn:keywords
+ Id
Modified: trunk/src/tiled/mapeditor/dialogs/BrushDialog.java
===================================================================
--- trunk/src/tiled/mapeditor/dialogs/BrushDialog.java 2006-02-11 13:03:09 UTC (rev 576)
+++ trunk/src/tiled/mapeditor/dialogs/BrushDialog.java 2006-02-11 13:44:22 UTC (rev 577)
@@ -1,5 +1,5 @@
/*
- * Tiled Map Editor, (c) 2004
+ * Tiled Map Editor, (c) 2004-2006
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -13,10 +13,12 @@
package tiled.mapeditor.dialogs;
import java.awt.*;
-import java.awt.event.*;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.ItemEvent;
+import java.awt.event.ItemListener;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
-
import javax.swing.*;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
@@ -53,10 +55,9 @@
private JButton bOk, bApply, bCancel;
private BrushBrowser brushes;
private MiniMapViewer mmv;
- private JTable layerTable;
public BrushDialog(MapEditor editor, JFrame parent,
- AbstractBrush currentBrush)
+ AbstractBrush currentBrush)
{
super(parent, "Brush Options", false);
myBrush = currentBrush;
@@ -157,7 +158,7 @@
bCreate.setEnabled(false);
JButton bLoad = new JButton("Load...");
bLoad.addActionListener(this);
- layerTable = new JTable(new LayerTableModel(myBrush));
+ JTable layerTable = new JTable(new LayerTableModel(myBrush));
layerTable.getColumnModel().getColumn(0).setPreferredWidth(32);
layerTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
layerTable.getSelectionModel().addListSelectionListener(this);
@@ -323,8 +324,7 @@
JFileChooser ch = new JFileChooser(startLocation);
try {
- MapReader readers[] =
- (MapReader[])PluginClassLoader.getInstance().getReaders();
+ MapReader[] readers = PluginClassLoader.getInstance().getReaders();
for(int i = 0; i < readers.length; i++) {
ch.addChoosableFileFilter(new TiledFileFilter(
readers[i].getFilter(), readers[i].getName()));
Property changes on: trunk/src/tiled/mapeditor/dialogs/BrushDialog.java
___________________________________________________________________
Name: svn:keywords
+ Id
Modified: trunk/src/tiled/mapeditor/dialogs/ConfigurationDialog.java
===================================================================
--- trunk/src/tiled/mapeditor/dialogs/ConfigurationDialog.java 2006-02-11 13:03:09 UTC (rev 576)
+++ trunk/src/tiled/mapeditor/dialogs/ConfigurationDialog.java 2006-02-11 13:44:22 UTC (rev 577)
@@ -1,5 +1,5 @@
/*
- * Tiled Map Editor, (c) 2004
+ * Tiled Map Editor, (c) 2004-2006
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
Property changes on: trunk/src/tiled/mapeditor/dialogs/ConfigurationDialog.java
___________________________________________________________________
Name: svn:keywords
+ Id
Modified: trunk/src/tiled/mapeditor/dialogs/ImageColorDialog.java
===================================================================
--- trunk/src/tiled/mapeditor/dialogs/ImageColorDialog.java 2006-02-11 13:03:09 UTC (rev 576)
+++ trunk/src/tiled/mapeditor/dialogs/ImageColorDialog.java 2006-02-11 13:44:22 UTC (rev 577)
@@ -1,5 +1,5 @@
/*
- * Tiled Map Editor, (c) 2004
+ * Tiled Map Editor, (c) 2004-2006
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
Property changes on: trunk/src/tiled/mapeditor/dialogs/ImageColorDialog.java
___________________________________________________________________
Name: svn:keywords
+ Id
Modified: trunk/src/tiled/mapeditor/dialogs/NewMapDialog.java
===================================================================
--- trunk/src/tiled/mapeditor/dialogs/NewMapDialog.java 2006-02-11 13:03:09 UTC (rev 576)
+++ trunk/src/tiled/mapeditor/dialogs/NewMapDialog.java 2006-02-11 13:44:22 UTC (rev 577)
@@ -1,5 +1,5 @@
/*
- * Tiled Map Editor, (c) 2004
+ * Tiled Map Editor, (c) 2004-2006
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
Property changes on: trunk/src/tiled/mapeditor/dialogs/NewMapDialog.java
___________________________________________________________________
Name: svn:keywords
+ Id
Modified: trunk/src/tiled/mapeditor/dialogs/NewTilesetDialog.java
===================================================================
--- trunk/src/tiled/mapeditor/dialogs/NewTilesetDialog.java 2006-02-11 13:03:09 UTC (rev 576)
+++ trunk/src/tiled/mapeditor/dialogs/NewTilesetDialog.java 2006-02-11 13:44:22 UTC (rev 577)
@@ -1,5 +1,5 @@
/*
- * Tiled Map Editor, (c) 2004
+ * Tiled Map Editor, (c) 2004-2006
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
Property changes on: trunk/src/tiled/mapeditor/dialogs/NewTilesetDialog.java
___________________________________________________________________
Name: svn:keywords
+ Id
Modified: trunk/src/tiled/mapeditor/dialogs/ObjectDialog.java
===================================================================
--- trunk/src/tiled/mapeditor/dialogs/ObjectDialog.java 2006-02-11 13:03:09 UTC (rev 576)
+++ trunk/src/tiled/mapeditor/dialogs/ObjectDialog.java 2006-02-11 13:44:22 UTC (rev 577)
@@ -1,5 +1,5 @@
/*
- * Tiled Map Editor, (c) 2004
+ * Tiled Map Editor, (c) 2004-2006
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
Property changes on: trunk/src/tiled/mapeditor/dialogs/ObjectDialog.java
___________________________________________________________________
Name: svn:keywords
+ Id
Modified: trunk/src/tiled/mapeditor/dialogs/PluginDialog.java
===================================================================
--- trunk/src/tiled/mapeditor/dialogs/PluginDialog.java 2006-02-11 13:03:09 UTC (rev 576)
+++ trunk/src/tiled/mapeditor/dialogs/PluginDialog.java 2006-02-11 13:44:22 UTC (rev 577)
@@ -1,5 +1,5 @@
/*
- * Tiled Map Editor, (c) 2004
+ * Tiled Map Editor, (c) 2004-2006
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
Property changes on: trunk/src/tiled/mapeditor/dialogs/PluginDialog.java
___________________________________________________________________
Name: svn:keywords
+ Id
Modified: trunk/src/tiled/mapeditor/dialogs/PropertiesDialog.java
===================================================================
--- trunk/src/tiled/mapeditor/dialogs/PropertiesDialog.java 2006-02-11 13:03:09 UTC (rev 576)
+++ trunk/src/tiled/mapeditor/dialogs/PropertiesDialog.java 2006-02-11 13:44:22 UTC (rev 577)
@@ -1,5 +1,5 @@
/*
- * Tiled Map Editor, (c) 2004
+ * Tiled Map Editor, (c) 2004-2006
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
Property changes on: trunk/src/tiled/mapeditor/dialogs/PropertiesDialog.java
___________________________________________________________________
Name: svn:keywords
+ Id
Modified: trunk/src/tiled/mapeditor/dialogs/ResizeDialog.java
===================================================================
--- trunk/src/tiled/mapeditor/dialogs/ResizeDialog.java 2006-02-11 13:03:09 UTC (rev 576)
+++ trunk/src/tiled/mapeditor/dialogs/ResizeDialog.java 2006-02-11 13:44:22 UTC (rev 577)
@@ -1,5 +1,5 @@
/*
- * Tiled Map Editor, (c) 2004
+ * Tiled Map Editor, (c) 2004-2006
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
Property changes on: trunk/src/tiled/mapeditor/dialogs/ResizeDialog.java
___________________________________________________________________
Name: svn:keywords
+ Id
Modified: trunk/src/tiled/mapeditor/dialogs/SearchDialog.java
===================================================================
--- trunk/src/tiled/mapeditor/dialogs/SearchDialog.java 2006-02-11 13:03:09 UTC (rev 576)
+++ trunk/src/tiled/mapeditor/dialogs/SearchDialog.java 2006-02-11 13:44:22 UTC (rev 577)
@@ -1,5 +1,5 @@
/*
- * Tiled Map Editor, (c) 2004
+ * Tiled Map Editor, (c) 2004-2006
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -13,15 +13,16 @@
package tiled.mapeditor.dialogs;
import java.awt.*;
-import java.awt.event.*;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.util.Iterator;
import java.util.Vector;
-import java.util.Iterator;
import javax.swing.*;
+import tiled.core.*;
import tiled.mapeditor.selection.SelectionLayer;
import tiled.mapeditor.util.MultisetListRenderer;
-import tiled.mapeditor.widget.*;
-import tiled.core.*;
+import tiled.mapeditor.widget.VerticalStaticJPanel;
/**
* @version $Id$
@@ -30,11 +31,9 @@
{
private final Map myMap;
private JComboBox searchCBox, replaceCBox;
- private JButton bFind, bFindAll;
- private JButton bReplace, bReplaceAll;
- private JButton bClose;
- private Point currentMatch = null;
+ private Point currentMatch;
private SelectionLayer sl;
+ private static final double LIST_TILE_SCALE = 0.5;
public SearchDialog(JFrame parent) {
this(parent, null);
@@ -48,6 +47,9 @@
}
private void init() {
+ final MultisetListRenderer tileListRenderer;
+ tileListRenderer = new MultisetListRenderer(LIST_TILE_SCALE);
+
/* SEARCH PANEL */
JPanel searchPanel = new JPanel();
searchPanel.setBorder(BorderFactory.createEtchedBorder());
@@ -58,7 +60,7 @@
searchPanel.add(new JLabel("Find:"), c);
c.gridx = 1;
searchCBox = new JComboBox();
- searchCBox.setRenderer(new MultisetListRenderer(myMap, .5));
+ searchCBox.setRenderer(tileListRenderer);
//searchCBox.setSelectedIndex(1);
searchCBox.setEditable(false);
searchPanel.add(searchCBox, c);
@@ -67,7 +69,7 @@
searchPanel.add(new JLabel("Replace:"), c);
c.gridx = 1;
replaceCBox = new JComboBox();
- replaceCBox.setRenderer(new MultisetListRenderer(myMap, .5));
+ replaceCBox.setRenderer(tileListRenderer);
//searchCBox.setSelectedIndex(1);
replaceCBox.setEditable(false);
searchPanel.add(replaceCBox,c);
@@ -83,11 +85,11 @@
BorderFactory.createEmptyBorder(0, 5, 5, 5)));
*/
- bFind = new JButton("Find");
- bFindAll = new JButton("Find All");
- bReplace = new JButton("Replace");
- bReplaceAll = new JButton("Replace All");
- bClose = new JButton("Close");
+ final JButton bFind = new JButton("Find");
+ final JButton bFindAll = new JButton("Find All");
+ final JButton bReplace = new JButton("Replace");
+ final JButton bReplaceAll = new JButton("Replace All");
+ final JButton bClose = new JButton("Close");
bFind.addActionListener(this);
bFindAll.addActionListener(this);
@@ -145,7 +147,7 @@
if (command.equalsIgnoreCase("close")) {
myMap.removeLayerSpecial(sl);
- this.dispose();
+ dispose();
} else if (command.equalsIgnoreCase("find")) {
if (searchCBox.getSelectedItem() instanceof Tile) {
find((Tile)searchCBox.getSelectedItem());
@@ -177,7 +179,7 @@
if (!(searchCBox.getSelectedItem() instanceof TileSet) && !(replaceCBox.getSelectedItem() instanceof TileSet))
replaceAll((Tile) searchCBox.getSelectedItem(),(Tile) replaceCBox.getSelectedItem());
} else if (command.equalsIgnoreCase("replace")) {
- if ((searchCBox.getSelectedItem() instanceof Tile) && (replaceCBox.getSelectedItem() instanceof Tile)) {
+ if (searchCBox.getSelectedItem() instanceof Tile && replaceCBox.getSelectedItem() instanceof Tile) {
if (currentMatch == null) {
find((Tile)searchCBox.getSelectedItem());
}
Property changes on: trunk/src/tiled/mapeditor/dialogs/SearchDialog.java
___________________________________________________________________
Name: svn:keywords
+ Id
Modified: trunk/src/tiled/mapeditor/dialogs/TileDialog.java
===================================================================
--- trunk/src/tiled/mapeditor/dialogs/TileDialog.java 2006-02-11 13:03:09 UTC (rev 576)
+++ trunk/src/tiled/mapeditor/dialogs/TileDialog.java 2006-02-11 13:44:22 UTC (rev 577)
@@ -1,5 +1,5 @@
/*
- * Tiled Map Editor, (c) 2004
+ * Tiled Map Editor, (c) 2004-2006
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
Property changes on: trunk/src/tiled/mapeditor/dialogs/TileDialog.java
___________________________________________________________________
Name: svn:keywords
+ Id
Modified: trunk/src/tiled/mapeditor/dialogs/TileImageDialog.java
===================================================================
--- trunk/src/tiled/mapeditor/dialogs/TileImageDialog.java 2006-02-11 13:03:09 UTC (rev 576)
+++ trunk/src/tiled/mapeditor/dialogs/TileImageDialog.java 2006-02-11 13:44:22 UTC (rev 577)
@@ -1,5 +1,5 @@
/*
- * Tiled Map Editor, (c) 2004
+ * Tiled Map Editor, (c) 2004-2006
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -14,19 +14,18 @@
package tiled.mapeditor.dialogs;
import java.awt.*;
-import java.awt.event.*;
-//import java.awt.image.BufferedImage;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
import java.util.Enumeration;
import java.util.Vector;
-
-//import javax.imageio.ImageIO;
import javax.swing.*;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
-import tiled.core.*;
-import tiled.mapeditor.util.*;
-import tiled.mapeditor.widget.*;
+import tiled.core.ImageGroup;
+import tiled.core.TileSet;
+import tiled.mapeditor.util.ImageCellRenderer;
+import tiled.mapeditor.widget.VerticalStaticJPanel;
/**
* @version $Id$
@@ -45,14 +44,14 @@
public TileImageDialog(Dialog parent, TileSet set) {
this(parent, set, 0, 0);
}
-
+
public TileImageDialog(Dialog parent, TileSet set, int id,
int orientation) {
super(parent, "Choose Tile Image", true);
tileset = set;
imageId = id;
imageOrientation = orientation;
-
+
init();
queryImages();
updateImageLabel();
@@ -69,7 +68,7 @@
JScrollPane sp = new JScrollPane();
sp.getViewport().setView(imageList);
sp.setPreferredSize(new Dimension(150, 150));
-
+
// image panel
JPanel image_panel = new JPanel();
image_panel.setLayout(new BoxLayout(image_panel, BoxLayout.Y_AXIS));
@@ -83,7 +82,7 @@
rotateCheck = new JCheckBox("Rotate",
(imageOrientation & 4) == 4);
rotateCheck.addActionListener(this);
-
+
image_panel.add(imageLabel);
image_panel.add(horizFlipCheck);
image_panel.add(vertFlipCheck);
@@ -147,10 +146,10 @@
Object source = event.getSource();
if (source == bOk) {
- this.dispose();
+ dispose();
} else if (source == bCancel) {
imageId = -1;
- this.dispose();
+ dispose();
} else if (source == horizFlipCheck) {
imageOrientation ^= 1;
updateImageLabel();
Property changes on: trunk/src/tiled/mapeditor/dialogs/TileImageDialog.java
___________________________________________________________________
Name: svn:keywords
+ Id
Modified: trunk/src/tiled/mapeditor/dialogs/TilePaletteDialog.java
===================================================================
--- trunk/src/tiled/mapeditor/dialogs/TilePaletteDialog.java 2006-02-11 13:03:09 UTC (rev 576)
+++ trunk/src/tiled/mapeditor/dialogs/TilePaletteDialog.java 2006-02-11 13:44:22 UTC (rev 577)
@@ -1,5 +1,5 @@
/*
- * Tiled Map Editor, (c) 2004
+ * Tiled Map Editor, (c) 2004-2006
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
Property changes on: trunk/src/tiled/mapeditor/dialogs/TilePaletteDialog.java
___________________________________________________________________
Name: svn:keywords
+ Id
Modified: trunk/src/tiled/mapeditor/dialogs/TilesetManager.java
===================================================================
--- trunk/src/tiled/mapeditor/dialogs/TilesetManager.java 2006-02-11 13:03:09 UTC (rev 576)
+++ trunk/src/tiled/mapeditor/dialogs/TilesetManager.java 2006-02-11 13:44:22 UTC (rev 577)
@@ -1,5 +1,5 @@
/*
- * Tiled Map Editor, (c) 2004
+ * Tiled Map Editor, (c) 2004-2006
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
Property changes on: trunk/src/tiled/mapeditor/dialogs/TilesetManager.java
___________________________________________________________________
Name: svn:keywords
+ Id
Modified: trunk/src/tiled/mapeditor/dungeon/Builder.java
===================================================================
--- trunk/src/tiled/mapeditor/dungeon/Builder.java 2006-02-11 13:03:09 UTC (rev 576)
+++ trunk/src/tiled/mapeditor/dungeon/Builder.java 2006-02-11 13:44:22 UTC (rev 577)
@@ -1,5 +1,5 @@
/*
- * Tiled Map Editor, (c) 2004
+ * Tiled Map Editor, (c) 2004-2006
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
Property changes on: trunk/src/tiled/mapeditor/dungeon/Builder.java
___________________________________________________________________
Name: svn:keywords
+ Id
Modified: trunk/src/tiled/mapeditor/dungeon/CorridorBuilder.java
===================================================================
--- trunk/src/tiled/mapeditor/dungeon/CorridorBuilder.java 2006-02-11 13:03:09 UTC (rev 576)
+++ trunk/src/tiled/mapeditor/dungeon/CorridorBuilder.java 2006-02-11 13:44:22 UTC (rev 577)
@@ -1,5 +1,5 @@
/*
- * Tiled Map Editor, (c) 2004
+ * Tiled Map Editor, (c) 2004-2006
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
Property changes on: trunk/src/tiled/mapeditor/dungeon/CorridorBuilder.java
___________________________________________________________________
Name: svn:keywords
+ Id
Modified: trunk/src/tiled/mapeditor/plugin/PluginClassLoader.java
===================================================================
--- trunk/src/tiled/mapeditor/plugin/PluginClassLoader.java 2006-02-11 13:03:09 UTC (rev 576)
+++ trunk/src/tiled/mapeditor/plugin/PluginClassLoader.java 2006-02-11 13:44:22 UTC (rev 577)
@@ -1,5 +1,5 @@
/*
- * Tiled Map Editor, (c) 2004
+ * Tiled Map Editor, (c) 2004-2006
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -237,7 +237,7 @@
return defineClass(className, buffer, 0, buffer.length);
}
- public boolean doesImplement(Class c, String interfaceName)
+ private static boolean doesImplement(Class c, String interfaceName)
throws Exception
{
if (c == null) {
@@ -255,7 +255,7 @@
}
private boolean isReader(Class c) throws Exception {
- return doesImplement(c,"tiled.io.MapReader");
+ return doesImplement(c, "tiled.io.MapReader");
}
private void _add(Class c) throws Exception{
Property changes on: trunk/src/tiled/mapeditor/plugin/PluginClassLoader.java
___________________________________________________________________
Name: svn:keywords
+ Id
Modified: trunk/src/tiled/mapeditor/plugin/TiledPlugin.java
===================================================================
--- trunk/src/tiled/mapeditor/plugin/TiledPlugin.java 2006-02-11 13:03:09 UTC (rev 576)
+++ trunk/src/tiled/mapeditor/plugin/TiledPlugin.java 2006-02-11 13:44:22 UTC (rev 577)
@@ -1,5 +1,5 @@
/*
- * Tiled Map Editor, (c) 2004
+ * Tiled Map Editor, (c) 2004-2006
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -23,8 +23,7 @@
/**
* A true "plugin" implementation that handles both reading and
* writing as the case may be. Instantiated for every reader/writer pair
- * by the {@link tiled.mapeditor.plugin.PluginClassLoader} when all plugins
- * are loaded.
+ * by the {@link PluginClassLoader} when all plugins are loaded.
*/
public class TiledPlugin implements PluggableMapIO, FileFilter
{
@@ -34,8 +33,8 @@
/**
* Instantiates a new plugin to be used internally by Tiled.
*
- * @param reader The {@link tiled.io.MapReader} implementor for the plugin
- * @param writer The {@link tiled.io.MapWriter} implementor for the plugin
+ * @param reader The {@link MapReader} implementor for the plugin
+ * @param writer The {@link MapWriter} implementor for the plugin
*/
public TiledPlugin(MapReader reader, MapWriter writer) {
this.reader = reader;
@@ -69,9 +68,14 @@
*/
public String getFilter() throws Exception {
String filter = "";
- if(reader!=null) filter = filter + reader.getFilter();
+
+ if (reader != null) {
+ filter += reader.getFilter();
+ }
- if(writer!=null) filter = filter + (filter.length() > 0 ? "," : "") + writer.getFilter();
+ if (writer != null) {
+ filter += (filter.length() > 0 ? "," : "") + writer.getFilter();
+ }
return filter;
}
@@ -80,19 +84,16 @@
* Returns the name of the plugin as set in the reader,
* or, if the reader does not exist, from the writer.
*
- * @see tiled.io.PluggableMapIO#getName()
+ * @see PluggableMapIO#getName()
*/
public String getName() {
- if(reader != null) {
+ if (reader != null) {
return reader.getName();
}
return writer.getName();
}
- /* (non-Javadoc)
- * @see tiled.io.PluggableMapIO#getDescription()
- */
public String getDescription() {
// TODO Auto-generated method stub
return null;
@@ -105,7 +106,8 @@
public boolean accept(File pathname) {
- return (reader != null && reader.accept(pathname)) || (writer != null && writer.accept(pathname));
+ return reader != null && reader.accept(pathname) ||
+ writer != null && writer.accept(pathname);
}
Property changes on: trunk/src/tiled/mapeditor/plugin/TiledPlugin.java
___________________________________________________________________
Name: svn:keywords
+ Id
Modified: trunk/src/tiled/mapeditor/selection/SelectionLayer.java
===================================================================
--- trunk/src/tiled/mapeditor/selection/SelectionLayer.java 2006-02-11 13:03:09 UTC (rev 576)
+++ trunk/src/tiled/mapeditor/selection/SelectionLayer.java 2006-02-11 13:44:22 UTC (rev 577)
@@ -1,5 +1,5 @@
/*
- * Tiled Map Editor, (c) 2004
+ * Tiled Map Editor, (c) 2004-2006
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
Property changes on: trunk/src/tiled/mapeditor/selection/SelectionLayer.java
___________________________________________________________________
Name: svn:keywords
+ Id
Modified: trunk/src/tiled/mapeditor/undo/MapLayerEdit.java
===================================================================
--- trunk/src/tiled/mapeditor/undo/MapLayerEdit.java 2006-02-11 13:03:09 UTC (rev 576)
+++ trunk/src/tiled/mapeditor/undo/MapLayerEdit.java 2006-02-11 13:44:22 UTC (rev 577)
@@ -1,5 +1,5 @@
/*
- * Tiled Map Editor, (c) 2004
+ * Tiled Map Editor, (c) 2004-2006
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -12,17 +12,22 @@
package tiled.mapeditor.undo;
-import javax.swing.undo.*;
+import javax.swing.undo.AbstractUndoableEdit;
+import javax.swing.undo.CannotRedoException;
+import javax.swing.undo.CannotUndoException;
+import javax.swing.undo.UndoableEdit;
-import tiled.core.*;
+import tiled.core.MapLayer;
-
+/**
+ * @version $Id$
+ */
public class MapLayerEdit extends AbstractUndoableEdit
{
private MapLayer editedLayer;
- private MapLayer layerUndo = null, layerRedo = null;
+ private MapLayer layerUndo, layerRedo;
private String name;
- private boolean inProgress = false;
+ private boolean inProgress;
public MapLayerEdit(MapLayer layer) {
editedLayer = layer;
@@ -66,7 +71,7 @@
}
public boolean canUndo() {
- return (layerUndo != null && editedLayer != null);
+ return layerUndo != null && editedLayer != null;
}
public void redo() throws CannotRedoException {
@@ -77,7 +82,7 @@
}
public boolean canRedo() {
- return (layerRedo != null && editedLayer != null);
+ return layerRedo != null && editedLayer != null;
}
public void die() {
@@ -87,7 +92,7 @@
}
public boolean addEdit(UndoableEdit anEdit) {
- if (inProgress && anEdit.getClass() == this.getClass()) {
+ if (inProgress && anEdit.getClass() == getClass()) {
//TODO: absorb the edit
//return true;
}
Property changes on: trunk/src/tiled/mapeditor/undo/MapLayerEdit.java
___________________________________________________________________
Name: svn:keywords
+ Id
Modified: trunk/src/tiled/mapeditor/undo/MapLayerStateEdit.java
===================================================================
--- trunk/src/tiled/mapeditor/undo/MapLayerStateEdit.java 2006-02-11 13:03:09 UTC (rev 576)
+++ trunk/src/tiled/mapeditor/undo/MapLayerStateEdit.java 2006-02-11 13:44:22 UTC (rev 577)
@@ -1,5 +1,5 @@
/*
- * Tiled Map Editor, (c) 2004
+ * Tiled Map Editor, (c) 2004-2006
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
Property changes on: trunk/src/tiled/mapeditor/undo/MapLayerStateEdit.java
___________________________________________________________________
Name: svn:keywords
+ Id
Modified: trunk/src/tiled/mapeditor/undo/MoveLayerEdit.java
===================================================================
--- trunk/src/tiled/mapeditor/undo/MoveLayerEdit.java 2006-02-11 13:03:09 UTC (rev 576)
+++ trunk/src/tiled/mapeditor/undo/MoveLayerEdit.java 2006-02-11 13:44:22 UTC (rev 577)
@@ -1,5 +1,5 @@
/*
- * Tiled Map Editor, (c) 2004
+ * Tiled Map Editor, (c) 2004-2006
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
Property changes on: trunk/src/tiled/mapeditor/undo/MoveLayerEdit.java
___________________________________________________________________
Name: svn:keywords
+ Id
Modified: trunk/src/tiled/mapeditor/undo/UndoStack.java
===================================================================
--- trunk/src/tiled/mapeditor/undo/UndoStack.java 2006-02-11 13:03:09 UTC (rev 576)
+++ trunk/src/tiled/mapeditor/undo/UndoStack.java 2006-02-11 13:44:22 UTC (rev 577)
@@ -1,5 +1,5 @@
/*
- * Tiled Map Editor, (c) 2004
+ * Tiled Map Editor, (c) 2004-2006
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
Property changes on: trunk/src/tiled/mapeditor/undo/UndoStack.java
___________________________________________________________________
Name: svn:keywords
+ Id
Modified: trunk/src/tiled/mapeditor/util/ImageCellRenderer.java
===================================================================
--- trunk/src/tiled/mapeditor/util/ImageCellRenderer.java 2006-02-11 13:03:09 UTC (rev 576)
+++ trunk/src/tiled/mapeditor/util/ImageCellRenderer.java 2006-02-11 13:44:22 UTC (rev 577)
@@ -1,5 +1,5 @@
/*
- * Tiled Map Editor, (c) 2004
+ * Tiled Map Editor, (c) 2004-2006
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
Property changes on: trunk/src/tiled/mapeditor/util/ImageCellRenderer.java
___________________________________________________________________
Name: svn:keywords
+ Id
Modified: trunk/src/tiled/mapeditor/util/LayerTableModel.java
===================================================================
--- trunk/src/tiled/mapeditor/util/LayerTableModel.java 2006-02-11 13:03:09 UTC (rev 576)
+++ trunk/src/tiled/mapeditor/util/LayerTableModel.java 2006-02-11 13:44:22 UTC (rev 577)
@@ -1,5 +1,5 @@
/*
- * Tiled Map Editor, (c) 2004
+ * Tiled Map Editor, (c) 2004-2006
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -17,10 +17,15 @@
import tiled.core.MapLayer;
import tiled.core.MultilayerPlane;
+/**
+ * @version $Id$
+ */
public class LayerTableModel extends AbstractTableModel
{
private MultilayerPlane map;
- private String[] columnNames = { "Locked", "Show", "Layer name" };
+ private static final String[] columnNames = {
+ "Locked", "Show", "Layer name"
+ };
public LayerTableModel(MultilayerPlane map) {
this.map = map;
@@ -89,7 +94,7 @@
public boolean isCellEditable(int row, int col) {
MapLayer layer = map.getLayer(getRowCount() - row - 1);
- return (!(col == 0 && layer != null && !layer.isVisible()));
+ return !(col == 0 && layer != null && !layer.isVisible());
}
public void setValueAt(Object value, int row, int col) {
Property changes on: trunk/src/tiled/mapeditor/util/LayerTableModel.java
___________________________________________________________________
Name: svn:keywords
+ Id
Modified: trunk/src/tiled/mapeditor/util/MapChangeListener.java
===================================================================
--- trunk/src/tiled/mapeditor/util/MapChangeListener.java 2006-02-11 13:03:09 UTC (rev 576)
+++ trunk/src/tiled/mapeditor/util/MapChangeListener.java 2006-02-11 13:44:22 UTC (rev 577)
@@ -1,5 +1,5 @@
/*
- * Tiled Map Editor, (c) 2004
+ * Tiled Map Editor, (c) 2004-2006
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
Property changes on: trunk/src/tiled/mapeditor/util/MapChangeListener.java
___________________________________________________________________
Name: svn:keywords
+ Id
Modified: trunk/src/tiled/mapeditor/util/MapChangedEvent.java
===================================================================
--- trunk/src/tiled/mapeditor/util/MapChangedEvent.java 2006-02-11 13:03:09 UTC (rev 576)
+++ trunk/src/tiled/mapeditor/util/MapChangedEvent.java 2006-02-11 13:44:22 UTC (rev 577)
@@ -1,5 +1,5 @@
/*
- * Tiled Map Editor, (c) 2004
+ * Tiled Map Editor, (c) 2004-2006
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -16,10 +16,12 @@
import tiled.core.Map;
-
+/**
+ * @version $Id$
+ */
public class MapChangedEvent //extends EventObject
{
- private Map map;
+ private final Map map;
public MapChangedEvent(Map map) {
this.map = map;
Property changes on: trunk/src/tiled/mapeditor/util/MapChangedEvent.java
___________________________________________________________________
Name: svn:keywords
+ Id
Modified: trunk/src/tiled/mapeditor/util/MapEventAdapter.java
===================================================================
--- trunk/src/tiled/mapeditor/util/MapEventAdapter.java 2006-02-11 13:03:09 UTC (rev 576)
+++ trunk/src/tiled/mapeditor/util/MapEventAdapter.java 2006-02-11 13:44:22 UTC (rev 577)
@@ -1,5 +1,5 @@
/*
- * Tiled Map Editor, (c) 2004
+ * Tiled Map Editor, (c) 2004-2006
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -12,16 +12,19 @@
package tiled.mapeditor.util;
-import java.awt.Component;
-import java.util.*;
+import java.awt.*;
+import java.util.LinkedList;
+import java.util.ListIterator;
-
+/**
+ * @version $Id$
+ */
public class MapEventAdapter
{
public static final int ME_MAPACTIVE = 1;
public static final int ME_MAPINACTIVE = 2;
- private LinkedList listeners = null;
+ private LinkedList listeners;
public MapEventAdapter() {
listeners = new LinkedList();
Property changes on: trunk/src/tiled/mapeditor/util/MapEventAdapter.java
___________________________________________________________________
Name: svn:keywords
+ Id
Modified: trunk/src/tiled/mapeditor/util/MapPrinter.java
===================================================================
--- trunk/src/tiled/mapeditor/util/MapPrinter.java 2006-02-11 13:03:09 UTC (rev 576)
+++ trunk/src/tiled/mapeditor/util/MapPrinter.java 2006-02-11 13:44:22 UTC (rev 577)
@@ -1,5 +1,5 @@
/*
- * Tiled Map Editor, (c) 2004
+ * Tiled Map Editor, (c) 2004-2006
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
Property changes on: trunk/src/tiled/mapeditor/util/MapPrinter.java
___________________________________________________________________
Name: svn:keywords
+ Id
Modified: trunk/src/tiled/mapeditor/util/MultisetListRenderer.java
===================================================================
--- trunk/src/tiled/mapeditor/util/MultisetListRenderer.java 2006-02-11 13:03:09 UTC (rev 576)
+++ trunk/src/tiled/mapeditor/util/MultisetListRenderer.java 2006-02-11 13:44:22 UTC (rev 577)
@@ -1,5 +1,5 @@
/*
- * Tiled Map Editor, (c) 2004
+ * Tiled Map Editor, (c) 2004-2006
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -14,111 +14,73 @@
import java.awt.*;
import java.io.IOException;
-import java.util.*;
+import java.util.HashMap;
import javax.swing.*;
-import tiled.core.*;
+import tiled.core.Tile;
+import tiled.core.TileSet;
import tiled.mapeditor.MapEditor;
-import tiled.core.Map;
-public class MultisetListRenderer extends DefaultListCellRenderer
-{
- private Map myMap;
- private ImageIcon[] tileImages;
- private Image setImage = null;
- private int highestTileId = 0;
- private double zoom = 1;
+/**
+ * This list renderer is used for rendering a list of tiles associated with a
+ * certain map. The list renderer produces {@link ImageIcon} instances on
+ * demand and caches them in a {@link HashMap}.
+ *
+ * todo: check whether assuming all tiles have an image is safe
+ *
+ * @version $Id$
+ */
+public class MultisetListRenderer extends DefaultListCellRenderer {
+ private Icon setIcon;
+ private final double zoom;
+ private final HashMap tileImages;
- public MultisetListRenderer() {
- setOpaque(true);
+ /**
+ * Creates the list renderer for rendering a list of tiles.
+ *
+ * @param zoom the zoom level at which the tiles will be shown
+ */
+ public MultisetListRenderer(double zoom) {
+ tileImages = new HashMap();
+ this.zoom = zoom;
+
try {
- setImage = MapEditor.loadImageResource("resources/source.png");
+ // Load the icon to show for tilesets
+ Image img = MapEditor.loadImageResource("resources/source.png");
+ setIcon = new ImageIcon(img);
} catch (IOException e) {
e.printStackTrace();
}
}
- public MultisetListRenderer(Map m){
- this();
- myMap = m;
- buildList();
- }
-
- public MultisetListRenderer(Map m, double zoom) {
- this();
- myMap = m;
- this.zoom = zoom;
- buildList();
- }
-
public Component getListCellRendererComponent(JList list, Object value,
- int index, boolean isSelected, boolean cellHasFocus) {
+ int index, boolean isSelected,
+ boolean cellHasFocus) {
+ // Let the default list cell renderer do most of the work
super.getListCellRendererComponent(
list, value, index, isSelected, cellHasFocus);
- if (value != null && index >= 0) {
- Tile tile = null;
-
- if (value instanceof Tile) {
- tile = (Tile)value;
- if (tile != null) {
- setIcon(tileImages[index]);
- setText("Tile " + tile.getId());
+ // Attempt to set an appropriate icon
+ if (value instanceof Tile && index >= 0) {
+ Tile tile = (Tile) value;
+ if (!isSelected || zoom == 1) {
+ // Use cached ImageIcon instance
+ final Integer key = Integer.valueOf(index);
+ if (tileImages.containsKey(key)) {
+ setIcon((Icon) tileImages.get(key));
} else {
- setIcon(null);
- setText("No tile");
+ Icon icon = new ImageIcon(tile.getScaledImage(zoom));
+ setIcon(icon);
+ tileImages.put(key, icon);
}
- } else if (value instanceof TileSet) {
- TileSet ts = (TileSet)value;
- if(ts != null) {
- setIcon(new ImageIcon(setImage));
- setText("Tileset " + ts.getName());
- } else {
- setIcon(null);
- setText("");
- }
+ } else {
+ // Selected entry always uses unscaled image
+ setIcon(new ImageIcon(tile.getImage()));
}
-
- // Scale image of selected tile up
- if (isSelected && tile != null) {
- setIcon(new ImageIcon(tile.getScaledImage(1.0)));
- }
+ } else if (value instanceof TileSet) {
+ setIcon(setIcon);
}
+
return this;
}
-
-
- private void buildList() {
- Tile t;
- Vector sets = myMap.getTilesets();
- int curSlot = 0;
- Iterator itr = sets.iterator();
- int totalSlots = sets.size();
-
- itr = sets.iterator();
- while (itr.hasNext()) {
- TileSet ts = (TileSet) itr.next();
- totalSlots += ts.size();
- }
- tileImages = new ImageIcon[totalSlots];
-
- itr = sets.iterator();
- while (itr.hasNext()) {
- TileSet ts = (TileSet) itr.next();
- tileImages[curSlot++] = new ImageIcon(setImage);
-
- Iterator tileIterator = ts.iterator();
-
- while (tileIterator.hasNext()) {
- Tile tile = (Tile)tileIterator.next();
- Image img = tile.getScaledImage(zoom);
- if (img != null) {
- tileImages[curSlot] = new ImageIcon(img);
- } else {
- tileImages[curSlot] = null;
- }
- curSlot++;
- }
- }
- }
}
Property changes on: trunk/src/tiled/mapeditor/util/Multis