ksaa 2025.6.8.0__tar.gz → 2025.6.28.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {ksaa-2025.6.8.0/ksaa.egg-info → ksaa-2025.6.28.0}/PKG-INFO +4 -1
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/README.md +3 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/WHATS_NEW.md +47 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/backend/context/context.py +29 -25
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/backend/debug/server.py +0 -2
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/backend/dispatch.py +1 -17
- ksaa-2025.6.28.0/kotonebot/backend/loop.py +277 -0
- ksaa-2025.6.28.0/kotonebot/client/__init__.py +10 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/client/device.py +178 -25
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/client/host/__init__.py +2 -1
- ksaa-2025.6.28.0/kotonebot/client/host/adb_common.py +94 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/client/host/custom.py +33 -4
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/client/host/leidian_host.py +17 -15
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/client/host/mumu12_host.py +79 -11
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/client/host/protocol.py +44 -19
- ksaa-2025.6.28.0/kotonebot/client/host/windows_common.py +55 -0
- ksaa-2025.6.28.0/kotonebot/client/implements/__init__.py +7 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/client/implements/adb.py +24 -7
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/client/implements/adb_raw.py +3 -3
- ksaa-2025.6.28.0/kotonebot/client/implements/nemu_ipc/__init__.py +8 -0
- ksaa-2025.6.28.0/kotonebot/client/implements/nemu_ipc/external_renderer_ipc.py +280 -0
- ksaa-2025.6.28.0/kotonebot/client/implements/nemu_ipc/nemu_ipc.py +327 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/client/implements/remote_windows.py +17 -21
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/client/implements/uiautomator2.py +5 -8
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/client/implements/windows.py +28 -36
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/client/protocol.py +13 -0
- ksaa-2025.6.28.0/kotonebot/client/registration.py +24 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/config/base_config.py +8 -2
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/debug_entry.py +11 -4
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/errors.py +7 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/game_ui/common.py +4 -7
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/game_ui/dialog.py +24 -4
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/game_ui/idols_overview.py +28 -12
- ksaa-2025.6.28.0/kotonebot/kaa/game_ui/primary_button.py +55 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/game_ui/scrollable.py +0 -5
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/main/cli.py +9 -4
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/main/dmm_host.py +15 -8
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/main/gr.py +114 -27
- ksaa-2025.6.28.0/kotonebot/kaa/main/kaa.py +268 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/metadata.py +47 -0
- ksaa-2025.6.28.0/kotonebot/kaa/resources/__pycache__/__init__.cpython-310.pyc +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/game.db +0 -0
- ksaa-2025.6.28.0/kotonebot/kaa/resources/game_ver.txt +0 -0
- ksaa-2025.6.28.0/kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-3-012_0.png +0 -0
- ksaa-2025.6.28.0/kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-3-012_1.png +0 -0
- ksaa-2025.6.28.0/kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-3-012_0.png +0 -0
- ksaa-2025.6.28.0/kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-3-012_1.png +0 -0
- ksaa-2025.6.28.0/kotonebot/kaa/sprites/24e99232-9434-457f-a9a0-69dd7ecf675f.png +0 -0
- ksaa-2025.6.28.0/kotonebot/kaa/sprites/2ededcf5-1d80-4e2a-9c83-2a31998331ce.png +0 -0
- ksaa-2025.6.28.0/kotonebot/kaa/sprites/3b473fe6-e147-477f-b088-9b8fb042a4f6.png +0 -0
- ksaa-2025.6.28.0/kotonebot/kaa/sprites/55f7db71-0a18-4b3d-b847-57959b8d2e32.png +0 -0
- ksaa-2025.6.28.0/kotonebot/kaa/sprites/6cd80be8-c9b3-4ba5-bf17-3ffc9b000743.png +0 -0
- ksaa-2025.6.28.0/kotonebot/kaa/sprites/74ec3510-583d-4a76-ac69-38480fbf1387.png +0 -0
- ksaa-2025.6.28.0/kotonebot/kaa/sprites/a0bd6a5f-784d-4f0a-9d66-10f4b80c8d3e.png +0 -0
- ksaa-2025.6.28.0/kotonebot/kaa/sprites/d3424d31-0502-4623-996e-f0194e5085ce.png +0 -0
- ksaa-2025.6.28.0/kotonebot/kaa/sprites/e6b45405-cd9f-4c6e-a9f1-6ec953747c65.png +0 -0
- ksaa-2025.6.28.0/kotonebot/kaa/sprites/f5c16d2f-ebc5-4617-9b96-971696af7c52.png +0 -0
- ksaa-2025.6.28.0/kotonebot/kaa/tasks/R.py +584 -0
- {ksaa-2025.6.8.0/kotonebot/kaa → ksaa-2025.6.28.0/kotonebot/kaa/tasks}/clear_logs.py +0 -3
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/tasks/produce/in_purodyuusu.py +0 -4
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/tasks/produce/non_lesson_actions.py +0 -3
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/tasks/produce/produce.py +119 -70
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/tasks/start_game.py +7 -6
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/util/paths.py +6 -1
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/tools/mirror.py +23 -13
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/util.py +32 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0/ksaa.egg-info}/PKG-INFO +4 -1
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/ksaa.egg-info/SOURCES.txt +155 -135
- ksaa-2025.6.28.0/version +1 -0
- ksaa-2025.6.8.0/kotonebot/client/__init__.py +0 -8
- ksaa-2025.6.8.0/kotonebot/client/factory.py +0 -92
- ksaa-2025.6.8.0/kotonebot/kaa/main/kaa.py +0 -169
- ksaa-2025.6.8.0/kotonebot/kaa/resources/__pycache__/__init__.cpython-310.pyc +0 -0
- ksaa-2025.6.8.0/kotonebot/kaa/resources/game_ver.txt +0 -0
- ksaa-2025.6.8.0/kotonebot/kaa/sprites/38b8f119-8de1-49bf-8a5f-a44371de4569.png +0 -0
- ksaa-2025.6.8.0/kotonebot/kaa/tasks/R.py +0 -562
- ksaa-2025.6.8.0/kotonebot/ui/__init__.py +0 -0
- ksaa-2025.6.8.0/version +0 -1
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/LICENSE +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/MANIFEST.in +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/__init__.py +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/backend/__init__.py +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/backend/bot.py +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/backend/color.py +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/backend/context/__init__.py +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/backend/context/task_action.py +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/backend/core.py +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/backend/debug/__init__.py +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/backend/debug/entry.py +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/backend/debug/mock.py +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/backend/debug/vars.py +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/backend/flow_controller.py +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/backend/image.py +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/backend/ocr.py +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/backend/preprocessor.py +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/client/fast_screenshot.py +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/config/__init__.py +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/config/manager.py +0 -0
- {ksaa-2025.6.8.0/kotonebot/client/implements → ksaa-2025.6.28.0/kotonebot/interop/win}/__init__.py +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/interop/win/reg.py +0 -0
- {ksaa-2025.6.8.0/kotonebot/interop/win → ksaa-2025.6.28.0/kotonebot/kaa}/__init__.py +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/common.py +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/db/__init__.py +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/db/constants.py +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/db/idol_card.py +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/db/sqlite.py +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/game_ui/__init__.py +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/game_ui/badge.py +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/game_ui/commu_event_buttons.py +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/game_ui/schedule.py +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/game_ui/toolbar.py +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/image_db/__init__.py +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/image_db/db.py +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/image_db/descriptors/__init__.py +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/image_db/descriptors/hist.py +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/kaa_context.py +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/main/__init__.py +0 -0
- {ksaa-2025.6.8.0/kotonebot/kaa → ksaa-2025.6.28.0/kotonebot/kaa/resources}/__init__.py +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-amao-1-000_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-amao-1-000_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-amao-1-001_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-amao-1-001_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-amao-2-000_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-amao-2-000_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-amao-3-000_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-amao-3-000_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-amao-3-001_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-amao-3-001_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-amao-3-002_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-amao-3-002_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-amao-3-003_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-amao-3-003_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-amao-3-005_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-amao-3-005_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-amao-3-006_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-amao-3-006_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-amao-3-007_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-amao-3-007_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-amao-3-008_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-amao-3-008_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-amao-3-009_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-amao-3-009_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-amao-3-010_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-amao-3-010_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-amao-3-011_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-amao-3-011_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-amao-3-012_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-amao-3-012_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-fktn-1-000_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-fktn-1-000_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-fktn-1-001_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-fktn-1-001_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-fktn-2-000_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-fktn-2-000_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-fktn-3-000_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-fktn-3-000_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-fktn-3-001_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-fktn-3-001_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-fktn-3-002_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-fktn-3-002_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-fktn-3-003_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-fktn-3-003_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-fktn-3-005_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-fktn-3-005_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-fktn-3-006_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-fktn-3-006_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-fktn-3-007_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-fktn-3-007_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-fktn-3-008_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-fktn-3-008_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-fktn-3-009_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-fktn-3-009_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-fktn-3-010_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-fktn-3-010_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-fktn-3-011_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-fktn-3-011_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-fktn-3-012_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-fktn-3-012_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-fktn-3-014_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-fktn-3-014_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-hmsz-1-000_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-hmsz-1-000_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-hmsz-2-000_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-hmsz-2-000_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-hmsz-3-000_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-hmsz-3-000_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-hrnm-1-000_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-hrnm-1-000_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-hrnm-1-001_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-hrnm-1-001_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-hrnm-2-000_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-hrnm-2-000_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-hrnm-3-000_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-hrnm-3-000_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-hrnm-3-001_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-hrnm-3-001_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-hrnm-3-002_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-hrnm-3-002_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-hrnm-3-003_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-hrnm-3-003_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-hrnm-3-004_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-hrnm-3-004_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-hrnm-3-005_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-hrnm-3-005_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-hrnm-3-006_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-hrnm-3-006_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-hrnm-3-007_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-hrnm-3-007_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-hrnm-3-008_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-hrnm-3-008_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-hrnm-3-009_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-hrnm-3-009_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-hrnm-3-010_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-hrnm-3-010_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-hrnm-3-011_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-hrnm-3-011_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-hrnm-3-012_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-hrnm-3-012_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-hski-1-000_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-hski-1-000_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-hski-1-001_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-hski-1-001_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-hski-2-000_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-hski-2-000_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-hski-3-000_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-hski-3-000_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-hski-3-001_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-hski-3-001_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-hski-3-002_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-hski-3-002_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-hski-3-003_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-hski-3-003_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-hski-3-005_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-hski-3-005_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-hski-3-006_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-hski-3-006_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-hski-3-007_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-hski-3-007_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-hski-3-008_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-hski-3-008_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-hski-3-009_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-hski-3-009_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-hski-3-010_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-hski-3-010_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-hski-3-011_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-hski-3-011_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-hski-3-012_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-hski-3-012_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-hski-3-013_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-hski-3-013_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-hume-1-000_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-hume-1-000_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-hume-2-000_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-hume-2-000_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-hume-3-000_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-hume-3-000_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-hume-3-001_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-hume-3-001_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-hume-3-002_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-hume-3-002_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-hume-3-004_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-hume-3-004_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-hume-3-005_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-hume-3-005_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-hume-3-006_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-hume-3-006_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-hume-3-011_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-hume-3-011_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-hume-3-013_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-hume-3-013_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-jsna-1-000_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-jsna-1-000_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-jsna-2-000_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-jsna-2-000_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-jsna-3-000_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-jsna-3-000_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-jsna-3-002_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-jsna-3-002_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-jsna-3-003_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-jsna-3-003_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-jsna-3-004_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-jsna-3-004_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-jsna-3-005_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-jsna-3-005_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-jsna-3-006_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-jsna-3-006_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-jsna-3-010_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-jsna-3-010_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-jsna-3-012_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-jsna-3-012_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-1-000_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-1-000_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-1-001_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-1-001_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-2-000_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-2-000_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-3-000_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-3-000_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-3-001_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-3-001_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-3-002_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-3-002_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-3-003_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-3-003_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-3-004_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-3-004_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-3-005_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-3-005_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-3-006_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-3-006_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-3-007_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-3-007_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-3-008_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-3-008_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-3-009_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-3-009_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-3-010_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-3-010_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-3-011_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-3-011_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-3-012_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-3-012_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-1-000_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-1-000_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-1-001_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-1-001_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-2-000_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-2-000_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-3-000_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-3-000_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-3-001_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-3-001_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-3-002_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-3-002_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-3-004_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-3-004_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-3-005_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-3-005_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-3-006_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-3-006_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-3-007_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-3-007_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-3-008_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-3-008_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-3-009_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-3-009_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-3-010_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-3-010_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-3-011_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-3-011_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-shro-1-000_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-shro-1-000_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-shro-1-001_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-shro-1-001_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-shro-2-000_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-shro-2-000_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-shro-3-000_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-shro-3-000_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-shro-3-001_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-shro-3-001_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-shro-3-002_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-shro-3-002_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-shro-3-003_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-shro-3-003_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-shro-3-004_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-shro-3-004_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-shro-3-006_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-shro-3-006_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-shro-3-007_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-shro-3-007_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-shro-3-008_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-shro-3-008_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-shro-3-009_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-shro-3-009_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-shro-3-010_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-shro-3-010_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-shro-3-011_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-shro-3-011_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-shro-3-013_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-shro-3-013_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-1-000_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-1-000_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-1-001_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-1-001_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-2-000_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-2-000_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-3-000_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-3-000_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-3-001_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-3-001_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-3-002_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-3-002_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-3-003_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-3-003_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-3-005_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-3-005_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-3-006_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-3-006_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-3-007_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-3-007_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-3-008_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-3-008_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-3-009_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-3-009_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-3-010_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-3-010_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-3-011_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-3-011_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-3-013_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-3-013_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-1-000_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-1-000_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-1-001_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-1-001_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-2-000_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-2-000_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-3-000_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-3-000_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-3-001_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-3-001_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-3-002_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-3-002_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-3-003_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-3-003_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-3-004_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-3-004_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-3-006_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-3-006_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-3-007_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-3-007_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-3-008_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-3-008_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-3-009_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-3-009_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-3-010_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-3-010_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-3-011_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-3-011_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-3-012_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-3-012_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-3-013_0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-3-013_1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/sprites/00551158-fee9-483f-b034-549139a96f58.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/5ca50448-cc21-499a-a685-c5e1c4240c48.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/019273c4-22ce-486f-8a7d-dbc78f13dcac.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/afa0f85f-dcb7-48a1-a1ae-624456b9b65c.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/03e34ef7-36b5-4ddc-9545-5b70a2eba72e.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/sprites/05890a1b-8764-4e9f-9d21-65d292c22e13.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/a00fcf77-2800-4f7d-993d-4636b36045bb.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/06ea773b-e2b3-40d4-82f6-b119ce9ca00b.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/d58d9987-b1ca-4669-a9a6-9a0fd1847fa6.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/0769f8f4-1c47-4bad-a783-bba5e20250bf.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/82a5e224-a161-43d4-8e15-2946480336dd.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/08946997-4e9e-4242-95e1-e988fa96b919.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/sprites/0949c622-9067-4f0d-bac2-3f938a1d2ed2.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/sprites/0c0627be-4a09-4450-a078-1858d3ace532.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/fb927b92-7a82-4869-8c61-581d49cd7201.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/0d60ce10-20ce-4980-8172-b6bac08d6258.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/b1e88fda-434a-4d06-8891-883a7beafa12.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/0f40352f-6443-406e-8e2c-c40d5cfc6c59.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/c4f28132-4aba-40ba-be6c-b1a31d014635.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/0f6d7f89-bdb2-4235-9b6b-e65cb73a4167.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/sprites/0f7d581d-cea3-4039-9205-732e4cd29293.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/sprites/135ee57a-d30d-4ba8-83f0-9f1681a49ff7.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/e866d8b1-4f61-45bf-8170-5229f53c047a.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/14d09c44-3897-4c81-b615-19c35d0f3793.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/a105d17d-d44c-4798-aeff-70808c91cb47.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/15191dec-7e33-4721-8068-15c11978e885.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/869b1771-b2ce-4872-ab75-2157c47c5b13.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/15f8f31e-65ce-408d-8556-b799bcefc9d4.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/sprites/1652f06a-5417-49ef-8949-4854772d9ab7.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/sprites/16fbc93d-b294-4001-b4e9-ee2af181415f.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/sprites/1926f2f9-4bd7-48eb-9eba-28ec4efb0606.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/994aa6a6-0189-4a79-8125-56136973b581.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/20b01af5-907b-4d49-9f5b-a3700ca9c0c3.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/sprites/23d88465-65d9-4718-8725-8dbf0a98a5a4.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/92b7d830-3db5-434e-b156-0ac855db480d.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/242c088b-bc73-4d11-aa31-ee7c71477fb4.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/sprites/25f00ee3-8dfe-42d1-a67e-191fa5c3df4b.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/sprites/278b7d9c-707e-4392-9677-74574b5cdf42.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/sprites/2bc00520-0afe-40e5-8743-d33fc6b2945a.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/sprites/2bd6fe88-99fa-443d-8e42-bb3de5881213.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/9c1fa1d4-2ae5-4093-abaa-cebb51135721.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/2f2a7951-a30a-4835-b9f6-3205cfdd2f05.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/a33ae1c3-ac69-4783-977e-9f0f1b1a2f8d.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/3031397e-3d12-4f23-8377-006eca5d2627.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/sprites/303cccc1-c674-4d3a-8c89-19ea729fdbef.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/sprites/30a6f399-6999-4f04-bb77-651e0214112f.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/e7022542-4317-4a61-8098-f3f733d8400e.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/312dbd82-5457-474a-91ce-511f0e4e9c80.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/cd8d3d55-f102-419e-a6fd-2ad5ecc4fd2e.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/31851ad1-df39-4a4f-9ae7-19c1d1c6b51a.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/826bf80a-112e-4356-9111-4b7e692ccc82.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/338b699a-d556-4b80-a577-123442c3db45.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/d8136469-6d73-4f82-a79c-fee83c3e93a8.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/35319890-98e3-4f75-b969-6b8576ef668d.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/96cf0633-6531-499b-b1cc-6670ab710293.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/3536f829-70d3-48f9-8fd4-b65eab7502f3.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/31a52dc8-b7fb-4ff6-a261-eb90a918603c.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/35516b69-a4f4-4ad4-8af4-35043475ee90.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/d747239f-7620-4f23-9ac7-cf2d34889266.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/36d71d33-09c9-4be8-b184-ccf40f700333.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/b44f5e5b-e999-4427-8a9f-f76c6485f4a5.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/379d5084-637f-45e8-8bd8-789eaa919821.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/0a430873-8c12-4ce2-a5de-ab9790c08344.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/3851303a-e3a0-46eb-aa7e-b47fb41946f7.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/sprites/3c8b477a-8eda-407e-9e9f-7540c8808f89.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/ff77d221-8444-4d0f-8c93-0223a97e2a98.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/3d1aa368-e198-478f-a47f-49818efbaec8.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/333fe6d3-0be7-40fb-a2a3-364f98758f2a.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/3f5907a9-7fe4-4f46-8e46-a96ac7fa3923.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/sprites/3f637e86-6b74-4693-9131-1fe411fc21e5.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/sprites/4096cffa-a889-4622-852e-760fc7022d93.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/0decaa6a-b9a9-4d9b-829a-0fc1f67538b4.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/40c0f296-d29e-4e05-aaff-a212339b742e.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/c1ad996a-925e-41b5-b26c-d48b8ded21d2.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/43e72796-a644-4d9b-a817-8add011d9a75.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/sprites/447d0e44-5d87-4b7c-8e60-edb111fe1639.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/sprites/44ba8515-4a60-42c9-8878-b42e4e34ee15.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/sprites/4503db6b-7224-4b81-9971-e7cfa56e10f2.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/sprites/4695f96b-c4f5-4bb6-a021-a13b6ceb2883.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/e2fae2a4-bb19-4f49-b382-47e504ec26d3.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/469c2b41-4171-4902-acc5-da0c807886ab.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/sprites/4883c564-f950-4a29-9f5f-6f924123cd22.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/559df9b9-e74d-45af-a300-77d3424e69c6.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/497e7930-f423-457a-8168-b1a1532bb1e9.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/e41bb5df-164d-4760-9db6-d5d5d763bb5f.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/49a43af3-17e3-4434-ba4d-519775ccaea9.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/f9b2f64d-f829-4b13-9704-c5f00fb956be.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/49b9a298-e847-4322-99a2-c0588c3542fe.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/645744c4-3bbf-4ea2-8f46-4725fff874b3.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/4a1902aa-01db-46bb-bea5-88ac62c82562.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/c0fc7de5-b842-4c70-9cf2-89d833bfe7a6.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/4a96a728-6303-4ae3-8e0c-9f1e8e5f86a7.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/73f4204e-8281-47cc-9dce-6bb8280c4ce5.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/4b7c4221-a679-47f6-929d-0ef514894b27.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/c1b1125f-542b-4e63-9c86-5d2e35a89a10.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/4d355e36-9169-43e4-bd58-2836ee3e56e0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/sprites/4d78add6-1027-4939-bb51-f99fca7db2ce.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/ad8ee599-88a8-429c-8982-99086e552dcc.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/4eb97d68-cd47-4100-9c3b-35b5c86b4bdf.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/sprites/50e23c8a-7ba2-4c9c-9cfb-196c260fa1d5.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/7a479871-547e-4098-9cdd-6c9bb9f7449a.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/515a2ff0-36b8-4f2f-9902-e6c1b9796586.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/02e0aa0d-4094-4bdc-8625-1a063733615b.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/51a3ed29-92b9-4429-9e50-783d1b8dc6a7.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/22d5a7d5-59a0-4137-b02e-1a7af86d4250.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/52d3438b-afae-4c7a-abe5-7ed530c7558c.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/5bf00cba-9aab-4ffe-b20b-8f5e74279276.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/540ee3b5-ca8f-4091-80a6-ce774d95e5f7.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/05ff5efd-0f76-47ce-bc89-237266bc17c0.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/54a15298-ecaf-4cc5-b8a2-5b0d8f8add41.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/1f9165e6-77ee-403e-9b76-99c114527dbb.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/554c0ff6-0a05-419d-85f9-5ced260d0d2e.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/79bc56c5-eae6-4389-9116-4a9e182d6bf3.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/55e4ef75-ba8e-4230-819c-450cf14b08cd.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/cd4cbd7b-df80-45bb-a053-cc333a806934.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/5824ef5f-6776-402c-b78c-ae79cc4cc878.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/sprites/582d36c0-0916-4706-9833-4fbc026701f5.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/804a4b05-1ca3-4915-bf23-a66ccdc34404.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/5a393483-c631-47fd-805c-c460c23b8f9e.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/e5d15c50-45ee-4de9-8b97-4630cbd8f01a.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/5b75cae4-a853-402c-acec-edbfef94342a.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/1a3d18a4-7d91-4182-9e40-e60d73fed365.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/5c9ae62c-488f-4109-a4d2-d2385c32043d.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/7344e180-251b-465a-a8cf-974477f7ad44.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/5cdd71be-c8cd-4310-b6f4-5e97ddbeb46e.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/67a81c23-4ce4-45e3-bfa8-1136fb14b831.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/5d5cb13b-c1fd-4808-b352-b21291a9ff0b.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/4e21f02d-d5e1-49eb-946a-8edc74d0f1f7.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/5d6c4462-3d7c-42eb-ab3e-195ebf845a09.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/d7f604a6-c663-44db-b1d3-c9792eb3daa4.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/5d94e628-82ff-4531-b70a-b13297491bea.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/74521b6f-de5e-4ba8-a3c9-c6ba01070498.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/5dc2dca3-48bd-4eee-af89-1a1d30593bd5.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/sprites/5ebcde3b-f0fd-4e5d-b3de-ada8f0b5e03b.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/b604e25d-680a-4e02-a012-2e593b5bc276.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/5f0c2a57-efd0-4094-9f71-6f6fe97316f6.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/fd610de1-b023-4747-8c1b-72f89b1c5647.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/610348f2-6262-4cd1-8fc3-e7470f85580c.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/5be4f6c7-2baa-42f3-a5a5-99ca0830cc30.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/613e9b10-b2eb-44ea-b6d9-9310c0e1bdcf.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/72c1804f-db8c-40fa-bc79-6533f2861a5d.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/618b21ad-ab8b-436a-8eb8-bd320a198c9f.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/572077d4-7ee2-449a-b4f0-66239b0d7aff.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/61a09df6-7443-436c-9ef0-1d5a1cae1509.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/321b54c8-c69b-4437-931d-655882dabeed.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/64be274e-e8ad-4938-84c1-5d8aabcd10d8.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/22ee3f1b-ddcb-48bf-85dd-8423f85e3199.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/671b4a55-023a-434d-b29a-e844fe528e6b.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/sprites/6720b6e8-ae80-4cc0-a885-518efe12b707.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/sprites/6b58d90d-2e5e-4b7f-bc01-941f2633de89.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/668002b6-805b-467b-a703-203fb75444f4.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/6e5e9cf9-80b0-4241-a222-ff50dbd89a0c.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/4bd66b38-78d3-4a27-816b-d315039a8bb6.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/6ef59649-bbb3-42b6-a6b0-eac4f35a3da4.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/sprites/74ff07b3-d91c-4579-80cd-379ed7020622.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/7b3c6860-fbbe-48aa-aadf-8062fa88f1fe.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/75a2093d-8743-427e-8d24-ae9a69fa14c1.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/371a3192-101c-45ef-9da4-2ed389770c0f.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/76bde19a-4b1b-4e52-86d9-f56be7529c71.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/ef39804e-8d2d-40f6-8d13-bd2877d1353a.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/77d06f4d-8214-4306-9dc5-035c720f7256.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/24cd42fd-bb3b-4fc6-b40d-d3e3e36fe9f1.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/78b642d3-9a2c-4c17-8872-3cc78211f4a0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/sprites/79abd239-5eed-4195-9fa8-d729daa874ca.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/0bab7080-9a37-4c27-9821-8df36d49b678.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/7a9d1c39-b306-4cb0-be2f-7a5963099949.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/b1d1dfab-51f5-4ae9-b718-cdf46774c0ff.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/7ddda828-c8b0-4331-864f-99b85b7c5557.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/5edef075-4843-4dc9-840f-ae445cbe0730.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/81399fd9-f254-4d0e-9775-ad451c237a4e.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/705d9ecf-faf8-40f4-b701-637cec822c1e.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/81526e97-1b8d-433f-a5c9-907e4e8c85cd.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/ecd44a4a-e1ca-4a86-ae0d-2306a672613f.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/818e2370-8fb9-4e6c-ab78-58e86d6525b5.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/sprites/835489e2-b29b-426c-b4c9-3bb9f8eb6195.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/sprites/83d0a033-466c-463a-bb8c-be0f2953e9b2.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/sprites/8424ecdd-8857-4764-9fd0-d4bfa440c128.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/4f58031c-36b9-4baf-bccf-11c05d83bd19.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/8431cc52-0041-4425-808c-dcd4d196506c.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/13535ecd-bdf5-4ff7-aa2c-6ecb20fe9c06.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/85a49ff3-6075-4797-8b7f-35851a843698.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/d22ca9e0-001d-43d6-a557-1c76c5a27c81.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/86062e91-d6c1-44cf-9f8c-26a8b9dd8686.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/0bbfb5b0-f0f7-4ad9-86f7-a2adb01a6371.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/860c3d98-e263-482f-95fb-4fc9c472e8b8.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/ed5d2bf3-405c-4165-88d0-9f8a4be968c6.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/8669ce44-dec7-47c2-aafd-3f2fbfd1d083.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/sprites/868b97a9-492e-4712-b47f-82b97495b019.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/f0786a26-81b5-4e76-b577-db70ab3fab50.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/86b15801-c932-4034-bed8-fd76b0f65916.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/80fb515c-4323-422d-a24c-80a3bf702f1d.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/893b015d-6894-4e74-880e-d22859a25662.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/fdfecda8-2fe0-487e-b5fe-6358274bb9ff.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/8c0fa5fa-cebb-4ae7-bd1c-b542c9cbf694.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/sprites/8c179a21-be6f-4db8-a9b0-9afeb5c36b1c.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/sprites/8ded6c98-85ea-4858-a66d-4fc8caecb7c5.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/73af305f-840f-4325-abae-b3519fba672a.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/913a1d17-54fe-4c8f-ac50-ef7f39600b86.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/sprites/9340b854-025c-40da-9387-385d38433bef.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/c2667677-cbff-4dd4-a401-e0963e7224f4.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/964c6b90-f526-4199-9523-d8124373a56b.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/db94ffb7-a09d-4a51-b420-b930851c9db4.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/97c281a9-ebb0-4f54-b644-b7ed7dd65f81.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/48c257f8-3583-49f7-b01a-ba7d251086ac.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/998fc84a-af71-4fa5-8aa4-e0bfeb9c53ea.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/469006bc-a011-46e4-bcde-992be888456e.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/9cbf7f6e-fe77-463b-9c60-495dc823510a.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/4d6c198a-0e34-4c80-86d1-7789b2082d64.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/9ce7d48e-295d-47b2-96eb-f3ce697c1b37.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/a3c12040-2b11-4038-b830-215fb7b6f359.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/9dcca89b-c92b-4708-8f19-facd40d09a65.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/fbd816df-7ae6-40a4-b4d4-5708f5ba4a7c.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/9e369992-ea8c-4c15-88d3-1344319978b0.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/54bb5fcf-be61-4af8-bb19-a3c5113cf9e1.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/9f9003ba-468f-406f-a82f-1b7a23ef347c.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/sprites/9fd0753f-c607-4d49-82d1-40bda27e014f.png +0 -0
- {ksaa-2025.6.8.0/kotonebot/kaa/resources → ksaa-2025.6.28.0/kotonebot/kaa/sprites}/__init__.py +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/sprites/a1df3af1-a3e7-4521-a085-e4dc3cd1cc57.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/309105d4-073a-47c9-8c5c-d593aa497723.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/a2bf4e11-fbc3-4172-bc0b-b16f8f59e68c.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/sprites/a48324ae-7c1a-489e-b3c4-93d12267f88d.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/111a03e6-e401-4ad5-b5dc-d5124e8f1ab0.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/a546e254-0490-43df-a291-a9a5c2b4c34a.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/sprites/a7f5abf1-982f-4a55-8d41-3ad6f56798e0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/sprites/a9fcaf04-0c1f-4b0f-bb5b-ede9da96180f.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/7736a171-9221-4cda-8288-908997abeff2.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/aacd229c-d307-4a20-a388-84d8f4afb4a5.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/sprites/adc533a7-970b-4c5b-a037-2181531a35d6.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/sprites/afa06fdc-a345-4384-b25d-b16540830256.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/1bfce48a-b151-406e-a6f5-863cb68cbbf2.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/b003bef5-53db-4032-b1bd-d5075de365a8.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/sprites/b0283997-7931-476d-a92f-d7569f6ea34c.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/sprites/b2af59e9-60e3-4d97-8c72-c7ba092113a3.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/sprites/b2e1bf3c-2c36-4fb5-9db7-c10a29563a37.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/sprites/b62bf889-da3c-495a-8707-f3bde73efe92.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/b2f7a430-5777-4861-8435-5419394e5ee8.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/b641a122-4734-43e1-b22f-468464a0cff1.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/sprites/b6b94f21-ef4b-4425-9c7e-ca2b574b0add.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/sprites/bab6c393-692c-4681-ac0d-76c0d9dabea6.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/sprites/bc7155ac-18c9-4335-9ec2-c8762d37a057.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/a82e06fb-a02e-4be5-a7b4-4d2758914fcf.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/bc7303f3-43e9-4ece-9206-5f9c779b813b.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/f74fc514-61f1-4068-bdf4-754fcaf8ac89.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/bd7a6754-fffc-4315-987f-5ba32d95b697.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/c7aa3f89-8a5e-4685-9297-4fc892bfdd81.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/c39f2006-442b-4ab7-99bb-3dfa0673f05d.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/sprites/c3f536d6-a04a-4651-b3f9-dd2c22593f7f.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/sprites/c5b7d67e-7260-4f08-a0e9-4d31ce9bbecf.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/6bf5556a-8f4e-41d7-8ab5-d683ad1b47a8.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/c70f4634-6821-4480-a615-b5f9cdc578c1.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/89c0e675-3fd4-456a-8ae7-3bfb248b7281.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/c774098e-d782-455c-80a9-5bad3713129d.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/sprites/c78c38cc-7b61-4dc4-820d-0a5b684ef52e.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/09433024-3dfe-4fcb-9d67-cf442b58f31b.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/c7e3736a-0e0f-474a-9386-f58292a45b92.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/48d2f007-8c1b-43fc-bd3f-f0b10d2a0c88.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/c90b582c-8570-48b4-98c0-62d5b067ca2c.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/sprites/c948f136-416f-447e-8152-54a1cd1d1329.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/sprites/c954e153-d3e9-4488-869f-d00cfdfac5ee.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/9bb1a400-935a-4c5e-838b-fca502c49aba.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/c9d3699b-c8b1-4294-9b48-103df4ab6c65.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/sprites/cbf4ce9c-f8d8-4fb7-a197-15bb9847df04.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/sprites/cc8a495d-330d-447d-8a80-a8a6ecc409c5.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/157dd58d-e319-4e0c-a37a-638e1a31c60b.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/cc9483c3-c895-4dcc-b3f2-0934ba1ad42e.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/sprites/ccbcb114-7f73-43d1-904a-3a7ae660c531.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/sprites/ce1d1d6f-38f2-48bf-98bd-6e091c7ca5b8.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/43d65b3f-bbae-4e29-a7bf-539379c1b072.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/cec49286-3d48-4fe0-8911-6a1b17d1ac20.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/56a8c0ca-4659-4de2-9bce-55ce86a40d75.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/cef78712-d9ae-4d6e-8d7d-d047d48fbb98.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/sprites/cfc9c8e8-cbe1-49f0-9afa-ead7f9455a2e.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/12e8d3f1-494a-46f5-908f-f621a0c57ec6.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/d06fd859-4678-4593-b096-c86b38810cb7.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/sprites/d15959bf-d07b-4f07-948a-c0aeaf17756a.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/ba955365-1328-4018-83a2-bfe818f8f172.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/d19c37ff-d5c1-4316-8424-e69ccb5c2523.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/695f8d57-b2c9-4a6d-9ae9-1b49ee3eb22a.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/d26b60f7-d15c-4563-bedc-dd6e7e4078b2.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/910d307b-6461-4950-badb-509975d0b797.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/d26bf52c-cb1b-4ebf-9c03-ff3f2d245959.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/sprites/d271a24f-efe8-424d-8fd5-f6b3756ba4ca.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/sprites/d3cc3323-51af-4882-ae12-49e7384b746d.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/7e8164f6-a9e4-4600-b776-77b35a490933.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/d5fd6c73-4ad8-47b5-89be-c7b137a9950f.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/05bfd235-2077-479a-8c43-11fb49316000.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/d696062b-9b58-4af1-835e-2cf5a0a0fbeb.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/sprites/d6b64759-26b7-45b1-bf8e-5c0d98611e0d.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/sprites/d7667903-7149-4f2f-9c15-d8a4b5f4d347.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/sprites/d83f338d-dde3-494b-9bea-cae511e3517c.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/sprites/d982d2b5-4bc0-4ae9-a516-f29c2848d64b.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/sprites/da439e8c-3b74-4371-9657-0736d826c7d1.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/03458cf9-8ab0-4908-9a56-9c5c7e06bc9b.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/da7a329e-339e-4ee7-8775-bca505a1980d.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/sprites/daf3d823-b7f1-4584-acf3-90b9d880332c.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/sprites/db7d3f03-1f7f-43bf-8125-f7c2d345fca2.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/sprites/de325534-3fd3-480a-9eb8-eb47960a753a.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/2f81e70a-f2af-420f-9b6b-6338c391911f.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/dedb8499-5881-4add-914f-ff0049285dae.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/b3d1f8d4-1393-4206-b78e-a5495d8fb930.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/dedea21b-f21d-4621-a213-70ad03faec58.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/sprites/df991b42-ed8e-4f2c-bf0c-aa7522f147b6.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/f65a4495-f044-44de-bf0d-c869e637d5d3.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/dff74cce-ba2d-44aa-b924-183259080a32.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/b3e72de2-e103-49a3-b0f2-8593cff87c4e.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/e0246b0d-f0cf-49d4-8423-7da46e75a575.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/624555b9-31e3-46a3-8078-55619eaa40b9.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/e1b6b32b-c797-4f1d-aa2b-e7320083a9a6.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/90a9c819-ee6b-4b3e-a0e4-ce484c6e413d.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/e23e3f19-03f6-4507-9128-115191272b90.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/cc829886-23e8-4d47-b4c4-37ca20381180.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/e2eb3bae-6451-40b9-bbff-90f11dca1904.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/sprites/e4683def-8d1d-472b-a5ab-bb3885c0c98e.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/6a7d061e-682b-42c1-97d5-121c52921e8b.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/e46e1b6d-6702-46bf-a07e-aec8d183453f.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/de709296-e411-465f-86fc-5daf5ca83cef.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/e5297036-9934-44a4-a761-a6a49ae06e3e.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/sprites/e5e84f9e-28da-4cf4-bcba-c9145fe39b07.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/52620946-b92c-42c7-9fcc-0ff13388fd0d.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/e7da5988-0e83-44ad-888b-246365473f9e.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/sprites/e88c9ad1-ec37-4fcd-b086-862e1e7ce8fd.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/sprites/e9ee330d-dfca-440e-8b8c-0a3b4e8c8730.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/sprites/ea1ba124-9cb3-4427-969a-bacd47e7d920.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/sprites/eaba6ebe-f0df-4918-aee5-ef4e3ffedcf0.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/05f8f996-a38a-45d9-8ff9-720b6c4fd599.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/eb8d208a-dbcc-43ca-a8ac-098e1005ebfa.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/8e8a0b57-0231-4ed6-958e-3196f7c9ca7b.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/ebe4ce64-98a9-40f2-9fde-3d5cdae673c7.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/sprites/ee4e512b-4982-49b6-9c71-31984b58e1d0.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/sprites/eef25cf9-afd0-43b1-b9c5-fbd997bd5fe0.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/4a235eaa-46f1-4f71-b54d-ada0ade44572.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/ef2ad3df-3f89-4a48-8fc3-c70a8adc1044.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/f8cbb089-a63e-4e40-9238-26d14da2c459.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/f05e410d-15b8-4831-bcc1-4cd8af07c882.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/sprites/f1f21925-3e22-4dd1-b53b-bb52bcf26c2b.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/550fc45d-22c0-4a7c-a324-2c4ff107ab39.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/f1fac13a-84f3-42bd-9b52-e0ba90bc5255.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/sprites/f43c313b-8a7b-467b-8442-fc5bcb8b4388.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/sprites/f6ca6bd3-543f-4779-8367-c5c883f04b95.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/ad784a29-f0e2-4037-976b-45143db8441c.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/f7c34ab6-c165-48b7-ad5a-0b60613ce1bc.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/0439399f-5fca-43f9-a105-99342ff04d2e.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/fa80b14e-953f-44bd-a4ad-99aefd276fd7.png +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/sprites/fad5eec2-5fd5-412f-9abb-987a3087dc54.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/7cea265a-fca5-43d0-b2da-067c8fff4d72.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/fe35655e-701b-4081-8df8-c17a7252acef.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/da3e7cee-d77b-4e62-b703-ed257706dd39.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/fe853ac7-934e-4b4a-bcc7-b986e057dfcf.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/1f8f8c46-43ec-4449-be9f-2e96da11da1e.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/ffda716c-2903-4ec7-8c59-aab5b8ad10bb.png +0 -0
- /ksaa-2025.6.8.0/kotonebot/kaa/sprites/4c72f39e-1182-4479-867f-8207744ee4fd.png → /ksaa-2025.6.28.0/kotonebot/kaa/sprites/fff33200-c947-49f2-ab86-3ac98937fa36.png +0 -0
- {ksaa-2025.6.8.0/kotonebot/kaa/sprites → ksaa-2025.6.28.0/kotonebot/kaa/tasks}/__init__.py +0 -0
- {ksaa-2025.6.8.0/kotonebot/kaa/tasks → ksaa-2025.6.28.0/kotonebot/kaa/tasks/actions}/__init__.py +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/tasks/actions/commu.py +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/tasks/actions/loading.py +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/tasks/actions/scenes.py +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/tasks/actions/stats.py +0 -0
- {ksaa-2025.6.8.0/kotonebot/kaa/tasks/actions → ksaa-2025.6.28.0/kotonebot/kaa/tasks/daily}/__init__.py +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/tasks/daily/acquire_activity_funds.py +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/tasks/daily/acquire_presents.py +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/tasks/daily/assignment.py +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/tasks/daily/capsule_toys.py +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/tasks/daily/club_reward.py +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/tasks/daily/contest.py +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/tasks/daily/mission_reward.py +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/tasks/daily/purchase.py +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/tasks/daily/upgrade_support_card.py +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/tasks/end_game.py +0 -0
- {ksaa-2025.6.8.0/kotonebot/kaa/tasks/daily → ksaa-2025.6.28.0/kotonebot/kaa/tasks/produce}/__init__.py +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/tasks/produce/cards.py +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/tasks/produce/common.py +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/tasks/produce/p_drink.py +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/kaa/util/trace.py +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/logging/__init__.py +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/logging/log.py +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/primitives/__init__.py +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/primitives/geometry.py +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/primitives/visual.py +0 -0
- {ksaa-2025.6.8.0/kotonebot/kaa/tasks/produce → ksaa-2025.6.28.0/kotonebot/tools}/__init__.py +0 -0
- {ksaa-2025.6.8.0/kotonebot/tools → ksaa-2025.6.28.0/kotonebot/ui}/__init__.py +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/ui/file_host/sensio.py +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/ui/file_host/tmp_send.py +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/ui/pushkit/__init__.py +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/ui/pushkit/image_host.py +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/ui/pushkit/protocol.py +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/ui/pushkit/wxpusher.py +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/kotonebot/ui/user.py +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/ksaa.egg-info/dependency_links.txt +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/ksaa.egg-info/entry_points.txt +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/ksaa.egg-info/requires.txt +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/ksaa.egg-info/top_level.txt +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/pyproject.toml +0 -0
- {ksaa-2025.6.8.0 → ksaa-2025.6.28.0}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: ksaa
|
|
3
|
-
Version: 2025.6.
|
|
3
|
+
Version: 2025.6.28.0
|
|
4
4
|
Summary: Kotones Auto Assistant(kaa) is a script for game 'Gakuen Idol M@ster' that automates the dailies and produces.
|
|
5
5
|
Requires-Python: ~=3.10
|
|
6
6
|
Description-Content-Type: text/markdown
|
|
@@ -106,6 +106,9 @@ kaa 的开发主要用到了以下开源项目:
|
|
|
106
106
|
](https://github.com/AllenHeartcore/GkmasObjectManager):用于提取游戏图像资源,以 GPLv3 协议开源。
|
|
107
107
|
* [gakumasu-diff](https://github.com/vertesan/gakumasu-diff):游戏数据。
|
|
108
108
|
|
|
109
|
+
kaa 的开发还参考了以下开源项目:
|
|
110
|
+
* [EmulatorExtras](https://github.com/MaaXYZ/EmulatorExtras):MuMu 与雷电模拟器的截图与控制接口定义。
|
|
111
|
+
* [blue_archive_auto_script](https://github.com/pur1fying/blue_archive_auto_script):MuMu 与雷电模拟器的截图与控制接口的 Python 实现,以及各模拟器的控制实现。
|
|
109
112
|
|
|
110
113
|
## 免责声明
|
|
111
114
|
**请在使用本项目前仔细阅读以下内容。使用本脚本将带来包括但不限于账号被封禁的风险。**
|
|
@@ -76,6 +76,9 @@ kaa 的开发主要用到了以下开源项目:
|
|
|
76
76
|
](https://github.com/AllenHeartcore/GkmasObjectManager):用于提取游戏图像资源,以 GPLv3 协议开源。
|
|
77
77
|
* [gakumasu-diff](https://github.com/vertesan/gakumasu-diff):游戏数据。
|
|
78
78
|
|
|
79
|
+
kaa 的开发还参考了以下开源项目:
|
|
80
|
+
* [EmulatorExtras](https://github.com/MaaXYZ/EmulatorExtras):MuMu 与雷电模拟器的截图与控制接口定义。
|
|
81
|
+
* [blue_archive_auto_script](https://github.com/pur1fying/blue_archive_auto_script):MuMu 与雷电模拟器的截图与控制接口的 Python 实现,以及各模拟器的控制实现。
|
|
79
82
|
|
|
80
83
|
## 免责声明
|
|
81
84
|
**请在使用本项目前仔细阅读以下内容。使用本脚本将带来包括但不限于账号被封禁的风险。**
|
|
@@ -1,5 +1,52 @@
|
|
|
1
1
|
# 更新日志
|
|
2
2
|
## kaa
|
|
3
|
+
### v2025.6.28.0
|
|
4
|
+
脚本:
|
|
5
|
+
* [修复] 修正 debug_entry 脚本路径处理逻辑(#b53a055)
|
|
6
|
+
* [修复] 修复清理日志功能失效的问题(#ad5c7b7)
|
|
7
|
+
* [修复] 修复 debug_entry 执行的脚本没有正确输出日志的问题(#3ceae4c)
|
|
8
|
+
|
|
9
|
+
界面:
|
|
10
|
+
* [新增] 优化日志导出功能(#9574d20)
|
|
11
|
+
* [新增] 为 UI 增加部分配置有效性验证(#08a7e71)
|
|
12
|
+
* [新增] 加入调试模式警告提示(#a01c37d)
|
|
13
|
+
* [新增] 画面 Tab 刷新机制由自动改为手动(#2469fc0)
|
|
14
|
+
* [新增] MuMu12 保活模式可选开启(#71170e5)
|
|
15
|
+
|
|
16
|
+
框架:
|
|
17
|
+
* [修复] 修复 Device 中缩放与截图 Hook 的处理顺序不正确问题
|
|
18
|
+
* [修复] 修复 NemuIpc 在多显示器下的坐标系问题(#87da282)
|
|
19
|
+
* [修复] 修复当目标分辨率与实际分辨率旋转不同时截图会强制拉伸的问题(#e62e65d)
|
|
20
|
+
* [修复] 缩放处理支持自动识别旋转(#677932a)
|
|
21
|
+
* [修复] 修复 NemuIpc 截图无法响应屏幕旋转导致的分辨率变化(#105a894)
|
|
22
|
+
* [新增] NemuIpcImpl 获取显示器 ID 支持自动重试(#0c94acf)
|
|
23
|
+
* [新增] 支持 MuMu12 后台保活模式(#e232826)
|
|
24
|
+
* [新增] 引入 Nemu 截图与控制方式(#f0b9181)
|
|
25
|
+
* [新增] 移除 WindowsImpl 中的分辨率缩放(#415a8df)
|
|
26
|
+
* [新增] 支持等比例分辨率缩放(#bb7f603)
|
|
27
|
+
* [重构] 组装 Device 改用 recipe 方案(#f01e022)
|
|
28
|
+
* [重构] 将传递的 MuMu 路径从 shell 目录改为 MuMu 根目录(#784b8ed)
|
|
29
|
+
|
|
30
|
+
其他:
|
|
31
|
+
* [其他] HsvRangeTool 支持从剪贴板粘贴图片(#1397587)
|
|
32
|
+
* [其他] VSCode 新增不初始化 context 的启动配置(#0718678)
|
|
33
|
+
* [其他] 调整部分日志输出格式(#bcd8cf2)
|
|
34
|
+
|
|
35
|
+
### v2025.6.23.0
|
|
36
|
+
脚本:
|
|
37
|
+
* [新增] 优化了培育开始的逻辑,修复若干 bug(#86313ec)
|
|
38
|
+
|
|
39
|
+
框架:
|
|
40
|
+
* [修复] 修复由于分离 AndroidDevice 方法导致的 typing 问题(#4d76e1a)
|
|
41
|
+
* [重构] 将 Commandable 分离为 WindowsCommandable 与 AndroidCommandable(#16a267d)
|
|
42
|
+
* [重构] 将启动 remote_server 的逻辑移动到 kaa cli 中(#b8b5ba8)
|
|
43
|
+
* [重构] 提取三个 adb-based 截图方法的工厂函数的共同部分(#bd57dc4)
|
|
44
|
+
* [重构] 将创建设备的逻辑从 init_context 中移除(#f2599e6)
|
|
45
|
+
* [重构] 重构 Device 与 Impl 的创建方式(#2fc9ad5)
|
|
46
|
+
|
|
47
|
+
其他:
|
|
48
|
+
* [其他] 更新上游 submodules(#810c341)
|
|
49
|
+
|
|
3
50
|
### v2025.6.8.0
|
|
4
51
|
脚本:
|
|
5
52
|
* [新增] 新增支持自动禁用与恢复 Gakumasu Localify 汉化插件(#264dac2)
|
|
@@ -25,7 +25,7 @@ from typing_extensions import deprecated
|
|
|
25
25
|
import cv2
|
|
26
26
|
from cv2.typing import MatLike
|
|
27
27
|
|
|
28
|
-
from kotonebot.client.device import Device
|
|
28
|
+
from kotonebot.client.device import Device, AndroidDevice, WindowsDevice
|
|
29
29
|
from kotonebot.backend.flow_controller import FlowController
|
|
30
30
|
import kotonebot.backend.image as raw_image
|
|
31
31
|
from kotonebot.backend.image import (
|
|
@@ -46,12 +46,10 @@ from kotonebot.backend.color import (
|
|
|
46
46
|
from kotonebot.backend.ocr import (
|
|
47
47
|
Ocr, OcrResult, OcrResultList, jp, en, StringMatchFunction
|
|
48
48
|
)
|
|
49
|
-
from kotonebot.client.factory import create_device
|
|
50
49
|
from kotonebot.config.manager import load_config, save_config
|
|
51
50
|
from kotonebot.config.base_config import UserConfig
|
|
52
51
|
from kotonebot.backend.core import Image, HintBox
|
|
53
52
|
from kotonebot.errors import KotonebotWarning
|
|
54
|
-
from kotonebot.client.factory import DeviceImpl
|
|
55
53
|
from kotonebot.backend.preprocessor import PreprocessorProtocol
|
|
56
54
|
from kotonebot.primitives import Rect
|
|
57
55
|
|
|
@@ -717,9 +715,10 @@ class Forwarded:
|
|
|
717
715
|
raise ValueError(f"Forwarded object {self._FORWARD_name} called before initialization.")
|
|
718
716
|
setattr(self._FORWARD_getter(), name, value)
|
|
719
717
|
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
718
|
+
|
|
719
|
+
T_Device = TypeVar('T_Device', bound=Device)
|
|
720
|
+
class ContextDevice(Generic[T_Device], Device):
|
|
721
|
+
def __init__(self, device: T_Device):
|
|
723
722
|
self._device = device
|
|
724
723
|
|
|
725
724
|
def screenshot(self, *, force: bool = False):
|
|
@@ -746,26 +745,42 @@ class ContextDevice(Device):
|
|
|
746
745
|
current._screenshot = img
|
|
747
746
|
return img
|
|
748
747
|
|
|
749
|
-
def __getattribute__(self, name: str)
|
|
750
|
-
if name in ['_device', 'screenshot']:
|
|
748
|
+
def __getattribute__(self, name: str):
|
|
749
|
+
if name in ['_device', 'screenshot', 'of_android', 'of_windows']:
|
|
751
750
|
return object.__getattribute__(self, name)
|
|
752
751
|
else:
|
|
753
752
|
return getattr(self._device, name)
|
|
754
753
|
|
|
755
754
|
def __setattr__(self, name: str, value: Any):
|
|
756
|
-
if name in ['_device', 'screenshot']:
|
|
755
|
+
if name in ['_device', 'screenshot', 'of_android', 'of_windows']:
|
|
757
756
|
return object.__setattr__(self, name, value)
|
|
758
757
|
else:
|
|
759
758
|
return setattr(self._device, name, value)
|
|
760
759
|
|
|
760
|
+
def of_android(self) -> 'ContextDevice | AndroidDevice':
|
|
761
|
+
"""
|
|
762
|
+
确保此 ContextDevice 底层为 Android 平台。
|
|
763
|
+
同时通过返回的对象可以调用 Android 平台特有的方法。
|
|
764
|
+
"""
|
|
765
|
+
if not isinstance(self._device, AndroidDevice):
|
|
766
|
+
raise ValueError("Device is not AndroidDevice")
|
|
767
|
+
return self
|
|
768
|
+
|
|
769
|
+
def of_windows(self) -> 'ContextDevice | WindowsDevice':
|
|
770
|
+
"""
|
|
771
|
+
确保此 ContextDevice 底层为 Windows 平台。
|
|
772
|
+
同时通过返回的对象可以调用 Windows 平台特有的方法。
|
|
773
|
+
"""
|
|
774
|
+
if not isinstance(self._device, WindowsDevice):
|
|
775
|
+
raise ValueError("Device is not WindowsDevice")
|
|
776
|
+
return self
|
|
761
777
|
|
|
762
778
|
class Context(Generic[T]):
|
|
763
779
|
def __init__(
|
|
764
780
|
self,
|
|
765
781
|
config_path: str,
|
|
766
782
|
config_type: Type[T],
|
|
767
|
-
|
|
768
|
-
device: Optional[Device] = None
|
|
783
|
+
device: Device
|
|
769
784
|
):
|
|
770
785
|
self.__ocr = ContextOcr(self)
|
|
771
786
|
self.__image = ContextImage(self)
|
|
@@ -773,14 +788,7 @@ class Context(Generic[T]):
|
|
|
773
788
|
self.__vars = ContextGlobalVars()
|
|
774
789
|
self.__debug = ContextDebug(self)
|
|
775
790
|
self.__config = ContextConfig[T](self, config_path, config_type)
|
|
776
|
-
|
|
777
|
-
ip = self.config.current.backend.adb_ip
|
|
778
|
-
port = self.config.current.backend.adb_port
|
|
779
|
-
# TODO: 处理链接失败情况
|
|
780
|
-
if screenshot_impl is None:
|
|
781
|
-
screenshot_impl = self.config.current.backend.screenshot_impl
|
|
782
|
-
logger.info(f'Using "{screenshot_impl}" as screenshot implementation')
|
|
783
|
-
self.__device = ContextDevice(device or create_device(f'{ip}:{port}', screenshot_impl))
|
|
791
|
+
self.__device = ContextDevice(device)
|
|
784
792
|
|
|
785
793
|
def inject(
|
|
786
794
|
self,
|
|
@@ -891,8 +899,7 @@ def init_context(
|
|
|
891
899
|
config_path: str = 'config.json',
|
|
892
900
|
config_type: Type[T] = dict[str, Any],
|
|
893
901
|
force: bool = False,
|
|
894
|
-
|
|
895
|
-
target_device: Device | None = None,
|
|
902
|
+
target_device: Device,
|
|
896
903
|
):
|
|
897
904
|
"""
|
|
898
905
|
初始化 Context 模块。
|
|
@@ -903,8 +910,6 @@ def init_context(
|
|
|
903
910
|
默认为 `dict[str, Any]`,即普通的 JSON 数据,不包含任何类型信息。
|
|
904
911
|
:param force: 是否强制重新初始化。
|
|
905
912
|
若为 `True`,则忽略已存在的 Context 实例,并重新创建一个新的实例。
|
|
906
|
-
:param screenshot_impl: 截图实现。
|
|
907
|
-
若为 `None`,则使用默认配置文件中指定的截图实现。
|
|
908
913
|
:param target_device: 目标设备
|
|
909
914
|
"""
|
|
910
915
|
global _c, device, ocr, image, color, vars, debug, config
|
|
@@ -913,8 +918,7 @@ def init_context(
|
|
|
913
918
|
_c = Context(
|
|
914
919
|
config_path=config_path,
|
|
915
920
|
config_type=config_type,
|
|
916
|
-
|
|
917
|
-
device=target_device
|
|
921
|
+
device=target_device,
|
|
918
922
|
)
|
|
919
923
|
device._FORWARD_getter = lambda: _c.device # type: ignore
|
|
920
924
|
ocr._FORWARD_getter = lambda: _c.ocr # type: ignore
|
|
@@ -216,8 +216,6 @@ def wait_message_all_done():
|
|
|
216
216
|
threading.Thread(target=_wait, daemon=True).start()
|
|
217
217
|
|
|
218
218
|
if __name__ == "__main__":
|
|
219
|
-
from kotonebot.backend.context import init_context
|
|
220
|
-
init_context()
|
|
221
219
|
debug_vars.debug.hide_server_log = False
|
|
222
220
|
process = subprocess.Popen(["pylsp", "--port", "5479", "--ws"])
|
|
223
221
|
print("LSP started. PID=", process.pid)
|
|
@@ -328,20 +328,4 @@ class SimpleDispatcher:
|
|
|
328
328
|
self.result = self.timeout_result
|
|
329
329
|
break
|
|
330
330
|
device.screenshot()
|
|
331
|
-
return self.result
|
|
332
|
-
|
|
333
|
-
if __name__ == '__main__':
|
|
334
|
-
from .context.task_action import action
|
|
335
|
-
from .context import init_context
|
|
336
|
-
init_context()
|
|
337
|
-
@action('inner', dispatcher=True)
|
|
338
|
-
def inner(ctx: DispatcherContext):
|
|
339
|
-
print('inner')
|
|
340
|
-
ctx.finish()
|
|
341
|
-
|
|
342
|
-
@action('test', dispatcher=True)
|
|
343
|
-
def test(ctx: DispatcherContext):
|
|
344
|
-
print('test')
|
|
345
|
-
inner()
|
|
346
|
-
ctx.finish()
|
|
347
|
-
test()
|
|
331
|
+
return self.result
|
|
@@ -0,0 +1,277 @@
|
|
|
1
|
+
import time
|
|
2
|
+
from functools import lru_cache, partial
|
|
3
|
+
from typing import Callable, Any, overload, Literal, Generic, TypeVar, cast, get_args, get_origin
|
|
4
|
+
|
|
5
|
+
from cv2.typing import MatLike
|
|
6
|
+
|
|
7
|
+
from kotonebot.util import Interval
|
|
8
|
+
from kotonebot import device, image, ocr
|
|
9
|
+
from kotonebot.backend.core import Image
|
|
10
|
+
from kotonebot.backend.ocr import TextComparator
|
|
11
|
+
from kotonebot.client.protocol import ClickableObjectProtocol
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class LoopAction:
|
|
15
|
+
def __init__(self, loop: 'Loop', func: Callable[[], ClickableObjectProtocol | None]):
|
|
16
|
+
self.loop = loop
|
|
17
|
+
self.func = func
|
|
18
|
+
self.result: ClickableObjectProtocol | None = None
|
|
19
|
+
|
|
20
|
+
@property
|
|
21
|
+
def found(self):
|
|
22
|
+
"""
|
|
23
|
+
是否找到结果。若父 Loop 未在运行中,则返回 False。
|
|
24
|
+
"""
|
|
25
|
+
if not self.loop.running:
|
|
26
|
+
return False
|
|
27
|
+
return bool(self.result)
|
|
28
|
+
|
|
29
|
+
def __bool__(self):
|
|
30
|
+
return self.found
|
|
31
|
+
|
|
32
|
+
def reset(self):
|
|
33
|
+
"""
|
|
34
|
+
重置 LoopAction,以复用此对象。
|
|
35
|
+
"""
|
|
36
|
+
self.result = None
|
|
37
|
+
|
|
38
|
+
def do(self):
|
|
39
|
+
"""
|
|
40
|
+
执行 LoopAction。
|
|
41
|
+
:return: 执行结果。
|
|
42
|
+
"""
|
|
43
|
+
if not self.loop.running:
|
|
44
|
+
return
|
|
45
|
+
if self.loop.found_anything:
|
|
46
|
+
# 本轮循环已执行任意操作,因此不需要再继续检测
|
|
47
|
+
return
|
|
48
|
+
self.result = self.func()
|
|
49
|
+
if self.result:
|
|
50
|
+
self.loop.found_anything = True
|
|
51
|
+
|
|
52
|
+
def click(self, *, at: tuple[int, int] | None = None):
|
|
53
|
+
"""
|
|
54
|
+
点击寻找结果。若结果为空,会跳过执行。
|
|
55
|
+
|
|
56
|
+
:return:
|
|
57
|
+
"""
|
|
58
|
+
if self.result:
|
|
59
|
+
if at is not None:
|
|
60
|
+
device.click(*at)
|
|
61
|
+
else:
|
|
62
|
+
device.click(self.result)
|
|
63
|
+
|
|
64
|
+
def call(self, func: Callable[[ClickableObjectProtocol], Any]):
|
|
65
|
+
pass
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
class Loop:
|
|
69
|
+
def __init__(
|
|
70
|
+
self,
|
|
71
|
+
*,
|
|
72
|
+
timeout: float = 300,
|
|
73
|
+
interval: float = 0.3,
|
|
74
|
+
auto_screenshot: bool = True
|
|
75
|
+
):
|
|
76
|
+
self.running = True
|
|
77
|
+
self.found_anything = False
|
|
78
|
+
self.auto_screenshot = auto_screenshot
|
|
79
|
+
"""
|
|
80
|
+
是否在每次循环开始时(Loop.tick() 被调用时)截图。
|
|
81
|
+
"""
|
|
82
|
+
self.__last_loop: float = -1
|
|
83
|
+
self.__interval = Interval(interval)
|
|
84
|
+
self.screenshot: MatLike | None = None
|
|
85
|
+
"""上次截图时的图像数据。"""
|
|
86
|
+
|
|
87
|
+
def __iter__(self):
|
|
88
|
+
self.__interval.reset()
|
|
89
|
+
return self
|
|
90
|
+
|
|
91
|
+
def __next__(self):
|
|
92
|
+
if not self.running:
|
|
93
|
+
raise StopIteration
|
|
94
|
+
self.found_anything = False
|
|
95
|
+
self.__last_loop = time.time()
|
|
96
|
+
return self.tick()
|
|
97
|
+
|
|
98
|
+
def tick(self):
|
|
99
|
+
self.__interval.wait()
|
|
100
|
+
if self.auto_screenshot:
|
|
101
|
+
self.screenshot = device.screenshot()
|
|
102
|
+
self.__last_loop = time.time()
|
|
103
|
+
self.found_anything = False
|
|
104
|
+
return self
|
|
105
|
+
|
|
106
|
+
def exit(self):
|
|
107
|
+
"""
|
|
108
|
+
结束循环。
|
|
109
|
+
"""
|
|
110
|
+
self.running = False
|
|
111
|
+
|
|
112
|
+
@overload
|
|
113
|
+
def when(self, condition: Image) -> LoopAction:
|
|
114
|
+
...
|
|
115
|
+
|
|
116
|
+
@overload
|
|
117
|
+
def when(self, condition: TextComparator) -> LoopAction:
|
|
118
|
+
...
|
|
119
|
+
|
|
120
|
+
def when(self, condition: Any):
|
|
121
|
+
"""
|
|
122
|
+
判断某个条件是否成立。
|
|
123
|
+
|
|
124
|
+
:param condition:
|
|
125
|
+
:return:
|
|
126
|
+
"""
|
|
127
|
+
if isinstance(condition, Image):
|
|
128
|
+
func = partial(image.find, condition)
|
|
129
|
+
elif isinstance(condition, TextComparator):
|
|
130
|
+
func = partial(ocr.find, condition)
|
|
131
|
+
else:
|
|
132
|
+
raise ValueError('Invalid condition type.')
|
|
133
|
+
la = LoopAction(self, func)
|
|
134
|
+
la.reset()
|
|
135
|
+
la.do()
|
|
136
|
+
return la
|
|
137
|
+
|
|
138
|
+
def until(self, condition: Any):
|
|
139
|
+
"""
|
|
140
|
+
当满足指定条件时,结束循环。
|
|
141
|
+
|
|
142
|
+
等价于 ``loop.when(...).call(lambda _: loop.exit())``
|
|
143
|
+
"""
|
|
144
|
+
return self.when(condition).call(lambda _: self.exit())
|
|
145
|
+
|
|
146
|
+
def click_if(self, condition: Any, *, at: tuple[int, int] | None = None):
|
|
147
|
+
"""
|
|
148
|
+
检测指定对象是否出现,若出现,点击该对象或指定位置。
|
|
149
|
+
|
|
150
|
+
``click_if()`` 等价于 ``loop.when(...).click(...)``。
|
|
151
|
+
|
|
152
|
+
:param condition: 检测目标。
|
|
153
|
+
:param at: 点击位置。若为 None,表示点击找到的目标。
|
|
154
|
+
"""
|
|
155
|
+
return self.when(condition).click(at=at)
|
|
156
|
+
|
|
157
|
+
StateType = TypeVar('StateType')
|
|
158
|
+
class StatedLoop(Loop, Generic[StateType]):
|
|
159
|
+
def __init__(
|
|
160
|
+
self,
|
|
161
|
+
states: list[Any] | None = None,
|
|
162
|
+
initial_state: StateType | None = None,
|
|
163
|
+
*,
|
|
164
|
+
timeout: float = 300,
|
|
165
|
+
interval: float = 0.3,
|
|
166
|
+
auto_screenshot: bool = True
|
|
167
|
+
):
|
|
168
|
+
self.__tmp_states = states
|
|
169
|
+
self.__tmp_initial_state = initial_state
|
|
170
|
+
self.state: StateType
|
|
171
|
+
super().__init__(timeout=timeout, interval=interval, auto_screenshot=auto_screenshot)
|
|
172
|
+
|
|
173
|
+
def __iter__(self):
|
|
174
|
+
# __retrive_state_values() 只能在非 __init__ 中调用
|
|
175
|
+
self.__retrive_state_values()
|
|
176
|
+
return super().__iter__()
|
|
177
|
+
|
|
178
|
+
def __retrive_state_values(self):
|
|
179
|
+
# HACK: __orig_class__ 是 undocumented 属性
|
|
180
|
+
if not hasattr(self, '__orig_class__'):
|
|
181
|
+
# 如果 Foo 不是以参数化泛型的方式实例化的,可能没有 __orig_class__
|
|
182
|
+
if self.state is None:
|
|
183
|
+
raise ValueError('Either specify `states` or use StatedLoop[Literal[...]] syntax.')
|
|
184
|
+
else:
|
|
185
|
+
generic_type_args = get_args(self.__orig_class__) # type: ignore
|
|
186
|
+
if len(generic_type_args) != 1:
|
|
187
|
+
raise ValueError('StatedLoop must have exactly one generic type argument.')
|
|
188
|
+
state_values = get_args(generic_type_args[0])
|
|
189
|
+
if not state_values:
|
|
190
|
+
raise ValueError('StatedLoop must have at least one state value.')
|
|
191
|
+
self.states = cast(tuple[StateType, ...], state_values)
|
|
192
|
+
self.state = self.__tmp_initial_state or self.states[0]
|
|
193
|
+
return state_values
|
|
194
|
+
|
|
195
|
+
|
|
196
|
+
def StatedLoop2(states: StateType) -> StatedLoop[StateType]:
|
|
197
|
+
state_values = get_args(states)
|
|
198
|
+
return cast(StatedLoop[StateType], Loop())
|
|
199
|
+
|
|
200
|
+
if __name__ == '__main__':
|
|
201
|
+
from kotonebot.kaa.tasks import R
|
|
202
|
+
from kotonebot.backend.ocr import contains
|
|
203
|
+
from kotonebot.backend.context import manual_context, init_context
|
|
204
|
+
|
|
205
|
+
# T = TypeVar('T')
|
|
206
|
+
# class Foo(Generic[T]):
|
|
207
|
+
# def get_literal_params(self) -> list | None:
|
|
208
|
+
# """
|
|
209
|
+
# 尝试获取泛型参数 T (如果它是 Literal 类型) 的参数列表。
|
|
210
|
+
# """
|
|
211
|
+
# # self.__orig_class__ 会是 Foo 的具体参数化类型,
|
|
212
|
+
# # 例如 Foo[Literal['p0', 'p1', 'p2', 'p3', 'ap']]
|
|
213
|
+
# if not hasattr(self, '__orig_class__'):
|
|
214
|
+
# # 如果 Foo 不是以参数化泛型的方式实例化的,可能没有 __orig_class__
|
|
215
|
+
# return None
|
|
216
|
+
#
|
|
217
|
+
# # generic_type_args 是传递给 Foo 的类型参数元组
|
|
218
|
+
# # 例如 (Literal['p0', 'p1', 'p2', 'p3', 'ap'],)
|
|
219
|
+
# generic_type_args = get_args(self.__orig_class__)
|
|
220
|
+
#
|
|
221
|
+
# if not generic_type_args:
|
|
222
|
+
# # Foo 没有类型参数
|
|
223
|
+
# return None
|
|
224
|
+
#
|
|
225
|
+
# # T_type 是 Foo 的第一个类型参数
|
|
226
|
+
# # 例如 Literal['p0', 'p1', 'p2', 'p3', 'ap']
|
|
227
|
+
# t_type = generic_type_args[0]
|
|
228
|
+
#
|
|
229
|
+
# # 检查 T_type 是否是 Literal 类型
|
|
230
|
+
# if get_origin(t_type) is Literal:
|
|
231
|
+
# # literal_args 是 Literal 类型的参数元组
|
|
232
|
+
# # 例如 ('p0', 'p1', 'p2', 'p3', 'ap')
|
|
233
|
+
# literal_args = get_args(t_type)
|
|
234
|
+
# return list(literal_args)
|
|
235
|
+
# else:
|
|
236
|
+
# # T 不是 Literal 类型
|
|
237
|
+
# return None
|
|
238
|
+
# f = Foo[Literal['p0', 'p1', 'p2', 'p3', 'ap']]()
|
|
239
|
+
# values = f.get_literal_params()
|
|
240
|
+
# 1
|
|
241
|
+
|
|
242
|
+
from typing_extensions import reveal_type
|
|
243
|
+
slp = StatedLoop[Literal['p0', 'p1', 'p2', 'p3', 'ap']]()
|
|
244
|
+
for l in slp:
|
|
245
|
+
reveal_type(l.states)
|
|
246
|
+
|
|
247
|
+
# init_context()
|
|
248
|
+
# manual_context().begin()
|
|
249
|
+
# for l in Loop():
|
|
250
|
+
# l.when(R.Produce.ButtonUse).click()
|
|
251
|
+
# l.when(R.Produce.ButtonRefillAP).click()
|
|
252
|
+
# l.when(contains("123")).click()
|
|
253
|
+
# l.click_if(contains("!23"), at=(1, 2))
|
|
254
|
+
|
|
255
|
+
# State = Literal['p0', 'p1', 'p2', 'p3', 'ap']
|
|
256
|
+
# for sl in StatedLoop[State]():
|
|
257
|
+
# match sl.state:
|
|
258
|
+
# case 'p0':
|
|
259
|
+
# sl.click_if(R.Produce.ButtonProduce)
|
|
260
|
+
# sl.click_if(contains('master'))
|
|
261
|
+
# sl.when(R.Produce.ButtonPIdolOverview).goto('p1')
|
|
262
|
+
# # AP 不足
|
|
263
|
+
# sl.when(R.Produce.TextAPInsufficient).goto('ap')
|
|
264
|
+
# case 'ap':
|
|
265
|
+
# pass
|
|
266
|
+
# # p1: 选择偶像
|
|
267
|
+
# case 'p1':
|
|
268
|
+
# sl.call(lambda _: select_idol(idol_skin_id), once=True)
|
|
269
|
+
# sl.when(R.Produce.TextAnotherIdolAvailableDialog).call(dialog.no)
|
|
270
|
+
# sl.click_if(R.Common.ButtonNextNoIcon)
|
|
271
|
+
# sl.until(R.Produce.TextStepIndicator2).goto('p2')
|
|
272
|
+
# case 'p2':
|
|
273
|
+
# sl.when(contains("123")).click()
|
|
274
|
+
# case 'p3':
|
|
275
|
+
# sl.click_if(contains("!23"), at=(1, 2))
|
|
276
|
+
# case _:
|
|
277
|
+
# assert_never(sl.state)
|