diff --git a/.DS_Store b/.DS_Store index 342418c..86a291f 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/ArkitDoushiQi/ArkitDoushiQi.xcodeproj/project.pbxproj b/ArkitDoushiQi/ArkitDoushiQi.xcodeproj/project.pbxproj index e76b01e..d8444a1 100644 --- a/ArkitDoushiQi/ArkitDoushiQi.xcodeproj/project.pbxproj +++ b/ArkitDoushiQi/ArkitDoushiQi.xcodeproj/project.pbxproj @@ -20,6 +20,7 @@ C205A2D42BF373380097BD93 /* WtaTennisUITestsLaunchTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = C205A2D32BF373380097BD93 /* WtaTennisUITestsLaunchTests.swift */; }; C24659E52BF5FE09004E80D5 /* MainMenu.swift in Sources */ = {isa = PBXBuildFile; fileRef = C24659E42BF5FE09004E80D5 /* MainMenu.swift */; }; C25220EE2C00AC7E0026B71F /* GameParametersMenuView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C25220ED2C00AC7E0026B71F /* GameParametersMenuView.swift */; }; + C2A535D92C0F56A800503472 /* DSQ.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = C2A535D82C0F56A700503472 /* DSQ.xcframework */; }; C2F015092C09D366000F7221 /* LanguageSettings.swift in Sources */ = {isa = PBXBuildFile; fileRef = C2F015082C09D366000F7221 /* LanguageSettings.swift */; }; C2F0150C2C09D3A4000F7221 /* KeyboardReadable.swift in Sources */ = {isa = PBXBuildFile; fileRef = C2F0150B2C09D3A4000F7221 /* KeyboardReadable.swift */; }; C2F015102C09D3C3000F7221 /* Language.swift in Sources */ = {isa = PBXBuildFile; fileRef = C2F0150E2C09D3C3000F7221 /* Language.swift */; }; @@ -73,6 +74,7 @@ C205A2D32BF373380097BD93 /* WtaTennisUITestsLaunchTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WtaTennisUITestsLaunchTests.swift; sourceTree = ""; }; C24659E42BF5FE09004E80D5 /* MainMenu.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainMenu.swift; sourceTree = ""; }; C25220ED2C00AC7E0026B71F /* GameParametersMenuView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GameParametersMenuView.swift; sourceTree = ""; }; + C2A535D82C0F56A700503472 /* DSQ.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = DSQ.xcframework; path = ../NEPASTOUCHER/DSQ.xcframework; sourceTree = ""; }; C2F015082C09D366000F7221 /* LanguageSettings.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LanguageSettings.swift; sourceTree = ""; }; C2F0150B2C09D3A4000F7221 /* KeyboardReadable.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = KeyboardReadable.swift; sourceTree = ""; }; C2F0150E2C09D3C3000F7221 /* Language.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Language.swift; sourceTree = ""; }; @@ -97,6 +99,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + C2A535D92C0F56A800503472 /* DSQ.xcframework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -120,6 +123,7 @@ 8203E9052BF60117005F5C4A /* Frameworks */ = { isa = PBXGroup; children = ( + C2A535D82C0F56A700503472 /* DSQ.xcframework */, ); name = Frameworks; sourceTree = ""; diff --git a/NEPASTOUCHER/DSQ.xcframework/Info.plist b/NEPASTOUCHER/DSQ.xcframework/Info.plist new file mode 100644 index 0000000..6cefe51 --- /dev/null +++ b/NEPASTOUCHER/DSQ.xcframework/Info.plist @@ -0,0 +1,65 @@ + + + + + AvailableLibraries + + + BinaryPath + DouShouQiModel.framework/DouShouQiModel + DebugSymbolsPath + dSYMs + LibraryIdentifier + ios-arm64 + LibraryPath + DouShouQiModel.framework + SupportedArchitectures + + arm64 + + SupportedPlatform + ios + + + BinaryPath + DouShouQiModel.framework/DouShouQiModel + DebugSymbolsPath + dSYMs + LibraryIdentifier + ios-arm64_x86_64-simulator + LibraryPath + DouShouQiModel.framework + SupportedArchitectures + + arm64 + x86_64 + + SupportedPlatform + ios + SupportedPlatformVariant + simulator + + + BinaryPath + DouShouQiModel.framework/Versions/A/DouShouQiModel + DebugSymbolsPath + dSYMs + LibraryIdentifier + macos-arm64_x86_64 + LibraryPath + DouShouQiModel.framework + SupportedArchitectures + + arm64 + x86_64 + + SupportedPlatform + macos + + + CFBundlePackageType + XFWK + XCFrameworkFormatVersion + 1.0 + + diff --git a/NEPASTOUCHER/DSQ.xcframework/ios-arm64/DouShouQiModel.framework/DouShouQiModel b/NEPASTOUCHER/DSQ.xcframework/ios-arm64/DouShouQiModel.framework/DouShouQiModel new file mode 100755 index 0000000..47dbe4c Binary files /dev/null and b/NEPASTOUCHER/DSQ.xcframework/ios-arm64/DouShouQiModel.framework/DouShouQiModel differ diff --git a/NEPASTOUCHER/DSQ.xcframework/ios-arm64/DouShouQiModel.framework/Headers/DouShouQiModel-Swift.h b/NEPASTOUCHER/DSQ.xcframework/ios-arm64/DouShouQiModel.framework/Headers/DouShouQiModel-Swift.h new file mode 100644 index 0000000..d7b3274 --- /dev/null +++ b/NEPASTOUCHER/DSQ.xcframework/ios-arm64/DouShouQiModel.framework/Headers/DouShouQiModel-Swift.h @@ -0,0 +1,311 @@ +#if 0 +#elif defined(__arm64__) && __arm64__ +// Generated by Apple Swift version 5.9.2 (swiftlang-5.9.2.2.56 clang-1500.1.0.2.5) +#ifndef DOUSHOUQIMODEL_SWIFT_H +#define DOUSHOUQIMODEL_SWIFT_H +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wgcc-compat" + +#if !defined(__has_include) +# define __has_include(x) 0 +#endif +#if !defined(__has_attribute) +# define __has_attribute(x) 0 +#endif +#if !defined(__has_feature) +# define __has_feature(x) 0 +#endif +#if !defined(__has_warning) +# define __has_warning(x) 0 +#endif + +#if __has_include() +# include +#endif + +#pragma clang diagnostic ignored "-Wauto-import" +#if defined(__OBJC__) +#include +#endif +#if defined(__cplusplus) +#include +#include +#include +#include +#include +#include +#include +#else +#include +#include +#include +#include +#endif +#if defined(__cplusplus) +#if defined(__arm64e__) && __has_include() +# include +#else +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wreserved-macro-identifier" +# ifndef __ptrauth_swift_value_witness_function_pointer +# define __ptrauth_swift_value_witness_function_pointer(x) +# endif +# ifndef __ptrauth_swift_class_method_pointer +# define __ptrauth_swift_class_method_pointer(x) +# endif +#pragma clang diagnostic pop +#endif +#endif + +#if !defined(SWIFT_TYPEDEFS) +# define SWIFT_TYPEDEFS 1 +# if __has_include() +# include +# elif !defined(__cplusplus) +typedef uint_least16_t char16_t; +typedef uint_least32_t char32_t; +# endif +typedef float swift_float2 __attribute__((__ext_vector_type__(2))); +typedef float swift_float3 __attribute__((__ext_vector_type__(3))); +typedef float swift_float4 __attribute__((__ext_vector_type__(4))); +typedef double swift_double2 __attribute__((__ext_vector_type__(2))); +typedef double swift_double3 __attribute__((__ext_vector_type__(3))); +typedef double swift_double4 __attribute__((__ext_vector_type__(4))); +typedef int swift_int2 __attribute__((__ext_vector_type__(2))); +typedef int swift_int3 __attribute__((__ext_vector_type__(3))); +typedef int swift_int4 __attribute__((__ext_vector_type__(4))); +typedef unsigned int swift_uint2 __attribute__((__ext_vector_type__(2))); +typedef unsigned int swift_uint3 __attribute__((__ext_vector_type__(3))); +typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4))); +#endif + +#if !defined(SWIFT_PASTE) +# define SWIFT_PASTE_HELPER(x, y) x##y +# define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y) +#endif +#if !defined(SWIFT_METATYPE) +# define SWIFT_METATYPE(X) Class +#endif +#if !defined(SWIFT_CLASS_PROPERTY) +# if __has_feature(objc_class_property) +# define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__ +# else +# define SWIFT_CLASS_PROPERTY(...) +# endif +#endif +#if !defined(SWIFT_RUNTIME_NAME) +# if __has_attribute(objc_runtime_name) +# define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X))) +# else +# define SWIFT_RUNTIME_NAME(X) +# endif +#endif +#if !defined(SWIFT_COMPILE_NAME) +# if __has_attribute(swift_name) +# define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X))) +# else +# define SWIFT_COMPILE_NAME(X) +# endif +#endif +#if !defined(SWIFT_METHOD_FAMILY) +# if __has_attribute(objc_method_family) +# define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X))) +# else +# define SWIFT_METHOD_FAMILY(X) +# endif +#endif +#if !defined(SWIFT_NOESCAPE) +# if __has_attribute(noescape) +# define SWIFT_NOESCAPE __attribute__((noescape)) +# else +# define SWIFT_NOESCAPE +# endif +#endif +#if !defined(SWIFT_RELEASES_ARGUMENT) +# if __has_attribute(ns_consumed) +# define SWIFT_RELEASES_ARGUMENT __attribute__((ns_consumed)) +# else +# define SWIFT_RELEASES_ARGUMENT +# endif +#endif +#if !defined(SWIFT_WARN_UNUSED_RESULT) +# if __has_attribute(warn_unused_result) +# define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result)) +# else +# define SWIFT_WARN_UNUSED_RESULT +# endif +#endif +#if !defined(SWIFT_NORETURN) +# if __has_attribute(noreturn) +# define SWIFT_NORETURN __attribute__((noreturn)) +# else +# define SWIFT_NORETURN +# endif +#endif +#if !defined(SWIFT_CLASS_EXTRA) +# define SWIFT_CLASS_EXTRA +#endif +#if !defined(SWIFT_PROTOCOL_EXTRA) +# define SWIFT_PROTOCOL_EXTRA +#endif +#if !defined(SWIFT_ENUM_EXTRA) +# define SWIFT_ENUM_EXTRA +#endif +#if !defined(SWIFT_CLASS) +# if __has_attribute(objc_subclassing_restricted) +# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA +# define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA +# else +# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA +# define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA +# endif +#endif +#if !defined(SWIFT_RESILIENT_CLASS) +# if __has_attribute(objc_class_stub) +# define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) __attribute__((objc_class_stub)) +# define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_class_stub)) SWIFT_CLASS_NAMED(SWIFT_NAME) +# else +# define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) +# define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) SWIFT_CLASS_NAMED(SWIFT_NAME) +# endif +#endif +#if !defined(SWIFT_PROTOCOL) +# define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA +# define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA +#endif +#if !defined(SWIFT_EXTENSION) +# define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__) +#endif +#if !defined(OBJC_DESIGNATED_INITIALIZER) +# if __has_attribute(objc_designated_initializer) +# define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer)) +# else +# define OBJC_DESIGNATED_INITIALIZER +# endif +#endif +#if !defined(SWIFT_ENUM_ATTR) +# if __has_attribute(enum_extensibility) +# define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility))) +# else +# define SWIFT_ENUM_ATTR(_extensibility) +# endif +#endif +#if !defined(SWIFT_ENUM) +# define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type +# if __has_feature(generalized_swift_name) +# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type +# else +# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility) +# endif +#endif +#if !defined(SWIFT_UNAVAILABLE) +# define SWIFT_UNAVAILABLE __attribute__((unavailable)) +#endif +#if !defined(SWIFT_UNAVAILABLE_MSG) +# define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg))) +#endif +#if !defined(SWIFT_AVAILABILITY) +# define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__))) +#endif +#if !defined(SWIFT_WEAK_IMPORT) +# define SWIFT_WEAK_IMPORT __attribute__((weak_import)) +#endif +#if !defined(SWIFT_DEPRECATED) +# define SWIFT_DEPRECATED __attribute__((deprecated)) +#endif +#if !defined(SWIFT_DEPRECATED_MSG) +# define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__))) +#endif +#if !defined(SWIFT_DEPRECATED_OBJC) +# if __has_feature(attribute_diagnose_if_objc) +# define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning"))) +# else +# define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg) +# endif +#endif +#if defined(__OBJC__) +#if !defined(IBSegueAction) +# define IBSegueAction +#endif +#endif +#if !defined(SWIFT_EXTERN) +# if defined(__cplusplus) +# define SWIFT_EXTERN extern "C" +# else +# define SWIFT_EXTERN extern +# endif +#endif +#if !defined(SWIFT_CALL) +# define SWIFT_CALL __attribute__((swiftcall)) +#endif +#if !defined(SWIFT_INDIRECT_RESULT) +# define SWIFT_INDIRECT_RESULT __attribute__((swift_indirect_result)) +#endif +#if !defined(SWIFT_CONTEXT) +# define SWIFT_CONTEXT __attribute__((swift_context)) +#endif +#if !defined(SWIFT_ERROR_RESULT) +# define SWIFT_ERROR_RESULT __attribute__((swift_error_result)) +#endif +#if defined(__cplusplus) +# define SWIFT_NOEXCEPT noexcept +#else +# define SWIFT_NOEXCEPT +#endif +#if !defined(SWIFT_C_INLINE_THUNK) +# if __has_attribute(always_inline) +# if __has_attribute(nodebug) +# define SWIFT_C_INLINE_THUNK inline __attribute__((always_inline)) __attribute__((nodebug)) +# else +# define SWIFT_C_INLINE_THUNK inline __attribute__((always_inline)) +# endif +# else +# define SWIFT_C_INLINE_THUNK inline +# endif +#endif +#if defined(_WIN32) +#if !defined(SWIFT_IMPORT_STDLIB_SYMBOL) +# define SWIFT_IMPORT_STDLIB_SYMBOL __declspec(dllimport) +#endif +#else +#if !defined(SWIFT_IMPORT_STDLIB_SYMBOL) +# define SWIFT_IMPORT_STDLIB_SYMBOL +#endif +#endif +#if defined(__OBJC__) +#if __has_feature(objc_modules) +#if __has_warning("-Watimport-in-framework-header") +#pragma clang diagnostic ignored "-Watimport-in-framework-header" +#endif +#endif + +#endif +#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch" +#pragma clang diagnostic ignored "-Wduplicate-method-arg" +#if __has_warning("-Wpragma-clang-attribute") +# pragma clang diagnostic ignored "-Wpragma-clang-attribute" +#endif +#pragma clang diagnostic ignored "-Wunknown-pragmas" +#pragma clang diagnostic ignored "-Wnullability" +#pragma clang diagnostic ignored "-Wdollar-in-identifier-extension" + +#if __has_attribute(external_source_symbol) +# pragma push_macro("any") +# undef any +# pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="DouShouQiModel",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol)) +# pragma pop_macro("any") +#endif + +#if defined(__OBJC__) +#endif +#if __has_attribute(external_source_symbol) +# pragma clang attribute pop +#endif +#if defined(__cplusplus) +#endif +#pragma clang diagnostic pop +#endif + +#else +#error unsupported Swift architecture +#endif diff --git a/NEPASTOUCHER/DSQ.xcframework/ios-arm64/DouShouQiModel.framework/Headers/DouShouQiModel.h b/NEPASTOUCHER/DSQ.xcframework/ios-arm64/DouShouQiModel.framework/Headers/DouShouQiModel.h new file mode 100644 index 0000000..5bbf06a --- /dev/null +++ b/NEPASTOUCHER/DSQ.xcframework/ios-arm64/DouShouQiModel.framework/Headers/DouShouQiModel.h @@ -0,0 +1,18 @@ +// +// DouShouQiModel.h +// DouShouQiModel +// +// Created by Marc Chevaldonné on 14/05/2024. +// + +#import + +//! Project version number for DouShouQiModel. +FOUNDATION_EXPORT double DouShouQiModelVersionNumber; + +//! Project version string for DouShouQiModel. +FOUNDATION_EXPORT const unsigned char DouShouQiModelVersionString[]; + +// In this header, you should import all the public headers of your framework using statements like #import + + diff --git a/NEPASTOUCHER/DSQ.xcframework/ios-arm64/DouShouQiModel.framework/Info.plist b/NEPASTOUCHER/DSQ.xcframework/ios-arm64/DouShouQiModel.framework/Info.plist new file mode 100644 index 0000000..e83fb5f Binary files /dev/null and b/NEPASTOUCHER/DSQ.xcframework/ios-arm64/DouShouQiModel.framework/Info.plist differ diff --git a/NEPASTOUCHER/DSQ.xcframework/ios-arm64/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/arm64-apple-ios.abi.json b/NEPASTOUCHER/DSQ.xcframework/ios-arm64/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/arm64-apple-ios.abi.json new file mode 100644 index 0000000..c28e9fd --- /dev/null +++ b/NEPASTOUCHER/DSQ.xcframework/ios-arm64/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/arm64-apple-ios.abi.json @@ -0,0 +1,8546 @@ +{ + "ABIRoot": { + "kind": "Root", + "name": "TopLevel", + "printedName": "TopLevel", + "children": [ + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel" + }, + { + "kind": "TypeDecl", + "name": "Result", + "printedName": "Result", + "children": [ + { + "kind": "Var", + "name": "notFinished", + "printedName": "notFinished", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Result.Type) -> DouShouQiModel.Result", + "children": [ + { + "kind": "TypeNominal", + "name": "Result", + "printedName": "DouShouQiModel.Result", + "usr": "s:14DouShouQiModel6ResultO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.Result.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "Result", + "printedName": "DouShouQiModel.Result", + "usr": "s:14DouShouQiModel6ResultO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel6ResultO11notFinishedyA2CmF", + "mangledName": "$s14DouShouQiModel6ResultO11notFinishedyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "even", + "printedName": "even", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Result.Type) -> DouShouQiModel.Result", + "children": [ + { + "kind": "TypeNominal", + "name": "Result", + "printedName": "DouShouQiModel.Result", + "usr": "s:14DouShouQiModel6ResultO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.Result.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "Result", + "printedName": "DouShouQiModel.Result", + "usr": "s:14DouShouQiModel6ResultO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel6ResultO4evenyA2CmF", + "mangledName": "$s14DouShouQiModel6ResultO4evenyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "winner", + "printedName": "winner", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Result.Type) -> (DouShouQiModel.Owner, DouShouQiModel.WinningReason) -> DouShouQiModel.Result", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Owner, DouShouQiModel.WinningReason) -> DouShouQiModel.Result", + "children": [ + { + "kind": "TypeNominal", + "name": "Result", + "printedName": "DouShouQiModel.Result", + "usr": "s:14DouShouQiModel6ResultO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(winner: DouShouQiModel.Owner, reason: DouShouQiModel.WinningReason)", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + }, + { + "kind": "TypeNominal", + "name": "WinningReason", + "printedName": "DouShouQiModel.WinningReason", + "usr": "s:14DouShouQiModel13WinningReasonO" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.Result.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "Result", + "printedName": "DouShouQiModel.Result", + "usr": "s:14DouShouQiModel6ResultO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel6ResultO6winneryAcA5OwnerO_AA13WinningReasonOtcACmF", + "mangledName": "$s14DouShouQiModel6ResultO6winneryAcA5OwnerO_AA13WinningReasonOtcACmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Result", + "printedName": "DouShouQiModel.Result", + "usr": "s:14DouShouQiModel6ResultO" + }, + { + "kind": "TypeNominal", + "name": "Result", + "printedName": "DouShouQiModel.Result", + "usr": "s:14DouShouQiModel6ResultO" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel6ResultO2eeoiySbAC_ACtFZ", + "mangledName": "$s14DouShouQiModel6ResultO2eeoiySbAC_ACtFZ", + "moduleName": "DouShouQiModel", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Enum", + "usr": "s:14DouShouQiModel6ResultO", + "mangledName": "$s14DouShouQiModel6ResultO", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + } + ] + }, + { + "kind": "TypeDecl", + "name": "WinningReason", + "printedName": "WinningReason", + "children": [ + { + "kind": "Var", + "name": "denReached", + "printedName": "denReached", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.WinningReason.Type) -> DouShouQiModel.WinningReason", + "children": [ + { + "kind": "TypeNominal", + "name": "WinningReason", + "printedName": "DouShouQiModel.WinningReason", + "usr": "s:14DouShouQiModel13WinningReasonO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.WinningReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "WinningReason", + "printedName": "DouShouQiModel.WinningReason", + "usr": "s:14DouShouQiModel13WinningReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel13WinningReasonO10denReachedyA2CmF", + "mangledName": "$s14DouShouQiModel13WinningReasonO10denReachedyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "noMorePieces", + "printedName": "noMorePieces", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.WinningReason.Type) -> DouShouQiModel.WinningReason", + "children": [ + { + "kind": "TypeNominal", + "name": "WinningReason", + "printedName": "DouShouQiModel.WinningReason", + "usr": "s:14DouShouQiModel13WinningReasonO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.WinningReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "WinningReason", + "printedName": "DouShouQiModel.WinningReason", + "usr": "s:14DouShouQiModel13WinningReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel13WinningReasonO12noMorePiecesyA2CmF", + "mangledName": "$s14DouShouQiModel13WinningReasonO12noMorePiecesyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "tooManyOccurences", + "printedName": "tooManyOccurences", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.WinningReason.Type) -> DouShouQiModel.WinningReason", + "children": [ + { + "kind": "TypeNominal", + "name": "WinningReason", + "printedName": "DouShouQiModel.WinningReason", + "usr": "s:14DouShouQiModel13WinningReasonO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.WinningReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "WinningReason", + "printedName": "DouShouQiModel.WinningReason", + "usr": "s:14DouShouQiModel13WinningReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel13WinningReasonO17tooManyOccurencesyA2CmF", + "mangledName": "$s14DouShouQiModel13WinningReasonO17tooManyOccurencesyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "noMovesLeft", + "printedName": "noMovesLeft", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.WinningReason.Type) -> DouShouQiModel.WinningReason", + "children": [ + { + "kind": "TypeNominal", + "name": "WinningReason", + "printedName": "DouShouQiModel.WinningReason", + "usr": "s:14DouShouQiModel13WinningReasonO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.WinningReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "WinningReason", + "printedName": "DouShouQiModel.WinningReason", + "usr": "s:14DouShouQiModel13WinningReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel13WinningReasonO11noMovesLeftyA2CmF", + "mangledName": "$s14DouShouQiModel13WinningReasonO11noMovesLeftyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "WinningReason", + "printedName": "DouShouQiModel.WinningReason", + "usr": "s:14DouShouQiModel13WinningReasonO" + }, + { + "kind": "TypeNominal", + "name": "WinningReason", + "printedName": "DouShouQiModel.WinningReason", + "usr": "s:14DouShouQiModel13WinningReasonO" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel13WinningReasonO2eeoiySbAC_ACtFZ", + "mangledName": "$s14DouShouQiModel13WinningReasonO2eeoiySbAC_ACtFZ", + "moduleName": "DouShouQiModel", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel13WinningReasonO9hashValueSivp", + "mangledName": "$s14DouShouQiModel13WinningReasonO9hashValueSivp", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel13WinningReasonO9hashValueSivg", + "mangledName": "$s14DouShouQiModel13WinningReasonO9hashValueSivg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel13WinningReasonO4hash4intoys6HasherVz_tF", + "mangledName": "$s14DouShouQiModel13WinningReasonO4hash4intoys6HasherVz_tF", + "moduleName": "DouShouQiModel", + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Enum", + "usr": "s:14DouShouQiModel13WinningReasonO", + "mangledName": "$s14DouShouQiModel13WinningReasonO", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel" + }, + { + "kind": "TypeDecl", + "name": "BoardResult", + "printedName": "BoardResult", + "children": [ + { + "kind": "Var", + "name": "unknown", + "printedName": "unknown", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.BoardResult.Type) -> DouShouQiModel.BoardResult", + "children": [ + { + "kind": "TypeNominal", + "name": "BoardResult", + "printedName": "DouShouQiModel.BoardResult", + "usr": "s:14DouShouQiModel11BoardResultO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.BoardResult.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "BoardResult", + "printedName": "DouShouQiModel.BoardResult", + "usr": "s:14DouShouQiModel11BoardResultO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel11BoardResultO7unknownyA2CmF", + "mangledName": "$s14DouShouQiModel11BoardResultO7unknownyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "ok", + "printedName": "ok", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.BoardResult.Type) -> (DouShouQiModel.Piece?) -> DouShouQiModel.BoardResult", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Piece?) -> DouShouQiModel.BoardResult", + "children": [ + { + "kind": "TypeNominal", + "name": "BoardResult", + "printedName": "DouShouQiModel.BoardResult", + "usr": "s:14DouShouQiModel11BoardResultO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(piece: DouShouQiModel.Piece?)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.Piece?", + "children": [ + { + "kind": "TypeNominal", + "name": "Piece", + "printedName": "DouShouQiModel.Piece", + "usr": "s:14DouShouQiModel5PieceV" + } + ], + "usr": "s:Sq" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.BoardResult.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "BoardResult", + "printedName": "DouShouQiModel.BoardResult", + "usr": "s:14DouShouQiModel11BoardResultO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel11BoardResultO2okyAcA5PieceVSg_tcACmF", + "mangledName": "$s14DouShouQiModel11BoardResultO2okyAcA5PieceVSg_tcACmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "failed", + "printedName": "failed", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.BoardResult.Type) -> (DouShouQiModel.BoardFailingReason) -> DouShouQiModel.BoardResult", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.BoardFailingReason) -> DouShouQiModel.BoardResult", + "children": [ + { + "kind": "TypeNominal", + "name": "BoardResult", + "printedName": "DouShouQiModel.BoardResult", + "usr": "s:14DouShouQiModel11BoardResultO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(reason: DouShouQiModel.BoardFailingReason)", + "children": [ + { + "kind": "TypeNominal", + "name": "BoardFailingReason", + "printedName": "DouShouQiModel.BoardFailingReason", + "usr": "s:14DouShouQiModel18BoardFailingReasonO" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.BoardResult.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "BoardResult", + "printedName": "DouShouQiModel.BoardResult", + "usr": "s:14DouShouQiModel11BoardResultO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel11BoardResultO6failedyAcA0E13FailingReasonO_tcACmF", + "mangledName": "$s14DouShouQiModel11BoardResultO6failedyAcA0E13FailingReasonO_tcACmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "BoardResult", + "printedName": "DouShouQiModel.BoardResult", + "usr": "s:14DouShouQiModel11BoardResultO" + }, + { + "kind": "TypeNominal", + "name": "BoardResult", + "printedName": "DouShouQiModel.BoardResult", + "usr": "s:14DouShouQiModel11BoardResultO" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel11BoardResultO2eeoiySbAC_ACtFZ", + "mangledName": "$s14DouShouQiModel11BoardResultO2eeoiySbAC_ACtFZ", + "moduleName": "DouShouQiModel", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Enum", + "usr": "s:14DouShouQiModel11BoardResultO", + "mangledName": "$s14DouShouQiModel11BoardResultO", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + } + ] + }, + { + "kind": "TypeDecl", + "name": "BoardFailingReason", + "printedName": "BoardFailingReason", + "children": [ + { + "kind": "Var", + "name": "unknown", + "printedName": "unknown", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.BoardFailingReason.Type) -> DouShouQiModel.BoardFailingReason", + "children": [ + { + "kind": "TypeNominal", + "name": "BoardFailingReason", + "printedName": "DouShouQiModel.BoardFailingReason", + "usr": "s:14DouShouQiModel18BoardFailingReasonO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.BoardFailingReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "BoardFailingReason", + "printedName": "DouShouQiModel.BoardFailingReason", + "usr": "s:14DouShouQiModel18BoardFailingReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel18BoardFailingReasonO7unknownyA2CmF", + "mangledName": "$s14DouShouQiModel18BoardFailingReasonO7unknownyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "outOfBounds", + "printedName": "outOfBounds", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.BoardFailingReason.Type) -> DouShouQiModel.BoardFailingReason", + "children": [ + { + "kind": "TypeNominal", + "name": "BoardFailingReason", + "printedName": "DouShouQiModel.BoardFailingReason", + "usr": "s:14DouShouQiModel18BoardFailingReasonO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.BoardFailingReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "BoardFailingReason", + "printedName": "DouShouQiModel.BoardFailingReason", + "usr": "s:14DouShouQiModel18BoardFailingReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel18BoardFailingReasonO11outOfBoundsyA2CmF", + "mangledName": "$s14DouShouQiModel18BoardFailingReasonO11outOfBoundsyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "cellNotEmpty", + "printedName": "cellNotEmpty", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.BoardFailingReason.Type) -> DouShouQiModel.BoardFailingReason", + "children": [ + { + "kind": "TypeNominal", + "name": "BoardFailingReason", + "printedName": "DouShouQiModel.BoardFailingReason", + "usr": "s:14DouShouQiModel18BoardFailingReasonO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.BoardFailingReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "BoardFailingReason", + "printedName": "DouShouQiModel.BoardFailingReason", + "usr": "s:14DouShouQiModel18BoardFailingReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel18BoardFailingReasonO12cellNotEmptyyA2CmF", + "mangledName": "$s14DouShouQiModel18BoardFailingReasonO12cellNotEmptyyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "cellEmpty", + "printedName": "cellEmpty", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.BoardFailingReason.Type) -> DouShouQiModel.BoardFailingReason", + "children": [ + { + "kind": "TypeNominal", + "name": "BoardFailingReason", + "printedName": "DouShouQiModel.BoardFailingReason", + "usr": "s:14DouShouQiModel18BoardFailingReasonO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.BoardFailingReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "BoardFailingReason", + "printedName": "DouShouQiModel.BoardFailingReason", + "usr": "s:14DouShouQiModel18BoardFailingReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel18BoardFailingReasonO9cellEmptyyA2CmF", + "mangledName": "$s14DouShouQiModel18BoardFailingReasonO9cellEmptyyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "BoardFailingReason", + "printedName": "DouShouQiModel.BoardFailingReason", + "usr": "s:14DouShouQiModel18BoardFailingReasonO" + }, + { + "kind": "TypeNominal", + "name": "BoardFailingReason", + "printedName": "DouShouQiModel.BoardFailingReason", + "usr": "s:14DouShouQiModel18BoardFailingReasonO" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel18BoardFailingReasonO2eeoiySbAC_ACtFZ", + "mangledName": "$s14DouShouQiModel18BoardFailingReasonO2eeoiySbAC_ACtFZ", + "moduleName": "DouShouQiModel", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel18BoardFailingReasonO9hashValueSivp", + "mangledName": "$s14DouShouQiModel18BoardFailingReasonO9hashValueSivp", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel18BoardFailingReasonO9hashValueSivg", + "mangledName": "$s14DouShouQiModel18BoardFailingReasonO9hashValueSivg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel18BoardFailingReasonO4hash4intoys6HasherVz_tF", + "mangledName": "$s14DouShouQiModel18BoardFailingReasonO4hash4intoys6HasherVz_tF", + "moduleName": "DouShouQiModel", + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Enum", + "usr": "s:14DouShouQiModel18BoardFailingReasonO", + "mangledName": "$s14DouShouQiModel18BoardFailingReasonO", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel" + }, + { + "kind": "TypeDecl", + "name": "HumanPlayer", + "printedName": "HumanPlayer", + "children": [ + { + "kind": "Constructor", + "name": "init", + "printedName": "init(withName:andId:andInputMethod:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.HumanPlayer?", + "children": [ + { + "kind": "TypeNominal", + "name": "HumanPlayer", + "printedName": "DouShouQiModel.HumanPlayer", + "usr": "s:14DouShouQiModel11HumanPlayerC" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.HumanPlayer) -> DouShouQiModel.Move?", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.Move?", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "HumanPlayer", + "printedName": "DouShouQiModel.HumanPlayer", + "usr": "s:14DouShouQiModel11HumanPlayerC" + } + ] + } + ], + "declKind": "Constructor", + "usr": "s:14DouShouQiModel11HumanPlayerC8withName5andId0I11InputMethodACSgSS_AA5OwnerOAA4MoveVSgACctcfc", + "mangledName": "$s14DouShouQiModel11HumanPlayerC8withName5andId0I11InputMethodACSgSS_AA5OwnerOAA4MoveVSgACctcfc", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(withName:andId:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.HumanPlayer?", + "children": [ + { + "kind": "TypeNominal", + "name": "HumanPlayer", + "printedName": "DouShouQiModel.HumanPlayer", + "usr": "s:14DouShouQiModel11HumanPlayerC" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Constructor", + "usr": "s:14DouShouQiModel11HumanPlayerC8withName5andIdACSgSS_AA5OwnerOtcfc", + "mangledName": "$s14DouShouQiModel11HumanPlayerC8withName5andIdACSgSS_AA5OwnerOtcfc", + "moduleName": "DouShouQiModel", + "overriding": true, + "declAttributes": [ + "Override", + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "chooseMove", + "printedName": "chooseMove(in:with:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Rules", + "printedName": "DouShouQiModel.Rules", + "usr": "s:14DouShouQiModel5RulesP" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel11HumanPlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKF", + "mangledName": "$s14DouShouQiModel11HumanPlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKF", + "moduleName": "DouShouQiModel", + "overriding": true, + "declAttributes": [ + "Override", + "AccessControl" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "changeInput", + "printedName": "changeInput(input:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.HumanPlayer) -> DouShouQiModel.Move?", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.Move?", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "HumanPlayer", + "printedName": "DouShouQiModel.HumanPlayer", + "usr": "s:14DouShouQiModel11HumanPlayerC" + } + ] + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel11HumanPlayerC11changeInput5inputyAA4MoveVSgACc_tF", + "mangledName": "$s14DouShouQiModel11HumanPlayerC11changeInput5inputyAA4MoveVSgACc_tF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "chooseMove", + "printedName": "chooseMove(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.Move?", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel11HumanPlayerC10chooseMoveyyAA0H0VSgYaKF", + "mangledName": "$s14DouShouQiModel11HumanPlayerC10chooseMoveyyAA0H0VSgYaKF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:14DouShouQiModel11HumanPlayerC", + "mangledName": "$s14DouShouQiModel11HumanPlayerC", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "superclassUsr": "s:14DouShouQiModel6PlayerC", + "inheritsConvenienceInitializers": true, + "superclassNames": [ + "DouShouQiModel.Player" + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel" + }, + { + "kind": "TypeDecl", + "name": "ClassicRules", + "printedName": "ClassicRules", + "children": [ + { + "kind": "Function", + "name": "createBoard", + "printedName": "createBoard()", + "children": [ + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel12ClassicRulesV11createBoardAA0H0VyFZ", + "mangledName": "$s14DouShouQiModel12ClassicRulesV11createBoardAA0H0VyFZ", + "moduleName": "DouShouQiModel", + "static": true, + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "checkBoard", + "printedName": "checkBoard(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel12ClassicRulesV10checkBoardyyAA0H0VKFZ", + "mangledName": "$s14DouShouQiModel12ClassicRulesV10checkBoardyyAA0H0VKFZ", + "moduleName": "DouShouQiModel", + "static": true, + "declAttributes": [ + "AccessControl" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init()", + "children": [ + { + "kind": "TypeNominal", + "name": "ClassicRules", + "printedName": "DouShouQiModel.ClassicRules", + "usr": "s:14DouShouQiModel12ClassicRulesV" + } + ], + "declKind": "Constructor", + "usr": "s:14DouShouQiModel12ClassicRulesVACycfc", + "mangledName": "$s14DouShouQiModel12ClassicRulesVACycfc", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(occurences:historic:)", + "children": [ + { + "kind": "TypeNominal", + "name": "ClassicRules", + "printedName": "DouShouQiModel.ClassicRules", + "usr": "s:14DouShouQiModel12ClassicRulesV" + }, + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[DouShouQiModel.Board : Swift.Int]", + "children": [ + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:SD" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.Move]", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Constructor", + "usr": "s:14DouShouQiModel12ClassicRulesV10occurences8historicACSDyAA5BoardVSiG_SayAA4MoveVGtcfc", + "mangledName": "$s14DouShouQiModel12ClassicRulesV10occurences8historicACSDyAA5BoardVSiG_SayAA4MoveVGtcfc", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "getMoves", + "printedName": "getMoves(in:of:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.Move]", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sa" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel12ClassicRulesV8getMoves2in2ofSayAA4MoveVGAA5BoardV_AA5OwnerOtF", + "mangledName": "$s14DouShouQiModel12ClassicRulesV8getMoves2in2ofSayAA4MoveVGAA5BoardV_AA5OwnerOtF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "getMoves", + "printedName": "getMoves(in:of:fromRow:andColumn:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.Move]", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sa" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel12ClassicRulesV8getMoves2in2of7fromRow9andColumnSayAA4MoveVGAA5BoardV_AA5OwnerOS2itF", + "mangledName": "$s14DouShouQiModel12ClassicRulesV8getMoves2in2of7fromRow9andColumnSayAA4MoveVGAA5BoardV_AA5OwnerOS2itF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "isMoveValid", + "printedName": "isMoveValid(onBoard:fromRow:andFromColumn:toRow:andToColumn:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel12ClassicRulesV11isMoveValid7onBoard7fromRow13andFromColumn02toM00n2ToP0SbAA0K0V_S4itF", + "mangledName": "$s14DouShouQiModel12ClassicRulesV11isMoveValid7onBoard7fromRow13andFromColumn02toM00n2ToP0SbAA0K0V_S4itF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "isMoveValid", + "printedName": "isMoveValid(onBoard:withMove:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel12ClassicRulesV11isMoveValid7onBoard04withH0SbAA0K0V_AA0H0VtF", + "mangledName": "$s14DouShouQiModel12ClassicRulesV11isMoveValid7onBoard04withH0SbAA0K0V_AA0H0VtF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "isGameOver", + "printedName": "isGameOver(withBoard:andLastRowPlayed:andLastColumnPlayer:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(Swift.Bool, DouShouQiModel.Result)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Result", + "printedName": "DouShouQiModel.Result", + "usr": "s:14DouShouQiModel6ResultO" + } + ] + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel12ClassicRulesV10isGameOver9withBoard16andLastRowPlayed0lM12ColumnPlayerSb_AA6ResultOtAA0K0V_S2itF", + "mangledName": "$s14DouShouQiModel12ClassicRulesV10isGameOver9withBoard16andLastRowPlayed0lM12ColumnPlayerSb_AA6ResultOtAA0K0V_S2itF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "playedMove", + "printedName": "playedMove(_:onStartingBoard:andResultingBoard:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel12ClassicRulesV10playedMove_15onStartingBoard012andResultingK0yAA0H0V_AA0K0VAJtKF", + "mangledName": "$s14DouShouQiModel12ClassicRulesV10playedMove_15onStartingBoard012andResultingK0yAA0H0V_AA0K0VAJtKF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "Mutating", + "AccessControl" + ], + "throwing": true, + "funcSelfKind": "Mutating" + }, + { + "kind": "Function", + "name": "getNextPlayer", + "printedName": "getNextPlayer()", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel12ClassicRulesV13getNextPlayerAA5OwnerOyF", + "mangledName": "$s14DouShouQiModel12ClassicRulesV13getNextPlayerAA5OwnerOyF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "occurences", + "printedName": "occurences", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[DouShouQiModel.Board : Swift.Int]", + "children": [ + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel12ClassicRulesV10occurencesSDyAA5BoardVSiGvp", + "mangledName": "$s14DouShouQiModel12ClassicRulesV10occurencesSDyAA5BoardVSiGvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "SetterAccess", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[DouShouQiModel.Board : Swift.Int]", + "children": [ + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel12ClassicRulesV10occurencesSDyAA5BoardVSiGvg", + "mangledName": "$s14DouShouQiModel12ClassicRulesV10occurencesSDyAA5BoardVSiGvg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "historic", + "printedName": "historic", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.Move]", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel12ClassicRulesV8historicSayAA4MoveVGvp", + "mangledName": "$s14DouShouQiModel12ClassicRulesV8historicSayAA4MoveVGvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "SetterAccess", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.Move]", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel12ClassicRulesV8historicSayAA4MoveVGvg", + "mangledName": "$s14DouShouQiModel12ClassicRulesV8historicSayAA4MoveVGvg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Struct", + "usr": "s:14DouShouQiModel12ClassicRulesV", + "mangledName": "$s14DouShouQiModel12ClassicRulesV", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Rules", + "printedName": "Rules", + "usr": "s:14DouShouQiModel5RulesP", + "mangledName": "$s14DouShouQiModel5RulesP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel" + }, + { + "kind": "TypeDecl", + "name": "Cell", + "printedName": "Cell", + "children": [ + { + "kind": "Var", + "name": "description", + "printedName": "description", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel4CellV11descriptionSSvp", + "mangledName": "$s14DouShouQiModel4CellV11descriptionSSvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel4CellV11descriptionSSvg", + "mangledName": "$s14DouShouQiModel4CellV11descriptionSSvg", + "moduleName": "DouShouQiModel", + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "cellType", + "printedName": "cellType", + "children": [ + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel4CellV8cellTypeAA0eG0Ovp", + "mangledName": "$s14DouShouQiModel4CellV8cellTypeAA0eG0Ovp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel4CellV8cellTypeAA0eG0Ovg", + "mangledName": "$s14DouShouQiModel4CellV8cellTypeAA0eG0Ovg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "initialOwner", + "printedName": "initialOwner", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel4CellV12initialOwnerAA0G0Ovp", + "mangledName": "$s14DouShouQiModel4CellV12initialOwnerAA0G0Ovp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel4CellV12initialOwnerAA0G0Ovg", + "mangledName": "$s14DouShouQiModel4CellV12initialOwnerAA0G0Ovg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "piece", + "printedName": "piece", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.Piece?", + "children": [ + { + "kind": "TypeNominal", + "name": "Piece", + "printedName": "DouShouQiModel.Piece", + "usr": "s:14DouShouQiModel5PieceV" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel4CellV5pieceAA5PieceVSgvp", + "mangledName": "$s14DouShouQiModel4CellV5pieceAA5PieceVSgvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.Piece?", + "children": [ + { + "kind": "TypeNominal", + "name": "Piece", + "printedName": "DouShouQiModel.Piece", + "usr": "s:14DouShouQiModel5PieceV" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel4CellV5pieceAA5PieceVSgvg", + "mangledName": "$s14DouShouQiModel4CellV5pieceAA5PieceVSgvg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.Piece?", + "children": [ + { + "kind": "TypeNominal", + "name": "Piece", + "printedName": "DouShouQiModel.Piece", + "usr": "s:14DouShouQiModel5PieceV" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel4CellV5pieceAA5PieceVSgvs", + "mangledName": "$s14DouShouQiModel4CellV5pieceAA5PieceVSgvs", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel4CellV5pieceAA5PieceVSgvM", + "mangledName": "$s14DouShouQiModel4CellV5pieceAA5PieceVSgvM", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(ofType:ownedBy:withPiece:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Cell", + "printedName": "DouShouQiModel.Cell", + "usr": "s:14DouShouQiModel4CellV" + }, + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + }, + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "hasDefaultArg": true, + "usr": "s:14DouShouQiModel5OwnerO" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.Piece?", + "children": [ + { + "kind": "TypeNominal", + "name": "Piece", + "printedName": "DouShouQiModel.Piece", + "usr": "s:14DouShouQiModel5PieceV" + } + ], + "hasDefaultArg": true, + "usr": "s:Sq" + } + ], + "declKind": "Constructor", + "usr": "s:14DouShouQiModel4CellV6ofType7ownedBy9withPieceAcA0eG0O_AA5OwnerOAA0K0VSgtcfc", + "mangledName": "$s14DouShouQiModel4CellV6ofType7ownedBy9withPieceAcA0eG0O_AA5OwnerOAA0K0VSgtcfc", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Cell", + "printedName": "DouShouQiModel.Cell", + "usr": "s:14DouShouQiModel4CellV" + }, + { + "kind": "TypeNominal", + "name": "Cell", + "printedName": "DouShouQiModel.Cell", + "usr": "s:14DouShouQiModel4CellV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel4CellV2eeoiySbAC_ACtFZ", + "mangledName": "$s14DouShouQiModel4CellV2eeoiySbAC_ACtFZ", + "moduleName": "DouShouQiModel", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Struct", + "usr": "s:14DouShouQiModel4CellV", + "mangledName": "$s14DouShouQiModel4CellV", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel" + }, + { + "kind": "TypeDecl", + "name": "VerySimpleRules", + "printedName": "VerySimpleRules", + "children": [ + { + "kind": "Function", + "name": "createBoard", + "printedName": "createBoard()", + "children": [ + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel15VerySimpleRulesV11createBoardAA0I0VyFZ", + "mangledName": "$s14DouShouQiModel15VerySimpleRulesV11createBoardAA0I0VyFZ", + "moduleName": "DouShouQiModel", + "static": true, + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "checkBoard", + "printedName": "checkBoard(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel15VerySimpleRulesV10checkBoardyyAA0I0VKFZ", + "mangledName": "$s14DouShouQiModel15VerySimpleRulesV10checkBoardyyAA0I0VKFZ", + "moduleName": "DouShouQiModel", + "static": true, + "declAttributes": [ + "AccessControl" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init()", + "children": [ + { + "kind": "TypeNominal", + "name": "VerySimpleRules", + "printedName": "DouShouQiModel.VerySimpleRules", + "usr": "s:14DouShouQiModel15VerySimpleRulesV" + } + ], + "declKind": "Constructor", + "usr": "s:14DouShouQiModel15VerySimpleRulesVACycfc", + "mangledName": "$s14DouShouQiModel15VerySimpleRulesVACycfc", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(occurences:historic:)", + "children": [ + { + "kind": "TypeNominal", + "name": "VerySimpleRules", + "printedName": "DouShouQiModel.VerySimpleRules", + "usr": "s:14DouShouQiModel15VerySimpleRulesV" + }, + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[DouShouQiModel.Board : Swift.Int]", + "children": [ + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:SD" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.Move]", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Constructor", + "usr": "s:14DouShouQiModel15VerySimpleRulesV10occurences8historicACSDyAA5BoardVSiG_SayAA4MoveVGtcfc", + "mangledName": "$s14DouShouQiModel15VerySimpleRulesV10occurences8historicACSDyAA5BoardVSiG_SayAA4MoveVGtcfc", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "getMoves", + "printedName": "getMoves(in:of:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.Move]", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sa" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel15VerySimpleRulesV8getMoves2in2ofSayAA4MoveVGAA5BoardV_AA5OwnerOtF", + "mangledName": "$s14DouShouQiModel15VerySimpleRulesV8getMoves2in2ofSayAA4MoveVGAA5BoardV_AA5OwnerOtF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "getMoves", + "printedName": "getMoves(in:of:fromRow:andColumn:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.Move]", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sa" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel15VerySimpleRulesV8getMoves2in2of7fromRow9andColumnSayAA4MoveVGAA5BoardV_AA5OwnerOS2itF", + "mangledName": "$s14DouShouQiModel15VerySimpleRulesV8getMoves2in2of7fromRow9andColumnSayAA4MoveVGAA5BoardV_AA5OwnerOS2itF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "isMoveValid", + "printedName": "isMoveValid(onBoard:fromRow:andFromColumn:toRow:andToColumn:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel15VerySimpleRulesV11isMoveValid7onBoard7fromRow13andFromColumn02toN00o2ToQ0SbAA0L0V_S4itF", + "mangledName": "$s14DouShouQiModel15VerySimpleRulesV11isMoveValid7onBoard7fromRow13andFromColumn02toN00o2ToQ0SbAA0L0V_S4itF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "isMoveValid", + "printedName": "isMoveValid(onBoard:withMove:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel15VerySimpleRulesV11isMoveValid7onBoard04withI0SbAA0L0V_AA0I0VtF", + "mangledName": "$s14DouShouQiModel15VerySimpleRulesV11isMoveValid7onBoard04withI0SbAA0L0V_AA0I0VtF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "isGameOver", + "printedName": "isGameOver(withBoard:andLastRowPlayed:andLastColumnPlayer:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(Swift.Bool, DouShouQiModel.Result)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Result", + "printedName": "DouShouQiModel.Result", + "usr": "s:14DouShouQiModel6ResultO" + } + ] + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel15VerySimpleRulesV10isGameOver9withBoard16andLastRowPlayed0mN12ColumnPlayerSb_AA6ResultOtAA0L0V_S2itF", + "mangledName": "$s14DouShouQiModel15VerySimpleRulesV10isGameOver9withBoard16andLastRowPlayed0mN12ColumnPlayerSb_AA6ResultOtAA0L0V_S2itF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "playedMove", + "printedName": "playedMove(_:onStartingBoard:andResultingBoard:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel15VerySimpleRulesV10playedMove_15onStartingBoard012andResultingL0yAA0I0V_AA0L0VAJtKF", + "mangledName": "$s14DouShouQiModel15VerySimpleRulesV10playedMove_15onStartingBoard012andResultingL0yAA0I0V_AA0L0VAJtKF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "Mutating", + "AccessControl" + ], + "throwing": true, + "funcSelfKind": "Mutating" + }, + { + "kind": "Function", + "name": "getNextPlayer", + "printedName": "getNextPlayer()", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel15VerySimpleRulesV13getNextPlayerAA5OwnerOyF", + "mangledName": "$s14DouShouQiModel15VerySimpleRulesV13getNextPlayerAA5OwnerOyF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "occurences", + "printedName": "occurences", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[DouShouQiModel.Board : Swift.Int]", + "children": [ + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel15VerySimpleRulesV10occurencesSDyAA5BoardVSiGvp", + "mangledName": "$s14DouShouQiModel15VerySimpleRulesV10occurencesSDyAA5BoardVSiGvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "SetterAccess", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[DouShouQiModel.Board : Swift.Int]", + "children": [ + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel15VerySimpleRulesV10occurencesSDyAA5BoardVSiGvg", + "mangledName": "$s14DouShouQiModel15VerySimpleRulesV10occurencesSDyAA5BoardVSiGvg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "historic", + "printedName": "historic", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.Move]", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel15VerySimpleRulesV8historicSayAA4MoveVGvp", + "mangledName": "$s14DouShouQiModel15VerySimpleRulesV8historicSayAA4MoveVGvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "SetterAccess", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.Move]", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel15VerySimpleRulesV8historicSayAA4MoveVGvg", + "mangledName": "$s14DouShouQiModel15VerySimpleRulesV8historicSayAA4MoveVGvg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Struct", + "usr": "s:14DouShouQiModel15VerySimpleRulesV", + "mangledName": "$s14DouShouQiModel15VerySimpleRulesV", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Rules", + "printedName": "Rules", + "usr": "s:14DouShouQiModel5RulesP", + "mangledName": "$s14DouShouQiModel5RulesP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel" + }, + { + "kind": "TypeDecl", + "name": "Rules", + "printedName": "Rules", + "children": [ + { + "kind": "Function", + "name": "createBoard", + "printedName": "createBoard()", + "children": [ + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5RulesP11createBoardAA0G0VyFZ", + "mangledName": "$s14DouShouQiModel5RulesP11createBoardAA0G0VyFZ", + "moduleName": "DouShouQiModel", + "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", + "sugared_genericSig": "", + "static": true, + "protocolReq": true, + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "checkBoard", + "printedName": "checkBoard(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5RulesP10checkBoardyyAA0G0VKFZ", + "mangledName": "$s14DouShouQiModel5RulesP10checkBoardyyAA0G0VKFZ", + "moduleName": "DouShouQiModel", + "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", + "sugared_genericSig": "", + "static": true, + "protocolReq": true, + "throwing": true, + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "getNextPlayer", + "printedName": "getNextPlayer()", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5RulesP13getNextPlayerAA5OwnerOyF", + "mangledName": "$s14DouShouQiModel5RulesP13getNextPlayerAA5OwnerOyF", + "moduleName": "DouShouQiModel", + "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", + "sugared_genericSig": "", + "protocolReq": true, + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "getMoves", + "printedName": "getMoves(in:of:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.Move]", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sa" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5RulesP8getMoves2in2ofSayAA4MoveVGAA5BoardV_AA5OwnerOtF", + "mangledName": "$s14DouShouQiModel5RulesP8getMoves2in2ofSayAA4MoveVGAA5BoardV_AA5OwnerOtF", + "moduleName": "DouShouQiModel", + "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", + "sugared_genericSig": "", + "protocolReq": true, + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "getMoves", + "printedName": "getMoves(in:of:fromRow:andColumn:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.Move]", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sa" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5RulesP8getMoves2in2of7fromRow9andColumnSayAA4MoveVGAA5BoardV_AA5OwnerOS2itF", + "mangledName": "$s14DouShouQiModel5RulesP8getMoves2in2of7fromRow9andColumnSayAA4MoveVGAA5BoardV_AA5OwnerOS2itF", + "moduleName": "DouShouQiModel", + "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", + "sugared_genericSig": "", + "protocolReq": true, + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "isMoveValid", + "printedName": "isMoveValid(onBoard:fromRow:andFromColumn:toRow:andToColumn:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5RulesP11isMoveValid7onBoard7fromRow13andFromColumn02toL00m2ToO0SbAA0J0V_S4itF", + "mangledName": "$s14DouShouQiModel5RulesP11isMoveValid7onBoard7fromRow13andFromColumn02toL00m2ToO0SbAA0J0V_S4itF", + "moduleName": "DouShouQiModel", + "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", + "sugared_genericSig": "", + "protocolReq": true, + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "isMoveValid", + "printedName": "isMoveValid(onBoard:withMove:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5RulesP11isMoveValid7onBoard04withG0SbAA0J0V_AA0G0VtF", + "mangledName": "$s14DouShouQiModel5RulesP11isMoveValid7onBoard04withG0SbAA0J0V_AA0G0VtF", + "moduleName": "DouShouQiModel", + "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", + "sugared_genericSig": "", + "protocolReq": true, + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "isGameOver", + "printedName": "isGameOver(withBoard:andLastRowPlayed:andLastColumnPlayer:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(Swift.Bool, DouShouQiModel.Result)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Result", + "printedName": "DouShouQiModel.Result", + "usr": "s:14DouShouQiModel6ResultO" + } + ] + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5RulesP10isGameOver9withBoard16andLastRowPlayed0kL12ColumnPlayerSb_AA6ResultOtAA0J0V_S2itF", + "mangledName": "$s14DouShouQiModel5RulesP10isGameOver9withBoard16andLastRowPlayed0kL12ColumnPlayerSb_AA6ResultOtAA0J0V_S2itF", + "moduleName": "DouShouQiModel", + "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", + "sugared_genericSig": "", + "protocolReq": true, + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "playedMove", + "printedName": "playedMove(_:onStartingBoard:andResultingBoard:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5RulesP10playedMove_15onStartingBoard012andResultingJ0yAA0G0V_AA0J0VAJtKF", + "mangledName": "$s14DouShouQiModel5RulesP10playedMove_15onStartingBoard012andResultingJ0yAA0G0V_AA0J0VAJtKF", + "moduleName": "DouShouQiModel", + "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", + "sugared_genericSig": "", + "protocolReq": true, + "declAttributes": [ + "Mutating" + ], + "throwing": true, + "reqNewWitnessTableEntry": true, + "funcSelfKind": "Mutating" + }, + { + "kind": "Var", + "name": "occurences", + "printedName": "occurences", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[DouShouQiModel.Board : Swift.Int]", + "children": [ + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel5RulesP10occurencesSDyAA5BoardVSiGvp", + "mangledName": "$s14DouShouQiModel5RulesP10occurencesSDyAA5BoardVSiGvp", + "moduleName": "DouShouQiModel", + "protocolReq": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[DouShouQiModel.Board : Swift.Int]", + "children": [ + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel5RulesP10occurencesSDyAA5BoardVSiGvg", + "mangledName": "$s14DouShouQiModel5RulesP10occurencesSDyAA5BoardVSiGvg", + "moduleName": "DouShouQiModel", + "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", + "sugared_genericSig": "", + "protocolReq": true, + "reqNewWitnessTableEntry": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "historic", + "printedName": "historic", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.Move]", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel5RulesP8historicSayAA4MoveVGvp", + "mangledName": "$s14DouShouQiModel5RulesP8historicSayAA4MoveVGvp", + "moduleName": "DouShouQiModel", + "protocolReq": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.Move]", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel5RulesP8historicSayAA4MoveVGvg", + "mangledName": "$s14DouShouQiModel5RulesP8historicSayAA4MoveVGvg", + "moduleName": "DouShouQiModel", + "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", + "sugared_genericSig": "", + "protocolReq": true, + "reqNewWitnessTableEntry": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Protocol", + "usr": "s:14DouShouQiModel5RulesP", + "mangledName": "$s14DouShouQiModel5RulesP", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel" + }, + { + "kind": "TypeDecl", + "name": "Player", + "printedName": "Player", + "children": [ + { + "kind": "Var", + "name": "name", + "printedName": "name", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel6PlayerC4nameSSvp", + "mangledName": "$s14DouShouQiModel6PlayerC4nameSSvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasStorage", + "Final", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel6PlayerC4nameSSvg", + "mangledName": "$s14DouShouQiModel6PlayerC4nameSSvg", + "moduleName": "DouShouQiModel", + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "id", + "printedName": "id", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel6PlayerC2idAA5OwnerOvp", + "mangledName": "$s14DouShouQiModel6PlayerC2idAA5OwnerOvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasStorage", + "Final", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel6PlayerC2idAA5OwnerOvg", + "mangledName": "$s14DouShouQiModel6PlayerC2idAA5OwnerOvg", + "moduleName": "DouShouQiModel", + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(withName:andId:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.Player?", + "children": [ + { + "kind": "TypeNominal", + "name": "Player", + "printedName": "DouShouQiModel.Player", + "usr": "s:14DouShouQiModel6PlayerC" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Constructor", + "usr": "s:14DouShouQiModel6PlayerC8withName5andIdACSgSS_AA5OwnerOtcfc", + "mangledName": "$s14DouShouQiModel6PlayerC8withName5andIdACSgSS_AA5OwnerOtcfc", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "chooseMove", + "printedName": "chooseMove(in:with:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Rules", + "printedName": "DouShouQiModel.Rules", + "usr": "s:14DouShouQiModel5RulesP" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel6PlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKF", + "mangledName": "$s14DouShouQiModel6PlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "addPlayedCallbacksListener", + "printedName": "addPlayedCallbacksListener(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Move?, DouShouQiModel.Player) async throws -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(DouShouQiModel.Move?, DouShouQiModel.Player)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.Move?", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Player", + "printedName": "DouShouQiModel.Player", + "usr": "s:14DouShouQiModel6PlayerC" + } + ] + } + ] + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel6PlayerC26addPlayedCallbacksListeneryyyAA4MoveVSg_ACtYaKcF", + "mangledName": "$s14DouShouQiModel6PlayerC26addPlayedCallbacksListeneryyyAA4MoveVSg_ACtYaKcF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "notifyPlayed", + "printedName": "notifyPlayed(withMove:andPlayer:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.Move?", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Player", + "printedName": "DouShouQiModel.Player", + "usr": "s:14DouShouQiModel6PlayerC" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel6PlayerC12notifyPlayed8withMove03andE0yAA0I0VSg_ACtYaKF", + "mangledName": "$s14DouShouQiModel6PlayerC12notifyPlayed8withMove03andE0yAA0I0VSg_ACtYaKF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:14DouShouQiModel6PlayerC", + "mangledName": "$s14DouShouQiModel6PlayerC", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel" + }, + { + "kind": "TypeDecl", + "name": "GameError", + "printedName": "GameError", + "children": [ + { + "kind": "Var", + "name": "invalidMove", + "printedName": "invalidMove", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.GameError.Type) -> DouShouQiModel.GameError", + "children": [ + { + "kind": "TypeNominal", + "name": "GameError", + "printedName": "DouShouQiModel.GameError", + "usr": "s:14DouShouQiModel9GameErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.GameError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "GameError", + "printedName": "DouShouQiModel.GameError", + "usr": "s:14DouShouQiModel9GameErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel9GameErrorO11invalidMoveyA2CmF", + "mangledName": "$s14DouShouQiModel9GameErrorO11invalidMoveyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "nextPlayerError", + "printedName": "nextPlayerError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.GameError.Type) -> DouShouQiModel.GameError", + "children": [ + { + "kind": "TypeNominal", + "name": "GameError", + "printedName": "DouShouQiModel.GameError", + "usr": "s:14DouShouQiModel9GameErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.GameError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "GameError", + "printedName": "DouShouQiModel.GameError", + "usr": "s:14DouShouQiModel9GameErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel9GameErrorO010nextPlayerF0yA2CmF", + "mangledName": "$s14DouShouQiModel9GameErrorO010nextPlayerF0yA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "badPlayerId", + "printedName": "badPlayerId", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.GameError.Type) -> (Swift.String) -> DouShouQiModel.GameError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.String) -> DouShouQiModel.GameError", + "children": [ + { + "kind": "TypeNominal", + "name": "GameError", + "printedName": "DouShouQiModel.GameError", + "usr": "s:14DouShouQiModel9GameErrorO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(message: Swift.String)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.GameError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "GameError", + "printedName": "DouShouQiModel.GameError", + "usr": "s:14DouShouQiModel9GameErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel9GameErrorO11badPlayerIdyACSS_tcACmF", + "mangledName": "$s14DouShouQiModel9GameErrorO11badPlayerIdyACSS_tcACmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "invalidRules", + "printedName": "invalidRules", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.GameError.Type) -> DouShouQiModel.GameError", + "children": [ + { + "kind": "TypeNominal", + "name": "GameError", + "printedName": "DouShouQiModel.GameError", + "usr": "s:14DouShouQiModel9GameErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.GameError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "GameError", + "printedName": "DouShouQiModel.GameError", + "usr": "s:14DouShouQiModel9GameErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel9GameErrorO12invalidRulesyA2CmF", + "mangledName": "$s14DouShouQiModel9GameErrorO12invalidRulesyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "invalidPlayer", + "printedName": "invalidPlayer", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.GameError.Type) -> DouShouQiModel.GameError", + "children": [ + { + "kind": "TypeNominal", + "name": "GameError", + "printedName": "DouShouQiModel.GameError", + "usr": "s:14DouShouQiModel9GameErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.GameError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "GameError", + "printedName": "DouShouQiModel.GameError", + "usr": "s:14DouShouQiModel9GameErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel9GameErrorO13invalidPlayeryA2CmF", + "mangledName": "$s14DouShouQiModel9GameErrorO13invalidPlayeryA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "invalidGame", + "printedName": "invalidGame", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.GameError.Type) -> DouShouQiModel.GameError", + "children": [ + { + "kind": "TypeNominal", + "name": "GameError", + "printedName": "DouShouQiModel.GameError", + "usr": "s:14DouShouQiModel9GameErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.GameError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "GameError", + "printedName": "DouShouQiModel.GameError", + "usr": "s:14DouShouQiModel9GameErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel9GameErrorO07invalidE0yA2CmF", + "mangledName": "$s14DouShouQiModel9GameErrorO07invalidE0yA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "invalidBoard", + "printedName": "invalidBoard", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.GameError.Type) -> DouShouQiModel.GameError", + "children": [ + { + "kind": "TypeNominal", + "name": "GameError", + "printedName": "DouShouQiModel.GameError", + "usr": "s:14DouShouQiModel9GameErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.GameError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "GameError", + "printedName": "DouShouQiModel.GameError", + "usr": "s:14DouShouQiModel9GameErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel9GameErrorO12invalidBoardyA2CmF", + "mangledName": "$s14DouShouQiModel9GameErrorO12invalidBoardyA2CmF", + "moduleName": "DouShouQiModel" + } + ], + "declKind": "Enum", + "usr": "s:14DouShouQiModel9GameErrorO", + "mangledName": "$s14DouShouQiModel9GameErrorO", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Error", + "printedName": "Error", + "usr": "s:s5ErrorP", + "mangledName": "$ss5ErrorP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel" + }, + { + "kind": "TypeDecl", + "name": "RandomPlayer", + "printedName": "RandomPlayer", + "children": [ + { + "kind": "Function", + "name": "chooseMove", + "printedName": "chooseMove(in:with:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Rules", + "printedName": "DouShouQiModel.Rules", + "usr": "s:14DouShouQiModel5RulesP" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel12RandomPlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKF", + "mangledName": "$s14DouShouQiModel12RandomPlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKF", + "moduleName": "DouShouQiModel", + "overriding": true, + "declAttributes": [ + "Override", + "AccessControl" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(withName:andId:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.RandomPlayer?", + "children": [ + { + "kind": "TypeNominal", + "name": "RandomPlayer", + "printedName": "DouShouQiModel.RandomPlayer", + "usr": "s:14DouShouQiModel12RandomPlayerC" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Constructor", + "usr": "s:14DouShouQiModel12RandomPlayerC8withName5andIdACSgSS_AA5OwnerOtcfc", + "mangledName": "$s14DouShouQiModel12RandomPlayerC8withName5andIdACSgSS_AA5OwnerOtcfc", + "moduleName": "DouShouQiModel", + "overriding": true, + "implicit": true, + "declAttributes": [ + "Override" + ], + "init_kind": "Designated" + } + ], + "declKind": "Class", + "usr": "s:14DouShouQiModel12RandomPlayerC", + "mangledName": "$s14DouShouQiModel12RandomPlayerC", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "superclassUsr": "s:14DouShouQiModel8IAPlayerC", + "inheritsConvenienceInitializers": true, + "superclassNames": [ + "DouShouQiModel.IAPlayer", + "DouShouQiModel.Player" + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel" + }, + { + "kind": "TypeDecl", + "name": "CellType", + "printedName": "CellType", + "children": [ + { + "kind": "Var", + "name": "unknown", + "printedName": "unknown", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.CellType.Type) -> DouShouQiModel.CellType", + "children": [ + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.CellType.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel8CellTypeO7unknownyA2CmF", + "mangledName": "$s14DouShouQiModel8CellTypeO7unknownyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "jungle", + "printedName": "jungle", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.CellType.Type) -> DouShouQiModel.CellType", + "children": [ + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.CellType.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel8CellTypeO6jungleyA2CmF", + "mangledName": "$s14DouShouQiModel8CellTypeO6jungleyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "water", + "printedName": "water", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.CellType.Type) -> DouShouQiModel.CellType", + "children": [ + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.CellType.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel8CellTypeO5wateryA2CmF", + "mangledName": "$s14DouShouQiModel8CellTypeO5wateryA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "trap", + "printedName": "trap", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.CellType.Type) -> DouShouQiModel.CellType", + "children": [ + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.CellType.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel8CellTypeO4trapyA2CmF", + "mangledName": "$s14DouShouQiModel8CellTypeO4trapyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "den", + "printedName": "den", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.CellType.Type) -> DouShouQiModel.CellType", + "children": [ + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.CellType.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel8CellTypeO3denyA2CmF", + "mangledName": "$s14DouShouQiModel8CellTypeO3denyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "allCases", + "printedName": "allCases", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.CellType]", + "children": [ + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel8CellTypeO8allCasesSayACGvpZ", + "mangledName": "$s14DouShouQiModel8CellTypeO8allCasesSayACGvpZ", + "moduleName": "DouShouQiModel", + "static": true, + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.CellType]", + "children": [ + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel8CellTypeO8allCasesSayACGvgZ", + "mangledName": "$s14DouShouQiModel8CellTypeO8allCasesSayACGvgZ", + "moduleName": "DouShouQiModel", + "static": true, + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + }, + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel8CellTypeO2eeoiySbAC_ACtFZ", + "mangledName": "$s14DouShouQiModel8CellTypeO2eeoiySbAC_ACtFZ", + "moduleName": "DouShouQiModel", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel8CellTypeO9hashValueSivp", + "mangledName": "$s14DouShouQiModel8CellTypeO9hashValueSivp", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel8CellTypeO9hashValueSivg", + "mangledName": "$s14DouShouQiModel8CellTypeO9hashValueSivg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel8CellTypeO4hash4intoys6HasherVz_tF", + "mangledName": "$s14DouShouQiModel8CellTypeO4hash4intoys6HasherVz_tF", + "moduleName": "DouShouQiModel", + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Enum", + "usr": "s:14DouShouQiModel8CellTypeO", + "mangledName": "$s14DouShouQiModel8CellTypeO", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "CaseIterable", + "printedName": "CaseIterable", + "children": [ + { + "kind": "TypeWitness", + "name": "AllCases", + "printedName": "AllCases", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.CellType]", + "children": [ + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + } + ], + "usr": "s:Sa" + } + ] + } + ], + "usr": "s:s12CaseIterableP", + "mangledName": "$ss12CaseIterableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel" + }, + { + "kind": "TypeDecl", + "name": "Board", + "printedName": "Board", + "children": [ + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5BoardV4hash4intoys6HasherVz_tF", + "mangledName": "$s14DouShouQiModel5BoardV4hash4intoys6HasherVz_tF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "nbRows", + "printedName": "nbRows", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel5BoardV6nbRowsSivp", + "mangledName": "$s14DouShouQiModel5BoardV6nbRowsSivp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel5BoardV6nbRowsSivg", + "mangledName": "$s14DouShouQiModel5BoardV6nbRowsSivg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "nbColumns", + "printedName": "nbColumns", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel5BoardV9nbColumnsSivp", + "mangledName": "$s14DouShouQiModel5BoardV9nbColumnsSivp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel5BoardV9nbColumnsSivg", + "mangledName": "$s14DouShouQiModel5BoardV9nbColumnsSivg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "grid", + "printedName": "grid", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[[DouShouQiModel.Cell]]", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.Cell]", + "children": [ + { + "kind": "TypeNominal", + "name": "Cell", + "printedName": "DouShouQiModel.Cell", + "usr": "s:14DouShouQiModel4CellV" + } + ], + "usr": "s:Sa" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel5BoardV4gridSaySayAA4CellVGGvp", + "mangledName": "$s14DouShouQiModel5BoardV4gridSaySayAA4CellVGGvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasStorage", + "SetterAccess", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[[DouShouQiModel.Cell]]", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.Cell]", + "children": [ + { + "kind": "TypeNominal", + "name": "Cell", + "printedName": "DouShouQiModel.Cell", + "usr": "s:14DouShouQiModel4CellV" + } + ], + "usr": "s:Sa" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel5BoardV4gridSaySayAA4CellVGGvg", + "mangledName": "$s14DouShouQiModel5BoardV4gridSaySayAA4CellVGGvg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(withGrid:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.Board?", + "children": [ + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[[DouShouQiModel.Cell]]", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.Cell]", + "children": [ + { + "kind": "TypeNominal", + "name": "Cell", + "printedName": "DouShouQiModel.Cell", + "usr": "s:14DouShouQiModel4CellV" + } + ], + "usr": "s:Sa" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Constructor", + "usr": "s:14DouShouQiModel5BoardV8withGridACSgSaySayAA4CellVGG_tcfc", + "mangledName": "$s14DouShouQiModel5BoardV8withGridACSgSaySayAA4CellVGG_tcfc", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "countPieces", + "printedName": "countPieces(of:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5BoardV11countPieces2ofSiAA5OwnerO_tF", + "mangledName": "$s14DouShouQiModel5BoardV11countPieces2ofSiAA5OwnerO_tF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "countPieces", + "printedName": "countPieces()", + "children": [ + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(nbOfPiecesOfPlayer1: Swift.Int, nbOfPiecesOfPlayer2: Swift.Int)", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5BoardV11countPiecesSi04nbOfgI7Player1_Si0higI7Player2tyF", + "mangledName": "$s14DouShouQiModel5BoardV11countPiecesSi04nbOfgI7Player1_Si0higI7Player2tyF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "insert", + "printedName": "insert(piece:atRow:andColumn:)", + "children": [ + { + "kind": "TypeNominal", + "name": "BoardResult", + "printedName": "DouShouQiModel.BoardResult", + "usr": "s:14DouShouQiModel11BoardResultO" + }, + { + "kind": "TypeNominal", + "name": "Piece", + "printedName": "DouShouQiModel.Piece", + "usr": "s:14DouShouQiModel5PieceV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5BoardV6insert5piece5atRow9andColumnAA0E6ResultOAA5PieceV_S2itF", + "mangledName": "$s14DouShouQiModel5BoardV6insert5piece5atRow9andColumnAA0E6ResultOAA5PieceV_S2itF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "Mutating", + "AccessControl" + ], + "funcSelfKind": "Mutating" + }, + { + "kind": "Function", + "name": "removePiece", + "printedName": "removePiece(atRow:andColumn:)", + "children": [ + { + "kind": "TypeNominal", + "name": "BoardResult", + "printedName": "DouShouQiModel.BoardResult", + "usr": "s:14DouShouQiModel11BoardResultO" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5BoardV11removePiece5atRow9andColumnAA0E6ResultOSi_SitF", + "mangledName": "$s14DouShouQiModel5BoardV11removePiece5atRow9andColumnAA0E6ResultOSi_SitF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "Mutating", + "AccessControl" + ], + "funcSelfKind": "Mutating" + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel5BoardV9hashValueSivp", + "mangledName": "$s14DouShouQiModel5BoardV9hashValueSivp", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel5BoardV9hashValueSivg", + "mangledName": "$s14DouShouQiModel5BoardV9hashValueSivg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5BoardV2eeoiySbAC_ACtFZ", + "mangledName": "$s14DouShouQiModel5BoardV2eeoiySbAC_ACtFZ", + "moduleName": "DouShouQiModel", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Struct", + "usr": "s:14DouShouQiModel5BoardV", + "mangledName": "$s14DouShouQiModel5BoardV", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel" + }, + { + "kind": "TypeDecl", + "name": "Piece", + "printedName": "Piece", + "children": [ + { + "kind": "Var", + "name": "description", + "printedName": "description", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel5PieceV11descriptionSSvp", + "mangledName": "$s14DouShouQiModel5PieceV11descriptionSSvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel5PieceV11descriptionSSvg", + "mangledName": "$s14DouShouQiModel5PieceV11descriptionSSvg", + "moduleName": "DouShouQiModel", + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "owner", + "printedName": "owner", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel5PieceV5ownerAA5OwnerOvp", + "mangledName": "$s14DouShouQiModel5PieceV5ownerAA5OwnerOvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel5PieceV5ownerAA5OwnerOvg", + "mangledName": "$s14DouShouQiModel5PieceV5ownerAA5OwnerOvg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "animal", + "printedName": "animal", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel5PieceV6animalAA6AnimalOvp", + "mangledName": "$s14DouShouQiModel5PieceV6animalAA6AnimalOvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel5PieceV6animalAA6AnimalOvg", + "mangledName": "$s14DouShouQiModel5PieceV6animalAA6AnimalOvg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(withOwner:andAnimal:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Piece", + "printedName": "DouShouQiModel.Piece", + "usr": "s:14DouShouQiModel5PieceV" + }, + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + }, + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + } + ], + "declKind": "Constructor", + "usr": "s:14DouShouQiModel5PieceV9withOwner9andAnimalAcA0G0O_AA0I0Otcfc", + "mangledName": "$s14DouShouQiModel5PieceV9withOwner9andAnimalAcA0G0O_AA0I0Otcfc", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel5PieceV9hashValueSivp", + "mangledName": "$s14DouShouQiModel5PieceV9hashValueSivp", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel5PieceV9hashValueSivg", + "mangledName": "$s14DouShouQiModel5PieceV9hashValueSivg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5PieceV4hash4intoys6HasherVz_tF", + "mangledName": "$s14DouShouQiModel5PieceV4hash4intoys6HasherVz_tF", + "moduleName": "DouShouQiModel", + "implicit": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Piece", + "printedName": "DouShouQiModel.Piece", + "usr": "s:14DouShouQiModel5PieceV" + }, + { + "kind": "TypeNominal", + "name": "Piece", + "printedName": "DouShouQiModel.Piece", + "usr": "s:14DouShouQiModel5PieceV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5PieceV2eeoiySbAC_ACtFZ", + "mangledName": "$s14DouShouQiModel5PieceV2eeoiySbAC_ACtFZ", + "moduleName": "DouShouQiModel", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Struct", + "usr": "s:14DouShouQiModel5PieceV", + "mangledName": "$s14DouShouQiModel5PieceV", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel" + }, + { + "kind": "TypeDecl", + "name": "InvalidBoardError", + "printedName": "InvalidBoardError", + "children": [ + { + "kind": "Var", + "name": "unknownError", + "printedName": "unknownError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.InvalidBoardError.Type) -> DouShouQiModel.InvalidBoardError", + "children": [ + { + "kind": "TypeNominal", + "name": "InvalidBoardError", + "printedName": "DouShouQiModel.InvalidBoardError", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.InvalidBoardError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "InvalidBoardError", + "printedName": "DouShouQiModel.InvalidBoardError", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO07unknownG0yA2CmF", + "mangledName": "$s14DouShouQiModel17InvalidBoardErrorO07unknownG0yA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "badDimensions", + "printedName": "badDimensions", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.InvalidBoardError.Type) -> (Swift.Int, Swift.Int) -> DouShouQiModel.InvalidBoardError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.Int, Swift.Int) -> DouShouQiModel.InvalidBoardError", + "children": [ + { + "kind": "TypeNominal", + "name": "InvalidBoardError", + "printedName": "DouShouQiModel.InvalidBoardError", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(nbRows: Swift.Int, nbColumns: Swift.Int)", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.InvalidBoardError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "InvalidBoardError", + "printedName": "DouShouQiModel.InvalidBoardError", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO13badDimensionsyACSi_SitcACmF", + "mangledName": "$s14DouShouQiModel17InvalidBoardErrorO13badDimensionsyACSi_SitcACmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "badCellType", + "printedName": "badCellType", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.InvalidBoardError.Type) -> (DouShouQiModel.CellType, Swift.Int, Swift.Int) -> DouShouQiModel.InvalidBoardError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.CellType, Swift.Int, Swift.Int) -> DouShouQiModel.InvalidBoardError", + "children": [ + { + "kind": "TypeNominal", + "name": "InvalidBoardError", + "printedName": "DouShouQiModel.InvalidBoardError", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(cellType: DouShouQiModel.CellType, row: Swift.Int, column: Swift.Int)", + "children": [ + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.InvalidBoardError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "InvalidBoardError", + "printedName": "DouShouQiModel.InvalidBoardError", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO11badCellTypeyAcA0iJ0O_S2itcACmF", + "mangledName": "$s14DouShouQiModel17InvalidBoardErrorO11badCellTypeyAcA0iJ0O_S2itcACmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "multipleOccurenceOfSamePiece", + "printedName": "multipleOccurenceOfSamePiece", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.InvalidBoardError.Type) -> (DouShouQiModel.Piece) -> DouShouQiModel.InvalidBoardError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Piece) -> DouShouQiModel.InvalidBoardError", + "children": [ + { + "kind": "TypeNominal", + "name": "InvalidBoardError", + "printedName": "DouShouQiModel.InvalidBoardError", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(piece: DouShouQiModel.Piece)", + "children": [ + { + "kind": "TypeNominal", + "name": "Piece", + "printedName": "DouShouQiModel.Piece", + "usr": "s:14DouShouQiModel5PieceV" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.InvalidBoardError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "InvalidBoardError", + "printedName": "DouShouQiModel.InvalidBoardError", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO28multipleOccurenceOfSamePieceyAcA0L0V_tcACmF", + "mangledName": "$s14DouShouQiModel17InvalidBoardErrorO28multipleOccurenceOfSamePieceyAcA0L0V_tcACmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "pieceWithNoOwner", + "printedName": "pieceWithNoOwner", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.InvalidBoardError.Type) -> (DouShouQiModel.Piece) -> DouShouQiModel.InvalidBoardError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Piece) -> DouShouQiModel.InvalidBoardError", + "children": [ + { + "kind": "TypeNominal", + "name": "InvalidBoardError", + "printedName": "DouShouQiModel.InvalidBoardError", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(piece: DouShouQiModel.Piece)", + "children": [ + { + "kind": "TypeNominal", + "name": "Piece", + "printedName": "DouShouQiModel.Piece", + "usr": "s:14DouShouQiModel5PieceV" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.InvalidBoardError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "InvalidBoardError", + "printedName": "DouShouQiModel.InvalidBoardError", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO16pieceWithNoOwneryAcA5PieceV_tcACmF", + "mangledName": "$s14DouShouQiModel17InvalidBoardErrorO16pieceWithNoOwneryAcA5PieceV_tcACmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "pieceNotAllowedOnThisCell", + "printedName": "pieceNotAllowedOnThisCell", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.InvalidBoardError.Type) -> (DouShouQiModel.Piece, DouShouQiModel.Cell) -> DouShouQiModel.InvalidBoardError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Piece, DouShouQiModel.Cell) -> DouShouQiModel.InvalidBoardError", + "children": [ + { + "kind": "TypeNominal", + "name": "InvalidBoardError", + "printedName": "DouShouQiModel.InvalidBoardError", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(piece: DouShouQiModel.Piece, cell: DouShouQiModel.Cell)", + "children": [ + { + "kind": "TypeNominal", + "name": "Piece", + "printedName": "DouShouQiModel.Piece", + "usr": "s:14DouShouQiModel5PieceV" + }, + { + "kind": "TypeNominal", + "name": "Cell", + "printedName": "DouShouQiModel.Cell", + "usr": "s:14DouShouQiModel4CellV" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.InvalidBoardError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "InvalidBoardError", + "printedName": "DouShouQiModel.InvalidBoardError", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO25pieceNotAllowedOnThisCellyAcA5PieceV_AA0M0VtcACmF", + "mangledName": "$s14DouShouQiModel17InvalidBoardErrorO25pieceNotAllowedOnThisCellyAcA5PieceV_AA0M0VtcACmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "InvalidBoardError", + "printedName": "DouShouQiModel.InvalidBoardError", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO" + }, + { + "kind": "TypeNominal", + "name": "InvalidBoardError", + "printedName": "DouShouQiModel.InvalidBoardError", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO2eeoiySbAC_ACtFZ", + "mangledName": "$s14DouShouQiModel17InvalidBoardErrorO2eeoiySbAC_ACtFZ", + "moduleName": "DouShouQiModel", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Enum", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO", + "mangledName": "$s14DouShouQiModel17InvalidBoardErrorO", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Error", + "printedName": "Error", + "usr": "s:s5ErrorP", + "mangledName": "$ss5ErrorP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel" + }, + { + "kind": "TypeDecl", + "name": "Owner", + "printedName": "Owner", + "children": [ + { + "kind": "Var", + "name": "noOne", + "printedName": "noOne", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Owner.Type) -> DouShouQiModel.Owner", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.Owner.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel5OwnerO5noOneyA2CmF", + "mangledName": "$s14DouShouQiModel5OwnerO5noOneyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "player1", + "printedName": "player1", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Owner.Type) -> DouShouQiModel.Owner", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.Owner.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel5OwnerO7player1yA2CmF", + "mangledName": "$s14DouShouQiModel5OwnerO7player1yA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "player2", + "printedName": "player2", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Owner.Type) -> DouShouQiModel.Owner", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.Owner.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel5OwnerO7player2yA2CmF", + "mangledName": "$s14DouShouQiModel5OwnerO7player2yA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "simpleDescription", + "printedName": "simpleDescription", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel5OwnerO17simpleDescriptionSSvp", + "mangledName": "$s14DouShouQiModel5OwnerO17simpleDescriptionSSvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel5OwnerO17simpleDescriptionSSvg", + "mangledName": "$s14DouShouQiModel5OwnerO17simpleDescriptionSSvg", + "moduleName": "DouShouQiModel", + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + }, + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5OwnerO2eeoiySbAC_ACtFZ", + "mangledName": "$s14DouShouQiModel5OwnerO2eeoiySbAC_ACtFZ", + "moduleName": "DouShouQiModel", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel5OwnerO9hashValueSivp", + "mangledName": "$s14DouShouQiModel5OwnerO9hashValueSivp", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel5OwnerO9hashValueSivg", + "mangledName": "$s14DouShouQiModel5OwnerO9hashValueSivg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5OwnerO4hash4intoys6HasherVz_tF", + "mangledName": "$s14DouShouQiModel5OwnerO4hash4intoys6HasherVz_tF", + "moduleName": "DouShouQiModel", + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Enum", + "usr": "s:14DouShouQiModel5OwnerO", + "mangledName": "$s14DouShouQiModel5OwnerO", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "TypeDecl", + "name": "IAPlayer", + "printedName": "IAPlayer", + "children": [ + { + "kind": "Constructor", + "name": "init", + "printedName": "init(withName:andId:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.IAPlayer?", + "children": [ + { + "kind": "TypeNominal", + "name": "IAPlayer", + "printedName": "DouShouQiModel.IAPlayer", + "usr": "s:14DouShouQiModel8IAPlayerC" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Constructor", + "usr": "s:14DouShouQiModel8IAPlayerC8withName5andIdACSgSS_AA5OwnerOtcfc", + "mangledName": "$s14DouShouQiModel8IAPlayerC8withName5andIdACSgSS_AA5OwnerOtcfc", + "moduleName": "DouShouQiModel", + "overriding": true, + "implicit": true, + "declAttributes": [ + "Override" + ], + "init_kind": "Designated" + } + ], + "declKind": "Class", + "usr": "s:14DouShouQiModel8IAPlayerC", + "mangledName": "$s14DouShouQiModel8IAPlayerC", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "superclassUsr": "s:14DouShouQiModel6PlayerC", + "inheritsConvenienceInitializers": true, + "superclassNames": [ + "DouShouQiModel.Player" + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel" + }, + { + "kind": "TypeDecl", + "name": "Move", + "printedName": "Move", + "children": [ + { + "kind": "Var", + "name": "owner", + "printedName": "owner", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel4MoveV5ownerAA5OwnerOvp", + "mangledName": "$s14DouShouQiModel4MoveV5ownerAA5OwnerOvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel4MoveV5ownerAA5OwnerOvg", + "mangledName": "$s14DouShouQiModel4MoveV5ownerAA5OwnerOvg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "rowOrigin", + "printedName": "rowOrigin", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel4MoveV9rowOriginSivp", + "mangledName": "$s14DouShouQiModel4MoveV9rowOriginSivp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel4MoveV9rowOriginSivg", + "mangledName": "$s14DouShouQiModel4MoveV9rowOriginSivg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "columnOrigin", + "printedName": "columnOrigin", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel4MoveV12columnOriginSivp", + "mangledName": "$s14DouShouQiModel4MoveV12columnOriginSivp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel4MoveV12columnOriginSivg", + "mangledName": "$s14DouShouQiModel4MoveV12columnOriginSivg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "rowDestination", + "printedName": "rowDestination", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel4MoveV14rowDestinationSivp", + "mangledName": "$s14DouShouQiModel4MoveV14rowDestinationSivp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel4MoveV14rowDestinationSivg", + "mangledName": "$s14DouShouQiModel4MoveV14rowDestinationSivg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "columnDestination", + "printedName": "columnDestination", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel4MoveV17columnDestinationSivp", + "mangledName": "$s14DouShouQiModel4MoveV17columnDestinationSivp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel4MoveV17columnDestinationSivg", + "mangledName": "$s14DouShouQiModel4MoveV17columnDestinationSivg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(of:fromRow:andFromColumn:toRow:andToColumn:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + }, + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Constructor", + "usr": "s:14DouShouQiModel4MoveV2of7fromRow13andFromColumn02toH00i2ToK0AcA5OwnerO_S4itcfc", + "mangledName": "$s14DouShouQiModel4MoveV2of7fromRow13andFromColumn02toH00i2ToK0AcA5OwnerO_S4itcfc", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Var", + "name": "description", + "printedName": "description", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel4MoveV11descriptionSSvp", + "mangledName": "$s14DouShouQiModel4MoveV11descriptionSSvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel4MoveV11descriptionSSvg", + "mangledName": "$s14DouShouQiModel4MoveV11descriptionSSvg", + "moduleName": "DouShouQiModel", + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + }, + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel4MoveV2eeoiySbAC_ACtFZ", + "mangledName": "$s14DouShouQiModel4MoveV2eeoiySbAC_ACtFZ", + "moduleName": "DouShouQiModel", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Struct", + "usr": "s:14DouShouQiModel4MoveV", + "mangledName": "$s14DouShouQiModel4MoveV", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel" + }, + { + "kind": "TypeDecl", + "name": "Animal", + "printedName": "Animal", + "children": [ + { + "kind": "Var", + "name": "rat", + "printedName": "rat", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Animal.Type) -> DouShouQiModel.Animal", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.Animal.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel6AnimalO3ratyA2CmF", + "mangledName": "$s14DouShouQiModel6AnimalO3ratyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "cat", + "printedName": "cat", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Animal.Type) -> DouShouQiModel.Animal", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.Animal.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel6AnimalO3catyA2CmF", + "mangledName": "$s14DouShouQiModel6AnimalO3catyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "dog", + "printedName": "dog", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Animal.Type) -> DouShouQiModel.Animal", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.Animal.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel6AnimalO3dogyA2CmF", + "mangledName": "$s14DouShouQiModel6AnimalO3dogyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "wolf", + "printedName": "wolf", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Animal.Type) -> DouShouQiModel.Animal", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.Animal.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel6AnimalO4wolfyA2CmF", + "mangledName": "$s14DouShouQiModel6AnimalO4wolfyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "leopard", + "printedName": "leopard", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Animal.Type) -> DouShouQiModel.Animal", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.Animal.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel6AnimalO7leopardyA2CmF", + "mangledName": "$s14DouShouQiModel6AnimalO7leopardyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "tiger", + "printedName": "tiger", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Animal.Type) -> DouShouQiModel.Animal", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.Animal.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel6AnimalO5tigeryA2CmF", + "mangledName": "$s14DouShouQiModel6AnimalO5tigeryA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "lion", + "printedName": "lion", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Animal.Type) -> DouShouQiModel.Animal", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.Animal.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel6AnimalO4lionyA2CmF", + "mangledName": "$s14DouShouQiModel6AnimalO4lionyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "elephant", + "printedName": "elephant", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Animal.Type) -> DouShouQiModel.Animal", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.Animal.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel6AnimalO8elephantyA2CmF", + "mangledName": "$s14DouShouQiModel6AnimalO8elephantyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "rawValue", + "printedName": "rawValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel6AnimalO8rawValueSivp", + "mangledName": "$s14DouShouQiModel6AnimalO8rawValueSivp", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel6AnimalO8rawValueSivg", + "mangledName": "$s14DouShouQiModel6AnimalO8rawValueSivg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(rawValue:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.Animal?", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Constructor", + "usr": "s:14DouShouQiModel6AnimalO8rawValueACSgSi_tcfc", + "mangledName": "$s14DouShouQiModel6AnimalO8rawValueACSgSi_tcfc", + "moduleName": "DouShouQiModel", + "implicit": true, + "init_kind": "Designated" + } + ], + "declKind": "Enum", + "usr": "s:14DouShouQiModel6AnimalO", + "mangledName": "$s14DouShouQiModel6AnimalO", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "enumRawTypeName": "Int", + "conformances": [ + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "RawRepresentable", + "printedName": "RawRepresentable", + "children": [ + { + "kind": "TypeWitness", + "name": "RawValue", + "printedName": "RawValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ], + "usr": "s:SY", + "mangledName": "$sSY" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel" + }, + { + "kind": "TypeDecl", + "name": "Game", + "printedName": "Game", + "children": [ + { + "kind": "Var", + "name": "board", + "printedName": "board", + "children": [ + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel4GameC5boardAA5BoardVvp", + "mangledName": "$s14DouShouQiModel4GameC5boardAA5BoardVvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasStorage", + "SetterAccess", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel4GameC5boardAA5BoardVvg", + "mangledName": "$s14DouShouQiModel4GameC5boardAA5BoardVvg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "rules", + "printedName": "rules", + "children": [ + { + "kind": "TypeNominal", + "name": "Rules", + "printedName": "DouShouQiModel.Rules", + "usr": "s:14DouShouQiModel5RulesP" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel4GameC5rulesAA5Rules_pvp", + "mangledName": "$s14DouShouQiModel4GameC5rulesAA5Rules_pvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasStorage", + "SetterAccess", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Rules", + "printedName": "DouShouQiModel.Rules", + "usr": "s:14DouShouQiModel5RulesP" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel4GameC5rulesAA5Rules_pvg", + "mangledName": "$s14DouShouQiModel4GameC5rulesAA5Rules_pvg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "players", + "printedName": "players", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[DouShouQiModel.Owner : DouShouQiModel.Player]", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + }, + { + "kind": "TypeNominal", + "name": "Player", + "printedName": "DouShouQiModel.Player", + "usr": "s:14DouShouQiModel6PlayerC" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel4GameC7playersSDyAA5OwnerOAA6PlayerCGvp", + "mangledName": "$s14DouShouQiModel4GameC7playersSDyAA5OwnerOAA6PlayerCGvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "Final", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[DouShouQiModel.Owner : DouShouQiModel.Player]", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + }, + { + "kind": "TypeNominal", + "name": "Player", + "printedName": "DouShouQiModel.Player", + "usr": "s:14DouShouQiModel6PlayerC" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel4GameC7playersSDyAA5OwnerOAA6PlayerCGvg", + "mangledName": "$s14DouShouQiModel4GameC7playersSDyAA5OwnerOAA6PlayerCGvg", + "moduleName": "DouShouQiModel", + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(withRules:andPlayer1:andPlayer2:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Game", + "printedName": "DouShouQiModel.Game", + "usr": "s:14DouShouQiModel4GameC" + }, + { + "kind": "TypeNominal", + "name": "Rules", + "printedName": "DouShouQiModel.Rules", + "usr": "s:14DouShouQiModel5RulesP" + }, + { + "kind": "TypeNominal", + "name": "Player", + "printedName": "DouShouQiModel.Player", + "usr": "s:14DouShouQiModel6PlayerC" + }, + { + "kind": "TypeNominal", + "name": "Player", + "printedName": "DouShouQiModel.Player", + "usr": "s:14DouShouQiModel6PlayerC" + } + ], + "declKind": "Constructor", + "usr": "s:14DouShouQiModel4GameC9withRules10andPlayer10H7Player2AcA0G0_p_AA6PlayerCAItKcfc", + "mangledName": "$s14DouShouQiModel4GameC9withRules10andPlayer10H7Player2AcA0G0_p_AA6PlayerCAItKcfc", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "throwing": true, + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(withBoard:andRules:andPlayer1:andPlayer2:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Game", + "printedName": "DouShouQiModel.Game", + "usr": "s:14DouShouQiModel4GameC" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Rules", + "printedName": "DouShouQiModel.Rules", + "usr": "s:14DouShouQiModel5RulesP" + }, + { + "kind": "TypeNominal", + "name": "Player", + "printedName": "DouShouQiModel.Player", + "usr": "s:14DouShouQiModel6PlayerC" + }, + { + "kind": "TypeNominal", + "name": "Player", + "printedName": "DouShouQiModel.Player", + "usr": "s:14DouShouQiModel6PlayerC" + } + ], + "declKind": "Constructor", + "usr": "s:14DouShouQiModel4GameC9withBoard8andRules0H7Player10H7Player2AcA0G0V_AA0I0_pAA6PlayerCALtKcfc", + "mangledName": "$s14DouShouQiModel4GameC9withBoard8andRules0H7Player10H7Player2AcA0G0V_AA0I0_pAA6PlayerCALtKcfc", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "throwing": true, + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "addGameStartedListener", + "printedName": "addGameStartedListener(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Board) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + } + ] + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel4GameC03addE15StartedListeneryyyAA5BoardVcF", + "mangledName": "$s14DouShouQiModel4GameC03addE15StartedListeneryyyAA5BoardVcF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "addPlayerNotifiedListener", + "printedName": "addPlayerNotifiedListener(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Board, DouShouQiModel.Player) async throws -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(DouShouQiModel.Board, DouShouQiModel.Player)", + "children": [ + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Player", + "printedName": "DouShouQiModel.Player", + "usr": "s:14DouShouQiModel6PlayerC" + } + ] + } + ] + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel4GameC25addPlayerNotifiedListeneryyyAA5BoardV_AA0G0CtYaKcF", + "mangledName": "$s14DouShouQiModel4GameC25addPlayerNotifiedListeneryyyAA5BoardV_AA0G0CtYaKcF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "addGameChangedListener", + "printedName": "addGameChangedListener(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Game) async -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Game", + "printedName": "DouShouQiModel.Game", + "usr": "s:14DouShouQiModel4GameC" + } + ] + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel4GameC03addE15ChangedListeneryyyACYacF", + "mangledName": "$s14DouShouQiModel4GameC03addE15ChangedListeneryyyACYacF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "addGameOverListener", + "printedName": "addGameOverListener(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Board, DouShouQiModel.Result, DouShouQiModel.Player?) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(DouShouQiModel.Board, DouShouQiModel.Result, DouShouQiModel.Player?)", + "children": [ + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Result", + "printedName": "DouShouQiModel.Result", + "usr": "s:14DouShouQiModel6ResultO" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.Player?", + "children": [ + { + "kind": "TypeNominal", + "name": "Player", + "printedName": "DouShouQiModel.Player", + "usr": "s:14DouShouQiModel6PlayerC" + } + ], + "usr": "s:Sq" + } + ] + } + ] + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel4GameC03addE12OverListeneryyyAA5BoardV_AA6ResultOAA6PlayerCSgtcF", + "mangledName": "$s14DouShouQiModel4GameC03addE12OverListeneryyyAA5BoardV_AA6ResultOAA6PlayerCSgtcF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "addMoveChosenCallbacksListener", + "printedName": "addMoveChosenCallbacksListener(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Board, DouShouQiModel.Move, DouShouQiModel.Player) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(DouShouQiModel.Board, DouShouQiModel.Move, DouShouQiModel.Player)", + "children": [ + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + }, + { + "kind": "TypeNominal", + "name": "Player", + "printedName": "DouShouQiModel.Player", + "usr": "s:14DouShouQiModel6PlayerC" + } + ] + } + ] + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel4GameC30addMoveChosenCallbacksListeneryyyAA5BoardV_AA0G0VAA6PlayerCtcF", + "mangledName": "$s14DouShouQiModel4GameC30addMoveChosenCallbacksListeneryyyAA5BoardV_AA0G0VAA6PlayerCtcF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "addInvalidMoveCallbacksListener", + "printedName": "addInvalidMoveCallbacksListener(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Board, DouShouQiModel.Move, DouShouQiModel.Player, Swift.Bool) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(DouShouQiModel.Board, DouShouQiModel.Move, DouShouQiModel.Player, Swift.Bool)", + "children": [ + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + }, + { + "kind": "TypeNominal", + "name": "Player", + "printedName": "DouShouQiModel.Player", + "usr": "s:14DouShouQiModel6PlayerC" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ] + } + ] + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel4GameC31addInvalidMoveCallbacksListeneryyyAA5BoardV_AA0H0VAA6PlayerCSbtcF", + "mangledName": "$s14DouShouQiModel4GameC31addInvalidMoveCallbacksListeneryyyAA5BoardV_AA0H0VAA6PlayerCSbtcF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "addBoardChangedListener", + "printedName": "addBoardChangedListener(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Board) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + } + ] + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel4GameC23addBoardChangedListeneryyyAA0G0VcF", + "mangledName": "$s14DouShouQiModel4GameC23addBoardChangedListeneryyyAA0G0VcF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "addPieceRemovedListener", + "printedName": "addPieceRemovedListener(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.Int, Swift.Int, DouShouQiModel.Piece) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(Swift.Int, Swift.Int, DouShouQiModel.Piece)", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Piece", + "printedName": "DouShouQiModel.Piece", + "usr": "s:14DouShouQiModel5PieceV" + } + ] + } + ] + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel4GameC23addPieceRemovedListeneryyySi_SiAA0G0VtcF", + "mangledName": "$s14DouShouQiModel4GameC23addPieceRemovedListeneryyySi_SiAA0G0VtcF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "onPlayed", + "printedName": "onPlayed(with:from:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.Move?", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Player", + "printedName": "DouShouQiModel.Player", + "usr": "s:14DouShouQiModel6PlayerC" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel4GameC8onPlayed4with4fromyAA4MoveVSg_AA6PlayerCtYaKF", + "mangledName": "$s14DouShouQiModel4GameC8onPlayed4with4fromyAA4MoveVSg_AA6PlayerCtYaKF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "isOver", + "printedName": "isOver", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel4GameC6isOverSbvp", + "mangledName": "$s14DouShouQiModel4GameC6isOverSbvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "SetterAccess", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel4GameC6isOverSbvg", + "mangledName": "$s14DouShouQiModel4GameC6isOverSbvg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "start", + "printedName": "start()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel4GameC5startyyYaKF", + "mangledName": "$s14DouShouQiModel4GameC5startyyYaKF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:14DouShouQiModel4GameC", + "mangledName": "$s14DouShouQiModel4GameC", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ] + } + ], + "json_format_version": 8 + }, + "ConstValues": [ + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 81, + "length": 1, + "value": "9" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 111, + "length": 1, + "value": "7" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 148, + "length": 1, + "value": "3" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 3048, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 3088, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "Array", + "offset": 3941, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "Dictionary", + "offset": 4285, + "length": 3, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "Array", + "offset": 4475, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 4517, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 4565, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "BooleanLiteral", + "offset": 4967, + "length": 5, + "value": "false" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "Array", + "offset": 6169, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 6189, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 6229, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 9685, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 10586, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 10906, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 11013, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "Array", + "offset": 11170, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 11188, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 11280, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 11325, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 11433, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 11477, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 11569, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 11632, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 11740, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "Array", + "offset": 12266, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 12307, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 12319, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 12326, + "length": 2, + "value": "-1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 12703, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 12714, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 12721, + "length": 2, + "value": "-1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 13086, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 13464, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "BooleanLiteral", + "offset": 15597, + "length": 4, + "value": "true" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 15704, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "BooleanLiteral", + "offset": 15728, + "length": 4, + "value": "true" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 15845, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "BooleanLiteral", + "offset": 15869, + "length": 4, + "value": "true" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "BooleanLiteral", + "offset": 16049, + "length": 4, + "value": "true" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "BooleanLiteral", + "offset": 16149, + "length": 5, + "value": "false" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 16579, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 16584, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "Dictionary", + "offset": 16948, + "length": 3, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "Array", + "offset": 17004, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Cell.swift", + "kind": "StringLiteral", + "offset": 122, + "length": 81, + "value": "\"\"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Cell.swift", + "kind": "StringLiteral", + "offset": 147, + "length": 4, + "value": "\"ø\"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Cell.swift", + "kind": "StringLiteral", + "offset": 152, + "length": 2, + "value": "\" on \"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Cell.swift", + "kind": "StringLiteral", + "offset": 167, + "length": 1, + "value": "\", \"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Cell.swift", + "kind": "StringLiteral", + "offset": 202, + "length": 1, + "value": "\"\"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 89, + "length": 1, + "value": "5" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 119, + "length": 1, + "value": "5" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 2067, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 2107, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 2267, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 2277, + "length": 1, + "value": "2" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 2419, + "length": 1, + "value": "4" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 2429, + "length": 1, + "value": "2" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 2964, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 3004, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "Array", + "offset": 3773, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 3793, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 3833, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "BooleanLiteral", + "offset": 4182, + "length": 4, + "value": "true" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "BooleanLiteral", + "offset": 4292, + "length": 5, + "value": "false" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "Array", + "offset": 4531, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "Array", + "offset": 4639, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 4773, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 4782, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 4800, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 4809, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 4925, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 5013, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "BooleanLiteral", + "offset": 6962, + "length": 4, + "value": "true" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 7077, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "BooleanLiteral", + "offset": 7105, + "length": 4, + "value": "true" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 7230, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "BooleanLiteral", + "offset": 7258, + "length": 4, + "value": "true" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "BooleanLiteral", + "offset": 7350, + "length": 5, + "value": "false" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "Dictionary", + "offset": 8072, + "length": 3, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "Array", + "offset": 8128, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Player.swift", + "kind": "Array", + "offset": 418, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", + "kind": "BooleanLiteral", + "offset": 475, + "length": 5, + "value": "false" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", + "kind": "IntegerLiteral", + "offset": 570, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", + "kind": "IntegerLiteral", + "offset": 694, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", + "kind": "IntegerLiteral", + "offset": 981, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", + "kind": "IntegerLiteral", + "offset": 996, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", + "kind": "IntegerLiteral", + "offset": 1015, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", + "kind": "IntegerLiteral", + "offset": 1049, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", + "kind": "IntegerLiteral", + "offset": 1212, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", + "kind": "IntegerLiteral", + "offset": 1278, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", + "kind": "IntegerLiteral", + "offset": 1548, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", + "kind": "IntegerLiteral", + "offset": 1579, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", + "kind": "IntegerLiteral", + "offset": 1979, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", + "kind": "IntegerLiteral", + "offset": 2010, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Piece.swift", + "kind": "StringLiteral", + "offset": 122, + "length": 40, + "value": "\"[\"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Piece.swift", + "kind": "StringLiteral", + "offset": 150, + "length": 1, + "value": "\":\"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Piece.swift", + "kind": "StringLiteral", + "offset": 160, + "length": 1, + "value": "\"]\"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Owner.swift", + "kind": "StringLiteral", + "offset": 183, + "length": 3, + "value": "\"x\"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Owner.swift", + "kind": "StringLiteral", + "offset": 229, + "length": 3, + "value": "\"1\"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Owner.swift", + "kind": "StringLiteral", + "offset": 275, + "length": 3, + "value": "\"2\"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Move.swift", + "kind": "StringLiteral", + "offset": 616, + "length": 87, + "value": "\"\"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Move.swift", + "kind": "StringLiteral", + "offset": 625, + "length": 1, + "value": "\": [\"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Move.swift", + "kind": "StringLiteral", + "offset": 640, + "length": 1, + "value": "\",\"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Move.swift", + "kind": "StringLiteral", + "offset": 656, + "length": 1, + "value": "\"] -> [\"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Move.swift", + "kind": "StringLiteral", + "offset": 679, + "length": 1, + "value": "\", \"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Move.swift", + "kind": "StringLiteral", + "offset": 701, + "length": 1, + "value": "\"]\"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 60, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 63, + "length": 3, + "value": "2" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 68, + "length": 3, + "value": "3" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 73, + "length": 4, + "value": "4" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 79, + "length": 7, + "value": "5" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 88, + "length": 5, + "value": "6" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 95, + "length": 4, + "value": "7" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 101, + "length": 8, + "value": "8" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 60, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 63, + "length": 3, + "value": "2" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 68, + "length": 3, + "value": "3" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 73, + "length": 4, + "value": "4" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 79, + "length": 7, + "value": "5" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 88, + "length": 5, + "value": "6" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 95, + "length": 4, + "value": "7" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 101, + "length": 8, + "value": "8" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 60, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 63, + "length": 3, + "value": "2" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 68, + "length": 3, + "value": "3" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 73, + "length": 4, + "value": "4" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 79, + "length": 7, + "value": "5" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 88, + "length": 5, + "value": "6" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 95, + "length": 4, + "value": "7" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 101, + "length": 8, + "value": "8" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", + "kind": "StringLiteral", + "offset": 513, + "length": 55, + "value": "\"The ids of players are not .player1 and then .player2\"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", + "kind": "StringLiteral", + "offset": 1483, + "length": 55, + "value": "\"The ids of players are not .player1 and then .player2\"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", + "kind": "Array", + "offset": 1754, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", + "kind": "Array", + "offset": 2090, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", + "kind": "Array", + "offset": 2582, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", + "kind": "Array", + "offset": 3012, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", + "kind": "Array", + "offset": 3416, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", + "kind": "Array", + "offset": 3827, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", + "kind": "Array", + "offset": 4261, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", + "kind": "Array", + "offset": 4580, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", + "kind": "BooleanLiteral", + "offset": 6361, + "length": 4, + "value": "true" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", + "kind": "BooleanLiteral", + "offset": 7044, + "length": 5, + "value": "false" + } + ] +} \ No newline at end of file diff --git a/NEPASTOUCHER/DSQ.xcframework/ios-arm64/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/arm64-apple-ios.private.swiftinterface b/NEPASTOUCHER/DSQ.xcframework/ios-arm64/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/arm64-apple-ios.private.swiftinterface new file mode 100644 index 0000000..a95eaf4 --- /dev/null +++ b/NEPASTOUCHER/DSQ.xcframework/ios-arm64/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/arm64-apple-ios.private.swiftinterface @@ -0,0 +1,266 @@ +// swift-interface-format-version: 1.0 +// swift-compiler-version: Apple Swift version 5.9.2 (swiftlang-5.9.2.2.56 clang-1500.1.0.2.5) +// swift-module-flags: -target arm64-apple-ios16.0 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name DouShouQiModel +// swift-module-flags-ignorable: -enable-bare-slash-regex +@_exported import DouShouQiModel +import Foundation +import Swift +import _Concurrency +import _StringProcessing +import _SwiftConcurrencyShims +public enum Result : Swift.Equatable { + case notFinished + case even + case winner(winner: DouShouQiModel.Owner, reason: DouShouQiModel.WinningReason) + public static func == (a: DouShouQiModel.Result, b: DouShouQiModel.Result) -> Swift.Bool +} +public enum WinningReason { + case denReached, noMorePieces, tooManyOccurences, noMovesLeft + public static func == (a: DouShouQiModel.WinningReason, b: DouShouQiModel.WinningReason) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +public enum BoardResult : Swift.Equatable { + case unknown + case ok(piece: DouShouQiModel.Piece?) + case failed(reason: DouShouQiModel.BoardFailingReason) + public static func == (a: DouShouQiModel.BoardResult, b: DouShouQiModel.BoardResult) -> Swift.Bool +} +public enum BoardFailingReason { + case unknown, outOfBounds, cellNotEmpty, cellEmpty + public static func == (a: DouShouQiModel.BoardFailingReason, b: DouShouQiModel.BoardFailingReason) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +@_inheritsConvenienceInitializers public class HumanPlayer : DouShouQiModel.Player { + public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner, andInputMethod input: @escaping (_ hp: DouShouQiModel.HumanPlayer) -> DouShouQiModel.Move?) + override public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner) + #if compiler(>=5.3) && $AsyncAwait + override public func chooseMove(in board: DouShouQiModel.Board, with rules: any DouShouQiModel.Rules) async throws + #endif + public func changeInput(input: @escaping (_ hp: DouShouQiModel.HumanPlayer) -> DouShouQiModel.Move?) + #if compiler(>=5.3) && $AsyncAwait + public func chooseMove(_ move: DouShouQiModel.Move?) async throws + #endif + @objc deinit +} +public struct ClassicRules : DouShouQiModel.Rules { + public static func createBoard() -> DouShouQiModel.Board + public static func checkBoard(_ board: DouShouQiModel.Board) throws + public init() + public init(occurences: [DouShouQiModel.Board : Swift.Int], historic: [DouShouQiModel.Move]) + public func getMoves(in board: DouShouQiModel.Board, of owner: DouShouQiModel.Owner) -> [DouShouQiModel.Move] + public func getMoves(in board: DouShouQiModel.Board, of owner: DouShouQiModel.Owner, fromRow row: Swift.Int, andColumn col: Swift.Int) -> [DouShouQiModel.Move] + public func isMoveValid(onBoard board: DouShouQiModel.Board, fromRow originRow: Swift.Int, andFromColumn originColumn: Swift.Int, toRow destinationRow: Swift.Int, andToColumn destinationColumn: Swift.Int) -> Swift.Bool + public func isMoveValid(onBoard board: DouShouQiModel.Board, withMove move: DouShouQiModel.Move) -> Swift.Bool + public func isGameOver(withBoard board: DouShouQiModel.Board, andLastRowPlayed lastRow: Swift.Int, andLastColumnPlayer lastColumn: Swift.Int) -> (Swift.Bool, DouShouQiModel.Result) + public mutating func playedMove(_ move: DouShouQiModel.Move, onStartingBoard board: DouShouQiModel.Board, andResultingBoard resultingBoard: DouShouQiModel.Board) throws + public func getNextPlayer() -> DouShouQiModel.Owner + public var occurences: [DouShouQiModel.Board : Swift.Int] { + get + } + public var historic: [DouShouQiModel.Move] { + get + } +} +public struct Cell : Swift.CustomStringConvertible, Swift.Equatable { + public var description: Swift.String { + get + } + public let cellType: DouShouQiModel.CellType + public let initialOwner: DouShouQiModel.Owner + public var piece: DouShouQiModel.Piece? + public init(ofType cellType: DouShouQiModel.CellType, ownedBy initialOwner: DouShouQiModel.Owner = .noOne, withPiece piece: DouShouQiModel.Piece? = nil) + public static func == (a: DouShouQiModel.Cell, b: DouShouQiModel.Cell) -> Swift.Bool +} +public struct VerySimpleRules : DouShouQiModel.Rules { + public static func createBoard() -> DouShouQiModel.Board + public static func checkBoard(_ board: DouShouQiModel.Board) throws + public init() + public init(occurences: [DouShouQiModel.Board : Swift.Int], historic: [DouShouQiModel.Move]) + public func getMoves(in board: DouShouQiModel.Board, of owner: DouShouQiModel.Owner) -> [DouShouQiModel.Move] + public func getMoves(in board: DouShouQiModel.Board, of owner: DouShouQiModel.Owner, fromRow row: Swift.Int, andColumn col: Swift.Int) -> [DouShouQiModel.Move] + public func isMoveValid(onBoard board: DouShouQiModel.Board, fromRow originRow: Swift.Int, andFromColumn originColumn: Swift.Int, toRow destinationRow: Swift.Int, andToColumn destinationColumn: Swift.Int) -> Swift.Bool + public func isMoveValid(onBoard board: DouShouQiModel.Board, withMove move: DouShouQiModel.Move) -> Swift.Bool + public func isGameOver(withBoard board: DouShouQiModel.Board, andLastRowPlayed lastRow: Swift.Int, andLastColumnPlayer lastColumn: Swift.Int) -> (Swift.Bool, DouShouQiModel.Result) + public mutating func playedMove(_ move: DouShouQiModel.Move, onStartingBoard board: DouShouQiModel.Board, andResultingBoard resultingBoard: DouShouQiModel.Board) throws + public func getNextPlayer() -> DouShouQiModel.Owner + public var occurences: [DouShouQiModel.Board : Swift.Int] { + get + } + public var historic: [DouShouQiModel.Move] { + get + } +} +public protocol Rules { + static func createBoard() -> DouShouQiModel.Board + static func checkBoard(_ board: DouShouQiModel.Board) throws + func getNextPlayer() -> DouShouQiModel.Owner + func getMoves(in board: DouShouQiModel.Board, of: DouShouQiModel.Owner) -> [DouShouQiModel.Move] + func getMoves(in board: DouShouQiModel.Board, of: DouShouQiModel.Owner, fromRow row: Swift.Int, andColumn col: Swift.Int) -> [DouShouQiModel.Move] + func isMoveValid(onBoard: DouShouQiModel.Board, fromRow: Swift.Int, andFromColumn: Swift.Int, toRow: Swift.Int, andToColumn: Swift.Int) -> Swift.Bool + func isMoveValid(onBoard: DouShouQiModel.Board, withMove move: DouShouQiModel.Move) -> Swift.Bool + func isGameOver(withBoard: DouShouQiModel.Board, andLastRowPlayed: Swift.Int, andLastColumnPlayer: Swift.Int) -> (Swift.Bool, DouShouQiModel.Result) + mutating func playedMove(_ move: DouShouQiModel.Move, onStartingBoard board: DouShouQiModel.Board, andResultingBoard resultingBoard: DouShouQiModel.Board) throws + var occurences: [DouShouQiModel.Board : Swift.Int] { get } + var historic: [DouShouQiModel.Move] { get } +} +public class Player { + final public let name: Swift.String + final public let id: DouShouQiModel.Owner + public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner) + #if compiler(>=5.3) && $AsyncAwait + public func chooseMove(in board: DouShouQiModel.Board, with rules: any DouShouQiModel.Rules) async throws + #endif + #if compiler(>=5.3) && $AsyncAwait + public func addPlayedCallbacksListener(_ listener: @escaping (DouShouQiModel.Move?, DouShouQiModel.Player) async throws -> Swift.Void) + #endif + #if compiler(>=5.3) && $AsyncAwait + public func notifyPlayed(withMove move: DouShouQiModel.Move?, andPlayer player: DouShouQiModel.Player) async throws + #endif + @objc deinit +} +public enum GameError : Swift.Error { + case invalidMove, nextPlayerError, badPlayerId(message: Swift.String), invalidRules, invalidPlayer, invalidGame, invalidBoard +} +@_inheritsConvenienceInitializers public class RandomPlayer : DouShouQiModel.IAPlayer { + #if compiler(>=5.3) && $AsyncAwait + override public func chooseMove(in board: DouShouQiModel.Board, with rules: any DouShouQiModel.Rules) async throws + #endif + override public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner) + @objc deinit +} +public enum CellType : Swift.CaseIterable { + case unknown, jungle, water, trap, den + public static func == (a: DouShouQiModel.CellType, b: DouShouQiModel.CellType) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public typealias AllCases = [DouShouQiModel.CellType] + public static var allCases: [DouShouQiModel.CellType] { + get + } + public var hashValue: Swift.Int { + get + } +} +public struct Board : Swift.Hashable { + public func hash(into hasher: inout Swift.Hasher) + public let nbRows: Swift.Int + public let nbColumns: Swift.Int + public var grid: [[DouShouQiModel.Cell]] { + get + } + public init?(withGrid grid: [[DouShouQiModel.Cell]]) + public func countPieces(of owner: DouShouQiModel.Owner) -> Swift.Int + public func countPieces() -> (nbOfPiecesOfPlayer1: Swift.Int, nbOfPiecesOfPlayer2: Swift.Int) + public mutating func insert(piece: DouShouQiModel.Piece, atRow row: Swift.Int, andColumn column: Swift.Int) -> DouShouQiModel.BoardResult + public mutating func removePiece(atRow row: Swift.Int, andColumn column: Swift.Int) -> DouShouQiModel.BoardResult + public static func == (a: DouShouQiModel.Board, b: DouShouQiModel.Board) -> Swift.Bool + public var hashValue: Swift.Int { + get + } +} +public struct Piece : Swift.CustomStringConvertible, Swift.Hashable { + public var description: Swift.String { + get + } + public let owner: DouShouQiModel.Owner + public let animal: DouShouQiModel.Animal + public init(withOwner owner: DouShouQiModel.Owner, andAnimal animal: DouShouQiModel.Animal) + public func hash(into hasher: inout Swift.Hasher) + public static func == (a: DouShouQiModel.Piece, b: DouShouQiModel.Piece) -> Swift.Bool + public var hashValue: Swift.Int { + get + } +} +public enum InvalidBoardError : Swift.Error, Swift.Equatable { + case unknownError + case badDimensions(nbRows: Swift.Int, nbColumns: Swift.Int) + case badCellType(cellType: DouShouQiModel.CellType, row: Swift.Int, column: Swift.Int) + case multipleOccurenceOfSamePiece(piece: DouShouQiModel.Piece) + case pieceWithNoOwner(piece: DouShouQiModel.Piece) + case pieceNotAllowedOnThisCell(piece: DouShouQiModel.Piece, cell: DouShouQiModel.Cell) + public static func == (a: DouShouQiModel.InvalidBoardError, b: DouShouQiModel.InvalidBoardError) -> Swift.Bool +} +public enum Owner { + case noOne, player1, player2 + public var simpleDescription: Swift.String { + get + } + public static func == (a: DouShouQiModel.Owner, b: DouShouQiModel.Owner) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +@_inheritsConvenienceInitializers public class IAPlayer : DouShouQiModel.Player { + override public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner) + @objc deinit +} +public struct Move : Swift.CustomStringConvertible, Swift.Equatable { + public let owner: DouShouQiModel.Owner + public let rowOrigin: Swift.Int + public let columnOrigin: Swift.Int + public let rowDestination: Swift.Int + public let columnDestination: Swift.Int + public init(of owner: DouShouQiModel.Owner, fromRow rowOrigin: Swift.Int, andFromColumn colOrigin: Swift.Int, toRow rowDest: Swift.Int, andToColumn colDest: Swift.Int) + public var description: Swift.String { + get + } + public static func == (a: DouShouQiModel.Move, b: DouShouQiModel.Move) -> Swift.Bool +} +public enum Animal : Swift.Int { + case rat, cat, dog, wolf, leopard, tiger, lion, elephant + public init?(rawValue: Swift.Int) + public typealias RawValue = Swift.Int + public var rawValue: Swift.Int { + get + } +} +public class Game { + public var board: DouShouQiModel.Board { + get + } + public var rules: any DouShouQiModel.Rules { + get + } + final public let players: [DouShouQiModel.Owner : DouShouQiModel.Player] + public init(withRules rules: any DouShouQiModel.Rules, andPlayer1 player1: DouShouQiModel.Player, andPlayer2 player2: DouShouQiModel.Player) throws + public init(withBoard board: DouShouQiModel.Board, andRules rules: any DouShouQiModel.Rules, andPlayer1 player1: DouShouQiModel.Player, andPlayer2 player2: DouShouQiModel.Player) throws + public func addGameStartedListener(_ listener: @escaping (DouShouQiModel.Board) -> Swift.Void) + #if compiler(>=5.3) && $AsyncAwait + public func addPlayerNotifiedListener(_ listener: @escaping (DouShouQiModel.Board, DouShouQiModel.Player) async throws -> Swift.Void) + #endif + #if compiler(>=5.3) && $AsyncAwait + public func addGameChangedListener(_ listener: @escaping (DouShouQiModel.Game) async -> Swift.Void) + #endif + public func addGameOverListener(_ listener: @escaping (DouShouQiModel.Board, DouShouQiModel.Result, DouShouQiModel.Player?) -> Swift.Void) + public func addMoveChosenCallbacksListener(_ listener: @escaping (DouShouQiModel.Board, DouShouQiModel.Move, DouShouQiModel.Player) -> Swift.Void) + public func addInvalidMoveCallbacksListener(_ listener: @escaping (DouShouQiModel.Board, DouShouQiModel.Move, DouShouQiModel.Player, Swift.Bool) -> Swift.Void) + public func addBoardChangedListener(_ listener: @escaping (DouShouQiModel.Board) -> Swift.Void) + public func addPieceRemovedListener(_ listener: @escaping (Swift.Int, Swift.Int, DouShouQiModel.Piece) -> Swift.Void) + #if compiler(>=5.3) && $AsyncAwait + public func onPlayed(with move: DouShouQiModel.Move?, from player: DouShouQiModel.Player) async throws + #endif + public var isOver: Swift.Bool { + get + } + #if compiler(>=5.3) && $AsyncAwait + public func start() async throws + #endif + @objc deinit +} +extension DouShouQiModel.WinningReason : Swift.Equatable {} +extension DouShouQiModel.WinningReason : Swift.Hashable {} +extension DouShouQiModel.BoardFailingReason : Swift.Equatable {} +extension DouShouQiModel.BoardFailingReason : Swift.Hashable {} +extension DouShouQiModel.CellType : Swift.Equatable {} +extension DouShouQiModel.CellType : Swift.Hashable {} +extension DouShouQiModel.Owner : Swift.Equatable {} +extension DouShouQiModel.Owner : Swift.Hashable {} +extension DouShouQiModel.Animal : Swift.Equatable {} +extension DouShouQiModel.Animal : Swift.Hashable {} +extension DouShouQiModel.Animal : Swift.RawRepresentable {} diff --git a/NEPASTOUCHER/DSQ.xcframework/ios-arm64/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/arm64-apple-ios.swiftdoc b/NEPASTOUCHER/DSQ.xcframework/ios-arm64/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/arm64-apple-ios.swiftdoc new file mode 100644 index 0000000..b732cc2 Binary files /dev/null and b/NEPASTOUCHER/DSQ.xcframework/ios-arm64/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/arm64-apple-ios.swiftdoc differ diff --git a/NEPASTOUCHER/DSQ.xcframework/ios-arm64/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/arm64-apple-ios.swiftinterface b/NEPASTOUCHER/DSQ.xcframework/ios-arm64/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/arm64-apple-ios.swiftinterface new file mode 100644 index 0000000..a95eaf4 --- /dev/null +++ b/NEPASTOUCHER/DSQ.xcframework/ios-arm64/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/arm64-apple-ios.swiftinterface @@ -0,0 +1,266 @@ +// swift-interface-format-version: 1.0 +// swift-compiler-version: Apple Swift version 5.9.2 (swiftlang-5.9.2.2.56 clang-1500.1.0.2.5) +// swift-module-flags: -target arm64-apple-ios16.0 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name DouShouQiModel +// swift-module-flags-ignorable: -enable-bare-slash-regex +@_exported import DouShouQiModel +import Foundation +import Swift +import _Concurrency +import _StringProcessing +import _SwiftConcurrencyShims +public enum Result : Swift.Equatable { + case notFinished + case even + case winner(winner: DouShouQiModel.Owner, reason: DouShouQiModel.WinningReason) + public static func == (a: DouShouQiModel.Result, b: DouShouQiModel.Result) -> Swift.Bool +} +public enum WinningReason { + case denReached, noMorePieces, tooManyOccurences, noMovesLeft + public static func == (a: DouShouQiModel.WinningReason, b: DouShouQiModel.WinningReason) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +public enum BoardResult : Swift.Equatable { + case unknown + case ok(piece: DouShouQiModel.Piece?) + case failed(reason: DouShouQiModel.BoardFailingReason) + public static func == (a: DouShouQiModel.BoardResult, b: DouShouQiModel.BoardResult) -> Swift.Bool +} +public enum BoardFailingReason { + case unknown, outOfBounds, cellNotEmpty, cellEmpty + public static func == (a: DouShouQiModel.BoardFailingReason, b: DouShouQiModel.BoardFailingReason) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +@_inheritsConvenienceInitializers public class HumanPlayer : DouShouQiModel.Player { + public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner, andInputMethod input: @escaping (_ hp: DouShouQiModel.HumanPlayer) -> DouShouQiModel.Move?) + override public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner) + #if compiler(>=5.3) && $AsyncAwait + override public func chooseMove(in board: DouShouQiModel.Board, with rules: any DouShouQiModel.Rules) async throws + #endif + public func changeInput(input: @escaping (_ hp: DouShouQiModel.HumanPlayer) -> DouShouQiModel.Move?) + #if compiler(>=5.3) && $AsyncAwait + public func chooseMove(_ move: DouShouQiModel.Move?) async throws + #endif + @objc deinit +} +public struct ClassicRules : DouShouQiModel.Rules { + public static func createBoard() -> DouShouQiModel.Board + public static func checkBoard(_ board: DouShouQiModel.Board) throws + public init() + public init(occurences: [DouShouQiModel.Board : Swift.Int], historic: [DouShouQiModel.Move]) + public func getMoves(in board: DouShouQiModel.Board, of owner: DouShouQiModel.Owner) -> [DouShouQiModel.Move] + public func getMoves(in board: DouShouQiModel.Board, of owner: DouShouQiModel.Owner, fromRow row: Swift.Int, andColumn col: Swift.Int) -> [DouShouQiModel.Move] + public func isMoveValid(onBoard board: DouShouQiModel.Board, fromRow originRow: Swift.Int, andFromColumn originColumn: Swift.Int, toRow destinationRow: Swift.Int, andToColumn destinationColumn: Swift.Int) -> Swift.Bool + public func isMoveValid(onBoard board: DouShouQiModel.Board, withMove move: DouShouQiModel.Move) -> Swift.Bool + public func isGameOver(withBoard board: DouShouQiModel.Board, andLastRowPlayed lastRow: Swift.Int, andLastColumnPlayer lastColumn: Swift.Int) -> (Swift.Bool, DouShouQiModel.Result) + public mutating func playedMove(_ move: DouShouQiModel.Move, onStartingBoard board: DouShouQiModel.Board, andResultingBoard resultingBoard: DouShouQiModel.Board) throws + public func getNextPlayer() -> DouShouQiModel.Owner + public var occurences: [DouShouQiModel.Board : Swift.Int] { + get + } + public var historic: [DouShouQiModel.Move] { + get + } +} +public struct Cell : Swift.CustomStringConvertible, Swift.Equatable { + public var description: Swift.String { + get + } + public let cellType: DouShouQiModel.CellType + public let initialOwner: DouShouQiModel.Owner + public var piece: DouShouQiModel.Piece? + public init(ofType cellType: DouShouQiModel.CellType, ownedBy initialOwner: DouShouQiModel.Owner = .noOne, withPiece piece: DouShouQiModel.Piece? = nil) + public static func == (a: DouShouQiModel.Cell, b: DouShouQiModel.Cell) -> Swift.Bool +} +public struct VerySimpleRules : DouShouQiModel.Rules { + public static func createBoard() -> DouShouQiModel.Board + public static func checkBoard(_ board: DouShouQiModel.Board) throws + public init() + public init(occurences: [DouShouQiModel.Board : Swift.Int], historic: [DouShouQiModel.Move]) + public func getMoves(in board: DouShouQiModel.Board, of owner: DouShouQiModel.Owner) -> [DouShouQiModel.Move] + public func getMoves(in board: DouShouQiModel.Board, of owner: DouShouQiModel.Owner, fromRow row: Swift.Int, andColumn col: Swift.Int) -> [DouShouQiModel.Move] + public func isMoveValid(onBoard board: DouShouQiModel.Board, fromRow originRow: Swift.Int, andFromColumn originColumn: Swift.Int, toRow destinationRow: Swift.Int, andToColumn destinationColumn: Swift.Int) -> Swift.Bool + public func isMoveValid(onBoard board: DouShouQiModel.Board, withMove move: DouShouQiModel.Move) -> Swift.Bool + public func isGameOver(withBoard board: DouShouQiModel.Board, andLastRowPlayed lastRow: Swift.Int, andLastColumnPlayer lastColumn: Swift.Int) -> (Swift.Bool, DouShouQiModel.Result) + public mutating func playedMove(_ move: DouShouQiModel.Move, onStartingBoard board: DouShouQiModel.Board, andResultingBoard resultingBoard: DouShouQiModel.Board) throws + public func getNextPlayer() -> DouShouQiModel.Owner + public var occurences: [DouShouQiModel.Board : Swift.Int] { + get + } + public var historic: [DouShouQiModel.Move] { + get + } +} +public protocol Rules { + static func createBoard() -> DouShouQiModel.Board + static func checkBoard(_ board: DouShouQiModel.Board) throws + func getNextPlayer() -> DouShouQiModel.Owner + func getMoves(in board: DouShouQiModel.Board, of: DouShouQiModel.Owner) -> [DouShouQiModel.Move] + func getMoves(in board: DouShouQiModel.Board, of: DouShouQiModel.Owner, fromRow row: Swift.Int, andColumn col: Swift.Int) -> [DouShouQiModel.Move] + func isMoveValid(onBoard: DouShouQiModel.Board, fromRow: Swift.Int, andFromColumn: Swift.Int, toRow: Swift.Int, andToColumn: Swift.Int) -> Swift.Bool + func isMoveValid(onBoard: DouShouQiModel.Board, withMove move: DouShouQiModel.Move) -> Swift.Bool + func isGameOver(withBoard: DouShouQiModel.Board, andLastRowPlayed: Swift.Int, andLastColumnPlayer: Swift.Int) -> (Swift.Bool, DouShouQiModel.Result) + mutating func playedMove(_ move: DouShouQiModel.Move, onStartingBoard board: DouShouQiModel.Board, andResultingBoard resultingBoard: DouShouQiModel.Board) throws + var occurences: [DouShouQiModel.Board : Swift.Int] { get } + var historic: [DouShouQiModel.Move] { get } +} +public class Player { + final public let name: Swift.String + final public let id: DouShouQiModel.Owner + public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner) + #if compiler(>=5.3) && $AsyncAwait + public func chooseMove(in board: DouShouQiModel.Board, with rules: any DouShouQiModel.Rules) async throws + #endif + #if compiler(>=5.3) && $AsyncAwait + public func addPlayedCallbacksListener(_ listener: @escaping (DouShouQiModel.Move?, DouShouQiModel.Player) async throws -> Swift.Void) + #endif + #if compiler(>=5.3) && $AsyncAwait + public func notifyPlayed(withMove move: DouShouQiModel.Move?, andPlayer player: DouShouQiModel.Player) async throws + #endif + @objc deinit +} +public enum GameError : Swift.Error { + case invalidMove, nextPlayerError, badPlayerId(message: Swift.String), invalidRules, invalidPlayer, invalidGame, invalidBoard +} +@_inheritsConvenienceInitializers public class RandomPlayer : DouShouQiModel.IAPlayer { + #if compiler(>=5.3) && $AsyncAwait + override public func chooseMove(in board: DouShouQiModel.Board, with rules: any DouShouQiModel.Rules) async throws + #endif + override public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner) + @objc deinit +} +public enum CellType : Swift.CaseIterable { + case unknown, jungle, water, trap, den + public static func == (a: DouShouQiModel.CellType, b: DouShouQiModel.CellType) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public typealias AllCases = [DouShouQiModel.CellType] + public static var allCases: [DouShouQiModel.CellType] { + get + } + public var hashValue: Swift.Int { + get + } +} +public struct Board : Swift.Hashable { + public func hash(into hasher: inout Swift.Hasher) + public let nbRows: Swift.Int + public let nbColumns: Swift.Int + public var grid: [[DouShouQiModel.Cell]] { + get + } + public init?(withGrid grid: [[DouShouQiModel.Cell]]) + public func countPieces(of owner: DouShouQiModel.Owner) -> Swift.Int + public func countPieces() -> (nbOfPiecesOfPlayer1: Swift.Int, nbOfPiecesOfPlayer2: Swift.Int) + public mutating func insert(piece: DouShouQiModel.Piece, atRow row: Swift.Int, andColumn column: Swift.Int) -> DouShouQiModel.BoardResult + public mutating func removePiece(atRow row: Swift.Int, andColumn column: Swift.Int) -> DouShouQiModel.BoardResult + public static func == (a: DouShouQiModel.Board, b: DouShouQiModel.Board) -> Swift.Bool + public var hashValue: Swift.Int { + get + } +} +public struct Piece : Swift.CustomStringConvertible, Swift.Hashable { + public var description: Swift.String { + get + } + public let owner: DouShouQiModel.Owner + public let animal: DouShouQiModel.Animal + public init(withOwner owner: DouShouQiModel.Owner, andAnimal animal: DouShouQiModel.Animal) + public func hash(into hasher: inout Swift.Hasher) + public static func == (a: DouShouQiModel.Piece, b: DouShouQiModel.Piece) -> Swift.Bool + public var hashValue: Swift.Int { + get + } +} +public enum InvalidBoardError : Swift.Error, Swift.Equatable { + case unknownError + case badDimensions(nbRows: Swift.Int, nbColumns: Swift.Int) + case badCellType(cellType: DouShouQiModel.CellType, row: Swift.Int, column: Swift.Int) + case multipleOccurenceOfSamePiece(piece: DouShouQiModel.Piece) + case pieceWithNoOwner(piece: DouShouQiModel.Piece) + case pieceNotAllowedOnThisCell(piece: DouShouQiModel.Piece, cell: DouShouQiModel.Cell) + public static func == (a: DouShouQiModel.InvalidBoardError, b: DouShouQiModel.InvalidBoardError) -> Swift.Bool +} +public enum Owner { + case noOne, player1, player2 + public var simpleDescription: Swift.String { + get + } + public static func == (a: DouShouQiModel.Owner, b: DouShouQiModel.Owner) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +@_inheritsConvenienceInitializers public class IAPlayer : DouShouQiModel.Player { + override public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner) + @objc deinit +} +public struct Move : Swift.CustomStringConvertible, Swift.Equatable { + public let owner: DouShouQiModel.Owner + public let rowOrigin: Swift.Int + public let columnOrigin: Swift.Int + public let rowDestination: Swift.Int + public let columnDestination: Swift.Int + public init(of owner: DouShouQiModel.Owner, fromRow rowOrigin: Swift.Int, andFromColumn colOrigin: Swift.Int, toRow rowDest: Swift.Int, andToColumn colDest: Swift.Int) + public var description: Swift.String { + get + } + public static func == (a: DouShouQiModel.Move, b: DouShouQiModel.Move) -> Swift.Bool +} +public enum Animal : Swift.Int { + case rat, cat, dog, wolf, leopard, tiger, lion, elephant + public init?(rawValue: Swift.Int) + public typealias RawValue = Swift.Int + public var rawValue: Swift.Int { + get + } +} +public class Game { + public var board: DouShouQiModel.Board { + get + } + public var rules: any DouShouQiModel.Rules { + get + } + final public let players: [DouShouQiModel.Owner : DouShouQiModel.Player] + public init(withRules rules: any DouShouQiModel.Rules, andPlayer1 player1: DouShouQiModel.Player, andPlayer2 player2: DouShouQiModel.Player) throws + public init(withBoard board: DouShouQiModel.Board, andRules rules: any DouShouQiModel.Rules, andPlayer1 player1: DouShouQiModel.Player, andPlayer2 player2: DouShouQiModel.Player) throws + public func addGameStartedListener(_ listener: @escaping (DouShouQiModel.Board) -> Swift.Void) + #if compiler(>=5.3) && $AsyncAwait + public func addPlayerNotifiedListener(_ listener: @escaping (DouShouQiModel.Board, DouShouQiModel.Player) async throws -> Swift.Void) + #endif + #if compiler(>=5.3) && $AsyncAwait + public func addGameChangedListener(_ listener: @escaping (DouShouQiModel.Game) async -> Swift.Void) + #endif + public func addGameOverListener(_ listener: @escaping (DouShouQiModel.Board, DouShouQiModel.Result, DouShouQiModel.Player?) -> Swift.Void) + public func addMoveChosenCallbacksListener(_ listener: @escaping (DouShouQiModel.Board, DouShouQiModel.Move, DouShouQiModel.Player) -> Swift.Void) + public func addInvalidMoveCallbacksListener(_ listener: @escaping (DouShouQiModel.Board, DouShouQiModel.Move, DouShouQiModel.Player, Swift.Bool) -> Swift.Void) + public func addBoardChangedListener(_ listener: @escaping (DouShouQiModel.Board) -> Swift.Void) + public func addPieceRemovedListener(_ listener: @escaping (Swift.Int, Swift.Int, DouShouQiModel.Piece) -> Swift.Void) + #if compiler(>=5.3) && $AsyncAwait + public func onPlayed(with move: DouShouQiModel.Move?, from player: DouShouQiModel.Player) async throws + #endif + public var isOver: Swift.Bool { + get + } + #if compiler(>=5.3) && $AsyncAwait + public func start() async throws + #endif + @objc deinit +} +extension DouShouQiModel.WinningReason : Swift.Equatable {} +extension DouShouQiModel.WinningReason : Swift.Hashable {} +extension DouShouQiModel.BoardFailingReason : Swift.Equatable {} +extension DouShouQiModel.BoardFailingReason : Swift.Hashable {} +extension DouShouQiModel.CellType : Swift.Equatable {} +extension DouShouQiModel.CellType : Swift.Hashable {} +extension DouShouQiModel.Owner : Swift.Equatable {} +extension DouShouQiModel.Owner : Swift.Hashable {} +extension DouShouQiModel.Animal : Swift.Equatable {} +extension DouShouQiModel.Animal : Swift.Hashable {} +extension DouShouQiModel.Animal : Swift.RawRepresentable {} diff --git a/NEPASTOUCHER/DSQ.xcframework/ios-arm64/DouShouQiModel.framework/Modules/module.modulemap b/NEPASTOUCHER/DSQ.xcframework/ios-arm64/DouShouQiModel.framework/Modules/module.modulemap new file mode 100644 index 0000000..e7aa10a --- /dev/null +++ b/NEPASTOUCHER/DSQ.xcframework/ios-arm64/DouShouQiModel.framework/Modules/module.modulemap @@ -0,0 +1,11 @@ +framework module DouShouQiModel { + umbrella header "DouShouQiModel.h" + export * + + module * { export * } +} + +module DouShouQiModel.Swift { + header "DouShouQiModel-Swift.h" + requires objc +} diff --git a/NEPASTOUCHER/DSQ.xcframework/ios-arm64/dSYMs/DouShouQiModel.framework.dSYM/Contents/Info.plist b/NEPASTOUCHER/DSQ.xcframework/ios-arm64/dSYMs/DouShouQiModel.framework.dSYM/Contents/Info.plist new file mode 100644 index 0000000..4d0656e --- /dev/null +++ b/NEPASTOUCHER/DSQ.xcframework/ios-arm64/dSYMs/DouShouQiModel.framework.dSYM/Contents/Info.plist @@ -0,0 +1,20 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleIdentifier + com.apple.xcode.dsym.fr.uca.iut.DouShouQiModel + CFBundleInfoDictionaryVersion + 6.0 + CFBundlePackageType + dSYM + CFBundleSignature + ???? + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1 + + diff --git a/NEPASTOUCHER/DSQ.xcframework/ios-arm64/dSYMs/DouShouQiModel.framework.dSYM/Contents/Resources/DWARF/DouShouQiModel b/NEPASTOUCHER/DSQ.xcframework/ios-arm64/dSYMs/DouShouQiModel.framework.dSYM/Contents/Resources/DWARF/DouShouQiModel new file mode 100644 index 0000000..2c8d9e0 Binary files /dev/null and b/NEPASTOUCHER/DSQ.xcframework/ios-arm64/dSYMs/DouShouQiModel.framework.dSYM/Contents/Resources/DWARF/DouShouQiModel differ diff --git a/NEPASTOUCHER/DSQ.xcframework/ios-arm64/dSYMs/DouShouQiModel.framework.dSYM/Contents/Resources/Relocations/aarch64/DouShouQiModel.yml b/NEPASTOUCHER/DSQ.xcframework/ios-arm64/dSYMs/DouShouQiModel.framework.dSYM/Contents/Resources/Relocations/aarch64/DouShouQiModel.yml new file mode 100644 index 0000000..021f2c3 --- /dev/null +++ b/NEPASTOUCHER/DSQ.xcframework/ios-arm64/dSYMs/DouShouQiModel.framework.dSYM/Contents/Resources/Relocations/aarch64/DouShouQiModel.yml @@ -0,0 +1,504 @@ +--- +triple: 'arm64-apple-darwin' +binary-path: '/Users/marcchevaldonne/Library/Developer/Xcode/DerivedData/DouShouQiModel-bzzvovsrfmbhuydeirorjmljgtyf/Build/Intermediates.noindex/ArchiveIntermediates/DouShouQiModel/InstallationBuildProductsLocation/Library/Frameworks/DouShouQiModel.framework/DouShouQiModel' +relocations: + - { offsetInCU: 0x34, offset: 0x2E6D2, size: 0x8, addend: 0x0, symName: _DouShouQiModelVersionString, symObjAddr: 0x0, symBinAddr: 0x140B0, symSize: 0x0 } + - { offsetInCU: 0x69, offset: 0x2E707, size: 0x8, addend: 0x0, symName: _DouShouQiModelVersionNumber, symObjAddr: 0x38, symBinAddr: 0x140E8, symSize: 0x0 } + - { offsetInCU: 0x27, offset: 0x2E744, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6ResultO2eeoiySbAC_ACtFZ', symObjAddr: 0x0, symBinAddr: 0x4000, symSize: 0x4 } + - { offsetInCU: 0x4B, offset: 0x2E768, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6ResultO2eeoiySbAC_ACtFZ', symObjAddr: 0x0, symBinAddr: 0x4000, symSize: 0x4 } + - { offsetInCU: 0x6E, offset: 0x2E78B, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6ResultOSQAASQ2eeoiySbx_xtFZTW', symObjAddr: 0x18, symBinAddr: 0x4018, symSize: 0x4 } + - { offsetInCU: 0x8E, offset: 0x2E7AB, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6ResultOSQAASQ2eeoiySbx_xtFZTW', symObjAddr: 0x18, symBinAddr: 0x4018, symSize: 0x4 } + - { offsetInCU: 0x9F, offset: 0x2E7BC, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6ResultO2eeoiySbAC_ACtFZTf4nnd_n', symObjAddr: 0x148, symBinAddr: 0x4148, symSize: 0x68 } + - { offsetInCU: 0xDD, offset: 0x2E7FA, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel13WinningReasonO2eeoiySbAC_ACtFZ', symObjAddr: 0x4, symBinAddr: 0x4004, symSize: 0x14 } + - { offsetInCU: 0x110, offset: 0x2E82D, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel13WinningReasonO4hash4intoys6HasherVz_tF', symObjAddr: 0x1C, symBinAddr: 0x401C, symSize: 0x28 } + - { offsetInCU: 0x1A6, offset: 0x2E8C3, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel13WinningReasonO9hashValueSivg', symObjAddr: 0x44, symBinAddr: 0x4044, symSize: 0x44 } + - { offsetInCU: 0x2A0, offset: 0x2E9BD, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel13WinningReasonOSQAASQ2eeoiySbx_xtFZTW', symObjAddr: 0x88, symBinAddr: 0x4088, symSize: 0x14 } + - { offsetInCU: 0x2C0, offset: 0x2E9DD, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel13WinningReasonOSQAASQ2eeoiySbx_xtFZTW', symObjAddr: 0x88, symBinAddr: 0x4088, symSize: 0x14 } + - { offsetInCU: 0x300, offset: 0x2EA1D, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel13WinningReasonOSHAASH9hashValueSivgTW', symObjAddr: 0x9C, symBinAddr: 0x409C, symSize: 0x44 } + - { offsetInCU: 0x3E3, offset: 0x2EB00, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel13WinningReasonOSHAASH4hash4intoys6HasherVz_tFTW', symObjAddr: 0xE0, symBinAddr: 0x40E0, symSize: 0x28 } + - { offsetInCU: 0x46C, offset: 0x2EB89, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel13WinningReasonOSHAASQWb', symObjAddr: 0x1B0, symBinAddr: 0x41B0, symSize: 0x4 } + - { offsetInCU: 0x480, offset: 0x2EB9D, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel13WinningReasonOACSQAAWl', symObjAddr: 0x1B4, symBinAddr: 0x41B4, symSize: 0x44 } + - { offsetInCU: 0x494, offset: 0x2EBB1, size: 0x8, addend: 0x0, symName: ___swift_memcpy2_1, symObjAddr: 0x1F8, symBinAddr: 0x41F8, symSize: 0xC } + - { offsetInCU: 0x4A8, offset: 0x2EBC5, size: 0x8, addend: 0x0, symName: ___swift_noop_void_return, symObjAddr: 0x204, symBinAddr: 0x4204, symSize: 0x4 } + - { offsetInCU: 0x4BC, offset: 0x2EBD9, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6ResultOwet', symObjAddr: 0x208, symBinAddr: 0x4208, symSize: 0xAC } + - { offsetInCU: 0x4D0, offset: 0x2EBED, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6ResultOwst', symObjAddr: 0x2B4, symBinAddr: 0x42B4, symSize: 0xC4 } + - { offsetInCU: 0x4E4, offset: 0x2EC01, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6ResultOwug', symObjAddr: 0x378, symBinAddr: 0x4378, symSize: 0x14 } + - { offsetInCU: 0x4F8, offset: 0x2EC15, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6ResultOwup', symObjAddr: 0x38C, symBinAddr: 0x438C, symSize: 0x4 } + - { offsetInCU: 0x50C, offset: 0x2EC29, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6ResultOwui', symObjAddr: 0x390, symBinAddr: 0x4390, symSize: 0x24 } + - { offsetInCU: 0x520, offset: 0x2EC3D, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6ResultOMa', symObjAddr: 0x3B4, symBinAddr: 0x43B4, symSize: 0x10 } + - { offsetInCU: 0x534, offset: 0x2EC51, size: 0x8, addend: 0x0, symName: ___swift_memcpy1_1, symObjAddr: 0x3C4, symBinAddr: 0x43C4, symSize: 0xC } + - { offsetInCU: 0x548, offset: 0x2EC65, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel13WinningReasonOwet', symObjAddr: 0x3D0, symBinAddr: 0x43D0, symSize: 0x90 } + - { offsetInCU: 0x55C, offset: 0x2EC79, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel13WinningReasonOwst', symObjAddr: 0x460, symBinAddr: 0x4460, symSize: 0xBC } + - { offsetInCU: 0x570, offset: 0x2EC8D, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel13WinningReasonOwug', symObjAddr: 0x51C, symBinAddr: 0x451C, symSize: 0x8 } + - { offsetInCU: 0x584, offset: 0x2ECA1, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel13WinningReasonOwup', symObjAddr: 0x524, symBinAddr: 0x4524, symSize: 0x4 } + - { offsetInCU: 0x598, offset: 0x2ECB5, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel13WinningReasonOwui', symObjAddr: 0x528, symBinAddr: 0x4528, symSize: 0x8 } + - { offsetInCU: 0x5AC, offset: 0x2ECC9, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel13WinningReasonOMa', symObjAddr: 0x530, symBinAddr: 0x4530, symSize: 0x10 } + - { offsetInCU: 0x626, offset: 0x2ED43, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel13WinningReasonOSHAASH13_rawHashValue4seedS2i_tFTW', symObjAddr: 0x108, symBinAddr: 0x4108, symSize: 0x40 } + - { offsetInCU: 0x27, offset: 0x2EE86, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11BoardResultO2eeoiySbAC_ACtFZ', symObjAddr: 0x0, symBinAddr: 0x4540, symSize: 0x4 } + - { offsetInCU: 0x4B, offset: 0x2EEAA, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11BoardResultO2eeoiySbAC_ACtFZ', symObjAddr: 0x0, symBinAddr: 0x4540, symSize: 0x4 } + - { offsetInCU: 0x6E, offset: 0x2EECD, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11BoardResultOSQAASQ2eeoiySbx_xtFZTW', symObjAddr: 0x18, symBinAddr: 0x4558, symSize: 0x4 } + - { offsetInCU: 0x8E, offset: 0x2EEED, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11BoardResultOSQAASQ2eeoiySbx_xtFZTW', symObjAddr: 0x18, symBinAddr: 0x4558, symSize: 0x4 } + - { offsetInCU: 0x9F, offset: 0x2EEFE, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11BoardResultO2eeoiySbAC_ACtFZTf4nnd_n', symObjAddr: 0x148, symBinAddr: 0x4688, symSize: 0x7C } + - { offsetInCU: 0xF5, offset: 0x2EF54, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel18BoardFailingReasonO2eeoiySbAC_ACtFZ', symObjAddr: 0x4, symBinAddr: 0x4544, symSize: 0x14 } + - { offsetInCU: 0x128, offset: 0x2EF87, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel18BoardFailingReasonO4hash4intoys6HasherVz_tF', symObjAddr: 0x1C, symBinAddr: 0x455C, symSize: 0x28 } + - { offsetInCU: 0x1BE, offset: 0x2F01D, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel18BoardFailingReasonO9hashValueSivg', symObjAddr: 0x44, symBinAddr: 0x4584, symSize: 0x44 } + - { offsetInCU: 0x2B8, offset: 0x2F117, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel18BoardFailingReasonOSQAASQ2eeoiySbx_xtFZTW', symObjAddr: 0x88, symBinAddr: 0x45C8, symSize: 0x14 } + - { offsetInCU: 0x2D8, offset: 0x2F137, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel18BoardFailingReasonOSQAASQ2eeoiySbx_xtFZTW', symObjAddr: 0x88, symBinAddr: 0x45C8, symSize: 0x14 } + - { offsetInCU: 0x318, offset: 0x2F177, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel18BoardFailingReasonOSHAASH9hashValueSivgTW', symObjAddr: 0x9C, symBinAddr: 0x45DC, symSize: 0x44 } + - { offsetInCU: 0x3FB, offset: 0x2F25A, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel18BoardFailingReasonOSHAASH4hash4intoys6HasherVz_tFTW', symObjAddr: 0xE0, symBinAddr: 0x4620, symSize: 0x28 } + - { offsetInCU: 0x484, offset: 0x2F2E3, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel18BoardFailingReasonOSHAASQWb', symObjAddr: 0x1C4, symBinAddr: 0x4704, symSize: 0x4 } + - { offsetInCU: 0x498, offset: 0x2F2F7, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel18BoardFailingReasonOACSQAAWl', symObjAddr: 0x1C8, symBinAddr: 0x4708, symSize: 0x44 } + - { offsetInCU: 0x4AC, offset: 0x2F30B, size: 0x8, addend: 0x0, symName: ___swift_memcpy3_1, symObjAddr: 0x20C, symBinAddr: 0x474C, symSize: 0x14 } + - { offsetInCU: 0x4C0, offset: 0x2F31F, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11BoardResultOwet', symObjAddr: 0x224, symBinAddr: 0x4760, symSize: 0x74 } + - { offsetInCU: 0x4D4, offset: 0x2F333, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11BoardResultOwst', symObjAddr: 0x298, symBinAddr: 0x47D4, symSize: 0x8C } + - { offsetInCU: 0x4E8, offset: 0x2F347, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11BoardResultOwug', symObjAddr: 0x324, symBinAddr: 0x4860, symSize: 0x18 } + - { offsetInCU: 0x4FC, offset: 0x2F35B, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11BoardResultOwup', symObjAddr: 0x33C, symBinAddr: 0x4878, symSize: 0x4 } + - { offsetInCU: 0x510, offset: 0x2F36F, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11BoardResultOwui', symObjAddr: 0x340, symBinAddr: 0x487C, symSize: 0x18 } + - { offsetInCU: 0x524, offset: 0x2F383, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11BoardResultOMa', symObjAddr: 0x358, symBinAddr: 0x4894, symSize: 0x10 } + - { offsetInCU: 0x538, offset: 0x2F397, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel18BoardFailingReasonOwet', symObjAddr: 0x374, symBinAddr: 0x48A4, symSize: 0x90 } + - { offsetInCU: 0x54C, offset: 0x2F3AB, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel18BoardFailingReasonOwst', symObjAddr: 0x404, symBinAddr: 0x4934, symSize: 0xBC } + - { offsetInCU: 0x560, offset: 0x2F3BF, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel18BoardFailingReasonOwug', symObjAddr: 0x4C0, symBinAddr: 0x49F0, symSize: 0x8 } + - { offsetInCU: 0x574, offset: 0x2F3D3, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel18BoardFailingReasonOwup', symObjAddr: 0x4C8, symBinAddr: 0x49F8, symSize: 0x4 } + - { offsetInCU: 0x588, offset: 0x2F3E7, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel18BoardFailingReasonOwui', symObjAddr: 0x4CC, symBinAddr: 0x49FC, symSize: 0x8 } + - { offsetInCU: 0x59C, offset: 0x2F3FB, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel18BoardFailingReasonOMa', symObjAddr: 0x4D4, symBinAddr: 0x4A04, symSize: 0x10 } + - { offsetInCU: 0x5FA, offset: 0x2F459, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel18BoardFailingReasonOSHAASH13_rawHashValue4seedS2i_tFTW', symObjAddr: 0x108, symBinAddr: 0x4648, symSize: 0x40 } + - { offsetInCU: 0x27, offset: 0x2F588, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11HumanPlayerC8withName5andId0I11InputMethodACSgSS_AA5OwnerOAA4MoveVSgACctcfC', symObjAddr: 0x0, symBinAddr: 0x4A14, symSize: 0xD0 } + - { offsetInCU: 0x99, offset: 0x2F5FA, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11HumanPlayerC8withName5andId0I11InputMethodACSgSS_AA5OwnerOAA4MoveVSgACctcfC', symObjAddr: 0x0, symBinAddr: 0x4A14, symSize: 0xD0 } + - { offsetInCU: 0xEE, offset: 0x2F64F, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11HumanPlayerC8withName5andId0I11InputMethodACSgSS_AA5OwnerOAA4MoveVSgACctcfc', symObjAddr: 0xD0, symBinAddr: 0x4AE4, symSize: 0xB0 } + - { offsetInCU: 0x189, offset: 0x2F6EA, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11HumanPlayerC8withName5andIdACSgSS_AA5OwnerOtcfC', symObjAddr: 0x190, symBinAddr: 0x4BA4, symSize: 0xA0 } + - { offsetInCU: 0x1DE, offset: 0x2F73F, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11HumanPlayerC8withName5andIdACSgSS_AA5OwnerOtcfc', symObjAddr: 0x230, symBinAddr: 0x4C44, symSize: 0x70 } + - { offsetInCU: 0x22D, offset: 0x2F78E, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11HumanPlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKF', symObjAddr: 0x2A0, symBinAddr: 0x4CB4, symSize: 0xC } + - { offsetInCU: 0x2A9, offset: 0x2F80A, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11HumanPlayerC11changeInput5inputyAA4MoveVSgACc_tF', symObjAddr: 0x2AC, symBinAddr: 0x4CC0, symSize: 0x38 } + - { offsetInCU: 0x310, offset: 0x2F871, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11HumanPlayerC10chooseMoveyyAA0H0VSgYaKF', symObjAddr: 0x2E4, symBinAddr: 0x4CF8, symSize: 0x2C } + - { offsetInCU: 0x384, offset: 0x2F8E5, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11HumanPlayerC10chooseMoveyyAA0H0VSgYaKFTY0_', symObjAddr: 0x310, symBinAddr: 0x4D24, symSize: 0x108 } + - { offsetInCU: 0x507, offset: 0x2FA68, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11HumanPlayerC10chooseMoveyyAA0H0VSgYaKFTQ1_', symObjAddr: 0x418, symBinAddr: 0x4E2C, symSize: 0x70 } + - { offsetInCU: 0x5BF, offset: 0x2FB20, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11HumanPlayerC10chooseMoveyyAA0H0VSgYaKFTY2_', symObjAddr: 0x488, symBinAddr: 0x4E9C, symSize: 0x100 } + - { offsetInCU: 0x6AE, offset: 0x2FC0F, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11HumanPlayerC10chooseMoveyyAA0H0VSgYaKFTY3_', symObjAddr: 0x588, symBinAddr: 0x4F9C, symSize: 0x40 } + - { offsetInCU: 0x70C, offset: 0x2FC6D, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11HumanPlayerCfd', symObjAddr: 0x5D0, symBinAddr: 0x4FE4, symSize: 0x2C } + - { offsetInCU: 0x75D, offset: 0x2FCBE, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11HumanPlayerCfD', symObjAddr: 0x5FC, symBinAddr: 0x5010, symSize: 0x34 } + - { offsetInCU: 0x87E, offset: 0x2FDDF, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11HumanPlayerCAA4MoveVSgIeggr_SgWOe', symObjAddr: 0x180, symBinAddr: 0x4B94, symSize: 0x10 } + - { offsetInCU: 0x92C, offset: 0x2FE8D, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11HumanPlayerCfE', symObjAddr: 0x5C8, symBinAddr: 0x4FDC, symSize: 0x8 } + - { offsetInCU: 0x959, offset: 0x2FEBA, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11HumanPlayerCMa', symObjAddr: 0x630, symBinAddr: 0x5044, symSize: 0x20 } + - { offsetInCU: 0x4F, offset: 0x30059, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV11initialGridSaySayAA4CellVGGvpZ', symObjAddr: 0x299B0, symBinAddr: 0x1DB40, symSize: 0x0 } + - { offsetInCU: 0x69, offset: 0x30073, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV6pieces33_DFC7A53241A8EF79AF2B79A48A65C265LLShyAA5PieceVGvpZ', symObjAddr: 0x6D30, symBinAddr: 0x1C720, symSize: 0x0 } + - { offsetInCU: 0xD7, offset: 0x300E1, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV14startingChecks33_DFC7A53241A8EF79AF2B79A48A65C265LLSayyAA5BoardVcGvpZ', symObjAddr: 0x6D38, symBinAddr: 0x1C728, symSize: 0x0 } + - { offsetInCU: 0xF1, offset: 0x300FB, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV15iteratingChecks33_DFC7A53241A8EF79AF2B79A48A65C265LLSayyAA5BoardV_S2itKcGvpZ', symObjAddr: 0x6D40, symBinAddr: 0x1C730, symSize: 0x0 } + - { offsetInCU: 0x10B, offset: 0x30115, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV12endingChecks33_DFC7A53241A8EF79AF2B79A48A65C265LLSayyAA5BoardVcGvpZ', symObjAddr: 0x6D48, symBinAddr: 0x1C738, symSize: 0x0 } + - { offsetInCU: 0x125, offset: 0x3012F, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV16placesByCellTypeSDyAA0iJ0OSaySi3row_Si3coltGGvpZ', symObjAddr: 0x299B8, symBinAddr: 0x1DB48, symSize: 0x0 } + - { offsetInCU: 0x284, offset: 0x3028E, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV11initialGrid_WZ', symObjAddr: 0x0, symBinAddr: 0x5130, symSize: 0x2DC } + - { offsetInCU: 0xA99, offset: 0x30AA3, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV11createBoardAA0H0VyFZ', symObjAddr: 0x2DC, symBinAddr: 0x540C, symSize: 0x78 } + - { offsetInCU: 0xAD7, offset: 0x30AE1, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV10checkBoardyyAA0H0VKFZ', symObjAddr: 0x354, symBinAddr: 0x5484, symSize: 0x14 } + - { offsetInCU: 0xB01, offset: 0x30B0B, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV14startingChecks33_DFC7A53241A8EF79AF2B79A48A65C265LLSayyAA5BoardVcGvpZfiyAGcfU_', symObjAddr: 0x3AC, symBinAddr: 0x54DC, symSize: 0x30 } + - { offsetInCU: 0xB41, offset: 0x30B4B, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV14startingChecks33_DFC7A53241A8EF79AF2B79A48A65C265LLSayyAA5BoardVcGvpZfiyAGcfU0_', symObjAddr: 0x3DC, symBinAddr: 0x550C, symSize: 0x78 } + - { offsetInCU: 0xB93, offset: 0x30B9D, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVACycfC', symObjAddr: 0x6A8, symBinAddr: 0x57D8, symSize: 0x30 } + - { offsetInCU: 0xBD8, offset: 0x30BE2, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV10occurences8historicACSDyAA5BoardVSiG_SayAA4MoveVGtcfC', symObjAddr: 0x6D8, symBinAddr: 0x5808, symSize: 0x54 } + - { offsetInCU: 0xC3D, offset: 0x30C47, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV19findAuthorizedMoves33_DFC7A53241A8EF79AF2B79A48A65C265LL5boardSayAA4MoveVGAA5BoardV_tF', symObjAddr: 0x72C, symBinAddr: 0x585C, symSize: 0x458 } + - { offsetInCU: 0x15D4, offset: 0x315DE, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV12findRatMoves33_DFC7A53241A8EF79AF2B79A48A65C265LL2of5board3row6columnSayAA4MoveVGAA5OwnerO_AA5BoardVS2itF', symObjAddr: 0xB84, symBinAddr: 0x5CB4, symSize: 0x62C } + - { offsetInCU: 0x1FE8, offset: 0x31FF2, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV17findElephantMoves33_DFC7A53241A8EF79AF2B79A48A65C265LL2of5board3row6columnSayAA4MoveVGAA5OwnerO_AA5BoardVS2itF', symObjAddr: 0x11B0, symBinAddr: 0x62E0, symSize: 0x5F8 } + - { offsetInCU: 0x295A, offset: 0x32964, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV16findDefaultMoves33_DFC7A53241A8EF79AF2B79A48A65C265LL2of5board3row6columnSayAA4MoveVGAA5OwnerO_AA5BoardVS2itF', symObjAddr: 0x17A8, symBinAddr: 0x68D8, symSize: 0x6C4 } + - { offsetInCU: 0x340F, offset: 0x33419, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV21findTigerAndLionMoves33_DFC7A53241A8EF79AF2B79A48A65C265LL2of5board3row6columnSayAA4MoveVGAA5OwnerO_AA5BoardVS2itF', symObjAddr: 0x1E6C, symBinAddr: 0x6F9C, symSize: 0x44C } + - { offsetInCU: 0x3A6C, offset: 0x33A76, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV20findDirectNeighbours33_DFC7A53241A8EF79AF2B79A48A65C265LL2of5board3row6columnSayAA4MoveVGAA5OwnerO_AA5BoardVS2itF', symObjAddr: 0x22B8, symBinAddr: 0x73E8, symSize: 0x300 } + - { offsetInCU: 0x3FE8, offset: 0x33FF2, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV26findTigerAndLionNeighbours33_DFC7A53241A8EF79AF2B79A48A65C265LL2of5board3row6columnSayAA4MoveVGAA5OwnerO_AA5BoardVS2itF', symObjAddr: 0x25B8, symBinAddr: 0x76E8, symSize: 0x56C } + - { offsetInCU: 0x491C, offset: 0x34926, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV8getMoves2in2ofSayAA4MoveVGAA5BoardV_AA5OwnerOtF', symObjAddr: 0x2B24, symBinAddr: 0x7C54, symSize: 0x12C } + - { offsetInCU: 0x4AEC, offset: 0x34AF6, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV8getMoves2in2of7fromRow9andColumnSayAA4MoveVGAA5BoardV_AA5OwnerOS2itF', symObjAddr: 0x2C50, symBinAddr: 0x7D80, symSize: 0x140 } + - { offsetInCU: 0x4D56, offset: 0x34D60, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV11isMoveValid7onBoard7fromRow13andFromColumn02toM00n2ToP0SbAA0K0V_S4itF', symObjAddr: 0x2D90, symBinAddr: 0x7EC0, symSize: 0xA0 } + - { offsetInCU: 0x4E40, offset: 0x34E4A, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV11isMoveValid7onBoard04withH0SbAA0K0V_AA0H0VtF', symObjAddr: 0x2E30, symBinAddr: 0x7F60, symSize: 0x104 } + - { offsetInCU: 0x50CF, offset: 0x350D9, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV13getNextPlayerAA5OwnerOyF', symObjAddr: 0x2F34, symBinAddr: 0x8064, symSize: 0x3C } + - { offsetInCU: 0x51E0, offset: 0x351EA, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV10isGameOver9withBoard16andLastRowPlayed0lM12ColumnPlayerSb_AA6ResultOtAA0K0V_S2itF', symObjAddr: 0x2F70, symBinAddr: 0x80A0, symSize: 0x188 } + - { offsetInCU: 0x537E, offset: 0x35388, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV10playedMove_15onStartingBoard012andResultingK0yAA0H0V_AA0K0VAJtKF', symObjAddr: 0x30F8, symBinAddr: 0x8228, symSize: 0x424 } + - { offsetInCU: 0x5879, offset: 0x35883, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV10occurencesSDyAA5BoardVSiGvg', symObjAddr: 0x351C, symBinAddr: 0x864C, symSize: 0x8 } + - { offsetInCU: 0x588D, offset: 0x35897, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV8historicSayAA4MoveVGvg', symObjAddr: 0x3524, symBinAddr: 0x8654, symSize: 0x8 } + - { offsetInCU: 0x58BF, offset: 0x358C9, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVAA0F0A2aDP11createBoardAA0H0VyFZTW', symObjAddr: 0x352C, symBinAddr: 0x865C, symSize: 0x78 } + - { offsetInCU: 0x590C, offset: 0x35916, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVAA0F0A2aDP10checkBoardyyAA0H0VKFZTW', symObjAddr: 0x35A4, symBinAddr: 0x86D4, symSize: 0x14 } + - { offsetInCU: 0x5944, offset: 0x3594E, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVAA0F0A2aDP13getNextPlayerAA5OwnerOyFTW', symObjAddr: 0x35B8, symBinAddr: 0x86E8, symSize: 0x4 } + - { offsetInCU: 0x5960, offset: 0x3596A, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVAA0F0A2aDP8getMoves2in2ofSayAA4MoveVGAA5BoardV_AA5OwnerOtFTW', symObjAddr: 0x35BC, symBinAddr: 0x86EC, symSize: 0x14 } + - { offsetInCU: 0x597C, offset: 0x35986, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVAA0F0A2aDP8getMoves2in2of7fromRow9andColumnSayAA4MoveVGAA5BoardV_AA5OwnerOS2itFTW', symObjAddr: 0x35D0, symBinAddr: 0x8700, symSize: 0x14 } + - { offsetInCU: 0x5998, offset: 0x359A2, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVAA0F0A2aDP11isMoveValid7onBoard7fromRow13andFromColumn02toM00n2ToP0SbAA0K0V_S4itFTW', symObjAddr: 0x35E4, symBinAddr: 0x8714, symSize: 0x4 } + - { offsetInCU: 0x59B4, offset: 0x359BE, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVAA0F0A2aDP11isMoveValid7onBoard04withH0SbAA0K0V_AA0H0VtFTW', symObjAddr: 0x35E8, symBinAddr: 0x8718, symSize: 0x4 } + - { offsetInCU: 0x59D0, offset: 0x359DA, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVAA0F0A2aDP10isGameOver9withBoard16andLastRowPlayed0lM12ColumnPlayerSb_AA6ResultOtAA0K0V_S2itFTW', symObjAddr: 0x35EC, symBinAddr: 0x871C, symSize: 0x4 } + - { offsetInCU: 0x59EC, offset: 0x359F6, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVAA0F0A2aDP10playedMove_15onStartingBoard012andResultingK0yAA0H0V_AA0K0VALtKFTW', symObjAddr: 0x35F0, symBinAddr: 0x8720, symSize: 0x14 } + - { offsetInCU: 0x5A21, offset: 0x35A2B, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVAA0F0A2aDP10occurencesSDyAA5BoardVSiGvgTW', symObjAddr: 0x3604, symBinAddr: 0x8734, symSize: 0x8 } + - { offsetInCU: 0x5A41, offset: 0x35A4B, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVAA0F0A2aDP10occurencesSDyAA5BoardVSiGvgTW', symObjAddr: 0x3604, symBinAddr: 0x8734, symSize: 0x8 } + - { offsetInCU: 0x5A66, offset: 0x35A70, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVAA0F0A2aDP8historicSayAA4MoveVGvgTW', symObjAddr: 0x360C, symBinAddr: 0x873C, symSize: 0x8 } + - { offsetInCU: 0x5A86, offset: 0x35A90, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVAA0F0A2aDP8historicSayAA4MoveVGvgTW', symObjAddr: 0x360C, symBinAddr: 0x873C, symSize: 0x8 } + - { offsetInCU: 0x5A99, offset: 0x35AA3, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV10checkBoardyyAA0H0VKFZTf4nd_n', symObjAddr: 0x5710, symBinAddr: 0xA840, symSize: 0x28C } + - { offsetInCU: 0x5E0F, offset: 0x35E19, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV20initPlacesByCellType33_DFC7A53241A8EF79AF2B79A48A65C265LLyyAA5BoardVFZTf4nd_n', symObjAddr: 0x599C, symBinAddr: 0xAACC, symSize: 0x3A8 } + - { offsetInCU: 0x629F, offset: 0x362A9, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV23checkCellsByTypeIterate33_DFC7A53241A8EF79AF2B79A48A65C265LLyyAA5BoardV_S2itKFZTf4nnnd_n', symObjAddr: 0x5D44, symBinAddr: 0xAE74, symSize: 0x15C } + - { offsetInCU: 0x6492, offset: 0x3649C, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV18checkPiecesIterate33_DFC7A53241A8EF79AF2B79A48A65C265LLyyAA5BoardV_S2itKFZTf4nnnd_n', symObjAddr: 0x5EA0, symBinAddr: 0xAFD0, symSize: 0x178 } + - { offsetInCU: 0x6572, offset: 0x3657C, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV15checkWaterCells33_DFC7A53241A8EF79AF2B79A48A65C265LLyyAA5BoardV_S2itKFZTf4nnnd_n', symObjAddr: 0x6018, symBinAddr: 0xB148, symSize: 0xDC } + - { offsetInCU: 0x6689, offset: 0x36693, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV6pieces33_DFC7A53241A8EF79AF2B79A48A65C265LL_WZ', symObjAddr: 0x368, symBinAddr: 0x5498, symSize: 0x14 } + - { offsetInCU: 0x66A3, offset: 0x366AD, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV14startingChecks33_DFC7A53241A8EF79AF2B79A48A65C265LL_WZ', symObjAddr: 0x37C, symBinAddr: 0x54AC, symSize: 0x30 } + - { offsetInCU: 0x66D9, offset: 0x366E3, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV15iteratingChecks33_DFC7A53241A8EF79AF2B79A48A65C265LL_WZ', symObjAddr: 0x454, symBinAddr: 0x5584, symSize: 0x30 } + - { offsetInCU: 0x66F3, offset: 0x366FD, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV12endingChecks33_DFC7A53241A8EF79AF2B79A48A65C265LL_WZ', symObjAddr: 0x510, symBinAddr: 0x5640, symSize: 0x14 } + - { offsetInCU: 0x670D, offset: 0x36717, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV16placesByCellType_WZ', symObjAddr: 0x524, symBinAddr: 0x5654, symSize: 0x24 } + - { offsetInCU: 0x6C29, offset: 0x36C33, size: 0x8, addend: 0x0, symName: '_$sSD8_VariantV8setValue_6forKeyyq_n_xtF14DouShouQiModel5BoardV_SiTB5', symObjAddr: 0x3614, symBinAddr: 0x8744, symSize: 0xB0 } + - { offsetInCU: 0x6C9E, offset: 0x36CA8, size: 0x8, addend: 0x0, symName: '_$sSD8_VariantVyq_SgxciM14DouShouQiModel8CellTypeO_SaySi3row_Si3coltGTB5', symObjAddr: 0x36C4, symBinAddr: 0x87F4, symSize: 0x70 } + - { offsetInCU: 0x6CCB, offset: 0x36CD5, size: 0x8, addend: 0x0, symName: '_$sSD8_VariantVyq_SgxciM14DouShouQiModel8CellTypeO_SaySi3row_Si3coltGTB5.resume.0', symObjAddr: 0x3734, symBinAddr: 0x8864, symSize: 0x3C } + - { offsetInCU: 0x6D0E, offset: 0x36D18, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV_8isUniqueq_Sgx_SbtciM14DouShouQiModel8CellTypeO_SaySi3row_Si3coltGTB5', symObjAddr: 0x3770, symBinAddr: 0x88A0, symSize: 0x64 } + - { offsetInCU: 0x6D86, offset: 0x36D90, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV_8isUniqueq_Sgx_SbtciM14DouShouQiModel8CellTypeO_SaySi3row_Si3coltGTB5.resume.0', symObjAddr: 0x37D4, symBinAddr: 0x8904, symSize: 0xE0 } + - { offsetInCU: 0x6EBE, offset: 0x36EC8, size: 0x8, addend: 0x0, symName: '_$sSD8_VariantV8asNatives01_C10DictionaryVyxq_GvM14DouShouQiModel8CellTypeO_SaySi3row_Si3coltGTg5', symObjAddr: 0x38B4, symBinAddr: 0x89E4, symSize: 0x20 } + - { offsetInCU: 0x6EE1, offset: 0x36EEB, size: 0x8, addend: 0x0, symName: '_$sSD8_VariantV8asNatives01_C10DictionaryVyxq_GvM14DouShouQiModel8CellTypeO_SaySi3row_Si3coltGTg5.resume.0', symObjAddr: 0x38D4, symBinAddr: 0x8A04, symSize: 0x10 } + - { offsetInCU: 0x6F24, offset: 0x36F2E, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV12mutatingFind_8isUniques10_HashTableV6BucketV6bucket_Sb5foundtx_SbtF14DouShouQiModel8CellTypeO_SaySi3row_Si3coltGTB5', symObjAddr: 0x38E4, symBinAddr: 0x8A14, symSize: 0xC8 } + - { offsetInCU: 0x6F8C, offset: 0x36F96, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV12mutatingFind_8isUniques10_HashTableV6BucketV6bucket_Sb5foundtx_SbtF14DouShouQiModel5BoardV_SiTB5', symObjAddr: 0x39AC, symBinAddr: 0x8ADC, symSize: 0xE0 } + - { offsetInCU: 0x6FE2, offset: 0x36FEC, size: 0x8, addend: 0x0, symName: '_$ss22__RawDictionaryStorageC4findys10_HashTableV6BucketV6bucket_Sb5foundtxSHRzlF14DouShouQiModel5BoardV_TB5', symObjAddr: 0x3A8C, symBinAddr: 0x8BBC, symSize: 0x78 } + - { offsetInCU: 0x704F, offset: 0x37059, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV7_delete2atys10_HashTableV6BucketV_tF14DouShouQiModel8CellTypeO_SaySi3row_Si3coltGTg5', symObjAddr: 0x3B6C, symBinAddr: 0x8C9C, symSize: 0x1C0 } + - { offsetInCU: 0x7179, offset: 0x37183, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV7_insert2at3key5valueys10_HashTableV6BucketV_xnq_ntF14DouShouQiModel5BoardV_SiTB5', symObjAddr: 0x3D2C, symBinAddr: 0x8E5C, symSize: 0x54 } + - { offsetInCU: 0x724A, offset: 0x37254, size: 0x8, addend: 0x0, symName: '_$ss22__RawDictionaryStorageC4find_9hashValues10_HashTableV6BucketV6bucket_Sb5foundtx_SitSHRzlF14DouShouQiModel5BoardV_TB5', symObjAddr: 0x3D80, symBinAddr: 0x8EB0, symSize: 0x260 } + - { offsetInCU: 0x740A, offset: 0x37414, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV4copyyyF14DouShouQiModel8CellTypeO_SaySi3row_Si3coltGTg5', symObjAddr: 0x4080, symBinAddr: 0x91B0, symSize: 0x1B0 } + - { offsetInCU: 0x748B, offset: 0x37495, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV4copyyyF14DouShouQiModel5BoardV_SiTg5', symObjAddr: 0x4230, symBinAddr: 0x9360, symSize: 0x1C8 } + - { offsetInCU: 0x7525, offset: 0x3752F, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV20_copyOrMoveAndResize8capacity12moveElementsySi_SbtF14DouShouQiModel8CellTypeO_SaySi3row_Si3coltGTg5', symObjAddr: 0x43F8, symBinAddr: 0x9528, symSize: 0x358 } + - { offsetInCU: 0x76A4, offset: 0x376AE, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV20_copyOrMoveAndResize8capacity12moveElementsySi_SbtF14DouShouQiModel5BoardV_SiTg5', symObjAddr: 0x4750, symBinAddr: 0x9880, symSize: 0x344 } + - { offsetInCU: 0x77B7, offset: 0x377C1, size: 0x8, addend: 0x0, symName: '_$sSh8_VariantV6insertySb8inserted_x17memberAfterInserttxnF14DouShouQiModel5PieceV_TB5', symObjAddr: 0x4A94, symBinAddr: 0x9BC4, symSize: 0x154 } + - { offsetInCU: 0x79C2, offset: 0x379CC, size: 0x8, addend: 0x0, symName: '_$ss10_NativeSetV9insertNew_2at8isUniqueyxn_s10_HashTableV6BucketVSbtF14DouShouQiModel5PieceV_TB5', symObjAddr: 0x4BE8, symBinAddr: 0x9D18, symSize: 0x180 } + - { offsetInCU: 0x7BD8, offset: 0x37BE2, size: 0x8, addend: 0x0, symName: '_$ss10_NativeSetV4copyyyF14DouShouQiModel5PieceV_Tg5', symObjAddr: 0x4D68, symBinAddr: 0x9E98, symSize: 0x190 } + - { offsetInCU: 0x7C3C, offset: 0x37C46, size: 0x8, addend: 0x0, symName: '_$ss10_NativeSetV13copyAndResize8capacityySi_tF14DouShouQiModel5PieceV_Tg5', symObjAddr: 0x4EF8, symBinAddr: 0xA028, symSize: 0x298 } + - { offsetInCU: 0x7E42, offset: 0x37E4C, size: 0x8, addend: 0x0, symName: '_$ss10_NativeSetV6resize8capacityySi_tF14DouShouQiModel5PieceV_Tg5', symObjAddr: 0x5190, symBinAddr: 0xA2C0, symSize: 0x33C } + - { offsetInCU: 0x8072, offset: 0x3807C, size: 0x8, addend: 0x0, symName: '_$ss15ContiguousArrayV16_createNewBuffer14bufferIsUnique15minimumCapacity13growForAppendySb_SiSbtF14DouShouQiModel4MoveV_Tg5', symObjAddr: 0x54CC, symBinAddr: 0xA5FC, symSize: 0x1C } + - { offsetInCU: 0x808A, offset: 0x38094, size: 0x8, addend: 0x0, symName: '_$ss15ContiguousArrayV16_createNewBuffer14bufferIsUnique15minimumCapacity13growForAppendySb_SiSbtF14DouShouQiModel4CellV_Tg5', symObjAddr: 0x54E8, symBinAddr: 0xA618, symSize: 0x1C } + - { offsetInCU: 0x80D9, offset: 0x380E3, size: 0x8, addend: 0x0, symName: '_$ss22_ContiguousArrayBufferV20_consumeAndCreateNew14bufferIsUnique15minimumCapacity13growForAppendAByxGSb_SiSbtF14DouShouQiModel4MoveV_Tg5', symObjAddr: 0x5504, symBinAddr: 0xA634, symSize: 0x110 } + - { offsetInCU: 0x8231, offset: 0x3823B, size: 0x8, addend: 0x0, symName: '_$ss22_ContiguousArrayBufferV20_consumeAndCreateNew14bufferIsUnique15minimumCapacity13growForAppendAByxGSb_SiSbtF14DouShouQiModel4CellV_Tg5', symObjAddr: 0x5614, symBinAddr: 0xA744, symSize: 0xFC } + - { offsetInCU: 0x84A2, offset: 0x384AC, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel9GameErrorOACs0F0AAWl', symObjAddr: 0x62EC, symBinAddr: 0xB41C, symSize: 0x44 } + - { offsetInCU: 0x84B6, offset: 0x384C0, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel17InvalidBoardErrorOACs0G0AAWl', symObjAddr: 0x6330, symBinAddr: 0xB460, symSize: 0x44 } + - { offsetInCU: 0x84CA, offset: 0x384D4, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVwCP', symObjAddr: 0x6374, symBinAddr: 0xB4A4, symSize: 0x34 } + - { offsetInCU: 0x84DE, offset: 0x384E8, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVwxx', symObjAddr: 0x63A8, symBinAddr: 0xB4D8, symSize: 0x28 } + - { offsetInCU: 0x84F2, offset: 0x384FC, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVwcp', symObjAddr: 0x63D0, symBinAddr: 0xB500, symSize: 0x34 } + - { offsetInCU: 0x8506, offset: 0x38510, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVwca', symObjAddr: 0x6404, symBinAddr: 0xB534, symSize: 0x5C } + - { offsetInCU: 0x851A, offset: 0x38524, size: 0x8, addend: 0x0, symName: ___swift_memcpy16_8, symObjAddr: 0x6460, symBinAddr: 0xB590, symSize: 0xC } + - { offsetInCU: 0x852E, offset: 0x38538, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVwta', symObjAddr: 0x646C, symBinAddr: 0xB59C, symSize: 0x44 } + - { offsetInCU: 0x8542, offset: 0x3854C, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVwet', symObjAddr: 0x64B0, symBinAddr: 0xB5E0, symSize: 0x48 } + - { offsetInCU: 0x8556, offset: 0x38560, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVwst', symObjAddr: 0x64F8, symBinAddr: 0xB628, symSize: 0x3C } + - { offsetInCU: 0x856A, offset: 0x38574, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVMa', symObjAddr: 0x6534, symBinAddr: 0xB664, symSize: 0x10 } + - { offsetInCU: 0x857E, offset: 0x38588, size: 0x8, addend: 0x0, symName: ___swift_instantiateConcreteTypeFromMangledName, symObjAddr: 0x6544, symBinAddr: 0xB674, symSize: 0x40 } + - { offsetInCU: 0x8642, offset: 0x3864C, size: 0x8, addend: 0x0, symName: '_$ss20_ArrayBufferProtocolPsE15replaceSubrange_4with10elementsOfySnySiG_Siqd__ntSlRd__7ElementQyd__AGRtzlFs01_aB0Vy14DouShouQiModel4MoveVG_s15EmptyCollectionVyANGTg5Tf4nndn_n', symObjAddr: 0x6684, symBinAddr: 0xB7B4, symSize: 0x178 } + - { offsetInCU: 0x8713, offset: 0x3871D, size: 0x8, addend: 0x0, symName: '_$sSa15replaceSubrange_4withySnySiG_qd__nt7ElementQyd__RszSlRd__lF14DouShouQiModel4MoveV_s15EmptyCollectionVyAHGTg5Tf4ndn_n', symObjAddr: 0x67FC, symBinAddr: 0xB92C, symSize: 0xC0 } + - { offsetInCU: 0x8922, offset: 0x3892C, size: 0x8, addend: 0x0, symName: '_$sSDyq_SgxciM14DouShouQiModel8CellTypeO_SaySi3row_Si3coltGTB5', symObjAddr: 0x548, symBinAddr: 0x5678, symSize: 0x4C } + - { offsetInCU: 0x893E, offset: 0x38948, size: 0x8, addend: 0x0, symName: '_$sSDyq_SgxciM14DouShouQiModel8CellTypeO_SaySi3row_Si3coltGTB5.resume.0', symObjAddr: 0x594, symBinAddr: 0x56C4, symSize: 0x30 } + - { offsetInCU: 0x89E8, offset: 0x389F2, size: 0x8, addend: 0x0, symName: '_$sSh8containsySbxF14DouShouQiModel5PieceV_TB5', symObjAddr: 0x5C4, symBinAddr: 0x56F4, symSize: 0xE4 } + - { offsetInCU: 0x8F60, offset: 0x38F6A, size: 0x8, addend: 0x0, symName: '_$sSD17dictionaryLiteralSDyxq_Gx_q_td_tcfC14DouShouQiModel8CellTypeO_SaySi3row_Si3coltGTg5Tf4gd_n', symObjAddr: 0x60F4, symBinAddr: 0xB224, symSize: 0x100 } + - { offsetInCU: 0x9091, offset: 0x3909B, size: 0x8, addend: 0x0, symName: '_$sSD17dictionaryLiteralSDyxq_Gx_q_td_tcfC14DouShouQiModel5BoardV_SiTg5Tf4gd_n', symObjAddr: 0x61F4, symBinAddr: 0xB324, symSize: 0xF8 } + - { offsetInCU: 0x91DE, offset: 0x391E8, size: 0x8, addend: 0x0, symName: '_$sSD17dictionaryLiteralSDyxq_Gx_q_td_tcfC14DouShouQiModel5OwnerO_AC6PlayerCTg5Tf4gd_n', symObjAddr: 0x6584, symBinAddr: 0xB6B4, symSize: 0x100 } + - { offsetInCU: 0x27, offset: 0x39527, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4CellV6ofType7ownedBy9withPieceAcA0eG0O_AA5OwnerOAA0K0VSgtcfC', symObjAddr: 0x0, symBinAddr: 0xBE08, symSize: 0x1C } + - { offsetInCU: 0x4B, offset: 0x3954B, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4CellV6ofType7ownedBy9withPieceAcA0eG0O_AA5OwnerOAA0K0VSgtcfC', symObjAddr: 0x0, symBinAddr: 0xBE08, symSize: 0x1C } + - { offsetInCU: 0x9A, offset: 0x3959A, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4CellV11descriptionSSvg', symObjAddr: 0x1C, symBinAddr: 0xBE24, symSize: 0xF0 } + - { offsetInCU: 0x1DF, offset: 0x396DF, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4CellV8cellTypeAA0eG0Ovg', symObjAddr: 0x10C, symBinAddr: 0xBF14, symSize: 0xC } + - { offsetInCU: 0x1FD, offset: 0x396FD, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4CellV12initialOwnerAA0G0Ovg', symObjAddr: 0x118, symBinAddr: 0xBF20, symSize: 0xC } + - { offsetInCU: 0x21B, offset: 0x3971B, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4CellV5pieceAA5PieceVSgvg', symObjAddr: 0x124, symBinAddr: 0xBF2C, symSize: 0xC } + - { offsetInCU: 0x239, offset: 0x39739, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4CellV5pieceAA5PieceVSgvs', symObjAddr: 0x130, symBinAddr: 0xBF38, symSize: 0xC } + - { offsetInCU: 0x277, offset: 0x39777, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4CellV5pieceAA5PieceVSgvM', symObjAddr: 0x13C, symBinAddr: 0xBF44, symSize: 0x10 } + - { offsetInCU: 0x2A5, offset: 0x397A5, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4CellV5pieceAA5PieceVSgvM.resume.0', symObjAddr: 0x14C, symBinAddr: 0xBF54, symSize: 0x4 } + - { offsetInCU: 0x2D0, offset: 0x397D0, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4CellV2eeoiySbAC_ACtFZ', symObjAddr: 0x150, symBinAddr: 0xBF58, symSize: 0x4 } + - { offsetInCU: 0x2E4, offset: 0x397E4, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4CellVs23CustomStringConvertibleAAsADP11descriptionSSvgTW', symObjAddr: 0x154, symBinAddr: 0xBF5C, symSize: 0x4 } + - { offsetInCU: 0x30F, offset: 0x3980F, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4CellVSQAASQ2eeoiySbx_xtFZTW', symObjAddr: 0x158, symBinAddr: 0xBF60, symSize: 0x4 } + - { offsetInCU: 0x32F, offset: 0x3982F, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4CellVSQAASQ2eeoiySbx_xtFZTW', symObjAddr: 0x158, symBinAddr: 0xBF60, symSize: 0x4 } + - { offsetInCU: 0x340, offset: 0x39840, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4CellV2eeoiySbAC_ACtFZTf4nnd_n', symObjAddr: 0x15C, symBinAddr: 0xBF64, symSize: 0x58 } + - { offsetInCU: 0x3B4, offset: 0x398B4, size: 0x8, addend: 0x0, symName: ___swift_memcpy4_1, symObjAddr: 0x1B4, symBinAddr: 0xBFBC, symSize: 0xC } + - { offsetInCU: 0x3C8, offset: 0x398C8, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4CellVwet', symObjAddr: 0x1C4, symBinAddr: 0xBFC8, symSize: 0x44 } + - { offsetInCU: 0x3DC, offset: 0x398DC, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4CellVwst', symObjAddr: 0x208, symBinAddr: 0xC00C, symSize: 0x40 } + - { offsetInCU: 0x3F0, offset: 0x398F0, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4CellVMa', symObjAddr: 0x248, symBinAddr: 0xC04C, symSize: 0x10 } + - { offsetInCU: 0x2B, offset: 0x399FB, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesV11initialGrid_WZ', symObjAddr: 0x0, symBinAddr: 0xC05C, symSize: 0x1A4 } + - { offsetInCU: 0x4F, offset: 0x39A1F, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesV11initialGridSaySayAA4CellVGGvpZ', symObjAddr: 0xB338, symBinAddr: 0x1DB50, symSize: 0x0 } + - { offsetInCU: 0x1A2, offset: 0x39B72, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesV11initialGrid_WZ', symObjAddr: 0x0, symBinAddr: 0xC05C, symSize: 0x1A4 } + - { offsetInCU: 0x582, offset: 0x39F52, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesV11createBoardAA0I0VyFZ', symObjAddr: 0x1A4, symBinAddr: 0xC200, symSize: 0x78 } + - { offsetInCU: 0x5C0, offset: 0x39F90, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesV10checkBoardyyAA0I0VKFZ', symObjAddr: 0x21C, symBinAddr: 0xC278, symSize: 0x14 } + - { offsetInCU: 0x5DB, offset: 0x39FAB, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVACycfC', symObjAddr: 0x230, symBinAddr: 0xC28C, symSize: 0x30 } + - { offsetInCU: 0x61F, offset: 0x39FEF, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesV10occurences8historicACSDyAA5BoardVSiG_SayAA4MoveVGtcfC', symObjAddr: 0x260, symBinAddr: 0xC2BC, symSize: 0x54 } + - { offsetInCU: 0x683, offset: 0x3A053, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesV8getMoves2in2ofSayAA4MoveVGAA5BoardV_AA5OwnerOtF', symObjAddr: 0x2B4, symBinAddr: 0xC310, symSize: 0x17C } + - { offsetInCU: 0x99E, offset: 0x3A36E, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesV8getMoves2in2of7fromRow9andColumnSayAA4MoveVGAA5BoardV_AA5OwnerOS2itF', symObjAddr: 0x430, symBinAddr: 0xC48C, symSize: 0x29C } + - { offsetInCU: 0xCE8, offset: 0x3A6B8, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesV11isMoveValid7onBoard7fromRow13andFromColumn02toN00o2ToQ0SbAA0L0V_S4itF', symObjAddr: 0x6CC, symBinAddr: 0xC728, symSize: 0xA0 } + - { offsetInCU: 0xDF9, offset: 0x3A7C9, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesV11isMoveValid7onBoard04withI0SbAA0L0V_AA0I0VtF', symObjAddr: 0x76C, symBinAddr: 0xC7C8, symSize: 0x10C } + - { offsetInCU: 0x1033, offset: 0x3AA03, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesV13getNextPlayerAA5OwnerOyF', symObjAddr: 0x878, symBinAddr: 0xC8D4, symSize: 0x3C } + - { offsetInCU: 0x1143, offset: 0x3AB13, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesV10isGameOver9withBoard16andLastRowPlayed0mN12ColumnPlayerSb_AA6ResultOtAA0L0V_S2itF', symObjAddr: 0x8B4, symBinAddr: 0xC910, symSize: 0x11C } + - { offsetInCU: 0x12BB, offset: 0x3AC8B, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesV10playedMove_15onStartingBoard012andResultingL0yAA0I0V_AA0L0VAJtKF', symObjAddr: 0x9D0, symBinAddr: 0xCA2C, symSize: 0x1E4 } + - { offsetInCU: 0x1477, offset: 0x3AE47, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesV10occurencesSDyAA5BoardVSiGvg', symObjAddr: 0xBB4, symBinAddr: 0xCC10, symSize: 0x8 } + - { offsetInCU: 0x148B, offset: 0x3AE5B, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesV8historicSayAA4MoveVGvg', symObjAddr: 0xBBC, symBinAddr: 0xCC18, symSize: 0x8 } + - { offsetInCU: 0x14BD, offset: 0x3AE8D, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVAA0G0A2aDP11createBoardAA0I0VyFZTW', symObjAddr: 0xBC4, symBinAddr: 0xCC20, symSize: 0x78 } + - { offsetInCU: 0x150A, offset: 0x3AEDA, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVAA0G0A2aDP10checkBoardyyAA0I0VKFZTW', symObjAddr: 0xC3C, symBinAddr: 0xCC98, symSize: 0x14 } + - { offsetInCU: 0x1542, offset: 0x3AF12, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVAA0G0A2aDP13getNextPlayerAA5OwnerOyFTW', symObjAddr: 0xC50, symBinAddr: 0xCCAC, symSize: 0x4 } + - { offsetInCU: 0x155E, offset: 0x3AF2E, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVAA0G0A2aDP8getMoves2in2ofSayAA4MoveVGAA5BoardV_AA5OwnerOtFTW', symObjAddr: 0xC54, symBinAddr: 0xCCB0, symSize: 0x14 } + - { offsetInCU: 0x157A, offset: 0x3AF4A, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVAA0G0A2aDP8getMoves2in2of7fromRow9andColumnSayAA4MoveVGAA5BoardV_AA5OwnerOS2itFTW', symObjAddr: 0xC68, symBinAddr: 0xCCC4, symSize: 0x14 } + - { offsetInCU: 0x1596, offset: 0x3AF66, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVAA0G0A2aDP11isMoveValid7onBoard7fromRow13andFromColumn02toN00o2ToQ0SbAA0L0V_S4itFTW', symObjAddr: 0xC7C, symBinAddr: 0xCCD8, symSize: 0x4 } + - { offsetInCU: 0x15B2, offset: 0x3AF82, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVAA0G0A2aDP11isMoveValid7onBoard04withI0SbAA0L0V_AA0I0VtFTW', symObjAddr: 0xC80, symBinAddr: 0xCCDC, symSize: 0x4 } + - { offsetInCU: 0x15CE, offset: 0x3AF9E, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVAA0G0A2aDP10isGameOver9withBoard16andLastRowPlayed0mN12ColumnPlayerSb_AA6ResultOtAA0L0V_S2itFTW', symObjAddr: 0xC84, symBinAddr: 0xCCE0, symSize: 0x18 } + - { offsetInCU: 0x15EA, offset: 0x3AFBA, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVAA0G0A2aDP10playedMove_15onStartingBoard012andResultingL0yAA0I0V_AA0L0VALtKFTW', symObjAddr: 0xC9C, symBinAddr: 0xCCF8, symSize: 0x14 } + - { offsetInCU: 0x161E, offset: 0x3AFEE, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVAA0G0A2aDP10occurencesSDyAA5BoardVSiGvgTW', symObjAddr: 0xCB0, symBinAddr: 0xCD0C, symSize: 0x8 } + - { offsetInCU: 0x163E, offset: 0x3B00E, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVAA0G0A2aDP10occurencesSDyAA5BoardVSiGvgTW', symObjAddr: 0xCB0, symBinAddr: 0xCD0C, symSize: 0x8 } + - { offsetInCU: 0x1661, offset: 0x3B031, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVAA0G0A2aDP8historicSayAA4MoveVGvgTW', symObjAddr: 0xCB8, symBinAddr: 0xCD14, symSize: 0x8 } + - { offsetInCU: 0x1681, offset: 0x3B051, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVAA0G0A2aDP8historicSayAA4MoveVGvgTW', symObjAddr: 0xCB8, symBinAddr: 0xCD14, symSize: 0x8 } + - { offsetInCU: 0x1693, offset: 0x3B063, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesV16checkCellsByType33_2B29F97F1EE5509065CD9853A78D42F5LLyyAA5BoardVKFZTf4nd_n', symObjAddr: 0xCC0, symBinAddr: 0xCD1C, symSize: 0x144 } + - { offsetInCU: 0x1895, offset: 0x3B265, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesV11checkPieces33_2B29F97F1EE5509065CD9853A78D42F5LLyyAA5BoardVKFZTf4nd_n', symObjAddr: 0xE04, symBinAddr: 0xCE60, symSize: 0x220 } + - { offsetInCU: 0x1BFD, offset: 0x3B5CD, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesV10checkBoardyyAA0I0VKFZTf4nd_n', symObjAddr: 0x1024, symBinAddr: 0xD080, symSize: 0xB8 } + - { offsetInCU: 0x1E82, offset: 0x3B852, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVwCP', symObjAddr: 0x11A4, symBinAddr: 0xD138, symSize: 0x34 } + - { offsetInCU: 0x1E96, offset: 0x3B866, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVwxx', symObjAddr: 0x11D8, symBinAddr: 0xD16C, symSize: 0x28 } + - { offsetInCU: 0x1EAA, offset: 0x3B87A, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVwcp', symObjAddr: 0x1200, symBinAddr: 0xD194, symSize: 0x34 } + - { offsetInCU: 0x1EBE, offset: 0x3B88E, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVwca', symObjAddr: 0x1234, symBinAddr: 0xD1C8, symSize: 0x5C } + - { offsetInCU: 0x1ED2, offset: 0x3B8A2, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVwta', symObjAddr: 0x129C, symBinAddr: 0xD224, symSize: 0x44 } + - { offsetInCU: 0x1EE6, offset: 0x3B8B6, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVwet', symObjAddr: 0x12E0, symBinAddr: 0xD268, symSize: 0x48 } + - { offsetInCU: 0x1EFA, offset: 0x3B8CA, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVwst', symObjAddr: 0x1328, symBinAddr: 0xD2B0, symSize: 0x3C } + - { offsetInCU: 0x1F0E, offset: 0x3B8DE, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVMa', symObjAddr: 0x1364, symBinAddr: 0xD2EC, symSize: 0x10 } + - { offsetInCU: 0x4B, offset: 0x3BC66, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6PlayerC8withName5andIdACSgSS_AA5OwnerOtcfc', symObjAddr: 0x0, symBinAddr: 0xD374, symSize: 0x68 } + - { offsetInCU: 0x7A, offset: 0x3BC95, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6PlayerCfd', symObjAddr: 0x88, symBinAddr: 0xD3FC, symSize: 0x24 } + - { offsetInCU: 0x97, offset: 0x3BCB2, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6PlayerC26addPlayedCallbacksListeneryyyAA4MoveVSg_ACtYaKcF', symObjAddr: 0xAC, symBinAddr: 0xD420, symSize: 0xE4 } + - { offsetInCU: 0x1C2, offset: 0x3BDDD, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6PlayerC12notifyPlayed8withMove03andE0yAA0I0VSg_ACtYaKF', symObjAddr: 0x190, symBinAddr: 0xD504, symSize: 0x28 } + - { offsetInCU: 0x252, offset: 0x3BE6D, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6PlayerC12notifyPlayed8withMove03andE0yAA0I0VSg_ACtYaKFTY0_', symObjAddr: 0x1B8, symBinAddr: 0xD52C, symSize: 0x10C } + - { offsetInCU: 0x3DB, offset: 0x3BFF6, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6PlayerC12notifyPlayed8withMove03andE0yAA0I0VSg_ACtYaKFTQ1_', symObjAddr: 0x2C4, symBinAddr: 0xD638, symSize: 0x70 } + - { offsetInCU: 0x49A, offset: 0x3C0B5, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6PlayerC12notifyPlayed8withMove03andE0yAA0I0VSg_ACtYaKFTY2_', symObjAddr: 0x334, symBinAddr: 0xD6A8, symSize: 0xFC } + - { offsetInCU: 0x58F, offset: 0x3C1AA, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6PlayerC12notifyPlayed8withMove03andE0yAA0I0VSg_ACtYaKFTY3_', symObjAddr: 0x430, symBinAddr: 0xD7A4, symSize: 0x40 } + - { offsetInCU: 0x601, offset: 0x3C21C, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6PlayerC4nameSSvg', symObjAddr: 0x470, symBinAddr: 0xD7E4, symSize: 0x2C } + - { offsetInCU: 0x630, offset: 0x3C24B, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6PlayerC2idAA5OwnerOvg', symObjAddr: 0x49C, symBinAddr: 0xD810, symSize: 0xC } + - { offsetInCU: 0x693, offset: 0x3C2AE, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6PlayerC8withName5andIdACSgSS_AA5OwnerOtcfC', symObjAddr: 0x4A8, symBinAddr: 0xD81C, symSize: 0x98 } + - { offsetInCU: 0x6C8, offset: 0x3C2E3, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6PlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKF', symObjAddr: 0x540, symBinAddr: 0xD8B4, symSize: 0xC } + - { offsetInCU: 0x738, offset: 0x3C353, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6PlayerCfD', symObjAddr: 0x6F4, symBinAddr: 0xDA68, symSize: 0x2C } + - { offsetInCU: 0x77C, offset: 0x3C397, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6PlayerCMa', symObjAddr: 0x68, symBinAddr: 0xD3DC, symSize: 0x20 } + - { offsetInCU: 0x883, offset: 0x3C49E, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveVSgAA6PlayerCs5Error_pIegHngzo_AdFytsAG_pIegHnnrzo_TR', symObjAddr: 0x54C, symBinAddr: 0xD8C0, symSize: 0x6C } + - { offsetInCU: 0x8B6, offset: 0x3C4D1, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveVSgAA6PlayerCs5Error_pIegHngzo_AdFytsAG_pIegHnnrzo_TRTQ0_', symObjAddr: 0x5B8, symBinAddr: 0xD92C, symSize: 0x48 } + - { offsetInCU: 0x904, offset: 0x3C51F, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveVSgAA6PlayerCs5Error_pIegHngzo_AdFytsAG_pIegHnnrzo_TRTA', symObjAddr: 0x624, symBinAddr: 0xD998, symSize: 0x88 } + - { offsetInCU: 0x934, offset: 0x3C54F, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveVSgAA6PlayerCs5Error_pIegHngzo_AdFytsAG_pIegHnnrzo_TRTATQ0_', symObjAddr: 0x6AC, symBinAddr: 0xDA20, symSize: 0x48 } + - { offsetInCU: 0x9FE, offset: 0x3C619, size: 0x8, addend: 0x0, symName: '_$ss12_ArrayBufferV20_consumeAndCreateNew14bufferIsUnique15minimumCapacity13growForAppendAByxGSb_SiSbtFSi3row_Si3colt_Tg5', symObjAddr: 0x82C, symBinAddr: 0xDBA0, symSize: 0xFC } + - { offsetInCU: 0xBA1, offset: 0x3C7BC, size: 0x8, addend: 0x0, symName: '_$ss12_ArrayBufferV20_consumeAndCreateNew14bufferIsUnique15minimumCapacity13growForAppendAByxGSb_SiSbtF14DouShouQiModel4MoveV_Tg5', symObjAddr: 0x968, symBinAddr: 0xDC9C, symSize: 0x110 } + - { offsetInCU: 0xD44, offset: 0x3C95F, size: 0x8, addend: 0x0, symName: '_$ss12_ArrayBufferV20_consumeAndCreateNew14bufferIsUnique15minimumCapacity13growForAppendAByxGSb_SiSbtF14DouShouQiModel4CellV_Tg5', symObjAddr: 0xA78, symBinAddr: 0xDDAC, symSize: 0xFC } + - { offsetInCU: 0xEF2, offset: 0x3CB0D, size: 0x8, addend: 0x0, symName: '_$ss12_ArrayBufferV20_consumeAndCreateNew14bufferIsUnique15minimumCapacity13growForAppendAByxGSb_SiSbtFSay14DouShouQiModel4CellVG_Tg5', symObjAddr: 0xB74, symBinAddr: 0xDEA8, symSize: 0x128 } + - { offsetInCU: 0x27, offset: 0x3CE30, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel9GameErrorOs0F0AAsADP7_domainSSvgTW', symObjAddr: 0x0, symBinAddr: 0xE150, symSize: 0x4 } + - { offsetInCU: 0x3F, offset: 0x3CE48, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel9GameErrorOwCP', symObjAddr: 0x10, symBinAddr: 0xE160, symSize: 0x48 } + - { offsetInCU: 0x53, offset: 0x3CE5C, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel9GameErrorOwxx', symObjAddr: 0x58, symBinAddr: 0xE1A8, symSize: 0x18 } + - { offsetInCU: 0x67, offset: 0x3CE70, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel9GameErrorOwcp', symObjAddr: 0x70, symBinAddr: 0xE1C0, symSize: 0x48 } + - { offsetInCU: 0x7B, offset: 0x3CE84, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel9GameErrorOwca', symObjAddr: 0xB8, symBinAddr: 0xE208, symSize: 0xA0 } + - { offsetInCU: 0x8F, offset: 0x3CE98, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel9GameErrorOwta', symObjAddr: 0x164, symBinAddr: 0xE2A8, symSize: 0x60 } + - { offsetInCU: 0xA3, offset: 0x3CEAC, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel9GameErrorOwet', symObjAddr: 0x1C4, symBinAddr: 0xE308, symSize: 0x58 } + - { offsetInCU: 0xB7, offset: 0x3CEC0, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel9GameErrorOwst', symObjAddr: 0x21C, symBinAddr: 0xE360, symSize: 0x54 } + - { offsetInCU: 0xCB, offset: 0x3CED4, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel9GameErrorOwug', symObjAddr: 0x270, symBinAddr: 0xE3B4, symSize: 0x18 } + - { offsetInCU: 0xDF, offset: 0x3CEE8, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel9GameErrorOwup', symObjAddr: 0x288, symBinAddr: 0xE3CC, symSize: 0x4 } + - { offsetInCU: 0xF3, offset: 0x3CEFC, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel9GameErrorOwui', symObjAddr: 0x28C, symBinAddr: 0xE3D0, symSize: 0x20 } + - { offsetInCU: 0x107, offset: 0x3CF10, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel9GameErrorOMa', symObjAddr: 0x2AC, symBinAddr: 0xE3F0, symSize: 0x10 } + - { offsetInCU: 0x12C, offset: 0x3CF35, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel9GameErrorOs0F0AAsADP7_domainSSvgTW', symObjAddr: 0x0, symBinAddr: 0xE150, symSize: 0x4 } + - { offsetInCU: 0x148, offset: 0x3CF51, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel9GameErrorOs0F0AAsADP5_codeSivgTW', symObjAddr: 0x4, symBinAddr: 0xE154, symSize: 0x4 } + - { offsetInCU: 0x164, offset: 0x3CF6D, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel9GameErrorOs0F0AAsADP9_userInfoyXlSgvgTW', symObjAddr: 0x8, symBinAddr: 0xE158, symSize: 0x4 } + - { offsetInCU: 0x180, offset: 0x3CF89, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel9GameErrorOs0F0AAsADP19_getEmbeddedNSErroryXlSgyFTW', symObjAddr: 0xC, symBinAddr: 0xE15C, symSize: 0x4 } + - { offsetInCU: 0x27, offset: 0x3D01D, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12RandomPlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKF', symObjAddr: 0x0, symBinAddr: 0xE400, symSize: 0x28 } + - { offsetInCU: 0x52, offset: 0x3D048, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12RandomPlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKF', symObjAddr: 0x0, symBinAddr: 0xE400, symSize: 0x28 } + - { offsetInCU: 0xC5, offset: 0x3D0BB, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12RandomPlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKFTY0_', symObjAddr: 0x28, symBinAddr: 0xE428, symSize: 0x1B4 } + - { offsetInCU: 0x3A6, offset: 0x3D39C, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12RandomPlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKFTQ1_', symObjAddr: 0x1DC, symBinAddr: 0xE5DC, symSize: 0x70 } + - { offsetInCU: 0x4A7, offset: 0x3D49D, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12RandomPlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKFTY2_', symObjAddr: 0x24C, symBinAddr: 0xE64C, symSize: 0x104 } + - { offsetInCU: 0x5DD, offset: 0x3D5D3, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12RandomPlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKFTY3_', symObjAddr: 0x350, symBinAddr: 0xE750, symSize: 0x4C } + - { offsetInCU: 0x6C4, offset: 0x3D6BA, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12RandomPlayerC8withName5andIdACSgSS_AA5OwnerOtcfC', symObjAddr: 0x3C0, symBinAddr: 0xE7C0, symSize: 0x9C } + - { offsetInCU: 0x71B, offset: 0x3D711, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12RandomPlayerC8withName5andIdACSgSS_AA5OwnerOtcfc', symObjAddr: 0x45C, symBinAddr: 0xE85C, symSize: 0x6C } + - { offsetInCU: 0x76C, offset: 0x3D762, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12RandomPlayerCfd', symObjAddr: 0x4C8, symBinAddr: 0xE8C8, symSize: 0x24 } + - { offsetInCU: 0x7CB, offset: 0x3D7C1, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12RandomPlayerCfD', symObjAddr: 0x4EC, symBinAddr: 0xE8EC, symSize: 0x2C } + - { offsetInCU: 0x9ED, offset: 0x3D9E3, size: 0x8, addend: 0x0, symName: ___swift_project_boxed_opaque_existential_1, symObjAddr: 0x39C, symBinAddr: 0xE79C, symSize: 0x24 } + - { offsetInCU: 0xA98, offset: 0x3DA8E, size: 0x8, addend: 0x0, symName: '_$sSGsE4next10upperBoundqd__qd___ts17FixedWidthIntegerRd__SURd__lFs27SystemRandomNumberGeneratorV_SuTg5', symObjAddr: 0x518, symBinAddr: 0xE918, symSize: 0x88 } + - { offsetInCU: 0xB39, offset: 0x3DB2F, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12RandomPlayerCMa', symObjAddr: 0x5A0, symBinAddr: 0xE9A0, symSize: 0x20 } + - { offsetInCU: 0x27, offset: 0x3DCDB, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeO8allCasesSayACGvgZ', symObjAddr: 0x0, symBinAddr: 0xE9C0, symSize: 0x48 } + - { offsetInCU: 0x6C, offset: 0x3DD20, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeO8allCasesSayACGvgZ', symObjAddr: 0x0, symBinAddr: 0xE9C0, symSize: 0x48 } + - { offsetInCU: 0xDB, offset: 0x3DD8F, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeO2eeoiySbAC_ACtFZ', symObjAddr: 0x88, symBinAddr: 0xEA08, symSize: 0x14 } + - { offsetInCU: 0x10E, offset: 0x3DDC2, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeO4hash4intoys6HasherVz_tF', symObjAddr: 0x9C, symBinAddr: 0xEA1C, symSize: 0x28 } + - { offsetInCU: 0x1A4, offset: 0x3DE58, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeO9hashValueSivg', symObjAddr: 0xC4, symBinAddr: 0xEA44, symSize: 0x44 } + - { offsetInCU: 0x29E, offset: 0x3DF52, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeOSQAASQ2eeoiySbx_xtFZTW', symObjAddr: 0x108, symBinAddr: 0xEA88, symSize: 0x14 } + - { offsetInCU: 0x2BE, offset: 0x3DF72, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeOSQAASQ2eeoiySbx_xtFZTW', symObjAddr: 0x108, symBinAddr: 0xEA88, symSize: 0x14 } + - { offsetInCU: 0x2FE, offset: 0x3DFB2, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeOSHAASH9hashValueSivgTW', symObjAddr: 0x11C, symBinAddr: 0xEA9C, symSize: 0x44 } + - { offsetInCU: 0x3E1, offset: 0x3E095, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeOSHAASH4hash4intoys6HasherVz_tFTW', symObjAddr: 0x160, symBinAddr: 0xEAE0, symSize: 0x28 } + - { offsetInCU: 0x46D, offset: 0x3E121, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeOs12CaseIterableAAsADP8allCases03AllJ0QzvgZTW', symObjAddr: 0x2A4, symBinAddr: 0xEC24, symSize: 0x58 } + - { offsetInCU: 0x509, offset: 0x3E1BD, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeOSHAASQWb', symObjAddr: 0x1C8, symBinAddr: 0xEB48, symSize: 0x4 } + - { offsetInCU: 0x51D, offset: 0x3E1D1, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeOACSQAAWl', symObjAddr: 0x1CC, symBinAddr: 0xEB4C, symSize: 0x44 } + - { offsetInCU: 0x531, offset: 0x3E1E5, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeOs12CaseIterableAA8AllCasessADP_SlWT', symObjAddr: 0x210, symBinAddr: 0xEB90, symSize: 0x4 } + - { offsetInCU: 0x545, offset: 0x3E1F9, size: 0x8, addend: 0x0, symName: '_$sSay14DouShouQiModel8CellTypeOGSayxGSlsWl', symObjAddr: 0x214, symBinAddr: 0xEB94, symSize: 0x4C } + - { offsetInCU: 0x559, offset: 0x3E20D, size: 0x8, addend: 0x0, symName: ___swift_instantiateConcreteTypeFromMangledNameAbstract, symObjAddr: 0x260, symBinAddr: 0xEBE0, symSize: 0x44 } + - { offsetInCU: 0x56D, offset: 0x3E221, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeOwet', symObjAddr: 0x30C, symBinAddr: 0xEC7C, symSize: 0x90 } + - { offsetInCU: 0x581, offset: 0x3E235, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeOwst', symObjAddr: 0x39C, symBinAddr: 0xED0C, symSize: 0xBC } + - { offsetInCU: 0x595, offset: 0x3E249, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeOwug', symObjAddr: 0x458, symBinAddr: 0xEDC8, symSize: 0x8 } + - { offsetInCU: 0x5A9, offset: 0x3E25D, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeOwup', symObjAddr: 0x460, symBinAddr: 0xEDD0, symSize: 0x4 } + - { offsetInCU: 0x5BD, offset: 0x3E271, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeOwui', symObjAddr: 0x464, symBinAddr: 0xEDD4, symSize: 0x8 } + - { offsetInCU: 0x5D1, offset: 0x3E285, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeOMa', symObjAddr: 0x46C, symBinAddr: 0xEDDC, symSize: 0x10 } + - { offsetInCU: 0x63E, offset: 0x3E2F2, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeOSHAASH13_rawHashValue4seedS2i_tFTW', symObjAddr: 0x188, symBinAddr: 0xEB08, symSize: 0x40 } + - { offsetInCU: 0x2B, offset: 0x3E432, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardV8withGridACSgSaySayAA4CellVGG_tcfC', symObjAddr: 0x0, symBinAddr: 0xEDEC, symSize: 0x68 } + - { offsetInCU: 0xA6, offset: 0x3E4AD, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardV8withGridACSgSaySayAA4CellVGG_tcfC', symObjAddr: 0x0, symBinAddr: 0xEDEC, symSize: 0x68 } + - { offsetInCU: 0x2B0, offset: 0x3E6B7, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardV11countPieces2ofSiAA5OwnerO_tF', symObjAddr: 0x68, symBinAddr: 0xEE54, symSize: 0x1C0 } + - { offsetInCU: 0x583, offset: 0x3E98A, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardV4hash4intoys6HasherVz_tF', symObjAddr: 0x228, symBinAddr: 0xF014, symSize: 0xD0 } + - { offsetInCU: 0x7F1, offset: 0x3EBF8, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardV6nbRowsSivg', symObjAddr: 0x2F8, symBinAddr: 0xF0E4, symSize: 0x8 } + - { offsetInCU: 0x80F, offset: 0x3EC16, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardV9nbColumnsSivg', symObjAddr: 0x300, symBinAddr: 0xF0EC, symSize: 0x8 } + - { offsetInCU: 0x82D, offset: 0x3EC34, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardV4gridSaySayAA4CellVGGvg', symObjAddr: 0x308, symBinAddr: 0xF0F4, symSize: 0x8 } + - { offsetInCU: 0x84B, offset: 0x3EC52, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardV11countPiecesSi04nbOfgI7Player1_Si0higI7Player2tyF', symObjAddr: 0x310, symBinAddr: 0xF0FC, symSize: 0xD0 } + - { offsetInCU: 0xA02, offset: 0x3EE09, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardV6insert5piece5atRow9andColumnAA0E6ResultOAA5PieceV_S2itF', symObjAddr: 0x3E0, symBinAddr: 0xF1CC, symSize: 0x150 } + - { offsetInCU: 0xC18, offset: 0x3F01F, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardV11removePiece5atRow9andColumnAA0E6ResultOSi_SitF', symObjAddr: 0x530, symBinAddr: 0xF31C, symSize: 0x14C } + - { offsetInCU: 0xE35, offset: 0x3F23C, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardV2eeoiySbAC_ACtFZ', symObjAddr: 0x67C, symBinAddr: 0xF468, symSize: 0x28 } + - { offsetInCU: 0xE77, offset: 0x3F27E, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardV9hashValueSivg', symObjAddr: 0x6A4, symBinAddr: 0xF490, symSize: 0x50 } + - { offsetInCU: 0xF03, offset: 0x3F30A, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVSHAASH9hashValueSivgTW', symObjAddr: 0x6F4, symBinAddr: 0xF4E0, symSize: 0x50 } + - { offsetInCU: 0xF92, offset: 0x3F399, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVSHAASH4hash4intoys6HasherVz_tFTW', symObjAddr: 0x744, symBinAddr: 0xF530, symSize: 0x4 } + - { offsetInCU: 0xFC0, offset: 0x3F3C7, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVSQAASQ2eeoiySbx_xtFZTW', symObjAddr: 0x794, symBinAddr: 0xF580, symSize: 0x28 } + - { offsetInCU: 0x125D, offset: 0x3F664, size: 0x8, addend: 0x0, symName: '_$ss12_ArrayBufferV20_consumeAndCreateNewAByxGyF14DouShouQiModel4MoveV_Tg5', symObjAddr: 0x7BC, symBinAddr: 0xF5A8, symSize: 0x14 } + - { offsetInCU: 0x1295, offset: 0x3F69C, size: 0x8, addend: 0x0, symName: '_$ss12_ArrayBufferV20_consumeAndCreateNewAByxGyF14DouShouQiModel4CellV_Tg5', symObjAddr: 0x7D0, symBinAddr: 0xF5BC, symSize: 0x14 } + - { offsetInCU: 0x12CD, offset: 0x3F6D4, size: 0x8, addend: 0x0, symName: '_$ss12_ArrayBufferV20_consumeAndCreateNewAByxGyFSay14DouShouQiModel4CellVG_Tg5', symObjAddr: 0x7E4, symBinAddr: 0xF5D0, symSize: 0x14 } + - { offsetInCU: 0x1305, offset: 0x3F70C, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVSHAASQWb', symObjAddr: 0x9B0, symBinAddr: 0xF79C, symSize: 0x4 } + - { offsetInCU: 0x1319, offset: 0x3F720, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVACSQAAWl', symObjAddr: 0x9B4, symBinAddr: 0xF7A0, symSize: 0x44 } + - { offsetInCU: 0x132D, offset: 0x3F734, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVwCP', symObjAddr: 0x9F8, symBinAddr: 0xF7E4, symSize: 0x34 } + - { offsetInCU: 0x1341, offset: 0x3F748, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVwxx', symObjAddr: 0xA2C, symBinAddr: 0xF818, symSize: 0x8 } + - { offsetInCU: 0x1355, offset: 0x3F75C, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVwcp', symObjAddr: 0xA34, symBinAddr: 0xF820, symSize: 0x34 } + - { offsetInCU: 0x1369, offset: 0x3F770, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVwca', symObjAddr: 0xA68, symBinAddr: 0xF854, symSize: 0x48 } + - { offsetInCU: 0x137D, offset: 0x3F784, size: 0x8, addend: 0x0, symName: ___swift_memcpy24_8, symObjAddr: 0xAB0, symBinAddr: 0xF89C, symSize: 0x14 } + - { offsetInCU: 0x1391, offset: 0x3F798, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVwta', symObjAddr: 0xAC4, symBinAddr: 0xF8B0, symSize: 0x38 } + - { offsetInCU: 0x13A5, offset: 0x3F7AC, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVwet', symObjAddr: 0xAFC, symBinAddr: 0xF8E8, symSize: 0x48 } + - { offsetInCU: 0x13B9, offset: 0x3F7C0, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVwst', symObjAddr: 0xB44, symBinAddr: 0xF930, symSize: 0x40 } + - { offsetInCU: 0x13CD, offset: 0x3F7D4, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVMa', symObjAddr: 0xB84, symBinAddr: 0xF970, symSize: 0x10 } + - { offsetInCU: 0x1532, offset: 0x3F939, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVSHAASH13_rawHashValue4seedS2i_tFTW', symObjAddr: 0x748, symBinAddr: 0xF534, symSize: 0x4C } + - { offsetInCU: 0x1570, offset: 0x3F977, size: 0x8, addend: 0x0, symName: '_$sSasSQRzlE2eeoiySbSayxG_ABtFZ14DouShouQiModel4CellV_Tg5Tf4nnd_n', symObjAddr: 0x7F8, symBinAddr: 0xF5E4, symSize: 0x98 } + - { offsetInCU: 0x1590, offset: 0x3F997, size: 0x8, addend: 0x0, symName: '_$sSasSQRzlE2eeoiySbSayxG_ABtFZ14DouShouQiModel4CellV_Tg5Tf4nnd_n', symObjAddr: 0x7F8, symBinAddr: 0xF5E4, symSize: 0x98 } + - { offsetInCU: 0x15A4, offset: 0x3F9AB, size: 0x8, addend: 0x0, symName: '_$sSasSQRzlE2eeoiySbSayxG_ABtFZ14DouShouQiModel4CellV_Tg5Tf4nnd_n', symObjAddr: 0x7F8, symBinAddr: 0xF5E4, symSize: 0x98 } + - { offsetInCU: 0x15B8, offset: 0x3F9BF, size: 0x8, addend: 0x0, symName: '_$sSasSQRzlE2eeoiySbSayxG_ABtFZ14DouShouQiModel4CellV_Tg5Tf4nnd_n', symObjAddr: 0x7F8, symBinAddr: 0xF5E4, symSize: 0x98 } + - { offsetInCU: 0x1644, offset: 0x3FA4B, size: 0x8, addend: 0x0, symName: '_$sSasSQRzlE2eeoiySbSayxG_ABtFZSay14DouShouQiModel4CellVG_Tg5Tf4nnd_n', symObjAddr: 0x890, symBinAddr: 0xF67C, symSize: 0x120 } + - { offsetInCU: 0x27, offset: 0x3FC94, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceV9withOwner9andAnimalAcA0G0O_AA0I0OtcfC', symObjAddr: 0x0, symBinAddr: 0xF980, symSize: 0x14 } + - { offsetInCU: 0x46, offset: 0x3FCB3, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceV9withOwner9andAnimalAcA0G0O_AA0I0OtcfC', symObjAddr: 0x0, symBinAddr: 0xF980, symSize: 0x14 } + - { offsetInCU: 0x85, offset: 0x3FCF2, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceV11descriptionSSvg', symObjAddr: 0x14, symBinAddr: 0xF994, symSize: 0xB4 } + - { offsetInCU: 0x176, offset: 0x3FDE3, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceV5ownerAA5OwnerOvg', symObjAddr: 0xC8, symBinAddr: 0xFA48, symSize: 0xC } + - { offsetInCU: 0x194, offset: 0x3FE01, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceV6animalAA6AnimalOvg', symObjAddr: 0xD4, symBinAddr: 0xFA54, symSize: 0xC } + - { offsetInCU: 0x1B2, offset: 0x3FE1F, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceV4hash4intoys6HasherVz_tF', symObjAddr: 0xE0, symBinAddr: 0xFA60, symSize: 0x3C } + - { offsetInCU: 0x2E8, offset: 0x3FF55, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceV2eeoiySbAC_ACtFZ', symObjAddr: 0x11C, symBinAddr: 0xFA9C, symSize: 0x20 } + - { offsetInCU: 0x355, offset: 0x3FFC2, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceV9hashValueSivg', symObjAddr: 0x13C, symBinAddr: 0xFABC, symSize: 0x5C } + - { offsetInCU: 0x4EB, offset: 0x40158, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceVs23CustomStringConvertibleAAsADP11descriptionSSvgTW', symObjAddr: 0x198, symBinAddr: 0xFB18, symSize: 0x4 } + - { offsetInCU: 0x516, offset: 0x40183, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceVSHAASH9hashValueSivgTW', symObjAddr: 0x19C, symBinAddr: 0xFB1C, symSize: 0x5C } + - { offsetInCU: 0x6C9, offset: 0x40336, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceVSHAASH4hash4intoys6HasherVz_tFTW', symObjAddr: 0x1F8, symBinAddr: 0xFB78, symSize: 0x3C } + - { offsetInCU: 0x82D, offset: 0x4049A, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceVSQAASQ2eeoiySbx_xtFZTW', symObjAddr: 0x28C, symBinAddr: 0xFC0C, symSize: 0x20 } + - { offsetInCU: 0x84D, offset: 0x404BA, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceVSQAASQ2eeoiySbx_xtFZTW', symObjAddr: 0x28C, symBinAddr: 0xFC0C, symSize: 0x20 } + - { offsetInCU: 0x949, offset: 0x405B6, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceVSHAASQWb', symObjAddr: 0x2AC, symBinAddr: 0xFC2C, symSize: 0x4 } + - { offsetInCU: 0x95D, offset: 0x405CA, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceVACSQAAWl', symObjAddr: 0x2B0, symBinAddr: 0xFC30, symSize: 0x44 } + - { offsetInCU: 0x971, offset: 0x405DE, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceVwet', symObjAddr: 0x304, symBinAddr: 0xFC74, symSize: 0x94 } + - { offsetInCU: 0x985, offset: 0x405F2, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceVwst', symObjAddr: 0x398, symBinAddr: 0xFD08, symSize: 0xBC } + - { offsetInCU: 0x999, offset: 0x40606, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceVMa', symObjAddr: 0x454, symBinAddr: 0xFDC4, symSize: 0x10 } + - { offsetInCU: 0xA44, offset: 0x406B1, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceVSHAASH13_rawHashValue4seedS2i_tFTW', symObjAddr: 0x234, symBinAddr: 0xFBB4, symSize: 0x58 } + - { offsetInCU: 0x27, offset: 0x408B0, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel17InvalidBoardErrorO2eeoiySbAC_ACtFZ', symObjAddr: 0x0, symBinAddr: 0xFDD4, symSize: 0x4 } + - { offsetInCU: 0x4B, offset: 0x408D4, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel17InvalidBoardErrorO2eeoiySbAC_ACtFZ', symObjAddr: 0x0, symBinAddr: 0xFDD4, symSize: 0x4 } + - { offsetInCU: 0x6E, offset: 0x408F7, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel17InvalidBoardErrorOSQAASQ2eeoiySbx_xtFZTW', symObjAddr: 0x14, symBinAddr: 0xFDE8, symSize: 0x4 } + - { offsetInCU: 0x8E, offset: 0x40917, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel17InvalidBoardErrorOSQAASQ2eeoiySbx_xtFZTW', symObjAddr: 0x14, symBinAddr: 0xFDE8, symSize: 0x4 } + - { offsetInCU: 0x9F, offset: 0x40928, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel17InvalidBoardErrorO2eeoiySbAC_ACtFZTf4nnd_n', symObjAddr: 0x18, symBinAddr: 0xFDEC, symSize: 0x118 } + - { offsetInCU: 0x1AE, offset: 0x40A37, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel17InvalidBoardErrorOwCP', symObjAddr: 0x130, symBinAddr: 0xFF04, symSize: 0x30 } + - { offsetInCU: 0x1C2, offset: 0x40A4B, size: 0x8, addend: 0x0, symName: ___swift_memcpy25_8, symObjAddr: 0x164, symBinAddr: 0xFF34, symSize: 0x14 } + - { offsetInCU: 0x1D6, offset: 0x40A5F, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel17InvalidBoardErrorOwet', symObjAddr: 0x178, symBinAddr: 0xFF48, symSize: 0x48 } + - { offsetInCU: 0x1EA, offset: 0x40A73, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel17InvalidBoardErrorOwst', symObjAddr: 0x1C0, symBinAddr: 0xFF90, symSize: 0x48 } + - { offsetInCU: 0x1FE, offset: 0x40A87, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel17InvalidBoardErrorOwug', symObjAddr: 0x208, symBinAddr: 0xFFD8, symSize: 0x18 } + - { offsetInCU: 0x212, offset: 0x40A9B, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel17InvalidBoardErrorOwup', symObjAddr: 0x220, symBinAddr: 0xFFF0, symSize: 0x4 } + - { offsetInCU: 0x226, offset: 0x40AAF, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel17InvalidBoardErrorOwui', symObjAddr: 0x224, symBinAddr: 0xFFF4, symSize: 0x1C } + - { offsetInCU: 0x23A, offset: 0x40AC3, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel17InvalidBoardErrorOMa', symObjAddr: 0x240, symBinAddr: 0x10010, symSize: 0x10 } + - { offsetInCU: 0x25F, offset: 0x40AE8, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel17InvalidBoardErrorOs0G0AAsADP7_domainSSvgTW', symObjAddr: 0x4, symBinAddr: 0xFDD8, symSize: 0x4 } + - { offsetInCU: 0x27B, offset: 0x40B04, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel17InvalidBoardErrorOs0G0AAsADP5_codeSivgTW', symObjAddr: 0x8, symBinAddr: 0xFDDC, symSize: 0x4 } + - { offsetInCU: 0x297, offset: 0x40B20, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel17InvalidBoardErrorOs0G0AAsADP9_userInfoyXlSgvgTW', symObjAddr: 0xC, symBinAddr: 0xFDE0, symSize: 0x4 } + - { offsetInCU: 0x2B3, offset: 0x40B3C, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel17InvalidBoardErrorOs0G0AAsADP19_getEmbeddedNSErroryXlSgyFTW', symObjAddr: 0x10, symBinAddr: 0xFDE4, symSize: 0x4 } + - { offsetInCU: 0x27, offset: 0x40BE5, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5OwnerO2eeoiySbAC_ACtFZ', symObjAddr: 0x0, symBinAddr: 0x10020, symSize: 0x14 } + - { offsetInCU: 0x4B, offset: 0x40C09, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5OwnerO2eeoiySbAC_ACtFZ', symObjAddr: 0x0, symBinAddr: 0x10020, symSize: 0x14 } + - { offsetInCU: 0x7E, offset: 0x40C3C, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5OwnerO17simpleDescriptionSSvg', symObjAddr: 0x14, symBinAddr: 0x10034, symSize: 0x18 } + - { offsetInCU: 0xA9, offset: 0x40C67, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5OwnerO4hash4intoys6HasherVz_tF', symObjAddr: 0x2C, symBinAddr: 0x1004C, symSize: 0x28 } + - { offsetInCU: 0x13F, offset: 0x40CFD, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5OwnerO9hashValueSivg', symObjAddr: 0x54, symBinAddr: 0x10074, symSize: 0x44 } + - { offsetInCU: 0x239, offset: 0x40DF7, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5OwnerOSQAASQ2eeoiySbx_xtFZTW', symObjAddr: 0x98, symBinAddr: 0x100B8, symSize: 0x14 } + - { offsetInCU: 0x259, offset: 0x40E17, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5OwnerOSQAASQ2eeoiySbx_xtFZTW', symObjAddr: 0x98, symBinAddr: 0x100B8, symSize: 0x14 } + - { offsetInCU: 0x299, offset: 0x40E57, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5OwnerOSHAASH9hashValueSivgTW', symObjAddr: 0xAC, symBinAddr: 0x100CC, symSize: 0x44 } + - { offsetInCU: 0x37C, offset: 0x40F3A, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5OwnerOSHAASH4hash4intoys6HasherVz_tFTW', symObjAddr: 0xF0, symBinAddr: 0x10110, symSize: 0x28 } + - { offsetInCU: 0x405, offset: 0x40FC3, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5OwnerOSHAASQWb', symObjAddr: 0x158, symBinAddr: 0x10178, symSize: 0x4 } + - { offsetInCU: 0x419, offset: 0x40FD7, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5OwnerOACSQAAWl', symObjAddr: 0x15C, symBinAddr: 0x1017C, symSize: 0x44 } + - { offsetInCU: 0x42D, offset: 0x40FEB, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5OwnerOwet', symObjAddr: 0x1B0, symBinAddr: 0x101C0, symSize: 0x90 } + - { offsetInCU: 0x441, offset: 0x40FFF, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5OwnerOwst', symObjAddr: 0x240, symBinAddr: 0x10250, symSize: 0xBC } + - { offsetInCU: 0x455, offset: 0x41013, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5OwnerOwug', symObjAddr: 0x2FC, symBinAddr: 0x1030C, symSize: 0x8 } + - { offsetInCU: 0x469, offset: 0x41027, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5OwnerOwup', symObjAddr: 0x304, symBinAddr: 0x10314, symSize: 0x4 } + - { offsetInCU: 0x47D, offset: 0x4103B, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5OwnerOwui', symObjAddr: 0x308, symBinAddr: 0x10318, symSize: 0x8 } + - { offsetInCU: 0x491, offset: 0x4104F, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5OwnerOMa', symObjAddr: 0x310, symBinAddr: 0x10320, symSize: 0x10 } + - { offsetInCU: 0x4E9, offset: 0x410A7, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5OwnerOSHAASH13_rawHashValue4seedS2i_tFTW', symObjAddr: 0x118, symBinAddr: 0x10138, symSize: 0x40 } + - { offsetInCU: 0x27, offset: 0x411D1, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8IAPlayerC8withName5andIdACSgSS_AA5OwnerOtcfc', symObjAddr: 0x0, symBinAddr: 0x10330, symSize: 0x6C } + - { offsetInCU: 0xAC, offset: 0x41256, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8IAPlayerC8withName5andIdACSgSS_AA5OwnerOtcfc', symObjAddr: 0x0, symBinAddr: 0x10330, symSize: 0x6C } + - { offsetInCU: 0xF0, offset: 0x4129A, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8IAPlayerCfd', symObjAddr: 0x6C, symBinAddr: 0x1039C, symSize: 0x24 } + - { offsetInCU: 0x155, offset: 0x412FF, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8IAPlayerC8withName5andIdACSgSS_AA5OwnerOtcfC', symObjAddr: 0x90, symBinAddr: 0x103C0, symSize: 0x9C } + - { offsetInCU: 0x1BD, offset: 0x41367, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8IAPlayerCfD', symObjAddr: 0x12C, symBinAddr: 0x1045C, symSize: 0x2C } + - { offsetInCU: 0x217, offset: 0x413C1, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8IAPlayerCMa', symObjAddr: 0x158, symBinAddr: 0x10488, symSize: 0x20 } + - { offsetInCU: 0x27, offset: 0x41484, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveV2eeoiySbAC_ACtFZ', symObjAddr: 0x0, symBinAddr: 0x104A8, symSize: 0x4 } + - { offsetInCU: 0x46, offset: 0x414A3, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveV2eeoiySbAC_ACtFZ', symObjAddr: 0x0, symBinAddr: 0x104A8, symSize: 0x4 } + - { offsetInCU: 0x5A, offset: 0x414B7, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveV2of7fromRow13andFromColumn02toH00i2ToK0AcA5OwnerO_S4itcfC', symObjAddr: 0x4, symBinAddr: 0x104AC, symSize: 0x14 } + - { offsetInCU: 0xC1, offset: 0x4151E, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveV5ownerAA5OwnerOvg', symObjAddr: 0x18, symBinAddr: 0x104C0, symSize: 0xC } + - { offsetInCU: 0xDF, offset: 0x4153C, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveV9rowOriginSivg', symObjAddr: 0x24, symBinAddr: 0x104CC, symSize: 0x8 } + - { offsetInCU: 0xFD, offset: 0x4155A, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveV12columnOriginSivg', symObjAddr: 0x2C, symBinAddr: 0x104D4, symSize: 0x8 } + - { offsetInCU: 0x11B, offset: 0x41578, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveV14rowDestinationSivg', symObjAddr: 0x34, symBinAddr: 0x104DC, symSize: 0x8 } + - { offsetInCU: 0x139, offset: 0x41596, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveV17columnDestinationSivg', symObjAddr: 0x3C, symBinAddr: 0x104E4, symSize: 0x8 } + - { offsetInCU: 0x157, offset: 0x415B4, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveV11descriptionSSvg', symObjAddr: 0x44, symBinAddr: 0x104EC, symSize: 0x198 } + - { offsetInCU: 0x287, offset: 0x416E4, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveVs23CustomStringConvertibleAAsADP11descriptionSSvgTW', symObjAddr: 0x1DC, symBinAddr: 0x10684, symSize: 0x4 } + - { offsetInCU: 0x2B2, offset: 0x4170F, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveVSQAASQ2eeoiySbx_xtFZTW', symObjAddr: 0x1E0, symBinAddr: 0x10688, symSize: 0x4 } + - { offsetInCU: 0x2D2, offset: 0x4172F, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveVSQAASQ2eeoiySbx_xtFZTW', symObjAddr: 0x1E0, symBinAddr: 0x10688, symSize: 0x4 } + - { offsetInCU: 0x2E3, offset: 0x41740, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveV2eeoiySbAC_ACtFZTf4nnd_n', symObjAddr: 0x1E4, symBinAddr: 0x1068C, symSize: 0x48 } + - { offsetInCU: 0x316, offset: 0x41773, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveVwCP', symObjAddr: 0x22C, symBinAddr: 0x106D4, symSize: 0x30 } + - { offsetInCU: 0x32A, offset: 0x41787, size: 0x8, addend: 0x0, symName: ___swift_memcpy40_8, symObjAddr: 0x260, symBinAddr: 0x10704, symSize: 0x14 } + - { offsetInCU: 0x33E, offset: 0x4179B, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveVwet', symObjAddr: 0x274, symBinAddr: 0x10718, symSize: 0x44 } + - { offsetInCU: 0x352, offset: 0x417AF, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveVwst', symObjAddr: 0x2B8, symBinAddr: 0x1075C, symSize: 0x4C } + - { offsetInCU: 0x366, offset: 0x417C3, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveVMa', symObjAddr: 0x304, symBinAddr: 0x107A8, symSize: 0x10 } + - { offsetInCU: 0x27, offset: 0x418B4, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6AnimalO8rawValueSivg', symObjAddr: 0x0, symBinAddr: 0x107B8, symSize: 0xC } + - { offsetInCU: 0x4B, offset: 0x418D8, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6AnimalO8rawValueSivg', symObjAddr: 0x0, symBinAddr: 0x107B8, symSize: 0xC } + - { offsetInCU: 0x66, offset: 0x418F3, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6AnimalO8rawValueACSgSi_tcfC', symObjAddr: 0xC, symBinAddr: 0x107C4, symSize: 0x18 } + - { offsetInCU: 0xB8, offset: 0x41945, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6AnimalOSYAASY8rawValuexSg03RawG0Qz_tcfCTW', symObjAddr: 0x130, symBinAddr: 0x108E8, symSize: 0x8 } + - { offsetInCU: 0xD4, offset: 0x41961, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6AnimalOSYAASY8rawValue03RawG0QzvgTW', symObjAddr: 0x138, symBinAddr: 0x108F0, symSize: 0x10 } + - { offsetInCU: 0xEC, offset: 0x41979, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6AnimalOSYAASY8rawValue03RawG0QzvgTW', symObjAddr: 0x138, symBinAddr: 0x108F0, symSize: 0x10 } + - { offsetInCU: 0x109, offset: 0x41996, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6AnimalOSHAASQWb', symObjAddr: 0x38, symBinAddr: 0x107F0, symSize: 0x4 } + - { offsetInCU: 0x11D, offset: 0x419AA, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6AnimalOACSQAAWl', symObjAddr: 0x3C, symBinAddr: 0x107F4, symSize: 0x44 } + - { offsetInCU: 0x147, offset: 0x419D4, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6AnimalOwet', symObjAddr: 0x158, symBinAddr: 0x10900, symSize: 0x90 } + - { offsetInCU: 0x15B, offset: 0x419E8, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6AnimalOwst', symObjAddr: 0x1E8, symBinAddr: 0x10990, symSize: 0xBC } + - { offsetInCU: 0x16F, offset: 0x419FC, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6AnimalOwug', symObjAddr: 0x2A4, symBinAddr: 0x10A4C, symSize: 0x8 } + - { offsetInCU: 0x183, offset: 0x41A10, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6AnimalOwup', symObjAddr: 0x2AC, symBinAddr: 0x10A54, symSize: 0x4 } + - { offsetInCU: 0x197, offset: 0x41A24, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6AnimalOwui', symObjAddr: 0x2B0, symBinAddr: 0x10A58, symSize: 0x8 } + - { offsetInCU: 0x1AB, offset: 0x41A38, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6AnimalOMa', symObjAddr: 0x2B8, symBinAddr: 0x10A60, symSize: 0x10 } + - { offsetInCU: 0x1E5, offset: 0x41A72, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6AnimalOSQAASQ2eeoiySbx_xtFZTW', symObjAddr: 0x24, symBinAddr: 0x107DC, symSize: 0x14 } + - { offsetInCU: 0x276, offset: 0x41B03, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6AnimalOSHAASH9hashValueSivgTW', symObjAddr: 0x80, symBinAddr: 0x10838, symSize: 0x44 } + - { offsetInCU: 0x34E, offset: 0x41BDB, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6AnimalOSHAASH4hash4intoys6HasherVz_tFTW', symObjAddr: 0xC4, symBinAddr: 0x1087C, symSize: 0x2C } + - { offsetInCU: 0x3CA, offset: 0x41C57, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6AnimalOSHAASH13_rawHashValue4seedS2i_tFTW', symObjAddr: 0xF0, symBinAddr: 0x108A8, symSize: 0x40 } + - { offsetInCU: 0x97, offset: 0x41DF5, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC5boardAA5BoardVvg', symObjAddr: 0xBC, symBinAddr: 0x10B2C, symSize: 0x4C } + - { offsetInCU: 0xE0, offset: 0x41E3E, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC5rulesAA5Rules_pvg', symObjAddr: 0x16C, symBinAddr: 0x10BDC, symSize: 0x48 } + - { offsetInCU: 0xFF, offset: 0x41E5D, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC7playersSDyAA5OwnerOAA6PlayerCGvg', symObjAddr: 0x1F8, symBinAddr: 0x10C68, symSize: 0x8 } + - { offsetInCU: 0x12C, offset: 0x41E8A, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC9withRules10andPlayer10H7Player2AcA0G0_p_AA6PlayerCAItKcfC', symObjAddr: 0x200, symBinAddr: 0x10C70, symSize: 0x64 } + - { offsetInCU: 0x151, offset: 0x41EAF, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC9withRules10andPlayer10H7Player2AcA0G0_p_AA6PlayerCAItKcfc', symObjAddr: 0x264, symBinAddr: 0x10CD4, symSize: 0x464 } + - { offsetInCU: 0x553, offset: 0x422B1, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC9withRules10andPlayer10H7Player2AcA0G0_p_AA6PlayerCAItKcfcyAA4MoveVSg_AItYacfU_', symObjAddr: 0x7B0, symBinAddr: 0x11178, symSize: 0x84 } + - { offsetInCU: 0x602, offset: 0x42360, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC9withRules10andPlayer10H7Player2AcA0G0_p_AA6PlayerCAItKcfcyAA4MoveVSg_AItYacfU_TQ0_', symObjAddr: 0x834, symBinAddr: 0x111FC, symSize: 0x68 } + - { offsetInCU: 0x69B, offset: 0x423F9, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC9withRules10andPlayer10H7Player2AcA0G0_p_AA6PlayerCAItKcfcyAA4MoveVSg_AItYacfU_TY2_', symObjAddr: 0x89C, symBinAddr: 0x11264, symSize: 0x1C } + - { offsetInCU: 0x6E0, offset: 0x4243E, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC9withRules10andPlayer10H7Player2AcA0G0_p_AA6PlayerCAItKcfcyAA4MoveVSg_AItYacfU0_', symObjAddr: 0x8B8, symBinAddr: 0x11280, symSize: 0x84 } + - { offsetInCU: 0x78F, offset: 0x424ED, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC9withRules10andPlayer10H7Player2AcA0G0_p_AA6PlayerCAItKcfcyAA4MoveVSg_AItYacfU0_TQ0_', symObjAddr: 0x93C, symBinAddr: 0x11304, symSize: 0x68 } + - { offsetInCU: 0x828, offset: 0x42586, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC9withRules10andPlayer10H7Player2AcA0G0_p_AA6PlayerCAItKcfcyAA4MoveVSg_AItYacfU0_TY1_', symObjAddr: 0x9A4, symBinAddr: 0x1136C, symSize: 0xC } + - { offsetInCU: 0x882, offset: 0x425E0, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC9withRules10andPlayer10H7Player2AcA0G0_p_AA6PlayerCAItKcfcyAA4MoveVSg_AItYacfU0_TY2_', symObjAddr: 0x9B0, symBinAddr: 0x11378, symSize: 0x1C } + - { offsetInCU: 0x8C7, offset: 0x42625, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC9withBoard8andRules0H7Player10H7Player2AcA0G0V_AA0I0_pAA6PlayerCALtKcfC', symObjAddr: 0x9CC, symBinAddr: 0x11394, symSize: 0x6C } + - { offsetInCU: 0x8EC, offset: 0x4264A, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC9withBoard8andRules0H7Player10H7Player2AcA0G0V_AA0I0_pAA6PlayerCALtKcfc', symObjAddr: 0xA38, symBinAddr: 0x11400, symSize: 0x2C4 } + - { offsetInCU: 0x9E9, offset: 0x42747, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC03addE15StartedListeneryyyAA5BoardVcF', symObjAddr: 0xCFC, symBinAddr: 0x116C4, symSize: 0xD4 } + - { offsetInCU: 0xB14, offset: 0x42872, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC25addPlayerNotifiedListeneryyyAA5BoardV_AA0G0CtYaKcF', symObjAddr: 0xDD0, symBinAddr: 0x11798, symSize: 0xD4 } + - { offsetInCU: 0xC3F, offset: 0x4299D, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC03addE15ChangedListeneryyyACYacF', symObjAddr: 0xF58, symBinAddr: 0x11920, symSize: 0xD4 } + - { offsetInCU: 0xD6A, offset: 0x42AC8, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC03addE12OverListeneryyyAA5BoardV_AA6ResultOAA6PlayerCSgtcF', symObjAddr: 0x108C, symBinAddr: 0x11A54, symSize: 0xD4 } + - { offsetInCU: 0xE95, offset: 0x42BF3, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC30addMoveChosenCallbacksListeneryyyAA5BoardV_AA0G0VAA6PlayerCtcF', symObjAddr: 0x1160, symBinAddr: 0x11B28, symSize: 0xD4 } + - { offsetInCU: 0xFC0, offset: 0x42D1E, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC31addInvalidMoveCallbacksListeneryyyAA5BoardV_AA0H0VAA6PlayerCSbtcF', symObjAddr: 0x1234, symBinAddr: 0x11BFC, symSize: 0xD4 } + - { offsetInCU: 0x10EB, offset: 0x42E49, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC23addBoardChangedListeneryyyAA0G0VcF', symObjAddr: 0x1308, symBinAddr: 0x11CD0, symSize: 0xD4 } + - { offsetInCU: 0x1216, offset: 0x42F74, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC23addPieceRemovedListeneryyySi_SiAA0G0VtcF', symObjAddr: 0x13DC, symBinAddr: 0x11DA4, symSize: 0xD4 } + - { offsetInCU: 0x135F, offset: 0x430BD, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC18notifyPieceRemoved33_4E9958627B7DCD90B6D32369387417C3LLyySi_SiAA0G0VtF', symObjAddr: 0x14B0, symBinAddr: 0x11E78, symSize: 0xC8 } + - { offsetInCU: 0x150C, offset: 0x4326A, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC8onPlayed4with4fromyAA4MoveVSg_AA6PlayerCtYaKF', symObjAddr: 0x1578, symBinAddr: 0x11F40, symSize: 0x28 } + - { offsetInCU: 0x1914, offset: 0x43672, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC8onPlayed4with4fromyAA4MoveVSg_AA6PlayerCtYaKFTY0_', symObjAddr: 0x15A0, symBinAddr: 0x11F68, symSize: 0x9E8 } + - { offsetInCU: 0x267D, offset: 0x443DB, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC8onPlayed4with4fromyAA4MoveVSg_AA6PlayerCtYaKFTQ1_', symObjAddr: 0x1F88, symBinAddr: 0x12950, symSize: 0x60 } + - { offsetInCU: 0x27B0, offset: 0x4450E, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC8onPlayed4with4fromyAA4MoveVSg_AA6PlayerCtYaKFTY2_', symObjAddr: 0x1FE8, symBinAddr: 0x129B0, symSize: 0x220 } + - { offsetInCU: 0x2AB9, offset: 0x44817, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC8onPlayed4with4fromyAA4MoveVSg_AA6PlayerCtYaKFTQ3_', symObjAddr: 0x2208, symBinAddr: 0x12BD0, symSize: 0x70 } + - { offsetInCU: 0x2BB2, offset: 0x44910, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC8onPlayed4with4fromyAA4MoveVSg_AA6PlayerCtYaKFTY4_', symObjAddr: 0x2278, symBinAddr: 0x12C40, symSize: 0x10C } + - { offsetInCU: 0x2CE1, offset: 0x44A3F, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC8onPlayed4with4fromyAA4MoveVSg_AA6PlayerCtYaKFTY5_', symObjAddr: 0x2384, symBinAddr: 0x12D4C, symSize: 0x5C } + - { offsetInCU: 0x2D8F, offset: 0x44AED, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC6isOverSbvg', symObjAddr: 0x23E0, symBinAddr: 0x12DA8, symSize: 0x30 } + - { offsetInCU: 0x2DAC, offset: 0x44B0A, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC5startyyYaKF', symObjAddr: 0x2410, symBinAddr: 0x12DD8, symSize: 0x18 } + - { offsetInCU: 0x2E63, offset: 0x44BC1, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC5startyyYaKFTY0_', symObjAddr: 0x2428, symBinAddr: 0x12DF0, symSize: 0x348 } + - { offsetInCU: 0x3351, offset: 0x450AF, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC5startyyYaKFTQ1_', symObjAddr: 0x2770, symBinAddr: 0x13138, symSize: 0x60 } + - { offsetInCU: 0x33ED, offset: 0x4514B, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC5startyyYaKFTY2_', symObjAddr: 0x27D0, symBinAddr: 0x13198, symSize: 0x210 } + - { offsetInCU: 0x3666, offset: 0x453C4, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC5startyyYaKFTQ3_', symObjAddr: 0x29E0, symBinAddr: 0x133A8, symSize: 0x70 } + - { offsetInCU: 0x370F, offset: 0x4546D, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC5startyyYaKFTY4_', symObjAddr: 0x2A50, symBinAddr: 0x13418, symSize: 0x104 } + - { offsetInCU: 0x37EF, offset: 0x4554D, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC5startyyYaKFTY5_', symObjAddr: 0x2B54, symBinAddr: 0x1351C, symSize: 0x5C } + - { offsetInCU: 0x383E, offset: 0x4559C, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameCfd', symObjAddr: 0x2BB0, symBinAddr: 0x13578, symSize: 0x6C } + - { offsetInCU: 0x386B, offset: 0x455C9, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameCfD', symObjAddr: 0x2C1C, symBinAddr: 0x135E4, symSize: 0x1C } + - { offsetInCU: 0x3899, offset: 0x455F7, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC5boardAA5BoardVvpACTK', symObjAddr: 0x0, symBinAddr: 0x10A70, symSize: 0x50 } + - { offsetInCU: 0x38CF, offset: 0x4562D, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC5boardAA5BoardVvpACTk', symObjAddr: 0x50, symBinAddr: 0x10AC0, symSize: 0x6C } + - { offsetInCU: 0x390F, offset: 0x4566D, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC5rulesAA5Rules_pvpACTk', symObjAddr: 0x108, symBinAddr: 0x10B78, symSize: 0x64 } + - { offsetInCU: 0x3951, offset: 0x456AF, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5Rules_pWOc', symObjAddr: 0x1B4, symBinAddr: 0x10C24, symSize: 0x44 } + - { offsetInCU: 0x3A57, offset: 0x457B5, size: 0x8, addend: 0x0, symName: ___swift_destroy_boxed_opaque_existential_1, symObjAddr: 0x730, symBinAddr: 0x11138, symSize: 0x20 } + - { offsetInCU: 0x3A6B, offset: 0x457C9, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameCMa', symObjAddr: 0x750, symBinAddr: 0x11158, symSize: 0x20 } + - { offsetInCU: 0x3B93, offset: 0x458F1, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVAA6PlayerCs5Error_pIegHngzo_AcEytsAF_pIegHnnrzo_TR', symObjAddr: 0xEA4, symBinAddr: 0x1186C, symSize: 0x6C } + - { offsetInCU: 0x3BC6, offset: 0x45924, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVAA6PlayerCs5Error_pIegHngzo_AcEytsAF_pIegHnnrzo_TRTQ0_', symObjAddr: 0xF10, symBinAddr: 0x118D8, symSize: 0x48 } + - { offsetInCU: 0x3C82, offset: 0x459E0, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameCIegHg_ACytIegHnr_TR', symObjAddr: 0x102C, symBinAddr: 0x119F4, symSize: 0x60 } + - { offsetInCU: 0x40E5, offset: 0x45E43, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC9withRules10andPlayer10H7Player2AcA0G0_p_AA6PlayerCAItKcfcyAA4MoveVSg_AItYacfU0_TA', symObjAddr: 0x2C38, symBinAddr: 0x13600, symSize: 0x60 } + - { offsetInCU: 0x4115, offset: 0x45E73, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC9withRules10andPlayer10H7Player2AcA0G0_p_AA6PlayerCAItKcfcyAA4MoveVSg_AItYacfU_TA', symObjAddr: 0x2D44, symBinAddr: 0x13684, symSize: 0x60 } + - { offsetInCU: 0x4145, offset: 0x45EA3, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveVSgAA6PlayerCs5Error_pIegHngzo_AdFytsAG_pIegHnnrzo_TRTA.7', symObjAddr: 0x2DA4, symBinAddr: 0x136E4, symSize: 0x88 } + - { offsetInCU: 0x4179, offset: 0x45ED7, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVIegn_ACytIegnr_TRTA', symObjAddr: 0x2E2C, symBinAddr: 0x1376C, symSize: 0x20 } + - { offsetInCU: 0x41A9, offset: 0x45F07, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVAA6PlayerCs5Error_pIegHngzo_AcEytsAF_pIegHnnrzo_TRTA', symObjAddr: 0x2E4C, symBinAddr: 0x1378C, symSize: 0x88 } + - { offsetInCU: 0x41D9, offset: 0x45F37, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameCIegHg_ACytIegHnr_TRTA', symObjAddr: 0x2ED4, symBinAddr: 0x13814, symSize: 0x80 } + - { offsetInCU: 0x4209, offset: 0x45F67, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameCIegHg_ACytIegHnr_TRTATQ0_', symObjAddr: 0x2F54, symBinAddr: 0x13894, symSize: 0x48 } + - { offsetInCU: 0x4265, offset: 0x45FC3, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVAA6ResultOAA6PlayerCSgIegnng_AceHytIegnnnr_TRTA', symObjAddr: 0x2F9C, symBinAddr: 0x138DC, symSize: 0x24 } + - { offsetInCU: 0x4299, offset: 0x45FF7, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVAA4MoveVAA6PlayerCIegnng_AceGytIegnnnr_TRTA', symObjAddr: 0x2FC0, symBinAddr: 0x13900, symSize: 0x24 } + - { offsetInCU: 0x42CD, offset: 0x4602B, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVAA4MoveVAA6PlayerCSbIegnngy_AceGSbytIegnnnnr_TRTA', symObjAddr: 0x2FE4, symBinAddr: 0x13924, symSize: 0x28 } + - { offsetInCU: 0x4301, offset: 0x4605F, size: 0x8, addend: 0x0, symName: '_$sS2i14DouShouQiModel5PieceVIegyyn_S2iACytIegnnnr_TRTA', symObjAddr: 0x300C, symBinAddr: 0x1394C, symSize: 0x28 } + - { offsetInCU: 0x432A, offset: 0x46088, size: 0x8, addend: 0x0, symName: ___swift_mutable_project_boxed_opaque_existential_1, symObjAddr: 0x3034, symBinAddr: 0x13974, symSize: 0x28 } + - { offsetInCU: 0x433E, offset: 0x4609C, size: 0x8, addend: 0x0, symName: ___swift_assign_boxed_opaque_existential_1, symObjAddr: 0x3308, symBinAddr: 0x13C48, symSize: 0x168 } +... diff --git a/NEPASTOUCHER/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/DouShouQiModel b/NEPASTOUCHER/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/DouShouQiModel new file mode 100755 index 0000000..25b6b09 Binary files /dev/null and b/NEPASTOUCHER/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/DouShouQiModel differ diff --git a/NEPASTOUCHER/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Headers/DouShouQiModel-Swift.h b/NEPASTOUCHER/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Headers/DouShouQiModel-Swift.h new file mode 100644 index 0000000..5e14e79 --- /dev/null +++ b/NEPASTOUCHER/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Headers/DouShouQiModel-Swift.h @@ -0,0 +1,618 @@ +#if 0 +#elif defined(__arm64__) && __arm64__ +// Generated by Apple Swift version 5.9.2 (swiftlang-5.9.2.2.56 clang-1500.1.0.2.5) +#ifndef DOUSHOUQIMODEL_SWIFT_H +#define DOUSHOUQIMODEL_SWIFT_H +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wgcc-compat" + +#if !defined(__has_include) +# define __has_include(x) 0 +#endif +#if !defined(__has_attribute) +# define __has_attribute(x) 0 +#endif +#if !defined(__has_feature) +# define __has_feature(x) 0 +#endif +#if !defined(__has_warning) +# define __has_warning(x) 0 +#endif + +#if __has_include() +# include +#endif + +#pragma clang diagnostic ignored "-Wauto-import" +#if defined(__OBJC__) +#include +#endif +#if defined(__cplusplus) +#include +#include +#include +#include +#include +#include +#include +#else +#include +#include +#include +#include +#endif +#if defined(__cplusplus) +#if defined(__arm64e__) && __has_include() +# include +#else +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wreserved-macro-identifier" +# ifndef __ptrauth_swift_value_witness_function_pointer +# define __ptrauth_swift_value_witness_function_pointer(x) +# endif +# ifndef __ptrauth_swift_class_method_pointer +# define __ptrauth_swift_class_method_pointer(x) +# endif +#pragma clang diagnostic pop +#endif +#endif + +#if !defined(SWIFT_TYPEDEFS) +# define SWIFT_TYPEDEFS 1 +# if __has_include() +# include +# elif !defined(__cplusplus) +typedef uint_least16_t char16_t; +typedef uint_least32_t char32_t; +# endif +typedef float swift_float2 __attribute__((__ext_vector_type__(2))); +typedef float swift_float3 __attribute__((__ext_vector_type__(3))); +typedef float swift_float4 __attribute__((__ext_vector_type__(4))); +typedef double swift_double2 __attribute__((__ext_vector_type__(2))); +typedef double swift_double3 __attribute__((__ext_vector_type__(3))); +typedef double swift_double4 __attribute__((__ext_vector_type__(4))); +typedef int swift_int2 __attribute__((__ext_vector_type__(2))); +typedef int swift_int3 __attribute__((__ext_vector_type__(3))); +typedef int swift_int4 __attribute__((__ext_vector_type__(4))); +typedef unsigned int swift_uint2 __attribute__((__ext_vector_type__(2))); +typedef unsigned int swift_uint3 __attribute__((__ext_vector_type__(3))); +typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4))); +#endif + +#if !defined(SWIFT_PASTE) +# define SWIFT_PASTE_HELPER(x, y) x##y +# define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y) +#endif +#if !defined(SWIFT_METATYPE) +# define SWIFT_METATYPE(X) Class +#endif +#if !defined(SWIFT_CLASS_PROPERTY) +# if __has_feature(objc_class_property) +# define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__ +# else +# define SWIFT_CLASS_PROPERTY(...) +# endif +#endif +#if !defined(SWIFT_RUNTIME_NAME) +# if __has_attribute(objc_runtime_name) +# define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X))) +# else +# define SWIFT_RUNTIME_NAME(X) +# endif +#endif +#if !defined(SWIFT_COMPILE_NAME) +# if __has_attribute(swift_name) +# define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X))) +# else +# define SWIFT_COMPILE_NAME(X) +# endif +#endif +#if !defined(SWIFT_METHOD_FAMILY) +# if __has_attribute(objc_method_family) +# define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X))) +# else +# define SWIFT_METHOD_FAMILY(X) +# endif +#endif +#if !defined(SWIFT_NOESCAPE) +# if __has_attribute(noescape) +# define SWIFT_NOESCAPE __attribute__((noescape)) +# else +# define SWIFT_NOESCAPE +# endif +#endif +#if !defined(SWIFT_RELEASES_ARGUMENT) +# if __has_attribute(ns_consumed) +# define SWIFT_RELEASES_ARGUMENT __attribute__((ns_consumed)) +# else +# define SWIFT_RELEASES_ARGUMENT +# endif +#endif +#if !defined(SWIFT_WARN_UNUSED_RESULT) +# if __has_attribute(warn_unused_result) +# define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result)) +# else +# define SWIFT_WARN_UNUSED_RESULT +# endif +#endif +#if !defined(SWIFT_NORETURN) +# if __has_attribute(noreturn) +# define SWIFT_NORETURN __attribute__((noreturn)) +# else +# define SWIFT_NORETURN +# endif +#endif +#if !defined(SWIFT_CLASS_EXTRA) +# define SWIFT_CLASS_EXTRA +#endif +#if !defined(SWIFT_PROTOCOL_EXTRA) +# define SWIFT_PROTOCOL_EXTRA +#endif +#if !defined(SWIFT_ENUM_EXTRA) +# define SWIFT_ENUM_EXTRA +#endif +#if !defined(SWIFT_CLASS) +# if __has_attribute(objc_subclassing_restricted) +# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA +# define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA +# else +# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA +# define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA +# endif +#endif +#if !defined(SWIFT_RESILIENT_CLASS) +# if __has_attribute(objc_class_stub) +# define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) __attribute__((objc_class_stub)) +# define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_class_stub)) SWIFT_CLASS_NAMED(SWIFT_NAME) +# else +# define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) +# define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) SWIFT_CLASS_NAMED(SWIFT_NAME) +# endif +#endif +#if !defined(SWIFT_PROTOCOL) +# define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA +# define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA +#endif +#if !defined(SWIFT_EXTENSION) +# define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__) +#endif +#if !defined(OBJC_DESIGNATED_INITIALIZER) +# if __has_attribute(objc_designated_initializer) +# define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer)) +# else +# define OBJC_DESIGNATED_INITIALIZER +# endif +#endif +#if !defined(SWIFT_ENUM_ATTR) +# if __has_attribute(enum_extensibility) +# define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility))) +# else +# define SWIFT_ENUM_ATTR(_extensibility) +# endif +#endif +#if !defined(SWIFT_ENUM) +# define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type +# if __has_feature(generalized_swift_name) +# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type +# else +# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility) +# endif +#endif +#if !defined(SWIFT_UNAVAILABLE) +# define SWIFT_UNAVAILABLE __attribute__((unavailable)) +#endif +#if !defined(SWIFT_UNAVAILABLE_MSG) +# define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg))) +#endif +#if !defined(SWIFT_AVAILABILITY) +# define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__))) +#endif +#if !defined(SWIFT_WEAK_IMPORT) +# define SWIFT_WEAK_IMPORT __attribute__((weak_import)) +#endif +#if !defined(SWIFT_DEPRECATED) +# define SWIFT_DEPRECATED __attribute__((deprecated)) +#endif +#if !defined(SWIFT_DEPRECATED_MSG) +# define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__))) +#endif +#if !defined(SWIFT_DEPRECATED_OBJC) +# if __has_feature(attribute_diagnose_if_objc) +# define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning"))) +# else +# define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg) +# endif +#endif +#if defined(__OBJC__) +#if !defined(IBSegueAction) +# define IBSegueAction +#endif +#endif +#if !defined(SWIFT_EXTERN) +# if defined(__cplusplus) +# define SWIFT_EXTERN extern "C" +# else +# define SWIFT_EXTERN extern +# endif +#endif +#if !defined(SWIFT_CALL) +# define SWIFT_CALL __attribute__((swiftcall)) +#endif +#if !defined(SWIFT_INDIRECT_RESULT) +# define SWIFT_INDIRECT_RESULT __attribute__((swift_indirect_result)) +#endif +#if !defined(SWIFT_CONTEXT) +# define SWIFT_CONTEXT __attribute__((swift_context)) +#endif +#if !defined(SWIFT_ERROR_RESULT) +# define SWIFT_ERROR_RESULT __attribute__((swift_error_result)) +#endif +#if defined(__cplusplus) +# define SWIFT_NOEXCEPT noexcept +#else +# define SWIFT_NOEXCEPT +#endif +#if !defined(SWIFT_C_INLINE_THUNK) +# if __has_attribute(always_inline) +# if __has_attribute(nodebug) +# define SWIFT_C_INLINE_THUNK inline __attribute__((always_inline)) __attribute__((nodebug)) +# else +# define SWIFT_C_INLINE_THUNK inline __attribute__((always_inline)) +# endif +# else +# define SWIFT_C_INLINE_THUNK inline +# endif +#endif +#if defined(_WIN32) +#if !defined(SWIFT_IMPORT_STDLIB_SYMBOL) +# define SWIFT_IMPORT_STDLIB_SYMBOL __declspec(dllimport) +#endif +#else +#if !defined(SWIFT_IMPORT_STDLIB_SYMBOL) +# define SWIFT_IMPORT_STDLIB_SYMBOL +#endif +#endif +#if defined(__OBJC__) +#if __has_feature(objc_modules) +#if __has_warning("-Watimport-in-framework-header") +#pragma clang diagnostic ignored "-Watimport-in-framework-header" +#endif +#endif + +#endif +#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch" +#pragma clang diagnostic ignored "-Wduplicate-method-arg" +#if __has_warning("-Wpragma-clang-attribute") +# pragma clang diagnostic ignored "-Wpragma-clang-attribute" +#endif +#pragma clang diagnostic ignored "-Wunknown-pragmas" +#pragma clang diagnostic ignored "-Wnullability" +#pragma clang diagnostic ignored "-Wdollar-in-identifier-extension" + +#if __has_attribute(external_source_symbol) +# pragma push_macro("any") +# undef any +# pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="DouShouQiModel",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol)) +# pragma pop_macro("any") +#endif + +#if defined(__OBJC__) +#endif +#if __has_attribute(external_source_symbol) +# pragma clang attribute pop +#endif +#if defined(__cplusplus) +#endif +#pragma clang diagnostic pop +#endif + +#elif defined(__x86_64__) && __x86_64__ +// Generated by Apple Swift version 5.9.2 (swiftlang-5.9.2.2.56 clang-1500.1.0.2.5) +#ifndef DOUSHOUQIMODEL_SWIFT_H +#define DOUSHOUQIMODEL_SWIFT_H +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wgcc-compat" + +#if !defined(__has_include) +# define __has_include(x) 0 +#endif +#if !defined(__has_attribute) +# define __has_attribute(x) 0 +#endif +#if !defined(__has_feature) +# define __has_feature(x) 0 +#endif +#if !defined(__has_warning) +# define __has_warning(x) 0 +#endif + +#if __has_include() +# include +#endif + +#pragma clang diagnostic ignored "-Wauto-import" +#if defined(__OBJC__) +#include +#endif +#if defined(__cplusplus) +#include +#include +#include +#include +#include +#include +#include +#else +#include +#include +#include +#include +#endif +#if defined(__cplusplus) +#if defined(__arm64e__) && __has_include() +# include +#else +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wreserved-macro-identifier" +# ifndef __ptrauth_swift_value_witness_function_pointer +# define __ptrauth_swift_value_witness_function_pointer(x) +# endif +# ifndef __ptrauth_swift_class_method_pointer +# define __ptrauth_swift_class_method_pointer(x) +# endif +#pragma clang diagnostic pop +#endif +#endif + +#if !defined(SWIFT_TYPEDEFS) +# define SWIFT_TYPEDEFS 1 +# if __has_include() +# include +# elif !defined(__cplusplus) +typedef uint_least16_t char16_t; +typedef uint_least32_t char32_t; +# endif +typedef float swift_float2 __attribute__((__ext_vector_type__(2))); +typedef float swift_float3 __attribute__((__ext_vector_type__(3))); +typedef float swift_float4 __attribute__((__ext_vector_type__(4))); +typedef double swift_double2 __attribute__((__ext_vector_type__(2))); +typedef double swift_double3 __attribute__((__ext_vector_type__(3))); +typedef double swift_double4 __attribute__((__ext_vector_type__(4))); +typedef int swift_int2 __attribute__((__ext_vector_type__(2))); +typedef int swift_int3 __attribute__((__ext_vector_type__(3))); +typedef int swift_int4 __attribute__((__ext_vector_type__(4))); +typedef unsigned int swift_uint2 __attribute__((__ext_vector_type__(2))); +typedef unsigned int swift_uint3 __attribute__((__ext_vector_type__(3))); +typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4))); +#endif + +#if !defined(SWIFT_PASTE) +# define SWIFT_PASTE_HELPER(x, y) x##y +# define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y) +#endif +#if !defined(SWIFT_METATYPE) +# define SWIFT_METATYPE(X) Class +#endif +#if !defined(SWIFT_CLASS_PROPERTY) +# if __has_feature(objc_class_property) +# define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__ +# else +# define SWIFT_CLASS_PROPERTY(...) +# endif +#endif +#if !defined(SWIFT_RUNTIME_NAME) +# if __has_attribute(objc_runtime_name) +# define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X))) +# else +# define SWIFT_RUNTIME_NAME(X) +# endif +#endif +#if !defined(SWIFT_COMPILE_NAME) +# if __has_attribute(swift_name) +# define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X))) +# else +# define SWIFT_COMPILE_NAME(X) +# endif +#endif +#if !defined(SWIFT_METHOD_FAMILY) +# if __has_attribute(objc_method_family) +# define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X))) +# else +# define SWIFT_METHOD_FAMILY(X) +# endif +#endif +#if !defined(SWIFT_NOESCAPE) +# if __has_attribute(noescape) +# define SWIFT_NOESCAPE __attribute__((noescape)) +# else +# define SWIFT_NOESCAPE +# endif +#endif +#if !defined(SWIFT_RELEASES_ARGUMENT) +# if __has_attribute(ns_consumed) +# define SWIFT_RELEASES_ARGUMENT __attribute__((ns_consumed)) +# else +# define SWIFT_RELEASES_ARGUMENT +# endif +#endif +#if !defined(SWIFT_WARN_UNUSED_RESULT) +# if __has_attribute(warn_unused_result) +# define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result)) +# else +# define SWIFT_WARN_UNUSED_RESULT +# endif +#endif +#if !defined(SWIFT_NORETURN) +# if __has_attribute(noreturn) +# define SWIFT_NORETURN __attribute__((noreturn)) +# else +# define SWIFT_NORETURN +# endif +#endif +#if !defined(SWIFT_CLASS_EXTRA) +# define SWIFT_CLASS_EXTRA +#endif +#if !defined(SWIFT_PROTOCOL_EXTRA) +# define SWIFT_PROTOCOL_EXTRA +#endif +#if !defined(SWIFT_ENUM_EXTRA) +# define SWIFT_ENUM_EXTRA +#endif +#if !defined(SWIFT_CLASS) +# if __has_attribute(objc_subclassing_restricted) +# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA +# define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA +# else +# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA +# define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA +# endif +#endif +#if !defined(SWIFT_RESILIENT_CLASS) +# if __has_attribute(objc_class_stub) +# define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) __attribute__((objc_class_stub)) +# define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_class_stub)) SWIFT_CLASS_NAMED(SWIFT_NAME) +# else +# define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) +# define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) SWIFT_CLASS_NAMED(SWIFT_NAME) +# endif +#endif +#if !defined(SWIFT_PROTOCOL) +# define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA +# define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA +#endif +#if !defined(SWIFT_EXTENSION) +# define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__) +#endif +#if !defined(OBJC_DESIGNATED_INITIALIZER) +# if __has_attribute(objc_designated_initializer) +# define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer)) +# else +# define OBJC_DESIGNATED_INITIALIZER +# endif +#endif +#if !defined(SWIFT_ENUM_ATTR) +# if __has_attribute(enum_extensibility) +# define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility))) +# else +# define SWIFT_ENUM_ATTR(_extensibility) +# endif +#endif +#if !defined(SWIFT_ENUM) +# define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type +# if __has_feature(generalized_swift_name) +# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type +# else +# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility) +# endif +#endif +#if !defined(SWIFT_UNAVAILABLE) +# define SWIFT_UNAVAILABLE __attribute__((unavailable)) +#endif +#if !defined(SWIFT_UNAVAILABLE_MSG) +# define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg))) +#endif +#if !defined(SWIFT_AVAILABILITY) +# define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__))) +#endif +#if !defined(SWIFT_WEAK_IMPORT) +# define SWIFT_WEAK_IMPORT __attribute__((weak_import)) +#endif +#if !defined(SWIFT_DEPRECATED) +# define SWIFT_DEPRECATED __attribute__((deprecated)) +#endif +#if !defined(SWIFT_DEPRECATED_MSG) +# define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__))) +#endif +#if !defined(SWIFT_DEPRECATED_OBJC) +# if __has_feature(attribute_diagnose_if_objc) +# define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning"))) +# else +# define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg) +# endif +#endif +#if defined(__OBJC__) +#if !defined(IBSegueAction) +# define IBSegueAction +#endif +#endif +#if !defined(SWIFT_EXTERN) +# if defined(__cplusplus) +# define SWIFT_EXTERN extern "C" +# else +# define SWIFT_EXTERN extern +# endif +#endif +#if !defined(SWIFT_CALL) +# define SWIFT_CALL __attribute__((swiftcall)) +#endif +#if !defined(SWIFT_INDIRECT_RESULT) +# define SWIFT_INDIRECT_RESULT __attribute__((swift_indirect_result)) +#endif +#if !defined(SWIFT_CONTEXT) +# define SWIFT_CONTEXT __attribute__((swift_context)) +#endif +#if !defined(SWIFT_ERROR_RESULT) +# define SWIFT_ERROR_RESULT __attribute__((swift_error_result)) +#endif +#if defined(__cplusplus) +# define SWIFT_NOEXCEPT noexcept +#else +# define SWIFT_NOEXCEPT +#endif +#if !defined(SWIFT_C_INLINE_THUNK) +# if __has_attribute(always_inline) +# if __has_attribute(nodebug) +# define SWIFT_C_INLINE_THUNK inline __attribute__((always_inline)) __attribute__((nodebug)) +# else +# define SWIFT_C_INLINE_THUNK inline __attribute__((always_inline)) +# endif +# else +# define SWIFT_C_INLINE_THUNK inline +# endif +#endif +#if defined(_WIN32) +#if !defined(SWIFT_IMPORT_STDLIB_SYMBOL) +# define SWIFT_IMPORT_STDLIB_SYMBOL __declspec(dllimport) +#endif +#else +#if !defined(SWIFT_IMPORT_STDLIB_SYMBOL) +# define SWIFT_IMPORT_STDLIB_SYMBOL +#endif +#endif +#if defined(__OBJC__) +#if __has_feature(objc_modules) +#if __has_warning("-Watimport-in-framework-header") +#pragma clang diagnostic ignored "-Watimport-in-framework-header" +#endif +#endif + +#endif +#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch" +#pragma clang diagnostic ignored "-Wduplicate-method-arg" +#if __has_warning("-Wpragma-clang-attribute") +# pragma clang diagnostic ignored "-Wpragma-clang-attribute" +#endif +#pragma clang diagnostic ignored "-Wunknown-pragmas" +#pragma clang diagnostic ignored "-Wnullability" +#pragma clang diagnostic ignored "-Wdollar-in-identifier-extension" + +#if __has_attribute(external_source_symbol) +# pragma push_macro("any") +# undef any +# pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="DouShouQiModel",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol)) +# pragma pop_macro("any") +#endif + +#if defined(__OBJC__) +#endif +#if __has_attribute(external_source_symbol) +# pragma clang attribute pop +#endif +#if defined(__cplusplus) +#endif +#pragma clang diagnostic pop +#endif + +#else +#error unsupported Swift architecture +#endif diff --git a/NEPASTOUCHER/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Headers/DouShouQiModel.h b/NEPASTOUCHER/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Headers/DouShouQiModel.h new file mode 100644 index 0000000..5bbf06a --- /dev/null +++ b/NEPASTOUCHER/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Headers/DouShouQiModel.h @@ -0,0 +1,18 @@ +// +// DouShouQiModel.h +// DouShouQiModel +// +// Created by Marc Chevaldonné on 14/05/2024. +// + +#import + +//! Project version number for DouShouQiModel. +FOUNDATION_EXPORT double DouShouQiModelVersionNumber; + +//! Project version string for DouShouQiModel. +FOUNDATION_EXPORT const unsigned char DouShouQiModelVersionString[]; + +// In this header, you should import all the public headers of your framework using statements like #import + + diff --git a/NEPASTOUCHER/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Info.plist b/NEPASTOUCHER/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Info.plist new file mode 100644 index 0000000..33fe547 Binary files /dev/null and b/NEPASTOUCHER/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Info.plist differ diff --git a/NEPASTOUCHER/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/arm64-apple-ios-simulator.abi.json b/NEPASTOUCHER/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/arm64-apple-ios-simulator.abi.json new file mode 100644 index 0000000..c28e9fd --- /dev/null +++ b/NEPASTOUCHER/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/arm64-apple-ios-simulator.abi.json @@ -0,0 +1,8546 @@ +{ + "ABIRoot": { + "kind": "Root", + "name": "TopLevel", + "printedName": "TopLevel", + "children": [ + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel" + }, + { + "kind": "TypeDecl", + "name": "Result", + "printedName": "Result", + "children": [ + { + "kind": "Var", + "name": "notFinished", + "printedName": "notFinished", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Result.Type) -> DouShouQiModel.Result", + "children": [ + { + "kind": "TypeNominal", + "name": "Result", + "printedName": "DouShouQiModel.Result", + "usr": "s:14DouShouQiModel6ResultO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.Result.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "Result", + "printedName": "DouShouQiModel.Result", + "usr": "s:14DouShouQiModel6ResultO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel6ResultO11notFinishedyA2CmF", + "mangledName": "$s14DouShouQiModel6ResultO11notFinishedyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "even", + "printedName": "even", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Result.Type) -> DouShouQiModel.Result", + "children": [ + { + "kind": "TypeNominal", + "name": "Result", + "printedName": "DouShouQiModel.Result", + "usr": "s:14DouShouQiModel6ResultO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.Result.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "Result", + "printedName": "DouShouQiModel.Result", + "usr": "s:14DouShouQiModel6ResultO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel6ResultO4evenyA2CmF", + "mangledName": "$s14DouShouQiModel6ResultO4evenyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "winner", + "printedName": "winner", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Result.Type) -> (DouShouQiModel.Owner, DouShouQiModel.WinningReason) -> DouShouQiModel.Result", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Owner, DouShouQiModel.WinningReason) -> DouShouQiModel.Result", + "children": [ + { + "kind": "TypeNominal", + "name": "Result", + "printedName": "DouShouQiModel.Result", + "usr": "s:14DouShouQiModel6ResultO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(winner: DouShouQiModel.Owner, reason: DouShouQiModel.WinningReason)", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + }, + { + "kind": "TypeNominal", + "name": "WinningReason", + "printedName": "DouShouQiModel.WinningReason", + "usr": "s:14DouShouQiModel13WinningReasonO" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.Result.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "Result", + "printedName": "DouShouQiModel.Result", + "usr": "s:14DouShouQiModel6ResultO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel6ResultO6winneryAcA5OwnerO_AA13WinningReasonOtcACmF", + "mangledName": "$s14DouShouQiModel6ResultO6winneryAcA5OwnerO_AA13WinningReasonOtcACmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Result", + "printedName": "DouShouQiModel.Result", + "usr": "s:14DouShouQiModel6ResultO" + }, + { + "kind": "TypeNominal", + "name": "Result", + "printedName": "DouShouQiModel.Result", + "usr": "s:14DouShouQiModel6ResultO" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel6ResultO2eeoiySbAC_ACtFZ", + "mangledName": "$s14DouShouQiModel6ResultO2eeoiySbAC_ACtFZ", + "moduleName": "DouShouQiModel", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Enum", + "usr": "s:14DouShouQiModel6ResultO", + "mangledName": "$s14DouShouQiModel6ResultO", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + } + ] + }, + { + "kind": "TypeDecl", + "name": "WinningReason", + "printedName": "WinningReason", + "children": [ + { + "kind": "Var", + "name": "denReached", + "printedName": "denReached", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.WinningReason.Type) -> DouShouQiModel.WinningReason", + "children": [ + { + "kind": "TypeNominal", + "name": "WinningReason", + "printedName": "DouShouQiModel.WinningReason", + "usr": "s:14DouShouQiModel13WinningReasonO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.WinningReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "WinningReason", + "printedName": "DouShouQiModel.WinningReason", + "usr": "s:14DouShouQiModel13WinningReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel13WinningReasonO10denReachedyA2CmF", + "mangledName": "$s14DouShouQiModel13WinningReasonO10denReachedyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "noMorePieces", + "printedName": "noMorePieces", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.WinningReason.Type) -> DouShouQiModel.WinningReason", + "children": [ + { + "kind": "TypeNominal", + "name": "WinningReason", + "printedName": "DouShouQiModel.WinningReason", + "usr": "s:14DouShouQiModel13WinningReasonO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.WinningReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "WinningReason", + "printedName": "DouShouQiModel.WinningReason", + "usr": "s:14DouShouQiModel13WinningReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel13WinningReasonO12noMorePiecesyA2CmF", + "mangledName": "$s14DouShouQiModel13WinningReasonO12noMorePiecesyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "tooManyOccurences", + "printedName": "tooManyOccurences", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.WinningReason.Type) -> DouShouQiModel.WinningReason", + "children": [ + { + "kind": "TypeNominal", + "name": "WinningReason", + "printedName": "DouShouQiModel.WinningReason", + "usr": "s:14DouShouQiModel13WinningReasonO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.WinningReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "WinningReason", + "printedName": "DouShouQiModel.WinningReason", + "usr": "s:14DouShouQiModel13WinningReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel13WinningReasonO17tooManyOccurencesyA2CmF", + "mangledName": "$s14DouShouQiModel13WinningReasonO17tooManyOccurencesyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "noMovesLeft", + "printedName": "noMovesLeft", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.WinningReason.Type) -> DouShouQiModel.WinningReason", + "children": [ + { + "kind": "TypeNominal", + "name": "WinningReason", + "printedName": "DouShouQiModel.WinningReason", + "usr": "s:14DouShouQiModel13WinningReasonO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.WinningReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "WinningReason", + "printedName": "DouShouQiModel.WinningReason", + "usr": "s:14DouShouQiModel13WinningReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel13WinningReasonO11noMovesLeftyA2CmF", + "mangledName": "$s14DouShouQiModel13WinningReasonO11noMovesLeftyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "WinningReason", + "printedName": "DouShouQiModel.WinningReason", + "usr": "s:14DouShouQiModel13WinningReasonO" + }, + { + "kind": "TypeNominal", + "name": "WinningReason", + "printedName": "DouShouQiModel.WinningReason", + "usr": "s:14DouShouQiModel13WinningReasonO" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel13WinningReasonO2eeoiySbAC_ACtFZ", + "mangledName": "$s14DouShouQiModel13WinningReasonO2eeoiySbAC_ACtFZ", + "moduleName": "DouShouQiModel", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel13WinningReasonO9hashValueSivp", + "mangledName": "$s14DouShouQiModel13WinningReasonO9hashValueSivp", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel13WinningReasonO9hashValueSivg", + "mangledName": "$s14DouShouQiModel13WinningReasonO9hashValueSivg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel13WinningReasonO4hash4intoys6HasherVz_tF", + "mangledName": "$s14DouShouQiModel13WinningReasonO4hash4intoys6HasherVz_tF", + "moduleName": "DouShouQiModel", + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Enum", + "usr": "s:14DouShouQiModel13WinningReasonO", + "mangledName": "$s14DouShouQiModel13WinningReasonO", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel" + }, + { + "kind": "TypeDecl", + "name": "BoardResult", + "printedName": "BoardResult", + "children": [ + { + "kind": "Var", + "name": "unknown", + "printedName": "unknown", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.BoardResult.Type) -> DouShouQiModel.BoardResult", + "children": [ + { + "kind": "TypeNominal", + "name": "BoardResult", + "printedName": "DouShouQiModel.BoardResult", + "usr": "s:14DouShouQiModel11BoardResultO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.BoardResult.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "BoardResult", + "printedName": "DouShouQiModel.BoardResult", + "usr": "s:14DouShouQiModel11BoardResultO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel11BoardResultO7unknownyA2CmF", + "mangledName": "$s14DouShouQiModel11BoardResultO7unknownyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "ok", + "printedName": "ok", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.BoardResult.Type) -> (DouShouQiModel.Piece?) -> DouShouQiModel.BoardResult", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Piece?) -> DouShouQiModel.BoardResult", + "children": [ + { + "kind": "TypeNominal", + "name": "BoardResult", + "printedName": "DouShouQiModel.BoardResult", + "usr": "s:14DouShouQiModel11BoardResultO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(piece: DouShouQiModel.Piece?)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.Piece?", + "children": [ + { + "kind": "TypeNominal", + "name": "Piece", + "printedName": "DouShouQiModel.Piece", + "usr": "s:14DouShouQiModel5PieceV" + } + ], + "usr": "s:Sq" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.BoardResult.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "BoardResult", + "printedName": "DouShouQiModel.BoardResult", + "usr": "s:14DouShouQiModel11BoardResultO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel11BoardResultO2okyAcA5PieceVSg_tcACmF", + "mangledName": "$s14DouShouQiModel11BoardResultO2okyAcA5PieceVSg_tcACmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "failed", + "printedName": "failed", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.BoardResult.Type) -> (DouShouQiModel.BoardFailingReason) -> DouShouQiModel.BoardResult", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.BoardFailingReason) -> DouShouQiModel.BoardResult", + "children": [ + { + "kind": "TypeNominal", + "name": "BoardResult", + "printedName": "DouShouQiModel.BoardResult", + "usr": "s:14DouShouQiModel11BoardResultO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(reason: DouShouQiModel.BoardFailingReason)", + "children": [ + { + "kind": "TypeNominal", + "name": "BoardFailingReason", + "printedName": "DouShouQiModel.BoardFailingReason", + "usr": "s:14DouShouQiModel18BoardFailingReasonO" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.BoardResult.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "BoardResult", + "printedName": "DouShouQiModel.BoardResult", + "usr": "s:14DouShouQiModel11BoardResultO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel11BoardResultO6failedyAcA0E13FailingReasonO_tcACmF", + "mangledName": "$s14DouShouQiModel11BoardResultO6failedyAcA0E13FailingReasonO_tcACmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "BoardResult", + "printedName": "DouShouQiModel.BoardResult", + "usr": "s:14DouShouQiModel11BoardResultO" + }, + { + "kind": "TypeNominal", + "name": "BoardResult", + "printedName": "DouShouQiModel.BoardResult", + "usr": "s:14DouShouQiModel11BoardResultO" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel11BoardResultO2eeoiySbAC_ACtFZ", + "mangledName": "$s14DouShouQiModel11BoardResultO2eeoiySbAC_ACtFZ", + "moduleName": "DouShouQiModel", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Enum", + "usr": "s:14DouShouQiModel11BoardResultO", + "mangledName": "$s14DouShouQiModel11BoardResultO", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + } + ] + }, + { + "kind": "TypeDecl", + "name": "BoardFailingReason", + "printedName": "BoardFailingReason", + "children": [ + { + "kind": "Var", + "name": "unknown", + "printedName": "unknown", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.BoardFailingReason.Type) -> DouShouQiModel.BoardFailingReason", + "children": [ + { + "kind": "TypeNominal", + "name": "BoardFailingReason", + "printedName": "DouShouQiModel.BoardFailingReason", + "usr": "s:14DouShouQiModel18BoardFailingReasonO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.BoardFailingReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "BoardFailingReason", + "printedName": "DouShouQiModel.BoardFailingReason", + "usr": "s:14DouShouQiModel18BoardFailingReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel18BoardFailingReasonO7unknownyA2CmF", + "mangledName": "$s14DouShouQiModel18BoardFailingReasonO7unknownyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "outOfBounds", + "printedName": "outOfBounds", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.BoardFailingReason.Type) -> DouShouQiModel.BoardFailingReason", + "children": [ + { + "kind": "TypeNominal", + "name": "BoardFailingReason", + "printedName": "DouShouQiModel.BoardFailingReason", + "usr": "s:14DouShouQiModel18BoardFailingReasonO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.BoardFailingReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "BoardFailingReason", + "printedName": "DouShouQiModel.BoardFailingReason", + "usr": "s:14DouShouQiModel18BoardFailingReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel18BoardFailingReasonO11outOfBoundsyA2CmF", + "mangledName": "$s14DouShouQiModel18BoardFailingReasonO11outOfBoundsyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "cellNotEmpty", + "printedName": "cellNotEmpty", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.BoardFailingReason.Type) -> DouShouQiModel.BoardFailingReason", + "children": [ + { + "kind": "TypeNominal", + "name": "BoardFailingReason", + "printedName": "DouShouQiModel.BoardFailingReason", + "usr": "s:14DouShouQiModel18BoardFailingReasonO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.BoardFailingReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "BoardFailingReason", + "printedName": "DouShouQiModel.BoardFailingReason", + "usr": "s:14DouShouQiModel18BoardFailingReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel18BoardFailingReasonO12cellNotEmptyyA2CmF", + "mangledName": "$s14DouShouQiModel18BoardFailingReasonO12cellNotEmptyyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "cellEmpty", + "printedName": "cellEmpty", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.BoardFailingReason.Type) -> DouShouQiModel.BoardFailingReason", + "children": [ + { + "kind": "TypeNominal", + "name": "BoardFailingReason", + "printedName": "DouShouQiModel.BoardFailingReason", + "usr": "s:14DouShouQiModel18BoardFailingReasonO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.BoardFailingReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "BoardFailingReason", + "printedName": "DouShouQiModel.BoardFailingReason", + "usr": "s:14DouShouQiModel18BoardFailingReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel18BoardFailingReasonO9cellEmptyyA2CmF", + "mangledName": "$s14DouShouQiModel18BoardFailingReasonO9cellEmptyyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "BoardFailingReason", + "printedName": "DouShouQiModel.BoardFailingReason", + "usr": "s:14DouShouQiModel18BoardFailingReasonO" + }, + { + "kind": "TypeNominal", + "name": "BoardFailingReason", + "printedName": "DouShouQiModel.BoardFailingReason", + "usr": "s:14DouShouQiModel18BoardFailingReasonO" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel18BoardFailingReasonO2eeoiySbAC_ACtFZ", + "mangledName": "$s14DouShouQiModel18BoardFailingReasonO2eeoiySbAC_ACtFZ", + "moduleName": "DouShouQiModel", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel18BoardFailingReasonO9hashValueSivp", + "mangledName": "$s14DouShouQiModel18BoardFailingReasonO9hashValueSivp", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel18BoardFailingReasonO9hashValueSivg", + "mangledName": "$s14DouShouQiModel18BoardFailingReasonO9hashValueSivg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel18BoardFailingReasonO4hash4intoys6HasherVz_tF", + "mangledName": "$s14DouShouQiModel18BoardFailingReasonO4hash4intoys6HasherVz_tF", + "moduleName": "DouShouQiModel", + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Enum", + "usr": "s:14DouShouQiModel18BoardFailingReasonO", + "mangledName": "$s14DouShouQiModel18BoardFailingReasonO", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel" + }, + { + "kind": "TypeDecl", + "name": "HumanPlayer", + "printedName": "HumanPlayer", + "children": [ + { + "kind": "Constructor", + "name": "init", + "printedName": "init(withName:andId:andInputMethod:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.HumanPlayer?", + "children": [ + { + "kind": "TypeNominal", + "name": "HumanPlayer", + "printedName": "DouShouQiModel.HumanPlayer", + "usr": "s:14DouShouQiModel11HumanPlayerC" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.HumanPlayer) -> DouShouQiModel.Move?", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.Move?", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "HumanPlayer", + "printedName": "DouShouQiModel.HumanPlayer", + "usr": "s:14DouShouQiModel11HumanPlayerC" + } + ] + } + ], + "declKind": "Constructor", + "usr": "s:14DouShouQiModel11HumanPlayerC8withName5andId0I11InputMethodACSgSS_AA5OwnerOAA4MoveVSgACctcfc", + "mangledName": "$s14DouShouQiModel11HumanPlayerC8withName5andId0I11InputMethodACSgSS_AA5OwnerOAA4MoveVSgACctcfc", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(withName:andId:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.HumanPlayer?", + "children": [ + { + "kind": "TypeNominal", + "name": "HumanPlayer", + "printedName": "DouShouQiModel.HumanPlayer", + "usr": "s:14DouShouQiModel11HumanPlayerC" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Constructor", + "usr": "s:14DouShouQiModel11HumanPlayerC8withName5andIdACSgSS_AA5OwnerOtcfc", + "mangledName": "$s14DouShouQiModel11HumanPlayerC8withName5andIdACSgSS_AA5OwnerOtcfc", + "moduleName": "DouShouQiModel", + "overriding": true, + "declAttributes": [ + "Override", + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "chooseMove", + "printedName": "chooseMove(in:with:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Rules", + "printedName": "DouShouQiModel.Rules", + "usr": "s:14DouShouQiModel5RulesP" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel11HumanPlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKF", + "mangledName": "$s14DouShouQiModel11HumanPlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKF", + "moduleName": "DouShouQiModel", + "overriding": true, + "declAttributes": [ + "Override", + "AccessControl" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "changeInput", + "printedName": "changeInput(input:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.HumanPlayer) -> DouShouQiModel.Move?", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.Move?", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "HumanPlayer", + "printedName": "DouShouQiModel.HumanPlayer", + "usr": "s:14DouShouQiModel11HumanPlayerC" + } + ] + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel11HumanPlayerC11changeInput5inputyAA4MoveVSgACc_tF", + "mangledName": "$s14DouShouQiModel11HumanPlayerC11changeInput5inputyAA4MoveVSgACc_tF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "chooseMove", + "printedName": "chooseMove(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.Move?", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel11HumanPlayerC10chooseMoveyyAA0H0VSgYaKF", + "mangledName": "$s14DouShouQiModel11HumanPlayerC10chooseMoveyyAA0H0VSgYaKF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:14DouShouQiModel11HumanPlayerC", + "mangledName": "$s14DouShouQiModel11HumanPlayerC", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "superclassUsr": "s:14DouShouQiModel6PlayerC", + "inheritsConvenienceInitializers": true, + "superclassNames": [ + "DouShouQiModel.Player" + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel" + }, + { + "kind": "TypeDecl", + "name": "ClassicRules", + "printedName": "ClassicRules", + "children": [ + { + "kind": "Function", + "name": "createBoard", + "printedName": "createBoard()", + "children": [ + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel12ClassicRulesV11createBoardAA0H0VyFZ", + "mangledName": "$s14DouShouQiModel12ClassicRulesV11createBoardAA0H0VyFZ", + "moduleName": "DouShouQiModel", + "static": true, + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "checkBoard", + "printedName": "checkBoard(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel12ClassicRulesV10checkBoardyyAA0H0VKFZ", + "mangledName": "$s14DouShouQiModel12ClassicRulesV10checkBoardyyAA0H0VKFZ", + "moduleName": "DouShouQiModel", + "static": true, + "declAttributes": [ + "AccessControl" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init()", + "children": [ + { + "kind": "TypeNominal", + "name": "ClassicRules", + "printedName": "DouShouQiModel.ClassicRules", + "usr": "s:14DouShouQiModel12ClassicRulesV" + } + ], + "declKind": "Constructor", + "usr": "s:14DouShouQiModel12ClassicRulesVACycfc", + "mangledName": "$s14DouShouQiModel12ClassicRulesVACycfc", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(occurences:historic:)", + "children": [ + { + "kind": "TypeNominal", + "name": "ClassicRules", + "printedName": "DouShouQiModel.ClassicRules", + "usr": "s:14DouShouQiModel12ClassicRulesV" + }, + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[DouShouQiModel.Board : Swift.Int]", + "children": [ + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:SD" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.Move]", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Constructor", + "usr": "s:14DouShouQiModel12ClassicRulesV10occurences8historicACSDyAA5BoardVSiG_SayAA4MoveVGtcfc", + "mangledName": "$s14DouShouQiModel12ClassicRulesV10occurences8historicACSDyAA5BoardVSiG_SayAA4MoveVGtcfc", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "getMoves", + "printedName": "getMoves(in:of:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.Move]", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sa" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel12ClassicRulesV8getMoves2in2ofSayAA4MoveVGAA5BoardV_AA5OwnerOtF", + "mangledName": "$s14DouShouQiModel12ClassicRulesV8getMoves2in2ofSayAA4MoveVGAA5BoardV_AA5OwnerOtF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "getMoves", + "printedName": "getMoves(in:of:fromRow:andColumn:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.Move]", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sa" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel12ClassicRulesV8getMoves2in2of7fromRow9andColumnSayAA4MoveVGAA5BoardV_AA5OwnerOS2itF", + "mangledName": "$s14DouShouQiModel12ClassicRulesV8getMoves2in2of7fromRow9andColumnSayAA4MoveVGAA5BoardV_AA5OwnerOS2itF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "isMoveValid", + "printedName": "isMoveValid(onBoard:fromRow:andFromColumn:toRow:andToColumn:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel12ClassicRulesV11isMoveValid7onBoard7fromRow13andFromColumn02toM00n2ToP0SbAA0K0V_S4itF", + "mangledName": "$s14DouShouQiModel12ClassicRulesV11isMoveValid7onBoard7fromRow13andFromColumn02toM00n2ToP0SbAA0K0V_S4itF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "isMoveValid", + "printedName": "isMoveValid(onBoard:withMove:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel12ClassicRulesV11isMoveValid7onBoard04withH0SbAA0K0V_AA0H0VtF", + "mangledName": "$s14DouShouQiModel12ClassicRulesV11isMoveValid7onBoard04withH0SbAA0K0V_AA0H0VtF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "isGameOver", + "printedName": "isGameOver(withBoard:andLastRowPlayed:andLastColumnPlayer:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(Swift.Bool, DouShouQiModel.Result)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Result", + "printedName": "DouShouQiModel.Result", + "usr": "s:14DouShouQiModel6ResultO" + } + ] + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel12ClassicRulesV10isGameOver9withBoard16andLastRowPlayed0lM12ColumnPlayerSb_AA6ResultOtAA0K0V_S2itF", + "mangledName": "$s14DouShouQiModel12ClassicRulesV10isGameOver9withBoard16andLastRowPlayed0lM12ColumnPlayerSb_AA6ResultOtAA0K0V_S2itF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "playedMove", + "printedName": "playedMove(_:onStartingBoard:andResultingBoard:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel12ClassicRulesV10playedMove_15onStartingBoard012andResultingK0yAA0H0V_AA0K0VAJtKF", + "mangledName": "$s14DouShouQiModel12ClassicRulesV10playedMove_15onStartingBoard012andResultingK0yAA0H0V_AA0K0VAJtKF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "Mutating", + "AccessControl" + ], + "throwing": true, + "funcSelfKind": "Mutating" + }, + { + "kind": "Function", + "name": "getNextPlayer", + "printedName": "getNextPlayer()", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel12ClassicRulesV13getNextPlayerAA5OwnerOyF", + "mangledName": "$s14DouShouQiModel12ClassicRulesV13getNextPlayerAA5OwnerOyF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "occurences", + "printedName": "occurences", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[DouShouQiModel.Board : Swift.Int]", + "children": [ + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel12ClassicRulesV10occurencesSDyAA5BoardVSiGvp", + "mangledName": "$s14DouShouQiModel12ClassicRulesV10occurencesSDyAA5BoardVSiGvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "SetterAccess", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[DouShouQiModel.Board : Swift.Int]", + "children": [ + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel12ClassicRulesV10occurencesSDyAA5BoardVSiGvg", + "mangledName": "$s14DouShouQiModel12ClassicRulesV10occurencesSDyAA5BoardVSiGvg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "historic", + "printedName": "historic", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.Move]", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel12ClassicRulesV8historicSayAA4MoveVGvp", + "mangledName": "$s14DouShouQiModel12ClassicRulesV8historicSayAA4MoveVGvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "SetterAccess", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.Move]", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel12ClassicRulesV8historicSayAA4MoveVGvg", + "mangledName": "$s14DouShouQiModel12ClassicRulesV8historicSayAA4MoveVGvg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Struct", + "usr": "s:14DouShouQiModel12ClassicRulesV", + "mangledName": "$s14DouShouQiModel12ClassicRulesV", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Rules", + "printedName": "Rules", + "usr": "s:14DouShouQiModel5RulesP", + "mangledName": "$s14DouShouQiModel5RulesP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel" + }, + { + "kind": "TypeDecl", + "name": "Cell", + "printedName": "Cell", + "children": [ + { + "kind": "Var", + "name": "description", + "printedName": "description", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel4CellV11descriptionSSvp", + "mangledName": "$s14DouShouQiModel4CellV11descriptionSSvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel4CellV11descriptionSSvg", + "mangledName": "$s14DouShouQiModel4CellV11descriptionSSvg", + "moduleName": "DouShouQiModel", + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "cellType", + "printedName": "cellType", + "children": [ + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel4CellV8cellTypeAA0eG0Ovp", + "mangledName": "$s14DouShouQiModel4CellV8cellTypeAA0eG0Ovp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel4CellV8cellTypeAA0eG0Ovg", + "mangledName": "$s14DouShouQiModel4CellV8cellTypeAA0eG0Ovg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "initialOwner", + "printedName": "initialOwner", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel4CellV12initialOwnerAA0G0Ovp", + "mangledName": "$s14DouShouQiModel4CellV12initialOwnerAA0G0Ovp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel4CellV12initialOwnerAA0G0Ovg", + "mangledName": "$s14DouShouQiModel4CellV12initialOwnerAA0G0Ovg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "piece", + "printedName": "piece", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.Piece?", + "children": [ + { + "kind": "TypeNominal", + "name": "Piece", + "printedName": "DouShouQiModel.Piece", + "usr": "s:14DouShouQiModel5PieceV" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel4CellV5pieceAA5PieceVSgvp", + "mangledName": "$s14DouShouQiModel4CellV5pieceAA5PieceVSgvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.Piece?", + "children": [ + { + "kind": "TypeNominal", + "name": "Piece", + "printedName": "DouShouQiModel.Piece", + "usr": "s:14DouShouQiModel5PieceV" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel4CellV5pieceAA5PieceVSgvg", + "mangledName": "$s14DouShouQiModel4CellV5pieceAA5PieceVSgvg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.Piece?", + "children": [ + { + "kind": "TypeNominal", + "name": "Piece", + "printedName": "DouShouQiModel.Piece", + "usr": "s:14DouShouQiModel5PieceV" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel4CellV5pieceAA5PieceVSgvs", + "mangledName": "$s14DouShouQiModel4CellV5pieceAA5PieceVSgvs", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel4CellV5pieceAA5PieceVSgvM", + "mangledName": "$s14DouShouQiModel4CellV5pieceAA5PieceVSgvM", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(ofType:ownedBy:withPiece:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Cell", + "printedName": "DouShouQiModel.Cell", + "usr": "s:14DouShouQiModel4CellV" + }, + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + }, + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "hasDefaultArg": true, + "usr": "s:14DouShouQiModel5OwnerO" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.Piece?", + "children": [ + { + "kind": "TypeNominal", + "name": "Piece", + "printedName": "DouShouQiModel.Piece", + "usr": "s:14DouShouQiModel5PieceV" + } + ], + "hasDefaultArg": true, + "usr": "s:Sq" + } + ], + "declKind": "Constructor", + "usr": "s:14DouShouQiModel4CellV6ofType7ownedBy9withPieceAcA0eG0O_AA5OwnerOAA0K0VSgtcfc", + "mangledName": "$s14DouShouQiModel4CellV6ofType7ownedBy9withPieceAcA0eG0O_AA5OwnerOAA0K0VSgtcfc", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Cell", + "printedName": "DouShouQiModel.Cell", + "usr": "s:14DouShouQiModel4CellV" + }, + { + "kind": "TypeNominal", + "name": "Cell", + "printedName": "DouShouQiModel.Cell", + "usr": "s:14DouShouQiModel4CellV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel4CellV2eeoiySbAC_ACtFZ", + "mangledName": "$s14DouShouQiModel4CellV2eeoiySbAC_ACtFZ", + "moduleName": "DouShouQiModel", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Struct", + "usr": "s:14DouShouQiModel4CellV", + "mangledName": "$s14DouShouQiModel4CellV", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel" + }, + { + "kind": "TypeDecl", + "name": "VerySimpleRules", + "printedName": "VerySimpleRules", + "children": [ + { + "kind": "Function", + "name": "createBoard", + "printedName": "createBoard()", + "children": [ + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel15VerySimpleRulesV11createBoardAA0I0VyFZ", + "mangledName": "$s14DouShouQiModel15VerySimpleRulesV11createBoardAA0I0VyFZ", + "moduleName": "DouShouQiModel", + "static": true, + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "checkBoard", + "printedName": "checkBoard(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel15VerySimpleRulesV10checkBoardyyAA0I0VKFZ", + "mangledName": "$s14DouShouQiModel15VerySimpleRulesV10checkBoardyyAA0I0VKFZ", + "moduleName": "DouShouQiModel", + "static": true, + "declAttributes": [ + "AccessControl" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init()", + "children": [ + { + "kind": "TypeNominal", + "name": "VerySimpleRules", + "printedName": "DouShouQiModel.VerySimpleRules", + "usr": "s:14DouShouQiModel15VerySimpleRulesV" + } + ], + "declKind": "Constructor", + "usr": "s:14DouShouQiModel15VerySimpleRulesVACycfc", + "mangledName": "$s14DouShouQiModel15VerySimpleRulesVACycfc", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(occurences:historic:)", + "children": [ + { + "kind": "TypeNominal", + "name": "VerySimpleRules", + "printedName": "DouShouQiModel.VerySimpleRules", + "usr": "s:14DouShouQiModel15VerySimpleRulesV" + }, + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[DouShouQiModel.Board : Swift.Int]", + "children": [ + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:SD" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.Move]", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Constructor", + "usr": "s:14DouShouQiModel15VerySimpleRulesV10occurences8historicACSDyAA5BoardVSiG_SayAA4MoveVGtcfc", + "mangledName": "$s14DouShouQiModel15VerySimpleRulesV10occurences8historicACSDyAA5BoardVSiG_SayAA4MoveVGtcfc", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "getMoves", + "printedName": "getMoves(in:of:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.Move]", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sa" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel15VerySimpleRulesV8getMoves2in2ofSayAA4MoveVGAA5BoardV_AA5OwnerOtF", + "mangledName": "$s14DouShouQiModel15VerySimpleRulesV8getMoves2in2ofSayAA4MoveVGAA5BoardV_AA5OwnerOtF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "getMoves", + "printedName": "getMoves(in:of:fromRow:andColumn:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.Move]", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sa" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel15VerySimpleRulesV8getMoves2in2of7fromRow9andColumnSayAA4MoveVGAA5BoardV_AA5OwnerOS2itF", + "mangledName": "$s14DouShouQiModel15VerySimpleRulesV8getMoves2in2of7fromRow9andColumnSayAA4MoveVGAA5BoardV_AA5OwnerOS2itF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "isMoveValid", + "printedName": "isMoveValid(onBoard:fromRow:andFromColumn:toRow:andToColumn:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel15VerySimpleRulesV11isMoveValid7onBoard7fromRow13andFromColumn02toN00o2ToQ0SbAA0L0V_S4itF", + "mangledName": "$s14DouShouQiModel15VerySimpleRulesV11isMoveValid7onBoard7fromRow13andFromColumn02toN00o2ToQ0SbAA0L0V_S4itF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "isMoveValid", + "printedName": "isMoveValid(onBoard:withMove:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel15VerySimpleRulesV11isMoveValid7onBoard04withI0SbAA0L0V_AA0I0VtF", + "mangledName": "$s14DouShouQiModel15VerySimpleRulesV11isMoveValid7onBoard04withI0SbAA0L0V_AA0I0VtF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "isGameOver", + "printedName": "isGameOver(withBoard:andLastRowPlayed:andLastColumnPlayer:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(Swift.Bool, DouShouQiModel.Result)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Result", + "printedName": "DouShouQiModel.Result", + "usr": "s:14DouShouQiModel6ResultO" + } + ] + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel15VerySimpleRulesV10isGameOver9withBoard16andLastRowPlayed0mN12ColumnPlayerSb_AA6ResultOtAA0L0V_S2itF", + "mangledName": "$s14DouShouQiModel15VerySimpleRulesV10isGameOver9withBoard16andLastRowPlayed0mN12ColumnPlayerSb_AA6ResultOtAA0L0V_S2itF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "playedMove", + "printedName": "playedMove(_:onStartingBoard:andResultingBoard:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel15VerySimpleRulesV10playedMove_15onStartingBoard012andResultingL0yAA0I0V_AA0L0VAJtKF", + "mangledName": "$s14DouShouQiModel15VerySimpleRulesV10playedMove_15onStartingBoard012andResultingL0yAA0I0V_AA0L0VAJtKF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "Mutating", + "AccessControl" + ], + "throwing": true, + "funcSelfKind": "Mutating" + }, + { + "kind": "Function", + "name": "getNextPlayer", + "printedName": "getNextPlayer()", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel15VerySimpleRulesV13getNextPlayerAA5OwnerOyF", + "mangledName": "$s14DouShouQiModel15VerySimpleRulesV13getNextPlayerAA5OwnerOyF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "occurences", + "printedName": "occurences", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[DouShouQiModel.Board : Swift.Int]", + "children": [ + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel15VerySimpleRulesV10occurencesSDyAA5BoardVSiGvp", + "mangledName": "$s14DouShouQiModel15VerySimpleRulesV10occurencesSDyAA5BoardVSiGvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "SetterAccess", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[DouShouQiModel.Board : Swift.Int]", + "children": [ + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel15VerySimpleRulesV10occurencesSDyAA5BoardVSiGvg", + "mangledName": "$s14DouShouQiModel15VerySimpleRulesV10occurencesSDyAA5BoardVSiGvg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "historic", + "printedName": "historic", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.Move]", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel15VerySimpleRulesV8historicSayAA4MoveVGvp", + "mangledName": "$s14DouShouQiModel15VerySimpleRulesV8historicSayAA4MoveVGvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "SetterAccess", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.Move]", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel15VerySimpleRulesV8historicSayAA4MoveVGvg", + "mangledName": "$s14DouShouQiModel15VerySimpleRulesV8historicSayAA4MoveVGvg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Struct", + "usr": "s:14DouShouQiModel15VerySimpleRulesV", + "mangledName": "$s14DouShouQiModel15VerySimpleRulesV", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Rules", + "printedName": "Rules", + "usr": "s:14DouShouQiModel5RulesP", + "mangledName": "$s14DouShouQiModel5RulesP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel" + }, + { + "kind": "TypeDecl", + "name": "Rules", + "printedName": "Rules", + "children": [ + { + "kind": "Function", + "name": "createBoard", + "printedName": "createBoard()", + "children": [ + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5RulesP11createBoardAA0G0VyFZ", + "mangledName": "$s14DouShouQiModel5RulesP11createBoardAA0G0VyFZ", + "moduleName": "DouShouQiModel", + "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", + "sugared_genericSig": "", + "static": true, + "protocolReq": true, + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "checkBoard", + "printedName": "checkBoard(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5RulesP10checkBoardyyAA0G0VKFZ", + "mangledName": "$s14DouShouQiModel5RulesP10checkBoardyyAA0G0VKFZ", + "moduleName": "DouShouQiModel", + "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", + "sugared_genericSig": "", + "static": true, + "protocolReq": true, + "throwing": true, + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "getNextPlayer", + "printedName": "getNextPlayer()", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5RulesP13getNextPlayerAA5OwnerOyF", + "mangledName": "$s14DouShouQiModel5RulesP13getNextPlayerAA5OwnerOyF", + "moduleName": "DouShouQiModel", + "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", + "sugared_genericSig": "", + "protocolReq": true, + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "getMoves", + "printedName": "getMoves(in:of:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.Move]", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sa" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5RulesP8getMoves2in2ofSayAA4MoveVGAA5BoardV_AA5OwnerOtF", + "mangledName": "$s14DouShouQiModel5RulesP8getMoves2in2ofSayAA4MoveVGAA5BoardV_AA5OwnerOtF", + "moduleName": "DouShouQiModel", + "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", + "sugared_genericSig": "", + "protocolReq": true, + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "getMoves", + "printedName": "getMoves(in:of:fromRow:andColumn:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.Move]", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sa" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5RulesP8getMoves2in2of7fromRow9andColumnSayAA4MoveVGAA5BoardV_AA5OwnerOS2itF", + "mangledName": "$s14DouShouQiModel5RulesP8getMoves2in2of7fromRow9andColumnSayAA4MoveVGAA5BoardV_AA5OwnerOS2itF", + "moduleName": "DouShouQiModel", + "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", + "sugared_genericSig": "", + "protocolReq": true, + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "isMoveValid", + "printedName": "isMoveValid(onBoard:fromRow:andFromColumn:toRow:andToColumn:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5RulesP11isMoveValid7onBoard7fromRow13andFromColumn02toL00m2ToO0SbAA0J0V_S4itF", + "mangledName": "$s14DouShouQiModel5RulesP11isMoveValid7onBoard7fromRow13andFromColumn02toL00m2ToO0SbAA0J0V_S4itF", + "moduleName": "DouShouQiModel", + "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", + "sugared_genericSig": "", + "protocolReq": true, + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "isMoveValid", + "printedName": "isMoveValid(onBoard:withMove:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5RulesP11isMoveValid7onBoard04withG0SbAA0J0V_AA0G0VtF", + "mangledName": "$s14DouShouQiModel5RulesP11isMoveValid7onBoard04withG0SbAA0J0V_AA0G0VtF", + "moduleName": "DouShouQiModel", + "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", + "sugared_genericSig": "", + "protocolReq": true, + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "isGameOver", + "printedName": "isGameOver(withBoard:andLastRowPlayed:andLastColumnPlayer:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(Swift.Bool, DouShouQiModel.Result)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Result", + "printedName": "DouShouQiModel.Result", + "usr": "s:14DouShouQiModel6ResultO" + } + ] + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5RulesP10isGameOver9withBoard16andLastRowPlayed0kL12ColumnPlayerSb_AA6ResultOtAA0J0V_S2itF", + "mangledName": "$s14DouShouQiModel5RulesP10isGameOver9withBoard16andLastRowPlayed0kL12ColumnPlayerSb_AA6ResultOtAA0J0V_S2itF", + "moduleName": "DouShouQiModel", + "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", + "sugared_genericSig": "", + "protocolReq": true, + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "playedMove", + "printedName": "playedMove(_:onStartingBoard:andResultingBoard:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5RulesP10playedMove_15onStartingBoard012andResultingJ0yAA0G0V_AA0J0VAJtKF", + "mangledName": "$s14DouShouQiModel5RulesP10playedMove_15onStartingBoard012andResultingJ0yAA0G0V_AA0J0VAJtKF", + "moduleName": "DouShouQiModel", + "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", + "sugared_genericSig": "", + "protocolReq": true, + "declAttributes": [ + "Mutating" + ], + "throwing": true, + "reqNewWitnessTableEntry": true, + "funcSelfKind": "Mutating" + }, + { + "kind": "Var", + "name": "occurences", + "printedName": "occurences", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[DouShouQiModel.Board : Swift.Int]", + "children": [ + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel5RulesP10occurencesSDyAA5BoardVSiGvp", + "mangledName": "$s14DouShouQiModel5RulesP10occurencesSDyAA5BoardVSiGvp", + "moduleName": "DouShouQiModel", + "protocolReq": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[DouShouQiModel.Board : Swift.Int]", + "children": [ + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel5RulesP10occurencesSDyAA5BoardVSiGvg", + "mangledName": "$s14DouShouQiModel5RulesP10occurencesSDyAA5BoardVSiGvg", + "moduleName": "DouShouQiModel", + "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", + "sugared_genericSig": "", + "protocolReq": true, + "reqNewWitnessTableEntry": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "historic", + "printedName": "historic", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.Move]", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel5RulesP8historicSayAA4MoveVGvp", + "mangledName": "$s14DouShouQiModel5RulesP8historicSayAA4MoveVGvp", + "moduleName": "DouShouQiModel", + "protocolReq": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.Move]", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel5RulesP8historicSayAA4MoveVGvg", + "mangledName": "$s14DouShouQiModel5RulesP8historicSayAA4MoveVGvg", + "moduleName": "DouShouQiModel", + "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", + "sugared_genericSig": "", + "protocolReq": true, + "reqNewWitnessTableEntry": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Protocol", + "usr": "s:14DouShouQiModel5RulesP", + "mangledName": "$s14DouShouQiModel5RulesP", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel" + }, + { + "kind": "TypeDecl", + "name": "Player", + "printedName": "Player", + "children": [ + { + "kind": "Var", + "name": "name", + "printedName": "name", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel6PlayerC4nameSSvp", + "mangledName": "$s14DouShouQiModel6PlayerC4nameSSvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasStorage", + "Final", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel6PlayerC4nameSSvg", + "mangledName": "$s14DouShouQiModel6PlayerC4nameSSvg", + "moduleName": "DouShouQiModel", + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "id", + "printedName": "id", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel6PlayerC2idAA5OwnerOvp", + "mangledName": "$s14DouShouQiModel6PlayerC2idAA5OwnerOvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasStorage", + "Final", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel6PlayerC2idAA5OwnerOvg", + "mangledName": "$s14DouShouQiModel6PlayerC2idAA5OwnerOvg", + "moduleName": "DouShouQiModel", + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(withName:andId:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.Player?", + "children": [ + { + "kind": "TypeNominal", + "name": "Player", + "printedName": "DouShouQiModel.Player", + "usr": "s:14DouShouQiModel6PlayerC" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Constructor", + "usr": "s:14DouShouQiModel6PlayerC8withName5andIdACSgSS_AA5OwnerOtcfc", + "mangledName": "$s14DouShouQiModel6PlayerC8withName5andIdACSgSS_AA5OwnerOtcfc", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "chooseMove", + "printedName": "chooseMove(in:with:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Rules", + "printedName": "DouShouQiModel.Rules", + "usr": "s:14DouShouQiModel5RulesP" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel6PlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKF", + "mangledName": "$s14DouShouQiModel6PlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "addPlayedCallbacksListener", + "printedName": "addPlayedCallbacksListener(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Move?, DouShouQiModel.Player) async throws -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(DouShouQiModel.Move?, DouShouQiModel.Player)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.Move?", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Player", + "printedName": "DouShouQiModel.Player", + "usr": "s:14DouShouQiModel6PlayerC" + } + ] + } + ] + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel6PlayerC26addPlayedCallbacksListeneryyyAA4MoveVSg_ACtYaKcF", + "mangledName": "$s14DouShouQiModel6PlayerC26addPlayedCallbacksListeneryyyAA4MoveVSg_ACtYaKcF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "notifyPlayed", + "printedName": "notifyPlayed(withMove:andPlayer:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.Move?", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Player", + "printedName": "DouShouQiModel.Player", + "usr": "s:14DouShouQiModel6PlayerC" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel6PlayerC12notifyPlayed8withMove03andE0yAA0I0VSg_ACtYaKF", + "mangledName": "$s14DouShouQiModel6PlayerC12notifyPlayed8withMove03andE0yAA0I0VSg_ACtYaKF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:14DouShouQiModel6PlayerC", + "mangledName": "$s14DouShouQiModel6PlayerC", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel" + }, + { + "kind": "TypeDecl", + "name": "GameError", + "printedName": "GameError", + "children": [ + { + "kind": "Var", + "name": "invalidMove", + "printedName": "invalidMove", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.GameError.Type) -> DouShouQiModel.GameError", + "children": [ + { + "kind": "TypeNominal", + "name": "GameError", + "printedName": "DouShouQiModel.GameError", + "usr": "s:14DouShouQiModel9GameErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.GameError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "GameError", + "printedName": "DouShouQiModel.GameError", + "usr": "s:14DouShouQiModel9GameErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel9GameErrorO11invalidMoveyA2CmF", + "mangledName": "$s14DouShouQiModel9GameErrorO11invalidMoveyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "nextPlayerError", + "printedName": "nextPlayerError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.GameError.Type) -> DouShouQiModel.GameError", + "children": [ + { + "kind": "TypeNominal", + "name": "GameError", + "printedName": "DouShouQiModel.GameError", + "usr": "s:14DouShouQiModel9GameErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.GameError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "GameError", + "printedName": "DouShouQiModel.GameError", + "usr": "s:14DouShouQiModel9GameErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel9GameErrorO010nextPlayerF0yA2CmF", + "mangledName": "$s14DouShouQiModel9GameErrorO010nextPlayerF0yA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "badPlayerId", + "printedName": "badPlayerId", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.GameError.Type) -> (Swift.String) -> DouShouQiModel.GameError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.String) -> DouShouQiModel.GameError", + "children": [ + { + "kind": "TypeNominal", + "name": "GameError", + "printedName": "DouShouQiModel.GameError", + "usr": "s:14DouShouQiModel9GameErrorO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(message: Swift.String)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.GameError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "GameError", + "printedName": "DouShouQiModel.GameError", + "usr": "s:14DouShouQiModel9GameErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel9GameErrorO11badPlayerIdyACSS_tcACmF", + "mangledName": "$s14DouShouQiModel9GameErrorO11badPlayerIdyACSS_tcACmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "invalidRules", + "printedName": "invalidRules", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.GameError.Type) -> DouShouQiModel.GameError", + "children": [ + { + "kind": "TypeNominal", + "name": "GameError", + "printedName": "DouShouQiModel.GameError", + "usr": "s:14DouShouQiModel9GameErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.GameError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "GameError", + "printedName": "DouShouQiModel.GameError", + "usr": "s:14DouShouQiModel9GameErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel9GameErrorO12invalidRulesyA2CmF", + "mangledName": "$s14DouShouQiModel9GameErrorO12invalidRulesyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "invalidPlayer", + "printedName": "invalidPlayer", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.GameError.Type) -> DouShouQiModel.GameError", + "children": [ + { + "kind": "TypeNominal", + "name": "GameError", + "printedName": "DouShouQiModel.GameError", + "usr": "s:14DouShouQiModel9GameErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.GameError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "GameError", + "printedName": "DouShouQiModel.GameError", + "usr": "s:14DouShouQiModel9GameErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel9GameErrorO13invalidPlayeryA2CmF", + "mangledName": "$s14DouShouQiModel9GameErrorO13invalidPlayeryA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "invalidGame", + "printedName": "invalidGame", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.GameError.Type) -> DouShouQiModel.GameError", + "children": [ + { + "kind": "TypeNominal", + "name": "GameError", + "printedName": "DouShouQiModel.GameError", + "usr": "s:14DouShouQiModel9GameErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.GameError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "GameError", + "printedName": "DouShouQiModel.GameError", + "usr": "s:14DouShouQiModel9GameErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel9GameErrorO07invalidE0yA2CmF", + "mangledName": "$s14DouShouQiModel9GameErrorO07invalidE0yA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "invalidBoard", + "printedName": "invalidBoard", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.GameError.Type) -> DouShouQiModel.GameError", + "children": [ + { + "kind": "TypeNominal", + "name": "GameError", + "printedName": "DouShouQiModel.GameError", + "usr": "s:14DouShouQiModel9GameErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.GameError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "GameError", + "printedName": "DouShouQiModel.GameError", + "usr": "s:14DouShouQiModel9GameErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel9GameErrorO12invalidBoardyA2CmF", + "mangledName": "$s14DouShouQiModel9GameErrorO12invalidBoardyA2CmF", + "moduleName": "DouShouQiModel" + } + ], + "declKind": "Enum", + "usr": "s:14DouShouQiModel9GameErrorO", + "mangledName": "$s14DouShouQiModel9GameErrorO", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Error", + "printedName": "Error", + "usr": "s:s5ErrorP", + "mangledName": "$ss5ErrorP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel" + }, + { + "kind": "TypeDecl", + "name": "RandomPlayer", + "printedName": "RandomPlayer", + "children": [ + { + "kind": "Function", + "name": "chooseMove", + "printedName": "chooseMove(in:with:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Rules", + "printedName": "DouShouQiModel.Rules", + "usr": "s:14DouShouQiModel5RulesP" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel12RandomPlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKF", + "mangledName": "$s14DouShouQiModel12RandomPlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKF", + "moduleName": "DouShouQiModel", + "overriding": true, + "declAttributes": [ + "Override", + "AccessControl" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(withName:andId:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.RandomPlayer?", + "children": [ + { + "kind": "TypeNominal", + "name": "RandomPlayer", + "printedName": "DouShouQiModel.RandomPlayer", + "usr": "s:14DouShouQiModel12RandomPlayerC" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Constructor", + "usr": "s:14DouShouQiModel12RandomPlayerC8withName5andIdACSgSS_AA5OwnerOtcfc", + "mangledName": "$s14DouShouQiModel12RandomPlayerC8withName5andIdACSgSS_AA5OwnerOtcfc", + "moduleName": "DouShouQiModel", + "overriding": true, + "implicit": true, + "declAttributes": [ + "Override" + ], + "init_kind": "Designated" + } + ], + "declKind": "Class", + "usr": "s:14DouShouQiModel12RandomPlayerC", + "mangledName": "$s14DouShouQiModel12RandomPlayerC", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "superclassUsr": "s:14DouShouQiModel8IAPlayerC", + "inheritsConvenienceInitializers": true, + "superclassNames": [ + "DouShouQiModel.IAPlayer", + "DouShouQiModel.Player" + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel" + }, + { + "kind": "TypeDecl", + "name": "CellType", + "printedName": "CellType", + "children": [ + { + "kind": "Var", + "name": "unknown", + "printedName": "unknown", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.CellType.Type) -> DouShouQiModel.CellType", + "children": [ + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.CellType.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel8CellTypeO7unknownyA2CmF", + "mangledName": "$s14DouShouQiModel8CellTypeO7unknownyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "jungle", + "printedName": "jungle", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.CellType.Type) -> DouShouQiModel.CellType", + "children": [ + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.CellType.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel8CellTypeO6jungleyA2CmF", + "mangledName": "$s14DouShouQiModel8CellTypeO6jungleyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "water", + "printedName": "water", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.CellType.Type) -> DouShouQiModel.CellType", + "children": [ + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.CellType.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel8CellTypeO5wateryA2CmF", + "mangledName": "$s14DouShouQiModel8CellTypeO5wateryA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "trap", + "printedName": "trap", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.CellType.Type) -> DouShouQiModel.CellType", + "children": [ + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.CellType.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel8CellTypeO4trapyA2CmF", + "mangledName": "$s14DouShouQiModel8CellTypeO4trapyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "den", + "printedName": "den", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.CellType.Type) -> DouShouQiModel.CellType", + "children": [ + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.CellType.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel8CellTypeO3denyA2CmF", + "mangledName": "$s14DouShouQiModel8CellTypeO3denyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "allCases", + "printedName": "allCases", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.CellType]", + "children": [ + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel8CellTypeO8allCasesSayACGvpZ", + "mangledName": "$s14DouShouQiModel8CellTypeO8allCasesSayACGvpZ", + "moduleName": "DouShouQiModel", + "static": true, + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.CellType]", + "children": [ + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel8CellTypeO8allCasesSayACGvgZ", + "mangledName": "$s14DouShouQiModel8CellTypeO8allCasesSayACGvgZ", + "moduleName": "DouShouQiModel", + "static": true, + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + }, + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel8CellTypeO2eeoiySbAC_ACtFZ", + "mangledName": "$s14DouShouQiModel8CellTypeO2eeoiySbAC_ACtFZ", + "moduleName": "DouShouQiModel", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel8CellTypeO9hashValueSivp", + "mangledName": "$s14DouShouQiModel8CellTypeO9hashValueSivp", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel8CellTypeO9hashValueSivg", + "mangledName": "$s14DouShouQiModel8CellTypeO9hashValueSivg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel8CellTypeO4hash4intoys6HasherVz_tF", + "mangledName": "$s14DouShouQiModel8CellTypeO4hash4intoys6HasherVz_tF", + "moduleName": "DouShouQiModel", + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Enum", + "usr": "s:14DouShouQiModel8CellTypeO", + "mangledName": "$s14DouShouQiModel8CellTypeO", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "CaseIterable", + "printedName": "CaseIterable", + "children": [ + { + "kind": "TypeWitness", + "name": "AllCases", + "printedName": "AllCases", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.CellType]", + "children": [ + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + } + ], + "usr": "s:Sa" + } + ] + } + ], + "usr": "s:s12CaseIterableP", + "mangledName": "$ss12CaseIterableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel" + }, + { + "kind": "TypeDecl", + "name": "Board", + "printedName": "Board", + "children": [ + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5BoardV4hash4intoys6HasherVz_tF", + "mangledName": "$s14DouShouQiModel5BoardV4hash4intoys6HasherVz_tF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "nbRows", + "printedName": "nbRows", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel5BoardV6nbRowsSivp", + "mangledName": "$s14DouShouQiModel5BoardV6nbRowsSivp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel5BoardV6nbRowsSivg", + "mangledName": "$s14DouShouQiModel5BoardV6nbRowsSivg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "nbColumns", + "printedName": "nbColumns", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel5BoardV9nbColumnsSivp", + "mangledName": "$s14DouShouQiModel5BoardV9nbColumnsSivp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel5BoardV9nbColumnsSivg", + "mangledName": "$s14DouShouQiModel5BoardV9nbColumnsSivg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "grid", + "printedName": "grid", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[[DouShouQiModel.Cell]]", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.Cell]", + "children": [ + { + "kind": "TypeNominal", + "name": "Cell", + "printedName": "DouShouQiModel.Cell", + "usr": "s:14DouShouQiModel4CellV" + } + ], + "usr": "s:Sa" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel5BoardV4gridSaySayAA4CellVGGvp", + "mangledName": "$s14DouShouQiModel5BoardV4gridSaySayAA4CellVGGvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasStorage", + "SetterAccess", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[[DouShouQiModel.Cell]]", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.Cell]", + "children": [ + { + "kind": "TypeNominal", + "name": "Cell", + "printedName": "DouShouQiModel.Cell", + "usr": "s:14DouShouQiModel4CellV" + } + ], + "usr": "s:Sa" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel5BoardV4gridSaySayAA4CellVGGvg", + "mangledName": "$s14DouShouQiModel5BoardV4gridSaySayAA4CellVGGvg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(withGrid:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.Board?", + "children": [ + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[[DouShouQiModel.Cell]]", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.Cell]", + "children": [ + { + "kind": "TypeNominal", + "name": "Cell", + "printedName": "DouShouQiModel.Cell", + "usr": "s:14DouShouQiModel4CellV" + } + ], + "usr": "s:Sa" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Constructor", + "usr": "s:14DouShouQiModel5BoardV8withGridACSgSaySayAA4CellVGG_tcfc", + "mangledName": "$s14DouShouQiModel5BoardV8withGridACSgSaySayAA4CellVGG_tcfc", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "countPieces", + "printedName": "countPieces(of:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5BoardV11countPieces2ofSiAA5OwnerO_tF", + "mangledName": "$s14DouShouQiModel5BoardV11countPieces2ofSiAA5OwnerO_tF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "countPieces", + "printedName": "countPieces()", + "children": [ + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(nbOfPiecesOfPlayer1: Swift.Int, nbOfPiecesOfPlayer2: Swift.Int)", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5BoardV11countPiecesSi04nbOfgI7Player1_Si0higI7Player2tyF", + "mangledName": "$s14DouShouQiModel5BoardV11countPiecesSi04nbOfgI7Player1_Si0higI7Player2tyF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "insert", + "printedName": "insert(piece:atRow:andColumn:)", + "children": [ + { + "kind": "TypeNominal", + "name": "BoardResult", + "printedName": "DouShouQiModel.BoardResult", + "usr": "s:14DouShouQiModel11BoardResultO" + }, + { + "kind": "TypeNominal", + "name": "Piece", + "printedName": "DouShouQiModel.Piece", + "usr": "s:14DouShouQiModel5PieceV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5BoardV6insert5piece5atRow9andColumnAA0E6ResultOAA5PieceV_S2itF", + "mangledName": "$s14DouShouQiModel5BoardV6insert5piece5atRow9andColumnAA0E6ResultOAA5PieceV_S2itF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "Mutating", + "AccessControl" + ], + "funcSelfKind": "Mutating" + }, + { + "kind": "Function", + "name": "removePiece", + "printedName": "removePiece(atRow:andColumn:)", + "children": [ + { + "kind": "TypeNominal", + "name": "BoardResult", + "printedName": "DouShouQiModel.BoardResult", + "usr": "s:14DouShouQiModel11BoardResultO" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5BoardV11removePiece5atRow9andColumnAA0E6ResultOSi_SitF", + "mangledName": "$s14DouShouQiModel5BoardV11removePiece5atRow9andColumnAA0E6ResultOSi_SitF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "Mutating", + "AccessControl" + ], + "funcSelfKind": "Mutating" + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel5BoardV9hashValueSivp", + "mangledName": "$s14DouShouQiModel5BoardV9hashValueSivp", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel5BoardV9hashValueSivg", + "mangledName": "$s14DouShouQiModel5BoardV9hashValueSivg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5BoardV2eeoiySbAC_ACtFZ", + "mangledName": "$s14DouShouQiModel5BoardV2eeoiySbAC_ACtFZ", + "moduleName": "DouShouQiModel", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Struct", + "usr": "s:14DouShouQiModel5BoardV", + "mangledName": "$s14DouShouQiModel5BoardV", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel" + }, + { + "kind": "TypeDecl", + "name": "Piece", + "printedName": "Piece", + "children": [ + { + "kind": "Var", + "name": "description", + "printedName": "description", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel5PieceV11descriptionSSvp", + "mangledName": "$s14DouShouQiModel5PieceV11descriptionSSvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel5PieceV11descriptionSSvg", + "mangledName": "$s14DouShouQiModel5PieceV11descriptionSSvg", + "moduleName": "DouShouQiModel", + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "owner", + "printedName": "owner", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel5PieceV5ownerAA5OwnerOvp", + "mangledName": "$s14DouShouQiModel5PieceV5ownerAA5OwnerOvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel5PieceV5ownerAA5OwnerOvg", + "mangledName": "$s14DouShouQiModel5PieceV5ownerAA5OwnerOvg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "animal", + "printedName": "animal", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel5PieceV6animalAA6AnimalOvp", + "mangledName": "$s14DouShouQiModel5PieceV6animalAA6AnimalOvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel5PieceV6animalAA6AnimalOvg", + "mangledName": "$s14DouShouQiModel5PieceV6animalAA6AnimalOvg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(withOwner:andAnimal:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Piece", + "printedName": "DouShouQiModel.Piece", + "usr": "s:14DouShouQiModel5PieceV" + }, + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + }, + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + } + ], + "declKind": "Constructor", + "usr": "s:14DouShouQiModel5PieceV9withOwner9andAnimalAcA0G0O_AA0I0Otcfc", + "mangledName": "$s14DouShouQiModel5PieceV9withOwner9andAnimalAcA0G0O_AA0I0Otcfc", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel5PieceV9hashValueSivp", + "mangledName": "$s14DouShouQiModel5PieceV9hashValueSivp", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel5PieceV9hashValueSivg", + "mangledName": "$s14DouShouQiModel5PieceV9hashValueSivg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5PieceV4hash4intoys6HasherVz_tF", + "mangledName": "$s14DouShouQiModel5PieceV4hash4intoys6HasherVz_tF", + "moduleName": "DouShouQiModel", + "implicit": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Piece", + "printedName": "DouShouQiModel.Piece", + "usr": "s:14DouShouQiModel5PieceV" + }, + { + "kind": "TypeNominal", + "name": "Piece", + "printedName": "DouShouQiModel.Piece", + "usr": "s:14DouShouQiModel5PieceV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5PieceV2eeoiySbAC_ACtFZ", + "mangledName": "$s14DouShouQiModel5PieceV2eeoiySbAC_ACtFZ", + "moduleName": "DouShouQiModel", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Struct", + "usr": "s:14DouShouQiModel5PieceV", + "mangledName": "$s14DouShouQiModel5PieceV", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel" + }, + { + "kind": "TypeDecl", + "name": "InvalidBoardError", + "printedName": "InvalidBoardError", + "children": [ + { + "kind": "Var", + "name": "unknownError", + "printedName": "unknownError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.InvalidBoardError.Type) -> DouShouQiModel.InvalidBoardError", + "children": [ + { + "kind": "TypeNominal", + "name": "InvalidBoardError", + "printedName": "DouShouQiModel.InvalidBoardError", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.InvalidBoardError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "InvalidBoardError", + "printedName": "DouShouQiModel.InvalidBoardError", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO07unknownG0yA2CmF", + "mangledName": "$s14DouShouQiModel17InvalidBoardErrorO07unknownG0yA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "badDimensions", + "printedName": "badDimensions", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.InvalidBoardError.Type) -> (Swift.Int, Swift.Int) -> DouShouQiModel.InvalidBoardError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.Int, Swift.Int) -> DouShouQiModel.InvalidBoardError", + "children": [ + { + "kind": "TypeNominal", + "name": "InvalidBoardError", + "printedName": "DouShouQiModel.InvalidBoardError", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(nbRows: Swift.Int, nbColumns: Swift.Int)", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.InvalidBoardError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "InvalidBoardError", + "printedName": "DouShouQiModel.InvalidBoardError", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO13badDimensionsyACSi_SitcACmF", + "mangledName": "$s14DouShouQiModel17InvalidBoardErrorO13badDimensionsyACSi_SitcACmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "badCellType", + "printedName": "badCellType", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.InvalidBoardError.Type) -> (DouShouQiModel.CellType, Swift.Int, Swift.Int) -> DouShouQiModel.InvalidBoardError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.CellType, Swift.Int, Swift.Int) -> DouShouQiModel.InvalidBoardError", + "children": [ + { + "kind": "TypeNominal", + "name": "InvalidBoardError", + "printedName": "DouShouQiModel.InvalidBoardError", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(cellType: DouShouQiModel.CellType, row: Swift.Int, column: Swift.Int)", + "children": [ + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.InvalidBoardError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "InvalidBoardError", + "printedName": "DouShouQiModel.InvalidBoardError", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO11badCellTypeyAcA0iJ0O_S2itcACmF", + "mangledName": "$s14DouShouQiModel17InvalidBoardErrorO11badCellTypeyAcA0iJ0O_S2itcACmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "multipleOccurenceOfSamePiece", + "printedName": "multipleOccurenceOfSamePiece", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.InvalidBoardError.Type) -> (DouShouQiModel.Piece) -> DouShouQiModel.InvalidBoardError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Piece) -> DouShouQiModel.InvalidBoardError", + "children": [ + { + "kind": "TypeNominal", + "name": "InvalidBoardError", + "printedName": "DouShouQiModel.InvalidBoardError", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(piece: DouShouQiModel.Piece)", + "children": [ + { + "kind": "TypeNominal", + "name": "Piece", + "printedName": "DouShouQiModel.Piece", + "usr": "s:14DouShouQiModel5PieceV" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.InvalidBoardError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "InvalidBoardError", + "printedName": "DouShouQiModel.InvalidBoardError", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO28multipleOccurenceOfSamePieceyAcA0L0V_tcACmF", + "mangledName": "$s14DouShouQiModel17InvalidBoardErrorO28multipleOccurenceOfSamePieceyAcA0L0V_tcACmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "pieceWithNoOwner", + "printedName": "pieceWithNoOwner", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.InvalidBoardError.Type) -> (DouShouQiModel.Piece) -> DouShouQiModel.InvalidBoardError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Piece) -> DouShouQiModel.InvalidBoardError", + "children": [ + { + "kind": "TypeNominal", + "name": "InvalidBoardError", + "printedName": "DouShouQiModel.InvalidBoardError", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(piece: DouShouQiModel.Piece)", + "children": [ + { + "kind": "TypeNominal", + "name": "Piece", + "printedName": "DouShouQiModel.Piece", + "usr": "s:14DouShouQiModel5PieceV" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.InvalidBoardError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "InvalidBoardError", + "printedName": "DouShouQiModel.InvalidBoardError", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO16pieceWithNoOwneryAcA5PieceV_tcACmF", + "mangledName": "$s14DouShouQiModel17InvalidBoardErrorO16pieceWithNoOwneryAcA5PieceV_tcACmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "pieceNotAllowedOnThisCell", + "printedName": "pieceNotAllowedOnThisCell", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.InvalidBoardError.Type) -> (DouShouQiModel.Piece, DouShouQiModel.Cell) -> DouShouQiModel.InvalidBoardError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Piece, DouShouQiModel.Cell) -> DouShouQiModel.InvalidBoardError", + "children": [ + { + "kind": "TypeNominal", + "name": "InvalidBoardError", + "printedName": "DouShouQiModel.InvalidBoardError", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(piece: DouShouQiModel.Piece, cell: DouShouQiModel.Cell)", + "children": [ + { + "kind": "TypeNominal", + "name": "Piece", + "printedName": "DouShouQiModel.Piece", + "usr": "s:14DouShouQiModel5PieceV" + }, + { + "kind": "TypeNominal", + "name": "Cell", + "printedName": "DouShouQiModel.Cell", + "usr": "s:14DouShouQiModel4CellV" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.InvalidBoardError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "InvalidBoardError", + "printedName": "DouShouQiModel.InvalidBoardError", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO25pieceNotAllowedOnThisCellyAcA5PieceV_AA0M0VtcACmF", + "mangledName": "$s14DouShouQiModel17InvalidBoardErrorO25pieceNotAllowedOnThisCellyAcA5PieceV_AA0M0VtcACmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "InvalidBoardError", + "printedName": "DouShouQiModel.InvalidBoardError", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO" + }, + { + "kind": "TypeNominal", + "name": "InvalidBoardError", + "printedName": "DouShouQiModel.InvalidBoardError", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO2eeoiySbAC_ACtFZ", + "mangledName": "$s14DouShouQiModel17InvalidBoardErrorO2eeoiySbAC_ACtFZ", + "moduleName": "DouShouQiModel", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Enum", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO", + "mangledName": "$s14DouShouQiModel17InvalidBoardErrorO", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Error", + "printedName": "Error", + "usr": "s:s5ErrorP", + "mangledName": "$ss5ErrorP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel" + }, + { + "kind": "TypeDecl", + "name": "Owner", + "printedName": "Owner", + "children": [ + { + "kind": "Var", + "name": "noOne", + "printedName": "noOne", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Owner.Type) -> DouShouQiModel.Owner", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.Owner.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel5OwnerO5noOneyA2CmF", + "mangledName": "$s14DouShouQiModel5OwnerO5noOneyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "player1", + "printedName": "player1", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Owner.Type) -> DouShouQiModel.Owner", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.Owner.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel5OwnerO7player1yA2CmF", + "mangledName": "$s14DouShouQiModel5OwnerO7player1yA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "player2", + "printedName": "player2", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Owner.Type) -> DouShouQiModel.Owner", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.Owner.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel5OwnerO7player2yA2CmF", + "mangledName": "$s14DouShouQiModel5OwnerO7player2yA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "simpleDescription", + "printedName": "simpleDescription", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel5OwnerO17simpleDescriptionSSvp", + "mangledName": "$s14DouShouQiModel5OwnerO17simpleDescriptionSSvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel5OwnerO17simpleDescriptionSSvg", + "mangledName": "$s14DouShouQiModel5OwnerO17simpleDescriptionSSvg", + "moduleName": "DouShouQiModel", + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + }, + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5OwnerO2eeoiySbAC_ACtFZ", + "mangledName": "$s14DouShouQiModel5OwnerO2eeoiySbAC_ACtFZ", + "moduleName": "DouShouQiModel", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel5OwnerO9hashValueSivp", + "mangledName": "$s14DouShouQiModel5OwnerO9hashValueSivp", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel5OwnerO9hashValueSivg", + "mangledName": "$s14DouShouQiModel5OwnerO9hashValueSivg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5OwnerO4hash4intoys6HasherVz_tF", + "mangledName": "$s14DouShouQiModel5OwnerO4hash4intoys6HasherVz_tF", + "moduleName": "DouShouQiModel", + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Enum", + "usr": "s:14DouShouQiModel5OwnerO", + "mangledName": "$s14DouShouQiModel5OwnerO", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "TypeDecl", + "name": "IAPlayer", + "printedName": "IAPlayer", + "children": [ + { + "kind": "Constructor", + "name": "init", + "printedName": "init(withName:andId:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.IAPlayer?", + "children": [ + { + "kind": "TypeNominal", + "name": "IAPlayer", + "printedName": "DouShouQiModel.IAPlayer", + "usr": "s:14DouShouQiModel8IAPlayerC" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Constructor", + "usr": "s:14DouShouQiModel8IAPlayerC8withName5andIdACSgSS_AA5OwnerOtcfc", + "mangledName": "$s14DouShouQiModel8IAPlayerC8withName5andIdACSgSS_AA5OwnerOtcfc", + "moduleName": "DouShouQiModel", + "overriding": true, + "implicit": true, + "declAttributes": [ + "Override" + ], + "init_kind": "Designated" + } + ], + "declKind": "Class", + "usr": "s:14DouShouQiModel8IAPlayerC", + "mangledName": "$s14DouShouQiModel8IAPlayerC", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "superclassUsr": "s:14DouShouQiModel6PlayerC", + "inheritsConvenienceInitializers": true, + "superclassNames": [ + "DouShouQiModel.Player" + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel" + }, + { + "kind": "TypeDecl", + "name": "Move", + "printedName": "Move", + "children": [ + { + "kind": "Var", + "name": "owner", + "printedName": "owner", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel4MoveV5ownerAA5OwnerOvp", + "mangledName": "$s14DouShouQiModel4MoveV5ownerAA5OwnerOvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel4MoveV5ownerAA5OwnerOvg", + "mangledName": "$s14DouShouQiModel4MoveV5ownerAA5OwnerOvg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "rowOrigin", + "printedName": "rowOrigin", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel4MoveV9rowOriginSivp", + "mangledName": "$s14DouShouQiModel4MoveV9rowOriginSivp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel4MoveV9rowOriginSivg", + "mangledName": "$s14DouShouQiModel4MoveV9rowOriginSivg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "columnOrigin", + "printedName": "columnOrigin", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel4MoveV12columnOriginSivp", + "mangledName": "$s14DouShouQiModel4MoveV12columnOriginSivp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel4MoveV12columnOriginSivg", + "mangledName": "$s14DouShouQiModel4MoveV12columnOriginSivg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "rowDestination", + "printedName": "rowDestination", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel4MoveV14rowDestinationSivp", + "mangledName": "$s14DouShouQiModel4MoveV14rowDestinationSivp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel4MoveV14rowDestinationSivg", + "mangledName": "$s14DouShouQiModel4MoveV14rowDestinationSivg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "columnDestination", + "printedName": "columnDestination", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel4MoveV17columnDestinationSivp", + "mangledName": "$s14DouShouQiModel4MoveV17columnDestinationSivp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel4MoveV17columnDestinationSivg", + "mangledName": "$s14DouShouQiModel4MoveV17columnDestinationSivg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(of:fromRow:andFromColumn:toRow:andToColumn:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + }, + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Constructor", + "usr": "s:14DouShouQiModel4MoveV2of7fromRow13andFromColumn02toH00i2ToK0AcA5OwnerO_S4itcfc", + "mangledName": "$s14DouShouQiModel4MoveV2of7fromRow13andFromColumn02toH00i2ToK0AcA5OwnerO_S4itcfc", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Var", + "name": "description", + "printedName": "description", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel4MoveV11descriptionSSvp", + "mangledName": "$s14DouShouQiModel4MoveV11descriptionSSvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel4MoveV11descriptionSSvg", + "mangledName": "$s14DouShouQiModel4MoveV11descriptionSSvg", + "moduleName": "DouShouQiModel", + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + }, + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel4MoveV2eeoiySbAC_ACtFZ", + "mangledName": "$s14DouShouQiModel4MoveV2eeoiySbAC_ACtFZ", + "moduleName": "DouShouQiModel", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Struct", + "usr": "s:14DouShouQiModel4MoveV", + "mangledName": "$s14DouShouQiModel4MoveV", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel" + }, + { + "kind": "TypeDecl", + "name": "Animal", + "printedName": "Animal", + "children": [ + { + "kind": "Var", + "name": "rat", + "printedName": "rat", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Animal.Type) -> DouShouQiModel.Animal", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.Animal.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel6AnimalO3ratyA2CmF", + "mangledName": "$s14DouShouQiModel6AnimalO3ratyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "cat", + "printedName": "cat", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Animal.Type) -> DouShouQiModel.Animal", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.Animal.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel6AnimalO3catyA2CmF", + "mangledName": "$s14DouShouQiModel6AnimalO3catyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "dog", + "printedName": "dog", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Animal.Type) -> DouShouQiModel.Animal", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.Animal.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel6AnimalO3dogyA2CmF", + "mangledName": "$s14DouShouQiModel6AnimalO3dogyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "wolf", + "printedName": "wolf", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Animal.Type) -> DouShouQiModel.Animal", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.Animal.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel6AnimalO4wolfyA2CmF", + "mangledName": "$s14DouShouQiModel6AnimalO4wolfyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "leopard", + "printedName": "leopard", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Animal.Type) -> DouShouQiModel.Animal", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.Animal.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel6AnimalO7leopardyA2CmF", + "mangledName": "$s14DouShouQiModel6AnimalO7leopardyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "tiger", + "printedName": "tiger", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Animal.Type) -> DouShouQiModel.Animal", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.Animal.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel6AnimalO5tigeryA2CmF", + "mangledName": "$s14DouShouQiModel6AnimalO5tigeryA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "lion", + "printedName": "lion", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Animal.Type) -> DouShouQiModel.Animal", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.Animal.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel6AnimalO4lionyA2CmF", + "mangledName": "$s14DouShouQiModel6AnimalO4lionyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "elephant", + "printedName": "elephant", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Animal.Type) -> DouShouQiModel.Animal", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.Animal.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel6AnimalO8elephantyA2CmF", + "mangledName": "$s14DouShouQiModel6AnimalO8elephantyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "rawValue", + "printedName": "rawValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel6AnimalO8rawValueSivp", + "mangledName": "$s14DouShouQiModel6AnimalO8rawValueSivp", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel6AnimalO8rawValueSivg", + "mangledName": "$s14DouShouQiModel6AnimalO8rawValueSivg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(rawValue:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.Animal?", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Constructor", + "usr": "s:14DouShouQiModel6AnimalO8rawValueACSgSi_tcfc", + "mangledName": "$s14DouShouQiModel6AnimalO8rawValueACSgSi_tcfc", + "moduleName": "DouShouQiModel", + "implicit": true, + "init_kind": "Designated" + } + ], + "declKind": "Enum", + "usr": "s:14DouShouQiModel6AnimalO", + "mangledName": "$s14DouShouQiModel6AnimalO", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "enumRawTypeName": "Int", + "conformances": [ + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "RawRepresentable", + "printedName": "RawRepresentable", + "children": [ + { + "kind": "TypeWitness", + "name": "RawValue", + "printedName": "RawValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ], + "usr": "s:SY", + "mangledName": "$sSY" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel" + }, + { + "kind": "TypeDecl", + "name": "Game", + "printedName": "Game", + "children": [ + { + "kind": "Var", + "name": "board", + "printedName": "board", + "children": [ + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel4GameC5boardAA5BoardVvp", + "mangledName": "$s14DouShouQiModel4GameC5boardAA5BoardVvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasStorage", + "SetterAccess", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel4GameC5boardAA5BoardVvg", + "mangledName": "$s14DouShouQiModel4GameC5boardAA5BoardVvg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "rules", + "printedName": "rules", + "children": [ + { + "kind": "TypeNominal", + "name": "Rules", + "printedName": "DouShouQiModel.Rules", + "usr": "s:14DouShouQiModel5RulesP" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel4GameC5rulesAA5Rules_pvp", + "mangledName": "$s14DouShouQiModel4GameC5rulesAA5Rules_pvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasStorage", + "SetterAccess", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Rules", + "printedName": "DouShouQiModel.Rules", + "usr": "s:14DouShouQiModel5RulesP" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel4GameC5rulesAA5Rules_pvg", + "mangledName": "$s14DouShouQiModel4GameC5rulesAA5Rules_pvg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "players", + "printedName": "players", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[DouShouQiModel.Owner : DouShouQiModel.Player]", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + }, + { + "kind": "TypeNominal", + "name": "Player", + "printedName": "DouShouQiModel.Player", + "usr": "s:14DouShouQiModel6PlayerC" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel4GameC7playersSDyAA5OwnerOAA6PlayerCGvp", + "mangledName": "$s14DouShouQiModel4GameC7playersSDyAA5OwnerOAA6PlayerCGvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "Final", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[DouShouQiModel.Owner : DouShouQiModel.Player]", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + }, + { + "kind": "TypeNominal", + "name": "Player", + "printedName": "DouShouQiModel.Player", + "usr": "s:14DouShouQiModel6PlayerC" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel4GameC7playersSDyAA5OwnerOAA6PlayerCGvg", + "mangledName": "$s14DouShouQiModel4GameC7playersSDyAA5OwnerOAA6PlayerCGvg", + "moduleName": "DouShouQiModel", + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(withRules:andPlayer1:andPlayer2:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Game", + "printedName": "DouShouQiModel.Game", + "usr": "s:14DouShouQiModel4GameC" + }, + { + "kind": "TypeNominal", + "name": "Rules", + "printedName": "DouShouQiModel.Rules", + "usr": "s:14DouShouQiModel5RulesP" + }, + { + "kind": "TypeNominal", + "name": "Player", + "printedName": "DouShouQiModel.Player", + "usr": "s:14DouShouQiModel6PlayerC" + }, + { + "kind": "TypeNominal", + "name": "Player", + "printedName": "DouShouQiModel.Player", + "usr": "s:14DouShouQiModel6PlayerC" + } + ], + "declKind": "Constructor", + "usr": "s:14DouShouQiModel4GameC9withRules10andPlayer10H7Player2AcA0G0_p_AA6PlayerCAItKcfc", + "mangledName": "$s14DouShouQiModel4GameC9withRules10andPlayer10H7Player2AcA0G0_p_AA6PlayerCAItKcfc", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "throwing": true, + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(withBoard:andRules:andPlayer1:andPlayer2:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Game", + "printedName": "DouShouQiModel.Game", + "usr": "s:14DouShouQiModel4GameC" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Rules", + "printedName": "DouShouQiModel.Rules", + "usr": "s:14DouShouQiModel5RulesP" + }, + { + "kind": "TypeNominal", + "name": "Player", + "printedName": "DouShouQiModel.Player", + "usr": "s:14DouShouQiModel6PlayerC" + }, + { + "kind": "TypeNominal", + "name": "Player", + "printedName": "DouShouQiModel.Player", + "usr": "s:14DouShouQiModel6PlayerC" + } + ], + "declKind": "Constructor", + "usr": "s:14DouShouQiModel4GameC9withBoard8andRules0H7Player10H7Player2AcA0G0V_AA0I0_pAA6PlayerCALtKcfc", + "mangledName": "$s14DouShouQiModel4GameC9withBoard8andRules0H7Player10H7Player2AcA0G0V_AA0I0_pAA6PlayerCALtKcfc", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "throwing": true, + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "addGameStartedListener", + "printedName": "addGameStartedListener(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Board) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + } + ] + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel4GameC03addE15StartedListeneryyyAA5BoardVcF", + "mangledName": "$s14DouShouQiModel4GameC03addE15StartedListeneryyyAA5BoardVcF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "addPlayerNotifiedListener", + "printedName": "addPlayerNotifiedListener(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Board, DouShouQiModel.Player) async throws -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(DouShouQiModel.Board, DouShouQiModel.Player)", + "children": [ + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Player", + "printedName": "DouShouQiModel.Player", + "usr": "s:14DouShouQiModel6PlayerC" + } + ] + } + ] + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel4GameC25addPlayerNotifiedListeneryyyAA5BoardV_AA0G0CtYaKcF", + "mangledName": "$s14DouShouQiModel4GameC25addPlayerNotifiedListeneryyyAA5BoardV_AA0G0CtYaKcF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "addGameChangedListener", + "printedName": "addGameChangedListener(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Game) async -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Game", + "printedName": "DouShouQiModel.Game", + "usr": "s:14DouShouQiModel4GameC" + } + ] + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel4GameC03addE15ChangedListeneryyyACYacF", + "mangledName": "$s14DouShouQiModel4GameC03addE15ChangedListeneryyyACYacF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "addGameOverListener", + "printedName": "addGameOverListener(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Board, DouShouQiModel.Result, DouShouQiModel.Player?) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(DouShouQiModel.Board, DouShouQiModel.Result, DouShouQiModel.Player?)", + "children": [ + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Result", + "printedName": "DouShouQiModel.Result", + "usr": "s:14DouShouQiModel6ResultO" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.Player?", + "children": [ + { + "kind": "TypeNominal", + "name": "Player", + "printedName": "DouShouQiModel.Player", + "usr": "s:14DouShouQiModel6PlayerC" + } + ], + "usr": "s:Sq" + } + ] + } + ] + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel4GameC03addE12OverListeneryyyAA5BoardV_AA6ResultOAA6PlayerCSgtcF", + "mangledName": "$s14DouShouQiModel4GameC03addE12OverListeneryyyAA5BoardV_AA6ResultOAA6PlayerCSgtcF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "addMoveChosenCallbacksListener", + "printedName": "addMoveChosenCallbacksListener(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Board, DouShouQiModel.Move, DouShouQiModel.Player) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(DouShouQiModel.Board, DouShouQiModel.Move, DouShouQiModel.Player)", + "children": [ + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + }, + { + "kind": "TypeNominal", + "name": "Player", + "printedName": "DouShouQiModel.Player", + "usr": "s:14DouShouQiModel6PlayerC" + } + ] + } + ] + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel4GameC30addMoveChosenCallbacksListeneryyyAA5BoardV_AA0G0VAA6PlayerCtcF", + "mangledName": "$s14DouShouQiModel4GameC30addMoveChosenCallbacksListeneryyyAA5BoardV_AA0G0VAA6PlayerCtcF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "addInvalidMoveCallbacksListener", + "printedName": "addInvalidMoveCallbacksListener(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Board, DouShouQiModel.Move, DouShouQiModel.Player, Swift.Bool) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(DouShouQiModel.Board, DouShouQiModel.Move, DouShouQiModel.Player, Swift.Bool)", + "children": [ + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + }, + { + "kind": "TypeNominal", + "name": "Player", + "printedName": "DouShouQiModel.Player", + "usr": "s:14DouShouQiModel6PlayerC" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ] + } + ] + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel4GameC31addInvalidMoveCallbacksListeneryyyAA5BoardV_AA0H0VAA6PlayerCSbtcF", + "mangledName": "$s14DouShouQiModel4GameC31addInvalidMoveCallbacksListeneryyyAA5BoardV_AA0H0VAA6PlayerCSbtcF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "addBoardChangedListener", + "printedName": "addBoardChangedListener(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Board) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + } + ] + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel4GameC23addBoardChangedListeneryyyAA0G0VcF", + "mangledName": "$s14DouShouQiModel4GameC23addBoardChangedListeneryyyAA0G0VcF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "addPieceRemovedListener", + "printedName": "addPieceRemovedListener(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.Int, Swift.Int, DouShouQiModel.Piece) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(Swift.Int, Swift.Int, DouShouQiModel.Piece)", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Piece", + "printedName": "DouShouQiModel.Piece", + "usr": "s:14DouShouQiModel5PieceV" + } + ] + } + ] + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel4GameC23addPieceRemovedListeneryyySi_SiAA0G0VtcF", + "mangledName": "$s14DouShouQiModel4GameC23addPieceRemovedListeneryyySi_SiAA0G0VtcF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "onPlayed", + "printedName": "onPlayed(with:from:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.Move?", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Player", + "printedName": "DouShouQiModel.Player", + "usr": "s:14DouShouQiModel6PlayerC" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel4GameC8onPlayed4with4fromyAA4MoveVSg_AA6PlayerCtYaKF", + "mangledName": "$s14DouShouQiModel4GameC8onPlayed4with4fromyAA4MoveVSg_AA6PlayerCtYaKF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "isOver", + "printedName": "isOver", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel4GameC6isOverSbvp", + "mangledName": "$s14DouShouQiModel4GameC6isOverSbvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "SetterAccess", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel4GameC6isOverSbvg", + "mangledName": "$s14DouShouQiModel4GameC6isOverSbvg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "start", + "printedName": "start()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel4GameC5startyyYaKF", + "mangledName": "$s14DouShouQiModel4GameC5startyyYaKF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:14DouShouQiModel4GameC", + "mangledName": "$s14DouShouQiModel4GameC", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ] + } + ], + "json_format_version": 8 + }, + "ConstValues": [ + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 81, + "length": 1, + "value": "9" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 111, + "length": 1, + "value": "7" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 148, + "length": 1, + "value": "3" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 3048, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 3088, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "Array", + "offset": 3941, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "Dictionary", + "offset": 4285, + "length": 3, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "Array", + "offset": 4475, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 4517, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 4565, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "BooleanLiteral", + "offset": 4967, + "length": 5, + "value": "false" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "Array", + "offset": 6169, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 6189, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 6229, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 9685, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 10586, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 10906, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 11013, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "Array", + "offset": 11170, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 11188, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 11280, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 11325, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 11433, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 11477, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 11569, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 11632, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 11740, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "Array", + "offset": 12266, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 12307, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 12319, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 12326, + "length": 2, + "value": "-1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 12703, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 12714, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 12721, + "length": 2, + "value": "-1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 13086, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 13464, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "BooleanLiteral", + "offset": 15597, + "length": 4, + "value": "true" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 15704, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "BooleanLiteral", + "offset": 15728, + "length": 4, + "value": "true" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 15845, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "BooleanLiteral", + "offset": 15869, + "length": 4, + "value": "true" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "BooleanLiteral", + "offset": 16049, + "length": 4, + "value": "true" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "BooleanLiteral", + "offset": 16149, + "length": 5, + "value": "false" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 16579, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 16584, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "Dictionary", + "offset": 16948, + "length": 3, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "Array", + "offset": 17004, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Cell.swift", + "kind": "StringLiteral", + "offset": 122, + "length": 81, + "value": "\"\"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Cell.swift", + "kind": "StringLiteral", + "offset": 147, + "length": 4, + "value": "\"ø\"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Cell.swift", + "kind": "StringLiteral", + "offset": 152, + "length": 2, + "value": "\" on \"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Cell.swift", + "kind": "StringLiteral", + "offset": 167, + "length": 1, + "value": "\", \"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Cell.swift", + "kind": "StringLiteral", + "offset": 202, + "length": 1, + "value": "\"\"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 89, + "length": 1, + "value": "5" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 119, + "length": 1, + "value": "5" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 2067, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 2107, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 2267, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 2277, + "length": 1, + "value": "2" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 2419, + "length": 1, + "value": "4" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 2429, + "length": 1, + "value": "2" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 2964, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 3004, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "Array", + "offset": 3773, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 3793, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 3833, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "BooleanLiteral", + "offset": 4182, + "length": 4, + "value": "true" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "BooleanLiteral", + "offset": 4292, + "length": 5, + "value": "false" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "Array", + "offset": 4531, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "Array", + "offset": 4639, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 4773, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 4782, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 4800, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 4809, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 4925, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 5013, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "BooleanLiteral", + "offset": 6962, + "length": 4, + "value": "true" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 7077, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "BooleanLiteral", + "offset": 7105, + "length": 4, + "value": "true" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 7230, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "BooleanLiteral", + "offset": 7258, + "length": 4, + "value": "true" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "BooleanLiteral", + "offset": 7350, + "length": 5, + "value": "false" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "Dictionary", + "offset": 8072, + "length": 3, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "Array", + "offset": 8128, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Player.swift", + "kind": "Array", + "offset": 418, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", + "kind": "BooleanLiteral", + "offset": 475, + "length": 5, + "value": "false" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", + "kind": "IntegerLiteral", + "offset": 570, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", + "kind": "IntegerLiteral", + "offset": 694, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", + "kind": "IntegerLiteral", + "offset": 981, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", + "kind": "IntegerLiteral", + "offset": 996, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", + "kind": "IntegerLiteral", + "offset": 1015, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", + "kind": "IntegerLiteral", + "offset": 1049, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", + "kind": "IntegerLiteral", + "offset": 1212, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", + "kind": "IntegerLiteral", + "offset": 1278, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", + "kind": "IntegerLiteral", + "offset": 1548, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", + "kind": "IntegerLiteral", + "offset": 1579, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", + "kind": "IntegerLiteral", + "offset": 1979, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", + "kind": "IntegerLiteral", + "offset": 2010, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Piece.swift", + "kind": "StringLiteral", + "offset": 122, + "length": 40, + "value": "\"[\"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Piece.swift", + "kind": "StringLiteral", + "offset": 150, + "length": 1, + "value": "\":\"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Piece.swift", + "kind": "StringLiteral", + "offset": 160, + "length": 1, + "value": "\"]\"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Owner.swift", + "kind": "StringLiteral", + "offset": 183, + "length": 3, + "value": "\"x\"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Owner.swift", + "kind": "StringLiteral", + "offset": 229, + "length": 3, + "value": "\"1\"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Owner.swift", + "kind": "StringLiteral", + "offset": 275, + "length": 3, + "value": "\"2\"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Move.swift", + "kind": "StringLiteral", + "offset": 616, + "length": 87, + "value": "\"\"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Move.swift", + "kind": "StringLiteral", + "offset": 625, + "length": 1, + "value": "\": [\"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Move.swift", + "kind": "StringLiteral", + "offset": 640, + "length": 1, + "value": "\",\"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Move.swift", + "kind": "StringLiteral", + "offset": 656, + "length": 1, + "value": "\"] -> [\"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Move.swift", + "kind": "StringLiteral", + "offset": 679, + "length": 1, + "value": "\", \"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Move.swift", + "kind": "StringLiteral", + "offset": 701, + "length": 1, + "value": "\"]\"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 60, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 63, + "length": 3, + "value": "2" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 68, + "length": 3, + "value": "3" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 73, + "length": 4, + "value": "4" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 79, + "length": 7, + "value": "5" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 88, + "length": 5, + "value": "6" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 95, + "length": 4, + "value": "7" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 101, + "length": 8, + "value": "8" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 60, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 63, + "length": 3, + "value": "2" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 68, + "length": 3, + "value": "3" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 73, + "length": 4, + "value": "4" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 79, + "length": 7, + "value": "5" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 88, + "length": 5, + "value": "6" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 95, + "length": 4, + "value": "7" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 101, + "length": 8, + "value": "8" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 60, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 63, + "length": 3, + "value": "2" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 68, + "length": 3, + "value": "3" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 73, + "length": 4, + "value": "4" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 79, + "length": 7, + "value": "5" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 88, + "length": 5, + "value": "6" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 95, + "length": 4, + "value": "7" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 101, + "length": 8, + "value": "8" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", + "kind": "StringLiteral", + "offset": 513, + "length": 55, + "value": "\"The ids of players are not .player1 and then .player2\"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", + "kind": "StringLiteral", + "offset": 1483, + "length": 55, + "value": "\"The ids of players are not .player1 and then .player2\"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", + "kind": "Array", + "offset": 1754, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", + "kind": "Array", + "offset": 2090, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", + "kind": "Array", + "offset": 2582, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", + "kind": "Array", + "offset": 3012, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", + "kind": "Array", + "offset": 3416, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", + "kind": "Array", + "offset": 3827, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", + "kind": "Array", + "offset": 4261, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", + "kind": "Array", + "offset": 4580, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", + "kind": "BooleanLiteral", + "offset": 6361, + "length": 4, + "value": "true" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", + "kind": "BooleanLiteral", + "offset": 7044, + "length": 5, + "value": "false" + } + ] +} \ No newline at end of file diff --git a/NEPASTOUCHER/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface b/NEPASTOUCHER/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface new file mode 100644 index 0000000..d1cea63 --- /dev/null +++ b/NEPASTOUCHER/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface @@ -0,0 +1,266 @@ +// swift-interface-format-version: 1.0 +// swift-compiler-version: Apple Swift version 5.9.2 (swiftlang-5.9.2.2.56 clang-1500.1.0.2.5) +// swift-module-flags: -target arm64-apple-ios16.0-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name DouShouQiModel +// swift-module-flags-ignorable: -enable-bare-slash-regex +@_exported import DouShouQiModel +import Foundation +import Swift +import _Concurrency +import _StringProcessing +import _SwiftConcurrencyShims +public enum Result : Swift.Equatable { + case notFinished + case even + case winner(winner: DouShouQiModel.Owner, reason: DouShouQiModel.WinningReason) + public static func == (a: DouShouQiModel.Result, b: DouShouQiModel.Result) -> Swift.Bool +} +public enum WinningReason { + case denReached, noMorePieces, tooManyOccurences, noMovesLeft + public static func == (a: DouShouQiModel.WinningReason, b: DouShouQiModel.WinningReason) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +public enum BoardResult : Swift.Equatable { + case unknown + case ok(piece: DouShouQiModel.Piece?) + case failed(reason: DouShouQiModel.BoardFailingReason) + public static func == (a: DouShouQiModel.BoardResult, b: DouShouQiModel.BoardResult) -> Swift.Bool +} +public enum BoardFailingReason { + case unknown, outOfBounds, cellNotEmpty, cellEmpty + public static func == (a: DouShouQiModel.BoardFailingReason, b: DouShouQiModel.BoardFailingReason) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +@_inheritsConvenienceInitializers public class HumanPlayer : DouShouQiModel.Player { + public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner, andInputMethod input: @escaping (_ hp: DouShouQiModel.HumanPlayer) -> DouShouQiModel.Move?) + override public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner) + #if compiler(>=5.3) && $AsyncAwait + override public func chooseMove(in board: DouShouQiModel.Board, with rules: any DouShouQiModel.Rules) async throws + #endif + public func changeInput(input: @escaping (_ hp: DouShouQiModel.HumanPlayer) -> DouShouQiModel.Move?) + #if compiler(>=5.3) && $AsyncAwait + public func chooseMove(_ move: DouShouQiModel.Move?) async throws + #endif + @objc deinit +} +public struct ClassicRules : DouShouQiModel.Rules { + public static func createBoard() -> DouShouQiModel.Board + public static func checkBoard(_ board: DouShouQiModel.Board) throws + public init() + public init(occurences: [DouShouQiModel.Board : Swift.Int], historic: [DouShouQiModel.Move]) + public func getMoves(in board: DouShouQiModel.Board, of owner: DouShouQiModel.Owner) -> [DouShouQiModel.Move] + public func getMoves(in board: DouShouQiModel.Board, of owner: DouShouQiModel.Owner, fromRow row: Swift.Int, andColumn col: Swift.Int) -> [DouShouQiModel.Move] + public func isMoveValid(onBoard board: DouShouQiModel.Board, fromRow originRow: Swift.Int, andFromColumn originColumn: Swift.Int, toRow destinationRow: Swift.Int, andToColumn destinationColumn: Swift.Int) -> Swift.Bool + public func isMoveValid(onBoard board: DouShouQiModel.Board, withMove move: DouShouQiModel.Move) -> Swift.Bool + public func isGameOver(withBoard board: DouShouQiModel.Board, andLastRowPlayed lastRow: Swift.Int, andLastColumnPlayer lastColumn: Swift.Int) -> (Swift.Bool, DouShouQiModel.Result) + public mutating func playedMove(_ move: DouShouQiModel.Move, onStartingBoard board: DouShouQiModel.Board, andResultingBoard resultingBoard: DouShouQiModel.Board) throws + public func getNextPlayer() -> DouShouQiModel.Owner + public var occurences: [DouShouQiModel.Board : Swift.Int] { + get + } + public var historic: [DouShouQiModel.Move] { + get + } +} +public struct Cell : Swift.CustomStringConvertible, Swift.Equatable { + public var description: Swift.String { + get + } + public let cellType: DouShouQiModel.CellType + public let initialOwner: DouShouQiModel.Owner + public var piece: DouShouQiModel.Piece? + public init(ofType cellType: DouShouQiModel.CellType, ownedBy initialOwner: DouShouQiModel.Owner = .noOne, withPiece piece: DouShouQiModel.Piece? = nil) + public static func == (a: DouShouQiModel.Cell, b: DouShouQiModel.Cell) -> Swift.Bool +} +public struct VerySimpleRules : DouShouQiModel.Rules { + public static func createBoard() -> DouShouQiModel.Board + public static func checkBoard(_ board: DouShouQiModel.Board) throws + public init() + public init(occurences: [DouShouQiModel.Board : Swift.Int], historic: [DouShouQiModel.Move]) + public func getMoves(in board: DouShouQiModel.Board, of owner: DouShouQiModel.Owner) -> [DouShouQiModel.Move] + public func getMoves(in board: DouShouQiModel.Board, of owner: DouShouQiModel.Owner, fromRow row: Swift.Int, andColumn col: Swift.Int) -> [DouShouQiModel.Move] + public func isMoveValid(onBoard board: DouShouQiModel.Board, fromRow originRow: Swift.Int, andFromColumn originColumn: Swift.Int, toRow destinationRow: Swift.Int, andToColumn destinationColumn: Swift.Int) -> Swift.Bool + public func isMoveValid(onBoard board: DouShouQiModel.Board, withMove move: DouShouQiModel.Move) -> Swift.Bool + public func isGameOver(withBoard board: DouShouQiModel.Board, andLastRowPlayed lastRow: Swift.Int, andLastColumnPlayer lastColumn: Swift.Int) -> (Swift.Bool, DouShouQiModel.Result) + public mutating func playedMove(_ move: DouShouQiModel.Move, onStartingBoard board: DouShouQiModel.Board, andResultingBoard resultingBoard: DouShouQiModel.Board) throws + public func getNextPlayer() -> DouShouQiModel.Owner + public var occurences: [DouShouQiModel.Board : Swift.Int] { + get + } + public var historic: [DouShouQiModel.Move] { + get + } +} +public protocol Rules { + static func createBoard() -> DouShouQiModel.Board + static func checkBoard(_ board: DouShouQiModel.Board) throws + func getNextPlayer() -> DouShouQiModel.Owner + func getMoves(in board: DouShouQiModel.Board, of: DouShouQiModel.Owner) -> [DouShouQiModel.Move] + func getMoves(in board: DouShouQiModel.Board, of: DouShouQiModel.Owner, fromRow row: Swift.Int, andColumn col: Swift.Int) -> [DouShouQiModel.Move] + func isMoveValid(onBoard: DouShouQiModel.Board, fromRow: Swift.Int, andFromColumn: Swift.Int, toRow: Swift.Int, andToColumn: Swift.Int) -> Swift.Bool + func isMoveValid(onBoard: DouShouQiModel.Board, withMove move: DouShouQiModel.Move) -> Swift.Bool + func isGameOver(withBoard: DouShouQiModel.Board, andLastRowPlayed: Swift.Int, andLastColumnPlayer: Swift.Int) -> (Swift.Bool, DouShouQiModel.Result) + mutating func playedMove(_ move: DouShouQiModel.Move, onStartingBoard board: DouShouQiModel.Board, andResultingBoard resultingBoard: DouShouQiModel.Board) throws + var occurences: [DouShouQiModel.Board : Swift.Int] { get } + var historic: [DouShouQiModel.Move] { get } +} +public class Player { + final public let name: Swift.String + final public let id: DouShouQiModel.Owner + public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner) + #if compiler(>=5.3) && $AsyncAwait + public func chooseMove(in board: DouShouQiModel.Board, with rules: any DouShouQiModel.Rules) async throws + #endif + #if compiler(>=5.3) && $AsyncAwait + public func addPlayedCallbacksListener(_ listener: @escaping (DouShouQiModel.Move?, DouShouQiModel.Player) async throws -> Swift.Void) + #endif + #if compiler(>=5.3) && $AsyncAwait + public func notifyPlayed(withMove move: DouShouQiModel.Move?, andPlayer player: DouShouQiModel.Player) async throws + #endif + @objc deinit +} +public enum GameError : Swift.Error { + case invalidMove, nextPlayerError, badPlayerId(message: Swift.String), invalidRules, invalidPlayer, invalidGame, invalidBoard +} +@_inheritsConvenienceInitializers public class RandomPlayer : DouShouQiModel.IAPlayer { + #if compiler(>=5.3) && $AsyncAwait + override public func chooseMove(in board: DouShouQiModel.Board, with rules: any DouShouQiModel.Rules) async throws + #endif + override public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner) + @objc deinit +} +public enum CellType : Swift.CaseIterable { + case unknown, jungle, water, trap, den + public static func == (a: DouShouQiModel.CellType, b: DouShouQiModel.CellType) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public typealias AllCases = [DouShouQiModel.CellType] + public static var allCases: [DouShouQiModel.CellType] { + get + } + public var hashValue: Swift.Int { + get + } +} +public struct Board : Swift.Hashable { + public func hash(into hasher: inout Swift.Hasher) + public let nbRows: Swift.Int + public let nbColumns: Swift.Int + public var grid: [[DouShouQiModel.Cell]] { + get + } + public init?(withGrid grid: [[DouShouQiModel.Cell]]) + public func countPieces(of owner: DouShouQiModel.Owner) -> Swift.Int + public func countPieces() -> (nbOfPiecesOfPlayer1: Swift.Int, nbOfPiecesOfPlayer2: Swift.Int) + public mutating func insert(piece: DouShouQiModel.Piece, atRow row: Swift.Int, andColumn column: Swift.Int) -> DouShouQiModel.BoardResult + public mutating func removePiece(atRow row: Swift.Int, andColumn column: Swift.Int) -> DouShouQiModel.BoardResult + public static func == (a: DouShouQiModel.Board, b: DouShouQiModel.Board) -> Swift.Bool + public var hashValue: Swift.Int { + get + } +} +public struct Piece : Swift.CustomStringConvertible, Swift.Hashable { + public var description: Swift.String { + get + } + public let owner: DouShouQiModel.Owner + public let animal: DouShouQiModel.Animal + public init(withOwner owner: DouShouQiModel.Owner, andAnimal animal: DouShouQiModel.Animal) + public func hash(into hasher: inout Swift.Hasher) + public static func == (a: DouShouQiModel.Piece, b: DouShouQiModel.Piece) -> Swift.Bool + public var hashValue: Swift.Int { + get + } +} +public enum InvalidBoardError : Swift.Error, Swift.Equatable { + case unknownError + case badDimensions(nbRows: Swift.Int, nbColumns: Swift.Int) + case badCellType(cellType: DouShouQiModel.CellType, row: Swift.Int, column: Swift.Int) + case multipleOccurenceOfSamePiece(piece: DouShouQiModel.Piece) + case pieceWithNoOwner(piece: DouShouQiModel.Piece) + case pieceNotAllowedOnThisCell(piece: DouShouQiModel.Piece, cell: DouShouQiModel.Cell) + public static func == (a: DouShouQiModel.InvalidBoardError, b: DouShouQiModel.InvalidBoardError) -> Swift.Bool +} +public enum Owner { + case noOne, player1, player2 + public var simpleDescription: Swift.String { + get + } + public static func == (a: DouShouQiModel.Owner, b: DouShouQiModel.Owner) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +@_inheritsConvenienceInitializers public class IAPlayer : DouShouQiModel.Player { + override public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner) + @objc deinit +} +public struct Move : Swift.CustomStringConvertible, Swift.Equatable { + public let owner: DouShouQiModel.Owner + public let rowOrigin: Swift.Int + public let columnOrigin: Swift.Int + public let rowDestination: Swift.Int + public let columnDestination: Swift.Int + public init(of owner: DouShouQiModel.Owner, fromRow rowOrigin: Swift.Int, andFromColumn colOrigin: Swift.Int, toRow rowDest: Swift.Int, andToColumn colDest: Swift.Int) + public var description: Swift.String { + get + } + public static func == (a: DouShouQiModel.Move, b: DouShouQiModel.Move) -> Swift.Bool +} +public enum Animal : Swift.Int { + case rat, cat, dog, wolf, leopard, tiger, lion, elephant + public init?(rawValue: Swift.Int) + public typealias RawValue = Swift.Int + public var rawValue: Swift.Int { + get + } +} +public class Game { + public var board: DouShouQiModel.Board { + get + } + public var rules: any DouShouQiModel.Rules { + get + } + final public let players: [DouShouQiModel.Owner : DouShouQiModel.Player] + public init(withRules rules: any DouShouQiModel.Rules, andPlayer1 player1: DouShouQiModel.Player, andPlayer2 player2: DouShouQiModel.Player) throws + public init(withBoard board: DouShouQiModel.Board, andRules rules: any DouShouQiModel.Rules, andPlayer1 player1: DouShouQiModel.Player, andPlayer2 player2: DouShouQiModel.Player) throws + public func addGameStartedListener(_ listener: @escaping (DouShouQiModel.Board) -> Swift.Void) + #if compiler(>=5.3) && $AsyncAwait + public func addPlayerNotifiedListener(_ listener: @escaping (DouShouQiModel.Board, DouShouQiModel.Player) async throws -> Swift.Void) + #endif + #if compiler(>=5.3) && $AsyncAwait + public func addGameChangedListener(_ listener: @escaping (DouShouQiModel.Game) async -> Swift.Void) + #endif + public func addGameOverListener(_ listener: @escaping (DouShouQiModel.Board, DouShouQiModel.Result, DouShouQiModel.Player?) -> Swift.Void) + public func addMoveChosenCallbacksListener(_ listener: @escaping (DouShouQiModel.Board, DouShouQiModel.Move, DouShouQiModel.Player) -> Swift.Void) + public func addInvalidMoveCallbacksListener(_ listener: @escaping (DouShouQiModel.Board, DouShouQiModel.Move, DouShouQiModel.Player, Swift.Bool) -> Swift.Void) + public func addBoardChangedListener(_ listener: @escaping (DouShouQiModel.Board) -> Swift.Void) + public func addPieceRemovedListener(_ listener: @escaping (Swift.Int, Swift.Int, DouShouQiModel.Piece) -> Swift.Void) + #if compiler(>=5.3) && $AsyncAwait + public func onPlayed(with move: DouShouQiModel.Move?, from player: DouShouQiModel.Player) async throws + #endif + public var isOver: Swift.Bool { + get + } + #if compiler(>=5.3) && $AsyncAwait + public func start() async throws + #endif + @objc deinit +} +extension DouShouQiModel.WinningReason : Swift.Equatable {} +extension DouShouQiModel.WinningReason : Swift.Hashable {} +extension DouShouQiModel.BoardFailingReason : Swift.Equatable {} +extension DouShouQiModel.BoardFailingReason : Swift.Hashable {} +extension DouShouQiModel.CellType : Swift.Equatable {} +extension DouShouQiModel.CellType : Swift.Hashable {} +extension DouShouQiModel.Owner : Swift.Equatable {} +extension DouShouQiModel.Owner : Swift.Hashable {} +extension DouShouQiModel.Animal : Swift.Equatable {} +extension DouShouQiModel.Animal : Swift.Hashable {} +extension DouShouQiModel.Animal : Swift.RawRepresentable {} diff --git a/NEPASTOUCHER/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/arm64-apple-ios-simulator.swiftdoc b/NEPASTOUCHER/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/arm64-apple-ios-simulator.swiftdoc new file mode 100644 index 0000000..afa4fb6 Binary files /dev/null and b/NEPASTOUCHER/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/arm64-apple-ios-simulator.swiftdoc differ diff --git a/NEPASTOUCHER/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/arm64-apple-ios-simulator.swiftinterface b/NEPASTOUCHER/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/arm64-apple-ios-simulator.swiftinterface new file mode 100644 index 0000000..d1cea63 --- /dev/null +++ b/NEPASTOUCHER/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/arm64-apple-ios-simulator.swiftinterface @@ -0,0 +1,266 @@ +// swift-interface-format-version: 1.0 +// swift-compiler-version: Apple Swift version 5.9.2 (swiftlang-5.9.2.2.56 clang-1500.1.0.2.5) +// swift-module-flags: -target arm64-apple-ios16.0-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name DouShouQiModel +// swift-module-flags-ignorable: -enable-bare-slash-regex +@_exported import DouShouQiModel +import Foundation +import Swift +import _Concurrency +import _StringProcessing +import _SwiftConcurrencyShims +public enum Result : Swift.Equatable { + case notFinished + case even + case winner(winner: DouShouQiModel.Owner, reason: DouShouQiModel.WinningReason) + public static func == (a: DouShouQiModel.Result, b: DouShouQiModel.Result) -> Swift.Bool +} +public enum WinningReason { + case denReached, noMorePieces, tooManyOccurences, noMovesLeft + public static func == (a: DouShouQiModel.WinningReason, b: DouShouQiModel.WinningReason) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +public enum BoardResult : Swift.Equatable { + case unknown + case ok(piece: DouShouQiModel.Piece?) + case failed(reason: DouShouQiModel.BoardFailingReason) + public static func == (a: DouShouQiModel.BoardResult, b: DouShouQiModel.BoardResult) -> Swift.Bool +} +public enum BoardFailingReason { + case unknown, outOfBounds, cellNotEmpty, cellEmpty + public static func == (a: DouShouQiModel.BoardFailingReason, b: DouShouQiModel.BoardFailingReason) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +@_inheritsConvenienceInitializers public class HumanPlayer : DouShouQiModel.Player { + public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner, andInputMethod input: @escaping (_ hp: DouShouQiModel.HumanPlayer) -> DouShouQiModel.Move?) + override public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner) + #if compiler(>=5.3) && $AsyncAwait + override public func chooseMove(in board: DouShouQiModel.Board, with rules: any DouShouQiModel.Rules) async throws + #endif + public func changeInput(input: @escaping (_ hp: DouShouQiModel.HumanPlayer) -> DouShouQiModel.Move?) + #if compiler(>=5.3) && $AsyncAwait + public func chooseMove(_ move: DouShouQiModel.Move?) async throws + #endif + @objc deinit +} +public struct ClassicRules : DouShouQiModel.Rules { + public static func createBoard() -> DouShouQiModel.Board + public static func checkBoard(_ board: DouShouQiModel.Board) throws + public init() + public init(occurences: [DouShouQiModel.Board : Swift.Int], historic: [DouShouQiModel.Move]) + public func getMoves(in board: DouShouQiModel.Board, of owner: DouShouQiModel.Owner) -> [DouShouQiModel.Move] + public func getMoves(in board: DouShouQiModel.Board, of owner: DouShouQiModel.Owner, fromRow row: Swift.Int, andColumn col: Swift.Int) -> [DouShouQiModel.Move] + public func isMoveValid(onBoard board: DouShouQiModel.Board, fromRow originRow: Swift.Int, andFromColumn originColumn: Swift.Int, toRow destinationRow: Swift.Int, andToColumn destinationColumn: Swift.Int) -> Swift.Bool + public func isMoveValid(onBoard board: DouShouQiModel.Board, withMove move: DouShouQiModel.Move) -> Swift.Bool + public func isGameOver(withBoard board: DouShouQiModel.Board, andLastRowPlayed lastRow: Swift.Int, andLastColumnPlayer lastColumn: Swift.Int) -> (Swift.Bool, DouShouQiModel.Result) + public mutating func playedMove(_ move: DouShouQiModel.Move, onStartingBoard board: DouShouQiModel.Board, andResultingBoard resultingBoard: DouShouQiModel.Board) throws + public func getNextPlayer() -> DouShouQiModel.Owner + public var occurences: [DouShouQiModel.Board : Swift.Int] { + get + } + public var historic: [DouShouQiModel.Move] { + get + } +} +public struct Cell : Swift.CustomStringConvertible, Swift.Equatable { + public var description: Swift.String { + get + } + public let cellType: DouShouQiModel.CellType + public let initialOwner: DouShouQiModel.Owner + public var piece: DouShouQiModel.Piece? + public init(ofType cellType: DouShouQiModel.CellType, ownedBy initialOwner: DouShouQiModel.Owner = .noOne, withPiece piece: DouShouQiModel.Piece? = nil) + public static func == (a: DouShouQiModel.Cell, b: DouShouQiModel.Cell) -> Swift.Bool +} +public struct VerySimpleRules : DouShouQiModel.Rules { + public static func createBoard() -> DouShouQiModel.Board + public static func checkBoard(_ board: DouShouQiModel.Board) throws + public init() + public init(occurences: [DouShouQiModel.Board : Swift.Int], historic: [DouShouQiModel.Move]) + public func getMoves(in board: DouShouQiModel.Board, of owner: DouShouQiModel.Owner) -> [DouShouQiModel.Move] + public func getMoves(in board: DouShouQiModel.Board, of owner: DouShouQiModel.Owner, fromRow row: Swift.Int, andColumn col: Swift.Int) -> [DouShouQiModel.Move] + public func isMoveValid(onBoard board: DouShouQiModel.Board, fromRow originRow: Swift.Int, andFromColumn originColumn: Swift.Int, toRow destinationRow: Swift.Int, andToColumn destinationColumn: Swift.Int) -> Swift.Bool + public func isMoveValid(onBoard board: DouShouQiModel.Board, withMove move: DouShouQiModel.Move) -> Swift.Bool + public func isGameOver(withBoard board: DouShouQiModel.Board, andLastRowPlayed lastRow: Swift.Int, andLastColumnPlayer lastColumn: Swift.Int) -> (Swift.Bool, DouShouQiModel.Result) + public mutating func playedMove(_ move: DouShouQiModel.Move, onStartingBoard board: DouShouQiModel.Board, andResultingBoard resultingBoard: DouShouQiModel.Board) throws + public func getNextPlayer() -> DouShouQiModel.Owner + public var occurences: [DouShouQiModel.Board : Swift.Int] { + get + } + public var historic: [DouShouQiModel.Move] { + get + } +} +public protocol Rules { + static func createBoard() -> DouShouQiModel.Board + static func checkBoard(_ board: DouShouQiModel.Board) throws + func getNextPlayer() -> DouShouQiModel.Owner + func getMoves(in board: DouShouQiModel.Board, of: DouShouQiModel.Owner) -> [DouShouQiModel.Move] + func getMoves(in board: DouShouQiModel.Board, of: DouShouQiModel.Owner, fromRow row: Swift.Int, andColumn col: Swift.Int) -> [DouShouQiModel.Move] + func isMoveValid(onBoard: DouShouQiModel.Board, fromRow: Swift.Int, andFromColumn: Swift.Int, toRow: Swift.Int, andToColumn: Swift.Int) -> Swift.Bool + func isMoveValid(onBoard: DouShouQiModel.Board, withMove move: DouShouQiModel.Move) -> Swift.Bool + func isGameOver(withBoard: DouShouQiModel.Board, andLastRowPlayed: Swift.Int, andLastColumnPlayer: Swift.Int) -> (Swift.Bool, DouShouQiModel.Result) + mutating func playedMove(_ move: DouShouQiModel.Move, onStartingBoard board: DouShouQiModel.Board, andResultingBoard resultingBoard: DouShouQiModel.Board) throws + var occurences: [DouShouQiModel.Board : Swift.Int] { get } + var historic: [DouShouQiModel.Move] { get } +} +public class Player { + final public let name: Swift.String + final public let id: DouShouQiModel.Owner + public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner) + #if compiler(>=5.3) && $AsyncAwait + public func chooseMove(in board: DouShouQiModel.Board, with rules: any DouShouQiModel.Rules) async throws + #endif + #if compiler(>=5.3) && $AsyncAwait + public func addPlayedCallbacksListener(_ listener: @escaping (DouShouQiModel.Move?, DouShouQiModel.Player) async throws -> Swift.Void) + #endif + #if compiler(>=5.3) && $AsyncAwait + public func notifyPlayed(withMove move: DouShouQiModel.Move?, andPlayer player: DouShouQiModel.Player) async throws + #endif + @objc deinit +} +public enum GameError : Swift.Error { + case invalidMove, nextPlayerError, badPlayerId(message: Swift.String), invalidRules, invalidPlayer, invalidGame, invalidBoard +} +@_inheritsConvenienceInitializers public class RandomPlayer : DouShouQiModel.IAPlayer { + #if compiler(>=5.3) && $AsyncAwait + override public func chooseMove(in board: DouShouQiModel.Board, with rules: any DouShouQiModel.Rules) async throws + #endif + override public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner) + @objc deinit +} +public enum CellType : Swift.CaseIterable { + case unknown, jungle, water, trap, den + public static func == (a: DouShouQiModel.CellType, b: DouShouQiModel.CellType) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public typealias AllCases = [DouShouQiModel.CellType] + public static var allCases: [DouShouQiModel.CellType] { + get + } + public var hashValue: Swift.Int { + get + } +} +public struct Board : Swift.Hashable { + public func hash(into hasher: inout Swift.Hasher) + public let nbRows: Swift.Int + public let nbColumns: Swift.Int + public var grid: [[DouShouQiModel.Cell]] { + get + } + public init?(withGrid grid: [[DouShouQiModel.Cell]]) + public func countPieces(of owner: DouShouQiModel.Owner) -> Swift.Int + public func countPieces() -> (nbOfPiecesOfPlayer1: Swift.Int, nbOfPiecesOfPlayer2: Swift.Int) + public mutating func insert(piece: DouShouQiModel.Piece, atRow row: Swift.Int, andColumn column: Swift.Int) -> DouShouQiModel.BoardResult + public mutating func removePiece(atRow row: Swift.Int, andColumn column: Swift.Int) -> DouShouQiModel.BoardResult + public static func == (a: DouShouQiModel.Board, b: DouShouQiModel.Board) -> Swift.Bool + public var hashValue: Swift.Int { + get + } +} +public struct Piece : Swift.CustomStringConvertible, Swift.Hashable { + public var description: Swift.String { + get + } + public let owner: DouShouQiModel.Owner + public let animal: DouShouQiModel.Animal + public init(withOwner owner: DouShouQiModel.Owner, andAnimal animal: DouShouQiModel.Animal) + public func hash(into hasher: inout Swift.Hasher) + public static func == (a: DouShouQiModel.Piece, b: DouShouQiModel.Piece) -> Swift.Bool + public var hashValue: Swift.Int { + get + } +} +public enum InvalidBoardError : Swift.Error, Swift.Equatable { + case unknownError + case badDimensions(nbRows: Swift.Int, nbColumns: Swift.Int) + case badCellType(cellType: DouShouQiModel.CellType, row: Swift.Int, column: Swift.Int) + case multipleOccurenceOfSamePiece(piece: DouShouQiModel.Piece) + case pieceWithNoOwner(piece: DouShouQiModel.Piece) + case pieceNotAllowedOnThisCell(piece: DouShouQiModel.Piece, cell: DouShouQiModel.Cell) + public static func == (a: DouShouQiModel.InvalidBoardError, b: DouShouQiModel.InvalidBoardError) -> Swift.Bool +} +public enum Owner { + case noOne, player1, player2 + public var simpleDescription: Swift.String { + get + } + public static func == (a: DouShouQiModel.Owner, b: DouShouQiModel.Owner) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +@_inheritsConvenienceInitializers public class IAPlayer : DouShouQiModel.Player { + override public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner) + @objc deinit +} +public struct Move : Swift.CustomStringConvertible, Swift.Equatable { + public let owner: DouShouQiModel.Owner + public let rowOrigin: Swift.Int + public let columnOrigin: Swift.Int + public let rowDestination: Swift.Int + public let columnDestination: Swift.Int + public init(of owner: DouShouQiModel.Owner, fromRow rowOrigin: Swift.Int, andFromColumn colOrigin: Swift.Int, toRow rowDest: Swift.Int, andToColumn colDest: Swift.Int) + public var description: Swift.String { + get + } + public static func == (a: DouShouQiModel.Move, b: DouShouQiModel.Move) -> Swift.Bool +} +public enum Animal : Swift.Int { + case rat, cat, dog, wolf, leopard, tiger, lion, elephant + public init?(rawValue: Swift.Int) + public typealias RawValue = Swift.Int + public var rawValue: Swift.Int { + get + } +} +public class Game { + public var board: DouShouQiModel.Board { + get + } + public var rules: any DouShouQiModel.Rules { + get + } + final public let players: [DouShouQiModel.Owner : DouShouQiModel.Player] + public init(withRules rules: any DouShouQiModel.Rules, andPlayer1 player1: DouShouQiModel.Player, andPlayer2 player2: DouShouQiModel.Player) throws + public init(withBoard board: DouShouQiModel.Board, andRules rules: any DouShouQiModel.Rules, andPlayer1 player1: DouShouQiModel.Player, andPlayer2 player2: DouShouQiModel.Player) throws + public func addGameStartedListener(_ listener: @escaping (DouShouQiModel.Board) -> Swift.Void) + #if compiler(>=5.3) && $AsyncAwait + public func addPlayerNotifiedListener(_ listener: @escaping (DouShouQiModel.Board, DouShouQiModel.Player) async throws -> Swift.Void) + #endif + #if compiler(>=5.3) && $AsyncAwait + public func addGameChangedListener(_ listener: @escaping (DouShouQiModel.Game) async -> Swift.Void) + #endif + public func addGameOverListener(_ listener: @escaping (DouShouQiModel.Board, DouShouQiModel.Result, DouShouQiModel.Player?) -> Swift.Void) + public func addMoveChosenCallbacksListener(_ listener: @escaping (DouShouQiModel.Board, DouShouQiModel.Move, DouShouQiModel.Player) -> Swift.Void) + public func addInvalidMoveCallbacksListener(_ listener: @escaping (DouShouQiModel.Board, DouShouQiModel.Move, DouShouQiModel.Player, Swift.Bool) -> Swift.Void) + public func addBoardChangedListener(_ listener: @escaping (DouShouQiModel.Board) -> Swift.Void) + public func addPieceRemovedListener(_ listener: @escaping (Swift.Int, Swift.Int, DouShouQiModel.Piece) -> Swift.Void) + #if compiler(>=5.3) && $AsyncAwait + public func onPlayed(with move: DouShouQiModel.Move?, from player: DouShouQiModel.Player) async throws + #endif + public var isOver: Swift.Bool { + get + } + #if compiler(>=5.3) && $AsyncAwait + public func start() async throws + #endif + @objc deinit +} +extension DouShouQiModel.WinningReason : Swift.Equatable {} +extension DouShouQiModel.WinningReason : Swift.Hashable {} +extension DouShouQiModel.BoardFailingReason : Swift.Equatable {} +extension DouShouQiModel.BoardFailingReason : Swift.Hashable {} +extension DouShouQiModel.CellType : Swift.Equatable {} +extension DouShouQiModel.CellType : Swift.Hashable {} +extension DouShouQiModel.Owner : Swift.Equatable {} +extension DouShouQiModel.Owner : Swift.Hashable {} +extension DouShouQiModel.Animal : Swift.Equatable {} +extension DouShouQiModel.Animal : Swift.Hashable {} +extension DouShouQiModel.Animal : Swift.RawRepresentable {} diff --git a/NEPASTOUCHER/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/x86_64-apple-ios-simulator.abi.json b/NEPASTOUCHER/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/x86_64-apple-ios-simulator.abi.json new file mode 100644 index 0000000..c28e9fd --- /dev/null +++ b/NEPASTOUCHER/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/x86_64-apple-ios-simulator.abi.json @@ -0,0 +1,8546 @@ +{ + "ABIRoot": { + "kind": "Root", + "name": "TopLevel", + "printedName": "TopLevel", + "children": [ + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel" + }, + { + "kind": "TypeDecl", + "name": "Result", + "printedName": "Result", + "children": [ + { + "kind": "Var", + "name": "notFinished", + "printedName": "notFinished", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Result.Type) -> DouShouQiModel.Result", + "children": [ + { + "kind": "TypeNominal", + "name": "Result", + "printedName": "DouShouQiModel.Result", + "usr": "s:14DouShouQiModel6ResultO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.Result.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "Result", + "printedName": "DouShouQiModel.Result", + "usr": "s:14DouShouQiModel6ResultO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel6ResultO11notFinishedyA2CmF", + "mangledName": "$s14DouShouQiModel6ResultO11notFinishedyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "even", + "printedName": "even", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Result.Type) -> DouShouQiModel.Result", + "children": [ + { + "kind": "TypeNominal", + "name": "Result", + "printedName": "DouShouQiModel.Result", + "usr": "s:14DouShouQiModel6ResultO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.Result.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "Result", + "printedName": "DouShouQiModel.Result", + "usr": "s:14DouShouQiModel6ResultO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel6ResultO4evenyA2CmF", + "mangledName": "$s14DouShouQiModel6ResultO4evenyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "winner", + "printedName": "winner", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Result.Type) -> (DouShouQiModel.Owner, DouShouQiModel.WinningReason) -> DouShouQiModel.Result", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Owner, DouShouQiModel.WinningReason) -> DouShouQiModel.Result", + "children": [ + { + "kind": "TypeNominal", + "name": "Result", + "printedName": "DouShouQiModel.Result", + "usr": "s:14DouShouQiModel6ResultO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(winner: DouShouQiModel.Owner, reason: DouShouQiModel.WinningReason)", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + }, + { + "kind": "TypeNominal", + "name": "WinningReason", + "printedName": "DouShouQiModel.WinningReason", + "usr": "s:14DouShouQiModel13WinningReasonO" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.Result.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "Result", + "printedName": "DouShouQiModel.Result", + "usr": "s:14DouShouQiModel6ResultO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel6ResultO6winneryAcA5OwnerO_AA13WinningReasonOtcACmF", + "mangledName": "$s14DouShouQiModel6ResultO6winneryAcA5OwnerO_AA13WinningReasonOtcACmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Result", + "printedName": "DouShouQiModel.Result", + "usr": "s:14DouShouQiModel6ResultO" + }, + { + "kind": "TypeNominal", + "name": "Result", + "printedName": "DouShouQiModel.Result", + "usr": "s:14DouShouQiModel6ResultO" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel6ResultO2eeoiySbAC_ACtFZ", + "mangledName": "$s14DouShouQiModel6ResultO2eeoiySbAC_ACtFZ", + "moduleName": "DouShouQiModel", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Enum", + "usr": "s:14DouShouQiModel6ResultO", + "mangledName": "$s14DouShouQiModel6ResultO", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + } + ] + }, + { + "kind": "TypeDecl", + "name": "WinningReason", + "printedName": "WinningReason", + "children": [ + { + "kind": "Var", + "name": "denReached", + "printedName": "denReached", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.WinningReason.Type) -> DouShouQiModel.WinningReason", + "children": [ + { + "kind": "TypeNominal", + "name": "WinningReason", + "printedName": "DouShouQiModel.WinningReason", + "usr": "s:14DouShouQiModel13WinningReasonO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.WinningReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "WinningReason", + "printedName": "DouShouQiModel.WinningReason", + "usr": "s:14DouShouQiModel13WinningReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel13WinningReasonO10denReachedyA2CmF", + "mangledName": "$s14DouShouQiModel13WinningReasonO10denReachedyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "noMorePieces", + "printedName": "noMorePieces", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.WinningReason.Type) -> DouShouQiModel.WinningReason", + "children": [ + { + "kind": "TypeNominal", + "name": "WinningReason", + "printedName": "DouShouQiModel.WinningReason", + "usr": "s:14DouShouQiModel13WinningReasonO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.WinningReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "WinningReason", + "printedName": "DouShouQiModel.WinningReason", + "usr": "s:14DouShouQiModel13WinningReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel13WinningReasonO12noMorePiecesyA2CmF", + "mangledName": "$s14DouShouQiModel13WinningReasonO12noMorePiecesyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "tooManyOccurences", + "printedName": "tooManyOccurences", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.WinningReason.Type) -> DouShouQiModel.WinningReason", + "children": [ + { + "kind": "TypeNominal", + "name": "WinningReason", + "printedName": "DouShouQiModel.WinningReason", + "usr": "s:14DouShouQiModel13WinningReasonO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.WinningReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "WinningReason", + "printedName": "DouShouQiModel.WinningReason", + "usr": "s:14DouShouQiModel13WinningReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel13WinningReasonO17tooManyOccurencesyA2CmF", + "mangledName": "$s14DouShouQiModel13WinningReasonO17tooManyOccurencesyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "noMovesLeft", + "printedName": "noMovesLeft", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.WinningReason.Type) -> DouShouQiModel.WinningReason", + "children": [ + { + "kind": "TypeNominal", + "name": "WinningReason", + "printedName": "DouShouQiModel.WinningReason", + "usr": "s:14DouShouQiModel13WinningReasonO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.WinningReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "WinningReason", + "printedName": "DouShouQiModel.WinningReason", + "usr": "s:14DouShouQiModel13WinningReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel13WinningReasonO11noMovesLeftyA2CmF", + "mangledName": "$s14DouShouQiModel13WinningReasonO11noMovesLeftyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "WinningReason", + "printedName": "DouShouQiModel.WinningReason", + "usr": "s:14DouShouQiModel13WinningReasonO" + }, + { + "kind": "TypeNominal", + "name": "WinningReason", + "printedName": "DouShouQiModel.WinningReason", + "usr": "s:14DouShouQiModel13WinningReasonO" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel13WinningReasonO2eeoiySbAC_ACtFZ", + "mangledName": "$s14DouShouQiModel13WinningReasonO2eeoiySbAC_ACtFZ", + "moduleName": "DouShouQiModel", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel13WinningReasonO9hashValueSivp", + "mangledName": "$s14DouShouQiModel13WinningReasonO9hashValueSivp", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel13WinningReasonO9hashValueSivg", + "mangledName": "$s14DouShouQiModel13WinningReasonO9hashValueSivg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel13WinningReasonO4hash4intoys6HasherVz_tF", + "mangledName": "$s14DouShouQiModel13WinningReasonO4hash4intoys6HasherVz_tF", + "moduleName": "DouShouQiModel", + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Enum", + "usr": "s:14DouShouQiModel13WinningReasonO", + "mangledName": "$s14DouShouQiModel13WinningReasonO", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel" + }, + { + "kind": "TypeDecl", + "name": "BoardResult", + "printedName": "BoardResult", + "children": [ + { + "kind": "Var", + "name": "unknown", + "printedName": "unknown", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.BoardResult.Type) -> DouShouQiModel.BoardResult", + "children": [ + { + "kind": "TypeNominal", + "name": "BoardResult", + "printedName": "DouShouQiModel.BoardResult", + "usr": "s:14DouShouQiModel11BoardResultO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.BoardResult.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "BoardResult", + "printedName": "DouShouQiModel.BoardResult", + "usr": "s:14DouShouQiModel11BoardResultO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel11BoardResultO7unknownyA2CmF", + "mangledName": "$s14DouShouQiModel11BoardResultO7unknownyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "ok", + "printedName": "ok", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.BoardResult.Type) -> (DouShouQiModel.Piece?) -> DouShouQiModel.BoardResult", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Piece?) -> DouShouQiModel.BoardResult", + "children": [ + { + "kind": "TypeNominal", + "name": "BoardResult", + "printedName": "DouShouQiModel.BoardResult", + "usr": "s:14DouShouQiModel11BoardResultO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(piece: DouShouQiModel.Piece?)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.Piece?", + "children": [ + { + "kind": "TypeNominal", + "name": "Piece", + "printedName": "DouShouQiModel.Piece", + "usr": "s:14DouShouQiModel5PieceV" + } + ], + "usr": "s:Sq" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.BoardResult.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "BoardResult", + "printedName": "DouShouQiModel.BoardResult", + "usr": "s:14DouShouQiModel11BoardResultO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel11BoardResultO2okyAcA5PieceVSg_tcACmF", + "mangledName": "$s14DouShouQiModel11BoardResultO2okyAcA5PieceVSg_tcACmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "failed", + "printedName": "failed", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.BoardResult.Type) -> (DouShouQiModel.BoardFailingReason) -> DouShouQiModel.BoardResult", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.BoardFailingReason) -> DouShouQiModel.BoardResult", + "children": [ + { + "kind": "TypeNominal", + "name": "BoardResult", + "printedName": "DouShouQiModel.BoardResult", + "usr": "s:14DouShouQiModel11BoardResultO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(reason: DouShouQiModel.BoardFailingReason)", + "children": [ + { + "kind": "TypeNominal", + "name": "BoardFailingReason", + "printedName": "DouShouQiModel.BoardFailingReason", + "usr": "s:14DouShouQiModel18BoardFailingReasonO" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.BoardResult.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "BoardResult", + "printedName": "DouShouQiModel.BoardResult", + "usr": "s:14DouShouQiModel11BoardResultO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel11BoardResultO6failedyAcA0E13FailingReasonO_tcACmF", + "mangledName": "$s14DouShouQiModel11BoardResultO6failedyAcA0E13FailingReasonO_tcACmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "BoardResult", + "printedName": "DouShouQiModel.BoardResult", + "usr": "s:14DouShouQiModel11BoardResultO" + }, + { + "kind": "TypeNominal", + "name": "BoardResult", + "printedName": "DouShouQiModel.BoardResult", + "usr": "s:14DouShouQiModel11BoardResultO" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel11BoardResultO2eeoiySbAC_ACtFZ", + "mangledName": "$s14DouShouQiModel11BoardResultO2eeoiySbAC_ACtFZ", + "moduleName": "DouShouQiModel", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Enum", + "usr": "s:14DouShouQiModel11BoardResultO", + "mangledName": "$s14DouShouQiModel11BoardResultO", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + } + ] + }, + { + "kind": "TypeDecl", + "name": "BoardFailingReason", + "printedName": "BoardFailingReason", + "children": [ + { + "kind": "Var", + "name": "unknown", + "printedName": "unknown", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.BoardFailingReason.Type) -> DouShouQiModel.BoardFailingReason", + "children": [ + { + "kind": "TypeNominal", + "name": "BoardFailingReason", + "printedName": "DouShouQiModel.BoardFailingReason", + "usr": "s:14DouShouQiModel18BoardFailingReasonO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.BoardFailingReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "BoardFailingReason", + "printedName": "DouShouQiModel.BoardFailingReason", + "usr": "s:14DouShouQiModel18BoardFailingReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel18BoardFailingReasonO7unknownyA2CmF", + "mangledName": "$s14DouShouQiModel18BoardFailingReasonO7unknownyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "outOfBounds", + "printedName": "outOfBounds", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.BoardFailingReason.Type) -> DouShouQiModel.BoardFailingReason", + "children": [ + { + "kind": "TypeNominal", + "name": "BoardFailingReason", + "printedName": "DouShouQiModel.BoardFailingReason", + "usr": "s:14DouShouQiModel18BoardFailingReasonO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.BoardFailingReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "BoardFailingReason", + "printedName": "DouShouQiModel.BoardFailingReason", + "usr": "s:14DouShouQiModel18BoardFailingReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel18BoardFailingReasonO11outOfBoundsyA2CmF", + "mangledName": "$s14DouShouQiModel18BoardFailingReasonO11outOfBoundsyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "cellNotEmpty", + "printedName": "cellNotEmpty", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.BoardFailingReason.Type) -> DouShouQiModel.BoardFailingReason", + "children": [ + { + "kind": "TypeNominal", + "name": "BoardFailingReason", + "printedName": "DouShouQiModel.BoardFailingReason", + "usr": "s:14DouShouQiModel18BoardFailingReasonO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.BoardFailingReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "BoardFailingReason", + "printedName": "DouShouQiModel.BoardFailingReason", + "usr": "s:14DouShouQiModel18BoardFailingReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel18BoardFailingReasonO12cellNotEmptyyA2CmF", + "mangledName": "$s14DouShouQiModel18BoardFailingReasonO12cellNotEmptyyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "cellEmpty", + "printedName": "cellEmpty", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.BoardFailingReason.Type) -> DouShouQiModel.BoardFailingReason", + "children": [ + { + "kind": "TypeNominal", + "name": "BoardFailingReason", + "printedName": "DouShouQiModel.BoardFailingReason", + "usr": "s:14DouShouQiModel18BoardFailingReasonO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.BoardFailingReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "BoardFailingReason", + "printedName": "DouShouQiModel.BoardFailingReason", + "usr": "s:14DouShouQiModel18BoardFailingReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel18BoardFailingReasonO9cellEmptyyA2CmF", + "mangledName": "$s14DouShouQiModel18BoardFailingReasonO9cellEmptyyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "BoardFailingReason", + "printedName": "DouShouQiModel.BoardFailingReason", + "usr": "s:14DouShouQiModel18BoardFailingReasonO" + }, + { + "kind": "TypeNominal", + "name": "BoardFailingReason", + "printedName": "DouShouQiModel.BoardFailingReason", + "usr": "s:14DouShouQiModel18BoardFailingReasonO" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel18BoardFailingReasonO2eeoiySbAC_ACtFZ", + "mangledName": "$s14DouShouQiModel18BoardFailingReasonO2eeoiySbAC_ACtFZ", + "moduleName": "DouShouQiModel", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel18BoardFailingReasonO9hashValueSivp", + "mangledName": "$s14DouShouQiModel18BoardFailingReasonO9hashValueSivp", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel18BoardFailingReasonO9hashValueSivg", + "mangledName": "$s14DouShouQiModel18BoardFailingReasonO9hashValueSivg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel18BoardFailingReasonO4hash4intoys6HasherVz_tF", + "mangledName": "$s14DouShouQiModel18BoardFailingReasonO4hash4intoys6HasherVz_tF", + "moduleName": "DouShouQiModel", + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Enum", + "usr": "s:14DouShouQiModel18BoardFailingReasonO", + "mangledName": "$s14DouShouQiModel18BoardFailingReasonO", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel" + }, + { + "kind": "TypeDecl", + "name": "HumanPlayer", + "printedName": "HumanPlayer", + "children": [ + { + "kind": "Constructor", + "name": "init", + "printedName": "init(withName:andId:andInputMethod:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.HumanPlayer?", + "children": [ + { + "kind": "TypeNominal", + "name": "HumanPlayer", + "printedName": "DouShouQiModel.HumanPlayer", + "usr": "s:14DouShouQiModel11HumanPlayerC" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.HumanPlayer) -> DouShouQiModel.Move?", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.Move?", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "HumanPlayer", + "printedName": "DouShouQiModel.HumanPlayer", + "usr": "s:14DouShouQiModel11HumanPlayerC" + } + ] + } + ], + "declKind": "Constructor", + "usr": "s:14DouShouQiModel11HumanPlayerC8withName5andId0I11InputMethodACSgSS_AA5OwnerOAA4MoveVSgACctcfc", + "mangledName": "$s14DouShouQiModel11HumanPlayerC8withName5andId0I11InputMethodACSgSS_AA5OwnerOAA4MoveVSgACctcfc", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(withName:andId:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.HumanPlayer?", + "children": [ + { + "kind": "TypeNominal", + "name": "HumanPlayer", + "printedName": "DouShouQiModel.HumanPlayer", + "usr": "s:14DouShouQiModel11HumanPlayerC" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Constructor", + "usr": "s:14DouShouQiModel11HumanPlayerC8withName5andIdACSgSS_AA5OwnerOtcfc", + "mangledName": "$s14DouShouQiModel11HumanPlayerC8withName5andIdACSgSS_AA5OwnerOtcfc", + "moduleName": "DouShouQiModel", + "overriding": true, + "declAttributes": [ + "Override", + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "chooseMove", + "printedName": "chooseMove(in:with:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Rules", + "printedName": "DouShouQiModel.Rules", + "usr": "s:14DouShouQiModel5RulesP" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel11HumanPlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKF", + "mangledName": "$s14DouShouQiModel11HumanPlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKF", + "moduleName": "DouShouQiModel", + "overriding": true, + "declAttributes": [ + "Override", + "AccessControl" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "changeInput", + "printedName": "changeInput(input:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.HumanPlayer) -> DouShouQiModel.Move?", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.Move?", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "HumanPlayer", + "printedName": "DouShouQiModel.HumanPlayer", + "usr": "s:14DouShouQiModel11HumanPlayerC" + } + ] + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel11HumanPlayerC11changeInput5inputyAA4MoveVSgACc_tF", + "mangledName": "$s14DouShouQiModel11HumanPlayerC11changeInput5inputyAA4MoveVSgACc_tF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "chooseMove", + "printedName": "chooseMove(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.Move?", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel11HumanPlayerC10chooseMoveyyAA0H0VSgYaKF", + "mangledName": "$s14DouShouQiModel11HumanPlayerC10chooseMoveyyAA0H0VSgYaKF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:14DouShouQiModel11HumanPlayerC", + "mangledName": "$s14DouShouQiModel11HumanPlayerC", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "superclassUsr": "s:14DouShouQiModel6PlayerC", + "inheritsConvenienceInitializers": true, + "superclassNames": [ + "DouShouQiModel.Player" + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel" + }, + { + "kind": "TypeDecl", + "name": "ClassicRules", + "printedName": "ClassicRules", + "children": [ + { + "kind": "Function", + "name": "createBoard", + "printedName": "createBoard()", + "children": [ + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel12ClassicRulesV11createBoardAA0H0VyFZ", + "mangledName": "$s14DouShouQiModel12ClassicRulesV11createBoardAA0H0VyFZ", + "moduleName": "DouShouQiModel", + "static": true, + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "checkBoard", + "printedName": "checkBoard(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel12ClassicRulesV10checkBoardyyAA0H0VKFZ", + "mangledName": "$s14DouShouQiModel12ClassicRulesV10checkBoardyyAA0H0VKFZ", + "moduleName": "DouShouQiModel", + "static": true, + "declAttributes": [ + "AccessControl" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init()", + "children": [ + { + "kind": "TypeNominal", + "name": "ClassicRules", + "printedName": "DouShouQiModel.ClassicRules", + "usr": "s:14DouShouQiModel12ClassicRulesV" + } + ], + "declKind": "Constructor", + "usr": "s:14DouShouQiModel12ClassicRulesVACycfc", + "mangledName": "$s14DouShouQiModel12ClassicRulesVACycfc", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(occurences:historic:)", + "children": [ + { + "kind": "TypeNominal", + "name": "ClassicRules", + "printedName": "DouShouQiModel.ClassicRules", + "usr": "s:14DouShouQiModel12ClassicRulesV" + }, + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[DouShouQiModel.Board : Swift.Int]", + "children": [ + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:SD" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.Move]", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Constructor", + "usr": "s:14DouShouQiModel12ClassicRulesV10occurences8historicACSDyAA5BoardVSiG_SayAA4MoveVGtcfc", + "mangledName": "$s14DouShouQiModel12ClassicRulesV10occurences8historicACSDyAA5BoardVSiG_SayAA4MoveVGtcfc", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "getMoves", + "printedName": "getMoves(in:of:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.Move]", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sa" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel12ClassicRulesV8getMoves2in2ofSayAA4MoveVGAA5BoardV_AA5OwnerOtF", + "mangledName": "$s14DouShouQiModel12ClassicRulesV8getMoves2in2ofSayAA4MoveVGAA5BoardV_AA5OwnerOtF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "getMoves", + "printedName": "getMoves(in:of:fromRow:andColumn:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.Move]", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sa" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel12ClassicRulesV8getMoves2in2of7fromRow9andColumnSayAA4MoveVGAA5BoardV_AA5OwnerOS2itF", + "mangledName": "$s14DouShouQiModel12ClassicRulesV8getMoves2in2of7fromRow9andColumnSayAA4MoveVGAA5BoardV_AA5OwnerOS2itF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "isMoveValid", + "printedName": "isMoveValid(onBoard:fromRow:andFromColumn:toRow:andToColumn:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel12ClassicRulesV11isMoveValid7onBoard7fromRow13andFromColumn02toM00n2ToP0SbAA0K0V_S4itF", + "mangledName": "$s14DouShouQiModel12ClassicRulesV11isMoveValid7onBoard7fromRow13andFromColumn02toM00n2ToP0SbAA0K0V_S4itF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "isMoveValid", + "printedName": "isMoveValid(onBoard:withMove:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel12ClassicRulesV11isMoveValid7onBoard04withH0SbAA0K0V_AA0H0VtF", + "mangledName": "$s14DouShouQiModel12ClassicRulesV11isMoveValid7onBoard04withH0SbAA0K0V_AA0H0VtF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "isGameOver", + "printedName": "isGameOver(withBoard:andLastRowPlayed:andLastColumnPlayer:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(Swift.Bool, DouShouQiModel.Result)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Result", + "printedName": "DouShouQiModel.Result", + "usr": "s:14DouShouQiModel6ResultO" + } + ] + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel12ClassicRulesV10isGameOver9withBoard16andLastRowPlayed0lM12ColumnPlayerSb_AA6ResultOtAA0K0V_S2itF", + "mangledName": "$s14DouShouQiModel12ClassicRulesV10isGameOver9withBoard16andLastRowPlayed0lM12ColumnPlayerSb_AA6ResultOtAA0K0V_S2itF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "playedMove", + "printedName": "playedMove(_:onStartingBoard:andResultingBoard:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel12ClassicRulesV10playedMove_15onStartingBoard012andResultingK0yAA0H0V_AA0K0VAJtKF", + "mangledName": "$s14DouShouQiModel12ClassicRulesV10playedMove_15onStartingBoard012andResultingK0yAA0H0V_AA0K0VAJtKF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "Mutating", + "AccessControl" + ], + "throwing": true, + "funcSelfKind": "Mutating" + }, + { + "kind": "Function", + "name": "getNextPlayer", + "printedName": "getNextPlayer()", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel12ClassicRulesV13getNextPlayerAA5OwnerOyF", + "mangledName": "$s14DouShouQiModel12ClassicRulesV13getNextPlayerAA5OwnerOyF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "occurences", + "printedName": "occurences", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[DouShouQiModel.Board : Swift.Int]", + "children": [ + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel12ClassicRulesV10occurencesSDyAA5BoardVSiGvp", + "mangledName": "$s14DouShouQiModel12ClassicRulesV10occurencesSDyAA5BoardVSiGvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "SetterAccess", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[DouShouQiModel.Board : Swift.Int]", + "children": [ + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel12ClassicRulesV10occurencesSDyAA5BoardVSiGvg", + "mangledName": "$s14DouShouQiModel12ClassicRulesV10occurencesSDyAA5BoardVSiGvg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "historic", + "printedName": "historic", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.Move]", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel12ClassicRulesV8historicSayAA4MoveVGvp", + "mangledName": "$s14DouShouQiModel12ClassicRulesV8historicSayAA4MoveVGvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "SetterAccess", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.Move]", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel12ClassicRulesV8historicSayAA4MoveVGvg", + "mangledName": "$s14DouShouQiModel12ClassicRulesV8historicSayAA4MoveVGvg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Struct", + "usr": "s:14DouShouQiModel12ClassicRulesV", + "mangledName": "$s14DouShouQiModel12ClassicRulesV", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Rules", + "printedName": "Rules", + "usr": "s:14DouShouQiModel5RulesP", + "mangledName": "$s14DouShouQiModel5RulesP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel" + }, + { + "kind": "TypeDecl", + "name": "Cell", + "printedName": "Cell", + "children": [ + { + "kind": "Var", + "name": "description", + "printedName": "description", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel4CellV11descriptionSSvp", + "mangledName": "$s14DouShouQiModel4CellV11descriptionSSvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel4CellV11descriptionSSvg", + "mangledName": "$s14DouShouQiModel4CellV11descriptionSSvg", + "moduleName": "DouShouQiModel", + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "cellType", + "printedName": "cellType", + "children": [ + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel4CellV8cellTypeAA0eG0Ovp", + "mangledName": "$s14DouShouQiModel4CellV8cellTypeAA0eG0Ovp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel4CellV8cellTypeAA0eG0Ovg", + "mangledName": "$s14DouShouQiModel4CellV8cellTypeAA0eG0Ovg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "initialOwner", + "printedName": "initialOwner", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel4CellV12initialOwnerAA0G0Ovp", + "mangledName": "$s14DouShouQiModel4CellV12initialOwnerAA0G0Ovp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel4CellV12initialOwnerAA0G0Ovg", + "mangledName": "$s14DouShouQiModel4CellV12initialOwnerAA0G0Ovg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "piece", + "printedName": "piece", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.Piece?", + "children": [ + { + "kind": "TypeNominal", + "name": "Piece", + "printedName": "DouShouQiModel.Piece", + "usr": "s:14DouShouQiModel5PieceV" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel4CellV5pieceAA5PieceVSgvp", + "mangledName": "$s14DouShouQiModel4CellV5pieceAA5PieceVSgvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.Piece?", + "children": [ + { + "kind": "TypeNominal", + "name": "Piece", + "printedName": "DouShouQiModel.Piece", + "usr": "s:14DouShouQiModel5PieceV" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel4CellV5pieceAA5PieceVSgvg", + "mangledName": "$s14DouShouQiModel4CellV5pieceAA5PieceVSgvg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.Piece?", + "children": [ + { + "kind": "TypeNominal", + "name": "Piece", + "printedName": "DouShouQiModel.Piece", + "usr": "s:14DouShouQiModel5PieceV" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel4CellV5pieceAA5PieceVSgvs", + "mangledName": "$s14DouShouQiModel4CellV5pieceAA5PieceVSgvs", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel4CellV5pieceAA5PieceVSgvM", + "mangledName": "$s14DouShouQiModel4CellV5pieceAA5PieceVSgvM", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(ofType:ownedBy:withPiece:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Cell", + "printedName": "DouShouQiModel.Cell", + "usr": "s:14DouShouQiModel4CellV" + }, + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + }, + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "hasDefaultArg": true, + "usr": "s:14DouShouQiModel5OwnerO" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.Piece?", + "children": [ + { + "kind": "TypeNominal", + "name": "Piece", + "printedName": "DouShouQiModel.Piece", + "usr": "s:14DouShouQiModel5PieceV" + } + ], + "hasDefaultArg": true, + "usr": "s:Sq" + } + ], + "declKind": "Constructor", + "usr": "s:14DouShouQiModel4CellV6ofType7ownedBy9withPieceAcA0eG0O_AA5OwnerOAA0K0VSgtcfc", + "mangledName": "$s14DouShouQiModel4CellV6ofType7ownedBy9withPieceAcA0eG0O_AA5OwnerOAA0K0VSgtcfc", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Cell", + "printedName": "DouShouQiModel.Cell", + "usr": "s:14DouShouQiModel4CellV" + }, + { + "kind": "TypeNominal", + "name": "Cell", + "printedName": "DouShouQiModel.Cell", + "usr": "s:14DouShouQiModel4CellV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel4CellV2eeoiySbAC_ACtFZ", + "mangledName": "$s14DouShouQiModel4CellV2eeoiySbAC_ACtFZ", + "moduleName": "DouShouQiModel", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Struct", + "usr": "s:14DouShouQiModel4CellV", + "mangledName": "$s14DouShouQiModel4CellV", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel" + }, + { + "kind": "TypeDecl", + "name": "VerySimpleRules", + "printedName": "VerySimpleRules", + "children": [ + { + "kind": "Function", + "name": "createBoard", + "printedName": "createBoard()", + "children": [ + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel15VerySimpleRulesV11createBoardAA0I0VyFZ", + "mangledName": "$s14DouShouQiModel15VerySimpleRulesV11createBoardAA0I0VyFZ", + "moduleName": "DouShouQiModel", + "static": true, + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "checkBoard", + "printedName": "checkBoard(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel15VerySimpleRulesV10checkBoardyyAA0I0VKFZ", + "mangledName": "$s14DouShouQiModel15VerySimpleRulesV10checkBoardyyAA0I0VKFZ", + "moduleName": "DouShouQiModel", + "static": true, + "declAttributes": [ + "AccessControl" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init()", + "children": [ + { + "kind": "TypeNominal", + "name": "VerySimpleRules", + "printedName": "DouShouQiModel.VerySimpleRules", + "usr": "s:14DouShouQiModel15VerySimpleRulesV" + } + ], + "declKind": "Constructor", + "usr": "s:14DouShouQiModel15VerySimpleRulesVACycfc", + "mangledName": "$s14DouShouQiModel15VerySimpleRulesVACycfc", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(occurences:historic:)", + "children": [ + { + "kind": "TypeNominal", + "name": "VerySimpleRules", + "printedName": "DouShouQiModel.VerySimpleRules", + "usr": "s:14DouShouQiModel15VerySimpleRulesV" + }, + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[DouShouQiModel.Board : Swift.Int]", + "children": [ + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:SD" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.Move]", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Constructor", + "usr": "s:14DouShouQiModel15VerySimpleRulesV10occurences8historicACSDyAA5BoardVSiG_SayAA4MoveVGtcfc", + "mangledName": "$s14DouShouQiModel15VerySimpleRulesV10occurences8historicACSDyAA5BoardVSiG_SayAA4MoveVGtcfc", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "getMoves", + "printedName": "getMoves(in:of:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.Move]", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sa" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel15VerySimpleRulesV8getMoves2in2ofSayAA4MoveVGAA5BoardV_AA5OwnerOtF", + "mangledName": "$s14DouShouQiModel15VerySimpleRulesV8getMoves2in2ofSayAA4MoveVGAA5BoardV_AA5OwnerOtF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "getMoves", + "printedName": "getMoves(in:of:fromRow:andColumn:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.Move]", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sa" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel15VerySimpleRulesV8getMoves2in2of7fromRow9andColumnSayAA4MoveVGAA5BoardV_AA5OwnerOS2itF", + "mangledName": "$s14DouShouQiModel15VerySimpleRulesV8getMoves2in2of7fromRow9andColumnSayAA4MoveVGAA5BoardV_AA5OwnerOS2itF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "isMoveValid", + "printedName": "isMoveValid(onBoard:fromRow:andFromColumn:toRow:andToColumn:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel15VerySimpleRulesV11isMoveValid7onBoard7fromRow13andFromColumn02toN00o2ToQ0SbAA0L0V_S4itF", + "mangledName": "$s14DouShouQiModel15VerySimpleRulesV11isMoveValid7onBoard7fromRow13andFromColumn02toN00o2ToQ0SbAA0L0V_S4itF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "isMoveValid", + "printedName": "isMoveValid(onBoard:withMove:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel15VerySimpleRulesV11isMoveValid7onBoard04withI0SbAA0L0V_AA0I0VtF", + "mangledName": "$s14DouShouQiModel15VerySimpleRulesV11isMoveValid7onBoard04withI0SbAA0L0V_AA0I0VtF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "isGameOver", + "printedName": "isGameOver(withBoard:andLastRowPlayed:andLastColumnPlayer:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(Swift.Bool, DouShouQiModel.Result)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Result", + "printedName": "DouShouQiModel.Result", + "usr": "s:14DouShouQiModel6ResultO" + } + ] + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel15VerySimpleRulesV10isGameOver9withBoard16andLastRowPlayed0mN12ColumnPlayerSb_AA6ResultOtAA0L0V_S2itF", + "mangledName": "$s14DouShouQiModel15VerySimpleRulesV10isGameOver9withBoard16andLastRowPlayed0mN12ColumnPlayerSb_AA6ResultOtAA0L0V_S2itF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "playedMove", + "printedName": "playedMove(_:onStartingBoard:andResultingBoard:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel15VerySimpleRulesV10playedMove_15onStartingBoard012andResultingL0yAA0I0V_AA0L0VAJtKF", + "mangledName": "$s14DouShouQiModel15VerySimpleRulesV10playedMove_15onStartingBoard012andResultingL0yAA0I0V_AA0L0VAJtKF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "Mutating", + "AccessControl" + ], + "throwing": true, + "funcSelfKind": "Mutating" + }, + { + "kind": "Function", + "name": "getNextPlayer", + "printedName": "getNextPlayer()", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel15VerySimpleRulesV13getNextPlayerAA5OwnerOyF", + "mangledName": "$s14DouShouQiModel15VerySimpleRulesV13getNextPlayerAA5OwnerOyF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "occurences", + "printedName": "occurences", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[DouShouQiModel.Board : Swift.Int]", + "children": [ + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel15VerySimpleRulesV10occurencesSDyAA5BoardVSiGvp", + "mangledName": "$s14DouShouQiModel15VerySimpleRulesV10occurencesSDyAA5BoardVSiGvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "SetterAccess", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[DouShouQiModel.Board : Swift.Int]", + "children": [ + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel15VerySimpleRulesV10occurencesSDyAA5BoardVSiGvg", + "mangledName": "$s14DouShouQiModel15VerySimpleRulesV10occurencesSDyAA5BoardVSiGvg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "historic", + "printedName": "historic", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.Move]", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel15VerySimpleRulesV8historicSayAA4MoveVGvp", + "mangledName": "$s14DouShouQiModel15VerySimpleRulesV8historicSayAA4MoveVGvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "SetterAccess", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.Move]", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel15VerySimpleRulesV8historicSayAA4MoveVGvg", + "mangledName": "$s14DouShouQiModel15VerySimpleRulesV8historicSayAA4MoveVGvg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Struct", + "usr": "s:14DouShouQiModel15VerySimpleRulesV", + "mangledName": "$s14DouShouQiModel15VerySimpleRulesV", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Rules", + "printedName": "Rules", + "usr": "s:14DouShouQiModel5RulesP", + "mangledName": "$s14DouShouQiModel5RulesP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel" + }, + { + "kind": "TypeDecl", + "name": "Rules", + "printedName": "Rules", + "children": [ + { + "kind": "Function", + "name": "createBoard", + "printedName": "createBoard()", + "children": [ + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5RulesP11createBoardAA0G0VyFZ", + "mangledName": "$s14DouShouQiModel5RulesP11createBoardAA0G0VyFZ", + "moduleName": "DouShouQiModel", + "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", + "sugared_genericSig": "", + "static": true, + "protocolReq": true, + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "checkBoard", + "printedName": "checkBoard(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5RulesP10checkBoardyyAA0G0VKFZ", + "mangledName": "$s14DouShouQiModel5RulesP10checkBoardyyAA0G0VKFZ", + "moduleName": "DouShouQiModel", + "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", + "sugared_genericSig": "", + "static": true, + "protocolReq": true, + "throwing": true, + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "getNextPlayer", + "printedName": "getNextPlayer()", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5RulesP13getNextPlayerAA5OwnerOyF", + "mangledName": "$s14DouShouQiModel5RulesP13getNextPlayerAA5OwnerOyF", + "moduleName": "DouShouQiModel", + "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", + "sugared_genericSig": "", + "protocolReq": true, + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "getMoves", + "printedName": "getMoves(in:of:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.Move]", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sa" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5RulesP8getMoves2in2ofSayAA4MoveVGAA5BoardV_AA5OwnerOtF", + "mangledName": "$s14DouShouQiModel5RulesP8getMoves2in2ofSayAA4MoveVGAA5BoardV_AA5OwnerOtF", + "moduleName": "DouShouQiModel", + "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", + "sugared_genericSig": "", + "protocolReq": true, + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "getMoves", + "printedName": "getMoves(in:of:fromRow:andColumn:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.Move]", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sa" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5RulesP8getMoves2in2of7fromRow9andColumnSayAA4MoveVGAA5BoardV_AA5OwnerOS2itF", + "mangledName": "$s14DouShouQiModel5RulesP8getMoves2in2of7fromRow9andColumnSayAA4MoveVGAA5BoardV_AA5OwnerOS2itF", + "moduleName": "DouShouQiModel", + "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", + "sugared_genericSig": "", + "protocolReq": true, + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "isMoveValid", + "printedName": "isMoveValid(onBoard:fromRow:andFromColumn:toRow:andToColumn:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5RulesP11isMoveValid7onBoard7fromRow13andFromColumn02toL00m2ToO0SbAA0J0V_S4itF", + "mangledName": "$s14DouShouQiModel5RulesP11isMoveValid7onBoard7fromRow13andFromColumn02toL00m2ToO0SbAA0J0V_S4itF", + "moduleName": "DouShouQiModel", + "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", + "sugared_genericSig": "", + "protocolReq": true, + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "isMoveValid", + "printedName": "isMoveValid(onBoard:withMove:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5RulesP11isMoveValid7onBoard04withG0SbAA0J0V_AA0G0VtF", + "mangledName": "$s14DouShouQiModel5RulesP11isMoveValid7onBoard04withG0SbAA0J0V_AA0G0VtF", + "moduleName": "DouShouQiModel", + "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", + "sugared_genericSig": "", + "protocolReq": true, + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "isGameOver", + "printedName": "isGameOver(withBoard:andLastRowPlayed:andLastColumnPlayer:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(Swift.Bool, DouShouQiModel.Result)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Result", + "printedName": "DouShouQiModel.Result", + "usr": "s:14DouShouQiModel6ResultO" + } + ] + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5RulesP10isGameOver9withBoard16andLastRowPlayed0kL12ColumnPlayerSb_AA6ResultOtAA0J0V_S2itF", + "mangledName": "$s14DouShouQiModel5RulesP10isGameOver9withBoard16andLastRowPlayed0kL12ColumnPlayerSb_AA6ResultOtAA0J0V_S2itF", + "moduleName": "DouShouQiModel", + "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", + "sugared_genericSig": "", + "protocolReq": true, + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "playedMove", + "printedName": "playedMove(_:onStartingBoard:andResultingBoard:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5RulesP10playedMove_15onStartingBoard012andResultingJ0yAA0G0V_AA0J0VAJtKF", + "mangledName": "$s14DouShouQiModel5RulesP10playedMove_15onStartingBoard012andResultingJ0yAA0G0V_AA0J0VAJtKF", + "moduleName": "DouShouQiModel", + "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", + "sugared_genericSig": "", + "protocolReq": true, + "declAttributes": [ + "Mutating" + ], + "throwing": true, + "reqNewWitnessTableEntry": true, + "funcSelfKind": "Mutating" + }, + { + "kind": "Var", + "name": "occurences", + "printedName": "occurences", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[DouShouQiModel.Board : Swift.Int]", + "children": [ + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel5RulesP10occurencesSDyAA5BoardVSiGvp", + "mangledName": "$s14DouShouQiModel5RulesP10occurencesSDyAA5BoardVSiGvp", + "moduleName": "DouShouQiModel", + "protocolReq": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[DouShouQiModel.Board : Swift.Int]", + "children": [ + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel5RulesP10occurencesSDyAA5BoardVSiGvg", + "mangledName": "$s14DouShouQiModel5RulesP10occurencesSDyAA5BoardVSiGvg", + "moduleName": "DouShouQiModel", + "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", + "sugared_genericSig": "", + "protocolReq": true, + "reqNewWitnessTableEntry": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "historic", + "printedName": "historic", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.Move]", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel5RulesP8historicSayAA4MoveVGvp", + "mangledName": "$s14DouShouQiModel5RulesP8historicSayAA4MoveVGvp", + "moduleName": "DouShouQiModel", + "protocolReq": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.Move]", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel5RulesP8historicSayAA4MoveVGvg", + "mangledName": "$s14DouShouQiModel5RulesP8historicSayAA4MoveVGvg", + "moduleName": "DouShouQiModel", + "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", + "sugared_genericSig": "", + "protocolReq": true, + "reqNewWitnessTableEntry": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Protocol", + "usr": "s:14DouShouQiModel5RulesP", + "mangledName": "$s14DouShouQiModel5RulesP", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel" + }, + { + "kind": "TypeDecl", + "name": "Player", + "printedName": "Player", + "children": [ + { + "kind": "Var", + "name": "name", + "printedName": "name", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel6PlayerC4nameSSvp", + "mangledName": "$s14DouShouQiModel6PlayerC4nameSSvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasStorage", + "Final", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel6PlayerC4nameSSvg", + "mangledName": "$s14DouShouQiModel6PlayerC4nameSSvg", + "moduleName": "DouShouQiModel", + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "id", + "printedName": "id", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel6PlayerC2idAA5OwnerOvp", + "mangledName": "$s14DouShouQiModel6PlayerC2idAA5OwnerOvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasStorage", + "Final", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel6PlayerC2idAA5OwnerOvg", + "mangledName": "$s14DouShouQiModel6PlayerC2idAA5OwnerOvg", + "moduleName": "DouShouQiModel", + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(withName:andId:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.Player?", + "children": [ + { + "kind": "TypeNominal", + "name": "Player", + "printedName": "DouShouQiModel.Player", + "usr": "s:14DouShouQiModel6PlayerC" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Constructor", + "usr": "s:14DouShouQiModel6PlayerC8withName5andIdACSgSS_AA5OwnerOtcfc", + "mangledName": "$s14DouShouQiModel6PlayerC8withName5andIdACSgSS_AA5OwnerOtcfc", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "chooseMove", + "printedName": "chooseMove(in:with:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Rules", + "printedName": "DouShouQiModel.Rules", + "usr": "s:14DouShouQiModel5RulesP" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel6PlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKF", + "mangledName": "$s14DouShouQiModel6PlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "addPlayedCallbacksListener", + "printedName": "addPlayedCallbacksListener(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Move?, DouShouQiModel.Player) async throws -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(DouShouQiModel.Move?, DouShouQiModel.Player)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.Move?", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Player", + "printedName": "DouShouQiModel.Player", + "usr": "s:14DouShouQiModel6PlayerC" + } + ] + } + ] + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel6PlayerC26addPlayedCallbacksListeneryyyAA4MoveVSg_ACtYaKcF", + "mangledName": "$s14DouShouQiModel6PlayerC26addPlayedCallbacksListeneryyyAA4MoveVSg_ACtYaKcF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "notifyPlayed", + "printedName": "notifyPlayed(withMove:andPlayer:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.Move?", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Player", + "printedName": "DouShouQiModel.Player", + "usr": "s:14DouShouQiModel6PlayerC" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel6PlayerC12notifyPlayed8withMove03andE0yAA0I0VSg_ACtYaKF", + "mangledName": "$s14DouShouQiModel6PlayerC12notifyPlayed8withMove03andE0yAA0I0VSg_ACtYaKF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:14DouShouQiModel6PlayerC", + "mangledName": "$s14DouShouQiModel6PlayerC", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel" + }, + { + "kind": "TypeDecl", + "name": "GameError", + "printedName": "GameError", + "children": [ + { + "kind": "Var", + "name": "invalidMove", + "printedName": "invalidMove", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.GameError.Type) -> DouShouQiModel.GameError", + "children": [ + { + "kind": "TypeNominal", + "name": "GameError", + "printedName": "DouShouQiModel.GameError", + "usr": "s:14DouShouQiModel9GameErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.GameError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "GameError", + "printedName": "DouShouQiModel.GameError", + "usr": "s:14DouShouQiModel9GameErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel9GameErrorO11invalidMoveyA2CmF", + "mangledName": "$s14DouShouQiModel9GameErrorO11invalidMoveyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "nextPlayerError", + "printedName": "nextPlayerError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.GameError.Type) -> DouShouQiModel.GameError", + "children": [ + { + "kind": "TypeNominal", + "name": "GameError", + "printedName": "DouShouQiModel.GameError", + "usr": "s:14DouShouQiModel9GameErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.GameError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "GameError", + "printedName": "DouShouQiModel.GameError", + "usr": "s:14DouShouQiModel9GameErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel9GameErrorO010nextPlayerF0yA2CmF", + "mangledName": "$s14DouShouQiModel9GameErrorO010nextPlayerF0yA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "badPlayerId", + "printedName": "badPlayerId", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.GameError.Type) -> (Swift.String) -> DouShouQiModel.GameError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.String) -> DouShouQiModel.GameError", + "children": [ + { + "kind": "TypeNominal", + "name": "GameError", + "printedName": "DouShouQiModel.GameError", + "usr": "s:14DouShouQiModel9GameErrorO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(message: Swift.String)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.GameError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "GameError", + "printedName": "DouShouQiModel.GameError", + "usr": "s:14DouShouQiModel9GameErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel9GameErrorO11badPlayerIdyACSS_tcACmF", + "mangledName": "$s14DouShouQiModel9GameErrorO11badPlayerIdyACSS_tcACmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "invalidRules", + "printedName": "invalidRules", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.GameError.Type) -> DouShouQiModel.GameError", + "children": [ + { + "kind": "TypeNominal", + "name": "GameError", + "printedName": "DouShouQiModel.GameError", + "usr": "s:14DouShouQiModel9GameErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.GameError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "GameError", + "printedName": "DouShouQiModel.GameError", + "usr": "s:14DouShouQiModel9GameErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel9GameErrorO12invalidRulesyA2CmF", + "mangledName": "$s14DouShouQiModel9GameErrorO12invalidRulesyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "invalidPlayer", + "printedName": "invalidPlayer", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.GameError.Type) -> DouShouQiModel.GameError", + "children": [ + { + "kind": "TypeNominal", + "name": "GameError", + "printedName": "DouShouQiModel.GameError", + "usr": "s:14DouShouQiModel9GameErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.GameError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "GameError", + "printedName": "DouShouQiModel.GameError", + "usr": "s:14DouShouQiModel9GameErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel9GameErrorO13invalidPlayeryA2CmF", + "mangledName": "$s14DouShouQiModel9GameErrorO13invalidPlayeryA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "invalidGame", + "printedName": "invalidGame", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.GameError.Type) -> DouShouQiModel.GameError", + "children": [ + { + "kind": "TypeNominal", + "name": "GameError", + "printedName": "DouShouQiModel.GameError", + "usr": "s:14DouShouQiModel9GameErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.GameError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "GameError", + "printedName": "DouShouQiModel.GameError", + "usr": "s:14DouShouQiModel9GameErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel9GameErrorO07invalidE0yA2CmF", + "mangledName": "$s14DouShouQiModel9GameErrorO07invalidE0yA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "invalidBoard", + "printedName": "invalidBoard", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.GameError.Type) -> DouShouQiModel.GameError", + "children": [ + { + "kind": "TypeNominal", + "name": "GameError", + "printedName": "DouShouQiModel.GameError", + "usr": "s:14DouShouQiModel9GameErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.GameError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "GameError", + "printedName": "DouShouQiModel.GameError", + "usr": "s:14DouShouQiModel9GameErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel9GameErrorO12invalidBoardyA2CmF", + "mangledName": "$s14DouShouQiModel9GameErrorO12invalidBoardyA2CmF", + "moduleName": "DouShouQiModel" + } + ], + "declKind": "Enum", + "usr": "s:14DouShouQiModel9GameErrorO", + "mangledName": "$s14DouShouQiModel9GameErrorO", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Error", + "printedName": "Error", + "usr": "s:s5ErrorP", + "mangledName": "$ss5ErrorP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel" + }, + { + "kind": "TypeDecl", + "name": "RandomPlayer", + "printedName": "RandomPlayer", + "children": [ + { + "kind": "Function", + "name": "chooseMove", + "printedName": "chooseMove(in:with:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Rules", + "printedName": "DouShouQiModel.Rules", + "usr": "s:14DouShouQiModel5RulesP" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel12RandomPlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKF", + "mangledName": "$s14DouShouQiModel12RandomPlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKF", + "moduleName": "DouShouQiModel", + "overriding": true, + "declAttributes": [ + "Override", + "AccessControl" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(withName:andId:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.RandomPlayer?", + "children": [ + { + "kind": "TypeNominal", + "name": "RandomPlayer", + "printedName": "DouShouQiModel.RandomPlayer", + "usr": "s:14DouShouQiModel12RandomPlayerC" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Constructor", + "usr": "s:14DouShouQiModel12RandomPlayerC8withName5andIdACSgSS_AA5OwnerOtcfc", + "mangledName": "$s14DouShouQiModel12RandomPlayerC8withName5andIdACSgSS_AA5OwnerOtcfc", + "moduleName": "DouShouQiModel", + "overriding": true, + "implicit": true, + "declAttributes": [ + "Override" + ], + "init_kind": "Designated" + } + ], + "declKind": "Class", + "usr": "s:14DouShouQiModel12RandomPlayerC", + "mangledName": "$s14DouShouQiModel12RandomPlayerC", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "superclassUsr": "s:14DouShouQiModel8IAPlayerC", + "inheritsConvenienceInitializers": true, + "superclassNames": [ + "DouShouQiModel.IAPlayer", + "DouShouQiModel.Player" + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel" + }, + { + "kind": "TypeDecl", + "name": "CellType", + "printedName": "CellType", + "children": [ + { + "kind": "Var", + "name": "unknown", + "printedName": "unknown", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.CellType.Type) -> DouShouQiModel.CellType", + "children": [ + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.CellType.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel8CellTypeO7unknownyA2CmF", + "mangledName": "$s14DouShouQiModel8CellTypeO7unknownyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "jungle", + "printedName": "jungle", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.CellType.Type) -> DouShouQiModel.CellType", + "children": [ + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.CellType.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel8CellTypeO6jungleyA2CmF", + "mangledName": "$s14DouShouQiModel8CellTypeO6jungleyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "water", + "printedName": "water", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.CellType.Type) -> DouShouQiModel.CellType", + "children": [ + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.CellType.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel8CellTypeO5wateryA2CmF", + "mangledName": "$s14DouShouQiModel8CellTypeO5wateryA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "trap", + "printedName": "trap", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.CellType.Type) -> DouShouQiModel.CellType", + "children": [ + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.CellType.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel8CellTypeO4trapyA2CmF", + "mangledName": "$s14DouShouQiModel8CellTypeO4trapyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "den", + "printedName": "den", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.CellType.Type) -> DouShouQiModel.CellType", + "children": [ + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.CellType.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel8CellTypeO3denyA2CmF", + "mangledName": "$s14DouShouQiModel8CellTypeO3denyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "allCases", + "printedName": "allCases", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.CellType]", + "children": [ + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel8CellTypeO8allCasesSayACGvpZ", + "mangledName": "$s14DouShouQiModel8CellTypeO8allCasesSayACGvpZ", + "moduleName": "DouShouQiModel", + "static": true, + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.CellType]", + "children": [ + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel8CellTypeO8allCasesSayACGvgZ", + "mangledName": "$s14DouShouQiModel8CellTypeO8allCasesSayACGvgZ", + "moduleName": "DouShouQiModel", + "static": true, + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + }, + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel8CellTypeO2eeoiySbAC_ACtFZ", + "mangledName": "$s14DouShouQiModel8CellTypeO2eeoiySbAC_ACtFZ", + "moduleName": "DouShouQiModel", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel8CellTypeO9hashValueSivp", + "mangledName": "$s14DouShouQiModel8CellTypeO9hashValueSivp", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel8CellTypeO9hashValueSivg", + "mangledName": "$s14DouShouQiModel8CellTypeO9hashValueSivg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel8CellTypeO4hash4intoys6HasherVz_tF", + "mangledName": "$s14DouShouQiModel8CellTypeO4hash4intoys6HasherVz_tF", + "moduleName": "DouShouQiModel", + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Enum", + "usr": "s:14DouShouQiModel8CellTypeO", + "mangledName": "$s14DouShouQiModel8CellTypeO", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "CaseIterable", + "printedName": "CaseIterable", + "children": [ + { + "kind": "TypeWitness", + "name": "AllCases", + "printedName": "AllCases", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.CellType]", + "children": [ + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + } + ], + "usr": "s:Sa" + } + ] + } + ], + "usr": "s:s12CaseIterableP", + "mangledName": "$ss12CaseIterableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel" + }, + { + "kind": "TypeDecl", + "name": "Board", + "printedName": "Board", + "children": [ + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5BoardV4hash4intoys6HasherVz_tF", + "mangledName": "$s14DouShouQiModel5BoardV4hash4intoys6HasherVz_tF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "nbRows", + "printedName": "nbRows", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel5BoardV6nbRowsSivp", + "mangledName": "$s14DouShouQiModel5BoardV6nbRowsSivp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel5BoardV6nbRowsSivg", + "mangledName": "$s14DouShouQiModel5BoardV6nbRowsSivg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "nbColumns", + "printedName": "nbColumns", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel5BoardV9nbColumnsSivp", + "mangledName": "$s14DouShouQiModel5BoardV9nbColumnsSivp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel5BoardV9nbColumnsSivg", + "mangledName": "$s14DouShouQiModel5BoardV9nbColumnsSivg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "grid", + "printedName": "grid", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[[DouShouQiModel.Cell]]", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.Cell]", + "children": [ + { + "kind": "TypeNominal", + "name": "Cell", + "printedName": "DouShouQiModel.Cell", + "usr": "s:14DouShouQiModel4CellV" + } + ], + "usr": "s:Sa" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel5BoardV4gridSaySayAA4CellVGGvp", + "mangledName": "$s14DouShouQiModel5BoardV4gridSaySayAA4CellVGGvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasStorage", + "SetterAccess", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[[DouShouQiModel.Cell]]", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.Cell]", + "children": [ + { + "kind": "TypeNominal", + "name": "Cell", + "printedName": "DouShouQiModel.Cell", + "usr": "s:14DouShouQiModel4CellV" + } + ], + "usr": "s:Sa" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel5BoardV4gridSaySayAA4CellVGGvg", + "mangledName": "$s14DouShouQiModel5BoardV4gridSaySayAA4CellVGGvg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(withGrid:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.Board?", + "children": [ + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[[DouShouQiModel.Cell]]", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.Cell]", + "children": [ + { + "kind": "TypeNominal", + "name": "Cell", + "printedName": "DouShouQiModel.Cell", + "usr": "s:14DouShouQiModel4CellV" + } + ], + "usr": "s:Sa" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Constructor", + "usr": "s:14DouShouQiModel5BoardV8withGridACSgSaySayAA4CellVGG_tcfc", + "mangledName": "$s14DouShouQiModel5BoardV8withGridACSgSaySayAA4CellVGG_tcfc", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "countPieces", + "printedName": "countPieces(of:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5BoardV11countPieces2ofSiAA5OwnerO_tF", + "mangledName": "$s14DouShouQiModel5BoardV11countPieces2ofSiAA5OwnerO_tF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "countPieces", + "printedName": "countPieces()", + "children": [ + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(nbOfPiecesOfPlayer1: Swift.Int, nbOfPiecesOfPlayer2: Swift.Int)", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5BoardV11countPiecesSi04nbOfgI7Player1_Si0higI7Player2tyF", + "mangledName": "$s14DouShouQiModel5BoardV11countPiecesSi04nbOfgI7Player1_Si0higI7Player2tyF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "insert", + "printedName": "insert(piece:atRow:andColumn:)", + "children": [ + { + "kind": "TypeNominal", + "name": "BoardResult", + "printedName": "DouShouQiModel.BoardResult", + "usr": "s:14DouShouQiModel11BoardResultO" + }, + { + "kind": "TypeNominal", + "name": "Piece", + "printedName": "DouShouQiModel.Piece", + "usr": "s:14DouShouQiModel5PieceV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5BoardV6insert5piece5atRow9andColumnAA0E6ResultOAA5PieceV_S2itF", + "mangledName": "$s14DouShouQiModel5BoardV6insert5piece5atRow9andColumnAA0E6ResultOAA5PieceV_S2itF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "Mutating", + "AccessControl" + ], + "funcSelfKind": "Mutating" + }, + { + "kind": "Function", + "name": "removePiece", + "printedName": "removePiece(atRow:andColumn:)", + "children": [ + { + "kind": "TypeNominal", + "name": "BoardResult", + "printedName": "DouShouQiModel.BoardResult", + "usr": "s:14DouShouQiModel11BoardResultO" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5BoardV11removePiece5atRow9andColumnAA0E6ResultOSi_SitF", + "mangledName": "$s14DouShouQiModel5BoardV11removePiece5atRow9andColumnAA0E6ResultOSi_SitF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "Mutating", + "AccessControl" + ], + "funcSelfKind": "Mutating" + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel5BoardV9hashValueSivp", + "mangledName": "$s14DouShouQiModel5BoardV9hashValueSivp", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel5BoardV9hashValueSivg", + "mangledName": "$s14DouShouQiModel5BoardV9hashValueSivg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5BoardV2eeoiySbAC_ACtFZ", + "mangledName": "$s14DouShouQiModel5BoardV2eeoiySbAC_ACtFZ", + "moduleName": "DouShouQiModel", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Struct", + "usr": "s:14DouShouQiModel5BoardV", + "mangledName": "$s14DouShouQiModel5BoardV", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel" + }, + { + "kind": "TypeDecl", + "name": "Piece", + "printedName": "Piece", + "children": [ + { + "kind": "Var", + "name": "description", + "printedName": "description", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel5PieceV11descriptionSSvp", + "mangledName": "$s14DouShouQiModel5PieceV11descriptionSSvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel5PieceV11descriptionSSvg", + "mangledName": "$s14DouShouQiModel5PieceV11descriptionSSvg", + "moduleName": "DouShouQiModel", + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "owner", + "printedName": "owner", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel5PieceV5ownerAA5OwnerOvp", + "mangledName": "$s14DouShouQiModel5PieceV5ownerAA5OwnerOvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel5PieceV5ownerAA5OwnerOvg", + "mangledName": "$s14DouShouQiModel5PieceV5ownerAA5OwnerOvg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "animal", + "printedName": "animal", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel5PieceV6animalAA6AnimalOvp", + "mangledName": "$s14DouShouQiModel5PieceV6animalAA6AnimalOvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel5PieceV6animalAA6AnimalOvg", + "mangledName": "$s14DouShouQiModel5PieceV6animalAA6AnimalOvg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(withOwner:andAnimal:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Piece", + "printedName": "DouShouQiModel.Piece", + "usr": "s:14DouShouQiModel5PieceV" + }, + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + }, + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + } + ], + "declKind": "Constructor", + "usr": "s:14DouShouQiModel5PieceV9withOwner9andAnimalAcA0G0O_AA0I0Otcfc", + "mangledName": "$s14DouShouQiModel5PieceV9withOwner9andAnimalAcA0G0O_AA0I0Otcfc", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel5PieceV9hashValueSivp", + "mangledName": "$s14DouShouQiModel5PieceV9hashValueSivp", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel5PieceV9hashValueSivg", + "mangledName": "$s14DouShouQiModel5PieceV9hashValueSivg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5PieceV4hash4intoys6HasherVz_tF", + "mangledName": "$s14DouShouQiModel5PieceV4hash4intoys6HasherVz_tF", + "moduleName": "DouShouQiModel", + "implicit": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Piece", + "printedName": "DouShouQiModel.Piece", + "usr": "s:14DouShouQiModel5PieceV" + }, + { + "kind": "TypeNominal", + "name": "Piece", + "printedName": "DouShouQiModel.Piece", + "usr": "s:14DouShouQiModel5PieceV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5PieceV2eeoiySbAC_ACtFZ", + "mangledName": "$s14DouShouQiModel5PieceV2eeoiySbAC_ACtFZ", + "moduleName": "DouShouQiModel", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Struct", + "usr": "s:14DouShouQiModel5PieceV", + "mangledName": "$s14DouShouQiModel5PieceV", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel" + }, + { + "kind": "TypeDecl", + "name": "InvalidBoardError", + "printedName": "InvalidBoardError", + "children": [ + { + "kind": "Var", + "name": "unknownError", + "printedName": "unknownError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.InvalidBoardError.Type) -> DouShouQiModel.InvalidBoardError", + "children": [ + { + "kind": "TypeNominal", + "name": "InvalidBoardError", + "printedName": "DouShouQiModel.InvalidBoardError", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.InvalidBoardError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "InvalidBoardError", + "printedName": "DouShouQiModel.InvalidBoardError", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO07unknownG0yA2CmF", + "mangledName": "$s14DouShouQiModel17InvalidBoardErrorO07unknownG0yA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "badDimensions", + "printedName": "badDimensions", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.InvalidBoardError.Type) -> (Swift.Int, Swift.Int) -> DouShouQiModel.InvalidBoardError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.Int, Swift.Int) -> DouShouQiModel.InvalidBoardError", + "children": [ + { + "kind": "TypeNominal", + "name": "InvalidBoardError", + "printedName": "DouShouQiModel.InvalidBoardError", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(nbRows: Swift.Int, nbColumns: Swift.Int)", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.InvalidBoardError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "InvalidBoardError", + "printedName": "DouShouQiModel.InvalidBoardError", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO13badDimensionsyACSi_SitcACmF", + "mangledName": "$s14DouShouQiModel17InvalidBoardErrorO13badDimensionsyACSi_SitcACmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "badCellType", + "printedName": "badCellType", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.InvalidBoardError.Type) -> (DouShouQiModel.CellType, Swift.Int, Swift.Int) -> DouShouQiModel.InvalidBoardError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.CellType, Swift.Int, Swift.Int) -> DouShouQiModel.InvalidBoardError", + "children": [ + { + "kind": "TypeNominal", + "name": "InvalidBoardError", + "printedName": "DouShouQiModel.InvalidBoardError", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(cellType: DouShouQiModel.CellType, row: Swift.Int, column: Swift.Int)", + "children": [ + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.InvalidBoardError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "InvalidBoardError", + "printedName": "DouShouQiModel.InvalidBoardError", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO11badCellTypeyAcA0iJ0O_S2itcACmF", + "mangledName": "$s14DouShouQiModel17InvalidBoardErrorO11badCellTypeyAcA0iJ0O_S2itcACmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "multipleOccurenceOfSamePiece", + "printedName": "multipleOccurenceOfSamePiece", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.InvalidBoardError.Type) -> (DouShouQiModel.Piece) -> DouShouQiModel.InvalidBoardError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Piece) -> DouShouQiModel.InvalidBoardError", + "children": [ + { + "kind": "TypeNominal", + "name": "InvalidBoardError", + "printedName": "DouShouQiModel.InvalidBoardError", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(piece: DouShouQiModel.Piece)", + "children": [ + { + "kind": "TypeNominal", + "name": "Piece", + "printedName": "DouShouQiModel.Piece", + "usr": "s:14DouShouQiModel5PieceV" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.InvalidBoardError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "InvalidBoardError", + "printedName": "DouShouQiModel.InvalidBoardError", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO28multipleOccurenceOfSamePieceyAcA0L0V_tcACmF", + "mangledName": "$s14DouShouQiModel17InvalidBoardErrorO28multipleOccurenceOfSamePieceyAcA0L0V_tcACmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "pieceWithNoOwner", + "printedName": "pieceWithNoOwner", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.InvalidBoardError.Type) -> (DouShouQiModel.Piece) -> DouShouQiModel.InvalidBoardError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Piece) -> DouShouQiModel.InvalidBoardError", + "children": [ + { + "kind": "TypeNominal", + "name": "InvalidBoardError", + "printedName": "DouShouQiModel.InvalidBoardError", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(piece: DouShouQiModel.Piece)", + "children": [ + { + "kind": "TypeNominal", + "name": "Piece", + "printedName": "DouShouQiModel.Piece", + "usr": "s:14DouShouQiModel5PieceV" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.InvalidBoardError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "InvalidBoardError", + "printedName": "DouShouQiModel.InvalidBoardError", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO16pieceWithNoOwneryAcA5PieceV_tcACmF", + "mangledName": "$s14DouShouQiModel17InvalidBoardErrorO16pieceWithNoOwneryAcA5PieceV_tcACmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "pieceNotAllowedOnThisCell", + "printedName": "pieceNotAllowedOnThisCell", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.InvalidBoardError.Type) -> (DouShouQiModel.Piece, DouShouQiModel.Cell) -> DouShouQiModel.InvalidBoardError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Piece, DouShouQiModel.Cell) -> DouShouQiModel.InvalidBoardError", + "children": [ + { + "kind": "TypeNominal", + "name": "InvalidBoardError", + "printedName": "DouShouQiModel.InvalidBoardError", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(piece: DouShouQiModel.Piece, cell: DouShouQiModel.Cell)", + "children": [ + { + "kind": "TypeNominal", + "name": "Piece", + "printedName": "DouShouQiModel.Piece", + "usr": "s:14DouShouQiModel5PieceV" + }, + { + "kind": "TypeNominal", + "name": "Cell", + "printedName": "DouShouQiModel.Cell", + "usr": "s:14DouShouQiModel4CellV" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.InvalidBoardError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "InvalidBoardError", + "printedName": "DouShouQiModel.InvalidBoardError", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO25pieceNotAllowedOnThisCellyAcA5PieceV_AA0M0VtcACmF", + "mangledName": "$s14DouShouQiModel17InvalidBoardErrorO25pieceNotAllowedOnThisCellyAcA5PieceV_AA0M0VtcACmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "InvalidBoardError", + "printedName": "DouShouQiModel.InvalidBoardError", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO" + }, + { + "kind": "TypeNominal", + "name": "InvalidBoardError", + "printedName": "DouShouQiModel.InvalidBoardError", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO2eeoiySbAC_ACtFZ", + "mangledName": "$s14DouShouQiModel17InvalidBoardErrorO2eeoiySbAC_ACtFZ", + "moduleName": "DouShouQiModel", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Enum", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO", + "mangledName": "$s14DouShouQiModel17InvalidBoardErrorO", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Error", + "printedName": "Error", + "usr": "s:s5ErrorP", + "mangledName": "$ss5ErrorP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel" + }, + { + "kind": "TypeDecl", + "name": "Owner", + "printedName": "Owner", + "children": [ + { + "kind": "Var", + "name": "noOne", + "printedName": "noOne", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Owner.Type) -> DouShouQiModel.Owner", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.Owner.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel5OwnerO5noOneyA2CmF", + "mangledName": "$s14DouShouQiModel5OwnerO5noOneyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "player1", + "printedName": "player1", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Owner.Type) -> DouShouQiModel.Owner", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.Owner.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel5OwnerO7player1yA2CmF", + "mangledName": "$s14DouShouQiModel5OwnerO7player1yA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "player2", + "printedName": "player2", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Owner.Type) -> DouShouQiModel.Owner", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.Owner.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel5OwnerO7player2yA2CmF", + "mangledName": "$s14DouShouQiModel5OwnerO7player2yA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "simpleDescription", + "printedName": "simpleDescription", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel5OwnerO17simpleDescriptionSSvp", + "mangledName": "$s14DouShouQiModel5OwnerO17simpleDescriptionSSvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel5OwnerO17simpleDescriptionSSvg", + "mangledName": "$s14DouShouQiModel5OwnerO17simpleDescriptionSSvg", + "moduleName": "DouShouQiModel", + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + }, + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5OwnerO2eeoiySbAC_ACtFZ", + "mangledName": "$s14DouShouQiModel5OwnerO2eeoiySbAC_ACtFZ", + "moduleName": "DouShouQiModel", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel5OwnerO9hashValueSivp", + "mangledName": "$s14DouShouQiModel5OwnerO9hashValueSivp", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel5OwnerO9hashValueSivg", + "mangledName": "$s14DouShouQiModel5OwnerO9hashValueSivg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5OwnerO4hash4intoys6HasherVz_tF", + "mangledName": "$s14DouShouQiModel5OwnerO4hash4intoys6HasherVz_tF", + "moduleName": "DouShouQiModel", + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Enum", + "usr": "s:14DouShouQiModel5OwnerO", + "mangledName": "$s14DouShouQiModel5OwnerO", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "TypeDecl", + "name": "IAPlayer", + "printedName": "IAPlayer", + "children": [ + { + "kind": "Constructor", + "name": "init", + "printedName": "init(withName:andId:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.IAPlayer?", + "children": [ + { + "kind": "TypeNominal", + "name": "IAPlayer", + "printedName": "DouShouQiModel.IAPlayer", + "usr": "s:14DouShouQiModel8IAPlayerC" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Constructor", + "usr": "s:14DouShouQiModel8IAPlayerC8withName5andIdACSgSS_AA5OwnerOtcfc", + "mangledName": "$s14DouShouQiModel8IAPlayerC8withName5andIdACSgSS_AA5OwnerOtcfc", + "moduleName": "DouShouQiModel", + "overriding": true, + "implicit": true, + "declAttributes": [ + "Override" + ], + "init_kind": "Designated" + } + ], + "declKind": "Class", + "usr": "s:14DouShouQiModel8IAPlayerC", + "mangledName": "$s14DouShouQiModel8IAPlayerC", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "superclassUsr": "s:14DouShouQiModel6PlayerC", + "inheritsConvenienceInitializers": true, + "superclassNames": [ + "DouShouQiModel.Player" + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel" + }, + { + "kind": "TypeDecl", + "name": "Move", + "printedName": "Move", + "children": [ + { + "kind": "Var", + "name": "owner", + "printedName": "owner", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel4MoveV5ownerAA5OwnerOvp", + "mangledName": "$s14DouShouQiModel4MoveV5ownerAA5OwnerOvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel4MoveV5ownerAA5OwnerOvg", + "mangledName": "$s14DouShouQiModel4MoveV5ownerAA5OwnerOvg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "rowOrigin", + "printedName": "rowOrigin", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel4MoveV9rowOriginSivp", + "mangledName": "$s14DouShouQiModel4MoveV9rowOriginSivp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel4MoveV9rowOriginSivg", + "mangledName": "$s14DouShouQiModel4MoveV9rowOriginSivg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "columnOrigin", + "printedName": "columnOrigin", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel4MoveV12columnOriginSivp", + "mangledName": "$s14DouShouQiModel4MoveV12columnOriginSivp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel4MoveV12columnOriginSivg", + "mangledName": "$s14DouShouQiModel4MoveV12columnOriginSivg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "rowDestination", + "printedName": "rowDestination", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel4MoveV14rowDestinationSivp", + "mangledName": "$s14DouShouQiModel4MoveV14rowDestinationSivp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel4MoveV14rowDestinationSivg", + "mangledName": "$s14DouShouQiModel4MoveV14rowDestinationSivg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "columnDestination", + "printedName": "columnDestination", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel4MoveV17columnDestinationSivp", + "mangledName": "$s14DouShouQiModel4MoveV17columnDestinationSivp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel4MoveV17columnDestinationSivg", + "mangledName": "$s14DouShouQiModel4MoveV17columnDestinationSivg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(of:fromRow:andFromColumn:toRow:andToColumn:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + }, + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Constructor", + "usr": "s:14DouShouQiModel4MoveV2of7fromRow13andFromColumn02toH00i2ToK0AcA5OwnerO_S4itcfc", + "mangledName": "$s14DouShouQiModel4MoveV2of7fromRow13andFromColumn02toH00i2ToK0AcA5OwnerO_S4itcfc", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Var", + "name": "description", + "printedName": "description", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel4MoveV11descriptionSSvp", + "mangledName": "$s14DouShouQiModel4MoveV11descriptionSSvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel4MoveV11descriptionSSvg", + "mangledName": "$s14DouShouQiModel4MoveV11descriptionSSvg", + "moduleName": "DouShouQiModel", + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + }, + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel4MoveV2eeoiySbAC_ACtFZ", + "mangledName": "$s14DouShouQiModel4MoveV2eeoiySbAC_ACtFZ", + "moduleName": "DouShouQiModel", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Struct", + "usr": "s:14DouShouQiModel4MoveV", + "mangledName": "$s14DouShouQiModel4MoveV", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel" + }, + { + "kind": "TypeDecl", + "name": "Animal", + "printedName": "Animal", + "children": [ + { + "kind": "Var", + "name": "rat", + "printedName": "rat", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Animal.Type) -> DouShouQiModel.Animal", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.Animal.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel6AnimalO3ratyA2CmF", + "mangledName": "$s14DouShouQiModel6AnimalO3ratyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "cat", + "printedName": "cat", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Animal.Type) -> DouShouQiModel.Animal", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.Animal.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel6AnimalO3catyA2CmF", + "mangledName": "$s14DouShouQiModel6AnimalO3catyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "dog", + "printedName": "dog", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Animal.Type) -> DouShouQiModel.Animal", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.Animal.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel6AnimalO3dogyA2CmF", + "mangledName": "$s14DouShouQiModel6AnimalO3dogyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "wolf", + "printedName": "wolf", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Animal.Type) -> DouShouQiModel.Animal", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.Animal.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel6AnimalO4wolfyA2CmF", + "mangledName": "$s14DouShouQiModel6AnimalO4wolfyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "leopard", + "printedName": "leopard", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Animal.Type) -> DouShouQiModel.Animal", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.Animal.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel6AnimalO7leopardyA2CmF", + "mangledName": "$s14DouShouQiModel6AnimalO7leopardyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "tiger", + "printedName": "tiger", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Animal.Type) -> DouShouQiModel.Animal", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.Animal.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel6AnimalO5tigeryA2CmF", + "mangledName": "$s14DouShouQiModel6AnimalO5tigeryA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "lion", + "printedName": "lion", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Animal.Type) -> DouShouQiModel.Animal", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.Animal.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel6AnimalO4lionyA2CmF", + "mangledName": "$s14DouShouQiModel6AnimalO4lionyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "elephant", + "printedName": "elephant", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Animal.Type) -> DouShouQiModel.Animal", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.Animal.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel6AnimalO8elephantyA2CmF", + "mangledName": "$s14DouShouQiModel6AnimalO8elephantyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "rawValue", + "printedName": "rawValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel6AnimalO8rawValueSivp", + "mangledName": "$s14DouShouQiModel6AnimalO8rawValueSivp", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel6AnimalO8rawValueSivg", + "mangledName": "$s14DouShouQiModel6AnimalO8rawValueSivg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(rawValue:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.Animal?", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Constructor", + "usr": "s:14DouShouQiModel6AnimalO8rawValueACSgSi_tcfc", + "mangledName": "$s14DouShouQiModel6AnimalO8rawValueACSgSi_tcfc", + "moduleName": "DouShouQiModel", + "implicit": true, + "init_kind": "Designated" + } + ], + "declKind": "Enum", + "usr": "s:14DouShouQiModel6AnimalO", + "mangledName": "$s14DouShouQiModel6AnimalO", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "enumRawTypeName": "Int", + "conformances": [ + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "RawRepresentable", + "printedName": "RawRepresentable", + "children": [ + { + "kind": "TypeWitness", + "name": "RawValue", + "printedName": "RawValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ], + "usr": "s:SY", + "mangledName": "$sSY" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel" + }, + { + "kind": "TypeDecl", + "name": "Game", + "printedName": "Game", + "children": [ + { + "kind": "Var", + "name": "board", + "printedName": "board", + "children": [ + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel4GameC5boardAA5BoardVvp", + "mangledName": "$s14DouShouQiModel4GameC5boardAA5BoardVvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasStorage", + "SetterAccess", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel4GameC5boardAA5BoardVvg", + "mangledName": "$s14DouShouQiModel4GameC5boardAA5BoardVvg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "rules", + "printedName": "rules", + "children": [ + { + "kind": "TypeNominal", + "name": "Rules", + "printedName": "DouShouQiModel.Rules", + "usr": "s:14DouShouQiModel5RulesP" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel4GameC5rulesAA5Rules_pvp", + "mangledName": "$s14DouShouQiModel4GameC5rulesAA5Rules_pvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasStorage", + "SetterAccess", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Rules", + "printedName": "DouShouQiModel.Rules", + "usr": "s:14DouShouQiModel5RulesP" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel4GameC5rulesAA5Rules_pvg", + "mangledName": "$s14DouShouQiModel4GameC5rulesAA5Rules_pvg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "players", + "printedName": "players", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[DouShouQiModel.Owner : DouShouQiModel.Player]", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + }, + { + "kind": "TypeNominal", + "name": "Player", + "printedName": "DouShouQiModel.Player", + "usr": "s:14DouShouQiModel6PlayerC" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel4GameC7playersSDyAA5OwnerOAA6PlayerCGvp", + "mangledName": "$s14DouShouQiModel4GameC7playersSDyAA5OwnerOAA6PlayerCGvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "Final", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[DouShouQiModel.Owner : DouShouQiModel.Player]", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + }, + { + "kind": "TypeNominal", + "name": "Player", + "printedName": "DouShouQiModel.Player", + "usr": "s:14DouShouQiModel6PlayerC" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel4GameC7playersSDyAA5OwnerOAA6PlayerCGvg", + "mangledName": "$s14DouShouQiModel4GameC7playersSDyAA5OwnerOAA6PlayerCGvg", + "moduleName": "DouShouQiModel", + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(withRules:andPlayer1:andPlayer2:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Game", + "printedName": "DouShouQiModel.Game", + "usr": "s:14DouShouQiModel4GameC" + }, + { + "kind": "TypeNominal", + "name": "Rules", + "printedName": "DouShouQiModel.Rules", + "usr": "s:14DouShouQiModel5RulesP" + }, + { + "kind": "TypeNominal", + "name": "Player", + "printedName": "DouShouQiModel.Player", + "usr": "s:14DouShouQiModel6PlayerC" + }, + { + "kind": "TypeNominal", + "name": "Player", + "printedName": "DouShouQiModel.Player", + "usr": "s:14DouShouQiModel6PlayerC" + } + ], + "declKind": "Constructor", + "usr": "s:14DouShouQiModel4GameC9withRules10andPlayer10H7Player2AcA0G0_p_AA6PlayerCAItKcfc", + "mangledName": "$s14DouShouQiModel4GameC9withRules10andPlayer10H7Player2AcA0G0_p_AA6PlayerCAItKcfc", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "throwing": true, + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(withBoard:andRules:andPlayer1:andPlayer2:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Game", + "printedName": "DouShouQiModel.Game", + "usr": "s:14DouShouQiModel4GameC" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Rules", + "printedName": "DouShouQiModel.Rules", + "usr": "s:14DouShouQiModel5RulesP" + }, + { + "kind": "TypeNominal", + "name": "Player", + "printedName": "DouShouQiModel.Player", + "usr": "s:14DouShouQiModel6PlayerC" + }, + { + "kind": "TypeNominal", + "name": "Player", + "printedName": "DouShouQiModel.Player", + "usr": "s:14DouShouQiModel6PlayerC" + } + ], + "declKind": "Constructor", + "usr": "s:14DouShouQiModel4GameC9withBoard8andRules0H7Player10H7Player2AcA0G0V_AA0I0_pAA6PlayerCALtKcfc", + "mangledName": "$s14DouShouQiModel4GameC9withBoard8andRules0H7Player10H7Player2AcA0G0V_AA0I0_pAA6PlayerCALtKcfc", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "throwing": true, + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "addGameStartedListener", + "printedName": "addGameStartedListener(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Board) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + } + ] + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel4GameC03addE15StartedListeneryyyAA5BoardVcF", + "mangledName": "$s14DouShouQiModel4GameC03addE15StartedListeneryyyAA5BoardVcF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "addPlayerNotifiedListener", + "printedName": "addPlayerNotifiedListener(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Board, DouShouQiModel.Player) async throws -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(DouShouQiModel.Board, DouShouQiModel.Player)", + "children": [ + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Player", + "printedName": "DouShouQiModel.Player", + "usr": "s:14DouShouQiModel6PlayerC" + } + ] + } + ] + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel4GameC25addPlayerNotifiedListeneryyyAA5BoardV_AA0G0CtYaKcF", + "mangledName": "$s14DouShouQiModel4GameC25addPlayerNotifiedListeneryyyAA5BoardV_AA0G0CtYaKcF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "addGameChangedListener", + "printedName": "addGameChangedListener(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Game) async -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Game", + "printedName": "DouShouQiModel.Game", + "usr": "s:14DouShouQiModel4GameC" + } + ] + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel4GameC03addE15ChangedListeneryyyACYacF", + "mangledName": "$s14DouShouQiModel4GameC03addE15ChangedListeneryyyACYacF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "addGameOverListener", + "printedName": "addGameOverListener(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Board, DouShouQiModel.Result, DouShouQiModel.Player?) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(DouShouQiModel.Board, DouShouQiModel.Result, DouShouQiModel.Player?)", + "children": [ + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Result", + "printedName": "DouShouQiModel.Result", + "usr": "s:14DouShouQiModel6ResultO" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.Player?", + "children": [ + { + "kind": "TypeNominal", + "name": "Player", + "printedName": "DouShouQiModel.Player", + "usr": "s:14DouShouQiModel6PlayerC" + } + ], + "usr": "s:Sq" + } + ] + } + ] + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel4GameC03addE12OverListeneryyyAA5BoardV_AA6ResultOAA6PlayerCSgtcF", + "mangledName": "$s14DouShouQiModel4GameC03addE12OverListeneryyyAA5BoardV_AA6ResultOAA6PlayerCSgtcF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "addMoveChosenCallbacksListener", + "printedName": "addMoveChosenCallbacksListener(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Board, DouShouQiModel.Move, DouShouQiModel.Player) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(DouShouQiModel.Board, DouShouQiModel.Move, DouShouQiModel.Player)", + "children": [ + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + }, + { + "kind": "TypeNominal", + "name": "Player", + "printedName": "DouShouQiModel.Player", + "usr": "s:14DouShouQiModel6PlayerC" + } + ] + } + ] + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel4GameC30addMoveChosenCallbacksListeneryyyAA5BoardV_AA0G0VAA6PlayerCtcF", + "mangledName": "$s14DouShouQiModel4GameC30addMoveChosenCallbacksListeneryyyAA5BoardV_AA0G0VAA6PlayerCtcF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "addInvalidMoveCallbacksListener", + "printedName": "addInvalidMoveCallbacksListener(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Board, DouShouQiModel.Move, DouShouQiModel.Player, Swift.Bool) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(DouShouQiModel.Board, DouShouQiModel.Move, DouShouQiModel.Player, Swift.Bool)", + "children": [ + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + }, + { + "kind": "TypeNominal", + "name": "Player", + "printedName": "DouShouQiModel.Player", + "usr": "s:14DouShouQiModel6PlayerC" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ] + } + ] + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel4GameC31addInvalidMoveCallbacksListeneryyyAA5BoardV_AA0H0VAA6PlayerCSbtcF", + "mangledName": "$s14DouShouQiModel4GameC31addInvalidMoveCallbacksListeneryyyAA5BoardV_AA0H0VAA6PlayerCSbtcF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "addBoardChangedListener", + "printedName": "addBoardChangedListener(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Board) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + } + ] + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel4GameC23addBoardChangedListeneryyyAA0G0VcF", + "mangledName": "$s14DouShouQiModel4GameC23addBoardChangedListeneryyyAA0G0VcF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "addPieceRemovedListener", + "printedName": "addPieceRemovedListener(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.Int, Swift.Int, DouShouQiModel.Piece) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(Swift.Int, Swift.Int, DouShouQiModel.Piece)", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Piece", + "printedName": "DouShouQiModel.Piece", + "usr": "s:14DouShouQiModel5PieceV" + } + ] + } + ] + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel4GameC23addPieceRemovedListeneryyySi_SiAA0G0VtcF", + "mangledName": "$s14DouShouQiModel4GameC23addPieceRemovedListeneryyySi_SiAA0G0VtcF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "onPlayed", + "printedName": "onPlayed(with:from:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.Move?", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Player", + "printedName": "DouShouQiModel.Player", + "usr": "s:14DouShouQiModel6PlayerC" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel4GameC8onPlayed4with4fromyAA4MoveVSg_AA6PlayerCtYaKF", + "mangledName": "$s14DouShouQiModel4GameC8onPlayed4with4fromyAA4MoveVSg_AA6PlayerCtYaKF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "isOver", + "printedName": "isOver", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel4GameC6isOverSbvp", + "mangledName": "$s14DouShouQiModel4GameC6isOverSbvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "SetterAccess", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel4GameC6isOverSbvg", + "mangledName": "$s14DouShouQiModel4GameC6isOverSbvg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "start", + "printedName": "start()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel4GameC5startyyYaKF", + "mangledName": "$s14DouShouQiModel4GameC5startyyYaKF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:14DouShouQiModel4GameC", + "mangledName": "$s14DouShouQiModel4GameC", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ] + } + ], + "json_format_version": 8 + }, + "ConstValues": [ + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 81, + "length": 1, + "value": "9" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 111, + "length": 1, + "value": "7" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 148, + "length": 1, + "value": "3" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 3048, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 3088, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "Array", + "offset": 3941, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "Dictionary", + "offset": 4285, + "length": 3, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "Array", + "offset": 4475, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 4517, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 4565, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "BooleanLiteral", + "offset": 4967, + "length": 5, + "value": "false" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "Array", + "offset": 6169, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 6189, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 6229, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 9685, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 10586, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 10906, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 11013, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "Array", + "offset": 11170, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 11188, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 11280, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 11325, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 11433, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 11477, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 11569, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 11632, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 11740, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "Array", + "offset": 12266, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 12307, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 12319, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 12326, + "length": 2, + "value": "-1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 12703, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 12714, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 12721, + "length": 2, + "value": "-1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 13086, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 13464, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "BooleanLiteral", + "offset": 15597, + "length": 4, + "value": "true" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 15704, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "BooleanLiteral", + "offset": 15728, + "length": 4, + "value": "true" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 15845, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "BooleanLiteral", + "offset": 15869, + "length": 4, + "value": "true" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "BooleanLiteral", + "offset": 16049, + "length": 4, + "value": "true" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "BooleanLiteral", + "offset": 16149, + "length": 5, + "value": "false" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 16579, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 16584, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "Dictionary", + "offset": 16948, + "length": 3, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "Array", + "offset": 17004, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Cell.swift", + "kind": "StringLiteral", + "offset": 122, + "length": 81, + "value": "\"\"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Cell.swift", + "kind": "StringLiteral", + "offset": 147, + "length": 4, + "value": "\"ø\"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Cell.swift", + "kind": "StringLiteral", + "offset": 152, + "length": 2, + "value": "\" on \"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Cell.swift", + "kind": "StringLiteral", + "offset": 167, + "length": 1, + "value": "\", \"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Cell.swift", + "kind": "StringLiteral", + "offset": 202, + "length": 1, + "value": "\"\"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 89, + "length": 1, + "value": "5" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 119, + "length": 1, + "value": "5" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 2067, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 2107, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 2267, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 2277, + "length": 1, + "value": "2" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 2419, + "length": 1, + "value": "4" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 2429, + "length": 1, + "value": "2" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 2964, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 3004, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "Array", + "offset": 3773, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 3793, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 3833, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "BooleanLiteral", + "offset": 4182, + "length": 4, + "value": "true" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "BooleanLiteral", + "offset": 4292, + "length": 5, + "value": "false" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "Array", + "offset": 4531, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "Array", + "offset": 4639, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 4773, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 4782, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 4800, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 4809, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 4925, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 5013, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "BooleanLiteral", + "offset": 6962, + "length": 4, + "value": "true" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 7077, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "BooleanLiteral", + "offset": 7105, + "length": 4, + "value": "true" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 7230, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "BooleanLiteral", + "offset": 7258, + "length": 4, + "value": "true" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "BooleanLiteral", + "offset": 7350, + "length": 5, + "value": "false" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "Dictionary", + "offset": 8072, + "length": 3, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "Array", + "offset": 8128, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Player.swift", + "kind": "Array", + "offset": 418, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", + "kind": "BooleanLiteral", + "offset": 475, + "length": 5, + "value": "false" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", + "kind": "IntegerLiteral", + "offset": 570, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", + "kind": "IntegerLiteral", + "offset": 694, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", + "kind": "IntegerLiteral", + "offset": 981, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", + "kind": "IntegerLiteral", + "offset": 996, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", + "kind": "IntegerLiteral", + "offset": 1015, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", + "kind": "IntegerLiteral", + "offset": 1049, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", + "kind": "IntegerLiteral", + "offset": 1212, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", + "kind": "IntegerLiteral", + "offset": 1278, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", + "kind": "IntegerLiteral", + "offset": 1548, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", + "kind": "IntegerLiteral", + "offset": 1579, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", + "kind": "IntegerLiteral", + "offset": 1979, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", + "kind": "IntegerLiteral", + "offset": 2010, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Piece.swift", + "kind": "StringLiteral", + "offset": 122, + "length": 40, + "value": "\"[\"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Piece.swift", + "kind": "StringLiteral", + "offset": 150, + "length": 1, + "value": "\":\"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Piece.swift", + "kind": "StringLiteral", + "offset": 160, + "length": 1, + "value": "\"]\"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Owner.swift", + "kind": "StringLiteral", + "offset": 183, + "length": 3, + "value": "\"x\"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Owner.swift", + "kind": "StringLiteral", + "offset": 229, + "length": 3, + "value": "\"1\"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Owner.swift", + "kind": "StringLiteral", + "offset": 275, + "length": 3, + "value": "\"2\"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Move.swift", + "kind": "StringLiteral", + "offset": 616, + "length": 87, + "value": "\"\"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Move.swift", + "kind": "StringLiteral", + "offset": 625, + "length": 1, + "value": "\": [\"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Move.swift", + "kind": "StringLiteral", + "offset": 640, + "length": 1, + "value": "\",\"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Move.swift", + "kind": "StringLiteral", + "offset": 656, + "length": 1, + "value": "\"] -> [\"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Move.swift", + "kind": "StringLiteral", + "offset": 679, + "length": 1, + "value": "\", \"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Move.swift", + "kind": "StringLiteral", + "offset": 701, + "length": 1, + "value": "\"]\"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 60, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 63, + "length": 3, + "value": "2" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 68, + "length": 3, + "value": "3" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 73, + "length": 4, + "value": "4" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 79, + "length": 7, + "value": "5" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 88, + "length": 5, + "value": "6" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 95, + "length": 4, + "value": "7" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 101, + "length": 8, + "value": "8" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 60, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 63, + "length": 3, + "value": "2" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 68, + "length": 3, + "value": "3" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 73, + "length": 4, + "value": "4" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 79, + "length": 7, + "value": "5" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 88, + "length": 5, + "value": "6" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 95, + "length": 4, + "value": "7" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 101, + "length": 8, + "value": "8" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 60, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 63, + "length": 3, + "value": "2" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 68, + "length": 3, + "value": "3" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 73, + "length": 4, + "value": "4" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 79, + "length": 7, + "value": "5" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 88, + "length": 5, + "value": "6" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 95, + "length": 4, + "value": "7" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 101, + "length": 8, + "value": "8" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", + "kind": "StringLiteral", + "offset": 513, + "length": 55, + "value": "\"The ids of players are not .player1 and then .player2\"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", + "kind": "StringLiteral", + "offset": 1483, + "length": 55, + "value": "\"The ids of players are not .player1 and then .player2\"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", + "kind": "Array", + "offset": 1754, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", + "kind": "Array", + "offset": 2090, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", + "kind": "Array", + "offset": 2582, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", + "kind": "Array", + "offset": 3012, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", + "kind": "Array", + "offset": 3416, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", + "kind": "Array", + "offset": 3827, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", + "kind": "Array", + "offset": 4261, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", + "kind": "Array", + "offset": 4580, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", + "kind": "BooleanLiteral", + "offset": 6361, + "length": 4, + "value": "true" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", + "kind": "BooleanLiteral", + "offset": 7044, + "length": 5, + "value": "false" + } + ] +} \ No newline at end of file diff --git a/NEPASTOUCHER/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface b/NEPASTOUCHER/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface new file mode 100644 index 0000000..9404081 --- /dev/null +++ b/NEPASTOUCHER/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface @@ -0,0 +1,266 @@ +// swift-interface-format-version: 1.0 +// swift-compiler-version: Apple Swift version 5.9.2 (swiftlang-5.9.2.2.56 clang-1500.1.0.2.5) +// swift-module-flags: -target x86_64-apple-ios16.0-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name DouShouQiModel +// swift-module-flags-ignorable: -enable-bare-slash-regex +@_exported import DouShouQiModel +import Foundation +import Swift +import _Concurrency +import _StringProcessing +import _SwiftConcurrencyShims +public enum Result : Swift.Equatable { + case notFinished + case even + case winner(winner: DouShouQiModel.Owner, reason: DouShouQiModel.WinningReason) + public static func == (a: DouShouQiModel.Result, b: DouShouQiModel.Result) -> Swift.Bool +} +public enum WinningReason { + case denReached, noMorePieces, tooManyOccurences, noMovesLeft + public static func == (a: DouShouQiModel.WinningReason, b: DouShouQiModel.WinningReason) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +public enum BoardResult : Swift.Equatable { + case unknown + case ok(piece: DouShouQiModel.Piece?) + case failed(reason: DouShouQiModel.BoardFailingReason) + public static func == (a: DouShouQiModel.BoardResult, b: DouShouQiModel.BoardResult) -> Swift.Bool +} +public enum BoardFailingReason { + case unknown, outOfBounds, cellNotEmpty, cellEmpty + public static func == (a: DouShouQiModel.BoardFailingReason, b: DouShouQiModel.BoardFailingReason) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +@_inheritsConvenienceInitializers public class HumanPlayer : DouShouQiModel.Player { + public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner, andInputMethod input: @escaping (_ hp: DouShouQiModel.HumanPlayer) -> DouShouQiModel.Move?) + override public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner) + #if compiler(>=5.3) && $AsyncAwait + override public func chooseMove(in board: DouShouQiModel.Board, with rules: any DouShouQiModel.Rules) async throws + #endif + public func changeInput(input: @escaping (_ hp: DouShouQiModel.HumanPlayer) -> DouShouQiModel.Move?) + #if compiler(>=5.3) && $AsyncAwait + public func chooseMove(_ move: DouShouQiModel.Move?) async throws + #endif + @objc deinit +} +public struct ClassicRules : DouShouQiModel.Rules { + public static func createBoard() -> DouShouQiModel.Board + public static func checkBoard(_ board: DouShouQiModel.Board) throws + public init() + public init(occurences: [DouShouQiModel.Board : Swift.Int], historic: [DouShouQiModel.Move]) + public func getMoves(in board: DouShouQiModel.Board, of owner: DouShouQiModel.Owner) -> [DouShouQiModel.Move] + public func getMoves(in board: DouShouQiModel.Board, of owner: DouShouQiModel.Owner, fromRow row: Swift.Int, andColumn col: Swift.Int) -> [DouShouQiModel.Move] + public func isMoveValid(onBoard board: DouShouQiModel.Board, fromRow originRow: Swift.Int, andFromColumn originColumn: Swift.Int, toRow destinationRow: Swift.Int, andToColumn destinationColumn: Swift.Int) -> Swift.Bool + public func isMoveValid(onBoard board: DouShouQiModel.Board, withMove move: DouShouQiModel.Move) -> Swift.Bool + public func isGameOver(withBoard board: DouShouQiModel.Board, andLastRowPlayed lastRow: Swift.Int, andLastColumnPlayer lastColumn: Swift.Int) -> (Swift.Bool, DouShouQiModel.Result) + public mutating func playedMove(_ move: DouShouQiModel.Move, onStartingBoard board: DouShouQiModel.Board, andResultingBoard resultingBoard: DouShouQiModel.Board) throws + public func getNextPlayer() -> DouShouQiModel.Owner + public var occurences: [DouShouQiModel.Board : Swift.Int] { + get + } + public var historic: [DouShouQiModel.Move] { + get + } +} +public struct Cell : Swift.CustomStringConvertible, Swift.Equatable { + public var description: Swift.String { + get + } + public let cellType: DouShouQiModel.CellType + public let initialOwner: DouShouQiModel.Owner + public var piece: DouShouQiModel.Piece? + public init(ofType cellType: DouShouQiModel.CellType, ownedBy initialOwner: DouShouQiModel.Owner = .noOne, withPiece piece: DouShouQiModel.Piece? = nil) + public static func == (a: DouShouQiModel.Cell, b: DouShouQiModel.Cell) -> Swift.Bool +} +public struct VerySimpleRules : DouShouQiModel.Rules { + public static func createBoard() -> DouShouQiModel.Board + public static func checkBoard(_ board: DouShouQiModel.Board) throws + public init() + public init(occurences: [DouShouQiModel.Board : Swift.Int], historic: [DouShouQiModel.Move]) + public func getMoves(in board: DouShouQiModel.Board, of owner: DouShouQiModel.Owner) -> [DouShouQiModel.Move] + public func getMoves(in board: DouShouQiModel.Board, of owner: DouShouQiModel.Owner, fromRow row: Swift.Int, andColumn col: Swift.Int) -> [DouShouQiModel.Move] + public func isMoveValid(onBoard board: DouShouQiModel.Board, fromRow originRow: Swift.Int, andFromColumn originColumn: Swift.Int, toRow destinationRow: Swift.Int, andToColumn destinationColumn: Swift.Int) -> Swift.Bool + public func isMoveValid(onBoard board: DouShouQiModel.Board, withMove move: DouShouQiModel.Move) -> Swift.Bool + public func isGameOver(withBoard board: DouShouQiModel.Board, andLastRowPlayed lastRow: Swift.Int, andLastColumnPlayer lastColumn: Swift.Int) -> (Swift.Bool, DouShouQiModel.Result) + public mutating func playedMove(_ move: DouShouQiModel.Move, onStartingBoard board: DouShouQiModel.Board, andResultingBoard resultingBoard: DouShouQiModel.Board) throws + public func getNextPlayer() -> DouShouQiModel.Owner + public var occurences: [DouShouQiModel.Board : Swift.Int] { + get + } + public var historic: [DouShouQiModel.Move] { + get + } +} +public protocol Rules { + static func createBoard() -> DouShouQiModel.Board + static func checkBoard(_ board: DouShouQiModel.Board) throws + func getNextPlayer() -> DouShouQiModel.Owner + func getMoves(in board: DouShouQiModel.Board, of: DouShouQiModel.Owner) -> [DouShouQiModel.Move] + func getMoves(in board: DouShouQiModel.Board, of: DouShouQiModel.Owner, fromRow row: Swift.Int, andColumn col: Swift.Int) -> [DouShouQiModel.Move] + func isMoveValid(onBoard: DouShouQiModel.Board, fromRow: Swift.Int, andFromColumn: Swift.Int, toRow: Swift.Int, andToColumn: Swift.Int) -> Swift.Bool + func isMoveValid(onBoard: DouShouQiModel.Board, withMove move: DouShouQiModel.Move) -> Swift.Bool + func isGameOver(withBoard: DouShouQiModel.Board, andLastRowPlayed: Swift.Int, andLastColumnPlayer: Swift.Int) -> (Swift.Bool, DouShouQiModel.Result) + mutating func playedMove(_ move: DouShouQiModel.Move, onStartingBoard board: DouShouQiModel.Board, andResultingBoard resultingBoard: DouShouQiModel.Board) throws + var occurences: [DouShouQiModel.Board : Swift.Int] { get } + var historic: [DouShouQiModel.Move] { get } +} +public class Player { + final public let name: Swift.String + final public let id: DouShouQiModel.Owner + public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner) + #if compiler(>=5.3) && $AsyncAwait + public func chooseMove(in board: DouShouQiModel.Board, with rules: any DouShouQiModel.Rules) async throws + #endif + #if compiler(>=5.3) && $AsyncAwait + public func addPlayedCallbacksListener(_ listener: @escaping (DouShouQiModel.Move?, DouShouQiModel.Player) async throws -> Swift.Void) + #endif + #if compiler(>=5.3) && $AsyncAwait + public func notifyPlayed(withMove move: DouShouQiModel.Move?, andPlayer player: DouShouQiModel.Player) async throws + #endif + @objc deinit +} +public enum GameError : Swift.Error { + case invalidMove, nextPlayerError, badPlayerId(message: Swift.String), invalidRules, invalidPlayer, invalidGame, invalidBoard +} +@_inheritsConvenienceInitializers public class RandomPlayer : DouShouQiModel.IAPlayer { + #if compiler(>=5.3) && $AsyncAwait + override public func chooseMove(in board: DouShouQiModel.Board, with rules: any DouShouQiModel.Rules) async throws + #endif + override public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner) + @objc deinit +} +public enum CellType : Swift.CaseIterable { + case unknown, jungle, water, trap, den + public static func == (a: DouShouQiModel.CellType, b: DouShouQiModel.CellType) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public typealias AllCases = [DouShouQiModel.CellType] + public static var allCases: [DouShouQiModel.CellType] { + get + } + public var hashValue: Swift.Int { + get + } +} +public struct Board : Swift.Hashable { + public func hash(into hasher: inout Swift.Hasher) + public let nbRows: Swift.Int + public let nbColumns: Swift.Int + public var grid: [[DouShouQiModel.Cell]] { + get + } + public init?(withGrid grid: [[DouShouQiModel.Cell]]) + public func countPieces(of owner: DouShouQiModel.Owner) -> Swift.Int + public func countPieces() -> (nbOfPiecesOfPlayer1: Swift.Int, nbOfPiecesOfPlayer2: Swift.Int) + public mutating func insert(piece: DouShouQiModel.Piece, atRow row: Swift.Int, andColumn column: Swift.Int) -> DouShouQiModel.BoardResult + public mutating func removePiece(atRow row: Swift.Int, andColumn column: Swift.Int) -> DouShouQiModel.BoardResult + public static func == (a: DouShouQiModel.Board, b: DouShouQiModel.Board) -> Swift.Bool + public var hashValue: Swift.Int { + get + } +} +public struct Piece : Swift.CustomStringConvertible, Swift.Hashable { + public var description: Swift.String { + get + } + public let owner: DouShouQiModel.Owner + public let animal: DouShouQiModel.Animal + public init(withOwner owner: DouShouQiModel.Owner, andAnimal animal: DouShouQiModel.Animal) + public func hash(into hasher: inout Swift.Hasher) + public static func == (a: DouShouQiModel.Piece, b: DouShouQiModel.Piece) -> Swift.Bool + public var hashValue: Swift.Int { + get + } +} +public enum InvalidBoardError : Swift.Error, Swift.Equatable { + case unknownError + case badDimensions(nbRows: Swift.Int, nbColumns: Swift.Int) + case badCellType(cellType: DouShouQiModel.CellType, row: Swift.Int, column: Swift.Int) + case multipleOccurenceOfSamePiece(piece: DouShouQiModel.Piece) + case pieceWithNoOwner(piece: DouShouQiModel.Piece) + case pieceNotAllowedOnThisCell(piece: DouShouQiModel.Piece, cell: DouShouQiModel.Cell) + public static func == (a: DouShouQiModel.InvalidBoardError, b: DouShouQiModel.InvalidBoardError) -> Swift.Bool +} +public enum Owner { + case noOne, player1, player2 + public var simpleDescription: Swift.String { + get + } + public static func == (a: DouShouQiModel.Owner, b: DouShouQiModel.Owner) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +@_inheritsConvenienceInitializers public class IAPlayer : DouShouQiModel.Player { + override public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner) + @objc deinit +} +public struct Move : Swift.CustomStringConvertible, Swift.Equatable { + public let owner: DouShouQiModel.Owner + public let rowOrigin: Swift.Int + public let columnOrigin: Swift.Int + public let rowDestination: Swift.Int + public let columnDestination: Swift.Int + public init(of owner: DouShouQiModel.Owner, fromRow rowOrigin: Swift.Int, andFromColumn colOrigin: Swift.Int, toRow rowDest: Swift.Int, andToColumn colDest: Swift.Int) + public var description: Swift.String { + get + } + public static func == (a: DouShouQiModel.Move, b: DouShouQiModel.Move) -> Swift.Bool +} +public enum Animal : Swift.Int { + case rat, cat, dog, wolf, leopard, tiger, lion, elephant + public init?(rawValue: Swift.Int) + public typealias RawValue = Swift.Int + public var rawValue: Swift.Int { + get + } +} +public class Game { + public var board: DouShouQiModel.Board { + get + } + public var rules: any DouShouQiModel.Rules { + get + } + final public let players: [DouShouQiModel.Owner : DouShouQiModel.Player] + public init(withRules rules: any DouShouQiModel.Rules, andPlayer1 player1: DouShouQiModel.Player, andPlayer2 player2: DouShouQiModel.Player) throws + public init(withBoard board: DouShouQiModel.Board, andRules rules: any DouShouQiModel.Rules, andPlayer1 player1: DouShouQiModel.Player, andPlayer2 player2: DouShouQiModel.Player) throws + public func addGameStartedListener(_ listener: @escaping (DouShouQiModel.Board) -> Swift.Void) + #if compiler(>=5.3) && $AsyncAwait + public func addPlayerNotifiedListener(_ listener: @escaping (DouShouQiModel.Board, DouShouQiModel.Player) async throws -> Swift.Void) + #endif + #if compiler(>=5.3) && $AsyncAwait + public func addGameChangedListener(_ listener: @escaping (DouShouQiModel.Game) async -> Swift.Void) + #endif + public func addGameOverListener(_ listener: @escaping (DouShouQiModel.Board, DouShouQiModel.Result, DouShouQiModel.Player?) -> Swift.Void) + public func addMoveChosenCallbacksListener(_ listener: @escaping (DouShouQiModel.Board, DouShouQiModel.Move, DouShouQiModel.Player) -> Swift.Void) + public func addInvalidMoveCallbacksListener(_ listener: @escaping (DouShouQiModel.Board, DouShouQiModel.Move, DouShouQiModel.Player, Swift.Bool) -> Swift.Void) + public func addBoardChangedListener(_ listener: @escaping (DouShouQiModel.Board) -> Swift.Void) + public func addPieceRemovedListener(_ listener: @escaping (Swift.Int, Swift.Int, DouShouQiModel.Piece) -> Swift.Void) + #if compiler(>=5.3) && $AsyncAwait + public func onPlayed(with move: DouShouQiModel.Move?, from player: DouShouQiModel.Player) async throws + #endif + public var isOver: Swift.Bool { + get + } + #if compiler(>=5.3) && $AsyncAwait + public func start() async throws + #endif + @objc deinit +} +extension DouShouQiModel.WinningReason : Swift.Equatable {} +extension DouShouQiModel.WinningReason : Swift.Hashable {} +extension DouShouQiModel.BoardFailingReason : Swift.Equatable {} +extension DouShouQiModel.BoardFailingReason : Swift.Hashable {} +extension DouShouQiModel.CellType : Swift.Equatable {} +extension DouShouQiModel.CellType : Swift.Hashable {} +extension DouShouQiModel.Owner : Swift.Equatable {} +extension DouShouQiModel.Owner : Swift.Hashable {} +extension DouShouQiModel.Animal : Swift.Equatable {} +extension DouShouQiModel.Animal : Swift.Hashable {} +extension DouShouQiModel.Animal : Swift.RawRepresentable {} diff --git a/NEPASTOUCHER/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/x86_64-apple-ios-simulator.swiftdoc b/NEPASTOUCHER/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/x86_64-apple-ios-simulator.swiftdoc new file mode 100644 index 0000000..a83d9d1 Binary files /dev/null and b/NEPASTOUCHER/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/x86_64-apple-ios-simulator.swiftdoc differ diff --git a/NEPASTOUCHER/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/x86_64-apple-ios-simulator.swiftinterface b/NEPASTOUCHER/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/x86_64-apple-ios-simulator.swiftinterface new file mode 100644 index 0000000..9404081 --- /dev/null +++ b/NEPASTOUCHER/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/x86_64-apple-ios-simulator.swiftinterface @@ -0,0 +1,266 @@ +// swift-interface-format-version: 1.0 +// swift-compiler-version: Apple Swift version 5.9.2 (swiftlang-5.9.2.2.56 clang-1500.1.0.2.5) +// swift-module-flags: -target x86_64-apple-ios16.0-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name DouShouQiModel +// swift-module-flags-ignorable: -enable-bare-slash-regex +@_exported import DouShouQiModel +import Foundation +import Swift +import _Concurrency +import _StringProcessing +import _SwiftConcurrencyShims +public enum Result : Swift.Equatable { + case notFinished + case even + case winner(winner: DouShouQiModel.Owner, reason: DouShouQiModel.WinningReason) + public static func == (a: DouShouQiModel.Result, b: DouShouQiModel.Result) -> Swift.Bool +} +public enum WinningReason { + case denReached, noMorePieces, tooManyOccurences, noMovesLeft + public static func == (a: DouShouQiModel.WinningReason, b: DouShouQiModel.WinningReason) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +public enum BoardResult : Swift.Equatable { + case unknown + case ok(piece: DouShouQiModel.Piece?) + case failed(reason: DouShouQiModel.BoardFailingReason) + public static func == (a: DouShouQiModel.BoardResult, b: DouShouQiModel.BoardResult) -> Swift.Bool +} +public enum BoardFailingReason { + case unknown, outOfBounds, cellNotEmpty, cellEmpty + public static func == (a: DouShouQiModel.BoardFailingReason, b: DouShouQiModel.BoardFailingReason) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +@_inheritsConvenienceInitializers public class HumanPlayer : DouShouQiModel.Player { + public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner, andInputMethod input: @escaping (_ hp: DouShouQiModel.HumanPlayer) -> DouShouQiModel.Move?) + override public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner) + #if compiler(>=5.3) && $AsyncAwait + override public func chooseMove(in board: DouShouQiModel.Board, with rules: any DouShouQiModel.Rules) async throws + #endif + public func changeInput(input: @escaping (_ hp: DouShouQiModel.HumanPlayer) -> DouShouQiModel.Move?) + #if compiler(>=5.3) && $AsyncAwait + public func chooseMove(_ move: DouShouQiModel.Move?) async throws + #endif + @objc deinit +} +public struct ClassicRules : DouShouQiModel.Rules { + public static func createBoard() -> DouShouQiModel.Board + public static func checkBoard(_ board: DouShouQiModel.Board) throws + public init() + public init(occurences: [DouShouQiModel.Board : Swift.Int], historic: [DouShouQiModel.Move]) + public func getMoves(in board: DouShouQiModel.Board, of owner: DouShouQiModel.Owner) -> [DouShouQiModel.Move] + public func getMoves(in board: DouShouQiModel.Board, of owner: DouShouQiModel.Owner, fromRow row: Swift.Int, andColumn col: Swift.Int) -> [DouShouQiModel.Move] + public func isMoveValid(onBoard board: DouShouQiModel.Board, fromRow originRow: Swift.Int, andFromColumn originColumn: Swift.Int, toRow destinationRow: Swift.Int, andToColumn destinationColumn: Swift.Int) -> Swift.Bool + public func isMoveValid(onBoard board: DouShouQiModel.Board, withMove move: DouShouQiModel.Move) -> Swift.Bool + public func isGameOver(withBoard board: DouShouQiModel.Board, andLastRowPlayed lastRow: Swift.Int, andLastColumnPlayer lastColumn: Swift.Int) -> (Swift.Bool, DouShouQiModel.Result) + public mutating func playedMove(_ move: DouShouQiModel.Move, onStartingBoard board: DouShouQiModel.Board, andResultingBoard resultingBoard: DouShouQiModel.Board) throws + public func getNextPlayer() -> DouShouQiModel.Owner + public var occurences: [DouShouQiModel.Board : Swift.Int] { + get + } + public var historic: [DouShouQiModel.Move] { + get + } +} +public struct Cell : Swift.CustomStringConvertible, Swift.Equatable { + public var description: Swift.String { + get + } + public let cellType: DouShouQiModel.CellType + public let initialOwner: DouShouQiModel.Owner + public var piece: DouShouQiModel.Piece? + public init(ofType cellType: DouShouQiModel.CellType, ownedBy initialOwner: DouShouQiModel.Owner = .noOne, withPiece piece: DouShouQiModel.Piece? = nil) + public static func == (a: DouShouQiModel.Cell, b: DouShouQiModel.Cell) -> Swift.Bool +} +public struct VerySimpleRules : DouShouQiModel.Rules { + public static func createBoard() -> DouShouQiModel.Board + public static func checkBoard(_ board: DouShouQiModel.Board) throws + public init() + public init(occurences: [DouShouQiModel.Board : Swift.Int], historic: [DouShouQiModel.Move]) + public func getMoves(in board: DouShouQiModel.Board, of owner: DouShouQiModel.Owner) -> [DouShouQiModel.Move] + public func getMoves(in board: DouShouQiModel.Board, of owner: DouShouQiModel.Owner, fromRow row: Swift.Int, andColumn col: Swift.Int) -> [DouShouQiModel.Move] + public func isMoveValid(onBoard board: DouShouQiModel.Board, fromRow originRow: Swift.Int, andFromColumn originColumn: Swift.Int, toRow destinationRow: Swift.Int, andToColumn destinationColumn: Swift.Int) -> Swift.Bool + public func isMoveValid(onBoard board: DouShouQiModel.Board, withMove move: DouShouQiModel.Move) -> Swift.Bool + public func isGameOver(withBoard board: DouShouQiModel.Board, andLastRowPlayed lastRow: Swift.Int, andLastColumnPlayer lastColumn: Swift.Int) -> (Swift.Bool, DouShouQiModel.Result) + public mutating func playedMove(_ move: DouShouQiModel.Move, onStartingBoard board: DouShouQiModel.Board, andResultingBoard resultingBoard: DouShouQiModel.Board) throws + public func getNextPlayer() -> DouShouQiModel.Owner + public var occurences: [DouShouQiModel.Board : Swift.Int] { + get + } + public var historic: [DouShouQiModel.Move] { + get + } +} +public protocol Rules { + static func createBoard() -> DouShouQiModel.Board + static func checkBoard(_ board: DouShouQiModel.Board) throws + func getNextPlayer() -> DouShouQiModel.Owner + func getMoves(in board: DouShouQiModel.Board, of: DouShouQiModel.Owner) -> [DouShouQiModel.Move] + func getMoves(in board: DouShouQiModel.Board, of: DouShouQiModel.Owner, fromRow row: Swift.Int, andColumn col: Swift.Int) -> [DouShouQiModel.Move] + func isMoveValid(onBoard: DouShouQiModel.Board, fromRow: Swift.Int, andFromColumn: Swift.Int, toRow: Swift.Int, andToColumn: Swift.Int) -> Swift.Bool + func isMoveValid(onBoard: DouShouQiModel.Board, withMove move: DouShouQiModel.Move) -> Swift.Bool + func isGameOver(withBoard: DouShouQiModel.Board, andLastRowPlayed: Swift.Int, andLastColumnPlayer: Swift.Int) -> (Swift.Bool, DouShouQiModel.Result) + mutating func playedMove(_ move: DouShouQiModel.Move, onStartingBoard board: DouShouQiModel.Board, andResultingBoard resultingBoard: DouShouQiModel.Board) throws + var occurences: [DouShouQiModel.Board : Swift.Int] { get } + var historic: [DouShouQiModel.Move] { get } +} +public class Player { + final public let name: Swift.String + final public let id: DouShouQiModel.Owner + public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner) + #if compiler(>=5.3) && $AsyncAwait + public func chooseMove(in board: DouShouQiModel.Board, with rules: any DouShouQiModel.Rules) async throws + #endif + #if compiler(>=5.3) && $AsyncAwait + public func addPlayedCallbacksListener(_ listener: @escaping (DouShouQiModel.Move?, DouShouQiModel.Player) async throws -> Swift.Void) + #endif + #if compiler(>=5.3) && $AsyncAwait + public func notifyPlayed(withMove move: DouShouQiModel.Move?, andPlayer player: DouShouQiModel.Player) async throws + #endif + @objc deinit +} +public enum GameError : Swift.Error { + case invalidMove, nextPlayerError, badPlayerId(message: Swift.String), invalidRules, invalidPlayer, invalidGame, invalidBoard +} +@_inheritsConvenienceInitializers public class RandomPlayer : DouShouQiModel.IAPlayer { + #if compiler(>=5.3) && $AsyncAwait + override public func chooseMove(in board: DouShouQiModel.Board, with rules: any DouShouQiModel.Rules) async throws + #endif + override public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner) + @objc deinit +} +public enum CellType : Swift.CaseIterable { + case unknown, jungle, water, trap, den + public static func == (a: DouShouQiModel.CellType, b: DouShouQiModel.CellType) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public typealias AllCases = [DouShouQiModel.CellType] + public static var allCases: [DouShouQiModel.CellType] { + get + } + public var hashValue: Swift.Int { + get + } +} +public struct Board : Swift.Hashable { + public func hash(into hasher: inout Swift.Hasher) + public let nbRows: Swift.Int + public let nbColumns: Swift.Int + public var grid: [[DouShouQiModel.Cell]] { + get + } + public init?(withGrid grid: [[DouShouQiModel.Cell]]) + public func countPieces(of owner: DouShouQiModel.Owner) -> Swift.Int + public func countPieces() -> (nbOfPiecesOfPlayer1: Swift.Int, nbOfPiecesOfPlayer2: Swift.Int) + public mutating func insert(piece: DouShouQiModel.Piece, atRow row: Swift.Int, andColumn column: Swift.Int) -> DouShouQiModel.BoardResult + public mutating func removePiece(atRow row: Swift.Int, andColumn column: Swift.Int) -> DouShouQiModel.BoardResult + public static func == (a: DouShouQiModel.Board, b: DouShouQiModel.Board) -> Swift.Bool + public var hashValue: Swift.Int { + get + } +} +public struct Piece : Swift.CustomStringConvertible, Swift.Hashable { + public var description: Swift.String { + get + } + public let owner: DouShouQiModel.Owner + public let animal: DouShouQiModel.Animal + public init(withOwner owner: DouShouQiModel.Owner, andAnimal animal: DouShouQiModel.Animal) + public func hash(into hasher: inout Swift.Hasher) + public static func == (a: DouShouQiModel.Piece, b: DouShouQiModel.Piece) -> Swift.Bool + public var hashValue: Swift.Int { + get + } +} +public enum InvalidBoardError : Swift.Error, Swift.Equatable { + case unknownError + case badDimensions(nbRows: Swift.Int, nbColumns: Swift.Int) + case badCellType(cellType: DouShouQiModel.CellType, row: Swift.Int, column: Swift.Int) + case multipleOccurenceOfSamePiece(piece: DouShouQiModel.Piece) + case pieceWithNoOwner(piece: DouShouQiModel.Piece) + case pieceNotAllowedOnThisCell(piece: DouShouQiModel.Piece, cell: DouShouQiModel.Cell) + public static func == (a: DouShouQiModel.InvalidBoardError, b: DouShouQiModel.InvalidBoardError) -> Swift.Bool +} +public enum Owner { + case noOne, player1, player2 + public var simpleDescription: Swift.String { + get + } + public static func == (a: DouShouQiModel.Owner, b: DouShouQiModel.Owner) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +@_inheritsConvenienceInitializers public class IAPlayer : DouShouQiModel.Player { + override public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner) + @objc deinit +} +public struct Move : Swift.CustomStringConvertible, Swift.Equatable { + public let owner: DouShouQiModel.Owner + public let rowOrigin: Swift.Int + public let columnOrigin: Swift.Int + public let rowDestination: Swift.Int + public let columnDestination: Swift.Int + public init(of owner: DouShouQiModel.Owner, fromRow rowOrigin: Swift.Int, andFromColumn colOrigin: Swift.Int, toRow rowDest: Swift.Int, andToColumn colDest: Swift.Int) + public var description: Swift.String { + get + } + public static func == (a: DouShouQiModel.Move, b: DouShouQiModel.Move) -> Swift.Bool +} +public enum Animal : Swift.Int { + case rat, cat, dog, wolf, leopard, tiger, lion, elephant + public init?(rawValue: Swift.Int) + public typealias RawValue = Swift.Int + public var rawValue: Swift.Int { + get + } +} +public class Game { + public var board: DouShouQiModel.Board { + get + } + public var rules: any DouShouQiModel.Rules { + get + } + final public let players: [DouShouQiModel.Owner : DouShouQiModel.Player] + public init(withRules rules: any DouShouQiModel.Rules, andPlayer1 player1: DouShouQiModel.Player, andPlayer2 player2: DouShouQiModel.Player) throws + public init(withBoard board: DouShouQiModel.Board, andRules rules: any DouShouQiModel.Rules, andPlayer1 player1: DouShouQiModel.Player, andPlayer2 player2: DouShouQiModel.Player) throws + public func addGameStartedListener(_ listener: @escaping (DouShouQiModel.Board) -> Swift.Void) + #if compiler(>=5.3) && $AsyncAwait + public func addPlayerNotifiedListener(_ listener: @escaping (DouShouQiModel.Board, DouShouQiModel.Player) async throws -> Swift.Void) + #endif + #if compiler(>=5.3) && $AsyncAwait + public func addGameChangedListener(_ listener: @escaping (DouShouQiModel.Game) async -> Swift.Void) + #endif + public func addGameOverListener(_ listener: @escaping (DouShouQiModel.Board, DouShouQiModel.Result, DouShouQiModel.Player?) -> Swift.Void) + public func addMoveChosenCallbacksListener(_ listener: @escaping (DouShouQiModel.Board, DouShouQiModel.Move, DouShouQiModel.Player) -> Swift.Void) + public func addInvalidMoveCallbacksListener(_ listener: @escaping (DouShouQiModel.Board, DouShouQiModel.Move, DouShouQiModel.Player, Swift.Bool) -> Swift.Void) + public func addBoardChangedListener(_ listener: @escaping (DouShouQiModel.Board) -> Swift.Void) + public func addPieceRemovedListener(_ listener: @escaping (Swift.Int, Swift.Int, DouShouQiModel.Piece) -> Swift.Void) + #if compiler(>=5.3) && $AsyncAwait + public func onPlayed(with move: DouShouQiModel.Move?, from player: DouShouQiModel.Player) async throws + #endif + public var isOver: Swift.Bool { + get + } + #if compiler(>=5.3) && $AsyncAwait + public func start() async throws + #endif + @objc deinit +} +extension DouShouQiModel.WinningReason : Swift.Equatable {} +extension DouShouQiModel.WinningReason : Swift.Hashable {} +extension DouShouQiModel.BoardFailingReason : Swift.Equatable {} +extension DouShouQiModel.BoardFailingReason : Swift.Hashable {} +extension DouShouQiModel.CellType : Swift.Equatable {} +extension DouShouQiModel.CellType : Swift.Hashable {} +extension DouShouQiModel.Owner : Swift.Equatable {} +extension DouShouQiModel.Owner : Swift.Hashable {} +extension DouShouQiModel.Animal : Swift.Equatable {} +extension DouShouQiModel.Animal : Swift.Hashable {} +extension DouShouQiModel.Animal : Swift.RawRepresentable {} diff --git a/NEPASTOUCHER/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Modules/module.modulemap b/NEPASTOUCHER/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Modules/module.modulemap new file mode 100644 index 0000000..e7aa10a --- /dev/null +++ b/NEPASTOUCHER/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Modules/module.modulemap @@ -0,0 +1,11 @@ +framework module DouShouQiModel { + umbrella header "DouShouQiModel.h" + export * + + module * { export * } +} + +module DouShouQiModel.Swift { + header "DouShouQiModel-Swift.h" + requires objc +} diff --git a/NEPASTOUCHER/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/_CodeSignature/CodeResources b/NEPASTOUCHER/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/_CodeSignature/CodeResources new file mode 100644 index 0000000..c34fa55 --- /dev/null +++ b/NEPASTOUCHER/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/_CodeSignature/CodeResources @@ -0,0 +1,245 @@ + + + + + files + + Headers/DouShouQiModel-Swift.h + + Ugz84k7Dtyq8c1kVv5knXzRL8M8= + + Headers/DouShouQiModel.h + + oRFeERlH0MoI6LrvagIzL3ni4lM= + + Info.plist + + nK7+MI/Ze6f+km/d+6SafK4UOHw= + + Modules/DouShouQiModel.swiftmodule/arm64-apple-ios-simulator.abi.json + + 5wlrw/S604f6EkkdO0sjydo0+Bc= + + Modules/DouShouQiModel.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface + + iWelfKfa40hASjZTv+0MmwJpt14= + + Modules/DouShouQiModel.swiftmodule/arm64-apple-ios-simulator.swiftdoc + + uNDHcaRHf/ULIsVZEMiJY2HGm4c= + + Modules/DouShouQiModel.swiftmodule/arm64-apple-ios-simulator.swiftinterface + + iWelfKfa40hASjZTv+0MmwJpt14= + + Modules/DouShouQiModel.swiftmodule/arm64-apple-ios-simulator.swiftmodule + + hIkz8AGNOjj+boCk29AkmkNg7U4= + + Modules/DouShouQiModel.swiftmodule/x86_64-apple-ios-simulator.abi.json + + 5wlrw/S604f6EkkdO0sjydo0+Bc= + + Modules/DouShouQiModel.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface + + ulNUxrIsFIWqKNx6spilb7IJVR0= + + Modules/DouShouQiModel.swiftmodule/x86_64-apple-ios-simulator.swiftdoc + + tkYnhquJQVCRsNSI7Hl83a7/uFk= + + Modules/DouShouQiModel.swiftmodule/x86_64-apple-ios-simulator.swiftinterface + + ulNUxrIsFIWqKNx6spilb7IJVR0= + + Modules/DouShouQiModel.swiftmodule/x86_64-apple-ios-simulator.swiftmodule + + 0ZAcidlUuohX1myhyQosgBBZq1s= + + Modules/module.modulemap + + tOh1oseR3w5cW6xQIaaghrv9LlM= + + + files2 + + Headers/DouShouQiModel-Swift.h + + hash2 + + X8yw4Beas8gUjOV/b4G2i2nanoGnSlTcLKeBiIYLXRI= + + + Headers/DouShouQiModel.h + + hash2 + + a0LOmZXPnWhpMKaBoW1IdxOGAzn4RhRBe32928+2jeU= + + + Modules/DouShouQiModel.swiftmodule/arm64-apple-ios-simulator.abi.json + + hash2 + + btM982otm47LMNIetdE5JR553fM9PjFPuS8AXm0+EpQ= + + + Modules/DouShouQiModel.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface + + hash2 + + oe48ffKwbmJhKUMG/td3wfVID9DF4QgJz/dIPJweV5g= + + + Modules/DouShouQiModel.swiftmodule/arm64-apple-ios-simulator.swiftdoc + + hash2 + + cpfiPzUVsQ9nZcmz7k/CLhMlNAa3hCWAVPNrKBhrKls= + + + Modules/DouShouQiModel.swiftmodule/arm64-apple-ios-simulator.swiftinterface + + hash2 + + oe48ffKwbmJhKUMG/td3wfVID9DF4QgJz/dIPJweV5g= + + + Modules/DouShouQiModel.swiftmodule/arm64-apple-ios-simulator.swiftmodule + + hash2 + + q85NBK13clOQfgVFgVjmL6pWsskBEw+Z45xPFMxL1+E= + + + Modules/DouShouQiModel.swiftmodule/x86_64-apple-ios-simulator.abi.json + + hash2 + + btM982otm47LMNIetdE5JR553fM9PjFPuS8AXm0+EpQ= + + + Modules/DouShouQiModel.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface + + hash2 + + agKcCCqs9pHq1e94l4ouc5WojSYeRzzGkrHxkw9FZ8c= + + + Modules/DouShouQiModel.swiftmodule/x86_64-apple-ios-simulator.swiftdoc + + hash2 + + SsJ/b3BHzQ9S5Wz5tzNZPeo8WQ4dX+hCQFo95fU45as= + + + Modules/DouShouQiModel.swiftmodule/x86_64-apple-ios-simulator.swiftinterface + + hash2 + + agKcCCqs9pHq1e94l4ouc5WojSYeRzzGkrHxkw9FZ8c= + + + Modules/DouShouQiModel.swiftmodule/x86_64-apple-ios-simulator.swiftmodule + + hash2 + + 0C4f5rpOmGFG3B9PLb/e4rylk+OdtHUNKJ+aW1e+MCE= + + + Modules/module.modulemap + + hash2 + + XJ885pOXSQHhlMUP6dyA/ER9+SP/HZ+IMImbB4k5+rI= + + + + rules + + ^.* + + ^.*\.lproj/ + + optional + + weight + 1000 + + ^.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Base\.lproj/ + + weight + 1010 + + ^version.plist$ + + + rules2 + + .*\.dSYM($|/) + + weight + 11 + + ^(.*/)?\.DS_Store$ + + omit + + weight + 2000 + + ^.* + + ^.*\.lproj/ + + optional + + weight + 1000 + + ^.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Base\.lproj/ + + weight + 1010 + + ^Info\.plist$ + + omit + + weight + 20 + + ^PkgInfo$ + + omit + + weight + 20 + + ^embedded\.provisionprofile$ + + weight + 20 + + ^version\.plist$ + + weight + 20 + + + + diff --git a/NEPASTOUCHER/DSQ.xcframework/ios-arm64_x86_64-simulator/dSYMs/DouShouQiModel.framework.dSYM/Contents/Info.plist b/NEPASTOUCHER/DSQ.xcframework/ios-arm64_x86_64-simulator/dSYMs/DouShouQiModel.framework.dSYM/Contents/Info.plist new file mode 100644 index 0000000..4d0656e --- /dev/null +++ b/NEPASTOUCHER/DSQ.xcframework/ios-arm64_x86_64-simulator/dSYMs/DouShouQiModel.framework.dSYM/Contents/Info.plist @@ -0,0 +1,20 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleIdentifier + com.apple.xcode.dsym.fr.uca.iut.DouShouQiModel + CFBundleInfoDictionaryVersion + 6.0 + CFBundlePackageType + dSYM + CFBundleSignature + ???? + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1 + + diff --git a/NEPASTOUCHER/DSQ.xcframework/ios-arm64_x86_64-simulator/dSYMs/DouShouQiModel.framework.dSYM/Contents/Resources/DWARF/DouShouQiModel b/NEPASTOUCHER/DSQ.xcframework/ios-arm64_x86_64-simulator/dSYMs/DouShouQiModel.framework.dSYM/Contents/Resources/DWARF/DouShouQiModel new file mode 100644 index 0000000..ea5947c Binary files /dev/null and b/NEPASTOUCHER/DSQ.xcframework/ios-arm64_x86_64-simulator/dSYMs/DouShouQiModel.framework.dSYM/Contents/Resources/DWARF/DouShouQiModel differ diff --git a/NEPASTOUCHER/DSQ.xcframework/ios-arm64_x86_64-simulator/dSYMs/DouShouQiModel.framework.dSYM/Contents/Resources/Relocations/aarch64/DouShouQiModel.yml b/NEPASTOUCHER/DSQ.xcframework/ios-arm64_x86_64-simulator/dSYMs/DouShouQiModel.framework.dSYM/Contents/Resources/Relocations/aarch64/DouShouQiModel.yml new file mode 100644 index 0000000..83b6cd1 --- /dev/null +++ b/NEPASTOUCHER/DSQ.xcframework/ios-arm64_x86_64-simulator/dSYMs/DouShouQiModel.framework.dSYM/Contents/Resources/Relocations/aarch64/DouShouQiModel.yml @@ -0,0 +1,504 @@ +--- +triple: 'arm64-apple-darwin' +binary-path: '/Users/marcchevaldonne/Library/Developer/Xcode/DerivedData/DouShouQiModel-bzzvovsrfmbhuydeirorjmljgtyf/Build/Intermediates.noindex/ArchiveIntermediates/DouShouQiModel/InstallationBuildProductsLocation/Library/Frameworks/DouShouQiModel.framework/DouShouQiModel' +relocations: + - { offsetInCU: 0x34, offset: 0x2EDE3, size: 0x8, addend: 0x0, symName: _DouShouQiModelVersionString, symObjAddr: 0x0, symBinAddr: 0x10F10, symSize: 0x0 } + - { offsetInCU: 0x69, offset: 0x2EE18, size: 0x8, addend: 0x0, symName: _DouShouQiModelVersionNumber, symObjAddr: 0x38, symBinAddr: 0x10F48, symSize: 0x0 } + - { offsetInCU: 0x27, offset: 0x2EE55, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6ResultO2eeoiySbAC_ACtFZ', symObjAddr: 0x0, symBinAddr: 0xE64, symSize: 0x4 } + - { offsetInCU: 0x4B, offset: 0x2EE79, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6ResultO2eeoiySbAC_ACtFZ', symObjAddr: 0x0, symBinAddr: 0xE64, symSize: 0x4 } + - { offsetInCU: 0x6E, offset: 0x2EE9C, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6ResultOSQAASQ2eeoiySbx_xtFZTW', symObjAddr: 0x18, symBinAddr: 0xE7C, symSize: 0x4 } + - { offsetInCU: 0x8E, offset: 0x2EEBC, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6ResultOSQAASQ2eeoiySbx_xtFZTW', symObjAddr: 0x18, symBinAddr: 0xE7C, symSize: 0x4 } + - { offsetInCU: 0x9F, offset: 0x2EECD, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6ResultO2eeoiySbAC_ACtFZTf4nnd_n', symObjAddr: 0x148, symBinAddr: 0xFAC, symSize: 0x68 } + - { offsetInCU: 0xDD, offset: 0x2EF0B, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel13WinningReasonO2eeoiySbAC_ACtFZ', symObjAddr: 0x4, symBinAddr: 0xE68, symSize: 0x14 } + - { offsetInCU: 0x110, offset: 0x2EF3E, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel13WinningReasonO4hash4intoys6HasherVz_tF', symObjAddr: 0x1C, symBinAddr: 0xE80, symSize: 0x28 } + - { offsetInCU: 0x1A6, offset: 0x2EFD4, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel13WinningReasonO9hashValueSivg', symObjAddr: 0x44, symBinAddr: 0xEA8, symSize: 0x44 } + - { offsetInCU: 0x2A0, offset: 0x2F0CE, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel13WinningReasonOSQAASQ2eeoiySbx_xtFZTW', symObjAddr: 0x88, symBinAddr: 0xEEC, symSize: 0x14 } + - { offsetInCU: 0x2C0, offset: 0x2F0EE, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel13WinningReasonOSQAASQ2eeoiySbx_xtFZTW', symObjAddr: 0x88, symBinAddr: 0xEEC, symSize: 0x14 } + - { offsetInCU: 0x300, offset: 0x2F12E, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel13WinningReasonOSHAASH9hashValueSivgTW', symObjAddr: 0x9C, symBinAddr: 0xF00, symSize: 0x44 } + - { offsetInCU: 0x3E3, offset: 0x2F211, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel13WinningReasonOSHAASH4hash4intoys6HasherVz_tFTW', symObjAddr: 0xE0, symBinAddr: 0xF44, symSize: 0x28 } + - { offsetInCU: 0x46C, offset: 0x2F29A, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel13WinningReasonOSHAASQWb', symObjAddr: 0x1B0, symBinAddr: 0x1014, symSize: 0x4 } + - { offsetInCU: 0x480, offset: 0x2F2AE, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel13WinningReasonOACSQAAWl', symObjAddr: 0x1B4, symBinAddr: 0x1018, symSize: 0x44 } + - { offsetInCU: 0x494, offset: 0x2F2C2, size: 0x8, addend: 0x0, symName: ___swift_memcpy2_1, symObjAddr: 0x1F8, symBinAddr: 0x105C, symSize: 0xC } + - { offsetInCU: 0x4A8, offset: 0x2F2D6, size: 0x8, addend: 0x0, symName: ___swift_noop_void_return, symObjAddr: 0x204, symBinAddr: 0x1068, symSize: 0x4 } + - { offsetInCU: 0x4BC, offset: 0x2F2EA, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6ResultOwet', symObjAddr: 0x208, symBinAddr: 0x106C, symSize: 0xAC } + - { offsetInCU: 0x4D0, offset: 0x2F2FE, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6ResultOwst', symObjAddr: 0x2B4, symBinAddr: 0x1118, symSize: 0xC4 } + - { offsetInCU: 0x4E4, offset: 0x2F312, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6ResultOwug', symObjAddr: 0x378, symBinAddr: 0x11DC, symSize: 0x14 } + - { offsetInCU: 0x4F8, offset: 0x2F326, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6ResultOwup', symObjAddr: 0x38C, symBinAddr: 0x11F0, symSize: 0x4 } + - { offsetInCU: 0x50C, offset: 0x2F33A, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6ResultOwui', symObjAddr: 0x390, symBinAddr: 0x11F4, symSize: 0x24 } + - { offsetInCU: 0x520, offset: 0x2F34E, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6ResultOMa', symObjAddr: 0x3B4, symBinAddr: 0x1218, symSize: 0x10 } + - { offsetInCU: 0x534, offset: 0x2F362, size: 0x8, addend: 0x0, symName: ___swift_memcpy1_1, symObjAddr: 0x3C4, symBinAddr: 0x1228, symSize: 0xC } + - { offsetInCU: 0x548, offset: 0x2F376, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel13WinningReasonOwet', symObjAddr: 0x3D0, symBinAddr: 0x1234, symSize: 0x90 } + - { offsetInCU: 0x55C, offset: 0x2F38A, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel13WinningReasonOwst', symObjAddr: 0x460, symBinAddr: 0x12C4, symSize: 0xBC } + - { offsetInCU: 0x570, offset: 0x2F39E, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel13WinningReasonOwug', symObjAddr: 0x51C, symBinAddr: 0x1380, symSize: 0x8 } + - { offsetInCU: 0x584, offset: 0x2F3B2, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel13WinningReasonOwup', symObjAddr: 0x524, symBinAddr: 0x1388, symSize: 0x4 } + - { offsetInCU: 0x598, offset: 0x2F3C6, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel13WinningReasonOwui', symObjAddr: 0x528, symBinAddr: 0x138C, symSize: 0x8 } + - { offsetInCU: 0x5AC, offset: 0x2F3DA, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel13WinningReasonOMa', symObjAddr: 0x530, symBinAddr: 0x1394, symSize: 0x10 } + - { offsetInCU: 0x626, offset: 0x2F454, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel13WinningReasonOSHAASH13_rawHashValue4seedS2i_tFTW', symObjAddr: 0x108, symBinAddr: 0xF6C, symSize: 0x40 } + - { offsetInCU: 0x27, offset: 0x2F597, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11BoardResultO2eeoiySbAC_ACtFZ', symObjAddr: 0x0, symBinAddr: 0x13A4, symSize: 0x4 } + - { offsetInCU: 0x4B, offset: 0x2F5BB, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11BoardResultO2eeoiySbAC_ACtFZ', symObjAddr: 0x0, symBinAddr: 0x13A4, symSize: 0x4 } + - { offsetInCU: 0x6E, offset: 0x2F5DE, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11BoardResultOSQAASQ2eeoiySbx_xtFZTW', symObjAddr: 0x18, symBinAddr: 0x13BC, symSize: 0x4 } + - { offsetInCU: 0x8E, offset: 0x2F5FE, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11BoardResultOSQAASQ2eeoiySbx_xtFZTW', symObjAddr: 0x18, symBinAddr: 0x13BC, symSize: 0x4 } + - { offsetInCU: 0x9F, offset: 0x2F60F, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11BoardResultO2eeoiySbAC_ACtFZTf4nnd_n', symObjAddr: 0x148, symBinAddr: 0x14EC, symSize: 0x7C } + - { offsetInCU: 0xF5, offset: 0x2F665, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel18BoardFailingReasonO2eeoiySbAC_ACtFZ', symObjAddr: 0x4, symBinAddr: 0x13A8, symSize: 0x14 } + - { offsetInCU: 0x128, offset: 0x2F698, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel18BoardFailingReasonO4hash4intoys6HasherVz_tF', symObjAddr: 0x1C, symBinAddr: 0x13C0, symSize: 0x28 } + - { offsetInCU: 0x1BE, offset: 0x2F72E, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel18BoardFailingReasonO9hashValueSivg', symObjAddr: 0x44, symBinAddr: 0x13E8, symSize: 0x44 } + - { offsetInCU: 0x2B8, offset: 0x2F828, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel18BoardFailingReasonOSQAASQ2eeoiySbx_xtFZTW', symObjAddr: 0x88, symBinAddr: 0x142C, symSize: 0x14 } + - { offsetInCU: 0x2D8, offset: 0x2F848, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel18BoardFailingReasonOSQAASQ2eeoiySbx_xtFZTW', symObjAddr: 0x88, symBinAddr: 0x142C, symSize: 0x14 } + - { offsetInCU: 0x318, offset: 0x2F888, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel18BoardFailingReasonOSHAASH9hashValueSivgTW', symObjAddr: 0x9C, symBinAddr: 0x1440, symSize: 0x44 } + - { offsetInCU: 0x3FB, offset: 0x2F96B, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel18BoardFailingReasonOSHAASH4hash4intoys6HasherVz_tFTW', symObjAddr: 0xE0, symBinAddr: 0x1484, symSize: 0x28 } + - { offsetInCU: 0x484, offset: 0x2F9F4, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel18BoardFailingReasonOSHAASQWb', symObjAddr: 0x1C4, symBinAddr: 0x1568, symSize: 0x4 } + - { offsetInCU: 0x498, offset: 0x2FA08, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel18BoardFailingReasonOACSQAAWl', symObjAddr: 0x1C8, symBinAddr: 0x156C, symSize: 0x44 } + - { offsetInCU: 0x4AC, offset: 0x2FA1C, size: 0x8, addend: 0x0, symName: ___swift_memcpy3_1, symObjAddr: 0x20C, symBinAddr: 0x15B0, symSize: 0x14 } + - { offsetInCU: 0x4C0, offset: 0x2FA30, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11BoardResultOwet', symObjAddr: 0x224, symBinAddr: 0x15C4, symSize: 0x74 } + - { offsetInCU: 0x4D4, offset: 0x2FA44, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11BoardResultOwst', symObjAddr: 0x298, symBinAddr: 0x1638, symSize: 0x8C } + - { offsetInCU: 0x4E8, offset: 0x2FA58, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11BoardResultOwug', symObjAddr: 0x324, symBinAddr: 0x16C4, symSize: 0x18 } + - { offsetInCU: 0x4FC, offset: 0x2FA6C, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11BoardResultOwup', symObjAddr: 0x33C, symBinAddr: 0x16DC, symSize: 0x4 } + - { offsetInCU: 0x510, offset: 0x2FA80, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11BoardResultOwui', symObjAddr: 0x340, symBinAddr: 0x16E0, symSize: 0x18 } + - { offsetInCU: 0x524, offset: 0x2FA94, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11BoardResultOMa', symObjAddr: 0x358, symBinAddr: 0x16F8, symSize: 0x10 } + - { offsetInCU: 0x538, offset: 0x2FAA8, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel18BoardFailingReasonOwet', symObjAddr: 0x374, symBinAddr: 0x1708, symSize: 0x90 } + - { offsetInCU: 0x54C, offset: 0x2FABC, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel18BoardFailingReasonOwst', symObjAddr: 0x404, symBinAddr: 0x1798, symSize: 0xBC } + - { offsetInCU: 0x560, offset: 0x2FAD0, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel18BoardFailingReasonOwug', symObjAddr: 0x4C0, symBinAddr: 0x1854, symSize: 0x8 } + - { offsetInCU: 0x574, offset: 0x2FAE4, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel18BoardFailingReasonOwup', symObjAddr: 0x4C8, symBinAddr: 0x185C, symSize: 0x4 } + - { offsetInCU: 0x588, offset: 0x2FAF8, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel18BoardFailingReasonOwui', symObjAddr: 0x4CC, symBinAddr: 0x1860, symSize: 0x8 } + - { offsetInCU: 0x59C, offset: 0x2FB0C, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel18BoardFailingReasonOMa', symObjAddr: 0x4D4, symBinAddr: 0x1868, symSize: 0x10 } + - { offsetInCU: 0x5FA, offset: 0x2FB6A, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel18BoardFailingReasonOSHAASH13_rawHashValue4seedS2i_tFTW', symObjAddr: 0x108, symBinAddr: 0x14AC, symSize: 0x40 } + - { offsetInCU: 0x27, offset: 0x2FC99, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11HumanPlayerC8withName5andId0I11InputMethodACSgSS_AA5OwnerOAA4MoveVSgACctcfC', symObjAddr: 0x0, symBinAddr: 0x1878, symSize: 0xD0 } + - { offsetInCU: 0x99, offset: 0x2FD0B, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11HumanPlayerC8withName5andId0I11InputMethodACSgSS_AA5OwnerOAA4MoveVSgACctcfC', symObjAddr: 0x0, symBinAddr: 0x1878, symSize: 0xD0 } + - { offsetInCU: 0xEE, offset: 0x2FD60, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11HumanPlayerC8withName5andId0I11InputMethodACSgSS_AA5OwnerOAA4MoveVSgACctcfc', symObjAddr: 0xD0, symBinAddr: 0x1948, symSize: 0xB0 } + - { offsetInCU: 0x189, offset: 0x2FDFB, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11HumanPlayerC8withName5andIdACSgSS_AA5OwnerOtcfC', symObjAddr: 0x190, symBinAddr: 0x1A08, symSize: 0xA0 } + - { offsetInCU: 0x1DE, offset: 0x2FE50, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11HumanPlayerC8withName5andIdACSgSS_AA5OwnerOtcfc', symObjAddr: 0x230, symBinAddr: 0x1AA8, symSize: 0x70 } + - { offsetInCU: 0x22D, offset: 0x2FE9F, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11HumanPlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKF', symObjAddr: 0x2A0, symBinAddr: 0x1B18, symSize: 0xC } + - { offsetInCU: 0x2A9, offset: 0x2FF1B, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11HumanPlayerC11changeInput5inputyAA4MoveVSgACc_tF', symObjAddr: 0x2AC, symBinAddr: 0x1B24, symSize: 0x38 } + - { offsetInCU: 0x310, offset: 0x2FF82, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11HumanPlayerC10chooseMoveyyAA0H0VSgYaKF', symObjAddr: 0x2E4, symBinAddr: 0x1B5C, symSize: 0x2C } + - { offsetInCU: 0x384, offset: 0x2FFF6, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11HumanPlayerC10chooseMoveyyAA0H0VSgYaKFTY0_', symObjAddr: 0x310, symBinAddr: 0x1B88, symSize: 0x108 } + - { offsetInCU: 0x507, offset: 0x30179, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11HumanPlayerC10chooseMoveyyAA0H0VSgYaKFTQ1_', symObjAddr: 0x418, symBinAddr: 0x1C90, symSize: 0x70 } + - { offsetInCU: 0x5BF, offset: 0x30231, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11HumanPlayerC10chooseMoveyyAA0H0VSgYaKFTY2_', symObjAddr: 0x488, symBinAddr: 0x1D00, symSize: 0x100 } + - { offsetInCU: 0x6AE, offset: 0x30320, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11HumanPlayerC10chooseMoveyyAA0H0VSgYaKFTY3_', symObjAddr: 0x588, symBinAddr: 0x1E00, symSize: 0x40 } + - { offsetInCU: 0x70C, offset: 0x3037E, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11HumanPlayerCfd', symObjAddr: 0x5D0, symBinAddr: 0x1E48, symSize: 0x2C } + - { offsetInCU: 0x75D, offset: 0x303CF, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11HumanPlayerCfD', symObjAddr: 0x5FC, symBinAddr: 0x1E74, symSize: 0x34 } + - { offsetInCU: 0x87E, offset: 0x304F0, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11HumanPlayerCAA4MoveVSgIeggr_SgWOe', symObjAddr: 0x180, symBinAddr: 0x19F8, symSize: 0x10 } + - { offsetInCU: 0x92C, offset: 0x3059E, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11HumanPlayerCfE', symObjAddr: 0x5C8, symBinAddr: 0x1E40, symSize: 0x8 } + - { offsetInCU: 0x959, offset: 0x305CB, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11HumanPlayerCMa', symObjAddr: 0x630, symBinAddr: 0x1EA8, symSize: 0x20 } + - { offsetInCU: 0x4F, offset: 0x3076A, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV11initialGridSaySayAA4CellVGGvpZ', symObjAddr: 0x29A60, symBinAddr: 0x19B40, symSize: 0x0 } + - { offsetInCU: 0x69, offset: 0x30784, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV6pieces33_DFC7A53241A8EF79AF2B79A48A65C265LLShyAA5PieceVGvpZ', symObjAddr: 0x6D30, symBinAddr: 0x18720, symSize: 0x0 } + - { offsetInCU: 0xD7, offset: 0x307F2, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV14startingChecks33_DFC7A53241A8EF79AF2B79A48A65C265LLSayyAA5BoardVcGvpZ', symObjAddr: 0x6D38, symBinAddr: 0x18728, symSize: 0x0 } + - { offsetInCU: 0xF1, offset: 0x3080C, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV15iteratingChecks33_DFC7A53241A8EF79AF2B79A48A65C265LLSayyAA5BoardV_S2itKcGvpZ', symObjAddr: 0x6D40, symBinAddr: 0x18730, symSize: 0x0 } + - { offsetInCU: 0x10B, offset: 0x30826, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV12endingChecks33_DFC7A53241A8EF79AF2B79A48A65C265LLSayyAA5BoardVcGvpZ', symObjAddr: 0x6D48, symBinAddr: 0x18738, symSize: 0x0 } + - { offsetInCU: 0x125, offset: 0x30840, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV16placesByCellTypeSDyAA0iJ0OSaySi3row_Si3coltGGvpZ', symObjAddr: 0x29A68, symBinAddr: 0x19B48, symSize: 0x0 } + - { offsetInCU: 0x284, offset: 0x3099F, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV11initialGrid_WZ', symObjAddr: 0x0, symBinAddr: 0x1F94, symSize: 0x2DC } + - { offsetInCU: 0xA99, offset: 0x311B4, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV11createBoardAA0H0VyFZ', symObjAddr: 0x2DC, symBinAddr: 0x2270, symSize: 0x78 } + - { offsetInCU: 0xAD7, offset: 0x311F2, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV10checkBoardyyAA0H0VKFZ', symObjAddr: 0x354, symBinAddr: 0x22E8, symSize: 0x14 } + - { offsetInCU: 0xB01, offset: 0x3121C, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV14startingChecks33_DFC7A53241A8EF79AF2B79A48A65C265LLSayyAA5BoardVcGvpZfiyAGcfU_', symObjAddr: 0x3AC, symBinAddr: 0x2340, symSize: 0x30 } + - { offsetInCU: 0xB41, offset: 0x3125C, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV14startingChecks33_DFC7A53241A8EF79AF2B79A48A65C265LLSayyAA5BoardVcGvpZfiyAGcfU0_', symObjAddr: 0x3DC, symBinAddr: 0x2370, symSize: 0x78 } + - { offsetInCU: 0xB93, offset: 0x312AE, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVACycfC', symObjAddr: 0x6A8, symBinAddr: 0x263C, symSize: 0x30 } + - { offsetInCU: 0xBD8, offset: 0x312F3, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV10occurences8historicACSDyAA5BoardVSiG_SayAA4MoveVGtcfC', symObjAddr: 0x6D8, symBinAddr: 0x266C, symSize: 0x54 } + - { offsetInCU: 0xC3D, offset: 0x31358, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV19findAuthorizedMoves33_DFC7A53241A8EF79AF2B79A48A65C265LL5boardSayAA4MoveVGAA5BoardV_tF', symObjAddr: 0x72C, symBinAddr: 0x26C0, symSize: 0x458 } + - { offsetInCU: 0x15D4, offset: 0x31CEF, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV12findRatMoves33_DFC7A53241A8EF79AF2B79A48A65C265LL2of5board3row6columnSayAA4MoveVGAA5OwnerO_AA5BoardVS2itF', symObjAddr: 0xB84, symBinAddr: 0x2B18, symSize: 0x62C } + - { offsetInCU: 0x1FE8, offset: 0x32703, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV17findElephantMoves33_DFC7A53241A8EF79AF2B79A48A65C265LL2of5board3row6columnSayAA4MoveVGAA5OwnerO_AA5BoardVS2itF', symObjAddr: 0x11B0, symBinAddr: 0x3144, symSize: 0x5F8 } + - { offsetInCU: 0x295A, offset: 0x33075, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV16findDefaultMoves33_DFC7A53241A8EF79AF2B79A48A65C265LL2of5board3row6columnSayAA4MoveVGAA5OwnerO_AA5BoardVS2itF', symObjAddr: 0x17A8, symBinAddr: 0x373C, symSize: 0x6C4 } + - { offsetInCU: 0x340F, offset: 0x33B2A, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV21findTigerAndLionMoves33_DFC7A53241A8EF79AF2B79A48A65C265LL2of5board3row6columnSayAA4MoveVGAA5OwnerO_AA5BoardVS2itF', symObjAddr: 0x1E6C, symBinAddr: 0x3E00, symSize: 0x44C } + - { offsetInCU: 0x3A6C, offset: 0x34187, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV20findDirectNeighbours33_DFC7A53241A8EF79AF2B79A48A65C265LL2of5board3row6columnSayAA4MoveVGAA5OwnerO_AA5BoardVS2itF', symObjAddr: 0x22B8, symBinAddr: 0x424C, symSize: 0x300 } + - { offsetInCU: 0x3FE8, offset: 0x34703, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV26findTigerAndLionNeighbours33_DFC7A53241A8EF79AF2B79A48A65C265LL2of5board3row6columnSayAA4MoveVGAA5OwnerO_AA5BoardVS2itF', symObjAddr: 0x25B8, symBinAddr: 0x454C, symSize: 0x56C } + - { offsetInCU: 0x491C, offset: 0x35037, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV8getMoves2in2ofSayAA4MoveVGAA5BoardV_AA5OwnerOtF', symObjAddr: 0x2B24, symBinAddr: 0x4AB8, symSize: 0x12C } + - { offsetInCU: 0x4AEC, offset: 0x35207, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV8getMoves2in2of7fromRow9andColumnSayAA4MoveVGAA5BoardV_AA5OwnerOS2itF', symObjAddr: 0x2C50, symBinAddr: 0x4BE4, symSize: 0x140 } + - { offsetInCU: 0x4D56, offset: 0x35471, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV11isMoveValid7onBoard7fromRow13andFromColumn02toM00n2ToP0SbAA0K0V_S4itF', symObjAddr: 0x2D90, symBinAddr: 0x4D24, symSize: 0xA0 } + - { offsetInCU: 0x4E40, offset: 0x3555B, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV11isMoveValid7onBoard04withH0SbAA0K0V_AA0H0VtF', symObjAddr: 0x2E30, symBinAddr: 0x4DC4, symSize: 0x104 } + - { offsetInCU: 0x50CF, offset: 0x357EA, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV13getNextPlayerAA5OwnerOyF', symObjAddr: 0x2F34, symBinAddr: 0x4EC8, symSize: 0x3C } + - { offsetInCU: 0x51E0, offset: 0x358FB, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV10isGameOver9withBoard16andLastRowPlayed0lM12ColumnPlayerSb_AA6ResultOtAA0K0V_S2itF', symObjAddr: 0x2F70, symBinAddr: 0x4F04, symSize: 0x188 } + - { offsetInCU: 0x537E, offset: 0x35A99, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV10playedMove_15onStartingBoard012andResultingK0yAA0H0V_AA0K0VAJtKF', symObjAddr: 0x30F8, symBinAddr: 0x508C, symSize: 0x424 } + - { offsetInCU: 0x5879, offset: 0x35F94, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV10occurencesSDyAA5BoardVSiGvg', symObjAddr: 0x351C, symBinAddr: 0x54B0, symSize: 0x8 } + - { offsetInCU: 0x588D, offset: 0x35FA8, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV8historicSayAA4MoveVGvg', symObjAddr: 0x3524, symBinAddr: 0x54B8, symSize: 0x8 } + - { offsetInCU: 0x58BF, offset: 0x35FDA, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVAA0F0A2aDP11createBoardAA0H0VyFZTW', symObjAddr: 0x352C, symBinAddr: 0x54C0, symSize: 0x78 } + - { offsetInCU: 0x590C, offset: 0x36027, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVAA0F0A2aDP10checkBoardyyAA0H0VKFZTW', symObjAddr: 0x35A4, symBinAddr: 0x5538, symSize: 0x14 } + - { offsetInCU: 0x5944, offset: 0x3605F, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVAA0F0A2aDP13getNextPlayerAA5OwnerOyFTW', symObjAddr: 0x35B8, symBinAddr: 0x554C, symSize: 0x4 } + - { offsetInCU: 0x5960, offset: 0x3607B, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVAA0F0A2aDP8getMoves2in2ofSayAA4MoveVGAA5BoardV_AA5OwnerOtFTW', symObjAddr: 0x35BC, symBinAddr: 0x5550, symSize: 0x14 } + - { offsetInCU: 0x597C, offset: 0x36097, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVAA0F0A2aDP8getMoves2in2of7fromRow9andColumnSayAA4MoveVGAA5BoardV_AA5OwnerOS2itFTW', symObjAddr: 0x35D0, symBinAddr: 0x5564, symSize: 0x14 } + - { offsetInCU: 0x5998, offset: 0x360B3, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVAA0F0A2aDP11isMoveValid7onBoard7fromRow13andFromColumn02toM00n2ToP0SbAA0K0V_S4itFTW', symObjAddr: 0x35E4, symBinAddr: 0x5578, symSize: 0x4 } + - { offsetInCU: 0x59B4, offset: 0x360CF, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVAA0F0A2aDP11isMoveValid7onBoard04withH0SbAA0K0V_AA0H0VtFTW', symObjAddr: 0x35E8, symBinAddr: 0x557C, symSize: 0x4 } + - { offsetInCU: 0x59D0, offset: 0x360EB, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVAA0F0A2aDP10isGameOver9withBoard16andLastRowPlayed0lM12ColumnPlayerSb_AA6ResultOtAA0K0V_S2itFTW', symObjAddr: 0x35EC, symBinAddr: 0x5580, symSize: 0x4 } + - { offsetInCU: 0x59EC, offset: 0x36107, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVAA0F0A2aDP10playedMove_15onStartingBoard012andResultingK0yAA0H0V_AA0K0VALtKFTW', symObjAddr: 0x35F0, symBinAddr: 0x5584, symSize: 0x14 } + - { offsetInCU: 0x5A21, offset: 0x3613C, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVAA0F0A2aDP10occurencesSDyAA5BoardVSiGvgTW', symObjAddr: 0x3604, symBinAddr: 0x5598, symSize: 0x8 } + - { offsetInCU: 0x5A41, offset: 0x3615C, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVAA0F0A2aDP10occurencesSDyAA5BoardVSiGvgTW', symObjAddr: 0x3604, symBinAddr: 0x5598, symSize: 0x8 } + - { offsetInCU: 0x5A66, offset: 0x36181, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVAA0F0A2aDP8historicSayAA4MoveVGvgTW', symObjAddr: 0x360C, symBinAddr: 0x55A0, symSize: 0x8 } + - { offsetInCU: 0x5A86, offset: 0x361A1, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVAA0F0A2aDP8historicSayAA4MoveVGvgTW', symObjAddr: 0x360C, symBinAddr: 0x55A0, symSize: 0x8 } + - { offsetInCU: 0x5A99, offset: 0x361B4, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV10checkBoardyyAA0H0VKFZTf4nd_n', symObjAddr: 0x5710, symBinAddr: 0x76A4, symSize: 0x28C } + - { offsetInCU: 0x5E0F, offset: 0x3652A, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV20initPlacesByCellType33_DFC7A53241A8EF79AF2B79A48A65C265LLyyAA5BoardVFZTf4nd_n', symObjAddr: 0x599C, symBinAddr: 0x7930, symSize: 0x3A8 } + - { offsetInCU: 0x629F, offset: 0x369BA, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV23checkCellsByTypeIterate33_DFC7A53241A8EF79AF2B79A48A65C265LLyyAA5BoardV_S2itKFZTf4nnnd_n', symObjAddr: 0x5D44, symBinAddr: 0x7CD8, symSize: 0x15C } + - { offsetInCU: 0x6492, offset: 0x36BAD, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV18checkPiecesIterate33_DFC7A53241A8EF79AF2B79A48A65C265LLyyAA5BoardV_S2itKFZTf4nnnd_n', symObjAddr: 0x5EA0, symBinAddr: 0x7E34, symSize: 0x178 } + - { offsetInCU: 0x6572, offset: 0x36C8D, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV15checkWaterCells33_DFC7A53241A8EF79AF2B79A48A65C265LLyyAA5BoardV_S2itKFZTf4nnnd_n', symObjAddr: 0x6018, symBinAddr: 0x7FAC, symSize: 0xDC } + - { offsetInCU: 0x6689, offset: 0x36DA4, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV6pieces33_DFC7A53241A8EF79AF2B79A48A65C265LL_WZ', symObjAddr: 0x368, symBinAddr: 0x22FC, symSize: 0x14 } + - { offsetInCU: 0x66A3, offset: 0x36DBE, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV14startingChecks33_DFC7A53241A8EF79AF2B79A48A65C265LL_WZ', symObjAddr: 0x37C, symBinAddr: 0x2310, symSize: 0x30 } + - { offsetInCU: 0x66D9, offset: 0x36DF4, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV15iteratingChecks33_DFC7A53241A8EF79AF2B79A48A65C265LL_WZ', symObjAddr: 0x454, symBinAddr: 0x23E8, symSize: 0x30 } + - { offsetInCU: 0x66F3, offset: 0x36E0E, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV12endingChecks33_DFC7A53241A8EF79AF2B79A48A65C265LL_WZ', symObjAddr: 0x510, symBinAddr: 0x24A4, symSize: 0x14 } + - { offsetInCU: 0x670D, offset: 0x36E28, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV16placesByCellType_WZ', symObjAddr: 0x524, symBinAddr: 0x24B8, symSize: 0x24 } + - { offsetInCU: 0x6C29, offset: 0x37344, size: 0x8, addend: 0x0, symName: '_$sSD8_VariantV8setValue_6forKeyyq_n_xtF14DouShouQiModel5BoardV_SiTB5', symObjAddr: 0x3614, symBinAddr: 0x55A8, symSize: 0xB0 } + - { offsetInCU: 0x6C9E, offset: 0x373B9, size: 0x8, addend: 0x0, symName: '_$sSD8_VariantVyq_SgxciM14DouShouQiModel8CellTypeO_SaySi3row_Si3coltGTB5', symObjAddr: 0x36C4, symBinAddr: 0x5658, symSize: 0x70 } + - { offsetInCU: 0x6CCB, offset: 0x373E6, size: 0x8, addend: 0x0, symName: '_$sSD8_VariantVyq_SgxciM14DouShouQiModel8CellTypeO_SaySi3row_Si3coltGTB5.resume.0', symObjAddr: 0x3734, symBinAddr: 0x56C8, symSize: 0x3C } + - { offsetInCU: 0x6D0E, offset: 0x37429, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV_8isUniqueq_Sgx_SbtciM14DouShouQiModel8CellTypeO_SaySi3row_Si3coltGTB5', symObjAddr: 0x3770, symBinAddr: 0x5704, symSize: 0x64 } + - { offsetInCU: 0x6D86, offset: 0x374A1, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV_8isUniqueq_Sgx_SbtciM14DouShouQiModel8CellTypeO_SaySi3row_Si3coltGTB5.resume.0', symObjAddr: 0x37D4, symBinAddr: 0x5768, symSize: 0xE0 } + - { offsetInCU: 0x6EBE, offset: 0x375D9, size: 0x8, addend: 0x0, symName: '_$sSD8_VariantV8asNatives01_C10DictionaryVyxq_GvM14DouShouQiModel8CellTypeO_SaySi3row_Si3coltGTg5', symObjAddr: 0x38B4, symBinAddr: 0x5848, symSize: 0x20 } + - { offsetInCU: 0x6EE1, offset: 0x375FC, size: 0x8, addend: 0x0, symName: '_$sSD8_VariantV8asNatives01_C10DictionaryVyxq_GvM14DouShouQiModel8CellTypeO_SaySi3row_Si3coltGTg5.resume.0', symObjAddr: 0x38D4, symBinAddr: 0x5868, symSize: 0x10 } + - { offsetInCU: 0x6F24, offset: 0x3763F, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV12mutatingFind_8isUniques10_HashTableV6BucketV6bucket_Sb5foundtx_SbtF14DouShouQiModel8CellTypeO_SaySi3row_Si3coltGTB5', symObjAddr: 0x38E4, symBinAddr: 0x5878, symSize: 0xC8 } + - { offsetInCU: 0x6F8C, offset: 0x376A7, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV12mutatingFind_8isUniques10_HashTableV6BucketV6bucket_Sb5foundtx_SbtF14DouShouQiModel5BoardV_SiTB5', symObjAddr: 0x39AC, symBinAddr: 0x5940, symSize: 0xE0 } + - { offsetInCU: 0x6FE2, offset: 0x376FD, size: 0x8, addend: 0x0, symName: '_$ss22__RawDictionaryStorageC4findys10_HashTableV6BucketV6bucket_Sb5foundtxSHRzlF14DouShouQiModel5BoardV_TB5', symObjAddr: 0x3A8C, symBinAddr: 0x5A20, symSize: 0x78 } + - { offsetInCU: 0x704F, offset: 0x3776A, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV7_delete2atys10_HashTableV6BucketV_tF14DouShouQiModel8CellTypeO_SaySi3row_Si3coltGTg5', symObjAddr: 0x3B6C, symBinAddr: 0x5B00, symSize: 0x1C0 } + - { offsetInCU: 0x7179, offset: 0x37894, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV7_insert2at3key5valueys10_HashTableV6BucketV_xnq_ntF14DouShouQiModel5BoardV_SiTB5', symObjAddr: 0x3D2C, symBinAddr: 0x5CC0, symSize: 0x54 } + - { offsetInCU: 0x724A, offset: 0x37965, size: 0x8, addend: 0x0, symName: '_$ss22__RawDictionaryStorageC4find_9hashValues10_HashTableV6BucketV6bucket_Sb5foundtx_SitSHRzlF14DouShouQiModel5BoardV_TB5', symObjAddr: 0x3D80, symBinAddr: 0x5D14, symSize: 0x260 } + - { offsetInCU: 0x740A, offset: 0x37B25, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV4copyyyF14DouShouQiModel8CellTypeO_SaySi3row_Si3coltGTg5', symObjAddr: 0x4080, symBinAddr: 0x6014, symSize: 0x1B0 } + - { offsetInCU: 0x748B, offset: 0x37BA6, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV4copyyyF14DouShouQiModel5BoardV_SiTg5', symObjAddr: 0x4230, symBinAddr: 0x61C4, symSize: 0x1C8 } + - { offsetInCU: 0x7525, offset: 0x37C40, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV20_copyOrMoveAndResize8capacity12moveElementsySi_SbtF14DouShouQiModel8CellTypeO_SaySi3row_Si3coltGTg5', symObjAddr: 0x43F8, symBinAddr: 0x638C, symSize: 0x358 } + - { offsetInCU: 0x76A4, offset: 0x37DBF, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV20_copyOrMoveAndResize8capacity12moveElementsySi_SbtF14DouShouQiModel5BoardV_SiTg5', symObjAddr: 0x4750, symBinAddr: 0x66E4, symSize: 0x344 } + - { offsetInCU: 0x77B7, offset: 0x37ED2, size: 0x8, addend: 0x0, symName: '_$sSh8_VariantV6insertySb8inserted_x17memberAfterInserttxnF14DouShouQiModel5PieceV_TB5', symObjAddr: 0x4A94, symBinAddr: 0x6A28, symSize: 0x154 } + - { offsetInCU: 0x79C2, offset: 0x380DD, size: 0x8, addend: 0x0, symName: '_$ss10_NativeSetV9insertNew_2at8isUniqueyxn_s10_HashTableV6BucketVSbtF14DouShouQiModel5PieceV_TB5', symObjAddr: 0x4BE8, symBinAddr: 0x6B7C, symSize: 0x180 } + - { offsetInCU: 0x7BD8, offset: 0x382F3, size: 0x8, addend: 0x0, symName: '_$ss10_NativeSetV4copyyyF14DouShouQiModel5PieceV_Tg5', symObjAddr: 0x4D68, symBinAddr: 0x6CFC, symSize: 0x190 } + - { offsetInCU: 0x7C3C, offset: 0x38357, size: 0x8, addend: 0x0, symName: '_$ss10_NativeSetV13copyAndResize8capacityySi_tF14DouShouQiModel5PieceV_Tg5', symObjAddr: 0x4EF8, symBinAddr: 0x6E8C, symSize: 0x298 } + - { offsetInCU: 0x7E42, offset: 0x3855D, size: 0x8, addend: 0x0, symName: '_$ss10_NativeSetV6resize8capacityySi_tF14DouShouQiModel5PieceV_Tg5', symObjAddr: 0x5190, symBinAddr: 0x7124, symSize: 0x33C } + - { offsetInCU: 0x8072, offset: 0x3878D, size: 0x8, addend: 0x0, symName: '_$ss15ContiguousArrayV16_createNewBuffer14bufferIsUnique15minimumCapacity13growForAppendySb_SiSbtF14DouShouQiModel4MoveV_Tg5', symObjAddr: 0x54CC, symBinAddr: 0x7460, symSize: 0x1C } + - { offsetInCU: 0x808A, offset: 0x387A5, size: 0x8, addend: 0x0, symName: '_$ss15ContiguousArrayV16_createNewBuffer14bufferIsUnique15minimumCapacity13growForAppendySb_SiSbtF14DouShouQiModel4CellV_Tg5', symObjAddr: 0x54E8, symBinAddr: 0x747C, symSize: 0x1C } + - { offsetInCU: 0x80D9, offset: 0x387F4, size: 0x8, addend: 0x0, symName: '_$ss22_ContiguousArrayBufferV20_consumeAndCreateNew14bufferIsUnique15minimumCapacity13growForAppendAByxGSb_SiSbtF14DouShouQiModel4MoveV_Tg5', symObjAddr: 0x5504, symBinAddr: 0x7498, symSize: 0x110 } + - { offsetInCU: 0x8231, offset: 0x3894C, size: 0x8, addend: 0x0, symName: '_$ss22_ContiguousArrayBufferV20_consumeAndCreateNew14bufferIsUnique15minimumCapacity13growForAppendAByxGSb_SiSbtF14DouShouQiModel4CellV_Tg5', symObjAddr: 0x5614, symBinAddr: 0x75A8, symSize: 0xFC } + - { offsetInCU: 0x84A2, offset: 0x38BBD, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel9GameErrorOACs0F0AAWl', symObjAddr: 0x62EC, symBinAddr: 0x8280, symSize: 0x44 } + - { offsetInCU: 0x84B6, offset: 0x38BD1, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel17InvalidBoardErrorOACs0G0AAWl', symObjAddr: 0x6330, symBinAddr: 0x82C4, symSize: 0x44 } + - { offsetInCU: 0x84CA, offset: 0x38BE5, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVwCP', symObjAddr: 0x6374, symBinAddr: 0x8308, symSize: 0x34 } + - { offsetInCU: 0x84DE, offset: 0x38BF9, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVwxx', symObjAddr: 0x63A8, symBinAddr: 0x833C, symSize: 0x28 } + - { offsetInCU: 0x84F2, offset: 0x38C0D, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVwcp', symObjAddr: 0x63D0, symBinAddr: 0x8364, symSize: 0x34 } + - { offsetInCU: 0x8506, offset: 0x38C21, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVwca', symObjAddr: 0x6404, symBinAddr: 0x8398, symSize: 0x5C } + - { offsetInCU: 0x851A, offset: 0x38C35, size: 0x8, addend: 0x0, symName: ___swift_memcpy16_8, symObjAddr: 0x6460, symBinAddr: 0x83F4, symSize: 0xC } + - { offsetInCU: 0x852E, offset: 0x38C49, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVwta', symObjAddr: 0x646C, symBinAddr: 0x8400, symSize: 0x44 } + - { offsetInCU: 0x8542, offset: 0x38C5D, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVwet', symObjAddr: 0x64B0, symBinAddr: 0x8444, symSize: 0x48 } + - { offsetInCU: 0x8556, offset: 0x38C71, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVwst', symObjAddr: 0x64F8, symBinAddr: 0x848C, symSize: 0x3C } + - { offsetInCU: 0x856A, offset: 0x38C85, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVMa', symObjAddr: 0x6534, symBinAddr: 0x84C8, symSize: 0x10 } + - { offsetInCU: 0x857E, offset: 0x38C99, size: 0x8, addend: 0x0, symName: ___swift_instantiateConcreteTypeFromMangledName, symObjAddr: 0x6544, symBinAddr: 0x84D8, symSize: 0x40 } + - { offsetInCU: 0x8642, offset: 0x38D5D, size: 0x8, addend: 0x0, symName: '_$ss20_ArrayBufferProtocolPsE15replaceSubrange_4with10elementsOfySnySiG_Siqd__ntSlRd__7ElementQyd__AGRtzlFs01_aB0Vy14DouShouQiModel4MoveVG_s15EmptyCollectionVyANGTg5Tf4nndn_n', symObjAddr: 0x6684, symBinAddr: 0x8618, symSize: 0x178 } + - { offsetInCU: 0x8713, offset: 0x38E2E, size: 0x8, addend: 0x0, symName: '_$sSa15replaceSubrange_4withySnySiG_qd__nt7ElementQyd__RszSlRd__lF14DouShouQiModel4MoveV_s15EmptyCollectionVyAHGTg5Tf4ndn_n', symObjAddr: 0x67FC, symBinAddr: 0x8790, symSize: 0xC0 } + - { offsetInCU: 0x8922, offset: 0x3903D, size: 0x8, addend: 0x0, symName: '_$sSDyq_SgxciM14DouShouQiModel8CellTypeO_SaySi3row_Si3coltGTB5', symObjAddr: 0x548, symBinAddr: 0x24DC, symSize: 0x4C } + - { offsetInCU: 0x893E, offset: 0x39059, size: 0x8, addend: 0x0, symName: '_$sSDyq_SgxciM14DouShouQiModel8CellTypeO_SaySi3row_Si3coltGTB5.resume.0', symObjAddr: 0x594, symBinAddr: 0x2528, symSize: 0x30 } + - { offsetInCU: 0x89E8, offset: 0x39103, size: 0x8, addend: 0x0, symName: '_$sSh8containsySbxF14DouShouQiModel5PieceV_TB5', symObjAddr: 0x5C4, symBinAddr: 0x2558, symSize: 0xE4 } + - { offsetInCU: 0x8F60, offset: 0x3967B, size: 0x8, addend: 0x0, symName: '_$sSD17dictionaryLiteralSDyxq_Gx_q_td_tcfC14DouShouQiModel8CellTypeO_SaySi3row_Si3coltGTg5Tf4gd_n', symObjAddr: 0x60F4, symBinAddr: 0x8088, symSize: 0x100 } + - { offsetInCU: 0x9091, offset: 0x397AC, size: 0x8, addend: 0x0, symName: '_$sSD17dictionaryLiteralSDyxq_Gx_q_td_tcfC14DouShouQiModel5BoardV_SiTg5Tf4gd_n', symObjAddr: 0x61F4, symBinAddr: 0x8188, symSize: 0xF8 } + - { offsetInCU: 0x91DE, offset: 0x398F9, size: 0x8, addend: 0x0, symName: '_$sSD17dictionaryLiteralSDyxq_Gx_q_td_tcfC14DouShouQiModel5OwnerO_AC6PlayerCTg5Tf4gd_n', symObjAddr: 0x6584, symBinAddr: 0x8518, symSize: 0x100 } + - { offsetInCU: 0x27, offset: 0x39C38, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4CellV6ofType7ownedBy9withPieceAcA0eG0O_AA5OwnerOAA0K0VSgtcfC', symObjAddr: 0x0, symBinAddr: 0x8C6C, symSize: 0x1C } + - { offsetInCU: 0x4B, offset: 0x39C5C, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4CellV6ofType7ownedBy9withPieceAcA0eG0O_AA5OwnerOAA0K0VSgtcfC', symObjAddr: 0x0, symBinAddr: 0x8C6C, symSize: 0x1C } + - { offsetInCU: 0x9A, offset: 0x39CAB, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4CellV11descriptionSSvg', symObjAddr: 0x1C, symBinAddr: 0x8C88, symSize: 0xF0 } + - { offsetInCU: 0x1DF, offset: 0x39DF0, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4CellV8cellTypeAA0eG0Ovg', symObjAddr: 0x10C, symBinAddr: 0x8D78, symSize: 0xC } + - { offsetInCU: 0x1FD, offset: 0x39E0E, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4CellV12initialOwnerAA0G0Ovg', symObjAddr: 0x118, symBinAddr: 0x8D84, symSize: 0xC } + - { offsetInCU: 0x21B, offset: 0x39E2C, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4CellV5pieceAA5PieceVSgvg', symObjAddr: 0x124, symBinAddr: 0x8D90, symSize: 0xC } + - { offsetInCU: 0x239, offset: 0x39E4A, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4CellV5pieceAA5PieceVSgvs', symObjAddr: 0x130, symBinAddr: 0x8D9C, symSize: 0xC } + - { offsetInCU: 0x277, offset: 0x39E88, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4CellV5pieceAA5PieceVSgvM', symObjAddr: 0x13C, symBinAddr: 0x8DA8, symSize: 0x10 } + - { offsetInCU: 0x2A5, offset: 0x39EB6, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4CellV5pieceAA5PieceVSgvM.resume.0', symObjAddr: 0x14C, symBinAddr: 0x8DB8, symSize: 0x4 } + - { offsetInCU: 0x2D0, offset: 0x39EE1, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4CellV2eeoiySbAC_ACtFZ', symObjAddr: 0x150, symBinAddr: 0x8DBC, symSize: 0x4 } + - { offsetInCU: 0x2E4, offset: 0x39EF5, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4CellVs23CustomStringConvertibleAAsADP11descriptionSSvgTW', symObjAddr: 0x154, symBinAddr: 0x8DC0, symSize: 0x4 } + - { offsetInCU: 0x30F, offset: 0x39F20, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4CellVSQAASQ2eeoiySbx_xtFZTW', symObjAddr: 0x158, symBinAddr: 0x8DC4, symSize: 0x4 } + - { offsetInCU: 0x32F, offset: 0x39F40, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4CellVSQAASQ2eeoiySbx_xtFZTW', symObjAddr: 0x158, symBinAddr: 0x8DC4, symSize: 0x4 } + - { offsetInCU: 0x340, offset: 0x39F51, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4CellV2eeoiySbAC_ACtFZTf4nnd_n', symObjAddr: 0x15C, symBinAddr: 0x8DC8, symSize: 0x58 } + - { offsetInCU: 0x3B4, offset: 0x39FC5, size: 0x8, addend: 0x0, symName: ___swift_memcpy4_1, symObjAddr: 0x1B4, symBinAddr: 0x8E20, symSize: 0xC } + - { offsetInCU: 0x3C8, offset: 0x39FD9, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4CellVwet', symObjAddr: 0x1C4, symBinAddr: 0x8E2C, symSize: 0x44 } + - { offsetInCU: 0x3DC, offset: 0x39FED, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4CellVwst', symObjAddr: 0x208, symBinAddr: 0x8E70, symSize: 0x40 } + - { offsetInCU: 0x3F0, offset: 0x3A001, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4CellVMa', symObjAddr: 0x248, symBinAddr: 0x8EB0, symSize: 0x10 } + - { offsetInCU: 0x2B, offset: 0x3A10C, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesV11initialGrid_WZ', symObjAddr: 0x0, symBinAddr: 0x8EC0, symSize: 0x1A4 } + - { offsetInCU: 0x4F, offset: 0x3A130, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesV11initialGridSaySayAA4CellVGGvpZ', symObjAddr: 0xB3D0, symBinAddr: 0x19B50, symSize: 0x0 } + - { offsetInCU: 0x1A2, offset: 0x3A283, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesV11initialGrid_WZ', symObjAddr: 0x0, symBinAddr: 0x8EC0, symSize: 0x1A4 } + - { offsetInCU: 0x582, offset: 0x3A663, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesV11createBoardAA0I0VyFZ', symObjAddr: 0x1A4, symBinAddr: 0x9064, symSize: 0x78 } + - { offsetInCU: 0x5C0, offset: 0x3A6A1, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesV10checkBoardyyAA0I0VKFZ', symObjAddr: 0x21C, symBinAddr: 0x90DC, symSize: 0x14 } + - { offsetInCU: 0x5DB, offset: 0x3A6BC, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVACycfC', symObjAddr: 0x230, symBinAddr: 0x90F0, symSize: 0x30 } + - { offsetInCU: 0x61F, offset: 0x3A700, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesV10occurences8historicACSDyAA5BoardVSiG_SayAA4MoveVGtcfC', symObjAddr: 0x260, symBinAddr: 0x9120, symSize: 0x54 } + - { offsetInCU: 0x683, offset: 0x3A764, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesV8getMoves2in2ofSayAA4MoveVGAA5BoardV_AA5OwnerOtF', symObjAddr: 0x2B4, symBinAddr: 0x9174, symSize: 0x17C } + - { offsetInCU: 0x99E, offset: 0x3AA7F, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesV8getMoves2in2of7fromRow9andColumnSayAA4MoveVGAA5BoardV_AA5OwnerOS2itF', symObjAddr: 0x430, symBinAddr: 0x92F0, symSize: 0x29C } + - { offsetInCU: 0xCE8, offset: 0x3ADC9, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesV11isMoveValid7onBoard7fromRow13andFromColumn02toN00o2ToQ0SbAA0L0V_S4itF', symObjAddr: 0x6CC, symBinAddr: 0x958C, symSize: 0xA0 } + - { offsetInCU: 0xDF9, offset: 0x3AEDA, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesV11isMoveValid7onBoard04withI0SbAA0L0V_AA0I0VtF', symObjAddr: 0x76C, symBinAddr: 0x962C, symSize: 0x10C } + - { offsetInCU: 0x1033, offset: 0x3B114, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesV13getNextPlayerAA5OwnerOyF', symObjAddr: 0x878, symBinAddr: 0x9738, symSize: 0x3C } + - { offsetInCU: 0x1143, offset: 0x3B224, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesV10isGameOver9withBoard16andLastRowPlayed0mN12ColumnPlayerSb_AA6ResultOtAA0L0V_S2itF', symObjAddr: 0x8B4, symBinAddr: 0x9774, symSize: 0x11C } + - { offsetInCU: 0x12BB, offset: 0x3B39C, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesV10playedMove_15onStartingBoard012andResultingL0yAA0I0V_AA0L0VAJtKF', symObjAddr: 0x9D0, symBinAddr: 0x9890, symSize: 0x1E4 } + - { offsetInCU: 0x1477, offset: 0x3B558, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesV10occurencesSDyAA5BoardVSiGvg', symObjAddr: 0xBB4, symBinAddr: 0x9A74, symSize: 0x8 } + - { offsetInCU: 0x148B, offset: 0x3B56C, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesV8historicSayAA4MoveVGvg', symObjAddr: 0xBBC, symBinAddr: 0x9A7C, symSize: 0x8 } + - { offsetInCU: 0x14BD, offset: 0x3B59E, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVAA0G0A2aDP11createBoardAA0I0VyFZTW', symObjAddr: 0xBC4, symBinAddr: 0x9A84, symSize: 0x78 } + - { offsetInCU: 0x150A, offset: 0x3B5EB, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVAA0G0A2aDP10checkBoardyyAA0I0VKFZTW', symObjAddr: 0xC3C, symBinAddr: 0x9AFC, symSize: 0x14 } + - { offsetInCU: 0x1542, offset: 0x3B623, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVAA0G0A2aDP13getNextPlayerAA5OwnerOyFTW', symObjAddr: 0xC50, symBinAddr: 0x9B10, symSize: 0x4 } + - { offsetInCU: 0x155E, offset: 0x3B63F, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVAA0G0A2aDP8getMoves2in2ofSayAA4MoveVGAA5BoardV_AA5OwnerOtFTW', symObjAddr: 0xC54, symBinAddr: 0x9B14, symSize: 0x14 } + - { offsetInCU: 0x157A, offset: 0x3B65B, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVAA0G0A2aDP8getMoves2in2of7fromRow9andColumnSayAA4MoveVGAA5BoardV_AA5OwnerOS2itFTW', symObjAddr: 0xC68, symBinAddr: 0x9B28, symSize: 0x14 } + - { offsetInCU: 0x1596, offset: 0x3B677, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVAA0G0A2aDP11isMoveValid7onBoard7fromRow13andFromColumn02toN00o2ToQ0SbAA0L0V_S4itFTW', symObjAddr: 0xC7C, symBinAddr: 0x9B3C, symSize: 0x4 } + - { offsetInCU: 0x15B2, offset: 0x3B693, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVAA0G0A2aDP11isMoveValid7onBoard04withI0SbAA0L0V_AA0I0VtFTW', symObjAddr: 0xC80, symBinAddr: 0x9B40, symSize: 0x4 } + - { offsetInCU: 0x15CE, offset: 0x3B6AF, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVAA0G0A2aDP10isGameOver9withBoard16andLastRowPlayed0mN12ColumnPlayerSb_AA6ResultOtAA0L0V_S2itFTW', symObjAddr: 0xC84, symBinAddr: 0x9B44, symSize: 0x18 } + - { offsetInCU: 0x15EA, offset: 0x3B6CB, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVAA0G0A2aDP10playedMove_15onStartingBoard012andResultingL0yAA0I0V_AA0L0VALtKFTW', symObjAddr: 0xC9C, symBinAddr: 0x9B5C, symSize: 0x14 } + - { offsetInCU: 0x161E, offset: 0x3B6FF, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVAA0G0A2aDP10occurencesSDyAA5BoardVSiGvgTW', symObjAddr: 0xCB0, symBinAddr: 0x9B70, symSize: 0x8 } + - { offsetInCU: 0x163E, offset: 0x3B71F, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVAA0G0A2aDP10occurencesSDyAA5BoardVSiGvgTW', symObjAddr: 0xCB0, symBinAddr: 0x9B70, symSize: 0x8 } + - { offsetInCU: 0x1661, offset: 0x3B742, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVAA0G0A2aDP8historicSayAA4MoveVGvgTW', symObjAddr: 0xCB8, symBinAddr: 0x9B78, symSize: 0x8 } + - { offsetInCU: 0x1681, offset: 0x3B762, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVAA0G0A2aDP8historicSayAA4MoveVGvgTW', symObjAddr: 0xCB8, symBinAddr: 0x9B78, symSize: 0x8 } + - { offsetInCU: 0x1693, offset: 0x3B774, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesV16checkCellsByType33_2B29F97F1EE5509065CD9853A78D42F5LLyyAA5BoardVKFZTf4nd_n', symObjAddr: 0xCC0, symBinAddr: 0x9B80, symSize: 0x144 } + - { offsetInCU: 0x1895, offset: 0x3B976, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesV11checkPieces33_2B29F97F1EE5509065CD9853A78D42F5LLyyAA5BoardVKFZTf4nd_n', symObjAddr: 0xE04, symBinAddr: 0x9CC4, symSize: 0x220 } + - { offsetInCU: 0x1BFD, offset: 0x3BCDE, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesV10checkBoardyyAA0I0VKFZTf4nd_n', symObjAddr: 0x1024, symBinAddr: 0x9EE4, symSize: 0xB8 } + - { offsetInCU: 0x1E82, offset: 0x3BF63, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVwCP', symObjAddr: 0x11A4, symBinAddr: 0x9F9C, symSize: 0x34 } + - { offsetInCU: 0x1E96, offset: 0x3BF77, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVwxx', symObjAddr: 0x11D8, symBinAddr: 0x9FD0, symSize: 0x28 } + - { offsetInCU: 0x1EAA, offset: 0x3BF8B, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVwcp', symObjAddr: 0x1200, symBinAddr: 0x9FF8, symSize: 0x34 } + - { offsetInCU: 0x1EBE, offset: 0x3BF9F, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVwca', symObjAddr: 0x1234, symBinAddr: 0xA02C, symSize: 0x5C } + - { offsetInCU: 0x1ED2, offset: 0x3BFB3, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVwta', symObjAddr: 0x129C, symBinAddr: 0xA088, symSize: 0x44 } + - { offsetInCU: 0x1EE6, offset: 0x3BFC7, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVwet', symObjAddr: 0x12E0, symBinAddr: 0xA0CC, symSize: 0x48 } + - { offsetInCU: 0x1EFA, offset: 0x3BFDB, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVwst', symObjAddr: 0x1328, symBinAddr: 0xA114, symSize: 0x3C } + - { offsetInCU: 0x1F0E, offset: 0x3BFEF, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVMa', symObjAddr: 0x1364, symBinAddr: 0xA150, symSize: 0x10 } + - { offsetInCU: 0x4B, offset: 0x3C377, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6PlayerC8withName5andIdACSgSS_AA5OwnerOtcfc', symObjAddr: 0x0, symBinAddr: 0xA1D8, symSize: 0x68 } + - { offsetInCU: 0x7A, offset: 0x3C3A6, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6PlayerCfd', symObjAddr: 0x88, symBinAddr: 0xA260, symSize: 0x24 } + - { offsetInCU: 0x97, offset: 0x3C3C3, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6PlayerC26addPlayedCallbacksListeneryyyAA4MoveVSg_ACtYaKcF', symObjAddr: 0xAC, symBinAddr: 0xA284, symSize: 0xE4 } + - { offsetInCU: 0x1C2, offset: 0x3C4EE, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6PlayerC12notifyPlayed8withMove03andE0yAA0I0VSg_ACtYaKF', symObjAddr: 0x190, symBinAddr: 0xA368, symSize: 0x28 } + - { offsetInCU: 0x252, offset: 0x3C57E, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6PlayerC12notifyPlayed8withMove03andE0yAA0I0VSg_ACtYaKFTY0_', symObjAddr: 0x1B8, symBinAddr: 0xA390, symSize: 0x10C } + - { offsetInCU: 0x3DB, offset: 0x3C707, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6PlayerC12notifyPlayed8withMove03andE0yAA0I0VSg_ACtYaKFTQ1_', symObjAddr: 0x2C4, symBinAddr: 0xA49C, symSize: 0x70 } + - { offsetInCU: 0x49A, offset: 0x3C7C6, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6PlayerC12notifyPlayed8withMove03andE0yAA0I0VSg_ACtYaKFTY2_', symObjAddr: 0x334, symBinAddr: 0xA50C, symSize: 0xFC } + - { offsetInCU: 0x58F, offset: 0x3C8BB, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6PlayerC12notifyPlayed8withMove03andE0yAA0I0VSg_ACtYaKFTY3_', symObjAddr: 0x430, symBinAddr: 0xA608, symSize: 0x40 } + - { offsetInCU: 0x601, offset: 0x3C92D, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6PlayerC4nameSSvg', symObjAddr: 0x470, symBinAddr: 0xA648, symSize: 0x2C } + - { offsetInCU: 0x630, offset: 0x3C95C, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6PlayerC2idAA5OwnerOvg', symObjAddr: 0x49C, symBinAddr: 0xA674, symSize: 0xC } + - { offsetInCU: 0x693, offset: 0x3C9BF, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6PlayerC8withName5andIdACSgSS_AA5OwnerOtcfC', symObjAddr: 0x4A8, symBinAddr: 0xA680, symSize: 0x98 } + - { offsetInCU: 0x6C8, offset: 0x3C9F4, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6PlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKF', symObjAddr: 0x540, symBinAddr: 0xA718, symSize: 0xC } + - { offsetInCU: 0x738, offset: 0x3CA64, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6PlayerCfD', symObjAddr: 0x6F4, symBinAddr: 0xA8CC, symSize: 0x2C } + - { offsetInCU: 0x77C, offset: 0x3CAA8, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6PlayerCMa', symObjAddr: 0x68, symBinAddr: 0xA240, symSize: 0x20 } + - { offsetInCU: 0x883, offset: 0x3CBAF, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveVSgAA6PlayerCs5Error_pIegHngzo_AdFytsAG_pIegHnnrzo_TR', symObjAddr: 0x54C, symBinAddr: 0xA724, symSize: 0x6C } + - { offsetInCU: 0x8B6, offset: 0x3CBE2, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveVSgAA6PlayerCs5Error_pIegHngzo_AdFytsAG_pIegHnnrzo_TRTQ0_', symObjAddr: 0x5B8, symBinAddr: 0xA790, symSize: 0x48 } + - { offsetInCU: 0x904, offset: 0x3CC30, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveVSgAA6PlayerCs5Error_pIegHngzo_AdFytsAG_pIegHnnrzo_TRTA', symObjAddr: 0x624, symBinAddr: 0xA7FC, symSize: 0x88 } + - { offsetInCU: 0x934, offset: 0x3CC60, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveVSgAA6PlayerCs5Error_pIegHngzo_AdFytsAG_pIegHnnrzo_TRTATQ0_', symObjAddr: 0x6AC, symBinAddr: 0xA884, symSize: 0x48 } + - { offsetInCU: 0x9FE, offset: 0x3CD2A, size: 0x8, addend: 0x0, symName: '_$ss12_ArrayBufferV20_consumeAndCreateNew14bufferIsUnique15minimumCapacity13growForAppendAByxGSb_SiSbtFSi3row_Si3colt_Tg5', symObjAddr: 0x82C, symBinAddr: 0xAA04, symSize: 0xFC } + - { offsetInCU: 0xBA1, offset: 0x3CECD, size: 0x8, addend: 0x0, symName: '_$ss12_ArrayBufferV20_consumeAndCreateNew14bufferIsUnique15minimumCapacity13growForAppendAByxGSb_SiSbtF14DouShouQiModel4MoveV_Tg5', symObjAddr: 0x968, symBinAddr: 0xAB00, symSize: 0x110 } + - { offsetInCU: 0xD44, offset: 0x3D070, size: 0x8, addend: 0x0, symName: '_$ss12_ArrayBufferV20_consumeAndCreateNew14bufferIsUnique15minimumCapacity13growForAppendAByxGSb_SiSbtF14DouShouQiModel4CellV_Tg5', symObjAddr: 0xA78, symBinAddr: 0xAC10, symSize: 0xFC } + - { offsetInCU: 0xEF2, offset: 0x3D21E, size: 0x8, addend: 0x0, symName: '_$ss12_ArrayBufferV20_consumeAndCreateNew14bufferIsUnique15minimumCapacity13growForAppendAByxGSb_SiSbtFSay14DouShouQiModel4CellVG_Tg5', symObjAddr: 0xB74, symBinAddr: 0xAD0C, symSize: 0x128 } + - { offsetInCU: 0x27, offset: 0x3D541, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel9GameErrorOs0F0AAsADP7_domainSSvgTW', symObjAddr: 0x0, symBinAddr: 0xAFB4, symSize: 0x4 } + - { offsetInCU: 0x3F, offset: 0x3D559, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel9GameErrorOwCP', symObjAddr: 0x10, symBinAddr: 0xAFC4, symSize: 0x48 } + - { offsetInCU: 0x53, offset: 0x3D56D, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel9GameErrorOwxx', symObjAddr: 0x58, symBinAddr: 0xB00C, symSize: 0x18 } + - { offsetInCU: 0x67, offset: 0x3D581, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel9GameErrorOwcp', symObjAddr: 0x70, symBinAddr: 0xB024, symSize: 0x48 } + - { offsetInCU: 0x7B, offset: 0x3D595, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel9GameErrorOwca', symObjAddr: 0xB8, symBinAddr: 0xB06C, symSize: 0xA0 } + - { offsetInCU: 0x8F, offset: 0x3D5A9, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel9GameErrorOwta', symObjAddr: 0x164, symBinAddr: 0xB10C, symSize: 0x60 } + - { offsetInCU: 0xA3, offset: 0x3D5BD, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel9GameErrorOwet', symObjAddr: 0x1C4, symBinAddr: 0xB16C, symSize: 0x58 } + - { offsetInCU: 0xB7, offset: 0x3D5D1, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel9GameErrorOwst', symObjAddr: 0x21C, symBinAddr: 0xB1C4, symSize: 0x54 } + - { offsetInCU: 0xCB, offset: 0x3D5E5, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel9GameErrorOwug', symObjAddr: 0x270, symBinAddr: 0xB218, symSize: 0x18 } + - { offsetInCU: 0xDF, offset: 0x3D5F9, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel9GameErrorOwup', symObjAddr: 0x288, symBinAddr: 0xB230, symSize: 0x4 } + - { offsetInCU: 0xF3, offset: 0x3D60D, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel9GameErrorOwui', symObjAddr: 0x28C, symBinAddr: 0xB234, symSize: 0x20 } + - { offsetInCU: 0x107, offset: 0x3D621, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel9GameErrorOMa', symObjAddr: 0x2AC, symBinAddr: 0xB254, symSize: 0x10 } + - { offsetInCU: 0x12C, offset: 0x3D646, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel9GameErrorOs0F0AAsADP7_domainSSvgTW', symObjAddr: 0x0, symBinAddr: 0xAFB4, symSize: 0x4 } + - { offsetInCU: 0x148, offset: 0x3D662, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel9GameErrorOs0F0AAsADP5_codeSivgTW', symObjAddr: 0x4, symBinAddr: 0xAFB8, symSize: 0x4 } + - { offsetInCU: 0x164, offset: 0x3D67E, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel9GameErrorOs0F0AAsADP9_userInfoyXlSgvgTW', symObjAddr: 0x8, symBinAddr: 0xAFBC, symSize: 0x4 } + - { offsetInCU: 0x180, offset: 0x3D69A, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel9GameErrorOs0F0AAsADP19_getEmbeddedNSErroryXlSgyFTW', symObjAddr: 0xC, symBinAddr: 0xAFC0, symSize: 0x4 } + - { offsetInCU: 0x27, offset: 0x3D72E, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12RandomPlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKF', symObjAddr: 0x0, symBinAddr: 0xB264, symSize: 0x28 } + - { offsetInCU: 0x52, offset: 0x3D759, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12RandomPlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKF', symObjAddr: 0x0, symBinAddr: 0xB264, symSize: 0x28 } + - { offsetInCU: 0xC5, offset: 0x3D7CC, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12RandomPlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKFTY0_', symObjAddr: 0x28, symBinAddr: 0xB28C, symSize: 0x1B4 } + - { offsetInCU: 0x3A6, offset: 0x3DAAD, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12RandomPlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKFTQ1_', symObjAddr: 0x1DC, symBinAddr: 0xB440, symSize: 0x70 } + - { offsetInCU: 0x4A7, offset: 0x3DBAE, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12RandomPlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKFTY2_', symObjAddr: 0x24C, symBinAddr: 0xB4B0, symSize: 0x104 } + - { offsetInCU: 0x5DD, offset: 0x3DCE4, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12RandomPlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKFTY3_', symObjAddr: 0x350, symBinAddr: 0xB5B4, symSize: 0x4C } + - { offsetInCU: 0x6C4, offset: 0x3DDCB, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12RandomPlayerC8withName5andIdACSgSS_AA5OwnerOtcfC', symObjAddr: 0x3C0, symBinAddr: 0xB624, symSize: 0x9C } + - { offsetInCU: 0x71B, offset: 0x3DE22, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12RandomPlayerC8withName5andIdACSgSS_AA5OwnerOtcfc', symObjAddr: 0x45C, symBinAddr: 0xB6C0, symSize: 0x6C } + - { offsetInCU: 0x76C, offset: 0x3DE73, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12RandomPlayerCfd', symObjAddr: 0x4C8, symBinAddr: 0xB72C, symSize: 0x24 } + - { offsetInCU: 0x7CB, offset: 0x3DED2, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12RandomPlayerCfD', symObjAddr: 0x4EC, symBinAddr: 0xB750, symSize: 0x2C } + - { offsetInCU: 0x9ED, offset: 0x3E0F4, size: 0x8, addend: 0x0, symName: ___swift_project_boxed_opaque_existential_1, symObjAddr: 0x39C, symBinAddr: 0xB600, symSize: 0x24 } + - { offsetInCU: 0xA98, offset: 0x3E19F, size: 0x8, addend: 0x0, symName: '_$sSGsE4next10upperBoundqd__qd___ts17FixedWidthIntegerRd__SURd__lFs27SystemRandomNumberGeneratorV_SuTg5', symObjAddr: 0x518, symBinAddr: 0xB77C, symSize: 0x88 } + - { offsetInCU: 0xB39, offset: 0x3E240, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12RandomPlayerCMa', symObjAddr: 0x5A0, symBinAddr: 0xB804, symSize: 0x20 } + - { offsetInCU: 0x27, offset: 0x3E3EC, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeO8allCasesSayACGvgZ', symObjAddr: 0x0, symBinAddr: 0xB824, symSize: 0x48 } + - { offsetInCU: 0x6C, offset: 0x3E431, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeO8allCasesSayACGvgZ', symObjAddr: 0x0, symBinAddr: 0xB824, symSize: 0x48 } + - { offsetInCU: 0xDB, offset: 0x3E4A0, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeO2eeoiySbAC_ACtFZ', symObjAddr: 0x88, symBinAddr: 0xB86C, symSize: 0x14 } + - { offsetInCU: 0x10E, offset: 0x3E4D3, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeO4hash4intoys6HasherVz_tF', symObjAddr: 0x9C, symBinAddr: 0xB880, symSize: 0x28 } + - { offsetInCU: 0x1A4, offset: 0x3E569, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeO9hashValueSivg', symObjAddr: 0xC4, symBinAddr: 0xB8A8, symSize: 0x44 } + - { offsetInCU: 0x29E, offset: 0x3E663, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeOSQAASQ2eeoiySbx_xtFZTW', symObjAddr: 0x108, symBinAddr: 0xB8EC, symSize: 0x14 } + - { offsetInCU: 0x2BE, offset: 0x3E683, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeOSQAASQ2eeoiySbx_xtFZTW', symObjAddr: 0x108, symBinAddr: 0xB8EC, symSize: 0x14 } + - { offsetInCU: 0x2FE, offset: 0x3E6C3, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeOSHAASH9hashValueSivgTW', symObjAddr: 0x11C, symBinAddr: 0xB900, symSize: 0x44 } + - { offsetInCU: 0x3E1, offset: 0x3E7A6, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeOSHAASH4hash4intoys6HasherVz_tFTW', symObjAddr: 0x160, symBinAddr: 0xB944, symSize: 0x28 } + - { offsetInCU: 0x46D, offset: 0x3E832, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeOs12CaseIterableAAsADP8allCases03AllJ0QzvgZTW', symObjAddr: 0x2A4, symBinAddr: 0xBA88, symSize: 0x58 } + - { offsetInCU: 0x509, offset: 0x3E8CE, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeOSHAASQWb', symObjAddr: 0x1C8, symBinAddr: 0xB9AC, symSize: 0x4 } + - { offsetInCU: 0x51D, offset: 0x3E8E2, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeOACSQAAWl', symObjAddr: 0x1CC, symBinAddr: 0xB9B0, symSize: 0x44 } + - { offsetInCU: 0x531, offset: 0x3E8F6, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeOs12CaseIterableAA8AllCasessADP_SlWT', symObjAddr: 0x210, symBinAddr: 0xB9F4, symSize: 0x4 } + - { offsetInCU: 0x545, offset: 0x3E90A, size: 0x8, addend: 0x0, symName: '_$sSay14DouShouQiModel8CellTypeOGSayxGSlsWl', symObjAddr: 0x214, symBinAddr: 0xB9F8, symSize: 0x4C } + - { offsetInCU: 0x559, offset: 0x3E91E, size: 0x8, addend: 0x0, symName: ___swift_instantiateConcreteTypeFromMangledNameAbstract, symObjAddr: 0x260, symBinAddr: 0xBA44, symSize: 0x44 } + - { offsetInCU: 0x56D, offset: 0x3E932, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeOwet', symObjAddr: 0x30C, symBinAddr: 0xBAE0, symSize: 0x90 } + - { offsetInCU: 0x581, offset: 0x3E946, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeOwst', symObjAddr: 0x39C, symBinAddr: 0xBB70, symSize: 0xBC } + - { offsetInCU: 0x595, offset: 0x3E95A, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeOwug', symObjAddr: 0x458, symBinAddr: 0xBC2C, symSize: 0x8 } + - { offsetInCU: 0x5A9, offset: 0x3E96E, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeOwup', symObjAddr: 0x460, symBinAddr: 0xBC34, symSize: 0x4 } + - { offsetInCU: 0x5BD, offset: 0x3E982, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeOwui', symObjAddr: 0x464, symBinAddr: 0xBC38, symSize: 0x8 } + - { offsetInCU: 0x5D1, offset: 0x3E996, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeOMa', symObjAddr: 0x46C, symBinAddr: 0xBC40, symSize: 0x10 } + - { offsetInCU: 0x63E, offset: 0x3EA03, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeOSHAASH13_rawHashValue4seedS2i_tFTW', symObjAddr: 0x188, symBinAddr: 0xB96C, symSize: 0x40 } + - { offsetInCU: 0x2B, offset: 0x3EB43, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardV8withGridACSgSaySayAA4CellVGG_tcfC', symObjAddr: 0x0, symBinAddr: 0xBC50, symSize: 0x68 } + - { offsetInCU: 0xA6, offset: 0x3EBBE, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardV8withGridACSgSaySayAA4CellVGG_tcfC', symObjAddr: 0x0, symBinAddr: 0xBC50, symSize: 0x68 } + - { offsetInCU: 0x2B0, offset: 0x3EDC8, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardV11countPieces2ofSiAA5OwnerO_tF', symObjAddr: 0x68, symBinAddr: 0xBCB8, symSize: 0x1C0 } + - { offsetInCU: 0x583, offset: 0x3F09B, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardV4hash4intoys6HasherVz_tF', symObjAddr: 0x228, symBinAddr: 0xBE78, symSize: 0xD0 } + - { offsetInCU: 0x7F1, offset: 0x3F309, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardV6nbRowsSivg', symObjAddr: 0x2F8, symBinAddr: 0xBF48, symSize: 0x8 } + - { offsetInCU: 0x80F, offset: 0x3F327, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardV9nbColumnsSivg', symObjAddr: 0x300, symBinAddr: 0xBF50, symSize: 0x8 } + - { offsetInCU: 0x82D, offset: 0x3F345, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardV4gridSaySayAA4CellVGGvg', symObjAddr: 0x308, symBinAddr: 0xBF58, symSize: 0x8 } + - { offsetInCU: 0x84B, offset: 0x3F363, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardV11countPiecesSi04nbOfgI7Player1_Si0higI7Player2tyF', symObjAddr: 0x310, symBinAddr: 0xBF60, symSize: 0xD0 } + - { offsetInCU: 0xA02, offset: 0x3F51A, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardV6insert5piece5atRow9andColumnAA0E6ResultOAA5PieceV_S2itF', symObjAddr: 0x3E0, symBinAddr: 0xC030, symSize: 0x150 } + - { offsetInCU: 0xC18, offset: 0x3F730, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardV11removePiece5atRow9andColumnAA0E6ResultOSi_SitF', symObjAddr: 0x530, symBinAddr: 0xC180, symSize: 0x14C } + - { offsetInCU: 0xE35, offset: 0x3F94D, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardV2eeoiySbAC_ACtFZ', symObjAddr: 0x67C, symBinAddr: 0xC2CC, symSize: 0x28 } + - { offsetInCU: 0xE77, offset: 0x3F98F, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardV9hashValueSivg', symObjAddr: 0x6A4, symBinAddr: 0xC2F4, symSize: 0x50 } + - { offsetInCU: 0xF03, offset: 0x3FA1B, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVSHAASH9hashValueSivgTW', symObjAddr: 0x6F4, symBinAddr: 0xC344, symSize: 0x50 } + - { offsetInCU: 0xF92, offset: 0x3FAAA, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVSHAASH4hash4intoys6HasherVz_tFTW', symObjAddr: 0x744, symBinAddr: 0xC394, symSize: 0x4 } + - { offsetInCU: 0xFC0, offset: 0x3FAD8, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVSQAASQ2eeoiySbx_xtFZTW', symObjAddr: 0x794, symBinAddr: 0xC3E4, symSize: 0x28 } + - { offsetInCU: 0x125D, offset: 0x3FD75, size: 0x8, addend: 0x0, symName: '_$ss12_ArrayBufferV20_consumeAndCreateNewAByxGyF14DouShouQiModel4MoveV_Tg5', symObjAddr: 0x7BC, symBinAddr: 0xC40C, symSize: 0x14 } + - { offsetInCU: 0x1295, offset: 0x3FDAD, size: 0x8, addend: 0x0, symName: '_$ss12_ArrayBufferV20_consumeAndCreateNewAByxGyF14DouShouQiModel4CellV_Tg5', symObjAddr: 0x7D0, symBinAddr: 0xC420, symSize: 0x14 } + - { offsetInCU: 0x12CD, offset: 0x3FDE5, size: 0x8, addend: 0x0, symName: '_$ss12_ArrayBufferV20_consumeAndCreateNewAByxGyFSay14DouShouQiModel4CellVG_Tg5', symObjAddr: 0x7E4, symBinAddr: 0xC434, symSize: 0x14 } + - { offsetInCU: 0x1305, offset: 0x3FE1D, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVSHAASQWb', symObjAddr: 0x9B0, symBinAddr: 0xC600, symSize: 0x4 } + - { offsetInCU: 0x1319, offset: 0x3FE31, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVACSQAAWl', symObjAddr: 0x9B4, symBinAddr: 0xC604, symSize: 0x44 } + - { offsetInCU: 0x132D, offset: 0x3FE45, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVwCP', symObjAddr: 0x9F8, symBinAddr: 0xC648, symSize: 0x34 } + - { offsetInCU: 0x1341, offset: 0x3FE59, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVwxx', symObjAddr: 0xA2C, symBinAddr: 0xC67C, symSize: 0x8 } + - { offsetInCU: 0x1355, offset: 0x3FE6D, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVwcp', symObjAddr: 0xA34, symBinAddr: 0xC684, symSize: 0x34 } + - { offsetInCU: 0x1369, offset: 0x3FE81, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVwca', symObjAddr: 0xA68, symBinAddr: 0xC6B8, symSize: 0x48 } + - { offsetInCU: 0x137D, offset: 0x3FE95, size: 0x8, addend: 0x0, symName: ___swift_memcpy24_8, symObjAddr: 0xAB0, symBinAddr: 0xC700, symSize: 0x14 } + - { offsetInCU: 0x1391, offset: 0x3FEA9, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVwta', symObjAddr: 0xAC4, symBinAddr: 0xC714, symSize: 0x38 } + - { offsetInCU: 0x13A5, offset: 0x3FEBD, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVwet', symObjAddr: 0xAFC, symBinAddr: 0xC74C, symSize: 0x48 } + - { offsetInCU: 0x13B9, offset: 0x3FED1, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVwst', symObjAddr: 0xB44, symBinAddr: 0xC794, symSize: 0x40 } + - { offsetInCU: 0x13CD, offset: 0x3FEE5, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVMa', symObjAddr: 0xB84, symBinAddr: 0xC7D4, symSize: 0x10 } + - { offsetInCU: 0x1532, offset: 0x4004A, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVSHAASH13_rawHashValue4seedS2i_tFTW', symObjAddr: 0x748, symBinAddr: 0xC398, symSize: 0x4C } + - { offsetInCU: 0x1570, offset: 0x40088, size: 0x8, addend: 0x0, symName: '_$sSasSQRzlE2eeoiySbSayxG_ABtFZ14DouShouQiModel4CellV_Tg5Tf4nnd_n', symObjAddr: 0x7F8, symBinAddr: 0xC448, symSize: 0x98 } + - { offsetInCU: 0x1590, offset: 0x400A8, size: 0x8, addend: 0x0, symName: '_$sSasSQRzlE2eeoiySbSayxG_ABtFZ14DouShouQiModel4CellV_Tg5Tf4nnd_n', symObjAddr: 0x7F8, symBinAddr: 0xC448, symSize: 0x98 } + - { offsetInCU: 0x15A4, offset: 0x400BC, size: 0x8, addend: 0x0, symName: '_$sSasSQRzlE2eeoiySbSayxG_ABtFZ14DouShouQiModel4CellV_Tg5Tf4nnd_n', symObjAddr: 0x7F8, symBinAddr: 0xC448, symSize: 0x98 } + - { offsetInCU: 0x15B8, offset: 0x400D0, size: 0x8, addend: 0x0, symName: '_$sSasSQRzlE2eeoiySbSayxG_ABtFZ14DouShouQiModel4CellV_Tg5Tf4nnd_n', symObjAddr: 0x7F8, symBinAddr: 0xC448, symSize: 0x98 } + - { offsetInCU: 0x1644, offset: 0x4015C, size: 0x8, addend: 0x0, symName: '_$sSasSQRzlE2eeoiySbSayxG_ABtFZSay14DouShouQiModel4CellVG_Tg5Tf4nnd_n', symObjAddr: 0x890, symBinAddr: 0xC4E0, symSize: 0x120 } + - { offsetInCU: 0x27, offset: 0x403A5, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceV9withOwner9andAnimalAcA0G0O_AA0I0OtcfC', symObjAddr: 0x0, symBinAddr: 0xC7E4, symSize: 0x14 } + - { offsetInCU: 0x46, offset: 0x403C4, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceV9withOwner9andAnimalAcA0G0O_AA0I0OtcfC', symObjAddr: 0x0, symBinAddr: 0xC7E4, symSize: 0x14 } + - { offsetInCU: 0x85, offset: 0x40403, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceV11descriptionSSvg', symObjAddr: 0x14, symBinAddr: 0xC7F8, symSize: 0xB4 } + - { offsetInCU: 0x176, offset: 0x404F4, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceV5ownerAA5OwnerOvg', symObjAddr: 0xC8, symBinAddr: 0xC8AC, symSize: 0xC } + - { offsetInCU: 0x194, offset: 0x40512, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceV6animalAA6AnimalOvg', symObjAddr: 0xD4, symBinAddr: 0xC8B8, symSize: 0xC } + - { offsetInCU: 0x1B2, offset: 0x40530, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceV4hash4intoys6HasherVz_tF', symObjAddr: 0xE0, symBinAddr: 0xC8C4, symSize: 0x3C } + - { offsetInCU: 0x2E8, offset: 0x40666, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceV2eeoiySbAC_ACtFZ', symObjAddr: 0x11C, symBinAddr: 0xC900, symSize: 0x20 } + - { offsetInCU: 0x355, offset: 0x406D3, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceV9hashValueSivg', symObjAddr: 0x13C, symBinAddr: 0xC920, symSize: 0x5C } + - { offsetInCU: 0x4EB, offset: 0x40869, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceVs23CustomStringConvertibleAAsADP11descriptionSSvgTW', symObjAddr: 0x198, symBinAddr: 0xC97C, symSize: 0x4 } + - { offsetInCU: 0x516, offset: 0x40894, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceVSHAASH9hashValueSivgTW', symObjAddr: 0x19C, symBinAddr: 0xC980, symSize: 0x5C } + - { offsetInCU: 0x6C9, offset: 0x40A47, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceVSHAASH4hash4intoys6HasherVz_tFTW', symObjAddr: 0x1F8, symBinAddr: 0xC9DC, symSize: 0x3C } + - { offsetInCU: 0x82D, offset: 0x40BAB, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceVSQAASQ2eeoiySbx_xtFZTW', symObjAddr: 0x28C, symBinAddr: 0xCA70, symSize: 0x20 } + - { offsetInCU: 0x84D, offset: 0x40BCB, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceVSQAASQ2eeoiySbx_xtFZTW', symObjAddr: 0x28C, symBinAddr: 0xCA70, symSize: 0x20 } + - { offsetInCU: 0x949, offset: 0x40CC7, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceVSHAASQWb', symObjAddr: 0x2AC, symBinAddr: 0xCA90, symSize: 0x4 } + - { offsetInCU: 0x95D, offset: 0x40CDB, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceVACSQAAWl', symObjAddr: 0x2B0, symBinAddr: 0xCA94, symSize: 0x44 } + - { offsetInCU: 0x971, offset: 0x40CEF, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceVwet', symObjAddr: 0x304, symBinAddr: 0xCAD8, symSize: 0x94 } + - { offsetInCU: 0x985, offset: 0x40D03, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceVwst', symObjAddr: 0x398, symBinAddr: 0xCB6C, symSize: 0xBC } + - { offsetInCU: 0x999, offset: 0x40D17, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceVMa', symObjAddr: 0x454, symBinAddr: 0xCC28, symSize: 0x10 } + - { offsetInCU: 0xA44, offset: 0x40DC2, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceVSHAASH13_rawHashValue4seedS2i_tFTW', symObjAddr: 0x234, symBinAddr: 0xCA18, symSize: 0x58 } + - { offsetInCU: 0x27, offset: 0x40FC1, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel17InvalidBoardErrorO2eeoiySbAC_ACtFZ', symObjAddr: 0x0, symBinAddr: 0xCC38, symSize: 0x4 } + - { offsetInCU: 0x4B, offset: 0x40FE5, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel17InvalidBoardErrorO2eeoiySbAC_ACtFZ', symObjAddr: 0x0, symBinAddr: 0xCC38, symSize: 0x4 } + - { offsetInCU: 0x6E, offset: 0x41008, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel17InvalidBoardErrorOSQAASQ2eeoiySbx_xtFZTW', symObjAddr: 0x14, symBinAddr: 0xCC4C, symSize: 0x4 } + - { offsetInCU: 0x8E, offset: 0x41028, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel17InvalidBoardErrorOSQAASQ2eeoiySbx_xtFZTW', symObjAddr: 0x14, symBinAddr: 0xCC4C, symSize: 0x4 } + - { offsetInCU: 0x9F, offset: 0x41039, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel17InvalidBoardErrorO2eeoiySbAC_ACtFZTf4nnd_n', symObjAddr: 0x18, symBinAddr: 0xCC50, symSize: 0x118 } + - { offsetInCU: 0x1AE, offset: 0x41148, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel17InvalidBoardErrorOwCP', symObjAddr: 0x130, symBinAddr: 0xCD68, symSize: 0x30 } + - { offsetInCU: 0x1C2, offset: 0x4115C, size: 0x8, addend: 0x0, symName: ___swift_memcpy25_8, symObjAddr: 0x164, symBinAddr: 0xCD98, symSize: 0x14 } + - { offsetInCU: 0x1D6, offset: 0x41170, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel17InvalidBoardErrorOwet', symObjAddr: 0x178, symBinAddr: 0xCDAC, symSize: 0x48 } + - { offsetInCU: 0x1EA, offset: 0x41184, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel17InvalidBoardErrorOwst', symObjAddr: 0x1C0, symBinAddr: 0xCDF4, symSize: 0x48 } + - { offsetInCU: 0x1FE, offset: 0x41198, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel17InvalidBoardErrorOwug', symObjAddr: 0x208, symBinAddr: 0xCE3C, symSize: 0x18 } + - { offsetInCU: 0x212, offset: 0x411AC, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel17InvalidBoardErrorOwup', symObjAddr: 0x220, symBinAddr: 0xCE54, symSize: 0x4 } + - { offsetInCU: 0x226, offset: 0x411C0, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel17InvalidBoardErrorOwui', symObjAddr: 0x224, symBinAddr: 0xCE58, symSize: 0x1C } + - { offsetInCU: 0x23A, offset: 0x411D4, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel17InvalidBoardErrorOMa', symObjAddr: 0x240, symBinAddr: 0xCE74, symSize: 0x10 } + - { offsetInCU: 0x25F, offset: 0x411F9, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel17InvalidBoardErrorOs0G0AAsADP7_domainSSvgTW', symObjAddr: 0x4, symBinAddr: 0xCC3C, symSize: 0x4 } + - { offsetInCU: 0x27B, offset: 0x41215, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel17InvalidBoardErrorOs0G0AAsADP5_codeSivgTW', symObjAddr: 0x8, symBinAddr: 0xCC40, symSize: 0x4 } + - { offsetInCU: 0x297, offset: 0x41231, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel17InvalidBoardErrorOs0G0AAsADP9_userInfoyXlSgvgTW', symObjAddr: 0xC, symBinAddr: 0xCC44, symSize: 0x4 } + - { offsetInCU: 0x2B3, offset: 0x4124D, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel17InvalidBoardErrorOs0G0AAsADP19_getEmbeddedNSErroryXlSgyFTW', symObjAddr: 0x10, symBinAddr: 0xCC48, symSize: 0x4 } + - { offsetInCU: 0x27, offset: 0x412F6, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5OwnerO2eeoiySbAC_ACtFZ', symObjAddr: 0x0, symBinAddr: 0xCE84, symSize: 0x14 } + - { offsetInCU: 0x4B, offset: 0x4131A, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5OwnerO2eeoiySbAC_ACtFZ', symObjAddr: 0x0, symBinAddr: 0xCE84, symSize: 0x14 } + - { offsetInCU: 0x7E, offset: 0x4134D, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5OwnerO17simpleDescriptionSSvg', symObjAddr: 0x14, symBinAddr: 0xCE98, symSize: 0x18 } + - { offsetInCU: 0xA9, offset: 0x41378, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5OwnerO4hash4intoys6HasherVz_tF', symObjAddr: 0x2C, symBinAddr: 0xCEB0, symSize: 0x28 } + - { offsetInCU: 0x13F, offset: 0x4140E, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5OwnerO9hashValueSivg', symObjAddr: 0x54, symBinAddr: 0xCED8, symSize: 0x44 } + - { offsetInCU: 0x239, offset: 0x41508, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5OwnerOSQAASQ2eeoiySbx_xtFZTW', symObjAddr: 0x98, symBinAddr: 0xCF1C, symSize: 0x14 } + - { offsetInCU: 0x259, offset: 0x41528, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5OwnerOSQAASQ2eeoiySbx_xtFZTW', symObjAddr: 0x98, symBinAddr: 0xCF1C, symSize: 0x14 } + - { offsetInCU: 0x299, offset: 0x41568, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5OwnerOSHAASH9hashValueSivgTW', symObjAddr: 0xAC, symBinAddr: 0xCF30, symSize: 0x44 } + - { offsetInCU: 0x37C, offset: 0x4164B, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5OwnerOSHAASH4hash4intoys6HasherVz_tFTW', symObjAddr: 0xF0, symBinAddr: 0xCF74, symSize: 0x28 } + - { offsetInCU: 0x405, offset: 0x416D4, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5OwnerOSHAASQWb', symObjAddr: 0x158, symBinAddr: 0xCFDC, symSize: 0x4 } + - { offsetInCU: 0x419, offset: 0x416E8, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5OwnerOACSQAAWl', symObjAddr: 0x15C, symBinAddr: 0xCFE0, symSize: 0x44 } + - { offsetInCU: 0x42D, offset: 0x416FC, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5OwnerOwet', symObjAddr: 0x1B0, symBinAddr: 0xD024, symSize: 0x90 } + - { offsetInCU: 0x441, offset: 0x41710, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5OwnerOwst', symObjAddr: 0x240, symBinAddr: 0xD0B4, symSize: 0xBC } + - { offsetInCU: 0x455, offset: 0x41724, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5OwnerOwug', symObjAddr: 0x2FC, symBinAddr: 0xD170, symSize: 0x8 } + - { offsetInCU: 0x469, offset: 0x41738, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5OwnerOwup', symObjAddr: 0x304, symBinAddr: 0xD178, symSize: 0x4 } + - { offsetInCU: 0x47D, offset: 0x4174C, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5OwnerOwui', symObjAddr: 0x308, symBinAddr: 0xD17C, symSize: 0x8 } + - { offsetInCU: 0x491, offset: 0x41760, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5OwnerOMa', symObjAddr: 0x310, symBinAddr: 0xD184, symSize: 0x10 } + - { offsetInCU: 0x4E9, offset: 0x417B8, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5OwnerOSHAASH13_rawHashValue4seedS2i_tFTW', symObjAddr: 0x118, symBinAddr: 0xCF9C, symSize: 0x40 } + - { offsetInCU: 0x27, offset: 0x418E2, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8IAPlayerC8withName5andIdACSgSS_AA5OwnerOtcfc', symObjAddr: 0x0, symBinAddr: 0xD194, symSize: 0x6C } + - { offsetInCU: 0xAC, offset: 0x41967, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8IAPlayerC8withName5andIdACSgSS_AA5OwnerOtcfc', symObjAddr: 0x0, symBinAddr: 0xD194, symSize: 0x6C } + - { offsetInCU: 0xF0, offset: 0x419AB, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8IAPlayerCfd', symObjAddr: 0x6C, symBinAddr: 0xD200, symSize: 0x24 } + - { offsetInCU: 0x155, offset: 0x41A10, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8IAPlayerC8withName5andIdACSgSS_AA5OwnerOtcfC', symObjAddr: 0x90, symBinAddr: 0xD224, symSize: 0x9C } + - { offsetInCU: 0x1BD, offset: 0x41A78, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8IAPlayerCfD', symObjAddr: 0x12C, symBinAddr: 0xD2C0, symSize: 0x2C } + - { offsetInCU: 0x217, offset: 0x41AD2, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8IAPlayerCMa', symObjAddr: 0x158, symBinAddr: 0xD2EC, symSize: 0x20 } + - { offsetInCU: 0x27, offset: 0x41B95, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveV2eeoiySbAC_ACtFZ', symObjAddr: 0x0, symBinAddr: 0xD30C, symSize: 0x4 } + - { offsetInCU: 0x46, offset: 0x41BB4, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveV2eeoiySbAC_ACtFZ', symObjAddr: 0x0, symBinAddr: 0xD30C, symSize: 0x4 } + - { offsetInCU: 0x5A, offset: 0x41BC8, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveV2of7fromRow13andFromColumn02toH00i2ToK0AcA5OwnerO_S4itcfC', symObjAddr: 0x4, symBinAddr: 0xD310, symSize: 0x14 } + - { offsetInCU: 0xC1, offset: 0x41C2F, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveV5ownerAA5OwnerOvg', symObjAddr: 0x18, symBinAddr: 0xD324, symSize: 0xC } + - { offsetInCU: 0xDF, offset: 0x41C4D, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveV9rowOriginSivg', symObjAddr: 0x24, symBinAddr: 0xD330, symSize: 0x8 } + - { offsetInCU: 0xFD, offset: 0x41C6B, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveV12columnOriginSivg', symObjAddr: 0x2C, symBinAddr: 0xD338, symSize: 0x8 } + - { offsetInCU: 0x11B, offset: 0x41C89, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveV14rowDestinationSivg', symObjAddr: 0x34, symBinAddr: 0xD340, symSize: 0x8 } + - { offsetInCU: 0x139, offset: 0x41CA7, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveV17columnDestinationSivg', symObjAddr: 0x3C, symBinAddr: 0xD348, symSize: 0x8 } + - { offsetInCU: 0x157, offset: 0x41CC5, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveV11descriptionSSvg', symObjAddr: 0x44, symBinAddr: 0xD350, symSize: 0x198 } + - { offsetInCU: 0x287, offset: 0x41DF5, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveVs23CustomStringConvertibleAAsADP11descriptionSSvgTW', symObjAddr: 0x1DC, symBinAddr: 0xD4E8, symSize: 0x4 } + - { offsetInCU: 0x2B2, offset: 0x41E20, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveVSQAASQ2eeoiySbx_xtFZTW', symObjAddr: 0x1E0, symBinAddr: 0xD4EC, symSize: 0x4 } + - { offsetInCU: 0x2D2, offset: 0x41E40, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveVSQAASQ2eeoiySbx_xtFZTW', symObjAddr: 0x1E0, symBinAddr: 0xD4EC, symSize: 0x4 } + - { offsetInCU: 0x2E3, offset: 0x41E51, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveV2eeoiySbAC_ACtFZTf4nnd_n', symObjAddr: 0x1E4, symBinAddr: 0xD4F0, symSize: 0x48 } + - { offsetInCU: 0x316, offset: 0x41E84, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveVwCP', symObjAddr: 0x22C, symBinAddr: 0xD538, symSize: 0x30 } + - { offsetInCU: 0x32A, offset: 0x41E98, size: 0x8, addend: 0x0, symName: ___swift_memcpy40_8, symObjAddr: 0x260, symBinAddr: 0xD568, symSize: 0x14 } + - { offsetInCU: 0x33E, offset: 0x41EAC, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveVwet', symObjAddr: 0x274, symBinAddr: 0xD57C, symSize: 0x44 } + - { offsetInCU: 0x352, offset: 0x41EC0, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveVwst', symObjAddr: 0x2B8, symBinAddr: 0xD5C0, symSize: 0x4C } + - { offsetInCU: 0x366, offset: 0x41ED4, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveVMa', symObjAddr: 0x304, symBinAddr: 0xD60C, symSize: 0x10 } + - { offsetInCU: 0x27, offset: 0x41FC5, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6AnimalO8rawValueSivg', symObjAddr: 0x0, symBinAddr: 0xD61C, symSize: 0xC } + - { offsetInCU: 0x4B, offset: 0x41FE9, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6AnimalO8rawValueSivg', symObjAddr: 0x0, symBinAddr: 0xD61C, symSize: 0xC } + - { offsetInCU: 0x66, offset: 0x42004, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6AnimalO8rawValueACSgSi_tcfC', symObjAddr: 0xC, symBinAddr: 0xD628, symSize: 0x18 } + - { offsetInCU: 0xB8, offset: 0x42056, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6AnimalOSYAASY8rawValuexSg03RawG0Qz_tcfCTW', symObjAddr: 0x130, symBinAddr: 0xD74C, symSize: 0x8 } + - { offsetInCU: 0xD4, offset: 0x42072, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6AnimalOSYAASY8rawValue03RawG0QzvgTW', symObjAddr: 0x138, symBinAddr: 0xD754, symSize: 0x10 } + - { offsetInCU: 0xEC, offset: 0x4208A, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6AnimalOSYAASY8rawValue03RawG0QzvgTW', symObjAddr: 0x138, symBinAddr: 0xD754, symSize: 0x10 } + - { offsetInCU: 0x109, offset: 0x420A7, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6AnimalOSHAASQWb', symObjAddr: 0x38, symBinAddr: 0xD654, symSize: 0x4 } + - { offsetInCU: 0x11D, offset: 0x420BB, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6AnimalOACSQAAWl', symObjAddr: 0x3C, symBinAddr: 0xD658, symSize: 0x44 } + - { offsetInCU: 0x147, offset: 0x420E5, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6AnimalOwet', symObjAddr: 0x158, symBinAddr: 0xD764, symSize: 0x90 } + - { offsetInCU: 0x15B, offset: 0x420F9, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6AnimalOwst', symObjAddr: 0x1E8, symBinAddr: 0xD7F4, symSize: 0xBC } + - { offsetInCU: 0x16F, offset: 0x4210D, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6AnimalOwug', symObjAddr: 0x2A4, symBinAddr: 0xD8B0, symSize: 0x8 } + - { offsetInCU: 0x183, offset: 0x42121, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6AnimalOwup', symObjAddr: 0x2AC, symBinAddr: 0xD8B8, symSize: 0x4 } + - { offsetInCU: 0x197, offset: 0x42135, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6AnimalOwui', symObjAddr: 0x2B0, symBinAddr: 0xD8BC, symSize: 0x8 } + - { offsetInCU: 0x1AB, offset: 0x42149, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6AnimalOMa', symObjAddr: 0x2B8, symBinAddr: 0xD8C4, symSize: 0x10 } + - { offsetInCU: 0x1E5, offset: 0x42183, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6AnimalOSQAASQ2eeoiySbx_xtFZTW', symObjAddr: 0x24, symBinAddr: 0xD640, symSize: 0x14 } + - { offsetInCU: 0x276, offset: 0x42214, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6AnimalOSHAASH9hashValueSivgTW', symObjAddr: 0x80, symBinAddr: 0xD69C, symSize: 0x44 } + - { offsetInCU: 0x34E, offset: 0x422EC, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6AnimalOSHAASH4hash4intoys6HasherVz_tFTW', symObjAddr: 0xC4, symBinAddr: 0xD6E0, symSize: 0x2C } + - { offsetInCU: 0x3CA, offset: 0x42368, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6AnimalOSHAASH13_rawHashValue4seedS2i_tFTW', symObjAddr: 0xF0, symBinAddr: 0xD70C, symSize: 0x40 } + - { offsetInCU: 0x97, offset: 0x42506, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC5boardAA5BoardVvg', symObjAddr: 0xBC, symBinAddr: 0xD990, symSize: 0x4C } + - { offsetInCU: 0xE0, offset: 0x4254F, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC5rulesAA5Rules_pvg', symObjAddr: 0x16C, symBinAddr: 0xDA40, symSize: 0x48 } + - { offsetInCU: 0xFF, offset: 0x4256E, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC7playersSDyAA5OwnerOAA6PlayerCGvg', symObjAddr: 0x1F8, symBinAddr: 0xDACC, symSize: 0x8 } + - { offsetInCU: 0x12C, offset: 0x4259B, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC9withRules10andPlayer10H7Player2AcA0G0_p_AA6PlayerCAItKcfC', symObjAddr: 0x200, symBinAddr: 0xDAD4, symSize: 0x64 } + - { offsetInCU: 0x151, offset: 0x425C0, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC9withRules10andPlayer10H7Player2AcA0G0_p_AA6PlayerCAItKcfc', symObjAddr: 0x264, symBinAddr: 0xDB38, symSize: 0x464 } + - { offsetInCU: 0x553, offset: 0x429C2, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC9withRules10andPlayer10H7Player2AcA0G0_p_AA6PlayerCAItKcfcyAA4MoveVSg_AItYacfU_', symObjAddr: 0x7B0, symBinAddr: 0xDFDC, symSize: 0x84 } + - { offsetInCU: 0x602, offset: 0x42A71, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC9withRules10andPlayer10H7Player2AcA0G0_p_AA6PlayerCAItKcfcyAA4MoveVSg_AItYacfU_TQ0_', symObjAddr: 0x834, symBinAddr: 0xE060, symSize: 0x68 } + - { offsetInCU: 0x69B, offset: 0x42B0A, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC9withRules10andPlayer10H7Player2AcA0G0_p_AA6PlayerCAItKcfcyAA4MoveVSg_AItYacfU_TY2_', symObjAddr: 0x89C, symBinAddr: 0xE0C8, symSize: 0x1C } + - { offsetInCU: 0x6E0, offset: 0x42B4F, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC9withRules10andPlayer10H7Player2AcA0G0_p_AA6PlayerCAItKcfcyAA4MoveVSg_AItYacfU0_', symObjAddr: 0x8B8, symBinAddr: 0xE0E4, symSize: 0x84 } + - { offsetInCU: 0x78F, offset: 0x42BFE, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC9withRules10andPlayer10H7Player2AcA0G0_p_AA6PlayerCAItKcfcyAA4MoveVSg_AItYacfU0_TQ0_', symObjAddr: 0x93C, symBinAddr: 0xE168, symSize: 0x68 } + - { offsetInCU: 0x828, offset: 0x42C97, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC9withRules10andPlayer10H7Player2AcA0G0_p_AA6PlayerCAItKcfcyAA4MoveVSg_AItYacfU0_TY1_', symObjAddr: 0x9A4, symBinAddr: 0xE1D0, symSize: 0xC } + - { offsetInCU: 0x882, offset: 0x42CF1, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC9withRules10andPlayer10H7Player2AcA0G0_p_AA6PlayerCAItKcfcyAA4MoveVSg_AItYacfU0_TY2_', symObjAddr: 0x9B0, symBinAddr: 0xE1DC, symSize: 0x1C } + - { offsetInCU: 0x8C7, offset: 0x42D36, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC9withBoard8andRules0H7Player10H7Player2AcA0G0V_AA0I0_pAA6PlayerCALtKcfC', symObjAddr: 0x9CC, symBinAddr: 0xE1F8, symSize: 0x6C } + - { offsetInCU: 0x8EC, offset: 0x42D5B, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC9withBoard8andRules0H7Player10H7Player2AcA0G0V_AA0I0_pAA6PlayerCALtKcfc', symObjAddr: 0xA38, symBinAddr: 0xE264, symSize: 0x2C4 } + - { offsetInCU: 0x9E9, offset: 0x42E58, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC03addE15StartedListeneryyyAA5BoardVcF', symObjAddr: 0xCFC, symBinAddr: 0xE528, symSize: 0xD4 } + - { offsetInCU: 0xB14, offset: 0x42F83, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC25addPlayerNotifiedListeneryyyAA5BoardV_AA0G0CtYaKcF', symObjAddr: 0xDD0, symBinAddr: 0xE5FC, symSize: 0xD4 } + - { offsetInCU: 0xC3F, offset: 0x430AE, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC03addE15ChangedListeneryyyACYacF', symObjAddr: 0xF58, symBinAddr: 0xE784, symSize: 0xD4 } + - { offsetInCU: 0xD6A, offset: 0x431D9, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC03addE12OverListeneryyyAA5BoardV_AA6ResultOAA6PlayerCSgtcF', symObjAddr: 0x108C, symBinAddr: 0xE8B8, symSize: 0xD4 } + - { offsetInCU: 0xE95, offset: 0x43304, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC30addMoveChosenCallbacksListeneryyyAA5BoardV_AA0G0VAA6PlayerCtcF', symObjAddr: 0x1160, symBinAddr: 0xE98C, symSize: 0xD4 } + - { offsetInCU: 0xFC0, offset: 0x4342F, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC31addInvalidMoveCallbacksListeneryyyAA5BoardV_AA0H0VAA6PlayerCSbtcF', symObjAddr: 0x1234, symBinAddr: 0xEA60, symSize: 0xD4 } + - { offsetInCU: 0x10EB, offset: 0x4355A, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC23addBoardChangedListeneryyyAA0G0VcF', symObjAddr: 0x1308, symBinAddr: 0xEB34, symSize: 0xD4 } + - { offsetInCU: 0x1216, offset: 0x43685, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC23addPieceRemovedListeneryyySi_SiAA0G0VtcF', symObjAddr: 0x13DC, symBinAddr: 0xEC08, symSize: 0xD4 } + - { offsetInCU: 0x135F, offset: 0x437CE, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC18notifyPieceRemoved33_4E9958627B7DCD90B6D32369387417C3LLyySi_SiAA0G0VtF', symObjAddr: 0x14B0, symBinAddr: 0xECDC, symSize: 0xC8 } + - { offsetInCU: 0x150C, offset: 0x4397B, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC8onPlayed4with4fromyAA4MoveVSg_AA6PlayerCtYaKF', symObjAddr: 0x1578, symBinAddr: 0xEDA4, symSize: 0x28 } + - { offsetInCU: 0x1914, offset: 0x43D83, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC8onPlayed4with4fromyAA4MoveVSg_AA6PlayerCtYaKFTY0_', symObjAddr: 0x15A0, symBinAddr: 0xEDCC, symSize: 0x9E8 } + - { offsetInCU: 0x267D, offset: 0x44AEC, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC8onPlayed4with4fromyAA4MoveVSg_AA6PlayerCtYaKFTQ1_', symObjAddr: 0x1F88, symBinAddr: 0xF7B4, symSize: 0x60 } + - { offsetInCU: 0x27B0, offset: 0x44C1F, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC8onPlayed4with4fromyAA4MoveVSg_AA6PlayerCtYaKFTY2_', symObjAddr: 0x1FE8, symBinAddr: 0xF814, symSize: 0x220 } + - { offsetInCU: 0x2AB9, offset: 0x44F28, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC8onPlayed4with4fromyAA4MoveVSg_AA6PlayerCtYaKFTQ3_', symObjAddr: 0x2208, symBinAddr: 0xFA34, symSize: 0x70 } + - { offsetInCU: 0x2BB2, offset: 0x45021, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC8onPlayed4with4fromyAA4MoveVSg_AA6PlayerCtYaKFTY4_', symObjAddr: 0x2278, symBinAddr: 0xFAA4, symSize: 0x10C } + - { offsetInCU: 0x2CE1, offset: 0x45150, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC8onPlayed4with4fromyAA4MoveVSg_AA6PlayerCtYaKFTY5_', symObjAddr: 0x2384, symBinAddr: 0xFBB0, symSize: 0x5C } + - { offsetInCU: 0x2D8F, offset: 0x451FE, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC6isOverSbvg', symObjAddr: 0x23E0, symBinAddr: 0xFC0C, symSize: 0x30 } + - { offsetInCU: 0x2DAC, offset: 0x4521B, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC5startyyYaKF', symObjAddr: 0x2410, symBinAddr: 0xFC3C, symSize: 0x18 } + - { offsetInCU: 0x2E63, offset: 0x452D2, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC5startyyYaKFTY0_', symObjAddr: 0x2428, symBinAddr: 0xFC54, symSize: 0x348 } + - { offsetInCU: 0x3351, offset: 0x457C0, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC5startyyYaKFTQ1_', symObjAddr: 0x2770, symBinAddr: 0xFF9C, symSize: 0x60 } + - { offsetInCU: 0x33ED, offset: 0x4585C, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC5startyyYaKFTY2_', symObjAddr: 0x27D0, symBinAddr: 0xFFFC, symSize: 0x210 } + - { offsetInCU: 0x3666, offset: 0x45AD5, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC5startyyYaKFTQ3_', symObjAddr: 0x29E0, symBinAddr: 0x1020C, symSize: 0x70 } + - { offsetInCU: 0x370F, offset: 0x45B7E, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC5startyyYaKFTY4_', symObjAddr: 0x2A50, symBinAddr: 0x1027C, symSize: 0x104 } + - { offsetInCU: 0x37EF, offset: 0x45C5E, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC5startyyYaKFTY5_', symObjAddr: 0x2B54, symBinAddr: 0x10380, symSize: 0x5C } + - { offsetInCU: 0x383E, offset: 0x45CAD, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameCfd', symObjAddr: 0x2BB0, symBinAddr: 0x103DC, symSize: 0x6C } + - { offsetInCU: 0x386B, offset: 0x45CDA, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameCfD', symObjAddr: 0x2C1C, symBinAddr: 0x10448, symSize: 0x1C } + - { offsetInCU: 0x3899, offset: 0x45D08, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC5boardAA5BoardVvpACTK', symObjAddr: 0x0, symBinAddr: 0xD8D4, symSize: 0x50 } + - { offsetInCU: 0x38CF, offset: 0x45D3E, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC5boardAA5BoardVvpACTk', symObjAddr: 0x50, symBinAddr: 0xD924, symSize: 0x6C } + - { offsetInCU: 0x390F, offset: 0x45D7E, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC5rulesAA5Rules_pvpACTk', symObjAddr: 0x108, symBinAddr: 0xD9DC, symSize: 0x64 } + - { offsetInCU: 0x3951, offset: 0x45DC0, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5Rules_pWOc', symObjAddr: 0x1B4, symBinAddr: 0xDA88, symSize: 0x44 } + - { offsetInCU: 0x3A57, offset: 0x45EC6, size: 0x8, addend: 0x0, symName: ___swift_destroy_boxed_opaque_existential_1, symObjAddr: 0x730, symBinAddr: 0xDF9C, symSize: 0x20 } + - { offsetInCU: 0x3A6B, offset: 0x45EDA, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameCMa', symObjAddr: 0x750, symBinAddr: 0xDFBC, symSize: 0x20 } + - { offsetInCU: 0x3B93, offset: 0x46002, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVAA6PlayerCs5Error_pIegHngzo_AcEytsAF_pIegHnnrzo_TR', symObjAddr: 0xEA4, symBinAddr: 0xE6D0, symSize: 0x6C } + - { offsetInCU: 0x3BC6, offset: 0x46035, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVAA6PlayerCs5Error_pIegHngzo_AcEytsAF_pIegHnnrzo_TRTQ0_', symObjAddr: 0xF10, symBinAddr: 0xE73C, symSize: 0x48 } + - { offsetInCU: 0x3C82, offset: 0x460F1, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameCIegHg_ACytIegHnr_TR', symObjAddr: 0x102C, symBinAddr: 0xE858, symSize: 0x60 } + - { offsetInCU: 0x40E5, offset: 0x46554, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC9withRules10andPlayer10H7Player2AcA0G0_p_AA6PlayerCAItKcfcyAA4MoveVSg_AItYacfU0_TA', symObjAddr: 0x2C38, symBinAddr: 0x10464, symSize: 0x60 } + - { offsetInCU: 0x4115, offset: 0x46584, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC9withRules10andPlayer10H7Player2AcA0G0_p_AA6PlayerCAItKcfcyAA4MoveVSg_AItYacfU_TA', symObjAddr: 0x2D44, symBinAddr: 0x104E8, symSize: 0x60 } + - { offsetInCU: 0x4145, offset: 0x465B4, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveVSgAA6PlayerCs5Error_pIegHngzo_AdFytsAG_pIegHnnrzo_TRTA.7', symObjAddr: 0x2DA4, symBinAddr: 0x10548, symSize: 0x88 } + - { offsetInCU: 0x4179, offset: 0x465E8, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVIegn_ACytIegnr_TRTA', symObjAddr: 0x2E2C, symBinAddr: 0x105D0, symSize: 0x20 } + - { offsetInCU: 0x41A9, offset: 0x46618, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVAA6PlayerCs5Error_pIegHngzo_AcEytsAF_pIegHnnrzo_TRTA', symObjAddr: 0x2E4C, symBinAddr: 0x105F0, symSize: 0x88 } + - { offsetInCU: 0x41D9, offset: 0x46648, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameCIegHg_ACytIegHnr_TRTA', symObjAddr: 0x2ED4, symBinAddr: 0x10678, symSize: 0x80 } + - { offsetInCU: 0x4209, offset: 0x46678, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameCIegHg_ACytIegHnr_TRTATQ0_', symObjAddr: 0x2F54, symBinAddr: 0x106F8, symSize: 0x48 } + - { offsetInCU: 0x4265, offset: 0x466D4, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVAA6ResultOAA6PlayerCSgIegnng_AceHytIegnnnr_TRTA', symObjAddr: 0x2F9C, symBinAddr: 0x10740, symSize: 0x24 } + - { offsetInCU: 0x4299, offset: 0x46708, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVAA4MoveVAA6PlayerCIegnng_AceGytIegnnnr_TRTA', symObjAddr: 0x2FC0, symBinAddr: 0x10764, symSize: 0x24 } + - { offsetInCU: 0x42CD, offset: 0x4673C, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVAA4MoveVAA6PlayerCSbIegnngy_AceGSbytIegnnnnr_TRTA', symObjAddr: 0x2FE4, symBinAddr: 0x10788, symSize: 0x28 } + - { offsetInCU: 0x4301, offset: 0x46770, size: 0x8, addend: 0x0, symName: '_$sS2i14DouShouQiModel5PieceVIegyyn_S2iACytIegnnnr_TRTA', symObjAddr: 0x300C, symBinAddr: 0x107B0, symSize: 0x28 } + - { offsetInCU: 0x432A, offset: 0x46799, size: 0x8, addend: 0x0, symName: ___swift_mutable_project_boxed_opaque_existential_1, symObjAddr: 0x3034, symBinAddr: 0x107D8, symSize: 0x28 } + - { offsetInCU: 0x433E, offset: 0x467AD, size: 0x8, addend: 0x0, symName: ___swift_assign_boxed_opaque_existential_1, symObjAddr: 0x3308, symBinAddr: 0x10AAC, symSize: 0x168 } +... diff --git a/NEPASTOUCHER/DSQ.xcframework/ios-arm64_x86_64-simulator/dSYMs/DouShouQiModel.framework.dSYM/Contents/Resources/Relocations/x86_64/DouShouQiModel.yml b/NEPASTOUCHER/DSQ.xcframework/ios-arm64_x86_64-simulator/dSYMs/DouShouQiModel.framework.dSYM/Contents/Resources/Relocations/x86_64/DouShouQiModel.yml new file mode 100644 index 0000000..0cb75e4 --- /dev/null +++ b/NEPASTOUCHER/DSQ.xcframework/ios-arm64_x86_64-simulator/dSYMs/DouShouQiModel.framework.dSYM/Contents/Resources/Relocations/x86_64/DouShouQiModel.yml @@ -0,0 +1,486 @@ +--- +triple: 'x86_64-apple-darwin' +binary-path: '/Users/marcchevaldonne/Library/Developer/Xcode/DerivedData/DouShouQiModel-bzzvovsrfmbhuydeirorjmljgtyf/Build/Intermediates.noindex/ArchiveIntermediates/DouShouQiModel/InstallationBuildProductsLocation/Library/Frameworks/DouShouQiModel.framework/DouShouQiModel' +relocations: + - { offsetInCU: 0x34, offset: 0x3013C, size: 0x8, addend: 0x0, symName: _DouShouQiModelVersionString, symObjAddr: 0x0, symBinAddr: 0x14FA0, symSize: 0x0 } + - { offsetInCU: 0x69, offset: 0x30171, size: 0x8, addend: 0x0, symName: _DouShouQiModelVersionNumber, symObjAddr: 0x38, symBinAddr: 0x14FD8, symSize: 0x0 } + - { offsetInCU: 0x27, offset: 0x301AE, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6ResultO2eeoiySbAC_ACtFZ', symObjAddr: 0x0, symBinAddr: 0x3C20, symSize: 0x10 } + - { offsetInCU: 0x4B, offset: 0x301D2, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6ResultO2eeoiySbAC_ACtFZ', symObjAddr: 0x0, symBinAddr: 0x3C20, symSize: 0x10 } + - { offsetInCU: 0x6E, offset: 0x301F5, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6ResultOSQAASQ2eeoiySbx_xtFZTW', symObjAddr: 0x20, symBinAddr: 0x3C40, symSize: 0x10 } + - { offsetInCU: 0x9F, offset: 0x30226, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6ResultO2eeoiySbAC_ACtFZTf4nnd_n', symObjAddr: 0x140, symBinAddr: 0x3D60, symSize: 0x40 } + - { offsetInCU: 0xE5, offset: 0x3026C, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel13WinningReasonO2eeoiySbAC_ACtFZ', symObjAddr: 0x10, symBinAddr: 0x3C30, symSize: 0x10 } + - { offsetInCU: 0x114, offset: 0x3029B, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel13WinningReasonO4hash4intoys6HasherVz_tF', symObjAddr: 0x30, symBinAddr: 0x3C50, symSize: 0x20 } + - { offsetInCU: 0x1AA, offset: 0x30331, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel13WinningReasonO9hashValueSivg', symObjAddr: 0x50, symBinAddr: 0x3C70, symSize: 0x40 } + - { offsetInCU: 0x2A5, offset: 0x3042C, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel13WinningReasonOSQAASQ2eeoiySbx_xtFZTW', symObjAddr: 0x90, symBinAddr: 0x3CB0, symSize: 0x10 } + - { offsetInCU: 0x2FB, offset: 0x30482, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel13WinningReasonOSHAASH9hashValueSivgTW', symObjAddr: 0xA0, symBinAddr: 0x3CC0, symSize: 0x40 } + - { offsetInCU: 0x3DF, offset: 0x30566, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel13WinningReasonOSHAASH4hash4intoys6HasherVz_tFTW', symObjAddr: 0xE0, symBinAddr: 0x3D00, symSize: 0x20 } + - { offsetInCU: 0x468, offset: 0x305EF, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel13WinningReasonOSHAASQWb', symObjAddr: 0x180, symBinAddr: 0x3DA0, symSize: 0x10 } + - { offsetInCU: 0x47C, offset: 0x30603, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel13WinningReasonOACSQAAWl', symObjAddr: 0x190, symBinAddr: 0x3DB0, symSize: 0x30 } + - { offsetInCU: 0x490, offset: 0x30617, size: 0x8, addend: 0x0, symName: ___swift_memcpy2_1, symObjAddr: 0x1C0, symBinAddr: 0x3DE0, symSize: 0x10 } + - { offsetInCU: 0x4A4, offset: 0x3062B, size: 0x8, addend: 0x0, symName: ___swift_noop_void_return, symObjAddr: 0x1D0, symBinAddr: 0x3DF0, symSize: 0x10 } + - { offsetInCU: 0x4B8, offset: 0x3063F, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6ResultOwet', symObjAddr: 0x1E0, symBinAddr: 0x3E00, symSize: 0xB0 } + - { offsetInCU: 0x4CC, offset: 0x30653, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6ResultOwst', symObjAddr: 0x290, symBinAddr: 0x3EB0, symSize: 0xE0 } + - { offsetInCU: 0x4E0, offset: 0x30667, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6ResultOwug', symObjAddr: 0x370, symBinAddr: 0x3F90, symSize: 0x20 } + - { offsetInCU: 0x4F4, offset: 0x3067B, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6ResultOwup', symObjAddr: 0x390, symBinAddr: 0x3FB0, symSize: 0x10 } + - { offsetInCU: 0x508, offset: 0x3068F, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6ResultOwui', symObjAddr: 0x3A0, symBinAddr: 0x3FC0, symSize: 0x30 } + - { offsetInCU: 0x51C, offset: 0x306A3, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6ResultOMa', symObjAddr: 0x3D0, symBinAddr: 0x3FF0, symSize: 0x10 } + - { offsetInCU: 0x530, offset: 0x306B7, size: 0x8, addend: 0x0, symName: ___swift_memcpy1_1, symObjAddr: 0x3E0, symBinAddr: 0x4000, symSize: 0x10 } + - { offsetInCU: 0x544, offset: 0x306CB, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel13WinningReasonOwet', symObjAddr: 0x3F0, symBinAddr: 0x4010, symSize: 0x80 } + - { offsetInCU: 0x558, offset: 0x306DF, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel13WinningReasonOwst', symObjAddr: 0x470, symBinAddr: 0x4090, symSize: 0xD0 } + - { offsetInCU: 0x56C, offset: 0x306F3, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel13WinningReasonOwug', symObjAddr: 0x540, symBinAddr: 0x4160, symSize: 0x10 } + - { offsetInCU: 0x580, offset: 0x30707, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel13WinningReasonOwup', symObjAddr: 0x550, symBinAddr: 0x4170, symSize: 0x10 } + - { offsetInCU: 0x594, offset: 0x3071B, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel13WinningReasonOwui', symObjAddr: 0x560, symBinAddr: 0x4180, symSize: 0x10 } + - { offsetInCU: 0x5A8, offset: 0x3072F, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel13WinningReasonOMa', symObjAddr: 0x570, symBinAddr: 0x4190, symSize: 0xA } + - { offsetInCU: 0x622, offset: 0x307A9, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel13WinningReasonOSHAASH13_rawHashValue4seedS2i_tFTW', symObjAddr: 0x100, symBinAddr: 0x3D20, symSize: 0x40 } + - { offsetInCU: 0x27, offset: 0x308ED, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11BoardResultO2eeoiySbAC_ACtFZ', symObjAddr: 0x0, symBinAddr: 0x41A0, symSize: 0x10 } + - { offsetInCU: 0x4B, offset: 0x30911, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11BoardResultO2eeoiySbAC_ACtFZ', symObjAddr: 0x0, symBinAddr: 0x41A0, symSize: 0x10 } + - { offsetInCU: 0x6E, offset: 0x30934, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11BoardResultOSQAASQ2eeoiySbx_xtFZTW', symObjAddr: 0x20, symBinAddr: 0x41C0, symSize: 0x10 } + - { offsetInCU: 0x9F, offset: 0x30965, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11BoardResultO2eeoiySbAC_ACtFZTf4nnd_n', symObjAddr: 0x140, symBinAddr: 0x42E0, symSize: 0x60 } + - { offsetInCU: 0x113, offset: 0x309D9, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel18BoardFailingReasonO2eeoiySbAC_ACtFZ', symObjAddr: 0x10, symBinAddr: 0x41B0, symSize: 0x10 } + - { offsetInCU: 0x142, offset: 0x30A08, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel18BoardFailingReasonO4hash4intoys6HasherVz_tF', symObjAddr: 0x30, symBinAddr: 0x41D0, symSize: 0x20 } + - { offsetInCU: 0x1D8, offset: 0x30A9E, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel18BoardFailingReasonO9hashValueSivg', symObjAddr: 0x50, symBinAddr: 0x41F0, symSize: 0x40 } + - { offsetInCU: 0x2D3, offset: 0x30B99, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel18BoardFailingReasonOSQAASQ2eeoiySbx_xtFZTW', symObjAddr: 0x90, symBinAddr: 0x4230, symSize: 0x10 } + - { offsetInCU: 0x329, offset: 0x30BEF, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel18BoardFailingReasonOSHAASH9hashValueSivgTW', symObjAddr: 0xA0, symBinAddr: 0x4240, symSize: 0x40 } + - { offsetInCU: 0x40D, offset: 0x30CD3, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel18BoardFailingReasonOSHAASH4hash4intoys6HasherVz_tFTW', symObjAddr: 0xE0, symBinAddr: 0x4280, symSize: 0x20 } + - { offsetInCU: 0x496, offset: 0x30D5C, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel18BoardFailingReasonOSHAASQWb', symObjAddr: 0x1A0, symBinAddr: 0x4340, symSize: 0x10 } + - { offsetInCU: 0x4AA, offset: 0x30D70, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel18BoardFailingReasonOACSQAAWl', symObjAddr: 0x1B0, symBinAddr: 0x4350, symSize: 0x30 } + - { offsetInCU: 0x4BE, offset: 0x30D84, size: 0x8, addend: 0x0, symName: ___swift_memcpy3_1, symObjAddr: 0x1E0, symBinAddr: 0x4380, symSize: 0x20 } + - { offsetInCU: 0x4D2, offset: 0x30D98, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11BoardResultOwet', symObjAddr: 0x210, symBinAddr: 0x43A0, symSize: 0x70 } + - { offsetInCU: 0x4E6, offset: 0x30DAC, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11BoardResultOwst', symObjAddr: 0x280, symBinAddr: 0x4410, symSize: 0x80 } + - { offsetInCU: 0x4FA, offset: 0x30DC0, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11BoardResultOwug', symObjAddr: 0x300, symBinAddr: 0x4490, symSize: 0x20 } + - { offsetInCU: 0x50E, offset: 0x30DD4, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11BoardResultOwup', symObjAddr: 0x320, symBinAddr: 0x44B0, symSize: 0x10 } + - { offsetInCU: 0x522, offset: 0x30DE8, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11BoardResultOwui', symObjAddr: 0x330, symBinAddr: 0x44C0, symSize: 0x20 } + - { offsetInCU: 0x536, offset: 0x30DFC, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11BoardResultOMa', symObjAddr: 0x350, symBinAddr: 0x44E0, symSize: 0x10 } + - { offsetInCU: 0x54A, offset: 0x30E10, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel18BoardFailingReasonOwet', symObjAddr: 0x370, symBinAddr: 0x44F0, symSize: 0x80 } + - { offsetInCU: 0x55E, offset: 0x30E24, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel18BoardFailingReasonOwst', symObjAddr: 0x3F0, symBinAddr: 0x4570, symSize: 0xD0 } + - { offsetInCU: 0x572, offset: 0x30E38, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel18BoardFailingReasonOwug', symObjAddr: 0x4C0, symBinAddr: 0x4640, symSize: 0x10 } + - { offsetInCU: 0x586, offset: 0x30E4C, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel18BoardFailingReasonOwup', symObjAddr: 0x4D0, symBinAddr: 0x4650, symSize: 0x10 } + - { offsetInCU: 0x59A, offset: 0x30E60, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel18BoardFailingReasonOwui', symObjAddr: 0x4E0, symBinAddr: 0x4660, symSize: 0x10 } + - { offsetInCU: 0x5AE, offset: 0x30E74, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel18BoardFailingReasonOMa', symObjAddr: 0x4F0, symBinAddr: 0x4670, symSize: 0xA } + - { offsetInCU: 0x60C, offset: 0x30ED2, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel18BoardFailingReasonOSHAASH13_rawHashValue4seedS2i_tFTW', symObjAddr: 0x100, symBinAddr: 0x42A0, symSize: 0x40 } + - { offsetInCU: 0x27, offset: 0x31002, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11HumanPlayerC8withName5andId0I11InputMethodACSgSS_AA5OwnerOAA4MoveVSgACctcfC', symObjAddr: 0x0, symBinAddr: 0x4680, symSize: 0xD0 } + - { offsetInCU: 0x99, offset: 0x31074, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11HumanPlayerC8withName5andId0I11InputMethodACSgSS_AA5OwnerOAA4MoveVSgACctcfC', symObjAddr: 0x0, symBinAddr: 0x4680, symSize: 0xD0 } + - { offsetInCU: 0x124, offset: 0x310FF, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11HumanPlayerC8withName5andId0I11InputMethodACSgSS_AA5OwnerOAA4MoveVSgACctcfc', symObjAddr: 0xD0, symBinAddr: 0x4750, symSize: 0xA0 } + - { offsetInCU: 0x1EB, offset: 0x311C6, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11HumanPlayerC8withName5andIdACSgSS_AA5OwnerOtcfC', symObjAddr: 0x190, symBinAddr: 0x4810, symSize: 0xA0 } + - { offsetInCU: 0x276, offset: 0x31251, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11HumanPlayerC8withName5andIdACSgSS_AA5OwnerOtcfc', symObjAddr: 0x230, symBinAddr: 0x48B0, symSize: 0x70 } + - { offsetInCU: 0x2F3, offset: 0x312CE, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11HumanPlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKF', symObjAddr: 0x2A0, symBinAddr: 0x4920, symSize: 0x30 } + - { offsetInCU: 0x36F, offset: 0x3134A, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11HumanPlayerC11changeInput5inputyAA4MoveVSgACc_tF', symObjAddr: 0x2D0, symBinAddr: 0x4950, symSize: 0x30 } + - { offsetInCU: 0x3D4, offset: 0x313AF, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11HumanPlayerC10chooseMoveyyAA0H0VSgYaKF', symObjAddr: 0x300, symBinAddr: 0x4980, symSize: 0x50 } + - { offsetInCU: 0x461, offset: 0x3143C, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11HumanPlayerC10chooseMoveyyAA0H0VSgYaKFTY0_', symObjAddr: 0x350, symBinAddr: 0x49D0, symSize: 0x110 } + - { offsetInCU: 0x5B9, offset: 0x31594, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11HumanPlayerC10chooseMoveyyAA0H0VSgYaKFTQ1_', symObjAddr: 0x460, symBinAddr: 0x4AE0, symSize: 0x80 } + - { offsetInCU: 0x669, offset: 0x31644, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11HumanPlayerC10chooseMoveyyAA0H0VSgYaKFTY2_', symObjAddr: 0x4E0, symBinAddr: 0x4B60, symSize: 0x120 } + - { offsetInCU: 0x744, offset: 0x3171F, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11HumanPlayerC10chooseMoveyyAA0H0VSgYaKFTY3_', symObjAddr: 0x600, symBinAddr: 0x4C80, symSize: 0x50 } + - { offsetInCU: 0x7A2, offset: 0x3177D, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11HumanPlayerCfd', symObjAddr: 0x670, symBinAddr: 0x4CF0, symSize: 0x30 } + - { offsetInCU: 0x7F3, offset: 0x317CE, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11HumanPlayerCfD', symObjAddr: 0x6A0, symBinAddr: 0x4D20, symSize: 0x40 } + - { offsetInCU: 0x92F, offset: 0x3190A, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11HumanPlayerCAA4MoveVSgIeggr_SgWOe', symObjAddr: 0x170, symBinAddr: 0x47F0, symSize: 0x20 } + - { offsetInCU: 0x9E8, offset: 0x319C3, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11HumanPlayerCfE', symObjAddr: 0x650, symBinAddr: 0x4CD0, symSize: 0x20 } + - { offsetInCU: 0xA15, offset: 0x319F0, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11HumanPlayerCMa', symObjAddr: 0x6E0, symBinAddr: 0x4D60, symSize: 0x20 } + - { offsetInCU: 0x4F, offset: 0x31B95, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV11initialGridSaySayAA4CellVGGvpZ', symObjAddr: 0x2C500, symBinAddr: 0x1DB40, symSize: 0x0 } + - { offsetInCU: 0x69, offset: 0x31BAF, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV6pieces33_DFC7A53241A8EF79AF2B79A48A65C265LLShyAA5PieceVGvpZ', symObjAddr: 0x71E0, symBinAddr: 0x1C720, symSize: 0x0 } + - { offsetInCU: 0xD7, offset: 0x31C1D, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV14startingChecks33_DFC7A53241A8EF79AF2B79A48A65C265LLSayyAA5BoardVcGvpZ', symObjAddr: 0x71E8, symBinAddr: 0x1C728, symSize: 0x0 } + - { offsetInCU: 0xF1, offset: 0x31C37, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV15iteratingChecks33_DFC7A53241A8EF79AF2B79A48A65C265LLSayyAA5BoardV_S2itKcGvpZ', symObjAddr: 0x71F0, symBinAddr: 0x1C730, symSize: 0x0 } + - { offsetInCU: 0x10B, offset: 0x31C51, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV12endingChecks33_DFC7A53241A8EF79AF2B79A48A65C265LLSayyAA5BoardVcGvpZ', symObjAddr: 0x71F8, symBinAddr: 0x1C738, symSize: 0x0 } + - { offsetInCU: 0x125, offset: 0x31C6B, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV16placesByCellTypeSDyAA0iJ0OSaySi3row_Si3coltGGvpZ', symObjAddr: 0x2C508, symBinAddr: 0x1DB48, symSize: 0x0 } + - { offsetInCU: 0x2A8, offset: 0x31DEE, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV11initialGrid_WZ', symObjAddr: 0x0, symBinAddr: 0x4E90, symSize: 0x2C0 } + - { offsetInCU: 0xAC6, offset: 0x3260C, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV11createBoardAA0H0VyFZ', symObjAddr: 0x2C0, symBinAddr: 0x5150, symSize: 0x70 } + - { offsetInCU: 0xB04, offset: 0x3264A, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV10checkBoardyyAA0H0VKFZ', symObjAddr: 0x330, symBinAddr: 0x51C0, symSize: 0x10 } + - { offsetInCU: 0xB2E, offset: 0x32674, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV14startingChecks33_DFC7A53241A8EF79AF2B79A48A65C265LLSayyAA5BoardVcGvpZfiyAGcfU_', symObjAddr: 0x390, symBinAddr: 0x5220, symSize: 0x30 } + - { offsetInCU: 0xB6E, offset: 0x326B4, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV14startingChecks33_DFC7A53241A8EF79AF2B79A48A65C265LLSayyAA5BoardVcGvpZfiyAGcfU0_', symObjAddr: 0x3C0, symBinAddr: 0x5250, symSize: 0x60 } + - { offsetInCU: 0xBC0, offset: 0x32706, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVACycfC', symObjAddr: 0x650, symBinAddr: 0x54E0, symSize: 0x30 } + - { offsetInCU: 0xC05, offset: 0x3274B, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV10occurences8historicACSDyAA5BoardVSiG_SayAA4MoveVGtcfC', symObjAddr: 0x680, symBinAddr: 0x5510, symSize: 0x50 } + - { offsetInCU: 0xC6A, offset: 0x327B0, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV19findAuthorizedMoves33_DFC7A53241A8EF79AF2B79A48A65C265LL5boardSayAA4MoveVGAA5BoardV_tF', symObjAddr: 0x6D0, symBinAddr: 0x5560, symSize: 0x460 } + - { offsetInCU: 0x15D1, offset: 0x33117, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV12findRatMoves33_DFC7A53241A8EF79AF2B79A48A65C265LL2of5board3row6columnSayAA4MoveVGAA5OwnerO_AA5BoardVS2itF', symObjAddr: 0xB30, symBinAddr: 0x59C0, symSize: 0x740 } + - { offsetInCU: 0x2140, offset: 0x33C86, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV17findElephantMoves33_DFC7A53241A8EF79AF2B79A48A65C265LL2of5board3row6columnSayAA4MoveVGAA5OwnerO_AA5BoardVS2itF', symObjAddr: 0x1270, symBinAddr: 0x6100, symSize: 0x6D0 } + - { offsetInCU: 0x2BB3, offset: 0x346F9, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV16findDefaultMoves33_DFC7A53241A8EF79AF2B79A48A65C265LL2of5board3row6columnSayAA4MoveVGAA5OwnerO_AA5BoardVS2itF', symObjAddr: 0x1940, symBinAddr: 0x67D0, symSize: 0x740 } + - { offsetInCU: 0x3725, offset: 0x3526B, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV21findTigerAndLionMoves33_DFC7A53241A8EF79AF2B79A48A65C265LL2of5board3row6columnSayAA4MoveVGAA5OwnerO_AA5BoardVS2itF', symObjAddr: 0x2080, symBinAddr: 0x6F10, symSize: 0x4C0 } + - { offsetInCU: 0x3DE7, offset: 0x3592D, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV20findDirectNeighbours33_DFC7A53241A8EF79AF2B79A48A65C265LL2of5board3row6columnSayAA4MoveVGAA5OwnerO_AA5BoardVS2itF', symObjAddr: 0x2540, symBinAddr: 0x73D0, symSize: 0x390 } + - { offsetInCU: 0x4327, offset: 0x35E6D, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV26findTigerAndLionNeighbours33_DFC7A53241A8EF79AF2B79A48A65C265LL2of5board3row6columnSayAA4MoveVGAA5OwnerO_AA5BoardVS2itF', symObjAddr: 0x28D0, symBinAddr: 0x7760, symSize: 0x5D0 } + - { offsetInCU: 0x4C67, offset: 0x367AD, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV8getMoves2in2ofSayAA4MoveVGAA5BoardV_AA5OwnerOtF', symObjAddr: 0x2EA0, symBinAddr: 0x7D30, symSize: 0x140 } + - { offsetInCU: 0x4E34, offset: 0x3697A, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV8getMoves2in2of7fromRow9andColumnSayAA4MoveVGAA5BoardV_AA5OwnerOS2itF', symObjAddr: 0x2FE0, symBinAddr: 0x7E70, symSize: 0x150 } + - { offsetInCU: 0x505D, offset: 0x36BA3, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV11isMoveValid7onBoard7fromRow13andFromColumn02toM00n2ToP0SbAA0K0V_S4itF', symObjAddr: 0x3130, symBinAddr: 0x7FC0, symSize: 0x80 } + - { offsetInCU: 0x512F, offset: 0x36C75, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV11isMoveValid7onBoard04withH0SbAA0K0V_AA0H0VtF', symObjAddr: 0x31B0, symBinAddr: 0x8040, symSize: 0xF0 } + - { offsetInCU: 0x539B, offset: 0x36EE1, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV13getNextPlayerAA5OwnerOyF', symObjAddr: 0x32A0, symBinAddr: 0x8130, symSize: 0x30 } + - { offsetInCU: 0x5482, offset: 0x36FC8, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV10isGameOver9withBoard16andLastRowPlayed0lM12ColumnPlayerSb_AA6ResultOtAA0K0V_S2itF', symObjAddr: 0x32D0, symBinAddr: 0x8160, symSize: 0x1B0 } + - { offsetInCU: 0x5622, offset: 0x37168, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV10playedMove_15onStartingBoard012andResultingK0yAA0H0V_AA0K0VAJtKF', symObjAddr: 0x3480, symBinAddr: 0x8310, symSize: 0x4F0 } + - { offsetInCU: 0x5B31, offset: 0x37677, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV10occurencesSDyAA5BoardVSiGvg', symObjAddr: 0x3970, symBinAddr: 0x8800, symSize: 0x10 } + - { offsetInCU: 0x5B45, offset: 0x3768B, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV8historicSayAA4MoveVGvg', symObjAddr: 0x3980, symBinAddr: 0x8810, symSize: 0x10 } + - { offsetInCU: 0x5B77, offset: 0x376BD, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVAA0F0A2aDP11createBoardAA0H0VyFZTW', symObjAddr: 0x3990, symBinAddr: 0x8820, symSize: 0x70 } + - { offsetInCU: 0x5BC4, offset: 0x3770A, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVAA0F0A2aDP10checkBoardyyAA0H0VKFZTW', symObjAddr: 0x3A00, symBinAddr: 0x8890, symSize: 0x10 } + - { offsetInCU: 0x5BFC, offset: 0x37742, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVAA0F0A2aDP13getNextPlayerAA5OwnerOyFTW', symObjAddr: 0x3A10, symBinAddr: 0x88A0, symSize: 0x10 } + - { offsetInCU: 0x5C18, offset: 0x3775E, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVAA0F0A2aDP8getMoves2in2ofSayAA4MoveVGAA5BoardV_AA5OwnerOtFTW', symObjAddr: 0x3A20, symBinAddr: 0x88B0, symSize: 0x10 } + - { offsetInCU: 0x5C34, offset: 0x3777A, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVAA0F0A2aDP8getMoves2in2of7fromRow9andColumnSayAA4MoveVGAA5BoardV_AA5OwnerOS2itFTW', symObjAddr: 0x3A30, symBinAddr: 0x88C0, symSize: 0x10 } + - { offsetInCU: 0x5C50, offset: 0x37796, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVAA0F0A2aDP11isMoveValid7onBoard7fromRow13andFromColumn02toM00n2ToP0SbAA0K0V_S4itFTW', symObjAddr: 0x3A40, symBinAddr: 0x88D0, symSize: 0x10 } + - { offsetInCU: 0x5C6C, offset: 0x377B2, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVAA0F0A2aDP11isMoveValid7onBoard04withH0SbAA0K0V_AA0H0VtFTW', symObjAddr: 0x3A50, symBinAddr: 0x88E0, symSize: 0x10 } + - { offsetInCU: 0x5C88, offset: 0x377CE, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVAA0F0A2aDP10isGameOver9withBoard16andLastRowPlayed0lM12ColumnPlayerSb_AA6ResultOtAA0K0V_S2itFTW', symObjAddr: 0x3A60, symBinAddr: 0x88F0, symSize: 0x10 } + - { offsetInCU: 0x5CA4, offset: 0x377EA, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVAA0F0A2aDP10playedMove_15onStartingBoard012andResultingK0yAA0H0V_AA0K0VALtKFTW', symObjAddr: 0x3A70, symBinAddr: 0x8900, symSize: 0x10 } + - { offsetInCU: 0x5CD9, offset: 0x3781F, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVAA0F0A2aDP10occurencesSDyAA5BoardVSiGvgTW', symObjAddr: 0x3A80, symBinAddr: 0x8910, symSize: 0x10 } + - { offsetInCU: 0x5D1E, offset: 0x37864, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVAA0F0A2aDP8historicSayAA4MoveVGvgTW', symObjAddr: 0x3A90, symBinAddr: 0x8920, symSize: 0x10 } + - { offsetInCU: 0x5D51, offset: 0x37897, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV10checkBoardyyAA0H0VKFZTf4nd_n', symObjAddr: 0x5C40, symBinAddr: 0xAAD0, symSize: 0x2E0 } + - { offsetInCU: 0x60E8, offset: 0x37C2E, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV20initPlacesByCellType33_DFC7A53241A8EF79AF2B79A48A65C265LLyyAA5BoardVFZTf4nd_n', symObjAddr: 0x5F20, symBinAddr: 0xADB0, symSize: 0x3D0 } + - { offsetInCU: 0x65E9, offset: 0x3812F, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV23checkCellsByTypeIterate33_DFC7A53241A8EF79AF2B79A48A65C265LLyyAA5BoardV_S2itKFZTf4nnnd_n', symObjAddr: 0x62F0, symBinAddr: 0xB180, symSize: 0x150 } + - { offsetInCU: 0x6791, offset: 0x382D7, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV18checkPiecesIterate33_DFC7A53241A8EF79AF2B79A48A65C265LLyyAA5BoardV_S2itKFZTf4nnnd_n', symObjAddr: 0x6440, symBinAddr: 0xB2D0, symSize: 0x150 } + - { offsetInCU: 0x6859, offset: 0x3839F, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV15checkWaterCells33_DFC7A53241A8EF79AF2B79A48A65C265LLyyAA5BoardV_S2itKFZTf4nnnd_n', symObjAddr: 0x6590, symBinAddr: 0xB420, symSize: 0xB0 } + - { offsetInCU: 0x695B, offset: 0x384A1, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV6pieces33_DFC7A53241A8EF79AF2B79A48A65C265LL_WZ', symObjAddr: 0x340, symBinAddr: 0x51D0, symSize: 0x20 } + - { offsetInCU: 0x6975, offset: 0x384BB, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV14startingChecks33_DFC7A53241A8EF79AF2B79A48A65C265LL_WZ', symObjAddr: 0x360, symBinAddr: 0x51F0, symSize: 0x30 } + - { offsetInCU: 0x69AB, offset: 0x384F1, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV15iteratingChecks33_DFC7A53241A8EF79AF2B79A48A65C265LL_WZ', symObjAddr: 0x420, symBinAddr: 0x52B0, symSize: 0x30 } + - { offsetInCU: 0x69C5, offset: 0x3850B, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV12endingChecks33_DFC7A53241A8EF79AF2B79A48A65C265LL_WZ', symObjAddr: 0x4E0, symBinAddr: 0x5370, symSize: 0x20 } + - { offsetInCU: 0x69DF, offset: 0x38525, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV16placesByCellType_WZ', symObjAddr: 0x500, symBinAddr: 0x5390, symSize: 0x20 } + - { offsetInCU: 0x6F06, offset: 0x38A4C, size: 0x8, addend: 0x0, symName: '_$sSD8_VariantV8setValue_6forKeyyq_n_xtF14DouShouQiModel5BoardV_SiTB5', symObjAddr: 0x3AA0, symBinAddr: 0x8930, symSize: 0xB0 } + - { offsetInCU: 0x6F7B, offset: 0x38AC1, size: 0x8, addend: 0x0, symName: '_$sSD8_VariantVyq_SgxciM14DouShouQiModel8CellTypeO_SaySi3row_Si3coltGTB5', symObjAddr: 0x3B50, symBinAddr: 0x89E0, symSize: 0x60 } + - { offsetInCU: 0x6FA8, offset: 0x38AEE, size: 0x8, addend: 0x0, symName: '_$sSD8_VariantVyq_SgxciM14DouShouQiModel8CellTypeO_SaySi3row_Si3coltGTB5.resume.0', symObjAddr: 0x3BB0, symBinAddr: 0x8A40, symSize: 0x30 } + - { offsetInCU: 0x6FEB, offset: 0x38B31, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV_8isUniqueq_Sgx_SbtciM14DouShouQiModel8CellTypeO_SaySi3row_Si3coltGTB5', symObjAddr: 0x3BE0, symBinAddr: 0x8A70, symSize: 0x50 } + - { offsetInCU: 0x7063, offset: 0x38BA9, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV_8isUniqueq_Sgx_SbtciM14DouShouQiModel8CellTypeO_SaySi3row_Si3coltGTB5.resume.0', symObjAddr: 0x3C30, symBinAddr: 0x8AC0, symSize: 0xD0 } + - { offsetInCU: 0x719B, offset: 0x38CE1, size: 0x8, addend: 0x0, symName: '_$sSD8_VariantV8asNatives01_C10DictionaryVyxq_GvM14DouShouQiModel8CellTypeO_SaySi3row_Si3coltGTg5', symObjAddr: 0x3D00, symBinAddr: 0x8B90, symSize: 0x30 } + - { offsetInCU: 0x71BE, offset: 0x38D04, size: 0x8, addend: 0x0, symName: '_$sSD8_VariantV8asNatives01_C10DictionaryVyxq_GvM14DouShouQiModel8CellTypeO_SaySi3row_Si3coltGTg5.resume.0', symObjAddr: 0x3D30, symBinAddr: 0x8BC0, symSize: 0x20 } + - { offsetInCU: 0x71F9, offset: 0x38D3F, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV12mutatingFind_8isUniques10_HashTableV6BucketV6bucket_Sb5foundtx_SbtF14DouShouQiModel8CellTypeO_SaySi3row_Si3coltGTB5', symObjAddr: 0x3D50, symBinAddr: 0x8BE0, symSize: 0xB0 } + - { offsetInCU: 0x7261, offset: 0x38DA7, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV12mutatingFind_8isUniques10_HashTableV6BucketV6bucket_Sb5foundtx_SbtF14DouShouQiModel5BoardV_SiTB5', symObjAddr: 0x3E00, symBinAddr: 0x8C90, symSize: 0xC0 } + - { offsetInCU: 0x72B7, offset: 0x38DFD, size: 0x8, addend: 0x0, symName: '_$ss22__RawDictionaryStorageC4findys10_HashTableV6BucketV6bucket_Sb5foundtxSHRzlF14DouShouQiModel5BoardV_TB5', symObjAddr: 0x3EC0, symBinAddr: 0x8D50, symSize: 0x80 } + - { offsetInCU: 0x7324, offset: 0x38E6A, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV7_delete2atys10_HashTableV6BucketV_tF14DouShouQiModel8CellTypeO_SaySi3row_Si3coltGTg5', symObjAddr: 0x3FA0, symBinAddr: 0x8E30, symSize: 0x1E0 } + - { offsetInCU: 0x7447, offset: 0x38F8D, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV7_insert2at3key5valueys10_HashTableV6BucketV_xnq_ntF14DouShouQiModel5BoardV_SiTB5', symObjAddr: 0x4180, symBinAddr: 0x9010, symSize: 0x50 } + - { offsetInCU: 0x7518, offset: 0x3905E, size: 0x8, addend: 0x0, symName: '_$ss22__RawDictionaryStorageC4find_9hashValues10_HashTableV6BucketV6bucket_Sb5foundtx_SitSHRzlF14DouShouQiModel5BoardV_TB5', symObjAddr: 0x41D0, symBinAddr: 0x9060, symSize: 0x210 } + - { offsetInCU: 0x76D8, offset: 0x3921E, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV4copyyyF14DouShouQiModel8CellTypeO_SaySi3row_Si3coltGTg5', symObjAddr: 0x4470, symBinAddr: 0x9300, symSize: 0x200 } + - { offsetInCU: 0x7751, offset: 0x39297, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV4copyyyF14DouShouQiModel5BoardV_SiTg5', symObjAddr: 0x4670, symBinAddr: 0x9500, symSize: 0x210 } + - { offsetInCU: 0x77EB, offset: 0x39331, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV20_copyOrMoveAndResize8capacity12moveElementsySi_SbtF14DouShouQiModel8CellTypeO_SaySi3row_Si3coltGTg5', symObjAddr: 0x4880, symBinAddr: 0x9710, symSize: 0x380 } + - { offsetInCU: 0x7988, offset: 0x394CE, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV20_copyOrMoveAndResize8capacity12moveElementsySi_SbtF14DouShouQiModel5BoardV_SiTg5', symObjAddr: 0x4C00, symBinAddr: 0x9A90, symSize: 0x330 } + - { offsetInCU: 0x7AAF, offset: 0x395F5, size: 0x8, addend: 0x0, symName: '_$sSh8_VariantV6insertySb8inserted_x17memberAfterInserttxnF14DouShouQiModel5PieceV_TB5', symObjAddr: 0x4F30, symBinAddr: 0x9DC0, symSize: 0x140 } + - { offsetInCU: 0x7CC8, offset: 0x3980E, size: 0x8, addend: 0x0, symName: '_$ss10_NativeSetV9insertNew_2at8isUniqueyxn_s10_HashTableV6BucketVSbtF14DouShouQiModel5PieceV_TB5', symObjAddr: 0x5070, symBinAddr: 0x9F00, symSize: 0x160 } + - { offsetInCU: 0x7EF4, offset: 0x39A3A, size: 0x8, addend: 0x0, symName: '_$ss10_NativeSetV4copyyyF14DouShouQiModel5PieceV_Tg5', symObjAddr: 0x51D0, symBinAddr: 0xA060, symSize: 0x1C0 } + - { offsetInCU: 0x7F58, offset: 0x39A9E, size: 0x8, addend: 0x0, symName: '_$ss10_NativeSetV13copyAndResize8capacityySi_tF14DouShouQiModel5PieceV_Tg5', symObjAddr: 0x5390, symBinAddr: 0xA220, symSize: 0x2F0 } + - { offsetInCU: 0x8173, offset: 0x39CB9, size: 0x8, addend: 0x0, symName: '_$ss10_NativeSetV6resize8capacityySi_tF14DouShouQiModel5PieceV_Tg5', symObjAddr: 0x5680, symBinAddr: 0xA510, symSize: 0x350 } + - { offsetInCU: 0x83B8, offset: 0x39EFE, size: 0x8, addend: 0x0, symName: '_$ss15ContiguousArrayV16_createNewBuffer14bufferIsUnique15minimumCapacity13growForAppendySb_SiSbtF14DouShouQiModel4MoveV_Tg5', symObjAddr: 0x59D0, symBinAddr: 0xA860, symSize: 0x20 } + - { offsetInCU: 0x83D0, offset: 0x39F16, size: 0x8, addend: 0x0, symName: '_$ss15ContiguousArrayV16_createNewBuffer14bufferIsUnique15minimumCapacity13growForAppendySb_SiSbtF14DouShouQiModel4CellV_Tg5', symObjAddr: 0x59F0, symBinAddr: 0xA880, symSize: 0x20 } + - { offsetInCU: 0x842A, offset: 0x39F70, size: 0x8, addend: 0x0, symName: '_$ss22_ContiguousArrayBufferV20_consumeAndCreateNew14bufferIsUnique15minimumCapacity13growForAppendAByxGSb_SiSbtF14DouShouQiModel4MoveV_Tg5', symObjAddr: 0x5A10, symBinAddr: 0xA8A0, symSize: 0x120 } + - { offsetInCU: 0x8582, offset: 0x3A0C8, size: 0x8, addend: 0x0, symName: '_$ss22_ContiguousArrayBufferV20_consumeAndCreateNew14bufferIsUnique15minimumCapacity13growForAppendAByxGSb_SiSbtF14DouShouQiModel4CellV_Tg5', symObjAddr: 0x5B30, symBinAddr: 0xA9C0, symSize: 0x110 } + - { offsetInCU: 0x87DD, offset: 0x3A323, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel9GameErrorOACs0F0AAWl', symObjAddr: 0x6830, symBinAddr: 0xB6C0, symSize: 0x30 } + - { offsetInCU: 0x87F1, offset: 0x3A337, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel17InvalidBoardErrorOACs0G0AAWl', symObjAddr: 0x6860, symBinAddr: 0xB6F0, symSize: 0x30 } + - { offsetInCU: 0x8805, offset: 0x3A34B, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVwCP', symObjAddr: 0x6890, symBinAddr: 0xB720, symSize: 0x30 } + - { offsetInCU: 0x8819, offset: 0x3A35F, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVwxx', symObjAddr: 0x68C0, symBinAddr: 0xB750, symSize: 0x20 } + - { offsetInCU: 0x882D, offset: 0x3A373, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVwcp', symObjAddr: 0x68E0, symBinAddr: 0xB770, symSize: 0x30 } + - { offsetInCU: 0x8841, offset: 0x3A387, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVwca', symObjAddr: 0x6910, symBinAddr: 0xB7A0, symSize: 0x50 } + - { offsetInCU: 0x8855, offset: 0x3A39B, size: 0x8, addend: 0x0, symName: ___swift_memcpy16_8, symObjAddr: 0x6960, symBinAddr: 0xB7F0, symSize: 0x10 } + - { offsetInCU: 0x8869, offset: 0x3A3AF, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVwta', symObjAddr: 0x6970, symBinAddr: 0xB800, symSize: 0x30 } + - { offsetInCU: 0x887D, offset: 0x3A3C3, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVwet', symObjAddr: 0x69A0, symBinAddr: 0xB830, symSize: 0x40 } + - { offsetInCU: 0x8891, offset: 0x3A3D7, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVwst', symObjAddr: 0x69E0, symBinAddr: 0xB870, symSize: 0x40 } + - { offsetInCU: 0x88A5, offset: 0x3A3EB, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVMa', symObjAddr: 0x6A20, symBinAddr: 0xB8B0, symSize: 0x10 } + - { offsetInCU: 0x88B9, offset: 0x3A3FF, size: 0x8, addend: 0x0, symName: ___swift_instantiateConcreteTypeFromMangledName, symObjAddr: 0x6A30, symBinAddr: 0xB8C0, symSize: 0x40 } + - { offsetInCU: 0x897D, offset: 0x3A4C3, size: 0x8, addend: 0x0, symName: '_$ss20_ArrayBufferProtocolPsE15replaceSubrange_4with10elementsOfySnySiG_Siqd__ntSlRd__7ElementQyd__AGRtzlFs01_aB0Vy14DouShouQiModel4MoveVG_s15EmptyCollectionVyANGTg5Tf4nndn_n', symObjAddr: 0x6B70, symBinAddr: 0xBA00, symSize: 0x150 } + - { offsetInCU: 0x8A4E, offset: 0x3A594, size: 0x8, addend: 0x0, symName: '_$sSa15replaceSubrange_4withySnySiG_qd__nt7ElementQyd__RszSlRd__lF14DouShouQiModel4MoveV_s15EmptyCollectionVyAHGTg5Tf4ndn_n', symObjAddr: 0x6CC0, symBinAddr: 0xBB50, symSize: 0xA0 } + - { offsetInCU: 0x8C5D, offset: 0x3A7A3, size: 0x8, addend: 0x0, symName: '_$sSDyq_SgxciM14DouShouQiModel8CellTypeO_SaySi3row_Si3coltGTB5', symObjAddr: 0x520, symBinAddr: 0x53B0, symSize: 0x40 } + - { offsetInCU: 0x8C79, offset: 0x3A7BF, size: 0x8, addend: 0x0, symName: '_$sSDyq_SgxciM14DouShouQiModel8CellTypeO_SaySi3row_Si3coltGTB5.resume.0', symObjAddr: 0x560, symBinAddr: 0x53F0, symSize: 0x20 } + - { offsetInCU: 0x8D23, offset: 0x3A869, size: 0x8, addend: 0x0, symName: '_$sSh8containsySbxF14DouShouQiModel5PieceV_TB5', symObjAddr: 0x580, symBinAddr: 0x5410, symSize: 0xD0 } + - { offsetInCU: 0x9295, offset: 0x3ADDB, size: 0x8, addend: 0x0, symName: '_$sSD17dictionaryLiteralSDyxq_Gx_q_td_tcfC14DouShouQiModel8CellTypeO_SaySi3row_Si3coltGTg5Tf4gd_n', symObjAddr: 0x6640, symBinAddr: 0xB4D0, symSize: 0x100 } + - { offsetInCU: 0x93C6, offset: 0x3AF0C, size: 0x8, addend: 0x0, symName: '_$sSD17dictionaryLiteralSDyxq_Gx_q_td_tcfC14DouShouQiModel5BoardV_SiTg5Tf4gd_n', symObjAddr: 0x6740, symBinAddr: 0xB5D0, symSize: 0xF0 } + - { offsetInCU: 0x9513, offset: 0x3B059, size: 0x8, addend: 0x0, symName: '_$sSD17dictionaryLiteralSDyxq_Gx_q_td_tcfC14DouShouQiModel5OwnerO_AC6PlayerCTg5Tf4gd_n', symObjAddr: 0x6A70, symBinAddr: 0xB900, symSize: 0x100 } + - { offsetInCU: 0x27, offset: 0x3B392, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4CellV6ofType7ownedBy9withPieceAcA0eG0O_AA5OwnerOAA0K0VSgtcfC', symObjAddr: 0x0, symBinAddr: 0xBFF0, symSize: 0x20 } + - { offsetInCU: 0x4B, offset: 0x3B3B6, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4CellV6ofType7ownedBy9withPieceAcA0eG0O_AA5OwnerOAA0K0VSgtcfC', symObjAddr: 0x0, symBinAddr: 0xBFF0, symSize: 0x20 } + - { offsetInCU: 0x9A, offset: 0x3B405, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4CellV11descriptionSSvg', symObjAddr: 0x20, symBinAddr: 0xC010, symSize: 0x100 } + - { offsetInCU: 0x1DF, offset: 0x3B54A, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4CellV8cellTypeAA0eG0Ovg', symObjAddr: 0x120, symBinAddr: 0xC110, symSize: 0x10 } + - { offsetInCU: 0x1FD, offset: 0x3B568, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4CellV12initialOwnerAA0G0Ovg', symObjAddr: 0x130, symBinAddr: 0xC120, symSize: 0x10 } + - { offsetInCU: 0x21B, offset: 0x3B586, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4CellV5pieceAA5PieceVSgvg', symObjAddr: 0x140, symBinAddr: 0xC130, symSize: 0x10 } + - { offsetInCU: 0x239, offset: 0x3B5A4, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4CellV5pieceAA5PieceVSgvs', symObjAddr: 0x150, symBinAddr: 0xC140, symSize: 0x10 } + - { offsetInCU: 0x277, offset: 0x3B5E2, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4CellV5pieceAA5PieceVSgvM', symObjAddr: 0x160, symBinAddr: 0xC150, symSize: 0x20 } + - { offsetInCU: 0x2A5, offset: 0x3B610, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4CellV5pieceAA5PieceVSgvM.resume.0', symObjAddr: 0x180, symBinAddr: 0xC170, symSize: 0x10 } + - { offsetInCU: 0x2D0, offset: 0x3B63B, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4CellV2eeoiySbAC_ACtFZ', symObjAddr: 0x190, symBinAddr: 0xC180, symSize: 0x10 } + - { offsetInCU: 0x2E4, offset: 0x3B64F, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4CellVs23CustomStringConvertibleAAsADP11descriptionSSvgTW', symObjAddr: 0x1A0, symBinAddr: 0xC190, symSize: 0x10 } + - { offsetInCU: 0x30F, offset: 0x3B67A, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4CellVSQAASQ2eeoiySbx_xtFZTW', symObjAddr: 0x1B0, symBinAddr: 0xC1A0, symSize: 0x10 } + - { offsetInCU: 0x340, offset: 0x3B6AB, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4CellV2eeoiySbAC_ACtFZTf4nnd_n', symObjAddr: 0x1C0, symBinAddr: 0xC1B0, symSize: 0x60 } + - { offsetInCU: 0x3B4, offset: 0x3B71F, size: 0x8, addend: 0x0, symName: ___swift_memcpy4_1, symObjAddr: 0x220, symBinAddr: 0xC210, symSize: 0x10 } + - { offsetInCU: 0x3C8, offset: 0x3B733, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4CellVwet', symObjAddr: 0x240, symBinAddr: 0xC220, symSize: 0x40 } + - { offsetInCU: 0x3DC, offset: 0x3B747, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4CellVwst', symObjAddr: 0x280, symBinAddr: 0xC260, symSize: 0x40 } + - { offsetInCU: 0x3F0, offset: 0x3B75B, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4CellVMa', symObjAddr: 0x2C0, symBinAddr: 0xC2A0, symSize: 0xA } + - { offsetInCU: 0x2B, offset: 0x3B866, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesV11initialGrid_WZ', symObjAddr: 0x0, symBinAddr: 0xC2B0, symSize: 0x170 } + - { offsetInCU: 0x4F, offset: 0x3B88A, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesV11initialGridSaySayAA4CellVGGvpZ', symObjAddr: 0xBDD0, symBinAddr: 0x1DB50, symSize: 0x0 } + - { offsetInCU: 0x195, offset: 0x3B9D0, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesV11initialGrid_WZ', symObjAddr: 0x0, symBinAddr: 0xC2B0, symSize: 0x170 } + - { offsetInCU: 0x575, offset: 0x3BDB0, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesV11createBoardAA0I0VyFZ', symObjAddr: 0x170, symBinAddr: 0xC420, symSize: 0x70 } + - { offsetInCU: 0x5B3, offset: 0x3BDEE, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesV10checkBoardyyAA0I0VKFZ', symObjAddr: 0x1E0, symBinAddr: 0xC490, symSize: 0x10 } + - { offsetInCU: 0x5CE, offset: 0x3BE09, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVACycfC', symObjAddr: 0x1F0, symBinAddr: 0xC4A0, symSize: 0x30 } + - { offsetInCU: 0x612, offset: 0x3BE4D, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesV10occurences8historicACSDyAA5BoardVSiG_SayAA4MoveVGtcfC', symObjAddr: 0x220, symBinAddr: 0xC4D0, symSize: 0x50 } + - { offsetInCU: 0x676, offset: 0x3BEB1, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesV8getMoves2in2ofSayAA4MoveVGAA5BoardV_AA5OwnerOtF', symObjAddr: 0x270, symBinAddr: 0xC520, symSize: 0x1B0 } + - { offsetInCU: 0x9B0, offset: 0x3C1EB, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesV8getMoves2in2of7fromRow9andColumnSayAA4MoveVGAA5BoardV_AA5OwnerOS2itF', symObjAddr: 0x420, symBinAddr: 0xC6D0, symSize: 0x2A0 } + - { offsetInCU: 0xDB1, offset: 0x3C5EC, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesV11isMoveValid7onBoard7fromRow13andFromColumn02toN00o2ToQ0SbAA0L0V_S4itF', symObjAddr: 0x6C0, symBinAddr: 0xC970, symSize: 0x80 } + - { offsetInCU: 0xEAA, offset: 0x3C6E5, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesV11isMoveValid7onBoard04withI0SbAA0L0V_AA0I0VtF', symObjAddr: 0x740, symBinAddr: 0xC9F0, symSize: 0xF0 } + - { offsetInCU: 0x1085, offset: 0x3C8C0, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesV13getNextPlayerAA5OwnerOyF', symObjAddr: 0x830, symBinAddr: 0xCAE0, symSize: 0x30 } + - { offsetInCU: 0x116B, offset: 0x3C9A6, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesV10isGameOver9withBoard16andLastRowPlayed0mN12ColumnPlayerSb_AA6ResultOtAA0L0V_S2itF', symObjAddr: 0x860, symBinAddr: 0xCB10, symSize: 0x130 } + - { offsetInCU: 0x12C3, offset: 0x3CAFE, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesV10playedMove_15onStartingBoard012andResultingL0yAA0I0V_AA0L0VAJtKF', symObjAddr: 0x990, symBinAddr: 0xCC40, symSize: 0x240 } + - { offsetInCU: 0x146A, offset: 0x3CCA5, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesV10occurencesSDyAA5BoardVSiGvg', symObjAddr: 0xBD0, symBinAddr: 0xCE80, symSize: 0x10 } + - { offsetInCU: 0x147E, offset: 0x3CCB9, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesV8historicSayAA4MoveVGvg', symObjAddr: 0xBE0, symBinAddr: 0xCE90, symSize: 0x10 } + - { offsetInCU: 0x14B0, offset: 0x3CCEB, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVAA0G0A2aDP11createBoardAA0I0VyFZTW', symObjAddr: 0xBF0, symBinAddr: 0xCEA0, symSize: 0x70 } + - { offsetInCU: 0x14FD, offset: 0x3CD38, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVAA0G0A2aDP10checkBoardyyAA0I0VKFZTW', symObjAddr: 0xC60, symBinAddr: 0xCF10, symSize: 0x10 } + - { offsetInCU: 0x1535, offset: 0x3CD70, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVAA0G0A2aDP13getNextPlayerAA5OwnerOyFTW', symObjAddr: 0xC70, symBinAddr: 0xCF20, symSize: 0x10 } + - { offsetInCU: 0x1551, offset: 0x3CD8C, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVAA0G0A2aDP8getMoves2in2ofSayAA4MoveVGAA5BoardV_AA5OwnerOtFTW', symObjAddr: 0xC80, symBinAddr: 0xCF30, symSize: 0x10 } + - { offsetInCU: 0x156D, offset: 0x3CDA8, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVAA0G0A2aDP8getMoves2in2of7fromRow9andColumnSayAA4MoveVGAA5BoardV_AA5OwnerOS2itFTW', symObjAddr: 0xC90, symBinAddr: 0xCF40, symSize: 0x10 } + - { offsetInCU: 0x1589, offset: 0x3CDC4, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVAA0G0A2aDP11isMoveValid7onBoard7fromRow13andFromColumn02toN00o2ToQ0SbAA0L0V_S4itFTW', symObjAddr: 0xCA0, symBinAddr: 0xCF50, symSize: 0x10 } + - { offsetInCU: 0x15A5, offset: 0x3CDE0, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVAA0G0A2aDP11isMoveValid7onBoard04withI0SbAA0L0V_AA0I0VtFTW', symObjAddr: 0xCB0, symBinAddr: 0xCF60, symSize: 0x10 } + - { offsetInCU: 0x15C1, offset: 0x3CDFC, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVAA0G0A2aDP10isGameOver9withBoard16andLastRowPlayed0mN12ColumnPlayerSb_AA6ResultOtAA0L0V_S2itFTW', symObjAddr: 0xCC0, symBinAddr: 0xCF70, symSize: 0x10 } + - { offsetInCU: 0x15DD, offset: 0x3CE18, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVAA0G0A2aDP10playedMove_15onStartingBoard012andResultingL0yAA0I0V_AA0L0VALtKFTW', symObjAddr: 0xCD0, symBinAddr: 0xCF80, symSize: 0x10 } + - { offsetInCU: 0x1611, offset: 0x3CE4C, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVAA0G0A2aDP10occurencesSDyAA5BoardVSiGvgTW', symObjAddr: 0xCE0, symBinAddr: 0xCF90, symSize: 0x10 } + - { offsetInCU: 0x1654, offset: 0x3CE8F, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVAA0G0A2aDP8historicSayAA4MoveVGvgTW', symObjAddr: 0xCF0, symBinAddr: 0xCFA0, symSize: 0x10 } + - { offsetInCU: 0x1686, offset: 0x3CEC1, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesV16checkCellsByType33_2B29F97F1EE5509065CD9853A78D42F5LLyyAA5BoardVKFZTf4nd_n', symObjAddr: 0xD00, symBinAddr: 0xCFB0, symSize: 0x130 } + - { offsetInCU: 0x18E4, offset: 0x3D11F, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesV11checkPieces33_2B29F97F1EE5509065CD9853A78D42F5LLyyAA5BoardVKFZTf4nd_n', symObjAddr: 0xE30, symBinAddr: 0xD0E0, symSize: 0x230 } + - { offsetInCU: 0x1CEA, offset: 0x3D525, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesV10checkBoardyyAA0I0VKFZTf4nd_n', symObjAddr: 0x1060, symBinAddr: 0xD310, symSize: 0xC0 } + - { offsetInCU: 0x1F87, offset: 0x3D7C2, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVwCP', symObjAddr: 0x11C0, symBinAddr: 0xD3D0, symSize: 0x30 } + - { offsetInCU: 0x1F9B, offset: 0x3D7D6, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVwxx', symObjAddr: 0x11F0, symBinAddr: 0xD400, symSize: 0x20 } + - { offsetInCU: 0x1FAF, offset: 0x3D7EA, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVwcp', symObjAddr: 0x1210, symBinAddr: 0xD420, symSize: 0x30 } + - { offsetInCU: 0x1FC3, offset: 0x3D7FE, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVwca', symObjAddr: 0x1240, symBinAddr: 0xD450, symSize: 0x50 } + - { offsetInCU: 0x1FD7, offset: 0x3D812, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVwta', symObjAddr: 0x12A0, symBinAddr: 0xD4A0, symSize: 0x30 } + - { offsetInCU: 0x1FEB, offset: 0x3D826, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVwet', symObjAddr: 0x12D0, symBinAddr: 0xD4D0, symSize: 0x40 } + - { offsetInCU: 0x1FFF, offset: 0x3D83A, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVwst', symObjAddr: 0x1310, symBinAddr: 0xD510, symSize: 0x40 } + - { offsetInCU: 0x2013, offset: 0x3D84E, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVMa', symObjAddr: 0x1350, symBinAddr: 0xD550, symSize: 0xA } + - { offsetInCU: 0x72, offset: 0x3DC02, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6PlayerC8withName5andIdACSgSS_AA5OwnerOtcfc', symObjAddr: 0x0, symBinAddr: 0xD610, symSize: 0x60 } + - { offsetInCU: 0xC3, offset: 0x3DC53, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6PlayerCfd', symObjAddr: 0x80, symBinAddr: 0xD690, symSize: 0x20 } + - { offsetInCU: 0xE0, offset: 0x3DC70, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6PlayerC26addPlayedCallbacksListeneryyyAA4MoveVSg_ACtYaKcF', symObjAddr: 0xA0, symBinAddr: 0xD6B0, symSize: 0xE0 } + - { offsetInCU: 0x1F4, offset: 0x3DD84, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6PlayerC12notifyPlayed8withMove03andE0yAA0I0VSg_ACtYaKF', symObjAddr: 0x180, symBinAddr: 0xD790, symSize: 0x50 } + - { offsetInCU: 0x27B, offset: 0x3DE0B, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6PlayerC12notifyPlayed8withMove03andE0yAA0I0VSg_ACtYaKFTY0_', symObjAddr: 0x1D0, symBinAddr: 0xD7E0, symSize: 0x110 } + - { offsetInCU: 0x3D9, offset: 0x3DF69, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6PlayerC12notifyPlayed8withMove03andE0yAA0I0VSg_ACtYaKFTQ1_', symObjAddr: 0x2E0, symBinAddr: 0xD8F0, symSize: 0x80 } + - { offsetInCU: 0x490, offset: 0x3E020, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6PlayerC12notifyPlayed8withMove03andE0yAA0I0VSg_ACtYaKFTY2_', symObjAddr: 0x360, symBinAddr: 0xD970, symSize: 0x120 } + - { offsetInCU: 0x571, offset: 0x3E101, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6PlayerC12notifyPlayed8withMove03andE0yAA0I0VSg_ACtYaKFTY3_', symObjAddr: 0x480, symBinAddr: 0xDA90, symSize: 0x50 } + - { offsetInCU: 0x5E3, offset: 0x3E173, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6PlayerC4nameSSvg', symObjAddr: 0x4D0, symBinAddr: 0xDAE0, symSize: 0x30 } + - { offsetInCU: 0x610, offset: 0x3E1A0, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6PlayerC2idAA5OwnerOvg', symObjAddr: 0x500, symBinAddr: 0xDB10, symSize: 0x10 } + - { offsetInCU: 0x673, offset: 0x3E203, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6PlayerC8withName5andIdACSgSS_AA5OwnerOtcfC', symObjAddr: 0x510, symBinAddr: 0xDB20, symSize: 0x90 } + - { offsetInCU: 0x6D0, offset: 0x3E260, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6PlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKF', symObjAddr: 0x5A0, symBinAddr: 0xDBB0, symSize: 0x30 } + - { offsetInCU: 0x740, offset: 0x3E2D0, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6PlayerCfD', symObjAddr: 0x790, symBinAddr: 0xDDA0, symSize: 0x30 } + - { offsetInCU: 0x784, offset: 0x3E314, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6PlayerCMa', symObjAddr: 0x60, symBinAddr: 0xD670, symSize: 0x20 } + - { offsetInCU: 0x88B, offset: 0x3E41B, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveVSgAA6PlayerCs5Error_pIegHngzo_AdFytsAG_pIegHnnrzo_TR', symObjAddr: 0x5D0, symBinAddr: 0xDBE0, symSize: 0x70 } + - { offsetInCU: 0x8C5, offset: 0x3E455, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveVSgAA6PlayerCs5Error_pIegHngzo_AdFytsAG_pIegHnnrzo_TRTQ0_', symObjAddr: 0x640, symBinAddr: 0xDC50, symSize: 0x50 } + - { offsetInCU: 0x91F, offset: 0x3E4AF, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveVSgAA6PlayerCs5Error_pIegHngzo_AdFytsAG_pIegHnnrzo_TRTA', symObjAddr: 0x6B0, symBinAddr: 0xDCC0, symSize: 0x90 } + - { offsetInCU: 0x94F, offset: 0x3E4DF, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveVSgAA6PlayerCs5Error_pIegHngzo_AdFytsAG_pIegHnnrzo_TRTATQ0_', symObjAddr: 0x740, symBinAddr: 0xDD50, symSize: 0x50 } + - { offsetInCU: 0xA11, offset: 0x3E5A1, size: 0x8, addend: 0x0, symName: '_$ss12_ArrayBufferV20_consumeAndCreateNew14bufferIsUnique15minimumCapacity13growForAppendAByxGSb_SiSbtFSi3row_Si3colt_Tg5', symObjAddr: 0x910, symBinAddr: 0xDF20, symSize: 0x110 } + - { offsetInCU: 0xB9C, offset: 0x3E72C, size: 0x8, addend: 0x0, symName: '_$ss12_ArrayBufferV20_consumeAndCreateNew14bufferIsUnique15minimumCapacity13growForAppendAByxGSb_SiSbtF14DouShouQiModel4MoveV_Tg5', symObjAddr: 0xA60, symBinAddr: 0xE030, symSize: 0x120 } + - { offsetInCU: 0xD3F, offset: 0x3E8CF, size: 0x8, addend: 0x0, symName: '_$ss12_ArrayBufferV20_consumeAndCreateNew14bufferIsUnique15minimumCapacity13growForAppendAByxGSb_SiSbtF14DouShouQiModel4CellV_Tg5', symObjAddr: 0xB80, symBinAddr: 0xE150, symSize: 0x110 } + - { offsetInCU: 0xEED, offset: 0x3EA7D, size: 0x8, addend: 0x0, symName: '_$ss12_ArrayBufferV20_consumeAndCreateNew14bufferIsUnique15minimumCapacity13growForAppendAByxGSb_SiSbtFSay14DouShouQiModel4CellVG_Tg5', symObjAddr: 0xC90, symBinAddr: 0xE260, symSize: 0x130 } + - { offsetInCU: 0x27, offset: 0x3EDA2, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel9GameErrorOs0F0AAsADP7_domainSSvgTW', symObjAddr: 0x0, symBinAddr: 0xE5E0, symSize: 0x10 } + - { offsetInCU: 0x3F, offset: 0x3EDBA, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel9GameErrorOwCP', symObjAddr: 0x40, symBinAddr: 0xE620, symSize: 0x40 } + - { offsetInCU: 0x53, offset: 0x3EDCE, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel9GameErrorOwxx', symObjAddr: 0x80, symBinAddr: 0xE660, symSize: 0x20 } + - { offsetInCU: 0x67, offset: 0x3EDE2, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel9GameErrorOwcp', symObjAddr: 0xA0, symBinAddr: 0xE680, symSize: 0x40 } + - { offsetInCU: 0x7B, offset: 0x3EDF6, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel9GameErrorOwca', symObjAddr: 0xE0, symBinAddr: 0xE6C0, symSize: 0x80 } + - { offsetInCU: 0x8F, offset: 0x3EE0A, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel9GameErrorOwta', symObjAddr: 0x170, symBinAddr: 0xE740, symSize: 0x50 } + - { offsetInCU: 0xA3, offset: 0x3EE1E, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel9GameErrorOwet', symObjAddr: 0x1C0, symBinAddr: 0xE790, symSize: 0x50 } + - { offsetInCU: 0xB7, offset: 0x3EE32, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel9GameErrorOwst', symObjAddr: 0x210, symBinAddr: 0xE7E0, symSize: 0x50 } + - { offsetInCU: 0xCB, offset: 0x3EE46, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel9GameErrorOwug', symObjAddr: 0x260, symBinAddr: 0xE830, symSize: 0x20 } + - { offsetInCU: 0xDF, offset: 0x3EE5A, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel9GameErrorOwup', symObjAddr: 0x280, symBinAddr: 0xE850, symSize: 0x10 } + - { offsetInCU: 0xF3, offset: 0x3EE6E, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel9GameErrorOwui', symObjAddr: 0x290, symBinAddr: 0xE860, symSize: 0x30 } + - { offsetInCU: 0x107, offset: 0x3EE82, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel9GameErrorOMa', symObjAddr: 0x2C0, symBinAddr: 0xE890, symSize: 0xA } + - { offsetInCU: 0x12C, offset: 0x3EEA7, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel9GameErrorOs0F0AAsADP7_domainSSvgTW', symObjAddr: 0x0, symBinAddr: 0xE5E0, symSize: 0x10 } + - { offsetInCU: 0x148, offset: 0x3EEC3, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel9GameErrorOs0F0AAsADP5_codeSivgTW', symObjAddr: 0x10, symBinAddr: 0xE5F0, symSize: 0x10 } + - { offsetInCU: 0x164, offset: 0x3EEDF, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel9GameErrorOs0F0AAsADP9_userInfoyXlSgvgTW', symObjAddr: 0x20, symBinAddr: 0xE600, symSize: 0x10 } + - { offsetInCU: 0x180, offset: 0x3EEFB, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel9GameErrorOs0F0AAsADP19_getEmbeddedNSErroryXlSgyFTW', symObjAddr: 0x30, symBinAddr: 0xE610, symSize: 0x10 } + - { offsetInCU: 0x27, offset: 0x3EF8F, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12RandomPlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKF', symObjAddr: 0x0, symBinAddr: 0xE8A0, symSize: 0x40 } + - { offsetInCU: 0x52, offset: 0x3EFBA, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12RandomPlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKF', symObjAddr: 0x0, symBinAddr: 0xE8A0, symSize: 0x40 } + - { offsetInCU: 0xBB, offset: 0x3F023, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12RandomPlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKFTY0_', symObjAddr: 0x40, symBinAddr: 0xE8E0, symSize: 0x200 } + - { offsetInCU: 0x394, offset: 0x3F2FC, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12RandomPlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKFTQ1_', symObjAddr: 0x240, symBinAddr: 0xEAE0, symSize: 0x80 } + - { offsetInCU: 0x48D, offset: 0x3F3F5, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12RandomPlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKFTY2_', symObjAddr: 0x2C0, symBinAddr: 0xEB60, symSize: 0x140 } + - { offsetInCU: 0x5AF, offset: 0x3F517, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12RandomPlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKFTY3_', symObjAddr: 0x400, symBinAddr: 0xECA0, symSize: 0x60 } + - { offsetInCU: 0x696, offset: 0x3F5FE, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12RandomPlayerC8withName5andIdACSgSS_AA5OwnerOtcfC', symObjAddr: 0x490, symBinAddr: 0xED30, symSize: 0x90 } + - { offsetInCU: 0x72D, offset: 0x3F695, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12RandomPlayerC8withName5andIdACSgSS_AA5OwnerOtcfc', symObjAddr: 0x520, symBinAddr: 0xEDC0, symSize: 0x70 } + - { offsetInCU: 0x7B6, offset: 0x3F71E, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12RandomPlayerCfd', symObjAddr: 0x590, symBinAddr: 0xEE30, symSize: 0x20 } + - { offsetInCU: 0x815, offset: 0x3F77D, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12RandomPlayerCfD', symObjAddr: 0x5B0, symBinAddr: 0xEE50, symSize: 0x30 } + - { offsetInCU: 0xA42, offset: 0x3F9AA, size: 0x8, addend: 0x0, symName: ___swift_project_boxed_opaque_existential_1, symObjAddr: 0x460, symBinAddr: 0xED00, symSize: 0x30 } + - { offsetInCU: 0xB2A, offset: 0x3FA92, size: 0x8, addend: 0x0, symName: '_$sSGsE4next10upperBoundqd__qd___ts17FixedWidthIntegerRd__SURd__lFs27SystemRandomNumberGeneratorV_SuTg5', symObjAddr: 0x5E0, symBinAddr: 0xEE80, symSize: 0xB0 } + - { offsetInCU: 0xBF7, offset: 0x3FB5F, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12RandomPlayerCMa', symObjAddr: 0x690, symBinAddr: 0xEF30, symSize: 0x14 } + - { offsetInCU: 0x27, offset: 0x3FD0B, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeO8allCasesSayACGvgZ', symObjAddr: 0x0, symBinAddr: 0xEF50, symSize: 0x40 } + - { offsetInCU: 0x6C, offset: 0x3FD50, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeO8allCasesSayACGvgZ', symObjAddr: 0x0, symBinAddr: 0xEF50, symSize: 0x40 } + - { offsetInCU: 0xDB, offset: 0x3FDBF, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeO2eeoiySbAC_ACtFZ', symObjAddr: 0x80, symBinAddr: 0xEF90, symSize: 0x10 } + - { offsetInCU: 0x10A, offset: 0x3FDEE, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeO4hash4intoys6HasherVz_tF', symObjAddr: 0x90, symBinAddr: 0xEFA0, symSize: 0x20 } + - { offsetInCU: 0x1A0, offset: 0x3FE84, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeO9hashValueSivg', symObjAddr: 0xB0, symBinAddr: 0xEFC0, symSize: 0x40 } + - { offsetInCU: 0x29B, offset: 0x3FF7F, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeOSQAASQ2eeoiySbx_xtFZTW', symObjAddr: 0xF0, symBinAddr: 0xF000, symSize: 0x10 } + - { offsetInCU: 0x2F1, offset: 0x3FFD5, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeOSHAASH9hashValueSivgTW', symObjAddr: 0x100, symBinAddr: 0xF010, symSize: 0x40 } + - { offsetInCU: 0x3D5, offset: 0x400B9, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeOSHAASH4hash4intoys6HasherVz_tFTW', symObjAddr: 0x140, symBinAddr: 0xF050, symSize: 0x20 } + - { offsetInCU: 0x461, offset: 0x40145, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeOs12CaseIterableAAsADP8allCases03AllJ0QzvgZTW', symObjAddr: 0x270, symBinAddr: 0xF180, symSize: 0x50 } + - { offsetInCU: 0x4FD, offset: 0x401E1, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeOSHAASQWb', symObjAddr: 0x1A0, symBinAddr: 0xF0B0, symSize: 0x10 } + - { offsetInCU: 0x511, offset: 0x401F5, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeOACSQAAWl', symObjAddr: 0x1B0, symBinAddr: 0xF0C0, symSize: 0x30 } + - { offsetInCU: 0x525, offset: 0x40209, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeOs12CaseIterableAA8AllCasessADP_SlWT', symObjAddr: 0x1E0, symBinAddr: 0xF0F0, symSize: 0x10 } + - { offsetInCU: 0x539, offset: 0x4021D, size: 0x8, addend: 0x0, symName: '_$sSay14DouShouQiModel8CellTypeOGSayxGSlsWl', symObjAddr: 0x1F0, symBinAddr: 0xF100, symSize: 0x40 } + - { offsetInCU: 0x54D, offset: 0x40231, size: 0x8, addend: 0x0, symName: ___swift_instantiateConcreteTypeFromMangledNameAbstract, symObjAddr: 0x230, symBinAddr: 0xF140, symSize: 0x40 } + - { offsetInCU: 0x561, offset: 0x40245, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeOwet', symObjAddr: 0x2E0, symBinAddr: 0xF1D0, symSize: 0x80 } + - { offsetInCU: 0x575, offset: 0x40259, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeOwst', symObjAddr: 0x360, symBinAddr: 0xF250, symSize: 0xD0 } + - { offsetInCU: 0x589, offset: 0x4026D, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeOwug', symObjAddr: 0x430, symBinAddr: 0xF320, symSize: 0x10 } + - { offsetInCU: 0x59D, offset: 0x40281, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeOwup', symObjAddr: 0x440, symBinAddr: 0xF330, symSize: 0x10 } + - { offsetInCU: 0x5B1, offset: 0x40295, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeOwui', symObjAddr: 0x450, symBinAddr: 0xF340, symSize: 0x10 } + - { offsetInCU: 0x5C5, offset: 0x402A9, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeOMa', symObjAddr: 0x460, symBinAddr: 0xF350, symSize: 0xA } + - { offsetInCU: 0x632, offset: 0x40316, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeOSHAASH13_rawHashValue4seedS2i_tFTW', symObjAddr: 0x160, symBinAddr: 0xF070, symSize: 0x40 } + - { offsetInCU: 0x2B, offset: 0x40457, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardV8withGridACSgSaySayAA4CellVGG_tcfC', symObjAddr: 0x0, symBinAddr: 0xF360, symSize: 0x60 } + - { offsetInCU: 0xA6, offset: 0x404D2, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardV8withGridACSgSaySayAA4CellVGG_tcfC', symObjAddr: 0x0, symBinAddr: 0xF360, symSize: 0x60 } + - { offsetInCU: 0x285, offset: 0x406B1, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardV11countPieces2ofSiAA5OwnerO_tF', symObjAddr: 0x60, symBinAddr: 0xF3C0, symSize: 0x1B0 } + - { offsetInCU: 0x529, offset: 0x40955, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardV4hash4intoys6HasherVz_tF', symObjAddr: 0x210, symBinAddr: 0xF570, symSize: 0xB0 } + - { offsetInCU: 0x764, offset: 0x40B90, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardV6nbRowsSivg', symObjAddr: 0x2C0, symBinAddr: 0xF620, symSize: 0x10 } + - { offsetInCU: 0x782, offset: 0x40BAE, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardV9nbColumnsSivg', symObjAddr: 0x2D0, symBinAddr: 0xF630, symSize: 0x10 } + - { offsetInCU: 0x7A0, offset: 0x40BCC, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardV4gridSaySayAA4CellVGGvg', symObjAddr: 0x2E0, symBinAddr: 0xF640, symSize: 0x10 } + - { offsetInCU: 0x7BE, offset: 0x40BEA, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardV11countPiecesSi04nbOfgI7Player1_Si0higI7Player2tyF', symObjAddr: 0x2F0, symBinAddr: 0xF650, symSize: 0xA0 } + - { offsetInCU: 0x9F2, offset: 0x40E1E, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardV6insert5piece5atRow9andColumnAA0E6ResultOAA5PieceV_S2itF', symObjAddr: 0x390, symBinAddr: 0xF6F0, symSize: 0x110 } + - { offsetInCU: 0xBA1, offset: 0x40FCD, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardV11removePiece5atRow9andColumnAA0E6ResultOSi_SitF', symObjAddr: 0x4A0, symBinAddr: 0xF800, symSize: 0xF0 } + - { offsetInCU: 0xD6F, offset: 0x4119B, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardV2eeoiySbAC_ACtFZ', symObjAddr: 0x590, symBinAddr: 0xF8F0, symSize: 0x30 } + - { offsetInCU: 0xDB1, offset: 0x411DD, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardV9hashValueSivg', symObjAddr: 0x5C0, symBinAddr: 0xF920, symSize: 0x50 } + - { offsetInCU: 0xE3D, offset: 0x41269, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVSHAASH9hashValueSivgTW', symObjAddr: 0x610, symBinAddr: 0xF970, symSize: 0x50 } + - { offsetInCU: 0xECC, offset: 0x412F8, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVSHAASH4hash4intoys6HasherVz_tFTW', symObjAddr: 0x660, symBinAddr: 0xF9C0, symSize: 0x10 } + - { offsetInCU: 0xEFA, offset: 0x41326, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVSQAASQ2eeoiySbx_xtFZTW', symObjAddr: 0x6C0, symBinAddr: 0xFA20, symSize: 0x30 } + - { offsetInCU: 0x1189, offset: 0x415B5, size: 0x8, addend: 0x0, symName: '_$ss12_ArrayBufferV20_consumeAndCreateNewAByxGyF14DouShouQiModel4MoveV_Tg5', symObjAddr: 0x6F0, symBinAddr: 0xFA50, symSize: 0x20 } + - { offsetInCU: 0x11C1, offset: 0x415ED, size: 0x8, addend: 0x0, symName: '_$ss12_ArrayBufferV20_consumeAndCreateNewAByxGyF14DouShouQiModel4CellV_Tg5', symObjAddr: 0x710, symBinAddr: 0xFA70, symSize: 0x20 } + - { offsetInCU: 0x11F9, offset: 0x41625, size: 0x8, addend: 0x0, symName: '_$ss12_ArrayBufferV20_consumeAndCreateNewAByxGyFSay14DouShouQiModel4CellVG_Tg5', symObjAddr: 0x730, symBinAddr: 0xFA90, symSize: 0x20 } + - { offsetInCU: 0x1231, offset: 0x4165D, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVSHAASQWb', symObjAddr: 0x920, symBinAddr: 0xFC80, symSize: 0x10 } + - { offsetInCU: 0x1245, offset: 0x41671, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVACSQAAWl', symObjAddr: 0x930, symBinAddr: 0xFC90, symSize: 0x30 } + - { offsetInCU: 0x1259, offset: 0x41685, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVwCP', symObjAddr: 0x960, symBinAddr: 0xFCC0, symSize: 0x30 } + - { offsetInCU: 0x126D, offset: 0x41699, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVwxx', symObjAddr: 0x990, symBinAddr: 0xFCF0, symSize: 0x10 } + - { offsetInCU: 0x1281, offset: 0x416AD, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVwcp', symObjAddr: 0x9A0, symBinAddr: 0xFD00, symSize: 0x30 } + - { offsetInCU: 0x1295, offset: 0x416C1, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVwca', symObjAddr: 0x9D0, symBinAddr: 0xFD30, symSize: 0x40 } + - { offsetInCU: 0x12A9, offset: 0x416D5, size: 0x8, addend: 0x0, symName: ___swift_memcpy24_8, symObjAddr: 0xA10, symBinAddr: 0xFD70, symSize: 0x20 } + - { offsetInCU: 0x12BD, offset: 0x416E9, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVwta', symObjAddr: 0xA30, symBinAddr: 0xFD90, symSize: 0x30 } + - { offsetInCU: 0x12D1, offset: 0x416FD, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVwet', symObjAddr: 0xA60, symBinAddr: 0xFDC0, symSize: 0x40 } + - { offsetInCU: 0x12E5, offset: 0x41711, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVwst', symObjAddr: 0xAA0, symBinAddr: 0xFE00, symSize: 0x40 } + - { offsetInCU: 0x12F9, offset: 0x41725, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVMa', symObjAddr: 0xAE0, symBinAddr: 0xFE40, symSize: 0xA } + - { offsetInCU: 0x1452, offset: 0x4187E, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVSHAASH13_rawHashValue4seedS2i_tFTW', symObjAddr: 0x670, symBinAddr: 0xF9D0, symSize: 0x50 } + - { offsetInCU: 0x1490, offset: 0x418BC, size: 0x8, addend: 0x0, symName: '_$sSasSQRzlE2eeoiySbSayxG_ABtFZ14DouShouQiModel4CellV_Tg5Tf4nnd_n', symObjAddr: 0x750, symBinAddr: 0xFAB0, symSize: 0xA0 } + - { offsetInCU: 0x1564, offset: 0x41990, size: 0x8, addend: 0x0, symName: '_$sSasSQRzlE2eeoiySbSayxG_ABtFZSay14DouShouQiModel4CellVG_Tg5Tf4nnd_n', symObjAddr: 0x7F0, symBinAddr: 0xFB50, symSize: 0x130 } + - { offsetInCU: 0x27, offset: 0x41BD9, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceV9withOwner9andAnimalAcA0G0O_AA0I0OtcfC', symObjAddr: 0x0, symBinAddr: 0xFE50, symSize: 0x20 } + - { offsetInCU: 0x46, offset: 0x41BF8, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceV9withOwner9andAnimalAcA0G0O_AA0I0OtcfC', symObjAddr: 0x0, symBinAddr: 0xFE50, symSize: 0x20 } + - { offsetInCU: 0x85, offset: 0x41C37, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceV11descriptionSSvg', symObjAddr: 0x20, symBinAddr: 0xFE70, symSize: 0xC0 } + - { offsetInCU: 0x176, offset: 0x41D28, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceV5ownerAA5OwnerOvg', symObjAddr: 0xE0, symBinAddr: 0xFF30, symSize: 0x10 } + - { offsetInCU: 0x194, offset: 0x41D46, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceV6animalAA6AnimalOvg', symObjAddr: 0xF0, symBinAddr: 0xFF40, symSize: 0x10 } + - { offsetInCU: 0x1B2, offset: 0x41D64, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceV4hash4intoys6HasherVz_tF', symObjAddr: 0x100, symBinAddr: 0xFF50, symSize: 0x40 } + - { offsetInCU: 0x2E8, offset: 0x41E9A, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceV2eeoiySbAC_ACtFZ', symObjAddr: 0x140, symBinAddr: 0xFF90, symSize: 0x30 } + - { offsetInCU: 0x32D, offset: 0x41EDF, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceV9hashValueSivg', symObjAddr: 0x170, symBinAddr: 0xFFC0, symSize: 0x50 } + - { offsetInCU: 0x4C4, offset: 0x42076, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceVs23CustomStringConvertibleAAsADP11descriptionSSvgTW', symObjAddr: 0x1C0, symBinAddr: 0x10010, symSize: 0x10 } + - { offsetInCU: 0x4EF, offset: 0x420A1, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceVSHAASH9hashValueSivgTW', symObjAddr: 0x1D0, symBinAddr: 0x10020, symSize: 0x50 } + - { offsetInCU: 0x6A3, offset: 0x42255, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceVSHAASH4hash4intoys6HasherVz_tFTW', symObjAddr: 0x220, symBinAddr: 0x10070, symSize: 0x40 } + - { offsetInCU: 0x808, offset: 0x423BA, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceVSQAASQ2eeoiySbx_xtFZTW', symObjAddr: 0x2B0, symBinAddr: 0x10100, symSize: 0x30 } + - { offsetInCU: 0x8DA, offset: 0x4248C, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceVSHAASQWb', symObjAddr: 0x2E0, symBinAddr: 0x10130, symSize: 0x10 } + - { offsetInCU: 0x8EE, offset: 0x424A0, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceVACSQAAWl', symObjAddr: 0x2F0, symBinAddr: 0x10140, symSize: 0x30 } + - { offsetInCU: 0x902, offset: 0x424B4, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceVwet', symObjAddr: 0x340, symBinAddr: 0x10170, symSize: 0x90 } + - { offsetInCU: 0x916, offset: 0x424C8, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceVwst', symObjAddr: 0x3D0, symBinAddr: 0x10200, symSize: 0xE0 } + - { offsetInCU: 0x92A, offset: 0x424DC, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceVMa', symObjAddr: 0x4B0, symBinAddr: 0x102E0, symSize: 0xA } + - { offsetInCU: 0x9CF, offset: 0x42581, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceVSHAASH13_rawHashValue4seedS2i_tFTW', symObjAddr: 0x260, symBinAddr: 0x100B0, symSize: 0x50 } + - { offsetInCU: 0x27, offset: 0x42787, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel17InvalidBoardErrorO2eeoiySbAC_ACtFZ', symObjAddr: 0x0, symBinAddr: 0x102F0, symSize: 0x10 } + - { offsetInCU: 0x4B, offset: 0x427AB, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel17InvalidBoardErrorO2eeoiySbAC_ACtFZ', symObjAddr: 0x0, symBinAddr: 0x102F0, symSize: 0x10 } + - { offsetInCU: 0x6E, offset: 0x427CE, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel17InvalidBoardErrorOSQAASQ2eeoiySbx_xtFZTW', symObjAddr: 0x50, symBinAddr: 0x10340, symSize: 0x10 } + - { offsetInCU: 0x9F, offset: 0x427FF, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel17InvalidBoardErrorO2eeoiySbAC_ACtFZTf4nnd_n', symObjAddr: 0x60, symBinAddr: 0x10350, symSize: 0x110 } + - { offsetInCU: 0x15B, offset: 0x428BB, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel17InvalidBoardErrorOwCP', symObjAddr: 0x170, symBinAddr: 0x10460, symSize: 0x30 } + - { offsetInCU: 0x16F, offset: 0x428CF, size: 0x8, addend: 0x0, symName: ___swift_memcpy25_8, symObjAddr: 0x1B0, symBinAddr: 0x10490, symSize: 0x20 } + - { offsetInCU: 0x183, offset: 0x428E3, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel17InvalidBoardErrorOwet', symObjAddr: 0x1D0, symBinAddr: 0x104B0, symSize: 0x50 } + - { offsetInCU: 0x197, offset: 0x428F7, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel17InvalidBoardErrorOwst', symObjAddr: 0x220, symBinAddr: 0x10500, symSize: 0x50 } + - { offsetInCU: 0x1AB, offset: 0x4290B, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel17InvalidBoardErrorOwug', symObjAddr: 0x270, symBinAddr: 0x10550, symSize: 0x20 } + - { offsetInCU: 0x1BF, offset: 0x4291F, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel17InvalidBoardErrorOwup', symObjAddr: 0x290, symBinAddr: 0x10570, symSize: 0x10 } + - { offsetInCU: 0x1D3, offset: 0x42933, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel17InvalidBoardErrorOwui', symObjAddr: 0x2A0, symBinAddr: 0x10580, symSize: 0x20 } + - { offsetInCU: 0x1E7, offset: 0x42947, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel17InvalidBoardErrorOMa', symObjAddr: 0x2C0, symBinAddr: 0x105A0, symSize: 0xA } + - { offsetInCU: 0x20C, offset: 0x4296C, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel17InvalidBoardErrorOs0G0AAsADP7_domainSSvgTW', symObjAddr: 0x10, symBinAddr: 0x10300, symSize: 0x10 } + - { offsetInCU: 0x228, offset: 0x42988, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel17InvalidBoardErrorOs0G0AAsADP5_codeSivgTW', symObjAddr: 0x20, symBinAddr: 0x10310, symSize: 0x10 } + - { offsetInCU: 0x244, offset: 0x429A4, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel17InvalidBoardErrorOs0G0AAsADP9_userInfoyXlSgvgTW', symObjAddr: 0x30, symBinAddr: 0x10320, symSize: 0x10 } + - { offsetInCU: 0x260, offset: 0x429C0, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel17InvalidBoardErrorOs0G0AAsADP19_getEmbeddedNSErroryXlSgyFTW', symObjAddr: 0x40, symBinAddr: 0x10330, symSize: 0x10 } + - { offsetInCU: 0x27, offset: 0x42A64, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5OwnerO2eeoiySbAC_ACtFZ', symObjAddr: 0x0, symBinAddr: 0x105B0, symSize: 0x10 } + - { offsetInCU: 0x4B, offset: 0x42A88, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5OwnerO2eeoiySbAC_ACtFZ', symObjAddr: 0x0, symBinAddr: 0x105B0, symSize: 0x10 } + - { offsetInCU: 0x7A, offset: 0x42AB7, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5OwnerO17simpleDescriptionSSvg', symObjAddr: 0x10, symBinAddr: 0x105C0, symSize: 0x20 } + - { offsetInCU: 0xA5, offset: 0x42AE2, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5OwnerO4hash4intoys6HasherVz_tF', symObjAddr: 0x30, symBinAddr: 0x105E0, symSize: 0x20 } + - { offsetInCU: 0x13B, offset: 0x42B78, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5OwnerO9hashValueSivg', symObjAddr: 0x50, symBinAddr: 0x10600, symSize: 0x40 } + - { offsetInCU: 0x236, offset: 0x42C73, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5OwnerOSQAASQ2eeoiySbx_xtFZTW', symObjAddr: 0x90, symBinAddr: 0x10640, symSize: 0x10 } + - { offsetInCU: 0x28C, offset: 0x42CC9, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5OwnerOSHAASH9hashValueSivgTW', symObjAddr: 0xA0, symBinAddr: 0x10650, symSize: 0x40 } + - { offsetInCU: 0x370, offset: 0x42DAD, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5OwnerOSHAASH4hash4intoys6HasherVz_tFTW', symObjAddr: 0xE0, symBinAddr: 0x10690, symSize: 0x20 } + - { offsetInCU: 0x3F9, offset: 0x42E36, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5OwnerOSHAASQWb', symObjAddr: 0x140, symBinAddr: 0x106F0, symSize: 0x10 } + - { offsetInCU: 0x40D, offset: 0x42E4A, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5OwnerOACSQAAWl', symObjAddr: 0x150, symBinAddr: 0x10700, symSize: 0x30 } + - { offsetInCU: 0x421, offset: 0x42E5E, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5OwnerOwet', symObjAddr: 0x1A0, symBinAddr: 0x10730, symSize: 0x80 } + - { offsetInCU: 0x435, offset: 0x42E72, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5OwnerOwst', symObjAddr: 0x220, symBinAddr: 0x107B0, symSize: 0xD0 } + - { offsetInCU: 0x449, offset: 0x42E86, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5OwnerOwug', symObjAddr: 0x2F0, symBinAddr: 0x10880, symSize: 0x10 } + - { offsetInCU: 0x45D, offset: 0x42E9A, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5OwnerOwup', symObjAddr: 0x300, symBinAddr: 0x10890, symSize: 0x10 } + - { offsetInCU: 0x471, offset: 0x42EAE, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5OwnerOwui', symObjAddr: 0x310, symBinAddr: 0x108A0, symSize: 0x10 } + - { offsetInCU: 0x485, offset: 0x42EC2, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5OwnerOMa', symObjAddr: 0x320, symBinAddr: 0x108B0, symSize: 0xA } + - { offsetInCU: 0x4DD, offset: 0x42F1A, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5OwnerOSHAASH13_rawHashValue4seedS2i_tFTW', symObjAddr: 0x100, symBinAddr: 0x106B0, symSize: 0x40 } + - { offsetInCU: 0x27, offset: 0x43045, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8IAPlayerC8withName5andIdACSgSS_AA5OwnerOtcfc', symObjAddr: 0x0, symBinAddr: 0x108C0, symSize: 0x70 } + - { offsetInCU: 0xD3, offset: 0x430F1, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8IAPlayerC8withName5andIdACSgSS_AA5OwnerOtcfc', symObjAddr: 0x0, symBinAddr: 0x108C0, symSize: 0x70 } + - { offsetInCU: 0x145, offset: 0x43163, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8IAPlayerCfd', symObjAddr: 0x70, symBinAddr: 0x10930, symSize: 0x20 } + - { offsetInCU: 0x1AA, offset: 0x431C8, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8IAPlayerC8withName5andIdACSgSS_AA5OwnerOtcfC', symObjAddr: 0x90, symBinAddr: 0x10950, symSize: 0x90 } + - { offsetInCU: 0x248, offset: 0x43266, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8IAPlayerCfD', symObjAddr: 0x120, symBinAddr: 0x109E0, symSize: 0x30 } + - { offsetInCU: 0x2A2, offset: 0x432C0, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8IAPlayerCMa', symObjAddr: 0x150, symBinAddr: 0x10A10, symSize: 0x14 } + - { offsetInCU: 0x27, offset: 0x43389, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveV2eeoiySbAC_ACtFZ', symObjAddr: 0x0, symBinAddr: 0x10A30, symSize: 0x10 } + - { offsetInCU: 0x46, offset: 0x433A8, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveV2eeoiySbAC_ACtFZ', symObjAddr: 0x0, symBinAddr: 0x10A30, symSize: 0x10 } + - { offsetInCU: 0x5A, offset: 0x433BC, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveV2of7fromRow13andFromColumn02toH00i2ToK0AcA5OwnerO_S4itcfC', symObjAddr: 0x10, symBinAddr: 0x10A40, symSize: 0x20 } + - { offsetInCU: 0xC1, offset: 0x43423, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveV5ownerAA5OwnerOvg', symObjAddr: 0x30, symBinAddr: 0x10A60, symSize: 0x10 } + - { offsetInCU: 0xDF, offset: 0x43441, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveV9rowOriginSivg', symObjAddr: 0x40, symBinAddr: 0x10A70, symSize: 0x10 } + - { offsetInCU: 0xFD, offset: 0x4345F, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveV12columnOriginSivg', symObjAddr: 0x50, symBinAddr: 0x10A80, symSize: 0x10 } + - { offsetInCU: 0x11B, offset: 0x4347D, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveV14rowDestinationSivg', symObjAddr: 0x60, symBinAddr: 0x10A90, symSize: 0x10 } + - { offsetInCU: 0x139, offset: 0x4349B, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveV17columnDestinationSivg', symObjAddr: 0x70, symBinAddr: 0x10AA0, symSize: 0x10 } + - { offsetInCU: 0x157, offset: 0x434B9, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveV11descriptionSSvg', symObjAddr: 0x80, symBinAddr: 0x10AB0, symSize: 0x1E0 } + - { offsetInCU: 0x287, offset: 0x435E9, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveVs23CustomStringConvertibleAAsADP11descriptionSSvgTW', symObjAddr: 0x260, symBinAddr: 0x10C90, symSize: 0x10 } + - { offsetInCU: 0x2B2, offset: 0x43614, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveVSQAASQ2eeoiySbx_xtFZTW', symObjAddr: 0x270, symBinAddr: 0x10CA0, symSize: 0x10 } + - { offsetInCU: 0x2E3, offset: 0x43645, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveV2eeoiySbAC_ACtFZTf4nnd_n', symObjAddr: 0x280, symBinAddr: 0x10CB0, symSize: 0x40 } + - { offsetInCU: 0x365, offset: 0x436C7, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveVwCP', symObjAddr: 0x2C0, symBinAddr: 0x10CF0, symSize: 0x30 } + - { offsetInCU: 0x379, offset: 0x436DB, size: 0x8, addend: 0x0, symName: ___swift_memcpy40_8, symObjAddr: 0x300, symBinAddr: 0x10D20, symSize: 0x20 } + - { offsetInCU: 0x38D, offset: 0x436EF, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveVwet', symObjAddr: 0x320, symBinAddr: 0x10D40, symSize: 0x40 } + - { offsetInCU: 0x3A1, offset: 0x43703, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveVwst', symObjAddr: 0x360, symBinAddr: 0x10D80, symSize: 0x50 } + - { offsetInCU: 0x3B5, offset: 0x43717, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveVMa', symObjAddr: 0x3B0, symBinAddr: 0x10DD0, symSize: 0xA } + - { offsetInCU: 0x27, offset: 0x43808, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6AnimalO8rawValueSivg', symObjAddr: 0x0, symBinAddr: 0x10DE0, symSize: 0x10 } + - { offsetInCU: 0x4B, offset: 0x4382C, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6AnimalO8rawValueSivg', symObjAddr: 0x0, symBinAddr: 0x10DE0, symSize: 0x10 } + - { offsetInCU: 0x66, offset: 0x43847, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6AnimalO8rawValueACSgSi_tcfC', symObjAddr: 0x10, symBinAddr: 0x10DF0, symSize: 0x20 } + - { offsetInCU: 0xBA, offset: 0x4389B, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6AnimalOSYAASY8rawValuexSg03RawG0Qz_tcfCTW', symObjAddr: 0x130, symBinAddr: 0x10F10, symSize: 0x10 } + - { offsetInCU: 0xD6, offset: 0x438B7, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6AnimalOSYAASY8rawValue03RawG0QzvgTW', symObjAddr: 0x140, symBinAddr: 0x10F20, symSize: 0x20 } + - { offsetInCU: 0x10B, offset: 0x438EC, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6AnimalOSHAASQWb', symObjAddr: 0x40, symBinAddr: 0x10E20, symSize: 0x10 } + - { offsetInCU: 0x11F, offset: 0x43900, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6AnimalOACSQAAWl', symObjAddr: 0x50, symBinAddr: 0x10E30, symSize: 0x30 } + - { offsetInCU: 0x149, offset: 0x4392A, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6AnimalOwet', symObjAddr: 0x180, symBinAddr: 0x10F40, symSize: 0x80 } + - { offsetInCU: 0x15D, offset: 0x4393E, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6AnimalOwst', symObjAddr: 0x200, symBinAddr: 0x10FC0, symSize: 0xD0 } + - { offsetInCU: 0x171, offset: 0x43952, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6AnimalOwug', symObjAddr: 0x2D0, symBinAddr: 0x11090, symSize: 0x10 } + - { offsetInCU: 0x185, offset: 0x43966, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6AnimalOwup', symObjAddr: 0x2E0, symBinAddr: 0x110A0, symSize: 0x10 } + - { offsetInCU: 0x199, offset: 0x4397A, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6AnimalOwui', symObjAddr: 0x2F0, symBinAddr: 0x110B0, symSize: 0x10 } + - { offsetInCU: 0x1AD, offset: 0x4398E, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6AnimalOMa', symObjAddr: 0x300, symBinAddr: 0x110C0, symSize: 0xA } + - { offsetInCU: 0x1E7, offset: 0x439C8, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6AnimalOSQAASQ2eeoiySbx_xtFZTW', symObjAddr: 0x30, symBinAddr: 0x10E10, symSize: 0x10 } + - { offsetInCU: 0x278, offset: 0x43A59, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6AnimalOSHAASH9hashValueSivgTW', symObjAddr: 0x80, symBinAddr: 0x10E60, symSize: 0x40 } + - { offsetInCU: 0x350, offset: 0x43B31, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6AnimalOSHAASH4hash4intoys6HasherVz_tFTW', symObjAddr: 0xC0, symBinAddr: 0x10EA0, symSize: 0x30 } + - { offsetInCU: 0x3CC, offset: 0x43BAD, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6AnimalOSHAASH13_rawHashValue4seedS2i_tFTW', symObjAddr: 0xF0, symBinAddr: 0x10ED0, symSize: 0x40 } + - { offsetInCU: 0x97, offset: 0x43D4B, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC5boardAA5BoardVvg', symObjAddr: 0xA0, symBinAddr: 0x11170, symSize: 0x40 } + - { offsetInCU: 0xDE, offset: 0x43D92, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC5rulesAA5Rules_pvg', symObjAddr: 0x140, symBinAddr: 0x11210, symSize: 0x40 } + - { offsetInCU: 0xFB, offset: 0x43DAF, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC7playersSDyAA5OwnerOAA6PlayerCGvg', symObjAddr: 0x1B0, symBinAddr: 0x11280, symSize: 0x10 } + - { offsetInCU: 0x128, offset: 0x43DDC, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC9withRules10andPlayer10H7Player2AcA0G0_p_AA6PlayerCAItKcfC', symObjAddr: 0x1C0, symBinAddr: 0x11290, symSize: 0x60 } + - { offsetInCU: 0x14D, offset: 0x43E01, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC9withRules10andPlayer10H7Player2AcA0G0_p_AA6PlayerCAItKcfc', symObjAddr: 0x220, symBinAddr: 0x112F0, symSize: 0x4F0 } + - { offsetInCU: 0x563, offset: 0x44217, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC9withRules10andPlayer10H7Player2AcA0G0_p_AA6PlayerCAItKcfcyAA4MoveVSg_AItYacfU_', symObjAddr: 0x800, symBinAddr: 0x11830, symSize: 0xB0 } + - { offsetInCU: 0x612, offset: 0x442C6, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC9withRules10andPlayer10H7Player2AcA0G0_p_AA6PlayerCAItKcfcyAA4MoveVSg_AItYacfU_TQ0_', symObjAddr: 0x8B0, symBinAddr: 0x118E0, symSize: 0x70 } + - { offsetInCU: 0x6A3, offset: 0x44357, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC9withRules10andPlayer10H7Player2AcA0G0_p_AA6PlayerCAItKcfcyAA4MoveVSg_AItYacfU_TY2_', symObjAddr: 0x920, symBinAddr: 0x11950, symSize: 0x50 } + - { offsetInCU: 0x6E8, offset: 0x4439C, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC9withRules10andPlayer10H7Player2AcA0G0_p_AA6PlayerCAItKcfcyAA4MoveVSg_AItYacfU0_', symObjAddr: 0x970, symBinAddr: 0x119A0, symSize: 0xB0 } + - { offsetInCU: 0x797, offset: 0x4444B, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC9withRules10andPlayer10H7Player2AcA0G0_p_AA6PlayerCAItKcfcyAA4MoveVSg_AItYacfU0_TQ0_', symObjAddr: 0xA20, symBinAddr: 0x11A50, symSize: 0x70 } + - { offsetInCU: 0x828, offset: 0x444DC, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC9withRules10andPlayer10H7Player2AcA0G0_p_AA6PlayerCAItKcfcyAA4MoveVSg_AItYacfU0_TY1_', symObjAddr: 0xA90, symBinAddr: 0x11AC0, symSize: 0x30 } + - { offsetInCU: 0x882, offset: 0x44536, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC9withRules10andPlayer10H7Player2AcA0G0_p_AA6PlayerCAItKcfcyAA4MoveVSg_AItYacfU0_TY2_', symObjAddr: 0xAC0, symBinAddr: 0x11AF0, symSize: 0x50 } + - { offsetInCU: 0x8C7, offset: 0x4457B, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC9withBoard8andRules0H7Player10H7Player2AcA0G0V_AA0I0_pAA6PlayerCALtKcfC', symObjAddr: 0xB10, symBinAddr: 0x11B40, symSize: 0x60 } + - { offsetInCU: 0x8EC, offset: 0x445A0, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC9withBoard8andRules0H7Player10H7Player2AcA0G0V_AA0I0_pAA6PlayerCALtKcfc', symObjAddr: 0xB70, symBinAddr: 0x11BA0, symSize: 0x320 } + - { offsetInCU: 0xA27, offset: 0x446DB, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC03addE15StartedListeneryyyAA5BoardVcF', symObjAddr: 0xE90, symBinAddr: 0x11EC0, symSize: 0xD0 } + - { offsetInCU: 0xB3B, offset: 0x447EF, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC25addPlayerNotifiedListeneryyyAA5BoardV_AA0G0CtYaKcF', symObjAddr: 0xF60, symBinAddr: 0x11F90, symSize: 0xD0 } + - { offsetInCU: 0xC4F, offset: 0x44903, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC03addE15ChangedListeneryyyACYacF', symObjAddr: 0x10F0, symBinAddr: 0x12120, symSize: 0xD0 } + - { offsetInCU: 0xD63, offset: 0x44A17, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC03addE12OverListeneryyyAA5BoardV_AA6ResultOAA6PlayerCSgtcF', symObjAddr: 0x1220, symBinAddr: 0x12250, symSize: 0xD0 } + - { offsetInCU: 0xE77, offset: 0x44B2B, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC30addMoveChosenCallbacksListeneryyyAA5BoardV_AA0G0VAA6PlayerCtcF', symObjAddr: 0x12F0, symBinAddr: 0x12320, symSize: 0xD0 } + - { offsetInCU: 0xF8B, offset: 0x44C3F, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC31addInvalidMoveCallbacksListeneryyyAA5BoardV_AA0H0VAA6PlayerCSbtcF', symObjAddr: 0x13C0, symBinAddr: 0x123F0, symSize: 0xE0 } + - { offsetInCU: 0x109F, offset: 0x44D53, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC23addBoardChangedListeneryyyAA0G0VcF', symObjAddr: 0x14A0, symBinAddr: 0x124D0, symSize: 0xE0 } + - { offsetInCU: 0x11B3, offset: 0x44E67, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC23addPieceRemovedListeneryyySi_SiAA0G0VtcF', symObjAddr: 0x1580, symBinAddr: 0x125B0, symSize: 0xE0 } + - { offsetInCU: 0x12E5, offset: 0x44F99, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC18notifyPieceRemoved33_4E9958627B7DCD90B6D32369387417C3LLyySi_SiAA0G0VtF', symObjAddr: 0x1660, symBinAddr: 0x12690, symSize: 0xC0 } + - { offsetInCU: 0x1497, offset: 0x4514B, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC8onPlayed4with4fromyAA4MoveVSg_AA6PlayerCtYaKF', symObjAddr: 0x1720, symBinAddr: 0x12750, symSize: 0x60 } + - { offsetInCU: 0x1876, offset: 0x4552A, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC8onPlayed4with4fromyAA4MoveVSg_AA6PlayerCtYaKFTY0_', symObjAddr: 0x1780, symBinAddr: 0x127B0, symSize: 0xD90 } + - { offsetInCU: 0x25A8, offset: 0x4625C, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC8onPlayed4with4fromyAA4MoveVSg_AA6PlayerCtYaKFTQ1_', symObjAddr: 0x2510, symBinAddr: 0x13540, symSize: 0x70 } + - { offsetInCU: 0x26D3, offset: 0x46387, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC8onPlayed4with4fromyAA4MoveVSg_AA6PlayerCtYaKFTY2_', symObjAddr: 0x2580, symBinAddr: 0x135B0, symSize: 0x280 } + - { offsetInCU: 0x29BD, offset: 0x46671, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC8onPlayed4with4fromyAA4MoveVSg_AA6PlayerCtYaKFTQ3_', symObjAddr: 0x2800, symBinAddr: 0x13830, symSize: 0x80 } + - { offsetInCU: 0x2AAE, offset: 0x46762, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC8onPlayed4with4fromyAA4MoveVSg_AA6PlayerCtYaKFTY4_', symObjAddr: 0x2880, symBinAddr: 0x138B0, symSize: 0x150 } + - { offsetInCU: 0x2BE9, offset: 0x4689D, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC8onPlayed4with4fromyAA4MoveVSg_AA6PlayerCtYaKFTY5_', symObjAddr: 0x29D0, symBinAddr: 0x13A00, symSize: 0x70 } + - { offsetInCU: 0x2C97, offset: 0x4694B, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC6isOverSbvg', symObjAddr: 0x2A40, symBinAddr: 0x13A70, symSize: 0x30 } + - { offsetInCU: 0x2CB4, offset: 0x46968, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC5startyyYaKF', symObjAddr: 0x2A70, symBinAddr: 0x13AA0, symSize: 0x30 } + - { offsetInCU: 0x2D65, offset: 0x46A19, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC5startyyYaKFTY0_', symObjAddr: 0x2AA0, symBinAddr: 0x13AD0, symSize: 0x3D0 } + - { offsetInCU: 0x3221, offset: 0x46ED5, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC5startyyYaKFTQ1_', symObjAddr: 0x2E70, symBinAddr: 0x13EA0, symSize: 0x70 } + - { offsetInCU: 0x32B5, offset: 0x46F69, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC5startyyYaKFTY2_', symObjAddr: 0x2EE0, symBinAddr: 0x13F10, symSize: 0x270 } + - { offsetInCU: 0x350A, offset: 0x471BE, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC5startyyYaKFTQ3_', symObjAddr: 0x3150, symBinAddr: 0x14180, symSize: 0x80 } + - { offsetInCU: 0x35AB, offset: 0x4725F, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC5startyyYaKFTY4_', symObjAddr: 0x31D0, symBinAddr: 0x14200, symSize: 0x140 } + - { offsetInCU: 0x3697, offset: 0x4734B, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC5startyyYaKFTY5_', symObjAddr: 0x3310, symBinAddr: 0x14340, symSize: 0x70 } + - { offsetInCU: 0x36E6, offset: 0x4739A, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameCfd', symObjAddr: 0x3380, symBinAddr: 0x143B0, symSize: 0x80 } + - { offsetInCU: 0x3713, offset: 0x473C7, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameCfD', symObjAddr: 0x3400, symBinAddr: 0x14430, symSize: 0x20 } + - { offsetInCU: 0x3741, offset: 0x473F5, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC5boardAA5BoardVvpACTK', symObjAddr: 0x0, symBinAddr: 0x110D0, symSize: 0x40 } + - { offsetInCU: 0x3777, offset: 0x4742B, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC5boardAA5BoardVvpACTk', symObjAddr: 0x40, symBinAddr: 0x11110, symSize: 0x60 } + - { offsetInCU: 0x37AF, offset: 0x47463, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC5rulesAA5Rules_pvpACTk', symObjAddr: 0xE0, symBinAddr: 0x111B0, symSize: 0x60 } + - { offsetInCU: 0x37F2, offset: 0x474A6, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5Rules_pWOc', symObjAddr: 0x180, symBinAddr: 0x11250, symSize: 0x30 } + - { offsetInCU: 0x3929, offset: 0x475DD, size: 0x8, addend: 0x0, symName: ___swift_destroy_boxed_opaque_existential_1, symObjAddr: 0x770, symBinAddr: 0x117E0, symSize: 0x30 } + - { offsetInCU: 0x393D, offset: 0x475F1, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameCMa', symObjAddr: 0x7A0, symBinAddr: 0x11810, symSize: 0x20 } + - { offsetInCU: 0x3A4F, offset: 0x47703, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVAA6PlayerCs5Error_pIegHngzo_AcEytsAF_pIegHnnrzo_TR', symObjAddr: 0x1030, symBinAddr: 0x12060, symSize: 0x70 } + - { offsetInCU: 0x3A89, offset: 0x4773D, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVAA6PlayerCs5Error_pIegHngzo_AcEytsAF_pIegHnnrzo_TRTQ0_', symObjAddr: 0x10A0, symBinAddr: 0x120D0, symSize: 0x50 } + - { offsetInCU: 0x3B46, offset: 0x477FA, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameCIegHg_ACytIegHnr_TR', symObjAddr: 0x11C0, symBinAddr: 0x121F0, symSize: 0x60 } + - { offsetInCU: 0x3F7D, offset: 0x47C31, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC9withRules10andPlayer10H7Player2AcA0G0_p_AA6PlayerCAItKcfcyAA4MoveVSg_AItYacfU0_TA', symObjAddr: 0x3420, symBinAddr: 0x14450, symSize: 0x60 } + - { offsetInCU: 0x3FAD, offset: 0x47C61, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC9withRules10andPlayer10H7Player2AcA0G0_p_AA6PlayerCAItKcfcyAA4MoveVSg_AItYacfU_TA', symObjAddr: 0x3530, symBinAddr: 0x144D0, symSize: 0x60 } + - { offsetInCU: 0x3FDD, offset: 0x47C91, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveVSgAA6PlayerCs5Error_pIegHngzo_AdFytsAG_pIegHnnrzo_TRTA.7', symObjAddr: 0x3590, symBinAddr: 0x14530, symSize: 0x90 } + - { offsetInCU: 0x4011, offset: 0x47CC5, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVIegn_ACytIegnr_TRTA', symObjAddr: 0x3620, symBinAddr: 0x145C0, symSize: 0x20 } + - { offsetInCU: 0x4041, offset: 0x47CF5, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVAA6PlayerCs5Error_pIegHngzo_AcEytsAF_pIegHnnrzo_TRTA', symObjAddr: 0x3640, symBinAddr: 0x145E0, symSize: 0x90 } + - { offsetInCU: 0x4071, offset: 0x47D25, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameCIegHg_ACytIegHnr_TRTA', symObjAddr: 0x36D0, symBinAddr: 0x14670, symSize: 0x80 } + - { offsetInCU: 0x40A1, offset: 0x47D55, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameCIegHg_ACytIegHnr_TRTATQ0_', symObjAddr: 0x3750, symBinAddr: 0x146F0, symSize: 0x50 } + - { offsetInCU: 0x40F5, offset: 0x47DA9, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVAA6ResultOAA6PlayerCSgIegnng_AceHytIegnnnr_TRTA', symObjAddr: 0x37A0, symBinAddr: 0x14740, symSize: 0x20 } + - { offsetInCU: 0x4129, offset: 0x47DDD, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVAA4MoveVAA6PlayerCIegnng_AceGytIegnnnr_TRTA', symObjAddr: 0x37C0, symBinAddr: 0x14760, symSize: 0x20 } + - { offsetInCU: 0x415D, offset: 0x47E11, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVAA4MoveVAA6PlayerCSbIegnngy_AceGSbytIegnnnnr_TRTA', symObjAddr: 0x37E0, symBinAddr: 0x14780, symSize: 0x20 } + - { offsetInCU: 0x4191, offset: 0x47E45, size: 0x8, addend: 0x0, symName: '_$sS2i14DouShouQiModel5PieceVIegyyn_S2iACytIegnnnr_TRTA', symObjAddr: 0x3800, symBinAddr: 0x147A0, symSize: 0x20 } + - { offsetInCU: 0x41BA, offset: 0x47E6E, size: 0x8, addend: 0x0, symName: ___swift_mutable_project_boxed_opaque_existential_1, symObjAddr: 0x3820, symBinAddr: 0x147C0, symSize: 0x30 } + - { offsetInCU: 0x41CE, offset: 0x47E82, size: 0x8, addend: 0x0, symName: ___swift_assign_boxed_opaque_existential_1, symObjAddr: 0x3BF0, symBinAddr: 0x14B90, symSize: 0x130 } +... diff --git a/NEPASTOUCHER/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/DouShouQiModel b/NEPASTOUCHER/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/DouShouQiModel new file mode 120000 index 0000000..4c7f364 --- /dev/null +++ b/NEPASTOUCHER/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/DouShouQiModel @@ -0,0 +1 @@ +Versions/Current/DouShouQiModel \ No newline at end of file diff --git a/NEPASTOUCHER/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Headers b/NEPASTOUCHER/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Headers new file mode 120000 index 0000000..a177d2a --- /dev/null +++ b/NEPASTOUCHER/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Headers @@ -0,0 +1 @@ +Versions/Current/Headers \ No newline at end of file diff --git a/NEPASTOUCHER/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Modules b/NEPASTOUCHER/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Modules new file mode 120000 index 0000000..5736f31 --- /dev/null +++ b/NEPASTOUCHER/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Modules @@ -0,0 +1 @@ +Versions/Current/Modules \ No newline at end of file diff --git a/NEPASTOUCHER/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Resources b/NEPASTOUCHER/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Resources new file mode 120000 index 0000000..953ee36 --- /dev/null +++ b/NEPASTOUCHER/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Resources @@ -0,0 +1 @@ +Versions/Current/Resources \ No newline at end of file diff --git a/NEPASTOUCHER/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Versions/A/DouShouQiModel b/NEPASTOUCHER/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Versions/A/DouShouQiModel new file mode 100755 index 0000000..fecd509 Binary files /dev/null and b/NEPASTOUCHER/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Versions/A/DouShouQiModel differ diff --git a/NEPASTOUCHER/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Versions/A/Headers/DouShouQiModel-Swift.h b/NEPASTOUCHER/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Versions/A/Headers/DouShouQiModel-Swift.h new file mode 100644 index 0000000..5e14e79 --- /dev/null +++ b/NEPASTOUCHER/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Versions/A/Headers/DouShouQiModel-Swift.h @@ -0,0 +1,618 @@ +#if 0 +#elif defined(__arm64__) && __arm64__ +// Generated by Apple Swift version 5.9.2 (swiftlang-5.9.2.2.56 clang-1500.1.0.2.5) +#ifndef DOUSHOUQIMODEL_SWIFT_H +#define DOUSHOUQIMODEL_SWIFT_H +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wgcc-compat" + +#if !defined(__has_include) +# define __has_include(x) 0 +#endif +#if !defined(__has_attribute) +# define __has_attribute(x) 0 +#endif +#if !defined(__has_feature) +# define __has_feature(x) 0 +#endif +#if !defined(__has_warning) +# define __has_warning(x) 0 +#endif + +#if __has_include() +# include +#endif + +#pragma clang diagnostic ignored "-Wauto-import" +#if defined(__OBJC__) +#include +#endif +#if defined(__cplusplus) +#include +#include +#include +#include +#include +#include +#include +#else +#include +#include +#include +#include +#endif +#if defined(__cplusplus) +#if defined(__arm64e__) && __has_include() +# include +#else +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wreserved-macro-identifier" +# ifndef __ptrauth_swift_value_witness_function_pointer +# define __ptrauth_swift_value_witness_function_pointer(x) +# endif +# ifndef __ptrauth_swift_class_method_pointer +# define __ptrauth_swift_class_method_pointer(x) +# endif +#pragma clang diagnostic pop +#endif +#endif + +#if !defined(SWIFT_TYPEDEFS) +# define SWIFT_TYPEDEFS 1 +# if __has_include() +# include +# elif !defined(__cplusplus) +typedef uint_least16_t char16_t; +typedef uint_least32_t char32_t; +# endif +typedef float swift_float2 __attribute__((__ext_vector_type__(2))); +typedef float swift_float3 __attribute__((__ext_vector_type__(3))); +typedef float swift_float4 __attribute__((__ext_vector_type__(4))); +typedef double swift_double2 __attribute__((__ext_vector_type__(2))); +typedef double swift_double3 __attribute__((__ext_vector_type__(3))); +typedef double swift_double4 __attribute__((__ext_vector_type__(4))); +typedef int swift_int2 __attribute__((__ext_vector_type__(2))); +typedef int swift_int3 __attribute__((__ext_vector_type__(3))); +typedef int swift_int4 __attribute__((__ext_vector_type__(4))); +typedef unsigned int swift_uint2 __attribute__((__ext_vector_type__(2))); +typedef unsigned int swift_uint3 __attribute__((__ext_vector_type__(3))); +typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4))); +#endif + +#if !defined(SWIFT_PASTE) +# define SWIFT_PASTE_HELPER(x, y) x##y +# define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y) +#endif +#if !defined(SWIFT_METATYPE) +# define SWIFT_METATYPE(X) Class +#endif +#if !defined(SWIFT_CLASS_PROPERTY) +# if __has_feature(objc_class_property) +# define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__ +# else +# define SWIFT_CLASS_PROPERTY(...) +# endif +#endif +#if !defined(SWIFT_RUNTIME_NAME) +# if __has_attribute(objc_runtime_name) +# define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X))) +# else +# define SWIFT_RUNTIME_NAME(X) +# endif +#endif +#if !defined(SWIFT_COMPILE_NAME) +# if __has_attribute(swift_name) +# define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X))) +# else +# define SWIFT_COMPILE_NAME(X) +# endif +#endif +#if !defined(SWIFT_METHOD_FAMILY) +# if __has_attribute(objc_method_family) +# define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X))) +# else +# define SWIFT_METHOD_FAMILY(X) +# endif +#endif +#if !defined(SWIFT_NOESCAPE) +# if __has_attribute(noescape) +# define SWIFT_NOESCAPE __attribute__((noescape)) +# else +# define SWIFT_NOESCAPE +# endif +#endif +#if !defined(SWIFT_RELEASES_ARGUMENT) +# if __has_attribute(ns_consumed) +# define SWIFT_RELEASES_ARGUMENT __attribute__((ns_consumed)) +# else +# define SWIFT_RELEASES_ARGUMENT +# endif +#endif +#if !defined(SWIFT_WARN_UNUSED_RESULT) +# if __has_attribute(warn_unused_result) +# define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result)) +# else +# define SWIFT_WARN_UNUSED_RESULT +# endif +#endif +#if !defined(SWIFT_NORETURN) +# if __has_attribute(noreturn) +# define SWIFT_NORETURN __attribute__((noreturn)) +# else +# define SWIFT_NORETURN +# endif +#endif +#if !defined(SWIFT_CLASS_EXTRA) +# define SWIFT_CLASS_EXTRA +#endif +#if !defined(SWIFT_PROTOCOL_EXTRA) +# define SWIFT_PROTOCOL_EXTRA +#endif +#if !defined(SWIFT_ENUM_EXTRA) +# define SWIFT_ENUM_EXTRA +#endif +#if !defined(SWIFT_CLASS) +# if __has_attribute(objc_subclassing_restricted) +# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA +# define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA +# else +# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA +# define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA +# endif +#endif +#if !defined(SWIFT_RESILIENT_CLASS) +# if __has_attribute(objc_class_stub) +# define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) __attribute__((objc_class_stub)) +# define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_class_stub)) SWIFT_CLASS_NAMED(SWIFT_NAME) +# else +# define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) +# define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) SWIFT_CLASS_NAMED(SWIFT_NAME) +# endif +#endif +#if !defined(SWIFT_PROTOCOL) +# define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA +# define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA +#endif +#if !defined(SWIFT_EXTENSION) +# define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__) +#endif +#if !defined(OBJC_DESIGNATED_INITIALIZER) +# if __has_attribute(objc_designated_initializer) +# define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer)) +# else +# define OBJC_DESIGNATED_INITIALIZER +# endif +#endif +#if !defined(SWIFT_ENUM_ATTR) +# if __has_attribute(enum_extensibility) +# define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility))) +# else +# define SWIFT_ENUM_ATTR(_extensibility) +# endif +#endif +#if !defined(SWIFT_ENUM) +# define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type +# if __has_feature(generalized_swift_name) +# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type +# else +# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility) +# endif +#endif +#if !defined(SWIFT_UNAVAILABLE) +# define SWIFT_UNAVAILABLE __attribute__((unavailable)) +#endif +#if !defined(SWIFT_UNAVAILABLE_MSG) +# define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg))) +#endif +#if !defined(SWIFT_AVAILABILITY) +# define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__))) +#endif +#if !defined(SWIFT_WEAK_IMPORT) +# define SWIFT_WEAK_IMPORT __attribute__((weak_import)) +#endif +#if !defined(SWIFT_DEPRECATED) +# define SWIFT_DEPRECATED __attribute__((deprecated)) +#endif +#if !defined(SWIFT_DEPRECATED_MSG) +# define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__))) +#endif +#if !defined(SWIFT_DEPRECATED_OBJC) +# if __has_feature(attribute_diagnose_if_objc) +# define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning"))) +# else +# define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg) +# endif +#endif +#if defined(__OBJC__) +#if !defined(IBSegueAction) +# define IBSegueAction +#endif +#endif +#if !defined(SWIFT_EXTERN) +# if defined(__cplusplus) +# define SWIFT_EXTERN extern "C" +# else +# define SWIFT_EXTERN extern +# endif +#endif +#if !defined(SWIFT_CALL) +# define SWIFT_CALL __attribute__((swiftcall)) +#endif +#if !defined(SWIFT_INDIRECT_RESULT) +# define SWIFT_INDIRECT_RESULT __attribute__((swift_indirect_result)) +#endif +#if !defined(SWIFT_CONTEXT) +# define SWIFT_CONTEXT __attribute__((swift_context)) +#endif +#if !defined(SWIFT_ERROR_RESULT) +# define SWIFT_ERROR_RESULT __attribute__((swift_error_result)) +#endif +#if defined(__cplusplus) +# define SWIFT_NOEXCEPT noexcept +#else +# define SWIFT_NOEXCEPT +#endif +#if !defined(SWIFT_C_INLINE_THUNK) +# if __has_attribute(always_inline) +# if __has_attribute(nodebug) +# define SWIFT_C_INLINE_THUNK inline __attribute__((always_inline)) __attribute__((nodebug)) +# else +# define SWIFT_C_INLINE_THUNK inline __attribute__((always_inline)) +# endif +# else +# define SWIFT_C_INLINE_THUNK inline +# endif +#endif +#if defined(_WIN32) +#if !defined(SWIFT_IMPORT_STDLIB_SYMBOL) +# define SWIFT_IMPORT_STDLIB_SYMBOL __declspec(dllimport) +#endif +#else +#if !defined(SWIFT_IMPORT_STDLIB_SYMBOL) +# define SWIFT_IMPORT_STDLIB_SYMBOL +#endif +#endif +#if defined(__OBJC__) +#if __has_feature(objc_modules) +#if __has_warning("-Watimport-in-framework-header") +#pragma clang diagnostic ignored "-Watimport-in-framework-header" +#endif +#endif + +#endif +#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch" +#pragma clang diagnostic ignored "-Wduplicate-method-arg" +#if __has_warning("-Wpragma-clang-attribute") +# pragma clang diagnostic ignored "-Wpragma-clang-attribute" +#endif +#pragma clang diagnostic ignored "-Wunknown-pragmas" +#pragma clang diagnostic ignored "-Wnullability" +#pragma clang diagnostic ignored "-Wdollar-in-identifier-extension" + +#if __has_attribute(external_source_symbol) +# pragma push_macro("any") +# undef any +# pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="DouShouQiModel",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol)) +# pragma pop_macro("any") +#endif + +#if defined(__OBJC__) +#endif +#if __has_attribute(external_source_symbol) +# pragma clang attribute pop +#endif +#if defined(__cplusplus) +#endif +#pragma clang diagnostic pop +#endif + +#elif defined(__x86_64__) && __x86_64__ +// Generated by Apple Swift version 5.9.2 (swiftlang-5.9.2.2.56 clang-1500.1.0.2.5) +#ifndef DOUSHOUQIMODEL_SWIFT_H +#define DOUSHOUQIMODEL_SWIFT_H +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wgcc-compat" + +#if !defined(__has_include) +# define __has_include(x) 0 +#endif +#if !defined(__has_attribute) +# define __has_attribute(x) 0 +#endif +#if !defined(__has_feature) +# define __has_feature(x) 0 +#endif +#if !defined(__has_warning) +# define __has_warning(x) 0 +#endif + +#if __has_include() +# include +#endif + +#pragma clang diagnostic ignored "-Wauto-import" +#if defined(__OBJC__) +#include +#endif +#if defined(__cplusplus) +#include +#include +#include +#include +#include +#include +#include +#else +#include +#include +#include +#include +#endif +#if defined(__cplusplus) +#if defined(__arm64e__) && __has_include() +# include +#else +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wreserved-macro-identifier" +# ifndef __ptrauth_swift_value_witness_function_pointer +# define __ptrauth_swift_value_witness_function_pointer(x) +# endif +# ifndef __ptrauth_swift_class_method_pointer +# define __ptrauth_swift_class_method_pointer(x) +# endif +#pragma clang diagnostic pop +#endif +#endif + +#if !defined(SWIFT_TYPEDEFS) +# define SWIFT_TYPEDEFS 1 +# if __has_include() +# include +# elif !defined(__cplusplus) +typedef uint_least16_t char16_t; +typedef uint_least32_t char32_t; +# endif +typedef float swift_float2 __attribute__((__ext_vector_type__(2))); +typedef float swift_float3 __attribute__((__ext_vector_type__(3))); +typedef float swift_float4 __attribute__((__ext_vector_type__(4))); +typedef double swift_double2 __attribute__((__ext_vector_type__(2))); +typedef double swift_double3 __attribute__((__ext_vector_type__(3))); +typedef double swift_double4 __attribute__((__ext_vector_type__(4))); +typedef int swift_int2 __attribute__((__ext_vector_type__(2))); +typedef int swift_int3 __attribute__((__ext_vector_type__(3))); +typedef int swift_int4 __attribute__((__ext_vector_type__(4))); +typedef unsigned int swift_uint2 __attribute__((__ext_vector_type__(2))); +typedef unsigned int swift_uint3 __attribute__((__ext_vector_type__(3))); +typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4))); +#endif + +#if !defined(SWIFT_PASTE) +# define SWIFT_PASTE_HELPER(x, y) x##y +# define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y) +#endif +#if !defined(SWIFT_METATYPE) +# define SWIFT_METATYPE(X) Class +#endif +#if !defined(SWIFT_CLASS_PROPERTY) +# if __has_feature(objc_class_property) +# define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__ +# else +# define SWIFT_CLASS_PROPERTY(...) +# endif +#endif +#if !defined(SWIFT_RUNTIME_NAME) +# if __has_attribute(objc_runtime_name) +# define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X))) +# else +# define SWIFT_RUNTIME_NAME(X) +# endif +#endif +#if !defined(SWIFT_COMPILE_NAME) +# if __has_attribute(swift_name) +# define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X))) +# else +# define SWIFT_COMPILE_NAME(X) +# endif +#endif +#if !defined(SWIFT_METHOD_FAMILY) +# if __has_attribute(objc_method_family) +# define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X))) +# else +# define SWIFT_METHOD_FAMILY(X) +# endif +#endif +#if !defined(SWIFT_NOESCAPE) +# if __has_attribute(noescape) +# define SWIFT_NOESCAPE __attribute__((noescape)) +# else +# define SWIFT_NOESCAPE +# endif +#endif +#if !defined(SWIFT_RELEASES_ARGUMENT) +# if __has_attribute(ns_consumed) +# define SWIFT_RELEASES_ARGUMENT __attribute__((ns_consumed)) +# else +# define SWIFT_RELEASES_ARGUMENT +# endif +#endif +#if !defined(SWIFT_WARN_UNUSED_RESULT) +# if __has_attribute(warn_unused_result) +# define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result)) +# else +# define SWIFT_WARN_UNUSED_RESULT +# endif +#endif +#if !defined(SWIFT_NORETURN) +# if __has_attribute(noreturn) +# define SWIFT_NORETURN __attribute__((noreturn)) +# else +# define SWIFT_NORETURN +# endif +#endif +#if !defined(SWIFT_CLASS_EXTRA) +# define SWIFT_CLASS_EXTRA +#endif +#if !defined(SWIFT_PROTOCOL_EXTRA) +# define SWIFT_PROTOCOL_EXTRA +#endif +#if !defined(SWIFT_ENUM_EXTRA) +# define SWIFT_ENUM_EXTRA +#endif +#if !defined(SWIFT_CLASS) +# if __has_attribute(objc_subclassing_restricted) +# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA +# define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA +# else +# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA +# define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA +# endif +#endif +#if !defined(SWIFT_RESILIENT_CLASS) +# if __has_attribute(objc_class_stub) +# define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) __attribute__((objc_class_stub)) +# define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_class_stub)) SWIFT_CLASS_NAMED(SWIFT_NAME) +# else +# define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) +# define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) SWIFT_CLASS_NAMED(SWIFT_NAME) +# endif +#endif +#if !defined(SWIFT_PROTOCOL) +# define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA +# define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA +#endif +#if !defined(SWIFT_EXTENSION) +# define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__) +#endif +#if !defined(OBJC_DESIGNATED_INITIALIZER) +# if __has_attribute(objc_designated_initializer) +# define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer)) +# else +# define OBJC_DESIGNATED_INITIALIZER +# endif +#endif +#if !defined(SWIFT_ENUM_ATTR) +# if __has_attribute(enum_extensibility) +# define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility))) +# else +# define SWIFT_ENUM_ATTR(_extensibility) +# endif +#endif +#if !defined(SWIFT_ENUM) +# define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type +# if __has_feature(generalized_swift_name) +# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type +# else +# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility) +# endif +#endif +#if !defined(SWIFT_UNAVAILABLE) +# define SWIFT_UNAVAILABLE __attribute__((unavailable)) +#endif +#if !defined(SWIFT_UNAVAILABLE_MSG) +# define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg))) +#endif +#if !defined(SWIFT_AVAILABILITY) +# define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__))) +#endif +#if !defined(SWIFT_WEAK_IMPORT) +# define SWIFT_WEAK_IMPORT __attribute__((weak_import)) +#endif +#if !defined(SWIFT_DEPRECATED) +# define SWIFT_DEPRECATED __attribute__((deprecated)) +#endif +#if !defined(SWIFT_DEPRECATED_MSG) +# define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__))) +#endif +#if !defined(SWIFT_DEPRECATED_OBJC) +# if __has_feature(attribute_diagnose_if_objc) +# define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning"))) +# else +# define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg) +# endif +#endif +#if defined(__OBJC__) +#if !defined(IBSegueAction) +# define IBSegueAction +#endif +#endif +#if !defined(SWIFT_EXTERN) +# if defined(__cplusplus) +# define SWIFT_EXTERN extern "C" +# else +# define SWIFT_EXTERN extern +# endif +#endif +#if !defined(SWIFT_CALL) +# define SWIFT_CALL __attribute__((swiftcall)) +#endif +#if !defined(SWIFT_INDIRECT_RESULT) +# define SWIFT_INDIRECT_RESULT __attribute__((swift_indirect_result)) +#endif +#if !defined(SWIFT_CONTEXT) +# define SWIFT_CONTEXT __attribute__((swift_context)) +#endif +#if !defined(SWIFT_ERROR_RESULT) +# define SWIFT_ERROR_RESULT __attribute__((swift_error_result)) +#endif +#if defined(__cplusplus) +# define SWIFT_NOEXCEPT noexcept +#else +# define SWIFT_NOEXCEPT +#endif +#if !defined(SWIFT_C_INLINE_THUNK) +# if __has_attribute(always_inline) +# if __has_attribute(nodebug) +# define SWIFT_C_INLINE_THUNK inline __attribute__((always_inline)) __attribute__((nodebug)) +# else +# define SWIFT_C_INLINE_THUNK inline __attribute__((always_inline)) +# endif +# else +# define SWIFT_C_INLINE_THUNK inline +# endif +#endif +#if defined(_WIN32) +#if !defined(SWIFT_IMPORT_STDLIB_SYMBOL) +# define SWIFT_IMPORT_STDLIB_SYMBOL __declspec(dllimport) +#endif +#else +#if !defined(SWIFT_IMPORT_STDLIB_SYMBOL) +# define SWIFT_IMPORT_STDLIB_SYMBOL +#endif +#endif +#if defined(__OBJC__) +#if __has_feature(objc_modules) +#if __has_warning("-Watimport-in-framework-header") +#pragma clang diagnostic ignored "-Watimport-in-framework-header" +#endif +#endif + +#endif +#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch" +#pragma clang diagnostic ignored "-Wduplicate-method-arg" +#if __has_warning("-Wpragma-clang-attribute") +# pragma clang diagnostic ignored "-Wpragma-clang-attribute" +#endif +#pragma clang diagnostic ignored "-Wunknown-pragmas" +#pragma clang diagnostic ignored "-Wnullability" +#pragma clang diagnostic ignored "-Wdollar-in-identifier-extension" + +#if __has_attribute(external_source_symbol) +# pragma push_macro("any") +# undef any +# pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="DouShouQiModel",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol)) +# pragma pop_macro("any") +#endif + +#if defined(__OBJC__) +#endif +#if __has_attribute(external_source_symbol) +# pragma clang attribute pop +#endif +#if defined(__cplusplus) +#endif +#pragma clang diagnostic pop +#endif + +#else +#error unsupported Swift architecture +#endif diff --git a/NEPASTOUCHER/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Versions/A/Headers/DouShouQiModel.h b/NEPASTOUCHER/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Versions/A/Headers/DouShouQiModel.h new file mode 100644 index 0000000..5bbf06a --- /dev/null +++ b/NEPASTOUCHER/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Versions/A/Headers/DouShouQiModel.h @@ -0,0 +1,18 @@ +// +// DouShouQiModel.h +// DouShouQiModel +// +// Created by Marc Chevaldonné on 14/05/2024. +// + +#import + +//! Project version number for DouShouQiModel. +FOUNDATION_EXPORT double DouShouQiModelVersionNumber; + +//! Project version string for DouShouQiModel. +FOUNDATION_EXPORT const unsigned char DouShouQiModelVersionString[]; + +// In this header, you should import all the public headers of your framework using statements like #import + + diff --git a/NEPASTOUCHER/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Versions/A/Modules/DouShouQiModel.swiftmodule/arm64-apple-macos.abi.json b/NEPASTOUCHER/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Versions/A/Modules/DouShouQiModel.swiftmodule/arm64-apple-macos.abi.json new file mode 100644 index 0000000..c28e9fd --- /dev/null +++ b/NEPASTOUCHER/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Versions/A/Modules/DouShouQiModel.swiftmodule/arm64-apple-macos.abi.json @@ -0,0 +1,8546 @@ +{ + "ABIRoot": { + "kind": "Root", + "name": "TopLevel", + "printedName": "TopLevel", + "children": [ + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel" + }, + { + "kind": "TypeDecl", + "name": "Result", + "printedName": "Result", + "children": [ + { + "kind": "Var", + "name": "notFinished", + "printedName": "notFinished", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Result.Type) -> DouShouQiModel.Result", + "children": [ + { + "kind": "TypeNominal", + "name": "Result", + "printedName": "DouShouQiModel.Result", + "usr": "s:14DouShouQiModel6ResultO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.Result.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "Result", + "printedName": "DouShouQiModel.Result", + "usr": "s:14DouShouQiModel6ResultO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel6ResultO11notFinishedyA2CmF", + "mangledName": "$s14DouShouQiModel6ResultO11notFinishedyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "even", + "printedName": "even", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Result.Type) -> DouShouQiModel.Result", + "children": [ + { + "kind": "TypeNominal", + "name": "Result", + "printedName": "DouShouQiModel.Result", + "usr": "s:14DouShouQiModel6ResultO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.Result.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "Result", + "printedName": "DouShouQiModel.Result", + "usr": "s:14DouShouQiModel6ResultO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel6ResultO4evenyA2CmF", + "mangledName": "$s14DouShouQiModel6ResultO4evenyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "winner", + "printedName": "winner", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Result.Type) -> (DouShouQiModel.Owner, DouShouQiModel.WinningReason) -> DouShouQiModel.Result", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Owner, DouShouQiModel.WinningReason) -> DouShouQiModel.Result", + "children": [ + { + "kind": "TypeNominal", + "name": "Result", + "printedName": "DouShouQiModel.Result", + "usr": "s:14DouShouQiModel6ResultO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(winner: DouShouQiModel.Owner, reason: DouShouQiModel.WinningReason)", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + }, + { + "kind": "TypeNominal", + "name": "WinningReason", + "printedName": "DouShouQiModel.WinningReason", + "usr": "s:14DouShouQiModel13WinningReasonO" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.Result.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "Result", + "printedName": "DouShouQiModel.Result", + "usr": "s:14DouShouQiModel6ResultO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel6ResultO6winneryAcA5OwnerO_AA13WinningReasonOtcACmF", + "mangledName": "$s14DouShouQiModel6ResultO6winneryAcA5OwnerO_AA13WinningReasonOtcACmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Result", + "printedName": "DouShouQiModel.Result", + "usr": "s:14DouShouQiModel6ResultO" + }, + { + "kind": "TypeNominal", + "name": "Result", + "printedName": "DouShouQiModel.Result", + "usr": "s:14DouShouQiModel6ResultO" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel6ResultO2eeoiySbAC_ACtFZ", + "mangledName": "$s14DouShouQiModel6ResultO2eeoiySbAC_ACtFZ", + "moduleName": "DouShouQiModel", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Enum", + "usr": "s:14DouShouQiModel6ResultO", + "mangledName": "$s14DouShouQiModel6ResultO", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + } + ] + }, + { + "kind": "TypeDecl", + "name": "WinningReason", + "printedName": "WinningReason", + "children": [ + { + "kind": "Var", + "name": "denReached", + "printedName": "denReached", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.WinningReason.Type) -> DouShouQiModel.WinningReason", + "children": [ + { + "kind": "TypeNominal", + "name": "WinningReason", + "printedName": "DouShouQiModel.WinningReason", + "usr": "s:14DouShouQiModel13WinningReasonO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.WinningReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "WinningReason", + "printedName": "DouShouQiModel.WinningReason", + "usr": "s:14DouShouQiModel13WinningReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel13WinningReasonO10denReachedyA2CmF", + "mangledName": "$s14DouShouQiModel13WinningReasonO10denReachedyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "noMorePieces", + "printedName": "noMorePieces", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.WinningReason.Type) -> DouShouQiModel.WinningReason", + "children": [ + { + "kind": "TypeNominal", + "name": "WinningReason", + "printedName": "DouShouQiModel.WinningReason", + "usr": "s:14DouShouQiModel13WinningReasonO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.WinningReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "WinningReason", + "printedName": "DouShouQiModel.WinningReason", + "usr": "s:14DouShouQiModel13WinningReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel13WinningReasonO12noMorePiecesyA2CmF", + "mangledName": "$s14DouShouQiModel13WinningReasonO12noMorePiecesyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "tooManyOccurences", + "printedName": "tooManyOccurences", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.WinningReason.Type) -> DouShouQiModel.WinningReason", + "children": [ + { + "kind": "TypeNominal", + "name": "WinningReason", + "printedName": "DouShouQiModel.WinningReason", + "usr": "s:14DouShouQiModel13WinningReasonO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.WinningReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "WinningReason", + "printedName": "DouShouQiModel.WinningReason", + "usr": "s:14DouShouQiModel13WinningReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel13WinningReasonO17tooManyOccurencesyA2CmF", + "mangledName": "$s14DouShouQiModel13WinningReasonO17tooManyOccurencesyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "noMovesLeft", + "printedName": "noMovesLeft", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.WinningReason.Type) -> DouShouQiModel.WinningReason", + "children": [ + { + "kind": "TypeNominal", + "name": "WinningReason", + "printedName": "DouShouQiModel.WinningReason", + "usr": "s:14DouShouQiModel13WinningReasonO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.WinningReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "WinningReason", + "printedName": "DouShouQiModel.WinningReason", + "usr": "s:14DouShouQiModel13WinningReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel13WinningReasonO11noMovesLeftyA2CmF", + "mangledName": "$s14DouShouQiModel13WinningReasonO11noMovesLeftyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "WinningReason", + "printedName": "DouShouQiModel.WinningReason", + "usr": "s:14DouShouQiModel13WinningReasonO" + }, + { + "kind": "TypeNominal", + "name": "WinningReason", + "printedName": "DouShouQiModel.WinningReason", + "usr": "s:14DouShouQiModel13WinningReasonO" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel13WinningReasonO2eeoiySbAC_ACtFZ", + "mangledName": "$s14DouShouQiModel13WinningReasonO2eeoiySbAC_ACtFZ", + "moduleName": "DouShouQiModel", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel13WinningReasonO9hashValueSivp", + "mangledName": "$s14DouShouQiModel13WinningReasonO9hashValueSivp", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel13WinningReasonO9hashValueSivg", + "mangledName": "$s14DouShouQiModel13WinningReasonO9hashValueSivg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel13WinningReasonO4hash4intoys6HasherVz_tF", + "mangledName": "$s14DouShouQiModel13WinningReasonO4hash4intoys6HasherVz_tF", + "moduleName": "DouShouQiModel", + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Enum", + "usr": "s:14DouShouQiModel13WinningReasonO", + "mangledName": "$s14DouShouQiModel13WinningReasonO", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel" + }, + { + "kind": "TypeDecl", + "name": "BoardResult", + "printedName": "BoardResult", + "children": [ + { + "kind": "Var", + "name": "unknown", + "printedName": "unknown", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.BoardResult.Type) -> DouShouQiModel.BoardResult", + "children": [ + { + "kind": "TypeNominal", + "name": "BoardResult", + "printedName": "DouShouQiModel.BoardResult", + "usr": "s:14DouShouQiModel11BoardResultO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.BoardResult.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "BoardResult", + "printedName": "DouShouQiModel.BoardResult", + "usr": "s:14DouShouQiModel11BoardResultO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel11BoardResultO7unknownyA2CmF", + "mangledName": "$s14DouShouQiModel11BoardResultO7unknownyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "ok", + "printedName": "ok", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.BoardResult.Type) -> (DouShouQiModel.Piece?) -> DouShouQiModel.BoardResult", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Piece?) -> DouShouQiModel.BoardResult", + "children": [ + { + "kind": "TypeNominal", + "name": "BoardResult", + "printedName": "DouShouQiModel.BoardResult", + "usr": "s:14DouShouQiModel11BoardResultO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(piece: DouShouQiModel.Piece?)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.Piece?", + "children": [ + { + "kind": "TypeNominal", + "name": "Piece", + "printedName": "DouShouQiModel.Piece", + "usr": "s:14DouShouQiModel5PieceV" + } + ], + "usr": "s:Sq" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.BoardResult.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "BoardResult", + "printedName": "DouShouQiModel.BoardResult", + "usr": "s:14DouShouQiModel11BoardResultO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel11BoardResultO2okyAcA5PieceVSg_tcACmF", + "mangledName": "$s14DouShouQiModel11BoardResultO2okyAcA5PieceVSg_tcACmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "failed", + "printedName": "failed", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.BoardResult.Type) -> (DouShouQiModel.BoardFailingReason) -> DouShouQiModel.BoardResult", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.BoardFailingReason) -> DouShouQiModel.BoardResult", + "children": [ + { + "kind": "TypeNominal", + "name": "BoardResult", + "printedName": "DouShouQiModel.BoardResult", + "usr": "s:14DouShouQiModel11BoardResultO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(reason: DouShouQiModel.BoardFailingReason)", + "children": [ + { + "kind": "TypeNominal", + "name": "BoardFailingReason", + "printedName": "DouShouQiModel.BoardFailingReason", + "usr": "s:14DouShouQiModel18BoardFailingReasonO" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.BoardResult.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "BoardResult", + "printedName": "DouShouQiModel.BoardResult", + "usr": "s:14DouShouQiModel11BoardResultO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel11BoardResultO6failedyAcA0E13FailingReasonO_tcACmF", + "mangledName": "$s14DouShouQiModel11BoardResultO6failedyAcA0E13FailingReasonO_tcACmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "BoardResult", + "printedName": "DouShouQiModel.BoardResult", + "usr": "s:14DouShouQiModel11BoardResultO" + }, + { + "kind": "TypeNominal", + "name": "BoardResult", + "printedName": "DouShouQiModel.BoardResult", + "usr": "s:14DouShouQiModel11BoardResultO" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel11BoardResultO2eeoiySbAC_ACtFZ", + "mangledName": "$s14DouShouQiModel11BoardResultO2eeoiySbAC_ACtFZ", + "moduleName": "DouShouQiModel", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Enum", + "usr": "s:14DouShouQiModel11BoardResultO", + "mangledName": "$s14DouShouQiModel11BoardResultO", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + } + ] + }, + { + "kind": "TypeDecl", + "name": "BoardFailingReason", + "printedName": "BoardFailingReason", + "children": [ + { + "kind": "Var", + "name": "unknown", + "printedName": "unknown", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.BoardFailingReason.Type) -> DouShouQiModel.BoardFailingReason", + "children": [ + { + "kind": "TypeNominal", + "name": "BoardFailingReason", + "printedName": "DouShouQiModel.BoardFailingReason", + "usr": "s:14DouShouQiModel18BoardFailingReasonO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.BoardFailingReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "BoardFailingReason", + "printedName": "DouShouQiModel.BoardFailingReason", + "usr": "s:14DouShouQiModel18BoardFailingReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel18BoardFailingReasonO7unknownyA2CmF", + "mangledName": "$s14DouShouQiModel18BoardFailingReasonO7unknownyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "outOfBounds", + "printedName": "outOfBounds", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.BoardFailingReason.Type) -> DouShouQiModel.BoardFailingReason", + "children": [ + { + "kind": "TypeNominal", + "name": "BoardFailingReason", + "printedName": "DouShouQiModel.BoardFailingReason", + "usr": "s:14DouShouQiModel18BoardFailingReasonO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.BoardFailingReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "BoardFailingReason", + "printedName": "DouShouQiModel.BoardFailingReason", + "usr": "s:14DouShouQiModel18BoardFailingReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel18BoardFailingReasonO11outOfBoundsyA2CmF", + "mangledName": "$s14DouShouQiModel18BoardFailingReasonO11outOfBoundsyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "cellNotEmpty", + "printedName": "cellNotEmpty", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.BoardFailingReason.Type) -> DouShouQiModel.BoardFailingReason", + "children": [ + { + "kind": "TypeNominal", + "name": "BoardFailingReason", + "printedName": "DouShouQiModel.BoardFailingReason", + "usr": "s:14DouShouQiModel18BoardFailingReasonO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.BoardFailingReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "BoardFailingReason", + "printedName": "DouShouQiModel.BoardFailingReason", + "usr": "s:14DouShouQiModel18BoardFailingReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel18BoardFailingReasonO12cellNotEmptyyA2CmF", + "mangledName": "$s14DouShouQiModel18BoardFailingReasonO12cellNotEmptyyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "cellEmpty", + "printedName": "cellEmpty", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.BoardFailingReason.Type) -> DouShouQiModel.BoardFailingReason", + "children": [ + { + "kind": "TypeNominal", + "name": "BoardFailingReason", + "printedName": "DouShouQiModel.BoardFailingReason", + "usr": "s:14DouShouQiModel18BoardFailingReasonO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.BoardFailingReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "BoardFailingReason", + "printedName": "DouShouQiModel.BoardFailingReason", + "usr": "s:14DouShouQiModel18BoardFailingReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel18BoardFailingReasonO9cellEmptyyA2CmF", + "mangledName": "$s14DouShouQiModel18BoardFailingReasonO9cellEmptyyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "BoardFailingReason", + "printedName": "DouShouQiModel.BoardFailingReason", + "usr": "s:14DouShouQiModel18BoardFailingReasonO" + }, + { + "kind": "TypeNominal", + "name": "BoardFailingReason", + "printedName": "DouShouQiModel.BoardFailingReason", + "usr": "s:14DouShouQiModel18BoardFailingReasonO" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel18BoardFailingReasonO2eeoiySbAC_ACtFZ", + "mangledName": "$s14DouShouQiModel18BoardFailingReasonO2eeoiySbAC_ACtFZ", + "moduleName": "DouShouQiModel", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel18BoardFailingReasonO9hashValueSivp", + "mangledName": "$s14DouShouQiModel18BoardFailingReasonO9hashValueSivp", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel18BoardFailingReasonO9hashValueSivg", + "mangledName": "$s14DouShouQiModel18BoardFailingReasonO9hashValueSivg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel18BoardFailingReasonO4hash4intoys6HasherVz_tF", + "mangledName": "$s14DouShouQiModel18BoardFailingReasonO4hash4intoys6HasherVz_tF", + "moduleName": "DouShouQiModel", + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Enum", + "usr": "s:14DouShouQiModel18BoardFailingReasonO", + "mangledName": "$s14DouShouQiModel18BoardFailingReasonO", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel" + }, + { + "kind": "TypeDecl", + "name": "HumanPlayer", + "printedName": "HumanPlayer", + "children": [ + { + "kind": "Constructor", + "name": "init", + "printedName": "init(withName:andId:andInputMethod:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.HumanPlayer?", + "children": [ + { + "kind": "TypeNominal", + "name": "HumanPlayer", + "printedName": "DouShouQiModel.HumanPlayer", + "usr": "s:14DouShouQiModel11HumanPlayerC" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.HumanPlayer) -> DouShouQiModel.Move?", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.Move?", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "HumanPlayer", + "printedName": "DouShouQiModel.HumanPlayer", + "usr": "s:14DouShouQiModel11HumanPlayerC" + } + ] + } + ], + "declKind": "Constructor", + "usr": "s:14DouShouQiModel11HumanPlayerC8withName5andId0I11InputMethodACSgSS_AA5OwnerOAA4MoveVSgACctcfc", + "mangledName": "$s14DouShouQiModel11HumanPlayerC8withName5andId0I11InputMethodACSgSS_AA5OwnerOAA4MoveVSgACctcfc", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(withName:andId:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.HumanPlayer?", + "children": [ + { + "kind": "TypeNominal", + "name": "HumanPlayer", + "printedName": "DouShouQiModel.HumanPlayer", + "usr": "s:14DouShouQiModel11HumanPlayerC" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Constructor", + "usr": "s:14DouShouQiModel11HumanPlayerC8withName5andIdACSgSS_AA5OwnerOtcfc", + "mangledName": "$s14DouShouQiModel11HumanPlayerC8withName5andIdACSgSS_AA5OwnerOtcfc", + "moduleName": "DouShouQiModel", + "overriding": true, + "declAttributes": [ + "Override", + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "chooseMove", + "printedName": "chooseMove(in:with:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Rules", + "printedName": "DouShouQiModel.Rules", + "usr": "s:14DouShouQiModel5RulesP" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel11HumanPlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKF", + "mangledName": "$s14DouShouQiModel11HumanPlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKF", + "moduleName": "DouShouQiModel", + "overriding": true, + "declAttributes": [ + "Override", + "AccessControl" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "changeInput", + "printedName": "changeInput(input:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.HumanPlayer) -> DouShouQiModel.Move?", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.Move?", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "HumanPlayer", + "printedName": "DouShouQiModel.HumanPlayer", + "usr": "s:14DouShouQiModel11HumanPlayerC" + } + ] + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel11HumanPlayerC11changeInput5inputyAA4MoveVSgACc_tF", + "mangledName": "$s14DouShouQiModel11HumanPlayerC11changeInput5inputyAA4MoveVSgACc_tF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "chooseMove", + "printedName": "chooseMove(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.Move?", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel11HumanPlayerC10chooseMoveyyAA0H0VSgYaKF", + "mangledName": "$s14DouShouQiModel11HumanPlayerC10chooseMoveyyAA0H0VSgYaKF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:14DouShouQiModel11HumanPlayerC", + "mangledName": "$s14DouShouQiModel11HumanPlayerC", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "superclassUsr": "s:14DouShouQiModel6PlayerC", + "inheritsConvenienceInitializers": true, + "superclassNames": [ + "DouShouQiModel.Player" + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel" + }, + { + "kind": "TypeDecl", + "name": "ClassicRules", + "printedName": "ClassicRules", + "children": [ + { + "kind": "Function", + "name": "createBoard", + "printedName": "createBoard()", + "children": [ + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel12ClassicRulesV11createBoardAA0H0VyFZ", + "mangledName": "$s14DouShouQiModel12ClassicRulesV11createBoardAA0H0VyFZ", + "moduleName": "DouShouQiModel", + "static": true, + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "checkBoard", + "printedName": "checkBoard(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel12ClassicRulesV10checkBoardyyAA0H0VKFZ", + "mangledName": "$s14DouShouQiModel12ClassicRulesV10checkBoardyyAA0H0VKFZ", + "moduleName": "DouShouQiModel", + "static": true, + "declAttributes": [ + "AccessControl" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init()", + "children": [ + { + "kind": "TypeNominal", + "name": "ClassicRules", + "printedName": "DouShouQiModel.ClassicRules", + "usr": "s:14DouShouQiModel12ClassicRulesV" + } + ], + "declKind": "Constructor", + "usr": "s:14DouShouQiModel12ClassicRulesVACycfc", + "mangledName": "$s14DouShouQiModel12ClassicRulesVACycfc", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(occurences:historic:)", + "children": [ + { + "kind": "TypeNominal", + "name": "ClassicRules", + "printedName": "DouShouQiModel.ClassicRules", + "usr": "s:14DouShouQiModel12ClassicRulesV" + }, + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[DouShouQiModel.Board : Swift.Int]", + "children": [ + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:SD" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.Move]", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Constructor", + "usr": "s:14DouShouQiModel12ClassicRulesV10occurences8historicACSDyAA5BoardVSiG_SayAA4MoveVGtcfc", + "mangledName": "$s14DouShouQiModel12ClassicRulesV10occurences8historicACSDyAA5BoardVSiG_SayAA4MoveVGtcfc", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "getMoves", + "printedName": "getMoves(in:of:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.Move]", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sa" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel12ClassicRulesV8getMoves2in2ofSayAA4MoveVGAA5BoardV_AA5OwnerOtF", + "mangledName": "$s14DouShouQiModel12ClassicRulesV8getMoves2in2ofSayAA4MoveVGAA5BoardV_AA5OwnerOtF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "getMoves", + "printedName": "getMoves(in:of:fromRow:andColumn:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.Move]", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sa" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel12ClassicRulesV8getMoves2in2of7fromRow9andColumnSayAA4MoveVGAA5BoardV_AA5OwnerOS2itF", + "mangledName": "$s14DouShouQiModel12ClassicRulesV8getMoves2in2of7fromRow9andColumnSayAA4MoveVGAA5BoardV_AA5OwnerOS2itF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "isMoveValid", + "printedName": "isMoveValid(onBoard:fromRow:andFromColumn:toRow:andToColumn:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel12ClassicRulesV11isMoveValid7onBoard7fromRow13andFromColumn02toM00n2ToP0SbAA0K0V_S4itF", + "mangledName": "$s14DouShouQiModel12ClassicRulesV11isMoveValid7onBoard7fromRow13andFromColumn02toM00n2ToP0SbAA0K0V_S4itF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "isMoveValid", + "printedName": "isMoveValid(onBoard:withMove:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel12ClassicRulesV11isMoveValid7onBoard04withH0SbAA0K0V_AA0H0VtF", + "mangledName": "$s14DouShouQiModel12ClassicRulesV11isMoveValid7onBoard04withH0SbAA0K0V_AA0H0VtF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "isGameOver", + "printedName": "isGameOver(withBoard:andLastRowPlayed:andLastColumnPlayer:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(Swift.Bool, DouShouQiModel.Result)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Result", + "printedName": "DouShouQiModel.Result", + "usr": "s:14DouShouQiModel6ResultO" + } + ] + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel12ClassicRulesV10isGameOver9withBoard16andLastRowPlayed0lM12ColumnPlayerSb_AA6ResultOtAA0K0V_S2itF", + "mangledName": "$s14DouShouQiModel12ClassicRulesV10isGameOver9withBoard16andLastRowPlayed0lM12ColumnPlayerSb_AA6ResultOtAA0K0V_S2itF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "playedMove", + "printedName": "playedMove(_:onStartingBoard:andResultingBoard:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel12ClassicRulesV10playedMove_15onStartingBoard012andResultingK0yAA0H0V_AA0K0VAJtKF", + "mangledName": "$s14DouShouQiModel12ClassicRulesV10playedMove_15onStartingBoard012andResultingK0yAA0H0V_AA0K0VAJtKF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "Mutating", + "AccessControl" + ], + "throwing": true, + "funcSelfKind": "Mutating" + }, + { + "kind": "Function", + "name": "getNextPlayer", + "printedName": "getNextPlayer()", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel12ClassicRulesV13getNextPlayerAA5OwnerOyF", + "mangledName": "$s14DouShouQiModel12ClassicRulesV13getNextPlayerAA5OwnerOyF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "occurences", + "printedName": "occurences", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[DouShouQiModel.Board : Swift.Int]", + "children": [ + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel12ClassicRulesV10occurencesSDyAA5BoardVSiGvp", + "mangledName": "$s14DouShouQiModel12ClassicRulesV10occurencesSDyAA5BoardVSiGvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "SetterAccess", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[DouShouQiModel.Board : Swift.Int]", + "children": [ + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel12ClassicRulesV10occurencesSDyAA5BoardVSiGvg", + "mangledName": "$s14DouShouQiModel12ClassicRulesV10occurencesSDyAA5BoardVSiGvg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "historic", + "printedName": "historic", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.Move]", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel12ClassicRulesV8historicSayAA4MoveVGvp", + "mangledName": "$s14DouShouQiModel12ClassicRulesV8historicSayAA4MoveVGvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "SetterAccess", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.Move]", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel12ClassicRulesV8historicSayAA4MoveVGvg", + "mangledName": "$s14DouShouQiModel12ClassicRulesV8historicSayAA4MoveVGvg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Struct", + "usr": "s:14DouShouQiModel12ClassicRulesV", + "mangledName": "$s14DouShouQiModel12ClassicRulesV", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Rules", + "printedName": "Rules", + "usr": "s:14DouShouQiModel5RulesP", + "mangledName": "$s14DouShouQiModel5RulesP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel" + }, + { + "kind": "TypeDecl", + "name": "Cell", + "printedName": "Cell", + "children": [ + { + "kind": "Var", + "name": "description", + "printedName": "description", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel4CellV11descriptionSSvp", + "mangledName": "$s14DouShouQiModel4CellV11descriptionSSvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel4CellV11descriptionSSvg", + "mangledName": "$s14DouShouQiModel4CellV11descriptionSSvg", + "moduleName": "DouShouQiModel", + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "cellType", + "printedName": "cellType", + "children": [ + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel4CellV8cellTypeAA0eG0Ovp", + "mangledName": "$s14DouShouQiModel4CellV8cellTypeAA0eG0Ovp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel4CellV8cellTypeAA0eG0Ovg", + "mangledName": "$s14DouShouQiModel4CellV8cellTypeAA0eG0Ovg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "initialOwner", + "printedName": "initialOwner", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel4CellV12initialOwnerAA0G0Ovp", + "mangledName": "$s14DouShouQiModel4CellV12initialOwnerAA0G0Ovp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel4CellV12initialOwnerAA0G0Ovg", + "mangledName": "$s14DouShouQiModel4CellV12initialOwnerAA0G0Ovg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "piece", + "printedName": "piece", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.Piece?", + "children": [ + { + "kind": "TypeNominal", + "name": "Piece", + "printedName": "DouShouQiModel.Piece", + "usr": "s:14DouShouQiModel5PieceV" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel4CellV5pieceAA5PieceVSgvp", + "mangledName": "$s14DouShouQiModel4CellV5pieceAA5PieceVSgvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.Piece?", + "children": [ + { + "kind": "TypeNominal", + "name": "Piece", + "printedName": "DouShouQiModel.Piece", + "usr": "s:14DouShouQiModel5PieceV" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel4CellV5pieceAA5PieceVSgvg", + "mangledName": "$s14DouShouQiModel4CellV5pieceAA5PieceVSgvg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.Piece?", + "children": [ + { + "kind": "TypeNominal", + "name": "Piece", + "printedName": "DouShouQiModel.Piece", + "usr": "s:14DouShouQiModel5PieceV" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel4CellV5pieceAA5PieceVSgvs", + "mangledName": "$s14DouShouQiModel4CellV5pieceAA5PieceVSgvs", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel4CellV5pieceAA5PieceVSgvM", + "mangledName": "$s14DouShouQiModel4CellV5pieceAA5PieceVSgvM", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(ofType:ownedBy:withPiece:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Cell", + "printedName": "DouShouQiModel.Cell", + "usr": "s:14DouShouQiModel4CellV" + }, + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + }, + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "hasDefaultArg": true, + "usr": "s:14DouShouQiModel5OwnerO" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.Piece?", + "children": [ + { + "kind": "TypeNominal", + "name": "Piece", + "printedName": "DouShouQiModel.Piece", + "usr": "s:14DouShouQiModel5PieceV" + } + ], + "hasDefaultArg": true, + "usr": "s:Sq" + } + ], + "declKind": "Constructor", + "usr": "s:14DouShouQiModel4CellV6ofType7ownedBy9withPieceAcA0eG0O_AA5OwnerOAA0K0VSgtcfc", + "mangledName": "$s14DouShouQiModel4CellV6ofType7ownedBy9withPieceAcA0eG0O_AA5OwnerOAA0K0VSgtcfc", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Cell", + "printedName": "DouShouQiModel.Cell", + "usr": "s:14DouShouQiModel4CellV" + }, + { + "kind": "TypeNominal", + "name": "Cell", + "printedName": "DouShouQiModel.Cell", + "usr": "s:14DouShouQiModel4CellV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel4CellV2eeoiySbAC_ACtFZ", + "mangledName": "$s14DouShouQiModel4CellV2eeoiySbAC_ACtFZ", + "moduleName": "DouShouQiModel", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Struct", + "usr": "s:14DouShouQiModel4CellV", + "mangledName": "$s14DouShouQiModel4CellV", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel" + }, + { + "kind": "TypeDecl", + "name": "VerySimpleRules", + "printedName": "VerySimpleRules", + "children": [ + { + "kind": "Function", + "name": "createBoard", + "printedName": "createBoard()", + "children": [ + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel15VerySimpleRulesV11createBoardAA0I0VyFZ", + "mangledName": "$s14DouShouQiModel15VerySimpleRulesV11createBoardAA0I0VyFZ", + "moduleName": "DouShouQiModel", + "static": true, + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "checkBoard", + "printedName": "checkBoard(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel15VerySimpleRulesV10checkBoardyyAA0I0VKFZ", + "mangledName": "$s14DouShouQiModel15VerySimpleRulesV10checkBoardyyAA0I0VKFZ", + "moduleName": "DouShouQiModel", + "static": true, + "declAttributes": [ + "AccessControl" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init()", + "children": [ + { + "kind": "TypeNominal", + "name": "VerySimpleRules", + "printedName": "DouShouQiModel.VerySimpleRules", + "usr": "s:14DouShouQiModel15VerySimpleRulesV" + } + ], + "declKind": "Constructor", + "usr": "s:14DouShouQiModel15VerySimpleRulesVACycfc", + "mangledName": "$s14DouShouQiModel15VerySimpleRulesVACycfc", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(occurences:historic:)", + "children": [ + { + "kind": "TypeNominal", + "name": "VerySimpleRules", + "printedName": "DouShouQiModel.VerySimpleRules", + "usr": "s:14DouShouQiModel15VerySimpleRulesV" + }, + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[DouShouQiModel.Board : Swift.Int]", + "children": [ + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:SD" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.Move]", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Constructor", + "usr": "s:14DouShouQiModel15VerySimpleRulesV10occurences8historicACSDyAA5BoardVSiG_SayAA4MoveVGtcfc", + "mangledName": "$s14DouShouQiModel15VerySimpleRulesV10occurences8historicACSDyAA5BoardVSiG_SayAA4MoveVGtcfc", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "getMoves", + "printedName": "getMoves(in:of:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.Move]", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sa" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel15VerySimpleRulesV8getMoves2in2ofSayAA4MoveVGAA5BoardV_AA5OwnerOtF", + "mangledName": "$s14DouShouQiModel15VerySimpleRulesV8getMoves2in2ofSayAA4MoveVGAA5BoardV_AA5OwnerOtF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "getMoves", + "printedName": "getMoves(in:of:fromRow:andColumn:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.Move]", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sa" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel15VerySimpleRulesV8getMoves2in2of7fromRow9andColumnSayAA4MoveVGAA5BoardV_AA5OwnerOS2itF", + "mangledName": "$s14DouShouQiModel15VerySimpleRulesV8getMoves2in2of7fromRow9andColumnSayAA4MoveVGAA5BoardV_AA5OwnerOS2itF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "isMoveValid", + "printedName": "isMoveValid(onBoard:fromRow:andFromColumn:toRow:andToColumn:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel15VerySimpleRulesV11isMoveValid7onBoard7fromRow13andFromColumn02toN00o2ToQ0SbAA0L0V_S4itF", + "mangledName": "$s14DouShouQiModel15VerySimpleRulesV11isMoveValid7onBoard7fromRow13andFromColumn02toN00o2ToQ0SbAA0L0V_S4itF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "isMoveValid", + "printedName": "isMoveValid(onBoard:withMove:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel15VerySimpleRulesV11isMoveValid7onBoard04withI0SbAA0L0V_AA0I0VtF", + "mangledName": "$s14DouShouQiModel15VerySimpleRulesV11isMoveValid7onBoard04withI0SbAA0L0V_AA0I0VtF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "isGameOver", + "printedName": "isGameOver(withBoard:andLastRowPlayed:andLastColumnPlayer:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(Swift.Bool, DouShouQiModel.Result)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Result", + "printedName": "DouShouQiModel.Result", + "usr": "s:14DouShouQiModel6ResultO" + } + ] + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel15VerySimpleRulesV10isGameOver9withBoard16andLastRowPlayed0mN12ColumnPlayerSb_AA6ResultOtAA0L0V_S2itF", + "mangledName": "$s14DouShouQiModel15VerySimpleRulesV10isGameOver9withBoard16andLastRowPlayed0mN12ColumnPlayerSb_AA6ResultOtAA0L0V_S2itF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "playedMove", + "printedName": "playedMove(_:onStartingBoard:andResultingBoard:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel15VerySimpleRulesV10playedMove_15onStartingBoard012andResultingL0yAA0I0V_AA0L0VAJtKF", + "mangledName": "$s14DouShouQiModel15VerySimpleRulesV10playedMove_15onStartingBoard012andResultingL0yAA0I0V_AA0L0VAJtKF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "Mutating", + "AccessControl" + ], + "throwing": true, + "funcSelfKind": "Mutating" + }, + { + "kind": "Function", + "name": "getNextPlayer", + "printedName": "getNextPlayer()", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel15VerySimpleRulesV13getNextPlayerAA5OwnerOyF", + "mangledName": "$s14DouShouQiModel15VerySimpleRulesV13getNextPlayerAA5OwnerOyF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "occurences", + "printedName": "occurences", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[DouShouQiModel.Board : Swift.Int]", + "children": [ + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel15VerySimpleRulesV10occurencesSDyAA5BoardVSiGvp", + "mangledName": "$s14DouShouQiModel15VerySimpleRulesV10occurencesSDyAA5BoardVSiGvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "SetterAccess", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[DouShouQiModel.Board : Swift.Int]", + "children": [ + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel15VerySimpleRulesV10occurencesSDyAA5BoardVSiGvg", + "mangledName": "$s14DouShouQiModel15VerySimpleRulesV10occurencesSDyAA5BoardVSiGvg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "historic", + "printedName": "historic", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.Move]", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel15VerySimpleRulesV8historicSayAA4MoveVGvp", + "mangledName": "$s14DouShouQiModel15VerySimpleRulesV8historicSayAA4MoveVGvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "SetterAccess", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.Move]", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel15VerySimpleRulesV8historicSayAA4MoveVGvg", + "mangledName": "$s14DouShouQiModel15VerySimpleRulesV8historicSayAA4MoveVGvg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Struct", + "usr": "s:14DouShouQiModel15VerySimpleRulesV", + "mangledName": "$s14DouShouQiModel15VerySimpleRulesV", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Rules", + "printedName": "Rules", + "usr": "s:14DouShouQiModel5RulesP", + "mangledName": "$s14DouShouQiModel5RulesP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel" + }, + { + "kind": "TypeDecl", + "name": "Rules", + "printedName": "Rules", + "children": [ + { + "kind": "Function", + "name": "createBoard", + "printedName": "createBoard()", + "children": [ + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5RulesP11createBoardAA0G0VyFZ", + "mangledName": "$s14DouShouQiModel5RulesP11createBoardAA0G0VyFZ", + "moduleName": "DouShouQiModel", + "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", + "sugared_genericSig": "", + "static": true, + "protocolReq": true, + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "checkBoard", + "printedName": "checkBoard(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5RulesP10checkBoardyyAA0G0VKFZ", + "mangledName": "$s14DouShouQiModel5RulesP10checkBoardyyAA0G0VKFZ", + "moduleName": "DouShouQiModel", + "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", + "sugared_genericSig": "", + "static": true, + "protocolReq": true, + "throwing": true, + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "getNextPlayer", + "printedName": "getNextPlayer()", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5RulesP13getNextPlayerAA5OwnerOyF", + "mangledName": "$s14DouShouQiModel5RulesP13getNextPlayerAA5OwnerOyF", + "moduleName": "DouShouQiModel", + "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", + "sugared_genericSig": "", + "protocolReq": true, + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "getMoves", + "printedName": "getMoves(in:of:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.Move]", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sa" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5RulesP8getMoves2in2ofSayAA4MoveVGAA5BoardV_AA5OwnerOtF", + "mangledName": "$s14DouShouQiModel5RulesP8getMoves2in2ofSayAA4MoveVGAA5BoardV_AA5OwnerOtF", + "moduleName": "DouShouQiModel", + "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", + "sugared_genericSig": "", + "protocolReq": true, + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "getMoves", + "printedName": "getMoves(in:of:fromRow:andColumn:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.Move]", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sa" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5RulesP8getMoves2in2of7fromRow9andColumnSayAA4MoveVGAA5BoardV_AA5OwnerOS2itF", + "mangledName": "$s14DouShouQiModel5RulesP8getMoves2in2of7fromRow9andColumnSayAA4MoveVGAA5BoardV_AA5OwnerOS2itF", + "moduleName": "DouShouQiModel", + "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", + "sugared_genericSig": "", + "protocolReq": true, + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "isMoveValid", + "printedName": "isMoveValid(onBoard:fromRow:andFromColumn:toRow:andToColumn:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5RulesP11isMoveValid7onBoard7fromRow13andFromColumn02toL00m2ToO0SbAA0J0V_S4itF", + "mangledName": "$s14DouShouQiModel5RulesP11isMoveValid7onBoard7fromRow13andFromColumn02toL00m2ToO0SbAA0J0V_S4itF", + "moduleName": "DouShouQiModel", + "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", + "sugared_genericSig": "", + "protocolReq": true, + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "isMoveValid", + "printedName": "isMoveValid(onBoard:withMove:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5RulesP11isMoveValid7onBoard04withG0SbAA0J0V_AA0G0VtF", + "mangledName": "$s14DouShouQiModel5RulesP11isMoveValid7onBoard04withG0SbAA0J0V_AA0G0VtF", + "moduleName": "DouShouQiModel", + "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", + "sugared_genericSig": "", + "protocolReq": true, + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "isGameOver", + "printedName": "isGameOver(withBoard:andLastRowPlayed:andLastColumnPlayer:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(Swift.Bool, DouShouQiModel.Result)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Result", + "printedName": "DouShouQiModel.Result", + "usr": "s:14DouShouQiModel6ResultO" + } + ] + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5RulesP10isGameOver9withBoard16andLastRowPlayed0kL12ColumnPlayerSb_AA6ResultOtAA0J0V_S2itF", + "mangledName": "$s14DouShouQiModel5RulesP10isGameOver9withBoard16andLastRowPlayed0kL12ColumnPlayerSb_AA6ResultOtAA0J0V_S2itF", + "moduleName": "DouShouQiModel", + "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", + "sugared_genericSig": "", + "protocolReq": true, + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "playedMove", + "printedName": "playedMove(_:onStartingBoard:andResultingBoard:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5RulesP10playedMove_15onStartingBoard012andResultingJ0yAA0G0V_AA0J0VAJtKF", + "mangledName": "$s14DouShouQiModel5RulesP10playedMove_15onStartingBoard012andResultingJ0yAA0G0V_AA0J0VAJtKF", + "moduleName": "DouShouQiModel", + "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", + "sugared_genericSig": "", + "protocolReq": true, + "declAttributes": [ + "Mutating" + ], + "throwing": true, + "reqNewWitnessTableEntry": true, + "funcSelfKind": "Mutating" + }, + { + "kind": "Var", + "name": "occurences", + "printedName": "occurences", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[DouShouQiModel.Board : Swift.Int]", + "children": [ + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel5RulesP10occurencesSDyAA5BoardVSiGvp", + "mangledName": "$s14DouShouQiModel5RulesP10occurencesSDyAA5BoardVSiGvp", + "moduleName": "DouShouQiModel", + "protocolReq": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[DouShouQiModel.Board : Swift.Int]", + "children": [ + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel5RulesP10occurencesSDyAA5BoardVSiGvg", + "mangledName": "$s14DouShouQiModel5RulesP10occurencesSDyAA5BoardVSiGvg", + "moduleName": "DouShouQiModel", + "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", + "sugared_genericSig": "", + "protocolReq": true, + "reqNewWitnessTableEntry": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "historic", + "printedName": "historic", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.Move]", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel5RulesP8historicSayAA4MoveVGvp", + "mangledName": "$s14DouShouQiModel5RulesP8historicSayAA4MoveVGvp", + "moduleName": "DouShouQiModel", + "protocolReq": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.Move]", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel5RulesP8historicSayAA4MoveVGvg", + "mangledName": "$s14DouShouQiModel5RulesP8historicSayAA4MoveVGvg", + "moduleName": "DouShouQiModel", + "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", + "sugared_genericSig": "", + "protocolReq": true, + "reqNewWitnessTableEntry": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Protocol", + "usr": "s:14DouShouQiModel5RulesP", + "mangledName": "$s14DouShouQiModel5RulesP", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel" + }, + { + "kind": "TypeDecl", + "name": "Player", + "printedName": "Player", + "children": [ + { + "kind": "Var", + "name": "name", + "printedName": "name", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel6PlayerC4nameSSvp", + "mangledName": "$s14DouShouQiModel6PlayerC4nameSSvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasStorage", + "Final", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel6PlayerC4nameSSvg", + "mangledName": "$s14DouShouQiModel6PlayerC4nameSSvg", + "moduleName": "DouShouQiModel", + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "id", + "printedName": "id", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel6PlayerC2idAA5OwnerOvp", + "mangledName": "$s14DouShouQiModel6PlayerC2idAA5OwnerOvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasStorage", + "Final", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel6PlayerC2idAA5OwnerOvg", + "mangledName": "$s14DouShouQiModel6PlayerC2idAA5OwnerOvg", + "moduleName": "DouShouQiModel", + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(withName:andId:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.Player?", + "children": [ + { + "kind": "TypeNominal", + "name": "Player", + "printedName": "DouShouQiModel.Player", + "usr": "s:14DouShouQiModel6PlayerC" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Constructor", + "usr": "s:14DouShouQiModel6PlayerC8withName5andIdACSgSS_AA5OwnerOtcfc", + "mangledName": "$s14DouShouQiModel6PlayerC8withName5andIdACSgSS_AA5OwnerOtcfc", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "chooseMove", + "printedName": "chooseMove(in:with:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Rules", + "printedName": "DouShouQiModel.Rules", + "usr": "s:14DouShouQiModel5RulesP" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel6PlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKF", + "mangledName": "$s14DouShouQiModel6PlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "addPlayedCallbacksListener", + "printedName": "addPlayedCallbacksListener(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Move?, DouShouQiModel.Player) async throws -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(DouShouQiModel.Move?, DouShouQiModel.Player)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.Move?", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Player", + "printedName": "DouShouQiModel.Player", + "usr": "s:14DouShouQiModel6PlayerC" + } + ] + } + ] + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel6PlayerC26addPlayedCallbacksListeneryyyAA4MoveVSg_ACtYaKcF", + "mangledName": "$s14DouShouQiModel6PlayerC26addPlayedCallbacksListeneryyyAA4MoveVSg_ACtYaKcF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "notifyPlayed", + "printedName": "notifyPlayed(withMove:andPlayer:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.Move?", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Player", + "printedName": "DouShouQiModel.Player", + "usr": "s:14DouShouQiModel6PlayerC" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel6PlayerC12notifyPlayed8withMove03andE0yAA0I0VSg_ACtYaKF", + "mangledName": "$s14DouShouQiModel6PlayerC12notifyPlayed8withMove03andE0yAA0I0VSg_ACtYaKF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:14DouShouQiModel6PlayerC", + "mangledName": "$s14DouShouQiModel6PlayerC", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel" + }, + { + "kind": "TypeDecl", + "name": "GameError", + "printedName": "GameError", + "children": [ + { + "kind": "Var", + "name": "invalidMove", + "printedName": "invalidMove", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.GameError.Type) -> DouShouQiModel.GameError", + "children": [ + { + "kind": "TypeNominal", + "name": "GameError", + "printedName": "DouShouQiModel.GameError", + "usr": "s:14DouShouQiModel9GameErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.GameError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "GameError", + "printedName": "DouShouQiModel.GameError", + "usr": "s:14DouShouQiModel9GameErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel9GameErrorO11invalidMoveyA2CmF", + "mangledName": "$s14DouShouQiModel9GameErrorO11invalidMoveyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "nextPlayerError", + "printedName": "nextPlayerError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.GameError.Type) -> DouShouQiModel.GameError", + "children": [ + { + "kind": "TypeNominal", + "name": "GameError", + "printedName": "DouShouQiModel.GameError", + "usr": "s:14DouShouQiModel9GameErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.GameError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "GameError", + "printedName": "DouShouQiModel.GameError", + "usr": "s:14DouShouQiModel9GameErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel9GameErrorO010nextPlayerF0yA2CmF", + "mangledName": "$s14DouShouQiModel9GameErrorO010nextPlayerF0yA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "badPlayerId", + "printedName": "badPlayerId", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.GameError.Type) -> (Swift.String) -> DouShouQiModel.GameError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.String) -> DouShouQiModel.GameError", + "children": [ + { + "kind": "TypeNominal", + "name": "GameError", + "printedName": "DouShouQiModel.GameError", + "usr": "s:14DouShouQiModel9GameErrorO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(message: Swift.String)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.GameError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "GameError", + "printedName": "DouShouQiModel.GameError", + "usr": "s:14DouShouQiModel9GameErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel9GameErrorO11badPlayerIdyACSS_tcACmF", + "mangledName": "$s14DouShouQiModel9GameErrorO11badPlayerIdyACSS_tcACmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "invalidRules", + "printedName": "invalidRules", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.GameError.Type) -> DouShouQiModel.GameError", + "children": [ + { + "kind": "TypeNominal", + "name": "GameError", + "printedName": "DouShouQiModel.GameError", + "usr": "s:14DouShouQiModel9GameErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.GameError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "GameError", + "printedName": "DouShouQiModel.GameError", + "usr": "s:14DouShouQiModel9GameErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel9GameErrorO12invalidRulesyA2CmF", + "mangledName": "$s14DouShouQiModel9GameErrorO12invalidRulesyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "invalidPlayer", + "printedName": "invalidPlayer", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.GameError.Type) -> DouShouQiModel.GameError", + "children": [ + { + "kind": "TypeNominal", + "name": "GameError", + "printedName": "DouShouQiModel.GameError", + "usr": "s:14DouShouQiModel9GameErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.GameError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "GameError", + "printedName": "DouShouQiModel.GameError", + "usr": "s:14DouShouQiModel9GameErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel9GameErrorO13invalidPlayeryA2CmF", + "mangledName": "$s14DouShouQiModel9GameErrorO13invalidPlayeryA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "invalidGame", + "printedName": "invalidGame", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.GameError.Type) -> DouShouQiModel.GameError", + "children": [ + { + "kind": "TypeNominal", + "name": "GameError", + "printedName": "DouShouQiModel.GameError", + "usr": "s:14DouShouQiModel9GameErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.GameError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "GameError", + "printedName": "DouShouQiModel.GameError", + "usr": "s:14DouShouQiModel9GameErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel9GameErrorO07invalidE0yA2CmF", + "mangledName": "$s14DouShouQiModel9GameErrorO07invalidE0yA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "invalidBoard", + "printedName": "invalidBoard", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.GameError.Type) -> DouShouQiModel.GameError", + "children": [ + { + "kind": "TypeNominal", + "name": "GameError", + "printedName": "DouShouQiModel.GameError", + "usr": "s:14DouShouQiModel9GameErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.GameError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "GameError", + "printedName": "DouShouQiModel.GameError", + "usr": "s:14DouShouQiModel9GameErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel9GameErrorO12invalidBoardyA2CmF", + "mangledName": "$s14DouShouQiModel9GameErrorO12invalidBoardyA2CmF", + "moduleName": "DouShouQiModel" + } + ], + "declKind": "Enum", + "usr": "s:14DouShouQiModel9GameErrorO", + "mangledName": "$s14DouShouQiModel9GameErrorO", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Error", + "printedName": "Error", + "usr": "s:s5ErrorP", + "mangledName": "$ss5ErrorP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel" + }, + { + "kind": "TypeDecl", + "name": "RandomPlayer", + "printedName": "RandomPlayer", + "children": [ + { + "kind": "Function", + "name": "chooseMove", + "printedName": "chooseMove(in:with:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Rules", + "printedName": "DouShouQiModel.Rules", + "usr": "s:14DouShouQiModel5RulesP" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel12RandomPlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKF", + "mangledName": "$s14DouShouQiModel12RandomPlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKF", + "moduleName": "DouShouQiModel", + "overriding": true, + "declAttributes": [ + "Override", + "AccessControl" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(withName:andId:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.RandomPlayer?", + "children": [ + { + "kind": "TypeNominal", + "name": "RandomPlayer", + "printedName": "DouShouQiModel.RandomPlayer", + "usr": "s:14DouShouQiModel12RandomPlayerC" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Constructor", + "usr": "s:14DouShouQiModel12RandomPlayerC8withName5andIdACSgSS_AA5OwnerOtcfc", + "mangledName": "$s14DouShouQiModel12RandomPlayerC8withName5andIdACSgSS_AA5OwnerOtcfc", + "moduleName": "DouShouQiModel", + "overriding": true, + "implicit": true, + "declAttributes": [ + "Override" + ], + "init_kind": "Designated" + } + ], + "declKind": "Class", + "usr": "s:14DouShouQiModel12RandomPlayerC", + "mangledName": "$s14DouShouQiModel12RandomPlayerC", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "superclassUsr": "s:14DouShouQiModel8IAPlayerC", + "inheritsConvenienceInitializers": true, + "superclassNames": [ + "DouShouQiModel.IAPlayer", + "DouShouQiModel.Player" + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel" + }, + { + "kind": "TypeDecl", + "name": "CellType", + "printedName": "CellType", + "children": [ + { + "kind": "Var", + "name": "unknown", + "printedName": "unknown", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.CellType.Type) -> DouShouQiModel.CellType", + "children": [ + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.CellType.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel8CellTypeO7unknownyA2CmF", + "mangledName": "$s14DouShouQiModel8CellTypeO7unknownyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "jungle", + "printedName": "jungle", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.CellType.Type) -> DouShouQiModel.CellType", + "children": [ + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.CellType.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel8CellTypeO6jungleyA2CmF", + "mangledName": "$s14DouShouQiModel8CellTypeO6jungleyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "water", + "printedName": "water", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.CellType.Type) -> DouShouQiModel.CellType", + "children": [ + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.CellType.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel8CellTypeO5wateryA2CmF", + "mangledName": "$s14DouShouQiModel8CellTypeO5wateryA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "trap", + "printedName": "trap", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.CellType.Type) -> DouShouQiModel.CellType", + "children": [ + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.CellType.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel8CellTypeO4trapyA2CmF", + "mangledName": "$s14DouShouQiModel8CellTypeO4trapyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "den", + "printedName": "den", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.CellType.Type) -> DouShouQiModel.CellType", + "children": [ + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.CellType.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel8CellTypeO3denyA2CmF", + "mangledName": "$s14DouShouQiModel8CellTypeO3denyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "allCases", + "printedName": "allCases", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.CellType]", + "children": [ + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel8CellTypeO8allCasesSayACGvpZ", + "mangledName": "$s14DouShouQiModel8CellTypeO8allCasesSayACGvpZ", + "moduleName": "DouShouQiModel", + "static": true, + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.CellType]", + "children": [ + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel8CellTypeO8allCasesSayACGvgZ", + "mangledName": "$s14DouShouQiModel8CellTypeO8allCasesSayACGvgZ", + "moduleName": "DouShouQiModel", + "static": true, + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + }, + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel8CellTypeO2eeoiySbAC_ACtFZ", + "mangledName": "$s14DouShouQiModel8CellTypeO2eeoiySbAC_ACtFZ", + "moduleName": "DouShouQiModel", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel8CellTypeO9hashValueSivp", + "mangledName": "$s14DouShouQiModel8CellTypeO9hashValueSivp", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel8CellTypeO9hashValueSivg", + "mangledName": "$s14DouShouQiModel8CellTypeO9hashValueSivg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel8CellTypeO4hash4intoys6HasherVz_tF", + "mangledName": "$s14DouShouQiModel8CellTypeO4hash4intoys6HasherVz_tF", + "moduleName": "DouShouQiModel", + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Enum", + "usr": "s:14DouShouQiModel8CellTypeO", + "mangledName": "$s14DouShouQiModel8CellTypeO", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "CaseIterable", + "printedName": "CaseIterable", + "children": [ + { + "kind": "TypeWitness", + "name": "AllCases", + "printedName": "AllCases", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.CellType]", + "children": [ + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + } + ], + "usr": "s:Sa" + } + ] + } + ], + "usr": "s:s12CaseIterableP", + "mangledName": "$ss12CaseIterableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel" + }, + { + "kind": "TypeDecl", + "name": "Board", + "printedName": "Board", + "children": [ + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5BoardV4hash4intoys6HasherVz_tF", + "mangledName": "$s14DouShouQiModel5BoardV4hash4intoys6HasherVz_tF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "nbRows", + "printedName": "nbRows", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel5BoardV6nbRowsSivp", + "mangledName": "$s14DouShouQiModel5BoardV6nbRowsSivp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel5BoardV6nbRowsSivg", + "mangledName": "$s14DouShouQiModel5BoardV6nbRowsSivg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "nbColumns", + "printedName": "nbColumns", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel5BoardV9nbColumnsSivp", + "mangledName": "$s14DouShouQiModel5BoardV9nbColumnsSivp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel5BoardV9nbColumnsSivg", + "mangledName": "$s14DouShouQiModel5BoardV9nbColumnsSivg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "grid", + "printedName": "grid", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[[DouShouQiModel.Cell]]", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.Cell]", + "children": [ + { + "kind": "TypeNominal", + "name": "Cell", + "printedName": "DouShouQiModel.Cell", + "usr": "s:14DouShouQiModel4CellV" + } + ], + "usr": "s:Sa" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel5BoardV4gridSaySayAA4CellVGGvp", + "mangledName": "$s14DouShouQiModel5BoardV4gridSaySayAA4CellVGGvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasStorage", + "SetterAccess", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[[DouShouQiModel.Cell]]", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.Cell]", + "children": [ + { + "kind": "TypeNominal", + "name": "Cell", + "printedName": "DouShouQiModel.Cell", + "usr": "s:14DouShouQiModel4CellV" + } + ], + "usr": "s:Sa" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel5BoardV4gridSaySayAA4CellVGGvg", + "mangledName": "$s14DouShouQiModel5BoardV4gridSaySayAA4CellVGGvg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(withGrid:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.Board?", + "children": [ + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[[DouShouQiModel.Cell]]", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.Cell]", + "children": [ + { + "kind": "TypeNominal", + "name": "Cell", + "printedName": "DouShouQiModel.Cell", + "usr": "s:14DouShouQiModel4CellV" + } + ], + "usr": "s:Sa" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Constructor", + "usr": "s:14DouShouQiModel5BoardV8withGridACSgSaySayAA4CellVGG_tcfc", + "mangledName": "$s14DouShouQiModel5BoardV8withGridACSgSaySayAA4CellVGG_tcfc", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "countPieces", + "printedName": "countPieces(of:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5BoardV11countPieces2ofSiAA5OwnerO_tF", + "mangledName": "$s14DouShouQiModel5BoardV11countPieces2ofSiAA5OwnerO_tF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "countPieces", + "printedName": "countPieces()", + "children": [ + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(nbOfPiecesOfPlayer1: Swift.Int, nbOfPiecesOfPlayer2: Swift.Int)", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5BoardV11countPiecesSi04nbOfgI7Player1_Si0higI7Player2tyF", + "mangledName": "$s14DouShouQiModel5BoardV11countPiecesSi04nbOfgI7Player1_Si0higI7Player2tyF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "insert", + "printedName": "insert(piece:atRow:andColumn:)", + "children": [ + { + "kind": "TypeNominal", + "name": "BoardResult", + "printedName": "DouShouQiModel.BoardResult", + "usr": "s:14DouShouQiModel11BoardResultO" + }, + { + "kind": "TypeNominal", + "name": "Piece", + "printedName": "DouShouQiModel.Piece", + "usr": "s:14DouShouQiModel5PieceV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5BoardV6insert5piece5atRow9andColumnAA0E6ResultOAA5PieceV_S2itF", + "mangledName": "$s14DouShouQiModel5BoardV6insert5piece5atRow9andColumnAA0E6ResultOAA5PieceV_S2itF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "Mutating", + "AccessControl" + ], + "funcSelfKind": "Mutating" + }, + { + "kind": "Function", + "name": "removePiece", + "printedName": "removePiece(atRow:andColumn:)", + "children": [ + { + "kind": "TypeNominal", + "name": "BoardResult", + "printedName": "DouShouQiModel.BoardResult", + "usr": "s:14DouShouQiModel11BoardResultO" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5BoardV11removePiece5atRow9andColumnAA0E6ResultOSi_SitF", + "mangledName": "$s14DouShouQiModel5BoardV11removePiece5atRow9andColumnAA0E6ResultOSi_SitF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "Mutating", + "AccessControl" + ], + "funcSelfKind": "Mutating" + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel5BoardV9hashValueSivp", + "mangledName": "$s14DouShouQiModel5BoardV9hashValueSivp", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel5BoardV9hashValueSivg", + "mangledName": "$s14DouShouQiModel5BoardV9hashValueSivg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5BoardV2eeoiySbAC_ACtFZ", + "mangledName": "$s14DouShouQiModel5BoardV2eeoiySbAC_ACtFZ", + "moduleName": "DouShouQiModel", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Struct", + "usr": "s:14DouShouQiModel5BoardV", + "mangledName": "$s14DouShouQiModel5BoardV", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel" + }, + { + "kind": "TypeDecl", + "name": "Piece", + "printedName": "Piece", + "children": [ + { + "kind": "Var", + "name": "description", + "printedName": "description", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel5PieceV11descriptionSSvp", + "mangledName": "$s14DouShouQiModel5PieceV11descriptionSSvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel5PieceV11descriptionSSvg", + "mangledName": "$s14DouShouQiModel5PieceV11descriptionSSvg", + "moduleName": "DouShouQiModel", + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "owner", + "printedName": "owner", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel5PieceV5ownerAA5OwnerOvp", + "mangledName": "$s14DouShouQiModel5PieceV5ownerAA5OwnerOvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel5PieceV5ownerAA5OwnerOvg", + "mangledName": "$s14DouShouQiModel5PieceV5ownerAA5OwnerOvg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "animal", + "printedName": "animal", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel5PieceV6animalAA6AnimalOvp", + "mangledName": "$s14DouShouQiModel5PieceV6animalAA6AnimalOvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel5PieceV6animalAA6AnimalOvg", + "mangledName": "$s14DouShouQiModel5PieceV6animalAA6AnimalOvg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(withOwner:andAnimal:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Piece", + "printedName": "DouShouQiModel.Piece", + "usr": "s:14DouShouQiModel5PieceV" + }, + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + }, + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + } + ], + "declKind": "Constructor", + "usr": "s:14DouShouQiModel5PieceV9withOwner9andAnimalAcA0G0O_AA0I0Otcfc", + "mangledName": "$s14DouShouQiModel5PieceV9withOwner9andAnimalAcA0G0O_AA0I0Otcfc", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel5PieceV9hashValueSivp", + "mangledName": "$s14DouShouQiModel5PieceV9hashValueSivp", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel5PieceV9hashValueSivg", + "mangledName": "$s14DouShouQiModel5PieceV9hashValueSivg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5PieceV4hash4intoys6HasherVz_tF", + "mangledName": "$s14DouShouQiModel5PieceV4hash4intoys6HasherVz_tF", + "moduleName": "DouShouQiModel", + "implicit": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Piece", + "printedName": "DouShouQiModel.Piece", + "usr": "s:14DouShouQiModel5PieceV" + }, + { + "kind": "TypeNominal", + "name": "Piece", + "printedName": "DouShouQiModel.Piece", + "usr": "s:14DouShouQiModel5PieceV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5PieceV2eeoiySbAC_ACtFZ", + "mangledName": "$s14DouShouQiModel5PieceV2eeoiySbAC_ACtFZ", + "moduleName": "DouShouQiModel", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Struct", + "usr": "s:14DouShouQiModel5PieceV", + "mangledName": "$s14DouShouQiModel5PieceV", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel" + }, + { + "kind": "TypeDecl", + "name": "InvalidBoardError", + "printedName": "InvalidBoardError", + "children": [ + { + "kind": "Var", + "name": "unknownError", + "printedName": "unknownError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.InvalidBoardError.Type) -> DouShouQiModel.InvalidBoardError", + "children": [ + { + "kind": "TypeNominal", + "name": "InvalidBoardError", + "printedName": "DouShouQiModel.InvalidBoardError", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.InvalidBoardError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "InvalidBoardError", + "printedName": "DouShouQiModel.InvalidBoardError", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO07unknownG0yA2CmF", + "mangledName": "$s14DouShouQiModel17InvalidBoardErrorO07unknownG0yA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "badDimensions", + "printedName": "badDimensions", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.InvalidBoardError.Type) -> (Swift.Int, Swift.Int) -> DouShouQiModel.InvalidBoardError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.Int, Swift.Int) -> DouShouQiModel.InvalidBoardError", + "children": [ + { + "kind": "TypeNominal", + "name": "InvalidBoardError", + "printedName": "DouShouQiModel.InvalidBoardError", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(nbRows: Swift.Int, nbColumns: Swift.Int)", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.InvalidBoardError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "InvalidBoardError", + "printedName": "DouShouQiModel.InvalidBoardError", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO13badDimensionsyACSi_SitcACmF", + "mangledName": "$s14DouShouQiModel17InvalidBoardErrorO13badDimensionsyACSi_SitcACmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "badCellType", + "printedName": "badCellType", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.InvalidBoardError.Type) -> (DouShouQiModel.CellType, Swift.Int, Swift.Int) -> DouShouQiModel.InvalidBoardError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.CellType, Swift.Int, Swift.Int) -> DouShouQiModel.InvalidBoardError", + "children": [ + { + "kind": "TypeNominal", + "name": "InvalidBoardError", + "printedName": "DouShouQiModel.InvalidBoardError", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(cellType: DouShouQiModel.CellType, row: Swift.Int, column: Swift.Int)", + "children": [ + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.InvalidBoardError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "InvalidBoardError", + "printedName": "DouShouQiModel.InvalidBoardError", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO11badCellTypeyAcA0iJ0O_S2itcACmF", + "mangledName": "$s14DouShouQiModel17InvalidBoardErrorO11badCellTypeyAcA0iJ0O_S2itcACmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "multipleOccurenceOfSamePiece", + "printedName": "multipleOccurenceOfSamePiece", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.InvalidBoardError.Type) -> (DouShouQiModel.Piece) -> DouShouQiModel.InvalidBoardError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Piece) -> DouShouQiModel.InvalidBoardError", + "children": [ + { + "kind": "TypeNominal", + "name": "InvalidBoardError", + "printedName": "DouShouQiModel.InvalidBoardError", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(piece: DouShouQiModel.Piece)", + "children": [ + { + "kind": "TypeNominal", + "name": "Piece", + "printedName": "DouShouQiModel.Piece", + "usr": "s:14DouShouQiModel5PieceV" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.InvalidBoardError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "InvalidBoardError", + "printedName": "DouShouQiModel.InvalidBoardError", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO28multipleOccurenceOfSamePieceyAcA0L0V_tcACmF", + "mangledName": "$s14DouShouQiModel17InvalidBoardErrorO28multipleOccurenceOfSamePieceyAcA0L0V_tcACmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "pieceWithNoOwner", + "printedName": "pieceWithNoOwner", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.InvalidBoardError.Type) -> (DouShouQiModel.Piece) -> DouShouQiModel.InvalidBoardError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Piece) -> DouShouQiModel.InvalidBoardError", + "children": [ + { + "kind": "TypeNominal", + "name": "InvalidBoardError", + "printedName": "DouShouQiModel.InvalidBoardError", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(piece: DouShouQiModel.Piece)", + "children": [ + { + "kind": "TypeNominal", + "name": "Piece", + "printedName": "DouShouQiModel.Piece", + "usr": "s:14DouShouQiModel5PieceV" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.InvalidBoardError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "InvalidBoardError", + "printedName": "DouShouQiModel.InvalidBoardError", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO16pieceWithNoOwneryAcA5PieceV_tcACmF", + "mangledName": "$s14DouShouQiModel17InvalidBoardErrorO16pieceWithNoOwneryAcA5PieceV_tcACmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "pieceNotAllowedOnThisCell", + "printedName": "pieceNotAllowedOnThisCell", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.InvalidBoardError.Type) -> (DouShouQiModel.Piece, DouShouQiModel.Cell) -> DouShouQiModel.InvalidBoardError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Piece, DouShouQiModel.Cell) -> DouShouQiModel.InvalidBoardError", + "children": [ + { + "kind": "TypeNominal", + "name": "InvalidBoardError", + "printedName": "DouShouQiModel.InvalidBoardError", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(piece: DouShouQiModel.Piece, cell: DouShouQiModel.Cell)", + "children": [ + { + "kind": "TypeNominal", + "name": "Piece", + "printedName": "DouShouQiModel.Piece", + "usr": "s:14DouShouQiModel5PieceV" + }, + { + "kind": "TypeNominal", + "name": "Cell", + "printedName": "DouShouQiModel.Cell", + "usr": "s:14DouShouQiModel4CellV" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.InvalidBoardError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "InvalidBoardError", + "printedName": "DouShouQiModel.InvalidBoardError", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO25pieceNotAllowedOnThisCellyAcA5PieceV_AA0M0VtcACmF", + "mangledName": "$s14DouShouQiModel17InvalidBoardErrorO25pieceNotAllowedOnThisCellyAcA5PieceV_AA0M0VtcACmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "InvalidBoardError", + "printedName": "DouShouQiModel.InvalidBoardError", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO" + }, + { + "kind": "TypeNominal", + "name": "InvalidBoardError", + "printedName": "DouShouQiModel.InvalidBoardError", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO2eeoiySbAC_ACtFZ", + "mangledName": "$s14DouShouQiModel17InvalidBoardErrorO2eeoiySbAC_ACtFZ", + "moduleName": "DouShouQiModel", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Enum", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO", + "mangledName": "$s14DouShouQiModel17InvalidBoardErrorO", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Error", + "printedName": "Error", + "usr": "s:s5ErrorP", + "mangledName": "$ss5ErrorP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel" + }, + { + "kind": "TypeDecl", + "name": "Owner", + "printedName": "Owner", + "children": [ + { + "kind": "Var", + "name": "noOne", + "printedName": "noOne", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Owner.Type) -> DouShouQiModel.Owner", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.Owner.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel5OwnerO5noOneyA2CmF", + "mangledName": "$s14DouShouQiModel5OwnerO5noOneyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "player1", + "printedName": "player1", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Owner.Type) -> DouShouQiModel.Owner", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.Owner.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel5OwnerO7player1yA2CmF", + "mangledName": "$s14DouShouQiModel5OwnerO7player1yA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "player2", + "printedName": "player2", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Owner.Type) -> DouShouQiModel.Owner", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.Owner.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel5OwnerO7player2yA2CmF", + "mangledName": "$s14DouShouQiModel5OwnerO7player2yA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "simpleDescription", + "printedName": "simpleDescription", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel5OwnerO17simpleDescriptionSSvp", + "mangledName": "$s14DouShouQiModel5OwnerO17simpleDescriptionSSvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel5OwnerO17simpleDescriptionSSvg", + "mangledName": "$s14DouShouQiModel5OwnerO17simpleDescriptionSSvg", + "moduleName": "DouShouQiModel", + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + }, + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5OwnerO2eeoiySbAC_ACtFZ", + "mangledName": "$s14DouShouQiModel5OwnerO2eeoiySbAC_ACtFZ", + "moduleName": "DouShouQiModel", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel5OwnerO9hashValueSivp", + "mangledName": "$s14DouShouQiModel5OwnerO9hashValueSivp", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel5OwnerO9hashValueSivg", + "mangledName": "$s14DouShouQiModel5OwnerO9hashValueSivg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5OwnerO4hash4intoys6HasherVz_tF", + "mangledName": "$s14DouShouQiModel5OwnerO4hash4intoys6HasherVz_tF", + "moduleName": "DouShouQiModel", + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Enum", + "usr": "s:14DouShouQiModel5OwnerO", + "mangledName": "$s14DouShouQiModel5OwnerO", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "TypeDecl", + "name": "IAPlayer", + "printedName": "IAPlayer", + "children": [ + { + "kind": "Constructor", + "name": "init", + "printedName": "init(withName:andId:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.IAPlayer?", + "children": [ + { + "kind": "TypeNominal", + "name": "IAPlayer", + "printedName": "DouShouQiModel.IAPlayer", + "usr": "s:14DouShouQiModel8IAPlayerC" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Constructor", + "usr": "s:14DouShouQiModel8IAPlayerC8withName5andIdACSgSS_AA5OwnerOtcfc", + "mangledName": "$s14DouShouQiModel8IAPlayerC8withName5andIdACSgSS_AA5OwnerOtcfc", + "moduleName": "DouShouQiModel", + "overriding": true, + "implicit": true, + "declAttributes": [ + "Override" + ], + "init_kind": "Designated" + } + ], + "declKind": "Class", + "usr": "s:14DouShouQiModel8IAPlayerC", + "mangledName": "$s14DouShouQiModel8IAPlayerC", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "superclassUsr": "s:14DouShouQiModel6PlayerC", + "inheritsConvenienceInitializers": true, + "superclassNames": [ + "DouShouQiModel.Player" + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel" + }, + { + "kind": "TypeDecl", + "name": "Move", + "printedName": "Move", + "children": [ + { + "kind": "Var", + "name": "owner", + "printedName": "owner", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel4MoveV5ownerAA5OwnerOvp", + "mangledName": "$s14DouShouQiModel4MoveV5ownerAA5OwnerOvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel4MoveV5ownerAA5OwnerOvg", + "mangledName": "$s14DouShouQiModel4MoveV5ownerAA5OwnerOvg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "rowOrigin", + "printedName": "rowOrigin", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel4MoveV9rowOriginSivp", + "mangledName": "$s14DouShouQiModel4MoveV9rowOriginSivp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel4MoveV9rowOriginSivg", + "mangledName": "$s14DouShouQiModel4MoveV9rowOriginSivg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "columnOrigin", + "printedName": "columnOrigin", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel4MoveV12columnOriginSivp", + "mangledName": "$s14DouShouQiModel4MoveV12columnOriginSivp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel4MoveV12columnOriginSivg", + "mangledName": "$s14DouShouQiModel4MoveV12columnOriginSivg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "rowDestination", + "printedName": "rowDestination", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel4MoveV14rowDestinationSivp", + "mangledName": "$s14DouShouQiModel4MoveV14rowDestinationSivp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel4MoveV14rowDestinationSivg", + "mangledName": "$s14DouShouQiModel4MoveV14rowDestinationSivg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "columnDestination", + "printedName": "columnDestination", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel4MoveV17columnDestinationSivp", + "mangledName": "$s14DouShouQiModel4MoveV17columnDestinationSivp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel4MoveV17columnDestinationSivg", + "mangledName": "$s14DouShouQiModel4MoveV17columnDestinationSivg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(of:fromRow:andFromColumn:toRow:andToColumn:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + }, + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Constructor", + "usr": "s:14DouShouQiModel4MoveV2of7fromRow13andFromColumn02toH00i2ToK0AcA5OwnerO_S4itcfc", + "mangledName": "$s14DouShouQiModel4MoveV2of7fromRow13andFromColumn02toH00i2ToK0AcA5OwnerO_S4itcfc", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Var", + "name": "description", + "printedName": "description", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel4MoveV11descriptionSSvp", + "mangledName": "$s14DouShouQiModel4MoveV11descriptionSSvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel4MoveV11descriptionSSvg", + "mangledName": "$s14DouShouQiModel4MoveV11descriptionSSvg", + "moduleName": "DouShouQiModel", + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + }, + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel4MoveV2eeoiySbAC_ACtFZ", + "mangledName": "$s14DouShouQiModel4MoveV2eeoiySbAC_ACtFZ", + "moduleName": "DouShouQiModel", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Struct", + "usr": "s:14DouShouQiModel4MoveV", + "mangledName": "$s14DouShouQiModel4MoveV", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel" + }, + { + "kind": "TypeDecl", + "name": "Animal", + "printedName": "Animal", + "children": [ + { + "kind": "Var", + "name": "rat", + "printedName": "rat", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Animal.Type) -> DouShouQiModel.Animal", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.Animal.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel6AnimalO3ratyA2CmF", + "mangledName": "$s14DouShouQiModel6AnimalO3ratyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "cat", + "printedName": "cat", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Animal.Type) -> DouShouQiModel.Animal", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.Animal.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel6AnimalO3catyA2CmF", + "mangledName": "$s14DouShouQiModel6AnimalO3catyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "dog", + "printedName": "dog", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Animal.Type) -> DouShouQiModel.Animal", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.Animal.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel6AnimalO3dogyA2CmF", + "mangledName": "$s14DouShouQiModel6AnimalO3dogyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "wolf", + "printedName": "wolf", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Animal.Type) -> DouShouQiModel.Animal", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.Animal.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel6AnimalO4wolfyA2CmF", + "mangledName": "$s14DouShouQiModel6AnimalO4wolfyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "leopard", + "printedName": "leopard", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Animal.Type) -> DouShouQiModel.Animal", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.Animal.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel6AnimalO7leopardyA2CmF", + "mangledName": "$s14DouShouQiModel6AnimalO7leopardyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "tiger", + "printedName": "tiger", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Animal.Type) -> DouShouQiModel.Animal", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.Animal.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel6AnimalO5tigeryA2CmF", + "mangledName": "$s14DouShouQiModel6AnimalO5tigeryA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "lion", + "printedName": "lion", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Animal.Type) -> DouShouQiModel.Animal", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.Animal.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel6AnimalO4lionyA2CmF", + "mangledName": "$s14DouShouQiModel6AnimalO4lionyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "elephant", + "printedName": "elephant", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Animal.Type) -> DouShouQiModel.Animal", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.Animal.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel6AnimalO8elephantyA2CmF", + "mangledName": "$s14DouShouQiModel6AnimalO8elephantyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "rawValue", + "printedName": "rawValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel6AnimalO8rawValueSivp", + "mangledName": "$s14DouShouQiModel6AnimalO8rawValueSivp", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel6AnimalO8rawValueSivg", + "mangledName": "$s14DouShouQiModel6AnimalO8rawValueSivg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(rawValue:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.Animal?", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Constructor", + "usr": "s:14DouShouQiModel6AnimalO8rawValueACSgSi_tcfc", + "mangledName": "$s14DouShouQiModel6AnimalO8rawValueACSgSi_tcfc", + "moduleName": "DouShouQiModel", + "implicit": true, + "init_kind": "Designated" + } + ], + "declKind": "Enum", + "usr": "s:14DouShouQiModel6AnimalO", + "mangledName": "$s14DouShouQiModel6AnimalO", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "enumRawTypeName": "Int", + "conformances": [ + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "RawRepresentable", + "printedName": "RawRepresentable", + "children": [ + { + "kind": "TypeWitness", + "name": "RawValue", + "printedName": "RawValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ], + "usr": "s:SY", + "mangledName": "$sSY" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel" + }, + { + "kind": "TypeDecl", + "name": "Game", + "printedName": "Game", + "children": [ + { + "kind": "Var", + "name": "board", + "printedName": "board", + "children": [ + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel4GameC5boardAA5BoardVvp", + "mangledName": "$s14DouShouQiModel4GameC5boardAA5BoardVvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasStorage", + "SetterAccess", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel4GameC5boardAA5BoardVvg", + "mangledName": "$s14DouShouQiModel4GameC5boardAA5BoardVvg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "rules", + "printedName": "rules", + "children": [ + { + "kind": "TypeNominal", + "name": "Rules", + "printedName": "DouShouQiModel.Rules", + "usr": "s:14DouShouQiModel5RulesP" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel4GameC5rulesAA5Rules_pvp", + "mangledName": "$s14DouShouQiModel4GameC5rulesAA5Rules_pvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasStorage", + "SetterAccess", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Rules", + "printedName": "DouShouQiModel.Rules", + "usr": "s:14DouShouQiModel5RulesP" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel4GameC5rulesAA5Rules_pvg", + "mangledName": "$s14DouShouQiModel4GameC5rulesAA5Rules_pvg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "players", + "printedName": "players", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[DouShouQiModel.Owner : DouShouQiModel.Player]", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + }, + { + "kind": "TypeNominal", + "name": "Player", + "printedName": "DouShouQiModel.Player", + "usr": "s:14DouShouQiModel6PlayerC" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel4GameC7playersSDyAA5OwnerOAA6PlayerCGvp", + "mangledName": "$s14DouShouQiModel4GameC7playersSDyAA5OwnerOAA6PlayerCGvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "Final", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[DouShouQiModel.Owner : DouShouQiModel.Player]", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + }, + { + "kind": "TypeNominal", + "name": "Player", + "printedName": "DouShouQiModel.Player", + "usr": "s:14DouShouQiModel6PlayerC" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel4GameC7playersSDyAA5OwnerOAA6PlayerCGvg", + "mangledName": "$s14DouShouQiModel4GameC7playersSDyAA5OwnerOAA6PlayerCGvg", + "moduleName": "DouShouQiModel", + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(withRules:andPlayer1:andPlayer2:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Game", + "printedName": "DouShouQiModel.Game", + "usr": "s:14DouShouQiModel4GameC" + }, + { + "kind": "TypeNominal", + "name": "Rules", + "printedName": "DouShouQiModel.Rules", + "usr": "s:14DouShouQiModel5RulesP" + }, + { + "kind": "TypeNominal", + "name": "Player", + "printedName": "DouShouQiModel.Player", + "usr": "s:14DouShouQiModel6PlayerC" + }, + { + "kind": "TypeNominal", + "name": "Player", + "printedName": "DouShouQiModel.Player", + "usr": "s:14DouShouQiModel6PlayerC" + } + ], + "declKind": "Constructor", + "usr": "s:14DouShouQiModel4GameC9withRules10andPlayer10H7Player2AcA0G0_p_AA6PlayerCAItKcfc", + "mangledName": "$s14DouShouQiModel4GameC9withRules10andPlayer10H7Player2AcA0G0_p_AA6PlayerCAItKcfc", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "throwing": true, + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(withBoard:andRules:andPlayer1:andPlayer2:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Game", + "printedName": "DouShouQiModel.Game", + "usr": "s:14DouShouQiModel4GameC" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Rules", + "printedName": "DouShouQiModel.Rules", + "usr": "s:14DouShouQiModel5RulesP" + }, + { + "kind": "TypeNominal", + "name": "Player", + "printedName": "DouShouQiModel.Player", + "usr": "s:14DouShouQiModel6PlayerC" + }, + { + "kind": "TypeNominal", + "name": "Player", + "printedName": "DouShouQiModel.Player", + "usr": "s:14DouShouQiModel6PlayerC" + } + ], + "declKind": "Constructor", + "usr": "s:14DouShouQiModel4GameC9withBoard8andRules0H7Player10H7Player2AcA0G0V_AA0I0_pAA6PlayerCALtKcfc", + "mangledName": "$s14DouShouQiModel4GameC9withBoard8andRules0H7Player10H7Player2AcA0G0V_AA0I0_pAA6PlayerCALtKcfc", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "throwing": true, + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "addGameStartedListener", + "printedName": "addGameStartedListener(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Board) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + } + ] + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel4GameC03addE15StartedListeneryyyAA5BoardVcF", + "mangledName": "$s14DouShouQiModel4GameC03addE15StartedListeneryyyAA5BoardVcF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "addPlayerNotifiedListener", + "printedName": "addPlayerNotifiedListener(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Board, DouShouQiModel.Player) async throws -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(DouShouQiModel.Board, DouShouQiModel.Player)", + "children": [ + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Player", + "printedName": "DouShouQiModel.Player", + "usr": "s:14DouShouQiModel6PlayerC" + } + ] + } + ] + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel4GameC25addPlayerNotifiedListeneryyyAA5BoardV_AA0G0CtYaKcF", + "mangledName": "$s14DouShouQiModel4GameC25addPlayerNotifiedListeneryyyAA5BoardV_AA0G0CtYaKcF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "addGameChangedListener", + "printedName": "addGameChangedListener(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Game) async -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Game", + "printedName": "DouShouQiModel.Game", + "usr": "s:14DouShouQiModel4GameC" + } + ] + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel4GameC03addE15ChangedListeneryyyACYacF", + "mangledName": "$s14DouShouQiModel4GameC03addE15ChangedListeneryyyACYacF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "addGameOverListener", + "printedName": "addGameOverListener(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Board, DouShouQiModel.Result, DouShouQiModel.Player?) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(DouShouQiModel.Board, DouShouQiModel.Result, DouShouQiModel.Player?)", + "children": [ + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Result", + "printedName": "DouShouQiModel.Result", + "usr": "s:14DouShouQiModel6ResultO" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.Player?", + "children": [ + { + "kind": "TypeNominal", + "name": "Player", + "printedName": "DouShouQiModel.Player", + "usr": "s:14DouShouQiModel6PlayerC" + } + ], + "usr": "s:Sq" + } + ] + } + ] + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel4GameC03addE12OverListeneryyyAA5BoardV_AA6ResultOAA6PlayerCSgtcF", + "mangledName": "$s14DouShouQiModel4GameC03addE12OverListeneryyyAA5BoardV_AA6ResultOAA6PlayerCSgtcF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "addMoveChosenCallbacksListener", + "printedName": "addMoveChosenCallbacksListener(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Board, DouShouQiModel.Move, DouShouQiModel.Player) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(DouShouQiModel.Board, DouShouQiModel.Move, DouShouQiModel.Player)", + "children": [ + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + }, + { + "kind": "TypeNominal", + "name": "Player", + "printedName": "DouShouQiModel.Player", + "usr": "s:14DouShouQiModel6PlayerC" + } + ] + } + ] + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel4GameC30addMoveChosenCallbacksListeneryyyAA5BoardV_AA0G0VAA6PlayerCtcF", + "mangledName": "$s14DouShouQiModel4GameC30addMoveChosenCallbacksListeneryyyAA5BoardV_AA0G0VAA6PlayerCtcF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "addInvalidMoveCallbacksListener", + "printedName": "addInvalidMoveCallbacksListener(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Board, DouShouQiModel.Move, DouShouQiModel.Player, Swift.Bool) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(DouShouQiModel.Board, DouShouQiModel.Move, DouShouQiModel.Player, Swift.Bool)", + "children": [ + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + }, + { + "kind": "TypeNominal", + "name": "Player", + "printedName": "DouShouQiModel.Player", + "usr": "s:14DouShouQiModel6PlayerC" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ] + } + ] + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel4GameC31addInvalidMoveCallbacksListeneryyyAA5BoardV_AA0H0VAA6PlayerCSbtcF", + "mangledName": "$s14DouShouQiModel4GameC31addInvalidMoveCallbacksListeneryyyAA5BoardV_AA0H0VAA6PlayerCSbtcF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "addBoardChangedListener", + "printedName": "addBoardChangedListener(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Board) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + } + ] + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel4GameC23addBoardChangedListeneryyyAA0G0VcF", + "mangledName": "$s14DouShouQiModel4GameC23addBoardChangedListeneryyyAA0G0VcF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "addPieceRemovedListener", + "printedName": "addPieceRemovedListener(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.Int, Swift.Int, DouShouQiModel.Piece) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(Swift.Int, Swift.Int, DouShouQiModel.Piece)", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Piece", + "printedName": "DouShouQiModel.Piece", + "usr": "s:14DouShouQiModel5PieceV" + } + ] + } + ] + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel4GameC23addPieceRemovedListeneryyySi_SiAA0G0VtcF", + "mangledName": "$s14DouShouQiModel4GameC23addPieceRemovedListeneryyySi_SiAA0G0VtcF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "onPlayed", + "printedName": "onPlayed(with:from:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.Move?", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Player", + "printedName": "DouShouQiModel.Player", + "usr": "s:14DouShouQiModel6PlayerC" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel4GameC8onPlayed4with4fromyAA4MoveVSg_AA6PlayerCtYaKF", + "mangledName": "$s14DouShouQiModel4GameC8onPlayed4with4fromyAA4MoveVSg_AA6PlayerCtYaKF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "isOver", + "printedName": "isOver", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel4GameC6isOverSbvp", + "mangledName": "$s14DouShouQiModel4GameC6isOverSbvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "SetterAccess", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel4GameC6isOverSbvg", + "mangledName": "$s14DouShouQiModel4GameC6isOverSbvg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "start", + "printedName": "start()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel4GameC5startyyYaKF", + "mangledName": "$s14DouShouQiModel4GameC5startyyYaKF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:14DouShouQiModel4GameC", + "mangledName": "$s14DouShouQiModel4GameC", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ] + } + ], + "json_format_version": 8 + }, + "ConstValues": [ + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 81, + "length": 1, + "value": "9" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 111, + "length": 1, + "value": "7" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 148, + "length": 1, + "value": "3" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 3048, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 3088, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "Array", + "offset": 3941, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "Dictionary", + "offset": 4285, + "length": 3, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "Array", + "offset": 4475, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 4517, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 4565, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "BooleanLiteral", + "offset": 4967, + "length": 5, + "value": "false" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "Array", + "offset": 6169, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 6189, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 6229, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 9685, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 10586, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 10906, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 11013, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "Array", + "offset": 11170, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 11188, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 11280, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 11325, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 11433, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 11477, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 11569, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 11632, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 11740, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "Array", + "offset": 12266, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 12307, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 12319, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 12326, + "length": 2, + "value": "-1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 12703, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 12714, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 12721, + "length": 2, + "value": "-1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 13086, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 13464, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "BooleanLiteral", + "offset": 15597, + "length": 4, + "value": "true" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 15704, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "BooleanLiteral", + "offset": 15728, + "length": 4, + "value": "true" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 15845, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "BooleanLiteral", + "offset": 15869, + "length": 4, + "value": "true" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "BooleanLiteral", + "offset": 16049, + "length": 4, + "value": "true" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "BooleanLiteral", + "offset": 16149, + "length": 5, + "value": "false" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 16579, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 16584, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "Dictionary", + "offset": 16948, + "length": 3, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "Array", + "offset": 17004, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Cell.swift", + "kind": "StringLiteral", + "offset": 122, + "length": 81, + "value": "\"\"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Cell.swift", + "kind": "StringLiteral", + "offset": 147, + "length": 4, + "value": "\"ø\"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Cell.swift", + "kind": "StringLiteral", + "offset": 152, + "length": 2, + "value": "\" on \"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Cell.swift", + "kind": "StringLiteral", + "offset": 167, + "length": 1, + "value": "\", \"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Cell.swift", + "kind": "StringLiteral", + "offset": 202, + "length": 1, + "value": "\"\"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 89, + "length": 1, + "value": "5" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 119, + "length": 1, + "value": "5" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 2067, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 2107, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 2267, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 2277, + "length": 1, + "value": "2" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 2419, + "length": 1, + "value": "4" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 2429, + "length": 1, + "value": "2" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 2964, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 3004, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "Array", + "offset": 3773, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 3793, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 3833, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "BooleanLiteral", + "offset": 4182, + "length": 4, + "value": "true" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "BooleanLiteral", + "offset": 4292, + "length": 5, + "value": "false" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "Array", + "offset": 4531, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "Array", + "offset": 4639, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 4773, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 4782, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 4800, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 4809, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 4925, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 5013, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "BooleanLiteral", + "offset": 6962, + "length": 4, + "value": "true" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 7077, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "BooleanLiteral", + "offset": 7105, + "length": 4, + "value": "true" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 7230, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "BooleanLiteral", + "offset": 7258, + "length": 4, + "value": "true" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "BooleanLiteral", + "offset": 7350, + "length": 5, + "value": "false" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "Dictionary", + "offset": 8072, + "length": 3, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "Array", + "offset": 8128, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Player.swift", + "kind": "Array", + "offset": 418, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", + "kind": "BooleanLiteral", + "offset": 475, + "length": 5, + "value": "false" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", + "kind": "IntegerLiteral", + "offset": 570, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", + "kind": "IntegerLiteral", + "offset": 694, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", + "kind": "IntegerLiteral", + "offset": 981, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", + "kind": "IntegerLiteral", + "offset": 996, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", + "kind": "IntegerLiteral", + "offset": 1015, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", + "kind": "IntegerLiteral", + "offset": 1049, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", + "kind": "IntegerLiteral", + "offset": 1212, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", + "kind": "IntegerLiteral", + "offset": 1278, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", + "kind": "IntegerLiteral", + "offset": 1548, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", + "kind": "IntegerLiteral", + "offset": 1579, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", + "kind": "IntegerLiteral", + "offset": 1979, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", + "kind": "IntegerLiteral", + "offset": 2010, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Piece.swift", + "kind": "StringLiteral", + "offset": 122, + "length": 40, + "value": "\"[\"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Piece.swift", + "kind": "StringLiteral", + "offset": 150, + "length": 1, + "value": "\":\"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Piece.swift", + "kind": "StringLiteral", + "offset": 160, + "length": 1, + "value": "\"]\"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Owner.swift", + "kind": "StringLiteral", + "offset": 183, + "length": 3, + "value": "\"x\"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Owner.swift", + "kind": "StringLiteral", + "offset": 229, + "length": 3, + "value": "\"1\"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Owner.swift", + "kind": "StringLiteral", + "offset": 275, + "length": 3, + "value": "\"2\"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Move.swift", + "kind": "StringLiteral", + "offset": 616, + "length": 87, + "value": "\"\"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Move.swift", + "kind": "StringLiteral", + "offset": 625, + "length": 1, + "value": "\": [\"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Move.swift", + "kind": "StringLiteral", + "offset": 640, + "length": 1, + "value": "\",\"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Move.swift", + "kind": "StringLiteral", + "offset": 656, + "length": 1, + "value": "\"] -> [\"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Move.swift", + "kind": "StringLiteral", + "offset": 679, + "length": 1, + "value": "\", \"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Move.swift", + "kind": "StringLiteral", + "offset": 701, + "length": 1, + "value": "\"]\"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 60, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 63, + "length": 3, + "value": "2" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 68, + "length": 3, + "value": "3" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 73, + "length": 4, + "value": "4" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 79, + "length": 7, + "value": "5" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 88, + "length": 5, + "value": "6" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 95, + "length": 4, + "value": "7" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 101, + "length": 8, + "value": "8" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 60, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 63, + "length": 3, + "value": "2" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 68, + "length": 3, + "value": "3" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 73, + "length": 4, + "value": "4" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 79, + "length": 7, + "value": "5" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 88, + "length": 5, + "value": "6" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 95, + "length": 4, + "value": "7" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 101, + "length": 8, + "value": "8" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 60, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 63, + "length": 3, + "value": "2" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 68, + "length": 3, + "value": "3" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 73, + "length": 4, + "value": "4" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 79, + "length": 7, + "value": "5" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 88, + "length": 5, + "value": "6" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 95, + "length": 4, + "value": "7" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 101, + "length": 8, + "value": "8" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", + "kind": "StringLiteral", + "offset": 513, + "length": 55, + "value": "\"The ids of players are not .player1 and then .player2\"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", + "kind": "StringLiteral", + "offset": 1483, + "length": 55, + "value": "\"The ids of players are not .player1 and then .player2\"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", + "kind": "Array", + "offset": 1754, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", + "kind": "Array", + "offset": 2090, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", + "kind": "Array", + "offset": 2582, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", + "kind": "Array", + "offset": 3012, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", + "kind": "Array", + "offset": 3416, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", + "kind": "Array", + "offset": 3827, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", + "kind": "Array", + "offset": 4261, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", + "kind": "Array", + "offset": 4580, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", + "kind": "BooleanLiteral", + "offset": 6361, + "length": 4, + "value": "true" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", + "kind": "BooleanLiteral", + "offset": 7044, + "length": 5, + "value": "false" + } + ] +} \ No newline at end of file diff --git a/NEPASTOUCHER/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Versions/A/Modules/DouShouQiModel.swiftmodule/arm64-apple-macos.private.swiftinterface b/NEPASTOUCHER/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Versions/A/Modules/DouShouQiModel.swiftmodule/arm64-apple-macos.private.swiftinterface new file mode 100644 index 0000000..012a385 --- /dev/null +++ b/NEPASTOUCHER/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Versions/A/Modules/DouShouQiModel.swiftmodule/arm64-apple-macos.private.swiftinterface @@ -0,0 +1,266 @@ +// swift-interface-format-version: 1.0 +// swift-compiler-version: Apple Swift version 5.9.2 (swiftlang-5.9.2.2.56 clang-1500.1.0.2.5) +// swift-module-flags: -target arm64-apple-macos13.0 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name DouShouQiModel +// swift-module-flags-ignorable: -enable-bare-slash-regex +@_exported import DouShouQiModel +import Foundation +import Swift +import _Concurrency +import _StringProcessing +import _SwiftConcurrencyShims +public enum Result : Swift.Equatable { + case notFinished + case even + case winner(winner: DouShouQiModel.Owner, reason: DouShouQiModel.WinningReason) + public static func == (a: DouShouQiModel.Result, b: DouShouQiModel.Result) -> Swift.Bool +} +public enum WinningReason { + case denReached, noMorePieces, tooManyOccurences, noMovesLeft + public static func == (a: DouShouQiModel.WinningReason, b: DouShouQiModel.WinningReason) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +public enum BoardResult : Swift.Equatable { + case unknown + case ok(piece: DouShouQiModel.Piece?) + case failed(reason: DouShouQiModel.BoardFailingReason) + public static func == (a: DouShouQiModel.BoardResult, b: DouShouQiModel.BoardResult) -> Swift.Bool +} +public enum BoardFailingReason { + case unknown, outOfBounds, cellNotEmpty, cellEmpty + public static func == (a: DouShouQiModel.BoardFailingReason, b: DouShouQiModel.BoardFailingReason) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +@_inheritsConvenienceInitializers public class HumanPlayer : DouShouQiModel.Player { + public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner, andInputMethod input: @escaping (_ hp: DouShouQiModel.HumanPlayer) -> DouShouQiModel.Move?) + override public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner) + #if compiler(>=5.3) && $AsyncAwait + override public func chooseMove(in board: DouShouQiModel.Board, with rules: any DouShouQiModel.Rules) async throws + #endif + public func changeInput(input: @escaping (_ hp: DouShouQiModel.HumanPlayer) -> DouShouQiModel.Move?) + #if compiler(>=5.3) && $AsyncAwait + public func chooseMove(_ move: DouShouQiModel.Move?) async throws + #endif + @objc deinit +} +public struct ClassicRules : DouShouQiModel.Rules { + public static func createBoard() -> DouShouQiModel.Board + public static func checkBoard(_ board: DouShouQiModel.Board) throws + public init() + public init(occurences: [DouShouQiModel.Board : Swift.Int], historic: [DouShouQiModel.Move]) + public func getMoves(in board: DouShouQiModel.Board, of owner: DouShouQiModel.Owner) -> [DouShouQiModel.Move] + public func getMoves(in board: DouShouQiModel.Board, of owner: DouShouQiModel.Owner, fromRow row: Swift.Int, andColumn col: Swift.Int) -> [DouShouQiModel.Move] + public func isMoveValid(onBoard board: DouShouQiModel.Board, fromRow originRow: Swift.Int, andFromColumn originColumn: Swift.Int, toRow destinationRow: Swift.Int, andToColumn destinationColumn: Swift.Int) -> Swift.Bool + public func isMoveValid(onBoard board: DouShouQiModel.Board, withMove move: DouShouQiModel.Move) -> Swift.Bool + public func isGameOver(withBoard board: DouShouQiModel.Board, andLastRowPlayed lastRow: Swift.Int, andLastColumnPlayer lastColumn: Swift.Int) -> (Swift.Bool, DouShouQiModel.Result) + public mutating func playedMove(_ move: DouShouQiModel.Move, onStartingBoard board: DouShouQiModel.Board, andResultingBoard resultingBoard: DouShouQiModel.Board) throws + public func getNextPlayer() -> DouShouQiModel.Owner + public var occurences: [DouShouQiModel.Board : Swift.Int] { + get + } + public var historic: [DouShouQiModel.Move] { + get + } +} +public struct Cell : Swift.CustomStringConvertible, Swift.Equatable { + public var description: Swift.String { + get + } + public let cellType: DouShouQiModel.CellType + public let initialOwner: DouShouQiModel.Owner + public var piece: DouShouQiModel.Piece? + public init(ofType cellType: DouShouQiModel.CellType, ownedBy initialOwner: DouShouQiModel.Owner = .noOne, withPiece piece: DouShouQiModel.Piece? = nil) + public static func == (a: DouShouQiModel.Cell, b: DouShouQiModel.Cell) -> Swift.Bool +} +public struct VerySimpleRules : DouShouQiModel.Rules { + public static func createBoard() -> DouShouQiModel.Board + public static func checkBoard(_ board: DouShouQiModel.Board) throws + public init() + public init(occurences: [DouShouQiModel.Board : Swift.Int], historic: [DouShouQiModel.Move]) + public func getMoves(in board: DouShouQiModel.Board, of owner: DouShouQiModel.Owner) -> [DouShouQiModel.Move] + public func getMoves(in board: DouShouQiModel.Board, of owner: DouShouQiModel.Owner, fromRow row: Swift.Int, andColumn col: Swift.Int) -> [DouShouQiModel.Move] + public func isMoveValid(onBoard board: DouShouQiModel.Board, fromRow originRow: Swift.Int, andFromColumn originColumn: Swift.Int, toRow destinationRow: Swift.Int, andToColumn destinationColumn: Swift.Int) -> Swift.Bool + public func isMoveValid(onBoard board: DouShouQiModel.Board, withMove move: DouShouQiModel.Move) -> Swift.Bool + public func isGameOver(withBoard board: DouShouQiModel.Board, andLastRowPlayed lastRow: Swift.Int, andLastColumnPlayer lastColumn: Swift.Int) -> (Swift.Bool, DouShouQiModel.Result) + public mutating func playedMove(_ move: DouShouQiModel.Move, onStartingBoard board: DouShouQiModel.Board, andResultingBoard resultingBoard: DouShouQiModel.Board) throws + public func getNextPlayer() -> DouShouQiModel.Owner + public var occurences: [DouShouQiModel.Board : Swift.Int] { + get + } + public var historic: [DouShouQiModel.Move] { + get + } +} +public protocol Rules { + static func createBoard() -> DouShouQiModel.Board + static func checkBoard(_ board: DouShouQiModel.Board) throws + func getNextPlayer() -> DouShouQiModel.Owner + func getMoves(in board: DouShouQiModel.Board, of: DouShouQiModel.Owner) -> [DouShouQiModel.Move] + func getMoves(in board: DouShouQiModel.Board, of: DouShouQiModel.Owner, fromRow row: Swift.Int, andColumn col: Swift.Int) -> [DouShouQiModel.Move] + func isMoveValid(onBoard: DouShouQiModel.Board, fromRow: Swift.Int, andFromColumn: Swift.Int, toRow: Swift.Int, andToColumn: Swift.Int) -> Swift.Bool + func isMoveValid(onBoard: DouShouQiModel.Board, withMove move: DouShouQiModel.Move) -> Swift.Bool + func isGameOver(withBoard: DouShouQiModel.Board, andLastRowPlayed: Swift.Int, andLastColumnPlayer: Swift.Int) -> (Swift.Bool, DouShouQiModel.Result) + mutating func playedMove(_ move: DouShouQiModel.Move, onStartingBoard board: DouShouQiModel.Board, andResultingBoard resultingBoard: DouShouQiModel.Board) throws + var occurences: [DouShouQiModel.Board : Swift.Int] { get } + var historic: [DouShouQiModel.Move] { get } +} +public class Player { + final public let name: Swift.String + final public let id: DouShouQiModel.Owner + public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner) + #if compiler(>=5.3) && $AsyncAwait + public func chooseMove(in board: DouShouQiModel.Board, with rules: any DouShouQiModel.Rules) async throws + #endif + #if compiler(>=5.3) && $AsyncAwait + public func addPlayedCallbacksListener(_ listener: @escaping (DouShouQiModel.Move?, DouShouQiModel.Player) async throws -> Swift.Void) + #endif + #if compiler(>=5.3) && $AsyncAwait + public func notifyPlayed(withMove move: DouShouQiModel.Move?, andPlayer player: DouShouQiModel.Player) async throws + #endif + @objc deinit +} +public enum GameError : Swift.Error { + case invalidMove, nextPlayerError, badPlayerId(message: Swift.String), invalidRules, invalidPlayer, invalidGame, invalidBoard +} +@_inheritsConvenienceInitializers public class RandomPlayer : DouShouQiModel.IAPlayer { + #if compiler(>=5.3) && $AsyncAwait + override public func chooseMove(in board: DouShouQiModel.Board, with rules: any DouShouQiModel.Rules) async throws + #endif + override public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner) + @objc deinit +} +public enum CellType : Swift.CaseIterable { + case unknown, jungle, water, trap, den + public static func == (a: DouShouQiModel.CellType, b: DouShouQiModel.CellType) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public typealias AllCases = [DouShouQiModel.CellType] + public static var allCases: [DouShouQiModel.CellType] { + get + } + public var hashValue: Swift.Int { + get + } +} +public struct Board : Swift.Hashable { + public func hash(into hasher: inout Swift.Hasher) + public let nbRows: Swift.Int + public let nbColumns: Swift.Int + public var grid: [[DouShouQiModel.Cell]] { + get + } + public init?(withGrid grid: [[DouShouQiModel.Cell]]) + public func countPieces(of owner: DouShouQiModel.Owner) -> Swift.Int + public func countPieces() -> (nbOfPiecesOfPlayer1: Swift.Int, nbOfPiecesOfPlayer2: Swift.Int) + public mutating func insert(piece: DouShouQiModel.Piece, atRow row: Swift.Int, andColumn column: Swift.Int) -> DouShouQiModel.BoardResult + public mutating func removePiece(atRow row: Swift.Int, andColumn column: Swift.Int) -> DouShouQiModel.BoardResult + public static func == (a: DouShouQiModel.Board, b: DouShouQiModel.Board) -> Swift.Bool + public var hashValue: Swift.Int { + get + } +} +public struct Piece : Swift.CustomStringConvertible, Swift.Hashable { + public var description: Swift.String { + get + } + public let owner: DouShouQiModel.Owner + public let animal: DouShouQiModel.Animal + public init(withOwner owner: DouShouQiModel.Owner, andAnimal animal: DouShouQiModel.Animal) + public func hash(into hasher: inout Swift.Hasher) + public static func == (a: DouShouQiModel.Piece, b: DouShouQiModel.Piece) -> Swift.Bool + public var hashValue: Swift.Int { + get + } +} +public enum InvalidBoardError : Swift.Error, Swift.Equatable { + case unknownError + case badDimensions(nbRows: Swift.Int, nbColumns: Swift.Int) + case badCellType(cellType: DouShouQiModel.CellType, row: Swift.Int, column: Swift.Int) + case multipleOccurenceOfSamePiece(piece: DouShouQiModel.Piece) + case pieceWithNoOwner(piece: DouShouQiModel.Piece) + case pieceNotAllowedOnThisCell(piece: DouShouQiModel.Piece, cell: DouShouQiModel.Cell) + public static func == (a: DouShouQiModel.InvalidBoardError, b: DouShouQiModel.InvalidBoardError) -> Swift.Bool +} +public enum Owner { + case noOne, player1, player2 + public var simpleDescription: Swift.String { + get + } + public static func == (a: DouShouQiModel.Owner, b: DouShouQiModel.Owner) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +@_inheritsConvenienceInitializers public class IAPlayer : DouShouQiModel.Player { + override public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner) + @objc deinit +} +public struct Move : Swift.CustomStringConvertible, Swift.Equatable { + public let owner: DouShouQiModel.Owner + public let rowOrigin: Swift.Int + public let columnOrigin: Swift.Int + public let rowDestination: Swift.Int + public let columnDestination: Swift.Int + public init(of owner: DouShouQiModel.Owner, fromRow rowOrigin: Swift.Int, andFromColumn colOrigin: Swift.Int, toRow rowDest: Swift.Int, andToColumn colDest: Swift.Int) + public var description: Swift.String { + get + } + public static func == (a: DouShouQiModel.Move, b: DouShouQiModel.Move) -> Swift.Bool +} +public enum Animal : Swift.Int { + case rat, cat, dog, wolf, leopard, tiger, lion, elephant + public init?(rawValue: Swift.Int) + public typealias RawValue = Swift.Int + public var rawValue: Swift.Int { + get + } +} +public class Game { + public var board: DouShouQiModel.Board { + get + } + public var rules: any DouShouQiModel.Rules { + get + } + final public let players: [DouShouQiModel.Owner : DouShouQiModel.Player] + public init(withRules rules: any DouShouQiModel.Rules, andPlayer1 player1: DouShouQiModel.Player, andPlayer2 player2: DouShouQiModel.Player) throws + public init(withBoard board: DouShouQiModel.Board, andRules rules: any DouShouQiModel.Rules, andPlayer1 player1: DouShouQiModel.Player, andPlayer2 player2: DouShouQiModel.Player) throws + public func addGameStartedListener(_ listener: @escaping (DouShouQiModel.Board) -> Swift.Void) + #if compiler(>=5.3) && $AsyncAwait + public func addPlayerNotifiedListener(_ listener: @escaping (DouShouQiModel.Board, DouShouQiModel.Player) async throws -> Swift.Void) + #endif + #if compiler(>=5.3) && $AsyncAwait + public func addGameChangedListener(_ listener: @escaping (DouShouQiModel.Game) async -> Swift.Void) + #endif + public func addGameOverListener(_ listener: @escaping (DouShouQiModel.Board, DouShouQiModel.Result, DouShouQiModel.Player?) -> Swift.Void) + public func addMoveChosenCallbacksListener(_ listener: @escaping (DouShouQiModel.Board, DouShouQiModel.Move, DouShouQiModel.Player) -> Swift.Void) + public func addInvalidMoveCallbacksListener(_ listener: @escaping (DouShouQiModel.Board, DouShouQiModel.Move, DouShouQiModel.Player, Swift.Bool) -> Swift.Void) + public func addBoardChangedListener(_ listener: @escaping (DouShouQiModel.Board) -> Swift.Void) + public func addPieceRemovedListener(_ listener: @escaping (Swift.Int, Swift.Int, DouShouQiModel.Piece) -> Swift.Void) + #if compiler(>=5.3) && $AsyncAwait + public func onPlayed(with move: DouShouQiModel.Move?, from player: DouShouQiModel.Player) async throws + #endif + public var isOver: Swift.Bool { + get + } + #if compiler(>=5.3) && $AsyncAwait + public func start() async throws + #endif + @objc deinit +} +extension DouShouQiModel.WinningReason : Swift.Equatable {} +extension DouShouQiModel.WinningReason : Swift.Hashable {} +extension DouShouQiModel.BoardFailingReason : Swift.Equatable {} +extension DouShouQiModel.BoardFailingReason : Swift.Hashable {} +extension DouShouQiModel.CellType : Swift.Equatable {} +extension DouShouQiModel.CellType : Swift.Hashable {} +extension DouShouQiModel.Owner : Swift.Equatable {} +extension DouShouQiModel.Owner : Swift.Hashable {} +extension DouShouQiModel.Animal : Swift.Equatable {} +extension DouShouQiModel.Animal : Swift.Hashable {} +extension DouShouQiModel.Animal : Swift.RawRepresentable {} diff --git a/NEPASTOUCHER/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Versions/A/Modules/DouShouQiModel.swiftmodule/arm64-apple-macos.swiftdoc b/NEPASTOUCHER/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Versions/A/Modules/DouShouQiModel.swiftmodule/arm64-apple-macos.swiftdoc new file mode 100644 index 0000000..532f235 Binary files /dev/null and b/NEPASTOUCHER/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Versions/A/Modules/DouShouQiModel.swiftmodule/arm64-apple-macos.swiftdoc differ diff --git a/NEPASTOUCHER/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Versions/A/Modules/DouShouQiModel.swiftmodule/arm64-apple-macos.swiftinterface b/NEPASTOUCHER/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Versions/A/Modules/DouShouQiModel.swiftmodule/arm64-apple-macos.swiftinterface new file mode 100644 index 0000000..012a385 --- /dev/null +++ b/NEPASTOUCHER/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Versions/A/Modules/DouShouQiModel.swiftmodule/arm64-apple-macos.swiftinterface @@ -0,0 +1,266 @@ +// swift-interface-format-version: 1.0 +// swift-compiler-version: Apple Swift version 5.9.2 (swiftlang-5.9.2.2.56 clang-1500.1.0.2.5) +// swift-module-flags: -target arm64-apple-macos13.0 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name DouShouQiModel +// swift-module-flags-ignorable: -enable-bare-slash-regex +@_exported import DouShouQiModel +import Foundation +import Swift +import _Concurrency +import _StringProcessing +import _SwiftConcurrencyShims +public enum Result : Swift.Equatable { + case notFinished + case even + case winner(winner: DouShouQiModel.Owner, reason: DouShouQiModel.WinningReason) + public static func == (a: DouShouQiModel.Result, b: DouShouQiModel.Result) -> Swift.Bool +} +public enum WinningReason { + case denReached, noMorePieces, tooManyOccurences, noMovesLeft + public static func == (a: DouShouQiModel.WinningReason, b: DouShouQiModel.WinningReason) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +public enum BoardResult : Swift.Equatable { + case unknown + case ok(piece: DouShouQiModel.Piece?) + case failed(reason: DouShouQiModel.BoardFailingReason) + public static func == (a: DouShouQiModel.BoardResult, b: DouShouQiModel.BoardResult) -> Swift.Bool +} +public enum BoardFailingReason { + case unknown, outOfBounds, cellNotEmpty, cellEmpty + public static func == (a: DouShouQiModel.BoardFailingReason, b: DouShouQiModel.BoardFailingReason) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +@_inheritsConvenienceInitializers public class HumanPlayer : DouShouQiModel.Player { + public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner, andInputMethod input: @escaping (_ hp: DouShouQiModel.HumanPlayer) -> DouShouQiModel.Move?) + override public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner) + #if compiler(>=5.3) && $AsyncAwait + override public func chooseMove(in board: DouShouQiModel.Board, with rules: any DouShouQiModel.Rules) async throws + #endif + public func changeInput(input: @escaping (_ hp: DouShouQiModel.HumanPlayer) -> DouShouQiModel.Move?) + #if compiler(>=5.3) && $AsyncAwait + public func chooseMove(_ move: DouShouQiModel.Move?) async throws + #endif + @objc deinit +} +public struct ClassicRules : DouShouQiModel.Rules { + public static func createBoard() -> DouShouQiModel.Board + public static func checkBoard(_ board: DouShouQiModel.Board) throws + public init() + public init(occurences: [DouShouQiModel.Board : Swift.Int], historic: [DouShouQiModel.Move]) + public func getMoves(in board: DouShouQiModel.Board, of owner: DouShouQiModel.Owner) -> [DouShouQiModel.Move] + public func getMoves(in board: DouShouQiModel.Board, of owner: DouShouQiModel.Owner, fromRow row: Swift.Int, andColumn col: Swift.Int) -> [DouShouQiModel.Move] + public func isMoveValid(onBoard board: DouShouQiModel.Board, fromRow originRow: Swift.Int, andFromColumn originColumn: Swift.Int, toRow destinationRow: Swift.Int, andToColumn destinationColumn: Swift.Int) -> Swift.Bool + public func isMoveValid(onBoard board: DouShouQiModel.Board, withMove move: DouShouQiModel.Move) -> Swift.Bool + public func isGameOver(withBoard board: DouShouQiModel.Board, andLastRowPlayed lastRow: Swift.Int, andLastColumnPlayer lastColumn: Swift.Int) -> (Swift.Bool, DouShouQiModel.Result) + public mutating func playedMove(_ move: DouShouQiModel.Move, onStartingBoard board: DouShouQiModel.Board, andResultingBoard resultingBoard: DouShouQiModel.Board) throws + public func getNextPlayer() -> DouShouQiModel.Owner + public var occurences: [DouShouQiModel.Board : Swift.Int] { + get + } + public var historic: [DouShouQiModel.Move] { + get + } +} +public struct Cell : Swift.CustomStringConvertible, Swift.Equatable { + public var description: Swift.String { + get + } + public let cellType: DouShouQiModel.CellType + public let initialOwner: DouShouQiModel.Owner + public var piece: DouShouQiModel.Piece? + public init(ofType cellType: DouShouQiModel.CellType, ownedBy initialOwner: DouShouQiModel.Owner = .noOne, withPiece piece: DouShouQiModel.Piece? = nil) + public static func == (a: DouShouQiModel.Cell, b: DouShouQiModel.Cell) -> Swift.Bool +} +public struct VerySimpleRules : DouShouQiModel.Rules { + public static func createBoard() -> DouShouQiModel.Board + public static func checkBoard(_ board: DouShouQiModel.Board) throws + public init() + public init(occurences: [DouShouQiModel.Board : Swift.Int], historic: [DouShouQiModel.Move]) + public func getMoves(in board: DouShouQiModel.Board, of owner: DouShouQiModel.Owner) -> [DouShouQiModel.Move] + public func getMoves(in board: DouShouQiModel.Board, of owner: DouShouQiModel.Owner, fromRow row: Swift.Int, andColumn col: Swift.Int) -> [DouShouQiModel.Move] + public func isMoveValid(onBoard board: DouShouQiModel.Board, fromRow originRow: Swift.Int, andFromColumn originColumn: Swift.Int, toRow destinationRow: Swift.Int, andToColumn destinationColumn: Swift.Int) -> Swift.Bool + public func isMoveValid(onBoard board: DouShouQiModel.Board, withMove move: DouShouQiModel.Move) -> Swift.Bool + public func isGameOver(withBoard board: DouShouQiModel.Board, andLastRowPlayed lastRow: Swift.Int, andLastColumnPlayer lastColumn: Swift.Int) -> (Swift.Bool, DouShouQiModel.Result) + public mutating func playedMove(_ move: DouShouQiModel.Move, onStartingBoard board: DouShouQiModel.Board, andResultingBoard resultingBoard: DouShouQiModel.Board) throws + public func getNextPlayer() -> DouShouQiModel.Owner + public var occurences: [DouShouQiModel.Board : Swift.Int] { + get + } + public var historic: [DouShouQiModel.Move] { + get + } +} +public protocol Rules { + static func createBoard() -> DouShouQiModel.Board + static func checkBoard(_ board: DouShouQiModel.Board) throws + func getNextPlayer() -> DouShouQiModel.Owner + func getMoves(in board: DouShouQiModel.Board, of: DouShouQiModel.Owner) -> [DouShouQiModel.Move] + func getMoves(in board: DouShouQiModel.Board, of: DouShouQiModel.Owner, fromRow row: Swift.Int, andColumn col: Swift.Int) -> [DouShouQiModel.Move] + func isMoveValid(onBoard: DouShouQiModel.Board, fromRow: Swift.Int, andFromColumn: Swift.Int, toRow: Swift.Int, andToColumn: Swift.Int) -> Swift.Bool + func isMoveValid(onBoard: DouShouQiModel.Board, withMove move: DouShouQiModel.Move) -> Swift.Bool + func isGameOver(withBoard: DouShouQiModel.Board, andLastRowPlayed: Swift.Int, andLastColumnPlayer: Swift.Int) -> (Swift.Bool, DouShouQiModel.Result) + mutating func playedMove(_ move: DouShouQiModel.Move, onStartingBoard board: DouShouQiModel.Board, andResultingBoard resultingBoard: DouShouQiModel.Board) throws + var occurences: [DouShouQiModel.Board : Swift.Int] { get } + var historic: [DouShouQiModel.Move] { get } +} +public class Player { + final public let name: Swift.String + final public let id: DouShouQiModel.Owner + public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner) + #if compiler(>=5.3) && $AsyncAwait + public func chooseMove(in board: DouShouQiModel.Board, with rules: any DouShouQiModel.Rules) async throws + #endif + #if compiler(>=5.3) && $AsyncAwait + public func addPlayedCallbacksListener(_ listener: @escaping (DouShouQiModel.Move?, DouShouQiModel.Player) async throws -> Swift.Void) + #endif + #if compiler(>=5.3) && $AsyncAwait + public func notifyPlayed(withMove move: DouShouQiModel.Move?, andPlayer player: DouShouQiModel.Player) async throws + #endif + @objc deinit +} +public enum GameError : Swift.Error { + case invalidMove, nextPlayerError, badPlayerId(message: Swift.String), invalidRules, invalidPlayer, invalidGame, invalidBoard +} +@_inheritsConvenienceInitializers public class RandomPlayer : DouShouQiModel.IAPlayer { + #if compiler(>=5.3) && $AsyncAwait + override public func chooseMove(in board: DouShouQiModel.Board, with rules: any DouShouQiModel.Rules) async throws + #endif + override public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner) + @objc deinit +} +public enum CellType : Swift.CaseIterable { + case unknown, jungle, water, trap, den + public static func == (a: DouShouQiModel.CellType, b: DouShouQiModel.CellType) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public typealias AllCases = [DouShouQiModel.CellType] + public static var allCases: [DouShouQiModel.CellType] { + get + } + public var hashValue: Swift.Int { + get + } +} +public struct Board : Swift.Hashable { + public func hash(into hasher: inout Swift.Hasher) + public let nbRows: Swift.Int + public let nbColumns: Swift.Int + public var grid: [[DouShouQiModel.Cell]] { + get + } + public init?(withGrid grid: [[DouShouQiModel.Cell]]) + public func countPieces(of owner: DouShouQiModel.Owner) -> Swift.Int + public func countPieces() -> (nbOfPiecesOfPlayer1: Swift.Int, nbOfPiecesOfPlayer2: Swift.Int) + public mutating func insert(piece: DouShouQiModel.Piece, atRow row: Swift.Int, andColumn column: Swift.Int) -> DouShouQiModel.BoardResult + public mutating func removePiece(atRow row: Swift.Int, andColumn column: Swift.Int) -> DouShouQiModel.BoardResult + public static func == (a: DouShouQiModel.Board, b: DouShouQiModel.Board) -> Swift.Bool + public var hashValue: Swift.Int { + get + } +} +public struct Piece : Swift.CustomStringConvertible, Swift.Hashable { + public var description: Swift.String { + get + } + public let owner: DouShouQiModel.Owner + public let animal: DouShouQiModel.Animal + public init(withOwner owner: DouShouQiModel.Owner, andAnimal animal: DouShouQiModel.Animal) + public func hash(into hasher: inout Swift.Hasher) + public static func == (a: DouShouQiModel.Piece, b: DouShouQiModel.Piece) -> Swift.Bool + public var hashValue: Swift.Int { + get + } +} +public enum InvalidBoardError : Swift.Error, Swift.Equatable { + case unknownError + case badDimensions(nbRows: Swift.Int, nbColumns: Swift.Int) + case badCellType(cellType: DouShouQiModel.CellType, row: Swift.Int, column: Swift.Int) + case multipleOccurenceOfSamePiece(piece: DouShouQiModel.Piece) + case pieceWithNoOwner(piece: DouShouQiModel.Piece) + case pieceNotAllowedOnThisCell(piece: DouShouQiModel.Piece, cell: DouShouQiModel.Cell) + public static func == (a: DouShouQiModel.InvalidBoardError, b: DouShouQiModel.InvalidBoardError) -> Swift.Bool +} +public enum Owner { + case noOne, player1, player2 + public var simpleDescription: Swift.String { + get + } + public static func == (a: DouShouQiModel.Owner, b: DouShouQiModel.Owner) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +@_inheritsConvenienceInitializers public class IAPlayer : DouShouQiModel.Player { + override public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner) + @objc deinit +} +public struct Move : Swift.CustomStringConvertible, Swift.Equatable { + public let owner: DouShouQiModel.Owner + public let rowOrigin: Swift.Int + public let columnOrigin: Swift.Int + public let rowDestination: Swift.Int + public let columnDestination: Swift.Int + public init(of owner: DouShouQiModel.Owner, fromRow rowOrigin: Swift.Int, andFromColumn colOrigin: Swift.Int, toRow rowDest: Swift.Int, andToColumn colDest: Swift.Int) + public var description: Swift.String { + get + } + public static func == (a: DouShouQiModel.Move, b: DouShouQiModel.Move) -> Swift.Bool +} +public enum Animal : Swift.Int { + case rat, cat, dog, wolf, leopard, tiger, lion, elephant + public init?(rawValue: Swift.Int) + public typealias RawValue = Swift.Int + public var rawValue: Swift.Int { + get + } +} +public class Game { + public var board: DouShouQiModel.Board { + get + } + public var rules: any DouShouQiModel.Rules { + get + } + final public let players: [DouShouQiModel.Owner : DouShouQiModel.Player] + public init(withRules rules: any DouShouQiModel.Rules, andPlayer1 player1: DouShouQiModel.Player, andPlayer2 player2: DouShouQiModel.Player) throws + public init(withBoard board: DouShouQiModel.Board, andRules rules: any DouShouQiModel.Rules, andPlayer1 player1: DouShouQiModel.Player, andPlayer2 player2: DouShouQiModel.Player) throws + public func addGameStartedListener(_ listener: @escaping (DouShouQiModel.Board) -> Swift.Void) + #if compiler(>=5.3) && $AsyncAwait + public func addPlayerNotifiedListener(_ listener: @escaping (DouShouQiModel.Board, DouShouQiModel.Player) async throws -> Swift.Void) + #endif + #if compiler(>=5.3) && $AsyncAwait + public func addGameChangedListener(_ listener: @escaping (DouShouQiModel.Game) async -> Swift.Void) + #endif + public func addGameOverListener(_ listener: @escaping (DouShouQiModel.Board, DouShouQiModel.Result, DouShouQiModel.Player?) -> Swift.Void) + public func addMoveChosenCallbacksListener(_ listener: @escaping (DouShouQiModel.Board, DouShouQiModel.Move, DouShouQiModel.Player) -> Swift.Void) + public func addInvalidMoveCallbacksListener(_ listener: @escaping (DouShouQiModel.Board, DouShouQiModel.Move, DouShouQiModel.Player, Swift.Bool) -> Swift.Void) + public func addBoardChangedListener(_ listener: @escaping (DouShouQiModel.Board) -> Swift.Void) + public func addPieceRemovedListener(_ listener: @escaping (Swift.Int, Swift.Int, DouShouQiModel.Piece) -> Swift.Void) + #if compiler(>=5.3) && $AsyncAwait + public func onPlayed(with move: DouShouQiModel.Move?, from player: DouShouQiModel.Player) async throws + #endif + public var isOver: Swift.Bool { + get + } + #if compiler(>=5.3) && $AsyncAwait + public func start() async throws + #endif + @objc deinit +} +extension DouShouQiModel.WinningReason : Swift.Equatable {} +extension DouShouQiModel.WinningReason : Swift.Hashable {} +extension DouShouQiModel.BoardFailingReason : Swift.Equatable {} +extension DouShouQiModel.BoardFailingReason : Swift.Hashable {} +extension DouShouQiModel.CellType : Swift.Equatable {} +extension DouShouQiModel.CellType : Swift.Hashable {} +extension DouShouQiModel.Owner : Swift.Equatable {} +extension DouShouQiModel.Owner : Swift.Hashable {} +extension DouShouQiModel.Animal : Swift.Equatable {} +extension DouShouQiModel.Animal : Swift.Hashable {} +extension DouShouQiModel.Animal : Swift.RawRepresentable {} diff --git a/NEPASTOUCHER/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Versions/A/Modules/DouShouQiModel.swiftmodule/x86_64-apple-macos.abi.json b/NEPASTOUCHER/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Versions/A/Modules/DouShouQiModel.swiftmodule/x86_64-apple-macos.abi.json new file mode 100644 index 0000000..c28e9fd --- /dev/null +++ b/NEPASTOUCHER/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Versions/A/Modules/DouShouQiModel.swiftmodule/x86_64-apple-macos.abi.json @@ -0,0 +1,8546 @@ +{ + "ABIRoot": { + "kind": "Root", + "name": "TopLevel", + "printedName": "TopLevel", + "children": [ + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel" + }, + { + "kind": "TypeDecl", + "name": "Result", + "printedName": "Result", + "children": [ + { + "kind": "Var", + "name": "notFinished", + "printedName": "notFinished", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Result.Type) -> DouShouQiModel.Result", + "children": [ + { + "kind": "TypeNominal", + "name": "Result", + "printedName": "DouShouQiModel.Result", + "usr": "s:14DouShouQiModel6ResultO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.Result.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "Result", + "printedName": "DouShouQiModel.Result", + "usr": "s:14DouShouQiModel6ResultO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel6ResultO11notFinishedyA2CmF", + "mangledName": "$s14DouShouQiModel6ResultO11notFinishedyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "even", + "printedName": "even", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Result.Type) -> DouShouQiModel.Result", + "children": [ + { + "kind": "TypeNominal", + "name": "Result", + "printedName": "DouShouQiModel.Result", + "usr": "s:14DouShouQiModel6ResultO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.Result.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "Result", + "printedName": "DouShouQiModel.Result", + "usr": "s:14DouShouQiModel6ResultO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel6ResultO4evenyA2CmF", + "mangledName": "$s14DouShouQiModel6ResultO4evenyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "winner", + "printedName": "winner", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Result.Type) -> (DouShouQiModel.Owner, DouShouQiModel.WinningReason) -> DouShouQiModel.Result", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Owner, DouShouQiModel.WinningReason) -> DouShouQiModel.Result", + "children": [ + { + "kind": "TypeNominal", + "name": "Result", + "printedName": "DouShouQiModel.Result", + "usr": "s:14DouShouQiModel6ResultO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(winner: DouShouQiModel.Owner, reason: DouShouQiModel.WinningReason)", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + }, + { + "kind": "TypeNominal", + "name": "WinningReason", + "printedName": "DouShouQiModel.WinningReason", + "usr": "s:14DouShouQiModel13WinningReasonO" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.Result.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "Result", + "printedName": "DouShouQiModel.Result", + "usr": "s:14DouShouQiModel6ResultO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel6ResultO6winneryAcA5OwnerO_AA13WinningReasonOtcACmF", + "mangledName": "$s14DouShouQiModel6ResultO6winneryAcA5OwnerO_AA13WinningReasonOtcACmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Result", + "printedName": "DouShouQiModel.Result", + "usr": "s:14DouShouQiModel6ResultO" + }, + { + "kind": "TypeNominal", + "name": "Result", + "printedName": "DouShouQiModel.Result", + "usr": "s:14DouShouQiModel6ResultO" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel6ResultO2eeoiySbAC_ACtFZ", + "mangledName": "$s14DouShouQiModel6ResultO2eeoiySbAC_ACtFZ", + "moduleName": "DouShouQiModel", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Enum", + "usr": "s:14DouShouQiModel6ResultO", + "mangledName": "$s14DouShouQiModel6ResultO", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + } + ] + }, + { + "kind": "TypeDecl", + "name": "WinningReason", + "printedName": "WinningReason", + "children": [ + { + "kind": "Var", + "name": "denReached", + "printedName": "denReached", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.WinningReason.Type) -> DouShouQiModel.WinningReason", + "children": [ + { + "kind": "TypeNominal", + "name": "WinningReason", + "printedName": "DouShouQiModel.WinningReason", + "usr": "s:14DouShouQiModel13WinningReasonO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.WinningReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "WinningReason", + "printedName": "DouShouQiModel.WinningReason", + "usr": "s:14DouShouQiModel13WinningReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel13WinningReasonO10denReachedyA2CmF", + "mangledName": "$s14DouShouQiModel13WinningReasonO10denReachedyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "noMorePieces", + "printedName": "noMorePieces", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.WinningReason.Type) -> DouShouQiModel.WinningReason", + "children": [ + { + "kind": "TypeNominal", + "name": "WinningReason", + "printedName": "DouShouQiModel.WinningReason", + "usr": "s:14DouShouQiModel13WinningReasonO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.WinningReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "WinningReason", + "printedName": "DouShouQiModel.WinningReason", + "usr": "s:14DouShouQiModel13WinningReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel13WinningReasonO12noMorePiecesyA2CmF", + "mangledName": "$s14DouShouQiModel13WinningReasonO12noMorePiecesyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "tooManyOccurences", + "printedName": "tooManyOccurences", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.WinningReason.Type) -> DouShouQiModel.WinningReason", + "children": [ + { + "kind": "TypeNominal", + "name": "WinningReason", + "printedName": "DouShouQiModel.WinningReason", + "usr": "s:14DouShouQiModel13WinningReasonO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.WinningReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "WinningReason", + "printedName": "DouShouQiModel.WinningReason", + "usr": "s:14DouShouQiModel13WinningReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel13WinningReasonO17tooManyOccurencesyA2CmF", + "mangledName": "$s14DouShouQiModel13WinningReasonO17tooManyOccurencesyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "noMovesLeft", + "printedName": "noMovesLeft", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.WinningReason.Type) -> DouShouQiModel.WinningReason", + "children": [ + { + "kind": "TypeNominal", + "name": "WinningReason", + "printedName": "DouShouQiModel.WinningReason", + "usr": "s:14DouShouQiModel13WinningReasonO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.WinningReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "WinningReason", + "printedName": "DouShouQiModel.WinningReason", + "usr": "s:14DouShouQiModel13WinningReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel13WinningReasonO11noMovesLeftyA2CmF", + "mangledName": "$s14DouShouQiModel13WinningReasonO11noMovesLeftyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "WinningReason", + "printedName": "DouShouQiModel.WinningReason", + "usr": "s:14DouShouQiModel13WinningReasonO" + }, + { + "kind": "TypeNominal", + "name": "WinningReason", + "printedName": "DouShouQiModel.WinningReason", + "usr": "s:14DouShouQiModel13WinningReasonO" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel13WinningReasonO2eeoiySbAC_ACtFZ", + "mangledName": "$s14DouShouQiModel13WinningReasonO2eeoiySbAC_ACtFZ", + "moduleName": "DouShouQiModel", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel13WinningReasonO9hashValueSivp", + "mangledName": "$s14DouShouQiModel13WinningReasonO9hashValueSivp", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel13WinningReasonO9hashValueSivg", + "mangledName": "$s14DouShouQiModel13WinningReasonO9hashValueSivg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel13WinningReasonO4hash4intoys6HasherVz_tF", + "mangledName": "$s14DouShouQiModel13WinningReasonO4hash4intoys6HasherVz_tF", + "moduleName": "DouShouQiModel", + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Enum", + "usr": "s:14DouShouQiModel13WinningReasonO", + "mangledName": "$s14DouShouQiModel13WinningReasonO", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel" + }, + { + "kind": "TypeDecl", + "name": "BoardResult", + "printedName": "BoardResult", + "children": [ + { + "kind": "Var", + "name": "unknown", + "printedName": "unknown", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.BoardResult.Type) -> DouShouQiModel.BoardResult", + "children": [ + { + "kind": "TypeNominal", + "name": "BoardResult", + "printedName": "DouShouQiModel.BoardResult", + "usr": "s:14DouShouQiModel11BoardResultO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.BoardResult.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "BoardResult", + "printedName": "DouShouQiModel.BoardResult", + "usr": "s:14DouShouQiModel11BoardResultO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel11BoardResultO7unknownyA2CmF", + "mangledName": "$s14DouShouQiModel11BoardResultO7unknownyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "ok", + "printedName": "ok", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.BoardResult.Type) -> (DouShouQiModel.Piece?) -> DouShouQiModel.BoardResult", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Piece?) -> DouShouQiModel.BoardResult", + "children": [ + { + "kind": "TypeNominal", + "name": "BoardResult", + "printedName": "DouShouQiModel.BoardResult", + "usr": "s:14DouShouQiModel11BoardResultO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(piece: DouShouQiModel.Piece?)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.Piece?", + "children": [ + { + "kind": "TypeNominal", + "name": "Piece", + "printedName": "DouShouQiModel.Piece", + "usr": "s:14DouShouQiModel5PieceV" + } + ], + "usr": "s:Sq" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.BoardResult.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "BoardResult", + "printedName": "DouShouQiModel.BoardResult", + "usr": "s:14DouShouQiModel11BoardResultO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel11BoardResultO2okyAcA5PieceVSg_tcACmF", + "mangledName": "$s14DouShouQiModel11BoardResultO2okyAcA5PieceVSg_tcACmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "failed", + "printedName": "failed", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.BoardResult.Type) -> (DouShouQiModel.BoardFailingReason) -> DouShouQiModel.BoardResult", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.BoardFailingReason) -> DouShouQiModel.BoardResult", + "children": [ + { + "kind": "TypeNominal", + "name": "BoardResult", + "printedName": "DouShouQiModel.BoardResult", + "usr": "s:14DouShouQiModel11BoardResultO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(reason: DouShouQiModel.BoardFailingReason)", + "children": [ + { + "kind": "TypeNominal", + "name": "BoardFailingReason", + "printedName": "DouShouQiModel.BoardFailingReason", + "usr": "s:14DouShouQiModel18BoardFailingReasonO" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.BoardResult.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "BoardResult", + "printedName": "DouShouQiModel.BoardResult", + "usr": "s:14DouShouQiModel11BoardResultO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel11BoardResultO6failedyAcA0E13FailingReasonO_tcACmF", + "mangledName": "$s14DouShouQiModel11BoardResultO6failedyAcA0E13FailingReasonO_tcACmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "BoardResult", + "printedName": "DouShouQiModel.BoardResult", + "usr": "s:14DouShouQiModel11BoardResultO" + }, + { + "kind": "TypeNominal", + "name": "BoardResult", + "printedName": "DouShouQiModel.BoardResult", + "usr": "s:14DouShouQiModel11BoardResultO" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel11BoardResultO2eeoiySbAC_ACtFZ", + "mangledName": "$s14DouShouQiModel11BoardResultO2eeoiySbAC_ACtFZ", + "moduleName": "DouShouQiModel", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Enum", + "usr": "s:14DouShouQiModel11BoardResultO", + "mangledName": "$s14DouShouQiModel11BoardResultO", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + } + ] + }, + { + "kind": "TypeDecl", + "name": "BoardFailingReason", + "printedName": "BoardFailingReason", + "children": [ + { + "kind": "Var", + "name": "unknown", + "printedName": "unknown", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.BoardFailingReason.Type) -> DouShouQiModel.BoardFailingReason", + "children": [ + { + "kind": "TypeNominal", + "name": "BoardFailingReason", + "printedName": "DouShouQiModel.BoardFailingReason", + "usr": "s:14DouShouQiModel18BoardFailingReasonO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.BoardFailingReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "BoardFailingReason", + "printedName": "DouShouQiModel.BoardFailingReason", + "usr": "s:14DouShouQiModel18BoardFailingReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel18BoardFailingReasonO7unknownyA2CmF", + "mangledName": "$s14DouShouQiModel18BoardFailingReasonO7unknownyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "outOfBounds", + "printedName": "outOfBounds", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.BoardFailingReason.Type) -> DouShouQiModel.BoardFailingReason", + "children": [ + { + "kind": "TypeNominal", + "name": "BoardFailingReason", + "printedName": "DouShouQiModel.BoardFailingReason", + "usr": "s:14DouShouQiModel18BoardFailingReasonO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.BoardFailingReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "BoardFailingReason", + "printedName": "DouShouQiModel.BoardFailingReason", + "usr": "s:14DouShouQiModel18BoardFailingReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel18BoardFailingReasonO11outOfBoundsyA2CmF", + "mangledName": "$s14DouShouQiModel18BoardFailingReasonO11outOfBoundsyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "cellNotEmpty", + "printedName": "cellNotEmpty", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.BoardFailingReason.Type) -> DouShouQiModel.BoardFailingReason", + "children": [ + { + "kind": "TypeNominal", + "name": "BoardFailingReason", + "printedName": "DouShouQiModel.BoardFailingReason", + "usr": "s:14DouShouQiModel18BoardFailingReasonO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.BoardFailingReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "BoardFailingReason", + "printedName": "DouShouQiModel.BoardFailingReason", + "usr": "s:14DouShouQiModel18BoardFailingReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel18BoardFailingReasonO12cellNotEmptyyA2CmF", + "mangledName": "$s14DouShouQiModel18BoardFailingReasonO12cellNotEmptyyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "cellEmpty", + "printedName": "cellEmpty", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.BoardFailingReason.Type) -> DouShouQiModel.BoardFailingReason", + "children": [ + { + "kind": "TypeNominal", + "name": "BoardFailingReason", + "printedName": "DouShouQiModel.BoardFailingReason", + "usr": "s:14DouShouQiModel18BoardFailingReasonO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.BoardFailingReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "BoardFailingReason", + "printedName": "DouShouQiModel.BoardFailingReason", + "usr": "s:14DouShouQiModel18BoardFailingReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel18BoardFailingReasonO9cellEmptyyA2CmF", + "mangledName": "$s14DouShouQiModel18BoardFailingReasonO9cellEmptyyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "BoardFailingReason", + "printedName": "DouShouQiModel.BoardFailingReason", + "usr": "s:14DouShouQiModel18BoardFailingReasonO" + }, + { + "kind": "TypeNominal", + "name": "BoardFailingReason", + "printedName": "DouShouQiModel.BoardFailingReason", + "usr": "s:14DouShouQiModel18BoardFailingReasonO" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel18BoardFailingReasonO2eeoiySbAC_ACtFZ", + "mangledName": "$s14DouShouQiModel18BoardFailingReasonO2eeoiySbAC_ACtFZ", + "moduleName": "DouShouQiModel", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel18BoardFailingReasonO9hashValueSivp", + "mangledName": "$s14DouShouQiModel18BoardFailingReasonO9hashValueSivp", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel18BoardFailingReasonO9hashValueSivg", + "mangledName": "$s14DouShouQiModel18BoardFailingReasonO9hashValueSivg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel18BoardFailingReasonO4hash4intoys6HasherVz_tF", + "mangledName": "$s14DouShouQiModel18BoardFailingReasonO4hash4intoys6HasherVz_tF", + "moduleName": "DouShouQiModel", + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Enum", + "usr": "s:14DouShouQiModel18BoardFailingReasonO", + "mangledName": "$s14DouShouQiModel18BoardFailingReasonO", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel" + }, + { + "kind": "TypeDecl", + "name": "HumanPlayer", + "printedName": "HumanPlayer", + "children": [ + { + "kind": "Constructor", + "name": "init", + "printedName": "init(withName:andId:andInputMethod:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.HumanPlayer?", + "children": [ + { + "kind": "TypeNominal", + "name": "HumanPlayer", + "printedName": "DouShouQiModel.HumanPlayer", + "usr": "s:14DouShouQiModel11HumanPlayerC" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.HumanPlayer) -> DouShouQiModel.Move?", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.Move?", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "HumanPlayer", + "printedName": "DouShouQiModel.HumanPlayer", + "usr": "s:14DouShouQiModel11HumanPlayerC" + } + ] + } + ], + "declKind": "Constructor", + "usr": "s:14DouShouQiModel11HumanPlayerC8withName5andId0I11InputMethodACSgSS_AA5OwnerOAA4MoveVSgACctcfc", + "mangledName": "$s14DouShouQiModel11HumanPlayerC8withName5andId0I11InputMethodACSgSS_AA5OwnerOAA4MoveVSgACctcfc", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(withName:andId:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.HumanPlayer?", + "children": [ + { + "kind": "TypeNominal", + "name": "HumanPlayer", + "printedName": "DouShouQiModel.HumanPlayer", + "usr": "s:14DouShouQiModel11HumanPlayerC" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Constructor", + "usr": "s:14DouShouQiModel11HumanPlayerC8withName5andIdACSgSS_AA5OwnerOtcfc", + "mangledName": "$s14DouShouQiModel11HumanPlayerC8withName5andIdACSgSS_AA5OwnerOtcfc", + "moduleName": "DouShouQiModel", + "overriding": true, + "declAttributes": [ + "Override", + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "chooseMove", + "printedName": "chooseMove(in:with:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Rules", + "printedName": "DouShouQiModel.Rules", + "usr": "s:14DouShouQiModel5RulesP" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel11HumanPlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKF", + "mangledName": "$s14DouShouQiModel11HumanPlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKF", + "moduleName": "DouShouQiModel", + "overriding": true, + "declAttributes": [ + "Override", + "AccessControl" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "changeInput", + "printedName": "changeInput(input:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.HumanPlayer) -> DouShouQiModel.Move?", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.Move?", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "HumanPlayer", + "printedName": "DouShouQiModel.HumanPlayer", + "usr": "s:14DouShouQiModel11HumanPlayerC" + } + ] + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel11HumanPlayerC11changeInput5inputyAA4MoveVSgACc_tF", + "mangledName": "$s14DouShouQiModel11HumanPlayerC11changeInput5inputyAA4MoveVSgACc_tF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "chooseMove", + "printedName": "chooseMove(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.Move?", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel11HumanPlayerC10chooseMoveyyAA0H0VSgYaKF", + "mangledName": "$s14DouShouQiModel11HumanPlayerC10chooseMoveyyAA0H0VSgYaKF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:14DouShouQiModel11HumanPlayerC", + "mangledName": "$s14DouShouQiModel11HumanPlayerC", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "superclassUsr": "s:14DouShouQiModel6PlayerC", + "inheritsConvenienceInitializers": true, + "superclassNames": [ + "DouShouQiModel.Player" + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel" + }, + { + "kind": "TypeDecl", + "name": "ClassicRules", + "printedName": "ClassicRules", + "children": [ + { + "kind": "Function", + "name": "createBoard", + "printedName": "createBoard()", + "children": [ + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel12ClassicRulesV11createBoardAA0H0VyFZ", + "mangledName": "$s14DouShouQiModel12ClassicRulesV11createBoardAA0H0VyFZ", + "moduleName": "DouShouQiModel", + "static": true, + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "checkBoard", + "printedName": "checkBoard(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel12ClassicRulesV10checkBoardyyAA0H0VKFZ", + "mangledName": "$s14DouShouQiModel12ClassicRulesV10checkBoardyyAA0H0VKFZ", + "moduleName": "DouShouQiModel", + "static": true, + "declAttributes": [ + "AccessControl" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init()", + "children": [ + { + "kind": "TypeNominal", + "name": "ClassicRules", + "printedName": "DouShouQiModel.ClassicRules", + "usr": "s:14DouShouQiModel12ClassicRulesV" + } + ], + "declKind": "Constructor", + "usr": "s:14DouShouQiModel12ClassicRulesVACycfc", + "mangledName": "$s14DouShouQiModel12ClassicRulesVACycfc", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(occurences:historic:)", + "children": [ + { + "kind": "TypeNominal", + "name": "ClassicRules", + "printedName": "DouShouQiModel.ClassicRules", + "usr": "s:14DouShouQiModel12ClassicRulesV" + }, + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[DouShouQiModel.Board : Swift.Int]", + "children": [ + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:SD" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.Move]", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Constructor", + "usr": "s:14DouShouQiModel12ClassicRulesV10occurences8historicACSDyAA5BoardVSiG_SayAA4MoveVGtcfc", + "mangledName": "$s14DouShouQiModel12ClassicRulesV10occurences8historicACSDyAA5BoardVSiG_SayAA4MoveVGtcfc", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "getMoves", + "printedName": "getMoves(in:of:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.Move]", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sa" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel12ClassicRulesV8getMoves2in2ofSayAA4MoveVGAA5BoardV_AA5OwnerOtF", + "mangledName": "$s14DouShouQiModel12ClassicRulesV8getMoves2in2ofSayAA4MoveVGAA5BoardV_AA5OwnerOtF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "getMoves", + "printedName": "getMoves(in:of:fromRow:andColumn:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.Move]", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sa" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel12ClassicRulesV8getMoves2in2of7fromRow9andColumnSayAA4MoveVGAA5BoardV_AA5OwnerOS2itF", + "mangledName": "$s14DouShouQiModel12ClassicRulesV8getMoves2in2of7fromRow9andColumnSayAA4MoveVGAA5BoardV_AA5OwnerOS2itF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "isMoveValid", + "printedName": "isMoveValid(onBoard:fromRow:andFromColumn:toRow:andToColumn:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel12ClassicRulesV11isMoveValid7onBoard7fromRow13andFromColumn02toM00n2ToP0SbAA0K0V_S4itF", + "mangledName": "$s14DouShouQiModel12ClassicRulesV11isMoveValid7onBoard7fromRow13andFromColumn02toM00n2ToP0SbAA0K0V_S4itF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "isMoveValid", + "printedName": "isMoveValid(onBoard:withMove:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel12ClassicRulesV11isMoveValid7onBoard04withH0SbAA0K0V_AA0H0VtF", + "mangledName": "$s14DouShouQiModel12ClassicRulesV11isMoveValid7onBoard04withH0SbAA0K0V_AA0H0VtF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "isGameOver", + "printedName": "isGameOver(withBoard:andLastRowPlayed:andLastColumnPlayer:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(Swift.Bool, DouShouQiModel.Result)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Result", + "printedName": "DouShouQiModel.Result", + "usr": "s:14DouShouQiModel6ResultO" + } + ] + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel12ClassicRulesV10isGameOver9withBoard16andLastRowPlayed0lM12ColumnPlayerSb_AA6ResultOtAA0K0V_S2itF", + "mangledName": "$s14DouShouQiModel12ClassicRulesV10isGameOver9withBoard16andLastRowPlayed0lM12ColumnPlayerSb_AA6ResultOtAA0K0V_S2itF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "playedMove", + "printedName": "playedMove(_:onStartingBoard:andResultingBoard:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel12ClassicRulesV10playedMove_15onStartingBoard012andResultingK0yAA0H0V_AA0K0VAJtKF", + "mangledName": "$s14DouShouQiModel12ClassicRulesV10playedMove_15onStartingBoard012andResultingK0yAA0H0V_AA0K0VAJtKF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "Mutating", + "AccessControl" + ], + "throwing": true, + "funcSelfKind": "Mutating" + }, + { + "kind": "Function", + "name": "getNextPlayer", + "printedName": "getNextPlayer()", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel12ClassicRulesV13getNextPlayerAA5OwnerOyF", + "mangledName": "$s14DouShouQiModel12ClassicRulesV13getNextPlayerAA5OwnerOyF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "occurences", + "printedName": "occurences", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[DouShouQiModel.Board : Swift.Int]", + "children": [ + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel12ClassicRulesV10occurencesSDyAA5BoardVSiGvp", + "mangledName": "$s14DouShouQiModel12ClassicRulesV10occurencesSDyAA5BoardVSiGvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "SetterAccess", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[DouShouQiModel.Board : Swift.Int]", + "children": [ + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel12ClassicRulesV10occurencesSDyAA5BoardVSiGvg", + "mangledName": "$s14DouShouQiModel12ClassicRulesV10occurencesSDyAA5BoardVSiGvg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "historic", + "printedName": "historic", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.Move]", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel12ClassicRulesV8historicSayAA4MoveVGvp", + "mangledName": "$s14DouShouQiModel12ClassicRulesV8historicSayAA4MoveVGvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "SetterAccess", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.Move]", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel12ClassicRulesV8historicSayAA4MoveVGvg", + "mangledName": "$s14DouShouQiModel12ClassicRulesV8historicSayAA4MoveVGvg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Struct", + "usr": "s:14DouShouQiModel12ClassicRulesV", + "mangledName": "$s14DouShouQiModel12ClassicRulesV", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Rules", + "printedName": "Rules", + "usr": "s:14DouShouQiModel5RulesP", + "mangledName": "$s14DouShouQiModel5RulesP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel" + }, + { + "kind": "TypeDecl", + "name": "Cell", + "printedName": "Cell", + "children": [ + { + "kind": "Var", + "name": "description", + "printedName": "description", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel4CellV11descriptionSSvp", + "mangledName": "$s14DouShouQiModel4CellV11descriptionSSvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel4CellV11descriptionSSvg", + "mangledName": "$s14DouShouQiModel4CellV11descriptionSSvg", + "moduleName": "DouShouQiModel", + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "cellType", + "printedName": "cellType", + "children": [ + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel4CellV8cellTypeAA0eG0Ovp", + "mangledName": "$s14DouShouQiModel4CellV8cellTypeAA0eG0Ovp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel4CellV8cellTypeAA0eG0Ovg", + "mangledName": "$s14DouShouQiModel4CellV8cellTypeAA0eG0Ovg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "initialOwner", + "printedName": "initialOwner", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel4CellV12initialOwnerAA0G0Ovp", + "mangledName": "$s14DouShouQiModel4CellV12initialOwnerAA0G0Ovp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel4CellV12initialOwnerAA0G0Ovg", + "mangledName": "$s14DouShouQiModel4CellV12initialOwnerAA0G0Ovg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "piece", + "printedName": "piece", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.Piece?", + "children": [ + { + "kind": "TypeNominal", + "name": "Piece", + "printedName": "DouShouQiModel.Piece", + "usr": "s:14DouShouQiModel5PieceV" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel4CellV5pieceAA5PieceVSgvp", + "mangledName": "$s14DouShouQiModel4CellV5pieceAA5PieceVSgvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.Piece?", + "children": [ + { + "kind": "TypeNominal", + "name": "Piece", + "printedName": "DouShouQiModel.Piece", + "usr": "s:14DouShouQiModel5PieceV" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel4CellV5pieceAA5PieceVSgvg", + "mangledName": "$s14DouShouQiModel4CellV5pieceAA5PieceVSgvg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.Piece?", + "children": [ + { + "kind": "TypeNominal", + "name": "Piece", + "printedName": "DouShouQiModel.Piece", + "usr": "s:14DouShouQiModel5PieceV" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel4CellV5pieceAA5PieceVSgvs", + "mangledName": "$s14DouShouQiModel4CellV5pieceAA5PieceVSgvs", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel4CellV5pieceAA5PieceVSgvM", + "mangledName": "$s14DouShouQiModel4CellV5pieceAA5PieceVSgvM", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(ofType:ownedBy:withPiece:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Cell", + "printedName": "DouShouQiModel.Cell", + "usr": "s:14DouShouQiModel4CellV" + }, + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + }, + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "hasDefaultArg": true, + "usr": "s:14DouShouQiModel5OwnerO" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.Piece?", + "children": [ + { + "kind": "TypeNominal", + "name": "Piece", + "printedName": "DouShouQiModel.Piece", + "usr": "s:14DouShouQiModel5PieceV" + } + ], + "hasDefaultArg": true, + "usr": "s:Sq" + } + ], + "declKind": "Constructor", + "usr": "s:14DouShouQiModel4CellV6ofType7ownedBy9withPieceAcA0eG0O_AA5OwnerOAA0K0VSgtcfc", + "mangledName": "$s14DouShouQiModel4CellV6ofType7ownedBy9withPieceAcA0eG0O_AA5OwnerOAA0K0VSgtcfc", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Cell", + "printedName": "DouShouQiModel.Cell", + "usr": "s:14DouShouQiModel4CellV" + }, + { + "kind": "TypeNominal", + "name": "Cell", + "printedName": "DouShouQiModel.Cell", + "usr": "s:14DouShouQiModel4CellV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel4CellV2eeoiySbAC_ACtFZ", + "mangledName": "$s14DouShouQiModel4CellV2eeoiySbAC_ACtFZ", + "moduleName": "DouShouQiModel", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Struct", + "usr": "s:14DouShouQiModel4CellV", + "mangledName": "$s14DouShouQiModel4CellV", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel" + }, + { + "kind": "TypeDecl", + "name": "VerySimpleRules", + "printedName": "VerySimpleRules", + "children": [ + { + "kind": "Function", + "name": "createBoard", + "printedName": "createBoard()", + "children": [ + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel15VerySimpleRulesV11createBoardAA0I0VyFZ", + "mangledName": "$s14DouShouQiModel15VerySimpleRulesV11createBoardAA0I0VyFZ", + "moduleName": "DouShouQiModel", + "static": true, + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "checkBoard", + "printedName": "checkBoard(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel15VerySimpleRulesV10checkBoardyyAA0I0VKFZ", + "mangledName": "$s14DouShouQiModel15VerySimpleRulesV10checkBoardyyAA0I0VKFZ", + "moduleName": "DouShouQiModel", + "static": true, + "declAttributes": [ + "AccessControl" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init()", + "children": [ + { + "kind": "TypeNominal", + "name": "VerySimpleRules", + "printedName": "DouShouQiModel.VerySimpleRules", + "usr": "s:14DouShouQiModel15VerySimpleRulesV" + } + ], + "declKind": "Constructor", + "usr": "s:14DouShouQiModel15VerySimpleRulesVACycfc", + "mangledName": "$s14DouShouQiModel15VerySimpleRulesVACycfc", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(occurences:historic:)", + "children": [ + { + "kind": "TypeNominal", + "name": "VerySimpleRules", + "printedName": "DouShouQiModel.VerySimpleRules", + "usr": "s:14DouShouQiModel15VerySimpleRulesV" + }, + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[DouShouQiModel.Board : Swift.Int]", + "children": [ + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:SD" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.Move]", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Constructor", + "usr": "s:14DouShouQiModel15VerySimpleRulesV10occurences8historicACSDyAA5BoardVSiG_SayAA4MoveVGtcfc", + "mangledName": "$s14DouShouQiModel15VerySimpleRulesV10occurences8historicACSDyAA5BoardVSiG_SayAA4MoveVGtcfc", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "getMoves", + "printedName": "getMoves(in:of:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.Move]", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sa" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel15VerySimpleRulesV8getMoves2in2ofSayAA4MoveVGAA5BoardV_AA5OwnerOtF", + "mangledName": "$s14DouShouQiModel15VerySimpleRulesV8getMoves2in2ofSayAA4MoveVGAA5BoardV_AA5OwnerOtF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "getMoves", + "printedName": "getMoves(in:of:fromRow:andColumn:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.Move]", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sa" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel15VerySimpleRulesV8getMoves2in2of7fromRow9andColumnSayAA4MoveVGAA5BoardV_AA5OwnerOS2itF", + "mangledName": "$s14DouShouQiModel15VerySimpleRulesV8getMoves2in2of7fromRow9andColumnSayAA4MoveVGAA5BoardV_AA5OwnerOS2itF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "isMoveValid", + "printedName": "isMoveValid(onBoard:fromRow:andFromColumn:toRow:andToColumn:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel15VerySimpleRulesV11isMoveValid7onBoard7fromRow13andFromColumn02toN00o2ToQ0SbAA0L0V_S4itF", + "mangledName": "$s14DouShouQiModel15VerySimpleRulesV11isMoveValid7onBoard7fromRow13andFromColumn02toN00o2ToQ0SbAA0L0V_S4itF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "isMoveValid", + "printedName": "isMoveValid(onBoard:withMove:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel15VerySimpleRulesV11isMoveValid7onBoard04withI0SbAA0L0V_AA0I0VtF", + "mangledName": "$s14DouShouQiModel15VerySimpleRulesV11isMoveValid7onBoard04withI0SbAA0L0V_AA0I0VtF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "isGameOver", + "printedName": "isGameOver(withBoard:andLastRowPlayed:andLastColumnPlayer:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(Swift.Bool, DouShouQiModel.Result)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Result", + "printedName": "DouShouQiModel.Result", + "usr": "s:14DouShouQiModel6ResultO" + } + ] + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel15VerySimpleRulesV10isGameOver9withBoard16andLastRowPlayed0mN12ColumnPlayerSb_AA6ResultOtAA0L0V_S2itF", + "mangledName": "$s14DouShouQiModel15VerySimpleRulesV10isGameOver9withBoard16andLastRowPlayed0mN12ColumnPlayerSb_AA6ResultOtAA0L0V_S2itF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "playedMove", + "printedName": "playedMove(_:onStartingBoard:andResultingBoard:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel15VerySimpleRulesV10playedMove_15onStartingBoard012andResultingL0yAA0I0V_AA0L0VAJtKF", + "mangledName": "$s14DouShouQiModel15VerySimpleRulesV10playedMove_15onStartingBoard012andResultingL0yAA0I0V_AA0L0VAJtKF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "Mutating", + "AccessControl" + ], + "throwing": true, + "funcSelfKind": "Mutating" + }, + { + "kind": "Function", + "name": "getNextPlayer", + "printedName": "getNextPlayer()", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel15VerySimpleRulesV13getNextPlayerAA5OwnerOyF", + "mangledName": "$s14DouShouQiModel15VerySimpleRulesV13getNextPlayerAA5OwnerOyF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "occurences", + "printedName": "occurences", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[DouShouQiModel.Board : Swift.Int]", + "children": [ + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel15VerySimpleRulesV10occurencesSDyAA5BoardVSiGvp", + "mangledName": "$s14DouShouQiModel15VerySimpleRulesV10occurencesSDyAA5BoardVSiGvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "SetterAccess", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[DouShouQiModel.Board : Swift.Int]", + "children": [ + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel15VerySimpleRulesV10occurencesSDyAA5BoardVSiGvg", + "mangledName": "$s14DouShouQiModel15VerySimpleRulesV10occurencesSDyAA5BoardVSiGvg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "historic", + "printedName": "historic", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.Move]", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel15VerySimpleRulesV8historicSayAA4MoveVGvp", + "mangledName": "$s14DouShouQiModel15VerySimpleRulesV8historicSayAA4MoveVGvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "SetterAccess", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.Move]", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel15VerySimpleRulesV8historicSayAA4MoveVGvg", + "mangledName": "$s14DouShouQiModel15VerySimpleRulesV8historicSayAA4MoveVGvg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Struct", + "usr": "s:14DouShouQiModel15VerySimpleRulesV", + "mangledName": "$s14DouShouQiModel15VerySimpleRulesV", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Rules", + "printedName": "Rules", + "usr": "s:14DouShouQiModel5RulesP", + "mangledName": "$s14DouShouQiModel5RulesP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel" + }, + { + "kind": "TypeDecl", + "name": "Rules", + "printedName": "Rules", + "children": [ + { + "kind": "Function", + "name": "createBoard", + "printedName": "createBoard()", + "children": [ + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5RulesP11createBoardAA0G0VyFZ", + "mangledName": "$s14DouShouQiModel5RulesP11createBoardAA0G0VyFZ", + "moduleName": "DouShouQiModel", + "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", + "sugared_genericSig": "", + "static": true, + "protocolReq": true, + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "checkBoard", + "printedName": "checkBoard(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5RulesP10checkBoardyyAA0G0VKFZ", + "mangledName": "$s14DouShouQiModel5RulesP10checkBoardyyAA0G0VKFZ", + "moduleName": "DouShouQiModel", + "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", + "sugared_genericSig": "", + "static": true, + "protocolReq": true, + "throwing": true, + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "getNextPlayer", + "printedName": "getNextPlayer()", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5RulesP13getNextPlayerAA5OwnerOyF", + "mangledName": "$s14DouShouQiModel5RulesP13getNextPlayerAA5OwnerOyF", + "moduleName": "DouShouQiModel", + "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", + "sugared_genericSig": "", + "protocolReq": true, + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "getMoves", + "printedName": "getMoves(in:of:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.Move]", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sa" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5RulesP8getMoves2in2ofSayAA4MoveVGAA5BoardV_AA5OwnerOtF", + "mangledName": "$s14DouShouQiModel5RulesP8getMoves2in2ofSayAA4MoveVGAA5BoardV_AA5OwnerOtF", + "moduleName": "DouShouQiModel", + "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", + "sugared_genericSig": "", + "protocolReq": true, + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "getMoves", + "printedName": "getMoves(in:of:fromRow:andColumn:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.Move]", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sa" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5RulesP8getMoves2in2of7fromRow9andColumnSayAA4MoveVGAA5BoardV_AA5OwnerOS2itF", + "mangledName": "$s14DouShouQiModel5RulesP8getMoves2in2of7fromRow9andColumnSayAA4MoveVGAA5BoardV_AA5OwnerOS2itF", + "moduleName": "DouShouQiModel", + "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", + "sugared_genericSig": "", + "protocolReq": true, + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "isMoveValid", + "printedName": "isMoveValid(onBoard:fromRow:andFromColumn:toRow:andToColumn:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5RulesP11isMoveValid7onBoard7fromRow13andFromColumn02toL00m2ToO0SbAA0J0V_S4itF", + "mangledName": "$s14DouShouQiModel5RulesP11isMoveValid7onBoard7fromRow13andFromColumn02toL00m2ToO0SbAA0J0V_S4itF", + "moduleName": "DouShouQiModel", + "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", + "sugared_genericSig": "", + "protocolReq": true, + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "isMoveValid", + "printedName": "isMoveValid(onBoard:withMove:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5RulesP11isMoveValid7onBoard04withG0SbAA0J0V_AA0G0VtF", + "mangledName": "$s14DouShouQiModel5RulesP11isMoveValid7onBoard04withG0SbAA0J0V_AA0G0VtF", + "moduleName": "DouShouQiModel", + "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", + "sugared_genericSig": "", + "protocolReq": true, + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "isGameOver", + "printedName": "isGameOver(withBoard:andLastRowPlayed:andLastColumnPlayer:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(Swift.Bool, DouShouQiModel.Result)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Result", + "printedName": "DouShouQiModel.Result", + "usr": "s:14DouShouQiModel6ResultO" + } + ] + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5RulesP10isGameOver9withBoard16andLastRowPlayed0kL12ColumnPlayerSb_AA6ResultOtAA0J0V_S2itF", + "mangledName": "$s14DouShouQiModel5RulesP10isGameOver9withBoard16andLastRowPlayed0kL12ColumnPlayerSb_AA6ResultOtAA0J0V_S2itF", + "moduleName": "DouShouQiModel", + "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", + "sugared_genericSig": "", + "protocolReq": true, + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "playedMove", + "printedName": "playedMove(_:onStartingBoard:andResultingBoard:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5RulesP10playedMove_15onStartingBoard012andResultingJ0yAA0G0V_AA0J0VAJtKF", + "mangledName": "$s14DouShouQiModel5RulesP10playedMove_15onStartingBoard012andResultingJ0yAA0G0V_AA0J0VAJtKF", + "moduleName": "DouShouQiModel", + "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", + "sugared_genericSig": "", + "protocolReq": true, + "declAttributes": [ + "Mutating" + ], + "throwing": true, + "reqNewWitnessTableEntry": true, + "funcSelfKind": "Mutating" + }, + { + "kind": "Var", + "name": "occurences", + "printedName": "occurences", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[DouShouQiModel.Board : Swift.Int]", + "children": [ + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel5RulesP10occurencesSDyAA5BoardVSiGvp", + "mangledName": "$s14DouShouQiModel5RulesP10occurencesSDyAA5BoardVSiGvp", + "moduleName": "DouShouQiModel", + "protocolReq": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[DouShouQiModel.Board : Swift.Int]", + "children": [ + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel5RulesP10occurencesSDyAA5BoardVSiGvg", + "mangledName": "$s14DouShouQiModel5RulesP10occurencesSDyAA5BoardVSiGvg", + "moduleName": "DouShouQiModel", + "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", + "sugared_genericSig": "", + "protocolReq": true, + "reqNewWitnessTableEntry": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "historic", + "printedName": "historic", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.Move]", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel5RulesP8historicSayAA4MoveVGvp", + "mangledName": "$s14DouShouQiModel5RulesP8historicSayAA4MoveVGvp", + "moduleName": "DouShouQiModel", + "protocolReq": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.Move]", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel5RulesP8historicSayAA4MoveVGvg", + "mangledName": "$s14DouShouQiModel5RulesP8historicSayAA4MoveVGvg", + "moduleName": "DouShouQiModel", + "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", + "sugared_genericSig": "", + "protocolReq": true, + "reqNewWitnessTableEntry": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Protocol", + "usr": "s:14DouShouQiModel5RulesP", + "mangledName": "$s14DouShouQiModel5RulesP", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel" + }, + { + "kind": "TypeDecl", + "name": "Player", + "printedName": "Player", + "children": [ + { + "kind": "Var", + "name": "name", + "printedName": "name", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel6PlayerC4nameSSvp", + "mangledName": "$s14DouShouQiModel6PlayerC4nameSSvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasStorage", + "Final", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel6PlayerC4nameSSvg", + "mangledName": "$s14DouShouQiModel6PlayerC4nameSSvg", + "moduleName": "DouShouQiModel", + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "id", + "printedName": "id", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel6PlayerC2idAA5OwnerOvp", + "mangledName": "$s14DouShouQiModel6PlayerC2idAA5OwnerOvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasStorage", + "Final", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel6PlayerC2idAA5OwnerOvg", + "mangledName": "$s14DouShouQiModel6PlayerC2idAA5OwnerOvg", + "moduleName": "DouShouQiModel", + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(withName:andId:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.Player?", + "children": [ + { + "kind": "TypeNominal", + "name": "Player", + "printedName": "DouShouQiModel.Player", + "usr": "s:14DouShouQiModel6PlayerC" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Constructor", + "usr": "s:14DouShouQiModel6PlayerC8withName5andIdACSgSS_AA5OwnerOtcfc", + "mangledName": "$s14DouShouQiModel6PlayerC8withName5andIdACSgSS_AA5OwnerOtcfc", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "chooseMove", + "printedName": "chooseMove(in:with:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Rules", + "printedName": "DouShouQiModel.Rules", + "usr": "s:14DouShouQiModel5RulesP" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel6PlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKF", + "mangledName": "$s14DouShouQiModel6PlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "addPlayedCallbacksListener", + "printedName": "addPlayedCallbacksListener(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Move?, DouShouQiModel.Player) async throws -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(DouShouQiModel.Move?, DouShouQiModel.Player)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.Move?", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Player", + "printedName": "DouShouQiModel.Player", + "usr": "s:14DouShouQiModel6PlayerC" + } + ] + } + ] + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel6PlayerC26addPlayedCallbacksListeneryyyAA4MoveVSg_ACtYaKcF", + "mangledName": "$s14DouShouQiModel6PlayerC26addPlayedCallbacksListeneryyyAA4MoveVSg_ACtYaKcF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "notifyPlayed", + "printedName": "notifyPlayed(withMove:andPlayer:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.Move?", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Player", + "printedName": "DouShouQiModel.Player", + "usr": "s:14DouShouQiModel6PlayerC" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel6PlayerC12notifyPlayed8withMove03andE0yAA0I0VSg_ACtYaKF", + "mangledName": "$s14DouShouQiModel6PlayerC12notifyPlayed8withMove03andE0yAA0I0VSg_ACtYaKF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:14DouShouQiModel6PlayerC", + "mangledName": "$s14DouShouQiModel6PlayerC", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel" + }, + { + "kind": "TypeDecl", + "name": "GameError", + "printedName": "GameError", + "children": [ + { + "kind": "Var", + "name": "invalidMove", + "printedName": "invalidMove", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.GameError.Type) -> DouShouQiModel.GameError", + "children": [ + { + "kind": "TypeNominal", + "name": "GameError", + "printedName": "DouShouQiModel.GameError", + "usr": "s:14DouShouQiModel9GameErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.GameError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "GameError", + "printedName": "DouShouQiModel.GameError", + "usr": "s:14DouShouQiModel9GameErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel9GameErrorO11invalidMoveyA2CmF", + "mangledName": "$s14DouShouQiModel9GameErrorO11invalidMoveyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "nextPlayerError", + "printedName": "nextPlayerError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.GameError.Type) -> DouShouQiModel.GameError", + "children": [ + { + "kind": "TypeNominal", + "name": "GameError", + "printedName": "DouShouQiModel.GameError", + "usr": "s:14DouShouQiModel9GameErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.GameError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "GameError", + "printedName": "DouShouQiModel.GameError", + "usr": "s:14DouShouQiModel9GameErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel9GameErrorO010nextPlayerF0yA2CmF", + "mangledName": "$s14DouShouQiModel9GameErrorO010nextPlayerF0yA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "badPlayerId", + "printedName": "badPlayerId", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.GameError.Type) -> (Swift.String) -> DouShouQiModel.GameError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.String) -> DouShouQiModel.GameError", + "children": [ + { + "kind": "TypeNominal", + "name": "GameError", + "printedName": "DouShouQiModel.GameError", + "usr": "s:14DouShouQiModel9GameErrorO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(message: Swift.String)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.GameError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "GameError", + "printedName": "DouShouQiModel.GameError", + "usr": "s:14DouShouQiModel9GameErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel9GameErrorO11badPlayerIdyACSS_tcACmF", + "mangledName": "$s14DouShouQiModel9GameErrorO11badPlayerIdyACSS_tcACmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "invalidRules", + "printedName": "invalidRules", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.GameError.Type) -> DouShouQiModel.GameError", + "children": [ + { + "kind": "TypeNominal", + "name": "GameError", + "printedName": "DouShouQiModel.GameError", + "usr": "s:14DouShouQiModel9GameErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.GameError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "GameError", + "printedName": "DouShouQiModel.GameError", + "usr": "s:14DouShouQiModel9GameErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel9GameErrorO12invalidRulesyA2CmF", + "mangledName": "$s14DouShouQiModel9GameErrorO12invalidRulesyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "invalidPlayer", + "printedName": "invalidPlayer", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.GameError.Type) -> DouShouQiModel.GameError", + "children": [ + { + "kind": "TypeNominal", + "name": "GameError", + "printedName": "DouShouQiModel.GameError", + "usr": "s:14DouShouQiModel9GameErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.GameError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "GameError", + "printedName": "DouShouQiModel.GameError", + "usr": "s:14DouShouQiModel9GameErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel9GameErrorO13invalidPlayeryA2CmF", + "mangledName": "$s14DouShouQiModel9GameErrorO13invalidPlayeryA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "invalidGame", + "printedName": "invalidGame", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.GameError.Type) -> DouShouQiModel.GameError", + "children": [ + { + "kind": "TypeNominal", + "name": "GameError", + "printedName": "DouShouQiModel.GameError", + "usr": "s:14DouShouQiModel9GameErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.GameError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "GameError", + "printedName": "DouShouQiModel.GameError", + "usr": "s:14DouShouQiModel9GameErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel9GameErrorO07invalidE0yA2CmF", + "mangledName": "$s14DouShouQiModel9GameErrorO07invalidE0yA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "invalidBoard", + "printedName": "invalidBoard", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.GameError.Type) -> DouShouQiModel.GameError", + "children": [ + { + "kind": "TypeNominal", + "name": "GameError", + "printedName": "DouShouQiModel.GameError", + "usr": "s:14DouShouQiModel9GameErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.GameError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "GameError", + "printedName": "DouShouQiModel.GameError", + "usr": "s:14DouShouQiModel9GameErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel9GameErrorO12invalidBoardyA2CmF", + "mangledName": "$s14DouShouQiModel9GameErrorO12invalidBoardyA2CmF", + "moduleName": "DouShouQiModel" + } + ], + "declKind": "Enum", + "usr": "s:14DouShouQiModel9GameErrorO", + "mangledName": "$s14DouShouQiModel9GameErrorO", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Error", + "printedName": "Error", + "usr": "s:s5ErrorP", + "mangledName": "$ss5ErrorP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel" + }, + { + "kind": "TypeDecl", + "name": "RandomPlayer", + "printedName": "RandomPlayer", + "children": [ + { + "kind": "Function", + "name": "chooseMove", + "printedName": "chooseMove(in:with:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Rules", + "printedName": "DouShouQiModel.Rules", + "usr": "s:14DouShouQiModel5RulesP" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel12RandomPlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKF", + "mangledName": "$s14DouShouQiModel12RandomPlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKF", + "moduleName": "DouShouQiModel", + "overriding": true, + "declAttributes": [ + "Override", + "AccessControl" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(withName:andId:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.RandomPlayer?", + "children": [ + { + "kind": "TypeNominal", + "name": "RandomPlayer", + "printedName": "DouShouQiModel.RandomPlayer", + "usr": "s:14DouShouQiModel12RandomPlayerC" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Constructor", + "usr": "s:14DouShouQiModel12RandomPlayerC8withName5andIdACSgSS_AA5OwnerOtcfc", + "mangledName": "$s14DouShouQiModel12RandomPlayerC8withName5andIdACSgSS_AA5OwnerOtcfc", + "moduleName": "DouShouQiModel", + "overriding": true, + "implicit": true, + "declAttributes": [ + "Override" + ], + "init_kind": "Designated" + } + ], + "declKind": "Class", + "usr": "s:14DouShouQiModel12RandomPlayerC", + "mangledName": "$s14DouShouQiModel12RandomPlayerC", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "superclassUsr": "s:14DouShouQiModel8IAPlayerC", + "inheritsConvenienceInitializers": true, + "superclassNames": [ + "DouShouQiModel.IAPlayer", + "DouShouQiModel.Player" + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel" + }, + { + "kind": "TypeDecl", + "name": "CellType", + "printedName": "CellType", + "children": [ + { + "kind": "Var", + "name": "unknown", + "printedName": "unknown", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.CellType.Type) -> DouShouQiModel.CellType", + "children": [ + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.CellType.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel8CellTypeO7unknownyA2CmF", + "mangledName": "$s14DouShouQiModel8CellTypeO7unknownyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "jungle", + "printedName": "jungle", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.CellType.Type) -> DouShouQiModel.CellType", + "children": [ + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.CellType.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel8CellTypeO6jungleyA2CmF", + "mangledName": "$s14DouShouQiModel8CellTypeO6jungleyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "water", + "printedName": "water", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.CellType.Type) -> DouShouQiModel.CellType", + "children": [ + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.CellType.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel8CellTypeO5wateryA2CmF", + "mangledName": "$s14DouShouQiModel8CellTypeO5wateryA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "trap", + "printedName": "trap", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.CellType.Type) -> DouShouQiModel.CellType", + "children": [ + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.CellType.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel8CellTypeO4trapyA2CmF", + "mangledName": "$s14DouShouQiModel8CellTypeO4trapyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "den", + "printedName": "den", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.CellType.Type) -> DouShouQiModel.CellType", + "children": [ + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.CellType.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel8CellTypeO3denyA2CmF", + "mangledName": "$s14DouShouQiModel8CellTypeO3denyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "allCases", + "printedName": "allCases", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.CellType]", + "children": [ + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel8CellTypeO8allCasesSayACGvpZ", + "mangledName": "$s14DouShouQiModel8CellTypeO8allCasesSayACGvpZ", + "moduleName": "DouShouQiModel", + "static": true, + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.CellType]", + "children": [ + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel8CellTypeO8allCasesSayACGvgZ", + "mangledName": "$s14DouShouQiModel8CellTypeO8allCasesSayACGvgZ", + "moduleName": "DouShouQiModel", + "static": true, + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + }, + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel8CellTypeO2eeoiySbAC_ACtFZ", + "mangledName": "$s14DouShouQiModel8CellTypeO2eeoiySbAC_ACtFZ", + "moduleName": "DouShouQiModel", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel8CellTypeO9hashValueSivp", + "mangledName": "$s14DouShouQiModel8CellTypeO9hashValueSivp", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel8CellTypeO9hashValueSivg", + "mangledName": "$s14DouShouQiModel8CellTypeO9hashValueSivg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel8CellTypeO4hash4intoys6HasherVz_tF", + "mangledName": "$s14DouShouQiModel8CellTypeO4hash4intoys6HasherVz_tF", + "moduleName": "DouShouQiModel", + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Enum", + "usr": "s:14DouShouQiModel8CellTypeO", + "mangledName": "$s14DouShouQiModel8CellTypeO", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "CaseIterable", + "printedName": "CaseIterable", + "children": [ + { + "kind": "TypeWitness", + "name": "AllCases", + "printedName": "AllCases", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.CellType]", + "children": [ + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + } + ], + "usr": "s:Sa" + } + ] + } + ], + "usr": "s:s12CaseIterableP", + "mangledName": "$ss12CaseIterableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel" + }, + { + "kind": "TypeDecl", + "name": "Board", + "printedName": "Board", + "children": [ + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5BoardV4hash4intoys6HasherVz_tF", + "mangledName": "$s14DouShouQiModel5BoardV4hash4intoys6HasherVz_tF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "nbRows", + "printedName": "nbRows", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel5BoardV6nbRowsSivp", + "mangledName": "$s14DouShouQiModel5BoardV6nbRowsSivp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel5BoardV6nbRowsSivg", + "mangledName": "$s14DouShouQiModel5BoardV6nbRowsSivg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "nbColumns", + "printedName": "nbColumns", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel5BoardV9nbColumnsSivp", + "mangledName": "$s14DouShouQiModel5BoardV9nbColumnsSivp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel5BoardV9nbColumnsSivg", + "mangledName": "$s14DouShouQiModel5BoardV9nbColumnsSivg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "grid", + "printedName": "grid", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[[DouShouQiModel.Cell]]", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.Cell]", + "children": [ + { + "kind": "TypeNominal", + "name": "Cell", + "printedName": "DouShouQiModel.Cell", + "usr": "s:14DouShouQiModel4CellV" + } + ], + "usr": "s:Sa" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel5BoardV4gridSaySayAA4CellVGGvp", + "mangledName": "$s14DouShouQiModel5BoardV4gridSaySayAA4CellVGGvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasStorage", + "SetterAccess", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[[DouShouQiModel.Cell]]", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.Cell]", + "children": [ + { + "kind": "TypeNominal", + "name": "Cell", + "printedName": "DouShouQiModel.Cell", + "usr": "s:14DouShouQiModel4CellV" + } + ], + "usr": "s:Sa" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel5BoardV4gridSaySayAA4CellVGGvg", + "mangledName": "$s14DouShouQiModel5BoardV4gridSaySayAA4CellVGGvg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(withGrid:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.Board?", + "children": [ + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[[DouShouQiModel.Cell]]", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DouShouQiModel.Cell]", + "children": [ + { + "kind": "TypeNominal", + "name": "Cell", + "printedName": "DouShouQiModel.Cell", + "usr": "s:14DouShouQiModel4CellV" + } + ], + "usr": "s:Sa" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Constructor", + "usr": "s:14DouShouQiModel5BoardV8withGridACSgSaySayAA4CellVGG_tcfc", + "mangledName": "$s14DouShouQiModel5BoardV8withGridACSgSaySayAA4CellVGG_tcfc", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "countPieces", + "printedName": "countPieces(of:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5BoardV11countPieces2ofSiAA5OwnerO_tF", + "mangledName": "$s14DouShouQiModel5BoardV11countPieces2ofSiAA5OwnerO_tF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "countPieces", + "printedName": "countPieces()", + "children": [ + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(nbOfPiecesOfPlayer1: Swift.Int, nbOfPiecesOfPlayer2: Swift.Int)", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5BoardV11countPiecesSi04nbOfgI7Player1_Si0higI7Player2tyF", + "mangledName": "$s14DouShouQiModel5BoardV11countPiecesSi04nbOfgI7Player1_Si0higI7Player2tyF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "insert", + "printedName": "insert(piece:atRow:andColumn:)", + "children": [ + { + "kind": "TypeNominal", + "name": "BoardResult", + "printedName": "DouShouQiModel.BoardResult", + "usr": "s:14DouShouQiModel11BoardResultO" + }, + { + "kind": "TypeNominal", + "name": "Piece", + "printedName": "DouShouQiModel.Piece", + "usr": "s:14DouShouQiModel5PieceV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5BoardV6insert5piece5atRow9andColumnAA0E6ResultOAA5PieceV_S2itF", + "mangledName": "$s14DouShouQiModel5BoardV6insert5piece5atRow9andColumnAA0E6ResultOAA5PieceV_S2itF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "Mutating", + "AccessControl" + ], + "funcSelfKind": "Mutating" + }, + { + "kind": "Function", + "name": "removePiece", + "printedName": "removePiece(atRow:andColumn:)", + "children": [ + { + "kind": "TypeNominal", + "name": "BoardResult", + "printedName": "DouShouQiModel.BoardResult", + "usr": "s:14DouShouQiModel11BoardResultO" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5BoardV11removePiece5atRow9andColumnAA0E6ResultOSi_SitF", + "mangledName": "$s14DouShouQiModel5BoardV11removePiece5atRow9andColumnAA0E6ResultOSi_SitF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "Mutating", + "AccessControl" + ], + "funcSelfKind": "Mutating" + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel5BoardV9hashValueSivp", + "mangledName": "$s14DouShouQiModel5BoardV9hashValueSivp", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel5BoardV9hashValueSivg", + "mangledName": "$s14DouShouQiModel5BoardV9hashValueSivg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5BoardV2eeoiySbAC_ACtFZ", + "mangledName": "$s14DouShouQiModel5BoardV2eeoiySbAC_ACtFZ", + "moduleName": "DouShouQiModel", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Struct", + "usr": "s:14DouShouQiModel5BoardV", + "mangledName": "$s14DouShouQiModel5BoardV", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel" + }, + { + "kind": "TypeDecl", + "name": "Piece", + "printedName": "Piece", + "children": [ + { + "kind": "Var", + "name": "description", + "printedName": "description", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel5PieceV11descriptionSSvp", + "mangledName": "$s14DouShouQiModel5PieceV11descriptionSSvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel5PieceV11descriptionSSvg", + "mangledName": "$s14DouShouQiModel5PieceV11descriptionSSvg", + "moduleName": "DouShouQiModel", + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "owner", + "printedName": "owner", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel5PieceV5ownerAA5OwnerOvp", + "mangledName": "$s14DouShouQiModel5PieceV5ownerAA5OwnerOvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel5PieceV5ownerAA5OwnerOvg", + "mangledName": "$s14DouShouQiModel5PieceV5ownerAA5OwnerOvg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "animal", + "printedName": "animal", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel5PieceV6animalAA6AnimalOvp", + "mangledName": "$s14DouShouQiModel5PieceV6animalAA6AnimalOvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel5PieceV6animalAA6AnimalOvg", + "mangledName": "$s14DouShouQiModel5PieceV6animalAA6AnimalOvg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(withOwner:andAnimal:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Piece", + "printedName": "DouShouQiModel.Piece", + "usr": "s:14DouShouQiModel5PieceV" + }, + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + }, + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + } + ], + "declKind": "Constructor", + "usr": "s:14DouShouQiModel5PieceV9withOwner9andAnimalAcA0G0O_AA0I0Otcfc", + "mangledName": "$s14DouShouQiModel5PieceV9withOwner9andAnimalAcA0G0O_AA0I0Otcfc", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel5PieceV9hashValueSivp", + "mangledName": "$s14DouShouQiModel5PieceV9hashValueSivp", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel5PieceV9hashValueSivg", + "mangledName": "$s14DouShouQiModel5PieceV9hashValueSivg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5PieceV4hash4intoys6HasherVz_tF", + "mangledName": "$s14DouShouQiModel5PieceV4hash4intoys6HasherVz_tF", + "moduleName": "DouShouQiModel", + "implicit": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Piece", + "printedName": "DouShouQiModel.Piece", + "usr": "s:14DouShouQiModel5PieceV" + }, + { + "kind": "TypeNominal", + "name": "Piece", + "printedName": "DouShouQiModel.Piece", + "usr": "s:14DouShouQiModel5PieceV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5PieceV2eeoiySbAC_ACtFZ", + "mangledName": "$s14DouShouQiModel5PieceV2eeoiySbAC_ACtFZ", + "moduleName": "DouShouQiModel", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Struct", + "usr": "s:14DouShouQiModel5PieceV", + "mangledName": "$s14DouShouQiModel5PieceV", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel" + }, + { + "kind": "TypeDecl", + "name": "InvalidBoardError", + "printedName": "InvalidBoardError", + "children": [ + { + "kind": "Var", + "name": "unknownError", + "printedName": "unknownError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.InvalidBoardError.Type) -> DouShouQiModel.InvalidBoardError", + "children": [ + { + "kind": "TypeNominal", + "name": "InvalidBoardError", + "printedName": "DouShouQiModel.InvalidBoardError", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.InvalidBoardError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "InvalidBoardError", + "printedName": "DouShouQiModel.InvalidBoardError", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO07unknownG0yA2CmF", + "mangledName": "$s14DouShouQiModel17InvalidBoardErrorO07unknownG0yA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "badDimensions", + "printedName": "badDimensions", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.InvalidBoardError.Type) -> (Swift.Int, Swift.Int) -> DouShouQiModel.InvalidBoardError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.Int, Swift.Int) -> DouShouQiModel.InvalidBoardError", + "children": [ + { + "kind": "TypeNominal", + "name": "InvalidBoardError", + "printedName": "DouShouQiModel.InvalidBoardError", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(nbRows: Swift.Int, nbColumns: Swift.Int)", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.InvalidBoardError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "InvalidBoardError", + "printedName": "DouShouQiModel.InvalidBoardError", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO13badDimensionsyACSi_SitcACmF", + "mangledName": "$s14DouShouQiModel17InvalidBoardErrorO13badDimensionsyACSi_SitcACmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "badCellType", + "printedName": "badCellType", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.InvalidBoardError.Type) -> (DouShouQiModel.CellType, Swift.Int, Swift.Int) -> DouShouQiModel.InvalidBoardError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.CellType, Swift.Int, Swift.Int) -> DouShouQiModel.InvalidBoardError", + "children": [ + { + "kind": "TypeNominal", + "name": "InvalidBoardError", + "printedName": "DouShouQiModel.InvalidBoardError", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(cellType: DouShouQiModel.CellType, row: Swift.Int, column: Swift.Int)", + "children": [ + { + "kind": "TypeNominal", + "name": "CellType", + "printedName": "DouShouQiModel.CellType", + "usr": "s:14DouShouQiModel8CellTypeO" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.InvalidBoardError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "InvalidBoardError", + "printedName": "DouShouQiModel.InvalidBoardError", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO11badCellTypeyAcA0iJ0O_S2itcACmF", + "mangledName": "$s14DouShouQiModel17InvalidBoardErrorO11badCellTypeyAcA0iJ0O_S2itcACmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "multipleOccurenceOfSamePiece", + "printedName": "multipleOccurenceOfSamePiece", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.InvalidBoardError.Type) -> (DouShouQiModel.Piece) -> DouShouQiModel.InvalidBoardError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Piece) -> DouShouQiModel.InvalidBoardError", + "children": [ + { + "kind": "TypeNominal", + "name": "InvalidBoardError", + "printedName": "DouShouQiModel.InvalidBoardError", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(piece: DouShouQiModel.Piece)", + "children": [ + { + "kind": "TypeNominal", + "name": "Piece", + "printedName": "DouShouQiModel.Piece", + "usr": "s:14DouShouQiModel5PieceV" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.InvalidBoardError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "InvalidBoardError", + "printedName": "DouShouQiModel.InvalidBoardError", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO28multipleOccurenceOfSamePieceyAcA0L0V_tcACmF", + "mangledName": "$s14DouShouQiModel17InvalidBoardErrorO28multipleOccurenceOfSamePieceyAcA0L0V_tcACmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "pieceWithNoOwner", + "printedName": "pieceWithNoOwner", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.InvalidBoardError.Type) -> (DouShouQiModel.Piece) -> DouShouQiModel.InvalidBoardError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Piece) -> DouShouQiModel.InvalidBoardError", + "children": [ + { + "kind": "TypeNominal", + "name": "InvalidBoardError", + "printedName": "DouShouQiModel.InvalidBoardError", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(piece: DouShouQiModel.Piece)", + "children": [ + { + "kind": "TypeNominal", + "name": "Piece", + "printedName": "DouShouQiModel.Piece", + "usr": "s:14DouShouQiModel5PieceV" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.InvalidBoardError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "InvalidBoardError", + "printedName": "DouShouQiModel.InvalidBoardError", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO16pieceWithNoOwneryAcA5PieceV_tcACmF", + "mangledName": "$s14DouShouQiModel17InvalidBoardErrorO16pieceWithNoOwneryAcA5PieceV_tcACmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "pieceNotAllowedOnThisCell", + "printedName": "pieceNotAllowedOnThisCell", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.InvalidBoardError.Type) -> (DouShouQiModel.Piece, DouShouQiModel.Cell) -> DouShouQiModel.InvalidBoardError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Piece, DouShouQiModel.Cell) -> DouShouQiModel.InvalidBoardError", + "children": [ + { + "kind": "TypeNominal", + "name": "InvalidBoardError", + "printedName": "DouShouQiModel.InvalidBoardError", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(piece: DouShouQiModel.Piece, cell: DouShouQiModel.Cell)", + "children": [ + { + "kind": "TypeNominal", + "name": "Piece", + "printedName": "DouShouQiModel.Piece", + "usr": "s:14DouShouQiModel5PieceV" + }, + { + "kind": "TypeNominal", + "name": "Cell", + "printedName": "DouShouQiModel.Cell", + "usr": "s:14DouShouQiModel4CellV" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.InvalidBoardError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "InvalidBoardError", + "printedName": "DouShouQiModel.InvalidBoardError", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO25pieceNotAllowedOnThisCellyAcA5PieceV_AA0M0VtcACmF", + "mangledName": "$s14DouShouQiModel17InvalidBoardErrorO25pieceNotAllowedOnThisCellyAcA5PieceV_AA0M0VtcACmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "InvalidBoardError", + "printedName": "DouShouQiModel.InvalidBoardError", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO" + }, + { + "kind": "TypeNominal", + "name": "InvalidBoardError", + "printedName": "DouShouQiModel.InvalidBoardError", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO2eeoiySbAC_ACtFZ", + "mangledName": "$s14DouShouQiModel17InvalidBoardErrorO2eeoiySbAC_ACtFZ", + "moduleName": "DouShouQiModel", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Enum", + "usr": "s:14DouShouQiModel17InvalidBoardErrorO", + "mangledName": "$s14DouShouQiModel17InvalidBoardErrorO", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Error", + "printedName": "Error", + "usr": "s:s5ErrorP", + "mangledName": "$ss5ErrorP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel" + }, + { + "kind": "TypeDecl", + "name": "Owner", + "printedName": "Owner", + "children": [ + { + "kind": "Var", + "name": "noOne", + "printedName": "noOne", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Owner.Type) -> DouShouQiModel.Owner", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.Owner.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel5OwnerO5noOneyA2CmF", + "mangledName": "$s14DouShouQiModel5OwnerO5noOneyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "player1", + "printedName": "player1", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Owner.Type) -> DouShouQiModel.Owner", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.Owner.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel5OwnerO7player1yA2CmF", + "mangledName": "$s14DouShouQiModel5OwnerO7player1yA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "player2", + "printedName": "player2", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Owner.Type) -> DouShouQiModel.Owner", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.Owner.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel5OwnerO7player2yA2CmF", + "mangledName": "$s14DouShouQiModel5OwnerO7player2yA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "simpleDescription", + "printedName": "simpleDescription", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel5OwnerO17simpleDescriptionSSvp", + "mangledName": "$s14DouShouQiModel5OwnerO17simpleDescriptionSSvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel5OwnerO17simpleDescriptionSSvg", + "mangledName": "$s14DouShouQiModel5OwnerO17simpleDescriptionSSvg", + "moduleName": "DouShouQiModel", + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + }, + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5OwnerO2eeoiySbAC_ACtFZ", + "mangledName": "$s14DouShouQiModel5OwnerO2eeoiySbAC_ACtFZ", + "moduleName": "DouShouQiModel", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel5OwnerO9hashValueSivp", + "mangledName": "$s14DouShouQiModel5OwnerO9hashValueSivp", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel5OwnerO9hashValueSivg", + "mangledName": "$s14DouShouQiModel5OwnerO9hashValueSivg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel5OwnerO4hash4intoys6HasherVz_tF", + "mangledName": "$s14DouShouQiModel5OwnerO4hash4intoys6HasherVz_tF", + "moduleName": "DouShouQiModel", + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Enum", + "usr": "s:14DouShouQiModel5OwnerO", + "mangledName": "$s14DouShouQiModel5OwnerO", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "TypeDecl", + "name": "IAPlayer", + "printedName": "IAPlayer", + "children": [ + { + "kind": "Constructor", + "name": "init", + "printedName": "init(withName:andId:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.IAPlayer?", + "children": [ + { + "kind": "TypeNominal", + "name": "IAPlayer", + "printedName": "DouShouQiModel.IAPlayer", + "usr": "s:14DouShouQiModel8IAPlayerC" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Constructor", + "usr": "s:14DouShouQiModel8IAPlayerC8withName5andIdACSgSS_AA5OwnerOtcfc", + "mangledName": "$s14DouShouQiModel8IAPlayerC8withName5andIdACSgSS_AA5OwnerOtcfc", + "moduleName": "DouShouQiModel", + "overriding": true, + "implicit": true, + "declAttributes": [ + "Override" + ], + "init_kind": "Designated" + } + ], + "declKind": "Class", + "usr": "s:14DouShouQiModel8IAPlayerC", + "mangledName": "$s14DouShouQiModel8IAPlayerC", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "superclassUsr": "s:14DouShouQiModel6PlayerC", + "inheritsConvenienceInitializers": true, + "superclassNames": [ + "DouShouQiModel.Player" + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel" + }, + { + "kind": "TypeDecl", + "name": "Move", + "printedName": "Move", + "children": [ + { + "kind": "Var", + "name": "owner", + "printedName": "owner", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel4MoveV5ownerAA5OwnerOvp", + "mangledName": "$s14DouShouQiModel4MoveV5ownerAA5OwnerOvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel4MoveV5ownerAA5OwnerOvg", + "mangledName": "$s14DouShouQiModel4MoveV5ownerAA5OwnerOvg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "rowOrigin", + "printedName": "rowOrigin", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel4MoveV9rowOriginSivp", + "mangledName": "$s14DouShouQiModel4MoveV9rowOriginSivp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel4MoveV9rowOriginSivg", + "mangledName": "$s14DouShouQiModel4MoveV9rowOriginSivg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "columnOrigin", + "printedName": "columnOrigin", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel4MoveV12columnOriginSivp", + "mangledName": "$s14DouShouQiModel4MoveV12columnOriginSivp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel4MoveV12columnOriginSivg", + "mangledName": "$s14DouShouQiModel4MoveV12columnOriginSivg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "rowDestination", + "printedName": "rowDestination", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel4MoveV14rowDestinationSivp", + "mangledName": "$s14DouShouQiModel4MoveV14rowDestinationSivp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel4MoveV14rowDestinationSivg", + "mangledName": "$s14DouShouQiModel4MoveV14rowDestinationSivg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "columnDestination", + "printedName": "columnDestination", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel4MoveV17columnDestinationSivp", + "mangledName": "$s14DouShouQiModel4MoveV17columnDestinationSivp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel4MoveV17columnDestinationSivg", + "mangledName": "$s14DouShouQiModel4MoveV17columnDestinationSivg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(of:fromRow:andFromColumn:toRow:andToColumn:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + }, + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Constructor", + "usr": "s:14DouShouQiModel4MoveV2of7fromRow13andFromColumn02toH00i2ToK0AcA5OwnerO_S4itcfc", + "mangledName": "$s14DouShouQiModel4MoveV2of7fromRow13andFromColumn02toH00i2ToK0AcA5OwnerO_S4itcfc", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Var", + "name": "description", + "printedName": "description", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel4MoveV11descriptionSSvp", + "mangledName": "$s14DouShouQiModel4MoveV11descriptionSSvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel4MoveV11descriptionSSvg", + "mangledName": "$s14DouShouQiModel4MoveV11descriptionSSvg", + "moduleName": "DouShouQiModel", + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + }, + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel4MoveV2eeoiySbAC_ACtFZ", + "mangledName": "$s14DouShouQiModel4MoveV2eeoiySbAC_ACtFZ", + "moduleName": "DouShouQiModel", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Struct", + "usr": "s:14DouShouQiModel4MoveV", + "mangledName": "$s14DouShouQiModel4MoveV", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel" + }, + { + "kind": "TypeDecl", + "name": "Animal", + "printedName": "Animal", + "children": [ + { + "kind": "Var", + "name": "rat", + "printedName": "rat", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Animal.Type) -> DouShouQiModel.Animal", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.Animal.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel6AnimalO3ratyA2CmF", + "mangledName": "$s14DouShouQiModel6AnimalO3ratyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "cat", + "printedName": "cat", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Animal.Type) -> DouShouQiModel.Animal", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.Animal.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel6AnimalO3catyA2CmF", + "mangledName": "$s14DouShouQiModel6AnimalO3catyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "dog", + "printedName": "dog", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Animal.Type) -> DouShouQiModel.Animal", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.Animal.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel6AnimalO3dogyA2CmF", + "mangledName": "$s14DouShouQiModel6AnimalO3dogyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "wolf", + "printedName": "wolf", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Animal.Type) -> DouShouQiModel.Animal", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.Animal.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel6AnimalO4wolfyA2CmF", + "mangledName": "$s14DouShouQiModel6AnimalO4wolfyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "leopard", + "printedName": "leopard", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Animal.Type) -> DouShouQiModel.Animal", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.Animal.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel6AnimalO7leopardyA2CmF", + "mangledName": "$s14DouShouQiModel6AnimalO7leopardyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "tiger", + "printedName": "tiger", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Animal.Type) -> DouShouQiModel.Animal", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.Animal.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel6AnimalO5tigeryA2CmF", + "mangledName": "$s14DouShouQiModel6AnimalO5tigeryA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "lion", + "printedName": "lion", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Animal.Type) -> DouShouQiModel.Animal", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.Animal.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel6AnimalO4lionyA2CmF", + "mangledName": "$s14DouShouQiModel6AnimalO4lionyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "elephant", + "printedName": "elephant", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Animal.Type) -> DouShouQiModel.Animal", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DouShouQiModel.Animal.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:14DouShouQiModel6AnimalO8elephantyA2CmF", + "mangledName": "$s14DouShouQiModel6AnimalO8elephantyA2CmF", + "moduleName": "DouShouQiModel" + }, + { + "kind": "Var", + "name": "rawValue", + "printedName": "rawValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel6AnimalO8rawValueSivp", + "mangledName": "$s14DouShouQiModel6AnimalO8rawValueSivp", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel6AnimalO8rawValueSivg", + "mangledName": "$s14DouShouQiModel6AnimalO8rawValueSivg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(rawValue:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.Animal?", + "children": [ + { + "kind": "TypeNominal", + "name": "Animal", + "printedName": "DouShouQiModel.Animal", + "usr": "s:14DouShouQiModel6AnimalO" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Constructor", + "usr": "s:14DouShouQiModel6AnimalO8rawValueACSgSi_tcfc", + "mangledName": "$s14DouShouQiModel6AnimalO8rawValueACSgSi_tcfc", + "moduleName": "DouShouQiModel", + "implicit": true, + "init_kind": "Designated" + } + ], + "declKind": "Enum", + "usr": "s:14DouShouQiModel6AnimalO", + "mangledName": "$s14DouShouQiModel6AnimalO", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "enumRawTypeName": "Int", + "conformances": [ + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "RawRepresentable", + "printedName": "RawRepresentable", + "children": [ + { + "kind": "TypeWitness", + "name": "RawValue", + "printedName": "RawValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ], + "usr": "s:SY", + "mangledName": "$sSY" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DouShouQiModel" + }, + { + "kind": "TypeDecl", + "name": "Game", + "printedName": "Game", + "children": [ + { + "kind": "Var", + "name": "board", + "printedName": "board", + "children": [ + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel4GameC5boardAA5BoardVvp", + "mangledName": "$s14DouShouQiModel4GameC5boardAA5BoardVvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasStorage", + "SetterAccess", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel4GameC5boardAA5BoardVvg", + "mangledName": "$s14DouShouQiModel4GameC5boardAA5BoardVvg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "rules", + "printedName": "rules", + "children": [ + { + "kind": "TypeNominal", + "name": "Rules", + "printedName": "DouShouQiModel.Rules", + "usr": "s:14DouShouQiModel5RulesP" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel4GameC5rulesAA5Rules_pvp", + "mangledName": "$s14DouShouQiModel4GameC5rulesAA5Rules_pvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasStorage", + "SetterAccess", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Rules", + "printedName": "DouShouQiModel.Rules", + "usr": "s:14DouShouQiModel5RulesP" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel4GameC5rulesAA5Rules_pvg", + "mangledName": "$s14DouShouQiModel4GameC5rulesAA5Rules_pvg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "players", + "printedName": "players", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[DouShouQiModel.Owner : DouShouQiModel.Player]", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + }, + { + "kind": "TypeNominal", + "name": "Player", + "printedName": "DouShouQiModel.Player", + "usr": "s:14DouShouQiModel6PlayerC" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel4GameC7playersSDyAA5OwnerOAA6PlayerCGvp", + "mangledName": "$s14DouShouQiModel4GameC7playersSDyAA5OwnerOAA6PlayerCGvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "Final", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[DouShouQiModel.Owner : DouShouQiModel.Player]", + "children": [ + { + "kind": "TypeNominal", + "name": "Owner", + "printedName": "DouShouQiModel.Owner", + "usr": "s:14DouShouQiModel5OwnerO" + }, + { + "kind": "TypeNominal", + "name": "Player", + "printedName": "DouShouQiModel.Player", + "usr": "s:14DouShouQiModel6PlayerC" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel4GameC7playersSDyAA5OwnerOAA6PlayerCGvg", + "mangledName": "$s14DouShouQiModel4GameC7playersSDyAA5OwnerOAA6PlayerCGvg", + "moduleName": "DouShouQiModel", + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(withRules:andPlayer1:andPlayer2:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Game", + "printedName": "DouShouQiModel.Game", + "usr": "s:14DouShouQiModel4GameC" + }, + { + "kind": "TypeNominal", + "name": "Rules", + "printedName": "DouShouQiModel.Rules", + "usr": "s:14DouShouQiModel5RulesP" + }, + { + "kind": "TypeNominal", + "name": "Player", + "printedName": "DouShouQiModel.Player", + "usr": "s:14DouShouQiModel6PlayerC" + }, + { + "kind": "TypeNominal", + "name": "Player", + "printedName": "DouShouQiModel.Player", + "usr": "s:14DouShouQiModel6PlayerC" + } + ], + "declKind": "Constructor", + "usr": "s:14DouShouQiModel4GameC9withRules10andPlayer10H7Player2AcA0G0_p_AA6PlayerCAItKcfc", + "mangledName": "$s14DouShouQiModel4GameC9withRules10andPlayer10H7Player2AcA0G0_p_AA6PlayerCAItKcfc", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "throwing": true, + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(withBoard:andRules:andPlayer1:andPlayer2:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Game", + "printedName": "DouShouQiModel.Game", + "usr": "s:14DouShouQiModel4GameC" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Rules", + "printedName": "DouShouQiModel.Rules", + "usr": "s:14DouShouQiModel5RulesP" + }, + { + "kind": "TypeNominal", + "name": "Player", + "printedName": "DouShouQiModel.Player", + "usr": "s:14DouShouQiModel6PlayerC" + }, + { + "kind": "TypeNominal", + "name": "Player", + "printedName": "DouShouQiModel.Player", + "usr": "s:14DouShouQiModel6PlayerC" + } + ], + "declKind": "Constructor", + "usr": "s:14DouShouQiModel4GameC9withBoard8andRules0H7Player10H7Player2AcA0G0V_AA0I0_pAA6PlayerCALtKcfc", + "mangledName": "$s14DouShouQiModel4GameC9withBoard8andRules0H7Player10H7Player2AcA0G0V_AA0I0_pAA6PlayerCALtKcfc", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "throwing": true, + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "addGameStartedListener", + "printedName": "addGameStartedListener(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Board) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + } + ] + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel4GameC03addE15StartedListeneryyyAA5BoardVcF", + "mangledName": "$s14DouShouQiModel4GameC03addE15StartedListeneryyyAA5BoardVcF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "addPlayerNotifiedListener", + "printedName": "addPlayerNotifiedListener(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Board, DouShouQiModel.Player) async throws -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(DouShouQiModel.Board, DouShouQiModel.Player)", + "children": [ + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Player", + "printedName": "DouShouQiModel.Player", + "usr": "s:14DouShouQiModel6PlayerC" + } + ] + } + ] + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel4GameC25addPlayerNotifiedListeneryyyAA5BoardV_AA0G0CtYaKcF", + "mangledName": "$s14DouShouQiModel4GameC25addPlayerNotifiedListeneryyyAA5BoardV_AA0G0CtYaKcF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "addGameChangedListener", + "printedName": "addGameChangedListener(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Game) async -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Game", + "printedName": "DouShouQiModel.Game", + "usr": "s:14DouShouQiModel4GameC" + } + ] + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel4GameC03addE15ChangedListeneryyyACYacF", + "mangledName": "$s14DouShouQiModel4GameC03addE15ChangedListeneryyyACYacF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "addGameOverListener", + "printedName": "addGameOverListener(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Board, DouShouQiModel.Result, DouShouQiModel.Player?) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(DouShouQiModel.Board, DouShouQiModel.Result, DouShouQiModel.Player?)", + "children": [ + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Result", + "printedName": "DouShouQiModel.Result", + "usr": "s:14DouShouQiModel6ResultO" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.Player?", + "children": [ + { + "kind": "TypeNominal", + "name": "Player", + "printedName": "DouShouQiModel.Player", + "usr": "s:14DouShouQiModel6PlayerC" + } + ], + "usr": "s:Sq" + } + ] + } + ] + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel4GameC03addE12OverListeneryyyAA5BoardV_AA6ResultOAA6PlayerCSgtcF", + "mangledName": "$s14DouShouQiModel4GameC03addE12OverListeneryyyAA5BoardV_AA6ResultOAA6PlayerCSgtcF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "addMoveChosenCallbacksListener", + "printedName": "addMoveChosenCallbacksListener(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Board, DouShouQiModel.Move, DouShouQiModel.Player) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(DouShouQiModel.Board, DouShouQiModel.Move, DouShouQiModel.Player)", + "children": [ + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + }, + { + "kind": "TypeNominal", + "name": "Player", + "printedName": "DouShouQiModel.Player", + "usr": "s:14DouShouQiModel6PlayerC" + } + ] + } + ] + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel4GameC30addMoveChosenCallbacksListeneryyyAA5BoardV_AA0G0VAA6PlayerCtcF", + "mangledName": "$s14DouShouQiModel4GameC30addMoveChosenCallbacksListeneryyyAA5BoardV_AA0G0VAA6PlayerCtcF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "addInvalidMoveCallbacksListener", + "printedName": "addInvalidMoveCallbacksListener(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Board, DouShouQiModel.Move, DouShouQiModel.Player, Swift.Bool) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(DouShouQiModel.Board, DouShouQiModel.Move, DouShouQiModel.Player, Swift.Bool)", + "children": [ + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + }, + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + }, + { + "kind": "TypeNominal", + "name": "Player", + "printedName": "DouShouQiModel.Player", + "usr": "s:14DouShouQiModel6PlayerC" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ] + } + ] + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel4GameC31addInvalidMoveCallbacksListeneryyyAA5BoardV_AA0H0VAA6PlayerCSbtcF", + "mangledName": "$s14DouShouQiModel4GameC31addInvalidMoveCallbacksListeneryyyAA5BoardV_AA0H0VAA6PlayerCSbtcF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "addBoardChangedListener", + "printedName": "addBoardChangedListener(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DouShouQiModel.Board) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Board", + "printedName": "DouShouQiModel.Board", + "usr": "s:14DouShouQiModel5BoardV" + } + ] + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel4GameC23addBoardChangedListeneryyyAA0G0VcF", + "mangledName": "$s14DouShouQiModel4GameC23addBoardChangedListeneryyyAA0G0VcF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "addPieceRemovedListener", + "printedName": "addPieceRemovedListener(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.Int, Swift.Int, DouShouQiModel.Piece) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(Swift.Int, Swift.Int, DouShouQiModel.Piece)", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Piece", + "printedName": "DouShouQiModel.Piece", + "usr": "s:14DouShouQiModel5PieceV" + } + ] + } + ] + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel4GameC23addPieceRemovedListeneryyySi_SiAA0G0VtcF", + "mangledName": "$s14DouShouQiModel4GameC23addPieceRemovedListeneryyySi_SiAA0G0VtcF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "onPlayed", + "printedName": "onPlayed(with:from:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DouShouQiModel.Move?", + "children": [ + { + "kind": "TypeNominal", + "name": "Move", + "printedName": "DouShouQiModel.Move", + "usr": "s:14DouShouQiModel4MoveV" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Player", + "printedName": "DouShouQiModel.Player", + "usr": "s:14DouShouQiModel6PlayerC" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel4GameC8onPlayed4with4fromyAA4MoveVSg_AA6PlayerCtYaKF", + "mangledName": "$s14DouShouQiModel4GameC8onPlayed4with4fromyAA4MoveVSg_AA6PlayerCtYaKF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "isOver", + "printedName": "isOver", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Var", + "usr": "s:14DouShouQiModel4GameC6isOverSbvp", + "mangledName": "$s14DouShouQiModel4GameC6isOverSbvp", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "SetterAccess", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:14DouShouQiModel4GameC6isOverSbvg", + "mangledName": "$s14DouShouQiModel4GameC6isOverSbvg", + "moduleName": "DouShouQiModel", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "start", + "printedName": "start()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "s:14DouShouQiModel4GameC5startyyYaKF", + "mangledName": "$s14DouShouQiModel4GameC5startyyYaKF", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:14DouShouQiModel4GameC", + "mangledName": "$s14DouShouQiModel4GameC", + "moduleName": "DouShouQiModel", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ] + } + ], + "json_format_version": 8 + }, + "ConstValues": [ + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 81, + "length": 1, + "value": "9" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 111, + "length": 1, + "value": "7" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 148, + "length": 1, + "value": "3" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 3048, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 3088, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "Array", + "offset": 3941, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "Dictionary", + "offset": 4285, + "length": 3, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "Array", + "offset": 4475, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 4517, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 4565, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "BooleanLiteral", + "offset": 4967, + "length": 5, + "value": "false" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "Array", + "offset": 6169, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 6189, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 6229, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 9685, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 10586, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 10906, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 11013, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "Array", + "offset": 11170, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 11188, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 11280, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 11325, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 11433, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 11477, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 11569, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 11632, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 11740, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "Array", + "offset": 12266, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 12307, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 12319, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 12326, + "length": 2, + "value": "-1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 12703, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 12714, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 12721, + "length": 2, + "value": "-1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 13086, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 13464, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "BooleanLiteral", + "offset": 15597, + "length": 4, + "value": "true" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 15704, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "BooleanLiteral", + "offset": 15728, + "length": 4, + "value": "true" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 15845, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "BooleanLiteral", + "offset": 15869, + "length": 4, + "value": "true" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "BooleanLiteral", + "offset": 16049, + "length": 4, + "value": "true" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "BooleanLiteral", + "offset": 16149, + "length": 5, + "value": "false" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 16579, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "IntegerLiteral", + "offset": 16584, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "Dictionary", + "offset": 16948, + "length": 3, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", + "kind": "Array", + "offset": 17004, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Cell.swift", + "kind": "StringLiteral", + "offset": 122, + "length": 81, + "value": "\"\"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Cell.swift", + "kind": "StringLiteral", + "offset": 147, + "length": 4, + "value": "\"ø\"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Cell.swift", + "kind": "StringLiteral", + "offset": 152, + "length": 2, + "value": "\" on \"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Cell.swift", + "kind": "StringLiteral", + "offset": 167, + "length": 1, + "value": "\", \"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Cell.swift", + "kind": "StringLiteral", + "offset": 202, + "length": 1, + "value": "\"\"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 89, + "length": 1, + "value": "5" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 119, + "length": 1, + "value": "5" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 2067, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 2107, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 2267, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 2277, + "length": 1, + "value": "2" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 2419, + "length": 1, + "value": "4" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 2429, + "length": 1, + "value": "2" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 2964, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 3004, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "Array", + "offset": 3773, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 3793, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 3833, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "BooleanLiteral", + "offset": 4182, + "length": 4, + "value": "true" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "BooleanLiteral", + "offset": 4292, + "length": 5, + "value": "false" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "Array", + "offset": 4531, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "Array", + "offset": 4639, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 4773, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 4782, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 4800, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 4809, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 4925, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 5013, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "BooleanLiteral", + "offset": 6962, + "length": 4, + "value": "true" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 7077, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "BooleanLiteral", + "offset": 7105, + "length": 4, + "value": "true" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "IntegerLiteral", + "offset": 7230, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "BooleanLiteral", + "offset": 7258, + "length": 4, + "value": "true" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "BooleanLiteral", + "offset": 7350, + "length": 5, + "value": "false" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "Dictionary", + "offset": 8072, + "length": 3, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", + "kind": "Array", + "offset": 8128, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Player.swift", + "kind": "Array", + "offset": 418, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", + "kind": "BooleanLiteral", + "offset": 475, + "length": 5, + "value": "false" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", + "kind": "IntegerLiteral", + "offset": 570, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", + "kind": "IntegerLiteral", + "offset": 694, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", + "kind": "IntegerLiteral", + "offset": 981, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", + "kind": "IntegerLiteral", + "offset": 996, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", + "kind": "IntegerLiteral", + "offset": 1015, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", + "kind": "IntegerLiteral", + "offset": 1049, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", + "kind": "IntegerLiteral", + "offset": 1212, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", + "kind": "IntegerLiteral", + "offset": 1278, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", + "kind": "IntegerLiteral", + "offset": 1548, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", + "kind": "IntegerLiteral", + "offset": 1579, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", + "kind": "IntegerLiteral", + "offset": 1979, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", + "kind": "IntegerLiteral", + "offset": 2010, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Piece.swift", + "kind": "StringLiteral", + "offset": 122, + "length": 40, + "value": "\"[\"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Piece.swift", + "kind": "StringLiteral", + "offset": 150, + "length": 1, + "value": "\":\"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Piece.swift", + "kind": "StringLiteral", + "offset": 160, + "length": 1, + "value": "\"]\"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Owner.swift", + "kind": "StringLiteral", + "offset": 183, + "length": 3, + "value": "\"x\"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Owner.swift", + "kind": "StringLiteral", + "offset": 229, + "length": 3, + "value": "\"1\"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Owner.swift", + "kind": "StringLiteral", + "offset": 275, + "length": 3, + "value": "\"2\"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Move.swift", + "kind": "StringLiteral", + "offset": 616, + "length": 87, + "value": "\"\"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Move.swift", + "kind": "StringLiteral", + "offset": 625, + "length": 1, + "value": "\": [\"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Move.swift", + "kind": "StringLiteral", + "offset": 640, + "length": 1, + "value": "\",\"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Move.swift", + "kind": "StringLiteral", + "offset": 656, + "length": 1, + "value": "\"] -> [\"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Move.swift", + "kind": "StringLiteral", + "offset": 679, + "length": 1, + "value": "\", \"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Move.swift", + "kind": "StringLiteral", + "offset": 701, + "length": 1, + "value": "\"]\"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 60, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 63, + "length": 3, + "value": "2" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 68, + "length": 3, + "value": "3" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 73, + "length": 4, + "value": "4" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 79, + "length": 7, + "value": "5" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 88, + "length": 5, + "value": "6" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 95, + "length": 4, + "value": "7" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 101, + "length": 8, + "value": "8" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 60, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 63, + "length": 3, + "value": "2" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 68, + "length": 3, + "value": "3" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 73, + "length": 4, + "value": "4" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 79, + "length": 7, + "value": "5" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 88, + "length": 5, + "value": "6" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 95, + "length": 4, + "value": "7" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 101, + "length": 8, + "value": "8" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 60, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 63, + "length": 3, + "value": "2" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 68, + "length": 3, + "value": "3" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 73, + "length": 4, + "value": "4" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 79, + "length": 7, + "value": "5" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 88, + "length": 5, + "value": "6" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 95, + "length": 4, + "value": "7" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", + "kind": "IntegerLiteral", + "offset": 101, + "length": 8, + "value": "8" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", + "kind": "StringLiteral", + "offset": 513, + "length": 55, + "value": "\"The ids of players are not .player1 and then .player2\"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", + "kind": "StringLiteral", + "offset": 1483, + "length": 55, + "value": "\"The ids of players are not .player1 and then .player2\"" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", + "kind": "Array", + "offset": 1754, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", + "kind": "Array", + "offset": 2090, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", + "kind": "Array", + "offset": 2582, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", + "kind": "Array", + "offset": 3012, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", + "kind": "Array", + "offset": 3416, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", + "kind": "Array", + "offset": 3827, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", + "kind": "Array", + "offset": 4261, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", + "kind": "Array", + "offset": 4580, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", + "kind": "BooleanLiteral", + "offset": 6361, + "length": 4, + "value": "true" + }, + { + "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", + "kind": "BooleanLiteral", + "offset": 7044, + "length": 5, + "value": "false" + } + ] +} \ No newline at end of file diff --git a/NEPASTOUCHER/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Versions/A/Modules/DouShouQiModel.swiftmodule/x86_64-apple-macos.private.swiftinterface b/NEPASTOUCHER/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Versions/A/Modules/DouShouQiModel.swiftmodule/x86_64-apple-macos.private.swiftinterface new file mode 100644 index 0000000..dc0a8ad --- /dev/null +++ b/NEPASTOUCHER/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Versions/A/Modules/DouShouQiModel.swiftmodule/x86_64-apple-macos.private.swiftinterface @@ -0,0 +1,266 @@ +// swift-interface-format-version: 1.0 +// swift-compiler-version: Apple Swift version 5.9.2 (swiftlang-5.9.2.2.56 clang-1500.1.0.2.5) +// swift-module-flags: -target x86_64-apple-macos13.0 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name DouShouQiModel +// swift-module-flags-ignorable: -enable-bare-slash-regex +@_exported import DouShouQiModel +import Foundation +import Swift +import _Concurrency +import _StringProcessing +import _SwiftConcurrencyShims +public enum Result : Swift.Equatable { + case notFinished + case even + case winner(winner: DouShouQiModel.Owner, reason: DouShouQiModel.WinningReason) + public static func == (a: DouShouQiModel.Result, b: DouShouQiModel.Result) -> Swift.Bool +} +public enum WinningReason { + case denReached, noMorePieces, tooManyOccurences, noMovesLeft + public static func == (a: DouShouQiModel.WinningReason, b: DouShouQiModel.WinningReason) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +public enum BoardResult : Swift.Equatable { + case unknown + case ok(piece: DouShouQiModel.Piece?) + case failed(reason: DouShouQiModel.BoardFailingReason) + public static func == (a: DouShouQiModel.BoardResult, b: DouShouQiModel.BoardResult) -> Swift.Bool +} +public enum BoardFailingReason { + case unknown, outOfBounds, cellNotEmpty, cellEmpty + public static func == (a: DouShouQiModel.BoardFailingReason, b: DouShouQiModel.BoardFailingReason) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +@_inheritsConvenienceInitializers public class HumanPlayer : DouShouQiModel.Player { + public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner, andInputMethod input: @escaping (_ hp: DouShouQiModel.HumanPlayer) -> DouShouQiModel.Move?) + override public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner) + #if compiler(>=5.3) && $AsyncAwait + override public func chooseMove(in board: DouShouQiModel.Board, with rules: any DouShouQiModel.Rules) async throws + #endif + public func changeInput(input: @escaping (_ hp: DouShouQiModel.HumanPlayer) -> DouShouQiModel.Move?) + #if compiler(>=5.3) && $AsyncAwait + public func chooseMove(_ move: DouShouQiModel.Move?) async throws + #endif + @objc deinit +} +public struct ClassicRules : DouShouQiModel.Rules { + public static func createBoard() -> DouShouQiModel.Board + public static func checkBoard(_ board: DouShouQiModel.Board) throws + public init() + public init(occurences: [DouShouQiModel.Board : Swift.Int], historic: [DouShouQiModel.Move]) + public func getMoves(in board: DouShouQiModel.Board, of owner: DouShouQiModel.Owner) -> [DouShouQiModel.Move] + public func getMoves(in board: DouShouQiModel.Board, of owner: DouShouQiModel.Owner, fromRow row: Swift.Int, andColumn col: Swift.Int) -> [DouShouQiModel.Move] + public func isMoveValid(onBoard board: DouShouQiModel.Board, fromRow originRow: Swift.Int, andFromColumn originColumn: Swift.Int, toRow destinationRow: Swift.Int, andToColumn destinationColumn: Swift.Int) -> Swift.Bool + public func isMoveValid(onBoard board: DouShouQiModel.Board, withMove move: DouShouQiModel.Move) -> Swift.Bool + public func isGameOver(withBoard board: DouShouQiModel.Board, andLastRowPlayed lastRow: Swift.Int, andLastColumnPlayer lastColumn: Swift.Int) -> (Swift.Bool, DouShouQiModel.Result) + public mutating func playedMove(_ move: DouShouQiModel.Move, onStartingBoard board: DouShouQiModel.Board, andResultingBoard resultingBoard: DouShouQiModel.Board) throws + public func getNextPlayer() -> DouShouQiModel.Owner + public var occurences: [DouShouQiModel.Board : Swift.Int] { + get + } + public var historic: [DouShouQiModel.Move] { + get + } +} +public struct Cell : Swift.CustomStringConvertible, Swift.Equatable { + public var description: Swift.String { + get + } + public let cellType: DouShouQiModel.CellType + public let initialOwner: DouShouQiModel.Owner + public var piece: DouShouQiModel.Piece? + public init(ofType cellType: DouShouQiModel.CellType, ownedBy initialOwner: DouShouQiModel.Owner = .noOne, withPiece piece: DouShouQiModel.Piece? = nil) + public static func == (a: DouShouQiModel.Cell, b: DouShouQiModel.Cell) -> Swift.Bool +} +public struct VerySimpleRules : DouShouQiModel.Rules { + public static func createBoard() -> DouShouQiModel.Board + public static func checkBoard(_ board: DouShouQiModel.Board) throws + public init() + public init(occurences: [DouShouQiModel.Board : Swift.Int], historic: [DouShouQiModel.Move]) + public func getMoves(in board: DouShouQiModel.Board, of owner: DouShouQiModel.Owner) -> [DouShouQiModel.Move] + public func getMoves(in board: DouShouQiModel.Board, of owner: DouShouQiModel.Owner, fromRow row: Swift.Int, andColumn col: Swift.Int) -> [DouShouQiModel.Move] + public func isMoveValid(onBoard board: DouShouQiModel.Board, fromRow originRow: Swift.Int, andFromColumn originColumn: Swift.Int, toRow destinationRow: Swift.Int, andToColumn destinationColumn: Swift.Int) -> Swift.Bool + public func isMoveValid(onBoard board: DouShouQiModel.Board, withMove move: DouShouQiModel.Move) -> Swift.Bool + public func isGameOver(withBoard board: DouShouQiModel.Board, andLastRowPlayed lastRow: Swift.Int, andLastColumnPlayer lastColumn: Swift.Int) -> (Swift.Bool, DouShouQiModel.Result) + public mutating func playedMove(_ move: DouShouQiModel.Move, onStartingBoard board: DouShouQiModel.Board, andResultingBoard resultingBoard: DouShouQiModel.Board) throws + public func getNextPlayer() -> DouShouQiModel.Owner + public var occurences: [DouShouQiModel.Board : Swift.Int] { + get + } + public var historic: [DouShouQiModel.Move] { + get + } +} +public protocol Rules { + static func createBoard() -> DouShouQiModel.Board + static func checkBoard(_ board: DouShouQiModel.Board) throws + func getNextPlayer() -> DouShouQiModel.Owner + func getMoves(in board: DouShouQiModel.Board, of: DouShouQiModel.Owner) -> [DouShouQiModel.Move] + func getMoves(in board: DouShouQiModel.Board, of: DouShouQiModel.Owner, fromRow row: Swift.Int, andColumn col: Swift.Int) -> [DouShouQiModel.Move] + func isMoveValid(onBoard: DouShouQiModel.Board, fromRow: Swift.Int, andFromColumn: Swift.Int, toRow: Swift.Int, andToColumn: Swift.Int) -> Swift.Bool + func isMoveValid(onBoard: DouShouQiModel.Board, withMove move: DouShouQiModel.Move) -> Swift.Bool + func isGameOver(withBoard: DouShouQiModel.Board, andLastRowPlayed: Swift.Int, andLastColumnPlayer: Swift.Int) -> (Swift.Bool, DouShouQiModel.Result) + mutating func playedMove(_ move: DouShouQiModel.Move, onStartingBoard board: DouShouQiModel.Board, andResultingBoard resultingBoard: DouShouQiModel.Board) throws + var occurences: [DouShouQiModel.Board : Swift.Int] { get } + var historic: [DouShouQiModel.Move] { get } +} +public class Player { + final public let name: Swift.String + final public let id: DouShouQiModel.Owner + public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner) + #if compiler(>=5.3) && $AsyncAwait + public func chooseMove(in board: DouShouQiModel.Board, with rules: any DouShouQiModel.Rules) async throws + #endif + #if compiler(>=5.3) && $AsyncAwait + public func addPlayedCallbacksListener(_ listener: @escaping (DouShouQiModel.Move?, DouShouQiModel.Player) async throws -> Swift.Void) + #endif + #if compiler(>=5.3) && $AsyncAwait + public func notifyPlayed(withMove move: DouShouQiModel.Move?, andPlayer player: DouShouQiModel.Player) async throws + #endif + @objc deinit +} +public enum GameError : Swift.Error { + case invalidMove, nextPlayerError, badPlayerId(message: Swift.String), invalidRules, invalidPlayer, invalidGame, invalidBoard +} +@_inheritsConvenienceInitializers public class RandomPlayer : DouShouQiModel.IAPlayer { + #if compiler(>=5.3) && $AsyncAwait + override public func chooseMove(in board: DouShouQiModel.Board, with rules: any DouShouQiModel.Rules) async throws + #endif + override public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner) + @objc deinit +} +public enum CellType : Swift.CaseIterable { + case unknown, jungle, water, trap, den + public static func == (a: DouShouQiModel.CellType, b: DouShouQiModel.CellType) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public typealias AllCases = [DouShouQiModel.CellType] + public static var allCases: [DouShouQiModel.CellType] { + get + } + public var hashValue: Swift.Int { + get + } +} +public struct Board : Swift.Hashable { + public func hash(into hasher: inout Swift.Hasher) + public let nbRows: Swift.Int + public let nbColumns: Swift.Int + public var grid: [[DouShouQiModel.Cell]] { + get + } + public init?(withGrid grid: [[DouShouQiModel.Cell]]) + public func countPieces(of owner: DouShouQiModel.Owner) -> Swift.Int + public func countPieces() -> (nbOfPiecesOfPlayer1: Swift.Int, nbOfPiecesOfPlayer2: Swift.Int) + public mutating func insert(piece: DouShouQiModel.Piece, atRow row: Swift.Int, andColumn column: Swift.Int) -> DouShouQiModel.BoardResult + public mutating func removePiece(atRow row: Swift.Int, andColumn column: Swift.Int) -> DouShouQiModel.BoardResult + public static func == (a: DouShouQiModel.Board, b: DouShouQiModel.Board) -> Swift.Bool + public var hashValue: Swift.Int { + get + } +} +public struct Piece : Swift.CustomStringConvertible, Swift.Hashable { + public var description: Swift.String { + get + } + public let owner: DouShouQiModel.Owner + public let animal: DouShouQiModel.Animal + public init(withOwner owner: DouShouQiModel.Owner, andAnimal animal: DouShouQiModel.Animal) + public func hash(into hasher: inout Swift.Hasher) + public static func == (a: DouShouQiModel.Piece, b: DouShouQiModel.Piece) -> Swift.Bool + public var hashValue: Swift.Int { + get + } +} +public enum InvalidBoardError : Swift.Error, Swift.Equatable { + case unknownError + case badDimensions(nbRows: Swift.Int, nbColumns: Swift.Int) + case badCellType(cellType: DouShouQiModel.CellType, row: Swift.Int, column: Swift.Int) + case multipleOccurenceOfSamePiece(piece: DouShouQiModel.Piece) + case pieceWithNoOwner(piece: DouShouQiModel.Piece) + case pieceNotAllowedOnThisCell(piece: DouShouQiModel.Piece, cell: DouShouQiModel.Cell) + public static func == (a: DouShouQiModel.InvalidBoardError, b: DouShouQiModel.InvalidBoardError) -> Swift.Bool +} +public enum Owner { + case noOne, player1, player2 + public var simpleDescription: Swift.String { + get + } + public static func == (a: DouShouQiModel.Owner, b: DouShouQiModel.Owner) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +@_inheritsConvenienceInitializers public class IAPlayer : DouShouQiModel.Player { + override public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner) + @objc deinit +} +public struct Move : Swift.CustomStringConvertible, Swift.Equatable { + public let owner: DouShouQiModel.Owner + public let rowOrigin: Swift.Int + public let columnOrigin: Swift.Int + public let rowDestination: Swift.Int + public let columnDestination: Swift.Int + public init(of owner: DouShouQiModel.Owner, fromRow rowOrigin: Swift.Int, andFromColumn colOrigin: Swift.Int, toRow rowDest: Swift.Int, andToColumn colDest: Swift.Int) + public var description: Swift.String { + get + } + public static func == (a: DouShouQiModel.Move, b: DouShouQiModel.Move) -> Swift.Bool +} +public enum Animal : Swift.Int { + case rat, cat, dog, wolf, leopard, tiger, lion, elephant + public init?(rawValue: Swift.Int) + public typealias RawValue = Swift.Int + public var rawValue: Swift.Int { + get + } +} +public class Game { + public var board: DouShouQiModel.Board { + get + } + public var rules: any DouShouQiModel.Rules { + get + } + final public let players: [DouShouQiModel.Owner : DouShouQiModel.Player] + public init(withRules rules: any DouShouQiModel.Rules, andPlayer1 player1: DouShouQiModel.Player, andPlayer2 player2: DouShouQiModel.Player) throws + public init(withBoard board: DouShouQiModel.Board, andRules rules: any DouShouQiModel.Rules, andPlayer1 player1: DouShouQiModel.Player, andPlayer2 player2: DouShouQiModel.Player) throws + public func addGameStartedListener(_ listener: @escaping (DouShouQiModel.Board) -> Swift.Void) + #if compiler(>=5.3) && $AsyncAwait + public func addPlayerNotifiedListener(_ listener: @escaping (DouShouQiModel.Board, DouShouQiModel.Player) async throws -> Swift.Void) + #endif + #if compiler(>=5.3) && $AsyncAwait + public func addGameChangedListener(_ listener: @escaping (DouShouQiModel.Game) async -> Swift.Void) + #endif + public func addGameOverListener(_ listener: @escaping (DouShouQiModel.Board, DouShouQiModel.Result, DouShouQiModel.Player?) -> Swift.Void) + public func addMoveChosenCallbacksListener(_ listener: @escaping (DouShouQiModel.Board, DouShouQiModel.Move, DouShouQiModel.Player) -> Swift.Void) + public func addInvalidMoveCallbacksListener(_ listener: @escaping (DouShouQiModel.Board, DouShouQiModel.Move, DouShouQiModel.Player, Swift.Bool) -> Swift.Void) + public func addBoardChangedListener(_ listener: @escaping (DouShouQiModel.Board) -> Swift.Void) + public func addPieceRemovedListener(_ listener: @escaping (Swift.Int, Swift.Int, DouShouQiModel.Piece) -> Swift.Void) + #if compiler(>=5.3) && $AsyncAwait + public func onPlayed(with move: DouShouQiModel.Move?, from player: DouShouQiModel.Player) async throws + #endif + public var isOver: Swift.Bool { + get + } + #if compiler(>=5.3) && $AsyncAwait + public func start() async throws + #endif + @objc deinit +} +extension DouShouQiModel.WinningReason : Swift.Equatable {} +extension DouShouQiModel.WinningReason : Swift.Hashable {} +extension DouShouQiModel.BoardFailingReason : Swift.Equatable {} +extension DouShouQiModel.BoardFailingReason : Swift.Hashable {} +extension DouShouQiModel.CellType : Swift.Equatable {} +extension DouShouQiModel.CellType : Swift.Hashable {} +extension DouShouQiModel.Owner : Swift.Equatable {} +extension DouShouQiModel.Owner : Swift.Hashable {} +extension DouShouQiModel.Animal : Swift.Equatable {} +extension DouShouQiModel.Animal : Swift.Hashable {} +extension DouShouQiModel.Animal : Swift.RawRepresentable {} diff --git a/NEPASTOUCHER/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Versions/A/Modules/DouShouQiModel.swiftmodule/x86_64-apple-macos.swiftdoc b/NEPASTOUCHER/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Versions/A/Modules/DouShouQiModel.swiftmodule/x86_64-apple-macos.swiftdoc new file mode 100644 index 0000000..769dad0 Binary files /dev/null and b/NEPASTOUCHER/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Versions/A/Modules/DouShouQiModel.swiftmodule/x86_64-apple-macos.swiftdoc differ diff --git a/NEPASTOUCHER/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Versions/A/Modules/DouShouQiModel.swiftmodule/x86_64-apple-macos.swiftinterface b/NEPASTOUCHER/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Versions/A/Modules/DouShouQiModel.swiftmodule/x86_64-apple-macos.swiftinterface new file mode 100644 index 0000000..dc0a8ad --- /dev/null +++ b/NEPASTOUCHER/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Versions/A/Modules/DouShouQiModel.swiftmodule/x86_64-apple-macos.swiftinterface @@ -0,0 +1,266 @@ +// swift-interface-format-version: 1.0 +// swift-compiler-version: Apple Swift version 5.9.2 (swiftlang-5.9.2.2.56 clang-1500.1.0.2.5) +// swift-module-flags: -target x86_64-apple-macos13.0 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name DouShouQiModel +// swift-module-flags-ignorable: -enable-bare-slash-regex +@_exported import DouShouQiModel +import Foundation +import Swift +import _Concurrency +import _StringProcessing +import _SwiftConcurrencyShims +public enum Result : Swift.Equatable { + case notFinished + case even + case winner(winner: DouShouQiModel.Owner, reason: DouShouQiModel.WinningReason) + public static func == (a: DouShouQiModel.Result, b: DouShouQiModel.Result) -> Swift.Bool +} +public enum WinningReason { + case denReached, noMorePieces, tooManyOccurences, noMovesLeft + public static func == (a: DouShouQiModel.WinningReason, b: DouShouQiModel.WinningReason) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +public enum BoardResult : Swift.Equatable { + case unknown + case ok(piece: DouShouQiModel.Piece?) + case failed(reason: DouShouQiModel.BoardFailingReason) + public static func == (a: DouShouQiModel.BoardResult, b: DouShouQiModel.BoardResult) -> Swift.Bool +} +public enum BoardFailingReason { + case unknown, outOfBounds, cellNotEmpty, cellEmpty + public static func == (a: DouShouQiModel.BoardFailingReason, b: DouShouQiModel.BoardFailingReason) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +@_inheritsConvenienceInitializers public class HumanPlayer : DouShouQiModel.Player { + public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner, andInputMethod input: @escaping (_ hp: DouShouQiModel.HumanPlayer) -> DouShouQiModel.Move?) + override public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner) + #if compiler(>=5.3) && $AsyncAwait + override public func chooseMove(in board: DouShouQiModel.Board, with rules: any DouShouQiModel.Rules) async throws + #endif + public func changeInput(input: @escaping (_ hp: DouShouQiModel.HumanPlayer) -> DouShouQiModel.Move?) + #if compiler(>=5.3) && $AsyncAwait + public func chooseMove(_ move: DouShouQiModel.Move?) async throws + #endif + @objc deinit +} +public struct ClassicRules : DouShouQiModel.Rules { + public static func createBoard() -> DouShouQiModel.Board + public static func checkBoard(_ board: DouShouQiModel.Board) throws + public init() + public init(occurences: [DouShouQiModel.Board : Swift.Int], historic: [DouShouQiModel.Move]) + public func getMoves(in board: DouShouQiModel.Board, of owner: DouShouQiModel.Owner) -> [DouShouQiModel.Move] + public func getMoves(in board: DouShouQiModel.Board, of owner: DouShouQiModel.Owner, fromRow row: Swift.Int, andColumn col: Swift.Int) -> [DouShouQiModel.Move] + public func isMoveValid(onBoard board: DouShouQiModel.Board, fromRow originRow: Swift.Int, andFromColumn originColumn: Swift.Int, toRow destinationRow: Swift.Int, andToColumn destinationColumn: Swift.Int) -> Swift.Bool + public func isMoveValid(onBoard board: DouShouQiModel.Board, withMove move: DouShouQiModel.Move) -> Swift.Bool + public func isGameOver(withBoard board: DouShouQiModel.Board, andLastRowPlayed lastRow: Swift.Int, andLastColumnPlayer lastColumn: Swift.Int) -> (Swift.Bool, DouShouQiModel.Result) + public mutating func playedMove(_ move: DouShouQiModel.Move, onStartingBoard board: DouShouQiModel.Board, andResultingBoard resultingBoard: DouShouQiModel.Board) throws + public func getNextPlayer() -> DouShouQiModel.Owner + public var occurences: [DouShouQiModel.Board : Swift.Int] { + get + } + public var historic: [DouShouQiModel.Move] { + get + } +} +public struct Cell : Swift.CustomStringConvertible, Swift.Equatable { + public var description: Swift.String { + get + } + public let cellType: DouShouQiModel.CellType + public let initialOwner: DouShouQiModel.Owner + public var piece: DouShouQiModel.Piece? + public init(ofType cellType: DouShouQiModel.CellType, ownedBy initialOwner: DouShouQiModel.Owner = .noOne, withPiece piece: DouShouQiModel.Piece? = nil) + public static func == (a: DouShouQiModel.Cell, b: DouShouQiModel.Cell) -> Swift.Bool +} +public struct VerySimpleRules : DouShouQiModel.Rules { + public static func createBoard() -> DouShouQiModel.Board + public static func checkBoard(_ board: DouShouQiModel.Board) throws + public init() + public init(occurences: [DouShouQiModel.Board : Swift.Int], historic: [DouShouQiModel.Move]) + public func getMoves(in board: DouShouQiModel.Board, of owner: DouShouQiModel.Owner) -> [DouShouQiModel.Move] + public func getMoves(in board: DouShouQiModel.Board, of owner: DouShouQiModel.Owner, fromRow row: Swift.Int, andColumn col: Swift.Int) -> [DouShouQiModel.Move] + public func isMoveValid(onBoard board: DouShouQiModel.Board, fromRow originRow: Swift.Int, andFromColumn originColumn: Swift.Int, toRow destinationRow: Swift.Int, andToColumn destinationColumn: Swift.Int) -> Swift.Bool + public func isMoveValid(onBoard board: DouShouQiModel.Board, withMove move: DouShouQiModel.Move) -> Swift.Bool + public func isGameOver(withBoard board: DouShouQiModel.Board, andLastRowPlayed lastRow: Swift.Int, andLastColumnPlayer lastColumn: Swift.Int) -> (Swift.Bool, DouShouQiModel.Result) + public mutating func playedMove(_ move: DouShouQiModel.Move, onStartingBoard board: DouShouQiModel.Board, andResultingBoard resultingBoard: DouShouQiModel.Board) throws + public func getNextPlayer() -> DouShouQiModel.Owner + public var occurences: [DouShouQiModel.Board : Swift.Int] { + get + } + public var historic: [DouShouQiModel.Move] { + get + } +} +public protocol Rules { + static func createBoard() -> DouShouQiModel.Board + static func checkBoard(_ board: DouShouQiModel.Board) throws + func getNextPlayer() -> DouShouQiModel.Owner + func getMoves(in board: DouShouQiModel.Board, of: DouShouQiModel.Owner) -> [DouShouQiModel.Move] + func getMoves(in board: DouShouQiModel.Board, of: DouShouQiModel.Owner, fromRow row: Swift.Int, andColumn col: Swift.Int) -> [DouShouQiModel.Move] + func isMoveValid(onBoard: DouShouQiModel.Board, fromRow: Swift.Int, andFromColumn: Swift.Int, toRow: Swift.Int, andToColumn: Swift.Int) -> Swift.Bool + func isMoveValid(onBoard: DouShouQiModel.Board, withMove move: DouShouQiModel.Move) -> Swift.Bool + func isGameOver(withBoard: DouShouQiModel.Board, andLastRowPlayed: Swift.Int, andLastColumnPlayer: Swift.Int) -> (Swift.Bool, DouShouQiModel.Result) + mutating func playedMove(_ move: DouShouQiModel.Move, onStartingBoard board: DouShouQiModel.Board, andResultingBoard resultingBoard: DouShouQiModel.Board) throws + var occurences: [DouShouQiModel.Board : Swift.Int] { get } + var historic: [DouShouQiModel.Move] { get } +} +public class Player { + final public let name: Swift.String + final public let id: DouShouQiModel.Owner + public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner) + #if compiler(>=5.3) && $AsyncAwait + public func chooseMove(in board: DouShouQiModel.Board, with rules: any DouShouQiModel.Rules) async throws + #endif + #if compiler(>=5.3) && $AsyncAwait + public func addPlayedCallbacksListener(_ listener: @escaping (DouShouQiModel.Move?, DouShouQiModel.Player) async throws -> Swift.Void) + #endif + #if compiler(>=5.3) && $AsyncAwait + public func notifyPlayed(withMove move: DouShouQiModel.Move?, andPlayer player: DouShouQiModel.Player) async throws + #endif + @objc deinit +} +public enum GameError : Swift.Error { + case invalidMove, nextPlayerError, badPlayerId(message: Swift.String), invalidRules, invalidPlayer, invalidGame, invalidBoard +} +@_inheritsConvenienceInitializers public class RandomPlayer : DouShouQiModel.IAPlayer { + #if compiler(>=5.3) && $AsyncAwait + override public func chooseMove(in board: DouShouQiModel.Board, with rules: any DouShouQiModel.Rules) async throws + #endif + override public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner) + @objc deinit +} +public enum CellType : Swift.CaseIterable { + case unknown, jungle, water, trap, den + public static func == (a: DouShouQiModel.CellType, b: DouShouQiModel.CellType) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public typealias AllCases = [DouShouQiModel.CellType] + public static var allCases: [DouShouQiModel.CellType] { + get + } + public var hashValue: Swift.Int { + get + } +} +public struct Board : Swift.Hashable { + public func hash(into hasher: inout Swift.Hasher) + public let nbRows: Swift.Int + public let nbColumns: Swift.Int + public var grid: [[DouShouQiModel.Cell]] { + get + } + public init?(withGrid grid: [[DouShouQiModel.Cell]]) + public func countPieces(of owner: DouShouQiModel.Owner) -> Swift.Int + public func countPieces() -> (nbOfPiecesOfPlayer1: Swift.Int, nbOfPiecesOfPlayer2: Swift.Int) + public mutating func insert(piece: DouShouQiModel.Piece, atRow row: Swift.Int, andColumn column: Swift.Int) -> DouShouQiModel.BoardResult + public mutating func removePiece(atRow row: Swift.Int, andColumn column: Swift.Int) -> DouShouQiModel.BoardResult + public static func == (a: DouShouQiModel.Board, b: DouShouQiModel.Board) -> Swift.Bool + public var hashValue: Swift.Int { + get + } +} +public struct Piece : Swift.CustomStringConvertible, Swift.Hashable { + public var description: Swift.String { + get + } + public let owner: DouShouQiModel.Owner + public let animal: DouShouQiModel.Animal + public init(withOwner owner: DouShouQiModel.Owner, andAnimal animal: DouShouQiModel.Animal) + public func hash(into hasher: inout Swift.Hasher) + public static func == (a: DouShouQiModel.Piece, b: DouShouQiModel.Piece) -> Swift.Bool + public var hashValue: Swift.Int { + get + } +} +public enum InvalidBoardError : Swift.Error, Swift.Equatable { + case unknownError + case badDimensions(nbRows: Swift.Int, nbColumns: Swift.Int) + case badCellType(cellType: DouShouQiModel.CellType, row: Swift.Int, column: Swift.Int) + case multipleOccurenceOfSamePiece(piece: DouShouQiModel.Piece) + case pieceWithNoOwner(piece: DouShouQiModel.Piece) + case pieceNotAllowedOnThisCell(piece: DouShouQiModel.Piece, cell: DouShouQiModel.Cell) + public static func == (a: DouShouQiModel.InvalidBoardError, b: DouShouQiModel.InvalidBoardError) -> Swift.Bool +} +public enum Owner { + case noOne, player1, player2 + public var simpleDescription: Swift.String { + get + } + public static func == (a: DouShouQiModel.Owner, b: DouShouQiModel.Owner) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +@_inheritsConvenienceInitializers public class IAPlayer : DouShouQiModel.Player { + override public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner) + @objc deinit +} +public struct Move : Swift.CustomStringConvertible, Swift.Equatable { + public let owner: DouShouQiModel.Owner + public let rowOrigin: Swift.Int + public let columnOrigin: Swift.Int + public let rowDestination: Swift.Int + public let columnDestination: Swift.Int + public init(of owner: DouShouQiModel.Owner, fromRow rowOrigin: Swift.Int, andFromColumn colOrigin: Swift.Int, toRow rowDest: Swift.Int, andToColumn colDest: Swift.Int) + public var description: Swift.String { + get + } + public static func == (a: DouShouQiModel.Move, b: DouShouQiModel.Move) -> Swift.Bool +} +public enum Animal : Swift.Int { + case rat, cat, dog, wolf, leopard, tiger, lion, elephant + public init?(rawValue: Swift.Int) + public typealias RawValue = Swift.Int + public var rawValue: Swift.Int { + get + } +} +public class Game { + public var board: DouShouQiModel.Board { + get + } + public var rules: any DouShouQiModel.Rules { + get + } + final public let players: [DouShouQiModel.Owner : DouShouQiModel.Player] + public init(withRules rules: any DouShouQiModel.Rules, andPlayer1 player1: DouShouQiModel.Player, andPlayer2 player2: DouShouQiModel.Player) throws + public init(withBoard board: DouShouQiModel.Board, andRules rules: any DouShouQiModel.Rules, andPlayer1 player1: DouShouQiModel.Player, andPlayer2 player2: DouShouQiModel.Player) throws + public func addGameStartedListener(_ listener: @escaping (DouShouQiModel.Board) -> Swift.Void) + #if compiler(>=5.3) && $AsyncAwait + public func addPlayerNotifiedListener(_ listener: @escaping (DouShouQiModel.Board, DouShouQiModel.Player) async throws -> Swift.Void) + #endif + #if compiler(>=5.3) && $AsyncAwait + public func addGameChangedListener(_ listener: @escaping (DouShouQiModel.Game) async -> Swift.Void) + #endif + public func addGameOverListener(_ listener: @escaping (DouShouQiModel.Board, DouShouQiModel.Result, DouShouQiModel.Player?) -> Swift.Void) + public func addMoveChosenCallbacksListener(_ listener: @escaping (DouShouQiModel.Board, DouShouQiModel.Move, DouShouQiModel.Player) -> Swift.Void) + public func addInvalidMoveCallbacksListener(_ listener: @escaping (DouShouQiModel.Board, DouShouQiModel.Move, DouShouQiModel.Player, Swift.Bool) -> Swift.Void) + public func addBoardChangedListener(_ listener: @escaping (DouShouQiModel.Board) -> Swift.Void) + public func addPieceRemovedListener(_ listener: @escaping (Swift.Int, Swift.Int, DouShouQiModel.Piece) -> Swift.Void) + #if compiler(>=5.3) && $AsyncAwait + public func onPlayed(with move: DouShouQiModel.Move?, from player: DouShouQiModel.Player) async throws + #endif + public var isOver: Swift.Bool { + get + } + #if compiler(>=5.3) && $AsyncAwait + public func start() async throws + #endif + @objc deinit +} +extension DouShouQiModel.WinningReason : Swift.Equatable {} +extension DouShouQiModel.WinningReason : Swift.Hashable {} +extension DouShouQiModel.BoardFailingReason : Swift.Equatable {} +extension DouShouQiModel.BoardFailingReason : Swift.Hashable {} +extension DouShouQiModel.CellType : Swift.Equatable {} +extension DouShouQiModel.CellType : Swift.Hashable {} +extension DouShouQiModel.Owner : Swift.Equatable {} +extension DouShouQiModel.Owner : Swift.Hashable {} +extension DouShouQiModel.Animal : Swift.Equatable {} +extension DouShouQiModel.Animal : Swift.Hashable {} +extension DouShouQiModel.Animal : Swift.RawRepresentable {} diff --git a/NEPASTOUCHER/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Versions/A/Modules/module.modulemap b/NEPASTOUCHER/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Versions/A/Modules/module.modulemap new file mode 100644 index 0000000..e7aa10a --- /dev/null +++ b/NEPASTOUCHER/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Versions/A/Modules/module.modulemap @@ -0,0 +1,11 @@ +framework module DouShouQiModel { + umbrella header "DouShouQiModel.h" + export * + + module * { export * } +} + +module DouShouQiModel.Swift { + header "DouShouQiModel-Swift.h" + requires objc +} diff --git a/NEPASTOUCHER/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Versions/A/Resources/Info.plist b/NEPASTOUCHER/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Versions/A/Resources/Info.plist new file mode 100644 index 0000000..7d58232 --- /dev/null +++ b/NEPASTOUCHER/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Versions/A/Resources/Info.plist @@ -0,0 +1,46 @@ + + + + + BuildMachineOSBuild + 23E224 + CFBundleDevelopmentRegion + en + CFBundleExecutable + DouShouQiModel + CFBundleIdentifier + fr.uca.iut.DouShouQiModel + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + DouShouQiModel + CFBundlePackageType + FMWK + CFBundleShortVersionString + 1.0 + CFBundleSupportedPlatforms + + MacOSX + + CFBundleVersion + 1 + DTCompiler + com.apple.compilers.llvm.clang.1_0 + DTPlatformBuild + + DTPlatformName + macosx + DTPlatformVersion + 14.2 + DTSDKBuild + 23C53 + DTSDKName + macosx14.2 + DTXcode + 1520 + DTXcodeBuild + 15C500b + LSMinimumSystemVersion + 13.0 + + diff --git a/NEPASTOUCHER/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Versions/Current b/NEPASTOUCHER/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Versions/Current new file mode 120000 index 0000000..8c7e5a6 --- /dev/null +++ b/NEPASTOUCHER/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Versions/Current @@ -0,0 +1 @@ +A \ No newline at end of file diff --git a/NEPASTOUCHER/DSQ.xcframework/macos-arm64_x86_64/dSYMs/DouShouQiModel.framework.dSYM/Contents/Info.plist b/NEPASTOUCHER/DSQ.xcframework/macos-arm64_x86_64/dSYMs/DouShouQiModel.framework.dSYM/Contents/Info.plist new file mode 100644 index 0000000..4d0656e --- /dev/null +++ b/NEPASTOUCHER/DSQ.xcframework/macos-arm64_x86_64/dSYMs/DouShouQiModel.framework.dSYM/Contents/Info.plist @@ -0,0 +1,20 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleIdentifier + com.apple.xcode.dsym.fr.uca.iut.DouShouQiModel + CFBundleInfoDictionaryVersion + 6.0 + CFBundlePackageType + dSYM + CFBundleSignature + ???? + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1 + + diff --git a/NEPASTOUCHER/DSQ.xcframework/macos-arm64_x86_64/dSYMs/DouShouQiModel.framework.dSYM/Contents/Resources/DWARF/DouShouQiModel b/NEPASTOUCHER/DSQ.xcframework/macos-arm64_x86_64/dSYMs/DouShouQiModel.framework.dSYM/Contents/Resources/DWARF/DouShouQiModel new file mode 100644 index 0000000..becbdcd Binary files /dev/null and b/NEPASTOUCHER/DSQ.xcframework/macos-arm64_x86_64/dSYMs/DouShouQiModel.framework.dSYM/Contents/Resources/DWARF/DouShouQiModel differ diff --git a/NEPASTOUCHER/DSQ.xcframework/macos-arm64_x86_64/dSYMs/DouShouQiModel.framework.dSYM/Contents/Resources/Relocations/aarch64/DouShouQiModel.yml b/NEPASTOUCHER/DSQ.xcframework/macos-arm64_x86_64/dSYMs/DouShouQiModel.framework.dSYM/Contents/Resources/Relocations/aarch64/DouShouQiModel.yml new file mode 100644 index 0000000..e1a4df5 --- /dev/null +++ b/NEPASTOUCHER/DSQ.xcframework/macos-arm64_x86_64/dSYMs/DouShouQiModel.framework.dSYM/Contents/Resources/Relocations/aarch64/DouShouQiModel.yml @@ -0,0 +1,505 @@ +--- +triple: 'arm64-apple-darwin' +binary-path: '/Users/marcchevaldonne/Library/Developer/Xcode/DerivedData/DouShouQiModel-bzzvovsrfmbhuydeirorjmljgtyf/Build/Intermediates.noindex/ArchiveIntermediates/DouShouQiModel/InstallationBuildProductsLocation/Library/Frameworks/DouShouQiModel.framework/Versions/A/DouShouQiModel' +relocations: + - { offsetInCU: 0x34, offset: 0x84A45, size: 0x8, addend: 0x0, symName: _DouShouQiModelVersionString, symObjAddr: 0x0, symBinAddr: 0x14E10, symSize: 0x0 } + - { offsetInCU: 0x69, offset: 0x84A7A, size: 0x8, addend: 0x0, symName: _DouShouQiModelVersionNumber, symObjAddr: 0x38, symBinAddr: 0x14E48, symSize: 0x0 } + - { offsetInCU: 0x27, offset: 0x84AB7, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6ResultO2eeoiySbAC_ACtFZ', symObjAddr: 0x0, symBinAddr: 0x4CD8, symSize: 0x4 } + - { offsetInCU: 0x4B, offset: 0x84ADB, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6ResultO2eeoiySbAC_ACtFZ', symObjAddr: 0x0, symBinAddr: 0x4CD8, symSize: 0x4 } + - { offsetInCU: 0x6E, offset: 0x84AFE, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6ResultOSQAASQ2eeoiySbx_xtFZTW', symObjAddr: 0x18, symBinAddr: 0x4CF0, symSize: 0x4 } + - { offsetInCU: 0x8E, offset: 0x84B1E, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6ResultOSQAASQ2eeoiySbx_xtFZTW', symObjAddr: 0x18, symBinAddr: 0x4CF0, symSize: 0x4 } + - { offsetInCU: 0x9F, offset: 0x84B2F, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6ResultO2eeoiySbAC_ACtFZTf4nnd_n', symObjAddr: 0x148, symBinAddr: 0x4E20, symSize: 0x68 } + - { offsetInCU: 0xDD, offset: 0x84B6D, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel13WinningReasonO2eeoiySbAC_ACtFZ', symObjAddr: 0x4, symBinAddr: 0x4CDC, symSize: 0x14 } + - { offsetInCU: 0x110, offset: 0x84BA0, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel13WinningReasonO4hash4intoys6HasherVz_tF', symObjAddr: 0x1C, symBinAddr: 0x4CF4, symSize: 0x28 } + - { offsetInCU: 0x1A6, offset: 0x84C36, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel13WinningReasonO9hashValueSivg', symObjAddr: 0x44, symBinAddr: 0x4D1C, symSize: 0x44 } + - { offsetInCU: 0x2A0, offset: 0x84D30, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel13WinningReasonOSQAASQ2eeoiySbx_xtFZTW', symObjAddr: 0x88, symBinAddr: 0x4D60, symSize: 0x14 } + - { offsetInCU: 0x2C0, offset: 0x84D50, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel13WinningReasonOSQAASQ2eeoiySbx_xtFZTW', symObjAddr: 0x88, symBinAddr: 0x4D60, symSize: 0x14 } + - { offsetInCU: 0x300, offset: 0x84D90, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel13WinningReasonOSHAASH9hashValueSivgTW', symObjAddr: 0x9C, symBinAddr: 0x4D74, symSize: 0x44 } + - { offsetInCU: 0x3E3, offset: 0x84E73, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel13WinningReasonOSHAASH4hash4intoys6HasherVz_tFTW', symObjAddr: 0xE0, symBinAddr: 0x4DB8, symSize: 0x28 } + - { offsetInCU: 0x46C, offset: 0x84EFC, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel13WinningReasonOSHAASQWb', symObjAddr: 0x1B0, symBinAddr: 0x4E88, symSize: 0x4 } + - { offsetInCU: 0x480, offset: 0x84F10, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel13WinningReasonOACSQAAWl', symObjAddr: 0x1B4, symBinAddr: 0x4E8C, symSize: 0x44 } + - { offsetInCU: 0x494, offset: 0x84F24, size: 0x8, addend: 0x0, symName: ___swift_memcpy2_1, symObjAddr: 0x1F8, symBinAddr: 0x4ED0, symSize: 0xC } + - { offsetInCU: 0x4A8, offset: 0x84F38, size: 0x8, addend: 0x0, symName: ___swift_noop_void_return, symObjAddr: 0x204, symBinAddr: 0x4EDC, symSize: 0x4 } + - { offsetInCU: 0x4BC, offset: 0x84F4C, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6ResultOwet', symObjAddr: 0x208, symBinAddr: 0x4EE0, symSize: 0xAC } + - { offsetInCU: 0x4D0, offset: 0x84F60, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6ResultOwst', symObjAddr: 0x2B4, symBinAddr: 0x4F8C, symSize: 0xC4 } + - { offsetInCU: 0x4E4, offset: 0x84F74, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6ResultOwug', symObjAddr: 0x378, symBinAddr: 0x5050, symSize: 0x14 } + - { offsetInCU: 0x4F8, offset: 0x84F88, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6ResultOwup', symObjAddr: 0x38C, symBinAddr: 0x5064, symSize: 0x4 } + - { offsetInCU: 0x50C, offset: 0x84F9C, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6ResultOwui', symObjAddr: 0x390, symBinAddr: 0x5068, symSize: 0x24 } + - { offsetInCU: 0x520, offset: 0x84FB0, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6ResultOMa', symObjAddr: 0x3B4, symBinAddr: 0x508C, symSize: 0x10 } + - { offsetInCU: 0x534, offset: 0x84FC4, size: 0x8, addend: 0x0, symName: ___swift_memcpy1_1, symObjAddr: 0x3C4, symBinAddr: 0x509C, symSize: 0xC } + - { offsetInCU: 0x548, offset: 0x84FD8, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel13WinningReasonOwet', symObjAddr: 0x3D0, symBinAddr: 0x50A8, symSize: 0x90 } + - { offsetInCU: 0x55C, offset: 0x84FEC, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel13WinningReasonOwst', symObjAddr: 0x460, symBinAddr: 0x5138, symSize: 0xBC } + - { offsetInCU: 0x570, offset: 0x85000, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel13WinningReasonOwug', symObjAddr: 0x51C, symBinAddr: 0x51F4, symSize: 0x8 } + - { offsetInCU: 0x584, offset: 0x85014, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel13WinningReasonOwup', symObjAddr: 0x524, symBinAddr: 0x51FC, symSize: 0x4 } + - { offsetInCU: 0x598, offset: 0x85028, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel13WinningReasonOwui', symObjAddr: 0x528, symBinAddr: 0x5200, symSize: 0x8 } + - { offsetInCU: 0x5AC, offset: 0x8503C, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel13WinningReasonOMa', symObjAddr: 0x530, symBinAddr: 0x5208, symSize: 0x10 } + - { offsetInCU: 0x628, offset: 0x850B8, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel13WinningReasonOSHAASH13_rawHashValue4seedS2i_tFTW', symObjAddr: 0x108, symBinAddr: 0x4DE0, symSize: 0x40 } + - { offsetInCU: 0x27, offset: 0x851FC, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11BoardResultO2eeoiySbAC_ACtFZ', symObjAddr: 0x0, symBinAddr: 0x5218, symSize: 0x4 } + - { offsetInCU: 0x4B, offset: 0x85220, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11BoardResultO2eeoiySbAC_ACtFZ', symObjAddr: 0x0, symBinAddr: 0x5218, symSize: 0x4 } + - { offsetInCU: 0x6E, offset: 0x85243, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11BoardResultOSQAASQ2eeoiySbx_xtFZTW', symObjAddr: 0x18, symBinAddr: 0x5230, symSize: 0x4 } + - { offsetInCU: 0x8E, offset: 0x85263, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11BoardResultOSQAASQ2eeoiySbx_xtFZTW', symObjAddr: 0x18, symBinAddr: 0x5230, symSize: 0x4 } + - { offsetInCU: 0x9F, offset: 0x85274, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11BoardResultO2eeoiySbAC_ACtFZTf4nnd_n', symObjAddr: 0x148, symBinAddr: 0x5360, symSize: 0x7C } + - { offsetInCU: 0xF5, offset: 0x852CA, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel18BoardFailingReasonO2eeoiySbAC_ACtFZ', symObjAddr: 0x4, symBinAddr: 0x521C, symSize: 0x14 } + - { offsetInCU: 0x128, offset: 0x852FD, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel18BoardFailingReasonO4hash4intoys6HasherVz_tF', symObjAddr: 0x1C, symBinAddr: 0x5234, symSize: 0x28 } + - { offsetInCU: 0x1BE, offset: 0x85393, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel18BoardFailingReasonO9hashValueSivg', symObjAddr: 0x44, symBinAddr: 0x525C, symSize: 0x44 } + - { offsetInCU: 0x2B8, offset: 0x8548D, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel18BoardFailingReasonOSQAASQ2eeoiySbx_xtFZTW', symObjAddr: 0x88, symBinAddr: 0x52A0, symSize: 0x14 } + - { offsetInCU: 0x2D8, offset: 0x854AD, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel18BoardFailingReasonOSQAASQ2eeoiySbx_xtFZTW', symObjAddr: 0x88, symBinAddr: 0x52A0, symSize: 0x14 } + - { offsetInCU: 0x318, offset: 0x854ED, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel18BoardFailingReasonOSHAASH9hashValueSivgTW', symObjAddr: 0x9C, symBinAddr: 0x52B4, symSize: 0x44 } + - { offsetInCU: 0x3FB, offset: 0x855D0, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel18BoardFailingReasonOSHAASH4hash4intoys6HasherVz_tFTW', symObjAddr: 0xE0, symBinAddr: 0x52F8, symSize: 0x28 } + - { offsetInCU: 0x484, offset: 0x85659, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel18BoardFailingReasonOSHAASQWb', symObjAddr: 0x1C4, symBinAddr: 0x53DC, symSize: 0x4 } + - { offsetInCU: 0x498, offset: 0x8566D, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel18BoardFailingReasonOACSQAAWl', symObjAddr: 0x1C8, symBinAddr: 0x53E0, symSize: 0x44 } + - { offsetInCU: 0x4AC, offset: 0x85681, size: 0x8, addend: 0x0, symName: ___swift_memcpy3_1, symObjAddr: 0x20C, symBinAddr: 0x5424, symSize: 0x14 } + - { offsetInCU: 0x4C0, offset: 0x85695, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11BoardResultOwet', symObjAddr: 0x224, symBinAddr: 0x5438, symSize: 0x74 } + - { offsetInCU: 0x4D4, offset: 0x856A9, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11BoardResultOwst', symObjAddr: 0x298, symBinAddr: 0x54AC, symSize: 0x8C } + - { offsetInCU: 0x4E8, offset: 0x856BD, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11BoardResultOwug', symObjAddr: 0x324, symBinAddr: 0x5538, symSize: 0x18 } + - { offsetInCU: 0x4FC, offset: 0x856D1, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11BoardResultOwup', symObjAddr: 0x33C, symBinAddr: 0x5550, symSize: 0x4 } + - { offsetInCU: 0x510, offset: 0x856E5, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11BoardResultOwui', symObjAddr: 0x340, symBinAddr: 0x5554, symSize: 0x18 } + - { offsetInCU: 0x524, offset: 0x856F9, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11BoardResultOMa', symObjAddr: 0x358, symBinAddr: 0x556C, symSize: 0x10 } + - { offsetInCU: 0x538, offset: 0x8570D, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel18BoardFailingReasonOwet', symObjAddr: 0x374, symBinAddr: 0x557C, symSize: 0x90 } + - { offsetInCU: 0x54C, offset: 0x85721, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel18BoardFailingReasonOwst', symObjAddr: 0x404, symBinAddr: 0x560C, symSize: 0xBC } + - { offsetInCU: 0x560, offset: 0x85735, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel18BoardFailingReasonOwug', symObjAddr: 0x4C0, symBinAddr: 0x56C8, symSize: 0x8 } + - { offsetInCU: 0x574, offset: 0x85749, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel18BoardFailingReasonOwup', symObjAddr: 0x4C8, symBinAddr: 0x56D0, symSize: 0x4 } + - { offsetInCU: 0x588, offset: 0x8575D, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel18BoardFailingReasonOwui', symObjAddr: 0x4CC, symBinAddr: 0x56D4, symSize: 0x8 } + - { offsetInCU: 0x59C, offset: 0x85771, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel18BoardFailingReasonOMa', symObjAddr: 0x4D4, symBinAddr: 0x56DC, symSize: 0x10 } + - { offsetInCU: 0x5FC, offset: 0x857D1, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel18BoardFailingReasonOSHAASH13_rawHashValue4seedS2i_tFTW', symObjAddr: 0x108, symBinAddr: 0x5320, symSize: 0x40 } + - { offsetInCU: 0x27, offset: 0x85901, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11HumanPlayerC8withName5andId0I11InputMethodACSgSS_AA5OwnerOAA4MoveVSgACctcfC', symObjAddr: 0x0, symBinAddr: 0x56EC, symSize: 0xD0 } + - { offsetInCU: 0x99, offset: 0x85973, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11HumanPlayerC8withName5andId0I11InputMethodACSgSS_AA5OwnerOAA4MoveVSgACctcfC', symObjAddr: 0x0, symBinAddr: 0x56EC, symSize: 0xD0 } + - { offsetInCU: 0xEE, offset: 0x859C8, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11HumanPlayerC8withName5andId0I11InputMethodACSgSS_AA5OwnerOAA4MoveVSgACctcfc', symObjAddr: 0xD0, symBinAddr: 0x57BC, symSize: 0xB0 } + - { offsetInCU: 0x189, offset: 0x85A63, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11HumanPlayerC8withName5andIdACSgSS_AA5OwnerOtcfC', symObjAddr: 0x190, symBinAddr: 0x587C, symSize: 0xA0 } + - { offsetInCU: 0x1DE, offset: 0x85AB8, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11HumanPlayerC8withName5andIdACSgSS_AA5OwnerOtcfc', symObjAddr: 0x230, symBinAddr: 0x591C, symSize: 0x70 } + - { offsetInCU: 0x22D, offset: 0x85B07, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11HumanPlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKF', symObjAddr: 0x2A0, symBinAddr: 0x598C, symSize: 0xC } + - { offsetInCU: 0x2A9, offset: 0x85B83, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11HumanPlayerC11changeInput5inputyAA4MoveVSgACc_tF', symObjAddr: 0x2AC, symBinAddr: 0x5998, symSize: 0x38 } + - { offsetInCU: 0x310, offset: 0x85BEA, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11HumanPlayerC10chooseMoveyyAA0H0VSgYaKF', symObjAddr: 0x2E4, symBinAddr: 0x59D0, symSize: 0x2C } + - { offsetInCU: 0x384, offset: 0x85C5E, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11HumanPlayerC10chooseMoveyyAA0H0VSgYaKFTY0_', symObjAddr: 0x310, symBinAddr: 0x59FC, symSize: 0x108 } + - { offsetInCU: 0x507, offset: 0x85DE1, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11HumanPlayerC10chooseMoveyyAA0H0VSgYaKFTQ1_', symObjAddr: 0x418, symBinAddr: 0x5B04, symSize: 0x70 } + - { offsetInCU: 0x5BF, offset: 0x85E99, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11HumanPlayerC10chooseMoveyyAA0H0VSgYaKFTY2_', symObjAddr: 0x488, symBinAddr: 0x5B74, symSize: 0x100 } + - { offsetInCU: 0x6AE, offset: 0x85F88, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11HumanPlayerC10chooseMoveyyAA0H0VSgYaKFTY3_', symObjAddr: 0x588, symBinAddr: 0x5C74, symSize: 0x40 } + - { offsetInCU: 0x70C, offset: 0x85FE6, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11HumanPlayerCfd', symObjAddr: 0x5D0, symBinAddr: 0x5CBC, symSize: 0x2C } + - { offsetInCU: 0x75D, offset: 0x86037, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11HumanPlayerCfD', symObjAddr: 0x5FC, symBinAddr: 0x5CE8, symSize: 0x34 } + - { offsetInCU: 0x87E, offset: 0x86158, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11HumanPlayerCAA4MoveVSgIeggr_SgWOe', symObjAddr: 0x180, symBinAddr: 0x586C, symSize: 0x10 } + - { offsetInCU: 0x92D, offset: 0x86207, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11HumanPlayerCfE', symObjAddr: 0x5C8, symBinAddr: 0x5CB4, symSize: 0x8 } + - { offsetInCU: 0x95A, offset: 0x86234, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11HumanPlayerCMa', symObjAddr: 0x630, symBinAddr: 0x5D1C, symSize: 0x20 } + - { offsetInCU: 0x4F, offset: 0x863DC, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV11initialGridSaySayAA4CellVGGvpZ', symObjAddr: 0x29998, symBinAddr: 0x1DB40, symSize: 0x0 } + - { offsetInCU: 0x69, offset: 0x863F6, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV6pieces33_DFC7A53241A8EF79AF2B79A48A65C265LLShyAA5PieceVGvpZ', symObjAddr: 0x6D30, symBinAddr: 0x1C720, symSize: 0x0 } + - { offsetInCU: 0xD7, offset: 0x86464, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV14startingChecks33_DFC7A53241A8EF79AF2B79A48A65C265LLSayyAA5BoardVcGvpZ', symObjAddr: 0x6D38, symBinAddr: 0x1C728, symSize: 0x0 } + - { offsetInCU: 0xF1, offset: 0x8647E, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV15iteratingChecks33_DFC7A53241A8EF79AF2B79A48A65C265LLSayyAA5BoardV_S2itKcGvpZ', symObjAddr: 0x6D40, symBinAddr: 0x1C730, symSize: 0x0 } + - { offsetInCU: 0x10B, offset: 0x86498, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV12endingChecks33_DFC7A53241A8EF79AF2B79A48A65C265LLSayyAA5BoardVcGvpZ', symObjAddr: 0x6D48, symBinAddr: 0x1C738, symSize: 0x0 } + - { offsetInCU: 0x125, offset: 0x864B2, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV16placesByCellTypeSDyAA0iJ0OSaySi3row_Si3coltGGvpZ', symObjAddr: 0x299A0, symBinAddr: 0x1DB48, symSize: 0x0 } + - { offsetInCU: 0x284, offset: 0x86611, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV11initialGrid_WZ', symObjAddr: 0x0, symBinAddr: 0x5E08, symSize: 0x2DC } + - { offsetInCU: 0xA99, offset: 0x86E26, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV11createBoardAA0H0VyFZ', symObjAddr: 0x2DC, symBinAddr: 0x60E4, symSize: 0x78 } + - { offsetInCU: 0xAD7, offset: 0x86E64, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV10checkBoardyyAA0H0VKFZ', symObjAddr: 0x354, symBinAddr: 0x615C, symSize: 0x14 } + - { offsetInCU: 0xB01, offset: 0x86E8E, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV14startingChecks33_DFC7A53241A8EF79AF2B79A48A65C265LLSayyAA5BoardVcGvpZfiyAGcfU_', symObjAddr: 0x3AC, symBinAddr: 0x61B4, symSize: 0x30 } + - { offsetInCU: 0xB41, offset: 0x86ECE, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV14startingChecks33_DFC7A53241A8EF79AF2B79A48A65C265LLSayyAA5BoardVcGvpZfiyAGcfU0_', symObjAddr: 0x3DC, symBinAddr: 0x61E4, symSize: 0x78 } + - { offsetInCU: 0xB93, offset: 0x86F20, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVACycfC', symObjAddr: 0x6A8, symBinAddr: 0x64B0, symSize: 0x30 } + - { offsetInCU: 0xBD8, offset: 0x86F65, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV10occurences8historicACSDyAA5BoardVSiG_SayAA4MoveVGtcfC', symObjAddr: 0x6D8, symBinAddr: 0x64E0, symSize: 0x54 } + - { offsetInCU: 0xC3D, offset: 0x86FCA, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV19findAuthorizedMoves33_DFC7A53241A8EF79AF2B79A48A65C265LL5boardSayAA4MoveVGAA5BoardV_tF', symObjAddr: 0x72C, symBinAddr: 0x6534, symSize: 0x458 } + - { offsetInCU: 0x15D4, offset: 0x87961, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV12findRatMoves33_DFC7A53241A8EF79AF2B79A48A65C265LL2of5board3row6columnSayAA4MoveVGAA5OwnerO_AA5BoardVS2itF', symObjAddr: 0xB84, symBinAddr: 0x698C, symSize: 0x62C } + - { offsetInCU: 0x1FE8, offset: 0x88375, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV17findElephantMoves33_DFC7A53241A8EF79AF2B79A48A65C265LL2of5board3row6columnSayAA4MoveVGAA5OwnerO_AA5BoardVS2itF', symObjAddr: 0x11B0, symBinAddr: 0x6FB8, symSize: 0x5F8 } + - { offsetInCU: 0x295A, offset: 0x88CE7, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV16findDefaultMoves33_DFC7A53241A8EF79AF2B79A48A65C265LL2of5board3row6columnSayAA4MoveVGAA5OwnerO_AA5BoardVS2itF', symObjAddr: 0x17A8, symBinAddr: 0x75B0, symSize: 0x6C4 } + - { offsetInCU: 0x340F, offset: 0x8979C, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV21findTigerAndLionMoves33_DFC7A53241A8EF79AF2B79A48A65C265LL2of5board3row6columnSayAA4MoveVGAA5OwnerO_AA5BoardVS2itF', symObjAddr: 0x1E6C, symBinAddr: 0x7C74, symSize: 0x44C } + - { offsetInCU: 0x3A6C, offset: 0x89DF9, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV20findDirectNeighbours33_DFC7A53241A8EF79AF2B79A48A65C265LL2of5board3row6columnSayAA4MoveVGAA5OwnerO_AA5BoardVS2itF', symObjAddr: 0x22B8, symBinAddr: 0x80C0, symSize: 0x300 } + - { offsetInCU: 0x3FE8, offset: 0x8A375, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV26findTigerAndLionNeighbours33_DFC7A53241A8EF79AF2B79A48A65C265LL2of5board3row6columnSayAA4MoveVGAA5OwnerO_AA5BoardVS2itF', symObjAddr: 0x25B8, symBinAddr: 0x83C0, symSize: 0x56C } + - { offsetInCU: 0x491C, offset: 0x8ACA9, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV8getMoves2in2ofSayAA4MoveVGAA5BoardV_AA5OwnerOtF', symObjAddr: 0x2B24, symBinAddr: 0x892C, symSize: 0x12C } + - { offsetInCU: 0x4AEC, offset: 0x8AE79, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV8getMoves2in2of7fromRow9andColumnSayAA4MoveVGAA5BoardV_AA5OwnerOS2itF', symObjAddr: 0x2C50, symBinAddr: 0x8A58, symSize: 0x140 } + - { offsetInCU: 0x4D56, offset: 0x8B0E3, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV11isMoveValid7onBoard7fromRow13andFromColumn02toM00n2ToP0SbAA0K0V_S4itF', symObjAddr: 0x2D90, symBinAddr: 0x8B98, symSize: 0xA0 } + - { offsetInCU: 0x4E40, offset: 0x8B1CD, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV11isMoveValid7onBoard04withH0SbAA0K0V_AA0H0VtF', symObjAddr: 0x2E30, symBinAddr: 0x8C38, symSize: 0x104 } + - { offsetInCU: 0x50CF, offset: 0x8B45C, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV13getNextPlayerAA5OwnerOyF', symObjAddr: 0x2F34, symBinAddr: 0x8D3C, symSize: 0x3C } + - { offsetInCU: 0x51E0, offset: 0x8B56D, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV10isGameOver9withBoard16andLastRowPlayed0lM12ColumnPlayerSb_AA6ResultOtAA0K0V_S2itF', symObjAddr: 0x2F70, symBinAddr: 0x8D78, symSize: 0x188 } + - { offsetInCU: 0x537E, offset: 0x8B70B, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV10playedMove_15onStartingBoard012andResultingK0yAA0H0V_AA0K0VAJtKF', symObjAddr: 0x30F8, symBinAddr: 0x8F00, symSize: 0x424 } + - { offsetInCU: 0x5879, offset: 0x8BC06, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV10occurencesSDyAA5BoardVSiGvg', symObjAddr: 0x351C, symBinAddr: 0x9324, symSize: 0x8 } + - { offsetInCU: 0x588D, offset: 0x8BC1A, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV8historicSayAA4MoveVGvg', symObjAddr: 0x3524, symBinAddr: 0x932C, symSize: 0x8 } + - { offsetInCU: 0x58BF, offset: 0x8BC4C, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVAA0F0A2aDP11createBoardAA0H0VyFZTW', symObjAddr: 0x352C, symBinAddr: 0x9334, symSize: 0x78 } + - { offsetInCU: 0x590C, offset: 0x8BC99, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVAA0F0A2aDP10checkBoardyyAA0H0VKFZTW', symObjAddr: 0x35A4, symBinAddr: 0x93AC, symSize: 0x14 } + - { offsetInCU: 0x5944, offset: 0x8BCD1, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVAA0F0A2aDP13getNextPlayerAA5OwnerOyFTW', symObjAddr: 0x35B8, symBinAddr: 0x93C0, symSize: 0x4 } + - { offsetInCU: 0x5960, offset: 0x8BCED, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVAA0F0A2aDP8getMoves2in2ofSayAA4MoveVGAA5BoardV_AA5OwnerOtFTW', symObjAddr: 0x35BC, symBinAddr: 0x93C4, symSize: 0x14 } + - { offsetInCU: 0x597C, offset: 0x8BD09, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVAA0F0A2aDP8getMoves2in2of7fromRow9andColumnSayAA4MoveVGAA5BoardV_AA5OwnerOS2itFTW', symObjAddr: 0x35D0, symBinAddr: 0x93D8, symSize: 0x14 } + - { offsetInCU: 0x5998, offset: 0x8BD25, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVAA0F0A2aDP11isMoveValid7onBoard7fromRow13andFromColumn02toM00n2ToP0SbAA0K0V_S4itFTW', symObjAddr: 0x35E4, symBinAddr: 0x93EC, symSize: 0x4 } + - { offsetInCU: 0x59B4, offset: 0x8BD41, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVAA0F0A2aDP11isMoveValid7onBoard04withH0SbAA0K0V_AA0H0VtFTW', symObjAddr: 0x35E8, symBinAddr: 0x93F0, symSize: 0x4 } + - { offsetInCU: 0x59D0, offset: 0x8BD5D, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVAA0F0A2aDP10isGameOver9withBoard16andLastRowPlayed0lM12ColumnPlayerSb_AA6ResultOtAA0K0V_S2itFTW', symObjAddr: 0x35EC, symBinAddr: 0x93F4, symSize: 0x4 } + - { offsetInCU: 0x59EC, offset: 0x8BD79, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVAA0F0A2aDP10playedMove_15onStartingBoard012andResultingK0yAA0H0V_AA0K0VALtKFTW', symObjAddr: 0x35F0, symBinAddr: 0x93F8, symSize: 0x14 } + - { offsetInCU: 0x5A21, offset: 0x8BDAE, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVAA0F0A2aDP10occurencesSDyAA5BoardVSiGvgTW', symObjAddr: 0x3604, symBinAddr: 0x940C, symSize: 0x8 } + - { offsetInCU: 0x5A41, offset: 0x8BDCE, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVAA0F0A2aDP10occurencesSDyAA5BoardVSiGvgTW', symObjAddr: 0x3604, symBinAddr: 0x940C, symSize: 0x8 } + - { offsetInCU: 0x5A66, offset: 0x8BDF3, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVAA0F0A2aDP8historicSayAA4MoveVGvgTW', symObjAddr: 0x360C, symBinAddr: 0x9414, symSize: 0x8 } + - { offsetInCU: 0x5A86, offset: 0x8BE13, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVAA0F0A2aDP8historicSayAA4MoveVGvgTW', symObjAddr: 0x360C, symBinAddr: 0x9414, symSize: 0x8 } + - { offsetInCU: 0x5A99, offset: 0x8BE26, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV10checkBoardyyAA0H0VKFZTf4nd_n', symObjAddr: 0x5710, symBinAddr: 0xB518, symSize: 0x28C } + - { offsetInCU: 0x5E0F, offset: 0x8C19C, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV20initPlacesByCellType33_DFC7A53241A8EF79AF2B79A48A65C265LLyyAA5BoardVFZTf4nd_n', symObjAddr: 0x599C, symBinAddr: 0xB7A4, symSize: 0x3A8 } + - { offsetInCU: 0x629F, offset: 0x8C62C, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV23checkCellsByTypeIterate33_DFC7A53241A8EF79AF2B79A48A65C265LLyyAA5BoardV_S2itKFZTf4nnnd_n', symObjAddr: 0x5D44, symBinAddr: 0xBB4C, symSize: 0x15C } + - { offsetInCU: 0x6492, offset: 0x8C81F, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV18checkPiecesIterate33_DFC7A53241A8EF79AF2B79A48A65C265LLyyAA5BoardV_S2itKFZTf4nnnd_n', symObjAddr: 0x5EA0, symBinAddr: 0xBCA8, symSize: 0x178 } + - { offsetInCU: 0x6572, offset: 0x8C8FF, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV15checkWaterCells33_DFC7A53241A8EF79AF2B79A48A65C265LLyyAA5BoardV_S2itKFZTf4nnnd_n', symObjAddr: 0x6018, symBinAddr: 0xBE20, symSize: 0xDC } + - { offsetInCU: 0x6689, offset: 0x8CA16, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV6pieces33_DFC7A53241A8EF79AF2B79A48A65C265LL_WZ', symObjAddr: 0x368, symBinAddr: 0x6170, symSize: 0x14 } + - { offsetInCU: 0x66A3, offset: 0x8CA30, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV14startingChecks33_DFC7A53241A8EF79AF2B79A48A65C265LL_WZ', symObjAddr: 0x37C, symBinAddr: 0x6184, symSize: 0x30 } + - { offsetInCU: 0x66D9, offset: 0x8CA66, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV15iteratingChecks33_DFC7A53241A8EF79AF2B79A48A65C265LL_WZ', symObjAddr: 0x454, symBinAddr: 0x625C, symSize: 0x30 } + - { offsetInCU: 0x66F3, offset: 0x8CA80, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV12endingChecks33_DFC7A53241A8EF79AF2B79A48A65C265LL_WZ', symObjAddr: 0x510, symBinAddr: 0x6318, symSize: 0x14 } + - { offsetInCU: 0x670D, offset: 0x8CA9A, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV16placesByCellType_WZ', symObjAddr: 0x524, symBinAddr: 0x632C, symSize: 0x24 } + - { offsetInCU: 0x6C29, offset: 0x8CFB6, size: 0x8, addend: 0x0, symName: '_$sSD8_VariantV8setValue_6forKeyyq_n_xtF14DouShouQiModel5BoardV_SiTB5', symObjAddr: 0x3614, symBinAddr: 0x941C, symSize: 0xB0 } + - { offsetInCU: 0x6C9E, offset: 0x8D02B, size: 0x8, addend: 0x0, symName: '_$sSD8_VariantVyq_SgxciM14DouShouQiModel8CellTypeO_SaySi3row_Si3coltGTB5', symObjAddr: 0x36C4, symBinAddr: 0x94CC, symSize: 0x70 } + - { offsetInCU: 0x6CCB, offset: 0x8D058, size: 0x8, addend: 0x0, symName: '_$sSD8_VariantVyq_SgxciM14DouShouQiModel8CellTypeO_SaySi3row_Si3coltGTB5.resume.0', symObjAddr: 0x3734, symBinAddr: 0x953C, symSize: 0x3C } + - { offsetInCU: 0x6D0E, offset: 0x8D09B, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV_8isUniqueq_Sgx_SbtciM14DouShouQiModel8CellTypeO_SaySi3row_Si3coltGTB5', symObjAddr: 0x3770, symBinAddr: 0x9578, symSize: 0x64 } + - { offsetInCU: 0x6D86, offset: 0x8D113, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV_8isUniqueq_Sgx_SbtciM14DouShouQiModel8CellTypeO_SaySi3row_Si3coltGTB5.resume.0', symObjAddr: 0x37D4, symBinAddr: 0x95DC, symSize: 0xE0 } + - { offsetInCU: 0x6EBE, offset: 0x8D24B, size: 0x8, addend: 0x0, symName: '_$sSD8_VariantV8asNatives01_C10DictionaryVyxq_GvM14DouShouQiModel8CellTypeO_SaySi3row_Si3coltGTg5', symObjAddr: 0x38B4, symBinAddr: 0x96BC, symSize: 0x20 } + - { offsetInCU: 0x6EE1, offset: 0x8D26E, size: 0x8, addend: 0x0, symName: '_$sSD8_VariantV8asNatives01_C10DictionaryVyxq_GvM14DouShouQiModel8CellTypeO_SaySi3row_Si3coltGTg5.resume.0', symObjAddr: 0x38D4, symBinAddr: 0x96DC, symSize: 0x10 } + - { offsetInCU: 0x6F24, offset: 0x8D2B1, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV12mutatingFind_8isUniques10_HashTableV6BucketV6bucket_Sb5foundtx_SbtF14DouShouQiModel8CellTypeO_SaySi3row_Si3coltGTB5', symObjAddr: 0x38E4, symBinAddr: 0x96EC, symSize: 0xC8 } + - { offsetInCU: 0x6F8C, offset: 0x8D319, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV12mutatingFind_8isUniques10_HashTableV6BucketV6bucket_Sb5foundtx_SbtF14DouShouQiModel5BoardV_SiTB5', symObjAddr: 0x39AC, symBinAddr: 0x97B4, symSize: 0xE0 } + - { offsetInCU: 0x6FE2, offset: 0x8D36F, size: 0x8, addend: 0x0, symName: '_$ss22__RawDictionaryStorageC4findys10_HashTableV6BucketV6bucket_Sb5foundtxSHRzlF14DouShouQiModel5BoardV_TB5', symObjAddr: 0x3A8C, symBinAddr: 0x9894, symSize: 0x78 } + - { offsetInCU: 0x704F, offset: 0x8D3DC, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV7_delete2atys10_HashTableV6BucketV_tF14DouShouQiModel8CellTypeO_SaySi3row_Si3coltGTg5', symObjAddr: 0x3B6C, symBinAddr: 0x9974, symSize: 0x1C0 } + - { offsetInCU: 0x7179, offset: 0x8D506, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV7_insert2at3key5valueys10_HashTableV6BucketV_xnq_ntF14DouShouQiModel5BoardV_SiTB5', symObjAddr: 0x3D2C, symBinAddr: 0x9B34, symSize: 0x54 } + - { offsetInCU: 0x724A, offset: 0x8D5D7, size: 0x8, addend: 0x0, symName: '_$ss22__RawDictionaryStorageC4find_9hashValues10_HashTableV6BucketV6bucket_Sb5foundtx_SitSHRzlF14DouShouQiModel5BoardV_TB5', symObjAddr: 0x3D80, symBinAddr: 0x9B88, symSize: 0x260 } + - { offsetInCU: 0x740A, offset: 0x8D797, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV4copyyyF14DouShouQiModel8CellTypeO_SaySi3row_Si3coltGTg5', symObjAddr: 0x4080, symBinAddr: 0x9E88, symSize: 0x1B0 } + - { offsetInCU: 0x748B, offset: 0x8D818, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV4copyyyF14DouShouQiModel5BoardV_SiTg5', symObjAddr: 0x4230, symBinAddr: 0xA038, symSize: 0x1C8 } + - { offsetInCU: 0x7525, offset: 0x8D8B2, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV20_copyOrMoveAndResize8capacity12moveElementsySi_SbtF14DouShouQiModel8CellTypeO_SaySi3row_Si3coltGTg5', symObjAddr: 0x43F8, symBinAddr: 0xA200, symSize: 0x358 } + - { offsetInCU: 0x76A4, offset: 0x8DA31, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV20_copyOrMoveAndResize8capacity12moveElementsySi_SbtF14DouShouQiModel5BoardV_SiTg5', symObjAddr: 0x4750, symBinAddr: 0xA558, symSize: 0x344 } + - { offsetInCU: 0x77B7, offset: 0x8DB44, size: 0x8, addend: 0x0, symName: '_$sSh8_VariantV6insertySb8inserted_x17memberAfterInserttxnF14DouShouQiModel5PieceV_TB5', symObjAddr: 0x4A94, symBinAddr: 0xA89C, symSize: 0x154 } + - { offsetInCU: 0x79C2, offset: 0x8DD4F, size: 0x8, addend: 0x0, symName: '_$ss10_NativeSetV9insertNew_2at8isUniqueyxn_s10_HashTableV6BucketVSbtF14DouShouQiModel5PieceV_TB5', symObjAddr: 0x4BE8, symBinAddr: 0xA9F0, symSize: 0x180 } + - { offsetInCU: 0x7BD8, offset: 0x8DF65, size: 0x8, addend: 0x0, symName: '_$ss10_NativeSetV4copyyyF14DouShouQiModel5PieceV_Tg5', symObjAddr: 0x4D68, symBinAddr: 0xAB70, symSize: 0x190 } + - { offsetInCU: 0x7C3C, offset: 0x8DFC9, size: 0x8, addend: 0x0, symName: '_$ss10_NativeSetV13copyAndResize8capacityySi_tF14DouShouQiModel5PieceV_Tg5', symObjAddr: 0x4EF8, symBinAddr: 0xAD00, symSize: 0x298 } + - { offsetInCU: 0x7E42, offset: 0x8E1CF, size: 0x8, addend: 0x0, symName: '_$ss10_NativeSetV6resize8capacityySi_tF14DouShouQiModel5PieceV_Tg5', symObjAddr: 0x5190, symBinAddr: 0xAF98, symSize: 0x33C } + - { offsetInCU: 0x8072, offset: 0x8E3FF, size: 0x8, addend: 0x0, symName: '_$ss15ContiguousArrayV16_createNewBuffer14bufferIsUnique15minimumCapacity13growForAppendySb_SiSbtF14DouShouQiModel4MoveV_Tg5', symObjAddr: 0x54CC, symBinAddr: 0xB2D4, symSize: 0x1C } + - { offsetInCU: 0x808A, offset: 0x8E417, size: 0x8, addend: 0x0, symName: '_$ss15ContiguousArrayV16_createNewBuffer14bufferIsUnique15minimumCapacity13growForAppendySb_SiSbtF14DouShouQiModel4CellV_Tg5', symObjAddr: 0x54E8, symBinAddr: 0xB2F0, symSize: 0x1C } + - { offsetInCU: 0x80D9, offset: 0x8E466, size: 0x8, addend: 0x0, symName: '_$ss22_ContiguousArrayBufferV20_consumeAndCreateNew14bufferIsUnique15minimumCapacity13growForAppendAByxGSb_SiSbtF14DouShouQiModel4MoveV_Tg5', symObjAddr: 0x5504, symBinAddr: 0xB30C, symSize: 0x110 } + - { offsetInCU: 0x8231, offset: 0x8E5BE, size: 0x8, addend: 0x0, symName: '_$ss22_ContiguousArrayBufferV20_consumeAndCreateNew14bufferIsUnique15minimumCapacity13growForAppendAByxGSb_SiSbtF14DouShouQiModel4CellV_Tg5', symObjAddr: 0x5614, symBinAddr: 0xB41C, symSize: 0xFC } + - { offsetInCU: 0x84A2, offset: 0x8E82F, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel9GameErrorOACs0F0AAWl', symObjAddr: 0x62EC, symBinAddr: 0xC0F4, symSize: 0x44 } + - { offsetInCU: 0x84B6, offset: 0x8E843, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel17InvalidBoardErrorOACs0G0AAWl', symObjAddr: 0x6330, symBinAddr: 0xC138, symSize: 0x44 } + - { offsetInCU: 0x84CA, offset: 0x8E857, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVwCP', symObjAddr: 0x6374, symBinAddr: 0xC17C, symSize: 0x34 } + - { offsetInCU: 0x84DE, offset: 0x8E86B, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVwxx', symObjAddr: 0x63A8, symBinAddr: 0xC1B0, symSize: 0x28 } + - { offsetInCU: 0x84F2, offset: 0x8E87F, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVwcp', symObjAddr: 0x63D0, symBinAddr: 0xC1D8, symSize: 0x34 } + - { offsetInCU: 0x8506, offset: 0x8E893, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVwca', symObjAddr: 0x6404, symBinAddr: 0xC20C, symSize: 0x5C } + - { offsetInCU: 0x851A, offset: 0x8E8A7, size: 0x8, addend: 0x0, symName: ___swift_memcpy16_8, symObjAddr: 0x6460, symBinAddr: 0xC268, symSize: 0xC } + - { offsetInCU: 0x852E, offset: 0x8E8BB, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVwta', symObjAddr: 0x646C, symBinAddr: 0xC274, symSize: 0x44 } + - { offsetInCU: 0x8542, offset: 0x8E8CF, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVwet', symObjAddr: 0x64B0, symBinAddr: 0xC2B8, symSize: 0x48 } + - { offsetInCU: 0x8556, offset: 0x8E8E3, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVwst', symObjAddr: 0x64F8, symBinAddr: 0xC300, symSize: 0x3C } + - { offsetInCU: 0x856A, offset: 0x8E8F7, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVMa', symObjAddr: 0x6534, symBinAddr: 0xC33C, symSize: 0x10 } + - { offsetInCU: 0x857E, offset: 0x8E90B, size: 0x8, addend: 0x0, symName: ___swift_instantiateConcreteTypeFromMangledName, symObjAddr: 0x6544, symBinAddr: 0xC34C, symSize: 0x40 } + - { offsetInCU: 0x8642, offset: 0x8E9CF, size: 0x8, addend: 0x0, symName: '_$ss20_ArrayBufferProtocolPsE15replaceSubrange_4with10elementsOfySnySiG_Siqd__ntSlRd__7ElementQyd__AGRtzlFs01_aB0Vy14DouShouQiModel4MoveVG_s15EmptyCollectionVyANGTg5Tf4nndn_n', symObjAddr: 0x6684, symBinAddr: 0xC48C, symSize: 0x178 } + - { offsetInCU: 0x8713, offset: 0x8EAA0, size: 0x8, addend: 0x0, symName: '_$sSa15replaceSubrange_4withySnySiG_qd__nt7ElementQyd__RszSlRd__lF14DouShouQiModel4MoveV_s15EmptyCollectionVyAHGTg5Tf4ndn_n', symObjAddr: 0x67FC, symBinAddr: 0xC604, symSize: 0xC0 } + - { offsetInCU: 0x8927, offset: 0x8ECB4, size: 0x8, addend: 0x0, symName: '_$sSDyq_SgxciM14DouShouQiModel8CellTypeO_SaySi3row_Si3coltGTB5', symObjAddr: 0x548, symBinAddr: 0x6350, symSize: 0x4C } + - { offsetInCU: 0x8943, offset: 0x8ECD0, size: 0x8, addend: 0x0, symName: '_$sSDyq_SgxciM14DouShouQiModel8CellTypeO_SaySi3row_Si3coltGTB5.resume.0', symObjAddr: 0x594, symBinAddr: 0x639C, symSize: 0x30 } + - { offsetInCU: 0x89EF, offset: 0x8ED7C, size: 0x8, addend: 0x0, symName: '_$sSh8containsySbxF14DouShouQiModel5PieceV_TB5', symObjAddr: 0x5C4, symBinAddr: 0x63CC, symSize: 0xE4 } + - { offsetInCU: 0x8F81, offset: 0x8F30E, size: 0x8, addend: 0x0, symName: '_$sSD17dictionaryLiteralSDyxq_Gx_q_td_tcfC14DouShouQiModel8CellTypeO_SaySi3row_Si3coltGTg5Tf4gd_n', symObjAddr: 0x60F4, symBinAddr: 0xBEFC, symSize: 0x100 } + - { offsetInCU: 0x90B3, offset: 0x8F440, size: 0x8, addend: 0x0, symName: '_$sSD17dictionaryLiteralSDyxq_Gx_q_td_tcfC14DouShouQiModel5BoardV_SiTg5Tf4gd_n', symObjAddr: 0x61F4, symBinAddr: 0xBFFC, symSize: 0xF8 } + - { offsetInCU: 0x9203, offset: 0x8F590, size: 0x8, addend: 0x0, symName: '_$sSD17dictionaryLiteralSDyxq_Gx_q_td_tcfC14DouShouQiModel5OwnerO_AC6PlayerCTg5Tf4gd_n', symObjAddr: 0x6584, symBinAddr: 0xC38C, symSize: 0x100 } + - { offsetInCU: 0x27, offset: 0x8F8E5, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4CellV6ofType7ownedBy9withPieceAcA0eG0O_AA5OwnerOAA0K0VSgtcfC', symObjAddr: 0x0, symBinAddr: 0xCAE0, symSize: 0x1C } + - { offsetInCU: 0x4B, offset: 0x8F909, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4CellV6ofType7ownedBy9withPieceAcA0eG0O_AA5OwnerOAA0K0VSgtcfC', symObjAddr: 0x0, symBinAddr: 0xCAE0, symSize: 0x1C } + - { offsetInCU: 0x9A, offset: 0x8F958, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4CellV11descriptionSSvg', symObjAddr: 0x1C, symBinAddr: 0xCAFC, symSize: 0xF0 } + - { offsetInCU: 0x1DF, offset: 0x8FA9D, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4CellV8cellTypeAA0eG0Ovg', symObjAddr: 0x10C, symBinAddr: 0xCBEC, symSize: 0xC } + - { offsetInCU: 0x1FD, offset: 0x8FABB, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4CellV12initialOwnerAA0G0Ovg', symObjAddr: 0x118, symBinAddr: 0xCBF8, symSize: 0xC } + - { offsetInCU: 0x21B, offset: 0x8FAD9, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4CellV5pieceAA5PieceVSgvg', symObjAddr: 0x124, symBinAddr: 0xCC04, symSize: 0xC } + - { offsetInCU: 0x239, offset: 0x8FAF7, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4CellV5pieceAA5PieceVSgvs', symObjAddr: 0x130, symBinAddr: 0xCC10, symSize: 0xC } + - { offsetInCU: 0x277, offset: 0x8FB35, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4CellV5pieceAA5PieceVSgvM', symObjAddr: 0x13C, symBinAddr: 0xCC1C, symSize: 0x10 } + - { offsetInCU: 0x2A5, offset: 0x8FB63, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4CellV5pieceAA5PieceVSgvM.resume.0', symObjAddr: 0x14C, symBinAddr: 0xCC2C, symSize: 0x4 } + - { offsetInCU: 0x2D0, offset: 0x8FB8E, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4CellV2eeoiySbAC_ACtFZ', symObjAddr: 0x150, symBinAddr: 0xCC30, symSize: 0x4 } + - { offsetInCU: 0x2E4, offset: 0x8FBA2, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4CellVs23CustomStringConvertibleAAsADP11descriptionSSvgTW', symObjAddr: 0x154, symBinAddr: 0xCC34, symSize: 0x4 } + - { offsetInCU: 0x30F, offset: 0x8FBCD, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4CellVSQAASQ2eeoiySbx_xtFZTW', symObjAddr: 0x158, symBinAddr: 0xCC38, symSize: 0x4 } + - { offsetInCU: 0x32F, offset: 0x8FBED, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4CellVSQAASQ2eeoiySbx_xtFZTW', symObjAddr: 0x158, symBinAddr: 0xCC38, symSize: 0x4 } + - { offsetInCU: 0x340, offset: 0x8FBFE, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4CellV2eeoiySbAC_ACtFZTf4nnd_n', symObjAddr: 0x15C, symBinAddr: 0xCC3C, symSize: 0x58 } + - { offsetInCU: 0x3B4, offset: 0x8FC72, size: 0x8, addend: 0x0, symName: ___swift_memcpy4_1, symObjAddr: 0x1B4, symBinAddr: 0xCC94, symSize: 0xC } + - { offsetInCU: 0x3C8, offset: 0x8FC86, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4CellVwet', symObjAddr: 0x1C4, symBinAddr: 0xCCA0, symSize: 0x44 } + - { offsetInCU: 0x3DC, offset: 0x8FC9A, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4CellVwst', symObjAddr: 0x208, symBinAddr: 0xCCE4, symSize: 0x40 } + - { offsetInCU: 0x3F0, offset: 0x8FCAE, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4CellVMa', symObjAddr: 0x248, symBinAddr: 0xCD24, symSize: 0x10 } + - { offsetInCU: 0x2B, offset: 0x8FDBC, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesV11initialGrid_WZ', symObjAddr: 0x0, symBinAddr: 0xCD34, symSize: 0x1A4 } + - { offsetInCU: 0x4F, offset: 0x8FDE0, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesV11initialGridSaySayAA4CellVGGvpZ', symObjAddr: 0xB330, symBinAddr: 0x1DB50, symSize: 0x0 } + - { offsetInCU: 0x1A2, offset: 0x8FF33, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesV11initialGrid_WZ', symObjAddr: 0x0, symBinAddr: 0xCD34, symSize: 0x1A4 } + - { offsetInCU: 0x582, offset: 0x90313, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesV11createBoardAA0I0VyFZ', symObjAddr: 0x1A4, symBinAddr: 0xCED8, symSize: 0x78 } + - { offsetInCU: 0x5C0, offset: 0x90351, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesV10checkBoardyyAA0I0VKFZ', symObjAddr: 0x21C, symBinAddr: 0xCF50, symSize: 0x14 } + - { offsetInCU: 0x5DB, offset: 0x9036C, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVACycfC', symObjAddr: 0x230, symBinAddr: 0xCF64, symSize: 0x30 } + - { offsetInCU: 0x61F, offset: 0x903B0, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesV10occurences8historicACSDyAA5BoardVSiG_SayAA4MoveVGtcfC', symObjAddr: 0x260, symBinAddr: 0xCF94, symSize: 0x54 } + - { offsetInCU: 0x683, offset: 0x90414, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesV8getMoves2in2ofSayAA4MoveVGAA5BoardV_AA5OwnerOtF', symObjAddr: 0x2B4, symBinAddr: 0xCFE8, symSize: 0x17C } + - { offsetInCU: 0x99E, offset: 0x9072F, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesV8getMoves2in2of7fromRow9andColumnSayAA4MoveVGAA5BoardV_AA5OwnerOS2itF', symObjAddr: 0x430, symBinAddr: 0xD164, symSize: 0x29C } + - { offsetInCU: 0xCE8, offset: 0x90A79, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesV11isMoveValid7onBoard7fromRow13andFromColumn02toN00o2ToQ0SbAA0L0V_S4itF', symObjAddr: 0x6CC, symBinAddr: 0xD400, symSize: 0xA0 } + - { offsetInCU: 0xDF9, offset: 0x90B8A, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesV11isMoveValid7onBoard04withI0SbAA0L0V_AA0I0VtF', symObjAddr: 0x76C, symBinAddr: 0xD4A0, symSize: 0x10C } + - { offsetInCU: 0x1033, offset: 0x90DC4, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesV13getNextPlayerAA5OwnerOyF', symObjAddr: 0x878, symBinAddr: 0xD5AC, symSize: 0x3C } + - { offsetInCU: 0x1143, offset: 0x90ED4, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesV10isGameOver9withBoard16andLastRowPlayed0mN12ColumnPlayerSb_AA6ResultOtAA0L0V_S2itF', symObjAddr: 0x8B4, symBinAddr: 0xD5E8, symSize: 0x11C } + - { offsetInCU: 0x12BB, offset: 0x9104C, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesV10playedMove_15onStartingBoard012andResultingL0yAA0I0V_AA0L0VAJtKF', symObjAddr: 0x9D0, symBinAddr: 0xD704, symSize: 0x1E4 } + - { offsetInCU: 0x1477, offset: 0x91208, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesV10occurencesSDyAA5BoardVSiGvg', symObjAddr: 0xBB4, symBinAddr: 0xD8E8, symSize: 0x8 } + - { offsetInCU: 0x148B, offset: 0x9121C, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesV8historicSayAA4MoveVGvg', symObjAddr: 0xBBC, symBinAddr: 0xD8F0, symSize: 0x8 } + - { offsetInCU: 0x14BD, offset: 0x9124E, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVAA0G0A2aDP11createBoardAA0I0VyFZTW', symObjAddr: 0xBC4, symBinAddr: 0xD8F8, symSize: 0x78 } + - { offsetInCU: 0x150A, offset: 0x9129B, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVAA0G0A2aDP10checkBoardyyAA0I0VKFZTW', symObjAddr: 0xC3C, symBinAddr: 0xD970, symSize: 0x14 } + - { offsetInCU: 0x1542, offset: 0x912D3, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVAA0G0A2aDP13getNextPlayerAA5OwnerOyFTW', symObjAddr: 0xC50, symBinAddr: 0xD984, symSize: 0x4 } + - { offsetInCU: 0x155E, offset: 0x912EF, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVAA0G0A2aDP8getMoves2in2ofSayAA4MoveVGAA5BoardV_AA5OwnerOtFTW', symObjAddr: 0xC54, symBinAddr: 0xD988, symSize: 0x14 } + - { offsetInCU: 0x157A, offset: 0x9130B, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVAA0G0A2aDP8getMoves2in2of7fromRow9andColumnSayAA4MoveVGAA5BoardV_AA5OwnerOS2itFTW', symObjAddr: 0xC68, symBinAddr: 0xD99C, symSize: 0x14 } + - { offsetInCU: 0x1596, offset: 0x91327, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVAA0G0A2aDP11isMoveValid7onBoard7fromRow13andFromColumn02toN00o2ToQ0SbAA0L0V_S4itFTW', symObjAddr: 0xC7C, symBinAddr: 0xD9B0, symSize: 0x4 } + - { offsetInCU: 0x15B2, offset: 0x91343, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVAA0G0A2aDP11isMoveValid7onBoard04withI0SbAA0L0V_AA0I0VtFTW', symObjAddr: 0xC80, symBinAddr: 0xD9B4, symSize: 0x4 } + - { offsetInCU: 0x15CE, offset: 0x9135F, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVAA0G0A2aDP10isGameOver9withBoard16andLastRowPlayed0mN12ColumnPlayerSb_AA6ResultOtAA0L0V_S2itFTW', symObjAddr: 0xC84, symBinAddr: 0xD9B8, symSize: 0x18 } + - { offsetInCU: 0x15EA, offset: 0x9137B, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVAA0G0A2aDP10playedMove_15onStartingBoard012andResultingL0yAA0I0V_AA0L0VALtKFTW', symObjAddr: 0xC9C, symBinAddr: 0xD9D0, symSize: 0x14 } + - { offsetInCU: 0x161E, offset: 0x913AF, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVAA0G0A2aDP10occurencesSDyAA5BoardVSiGvgTW', symObjAddr: 0xCB0, symBinAddr: 0xD9E4, symSize: 0x8 } + - { offsetInCU: 0x163E, offset: 0x913CF, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVAA0G0A2aDP10occurencesSDyAA5BoardVSiGvgTW', symObjAddr: 0xCB0, symBinAddr: 0xD9E4, symSize: 0x8 } + - { offsetInCU: 0x1661, offset: 0x913F2, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVAA0G0A2aDP8historicSayAA4MoveVGvgTW', symObjAddr: 0xCB8, symBinAddr: 0xD9EC, symSize: 0x8 } + - { offsetInCU: 0x1681, offset: 0x91412, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVAA0G0A2aDP8historicSayAA4MoveVGvgTW', symObjAddr: 0xCB8, symBinAddr: 0xD9EC, symSize: 0x8 } + - { offsetInCU: 0x1693, offset: 0x91424, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesV16checkCellsByType33_2B29F97F1EE5509065CD9853A78D42F5LLyyAA5BoardVKFZTf4nd_n', symObjAddr: 0xCC0, symBinAddr: 0xD9F4, symSize: 0x144 } + - { offsetInCU: 0x1895, offset: 0x91626, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesV11checkPieces33_2B29F97F1EE5509065CD9853A78D42F5LLyyAA5BoardVKFZTf4nd_n', symObjAddr: 0xE04, symBinAddr: 0xDB38, symSize: 0x220 } + - { offsetInCU: 0x1BFD, offset: 0x9198E, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesV10checkBoardyyAA0I0VKFZTf4nd_n', symObjAddr: 0x1024, symBinAddr: 0xDD58, symSize: 0xB8 } + - { offsetInCU: 0x1E82, offset: 0x91C13, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVwCP', symObjAddr: 0x11A4, symBinAddr: 0xDE10, symSize: 0x34 } + - { offsetInCU: 0x1E96, offset: 0x91C27, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVwxx', symObjAddr: 0x11D8, symBinAddr: 0xDE44, symSize: 0x28 } + - { offsetInCU: 0x1EAA, offset: 0x91C3B, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVwcp', symObjAddr: 0x1200, symBinAddr: 0xDE6C, symSize: 0x34 } + - { offsetInCU: 0x1EBE, offset: 0x91C4F, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVwca', symObjAddr: 0x1234, symBinAddr: 0xDEA0, symSize: 0x5C } + - { offsetInCU: 0x1ED2, offset: 0x91C63, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVwta', symObjAddr: 0x129C, symBinAddr: 0xDEFC, symSize: 0x44 } + - { offsetInCU: 0x1EE6, offset: 0x91C77, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVwet', symObjAddr: 0x12E0, symBinAddr: 0xDF40, symSize: 0x48 } + - { offsetInCU: 0x1EFA, offset: 0x91C8B, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVwst', symObjAddr: 0x1328, symBinAddr: 0xDF88, symSize: 0x3C } + - { offsetInCU: 0x1F0E, offset: 0x91C9F, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVMa', symObjAddr: 0x1364, symBinAddr: 0xDFC4, symSize: 0x10 } + - { offsetInCU: 0x4B, offset: 0x92041, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6PlayerC8withName5andIdACSgSS_AA5OwnerOtcfc', symObjAddr: 0x0, symBinAddr: 0xE04C, symSize: 0x68 } + - { offsetInCU: 0x7A, offset: 0x92070, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6PlayerCfd', symObjAddr: 0x88, symBinAddr: 0xE0D4, symSize: 0x24 } + - { offsetInCU: 0x97, offset: 0x9208D, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6PlayerC26addPlayedCallbacksListeneryyyAA4MoveVSg_ACtYaKcF', symObjAddr: 0xAC, symBinAddr: 0xE0F8, symSize: 0xE4 } + - { offsetInCU: 0x1C2, offset: 0x921B8, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6PlayerC12notifyPlayed8withMove03andE0yAA0I0VSg_ACtYaKF', symObjAddr: 0x190, symBinAddr: 0xE1DC, symSize: 0x28 } + - { offsetInCU: 0x252, offset: 0x92248, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6PlayerC12notifyPlayed8withMove03andE0yAA0I0VSg_ACtYaKFTY0_', symObjAddr: 0x1B8, symBinAddr: 0xE204, symSize: 0x10C } + - { offsetInCU: 0x3DB, offset: 0x923D1, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6PlayerC12notifyPlayed8withMove03andE0yAA0I0VSg_ACtYaKFTQ1_', symObjAddr: 0x2C4, symBinAddr: 0xE310, symSize: 0x70 } + - { offsetInCU: 0x49A, offset: 0x92490, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6PlayerC12notifyPlayed8withMove03andE0yAA0I0VSg_ACtYaKFTY2_', symObjAddr: 0x334, symBinAddr: 0xE380, symSize: 0xFC } + - { offsetInCU: 0x58F, offset: 0x92585, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6PlayerC12notifyPlayed8withMove03andE0yAA0I0VSg_ACtYaKFTY3_', symObjAddr: 0x430, symBinAddr: 0xE47C, symSize: 0x40 } + - { offsetInCU: 0x601, offset: 0x925F7, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6PlayerC4nameSSvg', symObjAddr: 0x470, symBinAddr: 0xE4BC, symSize: 0x2C } + - { offsetInCU: 0x630, offset: 0x92626, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6PlayerC2idAA5OwnerOvg', symObjAddr: 0x49C, symBinAddr: 0xE4E8, symSize: 0xC } + - { offsetInCU: 0x693, offset: 0x92689, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6PlayerC8withName5andIdACSgSS_AA5OwnerOtcfC', symObjAddr: 0x4A8, symBinAddr: 0xE4F4, symSize: 0x98 } + - { offsetInCU: 0x6C8, offset: 0x926BE, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6PlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKF', symObjAddr: 0x540, symBinAddr: 0xE58C, symSize: 0xC } + - { offsetInCU: 0x738, offset: 0x9272E, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6PlayerCfD', symObjAddr: 0x6F4, symBinAddr: 0xE740, symSize: 0x2C } + - { offsetInCU: 0x77C, offset: 0x92772, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6PlayerCMa', symObjAddr: 0x68, symBinAddr: 0xE0B4, symSize: 0x20 } + - { offsetInCU: 0x883, offset: 0x92879, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveVSgAA6PlayerCs5Error_pIegHngzo_AdFytsAG_pIegHnnrzo_TR', symObjAddr: 0x54C, symBinAddr: 0xE598, symSize: 0x6C } + - { offsetInCU: 0x8B6, offset: 0x928AC, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveVSgAA6PlayerCs5Error_pIegHngzo_AdFytsAG_pIegHnnrzo_TRTQ0_', symObjAddr: 0x5B8, symBinAddr: 0xE604, symSize: 0x48 } + - { offsetInCU: 0x904, offset: 0x928FA, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveVSgAA6PlayerCs5Error_pIegHngzo_AdFytsAG_pIegHnnrzo_TRTA', symObjAddr: 0x624, symBinAddr: 0xE670, symSize: 0x88 } + - { offsetInCU: 0x934, offset: 0x9292A, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveVSgAA6PlayerCs5Error_pIegHngzo_AdFytsAG_pIegHnnrzo_TRTATQ0_', symObjAddr: 0x6AC, symBinAddr: 0xE6F8, symSize: 0x48 } + - { offsetInCU: 0x9FE, offset: 0x929F4, size: 0x8, addend: 0x0, symName: '_$ss12_ArrayBufferV20_consumeAndCreateNew14bufferIsUnique15minimumCapacity13growForAppendAByxGSb_SiSbtFSi3row_Si3colt_Tg5', symObjAddr: 0x82C, symBinAddr: 0xE878, symSize: 0xFC } + - { offsetInCU: 0xBA1, offset: 0x92B97, size: 0x8, addend: 0x0, symName: '_$ss12_ArrayBufferV20_consumeAndCreateNew14bufferIsUnique15minimumCapacity13growForAppendAByxGSb_SiSbtF14DouShouQiModel4MoveV_Tg5', symObjAddr: 0x968, symBinAddr: 0xE974, symSize: 0x110 } + - { offsetInCU: 0xD44, offset: 0x92D3A, size: 0x8, addend: 0x0, symName: '_$ss12_ArrayBufferV20_consumeAndCreateNew14bufferIsUnique15minimumCapacity13growForAppendAByxGSb_SiSbtF14DouShouQiModel4CellV_Tg5', symObjAddr: 0xA78, symBinAddr: 0xEA84, symSize: 0xFC } + - { offsetInCU: 0xEF2, offset: 0x92EE8, size: 0x8, addend: 0x0, symName: '_$ss12_ArrayBufferV20_consumeAndCreateNew14bufferIsUnique15minimumCapacity13growForAppendAByxGSb_SiSbtFSay14DouShouQiModel4CellVG_Tg5', symObjAddr: 0xB74, symBinAddr: 0xEB80, symSize: 0x128 } + - { offsetInCU: 0x27, offset: 0x93220, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel9GameErrorOs0F0AAsADP7_domainSSvgTW', symObjAddr: 0x0, symBinAddr: 0xEE28, symSize: 0x4 } + - { offsetInCU: 0x3F, offset: 0x93238, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel9GameErrorOwCP', symObjAddr: 0x10, symBinAddr: 0xEE38, symSize: 0x48 } + - { offsetInCU: 0x53, offset: 0x9324C, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel9GameErrorOwxx', symObjAddr: 0x58, symBinAddr: 0xEE80, symSize: 0x18 } + - { offsetInCU: 0x67, offset: 0x93260, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel9GameErrorOwcp', symObjAddr: 0x70, symBinAddr: 0xEE98, symSize: 0x48 } + - { offsetInCU: 0x7B, offset: 0x93274, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel9GameErrorOwca', symObjAddr: 0xB8, symBinAddr: 0xEEE0, symSize: 0xA0 } + - { offsetInCU: 0x8F, offset: 0x93288, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel9GameErrorOwta', symObjAddr: 0x164, symBinAddr: 0xEF80, symSize: 0x60 } + - { offsetInCU: 0xA3, offset: 0x9329C, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel9GameErrorOwet', symObjAddr: 0x1C4, symBinAddr: 0xEFE0, symSize: 0x58 } + - { offsetInCU: 0xB7, offset: 0x932B0, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel9GameErrorOwst', symObjAddr: 0x21C, symBinAddr: 0xF038, symSize: 0x54 } + - { offsetInCU: 0xCB, offset: 0x932C4, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel9GameErrorOwug', symObjAddr: 0x270, symBinAddr: 0xF08C, symSize: 0x18 } + - { offsetInCU: 0xDF, offset: 0x932D8, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel9GameErrorOwup', symObjAddr: 0x288, symBinAddr: 0xF0A4, symSize: 0x4 } + - { offsetInCU: 0xF3, offset: 0x932EC, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel9GameErrorOwui', symObjAddr: 0x28C, symBinAddr: 0xF0A8, symSize: 0x20 } + - { offsetInCU: 0x107, offset: 0x93300, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel9GameErrorOMa', symObjAddr: 0x2AC, symBinAddr: 0xF0C8, symSize: 0x10 } + - { offsetInCU: 0x12C, offset: 0x93325, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel9GameErrorOs0F0AAsADP7_domainSSvgTW', symObjAddr: 0x0, symBinAddr: 0xEE28, symSize: 0x4 } + - { offsetInCU: 0x148, offset: 0x93341, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel9GameErrorOs0F0AAsADP5_codeSivgTW', symObjAddr: 0x4, symBinAddr: 0xEE2C, symSize: 0x4 } + - { offsetInCU: 0x164, offset: 0x9335D, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel9GameErrorOs0F0AAsADP9_userInfoyXlSgvgTW', symObjAddr: 0x8, symBinAddr: 0xEE30, symSize: 0x4 } + - { offsetInCU: 0x180, offset: 0x93379, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel9GameErrorOs0F0AAsADP19_getEmbeddedNSErroryXlSgyFTW', symObjAddr: 0xC, symBinAddr: 0xEE34, symSize: 0x4 } + - { offsetInCU: 0x27, offset: 0x9340E, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12RandomPlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKF', symObjAddr: 0x0, symBinAddr: 0xF0D8, symSize: 0x28 } + - { offsetInCU: 0x52, offset: 0x93439, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12RandomPlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKF', symObjAddr: 0x0, symBinAddr: 0xF0D8, symSize: 0x28 } + - { offsetInCU: 0xC5, offset: 0x934AC, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12RandomPlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKFTY0_', symObjAddr: 0x28, symBinAddr: 0xF100, symSize: 0x1B4 } + - { offsetInCU: 0x3A6, offset: 0x9378D, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12RandomPlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKFTQ1_', symObjAddr: 0x1DC, symBinAddr: 0xF2B4, symSize: 0x70 } + - { offsetInCU: 0x4A7, offset: 0x9388E, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12RandomPlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKFTY2_', symObjAddr: 0x24C, symBinAddr: 0xF324, symSize: 0x104 } + - { offsetInCU: 0x5DD, offset: 0x939C4, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12RandomPlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKFTY3_', symObjAddr: 0x350, symBinAddr: 0xF428, symSize: 0x4C } + - { offsetInCU: 0x6C4, offset: 0x93AAB, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12RandomPlayerC8withName5andIdACSgSS_AA5OwnerOtcfC', symObjAddr: 0x3C0, symBinAddr: 0xF498, symSize: 0x9C } + - { offsetInCU: 0x71B, offset: 0x93B02, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12RandomPlayerC8withName5andIdACSgSS_AA5OwnerOtcfc', symObjAddr: 0x45C, symBinAddr: 0xF534, symSize: 0x6C } + - { offsetInCU: 0x76C, offset: 0x93B53, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12RandomPlayerCfd', symObjAddr: 0x4C8, symBinAddr: 0xF5A0, symSize: 0x24 } + - { offsetInCU: 0x7CB, offset: 0x93BB2, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12RandomPlayerCfD', symObjAddr: 0x4EC, symBinAddr: 0xF5C4, symSize: 0x2C } + - { offsetInCU: 0x9ED, offset: 0x93DD4, size: 0x8, addend: 0x0, symName: ___swift_project_boxed_opaque_existential_1, symObjAddr: 0x39C, symBinAddr: 0xF474, symSize: 0x24 } + - { offsetInCU: 0xA98, offset: 0x93E7F, size: 0x8, addend: 0x0, symName: '_$sSGsE4next10upperBoundqd__qd___ts17FixedWidthIntegerRd__SURd__lFs27SystemRandomNumberGeneratorV_SuTg5', symObjAddr: 0x518, symBinAddr: 0xF5F0, symSize: 0x88 } + - { offsetInCU: 0xB39, offset: 0x93F20, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12RandomPlayerCMa', symObjAddr: 0x5A0, symBinAddr: 0xF678, symSize: 0x20 } + - { offsetInCU: 0x27, offset: 0x940DC, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeO8allCasesSayACGvgZ', symObjAddr: 0x0, symBinAddr: 0xF698, symSize: 0x48 } + - { offsetInCU: 0x6C, offset: 0x94121, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeO8allCasesSayACGvgZ', symObjAddr: 0x0, symBinAddr: 0xF698, symSize: 0x48 } + - { offsetInCU: 0xDB, offset: 0x94190, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeO2eeoiySbAC_ACtFZ', symObjAddr: 0x88, symBinAddr: 0xF6E0, symSize: 0x14 } + - { offsetInCU: 0x10E, offset: 0x941C3, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeO4hash4intoys6HasherVz_tF', symObjAddr: 0x9C, symBinAddr: 0xF6F4, symSize: 0x28 } + - { offsetInCU: 0x1A4, offset: 0x94259, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeO9hashValueSivg', symObjAddr: 0xC4, symBinAddr: 0xF71C, symSize: 0x44 } + - { offsetInCU: 0x29E, offset: 0x94353, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeOSQAASQ2eeoiySbx_xtFZTW', symObjAddr: 0x108, symBinAddr: 0xF760, symSize: 0x14 } + - { offsetInCU: 0x2BE, offset: 0x94373, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeOSQAASQ2eeoiySbx_xtFZTW', symObjAddr: 0x108, symBinAddr: 0xF760, symSize: 0x14 } + - { offsetInCU: 0x2FE, offset: 0x943B3, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeOSHAASH9hashValueSivgTW', symObjAddr: 0x11C, symBinAddr: 0xF774, symSize: 0x44 } + - { offsetInCU: 0x3E1, offset: 0x94496, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeOSHAASH4hash4intoys6HasherVz_tFTW', symObjAddr: 0x160, symBinAddr: 0xF7B8, symSize: 0x28 } + - { offsetInCU: 0x46D, offset: 0x94522, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeOs12CaseIterableAAsADP8allCases03AllJ0QzvgZTW', symObjAddr: 0x2A4, symBinAddr: 0xF8FC, symSize: 0x58 } + - { offsetInCU: 0x509, offset: 0x945BE, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeOSHAASQWb', symObjAddr: 0x1C8, symBinAddr: 0xF820, symSize: 0x4 } + - { offsetInCU: 0x51D, offset: 0x945D2, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeOACSQAAWl', symObjAddr: 0x1CC, symBinAddr: 0xF824, symSize: 0x44 } + - { offsetInCU: 0x531, offset: 0x945E6, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeOs12CaseIterableAA8AllCasessADP_SlWT', symObjAddr: 0x210, symBinAddr: 0xF868, symSize: 0x4 } + - { offsetInCU: 0x545, offset: 0x945FA, size: 0x8, addend: 0x0, symName: '_$sSay14DouShouQiModel8CellTypeOGSayxGSlsWl', symObjAddr: 0x214, symBinAddr: 0xF86C, symSize: 0x4C } + - { offsetInCU: 0x559, offset: 0x9460E, size: 0x8, addend: 0x0, symName: ___swift_instantiateConcreteTypeFromMangledNameAbstract, symObjAddr: 0x260, symBinAddr: 0xF8B8, symSize: 0x44 } + - { offsetInCU: 0x56D, offset: 0x94622, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeOwet', symObjAddr: 0x30C, symBinAddr: 0xF954, symSize: 0x90 } + - { offsetInCU: 0x581, offset: 0x94636, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeOwst', symObjAddr: 0x39C, symBinAddr: 0xF9E4, symSize: 0xBC } + - { offsetInCU: 0x595, offset: 0x9464A, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeOwug', symObjAddr: 0x458, symBinAddr: 0xFAA0, symSize: 0x8 } + - { offsetInCU: 0x5A9, offset: 0x9465E, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeOwup', symObjAddr: 0x460, symBinAddr: 0xFAA8, symSize: 0x4 } + - { offsetInCU: 0x5BD, offset: 0x94672, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeOwui', symObjAddr: 0x464, symBinAddr: 0xFAAC, symSize: 0x8 } + - { offsetInCU: 0x5D1, offset: 0x94686, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeOMa', symObjAddr: 0x46C, symBinAddr: 0xFAB4, symSize: 0x10 } + - { offsetInCU: 0x640, offset: 0x946F5, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeOSHAASH13_rawHashValue4seedS2i_tFTW', symObjAddr: 0x188, symBinAddr: 0xF7E0, symSize: 0x40 } + - { offsetInCU: 0x2B, offset: 0x94839, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardV8withGridACSgSaySayAA4CellVGG_tcfC', symObjAddr: 0x0, symBinAddr: 0xFAC4, symSize: 0x68 } + - { offsetInCU: 0xA6, offset: 0x948B4, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardV8withGridACSgSaySayAA4CellVGG_tcfC', symObjAddr: 0x0, symBinAddr: 0xFAC4, symSize: 0x68 } + - { offsetInCU: 0x2B0, offset: 0x94ABE, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardV11countPieces2ofSiAA5OwnerO_tF', symObjAddr: 0x68, symBinAddr: 0xFB2C, symSize: 0x1C0 } + - { offsetInCU: 0x583, offset: 0x94D91, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardV4hash4intoys6HasherVz_tF', symObjAddr: 0x228, symBinAddr: 0xFCEC, symSize: 0xD0 } + - { offsetInCU: 0x7F1, offset: 0x94FFF, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardV6nbRowsSivg', symObjAddr: 0x2F8, symBinAddr: 0xFDBC, symSize: 0x8 } + - { offsetInCU: 0x80F, offset: 0x9501D, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardV9nbColumnsSivg', symObjAddr: 0x300, symBinAddr: 0xFDC4, symSize: 0x8 } + - { offsetInCU: 0x82D, offset: 0x9503B, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardV4gridSaySayAA4CellVGGvg', symObjAddr: 0x308, symBinAddr: 0xFDCC, symSize: 0x8 } + - { offsetInCU: 0x84B, offset: 0x95059, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardV11countPiecesSi04nbOfgI7Player1_Si0higI7Player2tyF', symObjAddr: 0x310, symBinAddr: 0xFDD4, symSize: 0xD0 } + - { offsetInCU: 0xA02, offset: 0x95210, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardV6insert5piece5atRow9andColumnAA0E6ResultOAA5PieceV_S2itF', symObjAddr: 0x3E0, symBinAddr: 0xFEA4, symSize: 0x150 } + - { offsetInCU: 0xC18, offset: 0x95426, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardV11removePiece5atRow9andColumnAA0E6ResultOSi_SitF', symObjAddr: 0x530, symBinAddr: 0xFFF4, symSize: 0x14C } + - { offsetInCU: 0xE35, offset: 0x95643, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardV2eeoiySbAC_ACtFZ', symObjAddr: 0x67C, symBinAddr: 0x10140, symSize: 0x28 } + - { offsetInCU: 0xE77, offset: 0x95685, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardV9hashValueSivg', symObjAddr: 0x6A4, symBinAddr: 0x10168, symSize: 0x50 } + - { offsetInCU: 0xF03, offset: 0x95711, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVSHAASH9hashValueSivgTW', symObjAddr: 0x6F4, symBinAddr: 0x101B8, symSize: 0x50 } + - { offsetInCU: 0xF92, offset: 0x957A0, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVSHAASH4hash4intoys6HasherVz_tFTW', symObjAddr: 0x744, symBinAddr: 0x10208, symSize: 0x4 } + - { offsetInCU: 0xFC0, offset: 0x957CE, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVSQAASQ2eeoiySbx_xtFZTW', symObjAddr: 0x794, symBinAddr: 0x10258, symSize: 0x28 } + - { offsetInCU: 0x125D, offset: 0x95A6B, size: 0x8, addend: 0x0, symName: '_$ss12_ArrayBufferV20_consumeAndCreateNewAByxGyF14DouShouQiModel4MoveV_Tg5', symObjAddr: 0x7BC, symBinAddr: 0x10280, symSize: 0x14 } + - { offsetInCU: 0x1295, offset: 0x95AA3, size: 0x8, addend: 0x0, symName: '_$ss12_ArrayBufferV20_consumeAndCreateNewAByxGyF14DouShouQiModel4CellV_Tg5', symObjAddr: 0x7D0, symBinAddr: 0x10294, symSize: 0x14 } + - { offsetInCU: 0x12CD, offset: 0x95ADB, size: 0x8, addend: 0x0, symName: '_$ss12_ArrayBufferV20_consumeAndCreateNewAByxGyFSay14DouShouQiModel4CellVG_Tg5', symObjAddr: 0x7E4, symBinAddr: 0x102A8, symSize: 0x14 } + - { offsetInCU: 0x1305, offset: 0x95B13, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVSHAASQWb', symObjAddr: 0x9B0, symBinAddr: 0x10474, symSize: 0x4 } + - { offsetInCU: 0x1319, offset: 0x95B27, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVACSQAAWl', symObjAddr: 0x9B4, symBinAddr: 0x10478, symSize: 0x44 } + - { offsetInCU: 0x132D, offset: 0x95B3B, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVwCP', symObjAddr: 0x9F8, symBinAddr: 0x104BC, symSize: 0x34 } + - { offsetInCU: 0x1341, offset: 0x95B4F, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVwxx', symObjAddr: 0xA2C, symBinAddr: 0x104F0, symSize: 0x8 } + - { offsetInCU: 0x1355, offset: 0x95B63, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVwcp', symObjAddr: 0xA34, symBinAddr: 0x104F8, symSize: 0x34 } + - { offsetInCU: 0x1369, offset: 0x95B77, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVwca', symObjAddr: 0xA68, symBinAddr: 0x1052C, symSize: 0x48 } + - { offsetInCU: 0x137D, offset: 0x95B8B, size: 0x8, addend: 0x0, symName: ___swift_memcpy24_8, symObjAddr: 0xAB0, symBinAddr: 0x10574, symSize: 0x14 } + - { offsetInCU: 0x1391, offset: 0x95B9F, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVwta', symObjAddr: 0xAC4, symBinAddr: 0x10588, symSize: 0x38 } + - { offsetInCU: 0x13A5, offset: 0x95BB3, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVwet', symObjAddr: 0xAFC, symBinAddr: 0x105C0, symSize: 0x48 } + - { offsetInCU: 0x13B9, offset: 0x95BC7, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVwst', symObjAddr: 0xB44, symBinAddr: 0x10608, symSize: 0x40 } + - { offsetInCU: 0x13CD, offset: 0x95BDB, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVMa', symObjAddr: 0xB84, symBinAddr: 0x10648, symSize: 0x10 } + - { offsetInCU: 0x153A, offset: 0x95D48, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVSHAASH13_rawHashValue4seedS2i_tFTW', symObjAddr: 0x748, symBinAddr: 0x1020C, symSize: 0x4C } + - { offsetInCU: 0x1578, offset: 0x95D86, size: 0x8, addend: 0x0, symName: '_$sSasSQRzlE2eeoiySbSayxG_ABtFZ14DouShouQiModel4CellV_Tg5Tf4nnd_n', symObjAddr: 0x7F8, symBinAddr: 0x102BC, symSize: 0x98 } + - { offsetInCU: 0x1598, offset: 0x95DA6, size: 0x8, addend: 0x0, symName: '_$sSasSQRzlE2eeoiySbSayxG_ABtFZ14DouShouQiModel4CellV_Tg5Tf4nnd_n', symObjAddr: 0x7F8, symBinAddr: 0x102BC, symSize: 0x98 } + - { offsetInCU: 0x15AC, offset: 0x95DBA, size: 0x8, addend: 0x0, symName: '_$sSasSQRzlE2eeoiySbSayxG_ABtFZ14DouShouQiModel4CellV_Tg5Tf4nnd_n', symObjAddr: 0x7F8, symBinAddr: 0x102BC, symSize: 0x98 } + - { offsetInCU: 0x15C0, offset: 0x95DCE, size: 0x8, addend: 0x0, symName: '_$sSasSQRzlE2eeoiySbSayxG_ABtFZ14DouShouQiModel4CellV_Tg5Tf4nnd_n', symObjAddr: 0x7F8, symBinAddr: 0x102BC, symSize: 0x98 } + - { offsetInCU: 0x164C, offset: 0x95E5A, size: 0x8, addend: 0x0, symName: '_$sSasSQRzlE2eeoiySbSayxG_ABtFZSay14DouShouQiModel4CellVG_Tg5Tf4nnd_n', symObjAddr: 0x890, symBinAddr: 0x10354, symSize: 0x120 } + - { offsetInCU: 0x27, offset: 0x960AA, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceV9withOwner9andAnimalAcA0G0O_AA0I0OtcfC', symObjAddr: 0x0, symBinAddr: 0x10658, symSize: 0x14 } + - { offsetInCU: 0x46, offset: 0x960C9, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceV9withOwner9andAnimalAcA0G0O_AA0I0OtcfC', symObjAddr: 0x0, symBinAddr: 0x10658, symSize: 0x14 } + - { offsetInCU: 0x85, offset: 0x96108, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceV11descriptionSSvg', symObjAddr: 0x14, symBinAddr: 0x1066C, symSize: 0xB4 } + - { offsetInCU: 0x176, offset: 0x961F9, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceV5ownerAA5OwnerOvg', symObjAddr: 0xC8, symBinAddr: 0x10720, symSize: 0xC } + - { offsetInCU: 0x194, offset: 0x96217, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceV6animalAA6AnimalOvg', symObjAddr: 0xD4, symBinAddr: 0x1072C, symSize: 0xC } + - { offsetInCU: 0x1B2, offset: 0x96235, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceV4hash4intoys6HasherVz_tF', symObjAddr: 0xE0, symBinAddr: 0x10738, symSize: 0x3C } + - { offsetInCU: 0x2E8, offset: 0x9636B, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceV2eeoiySbAC_ACtFZ', symObjAddr: 0x11C, symBinAddr: 0x10774, symSize: 0x20 } + - { offsetInCU: 0x355, offset: 0x963D8, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceV9hashValueSivg', symObjAddr: 0x13C, symBinAddr: 0x10794, symSize: 0x5C } + - { offsetInCU: 0x4EB, offset: 0x9656E, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceVs23CustomStringConvertibleAAsADP11descriptionSSvgTW', symObjAddr: 0x198, symBinAddr: 0x107F0, symSize: 0x4 } + - { offsetInCU: 0x516, offset: 0x96599, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceVSHAASH9hashValueSivgTW', symObjAddr: 0x19C, symBinAddr: 0x107F4, symSize: 0x5C } + - { offsetInCU: 0x6C9, offset: 0x9674C, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceVSHAASH4hash4intoys6HasherVz_tFTW', symObjAddr: 0x1F8, symBinAddr: 0x10850, symSize: 0x3C } + - { offsetInCU: 0x82D, offset: 0x968B0, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceVSQAASQ2eeoiySbx_xtFZTW', symObjAddr: 0x28C, symBinAddr: 0x108E4, symSize: 0x20 } + - { offsetInCU: 0x84D, offset: 0x968D0, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceVSQAASQ2eeoiySbx_xtFZTW', symObjAddr: 0x28C, symBinAddr: 0x108E4, symSize: 0x20 } + - { offsetInCU: 0x949, offset: 0x969CC, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceVSHAASQWb', symObjAddr: 0x2AC, symBinAddr: 0x10904, symSize: 0x4 } + - { offsetInCU: 0x95D, offset: 0x969E0, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceVACSQAAWl', symObjAddr: 0x2B0, symBinAddr: 0x10908, symSize: 0x44 } + - { offsetInCU: 0x971, offset: 0x969F4, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceVwet', symObjAddr: 0x304, symBinAddr: 0x1094C, symSize: 0x94 } + - { offsetInCU: 0x985, offset: 0x96A08, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceVwst', symObjAddr: 0x398, symBinAddr: 0x109E0, symSize: 0xBC } + - { offsetInCU: 0x999, offset: 0x96A1C, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceVMa', symObjAddr: 0x454, symBinAddr: 0x10A9C, symSize: 0x10 } + - { offsetInCU: 0xA45, offset: 0x96AC8, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceVSHAASH13_rawHashValue4seedS2i_tFTW', symObjAddr: 0x234, symBinAddr: 0x1088C, symSize: 0x58 } + - { offsetInCU: 0x27, offset: 0x96CC8, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel17InvalidBoardErrorO2eeoiySbAC_ACtFZ', symObjAddr: 0x0, symBinAddr: 0x10AAC, symSize: 0x4 } + - { offsetInCU: 0x4B, offset: 0x96CEC, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel17InvalidBoardErrorO2eeoiySbAC_ACtFZ', symObjAddr: 0x0, symBinAddr: 0x10AAC, symSize: 0x4 } + - { offsetInCU: 0x6E, offset: 0x96D0F, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel17InvalidBoardErrorOSQAASQ2eeoiySbx_xtFZTW', symObjAddr: 0x14, symBinAddr: 0x10AC0, symSize: 0x4 } + - { offsetInCU: 0x8E, offset: 0x96D2F, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel17InvalidBoardErrorOSQAASQ2eeoiySbx_xtFZTW', symObjAddr: 0x14, symBinAddr: 0x10AC0, symSize: 0x4 } + - { offsetInCU: 0x9F, offset: 0x96D40, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel17InvalidBoardErrorO2eeoiySbAC_ACtFZTf4nnd_n', symObjAddr: 0x18, symBinAddr: 0x10AC4, symSize: 0x118 } + - { offsetInCU: 0x1AE, offset: 0x96E4F, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel17InvalidBoardErrorOwCP', symObjAddr: 0x130, symBinAddr: 0x10BDC, symSize: 0x30 } + - { offsetInCU: 0x1C2, offset: 0x96E63, size: 0x8, addend: 0x0, symName: ___swift_memcpy25_8, symObjAddr: 0x164, symBinAddr: 0x10C0C, symSize: 0x14 } + - { offsetInCU: 0x1D6, offset: 0x96E77, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel17InvalidBoardErrorOwet', symObjAddr: 0x178, symBinAddr: 0x10C20, symSize: 0x48 } + - { offsetInCU: 0x1EA, offset: 0x96E8B, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel17InvalidBoardErrorOwst', symObjAddr: 0x1C0, symBinAddr: 0x10C68, symSize: 0x48 } + - { offsetInCU: 0x1FE, offset: 0x96E9F, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel17InvalidBoardErrorOwug', symObjAddr: 0x208, symBinAddr: 0x10CB0, symSize: 0x18 } + - { offsetInCU: 0x212, offset: 0x96EB3, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel17InvalidBoardErrorOwup', symObjAddr: 0x220, symBinAddr: 0x10CC8, symSize: 0x4 } + - { offsetInCU: 0x226, offset: 0x96EC7, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel17InvalidBoardErrorOwui', symObjAddr: 0x224, symBinAddr: 0x10CCC, symSize: 0x1C } + - { offsetInCU: 0x23A, offset: 0x96EDB, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel17InvalidBoardErrorOMa', symObjAddr: 0x240, symBinAddr: 0x10CE8, symSize: 0x10 } + - { offsetInCU: 0x25F, offset: 0x96F00, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel17InvalidBoardErrorOs0G0AAsADP7_domainSSvgTW', symObjAddr: 0x4, symBinAddr: 0x10AB0, symSize: 0x4 } + - { offsetInCU: 0x27B, offset: 0x96F1C, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel17InvalidBoardErrorOs0G0AAsADP5_codeSivgTW', symObjAddr: 0x8, symBinAddr: 0x10AB4, symSize: 0x4 } + - { offsetInCU: 0x297, offset: 0x96F38, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel17InvalidBoardErrorOs0G0AAsADP9_userInfoyXlSgvgTW', symObjAddr: 0xC, symBinAddr: 0x10AB8, symSize: 0x4 } + - { offsetInCU: 0x2B3, offset: 0x96F54, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel17InvalidBoardErrorOs0G0AAsADP19_getEmbeddedNSErroryXlSgyFTW', symObjAddr: 0x10, symBinAddr: 0x10ABC, symSize: 0x4 } + - { offsetInCU: 0x27, offset: 0x96FFF, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5OwnerO2eeoiySbAC_ACtFZ', symObjAddr: 0x0, symBinAddr: 0x10CF8, symSize: 0x14 } + - { offsetInCU: 0x4B, offset: 0x97023, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5OwnerO2eeoiySbAC_ACtFZ', symObjAddr: 0x0, symBinAddr: 0x10CF8, symSize: 0x14 } + - { offsetInCU: 0x7E, offset: 0x97056, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5OwnerO17simpleDescriptionSSvg', symObjAddr: 0x14, symBinAddr: 0x10D0C, symSize: 0x18 } + - { offsetInCU: 0xA9, offset: 0x97081, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5OwnerO4hash4intoys6HasherVz_tF', symObjAddr: 0x2C, symBinAddr: 0x10D24, symSize: 0x28 } + - { offsetInCU: 0x13F, offset: 0x97117, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5OwnerO9hashValueSivg', symObjAddr: 0x54, symBinAddr: 0x10D4C, symSize: 0x44 } + - { offsetInCU: 0x239, offset: 0x97211, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5OwnerOSQAASQ2eeoiySbx_xtFZTW', symObjAddr: 0x98, symBinAddr: 0x10D90, symSize: 0x14 } + - { offsetInCU: 0x259, offset: 0x97231, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5OwnerOSQAASQ2eeoiySbx_xtFZTW', symObjAddr: 0x98, symBinAddr: 0x10D90, symSize: 0x14 } + - { offsetInCU: 0x299, offset: 0x97271, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5OwnerOSHAASH9hashValueSivgTW', symObjAddr: 0xAC, symBinAddr: 0x10DA4, symSize: 0x44 } + - { offsetInCU: 0x37C, offset: 0x97354, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5OwnerOSHAASH4hash4intoys6HasherVz_tFTW', symObjAddr: 0xF0, symBinAddr: 0x10DE8, symSize: 0x28 } + - { offsetInCU: 0x405, offset: 0x973DD, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5OwnerOSHAASQWb', symObjAddr: 0x158, symBinAddr: 0x10E50, symSize: 0x4 } + - { offsetInCU: 0x419, offset: 0x973F1, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5OwnerOACSQAAWl', symObjAddr: 0x15C, symBinAddr: 0x10E54, symSize: 0x44 } + - { offsetInCU: 0x42D, offset: 0x97405, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5OwnerOwet', symObjAddr: 0x1B0, symBinAddr: 0x10E98, symSize: 0x90 } + - { offsetInCU: 0x441, offset: 0x97419, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5OwnerOwst', symObjAddr: 0x240, symBinAddr: 0x10F28, symSize: 0xBC } + - { offsetInCU: 0x455, offset: 0x9742D, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5OwnerOwug', symObjAddr: 0x2FC, symBinAddr: 0x10FE4, symSize: 0x8 } + - { offsetInCU: 0x469, offset: 0x97441, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5OwnerOwup', symObjAddr: 0x304, symBinAddr: 0x10FEC, symSize: 0x4 } + - { offsetInCU: 0x47D, offset: 0x97455, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5OwnerOwui', symObjAddr: 0x308, symBinAddr: 0x10FF0, symSize: 0x8 } + - { offsetInCU: 0x491, offset: 0x97469, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5OwnerOMa', symObjAddr: 0x310, symBinAddr: 0x10FF8, symSize: 0x10 } + - { offsetInCU: 0x4EA, offset: 0x974C2, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5OwnerOSHAASH13_rawHashValue4seedS2i_tFTW', symObjAddr: 0x118, symBinAddr: 0x10E10, symSize: 0x40 } + - { offsetInCU: 0x27, offset: 0x975ED, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8IAPlayerC8withName5andIdACSgSS_AA5OwnerOtcfc', symObjAddr: 0x0, symBinAddr: 0x11008, symSize: 0x6C } + - { offsetInCU: 0xAC, offset: 0x97672, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8IAPlayerC8withName5andIdACSgSS_AA5OwnerOtcfc', symObjAddr: 0x0, symBinAddr: 0x11008, symSize: 0x6C } + - { offsetInCU: 0xF0, offset: 0x976B6, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8IAPlayerCfd', symObjAddr: 0x6C, symBinAddr: 0x11074, symSize: 0x24 } + - { offsetInCU: 0x155, offset: 0x9771B, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8IAPlayerC8withName5andIdACSgSS_AA5OwnerOtcfC', symObjAddr: 0x90, symBinAddr: 0x11098, symSize: 0x9C } + - { offsetInCU: 0x1BD, offset: 0x97783, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8IAPlayerCfD', symObjAddr: 0x12C, symBinAddr: 0x11134, symSize: 0x2C } + - { offsetInCU: 0x217, offset: 0x977DD, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8IAPlayerCMa', symObjAddr: 0x158, symBinAddr: 0x11160, symSize: 0x20 } + - { offsetInCU: 0x27, offset: 0x978A4, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveV2eeoiySbAC_ACtFZ', symObjAddr: 0x0, symBinAddr: 0x11180, symSize: 0x4 } + - { offsetInCU: 0x46, offset: 0x978C3, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveV2eeoiySbAC_ACtFZ', symObjAddr: 0x0, symBinAddr: 0x11180, symSize: 0x4 } + - { offsetInCU: 0x5A, offset: 0x978D7, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveV2of7fromRow13andFromColumn02toH00i2ToK0AcA5OwnerO_S4itcfC', symObjAddr: 0x4, symBinAddr: 0x11184, symSize: 0x14 } + - { offsetInCU: 0xC1, offset: 0x9793E, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveV5ownerAA5OwnerOvg', symObjAddr: 0x18, symBinAddr: 0x11198, symSize: 0xC } + - { offsetInCU: 0xDF, offset: 0x9795C, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveV9rowOriginSivg', symObjAddr: 0x24, symBinAddr: 0x111A4, symSize: 0x8 } + - { offsetInCU: 0xFD, offset: 0x9797A, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveV12columnOriginSivg', symObjAddr: 0x2C, symBinAddr: 0x111AC, symSize: 0x8 } + - { offsetInCU: 0x11B, offset: 0x97998, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveV14rowDestinationSivg', symObjAddr: 0x34, symBinAddr: 0x111B4, symSize: 0x8 } + - { offsetInCU: 0x139, offset: 0x979B6, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveV17columnDestinationSivg', symObjAddr: 0x3C, symBinAddr: 0x111BC, symSize: 0x8 } + - { offsetInCU: 0x157, offset: 0x979D4, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveV11descriptionSSvg', symObjAddr: 0x44, symBinAddr: 0x111C4, symSize: 0x198 } + - { offsetInCU: 0x287, offset: 0x97B04, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveVs23CustomStringConvertibleAAsADP11descriptionSSvgTW', symObjAddr: 0x1DC, symBinAddr: 0x1135C, symSize: 0x4 } + - { offsetInCU: 0x2B2, offset: 0x97B2F, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveVSQAASQ2eeoiySbx_xtFZTW', symObjAddr: 0x1E0, symBinAddr: 0x11360, symSize: 0x4 } + - { offsetInCU: 0x2D2, offset: 0x97B4F, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveVSQAASQ2eeoiySbx_xtFZTW', symObjAddr: 0x1E0, symBinAddr: 0x11360, symSize: 0x4 } + - { offsetInCU: 0x2E3, offset: 0x97B60, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveV2eeoiySbAC_ACtFZTf4nnd_n', symObjAddr: 0x1E4, symBinAddr: 0x11364, symSize: 0x48 } + - { offsetInCU: 0x316, offset: 0x97B93, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveVwCP', symObjAddr: 0x22C, symBinAddr: 0x113AC, symSize: 0x30 } + - { offsetInCU: 0x32A, offset: 0x97BA7, size: 0x8, addend: 0x0, symName: ___swift_memcpy40_8, symObjAddr: 0x260, symBinAddr: 0x113DC, symSize: 0x14 } + - { offsetInCU: 0x33E, offset: 0x97BBB, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveVwet', symObjAddr: 0x274, symBinAddr: 0x113F0, symSize: 0x44 } + - { offsetInCU: 0x352, offset: 0x97BCF, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveVwst', symObjAddr: 0x2B8, symBinAddr: 0x11434, symSize: 0x4C } + - { offsetInCU: 0x366, offset: 0x97BE3, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveVMa', symObjAddr: 0x304, symBinAddr: 0x11480, symSize: 0x10 } + - { offsetInCU: 0x27, offset: 0x97CD6, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6AnimalO8rawValueSivg', symObjAddr: 0x0, symBinAddr: 0x11490, symSize: 0xC } + - { offsetInCU: 0x4B, offset: 0x97CFA, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6AnimalO8rawValueSivg', symObjAddr: 0x0, symBinAddr: 0x11490, symSize: 0xC } + - { offsetInCU: 0x66, offset: 0x97D15, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6AnimalO8rawValueACSgSi_tcfC', symObjAddr: 0xC, symBinAddr: 0x1149C, symSize: 0x18 } + - { offsetInCU: 0xB8, offset: 0x97D67, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6AnimalOSYAASY8rawValuexSg03RawG0Qz_tcfCTW', symObjAddr: 0x130, symBinAddr: 0x115C0, symSize: 0x8 } + - { offsetInCU: 0xD4, offset: 0x97D83, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6AnimalOSYAASY8rawValue03RawG0QzvgTW', symObjAddr: 0x138, symBinAddr: 0x115C8, symSize: 0x10 } + - { offsetInCU: 0xEC, offset: 0x97D9B, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6AnimalOSYAASY8rawValue03RawG0QzvgTW', symObjAddr: 0x138, symBinAddr: 0x115C8, symSize: 0x10 } + - { offsetInCU: 0x109, offset: 0x97DB8, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6AnimalOSHAASQWb', symObjAddr: 0x38, symBinAddr: 0x114C8, symSize: 0x4 } + - { offsetInCU: 0x11D, offset: 0x97DCC, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6AnimalOACSQAAWl', symObjAddr: 0x3C, symBinAddr: 0x114CC, symSize: 0x44 } + - { offsetInCU: 0x147, offset: 0x97DF6, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6AnimalOwet', symObjAddr: 0x158, symBinAddr: 0x115D8, symSize: 0x90 } + - { offsetInCU: 0x15B, offset: 0x97E0A, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6AnimalOwst', symObjAddr: 0x1E8, symBinAddr: 0x11668, symSize: 0xBC } + - { offsetInCU: 0x16F, offset: 0x97E1E, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6AnimalOwug', symObjAddr: 0x2A4, symBinAddr: 0x11724, symSize: 0x8 } + - { offsetInCU: 0x183, offset: 0x97E32, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6AnimalOwup', symObjAddr: 0x2AC, symBinAddr: 0x1172C, symSize: 0x4 } + - { offsetInCU: 0x197, offset: 0x97E46, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6AnimalOwui', symObjAddr: 0x2B0, symBinAddr: 0x11730, symSize: 0x8 } + - { offsetInCU: 0x1AB, offset: 0x97E5A, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6AnimalOMa', symObjAddr: 0x2B8, symBinAddr: 0x11738, symSize: 0x10 } + - { offsetInCU: 0x1E6, offset: 0x97E95, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6AnimalOSQAASQ2eeoiySbx_xtFZTW', symObjAddr: 0x24, symBinAddr: 0x114B4, symSize: 0x14 } + - { offsetInCU: 0x277, offset: 0x97F26, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6AnimalOSHAASH9hashValueSivgTW', symObjAddr: 0x80, symBinAddr: 0x11510, symSize: 0x44 } + - { offsetInCU: 0x34F, offset: 0x97FFE, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6AnimalOSHAASH4hash4intoys6HasherVz_tFTW', symObjAddr: 0xC4, symBinAddr: 0x11554, symSize: 0x2C } + - { offsetInCU: 0x3CB, offset: 0x9807A, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6AnimalOSHAASH13_rawHashValue4seedS2i_tFTW', symObjAddr: 0xF0, symBinAddr: 0x11580, symSize: 0x40 } + - { offsetInCU: 0x97, offset: 0x9821A, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC5boardAA5BoardVvg', symObjAddr: 0xBC, symBinAddr: 0x11804, symSize: 0x4C } + - { offsetInCU: 0xE0, offset: 0x98263, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC5rulesAA5Rules_pvg', symObjAddr: 0x16C, symBinAddr: 0x118B4, symSize: 0x48 } + - { offsetInCU: 0xFF, offset: 0x98282, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC7playersSDyAA5OwnerOAA6PlayerCGvg', symObjAddr: 0x1F8, symBinAddr: 0x11940, symSize: 0x8 } + - { offsetInCU: 0x12C, offset: 0x982AF, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC9withRules10andPlayer10H7Player2AcA0G0_p_AA6PlayerCAItKcfC', symObjAddr: 0x200, symBinAddr: 0x11948, symSize: 0x64 } + - { offsetInCU: 0x151, offset: 0x982D4, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC9withRules10andPlayer10H7Player2AcA0G0_p_AA6PlayerCAItKcfc', symObjAddr: 0x264, symBinAddr: 0x119AC, symSize: 0x464 } + - { offsetInCU: 0x553, offset: 0x986D6, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC9withRules10andPlayer10H7Player2AcA0G0_p_AA6PlayerCAItKcfcyAA4MoveVSg_AItYacfU_', symObjAddr: 0x7B0, symBinAddr: 0x11E50, symSize: 0x84 } + - { offsetInCU: 0x602, offset: 0x98785, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC9withRules10andPlayer10H7Player2AcA0G0_p_AA6PlayerCAItKcfcyAA4MoveVSg_AItYacfU_TQ0_', symObjAddr: 0x834, symBinAddr: 0x11ED4, symSize: 0x68 } + - { offsetInCU: 0x69B, offset: 0x9881E, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC9withRules10andPlayer10H7Player2AcA0G0_p_AA6PlayerCAItKcfcyAA4MoveVSg_AItYacfU_TY2_', symObjAddr: 0x89C, symBinAddr: 0x11F3C, symSize: 0x1C } + - { offsetInCU: 0x6E0, offset: 0x98863, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC9withRules10andPlayer10H7Player2AcA0G0_p_AA6PlayerCAItKcfcyAA4MoveVSg_AItYacfU0_', symObjAddr: 0x8B8, symBinAddr: 0x11F58, symSize: 0x84 } + - { offsetInCU: 0x78F, offset: 0x98912, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC9withRules10andPlayer10H7Player2AcA0G0_p_AA6PlayerCAItKcfcyAA4MoveVSg_AItYacfU0_TQ0_', symObjAddr: 0x93C, symBinAddr: 0x11FDC, symSize: 0x68 } + - { offsetInCU: 0x828, offset: 0x989AB, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC9withRules10andPlayer10H7Player2AcA0G0_p_AA6PlayerCAItKcfcyAA4MoveVSg_AItYacfU0_TY1_', symObjAddr: 0x9A4, symBinAddr: 0x12044, symSize: 0xC } + - { offsetInCU: 0x882, offset: 0x98A05, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC9withRules10andPlayer10H7Player2AcA0G0_p_AA6PlayerCAItKcfcyAA4MoveVSg_AItYacfU0_TY2_', symObjAddr: 0x9B0, symBinAddr: 0x12050, symSize: 0x1C } + - { offsetInCU: 0x8C7, offset: 0x98A4A, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC9withBoard8andRules0H7Player10H7Player2AcA0G0V_AA0I0_pAA6PlayerCALtKcfC', symObjAddr: 0x9CC, symBinAddr: 0x1206C, symSize: 0x6C } + - { offsetInCU: 0x8EC, offset: 0x98A6F, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC9withBoard8andRules0H7Player10H7Player2AcA0G0V_AA0I0_pAA6PlayerCALtKcfc', symObjAddr: 0xA38, symBinAddr: 0x120D8, symSize: 0x2C4 } + - { offsetInCU: 0x9E9, offset: 0x98B6C, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC03addE15StartedListeneryyyAA5BoardVcF', symObjAddr: 0xCFC, symBinAddr: 0x1239C, symSize: 0xD4 } + - { offsetInCU: 0xB14, offset: 0x98C97, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC25addPlayerNotifiedListeneryyyAA5BoardV_AA0G0CtYaKcF', symObjAddr: 0xDD0, symBinAddr: 0x12470, symSize: 0xD4 } + - { offsetInCU: 0xC3F, offset: 0x98DC2, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC03addE15ChangedListeneryyyACYacF', symObjAddr: 0xF58, symBinAddr: 0x125F8, symSize: 0xD4 } + - { offsetInCU: 0xD6A, offset: 0x98EED, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC03addE12OverListeneryyyAA5BoardV_AA6ResultOAA6PlayerCSgtcF', symObjAddr: 0x108C, symBinAddr: 0x1272C, symSize: 0xD4 } + - { offsetInCU: 0xE95, offset: 0x99018, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC30addMoveChosenCallbacksListeneryyyAA5BoardV_AA0G0VAA6PlayerCtcF', symObjAddr: 0x1160, symBinAddr: 0x12800, symSize: 0xD4 } + - { offsetInCU: 0xFC0, offset: 0x99143, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC31addInvalidMoveCallbacksListeneryyyAA5BoardV_AA0H0VAA6PlayerCSbtcF', symObjAddr: 0x1234, symBinAddr: 0x128D4, symSize: 0xD4 } + - { offsetInCU: 0x10EB, offset: 0x9926E, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC23addBoardChangedListeneryyyAA0G0VcF', symObjAddr: 0x1308, symBinAddr: 0x129A8, symSize: 0xD4 } + - { offsetInCU: 0x1216, offset: 0x99399, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC23addPieceRemovedListeneryyySi_SiAA0G0VtcF', symObjAddr: 0x13DC, symBinAddr: 0x12A7C, symSize: 0xD4 } + - { offsetInCU: 0x135F, offset: 0x994E2, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC18notifyPieceRemoved33_4E9958627B7DCD90B6D32369387417C3LLyySi_SiAA0G0VtF', symObjAddr: 0x14B0, symBinAddr: 0x12B50, symSize: 0xC8 } + - { offsetInCU: 0x150C, offset: 0x9968F, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC8onPlayed4with4fromyAA4MoveVSg_AA6PlayerCtYaKF', symObjAddr: 0x1578, symBinAddr: 0x12C18, symSize: 0x28 } + - { offsetInCU: 0x1914, offset: 0x99A97, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC8onPlayed4with4fromyAA4MoveVSg_AA6PlayerCtYaKFTY0_', symObjAddr: 0x15A0, symBinAddr: 0x12C40, symSize: 0x9E8 } + - { offsetInCU: 0x267D, offset: 0x9A800, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC8onPlayed4with4fromyAA4MoveVSg_AA6PlayerCtYaKFTQ1_', symObjAddr: 0x1F88, symBinAddr: 0x13628, symSize: 0x60 } + - { offsetInCU: 0x27B0, offset: 0x9A933, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC8onPlayed4with4fromyAA4MoveVSg_AA6PlayerCtYaKFTY2_', symObjAddr: 0x1FE8, symBinAddr: 0x13688, symSize: 0x220 } + - { offsetInCU: 0x2AB9, offset: 0x9AC3C, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC8onPlayed4with4fromyAA4MoveVSg_AA6PlayerCtYaKFTQ3_', symObjAddr: 0x2208, symBinAddr: 0x138A8, symSize: 0x70 } + - { offsetInCU: 0x2BB2, offset: 0x9AD35, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC8onPlayed4with4fromyAA4MoveVSg_AA6PlayerCtYaKFTY4_', symObjAddr: 0x2278, symBinAddr: 0x13918, symSize: 0x10C } + - { offsetInCU: 0x2CE1, offset: 0x9AE64, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC8onPlayed4with4fromyAA4MoveVSg_AA6PlayerCtYaKFTY5_', symObjAddr: 0x2384, symBinAddr: 0x13A24, symSize: 0x5C } + - { offsetInCU: 0x2D8F, offset: 0x9AF12, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC6isOverSbvg', symObjAddr: 0x23E0, symBinAddr: 0x13A80, symSize: 0x30 } + - { offsetInCU: 0x2DAC, offset: 0x9AF2F, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC5startyyYaKF', symObjAddr: 0x2410, symBinAddr: 0x13AB0, symSize: 0x18 } + - { offsetInCU: 0x2E63, offset: 0x9AFE6, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC5startyyYaKFTY0_', symObjAddr: 0x2428, symBinAddr: 0x13AC8, symSize: 0x348 } + - { offsetInCU: 0x3351, offset: 0x9B4D4, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC5startyyYaKFTQ1_', symObjAddr: 0x2770, symBinAddr: 0x13E10, symSize: 0x60 } + - { offsetInCU: 0x33ED, offset: 0x9B570, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC5startyyYaKFTY2_', symObjAddr: 0x27D0, symBinAddr: 0x13E70, symSize: 0x210 } + - { offsetInCU: 0x3666, offset: 0x9B7E9, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC5startyyYaKFTQ3_', symObjAddr: 0x29E0, symBinAddr: 0x14080, symSize: 0x70 } + - { offsetInCU: 0x370F, offset: 0x9B892, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC5startyyYaKFTY4_', symObjAddr: 0x2A50, symBinAddr: 0x140F0, symSize: 0x104 } + - { offsetInCU: 0x37EF, offset: 0x9B972, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC5startyyYaKFTY5_', symObjAddr: 0x2B54, symBinAddr: 0x141F4, symSize: 0x5C } + - { offsetInCU: 0x383E, offset: 0x9B9C1, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameCfd', symObjAddr: 0x2BB0, symBinAddr: 0x14250, symSize: 0x6C } + - { offsetInCU: 0x386B, offset: 0x9B9EE, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameCfD', symObjAddr: 0x2C1C, symBinAddr: 0x142BC, symSize: 0x1C } + - { offsetInCU: 0x3899, offset: 0x9BA1C, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC5boardAA5BoardVvpACTK', symObjAddr: 0x0, symBinAddr: 0x11748, symSize: 0x50 } + - { offsetInCU: 0x38CF, offset: 0x9BA52, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC5boardAA5BoardVvpACTk', symObjAddr: 0x50, symBinAddr: 0x11798, symSize: 0x6C } + - { offsetInCU: 0x390F, offset: 0x9BA92, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC5rulesAA5Rules_pvpACTk', symObjAddr: 0x108, symBinAddr: 0x11850, symSize: 0x64 } + - { offsetInCU: 0x3951, offset: 0x9BAD4, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5Rules_pWOc', symObjAddr: 0x1B4, symBinAddr: 0x118FC, symSize: 0x44 } + - { offsetInCU: 0x3A57, offset: 0x9BBDA, size: 0x8, addend: 0x0, symName: ___swift_destroy_boxed_opaque_existential_1, symObjAddr: 0x730, symBinAddr: 0x11E10, symSize: 0x20 } + - { offsetInCU: 0x3A6B, offset: 0x9BBEE, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameCMa', symObjAddr: 0x750, symBinAddr: 0x11E30, symSize: 0x20 } + - { offsetInCU: 0x3B93, offset: 0x9BD16, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVAA6PlayerCs5Error_pIegHngzo_AcEytsAF_pIegHnnrzo_TR', symObjAddr: 0xEA4, symBinAddr: 0x12544, symSize: 0x6C } + - { offsetInCU: 0x3BC6, offset: 0x9BD49, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVAA6PlayerCs5Error_pIegHngzo_AcEytsAF_pIegHnnrzo_TRTQ0_', symObjAddr: 0xF10, symBinAddr: 0x125B0, symSize: 0x48 } + - { offsetInCU: 0x3C82, offset: 0x9BE05, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameCIegHg_ACytIegHnr_TR', symObjAddr: 0x102C, symBinAddr: 0x126CC, symSize: 0x60 } + - { offsetInCU: 0x40E5, offset: 0x9C268, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC9withRules10andPlayer10H7Player2AcA0G0_p_AA6PlayerCAItKcfcyAA4MoveVSg_AItYacfU0_TA', symObjAddr: 0x2C38, symBinAddr: 0x142D8, symSize: 0x60 } + - { offsetInCU: 0x4115, offset: 0x9C298, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveVSgAA6PlayerCs5Error_pIegHngzo_AdFytsAG_pIegHnnrzo_TRTA', symObjAddr: 0x2CBC, symBinAddr: 0x1435C, symSize: 0x88 } + - { offsetInCU: 0x4145, offset: 0x9C2C8, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC9withRules10andPlayer10H7Player2AcA0G0_p_AA6PlayerCAItKcfcyAA4MoveVSg_AItYacfU_TA', symObjAddr: 0x2D44, symBinAddr: 0x143E4, symSize: 0x60 } + - { offsetInCU: 0x4175, offset: 0x9C2F8, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveVSgAA6PlayerCs5Error_pIegHngzo_AdFytsAG_pIegHnnrzo_TRTA.7', symObjAddr: 0x2DA4, symBinAddr: 0x14444, symSize: 0x88 } + - { offsetInCU: 0x41A9, offset: 0x9C32C, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVIegn_ACytIegnr_TRTA', symObjAddr: 0x2E2C, symBinAddr: 0x144CC, symSize: 0x20 } + - { offsetInCU: 0x41D9, offset: 0x9C35C, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVAA6PlayerCs5Error_pIegHngzo_AcEytsAF_pIegHnnrzo_TRTA', symObjAddr: 0x2E4C, symBinAddr: 0x144EC, symSize: 0x88 } + - { offsetInCU: 0x4209, offset: 0x9C38C, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameCIegHg_ACytIegHnr_TRTA', symObjAddr: 0x2ED4, symBinAddr: 0x14574, symSize: 0x80 } + - { offsetInCU: 0x4239, offset: 0x9C3BC, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameCIegHg_ACytIegHnr_TRTATQ0_', symObjAddr: 0x2F54, symBinAddr: 0x145F4, symSize: 0x48 } + - { offsetInCU: 0x4295, offset: 0x9C418, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVAA6ResultOAA6PlayerCSgIegnng_AceHytIegnnnr_TRTA', symObjAddr: 0x2F9C, symBinAddr: 0x1463C, symSize: 0x24 } + - { offsetInCU: 0x42C9, offset: 0x9C44C, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVAA4MoveVAA6PlayerCIegnng_AceGytIegnnnr_TRTA', symObjAddr: 0x2FC0, symBinAddr: 0x14660, symSize: 0x24 } + - { offsetInCU: 0x42FD, offset: 0x9C480, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVAA4MoveVAA6PlayerCSbIegnngy_AceGSbytIegnnnnr_TRTA', symObjAddr: 0x2FE4, symBinAddr: 0x14684, symSize: 0x28 } + - { offsetInCU: 0x4331, offset: 0x9C4B4, size: 0x8, addend: 0x0, symName: '_$sS2i14DouShouQiModel5PieceVIegyyn_S2iACytIegnnnr_TRTA', symObjAddr: 0x300C, symBinAddr: 0x146AC, symSize: 0x28 } + - { offsetInCU: 0x435A, offset: 0x9C4DD, size: 0x8, addend: 0x0, symName: ___swift_mutable_project_boxed_opaque_existential_1, symObjAddr: 0x3034, symBinAddr: 0x146D4, symSize: 0x28 } + - { offsetInCU: 0x436E, offset: 0x9C4F1, size: 0x8, addend: 0x0, symName: ___swift_assign_boxed_opaque_existential_1, symObjAddr: 0x3308, symBinAddr: 0x149A8, symSize: 0x168 } +... diff --git a/NEPASTOUCHER/DSQ.xcframework/macos-arm64_x86_64/dSYMs/DouShouQiModel.framework.dSYM/Contents/Resources/Relocations/x86_64/DouShouQiModel.yml b/NEPASTOUCHER/DSQ.xcframework/macos-arm64_x86_64/dSYMs/DouShouQiModel.framework.dSYM/Contents/Resources/Relocations/x86_64/DouShouQiModel.yml new file mode 100644 index 0000000..df610c6 --- /dev/null +++ b/NEPASTOUCHER/DSQ.xcframework/macos-arm64_x86_64/dSYMs/DouShouQiModel.framework.dSYM/Contents/Resources/Relocations/x86_64/DouShouQiModel.yml @@ -0,0 +1,487 @@ +--- +triple: 'x86_64-apple-darwin' +binary-path: '/Users/marcchevaldonne/Library/Developer/Xcode/DerivedData/DouShouQiModel-bzzvovsrfmbhuydeirorjmljgtyf/Build/Intermediates.noindex/ArchiveIntermediates/DouShouQiModel/InstallationBuildProductsLocation/Library/Frameworks/DouShouQiModel.framework/Versions/A/DouShouQiModel' +relocations: + - { offsetInCU: 0x34, offset: 0x87BD7, size: 0x8, addend: 0x0, symName: _DouShouQiModelVersionString, symObjAddr: 0x0, symBinAddr: 0x14EC0, symSize: 0x0 } + - { offsetInCU: 0x69, offset: 0x87C0C, size: 0x8, addend: 0x0, symName: _DouShouQiModelVersionNumber, symObjAddr: 0x38, symBinAddr: 0x14EF8, symSize: 0x0 } + - { offsetInCU: 0x27, offset: 0x87C49, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6ResultO2eeoiySbAC_ACtFZ', symObjAddr: 0x0, symBinAddr: 0x3A30, symSize: 0x10 } + - { offsetInCU: 0x4B, offset: 0x87C6D, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6ResultO2eeoiySbAC_ACtFZ', symObjAddr: 0x0, symBinAddr: 0x3A30, symSize: 0x10 } + - { offsetInCU: 0x6E, offset: 0x87C90, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6ResultOSQAASQ2eeoiySbx_xtFZTW', symObjAddr: 0x20, symBinAddr: 0x3A50, symSize: 0x10 } + - { offsetInCU: 0x9F, offset: 0x87CC1, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6ResultO2eeoiySbAC_ACtFZTf4nnd_n', symObjAddr: 0x140, symBinAddr: 0x3B70, symSize: 0x40 } + - { offsetInCU: 0xE5, offset: 0x87D07, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel13WinningReasonO2eeoiySbAC_ACtFZ', symObjAddr: 0x10, symBinAddr: 0x3A40, symSize: 0x10 } + - { offsetInCU: 0x114, offset: 0x87D36, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel13WinningReasonO4hash4intoys6HasherVz_tF', symObjAddr: 0x30, symBinAddr: 0x3A60, symSize: 0x20 } + - { offsetInCU: 0x1AA, offset: 0x87DCC, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel13WinningReasonO9hashValueSivg', symObjAddr: 0x50, symBinAddr: 0x3A80, symSize: 0x40 } + - { offsetInCU: 0x2A5, offset: 0x87EC7, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel13WinningReasonOSQAASQ2eeoiySbx_xtFZTW', symObjAddr: 0x90, symBinAddr: 0x3AC0, symSize: 0x10 } + - { offsetInCU: 0x2FB, offset: 0x87F1D, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel13WinningReasonOSHAASH9hashValueSivgTW', symObjAddr: 0xA0, symBinAddr: 0x3AD0, symSize: 0x40 } + - { offsetInCU: 0x3DF, offset: 0x88001, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel13WinningReasonOSHAASH4hash4intoys6HasherVz_tFTW', symObjAddr: 0xE0, symBinAddr: 0x3B10, symSize: 0x20 } + - { offsetInCU: 0x468, offset: 0x8808A, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel13WinningReasonOSHAASQWb', symObjAddr: 0x180, symBinAddr: 0x3BB0, symSize: 0x10 } + - { offsetInCU: 0x47C, offset: 0x8809E, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel13WinningReasonOACSQAAWl', symObjAddr: 0x190, symBinAddr: 0x3BC0, symSize: 0x30 } + - { offsetInCU: 0x490, offset: 0x880B2, size: 0x8, addend: 0x0, symName: ___swift_memcpy2_1, symObjAddr: 0x1C0, symBinAddr: 0x3BF0, symSize: 0x10 } + - { offsetInCU: 0x4A4, offset: 0x880C6, size: 0x8, addend: 0x0, symName: ___swift_noop_void_return, symObjAddr: 0x1D0, symBinAddr: 0x3C00, symSize: 0x10 } + - { offsetInCU: 0x4B8, offset: 0x880DA, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6ResultOwet', symObjAddr: 0x1E0, symBinAddr: 0x3C10, symSize: 0xB0 } + - { offsetInCU: 0x4CC, offset: 0x880EE, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6ResultOwst', symObjAddr: 0x290, symBinAddr: 0x3CC0, symSize: 0xE0 } + - { offsetInCU: 0x4E0, offset: 0x88102, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6ResultOwug', symObjAddr: 0x370, symBinAddr: 0x3DA0, symSize: 0x20 } + - { offsetInCU: 0x4F4, offset: 0x88116, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6ResultOwup', symObjAddr: 0x390, symBinAddr: 0x3DC0, symSize: 0x10 } + - { offsetInCU: 0x508, offset: 0x8812A, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6ResultOwui', symObjAddr: 0x3A0, symBinAddr: 0x3DD0, symSize: 0x30 } + - { offsetInCU: 0x51C, offset: 0x8813E, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6ResultOMa', symObjAddr: 0x3D0, symBinAddr: 0x3E00, symSize: 0x10 } + - { offsetInCU: 0x530, offset: 0x88152, size: 0x8, addend: 0x0, symName: ___swift_memcpy1_1, symObjAddr: 0x3E0, symBinAddr: 0x3E10, symSize: 0x10 } + - { offsetInCU: 0x544, offset: 0x88166, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel13WinningReasonOwet', symObjAddr: 0x3F0, symBinAddr: 0x3E20, symSize: 0x80 } + - { offsetInCU: 0x558, offset: 0x8817A, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel13WinningReasonOwst', symObjAddr: 0x470, symBinAddr: 0x3EA0, symSize: 0xD0 } + - { offsetInCU: 0x56C, offset: 0x8818E, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel13WinningReasonOwug', symObjAddr: 0x540, symBinAddr: 0x3F70, symSize: 0x10 } + - { offsetInCU: 0x580, offset: 0x881A2, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel13WinningReasonOwup', symObjAddr: 0x550, symBinAddr: 0x3F80, symSize: 0x10 } + - { offsetInCU: 0x594, offset: 0x881B6, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel13WinningReasonOwui', symObjAddr: 0x560, symBinAddr: 0x3F90, symSize: 0x10 } + - { offsetInCU: 0x5A8, offset: 0x881CA, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel13WinningReasonOMa', symObjAddr: 0x570, symBinAddr: 0x3FA0, symSize: 0xA } + - { offsetInCU: 0x624, offset: 0x88246, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel13WinningReasonOSHAASH13_rawHashValue4seedS2i_tFTW', symObjAddr: 0x100, symBinAddr: 0x3B30, symSize: 0x40 } + - { offsetInCU: 0x27, offset: 0x8838B, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11BoardResultO2eeoiySbAC_ACtFZ', symObjAddr: 0x0, symBinAddr: 0x3FB0, symSize: 0x10 } + - { offsetInCU: 0x4B, offset: 0x883AF, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11BoardResultO2eeoiySbAC_ACtFZ', symObjAddr: 0x0, symBinAddr: 0x3FB0, symSize: 0x10 } + - { offsetInCU: 0x6E, offset: 0x883D2, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11BoardResultOSQAASQ2eeoiySbx_xtFZTW', symObjAddr: 0x20, symBinAddr: 0x3FD0, symSize: 0x10 } + - { offsetInCU: 0x9F, offset: 0x88403, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11BoardResultO2eeoiySbAC_ACtFZTf4nnd_n', symObjAddr: 0x140, symBinAddr: 0x40F0, symSize: 0x60 } + - { offsetInCU: 0x113, offset: 0x88477, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel18BoardFailingReasonO2eeoiySbAC_ACtFZ', symObjAddr: 0x10, symBinAddr: 0x3FC0, symSize: 0x10 } + - { offsetInCU: 0x142, offset: 0x884A6, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel18BoardFailingReasonO4hash4intoys6HasherVz_tF', symObjAddr: 0x30, symBinAddr: 0x3FE0, symSize: 0x20 } + - { offsetInCU: 0x1D8, offset: 0x8853C, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel18BoardFailingReasonO9hashValueSivg', symObjAddr: 0x50, symBinAddr: 0x4000, symSize: 0x40 } + - { offsetInCU: 0x2D3, offset: 0x88637, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel18BoardFailingReasonOSQAASQ2eeoiySbx_xtFZTW', symObjAddr: 0x90, symBinAddr: 0x4040, symSize: 0x10 } + - { offsetInCU: 0x329, offset: 0x8868D, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel18BoardFailingReasonOSHAASH9hashValueSivgTW', symObjAddr: 0xA0, symBinAddr: 0x4050, symSize: 0x40 } + - { offsetInCU: 0x40D, offset: 0x88771, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel18BoardFailingReasonOSHAASH4hash4intoys6HasherVz_tFTW', symObjAddr: 0xE0, symBinAddr: 0x4090, symSize: 0x20 } + - { offsetInCU: 0x496, offset: 0x887FA, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel18BoardFailingReasonOSHAASQWb', symObjAddr: 0x1A0, symBinAddr: 0x4150, symSize: 0x10 } + - { offsetInCU: 0x4AA, offset: 0x8880E, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel18BoardFailingReasonOACSQAAWl', symObjAddr: 0x1B0, symBinAddr: 0x4160, symSize: 0x30 } + - { offsetInCU: 0x4BE, offset: 0x88822, size: 0x8, addend: 0x0, symName: ___swift_memcpy3_1, symObjAddr: 0x1E0, symBinAddr: 0x4190, symSize: 0x20 } + - { offsetInCU: 0x4D2, offset: 0x88836, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11BoardResultOwet', symObjAddr: 0x210, symBinAddr: 0x41B0, symSize: 0x70 } + - { offsetInCU: 0x4E6, offset: 0x8884A, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11BoardResultOwst', symObjAddr: 0x280, symBinAddr: 0x4220, symSize: 0x80 } + - { offsetInCU: 0x4FA, offset: 0x8885E, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11BoardResultOwug', symObjAddr: 0x300, symBinAddr: 0x42A0, symSize: 0x20 } + - { offsetInCU: 0x50E, offset: 0x88872, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11BoardResultOwup', symObjAddr: 0x320, symBinAddr: 0x42C0, symSize: 0x10 } + - { offsetInCU: 0x522, offset: 0x88886, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11BoardResultOwui', symObjAddr: 0x330, symBinAddr: 0x42D0, symSize: 0x20 } + - { offsetInCU: 0x536, offset: 0x8889A, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11BoardResultOMa', symObjAddr: 0x350, symBinAddr: 0x42F0, symSize: 0x10 } + - { offsetInCU: 0x54A, offset: 0x888AE, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel18BoardFailingReasonOwet', symObjAddr: 0x370, symBinAddr: 0x4300, symSize: 0x80 } + - { offsetInCU: 0x55E, offset: 0x888C2, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel18BoardFailingReasonOwst', symObjAddr: 0x3F0, symBinAddr: 0x4380, symSize: 0xD0 } + - { offsetInCU: 0x572, offset: 0x888D6, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel18BoardFailingReasonOwug', symObjAddr: 0x4C0, symBinAddr: 0x4450, symSize: 0x10 } + - { offsetInCU: 0x586, offset: 0x888EA, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel18BoardFailingReasonOwup', symObjAddr: 0x4D0, symBinAddr: 0x4460, symSize: 0x10 } + - { offsetInCU: 0x59A, offset: 0x888FE, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel18BoardFailingReasonOwui', symObjAddr: 0x4E0, symBinAddr: 0x4470, symSize: 0x10 } + - { offsetInCU: 0x5AE, offset: 0x88912, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel18BoardFailingReasonOMa', symObjAddr: 0x4F0, symBinAddr: 0x4480, symSize: 0xA } + - { offsetInCU: 0x60E, offset: 0x88972, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel18BoardFailingReasonOSHAASH13_rawHashValue4seedS2i_tFTW', symObjAddr: 0x100, symBinAddr: 0x40B0, symSize: 0x40 } + - { offsetInCU: 0x27, offset: 0x88AA3, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11HumanPlayerC8withName5andId0I11InputMethodACSgSS_AA5OwnerOAA4MoveVSgACctcfC', symObjAddr: 0x0, symBinAddr: 0x4490, symSize: 0xD0 } + - { offsetInCU: 0x99, offset: 0x88B15, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11HumanPlayerC8withName5andId0I11InputMethodACSgSS_AA5OwnerOAA4MoveVSgACctcfC', symObjAddr: 0x0, symBinAddr: 0x4490, symSize: 0xD0 } + - { offsetInCU: 0x124, offset: 0x88BA0, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11HumanPlayerC8withName5andId0I11InputMethodACSgSS_AA5OwnerOAA4MoveVSgACctcfc', symObjAddr: 0xD0, symBinAddr: 0x4560, symSize: 0xA0 } + - { offsetInCU: 0x1EB, offset: 0x88C67, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11HumanPlayerC8withName5andIdACSgSS_AA5OwnerOtcfC', symObjAddr: 0x190, symBinAddr: 0x4620, symSize: 0xA0 } + - { offsetInCU: 0x276, offset: 0x88CF2, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11HumanPlayerC8withName5andIdACSgSS_AA5OwnerOtcfc', symObjAddr: 0x230, symBinAddr: 0x46C0, symSize: 0x70 } + - { offsetInCU: 0x2F3, offset: 0x88D6F, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11HumanPlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKF', symObjAddr: 0x2A0, symBinAddr: 0x4730, symSize: 0x30 } + - { offsetInCU: 0x36F, offset: 0x88DEB, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11HumanPlayerC11changeInput5inputyAA4MoveVSgACc_tF', symObjAddr: 0x2D0, symBinAddr: 0x4760, symSize: 0x30 } + - { offsetInCU: 0x3D4, offset: 0x88E50, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11HumanPlayerC10chooseMoveyyAA0H0VSgYaKF', symObjAddr: 0x300, symBinAddr: 0x4790, symSize: 0x50 } + - { offsetInCU: 0x461, offset: 0x88EDD, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11HumanPlayerC10chooseMoveyyAA0H0VSgYaKFTY0_', symObjAddr: 0x350, symBinAddr: 0x47E0, symSize: 0x110 } + - { offsetInCU: 0x5B9, offset: 0x89035, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11HumanPlayerC10chooseMoveyyAA0H0VSgYaKFTQ1_', symObjAddr: 0x460, symBinAddr: 0x48F0, symSize: 0x80 } + - { offsetInCU: 0x669, offset: 0x890E5, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11HumanPlayerC10chooseMoveyyAA0H0VSgYaKFTY2_', symObjAddr: 0x4E0, symBinAddr: 0x4970, symSize: 0x120 } + - { offsetInCU: 0x744, offset: 0x891C0, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11HumanPlayerC10chooseMoveyyAA0H0VSgYaKFTY3_', symObjAddr: 0x600, symBinAddr: 0x4A90, symSize: 0x50 } + - { offsetInCU: 0x7A2, offset: 0x8921E, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11HumanPlayerCfd', symObjAddr: 0x670, symBinAddr: 0x4B00, symSize: 0x30 } + - { offsetInCU: 0x7F3, offset: 0x8926F, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11HumanPlayerCfD', symObjAddr: 0x6A0, symBinAddr: 0x4B30, symSize: 0x40 } + - { offsetInCU: 0x92F, offset: 0x893AB, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11HumanPlayerCAA4MoveVSgIeggr_SgWOe', symObjAddr: 0x170, symBinAddr: 0x4600, symSize: 0x20 } + - { offsetInCU: 0x9E9, offset: 0x89465, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11HumanPlayerCfE', symObjAddr: 0x650, symBinAddr: 0x4AE0, symSize: 0x20 } + - { offsetInCU: 0xA16, offset: 0x89492, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel11HumanPlayerCMa', symObjAddr: 0x6E0, symBinAddr: 0x4B70, symSize: 0x20 } + - { offsetInCU: 0x4F, offset: 0x89641, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV11initialGridSaySayAA4CellVGGvpZ', symObjAddr: 0x2C420, symBinAddr: 0x1DB40, symSize: 0x0 } + - { offsetInCU: 0x69, offset: 0x8965B, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV6pieces33_DFC7A53241A8EF79AF2B79A48A65C265LLShyAA5PieceVGvpZ', symObjAddr: 0x71D0, symBinAddr: 0x1C720, symSize: 0x0 } + - { offsetInCU: 0xD7, offset: 0x896C9, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV14startingChecks33_DFC7A53241A8EF79AF2B79A48A65C265LLSayyAA5BoardVcGvpZ', symObjAddr: 0x71D8, symBinAddr: 0x1C728, symSize: 0x0 } + - { offsetInCU: 0xF1, offset: 0x896E3, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV15iteratingChecks33_DFC7A53241A8EF79AF2B79A48A65C265LLSayyAA5BoardV_S2itKcGvpZ', symObjAddr: 0x71E0, symBinAddr: 0x1C730, symSize: 0x0 } + - { offsetInCU: 0x10B, offset: 0x896FD, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV12endingChecks33_DFC7A53241A8EF79AF2B79A48A65C265LLSayyAA5BoardVcGvpZ', symObjAddr: 0x71E8, symBinAddr: 0x1C738, symSize: 0x0 } + - { offsetInCU: 0x125, offset: 0x89717, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV16placesByCellTypeSDyAA0iJ0OSaySi3row_Si3coltGGvpZ', symObjAddr: 0x2C428, symBinAddr: 0x1DB48, symSize: 0x0 } + - { offsetInCU: 0x2A8, offset: 0x8989A, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV11initialGrid_WZ', symObjAddr: 0x0, symBinAddr: 0x4CA0, symSize: 0x2C0 } + - { offsetInCU: 0xAC6, offset: 0x8A0B8, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV11createBoardAA0H0VyFZ', symObjAddr: 0x2C0, symBinAddr: 0x4F60, symSize: 0x70 } + - { offsetInCU: 0xB04, offset: 0x8A0F6, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV10checkBoardyyAA0H0VKFZ', symObjAddr: 0x330, symBinAddr: 0x4FD0, symSize: 0x10 } + - { offsetInCU: 0xB2E, offset: 0x8A120, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV14startingChecks33_DFC7A53241A8EF79AF2B79A48A65C265LLSayyAA5BoardVcGvpZfiyAGcfU_', symObjAddr: 0x390, symBinAddr: 0x5030, symSize: 0x30 } + - { offsetInCU: 0xB6E, offset: 0x8A160, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV14startingChecks33_DFC7A53241A8EF79AF2B79A48A65C265LLSayyAA5BoardVcGvpZfiyAGcfU0_', symObjAddr: 0x3C0, symBinAddr: 0x5060, symSize: 0x60 } + - { offsetInCU: 0xBC0, offset: 0x8A1B2, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVACycfC', symObjAddr: 0x650, symBinAddr: 0x52F0, symSize: 0x30 } + - { offsetInCU: 0xC05, offset: 0x8A1F7, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV10occurences8historicACSDyAA5BoardVSiG_SayAA4MoveVGtcfC', symObjAddr: 0x680, symBinAddr: 0x5320, symSize: 0x50 } + - { offsetInCU: 0xC6A, offset: 0x8A25C, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV19findAuthorizedMoves33_DFC7A53241A8EF79AF2B79A48A65C265LL5boardSayAA4MoveVGAA5BoardV_tF', symObjAddr: 0x6D0, symBinAddr: 0x5370, symSize: 0x460 } + - { offsetInCU: 0x15D1, offset: 0x8ABC3, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV12findRatMoves33_DFC7A53241A8EF79AF2B79A48A65C265LL2of5board3row6columnSayAA4MoveVGAA5OwnerO_AA5BoardVS2itF', symObjAddr: 0xB30, symBinAddr: 0x57D0, symSize: 0x740 } + - { offsetInCU: 0x2140, offset: 0x8B732, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV17findElephantMoves33_DFC7A53241A8EF79AF2B79A48A65C265LL2of5board3row6columnSayAA4MoveVGAA5OwnerO_AA5BoardVS2itF', symObjAddr: 0x1270, symBinAddr: 0x5F10, symSize: 0x6D0 } + - { offsetInCU: 0x2BB3, offset: 0x8C1A5, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV16findDefaultMoves33_DFC7A53241A8EF79AF2B79A48A65C265LL2of5board3row6columnSayAA4MoveVGAA5OwnerO_AA5BoardVS2itF', symObjAddr: 0x1940, symBinAddr: 0x65E0, symSize: 0x740 } + - { offsetInCU: 0x3725, offset: 0x8CD17, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV21findTigerAndLionMoves33_DFC7A53241A8EF79AF2B79A48A65C265LL2of5board3row6columnSayAA4MoveVGAA5OwnerO_AA5BoardVS2itF', symObjAddr: 0x2080, symBinAddr: 0x6D20, symSize: 0x4C0 } + - { offsetInCU: 0x3DE7, offset: 0x8D3D9, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV20findDirectNeighbours33_DFC7A53241A8EF79AF2B79A48A65C265LL2of5board3row6columnSayAA4MoveVGAA5OwnerO_AA5BoardVS2itF', symObjAddr: 0x2540, symBinAddr: 0x71E0, symSize: 0x390 } + - { offsetInCU: 0x4327, offset: 0x8D919, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV26findTigerAndLionNeighbours33_DFC7A53241A8EF79AF2B79A48A65C265LL2of5board3row6columnSayAA4MoveVGAA5OwnerO_AA5BoardVS2itF', symObjAddr: 0x28D0, symBinAddr: 0x7570, symSize: 0x5D0 } + - { offsetInCU: 0x4C67, offset: 0x8E259, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV8getMoves2in2ofSayAA4MoveVGAA5BoardV_AA5OwnerOtF', symObjAddr: 0x2EA0, symBinAddr: 0x7B40, symSize: 0x140 } + - { offsetInCU: 0x4E34, offset: 0x8E426, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV8getMoves2in2of7fromRow9andColumnSayAA4MoveVGAA5BoardV_AA5OwnerOS2itF', symObjAddr: 0x2FE0, symBinAddr: 0x7C80, symSize: 0x150 } + - { offsetInCU: 0x505D, offset: 0x8E64F, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV11isMoveValid7onBoard7fromRow13andFromColumn02toM00n2ToP0SbAA0K0V_S4itF', symObjAddr: 0x3130, symBinAddr: 0x7DD0, symSize: 0x80 } + - { offsetInCU: 0x512F, offset: 0x8E721, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV11isMoveValid7onBoard04withH0SbAA0K0V_AA0H0VtF', symObjAddr: 0x31B0, symBinAddr: 0x7E50, symSize: 0xF0 } + - { offsetInCU: 0x539B, offset: 0x8E98D, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV13getNextPlayerAA5OwnerOyF', symObjAddr: 0x32A0, symBinAddr: 0x7F40, symSize: 0x30 } + - { offsetInCU: 0x5482, offset: 0x8EA74, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV10isGameOver9withBoard16andLastRowPlayed0lM12ColumnPlayerSb_AA6ResultOtAA0K0V_S2itF', symObjAddr: 0x32D0, symBinAddr: 0x7F70, symSize: 0x1B0 } + - { offsetInCU: 0x5622, offset: 0x8EC14, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV10playedMove_15onStartingBoard012andResultingK0yAA0H0V_AA0K0VAJtKF', symObjAddr: 0x3480, symBinAddr: 0x8120, symSize: 0x4F0 } + - { offsetInCU: 0x5B31, offset: 0x8F123, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV10occurencesSDyAA5BoardVSiGvg', symObjAddr: 0x3970, symBinAddr: 0x8610, symSize: 0x10 } + - { offsetInCU: 0x5B45, offset: 0x8F137, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV8historicSayAA4MoveVGvg', symObjAddr: 0x3980, symBinAddr: 0x8620, symSize: 0x10 } + - { offsetInCU: 0x5B77, offset: 0x8F169, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVAA0F0A2aDP11createBoardAA0H0VyFZTW', symObjAddr: 0x3990, symBinAddr: 0x8630, symSize: 0x70 } + - { offsetInCU: 0x5BC4, offset: 0x8F1B6, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVAA0F0A2aDP10checkBoardyyAA0H0VKFZTW', symObjAddr: 0x3A00, symBinAddr: 0x86A0, symSize: 0x10 } + - { offsetInCU: 0x5BFC, offset: 0x8F1EE, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVAA0F0A2aDP13getNextPlayerAA5OwnerOyFTW', symObjAddr: 0x3A10, symBinAddr: 0x86B0, symSize: 0x10 } + - { offsetInCU: 0x5C18, offset: 0x8F20A, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVAA0F0A2aDP8getMoves2in2ofSayAA4MoveVGAA5BoardV_AA5OwnerOtFTW', symObjAddr: 0x3A20, symBinAddr: 0x86C0, symSize: 0x10 } + - { offsetInCU: 0x5C34, offset: 0x8F226, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVAA0F0A2aDP8getMoves2in2of7fromRow9andColumnSayAA4MoveVGAA5BoardV_AA5OwnerOS2itFTW', symObjAddr: 0x3A30, symBinAddr: 0x86D0, symSize: 0x10 } + - { offsetInCU: 0x5C50, offset: 0x8F242, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVAA0F0A2aDP11isMoveValid7onBoard7fromRow13andFromColumn02toM00n2ToP0SbAA0K0V_S4itFTW', symObjAddr: 0x3A40, symBinAddr: 0x86E0, symSize: 0x10 } + - { offsetInCU: 0x5C6C, offset: 0x8F25E, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVAA0F0A2aDP11isMoveValid7onBoard04withH0SbAA0K0V_AA0H0VtFTW', symObjAddr: 0x3A50, symBinAddr: 0x86F0, symSize: 0x10 } + - { offsetInCU: 0x5C88, offset: 0x8F27A, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVAA0F0A2aDP10isGameOver9withBoard16andLastRowPlayed0lM12ColumnPlayerSb_AA6ResultOtAA0K0V_S2itFTW', symObjAddr: 0x3A60, symBinAddr: 0x8700, symSize: 0x10 } + - { offsetInCU: 0x5CA4, offset: 0x8F296, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVAA0F0A2aDP10playedMove_15onStartingBoard012andResultingK0yAA0H0V_AA0K0VALtKFTW', symObjAddr: 0x3A70, symBinAddr: 0x8710, symSize: 0x10 } + - { offsetInCU: 0x5CD9, offset: 0x8F2CB, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVAA0F0A2aDP10occurencesSDyAA5BoardVSiGvgTW', symObjAddr: 0x3A80, symBinAddr: 0x8720, symSize: 0x10 } + - { offsetInCU: 0x5D1E, offset: 0x8F310, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVAA0F0A2aDP8historicSayAA4MoveVGvgTW', symObjAddr: 0x3A90, symBinAddr: 0x8730, symSize: 0x10 } + - { offsetInCU: 0x5D51, offset: 0x8F343, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV10checkBoardyyAA0H0VKFZTf4nd_n', symObjAddr: 0x5C40, symBinAddr: 0xA8E0, symSize: 0x2E0 } + - { offsetInCU: 0x60E8, offset: 0x8F6DA, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV20initPlacesByCellType33_DFC7A53241A8EF79AF2B79A48A65C265LLyyAA5BoardVFZTf4nd_n', symObjAddr: 0x5F20, symBinAddr: 0xABC0, symSize: 0x3D0 } + - { offsetInCU: 0x65E9, offset: 0x8FBDB, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV23checkCellsByTypeIterate33_DFC7A53241A8EF79AF2B79A48A65C265LLyyAA5BoardV_S2itKFZTf4nnnd_n', symObjAddr: 0x62F0, symBinAddr: 0xAF90, symSize: 0x150 } + - { offsetInCU: 0x6791, offset: 0x8FD83, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV18checkPiecesIterate33_DFC7A53241A8EF79AF2B79A48A65C265LLyyAA5BoardV_S2itKFZTf4nnnd_n', symObjAddr: 0x6440, symBinAddr: 0xB0E0, symSize: 0x150 } + - { offsetInCU: 0x6859, offset: 0x8FE4B, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV15checkWaterCells33_DFC7A53241A8EF79AF2B79A48A65C265LLyyAA5BoardV_S2itKFZTf4nnnd_n', symObjAddr: 0x6590, symBinAddr: 0xB230, symSize: 0xB0 } + - { offsetInCU: 0x695B, offset: 0x8FF4D, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV6pieces33_DFC7A53241A8EF79AF2B79A48A65C265LL_WZ', symObjAddr: 0x340, symBinAddr: 0x4FE0, symSize: 0x20 } + - { offsetInCU: 0x6975, offset: 0x8FF67, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV14startingChecks33_DFC7A53241A8EF79AF2B79A48A65C265LL_WZ', symObjAddr: 0x360, symBinAddr: 0x5000, symSize: 0x30 } + - { offsetInCU: 0x69AB, offset: 0x8FF9D, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV15iteratingChecks33_DFC7A53241A8EF79AF2B79A48A65C265LL_WZ', symObjAddr: 0x420, symBinAddr: 0x50C0, symSize: 0x30 } + - { offsetInCU: 0x69C5, offset: 0x8FFB7, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV12endingChecks33_DFC7A53241A8EF79AF2B79A48A65C265LL_WZ', symObjAddr: 0x4E0, symBinAddr: 0x5180, symSize: 0x20 } + - { offsetInCU: 0x69DF, offset: 0x8FFD1, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesV16placesByCellType_WZ', symObjAddr: 0x500, symBinAddr: 0x51A0, symSize: 0x20 } + - { offsetInCU: 0x6F06, offset: 0x904F8, size: 0x8, addend: 0x0, symName: '_$sSD8_VariantV8setValue_6forKeyyq_n_xtF14DouShouQiModel5BoardV_SiTB5', symObjAddr: 0x3AA0, symBinAddr: 0x8740, symSize: 0xB0 } + - { offsetInCU: 0x6F7B, offset: 0x9056D, size: 0x8, addend: 0x0, symName: '_$sSD8_VariantVyq_SgxciM14DouShouQiModel8CellTypeO_SaySi3row_Si3coltGTB5', symObjAddr: 0x3B50, symBinAddr: 0x87F0, symSize: 0x60 } + - { offsetInCU: 0x6FA8, offset: 0x9059A, size: 0x8, addend: 0x0, symName: '_$sSD8_VariantVyq_SgxciM14DouShouQiModel8CellTypeO_SaySi3row_Si3coltGTB5.resume.0', symObjAddr: 0x3BB0, symBinAddr: 0x8850, symSize: 0x30 } + - { offsetInCU: 0x6FEB, offset: 0x905DD, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV_8isUniqueq_Sgx_SbtciM14DouShouQiModel8CellTypeO_SaySi3row_Si3coltGTB5', symObjAddr: 0x3BE0, symBinAddr: 0x8880, symSize: 0x50 } + - { offsetInCU: 0x7063, offset: 0x90655, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV_8isUniqueq_Sgx_SbtciM14DouShouQiModel8CellTypeO_SaySi3row_Si3coltGTB5.resume.0', symObjAddr: 0x3C30, symBinAddr: 0x88D0, symSize: 0xD0 } + - { offsetInCU: 0x719B, offset: 0x9078D, size: 0x8, addend: 0x0, symName: '_$sSD8_VariantV8asNatives01_C10DictionaryVyxq_GvM14DouShouQiModel8CellTypeO_SaySi3row_Si3coltGTg5', symObjAddr: 0x3D00, symBinAddr: 0x89A0, symSize: 0x30 } + - { offsetInCU: 0x71BE, offset: 0x907B0, size: 0x8, addend: 0x0, symName: '_$sSD8_VariantV8asNatives01_C10DictionaryVyxq_GvM14DouShouQiModel8CellTypeO_SaySi3row_Si3coltGTg5.resume.0', symObjAddr: 0x3D30, symBinAddr: 0x89D0, symSize: 0x20 } + - { offsetInCU: 0x71F9, offset: 0x907EB, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV12mutatingFind_8isUniques10_HashTableV6BucketV6bucket_Sb5foundtx_SbtF14DouShouQiModel8CellTypeO_SaySi3row_Si3coltGTB5', symObjAddr: 0x3D50, symBinAddr: 0x89F0, symSize: 0xB0 } + - { offsetInCU: 0x7261, offset: 0x90853, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV12mutatingFind_8isUniques10_HashTableV6BucketV6bucket_Sb5foundtx_SbtF14DouShouQiModel5BoardV_SiTB5', symObjAddr: 0x3E00, symBinAddr: 0x8AA0, symSize: 0xC0 } + - { offsetInCU: 0x72B7, offset: 0x908A9, size: 0x8, addend: 0x0, symName: '_$ss22__RawDictionaryStorageC4findys10_HashTableV6BucketV6bucket_Sb5foundtxSHRzlF14DouShouQiModel5BoardV_TB5', symObjAddr: 0x3EC0, symBinAddr: 0x8B60, symSize: 0x80 } + - { offsetInCU: 0x7324, offset: 0x90916, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV7_delete2atys10_HashTableV6BucketV_tF14DouShouQiModel8CellTypeO_SaySi3row_Si3coltGTg5', symObjAddr: 0x3FA0, symBinAddr: 0x8C40, symSize: 0x1E0 } + - { offsetInCU: 0x7447, offset: 0x90A39, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV7_insert2at3key5valueys10_HashTableV6BucketV_xnq_ntF14DouShouQiModel5BoardV_SiTB5', symObjAddr: 0x4180, symBinAddr: 0x8E20, symSize: 0x50 } + - { offsetInCU: 0x7518, offset: 0x90B0A, size: 0x8, addend: 0x0, symName: '_$ss22__RawDictionaryStorageC4find_9hashValues10_HashTableV6BucketV6bucket_Sb5foundtx_SitSHRzlF14DouShouQiModel5BoardV_TB5', symObjAddr: 0x41D0, symBinAddr: 0x8E70, symSize: 0x210 } + - { offsetInCU: 0x76D8, offset: 0x90CCA, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV4copyyyF14DouShouQiModel8CellTypeO_SaySi3row_Si3coltGTg5', symObjAddr: 0x4470, symBinAddr: 0x9110, symSize: 0x200 } + - { offsetInCU: 0x7751, offset: 0x90D43, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV4copyyyF14DouShouQiModel5BoardV_SiTg5', symObjAddr: 0x4670, symBinAddr: 0x9310, symSize: 0x210 } + - { offsetInCU: 0x77EB, offset: 0x90DDD, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV20_copyOrMoveAndResize8capacity12moveElementsySi_SbtF14DouShouQiModel8CellTypeO_SaySi3row_Si3coltGTg5', symObjAddr: 0x4880, symBinAddr: 0x9520, symSize: 0x380 } + - { offsetInCU: 0x7988, offset: 0x90F7A, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV20_copyOrMoveAndResize8capacity12moveElementsySi_SbtF14DouShouQiModel5BoardV_SiTg5', symObjAddr: 0x4C00, symBinAddr: 0x98A0, symSize: 0x330 } + - { offsetInCU: 0x7AAF, offset: 0x910A1, size: 0x8, addend: 0x0, symName: '_$sSh8_VariantV6insertySb8inserted_x17memberAfterInserttxnF14DouShouQiModel5PieceV_TB5', symObjAddr: 0x4F30, symBinAddr: 0x9BD0, symSize: 0x140 } + - { offsetInCU: 0x7CC8, offset: 0x912BA, size: 0x8, addend: 0x0, symName: '_$ss10_NativeSetV9insertNew_2at8isUniqueyxn_s10_HashTableV6BucketVSbtF14DouShouQiModel5PieceV_TB5', symObjAddr: 0x5070, symBinAddr: 0x9D10, symSize: 0x160 } + - { offsetInCU: 0x7EF4, offset: 0x914E6, size: 0x8, addend: 0x0, symName: '_$ss10_NativeSetV4copyyyF14DouShouQiModel5PieceV_Tg5', symObjAddr: 0x51D0, symBinAddr: 0x9E70, symSize: 0x1C0 } + - { offsetInCU: 0x7F58, offset: 0x9154A, size: 0x8, addend: 0x0, symName: '_$ss10_NativeSetV13copyAndResize8capacityySi_tF14DouShouQiModel5PieceV_Tg5', symObjAddr: 0x5390, symBinAddr: 0xA030, symSize: 0x2F0 } + - { offsetInCU: 0x8173, offset: 0x91765, size: 0x8, addend: 0x0, symName: '_$ss10_NativeSetV6resize8capacityySi_tF14DouShouQiModel5PieceV_Tg5', symObjAddr: 0x5680, symBinAddr: 0xA320, symSize: 0x350 } + - { offsetInCU: 0x83B8, offset: 0x919AA, size: 0x8, addend: 0x0, symName: '_$ss15ContiguousArrayV16_createNewBuffer14bufferIsUnique15minimumCapacity13growForAppendySb_SiSbtF14DouShouQiModel4MoveV_Tg5', symObjAddr: 0x59D0, symBinAddr: 0xA670, symSize: 0x20 } + - { offsetInCU: 0x83D0, offset: 0x919C2, size: 0x8, addend: 0x0, symName: '_$ss15ContiguousArrayV16_createNewBuffer14bufferIsUnique15minimumCapacity13growForAppendySb_SiSbtF14DouShouQiModel4CellV_Tg5', symObjAddr: 0x59F0, symBinAddr: 0xA690, symSize: 0x20 } + - { offsetInCU: 0x842A, offset: 0x91A1C, size: 0x8, addend: 0x0, symName: '_$ss22_ContiguousArrayBufferV20_consumeAndCreateNew14bufferIsUnique15minimumCapacity13growForAppendAByxGSb_SiSbtF14DouShouQiModel4MoveV_Tg5', symObjAddr: 0x5A10, symBinAddr: 0xA6B0, symSize: 0x120 } + - { offsetInCU: 0x8582, offset: 0x91B74, size: 0x8, addend: 0x0, symName: '_$ss22_ContiguousArrayBufferV20_consumeAndCreateNew14bufferIsUnique15minimumCapacity13growForAppendAByxGSb_SiSbtF14DouShouQiModel4CellV_Tg5', symObjAddr: 0x5B30, symBinAddr: 0xA7D0, symSize: 0x110 } + - { offsetInCU: 0x87DD, offset: 0x91DCF, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel9GameErrorOACs0F0AAWl', symObjAddr: 0x6830, symBinAddr: 0xB4D0, symSize: 0x30 } + - { offsetInCU: 0x87F1, offset: 0x91DE3, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel17InvalidBoardErrorOACs0G0AAWl', symObjAddr: 0x6860, symBinAddr: 0xB500, symSize: 0x30 } + - { offsetInCU: 0x8805, offset: 0x91DF7, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVwCP', symObjAddr: 0x6890, symBinAddr: 0xB530, symSize: 0x30 } + - { offsetInCU: 0x8819, offset: 0x91E0B, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVwxx', symObjAddr: 0x68C0, symBinAddr: 0xB560, symSize: 0x20 } + - { offsetInCU: 0x882D, offset: 0x91E1F, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVwcp', symObjAddr: 0x68E0, symBinAddr: 0xB580, symSize: 0x30 } + - { offsetInCU: 0x8841, offset: 0x91E33, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVwca', symObjAddr: 0x6910, symBinAddr: 0xB5B0, symSize: 0x50 } + - { offsetInCU: 0x8855, offset: 0x91E47, size: 0x8, addend: 0x0, symName: ___swift_memcpy16_8, symObjAddr: 0x6960, symBinAddr: 0xB600, symSize: 0x10 } + - { offsetInCU: 0x8869, offset: 0x91E5B, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVwta', symObjAddr: 0x6970, symBinAddr: 0xB610, symSize: 0x30 } + - { offsetInCU: 0x887D, offset: 0x91E6F, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVwet', symObjAddr: 0x69A0, symBinAddr: 0xB640, symSize: 0x40 } + - { offsetInCU: 0x8891, offset: 0x91E83, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVwst', symObjAddr: 0x69E0, symBinAddr: 0xB680, symSize: 0x40 } + - { offsetInCU: 0x88A5, offset: 0x91E97, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12ClassicRulesVMa', symObjAddr: 0x6A20, symBinAddr: 0xB6C0, symSize: 0x10 } + - { offsetInCU: 0x88B9, offset: 0x91EAB, size: 0x8, addend: 0x0, symName: ___swift_instantiateConcreteTypeFromMangledName, symObjAddr: 0x6A30, symBinAddr: 0xB6D0, symSize: 0x40 } + - { offsetInCU: 0x897D, offset: 0x91F6F, size: 0x8, addend: 0x0, symName: '_$ss20_ArrayBufferProtocolPsE15replaceSubrange_4with10elementsOfySnySiG_Siqd__ntSlRd__7ElementQyd__AGRtzlFs01_aB0Vy14DouShouQiModel4MoveVG_s15EmptyCollectionVyANGTg5Tf4nndn_n', symObjAddr: 0x6B70, symBinAddr: 0xB810, symSize: 0x150 } + - { offsetInCU: 0x8A4E, offset: 0x92040, size: 0x8, addend: 0x0, symName: '_$sSa15replaceSubrange_4withySnySiG_qd__nt7ElementQyd__RszSlRd__lF14DouShouQiModel4MoveV_s15EmptyCollectionVyAHGTg5Tf4ndn_n', symObjAddr: 0x6CC0, symBinAddr: 0xB960, symSize: 0xA0 } + - { offsetInCU: 0x8C62, offset: 0x92254, size: 0x8, addend: 0x0, symName: '_$sSDyq_SgxciM14DouShouQiModel8CellTypeO_SaySi3row_Si3coltGTB5', symObjAddr: 0x520, symBinAddr: 0x51C0, symSize: 0x40 } + - { offsetInCU: 0x8C7E, offset: 0x92270, size: 0x8, addend: 0x0, symName: '_$sSDyq_SgxciM14DouShouQiModel8CellTypeO_SaySi3row_Si3coltGTB5.resume.0', symObjAddr: 0x560, symBinAddr: 0x5200, symSize: 0x20 } + - { offsetInCU: 0x8D2A, offset: 0x9231C, size: 0x8, addend: 0x0, symName: '_$sSh8containsySbxF14DouShouQiModel5PieceV_TB5', symObjAddr: 0x580, symBinAddr: 0x5220, symSize: 0xD0 } + - { offsetInCU: 0x92B5, offset: 0x928A7, size: 0x8, addend: 0x0, symName: '_$sSD17dictionaryLiteralSDyxq_Gx_q_td_tcfC14DouShouQiModel8CellTypeO_SaySi3row_Si3coltGTg5Tf4gd_n', symObjAddr: 0x6640, symBinAddr: 0xB2E0, symSize: 0x100 } + - { offsetInCU: 0x93E7, offset: 0x929D9, size: 0x8, addend: 0x0, symName: '_$sSD17dictionaryLiteralSDyxq_Gx_q_td_tcfC14DouShouQiModel5BoardV_SiTg5Tf4gd_n', symObjAddr: 0x6740, symBinAddr: 0xB3E0, symSize: 0xF0 } + - { offsetInCU: 0x9537, offset: 0x92B29, size: 0x8, addend: 0x0, symName: '_$sSD17dictionaryLiteralSDyxq_Gx_q_td_tcfC14DouShouQiModel5OwnerO_AC6PlayerCTg5Tf4gd_n', symObjAddr: 0x6A70, symBinAddr: 0xB710, symSize: 0x100 } + - { offsetInCU: 0x27, offset: 0x92E77, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4CellV6ofType7ownedBy9withPieceAcA0eG0O_AA5OwnerOAA0K0VSgtcfC', symObjAddr: 0x0, symBinAddr: 0xBE00, symSize: 0x20 } + - { offsetInCU: 0x4B, offset: 0x92E9B, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4CellV6ofType7ownedBy9withPieceAcA0eG0O_AA5OwnerOAA0K0VSgtcfC', symObjAddr: 0x0, symBinAddr: 0xBE00, symSize: 0x20 } + - { offsetInCU: 0x9A, offset: 0x92EEA, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4CellV11descriptionSSvg', symObjAddr: 0x20, symBinAddr: 0xBE20, symSize: 0x100 } + - { offsetInCU: 0x1DF, offset: 0x9302F, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4CellV8cellTypeAA0eG0Ovg', symObjAddr: 0x120, symBinAddr: 0xBF20, symSize: 0x10 } + - { offsetInCU: 0x1FD, offset: 0x9304D, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4CellV12initialOwnerAA0G0Ovg', symObjAddr: 0x130, symBinAddr: 0xBF30, symSize: 0x10 } + - { offsetInCU: 0x21B, offset: 0x9306B, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4CellV5pieceAA5PieceVSgvg', symObjAddr: 0x140, symBinAddr: 0xBF40, symSize: 0x10 } + - { offsetInCU: 0x239, offset: 0x93089, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4CellV5pieceAA5PieceVSgvs', symObjAddr: 0x150, symBinAddr: 0xBF50, symSize: 0x10 } + - { offsetInCU: 0x277, offset: 0x930C7, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4CellV5pieceAA5PieceVSgvM', symObjAddr: 0x160, symBinAddr: 0xBF60, symSize: 0x20 } + - { offsetInCU: 0x2A5, offset: 0x930F5, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4CellV5pieceAA5PieceVSgvM.resume.0', symObjAddr: 0x180, symBinAddr: 0xBF80, symSize: 0x10 } + - { offsetInCU: 0x2D0, offset: 0x93120, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4CellV2eeoiySbAC_ACtFZ', symObjAddr: 0x190, symBinAddr: 0xBF90, symSize: 0x10 } + - { offsetInCU: 0x2E4, offset: 0x93134, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4CellVs23CustomStringConvertibleAAsADP11descriptionSSvgTW', symObjAddr: 0x1A0, symBinAddr: 0xBFA0, symSize: 0x10 } + - { offsetInCU: 0x30F, offset: 0x9315F, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4CellVSQAASQ2eeoiySbx_xtFZTW', symObjAddr: 0x1B0, symBinAddr: 0xBFB0, symSize: 0x10 } + - { offsetInCU: 0x340, offset: 0x93190, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4CellV2eeoiySbAC_ACtFZTf4nnd_n', symObjAddr: 0x1C0, symBinAddr: 0xBFC0, symSize: 0x50 } + - { offsetInCU: 0x3B4, offset: 0x93204, size: 0x8, addend: 0x0, symName: ___swift_memcpy4_1, symObjAddr: 0x210, symBinAddr: 0xC010, symSize: 0x10 } + - { offsetInCU: 0x3C8, offset: 0x93218, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4CellVwet', symObjAddr: 0x230, symBinAddr: 0xC020, symSize: 0x40 } + - { offsetInCU: 0x3DC, offset: 0x9322C, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4CellVwst', symObjAddr: 0x270, symBinAddr: 0xC060, symSize: 0x40 } + - { offsetInCU: 0x3F0, offset: 0x93240, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4CellVMa', symObjAddr: 0x2B0, symBinAddr: 0xC0A0, symSize: 0xA } + - { offsetInCU: 0x2B, offset: 0x9334E, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesV11initialGrid_WZ', symObjAddr: 0x0, symBinAddr: 0xC0B0, symSize: 0x170 } + - { offsetInCU: 0x4F, offset: 0x93372, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesV11initialGridSaySayAA4CellVGGvpZ', symObjAddr: 0xBD28, symBinAddr: 0x1DB50, symSize: 0x0 } + - { offsetInCU: 0x195, offset: 0x934B8, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesV11initialGrid_WZ', symObjAddr: 0x0, symBinAddr: 0xC0B0, symSize: 0x170 } + - { offsetInCU: 0x575, offset: 0x93898, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesV11createBoardAA0I0VyFZ', symObjAddr: 0x170, symBinAddr: 0xC220, symSize: 0x70 } + - { offsetInCU: 0x5B3, offset: 0x938D6, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesV10checkBoardyyAA0I0VKFZ', symObjAddr: 0x1E0, symBinAddr: 0xC290, symSize: 0x10 } + - { offsetInCU: 0x5CE, offset: 0x938F1, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVACycfC', symObjAddr: 0x1F0, symBinAddr: 0xC2A0, symSize: 0x30 } + - { offsetInCU: 0x612, offset: 0x93935, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesV10occurences8historicACSDyAA5BoardVSiG_SayAA4MoveVGtcfC', symObjAddr: 0x220, symBinAddr: 0xC2D0, symSize: 0x50 } + - { offsetInCU: 0x676, offset: 0x93999, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesV8getMoves2in2ofSayAA4MoveVGAA5BoardV_AA5OwnerOtF', symObjAddr: 0x270, symBinAddr: 0xC320, symSize: 0x1B0 } + - { offsetInCU: 0x9B0, offset: 0x93CD3, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesV8getMoves2in2of7fromRow9andColumnSayAA4MoveVGAA5BoardV_AA5OwnerOS2itF', symObjAddr: 0x420, symBinAddr: 0xC4D0, symSize: 0x2A0 } + - { offsetInCU: 0xDB1, offset: 0x940D4, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesV11isMoveValid7onBoard7fromRow13andFromColumn02toN00o2ToQ0SbAA0L0V_S4itF', symObjAddr: 0x6C0, symBinAddr: 0xC770, symSize: 0x80 } + - { offsetInCU: 0xEAA, offset: 0x941CD, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesV11isMoveValid7onBoard04withI0SbAA0L0V_AA0I0VtF', symObjAddr: 0x740, symBinAddr: 0xC7F0, symSize: 0xF0 } + - { offsetInCU: 0x1085, offset: 0x943A8, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesV13getNextPlayerAA5OwnerOyF', symObjAddr: 0x830, symBinAddr: 0xC8E0, symSize: 0x30 } + - { offsetInCU: 0x116B, offset: 0x9448E, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesV10isGameOver9withBoard16andLastRowPlayed0mN12ColumnPlayerSb_AA6ResultOtAA0L0V_S2itF', symObjAddr: 0x860, symBinAddr: 0xC910, symSize: 0x130 } + - { offsetInCU: 0x12C3, offset: 0x945E6, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesV10playedMove_15onStartingBoard012andResultingL0yAA0I0V_AA0L0VAJtKF', symObjAddr: 0x990, symBinAddr: 0xCA40, symSize: 0x240 } + - { offsetInCU: 0x146A, offset: 0x9478D, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesV10occurencesSDyAA5BoardVSiGvg', symObjAddr: 0xBD0, symBinAddr: 0xCC80, symSize: 0x10 } + - { offsetInCU: 0x147E, offset: 0x947A1, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesV8historicSayAA4MoveVGvg', symObjAddr: 0xBE0, symBinAddr: 0xCC90, symSize: 0x10 } + - { offsetInCU: 0x14B0, offset: 0x947D3, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVAA0G0A2aDP11createBoardAA0I0VyFZTW', symObjAddr: 0xBF0, symBinAddr: 0xCCA0, symSize: 0x70 } + - { offsetInCU: 0x14FD, offset: 0x94820, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVAA0G0A2aDP10checkBoardyyAA0I0VKFZTW', symObjAddr: 0xC60, symBinAddr: 0xCD10, symSize: 0x10 } + - { offsetInCU: 0x1535, offset: 0x94858, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVAA0G0A2aDP13getNextPlayerAA5OwnerOyFTW', symObjAddr: 0xC70, symBinAddr: 0xCD20, symSize: 0x10 } + - { offsetInCU: 0x1551, offset: 0x94874, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVAA0G0A2aDP8getMoves2in2ofSayAA4MoveVGAA5BoardV_AA5OwnerOtFTW', symObjAddr: 0xC80, symBinAddr: 0xCD30, symSize: 0x10 } + - { offsetInCU: 0x156D, offset: 0x94890, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVAA0G0A2aDP8getMoves2in2of7fromRow9andColumnSayAA4MoveVGAA5BoardV_AA5OwnerOS2itFTW', symObjAddr: 0xC90, symBinAddr: 0xCD40, symSize: 0x10 } + - { offsetInCU: 0x1589, offset: 0x948AC, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVAA0G0A2aDP11isMoveValid7onBoard7fromRow13andFromColumn02toN00o2ToQ0SbAA0L0V_S4itFTW', symObjAddr: 0xCA0, symBinAddr: 0xCD50, symSize: 0x10 } + - { offsetInCU: 0x15A5, offset: 0x948C8, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVAA0G0A2aDP11isMoveValid7onBoard04withI0SbAA0L0V_AA0I0VtFTW', symObjAddr: 0xCB0, symBinAddr: 0xCD60, symSize: 0x10 } + - { offsetInCU: 0x15C1, offset: 0x948E4, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVAA0G0A2aDP10isGameOver9withBoard16andLastRowPlayed0mN12ColumnPlayerSb_AA6ResultOtAA0L0V_S2itFTW', symObjAddr: 0xCC0, symBinAddr: 0xCD70, symSize: 0x10 } + - { offsetInCU: 0x15DD, offset: 0x94900, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVAA0G0A2aDP10playedMove_15onStartingBoard012andResultingL0yAA0I0V_AA0L0VALtKFTW', symObjAddr: 0xCD0, symBinAddr: 0xCD80, symSize: 0x10 } + - { offsetInCU: 0x1611, offset: 0x94934, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVAA0G0A2aDP10occurencesSDyAA5BoardVSiGvgTW', symObjAddr: 0xCE0, symBinAddr: 0xCD90, symSize: 0x10 } + - { offsetInCU: 0x1654, offset: 0x94977, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVAA0G0A2aDP8historicSayAA4MoveVGvgTW', symObjAddr: 0xCF0, symBinAddr: 0xCDA0, symSize: 0x10 } + - { offsetInCU: 0x1686, offset: 0x949A9, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesV16checkCellsByType33_2B29F97F1EE5509065CD9853A78D42F5LLyyAA5BoardVKFZTf4nd_n', symObjAddr: 0xD00, symBinAddr: 0xCDB0, symSize: 0x130 } + - { offsetInCU: 0x18E4, offset: 0x94C07, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesV11checkPieces33_2B29F97F1EE5509065CD9853A78D42F5LLyyAA5BoardVKFZTf4nd_n', symObjAddr: 0xE30, symBinAddr: 0xCEE0, symSize: 0x230 } + - { offsetInCU: 0x1CEA, offset: 0x9500D, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesV10checkBoardyyAA0I0VKFZTf4nd_n', symObjAddr: 0x1060, symBinAddr: 0xD110, symSize: 0xC0 } + - { offsetInCU: 0x1F87, offset: 0x952AA, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVwCP', symObjAddr: 0x11C0, symBinAddr: 0xD1D0, symSize: 0x30 } + - { offsetInCU: 0x1F9B, offset: 0x952BE, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVwxx', symObjAddr: 0x11F0, symBinAddr: 0xD200, symSize: 0x20 } + - { offsetInCU: 0x1FAF, offset: 0x952D2, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVwcp', symObjAddr: 0x1210, symBinAddr: 0xD220, symSize: 0x30 } + - { offsetInCU: 0x1FC3, offset: 0x952E6, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVwca', symObjAddr: 0x1240, symBinAddr: 0xD250, symSize: 0x50 } + - { offsetInCU: 0x1FD7, offset: 0x952FA, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVwta', symObjAddr: 0x12A0, symBinAddr: 0xD2A0, symSize: 0x30 } + - { offsetInCU: 0x1FEB, offset: 0x9530E, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVwet', symObjAddr: 0x12D0, symBinAddr: 0xD2D0, symSize: 0x40 } + - { offsetInCU: 0x1FFF, offset: 0x95322, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVwst', symObjAddr: 0x1310, symBinAddr: 0xD310, symSize: 0x40 } + - { offsetInCU: 0x2013, offset: 0x95336, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel15VerySimpleRulesVMa', symObjAddr: 0x1350, symBinAddr: 0xD350, symSize: 0xA } + - { offsetInCU: 0x72, offset: 0x95704, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6PlayerC8withName5andIdACSgSS_AA5OwnerOtcfc', symObjAddr: 0x0, symBinAddr: 0xD410, symSize: 0x60 } + - { offsetInCU: 0xC3, offset: 0x95755, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6PlayerCfd', symObjAddr: 0x80, symBinAddr: 0xD490, symSize: 0x20 } + - { offsetInCU: 0xE0, offset: 0x95772, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6PlayerC26addPlayedCallbacksListeneryyyAA4MoveVSg_ACtYaKcF', symObjAddr: 0xA0, symBinAddr: 0xD4B0, symSize: 0xE0 } + - { offsetInCU: 0x1F4, offset: 0x95886, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6PlayerC12notifyPlayed8withMove03andE0yAA0I0VSg_ACtYaKF', symObjAddr: 0x180, symBinAddr: 0xD590, symSize: 0x50 } + - { offsetInCU: 0x27B, offset: 0x9590D, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6PlayerC12notifyPlayed8withMove03andE0yAA0I0VSg_ACtYaKFTY0_', symObjAddr: 0x1D0, symBinAddr: 0xD5E0, symSize: 0x110 } + - { offsetInCU: 0x3D9, offset: 0x95A6B, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6PlayerC12notifyPlayed8withMove03andE0yAA0I0VSg_ACtYaKFTQ1_', symObjAddr: 0x2E0, symBinAddr: 0xD6F0, symSize: 0x80 } + - { offsetInCU: 0x490, offset: 0x95B22, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6PlayerC12notifyPlayed8withMove03andE0yAA0I0VSg_ACtYaKFTY2_', symObjAddr: 0x360, symBinAddr: 0xD770, symSize: 0x120 } + - { offsetInCU: 0x571, offset: 0x95C03, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6PlayerC12notifyPlayed8withMove03andE0yAA0I0VSg_ACtYaKFTY3_', symObjAddr: 0x480, symBinAddr: 0xD890, symSize: 0x50 } + - { offsetInCU: 0x5E3, offset: 0x95C75, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6PlayerC4nameSSvg', symObjAddr: 0x4D0, symBinAddr: 0xD8E0, symSize: 0x30 } + - { offsetInCU: 0x610, offset: 0x95CA2, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6PlayerC2idAA5OwnerOvg', symObjAddr: 0x500, symBinAddr: 0xD910, symSize: 0x10 } + - { offsetInCU: 0x673, offset: 0x95D05, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6PlayerC8withName5andIdACSgSS_AA5OwnerOtcfC', symObjAddr: 0x510, symBinAddr: 0xD920, symSize: 0x90 } + - { offsetInCU: 0x6D0, offset: 0x95D62, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6PlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKF', symObjAddr: 0x5A0, symBinAddr: 0xD9B0, symSize: 0x30 } + - { offsetInCU: 0x740, offset: 0x95DD2, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6PlayerCfD', symObjAddr: 0x790, symBinAddr: 0xDBA0, symSize: 0x30 } + - { offsetInCU: 0x784, offset: 0x95E16, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6PlayerCMa', symObjAddr: 0x60, symBinAddr: 0xD470, symSize: 0x20 } + - { offsetInCU: 0x88B, offset: 0x95F1D, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveVSgAA6PlayerCs5Error_pIegHngzo_AdFytsAG_pIegHnnrzo_TR', symObjAddr: 0x5D0, symBinAddr: 0xD9E0, symSize: 0x70 } + - { offsetInCU: 0x8C5, offset: 0x95F57, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveVSgAA6PlayerCs5Error_pIegHngzo_AdFytsAG_pIegHnnrzo_TRTQ0_', symObjAddr: 0x640, symBinAddr: 0xDA50, symSize: 0x50 } + - { offsetInCU: 0x91F, offset: 0x95FB1, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveVSgAA6PlayerCs5Error_pIegHngzo_AdFytsAG_pIegHnnrzo_TRTA', symObjAddr: 0x6B0, symBinAddr: 0xDAC0, symSize: 0x90 } + - { offsetInCU: 0x94F, offset: 0x95FE1, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveVSgAA6PlayerCs5Error_pIegHngzo_AdFytsAG_pIegHnnrzo_TRTATQ0_', symObjAddr: 0x740, symBinAddr: 0xDB50, symSize: 0x50 } + - { offsetInCU: 0xA11, offset: 0x960A3, size: 0x8, addend: 0x0, symName: '_$ss12_ArrayBufferV20_consumeAndCreateNew14bufferIsUnique15minimumCapacity13growForAppendAByxGSb_SiSbtFSi3row_Si3colt_Tg5', symObjAddr: 0x910, symBinAddr: 0xDD20, symSize: 0x110 } + - { offsetInCU: 0xB9C, offset: 0x9622E, size: 0x8, addend: 0x0, symName: '_$ss12_ArrayBufferV20_consumeAndCreateNew14bufferIsUnique15minimumCapacity13growForAppendAByxGSb_SiSbtF14DouShouQiModel4MoveV_Tg5', symObjAddr: 0xA60, symBinAddr: 0xDE30, symSize: 0x120 } + - { offsetInCU: 0xD3F, offset: 0x963D1, size: 0x8, addend: 0x0, symName: '_$ss12_ArrayBufferV20_consumeAndCreateNew14bufferIsUnique15minimumCapacity13growForAppendAByxGSb_SiSbtF14DouShouQiModel4CellV_Tg5', symObjAddr: 0xB80, symBinAddr: 0xDF50, symSize: 0x110 } + - { offsetInCU: 0xEED, offset: 0x9657F, size: 0x8, addend: 0x0, symName: '_$ss12_ArrayBufferV20_consumeAndCreateNew14bufferIsUnique15minimumCapacity13growForAppendAByxGSb_SiSbtFSay14DouShouQiModel4CellVG_Tg5', symObjAddr: 0xC90, symBinAddr: 0xE060, symSize: 0x130 } + - { offsetInCU: 0x27, offset: 0x968B8, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel9GameErrorOs0F0AAsADP7_domainSSvgTW', symObjAddr: 0x0, symBinAddr: 0xE3E0, symSize: 0x10 } + - { offsetInCU: 0x3F, offset: 0x968D0, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel9GameErrorOwCP', symObjAddr: 0x40, symBinAddr: 0xE420, symSize: 0x60 } + - { offsetInCU: 0x53, offset: 0x968E4, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel9GameErrorOwxx', symObjAddr: 0xA0, symBinAddr: 0xE480, symSize: 0x40 } + - { offsetInCU: 0x67, offset: 0x968F8, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel9GameErrorOwcp', symObjAddr: 0xE0, symBinAddr: 0xE4C0, symSize: 0x60 } + - { offsetInCU: 0x7B, offset: 0x9690C, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel9GameErrorOwca', symObjAddr: 0x140, symBinAddr: 0xE520, symSize: 0xB0 } + - { offsetInCU: 0x8F, offset: 0x96920, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel9GameErrorOwta', symObjAddr: 0x200, symBinAddr: 0xE5D0, symSize: 0x70 } + - { offsetInCU: 0xA3, offset: 0x96934, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel9GameErrorOwet', symObjAddr: 0x270, symBinAddr: 0xE640, symSize: 0x50 } + - { offsetInCU: 0xB7, offset: 0x96948, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel9GameErrorOwst', symObjAddr: 0x2C0, symBinAddr: 0xE690, symSize: 0x50 } + - { offsetInCU: 0xCB, offset: 0x9695C, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel9GameErrorOwug', symObjAddr: 0x310, symBinAddr: 0xE6E0, symSize: 0x30 } + - { offsetInCU: 0xDF, offset: 0x96970, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel9GameErrorOwup', symObjAddr: 0x340, symBinAddr: 0xE710, symSize: 0x10 } + - { offsetInCU: 0xF3, offset: 0x96984, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel9GameErrorOwui', symObjAddr: 0x350, symBinAddr: 0xE720, symSize: 0x30 } + - { offsetInCU: 0x107, offset: 0x96998, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel9GameErrorOMa', symObjAddr: 0x380, symBinAddr: 0xE750, symSize: 0xA } + - { offsetInCU: 0x12C, offset: 0x969BD, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel9GameErrorOs0F0AAsADP7_domainSSvgTW', symObjAddr: 0x0, symBinAddr: 0xE3E0, symSize: 0x10 } + - { offsetInCU: 0x148, offset: 0x969D9, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel9GameErrorOs0F0AAsADP5_codeSivgTW', symObjAddr: 0x10, symBinAddr: 0xE3F0, symSize: 0x10 } + - { offsetInCU: 0x164, offset: 0x969F5, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel9GameErrorOs0F0AAsADP9_userInfoyXlSgvgTW', symObjAddr: 0x20, symBinAddr: 0xE400, symSize: 0x10 } + - { offsetInCU: 0x180, offset: 0x96A11, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel9GameErrorOs0F0AAsADP19_getEmbeddedNSErroryXlSgyFTW', symObjAddr: 0x30, symBinAddr: 0xE410, symSize: 0x10 } + - { offsetInCU: 0x27, offset: 0x96AA6, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12RandomPlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKF', symObjAddr: 0x0, symBinAddr: 0xE760, symSize: 0x40 } + - { offsetInCU: 0x52, offset: 0x96AD1, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12RandomPlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKF', symObjAddr: 0x0, symBinAddr: 0xE760, symSize: 0x40 } + - { offsetInCU: 0xBB, offset: 0x96B3A, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12RandomPlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKFTY0_', symObjAddr: 0x40, symBinAddr: 0xE7A0, symSize: 0x200 } + - { offsetInCU: 0x394, offset: 0x96E13, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12RandomPlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKFTQ1_', symObjAddr: 0x240, symBinAddr: 0xE9A0, symSize: 0x80 } + - { offsetInCU: 0x48D, offset: 0x96F0C, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12RandomPlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKFTY2_', symObjAddr: 0x2C0, symBinAddr: 0xEA20, symSize: 0x140 } + - { offsetInCU: 0x5AF, offset: 0x9702E, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12RandomPlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKFTY3_', symObjAddr: 0x400, symBinAddr: 0xEB60, symSize: 0x60 } + - { offsetInCU: 0x696, offset: 0x97115, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12RandomPlayerC8withName5andIdACSgSS_AA5OwnerOtcfC', symObjAddr: 0x490, symBinAddr: 0xEBF0, symSize: 0x90 } + - { offsetInCU: 0x72D, offset: 0x971AC, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12RandomPlayerC8withName5andIdACSgSS_AA5OwnerOtcfc', symObjAddr: 0x520, symBinAddr: 0xEC80, symSize: 0x70 } + - { offsetInCU: 0x7B6, offset: 0x97235, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12RandomPlayerCfd', symObjAddr: 0x590, symBinAddr: 0xECF0, symSize: 0x20 } + - { offsetInCU: 0x815, offset: 0x97294, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12RandomPlayerCfD', symObjAddr: 0x5B0, symBinAddr: 0xED10, symSize: 0x30 } + - { offsetInCU: 0xA42, offset: 0x974C1, size: 0x8, addend: 0x0, symName: ___swift_project_boxed_opaque_existential_1, symObjAddr: 0x460, symBinAddr: 0xEBC0, symSize: 0x30 } + - { offsetInCU: 0xB2A, offset: 0x975A9, size: 0x8, addend: 0x0, symName: '_$sSGsE4next10upperBoundqd__qd___ts17FixedWidthIntegerRd__SURd__lFs27SystemRandomNumberGeneratorV_SuTg5', symObjAddr: 0x5E0, symBinAddr: 0xED40, symSize: 0xB0 } + - { offsetInCU: 0xBF7, offset: 0x97676, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel12RandomPlayerCMa', symObjAddr: 0x690, symBinAddr: 0xEDF0, symSize: 0x14 } + - { offsetInCU: 0x27, offset: 0x97832, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeO8allCasesSayACGvgZ', symObjAddr: 0x0, symBinAddr: 0xEE10, symSize: 0x40 } + - { offsetInCU: 0x6C, offset: 0x97877, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeO8allCasesSayACGvgZ', symObjAddr: 0x0, symBinAddr: 0xEE10, symSize: 0x40 } + - { offsetInCU: 0xDB, offset: 0x978E6, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeO2eeoiySbAC_ACtFZ', symObjAddr: 0x80, symBinAddr: 0xEE50, symSize: 0x10 } + - { offsetInCU: 0x10A, offset: 0x97915, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeO4hash4intoys6HasherVz_tF', symObjAddr: 0x90, symBinAddr: 0xEE60, symSize: 0x20 } + - { offsetInCU: 0x1A0, offset: 0x979AB, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeO9hashValueSivg', symObjAddr: 0xB0, symBinAddr: 0xEE80, symSize: 0x40 } + - { offsetInCU: 0x29B, offset: 0x97AA6, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeOSQAASQ2eeoiySbx_xtFZTW', symObjAddr: 0xF0, symBinAddr: 0xEEC0, symSize: 0x10 } + - { offsetInCU: 0x2F1, offset: 0x97AFC, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeOSHAASH9hashValueSivgTW', symObjAddr: 0x100, symBinAddr: 0xEED0, symSize: 0x40 } + - { offsetInCU: 0x3D5, offset: 0x97BE0, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeOSHAASH4hash4intoys6HasherVz_tFTW', symObjAddr: 0x140, symBinAddr: 0xEF10, symSize: 0x20 } + - { offsetInCU: 0x461, offset: 0x97C6C, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeOs12CaseIterableAAsADP8allCases03AllJ0QzvgZTW', symObjAddr: 0x270, symBinAddr: 0xF040, symSize: 0x50 } + - { offsetInCU: 0x4FD, offset: 0x97D08, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeOSHAASQWb', symObjAddr: 0x1A0, symBinAddr: 0xEF70, symSize: 0x10 } + - { offsetInCU: 0x511, offset: 0x97D1C, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeOACSQAAWl', symObjAddr: 0x1B0, symBinAddr: 0xEF80, symSize: 0x30 } + - { offsetInCU: 0x525, offset: 0x97D30, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeOs12CaseIterableAA8AllCasessADP_SlWT', symObjAddr: 0x1E0, symBinAddr: 0xEFB0, symSize: 0x10 } + - { offsetInCU: 0x539, offset: 0x97D44, size: 0x8, addend: 0x0, symName: '_$sSay14DouShouQiModel8CellTypeOGSayxGSlsWl', symObjAddr: 0x1F0, symBinAddr: 0xEFC0, symSize: 0x40 } + - { offsetInCU: 0x54D, offset: 0x97D58, size: 0x8, addend: 0x0, symName: ___swift_instantiateConcreteTypeFromMangledNameAbstract, symObjAddr: 0x230, symBinAddr: 0xF000, symSize: 0x40 } + - { offsetInCU: 0x561, offset: 0x97D6C, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeOwet', symObjAddr: 0x2E0, symBinAddr: 0xF090, symSize: 0x80 } + - { offsetInCU: 0x575, offset: 0x97D80, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeOwst', symObjAddr: 0x360, symBinAddr: 0xF110, symSize: 0xD0 } + - { offsetInCU: 0x589, offset: 0x97D94, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeOwug', symObjAddr: 0x430, symBinAddr: 0xF1E0, symSize: 0x10 } + - { offsetInCU: 0x59D, offset: 0x97DA8, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeOwup', symObjAddr: 0x440, symBinAddr: 0xF1F0, symSize: 0x10 } + - { offsetInCU: 0x5B1, offset: 0x97DBC, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeOwui', symObjAddr: 0x450, symBinAddr: 0xF200, symSize: 0x10 } + - { offsetInCU: 0x5C5, offset: 0x97DD0, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeOMa', symObjAddr: 0x460, symBinAddr: 0xF210, symSize: 0xA } + - { offsetInCU: 0x634, offset: 0x97E3F, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8CellTypeOSHAASH13_rawHashValue4seedS2i_tFTW', symObjAddr: 0x160, symBinAddr: 0xEF30, symSize: 0x40 } + - { offsetInCU: 0x2B, offset: 0x97F84, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardV8withGridACSgSaySayAA4CellVGG_tcfC', symObjAddr: 0x0, symBinAddr: 0xF220, symSize: 0x60 } + - { offsetInCU: 0xA6, offset: 0x97FFF, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardV8withGridACSgSaySayAA4CellVGG_tcfC', symObjAddr: 0x0, symBinAddr: 0xF220, symSize: 0x60 } + - { offsetInCU: 0x285, offset: 0x981DE, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardV11countPieces2ofSiAA5OwnerO_tF', symObjAddr: 0x60, symBinAddr: 0xF280, symSize: 0x1B0 } + - { offsetInCU: 0x529, offset: 0x98482, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardV4hash4intoys6HasherVz_tF', symObjAddr: 0x210, symBinAddr: 0xF430, symSize: 0xB0 } + - { offsetInCU: 0x764, offset: 0x986BD, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardV6nbRowsSivg', symObjAddr: 0x2C0, symBinAddr: 0xF4E0, symSize: 0x10 } + - { offsetInCU: 0x782, offset: 0x986DB, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardV9nbColumnsSivg', symObjAddr: 0x2D0, symBinAddr: 0xF4F0, symSize: 0x10 } + - { offsetInCU: 0x7A0, offset: 0x986F9, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardV4gridSaySayAA4CellVGGvg', symObjAddr: 0x2E0, symBinAddr: 0xF500, symSize: 0x10 } + - { offsetInCU: 0x7BE, offset: 0x98717, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardV11countPiecesSi04nbOfgI7Player1_Si0higI7Player2tyF', symObjAddr: 0x2F0, symBinAddr: 0xF510, symSize: 0xA0 } + - { offsetInCU: 0x9F2, offset: 0x9894B, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardV6insert5piece5atRow9andColumnAA0E6ResultOAA5PieceV_S2itF', symObjAddr: 0x390, symBinAddr: 0xF5B0, symSize: 0x110 } + - { offsetInCU: 0xBA1, offset: 0x98AFA, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardV11removePiece5atRow9andColumnAA0E6ResultOSi_SitF', symObjAddr: 0x4A0, symBinAddr: 0xF6C0, symSize: 0xF0 } + - { offsetInCU: 0xD6F, offset: 0x98CC8, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardV2eeoiySbAC_ACtFZ', symObjAddr: 0x590, symBinAddr: 0xF7B0, symSize: 0x30 } + - { offsetInCU: 0xDB1, offset: 0x98D0A, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardV9hashValueSivg', symObjAddr: 0x5C0, symBinAddr: 0xF7E0, symSize: 0x50 } + - { offsetInCU: 0xE3D, offset: 0x98D96, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVSHAASH9hashValueSivgTW', symObjAddr: 0x610, symBinAddr: 0xF830, symSize: 0x50 } + - { offsetInCU: 0xECC, offset: 0x98E25, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVSHAASH4hash4intoys6HasherVz_tFTW', symObjAddr: 0x660, symBinAddr: 0xF880, symSize: 0x10 } + - { offsetInCU: 0xEFA, offset: 0x98E53, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVSQAASQ2eeoiySbx_xtFZTW', symObjAddr: 0x6C0, symBinAddr: 0xF8E0, symSize: 0x30 } + - { offsetInCU: 0x1189, offset: 0x990E2, size: 0x8, addend: 0x0, symName: '_$ss12_ArrayBufferV20_consumeAndCreateNewAByxGyF14DouShouQiModel4MoveV_Tg5', symObjAddr: 0x6F0, symBinAddr: 0xF910, symSize: 0x20 } + - { offsetInCU: 0x11C1, offset: 0x9911A, size: 0x8, addend: 0x0, symName: '_$ss12_ArrayBufferV20_consumeAndCreateNewAByxGyF14DouShouQiModel4CellV_Tg5', symObjAddr: 0x710, symBinAddr: 0xF930, symSize: 0x20 } + - { offsetInCU: 0x11F9, offset: 0x99152, size: 0x8, addend: 0x0, symName: '_$ss12_ArrayBufferV20_consumeAndCreateNewAByxGyFSay14DouShouQiModel4CellVG_Tg5', symObjAddr: 0x730, symBinAddr: 0xF950, symSize: 0x20 } + - { offsetInCU: 0x1231, offset: 0x9918A, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVSHAASQWb', symObjAddr: 0x8E0, symBinAddr: 0xFB00, symSize: 0x10 } + - { offsetInCU: 0x1245, offset: 0x9919E, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVACSQAAWl', symObjAddr: 0x8F0, symBinAddr: 0xFB10, symSize: 0x30 } + - { offsetInCU: 0x1259, offset: 0x991B2, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVwCP', symObjAddr: 0x920, symBinAddr: 0xFB40, symSize: 0x30 } + - { offsetInCU: 0x126D, offset: 0x991C6, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVwxx', symObjAddr: 0x950, symBinAddr: 0xFB70, symSize: 0x10 } + - { offsetInCU: 0x1281, offset: 0x991DA, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVwcp', symObjAddr: 0x960, symBinAddr: 0xFB80, symSize: 0x30 } + - { offsetInCU: 0x1295, offset: 0x991EE, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVwca', symObjAddr: 0x990, symBinAddr: 0xFBB0, symSize: 0x40 } + - { offsetInCU: 0x12A9, offset: 0x99202, size: 0x8, addend: 0x0, symName: ___swift_memcpy24_8, symObjAddr: 0x9D0, symBinAddr: 0xFBF0, symSize: 0x20 } + - { offsetInCU: 0x12BD, offset: 0x99216, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVwta', symObjAddr: 0x9F0, symBinAddr: 0xFC10, symSize: 0x30 } + - { offsetInCU: 0x12D1, offset: 0x9922A, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVwet', symObjAddr: 0xA20, symBinAddr: 0xFC40, symSize: 0x50 } + - { offsetInCU: 0x12E5, offset: 0x9923E, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVwst', symObjAddr: 0xA70, symBinAddr: 0xFC90, symSize: 0x40 } + - { offsetInCU: 0x12F9, offset: 0x99252, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVMa', symObjAddr: 0xAB0, symBinAddr: 0xFCD0, symSize: 0xA } + - { offsetInCU: 0x1458, offset: 0x993B1, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVSHAASH13_rawHashValue4seedS2i_tFTW', symObjAddr: 0x670, symBinAddr: 0xF890, symSize: 0x50 } + - { offsetInCU: 0x1496, offset: 0x993EF, size: 0x8, addend: 0x0, symName: '_$sSasSQRzlE2eeoiySbSayxG_ABtFZ14DouShouQiModel4CellV_Tg5Tf4nnd_n', symObjAddr: 0x750, symBinAddr: 0xF970, symSize: 0x80 } + - { offsetInCU: 0x156A, offset: 0x994C3, size: 0x8, addend: 0x0, symName: '_$sSasSQRzlE2eeoiySbSayxG_ABtFZSay14DouShouQiModel4CellVG_Tg5Tf4nnd_n', symObjAddr: 0x7D0, symBinAddr: 0xF9F0, symSize: 0x110 } + - { offsetInCU: 0x27, offset: 0x99713, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceV9withOwner9andAnimalAcA0G0O_AA0I0OtcfC', symObjAddr: 0x0, symBinAddr: 0xFCE0, symSize: 0x20 } + - { offsetInCU: 0x46, offset: 0x99732, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceV9withOwner9andAnimalAcA0G0O_AA0I0OtcfC', symObjAddr: 0x0, symBinAddr: 0xFCE0, symSize: 0x20 } + - { offsetInCU: 0x85, offset: 0x99771, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceV11descriptionSSvg', symObjAddr: 0x20, symBinAddr: 0xFD00, symSize: 0xC0 } + - { offsetInCU: 0x176, offset: 0x99862, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceV5ownerAA5OwnerOvg', symObjAddr: 0xE0, symBinAddr: 0xFDC0, symSize: 0x10 } + - { offsetInCU: 0x194, offset: 0x99880, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceV6animalAA6AnimalOvg', symObjAddr: 0xF0, symBinAddr: 0xFDD0, symSize: 0x10 } + - { offsetInCU: 0x1B2, offset: 0x9989E, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceV4hash4intoys6HasherVz_tF', symObjAddr: 0x100, symBinAddr: 0xFDE0, symSize: 0x40 } + - { offsetInCU: 0x2E8, offset: 0x999D4, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceV2eeoiySbAC_ACtFZ', symObjAddr: 0x140, symBinAddr: 0xFE20, symSize: 0x20 } + - { offsetInCU: 0x330, offset: 0x99A1C, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceV9hashValueSivg', symObjAddr: 0x160, symBinAddr: 0xFE40, symSize: 0x50 } + - { offsetInCU: 0x4C7, offset: 0x99BB3, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceVs23CustomStringConvertibleAAsADP11descriptionSSvgTW', symObjAddr: 0x1B0, symBinAddr: 0xFE90, symSize: 0x10 } + - { offsetInCU: 0x4F2, offset: 0x99BDE, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceVSHAASH9hashValueSivgTW', symObjAddr: 0x1C0, symBinAddr: 0xFEA0, symSize: 0x50 } + - { offsetInCU: 0x6A6, offset: 0x99D92, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceVSHAASH4hash4intoys6HasherVz_tFTW', symObjAddr: 0x210, symBinAddr: 0xFEF0, symSize: 0x40 } + - { offsetInCU: 0x80B, offset: 0x99EF7, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceVSQAASQ2eeoiySbx_xtFZTW', symObjAddr: 0x2A0, symBinAddr: 0xFF80, symSize: 0x20 } + - { offsetInCU: 0x8DD, offset: 0x99FC9, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceVSHAASQWb', symObjAddr: 0x2C0, symBinAddr: 0xFFA0, symSize: 0x10 } + - { offsetInCU: 0x8F1, offset: 0x99FDD, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceVACSQAAWl', symObjAddr: 0x2D0, symBinAddr: 0xFFB0, symSize: 0x30 } + - { offsetInCU: 0x905, offset: 0x99FF1, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceVwet', symObjAddr: 0x320, symBinAddr: 0xFFE0, symSize: 0x90 } + - { offsetInCU: 0x919, offset: 0x9A005, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceVwst', symObjAddr: 0x3B0, symBinAddr: 0x10070, symSize: 0xE0 } + - { offsetInCU: 0x92D, offset: 0x9A019, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceVMa', symObjAddr: 0x490, symBinAddr: 0x10150, symSize: 0xA } + - { offsetInCU: 0x9D2, offset: 0x9A0BE, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5PieceVSHAASH13_rawHashValue4seedS2i_tFTW', symObjAddr: 0x250, symBinAddr: 0xFF30, symSize: 0x50 } + - { offsetInCU: 0x27, offset: 0x9A2C6, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel17InvalidBoardErrorO2eeoiySbAC_ACtFZ', symObjAddr: 0x0, symBinAddr: 0x10160, symSize: 0x10 } + - { offsetInCU: 0x4B, offset: 0x9A2EA, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel17InvalidBoardErrorO2eeoiySbAC_ACtFZ', symObjAddr: 0x0, symBinAddr: 0x10160, symSize: 0x10 } + - { offsetInCU: 0x6E, offset: 0x9A30D, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel17InvalidBoardErrorOSQAASQ2eeoiySbx_xtFZTW', symObjAddr: 0x50, symBinAddr: 0x101B0, symSize: 0x10 } + - { offsetInCU: 0x9F, offset: 0x9A33E, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel17InvalidBoardErrorO2eeoiySbAC_ACtFZTf4nnd_n', symObjAddr: 0x60, symBinAddr: 0x101C0, symSize: 0x110 } + - { offsetInCU: 0x15B, offset: 0x9A3FA, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel17InvalidBoardErrorOwCP', symObjAddr: 0x170, symBinAddr: 0x102D0, symSize: 0x30 } + - { offsetInCU: 0x16F, offset: 0x9A40E, size: 0x8, addend: 0x0, symName: ___swift_memcpy25_8, symObjAddr: 0x1B0, symBinAddr: 0x10300, symSize: 0x20 } + - { offsetInCU: 0x183, offset: 0x9A422, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel17InvalidBoardErrorOwet', symObjAddr: 0x1D0, symBinAddr: 0x10320, symSize: 0x50 } + - { offsetInCU: 0x197, offset: 0x9A436, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel17InvalidBoardErrorOwst', symObjAddr: 0x220, symBinAddr: 0x10370, symSize: 0x50 } + - { offsetInCU: 0x1AB, offset: 0x9A44A, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel17InvalidBoardErrorOwug', symObjAddr: 0x270, symBinAddr: 0x103C0, symSize: 0x20 } + - { offsetInCU: 0x1BF, offset: 0x9A45E, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel17InvalidBoardErrorOwup', symObjAddr: 0x290, symBinAddr: 0x103E0, symSize: 0x10 } + - { offsetInCU: 0x1D3, offset: 0x9A472, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel17InvalidBoardErrorOwui', symObjAddr: 0x2A0, symBinAddr: 0x103F0, symSize: 0x20 } + - { offsetInCU: 0x1E7, offset: 0x9A486, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel17InvalidBoardErrorOMa', symObjAddr: 0x2C0, symBinAddr: 0x10410, symSize: 0xA } + - { offsetInCU: 0x20C, offset: 0x9A4AB, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel17InvalidBoardErrorOs0G0AAsADP7_domainSSvgTW', symObjAddr: 0x10, symBinAddr: 0x10170, symSize: 0x10 } + - { offsetInCU: 0x228, offset: 0x9A4C7, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel17InvalidBoardErrorOs0G0AAsADP5_codeSivgTW', symObjAddr: 0x20, symBinAddr: 0x10180, symSize: 0x10 } + - { offsetInCU: 0x244, offset: 0x9A4E3, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel17InvalidBoardErrorOs0G0AAsADP9_userInfoyXlSgvgTW', symObjAddr: 0x30, symBinAddr: 0x10190, symSize: 0x10 } + - { offsetInCU: 0x260, offset: 0x9A4FF, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel17InvalidBoardErrorOs0G0AAsADP19_getEmbeddedNSErroryXlSgyFTW', symObjAddr: 0x40, symBinAddr: 0x101A0, symSize: 0x10 } + - { offsetInCU: 0x27, offset: 0x9A5A5, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5OwnerO2eeoiySbAC_ACtFZ', symObjAddr: 0x0, symBinAddr: 0x10420, symSize: 0x10 } + - { offsetInCU: 0x4B, offset: 0x9A5C9, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5OwnerO2eeoiySbAC_ACtFZ', symObjAddr: 0x0, symBinAddr: 0x10420, symSize: 0x10 } + - { offsetInCU: 0x7A, offset: 0x9A5F8, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5OwnerO17simpleDescriptionSSvg', symObjAddr: 0x10, symBinAddr: 0x10430, symSize: 0x20 } + - { offsetInCU: 0xA5, offset: 0x9A623, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5OwnerO4hash4intoys6HasherVz_tF', symObjAddr: 0x30, symBinAddr: 0x10450, symSize: 0x20 } + - { offsetInCU: 0x13B, offset: 0x9A6B9, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5OwnerO9hashValueSivg', symObjAddr: 0x50, symBinAddr: 0x10470, symSize: 0x40 } + - { offsetInCU: 0x236, offset: 0x9A7B4, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5OwnerOSQAASQ2eeoiySbx_xtFZTW', symObjAddr: 0x90, symBinAddr: 0x104B0, symSize: 0x10 } + - { offsetInCU: 0x28C, offset: 0x9A80A, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5OwnerOSHAASH9hashValueSivgTW', symObjAddr: 0xA0, symBinAddr: 0x104C0, symSize: 0x40 } + - { offsetInCU: 0x370, offset: 0x9A8EE, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5OwnerOSHAASH4hash4intoys6HasherVz_tFTW', symObjAddr: 0xE0, symBinAddr: 0x10500, symSize: 0x20 } + - { offsetInCU: 0x3F9, offset: 0x9A977, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5OwnerOSHAASQWb', symObjAddr: 0x140, symBinAddr: 0x10560, symSize: 0x10 } + - { offsetInCU: 0x40D, offset: 0x9A98B, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5OwnerOACSQAAWl', symObjAddr: 0x150, symBinAddr: 0x10570, symSize: 0x30 } + - { offsetInCU: 0x421, offset: 0x9A99F, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5OwnerOwet', symObjAddr: 0x1A0, symBinAddr: 0x105A0, symSize: 0x80 } + - { offsetInCU: 0x435, offset: 0x9A9B3, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5OwnerOwst', symObjAddr: 0x220, symBinAddr: 0x10620, symSize: 0xD0 } + - { offsetInCU: 0x449, offset: 0x9A9C7, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5OwnerOwug', symObjAddr: 0x2F0, symBinAddr: 0x106F0, symSize: 0x10 } + - { offsetInCU: 0x45D, offset: 0x9A9DB, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5OwnerOwup', symObjAddr: 0x300, symBinAddr: 0x10700, symSize: 0x10 } + - { offsetInCU: 0x471, offset: 0x9A9EF, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5OwnerOwui', symObjAddr: 0x310, symBinAddr: 0x10710, symSize: 0x10 } + - { offsetInCU: 0x485, offset: 0x9AA03, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5OwnerOMa', symObjAddr: 0x320, symBinAddr: 0x10720, symSize: 0xA } + - { offsetInCU: 0x4DE, offset: 0x9AA5C, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5OwnerOSHAASH13_rawHashValue4seedS2i_tFTW', symObjAddr: 0x100, symBinAddr: 0x10520, symSize: 0x40 } + - { offsetInCU: 0x27, offset: 0x9AB88, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8IAPlayerC8withName5andIdACSgSS_AA5OwnerOtcfc', symObjAddr: 0x0, symBinAddr: 0x10730, symSize: 0x70 } + - { offsetInCU: 0xD3, offset: 0x9AC34, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8IAPlayerC8withName5andIdACSgSS_AA5OwnerOtcfc', symObjAddr: 0x0, symBinAddr: 0x10730, symSize: 0x70 } + - { offsetInCU: 0x145, offset: 0x9ACA6, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8IAPlayerCfd', symObjAddr: 0x70, symBinAddr: 0x107A0, symSize: 0x20 } + - { offsetInCU: 0x1AA, offset: 0x9AD0B, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8IAPlayerC8withName5andIdACSgSS_AA5OwnerOtcfC', symObjAddr: 0x90, symBinAddr: 0x107C0, symSize: 0x90 } + - { offsetInCU: 0x248, offset: 0x9ADA9, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8IAPlayerCfD', symObjAddr: 0x120, symBinAddr: 0x10850, symSize: 0x30 } + - { offsetInCU: 0x2A2, offset: 0x9AE03, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel8IAPlayerCMa', symObjAddr: 0x150, symBinAddr: 0x10880, symSize: 0x14 } + - { offsetInCU: 0x27, offset: 0x9AED1, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveV2eeoiySbAC_ACtFZ', symObjAddr: 0x0, symBinAddr: 0x108A0, symSize: 0x10 } + - { offsetInCU: 0x46, offset: 0x9AEF0, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveV2eeoiySbAC_ACtFZ', symObjAddr: 0x0, symBinAddr: 0x108A0, symSize: 0x10 } + - { offsetInCU: 0x5A, offset: 0x9AF04, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveV2of7fromRow13andFromColumn02toH00i2ToK0AcA5OwnerO_S4itcfC', symObjAddr: 0x10, symBinAddr: 0x108B0, symSize: 0x20 } + - { offsetInCU: 0xC1, offset: 0x9AF6B, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveV5ownerAA5OwnerOvg', symObjAddr: 0x30, symBinAddr: 0x108D0, symSize: 0x10 } + - { offsetInCU: 0xDF, offset: 0x9AF89, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveV9rowOriginSivg', symObjAddr: 0x40, symBinAddr: 0x108E0, symSize: 0x10 } + - { offsetInCU: 0xFD, offset: 0x9AFA7, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveV12columnOriginSivg', symObjAddr: 0x50, symBinAddr: 0x108F0, symSize: 0x10 } + - { offsetInCU: 0x11B, offset: 0x9AFC5, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveV14rowDestinationSivg', symObjAddr: 0x60, symBinAddr: 0x10900, symSize: 0x10 } + - { offsetInCU: 0x139, offset: 0x9AFE3, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveV17columnDestinationSivg', symObjAddr: 0x70, symBinAddr: 0x10910, symSize: 0x10 } + - { offsetInCU: 0x157, offset: 0x9B001, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveV11descriptionSSvg', symObjAddr: 0x80, symBinAddr: 0x10920, symSize: 0x1E0 } + - { offsetInCU: 0x287, offset: 0x9B131, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveVs23CustomStringConvertibleAAsADP11descriptionSSvgTW', symObjAddr: 0x260, symBinAddr: 0x10B00, symSize: 0x10 } + - { offsetInCU: 0x2B2, offset: 0x9B15C, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveVSQAASQ2eeoiySbx_xtFZTW', symObjAddr: 0x270, symBinAddr: 0x10B10, symSize: 0x10 } + - { offsetInCU: 0x2E3, offset: 0x9B18D, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveV2eeoiySbAC_ACtFZTf4nnd_n', symObjAddr: 0x280, symBinAddr: 0x10B20, symSize: 0x40 } + - { offsetInCU: 0x365, offset: 0x9B20F, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveVwCP', symObjAddr: 0x2C0, symBinAddr: 0x10B60, symSize: 0x30 } + - { offsetInCU: 0x379, offset: 0x9B223, size: 0x8, addend: 0x0, symName: ___swift_memcpy40_8, symObjAddr: 0x300, symBinAddr: 0x10B90, symSize: 0x20 } + - { offsetInCU: 0x38D, offset: 0x9B237, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveVwet', symObjAddr: 0x320, symBinAddr: 0x10BB0, symSize: 0x40 } + - { offsetInCU: 0x3A1, offset: 0x9B24B, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveVwst', symObjAddr: 0x360, symBinAddr: 0x10BF0, symSize: 0x50 } + - { offsetInCU: 0x3B5, offset: 0x9B25F, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveVMa', symObjAddr: 0x3B0, symBinAddr: 0x10C40, symSize: 0xA } + - { offsetInCU: 0x27, offset: 0x9B352, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6AnimalO8rawValueSivg', symObjAddr: 0x0, symBinAddr: 0x10C50, symSize: 0x10 } + - { offsetInCU: 0x4B, offset: 0x9B376, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6AnimalO8rawValueSivg', symObjAddr: 0x0, symBinAddr: 0x10C50, symSize: 0x10 } + - { offsetInCU: 0x66, offset: 0x9B391, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6AnimalO8rawValueACSgSi_tcfC', symObjAddr: 0x10, symBinAddr: 0x10C60, symSize: 0x20 } + - { offsetInCU: 0xBA, offset: 0x9B3E5, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6AnimalOSYAASY8rawValuexSg03RawG0Qz_tcfCTW', symObjAddr: 0x130, symBinAddr: 0x10D80, symSize: 0x10 } + - { offsetInCU: 0xD6, offset: 0x9B401, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6AnimalOSYAASY8rawValue03RawG0QzvgTW', symObjAddr: 0x140, symBinAddr: 0x10D90, symSize: 0x20 } + - { offsetInCU: 0x10B, offset: 0x9B436, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6AnimalOSHAASQWb', symObjAddr: 0x40, symBinAddr: 0x10C90, symSize: 0x10 } + - { offsetInCU: 0x11F, offset: 0x9B44A, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6AnimalOACSQAAWl', symObjAddr: 0x50, symBinAddr: 0x10CA0, symSize: 0x30 } + - { offsetInCU: 0x149, offset: 0x9B474, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6AnimalOwet', symObjAddr: 0x180, symBinAddr: 0x10DB0, symSize: 0x80 } + - { offsetInCU: 0x15D, offset: 0x9B488, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6AnimalOwst', symObjAddr: 0x200, symBinAddr: 0x10E30, symSize: 0xD0 } + - { offsetInCU: 0x171, offset: 0x9B49C, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6AnimalOwug', symObjAddr: 0x2D0, symBinAddr: 0x10F00, symSize: 0x10 } + - { offsetInCU: 0x185, offset: 0x9B4B0, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6AnimalOwup', symObjAddr: 0x2E0, symBinAddr: 0x10F10, symSize: 0x10 } + - { offsetInCU: 0x199, offset: 0x9B4C4, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6AnimalOwui', symObjAddr: 0x2F0, symBinAddr: 0x10F20, symSize: 0x10 } + - { offsetInCU: 0x1AD, offset: 0x9B4D8, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6AnimalOMa', symObjAddr: 0x300, symBinAddr: 0x10F30, symSize: 0xA } + - { offsetInCU: 0x1E8, offset: 0x9B513, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6AnimalOSQAASQ2eeoiySbx_xtFZTW', symObjAddr: 0x30, symBinAddr: 0x10C80, symSize: 0x10 } + - { offsetInCU: 0x279, offset: 0x9B5A4, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6AnimalOSHAASH9hashValueSivgTW', symObjAddr: 0x80, symBinAddr: 0x10CD0, symSize: 0x40 } + - { offsetInCU: 0x351, offset: 0x9B67C, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6AnimalOSHAASH4hash4intoys6HasherVz_tFTW', symObjAddr: 0xC0, symBinAddr: 0x10D10, symSize: 0x30 } + - { offsetInCU: 0x3CD, offset: 0x9B6F8, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel6AnimalOSHAASH13_rawHashValue4seedS2i_tFTW', symObjAddr: 0xF0, symBinAddr: 0x10D40, symSize: 0x40 } + - { offsetInCU: 0x97, offset: 0x9B898, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC5boardAA5BoardVvg', symObjAddr: 0xA0, symBinAddr: 0x10FE0, symSize: 0x40 } + - { offsetInCU: 0xDE, offset: 0x9B8DF, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC5rulesAA5Rules_pvg', symObjAddr: 0x140, symBinAddr: 0x11080, symSize: 0x40 } + - { offsetInCU: 0xFB, offset: 0x9B8FC, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC7playersSDyAA5OwnerOAA6PlayerCGvg', symObjAddr: 0x1B0, symBinAddr: 0x110F0, symSize: 0x10 } + - { offsetInCU: 0x128, offset: 0x9B929, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC9withRules10andPlayer10H7Player2AcA0G0_p_AA6PlayerCAItKcfC', symObjAddr: 0x1C0, symBinAddr: 0x11100, symSize: 0x60 } + - { offsetInCU: 0x14D, offset: 0x9B94E, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC9withRules10andPlayer10H7Player2AcA0G0_p_AA6PlayerCAItKcfc', symObjAddr: 0x220, symBinAddr: 0x11160, symSize: 0x4F0 } + - { offsetInCU: 0x563, offset: 0x9BD64, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC9withRules10andPlayer10H7Player2AcA0G0_p_AA6PlayerCAItKcfcyAA4MoveVSg_AItYacfU_', symObjAddr: 0x800, symBinAddr: 0x116A0, symSize: 0xB0 } + - { offsetInCU: 0x612, offset: 0x9BE13, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC9withRules10andPlayer10H7Player2AcA0G0_p_AA6PlayerCAItKcfcyAA4MoveVSg_AItYacfU_TQ0_', symObjAddr: 0x8B0, symBinAddr: 0x11750, symSize: 0x70 } + - { offsetInCU: 0x6A3, offset: 0x9BEA4, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC9withRules10andPlayer10H7Player2AcA0G0_p_AA6PlayerCAItKcfcyAA4MoveVSg_AItYacfU_TY2_', symObjAddr: 0x920, symBinAddr: 0x117C0, symSize: 0x50 } + - { offsetInCU: 0x6E8, offset: 0x9BEE9, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC9withRules10andPlayer10H7Player2AcA0G0_p_AA6PlayerCAItKcfcyAA4MoveVSg_AItYacfU0_', symObjAddr: 0x970, symBinAddr: 0x11810, symSize: 0xB0 } + - { offsetInCU: 0x797, offset: 0x9BF98, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC9withRules10andPlayer10H7Player2AcA0G0_p_AA6PlayerCAItKcfcyAA4MoveVSg_AItYacfU0_TQ0_', symObjAddr: 0xA20, symBinAddr: 0x118C0, symSize: 0x70 } + - { offsetInCU: 0x828, offset: 0x9C029, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC9withRules10andPlayer10H7Player2AcA0G0_p_AA6PlayerCAItKcfcyAA4MoveVSg_AItYacfU0_TY1_', symObjAddr: 0xA90, symBinAddr: 0x11930, symSize: 0x30 } + - { offsetInCU: 0x882, offset: 0x9C083, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC9withRules10andPlayer10H7Player2AcA0G0_p_AA6PlayerCAItKcfcyAA4MoveVSg_AItYacfU0_TY2_', symObjAddr: 0xAC0, symBinAddr: 0x11960, symSize: 0x50 } + - { offsetInCU: 0x8C7, offset: 0x9C0C8, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC9withBoard8andRules0H7Player10H7Player2AcA0G0V_AA0I0_pAA6PlayerCALtKcfC', symObjAddr: 0xB10, symBinAddr: 0x119B0, symSize: 0x60 } + - { offsetInCU: 0x8EC, offset: 0x9C0ED, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC9withBoard8andRules0H7Player10H7Player2AcA0G0V_AA0I0_pAA6PlayerCALtKcfc', symObjAddr: 0xB70, symBinAddr: 0x11A10, symSize: 0x320 } + - { offsetInCU: 0xA27, offset: 0x9C228, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC03addE15StartedListeneryyyAA5BoardVcF', symObjAddr: 0xE90, symBinAddr: 0x11D30, symSize: 0xD0 } + - { offsetInCU: 0xB3B, offset: 0x9C33C, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC25addPlayerNotifiedListeneryyyAA5BoardV_AA0G0CtYaKcF', symObjAddr: 0xF60, symBinAddr: 0x11E00, symSize: 0xD0 } + - { offsetInCU: 0xC4F, offset: 0x9C450, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC03addE15ChangedListeneryyyACYacF', symObjAddr: 0x10F0, symBinAddr: 0x11F90, symSize: 0xD0 } + - { offsetInCU: 0xD63, offset: 0x9C564, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC03addE12OverListeneryyyAA5BoardV_AA6ResultOAA6PlayerCSgtcF', symObjAddr: 0x1220, symBinAddr: 0x120C0, symSize: 0xD0 } + - { offsetInCU: 0xE77, offset: 0x9C678, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC30addMoveChosenCallbacksListeneryyyAA5BoardV_AA0G0VAA6PlayerCtcF', symObjAddr: 0x12F0, symBinAddr: 0x12190, symSize: 0xD0 } + - { offsetInCU: 0xF8B, offset: 0x9C78C, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC31addInvalidMoveCallbacksListeneryyyAA5BoardV_AA0H0VAA6PlayerCSbtcF', symObjAddr: 0x13C0, symBinAddr: 0x12260, symSize: 0xE0 } + - { offsetInCU: 0x109F, offset: 0x9C8A0, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC23addBoardChangedListeneryyyAA0G0VcF', symObjAddr: 0x14A0, symBinAddr: 0x12340, symSize: 0xE0 } + - { offsetInCU: 0x11B3, offset: 0x9C9B4, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC23addPieceRemovedListeneryyySi_SiAA0G0VtcF', symObjAddr: 0x1580, symBinAddr: 0x12420, symSize: 0xE0 } + - { offsetInCU: 0x12E5, offset: 0x9CAE6, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC18notifyPieceRemoved33_4E9958627B7DCD90B6D32369387417C3LLyySi_SiAA0G0VtF', symObjAddr: 0x1660, symBinAddr: 0x12500, symSize: 0xC0 } + - { offsetInCU: 0x1497, offset: 0x9CC98, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC8onPlayed4with4fromyAA4MoveVSg_AA6PlayerCtYaKF', symObjAddr: 0x1720, symBinAddr: 0x125C0, symSize: 0x60 } + - { offsetInCU: 0x1876, offset: 0x9D077, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC8onPlayed4with4fromyAA4MoveVSg_AA6PlayerCtYaKFTY0_', symObjAddr: 0x1780, symBinAddr: 0x12620, symSize: 0xD90 } + - { offsetInCU: 0x25A8, offset: 0x9DDA9, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC8onPlayed4with4fromyAA4MoveVSg_AA6PlayerCtYaKFTQ1_', symObjAddr: 0x2510, symBinAddr: 0x133B0, symSize: 0x70 } + - { offsetInCU: 0x26D3, offset: 0x9DED4, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC8onPlayed4with4fromyAA4MoveVSg_AA6PlayerCtYaKFTY2_', symObjAddr: 0x2580, symBinAddr: 0x13420, symSize: 0x280 } + - { offsetInCU: 0x29BD, offset: 0x9E1BE, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC8onPlayed4with4fromyAA4MoveVSg_AA6PlayerCtYaKFTQ3_', symObjAddr: 0x2800, symBinAddr: 0x136A0, symSize: 0x80 } + - { offsetInCU: 0x2AAE, offset: 0x9E2AF, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC8onPlayed4with4fromyAA4MoveVSg_AA6PlayerCtYaKFTY4_', symObjAddr: 0x2880, symBinAddr: 0x13720, symSize: 0x150 } + - { offsetInCU: 0x2BE9, offset: 0x9E3EA, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC8onPlayed4with4fromyAA4MoveVSg_AA6PlayerCtYaKFTY5_', symObjAddr: 0x29D0, symBinAddr: 0x13870, symSize: 0x70 } + - { offsetInCU: 0x2C97, offset: 0x9E498, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC6isOverSbvg', symObjAddr: 0x2A40, symBinAddr: 0x138E0, symSize: 0x30 } + - { offsetInCU: 0x2CB4, offset: 0x9E4B5, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC5startyyYaKF', symObjAddr: 0x2A70, symBinAddr: 0x13910, symSize: 0x30 } + - { offsetInCU: 0x2D65, offset: 0x9E566, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC5startyyYaKFTY0_', symObjAddr: 0x2AA0, symBinAddr: 0x13940, symSize: 0x3D0 } + - { offsetInCU: 0x3221, offset: 0x9EA22, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC5startyyYaKFTQ1_', symObjAddr: 0x2E70, symBinAddr: 0x13D10, symSize: 0x70 } + - { offsetInCU: 0x32B5, offset: 0x9EAB6, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC5startyyYaKFTY2_', symObjAddr: 0x2EE0, symBinAddr: 0x13D80, symSize: 0x270 } + - { offsetInCU: 0x350A, offset: 0x9ED0B, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC5startyyYaKFTQ3_', symObjAddr: 0x3150, symBinAddr: 0x13FF0, symSize: 0x80 } + - { offsetInCU: 0x35AB, offset: 0x9EDAC, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC5startyyYaKFTY4_', symObjAddr: 0x31D0, symBinAddr: 0x14070, symSize: 0x140 } + - { offsetInCU: 0x3697, offset: 0x9EE98, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC5startyyYaKFTY5_', symObjAddr: 0x3310, symBinAddr: 0x141B0, symSize: 0x70 } + - { offsetInCU: 0x36E6, offset: 0x9EEE7, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameCfd', symObjAddr: 0x3380, symBinAddr: 0x14220, symSize: 0x80 } + - { offsetInCU: 0x3713, offset: 0x9EF14, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameCfD', symObjAddr: 0x3400, symBinAddr: 0x142A0, symSize: 0x20 } + - { offsetInCU: 0x3741, offset: 0x9EF42, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC5boardAA5BoardVvpACTK', symObjAddr: 0x0, symBinAddr: 0x10F40, symSize: 0x40 } + - { offsetInCU: 0x3777, offset: 0x9EF78, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC5boardAA5BoardVvpACTk', symObjAddr: 0x40, symBinAddr: 0x10F80, symSize: 0x60 } + - { offsetInCU: 0x37AF, offset: 0x9EFB0, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC5rulesAA5Rules_pvpACTk', symObjAddr: 0xE0, symBinAddr: 0x11020, symSize: 0x60 } + - { offsetInCU: 0x37F2, offset: 0x9EFF3, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5Rules_pWOc', symObjAddr: 0x180, symBinAddr: 0x110C0, symSize: 0x30 } + - { offsetInCU: 0x3929, offset: 0x9F12A, size: 0x8, addend: 0x0, symName: ___swift_destroy_boxed_opaque_existential_1, symObjAddr: 0x770, symBinAddr: 0x11650, symSize: 0x30 } + - { offsetInCU: 0x393D, offset: 0x9F13E, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameCMa', symObjAddr: 0x7A0, symBinAddr: 0x11680, symSize: 0x20 } + - { offsetInCU: 0x3A4F, offset: 0x9F250, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVAA6PlayerCs5Error_pIegHngzo_AcEytsAF_pIegHnnrzo_TR', symObjAddr: 0x1030, symBinAddr: 0x11ED0, symSize: 0x70 } + - { offsetInCU: 0x3A89, offset: 0x9F28A, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVAA6PlayerCs5Error_pIegHngzo_AcEytsAF_pIegHnnrzo_TRTQ0_', symObjAddr: 0x10A0, symBinAddr: 0x11F40, symSize: 0x50 } + - { offsetInCU: 0x3B46, offset: 0x9F347, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameCIegHg_ACytIegHnr_TR', symObjAddr: 0x11C0, symBinAddr: 0x12060, symSize: 0x60 } + - { offsetInCU: 0x3F7D, offset: 0x9F77E, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC9withRules10andPlayer10H7Player2AcA0G0_p_AA6PlayerCAItKcfcyAA4MoveVSg_AItYacfU0_TA', symObjAddr: 0x3420, symBinAddr: 0x142C0, symSize: 0x60 } + - { offsetInCU: 0x3FAD, offset: 0x9F7AE, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveVSgAA6PlayerCs5Error_pIegHngzo_AdFytsAG_pIegHnnrzo_TRTA', symObjAddr: 0x34A0, symBinAddr: 0x14340, symSize: 0x90 } + - { offsetInCU: 0x3FDD, offset: 0x9F7DE, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameC9withRules10andPlayer10H7Player2AcA0G0_p_AA6PlayerCAItKcfcyAA4MoveVSg_AItYacfU_TA', symObjAddr: 0x3530, symBinAddr: 0x143D0, symSize: 0x60 } + - { offsetInCU: 0x400D, offset: 0x9F80E, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4MoveVSgAA6PlayerCs5Error_pIegHngzo_AdFytsAG_pIegHnnrzo_TRTA.7', symObjAddr: 0x3590, symBinAddr: 0x14430, symSize: 0x90 } + - { offsetInCU: 0x4041, offset: 0x9F842, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVIegn_ACytIegnr_TRTA', symObjAddr: 0x3620, symBinAddr: 0x144C0, symSize: 0x20 } + - { offsetInCU: 0x4071, offset: 0x9F872, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVAA6PlayerCs5Error_pIegHngzo_AcEytsAF_pIegHnnrzo_TRTA', symObjAddr: 0x3640, symBinAddr: 0x144E0, symSize: 0x90 } + - { offsetInCU: 0x40A1, offset: 0x9F8A2, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameCIegHg_ACytIegHnr_TRTA', symObjAddr: 0x36D0, symBinAddr: 0x14570, symSize: 0x80 } + - { offsetInCU: 0x40D1, offset: 0x9F8D2, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel4GameCIegHg_ACytIegHnr_TRTATQ0_', symObjAddr: 0x3750, symBinAddr: 0x145F0, symSize: 0x50 } + - { offsetInCU: 0x4125, offset: 0x9F926, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVAA6ResultOAA6PlayerCSgIegnng_AceHytIegnnnr_TRTA', symObjAddr: 0x37A0, symBinAddr: 0x14640, symSize: 0x20 } + - { offsetInCU: 0x4159, offset: 0x9F95A, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVAA4MoveVAA6PlayerCIegnng_AceGytIegnnnr_TRTA', symObjAddr: 0x37C0, symBinAddr: 0x14660, symSize: 0x20 } + - { offsetInCU: 0x418D, offset: 0x9F98E, size: 0x8, addend: 0x0, symName: '_$s14DouShouQiModel5BoardVAA4MoveVAA6PlayerCSbIegnngy_AceGSbytIegnnnnr_TRTA', symObjAddr: 0x37E0, symBinAddr: 0x14680, symSize: 0x20 } + - { offsetInCU: 0x41C1, offset: 0x9F9C2, size: 0x8, addend: 0x0, symName: '_$sS2i14DouShouQiModel5PieceVIegyyn_S2iACytIegnnnr_TRTA', symObjAddr: 0x3800, symBinAddr: 0x146A0, symSize: 0x20 } + - { offsetInCU: 0x41EA, offset: 0x9F9EB, size: 0x8, addend: 0x0, symName: ___swift_mutable_project_boxed_opaque_existential_1, symObjAddr: 0x3820, symBinAddr: 0x146C0, symSize: 0x30 } + - { offsetInCU: 0x41FE, offset: 0x9F9FF, size: 0x8, addend: 0x0, symName: ___swift_assign_boxed_opaque_existential_1, symObjAddr: 0x3BF0, symBinAddr: 0x14A90, symSize: 0x130 } +...