From e3807f62adee971528e319b69a91ed25250ad0b2 Mon Sep 17 00:00:00 2001 From: hxxchxx Date: Mon, 12 Aug 2024 19:50:35 +0900 Subject: [PATCH] =?UTF-8?q?=F0=9F=97=82=20::=20=ED=94=84=EB=A1=9C=EC=A0=9D?= =?UTF-8?q?=ED=8A=B8=20=EC=84=B8=ED=8C=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .DS_Store | Bin 0 -> 6148 bytes .../10_CMD_iOS.xcodeproj/project.pbxproj | 762 +++++++++ .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../UserInterfaceState.xcuserstate | Bin 0 -> 12960 bytes .../xcschemes/xcschememanagement.plist | 14 + .../contents.xcworkspacedata | 10 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../UserInterfaceState.xcuserstate | Bin 0 -> 25633 bytes 10_CMD_iOS/10_CMD_iOS/AppDelegate.swift | 36 + .../AccentColor.colorset/Contents.json | 11 + .../AppIcon.appiconset/Contents.json | 13 + .../10_CMD_iOS/Assets.xcassets/Contents.json | 6 + .../Base.lproj/LaunchScreen.storyboard | 25 + .../10_CMD_iOS/Base.lproj/Main.storyboard | 24 + 10_CMD_iOS/10_CMD_iOS/Info.plist | 25 + 10_CMD_iOS/10_CMD_iOS/SceneDelegate.swift | 53 + 10_CMD_iOS/10_CMD_iOS/ViewController.swift | 20 + .../10_CMD_iOSTests/_0_CMD_iOSTests.swift | 36 + .../10_CMD_iOSUITests/_0_CMD_iOSUITests.swift | 41 + .../_0_CMD_iOSUITestsLaunchTests.swift | 32 + 10_CMD_iOS/Podfile | 20 + 10_CMD_iOS/Podfile.lock | 20 + 10_CMD_iOS/Pods/Manifest.lock | 20 + .../Pods/Pods.xcodeproj/project.pbxproj | 1421 +++++++++++++++++ ...Pods-10_CMD_iOS-10_CMD_iOSUITests.xcscheme | 58 + .../xcschemes/Pods-10_CMD_iOS.xcscheme | 58 + .../xcschemes/Pods-10_CMD_iOSTests.xcscheme | 58 + .../SnapKit-SnapKit_Privacy.xcscheme | 58 + .../xcschemes/SnapKit.xcscheme | 58 + .../xcschemes/Then.xcscheme | 58 + .../xcschemes/xcschememanagement.plist | 53 + 10_CMD_iOS/Pods/SnapKit/LICENSE | 19 + 10_CMD_iOS/Pods/SnapKit/README.md | 155 ++ .../Pods/SnapKit/Sources/Constraint.swift | 341 ++++ .../Sources/ConstraintAttributes.swift | 203 +++ .../SnapKit/Sources/ConstraintConfig.swift | 37 + .../Sources/ConstraintConstantTarget.swift | 213 +++ .../Pods/SnapKit/Sources/ConstraintDSL.swift | 209 +++ .../Sources/ConstraintDescription.swift | 69 + .../ConstraintDirectionalInsetTarget.swift | 49 + .../Sources/ConstraintDirectionalInsets.swift | 34 + .../Sources/ConstraintInsetTarget.swift | 72 + .../SnapKit/Sources/ConstraintInsets.swift | 35 + .../Pods/SnapKit/Sources/ConstraintItem.swift | 61 + .../ConstraintLayoutGuide+Extensions.swift | 36 + .../Sources/ConstraintLayoutGuide.swift | 37 + .../Sources/ConstraintLayoutGuideDSL.swift | 66 + .../Sources/ConstraintLayoutSupport.swift | 36 + .../Sources/ConstraintLayoutSupportDSL.swift | 56 + .../SnapKit/Sources/ConstraintMaker.swift | 224 +++ .../Sources/ConstraintMakerEditable.swift | 64 + .../Sources/ConstraintMakerExtendable.swift | 195 +++ .../Sources/ConstraintMakerFinalizable.swift | 49 + .../ConstraintMakerPrioritizable.swift | 70 + .../ConstraintMakerRelatable+Extensions.swift | 57 + .../Sources/ConstraintMakerRelatable.swift | 115 ++ .../Sources/ConstraintMultiplierTarget.swift | 75 + .../Sources/ConstraintOffsetTarget.swift | 69 + .../SnapKit/Sources/ConstraintPriority.swift | 77 + .../Sources/ConstraintPriorityTarget.swift | 85 + .../Sources/ConstraintRelatableTarget.swift | 72 + .../SnapKit/Sources/ConstraintRelation.swift | 48 + .../Sources/ConstraintView+Extensions.swift | 152 ++ .../Pods/SnapKit/Sources/ConstraintView.swift | 35 + .../SnapKit/Sources/ConstraintViewDSL.swift | 101 ++ .../Pods/SnapKit/Sources/Debugging.swift | 169 ++ .../SnapKit/Sources/LayoutConstraint.swift | 61 + .../Sources/LayoutConstraintItem.swift | 93 ++ .../SnapKit/Sources/PrivacyInfo.xcprivacy | 14 + .../Pods/SnapKit/Sources/Typealiases.swift | 42 + .../Sources/UILayoutSupport+Extensions.swift | 36 + ...ds-10_CMD_iOS-10_CMD_iOSUITests-Info.plist | 26 + ...0_CMD_iOSUITests-acknowledgements.markdown | 51 + ...S-10_CMD_iOSUITests-acknowledgements.plist | 89 ++ .../Pods-10_CMD_iOS-10_CMD_iOSUITests-dummy.m | 5 + ...ts-frameworks-Debug-input-files.xcfilelist | 3 + ...s-frameworks-Debug-output-files.xcfilelist | 2 + ...-frameworks-Release-input-files.xcfilelist | 3 + ...frameworks-Release-output-files.xcfilelist | 2 + ...10_CMD_iOS-10_CMD_iOSUITests-frameworks.sh | 188 +++ ...ds-10_CMD_iOS-10_CMD_iOSUITests-umbrella.h | 16 + ...0_CMD_iOS-10_CMD_iOSUITests.debug.xcconfig | 15 + ...ods-10_CMD_iOS-10_CMD_iOSUITests.modulemap | 6 + ...CMD_iOS-10_CMD_iOSUITests.release.xcconfig | 15 + .../Pods-10_CMD_iOS-Info.plist | 26 + .../Pods-10_CMD_iOS-acknowledgements.markdown | 51 + .../Pods-10_CMD_iOS-acknowledgements.plist | 89 ++ .../Pods-10_CMD_iOS/Pods-10_CMD_iOS-dummy.m | 5 + ...OS-frameworks-Debug-input-files.xcfilelist | 3 + ...S-frameworks-Debug-output-files.xcfilelist | 2 + ...-frameworks-Release-input-files.xcfilelist | 3 + ...frameworks-Release-output-files.xcfilelist | 2 + .../Pods-10_CMD_iOS-frameworks.sh | 188 +++ .../Pods-10_CMD_iOS-umbrella.h | 16 + .../Pods-10_CMD_iOS.debug.xcconfig | 15 + .../Pods-10_CMD_iOS/Pods-10_CMD_iOS.modulemap | 6 + .../Pods-10_CMD_iOS.release.xcconfig | 15 + .../Pods-10_CMD_iOSTests-Info.plist | 26 + ...-10_CMD_iOSTests-acknowledgements.markdown | 3 + ...ods-10_CMD_iOSTests-acknowledgements.plist | 29 + .../Pods-10_CMD_iOSTests-dummy.m | 5 + .../Pods-10_CMD_iOSTests-umbrella.h | 16 + .../Pods-10_CMD_iOSTests.debug.xcconfig | 12 + .../Pods-10_CMD_iOSTests.modulemap | 6 + .../Pods-10_CMD_iOSTests.release.xcconfig | 12 + ...eBundle-SnapKit_Privacy-SnapKit-Info.plist | 24 + .../SnapKit/SnapKit-Info.plist | 26 + .../SnapKit/SnapKit-dummy.m | 5 + .../SnapKit/SnapKit-prefix.pch | 12 + .../SnapKit/SnapKit-umbrella.h | 16 + .../SnapKit/SnapKit.debug.xcconfig | 15 + .../SnapKit/SnapKit.modulemap | 6 + .../SnapKit/SnapKit.release.xcconfig | 15 + .../Target Support Files/Then/Then-Info.plist | 26 + .../Target Support Files/Then/Then-dummy.m | 5 + .../Target Support Files/Then/Then-prefix.pch | 12 + .../Target Support Files/Then/Then-umbrella.h | 16 + .../Then/Then.debug.xcconfig | 14 + .../Target Support Files/Then/Then.modulemap | 6 + .../Then/Then.release.xcconfig | 14 + 10_CMD_iOS/Pods/Then/LICENSE | 21 + 10_CMD_iOS/Pods/Then/README.md | 124 ++ 10_CMD_iOS/Pods/Then/Sources/Then/Then.swift | 98 ++ 124 files changed, 8050 insertions(+) create mode 100644 .DS_Store create mode 100644 10_CMD_iOS/10_CMD_iOS.xcodeproj/project.pbxproj create mode 100644 10_CMD_iOS/10_CMD_iOS.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 10_CMD_iOS/10_CMD_iOS.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 10_CMD_iOS/10_CMD_iOS.xcodeproj/project.xcworkspace/xcuserdata/sonheechan.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 10_CMD_iOS/10_CMD_iOS.xcodeproj/xcuserdata/sonheechan.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100644 10_CMD_iOS/10_CMD_iOS.xcworkspace/contents.xcworkspacedata create mode 100644 10_CMD_iOS/10_CMD_iOS.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 10_CMD_iOS/10_CMD_iOS.xcworkspace/xcuserdata/sonheechan.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 10_CMD_iOS/10_CMD_iOS/AppDelegate.swift create mode 100644 10_CMD_iOS/10_CMD_iOS/Assets.xcassets/AccentColor.colorset/Contents.json create mode 100644 10_CMD_iOS/10_CMD_iOS/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 10_CMD_iOS/10_CMD_iOS/Assets.xcassets/Contents.json create mode 100644 10_CMD_iOS/10_CMD_iOS/Base.lproj/LaunchScreen.storyboard create mode 100644 10_CMD_iOS/10_CMD_iOS/Base.lproj/Main.storyboard create mode 100644 10_CMD_iOS/10_CMD_iOS/Info.plist create mode 100644 10_CMD_iOS/10_CMD_iOS/SceneDelegate.swift create mode 100644 10_CMD_iOS/10_CMD_iOS/ViewController.swift create mode 100644 10_CMD_iOS/10_CMD_iOSTests/_0_CMD_iOSTests.swift create mode 100644 10_CMD_iOS/10_CMD_iOSUITests/_0_CMD_iOSUITests.swift create mode 100644 10_CMD_iOS/10_CMD_iOSUITests/_0_CMD_iOSUITestsLaunchTests.swift create mode 100644 10_CMD_iOS/Podfile create mode 100644 10_CMD_iOS/Podfile.lock create mode 100644 10_CMD_iOS/Pods/Manifest.lock create mode 100644 10_CMD_iOS/Pods/Pods.xcodeproj/project.pbxproj create mode 100644 10_CMD_iOS/Pods/Pods.xcodeproj/xcuserdata/sonheechan.xcuserdatad/xcschemes/Pods-10_CMD_iOS-10_CMD_iOSUITests.xcscheme create mode 100644 10_CMD_iOS/Pods/Pods.xcodeproj/xcuserdata/sonheechan.xcuserdatad/xcschemes/Pods-10_CMD_iOS.xcscheme create mode 100644 10_CMD_iOS/Pods/Pods.xcodeproj/xcuserdata/sonheechan.xcuserdatad/xcschemes/Pods-10_CMD_iOSTests.xcscheme create mode 100644 10_CMD_iOS/Pods/Pods.xcodeproj/xcuserdata/sonheechan.xcuserdatad/xcschemes/SnapKit-SnapKit_Privacy.xcscheme create mode 100644 10_CMD_iOS/Pods/Pods.xcodeproj/xcuserdata/sonheechan.xcuserdatad/xcschemes/SnapKit.xcscheme create mode 100644 10_CMD_iOS/Pods/Pods.xcodeproj/xcuserdata/sonheechan.xcuserdatad/xcschemes/Then.xcscheme create mode 100644 10_CMD_iOS/Pods/Pods.xcodeproj/xcuserdata/sonheechan.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100644 10_CMD_iOS/Pods/SnapKit/LICENSE create mode 100644 10_CMD_iOS/Pods/SnapKit/README.md create mode 100644 10_CMD_iOS/Pods/SnapKit/Sources/Constraint.swift create mode 100644 10_CMD_iOS/Pods/SnapKit/Sources/ConstraintAttributes.swift create mode 100644 10_CMD_iOS/Pods/SnapKit/Sources/ConstraintConfig.swift create mode 100644 10_CMD_iOS/Pods/SnapKit/Sources/ConstraintConstantTarget.swift create mode 100644 10_CMD_iOS/Pods/SnapKit/Sources/ConstraintDSL.swift create mode 100644 10_CMD_iOS/Pods/SnapKit/Sources/ConstraintDescription.swift create mode 100644 10_CMD_iOS/Pods/SnapKit/Sources/ConstraintDirectionalInsetTarget.swift create mode 100644 10_CMD_iOS/Pods/SnapKit/Sources/ConstraintDirectionalInsets.swift create mode 100644 10_CMD_iOS/Pods/SnapKit/Sources/ConstraintInsetTarget.swift create mode 100644 10_CMD_iOS/Pods/SnapKit/Sources/ConstraintInsets.swift create mode 100644 10_CMD_iOS/Pods/SnapKit/Sources/ConstraintItem.swift create mode 100644 10_CMD_iOS/Pods/SnapKit/Sources/ConstraintLayoutGuide+Extensions.swift create mode 100644 10_CMD_iOS/Pods/SnapKit/Sources/ConstraintLayoutGuide.swift create mode 100644 10_CMD_iOS/Pods/SnapKit/Sources/ConstraintLayoutGuideDSL.swift create mode 100644 10_CMD_iOS/Pods/SnapKit/Sources/ConstraintLayoutSupport.swift create mode 100644 10_CMD_iOS/Pods/SnapKit/Sources/ConstraintLayoutSupportDSL.swift create mode 100644 10_CMD_iOS/Pods/SnapKit/Sources/ConstraintMaker.swift create mode 100644 10_CMD_iOS/Pods/SnapKit/Sources/ConstraintMakerEditable.swift create mode 100644 10_CMD_iOS/Pods/SnapKit/Sources/ConstraintMakerExtendable.swift create mode 100644 10_CMD_iOS/Pods/SnapKit/Sources/ConstraintMakerFinalizable.swift create mode 100644 10_CMD_iOS/Pods/SnapKit/Sources/ConstraintMakerPrioritizable.swift create mode 100644 10_CMD_iOS/Pods/SnapKit/Sources/ConstraintMakerRelatable+Extensions.swift create mode 100644 10_CMD_iOS/Pods/SnapKit/Sources/ConstraintMakerRelatable.swift create mode 100644 10_CMD_iOS/Pods/SnapKit/Sources/ConstraintMultiplierTarget.swift create mode 100644 10_CMD_iOS/Pods/SnapKit/Sources/ConstraintOffsetTarget.swift create mode 100644 10_CMD_iOS/Pods/SnapKit/Sources/ConstraintPriority.swift create mode 100644 10_CMD_iOS/Pods/SnapKit/Sources/ConstraintPriorityTarget.swift create mode 100644 10_CMD_iOS/Pods/SnapKit/Sources/ConstraintRelatableTarget.swift create mode 100644 10_CMD_iOS/Pods/SnapKit/Sources/ConstraintRelation.swift create mode 100644 10_CMD_iOS/Pods/SnapKit/Sources/ConstraintView+Extensions.swift create mode 100644 10_CMD_iOS/Pods/SnapKit/Sources/ConstraintView.swift create mode 100644 10_CMD_iOS/Pods/SnapKit/Sources/ConstraintViewDSL.swift create mode 100644 10_CMD_iOS/Pods/SnapKit/Sources/Debugging.swift create mode 100644 10_CMD_iOS/Pods/SnapKit/Sources/LayoutConstraint.swift create mode 100644 10_CMD_iOS/Pods/SnapKit/Sources/LayoutConstraintItem.swift create mode 100644 10_CMD_iOS/Pods/SnapKit/Sources/PrivacyInfo.xcprivacy create mode 100644 10_CMD_iOS/Pods/SnapKit/Sources/Typealiases.swift create mode 100644 10_CMD_iOS/Pods/SnapKit/Sources/UILayoutSupport+Extensions.swift create mode 100644 10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS-10_CMD_iOSUITests/Pods-10_CMD_iOS-10_CMD_iOSUITests-Info.plist create mode 100644 10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS-10_CMD_iOSUITests/Pods-10_CMD_iOS-10_CMD_iOSUITests-acknowledgements.markdown create mode 100644 10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS-10_CMD_iOSUITests/Pods-10_CMD_iOS-10_CMD_iOSUITests-acknowledgements.plist create mode 100644 10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS-10_CMD_iOSUITests/Pods-10_CMD_iOS-10_CMD_iOSUITests-dummy.m create mode 100644 10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS-10_CMD_iOSUITests/Pods-10_CMD_iOS-10_CMD_iOSUITests-frameworks-Debug-input-files.xcfilelist create mode 100644 10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS-10_CMD_iOSUITests/Pods-10_CMD_iOS-10_CMD_iOSUITests-frameworks-Debug-output-files.xcfilelist create mode 100644 10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS-10_CMD_iOSUITests/Pods-10_CMD_iOS-10_CMD_iOSUITests-frameworks-Release-input-files.xcfilelist create mode 100644 10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS-10_CMD_iOSUITests/Pods-10_CMD_iOS-10_CMD_iOSUITests-frameworks-Release-output-files.xcfilelist create mode 100755 10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS-10_CMD_iOSUITests/Pods-10_CMD_iOS-10_CMD_iOSUITests-frameworks.sh create mode 100644 10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS-10_CMD_iOSUITests/Pods-10_CMD_iOS-10_CMD_iOSUITests-umbrella.h create mode 100644 10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS-10_CMD_iOSUITests/Pods-10_CMD_iOS-10_CMD_iOSUITests.debug.xcconfig create mode 100644 10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS-10_CMD_iOSUITests/Pods-10_CMD_iOS-10_CMD_iOSUITests.modulemap create mode 100644 10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS-10_CMD_iOSUITests/Pods-10_CMD_iOS-10_CMD_iOSUITests.release.xcconfig create mode 100644 10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS/Pods-10_CMD_iOS-Info.plist create mode 100644 10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS/Pods-10_CMD_iOS-acknowledgements.markdown create mode 100644 10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS/Pods-10_CMD_iOS-acknowledgements.plist create mode 100644 10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS/Pods-10_CMD_iOS-dummy.m create mode 100644 10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS/Pods-10_CMD_iOS-frameworks-Debug-input-files.xcfilelist create mode 100644 10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS/Pods-10_CMD_iOS-frameworks-Debug-output-files.xcfilelist create mode 100644 10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS/Pods-10_CMD_iOS-frameworks-Release-input-files.xcfilelist create mode 100644 10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS/Pods-10_CMD_iOS-frameworks-Release-output-files.xcfilelist create mode 100755 10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS/Pods-10_CMD_iOS-frameworks.sh create mode 100644 10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS/Pods-10_CMD_iOS-umbrella.h create mode 100644 10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS/Pods-10_CMD_iOS.debug.xcconfig create mode 100644 10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS/Pods-10_CMD_iOS.modulemap create mode 100644 10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS/Pods-10_CMD_iOS.release.xcconfig create mode 100644 10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOSTests/Pods-10_CMD_iOSTests-Info.plist create mode 100644 10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOSTests/Pods-10_CMD_iOSTests-acknowledgements.markdown create mode 100644 10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOSTests/Pods-10_CMD_iOSTests-acknowledgements.plist create mode 100644 10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOSTests/Pods-10_CMD_iOSTests-dummy.m create mode 100644 10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOSTests/Pods-10_CMD_iOSTests-umbrella.h create mode 100644 10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOSTests/Pods-10_CMD_iOSTests.debug.xcconfig create mode 100644 10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOSTests/Pods-10_CMD_iOSTests.modulemap create mode 100644 10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOSTests/Pods-10_CMD_iOSTests.release.xcconfig create mode 100644 10_CMD_iOS/Pods/Target Support Files/SnapKit/ResourceBundle-SnapKit_Privacy-SnapKit-Info.plist create mode 100644 10_CMD_iOS/Pods/Target Support Files/SnapKit/SnapKit-Info.plist create mode 100644 10_CMD_iOS/Pods/Target Support Files/SnapKit/SnapKit-dummy.m create mode 100644 10_CMD_iOS/Pods/Target Support Files/SnapKit/SnapKit-prefix.pch create mode 100644 10_CMD_iOS/Pods/Target Support Files/SnapKit/SnapKit-umbrella.h create mode 100644 10_CMD_iOS/Pods/Target Support Files/SnapKit/SnapKit.debug.xcconfig create mode 100644 10_CMD_iOS/Pods/Target Support Files/SnapKit/SnapKit.modulemap create mode 100644 10_CMD_iOS/Pods/Target Support Files/SnapKit/SnapKit.release.xcconfig create mode 100644 10_CMD_iOS/Pods/Target Support Files/Then/Then-Info.plist create mode 100644 10_CMD_iOS/Pods/Target Support Files/Then/Then-dummy.m create mode 100644 10_CMD_iOS/Pods/Target Support Files/Then/Then-prefix.pch create mode 100644 10_CMD_iOS/Pods/Target Support Files/Then/Then-umbrella.h create mode 100644 10_CMD_iOS/Pods/Target Support Files/Then/Then.debug.xcconfig create mode 100644 10_CMD_iOS/Pods/Target Support Files/Then/Then.modulemap create mode 100644 10_CMD_iOS/Pods/Target Support Files/Then/Then.release.xcconfig create mode 100644 10_CMD_iOS/Pods/Then/LICENSE create mode 100644 10_CMD_iOS/Pods/Then/README.md create mode 100644 10_CMD_iOS/Pods/Then/Sources/Then/Then.swift diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..b52d9ae5cc243bb23d3ee24edf86bd859bceed0e GIT binary patch literal 6148 zcmeHKOG?B*5PhYy7H4JeAl+R6WcjpS05bqns-mbdB04?l+Kb?QqF9X!)VRhyF42w@`ioP#_CqXi!gZfv zYyIb4f4l1X75z%iDRus8LhGBH=k{^a^_x5T$p;Q_g@&0m>o%C<0qajyUl_Grm5(XO zKr)aFBm>F74>O==6lHqkm}4@K3?u^|4Cww)sESqK;AmS12WtU{6Hc4Z*6Xt7l)x%* zaHNMKo=Wsoi55dVo%1E)s=&d~(;?A(NWA&Ic@cX%>lX`$RE{|&1IfTH1KRsiW_tcN z{AEU)d<)4T8At~HD+4mA+j_~bi?j91cj{SNs5ev /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; + DBA94C88C6269E5CC0512177 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-10_CMD_iOS-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; + EAC084715CAD17C9605F4682 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-10_CMD_iOSTests-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 35A553382C6A1F93006F251F /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 35A553442C6A1F93006F251F /* ViewController.swift in Sources */, + 35A553402C6A1F93006F251F /* AppDelegate.swift in Sources */, + 35A553422C6A1F93006F251F /* SceneDelegate.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 35A5534E2C6A1F95006F251F /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 35A553572C6A1F95006F251F /* _0_CMD_iOSTests.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 35A553582C6A1F95006F251F /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 35A553632C6A1F95006F251F /* _0_CMD_iOSUITestsLaunchTests.swift in Sources */, + 35A553612C6A1F95006F251F /* _0_CMD_iOSUITests.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 35A553542C6A1F95006F251F /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 35A5533B2C6A1F93006F251F /* 10_CMD_iOS */; + targetProxy = 35A553532C6A1F95006F251F /* PBXContainerItemProxy */; + }; + 35A5535E2C6A1F95006F251F /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 35A5533B2C6A1F93006F251F /* 10_CMD_iOS */; + targetProxy = 35A5535D2C6A1F95006F251F /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin PBXVariantGroup section */ + 35A553452C6A1F93006F251F /* Main.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 35A553462C6A1F93006F251F /* Base */, + ); + name = Main.storyboard; + sourceTree = ""; + }; + 35A5534A2C6A1F95006F251F /* LaunchScreen.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 35A5534B2C6A1F95006F251F /* Base */, + ); + name = LaunchScreen.storyboard; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 35A553642C6A1F95006F251F /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + ENABLE_USER_SCRIPT_SANDBOXING = YES; + GCC_C_LANGUAGE_STANDARD = gnu17; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 17.5; + LOCALIZATION_PREFERS_STRING_CATALOGS = YES; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)"; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + }; + name = Debug; + }; + 35A553652C6A1F95006F251F /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = YES; + GCC_C_LANGUAGE_STANDARD = gnu17; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 17.5; + LOCALIZATION_PREFERS_STRING_CATALOGS = YES; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + SDKROOT = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 35A553672C6A1F95006F251F /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 8E112FFA00B1E31575B11711 /* Pods-10_CMD_iOS.debug.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_FILE = 10_CMD_iOS/Info.plist; + INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; + INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen; + INFOPLIST_KEY_UIMainStoryboardFile = Main; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = "com.-0-CMD-iOS"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 35A553682C6A1F95006F251F /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 16E6E14D250C595456F6BF47 /* Pods-10_CMD_iOS.release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_FILE = 10_CMD_iOS/Info.plist; + INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; + INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen; + INFOPLIST_KEY_UIMainStoryboardFile = Main; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = "com.-0-CMD-iOS"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Release; + }; + 35A5536A2C6A1F95006F251F /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 803FD702411BB3C5FB0DA9FD /* Pods-10_CMD_iOSTests.debug.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 17.5; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = "com.-0-CMD-iOSTests"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_EMIT_LOC_STRINGS = NO; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/10_CMD_iOS.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/10_CMD_iOS"; + }; + name = Debug; + }; + 35A5536B2C6A1F95006F251F /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = EC36CCE91285973D99F9EF85 /* Pods-10_CMD_iOSTests.release.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 17.5; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = "com.-0-CMD-iOSTests"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_EMIT_LOC_STRINGS = NO; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/10_CMD_iOS.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/10_CMD_iOS"; + }; + name = Release; + }; + 35A5536D2C6A1F95006F251F /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = CF67AC24EB9A94C34E4F94CD /* Pods-10_CMD_iOS-10_CMD_iOSUITests.debug.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = "com.-0-CMD-iOSUITests"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_EMIT_LOC_STRINGS = NO; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_TARGET_NAME = 10_CMD_iOS; + }; + name = Debug; + }; + 35A5536E2C6A1F95006F251F /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 99F7BA657FD1E4B7F190727D /* Pods-10_CMD_iOS-10_CMD_iOSUITests.release.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = "com.-0-CMD-iOSUITests"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_EMIT_LOC_STRINGS = NO; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_TARGET_NAME = 10_CMD_iOS; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 35A553372C6A1F93006F251F /* Build configuration list for PBXProject "10_CMD_iOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 35A553642C6A1F95006F251F /* Debug */, + 35A553652C6A1F95006F251F /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 35A553662C6A1F95006F251F /* Build configuration list for PBXNativeTarget "10_CMD_iOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 35A553672C6A1F95006F251F /* Debug */, + 35A553682C6A1F95006F251F /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 35A553692C6A1F95006F251F /* Build configuration list for PBXNativeTarget "10_CMD_iOSTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 35A5536A2C6A1F95006F251F /* Debug */, + 35A5536B2C6A1F95006F251F /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 35A5536C2C6A1F95006F251F /* Build configuration list for PBXNativeTarget "10_CMD_iOSUITests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 35A5536D2C6A1F95006F251F /* Debug */, + 35A5536E2C6A1F95006F251F /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 35A553342C6A1F93006F251F /* Project object */; +} diff --git a/10_CMD_iOS/10_CMD_iOS.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/10_CMD_iOS/10_CMD_iOS.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..919434a --- /dev/null +++ b/10_CMD_iOS/10_CMD_iOS.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/10_CMD_iOS/10_CMD_iOS.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/10_CMD_iOS/10_CMD_iOS.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/10_CMD_iOS/10_CMD_iOS.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/10_CMD_iOS/10_CMD_iOS.xcodeproj/project.xcworkspace/xcuserdata/sonheechan.xcuserdatad/UserInterfaceState.xcuserstate b/10_CMD_iOS/10_CMD_iOS.xcodeproj/project.xcworkspace/xcuserdata/sonheechan.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..46098b70e3f0c3a6caaffa9dcc075d097bf6958d GIT binary patch literal 12960 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 X?n_$~tU)3|gunDB;cw`7+LHeQ*BgJf literal 0 HcmV?d00001 diff --git a/10_CMD_iOS/10_CMD_iOS.xcodeproj/xcuserdata/sonheechan.xcuserdatad/xcschemes/xcschememanagement.plist b/10_CMD_iOS/10_CMD_iOS.xcodeproj/xcuserdata/sonheechan.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..08dc1f8 --- /dev/null +++ b/10_CMD_iOS/10_CMD_iOS.xcodeproj/xcuserdata/sonheechan.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,14 @@ + + + + + SchemeUserState + + 10_CMD_iOS.xcscheme_^#shared#^_ + + orderHint + 6 + + + + diff --git a/10_CMD_iOS/10_CMD_iOS.xcworkspace/contents.xcworkspacedata b/10_CMD_iOS/10_CMD_iOS.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..5512927 --- /dev/null +++ b/10_CMD_iOS/10_CMD_iOS.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,10 @@ + + + + + + + diff --git a/10_CMD_iOS/10_CMD_iOS.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/10_CMD_iOS/10_CMD_iOS.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/10_CMD_iOS/10_CMD_iOS.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/10_CMD_iOS/10_CMD_iOS.xcworkspace/xcuserdata/sonheechan.xcuserdatad/UserInterfaceState.xcuserstate b/10_CMD_iOS/10_CMD_iOS.xcworkspace/xcuserdata/sonheechan.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..ba7fcb2c615d16a27282084b6d10b30612eb4e66 GIT binary patch literal 25633 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 buW7Ssn`wt>pJYH%l=STuDt){Dnx6kZGiobd literal 0 HcmV?d00001 diff --git a/10_CMD_iOS/10_CMD_iOS/AppDelegate.swift b/10_CMD_iOS/10_CMD_iOS/AppDelegate.swift new file mode 100644 index 0000000..81905b2 --- /dev/null +++ b/10_CMD_iOS/10_CMD_iOS/AppDelegate.swift @@ -0,0 +1,36 @@ +// +// AppDelegate.swift +// 10_CMD_iOS +// +// Created by 손희찬 on 8/12/24. +// + +import UIKit + +@main +class AppDelegate: UIResponder, UIApplicationDelegate { + + + + func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { + // Override point for customization after application launch. + return true + } + + // MARK: UISceneSession Lifecycle + + func application(_ application: UIApplication, configurationForConnecting connectingSceneSession: UISceneSession, options: UIScene.ConnectionOptions) -> UISceneConfiguration { + // Called when a new scene session is being created. + // Use this method to select a configuration to create the new scene with. + return UISceneConfiguration(name: "Default Configuration", sessionRole: connectingSceneSession.role) + } + + func application(_ application: UIApplication, didDiscardSceneSessions sceneSessions: Set) { + // Called when the user discards a scene session. + // If any sessions were discarded while the application was not running, this will be called shortly after application:didFinishLaunchingWithOptions. + // Use this method to release any resources that were specific to the discarded scenes, as they will not return. + } + + +} + diff --git a/10_CMD_iOS/10_CMD_iOS/Assets.xcassets/AccentColor.colorset/Contents.json b/10_CMD_iOS/10_CMD_iOS/Assets.xcassets/AccentColor.colorset/Contents.json new file mode 100644 index 0000000..eb87897 --- /dev/null +++ b/10_CMD_iOS/10_CMD_iOS/Assets.xcassets/AccentColor.colorset/Contents.json @@ -0,0 +1,11 @@ +{ + "colors" : [ + { + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/10_CMD_iOS/10_CMD_iOS/Assets.xcassets/AppIcon.appiconset/Contents.json b/10_CMD_iOS/10_CMD_iOS/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000..13613e3 --- /dev/null +++ b/10_CMD_iOS/10_CMD_iOS/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,13 @@ +{ + "images" : [ + { + "idiom" : "universal", + "platform" : "ios", + "size" : "1024x1024" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/10_CMD_iOS/10_CMD_iOS/Assets.xcassets/Contents.json b/10_CMD_iOS/10_CMD_iOS/Assets.xcassets/Contents.json new file mode 100644 index 0000000..73c0059 --- /dev/null +++ b/10_CMD_iOS/10_CMD_iOS/Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/10_CMD_iOS/10_CMD_iOS/Base.lproj/LaunchScreen.storyboard b/10_CMD_iOS/10_CMD_iOS/Base.lproj/LaunchScreen.storyboard new file mode 100644 index 0000000..865e932 --- /dev/null +++ b/10_CMD_iOS/10_CMD_iOS/Base.lproj/LaunchScreen.storyboard @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/10_CMD_iOS/10_CMD_iOS/Base.lproj/Main.storyboard b/10_CMD_iOS/10_CMD_iOS/Base.lproj/Main.storyboard new file mode 100644 index 0000000..25a7638 --- /dev/null +++ b/10_CMD_iOS/10_CMD_iOS/Base.lproj/Main.storyboard @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/10_CMD_iOS/10_CMD_iOS/Info.plist b/10_CMD_iOS/10_CMD_iOS/Info.plist new file mode 100644 index 0000000..dd3c9af --- /dev/null +++ b/10_CMD_iOS/10_CMD_iOS/Info.plist @@ -0,0 +1,25 @@ + + + + + UIApplicationSceneManifest + + UIApplicationSupportsMultipleScenes + + UISceneConfigurations + + UIWindowSceneSessionRoleApplication + + + UISceneConfigurationName + Default Configuration + UISceneDelegateClassName + $(PRODUCT_MODULE_NAME).SceneDelegate + UISceneStoryboardFile + Main + + + + + + diff --git a/10_CMD_iOS/10_CMD_iOS/SceneDelegate.swift b/10_CMD_iOS/10_CMD_iOS/SceneDelegate.swift new file mode 100644 index 0000000..3a79e76 --- /dev/null +++ b/10_CMD_iOS/10_CMD_iOS/SceneDelegate.swift @@ -0,0 +1,53 @@ +// +// SceneDelegate.swift +// 10_CMD_iOS +// +// Created by 손희찬 on 8/12/24. +// + +import UIKit + +class SceneDelegate: UIResponder, UIWindowSceneDelegate { + + var window: UIWindow? + + + func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) { + guard let scene = (scene as? UIWindowScene) else { return } + window = UIWindow(windowScene: scene) + let viewController = ViewController() + window?.rootViewController = viewController + window?.makeKeyAndVisible() + } + + func sceneDidDisconnect(_ scene: UIScene) { + // Called as the scene is being released by the system. + // This occurs shortly after the scene enters the background, or when its session is discarded. + // Release any resources associated with this scene that can be re-created the next time the scene connects. + // The scene may re-connect later, as its session was not necessarily discarded (see `application:didDiscardSceneSessions` instead). + } + + func sceneDidBecomeActive(_ scene: UIScene) { + // Called when the scene has moved from an inactive state to an active state. + // Use this method to restart any tasks that were paused (or not yet started) when the scene was inactive. + } + + func sceneWillResignActive(_ scene: UIScene) { + // Called when the scene will move from an active state to an inactive state. + // This may occur due to temporary interruptions (ex. an incoming phone call). + } + + func sceneWillEnterForeground(_ scene: UIScene) { + // Called as the scene transitions from the background to the foreground. + // Use this method to undo the changes made on entering the background. + } + + func sceneDidEnterBackground(_ scene: UIScene) { + // Called as the scene transitions from the foreground to the background. + // Use this method to save data, release shared resources, and store enough scene-specific state information + // to restore the scene back to its current state. + } + + +} + diff --git a/10_CMD_iOS/10_CMD_iOS/ViewController.swift b/10_CMD_iOS/10_CMD_iOS/ViewController.swift new file mode 100644 index 0000000..48bb1d0 --- /dev/null +++ b/10_CMD_iOS/10_CMD_iOS/ViewController.swift @@ -0,0 +1,20 @@ +// +// ViewController.swift +// 10_CMD_iOS +// +// Created by 손희찬 on 8/12/24. +// + +import UIKit + +class ViewController: UIViewController { + + override func viewDidLoad() { + super.viewDidLoad() + // Do any additional setup after loading the view. + view.backgroundColor = .red + } + + +} + diff --git a/10_CMD_iOS/10_CMD_iOSTests/_0_CMD_iOSTests.swift b/10_CMD_iOS/10_CMD_iOSTests/_0_CMD_iOSTests.swift new file mode 100644 index 0000000..3f3b963 --- /dev/null +++ b/10_CMD_iOS/10_CMD_iOSTests/_0_CMD_iOSTests.swift @@ -0,0 +1,36 @@ +// +// _0_CMD_iOSTests.swift +// 10_CMD_iOSTests +// +// Created by 손희찬 on 8/12/24. +// + +import XCTest +@testable import _0_CMD_iOS + +final class _0_CMD_iOSTests: XCTestCase { + + override func setUpWithError() throws { + // Put setup code here. This method is called before the invocation of each test method in the class. + } + + override func tearDownWithError() throws { + // Put teardown code here. This method is called after the invocation of each test method in the class. + } + + func testExample() throws { + // This is an example of a functional test case. + // Use XCTAssert and related functions to verify your tests produce the correct results. + // Any test you write for XCTest can be annotated as throws and async. + // Mark your test throws to produce an unexpected failure when your test encounters an uncaught error. + // Mark your test async to allow awaiting for asynchronous code to complete. Check the results with assertions afterwards. + } + + func testPerformanceExample() throws { + // This is an example of a performance test case. + self.measure { + // Put the code you want to measure the time of here. + } + } + +} diff --git a/10_CMD_iOS/10_CMD_iOSUITests/_0_CMD_iOSUITests.swift b/10_CMD_iOS/10_CMD_iOSUITests/_0_CMD_iOSUITests.swift new file mode 100644 index 0000000..86fb55e --- /dev/null +++ b/10_CMD_iOS/10_CMD_iOSUITests/_0_CMD_iOSUITests.swift @@ -0,0 +1,41 @@ +// +// _0_CMD_iOSUITests.swift +// 10_CMD_iOSUITests +// +// Created by 손희찬 on 8/12/24. +// + +import XCTest + +final class _0_CMD_iOSUITests: XCTestCase { + + override func setUpWithError() throws { + // Put setup code here. This method is called before the invocation of each test method in the class. + + // In UI tests it is usually best to stop immediately when a failure occurs. + continueAfterFailure = false + + // In UI tests it’s important to set the initial state - such as interface orientation - required for your tests before they run. The setUp method is a good place to do this. + } + + override func tearDownWithError() throws { + // Put teardown code here. This method is called after the invocation of each test method in the class. + } + + func testExample() throws { + // UI tests must launch the application that they test. + let app = XCUIApplication() + app.launch() + + // Use XCTAssert and related functions to verify your tests produce the correct results. + } + + func testLaunchPerformance() throws { + if #available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 7.0, *) { + // This measures how long it takes to launch your application. + measure(metrics: [XCTApplicationLaunchMetric()]) { + XCUIApplication().launch() + } + } + } +} diff --git a/10_CMD_iOS/10_CMD_iOSUITests/_0_CMD_iOSUITestsLaunchTests.swift b/10_CMD_iOS/10_CMD_iOSUITests/_0_CMD_iOSUITestsLaunchTests.swift new file mode 100644 index 0000000..1d6ce78 --- /dev/null +++ b/10_CMD_iOS/10_CMD_iOSUITests/_0_CMD_iOSUITestsLaunchTests.swift @@ -0,0 +1,32 @@ +// +// _0_CMD_iOSUITestsLaunchTests.swift +// 10_CMD_iOSUITests +// +// Created by 손희찬 on 8/12/24. +// + +import XCTest + +final class _0_CMD_iOSUITestsLaunchTests: XCTestCase { + + override class var runsForEachTargetApplicationUIConfiguration: Bool { + true + } + + override func setUpWithError() throws { + continueAfterFailure = false + } + + func testLaunch() throws { + let app = XCUIApplication() + app.launch() + + // Insert steps here to perform after app launch but before taking a screenshot, + // such as logging into a test account or navigating somewhere in the app + + let attachment = XCTAttachment(screenshot: app.screenshot()) + attachment.name = "Launch Screen" + attachment.lifetime = .keepAlways + add(attachment) + } +} diff --git a/10_CMD_iOS/Podfile b/10_CMD_iOS/Podfile new file mode 100644 index 0000000..287157f --- /dev/null +++ b/10_CMD_iOS/Podfile @@ -0,0 +1,20 @@ +# Uncomment the next line to define a global platform for your project +# platform :ios, '9.0' + +target '10_CMD_iOS' do + # Comment the next line if you don't want to use dynamic frameworks + use_frameworks! + + # Pods for 10_CMD_iOS + + target '10_CMD_iOSTests' do + inherit! :search_paths + # Pods for testing + end + + target '10_CMD_iOSUITests' do + # Pods for testing + end + pod 'SnapKit' + pod 'Then' +end diff --git a/10_CMD_iOS/Podfile.lock b/10_CMD_iOS/Podfile.lock new file mode 100644 index 0000000..686971d --- /dev/null +++ b/10_CMD_iOS/Podfile.lock @@ -0,0 +1,20 @@ +PODS: + - SnapKit (5.7.1) + - Then (3.0.0) + +DEPENDENCIES: + - SnapKit + - Then + +SPEC REPOS: + trunk: + - SnapKit + - Then + +SPEC CHECKSUMS: + SnapKit: d612e99e678a2d3b95bf60b0705ed0a35c03484a + Then: 844265ae87834bbe1147d91d5d41a404da2ec27d + +PODFILE CHECKSUM: 6d037645cf54b801ef79e451bb935bb1168c6ff5 + +COCOAPODS: 1.15.2 diff --git a/10_CMD_iOS/Pods/Manifest.lock b/10_CMD_iOS/Pods/Manifest.lock new file mode 100644 index 0000000..686971d --- /dev/null +++ b/10_CMD_iOS/Pods/Manifest.lock @@ -0,0 +1,20 @@ +PODS: + - SnapKit (5.7.1) + - Then (3.0.0) + +DEPENDENCIES: + - SnapKit + - Then + +SPEC REPOS: + trunk: + - SnapKit + - Then + +SPEC CHECKSUMS: + SnapKit: d612e99e678a2d3b95bf60b0705ed0a35c03484a + Then: 844265ae87834bbe1147d91d5d41a404da2ec27d + +PODFILE CHECKSUM: 6d037645cf54b801ef79e451bb935bb1168c6ff5 + +COCOAPODS: 1.15.2 diff --git a/10_CMD_iOS/Pods/Pods.xcodeproj/project.pbxproj b/10_CMD_iOS/Pods/Pods.xcodeproj/project.pbxproj new file mode 100644 index 0000000..482ba44 --- /dev/null +++ b/10_CMD_iOS/Pods/Pods.xcodeproj/project.pbxproj @@ -0,0 +1,1421 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 56; + objects = { + +/* Begin PBXBuildFile section */ + 0A5C290276F7453D9471E25BEA655842 /* ConstraintLayoutGuide.swift in Sources */ = {isa = PBXBuildFile; fileRef = D4AE5FC96C401B1693EDC2EBAC539B05 /* ConstraintLayoutGuide.swift */; }; + 0AD7A0DA8FF5880E3D8599062129AB12 /* ConstraintMakerEditable.swift in Sources */ = {isa = PBXBuildFile; fileRef = D864EB00E1070BEBAC0428EF1596C35B /* ConstraintMakerEditable.swift */; }; + 0D665B6767B345D8C70D7E029A2A48D8 /* ConstraintViewDSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = 973C21126047F7A4663946CAF7550BE1 /* ConstraintViewDSL.swift */; }; + 0DA9A9D2F8960818017E26DA480FA143 /* ConstraintLayoutGuideDSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B1693A3EE7178B00C6A7538C2F0D3DB /* ConstraintLayoutGuideDSL.swift */; }; + 13CC0CFB1C56F23BBC872801F983C1A3 /* ConstraintLayoutSupport.swift in Sources */ = {isa = PBXBuildFile; fileRef = D216CEA7CB8FBECDECB8402387335F64 /* ConstraintLayoutSupport.swift */; }; + 15F68E09ADCDB843B938C490059485BD /* ConstraintMakerRelatable+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 24D107DDE8F33D5EF4CDA872B4E68496 /* ConstraintMakerRelatable+Extensions.swift */; }; + 16CCFC468B47585F08BAE1C673A6CEC5 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 73010CC983E3809BECEE5348DA1BB8C6 /* Foundation.framework */; }; + 1E7E37C51375285EA22294CD2ADB3159 /* Debugging.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB1E8729E4FD8E533E5F38EF08970E20 /* Debugging.swift */; }; + 25833505198247462B2EBFA80F6C6413 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 6E0DDCE78DEBB1B3721C91ADDD71DADD /* PrivacyInfo.xcprivacy */; }; + 3091F1A82E0FD6ABA766EBC91D4E5DE6 /* Then.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7F3ACF81F010A4744636752AAD18EC3C /* Then.swift */; }; + 362B274D78BC048331FC6620B2FC61BF /* Pods-10_CMD_iOS-10_CMD_iOSUITests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 8DBEEF6D097F79E5D69F2D7070FFCD58 /* Pods-10_CMD_iOS-10_CMD_iOSUITests-dummy.m */; }; + 3DAFEDCDC5094007E329D71FE84FF704 /* SnapKit-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = C9F850BEE48914C83BAB016158B1703F /* SnapKit-dummy.m */; }; + 50E4E24710A4C5A77BE6594A10DFE773 /* ConstraintMultiplierTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 560380AA712F14F921CFB92D0B020882 /* ConstraintMultiplierTarget.swift */; }; + 56CD198002D3D45274F6719725B983CF /* ConstraintOffsetTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9232DEC229A0ED521958552ECE6D9B4D /* ConstraintOffsetTarget.swift */; }; + 5E3BF2B719B3A034C173D16B3ABF682E /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 73010CC983E3809BECEE5348DA1BB8C6 /* Foundation.framework */; }; + 63DAC47EB1099D62D3D8522EBD4A0901 /* Pods-10_CMD_iOSTests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 09228858A157669923420E038D8FA4AF /* Pods-10_CMD_iOSTests-dummy.m */; }; + 6431218578A566C5EBF5FD166F164059 /* ConstraintMakerExtendable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 28A167A838FB6FE0FBD452DD99562251 /* ConstraintMakerExtendable.swift */; }; + 6D389E4D5F97798BE1AEEB8C317852D7 /* SnapKit-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 5D60FEF3BB7D088A8083F22E55C2A2B6 /* SnapKit-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 6E2884B29CD49EE91C48C725105F295A /* LayoutConstraint.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60E5D9F8341CE35CD82FD8C2A368379B /* LayoutConstraint.swift */; }; + 7052944C657F270E47777446D0E10E1C /* ConstraintInsetTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = C00A5DA2389F058CBD07005C1951E49C /* ConstraintInsetTarget.swift */; }; + 73F8AC99A58E5837924C056E89543B97 /* Typealiases.swift in Sources */ = {isa = PBXBuildFile; fileRef = 98284F82B733669C766FE15A1CD5ECD8 /* Typealiases.swift */; }; + 7591AEFD834B25A18B5CE2C01DA24C7F /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 73010CC983E3809BECEE5348DA1BB8C6 /* Foundation.framework */; }; + 77D782DE125D322922466676E2FFA289 /* ConstraintPriorityTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD02E622407FD45C5ECC0EDADEE156E2 /* ConstraintPriorityTarget.swift */; }; + 8640829049AE9907FE93825E5510C33D /* ConstraintMaker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 344A9AACE4ADB5373AB558604F502C30 /* ConstraintMaker.swift */; }; + 87996D11DC92EE19EAF9305DAEA4ACF2 /* ConstraintMakerPrioritizable.swift in Sources */ = {isa = PBXBuildFile; fileRef = FD3AEC1927DFEED9D2FC00419DAB3896 /* ConstraintMakerPrioritizable.swift */; }; + 8868BA37E3CE7C58D26123806D543F3F /* ConstraintView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9B93B11D51183B45B5D153D537CC1CE9 /* ConstraintView.swift */; }; + 891D1BF14C8881C74262EE9DBE5D67A9 /* UILayoutSupport+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74427459B05D3D8D63E29A2CC77E1A22 /* UILayoutSupport+Extensions.swift */; }; + 906EF891E58A035281766993F82373E3 /* ConstraintItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = FED2C1C6116EF713F683890DD9D418C8 /* ConstraintItem.swift */; }; + 938CFF5F6DE6E7E8CE94373E51F3E07A /* ConstraintLayoutGuide+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 56E333886E678A9446DE9365749B72F4 /* ConstraintLayoutGuide+Extensions.swift */; }; + 950B809760A8CE4375DCE1016FB9859F /* ConstraintMakerRelatable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 931267B95BCDFC8184EE44FC88154E01 /* ConstraintMakerRelatable.swift */; }; + 9779D52AD8CDA703D6EEE1C6D38E019F /* ConstraintAttributes.swift in Sources */ = {isa = PBXBuildFile; fileRef = B0519FC458EC0E5E8DD5C26D340E8DA5 /* ConstraintAttributes.swift */; }; + A0371DF7D93D9B86BD50474D4B9294FD /* ConstraintInsets.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84084B77B9BEA3E4FFC887AFB39E211D /* ConstraintInsets.swift */; }; + A051999781E1280746F7743BDEEA6C49 /* ConstraintDescription.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07354C9A9F25D86408FEACEB7F6F982F /* ConstraintDescription.swift */; }; + A35877DE0C3D6B4CF2A10E666EF5F490 /* LayoutConstraintItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 39C09B12B4F01F47FAEE67F86E96E2C8 /* LayoutConstraintItem.swift */; }; + A6A080BECA78ED7AA60ADE87262CB1CC /* Pods-10_CMD_iOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 05140E24DDCFEE201C2716F2A0FA1016 /* Pods-10_CMD_iOS-dummy.m */; }; + A892A3F92A4B151AD508CFCD080082A4 /* Then-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = AF5FA6EFD5BA056D04D36A96A81F0694 /* Then-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B133BB9C9B03481C7F1D221F35A617F2 /* Constraint.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3855BAE9EB2F6F4B70C08A2D03DB5D01 /* Constraint.swift */; }; + B3F75D115D5150C258F5E68404751010 /* ConstraintConstantTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7E3F67B4B5EADA2B474B865AA67DAB85 /* ConstraintConstantTarget.swift */; }; + B4F9C9EC1B3F1689AE56BB719AE5439C /* ConstraintDirectionalInsetTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = B830EBEB6D9A3EAF9722D4B930DB0BF5 /* ConstraintDirectionalInsetTarget.swift */; }; + BE355F69F84788D334FDAC7D1CD9B8C4 /* ConstraintDirectionalInsets.swift in Sources */ = {isa = PBXBuildFile; fileRef = 539605ACBFA732EB6C45D3B6020FD75C /* ConstraintDirectionalInsets.swift */; }; + BF567AEFDD52DC43AC75122734D571E2 /* ConstraintMakerFinalizable.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC93E251546790CA9ACD506995CB24E6 /* ConstraintMakerFinalizable.swift */; }; + C04DBE6AE13FC5CFD01D363A351EF76A /* ConstraintView+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = F7CEDF8044BBA1BBE4FB6E1274978910 /* ConstraintView+Extensions.swift */; }; + C7E343559158D03F717C616F79FAA006 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 73010CC983E3809BECEE5348DA1BB8C6 /* Foundation.framework */; }; + CD0D81AC571E1546C71F65BC32C43C49 /* Pods-10_CMD_iOSTests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = D47B4908DF9A3FC244035AB04171CF21 /* Pods-10_CMD_iOSTests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + CDFC191B95C14BC9A472E59C395EE59F /* Pods-10_CMD_iOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 63998AC80C0CDA614BE9B6558AB8D756 /* Pods-10_CMD_iOS-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D091D9EA20CEB92609BF1E622E8CA348 /* SnapKit-SnapKit_Privacy in Resources */ = {isa = PBXBuildFile; fileRef = B9DCB5EC0B1CDADD221717CADDF62359 /* SnapKit-SnapKit_Privacy */; }; + D92AEF78B87F929D88D5C876ABBAD79A /* ConstraintLayoutSupportDSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = BEA91AC90B10B34D95FB64EBCBB2FAFE /* ConstraintLayoutSupportDSL.swift */; }; + D936EF159A167C7E4C5E5764C22F458F /* Then-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 7DFA396301F4922732D970FF4781A990 /* Then-dummy.m */; }; + E94B31DCAF75D93405D3BAE188604EB2 /* ConstraintConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = 661B6C35B56EC1CF6220F2E2CF40420C /* ConstraintConfig.swift */; }; + EFC90283F9AB43BB6FF377812BD3673F /* ConstraintPriority.swift in Sources */ = {isa = PBXBuildFile; fileRef = 88EB8B336944D14ED5EDF10B2C258A22 /* ConstraintPriority.swift */; }; + F366D04DEA0EBBCA9CA4F1F4E29695E8 /* ConstraintDSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8B01406D6B37ABB98E3428A797EF9C7B /* ConstraintDSL.swift */; }; + F4AD32923A6815C9FB00A970A3150A0D /* Pods-10_CMD_iOS-10_CMD_iOSUITests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = C83442F87BDC51EF5ED47DEC83A71E6F /* Pods-10_CMD_iOS-10_CMD_iOSUITests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + F772FEA014CE6AB99169441234221422 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 73010CC983E3809BECEE5348DA1BB8C6 /* Foundation.framework */; }; + F94703ED86C58DDBE5A2503D148CD040 /* ConstraintRelation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 06C514708072CEE8A1DBB9242CB30A0A /* ConstraintRelation.swift */; }; + FFD7E1B8FA0F3960BE24DA2D20647332 /* ConstraintRelatableTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = B4D5AC2E75B6198BCDD9BB7495BD7634 /* ConstraintRelatableTarget.swift */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 86E99A87C592365887839D33D429F965 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = C17AEFC79E770A2906EFAAB1A3757406; + remoteInfo = Then; + }; + 8A8BD5EC349835E6B123A1F352F97D7F /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 19622742EBA51E823D6DAE3F8CDBFAD4; + remoteInfo = SnapKit; + }; + 9A098E77844AED7C419E00F7E78D4CE5 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = C17AEFC79E770A2906EFAAB1A3757406; + remoteInfo = Then; + }; + 9BD48EA791179DD88A1556728A756474 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 8A8DB685241263AFDF5E6B20FE67B93A; + remoteInfo = "SnapKit-SnapKit_Privacy"; + }; + AAA2FDDD1B15FB0F604418463BE51252 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 576F442F9B1A3EFCE81BBE5006AE2B97; + remoteInfo = "Pods-10_CMD_iOS"; + }; + D7A975DF54BAA6ACF6EE669080D97C07 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 19622742EBA51E823D6DAE3F8CDBFAD4; + remoteInfo = SnapKit; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXFileReference section */ + 05140E24DDCFEE201C2716F2A0FA1016 /* Pods-10_CMD_iOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-10_CMD_iOS-dummy.m"; sourceTree = ""; }; + 06C514708072CEE8A1DBB9242CB30A0A /* ConstraintRelation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintRelation.swift; path = Sources/ConstraintRelation.swift; sourceTree = ""; }; + 07354C9A9F25D86408FEACEB7F6F982F /* ConstraintDescription.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintDescription.swift; path = Sources/ConstraintDescription.swift; sourceTree = ""; }; + 09228858A157669923420E038D8FA4AF /* Pods-10_CMD_iOSTests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-10_CMD_iOSTests-dummy.m"; sourceTree = ""; }; + 10ECC639150A64D6B21861E29F0402B1 /* Pods-10_CMD_iOS-10_CMD_iOSUITests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-10_CMD_iOS-10_CMD_iOSUITests-acknowledgements.markdown"; sourceTree = ""; }; + 11499663FB6FCA0541961ED0B628002C /* Pods-10_CMD_iOSTests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-10_CMD_iOSTests.modulemap"; sourceTree = ""; }; + 1D92D6CB0F36F0907E8CE618508671AB /* Pods-10_CMD_iOS-10_CMD_iOSUITests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-10_CMD_iOS-10_CMD_iOSUITests.release.xcconfig"; sourceTree = ""; }; + 24D107DDE8F33D5EF4CDA872B4E68496 /* ConstraintMakerRelatable+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ConstraintMakerRelatable+Extensions.swift"; path = "Sources/ConstraintMakerRelatable+Extensions.swift"; sourceTree = ""; }; + 28A167A838FB6FE0FBD452DD99562251 /* ConstraintMakerExtendable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMakerExtendable.swift; path = Sources/ConstraintMakerExtendable.swift; sourceTree = ""; }; + 2C9193F2BDF10286B67A0A7C8E36ADA1 /* Pods-10_CMD_iOSTests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-10_CMD_iOSTests-acknowledgements.plist"; sourceTree = ""; }; + 2E6BAC77DAD69D9E1A9F4443DA09B627 /* SnapKit.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SnapKit.release.xcconfig; sourceTree = ""; }; + 344A9AACE4ADB5373AB558604F502C30 /* ConstraintMaker.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMaker.swift; path = Sources/ConstraintMaker.swift; sourceTree = ""; }; + 3855BAE9EB2F6F4B70C08A2D03DB5D01 /* Constraint.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Constraint.swift; path = Sources/Constraint.swift; sourceTree = ""; }; + 38DAC5FBED1CC2508595CAAF653015E0 /* Pods-10_CMD_iOS-10_CMD_iOSUITests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-10_CMD_iOS-10_CMD_iOSUITests.modulemap"; sourceTree = ""; }; + 39C09B12B4F01F47FAEE67F86E96E2C8 /* LayoutConstraintItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = LayoutConstraintItem.swift; path = Sources/LayoutConstraintItem.swift; sourceTree = ""; }; + 3A1747C6A6E23AB09680496AD6BAA863 /* Pods-10_CMD_iOSTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-10_CMD_iOSTests.debug.xcconfig"; sourceTree = ""; }; + 3B1693A3EE7178B00C6A7538C2F0D3DB /* ConstraintLayoutGuideDSL.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintLayoutGuideDSL.swift; path = Sources/ConstraintLayoutGuideDSL.swift; sourceTree = ""; }; + 47786D873F7974846D20E574EC1F30F2 /* Then-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Then-prefix.pch"; sourceTree = ""; }; + 4D78B15E9A81671342610BDE8241A781 /* Then.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = Then.modulemap; sourceTree = ""; }; + 539605ACBFA732EB6C45D3B6020FD75C /* ConstraintDirectionalInsets.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintDirectionalInsets.swift; path = Sources/ConstraintDirectionalInsets.swift; sourceTree = ""; }; + 545D50DABA1DFBD3B73F51345F9607CD /* Pods-10_CMD_iOS-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-10_CMD_iOS-acknowledgements.plist"; sourceTree = ""; }; + 560380AA712F14F921CFB92D0B020882 /* ConstraintMultiplierTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMultiplierTarget.swift; path = Sources/ConstraintMultiplierTarget.swift; sourceTree = ""; }; + 564B35E0F9E260B53AE061EE7C6EC271 /* SnapKit.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SnapKit.debug.xcconfig; sourceTree = ""; }; + 56E333886E678A9446DE9365749B72F4 /* ConstraintLayoutGuide+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ConstraintLayoutGuide+Extensions.swift"; path = "Sources/ConstraintLayoutGuide+Extensions.swift"; sourceTree = ""; }; + 591758AC5816C4EEF65010946612F948 /* SnapKit-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SnapKit-prefix.pch"; sourceTree = ""; }; + 5B2EA21155C56A5FE7BD36A00C1DBE9A /* Then-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Then-Info.plist"; sourceTree = ""; }; + 5D60FEF3BB7D088A8083F22E55C2A2B6 /* SnapKit-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SnapKit-umbrella.h"; sourceTree = ""; }; + 60E5D9F8341CE35CD82FD8C2A368379B /* LayoutConstraint.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = LayoutConstraint.swift; path = Sources/LayoutConstraint.swift; sourceTree = ""; }; + 63998AC80C0CDA614BE9B6558AB8D756 /* Pods-10_CMD_iOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-10_CMD_iOS-umbrella.h"; sourceTree = ""; }; + 64F0CFE0A8702868F7D4DD1F20AA465F /* Pods-10_CMD_iOS-10_CMD_iOSUITests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-10_CMD_iOS-10_CMD_iOSUITests.debug.xcconfig"; sourceTree = ""; }; + 661B6C35B56EC1CF6220F2E2CF40420C /* ConstraintConfig.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintConfig.swift; path = Sources/ConstraintConfig.swift; sourceTree = ""; }; + 6E0DDCE78DEBB1B3721C91ADDD71DADD /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; includeInIndex = 1; name = PrivacyInfo.xcprivacy; path = Sources/PrivacyInfo.xcprivacy; sourceTree = ""; }; + 73010CC983E3809BECEE5348DA1BB8C6 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.0.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; + 74427459B05D3D8D63E29A2CC77E1A22 /* UILayoutSupport+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UILayoutSupport+Extensions.swift"; path = "Sources/UILayoutSupport+Extensions.swift"; sourceTree = ""; }; + 77A445E5AFB4796A10541C3CC2985B05 /* Pods-10_CMD_iOS-10_CMD_iOSUITests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-10_CMD_iOS-10_CMD_iOSUITests-acknowledgements.plist"; sourceTree = ""; }; + 7DFA396301F4922732D970FF4781A990 /* Then-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Then-dummy.m"; sourceTree = ""; }; + 7E3F67B4B5EADA2B474B865AA67DAB85 /* ConstraintConstantTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintConstantTarget.swift; path = Sources/ConstraintConstantTarget.swift; sourceTree = ""; }; + 7F3ACF81F010A4744636752AAD18EC3C /* Then.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Then.swift; path = Sources/Then/Then.swift; sourceTree = ""; }; + 7FD6462DE0435FAAE45941330D4C9ABF /* Pods-10_CMD_iOSTests */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = "Pods-10_CMD_iOSTests"; path = Pods_10_CMD_iOSTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 84084B77B9BEA3E4FFC887AFB39E211D /* ConstraintInsets.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintInsets.swift; path = Sources/ConstraintInsets.swift; sourceTree = ""; }; + 845637229193A0F9BA2B2D27B7D2736A /* SnapKit-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "SnapKit-Info.plist"; sourceTree = ""; }; + 88EB8B336944D14ED5EDF10B2C258A22 /* ConstraintPriority.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintPriority.swift; path = Sources/ConstraintPriority.swift; sourceTree = ""; }; + 8B01406D6B37ABB98E3428A797EF9C7B /* ConstraintDSL.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintDSL.swift; path = Sources/ConstraintDSL.swift; sourceTree = ""; }; + 8DBEEF6D097F79E5D69F2D7070FFCD58 /* Pods-10_CMD_iOS-10_CMD_iOSUITests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-10_CMD_iOS-10_CMD_iOSUITests-dummy.m"; sourceTree = ""; }; + 8EEE60146823C6A7CE85AF78F50A225D /* Then.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Then.release.xcconfig; sourceTree = ""; }; + 9232DEC229A0ED521958552ECE6D9B4D /* ConstraintOffsetTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintOffsetTarget.swift; path = Sources/ConstraintOffsetTarget.swift; sourceTree = ""; }; + 931267B95BCDFC8184EE44FC88154E01 /* ConstraintMakerRelatable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMakerRelatable.swift; path = Sources/ConstraintMakerRelatable.swift; sourceTree = ""; }; + 9317E4947CA2FE1B5D5999034C09CCA7 /* Then */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Then; path = Then.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 96ECFFFDAE53E908185E808A3CA35555 /* Pods-10_CMD_iOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-10_CMD_iOS.release.xcconfig"; sourceTree = ""; }; + 973C21126047F7A4663946CAF7550BE1 /* ConstraintViewDSL.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintViewDSL.swift; path = Sources/ConstraintViewDSL.swift; sourceTree = ""; }; + 979486118B3E90C08386079D57962701 /* SnapKit */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = SnapKit; path = SnapKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 98284F82B733669C766FE15A1CD5ECD8 /* Typealiases.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Typealiases.swift; path = Sources/Typealiases.swift; sourceTree = ""; }; + 9B93B11D51183B45B5D153D537CC1CE9 /* ConstraintView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintView.swift; path = Sources/ConstraintView.swift; sourceTree = ""; }; + 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; + AD02E622407FD45C5ECC0EDADEE156E2 /* ConstraintPriorityTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintPriorityTarget.swift; path = Sources/ConstraintPriorityTarget.swift; sourceTree = ""; }; + AF5FA6EFD5BA056D04D36A96A81F0694 /* Then-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Then-umbrella.h"; sourceTree = ""; }; + B0519FC458EC0E5E8DD5C26D340E8DA5 /* ConstraintAttributes.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintAttributes.swift; path = Sources/ConstraintAttributes.swift; sourceTree = ""; }; + B2AF9D971E879398B5BD35D6BAB705C0 /* Pods-10_CMD_iOS-10_CMD_iOSUITests-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-10_CMD_iOS-10_CMD_iOSUITests-Info.plist"; sourceTree = ""; }; + B4D5AC2E75B6198BCDD9BB7495BD7634 /* ConstraintRelatableTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintRelatableTarget.swift; path = Sources/ConstraintRelatableTarget.swift; sourceTree = ""; }; + B830EBEB6D9A3EAF9722D4B930DB0BF5 /* ConstraintDirectionalInsetTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintDirectionalInsetTarget.swift; path = Sources/ConstraintDirectionalInsetTarget.swift; sourceTree = ""; }; + B9062A8BC84CDAA3A49C0AA33881488D /* Pods-10_CMD_iOS-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-10_CMD_iOS-frameworks.sh"; sourceTree = ""; }; + B9DCB5EC0B1CDADD221717CADDF62359 /* SnapKit-SnapKit_Privacy */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; name = "SnapKit-SnapKit_Privacy"; path = SnapKit_Privacy.bundle; sourceTree = BUILT_PRODUCTS_DIR; }; + BB1E8729E4FD8E533E5F38EF08970E20 /* Debugging.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Debugging.swift; path = Sources/Debugging.swift; sourceTree = ""; }; + BC93E251546790CA9ACD506995CB24E6 /* ConstraintMakerFinalizable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMakerFinalizable.swift; path = Sources/ConstraintMakerFinalizable.swift; sourceTree = ""; }; + BEA91AC90B10B34D95FB64EBCBB2FAFE /* ConstraintLayoutSupportDSL.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintLayoutSupportDSL.swift; path = Sources/ConstraintLayoutSupportDSL.swift; sourceTree = ""; }; + C00A5DA2389F058CBD07005C1951E49C /* ConstraintInsetTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintInsetTarget.swift; path = Sources/ConstraintInsetTarget.swift; sourceTree = ""; }; + C047D86EB616727E48CF8D9297A71B3D /* SnapKit.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = SnapKit.modulemap; sourceTree = ""; }; + C59F52C0E5783FB4535FDD2AE8B37700 /* Pods-10_CMD_iOS-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-10_CMD_iOS-acknowledgements.markdown"; sourceTree = ""; }; + C83442F87BDC51EF5ED47DEC83A71E6F /* Pods-10_CMD_iOS-10_CMD_iOSUITests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-10_CMD_iOS-10_CMD_iOSUITests-umbrella.h"; sourceTree = ""; }; + C8FCD9A7F63B6793DBB71B15B4512DE9 /* Pods-10_CMD_iOSTests-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-10_CMD_iOSTests-Info.plist"; sourceTree = ""; }; + C9F850BEE48914C83BAB016158B1703F /* SnapKit-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SnapKit-dummy.m"; sourceTree = ""; }; + CB180C0FBFD80CB0219D4AA718A6ED56 /* Then.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Then.debug.xcconfig; sourceTree = ""; }; + CE28810AB288F66CB0BE09CE5658C28D /* Pods-10_CMD_iOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-10_CMD_iOS.modulemap"; sourceTree = ""; }; + D0FA8D0917ABE7F8505721790D2D5862 /* ResourceBundle-SnapKit_Privacy-SnapKit-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "ResourceBundle-SnapKit_Privacy-SnapKit-Info.plist"; sourceTree = ""; }; + D184C8A48DF6475A3A09F15811669BAF /* Pods-10_CMD_iOS-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-10_CMD_iOS-Info.plist"; sourceTree = ""; }; + D216CEA7CB8FBECDECB8402387335F64 /* ConstraintLayoutSupport.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintLayoutSupport.swift; path = Sources/ConstraintLayoutSupport.swift; sourceTree = ""; }; + D47B4908DF9A3FC244035AB04171CF21 /* Pods-10_CMD_iOSTests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-10_CMD_iOSTests-umbrella.h"; sourceTree = ""; }; + D4AE5FC96C401B1693EDC2EBAC539B05 /* ConstraintLayoutGuide.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintLayoutGuide.swift; path = Sources/ConstraintLayoutGuide.swift; sourceTree = ""; }; + D864EB00E1070BEBAC0428EF1596C35B /* ConstraintMakerEditable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMakerEditable.swift; path = Sources/ConstraintMakerEditable.swift; sourceTree = ""; }; + DECA3E15622A479B26277940B62D33D0 /* Pods-10_CMD_iOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-10_CMD_iOS.debug.xcconfig"; sourceTree = ""; }; + E10F56200E69A415AFA48A22961FDCE5 /* Pods-10_CMD_iOSTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-10_CMD_iOSTests.release.xcconfig"; sourceTree = ""; }; + EE11B735341EE6D39369ECB26745B8E0 /* Pods-10_CMD_iOSTests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-10_CMD_iOSTests-acknowledgements.markdown"; sourceTree = ""; }; + F7CEDF8044BBA1BBE4FB6E1274978910 /* ConstraintView+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ConstraintView+Extensions.swift"; path = "Sources/ConstraintView+Extensions.swift"; sourceTree = ""; }; + F7F68C41F623CE5ED520D14F573038C4 /* Pods-10_CMD_iOS-10_CMD_iOSUITests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-10_CMD_iOS-10_CMD_iOSUITests-frameworks.sh"; sourceTree = ""; }; + F99463262FE13D34DD92C5498FCB9265 /* Pods-10_CMD_iOS */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = "Pods-10_CMD_iOS"; path = Pods_10_CMD_iOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + FD3AEC1927DFEED9D2FC00419DAB3896 /* ConstraintMakerPrioritizable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMakerPrioritizable.swift; path = Sources/ConstraintMakerPrioritizable.swift; sourceTree = ""; }; + FECA21830ABACF71DD199AE3241D54D5 /* Pods-10_CMD_iOS-10_CMD_iOSUITests */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = "Pods-10_CMD_iOS-10_CMD_iOSUITests"; path = Pods_10_CMD_iOS_10_CMD_iOSUITests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + FED2C1C6116EF713F683890DD9D418C8 /* ConstraintItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintItem.swift; path = Sources/ConstraintItem.swift; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 484159CB2AF5FE2C4D0EC41445E88240 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 5FE1592A56539488BBD6CE053605C89C /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + F772FEA014CE6AB99169441234221422 /* Foundation.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 629EB3C4C13F03451BC7BA113371315D /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 7591AEFD834B25A18B5CE2C01DA24C7F /* Foundation.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 6F796DCACF7FECDF5C5CEF6AFE7BC0FF /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + C7E343559158D03F717C616F79FAA006 /* Foundation.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + AA99D176C338AC716E5CC7739E96A566 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 16CCFC468B47585F08BAE1C673A6CEC5 /* Foundation.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + B110F4A89B80E9EA29019FC5CA16B326 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 5E3BF2B719B3A034C173D16B3ABF682E /* Foundation.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 0743CFB1E9F9AB49C25D7FC66B0CD0D4 /* Products */ = { + isa = PBXGroup; + children = ( + F99463262FE13D34DD92C5498FCB9265 /* Pods-10_CMD_iOS */, + FECA21830ABACF71DD199AE3241D54D5 /* Pods-10_CMD_iOS-10_CMD_iOSUITests */, + 7FD6462DE0435FAAE45941330D4C9ABF /* Pods-10_CMD_iOSTests */, + 979486118B3E90C08386079D57962701 /* SnapKit */, + B9DCB5EC0B1CDADD221717CADDF62359 /* SnapKit-SnapKit_Privacy */, + 9317E4947CA2FE1B5D5999034C09CCA7 /* Then */, + ); + name = Products; + sourceTree = ""; + }; + 3802ACD3012A7E14F48E08B6D2445F5F /* SnapKit */ = { + isa = PBXGroup; + children = ( + 3855BAE9EB2F6F4B70C08A2D03DB5D01 /* Constraint.swift */, + B0519FC458EC0E5E8DD5C26D340E8DA5 /* ConstraintAttributes.swift */, + 661B6C35B56EC1CF6220F2E2CF40420C /* ConstraintConfig.swift */, + 7E3F67B4B5EADA2B474B865AA67DAB85 /* ConstraintConstantTarget.swift */, + 07354C9A9F25D86408FEACEB7F6F982F /* ConstraintDescription.swift */, + 539605ACBFA732EB6C45D3B6020FD75C /* ConstraintDirectionalInsets.swift */, + B830EBEB6D9A3EAF9722D4B930DB0BF5 /* ConstraintDirectionalInsetTarget.swift */, + 8B01406D6B37ABB98E3428A797EF9C7B /* ConstraintDSL.swift */, + 84084B77B9BEA3E4FFC887AFB39E211D /* ConstraintInsets.swift */, + C00A5DA2389F058CBD07005C1951E49C /* ConstraintInsetTarget.swift */, + FED2C1C6116EF713F683890DD9D418C8 /* ConstraintItem.swift */, + D4AE5FC96C401B1693EDC2EBAC539B05 /* ConstraintLayoutGuide.swift */, + 56E333886E678A9446DE9365749B72F4 /* ConstraintLayoutGuide+Extensions.swift */, + 3B1693A3EE7178B00C6A7538C2F0D3DB /* ConstraintLayoutGuideDSL.swift */, + D216CEA7CB8FBECDECB8402387335F64 /* ConstraintLayoutSupport.swift */, + BEA91AC90B10B34D95FB64EBCBB2FAFE /* ConstraintLayoutSupportDSL.swift */, + 344A9AACE4ADB5373AB558604F502C30 /* ConstraintMaker.swift */, + D864EB00E1070BEBAC0428EF1596C35B /* ConstraintMakerEditable.swift */, + 28A167A838FB6FE0FBD452DD99562251 /* ConstraintMakerExtendable.swift */, + BC93E251546790CA9ACD506995CB24E6 /* ConstraintMakerFinalizable.swift */, + FD3AEC1927DFEED9D2FC00419DAB3896 /* ConstraintMakerPrioritizable.swift */, + 931267B95BCDFC8184EE44FC88154E01 /* ConstraintMakerRelatable.swift */, + 24D107DDE8F33D5EF4CDA872B4E68496 /* ConstraintMakerRelatable+Extensions.swift */, + 560380AA712F14F921CFB92D0B020882 /* ConstraintMultiplierTarget.swift */, + 9232DEC229A0ED521958552ECE6D9B4D /* ConstraintOffsetTarget.swift */, + 88EB8B336944D14ED5EDF10B2C258A22 /* ConstraintPriority.swift */, + AD02E622407FD45C5ECC0EDADEE156E2 /* ConstraintPriorityTarget.swift */, + B4D5AC2E75B6198BCDD9BB7495BD7634 /* ConstraintRelatableTarget.swift */, + 06C514708072CEE8A1DBB9242CB30A0A /* ConstraintRelation.swift */, + 9B93B11D51183B45B5D153D537CC1CE9 /* ConstraintView.swift */, + F7CEDF8044BBA1BBE4FB6E1274978910 /* ConstraintView+Extensions.swift */, + 973C21126047F7A4663946CAF7550BE1 /* ConstraintViewDSL.swift */, + BB1E8729E4FD8E533E5F38EF08970E20 /* Debugging.swift */, + 60E5D9F8341CE35CD82FD8C2A368379B /* LayoutConstraint.swift */, + 39C09B12B4F01F47FAEE67F86E96E2C8 /* LayoutConstraintItem.swift */, + 98284F82B733669C766FE15A1CD5ECD8 /* Typealiases.swift */, + 74427459B05D3D8D63E29A2CC77E1A22 /* UILayoutSupport+Extensions.swift */, + F36C3513942C41937FB6B6B133764645 /* Resources */, + A9CC92F0D2B86B7E4D4C4BAB8258EEC8 /* Support Files */, + ); + name = SnapKit; + path = SnapKit; + sourceTree = ""; + }; + 578452D2E740E91742655AC8F1636D1F /* iOS */ = { + isa = PBXGroup; + children = ( + 73010CC983E3809BECEE5348DA1BB8C6 /* Foundation.framework */, + ); + name = iOS; + sourceTree = ""; + }; + 6ED7581637226692BF6BFEA0ECCDF96F /* Pods-10_CMD_iOS-10_CMD_iOSUITests */ = { + isa = PBXGroup; + children = ( + 38DAC5FBED1CC2508595CAAF653015E0 /* Pods-10_CMD_iOS-10_CMD_iOSUITests.modulemap */, + 10ECC639150A64D6B21861E29F0402B1 /* Pods-10_CMD_iOS-10_CMD_iOSUITests-acknowledgements.markdown */, + 77A445E5AFB4796A10541C3CC2985B05 /* Pods-10_CMD_iOS-10_CMD_iOSUITests-acknowledgements.plist */, + 8DBEEF6D097F79E5D69F2D7070FFCD58 /* Pods-10_CMD_iOS-10_CMD_iOSUITests-dummy.m */, + F7F68C41F623CE5ED520D14F573038C4 /* Pods-10_CMD_iOS-10_CMD_iOSUITests-frameworks.sh */, + B2AF9D971E879398B5BD35D6BAB705C0 /* Pods-10_CMD_iOS-10_CMD_iOSUITests-Info.plist */, + C83442F87BDC51EF5ED47DEC83A71E6F /* Pods-10_CMD_iOS-10_CMD_iOSUITests-umbrella.h */, + 64F0CFE0A8702868F7D4DD1F20AA465F /* Pods-10_CMD_iOS-10_CMD_iOSUITests.debug.xcconfig */, + 1D92D6CB0F36F0907E8CE618508671AB /* Pods-10_CMD_iOS-10_CMD_iOSUITests.release.xcconfig */, + ); + name = "Pods-10_CMD_iOS-10_CMD_iOSUITests"; + path = "Target Support Files/Pods-10_CMD_iOS-10_CMD_iOSUITests"; + sourceTree = ""; + }; + 83DF8EED14489DDF5FF48FF8B340EC1A /* Targets Support Files */ = { + isa = PBXGroup; + children = ( + D7B39CC4D95487A6040E71B5AE1D4515 /* Pods-10_CMD_iOS */, + 6ED7581637226692BF6BFEA0ECCDF96F /* Pods-10_CMD_iOS-10_CMD_iOSUITests */, + 97D490D342E593FC12EBA884F2F56322 /* Pods-10_CMD_iOSTests */, + ); + name = "Targets Support Files"; + sourceTree = ""; + }; + 97D490D342E593FC12EBA884F2F56322 /* Pods-10_CMD_iOSTests */ = { + isa = PBXGroup; + children = ( + 11499663FB6FCA0541961ED0B628002C /* Pods-10_CMD_iOSTests.modulemap */, + EE11B735341EE6D39369ECB26745B8E0 /* Pods-10_CMD_iOSTests-acknowledgements.markdown */, + 2C9193F2BDF10286B67A0A7C8E36ADA1 /* Pods-10_CMD_iOSTests-acknowledgements.plist */, + 09228858A157669923420E038D8FA4AF /* Pods-10_CMD_iOSTests-dummy.m */, + C8FCD9A7F63B6793DBB71B15B4512DE9 /* Pods-10_CMD_iOSTests-Info.plist */, + D47B4908DF9A3FC244035AB04171CF21 /* Pods-10_CMD_iOSTests-umbrella.h */, + 3A1747C6A6E23AB09680496AD6BAA863 /* Pods-10_CMD_iOSTests.debug.xcconfig */, + E10F56200E69A415AFA48A22961FDCE5 /* Pods-10_CMD_iOSTests.release.xcconfig */, + ); + name = "Pods-10_CMD_iOSTests"; + path = "Target Support Files/Pods-10_CMD_iOSTests"; + sourceTree = ""; + }; + 9D3F65377940F0FF823E272EFB613781 /* Then */ = { + isa = PBXGroup; + children = ( + 7F3ACF81F010A4744636752AAD18EC3C /* Then.swift */, + DB5629F11280A8E36DFF673216B0E1EB /* Support Files */, + ); + name = Then; + path = Then; + sourceTree = ""; + }; + A6976CCFB81DC124B4EAD9185D7CAA68 /* Pods */ = { + isa = PBXGroup; + children = ( + 3802ACD3012A7E14F48E08B6D2445F5F /* SnapKit */, + 9D3F65377940F0FF823E272EFB613781 /* Then */, + ); + name = Pods; + sourceTree = ""; + }; + A9CC92F0D2B86B7E4D4C4BAB8258EEC8 /* Support Files */ = { + isa = PBXGroup; + children = ( + D0FA8D0917ABE7F8505721790D2D5862 /* ResourceBundle-SnapKit_Privacy-SnapKit-Info.plist */, + C047D86EB616727E48CF8D9297A71B3D /* SnapKit.modulemap */, + C9F850BEE48914C83BAB016158B1703F /* SnapKit-dummy.m */, + 845637229193A0F9BA2B2D27B7D2736A /* SnapKit-Info.plist */, + 591758AC5816C4EEF65010946612F948 /* SnapKit-prefix.pch */, + 5D60FEF3BB7D088A8083F22E55C2A2B6 /* SnapKit-umbrella.h */, + 564B35E0F9E260B53AE061EE7C6EC271 /* SnapKit.debug.xcconfig */, + 2E6BAC77DAD69D9E1A9F4443DA09B627 /* SnapKit.release.xcconfig */, + ); + name = "Support Files"; + path = "../Target Support Files/SnapKit"; + sourceTree = ""; + }; + CF1408CF629C7361332E53B88F7BD30C = { + isa = PBXGroup; + children = ( + 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */, + D210D550F4EA176C3123ED886F8F87F5 /* Frameworks */, + A6976CCFB81DC124B4EAD9185D7CAA68 /* Pods */, + 0743CFB1E9F9AB49C25D7FC66B0CD0D4 /* Products */, + 83DF8EED14489DDF5FF48FF8B340EC1A /* Targets Support Files */, + ); + sourceTree = ""; + }; + D210D550F4EA176C3123ED886F8F87F5 /* Frameworks */ = { + isa = PBXGroup; + children = ( + 578452D2E740E91742655AC8F1636D1F /* iOS */, + ); + name = Frameworks; + sourceTree = ""; + }; + D7B39CC4D95487A6040E71B5AE1D4515 /* Pods-10_CMD_iOS */ = { + isa = PBXGroup; + children = ( + CE28810AB288F66CB0BE09CE5658C28D /* Pods-10_CMD_iOS.modulemap */, + C59F52C0E5783FB4535FDD2AE8B37700 /* Pods-10_CMD_iOS-acknowledgements.markdown */, + 545D50DABA1DFBD3B73F51345F9607CD /* Pods-10_CMD_iOS-acknowledgements.plist */, + 05140E24DDCFEE201C2716F2A0FA1016 /* Pods-10_CMD_iOS-dummy.m */, + B9062A8BC84CDAA3A49C0AA33881488D /* Pods-10_CMD_iOS-frameworks.sh */, + D184C8A48DF6475A3A09F15811669BAF /* Pods-10_CMD_iOS-Info.plist */, + 63998AC80C0CDA614BE9B6558AB8D756 /* Pods-10_CMD_iOS-umbrella.h */, + DECA3E15622A479B26277940B62D33D0 /* Pods-10_CMD_iOS.debug.xcconfig */, + 96ECFFFDAE53E908185E808A3CA35555 /* Pods-10_CMD_iOS.release.xcconfig */, + ); + name = "Pods-10_CMD_iOS"; + path = "Target Support Files/Pods-10_CMD_iOS"; + sourceTree = ""; + }; + DB5629F11280A8E36DFF673216B0E1EB /* Support Files */ = { + isa = PBXGroup; + children = ( + 4D78B15E9A81671342610BDE8241A781 /* Then.modulemap */, + 7DFA396301F4922732D970FF4781A990 /* Then-dummy.m */, + 5B2EA21155C56A5FE7BD36A00C1DBE9A /* Then-Info.plist */, + 47786D873F7974846D20E574EC1F30F2 /* Then-prefix.pch */, + AF5FA6EFD5BA056D04D36A96A81F0694 /* Then-umbrella.h */, + CB180C0FBFD80CB0219D4AA718A6ED56 /* Then.debug.xcconfig */, + 8EEE60146823C6A7CE85AF78F50A225D /* Then.release.xcconfig */, + ); + name = "Support Files"; + path = "../Target Support Files/Then"; + sourceTree = ""; + }; + F36C3513942C41937FB6B6B133764645 /* Resources */ = { + isa = PBXGroup; + children = ( + 6E0DDCE78DEBB1B3721C91ADDD71DADD /* PrivacyInfo.xcprivacy */, + ); + name = Resources; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXHeadersBuildPhase section */ + 9B79E42E07B85AFC26084A624C013099 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + CDFC191B95C14BC9A472E59C395EE59F /* Pods-10_CMD_iOS-umbrella.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 9FBC1E221390E6778450EFF0B4637ADD /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + F4AD32923A6815C9FB00A970A3150A0D /* Pods-10_CMD_iOS-10_CMD_iOSUITests-umbrella.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + BD2B111EBF8A7845E42930BF05778C63 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 6D389E4D5F97798BE1AEEB8C317852D7 /* SnapKit-umbrella.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + C1B2203F29E5A189F6C6B7A3952AAE45 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + CD0D81AC571E1546C71F65BC32C43C49 /* Pods-10_CMD_iOSTests-umbrella.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + D0482E511DA59C90F7DB62C353302CD0 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + A892A3F92A4B151AD508CFCD080082A4 /* Then-umbrella.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + +/* Begin PBXNativeTarget section */ + 19622742EBA51E823D6DAE3F8CDBFAD4 /* SnapKit */ = { + isa = PBXNativeTarget; + buildConfigurationList = 4C4F25F04C086237315FCAEF7661357E /* Build configuration list for PBXNativeTarget "SnapKit" */; + buildPhases = ( + BD2B111EBF8A7845E42930BF05778C63 /* Headers */, + B52EB97EAADC4B42F512DF593D183539 /* Sources */, + 6F796DCACF7FECDF5C5CEF6AFE7BC0FF /* Frameworks */, + 8AFC96B9D49AC279B3790C99847FF1B3 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + B2D89F60734713DF81FF7B8F8C5FD0C5 /* PBXTargetDependency */, + ); + name = SnapKit; + productName = SnapKit; + productReference = 979486118B3E90C08386079D57962701 /* SnapKit */; + productType = "com.apple.product-type.framework"; + }; + 4FC75774B5DF6A4F82C841F1F9AB57E5 /* Pods-10_CMD_iOSTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = C1156F20E444D60832D5E3B5D383F9C4 /* Build configuration list for PBXNativeTarget "Pods-10_CMD_iOSTests" */; + buildPhases = ( + C1B2203F29E5A189F6C6B7A3952AAE45 /* Headers */, + 981DE6DB84AF9E04C0A8BF09CF0BAEA4 /* Sources */, + 5FE1592A56539488BBD6CE053605C89C /* Frameworks */, + 24168229D8A4EC376DB8197D0E791D05 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + EBFA4B61E6E9838CE8B3552DEE3C47CA /* PBXTargetDependency */, + ); + name = "Pods-10_CMD_iOSTests"; + productName = Pods_10_CMD_iOSTests; + productReference = 7FD6462DE0435FAAE45941330D4C9ABF /* Pods-10_CMD_iOSTests */; + productType = "com.apple.product-type.framework"; + }; + 576F442F9B1A3EFCE81BBE5006AE2B97 /* Pods-10_CMD_iOS */ = { + isa = PBXNativeTarget; + buildConfigurationList = 726ED95648402B5E3980C9D72F56E356 /* Build configuration list for PBXNativeTarget "Pods-10_CMD_iOS" */; + buildPhases = ( + 9B79E42E07B85AFC26084A624C013099 /* Headers */, + 037533423D0812EE0AFE05FC6B4F1086 /* Sources */, + 629EB3C4C13F03451BC7BA113371315D /* Frameworks */, + BCD0A3C652C8D2EF4516FFACAAFB51A1 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + 621679B8121930792117E4A0DD798DC1 /* PBXTargetDependency */, + 20A56282FC8E3FCC60009DD8CE6F37A8 /* PBXTargetDependency */, + ); + name = "Pods-10_CMD_iOS"; + productName = Pods_10_CMD_iOS; + productReference = F99463262FE13D34DD92C5498FCB9265 /* Pods-10_CMD_iOS */; + productType = "com.apple.product-type.framework"; + }; + 8A8DB685241263AFDF5E6B20FE67B93A /* SnapKit-SnapKit_Privacy */ = { + isa = PBXNativeTarget; + buildConfigurationList = A41BC08AFDCE5DA2E460E65CF1A74FCC /* Build configuration list for PBXNativeTarget "SnapKit-SnapKit_Privacy" */; + buildPhases = ( + 6BA632BE081B93A31976A64D60B6C73A /* Sources */, + 484159CB2AF5FE2C4D0EC41445E88240 /* Frameworks */, + D358BD1856DD3965B70B8C20AC8D4906 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "SnapKit-SnapKit_Privacy"; + productName = SnapKit_Privacy; + productReference = B9DCB5EC0B1CDADD221717CADDF62359 /* SnapKit-SnapKit_Privacy */; + productType = "com.apple.product-type.bundle"; + }; + C17AEFC79E770A2906EFAAB1A3757406 /* Then */ = { + isa = PBXNativeTarget; + buildConfigurationList = 9066CF256D5B92C1B2C5053115F4AC74 /* Build configuration list for PBXNativeTarget "Then" */; + buildPhases = ( + D0482E511DA59C90F7DB62C353302CD0 /* Headers */, + D9DF5AEE1B525A8BA763D0DFA7241A71 /* Sources */, + B110F4A89B80E9EA29019FC5CA16B326 /* Frameworks */, + 08C52A0B42B9DFC342690EC119C9DFCA /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = Then; + productName = Then; + productReference = 9317E4947CA2FE1B5D5999034C09CCA7 /* Then */; + productType = "com.apple.product-type.framework"; + }; + DEF79B03CDA5339F2EADEF7DBB1AC7BB /* Pods-10_CMD_iOS-10_CMD_iOSUITests */ = { + isa = PBXNativeTarget; + buildConfigurationList = F7127474FF53866EF29B21465D1AB349 /* Build configuration list for PBXNativeTarget "Pods-10_CMD_iOS-10_CMD_iOSUITests" */; + buildPhases = ( + 9FBC1E221390E6778450EFF0B4637ADD /* Headers */, + 28D65D3D5DAB40DFC0628586259847A4 /* Sources */, + AA99D176C338AC716E5CC7739E96A566 /* Frameworks */, + 64AE302FB1E94F5C1C20ED48A76BA879 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + CC092BCB18DB116B418A262D809F58C8 /* PBXTargetDependency */, + 8FB255333E71B3D9BECB1D80173BE1A9 /* PBXTargetDependency */, + ); + name = "Pods-10_CMD_iOS-10_CMD_iOSUITests"; + productName = Pods_10_CMD_iOS_10_CMD_iOSUITests; + productReference = FECA21830ABACF71DD199AE3241D54D5 /* Pods-10_CMD_iOS-10_CMD_iOSUITests */; + productType = "com.apple.product-type.framework"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + BFDFE7DC352907FC980B868725387E98 /* Project object */ = { + isa = PBXProject; + attributes = { + LastSwiftUpdateCheck = 1500; + LastUpgradeCheck = 1500; + }; + buildConfigurationList = 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */; + compatibilityVersion = "Xcode 14.0"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + Base, + en, + ); + mainGroup = CF1408CF629C7361332E53B88F7BD30C; + productRefGroup = 0743CFB1E9F9AB49C25D7FC66B0CD0D4 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 576F442F9B1A3EFCE81BBE5006AE2B97 /* Pods-10_CMD_iOS */, + DEF79B03CDA5339F2EADEF7DBB1AC7BB /* Pods-10_CMD_iOS-10_CMD_iOSUITests */, + 4FC75774B5DF6A4F82C841F1F9AB57E5 /* Pods-10_CMD_iOSTests */, + 19622742EBA51E823D6DAE3F8CDBFAD4 /* SnapKit */, + 8A8DB685241263AFDF5E6B20FE67B93A /* SnapKit-SnapKit_Privacy */, + C17AEFC79E770A2906EFAAB1A3757406 /* Then */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 08C52A0B42B9DFC342690EC119C9DFCA /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 24168229D8A4EC376DB8197D0E791D05 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 64AE302FB1E94F5C1C20ED48A76BA879 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 8AFC96B9D49AC279B3790C99847FF1B3 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + D091D9EA20CEB92609BF1E622E8CA348 /* SnapKit-SnapKit_Privacy in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + BCD0A3C652C8D2EF4516FFACAAFB51A1 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + D358BD1856DD3965B70B8C20AC8D4906 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 25833505198247462B2EBFA80F6C6413 /* PrivacyInfo.xcprivacy in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 037533423D0812EE0AFE05FC6B4F1086 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + A6A080BECA78ED7AA60ADE87262CB1CC /* Pods-10_CMD_iOS-dummy.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 28D65D3D5DAB40DFC0628586259847A4 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 362B274D78BC048331FC6620B2FC61BF /* Pods-10_CMD_iOS-10_CMD_iOSUITests-dummy.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 6BA632BE081B93A31976A64D60B6C73A /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 981DE6DB84AF9E04C0A8BF09CF0BAEA4 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 63DAC47EB1099D62D3D8522EBD4A0901 /* Pods-10_CMD_iOSTests-dummy.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + B52EB97EAADC4B42F512DF593D183539 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + B133BB9C9B03481C7F1D221F35A617F2 /* Constraint.swift in Sources */, + 9779D52AD8CDA703D6EEE1C6D38E019F /* ConstraintAttributes.swift in Sources */, + E94B31DCAF75D93405D3BAE188604EB2 /* ConstraintConfig.swift in Sources */, + B3F75D115D5150C258F5E68404751010 /* ConstraintConstantTarget.swift in Sources */, + A051999781E1280746F7743BDEEA6C49 /* ConstraintDescription.swift in Sources */, + BE355F69F84788D334FDAC7D1CD9B8C4 /* ConstraintDirectionalInsets.swift in Sources */, + B4F9C9EC1B3F1689AE56BB719AE5439C /* ConstraintDirectionalInsetTarget.swift in Sources */, + F366D04DEA0EBBCA9CA4F1F4E29695E8 /* ConstraintDSL.swift in Sources */, + A0371DF7D93D9B86BD50474D4B9294FD /* ConstraintInsets.swift in Sources */, + 7052944C657F270E47777446D0E10E1C /* ConstraintInsetTarget.swift in Sources */, + 906EF891E58A035281766993F82373E3 /* ConstraintItem.swift in Sources */, + 0A5C290276F7453D9471E25BEA655842 /* ConstraintLayoutGuide.swift in Sources */, + 938CFF5F6DE6E7E8CE94373E51F3E07A /* ConstraintLayoutGuide+Extensions.swift in Sources */, + 0DA9A9D2F8960818017E26DA480FA143 /* ConstraintLayoutGuideDSL.swift in Sources */, + 13CC0CFB1C56F23BBC872801F983C1A3 /* ConstraintLayoutSupport.swift in Sources */, + D92AEF78B87F929D88D5C876ABBAD79A /* ConstraintLayoutSupportDSL.swift in Sources */, + 8640829049AE9907FE93825E5510C33D /* ConstraintMaker.swift in Sources */, + 0AD7A0DA8FF5880E3D8599062129AB12 /* ConstraintMakerEditable.swift in Sources */, + 6431218578A566C5EBF5FD166F164059 /* ConstraintMakerExtendable.swift in Sources */, + BF567AEFDD52DC43AC75122734D571E2 /* ConstraintMakerFinalizable.swift in Sources */, + 87996D11DC92EE19EAF9305DAEA4ACF2 /* ConstraintMakerPrioritizable.swift in Sources */, + 950B809760A8CE4375DCE1016FB9859F /* ConstraintMakerRelatable.swift in Sources */, + 15F68E09ADCDB843B938C490059485BD /* ConstraintMakerRelatable+Extensions.swift in Sources */, + 50E4E24710A4C5A77BE6594A10DFE773 /* ConstraintMultiplierTarget.swift in Sources */, + 56CD198002D3D45274F6719725B983CF /* ConstraintOffsetTarget.swift in Sources */, + EFC90283F9AB43BB6FF377812BD3673F /* ConstraintPriority.swift in Sources */, + 77D782DE125D322922466676E2FFA289 /* ConstraintPriorityTarget.swift in Sources */, + FFD7E1B8FA0F3960BE24DA2D20647332 /* ConstraintRelatableTarget.swift in Sources */, + F94703ED86C58DDBE5A2503D148CD040 /* ConstraintRelation.swift in Sources */, + 8868BA37E3CE7C58D26123806D543F3F /* ConstraintView.swift in Sources */, + C04DBE6AE13FC5CFD01D363A351EF76A /* ConstraintView+Extensions.swift in Sources */, + 0D665B6767B345D8C70D7E029A2A48D8 /* ConstraintViewDSL.swift in Sources */, + 1E7E37C51375285EA22294CD2ADB3159 /* Debugging.swift in Sources */, + 6E2884B29CD49EE91C48C725105F295A /* LayoutConstraint.swift in Sources */, + A35877DE0C3D6B4CF2A10E666EF5F490 /* LayoutConstraintItem.swift in Sources */, + 3DAFEDCDC5094007E329D71FE84FF704 /* SnapKit-dummy.m in Sources */, + 73F8AC99A58E5837924C056E89543B97 /* Typealiases.swift in Sources */, + 891D1BF14C8881C74262EE9DBE5D67A9 /* UILayoutSupport+Extensions.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + D9DF5AEE1B525A8BA763D0DFA7241A71 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 3091F1A82E0FD6ABA766EBC91D4E5DE6 /* Then.swift in Sources */, + D936EF159A167C7E4C5E5764C22F458F /* Then-dummy.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 20A56282FC8E3FCC60009DD8CE6F37A8 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = Then; + target = C17AEFC79E770A2906EFAAB1A3757406 /* Then */; + targetProxy = 9A098E77844AED7C419E00F7E78D4CE5 /* PBXContainerItemProxy */; + }; + 621679B8121930792117E4A0DD798DC1 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = SnapKit; + target = 19622742EBA51E823D6DAE3F8CDBFAD4 /* SnapKit */; + targetProxy = 8A8BD5EC349835E6B123A1F352F97D7F /* PBXContainerItemProxy */; + }; + 8FB255333E71B3D9BECB1D80173BE1A9 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = Then; + target = C17AEFC79E770A2906EFAAB1A3757406 /* Then */; + targetProxy = 86E99A87C592365887839D33D429F965 /* PBXContainerItemProxy */; + }; + B2D89F60734713DF81FF7B8F8C5FD0C5 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "SnapKit-SnapKit_Privacy"; + target = 8A8DB685241263AFDF5E6B20FE67B93A /* SnapKit-SnapKit_Privacy */; + targetProxy = 9BD48EA791179DD88A1556728A756474 /* PBXContainerItemProxy */; + }; + CC092BCB18DB116B418A262D809F58C8 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = SnapKit; + target = 19622742EBA51E823D6DAE3F8CDBFAD4 /* SnapKit */; + targetProxy = D7A975DF54BAA6ACF6EE669080D97C07 /* PBXContainerItemProxy */; + }; + EBFA4B61E6E9838CE8B3552DEE3C47CA /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "Pods-10_CMD_iOS"; + target = 576F442F9B1A3EFCE81BBE5006AE2B97 /* Pods-10_CMD_iOS */; + targetProxy = AAA2FDDD1B15FB0F604418463BE51252 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin XCBuildConfiguration section */ + 1084499D30187EF2815C86CFD328C989 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 564B35E0F9E260B53AE061EE7C6EC271 /* SnapKit.debug.xcconfig */; + buildSettings = { + CODE_SIGNING_ALLOWED = NO; + CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/SnapKit"; + IBSC_MODULE = SnapKit; + INFOPLIST_FILE = "Target Support Files/SnapKit/ResourceBundle-SnapKit_Privacy-SnapKit-Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; + PRODUCT_NAME = SnapKit_Privacy; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + WRAPPER_EXTENSION = bundle; + }; + name = Debug; + }; + 119D25BC8590F02A997CE3B28DA2EFA5 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "POD_CONFIGURATION_DEBUG=1", + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 17.5; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + PRODUCT_NAME = "$(TARGET_NAME)"; + STRIP_INSTALLED_PRODUCT = NO; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + SYMROOT = "${SRCROOT}/../build"; + }; + name = Debug; + }; + 21EEDE05E54F77870D2B08F93E43448D /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 96ECFFFDAE53E908185E808A3CA35555 /* Pods-10_CMD_iOS.release.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + CLANG_ENABLE_OBJC_WEAK = NO; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = "Target Support Files/Pods-10_CMD_iOS/Pods-10_CMD_iOS-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 17.5; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-10_CMD_iOS/Pods-10_CMD_iOS.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; + 2D746648E58369984029646FBC7A3019 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 2E6BAC77DAD69D9E1A9F4443DA09B627 /* SnapKit.release.xcconfig */; + buildSettings = { + CODE_SIGNING_ALLOWED = NO; + CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/SnapKit"; + IBSC_MODULE = SnapKit; + INFOPLIST_FILE = "Target Support Files/SnapKit/ResourceBundle-SnapKit_Privacy-SnapKit-Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; + PRODUCT_NAME = SnapKit_Privacy; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + WRAPPER_EXTENSION = bundle; + }; + name = Release; + }; + 52235FB3181E517F1F2D37DE71959EE4 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = CB180C0FBFD80CB0219D4AA718A6ED56 /* Then.debug.xcconfig */; + buildSettings = { + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/Then/Then-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/Then/Then-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + MODULEMAP_FILE = "Target Support Files/Then/Then.modulemap"; + PRODUCT_MODULE_NAME = Then; + PRODUCT_NAME = Then; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + 5BF1D462B74F30BF1F1A0CE072B54766 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 1D92D6CB0F36F0907E8CE618508671AB /* Pods-10_CMD_iOS-10_CMD_iOSUITests.release.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + CLANG_ENABLE_OBJC_WEAK = NO; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = "Target Support Files/Pods-10_CMD_iOS-10_CMD_iOSUITests/Pods-10_CMD_iOS-10_CMD_iOSUITests-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 17.5; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-10_CMD_iOS-10_CMD_iOSUITests/Pods-10_CMD_iOS-10_CMD_iOSUITests.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; + 6F4225877C794ABEB78776F47754104E /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_PREPROCESSOR_DEFINITIONS = ( + "POD_CONFIGURATION_RELEASE=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 17.5; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + PRODUCT_NAME = "$(TARGET_NAME)"; + STRIP_INSTALLED_PRODUCT = NO; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + SWIFT_VERSION = 5.0; + SYMROOT = "${SRCROOT}/../build"; + }; + name = Release; + }; + 984240AE6A3D535525200348828211E3 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 2E6BAC77DAD69D9E1A9F4443DA09B627 /* SnapKit.release.xcconfig */; + buildSettings = { + CLANG_ENABLE_OBJC_WEAK = NO; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/SnapKit/SnapKit-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/SnapKit/SnapKit-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + MODULEMAP_FILE = "Target Support Files/SnapKit/SnapKit.modulemap"; + PRODUCT_MODULE_NAME = SnapKit; + PRODUCT_NAME = SnapKit; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; + 9BE74A79C631F46CFCA7BFE53484C718 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = E10F56200E69A415AFA48A22961FDCE5 /* Pods-10_CMD_iOSTests.release.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + CLANG_ENABLE_OBJC_WEAK = NO; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = "Target Support Files/Pods-10_CMD_iOSTests/Pods-10_CMD_iOSTests-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 17.5; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-10_CMD_iOSTests/Pods-10_CMD_iOSTests.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; + 9C0B415A54C1C30F674208B8ADAB6C17 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 564B35E0F9E260B53AE061EE7C6EC271 /* SnapKit.debug.xcconfig */; + buildSettings = { + CLANG_ENABLE_OBJC_WEAK = NO; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/SnapKit/SnapKit-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/SnapKit/SnapKit-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + MODULEMAP_FILE = "Target Support Files/SnapKit/SnapKit.modulemap"; + PRODUCT_MODULE_NAME = SnapKit; + PRODUCT_NAME = SnapKit; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + 9DCE1D00E6D8163230168E6736AFE116 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 8EEE60146823C6A7CE85AF78F50A225D /* Then.release.xcconfig */; + buildSettings = { + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/Then/Then-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/Then/Then-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + MODULEMAP_FILE = "Target Support Files/Then/Then.modulemap"; + PRODUCT_MODULE_NAME = Then; + PRODUCT_NAME = Then; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; + A9CF2E6F27881BF353C6F8079B737543 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 64F0CFE0A8702868F7D4DD1F20AA465F /* Pods-10_CMD_iOS-10_CMD_iOSUITests.debug.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + CLANG_ENABLE_OBJC_WEAK = NO; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = "Target Support Files/Pods-10_CMD_iOS-10_CMD_iOSUITests/Pods-10_CMD_iOS-10_CMD_iOSUITests-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 17.5; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-10_CMD_iOS-10_CMD_iOSUITests/Pods-10_CMD_iOS-10_CMD_iOSUITests.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + E4BDEFF34192E63146CD5B1EFDD82736 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = DECA3E15622A479B26277940B62D33D0 /* Pods-10_CMD_iOS.debug.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + CLANG_ENABLE_OBJC_WEAK = NO; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = "Target Support Files/Pods-10_CMD_iOS/Pods-10_CMD_iOS-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 17.5; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-10_CMD_iOS/Pods-10_CMD_iOS.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + FCCF82DCA6800B66F836277415FB3BFE /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 3A1747C6A6E23AB09680496AD6BAA863 /* Pods-10_CMD_iOSTests.debug.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + CLANG_ENABLE_OBJC_WEAK = NO; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = "Target Support Files/Pods-10_CMD_iOSTests/Pods-10_CMD_iOSTests-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 17.5; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-10_CMD_iOSTests/Pods-10_CMD_iOSTests.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 119D25BC8590F02A997CE3B28DA2EFA5 /* Debug */, + 6F4225877C794ABEB78776F47754104E /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 4C4F25F04C086237315FCAEF7661357E /* Build configuration list for PBXNativeTarget "SnapKit" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 9C0B415A54C1C30F674208B8ADAB6C17 /* Debug */, + 984240AE6A3D535525200348828211E3 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 726ED95648402B5E3980C9D72F56E356 /* Build configuration list for PBXNativeTarget "Pods-10_CMD_iOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + E4BDEFF34192E63146CD5B1EFDD82736 /* Debug */, + 21EEDE05E54F77870D2B08F93E43448D /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 9066CF256D5B92C1B2C5053115F4AC74 /* Build configuration list for PBXNativeTarget "Then" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 52235FB3181E517F1F2D37DE71959EE4 /* Debug */, + 9DCE1D00E6D8163230168E6736AFE116 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + A41BC08AFDCE5DA2E460E65CF1A74FCC /* Build configuration list for PBXNativeTarget "SnapKit-SnapKit_Privacy" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 1084499D30187EF2815C86CFD328C989 /* Debug */, + 2D746648E58369984029646FBC7A3019 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + C1156F20E444D60832D5E3B5D383F9C4 /* Build configuration list for PBXNativeTarget "Pods-10_CMD_iOSTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + FCCF82DCA6800B66F836277415FB3BFE /* Debug */, + 9BE74A79C631F46CFCA7BFE53484C718 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + F7127474FF53866EF29B21465D1AB349 /* Build configuration list for PBXNativeTarget "Pods-10_CMD_iOS-10_CMD_iOSUITests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + A9CF2E6F27881BF353C6F8079B737543 /* Debug */, + 5BF1D462B74F30BF1F1A0CE072B54766 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = BFDFE7DC352907FC980B868725387E98 /* Project object */; +} diff --git a/10_CMD_iOS/Pods/Pods.xcodeproj/xcuserdata/sonheechan.xcuserdatad/xcschemes/Pods-10_CMD_iOS-10_CMD_iOSUITests.xcscheme b/10_CMD_iOS/Pods/Pods.xcodeproj/xcuserdata/sonheechan.xcuserdatad/xcschemes/Pods-10_CMD_iOS-10_CMD_iOSUITests.xcscheme new file mode 100644 index 0000000..4f7dd28 --- /dev/null +++ b/10_CMD_iOS/Pods/Pods.xcodeproj/xcuserdata/sonheechan.xcuserdatad/xcschemes/Pods-10_CMD_iOS-10_CMD_iOSUITests.xcscheme @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/10_CMD_iOS/Pods/Pods.xcodeproj/xcuserdata/sonheechan.xcuserdatad/xcschemes/Pods-10_CMD_iOS.xcscheme b/10_CMD_iOS/Pods/Pods.xcodeproj/xcuserdata/sonheechan.xcuserdatad/xcschemes/Pods-10_CMD_iOS.xcscheme new file mode 100644 index 0000000..d1638d5 --- /dev/null +++ b/10_CMD_iOS/Pods/Pods.xcodeproj/xcuserdata/sonheechan.xcuserdatad/xcschemes/Pods-10_CMD_iOS.xcscheme @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/10_CMD_iOS/Pods/Pods.xcodeproj/xcuserdata/sonheechan.xcuserdatad/xcschemes/Pods-10_CMD_iOSTests.xcscheme b/10_CMD_iOS/Pods/Pods.xcodeproj/xcuserdata/sonheechan.xcuserdatad/xcschemes/Pods-10_CMD_iOSTests.xcscheme new file mode 100644 index 0000000..8a8d66d --- /dev/null +++ b/10_CMD_iOS/Pods/Pods.xcodeproj/xcuserdata/sonheechan.xcuserdatad/xcschemes/Pods-10_CMD_iOSTests.xcscheme @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/10_CMD_iOS/Pods/Pods.xcodeproj/xcuserdata/sonheechan.xcuserdatad/xcschemes/SnapKit-SnapKit_Privacy.xcscheme b/10_CMD_iOS/Pods/Pods.xcodeproj/xcuserdata/sonheechan.xcuserdatad/xcschemes/SnapKit-SnapKit_Privacy.xcscheme new file mode 100644 index 0000000..0a2d769 --- /dev/null +++ b/10_CMD_iOS/Pods/Pods.xcodeproj/xcuserdata/sonheechan.xcuserdatad/xcschemes/SnapKit-SnapKit_Privacy.xcscheme @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/10_CMD_iOS/Pods/Pods.xcodeproj/xcuserdata/sonheechan.xcuserdatad/xcschemes/SnapKit.xcscheme b/10_CMD_iOS/Pods/Pods.xcodeproj/xcuserdata/sonheechan.xcuserdatad/xcschemes/SnapKit.xcscheme new file mode 100644 index 0000000..a9360f1 --- /dev/null +++ b/10_CMD_iOS/Pods/Pods.xcodeproj/xcuserdata/sonheechan.xcuserdatad/xcschemes/SnapKit.xcscheme @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/10_CMD_iOS/Pods/Pods.xcodeproj/xcuserdata/sonheechan.xcuserdatad/xcschemes/Then.xcscheme b/10_CMD_iOS/Pods/Pods.xcodeproj/xcuserdata/sonheechan.xcuserdatad/xcschemes/Then.xcscheme new file mode 100644 index 0000000..2a67f5c --- /dev/null +++ b/10_CMD_iOS/Pods/Pods.xcodeproj/xcuserdata/sonheechan.xcuserdatad/xcschemes/Then.xcscheme @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/10_CMD_iOS/Pods/Pods.xcodeproj/xcuserdata/sonheechan.xcuserdatad/xcschemes/xcschememanagement.plist b/10_CMD_iOS/Pods/Pods.xcodeproj/xcuserdata/sonheechan.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..5ccc82c --- /dev/null +++ b/10_CMD_iOS/Pods/Pods.xcodeproj/xcuserdata/sonheechan.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,53 @@ + + + + + SchemeUserState + + Pods-10_CMD_iOS-10_CMD_iOSUITests.xcscheme + + isShown + + orderHint + 1 + + Pods-10_CMD_iOS.xcscheme + + isShown + + orderHint + 0 + + Pods-10_CMD_iOSTests.xcscheme + + isShown + + orderHint + 2 + + SnapKit-SnapKit_Privacy.xcscheme + + isShown + + orderHint + 4 + + SnapKit.xcscheme + + isShown + + orderHint + 3 + + Then.xcscheme + + isShown + + orderHint + 5 + + + SuppressBuildableAutocreation + + + diff --git a/10_CMD_iOS/Pods/SnapKit/LICENSE b/10_CMD_iOS/Pods/SnapKit/LICENSE new file mode 100644 index 0000000..a18ccfb --- /dev/null +++ b/10_CMD_iOS/Pods/SnapKit/LICENSE @@ -0,0 +1,19 @@ +Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/10_CMD_iOS/Pods/SnapKit/README.md b/10_CMD_iOS/Pods/SnapKit/README.md new file mode 100644 index 0000000..e1be307 --- /dev/null +++ b/10_CMD_iOS/Pods/SnapKit/README.md @@ -0,0 +1,155 @@ + + +SnapKit is a DSL to make Auto Layout easy on both iOS and OS X. + +[![Build Status](https://travis-ci.org/SnapKit/SnapKit.svg)](https://travis-ci.org/SnapKit/SnapKit) +[![Platform](https://img.shields.io/cocoapods/p/SnapKit.svg?style=flat)](https://github.com/SnapKit/SnapKit) +[![Cocoapods Compatible](https://img.shields.io/cocoapods/v/SnapKit.svg)](https://cocoapods.org/pods/SnapKit) +[![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage) + +#### ⚠️ **To use with Swift 4.x please ensure you are using >= 4.0.0** ⚠️ +#### ⚠️ **To use with Swift 5.x please ensure you are using >= 5.0.0** ⚠️ + +## Contents + +- [Requirements](#requirements) +- [Migration Guides](#migration-guides) +- [Communication](#communication) +- [Installation](#installation) +- [Usage](#usage) +- [Credits](#credits) +- [License](#license) + +## Requirements + +- iOS 12.0+ / Mac OS X 10.13+ / tvOS 10.0+ +- Xcode 10.0+ +- Swift 4.0+ + +## Migration Guides + +- [SnapKit 3.0 Migration Guide](Documentation/SnapKit%203.0%20Migration%20Guide.md) + +## Communication + +- If you **need help**, use [Stack Overflow](http://stackoverflow.com/questions/tagged/snapkit). (Tag 'snapkit') +- If you'd like to **ask a general question**, use [Stack Overflow](http://stackoverflow.com/questions/tagged/snapkit). +- If you **found a bug**, open an issue. +- If you **have a feature request**, open an issue. +- If you **want to contribute**, submit a pull request. + + +## Installation + +### CocoaPods + +[CocoaPods](http://cocoapods.org) is a dependency manager for Cocoa projects. You can install it with the following command: + +```bash +$ gem install cocoapods +``` + +> CocoaPods 1.1.0+ is required to build SnapKit 4.0.0+. + +To integrate SnapKit into your Xcode project using CocoaPods, specify it in your `Podfile`: + +```ruby +source 'https://github.com/CocoaPods/Specs.git' +platform :ios, '10.0' +use_frameworks! + +target '' do + pod 'SnapKit', '~> 5.7.0' +end +``` + +Then, run the following command: + +```bash +$ pod install +``` + +### Carthage + +[Carthage](https://github.com/Carthage/Carthage) is a decentralized dependency manager that builds your dependencies and provides you with binary frameworks. + +You can install Carthage with [Homebrew](http://brew.sh/) using the following command: + +```bash +$ brew update +$ brew install carthage +``` + +To integrate SnapKit into your Xcode project using Carthage, specify it in your `Cartfile`: + +```ogdl +github "SnapKit/SnapKit" ~> 5.0.0 +``` + +Run `carthage update` to build the framework and drag the built `SnapKit.framework` into your Xcode project. + +### Swift Package Manager + +[Swift Package Manager](https://swift.org/package-manager/) is a tool for managing the distribution of Swift code. It’s integrated with the Swift build system to automate the process of downloading, compiling, and linking dependencies. + +> Xcode 11+ is required to build SnapKit using Swift Package Manager. + +To integrate SnapKit into your Xcode project using Swift Package Manager, add it to the dependencies value of your `Package.swift`: + +```swift +dependencies: [ + .package(url: "https://github.com/SnapKit/SnapKit.git", .upToNextMajor(from: "5.0.1")) +] +``` + +### Manually + +If you prefer not to use either of the aforementioned dependency managers, you can integrate SnapKit into your project manually. + +--- + +## Usage + +### Quick Start + +```swift +import SnapKit + +class MyViewController: UIViewController { + + lazy var box = UIView() + + override func viewDidLoad() { + super.viewDidLoad() + + self.view.addSubview(box) + box.backgroundColor = .green + box.snp.makeConstraints { (make) -> Void in + make.width.height.equalTo(50) + make.center.equalTo(self.view) + } + } + +} +``` + +### Playground +You can try SnapKit in Playground. + +**Note:** + +> To try SnapKit in playground, open `SnapKit.xcworkspace` and build SnapKit.framework for any simulator first. + +### Resources + +- [Documentation](https://snapkit.github.io/SnapKit/docs/) +- [F.A.Q.](https://snapkit.github.io/SnapKit/faq/) + +## Credits + +- Robert Payne ([@robertjpayne](https://twitter.com/robertjpayne)) +- Many other contributors + +## License + +SnapKit is released under the MIT license. See LICENSE for details. diff --git a/10_CMD_iOS/Pods/SnapKit/Sources/Constraint.swift b/10_CMD_iOS/Pods/SnapKit/Sources/Constraint.swift new file mode 100644 index 0000000..b890152 --- /dev/null +++ b/10_CMD_iOS/Pods/SnapKit/Sources/Constraint.swift @@ -0,0 +1,341 @@ +// +// SnapKit +// +// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#if canImport(UIKit) + import UIKit +#else + import AppKit +#endif + +public final class Constraint { + + internal let sourceLocation: (String, UInt) + internal let label: String? + + private let from: ConstraintItem + private let to: ConstraintItem + private let relation: ConstraintRelation + private let multiplier: ConstraintMultiplierTarget + private var constant: ConstraintConstantTarget { + didSet { + self.updateConstantAndPriorityIfNeeded() + } + } + private var priority: ConstraintPriorityTarget { + didSet { + self.updateConstantAndPriorityIfNeeded() + } + } + public var layoutConstraints: [LayoutConstraint] + + public var isActive: Bool { + set { + if newValue { + activate() + } + else { + deactivate() + } + } + + get { + for layoutConstraint in self.layoutConstraints { + if layoutConstraint.isActive { + return true + } + } + return false + } + } + + // MARK: Initialization + + internal init(from: ConstraintItem, + to: ConstraintItem, + relation: ConstraintRelation, + sourceLocation: (String, UInt), + label: String?, + multiplier: ConstraintMultiplierTarget, + constant: ConstraintConstantTarget, + priority: ConstraintPriorityTarget) { + self.from = from + self.to = to + self.relation = relation + self.sourceLocation = sourceLocation + self.label = label + self.multiplier = multiplier + self.constant = constant + self.priority = priority + self.layoutConstraints = [] + + // get attributes + let layoutFromAttributes = self.from.attributes.layoutAttributes + let layoutToAttributes = self.to.attributes.layoutAttributes + + // get layout from + let layoutFrom = self.from.layoutConstraintItem! + + // get relation + let layoutRelation = self.relation.layoutRelation + + for layoutFromAttribute in layoutFromAttributes { + // get layout to attribute + let layoutToAttribute: LayoutAttribute + #if canImport(UIKit) + if layoutToAttributes.count > 0 { + if self.from.attributes == .edges && self.to.attributes == .margins { + switch layoutFromAttribute { + case .left: + layoutToAttribute = .leftMargin + case .right: + layoutToAttribute = .rightMargin + case .top: + layoutToAttribute = .topMargin + case .bottom: + layoutToAttribute = .bottomMargin + default: + fatalError() + } + } else if self.from.attributes == .margins && self.to.attributes == .edges { + switch layoutFromAttribute { + case .leftMargin: + layoutToAttribute = .left + case .rightMargin: + layoutToAttribute = .right + case .topMargin: + layoutToAttribute = .top + case .bottomMargin: + layoutToAttribute = .bottom + default: + fatalError() + } + } else if self.from.attributes == .directionalEdges && self.to.attributes == .directionalMargins { + switch layoutFromAttribute { + case .leading: + layoutToAttribute = .leadingMargin + case .trailing: + layoutToAttribute = .trailingMargin + case .top: + layoutToAttribute = .topMargin + case .bottom: + layoutToAttribute = .bottomMargin + default: + fatalError() + } + } else if self.from.attributes == .directionalMargins && self.to.attributes == .directionalEdges { + switch layoutFromAttribute { + case .leadingMargin: + layoutToAttribute = .leading + case .trailingMargin: + layoutToAttribute = .trailing + case .topMargin: + layoutToAttribute = .top + case .bottomMargin: + layoutToAttribute = .bottom + default: + fatalError() + } + } else if self.from.attributes == self.to.attributes { + layoutToAttribute = layoutFromAttribute + } else { + layoutToAttribute = layoutToAttributes[0] + } + } else { + if self.to.target == nil && (layoutFromAttribute == .centerX || layoutFromAttribute == .centerY) { + layoutToAttribute = layoutFromAttribute == .centerX ? .left : .top + } else { + layoutToAttribute = layoutFromAttribute + } + } + #else + if self.from.attributes == self.to.attributes { + layoutToAttribute = layoutFromAttribute + } else if layoutToAttributes.count > 0 { + layoutToAttribute = layoutToAttributes[0] + } else { + layoutToAttribute = layoutFromAttribute + } + #endif + + // get layout constant + let layoutConstant: CGFloat = self.constant.constraintConstantTargetValueFor(layoutAttribute: layoutToAttribute) + + // get layout to + var layoutTo: AnyObject? = self.to.target + + // use superview if possible + if layoutTo == nil && layoutToAttribute != .width && layoutToAttribute != .height { + layoutTo = layoutFrom.superview + } + + // create layout constraint + let layoutConstraint = LayoutConstraint( + item: layoutFrom, + attribute: layoutFromAttribute, + relatedBy: layoutRelation, + toItem: layoutTo, + attribute: layoutToAttribute, + multiplier: self.multiplier.constraintMultiplierTargetValue, + constant: layoutConstant + ) + + // set label + layoutConstraint.label = self.label + + // set priority + layoutConstraint.priority = LayoutPriority(rawValue: self.priority.constraintPriorityTargetValue) + + // set constraint + layoutConstraint.constraint = self + + // append + self.layoutConstraints.append(layoutConstraint) + } + } + + // MARK: Public + + @available(*, deprecated, renamed:"activate()") + public func install() { + self.activate() + } + + @available(*, deprecated, renamed:"deactivate()") + public func uninstall() { + self.deactivate() + } + + public func activate() { + self.activateIfNeeded() + } + + public func deactivate() { + self.deactivateIfNeeded() + } + + @discardableResult + public func update(offset: ConstraintOffsetTarget) -> Constraint { + self.constant = offset.constraintOffsetTargetValue + return self + } + + @discardableResult + public func update(inset: ConstraintInsetTarget) -> Constraint { + self.constant = inset.constraintInsetTargetValue + return self + } + + #if canImport(UIKit) + @discardableResult + @available(iOS 11.0, tvOS 11.0, *) + public func update(inset: ConstraintDirectionalInsetTarget) -> Constraint { + self.constant = inset.constraintDirectionalInsetTargetValue + return self + } + #endif + + @discardableResult + public func update(priority: ConstraintPriorityTarget) -> Constraint { + self.priority = priority.constraintPriorityTargetValue + return self + } + + @discardableResult + public func update(priority: ConstraintPriority) -> Constraint { + self.priority = priority.value + return self + } + + @available(*, deprecated, renamed:"update(offset:)") + public func updateOffset(amount: ConstraintOffsetTarget) -> Void { self.update(offset: amount) } + + @available(*, deprecated, renamed:"update(inset:)") + public func updateInsets(amount: ConstraintInsetTarget) -> Void { self.update(inset: amount) } + + @available(*, deprecated, renamed:"update(priority:)") + public func updatePriority(amount: ConstraintPriorityTarget) -> Void { self.update(priority: amount) } + + @available(*, deprecated, message:"Use update(priority: ConstraintPriorityTarget) instead.") + public func updatePriorityRequired() -> Void {} + + @available(*, deprecated, message:"Use update(priority: ConstraintPriorityTarget) instead.") + public func updatePriorityHigh() -> Void { fatalError("Must be implemented by Concrete subclass.") } + + @available(*, deprecated, message:"Use update(priority: ConstraintPriorityTarget) instead.") + public func updatePriorityMedium() -> Void { fatalError("Must be implemented by Concrete subclass.") } + + @available(*, deprecated, message:"Use update(priority: ConstraintPriorityTarget) instead.") + public func updatePriorityLow() -> Void { fatalError("Must be implemented by Concrete subclass.") } + + // MARK: Internal + + internal func updateConstantAndPriorityIfNeeded() { + for layoutConstraint in self.layoutConstraints { + let attribute = (layoutConstraint.secondAttribute == .notAnAttribute) ? layoutConstraint.firstAttribute : layoutConstraint.secondAttribute + layoutConstraint.constant = self.constant.constraintConstantTargetValueFor(layoutAttribute: attribute) + + let requiredPriority = ConstraintPriority.required.value + if (layoutConstraint.priority.rawValue < requiredPriority), (self.priority.constraintPriorityTargetValue != requiredPriority) { + layoutConstraint.priority = LayoutPriority(rawValue: self.priority.constraintPriorityTargetValue) + } + } + } + + internal func activateIfNeeded(updatingExisting: Bool = false) { + guard let item = self.from.layoutConstraintItem else { + print("WARNING: SnapKit failed to get from item from constraint. Activate will be a no-op.") + return + } + let layoutConstraints = self.layoutConstraints + + if updatingExisting { + var existingLayoutConstraints: [LayoutConstraint] = [] + for constraint in item.constraints { + existingLayoutConstraints += constraint.layoutConstraints + } + + for layoutConstraint in layoutConstraints { + let existingLayoutConstraint = existingLayoutConstraints.first { $0 == layoutConstraint } + guard let updateLayoutConstraint = existingLayoutConstraint else { + fatalError("Updated constraint could not find existing matching constraint to update: \(layoutConstraint)") + } + + let updateLayoutAttribute = (updateLayoutConstraint.secondAttribute == .notAnAttribute) ? updateLayoutConstraint.firstAttribute : updateLayoutConstraint.secondAttribute + updateLayoutConstraint.constant = self.constant.constraintConstantTargetValueFor(layoutAttribute: updateLayoutAttribute) + } + } else { + NSLayoutConstraint.activate(layoutConstraints) + item.add(constraints: [self]) + } + } + + internal func deactivateIfNeeded() { + guard let item = self.from.layoutConstraintItem else { + print("WARNING: SnapKit failed to get from item from constraint. Deactivate will be a no-op.") + return + } + let layoutConstraints = self.layoutConstraints + NSLayoutConstraint.deactivate(layoutConstraints) + item.remove(constraints: [self]) + } +} diff --git a/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintAttributes.swift b/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintAttributes.swift new file mode 100644 index 0000000..c1a79c2 --- /dev/null +++ b/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintAttributes.swift @@ -0,0 +1,203 @@ +// +// SnapKit +// +// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#if canImport(UIKit) + import UIKit +#else + import AppKit +#endif + + +internal struct ConstraintAttributes : OptionSet, ExpressibleByIntegerLiteral { + + typealias IntegerLiteralType = UInt + + internal init(rawValue: UInt) { + self.rawValue = rawValue + } + internal init(_ rawValue: UInt) { + self.init(rawValue: rawValue) + } + internal init(nilLiteral: ()) { + self.rawValue = 0 + } + internal init(integerLiteral rawValue: IntegerLiteralType) { + self.init(rawValue: rawValue) + } + + internal private(set) var rawValue: UInt + internal static var allZeros: ConstraintAttributes { return 0 } + internal static func convertFromNilLiteral() -> ConstraintAttributes { return 0 } + internal var boolValue: Bool { return self.rawValue != 0 } + + internal func toRaw() -> UInt { return self.rawValue } + internal static func fromRaw(_ raw: UInt) -> ConstraintAttributes? { return self.init(raw) } + internal static func fromMask(_ raw: UInt) -> ConstraintAttributes { return self.init(raw) } + + // normal + + internal static let none: ConstraintAttributes = 0 + internal static let left: ConstraintAttributes = ConstraintAttributes(UInt(1) << 0) + internal static let top: ConstraintAttributes = ConstraintAttributes(UInt(1) << 1) + internal static let right: ConstraintAttributes = ConstraintAttributes(UInt(1) << 2) + internal static let bottom: ConstraintAttributes = ConstraintAttributes(UInt(1) << 3) + internal static let leading: ConstraintAttributes = ConstraintAttributes(UInt(1) << 4) + internal static let trailing: ConstraintAttributes = ConstraintAttributes(UInt(1) << 5) + internal static let width: ConstraintAttributes = ConstraintAttributes(UInt(1) << 6) + internal static let height: ConstraintAttributes = ConstraintAttributes(UInt(1) << 7) + internal static let centerX: ConstraintAttributes = ConstraintAttributes(UInt(1) << 8) + internal static let centerY: ConstraintAttributes = ConstraintAttributes(UInt(1) << 9) + internal static let lastBaseline: ConstraintAttributes = ConstraintAttributes(UInt(1) << 10) + + @available(iOS 8.0, OSX 10.11, *) + internal static let firstBaseline: ConstraintAttributes = ConstraintAttributes(UInt(1) << 11) + + @available(iOS 8.0, *) + internal static let leftMargin: ConstraintAttributes = ConstraintAttributes(UInt(1) << 12) + + @available(iOS 8.0, *) + internal static let rightMargin: ConstraintAttributes = ConstraintAttributes(UInt(1) << 13) + + @available(iOS 8.0, *) + internal static let topMargin: ConstraintAttributes = ConstraintAttributes(UInt(1) << 14) + + @available(iOS 8.0, *) + internal static let bottomMargin: ConstraintAttributes = ConstraintAttributes(UInt(1) << 15) + + @available(iOS 8.0, *) + internal static let leadingMargin: ConstraintAttributes = ConstraintAttributes(UInt(1) << 16) + + @available(iOS 8.0, *) + internal static let trailingMargin: ConstraintAttributes = ConstraintAttributes(UInt(1) << 17) + + @available(iOS 8.0, *) + internal static let centerXWithinMargins: ConstraintAttributes = ConstraintAttributes(UInt(1) << 18) + + @available(iOS 8.0, *) + internal static let centerYWithinMargins: ConstraintAttributes = ConstraintAttributes(UInt(1) << 19) + + // aggregates + + internal static let edges: ConstraintAttributes = [.horizontalEdges, .verticalEdges] + internal static let horizontalEdges: ConstraintAttributes = [.left, .right] + internal static let verticalEdges: ConstraintAttributes = [.top, .bottom] + internal static let directionalEdges: ConstraintAttributes = [.directionalHorizontalEdges, .directionalVerticalEdges] + internal static let directionalHorizontalEdges: ConstraintAttributes = [.leading, .trailing] + internal static let directionalVerticalEdges: ConstraintAttributes = [.top, .bottom] + internal static let size: ConstraintAttributes = [.width, .height] + internal static let center: ConstraintAttributes = [.centerX, .centerY] + + @available(iOS 8.0, *) + internal static let margins: ConstraintAttributes = [.leftMargin, .topMargin, .rightMargin, .bottomMargin] + + @available(iOS 8.0, *) + internal static let directionalMargins: ConstraintAttributes = [.leadingMargin, .topMargin, .trailingMargin, .bottomMargin] + + @available(iOS 8.0, *) + internal static let centerWithinMargins: ConstraintAttributes = [.centerXWithinMargins, .centerYWithinMargins] + + internal var layoutAttributes:[LayoutAttribute] { + var attrs = [LayoutAttribute]() + if (self.contains(ConstraintAttributes.left)) { + attrs.append(.left) + } + if (self.contains(ConstraintAttributes.top)) { + attrs.append(.top) + } + if (self.contains(ConstraintAttributes.right)) { + attrs.append(.right) + } + if (self.contains(ConstraintAttributes.bottom)) { + attrs.append(.bottom) + } + if (self.contains(ConstraintAttributes.leading)) { + attrs.append(.leading) + } + if (self.contains(ConstraintAttributes.trailing)) { + attrs.append(.trailing) + } + if (self.contains(ConstraintAttributes.width)) { + attrs.append(.width) + } + if (self.contains(ConstraintAttributes.height)) { + attrs.append(.height) + } + if (self.contains(ConstraintAttributes.centerX)) { + attrs.append(.centerX) + } + if (self.contains(ConstraintAttributes.centerY)) { + attrs.append(.centerY) + } + if (self.contains(ConstraintAttributes.lastBaseline)) { + attrs.append(.lastBaseline) + } + + #if canImport(UIKit) + if (self.contains(ConstraintAttributes.firstBaseline)) { + attrs.append(.firstBaseline) + } + if (self.contains(ConstraintAttributes.leftMargin)) { + attrs.append(.leftMargin) + } + if (self.contains(ConstraintAttributes.rightMargin)) { + attrs.append(.rightMargin) + } + if (self.contains(ConstraintAttributes.topMargin)) { + attrs.append(.topMargin) + } + if (self.contains(ConstraintAttributes.bottomMargin)) { + attrs.append(.bottomMargin) + } + if (self.contains(ConstraintAttributes.leadingMargin)) { + attrs.append(.leadingMargin) + } + if (self.contains(ConstraintAttributes.trailingMargin)) { + attrs.append(.trailingMargin) + } + if (self.contains(ConstraintAttributes.centerXWithinMargins)) { + attrs.append(.centerXWithinMargins) + } + if (self.contains(ConstraintAttributes.centerYWithinMargins)) { + attrs.append(.centerYWithinMargins) + } + #endif + + return attrs + } +} + +internal func + (left: ConstraintAttributes, right: ConstraintAttributes) -> ConstraintAttributes { + return left.union(right) +} + +internal func +=(left: inout ConstraintAttributes, right: ConstraintAttributes) { + left.formUnion(right) +} + +internal func -=(left: inout ConstraintAttributes, right: ConstraintAttributes) { + left.subtract(right) +} + +internal func ==(left: ConstraintAttributes, right: ConstraintAttributes) -> Bool { + return left.rawValue == right.rawValue +} diff --git a/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintConfig.swift b/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintConfig.swift new file mode 100644 index 0000000..9bd0f23 --- /dev/null +++ b/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintConfig.swift @@ -0,0 +1,37 @@ +// +// SnapKit +// +// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#if canImport(UIKit) + import UIKit + public typealias ConstraintInterfaceLayoutDirection = UIUserInterfaceLayoutDirection +#else + import AppKit + public typealias ConstraintInterfaceLayoutDirection = NSUserInterfaceLayoutDirection +#endif + + +public struct ConstraintConfig { + + public static var interfaceLayoutDirection: ConstraintInterfaceLayoutDirection = .leftToRight + +} diff --git a/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintConstantTarget.swift b/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintConstantTarget.swift new file mode 100644 index 0000000..e16f503 --- /dev/null +++ b/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintConstantTarget.swift @@ -0,0 +1,213 @@ +// +// SnapKit +// +// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#if canImport(UIKit) + import UIKit +#else + import AppKit +#endif + + +public protocol ConstraintConstantTarget { +} + +extension CGPoint: ConstraintConstantTarget { +} + +extension CGSize: ConstraintConstantTarget { +} + +extension ConstraintInsets: ConstraintConstantTarget { +} + +#if canImport(UIKit) +@available(iOS 11.0, tvOS 11.0, *) +extension ConstraintDirectionalInsets: ConstraintConstantTarget { +} +#endif + +extension ConstraintConstantTarget { + + internal func constraintConstantTargetValueFor(layoutAttribute: LayoutAttribute) -> CGFloat { + if let value = self as? CGFloat { + return value + } + + if let value = self as? Float { + return CGFloat(value) + } + + if let value = self as? Double { + return CGFloat(value) + } + + if let value = self as? Int { + return CGFloat(value) + } + + if let value = self as? UInt { + return CGFloat(value) + } + + if let value = self as? CGSize { + if layoutAttribute == .width { + return value.width + } else if layoutAttribute == .height { + return value.height + } else { + return 0.0 + } + } + + if let value = self as? CGPoint { + #if canImport(UIKit) + switch layoutAttribute { + case .left, .right, .leading, .trailing, .centerX, .leftMargin, .rightMargin, .leadingMargin, .trailingMargin, .centerXWithinMargins: + return value.x + case .top, .bottom, .centerY, .topMargin, .bottomMargin, .centerYWithinMargins, .lastBaseline, .firstBaseline: + return value.y + case .width, .height, .notAnAttribute: + return 0.0 + #if swift(>=5.0) + @unknown default: + return 0.0 + #endif + } + #else + switch layoutAttribute { + case .left, .right, .leading, .trailing, .centerX: + return value.x + case .top, .bottom, .centerY, .lastBaseline, .firstBaseline: + return value.y + case .width, .height, .notAnAttribute: + return 0.0 + #if swift(>=5.0) + @unknown default: + return 0.0 + #endif + } + #endif + } + + if let value = self as? ConstraintInsets { + #if canImport(UIKit) + switch layoutAttribute { + case .left, .leftMargin: + return value.left + case .top, .topMargin, .firstBaseline: + return value.top + case .right, .rightMargin: + return -value.right + case .bottom, .bottomMargin, .lastBaseline: + return -value.bottom + case .leading, .leadingMargin: + return (ConstraintConfig.interfaceLayoutDirection == .leftToRight) ? value.left : value.right + case .trailing, .trailingMargin: + return (ConstraintConfig.interfaceLayoutDirection == .leftToRight) ? -value.right : -value.left + case .centerX, .centerXWithinMargins: + return (value.left - value.right) / 2 + case .centerY, .centerYWithinMargins: + return (value.top - value.bottom) / 2 + case .width: + return -(value.left + value.right) + case .height: + return -(value.top + value.bottom) + case .notAnAttribute: + return 0.0 + #if swift(>=5.0) + @unknown default: + return 0.0 + #endif + } + #else + switch layoutAttribute { + case .left: + return value.left + case .top, .firstBaseline: + return value.top + case .right: + return -value.right + case .bottom, .lastBaseline: + return -value.bottom + case .leading: + return (ConstraintConfig.interfaceLayoutDirection == .leftToRight) ? value.left : value.right + case .trailing: + return (ConstraintConfig.interfaceLayoutDirection == .leftToRight) ? -value.right : -value.left + case .centerX: + return (value.left - value.right) / 2 + case .centerY: + return (value.top - value.bottom) / 2 + case .width: + return -(value.left + value.right) + case .height: + return -(value.top + value.bottom) + case .notAnAttribute: + return 0.0 + #if swift(>=5.0) + @unknown default: + return 0.0 + #endif + } + #endif + } + + #if canImport(UIKit) + if #available(iOS 11.0, tvOS 11.0, *), let value = self as? ConstraintDirectionalInsets { + switch layoutAttribute { + case .left, .leftMargin: + return (ConstraintConfig.interfaceLayoutDirection == .leftToRight) ? value.leading : value.trailing + case .top, .topMargin, .firstBaseline: + return value.top + case .right, .rightMargin: + return (ConstraintConfig.interfaceLayoutDirection == .leftToRight) ? -value.trailing : -value.leading + case .bottom, .bottomMargin, .lastBaseline: + return -value.bottom + case .leading, .leadingMargin: + return value.leading + case .trailing, .trailingMargin: + return -value.trailing + case .centerX, .centerXWithinMargins: + return (value.leading - value.trailing) / 2 + case .centerY, .centerYWithinMargins: + return (value.top - value.bottom) / 2 + case .width: + return -(value.leading + value.trailing) + case .height: + return -(value.top + value.bottom) + case .notAnAttribute: + return 0.0 + #if swift(>=5.0) + @unknown default: + return 0.0 + #else + default: + return 0.0 + #endif + } + } + #endif + + return 0.0 + } + +} diff --git a/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintDSL.swift b/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintDSL.swift new file mode 100644 index 0000000..5683b7f --- /dev/null +++ b/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintDSL.swift @@ -0,0 +1,209 @@ +// +// SnapKit +// +// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#if canImport(UIKit) + import UIKit +#else + import AppKit +#endif + + +public protocol ConstraintDSL { + + var target: AnyObject? { get } + + func setLabel(_ value: String?) + func label() -> String? + +} +extension ConstraintDSL { + + public func setLabel(_ value: String?) { + objc_setAssociatedObject(self.target as Any, &labelKey, value, .OBJC_ASSOCIATION_COPY_NONATOMIC) + } + public func label() -> String? { + return objc_getAssociatedObject(self.target as Any, &labelKey) as? String + } + +} +private var labelKey: UInt8 = 0 + + +public protocol ConstraintBasicAttributesDSL : ConstraintDSL { +} +extension ConstraintBasicAttributesDSL { + + // MARK: Basics + + public var left: ConstraintItem { + return ConstraintItem(target: self.target, attributes: ConstraintAttributes.left) + } + + public var top: ConstraintItem { + return ConstraintItem(target: self.target, attributes: ConstraintAttributes.top) + } + + public var right: ConstraintItem { + return ConstraintItem(target: self.target, attributes: ConstraintAttributes.right) + } + + public var bottom: ConstraintItem { + return ConstraintItem(target: self.target, attributes: ConstraintAttributes.bottom) + } + + public var leading: ConstraintItem { + return ConstraintItem(target: self.target, attributes: ConstraintAttributes.leading) + } + + public var trailing: ConstraintItem { + return ConstraintItem(target: self.target, attributes: ConstraintAttributes.trailing) + } + + public var width: ConstraintItem { + return ConstraintItem(target: self.target, attributes: ConstraintAttributes.width) + } + + public var height: ConstraintItem { + return ConstraintItem(target: self.target, attributes: ConstraintAttributes.height) + } + + public var centerX: ConstraintItem { + return ConstraintItem(target: self.target, attributes: ConstraintAttributes.centerX) + } + + public var centerY: ConstraintItem { + return ConstraintItem(target: self.target, attributes: ConstraintAttributes.centerY) + } + + public var edges: ConstraintItem { + return ConstraintItem(target: self.target, attributes: ConstraintAttributes.edges) + } + + public var directionalEdges: ConstraintItem { + return ConstraintItem(target: self.target, attributes: ConstraintAttributes.directionalEdges) + } + + public var horizontalEdges: ConstraintItem { + return ConstraintItem(target: self.target, attributes: ConstraintAttributes.horizontalEdges) + } + + public var verticalEdges: ConstraintItem { + return ConstraintItem(target: self.target, attributes: ConstraintAttributes.verticalEdges) + } + + public var directionalHorizontalEdges: ConstraintItem { + return ConstraintItem(target: self.target, attributes: ConstraintAttributes.directionalHorizontalEdges) + } + + public var directionalVerticalEdges: ConstraintItem { + return ConstraintItem(target: self.target, attributes: ConstraintAttributes.directionalVerticalEdges) + } + + public var size: ConstraintItem { + return ConstraintItem(target: self.target, attributes: ConstraintAttributes.size) + } + + public var center: ConstraintItem { + return ConstraintItem(target: self.target, attributes: ConstraintAttributes.center) + } + +} + +public protocol ConstraintAttributesDSL : ConstraintBasicAttributesDSL { +} +extension ConstraintAttributesDSL { + + // MARK: Baselines + @available(*, deprecated, renamed:"lastBaseline") + public var baseline: ConstraintItem { + return ConstraintItem(target: self.target, attributes: ConstraintAttributes.lastBaseline) + } + + @available(iOS 8.0, OSX 10.11, *) + public var lastBaseline: ConstraintItem { + return ConstraintItem(target: self.target, attributes: ConstraintAttributes.lastBaseline) + } + + @available(iOS 8.0, OSX 10.11, *) + public var firstBaseline: ConstraintItem { + return ConstraintItem(target: self.target, attributes: ConstraintAttributes.firstBaseline) + } + + // MARK: Margins + + @available(iOS 8.0, *) + public var leftMargin: ConstraintItem { + return ConstraintItem(target: self.target, attributes: ConstraintAttributes.leftMargin) + } + + @available(iOS 8.0, *) + public var topMargin: ConstraintItem { + return ConstraintItem(target: self.target, attributes: ConstraintAttributes.topMargin) + } + + @available(iOS 8.0, *) + public var rightMargin: ConstraintItem { + return ConstraintItem(target: self.target, attributes: ConstraintAttributes.rightMargin) + } + + @available(iOS 8.0, *) + public var bottomMargin: ConstraintItem { + return ConstraintItem(target: self.target, attributes: ConstraintAttributes.bottomMargin) + } + + @available(iOS 8.0, *) + public var leadingMargin: ConstraintItem { + return ConstraintItem(target: self.target, attributes: ConstraintAttributes.leadingMargin) + } + + @available(iOS 8.0, *) + public var trailingMargin: ConstraintItem { + return ConstraintItem(target: self.target, attributes: ConstraintAttributes.trailingMargin) + } + + @available(iOS 8.0, *) + public var centerXWithinMargins: ConstraintItem { + return ConstraintItem(target: self.target, attributes: ConstraintAttributes.centerXWithinMargins) + } + + @available(iOS 8.0, *) + public var centerYWithinMargins: ConstraintItem { + return ConstraintItem(target: self.target, attributes: ConstraintAttributes.centerYWithinMargins) + } + + @available(iOS 8.0, *) + public var margins: ConstraintItem { + return ConstraintItem(target: self.target, attributes: ConstraintAttributes.margins) + } + + @available(iOS 8.0, *) + public var directionalMargins: ConstraintItem { + return ConstraintItem(target: self.target, attributes: ConstraintAttributes.directionalMargins) + } + + @available(iOS 8.0, *) + public var centerWithinMargins: ConstraintItem { + return ConstraintItem(target: self.target, attributes: ConstraintAttributes.centerWithinMargins) + } + +} diff --git a/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintDescription.swift b/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintDescription.swift new file mode 100644 index 0000000..b9d476c --- /dev/null +++ b/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintDescription.swift @@ -0,0 +1,69 @@ +// +// SnapKit +// +// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#if canImport(UIKit) + import UIKit +#else + import AppKit +#endif + + +public class ConstraintDescription { + + internal let item: LayoutConstraintItem + internal var attributes: ConstraintAttributes + internal var relation: ConstraintRelation? = nil + internal var sourceLocation: (String, UInt)? = nil + internal var label: String? = nil + internal var related: ConstraintItem? = nil + internal var multiplier: ConstraintMultiplierTarget = 1.0 + internal var constant: ConstraintConstantTarget = 0.0 + internal var priority: ConstraintPriorityTarget = 1000.0 + internal lazy var constraint: Constraint? = { + guard let relation = self.relation, + let related = self.related, + let sourceLocation = self.sourceLocation else { + return nil + } + let from = ConstraintItem(target: self.item, attributes: self.attributes) + + return Constraint( + from: from, + to: related, + relation: relation, + sourceLocation: sourceLocation, + label: self.label, + multiplier: self.multiplier, + constant: self.constant, + priority: self.priority + ) + }() + + // MARK: Initialization + + internal init(item: LayoutConstraintItem, attributes: ConstraintAttributes) { + self.item = item + self.attributes = attributes + } + +} diff --git a/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintDirectionalInsetTarget.swift b/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintDirectionalInsetTarget.swift new file mode 100644 index 0000000..4c3c418 --- /dev/null +++ b/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintDirectionalInsetTarget.swift @@ -0,0 +1,49 @@ +// +// SnapKit +// +// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#if canImport(UIKit) +import UIKit +#else +import AppKit +#endif + +#if canImport(UIKit) +public protocol ConstraintDirectionalInsetTarget: ConstraintConstantTarget { +} + +@available(iOS 11.0, tvOS 11.0, *) +extension ConstraintDirectionalInsets: ConstraintDirectionalInsetTarget { +} + +extension ConstraintDirectionalInsetTarget { + + @available(iOS 11.0, tvOS 11.0, *) + internal var constraintDirectionalInsetTargetValue: ConstraintDirectionalInsets { + if let amount = self as? ConstraintDirectionalInsets { + return amount + } else { + return ConstraintDirectionalInsets(top: 0, leading: 0, bottom: 0, trailing: 0) + } + } +} +#endif diff --git a/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintDirectionalInsets.swift b/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintDirectionalInsets.swift new file mode 100644 index 0000000..056b5c8 --- /dev/null +++ b/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintDirectionalInsets.swift @@ -0,0 +1,34 @@ +// +// SnapKit +// +// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#if canImport(UIKit) + import UIKit +#else + import AppKit +#endif + + +#if canImport(UIKit) + @available(iOS 11.0, tvOS 11.0, *) + public typealias ConstraintDirectionalInsets = NSDirectionalEdgeInsets +#endif diff --git a/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintInsetTarget.swift b/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintInsetTarget.swift new file mode 100644 index 0000000..43c0220 --- /dev/null +++ b/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintInsetTarget.swift @@ -0,0 +1,72 @@ +// +// SnapKit +// +// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#if canImport(UIKit) + import UIKit +#else + import AppKit +#endif + + +public protocol ConstraintInsetTarget: ConstraintConstantTarget { +} + +extension Int: ConstraintInsetTarget { +} + +extension UInt: ConstraintInsetTarget { +} + +extension Float: ConstraintInsetTarget { +} + +extension Double: ConstraintInsetTarget { +} + +extension CGFloat: ConstraintInsetTarget { +} + +extension ConstraintInsets: ConstraintInsetTarget { +} + +extension ConstraintInsetTarget { + + internal var constraintInsetTargetValue: ConstraintInsets { + if let amount = self as? ConstraintInsets { + return amount + } else if let amount = self as? Float { + return ConstraintInsets(top: CGFloat(amount), left: CGFloat(amount), bottom: CGFloat(amount), right: CGFloat(amount)) + } else if let amount = self as? Double { + return ConstraintInsets(top: CGFloat(amount), left: CGFloat(amount), bottom: CGFloat(amount), right: CGFloat(amount)) + } else if let amount = self as? CGFloat { + return ConstraintInsets(top: amount, left: amount, bottom: amount, right: amount) + } else if let amount = self as? Int { + return ConstraintInsets(top: CGFloat(amount), left: CGFloat(amount), bottom: CGFloat(amount), right: CGFloat(amount)) + } else if let amount = self as? UInt { + return ConstraintInsets(top: CGFloat(amount), left: CGFloat(amount), bottom: CGFloat(amount), right: CGFloat(amount)) + } else { + return ConstraintInsets(top: 0, left: 0, bottom: 0, right: 0) + } + } + +} diff --git a/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintInsets.swift b/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintInsets.swift new file mode 100644 index 0000000..64d781d --- /dev/null +++ b/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintInsets.swift @@ -0,0 +1,35 @@ +// +// SnapKit +// +// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#if canImport(UIKit) + import UIKit +#else + import AppKit +#endif + + +#if canImport(UIKit) + public typealias ConstraintInsets = UIEdgeInsets +#else + public typealias ConstraintInsets = NSEdgeInsets +#endif diff --git a/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintItem.swift b/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintItem.swift new file mode 100644 index 0000000..2f92221 --- /dev/null +++ b/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintItem.swift @@ -0,0 +1,61 @@ +// +// SnapKit +// +// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#if canImport(UIKit) + import UIKit +#else + import AppKit +#endif + + +public final class ConstraintItem { + + internal weak var target: AnyObject? + internal let attributes: ConstraintAttributes + + internal init(target: AnyObject?, attributes: ConstraintAttributes) { + self.target = target + self.attributes = attributes + } + + internal var layoutConstraintItem: LayoutConstraintItem? { + return self.target as? LayoutConstraintItem + } + +} + +public func ==(lhs: ConstraintItem, rhs: ConstraintItem) -> Bool { + // pointer equality + guard lhs !== rhs else { + return true + } + + // must both have valid targets and identical attributes + guard let target1 = lhs.target, + let target2 = rhs.target, + target1 === target2 && lhs.attributes == rhs.attributes else { + return false + } + + return true +} diff --git a/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintLayoutGuide+Extensions.swift b/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintLayoutGuide+Extensions.swift new file mode 100644 index 0000000..e9fd9b3 --- /dev/null +++ b/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintLayoutGuide+Extensions.swift @@ -0,0 +1,36 @@ +// +// SnapKit +// +// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#if canImport(UIKit) + import UIKit +#endif + + +@available(iOS 9.0, OSX 10.11, *) +public extension ConstraintLayoutGuide { + + var snp: ConstraintLayoutGuideDSL { + return ConstraintLayoutGuideDSL(guide: self) + } + +} diff --git a/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintLayoutGuide.swift b/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintLayoutGuide.swift new file mode 100644 index 0000000..fd89556 --- /dev/null +++ b/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintLayoutGuide.swift @@ -0,0 +1,37 @@ +// +// SnapKit +// +// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#if canImport(UIKit) + import UIKit +#else + import AppKit +#endif + + +#if canImport(UIKit) + @available(iOS 9.0, *) + public typealias ConstraintLayoutGuide = UILayoutGuide +#else + @available(OSX 10.11, *) + public typealias ConstraintLayoutGuide = NSLayoutGuide +#endif diff --git a/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintLayoutGuideDSL.swift b/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintLayoutGuideDSL.swift new file mode 100644 index 0000000..7e78261 --- /dev/null +++ b/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintLayoutGuideDSL.swift @@ -0,0 +1,66 @@ +// +// SnapKit +// +// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#if canImport(UIKit) + import UIKit +#else + import AppKit +#endif + + +@available(iOS 9.0, OSX 10.11, *) +public struct ConstraintLayoutGuideDSL: ConstraintAttributesDSL { + + @discardableResult + public func prepareConstraints(_ closure: (_ make: ConstraintMaker) -> Void) -> [Constraint] { + return ConstraintMaker.prepareConstraints(item: self.guide, closure: closure) + } + + public func makeConstraints(_ closure: (_ make: ConstraintMaker) -> Void) { + ConstraintMaker.makeConstraints(item: self.guide, closure: closure) + } + + public func remakeConstraints(_ closure: (_ make: ConstraintMaker) -> Void) { + ConstraintMaker.remakeConstraints(item: self.guide, closure: closure) + } + + public func updateConstraints(_ closure: (_ make: ConstraintMaker) -> Void) { + ConstraintMaker.updateConstraints(item: self.guide, closure: closure) + } + + public func removeConstraints() { + ConstraintMaker.removeConstraints(item: self.guide) + } + + public var target: AnyObject? { + return self.guide + } + + internal let guide: ConstraintLayoutGuide + + internal init(guide: ConstraintLayoutGuide) { + self.guide = guide + + } + +} diff --git a/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintLayoutSupport.swift b/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintLayoutSupport.swift new file mode 100644 index 0000000..085f5cd --- /dev/null +++ b/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintLayoutSupport.swift @@ -0,0 +1,36 @@ +// +// SnapKit +// +// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#if canImport(UIKit) + import UIKit +#else + import AppKit +#endif + + +#if canImport(UIKit) + @available(iOS 8.0, *) + public typealias ConstraintLayoutSupport = UILayoutSupport +#else + public class ConstraintLayoutSupport {} +#endif diff --git a/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintLayoutSupportDSL.swift b/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintLayoutSupportDSL.swift new file mode 100644 index 0000000..71e1158 --- /dev/null +++ b/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintLayoutSupportDSL.swift @@ -0,0 +1,56 @@ +// +// SnapKit +// +// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#if canImport(UIKit) + import UIKit +#else + import AppKit +#endif + + +@available(iOS 8.0, *) +public struct ConstraintLayoutSupportDSL: ConstraintDSL { + + public var target: AnyObject? { + return self.support + } + + internal let support: ConstraintLayoutSupport + + internal init(support: ConstraintLayoutSupport) { + self.support = support + + } + + public var top: ConstraintItem { + return ConstraintItem(target: self.target, attributes: ConstraintAttributes.top) + } + + public var bottom: ConstraintItem { + return ConstraintItem(target: self.target, attributes: ConstraintAttributes.bottom) + } + + public var height: ConstraintItem { + return ConstraintItem(target: self.target, attributes: ConstraintAttributes.height) + } +} diff --git a/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintMaker.swift b/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintMaker.swift new file mode 100644 index 0000000..7c352f6 --- /dev/null +++ b/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintMaker.swift @@ -0,0 +1,224 @@ +// +// SnapKit +// +// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#if canImport(UIKit) + import UIKit +#else + import AppKit +#endif + +public class ConstraintMaker { + + public var left: ConstraintMakerExtendable { + return self.makeExtendableWithAttributes(.left) + } + + public var top: ConstraintMakerExtendable { + return self.makeExtendableWithAttributes(.top) + } + + public var bottom: ConstraintMakerExtendable { + return self.makeExtendableWithAttributes(.bottom) + } + + public var right: ConstraintMakerExtendable { + return self.makeExtendableWithAttributes(.right) + } + + public var leading: ConstraintMakerExtendable { + return self.makeExtendableWithAttributes(.leading) + } + + public var trailing: ConstraintMakerExtendable { + return self.makeExtendableWithAttributes(.trailing) + } + + public var width: ConstraintMakerExtendable { + return self.makeExtendableWithAttributes(.width) + } + + public var height: ConstraintMakerExtendable { + return self.makeExtendableWithAttributes(.height) + } + + public var centerX: ConstraintMakerExtendable { + return self.makeExtendableWithAttributes(.centerX) + } + + public var centerY: ConstraintMakerExtendable { + return self.makeExtendableWithAttributes(.centerY) + } + + @available(*, deprecated, renamed:"lastBaseline") + public var baseline: ConstraintMakerExtendable { + return self.makeExtendableWithAttributes(.lastBaseline) + } + + public var lastBaseline: ConstraintMakerExtendable { + return self.makeExtendableWithAttributes(.lastBaseline) + } + + @available(iOS 8.0, OSX 10.11, *) + public var firstBaseline: ConstraintMakerExtendable { + return self.makeExtendableWithAttributes(.firstBaseline) + } + + @available(iOS 8.0, *) + public var leftMargin: ConstraintMakerExtendable { + return self.makeExtendableWithAttributes(.leftMargin) + } + + @available(iOS 8.0, *) + public var rightMargin: ConstraintMakerExtendable { + return self.makeExtendableWithAttributes(.rightMargin) + } + + @available(iOS 8.0, *) + public var topMargin: ConstraintMakerExtendable { + return self.makeExtendableWithAttributes(.topMargin) + } + + @available(iOS 8.0, *) + public var bottomMargin: ConstraintMakerExtendable { + return self.makeExtendableWithAttributes(.bottomMargin) + } + + @available(iOS 8.0, *) + public var leadingMargin: ConstraintMakerExtendable { + return self.makeExtendableWithAttributes(.leadingMargin) + } + + @available(iOS 8.0, *) + public var trailingMargin: ConstraintMakerExtendable { + return self.makeExtendableWithAttributes(.trailingMargin) + } + + @available(iOS 8.0, *) + public var centerXWithinMargins: ConstraintMakerExtendable { + return self.makeExtendableWithAttributes(.centerXWithinMargins) + } + + @available(iOS 8.0, *) + public var centerYWithinMargins: ConstraintMakerExtendable { + return self.makeExtendableWithAttributes(.centerYWithinMargins) + } + + public var edges: ConstraintMakerExtendable { + return self.makeExtendableWithAttributes(.edges) + } + public var horizontalEdges: ConstraintMakerExtendable { + return self.makeExtendableWithAttributes(.horizontalEdges) + } + public var verticalEdges: ConstraintMakerExtendable { + return self.makeExtendableWithAttributes(.verticalEdges) + } + public var directionalEdges: ConstraintMakerExtendable { + return self.makeExtendableWithAttributes(.directionalEdges) + } + public var directionalHorizontalEdges: ConstraintMakerExtendable { + return self.makeExtendableWithAttributes(.directionalHorizontalEdges) + } + public var directionalVerticalEdges: ConstraintMakerExtendable { + return self.makeExtendableWithAttributes(.directionalVerticalEdges) + } + public var size: ConstraintMakerExtendable { + return self.makeExtendableWithAttributes(.size) + } + public var center: ConstraintMakerExtendable { + return self.makeExtendableWithAttributes(.center) + } + + @available(iOS 8.0, *) + public var margins: ConstraintMakerExtendable { + return self.makeExtendableWithAttributes(.margins) + } + + @available(iOS 8.0, *) + public var directionalMargins: ConstraintMakerExtendable { + return self.makeExtendableWithAttributes(.directionalMargins) + } + + @available(iOS 8.0, *) + public var centerWithinMargins: ConstraintMakerExtendable { + return self.makeExtendableWithAttributes(.centerWithinMargins) + } + + public let item: LayoutConstraintItem + private var descriptions = [ConstraintDescription]() + + internal init(item: LayoutConstraintItem) { + self.item = item + self.item.prepare() + } + + internal func makeExtendableWithAttributes(_ attributes: ConstraintAttributes) -> ConstraintMakerExtendable { + let description = ConstraintDescription(item: self.item, attributes: attributes) + self.descriptions.append(description) + return ConstraintMakerExtendable(description) + } + + internal static func prepareConstraints(item: LayoutConstraintItem, closure: (_ make: ConstraintMaker) -> Void) -> [Constraint] { + let maker = ConstraintMaker(item: item) + closure(maker) + var constraints: [Constraint] = [] + for description in maker.descriptions { + guard let constraint = description.constraint else { + continue + } + constraints.append(constraint) + } + return constraints + } + + internal static func makeConstraints(item: LayoutConstraintItem, closure: (_ make: ConstraintMaker) -> Void) { + let constraints = prepareConstraints(item: item, closure: closure) + for constraint in constraints { + constraint.activateIfNeeded(updatingExisting: false) + } + } + + internal static func remakeConstraints(item: LayoutConstraintItem, closure: (_ make: ConstraintMaker) -> Void) { + self.removeConstraints(item: item) + self.makeConstraints(item: item, closure: closure) + } + + internal static func updateConstraints(item: LayoutConstraintItem, closure: (_ make: ConstraintMaker) -> Void) { + guard item.constraints.count > 0 else { + self.makeConstraints(item: item, closure: closure) + return + } + + let constraints = prepareConstraints(item: item, closure: closure) + for constraint in constraints { + constraint.activateIfNeeded(updatingExisting: true) + } + } + + internal static func removeConstraints(item: LayoutConstraintItem) { + let constraints = item.constraints + for constraint in constraints { + constraint.deactivateIfNeeded() + } + } + +} diff --git a/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintMakerEditable.swift b/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintMakerEditable.swift new file mode 100644 index 0000000..0e08e38 --- /dev/null +++ b/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintMakerEditable.swift @@ -0,0 +1,64 @@ +// +// SnapKit +// +// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#if canImport(UIKit) + import UIKit +#else + import AppKit +#endif + + +public class ConstraintMakerEditable: ConstraintMakerPrioritizable { + + @discardableResult + public func multipliedBy(_ amount: ConstraintMultiplierTarget) -> ConstraintMakerEditable { + self.description.multiplier = amount + return self + } + + @discardableResult + public func dividedBy(_ amount: ConstraintMultiplierTarget) -> ConstraintMakerEditable { + return self.multipliedBy(1.0 / amount.constraintMultiplierTargetValue) + } + + @discardableResult + public func offset(_ amount: ConstraintOffsetTarget) -> ConstraintMakerEditable { + self.description.constant = amount.constraintOffsetTargetValue + return self + } + + @discardableResult + public func inset(_ amount: ConstraintInsetTarget) -> ConstraintMakerEditable { + self.description.constant = amount.constraintInsetTargetValue + return self + } + + #if canImport(UIKit) + @discardableResult + @available(iOS 11.0, tvOS 11.0, *) + public func inset(_ amount: ConstraintDirectionalInsetTarget) -> ConstraintMakerEditable { + self.description.constant = amount.constraintDirectionalInsetTargetValue + return self + } + #endif +} diff --git a/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintMakerExtendable.swift b/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintMakerExtendable.swift new file mode 100644 index 0000000..b30688e --- /dev/null +++ b/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintMakerExtendable.swift @@ -0,0 +1,195 @@ +// +// SnapKit +// +// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#if canImport(UIKit) + import UIKit +#else + import AppKit +#endif + + +public class ConstraintMakerExtendable: ConstraintMakerRelatable { + + public var left: ConstraintMakerExtendable { + self.description.attributes += .left + return self + } + + public var top: ConstraintMakerExtendable { + self.description.attributes += .top + return self + } + + public var bottom: ConstraintMakerExtendable { + self.description.attributes += .bottom + return self + } + + public var right: ConstraintMakerExtendable { + self.description.attributes += .right + return self + } + + public var leading: ConstraintMakerExtendable { + self.description.attributes += .leading + return self + } + + public var trailing: ConstraintMakerExtendable { + self.description.attributes += .trailing + return self + } + + public var width: ConstraintMakerExtendable { + self.description.attributes += .width + return self + } + + public var height: ConstraintMakerExtendable { + self.description.attributes += .height + return self + } + + public var centerX: ConstraintMakerExtendable { + self.description.attributes += .centerX + return self + } + + public var centerY: ConstraintMakerExtendable { + self.description.attributes += .centerY + return self + } + + @available(*, deprecated, renamed:"lastBaseline") + public var baseline: ConstraintMakerExtendable { + self.description.attributes += .lastBaseline + return self + } + + public var lastBaseline: ConstraintMakerExtendable { + self.description.attributes += .lastBaseline + return self + } + + @available(iOS 8.0, OSX 10.11, *) + public var firstBaseline: ConstraintMakerExtendable { + self.description.attributes += .firstBaseline + return self + } + + @available(iOS 8.0, *) + public var leftMargin: ConstraintMakerExtendable { + self.description.attributes += .leftMargin + return self + } + + @available(iOS 8.0, *) + public var rightMargin: ConstraintMakerExtendable { + self.description.attributes += .rightMargin + return self + } + + @available(iOS 8.0, *) + public var topMargin: ConstraintMakerExtendable { + self.description.attributes += .topMargin + return self + } + + @available(iOS 8.0, *) + public var bottomMargin: ConstraintMakerExtendable { + self.description.attributes += .bottomMargin + return self + } + + @available(iOS 8.0, *) + public var leadingMargin: ConstraintMakerExtendable { + self.description.attributes += .leadingMargin + return self + } + + @available(iOS 8.0, *) + public var trailingMargin: ConstraintMakerExtendable { + self.description.attributes += .trailingMargin + return self + } + + @available(iOS 8.0, *) + public var centerXWithinMargins: ConstraintMakerExtendable { + self.description.attributes += .centerXWithinMargins + return self + } + + @available(iOS 8.0, *) + public var centerYWithinMargins: ConstraintMakerExtendable { + self.description.attributes += .centerYWithinMargins + return self + } + + public var edges: ConstraintMakerExtendable { + self.description.attributes += .edges + return self + } + public var horizontalEdges: ConstraintMakerExtendable { + self.description.attributes += .horizontalEdges + return self + } + public var verticalEdges: ConstraintMakerExtendable { + self.description.attributes += .verticalEdges + return self + } + public var directionalEdges: ConstraintMakerExtendable { + self.description.attributes += .directionalEdges + return self + } + public var directionalHorizontalEdges: ConstraintMakerExtendable { + self.description.attributes += .directionalHorizontalEdges + return self + } + public var directionalVerticalEdges: ConstraintMakerExtendable { + self.description.attributes += .directionalVerticalEdges + return self + } + public var size: ConstraintMakerExtendable { + self.description.attributes += .size + return self + } + + @available(iOS 8.0, *) + public var margins: ConstraintMakerExtendable { + self.description.attributes += .margins + return self + } + + @available(iOS 8.0, *) + public var directionalMargins: ConstraintMakerExtendable { + self.description.attributes += .directionalMargins + return self + } + + @available(iOS 8.0, *) + public var centerWithinMargins: ConstraintMakerExtendable { + self.description.attributes += .centerWithinMargins + return self + } + +} diff --git a/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintMakerFinalizable.swift b/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintMakerFinalizable.swift new file mode 100644 index 0000000..8342476 --- /dev/null +++ b/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintMakerFinalizable.swift @@ -0,0 +1,49 @@ +// +// SnapKit +// +// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#if canImport(UIKit) + import UIKit +#else + import AppKit +#endif + + +public class ConstraintMakerFinalizable { + + internal let description: ConstraintDescription + + internal init(_ description: ConstraintDescription) { + self.description = description + } + + @discardableResult + public func labeled(_ label: String) -> ConstraintMakerFinalizable { + self.description.label = label + return self + } + + public var constraint: Constraint { + return self.description.constraint! + } + +} diff --git a/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintMakerPrioritizable.swift b/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintMakerPrioritizable.swift new file mode 100644 index 0000000..05451e6 --- /dev/null +++ b/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintMakerPrioritizable.swift @@ -0,0 +1,70 @@ +// +// SnapKit +// +// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#if canImport(UIKit) + import UIKit +#else + import AppKit +#endif + +@available(*, deprecated, message:"Use ConstraintMakerPrioritizable instead.") +public typealias ConstraintMakerPriortizable = ConstraintMakerPrioritizable + +public class ConstraintMakerPrioritizable: ConstraintMakerFinalizable { + + @discardableResult + public func priority(_ amount: ConstraintPriority) -> ConstraintMakerFinalizable { + self.description.priority = amount.value + return self + } + + @discardableResult + public func priority(_ amount: ConstraintPriorityTarget) -> ConstraintMakerFinalizable { + self.description.priority = amount + return self + } + + @available(*, deprecated, message:"Use priority(.required) instead.") + @discardableResult + public func priorityRequired() -> ConstraintMakerFinalizable { + return self.priority(.required) + } + + @available(*, deprecated, message:"Use priority(.high) instead.") + @discardableResult + public func priorityHigh() -> ConstraintMakerFinalizable { + return self.priority(.high) + } + + @available(*, deprecated, message:"Use priority(.medium) instead.") + @discardableResult + public func priorityMedium() -> ConstraintMakerFinalizable { + return self.priority(.medium) + } + + @available(*, deprecated, message:"Use priority(.low) instead.") + @discardableResult + public func priorityLow() -> ConstraintMakerFinalizable { + return self.priority(.low) + } +} diff --git a/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintMakerRelatable+Extensions.swift b/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintMakerRelatable+Extensions.swift new file mode 100644 index 0000000..bfde272 --- /dev/null +++ b/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintMakerRelatable+Extensions.swift @@ -0,0 +1,57 @@ +// +// SnapKit +// +// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#if canImport(UIKit) + import UIKit +#else + import AppKit +#endif + + +extension ConstraintMakerRelatable { + + @discardableResult + public func equalToSuperview(_ closure: (ConstraintView) -> T, _ file: String = #file, line: UInt = #line) -> ConstraintMakerEditable { + guard let other = self.description.item.superview else { + fatalError("Expected superview but found nil when attempting make constraint `equalToSuperview`.") + } + return self.relatedTo(closure(other), relation: .equal, file: file, line: line) + } + + @discardableResult + public func lessThanOrEqualToSuperview(_ closure: (ConstraintView) -> T, _ file: String = #file, line: UInt = #line) -> ConstraintMakerEditable { + guard let other = self.description.item.superview else { + fatalError("Expected superview but found nil when attempting make constraint `lessThanOrEqualToSuperview`.") + } + return self.relatedTo(closure(other), relation: .lessThanOrEqual, file: file, line: line) + } + + @discardableResult + public func greaterThanOrEqualToSuperview(_ closure: (ConstraintView) -> T, _ file: String = #file, line: UInt = #line) -> ConstraintMakerEditable { + guard let other = self.description.item.superview else { + fatalError("Expected superview but found nil when attempting make constraint `greaterThanOrEqualToSuperview`.") + } + return self.relatedTo(closure(other), relation: .greaterThanOrEqual, file: file, line: line) + } + +} diff --git a/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintMakerRelatable.swift b/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintMakerRelatable.swift new file mode 100644 index 0000000..0a3d5ee --- /dev/null +++ b/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintMakerRelatable.swift @@ -0,0 +1,115 @@ +// +// SnapKit +// +// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#if canImport(UIKit) + import UIKit +#else + import AppKit +#endif + + +public class ConstraintMakerRelatable { + + internal let description: ConstraintDescription + + internal init(_ description: ConstraintDescription) { + self.description = description + } + + internal func relatedTo(_ other: ConstraintRelatableTarget, relation: ConstraintRelation, file: String, line: UInt) -> ConstraintMakerEditable { + let related: ConstraintItem + let constant: ConstraintConstantTarget + + if let other = other as? ConstraintItem { + guard other.attributes == ConstraintAttributes.none || + other.attributes.layoutAttributes.count <= 1 || + other.attributes.layoutAttributes == self.description.attributes.layoutAttributes || + other.attributes == .edges && self.description.attributes == .margins || + other.attributes == .margins && self.description.attributes == .edges || + other.attributes == .directionalEdges && self.description.attributes == .directionalMargins || + other.attributes == .directionalMargins && self.description.attributes == .directionalEdges else { + fatalError("Cannot constraint to multiple non identical attributes. (\(file), \(line))"); + } + + related = other + constant = 0.0 + } else if let other = other as? ConstraintView { + related = ConstraintItem(target: other, attributes: ConstraintAttributes.none) + constant = 0.0 + } else if let other = other as? ConstraintConstantTarget { + related = ConstraintItem(target: nil, attributes: ConstraintAttributes.none) + constant = other + } else if #available(iOS 9.0, OSX 10.11, *), let other = other as? ConstraintLayoutGuide { + related = ConstraintItem(target: other, attributes: ConstraintAttributes.none) + constant = 0.0 + } else { + fatalError("Invalid constraint. (\(file), \(line))") + } + + let editable = ConstraintMakerEditable(self.description) + editable.description.sourceLocation = (file, line) + editable.description.relation = relation + editable.description.related = related + editable.description.constant = constant + return editable + } + + @discardableResult + public func equalTo(_ other: ConstraintRelatableTarget, _ file: String = #file, _ line: UInt = #line) -> ConstraintMakerEditable { + return self.relatedTo(other, relation: .equal, file: file, line: line) + } + + @discardableResult + public func equalToSuperview(_ file: String = #file, _ line: UInt = #line) -> ConstraintMakerEditable { + guard let other = self.description.item.superview else { + fatalError("Expected superview but found nil when attempting make constraint `equalToSuperview`.") + } + return self.relatedTo(other, relation: .equal, file: file, line: line) + } + + @discardableResult + public func lessThanOrEqualTo(_ other: ConstraintRelatableTarget, _ file: String = #file, _ line: UInt = #line) -> ConstraintMakerEditable { + return self.relatedTo(other, relation: .lessThanOrEqual, file: file, line: line) + } + + @discardableResult + public func lessThanOrEqualToSuperview(_ file: String = #file, _ line: UInt = #line) -> ConstraintMakerEditable { + guard let other = self.description.item.superview else { + fatalError("Expected superview but found nil when attempting make constraint `lessThanOrEqualToSuperview`.") + } + return self.relatedTo(other, relation: .lessThanOrEqual, file: file, line: line) + } + + @discardableResult + public func greaterThanOrEqualTo(_ other: ConstraintRelatableTarget, _ file: String = #file, line: UInt = #line) -> ConstraintMakerEditable { + return self.relatedTo(other, relation: .greaterThanOrEqual, file: file, line: line) + } + + @discardableResult + public func greaterThanOrEqualToSuperview(_ file: String = #file, line: UInt = #line) -> ConstraintMakerEditable { + guard let other = self.description.item.superview else { + fatalError("Expected superview but found nil when attempting make constraint `greaterThanOrEqualToSuperview`.") + } + return self.relatedTo(other, relation: .greaterThanOrEqual, file: file, line: line) + } +} diff --git a/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintMultiplierTarget.swift b/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintMultiplierTarget.swift new file mode 100644 index 0000000..ac537ba --- /dev/null +++ b/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintMultiplierTarget.swift @@ -0,0 +1,75 @@ +// +// SnapKit +// +// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#if canImport(UIKit) + import UIKit +#else + import AppKit +#endif + + +public protocol ConstraintMultiplierTarget { + + var constraintMultiplierTargetValue: CGFloat { get } + +} + +extension Int: ConstraintMultiplierTarget { + + public var constraintMultiplierTargetValue: CGFloat { + return CGFloat(self) + } + +} + +extension UInt: ConstraintMultiplierTarget { + + public var constraintMultiplierTargetValue: CGFloat { + return CGFloat(self) + } + +} + +extension Float: ConstraintMultiplierTarget { + + public var constraintMultiplierTargetValue: CGFloat { + return CGFloat(self) + } + +} + +extension Double: ConstraintMultiplierTarget { + + public var constraintMultiplierTargetValue: CGFloat { + return CGFloat(self) + } + +} + +extension CGFloat: ConstraintMultiplierTarget { + + public var constraintMultiplierTargetValue: CGFloat { + return self + } + +} diff --git a/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintOffsetTarget.swift b/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintOffsetTarget.swift new file mode 100644 index 0000000..6ec1107 --- /dev/null +++ b/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintOffsetTarget.swift @@ -0,0 +1,69 @@ +// +// SnapKit +// +// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#if canImport(UIKit) + import UIKit +#else + import AppKit +#endif + + +public protocol ConstraintOffsetTarget: ConstraintConstantTarget { +} + +extension Int: ConstraintOffsetTarget { +} + +extension UInt: ConstraintOffsetTarget { +} + +extension Float: ConstraintOffsetTarget { +} + +extension Double: ConstraintOffsetTarget { +} + +extension CGFloat: ConstraintOffsetTarget { +} + +extension ConstraintOffsetTarget { + + internal var constraintOffsetTargetValue: CGFloat { + let offset: CGFloat + if let amount = self as? Float { + offset = CGFloat(amount) + } else if let amount = self as? Double { + offset = CGFloat(amount) + } else if let amount = self as? CGFloat { + offset = CGFloat(amount) + } else if let amount = self as? Int { + offset = CGFloat(amount) + } else if let amount = self as? UInt { + offset = CGFloat(amount) + } else { + offset = 0.0 + } + return offset + } + +} diff --git a/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintPriority.swift b/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintPriority.swift new file mode 100644 index 0000000..bf90693 --- /dev/null +++ b/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintPriority.swift @@ -0,0 +1,77 @@ +// +// SnapKit +// +// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#if canImport(UIKit) + import UIKit +#else + import AppKit +#endif + +public struct ConstraintPriority : ExpressibleByFloatLiteral, Equatable, Strideable { + public typealias FloatLiteralType = Float + + public let value: Float + + public init(floatLiteral value: Float) { + self.value = value + } + + public init(_ value: Float) { + self.value = value + } + + public static var required: ConstraintPriority { + return 1000.0 + } + + public static var high: ConstraintPriority { + return 750.0 + } + + public static var medium: ConstraintPriority { + #if os(OSX) + return 501.0 + #else + return 500.0 + #endif + + } + + public static var low: ConstraintPriority { + return 250.0 + } + + public static func ==(lhs: ConstraintPriority, rhs: ConstraintPriority) -> Bool { + return lhs.value == rhs.value + } + + // MARK: Strideable + + public func advanced(by n: FloatLiteralType) -> ConstraintPriority { + return ConstraintPriority(floatLiteral: value + n) + } + + public func distance(to other: ConstraintPriority) -> FloatLiteralType { + return other.value - value + } +} diff --git a/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintPriorityTarget.swift b/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintPriorityTarget.swift new file mode 100644 index 0000000..1aa701e --- /dev/null +++ b/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintPriorityTarget.swift @@ -0,0 +1,85 @@ +// +// SnapKit +// +// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#if canImport(UIKit) + import UIKit +#else + import AppKit +#endif + + +public protocol ConstraintPriorityTarget { + + var constraintPriorityTargetValue: Float { get } + +} + +extension Int: ConstraintPriorityTarget { + + public var constraintPriorityTargetValue: Float { + return Float(self) + } + +} + +extension UInt: ConstraintPriorityTarget { + + public var constraintPriorityTargetValue: Float { + return Float(self) + } + +} + +extension Float: ConstraintPriorityTarget { + + public var constraintPriorityTargetValue: Float { + return self + } + +} + +extension Double: ConstraintPriorityTarget { + + public var constraintPriorityTargetValue: Float { + return Float(self) + } + +} + +extension CGFloat: ConstraintPriorityTarget { + + public var constraintPriorityTargetValue: Float { + return Float(self) + } + +} + +#if canImport(UIKit) +extension UILayoutPriority: ConstraintPriorityTarget { + + public var constraintPriorityTargetValue: Float { + return self.rawValue + } + +} +#endif diff --git a/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintRelatableTarget.swift b/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintRelatableTarget.swift new file mode 100644 index 0000000..df04464 --- /dev/null +++ b/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintRelatableTarget.swift @@ -0,0 +1,72 @@ +// +// SnapKit +// +// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#if canImport(UIKit) + import UIKit +#else + import AppKit +#endif + + +public protocol ConstraintRelatableTarget { +} + +extension Int: ConstraintRelatableTarget { +} + +extension UInt: ConstraintRelatableTarget { +} + +extension Float: ConstraintRelatableTarget { +} + +extension Double: ConstraintRelatableTarget { +} + +extension CGFloat: ConstraintRelatableTarget { +} + +extension CGSize: ConstraintRelatableTarget { +} + +extension CGPoint: ConstraintRelatableTarget { +} + +extension ConstraintInsets: ConstraintRelatableTarget { +} + +#if canImport(UIKit) +@available(iOS 11.0, tvOS 11.0, *) +extension ConstraintDirectionalInsets: ConstraintRelatableTarget { +} +#endif + +extension ConstraintItem: ConstraintRelatableTarget { +} + +extension ConstraintView: ConstraintRelatableTarget { +} + +@available(iOS 9.0, OSX 10.11, *) +extension ConstraintLayoutGuide: ConstraintRelatableTarget { +} diff --git a/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintRelation.swift b/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintRelation.swift new file mode 100644 index 0000000..643d499 --- /dev/null +++ b/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintRelation.swift @@ -0,0 +1,48 @@ +// +// SnapKit +// +// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#if canImport(UIKit) + import UIKit +#else + import AppKit +#endif + + +internal enum ConstraintRelation : Int { + case equal = 1 + case lessThanOrEqual + case greaterThanOrEqual + + internal var layoutRelation: LayoutRelation { + get { + switch(self) { + case .equal: + return .equal + case .lessThanOrEqual: + return .lessThanOrEqual + case .greaterThanOrEqual: + return .greaterThanOrEqual + } + } + } +} diff --git a/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintView+Extensions.swift b/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintView+Extensions.swift new file mode 100644 index 0000000..1225c04 --- /dev/null +++ b/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintView+Extensions.swift @@ -0,0 +1,152 @@ +// +// SnapKit +// +// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#if canImport(UIKit) + import UIKit +#else + import AppKit +#endif + + +public extension ConstraintView { + + @available(*, deprecated, renamed:"snp.left") + var snp_left: ConstraintItem { return self.snp.left } + + @available(*, deprecated, renamed:"snp.top") + var snp_top: ConstraintItem { return self.snp.top } + + @available(*, deprecated, renamed:"snp.right") + var snp_right: ConstraintItem { return self.snp.right } + + @available(*, deprecated, renamed:"snp.bottom") + var snp_bottom: ConstraintItem { return self.snp.bottom } + + @available(*, deprecated, renamed:"snp.leading") + var snp_leading: ConstraintItem { return self.snp.leading } + + @available(*, deprecated, renamed:"snp.trailing") + var snp_trailing: ConstraintItem { return self.snp.trailing } + + @available(*, deprecated, renamed:"snp.width") + var snp_width: ConstraintItem { return self.snp.width } + + @available(*, deprecated, renamed:"snp.height") + var snp_height: ConstraintItem { return self.snp.height } + + @available(*, deprecated, renamed:"snp.centerX") + var snp_centerX: ConstraintItem { return self.snp.centerX } + + @available(*, deprecated, renamed:"snp.centerY") + var snp_centerY: ConstraintItem { return self.snp.centerY } + + @available(*, deprecated, renamed:"snp.baseline") + var snp_baseline: ConstraintItem { return self.snp.baseline } + + @available(*, deprecated, renamed:"snp.lastBaseline") + @available(iOS 8.0, OSX 10.11, *) + var snp_lastBaseline: ConstraintItem { return self.snp.lastBaseline } + + @available(iOS, deprecated, renamed:"snp.firstBaseline") + @available(iOS 8.0, OSX 10.11, *) + var snp_firstBaseline: ConstraintItem { return self.snp.firstBaseline } + + @available(iOS, deprecated, renamed:"snp.leftMargin") + @available(iOS 8.0, *) + var snp_leftMargin: ConstraintItem { return self.snp.leftMargin } + + @available(iOS, deprecated, renamed:"snp.topMargin") + @available(iOS 8.0, *) + var snp_topMargin: ConstraintItem { return self.snp.topMargin } + + @available(iOS, deprecated, renamed:"snp.rightMargin") + @available(iOS 8.0, *) + var snp_rightMargin: ConstraintItem { return self.snp.rightMargin } + + @available(iOS, deprecated, renamed:"snp.bottomMargin") + @available(iOS 8.0, *) + var snp_bottomMargin: ConstraintItem { return self.snp.bottomMargin } + + @available(iOS, deprecated, renamed:"snp.leadingMargin") + @available(iOS 8.0, *) + var snp_leadingMargin: ConstraintItem { return self.snp.leadingMargin } + + @available(iOS, deprecated, renamed:"snp.trailingMargin") + @available(iOS 8.0, *) + var snp_trailingMargin: ConstraintItem { return self.snp.trailingMargin } + + @available(iOS, deprecated, renamed:"snp.centerXWithinMargins") + @available(iOS 8.0, *) + var snp_centerXWithinMargins: ConstraintItem { return self.snp.centerXWithinMargins } + + @available(iOS, deprecated, renamed:"snp.centerYWithinMargins") + @available(iOS 8.0, *) + var snp_centerYWithinMargins: ConstraintItem { return self.snp.centerYWithinMargins } + + @available(*, deprecated, renamed:"snp.edges") + var snp_edges: ConstraintItem { return self.snp.edges } + + @available(*, deprecated, renamed:"snp.size") + var snp_size: ConstraintItem { return self.snp.size } + + @available(*, deprecated, renamed:"snp.center") + var snp_center: ConstraintItem { return self.snp.center } + + @available(iOS, deprecated, renamed:"snp.margins") + @available(iOS 8.0, *) + var snp_margins: ConstraintItem { return self.snp.margins } + + @available(iOS, deprecated, renamed:"snp.centerWithinMargins") + @available(iOS 8.0, *) + var snp_centerWithinMargins: ConstraintItem { return self.snp.centerWithinMargins } + + @available(*, deprecated, renamed:"snp.prepareConstraints(_:)") + func snp_prepareConstraints(_ closure: (_ make: ConstraintMaker) -> Void) -> [Constraint] { + return self.snp.prepareConstraints(closure) + } + + @available(*, deprecated, renamed:"snp.makeConstraints(_:)") + func snp_makeConstraints(_ closure: (_ make: ConstraintMaker) -> Void) { + self.snp.makeConstraints(closure) + } + + @available(*, deprecated, renamed:"snp.remakeConstraints(_:)") + func snp_remakeConstraints(_ closure: (_ make: ConstraintMaker) -> Void) { + self.snp.remakeConstraints(closure) + } + + @available(*, deprecated, renamed:"snp.updateConstraints(_:)") + func snp_updateConstraints(_ closure: (_ make: ConstraintMaker) -> Void) { + self.snp.updateConstraints(closure) + } + + @available(*, deprecated, renamed:"snp.removeConstraints()") + func snp_removeConstraints() { + self.snp.removeConstraints() + } + + var snp: ConstraintViewDSL { + return ConstraintViewDSL(view: self) + } + +} diff --git a/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintView.swift b/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintView.swift new file mode 100644 index 0000000..1203300 --- /dev/null +++ b/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintView.swift @@ -0,0 +1,35 @@ +// +// SnapKit +// +// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#if canImport(UIKit) + import UIKit +#else + import AppKit +#endif + + +#if canImport(UIKit) + public typealias ConstraintView = UIView +#else + public typealias ConstraintView = NSView +#endif diff --git a/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintViewDSL.swift b/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintViewDSL.swift new file mode 100644 index 0000000..8567e54 --- /dev/null +++ b/10_CMD_iOS/Pods/SnapKit/Sources/ConstraintViewDSL.swift @@ -0,0 +1,101 @@ +// +// SnapKit +// +// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#if canImport(UIKit) + import UIKit +#else + import AppKit +#endif + + +public struct ConstraintViewDSL: ConstraintAttributesDSL { + + @discardableResult + public func prepareConstraints(_ closure: (_ make: ConstraintMaker) -> Void) -> [Constraint] { + return ConstraintMaker.prepareConstraints(item: self.view, closure: closure) + } + + public func makeConstraints(_ closure: (_ make: ConstraintMaker) -> Void) { + ConstraintMaker.makeConstraints(item: self.view, closure: closure) + } + + public func remakeConstraints(_ closure: (_ make: ConstraintMaker) -> Void) { + ConstraintMaker.remakeConstraints(item: self.view, closure: closure) + } + + public func updateConstraints(_ closure: (_ make: ConstraintMaker) -> Void) { + ConstraintMaker.updateConstraints(item: self.view, closure: closure) + } + + public func removeConstraints() { + ConstraintMaker.removeConstraints(item: self.view) + } + + public var contentHuggingHorizontalPriority: Float { + get { + return self.view.contentHuggingPriority(for: .horizontal).rawValue + } + nonmutating set { + self.view.setContentHuggingPriority(LayoutPriority(rawValue: newValue), for: .horizontal) + } + } + + public var contentHuggingVerticalPriority: Float { + get { + return self.view.contentHuggingPriority(for: .vertical).rawValue + } + nonmutating set { + self.view.setContentHuggingPriority(LayoutPriority(rawValue: newValue), for: .vertical) + } + } + + public var contentCompressionResistanceHorizontalPriority: Float { + get { + return self.view.contentCompressionResistancePriority(for: .horizontal).rawValue + } + nonmutating set { + self.view.setContentCompressionResistancePriority(LayoutPriority(rawValue: newValue), for: .horizontal) + } + } + + public var contentCompressionResistanceVerticalPriority: Float { + get { + return self.view.contentCompressionResistancePriority(for: .vertical).rawValue + } + nonmutating set { + self.view.setContentCompressionResistancePriority(LayoutPriority(rawValue: newValue), for: .vertical) + } + } + + public var target: AnyObject? { + return self.view + } + + internal let view: ConstraintView + + internal init(view: ConstraintView) { + self.view = view + + } + +} diff --git a/10_CMD_iOS/Pods/SnapKit/Sources/Debugging.swift b/10_CMD_iOS/Pods/SnapKit/Sources/Debugging.swift new file mode 100644 index 0000000..f4120b2 --- /dev/null +++ b/10_CMD_iOS/Pods/SnapKit/Sources/Debugging.swift @@ -0,0 +1,169 @@ +// +// SnapKit +// +// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#if canImport(UIKit) + import UIKit +#else + import AppKit +#endif + +public extension LayoutConstraint { + + override var description: String { + var description = "<" + + description += descriptionForObject(self) + + if let firstItem = conditionalOptional(from: self.firstItem) { + description += " \(descriptionForObject(firstItem))" + } + + if self.firstAttribute != .notAnAttribute { + description += ".\(descriptionForAttribute(self.firstAttribute))" + } + + description += " \(descriptionForRelation(self.relation))" + + if let secondItem = self.secondItem { + description += " \(descriptionForObject(secondItem))" + } + + if self.secondAttribute != .notAnAttribute { + description += ".\(descriptionForAttribute(self.secondAttribute))" + } + + if self.multiplier != 1.0 { + description += " * \(self.multiplier)" + } + + if self.secondAttribute == .notAnAttribute { + description += " \(self.constant)" + } else { + if self.constant > 0.0 { + description += " + \(self.constant)" + } else if self.constant < 0.0 { + description += " - \(abs(self.constant))" + } + } + + if self.priority.rawValue != 1000.0 { + description += " ^\(self.priority)" + } + + description += ">" + + return description + } + +} + +private func descriptionForRelation(_ relation: LayoutRelation) -> String { + switch relation { + case .equal: return "==" + case .greaterThanOrEqual: return ">=" + case .lessThanOrEqual: return "<=" + #if swift(>=5.0) + @unknown default: return "unknown" + #endif + } +} + +private func descriptionForAttribute(_ attribute: LayoutAttribute) -> String { + #if canImport(UIKit) + switch attribute { + case .notAnAttribute: return "notAnAttribute" + case .top: return "top" + case .left: return "left" + case .bottom: return "bottom" + case .right: return "right" + case .leading: return "leading" + case .trailing: return "trailing" + case .width: return "width" + case .height: return "height" + case .centerX: return "centerX" + case .centerY: return "centerY" + case .lastBaseline: return "lastBaseline" + case .firstBaseline: return "firstBaseline" + case .topMargin: return "topMargin" + case .leftMargin: return "leftMargin" + case .bottomMargin: return "bottomMargin" + case .rightMargin: return "rightMargin" + case .leadingMargin: return "leadingMargin" + case .trailingMargin: return "trailingMargin" + case .centerXWithinMargins: return "centerXWithinMargins" + case .centerYWithinMargins: return "centerYWithinMargins" + #if swift(>=5.0) + @unknown default: return "unknown" + #endif + } + #else + switch attribute { + case .notAnAttribute: return "notAnAttribute" + case .top: return "top" + case .left: return "left" + case .bottom: return "bottom" + case .right: return "right" + case .leading: return "leading" + case .trailing: return "trailing" + case .width: return "width" + case .height: return "height" + case .centerX: return "centerX" + case .centerY: return "centerY" + case .lastBaseline: return "lastBaseline" + case .firstBaseline: return "firstBaseline" + #if swift(>=5.0) + @unknown default: return "unknown" + #endif + } + #endif +} + +private func conditionalOptional(from object: Optional) -> Optional { + return object +} + +private func conditionalOptional(from object: T) -> Optional { + return Optional.some(object) +} + +private func descriptionForObject(_ object: AnyObject) -> String { + let pointerDescription = String(format: "%p", UInt(bitPattern: ObjectIdentifier(object))) + var desc = "" + + desc += type(of: object).description() + + if let object = object as? ConstraintView { + desc += ":\(object.snp.label() ?? pointerDescription)" + } else if let object = object as? LayoutConstraint { + desc += ":\(object.label ?? pointerDescription)" + } else { + desc += ":\(pointerDescription)" + } + + if let object = object as? LayoutConstraint, let file = object.constraint?.sourceLocation.0, let line = object.constraint?.sourceLocation.1 { + desc += "@\((file as NSString).lastPathComponent)#\(line)" + } + + desc += "" + return desc +} diff --git a/10_CMD_iOS/Pods/SnapKit/Sources/LayoutConstraint.swift b/10_CMD_iOS/Pods/SnapKit/Sources/LayoutConstraint.swift new file mode 100644 index 0000000..607616d --- /dev/null +++ b/10_CMD_iOS/Pods/SnapKit/Sources/LayoutConstraint.swift @@ -0,0 +1,61 @@ +// +// SnapKit +// +// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#if canImport(UIKit) + import UIKit +#else + import AppKit +#endif + + +public class LayoutConstraint : NSLayoutConstraint { + + public var label: String? { + get { + return self.identifier + } + set { + self.identifier = newValue + } + } + + internal weak var constraint: Constraint? = nil + +} + +internal func ==(lhs: LayoutConstraint, rhs: LayoutConstraint) -> Bool { + // If firstItem or secondItem on either constraint has a dangling pointer + // this comparison can cause a crash. The solution for this is to ensure + // your layout code hold strong references to things like Views, LayoutGuides + // and LayoutAnchors as SnapKit will not keep strong references to any of these. + guard lhs.firstAttribute == rhs.firstAttribute && + lhs.secondAttribute == rhs.secondAttribute && + lhs.relation == rhs.relation && + lhs.priority == rhs.priority && + lhs.multiplier == rhs.multiplier && + lhs.secondItem === rhs.secondItem && + lhs.firstItem === rhs.firstItem else { + return false + } + return true +} diff --git a/10_CMD_iOS/Pods/SnapKit/Sources/LayoutConstraintItem.swift b/10_CMD_iOS/Pods/SnapKit/Sources/LayoutConstraintItem.swift new file mode 100644 index 0000000..4f41b5d --- /dev/null +++ b/10_CMD_iOS/Pods/SnapKit/Sources/LayoutConstraintItem.swift @@ -0,0 +1,93 @@ +// +// SnapKit +// +// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#if canImport(UIKit) + import UIKit +#else + import AppKit +#endif + + +public protocol LayoutConstraintItem: AnyObject { +} + +@available(iOS 9.0, OSX 10.11, *) +extension ConstraintLayoutGuide : LayoutConstraintItem { +} + +extension ConstraintView : LayoutConstraintItem { +} + + +extension LayoutConstraintItem { + + internal func prepare() { + if let view = self as? ConstraintView { + view.translatesAutoresizingMaskIntoConstraints = false + } + } + + internal var superview: ConstraintView? { + if let view = self as? ConstraintView { + return view.superview + } + + if #available(iOS 9.0, OSX 10.11, *), let guide = self as? ConstraintLayoutGuide { + return guide.owningView + } + + return nil + } + internal var constraints: [Constraint] { + return self.constraintsSet.allObjects as! [Constraint] + } + + internal func add(constraints: [Constraint]) { + let constraintsSet = self.constraintsSet + for constraint in constraints { + constraintsSet.add(constraint) + } + } + + internal func remove(constraints: [Constraint]) { + let constraintsSet = self.constraintsSet + for constraint in constraints { + constraintsSet.remove(constraint) + } + } + + private var constraintsSet: NSMutableSet { + let constraintsSet: NSMutableSet + + if let existing = objc_getAssociatedObject(self, &constraintsKey) as? NSMutableSet { + constraintsSet = existing + } else { + constraintsSet = NSMutableSet() + objc_setAssociatedObject(self, &constraintsKey, constraintsSet, .OBJC_ASSOCIATION_RETAIN_NONATOMIC) + } + return constraintsSet + + } + +} +private var constraintsKey: UInt8 = 0 diff --git a/10_CMD_iOS/Pods/SnapKit/Sources/PrivacyInfo.xcprivacy b/10_CMD_iOS/Pods/SnapKit/Sources/PrivacyInfo.xcprivacy new file mode 100644 index 0000000..e540750 --- /dev/null +++ b/10_CMD_iOS/Pods/SnapKit/Sources/PrivacyInfo.xcprivacy @@ -0,0 +1,14 @@ + + + + + NSPrivacyTracking + + NSPrivacyAccessedAPITypes + + NSPrivacyCollectedDataTypes + + NSPrivacyTrackingDomains + + + diff --git a/10_CMD_iOS/Pods/SnapKit/Sources/Typealiases.swift b/10_CMD_iOS/Pods/SnapKit/Sources/Typealiases.swift new file mode 100644 index 0000000..c0e6982 --- /dev/null +++ b/10_CMD_iOS/Pods/SnapKit/Sources/Typealiases.swift @@ -0,0 +1,42 @@ +// +// SnapKit +// +// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +import Foundation + +#if canImport(UIKit) + import UIKit +#if swift(>=4.2) + typealias LayoutRelation = NSLayoutConstraint.Relation + typealias LayoutAttribute = NSLayoutConstraint.Attribute +#else + typealias LayoutRelation = NSLayoutRelation + typealias LayoutAttribute = NSLayoutAttribute +#endif + typealias LayoutPriority = UILayoutPriority +#else + import AppKit + typealias LayoutRelation = NSLayoutConstraint.Relation + typealias LayoutAttribute = NSLayoutConstraint.Attribute + typealias LayoutPriority = NSLayoutConstraint.Priority +#endif + diff --git a/10_CMD_iOS/Pods/SnapKit/Sources/UILayoutSupport+Extensions.swift b/10_CMD_iOS/Pods/SnapKit/Sources/UILayoutSupport+Extensions.swift new file mode 100644 index 0000000..801cc3c --- /dev/null +++ b/10_CMD_iOS/Pods/SnapKit/Sources/UILayoutSupport+Extensions.swift @@ -0,0 +1,36 @@ +// +// SnapKit +// +// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#if canImport(UIKit) + import UIKit +#endif + + +@available(iOS 8.0, *) +public extension ConstraintLayoutSupport { + + var snp: ConstraintLayoutSupportDSL { + return ConstraintLayoutSupportDSL(support: self) + } + +} diff --git a/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS-10_CMD_iOSUITests/Pods-10_CMD_iOS-10_CMD_iOSUITests-Info.plist b/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS-10_CMD_iOSUITests/Pods-10_CMD_iOS-10_CMD_iOSUITests-Info.plist new file mode 100644 index 0000000..19cf209 --- /dev/null +++ b/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS-10_CMD_iOSUITests/Pods-10_CMD_iOS-10_CMD_iOSUITests-Info.plist @@ -0,0 +1,26 @@ + + + + + CFBundleDevelopmentRegion + ${PODS_DEVELOPMENT_LANGUAGE} + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIdentifier + ${PRODUCT_BUNDLE_IDENTIFIER} + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + FMWK + CFBundleShortVersionString + 1.0.0 + CFBundleSignature + ???? + CFBundleVersion + ${CURRENT_PROJECT_VERSION} + NSPrincipalClass + + + diff --git a/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS-10_CMD_iOSUITests/Pods-10_CMD_iOS-10_CMD_iOSUITests-acknowledgements.markdown b/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS-10_CMD_iOSUITests/Pods-10_CMD_iOS-10_CMD_iOSUITests-acknowledgements.markdown new file mode 100644 index 0000000..1fd4225 --- /dev/null +++ b/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS-10_CMD_iOSUITests/Pods-10_CMD_iOS-10_CMD_iOSUITests-acknowledgements.markdown @@ -0,0 +1,51 @@ +# Acknowledgements +This application makes use of the following third party libraries: + +## SnapKit + +Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +## Then + +The MIT License (MIT) + +Copyright (c) 2015 Suyeol Jeon (xoul.kr) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +Generated by CocoaPods - https://cocoapods.org diff --git a/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS-10_CMD_iOSUITests/Pods-10_CMD_iOS-10_CMD_iOSUITests-acknowledgements.plist b/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS-10_CMD_iOSUITests/Pods-10_CMD_iOS-10_CMD_iOSUITests-acknowledgements.plist new file mode 100644 index 0000000..187fb7c --- /dev/null +++ b/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS-10_CMD_iOSUITests/Pods-10_CMD_iOS-10_CMD_iOSUITests-acknowledgements.plist @@ -0,0 +1,89 @@ + + + + + PreferenceSpecifiers + + + FooterText + This application makes use of the following third party libraries: + Title + Acknowledgements + Type + PSGroupSpecifier + + + FooterText + Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + License + MIT + Title + SnapKit + Type + PSGroupSpecifier + + + FooterText + The MIT License (MIT) + +Copyright (c) 2015 Suyeol Jeon (xoul.kr) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + License + MIT + Title + Then + Type + PSGroupSpecifier + + + FooterText + Generated by CocoaPods - https://cocoapods.org + Title + + Type + PSGroupSpecifier + + + StringsTable + Acknowledgements + Title + Acknowledgements + + diff --git a/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS-10_CMD_iOSUITests/Pods-10_CMD_iOS-10_CMD_iOSUITests-dummy.m b/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS-10_CMD_iOSUITests/Pods-10_CMD_iOS-10_CMD_iOSUITests-dummy.m new file mode 100644 index 0000000..c4ce7da --- /dev/null +++ b/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS-10_CMD_iOSUITests/Pods-10_CMD_iOS-10_CMD_iOSUITests-dummy.m @@ -0,0 +1,5 @@ +#import +@interface PodsDummy_Pods_10_CMD_iOS_10_CMD_iOSUITests : NSObject +@end +@implementation PodsDummy_Pods_10_CMD_iOS_10_CMD_iOSUITests +@end diff --git a/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS-10_CMD_iOSUITests/Pods-10_CMD_iOS-10_CMD_iOSUITests-frameworks-Debug-input-files.xcfilelist b/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS-10_CMD_iOSUITests/Pods-10_CMD_iOS-10_CMD_iOSUITests-frameworks-Debug-input-files.xcfilelist new file mode 100644 index 0000000..89a03eb --- /dev/null +++ b/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS-10_CMD_iOSUITests/Pods-10_CMD_iOS-10_CMD_iOSUITests-frameworks-Debug-input-files.xcfilelist @@ -0,0 +1,3 @@ +${PODS_ROOT}/Target Support Files/Pods-10_CMD_iOS-10_CMD_iOSUITests/Pods-10_CMD_iOS-10_CMD_iOSUITests-frameworks.sh +${BUILT_PRODUCTS_DIR}/SnapKit/SnapKit.framework +${BUILT_PRODUCTS_DIR}/Then/Then.framework \ No newline at end of file diff --git a/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS-10_CMD_iOSUITests/Pods-10_CMD_iOS-10_CMD_iOSUITests-frameworks-Debug-output-files.xcfilelist b/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS-10_CMD_iOSUITests/Pods-10_CMD_iOS-10_CMD_iOSUITests-frameworks-Debug-output-files.xcfilelist new file mode 100644 index 0000000..c4a371f --- /dev/null +++ b/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS-10_CMD_iOSUITests/Pods-10_CMD_iOS-10_CMD_iOSUITests-frameworks-Debug-output-files.xcfilelist @@ -0,0 +1,2 @@ +${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SnapKit.framework +${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Then.framework \ No newline at end of file diff --git a/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS-10_CMD_iOSUITests/Pods-10_CMD_iOS-10_CMD_iOSUITests-frameworks-Release-input-files.xcfilelist b/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS-10_CMD_iOSUITests/Pods-10_CMD_iOS-10_CMD_iOSUITests-frameworks-Release-input-files.xcfilelist new file mode 100644 index 0000000..89a03eb --- /dev/null +++ b/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS-10_CMD_iOSUITests/Pods-10_CMD_iOS-10_CMD_iOSUITests-frameworks-Release-input-files.xcfilelist @@ -0,0 +1,3 @@ +${PODS_ROOT}/Target Support Files/Pods-10_CMD_iOS-10_CMD_iOSUITests/Pods-10_CMD_iOS-10_CMD_iOSUITests-frameworks.sh +${BUILT_PRODUCTS_DIR}/SnapKit/SnapKit.framework +${BUILT_PRODUCTS_DIR}/Then/Then.framework \ No newline at end of file diff --git a/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS-10_CMD_iOSUITests/Pods-10_CMD_iOS-10_CMD_iOSUITests-frameworks-Release-output-files.xcfilelist b/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS-10_CMD_iOSUITests/Pods-10_CMD_iOS-10_CMD_iOSUITests-frameworks-Release-output-files.xcfilelist new file mode 100644 index 0000000..c4a371f --- /dev/null +++ b/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS-10_CMD_iOSUITests/Pods-10_CMD_iOS-10_CMD_iOSUITests-frameworks-Release-output-files.xcfilelist @@ -0,0 +1,2 @@ +${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SnapKit.framework +${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Then.framework \ No newline at end of file diff --git a/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS-10_CMD_iOSUITests/Pods-10_CMD_iOS-10_CMD_iOSUITests-frameworks.sh b/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS-10_CMD_iOSUITests/Pods-10_CMD_iOS-10_CMD_iOSUITests-frameworks.sh new file mode 100755 index 0000000..6d7d265 --- /dev/null +++ b/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS-10_CMD_iOSUITests/Pods-10_CMD_iOS-10_CMD_iOSUITests-frameworks.sh @@ -0,0 +1,188 @@ +#!/bin/sh +set -e +set -u +set -o pipefail + +function on_error { + echo "$(realpath -mq "${0}"):$1: error: Unexpected failure" +} +trap 'on_error $LINENO' ERR + +if [ -z ${FRAMEWORKS_FOLDER_PATH+x} ]; then + # If FRAMEWORKS_FOLDER_PATH is not set, then there's nowhere for us to copy + # frameworks to, so exit 0 (signalling the script phase was successful). + exit 0 +fi + +echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" +mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" + +COCOAPODS_PARALLEL_CODE_SIGN="${COCOAPODS_PARALLEL_CODE_SIGN:-false}" +SWIFT_STDLIB_PATH="${TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" +BCSYMBOLMAP_DIR="BCSymbolMaps" + + +# This protects against multiple targets copying the same framework dependency at the same time. The solution +# was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html +RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????") + +# Copies and strips a vendored framework +install_framework() +{ + if [ -r "${BUILT_PRODUCTS_DIR}/$1" ]; then + local source="${BUILT_PRODUCTS_DIR}/$1" + elif [ -r "${BUILT_PRODUCTS_DIR}/$(basename "$1")" ]; then + local source="${BUILT_PRODUCTS_DIR}/$(basename "$1")" + elif [ -r "$1" ]; then + local source="$1" + fi + + local destination="${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" + + if [ -L "${source}" ]; then + echo "Symlinked..." + source="$(readlink -f "${source}")" + fi + + if [ -d "${source}/${BCSYMBOLMAP_DIR}" ]; then + # Locate and install any .bcsymbolmaps if present, and remove them from the .framework before the framework is copied + find "${source}/${BCSYMBOLMAP_DIR}" -name "*.bcsymbolmap"|while read f; do + echo "Installing $f" + install_bcsymbolmap "$f" "$destination" + rm "$f" + done + rmdir "${source}/${BCSYMBOLMAP_DIR}" + fi + + # Use filter instead of exclude so missing patterns don't throw errors. + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\"" + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}" + + local basename + basename="$(basename -s .framework "$1")" + binary="${destination}/${basename}.framework/${basename}" + + if ! [ -r "$binary" ]; then + binary="${destination}/${basename}" + elif [ -L "${binary}" ]; then + echo "Destination binary is symlinked..." + dirname="$(dirname "${binary}")" + binary="${dirname}/$(readlink "${binary}")" + fi + + # Strip invalid architectures so "fat" simulator / device frameworks work on device + if [[ "$(file "$binary")" == *"dynamically linked shared library"* ]]; then + strip_invalid_archs "$binary" + fi + + # Resign the code if required by the build settings to avoid unstable apps + code_sign_if_enabled "${destination}/$(basename "$1")" + + # Embed linked Swift runtime libraries. No longer necessary as of Xcode 7. + if [ "${XCODE_VERSION_MAJOR}" -lt 7 ]; then + local swift_runtime_libs + swift_runtime_libs=$(xcrun otool -LX "$binary" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u) + for lib in $swift_runtime_libs; do + echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\"" + rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}" + code_sign_if_enabled "${destination}/${lib}" + done + fi +} +# Copies and strips a vendored dSYM +install_dsym() { + local source="$1" + warn_missing_arch=${2:-true} + if [ -r "$source" ]; then + # Copy the dSYM into the targets temp dir. + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${DERIVED_FILES_DIR}\"" + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${DERIVED_FILES_DIR}" + + local basename + basename="$(basename -s .dSYM "$source")" + binary_name="$(ls "$source/Contents/Resources/DWARF")" + binary="${DERIVED_FILES_DIR}/${basename}.dSYM/Contents/Resources/DWARF/${binary_name}" + + # Strip invalid architectures from the dSYM. + if [[ "$(file "$binary")" == *"Mach-O "*"dSYM companion"* ]]; then + strip_invalid_archs "$binary" "$warn_missing_arch" + fi + if [[ $STRIP_BINARY_RETVAL == 0 ]]; then + # Move the stripped file into its final destination. + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${DERIVED_FILES_DIR}/${basename}.framework.dSYM\" \"${DWARF_DSYM_FOLDER_PATH}\"" + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${DERIVED_FILES_DIR}/${basename}.dSYM" "${DWARF_DSYM_FOLDER_PATH}" + else + # The dSYM was not stripped at all, in this case touch a fake folder so the input/output paths from Xcode do not reexecute this script because the file is missing. + mkdir -p "${DWARF_DSYM_FOLDER_PATH}" + touch "${DWARF_DSYM_FOLDER_PATH}/${basename}.dSYM" + fi + fi +} + +# Used as a return value for each invocation of `strip_invalid_archs` function. +STRIP_BINARY_RETVAL=0 + +# Strip invalid architectures +strip_invalid_archs() { + binary="$1" + warn_missing_arch=${2:-true} + # Get architectures for current target binary + binary_archs="$(lipo -info "$binary" | rev | cut -d ':' -f1 | awk '{$1=$1;print}' | rev)" + # Intersect them with the architectures we are building for + intersected_archs="$(echo ${ARCHS[@]} ${binary_archs[@]} | tr ' ' '\n' | sort | uniq -d)" + # If there are no archs supported by this binary then warn the user + if [[ -z "$intersected_archs" ]]; then + if [[ "$warn_missing_arch" == "true" ]]; then + echo "warning: [CP] Vendored binary '$binary' contains architectures ($binary_archs) none of which match the current build architectures ($ARCHS)." + fi + STRIP_BINARY_RETVAL=1 + return + fi + stripped="" + for arch in $binary_archs; do + if ! [[ "${ARCHS}" == *"$arch"* ]]; then + # Strip non-valid architectures in-place + lipo -remove "$arch" -output "$binary" "$binary" + stripped="$stripped $arch" + fi + done + if [[ "$stripped" ]]; then + echo "Stripped $binary of architectures:$stripped" + fi + STRIP_BINARY_RETVAL=0 +} + +# Copies the bcsymbolmap files of a vendored framework +install_bcsymbolmap() { + local bcsymbolmap_path="$1" + local destination="${BUILT_PRODUCTS_DIR}" + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${bcsymbolmap_path}" "${destination}"" + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${bcsymbolmap_path}" "${destination}" +} + +# Signs a framework with the provided identity +code_sign_if_enabled() { + if [ -n "${EXPANDED_CODE_SIGN_IDENTITY:-}" -a "${CODE_SIGNING_REQUIRED:-}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then + # Use the current code_sign_identity + echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}" + local code_sign_cmd="/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS:-} --preserve-metadata=identifier,entitlements '$1'" + + if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then + code_sign_cmd="$code_sign_cmd &" + fi + echo "$code_sign_cmd" + eval "$code_sign_cmd" + fi +} + +if [[ "$CONFIGURATION" == "Debug" ]]; then + install_framework "${BUILT_PRODUCTS_DIR}/SnapKit/SnapKit.framework" + install_framework "${BUILT_PRODUCTS_DIR}/Then/Then.framework" +fi +if [[ "$CONFIGURATION" == "Release" ]]; then + install_framework "${BUILT_PRODUCTS_DIR}/SnapKit/SnapKit.framework" + install_framework "${BUILT_PRODUCTS_DIR}/Then/Then.framework" +fi +if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then + wait +fi diff --git a/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS-10_CMD_iOSUITests/Pods-10_CMD_iOS-10_CMD_iOSUITests-umbrella.h b/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS-10_CMD_iOSUITests/Pods-10_CMD_iOS-10_CMD_iOSUITests-umbrella.h new file mode 100644 index 0000000..f49c94c --- /dev/null +++ b/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS-10_CMD_iOSUITests/Pods-10_CMD_iOS-10_CMD_iOSUITests-umbrella.h @@ -0,0 +1,16 @@ +#ifdef __OBJC__ +#import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif +#endif + + +FOUNDATION_EXPORT double Pods_10_CMD_iOS_10_CMD_iOSUITestsVersionNumber; +FOUNDATION_EXPORT const unsigned char Pods_10_CMD_iOS_10_CMD_iOSUITestsVersionString[]; + diff --git a/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS-10_CMD_iOSUITests/Pods-10_CMD_iOS-10_CMD_iOSUITests.debug.xcconfig b/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS-10_CMD_iOSUITests/Pods-10_CMD_iOS-10_CMD_iOSUITests.debug.xcconfig new file mode 100644 index 0000000..6cc266d --- /dev/null +++ b/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS-10_CMD_iOSUITests/Pods-10_CMD_iOS-10_CMD_iOSUITests.debug.xcconfig @@ -0,0 +1,15 @@ +ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES +CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit" "${PODS_CONFIGURATION_BUILD_DIR}/Then" +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit/SnapKit.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Then/Then.framework/Headers" +LD_RUNPATH_SEARCH_PATHS = $(inherited) /usr/lib/swift "$(PLATFORM_DIR)/Developer/Library/Frameworks" '@executable_path/Frameworks' '@loader_path/Frameworks' +LIBRARY_SEARCH_PATHS = $(inherited) "${TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift $(SDKROOT)/usr/lib/swift +OTHER_LDFLAGS = $(inherited) -l"swiftCoreGraphics" -framework "SnapKit" -framework "Then" +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_PODFILE_DIR_PATH = ${SRCROOT}/. +PODS_ROOT = ${SRCROOT}/Pods +PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS-10_CMD_iOSUITests/Pods-10_CMD_iOS-10_CMD_iOSUITests.modulemap b/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS-10_CMD_iOSUITests/Pods-10_CMD_iOS-10_CMD_iOSUITests.modulemap new file mode 100644 index 0000000..3bfe619 --- /dev/null +++ b/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS-10_CMD_iOSUITests/Pods-10_CMD_iOS-10_CMD_iOSUITests.modulemap @@ -0,0 +1,6 @@ +framework module Pods_10_CMD_iOS_10_CMD_iOSUITests { + umbrella header "Pods-10_CMD_iOS-10_CMD_iOSUITests-umbrella.h" + + export * + module * { export * } +} diff --git a/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS-10_CMD_iOSUITests/Pods-10_CMD_iOS-10_CMD_iOSUITests.release.xcconfig b/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS-10_CMD_iOSUITests/Pods-10_CMD_iOS-10_CMD_iOSUITests.release.xcconfig new file mode 100644 index 0000000..6cc266d --- /dev/null +++ b/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS-10_CMD_iOSUITests/Pods-10_CMD_iOS-10_CMD_iOSUITests.release.xcconfig @@ -0,0 +1,15 @@ +ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES +CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit" "${PODS_CONFIGURATION_BUILD_DIR}/Then" +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit/SnapKit.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Then/Then.framework/Headers" +LD_RUNPATH_SEARCH_PATHS = $(inherited) /usr/lib/swift "$(PLATFORM_DIR)/Developer/Library/Frameworks" '@executable_path/Frameworks' '@loader_path/Frameworks' +LIBRARY_SEARCH_PATHS = $(inherited) "${TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift $(SDKROOT)/usr/lib/swift +OTHER_LDFLAGS = $(inherited) -l"swiftCoreGraphics" -framework "SnapKit" -framework "Then" +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_PODFILE_DIR_PATH = ${SRCROOT}/. +PODS_ROOT = ${SRCROOT}/Pods +PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS/Pods-10_CMD_iOS-Info.plist b/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS/Pods-10_CMD_iOS-Info.plist new file mode 100644 index 0000000..19cf209 --- /dev/null +++ b/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS/Pods-10_CMD_iOS-Info.plist @@ -0,0 +1,26 @@ + + + + + CFBundleDevelopmentRegion + ${PODS_DEVELOPMENT_LANGUAGE} + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIdentifier + ${PRODUCT_BUNDLE_IDENTIFIER} + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + FMWK + CFBundleShortVersionString + 1.0.0 + CFBundleSignature + ???? + CFBundleVersion + ${CURRENT_PROJECT_VERSION} + NSPrincipalClass + + + diff --git a/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS/Pods-10_CMD_iOS-acknowledgements.markdown b/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS/Pods-10_CMD_iOS-acknowledgements.markdown new file mode 100644 index 0000000..1fd4225 --- /dev/null +++ b/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS/Pods-10_CMD_iOS-acknowledgements.markdown @@ -0,0 +1,51 @@ +# Acknowledgements +This application makes use of the following third party libraries: + +## SnapKit + +Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +## Then + +The MIT License (MIT) + +Copyright (c) 2015 Suyeol Jeon (xoul.kr) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +Generated by CocoaPods - https://cocoapods.org diff --git a/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS/Pods-10_CMD_iOS-acknowledgements.plist b/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS/Pods-10_CMD_iOS-acknowledgements.plist new file mode 100644 index 0000000..187fb7c --- /dev/null +++ b/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS/Pods-10_CMD_iOS-acknowledgements.plist @@ -0,0 +1,89 @@ + + + + + PreferenceSpecifiers + + + FooterText + This application makes use of the following third party libraries: + Title + Acknowledgements + Type + PSGroupSpecifier + + + FooterText + Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + License + MIT + Title + SnapKit + Type + PSGroupSpecifier + + + FooterText + The MIT License (MIT) + +Copyright (c) 2015 Suyeol Jeon (xoul.kr) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + License + MIT + Title + Then + Type + PSGroupSpecifier + + + FooterText + Generated by CocoaPods - https://cocoapods.org + Title + + Type + PSGroupSpecifier + + + StringsTable + Acknowledgements + Title + Acknowledgements + + diff --git a/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS/Pods-10_CMD_iOS-dummy.m b/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS/Pods-10_CMD_iOS-dummy.m new file mode 100644 index 0000000..675745c --- /dev/null +++ b/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS/Pods-10_CMD_iOS-dummy.m @@ -0,0 +1,5 @@ +#import +@interface PodsDummy_Pods_10_CMD_iOS : NSObject +@end +@implementation PodsDummy_Pods_10_CMD_iOS +@end diff --git a/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS/Pods-10_CMD_iOS-frameworks-Debug-input-files.xcfilelist b/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS/Pods-10_CMD_iOS-frameworks-Debug-input-files.xcfilelist new file mode 100644 index 0000000..21593cb --- /dev/null +++ b/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS/Pods-10_CMD_iOS-frameworks-Debug-input-files.xcfilelist @@ -0,0 +1,3 @@ +${PODS_ROOT}/Target Support Files/Pods-10_CMD_iOS/Pods-10_CMD_iOS-frameworks.sh +${BUILT_PRODUCTS_DIR}/SnapKit/SnapKit.framework +${BUILT_PRODUCTS_DIR}/Then/Then.framework \ No newline at end of file diff --git a/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS/Pods-10_CMD_iOS-frameworks-Debug-output-files.xcfilelist b/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS/Pods-10_CMD_iOS-frameworks-Debug-output-files.xcfilelist new file mode 100644 index 0000000..c4a371f --- /dev/null +++ b/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS/Pods-10_CMD_iOS-frameworks-Debug-output-files.xcfilelist @@ -0,0 +1,2 @@ +${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SnapKit.framework +${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Then.framework \ No newline at end of file diff --git a/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS/Pods-10_CMD_iOS-frameworks-Release-input-files.xcfilelist b/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS/Pods-10_CMD_iOS-frameworks-Release-input-files.xcfilelist new file mode 100644 index 0000000..21593cb --- /dev/null +++ b/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS/Pods-10_CMD_iOS-frameworks-Release-input-files.xcfilelist @@ -0,0 +1,3 @@ +${PODS_ROOT}/Target Support Files/Pods-10_CMD_iOS/Pods-10_CMD_iOS-frameworks.sh +${BUILT_PRODUCTS_DIR}/SnapKit/SnapKit.framework +${BUILT_PRODUCTS_DIR}/Then/Then.framework \ No newline at end of file diff --git a/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS/Pods-10_CMD_iOS-frameworks-Release-output-files.xcfilelist b/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS/Pods-10_CMD_iOS-frameworks-Release-output-files.xcfilelist new file mode 100644 index 0000000..c4a371f --- /dev/null +++ b/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS/Pods-10_CMD_iOS-frameworks-Release-output-files.xcfilelist @@ -0,0 +1,2 @@ +${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SnapKit.framework +${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Then.framework \ No newline at end of file diff --git a/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS/Pods-10_CMD_iOS-frameworks.sh b/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS/Pods-10_CMD_iOS-frameworks.sh new file mode 100755 index 0000000..6d7d265 --- /dev/null +++ b/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS/Pods-10_CMD_iOS-frameworks.sh @@ -0,0 +1,188 @@ +#!/bin/sh +set -e +set -u +set -o pipefail + +function on_error { + echo "$(realpath -mq "${0}"):$1: error: Unexpected failure" +} +trap 'on_error $LINENO' ERR + +if [ -z ${FRAMEWORKS_FOLDER_PATH+x} ]; then + # If FRAMEWORKS_FOLDER_PATH is not set, then there's nowhere for us to copy + # frameworks to, so exit 0 (signalling the script phase was successful). + exit 0 +fi + +echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" +mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" + +COCOAPODS_PARALLEL_CODE_SIGN="${COCOAPODS_PARALLEL_CODE_SIGN:-false}" +SWIFT_STDLIB_PATH="${TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" +BCSYMBOLMAP_DIR="BCSymbolMaps" + + +# This protects against multiple targets copying the same framework dependency at the same time. The solution +# was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html +RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????") + +# Copies and strips a vendored framework +install_framework() +{ + if [ -r "${BUILT_PRODUCTS_DIR}/$1" ]; then + local source="${BUILT_PRODUCTS_DIR}/$1" + elif [ -r "${BUILT_PRODUCTS_DIR}/$(basename "$1")" ]; then + local source="${BUILT_PRODUCTS_DIR}/$(basename "$1")" + elif [ -r "$1" ]; then + local source="$1" + fi + + local destination="${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" + + if [ -L "${source}" ]; then + echo "Symlinked..." + source="$(readlink -f "${source}")" + fi + + if [ -d "${source}/${BCSYMBOLMAP_DIR}" ]; then + # Locate and install any .bcsymbolmaps if present, and remove them from the .framework before the framework is copied + find "${source}/${BCSYMBOLMAP_DIR}" -name "*.bcsymbolmap"|while read f; do + echo "Installing $f" + install_bcsymbolmap "$f" "$destination" + rm "$f" + done + rmdir "${source}/${BCSYMBOLMAP_DIR}" + fi + + # Use filter instead of exclude so missing patterns don't throw errors. + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\"" + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}" + + local basename + basename="$(basename -s .framework "$1")" + binary="${destination}/${basename}.framework/${basename}" + + if ! [ -r "$binary" ]; then + binary="${destination}/${basename}" + elif [ -L "${binary}" ]; then + echo "Destination binary is symlinked..." + dirname="$(dirname "${binary}")" + binary="${dirname}/$(readlink "${binary}")" + fi + + # Strip invalid architectures so "fat" simulator / device frameworks work on device + if [[ "$(file "$binary")" == *"dynamically linked shared library"* ]]; then + strip_invalid_archs "$binary" + fi + + # Resign the code if required by the build settings to avoid unstable apps + code_sign_if_enabled "${destination}/$(basename "$1")" + + # Embed linked Swift runtime libraries. No longer necessary as of Xcode 7. + if [ "${XCODE_VERSION_MAJOR}" -lt 7 ]; then + local swift_runtime_libs + swift_runtime_libs=$(xcrun otool -LX "$binary" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u) + for lib in $swift_runtime_libs; do + echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\"" + rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}" + code_sign_if_enabled "${destination}/${lib}" + done + fi +} +# Copies and strips a vendored dSYM +install_dsym() { + local source="$1" + warn_missing_arch=${2:-true} + if [ -r "$source" ]; then + # Copy the dSYM into the targets temp dir. + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${DERIVED_FILES_DIR}\"" + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${DERIVED_FILES_DIR}" + + local basename + basename="$(basename -s .dSYM "$source")" + binary_name="$(ls "$source/Contents/Resources/DWARF")" + binary="${DERIVED_FILES_DIR}/${basename}.dSYM/Contents/Resources/DWARF/${binary_name}" + + # Strip invalid architectures from the dSYM. + if [[ "$(file "$binary")" == *"Mach-O "*"dSYM companion"* ]]; then + strip_invalid_archs "$binary" "$warn_missing_arch" + fi + if [[ $STRIP_BINARY_RETVAL == 0 ]]; then + # Move the stripped file into its final destination. + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${DERIVED_FILES_DIR}/${basename}.framework.dSYM\" \"${DWARF_DSYM_FOLDER_PATH}\"" + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${DERIVED_FILES_DIR}/${basename}.dSYM" "${DWARF_DSYM_FOLDER_PATH}" + else + # The dSYM was not stripped at all, in this case touch a fake folder so the input/output paths from Xcode do not reexecute this script because the file is missing. + mkdir -p "${DWARF_DSYM_FOLDER_PATH}" + touch "${DWARF_DSYM_FOLDER_PATH}/${basename}.dSYM" + fi + fi +} + +# Used as a return value for each invocation of `strip_invalid_archs` function. +STRIP_BINARY_RETVAL=0 + +# Strip invalid architectures +strip_invalid_archs() { + binary="$1" + warn_missing_arch=${2:-true} + # Get architectures for current target binary + binary_archs="$(lipo -info "$binary" | rev | cut -d ':' -f1 | awk '{$1=$1;print}' | rev)" + # Intersect them with the architectures we are building for + intersected_archs="$(echo ${ARCHS[@]} ${binary_archs[@]} | tr ' ' '\n' | sort | uniq -d)" + # If there are no archs supported by this binary then warn the user + if [[ -z "$intersected_archs" ]]; then + if [[ "$warn_missing_arch" == "true" ]]; then + echo "warning: [CP] Vendored binary '$binary' contains architectures ($binary_archs) none of which match the current build architectures ($ARCHS)." + fi + STRIP_BINARY_RETVAL=1 + return + fi + stripped="" + for arch in $binary_archs; do + if ! [[ "${ARCHS}" == *"$arch"* ]]; then + # Strip non-valid architectures in-place + lipo -remove "$arch" -output "$binary" "$binary" + stripped="$stripped $arch" + fi + done + if [[ "$stripped" ]]; then + echo "Stripped $binary of architectures:$stripped" + fi + STRIP_BINARY_RETVAL=0 +} + +# Copies the bcsymbolmap files of a vendored framework +install_bcsymbolmap() { + local bcsymbolmap_path="$1" + local destination="${BUILT_PRODUCTS_DIR}" + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${bcsymbolmap_path}" "${destination}"" + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${bcsymbolmap_path}" "${destination}" +} + +# Signs a framework with the provided identity +code_sign_if_enabled() { + if [ -n "${EXPANDED_CODE_SIGN_IDENTITY:-}" -a "${CODE_SIGNING_REQUIRED:-}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then + # Use the current code_sign_identity + echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}" + local code_sign_cmd="/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS:-} --preserve-metadata=identifier,entitlements '$1'" + + if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then + code_sign_cmd="$code_sign_cmd &" + fi + echo "$code_sign_cmd" + eval "$code_sign_cmd" + fi +} + +if [[ "$CONFIGURATION" == "Debug" ]]; then + install_framework "${BUILT_PRODUCTS_DIR}/SnapKit/SnapKit.framework" + install_framework "${BUILT_PRODUCTS_DIR}/Then/Then.framework" +fi +if [[ "$CONFIGURATION" == "Release" ]]; then + install_framework "${BUILT_PRODUCTS_DIR}/SnapKit/SnapKit.framework" + install_framework "${BUILT_PRODUCTS_DIR}/Then/Then.framework" +fi +if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then + wait +fi diff --git a/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS/Pods-10_CMD_iOS-umbrella.h b/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS/Pods-10_CMD_iOS-umbrella.h new file mode 100644 index 0000000..f55e31b --- /dev/null +++ b/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS/Pods-10_CMD_iOS-umbrella.h @@ -0,0 +1,16 @@ +#ifdef __OBJC__ +#import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif +#endif + + +FOUNDATION_EXPORT double Pods_10_CMD_iOSVersionNumber; +FOUNDATION_EXPORT const unsigned char Pods_10_CMD_iOSVersionString[]; + diff --git a/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS/Pods-10_CMD_iOS.debug.xcconfig b/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS/Pods-10_CMD_iOS.debug.xcconfig new file mode 100644 index 0000000..229cfca --- /dev/null +++ b/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS/Pods-10_CMD_iOS.debug.xcconfig @@ -0,0 +1,15 @@ +ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES +CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit" "${PODS_CONFIGURATION_BUILD_DIR}/Then" +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit/SnapKit.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Then/Then.framework/Headers" +LD_RUNPATH_SEARCH_PATHS = $(inherited) /usr/lib/swift '@executable_path/Frameworks' '@loader_path/Frameworks' +LIBRARY_SEARCH_PATHS = $(inherited) "${TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift $(SDKROOT)/usr/lib/swift +OTHER_LDFLAGS = $(inherited) -l"swiftCoreGraphics" -framework "SnapKit" -framework "Then" +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_PODFILE_DIR_PATH = ${SRCROOT}/. +PODS_ROOT = ${SRCROOT}/Pods +PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS/Pods-10_CMD_iOS.modulemap b/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS/Pods-10_CMD_iOS.modulemap new file mode 100644 index 0000000..573087d --- /dev/null +++ b/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS/Pods-10_CMD_iOS.modulemap @@ -0,0 +1,6 @@ +framework module Pods_10_CMD_iOS { + umbrella header "Pods-10_CMD_iOS-umbrella.h" + + export * + module * { export * } +} diff --git a/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS/Pods-10_CMD_iOS.release.xcconfig b/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS/Pods-10_CMD_iOS.release.xcconfig new file mode 100644 index 0000000..229cfca --- /dev/null +++ b/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOS/Pods-10_CMD_iOS.release.xcconfig @@ -0,0 +1,15 @@ +ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES +CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit" "${PODS_CONFIGURATION_BUILD_DIR}/Then" +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit/SnapKit.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Then/Then.framework/Headers" +LD_RUNPATH_SEARCH_PATHS = $(inherited) /usr/lib/swift '@executable_path/Frameworks' '@loader_path/Frameworks' +LIBRARY_SEARCH_PATHS = $(inherited) "${TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift $(SDKROOT)/usr/lib/swift +OTHER_LDFLAGS = $(inherited) -l"swiftCoreGraphics" -framework "SnapKit" -framework "Then" +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_PODFILE_DIR_PATH = ${SRCROOT}/. +PODS_ROOT = ${SRCROOT}/Pods +PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOSTests/Pods-10_CMD_iOSTests-Info.plist b/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOSTests/Pods-10_CMD_iOSTests-Info.plist new file mode 100644 index 0000000..19cf209 --- /dev/null +++ b/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOSTests/Pods-10_CMD_iOSTests-Info.plist @@ -0,0 +1,26 @@ + + + + + CFBundleDevelopmentRegion + ${PODS_DEVELOPMENT_LANGUAGE} + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIdentifier + ${PRODUCT_BUNDLE_IDENTIFIER} + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + FMWK + CFBundleShortVersionString + 1.0.0 + CFBundleSignature + ???? + CFBundleVersion + ${CURRENT_PROJECT_VERSION} + NSPrincipalClass + + + diff --git a/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOSTests/Pods-10_CMD_iOSTests-acknowledgements.markdown b/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOSTests/Pods-10_CMD_iOSTests-acknowledgements.markdown new file mode 100644 index 0000000..102af75 --- /dev/null +++ b/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOSTests/Pods-10_CMD_iOSTests-acknowledgements.markdown @@ -0,0 +1,3 @@ +# Acknowledgements +This application makes use of the following third party libraries: +Generated by CocoaPods - https://cocoapods.org diff --git a/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOSTests/Pods-10_CMD_iOSTests-acknowledgements.plist b/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOSTests/Pods-10_CMD_iOSTests-acknowledgements.plist new file mode 100644 index 0000000..7acbad1 --- /dev/null +++ b/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOSTests/Pods-10_CMD_iOSTests-acknowledgements.plist @@ -0,0 +1,29 @@ + + + + + PreferenceSpecifiers + + + FooterText + This application makes use of the following third party libraries: + Title + Acknowledgements + Type + PSGroupSpecifier + + + FooterText + Generated by CocoaPods - https://cocoapods.org + Title + + Type + PSGroupSpecifier + + + StringsTable + Acknowledgements + Title + Acknowledgements + + diff --git a/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOSTests/Pods-10_CMD_iOSTests-dummy.m b/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOSTests/Pods-10_CMD_iOSTests-dummy.m new file mode 100644 index 0000000..f8d87aa --- /dev/null +++ b/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOSTests/Pods-10_CMD_iOSTests-dummy.m @@ -0,0 +1,5 @@ +#import +@interface PodsDummy_Pods_10_CMD_iOSTests : NSObject +@end +@implementation PodsDummy_Pods_10_CMD_iOSTests +@end diff --git a/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOSTests/Pods-10_CMD_iOSTests-umbrella.h b/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOSTests/Pods-10_CMD_iOSTests-umbrella.h new file mode 100644 index 0000000..a336492 --- /dev/null +++ b/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOSTests/Pods-10_CMD_iOSTests-umbrella.h @@ -0,0 +1,16 @@ +#ifdef __OBJC__ +#import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif +#endif + + +FOUNDATION_EXPORT double Pods_10_CMD_iOSTestsVersionNumber; +FOUNDATION_EXPORT const unsigned char Pods_10_CMD_iOSTestsVersionString[]; + diff --git a/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOSTests/Pods-10_CMD_iOSTests.debug.xcconfig b/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOSTests/Pods-10_CMD_iOSTests.debug.xcconfig new file mode 100644 index 0000000..72ab925 --- /dev/null +++ b/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOSTests/Pods-10_CMD_iOSTests.debug.xcconfig @@ -0,0 +1,12 @@ +CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit" "${PODS_CONFIGURATION_BUILD_DIR}/Then" +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit/SnapKit.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Then/Then.framework/Headers" +LIBRARY_SEARCH_PATHS = $(inherited) $(SDKROOT)/usr/lib/swift +OTHER_LDFLAGS = $(inherited) -l"swiftCoreGraphics" -framework "SnapKit" -framework "Then" +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_PODFILE_DIR_PATH = ${SRCROOT}/. +PODS_ROOT = ${SRCROOT}/Pods +PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOSTests/Pods-10_CMD_iOSTests.modulemap b/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOSTests/Pods-10_CMD_iOSTests.modulemap new file mode 100644 index 0000000..58b95ab --- /dev/null +++ b/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOSTests/Pods-10_CMD_iOSTests.modulemap @@ -0,0 +1,6 @@ +framework module Pods_10_CMD_iOSTests { + umbrella header "Pods-10_CMD_iOSTests-umbrella.h" + + export * + module * { export * } +} diff --git a/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOSTests/Pods-10_CMD_iOSTests.release.xcconfig b/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOSTests/Pods-10_CMD_iOSTests.release.xcconfig new file mode 100644 index 0000000..72ab925 --- /dev/null +++ b/10_CMD_iOS/Pods/Target Support Files/Pods-10_CMD_iOSTests/Pods-10_CMD_iOSTests.release.xcconfig @@ -0,0 +1,12 @@ +CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit" "${PODS_CONFIGURATION_BUILD_DIR}/Then" +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit/SnapKit.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Then/Then.framework/Headers" +LIBRARY_SEARCH_PATHS = $(inherited) $(SDKROOT)/usr/lib/swift +OTHER_LDFLAGS = $(inherited) -l"swiftCoreGraphics" -framework "SnapKit" -framework "Then" +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_PODFILE_DIR_PATH = ${SRCROOT}/. +PODS_ROOT = ${SRCROOT}/Pods +PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/10_CMD_iOS/Pods/Target Support Files/SnapKit/ResourceBundle-SnapKit_Privacy-SnapKit-Info.plist b/10_CMD_iOS/Pods/Target Support Files/SnapKit/ResourceBundle-SnapKit_Privacy-SnapKit-Info.plist new file mode 100644 index 0000000..d6be571 --- /dev/null +++ b/10_CMD_iOS/Pods/Target Support Files/SnapKit/ResourceBundle-SnapKit_Privacy-SnapKit-Info.plist @@ -0,0 +1,24 @@ + + + + + CFBundleDevelopmentRegion + ${PODS_DEVELOPMENT_LANGUAGE} + CFBundleIdentifier + ${PRODUCT_BUNDLE_IDENTIFIER} + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + BNDL + CFBundleShortVersionString + 5.7.1 + CFBundleSignature + ???? + CFBundleVersion + 1 + NSPrincipalClass + + + diff --git a/10_CMD_iOS/Pods/Target Support Files/SnapKit/SnapKit-Info.plist b/10_CMD_iOS/Pods/Target Support Files/SnapKit/SnapKit-Info.plist new file mode 100644 index 0000000..af3ef2c --- /dev/null +++ b/10_CMD_iOS/Pods/Target Support Files/SnapKit/SnapKit-Info.plist @@ -0,0 +1,26 @@ + + + + + CFBundleDevelopmentRegion + ${PODS_DEVELOPMENT_LANGUAGE} + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIdentifier + ${PRODUCT_BUNDLE_IDENTIFIER} + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + FMWK + CFBundleShortVersionString + 5.7.1 + CFBundleSignature + ???? + CFBundleVersion + ${CURRENT_PROJECT_VERSION} + NSPrincipalClass + + + diff --git a/10_CMD_iOS/Pods/Target Support Files/SnapKit/SnapKit-dummy.m b/10_CMD_iOS/Pods/Target Support Files/SnapKit/SnapKit-dummy.m new file mode 100644 index 0000000..b44e8e5 --- /dev/null +++ b/10_CMD_iOS/Pods/Target Support Files/SnapKit/SnapKit-dummy.m @@ -0,0 +1,5 @@ +#import +@interface PodsDummy_SnapKit : NSObject +@end +@implementation PodsDummy_SnapKit +@end diff --git a/10_CMD_iOS/Pods/Target Support Files/SnapKit/SnapKit-prefix.pch b/10_CMD_iOS/Pods/Target Support Files/SnapKit/SnapKit-prefix.pch new file mode 100644 index 0000000..beb2a24 --- /dev/null +++ b/10_CMD_iOS/Pods/Target Support Files/SnapKit/SnapKit-prefix.pch @@ -0,0 +1,12 @@ +#ifdef __OBJC__ +#import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif +#endif + diff --git a/10_CMD_iOS/Pods/Target Support Files/SnapKit/SnapKit-umbrella.h b/10_CMD_iOS/Pods/Target Support Files/SnapKit/SnapKit-umbrella.h new file mode 100644 index 0000000..1b1be64 --- /dev/null +++ b/10_CMD_iOS/Pods/Target Support Files/SnapKit/SnapKit-umbrella.h @@ -0,0 +1,16 @@ +#ifdef __OBJC__ +#import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif +#endif + + +FOUNDATION_EXPORT double SnapKitVersionNumber; +FOUNDATION_EXPORT const unsigned char SnapKitVersionString[]; + diff --git a/10_CMD_iOS/Pods/Target Support Files/SnapKit/SnapKit.debug.xcconfig b/10_CMD_iOS/Pods/Target Support Files/SnapKit/SnapKit.debug.xcconfig new file mode 100644 index 0000000..3e6e223 --- /dev/null +++ b/10_CMD_iOS/Pods/Target Support Files/SnapKit/SnapKit.debug.xcconfig @@ -0,0 +1,15 @@ +CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/SnapKit +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +LIBRARY_SEARCH_PATHS = $(inherited) "${TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift $(SDKROOT)/usr/lib/swift +OTHER_LDFLAGS = $(inherited) -l"swiftCoreGraphics" +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE} +PODS_ROOT = ${SRCROOT} +PODS_TARGET_SRCROOT = ${PODS_ROOT}/SnapKit +PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates +PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} +SKIP_INSTALL = YES +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/10_CMD_iOS/Pods/Target Support Files/SnapKit/SnapKit.modulemap b/10_CMD_iOS/Pods/Target Support Files/SnapKit/SnapKit.modulemap new file mode 100644 index 0000000..4b3e47b --- /dev/null +++ b/10_CMD_iOS/Pods/Target Support Files/SnapKit/SnapKit.modulemap @@ -0,0 +1,6 @@ +framework module SnapKit { + umbrella header "SnapKit-umbrella.h" + + export * + module * { export * } +} diff --git a/10_CMD_iOS/Pods/Target Support Files/SnapKit/SnapKit.release.xcconfig b/10_CMD_iOS/Pods/Target Support Files/SnapKit/SnapKit.release.xcconfig new file mode 100644 index 0000000..3e6e223 --- /dev/null +++ b/10_CMD_iOS/Pods/Target Support Files/SnapKit/SnapKit.release.xcconfig @@ -0,0 +1,15 @@ +CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/SnapKit +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +LIBRARY_SEARCH_PATHS = $(inherited) "${TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift $(SDKROOT)/usr/lib/swift +OTHER_LDFLAGS = $(inherited) -l"swiftCoreGraphics" +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE} +PODS_ROOT = ${SRCROOT} +PODS_TARGET_SRCROOT = ${PODS_ROOT}/SnapKit +PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates +PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} +SKIP_INSTALL = YES +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/10_CMD_iOS/Pods/Target Support Files/Then/Then-Info.plist b/10_CMD_iOS/Pods/Target Support Files/Then/Then-Info.plist new file mode 100644 index 0000000..c10e1fb --- /dev/null +++ b/10_CMD_iOS/Pods/Target Support Files/Then/Then-Info.plist @@ -0,0 +1,26 @@ + + + + + CFBundleDevelopmentRegion + ${PODS_DEVELOPMENT_LANGUAGE} + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIdentifier + ${PRODUCT_BUNDLE_IDENTIFIER} + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + FMWK + CFBundleShortVersionString + 3.0.0 + CFBundleSignature + ???? + CFBundleVersion + ${CURRENT_PROJECT_VERSION} + NSPrincipalClass + + + diff --git a/10_CMD_iOS/Pods/Target Support Files/Then/Then-dummy.m b/10_CMD_iOS/Pods/Target Support Files/Then/Then-dummy.m new file mode 100644 index 0000000..6be6d43 --- /dev/null +++ b/10_CMD_iOS/Pods/Target Support Files/Then/Then-dummy.m @@ -0,0 +1,5 @@ +#import +@interface PodsDummy_Then : NSObject +@end +@implementation PodsDummy_Then +@end diff --git a/10_CMD_iOS/Pods/Target Support Files/Then/Then-prefix.pch b/10_CMD_iOS/Pods/Target Support Files/Then/Then-prefix.pch new file mode 100644 index 0000000..beb2a24 --- /dev/null +++ b/10_CMD_iOS/Pods/Target Support Files/Then/Then-prefix.pch @@ -0,0 +1,12 @@ +#ifdef __OBJC__ +#import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif +#endif + diff --git a/10_CMD_iOS/Pods/Target Support Files/Then/Then-umbrella.h b/10_CMD_iOS/Pods/Target Support Files/Then/Then-umbrella.h new file mode 100644 index 0000000..851f9ac --- /dev/null +++ b/10_CMD_iOS/Pods/Target Support Files/Then/Then-umbrella.h @@ -0,0 +1,16 @@ +#ifdef __OBJC__ +#import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif +#endif + + +FOUNDATION_EXPORT double ThenVersionNumber; +FOUNDATION_EXPORT const unsigned char ThenVersionString[]; + diff --git a/10_CMD_iOS/Pods/Target Support Files/Then/Then.debug.xcconfig b/10_CMD_iOS/Pods/Target Support Files/Then/Then.debug.xcconfig new file mode 100644 index 0000000..e7b4571 --- /dev/null +++ b/10_CMD_iOS/Pods/Target Support Files/Then/Then.debug.xcconfig @@ -0,0 +1,14 @@ +CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Then +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +LIBRARY_SEARCH_PATHS = $(inherited) "${TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE} +PODS_ROOT = ${SRCROOT} +PODS_TARGET_SRCROOT = ${PODS_ROOT}/Then +PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates +PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} +SKIP_INSTALL = YES +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/10_CMD_iOS/Pods/Target Support Files/Then/Then.modulemap b/10_CMD_iOS/Pods/Target Support Files/Then/Then.modulemap new file mode 100644 index 0000000..4385750 --- /dev/null +++ b/10_CMD_iOS/Pods/Target Support Files/Then/Then.modulemap @@ -0,0 +1,6 @@ +framework module Then { + umbrella header "Then-umbrella.h" + + export * + module * { export * } +} diff --git a/10_CMD_iOS/Pods/Target Support Files/Then/Then.release.xcconfig b/10_CMD_iOS/Pods/Target Support Files/Then/Then.release.xcconfig new file mode 100644 index 0000000..e7b4571 --- /dev/null +++ b/10_CMD_iOS/Pods/Target Support Files/Then/Then.release.xcconfig @@ -0,0 +1,14 @@ +CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Then +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +LIBRARY_SEARCH_PATHS = $(inherited) "${TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE} +PODS_ROOT = ${SRCROOT} +PODS_TARGET_SRCROOT = ${PODS_ROOT}/Then +PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates +PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} +SKIP_INSTALL = YES +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/10_CMD_iOS/Pods/Then/LICENSE b/10_CMD_iOS/Pods/Then/LICENSE new file mode 100644 index 0000000..7f0cb52 --- /dev/null +++ b/10_CMD_iOS/Pods/Then/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2015 Suyeol Jeon (xoul.kr) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/10_CMD_iOS/Pods/Then/README.md b/10_CMD_iOS/Pods/Then/README.md new file mode 100644 index 0000000..159c105 --- /dev/null +++ b/10_CMD_iOS/Pods/Then/README.md @@ -0,0 +1,124 @@ +# Then + +![Swift](https://img.shields.io/badge/Swift-5.0-orange.svg) +[![CocoaPods](http://img.shields.io/cocoapods/v/Then.svg)](https://cocoapods.org/pods/Then) +[![Build Status](https://travis-ci.org/devxoul/Then.svg?branch=master)](https://travis-ci.org/devxoul/Then) + +✨ Super sweet syntactic sugar for Swift initializers. + +## At a Glance + +Initialize UILabel **then** set its properties. + +```swift +let label = UILabel().then { + $0.textAlignment = .center + $0.textColor = .black + $0.text = "Hello, World!" +} +``` + +This is equivalent to: + +```swift +let label: UILabel = { + let label = UILabel() + label.textAlignment = .center + label.textColor = .black + label.text = "Hello, World!" + return label +}() +``` + +## Tips and Tricks + +- You can use `then()` to all of `NSObject` subclasses. + + ```swift + let queue = OperationQueue().then { + $0.maxConcurrentOperationCount = 1 + } + ``` + +- Want to use with your own types? Just make extensions. + + ```swift + extension MyType: Then {} + + let instance = MyType().then { + $0.really = "awesome!" + } + ``` + +- Use `with()` when copying the value types. + + ```swift + let newFrame = oldFrame.with { + $0.size.width = 200 + $0.size.height = 100 + } + newFrame.width // 200 + newFrame.height // 100 + ``` + +- Use `do()` to do something with less typing. + + ```swift + UserDefaults.standard.do { + $0.set("devxoul", forKey: "username") + $0.set("devxoul@gmail.com", forKey: "email") + $0.synchronize() + } + ``` + +## Real World Example + +Here's an example usage in an UIViewController subclass. + +```swift +final class MyViewController: UIViewController { + + let titleLabel = UILabel().then { + $0.textColor = .black + $0.textAlignment = .center + } + + let tableView = UITableView().then { + $0.backgroundColor = .clear + $0.separatorStyle = .none + $0.register(MyCell.self, forCellReuseIdentifier: "myCell") + } + + override func viewDidLoad() { + super.viewDidLoad() + self.view.addSubview(self.titleLabel) + self.view.addSubview(self.tableView) + } + +} +``` + +## Installation + +- **Using [CocoaPods](https://cocoapods.org)**: + + ```ruby + pod 'Then' + ``` + +- **Using [Swift Package Manager](https://swift.org/package-manager)**: + + ```swift + import PackageDescription + + let package = Package( + name: "MyAwesomeApp", + dependencies: [ + .Package(url: "https://github.com/devxoul/Then", majorVersion: 2), + ] + ) + ``` + +## License + +**Then** is under MIT license. See the [LICENSE](LICENSE) file for more info. diff --git a/10_CMD_iOS/Pods/Then/Sources/Then/Then.swift b/10_CMD_iOS/Pods/Then/Sources/Then/Then.swift new file mode 100644 index 0000000..0aeda76 --- /dev/null +++ b/10_CMD_iOS/Pods/Then/Sources/Then/Then.swift @@ -0,0 +1,98 @@ +// The MIT License (MIT) +// +// Copyright (c) 2015 Suyeol Jeon (xoul.kr) +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. + +import Foundation +#if !os(Linux) + import CoreGraphics +#endif +#if os(iOS) || os(tvOS) + import UIKit.UIGeometry +#endif + +public protocol Then {} + +extension Then where Self: Any { + + /// Makes it available to set properties with closures just after initializing and copying the value types. + /// + /// let frame = CGRect().with { + /// $0.origin.x = 10 + /// $0.size.width = 100 + /// } + @inlinable + public func with(_ block: (inout Self) throws -> Void) rethrows -> Self { + var copy = self + try block(©) + return copy + } + + /// Makes it available to execute something with closures. + /// + /// UserDefaults.standard.do { + /// $0.set("devxoul", forKey: "username") + /// $0.set("devxoul@gmail.com", forKey: "email") + /// $0.synchronize() + /// } + @inlinable + public func `do`(_ block: (Self) throws -> Void) rethrows { + try block(self) + } + +} + +extension Then where Self: AnyObject { + + /// Makes it available to set properties with closures just after initializing. + /// + /// let label = UILabel().then { + /// $0.textAlignment = .center + /// $0.textColor = UIColor.black + /// $0.text = "Hello, World!" + /// } + @inlinable + public func then(_ block: (Self) throws -> Void) rethrows -> Self { + try block(self) + return self + } + +} + +extension NSObject: Then {} + +#if !os(Linux) + extension CGPoint: Then {} + extension CGRect: Then {} + extension CGSize: Then {} + extension CGVector: Then {} +#endif + +extension Array: Then {} +extension Dictionary: Then {} +extension Set: Then {} +extension JSONDecoder: Then {} +extension JSONEncoder: Then {} + +#if os(iOS) || os(tvOS) + extension UIEdgeInsets: Then {} + extension UIOffset: Then {} + extension UIRectEdge: Then {} +#endif