diff --git a/Example/Podfile.lock b/Example/Podfile.lock index 347ffa8..a0d5fcd 100644 --- a/Example/Podfile.lock +++ b/Example/Podfile.lock @@ -8,7 +8,7 @@ PODS: - FBSnapshotTestCase/SwiftSupport (2.1.4): - FBSnapshotTestCase/Core - HandyJSON (5.0.0-beta.1) - - SmartCodable (4.2.6) + - SmartCodable (4.3.0-beta) - SnapKit (5.6.0) DEPENDENCIES: @@ -39,7 +39,7 @@ SPEC CHECKSUMS: CleanJSON: 910a36465ce4829e264a902ccf6d1455fdd9f980 FBSnapshotTestCase: 094f9f314decbabe373b87cc339bea235a63e07a HandyJSON: 582477127ab3ab65bd2e471815f1a7b846856978 - SmartCodable: 09bc8e160ecb5fd0a7500cca792eb03e75a06477 + SmartCodable: 8985750f1bb521bf7f94ab898260d77f4dc32f24 SnapKit: e01d52ebb8ddbc333eefe2132acf85c8227d9c25 PODFILE CHECKSUM: 7f3af03f81934df0c035518074a7abbec8fa9d3f diff --git a/Example/Pods/Local Podspecs/SmartCodable.podspec.json b/Example/Pods/Local Podspecs/SmartCodable.podspec.json index 87b8b3f..60562b3 100644 --- a/Example/Pods/Local Podspecs/SmartCodable.podspec.json +++ b/Example/Pods/Local Podspecs/SmartCodable.podspec.json @@ -1,6 +1,6 @@ { "name": "SmartCodable", - "version": "4.2.6", + "version": "4.3.0-beta", "summary": "数据解析库", "homepage": "https://github.com/intsig171", "license": { @@ -12,7 +12,7 @@ }, "source": { "git": "https://github.com/intsig171/SmartCodable.git", - "tag": "4.2.6" + "tag": "4.3.0-beta" }, "platforms": { "ios": "11.0", diff --git a/Example/Pods/Manifest.lock b/Example/Pods/Manifest.lock index 347ffa8..a0d5fcd 100644 --- a/Example/Pods/Manifest.lock +++ b/Example/Pods/Manifest.lock @@ -8,7 +8,7 @@ PODS: - FBSnapshotTestCase/SwiftSupport (2.1.4): - FBSnapshotTestCase/Core - HandyJSON (5.0.0-beta.1) - - SmartCodable (4.2.6) + - SmartCodable (4.3.0-beta) - SnapKit (5.6.0) DEPENDENCIES: @@ -39,7 +39,7 @@ SPEC CHECKSUMS: CleanJSON: 910a36465ce4829e264a902ccf6d1455fdd9f980 FBSnapshotTestCase: 094f9f314decbabe373b87cc339bea235a63e07a HandyJSON: 582477127ab3ab65bd2e471815f1a7b846856978 - SmartCodable: 09bc8e160ecb5fd0a7500cca792eb03e75a06477 + SmartCodable: 8985750f1bb521bf7f94ab898260d77f4dc32f24 SnapKit: e01d52ebb8ddbc333eefe2132acf85c8227d9c25 PODFILE CHECKSUM: 7f3af03f81934df0c035518074a7abbec8fa9d3f diff --git a/Example/Pods/Pods.xcodeproj/project.pbxproj b/Example/Pods/Pods.xcodeproj/project.pbxproj index 9503500..f90e1f2 100644 --- a/Example/Pods/Pods.xcodeproj/project.pbxproj +++ b/Example/Pods/Pods.xcodeproj/project.pbxproj @@ -14,92 +14,90 @@ 04637C70546B34F93C3A1D79C3F78B37 /* ConstraintDirectionalInsetTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = C53C2DBE2FECF12DA6C33264A027EC82 /* ConstraintDirectionalInsetTarget.swift */; }; 046632AA5E3B8F69BCE2BB01F7B84015 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 57221B54D014471C3D3E1925EFC917C8 /* Foundation.framework */; }; 047D3D772E8DDA418069EFA573B36BD2 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 57221B54D014471C3D3E1925EFC917C8 /* Foundation.framework */; }; - 053E98E7C306DD68E85CCAE3495D95F7 /* JSONDecoderImpl+UnkeyedContainer.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE0DAF964A0E975B4B68EFA56FCD83B9 /* JSONDecoderImpl+UnkeyedContainer.swift */; }; + 048A142BB6811C52B689CED962272328 /* LogItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C6FD547CB3C95AA2B6C5BC4AA5729A5 /* LogItem.swift */; }; 0591132B5EA1BE4DDA268D8A9C3D0421 /* LayoutConstraint.swift in Sources */ = {isa = PBXBuildFile; fileRef = 46D532B60E5A862BAED6B9ED6A3A06F7 /* LayoutConstraint.swift */; }; - 063AFBE45FA4D2A18A799C07E339472C /* SmartDecodable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 01027E30AE45ACACFEB6BEE5EA34E231 /* SmartDecodable.swift */; }; + 0685F8722EB3B3A448A709E41F08AB03 /* JSONEncoderImpl.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9224B4149A703E066CE617BE68BD5765 /* JSONEncoderImpl.swift */; }; 06E43B4751069B47B3BD4AFD936A57E3 /* ConstraintPriority.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B1648D17E6B6A33B54A7906BC560E10 /* ConstraintPriority.swift */; }; 0833E66E7F19849322305D67777B77DB /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 57221B54D014471C3D3E1925EFC917C8 /* Foundation.framework */; }; - 0A5BAC1A2DFD2A51F2F78D83967BA205 /* SmartKeyDecodingStrategy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4A22E62B9E2F61C5E2E300D5E7C8B1E3 /* SmartKeyDecodingStrategy.swift */; }; - 0B7E73BCF3283DE2323ECAFDFD9F2A50 /* SmartJSONEncoder.swift in Sources */ = {isa = PBXBuildFile; fileRef = F835BEE1F63A125B0BFCE49E495111D5 /* SmartJSONEncoder.swift */; }; 0B994CDC79B1AD3A7BE62490D27C60C8 /* ConstraintAttributes.swift in Sources */ = {isa = PBXBuildFile; fileRef = F3DD3A510DCBD287B46973C5625A7FB1 /* ConstraintAttributes.swift */; }; + 0BD9AEE7C63D79CB5D7C5DAFCA2B1702 /* URLTransformer.swift in Sources */ = {isa = PBXBuildFile; fileRef = A96A9755F10AEE7996C2DF74B9525ABE /* URLTransformer.swift */; }; 0F4D0B7B522466B970AA826F57343EFF /* DataTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC6DB121D8A9523A91FDAB8376BE09FD /* DataTransform.swift */; }; 121A1E851C4ED624C40C631C653B12A6 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 57221B54D014471C3D3E1925EFC917C8 /* Foundation.framework */; }; 123E6BAD784E74477DC5B5CFF0272759 /* AnyExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = CDD07779AA8B42688ED0FF74BACC5AA5 /* AnyExtensions.swift */; }; - 1664808AF0094F1A74D3FE1AEE719142 /* ColorTransformer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 799E5BDA02A01061F0AD7D765EF7F560 /* ColorTransformer.swift */; }; + 1454F1E3D583CB295E1685A741781F76 /* JSONDecoderImpl+UnkeyedContainer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 844CE6BE5F6DFD8D3B7C4109FBDF37B6 /* JSONDecoderImpl+UnkeyedContainer.swift */; }; + 16CE5D7DE4EA429B2A4FE4C212318F6F /* SmartCaseDefaultable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 487FC6D5FA076528735E6C72BF0F7B74 /* SmartCaseDefaultable.swift */; }; 17B9A1C9CB9555CF5C3D70318BD98BFF /* BTBubble+Check.swift in Sources */ = {isa = PBXBuildFile; fileRef = 319CD0A8663A00A572B4418C10FE8894 /* BTBubble+Check.swift */; }; 183D8B3E057B885EA7DF9A8CDCCE9029 /* ConstraintMakerRelatable.swift in Sources */ = {isa = PBXBuildFile; fileRef = FD311A04C42FFDF8D95E30DC09B7EA57 /* ConstraintMakerRelatable.swift */; }; 19BB09AF94BD545E40C2766045BDDD77 /* ExtendCustomBasicType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63337F29437FD6A05DCA6E50C4DF6945 /* ExtendCustomBasicType.swift */; }; - 1A2CF687707C7AEE8D881F46B60E2142 /* SmartCodable-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = AB803636AFBD1D373367FEFB5C37A0D1 /* SmartCodable-dummy.m */; }; 1A78E1104DB6D444ECAF63AB362C8115 /* Pods-SmartCodable_Tests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = E3F09186EE217FC9713BA39404EB7B24 /* Pods-SmartCodable_Tests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; 1B14ABB3EBE1CF1E69D4E393ADE3E9E4 /* OtherExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = E7D0C8FFA3D3F1791A00D06DA9FB06C3 /* OtherExtension.swift */; }; 1B8CE6509886B2FF237F5844B9C64C8B /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 57221B54D014471C3D3E1925EFC917C8 /* Foundation.framework */; }; 1BACCB396E184BBE1534DA7B2537578F /* CleanJSONDecodingStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF34C278263A81DD03B77202C061698C /* CleanJSONDecodingStorage.swift */; }; - 1ED155BF901324F19DC285A69E0BD466 /* JSONSingleValueEncodingContainer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 027F28A4538E6CFB304B4FBA2BF92655 /* JSONSingleValueEncodingContainer.swift */; }; 1F84FE646CD1D7BAFFB58C243277AFF8 /* FBSnapshotTestCase-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 7FF03B8E2DF800F666228FD3C0F9026B /* FBSnapshotTestCase-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; 20B4141230DED5149833C6554AFC8EFB /* _CleanJSONDecoder+SingleValueDecodingContainer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5DAD6DAD58F97DC6978669ECC1DCB217 /* _CleanJSONDecoder+SingleValueDecodingContainer.swift */; }; 220D6AC9B1B1EC8EFFB204F9C1EAC842 /* ConstraintMakerEditable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B3CBC4CFD3D5E9ABDC56DDC685EACE4 /* ConstraintMakerEditable.swift */; }; 2307EFF154B93A7CF3BBD066F9D2479E /* Pods-SmartCodable_Tests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = E5FA84A6FC991F1497F1DC0F7EA5CAD8 /* Pods-SmartCodable_Tests-dummy.m */; }; 24658CFD39BCB4586D56C427F8EA751D /* BuiltInBasicType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 93B6822011E346FDFA44C5A0CAB94482 /* BuiltInBasicType.swift */; }; 256558233B40ACA6818F143BBC5B8017 /* ConstraintViewDSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = C958AC7215CB092EEC6FA33BD843AC29 /* ConstraintViewDSL.swift */; }; + 2634ED6D3DF68947E294EB5ABF954CD9 /* SmartDecodable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7C65519E4A56E0CFE8B8EB8F77A80D8E /* SmartDecodable.swift */; }; 2878735FE61E1EEB4C493A8B8ED3DCAC /* EnumType.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC81D310210EE3584DF75E7C318F9318 /* EnumType.swift */; }; 2975A09730FD83DC0897129A11EA6585 /* SwiftSupport.swift in Sources */ = {isa = PBXBuildFile; fileRef = 992A16CABA4C83CBEACADDABDE5021A8 /* SwiftSupport.swift */; }; 2B88C28DD20CBFA7B3AEB21A365197FE /* FBSnapshotTestController.h in Headers */ = {isa = PBXBuildFile; fileRef = 4A29F6A0D45AF40A67824A0487C3A989 /* FBSnapshotTestController.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 2BABA99C97522114682D00B4B9CE2084 /* SmartJSONDecoder.swift in Sources */ = {isa = PBXBuildFile; fileRef = C38D95DDE8138760A794FC6F454C5C8D /* SmartJSONDecoder.swift */; }; 2CB61F6FA511CAACB43A50DC3A82E0DD /* UIImage+Snapshot.m in Sources */ = {isa = PBXBuildFile; fileRef = 02B734C740F66C4CA7D3E58A2E3A71ED /* UIImage+Snapshot.m */; }; - 2D91868E59FC7A9D63C662A46DF16388 /* JSONParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2E153D4CCE71C4A3387A0BBE3A8C067 /* JSONParser.swift */; }; + 2E048B2C14492BBCF05F92B565FE8ED1 /* SmartCodable-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = C12B7783A29EB07C2AE0513F4BC5793A /* SmartCodable-dummy.m */; }; 2ECCAC52EF4C74E1032E0BC646BBE5B9 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 57221B54D014471C3D3E1925EFC917C8 /* Foundation.framework */; }; 302638AD965D971A268A2114F7742607 /* CleanJSONUnkeyedDecodingContainer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 39B2DBA2FFE481C74723D3D77C1C4151 /* CleanJSONUnkeyedDecodingContainer.swift */; }; 309C54EC9536180B960B9CB8EBD412E3 /* CustomDateFormatTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADDD58F0A7F5CBCD84256A572196E486 /* CustomDateFormatTransform.swift */; }; 30D475DF57C0C682A723231E7BCA0D14 /* FBSnapshotTestCasePlatform.m in Sources */ = {isa = PBXBuildFile; fileRef = B3CC75B7FCBD0A88F04962B84E46D054 /* FBSnapshotTestCasePlatform.m */; }; 31BBDE6D8EF669C30F5140D8058DCC76 /* CleanDecoder.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8F06552F963B43848600AFDC8043A19 /* CleanDecoder.swift */; }; - 33681840BB45DA207F2A6B7D357191ED /* EncodingCache.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2AA7612928DE73B8FF1BA15FF2775D7 /* EncodingCache.swift */; }; 33BC540DE351661FAAA24950E165D4F1 /* MangledName.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6B6AE0B9AEB52789C2BA9C70151E337A /* MangledName.swift */; }; 361EA7ABBDD80F154DDC208D9CE920DD /* Deserializer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2E274A3EAC25DB6D5C25C3CBB604248B /* Deserializer.swift */; }; 3660B4F629053ABC3C1DF69366770289 /* ConstraintConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077FF679DE0A788D695D32FCF72B1002 /* ConstraintConfig.swift */; }; 373413256658309F9053CE22BF62077E /* UIImage+Snapshot.h in Headers */ = {isa = PBXBuildFile; fileRef = 60B0F726C42000735EC1B76226554746 /* UIImage+Snapshot.h */; settings = {ATTRIBUTES = (Private, ); }; }; 380F4FCB4A16A8BEE8C65EDDA025FEF3 /* _CleanJSONDecoder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07ADF3C4B3DE46FA90A67725C575E757 /* _CleanJSONDecoder.swift */; }; 38B9D58E94D9C1CECD7E381C64A2329D /* UILayoutSupport+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0F3C77A10532266D4C2017D4C5657D22 /* UILayoutSupport+Extensions.swift */; }; - 399C657DADA8085D0191CE74377B4216 /* JSONKeyedEncodingContainer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7055BC8286DC56B59DAD50E87B516DE9 /* JSONKeyedEncodingContainer.swift */; }; 3A030CA5A4DD41F59802F907A93F85DF /* HexColorTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36F93E9634821D816540140F7E1D6199 /* HexColorTransform.swift */; }; - 3BBE47375B7C544FA1B4FA15878ECC6C /* SmartCaseDefaultable.swift in Sources */ = {isa = PBXBuildFile; fileRef = AC7E2D77A9ADA0EEDC97BC2CE35771E2 /* SmartCaseDefaultable.swift */; }; 3C53583CB1A5F4926491D8838F580074 /* BuiltInBridgeType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7E920302DBA2124AFF869243E5CB6351 /* BuiltInBridgeType.swift */; }; + 3DFC7BD447865207753DCC11D7F7BFF6 /* Transformer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8EED235A212030C1289F685C29DBCA61 /* Transformer.swift */; }; + 3E7B38BCF992DC94140675B009003976 /* IgnoredKey.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4430D68D17A83EF9562C78A764F38698 /* IgnoredKey.swift */; }; 409FF499AEF8324ABFBA13C7A68D6349 /* BTBubble-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 4CAE8816531C7030F85857D829CF295C /* BTBubble-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 415DDC5AE04100F3017B28479985416B /* SafeDictionary.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C2EBBA575674203681CA88681245D9C /* SafeDictionary.swift */; }; + 4291B84DF980A7F858C9250E361E1152 /* SmartEncodable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84D5B1A2555C2CD23DAEC7D114D2DCFE /* SmartEncodable.swift */; }; 42B6ACFCF650183030867CB3EF345E95 /* ConstraintMakerFinalizable.swift in Sources */ = {isa = PBXBuildFile; fileRef = AB1035777F9D0FAD25F91B78CF571685 /* ConstraintMakerFinalizable.swift */; }; + 445EFD6A22E692ABA432D43356CDE89C /* DecodingError+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B9F506FCA48840DE6105539D99F1F51 /* DecodingError+Extension.swift */; }; 46BD19D7708E8AAA015506480ED796A5 /* BTPrint-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 926AFEC77F93BCAD652BB781C5D0AA8C /* BTPrint-dummy.m */; }; - 48291ECA38ECB36F2F72B8B1A287F88D /* DecodingCache.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF32832552D8CD53AD749B77B61C4F20 /* DecodingCache.swift */; }; + 4AB4B731721A260628ADC7B258C9C9E1 /* JSONUnkeyedEncodingContainer.swift in Sources */ = {isa = PBXBuildFile; fileRef = C91E3DAF9B4402C695FD80133DBB4D66 /* JSONUnkeyedEncodingContainer.swift */; }; 4BAD99B7394E225CEDBF94B8100BCC7F /* ConstraintRelation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 464FF18D590547BE7F4826907AFFE76D /* ConstraintRelation.swift */; }; + 4CB7048A9A2EA5FAD1FB795619DBBC51 /* JSONValue.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52D276E5158A902D530CD64A969DEFE2 /* JSONValue.swift */; }; 4D9E3A4C588EA10E1B072DD95DF150E9 /* CleanJSON-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = A370EE4D019ADFE65F2DC1FF9EDBA187 /* CleanJSON-dummy.m */; }; 4DA72FD7F1FB2C0449EDEF4B8A579807 /* ConstraintPriorityTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2DBF99060B70E1B6830A780BA2524ADA /* ConstraintPriorityTarget.swift */; }; - 534EF215B0AF4346B4A900AFC5CA2385 /* SmartEncodable.swift in Sources */ = {isa = PBXBuildFile; fileRef = E7151F5200489CEA73A82A5377858820 /* SmartEncodable.swift */; }; + 5331E2D70D195DFA810B049A2E681613 /* DateTransformer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1018291528DE7C221F8A61E3F4F2C281 /* DateTransformer.swift */; }; 5380454C48A12A6E376122ABD8096968 /* ConstraintDescription.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7570803E9622B6523B3325B01B79E44B /* ConstraintDescription.swift */; }; 5558B876B579BC1E79BD3D2B19148329 /* UIApplication+StrictKeyWindow.h in Headers */ = {isa = PBXBuildFile; fileRef = 233DAEDE45A5CF0A47B6462C8C9F92B4 /* UIApplication+StrictKeyWindow.h */; settings = {ATTRIBUTES = (Project, ); }; }; 55E51F45F1E157D3B4942BA7252C277E /* ConstraintRelatableTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = F1F4D4D87CBE3DA68AFC92D6F05636AF /* ConstraintRelatableTarget.swift */; }; + 56200A90E4D2621498A1D3B1DF2E2554 /* SmartPublished.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63B7AF1541DDEE29148AD4B96C157537 /* SmartPublished.swift */; }; 56A72F6D13D930C4A2568F24DEA33C8D /* ConstraintLayoutSupportDSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0F043A0A52D038042BE4B2E250F39C46 /* ConstraintLayoutSupportDSL.swift */; }; 56AC6DC6459AE47E7BC4AF06E5B148D2 /* ConstraintDSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDEF3ACF04599EB1C214870D993C7153 /* ConstraintDSL.swift */; }; 56CAC06DB79E51F4ED416927D57C79A9 /* Measuable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7D0C0E237F70C307DF23B940F50265F5 /* Measuable.swift */; }; 5A8FAA2FBC1E5BC5F5137CB211218A1E /* CleanJSONDecoder.swift in Sources */ = {isa = PBXBuildFile; fileRef = DB06E31B883A63C5DE4A5A6308F36C8F /* CleanJSONDecoder.swift */; }; - 5AE61159FD826C1B3D960B1B85167555 /* URLTransformer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D33BCAA4236722F7930A6EB0E8F8175 /* URLTransformer.swift */; }; - 5BB6F5171323C4799CA3AA0676B1EFBF /* Patcher+Transformer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7C6914B3D982C726CD0198A9E5514539 /* Patcher+Transformer.swift */; }; 5BE525FF6FA14B999ED2CCC0AA4FA0CF /* FBSnapshotTestCase-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = B9E9FCD5E63CE808B8773D040F1E2BA8 /* FBSnapshotTestCase-dummy.m */; }; 5CCB87A1A86D7C03A5D678B262B37071 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 57221B54D014471C3D3E1925EFC917C8 /* Foundation.framework */; }; 5D0C8EE39661E929D4881B314AA90123 /* ToJSON.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9121AADFDAA9E940775A36390D6DDBC7 /* ToJSON.swift */; }; 5D36B99F3CAB1FC7337082D9581FECA6 /* Debugging.swift in Sources */ = {isa = PBXBuildFile; fileRef = 418DA1AEA18C4A4A1E5D84FCB60DA427 /* Debugging.swift */; }; - 5E15C4E6B5D817750CF95FBDF3982851 /* DataTransformer.swift in Sources */ = {isa = PBXBuildFile; fileRef = E410EB5FD2E6D90512D8DB70413B2C8D /* DataTransformer.swift */; }; 5FCE0936FD3B817C74C1EB6B26D459D7 /* BTBubble+Menu.swift in Sources */ = {isa = PBXBuildFile; fileRef = 02A4470686F2D00D08E538160531B64E /* BTBubble+Menu.swift */; }; 5FD7858E6AA15774EDCD172DFE731D66 /* JSONAdapter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A2453FB81C81C62905E16C3FD41C15D /* JSONAdapter.swift */; }; - 5FE6C8838E9D37829B77DFD64962A813 /* SmartColor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 400B30EC0B34D7A48E962AC06BC1CC35 /* SmartColor.swift */; }; 604D3C93C17978C23600EC415949AB64 /* ConstraintInsets.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45DCF5151BEFE9D3018AFB99FE8F580F /* ConstraintInsets.swift */; }; 611CEF7FF1EF9EA1BCEF6C73EEE3ACCF /* ConstraintLayoutGuide.swift in Sources */ = {isa = PBXBuildFile; fileRef = 70E88BDB3FDACE8F2B23F3247435107D /* ConstraintLayoutGuide.swift */; }; - 6159BF8E265A4AB0BB3906F988AFE444 /* SmartSentinel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 639A190739C9B39F129EB5D3F1AD01C6 /* SmartSentinel.swift */; }; 61FCA0616CE6512DCA67D74562D6EA1D /* ReflectionHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = BAF69AF530FDB1A1819B8E00A3E4775A /* ReflectionHelper.swift */; }; - 6221B84543F46615E02612C14274DD34 /* LogContainer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1142BCBDEC28C3AB6AA978773E5CC527 /* LogContainer.swift */; }; + 627A98068E27FF3D5E78844516515AF1 /* JSONSingleValueEncodingContainer.swift in Sources */ = {isa = PBXBuildFile; fileRef = F0F450922780708B9541AD6A7A61410D /* JSONSingleValueEncodingContainer.swift */; }; 62C1A489E5C6414819815F3219B52FE8 /* URLTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = 510325960A63C34B69B7173F76A69109 /* URLTransform.swift */; }; + 630DE6C3E85E7C565A7F0672300DB832 /* SmartSentinel.swift in Sources */ = {isa = PBXBuildFile; fileRef = CFDFCFA070C53E5A4173B347FFB68911 /* SmartSentinel.swift */; }; 640CCE9C3A28AA3CA15510899F9140EE /* FBSnapshotTestCasePlatform.h in Headers */ = {isa = PBXBuildFile; fileRef = 87EF2DCAFAACA539DB4A58A75FC36303 /* FBSnapshotTestCasePlatform.h */; settings = {ATTRIBUTES = (Public, ); }; }; 67F1963AA7C9EDB78127AD5F566A4949 /* UIImage+Diff.h in Headers */ = {isa = PBXBuildFile; fileRef = D283527F80A00FBB2FF5776A4E3B27B2 /* UIImage+Diff.h */; settings = {ATTRIBUTES = (Private, ); }; }; 69DE75BA185BBAB5FDAA28321F3C849F /* ConstraintItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 05DE8DDCC94E79120DAB11B9DBD24069 /* ConstraintItem.swift */; }; 6AC1B881BB319C89AD023A02CDC8FC3D /* ConstraintLayoutGuide+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5EE456287EB50E4B04F1A29EC19043B7 /* ConstraintLayoutGuide+Extensions.swift */; }; - 6DCE030966DC4F314763E368CBE8D263 /* SmartJSONDecoder.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC3F781A14F94DA3A62040D15C1ADC72 /* SmartJSONDecoder.swift */; }; 6EAC8B6FA2D115DE708A58C601DD25E1 /* Constraint.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD91016CD3E4DB108E6B6B782539B2EC /* Constraint.swift */; }; - 72C01E4E09EE55A0F1EAB0ED3F896289 /* SmartKeyEncodingStrategy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 887F4600941DEFBBFA7F03E80BB2487D /* SmartKeyEncodingStrategy.swift */; }; 731D27FC388519A4D24B52D2A29E11C8 /* Defaultable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 541A55046863031E15A9FA69EA99FE8E /* Defaultable.swift */; }; 74339C58AC4E5631FB8C0E662668A796 /* UIApplication+StrictKeyWindow.m in Sources */ = {isa = PBXBuildFile; fileRef = 87C56FECBDEE19803E1748DE1C16FBBA /* UIApplication+StrictKeyWindow.m */; }; 75A9C102F3A707CD1C58A32620CB97FB /* PrintFormat.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7F9222551C78E09BFE29291610498A56 /* PrintFormat.swift */; }; @@ -108,17 +106,20 @@ 79C7D4E9901AA11C25F8C71F3E9DF612 /* Properties.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0600D0B09DB5802D6B378850043ADD4D /* Properties.swift */; }; 79FCA569BCE23251EE345047D3A15EFB /* BTBubble+Draw.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8396A1DCA6FC67A7830D34F6F815289 /* BTBubble+Draw.swift */; }; 7AD2DE331157EFDE3B334048A5509E27 /* DecodingStrategy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2D804957148656B5405037FC4821F4DB /* DecodingStrategy.swift */; }; - 7C44D1DCCE9A28B645EB18C96A670B72 /* LogItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 03314E02E03ABAF9A9A54FB7C3242E6A /* LogItem.swift */; }; + 7C20CB4D32598EB8DC1CA32148EDC95B /* DataTransformer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 964680D0DEB411E48560E6EA1308BBA1 /* DataTransformer.swift */; }; + 7C301F44CEAE3DE97B05A3D78AA83214 /* SmartAnyImpl.swift in Sources */ = {isa = PBXBuildFile; fileRef = E3C4F0FDD9321196F06FE0753028108F /* SmartAnyImpl.swift */; }; 7C67CBD15D9B5D0B7769B2F469478332 /* FBSnapshotTestCase.m in Sources */ = {isa = PBXBuildFile; fileRef = A11B531AF457EC4F99F06F115FDE0A45 /* FBSnapshotTestCase.m */; }; 7D9031DCB898CD9DE37C4BD4F3FC550D /* DateFormatterTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = 76F616A528D452098E003EDF888C54AC /* DateFormatterTransform.swift */; }; - 7FB00C8F53F3437BC918875159BEBA00 /* JSONDecoderImpl+Unwrap.swift in Sources */ = {isa = PBXBuildFile; fileRef = 43E9440FF074C3295964D3A8D246D910 /* JSONDecoderImpl+Unwrap.swift */; }; - 83045EB96CCE4F071DDF592E127B4684 /* Cachable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3FDA4BCFBA09205CBCFC8BA6F27904F5 /* Cachable.swift */; }; - 83FE57D911860E83C2F2A687D80A76D3 /* SmartAny.swift in Sources */ = {isa = PBXBuildFile; fileRef = A9397F93F6330E1B99A7DED1D910245C /* SmartAny.swift */; }; + 807DC47184212EBBC7DA925026A86084 /* Patcher+Provider.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF57ABBF4AB784C9B328BD21A139C898 /* Patcher+Provider.swift */; }; + 815872EF86A5ECCD7A10F8A2F8F214FD /* SmartFlat.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9108626D433AB91CD2BBD227F0F5F101 /* SmartFlat.swift */; }; 846C97A8C420EFD9B8C4B77ADBB1E8F5 /* TransformType.swift in Sources */ = {isa = PBXBuildFile; fileRef = E20ABA9C7B9C59A9D3A5EA7AB0215871 /* TransformType.swift */; }; 84DE1F68AAD7608B90F722CDBA89C07C /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 57221B54D014471C3D3E1925EFC917C8 /* Foundation.framework */; }; 85913D5AC8449037C282EB84450592A1 /* CleanJSON-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = C6D3430E32742C8A84D354226C873C6C /* CleanJSON-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 860335F9B4688E4C83AF27F4FCB910DF /* SmartUpdater.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4C481481BBE5337413ADE45E4580A7D /* SmartUpdater.swift */; }; 875A310EAF4D0C136C3FFFF5E0335BE4 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DA24A38BA9EE106B59E3D4C8DD1CE0E /* UIKit.framework */; }; 884DB7B8E20C199509BC5B9A17263113 /* BTBubble.swift in Sources */ = {isa = PBXBuildFile; fileRef = F09645CD0AE835FD6F2CC1C70F2768E6 /* BTBubble.swift */; }; + 8875A9F58001358AB91DF5544679328F /* JSONValue+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BD411298870436EF9D3DC204D3FD6AD /* JSONValue+Extension.swift */; }; + 88FD73CBB2F531EB71CDFD426DA4C761 /* Patcher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45EBDB386C01C541AF2451CE917CDEDB /* Patcher.swift */; }; 8AE19756F0126FE92AF625E36F3D70FE /* UIImage+Compare.h in Headers */ = {isa = PBXBuildFile; fileRef = 60E0A4F5EA0780653EDE0A8F48FE2B14 /* UIImage+Compare.h */; settings = {ATTRIBUTES = (Private, ); }; }; 8B85D89911D50E1DEAF25D920B6F3C5F /* Pods-SmartCodable_Example-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 9AB62CDC1D9A84669428234D73C264AF /* Pods-SmartCodable_Example-dummy.m */; }; 8C3394695CB4CCECD873D1384F4BA076 /* Export.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32B376CE8FE7B39265B74DCF06C524D2 /* Export.swift */; }; @@ -129,74 +130,73 @@ 92CC91D4B6AF0B3E18068CCFBE36A3B7 /* BubbleTools.swift in Sources */ = {isa = PBXBuildFile; fileRef = EE7E7A774098C77B700C918B4B303354 /* BubbleTools.swift */; }; 95E194A3AABB5407231E898B6686F73E /* ConstraintMakerRelatable+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC6BD8F9EB57322C72A42B7031485790 /* ConstraintMakerRelatable+Extensions.swift */; }; 96D8402B4AFC4AC7349F1B487D6EB08C /* Transformable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2852BF0E7B62CAF6AB4E994FD9DFF2DF /* Transformable.swift */; }; - 98D2B9ECFE3B082D6B872A337135C3E3 /* DecodingError+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 67A4F0FDE9CE7697993DF3BCA62C50D3 /* DecodingError+Extension.swift */; }; 98F570DA48370453D648BD526FDAAEAA /* LayoutConstraintItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = D20FD964253D6C1E0040497B2CA5505E /* LayoutConstraintItem.swift */; }; - 991C22B080129E193975D5966A75CC47 /* SmartAnyImpl.swift in Sources */ = {isa = PBXBuildFile; fileRef = 77A00CBAC997FC74D0B7D97BA346193B /* SmartAnyImpl.swift */; }; - 9977413756D662A41D937690F2D6800F /* SmartCodable-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = C197204BBCA35A10EC6301FDAE4AFE64 /* SmartCodable-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9977413756D662A41D937690F2D6800F /* SmartCodable-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 178A9D186E98578941FE9B0BE84B475B /* SmartCodable-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; 9A6CCC7BCACBE8218126670E6B08EF9E /* BTPrint-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 6226D5547537E7D1F86B312E2F57D4F0 /* BTPrint-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; 9C9548E8B4675954566202F7B87FF0E6 /* ConstraintConstantTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7D588A73906F98B13FC731364A9247E2 /* ConstraintConstantTarget.swift */; }; 9D3C5E2F56838937146191468A893244 /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E658F388F01C72599CA75537950B6095 /* XCTest.framework */; }; - 9D82461F414C87357422658A85460BFA /* SmartFlat.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7D3E1C43A039A13369146E632D8E7F5 /* SmartFlat.swift */; }; 9E02CFFEFE1BEC978B512286F03D31DA /* ConstraintInsetTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30C72CEDB9E9899CABE8976D237E6C74 /* ConstraintInsetTarget.swift */; }; A03FDA8BC5741880B1EF11AFD248EF48 /* ConstraintOffsetTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = CFC3023119381C8AA8F1A4F4106F012A /* ConstraintOffsetTarget.swift */; }; - A04DE501AA2A0EBFBB39CF0DC95CEF74 /* SafeDictionary.swift in Sources */ = {isa = PBXBuildFile; fileRef = F7816E1F2BA5D3DB8020F2828F68E78C /* SafeDictionary.swift */; }; A0BCC2B78BCA27EFAE901B4406942557 /* BTBubble-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = A77DB2179984C4C073E5FC6BDCD19B77 /* BTBubble-dummy.m */; }; - A0C4401E4E8946D825D1809D25DDB7E8 /* _SpecialTreatmentEncoder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62EE0A4B556D4D16395B0F6AD209BE55 /* _SpecialTreatmentEncoder.swift */; }; A0E5EC9E431A5BD01C4695BC6AE5DEDA /* ExtendCustomModelType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1287F892FF63395DDABB49A2F8C39A3B /* ExtendCustomModelType.swift */; }; + A184A6AD8E943ECDBD61BC42D030F77C /* JSONFuture.swift in Sources */ = {isa = PBXBuildFile; fileRef = 635DFDD78D3B48C16095B4A1042B13B8 /* JSONFuture.swift */; }; A2D6CC53EF61C755B77BBFF31B1F0E76 /* _CleanJSONDecoder+Decode.swift in Sources */ = {isa = PBXBuildFile; fileRef = A247AF8B486EBFFB5B5CED8A27FD6D94 /* _CleanJSONDecoder+Decode.swift */; }; A3E3AB7C765C21AE17B1E6EE6560040C /* SnapKit-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 96FC33890F5B9F948392563B47A573A0 /* SnapKit-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; A5A8BF973BFE9C9304372A26C9F2E35B /* ConstraintMakerExtendable.swift in Sources */ = {isa = PBXBuildFile; fileRef = FCBDA27A176AE2D1C34BA797339DE8BB /* ConstraintMakerExtendable.swift */; }; A5E849B00E179FB98F3A2CC91378245A /* DecodingError+CleanJSON.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9E5E84322D1072C445D51381EACDD7D /* DecodingError+CleanJSON.swift */; }; A674A2F3F5F0304A6524F702EA301B42 /* NSDecimalNumberTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = FD9C9CD93F7F692FE8121F7F78EE6DB8 /* NSDecimalNumberTransform.swift */; }; + A790758FAC80FA22D4BD03A8AF178951 /* SmartAny.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51B6C75F066FAA243895E9E3EB08B73C /* SmartAny.swift */; }; + A8605588EEF7472EF69BD4F81CE77D36 /* JSONKeyedEncodingContainer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2C5F3E466D53DA58B6D49CA02369F254 /* JSONKeyedEncodingContainer.swift */; }; AA75627FBC8A28CB9F9E26CDE0062EFE /* Pods-SmartCodable_Example-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 6021C11E2C3E5FCDE30179E13E0E6452 /* Pods-SmartCodable_Example-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - AF7B34263411D9E91A7AF5C151C61ECE /* SmartPublished.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E517C7842722C4E5DC4A24C100C41DC /* SmartPublished.swift */; }; + AD1EE7CC87C93332F5AD48923095813A /* _SpecialTreatmentEncoder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9BC595ECE107D44C6F4BF5ED399C4ADD /* _SpecialTreatmentEncoder.swift */; }; + AF112BDAC0882286832B70F2127E766C /* SmartCodable.swift in Sources */ = {isa = PBXBuildFile; fileRef = ABE3271B97866AF6F870A5691943FC80 /* SmartCodable.swift */; }; B03B5579590D528CBA6D11FF638BC2AF /* Typealiases.swift in Sources */ = {isa = PBXBuildFile; fileRef = F324FE66E2BF9B4B5B507729C64FD069 /* Typealiases.swift */; }; - B361D42878056084A8D1EE1B65A6FE06 /* Patcher+Provider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 325954676D102E8C484BC7A26E15B262 /* Patcher+Provider.swift */; }; + B1A8F29247E0835CE3960D8B3D97DDC3 /* DecodingCache.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2A1EB64C98AA612AC7B0026CEA1E2A2 /* DecodingCache.swift */; }; + B3EB24F8E7B4FA97AA788233F48B6583 /* SmartJSONEncoder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6F18B3DF5DD02DF9D600AA829350ABCD /* SmartJSONEncoder.swift */; }; B43017FEC99D227D4CDD81DD2C27D9D9 /* ConstraintMakerPrioritizable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7EEAE2746CE46B4119A1EF4CB96853D4 /* ConstraintMakerPrioritizable.swift */; }; B52281F9F4340D4FC8ABB2FEB1FEC08E /* UIImage+Compare.m in Sources */ = {isa = PBXBuildFile; fileRef = C5688C4B8AAD0B0302EE6D8567AB0A03 /* UIImage+Compare.m */; }; - B7066262F852C336D3EE24F31B846D46 /* JSONUnkeyedEncodingContainer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08F9D8CE9FE30ECC0E28688ECACA45D5 /* JSONUnkeyedEncodingContainer.swift */; }; + B54C0572EE09642087E444002BE3D7AE /* JSONDecoderImpl+KeyedContainer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A81CF3734C4F53838DA3AD603D13CA4 /* JSONDecoderImpl+KeyedContainer.swift */; }; B752F7C4BECB65894B1F49421049CE5F /* ConstraintView.swift in Sources */ = {isa = PBXBuildFile; fileRef = CFE40591DCBDB38549AD0FC756F3D616 /* ConstraintView.swift */; }; + B88BD92288725C25C9069BE8483D35CD /* JSONDecoderImpl+SingleValueContainer.swift in Sources */ = {isa = PBXBuildFile; fileRef = E76975EB5B6D60E7201DA4513EA01251 /* JSONDecoderImpl+SingleValueContainer.swift */; }; BD47CB74CD9B2B4D2D942C9B65748DFB /* SnapKit-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 89305DC7AA8CF17C4DFF5582FDC4E381 /* SnapKit-dummy.m */; }; BD90F922C39E6EAEAD85EBD1F2363841 /* CodingKeysConverter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6CDB55010FADC798A0E3768269292E5E /* CodingKeysConverter.swift */; }; BE432D00488E08C853DC689BE24C54F4 /* HandyJSON-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 26D82883F952766DDE67EB5398B66E76 /* HandyJSON-dummy.m */; }; - C28911B5711F181368C1194970F60E15 /* SmartUpdater.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5506DF3EB89A1D559BF98146E75D6F63 /* SmartUpdater.swift */; }; + BE4F7F3741230D0A5FB159CCC14536ED /* LogContainer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 199D025B9E1D1BEFD83DBCBF7BA20271 /* LogContainer.swift */; }; + C128BF84CECF246BF175DFC04C67A320 /* JSONParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 794428B9BFA06BC14B1F0E6535503210 /* JSONParser.swift */; }; + C23D870B9EDED2D187ADEB45C01C01DE /* SmartKeyEncodingStrategy.swift in Sources */ = {isa = PBXBuildFile; fileRef = FB93516B5FEE2673DD4112C4C19269ED /* SmartKeyEncodingStrategy.swift */; }; + C303E4394549FED7AB7D44811C8C6F0E /* JSONDecoderImpl.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0A6ECDF95AF98721811CDB5260DE2F5C /* JSONDecoderImpl.swift */; }; C390C6005353FB986CB52F474CEF8588 /* FBSnapshotTestController.m in Sources */ = {isa = PBXBuildFile; fileRef = 2CAD959505600831AE1B1760854D7178 /* FBSnapshotTestController.m */; }; C586DC95274CF5AABAD935AF549A8FB6 /* BTBubble+Location.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4475151C4A7FB0660C3CDE88C6863EEF /* BTBubble+Location.swift */; }; - C59F9F69BF5FB0682C77A45CDF1EFA55 /* JSONDecoderImpl+KeyedContainer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BC493F56217EB503258CCE96B3010E6 /* JSONDecoderImpl+KeyedContainer.swift */; }; - C6F1106651695C200E6F338FD10E8D2A /* DateTransformer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6655C4E157D6D96697E04CA6B9AA8A09 /* DateTransformer.swift */; }; + C6020B099DB841D2B8D0AE2B63F111FE /* KeysMapper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2BD341AD5435F669B3FF16E1BE1CFE3E /* KeysMapper.swift */; }; C920144CE195D2198DAE63F2D976AADB /* HandyJSON-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 91D961BD3D7E5A4FD5EFC37B4EF49FD4 /* HandyJSON-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; C9F76407497DF0205D7460B36D22259F /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3280BB5E7B57C31D41117A74F76E9DF3 /* QuartzCore.framework */; }; CA54C09A12400567AFFCB407EEB7E154 /* UIImage+Diff.m in Sources */ = {isa = PBXBuildFile; fileRef = 209CC75BF3B9E4EF12E2CCE8787F9095 /* UIImage+Diff.m */; }; - CB1ED420537E4016D9E0936773E20C8D /* JSONFuture.swift in Sources */ = {isa = PBXBuildFile; fileRef = F2F50D2F18E9CFADFBEBDFF9BCFD708A /* JSONFuture.swift */; }; CCCEE128C2F395CE7E3A13D343BC350B /* BTBubble+Animation.swift in Sources */ = {isa = PBXBuildFile; fileRef = C236F0CDFBBFF56E8E482E41A943E19E /* BTBubble+Animation.swift */; }; + CE905030CDD70D14B12169FBE0B07273 /* EncodingCache.swift in Sources */ = {isa = PBXBuildFile; fileRef = D82F7F4161783431D206633B0570363A /* EncodingCache.swift */; }; CF7FAB0C5D474E379798F82E5DB4092B /* ContextDescriptorType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 796F5B9A676DF8041A953891F97BCA27 /* ContextDescriptorType.swift */; }; - D2C70C1DE049C1A7222A64B8D6CD41AD /* JSONDecoderImpl.swift in Sources */ = {isa = PBXBuildFile; fileRef = B1ED50DF49F758ABF4AC76AF2F1B9B42 /* JSONDecoderImpl.swift */; }; - DC5C56AE33402181E2D266CB8E910CF5 /* SmartCodable.swift in Sources */ = {isa = PBXBuildFile; fileRef = F783DFD29C264CA0D872664F2B0D0085 /* SmartCodable.swift */; }; + D028BE5D10696D2B2D97278E5C1E48F4 /* Cachable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 68BAB753E2517C4180ACA27A811BE345 /* Cachable.swift */; }; + D7F34A490D99947186A2786FC5795A2C /* JSONDecoderImpl+Unwrap.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7D8974A6896BAEC05098DF2E66F51C2B /* JSONDecoderImpl+Unwrap.swift */; }; DE13D920EE02866495C19B6484C998DD /* BTBubbleConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = 666C02C1B42B0868B4A816FBD07E22A6 /* BTBubbleConfig.swift */; }; DF493E247E463CAC344C15784C9EF5AC /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 57221B54D014471C3D3E1925EFC917C8 /* Foundation.framework */; }; E2EF09A2D0A87418F0628B2CFAD304D8 /* Metadata.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7F1BBC050B82F2DBD3175EBCDBBAE1B6 /* Metadata.swift */; }; - E42050130358D7122BD0ADEACD8F9C01 /* Transformer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 249E451AEFC8413F65A37273D1FAE6FD /* Transformer.swift */; }; - E4C841879A54BCBEB1BF9770223A66EF /* LogCache.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6408E6D4E54868B52000CFEE639C74BB /* LogCache.swift */; }; E7035A074129575E62A0136DD93D8E8F /* DateTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0FD0E02013F60456068DC82258C06AB1 /* DateTransform.swift */; }; E710A550162879CE918FC411CF567789 /* Logger.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0965E60C4A8A6CB4CDB3FD2D5BF45433 /* Logger.swift */; }; - E927815FEBD0B08B5D84A6B01566388C /* JSONValue+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51C09B6C8B1795BF01079C4C654D1DCA /* JSONValue+Extension.swift */; }; E98DC8FB2578E76A812E0C94BA10E1B1 /* ConstraintDirectionalInsets.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3803A342F79D0DBAEE0150E93A6B807B /* ConstraintDirectionalInsets.swift */; }; - EA621CE6554003926837FDE7C20C4868 /* JSONValue.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1019CC25483C0F42D4A3960EED58499D /* JSONValue.swift */; }; ED71E932B7F30AD7CFD2A04968A2B5CC /* CBridge.swift in Sources */ = {isa = PBXBuildFile; fileRef = 390DC8D2A8DB0DAB9CA70268C2F74AF4 /* CBridge.swift */; }; - EE661833DE821D86EC002BE0CFC8F35E /* KeysMapper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 40129AE97C76B938BB2D6F083193E7D4 /* KeysMapper.swift */; }; + EE76195610D0B486934862F1B583A9A5 /* SmartKeyDecodingStrategy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 745CCCC5179D7780155B11928DF9F880 /* SmartKeyDecodingStrategy.swift */; }; EEFF0A57765CB734CF01868904F56DA7 /* HandyJSON.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D31C1D12C0D9C516CE738486208A159 /* HandyJSON.h */; settings = {ATTRIBUTES = (Public, ); }; }; EF21586EC3DFF6097A58EEC87376A0C1 /* ConstraintLayoutGuideDSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1245F46A35053D954B8985EFAFD068D7 /* ConstraintLayoutGuideDSL.swift */; }; - F0A49E8A8E9C7FDFB6FB04045BF4EEFB /* IgnoredKey.swift in Sources */ = {isa = PBXBuildFile; fileRef = A2F41D4908A500103C4D30F38F6829AA /* IgnoredKey.swift */; }; F16D0BB1231D60CBF7B3AE25B92D0D74 /* EnumTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = C30DC42DFE9E9BEB719E4821761599C5 /* EnumTransform.swift */; }; - F3427FF814A0D68DCBB2300310A5DCEB /* JSONDecoderImpl+SingleValueContainer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84FFB9DBF8263ECB00E191EB178090F3 /* JSONDecoderImpl+SingleValueContainer.swift */; }; - F3DD27B8455592AE8856F11A02CBB21B /* JSONEncoderImpl.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36F3588303C3D9B8727167CE1835E580 /* JSONEncoderImpl.swift */; }; + F21D876FE0E83818A9399C8D8FEE164A /* SmartColor.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1F2541C89A68637C51EDA21FBB5F44E /* SmartColor.swift */; }; F47FA5DC0D1BD01F21FEE05C02A165AD /* _CleanJSONDecoder+Unbox.swift in Sources */ = {isa = PBXBuildFile; fileRef = C7BBDFD017622786401A39F6BD9686C8 /* _CleanJSONDecoder+Unbox.swift */; }; F7425A58E24926CCAC413F85D403B9FA /* FieldDescriptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1ACD8767AB4E2B782160808FED94FADE /* FieldDescriptor.swift */; }; + F78659B8EF4ED63CBAFF926ACB79A252 /* LogCache.swift in Sources */ = {isa = PBXBuildFile; fileRef = D3DC631E699AA29550F778204DEC0C81 /* LogCache.swift */; }; F7C0960CEEB8F0C18F4503B405EAC08F /* ConstraintMultiplierTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 551BC954C9673D937C2CA52B935158E1 /* ConstraintMultiplierTarget.swift */; }; F953AA9104BFE0C2DAD639EA60104A75 /* ConstraintView+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59BB800622705BC689D002AFE6C24643 /* ConstraintView+Extensions.swift */; }; F98E3202B0021DC8B2DB77256FBE5DD3 /* ISO8601DateTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = C57A6E8C38153E40B8497C02204DF7F4 /* ISO8601DateTransform.swift */; }; FAB03959C2357E325B19E08BC4775DAB /* ConstraintMaker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9A4757260F219342EC59610827085045 /* ConstraintMaker.swift */; }; - FE0A1FEF273DB43BAD21A166CF712B5D /* Patcher.swift in Sources */ = {isa = PBXBuildFile; fileRef = DC210D5D41DBF93027BD8CA005236BDA /* Patcher.swift */; }; + FB6786719995F4DAF7A0860BE19EA3AE /* ColorTransformer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 83DEE370AC60A6033C9847F779C346FF /* ColorTransformer.swift */; }; + FC6A9E289CD6EAD053A8901587B8CA81 /* Patcher+Transformer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9A2E4BF5241D8BF77811B89131F94EEE /* Patcher+Transformer.swift */; }; FEFE2DDEB18C3D76F500C974F166CD53 /* CaseDefaultable.swift in Sources */ = {isa = PBXBuildFile; fileRef = EBDE8674ED579EE94A0773028BD44AF1 /* CaseDefaultable.swift */; }; FF8307B7346F4D3BA13C11AECFE6EDD0 /* FBSnapshotTestCase.h in Headers */ = {isa = PBXBuildFile; fileRef = 20BC59163CF72AADA6459ADA846EBF1F /* FBSnapshotTestCase.h */; settings = {ATTRIBUTES = (Public, ); }; }; /* End PBXBuildFile section */ @@ -261,31 +261,29 @@ /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - 01027E30AE45ACACFEB6BEE5EA34E231 /* SmartDecodable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SmartDecodable.swift; sourceTree = ""; }; 019BF859EEBE1D8469A3CE37606A8760 /* HandyJSON.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = HandyJSON.modulemap; sourceTree = ""; }; - 027F28A4538E6CFB304B4FBA2BF92655 /* JSONSingleValueEncodingContainer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = JSONSingleValueEncodingContainer.swift; sourceTree = ""; }; 02A4470686F2D00D08E538160531B64E /* BTBubble+Menu.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "BTBubble+Menu.swift"; path = "BTBubble/Classes/BTBubble+Menu.swift"; sourceTree = ""; }; 02B734C740F66C4CA7D3E58A2E3A71ED /* UIImage+Snapshot.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+Snapshot.m"; path = "FBSnapshotTestCase/Categories/UIImage+Snapshot.m"; sourceTree = ""; }; - 03314E02E03ABAF9A9A54FB7C3242E6A /* LogItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = LogItem.swift; sourceTree = ""; }; 05DE8DDCC94E79120DAB11B9DBD24069 /* ConstraintItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintItem.swift; path = Sources/ConstraintItem.swift; sourceTree = ""; }; 0600D0B09DB5802D6B378850043ADD4D /* Properties.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Properties.swift; path = Source/Properties.swift; sourceTree = ""; }; 077FF679DE0A788D695D32FCF72B1002 /* ConstraintConfig.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintConfig.swift; path = Sources/ConstraintConfig.swift; sourceTree = ""; }; 07ADF3C4B3DE46FA90A67725C575E757 /* _CleanJSONDecoder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = _CleanJSONDecoder.swift; path = Sources/CleanJSON/_CleanJSONDecoder.swift; sourceTree = ""; }; - 08F9D8CE9FE30ECC0E28688ECACA45D5 /* JSONUnkeyedEncodingContainer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = JSONUnkeyedEncodingContainer.swift; sourceTree = ""; }; 0965E60C4A8A6CB4CDB3FD2D5BF45433 /* Logger.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Logger.swift; path = Source/Logger.swift; sourceTree = ""; }; + 0A6ECDF95AF98721811CDB5260DE2F5C /* JSONDecoderImpl.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = JSONDecoderImpl.swift; sourceTree = ""; }; 0B9662B4BE2283F2E38F7155D5266F8E /* Pods-SmartCodable_Tests */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = "Pods-SmartCodable_Tests"; path = Pods_SmartCodable_Tests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 0EE11E0147F987FD843DF343F4BEF9C5 /* SnapKit.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SnapKit.debug.xcconfig; sourceTree = ""; }; 0F043A0A52D038042BE4B2E250F39C46 /* ConstraintLayoutSupportDSL.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintLayoutSupportDSL.swift; path = Sources/ConstraintLayoutSupportDSL.swift; sourceTree = ""; }; 0F3C77A10532266D4C2017D4C5657D22 /* UILayoutSupport+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UILayoutSupport+Extensions.swift"; path = "Sources/UILayoutSupport+Extensions.swift"; sourceTree = ""; }; 0F6C61A3718CAD5B727FA89E9A50D662 /* CleanJSON.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = CleanJSON.debug.xcconfig; sourceTree = ""; }; 0FD0E02013F60456068DC82258C06AB1 /* DateTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DateTransform.swift; path = Source/DateTransform.swift; sourceTree = ""; }; - 1019CC25483C0F42D4A3960EED58499D /* JSONValue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = JSONValue.swift; sourceTree = ""; }; - 1142BCBDEC28C3AB6AA978773E5CC527 /* LogContainer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = LogContainer.swift; sourceTree = ""; }; + 1018291528DE7C221F8A61E3F4F2C281 /* DateTransformer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = DateTransformer.swift; sourceTree = ""; }; 1245F46A35053D954B8985EFAFD068D7 /* ConstraintLayoutGuideDSL.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintLayoutGuideDSL.swift; path = Sources/ConstraintLayoutGuideDSL.swift; sourceTree = ""; }; 1287F892FF63395DDABB49A2F8C39A3B /* ExtendCustomModelType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ExtendCustomModelType.swift; path = Source/ExtendCustomModelType.swift; sourceTree = ""; }; 12D66D4EBB5005BCB197AA15A08144D1 /* BTPrint.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = BTPrint.release.xcconfig; sourceTree = ""; }; - 15DA9A9104F93804288D3FDC6F1BB285 /* SmartCodable.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = SmartCodable.modulemap; sourceTree = ""; }; + 178A9D186E98578941FE9B0BE84B475B /* SmartCodable-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SmartCodable-umbrella.h"; sourceTree = ""; }; + 199D025B9E1D1BEFD83DBCBF7BA20271 /* LogContainer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = LogContainer.swift; sourceTree = ""; }; 1A2453FB81C81C62905E16C3FD41C15D /* JSONAdapter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = JSONAdapter.swift; path = Sources/CleanJSON/JSONAdapter.swift; sourceTree = ""; }; + 1A81CF3734C4F53838DA3AD603D13CA4 /* JSONDecoderImpl+KeyedContainer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "JSONDecoderImpl+KeyedContainer.swift"; sourceTree = ""; }; 1ACD8767AB4E2B782160808FED94FADE /* FieldDescriptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FieldDescriptor.swift; path = Source/FieldDescriptor.swift; sourceTree = ""; }; 1DA24A38BA9EE106B59E3D4C8DD1CE0E /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.0.sdk/System/Library/Frameworks/UIKit.framework; sourceTree = DEVELOPER_DIR; }; 1EE51CB52688C6956C3806BE1352E6A1 /* BTPrint.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = BTPrint.debug.xcconfig; sourceTree = ""; }; @@ -293,69 +291,70 @@ 20BC59163CF72AADA6459ADA846EBF1F /* FBSnapshotTestCase.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSnapshotTestCase.h; path = FBSnapshotTestCase/FBSnapshotTestCase.h; sourceTree = ""; }; 233DAEDE45A5CF0A47B6462C8C9F92B4 /* UIApplication+StrictKeyWindow.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIApplication+StrictKeyWindow.h"; path = "FBSnapshotTestCase/Categories/UIApplication+StrictKeyWindow.h"; sourceTree = ""; }; 24562DC38CD0C27E5FCC2152077E3513 /* BTBubble-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "BTBubble-prefix.pch"; sourceTree = ""; }; - 249E451AEFC8413F65A37273D1FAE6FD /* Transformer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Transformer.swift; sourceTree = ""; }; 2565E609AC51A4E4FCA81F2594C690F6 /* FBSnapshotTestCase.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = FBSnapshotTestCase.debug.xcconfig; sourceTree = ""; }; 25A597F47861F7BE3A2E02D5EC48740D /* FBSnapshotTestCase-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "FBSnapshotTestCase-Info.plist"; sourceTree = ""; }; 26D82883F952766DDE67EB5398B66E76 /* HandyJSON-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "HandyJSON-dummy.m"; sourceTree = ""; }; 274BB5419B8D40BD05519C560CFC077D /* BTBubble-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "BTBubble-Info.plist"; sourceTree = ""; }; 2852BF0E7B62CAF6AB4E994FD9DFF2DF /* Transformable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Transformable.swift; path = Source/Transformable.swift; sourceTree = ""; }; + 2BD341AD5435F669B3FF16E1BE1CFE3E /* KeysMapper.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = KeysMapper.swift; sourceTree = ""; }; + 2C5F3E466D53DA58B6D49CA02369F254 /* JSONKeyedEncodingContainer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = JSONKeyedEncodingContainer.swift; sourceTree = ""; }; 2CAD959505600831AE1B1760854D7178 /* FBSnapshotTestController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSnapshotTestController.m; path = FBSnapshotTestCase/FBSnapshotTestController.m; sourceTree = ""; }; 2D804957148656B5405037FC4821F4DB /* DecodingStrategy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DecodingStrategy.swift; path = Sources/CleanJSON/DecodingStrategy.swift; sourceTree = ""; }; + 2D82C310425E9E959CD9D681F43C73DB /* SmartCodable.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; path = SmartCodable.podspec; sourceTree = ""; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; 2DBF99060B70E1B6830A780BA2524ADA /* ConstraintPriorityTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintPriorityTarget.swift; path = Sources/ConstraintPriorityTarget.swift; sourceTree = ""; }; 2DCC7F0112605A85E8861B6A4E92D154 /* PropertyInfo.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PropertyInfo.swift; path = Source/PropertyInfo.swift; sourceTree = ""; }; 2E274A3EAC25DB6D5C25C3CBB604248B /* Deserializer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Deserializer.swift; path = Source/Deserializer.swift; sourceTree = ""; }; 2EBF008F9DBB55C9A18375B6B87D22A3 /* HandyJSON-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "HandyJSON-prefix.pch"; sourceTree = ""; }; 30C72CEDB9E9899CABE8976D237E6C74 /* ConstraintInsetTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintInsetTarget.swift; path = Sources/ConstraintInsetTarget.swift; sourceTree = ""; }; 319CD0A8663A00A572B4418C10FE8894 /* BTBubble+Check.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "BTBubble+Check.swift"; path = "BTBubble/Classes/BTBubble+Check.swift"; sourceTree = ""; }; - 325954676D102E8C484BC7A26E15B262 /* Patcher+Provider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "Patcher+Provider.swift"; sourceTree = ""; }; 3280BB5E7B57C31D41117A74F76E9DF3 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.0.sdk/System/Library/Frameworks/QuartzCore.framework; sourceTree = DEVELOPER_DIR; }; 32B376CE8FE7B39265B74DCF06C524D2 /* Export.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Export.swift; path = Source/Export.swift; sourceTree = ""; }; 36EE49CE4B82B9346139D56A516D1DB0 /* Pods-SmartCodable_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-SmartCodable_Tests.debug.xcconfig"; sourceTree = ""; }; - 36F3588303C3D9B8727167CE1835E580 /* JSONEncoderImpl.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = JSONEncoderImpl.swift; sourceTree = ""; }; 36F93E9634821D816540140F7E1D6199 /* HexColorTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HexColorTransform.swift; path = Source/HexColorTransform.swift; sourceTree = ""; }; 3803A342F79D0DBAEE0150E93A6B807B /* ConstraintDirectionalInsets.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintDirectionalInsets.swift; path = Sources/ConstraintDirectionalInsets.swift; sourceTree = ""; }; 390DC8D2A8DB0DAB9CA70268C2F74AF4 /* CBridge.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CBridge.swift; path = Source/CBridge.swift; sourceTree = ""; }; 39B2DBA2FFE481C74723D3D77C1C4151 /* CleanJSONUnkeyedDecodingContainer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CleanJSONUnkeyedDecodingContainer.swift; path = Sources/CleanJSON/CleanJSONUnkeyedDecodingContainer.swift; sourceTree = ""; }; 3A10F19A7083CCBB70471917A1BD6C04 /* SnapKit.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = SnapKit.modulemap; sourceTree = ""; }; 3B1648D17E6B6A33B54A7906BC560E10 /* ConstraintPriority.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintPriority.swift; path = Sources/ConstraintPriority.swift; sourceTree = ""; }; - 3BC493F56217EB503258CCE96B3010E6 /* JSONDecoderImpl+KeyedContainer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "JSONDecoderImpl+KeyedContainer.swift"; sourceTree = ""; }; + 3BD411298870436EF9D3DC204D3FD6AD /* JSONValue+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "JSONValue+Extension.swift"; sourceTree = ""; }; + 3C3128F1FE7F1807F89248B79D4316D9 /* SmartCodable-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "SmartCodable-Info.plist"; sourceTree = ""; }; + 3C6FD547CB3C95AA2B6C5BC4AA5729A5 /* LogItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = LogItem.swift; sourceTree = ""; }; 3E623AAE662B463FDDE8B268BDEA3E7B /* SmartCodable */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = SmartCodable; path = SmartCodable.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 3E6F38F38A655D1D2F8385D4A13D03BD /* FBSnapshotTestCase.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = FBSnapshotTestCase.release.xcconfig; sourceTree = ""; }; 3EF66D087C187059D6E79CD68D3907BC /* Pods-SmartCodable_Tests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-SmartCodable_Tests-acknowledgements.plist"; sourceTree = ""; }; - 3FDA4BCFBA09205CBCFC8BA6F27904F5 /* Cachable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Cachable.swift; sourceTree = ""; }; - 400B30EC0B34D7A48E962AC06BC1CC35 /* SmartColor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SmartColor.swift; sourceTree = ""; }; - 40129AE97C76B938BB2D6F083193E7D4 /* KeysMapper.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = KeysMapper.swift; sourceTree = ""; }; - 410A3FB7D8ABF0B00A9A1190AA20D141 /* SmartCodable-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "SmartCodable-Info.plist"; sourceTree = ""; }; + 401B50EE9846F3B76E6A65F4A84A8879 /* SmartCodable.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SmartCodable.release.xcconfig; sourceTree = ""; }; 418DA1AEA18C4A4A1E5D84FCB60DA427 /* Debugging.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Debugging.swift; path = Sources/Debugging.swift; sourceTree = ""; }; - 41ACED5244DF58C103B2E79523334DEE /* SmartCodable-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SmartCodable-prefix.pch"; sourceTree = ""; }; - 434BF8093C65490B915ADF860C1E87B9 /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = ""; }; - 43E9440FF074C3295964D3A8D246D910 /* JSONDecoderImpl+Unwrap.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "JSONDecoderImpl+Unwrap.swift"; sourceTree = ""; }; 43FB1C7B536B80216B8B21E7440AEC8C /* Pods-SmartCodable_Tests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-SmartCodable_Tests.modulemap"; sourceTree = ""; }; + 4430D68D17A83EF9562C78A764F38698 /* IgnoredKey.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = IgnoredKey.swift; sourceTree = ""; }; 4475151C4A7FB0660C3CDE88C6863EEF /* BTBubble+Location.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "BTBubble+Location.swift"; path = "BTBubble/Classes/BTBubble+Location.swift"; sourceTree = ""; }; 45DCF5151BEFE9D3018AFB99FE8F580F /* ConstraintInsets.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintInsets.swift; path = Sources/ConstraintInsets.swift; sourceTree = ""; }; + 45EBDB386C01C541AF2451CE917CDEDB /* Patcher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Patcher.swift; sourceTree = ""; }; 464021711643A3159A0B5B78CCC0347A /* Pods-SmartCodable_Tests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-SmartCodable_Tests-acknowledgements.markdown"; sourceTree = ""; }; 464FF18D590547BE7F4826907AFFE76D /* ConstraintRelation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintRelation.swift; path = Sources/ConstraintRelation.swift; sourceTree = ""; }; 46D532B60E5A862BAED6B9ED6A3A06F7 /* LayoutConstraint.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = LayoutConstraint.swift; path = Sources/LayoutConstraint.swift; sourceTree = ""; }; - 4A22E62B9E2F61C5E2E300D5E7C8B1E3 /* SmartKeyDecodingStrategy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SmartKeyDecodingStrategy.swift; sourceTree = ""; }; + 487FC6D5FA076528735E6C72BF0F7B74 /* SmartCaseDefaultable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SmartCaseDefaultable.swift; sourceTree = ""; }; 4A29F6A0D45AF40A67824A0487C3A989 /* FBSnapshotTestController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSnapshotTestController.h; path = FBSnapshotTestCase/FBSnapshotTestController.h; sourceTree = ""; }; 4B3CBC4CFD3D5E9ABDC56DDC685EACE4 /* ConstraintMakerEditable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMakerEditable.swift; path = Sources/ConstraintMakerEditable.swift; sourceTree = ""; }; 4B882D619BB4F3DBCA3958CF51481D0F /* Pods-SmartCodable_Example.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-SmartCodable_Example.modulemap"; sourceTree = ""; }; + 4C2EBBA575674203681CA88681245D9C /* SafeDictionary.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SafeDictionary.swift; sourceTree = ""; }; 4C4A4F11E0D54192FCD7E73E00FD2841 /* Pods-SmartCodable_Tests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-SmartCodable_Tests-frameworks.sh"; sourceTree = ""; }; 4CAE8816531C7030F85857D829CF295C /* BTBubble-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "BTBubble-umbrella.h"; sourceTree = ""; }; - 4E517C7842722C4E5DC4A24C100C41DC /* SmartPublished.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SmartPublished.swift; sourceTree = ""; }; 4FD9F7D2497A25B05DF82AF7F12F84DF /* BTBubble.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = BTBubble.debug.xcconfig; sourceTree = ""; }; 510325960A63C34B69B7173F76A69109 /* URLTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = URLTransform.swift; path = Source/URLTransform.swift; sourceTree = ""; }; - 51C09B6C8B1795BF01079C4C654D1DCA /* JSONValue+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "JSONValue+Extension.swift"; sourceTree = ""; }; + 51B6C75F066FAA243895E9E3EB08B73C /* SmartAny.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SmartAny.swift; sourceTree = ""; }; + 52D276E5158A902D530CD64A969DEFE2 /* JSONValue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = JSONValue.swift; sourceTree = ""; }; 537BE90B32A5F1814137F702A3A820F6 /* HandyJSON.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = HandyJSON.debug.xcconfig; sourceTree = ""; }; 541A55046863031E15A9FA69EA99FE8E /* Defaultable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Defaultable.swift; path = Sources/CleanJSON/Defaultable.swift; sourceTree = ""; }; 544353E196F6C41D2674EF54DDCED631 /* ConstraintLayoutSupport.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintLayoutSupport.swift; path = Sources/ConstraintLayoutSupport.swift; sourceTree = ""; }; + 544CD7182D0088E797C25D6D1C8C0756 /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; path = README.md; sourceTree = ""; }; 54E6DE8DDA000868195FED827A109AD1 /* BTPrint-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "BTPrint-prefix.pch"; sourceTree = ""; }; - 5506DF3EB89A1D559BF98146E75D6F63 /* SmartUpdater.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SmartUpdater.swift; sourceTree = ""; }; 551BC954C9673D937C2CA52B935158E1 /* ConstraintMultiplierTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMultiplierTarget.swift; path = Sources/ConstraintMultiplierTarget.swift; sourceTree = ""; }; 555C1F46B8C3D9749B4FADF32ED4458D /* CleanJSONKey.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CleanJSONKey.swift; path = Sources/CleanJSON/CleanJSONKey.swift; sourceTree = ""; }; 56F3BDAC789DF61F2D9350035669FEE3 /* CleanJSON-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "CleanJSON-Info.plist"; sourceTree = ""; }; 57221B54D014471C3D3E1925EFC917C8 /* 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; }; + 585D7BA67351926A54D86DD772CBB611 /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; path = LICENSE; sourceTree = ""; }; 59BB800622705BC689D002AFE6C24643 /* ConstraintView+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ConstraintView+Extensions.swift"; path = "Sources/ConstraintView+Extensions.swift"; sourceTree = ""; }; + 5B9F506FCA48840DE6105539D99F1F51 /* DecodingError+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "DecodingError+Extension.swift"; sourceTree = ""; }; 5C4F31330DFA99D699E4BDC8C3573D73 /* FBSnapshotTestCase */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = FBSnapshotTestCase; path = FBSnapshotTestCase.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 5D1C54C47A2FE062765D133366160F7F /* Pods-SmartCodable_Example-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-SmartCodable_Example-acknowledgements.plist"; sourceTree = ""; }; 5DAD6DAD58F97DC6978669ECC1DCB217 /* _CleanJSONDecoder+SingleValueDecodingContainer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "_CleanJSONDecoder+SingleValueDecodingContainer.swift"; path = "Sources/CleanJSON/_CleanJSONDecoder+SingleValueDecodingContainer.swift"; sourceTree = ""; }; @@ -365,76 +364,78 @@ 60E0A4F5EA0780653EDE0A8F48FE2B14 /* UIImage+Compare.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+Compare.h"; path = "FBSnapshotTestCase/Categories/UIImage+Compare.h"; sourceTree = ""; }; 6170F13C22D7194151A678E232C31D12 /* Pods-SmartCodable_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-SmartCodable_Example.release.xcconfig"; sourceTree = ""; }; 6226D5547537E7D1F86B312E2F57D4F0 /* BTPrint-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "BTPrint-umbrella.h"; sourceTree = ""; }; - 62EE0A4B556D4D16395B0F6AD209BE55 /* _SpecialTreatmentEncoder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = _SpecialTreatmentEncoder.swift; sourceTree = ""; }; 63337F29437FD6A05DCA6E50C4DF6945 /* ExtendCustomBasicType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ExtendCustomBasicType.swift; path = Source/ExtendCustomBasicType.swift; sourceTree = ""; }; - 639A190739C9B39F129EB5D3F1AD01C6 /* SmartSentinel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SmartSentinel.swift; sourceTree = ""; }; + 635DFDD78D3B48C16095B4A1042B13B8 /* JSONFuture.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = JSONFuture.swift; sourceTree = ""; }; + 63B7AF1541DDEE29148AD4B96C157537 /* SmartPublished.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SmartPublished.swift; sourceTree = ""; }; 63D6FCCD448B91FE5083D3C830B09E34 /* BTPrint */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = BTPrint; path = BTPrint.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 6408E6D4E54868B52000CFEE639C74BB /* LogCache.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = LogCache.swift; sourceTree = ""; }; - 6655C4E157D6D96697E04CA6B9AA8A09 /* DateTransformer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = DateTransformer.swift; sourceTree = ""; }; 666C02C1B42B0868B4A816FBD07E22A6 /* BTBubbleConfig.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BTBubbleConfig.swift; path = BTBubble/Classes/BTBubbleConfig.swift; sourceTree = ""; }; - 67A4F0FDE9CE7697993DF3BCA62C50D3 /* DecodingError+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "DecodingError+Extension.swift"; sourceTree = ""; }; + 68BAB753E2517C4180ACA27A811BE345 /* Cachable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Cachable.swift; sourceTree = ""; }; 68F996F21CE4381BFEAC8BDD8BC5E788 /* BTPrint.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BTPrint.swift; path = BTPrint/Classes/BTPrint.swift; sourceTree = ""; }; 6B6AE0B9AEB52789C2BA9C70151E337A /* MangledName.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MangledName.swift; path = Source/MangledName.swift; sourceTree = ""; }; 6CDB55010FADC798A0E3768269292E5E /* CodingKeysConverter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CodingKeysConverter.swift; path = Sources/CleanJSON/CodingKeysConverter.swift; sourceTree = ""; }; 6CF935F6F0BF80B0C79325C2A66921C8 /* HandyJSON.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = HandyJSON.release.xcconfig; sourceTree = ""; }; 6DFBE39A8F2F3352B5AB28C6FFC990E7 /* CleanJSONKeyedDecodingContainer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CleanJSONKeyedDecodingContainer.swift; path = Sources/CleanJSON/CleanJSONKeyedDecodingContainer.swift; sourceTree = ""; }; - 6F175C77C64CD66CE9704F1A2B116BA9 /* SmartCodable.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SmartCodable.release.xcconfig; sourceTree = ""; }; + 6F18B3DF5DD02DF9D600AA829350ABCD /* SmartJSONEncoder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SmartJSONEncoder.swift; sourceTree = ""; }; 6FD01EC1237ED966BE6C99E868971093 /* Serializer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Serializer.swift; path = Source/Serializer.swift; sourceTree = ""; }; - 7055BC8286DC56B59DAD50E87B516DE9 /* JSONKeyedEncodingContainer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = JSONKeyedEncodingContainer.swift; sourceTree = ""; }; 70E88BDB3FDACE8F2B23F3247435107D /* ConstraintLayoutGuide.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintLayoutGuide.swift; path = Sources/ConstraintLayoutGuide.swift; sourceTree = ""; }; 70EF9FF8800B0AA22F5E4FE76FECA8D7 /* Pods-SmartCodable_Example-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-SmartCodable_Example-Info.plist"; sourceTree = ""; }; + 745CCCC5179D7780155B11928DF9F880 /* SmartKeyDecodingStrategy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SmartKeyDecodingStrategy.swift; sourceTree = ""; }; 746BABF0910774EB502DC3C4F232413D /* TransformOf.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TransformOf.swift; path = Source/TransformOf.swift; sourceTree = ""; }; 7570803E9622B6523B3325B01B79E44B /* ConstraintDescription.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintDescription.swift; path = Sources/ConstraintDescription.swift; sourceTree = ""; }; 767825513CDDC33C98AB0A7A3C9681D4 /* Pods-SmartCodable_Example-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-SmartCodable_Example-frameworks.sh"; sourceTree = ""; }; 76F616A528D452098E003EDF888C54AC /* DateFormatterTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DateFormatterTransform.swift; path = Source/DateFormatterTransform.swift; sourceTree = ""; }; - 77A00CBAC997FC74D0B7D97BA346193B /* SmartAnyImpl.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SmartAnyImpl.swift; sourceTree = ""; }; + 794428B9BFA06BC14B1F0E6535503210 /* JSONParser.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = JSONParser.swift; sourceTree = ""; }; 796F5B9A676DF8041A953891F97BCA27 /* ContextDescriptorType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ContextDescriptorType.swift; path = Source/ContextDescriptorType.swift; sourceTree = ""; }; - 799E5BDA02A01061F0AD7D765EF7F560 /* ColorTransformer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ColorTransformer.swift; sourceTree = ""; }; - 7C6914B3D982C726CD0198A9E5514539 /* Patcher+Transformer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "Patcher+Transformer.swift"; sourceTree = ""; }; + 7A38ACF5E6FC3B52B1853212683D4E1C /* SmartCodable-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SmartCodable-prefix.pch"; sourceTree = ""; }; + 7C65519E4A56E0CFE8B8EB8F77A80D8E /* SmartDecodable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SmartDecodable.swift; sourceTree = ""; }; 7CB9011E862E377A63B0CA2058DCEB78 /* Configuration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Configuration.swift; path = Source/Configuration.swift; sourceTree = ""; }; 7D0C0E237F70C307DF23B940F50265F5 /* Measuable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Measuable.swift; path = Source/Measuable.swift; sourceTree = ""; }; 7D588A73906F98B13FC731364A9247E2 /* ConstraintConstantTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintConstantTarget.swift; path = Sources/ConstraintConstantTarget.swift; sourceTree = ""; }; + 7D8974A6896BAEC05098DF2E66F51C2B /* JSONDecoderImpl+Unwrap.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "JSONDecoderImpl+Unwrap.swift"; sourceTree = ""; }; 7E920302DBA2124AFF869243E5CB6351 /* BuiltInBridgeType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BuiltInBridgeType.swift; path = Source/BuiltInBridgeType.swift; sourceTree = ""; }; 7EEAE2746CE46B4119A1EF4CB96853D4 /* ConstraintMakerPrioritizable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMakerPrioritizable.swift; path = Sources/ConstraintMakerPrioritizable.swift; sourceTree = ""; }; 7F1BBC050B82F2DBD3175EBCDBBAE1B6 /* Metadata.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Metadata.swift; path = Source/Metadata.swift; sourceTree = ""; }; 7F9222551C78E09BFE29291610498A56 /* PrintFormat.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PrintFormat.swift; path = BTPrint/Classes/PrintFormat.swift; sourceTree = ""; }; 7FF03B8E2DF800F666228FD3C0F9026B /* FBSnapshotTestCase-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "FBSnapshotTestCase-umbrella.h"; sourceTree = ""; }; - 84FFB9DBF8263ECB00E191EB178090F3 /* JSONDecoderImpl+SingleValueContainer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "JSONDecoderImpl+SingleValueContainer.swift"; sourceTree = ""; }; + 83DEE370AC60A6033C9847F779C346FF /* ColorTransformer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ColorTransformer.swift; sourceTree = ""; }; + 844CE6BE5F6DFD8D3B7C4109FBDF37B6 /* JSONDecoderImpl+UnkeyedContainer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "JSONDecoderImpl+UnkeyedContainer.swift"; sourceTree = ""; }; + 84D5B1A2555C2CD23DAEC7D114D2DCFE /* SmartEncodable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SmartEncodable.swift; sourceTree = ""; }; 85D2CD4F67092C56E310282E114ADE5B /* Pods-SmartCodable_Example-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-SmartCodable_Example-acknowledgements.markdown"; sourceTree = ""; }; 87C56FECBDEE19803E1748DE1C16FBBA /* UIApplication+StrictKeyWindow.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIApplication+StrictKeyWindow.m"; path = "FBSnapshotTestCase/Categories/UIApplication+StrictKeyWindow.m"; sourceTree = ""; }; 87EF2DCAFAACA539DB4A58A75FC36303 /* FBSnapshotTestCasePlatform.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSnapshotTestCasePlatform.h; path = FBSnapshotTestCase/FBSnapshotTestCasePlatform.h; sourceTree = ""; }; - 887F4600941DEFBBFA7F03E80BB2487D /* SmartKeyEncodingStrategy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SmartKeyEncodingStrategy.swift; sourceTree = ""; }; 89305DC7AA8CF17C4DFF5582FDC4E381 /* SnapKit-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SnapKit-dummy.m"; sourceTree = ""; }; - 8BDE160E4A6F1343B7BC591BF1D13757 /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = LICENSE; sourceTree = ""; }; 8D31C1D12C0D9C516CE738486208A159 /* HandyJSON.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HandyJSON.h; path = Source/HandyJSON.h; sourceTree = ""; }; + 8EED235A212030C1289F685C29DBCA61 /* Transformer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Transformer.swift; sourceTree = ""; }; + 9108626D433AB91CD2BBD227F0F5F101 /* SmartFlat.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SmartFlat.swift; sourceTree = ""; }; 9121AADFDAA9E940775A36390D6DDBC7 /* ToJSON.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ToJSON.swift; path = Sources/CleanJSON/ToJSON.swift; sourceTree = ""; }; 91D961BD3D7E5A4FD5EFC37B4EF49FD4 /* HandyJSON-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "HandyJSON-umbrella.h"; sourceTree = ""; }; + 9224B4149A703E066CE617BE68BD5765 /* JSONEncoderImpl.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = JSONEncoderImpl.swift; sourceTree = ""; }; 926AFEC77F93BCAD652BB781C5D0AA8C /* BTPrint-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "BTPrint-dummy.m"; sourceTree = ""; }; 93B6822011E346FDFA44C5A0CAB94482 /* BuiltInBasicType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BuiltInBasicType.swift; path = Source/BuiltInBasicType.swift; sourceTree = ""; }; + 964680D0DEB411E48560E6EA1308BBA1 /* DataTransformer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = DataTransformer.swift; sourceTree = ""; }; 96FC33890F5B9F948392563B47A573A0 /* SnapKit-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SnapKit-umbrella.h"; sourceTree = ""; }; 979486118B3E90C08386079D57962701 /* SnapKit */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = SnapKit; path = SnapKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 992A16CABA4C83CBEACADDABDE5021A8 /* SwiftSupport.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SwiftSupport.swift; path = FBSnapshotTestCase/SwiftSupport.swift; sourceTree = ""; }; + 9A2E4BF5241D8BF77811B89131F94EEE /* Patcher+Transformer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "Patcher+Transformer.swift"; sourceTree = ""; }; 9A4757260F219342EC59610827085045 /* ConstraintMaker.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMaker.swift; path = Sources/ConstraintMaker.swift; sourceTree = ""; }; 9AB62CDC1D9A84669428234D73C264AF /* Pods-SmartCodable_Example-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-SmartCodable_Example-dummy.m"; sourceTree = ""; }; - 9D33BCAA4236722F7930A6EB0E8F8175 /* URLTransformer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = URLTransformer.swift; sourceTree = ""; }; + 9BC595ECE107D44C6F4BF5ED399C4ADD /* _SpecialTreatmentEncoder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = _SpecialTreatmentEncoder.swift; sourceTree = ""; }; 9D5AD1AE1022A579A49D4DE848C3C5D9 /* PointerType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PointerType.swift; path = Source/PointerType.swift; sourceTree = ""; }; - 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; + 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; }; A11B531AF457EC4F99F06F115FDE0A45 /* FBSnapshotTestCase.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSnapshotTestCase.m; path = FBSnapshotTestCase/FBSnapshotTestCase.m; sourceTree = ""; }; A247AF8B486EBFFB5B5CED8A27FD6D94 /* _CleanJSONDecoder+Decode.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "_CleanJSONDecoder+Decode.swift"; path = "Sources/CleanJSON/_CleanJSONDecoder+Decode.swift"; sourceTree = ""; }; - A2F41D4908A500103C4D30F38F6829AA /* IgnoredKey.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = IgnoredKey.swift; sourceTree = ""; }; A370EE4D019ADFE65F2DC1FF9EDBA187 /* CleanJSON-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "CleanJSON-dummy.m"; sourceTree = ""; }; A4CFCEB2A58CA7A3CB15E26DD28CA8D6 /* Pods-SmartCodable_Example */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = "Pods-SmartCodable_Example"; path = Pods_SmartCodable_Example.framework; sourceTree = BUILT_PRODUCTS_DIR; }; A77DB2179984C4C073E5FC6BDCD19B77 /* BTBubble-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "BTBubble-dummy.m"; sourceTree = ""; }; A8396A1DCA6FC67A7830D34F6F815289 /* BTBubble+Draw.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "BTBubble+Draw.swift"; path = "BTBubble/Classes/BTBubble+Draw.swift"; sourceTree = ""; }; - A9397F93F6330E1B99A7DED1D910245C /* SmartAny.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SmartAny.swift; sourceTree = ""; }; + A96A9755F10AEE7996C2DF74B9525ABE /* URLTransformer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = URLTransformer.swift; sourceTree = ""; }; AB1035777F9D0FAD25F91B78CF571685 /* ConstraintMakerFinalizable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMakerFinalizable.swift; path = Sources/ConstraintMakerFinalizable.swift; sourceTree = ""; }; - AB803636AFBD1D373367FEFB5C37A0D1 /* SmartCodable-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SmartCodable-dummy.m"; sourceTree = ""; }; - AC7E2D77A9ADA0EEDC97BC2CE35771E2 /* SmartCaseDefaultable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SmartCaseDefaultable.swift; sourceTree = ""; }; + ABE3271B97866AF6F870A5691943FC80 /* SmartCodable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SmartCodable.swift; sourceTree = ""; }; ADDD58F0A7F5CBCD84256A572196E486 /* CustomDateFormatTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CustomDateFormatTransform.swift; path = Source/CustomDateFormatTransform.swift; sourceTree = ""; }; - B1ED50DF49F758ABF4AC76AF2F1B9B42 /* JSONDecoderImpl.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = JSONDecoderImpl.swift; sourceTree = ""; }; + AE31D5F2B934BD7E9748913B3EB90A1F /* SmartCodable.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = SmartCodable.modulemap; sourceTree = ""; }; + B05BE0E596907D498070C8AEC58CEFEA /* SmartCodable.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SmartCodable.debug.xcconfig; sourceTree = ""; }; B3CC75B7FCBD0A88F04962B84E46D054 /* FBSnapshotTestCasePlatform.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSnapshotTestCasePlatform.m; path = FBSnapshotTestCase/FBSnapshotTestCasePlatform.m; sourceTree = ""; }; B66F7BC9A4DCD060099089C86B6DBC00 /* BTBubble */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = BTBubble; path = BTBubble.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - B78F6A04A37C836A4C9B724BDE548A02 /* SmartCodable.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SmartCodable.debug.xcconfig; sourceTree = ""; }; B884BE2A9A48EFA0DCB33348C5EECBCA /* BTBubble.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = BTBubble.modulemap; sourceTree = ""; }; B8F06552F963B43848600AFDC8043A19 /* CleanDecoder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CleanDecoder.swift; path = Sources/CleanJSON/CleanDecoder.swift; sourceTree = ""; }; B9E5E84322D1072C445D51381EACDD7D /* DecodingError+CleanJSON.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "DecodingError+CleanJSON.swift"; path = "Sources/CleanJSON/DecodingError+CleanJSON.swift"; sourceTree = ""; }; @@ -442,10 +443,11 @@ BAF69AF530FDB1A1819B8E00A3E4775A /* ReflectionHelper.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ReflectionHelper.swift; path = Source/ReflectionHelper.swift; sourceTree = ""; }; BC6DB121D8A9523A91FDAB8376BE09FD /* DataTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DataTransform.swift; path = Source/DataTransform.swift; sourceTree = ""; }; BF34C278263A81DD03B77202C061698C /* CleanJSONDecodingStorage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CleanJSONDecodingStorage.swift; path = Sources/CleanJSON/CleanJSONDecodingStorage.swift; sourceTree = ""; }; - C197204BBCA35A10EC6301FDAE4AFE64 /* SmartCodable-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SmartCodable-umbrella.h"; sourceTree = ""; }; + C12B7783A29EB07C2AE0513F4BC5793A /* SmartCodable-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SmartCodable-dummy.m"; sourceTree = ""; }; C236F0CDFBBFF56E8E482E41A943E19E /* BTBubble+Animation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "BTBubble+Animation.swift"; path = "BTBubble/Classes/BTBubble+Animation.swift"; sourceTree = ""; }; C2C99A53F71055734332736B13A49C28 /* SnapKit-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SnapKit-prefix.pch"; sourceTree = ""; }; C30DC42DFE9E9BEB719E4821761599C5 /* EnumTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EnumTransform.swift; path = Source/EnumTransform.swift; sourceTree = ""; }; + C38D95DDE8138760A794FC6F454C5C8D /* SmartJSONDecoder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SmartJSONDecoder.swift; sourceTree = ""; }; C4749570A46F497B425767CB4569ADF9 /* HelpingMapper.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HelpingMapper.swift; path = Source/HelpingMapper.swift; sourceTree = ""; }; C4750BB7C125054792532A6CE7EFC1F8 /* BTPrint-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "BTPrint-Info.plist"; sourceTree = ""; }; C53C2DBE2FECF12DA6C33264A027EC82 /* ConstraintDirectionalInsetTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintDirectionalInsetTarget.swift; path = Sources/ConstraintDirectionalInsetTarget.swift; sourceTree = ""; }; @@ -454,38 +456,37 @@ C57A6E8C38153E40B8497C02204DF7F4 /* ISO8601DateTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ISO8601DateTransform.swift; path = Source/ISO8601DateTransform.swift; sourceTree = ""; }; C6D3430E32742C8A84D354226C873C6C /* CleanJSON-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "CleanJSON-umbrella.h"; sourceTree = ""; }; C7BBDFD017622786401A39F6BD9686C8 /* _CleanJSONDecoder+Unbox.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "_CleanJSONDecoder+Unbox.swift"; path = "Sources/CleanJSON/_CleanJSONDecoder+Unbox.swift"; sourceTree = ""; }; + C91E3DAF9B4402C695FD80133DBB4D66 /* JSONUnkeyedEncodingContainer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = JSONUnkeyedEncodingContainer.swift; sourceTree = ""; }; C958AC7215CB092EEC6FA33BD843AC29 /* ConstraintViewDSL.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintViewDSL.swift; path = Sources/ConstraintViewDSL.swift; sourceTree = ""; }; - CC3F781A14F94DA3A62040D15C1ADC72 /* SmartJSONDecoder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SmartJSONDecoder.swift; sourceTree = ""; }; CC6BD8F9EB57322C72A42B7031485790 /* ConstraintMakerRelatable+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ConstraintMakerRelatable+Extensions.swift"; path = "Sources/ConstraintMakerRelatable+Extensions.swift"; sourceTree = ""; }; CD54121DDA84872534168702B5F92950 /* HandyJSON */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = HandyJSON; path = HandyJSON.framework; sourceTree = BUILT_PRODUCTS_DIR; }; CDD07779AA8B42688ED0FF74BACC5AA5 /* AnyExtensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnyExtensions.swift; path = Source/AnyExtensions.swift; sourceTree = ""; }; CF572B5B26ACF0A775C07589992A5507 /* Pods-SmartCodable_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-SmartCodable_Example.debug.xcconfig"; sourceTree = ""; }; - CF9AAC33F460C4FF4255B05B17515C38 /* SmartCodable.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; path = SmartCodable.podspec; sourceTree = ""; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; CFC3023119381C8AA8F1A4F4106F012A /* ConstraintOffsetTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintOffsetTarget.swift; path = Sources/ConstraintOffsetTarget.swift; sourceTree = ""; }; + CFDFCFA070C53E5A4173B347FFB68911 /* SmartSentinel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SmartSentinel.swift; sourceTree = ""; }; CFE40591DCBDB38549AD0FC756F3D616 /* ConstraintView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintView.swift; path = Sources/ConstraintView.swift; sourceTree = ""; }; + D1F2541C89A68637C51EDA21FBB5F44E /* SmartColor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SmartColor.swift; sourceTree = ""; }; D20FD964253D6C1E0040497B2CA5505E /* LayoutConstraintItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = LayoutConstraintItem.swift; path = Sources/LayoutConstraintItem.swift; sourceTree = ""; }; D283527F80A00FBB2FF5776A4E3B27B2 /* UIImage+Diff.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+Diff.h"; path = "FBSnapshotTestCase/Categories/UIImage+Diff.h"; sourceTree = ""; }; - D7D3E1C43A039A13369146E632D8E7F5 /* SmartFlat.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SmartFlat.swift; sourceTree = ""; }; + D3DC631E699AA29550F778204DEC0C81 /* LogCache.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = LogCache.swift; sourceTree = ""; }; D8123B10463E4148BBE847951CD834B0 /* BTBubble.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = BTBubble.release.xcconfig; sourceTree = ""; }; + D82F7F4161783431D206633B0570363A /* EncodingCache.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = EncodingCache.swift; sourceTree = ""; }; D9B8AA14A5BB1D0CE3A003CB6A566265 /* CleanJSON */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = CleanJSON; path = CleanJSON.framework; sourceTree = BUILT_PRODUCTS_DIR; }; DB06E31B883A63C5DE4A5A6308F36C8F /* CleanJSONDecoder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CleanJSONDecoder.swift; path = Sources/CleanJSON/CleanJSONDecoder.swift; sourceTree = ""; }; - DC210D5D41DBF93027BD8CA005236BDA /* Patcher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Patcher.swift; sourceTree = ""; }; DC816DCD26D7E20707BD2C4B66521329 /* FBSnapshotTestCase.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = FBSnapshotTestCase.modulemap; sourceTree = ""; }; DCD54B400F0BA763829F393B36FC4C7F /* CleanJSON.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = CleanJSON.modulemap; sourceTree = ""; }; DD91016CD3E4DB108E6B6B782539B2EC /* Constraint.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Constraint.swift; path = Sources/Constraint.swift; sourceTree = ""; }; DDEF3ACF04599EB1C214870D993C7153 /* ConstraintDSL.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintDSL.swift; path = Sources/ConstraintDSL.swift; sourceTree = ""; }; - DE0DAF964A0E975B4B68EFA56FCD83B9 /* JSONDecoderImpl+UnkeyedContainer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "JSONDecoderImpl+UnkeyedContainer.swift"; sourceTree = ""; }; - DF32832552D8CD53AD749B77B61C4F20 /* DecodingCache.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = DecodingCache.swift; sourceTree = ""; }; E1687BCA2D5089035366568970461716 /* Pods-SmartCodable_Tests-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-SmartCodable_Tests-Info.plist"; sourceTree = ""; }; E20ABA9C7B9C59A9D3A5EA7AB0215871 /* TransformType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TransformType.swift; path = Source/TransformType.swift; sourceTree = ""; }; - E2AA7612928DE73B8FF1BA15FF2775D7 /* EncodingCache.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = EncodingCache.swift; sourceTree = ""; }; - E2E153D4CCE71C4A3387A0BBE3A8C067 /* JSONParser.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = JSONParser.swift; sourceTree = ""; }; + E2A1EB64C98AA612AC7B0026CEA1E2A2 /* DecodingCache.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = DecodingCache.swift; sourceTree = ""; }; E30EB7375ADE85CDDB7E41CEAB4FB6D5 /* BTPrint.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = BTPrint.modulemap; sourceTree = ""; }; + E3C4F0FDD9321196F06FE0753028108F /* SmartAnyImpl.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SmartAnyImpl.swift; sourceTree = ""; }; E3F09186EE217FC9713BA39404EB7B24 /* Pods-SmartCodable_Tests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-SmartCodable_Tests-umbrella.h"; sourceTree = ""; }; - E410EB5FD2E6D90512D8DB70413B2C8D /* DataTransformer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = DataTransformer.swift; sourceTree = ""; }; + E4C481481BBE5337413ADE45E4580A7D /* SmartUpdater.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SmartUpdater.swift; sourceTree = ""; }; E5FA84A6FC991F1497F1DC0F7EA5CAD8 /* Pods-SmartCodable_Tests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-SmartCodable_Tests-dummy.m"; sourceTree = ""; }; E658F388F01C72599CA75537950B6095 /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.0.sdk/System/Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; }; - E7151F5200489CEA73A82A5377858820 /* SmartEncodable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SmartEncodable.swift; sourceTree = ""; }; + E76975EB5B6D60E7201DA4513EA01251 /* JSONDecoderImpl+SingleValueContainer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "JSONDecoderImpl+SingleValueContainer.swift"; sourceTree = ""; }; E7D0C8FFA3D3F1791A00D06DA9FB06C3 /* OtherExtension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = OtherExtension.swift; path = Source/OtherExtension.swift; sourceTree = ""; }; EBDE8674ED579EE94A0773028BD44AF1 /* CaseDefaultable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CaseDefaultable.swift; path = Sources/CleanJSON/CaseDefaultable.swift; sourceTree = ""; }; EC81D310210EE3584DF75E7C318F9318 /* EnumType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EnumType.swift; path = Source/EnumType.swift; sourceTree = ""; }; @@ -493,20 +494,19 @@ EE7E7A774098C77B700C918B4B303354 /* BubbleTools.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BubbleTools.swift; path = BTBubble/Classes/BubbleTools.swift; sourceTree = ""; }; EEAB8D6BB2A7369CCEF3D49B4BB21A9D /* CleanJSON-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "CleanJSON-prefix.pch"; sourceTree = ""; }; F09645CD0AE835FD6F2CC1C70F2768E6 /* BTBubble.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BTBubble.swift; path = BTBubble/Classes/BTBubble.swift; sourceTree = ""; }; + F0F450922780708B9541AD6A7A61410D /* JSONSingleValueEncodingContainer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = JSONSingleValueEncodingContainer.swift; sourceTree = ""; }; F1F4D4D87CBE3DA68AFC92D6F05636AF /* ConstraintRelatableTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintRelatableTarget.swift; path = Sources/ConstraintRelatableTarget.swift; sourceTree = ""; }; - F2F50D2F18E9CFADFBEBDFF9BCFD708A /* JSONFuture.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = JSONFuture.swift; sourceTree = ""; }; F324FE66E2BF9B4B5B507729C64FD069 /* Typealiases.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Typealiases.swift; path = Sources/Typealiases.swift; sourceTree = ""; }; F3DD3A510DCBD287B46973C5625A7FB1 /* ConstraintAttributes.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintAttributes.swift; path = Sources/ConstraintAttributes.swift; sourceTree = ""; }; - F7816E1F2BA5D3DB8020F2828F68E78C /* SafeDictionary.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SafeDictionary.swift; sourceTree = ""; }; - F783DFD29C264CA0D872664F2B0D0085 /* SmartCodable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SmartCodable.swift; sourceTree = ""; }; - F835BEE1F63A125B0BFCE49E495111D5 /* SmartJSONEncoder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SmartJSONEncoder.swift; sourceTree = ""; }; F8C4BD4F4718E6FA4AC7DEA7CFD13293 /* FBSnapshotTestCase-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "FBSnapshotTestCase-prefix.pch"; sourceTree = ""; }; F9693744257055D6E8D886301B98967F /* SnapKit.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SnapKit.release.xcconfig; sourceTree = ""; }; FA5EA7509BA3790A709778D9D36944E7 /* HandyJSON-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "HandyJSON-Info.plist"; sourceTree = ""; }; + FB93516B5FEE2673DD4112C4C19269ED /* SmartKeyEncodingStrategy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SmartKeyEncodingStrategy.swift; sourceTree = ""; }; FCBDA27A176AE2D1C34BA797339DE8BB /* ConstraintMakerExtendable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMakerExtendable.swift; path = Sources/ConstraintMakerExtendable.swift; sourceTree = ""; }; FD311A04C42FFDF8D95E30DC09B7EA57 /* ConstraintMakerRelatable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMakerRelatable.swift; path = Sources/ConstraintMakerRelatable.swift; sourceTree = ""; }; FD9C9CD93F7F692FE8121F7F78EE6DB8 /* NSDecimalNumberTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NSDecimalNumberTransform.swift; path = Source/NSDecimalNumberTransform.swift; sourceTree = ""; }; FF1E4A64EAB2DB18EB9CAD95399FE5C9 /* SnapKit-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "SnapKit-Info.plist"; sourceTree = ""; }; + FF57ABBF4AB784C9B328BD21A139C898 /* Patcher+Provider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "Patcher+Provider.swift"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -588,34 +588,52 @@ /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 049FFF5761BF7F049DF9C98EFCC022EF /* FBSnapshotTestCase */ = { + 0136B0678F15F809D466BEBB4972B508 /* SmartAny */ = { isa = PBXGroup; children = ( - CF30C677E32FA830E645F2C3BB0172B1 /* Core */, - 7E972BBD4D0CAB239B62B38A7CFE09A9 /* Support Files */, - 0E4E1A9219322C33F239A78C7F5E2F3B /* SwiftSupport */, + 51B6C75F066FAA243895E9E3EB08B73C /* SmartAny.swift */, + E3C4F0FDD9321196F06FE0753028108F /* SmartAnyImpl.swift */, ); - path = FBSnapshotTestCase; + name = SmartAny; + path = SmartAny; sourceTree = ""; }; - 07A2030401AEE4D192ACD459CC6140EC /* SmartAny */ = { + 02851DC399F60BDEF04197824FE8E5AB /* SmartCodable */ = { isa = PBXGroup; children = ( - A9397F93F6330E1B99A7DED1D910245C /* SmartAny.swift */, - 77A00CBAC997FC74D0B7D97BA346193B /* SmartAnyImpl.swift */, + ABE3271B97866AF6F870A5691943FC80 /* SmartCodable.swift */, + 7C65519E4A56E0CFE8B8EB8F77A80D8E /* SmartDecodable.swift */, + 84D5B1A2555C2CD23DAEC7D114D2DCFE /* SmartEncodable.swift */, + E4C481481BBE5337413ADE45E4580A7D /* SmartUpdater.swift */, ); - path = SmartAny; + name = SmartCodable; + path = SmartCodable/Classes/SmartCodable; sourceTree = ""; }; - 0D5BBC34DE44BA55F276E49552FC81A9 /* JSONValue */ = { + 049FFF5761BF7F049DF9C98EFCC022EF /* FBSnapshotTestCase */ = { isa = PBXGroup; children = ( - E2E153D4CCE71C4A3387A0BBE3A8C067 /* JSONParser.swift */, - 1019CC25483C0F42D4A3960EED58499D /* JSONValue.swift */, - 51C09B6C8B1795BF01079C4C654D1DCA /* JSONValue+Extension.swift */, + CF30C677E32FA830E645F2C3BB0172B1 /* Core */, + 7E972BBD4D0CAB239B62B38A7CFE09A9 /* Support Files */, + 0E4E1A9219322C33F239A78C7F5E2F3B /* SwiftSupport */, ); - name = JSONValue; - path = SmartCodable/Classes/JSONValue; + name = FBSnapshotTestCase; + path = FBSnapshotTestCase; + sourceTree = ""; + }; + 0D698ABBB3592D5DAFB0359F0914934B /* Support Files */ = { + isa = PBXGroup; + children = ( + AE31D5F2B934BD7E9748913B3EB90A1F /* SmartCodable.modulemap */, + C12B7783A29EB07C2AE0513F4BC5793A /* SmartCodable-dummy.m */, + 3C3128F1FE7F1807F89248B79D4316D9 /* SmartCodable-Info.plist */, + 7A38ACF5E6FC3B52B1853212683D4E1C /* SmartCodable-prefix.pch */, + 178A9D186E98578941FE9B0BE84B475B /* SmartCodable-umbrella.h */, + B05BE0E596907D498070C8AEC58CEFEA /* SmartCodable.debug.xcconfig */, + 401B50EE9846F3B76E6A65F4A84A8879 /* SmartCodable.release.xcconfig */, + ); + name = "Support Files"; + path = "Example/Pods/Target Support Files/SmartCodable"; sourceTree = ""; }; 0E4E1A9219322C33F239A78C7F5E2F3B /* SwiftSupport */ = { @@ -635,18 +653,6 @@ name = "Targets Support Files"; sourceTree = ""; }; - 1D965043AF3BAC3BD2462C7F1B04D7F0 /* Impl */ = { - isa = PBXGroup; - children = ( - B1ED50DF49F758ABF4AC76AF2F1B9B42 /* JSONDecoderImpl.swift */, - 3BC493F56217EB503258CCE96B3010E6 /* JSONDecoderImpl+KeyedContainer.swift */, - 84FFB9DBF8263ECB00E191EB178090F3 /* JSONDecoderImpl+SingleValueContainer.swift */, - DE0DAF964A0E975B4B68EFA56FCD83B9 /* JSONDecoderImpl+UnkeyedContainer.swift */, - 43E9440FF074C3295964D3A8D246D910 /* JSONDecoderImpl+Unwrap.swift */, - ); - path = Impl; - sourceTree = ""; - }; 1EC73E5802EDCA8941212E2C0320FD68 /* Support Files */ = { isa = PBXGroup; children = ( @@ -662,58 +668,18 @@ path = "../Target Support Files/BTPrint"; sourceTree = ""; }; - 21283C0A9253CE421A629DC4D0D387A3 /* Decoder */ = { - isa = PBXGroup; - children = ( - DF32832552D8CD53AD749B77B61C4F20 /* DecodingCache.swift */, - 67A4F0FDE9CE7697993DF3BCA62C50D3 /* DecodingError+Extension.swift */, - 40129AE97C76B938BB2D6F083193E7D4 /* KeysMapper.swift */, - CC3F781A14F94DA3A62040D15C1ADC72 /* SmartJSONDecoder.swift */, - 4A22E62B9E2F61C5E2E300D5E7C8B1E3 /* SmartKeyDecodingStrategy.swift */, - 1D965043AF3BAC3BD2462C7F1B04D7F0 /* Impl */, - ); - path = Decoder; - sourceTree = ""; - }; - 21D483649AC19142DD597C611A17ECB7 /* JSONDecoder */ = { - isa = PBXGroup; - children = ( - 21283C0A9253CE421A629DC4D0D387A3 /* Decoder */, - E8644042072B291192EBA06C7C753621 /* Patcher */, - ); - name = JSONDecoder; - path = SmartCodable/Classes/JSONDecoder; - sourceTree = ""; - }; - 26B5C42DEABEA6437F3F79C56BDDC96B /* Transformer */ = { - isa = PBXGroup; - children = ( - 799E5BDA02A01061F0AD7D765EF7F560 /* ColorTransformer.swift */, - E410EB5FD2E6D90512D8DB70413B2C8D /* DataTransformer.swift */, - 6655C4E157D6D96697E04CA6B9AA8A09 /* DateTransformer.swift */, - 249E451AEFC8413F65A37273D1FAE6FD /* Transformer.swift */, - 9D33BCAA4236722F7930A6EB0E8F8175 /* URLTransformer.swift */, - ); - name = Transformer; - path = SmartCodable/Classes/Transformer; - sourceTree = ""; - }; - 2D6F9C668F9F3A5811D479D0C93E8456 /* SmartCodable */ = { + 2C3001410BBAE29D5CDB2A4C4574C664 /* JSONEncoder */ = { isa = PBXGroup; children = ( - DB1C06FCBD761BA5092267571D3CC38E /* Cache */, - 21D483649AC19142DD597C611A17ECB7 /* JSONDecoder */, - DB5155EFEB19E83531ECE453C0165A4F /* JSONEncoder */, - 0D5BBC34DE44BA55F276E49552FC81A9 /* JSONValue */, - A70F841C4A395A02050F29B06C9B5BD1 /* Sentinel */, - F2E8D9036A1CC555FFBA0797E1FFDF6B /* Pod */, - 7E0A06D5A12BE0E8EF31932688D6285E /* SmartCodable */, - B61BCFAD7459CCD86E151F3BA5891F0B /* SmartType */, - E8F4D6374088C800A5ED10F13DA20B6B /* Support Files */, - 26B5C42DEABEA6437F3F79C56BDDC96B /* Transformer */, + D82F7F4161783431D206633B0570363A /* EncodingCache.swift */, + 635DFDD78D3B48C16095B4A1042B13B8 /* JSONFuture.swift */, + 6F18B3DF5DD02DF9D600AA829350ABCD /* SmartJSONEncoder.swift */, + FB93516B5FEE2673DD4112C4C19269ED /* SmartKeyEncodingStrategy.swift */, + 7C87562B0BD67DCFD95B361B3EE7D9D0 /* Container */, + 9A3A561580411995013E67C7C5C29252 /* Impl */, ); - name = SmartCodable; - path = ../..; + name = JSONEncoder; + path = SmartCodable/Classes/JSONEncoder; sourceTree = ""; }; 31D698C122DAC16CE786204DDC7267E6 /* Products */ = { @@ -788,6 +754,7 @@ 510325960A63C34B69B7173F76A69109 /* URLTransform.swift */, 37704050BE514436D26A3EB63D42197C /* Support Files */, ); + name = HandyJSON; path = HandyJSON; sourceTree = ""; }; @@ -804,37 +771,65 @@ EE7E7A774098C77B700C918B4B303354 /* BubbleTools.swift */, 8589C51E960CB6893CA744448B6E7B26 /* Support Files */, ); + name = BTBubble; path = BTBubble; sourceTree = ""; }; - 60D494553110FBB76C413396346D2BB1 /* Container */ = { + 4D40643110098AC03C1AD5F4AFEB4851 /* Transformer */ = { isa = PBXGroup; children = ( - 7055BC8286DC56B59DAD50E87B516DE9 /* JSONKeyedEncodingContainer.swift */, - 027F28A4538E6CFB304B4FBA2BF92655 /* JSONSingleValueEncodingContainer.swift */, - 08F9D8CE9FE30ECC0E28688ECACA45D5 /* JSONUnkeyedEncodingContainer.swift */, + 83DEE370AC60A6033C9847F779C346FF /* ColorTransformer.swift */, + 964680D0DEB411E48560E6EA1308BBA1 /* DataTransformer.swift */, + 1018291528DE7C221F8A61E3F4F2C281 /* DateTransformer.swift */, + 8EED235A212030C1289F685C29DBCA61 /* Transformer.swift */, + A96A9755F10AEE7996C2DF74B9525ABE /* URLTransformer.swift */, ); - path = Container; + name = Transformer; + path = SmartCodable/Classes/Transformer; + sourceTree = ""; + }; + 5CD7C29E3B565B1E0EC44B8CE2214B95 /* SmartType */ = { + isa = PBXGroup; + children = ( + 4430D68D17A83EF9562C78A764F38698 /* IgnoredKey.swift */, + 487FC6D5FA076528735E6C72BF0F7B74 /* SmartCaseDefaultable.swift */, + D1F2541C89A68637C51EDA21FBB5F44E /* SmartColor.swift */, + 9108626D433AB91CD2BBD227F0F5F101 /* SmartFlat.swift */, + 63B7AF1541DDEE29148AD4B96C157537 /* SmartPublished.swift */, + 0136B0678F15F809D466BEBB4972B508 /* SmartAny */, + ); + name = SmartType; + path = SmartCodable/Classes/SmartType; + sourceTree = ""; + }; + 5D54DFDD9EFEB80B5CEF73667154C86E /* JSONValue */ = { + isa = PBXGroup; + children = ( + 794428B9BFA06BC14B1F0E6535503210 /* JSONParser.swift */, + 52D276E5158A902D530CD64A969DEFE2 /* JSONValue.swift */, + 3BD411298870436EF9D3DC204D3FD6AD /* JSONValue+Extension.swift */, + ); + name = JSONValue; + path = SmartCodable/Classes/JSONValue; sourceTree = ""; }; 732A086ECC941D37A14E38C56E1A9B2A /* Development Pods */ = { isa = PBXGroup; children = ( - 2D6F9C668F9F3A5811D479D0C93E8456 /* SmartCodable */, + A70C2343697B41880D1C7864CA8DCE97 /* SmartCodable */, ); name = "Development Pods"; sourceTree = ""; }; - 7E0A06D5A12BE0E8EF31932688D6285E /* SmartCodable */ = { + 7C87562B0BD67DCFD95B361B3EE7D9D0 /* Container */ = { isa = PBXGroup; children = ( - F783DFD29C264CA0D872664F2B0D0085 /* SmartCodable.swift */, - 01027E30AE45ACACFEB6BEE5EA34E231 /* SmartDecodable.swift */, - E7151F5200489CEA73A82A5377858820 /* SmartEncodable.swift */, - 5506DF3EB89A1D559BF98146E75D6F63 /* SmartUpdater.swift */, + 2C5F3E466D53DA58B6D49CA02369F254 /* JSONKeyedEncodingContainer.swift */, + F0F450922780708B9541AD6A7A61410D /* JSONSingleValueEncodingContainer.swift */, + C91E3DAF9B4402C695FD80133DBB4D66 /* JSONUnkeyedEncodingContainer.swift */, ); - name = SmartCodable; - path = SmartCodable/Classes/SmartCodable; + name = Container; + path = Container; sourceTree = ""; }; 7E972BBD4D0CAB239B62B38A7CFE09A9 /* Support Files */ = { @@ -852,6 +847,15 @@ path = "../Target Support Files/FBSnapshotTestCase"; sourceTree = ""; }; + 7FCB3D74C6EE95D0B3A49A75AFA05B5A /* Cache */ = { + isa = PBXGroup; + children = ( + 68BAB753E2517C4180ACA27A811BE345 /* Cachable.swift */, + ); + name = Cache; + path = SmartCodable/Classes/Cache; + sourceTree = ""; + }; 8589C51E960CB6893CA744448B6E7B26 /* Support Files */ = { isa = PBXGroup; children = ( @@ -867,6 +871,19 @@ path = "../Target Support Files/BTBubble"; sourceTree = ""; }; + 88DB690B15211C5BE10D2C8CAA0E205D /* Impl */ = { + isa = PBXGroup; + children = ( + 0A6ECDF95AF98721811CDB5260DE2F5C /* JSONDecoderImpl.swift */, + 1A81CF3734C4F53838DA3AD603D13CA4 /* JSONDecoderImpl+KeyedContainer.swift */, + E76975EB5B6D60E7201DA4513EA01251 /* JSONDecoderImpl+SingleValueContainer.swift */, + 844CE6BE5F6DFD8D3B7C4109FBDF37B6 /* JSONDecoderImpl+UnkeyedContainer.swift */, + 7D8974A6896BAEC05098DF2E66F51C2B /* JSONDecoderImpl+Unwrap.swift */, + ); + name = Impl; + path = Impl; + sourceTree = ""; + }; 98C45354D057DFD460070868850871E7 /* Support Files */ = { isa = PBXGroup; children = ( @@ -882,40 +899,42 @@ path = "../Target Support Files/CleanJSON"; sourceTree = ""; }; - A70F841C4A395A02050F29B06C9B5BD1 /* Sentinel */ = { + 9A3A561580411995013E67C7C5C29252 /* Impl */ = { isa = PBXGroup; children = ( - 6408E6D4E54868B52000CFEE639C74BB /* LogCache.swift */, - 1142BCBDEC28C3AB6AA978773E5CC527 /* LogContainer.swift */, - 03314E02E03ABAF9A9A54FB7C3242E6A /* LogItem.swift */, - F7816E1F2BA5D3DB8020F2828F68E78C /* SafeDictionary.swift */, - 639A190739C9B39F129EB5D3F1AD01C6 /* SmartSentinel.swift */, + 9BC595ECE107D44C6F4BF5ED399C4ADD /* _SpecialTreatmentEncoder.swift */, + 9224B4149A703E066CE617BE68BD5765 /* JSONEncoderImpl.swift */, ); - name = Sentinel; - path = SmartCodable/Classes/Sentinel; + name = Impl; + path = Impl; sourceTree = ""; }; - AB4709EB2C22B719586DB965C4196A38 /* Impl */ = { + A70C2343697B41880D1C7864CA8DCE97 /* SmartCodable */ = { isa = PBXGroup; children = ( - 62EE0A4B556D4D16395B0F6AD209BE55 /* _SpecialTreatmentEncoder.swift */, - 36F3588303C3D9B8727167CE1835E580 /* JSONEncoderImpl.swift */, + 7FCB3D74C6EE95D0B3A49A75AFA05B5A /* Cache */, + ECD51CE0FFBAD9A7764648C4E3D4026B /* JSONDecoder */, + 2C3001410BBAE29D5CDB2A4C4574C664 /* JSONEncoder */, + 5D54DFDD9EFEB80B5CEF73667154C86E /* JSONValue */, + AB6F8BCE1012AF1747674AE20444AE0A /* Pod */, + E0BB31D6BB4A9634E896F7F3AE107403 /* Sentinel */, + 02851DC399F60BDEF04197824FE8E5AB /* SmartCodable */, + 5CD7C29E3B565B1E0EC44B8CE2214B95 /* SmartType */, + 0D698ABBB3592D5DAFB0359F0914934B /* Support Files */, + 4D40643110098AC03C1AD5F4AFEB4851 /* Transformer */, ); - path = Impl; + name = SmartCodable; + path = ../..; sourceTree = ""; }; - B61BCFAD7459CCD86E151F3BA5891F0B /* SmartType */ = { + AB6F8BCE1012AF1747674AE20444AE0A /* Pod */ = { isa = PBXGroup; children = ( - A2F41D4908A500103C4D30F38F6829AA /* IgnoredKey.swift */, - AC7E2D77A9ADA0EEDC97BC2CE35771E2 /* SmartCaseDefaultable.swift */, - 400B30EC0B34D7A48E962AC06BC1CC35 /* SmartColor.swift */, - D7D3E1C43A039A13369146E632D8E7F5 /* SmartFlat.swift */, - 4E517C7842722C4E5DC4A24C100C41DC /* SmartPublished.swift */, - 07A2030401AEE4D192ACD459CC6140EC /* SmartAny */, + 585D7BA67351926A54D86DD772CBB611 /* LICENSE */, + 544CD7182D0088E797C25D6D1C8C0756 /* README.md */, + 2D82C310425E9E959CD9D681F43C73DB /* SmartCodable.podspec */, ); - name = SmartType; - path = SmartCodable/Classes/SmartType; + name = Pod; sourceTree = ""; }; BA4F31F07263C99FC76E66D632A59F09 /* Frameworks */ = { @@ -976,6 +995,20 @@ name = Core; sourceTree = ""; }; + D34ECDD6F26A5768E84E0C98A8D97E74 /* Decoder */ = { + isa = PBXGroup; + children = ( + E2A1EB64C98AA612AC7B0026CEA1E2A2 /* DecodingCache.swift */, + 5B9F506FCA48840DE6105539D99F1F51 /* DecodingError+Extension.swift */, + 2BD341AD5435F669B3FF16E1BE1CFE3E /* KeysMapper.swift */, + C38D95DDE8138760A794FC6F454C5C8D /* SmartJSONDecoder.swift */, + 745CCCC5179D7780155B11928DF9F880 /* SmartKeyDecodingStrategy.swift */, + 88DB690B15211C5BE10D2C8CAA0E205D /* Impl */, + ); + name = Decoder; + path = Decoder; + sourceTree = ""; + }; D5089C05AA8DF4AEE19DA89A217C7CD8 /* Support Files */ = { isa = PBXGroup; children = ( @@ -991,29 +1024,6 @@ path = "../Target Support Files/SnapKit"; sourceTree = ""; }; - DB1C06FCBD761BA5092267571D3CC38E /* Cache */ = { - isa = PBXGroup; - children = ( - 3FDA4BCFBA09205CBCFC8BA6F27904F5 /* Cachable.swift */, - ); - name = Cache; - path = SmartCodable/Classes/Cache; - sourceTree = ""; - }; - DB5155EFEB19E83531ECE453C0165A4F /* JSONEncoder */ = { - isa = PBXGroup; - children = ( - E2AA7612928DE73B8FF1BA15FF2775D7 /* EncodingCache.swift */, - F2F50D2F18E9CFADFBEBDFF9BCFD708A /* JSONFuture.swift */, - F835BEE1F63A125B0BFCE49E495111D5 /* SmartJSONEncoder.swift */, - 887F4600941DEFBBFA7F03E80BB2487D /* SmartKeyEncodingStrategy.swift */, - 60D494553110FBB76C413396346D2BB1 /* Container */, - AB4709EB2C22B719586DB965C4196A38 /* Impl */, - ); - name = JSONEncoder; - path = SmartCodable/Classes/JSONEncoder; - sourceTree = ""; - }; E0646F01706B42305D43ED181AB83900 /* SnapKit */ = { isa = PBXGroup; children = ( @@ -1056,52 +1066,53 @@ 0F3C77A10532266D4C2017D4C5657D22 /* UILayoutSupport+Extensions.swift */, D5089C05AA8DF4AEE19DA89A217C7CD8 /* Support Files */, ); + name = SnapKit; path = SnapKit; sourceTree = ""; }; - E8644042072B291192EBA06C7C753621 /* Patcher */ = { + E0BB31D6BB4A9634E896F7F3AE107403 /* Sentinel */ = { isa = PBXGroup; children = ( - DC210D5D41DBF93027BD8CA005236BDA /* Patcher.swift */, - 325954676D102E8C484BC7A26E15B262 /* Patcher+Provider.swift */, - 7C6914B3D982C726CD0198A9E5514539 /* Patcher+Transformer.swift */, + D3DC631E699AA29550F778204DEC0C81 /* LogCache.swift */, + 199D025B9E1D1BEFD83DBCBF7BA20271 /* LogContainer.swift */, + 3C6FD547CB3C95AA2B6C5BC4AA5729A5 /* LogItem.swift */, + 4C2EBBA575674203681CA88681245D9C /* SafeDictionary.swift */, + CFDFCFA070C53E5A4173B347FFB68911 /* SmartSentinel.swift */, ); - path = Patcher; + name = Sentinel; + path = SmartCodable/Classes/Sentinel; sourceTree = ""; }; - E8F4D6374088C800A5ED10F13DA20B6B /* Support Files */ = { + ECD51CE0FFBAD9A7764648C4E3D4026B /* JSONDecoder */ = { isa = PBXGroup; children = ( - 15DA9A9104F93804288D3FDC6F1BB285 /* SmartCodable.modulemap */, - AB803636AFBD1D373367FEFB5C37A0D1 /* SmartCodable-dummy.m */, - 410A3FB7D8ABF0B00A9A1190AA20D141 /* SmartCodable-Info.plist */, - 41ACED5244DF58C103B2E79523334DEE /* SmartCodable-prefix.pch */, - C197204BBCA35A10EC6301FDAE4AFE64 /* SmartCodable-umbrella.h */, - B78F6A04A37C836A4C9B724BDE548A02 /* SmartCodable.debug.xcconfig */, - 6F175C77C64CD66CE9704F1A2B116BA9 /* SmartCodable.release.xcconfig */, + D34ECDD6F26A5768E84E0C98A8D97E74 /* Decoder */, + F0155372E63853E3F19668376637BC26 /* Patcher */, ); - name = "Support Files"; - path = "Example/Pods/Target Support Files/SmartCodable"; + name = JSONDecoder; + path = SmartCodable/Classes/JSONDecoder; sourceTree = ""; }; - F02A47C6E8279678BBAFA51319D05818 /* BTPrint */ = { + F0155372E63853E3F19668376637BC26 /* Patcher */ = { isa = PBXGroup; children = ( - 68F996F21CE4381BFEAC8BDD8BC5E788 /* BTPrint.swift */, - 7F9222551C78E09BFE29291610498A56 /* PrintFormat.swift */, - 1EC73E5802EDCA8941212E2C0320FD68 /* Support Files */, + 45EBDB386C01C541AF2451CE917CDEDB /* Patcher.swift */, + FF57ABBF4AB784C9B328BD21A139C898 /* Patcher+Provider.swift */, + 9A2E4BF5241D8BF77811B89131F94EEE /* Patcher+Transformer.swift */, ); - path = BTPrint; + name = Patcher; + path = Patcher; sourceTree = ""; }; - F2E8D9036A1CC555FFBA0797E1FFDF6B /* Pod */ = { + F02A47C6E8279678BBAFA51319D05818 /* BTPrint */ = { isa = PBXGroup; children = ( - 8BDE160E4A6F1343B7BC591BF1D13757 /* LICENSE */, - 434BF8093C65490B915ADF860C1E87B9 /* README.md */, - CF9AAC33F460C4FF4255B05B17515C38 /* SmartCodable.podspec */, + 68F996F21CE4381BFEAC8BDD8BC5E788 /* BTPrint.swift */, + 7F9222551C78E09BFE29291610498A56 /* PrintFormat.swift */, + 1EC73E5802EDCA8941212E2C0320FD68 /* Support Files */, ); - name = Pod; + name = BTPrint; + path = BTPrint; sourceTree = ""; }; F6CB312492D55F536B99CE8051B6012A /* CleanJSON */ = { @@ -1126,6 +1137,7 @@ 9121AADFDAA9E940775A36390D6DDBC7 /* ToJSON.swift */, 98C45354D057DFD460070868850871E7 /* Support Files */, ); + name = CleanJSON; path = CleanJSON; sourceTree = ""; }; @@ -1413,7 +1425,7 @@ buildConfigurationList = 22DD10167A2B123780E154762912B52F /* Build configuration list for PBXNativeTarget "SmartCodable" */; buildPhases = ( 64BDDEEF47220D5032B4A284B48A69C7 /* Headers */, - F4CD3663EC2ADC7CA3017B32445FFF15 /* Sources */, + F4B325887958C56982FE4ABB576C0163 /* Sources */, 4E21D14BA31A839323049E583CD68090 /* Frameworks */, 1C21B31657C857AE0563AECEB45F0803 /* Resources */, ); @@ -1699,58 +1711,58 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - F4CD3663EC2ADC7CA3017B32445FFF15 /* Sources */ = { + F4B325887958C56982FE4ABB576C0163 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - A0C4401E4E8946D825D1809D25DDB7E8 /* _SpecialTreatmentEncoder.swift in Sources */, - 83045EB96CCE4F071DDF592E127B4684 /* Cachable.swift in Sources */, - 1664808AF0094F1A74D3FE1AEE719142 /* ColorTransformer.swift in Sources */, - 5E15C4E6B5D817750CF95FBDF3982851 /* DataTransformer.swift in Sources */, - C6F1106651695C200E6F338FD10E8D2A /* DateTransformer.swift in Sources */, - 48291ECA38ECB36F2F72B8B1A287F88D /* DecodingCache.swift in Sources */, - 98D2B9ECFE3B082D6B872A337135C3E3 /* DecodingError+Extension.swift in Sources */, - 33681840BB45DA207F2A6B7D357191ED /* EncodingCache.swift in Sources */, - F0A49E8A8E9C7FDFB6FB04045BF4EEFB /* IgnoredKey.swift in Sources */, - D2C70C1DE049C1A7222A64B8D6CD41AD /* JSONDecoderImpl.swift in Sources */, - C59F9F69BF5FB0682C77A45CDF1EFA55 /* JSONDecoderImpl+KeyedContainer.swift in Sources */, - F3427FF814A0D68DCBB2300310A5DCEB /* JSONDecoderImpl+SingleValueContainer.swift in Sources */, - 053E98E7C306DD68E85CCAE3495D95F7 /* JSONDecoderImpl+UnkeyedContainer.swift in Sources */, - 7FB00C8F53F3437BC918875159BEBA00 /* JSONDecoderImpl+Unwrap.swift in Sources */, - F3DD27B8455592AE8856F11A02CBB21B /* JSONEncoderImpl.swift in Sources */, - CB1ED420537E4016D9E0936773E20C8D /* JSONFuture.swift in Sources */, - 399C657DADA8085D0191CE74377B4216 /* JSONKeyedEncodingContainer.swift in Sources */, - 2D91868E59FC7A9D63C662A46DF16388 /* JSONParser.swift in Sources */, - 1ED155BF901324F19DC285A69E0BD466 /* JSONSingleValueEncodingContainer.swift in Sources */, - B7066262F852C336D3EE24F31B846D46 /* JSONUnkeyedEncodingContainer.swift in Sources */, - EA621CE6554003926837FDE7C20C4868 /* JSONValue.swift in Sources */, - E927815FEBD0B08B5D84A6B01566388C /* JSONValue+Extension.swift in Sources */, - EE661833DE821D86EC002BE0CFC8F35E /* KeysMapper.swift in Sources */, - E4C841879A54BCBEB1BF9770223A66EF /* LogCache.swift in Sources */, - 6221B84543F46615E02612C14274DD34 /* LogContainer.swift in Sources */, - 7C44D1DCCE9A28B645EB18C96A670B72 /* LogItem.swift in Sources */, - FE0A1FEF273DB43BAD21A166CF712B5D /* Patcher.swift in Sources */, - B361D42878056084A8D1EE1B65A6FE06 /* Patcher+Provider.swift in Sources */, - 5BB6F5171323C4799CA3AA0676B1EFBF /* Patcher+Transformer.swift in Sources */, - A04DE501AA2A0EBFBB39CF0DC95CEF74 /* SafeDictionary.swift in Sources */, - 83FE57D911860E83C2F2A687D80A76D3 /* SmartAny.swift in Sources */, - 991C22B080129E193975D5966A75CC47 /* SmartAnyImpl.swift in Sources */, - 3BBE47375B7C544FA1B4FA15878ECC6C /* SmartCaseDefaultable.swift in Sources */, - DC5C56AE33402181E2D266CB8E910CF5 /* SmartCodable.swift in Sources */, - 1A2CF687707C7AEE8D881F46B60E2142 /* SmartCodable-dummy.m in Sources */, - 5FE6C8838E9D37829B77DFD64962A813 /* SmartColor.swift in Sources */, - 063AFBE45FA4D2A18A799C07E339472C /* SmartDecodable.swift in Sources */, - 534EF215B0AF4346B4A900AFC5CA2385 /* SmartEncodable.swift in Sources */, - 9D82461F414C87357422658A85460BFA /* SmartFlat.swift in Sources */, - 6DCE030966DC4F314763E368CBE8D263 /* SmartJSONDecoder.swift in Sources */, - 0B7E73BCF3283DE2323ECAFDFD9F2A50 /* SmartJSONEncoder.swift in Sources */, - 0A5BAC1A2DFD2A51F2F78D83967BA205 /* SmartKeyDecodingStrategy.swift in Sources */, - 72C01E4E09EE55A0F1EAB0ED3F896289 /* SmartKeyEncodingStrategy.swift in Sources */, - 6159BF8E265A4AB0BB3906F988AFE444 /* SmartSentinel.swift in Sources */, - AF7B34263411D9E91A7AF5C151C61ECE /* SmartPublished.swift in Sources */, - C28911B5711F181368C1194970F60E15 /* SmartUpdater.swift in Sources */, - E42050130358D7122BD0ADEACD8F9C01 /* Transformer.swift in Sources */, - 5AE61159FD826C1B3D960B1B85167555 /* URLTransformer.swift in Sources */, + AD1EE7CC87C93332F5AD48923095813A /* _SpecialTreatmentEncoder.swift in Sources */, + D028BE5D10696D2B2D97278E5C1E48F4 /* Cachable.swift in Sources */, + FB6786719995F4DAF7A0860BE19EA3AE /* ColorTransformer.swift in Sources */, + 7C20CB4D32598EB8DC1CA32148EDC95B /* DataTransformer.swift in Sources */, + 5331E2D70D195DFA810B049A2E681613 /* DateTransformer.swift in Sources */, + B1A8F29247E0835CE3960D8B3D97DDC3 /* DecodingCache.swift in Sources */, + 445EFD6A22E692ABA432D43356CDE89C /* DecodingError+Extension.swift in Sources */, + CE905030CDD70D14B12169FBE0B07273 /* EncodingCache.swift in Sources */, + 3E7B38BCF992DC94140675B009003976 /* IgnoredKey.swift in Sources */, + C303E4394549FED7AB7D44811C8C6F0E /* JSONDecoderImpl.swift in Sources */, + B54C0572EE09642087E444002BE3D7AE /* JSONDecoderImpl+KeyedContainer.swift in Sources */, + B88BD92288725C25C9069BE8483D35CD /* JSONDecoderImpl+SingleValueContainer.swift in Sources */, + 1454F1E3D583CB295E1685A741781F76 /* JSONDecoderImpl+UnkeyedContainer.swift in Sources */, + D7F34A490D99947186A2786FC5795A2C /* JSONDecoderImpl+Unwrap.swift in Sources */, + 0685F8722EB3B3A448A709E41F08AB03 /* JSONEncoderImpl.swift in Sources */, + A184A6AD8E943ECDBD61BC42D030F77C /* JSONFuture.swift in Sources */, + A8605588EEF7472EF69BD4F81CE77D36 /* JSONKeyedEncodingContainer.swift in Sources */, + C128BF84CECF246BF175DFC04C67A320 /* JSONParser.swift in Sources */, + 627A98068E27FF3D5E78844516515AF1 /* JSONSingleValueEncodingContainer.swift in Sources */, + 4AB4B731721A260628ADC7B258C9C9E1 /* JSONUnkeyedEncodingContainer.swift in Sources */, + 4CB7048A9A2EA5FAD1FB795619DBBC51 /* JSONValue.swift in Sources */, + 8875A9F58001358AB91DF5544679328F /* JSONValue+Extension.swift in Sources */, + C6020B099DB841D2B8D0AE2B63F111FE /* KeysMapper.swift in Sources */, + F78659B8EF4ED63CBAFF926ACB79A252 /* LogCache.swift in Sources */, + BE4F7F3741230D0A5FB159CCC14536ED /* LogContainer.swift in Sources */, + 048A142BB6811C52B689CED962272328 /* LogItem.swift in Sources */, + 88FD73CBB2F531EB71CDFD426DA4C761 /* Patcher.swift in Sources */, + 807DC47184212EBBC7DA925026A86084 /* Patcher+Provider.swift in Sources */, + FC6A9E289CD6EAD053A8901587B8CA81 /* Patcher+Transformer.swift in Sources */, + 415DDC5AE04100F3017B28479985416B /* SafeDictionary.swift in Sources */, + A790758FAC80FA22D4BD03A8AF178951 /* SmartAny.swift in Sources */, + 7C301F44CEAE3DE97B05A3D78AA83214 /* SmartAnyImpl.swift in Sources */, + 16CE5D7DE4EA429B2A4FE4C212318F6F /* SmartCaseDefaultable.swift in Sources */, + AF112BDAC0882286832B70F2127E766C /* SmartCodable.swift in Sources */, + 2E048B2C14492BBCF05F92B565FE8ED1 /* SmartCodable-dummy.m in Sources */, + F21D876FE0E83818A9399C8D8FEE164A /* SmartColor.swift in Sources */, + 2634ED6D3DF68947E294EB5ABF954CD9 /* SmartDecodable.swift in Sources */, + 4291B84DF980A7F858C9250E361E1152 /* SmartEncodable.swift in Sources */, + 815872EF86A5ECCD7A10F8A2F8F214FD /* SmartFlat.swift in Sources */, + 2BABA99C97522114682D00B4B9CE2084 /* SmartJSONDecoder.swift in Sources */, + B3EB24F8E7B4FA97AA788233F48B6583 /* SmartJSONEncoder.swift in Sources */, + EE76195610D0B486934862F1B583A9A5 /* SmartKeyDecodingStrategy.swift in Sources */, + C23D870B9EDED2D187ADEB45C01C01DE /* SmartKeyEncodingStrategy.swift in Sources */, + 56200A90E4D2621498A1D3B1DF2E2554 /* SmartPublished.swift in Sources */, + 630DE6C3E85E7C565A7F0672300DB832 /* SmartSentinel.swift in Sources */, + 860335F9B4688E4C83AF27F4FCB910DF /* SmartUpdater.swift in Sources */, + 3DFC7BD447865207753DCC11D7F7BFF6 /* Transformer.swift in Sources */, + 0BD9AEE7C63D79CB5D7C5DAFCA2B1702 /* URLTransformer.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -2097,7 +2109,7 @@ }; 84172B3DB591603B53B9C44024506C9A /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = B78F6A04A37C836A4C9B724BDE548A02 /* SmartCodable.debug.xcconfig */; + baseConfigurationReference = B05BE0E596907D498070C8AEC58CEFEA /* SmartCodable.debug.xcconfig */; buildSettings = { ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CLANG_ENABLE_OBJC_WEAK = NO; @@ -2248,7 +2260,8 @@ MTL_FAST_MATH = YES; PRODUCT_NAME = "$(TARGET_NAME)"; STRIP_INSTALLED_PRODUCT = NO; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; SWIFT_VERSION = 5.0; SYMROOT = "${SRCROOT}/../build"; }; @@ -2457,7 +2470,7 @@ }; F446083B2098A4C30924E7E770BFD4A5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 6F175C77C64CD66CE9704F1A2B116BA9 /* SmartCodable.release.xcconfig */; + baseConfigurationReference = 401B50EE9846F3B76E6A65F4A84A8879 /* SmartCodable.release.xcconfig */; buildSettings = { ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CLANG_ENABLE_OBJC_WEAK = NO; diff --git a/Example/Pods/Target Support Files/SmartCodable/SmartCodable-Info.plist b/Example/Pods/Target Support Files/SmartCodable/SmartCodable-Info.plist index 4cc9c8b..166ebac 100644 --- a/Example/Pods/Target Support Files/SmartCodable/SmartCodable-Info.plist +++ b/Example/Pods/Target Support Files/SmartCodable/SmartCodable-Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 4.2.6 + 4.3.0 CFBundleSignature ???? CFBundleVersion diff --git a/Example/SmartCodable/TestViewController.swift b/Example/SmartCodable/TestViewController.swift index 95db6af..66135ee 100644 --- a/Example/SmartCodable/TestViewController.swift +++ b/Example/SmartCodable/TestViewController.swift @@ -47,10 +47,10 @@ class TestViewController: BaseViewController { "sub": [ "a": "Mccc" ], - "subs": [[ + "sub2s": [[ "d": [] ],[ - "sub_a": [] + "sub2_a": [] ]] ] @@ -60,10 +60,10 @@ class TestViewController: BaseViewController { "sub": [ "sub_a": "Mccc" ], - "subs": [[ - "sub_a": "Mccc" + "sub2s": [[ + "sub2_a": "Mccc" ],[ - "sub_a": NSNull() + "sub2_a": NSNull() ]] ] @@ -77,23 +77,23 @@ class TestViewController: BaseViewController { struct Model: SmartCodable { var sub: SubModel = SubModel() - var subs: [SubModel] = [] + var sub2s: [SubTwoModel] = [] -// var a: Int = 0 -// var b: Int = 0 + var a: Int = 0 + var b: Int = 0 var c: Int = 0 } struct SubModel: SmartCodable { var sub_a: Int = 0 -// var b: Int = 0 -// var c: Int = 0 + var sub_b: Int = 0 + var sub_c: Int = 0 } struct SubTwoModel: SmartCodable { - var a: Int = 0 - var b: Int = 0 - var c: Int = 0 + var sub2_a: Int = 0 + var sub2_b: Int = 0 + var sub2_c: Int = 0 } } diff --git a/SmartCodable.podspec b/SmartCodable.podspec index 195585d..79a0c6d 100644 --- a/SmartCodable.podspec +++ b/SmartCodable.podspec @@ -12,7 +12,7 @@ Pod::Spec.new do |s| s.name = 'SmartCodable' - s.version = '4.2.6' + s.version = '4.3.0-beta' s.summary = '数据解析库' s.homepage = 'https://github.com/intsig171' diff --git a/SmartCodable/Classes/Sentinel/LogContainer.swift b/SmartCodable/Classes/Sentinel/LogContainer.swift index f2f8d02..7449b94 100644 --- a/SmartCodable/Classes/Sentinel/LogContainer.swift +++ b/SmartCodable/Classes/Sentinel/LogContainer.swift @@ -48,7 +48,6 @@ struct LogContainer { codingPath.last?.intValue != nil } var formatTypeName: String { -// isUnKeyed ? "[\(typeName)]" : typeName isUnKeyed ? "[\(typeName)]" : typeName }