X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Fyoink;a=blobdiff_plain;f=data%2Fscenes%2FTest.json;fp=data%2Fscenes%2FTest.json;h=0000000000000000000000000000000000000000;hp=b6aac66f69a5b12238b2ff16c125cfede30b272b;hb=542e50a284c7f5b144a5c97c17f6d89b2af0175c;hpb=b887538a8ccc1c904f6aa24f0f6dcc23e0cc2f72 diff --git a/data/scenes/Test.json b/data/scenes/Test.json deleted file mode 100644 index b6aac66..0000000 --- a/data/scenes/Test.json +++ /dev/null @@ -1,1115 +0,0 @@ -{ - "playfield_bounds": [0, 0, -100, 1280, 500, 100], - "maximum_bounds": [-160, 0, -192, 1440, 480, 224], - "instructions": - [ - - /* Left end tower block */ - - /* Front */ - - "reset_transform", - "translate", [-5, 0, 5], - "scale", [32], - "texture", "TowerBlock1", - "tilemap", - { - "width": 5, - "tiles": - [ - 2, 2, 2, 2, 2, - 1, 0, 0, 1, 0, - 1, 0, 0, 1, 0, - 1, 0, 0, 1, 0, - 1, 0, 0, 1, 0, - 1, 0, 0, 1, 0, - 1, 0, 0, 1, 0, - 1, 0, 0, 1, 0, - 1, 0, 0, 1, 0, - 1, 0, 0, 1, 0, - 1, 0, 0, 1, 0, - 1, 0, 0, 1, 0, - 1, 0, 0, 1, 0, - 1, 0, 0, 1, 0, - 4, 4, 4, 4, 4 - ] - }, - - /* Right side */ - - "reset_transform", - "rotate", ["y", 90], - "translate", [0, 0, 5], - "scale", [32], - "texture", "TowerBlock1", - "tilemap", - { - "width": 5, - "surface_type": "right", - "tiles": - [ - 2, 2, 2, 2, 2, - 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, - 0, 0, 0, 0, 6, - 4, 5, 5, 5, 4 - ] - }, - - /* Top */ - - "reset_transform", - "rotate", ["x", 90], - "translate", [-5, 15, 0], - "scale", [32], - "texture", "TowerBlock1", - "tilemap", - { - "width": 5, - "surface_type": "top", - "tiles": - [ - 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3 - ] - }, - - /* Leftmost background tower block */ - - /* Front */ - - "reset_transform", - "scale", [32], - "texture", "TowerBlock1", - "tilemap", - { - "width": 7, - "detail": 1, - "tiles": - [ - 2, 2, 2, 2, 2, 2, 2, - 0, 1, 0, 0, 0, 1, 0, - 0, 1, 0, 0, 0, 1, 0, - 0, 1, 0, 0, 6, 1, 0, - 0, 1, 0, 0, 0, 1, 0, - 0, 1, 0, 0, 0, 1, 0, - 0, 1, 0, 0, 0, 1, 0, - 4, 4, 5, 5, 5, 4, 4 - ] - }, - - /* Right side */ - - "reset_transform", - "rotate", ["y", 90], - "translate", [7, 0, 0], - "scale", [32], - "texture", "TowerBlock1", - "tilemap", - { - "width": 6, - "detail": 1, - "tiles": - [ - 2, 2, 2, 2, 2, 2, - 0, 1, 0, 0, 1, 0, - 0, 1, 0, 0, 1, 0, - 0, 1, 0, 0, 1, 0, - 0, 1, 0, 0, 1, 0, - 0, 1, 0, 0, 1, 0, - 0, 1, 0, 0, 1, 0, - 4, 4, 4, 4, 4, 4 - ] - }, - - /* Top */ - - "reset_transform", - "rotate", ["x", 90], - "translate", [-2, 8, -6], - "scale", [32], - "texture", "TowerBlock1", - "tilemap", - { - "width": 9, - "detail": 1, - "tiles": - [ - 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3 - ] - }, - - /* Foreground building with pitched roof */ - - /* Left wall */ - - "reset_transform", - "rotate", ["y", -90], - "translate", [10, 0, 1], - "scale", [32], - "texture", "Building", - "tilemap", - { - "width": 4, - "surface_type": "left", - "tiles": - [ - -1, 9, 11, -1, - 9, 10, 12, 11, - 15, 7, 7, 16, - 3, 5, 6, 4, - 3, 6, 5, 4 - ] - }, - - /* Right wall */ - - "reset_transform", - "rotate", ["y", -90], - "translate", [13, 0, 1], - "scale", [32], - "texture", "Building", - "tilemap", - { - "width": 4, - "surface_type": "right", - "tiles": - [ - -1, 9, 11, -1, - 9, 10, 12, 11, - 15, 7, 7, 16, - 3, 5, 6, 4, - 3, 8, 5, 4 - ] - }, - - /* Front wall */ - - "reset_transform", - "translate", [10, 0, 5], - "scale", [32], - "texture", "Building", - "tilemap", - { - "width": 3, - "tiles": - [ - 15, 7, 16, - 3, 5, 4, - 3, 6, 4 - ] - }, - - /* Pitched roof */ - - "reset_transform", - "rotate", ["x", 135], - "scale", [1, 1.5, 1.5], - "translate", [10, 5, 3], - "scale", [32], - "texture", "Building", - "tilemap", - { - "width": 3, - "tiles": - [ - 13, 13, 13, - 13, 13, 13 - ] - }, - - /* Finial */ - - "reset_transform", - "translate", [10, 5, 3], - "scale", [32], - "texture", "Building", - "tilemap", - { - "width": 3, - "tiles": - [ - 18, 18, 18 - ] - }, - - /* Cheaty invisible platform */ - - "reset_transform", - "translate", [10, 4, 3], - "scale", [32], - "texture", "Building", - "tilemap", - { - "width": 3, - "surface_type": "top", - "tiles": - [ - -1, -1, -1 - ] - }, - - /* The ground */ - - /* Courtyard */ - - "reset_transform", - "rotate", ["x", 90], - "translate", [-3, 0, 0], - "scale", [32], - "texture", "Scenery", - "tilemap", - { - "width": 13, - "surface_type": "top", - "tiles": - [ - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - -1, -1, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, - -1, -1, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, - -1, -1, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, - -1, -1, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, - -1, -1, -1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 - ] - }, - - /* Front grass */ - - "reset_transform", - "scale", [8, 1, 1], - "translate", [1, -0.5, 5], - "scale", [32], - "texture", "Scenery", - "billboard", - { - "tile": 2, - "u_scale": 8, - "detail": 2 - }, - - /* Back grass */ - - "reset_transform", - "scale", [8, 1, 1], - "translate", [1, -0.5, 1], - "scale", [32], - "texture", "Scenery", - "billboard", - { - "tile": 2, - "u_scale": 8, - "detail": 2 - }, - - /* Left grass */ - - "reset_transform", - "scale", [4, 1, 1], - "rotate", ["y", -90], - "translate", [1, -0.5, 1], - "scale", [32], - "texture", "Scenery", - "billboard", - { - "tile": 2, - "u_scale": 4, - "detail": 2 - }, - - /* Right grass */ - - "reset_transform", - "scale", [4, 1, 1], - "rotate", ["y", -90], - "translate", [9, -0.5, 1], - "scale", [32], - "texture", "Scenery", - "billboard", - { - "tile": 2, - "u_scale": 4, - "detail": 2 - }, - - /* Fence behind house */ - - "reset_transform", - "scale", [11, 1, 1], - "translate", [7, 0, 0], - "scale", [32], - "texture", "Scenery", - "billboard", - { - "tile": 4, - "u_scale": 11, - "detail": 2 - }, - - /* Background building with pitched roof */ - - /* Front wall */ - - "reset_transform", - "translate", [19, 0, 0], - "scale", [32], - "texture", "Building", - "tilemap", - { - "width": 4, - "detail": 1, - "tiles": - [ - -1, 9, 11, -1, - 9, 10, 12, 11, - 15, 7, 7, 16, - 3, 6, 5, 4, - 3, 5, 6, 4, - 3, 8, 5, 4 - ] - }, - - /* Left wall */ - - "reset_transform", - "rotate", ["y", -90], - "translate", [19, 0, -3], - "scale", [32], - "texture", "Building", - "tilemap", - { - "width": 3, - "surface_type": "left", - "detail": 1, - "tiles": - [ - 15, 1, 16, - 3, 7, 4, - 3, 5, 4, - 3, 0, 4 - ] - }, - - /* Right wall */ - - "reset_transform", - "rotate", ["y", -90], - "translate", [23, 0, -3], - "scale", [32], - "texture", "Building", - "tilemap", - { - "width": 3, - "surface_type": "right", - "detail": 1, - "tiles": - [ - 15, 0, 16, - 3, 7, 4, - 3, 6, 4, - 3, 2, 4 - ] - }, - - /* Left pitched roof */ - - "reset_transform", - "rotate", ["x", 135], - "scale", [1, 1.5, 1.5], - "rotate", ["y", -90], - "translate", [21, 6, -3], - "scale", [32], - "texture", "Building", - "tilemap", - { - "width": 3, - "detail": 1, - "tiles": - [ - 13, 13, 13, - 13, 13, 13 - ] - }, - - /* Right pitched roof */ - - "reset_transform", - "rotate", ["x", -135], - "scale", [1, 1.5, 1.5], - "rotate", ["y", -90], - "translate", [21, 6, -3], - "scale", [32], - "texture", "Building", - "tilemap", - { - "width": 3, - "detail": 1, - "tiles": - [ - 13, 13, 13, - 13, 13, 13 - ] - }, - - /* Finial */ - - "reset_transform", - "rotate", ["y", -90], - "translate", [21, 6, -3], - "scale", [32], - "texture", "Building", - "tilemap", - { - "width": 3, - "detail": 1, - "tiles": - [ - 18, 18, 18 - ] - }, - - /* More ground to the right */ - - /* Ground under house */ - - "reset_transform", - "rotate", ["x", 90], - "translate", [10, 0, 0], - "scale", [32], - "texture", "Scenery", - "tilemap", - { - "width": 3, - "surface_type": "top", - "tiles": - [ - 1, 1, 1, - 1, 1, 1, - -1, -1, -1, - -1, -1, -1, - -1, -1, -1, - -1, -1, -1, - 1, 1, 1 - ] - }, - - /* Left part of center courtyard */ - - "reset_transform", - "rotate", ["x", 90], - "translate", [13, 0, 0], - "scale", [32], - "texture", "Scenery", - "tilemap", - { - "width": 8, - "surface_type": "top", - "tiles": - [ - 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, - 1, 0, 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 0, 0, 1, 1, - 0, 0, 0, 0, 0, 0, 1, 1, - 1, 0, 0, 0, 0, 0, 0, 0, - 1, 1, 1, 1, 1, 0, 0, 0 - ] - }, - - /* Front grass */ - - "reset_transform", - "scale", [12, 1, 1], - "translate", [14, -0.5, 5], - "scale", [32], - "texture", "Scenery", - "billboard", - { - "tile": 2, - "u_scale": 12, - "detail": 2 - }, - - /* Back grass */ - - "reset_transform", - "scale", [4, 1, 1], - "translate", [14, -0.5, 1], - "scale", [32], - "texture", "Scenery", - "billboard", - { - "tile": 2, - "u_scale": 4, - "detail": 2 - }, - - /* Front grass next to door */ - - "reset_transform", - "scale", [1, 1, 1], - "translate", [13, -0.5, 3], - "scale", [32], - "texture", "Scenery", - "billboard", - { - "tile": 2, - "u_scale": 1, - "detail": 2 - }, - - /* Back grass next to door */ - - "reset_transform", - "scale", [1, 1, 1], - "translate", [13, -0.5, 2], - "scale", [32], - "texture", "Scenery", - "billboard", - { - "tile": 2, - "u_scale": 1, - "detail": 2 - }, - - /* Left grass */ - - "reset_transform", - "rotate", ["y", -90], - "translate", [14, -0.5, 1], - "scale", [32], - "texture", "Scenery", - "tilemap", - { - "width": 4, - "detail": 2, - "tiles": - [ - 2, -1, 2, 2 - ] - }, - - /* Grass left of house */ - - "reset_transform", - "rotate", ["y", -90], - "scale", [1, 1, 1], - "translate", [18, -0.5, 0], - "scale", [32], - "texture", "Scenery", - "billboard", - { - "tile": 2, - "u_scale": 1, - "detail": 2 - }, - - /* Grass right of house */ - - "reset_transform", - "rotate", ["y", -90], - "scale", [1, 1, 1], - "translate", [24, -0.5, 0], - "scale", [32], - "texture", "Scenery", - "billboard", - { - "tile": 2, - "u_scale": 1, - "detail": 2 - }, - - /* Front grass in center */ - - "reset_transform", - "scale", [4, 1, 1], - "translate", [19, -0.5, 4], - "scale", [32], - "texture", "Scenery", - "billboard", - { - "tile": 2, - "u_scale": 4, - "detail": 2 - }, - - /* Back grass in center */ - - "reset_transform", - "scale", [4, 1, 1], - "translate", [19, -0.5, 2], - "scale", [32], - "texture", "Scenery", - "billboard", - { - "tile": 2, - "u_scale": 4, - "detail": 2 - }, - - /* Left grass in center */ - - "reset_transform", - "scale", [2, 1, 1], - "rotate", ["y", -90], - "translate", [19, -0.5, 2], - "scale", [32], - "texture", "Scenery", - "billboard", - { - "tile": 2, - "u_scale": 2, - "detail": 2 - }, - - /* Right grass in center */ - - "reset_transform", - "scale", [2, 1, 1], - "rotate", ["y", -90], - "translate", [23, -0.5, 2], - "scale", [32], - "texture", "Scenery", - "billboard", - { - "tile": 2, - "u_scale": 2, - "detail": 2 - }, - - /* Still more ground */ - - /* Right part of center courtyard */ - - "reset_transform", - "rotate", ["x", 90], - "translate", [21, 0, 0], - "scale", [32], - "texture", "Scenery", - "tilemap", - { - "width": 7, - "surface_type": "top", - "tiles": - [ - 1, 1, 1, 1, 1, 0, 0, - 1, 1, 1, 1, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, - 1, 1, 0, 0, 0, 0, 0, - 1, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1, 1, 1, 1 - ] - }, - - /* Fence to right of back house */ - - "reset_transform", - "scale", [4, 1, 1], - "translate", [24, 0, 0], - "scale", [32], - "texture", "Scenery", - "billboard", - { - "tile": 4, - "u_scale": 4, - "detail": 2 - }, - - /* Grass in front of fence */ - - "reset_transform", - "scale", [4, 1, 1], - "translate", [24, -0.5, 1], - "scale", [32], - "texture", "Scenery", - "billboard", - { - "tile": 2, - "u_scale": 4, - "detail": 2 - }, - - /* Grass to left of tower block */ - - "reset_transform", - "scale", [2, 1, 1], - "rotate", ["y", -90], - "translate", [26, -0.5, 5], - "scale", [32], - "texture", "Scenery", - "billboard", - { - "tile": 2, - "u_scale": 2, - "detail": 2 - }, - - /* Grass to right of tower block */ - - "reset_transform", - "scale", [2, 1, 1], - "rotate", ["y", -90], - "translate", [35, -0.5, 5], - "scale", [32], - "texture", "Scenery", - "billboard", - { - "tile": 2, - "u_scale": 2, - "detail": 2 - }, - - /* Next bit of grass */ - - "reset_transform", - "scale", [5, 1, 1], - "translate", [35, -0.5, 5], - "scale", [32], - "texture", "Scenery", - "billboard", - { - "tile": 2, - "u_scale": 5, - "detail": 2 - }, - - /* Back grass */ - - "reset_transform", - "scale", [6, 1, 1], - "translate", [34, -0.5, 1], - "scale", [32], - "texture", "Scenery", - "billboard", - { - "tile": 2, - "u_scale": 6, - "detail": 2 - }, - - /* Extra bit of back grass */ - - "reset_transform", - "scale", [1, 1, 1], - "rotate", ["y", -90], - "translate", [34, -0.5, 0], - "scale", [32], - "texture", "Scenery", - "billboard", - { - "tile": 2, - "u_scale": 1, - "detail": 2 - }, - - /* Ground around tower block */ - - "reset_transform", - "rotate", ["x", 90], - "translate", [28, 0, 4], - "scale", [32], - "texture", "Scenery", - "tilemap", - { - "width": 5, - "surface_type": "top", - "tiles": - [ - 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0 - ] - }, - - /* Rightmost ground */ - - "reset_transform", - "rotate", ["x", 90], - "translate", [33, 0, 0], - "scale", [32], - "texture", "Scenery", - "tilemap", - { - "width": 10, - "surface_type": "top", - "tiles": - [ - 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, - 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, - 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, - 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, - 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, - 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, - 0, 1, 1, 1, 1, 1, 1, -1, -1, -1 - ] - }, - - /* Right foreground tower block */ - - /* Front */ - - "reset_transform", - "translate", [28, 0, 4], - "scale", [32], - "texture", "TowerBlock1", - "tilemap", - { - "width": 5, - "tiles": - [ - 2, 2, 2, 2, 2, - 0, 0, 0, 0, 0, - 0, 0, 0, 0, 6, - 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, - 0, 0, 0, 6, 0, - 4, 4, 4, 4, 4 - ] - }, - - /* Right side */ - - "reset_transform", - "rotate", ["y", 90], - "translate", [33, 0, 4], - "scale", [32], - "texture", "TowerBlock1", - "tilemap", - { - "width": 6, - "surface_type": "right", - "tiles": - [ - 2, 2, 2, 2, 2, 2, - 0, 1, 0, 0, 1, 0, - 0, 1, 0, 0, 1, 0, - 0, 1, 0, 0, 1, 0, - 0, 1, 0, 0, 1, 0, - 0, 1, 0, 0, 1, 0, - 5, 4, 5, 5, 4, 5 - ] - }, - - /* Left side */ - - "reset_transform", - "rotate", ["y", 90], - "translate", [28, 0, 4], - "scale", [32], - "texture", "TowerBlock1", - "tilemap", - { - "width": 6, - "surface_type": "left", - "tiles": - [ - 2, 2, 2, 2, 2, 2, - 0, 1, 6, 0, 1, 0, - 0, 1, 0, 0, 1, 0, - 0, 1, 0, 0, 1, 0, - 0, 1, 0, 0, 1, 0, - 0, 1, 0, 0, 1, 0, - 5, 4, 5, 5, 4, 5 - ] - }, - - /* Top */ - - "reset_transform", - "rotate", ["x", 90], - "translate", [28, 7, -2], - "scale", [32], - "texture", "TowerBlock1", - "tilemap", - { - "width": 5, - "surface_type": "top", - "tiles": - [ - 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3 - ] - }, - - /* Right end tower block */ - - /* Front */ - - "reset_transform", - "translate", [40, 0, 5], - "scale", [32], - "texture", "TowerBlock1", - "tilemap", - { - "width": 5, - "tiles": - [ - 2, 2, 2, 2, 2, - 0, 1, 0, 0, 1, - 0, 1, 0, 0, 1, - 0, 1, 0, 0, 1, - 0, 1, 0, 0, 1, - 6, 1, 0, 0, 1, - 0, 1, 0, 0, 1, - 0, 1, 0, 0, 1, - 0, 1, 0, 0, 1, - 0, 1, 0, 0, 1, - 0, 1, 0, 0, 1, - 6, 1, 0, 0, 1, - 0, 1, 0, 0, 1, - 0, 1, 0, 0, 1, - 4, 4, 4, 4, 4 - ] - }, - - /* Left side */ - - "reset_transform", - "rotate", ["y", 90], - "translate", [40, 0, 5], - "scale", [32], - "texture", "TowerBlock1", - "tilemap", - { - "width": 5, - "surface_type": "left", - "tiles": - [ - 2, 2, 2, 2, 2, - 6, 0, 0, 0, 0, - 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, - 0, 0, 0, 6, 0, - 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, - 0, 0, 6, 0, 0, - 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, - 4, 5, 5, 5, 4 - ] - }, - - /* Top */ - - "reset_transform", - "rotate", ["x", 90], - "translate", [40, 15, 0], - "scale", [32], - "texture", "TowerBlock1", - "tilemap", - { - "width": 5, - "surface_type": "top", - "tiles": - [ - 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3 - ] - }, - - /* Background */ - - "reset_transform", - "translate", [-0.3, -0.17, -900], - "scale", [3200, 1600, 1], - "texture", "BackgroundFar", - "billboard", null, - - "translate", [0, 0, 300], - "texture", "BackgroundNear", - "billboard", - { - "blend": true - }, - - /* Trees */ - - "texture", "Trees", - - /* Left courtyard */ - - "reset_transform", - "scale", [96], - "translate", [250, -2.5, 16], - "billboard", - { - "tile": 1, - "detail": 1 - }, - - /* Center courtyard */ - - "reset_transform", - "scale", [96], - "translate", [610, -2.5, 85], - "billboard", - { - "tile": 0 - }, - "reset_transform", - "scale", [96], - "translate", [650, -2.5, 115], - "billboard", - { - "tile": 1 - }, - - /* Right courtyard */ - - "reset_transform", - "scale", [96], - "translate", [1080, -2.5, 10], - "billboard", - { - "tile": 1, - "detail": 1 - }, - "reset_transform", - "scale", [96], - "translate", [1120, -2.5, -15], - "billboard", - { - "tile": 0, - "detail": 1 - }, - "reset_transform", - "scale", [96], - "translate", [1220, -2.5, -30], - "billboard", - { - "tile": 1, - "detail": 1 - } - - ] -}