├── .gitignore ├── LICENSE ├── README.md ├── Ressources ├── Audio │ ├── track_menu0.caf │ ├── track_menu1.caf │ └── track_menu2.caf ├── Icon.psd └── UI.sketch ├── Screenshots ├── screenshot-1.jpg └── screenshot-2.jpg ├── Spiny.xcodeproj ├── project.pbxproj └── project.xcworkspace │ └── contents.xcworkspacedata ├── Spiny ├── AppDelegate.swift ├── Audio │ ├── track_menu0.caf │ ├── track_menu1.caf │ └── track_menu2.caf ├── Base.lproj │ ├── LaunchScreen.xib │ └── Main.storyboard ├── CircleNode.swift ├── ColorSelectorNode.swift ├── GameScene.swift ├── GameViewController.swift ├── Images.xcassets │ ├── AppIcon.appiconset │ │ ├── Contents.json │ │ ├── Icon-60@2x.png │ │ ├── Icon-60@3x.png │ │ ├── Icon-76.png │ │ ├── Icon-76@2x.png │ │ ├── Icon-Small-40.png │ │ ├── Icon-Small-40@2x-1.png │ │ ├── Icon-Small-40@2x.png │ │ ├── Icon-Small-40@3x.png │ │ ├── Icon-Small.png │ │ ├── Icon-Small@2x-1.png │ │ ├── Icon-Small@2x.png │ │ └── Icon-Small@3x.png │ ├── BigColorSelector.imageset │ │ ├── BigColorSelector.png │ │ ├── BigColorSelector@2x.png │ │ ├── BigColorSelector@3x.png │ │ └── Contents.json │ ├── BlueCircle.imageset │ │ ├── BlueCircle.png │ │ ├── BlueCircle@2x.png │ │ ├── BlueCircle@3x.png │ │ └── Contents.json │ ├── ColorSelector.imageset │ │ ├── ColorSelector.png │ │ ├── ColorSelector@2x.png │ │ ├── ColorSelector@3x.png │ │ └── Contents.json │ ├── GreenCircle.imageset │ │ ├── Contents.json │ │ ├── GreenCircle.png │ │ ├── GreenCircle@2x.png │ │ └── GreenCircle@3x.png │ ├── Leaderboard.imageset │ │ ├── Contents.json │ │ ├── Leaderboard.png │ │ ├── Leaderboard@2x.png │ │ └── Leaderboard@3x.png │ ├── Music.imageset │ │ ├── Contents.json │ │ ├── Music.png │ │ ├── Music@2x.png │ │ └── Music@3x.png │ ├── NoMusic.imageset │ │ ├── Contents.json │ │ ├── NoMusic.png │ │ ├── NoMusic@2x.png │ │ └── NoMusic@3x.png │ ├── OrangeCircle.imageset │ │ ├── Contents.json │ │ ├── OrangeCircle.png │ │ ├── OrangeCircle@2x.png │ │ └── OrangeCircle@3x.png │ ├── Play.imageset │ │ ├── Contents.json │ │ ├── Play.png │ │ ├── Play@2x.png │ │ └── Play@3x.png │ └── RedCircle.imageset │ │ ├── Contents.json │ │ ├── RedCircle.png │ │ ├── RedCircle@2x.png │ │ └── RedCircle@3x.png ├── Info.plist └── Utility.swift └── SpinyTests ├── Info.plist └── SpinyTests.swift /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dethi/Spiny/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dethi/Spiny/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dethi/Spiny/HEAD/README.md -------------------------------------------------------------------------------- /Ressources/Audio/track_menu0.caf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dethi/Spiny/HEAD/Ressources/Audio/track_menu0.caf -------------------------------------------------------------------------------- /Ressources/Audio/track_menu1.caf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dethi/Spiny/HEAD/Ressources/Audio/track_menu1.caf -------------------------------------------------------------------------------- /Ressources/Audio/track_menu2.caf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dethi/Spiny/HEAD/Ressources/Audio/track_menu2.caf -------------------------------------------------------------------------------- /Ressources/Icon.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dethi/Spiny/HEAD/Ressources/Icon.psd -------------------------------------------------------------------------------- /Ressources/UI.sketch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dethi/Spiny/HEAD/Ressources/UI.sketch -------------------------------------------------------------------------------- /Screenshots/screenshot-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dethi/Spiny/HEAD/Screenshots/screenshot-1.jpg -------------------------------------------------------------------------------- /Screenshots/screenshot-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dethi/Spiny/HEAD/Screenshots/screenshot-2.jpg -------------------------------------------------------------------------------- /Spiny.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dethi/Spiny/HEAD/Spiny.xcodeproj/project.pbxproj -------------------------------------------------------------------------------- /Spiny.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dethi/Spiny/HEAD/Spiny.xcodeproj/project.xcworkspace/contents.xcworkspacedata -------------------------------------------------------------------------------- /Spiny/AppDelegate.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dethi/Spiny/HEAD/Spiny/AppDelegate.swift -------------------------------------------------------------------------------- /Spiny/Audio/track_menu0.caf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dethi/Spiny/HEAD/Spiny/Audio/track_menu0.caf -------------------------------------------------------------------------------- /Spiny/Audio/track_menu1.caf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dethi/Spiny/HEAD/Spiny/Audio/track_menu1.caf -------------------------------------------------------------------------------- /Spiny/Audio/track_menu2.caf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dethi/Spiny/HEAD/Spiny/Audio/track_menu2.caf -------------------------------------------------------------------------------- /Spiny/Base.lproj/LaunchScreen.xib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dethi/Spiny/HEAD/Spiny/Base.lproj/LaunchScreen.xib -------------------------------------------------------------------------------- /Spiny/Base.lproj/Main.storyboard: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dethi/Spiny/HEAD/Spiny/Base.lproj/Main.storyboard -------------------------------------------------------------------------------- /Spiny/CircleNode.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dethi/Spiny/HEAD/Spiny/CircleNode.swift -------------------------------------------------------------------------------- /Spiny/ColorSelectorNode.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dethi/Spiny/HEAD/Spiny/ColorSelectorNode.swift -------------------------------------------------------------------------------- /Spiny/GameScene.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dethi/Spiny/HEAD/Spiny/GameScene.swift -------------------------------------------------------------------------------- /Spiny/GameViewController.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dethi/Spiny/HEAD/Spiny/GameViewController.swift -------------------------------------------------------------------------------- /Spiny/Images.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dethi/Spiny/HEAD/Spiny/Images.xcassets/AppIcon.appiconset/Contents.json -------------------------------------------------------------------------------- /Spiny/Images.xcassets/AppIcon.appiconset/Icon-60@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dethi/Spiny/HEAD/Spiny/Images.xcassets/AppIcon.appiconset/Icon-60@2x.png -------------------------------------------------------------------------------- /Spiny/Images.xcassets/AppIcon.appiconset/Icon-60@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dethi/Spiny/HEAD/Spiny/Images.xcassets/AppIcon.appiconset/Icon-60@3x.png -------------------------------------------------------------------------------- /Spiny/Images.xcassets/AppIcon.appiconset/Icon-76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dethi/Spiny/HEAD/Spiny/Images.xcassets/AppIcon.appiconset/Icon-76.png -------------------------------------------------------------------------------- /Spiny/Images.xcassets/AppIcon.appiconset/Icon-76@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dethi/Spiny/HEAD/Spiny/Images.xcassets/AppIcon.appiconset/Icon-76@2x.png -------------------------------------------------------------------------------- /Spiny/Images.xcassets/AppIcon.appiconset/Icon-Small-40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dethi/Spiny/HEAD/Spiny/Images.xcassets/AppIcon.appiconset/Icon-Small-40.png -------------------------------------------------------------------------------- /Spiny/Images.xcassets/AppIcon.appiconset/Icon-Small-40@2x-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dethi/Spiny/HEAD/Spiny/Images.xcassets/AppIcon.appiconset/Icon-Small-40@2x-1.png -------------------------------------------------------------------------------- /Spiny/Images.xcassets/AppIcon.appiconset/Icon-Small-40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dethi/Spiny/HEAD/Spiny/Images.xcassets/AppIcon.appiconset/Icon-Small-40@2x.png -------------------------------------------------------------------------------- /Spiny/Images.xcassets/AppIcon.appiconset/Icon-Small-40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dethi/Spiny/HEAD/Spiny/Images.xcassets/AppIcon.appiconset/Icon-Small-40@3x.png -------------------------------------------------------------------------------- /Spiny/Images.xcassets/AppIcon.appiconset/Icon-Small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dethi/Spiny/HEAD/Spiny/Images.xcassets/AppIcon.appiconset/Icon-Small.png -------------------------------------------------------------------------------- /Spiny/Images.xcassets/AppIcon.appiconset/Icon-Small@2x-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dethi/Spiny/HEAD/Spiny/Images.xcassets/AppIcon.appiconset/Icon-Small@2x-1.png -------------------------------------------------------------------------------- /Spiny/Images.xcassets/AppIcon.appiconset/Icon-Small@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dethi/Spiny/HEAD/Spiny/Images.xcassets/AppIcon.appiconset/Icon-Small@2x.png -------------------------------------------------------------------------------- /Spiny/Images.xcassets/AppIcon.appiconset/Icon-Small@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dethi/Spiny/HEAD/Spiny/Images.xcassets/AppIcon.appiconset/Icon-Small@3x.png -------------------------------------------------------------------------------- /Spiny/Images.xcassets/BigColorSelector.imageset/BigColorSelector.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dethi/Spiny/HEAD/Spiny/Images.xcassets/BigColorSelector.imageset/BigColorSelector.png -------------------------------------------------------------------------------- /Spiny/Images.xcassets/BigColorSelector.imageset/BigColorSelector@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dethi/Spiny/HEAD/Spiny/Images.xcassets/BigColorSelector.imageset/BigColorSelector@2x.png -------------------------------------------------------------------------------- /Spiny/Images.xcassets/BigColorSelector.imageset/BigColorSelector@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dethi/Spiny/HEAD/Spiny/Images.xcassets/BigColorSelector.imageset/BigColorSelector@3x.png -------------------------------------------------------------------------------- /Spiny/Images.xcassets/BigColorSelector.imageset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dethi/Spiny/HEAD/Spiny/Images.xcassets/BigColorSelector.imageset/Contents.json -------------------------------------------------------------------------------- /Spiny/Images.xcassets/BlueCircle.imageset/BlueCircle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dethi/Spiny/HEAD/Spiny/Images.xcassets/BlueCircle.imageset/BlueCircle.png -------------------------------------------------------------------------------- /Spiny/Images.xcassets/BlueCircle.imageset/BlueCircle@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dethi/Spiny/HEAD/Spiny/Images.xcassets/BlueCircle.imageset/BlueCircle@2x.png -------------------------------------------------------------------------------- /Spiny/Images.xcassets/BlueCircle.imageset/BlueCircle@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dethi/Spiny/HEAD/Spiny/Images.xcassets/BlueCircle.imageset/BlueCircle@3x.png -------------------------------------------------------------------------------- /Spiny/Images.xcassets/BlueCircle.imageset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dethi/Spiny/HEAD/Spiny/Images.xcassets/BlueCircle.imageset/Contents.json -------------------------------------------------------------------------------- /Spiny/Images.xcassets/ColorSelector.imageset/ColorSelector.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dethi/Spiny/HEAD/Spiny/Images.xcassets/ColorSelector.imageset/ColorSelector.png -------------------------------------------------------------------------------- /Spiny/Images.xcassets/ColorSelector.imageset/ColorSelector@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dethi/Spiny/HEAD/Spiny/Images.xcassets/ColorSelector.imageset/ColorSelector@2x.png -------------------------------------------------------------------------------- /Spiny/Images.xcassets/ColorSelector.imageset/ColorSelector@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dethi/Spiny/HEAD/Spiny/Images.xcassets/ColorSelector.imageset/ColorSelector@3x.png -------------------------------------------------------------------------------- /Spiny/Images.xcassets/ColorSelector.imageset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dethi/Spiny/HEAD/Spiny/Images.xcassets/ColorSelector.imageset/Contents.json -------------------------------------------------------------------------------- /Spiny/Images.xcassets/GreenCircle.imageset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dethi/Spiny/HEAD/Spiny/Images.xcassets/GreenCircle.imageset/Contents.json -------------------------------------------------------------------------------- /Spiny/Images.xcassets/GreenCircle.imageset/GreenCircle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dethi/Spiny/HEAD/Spiny/Images.xcassets/GreenCircle.imageset/GreenCircle.png -------------------------------------------------------------------------------- /Spiny/Images.xcassets/GreenCircle.imageset/GreenCircle@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dethi/Spiny/HEAD/Spiny/Images.xcassets/GreenCircle.imageset/GreenCircle@2x.png -------------------------------------------------------------------------------- /Spiny/Images.xcassets/GreenCircle.imageset/GreenCircle@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dethi/Spiny/HEAD/Spiny/Images.xcassets/GreenCircle.imageset/GreenCircle@3x.png -------------------------------------------------------------------------------- /Spiny/Images.xcassets/Leaderboard.imageset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dethi/Spiny/HEAD/Spiny/Images.xcassets/Leaderboard.imageset/Contents.json -------------------------------------------------------------------------------- /Spiny/Images.xcassets/Leaderboard.imageset/Leaderboard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dethi/Spiny/HEAD/Spiny/Images.xcassets/Leaderboard.imageset/Leaderboard.png -------------------------------------------------------------------------------- /Spiny/Images.xcassets/Leaderboard.imageset/Leaderboard@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dethi/Spiny/HEAD/Spiny/Images.xcassets/Leaderboard.imageset/Leaderboard@2x.png -------------------------------------------------------------------------------- /Spiny/Images.xcassets/Leaderboard.imageset/Leaderboard@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dethi/Spiny/HEAD/Spiny/Images.xcassets/Leaderboard.imageset/Leaderboard@3x.png -------------------------------------------------------------------------------- /Spiny/Images.xcassets/Music.imageset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dethi/Spiny/HEAD/Spiny/Images.xcassets/Music.imageset/Contents.json -------------------------------------------------------------------------------- /Spiny/Images.xcassets/Music.imageset/Music.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dethi/Spiny/HEAD/Spiny/Images.xcassets/Music.imageset/Music.png -------------------------------------------------------------------------------- /Spiny/Images.xcassets/Music.imageset/Music@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dethi/Spiny/HEAD/Spiny/Images.xcassets/Music.imageset/Music@2x.png -------------------------------------------------------------------------------- /Spiny/Images.xcassets/Music.imageset/Music@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dethi/Spiny/HEAD/Spiny/Images.xcassets/Music.imageset/Music@3x.png -------------------------------------------------------------------------------- /Spiny/Images.xcassets/NoMusic.imageset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dethi/Spiny/HEAD/Spiny/Images.xcassets/NoMusic.imageset/Contents.json -------------------------------------------------------------------------------- /Spiny/Images.xcassets/NoMusic.imageset/NoMusic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dethi/Spiny/HEAD/Spiny/Images.xcassets/NoMusic.imageset/NoMusic.png -------------------------------------------------------------------------------- /Spiny/Images.xcassets/NoMusic.imageset/NoMusic@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dethi/Spiny/HEAD/Spiny/Images.xcassets/NoMusic.imageset/NoMusic@2x.png -------------------------------------------------------------------------------- /Spiny/Images.xcassets/NoMusic.imageset/NoMusic@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dethi/Spiny/HEAD/Spiny/Images.xcassets/NoMusic.imageset/NoMusic@3x.png -------------------------------------------------------------------------------- /Spiny/Images.xcassets/OrangeCircle.imageset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dethi/Spiny/HEAD/Spiny/Images.xcassets/OrangeCircle.imageset/Contents.json -------------------------------------------------------------------------------- /Spiny/Images.xcassets/OrangeCircle.imageset/OrangeCircle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dethi/Spiny/HEAD/Spiny/Images.xcassets/OrangeCircle.imageset/OrangeCircle.png -------------------------------------------------------------------------------- /Spiny/Images.xcassets/OrangeCircle.imageset/OrangeCircle@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dethi/Spiny/HEAD/Spiny/Images.xcassets/OrangeCircle.imageset/OrangeCircle@2x.png -------------------------------------------------------------------------------- /Spiny/Images.xcassets/OrangeCircle.imageset/OrangeCircle@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dethi/Spiny/HEAD/Spiny/Images.xcassets/OrangeCircle.imageset/OrangeCircle@3x.png -------------------------------------------------------------------------------- /Spiny/Images.xcassets/Play.imageset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dethi/Spiny/HEAD/Spiny/Images.xcassets/Play.imageset/Contents.json -------------------------------------------------------------------------------- /Spiny/Images.xcassets/Play.imageset/Play.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dethi/Spiny/HEAD/Spiny/Images.xcassets/Play.imageset/Play.png -------------------------------------------------------------------------------- /Spiny/Images.xcassets/Play.imageset/Play@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dethi/Spiny/HEAD/Spiny/Images.xcassets/Play.imageset/Play@2x.png -------------------------------------------------------------------------------- /Spiny/Images.xcassets/Play.imageset/Play@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dethi/Spiny/HEAD/Spiny/Images.xcassets/Play.imageset/Play@3x.png -------------------------------------------------------------------------------- /Spiny/Images.xcassets/RedCircle.imageset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dethi/Spiny/HEAD/Spiny/Images.xcassets/RedCircle.imageset/Contents.json -------------------------------------------------------------------------------- /Spiny/Images.xcassets/RedCircle.imageset/RedCircle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dethi/Spiny/HEAD/Spiny/Images.xcassets/RedCircle.imageset/RedCircle.png -------------------------------------------------------------------------------- /Spiny/Images.xcassets/RedCircle.imageset/RedCircle@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dethi/Spiny/HEAD/Spiny/Images.xcassets/RedCircle.imageset/RedCircle@2x.png -------------------------------------------------------------------------------- /Spiny/Images.xcassets/RedCircle.imageset/RedCircle@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dethi/Spiny/HEAD/Spiny/Images.xcassets/RedCircle.imageset/RedCircle@3x.png -------------------------------------------------------------------------------- /Spiny/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dethi/Spiny/HEAD/Spiny/Info.plist -------------------------------------------------------------------------------- /Spiny/Utility.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dethi/Spiny/HEAD/Spiny/Utility.swift -------------------------------------------------------------------------------- /SpinyTests/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dethi/Spiny/HEAD/SpinyTests/Info.plist -------------------------------------------------------------------------------- /SpinyTests/SpinyTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dethi/Spiny/HEAD/SpinyTests/SpinyTests.swift --------------------------------------------------------------------------------